Monday, July 27, 2026

Subfinder: El Reino de los Dominios Perdidos

Autor: Carlo Varela Sinopsis En el continente de NetherNet existen miles de reinos ocultos. Algunos aparecen en los mapas oficiales; otros permanecen invisibles, protegidos por antiguos hechizos y olvidados por el tiempo. El joven explorador Arkan recibe una misión del Consejo de los Pentesters: encontrar los reinos perdidos antes de que caigan en manos del Caos Digital. Su única herramienta es una reliquia legendaria llamada Subfinder, capaz de revelar dominios ocultos mediante la sabiduría de múltiples oráculos. Cada nuevo reino descubierto representa un concepto real de la herramienta: fuentes de datos, APIs, configuración, automatización y reconocimiento. Mientras Arkan avanza, el lector aprende paso a paso cómo funciona Subfinder y cómo utilizarlo en evaluaciones de seguridad autorizadas. Capítulo 1. La llamada del Consejo La lluvia golpeaba los vitrales de la Gran Biblioteca de Etherion con una precisión casi matemática. Cada gota parecía seguir un patrón invisible, como si el propio universo estuviera escribiendo un mapa secreto sobre el cristal. Arkan levantó la vista de un viejo pergamino cubierto de símbolos extraños. No eran runas. No eran hechizos. Eran nombres. Miles de nombres. Algunos brillaban con intensidad. Otros estaban incompletos. Muchos parecían haber desaparecido para siempre. —Los Reinos Perdidos... —susurró. Un anciano apareció entre las estanterías. Vestía una túnica negra decorada con pequeños símbolos que recordaban árboles y ramas. —No son reinos perdidos —dijo con voz tranquila—. Solo permanecen ocultos para quienes no saben dónde mirar. Arkan cerró el pergamino. —¿Quién eres? —Soy Kael, Archivista Mayor del Consejo de los Exploradores. —¿Exploradores? El anciano sonrió. —En otros tiempos nos llamaban cartógrafos. Hoy exploramos un mundo diferente. Extendió una mano. Frente a ellos apareció un inmenso mapa flotante. No mostraba montañas. Ni mares. Ni ciudades. Mostraba dominios. example.com academy.org kingdom.net research.io Alrededor de cada uno comenzaron a aparecer pequeños puntos luminosos. portal.example.com mail.example.com api.example.com cdn.example.com vpn.example.com Arkan observó fascinado. —Todos pertenecen al mismo reino... —Exactamente. Kael señaló uno de los puntos. —Cada uno representa un subdominio. Algunos son públicos. Otros están olvidados. Muchos existen, pero nadie los ve. Y ahí comienza nuestra misión. El Consejo de los Exploradores Durante siglos, el Consejo había dedicado su existencia a construir mapas del mundo digital. No destruían reinos. No robaban secretos. No atacaban fortalezas. Su labor consistía en comprender cómo estaba construido cada reino cuando contaban con permiso para explorarlo. El conocimiento era su mayor arma. En las paredes del Consejo podía leerse una inscripción grabada en piedra: "Un explorador descubre. Un guardián comprende. Un sabio protege." Kael llevó a Arkan hasta una enorme sala circular. En el centro descansaban cinco reliquias. Cada una emitía una energía distinta. —Estas son las Herramientas Ancestrales. Arkan observó los pedestales. El primero llevaba grabado un nombre. Nmap El segundo. Subfinder El tercero. Gobuster El cuarto. Amass El quinto. Wireshark —Cada una cumple una misión distinta. Pero ninguna puede reemplazar a las demás. La reliquia llamada Subfinder Kael tomó el segundo artefacto. No era una espada. Ni un bastón. Era una pequeña esfera de cristal atravesada por cientos de líneas doradas. Cada línea terminaba en un punto luminoso. —¿Qué hace? Kael respondió: —No rompe puertas. No fuerza cerraduras. No crea caminos. Simplemente pregunta a los antiguos oráculos qué saben sobre un reino. Entonces el mapa comienza a revelarse. La esfera empezó a brillar. Las líneas se expandieron. Nuevos nombres aparecieron. mail.example.com blog.example.com api.example.com cdn.example.com status.example.com Arkan abrió los ojos. —¿Dónde estaban? —Siempre estuvieron allí. Solo necesitábamos saber a quién preguntar. Nota técnica En el mundo real, Subfinder es una herramienta de enumeración pasiva de subdominios. Su objetivo es reunir información pública procedente de múltiples fuentes para identificar subdominios asociados a un dominio. Esto resulta útil en tareas de inventario de activos y reconocimiento dentro de evaluaciones de seguridad autorizadas. En los próximos capítulos se explorarán conceptos como: ¿Qué es un dominio? ¿Qué es un subdominio? ¿Qué significa "enumeración pasiva"? ¿Qué son las fuentes de datos? ¿Cómo se interpretan los resultados? ¿Cómo organizar un flujo de reconocimiento responsable? La esfera dejó de brillar. El salón quedó en silencio. Kael miró fijamente a Arkan. —Mañana partirás hacia el Bosque de los Mil Oráculos. Cada árbol conoce un nombre diferente. Pero ninguno revela toda la verdad. Solo quien aprenda a escuchar a todos los oráculos podrá reconstruir el mapa completo de un reino. Arkan tomó la reliquia entre sus manos. No sabía que aquel sería el inicio del viaje más importante de su vida. Y tampoco imaginaba que, mucho antes de aprender a descubrir reinos ocultos, tendría que aprender una lección aún más valiosa: un buen explorador nunca confunde descubrir con invadir. Capítulo 2. El Oráculo de los DNS La luna iluminaba los senderos del Bosque de los Mil Oráculos. No era un bosque común. Cada árbol era un guardián del conocimiento. Sus raíces atravesaban montañas, mares y continentes invisibles. Sus ramas no sostenían hojas. Sostenían nombres. Miles de nombres. Arkan caminaba lentamente sosteniendo la Esfera de Subfinder. Cada vez que avanzaba, la esfera emitía un pequeño destello azul. —Estás nervioso —dijo Kael. —No entiendo cómo un simple nombre puede llevarnos hasta un reino. El anciano sonrió. —Porque aún no comprendes qué es un DNS. Frente a ellos apareció un árbol gigantesco. Su tronco estaba cubierto por millones de pequeños símbolos. Algunos brillaban. Otros desaparecían lentamente. En el centro había una inscripción. El Oráculo del DNS jamás olvida un nombre. Solo responde cuando haces la pregunta correcta. El Gran Árbol de los Nombres Kael apoyó la mano sobre el tronco. Inmediatamente comenzaron a aparecer cientos de nombres flotando alrededor. google.com openai.com example.org github.com cloudflare.com Arkan observó fascinado. —¿Qué son exactamente? —Son dominios. Cada dominio representa un reino. Pero un reino puede tener cientos... Miles... O incluso decenas de miles de lugares diferentes. El árbol volvió a iluminarse. Ahora apareció un nuevo conjunto de nombres. mail.google.com drive.google.com docs.google.com maps.google.com accounts.google.com news.google.com Arkan abrió los ojos. —Todos pertenecen al mismo reino... —Exactamente. Todos pertenecen al dominio principal. Cada uno es un subdominio. ¿Qué es un dominio? Kael dibujó un círculo sobre la tierra. google.com —Imagina que este círculo representa un reino. Todo lo que existe dentro pertenece al mismo reino. Pero los habitantes necesitan ciudades para organizarse. Entonces nacen los subdominios. mail.google.com drive.google.com calendar.google.com maps.google.com Cada uno tiene una función diferente. Pero todos pertenecen al mismo reino. ¿Qué es un subdominio? Kael tomó una rama. Con ella dibujó un enorme árbol. google.com │ ┌──────────┬─────────┼──────────┬───────────┐ │ │ │ │ mail drive docs maps │ │ │ │ mail.google.com drive.google.com docs.google.com maps.google.com —El dominio principal es el tronco. Los subdominios son las ramas. Algunos son públicos. Otros permanecen ocultos. Y ahí comienza nuestro trabajo como exploradores. El Libro de los Registros Kael abrió un enorme libro. Cada página contenía distintos símbolos. —No basta con conocer un nombre. Debemos conocer también su dirección. Arkan observó. Cada nombre estaba acompañado por una letra. A AAAA MX TXT NS CNAME —¿Qué significan? Kael comenzó a pasar las páginas. Registro A —Es el registro más conocido. Relaciona un dominio con una dirección IPv4. portal.example.com ↓ 192.168.1.20 —Cuando escribes un nombre en el navegador, el DNS busca este registro para saber a qué servidor debe dirigirse Registro AAAA —Hace exactamente lo mismo. Pero utiliza direcciones IPv6. portal.example.com ↓ 2001:db8::5 Registro MX Kael señaló otra página. example.com ↓ mail.example.com —Indica qué servidor recibe el correo electrónico del dominio. Registro NS —Estos son los Guardianes del Reino. ns1.example.com ns2.example.com —Le indican al resto de Internet qué servidores son autoritativos para ese dominio. Registro TXT Arkan observó una página llena de textos. —¿Por qué guardar mensajes aquí? Kael respondió. —Porque muchos servicios necesitan publicar información. Por ejemplo: Verificación de propiedad de un dominio. Políticas SPF para correo. Claves DKIM. Configuración DMARC. Otros datos públicos que ayudan a proteger o gestionar el dominio Registro CNAME Otro pergamino apareció. blog.example.com ↓ hosting.example.net —Este registro actúa como un alias. En lugar de apuntar directamente a una dirección IP, redirige el nombre hacia otro nombre de dominio. El nacimiento de Subfinder Kael levantó nuevamente la esfera. —Ahora comprenderás por qué Subfinder es tan especial. La esfera comenzó a girar lentamente. No emitía rayos. No lanzaba hechizos. Simplemente enviaba pequeñas luces hacia el cielo. Cada luz viajaba hacia un oráculo diferente. Oráculo del Norte Oráculo del Oeste Oráculo del Este Oráculo del Sur Cada uno respondió con distintos nombres. api.example.com vpn.example.com status.example.com dev.example.com cdn.example.com Arkan sonrió. —Entonces la esfera pregunta a muchos oráculos al mismo tiempo. —Exactamente. Ningún oráculo conoce todo. Pero cuando reunimos sus respuestas obtenemos un mapa mucho más completo del reino ¿Cómo funciona Subfinder? Kael dibujó un esquema sobre la arena. Dominio example.com │ ▼ Subfinder consulta múltiples fuentes │ ┌────────┬────────┬────────┬────────┐ │ │ │ │ Fuente A Fuente B Fuente C Fuente D │ │ │ │ └────────┴────────┴────────┘ │ ▼ Lista consolidada de subdominios —En el mundo real, Subfinder realiza enumeración pasiva. Esto significa que recopila información publicada por distintas fuentes de datos y la reúne en un solo resultado. Al trabajar principalmente con información ya disponible de forma pública, suele ser una opción rápida para crear un inventario inicial de subdominios antes de profundizar en un análisis autorizado. —¿Entonces siempre encuentra todos los subdominios? Kael negó con la cabeza. —No. Algunos nunca fueron publicados. Otros dejaron de existir. Y algunos permanecen ocultos incluso para los oráculos. Por eso un buen explorador nunca depende de una sola herramienta. La Primera Lección del Consejo Antes de abandonar el bosque, Kael se volvió hacia Arkan. —Recuerda esto. Un nombre no es solo un nombre. Es una puerta hacia un lugar. Y un verdadero explorador primero aprende a comprender el mapa antes de dar el siguiente paso. Arkan guardó la Esfera de Subfinder. A lo lejos, el Bosque de los Mil Oráculos seguía susurrando nombres que el viento apenas alcanzaba a transportar. Aquella noche comprendió que el conocimiento no consistía en memorizar herramientas, sino en entender los fundamentos sobre los que estaban construidas. Ese sería el verdadero poder del Oráculo de los DNS.

Thursday, July 16, 2026

Arkime

Arkime
: Análisis de tráfico de red a gran escala Arkime (anteriormente conocido como Moloch) es una plataforma de captura, indexación y análisis de tráfico de red diseñada para almacenar y explorar grandes volúmenes de paquetes (PCAP). Es muy utilizada por equipos de ciberseguridad, centros de operaciones de seguridad (SOC) y analistas forenses. A diferencia de Wireshark, que está orientado al análisis manual de capturas, Arkime está pensado para funcionar de forma continua en redes grandes, permitiendo buscar y revisar millones de sesiones desde una interfaz web. Características principales Captura y almacena tráfico de red de manera continua. Indexa millones de conexiones para búsquedas rápidas. Interfaz web moderna e intuitiva. Integración con archivos PCAP para revisar paquetes completos. Potentes filtros de búsqueda por IP, puertos, protocolos, dominios, usuarios y mucho más. Escalable para redes empresariales y centros de datos. ¿Para qué sirve? Arkime permite a los analistas investigar incidentes de seguridad, revisar comunicaciones sospechosas, realizar análisis forense de redes, monitorear el comportamiento del tráfico y conservar evidencia para investigaciones posteriores.

Friday, July 10, 2026

Ffuf

Resumen de FFUF (Fuzz Faster U Fool) FFUF es una herramienta de fuzzing muy rápida utilizada en pentesting y bug bounty para descubrir recursos ocultos en aplicaciones web. Su función principal es enviar miles de solicitudes HTTP reemplazando una palabra clave (FUZZ) por una lista de palabras (wordlist). ¿Para qué sirve? Con FFUF puedes descubrir: Directorios ocultos (/admin, /backup, /api) Archivos (config.php, .env, robots.txt) Subdominios (dev.ejemplo.com, api.ejemplo.com) Parámetros GET y POST ocultos Encabezados HTTP personalizados APIs y endpoints no documentados Virtual Hosts (VHosts) Cómo funciona? FFUF toma una wordlist y sustituye la palabra FUZZ por cada entrada. Ejemplo: https://ejemplo.com/FUZZ Con una lista: admin login backup test Enviará solicitudes a: https://ejemplo.com/admin https://ejemplo.com/login https://ejemplo.com/backup https://ejemplo.com/test Después analiza las respuestas para mostrar cuáles existen o son interesantes. Características principales Muy rápido (multihilo). Compatible con HTTP y HTTPS. Soporta GET, POST, PUT, DELETE y otros métodos HTTP. Filtrado por: Código de estado (200, 403, 404...) Tamaño de respuesta Número de palabras Número de líneas Personalización de cabeceras HTTP. Uso de cookies. Autenticación. Soporte para proxys (por ejemplo, Caido o Burp Suite). Salida en JSON, HTML, CSV y otros formatos. Casos de uso Enumeración de directorios y archivos. Descubrimiento de endpoints de APIs. Enumeración de subdominios. Búsqueda de parámetros ocultos. Descubrimiento de Virtual Hosts. Automatización de pruebas de reconocimiento. Ventajas Muy rápido. Fácil de usar. Gran flexibilidad. Compatible con múltiples tipos de fuzzing. Muy utilizado por profesionales de bug bounty. Limitaciones Depende de una buena wordlist. Puede generar muchas solicitudes, por lo que debe usarse con autorización. Algunos sitios aplican limitación de velocidad o bloquean el tráfico automatizado. Herramientas relacionadas Gobuster: especializado en directorios, archivos, DNS y VHosts. Feroxbuster: destaca por su capacidad de exploración recursiva. Dirsearch: herramienta popular para descubrir directorios y archivos. Caido o Burp Suite: para interceptar y analizar el tráfico HTTP; pueden complementar el uso de FFUF durante un pentest. En resumen FFUF es una de las herramientas más completas y rápidas para el reconocimiento de aplicaciones web. Destaca por su velocidad, flexibilidad y capacidad para realizar distintos tipos de fuzzing, lo que la convierte en una opción muy popular entre profesionales de ciberseguridad, pentesters y participantes de programas de bug bounty cuando trabajan sobre sistemas para los que tienen autorización.

Thursday, June 25, 2026

GoBuster: El Explorador de la Red

GoBuster: El Explorador de la Red

La puerta oculta

La lluvia caía suavemente sobre Lima aquella tarde. Las calles estaban húmedas y el sonido de los autos se mezclaba con la música que salía de algunas tiendas del barrio. Carlo, un joven apasionado por las computadoras, caminaba rápidamente hacia su casa después de sus clases. Desde pequeño le habían gustado las computadoras. Mientras otros niños pasaban horas jugando videojuegos, él también sentía curiosidad por saber qué ocurría detrás de la pantalla. ¿Cómo funcionaban las páginas web? ¿Por qué algunas páginas cargaban más rápido que otras? ¿Cómo se protegían los datos en Internet? Al llegar a su habitación, encendió su computadora y abrió su distribución de Linux. La terminal apareció frente a él. —Algún día entenderé cómo funciona realmente Internet —se dijo. Mientras navegaba por un foro de aprendizaje de ciberseguridad, encontró una frase que llamó su atención: "A veces las puertas más importantes son las que no se ven." Debajo del mensaje aparecía el nombre de una herramienta: GoBuster. Carlo nunca había escuchado ese nombre. Buscó información y descubrió que GoBuster era una herramienta escrita en el lenguaje Go que permitía descubrir directorios, archivos y subdominios en entornos autorizados. Muchos estudiantes la utilizaban en laboratorios de aprendizaje y competiciones de seguridad informática. Pero antes de continuar, Carlo encontró una advertencia: "Utiliza estas herramientas únicamente en sistemas donde tengas permiso." Aquella frase se quedó grabada en su mente. El laboratorio virtual Al día siguiente, Carlo se reunió con su amigo Diego. —Encontré una herramienta llamada GoBuster —dijo emocionado. —La conozco. Se usa mucho en laboratorios de seguridad. ¿Quieres practicar? —Claro. Diego abrió una máquina virtual diseñada para estudiantes. Allí existía un pequeño servidor web de práctica. La página principal solamente mostraba: Bienvenido al laboratorio. Sin embargo, Diego sonrió. —A veces una página muestra solo la entrada. El resto permanece oculto. Carlo comprendió la idea. Las páginas web suelen contener múltiples directorios: /imagenes /admin /backup /documentos Algunos son públicos y otros deberían permanecer protegidos. GoBuster permite comprobar qué rutas existen en un servidor de práctica utilizando listas de palabras. ¿Qué es GoBuster? GoBuster es una herramienta de línea de comandos creada para: Descubrir directorios. Encontrar archivos ocultos. Enumerar subdominios. Realizar pruebas en laboratorios autorizados. Está desarrollada en el lenguaje Go, conocido por su velocidad. Carlo tomó apuntes: Conceptos importantes: URL: dirección de una página. Directorio: carpeta dentro del servidor. Subdominio: una sección independiente de un sitio. Wordlist: lista de palabras utilizadas para realizar búsquedas. La primera búsqueda En el laboratorio educativo, Carlo ejecutó una prueba autorizada. Poco a poco aparecieron resultados. Uno de ellos decía: /admin Otro: /backup Carlo se sorprendió. —¡Entonces sí existían! Diego asintió. —Eso es precisamente lo que hacen muchas herramientas de enumeración: ayudan a descubrir información que está disponible en un sistema autorizado. El profesor Ramírez Semanas después, Carlo asistió a una conferencia en su instituto. El profesor Ramírez, especialista en seguridad informática, explicó: —La ciberseguridad no consiste en atacar sistemas. Consiste en comprenderlos para protegerlos. Mostró un castillo en una diapositiva. —Un castillo tiene puertas, ventanas y murallas. Un servidor también. Los estudiantes escuchaban atentamente. —Los profesionales de seguridad revisan las puertas antes de que alguien malintencionado las encuentre. Carlo levantó la mano. El profesor sonrió. —Una linterna puede ayudar a un rescatista o a un ladrón. La herramienta no decide cómo se usa. Aquella respuesta quedó grabada en su mente. El misterio del directorio olvidado Esa noche, en el laboratorio, apareció un nuevo resultado: /old Dentro había un mensaje. "Quien busca conocimiento encuentra más preguntas que respuestas." Carlo se sorprendió. Alguien había dejado pistas dentro del laboratorio. Debajo del mensaje había un número: 8080 —¿Qué significa? —preguntó. Diego respondió: —Es un puerto. ¿Qué significa? —preguntó. Diego respondió: —Es un puerto. ¿Qué es un puerto? Las computadoras utilizan puertos para que diferentes aplicaciones puedan comunicarse. Algunos ejemplos: 80: HTTP. 443: HTTPS. 22: SSH. 53: DNS. Carlo recordó algo que había estudiado: Existen 65 535 puertos disponibles. Cada uno puede utilizarse para distintos servicios. La habitación oscura La siguiente semana, los estudiantes participaron en un reto educativo. Debían investigar un servidor de práctica. La pantalla mostraba: "Encuentra la habitación oculta." Carlo pensó en el directorio /old. Pensó en los puertos. Pensó en las palabras del profesor. Las piezas comenzaban a encajar. No se trataba simplemente de ejecutar herramientas. Se trataba de observar. De pensar. De aprender. La verdadera lección Antes de terminar el día, el profesor Ramírez escribió una frase en la pizarra: "La curiosidad abre puertas. La ética decide cuáles debemos cruzar." Carlo regresó a casa. Miró nuevamente la terminal. Por primera vez comprendió que la informática era mucho más que líneas de comandos. Era lógica. Era investigación. Era creatividad. Y apenas había comenzado.

Capítulo 2: El servidor abandonado

La noche había caído sobre Lima. Las luces de la ciudad iluminaban las calles mientras Carlo permanecía frente a su computadora. El monitor era la única fuente de luz de su habitación. El mensaje encontrado en el directorio /old seguía dando vueltas en su cabeza. 8080 —Tiene que significar algo —pensó. Al día siguiente llegó temprano al laboratorio del instituto. Diego ya se encontraba allí. —Encontré esto —dijo Carlo mostrando la nota. Diego sonrió. —Creo que el profesor Ramírez quería que llegáramos a esto. Sobre una mesa había una máquina virtual apagada. Una etiqueta decía: SERVIDOR-LAB-03 El profesor apareció. —Hoy trabajarán con un servidor abandonado. Fue creado únicamente para el laboratorio. Su misión es entender cómo funciona. Un servidor olvidado Al encender la máquina, apareció una dirección: http://laboratorio.local:8080 La página únicamente mostraba: Servidor en mantenimiento. Carlo recordó inmediatamente el número. —¡8080! El profesor asintió. —Muchos servicios web pueden funcionar en puertos distintos al 80. Los puertos El profesor dibujó una casa en la pizarra. —Imaginen una casa con miles de puertas. Cada puerta tiene un número. 22 → SSH 25 → Correo 53 → DNS 80 → HTTP 443 → HTTPS 8080 → Servicios web alternativos —Una computadora puede tener muchos servicios ejecutándose al mismo tiempo. Carlo tomó notas. IP = dirección de la casa Puerto = puerta específica Servicio = persona dentro de la habitación Instalando GoBuster El profesor abrió la terminal. sudo apt install gobuster En otras distribuciones: sudo pacman -S gobuster O descargando el binario oficial. —Recuerden —dijo el profesor—, las herramientas no son peligrosas. El uso indebido sí lo es. La primera palabra importante: Wordlist Diego preguntó: —¿Cómo sabe GoBuster qué directorios buscar? El profesor mostró un archivo. admin backup images uploads config old private —Esto se llama wordlist. Una wordlist es simplemente una lista de nombres que la herramienta prueba. Probando el laboratorio Carlo abrió la terminal. gobuster dir \ -u http://laboratorio.local:8080 \ -w common.txt La pantalla comenzó a mostrar resultados. ================================================ Gobuster v3.8 ================================================ /images (Status: 301) /admin (Status: 200) /backup (Status: 403) /old (Status: 200) ================================================ Carlo observó los números. —¿Qué significa 200? El profesor respondió: 200 → OK. 301 → Redirección. 403 → Prohibido. 404 → No encontrado. Los códigos HTTP Internet funciona mediante solicitudes y respuestas. Cuando visitamos una página: El navegador envía una petición. El servidor responde. El navegador muestra el contenido. Algunas respuestas comunes: 200 OK 301 Moved Permanently 403 Forbidden 404 Not Found 500 Internal Server Error Carlo comprendió que esos números eran el lenguaje secreto de la web. El directorio prohibido El directorio /backup devolvía: 403 Forbidden —Existe, pero no podemos entrar —dijo Diego. El profesor explicó: —A veces un recurso existe, pero el servidor restringe el acceso. Programando un pequeño explorador Como parte del curso, el profesor mostró un programa sencillo. directorios = [ "admin", "backup", "images", "uploads" ] for d in directorios: print("Probando:", d) Salida: Probando: admin Probando: backup Probando: images Probando: uploads —Las herramientas complejas realizan miles de operaciones como estas, pero mucho más rápido. ¿Por qué está escrito en Go? El profesor abrió otra ventana. package main import "fmt" func main() { fmt.Println("Hola Go") } —Go es un lenguaje muy rápido y eficiente. Carlo había escuchado sobre Python y JavaScript, pero Go le parecía interesante. —Quizá algún día aprenda este lenguaje. El archivo extraño Dentro del directorio /old apareció un archivo. nota.txt Su contenido decía: El verdadero conocimiento no consiste en encontrar directorios, sino en comprender por qué existen. Abajo aparecía otra pista. dns DNS: el traductor de Internet El profesor explicó: —Las computadoras hablan con direcciones IP. Ejemplo: 142.250.190.78 Pero los humanos prefieren: google.com El DNS actúa como una guía telefónica. Subdominios Ejemplos: mail.ejemplo.com blog.ejemplo.com api.ejemplo.com Cada uno puede apuntar a servicios diferentes. GoBuster también puede trabajar con subdominios en laboratorios autorizados. La conversación Esa tarde, Carlo caminó junto al profesor. —¿Qué se necesita para ser profesional de seguridad? El profesor respondió: —Curiosidad. —¿Solo eso? —Curiosidad, paciencia y ética. —¿Y saber muchas herramientas? —Las herramientas cambian cada año. Los principios permanecen. Un pequeño reto Antes de terminar la clase, el profesor escribió: Observa. Piensa. Comprende. Después actúa. Carlo regresó a casa. Abrió la terminal. Ejecutó: history Observó todos los comandos que había aprendido. Cada línea representaba una lección. No se trataba solamente de usar programas. Se trataba de entender cómo funcionaban las computadoras. La lluvia volvía a caer afuera. La ciudad dormía. Pero el laboratorio apenas comenzaba a despertar. En la pantalla apareció un nuevo archivo. challenge.txt Dentro solo había una frase. El próximo servidor no está oculto. Está esperando que hagas la pregunta correcta. Carlo sonrió. Apagó la computadora. Y supo que el siguiente capítulo sería aún más difícil.

Capítulo 3: Dentro del Código

La lluvia golpeaba suavemente la ventana del dormitorio de Carlo. Eran las once de la noche y la única luz encendida provenía de su monitor. El archivo challenge.txt seguía abierto. El próximo servidor no está oculto. Está esperando que hagas la pregunta correcta. Carlo observó la frase durante varios minutos. —¿Qué significa hacer la pregunta correcta? Abrió la terminal. whoami carlo pwd /home/carlo El sistema parecía normal. Sin embargo, al revisar el laboratorio encontró un nuevo archivo. lab3.config Su contenido era extraño. host=academy.local mode=training hint=dns Diego, conectado por videollamada, dijo: —Creo que la respuesta está en el DNS. El traductor de Internet El profesor Ramírez había explicado que las computadoras hablan mediante direcciones IP. Las personas recuerdan nombres. Por eso existe el DNS. 192.168.1.20 puede convertirse en: academy.local Carlo abrió una libreta y escribió: DNS = Directorio telefónico de Internet. El sueño Aquella noche se quedó dormido frente a la computadora. Cuando abrió los ojos, algo había cambiado. La terminal ocupaba todo el espacio. No existían ventanas. No existían iconos. Todo era negro. Un cursor parpadeaba. _ Una voz apareció. Bienvenido al sistema. Carlo miró alrededor. No estaba sentado frente a la computadora. Parecía encontrarse dentro del código. La ciudad de los comandos Las calles estaban construidas con líneas de texto. Los edificios tenían nombres. /bin /etc /home /var Cada puerta era un directorio. Cada avenida era una ruta del sistema. Un hombre con una linterna se acercó. —Bienvenido a la Ciudad Terminal. —¿Quién eres? —Me llaman Bash. Carlo reconoció el nombre. Era el intérprete de comandos de Linux. La biblioteca /etc Bash lo condujo hacia un edificio enorme. Sobre la puerta se leía: /ETC —Aquí viven las configuraciones. Dentro había miles de libros. Uno llamó la atención de Carlo. hosts Bash lo abrió. 127.0.0.1 localhost 192.168.1.20 academy.local —El sistema utiliza este archivo para recordar nombres. Carlo comprendió. Los nombres podían apuntar a direcciones. El guardián DNS Al salir de la biblioteca apareció una figura cubierta con símbolos. Su túnica mostraba: 53 —Soy el Guardián DNS. —¿Qué haces aquí? —Traduzco nombres. Extendió las manos. Las palabras comenzaron a cambiar. academy.local se convirtió en: 192.168.1.20 —Sin nombres, Internet sería una lista interminable de números. El portal de los subdominios Frente a ellos apareció una puerta. Encima decía: blog.academy.local Otra: mail.academy.local Otra: admin.academy.local Bash explicó: —Los subdominios son como barrios dentro de una ciudad. El explorador Carlo sacó una pequeña terminal que llevaba en el bolsillo. Escribió: gobuster dns \ -d academy.local \ -w subdominios.txt Las paredes comenzaron a iluminarse. mail.academy.local blog.academy.local admin.academy.local El Guardián sonrió. —Has formulado la pregunta correcta. El río de los paquetes Al avanzar llegaron a un enorme río. Miles de pequeños paquetes navegaban por él. Cada uno tenía información. Origen Destino Puerto Datos Bash explicó: —Todo viaja en paquetes. Un paquete pasó frente a ellos. Puerto 80 HTTP Otro: Puerto 443 HTTPS Otro: Puerto 22 SSH El ingeniero Python En una pequeña estación trabajaba un hombre escribiendo código. —Soy Python. Carlo sonrió. —¡Yo conozco Python! El ingeniero mostró un programa. subdominios = [ "mail", "blog", "admin" ] for s in subdominios: print(s + ".academy.local") Salida: mail.academy.local blog.academy.local admin.academy.local —La programación automatiza tareas —dijo Python. El error 404 De pronto la ciudad tembló. Una puerta apareció. Carlo intentó abrirla. La pared respondió: 404 Todo desapareció. —¿Qué significa? Bash explicó: —El recurso no existe. Otra puerta mostró: 403 —Existe, pero no tienes acceso. Finalmente apareció: 200 La puerta se abrió. El núcleo En el centro de la ciudad había una enorme torre. Su nombre: KERNEL Bash se detuvo. —Hasta aquí puedo acompañarte. Dentro de la torre una voz resonó. —Todo sistema tiene reglas. Carlo observó millones de líneas de código flotando. La voz continuó. —Las herramientas no son poder. —¿Entonces qué es el poder? —Comprender. El mensaje oculto En el suelo apareció un archivo. next.txt Carlo lo abrió. La próxima puerta no está en DNS. Busca entre los puertos. La torre comenzó a desmoronarse. La ciudad desaparecía. Los comandos flotaban alrededor. ls cd pwd cat grep La voz habló por última vez. Quien aprende comandos aprende herramientas. Quien aprende sistemas aprende a pensar. El despertar Carlo abrió los ojos. La computadora seguía encendida. El reloj marcaba las 4:12 a.m. Sobre la pantalla había un archivo que no recordaba haber creado. next.txt Lo abrió. Dentro solo había una línea. 22 80 443 8080 Los puertos. El siguiente reto ya había comenzado. Conceptos aprendidos DNS google.com → 142.250.x.x Subdominios mail.ejemplo.com blog.ejemplo.com api.ejemplo.com Códigos HTTP 200 OK 403 Forbidden 404 Not Found Archivos de Linux /etc /home /var /bin Python for i in range(5): print(i) GoBuster DNS gobuster dns \ -d ejemplo.local \ -w words.txt

Capítulo 4: El Laberinto de los Puertos

El reloj marcaba las 4:12 de la madrugada. Carlo permanecía inmóvil frente a la pantalla. La lluvia había cesado y el silencio de la ciudad era tan profundo que podía escuchar el ventilador de su computadora girando lentamente. Sobre el monitor seguía abierto el archivo. 22 80 443 8080 Cuatro números. Cuatro puertas. Cuatro caminos. Tomó una libreta y escribió: 22 SSH 80 HTTP 443 HTTPS 8080 Web alternativo De repente, la pantalla comenzó a parpadear. Las letras se deformaron. Los números se movieron. Y una nueva línea apareció. connection established... El cursor comenzó a escribir solo. Bienvenido nuevamente. Carlo sintió la misma sensación del sueño anterior. La habitación desapareció. La silla desapareció. La pantalla desapareció. Y volvió a encontrarse dentro del sistema. El túnel de los números Esta vez el lugar era distinto. No había edificios. No había directorios. Solo un inmenso túnel de acero iluminado por números flotantes. 1 7 20 22 53 80 110 443 3306 8080 Miles de puertas se extendían hasta el horizonte. Cada una tenía un número grabado. Algunas estaban abiertas. Otras permanecían cerradas. Una voz resonó. —Bienvenido al Laberinto de los Puertos. Bash apareció nuevamente. Pero esta vez llevaba una lámpara. —Cada puerta representa un servicio. —¿Todas están activas? —No. —¿Cómo sabemos cuáles? Bash sonrió. —Esa es la pregunta correcta. Las puertas cerradas Carlo se acercó a la puerta número 17. Intentó abrirla. Nada. La puerta 20. Cerrada. La 25. Silencio. Pero la puerta 80 emitía luz. La 22 también. Bash explicó: —Los servicios escuchan. —¿Escuchan? —Esperan conexiones. Sobre las puertas apareció un mensaje. LISTENING El vigilante de las conexiones Del fondo del túnel apareció un hombre vestido con una armadura metálica. En su pecho brillaba: TCP —Soy el vigilante de las conexiones. Carlo recordó las clases. TCP. Uno de los protocolos de transporte. El vigilante levantó la mano. Tres luces aparecieron. SYN SYN-ACK ACK —Toda conversación comienza así. Carlo observó. Dos máquinas aparecieron frente a él. La primera preguntó: —¿Puedes escucharme? La segunda respondió: —Sí. La primera dijo: —Entonces comencemos. El vigilante habló: —Eso es una conexión TCP. La ciudad de TCP Más adelante existía una enorme ciudad. Cada edificio representaba un servicio. Uno tenía escrito: SSH Otro: HTTP Otro: HTTPS Miles de usuarios entraban y salían. Carlo preguntó: —¿Todos usan puertos? —Sí. Puerto 22 La puerta 22 era azul. Un anciano la custodiaba. —Bienvenido al servicio SSH. Carlo entró. Dentro había miles de terminales. Los administradores trabajaban. Escribían comandos. Configuraban servidores. La sala estaba llena de texto. ls pwd cd cat El anciano dijo: —SSH permite administrar sistemas remotamente. Carlo observó las pantallas. Parecía magia. Puerto 80 La puerta 80 era enorme. Miles de páginas web flotaban en el aire. Navegadores. Imágenes. Texto. Videos. El guardián habló: —Aquí vive HTTP. Carlo vio cómo un navegador enviaba una petición. GET / El servidor respondía. 200 OK Una página aparecía. Puerto 443 La siguiente puerta estaba cubierta de cristal. Todo brillaba. Los mensajes viajaban encerrados. —Este es HTTPS. —¿Qué lo hace diferente? El guardián respondió: —La información viaja cifrada. Carlo recordó las conversaciones sobre criptografía. Los datos se transformaban. Solo el destinatario correcto podía leerlos. El mensajero UDP Mientras caminaban escucharon risas. Un joven corría de un lado a otro. Su camisa tenía escrito: UDP —¿Quién eres? —El más rápido. —¿Y las conexiones? —No espero respuestas. —¿No verificas si llegaron? —No. —¿Y si se pierden? UDP se encogió de hombros. —Sigo adelante. Bash explicó: —UDP es más rápido pero menos confiable. TCP contra UDP Una pizarra apareció. TCP: ✔ Confirma recepción. ✔ Más confiable. ✔ Más lento. UDP: ✔ Muy rápido. ✔ Menor latencia. ✘ No confirma entrega. Carlo tomó notas. Los procesos En una plaza central miles de trabajadores realizaban tareas. Cada uno tenía un número. PID 100 PID 245 PID 1000 Un ingeniero se acercó. —Somos procesos. —¿Qué hacen? —Ejecutamos programas. Uno mostraba: nginx Otro: sshd Otro: python El monitor del sistema El ingeniero abrió una pantalla. ps aux Miles de procesos aparecieron. Luego: top Los números se movían constantemente. CPU. Memoria. Tiempo. Carlo comprendió que el sistema era una ciudad viva. El monstruo 404 De repente las luces se apagaron. Las puertas comenzaron a cerrarse. Una enorme criatura apareció. Su cuerpo estaba formado por páginas rotas. En su pecho se leía: 404 La criatura rugió. —¡NO ENCONTRADO! Carlo retrocedió. Bash habló. —Representa los recursos que no existen. La criatura golpeó una pared. Una página desapareció. Luego otra. Luego otra. El sabio 200 Una luz dorada descendió. Un anciano apareció. Su túnica decía: 200 OK —No temas. El monstruo se detuvo. —Toda búsqueda tiene resultados. —¿Y si no encuentro nada? —Entonces también has aprendido algo. El puerto 8080 Al final del laberinto apareció una enorme puerta roja. 8080 La puerta estaba entreabierta. Dentro se escuchaban máquinas funcionando. Carlo entró. El lugar parecía un laboratorio. Pantallas. Servidores. Cables. En el centro había una consola. Ingrese el comando. Carlo escribió: help La consola respondió: Las puertas no son el destino. Los servicios no son el sistema. Busca el proceso. La máquina central Una enorme computadora apareció. Millones de líneas de código giraban alrededor. Procesos. Puertos. Conexiones. Todo estaba unido. Una voz resonó. —Los principiantes ven comandos. —Los estudiantes ven herramientas. —Los profesionales ven sistemas. Carlo observó. Todo tenía sentido. Los puertos eran puertas. Los procesos eran trabajadores. Los protocolos eran reglas. Los servicios eran ciudades. Internet era mucho más grande de lo que imaginaba. El script olvidado Antes de abandonar el laboratorio encontró un archivo. puertos = [22, 80, 443, 8080] for puerto in puertos: print("Puerto activo:", puerto) Lo ejecutó. Puerto activo: 22 Puerto activo: 80 Puerto activo: 443 Puerto activo: 8080 Una nueva línea apareció. Escuchar no significa comprender. El regreso Carlo despertó nuevamente frente a su computadora. Eran las 5:48 a.m. La ciudad comenzaba a despertar. Los primeros autos se escuchaban afuera. Abrió su libreta. Escribió: Internet no es una nube. Es una enorme ciudad. Los puertos son puertas. Los procesos son habitantes. Los protocolos son reglas. Los servidores son edificios. Y nosotros somos viajeros. Entonces apareció un nuevo archivo. kernel.txt Lo abrió. Solo contenía una frase. El próximo viaje será al corazón del sistema. Carlo sonrió. Sabía que el siguiente capítulo sería diferente. Ya no visitaría puertos. Ya no recorrería servicios. Ahora descendería al núcleo mismo de la computadora. Conceptos aprendidos TCP Confiable. Orientado a conexión. Confirma recepción. UDP Rápido. Sin conexión. No confirma entrega. Servicios 22 SSH 80 HTTP 443 HTTPS 53 DNS Procesos ps aux top Estado HTTP 200 OK 403 Forbidden 404 Not Found 500 Error

Capítulo 5 El Corazón del Kernel La pantalla permanecía completamente negra. No había cursor. No había ventanas. No existía ninguna interfaz. Solo oscuridad. Carlo sintió un extraño vacío bajo sus pies. Intentó caminar, pero parecía flotar. El silencio era absoluto. Ni siquiera escuchaba el zumbido de los ventiladores del laboratorio. De pronto... Una pequeña luz blanca apareció a lo lejos. Luego otra. Y otra. Miles. Millones. Cada una brillaba como una estrella. Pero no eran estrellas. Eran procesos. Eran instrucciones. Eran pequeños fragmentos de código ejecutándose al mismo tiempo. Una voz profunda rompió el silencio. —Has llegado demasiado lejos para regresar. Carlo giró lentamente. No había nadie. La voz parecía provenir de todas partes. —¿Quién eres? Durante varios segundos nadie respondió. Entonces el suelo comenzó a construirse bajo sus pies. Miles de líneas de código descendían desde el cielo formando un inmenso puente. while(system_running){ scheduler(); memory_manager(); interrupt_handler(); } Cada línea caía lentamente como si fuera lluvia. Cuando tocaba el suelo se convertía en piedra. En pocos segundos apareció una enorme ciudad flotando sobre un océano negro. Era inmensa. Muchísimo más grande que cualquier lugar que Carlo hubiera visitado. No existían edificios normales. Las torres estaban construidas con registros de CPU. Las calles eran buses de datos. Los ríos estaban formados por millones de bits moviéndose a toda velocidad. Cada bit emitía un pequeño destello azul. Parecía un universo completo funcionando sin detenerse jamás. Una figura apareció caminando entre la niebla. Era Bash. Pero esta vez llevaba una armadura completamente diferente. Su túnica negra había sido reemplazada por placas metálicas grabadas con unos y ceros. En la espalda llevaba una enorme llave. —Bienvenido... Hizo una pausa. —...al Kernel. Carlo observó todo a su alrededor. —Pensaba que el sistema operativo era solamente Linux. Bash sonrió. —Eso es lo que la mayoría cree. Comenzaron a caminar. Mientras avanzaban, Carlo notó algo extraño. No existía desorden. Todo funcionaba con una precisión imposible. Cada proceso sabía exactamente cuándo ejecutarse. Cada paquete encontraba su destino. Cada byte viajaba por el camino correcto. No había caos. Había orden. —¿Quién controla todo esto? —preguntó Carlo. Bash respondió sin detenerse. —El Kernel. —¿Qué es exactamente? Bash levantó la vista. Sobre ellos apareció una gigantesca esfera luminosa. Dentro podían verse millones de instrucciones ejecutándose al mismo tiempo. —Imagina una ciudad con millones de habitantes. ¿Quién decide cuándo pasa un tren? ¿Quién controla los semáforos? ¿Quién administra la electricidad? ¿Quién coordina a la policía? ¿Quién organiza las ambulancias? Carlo respondió. —Un gobierno. —Exactamente. El Kernel es el gobierno del sistema operativo. Sin él... Todo dejaría de funcionar. La Gran CPU Después de caminar durante varios minutos llegaron a una enorme sala circular. En el centro giraba una estructura metálica gigantesca. Parecía un corazón. Cada segundo emitía un pulso. TUM. Millones de procesos avanzaban. TUM. Millones más esperaban. TUM. Otros terminaban. Carlo observó maravillado. Sobre aquella máquina podían leerse unas letras doradas. CPU Bash colocó una mano sobre el metal. —Este es el motor de toda la ciudad. Una voz infantil apareció detrás de ellos. —Yo llevo las cuentas. Carlo giró. Un pequeño personaje sostenía una libreta enorme. En cada página había números. Miles. Millones. —¿Quién eres? —El Scheduler. —¿Qué haces? —Decido quién usa la CPU y durante cuánto tiempo. Carlo frunció el ceño. —¿Cómo puedes decidir entre millones de procesos? El Scheduler sonrió. Abrió su libreta. Dentro aparecía algo parecido a una cola. Proceso 204 Proceso 981 Proceso 1050 Proceso 2011 —Todos esperan su turno. —¿Y si uno quiere quedarse para siempre? El pequeño cerró el libro de golpe. —Nadie puede. Aquí todos comparten el tiempo. La CPU nunca pertenece a un solo proceso. Pertenece a todos. Carlo comprendió que aquella era una de las razones por las que un sistema operativo podía ejecutar tantas aplicaciones a la vez. No era magia. Era organización. El Río de la Memoria Más adelante llegaron a un inmenso río de luz. Millones de pequeños bloques transparentes flotaban lentamente. Cada uno contenía datos. Imágenes. Texto. Variables. Programas. —Esto es la memoria RAM —explicó Bash. —¿Por qué fluye como un río? —Porque cambia constantemente. Cuando abres un programa, necesita un lugar donde trabajar. Cuando lo cierras, ese espacio queda libre para otro. Un anciano de barba blanca se acercó llevando un gran libro. —Soy el Administrador de Memoria. Abrió el libro y mostró un mapa dividido en miles de pequeños cuadrados. —Cada proceso recibe una parte de la memoria. Si dos procesos intentaran ocupar el mismo lugar al mismo tiempo, todo sería un desastre. Carlo recordó las veces que un programa se había bloqueado en su ordenador. —¿Y qué ocurre si un programa intenta acceder a una zona que no le pertenece? El anciano cerró el libro lentamente. —Entonces el Kernel interviene. En ese instante, un proceso luminoso intentó cruzar una barrera. Una alarma sonó por toda la ciudad. El Kernel reaccionó al instante. Una muralla de luz apareció y el proceso fue detenido antes de causar problemas. —La estabilidad del sistema depende de que cada proceso respete sus límites —dijo Bash. La Sombra de Root Mientras avanzaban hacia el centro de la ciudad, Carlo empezó a notar que los habitantes bajaban la voz. Nadie hablaba de cierto lugar. Nadie miraba hacia una enorme torre negra situada en el horizonte. —¿Qué hay allí? —preguntó. Bash permaneció en silencio durante unos segundos. Finalmente respondió: —Allí vive alguien a quien muy pocos llegan a conocer. —¿Quién? Bash respiró hondo. —Root. El viento cesó. Las luces de la ciudad disminuyeron de intensidad. Incluso los procesos parecían moverse más despacio. —¿Es una persona? —No exactamente. —¿Es un programa? —Tampoco. —Entonces... Bash miró fijamente la torre. —Root es el usuario con el mayor nivel de privilegios del sistema. Puede instalar, modificar o eliminar casi cualquier cosa. Por eso, en sistemas reales, debe usarse con mucho cuidado y solo cuando es necesario. En la cima de la torre comenzó a encenderse una luz blanca. Una silueta observaba la ciudad desde lo alto. Carlo sintió un escalofrío. La aventura apenas acababa de entrar en su fase más peligrosa. Y, por primera vez desde que había cruzado aquella frontera digital, comprendió que el conocimiento no consistía en tener poder sobre el sistema, sino en aprender a usarlo con responsabilidad. El Archivo Perdido del Administrador La torre de Root desaparecía entre las nubes digitales. Carlo levantó la vista. Cada escalón parecía construido con miles de líneas de código. Las paredes estaban cubiertas por comandos. No eran simples letras. Estaban vivas. Flotaban lentamente alrededor de la torre. chmod systemctl journalctl ps kill grep find cat less awk sed mount Cada palabra emitía un pequeño brillo. Bash se detuvo. —Este lugar no se parece a los anteriores. —¿Por qué? —Porque aquí ya no basta con mirar. —¿Entonces? —Aquí tendrás que comprender el código. Una puerta metálica apareció frente a ellos. Sobre ella se leía: /root/laboratorio/ La puerta se abrió lentamente. Dentro no había muebles. Solo una enorme biblioteca. Cada libro era un archivo del sistema. Cada estantería representaba un directorio. Carlo tomó uno. Su portada decía: passwd Bash sonrió. —Ese archivo forma parte de la historia de Linux. Lo abrió. Dentro aparecía un ejemplo didáctico. carlo:x:1000:1000:Carlo:/home/carlo:/bin/bash ana:x:1001:1001:Ana:/home/ana:/bin/bash —Cada línea describe un usuario del sistema —explicó Bash—. En los sistemas modernos, las contraseñas reales no se guardan aquí, sino en otro archivo protegido. Carlo siguió caminando. Otro libro llamó su atención. hostname Lo abrió. laboratorio —Ese es el nombre del equipo. Otro libro. hosts 127.0.0.1 localhost 192.168.1.10 laboratorio.local —Así el sistema puede asociar nombres con direcciones. Carlo comprendía cada vez más. Todo el sistema era una enorme colección de archivos. La Sala de Bash La siguiente habitación estaba llena de terminales. Miles. Todas encendidas. Una de ellas escribió sola. pwd /root/laboratorio Después apareció otro comando. ls config/ scripts/ logs/ backup/ usuarios/ —Cada directorio cuenta una historia —dijo Bash. Carlo entró en scripts. cd scripts ls backup.sh monitor.sh saludo.sh Abrió el primero. #!/bin/bash echo "Iniciando copia de seguridad..." mkdir -p respaldo cp *.txt respaldo/ echo "Proceso terminado." —Los scripts permiten automatizar tareas repetitivas —explicó Bash—. Ahorran tiempo y reducen errores cuando están bien diseñados. El Taller de Python Una enorme pantalla mostraba código. def bienvenida(nombre): print(f"Bienvenido, {nombre}") bienvenida("Carlo") Salida: Bienvenido, Carlo Otra ventana apareció. archivos = [ "config.txt", "usuarios.txt", "notas.txt" ] for archivo in archivos: print("Leyendo:", archivo) Salida. Leyendo: config.txt Leyendo: usuarios.txt Leyendo: notas.txt Python apareció nuevamente. —Un buen programa no solo funciona. —¿Qué más? —Debe ser fácil de entender. El Lenguaje de Go En otra sala todo estaba construido con bloques azules. Sobre una pantalla aparecía: package main import "fmt" func main() { fmt.Println("Bienvenido al laboratorio") } Luego otro ejemplo. package main import "fmt" func main() { puertos := []int{ 22, 80, 443, 8080, } for _, puerto := range puertos { fmt.Println("Servicio:", puerto) } } Salida. Servicio: 22 Servicio: 80 Servicio: 443 Servicio: 8080 Carlo observó la velocidad con la que el programa se ejecutaba. —Ahora entiendo por qué tantas herramientas modernas están escritas en Go. El Archivo de Configuración En el centro de la sala apareció un documento. servidor: nombre: laboratorio puerto: 8080 usuarios: - carlo - diego —Muchos programas usan formatos como YAML o JSON para guardar configuraciones de forma legible. Otro ejemplo. { "servidor": "laboratorio", "puerto": 8080, "ssl": true } El Observatorio del Sistema Desde una ventana podían verse cientos de procesos trabajando. Una consola mostró: ps PID TTY TIME CMD 145 pts/0 00:00 bash 210 pts/0 00:00 python 320 pts/0 00:00 go Después apareció: top Los números comenzaron a moverse. Uso de CPU. Uso de memoria. Tiempo de ejecución. —El sistema está vivo —susurró Carlo. La Habitación de los Logs Las paredes estaban cubiertas de registros. 08:10 Sistema iniciado 08:12 Servicio web activo 08:15 Usuario Carlo inició sesión 08:20 Copia de seguridad completada Bash señaló uno de los registros. —Los logs ayudan a entender qué ha ocurrido en un sistema. Son una herramienta fundamental para administradores y analistas. El Rompecabezas En el centro del suelo apareció un archivo. usuarios = [ "Carlo", "Diego", "Ana", "Luis" ] for usuario in usuarios: print(usuario.upper()) Carlo lo ejecutó mentalmente. CARLO DIEGO ANA LUIS La habitación se iluminó. Una voz anunció: Código correcto. La puerta del fondo se abrió. La Cámara del Programador La sala final era completamente diferente. No había libros. No había servidores. Solo una frase escrita en una pared. "Las herramientas cambian. Los lenguajes evolucionan. Pero la lógica permanece." Carlo permaneció en silencio. Miró hacia atrás. Recordó todo lo aprendido. Directorios. DNS. Puertos. Procesos. Kernel. Archivos. Programación. Comprendió que aprender informática no consistía en memorizar comandos, sino en desarrollar una forma de pensar. Entonces apareció un nuevo archivo en el centro de la habitación. capitulo7.quest Lo abrió. Solo contenía una línea. El verdadero desafío no será encontrar el código... ...será escribirlo. Y por primera vez, Carlo sintió que el laboratorio ya no quería enseñarle únicamente a usar herramientas. Quería convertirlo en un creador. Comenzar la aventura

Friday, August 23, 2024

Audiolibro Beginning Hacking with Kali Linux

Audiolibros Recomendados sobre Hacking e Introducción a Linux

Audiolibros Recomendados sobre Hacking e Introducción a Linux

Audiolibro 1: Introducción al Hacking Ético y Seguridad en Redes

Este audiolibro es perfecto para quienes desean adentrarse en el mundo del hacking ético. Aprenderás los conceptos básicos sobre ciberseguridad, cómo proteger tus redes y dispositivos, y la importancia de un enfoque ético al realizar pruebas de penetración. Un recurso ideal para quienes están interesados en aprender cómo los profesionales de la seguridad protegen los sistemas.

Ver en YouTube

Audiolibro 2: Fundamentos de Linux para Principiantes

Este audiolibro es una excelente introducción al sistema operativo Linux, ideal para quienes nunca han trabajado con este sistema. Aprenderás desde la instalación de Linux, hasta los comandos básicos, cómo utilizar la terminal y cómo hacer que tu experiencia en Linux sea más productiva. Un buen punto de partida para aquellos que desean comenzar su camino en la administración de sistemas.

Ver en YouTube

Audiolibro 3: Hacking Ético: Primeros Pasos para Convertirte en Pentester

Si deseas convertirte en un profesional de la seguridad informática, este audiolibro te ayudará a dar los primeros pasos. Conocerás las herramientas esenciales para hacer pruebas de penetración, cómo obtener acceso a sistemas de manera legal y cómo utilizar el hacking ético para encontrar vulnerabilidades antes de que lo hagan los atacantes maliciosos.

Ver en YouTube

Audiolibro 4: Uso Avanzado de Linux para la Seguridad y Hacking

En este audiolibro se abordan técnicas avanzadas de hacking utilizando Linux. Aprende cómo configurar herramientas como Kali Linux, escanear redes, realizar análisis forenses y otras tareas esenciales para trabajar en el mundo del hacking ético. Este audiolibro es ideal para aquellos que ya tienen conocimientos básicos de Linux y quieren profundizar en su uso para la seguridad.

Ver en YouTube

Audiolibro 5: Seguridad en Linux y Herramientas de Pentesting

Este audiolibro se centra en las mejores prácticas de seguridad en sistemas Linux, además de proporcionar una introducción a las herramientas de pentesting más utilizadas. Si estás interesado en fortalecer tus conocimientos sobre cómo proteger servidores y equipos Linux, y cómo realizar auditorías de seguridad, este audiolibro es para ti.

Ver en YouTube

Monday, August 19, 2024

detectormouse

 import pyautogui

import time

try:
    while True:
        # Obtén la posición actual del cursor del mouse
        x, y = pyautogui.position()
       
        # Imprime la posición del cursor del mouse
        print(f"Posición del mouse: X={x}, Y={y}")
       
        # Pausa para no sobrecargar el CPU
        time.sleep(1)

except KeyboardInterrupt:
    print("Detección de mouse interrumpida.")

Pixels

 import pyautogui

import time


# Primera posición

pos1 = (1072,423)

# Segunda posición

pos2 = (1072,472)

pos3 = (1072,567)

pos4 = (1072,652)

pos5 = (1072,757)

pos6 = (1072,826)

pos7 = (1163,421)

pos8 = (1163,497)

pos9 = (1163,578)

pos10 = (1163,661)

pos11 = (1163,740)

pos12 = (1163,826)

pos13 = (1244,420)

pos14 = (1244,497)

pos15 = (1244,578)

pos16 = (1244,661)

pos17 = (1244,740)

pos18 = (1244,826)

pos19 = (1330,420)

pos20 = (1330,497)

pos21 = (1330,578)

pos22= (1330,661)

pos23 = (1330,740)

pos24 = (1330,826)

pos25 = (1410,420)

pos26 = (1410,497)

pos27 = (1410,578)

pos28= (1410,661)

pos29 = (1410,740)

pos30 = (1410,826)

pos31 = (1498,420)

pos32 = (1498,497)

pos33 = (1498,578)

pos34= (1498,661)

pos35 = (1498,740)

pos36 = (1498,826)

posagua = (760,980)

postijera = (847,980)

posbuble = (934,980)

posbuble2 = (1007,980)

posbuble3 = (1076, 986)




pyautogui.moveTo(posbuble[0], posbuble[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)



pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble[0], posbuble[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(60) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 


pyautogui.moveTo(posbuble[0], posbuble[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)



pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble[0], posbuble[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(65) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(posbuble[0], posbuble[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble[0], posbuble[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(65) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble2[0], posbuble2[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(posbuble2[0], posbuble2[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(65) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble2[0], posbuble2[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(posbuble2[0], posbuble2[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(65) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble2[0], posbuble2[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(posbuble2[0], posbuble2[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(65) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(posbuble3[0], posbuble3[1], duration=0.4)

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble3[0], posbuble3[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(60) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble3[0], posbuble3[1], duration=0.4)

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble3[0], posbuble3[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(60) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(posbuble3[0], posbuble3[1], duration=0.4)

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(posbuble3[0], posbuble3[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(0.4)




pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(60) 




pyautogui.moveTo(posagua[0], posagua[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 






pyautogui.moveTo(pos1[0], pos1[1], duration=1)

print(f"Mouse movido a la posición: X={pos1[0]}, Y={pos1[1]}")

pyautogui.click()

time.sleep(1)


pyautogui.moveTo(pos2[0], pos2[1], duration=1)

print(f"Mouse movido a la posición: X={pos2[0]}, Y={pos2[1]}")

pyautogui.click()

time.sleep(1) 



pyautogui.moveTo(pos3[0], pos3[1], duration=1)

print(f"Mouse movido a la posición: X={pos3[0]}, Y={pos3[1]}")

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos4[0], pos4[1], duration=1)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos5[0], pos5[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos6[0], pos6[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos7[0], pos7[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos8[0], pos8[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos9[0], pos9[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos10[0], pos10[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 




pyautogui.moveTo(pos11[0], pos11[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 





pyautogui.moveTo(pos12[0], pos12[1], duration=0.5)

pyautogui.click()

time.sleep(0.5) 



pyautogui.moveTo(pos12[0], pos12[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos13[0], pos13[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos14[0], pos14[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos15[0], pos15[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos16[0], pos16[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos17[0], pos17[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos18[0], pos18[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos19[0], pos19[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos20[0], pos20[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos21[0], pos21[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos22[0], pos22[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos23[0], pos23[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos24[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos25[0], pos25[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos24[0], pos26[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(pos27[0], pos27[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos28[0], pos28[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos29[0], pos29[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos30[0], pos30[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos31[0], pos31[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 



pyautogui.moveTo(pos32[0], pos32[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos33[0], pos33[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos34[0], pos34[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos35[0], pos35[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 




pyautogui.moveTo(pos36[0], pos36[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 





pyautogui.moveTo(postijera[0], postijera[1], duration=0.4)

pyautogui.click()

time.sleep(0.4) 

Subfinder: El Reino de los Dominios Perdidos

Autor: Carlo Varela Sinopsis En el continente de NetherNet existen miles de reinos ocultos. Algunos aparecen en los mapas oficiales; otros...