Generar direcciones IP válidas

La función recibe una cadena compuesta por dígitos. Crea una función que genere un conjunto de todas las direcciones IP válidas posibles usando todos los dígitos. La dirección tiene cuatro grupos. Cada grupo es un número de 0 a 255 inclusive; el número no puede tener ceros a la izquierda a menos que sea igual a cero.

Por ejemplo, "0.1.2.201" y "192.168.1.1" son direcciones IP válidas, mientras que "3.011.255.245" y "192.168.1.312" son direcciones IP no válidas. Si no se puede producir ninguna dirección individual, devuelve un conjunto vacío.

Ejemplos

generate_ip_addresses("0101203") ➞ {"0.101.20.3", "0.10.120.3", "0.10.1.203"}

generate_ip_addresses("25525511135") ➞ {"255.255.11.135", "255.255.111.35"}

generate_ip_addresses("0000") ➞ {"0.0.0.0"}

generate_ip_addresses("010010") ➞ {"0.10.0.10", "0.100.1.0"}

Notas

N/A