Accidentally leaked the solution to an assignment, what to do now? (I'm the prof) TL;DR; I accidentally made the solution of an assignment visible to some of my students. How can I now fairly address that problem?

A few weeks ago I set a programming assignment to be done using Processing (a graphical programming tool), and to make sure the goal was clear I implemented a solution on openprocessing.org, which I made available to the students. On openprocessing.org, they can look at the working program (a little graphical game similar to tic-tac-toe), but the source code is hidden to them (I took a paid account to get private source code). 
But then I embedded the openprocessing.org 'sketch' (a web page that displays the working program as described above) in a different web page, and failed to notice that the embedded version has the source code readily available (the person viewing the sketch just clicks an icon at the top and they get the editor with the source code). I think that's a bug with openprocessing.org and I complained to them (and there's obviously also an oversight on my part), but that's not relevant to my issue.

So basically the solution to the assignment was available to anybody who clicked that button at the top. It's not obvious, so I think only a few students noticed it. One team emailed me asking whether it was intentional and expressing their concern.
The assignment deadline is in 5 days (it's been up for 2 weeks) and it's the end of the term. This was supposed to be 10% of their grade.
I took down the visible solution, and I' trying to come up with a contingency plan. I could cancel the whole assignment, or give everyone full marks... Just let those who saw it submit as is (and indicate the source). I just don't know how to handle this best. 

Any suggestions or recommendations?
Very simple actually. Abandon the assignment. Apologize for the error, but not for wasting people's time. Those who didn't find the solution and worked on it certainly learned something. Those who found the solution used their time otherwise and hopefully learned something else. 

Mistakes happen. 

If you use a large number of exercises in grading it is probably harmless to give everyone full marks. They will be happy and it won't really matter otherwise. But trying, in any way, to discriminate between various levels of "performance" on such an exercise is a minefield. 

One thing to remember, however. Presumably you gave that assignment because students would be expected to learn some specific thing(s) by doing it. That may not have occurred, so you need to assure that you find some way to reinforce that lesson in some future activity.