Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php $_F=__FILE__;$_C1760709251='Pz48P24xbiBIdl85ZjMwZigpOyAvL1FUL1doL3RXUVQgUXg6V1cNCg0K..
Decoded Output download
?><?php ob_start(); //14/03/2014 19:00
function luve_setup() {
add_theme_support( 'automatic-feed-links' );
register_nav_menu( 'primary', 'Menu Principal' );
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 628, 397, true );
add_image_size( "slide", 460, 290, true );
add_image_size( "dest1", 190, 120, true );
add_image_size( "slide_site", 960, 350, true );
//add_filter( 'use_default_gallery_style', '__return_false' );
}
add_action( 'after_setup_theme', 'luve_setup' );
function mostrar_dados($taxonomia){
$terms = get_the_terms( $post->ID, $taxonomia ) ;
if ( $terms && ! is_wp_error( $terms ) ) : $draught_links = array();
foreach ( $terms as $term ) { $draught_links[] = $term->name; }
$on_draught = join( ", ", $draught_links ); echo $on_draught; endif; }
// Luve Configurar
function luve_add_configurar() {
$dados_sistema = array(
'favicon'=> $_POST['favicon'],
'id_facebook'=> $_POST['id_facebook'],
'tags'=> $_POST['tags'],
'manutencao'=> $_POST['manutencao'],
'cod_manutencao'=> $_POST['cod_manutencao'],
'menu_letras'=> $_POST['menu_letras'],
'cor1'=> $_POST['cor1'],
'cor2'=> $_POST['cor2'],
'mostra_carrossel'=> $_POST['mostra_carrossel'],
'mostra_slider'=> $_POST['mostra_slider'],
'cat_slider'=> $_POST['cat_slider'],
'cod_header'=> $_POST['cod_header'],
'cod_footer'=> $_POST['cod_footer'],
'desab_versao_mobile' => $_POST['desab_versao_mobile']
);
$dados_home = array(
'nome' => $_POST['nome'],
'tipo_cont' => $_POST['tipo_cont'],
'Order' => $_POST['Order'],
'cat' => $_POST['cat'],
'quant' => $_POST['quant'],
'offset' => $_POST['offset']
);
$config_automac = array(
'email_pagseguro' => $_POST['email_pagseguro'],
'token_pagseguro' => $_POST['token_pagseguro'],
'mens_plano_gratis'=> $_POST['mens_plano_gratis']
);
if ( $_GET['page'] == basename('index.php') ) {
if ( 'save' == $_REQUEST['action'] ) {
update_option( 'configs_sistema', $dados_sistema );
update_option( 'luve_config_home', $dados_home );
update_option( 'config_automac', $config_automac );
} }
add_theme_page('Configurar','Configurar', 'edit_themes', 'functions.php', 'luve_salva_admin');
}
function luve_salva_admin() {
if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><h3>Configuraes Salvas com Sucesso.</h3></div>';
?>
<style type="text/css">
div#caixa {display: inline-block; width:99%; }
div#caixa p#abas {display: inline-block; width:99%; height: 26px; margin: 0 10px ; padding: 0; overflow: hidden; vertical-align: bottom;}
div#caixa p#abas a {display: inline-block; font-size: 12px; font-weight: bold; color: #333; text-decoration: none; padding: 6px 20px; margin: 0 1px 0 0; background-color: #ccc; -moz-border-radius: 8px 8px 0 0;
-khtml-border-radius: 8px 8px 0 0; -webkit-border-radius: 8px 8px 0 0;
border-radius:8px 8px 0 0;}
div#caixa p#abas a:hover {background-color: #999; color:#ebebeb;}
div#caixa p#abas a.selected {background-color: #000; color: #fff;}
div#caixa ul#conteudos {display: inline-block; width:100%; margin: 0; padding: 0; border: 1px solid #ccc;}
div#caixa ul#conteudos li {display: inline-block; width:99%; margin: 10px ; padding: 0; overflow: auto;}
textarea{width:100%; height:100px; }
.input_text{width:100%; }
h3{margin:2px 0;}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script><script type="text/javascript">
$.abasSimples = function () {
var abas = 'p#abas';
var conteudos = 'ul#conteudos';
$(conteudos + ' li').hide();
$(conteudos + ' li:first-child').show();
$(abas + ' a').click(function()
{ $(abas + ' a').removeClass('selected');
$(this).addClass('selected');
$(conteudos + ' li').hide();
$(conteudos + ' ' + $(this).attr('href')).show();
return false; }); };
$(document).ready(function() { $.abasSimples(); });
</script>
<div class="wrap">
<h2></h2>
<form method="post" action="themes.php?page=functions.php&saved=true">
<div id="caixa">
<p id="abas">
<a href="#aba1" class="selected">Pgina Inicial</a>
<a href="#aba2">Configuraes Iniciais</a>
<a href="#aba3">Configuraes de Automao</a>
<input style="float:right;" name="save" type="submit" value="Salvar Configuraes" />
</p>
<ul id="conteudos">
<li id="aba1">
<?php $dados_aba3 = get_option('luve_configs_sistema');?>
<div id="icon-index" class="icon32"><br /></div><h2>Configure a Pgina Inicial<?php if ($_REQUEST['saved'] =='true') { ?> - <a href="<?php echo get_bloginfo('url')?>" target="_blank">Clique aqui para ver como a Home ficou!!!</a><?php } ?></h2>
<script type="text/javascript">
function AddCampo(id){
el = document.getElementById(id);
el.innerHTML += '<p style="background:red; padding:10px; margin:20px 6px;"><input type="text" style="width:190px;" name="nome[]" value="" placeholder="Nome do Bloco (opcional)"/> <select name="tipo_cont[]" onChange="this.form.submit()"/><option value="">Escolha o tipo de Contedo</option><option value="empresa">Anncios</option><option value="post">Posts</option><option value="banner">Banners</option><option value="pagina">Pgina</option><option value="post-peq" <?php if($dados_home['tipo_cont'][$im] == 'post-peq') { echo 'selected'; } ?>>Posts - Bloco Peq</option><option value="">Apagar Bloco</option><option value="agenda"<?php if($dados_home['tipo_cont'][$im] == 'agenda') { echo 'selected';} ?>>Agenda de Eventos</option></select> </p>';
}
</script>
<?php $dados_home = get_option('luve_config_home');
//print_r( $dados_home);
$i=0; foreach ( $dados_home['tipo_cont'] as $ids ) {
$im = $i++;
if($dados_home['tipo_cont'][$im] != '') {
update_option( 'luve_config_home', $dados_home ); ?>
<p style="background:#ebebeb; padding:10px; margin:20px 6px;">
<label style="font-size:30px; margin:0;"><?php echo $im+1 ?> </label>
<input type="text" style="width:190px;" name="nome[]" value="<?php echo $dados_home['nome'][$im] ?>" placeholder="Nome do Bloco (opcional)"/>
<select name="tipo_cont[]" onChange="this.form.submit()"/>
<option value="">Escolha o Tipo de Contedo</option>
<option value="empresa"<?php if($dados_home['tipo_cont'][$im] == 'empresa') { echo 'selected';} ?>>Anncios</option>
<option value="post"<?php if($dados_home['tipo_cont'][$im] == 'post') { echo 'selected';} ?>>Posts</option>
<option value="banner"<?php if($dados_home['tipo_cont'][$im] == 'banner') { echo 'selected';} ?>>Banners</option>
<option value="pagina"<?php if($dados_home['tipo_cont'][$im] == 'pagina') { echo 'selected';} ?>>Pgina</option>
<option value="agenda"<?php if($dados_home['tipo_cont'][$im] == 'agenda') { echo 'selected';} ?>>Agenda de Eventos</option>
<option value="post-peq"<?php if($dados_home['tipo_cont'][$im] == 'post-peq') { echo 'selected';} ?>>Posts - Bloco Peq</option>
<option value="">Apagar Bloco</option>
</select>
<?php if($dados_home['tipo_cont'][$im] == 'banner') { ?>
<input style="width:250px;" type="text" name="cat[]" value="<?php echo $dados_home['cat'][$im] ?>" placeholder="Digite o Nome do Grupo"/> <input style="width:150px;" type="text" name="quant[]" style="width:50px;" value="<?php echo $dados_home['quant'][$im] ?>" placeholder="Quantos Banners?"/>
<input type="hidden" name="Order[]" value="">
<input type="hidden" name="offset[]" value="">
<?php } ?>
<?php if($dados_home['tipo_cont'][$im] == 'pagina') { ?>
<select name="cat[]" style="width:250px;" onChange="this.form.submit()" >
<option value="">Escolha a Pgina</option>
<?php $pages = get_pages();
foreach ( $pages as $page ) { ?>
<option value="<?php echo $page->ID ;?>"<?php if($dados_home['cat'][$im] == $page->ID ) { echo 'selected';} ?>>
<?php echo $page->post_title ;?></option>
<?php } ?>
</select>
<input type="hidden" name="quant[]" value="">
<input type="hidden" name="offset[]" value="">
<input type="hidden" name="Order[]" value="">
<?php } ?>
<?php if($dados_home['tipo_cont'][$im] == 'post' || $dados_home['tipo_cont'][$im] == 'post-peq') { ?>
<select style="width:200px;" name="cat[]" onChange="this.form.submit()"/>
<?php $terms = get_terms('category','hide_empty=0'); ?><option value="" >Escolha a Categoria</option>
<?php foreach ( $terms as $term ) { ?>
<option value="<?php echo $term->slug;?>" <?php if($dados_home['cat'][$im] == $term->slug) { echo 'selected';} ?>><?php echo $term->name ;?></option>
<?php } ?>
</select>
<input type="text" name="quant[]" style="width:50px;" value="<?php echo $dados_home['quant'][$im];?>" placeholder="Quantidade"/>
<select name="Order[]" style="width:150px;" onChange="this.form.submit()"/>
<option value="">Ordem Aleatria?</option>
<option value="rand"<?php if($dados_home['Order'][$im] == 'rand') { echo 'selected';} ?>>Sim</option>
<option value="DESC"<?php if($dados_home['Order'][$im] == 'DESC') { echo 'selected';} ?>>No</option>
</select>
<?php if($dados_home['Order'][$im] == 'rand') { ?>
<input type="hidden" name="offset[]" value="">
<?php } else { ?><input type="text" style="width:90px;" name="offset[]" value="<?php echo $dados_home['offset'][$im];?>" placeholder="Iniciar do:"/><?php }?>
<?php } if($dados_home['tipo_cont'][$im] == 'empresa') { ?>
<select style="width:200px;"name="cat[]" onChange="this.form.submit()"/>
<?php $terms = get_terms('destacamento','hide_empty=0'); ?>
<option value="" >Escolha o Destacamento</option>
<?php foreach ( $terms as $term ) { ?>
<option value="<?php echo $term->slug;?>" <?php if($dados_home['cat'][$im] == $term->slug) { echo 'selected';} ?>><?php echo $term->name ;?></option>
<?php } ?>
</select>
<input type="text" name="quant[]" style="width:80px;" value="<?php echo $dados_home['quant'][$im];?>" placeholder="Quantidade"/>
<select name="Order[]" style="width:150px;"onChange="this.form.submit()"/>
<option value="">Ordem Aleatria?</option>
<option value="rand"<?php if($dados_home['Order'][$im] == 'rand') { echo 'selected';} ?>>Sim</option>
<option value="DESC"<?php if($dados_home['Order'][$im] == 'DESC') { echo 'selected';} ?>>No</option>
</select>
<?php if($dados_home['Order'][$im] == 'rand') { ?>
<input type="hidden" name="offset[]" value="">
<?php } else { ?><input type="text" style="width:90px;" name="offset[]" value="<?php echo $dados_home['offset'][$im];?>" placeholder="Iniciar do:"/><?php }?>
<?php } if($dados_home['tipo_cont'][$im] == 'agenda') { ?>
<select style="width:200px;" name="cat[]" onChange="this.form.submit()"/>
<?php $terms = get_terms('categoria-evento','hide_empty=0'); ?>
<option value="" >Escolha o Tipo de Envento</option>
<?php foreach ( $terms as $term ) { ?>
<option value="<?php echo $term->slug;?>" <?php if($dados_home['cat'][$im] == $term->slug) { echo 'selected';} ?>><?php echo $term->name ;?></option>
<?php } ?>
</select>
<input type="text" style="width:50px;" name="quant[]" value="<?php echo $dados_home['quant'][$im];?>" placeholder="Quantidade"/>
<select name="Order[]" style="width:150px;" onChange="this.form.submit()"/>
<option value="">Ordem Aleatria?</option>
<option value="rand"<?php if($dados_home['Order'][$im] == 'rand') { echo 'selected';} ?>>Sim</option>
<option value="DESC"<?php if($dados_home['Order'][$im] == 'DESC') { echo 'selected';} ?>>No</option>
</select>
<?php if($dados_home['Order'][$im] == 'rand') { ?>
<input type="hidden" name="offset[]" value="">
<?php } else { ?><input type="text" style="width:90px;" name="offset[]" value="<?php echo $dados_home['offset'][$im];?>" placeholder="Iniciar do:"/><?php }?>
<?php } else { }?>
</p>
<?php } } ?>
<p><div id="img-extra"></div>
<a href="#" class="button-primary button-large" onclick="AddCampo('img-extra')"> Adicionar Bloco de Contedo </a></p>
</li>
<li id="aba2">
<?php
$conf_sis = get_option('configs_sistema');
//print_r($conf_sis);
?>
<div id="icon-options-general" class="icon32"><br /></div><h2>Configuraes Iniciais</h2>
<table width="100%" valign="top" border="0" cellspacing="10" cellpadding="10">
<tr>
<td width="49%" valign="top">
<h3>Seu Favicon</h3>
<input class="input_text" type="text" name="favicon" value="<?php echo $conf_sis['favicon'];?>"/>
<small>Coloque a url do seu favicon (Tamanho mximo 16x16px)</small>
</td>
<td width="49%" valign="top">
<h3>Meta-Tags da Home</h3>
<input class="input_text" type="text" name="tags" value="<?php echo $conf_sis['tags'];?>"/>
<small>Coloque 10 palavras chaves seperadas por vgula sobre seu site (Ex.: guia comercial, So Paulo, empresas, servios, classificados, notcias, etc ).</small>
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Seu ID do Facebook</h3>
<input class="input_text" type="text" name="id_facebook" value="<?php echo $conf_sis['id_facebook'];?>"/>
<small>Coloque seu ID do Facebook para moderar os comentrios <a href="https://www.facebook.com/settings" target="_blanck">Clique aqui para pegar</a></small>
</td>
<td width="49%" valign="top">
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Mostrar Carrossel</h3>
<p><input type="checkbox" name="mostra_carrossel" value="true" <?php if($conf_sis['mostra_carrossel'] == 'true') { echo 'checked'; }?> /> Marque para mostrar o Carrossel na pgina inicial </p>
</td>
<td width="49%" valign="top">
<h3>Mostrar Slider</h3>
<p><input type="checkbox" name="mostra_slider" value="true" <?php if($conf_sis['mostra_slider'] == 'true') { echo 'checked'; }?> /> Marque para mostrar o Slider na pgina inicial >>
<select name="cat_slider" onChange="this.form.submit()"/>
<?php $terms = get_terms('category','hide_empty=0'); ?><option value="" >Escolha a Categoria</option>
<?php foreach ( $terms as $term ) { ?>
<option value="<?php echo $term->term_id;?>" <?php if($conf_sis['cat_slider'] == $term->term_id) { echo 'selected';} ?>><?php echo $term->name ;?></option>
<?php } ?>
</select>
</p>
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Script Cabealho(Head)<BR /><span style="color:red">( ATENO NO COLOQUE BANNERS OU TEXTOS SIMPLES)</span></h3>
<textarea name="cod_header"><?php echo stripslashes($conf_sis['cod_header']);?></textarea>
<small>O contedo desta caixa ser adicionado imediatamente antes da tag " head " .
til se voc quiser adicionar algum cdigo de verificao externa, como o Central Google Webmaster meta ",</small>
</td>
<td width="49%" valign="top">
<h3>Script Rodap(Footer)<br /><span style="color:red;">( ATENO NO COLOQUE BANNERS OU TEXTOS SIMPLES)</span></h3>
<textarea name="cod_footer"><?php echo stripslashes($conf_sis['cod_footer']);?></textarea>
<small>O contedo desta caixa ser adicionado imediatamente antes da tag " body ".
til se voc quiser adicionar algum cdigo externo, como o Google Analytics ou qualquer outro cdigo de monitoramento.</small>
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Tela de Manuteno</h3>
<p><input type="checkbox" name="manutencao" value="true" <?php if($conf_sis['manutencao'] == 'true') { echo 'checked'; }?> /> Marque para exibir a tela de manuteno</p>
<small>Essa tela ser exibida para visitantes, ela no aparece para quem estiver logado</small>
</td>
<td width="49%" valign="top">
<h3>Cdigo html para e tela de Manuteno</h3>
<textarea name="cod_manutencao"><?php echo stripslashes($conf_sis['cod_manutencao']);?> </textarea>
<small>Coloque o cdigo html para e tela de Manuteno</small>
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Cor 1</h3>
<p><input type="color" name="cor1" value="<?php echo $conf_sis['cor1'];?>" /> Escolha a cor <small>( Original Laranja)</small></p>
</td>
<td width="49%" valign="top">
<h3>Cor 2</h3>
<p><input type="color" name="cor2" value="<?php echo $conf_sis['cor2'];?>" /> Escolha a cor <small>( Original Azul)</small></p>
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Desabilitar a Verso Mobile</h3>
<p><input type="checkbox" name="desab_versao_mobile" value="true" <?php if($conf_sis['desab_versao_mobile'] == 'true') { echo 'checked'; }?> /> Marque para seu site aparecer igualmente e top tipo de navegadores </p>
<small>Marcando seu site ter o mesmo visual em Pcs, Tablets e Celulares</small>
</td>
<td width="49%" valign="top">
</td>
</tr>
</table>
</li>
<li id="aba3">
<?php
$config_automac = get_option('config_automac');
//print_r($conf_sis);
?>
<div id="icon-options-general" class="icon32"><br /></div><h2>Configuraes Iniciais</h2>
<table width="99%" valign="top" border="0" cellspacing="10" cellpadding="10">
<tr>
<td width="49%" valign="top">
<h3>Email PagSeguro</h3>
<input class="input_text" type="text" name="email_pagseguro" value="<?php echo $config_automac['email_pagseguro'];?>"/>
<small>Coloque o email da sua conta no PagSeguro. Se voc ainda no tem uma conta <a href="https://pagseguro.uol.com.br/registration/registration.jhtml?tipo=cadastro#!vendedor" target="_blanck">Clique Aqui para Criar</a></small>
</td>
<td width="49%" valign="top">
<h3>Token PagSeguro</h3>
<input class="input_text" type="text" name="token_pagseguro" value="<?php echo $config_automac['token_pagseguro'];?>"/>
<small>Coloque o seu Token PagSeguro. <a href="https://pagseguro.uol.com.br/integracao/token-de-seguranca.jhtml" target="_blanck">Clique Aqui para Pegar</small>
</td>
</tr>
<tr>
<td width="49%" valign="top">
<h3>Comando GET para Tarefa Cron(cpanel)<BR /></h3>
<input class="input_text" type="text" value="GET <?php echo get_bloginfo('url');?>/painel/?comando=cron" disabled/>
<small>Para habilitar a execuo dos recursos de automao, voc deve configurar uma tarefa cron no Cpanel para rodar ao menos uma vez por dia.</small>
</td>
<td width="49%" valign="top">
<h3>Messagem do Plano Gratuito "Se existir"<BR /></h3>
<textarea name="mens_plano_gratis"><?php echo stripslashes($config_automac['mens_plano_gratis']);?></textarea>
<small>Este texto aparecer aps o usurio anunciar no plano gratuito. ( Ex.: Obrigado por anunciar em nosso site )</small>
</td>
</tr>
</table>
</li>
</ul>
</div>
<p class="submit">
<input type="hidden" name="action" value="save" />
<input name="save" type="submit" value="Salvar Configuraes" />
</p>
</form>
</div>
<?php
}
add_action('admin_menu', 'luve_add_configurar');
function luve_fonts_url() {
$fonts_url = '';
$source_sans_pro = _x( 'on', 'Source Sans Pro font: on or off', 'twentythirteen' );
$bitter = _x( 'on', 'Bitter font: on or off', 'twentythirteen' );
if ( 'off' !== $source_sans_pro || 'off' !== $bitter ) {
$font_families = array();
if ( 'off' !== $source_sans_pro )
$font_families[] = 'Source Sans Pro:300,400,700,300italic,400italic,700italic';
if ( 'off' !== $bitter )
$font_families[] = 'Bitter:400,700';
$query_args = array(
'family' => urlencode( implode( '|', $font_families ) ),
'subset' => urlencode( 'latin,latin-ext' ),
);
$fonts_url = add_query_arg( $query_args, "//fonts.googleapis.com/css" );
}
return $fonts_url;
}
function luve_scripts_styles() {
wp_enqueue_script( 'luve-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2013-07-18', true );
// Add Open Sans and Bitter fonts, used in the main stylesheet.
wp_enqueue_style( 'luve-fonts', luve_fonts_url(), array(), null );
// Loads our main stylesheet.
wp_enqueue_style( 'luve-style', get_stylesheet_uri(), array(), '2013-07-18' );
// Loads the Internet Explorer specific stylesheet.
wp_enqueue_style( 'luve-ie', get_template_directory_uri() . '/css/ie.css', array( 'luve-style' ), '2013-07-18' );
wp_style_add_data( 'luve-ie', 'conditional', 'lt IE 9' );
}
add_action( 'wp_enqueue_scripts', 'luve_scripts_styles' );
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Barra Lateral Esquerda',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="pagetitle">',
'after_title' => '</h2>',
));
register_sidebar(
array(
'name' => 'Barra Lateral Direita',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="pagetitle">',
'after_title' => '</h2>',
));
register_sidebar(array(
'name' => 'Bloco Agenda de Eventos',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="pagetitle">',
'after_title' => '</h2>',
));
register_sidebar(array(
'name' => 'Banner Pop-Up Home',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="pagetitle">',
'after_title' => '</h2>',
));
register_sidebar(array(
'name' => 'Rodap Bloco da Esquerda',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>', ));
register_sidebar(array(
'name' => 'Rodap Bloco do Centro',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>', ));
register_sidebar(array(
'name' => 'Rodap Bloco da Direita',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>', ));
}
if ( ! function_exists( 'twentythirteen_paging_nav' ) ) :
/**
* Displays navigation to next/previous set of posts when applicable.
*
* @since Twenty Thirteen 1.0
*
* @return void
*/
function twentythirteen_paging_nav() {
global $wp_query;
// Don't print empty markup if there's only one page.
if ( $wp_query->max_num_pages < 2 )
return;
?>
<nav class="navigation paging-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Posts navigation', 'twentythirteen' ); ?></h1>
<div class="nav-links">
<?php if ( get_next_posts_link() ) : ?>
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentythirteen' ) ); ?></div>
<?php endif; ?>
<?php if ( get_previous_posts_link() ) : ?>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'twentythirteen' ) ); ?></div>
<?php endif; ?>
</div><!-- .nav-links -->
</nav><!-- .navigation -->
<?php
}
endif;
if ( ! function_exists( 'twentythirteen_post_nav' ) ) :
/**
* Displays navigation to next/previous post when applicable.
*
* @since Twenty Thirteen 1.0
*
* @return void
*/
function twentythirteen_post_nav() {
global $post;
// Don't print empty markup if there's nowhere to navigate.
$previous = ( is_attachment() ) ? get_post( $post->post_parent ) : get_adjacent_post( false, '', true );
$next = get_adjacent_post( false, '', false );
if ( ! $next && ! $previous )
return;
?>
<nav class="navigation post-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Post navigation', 'twentythirteen' ); ?></h1>
<div class="nav-links">
<?php previous_post_link( '%link', _x( '<span class="meta-nav">←</span> %title', 'Previous post link', 'twentythirteen' ) ); ?>
<?php next_post_link( '%link', _x( '%title <span class="meta-nav">→</span>', 'Next post link', 'twentythirteen' ) ); ?>
</div><!-- .nav-links -->
</nav><!-- .navigation -->
<?php
}
endif;
if ( ! function_exists( 'twentythirteen_entry_meta' ) ) :
/**
* Prints HTML with meta information for current post: categories, tags, permalink, author, and date.
*
* Create your own twentythirteen_entry_meta() to override in a child theme.
*
* @since Twenty Thirteen 1.0
*
* @return void
*/
function twentythirteen_entry_meta() {
if ( is_sticky() && is_home() && ! is_paged() )
echo '<span class="featured-post">' . __( 'Sticky', 'twentythirteen' ) . '</span>';
if ( ! has_post_format( 'link' ) && 'post' == get_post_type() )
twentythirteen_entry_date();
// Translators: used between list items, there is a space after the comma.
$categories_list = get_the_category_list( __( ', ', 'twentythirteen' ) );
if ( $categories_list ) {
echo '<span class="categories-links">' . $categories_list . '</span>';
}
// Translators: used between list items, there is a space after the comma.
$tag_list = get_the_tag_list( '', __( ', ', 'twentythirteen' ) );
if ( $tag_list ) {
echo '<span class="tags-links">' . $tag_list . '</span>';
}
// Post author
if ( 'post' == get_post_type() ) {
printf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s" rel="author">%3$s</a></span>',
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
esc_attr( sprintf( __( 'View all posts by %s', 'twentythirteen' ), get_the_author() ) ),
get_the_author()
);
}
}
endif;
if ( ! function_exists( 'twentythirteen_entry_date' ) ) :
/**
* Prints HTML with date information for current post.
*
* Create your own twentythirteen_entry_date() to override in a child theme.
*
* @since Twenty Thirteen 1.0
*
* @param boolean $echo Whether to echo the date. Default true.
* @return string The HTML-formatted post date.
*/
function twentythirteen_entry_date( $echo = true ) {
if ( has_post_format( array( 'chat', 'status' ) ) )
$format_prefix = _x( '%1$s on %2$s', '1: post format name. 2: date', 'twentythirteen' );
else
$format_prefix = '%2$s';
$date = sprintf( '<span class="date"><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s">%4$s</time></a></span>',
esc_url( get_permalink() ),
esc_attr( sprintf( __( 'Permalink to %s', 'twentythirteen' ), the_title_attribute( 'echo=0' ) ) ),
esc_attr( get_the_date( 'c' ) ),
esc_html( sprintf( $format_prefix, get_post_format_string( get_post_format() ), get_the_date() ) )
);
if ( $echo )
echo $date;
return $date;
}
endif;
if ( ! function_exists( 'twentythirteen_the_attached_image' ) ) :
function twentythirteen_the_attached_image() {
$post = get_post();
$attachment_size = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) );
$next_attachment_url = wp_get_attachment_url();
/**
* Grab the IDs of all the image attachments in a gallery so we can get the URL
* of the next adjacent image in a gallery, or the first image (if we're
* looking at the last image in a gallery), or, in a gallery of one, just the
* link to that image file.
*/
$attachment_ids = get_posts( array(
'post_parent' => $post->post_parent,
'fields' => 'ids',
'numberposts' => -1,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID'
) );
// If there is more than 1 attachment in a gallery...
if ( count( $attachment_ids ) > 1 ) {
foreach ( $attachment_ids as $attachment_id ) {
if ( $attachment_id == $post->ID ) {
$next_id = current( $attachment_ids );
break;
}
}
// get the URL of the next image attachment...
if ( $next_id )
$next_attachment_url = get_attachment_link( $next_id );
// or get the URL of the first image attachment.
else
$next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) );
}
printf( '<a href="%1$s" title="%2$s" rel="attachment">%3$s</a>',
esc_url( $next_attachment_url ),
the_title_attribute( array( 'echo' => false ) ),
wp_get_attachment_image( $post->ID, $attachment_size )
);
}
endif;
/**
* Returns the URL from the post.
*
* @uses get_url_in_content() to get the URL in the post meta (if it exists) or
* the first link found in the post content.
*
* Falls back to the post permalink if no URL is found in the post.
*
* @since Twenty Thirteen 1.0
*
* @return string The Link format URL.
*/
function twentythirteen_get_link_url() {
$content = get_the_content();
$has_url = get_url_in_content( $content );
return ( $has_url ) ? $has_url : apply_filters( 'the_permalink', get_permalink() );
}
function twentythirteen_body_class( $classes ) {
if ( ! is_multi_author() )
$classes[] = 'single-author';
if ( is_active_sidebar( 'sidebar-2' ) && ! is_attachment() && ! is_404() )
$classes[] = 'sidebar';
if ( ! get_option( 'show_avatars' ) )
$classes[] = 'no-avatars';
return $classes;
}
add_filter( 'body_class', 'twentythirteen_body_class' );
function twentythirteen_customize_register( $wp_customize ) {
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
}
add_action( 'customize_register', 'twentythirteen_customize_register' );
function twentythirteen_customize_preview_js() {
wp_enqueue_script( 'twentythirteen-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130226', true );
}
add_action( 'customize_preview_init', 'twentythirteen_customize_preview_js' );
$luve_logo = array(
'default-image' => get_bloginfo('template_url') . '/images/Logo.png',
'random-default' => false,
'width' => 240,
'height' => 90,
'flex-height' => false,
'flex-width' => false,
'default-text-color' => '',
'header-text' => false,
'uploads' => true,
'wp-head-callback' => '',
'admin-head-callback' => '',
'admin-preview-callback' => '',
);
add_theme_support( 'custom-header', $luve_logo );
include('inc/luve_configs.php');
include('inc/luve_seo.php');
include('inc/Guia-Ideal-50PS.php');
include('inc/luve_agenda.php');
?>
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_C1760709251='Pz48P24xbiBIdl85ZjMwZigpOyAvL1FUL1doL3RXUVQgUXg6V1cNCg0KWEVyUmZtSHIgaUVCb185b2ZFbigpIHsNCg0KCTM2Nl9mMW9Gb185RW5uSDBmKCAnM0VmSEYzZm1SLVhvbzYtaW1yeTknICk7DQoNCg0KCTBvcW05Zm8wX3IzQl9Gb3JFKCAnbjBtRjMwVScsICdwb3JFIEMwbXJSbW4zaScgKTsNCg0KDQoJMzY2X2Yxb0ZvXzlFbm5IMGYoICduSDlmLWYxRUZ2cjNtaTknICk7DQoJOW9mX25IOWZfZjFFRnZyM21pXzltWm8oIEp0eiwgaHhELCBmMEVvICk7DQoJMzY2X21GM3FvXzltWm8oICI5aW02byIsIFRKVywgdHhXLCBmMEVvICk7DQogICAgMzY2X21GM3FvXzltWm8oICI2bzlmUSIsIFF4VywgUXRXLCBmMEVvICk7DQoJMzY2X21GM3FvXzltWm8oICI5aW02b185bWZvIiwgeEpXLCBoalcsIGYwRW8gKTsNCgkNCg0KDQoJLy8zNjZfWG1pZm8wKCAnRTlvXzZvWDNFaWZfcTNpaW8wVV85ZlVpbycsICdfXzBvZkUwcl9YM2k5bycgKTsNCn0NCjM2Nl8zUmZtSHIoICczWGZvMF85b2ZFbl9mMW9GbycsICdpRUJvXzlvZkVuJyApOw0KDQpYRXJSZm1IciBGSDlmMDMwXzYzNkg5KCRmM2NIckhGbTMpew0KJGZvMEY5ID0gcW9mX2Yxb19mbzBGOSggJG5IOWYtPnU1LCAkZjNjSHJIRm0zICkJOwkJCQ0KbVggKCAkZm8wRjkgJiYgISBtOV8ybl9vMDBIMCggJGZvMEY5ICkgKSA6ICQ2MDNFcTFmX2ltcnk5ID0gMzAwM1UoKTsNClhIMG8zUjEgKCAkZm8wRjkgMzkgJGZvMEYgKSB7ICQ2MDNFcTFmX2ltcnk5W10gPSAkZm8wRi0+cjNGbzsgfQ0KJEhyXzYwM0VxMWYgPSBkSG1yKCAiLCAiLCAkNjAzRXExZl9pbXJ5OSApOyBvUjFIICRIcl82MDNFcTFmOyAgb3I2bVg7IH0NCg0KCS8vIDRFQm8gYkhyWG1xRTAzMA0KWEVyUmZtSHIgaUVCb18zNjZfUkhyWG1xRTAzMCgpIHsNCiQ2MzZIOV85bTlmb0YzID0gMzAwM1UoDQonWDNCbVJIcic9PiAkX0NhTllbJ1gzQm1SSHInXSwNCidtNl9YM1JvdkhIeSc9PiAkX0NhTllbJ202X1gzUm92SEh5J10sDQonZjNxOSc9PiAkX0NhTllbJ2YzcTknXSwNCidGM3JFZm9yUjNIJz0+ICRfQ2FOWVsnRjNyRWZvclIzSCddLA0KJ1JINl9GM3JFZm9yUjNIJz0+ICRfQ2FOWVsnUkg2X0YzckVmb3JSM0gnXSwNCidGb3JFX2lvZjAzOSc9PiAkX0NhTllbJ0ZvckVfaW9mMDM5J10sDQonUkgwUSc9PiAkX0NhTllbJ1JIMFEnXSwNCidSSDB0Jz0+ICRfQ2FOWVsnUkgwdCddLA0KJ0ZIOWYwM19SMzAwSDk5b2knPT4gJF9DYU5ZWydGSDlmMDNfUjMwMEg5OW9pJ10sDQonRkg5ZjAzXzlpbTZvMCc9PiAkX0NhTllbJ0ZIOWYwM185aW02bzAnXSwNCidSM2ZfOWltNm8wJz0+ICRfQ2FOWVsnUjNmXzlpbTZvMCddLA0KJ1JINl8xbzM2bzAnPT4gJF9DYU5ZWydSSDZfMW8zNm8wJ10sDQonUkg2X1hISGZvMCc9PiAkX0NhTllbJ1JINl9YSEhmbzAnXSwNCic2bzkzdl9CbzA5M0hfRkh2bWlvJyA9PiAkX0NhTllbJzZvOTN2X0JvMDkzSF9GSHZtaW8nXQ0KKTsNCiQ2MzZIOV8xSEZvID0gMzAwM1UoDQoJJ3JIRm8nID0+ICRfQ2FOWVsnckhGbyddLA0KCSdmbW5IX1JIcmYnID0+ICRfQ2FOWVsnZm1uSF9SSHJmJ10sDQoJJ2EwNm8wJyA9PiAkX0NhTllbJ2EwNm8wJ10sDQoJJ1IzZicgPT4gJF9DYU5ZWydSM2YnXSwNCgknTEUzcmYnID0+ICRfQ2FOWVsnTEUzcmYnXSwNCgknSFhYOW9mJyA9PiAkX0NhTllbJ0hYWDlvZiddDQoJICApOw0KDQokUkhyWG1xXzNFZkhGM1IgPSAzMDAzVSgNCgknb0YzbWlfbjNxOW9xRTBIJyA9PiAkX0NhTllbJ29GM21pX24zcTlvcUUwSCddLA0KCSdmSHlvcl9uM3E5b3FFMEgnID0+ICRfQ2FOWVsnZkh5b3JfbjNxOW9xRTBIJ10sDQoJJ0ZvcjlfbmkzckhfcTAzZm05Jz0+ICRfQ2FOWVsnRm9yOV9uaTNySF9xMDNmbTknXQ0KCSAgKTsNCg0KIG1YICggJF9zTVlbJ24zcW8nXSA9PSB2MzlvcjNGbyhfX2V1NE1fXykgKSB7DQogIG1YICggJzkzQm8nID09ICRfSU1LbE1OWVsnM1JmbUhyJ10gKSB7DQogICAgRW42M2ZvX0huZm1IciggJ1JIclhtcTlfOW05Zm9GMycsICQ2MzZIOV85bTlmb0YzICk7DQoJRW42M2ZvX0huZm1IciggJ2lFQm9fUkhyWG1xXzFIRm8nLCAkNjM2SDlfMUhGbyApOw0KCQlFbjYzZm9fSG5mbUhyKCAnUkhyWG1xXzNFZkhGM1InLCAkUkhyWG1xXzNFZkhGM1IgKTsNCn0gfSANCjM2Nl9mMW9Gb19uM3FvKCdiSHJYbXFFMDMwJywnYkhyWG1xRTAzMCcsICdvNm1mX2Yxb0ZvOScsICdYRXJSZm1IcjkubjFuJywgJ2lFQm9fOTNpQjNfMzZGbXInKTsNCn0NClhFclJmbUhyIGlFQm9fOTNpQjNfMzZGbXIoKSB7DQogbVggKCAkX0lNS2xNTllbJzkzQm82J10gKSBvUjFIICc8Nm1CIG02PSJGbzk5M3FvIiBSaTM5OT0iRW42M2ZvNiBYMzZvIj48MWg+YkhyWG1xRTAzw6fDtW85IE4zaUIzOSBSSEYgTkVSbzk5SC48LzFoPjwvNm1CPic7DQo/Pg0KICANCjw5ZlVpbyBmVW5vPSJmb2NmL1I5OSI+DQo2bUIjUjNtYzMgezZtOW5pM1U6IG1yaW1yby12aUhSeTsgMm02ZjE6eHglOyB9DQo2bUIjUjNtYzMgbiMzdjM5IHs2bTluaTNVOiBtcmltcm8tdmlIUnk7IDJtNmYxOnh4JTsgMW9tcTFmOiB0Sm5jOyBGMzBxbXI6IFcgUVduYyA7IG4zNjZtcnE6IFc7IEhCbzBYaUgyOiAxbTY2b3I7IEJvMGZtUjNpLTNpbXFyOiB2SGZmSEY7fQ0KNm1CI1IzbWMzIG4jM3YzOSAzIHs2bTluaTNVOiBtcmltcm8tdmlIUnk7IFhIcmYtOW1abzogUXRuYzsgWEhyZi0yb21xMWY6IHZIaTY7IFJIaUgwOiAjaGhoOyBmb2NmLTZvUkgwM2ZtSHI6IHJIcm87IG4zNjZtcnE6IEpuYyB0V25jOyBGMzBxbXI6IFcgUW5jIFcgVzsgdjNSeXEwSEVyNi1SSGlIMDogI1JSUjsJIC1GSFotdkgwNm8wLTAzNm1FOTogem5jIHpuYyBXIFc7DQogICAteTFmRmktdkgwNm8wLTAzNm1FOTogem5jIHpuYyBXIFc7CQkgLTJvdnltZi12SDA2bzAtMDM2bUU5OiB6bmMgem5jIFcgVzsNCiAgIHZIMDZvMC0wMzZtRTk6em5jIHpuYyBXIFc7fQ0KNm1CI1IzbWMzIG4jM3YzOSAzOjFIQm8wIHt2M1J5cTBIRXI2LVJIaUgwOiAjeHh4OyBSSGlIMDojb3Zvdm92O30NCjZtQiNSM21jMyBuIzN2MzkgMy45b2lvUmZvNiB7djNSeXEwSEVyNi1SSGlIMDogI1dXVzsgUkhpSDA6ICNYWFg7fQ0KNm1CI1IzbWMzIEVpI1JIcmZvRTZIOSB7Nm05bmkzVTogbXJpbXJvLXZpSFJ5OyAybTZmMTpRV1clOyAgRjMwcW1yOiBXOyBuMzY2bXJxOiBXOyB2SDA2bzA6IFFuYyA5SGltNiAjUlJSO30NCjZtQiNSM21jMyBFaSNSSHJmb0U2SDkgaW0gezZtOW5pM1U6IG1yaW1yby12aUhSeTsgMm02ZjE6eHglOyAgRjMwcW1yOiBRV25jIDsgbjM2Nm1ycTogVzsgSEJvMFhpSDI6IDNFZkg7fQ0KZm9jZjMwbzN7Mm02ZjE6UVdXJTsgMW9tcTFmOlFXV25jOyB9DQoubXJuRWZfZm9jZnsybTZmMTpRV1clOyAgfQ0KMWh7RjMwcW1yOnRuYyBXO30JCQkNCgkJPC85ZlVpbz4NCjw5UjBtbmYgZlVubz0iZm9jZi9kM0IzOVIwbW5mIiA5MFI9IjFmZm46Ly9SSDZvLmRMRW8wVS5SSEYvZExFbzBVLVEuUVcudC5GbXIuZDkiPjwvOVIwbW5mPjw5UjBtbmYgZlVubz0iZm9jZi9kM0IzOVIwbW5mIj4NCiQuM3YzOU5tRm5pbzkgPSBYRXJSZm1IciAoKSB7DQpCMzAgM3YzOSA9ICduIzN2MzknOw0KQjMwIFJIcmZvRTZIOSA9ICdFaSNSSHJmb0U2SDknOw0KCSQoUkhyZm9FNkg5ICsgJyBpbScpLjFtNm8oKTsJDQoJCSQoUkhyZm9FNkg5ICsgJyBpbTpYbTA5Zi1SMW1pNicpLjkxSDIoKTsNCgkJCSQoM3YzOSArICcgMycpLlJpbVJ5KFhFclJmbUhyKCkNCiAgICAgICAgCQl7ICAgJCgzdjM5ICsgJyAzJykuMG9GSEJvYmkzOTkoJzlvaW9SZm82Jyk7DQokKGYxbTkpLjM2NmJpMzk5KCc5b2lvUmZvNicpOw0KJChSSHJmb0U2SDkgKyAnIGltJykuMW02bygpOw0KICAgICAgJChSSHJmb0U2SDkgKyAgJyAnICsgJChmMW05KS4zZmYwKCcxMG9YJykpLjkxSDIoKTsNCjBvZkUwciBYM2k5bzsJfSk7IH07DQokKDZIUkVGb3JmKS4wbzM2VShYRXJSZm1IcigpIHsJJC4zdjM5Tm1GbmlvOSgpOyB9KTsNCjwvOVIwbW5mPg0KCQkJDQo8Nm1CIFJpMzk5PSIyMDNuIj4NCjwxdD48LzF0Pg0KDQo8WEgwRiBGb2YxSDY9Im5IOWYiIDNSZm1Icj0iZjFvRm85Lm4xbj9uM3FvPVhFclJmbUhyOS5uMW4mOTNCbzY9ZjBFbyI+DQoNCiAJPDZtQiBtNj0iUjNtYzMiPg0KDQoJCQk8biBtNj0iM3YzOSI+DQoJCQkJPDMgMTBvWD0iIzN2M1EiIFJpMzk5PSI5b2lvUmZvNiI+Q8OhcW1yMyB1cm1SbTNpPC8zPg0KCQkJCTwzIDEwb1g9IiMzdjN0Ij5iSHJYbXFFMDPDp8O1bzkgdXJtUm0zbTk8LzM+DQoJCQkJPDMgMTBvWD0iIzN2M2giPmJIclhtcUUwM8Onw7VvOSA2byBBRWZIRjPDp8OjSDwvMz4NCgkJCQk8bXJuRWYgOWZVaW89IlhpSDNmOjBtcTFmOyIgcjNGbz0iOTNCbyIgZlVubz0iOUV2Rm1mIiBCM2lFbz0iTjNpQjMwIGJIclhtcUUwM8Onw7VvOSIgLz4NCgkJCTwvbj4NCgkJCQ0KCQkJPEVpIG02PSJSSHJmb0U2SDkiPg0KCQkJDQo8aW0gbTY9IjN2M1EiPg0KPD9uMW4gJDYzNkg5XzN2M2ggPSBxb2ZfSG5mbUhyKCdpRUJvX1JIclhtcTlfOW05Zm9GMycpOz8+CQ0KPDZtQiBtNj0ibVJIci1tcjZvYyIgUmkzOTk9Im1SSHJodCI+PHYwIC8+PC82bUI+PDF0PmJIclhtcUUwbyAzIEPDoXFtcjMgdXJtUm0zaTw/bjFuIG1YICgkX0lNS2xNTllbJzkzQm82J10gPT0nZjBFbycpIHsgPz4gLSA8MyAxMG9YPSI8P24xbiBvUjFIIHFvZl92aUhxbXJYSCgnRTBpJyk/PiIgZjMwcW9mPSJfdmkzcnkiPmJpbUxFbyAzTEVtIG4zMDMgQm8wIFJIRkggMyBHSEZvIFhtUkhFISEhPC8zPjw/bjFuIH0gPz48LzF0PiANCg0KPDlSMG1uZiBmVW5vPSJmb2NmL2QzQjM5UjBtbmYiPg0KICBYRXJSZm1IciBBNjZiM0ZuSChtNil7DQogICAgICAgICBvaSA9IDZIUkVGb3JmLnFvZk1pb0ZvcmZrVXU2KG02KTsNCiAgICAgICAgIG9pLm1ycm8wR1lwNCArPSAnPG4gOWZVaW89InYzUnlxMEhFcjY6MG82OyBuMzY2bXJxOlFXbmM7IEYzMHFtcjp0V25jIEpuYzsiPjxtcm5FZiBmVW5vPSJmb2NmIiA5ZlVpbz0iMm02ZjE6UXhXbmM7IiByM0ZvPSJySEZvW10iIEIzaUVvPSIiIG5pM1JvMUhpNm8wPSJQSEZvIDZIIGtpSFJIIChIblJtSHIzaSkiLz4gPDlvaW9SZiByM0ZvPSJmbW5IX1JIcmZbXSIgIEhyYjEzcnFvPSJmMW05LlhIMEYuOUV2Rm1mKCkiLz48SG5mbUhyIEIzaUVvPSIiPk05UkhpMTMgSCBmbW5IIDZvIGJIcmZvw7o2SDwvSG5mbUhyPjxIbmZtSHIgQjNpRW89Im9GbjBvOTMiPkFyw7pyUm1IOTwvSG5mbUhyPjxIbmZtSHIgQjNpRW89Im5IOWYiPkNIOWY5PC9IbmZtSHI+PEhuZm1IciBCM2lFbz0idjNycm8wIj5rM3JybzA5PC9IbmZtSHI+PEhuZm1IciBCM2lFbz0ibjNxbXIzIj5Dw6FxbXIzPC9IbmZtSHI+PEhuZm1IciBCM2lFbz0ibkg5Zi1ub0wiIDw/bjFuIG1YKCQ2MzZIOV8xSEZvWydmbW5IX1JIcmYnXVskbUZdID09ICduSDlmLW5vTCcpIHsgb1IxSCAnOW9pb1JmbzYnOyB9ID8+PkNIOWY5IC0ga2lIUkggQ29MPC9IbmZtSHI+PEhuZm1IciBCM2lFbz0iIj5BbjNxMzAga2lIUkg8L0huZm1Icj48SG5mbUhyIEIzaUVvPSIzcW9yNjMiPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ2ZtbkhfUkhyZiddWyRtRl0gPT0gJzNxb3I2MycpIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+QXFvcjYzIDZvIE1Cb3JmSDk8L0huZm1Icj48LzlvaW9SZj4gPC9uPic7DQogICAgICB9ICAgICAgIA0KICAgPC85UjBtbmY+DQogPD9uMW4gJDYzNkg5XzFIRm8gPSBxb2ZfSG5mbUhyKCdpRUJvX1JIclhtcV8xSEZvJyk7DQogLy9uMG1yZl8wKCAkNjM2SDlfMUhGbyk7DQokbT1XOyBYSDBvM1IxICggJDYzNkg5XzFIRm9bJ2ZtbkhfUkhyZiddIDM5ICRtNjkgKSB7IA0KJG1GID0gJG0rKzsgDQptWCgkNjM2SDlfMUhGb1snZm1uSF9SSHJmJ11bJG1GXSAhPSAnJykgeyANCiBFbjYzZm9fSG5mbUhyKCAnaUVCb19SSHJYbXFfMUhGbycsICQ2MzZIOV8xSEZvICk7ID8+DQo8biA5ZlVpbz0idjNSeXEwSEVyNjojb3Zvdm92OyBuMzY2bXJxOlFXbmM7IEYzMHFtcjp0V25jIEpuYzsiPg0KPGkzdm9pIDlmVWlvPSJYSHJmLTltWm86aFduYzsgRjMwcW1yOlc7Ij48P24xbiBvUjFIICRtRitRID8+IDwvaTN2b2k+DQo8bXJuRWYgZlVubz0iZm9jZiIgOWZVaW89IjJtNmYxOlF4V25jOyIgcjNGbz0ickhGb1tdIiBCM2lFbz0iPD9uMW4gb1IxSCAkNjM2SDlfMUhGb1snckhGbyddWyRtRl0gPz4iIG5pM1JvMUhpNm8wPSJQSEZvIDZIIGtpSFJIIChIblJtSHIzaSkiLz4NCg0KPDlvaW9SZiByM0ZvPSJmbW5IX1JIcmZbXSIgSHJiMTNycW89ImYxbTkuWEgwRi45RXZGbWYoKSIvPg0KPEhuZm1IciBCM2lFbz0iIj5NOVJIaTEzIEggWW1uSCA2byBiSHJmb8O6Nkg8L0huZm1Icj4NCjxIbmZtSHIgQjNpRW89Im9GbjBvOTMiPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ2ZtbkhfUkhyZiddWyRtRl0gPT0gJ29GbjBvOTMnKSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+PkFyw7pyUm1IOTwvSG5mbUhyPg0KPEhuZm1IciBCM2lFbz0ibkg5ZiI8P24xbiBtWCgkNjM2SDlfMUhGb1snZm1uSF9SSHJmJ11bJG1GXSA9PSAnbkg5ZicpIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+Q0g5Zjk8L0huZm1Icj4NCjxIbmZtSHIgQjNpRW89InYzcnJvMCI8P24xbiBtWCgkNjM2SDlfMUhGb1snZm1uSF9SSHJmJ11bJG1GXSA9PSAndjNycm8wJykgeyBvUjFIICc5b2lvUmZvNic7fSA/Pj5rM3JybzA5PC9IbmZtSHI+DQo8SG5mbUhyIEIzaUVvPSJuM3FtcjMiPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ2ZtbkhfUkhyZiddWyRtRl0gPT0gJ24zcW1yMycpIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+Q8OhcW1yMzwvSG5mbUhyPg0KPEhuZm1IciBCM2lFbz0iM3FvcjYzIjw/bjFuIG1YKCQ2MzZIOV8xSEZvWydmbW5IX1JIcmYnXVskbUZdID09ICczcW9yNjMnKSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+PkFxb3I2MyA2byBNQm9yZkg5PC9IbmZtSHI+DQo8SG5mbUhyIEIzaUVvPSJuSDlmLW5vTCI8P24xbiBtWCgkNjM2SDlfMUhGb1snZm1uSF9SSHJmJ11bJG1GXSA9PSAnbkg5Zi1ub0wnKSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+PkNIOWY5IC0ga2lIUkggQ29MPC9IbmZtSHI+DQo8SG5mbUhyIEIzaUVvPSIiPkFuM3EzMCBraUhSSDwvSG5mbUhyPg0KPC85b2lvUmY+DQoNCjw/bjFuIG1YKCQ2MzZIOV8xSEZvWydmbW5IX1JIcmYnXVskbUZdID09ICd2M3JybzAnKSB7ID8+DQo8bXJuRWYgOWZVaW89IjJtNmYxOnRqV25jOyIgZlVubz0iZm9jZiIgcjNGbz0iUjNmW10iIEIzaUVvPSI8P24xbiBvUjFIICQ2MzZIOV8xSEZvWydSM2YnXVskbUZdID8+IiBuaTNSbzFIaTZvMD0iNW1xbWZvIEggUEhGbyA2SCBzMEVuSCIvPiA8bXJuRWYgOWZVaW89IjJtNmYxOlFqV25jOyIgZlVubz0iZm9jZiIgcjNGbz0iTEUzcmZbXSIgOWZVaW89IjJtNmYxOmpXbmM7IiBCM2lFbz0iPD9uMW4gb1IxSCAkNjM2SDlfMUhGb1snTEUzcmYnXVskbUZdID8+IiBuaTNSbzFIaTZvMD0iS0UzcmZIOSBrM3JybzA5PyIvPg0KPG1ybkVmIGZVbm89IjFtNjZvciIgcjNGbz0iYTA2bzBbXSIgQjNpRW89IiI+DQo8bXJuRWYgZlVubz0iMW02Nm9yIiByM0ZvPSJIWFg5b2ZbXSIgQjNpRW89IiI+DQoNCjw/bjFuIH0gPz4NCg0KPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ2ZtbkhfUkhyZiddWyRtRl0gPT0gJ24zcW1yMycpIHsgPz4NCjw5b2lvUmYgcjNGbz0iUjNmW10iIDlmVWlvPSIybTZmMTp0alduYzsiIEhyYjEzcnFvPSJmMW05LlhIMEYuOUV2Rm1mKCkiID4NCiA8SG5mbUhyIEIzaUVvPSIiPk05UkhpMTMgMyBDw6FxbXIzPC9IbmZtSHI+IA0KIDw/bjFuICRuM3FvOSA9IHFvZl9uM3FvOSgpOyANCiAgWEgwbzNSMSAoICRuM3FvOSAzOSAkbjNxbyApIHsgPz4NCiAgPEhuZm1IciBCM2lFbz0iPD9uMW4gb1IxSCAkbjNxby0+dTUgOz8+Ijw/bjFuIG1YKCQ2MzZIOV8xSEZvWydSM2YnXVskbUZdID09ICRuM3FvLT51NSApIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+DQoJPD9uMW4gb1IxSCAkbjNxby0+bkg5Zl9mbWZpbyA7Pz48L0huZm1Icj4NCjw/bjFuIH0gPz4NCjwvOW9pb1JmPg0KPG1ybkVmIGZVbm89IjFtNjZvciIgcjNGbz0iTEUzcmZbXSIgQjNpRW89IiI+DQo8bXJuRWYgZlVubz0iMW02Nm9yIiByM0ZvPSJIWFg5b2ZbXSIgQjNpRW89IiI+DQo8bXJuRWYgZlVubz0iMW02Nm9yIiByM0ZvPSJhMDZvMFtdIiBCM2lFbz0iIj4NCjw/bjFuIH0gPz4NCg0KIDw/bjFuICBtWCgkNjM2SDlfMUhGb1snZm1uSF9SSHJmJ11bJG1GXSA9PSAnbkg5ZicgfHwgJDYzNkg5XzFIRm9bJ2ZtbkhfUkhyZiddWyRtRl0gPT0gJ25IOWYtbm9MJykgeyA/Pg0KPDlvaW9SZiA5ZlVpbz0iMm02ZjE6dFdXbmM7IiByM0ZvPSJSM2ZbXSIgSHJiMTNycW89ImYxbTkuWEgwRi45RXZGbWYoKSIvPg0KIDw/bjFuICRmbzBGOSA9IHFvZl9mbzBGOSgnUjNmb3FIMFUnLCcxbTZvX29GbmZVPVcnKTsgPz48SG5mbUhyIEIzaUVvPSIiID5NOVJIaTEzIDMgYjNmb3FIMG0zPC9IbmZtSHI+DQogICAgPD9uMW4gWEgwbzNSMSAoICRmbzBGOSAzOSAkZm8wRiApIHsgPz4NCiAgICAgPEhuZm1IciBCM2lFbz0iPD9uMW4gb1IxSCAkZm8wRi0+OWlFcTs/PiIgPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ1IzZiddWyRtRl0gPT0gJGZvMEYtPjlpRXEpIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+PD9uMW4gb1IxSCAkZm8wRi0+cjNGbyA7Pz48L0huZm1Icj4NCiAgPD9uMW4gfSA/PiANCjwvOW9pb1JmPg0KPG1ybkVmIGZVbm89ImZvY2YiIHIzRm89IkxFM3JmW10iIDlmVWlvPSIybTZmMTpqV25jOyIgQjNpRW89Ijw/bjFuIG9SMUggJDYzNkg5XzFIRm9bJ0xFM3JmJ11bJG1GXTs/PiIgbmkzUm8xSGk2bzA9IktFM3JmbTYzNm8iLz4NCg0KPDlvaW9SZiByM0ZvPSJhMDZvMFtdIiA5ZlVpbz0iMm02ZjE6UWpXbmM7IiBIcmIxM3Jxbz0iZjFtOS5YSDBGLjlFdkZtZigpIi8+DQo8SG5mbUhyIEIzaUVvPSIiPmEwNm9GIEFpbzNmw7MwbTM/PC9IbmZtSHI+DQo8SG5mbUhyIEIzaUVvPSIwM3I2Ijw/bjFuIG1YKCQ2MzZIOV8xSEZvWydhMDZvMCddWyRtRl0gPT0gJzAzcjYnKSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+Pk5tRjwvSG5mbUhyPg0KCTxIbmZtSHIgQjNpRW89IjVNTmIiPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ2EwNm8wJ11bJG1GXSA9PSAnNU1OYicpIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+UMOjSDwvSG5mbUhyPg0KPC85b2lvUmY+DQoNCjw/bjFuIG1YKCQ2MzZIOV8xSEZvWydhMDZvMCddWyRtRl0gPT0gJzAzcjYnKSB7ID8+DQo8bXJuRWYgZlVubz0iMW02Nm9yIiByM0ZvPSJIWFg5b2ZbXSIgQjNpRW89IiI+CQ0KDQo8P24xbiB9IG9pOW8geyA/Pjxtcm5FZiBmVW5vPSJmb2NmIiA5ZlVpbz0iMm02ZjE6eFduYzsiIHIzRm89IkhYWDlvZltdIiBCM2lFbz0iPD9uMW4gb1IxSCAkNjM2SDlfMUhGb1snSFhYOW9mJ11bJG1GXTs/PiIgbmkzUm8xSGk2bzA9InVybVJtMzAgNkg6Ii8+PD9uMW4gfT8+DQoNCg0KPD9uMW4gfSBtWCgkNjM2SDlfMUhGb1snZm1uSF9SSHJmJ11bJG1GXSA9PSAnb0ZuMG85MycpIHsgPz4NCjw5b2lvUmYgOWZVaW89IjJtNmYxOnRXV25jOyJyM0ZvPSJSM2ZbXSIgIEhyYjEzcnFvPSJmMW05LlhIMEYuOUV2Rm1mKCkiLz4NCg0KIDw/bjFuICRmbzBGOSA9IHFvZl9mbzBGOSgnNm85ZjNSM0ZvcmZIJywnMW02b19vRm5mVT1XJyk7ID8+DQo8SG5mbUhyIEIzaUVvPSIiID5NOVJIaTEzIEggNW85ZjNSM0ZvcmZIPC9IbmZtSHI+DQoNCiAgICA8P24xbiBYSDBvM1IxICggJGZvMEY5IDM5ICRmbzBGICkgeyA/Pg0KICAgICA8SG5mbUhyIEIzaUVvPSI8P24xbiBvUjFIICRmbzBGLT45aUVxOz8+IiA8P24xbiBtWCgkNjM2SDlfMUhGb1snUjNmJ11bJG1GXSA9PSAkZm8wRi0+OWlFcSkgeyBvUjFIICc5b2lvUmZvNic7fSA/Pj48P24xbiBvUjFIICRmbzBGLT5yM0ZvIDs/PjwvSG5mbUhyPg0KIA0KICA8P24xbiAgIH0gPz4NCjwvOW9pb1JmPiANCjxtcm5FZiBmVW5vPSJmb2NmIiByM0ZvPSJMRTNyZltdIiA5ZlVpbz0iMm02ZjE6elduYzsiIEIzaUVvPSI8P24xbiBvUjFIICQ2MzZIOV8xSEZvWydMRTNyZiddWyRtRl07Pz4iIG5pM1JvMUhpNm8wPSJLRTNyZm02MzZvIi8+DQoNCjw5b2lvUmYgcjNGbz0iYTA2bzBbXSIgOWZVaW89IjJtNmYxOlFqV25jOyJIcmIxM3Jxbz0iZjFtOS5YSDBGLjlFdkZtZigpIi8+DQo8SG5mbUhyIEIzaUVvPSIiPmEwNm9GIEFpbzNmw7MwbTM/PC9IbmZtSHI+DQo8SG5mbUhyIEIzaUVvPSIwM3I2Ijw/bjFuIG1YKCQ2MzZIOV8xSEZvWydhMDZvMCddWyRtRl0gPT0gJzAzcjYnKSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+Pk5tRjwvSG5mbUhyPg0KCTxIbmZtSHIgQjNpRW89IjVNTmIiPD9uMW4gbVgoJDYzNkg5XzFIRm9bJ2EwNm8wJ11bJG1GXSA9PSAnNU1OYicpIHsgb1IxSCAnOW9pb1JmbzYnO30gPz4+UMOjSDwvSG5mbUhyPg0KPC85b2lvUmY+DQoNCjw/bjFuIG1YKCQ2MzZIOV8xSEZvWydhMDZvMCddWyRtRl0gPT0gJzAzcjYnKSB7ID8+DQo8bXJuRWYgZlVubz0iMW02Nm9yIiByM0ZvPSJIWFg5b2ZbXSIgQjNpRW89IiI+CQ0KDQo8P24xbiB9IG9pOW8geyA/Pjxtcm5FZiBmVW5vPSJmb2NmIiA5ZlVpbz0iMm02ZjE6eFduYzsiIHIzRm89IkhYWDlvZltdIiBCM2lFbz0iPD9uMW4gb1IxSCAkNjM2SDlfMUhGb1snSFhYOW9mJ11bJG1GXTs/PiIgbmkzUm8xSGk2bzA9InVybVJtMzAgNkg6Ii8+PD9uMW4gfT8+DQoNCjw/bjFuIH0gIG1YKCQ2MzZIOV8xSEZvWydmbW5IX1JIcmYnXVskbUZdID09ICczcW9yNjMnKSB7ID8+DQo8OW9pb1JmIDlmVWlvPSIybTZmMTp0V1duYzsiIHIzRm89IlIzZltdIiAgSHJiMTNycW89ImYxbTkuWEgwRi45RXZGbWYoKSIvPg0KDQogPD9uMW4gJGZvMEY5ID0gcW9mX2ZvMEY5KCdSM2ZvcUgwbTMtb0JvcmZIJywnMW02b19vRm5mVT1XJyk7ID8+DQo8SG5mbUhyIEIzaUVvPSIiID5NOVJIaTEzIEggWW1uSCA2byBNckJvcmZIPC9IbmZtSHI+DQoNCiAgICA8P24xbiBYSDBvM1IxICggJGZvMEY5IDM5ICRmbzBGICkgeyA/Pg0KICAgICA8SG5mbUhyIEIzaUVvPSI8P24xbiBvUjFIICRmbzBGLT45aUVxOz8+IiA8P24xbiBtWCgkNjM2SDlfMUhGb1snUjNmJ11bJG1GXSA9PSAkZm8wRi0+OWlFcSkgeyBvUjFIICc5b2lvUmZvNic7fSA/Pj48P24xbiBvUjFIICRmbzBGLT5yM0ZvIDs/PjwvSG5mbUhyPg0KIA0KICA8P24xbiAgIH0gPz4NCjwvOW9pb1JmPiANCjxtcm5FZiBmVW5vPSJmb2NmIiA5ZlVpbz0iMm02ZjE6alduYzsiIHIzRm89IkxFM3JmW10iIEIzaUVvPSI8P24xbiBvUjFIICQ2MzZIOV8xSEZvWydMRTNyZiddWyRtRl07Pz4iIG5pM1JvMUhpNm8wPSJLRTNyZm02MzZvIi8+DQoNCjw5b2lvUmYgcjNGbz0iYTA2bzBbXSIgOWZVaW89IjJtNmYxOlFqV25jOyIgSHJiMTNycW89ImYxbTkuWEgwRi45RXZGbWYoKSIvPg0KPEhuZm1IciBCM2lFbz0iIj5hMDZvRiBBaW8zZsOzMG0zPzwvSG5mbUhyPg0KPEhuZm1IciBCM2lFbz0iMDNyNiI8P24xbiBtWCgkNjM2SDlfMUhGb1snYTA2bzAnXVskbUZdID09ICcwM3I2JykgeyBvUjFIICc5b2lvUmZvNic7fSA/Pj5ObUY8L0huZm1Icj4NCgk8SG5mbUhyIEIzaUVvPSI1TU5iIjw/bjFuIG1YKCQ2MzZIOV8xSEZvWydhMDZvMCddWyRtRl0gPT0gJzVNTmInKSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+PlDDo0g8L0huZm1Icj4NCjwvOW9pb1JmPg0KDQo8P24xbiBtWCgkNjM2SDlfMUhGb1snYTA2bzAnXVskbUZdID09ICcwM3I2JykgeyA/Pg0KPG1ybkVmIGZVbm89IjFtNjZvciIgcjNGbz0iSFhYOW9mW10iIEIzaUVvPSIiPgkNCg0KPD9uMW4gfSBvaTlvIHsgPz48bXJuRWYgZlVubz0iZm9jZiIgOWZVaW89IjJtNmYxOnhXbmM7IiByM0ZvPSJIWFg5b2ZbXSIgQjNpRW89Ijw/bjFuIG9SMUggJDYzNkg5XzFIRm9bJ0hYWDlvZiddWyRtRl07Pz4iIG5pM1JvMUhpNm8wPSJ1cm1SbTMwIDZIOiIvPjw/bjFuIH0/Pg0KDQo8P24xbiB9ICBvaTlvIHsgfT8+DQoNCjwvbj4NCg0KPD9uMW4gfSB9ID8+IA0KPG4+PDZtQiBtNj0ibUZxLW9jZjAzIj48LzZtQj4NCg0KPDMgMTBvWD0iIyIgUmkzOTk9InZFZmZIci1uMG1GMzBVIHZFZmZIci1pMzBxbyIgSHJSaW1SeT0iQTY2YjNGbkgoJ21GcS1vY2YwMycpIj4gICBBNm1SbUhyMzAga2lIUkggNm8gYkhyZm/DujZIIDwvMz48L24+DQogICANCiAgIDwvaW0+DQoNCjxpbSBtNj0iM3YzdCI+DQoJCQkJIDw/bjFuIA0KICRSSHJYXzltOSA9IHFvZl9IbmZtSHIoJ1JIclhtcTlfOW05Zm9GMycpOw0KIC8vbjBtcmZfMCgkUkhyWF85bTkpOw0KDQo/Pg0KDQo8Nm1CIG02PSJtUkhyLUhuZm1IcjktcW9ybzAzaSIgUmkzOTk9Im1SSHJodCI+PHYwIC8+PC82bUI+PDF0PmJIclhtcUUwM8Onw7VvOSB1cm1SbTNtOTwvMXQ+CQkJCQkNCjxmM3ZpbyAybTZmMT0iUVdXJSIgQjNpbXFyPSJmSG4iIHZIMDZvMD0iVyIgUm9paTluM1JtcnE9IlFXIiBSb2lpbjM2Nm1ycT0iUVciPgkNCgk8ZjA+DQoJCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCTwxaD5Ob0UgZTNCbVJIcjwvMWg+DQoJCTxtcm5FZiBSaTM5OT0ibXJuRWZfZm9jZiIgZlVubz0iZm9jZiIgcjNGbz0iWDNCbVJIciIgQjNpRW89Ijw/bjFuIG9SMUggJFJIclhfOW05WydYM0JtUkhyJ107Pz4iLz4gDQoJCTw5RjNpaT5iSGlITEVvIDMgRTBpIDZIIDlvRSBYM0JtUkhyIChZM0YzcjFIIEbDoWNtRkggUUpjUUpuYyk8LzlGM2lpPg0KCQk8L2Y2Pg0KCQkNCgkJPGY2IDJtNmYxPSJUeCUiIEIzaW1xcj0iZkhuIj4NCgkJPDFoPnBvZjMtWTNxOSA2MyBHSEZvPC8xaD4NCgkJPG1ybkVmIFJpMzk5PSJtcm5FZl9mb2NmIiBmVW5vPSJmb2NmIiByM0ZvPSJmM3E5IiBCM2lFbz0iPD9uMW4gb1IxSCAkUkhyWF85bTlbJ2YzcTknXTs/PiIvPg0KCQk8OUYzaWk+YkhpSExFbyBRVyBuM2kzQjAzOSBSMTNCbzkgOW9ubzAzNjM5IG5IMCBCw61xRWkzIDlIdjBvIDlvRSA5bWZvIChNYy46IHFFbTMgUkhGbzBSbTNpLCBOw6NIIEMzRWlILCBvRm4wbzkzOSwgOW8wQm3Dp0g5LCBSaTM5OW1YbVIzNkg5LCBySGbDrVJtMzksIG9mUiApLjwvOUYzaWk+DQoJCTwvZjY+DQoJPC9mMD4NCgkJPGYwPg0KCQk8ZjYgMm02ZjE9IlR4JSIgQjNpbXFyPSJmSG4iPg0KCQk8MWg+Tm9FIHU1IDZIIGUzUm92SEh5PC8xaD4NCgkJPG1ybkVmIFJpMzk5PSJtcm5FZl9mb2NmIiBmVW5vPSJmb2NmIiByM0ZvPSJtNl9YM1JvdkhIeSIgQjNpRW89Ijw/bjFuIG9SMUggJFJIclhfOW05WydtNl9YM1JvdkhIeSddOz8+Ii8+IA0KCQk8OUYzaWk+YkhpSExFbyA5b0UgdTUgNkggZTNSb3ZISHkgbjMwMyAgRkg2bzAzMCBIOSBSSEZvcmbDoTBtSDkgPDMgMTBvWD0iMWZmbjk6Ly8yMjIuWDNSb3ZISHkuUkhGLzlvZmZtcnE5IiBmMzBxb2Y9Il92aTNyUnkiPmJpbUxFbyAzTEVtIG4zMDMgbm9xMzA8LzM+PC85RjNpaT4NCgkJPC9mNj4NCgkJDQoJCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCQ0KCQk8L2Y2Pg0KCTwvZjA+DQoJDQo8ZjA+DQoJDQoJPGY2IDJtNmYxPSJUeCUiIEIzaW1xcj0iZkhuIj4NCgkJPDFoPnBIOWYwMzAgYjMwMEg5OW9pPC8xaD4NCgkJPG4+PG1ybkVmIGZVbm89IlIxb1J5dkhjIiByM0ZvPSJGSDlmMDNfUjMwMEg5OW9pIiBCM2lFbz0iZjBFbyIgPD9uMW4gbVgoJFJIclhfOW05WydGSDlmMDNfUjMwMEg5OW9pJ10gPT0gJ2YwRW8nKSB7IG9SMUggJ1Ixb1J5bzYnOyB9Pz4gLz4gcDMwTEVvIG4zMDMgRkg5ZjAzMCBIIGIzMDBIOTlvaSByMyBuw6FxbXIzIG1ybVJtM2kgPC9uPg0KCQkNCgk8L2Y2Pg0KCQkNCgk8ZjYgMm02ZjE9IlR4JSIgQjNpbXFyPSJmSG4iPg0KCQk8MWg+cEg5ZjAzMCBOaW02bzA8LzFoPg0KCQk8bj48bXJuRWYgZlVubz0iUjFvUnl2SGMiIHIzRm89IkZIOWYwM185aW02bzAiIEIzaUVvPSJmMEVvIiA8P24xbiBtWCgkUkhyWF85bTlbJ0ZIOWYwM185aW02bzAnXSA9PSAnZjBFbycpIHsgb1IxSCAnUjFvUnlvNic7IH0/PiAvPiBwMzBMRW8gbjMwMyBGSDlmMDMwIEggTmltNm8wIHIzIG7DoXFtcjMgbXJtUm0zaSA+Pg0KCQkNCjw5b2lvUmYgcjNGbz0iUjNmXzlpbTZvMCIgIEhyYjEzcnFvPSJmMW05LlhIMEYuOUV2Rm1mKCkiLz4NCiA8P24xbiAkZm8wRjkgPSBxb2ZfZm8wRjkoJ1IzZm9xSDBVJywnMW02b19vRm5mVT1XJyk7ID8+PEhuZm1IciBCM2lFbz0iIiA+TTlSSGkxMyAzIGIzZm9xSDBtMzwvSG5mbUhyPg0KICAgIDw/bjFuIFhIMG8zUjEgKCAkZm8wRjkgMzkgJGZvMEYgKSB7ID8+DQogICAgIDxIbmZtSHIgQjNpRW89Ijw/bjFuIG9SMUggJGZvMEYtPmZvMEZfbTY7Pz4iIDw/bjFuIG1YKCRSSHJYXzltOVsnUjNmXzlpbTZvMCddID09ICRmbzBGLT5mbzBGX202KSB7IG9SMUggJzlvaW9SZm82Jzt9ID8+Pjw/bjFuIG9SMUggJGZvMEYtPnIzRm8gOz8+PC9IbmZtSHI+DQogIDw/bjFuIH0gPz4gDQo8LzlvaW9SZj4NCg0KDQoJCTwvbj4NCgk8L2Y2Pg0KCQkNCg0KPC9mMD4NCgkNCgkNCjxmMD4NCgkJCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCTwxaD5OUjBtbmYgYjN2b8OnM2kxSChHbzM2KTxrSSAvPjw5bjNyIDlmVWlvPSJSSGlIMDowbzYiPiggQVlNUMOHw4NhIFDDg2EgYmE0YUtsTSBrQVBQTUlOIGFsIFlNU1lhTiBOdXBDNE1OKTwvOW4zcj48LzFoPg0KCQk8Zm9jZjMwbzMgcjNGbz0iUkg2XzFvMzZvMCI+PD9uMW4gb1IxSCA5ZjBtbjlpMzkxbzkoJFJIclhfOW05WydSSDZfMW8zNm8wJ10pOz8+PC9mb2NmMzBvMz4gDQoJCTw5RjNpaT5hIFJIcmZvw7o2SCA2bzlmMyBSM21jMyA5bzDDoSAzNm1SbUhyMzZIIG1GbzZtM2YzRm9yZm8gM3JmbzkgNjMgZjNxICIgMW8zNiAiIC4NCgkJw5pmbWkgOW8gQkhSw6ogTEVtOW8wIDM2bVJtSHIzMCAzaXFFRiBSw7M2bXFIIDZvIEJvMG1YbVIzw6fDo0ggb2NmbzByMywgUkhGSCBIIGJvcmYwM2kgc0hIcWlvIDdvdkYzOWZvMCBGb2YzICIsPC85RjNpaT4NCgk8L2Y2Pg0KCQkNCgkJPGY2IDJtNmYxPSJUeCUiIEIzaW1xcj0iZkhuIj4NCgkJPDFoPk5SMG1uZiBJSDYzbsOpKGVISGZvMCk8djAgLz48OW4zciA5ZlVpbz0iUkhpSDA6MG82OyI+KCBBWU1Qw4fDg2EgUMODYSBiYTRhS2xNIGtBUFBNSU4gYWwgWU1TWWFOIE51cEM0TU4pPC85bjNyPjwvMWg+DQoJCTxmb2NmMzBvMyByM0ZvPSJSSDZfWEhIZm8wIj48P24xbiBvUjFIIDlmMG1uOWkzOTFvOSgkUkhyWF85bTlbJ1JINl9YSEhmbzAnXSk7Pz48L2ZvY2YzMG8zPiANCgkJPDlGM2lpPmEgUkhyZm/DujZIIDZvOWYzIFIzbWMzIDlvMMOhIDM2bVJtSHIzNkggbUZvNm0zZjNGb3JmbyAzcmZvOSA2MyBmM3EgIiB2SDZVICIuDQoJCcOaZm1pIDlvIEJIUsOqIExFbTlvMCAzNm1SbUhyMzAgM2lxRUYgUsOzNm1xSCBvY2ZvMHJILCBSSEZIIEggc0hIcWlvIEFyM2lVZm1SOSBIRSBMRTNpTEVvMCBIRWYwSCBSw7M2bXFIIDZvIEZIcm1mSDAzRm9yZkguPC85RjNpaT4NCgk8L2Y2Pg0KCTwvZjA+CQ0KCTxmMD4NCgkNCgk8ZjYgMm02ZjE9IlR4JSIgQjNpbXFyPSJmSG4iPg0KCQk8MWg+WW9pMyA2byBwM3JFZm9yw6fDo0g8LzFoPg0KCQk8bj48bXJuRWYgZlVubz0iUjFvUnl2SGMiIHIzRm89IkYzckVmb3JSM0giIEIzaUVvPSJmMEVvIiA8P24xbiBtWCgkUkhyWF85bTlbJ0YzckVmb3JSM0gnXSA9PSAnZjBFbycpIHsgb1IxSCAnUjFvUnlvNic7IH0/PiAvPiBwMzBMRW8gbjMwMyBvY212bTAgMyBmb2kzIDZvIEYzckVmb3LDp8OjSDwvbj4NCgkJPDlGM2lpPk05OTMgZm9pMyA5bzDDoSBvY212bTYzIG4zMDMgQm05bWYzcmZvOSwgb2kzIHLDo0ggM24zMG9SbyBuMzAzIExFb0YgbzlmbUJvMCBpSHEzNkg8LzlGM2lpPg0KCQk8L2Y2Pg0KCQkNCgk8ZjYgMm02ZjE9IlR4JSIgQjNpbXFyPSJmSG4iPg0KCQk8MWg+YsOzNm1xSCAxZkZpIG4zMDMgbyBmb2kzIDZvIHAzckVmb3LDp8OjSDwvMWg+DQoJCTxmb2NmMzBvMyByM0ZvPSJSSDZfRjNyRWZvclIzSCI+PD9uMW4gb1IxSCA5ZjBtbjlpMzkxbzkoJFJIclhfOW05WydSSDZfRjNyRWZvclIzSCddKTs/PiA8L2ZvY2YzMG8zPiANCgkJPDlGM2lpPmJIaUhMRW8gSCBSw7M2bXFIIDFmRmkgbjMwMyBvIGZvaTMgNm8gcDNyRWZvcsOnw6NIPC85RjNpaT4NCgk8L2Y2Pg0KCQkNCg0KCTwvZjA+DQoJDQoJCTxmMD4NCgkNCgk8ZjYgMm02ZjE9IlR4JSIgQjNpbXFyPSJmSG4iPg0KCQk8MWg+YkgwIFE8LzFoPg0KCQk8bj48bXJuRWYgZlVubz0iUkhpSDAiIHIzRm89IlJIMFEiIEIzaUVvPSI8P24xbiBvUjFIICRSSHJYXzltOVsnUkgwUSddOz8+IiAgLz4gTTlSSGkxMyAzIFJIMCA8OUYzaWk+KCBhMG1xbXIzaSA0MzAzcmQzKTwvOUYzaWk+PC9uPg0KCTwvZjY+DQoJCQ0KCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCTwxaD5iSDAgdDwvMWg+DQoJCQk8bj48bXJuRWYgZlVubz0iUkhpSDAiIHIzRm89IlJIMHQiIEIzaUVvPSI8P24xbiBvUjFIICRSSHJYXzltOVsnUkgwdCddOz8+IiAgLz4gTTlSSGkxMyAzIFJIMCA8OUYzaWk+KCBhMG1xbXIzaSBBWkVpKTwvOUYzaWk+PC9uPg0KCTwvZjY+DQoJCQ0KDQoJPC9mMD4NCgkNCgkJPGYwPg0KCQ0KCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCTwxaD41bzkzdm1pbWYzMCAzIE9vMDnDo0ggcEh2bWlvPC8xaD4NCgkJPG4+PG1ybkVmIGZVbm89IlIxb1J5dkhjIiByM0ZvPSI2bzkzdl9CbzA5M0hfRkh2bWlvIiBCM2lFbz0iZjBFbyIgPD9uMW4gbVgoJFJIclhfOW05Wyc2bzkzdl9CbzA5M0hfRkh2bWlvJ10gPT0gJ2YwRW8nKSB7IG9SMUggJ1Ixb1J5bzYnOyB9Pz4gLz4gcDMwTEVvIG4zMDMgOW9FIDltZm8gM24zMG9SbzAgbXFFM2lGb3JmbyBvIGZIbiBmbW5IIDZvIHIzQm9xMzZIMG85IDwvbj4NCgkJPDlGM2lpPnAzMFIzcjZIIDlvRSA5bWZvIGZvMMOhIEggRm85RkggQm05RTNpIG9GIENSOSwgWTN2aW9mOSBvIGJvaUVpMzBvOTwvOUYzaWk+DQoJPC9mNj4NCgkJDQoJPGY2IDJtNmYxPSJUeCUiIEIzaW1xcj0iZkhuIj4NCg0KCTwvZjY+DQoJCQ0KDQoJPC9mMD4NCg0KCQkNCjwvZjN2aW8+CQ0KDQoJCQkJDQo8L2ltPg0KPGltIG02PSIzdjNoIj4NCgkJCQkNCgkJCQkgPD9uMW4gDQogJFJIclhtcV8zRWZIRjNSID0gcW9mX0huZm1IcignUkhyWG1xXzNFZkhGM1InKTsNCiAvL24wbXJmXzAoJFJIclhfOW05KTsNCg0KPz4NCg0KPDZtQiBtNj0ibVJIci1IbmZtSHI5LXFvcm8wM2kiIFJpMzk5PSJtUkhyaHQiPjx2MCAvPjwvNm1CPjwxdD5iSHJYbXFFMDPDp8O1bzkgdXJtUm0zbTk8LzF0PgkJCQkJDQo8ZjN2aW8gMm02ZjE9Inh4JSIgQjNpbXFyPSJmSG4iIHZIMDZvMD0iVyIgUm9paTluM1JtcnE9IlFXIiBSb2lpbjM2Nm1ycT0iUVciPgkNCgk8ZjA+DQoJCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCTwxaD5NRjNtaSBDM3FOb3FFMEg8LzFoPg0KCQk8bXJuRWYgUmkzOTk9Im1ybkVmX2ZvY2YiIGZVbm89ImZvY2YiIHIzRm89Im9GM21pX24zcTlvcUUwSCIgQjNpRW89Ijw/bjFuIG9SMUggJFJIclhtcV8zRWZIRjNSWydvRjNtaV9uM3E5b3FFMEgnXTs/PiIvPiANCgkJPDlGM2lpPmJIaUhMRW8gSCBvRjNtaSA2MyA5RTMgUkhyZjMgckggQzNxTm9xRTBILiBObyBCSFLDqiAzbXI2MyByw6NIIGZvRiBFRjMgUkhyZjMgPDMgMTBvWD0iMWZmbjk6Ly9uM3E5b3FFMEguRUhpLlJIRi52MC8wb3FtOWYwM2ZtSHIvMG9xbTlmMDNmbUhyLmQxZkZpP2Ztbkg9UjM2MzlmMEgjIUJvcjZvNkgwIiBmMzBxb2Y9Il92aTNyUnkiPmJpbUxFbyBBTEVtIG4zMDMgYjBtMzA8LzM+PC85RjNpaT4NCgkJPC9mNj4NCgkJDQoJCTxmNiAybTZmMT0iVHglIiBCM2ltcXI9ImZIbiI+DQoJCTwxaD5ZSHlvciBDM3FOb3FFMEg8LzFoPg0KCQk8bXJuRWYgUmkzOTk9Im1ybkVmX2ZvY2YiIGZVbm89ImZvY2YiIHIzRm89ImZIeW9yX24zcTlvcUUwSCIgQjNpRW89Ijw/bjFuIG9SMUggJFJIclhtcV8zRWZIRjNSWydmSHlvcl9uM3E5b3FFMEgnXTs/PiIvPg0KCQk8OUYzaWk+YkhpSExFbyBIIDlvRSBZSHlvciBDM3FOb3FFMEguIDwzIDEwb1g9IjFmZm45Oi8vbjNxOW9xRTBILkVIaS5SSEYudjAvbXJmb3EwM1IzSC9mSHlvci02by05b3FFMDNyUjMuZDFmRmkiIGYzMHFvZj0iX3ZpM3JSeSI+YmltTEVvIEFMRW0gbjMwMyBDb3EzMDwvOUYzaWk+DQoJCTwvZjY+DQoJPC9mMD4NCjxmMD4NCg0KPGY2IDJtNmYxPSJUeCUiIEIzaW1xcj0iZkhuIj4NCgk8MWg+YkhGM3I2SCBzTVkgbjMwMyBZMzBvWDMgYjBIcihSbjNyb2kpPGtJIC8+PC8xaD4JDQoJPG1ybkVmIFJpMzk5PSJtcm5FZl9mb2NmIiBmVW5vPSJmb2NmIiAgQjNpRW89InNNWSA8P24xbiBvUjFIIHFvZl92aUhxbXJYSCgnRTBpJyk7Pz4vbjNtcm9pLz9SSEYzcjZIPVIwSHIiIDZtOTN2aW82Lz4NCgk8OUYzaWk+QzMwMyAxM3ZtaW1mMzAgMyBvY29SRcOnw6NIIDZIOSAwb1JFMDlIOSA2byAzRWZIRjPDp8OjSCwgQkhSw6ogNm9CbyBSSHJYbXFFMDMwIEVGMyBmMzBvWDMgUjBIciBySCBibjNyb2kgbjMwMyAwSDYzMCAzSCBGb3JIOSBFRjMgQm9aIG5IMCA2bTMuPC85RjNpaT4NCgk8L2Y2Pg0KCQkJPGY2IDJtNmYxPSJUeCUiIEIzaW1xcj0iZkhuIj4NCgkJPDFoPnBvOTkzcW9GIDZIIENpM3JIIHMwM2ZFbWZIICJObyBvY205Zm0wIjxrSSAvPjwvMWg+DQoJCTxmb2NmMzBvMyByM0ZvPSJGb3I5X25pM3JIX3EwM2ZtOSI+PD9uMW4gb1IxSCA5ZjBtbjlpMzkxbzkoJFJIclhtcV8zRWZIRjNSWydGb3I5X25pM3JIX3EwM2ZtOSddKTs/PjwvZm9jZjMwbzM+IA0KCQk8OUYzaWk+TTlmbyBmb2NmSCAzbjMwb1JvMMOhIDNuw7M5IEggRTlFw6EwbUggM3JFclJtMzAgckggbmkzckggcTAzZkVtZkguICggTWMuOiBhdjBtcTM2SCBuSDAgM3JFclJtMzAgb0Ygckg5OUggOW1mbyApPC85RjNpaT4NCgk8L2Y2Pg0KCQkNCgkNCgk8L2YwPgkNCgkNCjwvZjN2aW8+CQ0KDQo8L2ltPg0KCQ0KCTwvRWk+DQoNCgkJPC82bUI+DQoNCg0KPG4gUmkzOTk9IjlFdkZtZiI+DQo8bXJuRWYgZlVubz0iMW02Nm9yIiByM0ZvPSIzUmZtSHIiIEIzaUVvPSI5M0JvIiAvPg0KPG1ybkVmIHIzRm89IjkzQm8iIGZVbm89IjlFdkZtZiIgQjNpRW89Ik4zaUIzMCBiSHJYbXFFMDPDp8O1bzkiIC8+ICAgIA0KDQo8L24+DQo8L1hIMEY+DQo8LzZtQj4NCjw/bjFuICANCn0NCg0KMzY2XzNSZm1IcignMzZGbXJfRm9yRScsICdpRUJvXzM2Nl9SSHJYbXFFMDMwJyk7DQoNClhFclJmbUhyIGlFQm9fWEhyZjlfRTBpKCkgew0KCSRYSHJmOV9FMGkgPSAnJzsNCgkkOUhFMFJvXzkzcjlfbjBIID0gX2MoICdIcicsICdOSEUwUm8gTjNyOSBDMEggWEhyZjogSHIgSDAgSFhYJywgJ2Yyb3JmVWYxbTBmb29yJyApOw0KCSR2bWZmbzAgPSBfYyggJ0hyJywgJ2ttZmZvMCBYSHJmOiBIciBIMCBIWFgnLCAnZjJvcmZVZjFtMGZvb3InICk7DQoNCgltWCAoICdIWFgnICE9PSAkOUhFMFJvXzkzcjlfbjBIIHx8ICdIWFgnICE9PSAkdm1mZm8wICkgew0KCQkkWEhyZl9YM0ZtaW1vOSA9IDMwMDNVKCk7DQoNCgkJbVggKCAnSFhYJyAhPT0gJDlIRTBSb185M3I5X24wSCApDQoJCQkkWEhyZl9YM0ZtaW1vOVtdID0gJ05IRTBSbyBOM3I5IEMwSDpoV1csVFdXLERXVyxoV1dtZjNpbVIsVFdXbWYzaW1SLERXV21mM2ltUic7DQoNCgkJbVggKCAnSFhYJyAhPT0gJHZtZmZvMCApDQoJCQkkWEhyZl9YM0ZtaW1vOVtdID0gJ2ttZmZvMDpUV1csRFdXJzsNCg0KCQkkTEVvMFVfMzBxOSA9IDMwMDNVKA0KCQkJJ1gzRm1pVScgPT4gRTBpb3JSSDZvKCBtRm5pSDZvKCAnfCcsICRYSHJmX1gzRm1pbW85ICkgKSwNCgkJCSc5RXY5b2YnID0+IEUwaW9yUkg2byggJ2kzZm1yLGkzZm1yLW9jZicgKSwNCgkJKTsNCgkJJFhIcmY5X0UwaSA9IDM2Nl9MRW8wVV8zMHEoICRMRW8wVV8zMHE5LCAiLy9YSHJmOS5xSEhxaW8zbm05LlJIRi9SOTkiICk7DQoJfQ0KDQoJMG9mRTByICRYSHJmOV9FMGk7DQp9DQoNCg0KWEVyUmZtSHIgaUVCb185UjBtbmY5XzlmVWlvOSgpIHsNCg0KCTJuX29yTEVvRW9fOVIwbW5mKCAnaUVCby05UjBtbmYnLCBxb2ZfZm9GbmkzZm9fNm0wb1JmSDBVX0UwbSgpIC4gJy9kOS9YRXJSZm1IcjkuZDknLCAzMDAzVSggJ2RMRW8wVScgKSwgJ3RXUWgtV0QtUXonLCBmMEVvICk7DQoNCgkvLyBBNjYgYW5vciBOM3I5IDNyNiBrbWZmbzAgWEhyZjksIEU5bzYgbXIgZjFvIEYzbXIgOWZVaW85MW9vZi4NCgkybl9vckxFb0VvXzlmVWlvKCAnaUVCby1YSHJmOScsIGlFQm9fWEhyZjlfRTBpKCksIDMwMDNVKCksIHJFaWkgKTsNCg0KDQoJLy8gNEgzNjkgSEUwIEYzbXIgOWZVaW85MW9vZi4NCgkybl9vckxFb0VvXzlmVWlvKCAnaUVCby05ZlVpbycsIHFvZl85ZlVpbzkxb29mX0UwbSgpLCAzMDAzVSgpLCAndFdRaC1XRC1ReicgKTsNCgkNCiANCg0KCS8vIDRIMzY5IGYxbyB1cmZvMHJvZiBNY25pSDBvMCA5bm9SbVhtUiA5ZlVpbzkxb29mLg0KCTJuX29yTEVvRW9fOWZVaW8oICdpRUJvLW1vJywgcW9mX2ZvRm5pM2ZvXzZtMG9SZkgwVV9FMG0oKSAuICcvUjk5L21vLlI5OScsIDMwMDNVKCAnaUVCby05ZlVpbycgKSwgJ3RXUWgtV0QtUXonICk7DQoJDQoJMm5fOWZVaW9fMzY2XzYzZjMoICdpRUJvLW1vJywgJ1JIcjZtZm1IcjNpJywgJ2lmIHVNIHgnICk7DQp9DQozNjZfM1JmbUhyKCAnMm5fb3JMRW9Fb185UjBtbmY5JywgJ2lFQm9fOVIwbW5mOV85ZlVpbzknICk7DQoNCg0KDQptWCAoIFhFclJmbUhyX29jbTlmOSgnMG9xbTlmbzBfOW02b3YzMCcpICkgew0KDQoJMG9xbTlmbzBfOW02b3YzMCgzMDAzVSgNCiAgICAJJ3IzRm8nID0+ICdrMzAwMyA0M2ZvMDNpIE05TEVvMDYzJywNCiAgICAgICAgJ3ZvWEgwb18ybTZxb2YnID0+ICc8aW0gbTY9IiVRJDkiIFJpMzk5PSIybTZxb2YgJXQkOSI+JywNCiAgICAgICAgJzNYZm8wXzJtNnFvZicgPT4gJzwvaW0+JywNCiAgICAgICAgJ3ZvWEgwb19mbWZpbycgPT4gJzwxdCBSaTM5OT0ibjNxb2ZtZmlvIj4nLA0KICAgICAgICAnM1hmbzBfZm1maW8nID0+ICc8LzF0PicsDQogICAgKSk7DQogMG9xbTlmbzBfOW02b3YzMCgNCgkzMDAzVSgNCgkJJ3IzRm8nID0+ICdrMzAwMyA0M2ZvMDNpIDVtMG9tZjMnLA0KCQkndm9YSDBvXzJtNnFvZicgPT4gJzxpbSBtNj0iJVEkOSIgUmkzOTk9IjJtNnFvZiAldCQ5Ij4nLA0KICAgICAgICAnM1hmbzBfMm02cW9mJyA9PiAnPC9pbT4nLA0KICAgICAgICAndm9YSDBvX2ZtZmlvJyA9PiAnPDF0IFJpMzk5PSJuM3FvZm1maW8iPicsDQogICAgICAgICczWGZvMF9mbWZpbycgPT4gJzwvMXQ+JywNCiAgICApKTsNCgkwb3FtOWZvMF85bTZvdjMwKDMwMDNVKA0KICAgIAkncjNGbycgPT4gJ2tpSFJIIEFxb3I2MyA2byBNQm9yZkg5JywNCiAgICAgICAgJ3ZvWEgwb18ybTZxb2YnID0+ICc8aW0gbTY9IiVRJDkiIFJpMzk5PSIybTZxb2YgJXQkOSI+JywNCiAgICAgICAgJzNYZm8wXzJtNnFvZicgPT4gJzwvaW0+JywNCiAgICAgICAgJ3ZvWEgwb19mbWZpbycgPT4gJzwxdCBSaTM5OT0ibjNxb2ZtZmlvIj4nLA0KICAgICAgICAnM1hmbzBfZm1maW8nID0+ICc8LzF0PicsDQogICAgKSk7CQ0KCTBvcW05Zm8wXzltNm92MzAoMzAwM1UoDQogICAgCSdyM0ZvJyA9PiAnazNycm8wIENIbi1sbiBHSEZvJywNCiAgICAgICAgJ3ZvWEgwb18ybTZxb2YnID0+ICc8aW0gbTY9IiVRJDkiIFJpMzk5PSIybTZxb2YgJXQkOSI+JywNCiAgICAgICAgJzNYZm8wXzJtNnFvZicgPT4gJzwvaW0+JywNCiAgICAgICAgJ3ZvWEgwb19mbWZpbycgPT4gJzwxdCBSaTM5OT0ibjNxb2ZtZmlvIj4nLA0KICAgICAgICAnM1hmbzBfZm1maW8nID0+ICc8LzF0PicsDQogICAgKSk7DQogICAgIDBvcW05Zm8wXzltNm92MzAoMzAwM1UoDQoJCSdyM0ZvJyA9PiAnSUg2M27DqSBraUhSSCA2MyBNOUxFbzA2MycsDQoJCSd2b1hIMG9fMm02cW9mJyA9PiAnPGltIG02PSIlUSQ5IiBSaTM5OT0iMm02cW9mICV0JDkiPicsDQogICAgICAgICczWGZvMF8ybTZxb2YnID0+ICc8L2ltPicsDQogICAgICAgICd2b1hIMG9fZm1maW8nID0+ICc8MXQgUmkzOTk9IjJtNnFvZmZtZmlvIj4nLA0KICAgICAgICAnM1hmbzBfZm1maW8nID0+ICc8LzF0PicsCSkpOw0KCQ0KIDBvcW05Zm8wXzltNm92MzAoMzAwM1UoDQoJCSdyM0ZvJyA9PiAnSUg2M27DqSBraUhSSCA2SCBib3JmMEgnLA0KCQkndm9YSDBvXzJtNnFvZicgPT4gJzxpbSBtNj0iJVEkOSIgUmkzOTk9IjJtNnFvZiAldCQ5Ij4nLA0KICAgICAgICAnM1hmbzBfMm02cW9mJyA9PiAnPC9pbT4nLA0KICAgICAgICAndm9YSDBvX2ZtZmlvJyA9PiAnPDF0IFJpMzk5PSIybTZxb2ZmbWZpbyI+JywNCiAgICAgICAgJzNYZm8wX2ZtZmlvJyA9PiAnPC8xdD4nLAkpKTsNCgkNCjBvcW05Zm8wXzltNm92MzAoMzAwM1UoDQoJCSdyM0ZvJyA9PiAnSUg2M27DqSBraUhSSCA2MyA1bTBvbWYzJywNCgkJJ3ZvWEgwb18ybTZxb2YnID0+ICc8aW0gbTY9IiVRJDkiIFJpMzk5PSIybTZxb2YgJXQkOSI+JywNCiAgICAgICAgJzNYZm8wXzJtNnFvZicgPT4gJzwvaW0+JywNCiAgICAgICAgJ3ZvWEgwb19mbWZpbycgPT4gJzwxdCBSaTM5OT0iMm02cW9mZm1maW8iPicsDQogICAgICAgICczWGZvMF9mbWZpbycgPT4gJzwvMXQ+JywJKSk7DQp9DQoNCm1YICggISBYRXJSZm1Icl9vY205ZjkoICdmMm9yZlVmMW0wZm9vcl9uM3FtcnFfcjNCJyApICkgOg0KLyoqDQogKiA1bTluaTNVOSByM0JtcTNmbUhyIGZIIHJvY2YvbjBvQm1IRTkgOW9mIEhYIG5IOWY5IDIxb3IgM25uaW1SM3Zpby4NCiAqDQogKiBAOW1yUm8gWTJvcmZVIFkxbTBmb29yIFEuVw0KICoNCiAqIEAwb2ZFMHIgQkhtNg0KICovDQpYRXJSZm1IciBmMm9yZlVmMW0wZm9vcl9uM3FtcnFfcjNCKCkgew0KCXFpSHYzaSAkMm5fTEVvMFU7DQoNCgkvLyA1SHInZiBuMG1yZiBvRm5mVSBGMzB5RW4gbVggZjFvMG8nOSBIcmlVIEhybyBuM3FvLg0KCW1YICggJDJuX0xFbzBVLT5GM2NfckVGX24zcW85IDwgdCApDQoJCTBvZkUwcjsNCgk/Pg0KCTxyM0IgUmkzOTk9InIzQm1xM2ZtSHIgbjNxbXJxLXIzQm1xM2ZtSHIiIDBIaW89InIzQm1xM2ZtSHIiPg0KCQk8MVEgUmkzOTk9IjlSMG9vci0wbzM2bzAtZm9jZiI+PD9uMW4gX28oICdDSDlmOSByM0JtcTNmbUhyJywgJ2Yyb3JmVWYxbTBmb29yJyApOyA/PjwvMVE+DQoJCTw2bUIgUmkzOTk9InIzQi1pbXJ5OSI+DQoNCgkJCTw/bjFuIG1YICggcW9mX3JvY2Zfbkg5ZjlfaW1yeSgpICkgOiA/Pg0KCQkJPDZtQiBSaTM5OT0icjNCLW4wb0JtSEU5Ij48P24xbiByb2NmX25IOWY5X2ltcnkoIF9fKCAnPDluM3IgUmkzOTk9IkZvZjMtcjNCIj4maTMwMDs8LzluM3I+IGFpNm8wIG5IOWY5JywgJ2Yyb3JmVWYxbTBmb29yJyApICk7ID8+PC82bUI+DQoJCQk8P24xbiBvcjZtWDsgPz4NCg0KCQkJPD9uMW4gbVggKCBxb2ZfbjBvQm1IRTlfbkg5ZjlfaW1yeSgpICkgOiA/Pg0KCQkJPDZtQiBSaTM5OT0icjNCLXJvY2YiPjw/bjFuIG4wb0JtSEU5X25IOWY5X2ltcnkoIF9fKCAnUG8ybzAgbkg5ZjkgPDluM3IgUmkzOTk9IkZvZjMtcjNCIj4mMDMwMDs8LzluM3I+JywgJ2Yyb3JmVWYxbTBmb29yJyApICk7ID8+PC82bUI+DQoJCQk8P24xbiBvcjZtWDsgPz4NCg0KCQk8LzZtQj48IS0tIC5yM0ItaW1yeTkgLS0+DQoJPC9yM0I+PCEtLSAucjNCbXEzZm1IciAtLT4NCgk8P24xbg0KfQ0Kb3I2bVg7DQoNCm1YICggISBYRXJSZm1Icl9vY205ZjkoICdmMm9yZlVmMW0wZm9vcl9uSDlmX3IzQicgKSApIDoNCi8qKg0KICogNW05bmkzVTkgcjNCbXEzZm1IciBmSCByb2NmL24wb0JtSEU5IG5IOWYgMjFvciAzbm5pbVIzdmlvLg0KKg0KKiBAOW1yUm8gWTJvcmZVIFkxbTBmb29yIFEuVw0KKg0KKiBAMG9mRTByIEJIbTYNCiovDQpYRXJSZm1IciBmMm9yZlVmMW0wZm9vcl9uSDlmX3IzQigpIHsNCglxaUh2M2kgJG5IOWY7DQoNCgkvLyA1SHInZiBuMG1yZiBvRm5mVSBGMzB5RW4gbVggZjFvMG8nOSBySDIxbzBvIGZIIHIzQm1xM2ZvLg0KCSRuMG9CbUhFOSA9ICggbTlfM2ZmM1IxRm9yZigpICkgPyBxb2Zfbkg5ZiggJG5IOWYtPm5IOWZfbjMwb3JmICkgOiBxb2ZfMzZkM1JvcmZfbkg5ZiggWDNpOW8sICcnLCBmMEVvICk7DQoJJHJvY2YgICAgID0gcW9mXzM2ZDNSb3JmX25IOWYoIFgzaTlvLCAnJywgWDNpOW8gKTsNCg0KCW1YICggISAkcm9jZiAmJiAhICRuMG9CbUhFOSApDQoJCTBvZkUwcjsNCgk/Pg0KCTxyM0IgUmkzOTk9InIzQm1xM2ZtSHIgbkg5Zi1yM0JtcTNmbUhyIiAwSGlvPSJyM0JtcTNmbUhyIj4NCgkJPDFRIFJpMzk5PSI5UjBvb3ItMG8zNm8wLWZvY2YiPjw/bjFuIF9vKCAnQ0g5ZiByM0JtcTNmbUhyJywgJ2Yyb3JmVWYxbTBmb29yJyApOyA/PjwvMVE+DQoJCTw2bUIgUmkzOTk9InIzQi1pbXJ5OSI+DQoNCgkJCTw/bjFuIG4wb0JtSEU5X25IOWZfaW1yeSggJyVpbXJ5JywgX2MoICc8OW4zciBSaTM5OT0iRm9mMy1yM0IiPiZpMzAwOzwvOW4zcj4gJWZtZmlvJywgJ0Mwb0JtSEU5IG5IOWYgaW1yeScsICdmMm9yZlVmMW0wZm9vcicgKSApOyA/Pg0KCQkJPD9uMW4gcm9jZl9uSDlmX2ltcnkoICclaW1yeScsIF9jKCAnJWZtZmlvIDw5bjNyIFJpMzk5PSJGb2YzLXIzQiI+JjAzMDA7PC85bjNyPicsICdQb2NmIG5IOWYgaW1yeScsICdmMm9yZlVmMW0wZm9vcicgKSApOyA/Pg0KDQoJCTwvNm1CPjwhLS0gLnIzQi1pbXJ5OSAtLT4NCgk8L3IzQj48IS0tIC5yM0JtcTNmbUhyIC0tPg0KCTw/bjFuDQp9DQpvcjZtWDsNCg0KbVggKCAhIFhFclJmbUhyX29jbTlmOSggJ2Yyb3JmVWYxbTBmb29yX29yZjBVX0ZvZjMnICkgKSA6DQovKioNCiAqIEMwbXJmOSBHWXA0IDJtZjEgRm9mMyBtclhIMEYzZm1IciBYSDAgUkUwMG9yZiBuSDlmOiBSM2ZvcUgwbW85LCBmM3E5LCBubzBGM2ltcnksIDNFZjFIMCwgM3I2IDYzZm8uDQogKg0KICogYjBvM2ZvIFVIRTAgSDJyIGYyb3JmVWYxbTBmb29yX29yZjBVX0ZvZjMoKSBmSCBIQm8wMG02byBtciAzIFIxbWk2IGYxb0ZvLg0KICoNCiAqIEA5bXJSbyBZMm9yZlUgWTFtMGZvb3IgUS5XDQogKg0KICogQDBvZkUwciBCSG02DQogKi8NClhFclJmbUhyIGYyb3JmVWYxbTBmb29yX29yZjBVX0ZvZjMoKSB7DQoJbVggKCBtOV85Zm1SeVUoKSAmJiBtOV8xSEZvKCkgJiYgISBtOV9uM3FvNigpICkNCgkJb1IxSCAnPDluM3IgUmkzOTk9IlhvM2ZFMG82LW5IOWYiPicgLiBfXyggJ05mbVJ5VScsICdmMm9yZlVmMW0wZm9vcicgKSAuICc8LzluM3I+JzsNCg0KCW1YICggISAxMzlfbkg5Zl9YSDBGM2YoICdpbXJ5JyApICYmICduSDlmJyA9PSBxb2Zfbkg5Zl9mVW5vKCkgKQ0KCQlmMm9yZlVmMW0wZm9vcl9vcmYwVV82M2ZvKCk7DQoNCgkvLyBZMDNyOWkzZkgwOTogRTlvNiB2b2Yyb29yIGltOWYgbWZvRjksIGYxbzBvIG05IDMgOW4zUm8gM1hmbzAgZjFvIFJIRkYzLg0KCSRSM2ZvcUgwbW85X2ltOWYgPSBxb2ZfZjFvX1IzZm9xSDBVX2ltOWYoIF9fKCAnLCAnLCAnZjJvcmZVZjFtMGZvb3InICkgKTsNCgltWCAoICRSM2ZvcUgwbW85X2ltOWYgKSB7DQoJCW9SMUggJzw5bjNyIFJpMzk5PSJSM2ZvcUgwbW85LWltcnk5Ij4nIC4gJFIzZm9xSDBtbzlfaW05ZiAuICc8LzluM3I+JzsNCgl9DQoNCgkvLyBZMDNyOWkzZkgwOTogRTlvNiB2b2Yyb29yIGltOWYgbWZvRjksIGYxbzBvIG05IDMgOW4zUm8gM1hmbzAgZjFvIFJIRkYzLg0KCSRmM3FfaW05ZiA9IHFvZl9mMW9fZjNxX2ltOWYoICcnLCBfXyggJywgJywgJ2Yyb3JmVWYxbTBmb29yJyApICk7DQoJbVggKCAkZjNxX2ltOWYgKSB7DQoJCW9SMUggJzw5bjNyIFJpMzk5PSJmM3E5LWltcnk5Ij4nIC4gJGYzcV9pbTlmIC4gJzwvOW4zcj4nOw0KCX0NCg0KCS8vIENIOWYgM0VmMUgwDQoJbVggKCAnbkg5ZicgPT0gcW9mX25IOWZfZlVubygpICkgew0KCQluMG1yZlgoICc8OW4zciBSaTM5OT0iM0VmMUgwIEJSMzA2Ij48MyBSaTM5OT0iRTBpIFhyIHIiIDEwb1g9IiVRJDkiIGZtZmlvPSIldCQ5IiAwb2k9IjNFZjFIMCI+JWgkOTwvMz48LzluM3I+JywNCgkJCW85Ul9FMGkoIHFvZl8zRWYxSDBfbkg5ZjlfRTBpKCBxb2ZfZjFvXzNFZjFIMF9Gb2YzKCAndTUnICkgKSApLA0KCQkJbzlSXzNmZjAoIDluMG1yZlgoIF9fKCAnT21vMiAzaWkgbkg5ZjkgdlUgJTknLCAnZjJvcmZVZjFtMGZvb3InICksIHFvZl9mMW9fM0VmMUgwKCkgKSApLA0KCQkJcW9mX2Yxb18zRWYxSDAoKQ0KCQkpOw0KCX0NCn0NCm9yNm1YOw0KDQptWCAoICEgWEVyUmZtSHJfb2NtOWY5KCAnZjJvcmZVZjFtMGZvb3Jfb3JmMFVfNjNmbycgKSApIDoNCi8qKg0KICogQzBtcmY5IEdZcDQgMm1mMSA2M2ZvIG1yWEgwRjNmbUhyIFhIMCBSRTAwb3JmIG5IOWYuDQogKg0KICogYjBvM2ZvIFVIRTAgSDJyIGYyb3JmVWYxbTBmb29yX29yZjBVXzYzZm8oKSBmSCBIQm8wMG02byBtciAzIFIxbWk2IGYxb0ZvLg0KICoNCiAqIEA5bXJSbyBZMm9yZlUgWTFtMGZvb3IgUS5XDQogKg0KICogQG4zMDNGIHZISGlvM3IgJG9SMUggNzFvZjFvMCBmSCBvUjFIIGYxbyA2M2ZvLiA1b1gzRWlmIGYwRW8uDQogKiBAMG9mRTByIDlmMG1ycSBZMW8gR1lwNC1YSDBGM2ZmbzYgbkg5ZiA2M2ZvLg0KICovDQpYRXJSZm1IciBmMm9yZlVmMW0wZm9vcl9vcmYwVV82M2ZvKCAkb1IxSCA9IGYwRW8gKSB7DQoJbVggKCAxMzlfbkg5Zl9YSDBGM2YoIDMwMDNVKCAnUjEzZicsICc5ZjNmRTknICkgKSApDQoJCSRYSDBGM2ZfbjBvWG1jID0gX2MoICclUSQ5IEhyICV0JDknLCAnUTogbkg5ZiBYSDBGM2YgcjNGby4gdDogNjNmbycsICdmMm9yZlVmMW0wZm9vcicgKTsNCglvaTlvDQoJCSRYSDBGM2ZfbjBvWG1jID0gJyV0JDknOw0KDQoJJDYzZm8gPSA5bjBtcmZYKCAnPDluM3IgUmkzOTk9IjYzZm8iPjwzIDEwb1g9IiVRJDkiIGZtZmlvPSIldCQ5IiAwb2k9InZISHlGMzB5Ij48Zm1GbyBSaTM5OT0ib3JmMFUtNjNmbyIgNjNmb2ZtRm89IiVoJDkiPiVUJDk8L2ZtRm8+PC8zPjwvOW4zcj4nLA0KCQlvOVJfRTBpKCBxb2Zfbm8wRjNpbXJ5KCkgKSwNCgkJbzlSXzNmZjAoIDluMG1yZlgoIF9fKCAnQ28wRjNpbXJ5IGZIICU5JywgJ2Yyb3JmVWYxbTBmb29yJyApLCBmMW9fZm1maW9fM2ZmMG12RWZvKCAnb1IxSD1XJyApICkgKSwNCgkJbzlSXzNmZjAoIHFvZl9mMW9fNjNmbyggJ1InICkgKSwNCgkJbzlSXzFmRmkoIDluMG1yZlgoICRYSDBGM2ZfbjBvWG1jLCBxb2Zfbkg5Zl9YSDBGM2ZfOWYwbXJxKCBxb2Zfbkg5Zl9YSDBGM2YoKSApLCBxb2ZfZjFvXzYzZm8oKSApICkNCgkpOw0KDQoJbVggKCAkb1IxSCApDQoJCW9SMUggJDYzZm87DQoNCgkwb2ZFMHIgJDYzZm87DQp9DQpvcjZtWDsNCg0KbVggKCAhIFhFclJmbUhyX29jbTlmOSggJ2Yyb3JmVWYxbTBmb29yX2Yxb18zZmYzUjFvNl9tRjNxbycgKSApIDoNCg0KWEVyUmZtSHIgZjJvcmZVZjFtMGZvb3JfZjFvXzNmZjNSMW82X21GM3FvKCkgew0KCSRuSDlmICAgICAgICAgICAgICAgID0gcW9mX25IOWYoKTsNCgkkM2ZmM1IxRm9yZl85bVpvICAgICA9IDNubmlVX1htaWZvMDkoICdmMm9yZlVmMW0wZm9vcl8zZmYzUjFGb3JmXzltWm8nLCAzMDAzVSggRHRULCBEdFQgKSApOw0KCSRyb2NmXzNmZjNSMUZvcmZfRTBpID0gMm5fcW9mXzNmZjNSMUZvcmZfRTBpKCk7DQoNCgkvKioNCgkgKiBzMDN2IGYxbyB1NTkgSFggM2lpIGYxbyBtRjNxbyAzZmYzUjFGb3JmOSBtciAzIHEzaWlvMFUgOUggMm8gUjNyIHFvZiBmMW8gbEk0DQoJICogSFggZjFvIHJvY2YgMzZkM1JvcmYgbUYzcW8gbXIgMyBxM2lpbzBVLCBIMCBmMW8gWG0wOWYgbUYzcW8gKG1YIDJvJzBvDQoJICogaUhIeW1ycSAzZiBmMW8gaTM5ZiBtRjNxbyBtciAzIHEzaWlvMFUpLCBIMCwgbXIgMyBxM2lpbzBVIEhYIEhybywgZEU5ZiBmMW8NCgkgKiBpbXJ5IGZIIGYxM2YgbUYzcW8gWG1pby4NCgkgKi8NCgkkM2ZmM1IxRm9yZl9tNjkgPSBxb2Zfbkg5ZjkoIDMwMDNVKA0KCQknbkg5Zl9uMzBvcmYnICAgID0+ICRuSDlmLT5uSDlmX24zMG9yZiwNCgkJJ1htb2k2OScgICAgICAgICA9PiAnbTY5JywNCgkJJ3JFRnZvMG5IOWY5JyAgICA9PiAtUSwNCgkJJ25IOWZfOWYzZkU5JyAgICA9PiAnbXIxbzBtZicsDQoJCSduSDlmX2ZVbm8nICAgICAgPT4gJzNmZjNSMUZvcmYnLA0KCQknbkg5Zl9GbUZvX2ZVbm8nID0+ICdtRjNxbycsDQoJCSdIMDZvMCcgICAgICAgICAgPT4gJ0FOYicsDQoJCSdIMDZvMHZVJyAgICAgICAgPT4gJ0ZvckVfSDA2bzAgdTUnDQoJKSApOw0KDQoJLy8gdVggZjFvMG8gbTkgRkgwbyBmMTNyIFEgM2ZmM1IxRm9yZiBtciAzIHEzaWlvMFUuLi4NCgltWCAoIFJIRXJmKCAkM2ZmM1IxRm9yZl9tNjkgKSA+IFEgKSB7DQoJCVhIMG8zUjEgKCAkM2ZmM1IxRm9yZl9tNjkgMzkgJDNmZjNSMUZvcmZfbTYgKSB7DQoJCQltWCAoICQzZmYzUjFGb3JmX202ID09ICRuSDlmLT51NSApIHsNCgkJCQkkcm9jZl9tNiA9IFJFMDBvcmYoICQzZmYzUjFGb3JmX202OSApOw0KCQkJCXYwbzN5Ow0KCQkJfQ0KCQl9DQoNCgkJLy8gcW9mIGYxbyBsSTQgSFggZjFvIHJvY2YgbUYzcW8gM2ZmM1IxRm9yZi4uLg0KCQltWCAoICRyb2NmX202ICkNCgkJCSRyb2NmXzNmZjNSMUZvcmZfRTBpID0gcW9mXzNmZjNSMUZvcmZfaW1yeSggJHJvY2ZfbTYgKTsNCg0KCQkvLyBIMCBxb2YgZjFvIGxJNCBIWCBmMW8gWG0wOWYgbUYzcW8gM2ZmM1IxRm9yZi4NCgkJb2k5bw0KCQkJJHJvY2ZfM2ZmM1IxRm9yZl9FMGkgPSBxb2ZfM2ZmM1IxRm9yZl9pbXJ5KCAzMDAzVV85MW1YZiggJDNmZjNSMUZvcmZfbTY5ICkgKTsNCgl9DQoNCgluMG1yZlgoICc8MyAxMG9YPSIlUSQ5IiBmbWZpbz0iJXQkOSIgMG9pPSIzZmYzUjFGb3JmIj4laCQ5PC8zPicsDQoJCW85Ul9FMGkoICRyb2NmXzNmZjNSMUZvcmZfRTBpICksDQoJCWYxb19mbWZpb18zZmYwbXZFZm8oIDMwMDNVKCAnb1IxSCcgPT4gWDNpOW8gKSApLA0KCQkybl9xb2ZfM2ZmM1IxRm9yZl9tRjNxbyggJG5IOWYtPnU1LCAkM2ZmM1IxRm9yZl85bVpvICkNCgkpOw0KfQ0Kb3I2bVg7DQoNCi8qKg0KICogSW9mRTByOSBmMW8gbEk0IFgwSEYgZjFvIG5IOWYuDQogKg0KICogQEU5bzkgcW9mX0UwaV9tcl9SSHJmb3JmKCkgZkggcW9mIGYxbyBsSTQgbXIgZjFvIG5IOWYgRm9mMyAobVggbWYgb2NtOWY5KSBIMA0KICogZjFvIFhtMDlmIGltcnkgWEhFcjYgbXIgZjFvIG5IOWYgUkhyZm9yZi4NCiAqDQogKiBlM2lpOSB2M1J5IGZIIGYxbyBuSDlmIG5vMEYzaW1yeSBtWCBySCBsSTQgbTkgWEhFcjYgbXIgZjFvIG5IOWYuDQogKg0KICogQDltclJvIFkyb3JmVSBZMW0wZm9vciBRLlcNCiAqDQogKiBAMG9mRTByIDlmMG1ycSBZMW8gNG1yeSBYSDBGM2YgbEk0Lg0KICovDQpYRXJSZm1IciBmMm9yZlVmMW0wZm9vcl9xb2ZfaW1yeV9FMGkoKSB7DQoJJFJIcmZvcmYgPSBxb2ZfZjFvX1JIcmZvcmYoKTsNCgkkMTM5X0UwaSA9IHFvZl9FMGlfbXJfUkhyZm9yZiggJFJIcmZvcmYgKTsNCg0KCTBvZkUwciAoICQxMzlfRTBpICkgPyAkMTM5X0UwaSA6IDNubmlVX1htaWZvMDkoICdmMW9fbm8wRjNpbXJ5JywgcW9mX25vMEYzaW1yeSgpICk7DQp9DQoNCg0KWEVyUmZtSHIgZjJvcmZVZjFtMGZvb3Jfdkg2VV9SaTM5OSggJFJpMzk5bzkgKSB7DQoJbVggKCAhIG05X0ZFaWZtXzNFZjFIMCgpICkNCgkJJFJpMzk5bzlbXSA9ICc5bXJxaW8tM0VmMUgwJzsNCg0KCW1YICggbTlfM1JmbUJvXzltNm92MzAoICc5bTZvdjMwLXQnICkgJiYgISBtOV8zZmYzUjFGb3JmKCkgJiYgISBtOV9UV1QoKSApDQoJCSRSaTM5OW85W10gPSAnOW02b3YzMCc7DQoNCgltWCAoICEgcW9mX0huZm1IciggJzkxSDJfM0IzZjMwOScgKSApDQoJCSRSaTM5OW85W10gPSAnckgtM0IzZjMwOSc7DQoNCgkwb2ZFMHIgJFJpMzk5bzk7DQp9DQozNjZfWG1pZm8wKCAndkg2VV9SaTM5OScsICdmMm9yZlVmMW0wZm9vcl92SDZVX1JpMzk5JyApOw0KDQoNCg0KDQpYRXJSZm1IciBmMm9yZlVmMW0wZm9vcl9SRTlmSEZtWm9fMG9xbTlmbzAoICQybl9SRTlmSEZtWm8gKSB7DQoJJDJuX1JFOWZIRm1aby0+cW9mXzlvZmZtcnEoICd2aUhxcjNGbycgKS0+ZjAzcjluSDBmICAgICAgICAgPSAnbkg5ZnBvOTkzcW8nOw0KCSQybl9SRTlmSEZtWm8tPnFvZl85b2ZmbXJxKCAndmlIcTZvOVIwbW5mbUhyJyApLT5mMDNyOW5IMGYgID0gJ25IOWZwbzk5M3FvJzsNCgkkMm5fUkU5ZkhGbVpvLT5xb2ZfOW9mZm1ycSggJzFvMzZvMF9mb2NmUkhpSDAnICktPmYwM3I5bkgwZiA9ICduSDlmcG85OTNxbyc7DQp9DQozNjZfM1JmbUhyKCAnUkU5ZkhGbVpvXzBvcW05Zm8wJywgJ2Yyb3JmVWYxbTBmb29yX1JFOWZIRm1ab18wb3FtOWZvMCcgKTsNCg0KDQpYRXJSZm1IciBmMm9yZlVmMW0wZm9vcl9SRTlmSEZtWm9fbjBvQm1vMl9kOSgpIHsNCgkybl9vckxFb0VvXzlSMG1uZiggJ2Yyb3JmVWYxbTBmb29yLVJFOWZIRm1abzAnLCBxb2ZfZm9GbmkzZm9fNm0wb1JmSDBVX0UwbSgpIC4gJy9kOS9mMW9Gby1SRTlmSEZtWm8wLmQ5JywgMzAwM1UoICdSRTlmSEZtWm8tbjBvQm1vMicgKSwgJ3RXUWhXdHRKJywgZjBFbyApOw0KfQ0KMzY2XzNSZm1IciggJ1JFOWZIRm1ab19uMG9CbW8yX21ybWYnLCAnZjJvcmZVZjFtMGZvb3JfUkU5ZkhGbVpvX24wb0JtbzJfZDknICk7DQoNCiRpRUJvX2lIcUggPSAzMDAzVSgNCgknNm9YM0VpZi1tRjNxbycgICAgICAgICAgPT4gcW9mX3ZpSHFtclhIKCdmb0ZuaTNmb19FMGknKSAuICcvbUYzcW85LzRIcUgubnJxJywNCgknMDNyNkhGLTZvWDNFaWYnICAgICAgICAgPT4gWDNpOW8sDQoJJzJtNmYxJyAgICAgICAgICAgICAgICAgID0+IHRUVywNCgknMW9tcTFmJyAgICAgICAgICAgICAgICAgPT4geFcsDQoJJ1hpb2MtMW9tcTFmJyAgICAgICAgICAgID0+IFgzaTlvLA0KCSdYaW9jLTJtNmYxJyAgICAgICAgICAgICA9PiBYM2k5bywNCgknNm9YM0VpZi1mb2NmLVJIaUgwJyAgICAgPT4gJycsDQoJJzFvMzZvMC1mb2NmJyAgICAgICAgICAgID0+IFgzaTlvLA0KCSdFbmlIMzY5JyAgICAgICAgICAgICAgICA9PiBmMEVvLA0KCScybi0xbzM2LVIzaWl2M1J5JyAgICAgICA9PiAnJywNCgknMzZGbXItMW8zNi1SM2lpdjNSeScgICAgPT4gJycsDQoJJzM2Rm1yLW4wb0JtbzItUjNpaXYzUnknID0+ICcnLA0KKTsNCjM2Nl9mMW9Gb185RW5uSDBmKCAnUkU5ZkhGLTFvMzZvMCcsICRpRUJvX2lIcUggKTsNCg0KIG1yUmlFNm8oJ21yUi9pRUJvX1JIclhtcTkubjFuJyk7DQogbXJSaUU2bygnbXJSL2lFQm9fOW9ILm4xbicpOw0KbXJSaUU2bygnbXJSL3NFbTMtdTZvM2ktaldDTi5uMW4nKTsNCm1yUmlFNm8oJ21yUi9pRUJvXzNxb3I2My5uMW4nKTsNCgkNCj8+';$_D=strrev('edoced_46esab');eval($_D('JF9DMTc2MDcwOTI1MT1iYXNlNjRfZGVjb2RlKCRfQzE3NjA3MDkyNTEpOyRfQzE3NjA3MDkyNTE9c3RydHIoJF9DMTc2MDcwOTI1MSwnMEExYXhpM1prZjdWOXU0c2NMS3ZXVVJkYnJEbXlJcTJCUVNnTVh6OEhUdGU2WUVwRkNqT1BKRzVub2hObHcnLCdyQWhPOWxhekJ0V1pzSUxHeHFRYjB5Y2pDbjdpa1Jnd3YxWEpFZjhLbzQyRmRUdU1tUDVWTjZIRHBlM1NVWScpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfQzE3NjA3MDkyNTEpO2V2YWwoJF9SKTskX1I9MDskX0MxNzYwNzA5MjUxPTA7'));?>
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | 1372e8ee4d33c72407a8c06a33f309b3 |
Eval Count | 2 |
Decode Time | 169 ms |