if 0 { '''Current Version: 0.22''' [MG] Feb 18 2005 - After being in need of a quick diversion, I started writing another card game (see [Spider Solitaire] for my last), this time [Hearts], similar to the one shipped with Windows since, IIRC, ''Windows 3.1.1 for Workgroups''. It's not '''quite''' finished yet, but I thought I'd post what I've done so far and update it as I go. It uses the same set of card images as [Spider Solitaire] and [Once in a Lifetime], with a few changes; the card back image now has a black border around it (nicer when you have 13 cards overlapping in a line), and I added a few new card back images (one is picked at random), using a few of the 'fill patterns' from Photoshop. Comments welcomed, as always :) [Vince] says that in the UK the rules are different - normally AKQ of spades are bad, with A=7,K=10,Q=13 points, and the hearts one point each. Normally J-diamonds isn't special, either. Also, the player to left of dealer leads whatever card they want (no forcing of the 2-clubs lead). Finally, you can't lead a heart until one has been discarded, unless all you have are hearts. I've played both versions a lot, in the US and UK, and most people I know find the UK rules lead to a more interesting game. [MG] is from the UK himself, but hadn't heard of those rules - the only version I've ever played in the one shipped with Windows. Would be interesting to add that ruleset at the end and make it configurable, too, though. Thanks for posting about it :) With your comment about the Jack of Diamonds.. it shouldn't be special in this version, either. Did you find that you got points for it somewhere? If so, it's a bug that I'll take a look for... [Vince] you're right it's not special in this version at present. The standard US rules give -10 points for it. In the UK it's irrelevant. [rdt] Well, Vince, I've played (in the US) for decades and never heard of that rule, maybe its not so 'standard' after all. [MG] Ah, I see. I was going by the scoring in the MS Windows version of Hearts (though who knows where they got the rules from, after what you said). *grins* More options to add. ''See help-files in the game for changes in different versions'' ---- [rdt] says this is a nice game and its getting to be in "pretty good shape". I have one suggestion about the AI that I've noticed. When a player is about to take a trick, that is, he is playing the fourth card on a trick and he doesn't have a card lower than any of the three already played, why does he play his lowest card of the suit instead of the highest? ''[MG] March 12 - this shouldn't happen any more, with the recoded AIs'' [MG] Hi [rdt], thanks for your comments. I'm planning to do three levels of AI, but all that's there right now is the really stupid one (which I just wrote so that the game would actually be playable). And when I say stupid, I really mean it :) It uses extremely basic routines to pick a card - if there are cards down, and it can match suit, it always does so with the lowest card it has. I'll probably change that as you suggest, though, when I do the other AIs, since otherwise it's going to be a little too basic, even for an 'easy' player. (Right now, though, it has the advantage of making it easy to test things, since it's fairly easy to win or lose any round.) Hopefully I should fix up the other AIs in the next couple of days. At the moment, though, and after reading some of [RS]'s pages like [Describing and rendering flags in Tcl] in the last few days, I'm thinking of recoding the AI handling slightly, to make it easier to define different difficulties/intelligence levels with shorthand / a [little language] - as it is, every AI proc has to check for the 2 of clubs (which is something every single one will definitely have to do, so it's kind've pointless repeating it like that...), and things like that. (Wow, that was rambling.) [rdt] I understand. Its fun as it is, like you say. ---- [rdt] Hey, I thought the rule was "you can't drop a heart on the first trick". Top led the 2 clubs & Right dropped the Jack of Hearts. Is that supposed to permitted or is it a bug? [MG] That is a bug, yes. You can't play a heart on the first round (or any other point card). I haven't looked at the code yet, but I'm pretty sure where it is - I didn't check for it being the first round in the AI code. (It does check that, in the 'player' code, though, so it's not possible for you to do that.) Will fix later tonight. Thanks :) [MG] Fixed now (v 0.7). [rdt] Thanks MG, now I'm getting a "can't read $origx while executing if { $origx == $tox && ..." error from the doMoveCard proc for some reason & I can't figure out why. :( [MG] Ack. I'd gotten that once before, but wasn't sure why, and thought/hoped some small changes I'd made had sorted it. I'll go digging later on and see if I can find what's causing it. Thanks :) [MG] adds, a few minutes later, that ''v 0.8'' has been released, with an extra call to [[puts]] in [[doMoveCard]], which should show what's causing the problem. (Incidently, whenever I saw the error myself, it was on the right-hand player. Did you happen to notice the same thing, if you remember?) ''Update: *coughs* Removed a stupid bug in the 'puts' check (I had [[info exists $origx]] not [[info exists origx]])'' [rdt] Ok, the output was 'Error! [doMoveCard .c cardNum 3] /' from Top, I believe. Apparentely the '[$c coords $item]' did not return anything. Further testing reveals that to be correct. [MG] With the aid of another 25 or so calls to [puts], I've tracked it down ;) Hopefully it's fixed now (v 0.9). The problem was that the AI was filtering the cards incorrectly - it was stopping the AI from playing a heart or the queen of spades (ie, point cards) if there were no cards down, rather than if it was the first play of the round (when the 2 of clubs is played, and point cards are banned). That caused an AI whose cards were soley made up of point cards to not be able to start a play (with getBestCard-1 returning an empty string, instead of a card). Should work fine, now (he says, crossing his fingers). [rdt] Shoot. I broke it for the wiki_reaper so I edited my text above. :) [MG] v 0.10 now released (early hours of March 12 2005). The AI code is now re-written, which should make defining AIs easier - instead of actual coded procs, it uses two variables per AI, both a Tcl list. [MG], several hours later: now at v0.11, with some improvements to the AI code, and '''a new, more intelligent AI added'''. ''Explaination of how they both work removed; I'll re-add it at the end, when it's set.'' Right now, if you have a suggestion for how an AI should work, the best thing to do is just drop a textual explaination here - the code format may change a little, and it's somewhat confusing, at the moment, I think. Any comments welcomed, though :) The top and right AIs now use a (theoretically) more intelligent AI than the left-hand one, which is also slightly better at the game than it was before. A third level of AI will follow, which will have "memory" (will remember if the queen of spades was played, and play it's cards accordingly, and so on). [rdt] Well, it certainly is a better AI. [MG] March 13 2005 - Fixed a really, really stupid bug in the AI - where I had glob patterns for choosing which cards to put up, the * was on the wrong side of the character, so none of them matched. :P Fixed that, now, and a bug in the AIchooseCardsUp proc which let one card match several times (meaning that some AIs only passed 1 or 2 cards over, instead of 3). Also added a '''third AI''', which is better than both the others. It's not as intelligent as it could be yet, I don't think, but it definately beats the other two. I think the AI code is suitable for more intelligent things, too - if there's something that's not possible, I think it just means more variables need to made available for the expressions - so I'll explain the way the AIs are coded later tonight. At the moment, there's one AI of each difficulty - no "good" way to change it yet, so just edit the code, it's quite near the top (''data(diffs,''$num'')'', set to 1 for basic, 2 for moderate, 3 for better). Any suggestions for improvements to make the AIs more intelligent would be appreciated, either with code or just an explaination of why they're stupid :) [MG] Bug in ''AIchooseCardsUp'' fixed in v0.13 [rdt] A suggestion, the color of the score for the player that goes over 100, should be red and how about having the score be a "drop-down" white rectangle from the top of the canvas? [MG] Agreed, on the red, I'll add that in ''(done in v0.14)''. I'm not completely sure what you mean for the drop-down part, though? [rdt] Instead of opening a new toplevel window, a rectangle (in white as if it were a score sheet) drawn directly onto the canvas beginning at its top. Additional lines would extend the rectangle downward. It would come and go just like the current score window does. [MG] Ah, I see what you mean now. Hrm... not too sure about that one, I'll have to think about it. It would seem to have a few drawbacks to me: it would be harder to align things properly (I'm not too fond of the experience I've had with doing text on the canvas with this, though it could well just be me being stupid), whereas [pack] takes care of things very simply. It would also be more difficult to arrange the bindings - simple deactivation of the canvas wouldn't be an option, if the score dialog was a part of it. (Just binding to the canvas itself and still deactivating the canvas may sort it, though.) I'm not really sure that I see any benefit of doing it like that, though... [rdt] Yes, I understand your feeling about text on the canvas. It could be done by label windows (one for each score) placed onto the canvas. The "dismiss" button would just clear the canvas like the end of a game. [rdt] Whoops. I meant to have just the score over 100 be red. Not the entire column. [MG] Personally, I think it looks better with all of them in red. But I've made it more easily changable - just find the line 'set allRed 1' in the showScores proc, and change it to 0, and only the last score (the one over 99 - 100 loses the game, too) will be shown in red. The previous scores are also shown with an overstrike, now, similar to the MS version. ---- [MG] March 22 2005 - Version 0.18 released (including changes from 0.16 and 0.17, which I never uploaded as they were minor). Now has an Options dialog (not the most attractive, but it works). AI names are only changed when you start a new game, the other options take effect immediately. Also made some small internal changes, and added a button-3 binding to show the whole card by raising it above the others. ---- [Anon] 22Mar05 - Request - could you add a keyboard interface, so that it could be played entirely without resort to the mouse? MS-Hearts uses to throw in either lowest card in suit or furtherst left if you can't follow suit. But this could be improved by using the arrow keys to pick a card (it could toggle between allowable moves). Cheers! [MG] That would be good to have, I agree. Maybe 1, 2,.. 9, 0 to play one of the first ten cards, and Shift-[[1-3]] for one of the others? (That's also much easier to do than using the arrow keys to scroll through, since it basically requires no new code other than the [[bind]] calls.) ---- [MJL] 22Mar05 - Has someone fiddled with doEndRound? The scoring system is completely broken. For example the command incr last $data(points,$x) isn't going to work as data(points,$x) is a list of cards. (Note: updated Anon -> MJL 17May05). [MG] Woops.. that would be me. I was changing it over to add a new feature, but decided to release all the other changes first, and add that feature later - and completely forgot I'd half-started. I'll fix that ASAP. Thanks for pointing it out... [MG] Fixed now, hopefully. The ''incr last $data(points,$x)'' you mentioned should have been ''incr last $points'', and then there were several stupid other bugs like an [lsearch]'s return value being checked incorrectly (so it was always taken as being true, even if it returned -1, which should've been false here). Anyway... hopefully all sorted, now. Thanks again. ---- [MG] March 25th 2005 - Version 0.21 released. Just a couple of minor changes/additions now before I'd consider it "ready" for proper use. Also decided to leave implementing the other scoring methods suggested by Vince until later, since it would require re-writing the AIs for each scoring method, as well as the code that handles player clicks to check what's valid. ---- [MG] April 2nd 2005 - Version 0.22 out now, with a bug fix. "Changes" are also moved into the help-file, now. (Appearance - indentation, etc - could be improved some, still.) ---- } # Hearts, based on the card game shipped with MS Windows # Mike Griffiths, Feb 17th 2005 package require Tk set p(name) "Hearts" set p(ver) "0.22" set p(firstdate) [clock scan "February 17 2005"] set p(lastdate) [clock scan "April 2 2005"] # Changes now in help-file. # Known bugs, as yet unfixed, and things still to add: # Player names display wrong (for bottom/right players, which use # right-aligned text). Right-aligned text on the canvas doesn't seem # to work quite as I'd expected... # Alternative scoring options, as suggested by Vince on the Wiki. # At end of round (in proc doEndRound), show the cards a player collected during # the round (the ones that cost him points, anyway). # Keyboard bindings. # Add a way to change the human player's name. Default to $::tcl_platform(user), # as suggested by Gerald Lester. # #--- set ai(text,0) "Easy" set ai(up,0) [list a* k* q* j* t* 9* 8* 7* 6* 5* 4* 3* 2*] set ai(play,0) [list [list {$hasSuit || $down==0} play LOWEST] [list 1 play HIGHEST]] set ai(text,1) "Moderate" set ai(up,1) [list qs a* k* q* j* t* 9* 8* 7* 6* 5* 4* 3* 2*] set ai(play,1) [list [list {$hasSuit && $myHigh != ""} play HIGHESTSAFE] [list {$hasSuit && $down < 3} play LOWEST] [list {$hasSuit} play HIGHEST] [list {$down==0} play LOWEST] [list 1 play HIGHEST]] set ai(text,2) "Decent" set ai(up,2) [list qs as ks a* k* q* 2c j* t* 9* 8* 7* 6* 5* 4* 3* 2*] set ai(play,2) [list [list {$first} play HIGHEST] [list {$hasSuit && $suit == "s"} filter qs] [list {$hasSuit && $suit == "s" && [lsearch "$data(cards,0) $data(cards,1) $data(cards,2) $data(cards,3)" "qs"] != "-1"} filter {as ks}] [list {$hasSuit && $myHigh != ""} play HIGHESTSAFE] [list {$hasSuit && $down < 3} play LOWEST] [list {$hasSuit} play HIGHEST] [list {$down==0} play LOWEST] [list {!$hasSuit && [lsearch $cards qs] > -1} play qs] [list 1 play HIGHEST]] set speed(0,time) 20 set speed(0,name) "Slow" set speed(1,time) 10 set speed(1,name) "Medium" set speed(2,time) 5 set speed(2,name) "Fast" set data(speed) 1 set data(name,0) "Player1" set data(name,1) "AI-1 (Left)" set data(name,2) "AI-2 (Right)" set data(name,3) "AI-3 (Top)" set data(diff,1) 0 set data(diff,2) 1 set data(diff,3) 2 set data(score,0) [list 0] set data(score,1) [list 0] set data(score,2) [list 0] set data(score,3) [list 0] set data(points,0) [list] set data(points,1) [list] set data(points,2) [list] set data(points,3) [list] set data(cards,0) {} set data(cards,1) {} set data(cards,2) {} set data(cards,3) {} set data(playing) 0 set data(round) 0 ;# 1 = pass left ;# 2 = pass right ;# 3 = pass up ;# 4 = don't pass, just play set data(doing) "none" ;# (see proc doCardClick) possible values: # pass = passing cards to other players (select/deselect cards) # accept = accepting cards passed to us; no bindings # play1 = first round; 2 of clubs only # play2 = click a card to send it # none = no bindings # ??? = ??? set coords(tb,base) 140 set coords(tb,diff) 15 set coords(lr,base) 72 set coords(lr,diff) 15 set data(hearts) 0 ;# has hearts been broken? set data(winAt) 100 ;# what score do you win at? proc main {} { global p data wm withdraw . wm title . "$p(name) Version $p(ver)" bind . "console show" . configure -menu [menu .m -tearoff 0] .m add cascade -label "Game" -underline 0 -menu [menu .m.g -tearoff 0] .m.g add command -label "New Game" -underline 0 -command newGame \ -accelerator "F2" bind . [list doShortcut newGame] .m.g add separator .m.g add command -label "Change Card Back" -underline 0 -command showCardBack \ -accelerator "F7" bind . [list doShortcut showCardBack] .m.g add command -label "Options" -underline 0 -command showOptions \ -accelerator "F8" bind . [list doShortcut showOptions] .m.g add command -label "Score" -underline 0 -command showScores \ -accelerator "F9" bind . [list doShortcut showScores] .m.g add separator .m.g add command -label "Exit" -underline 1 -command chk_exit \ -accelerator "Alt-F4" bind . chk_exit ;# don't bother with doShortcut here wm protocol . WM_DELETE_WINDOW chk_exit .m add cascade -label "Help" -underline 0 -menu [menu .m.h -tearoff 0] set helpCommand showHelp .m.h add command -label "Help Topics" -underline 0 \ -command $helpCommand -accelerator "F1" bind . $helpCommand .m.h add separator .m.h add command -label "About" -underline 0 -command aboutHearts .m.h add command -label "Console" -underline 0 -command "console show" \ -accelerator "Shift+F1" canvas .c -width 530 -height 420 -background #000077770000 -highlightthickness 0 .c bind player0 {set ::data(belowCard) [.c find above \ [set ::data(raiseCard) [.c find withtag current]]] ; .c raise $::data(raiseCard)} .c bind card {.c lower $::data(raiseCard) $::data(belowCard)} pack .c -side top -anchor nw -pady 2 label .status -relief groove -borderwidth 1 -anchor w \ -text "Welcome to Hearts" pack .status -ipadx 5 -fill x update center . wm deiconify . update wm resizable . 0 0 raise . focus -force . };# main proc showCardBack {} { global cardback data set thisCmd [lindex [info level 0] 0] if { [info exists dialog(cmd)] && !($dialog(cmd) == "" || $dialog(cmd) == $thisCmd) } { return; # already got another dialog up } set dialog(cmd) $thisCmd set dialog(win) .cardbacks set w $dialog(win) bind . "forceWindow $w" catch {destroy $w} toplevel $w wm withdraw $w wm title $w "$::p(name) - Change Card Back" set destroyCmd [list closeDialog $w [list setCardBack 1]] set cancelCmd [list closeDialog $w [list setCardBack 0]] wm protocol $w WM_DELETE_WINDOW $cancelCmd # set .c disabled, to stop cards reacting .c configure -state disabled set data(cardbackTMP) $data(cardback) set txt "Click the Card Back you'd like to use, and then click OK." pack [label $w.txt -text $txt -wraplength [expr {[image width ::img::back]*4}]] \ -side top -fill x set i 3 set list [list 1 2 3 0] set frame -1 loadCardbacks foreach x [lsort [array names cardback]] { set i [lindex $list $i] if { $i == "0" } { incr frame pack [frame $w.fr$frame] -side top -fill both } lappend data(cardbackIMG) [set this [image create photo -data $cardback($x)]] radiobutton $w.fr$frame.$i -text $x -image $this -compound top \ -variable data(cardbackTMP) -value $x \ -indicatoron false -offrelief flat \ -overrelief raised pack $w.fr$frame.$i -side left -padx 4 -pady 6 } pack [frame $w.frBtn] -side top -expand 1 -fill x pack [button $w.frBtn.ok -command $destroyCmd -text "OK" -width 8] \ -side left -anchor center -padx 5 -pady 8 -fill none -expand 1 pack [button $w.frBtn.cancel -command $cancelCmd -text "Cancel" -width 8] \ -side left -anchor center -padx 5 -pady 8 -fill none -expand 1 update center $w wm deiconify $w update wm resizable $w 0 0 raise $w focus -force $w return; };# showCardBack proc setCardBack {doit} { global data cardback # clean up after setting the new cardback. Only actually change it if # $doit is true, though. if { $doit } { ::img::back configure -data $cardback($data(cardbackTMP)) set data(cardback) $data(cardbackTMP) } foreach x $data(cardbackIMG) { image delete $x } unset data(cardbackIMG) data(cardbackTMP) cardback };# setCardBack proc doShortcut {cmd} { global dialog if { [info exists dialog(cmd)] } { if { $dialog(cmd) == "" || ![winfo exists $dialog(win)] \ || $dialog(cmd) == [lindex $cmd 0] } { unset -nocomplain dialog uplevel #0 $cmd } } else { uplevel #0 $cmd } };# doShortcut proc newGame {{force 0}} { global data p coords if { $data(playing) && !$force } { set ans [tk_messageBox -message "Start a new game?" -title $p(name) \ -type yesno -icon question] if { $ans == "no" } { return; } } .c delete all set data(playing) 1 set data(round) 0 set data(score,0) [list 0] set data(score,1) [list 0] set data(score,2) [list 0] set data(score,3) [list 0] deal # get the color for names, and pick a font set nameCol [revCol [.c cget -background]] # or, on second thoughts.... set nameCol "white" set nameFont [font actual Helvetica -displayof .] set fontH [font metrics $nameFont -displayof . -linespace] set cardW [image width ::img::back] set cardH [image height ::img::back] set pos(x,0) [expr {$coords(tb,base)-5-$cardW}] set pos(y,0) [expr {405-$fontH}] set pos(a,0) nw set pos(j,0) right set pos(x,1) 18 set pos(y,1) [expr {$coords(lr,base)-$fontH}] set pos(a,1) nw set pos(j,1) left set pos(x,2) [expr {409+($cardW/2)}] set pos(y,2) [expr {$coords(lr,base)+5+(12*$coords(lr,diff))+$cardH}] set pos(a,2) nw set pos(j,2) right set pos(x,3) [expr {$coords(tb,base)+5+(12*$coords(tb,diff))+$cardW}] set pos(y,3) 15 set pos(a,3) nw set pos(j,3) left #309 y, 15 y, 15 x, 444 x foreach {who} [list 0 1 2 3] { .c create text $pos(x,$who) $pos(y,$who) -tags [list name name$who] \ -text $data(name,$who) \ -fill $nameCol -width $cardW \ -anchor $pos(a,$who) -justify $pos(j,$who) } };# newGame proc revCol {n} { # return the inverse of color $n set list [winfo rgb . $n] set red [lindex $list 0] set green [lindex $list 1] set blue [lindex $list 2] set first [format "#%04x%04x%04x" $red $green $blue]; # invert it set first [string tolower $first] set inverse [string map "0 f 1 e 2 d 3 c 4 b 5 a 6 9 7 8 8 7 9 6 a 5 b 4 c 3 d 2 e 1 f 0" $first] return $inverse; };# revCol proc numValue {card} { # discard suit set card [string range $card 0 0] # return value return [lsearch [list FAKE FAKE 2 3 4 5 6 7 8 9 t j q k a] $card]; };# numValue proc sortPlayerCards {{which "0 1 2 3"}} { global data # now we need to sort them, by suit and then by face value foreach x $which { set data(cards,$x) [lsort -command sortByCard $data(cards,$x)] } };# sortPlayerCards proc sortByFace {a b} { set a [numValue [string range $a 0 0]] set b [numValue [string range $b 0 0]] if { $a < $b } { return -1; } elseif { $a > $b } { return 1; } else { return 0; } };# sortByFace proc sortByCard {a0 b0} { # split into face value and suit value set a(face) [numValue $a0] set b(face) [numValue $b0] set a(suit) [lsearch [list c d s h] [string range $a0 end end]] set b(suit) [lsearch [list c d s h] [string range $b0 end end]] if { [set ans [sortByCardSub $a(suit) $b(suit)]] == "0" } { return [sortByCardSub $a(face) $b(face)]; } else { return $ans; } };# sortByCard proc sortByCardSub {a b} { if { $a < $b } { return -1; } elseif { $a > $b } { return 1; } else { return 0; } };# sortByCardSub proc deal {} { global data coords set cards [shuffleList $::ALLCARDS] set data(lastCards) $cards set data(cards,0) [lrange $cards 0 12] set data(cards,1) [lrange $cards 13 25] set data(cards,2) [lrange $cards 26 38] set data(cards,3) [lrange $cards 39 51] # now sort them, by suit then by face sortPlayerCards set data(points,0) [list] set data(points,1) [list] set data(points,2) [list] set data(points,3) [list] set data(hearts) 0 # FIGURES FOR TOP/BOTTOM PLAYERS set base $coords(tb,base) set diff $coords(tb,diff) # draw the player (0)'s cards set lc $data(cards,0) for {set i 0} {$i < 13} {incr i} { .c create image [expr {$base+($i*$diff)}] 309 \ -image ::img::[lindex $lc $i] -anchor nw \ -tags [list card player0 cardNum[lindex $lc $i] down] } # draw the top AI (3)'s cards set lc $data(cards,3) for {set i 0} {$i < 13} {incr i} { .c create image [expr {$base+($i*$diff)}] 15 \ -image ::img::back -anchor nw \ -tags [list card player3 cardNum[lindex $lc $i] down] } # FIGURES FOR LEFT/RIGHT PLAYERS set base $coords(lr,base) set diff $coords(lr,diff) # draw the left AI (1)'s cards set lc $data(cards,1) for {set i 0} {$i < 13} {incr i} { .c create image 15 [expr {$base+($i*$diff)}] \ -image ::img::back -anchor nw \ -tags [list card player1 cardNum[lindex $lc $i] down] } # draw the left AI (2)'s cards set lc $data(cards,2) for {set i 0} {$i < 13} {incr i} { .c create image 444 [expr {$base+($i*$diff)}] \ -image ::img::back -anchor nw \ -tags [list card player2 cardNum[lindex $lc $i] down] } # set up binding, etc set data(round) [lindex "1 2 3 4 1" $data(round)] ;# set internal record to this round if { [lsearch [list 1 2 3] $data(round)] != "-1" } { set data(doing) pass1 .c bind player0 {doCardUpDown} set dir [lindex "XXX Left Right Across" $data(round)] set dirL [string tolower $dir] setStatus "Select three cards to pass $dirL to $data(name,$data(round))" # Now we need to create a button to allow them to pass the cards makeButton "Pass $dir" doPassCards disabled # We also need the 'AI' to choose cards for each of the other players foreach x [list 1 2 3] { # chooseAICardsUp-$data(diff,$x) $x AIchooseCardsUp $x } } else { # we're on round 4 startPlay } };# deal proc makeButton {text {cmd {}} {state normal}} { # make a button .c.btn for the canvas set w .c.btn catch {destroy $w} button $w -text $text -command $cmd -state $state \ -padx 5 -pady 2 -font [list Helvetica 11] set btnX [expr {265-([winfo reqwidth .c.btn]/2)}] set btnY [expr {210-([winfo reqheight .c.btn]/2)}] .c create window $btnX $btnY -window .c.btn -anchor nw \ -tags "passBtn" };# makeButton proc AIchooseCardsUp {who} { global data ai # add * to the end to catch errors set ptn $ai(up,$data(diff,$who)) set ptn [linsert $ptn end ?*] set cards $data(cards,$who) set putUp [list] while { [llength $putUp] < 3 } { set thisP [lindex $ptn 0] set ptn [lrange $ptn 1 end] foreach x [lsearch -glob -all $cards $thisP] { lappend putUp [lindex $cards $x] set cards [lreplace $cards $x $x {}] } } foreach x [lsearch -decreasing $cards {}] { set cards [lreplace $cards $x $x] } set goUp($who,first) $putUp set putUp [lrange $putUp 0 2] set goUp($who,second) $putUp set move [lindex [list {} "15 0" "-15 0" "0 15"] $who] foreach x $putUp { .c dtag cardNum$x down .c addtag up withtag cardNum$x eval .c move cardNum$x $move } };# AIchooseCardsUp proc AIgetBestCard {who} { global data ai # filter cards set cards $data(cards,$who) if { [lsearch $cards 2c] != "-1" } { return "2c"; } # Vars available for {$expr}'s: # first : 1 or 0 (is this is the first (with 2c) round?) # down : how many cards are already down (0 - 3) # pot : list of cards already down # cards : list of all your cards, in format # hasSuit : 1 or 0 (if there are cards down, can we follow suit on the first one?) # suit : the suit that lead the round (h/d/c/s), or an empty string if none # high : the highest card in play which follows suit # myHigh : the card used for 'HIGHESTSAFE' set first [expr {$data(doing)=="play1"}] set down [expr {4-[llength [lsearch -all $data(pot) {}]]}] set pot $data(pot) set suit $data(suit) if { ([lsearch -regexp $cards {^.[^h]$}] != "-1" && (!$data(hearts)) || $first ) } { # hearts aren't valid atm set cards [setdiff $cards [list 2h 3h 4h 5h 6h 7h 8h 9h th jh qh kh ah]] } if { $first } { set cards [setdiff $cards qs] } if { $down != "0" } { set tmp [lsearch -inline -all -regexp $cards "^.$data(suit)$"] if { [llength $tmp] > 0 } { set hasSuit 1 set cards $tmp } else { set hasSuit 0 } unset tmp } else { set hasSuit 0 ;# make sure var is set } set high [list] foreach x $data(pot) { if { $x != "" && [string match *$data(suit) $x] } { lappend high $x } } set high [lindex [lsort -command sortByFace $high] end] foreach x $ai(play,$data(diff,$who)) { foreach {expr cmd ptn} $x {break;} set cards [lsort -command sortByFace $cards] if { $hasSuit } { set good 0 set goDown [lsort -decreasing -command sortByFace $cards] foreach y $goDown { set myHigh $y if { [numValue $myHigh] < [numValue $high] } { set good 1 break; } } if { !$good } { set myHigh "" } unset good } else { set myHigh "" } if { $ptn == "LOWEST" } { set ptn [lindex $cards 0] } elseif { $ptn == "HIGHEST" } { set ptn [lindex $cards end] } elseif { $ptn == "HIGHESTSAFE" } { if { $down == "0" } { continue; } else { set ptn $myHigh } } if { [expr $expr] } { if { $cmd == "filter" } { AIgetBestCardFilter cards $ptn continue } elseif { $cmd == "play" } { return $ptn; } } } # just in case... return [lindex $cards 0]; };# AIgetBestCard proc AIgetBestCardFilter {var pattern} { upvar 1 $var myVar set tmp [setdiff $myVar [lsearch -inline -all -glob $myVar $pattern]] if { [llength $tmp] > 0 } { set myVar $tmp } return; };# AIgetBestCardFilter proc doPassCards {} { global data coords # turn off binding .c bind player0 {} switch -- $data(round) { "1" {set dirs "1 3 0 2"} "2" {set dirs "2 0 3 1"} "3" {set dirs "3 2 0 1"} } foreach x [list 0 1 2 3] { set up($x,ids) [.c find withtag "player$x&&up"] ;# ids set up($x,faces) [list] ;# face values foreach y $up($x,ids) { lappend up($x,faces) [set val [fullValue $y]] .c dtag $y player$x set pos [lsearch $data(cards,$x) $val] set data(cards,$x) [lreplace $data(cards,$x) $pos $pos] } } foreach x [list 0 1 2 3] { set recip [lindex $dirs $x] foreach y $up($x,faces) { lappend data(cards,$recip) $y .c addtag player$recip withtag cardNum$y } } sortPlayerCards foreach x $data(cards,0) { .c itemconfig [.c find withtag cardNum$x] -image ::img::$x } foreach x "$data(cards,1) $data(cards,2) $data(cards,3)" { .c itemconfig [.c find withtag cardNum$x] -image ::img::back } set base1 $coords(tb,base) set diff1 $coords(tb,diff) set base2 $coords(lr,base) set diff2 $coords(lr,diff) for {set i 0} {$i < 13} {incr i} { .c coords [set c cardNum[lindex $data(cards,0) $i]] [expr {$base1+($i*$diff1)}] 309 .c raise $c .c coords [set c cardNum[lindex $data(cards,3) $i]] [expr {$base1+($i*$diff1)}] 15 .c raise $c .c coords [set c cardNum[lindex $data(cards,1) $i]] 15 [expr {$base2+($i*$diff2)}] .c raise $c .c coords [set c cardNum[lindex $data(cards,2) $i]] 444 [expr {$base2+($i*$diff2)}] .c raise $c } set moves [list "0 -15" "15 0" "-15 0" "0 15"] foreach x [list 0 1 2 3] { foreach y [.c find withtag "(player$x && up)"] { eval .c move $y [lindex $moves $x] } } set data(doing) "accept" makeButton "Accept Cards" doAcceptCards setStatus "Click \"Accept Cards\" to continue" };# doPassCards proc doAcceptCards {} { global data # here, we need to: # a) set all cards "down" not "up", and move 'em to the right spot # b) set up the bindings for the first round # c) fire off the AI to move, if the player doesn't have the 2 of clubs foreach x [.c find withtag "(player0 && up)"] { .c dtag $x up .c addtag down withtag $x .c move $x 0 15 } foreach x [.c find withtag "(player1 && up)"] { .c dtag $x up .c addtag down withtag $x .c move $x -15 0 } foreach x [.c find withtag "(player2 && up)"] { .c dtag $x up .c addtag down withtag $x .c move $x 15 0 } foreach x [.c find withtag "(player3 && up)"] { .c dtag $x up .c addtag down withtag $x .c move $x 0 -15 } destroy .c.btn ;# remove the "accept" button startPlay };# doAcceptCards proc startPlay {{where ""} {aiPause 0}} { global data set data(doing) play2 set msg "Select a card to play" # OK... let's find the two of clubs, if we can foreach x [list 0 1 2 3] { if { [lindex $data(cards,$x) 0] == "2c" } { set where $x; set msg "Click the Two of Clubs to being the round" set data(doing) play1 } } set data(pot) [list {} {} {} {}] set data(suit) {} if { $where == "0" } { # the human player has the two of clubs setStatus "Click the Two of Clubs to begin the round" doPlayersTurn } else { if { $aiPause > 0 } { after $aiPause [list runAI $where] } else { runAI $where } } };# startPlay proc runAI {who} { global data # Start running the AI (ie, computer players start throwing out cards for this round) # from player $who (1, 2 or 3). When we get to player 3, we stop for the human # player to take his turn, then carry on at player 1. Stop when everyone's had a go. setStatus "Waiting for $data(name,$who) to move..." update set time [lindex [shuffleList [list 200 220 250 300 320 350 500]] 0] after $time # for all the cards $who, see what an AI of his intelligence would play set card [AIgetBestCard $who] set len [llength $data(cards,$who)] # and actually play it doPlayCard $card $who doNextPlayer $who };# runAI proc doNextPlayer {last} { global data if { [lsearch $data(pot) {}] == "-1" } { doEndRound } elseif { $last == "2" } { doPlayersTurn } else { after 350 "runAI [lindex [list 1 3 XXX 2] $last]" } };# doNextPlayer proc doPlayCard {value who} { global data if { $who != 0 } { scan $value "%1s%1s" v1 v2 set text "$data(name,$who) plays the [spellValue $v1] of [spellSuit $v2]s" setStatus $text } .c raise cardNum$value .c addtag inPlay withtag cardNum$value .c itemconfigure cardNum$value -image ::img::$value ;# show AI cards doMoveCard .c cardNum$value $who set pos [lsearch $data(cards,$who) $value] if { [string range $value end end] == "h" } { set data(hearts) 1 } set data(cards,$who) [lreplace $data(cards,$who) $pos $pos] set data(pot) [lreplace $data(pot) $who $who $value] if { $data(suit) == "" } { set data(suit) [string range $value end end] } };# doPlayCard proc doPlayersTurn {} { global data .c bind player0 doPlayersTurnSub setStatus "Select a card to play" };# doPlayersTurn proc doPlayersTurnSub {} { global data # Use 'current' tag to tell which card was clicked (thanks RS!) set card [.c find withtag current] set v(full) [fullValue $card] scan $v(full) "%1s%1s" v(face) v(suit) set played [expr {4-[llength [lsearch -all $data(pot) {}]]}] set hasNonHearts [expr {[llength [lsearch -all -glob $data(cards,0) "?h"]] != [llength $data(cards,0)]}] if { $played == "0" && $data(doing) == "play1" && $v(full) != "2c" } { set valid 0 set msg "You must lead with the 2 of Clubs" } elseif { $played == "0" && $v(suit) == "h" && !$data(hearts) && $hasNonHearts} { set valid 0 set msg "Hearts has not been broken. Choose another suit" } else { set hasSuit [expr {[lsearch -glob $data(cards,0) "?$data(suit)"]!="-1"}] if { $hasSuit && $v(suit) != $data(suit) } { set valid 0 set msg "You must follow suit; play a [spellSuit $data(suit)]." } elseif { $data(doing) == "play1" && ($v(suit) == "h" || $v(full) == "qs") } { set valid 0 set msg "You cannot play a Point Card in the first round." } else { set valid 1 } } if { $valid } { # play the card .c bind player0 {} setStatus "You play the [spellValue $v(face)] of [spellSuit $v(suit)]s" doPlayCard $v(full) 0 doNextPlayer 0 } else { doErrorClick $card $msg } };# doPlayersTurnSub proc doEndRound {} { global data # everyone player has played a card; sort scores, check if all cards # dealt have been played (and show scores if they have). # find who scored highest set pot $data(pot) foreach x [lsort -decr [setdiff "0 1 2 3" [lsearch -all -glob $pot "?$data(suit)"]]] { set pot [lreplace $pot $x $x] } set pot [lsort -command sortByFace $pot] set high [lindex $pot end] set player [lsearch $data(pot) $high] ;# $player (0-3) played the highest card setStatus "" # tally up points foreach x $data(pot) { if { $x == "qs" || [string range $x end end] == "h" } { lappend data(points,$player) $x } } switch -- $player { 0 {set x 0 ; set y 25} 1 {set x -25 ; set y 0} 2 {set x 25 ; set y 0} 3 {set x 0 ; set y -25} } after 450 for {set i 0} {$i < 20} {incr i} { .c move inPlay $x $y update after 5 } .c delete inPlay set cardsLeft [llength $data(cards,0)] if { $cardsLeft > 0 } { startPlay $player 350 return; } foreach x [list 0 1 2 3] { if { [llength $data(points,$x)] == "14" } { set not $x break; } } if { [info exists not] } { foreach x [setdiff "0 1 2 3" $not] { set last [lindex $data(score,$x) end] incr last 26 lappend data(score,$x) $last } set last [lindex $data(score,$not) end] lappend data(score,$not) $last } else { foreach x [list 0 1 2 3] { set last [lindex $data(score,$x) end] set points [llength $data(points,$x)] if { [lsearch $data(points,$x) "qs"] != "-1" } { incr points 12 } incr last $points lappend data(score,$x) $last } } foreach x [list 0 1 2 3] { set data(cards,$x) $data(points,$x) } sortPlayerCards # display player cards. Problem here is they won't necessarily have # 13 cards, but we do want them centered on the screen. # And the current code for showing a player's hand uses hard-coded values, # based on the fact there're always 13 cards to start with... foreach x [list 0 1 2 3] { if { [lindex $data(score,$x) end] >= $data(winAt) } { set data(playing) 0 showScores return; } } showScores deal };# doEndRound proc doErrorClick {card msg} { global data set binding [.c bind player0 ] .c bind player0 {} set picture [.c itemcget $card -image] .c itemconfigure $card -image ::img::back set text [.status cget -text] setStatus $msg update after 300 [list .c itemconfigure $card -image $picture] after 1000 [list .c bind player0 $binding] set data(statusAfter) [after 1000 [list setStatus $text]] };# doErrorClick proc setStatus {text} { global data if { [info exists data(statusAfter)] && $data(statusAfter) != "" } { set this $data(statusAfter) ; set data(statusAfter) "" foreach x $this { after cancel $this } } .status configure -text $text };# setStatus proc spellSuit {short} { set which [lsearch "c d h s" $short] incr which return [lindex "$short Club Diamond Heart Spade" $which]; };# spellSuit proc spellValue {val} { switch -- $val { a {set ret Ace} 2 {set ret Two} 3 {set ret Three} 4 {set ret Four} 5 {set ret Five} 6 {set ret Six} 7 {set ret Seven} 8 {set ret Eight} 9 {set ret Nine} t {set ret Ten} j {set ret Jack} q {set ret Queen} k {set ret King} default {set ret $val} } return $ret; };# spellValue proc doMoveCard {c item who {steps 10}} { # base measurements, for the center of the screen set tox 230 set toy 162 # adjust depending on which side the card comes from switch $who { 0 {incr toy 22; #incr tox -5} 1 {incr tox -22; #incr toy 5} 2 {incr tox 22; #incr toy -5} 3 {incr toy -22; #incr tox 5} } # don't bother with calls to 'global' for speed/data, we only use # them once here set time $::speed($::data(speed),time) scan [$c coords $item] "%s %s" origx origy if { ![info exists origx] } { puts "Error! \[[info level 0]\] / [$c coords $item]" parray ::data *,$who } if { $origx == $tox && $origy != $toy } { set stepx 0 set stepy [expr {round($steps*1.5)}] } elseif { $origy == $toy && $origx != $tox } { set stepy 0 set stepx [expr {round($steps*1.5)}] } elseif { $origy == $toy && $origx == $tox } { return; } else { set diffx [expr {abs($origx-$tox)}] set diffy [expr {abs($origy-$toy)}] if { $diffx > $diffy } { set stepy [expr {$steps*1}] if { [expr { round(ceil($diffx + $diffy))}] == "0" } { set stepx 0 } elseif { [catch {expr {$steps*(double($diffx) / $diffy)}} stepx] } { set stepx 1 } } else { set stepx [expr {$steps*1}] if { [expr {round(ceil($diffx+$diffy))}] == "0" } { set stepy 0 } elseif { [catch {expr {$steps*(double($diffy) / $diffx)}} stepy] } { set stepy 1 } } } set dirx ">" ; set diry ">" if { $origx > $tox } { set stepx [expr {$stepx*-1}] ; set dirx "<" } if { $origy > $toy } { set stepy [expr {$stepy*-1}] ; set diry "<" } while {1} { scan [$c coords $item] "%s %s" nowx nowy if { $nowx == $tox && $nowy == $toy } { return; } if { [expr {round(ceil($nowx-$tox))}] == 0 } { set stepx 0 } elseif " [expr {$nowx+$stepx}] $dirx $tox " { set stepx [expr {$tox-$nowx}] } if { [expr {round(ceil($nowy-$toy))}] == 0 } { set stepy 0 } elseif " [expr {$nowy+$stepy}] $diry $toy " { set stepy [expr {$toy-$nowy}] } $c move $item $stepx $stepy update idletasks after $time } };# doMoveCard proc fullValue {id} { set tags [.c gettags $id] set tag [lindex $tags [lsearch -glob $tags cardNum*]] return [string range $tag end-1 end]; };# fullValue proc shuffleList {list} { set length [llength $list] for {set i 1} {$i < $length} {incr i} { set rand [expr { int( rand() * $length ) }] set temp [lindex $list $i] lset list $i [lindex $list $rand] lset list $rand $temp } return $list; };# shuffleList proc setinter {arg1 arg2} { set list "" foreach x $arg1 { if { [lsearch -exact $arg2 $x] != "-1" } { lappend list $x } } return [lsort -unique $list]; };# setinter proc setdiff {arg1 arg2} { set list "" foreach x $arg1 { if { [lsearch -exact $arg2 $x] == "-1" } { lappend list $x } } return [lsort -unique $list]; };# setdiff proc setunion {arg1 arg2} { foreach x $arg1 { lappend arg2 $x } return [lsort -unique $arg2]; };# setunion proc doCardUpDown {} { # get the card's id set card [.c find withtag current] if { $card == "" } { error "Error finding card in 'doCardUpDown'!" } if { [lsearch [.c gettags $card] up] != "-1" } { .c dtag $card "up" .c addtag "down" withtag $card .c move $card 0 20 } elseif { [llength [.c find withtag "player0 && up"]] == "3" } { bell -displayof . } else { .c dtag $card down .c addtag up withtag $card .c move $card 0 -20 } if { [llength [.c find withtag "(player0 && up)"]] == "3" } { .c.btn configure -state normal } else { .c.btn configure -state disabled } };# doCardUpDown proc showOptions {} { global p data speed tmpOpt ai set thisCmd [lindex [info level 0] 0] if { [info exists dialog(cmd)] && !($dialog(cmd) == "" || $dialog(cmd) == $thisCmd) } { return; # already got another dialog up } set dialog(cmd) $thisCmd set dialog(win) .options set w $dialog(win) bind . "forceWindow $w" catch {destroy $w} toplevel $w wm withdraw $w wm title $w "$p(name) - Options" set destroyCmd [list closeDialog $w [list setNewOptions 1]] set cancelCmd [list closeDialog $w [list setNewOptions 0]] wm protocol $w WM_DELETE_WINDOW $cancelCmd .c configure -state disabled bind $w $destroyCmd foreach x [list name,1 name,2 name,3 speed] { set tmpOpt($x) $data($x) } pack [frame $w.top] -side top pack [frame $w.btm] -side bottom set tmpOpt(aiVals) [list] foreach x [lsort -int [string map [list text, {}] [array names ai text,*]]] { lappend tmpOpt(aiVals) $ai(text,$x) } set aai [labelframe $w.top.ai -text "Adjust AIs"] foreach x [list 1 2 3] { pack [frame $aai.$x] -side top -padx 2 -pady 2 pack [label $aai.$x.lName -text "Name "] -side left pack [entry $aai.$x.eName -textvariable tmpOpt(name,$x) \ -validatecommand {expr {[string length %P] <= 15}} \ -invalidcommand {bell -displayof %W} \ -validate key] -side left pack [label $aai.$x.lDiff -text "Difficulty "] -side left pack [spinbox $aai.$x.sDiff -values $tmpOpt(aiVals) \ -state readonly \ -textvariable tmpOpt(aiDiff,$x)] -side left $aai.$x.sDiff set $ai(text,$data(diff,$x)) } pack $aai -side left -padx 5 -pady 5 set as [labelframe $w.btm.speed -text "Animation Speed"] foreach x [list 0 1 2] { pack [radiobutton $as.$x -variable tmpOpt(speed) \ -value $x -text $speed($x,name)] \ -side top -anchor nw } pack $as -side left -padx 20 -pady 5 -fill x pack [label $w.btm.image -image ::img::logo1] -side left -padx 5 -anchor center pack [frame $w.btm.btn] -side left -fill x -padx 20 pack [button $w.btm.btn.ok -command $destroyCmd -text "OK" \ -width 8 -default active] -side top -pady 8 pack [button $w.btm.btn.cancel -command $cancelCmd -text "Cancel" \ -width 8] -pady 8 update center $w wm deiconify $w update wm resizable $w 0 0 raise $w focus -force $w return; };# showOptions proc setNewOptions {set} { global tmpOpt data if { $set } { # update options foreach x [list name,1 name,2 name,3 speed] { set data($x) $tmpOpt($x) } foreach x [list 1 2 3] { set data(diff,$x) [lsearch $tmpOpt(aiVals) $tmpOpt(aiDiff,$x)] } } # now remove temporary changes unset tmpOpt };# setNewOptions proc forceWindow {w} { wm deiconify $w raise $w bell -displayof . focus -force $w return -code break; };# forceWindow proc closeDialog {w {cmd ""}} { bind . {} destroy $w focus . .c configure -state normal if { $cmd != "" } { uplevel #0 $cmd } };# closeDialog proc showScores {{cmd ""}} { global p data dialog set thisCmd [lindex [info level 0] 0] if { [info exists dialog(cmd)] && !($dialog(cmd) == "" || $dialog(cmd) == $thisCmd) } { return; # already got another dialog up } set dialog(cmd) $thisCmd set dialog(win) .scores set w $dialog(win) bind . "forceWindow $w" catch {destroy $w} toplevel $w wm withdraw $w set destroyCmd [list closeDialog $w $cmd] wm protocol $w WM_DELETE_WINDOW $destroyCmd .c configure -state disabled # see which place we're in for the window title set myScore [lindex $data(score,0) end] set allScores $myScore lappend allScores [lindex $data(score,1) end] lappend allScores [lindex $data(score,2) end] lappend allScores [lindex $data(score,3) end] set allScores [lsort -integer $allScores] set bestScore [lindex $allScores 0] set worstScore [lindex $allScores end] set place [lsearch $allScores $myScore] set place [string map "0 First 1 Second 2 Third 3 Last" $place] wm title $w "Scores -- $place Place" set tmp [label .nameThatWontBeUsed] set lFont [$tmp cget -font] catch {destroy $tmp} set font [font actual "[font actual $lFont] -weight bold"] set font2 [font actual "[font actual $font] -overstrike 1"] set width 85 pack [frame $w.top] -side top -fill both set allRed 1 foreach x [list 0 1 2 3] { pack [frame $w.top.player$x] -side left -fill y set MyHighest [lindex $data(score,$x) end] if { $MyHighest == $bestScore } { set color($x) blue set color2($x) blue } elseif { $MyHighest >= $data(winAt) } { if { $allRed } { set color($x) red } else { set color($x) black } set color2($x) red } else { set color($x) black set color2($x) black } pack [label $w.top.player$x.name -foreground $color($x) -font $font \ -text $data(name,$x) -width $width -justify center \ -compound top -image ::img::blank] \ -anchor nw -side top -fill x set round 0 if { [llength $data(score,0)] > 1 } { foreach y [lrange $data(score,$x) 0 end-1] { pack [label $w.top.player$x.r$round -foreground $color($x) \ -font $font2 -text $y -width $width \ -justify center -compound top \ -image ::img::blank] \ -anchor nw -side top -fill x incr round } } pack [label $w.top.player$x.r$round -foreground $color2($x) \ -font $font -text [lindex $data(score,$x) end] \ -width $width -justify center -compound top \ -image ::img::blank] \ -anchor nw -side top -fill x } pack [button $w.top.ok -text "OK" -command $destroyCmd -width 8 -default active] \ -side left -padx 5 -anchor center bind $w $destroyCmd if { $worstScore >= $data(winAt) } { pack [label $w.btm -text "Game over! You came in $place Place."] -side bottom setStatus "Game over! You came in $place Place." } else { setStatus "Close the Scores dialog to continue playing." } update center $w wm deiconify $w update wm resizable $w 0 0 raise $w focus -force $w return; };# showScores proc center {win} { # Center window $win on the screen set w [winfo width $win] set h [winfo height $win] set sh [winfo screenheight $win] set sw [winfo screenwidth $win] set reqX [expr {($sw-$w)/2}] set reqY [expr {($sh-$h)/2}] wm geometry $win +$reqX+$reqY update idletasks after 10 return; };# center proc chk_exit {} { global p set ans [tk_messageBox -type yesno -icon question \ -title "$p(name) Verison $p(ver)" \ -message "Are you sure you want to quit?"] if { $ans != "no" } { exit } };# chk_exit proc showHelp {} { global p help set w .help if { [winfo exists $w] } { wm deiconify $w raise $w focus $w return; } toplevel $w wm title $w "$p(name) - Help" pack [listbox $w.l -selectmode single] -expand 0 -fill y -side left -anchor nw bind $w.l <> "showHelpTopic $w" pack [text $w.t -width 50 -height 20 -yscrollcommand "$w.s set" \ -wrap word -font [list Arial 10] -padx 5 -pady 8] \ -expand 1 -fill both -side left -anchor nw $w.t tag configure "title" -font [list Arial 18 bold] $w.t tag configure "indent" -lmargin2 15 $w.t tag configure "indent2" -lmargin1 8 -lmargin2 20 $w.t tag configure "italic" -font "[font actual [$w.t cget -font]] -slant italic" $w.t tag configure "link" -font "[font actual [$w.t cget -font]] -underline 1" \ -foreground blue $w.t tag bind link "%W configure -cursor hand2" $w.t tag bind link "%W configure -cursor {}" pack [scrollbar $w.s -command "$w.t yview"] -fill y -side left -anchor ne # populate list, show index topic foreach x [lsort [array names help -regexp {^[0-9]+$}]] { $w.l insert end $help(title,$x) $w.t tag bind goto$x "showHelpTopic $w $x" } focus $w showHelpTopic $w 0 $w.t configure -state disabled };# showHelp interp alias {} v+ {} append set help(0) {} set help(1) {} set help(2) {} set help(3) {} set help(title,0) "Overview" set str "Hearts is based on the Microsoft Windows[format %c 174]" v+ str " game of the same name. The aim of the game is to get rid of all" v+ str " your cards, scoring as few points as possible in the process." set help(text,0) [list $str {}] ; unset str set help(title,1) "How to Play" set str(1) "1. At the start of the 1st, 2nd and 3rd rounds, select three cards" v+ str(1) " to pass to your opponent (left, right, and then across). On" v+ str(1) " the 4th round, no cards are passed. To select a card, click on" v+ str(1) " it. To deselect a card, simply click it again." set str(2) "2. The player with the 2 of Clubs plays it, to begin the round." set str(3) "3. Moving clockwise around the table, every player plays one card." v+ str(3) " You must play a card of the same suit, if you have one. If not, you" v+ str(3) " can play any card, with the exception that a) you cannot play a point" v+ str(3) " card on the first hand of a round, and b) you cannot play a Heart" v+ str(3) " unless one has been played previously in the round, or unless" v+ str(3) " you have no other cards left." set str(4) "4. Whoever plays the highest card of the same suit as that which opened" v+ str(4) " the hand collects all the cards. He or she gains one (1) point for every" v+ str(4) " Heart in the hand, and thirteen (13) points for the Queen of Spades." set str(5) "Play continues like this until all cards have been played. A new round is" v+ str(5) " then started; this continues until the first player ends a round with more" v+ str(5) " than 100 points, when the game ends. Whoever has the lowest score at this" v+ str(5) " time is the winner." set help(text,1) [list $str(1) indent "\n\n" $str(2) indent "\n\n" {}] lappend help(text,1) $str(3) indent "\n\n" {} $str(4) indent "\n\n" {} lappend help(text,1) $str(5) {time is the winner.} indent "\n\n" {} unset str set help(title,2) "Scoring, Tips & Tricks" set help(text,2) [list "* As mentioned in " {indent} "How to Play" [list link goto1 indent] ", all Hearts are worth one (1) point, and the Queen of Spades is worth thirteen (13) points. The exception to this rule is that, if you collect all the point cards - the Queen of Spades and all the Hearts - every other player on the game scores twenty six (26) points, and you don't score any. This is called " {indent} "Shooting the Moon" [list italic indent] ". Shooting the Moon is easier to do if your hand contains a large number of point cards." {indent} "\n\n" {} "* Avoid taking hands which contain point cards." indent "\n\n" {} "* In rounds that start by passing cards to other players, get rid of the highest valued cards you have first (aces, kings, etc). Then, during the game, try to get rid of your higher valued cards early on, while it's more likely that other players will be able to follow suit, and won't be able to drop in a point card." indent "\n\n" {} "* Keep track of which cards have been played, as best you can. In particular, look out for whether the Queen of Spades has been played yet, and whether Hearts has been broken (whether a Heart has been played yet in this round)." indent] set help(title,3) "Changes" set help(text,3) [list "$p(name) is currently at version $p(ver). Below are the changes which occurred over various versions:\n\n" indent] lappend help(text,3) "0.1 - Initial version, shows the canvas and deals cards, but nothing else." indent "\n" {} lappend help(text,3) "0.2 - you can now pick which three cards to pass on." indent \n {} lappend help(text,3) "Beginning of AI so the other players can also pick cards." indent2 \n {} lappend help(text,3) "Game starts if an AI has the 2 of clubs, but fails when it's the (human) player's turn." indent2 \n {} lappend help(text,3) "0.3 - First playable version. Basic level AI only, and a poor score dialog, but the game works. Also added displaying the four player's names on the canvas, by their cards." indent \n {} lappend help(text,3) "0.4 - Temporary (and, as it turned out, buggy) score dialog removed, and replaced with a proper one." indent \n {} lappend help(text,3) "Changed the way the card backs are stored - the cardback array is now set via a proc (so that it can be unset to free memory, but set again later); later, you'll be able to select/change the cardback image at any time. The cardback() array's keys no longer need to be incrementing integers for random selection, either, so the images can be named." indent2 \n {} lappend help(text,3) "Also removed a card-back image I didn't like, and added 2 more (to make 8 in total, better for displaying the 'select card back' screen): a red pattern, and a Tcl Powered one." indent2 \n {} lappend help(text,3) "\"package require Tk\" also added by Brian Theado \[http://mini.net/tcl/561]." indent \n {} lappend help(text,3) "0.5 - Added a dialog for selecting which cardback you want to use." indent \n {} lappend help(text,3) "Small internal change to the code for \"transient\" windows, to better handle error cases (which shouldn't be possible, but better safe than sorry), and to deactivate .c instead of removing the bindings on the tags - same effect, but less chance of it going wrong somewhere later." indent2 \n {} lappend help(text,3) "0.6 - The main window is now centered on startup, and isn't resizable." indent \n {} lappend help(text,3) "0.7 - AIs could play a Heart on the first round. Bug found by \[rdt]." indent \n {} lappend help(text,3) "0.8 - Added 'debugging' \[puts] in doMoveCard, to try and catch the bug found by rdt. (If origx isn't set, it prints the arguments it was called with, and the results of the \[\$c coords \$item] (where \$origx should come from)." indent \n {} lappend help(text,3) "Also updated the 'About' dialog to acknowledge contributions from people who I'd thus far left off due to forgetfulness." indent2 \n {} lappend help(text,3) "0.9 - Fixed bug mentioned in 0.8 (99% sure - extra \[puts] left in just in case, for now). Also fixed a bug in the score dialog that made it say the game was over if someone scored more than 10 points - it should be more than 99, but I'd changed it once to check it worked and never set it back." indent \n {} lappend help(text,3) "0.10 - Changed the way the AI works, so that all that's needed to define which cards get put up at the start of a round is a simple list of glob patterns (ie, '*a *k *q *j *t ... *2' to go from highest to lowest)." indent \n {} lappend help(text,3) "0.11 - Changes to the AI, because the way the new system was set up sucked ;)" indent \n {} lappend help(text,3) "0.12 - Introduced a third (and final?) AI, slightly better than the last in avoiding the Queen of Spades" indent \n {} lappend help(text,3) "0.13 - Bug in the AIchooseCardsUp proc fixed where, with multiple \[lreplace] calls, the later ones were getting list indexes that no longer existed" indent \n {} lappend help(text,3) "0.14 - The Scores dialog now shows scores over 100 in red, at game end (suggsted by RDT)." indent \n {} lappend help(text,3) "Removed lots of old debugging calls to \[puts], and fixed the OK button on the Scores dialog to have \"-default active\", instead of \"-state active\"" indent2 \n {} lappend help(text,3) "0.15 - Added a variable, $data(winAt), which stores the number of points needed to lose the game. Saves changing it in multiple places for debugging things." indent \n {} lappend help(text,3) "Minor changes to score dialog's appearance (to allow less red, and to add overstriking of scores from previous rounds)" indent2 \n {} lappend help(text,3) "0.16 - Added more status bar messages, so it doesn't appear to hang at the end of a round/game." indent \n {} lappend help(text,3) "0.17 - Added Button-3 event that raises a player's card, so you can see the whole thing." indent \n {} lappend help(text,3) "Removed \[hastag] proc - it was only used once, so I just used it's (one-line) body directly in the spot where it was being called. Marginally increases the speed." indent2 \n {} lappend help(text,3) "0.18 - Added Options dialog." indent \n {} lappend help(text,3) "There's no longer a delay (previously 350ms) between the right AI playing a card, and the player bindings being set (in doNextPlayer)." indent2 \n {} lappend help(text,3) "Status bar is now set via a \[setStatus] proc, rather than by directly configuring the widget, so that delayed calls to set it via \[after] can be cancelled." indent2 \n {} lappend help(text,3) "AIs are now numbered 0-2 (not 1-3) for \[lindex] purposes" indent2 \n {} lappend help(text,3) "Scoring changes (buggy, but fixed in 0.19, see below)" indent2 \n {} lappend help(text,3) "0.19 - Fixed scoring bugs found by \[Anon] on the Wiki." indent \n {} lappend help(text,3) "0.20 - Options dialog now does validation on the entry widgets, to keep AI names at most 15 characters long. This is to help avoid them needing two lines to fit on the screen, since it's a whole lot of hassle to implement right that I don't need :)" indent \n {} lappend help(text,3) "0.21 - Added help-files" indent \n {} lappend help(text,3) "Added Heart image into Options dialog, to fill some empty space and make it more attractive" indent2 \n {} lappend help(text,3) "0.22 - Fixed bug in doEndRound, when someone has all the point cards (Queen of Spades and all the Hearts). Found by Gerald Lester." indent \n {} proc showHelpTopic {w {force ""}} { global help # show a specific help topic in the window # $w is toplevel, $w.t is the text frame if { $force != "" } { $w.l selection clear 0 end $w.l selection set $force $w.l activate $force } $w.t configure -state normal $w.t delete 1.0 end set helpFile [$w.l curselection] $w.t insert end $help(title,$helpFile) title $w.t image create end -image ::img::logo2 -align center -padx 20 $w.t insert end "\n\n" foreach {text tags} $help(text,$helpFile) { $w.t insert end $text $tags } $w.t configure -state disabled };# showHelpTopic proc aboutHearts {} { global p set format "%b %e %Y" set msg "Hearts was written by Mike Griffiths (talvo@talvo.com) " append msg "on [clock format $p(firstdate) -format $format]. " append msg "It's now at version $p(ver), and was last updated on " append msg "[clock format $p(lastdate) -format $format]." append msg "\n\nCode, ideas, feedback, etc, were greatfully received from:\n" append msg "Richard Suchenwirth, Vince Darley, Gerald Lester, and especially R. Dale Thomas." append msg " Thanks!" append msg "\n" append msg "\nTODO: (see top of code for a more up-to-date list)" append msg "\n* Make AI names actually show up properly (buggy)" tk_messageBox -icon info -title "$p(name) Version $p(ver)" \ -message $msg };# aboutHearts namespace eval ::img {} image create photo ::img::blank ;# used for compound [label]s, to get sizes right # logo images; logo1 = heart, logo2 = cards image create photo ::img::logo1 -data { R0lGODlhPgA3APcAANnZ2QYAACIAAIAAAIEAAIQAAHIAABEAAAUAAA8AAAMA AAgAAFoAAH8AAMgAAPkAAP9FRf+Li/8+Pv0ICPgNDbcAADgAAAAAAHEAAOAA APQAAPAAAPEAAJkAAFYAAHQAAPgAAPoAAP8AAP8FBf+urv/////8/P/r6/9B Qf4AALgAADcAAPgBAf1DQ/+MjP+EhP9YWP8ICP8KCs0AAB8AACAAAM8AAP8B Af9QUP/Nzf+4uP86Ou4AAHoAAAkAAKUAAP8fH/9hYf+env/09P/Q0P99ff8k JNMAAFkAAHYAAP0AAP9LS//Kyv+jo6oAAAQAAA4AANsAAP8EBP9iYv8uLv8a Gv8REf8PD/8ODv9vb/+Hh//l5f/+/v+Zmf8hIZsAAB4AANUAAP9dXf/39/97 e/8JCa0AAP8GBv8wMP+vr//5+f+bm/8dHdkAAB0AAP90dHwAAP8CAv9nZ//X 19oAAFwAABgAAP9bW/8QEOYAAAsAAHgAAP8pKf+oqP/a2v+7u/+rq0QAABIA AP+Kiv/Gxv9ERLUAAK4AAP/b2/9SUu0AAA0AAP/i4v+5uf+/v0gAABQAAO8A AP8nJ//o6P87O/9UVP/w8HUAAP9/f/+AgP8HB/+pqf8YGHsAAP+UlP/Ly/9y coIAAP/Hx/85OUsAALEAAEEAAOQAABAAAG0AAOEAAPsAAEUAAEIAAKsAAKQA APUAADoAAAIAAHAAAN8AAPIAAD8AADsAAKEAAAEAAGQAAJoAAJ4AAJYAADYA AOoAAOsAADAAAC4AAC0AAKwAAJQAAGcAAOMAAGkAACwAAKkAACkAAGYAANwA AIYAAN0AACoAACgAAKMAAIoAAP////////////////////////////////// //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////yH5BAEAAAAALAAAAAA+ADcAAAj/AAEIHEiwoMGD CBMqXMiwocOHECMyDCBgAIECBg4gkKgwQQIACiQCWMCggYMHECJImEChgoUL EgciOIChQAYNGzh08KDg4YUPIEKIECFiBIkSJk6gSKFihUQAFiqwaOHiRQQY MWSImEEjwMILNWwAFCFwoIgbOHKUKKFjB48ePgACEDiQYEEfP4AEETIEYAmB AokUMfLgCBKAAAQOHHghiRKAIgQOJHhjCZMSJZqIcPIEIACBAwkOhBJFyhQq VaxcwYIli5YtJbh08ZLiC42CAMCEAShC4ECCBcWUGEOmjBkEAAEIHEgQgAIn AEUIHEhQxBk0aUqoWcOmjRsAAAAA/6DRpmDBggJhcCnxRgQcgAAEDiT4xAlA EQIHEiQYR86WEnPY0KkDAICdKAULFiR4p8QWPHn0AAQgcODAPQBFCBxIsKBA Pn1K+GEjAs6FAQYNGhQo5U8JQCICAQQgcKBAQXkAihA4kGBBgoNK+AESokII gwYNDixDqEQhQwABCBwo8BBAEQIHEixoMEIJREAMGjRoMFGJIooSAAQgcOAi RQBFCBxIsKBBIIxKNDJo0KDBOEwciXgEEIDAgZAiARQhcCDBggZFSJpUgtLB gwcHVrJ0ZQBAAAIHXgIoQuBAggUNDsRUItPBgwcHatrEaQBAAAIFXugEUITA gQQLGiTo6f/TwYMHCYICMgAgAIECL4QCKELgQIIFDRLE8engwYMEQQEZABCA QIGL8gAUIXAgwYIGCS4RdfDgQYKjrgwACECgwASKAIoQOJBgQYMERxQ6ePCg wQEAAQgUmEARQBECBxIsaPAgwoQJBwAEIFDgBUMARQgcSLCgwYMIEyYcABCA QIEXOgEUIXAgwYIGDyJMmPARQAACBV7oBFCEwIEECxo8iDAhwjyLAAIQODAQ QBECBxIsaPAgwoQI4VwACEDgwEWKAIoQOJBgQYMHESY0GAkSQAACBwLQkweg CIEDCRY0eBBhQoOGLgAEIHCgQFJKAIoQOJBgQYMHESYseAkgAIH/AwdeKAVQ hMCBBAsaPIgwIcE8ggACEDiQoCklAEUIHEiwoMGDCBMO3AMQgMCBBAFcOARQ hMCBBAsaPIgwocBTqAACEDiQoMBUAEUIHEiwoMGDCBMK/AAQgMCBBAcqcAJQ hMCBBAsaPIgw4SkoAAEIHEiQIBRVAEUIHEiwoMGDCA+uYgUQgMCBBAsCaLUK oAiBAwkWNHgQoUFXFwACEDiQYEGBrwCKEDiQYEGDBxEWhBULIACBAwkWHCjr FUARAgcSLGjwIEKCswACEDiQYMGCF5wAFCFwIMGCBg8iFEhLD0AAAgcSLGhw RS2AIgQOJFjQ4EGED2wBBCBwIMGCBgXe/+IAUITAgQQLGjx4EBdAAAIHEixo cOCFW5EAihA4kGBBgwcL4soFEIDAgQQLGiR4QRdAEQIHEixo8CBBXBcAAhA4 kGBBgwYv7AIoQuBAggUNHhTI6wJAAAIHEixo8CCAC7sAihA4kGBBgwd3XQAI QOBAggUNHhx4oRdAEQIHEixosGCHCwABCBxIsKDBgwUv+PoFUITAgQQLGhQB zBdAAAIHEixo8CDCC8F+ARQhcCDBggUPCQMIQOBAggUNHkQ4cBgxgCIEDiRY cGCxCwABCBxIsKDBgwgLyjJ2DKAIgQMJEjyGDCAAgQMJFjR4EGHCZLQAihA4 kKCIVcqWAQQgcFQgwYIGDyJMOJBZM4AiBA4UeGrYBYAABA4kWNDgQYQJC8py BlCEwIHPoAEEIHAgwYIGDyJMmDCatAciRDiTpVChQoUKDyabxkyhQoUKFSpU qFChwIAAOw==} image create photo ::img::logo2 -data { R0lGODdhOABCAPcAAP////z8/Lu7u4iIiGRkZK6ursHBwYODg8vLy4CAgMLC wu7u7pmZmf7+/uvr683NzZqamv39/tPT019fX97e3r29vfLy8rOzs/n5+c/P z4aGht3d3fr6+sXFxYqKiuDg4KysrHJycqenp/Dw8ZCQkMjIyPb29ltbW9DQ 0KmoqDAwMCYmJnx8fJycnJaYmC4uLgAAAEVFReXl5bW1tY+Pj0tLS7CxsXR0 dJ6enlhYWHFxcB8fH+Pj411dXTIyMm5ublZWVr29vzk5OT09PczMyz4+PgcH B2trayQkJNjZ2Ts7O+jp6Xl5edbX135+fkxMTIyMjP7//7m6w+bn57+/vyIi IuTj45OTkFhDAqqnoGZmZpWVlff4+aOjo008AtLU3Hp6eqmqqlhYW398ctXU 1Onr9VRHF417Me/x+ZaVkjQpA5OTkz0xBYaAZ2xsbGNeTpuDKPLz96qqqrmr nZaWlsfHx6GhoV5cWSUZABANAWRlZ5CQkvX19bi4uPn//42WlpyUlOr8/JaE hIsAAMkAAIQoKJKRkRobG9vm5pEaGv8AAPkAAH88PM/Z2YF3d8DMzGFhYVFR UbO/v7IAAGscHKICAnMXF8jS0qSkpPAAANwAAFg4OP3//ywsLJN3dxkYGOzs 7F8aGmI3N1hFRf0AAGUAAHwBAcRZWfL4+JmennF6ernOzikpKXV1c6Odg+Dh 5fDy+T89NqaQNePn+MfFuY+Jb2hoaB0dHeXl5uPm8pOOfbi5uujp5m5YBdey CPvGAK+JAmprcfP1/aGhpqukfMiYAI93GYxvBZaJU4WDeKSkpp6iozU1NW1s aPX17uXn7nd3dwsKBGBYOkU8GMjIw+jr+Tc4OH6EhJyfnzk9PZqZkq2xwfn6 /+Pq6nZVVcO9vbOoqLaHh2clJXZgYFVVVfDy/J+emkYPD/D09D9FRQ8FBXB0 dOjs7O/09DonJ2VsbNrc6aSii9a7N/b6+nUlJaKnp3dzY+jn5+7t7VJSUmJi YkdHR05OTgkJCYWFhf///ywAAAAAOABCAAAI/wABCBxIsKBBAAEEDCBQ4ODB gwcPHjxo4ACCBAoWMEBw8ODBgwcPDmzg4AEEAxEGSphw8ODBgwcPCqRQAYGF gxcqHDx48OBBgxgyaNhwUCAHARgOHjx48CDBDh4+BDhIEESIgwcPHjw4kIGI EQcNNiAh4eDBgwcPAijxoIHBAAJMGIxwAsXBgwcPHjSQ4iAAFSsGJEiQgEUL AA8GHDx48OBBAC4MHHwBEIbAgTBiACgwAiAAgQMJFjR48KAJCDIKzgAIQ+DA gR0W0IgAEIDAgQQLGjx40EENBwRtAIQhcOBAAQBu4AAIQOBAggUNHkSYgwVB HQBhCBwocAcPAB8mYP8ACEDgQIIFDR482KCHhoE+AMIQOBDGDh4AAACo8AMg AIEDCRY0eBAhACBBBAoBCEPgQBg7eAAAAADAEBEAAQgcSLCgwYMIiRTZAKAA DBgwjBxBAgPGjiQDKxBAiBAhwoIGlCwBQIQJiyYAnMCAAeMJQSgGECJECCCK lCkIAVChYZBHFRhIkhC0okICQoQIr2DJglCgFhYGJWzhYnBAF4QIEUrxguUL QoEnbCA0CCYMQoQIAYjBMgahQDIJliAkOGNLAIQIEQIoY+YMGoQCTTjgQnCD Bxo0aGy5UQSBjA9cECJEmEbNF4QDk6wZGODGBgoUKGxYssXJlhtaaGRYghD/ YcERbNogJOjmhsALOhACCMDjw4cwApwQQYhw4Bs4cRASPCIHAIkkCA1aKNAC IcKBUrzMQVjwAAE6CBHWsYMQIcE7eJogLMiEDEKEUJYgREiQSB49CAmi2IIQ YQeAawACEDiQYEGDAPYg4XOQoI8+APz8ARToIMEjFQ4ePAjAxA4EBwcWUCJQ 0CBChcgcFGhoR4ODBw8KPNTj4EAdFwAgSqRI0SJGgRo5elQQ0oyDBw8OhBLp oEAUOQRKmqRIkSJKjCoRsnRpoIcWBw8eJIhhgIyDADDZEChpkiJFiiZlUqRI 0yZOADY4MXHw4MGCJT4cRHBioKRJABUJHCiwkJ8R/z4MAAQgcCDBggYPIuzk ZKCkSQAVCRyoSJMnAAIgAQQgcCDBggYPIgzzCdRARKEAKhI4UJMoPx9acAAI QOBAggUNHkTooUnBUZoUKVJEqpKoQFaAjECIECFCgnwuGJRUKtMgU6cuoQJA pwJChAgRFpxR52AqT6pW+RFogBVChAgRGuTCAWHBJT5KIEQosJWrV7AQIkR4 MAEkhAgHxsLiRdYYPXIsOIiAEAAZGgsQEgwQwgJChANNzKJVS4etT7eqOLlg JYBBPlAGbMEVACEATCgQEmyQC5euXbAQLnDgQEYFKAu6ODBoYo0tNwxkBCg4 owvCgWh4Jejl6xcwNcEQIP8syAMDQg486Ng6ksFKAAAPcARAKGwYMVnAigEz dgxZMmUmECJEKJCDFRFHQoRg0qCgBQvLxshi08vLG11BZuUagRAhQoQBPnzg MBCDFQbMPh1q5spZrmdcECJECCGECALIAQ0dFUaMAAhA4ECCBQ0eRJhQ4UKG DR0+hBgRoQMdJSRKlAgNyY0KHCRKfBhhBIRO0WjBiiJx4QIHHzYApCBw4IcP AzcsGQEAAAAAFHRJm1aLWrUoAAEIHEiwoEEASzDYSGXtExg6Lpa1WEPC0J9r 2GjQwJQtWwFQBCNoY9PLWLJt3A4eLCjgRDdH3r4tiQAgiSBwFjgACCcOHCcA 4Db/jZtAjoGMgQ3KmesF7BgybgcPCnRQAYGkc4RMjUIHIN2gSurW8XlUiRAl du3cmSr1LooEKHUaEIQXT94xKQcPAhgB4QOAS4xEIZonMAU9QUkGggPnZ2A9 MgD4WAjgpEiJgs/spTl40AQLBVM23EPUaMoHCh+SNEKFD4qbGwmu3fCwBYeN MGHyrXjxosgTPgUDYDh40IW+FC1atMBhp0WLFi3s0GHCAlIOIDWe7MNRIkSN SPx0HEiggVy/LgcPHqRRQ44dO3bsgChQoECBGR58KBkipMcFgAUKiGhhq8eE HHLIZOhARJkdgAAEDiRY0CAETAYqVKhQYcK+J/wi8YN0xCBBAiceumAqcGHL kCJFijBTwYrJhRgMDBo0OBDKEBvKlHWx4y/BAWg5atwoAdCAQIF2akTKpyVB ggQJ/GnAASIfDoAABA4kWNCgoRUeEiRo0QWTMhAJIAkoANCOQIFdIGjpEclW BwMG6kD5cSNHPxQAAQgcSLCgwQVCatR4AsJAhQoKIExwAmYLjhYtWrTowm/F AUxr1qyhUQIXDysWDBo0SJBDCzt27GxZs2bNlgE/fhypw4MCBQoUNixxgMGg QYMGAwIAOw==} # actual cards image create photo ::img::2d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXAMPsTLtCjNP6acuWvwt6bBmg8JghvozIpvLGbCKVseNAmhwtr8Iq 1tLzRU84Lja8pJXHwXB5tvY6tdA3K87WPXd4+XGv1ufXRvfDJyhFNLjSd0ZnB4fn+LOmE/flcm mZg6mluWk2SbkI93WhmGdaU3ijKuqqCgj7xzo7Z2sqi6tXu0vom9gLvDo8JVzccozMo7xcoutM Ah39MU3dYX29ka2d1Z38rcIdHtJMjjEenv693t2u/X4dTz0fXe98v5yPvF/cP/wPWEBfA3cVxH XQVsJZC2E1dPUwlrluocqd2+BnYcVAbnISklKh6SCkSHYKfrpTyaKURhyBDGTJEd1EMogseUMi 6OOMgDmDYYEJMqXKJkBpQjIplJEZlzOV6iQhhqmqp0ZlutpI8ubFURoigtrWFBkbr4HSgAlb7B PZlqHW+txarQJcDhMMSLiLN+9dAwUAADs=} image create photo ::img::2h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXAMPsTLtCjNP6acuWvwt6bBmg8JghvozIpvLGbCKVMV3uV52OlgMr rvvtHnu+KCgMDo+30OUKDV9zryc4Wo79vu164dPLlxX0B8inJRVoNkOWJrZn57SVQ6cCGZmnNn Mn5WKpSXkItUkjyMk2aiWFQdSneolR6ooHK6tKWPuKW3ur68fWa/sLnDtMXDx7jJw8KLysw+vM 0xzNAk1NYn39ka3dwd298Q2eND0OIm5ugZ6+bt4+/g4e3z2vXX99T50fve/cv/wvWcBjA4sVHH YQWMJeC3U1xPVwV7l03iZSdHQhYpBYfhoLYWyIkcWohbHqxAlhcUerSicPojJhqaAnmFWuDAz0 SFTGlI8MKduYKNSRRCUX8TRJFCmdf0QVcRh5lGZSmm7URS1x5+WHMkACqsmUc6cqOqCkkqO4oW THTyGtoi3S1u3bqm3kzhW19Cq1lWtN3T1X4S+HCQYkGD6M2LCBAgA7} image create photo ::img::2c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXwsayGzLyfdL6iPcfnQH6hhihJUFMFnlLpjIpRPakz1rTB6vueEaU 7bl7OVUNLbMcQyu3ilsWPJ6mkNRhdyaBxuslCd899tbnF4cX1JZDSBSFmEhX8wcoBmnleHR0Zw jpkJYph/nAIqgHyln1CRpCeYp6xWq35/maOPsqWyuJa6a7y7tW6JsbDDu8CFzccoxMu4xz2/yj DA3yPM1Rba2Bnb3EnexNJg1+OO5VPnhOsg2+7t3O/Z4dbz0/XQ9935y/vI/cX/xvWMBgA30V5H VQV0I9sdKJaXjuEZWFziBgOjVqUKhKambEXbPIERaXVLTonPHoRWKjlIyM+QnH5x8hlA9biswD UxtNdTiJMaQUSdivoBobHVST7M3RL6JOToKT0dyqkAz31VlI1FI3h1OfpotEEQuwsK3COFRDVs 7VnezYuqvAdcMEAzPr2r07twAAOw==} image create photo ::img::2s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXwsayGzLyfdL6iPcfnQH6hhihJUFMFnlLpjIpRPqcT6C0d60ypcac 4nncimc27avccpjDsPRD2SVHoFScpH6Ls+76tAZPwge4R5WFwkdk9aViM4KGJdbm5cKzOESpJg cWxvbIaAlXmbkJeRZSQ3pZ2Jf6GcTaehhLCjsbU2vrlxu6y9ubOPirK1xKXGycF4wcqLz80+zc gRv9B01dfT2cXTK9jerNbQ3evU2ebX6NTq0eze7svgyPLG9MT2wvjP+r38u/658LoC2BswjGMg hsFbhqChdycjTG4ZtvWgxNKkPQ4sU2YPoWiTLXwJSqLxBBhcuCTxChhlMQ7cE2UgIwOnNmJoRA J9TET5L87eRpCWDIWxEp6nSHqWjFkUtSiXvGUqIRhJDwULUD6GoykUbHodGaDOXTcmPPVXAojY KgtWzbTgBQAAA7} image create photo ::img::3d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbWAMcDS9OuIMf1ft7wO+MJQbfLb4jsFHHBpDNTzD2noZFRymtSl9fs cWvVfFnYqa85VuXSyHNZvWYLo7JaXM7jeu/aod7Op5O01LcSWJgXxoR4wmcW9mZ49wgUCWfpZx W3hzenuSYkCHYlmkV1Qcd4ukO4Sunq+gfbpjj7JGubmDu6e1vb6wnshCusQlyM8ovMcrxMpOzc Ax1d0mwXOx3aGUyFmdkN+urk6DtFPpxNFliedLjdki55Tms+yT5ujw7urbv/XmNNnSpupwYSpA YPoY14CjcEbIiKIUQMDydWhHixYUaFhxsRdqT2MVpIZyN39SlpqxRKDgZNlFkp5h+ITVUK1tlB EyapmzRySmyUT+AXnYvCAdKi85Apij9JuGsp7YlSfVKDXhpDdB7Ql01dGpXUxQLRSjI74BlbyQ sHtC+08aw5MabKrsvSsMWn4S6SI0PpAqMJN+5OUXqxCa5W4bCHCQYkOH4M2bGBAgA7} image create photo ::img::3h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbWAMcDS9OuIMf1ft7wO+MJQbfLb4jsFHHBpDNTzD2noZFRypJdj8jl NSvNNYVe4Eo8Q3etzK8KDV9vtW+4WD4fm+z3YbnGh0XGhhTINfhkqLfj86MDZufkokV3FidpFU mj9jR5uVmJCcQJeCg6GgpIZRGVusqz9PiKh7E4y0h4O/Wn65fbm8QLjDu8+1sMe4xcI7ys0uyM ohz9PE0tfZ2cTZwo68qddNfn66RGqh2uaMsCfaK+3mJtqUg79F5vbxgsP8+3PxXoVLdz5KgQLG jwG6JXsjrx4wFv4TZ2DyduaGdRA8aMmRg2cmRV8SNIkdhIkvD4ESVHlRlZWnS5bBHMYg2rmKwV aiaJiDvH6fxQ092lnx0E1eFEdMPBnkhDCl0KVAedpDg1PWXShCoqqxIL6cMHUR3YHfeeHtJatg QptGL3NOHCNsy4nhy0YpVqlO5Fp2q9BQUx127ChoJXmSoMUCZfZ0fgLka29jFNn5InIu4l4qaH CQYkeP4M2rOBAgA7} image create photo ::img::3c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqZWw8axGzLyfdIujfce/xr5hh0gkIgMYhbJZm3JvCWcys0xp6BenzNb UyfksmDfMHnsTfKiMrY6PJzKt214T2LHHacqPL1l50bil1eXIQhCSGSU1Zc1gihlBpnyZ7UTVC iZ6dCl6bMDgcZXxnlGZZgZUvOJipJH6qoHaylbUmubmlu6y9uLhPuLJQzcSux4HGecfLvMnOj8 /BMtzRE8inrtGFvsdLpIjRV5F/46PqvV6KtM2f5WHNHNLgEOjlc/H68MX8mqDf1GiMB/ANOVG+ ZN3btqXRg2dAgIYkSJCCk2s/gK40WNhQU5TvP4gSAxbmI4khS5Sw6rCyht6WsZUqG5TiUDeqIJ 85JAVcPmsDw4TeW5IjJzQrknjpE9ekkDAbXmBxAtfg/k2VtJEl3CrE2hbJXZFMxXroMm/Rzbco tRqGTLQs2WM01NjG7W5lIKcq5dV6HOejyz16C6wMII/xKR1woFQowbO54AoAAAOw==} image create photo ::img::3s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqZWw8axGzLyfdIujfce/xr5hh0gkIgMYhbJZm3JxAmdz81RlaBWNVeU gqqbdkmwZjjacpintSwrkhy/JUh5Gk605yR6L3fGxyYl6IYVmMeG5vU1YjN09mW4E9Tn1+YIKF gn9CCjuEmJqXUTFrI1SkpYiQpitMr6own7KDvb82pbgpvbWssL+IsYTDvss1vM5Yusq7zc6+zZ LDV6zCwdDRa55lQWdy0pSrzZCYqIJ057bvxNdoh+675uTvc+yHhZbcXePnlZzp3vGcBC3qABM5 gGYUKFexg2dMgMYkSJAinGsvgh4DKNfLMInqLokSOqFI3E7PtFTqQ+j3vKqFyZyuXJjG44seyF 5qWNktoW8dAZr2UGoHxmJJunbtA4CP/WJVW6tBu4RDNxhvNZ6CWUTw+3aN0asMvXrVCPaqk6VN HYNQTXAkyLUQlcjDtM0sXkFmmpuBzyshLBlwuFQIQLG15goAAAOw==} image create photo ::img::4d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbaMLDy7GJwPOdnbd24DvzwfL+gUVO7CWDHZsalXBadRygxypnKtKiR 9MrtMXNYFe8yzvpmRNZZ3AGz5GavrYwGh+P6+gsvRmeit8fx5kGYBpJYiGS3yNgYmNiVUcg4SF mZd9l3Qug3uQf66bkp+Ne2glpipaoGmBkL4rqGqDiHu/mluyFJ8mv4OEsFdBZc3PKYzHzI7OT8 XLUsDU1dPY2dHK2dw90t8w2uPN4kXr6LrnOuTnvdHgpP8y7fSl/vjh9+r9/B3o/hH0ALAgcWBH iwX0J9C/E1rPdQXkR4E9tVVHcRXcZyphvHdQT3sVtIbSOxlax2UlrKZyub8QM4pWWQMg2RIQJm K8RLWDqIiRqT8NWqnL6uENxpyehQoUlVFSQlS2lRLE9NlYA6NSDSn0xvYX3xZGukX2PTQfrq1W q+UqzOSr2jq2rbD2h5OVpKNCqxXkHzsu2VZ8NCnzhHeao5M63Tre3GRJFJJgZVxuqEQmaD5/KW uJTR8e2sEDTDCgNJTDAgIbXq1akNFAAAOw==} image create photo ::img::4h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbaMLDy7GJwPOdnbd24DvzwfL+gUVO7CWDHZsalXBadRygxevFlsSBt jwuyXotXqfdTLpd428zYfOa83yT21z2md/J64QjPtMUXtzFItPZnw2VI+MIYGJaI9jjl+Ihoct nFiCI5aUiiWZeoBAbX95m386fVyKfyuvqFOtsYqiZ7ans6c9jCqioHKWOKWVtsE1TZqYhMlcPm /EzjuTRNZXeNXa3tlN1dxQ1u9D0OVG4OLZ6uzu697s6CHq8yT898fw6fb8xP7d8OoAx7AjkQLI hkH8INBxdeaOgwhMKIDydSlHhxVMZIvRv9dPQA0WHIhSMRlix4UmBKgCv9teT3Ml/MezPp1Yx3 013Oa5V2PgPj04kvCymXrTAq6MxJabeQxio59Oiupxab7UpVjCqsYJm4JoVDtKquqFhxCTJTsS uoTWs1lhDlAa7HppziUupXNtaeu1+fWKSE9Nggqwnf8t0rd1hauqXMFkrjWHFYtY2vWmViVivl vnQ5C44StEkg0GLvYYYU+kjU1EYIsVYm+TUQyRg/GixNsoLtJxQk+P4N3LeBAgA7} image create photo ::img::4c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqaay8YsfCXyrdKhjfcgvfAJOzCbboh08Y5IodLh4cWkudGuQVRMtS1r hlljdIPVDdiCrZJPR65ZrHajvOHz1R6Vz9XXPsmYQvVDNxhRCLH31SZhx4gXpijoSBgpUaKzhu aYx3hJmKlpdEf5ojUCmgcJGIkW6mkF+4jx9MAhyDcTW1t6+ypbGgrV5OQl2ju8xYvctEi6LPP7 fBMtnVz9TH1dpo2cze35Pewd/jFOnnU+ZJ4OzN6z7g4ZP+08D25vjd+ln8u/78+mHsA3AxMVHH Twj8CEmhiWW8gQ3jyJ8Si6s8gOYzqNpuc4kvMYDuQ3kdxIajOpbpFDP7MgXgzEEiW9XeZQ+aJk aAc0eL1yZlviSiGsoA1XNZxjTM+bpJL0RJvEyVIdTC6D5bS1aeqnqqMQZenUEifXrmmi7lLIB1 BVtSzR5jp2qJ7ScWWRKg3WLg7cr3ePKnrb1+wZJjUDPzxGcyyrnXKFyfRBy2/CQEUUb5Tz+F3T lbcy4yBsmZ/nbhVWvqAwKbXq1RMAFAAAOw==} image create photo ::img::4s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqaay8YsfCXyrdKhjfcgvfAJOzCbboh08Y5IodLhGfWkM+mDyDzxWlRM 1hKMhXPdWtnLqI5RZ8XmqoXGX1sznBSZlyTnt4TNlvfzt9fnx/fB95Vx1KdoaEc4yNiomGiJ17 W24zaSFhXkuYkVWcdpBWbK4RaSukjp+nmIo1oYO3orgzt5utukS5Ui+tukU0tMW3aMDMzsnPrs /Bp9M00tBnldna2N3V3M/U0mPmRNnnnuY54Oyp7svg3fLF9FX28/jq+nb8vf788L4CWBAQmuCi dwHT+F+hjic2gPIj2J8ijCs+gOIzuNn+k4nvNIDqQ0YwgvkjQobIcZgnAg+hp0rGVJOjMPQpIZ CNWpTEpiURpjLo0oVlg69VJGVCVPSTaZuoK1VFBRp2DoFEIECmvBS1KzQgB09StMsehyNjArK5 LVOGfZplUL1e0yr8uYuExKZq7dmmj40pwahqLfN3RZiUT2xMrgb8KKLO625jAxvJJ/qaoMzo/B dptXVejMiMKj0aRLTwBQAAA7} image create photo ::img::5d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbCAMcDS9euHNe6es/7zxu9fMAiqCczKjXI5PLpysBARF01uJl6clZt S+j1Zp0sHKt3EUtx1xK7fQSzOW81tY61mOn4Ux3uEUXyZ9dBCMgh+HFYqMGIyCSUtkVocngiyM X3pvKXN6Tp2Gc5WtIUurbXOZfHaUi2ooopJzsGOdgYlwZrCHQbKAn6NBwS/EI8rIicbLwM1eys pBxtNE0NZH29k61tA92tww3+NV79XU6O/iOuTsJutfxOgyp9vlNrPuy6JO9XWtSP1L58Si7VK8 joIEJPCheyamiEIcSIDydSpAfQ3r1ctOs03ovnsd2HgCIjlfR2kgbJlBZWsnSZEuZJmSVpirTZ Dqc6neh4lvMZ7QrQZaFk/hqESxNMjP5uuXKJTyDHpyFT8XJT0SoXkhKxDtR6geu/O19TYQhoMO lYDEKrgqpEFq47t2/Lvuqqq2nWuFHrnqVb9+qitftW2uXbKAwRqIK95lIcFvCuo5QgNTLqa3Ai yeAKc+6saqgzL6KJLv6szTPLTWRKX3NNTcRqFBQk2L6N27aBAgA7} image create photo ::img::5h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbWAMcDS9OuIMf1ft4wD1T5ZsEiaCgzKjPI5HJ5y/ykuleV5MRdSVHM 9JKbhbE5bfY4soKJ1nKYzXmbz57h2vuWe/J69Lr8x7e1IQjoFwg3V/hRSNfR1dE4qCH59QEZ2U i2WIIZpwkiiZJmVkrFZ8LZmZbkiHryOto2Rkmr0ier6DibCLt7GFvbe2vZQ4pLGDS8ijf5BNTl /MwDuTy943mtlK1dxN0NTQr+9D1eU27Ogp4uJM4etP7OLO/tTn9uf6+er9++lPULn5IxtuDxYy EHGbaDKypZa8GQmKh6RhwaiReq0sWIzxIFbePoS5XBfx4/PglG8WTBjdMMQQFJQ9rIaw/D9aMG 8yYHjDqZ5OzpE+g+oRCJ+jOaCymXn0Z5EnUqFCq9XlLfDaqazmXVmiVq9pEqs2uxZrSguuy47J VThZt2qWWKMqPCVlUwimRUspmpEDkn4r1bpy+ov3kPyR38ye8lmBb3aCQLZ13jTIq/Mn5MGfGX L5IJrhRG1+VmNvE8B4Qs5uxYC3avnD7FxtUyrOMsK4XNmenN3Lc/XaANznZvXaR1RzUOVMTwRx QkOH8O3bmBAgA7} image create photo ::img::5c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqZWw8axGzLyfdI0zpf62AuCfgqhMUMsHo87TFOTuEVZzxeQs5gpVb9L 1Zrl2sTe67cWzo3V5TR0jYL7rugz2O5xx8Wj6HSY4oeHRAcYYQixR1hYd9gh8ffRpAdpV8mIVU hZmcdJMrnVFtiI2Ec6V4ZWs/gCNgcEO+gU+5CJGXcLeAfzFqnmi9ootyRDFKJK3PMEnCzFyNys FT0tO12ca81Tnd2CzX39vbQdHkweNG4u6Z2uyI6D7r4B/5s8/2qvXj+sva6lp9yPyr53AQVCIy gukMKCnxg2dATQyKVzDtVBoijREz8mukX6hELIEZYrIfge6mv2L2I8ZytZtpT2UmBMmTPJ1GRz s11OXTsb9vT5c+SsoEJT9fSDbNVOR/ZSPlyWSKlBZ5iYOpxC61WrpKsEGb1nyukspJt8bZv4SO Opr6Wi2pIwFhQuuGkvjn3zy21dvfnoCQr4lyvPbgctWgo1j1deaIoTD+zktIsVgx+fMjaD2V/T ymyH+qPaKRPRxhXNrSlpOjNRz1KPni4djvTqtLOxVKjthMKl3bx7TwBQAAA7} image create photo ::img::5s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqYhw8ay28i2So/3jusuDwTlFMGiZkg0Kn8YJkd3g7akF+fR2qOifFBs NclahLnfTm0q7lnOV3bpoV6DM5EtfGuHkCRac/8psRf49tc26MdHeLTB5/WVKEhn1VgoBykklf aYEPIyxyg2AhNp+ZnE5djE2elZKVmq2RaV6oEUq7o6lnti+6k0Wybq+hv3SGzktHu8Q7vMPOxs 0xw9A009dv07nV3MDbTtrRj+bT2OuVyOTaxcBJ7lzpuex84DL+hGjqzXLv9xWd+v1iGAQSgVDA joHzByCqUhBEVEmK9q/GiU4neMXj5ttBMJmnv2EWRIhyNJloxh76QclepYxnPZDeY5meJozrTp 7yE3ZSnD8dRJLYWwMjjvpLwVT6NRhBrtIBoF7tRFTBZbSdK0DYbEprBEtUo2J2ujnA1/Emp4dW CVK2fVGqpD6t4+snNvUq379E5cufgE6sXFBN5fvhPZ2OtL+M+PxQGRzvND9AXKnsYgg5pRLycg nF27AA2K9fNOz5zZruRsWDS6UZJLW3bNqAJsOhQo2b6NewKAAgA7} image create photo ::img::6d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbYAA/sTLtWDNO6asf7f+rJgESQEFdMZo5IpVJ4yXWGQCpvdKNKN75f 9xrVWl9NGm5Mgma5Z7Sp7fYwv2E4C75NY7P0evuOF7QHgtdHWBi3YfOBmHfYWLIokAh5UqlHRh m4UijoF9fJuRmJZcd2ZvbnOal66ihqaFTaelr1isl3m5HIObMY6wQkyRusI1lcfIzspLyc1OxM BB39M01tPHhdZK3Nwt0NBr6dLY5dLk1+7p2uHt5LRNzxrQGsUi/H7oGqs7/6RmsPoCxLowiaIm VQIIlQCEtccogIRb5dDx9FxLXw4j+GzwM3KrTYD2PGgwlDdvR4j9FHeRM5mISlCx+geCPXzaDp 0FfLdid52vSpE2hQoS12EtUw7+iFpEpDGG1qgalSqUepErUqFGu5MVrB0cGKcyHIpU8phtUXk9 U+qi8D1jMllaTbMmabMOWIkm6mLXcL5n2bJ2lFkCu5Pm10FjFOwRoh4pX5N+0Uv7ms9JXrWODB uCsJu9nCt+ynHW1ZhSE705am01FFvyjCCzSVrtQ2u97aj7bX2bfVfdEdLSRwZ3qHlzMuTgRUIx QkOH8O3bmBAgA7} image create photo ::img::6h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbYAA/sTLtWDNO6asf7f+rJgESQEFdMZo5IpVJ4yWWaAiqIajWObsNq l4vEST9iWRm19Ua/ZfPZ0/aKS1Duqx2H49/a9dy/56MXKNgH+CVHiKihWPhhQ9a4OCVJl3alSN KIZrKJScgJJscY2FkaGuYIxleyx7PlSvqnkhcEi8cxu6KLips7NqMamig8BTRpeVfstAM5yvx0 eQPt5EzNbH0drX2dzU3k/f0TLq5DXj5zjt4ivd7c7l4DH8+iTk9if/84/zuWNdjln4d8xNwIlO WD1b5WZ2r1S8WrQz5JyA6dMvQpE0BQ6fj4UfLUgWIyTZU2XlzIkGMklRgzxlp5EmVKXyRfdqRF c2ZEmaZ2ugQ2EueymkCDCt0xlCetY/L0vXNqziNUpVOHVbV1lV3WV1uxdjX6daDUsBYIdjWrbx FaeqrWutPldtqPiqsKxU1aM6Qvtz6JIou11mFPgYDHflT4UxjEIWZZwhQ8yq7hujn1OhY72Kbl mJj9cj58mcPEkpsdw50s0qTNWqNBPmTpr0vrxXjjOIx9gWDDvsoS8sJddvIqQIOJU1qTWzhbPn HRMVcOdUzzt9KhxztN1njy7FS5YxDhfcMEAxLKmz9f3kABADs=} image create photo ::img::6c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqaYwsayay3yrdIJzp/62AuCfjCh8QUMMY7M34XG2c2gvqSzY2Nlc9Yu dsndory1pKbRAlef6nO7hOYipV96mAo3k3Z8fDTVp/fhVwcxJDHmJihhp4i4pyemxOjBSOiWIW kpOPd4mFnUOTIaWjg6eYlZNqkECvSaOldTxvlF6/BXm6c7CPuwITnWmHcbx8RDFMJ63IM3zHzj HAu9Rk09bR3Nm42Dza21/R3jLV5dLkR+DqmOHs5O/I7sHt87NZ87fu+aLgoOHnwIYL00Aiu9WU ew1C6FCBPq65cmDKtnwABZ1JeOUq8I14kWcjRlqGFATxU1fvIYMhdJg1X4oApngxTFihKVLQs4 66bImvkesunJj81MlvS0FTV6NF9SpUsjNpXz1FzUnVOJVj15dWBWnau2cm111SWdoN8+kn0JdF HIs19blsQFVljOobJs2rkYNyMMmdNiooX4E+UvkIOLgRK2ct9Hw0gQL377+KveyJDhUt040Vug trb+nS34t+sdupVrGSNrzDGhK3FbMhxJkfXn15BmyvYpVBuv215P4z6nhi071l5vCi9b6jg3hc rjNX8nojgwCpuqW78+AUABADs=} image create photo ::img::6s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqaYwsayay3yrdIJzp/62AuCfjCh8QUMMY7M34XGSd6kuaSzs5tCfdYu tsiytbw16nM5FnPPamSj+l6zt+UHCiInScyb/f0eoSfxJ+jnsUcXZcaHyOc2KJiR9Rh4iFgC1a YEM4L2xbk5+UEEVgd0Kvp5akpop+gIGOPiqqHJlYqJGscU5NQJyxtGhRuMs0VcPAOc3JPILOT8 3LwsrVzNG31trW2UzT32DU0dnjvTvJ1m7P0ljFy43jcu6XlbWl5vO+pQhU+vTxspV6V/eO69A6 gKoSWBkBIWHCKvEcGB+hhSjGcIosVOyqG8Lflljx3DGqwgzioZMJ0WebVYUlLmbiE5HvBmVrSp BWdOnbJc8kTyU1hQcEPzFE15VGNSpEtFNq0z7ymbqE9T/DpTdZ+SdjUxOnPVdZ7PlrDAsiyiax xalKYm1fzYcRlcf23eXrKUcSrQgw9fNXzRcqNCsX9l8t2Ft+/Nw/78DlbUL5/jxoYFh42LrO5Y xIBCtr0C5/JLyGWwtlMHDLToJ+cMg16qeiy3Xatnq6lN7rVUt7Jti8J9zR5wnCKkRqHQKLny5R MAFAAAOw==} image create photo ::img::7d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbWAMcDS9OuIMf1ft7w9eMJPzdMcIjcFIGzpBOzxDWf1OixMxVme6PM daPTfkvLsVfGy7W6TE/OXHpvQeU5U86Swzl1rD7/h8IGohdmUrinEcWBmKjR6HhR5leo0ihotF e5sknGpgYWaClK4oIXCgqY6vnyRhn5scoqJXtmxwmr+IkWm3RLN2hI9TTpOyw5+CRMnOzLW9U8 dMpM1Zm0mEaKhF1z6cStivgdveN9TV6uPQROY72Nnl67Dh+fu3ZMi8+ehh9Cj2WMxT5U0uxB+f foWTuFsw65WijPw8A7D0dNK4WQYsRY3eokZqTV0Y24hhxHxoFEsmTIVxeJfAS5UWRLlyfcnZzp 0SLDmhVTkoj5cycwVQV/5cwT8F6/fhOX2njpVEXTqFKhUvV5VcjUrBi5jvN6Duw7sfPIarVqNs NWs1vWihXmFkdSlsiIijF6ai1QQkJbgdqK82bfvC9tBg2caqphvoHz1RXcmJHJR2ozonRojibk nodX6uIZmWXfVgdBc9687Exp06kxjyb9mHW21qpjgy7Kt3K7uX50pz3p+zfHz8KHBy8eqo0/5K KbxM1KmHlV6T0qUKdDQYL27dy1GygAADs=} image create photo ::img::7h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbWAMcDS9OuIMf1ft7w9eMJPzdMcIjcFIGzpBOzxDWf1OgxI2NeP9mX DjXCTo05aZdbzo2JYeZGPYOj0+rScuuF1z16Oem+ltf31TFY9tfm9WZIyMHY6BHl+Bgo9miXOD dIcolp0qnZB6ZlpmH4uTlqFge5eojqpypquqcSK6s32QqLhyj4Slt5suv722s0JFz8S3N2hgSo HMr6LGTVXHfLI4kNap25Qymtws0inlS+cg4NHs7olK7+jt7uPktPdY+fXwtfLwTMHxVSA0P8S1 bQQryEQxaSOVKND6GIkQ5a0tGvEB2K/xwcuvqhLViWkB0tapmn0VvFEutSomTDktI0fSs5yZSo soPHjyRF0qxp8xSInDpNPswV8yfQpBmHIlU1rGlQjkt5jcN5DKa5rEltGHWE0CvDsTvHsihrlt zXtC3Wsu3h9q0nuQLp7rPbMC7eonvz9v32d5gGtHshEbYL7PCLsC4JKSYGq3GXwwGjEptFuOfM RX7QKsVaeeSXskKnhsR4ZCdRn09BqH4pWfPgry11weZrOlXs1m6g0L65m+QWj7U535aSgXg2qU dRV0bu2yo1yM2n98JDeiL1iycnzQ4c8zt4NEr0Iq6k+C3EKenZxmqf9r358Qbpn61gHwUFCfz7 +wTnb0ABADs=} image create photo ::img::7c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqZWw8axGzLyfdL6iPcfjQH6hhnhi0dMXoxG5ZCJ9CRuUxYUtJgprNEa 1qaChbvNIjh3RpG7GzE6OzaT4K1tfTyaVr/51H7OJiXBB6Gm8XckEbikuHi4htjoWKNYIkSXON ghaQkJpUdZFrTVhyjISOk1ysMqasaaiJbp9krlehpKy2jayfs1m+ZkuxuSKuzziXwrk4yDSbSs 9ax8rEstbN0TLb0dp6Tn1w34rXn91HiexGmuXMne7pcLPSn9Ejt/fO8kXssxre+tji9C9PwVbB MM0L8fBx8tFPRwU8NXdt5UNMRlIEON6BLxpOJIDNxEVb0KbTQ5rmQEiOUYqnFnEKZLlSgRysSl sljEWTovznxpzxifoCBHMePX705GpDyV5nvK9KksqfmiUk15dd/IrBi5qtvq9VdYfGPTlX13du OjtEDlsIXYE4lVqStJ4ok6ra7VohID6d1apVXDwADD9UH1Mt5OeaUu+ey2LmbLZ5DR9Z38eGJk my2FIqaZjeKDrr0+bhPpWaxAvD4Rur3Ld1Xr10eWxt4126hu2EhDf65tmxu9K/WOFiT+VvXv5A ZdM8e5+/la4Haly94z96qb7Gy5pxVhHQUFSeTLm58AoAAAOw==} image create photo ::img::7s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqZWw8axGzLyfdL6iPcfjQH6hhnhi0dMXoxG5ZCJ9ERl01y1WcSitL8p 95igKljCL6xlU5WrQYfabc12IttHvCRha/LbOoTEh6e3lzcIJiG4t1FoWBMIsnZV2PXY1RZ2GT aSNrcQ4ogJiXS2hMkzJupyGip66MnBSvbV6YpKGGuFC7hK6uSz8znre1faiDJ8lGW8uzzTjKb7 +5xrmyT81vs0zQxHdC1I571N+ScuXonznYqofc4u7Z6y+Qrv/nJoPV6HrF4kVa3ImTN9lwRC65 dJH8Js4ADuwsapIb1Efhh2stNHYrd/4OEearR4q5zHdR1hTRpJruSik624qQz50qTGYBNXjpnn UGbDe6C48cypE1o6hMkOEgSl8CiyjEv5KW3aEqovolJRVjV3VQnVrLS4YvVaD2yPrVljkb1q9i lUeTVKif2oKmk0lybPUJ0L7mKab6h4LeuLLyEwl5uQNrKBMy2ra4xSiiwmhzBGvTElwQVZ7J2l y0CVPd4sOSLljaBD4/UMEgrEmiQ7q15NFHPbyKvFnH4t9MZtNlvVfirt9i1F2sL/BS3elRBy40 WbL4cJ5GzTXtLfVhcr4rkaCoy6e/8+AUABADs=} image create photo ::img::8d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXAMPsTLtCjNP6acuWvwt6eoNXUYjcEI3JJsZ2yzmnRNyRcw1meaPf FaiJCcWtbpS5se7UqqU3bd2e4vJPVYqhg036egfKltHHMohiBtK3h5hoWJJIRvKoyAF10/Gogl kCOOlFR6jHZQQpGLpSuNn1CRd4Gtem+oqFN9Oa6kkb1pm5O2Rmm5bkB8I5PLVTaXx6fFHZROrk jASMJK0lG304bdpkrYOa5F3L2K29JlnupBlufr2ars7NfvwOP0UtJH6urKN/GQmQhT9WY3r9af cBH59cJAbmweZKISWEs+ottGiHIiuI/xc5ZuyIMSG5hhofrot00pejlCJZTgTpsaW8jzChrQx5 cM7MmzFz6pQo0ybNnwYXCR36syA/JSX/IQpYhlmUpTMcRixatSkooFnv7QxitSZWWPHA5dMqlq uoZyOroSWqlmzZnv3ewh0r1+tRsHZ5URXYN9OzDGGlosxS+IUwo0AST1XqYVXiuJcYjpJSGOdh y1Mx2zXLE1+gsKA3KyRl1WXktoIIo5X0F/at0HQrfn2ZdmvMVqRvB2X4LnPt33WANA5M2bYf41 cc7006C02IwD8WVx5N3fBGxNm1P5Tu2Pv3NxbCiyd/pnz388HXs6dl/rxK+dEq0K9GQYL+/fz1 GwIoAAA7} image create photo ::img::8h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXAMPsTLtCjNP6acuWvwt6eoNXUYjcEI3JJsZ2yzmnRNwRI40CQdks afm7hnNWcaesjaFGYabRmlZ7ykV6CRzF0u3zPfrLFrfl93dG6DUUGJdxiKjRKAcC1Qf5AbmVaF LJ1bim2cl56Dmm9Uj46cfDRhb5VliSqjr26tqK6ii5uscBN9Or4hK7YbtCfBfIdyZkJls7RaVY +uw0eTMNfZ1tUa3dxN2N9M0biTsOVM4hbsqKrsdunB5tCJds/g6voe4OOs//oV/rFCV/mUhcYs bo0jFYCgeKAnRLmMNdCxk+tESwoEWK/wYFVozYbhjHjyARhgqpRF5HfCdN/lO5cgdLjcWW1YAJ LgjAnCx28gSG8+cMn8NsDg1KSSamUSp+FUOZ8qnTki2QrqPVEuoTq/vqYZSYqyRWkRfDbgRrD2 0Hnwe/Zox31mNauTQnqu1Kdy1XQXcD9s3AFo3Xq2oGw40raGXhqXXdurr1mKlQIUQnm7Wscy9m LPk0b5Z2oTJmp6I5B3E5K1JpUjrwxVrNOOJcOaUNZ0X42jPfpW4Zv9vmuWxvrIuvEN003HbUuM rxNge8t63dkY1nUydMl3T0hv3KJguM3Hq9c8a30xvrnK8eNyE0C46NPfH6NsBPdJm5L3L6+p8V iylZ/RN5oek2mYD89dcHewDy9B2BBXqxIIIR9icCgj1RIEGGGm6YoQEFAAA7} image create photo ::img::8c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXwsayGzLyfdL6iPff/uL5hhqghUZM1jAwpXPX5CRwU5ZxKVXMtC3h NdOw2lRXJHNMRqO86nM01yYh30WuuJqGj6Z4ED/V5yckGCEnsVY3WCOhmHhoCGa3+NjBaFap+G bZGMlYYkYHsyeJyTfJmRW0iHXkwhPoUfV6GTv7sAGbhirYettJ+0ka3OvgNAQVsmrsc5m7vJX4 TAQsPb1bzXxdq00YQ739/SMMqTtOaF7bRRe8zlvuLN4ufhcOzo17HzS6v8YPj98PgqFCwwZSyu KJ3DmCpQ6mM8gQoUNMAfecgphMHsB+/0d6cUymrKA6KvVSqSspMV8kbM9Qsuzy0pjLmIhOqnR0 U9Udkjl1susYshvIf3UqZkTnBtBFkfEm/or4cKFAe1PdSfXVECpFdlWphmHa7Y9KsUGt6pn5VI xNtMSIbjzrFp/GrXDZnmJrd27Tnqx08fTGl2ZUwdkIj1xpWE/RxGFD2mVJMC/SvTjHPI67TW6x vkJtffSs6o/PhUfjilqqD1S+TXu7hlptqTVW1K24an3atSxnr3E0z57HkexP4WBtb/mnqefXd8 CW4+191SSr53pTNmcz2ihgeGUCYy7lNTtje2fGK/xiXjr69IunB47p/D18SY/Z108vgn0LCpv6 +wb/PwEABQAAOw==} image create photo ::img::8s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXwsayGzLyfdL6iPff/uL5hhqghUZM1jAwpXPX7AhvU5VxKUWyErGr lqmYhVvCa6axtVnL6rNjjc5No+AHCiK/R0iSquebtQfSd1fSB1gnYejnV0P4d7joxhgJ+Tg4Nx YUNtLGYdNJB7mpecQVYoo4ycN6ytcat+HapfoD65nYuDhb6IjrhAMUCpykxUvcY1yLTMbsvOwc rMvnM41Ja/2anZV2rActu130q10qKRe7Sz76nW5r11sO/453Lv+GKfiqrv9ZeX1vnr9LtvjVC6 Ro3z1U60ilCGWOm7ojqcSNuRUPjjRx/OG6gRv40U00ZCFHrjEJrCRKe+hU5kqDbSOtbxR9lasZ UWI+LhC95erk66PQfyD7sdtpdBzBo/SSrnLa0aC7ovgUBmz4c6rOqz7DCQTYLqclrFFbdh171p 9Hjl5dYiHDduDMLtXErFTi9u5WvXpE8tUI5m+hYaYEcy0MN29Qqqfyps2HsEnIixVvorKZNYhB hqKU8gxahc7QpZ6T8hqdMPJBJuOkVmX8mmnT2LA770VLu+1X2bNt1wYkOi7ox09zxnKpFSkiL8 IrNneo0ww6mdHZzKiL27pheYG3F0T81rta8IpNMhefXTP6yN3X53GfowJ8PhQO2b+Pf4GBAgA7} image create photo ::img::9d -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXAMPsTLtCjNP6acuWvwt6eoNXUYjcEI3JJmb5OzqbRJx0c91lUSNj jhMThltdDTBj1X55ZcwYbd2a4vJhO22m1z/6vfL+BkfH0sc21+eHhchVghjI55h4YfPT4ahyWU L56KZH6MkYxSka9zkYepqHZ7qm2ZWqesYqqeECqyom6+qla5ZE+9cJPEWGRnxMeaycrEzM3Oz0 TDIMQv3UdmgN1gsi7bE6A757ckteaph9jgk63shuXm6XHv+92A6ZOR15j/+uX8ivnzh39Dh4U1 RwD8CAArndcFjQILZ/EFsJctjhoKWK/wO9sNBoaWPCGSBXLExSEp6/ICkJ2kPS0mXEjxODnIRZ U81MmuHqdXxBMic+nxhHdRMqsqhSo/JUMr1B9GmweRZlVm1qVeq2ndeo/kzK1ULKSMPIMty6su HXWkhjrQV7NWPbi2/R1u3qFKNaFTFJaaNbzKRegjwJ/QoKrVnfxOgYT1nsGEsGyJGF4TV5WOCk uQhz+Tm1+G5UuEf6hkUYFzRnXqLppl4T82ZWjpervZzNNMvYfbjjsvXq2666o3m1ov7ZKnZa2/ HAmR6+ruOo0MEp1uEG2ThzuLXJZRYuhXJkIEDEOyYffnVlOEzEql/f/uFm+NFhv6f/MJB5/PP5 7w4Q4V8NFEhAYIEGEmhAAQA7} image create photo ::img::9h -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXAMPsTLtCjNP6acuWvwt6eoNXUYjcEI3JJmb5OzqbRJzUCMyVtLcY b4T1YqxFMslsLtkywK7VzeWQy2nQGjuezz/6PWn9ltcXtzEYaAcW1aZoeFXYuNhx1wEZyVaplg gCedaIosnnuSn6l+glJqhnYvjFCKfRpxLbCneYinriRzsLS5jrW8poe+m4gktbazkmVPx5OzV1 dwwtNNlMvTOJHQ26ze29rU2JCixHPj3UPZ5T54E2nL71Dk/M3h7fyemOGZxPaq4PkbyAAP/hG0 XwUUJJ6gry2scq0yqDDlVJnPgwVMYP/+LW3UP4kWNDiOU0lmTIYhgXQvQEplw07xi6finrnbp3 jWaQSjlbjDTGr9pPWUGDdAS6sMZQd70iLptxFKJNi3hYRHU4VeVJlES16hKm7OBAnGS/6gRp1i vVsyQzyqTI1d/GYkk5XAW7MetasW0HmXQqcixghXCVLMW7t2lhDXeT0WkZ5ibkDI2TWUb7eKbh X1k0Kw6DDNw30dAqkw59uiblw6kBrm79EpdpNsz+ApldlYbmWbhr6S7Hm/WtsH2bBe8asngkez 5MD1Y+TfKFynX1Tn4tODHhvHZZ87TNnbH3otv91nsyvjritHEaf4feDp37mJ4d22eyOftl2/vB ojnnLMVWqYCW1XTCwRYFfiEciGBnBiL4i4K9peagBROepsuFGLbHIITdeWhUBSBCRYEEJp6Ioo kGFAAAOw==} image create photo ::img::9c -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXwsayGzLyfdL6iPff/uL5hhqghUZM1oJMpXIH6yRwUxbSxolaFdus MNPYalHfYNnMbWFz3zF4zXaTrlVpWowkx2ujOmgKmPdzZhcxJ6H3Vibht8Eo6KVIxzhIeSjZ9l iJeInhBtN35wHKBxl5FBrq6cLTOMqKSmgX6+BoSib71wpRJKoi12no5AMVwjc8JOiKfKN8y6wG Lf0s3UNdSHV9+usbp92rBqwr/hrefUg+y51eeD6Ilzv+/bYXGK94vKyOziv/kOivX6xVlnSVeC REC8KD99AIC1NKmEGGgCI6hJIi1bx5/8eMdaTlp8quhqti6LPohaQtePjsYepCpCAxlfwkWqMZ 8F8ynJtsZmPp0NgYdtvW9Wo1EB9MikeSEjza9GOnmkJFDeWikea3ha9klqspMCWniTlrdR37jm LYdjqnosu3MaNcnByDmnSX1tvJs3uLqu0rFjC4dXj51l1ijifBw4jDZVOMqhozxpLdVnZM7/Ld M5QlV6zTeVo/xkTZHjVLWXBXWzo5inQ6LmrIVI3jfi4cNOvLkmDbBg77SSVXtsB9bdVk2LfUyH /N9nRO9q1LptMZAr0ulrde0nB2M98OGSLUweDhmTofHjdf4tqNNnsmPrTnhPQ1LzVin02Txvmt fxuXX018kNl3VX87GUhMBQjOQAFCDj4I4QQAFAAAOw==} image create photo ::img::9s -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbXwsayGzLyfdL6iPff/uL5hhqghUZM1oJMpXIH8whvUxXS1kngtCwk xvtVzMSt6hF8jlqxuak681g31mF0LV6KtFESksScBcjx59eXJ1j0h5hmCAIGqLh41/hTxVVHuR F5iGkJM8I2+Dlplxj0NnnEWOjCQ1bIiFq3VVoZ+wqHK1cbeHvp5AMEKglMN1uc5PWL3MPL3Eyc FTwWs1wWrYmda83H7ah9qnso+71LLuVgPJ6+PsfXDcEaz9nOXqlH/02Ivl8uj/9iW6Ze/+al6W TQVsEQpISosTFMnCh4qlL5CldR4sQu/2jwbKsGLpwnj7E4JhtIJeS9hNCIbBriDB7AljAVuVQZ SExEbyZvtlp1kyPPoRoVXstZiqdRfa6ArsyoNFc9hqGy6WyYb+VMqyiz1SPJdStBpmIFlvX6ta qos2gLutNqz1/aqAjPbZRZdK3apV+F5r3bhi5SnDGt0sK5pNo0kM9qemocTBliyGeoOpwMGU9h s2O8aUYsmN9gMptJO+XX1KJII2RBYUWdYqfkX4VfjgZ7R6rbuGFZVgwzd29d3mNbv4VNvDjc47 eFt90duuE5XJt9VZdu58116X49dyT8F7byJkdTLgq1PWCz5eQplyGf3n3i+fHds65P+T7mzGzw 5xanvp98pgjoUgUENkNBJAouyOAEABQAADs=} image create photo ::img::ad -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbZwMay5WLwjJ+1NfT5D9oJejegUbPz+Y5M2uiiLDaNteVQOs1VicQs 9ckNe38uKw87ZqW40G5atnZfzW+VsP7FT+9ovf3Z1udXksQ22AIYRncYlKjIqOMoBkkIOLdI2S Ekl9moIdi5cReKYkkaeapmmkoyyurh+soRK4u0Wjt7i2u769kLq/vrJKwZDASqZZzDeUSLM8nk LKOIHCPNQo05c72SXY3Y5K1trdwtPg7OdN5cjp0d3W5ODZ81T19veI//TZ7G309MVLxa3AgOlF UQ4cFXCRkuZNUQ4sNUESlOPFUR40VSZRkPoenohxlIPNBCbCT5aFgveyZ/sRxZpyTMmHRmxuQV EGdODDbDyTHUU91PN0GFvihS9Ii3C0mVplSJy4qZpk6vZKBqJMrVkyg/cqXplVgfrEoF7tx6lm eFtBMMSHgLN+5bAwUAADs=} image create photo ::img::ah -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbawMZyOL7zfbrYwOP+p7vwYL+iJijo9YxMWkZJbBaDy2RUiqMOh9if bgvuZmvW51XMcm2FXHRM3bZW3SokfUq+G+36MRsW15dTs7YmOGgBZnhYAqd4xujhqBjZSPZYab mzmAmUJ9ep+RQqStryaVqaioK66umKCKsqK9lKe2R7i8Gnu5vb6wTMwStMLLPI6WdESen1u4KJ 6WMM/Sit/GN9fUOtot2M7fMdNv1cPY7HND7HbX5uvef+Tp4ute3cRR8vFrjP39XtVkBaA2UVhH XQVcJVC1M1NPWQVMRQEztVzHTxDqSMYm76ceTH6SOWayKbaLNQUh28YLROspRVqE1KlYCqzLxz k05ONztnIJMp79DPJT19nrEZVOjKl7C2FTXKxlcvKBmeQmVn1ejGpJH6MW25IavPsFwZlnVYQV hVChLaun3b1kABADs=} image create photo ::img::ac -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbayMaym8HyfdJXgvekbuH5hhxgCkgkGkfIpE9HazpvUMY0GXVch9ma bUuFKXZC8ExcHpvPa7O0/fwG3/DSslxvyRf52J3e19HFAxjoNfdgaIeWqAjiEuH4aEMYUiiJhC f5kXm5afkZFso2yuJZeoiqcqo615oj9+rB2kqraouKW6q7GMvl+6v5u9Uwxctp5XQ8m4wFHCcc Z3xE/WxqfR05rCSxTObcvR0sIT7OZBnth50dhOjs5l20fpaOE+94r5hvuB/Y3/cvT8A6A+EUbH NwTUJ4srzEWthDGER159LM0wfBlSxtVxP1NOqoBx0ojQ3RLSmJ6CRKPhhAUnxxcWPMVy5RWIQ0 E+BNNCVVjpRZjCRQNUJpUvpScxWTPTn5LU21shNKd1BXbkja4mrTXFt3VZh6lUK3sWTLPjBQAA A7} image create photo ::img::as -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbZyMZyCGP1jJfuleQ+uLP0fsRNMBUsFo+jpPK3i96ePumCuoQ9sFDt 1MllIYc0cPg0tk7PKjO7un535VRnnI7+uvHA25XfUtMA2OY1SKhjyICYKOSQcwfH00QDuTeTRI apUKcXibKodBnDyZn1VFr2GSja46qJM5qXRjvXRfsq23fblNur6wEc7BuiarxpWUtsSrrap9xr zMwqU/paDC1s49xhPVZW6c2toT2ZDb4MS1Iu7Ut5JV4YiPuLq1oLOn+fi02fllfoHzx099Cp6z bOXMFvDKPBA6bNnTSC4n7lA1XPkUCD3y68NcLI0d5DfgeNJOTYLkJKcOtOkhQJ02JJci7xLcRW UKPFlrP2jQw5aOaLmvUWbYHAchfGou6MBhW6LaBORSGnary41FPHrbD+8AyI9OrUR1hnkc3pc9 pXMaHMZWoLsJNXIuxazrXV6hDdk4m27GVkCXAsvoKHFrZr+DAQmooR9pvU2OShunL8Un5jmTAf vZcrT+vsWU/kYIxHlzX9ATQj1XIFDWGNiowp2LETV0Kd1jXusX4005ESdXc40cK/BS9uxzcedb S5xGmO5bnywtB/VxDOYYIBCdy7e+duoAAAOw==} image create photo ::img::jd -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP8A////AP///////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vyw30AN+4vNU27q+6Xe9HJAU1tKJSdBQkl9BO 8xmtTodV6HVj6XolI9mTegIFbDUneq12Ns3h8nhYNrOTeLS7Pvvw/XI8dGFDVG17H2lScUKGbx xngpI0f0g8i0yVUo8aX5UEggSQjJkFmp0OpmZ8oJKinaQ7m6qrAaa0HkGtoVyxalgMuLm3ticN JQ20k5clsbuvyMJ8xcTGLckny4LNmRq7NK/BdUHUxaOdyto9p1yB29HW0sTSXLjfNdDsqN68yM nCJeZNq1fnHrhe3fgd7DSggMNjkAS2K2Nuwz1o3EIEUYTK/xTEiOXMeKzzDqHGP1hKNGwSTCIq YwJu4eJoclUcgAEFesxli1ifXL78rBwmrpiNgQN64twUlCdOpT0jUWrA44HGpE2lDN0EQV1SYy OJ6kN2c9qZYw8mQVD1MSDWhFdpYft6zQK8ljKKjeXUMYIpunUj+DMXlW6BtycJjXzwF0IzmFSL iquhNyskvWdTZa6Q9OvDnAySHt5Lui5go6HPdlZ9NmCqh5XhwnncWPPXhrgP6x4a1d/D0ZYnxt s8OfXq4/F2aiYd5iWx07VZI/cNGyxim5lCi8Zm27h0a9Gq75Tth+z2h9Az584NPvmt64DKUh65 svt3rHUXx05cSk453P+MbTZdYKgBR14uK81HlW75qccaWVGxNR5/Jynz32hp1cYeWpOJBh9Pik mFWX2+0aAhcRGe4Rpz/SHxX1e2mOigNXNRYiCFdvxlo1VpxZggjM+hwxdZLZ4H420+hhWMYSLe iF1ckWA22G6pYegAgEGuGFxfrn12DXJnKRejlTp6yCKU23GoEmtVZmjkOhM+uYp+Yq4JZprJMK ngmTlCBZl1u2GIZ5VBXrPlXX5CiNxqYQbYoQOHnsFWS0ouKiBmbYaVkZyALBbel/c5qF+ag0W6 UnWguRXoem1eSRgsB85CqWZ2horkqASaWpuXsDHKGaabxRlff3sWRddjj/WoX57/fApFX2+YDs ajq8vux6lTFEVVlLRgUAtRjM0iKM01y6oFaWTTCAtii1xN6hUYUjg57FXspEUZVfPJ9JS6TMUa EXqbZqOXR/t+2K9GiYAEG7bz7Dvkwx5wFGGy4zTMErgdpATxDMz4dko5T3HHMTB7cXARSC8R5N NlSiH2TDvNKdSPazWB/Ie2EJ1MJMIy85APLumGRBBYYkiyDxOWaCNkzS4draUAOkPsVRJScth0 wBO+7PRsXgnJIdEr+xEnTRtDPQlGj5TDibVOHDyb2a5cJpJVc4eLSc8DYPRSF9lFmnHHkExNiS 8dl90IID0YQoXB5/yiiOGy8KRHHm3goQ9JTYmvUzIKoVV+xxpo1CuEJVsD4snpdpHudhZKGFI6 60S4vjPsRcg+JO0r2D4W7iroznvsNM3+OwyACz+8ErcfH0MGyiOPAerQR0+BAgkAADs=} image create photo ::img::jh -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP8A////AAAA/////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vyw30AN+4vNU27q+6Xe9HJAU1tKJSdBQkl9BO 8xmtTodV6HVj6XolI9mTegIFkjWn08ZGl1Fvc3k8lDU457YavXbOaQQbBGkacR9iPHUDZQEFcX k7MzstiYGDPIVhb5hci4UFjp2JozSUo2uJJZphniWgb1+mpKeGHk1SDq6hn429u1xIs7Sra5ZP J2y8XI7MvYUnf8KYtbiobUnIas+8zaEt0BqX0gOB1HjIs6rgrozdzh0GguOBqkzopCW5jbu+/Y fh8zLZEyCOR7lW+2C5+yUl2Cx69UIgSlUC4atl/X61MKBD/xgeYtYUtXu0EJodD/g+DhSC5YxJ WAxK2vpAUaVEQ1gq1trnKOOjW6iACbzJylBCd+9sony2aB1RJq0wvnJH6FkuWzWcyikq5dVRBo kaTL2IlRFIM1GXgWqWh1TCpPnAml0pMa1VB17d8tTYae7Tuj/Z7F0LgbDXoVYjboXK6IGNmGsj Sz7ctLE6xYfM9UXk4DHkyT3vXX2A2ZbmQouorOnsR8K1zggznc6nqYHqUrb36M5quw7p2UDVhr 5d2SWE4rfv+F0scWxP4rZhVYZuuXQ1JszGgsWC25Nx6t5oAx8fcx9y7nKbcm9K+Nz4MGrZ5x2i HuyMzxdfvqdrfDIkJP+5BTMYWYnRZYZs5bk2CX0ThHfVX8zpQs1/d6x2CEMVQpgZOAnF9U0e0j XlITQOZhjhhnh449WHcYknloo/7XfTN+xIaFlbJj2TX4nBbWMPjc68tQ2OtOWzI4cunYUiRjay qJx+RzLFUGa1ceiNPiCK8qFyKw5A4ImmkTThMZxd+NxhBm5o5QQMMijBmaEpGWaK/lExnRADgr WijHIAKZl9k3yHJ096htZjkTPS+Rx6Lqk3A3IrfkklE+Kx85+ASX63HmQvTmkafEVu92h0m126 GqeSfkqpOoBiKtdxsI0q1qG0jrjJecnk2pqog5o4qUT1MILbdoIpeN6odqkKLGn/HqbRqX+UxB pXstcty6pVnoGmbbTMJpnmTL425tWe+BFWLB7UngOqtxENRixv5DbBLpgN6WRiL4T2Bu9eO6XL BXCoTWhYYOy9Jem8vx5I5Jzy+jSVUf76uKxxSABrS0kHR4zogUNVhYshSLUnhV051dpBTUpx04 8OyqXlsckscaISlz6lKOytVcEcksxPSuXPJ/y0khLMBZ1iHTvuqHUzQaSUAzDT0tAjcM0Sjriz s08XPQpEO8lU42X30AKw1k3LJp7XHakRtjUb/zMOJzki/fPXyfxhTA+1vk2IUV5XzayGM+mNTS xKByxnQ/jg8640CgUdB89PVwI11vRJIqDNXoY7tPfTqEAkDmp96CF6WhV21AOZoMJxzR65ouHv rcFI3GcstFcghLJZLKGa7LkXsXvbvf/w+6HBrzD8bMWrcHzyRMjMO/MvOA889EUQT30MGVyvxA UK1O799xQokAAAOw==} image create photo ::img::jc -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAAD/AP//AAD//////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vyzlwbcsbbe8rnp+8IMqnIQqPHaMRyVQCmdDi 8xetOn+WrBYyknmf01lgMBiTx2Y0uVxmdYFf6odxrqfZ7HBpqU/CHzltHg1ndA5lhoM6M29YU2 lJBARma5WWRBFJjSKUj5NbepmMnH1ii5JLJQUBq6uKgKMhPg0zBbZgqKWsu66vSpt7tFK3WKu0 x627psHMRcCwqsS1xy0Myb3BFM6kzsfD2EXYj9d/WSWNE9Hg1mDTyVLmpVTp1uLv2+G85Rbn3P S29pQ1U6Vv34mDOuRJWYgQnjh2IApKE1YuBzABBgIYqDXx/1aBc8II1nPSR+GeZcXgtDKmaCUX eL+4cQKo8haaGWWMGTvYr8vFOTTL4Tl0JuhJRDJlmYS4Jw8lRGsiuIpaEtycpT2bqrGFCM0fgg LIFBhwMoc0pW9oqKETtVk1YgMAkn1A8+eghVrZcIXDsC5XW9lYnY24lOnapzje7gwrN3DdpBHB 5h2zt9qJnHXFknE8+OqbiU4rIbwsmIYlzlYV+VR2mPLYansAZo67mW5n1aRsGiIUtQ2aZLTick VduEtQCMJzrpXtdyxg26n9GLfJDPEu5TuDy+UtOLqY6eKKJO/enflU2ng83pY+kxgY6yOzU2Mr +jHa9ix5usZsnrkXsf9jFbXed/jp1xRVr+20SlxgWNKVfYSBB9tle9EkSAlIBcIVUuTZlURd+o nWoTc4iQYShJ4VqN9+u1TT1nvjgdQhZEDpRkhlfHUS24I4OoAibrKAiKGJ8yhmjIn6/chekO6Z sZcYF/52S3Ig7eidHEzu5CAYCTbAI30cnjgglhFZCOAZZvXnX4wrKklglk8VQoFLvBVi0Yz3wb mhk7WpuRKPr+GDZ4QFyincWIHpoxxi1Q2aIpw0/PVReRb+xqJUY+IFqXbD+XjdQXjI6dVIxakY HHrqGIXQeIb45kqpm7Zwmo8LVidiHuGwROMgx8mKanljnHTja07lk9WjZdpIYaf/I5V1YCG4ig RrsvIJIKk6DfXDYrFlTVtjtYfO1SQ8Q0J700t5JvsIhX0mNOp43Hbj4TRXrSEtUVBRxW2L85Kp yFwImdnVHRQ5CmRkJKzY4oKPIPKYwUsibEpitvHrh0cqhTSQsxKjJIZuD/HkUq5WhZGKReRq64 VN9/AaUotfZXvyNoCM9gU5WORjT5OZzCyjOQS13JM+aVrWM1Zb6CyQoLqSbHPNSGuh9DpmmUzd zyr7lKgoQfM7X8n2QePze6NtrM+rRsNcNNkUaz1xVURfhUqa68yC1dtK4Cw3AY6MfXffJGkxSY kXEiqLH9BI4eDiZcxd4rptc+JLKF0NXHlXVXNECcvYV1FOsB11ZAhkHBzPwUKoauTRm+ia4EW6 UqDEzo+m/lYhxBW2NxGKSbm7gHvvt+8O/BG/D3+DxqUbHwPyPitfQ/POx5BB9MRjIPv12FOgQA IAOw==} image create photo ::img::js -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP//AAAA/wD//////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vyzlwbcsbbe8rnp+8IMqnIQqPHaMRyVQCmdDi 8xetOn+WrBYyknmfYPAgMCiTyeO02dzrAr+5IoEgRp/XdvZnOnNLdSUldAN0OWMMh4gNeh4Ne3 5/UycBg4WGZZiZmXyRnJxJn32UZJadFY1cfSJLqpSlRUl0sqOoEaohRHxhjSVvs7OgE3Grkj6+ r4GTk7+0praBxFg4y6RTBY3MpVmw0b0P3K6Se9lvWtC4yra7w9ijwN4W5yAtwsfrLdfu+s4S8n vpXKgREtcrHzlTyb6FotIrIaxRA2/lyEYHIDhH/lBxMBDA/4CoSsXAzNE3Z2SwR93+tDIpUZAs imEwttS4Cl6xDodgIsMFiecuB9cEbKo4K1yKhVK6JLW5aFO4lxWP9pwHjcYWYUpTUk2X8Co9bz W1PnJklZxZrjKTTP2XKBnTbZN6HeIlttGhMfBKaNqrCS0mjGn/uTnzVRmhMgQQKz4cd1IiM6OQ NiSW0yKagYkzU/oLtimDkqwY4qpcqHG1zHMws2kMeSSgeZIbFLVZCfHmw6vpyS5ZMbZvZsp6k9 WtzO3uBztBdQEu+3Nj48aR8ybq203RyuHQEjf91EHUurFcC43s3Ovn6dSrr+pthijoGCOFD1KP rsWY9BD56r+P/jMj2P+DtXceaObp450da6GSGHmR9RbVT8H1lxhn4M0wIWb9FTdNLw6W5xxkCS aBGXIMXjXdh21VOFGD/e2nH3nUDcAhffPcdyBLPfCGYnkhzsDiiQXKR8aMyflo3Y29daVdhOWR FtpSuLino0LQPdcgie+gs5x0ZDk0HEA8Ojebin8ASZxei8miWIlEBkZTfechghdrqpWkWmGCRI YXmRy6BplftmWmWm70VDQXn00+ZiVuEza6ppWKPDlZfX9wRpaLe1l2F40o+TgXd1dFR1iP7JxE 1lkHWfUVosSAGipaGSkXVqsFbvcQqdyQMKA7hjqVihe4xjoOdTFiokEBqsbBKV3/ur5EEiKydi KsaFQFM018vBrVkrYhGTmrj7ro+Is2xixY2kYdectTXlUNh22WpW5GSzkOTboVlb8ehOwbFtqo pEKxvdVPnswIkA+9clgCZrI1bSHHs9VCufBwSjlM8D7MusTvW1BWu83DBXcQlBz+xjRNwAJ/A/ I+eFqoMLjqRnyKhRA35AkYasXcacrthFyqxrkC+C3H1sYzUcnB3uwmmpjuSfK84K6z7kl7/JkI YWccDTVC9u48UxFrpJHH2BO9vBQcQ3cRtth4/OX0hmcjDGetdJ/8ZhVIXIF3EzfvzffdfvOgd+ BBDE74DYFJeriuiUu2eA2KPx5DBpIfcYECB3VnXrcCCQAAOw==} image create photo ::img::qd -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP//AP8A/////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vqw00Dd94eQp1n/+snW02ABpHsiGveGx6ksyl c7qBbpTUppWYnW6lOot4DEEKo8NTgMButwO0nVpH2MXM3LzcXV/DB3OBbHYgURyEH1A9THt8g3 FVagx1IjVPeESWGnZrb36QJZthlB+LHYhPqJqcjgyAOocOpBwFiwWHmB1pVZ51caglgH4dtYsD t6IiMlenvG6uci0OwsMbxbZVuUuGrH2+r5Lhv7PGpqHKdtfI5yXPcMvJwdSU5cbsIDLXNMiNk3 9z2TbV8JepXjx8Z8w1GvQuFKcqA6sJ0FdjHbBYGijya1en/w+kZQ0EjktXzmIudQE7uXp171QP ghmxBQwBT1O8BqAabpL2TdisbVhaptLVDCJLHUf3rIR5JajQUxdn/nMWkmowpswuoUMi8gHHPr IoyYpalCZZh7/ChOvEcK3ESIjOwkv0L1DVnSClvZ3UB9dWZR/d3oU7Cp4flQ61JQIkNqReCQ6Z sh2EV3Eqgl7Xqg3XjhPMw5ah+mksLbFdxwyhcpw7FB1YUo4db1bTNi5ouXI9+hP8WMZovXB9h4 71bvTrCTu9afYM0KwZn8Vr021L2ndp3Eigu6JTOyzOYWNFlf5r9rCwImFbmb+tUk5i8giVn+dx GIIn9K/BBnqKUdnxhv/o1cfXbvh1JBYs7sGXSGS+wMFDZ/RN5hF9npRxEF1mjPVKgPTstt47YJ mWoHPKmDYhfif45M4/ykGGHToP+PKghxHUQABjIF4XxnDZ2CUjivUM0AaOKQrolYKX2eegP0Ky EeQwRRBpGo+V+ZijkBFJ0FeURrKmWokTyDePOyg+CN2USBalYwMNRsfmdqChR6QDVLKj5SMR8g EnPfRJ2RxCXEXm0CCUadfdllfV9xOGYEY2IIF86adhhET2lSYuAD1Kh5sSVlgkpy/ShOAm+nU2 5p1bvqkTiaJytllnmibJEJHC1Omqo7TthpeSA+rmZX+ivrrTprDR6eKHi7bWKmj/xCFWxnK+/W ers7ZRltmUy3U0GKNmwRYiqZxlJltmpV5K2FeUgXsdcr2ZGio+gyoXS4jbzgbcVOYeFKu6O+7a bGRp5dtSvUaO4qlaSIFjawoCrhajtdOw9O6CHhiiLjjp4pUxvvxFEigHNl18pp21duVXVh6XCL IPvKyEY79XdQXSytzIRYtMsL4UbF3pkrRPysFOVFLLf0iclzz+WBtTD/zYvDTO5oFiJ1qRwlbQ Kk4HmYZHUhOiRhzeWC0008OWqLUl9XUNlYobW1MR0PACVQ7Rv4SLdNgPNVXzxxT9THRxjwlU9S yIWPzrTH0fc4pudIEdad5OwaLy034fIilGeNHpGVDIZQd9NT70JsNi1XnLDTfFNPsXm1Gd9nx1 Gk4T5d+BgTguYYJKwP6xC7edw6IjSoMBxuG7kmG8BXkMf1YXLuTOyPLMq+B859H/ML3k1VuPxv PZA3E98d2jMDf24d9gDvnlHwF++jFkwL4RFyhw/Pz0i6FAAgA7} image create photo ::img::qh -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP//AP8A/////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vqw00Dd94eQp1n/+snW02ABpHsiGveGx6ksyl c7qBbpTUppWYnW6lOot4DEEKo8NdqHXaNQaEeFyNon++aRG7xH8TAnNXNAUbBTVVZkQ9THYcDj pVDHByZzWEhj58emqLiCCAbRpqkn9/ij6LNo0dMhyHmk+gdGwBNIFLqbmwn6t5dwQDqw6Tlbmd q47InqyAwQ1hYbamxrrKomeXvqzAzm20b3AnmNSDu3cnqIeNDNyjjtFq48aE5rG4qfXN4ct9z4 XkA+hZg0QtHzdTot6FoUOOXj1mAuRZMmjLTat+/k514ndO/6M2UQcR3rmW8d4rjvY0ctT351sV hA9cZVK4hiEWO/rYuXkpsoyikZs6REnoCJgskSXmtIow41MiPdtOtJTFbmrPmFCDZo1EIGkDOV NBwXoUCRLRmkiSlSoS9gEwAVP5ASoF8+kannO6znVACa6EojXcab0bpuXapH2JldzV7NbAiyPn gs0bp0gtSt4SZuZrKtRgXl+/hgXLd08VGpJDe0arZzJpi6plJUPdV0dnu6CpivVWumU/1FgRr+ aFxLXShddKyahFO5DbnZ/PKddJS7PsNrQDlwhm9mGy4sZD1Voue3uwg84gLcV9DpThZzlBis8O XDzRx4+N+66KGpp5lv/pmQYdazWNRgtd3SxHX3/+NMjeE+F5Y5gzSklyHhwMjsUdfmYYFhc75x lVVUsXdgONhelFByFpJjaT02htARfNIhxuolOGRxlFl4fM7YMdjTWuQUlgEs51nj7hWIjZj8Ah 1VFrKG44Yn3chPMHMfv1mNqDzKQiXpV7pXalUrcxpxuXjnhJS31VlVaRj5JIdguBvBB5opLjpU bKmN+QCVlKd42HyI/AXJmgUklmGR6anjTIRg+Gwrbndbr5piIr96l32ZvcnSjNgYteqtBOvNUQ aR8wVVSYTnGJukx1pHBqkaVxohoqnUCpt6GpZvaz3zWrsvonRFnp1saQ/dlW3iP/I04WpFN7RT JMgMq29WVpiwEKLa3IXkSdscnp92xkVHX7zrdychbbsN9BdWxY6mkCqlE8UCKud2UVWxlSOIlm GWn1HuWgq2f1yG8Eei0Z7Y49MXofZbNI21WSCAds6VnEbVWdtO5UuqQpF2P8JGE1keVVm7EljJ PD3jHiU2H8vrcPTU21S7JMUbwc7cN4YirIUOyitBFJy13F20ErqwTsVh4BTZYyRs7siS7dOfUz PhwP1yDST0SUCyFBnyXR0Mgx9pKqmBYUtiZjL+IQchGDhPY7aj+mQds9OJSn1qcl2XU6qtiNt9 tJscnbjE4SVQ4mS98FkA9Rw/fNZcOO+/fji2lUZnKaiSs+VL6OY85IZQHOUl7XuGg7ki5Uu2ei vF6RPPTaxQTkdSZyvq5p0LWnYbciDo3Dk4t7iGfNGYI0bnUKcopIatVAKeG7GWRUPwYX2K/dhQ vSu7x9E90r/30O4UM//g3la38+CekPtD77WKv/vgizuz9/DPbfv4IJ+h9xgQLWC6AAxaCABAAA Ow==} image create photo ::img::qc -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP//////AP8AAAD//////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vqz1wbZcnTt98Ksu4nnD0ywWHSE9xA0w6lzOj Mwk9Tqk5YNHC7UKIWeNvQC6bCQxCad2SxsBRZthMRwfUbR2p8XErwzsnAXQMA3Z4cU19DkpwUX wzM2aDBIdskX4cER2Zmn6QWXWHeFKQiztMjpxZTGeWa6shm5qqeqmShXZ3jzp3nb2fqqhiA5Sj bIBof4JtWsKMkSVllQ1qsNdppRbRsqx8rNJk1HeItzjKj9u/iRJsxeRp1qVyvukV1yDNm4XF47 v4oNBQA0YB3yKC387pqsRNCbWBNJiBcpTnBz1yM9DpqRZP/2I0U+usCCgQoAAtetbOiUk3Slum kE1MYYsX5V0pm77g2WskQhHPaqQIGCqGs584ePWI1Oqjg2EWoZWIGjtaYpxGnzCzZosg1FClqE cdPHxq52Q3MHfKREwrSpA0X8pyDmx4sOcgomTAcdxac1A9cl/n2SUySSoyQYF7qdWSbeNSh1/R LK4I1a1fm8U4hXv3mFNkank5I4Z4t18hfeHyDO75edwksQ6kum4w2eJqWVL7zX5dGrOdd2qxGf wDJrdff3RqGzsNjVFWwn65CqUA3N9Yt5du54ue/F3U2My9PtSgK2JnTXhxlkZKm3vgfgLGpnpu N+9pzEYf+JbsPXDz8/9M6GIccKa1V51kd/0j0Era9TGbfrIBZyB/D6jhD13EsRZfPP7x44t6lF ymG2ALDheLhhumBJpUEOonVkbkQXOWXZExs2F7gdUYWoKI7CJfgw5hFNeGO6pVI2gvtlEjfd2k EWOM7bUIXl4MxWiNRtspBVeOFOYHIoVA+Wchk/k8wlB5PEp4H4L2gacTkJplpGCCumEW3YcSGt cYnCdV6B+V00WZS4L30cYZn/MFKORx3xUK1Hqx7QggJlxZ+ZWdhHrFDyHRTZodMwItFOidEGga gWGIUroFc40amtyjA/p0oizCQeodfm0WxuFlfnkKyKZRrogTmq+1hmVdtHq4UXT//ImWGDN4kT jXjN0E58adhiFmiGWuSksmU9/oQk9tVZFmWW7BpQrQZ4jxGsZCE21GqK8BHtIugmyAdYY+m4qr rjZzbVnhNJGFBUF59M4qV1xdfUdUVOiccOG3PLHWUcOkPrytxP5SHKcnAdnbHsiHXtiQTLKaBb ImVv0npxH+NkSSSXIoxQss4YrskZzkIfwRt3H0tJNESob6Sw7WlUX0Wlp2UW5SKEMJj30INdM0 Fy8zGI1Vv3G7D0xVz1KVM6lwna43qqV8C9aKao00UGdfJAbYvHyDVcdumd0rN8PQDbLaOaF2Y1 qnmWNL0LT+LdOst4wyydov+W0P4DFxHA8hcD9/IjlCQntzo8Nx74R4massTpxFhxBo7eRh2Fz6 HhVJnEZ3VFtRBek12Jj37LRnZnvrdnkhvNO/j36FEIwZfzwPyYu0PPNzK/987tE7Pz31NVt/fQ xfaL+9C31/f4Xa4ttgQvlIXKDA8Oy3z4UCCQAAOw==} image create photo ::img::qs -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP//AAD//////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vqz1wbZcnTt98Ksu4nnD0ywWHSE9xA0w6lzOj Mwk9Tqk5YNHC7UKIWeNP1CqXBIMAgUFor1ngKDM7UzrOrXRbvf9IOX92UTt0HWZjem59hk1McY NadYwnhQF6bG+TjWdkgQ11an+UUpSJfKJfgI+MoJlynpaJbmISqp2GuKGAAzqjDAOXp5ARjrdz pCWuJbyfzcCXmVySIVp3UbNMzMVnwMLDtZzUYYShrpbhpM+6vRXhIGW1mNHA6Krq4xbufr5flO bM43Z1w9cuEKsJeP5ZUYKm2zc8NAwCCgPxIUR4YtI01NhL/5I1iXM4FAhQYCK2cx+z5RloxyBI OcdUfVqmQ1mDNSfuTZxpSxyYk8xw4mRT7o1OFC8X7jt5U2g5TDyVaqC37V1SX5AUPZgVIY2UgV SvXl2GlaiiPUOjPNMz1RQ9sUSSER2FtuiWZ3JzgAW46p3cAXscnA2sY21enG1ncPTZKRQwxGZP +cKbl8+bLAQWWwXjGDAEraMM/20KmWjffZ0Jy4NnuNvQrbBPtzTqGePlWLw2dvYadR1jcaFiBY aKA++94KmYKNvH+fLjm89xN9y6Zq2n5YIaI34s9LnxmTcJXdPMXHtowGsye6bHe2d1jV3hmi/F /dTbXzDDCyZmDPjlZf/14QfeR0SZMhR2rMyHx1rWbTJJemhxJduDlFzkBQVnmdafVcEtyOCHII b4GWIbovZfMxjpoCKKvoDm4EScWZYWiyumyOJ+L4bUyXANhOjjjxXOJR81Qrl4IUJBplWiHVrN oiRwIkL05GZkHGgfcsMMgkZT6iQUVXnA4agfRVuudEobXQo54S7ExILlMby49hyaXlW2ZjYkEq Rkj7qpV+R9U4L5Dna4meIAewP5CR18gWZHJCqf9YioVxAKpp6aSxpi06GuSafbmIK91WiCj4oJ 26R1rmZppznCVKqlQ13SFkvyvMYGq0O+U1tCw2VyHA512XrpqDCSUWdYwdE2EF3/g1Ena66o7X VNTsvWlJ5dOP6X6USuvafBe7SG16ytpVS4bTHSzsEbdcJytYU+jvq1AVUHURdZkXdY1qpUuCCF G1TX6meUP4SdO80xTfwCaG9pcdTMTsVSg5odeP0iBiRbJlOwBiOVpKPEHXHykXWL3SgyORXxK1 NE7GRRsU8lnxjPWF6o5VBMQcQc5Mxx1VzcWz1Ri5lqPJPRMkJ/3TxNTmIE/A2ZIEsDrLcX1xHz xjuoXIw0kaWZoma6kJLwWE9/FNh7+X4CtrZVaX0w0hrPwpIhdSpnroP7QmqNcpXCx60o2n7pNr xZ811gJSr2SwtPeU+saYbaBDEKQyejbLQfU0xGiNLOgldCi6vyklBrgXhI/hLUVXB45OpIVwP6 FUK4PjjsLsi+L+0r2J4U7ix8Pjvv/up4O/CipzI88TH6jvwTuy8fQwbOD3GBAqxXb30ECiQAAD s=} image create photo ::img::kd -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP//AP8A/wAA/////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vO8yDQNdwDsu03etA1smnmQWPqRbRiGyKlDen FARlTq+bqhU7rRKzlrA4MvJ+S6gAYU1Qr93seHzooVOHVqZ9g+O4G20Mb3JsdA0aSiE8RlF7Pn 1ZNzeBf4VZbYgDjh2LNY0dkpwSk4BKf5mbfqlZHAWSBaIUkoZvqGWriBuukgOwrKIlZCW1D7eg nLq8vX7BrCfCang2aE92P7mPyn2HQ89o3t10ntSKdLvLudqhAgZ13+/dmPDGAuczvnjqOJvg88 OYxaoV4YWtnjJ8VOZ5Q1SrhCZ69tCZO4goQDt3/Raecoir/5mGc77IGbwRsmKLbgrJRbMlkM+W PeuYBTOU0tDJhy35IAO1RdWHjO844SxX5gMkmapQAhXaMVHCmfQKAl3oZ+idouCcNtvzTKm/qk 2bbg36zVGiqT+t/gyLVmSdMWCjXqVaUR4YCA3/hQtI9AnZmYIqBCMmSN6psEWpPZgRmAFjbs/e nCQsWe5PMJqiPdYcYPOYyW7fYu18I1rXNowzE1pNCYLlt7OiBdr8uKbi1g5eC6VReBBp0x39oM 5cUXdV1YVKBb4rgaFm4lpFP9E05wFAgHBWR3Y8PHfOO8khUwokGe/2NwO6Rwf2JLxN4PBLGyaP Wr3xS+ptjm/AayV83P+HfPcTar+ZAhyApTjnQHqdEXhfXQRostlM5JE2y3UO1NdgZ4hVk16EBZ 7WmHkKzkCgawLWkdoamU1gl4ITfCihWtIpwluLEaoWD1f7LSghixw+CBh/ajw2XwQ9zrQiiB3a WOSTrWGnjWmUKPljIEJyCCKTCQ5pXmMmpbZSirFYl+F2/Y2IZZjUvbjWLYxtWaFzpSk3InOWkJ lUnG36h+AfB56UYWV6MsfnctkRcuaIgBRCI3tEOUbdmILBGGVyjGUZTpzB3dVdG9WVpimJtnVF m46z1TkqXqzJ4dhvWAYWW2iQJoTdZ5Jqyd+kHNJUKIST3UoYYJulWowpWerFUJX/gHpppncm0e pTNQFtpJcwl2iVVZZWfeZXTetN6+RlS3nkE03bNkkFjW2dhIy27tL15nRm2VaQuXeg9CtHGPkT IFLHuLNvkO+mVCNPR7l1VLiRdIWuwVCFFtO91+Cb1o7OGOzwHhGVNNE9YJSB00ZobWKAEhGBjE 3HxdG77MPl7pQyOtQo03I53DRU8mXZ2EwNyxb3i3GpHlykTw8f08xwOtO0vHNZ4uhD8UtijTPM XrlR5W4yvIQEU61r5WwYGdHZMbPX3MZjl4WeNdfKKwDPO66ygwFSJ7YDVYxGFI00NfLahZSXY3 8e6L13D33T82+igfdorU4C57GPWAO22jioRnkm9oUebOHq+QQcMDI5F1hEETTpSPywNOowmL46 6yuIfjPsQDDBOe21I450p7iDwPfuvV/xevAumEB8Exco8PnyzEegQAIAOw==} image create photo ::img::kh -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP////8AAP//AP8A/////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5vO8yDQNdwDsu03etA1smnmQWPqRbRiGyKlDen FARlTq+bqhU7rRKzlrA4MvJ+SyxCgMBet9lqOHzooVOHViadVtgUfg1qDIJrgYN2HYh1J1FReD d9f1ElcpVzbUNKHIqJjD2OPjc1onqkNJWZbYllnJuhpqIaFKKphFmsZa+wgHcSarKZuD6Rerq7 OK0nymiUqctPnkagkscDfQ8lDmjKg4SFzCE8pszUsNfZ3Nzb6Jiy7tDGPUPlpud0dsv5qu+tYA L0M85pADjpGbh1z8gc/KClIIddt+65SijrRjB4RSYtHOfu/54mhNvI9AP2cIuiWBGfdMw2IEDL lx8ZIsJxy8OPTfli5ithqoGwcCBoYlsIMpNLi+/CjSSK06USgzslomvpY2nMOjIftHyKUFMLj0 evdsrVlCpLqlyD+cS5VRtGoCR5epzxVJ2bi05bevtJBd02tMDoHuI2h5lLNW0F8ZXJBrBTw4Lj dNtXEfGDX2+pEKDx1GzgrYJQ3dvs1JtVq4LXPs7EeXJhWaS3DsB0ukxbBmjphoyMquPL2+0yM2 7Amafno3rlfP3sYAblO2U2zyaeWzduN3OOh6XuvPYT542x4d6aTTTz5rP1eg83u017t2O2oz+F WWl094bcbqgWwXlysf843YeYcvXZEAY649GnmHB1ZGdIgYkgBcZ4pM0BoD9PZEcgJz4Vl85hCu oHHTQamgYBgk59SBx2Ky62CHYmrlWeckaNB+OK61EB2mXKgWEZZspYQltYLkYInJAJ/eiVaPl5 NqJSiWV3GzDmARMBjTkyFKVlJ16nTQXhWVhkU9idcttX8ohViBzJQbgIKyymd2YWEjIk2XWv2U diYxbFh9smccDRZpaLuCddf8d0kl9pz8l0Hy1anVmBlW606aSjGYJ4pmBU0njWV80JeumbGfZp 4z1t4qeMh6lJ5+ZYGR5KXVowIqZbRdUldmFcSg1JF2CUiMbpqrlpRaii4eVVX63/hBT3V402jj nhIS8tW+tgnNJp1CnHAmosaYBaeOetq+bzXrc+rgjuNmIOtp1vORn0ZC+FwMSPKqCepy2v6FLq paKGGUZsZzImNa9MqUUEFkhTKbQKg0bK5ZNEO63EUsFYQeyKca2tJC8/+tH0sJ5KIYdUxROGZN MWNe0HK5R5pbgOUyntp1HLoQSokgRFNVVzPCOjlA1ZJuM1c1IGQVQTR7sKPFRUG898TB/uEHSN VUjjyzDSaBAEiTsQNY3XXcvZBeoyXvMBNixD7+wNbV1NrE3aX0czSpq5fNOMxzQ/Uo0RjxCDDN ZtFzJBX/Gw3S84gQAJKc+Jj7M4InfBxiYscn43QgoamgNOuM7dMGtJ5tb8g5Ldr7QNl53uEuL6 WmoPdNMjNvOKeIOoXPLGG0tFzYQep/kpPAUlfdE0FzkU1DvyMACyPPMrKA+9E9IMPj0Sv1t/vQ 6d13D89iF0rzr4TnxP/gomnN/EBQoM7/77ESiQAAA7} image create photo ::img::kc -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP//////AP8AAAD//////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5v65QNbNtyPd88e9KaVm+IEuaIyJGxlmx+lj+n dAONTp1LINXC7UaUv2xwFRiYy2fzAK1WW6ngYNT4FHbKjTVDj2a/4SI5gid/D08EiImKiHl/gC GDNDJ3EHUUiY4lmoGZj3KGHl6OO5CdYxxflCCEpHABBKZan6ihrWOZhJKhJbBxn3Zzgrq3OjO5 hbyxwKRhFr+srJq5d8m+0JvQztObt9K7r8rZhuIU3qfd2669nJKV5BPm3N7pt+ul7ePP0jvTTP Py9cLJ2XeOSbMwswYeGxbQl4YCAQrQqlXIILB/3AjZW2XF/x9AfN9WYSMobWMdJT4WEtvHCpYM k7VQFkH3b5JGTNXYBUrRr+Y2BgQG4ATnUCSnixr7uXwVVCijnPd2WpoAC5NLRUwT6YHKUeYWpn 1Y6Vm0CKjTp0mLPkFFNmwjoGXNOl3TUCckOQQE5N1b4gyhNXwY7cn6FAhRuyIbkMXkdzCfRoro 6jocFdJSvZj5wmoM+PGZoEN1wFQVaOliTGWW6lktt7Cx0aiUmc5MO4/Lzm0I0wX6UmBpxVgV8+ YTGHho0b5L+d3b8QHrNmtAS+adFvGT3K6bMWJNvSnacbC3gGncCyw+PHjcRH5HuetRd98ZDwZH uDwdWe5LCbb4zLEfRP9C7dacHflxJEFsXXhnnywEnqTTQQ4UFgRqEQIYjT7WUbRMXxQa19F+/A yUIWmG3WTGUlwgmEplBjbHoVN+AJZKFWAl595BvAR322Co5ciejYccmBpjacz3WnmqbTUiW+Tk eCJ16EXnkohg5aZWKPZN+eJmuXHXyit67aEki0GCVJ9wRkYH5Zm8XXlHljKcxWWXZtWgWWbCuc lkOxN6N5+XQcF1Wp5LUmHfSwBy6UCRYoJ5Z16EkonlNRzK5xx6jZ52GZCTanFmYKrhQcMZtDGH UKET9jOXUMZR+FgfbU0k6ZvHRHaVpvONKqVHH5G4in1yVoWasFU5sxaq1WR1omn/CBH1E6+7IO usVloStFCzPOlp6E1oWVvTSDNJe+iUOhjmCkMkcEorNirRcy4l0A4YmxLlAXLtV79QdKwn+JUp 77XBnGpQQuyS1GCnyKg0TD/GgMSSO7K5e+8jx3Tx8DgRfzRxQReX82O/CIeUzhwdw9PsJCCvm7 C1g0AIT0bMZLyyOHwGPNlFGKa8Z0UKU8PzwfKK95vGDTuoIq/qqjiVsfDakvS7WIJ4oIZI11yM V6GAqulooNBizNVSZZ0GcW+Jqm+0G+rMbxDQueH22JJlS2UzYIhiN9MlingFFvztLUXffifBTy yBk3HhwYXDIAbiiaeUjdqNp1vMEZHzXTkWDhlcTsQFCtzt+ecUKJAAADs=} image create photo ::img::ks -format gif -data { R0lGODlhRwBgAMIAAH//1AAAAP//////AP8AAAD//////////yH5BAEAAAAALAAAAABHAGAAAA P/CBDc/jDKSWtQS+jNu/9gKI7CFZBoqqrM6r5v65QNbNtyPd88e9KaVm+IEuaIyJGxlmx+lj+n dAONTp1LINXC7UaUv2yQNSibz2i0lbP2iLXtsTs9CNTv9nxcHsr5T3FMHQx4dQQBh4mIe3wgfz QybjsciokEl5iYjFp9myWDEG6ZhxOdnkJ9bBKgD46BdadrslulVJ+Ajp+DsGCqVmEWtritM216 vUGTwBXCt4CPc6iuya3OXGPDbM270k/PX9/Bt+O22NGxkKHhzOO45eRsvCJ/xOmRoe26kObc6E DPcnYsi5INoDlj8jpxKBCggDZJxu61yyLt2LxfFSFmzLfH/x3BhNPmpShIjmBJKiC9KSGhI4wz jsl4WVQo0lRClzihyJwZMpU3Q7Ba6hpmiJCMQyklrWSlR0/QekajpksKamlMp0ZJFYJQVKYmqq qWMrj0oCsiUg7wNPXaAOyWlYjKRF17lsCZsou8fu2m9OIAsmmjGroUtAzZwkcD++tj96/RrUjP pjkstS7lxY4I4537NIJZQGir0ezzV2seM1hNXq2MFDXfqvMMB0ach08YWGwLy0XGWO5pO3LN5i uBO/Fu4JifaG5L1+i7PJEbAPbD21Hpx8CDOzdJN+ioST0zO2b+tLgE87X0hVduV3B2rHR8dxYE XuXFRbOZN+X6mLa+5P9uYAMfHu2NNR16vlVRnTdVJIieJoREpt0xLl1k1TO6peYZZ/vhByBTtO DVXnzFoWbedQsGSI1+7p0XHXbSOZYiU9/BWBt3JZqoh2Yz+pLOdNDVZhttv7VFVo8o1UFcUTQU dxBxeb2nlmxIBuFakE0695+VHD7V2Ie+3HVIllLZNuBWkoEZogNjZtUhfxymdaSFflnWJlaEoU GZhEU2NiadnXiJIXN5GnkZega6lQwYgx3pZmdn7BUnlWqutgiZ8EGwZ4eANWJfoHUN+iJ5O6am 1kOjufIUpjudFydflWZ5JyyRTfSPnDyhup4kOwVFzVDAWlpTqj8NipOtHn3DUpX3WZaTTUAwef LOrqAoCW1Hw2EkyLTbvqaKtYtCES2sr1nBkENv1RmgO/8Ml05ATADzEieqGjMUKiTZMwxUq3i7 BbjbqJevF9aoEwvA/AicbRcFE3Owvao9ORAzE79RL4PKSkSQOBvT9/C6LekAzzUCV/TxIApL7M sqnspyMmwabatvt8zKvLKmmUQkmqd9ETvIKN9VEjPIj/jLMxuVLMInVTYX/K7R6lX7WyFpBJIL JxY/YR2JXEv7nLz0YuzF2OKEC/YVWMTrNdoxZM32EAKt/XYRBkE990hg2333feGEvfcKxQj1d9 qDY5FB4URcoADZjDfOhQIJAAA7} image create photo ::img::td -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbCMFgwzNa1S8+zzaPjG6MBe8QPLhgbFpeao1LIjIZ+uSRUunQKr5lk 0avSWsGYHdEcpiJlZDa6pmuDxGxNnHu6yz1iXVe/9wEYuOEEhDfIkuhjMogn6MhI4vgGSVnich F4mReJ+ePWsagySpIZx1HaCHhyhLqh50EY26r2Cusn+qiZW+vWizsLbLdrBHorKnsnewN62KNa lClzxio1/eXJhA1NSdjinB3dw12yaQ3brLg7/gy+gly2HFzcUa4cz1upPzwXbjmP2J52HO6lQm dHF61PqwgedJjB4B9Ok7wxNKcNI0QM/xIFBuy00NQ/fB8bljRG6qTJfShTsgRZr+BIEC9dsuiY bMk3ezOx+MTpM0vPoFGAEiU39Ki0pEqRwmGyU+a6qDRjSnVpFSBVjkwn9luZlSvMfBVD+hv7ta rZlmURtl3LU2NGrW7jyoVLEm+hrvzIUnuo0u7dtC83ikU7kHBgwSsBF07Lh+9Ex4q3HoancLHl yzrnEjE6WO9NyaEhq5NiWFBE0qU3C+ScJ2+9nbdAyxNW0x3lJLZ/4c6b2Uxv0bgr57Kd2qvf2q ST39Z8BTTF1sXIGPW2FfvFt4t3m16NOKzyfrmEIK/LvdIy86xF022zZc0UeN/VPoqvpHeoaonr sDl/qpMu/vHGWlN/DGiBfgbyguB8C67ToIIP4vffg/T5UaGFWNXhoIZCebhNBSCSQ4EEJp6Ioo kGFAAAOw==} image create photo ::img::th -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP////8AACH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbCMFgwzNa1S8+zzaPjG6MBe8QPLhgbFpeao1LIjIZ+uSRUunQKr0Co zvSV7XziZ1L81XE5amSYpLWe2+43u921e+JlNF398UdXEvcmiOdxCAhHJXelqKcBOQbiAjK5lo F5ZvRDMvkJSVYCeilK6LlDeaEIdnhyVLUmyEpp+KcSi6i5i9e7O0q7sZin+rsajHvHuYmBPFqc 6cxbympjWbzSnOWJxrJdhC1jUx3eTVROJI7+GrXOPij13nH7CFzPWXmeCHhv50tMHymAAVcNii cwVLp84DoNTCcJE6qHp+hJZESxFT+I/xzmDau4sR3GjMoCgXToSpjCkiNTAlsZsKXLZzCl7dkH k1wkmSdo9rSJ8luRfLBwYjk6BalSDB6XcnO6tGmgodeMmiKqwmfCrDszspD6MSZJrEHHAg37cm tNsRZV8gzptq1ItSY11p1bFi7eiBw3gPVjd9nJDn+jxeU7uKNVaicZXqQr11hBe/3SKp5Zh7Jm WVqbLEZca7Pm0GQvSzms7rO2vT0Km2VbNUrfT56ZNEyZwfXVxHc56dbEOPCL3lB+h3b2uEvkMM azAeZsq6sw4wgJRmc7XXVwfKRJi00zRrdwvd9lXXA9G/l4wtqfIyRv2fTu9ep5117LEm3gMEIK 32FGbBdAFviXnH4ibYHEgO0dFJ930HkhhxLoVdbVdtEgV0Z/7fnRHUUd1pJhEs1BBeIQGpKoU4 gKolgDghJuyCKGJooIY4zPvWjjai4mleNTPYZTwY88TGCABEYeiaSRBhQAADs=} image create photo ::img::tc -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbh+Lrs3MIpQ+eoPbqyDuT4erygcTN8WX7HYzLZjD6LQmYNVlsStdUE bcGacjWNME4lVpLPaPaO676Ur4qsut617rz2kvev1xUz+OYnQSKBBWLFJ5eoiPRomAHmmPjxCN nBVKl16ZE5idHpeRPDifp3qrmJdfM66uNJiWe5NFsYEcm6GtjYVjoX+2tZOxyIyfNAR2wko9ps GB3EiJxMhC2lOX0N0WTd9knNayYOBN6qGGprVv4Dhv1uXHgiTKh8zN3K7NtPKlovTrBd8xCRA1 VwD7pIAbPpo+VwoSOFyxYdAthNF0Jz/wilXUz3MZlHjSBJihwZYpVBaAmrNLxFaCXMh7Rm0Lxm 82DJLy1PRvnpEqjQmkOLqjEqVCJEpWtursmp02LUoNJmKuWDj55UU//y9FCJcWNIgiY7rhzbFC 3VjN7Elt030sHZigZfApo6625Ad3jJtguXsGuvvhMBTzss0CI/dbJiDu7TUB7LX4IVl8vXFhdk HevGOZHkjPBWui+Jfo4oml2spD1xZhujrbLbM0yLsbJnO+2c2qqXIr7dlilWzQOHWWU86FlfeG B7q4wH6Z/Ezl4zN4fNljRZ69LxUt+uvdlVtbrlhnX9anl6x5YN8+SGB0pkp7714JBPkffjp0rw x0NNvR9RsBw133v9wEHFFZwhk4Z+SBU2oIMP3rEFgRPu1V+CF2IYIYAX3qfhhgqNIaGIDJnoTA UockZBJi6+COMEABQAADs=} image create photo ::img::ts -format gif -data { R0lGODlhRwBgAKEAAH//1AAAAP///////yH5BAEAAAAALAAAAABHAGAAAAL/BIKpy+0PYzBH2I uz3rz7L0wBSJamiZzquqbh+Lrs3MIpQ+eoPbqyDuT4erygcTN8WX7HYzLZjD6LHZjOWlsStVVm DXuacpEK2oIlVmoaaJxqWs483g76OI6J7Oa7PYQkAebh1aUHEtgHGCgot1jixbjImOeo2CgoKX cp8Yh1RllGhBcDmhASY2qp9XkRx/PDirq0OklGG3sp5LZGqMrHm1qKi1o7+Lrrx9Ykc6MWxukE FkxnaMQ0nfxnXUwNHdTbhrhtttmMfDoD/oHtSpvbFg6OLQzfPU9MNnzIDXy+r5yo069/dQISHF hImypF1Yw1XMfvlkJd4vYJ9EYRo7GL/w/7ddTFsQcxbjhE3bN1cZYsgipHQUynjiHMeBEz1mwU JedGnTxx9vzpDKjOmDbNuOwE8ybFmSnRHc1nwx1ShqZMxiw5curBiVA/otyK0CPXLiHDlhsLsq y/rgUXgl0rFqDFbPpswk1Ll+jZk2TtEdInV+szvoSfzv2yqSU7vV9bnD11TqnPb5UoR6sIhDFV rxClSe6MVialZRotbRlzuW1eKvbiQjLMR/O7uEvtptLcbuWtUoqv7WKMFdm04LhiAa+sshXyVZ NBc5ZoFlPNTA5L431bd+9dXqsNa8/OvfvNjq5Yq5UctqT5sjT/FoHSOmmvNLJBXZH3fn2Ybztv 6DEX+gwX8AGYhRIDEhiggf8hOJd/qDGYjRr1QbjSgRTmMOGFQlSgIYYUSAJiiCJOAEABADs=} #-------- # cardbacks proc loadCardbacks {} { global cardback set cardback(Original) { R0lGODlhRwBgAKIAANnZ2QAAAP///wAA/8DAwP//AP8A/////yH5BAEAAAAA LAAAAABHAGAAAAP/CIChy+0Po5wBgQaKLrc/jHIKFBAoutz+MMq5UASKLrc/ jHIuFIGiy+0Po5wLRaCo4ujyEI4uD+Ho8hCOLg/h6PKgqEasoNHlJRzdJWY2 EOHoLjGzgUQlYgWNqojg6NLuIMLRFREcXdodRDi6IoKjKiIoESKCMjMjWFKC o0urSDi6UoIlOLq0ioSjKyVYMjODohKxgkalxnBKcHRpCUdXatCmBEeXlnB0 pQZtSmZwREQCQ0RkcKSmBGtKRnB0aAhHR0awpqQGS0ZmcIaGBmdGRrCmpAZL ZkRQJEIERWZE0KTEBEdMaHCGZgZJTEbQpMQER0xocIZmBklMRtCkxARl/0ZE UCJEBGVGarCkpgRHZmaQhmYGR0ZqsKSmBEdmZpCGZgZHRmqwpKYEZ0REMEJE BEelxnBKcHRpCUdXatCmBEeXlnB0pQZtSmZwREQCQ0RkcGakBEtwdGkVCUdX SrAER5dWkXB0pQRLZmZQVCJW0KjKCI4uLeEoqSrKCI4uLeEoqSrKCI6qiKBE iAgKjq7sIs3MCI4O7aLg6NIOyswM4ejKLopKxAqimRlBk5kZpJkZQZOZGaSZ GUGTmRmkmRlBk5kZpJkZQZOZGSQRkcAQERmkmRnB0aFdFBxd2kGZmSEcXdlF mpkRHB0aQRGJEBSRGcJR0iEcXRnB0aUlHCVVRf8ZwdGlJRwlFUGRCBEUmRnC UaVdlJISHF1aRcLRlRIswdGlVaSZEUGRCBEUmZlBmhnC0ZUatCnB0aUlHF2p QZsSHF1awtEREZQIEUHBUaUhHB0ZwZqSGiwZmcEZGhqcGRnBmpIaLBmZwRka wlEVEZQIEUHB0aUlFJMRQykxGRQTmsGhmSEUkxFDKTEZFBOawSEcXRFBiRAR FBxVGsLRkRGsKanBkpEZnKGhwZmREawpqcGSkRmcoSEcVRFBiRARlJkZwlFS VZQam0LB0aUlHF2pQZsSHF1awtEREZQIEUGZGcJRpV2UkhIcXVpFwtGVEizB 0aVVpJkRQZEIERSZocH/GZoZJBxdGcHRpSUcJVVFGcHRpSUcJRVBkQgRFBma wRmZGRzC0ZVdpJkZwdGhXZSRmcGhmRmUmRnCEREJDBERwtERExwd2kExmRkc mplBMZkZHJqZQTGZGRyamUExmRkcEhHBCBERHF3ZRZqZERwd2kXB0aUdlJkZ wtGVXRSViBU0qjKCo0tLOEqqijKCo0tLOEqqijKCoyoiKBEigjIzI1hSgqNL q0g4ulKCJTi6tIqEoyslWDIzg6ISsYJGpcZwSnB0aQlHV2rQpgRHl5ZwdKUG bUpmcEREAkNEZHCkpgRrSkZwdGgIR0dGsKakBktGZnCGhgZnRkawpqQGS2ZE /1AkQgRFZkTQpMQER0xocIZmBklMRtCkxARHTGhwhmYGSUxG0KTEBGVGRFAi RARlRmqwpKYER2ZmkHB0ZQRrSmqwZARHl3ZQRmoKpaZkcEREAkNEZHBGagyn BEeXdncgqbEpFBxdJlYkNTaFMjMiKBIhgiIzMyglJTi6tLsLSUkJji4r4ehK CZbMzKCoRKygUZURHF1awtFlGRQcXaZFwtGVERxVEUGJEBEUHF3ZRZqZERxd FkHB0WVhJBxd2UVRiVhBNDMjaDIzgzQzI2iCoztEKCZEOLojhjIzQzg6YoKj QyIoEiGCIkMzOCMzg0M4urK7A4ni6LKwIpqZERwdGv9BEYkQFJEZwlHSIRxd GcHRXRkUHN2VQcHRpSUcJRVBkQgRFJkZwlGlXZSSksEZmhmUkpLBGZoZlJIS HF1aRZoZERSJEEGRmRmkmSEcXalBm5IZlBmpQZuSGZQZqUGbEhxdWsLRERGU CBFBwVGlIRwdGcGakhosFNWaQqkpFNWaQqkpGZSZGcIhHFURQYkQERQcXVpC MRkxlBKTQTEZMZQSk0ExGTGUEpNBMaEZHMLRFRGUCBFBwdGlJRSTEUMpMRkU kxFDKTEZFJMRQykxGRQTmsEhHF0RQYkQERQcVRrC0ZERrCmpwUJRrSmUmkJR rSmUmpJBmZkhHMJRFRGUCBH/QZmZIRwlVUWpsSmUGZlBqbEplBmZQamxKRQc XVrC0RERlAgRQZkZwlGlXZSSksEZmhmUkpLBGZoZlJISHF1aRZoZERSJEEGR GRqcoZlBwtGVERzdlUHB0V0ZFBxdWsJRUhEUiRBBkaEZnJGZwSEcXdndgURx dFlYEc3MCI4OjaCIRAiKCM3gjJgMzgzN4IyY4OgOCYqJEI7uiKHMzBCOjpjg 6JAIikSIoAiOruwizcwIji6LoODosjASjq7soqhErKBRlREcXVrC0WUZFBxd pkXC0ZURHFURQYkQEZSZGcGSEhxd2t2FpKQER5eVcHSlBEtmZlBUIlbQqNQY TgmO/y7t7kBSY1MoOLpMrEhqbAplZkRQJEIERWakcEpqCmVkZnAIR1dGsKak BktGcHRpB2WkplBqSgZHRCQwREQGR8SkUExGDIVmhnCUxARHTErQZMQEaWZo cIbEBEdMStBEZgRFJEJQRGYEa0pqsGRkBmdoaHBmZARrSmqwZGQGZ2hocGZk BGtKarBkRgRFIkRQZGYEa2xKcHRpCUdXatCmBEeXlnB0pQZtSmZwREQCQ0Rk cGakBEtwdGkVCUdXSrAER5dWkXB0pQRLZmZQVCJW0KjKCI4uLeEoqSrKCI4u LeEoqSrKCI6qiKBEiAgKjq7sIs3MCI4O7aLg6NIOyswM4f/oyi6KSsQKopkZ QZOZGaSZGUGTmRmkmRlBk5kZpJkZQZOZGaSZGUGTmRkkEZHAEBEZpJkZwdGh XRQcXdpBmZkhHF3ZRZqZERwdGkERiRAUkRnCUdIhHF0ZwdGlJRwlVUUZwdGl JRwlFUGRCBEUmRnCUaVdlJISHF1aRcLRlRIswdGlVaSZEUGRCBEUmZlBmhnC 0ZUatCnB0aUlHF2pQZsSHF1awtEREZQIEUHBUaUhHB0ZwZqSGiwZmcEZGhqc GRnBmpIaLBmZwRkawlEVEZQIEUHB0aUlFJMRQykxGRQTmsGhmSEUkxFDKTEZ FBOawSEcXRFBiRARFBxVGsLRkRH/rCmpwZKRGZyhocGZkRGsKanBkpEZnKEh HFURQYkQEZSZGcJRUlWUGptCwdGlJRxdqUGbEhxdWsLRERGUCBFBmRnCUaVd lJISHF1aRcLRlRIswdGlVaSZEUGRCBEUmaHBGZoZJBxdGcHRpSUcJVVFGcHR pSUcJRVBkQgRFBmawRmZGRzC0ZVdpJkZwdGhXZSRmcGhmRmUmRnCEREJDBER wtERExwd2kExmRkcmplBMZkZHJqZQTGZGRyamUExmRkcEhHBCBERHF3ZRZqZ ERwd2kXB0aUdlJkZwtGVXRSViBU0qjKCo0tLOEqqijKCo0tLOEqqijKCoyoi KBEigjIz/yNYUoKjS6tIOLpSgiU4urSKhKMrJVgyM4OiErGCRqXGcEpwdGkJ R1dq0KYER5eWcHSlBm1KZnBERAJDRGRwpKYEa0pGcHRoCEdHRrCmpAZLRmZw hoYGZ0ZGsKakBktmRFAkQgRFZkTQpMQER0xocIZmBklMRtCkxARHTGhwhmYG SUxG0KTEBGVGRFAiRARlRmqwpKYER2ZmkIZmBkdGarCkpgRHZmaQhmYGR0Zq sKSmBGdERDBCRARHpcZwSnB0aQlHV2rQpgRHl5ZwdKUGbUpmcEREAkNEZHBm pARLcHRpFQlHV0qwBEeXVpFwdKUES2ZmUFQiVtCoigiOLu0OImocXRHB0aXd QYSjKyI4qiKCEiEiKDi6vISju8TMBiIc3SVmNpCoRKyi0eUhHF0ewtHlIRxd HsLR5UFRjUDR5faHUc6FIlB0uf1hlHOhCBRdbn8Y5VwoIFB0uf1hlFOgAAAM XW5/GOUMCCABADs=} set cardback(Flower1) { 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 ADs=} set cardback(Flower2) { R0lGODlhRwBgAPcAANnZ2QAAAHo8d3w0VG9AVJqcXZaImYOOWWtMPpZJeLVb jKdajUkKO1gZOJelSpysN5ezJKe5N626JKi3SqCvaYhWeYw8ZKd3mVg3WGcZ OHQ8bGg1V1o1aYJMfnQ0VGcmQncnQ1gXKnlIdXgbTHQ0ZJRUhLl3mmgaRmg5 Zow8bHkaOIYqWJRegzQOKTkHGicXGodHZJ9chHw0ZIQ0bJxUjJp2qHcqVHg1 SkYaOGg2Sk0IGDoFB5OPdqFThKdomLfLL4RMdJhHanlHaXw8ZEgKKKRstIw0 ZJQsXFkYRqdninw0XJRUjJxcjIxMfIxEfHgrZ4w0brd4qYpYhoxMdIY3W2dG ZVkoVmkqVXhaZnSGRMmBsruHuYlmhVgoSFkJJZdXeqh4p4dHbIQ8ZIREdHgr XCQdC145LIpLhoxEdHw0bGgoTLeLyEcYKSgFCLitxHRdjSIWPFk4RIR9TQcZ GRQvKWladrfOUsLdO5iIqnxAXG5pTWBlL1FKMQgXCYQ0ZJhalZdJh4lUaodo mZlolxoKGGktOAQEBCkIGUYkRwQMBBImFTFFM3lWfZWkJ3yIL4Q8bG59Jncp TIlZl4w2gkMmWAwEDD85TYd2mqZ4iKiHqHFQV3w8bIBEgFoSZGwPZ3Q8ZBkF BwQMDEc9YrWHrpl4iW8eK1pPUitZXyIvS1YLNXQ0XAgIFXpqdFJRcjoaH5RU bG9zNamJuFx8nwwEBGgLKYd5hFQoOmUWKJU5aIuVNIZKl7mXu5lnioZHXElg RJRcjKWYqAQEDIlwbra0kbd7uamZuTUnNSQgJoYsZXE/XJ9hpKeJmYUpSph3 mKZ4txEMDL2h0LiZqdOm1GZKeXQSPsW87BkYIWchXYc7dYcvPMW+05JmpxgV D0UyHVMoKaVTepY5W2o6d2YLN309UzsaEZ9ne4JESalqp24GGu7j75Q8SMqQ w0xOEcnkV7dpml9pFWxYKLdqpZU5dJuewriYhGtaZV4mcq++c+D1hZxKnJgs bJurlBANBHI0b3QsdJwsRCH5BAEAAAAALAAAAABHAGAAAAj/AAEAABhA4ECC BQ0eRJhQ4cIAAAAACCBgAIECBg4gSKBgAYMGBRw8gBAhgoQIEyhUsHABQwYN Gxpw6ODhA4gQH0SMIFHCxAkUKUqoWJEgAYsSLTx4cPECBIwYMmbQqGHjBo4A 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 oUR9rAUAAAAAwAACBxIsaPAgwoQKFwYAACAgADs=} set cardback(Bubble) { R0lGODlhRwBgAPcAANnZ2QAAAIKVs3uNqXSFoHCAmWx8lWp5kWh2jqi2xJmt wYibuoGVsn2PrHqLp3eJpHWGoXOEnnGBnG9/mGJwhl1rgGFvhH2QrH6QrYCS r4SXtoeauYebuoaZuIWYtoSXtYGUsX+Sr3yOqneIo3KDnW59lmp6kmd2jWRz iWFvhllnfFhleVlme1tofVxqf25+l3iKpXGCm3GBm2t7k56qt5Knx4qdvYCT sHaHonSFn3GCnG+AmWZ1jF5sgXqMqH+RroSYtXuOqXmLpnODnmh3jmV0i19t hFhlemBthGl5kmh4kGVzinmKo5+0yJSqy5ClxoqevWh4j3iJpGx7lGNxh2Ny iJOoypGmx4+jxIufvnCAmm19loOWs15rgFtpfmd3jo6jw4OWtIWauI+kxY2i woicu4aZt3mMp3qMp19tglxpfpit0JClxYugwI2iwXKCnHaHoXuNqmNxiGZ1 i2l5kKC325mv0pKnyIyhwYmdvHB/mY6hwHWGoqG53pmw04ecu3yNqn6Rq6zF 7aO64Jyy1pasz46arNHs/rHL9KW945202Jet0JKoydzg5tnz/7XP+KjA55+2 22p6kfP//8nl/7DK8piu0WV1jGBug42hwqKwxKrC6Zuy1XyNqWFwhp+20qS8 4WFwhVpnfJ612ZarzVZidVdjeKfA5parzlJecVRfdFVidldkeFRhdFRfc1Nf cp+12lpne1VidVVhdkxXaE5Za09bblBcb1FdcFJdcE9abVNgc0VQYEdRYklU ZUpVZ0xYaU1YakJLWkBJWENNXEROXkhSYztEUjU9SVRgc67I8KvE61FecVBb bqa+5a3G7r3Y/bjT/JWrzMPf/P///6vD3+b7/11sgV9ug52011Zjd4mevU5a bFxofXOEnUlTZFdkd21+lpKnxGp5kml6kYWZuGt7lFxqfGBremRvfmRwgE1a a2x1gXN6h2t6jHiAjXuDkI2gtFNgdJWqxqq60GJvhWJwhXuOqoaQoZmquv// /////////////////////yH5BAEAAAAALAAAAABHAGAAAAj/AAEAABhA4ECC BQ0eRJhQ4cIAAAAACCBgAIECBg4gSKBgAYMGDh5AiCBhggEKFSpYuNCgQQMM GTRs4LChg4cPAkCEuCDCwQgCJAqUMHECRYoKKlawaOGiQoUXGAbAgBDjAIIA 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 gIAAOw==} set cardback(Blue) { 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} set cardback(Purple) { R0lGODlhRwBgAPcAANnZ2QAAAIJDu4NEu4RFu4RHu4VIu4VIvIZKvIhMvYpP vopRvoxTvo5Vv45Wv49Yv5BZwJFawYtUvolQvIlPvIZLu4NIvYNGuoFDu39A u31Aun0+uXw9uXs8uXs6t3k4t3g2t3c2uHc0t3Yzt3c0uHYzuXc0unk1unk2 uno3uns4unw6un0+u4A/u4BBu4NGvJFavpJbwI1VvopRvIdMu4JFvH9Cu34/ uX9At3w7t3g1uX49u38/uoBAuYBCvIFEvIRHvIZJvIdMvYhNvpJbv5Jdvo1W vY1UvItSvIVKu39AuX09t3o5uXk3uH47un9AvIJDvYRFvYVJvpJcvY5XvIpR u4dOuoVKuYFEuoBCuYJDuXo3uXw8u349vIA/vYFCvolOv4xRvY5VvY1Wu4xT u4hNu4VJuYFEuX9CuX07vHw5u4pPvZBZvI9YvI5Wuo1Uu4tSu4NGuX4+vYBB vINIu3k4uXw5uYxTvHs7uno1uoZHuolOu49Yu4ZJu3s6uYdOvIVLvX0+vH09 vHo4t4pPu4lQu3s6vIJFvn48uHw7uYBBvoA/t38+vn9CvIZGvIxUuotSv4pR uYJDv4RFv4RGwIVHv4ZIv4hLvodMv4ZLuIZHv4VIwIdJwIhKwIdLwIdMwIhN wItSwY5VuYNHvohLuYdLv4lOwIlNwopPwIFEvolPuYhMuYpQwYpQwotSwoxT wo1WwIRHuI1Uwo5VwZBXwI1Wvn9Avo5Vw41Wwo9YwZBZvoVJt4dMuY5Ww45W xI9YwpJbvJFavIJEuIVKv4dOv5BZwpJcwZRfwZRgwZZivZNevZFbwpNewpVg wpdjwJlmvoVKwJZhwZlmwZtpwJ1swJNewYlQwI9YxJViwolRwpJcwpRfwpdj woxTwJJbwo1VwIlQv3k4uotUwpZhwoxTuY9XuZBZupJbupJcu4xUuYtSuI5X wIdOuYxTt4lPt4FEt41WuZFcwnUzuHUztpFcwXc2t3s8uodOwHg1t/////// /////////////////////yH5BAEAAAAALAAAAABHAGAAAAj/AAEAABhA4ECC BQ0eRJhQ4cIAAAAACCBgAIECBg4gQJAggQIFCxg0cPAAQoQIEB44aCCBwQQK FSxcwJAhgwYNGzZw4MChg4cPIEKIGEFixIgRJUqQMHECRQoVK1i0cCFgAIEA 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 gQQLGjyIMKHChQEAAAgIADs=} set cardback(Red) { R0lGODlhRwBgAPcAANnZ2VBQUI43FYI1Foo3FoA2F2kuE4Y0FYEzFnAsEXw0 FYM0FYU1FXk0FXQtEoExE30yFIA1FXkvEXouEYAzFIIyFZI8Gps+GZA6F4k3 GIY5GJ4+GaBAGpY9GpQ3FZw8GJw/Gok2Fok3FX0wE3MuEn4xE3EuE2orEWgp D3EtEnsxFHkwE3cvEnkwEXEuEXcwE4w4FpE3Fpk4GJI5GJY7GIw1FIc2Fn4x FIo5GJE5GI81FXMuEXgvEngxFG0rEIY1Fn81FnMwE4AxE3ErEW4tEnIyFXow E34yE3wxFJI4Fpg4Fok0FaM9GZ5AG6lBG5g7GJI7Go83FoUzFG8uE20tEnYu EYw1Fp48GZU7GIk4Foc3FZE4F6E7GIQ1FoUyE3MvFG0sEWcqEGwrEmosEXYt EZc5F6VBHKRDHahDHKJCHJQ8GXwyE20uEXUxFJs6F444F445GJk/G402Fn4y FGwqD2EnD34vE380FZM6F6NAG6Y/Gok1FoAvEnMsEXQuE2YpD3YvFHoyFIIx E3gxFZM7GJ0+GaI8F6E9GZo7GI81Fm0pEWopD2kqEXQtEWssEmQpEGcsEnAr D4c3F509GqZBGpo+GnYrEGQoD18nD24rEXUuEZk+GZY8F340FGorEmEpEIQw EoA0Fps9Gp4/GqE+GaM+GZY8GZU3FmksEn0uEqtDG486GLNDHIo3FYY0E2Ur Eoo1FXsvE5I2FHctEmUqEKo/GZc6F4I0E2QtFJo8GZg8Gm8pEJU5F61DHa5B Gp07F4M3FXsyE3AwFFwmD30wEZM6FZ4+HKI/GqtFHXszFoo1Fp89Go02FXot EZQ5GJQ6F69FHZk2FbVFHa5EHIkzE4A2FZEzFIwzFJg8GYU2FYw6GG8sEXs1 FZA7GJA4FYouErtHH6E+Gn43F405FYw0E20uFIM2FoY4Fps/G4U2Fm8rEoIy FmMrEXItEm0uE487Gow4E3gyFHgyE4oyFXorEHgtEmcrE3czFo07Go0yE3kt EZg5GI85FYo2E5Y7G3ovFCH5BAEAAAAALAAAAABHAGAAAAj/AAEAABhA4ECC BQ0eRJhQ4cIAAAAACCBgAIECBg4gSGBAwQIGDRY4eAAhgoQHEygsqGDhAoYM GjZw4NDBA4YPIEKIGEGCQgkKJk6gSKFiBQMWLVy8gBFDxgwaNWzcWCBgAIEA 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} set cardback(Tcl) { R0lGODlhRwBgANUAANnZ2QAAAP///8yZZsxmZsxmM8wzAMyZAMxmAP/MAP+Z AP//AP+ZZv/MzMz//5mZzGaZzMzMzAAzmTMzmWZmzGYzZv//zDNmzDMzZpkz AJnMzGYzM5kzM//Mmf+ZmTNmmcwzM8yZmZmZmZlmZplmmZkzZszM/2ZmmZlm M8yZzP////////////////////////////////////////////////////// /////////////////////////////////yH5BAEAAAAALAAAAABHAGAAAAb/ QAAAGBAOiUXjEZlULgMAACAAFAiHxKLxiEwql4IAIMBkMpnMZCDAZDKZzGQg wGQymcxkIMBkMpnMZCDAZDKZzGQgwGQymcxkABgACoRDYtF4RCaVy2EgwGQy mcxkIMBkJgcDQqFQYDKNgQBzOBgQCoVCAWgQDolF4gAoEA6JRaMxEDgeB0CD cDg8IIaHBIJIHBYGhEKhUCAaCECBcEgcBgLFInEANAiHQkViiFgkDkQikUgc DoAC4ZA4DASKRSIDaBAOhQvEcKEgEolEItHAAAqEQ+IwECgWi0CDcChcDBUJ IpFIJBKFQIFwSCQGAsViEWgQDoWJ4QJBJBoKRCKR/wgUCIdEYiBQLBaBBuFQ qBAeFERioSEQEIhEohAoEA6JxECgWCwCDcKhECFMIIhDgsDxgESIRKIQKBAO icRAoFgsAg3CoRAhTBCHBMFDIpFMCEQi0QAUCIdEYiBQLBaBBuGQeFAQhQUB BSgRCitAg3BIHAIFwiGRGAgUi0WgQTgkKhBEoeUClAiFGKBBOCQSgQLhkEgM BIrFItAgHBITRGEDApQIhxmgQTgcIoYFoEA4JBIDgWKxCDQIh8QE0VDQACXC 4QZoEAoVCYRQkRAWgALhkEgMBIrFItAgHA4RCaKhAZQIhxigQThELA7DhZAj kUCAAuGQKAgEisUi0CAcDv8RCmIBApQIhxmgQThELBDDhHAjkQAFwiFRGAgU i0WgQTgcIg7EDlAiHG4MBoLHYDAgFgaDAYEwGDZCoEA4JAoDgWKxCDQIh0ME gqgBSoRDTgWiERQMhkMCaBAODRWJBCgQDonCQKBYLAINwuEQgRgWKECJcEiM DAyGBAJoEA4NFckHKBAOicJAoFgsgoAG4ZA4HHyAEuFwiGkMDIYE0CAcCjES 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 ZAAQYDKZTOYxAAQIgQHhkFg0HpFJ5TIAAAQBADs=} return; # stop the last card's data being returned };# loadCardbacks loadCardbacks set data(cardback) [lindex [shuffleList [array names cardback]] 0] image create photo ::img::back \ -data $cardback($data(cardback)) array unset cardback #-------- set ALLCARDS [list] foreach x [image names] { if { [string match {::img::[a2-9tjqk][sdch]} $x] } { lappend ALLCARDS [string range $x end-1 end] } } set ALLCARDS [lsort $ALLCARDS] main update idletasks if 0 { [[ [Category Games] | [Category Application] | [Tcl/Tk Games] ]] }