From 8a5ce7eca94df55d7024ffaaf33ff0e224900112 Mon Sep 17 00:00:00 2001 From: poopburger78 Date: Tue, 29 Jul 2025 11:17:47 -0700 Subject: [PATCH 01/13] blahbl --- apps/TOH/Driver.cpp | 123 +++++--- .../UserInterfaceState.xcuserstate | Bin 0 -> 75041 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 120 ++++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 27485 bytes .../xcschemes/xcschememanagement.plist | 164 ++++++++++ demos/STP/Driver.cpp | 4 +- environments/MNPuzzle.h | 9 +- environments/TOH.h | 288 +++++++++++++++--- 8 files changed, 618 insertions(+), 90 deletions(-) create mode 100644 build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/apps/TOH/Driver.cpp b/apps/TOH/Driver.cpp index 4ab788a4d..bceb5ab4b 100644 --- a/apps/TOH/Driver.cpp +++ b/apps/TOH/Driver.cpp @@ -8,13 +8,14 @@ #include "TemplateAStar.h" #include "FileUtil.h" #include "SVGUtil.h" -const int numDisks = 16; +const int numDisks = 12; void SaveSVG(Graphics::Display &d, int port); TOH toh; TOHState s, g; + IDAStar, TOHMove> ida; std::vector solution; @@ -43,8 +44,14 @@ TOHPDB pdb4(&absToh1, goal); Heuristic> h; +int selectedPeg = -1; //idk +int lastClosestPeg = -1; //idk bool recording = false; -bool running = true; +bool animating = false; +bool dragging = false; + +bool animationVersion2 = true; +float px; int main(int argc, char* argv[]) { @@ -63,6 +70,7 @@ void InstallHandlers() InstallKeyboardHandler(MyDisplayHandler, "Record", "Record a movie", kAnyModifier, 'r'); InstallKeyboardHandler(MyDisplayHandler, "Reset View", "Reset camera to initial view", kAnyModifier, '|'); InstallKeyboardHandler(MyDisplayHandler, "Reset state", "Choose a new random initial state", kAnyModifier, 's'); + InstallKeyboardHandler(MyDisplayHandler, "User", "Let user play", kAnyModifier, 'u'); InstallCommandLineHandler(MyCLHandler, "-run", "-run", "Runs pre-set experiments."); @@ -76,8 +84,8 @@ void SolveProblem(bool reset = true) Timer t; if (reset) { - s.StandardStart(); - g.Reset(); + s.StandardStart(); //the start state + g.Reset(); //the solution state // g.counts[2]++; // g.counts[3]--; // g.disks[2][0] = 4; @@ -182,40 +190,62 @@ void MyWindowHandler(unsigned long windowID, tWindowEventType eType) } } -double v = 1; +float v = 0.0; uint64_t counter = 0; -const int animationFrames = 20; +const int animationFrames = 80; void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) { // cameraMoveTo(0, -1, -12.5, 0.05); // cameraLookAt(0, 0, 0, 0.2); auto &display = GetContext(windowID)->display; display.FillRect({-1, -1, 1, 1}, Colors::black); +// const auto smooth = [](float a, float b, float mix) +// { float tmp1 = mix*mix*mix; float tmp2 = (1-mix)*(1-mix)*(1-mix); +// mix = (1-mix)*tmp1+mix*(1-tmp2); return (1-mix)*a+mix*b; +// }; + toh.Draw(display); - if (solution.size() != 0 && running) + + if (solution.size() != 0 && animating) { - toh.GetNextState(s, solution[0], g); - toh.Draw(display, s); - SaveSVG(display, 0); -// toh.OpenGLDraw(s, g, float(counter)/animationFrames); -// counter = (counter+1)%animationFrames; -// if (counter == 0) - { - toh.ApplyAction(s, solution[0]); - solution.erase(solution.begin()); -// if (solution.size() == 0) -// counter = 10;//recording = false; - } + if (counter == 0) { + s = g; + toh.GetNextState(s, solution[0], g); //g is the next state + solution.erase(solution.begin()); + } + +// float test = float(counter)/animationFrames; + + toh.Draw(display, s, g, float(counter)/animationFrames); + counter = (counter+1)%animationFrames; + } + else if (solution.size() == 0 && animating) // is that "&& animating" part redundant? + { + toh.Draw(display, g); // after showing solution + } + else if (dragging && !animationVersion2) + { + + counter = (counter+1)%animationFrames; + v = float(counter)/animationFrames; + toh.Draw(display, s, g, v); + } + else if (dragging && animationVersion2) + { + // have the disk teleport to the top + // pass mouse position into Draw and have the disk follow pos.x + // once Released, have the disk teleport to the bottom + + // now it needs to show the vertical animation at the beginning and at the end + // while it's in the air, it needs to show an outline of where it's gonna drop down to/on which peg + // we could make the peg being hovered over a diff color, and it could be animated to do a glow-fade sort of color thing + + toh.Draw2(display, s, selectedPeg, px); + } else { -// if (solution.size() == 0) -// { -// counter--; -// if (counter == 0) -// recording = false; -// } - toh.Draw(display, s); + toh.Draw(display, s); //before showing solution, or when user is playing } if (recording && viewport == GetNumPorts(windowID)-1) @@ -242,17 +272,16 @@ void MyDisplayHandler(unsigned long windowID, tKeyboardModifier mod, char key) { case '|': //resetCamera(); break; case 'r': recording = !recording; break; + case 'u': // y no work? + std::cout<<"u"; + g = s; + break; case 's': { - //toh.GetStateFromHash(random()%toh.GetNumStates(s), s); -// g.Reset(); + std::cout<<"s"; SolveProblem(true); -// ida.GetPath(&toh, s, g, solution); -// for (auto &m : solution) -// { -// std::cout << m << " "; -// } -// std::cout << "\n"; + g = s; + animating = true; } break; case 'v': // value range compression @@ -375,12 +404,32 @@ Heuristic> *BuildPDB(const TOHState &goal) return h; } -bool MyClickHandler(unsigned long , int, int, point3d , tButtonType , tMouseEventType ) +bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEventType e) { - return false; + if (e == kMouseDown) + { + v = 0; // ? when u click and hold on a peg, sometimes the disk animation jumps and starts towards the end of v? or is it idk + toh.Click(s, selectedPeg, p.x); + } + if (e == kMouseDrag) + { +// dragging = toh.Drag(s, selectedPeg, p, g, v, lastClosestPeg); // reminder this is called per frame (drag drag drag drag...) +// counter = v * 30.0f; + px = p.x; + dragging = toh.Drag(s, selectedPeg); + + } + if (e == kMouseUp) + { + dragging = false; + toh.Release(s, selectedPeg, p, g); + + s = g; // if g = s isn't done at the start, this makes entire stack teleport to solution + } + + return true; } - void SaveSVG(Graphics::Display &d, int port) { const std::string baseFileName = "/Users/nathanst/Pictures/hog2/TOH_"; diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..83b0c6afebbf2d317ee6e420ff1942c106c134e5 GIT binary patch literal 75041 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 literal 0 HcmV?d00001 diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 000000000..d630c9548 --- /dev/null +++ b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..3b3fc0fe357b63b84ab067547a7e87e23de17455 GIT binary patch literal 27485 zcmeHvcYIVu*Z<7iwxJ}u={=jaB-u@}DWoT)Y|4@>DVst<2`LK%(#URTD%=qjR8&N; zD*=g!QXneX?U zIdkr*Z*OigTeRAP2qS_R#3ByyNI-)|hfFthn48*Kt3&EK8YVZvxAG86Tl?scw)!ci z28-Dl;X9Vs%AH0T3r(|3jaj`yA0QcWs4!aUEG7}JSCH9gFdBk9kSFp&kthm9BQ1(S zu_zA3qv5C!6(Iu}g^E!LDn(_;h{{m~szddt0W~5Mnua=%8Cg&#nuX>f5#532qr1^U zbU#{xmZB%nlV}-w8a;!aMeERdv;n<{Hlf$hX0!#pg?6I%&@QwWeSi+4kI={Hb95A) zL1)pI=qt=(4)a*RGVFi{;lX$a9*P~Y6L!Nc*b94O9~^*#aU71v!*K#m#7Q_Ar{HXy zgLQZ$uE7)WB;1BO@pL>J&%txCh;PHU<2&$O_-=e3UW6aS58=n~GQ1qG#B1<+{2bnZ zU&JrrSMgT76Ys+Z@ge*nK7yU`C-^8nfluPI_)Gi^K99d80+A61GKdT&L #NSuhA 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 J_RpHl{|_9m_nZI# literal 0 HcmV?d00001 diff --git a/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist b/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..ef069f50f --- /dev/null +++ b/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,164 @@ + + + + + SchemeUserState + + ACA.xcscheme_^#shared#^_ + + orderHint + 0 + + AStar (Graph).xcscheme_^#shared#^_ + + orderHint + 27 + + AStar (Map).xcscheme_^#shared#^_ + + orderHint + 16 + + AStarIDA.xcscheme_^#shared#^_ + + orderHint + 1 + + BOAStar.xcscheme_^#shared#^_ + + orderHint + 2 + + BOBAStar.xcscheme_^#shared#^_ + + orderHint + 3 + + Bidir.xcscheme_^#shared#^_ + + orderHint + 24 + + Bounding Boxes.xcscheme_^#shared#^_ + + orderHint + 26 + + DFID.xcscheme_^#shared#^_ + + orderHint + 23 + + DH-place.xcscheme_^#shared#^_ + + orderHint + 30 + + Dijkstra.xcscheme_^#shared#^_ + + orderHint + 10 + + Dynamic Phi.xcscheme_^#shared#^_ + + orderHint + 4 + + FastMap.xcscheme_^#shared#^_ + + orderHint + 21 + + GMX.xcscheme_^#shared#^_ + + orderHint + 22 + + Grid Abstraction.xcscheme_^#shared#^_ + + orderHint + 19 + + IBEX.xcscheme_^#shared#^_ + + orderHint + 5 + + IDAStar.xcscheme_^#shared#^_ + + orderHint + 20 + + Inconsistency.xcscheme_^#shared#^_ + + orderHint + 12 + + JPS.xcscheme_^#shared#^_ + + orderHint + 29 + + NBS.xcscheme_^#shared#^_ + + orderHint + 15 + + Necessary Expansions.xcscheme_^#shared#^_ + + orderHint + 14 + + Pancake.xcscheme_^#shared#^_ + + orderHint + 6 + + Racetrack.xcscheme_^#shared#^_ + + orderHint + 7 + + Reach.xcscheme_^#shared#^_ + + orderHint + 17 + + STP.xcscheme_^#shared#^_ + + orderHint + 25 + + Suboptimal Map.xcscheme_^#shared#^_ + + orderHint + 13 + + Transit.xcscheme_^#shared#^_ + + orderHint + 11 + + Triangulation.xcscheme_^#shared#^_ + + orderHint + 8 + + Witness Editor.xcscheme_^#shared#^_ + + orderHint + 9 + + Witness.xcscheme_^#shared#^_ + + orderHint + 28 + + Witness3.xcscheme_^#shared#^_ + + orderHint + 18 + + + + diff --git a/demos/STP/Driver.cpp b/demos/STP/Driver.cpp index 6e5c751c0..ad4b1c906 100644 --- a/demos/STP/Driver.cpp +++ b/demos/STP/Driver.cpp @@ -172,8 +172,8 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) mnp.Draw(display, curr); } else { - mnp.Draw(display, curr, last, smooth(0, 1, tween)); -// mnp.Draw(display, curr, last, tween); +// mnp.Draw(display, curr, last, smooth(0, 1, tween)); + mnp.Draw(display, curr, last, tween); } if (tween <= 1+rate) diff --git a/environments/MNPuzzle.h b/environments/MNPuzzle.h index 9d8a5d5cc..4006feb88 100644 --- a/environments/MNPuzzle.h +++ b/environments/MNPuzzle.h @@ -1217,11 +1217,14 @@ void MNPuzzle::Draw(Graphics::Display &display, const MNPuzzleSta default: assert(!"action not found"); } sprintf(txt, "%d", s1.puzzle[x+y*width]); + + Graphics::rect bound(p1.x*v+p2.x*(1-v), p1.y*v+p2.y*(1-v), p1.x*v+p2.x*(1-v)+squareSize, p1.y*v+p2.y*(1-v)+squareSize); - display.FillRect(bound, Colors::white); - display.FrameRect(bound, Colors::darkblue, 0.01f*squareSize); +// std::cout << p1.x; + display.FillRect(bound, Colors::white); //keeps the animated tile white while it's moving + display.FrameRect(bound, Colors::darkblue, 0.01f*squareSize); //keeps the dark blue outer border around the tile while it's moving bound = bound.inset(0.02f*squareSize); - display.FrameRect(bound, Colors::lightgray, 0.02f*squareSize); + display.FrameRect(bound, Colors::lightgray, 0.02f*squareSize); //keeps the light gray inner border around the tile while it's moving if (s1.puzzle[x+y*width] > 0) { diff --git a/environments/TOH.h b/environments/TOH.h index 6da64e74e..77c19f9d8 100644 --- a/environments/TOH.h +++ b/environments/TOH.h @@ -158,11 +158,17 @@ class TOH : public SearchEnvironment, TOHMove> { void OpenGLDraw(const TOHState&, const TOHState&, float) const; void OpenGLDraw(const TOHState&, const TOHMove&) const; - void Draw(Graphics::Display &display) const; - void Draw(Graphics::Display &display, const TOHState &s) const; + void Draw(Graphics::Display &display) const; //draws the base and lines + void Draw(Graphics::Display &display, const TOHState &s) const; //draws the disks void Draw(Graphics::Display &display, const TOHState&, TOHMove&) const; void Draw(Graphics::Display &display, const TOHState &l1, const TOHState &l2, float v) const; - + void Draw2(Graphics::Display &display, const TOHState &l1, int startPeg, float px) const; + + bool Click(const TOHState &currState, int &peg, float px); + int getClosestPeg(const TOHState &currState, int peg, point3d loc); //idk + bool Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int lastClosestPeg); + bool Drag(const TOHState &currState, int peg); + bool Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState); bool pruneActions; protected: @@ -426,18 +432,22 @@ void TOH::OpenGLDraw(const TOHState&, const TOHMove&) const } template -void TOH::Draw(Graphics::Display &display) const +void TOH::Draw(Graphics::Display &display) const // pegs and base { - Graphics::rect r1(-0.75-0.01, -0.8, -0.75+0.01, 0); + Graphics::rect r1(-0.75-0.01, 0, -0.75+0.01, 0.9); //peg + display.FillRect(r1, Colors::lightgray); - r1.left += 0.5; r1.right += 0.5; + r1.left += 0.5; r1.right += 0.5; //adds margin of space to the left and right display.FillRect(r1, Colors::lightgray); r1.left += 0.5; r1.right += 0.5; display.FillRect(r1, Colors::lightgray); r1.left += 0.5; r1.right += 0.5; display.FillRect(r1, Colors::lightgray); r1.left += 0.5; r1.right += 0.5; - display.FillRect({-1, 0, 1, 0.12}, {0.6, 0.4, 0.2}); + +// display.FillRect({-1, 0, 1, 0.12}, {0.6, 0.4, 0.2}); <--- the og line + display.FillRect({-1, 0.8, 1, 0.92}, {0.6, 0.4, 0.2}); //brown base + // glColor3f(0.5, 0.5, 0.5); // DrawCylinder(-0.75, 0, 0, 0, 0.01, 0.8); // DrawCylinder(-0.25, 0, 0, 0, 0.01, 0.8); @@ -464,9 +474,9 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s) cons //glColor3f(0.0, 1.0-float(which)/float(disks), 1.0); rgbColor color(0.0, 1.0-float(which)/float(disks), 1.0); Graphics::rect r(offset[x]-0.04-0.2*which/float(disks), - 0-0.4/(1+float(disks))-y*0.8/(1+float(disks))-0.8/(1+float(disks)), + 0/*-0.4/(1+float(disks))*/-y*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8, offset[x]+0.04+0.2*which/float(disks), - 0-0.4/(1+float(disks))-y*0.8/(1+float(disks))); + 0/*-0.4/(1+float(disks))*/-y*0.8/(1+float(disks))+0.8); // DrawCylinder(offset[x], 0.4-0.4/(1+float(disks))-y*0.8/(1+float(disks)), 0, // 0.02, 0.04+0.2*which/float(disks), 0.8/(1+float(disks))); @@ -476,46 +486,105 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s) cons } template -void TOH::Draw(Graphics::Display &display, const TOHState &s, const TOHState &s2, float interval) const +void TOH::Draw(Graphics::Display &display, const TOHState &s, const TOHState &s2, float v) const { - TOHMove m = this->GetAction(s, s2); - int animatingDisk = s.GetSmallestDiskOnPeg(m.source); - int initialHeight = s.GetDiskCountOnPeg(m.source)-1; - int finalHeight = s.GetDiskCountOnPeg(m.dest); - - glColor3f(0.0, 0.0, 1.0); - double offset[4] = {-0.75, -0.25, 0.25, 0.75}; - for (int x = 0; x < 4; x++) - { - for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) - { - int which = s.GetDiskOnPeg(x, y); - if (which != animatingDisk) - { - glColor3f(0.0, 1.0-float(which)/float(disks), 1.0); - DrawCylinder(offset[x], 0.4-0.4/(1+float(disks))-y*0.8/(1+float(disks)), 0, - 0.02, 0.04+0.2*which/float(disks), 0.8/(1+float(disks))); - } - } - } - glColor3f(0.0, 1.0-float(animatingDisk)/float(disks), 1.0); - if (interval <= 0.333) - { - interval *= 3; - DrawCylinder(offset[m.source], 0.4-0.4/(1+float(disks))-initialHeight*0.8/(1+float(disks)) - (interval)*(disks+1-initialHeight)*0.8/(1+float(disks)), 0, - 0.02, 0.04+0.2*animatingDisk/float(disks), 0.8/(1+float(disks))); - } - else if (interval <= 0.666) - { - interval *= 3; - DrawCylinder((2-interval)*offset[m.source]+(interval-1)*offset[m.dest], 0.4-0.4/(1+float(disks))-0.8-0.2*sin((interval-1)*PI), 0, - 0.02, 0.04+0.2*animatingDisk/float(disks), 0.8/(1+float(disks))); - } - else { - DrawCylinder(offset[m.dest], 0.4-0.4/(1+float(disks))-finalHeight*0.8/(1+float(disks)) - - ((1.0-interval)/0.334)*(disks+1-finalHeight)*0.8/(1+float(disks)), 0, - 0.02, 0.04+0.2*animatingDisk/float(disks), 0.8/(1+float(disks))); - }} + TOHMove m = this->GetAction(s, s2); + int animatingDisk = s.GetSmallestDiskOnPeg(m.source); + int initialHeight = s.GetDiskCountOnPeg(m.source)-1; + int finalHeight = s.GetDiskCountOnPeg(m.dest); + + // glColor3f(0.0, 0.0, 1.0); //everything drawn will be in this color (blue) + float offset[4] = {-0.75, -0.25, 0.25, 0.75}; + // v = 0; + for (int x = 0; x < 4; x++) + { + for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) + { + int which = s.GetDiskOnPeg(x, y); + float halfwidth = 0.04+0.2*which/float(disks); + if (which != animatingDisk) //first, draws every disk except for the animating one + { + display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); + } + else { + int targetPeg = m.dest; + Graphics::rect r1; + Graphics::rect r2; + + if (v <= 0.333) { //up + v *= 3; + r1 = {static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}; + + r2 = {static_cast(offset[x]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(-0.5)}; + } + else if (v <= 0.666) { //horizontal + v = (v - 0.333) * 3; + r1 = {static_cast(offset[x]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(-0.5)}; + + r2 = {static_cast(offset[targetPeg]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(-0.5)}; + } + else { //down + v = (v - 0.666) * 3; + r1 = {static_cast(offset[targetPeg]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(-0.5)}; + + r2 = {static_cast(offset[targetPeg]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-finalHeight*0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(0.8-finalHeight*0.8/(1+float(disks)))}; + } + + r1.lerp(r2, v); + display.FillRect(r1, Colors::purple); +// ^ glColor3f(0.0, 1.0-float(animatingDisk)/float(disks), 1.0); + + +// float x1 = offset[m.source]; +// float x2 = offset[m.dest]; +// +// float y1 = 1 - initialHeight*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8; +// float y2 = 1 - finalHeight*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8; +// +// Graphics::rect bound(x1*(1-v)+x2*v - halfwidth, y1*(1-v)+y2*v, x1*(1-v)+x2*v + halfwidth, y1*(1-v)+y2*v+0.8/(1+float(disks))); +// display.FillRect(bound, Colors::white); + } + } + } + + +} + +template +void TOH::Draw2(Graphics::Display &display, const TOHState &s, int startPeg, float px) const +{ + + int animatingDisk = s.GetSmallestDiskOnPeg(startPeg); +// std::cout << "smallest disk: " << animatingDisk << "\n"; + +// int hoveredPeg = -1; +// Click(s, hoveredPeg, px); +// + float offset[4] = {-0.75, -0.25, 0.25, 0.75}; +// Graphics::rect p(offset[hoveredPeg]-0.01, 0, offset[hoveredPeg]+0.01, 0.9); +// display.FillRect(p, Colors::purple); + + for (int x = 0; x < 4; x++) + { + for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) + { + int which = s.GetDiskOnPeg(x, y); +// std::cout << which << "\n"; + float halfwidth = 0.04+0.2*which/float(disks); + if (which != animatingDisk) //first, draws every disk except for the animating one + { + display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); + } + else + { +// std::cout << "\n here!! \n"; + Graphics::rect r1 = {static_cast(px-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(px+halfwidth), -0.5f}; + display.FillRect(r1, Colors::purple); + } + } + } + +} template void TOH::Draw(Graphics::Display &display, const TOHState&, TOHMove&) const @@ -523,6 +592,129 @@ void TOH::Draw(Graphics::Display &display, const TOHState&, TOHMov // nothing here as in OpenGLDraw } +template +bool TOH::Click(const TOHState &currState, int &peg, float px) // can i delete currState bc i don't think it's being used +{ + // clickable area includes outside of the peg + peg = -1; + + if (-0.75-0.1 <= px && px <= -0.75+0.1) + { + peg = 0; + } + else if (-0.25-0.1 <= px && px <= -0.25+0.1) + { + peg = 1; + } + else if (0.25-0.1 <= px && px <= 0.25+0.1) + { + peg = 2; + } + else if (0.75-0.1 <= px && px <= 0.75+0.1) + { + peg = 3; + } + + std::cout << peg; + return peg; +} + +template +int TOH::getClosestPeg(const TOHState &currState, int peg, point3d loc) +{ + double distance = 5.0; + int closestPeg = -1; + double px[4] = {-0.75, -0.25, 0.25, 0.75}; + + for (int p = 0; p < 4; p++) + { + if (currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(p) && abs(loc.x - px[p]) < distance) + { // when there r 2 valid pegs both the same distance away from the mouse, it just stays at the leftmost one + distance = abs(loc.x - px[p]); +// std::cout << loc.x << ", " << abs(loc.x - px[p]) << ", " << distance << "\n"; + closestPeg = p; + } + } + + if (closestPeg == -1) // only place to go is the original selected peg + { + closestPeg = peg; + } + + return closestPeg; +} + + +// have it acc follow the mouse +// show where disk will go when u let go +template +bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int lastClosestPeg) +{ + if (peg == -1) // if in empty space + return false; + + if (currState.GetDiskCountOnPeg(peg) == 0) // if the peg has no disks + return false; + + int closestPeg = getClosestPeg(currState, peg, loc.x); + // animate in expectations that we'll go there +// std::cout << "closestPeg: " << closestPeg << "\n"; + + if (lastClosestPeg != closestPeg) + tween = 0; + lastClosestPeg = closestPeg; + + if (tween == 0) + { + nextState = currState; // is this resetting nextState and reupdating it w a possibly diff closestPeg thing alr? bc it feels kinda inefficient but idk + TOHMove m = TOHMove(peg, closestPeg); + ApplyAction(nextState, m); + } + + // mbe should pause the animation at the x-cord of the cursor? (so that we don't show a move that hasn't been made yet) + + return true; +} + + +template +bool TOH::Drag(const TOHState &currState, int peg) +{ + if (peg == -1) // if in empty space + return false; + + if (currState.GetDiskCountOnPeg(peg) == 0) // if the peg has no disks + return false; + + return true; +} + +template +bool TOH::Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState) +{ + if (peg == -1) // no disk to release + return false; + + int nextPeg = -1; + + Click(currState, nextPeg, loc.x); + +// std::cout << nextPeg; + + nextState = currState; + + if (nextPeg != -1 && currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(nextPeg)) // if the next peg is actually a valid next peg + { + TOHMove m = TOHMove(peg, nextPeg); + ApplyAction(nextState, m); + } + + peg = -1; + + return true; +} + + template class TOHPDB : public PDBHeuristic, TOHMove, TOH, TOHState> { public: From d8562808c3f6bf1d4b0a3f3e6d5ee499d108d920 Mon Sep 17 00:00:00 2001 From: poopburger78 Date: Sat, 2 Aug 2025 21:01:34 -0700 Subject: [PATCH 02/13] cleaned up some code (this is to save a version with the 2 animation versions in it) --- apps/TOH/Driver.cpp | 136 +++++++----- .../UserInterfaceState.xcuserstate | Bin 75041 -> 109853 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 72 ++----- environments/TOH.h | 194 ++++++++++-------- 4 files changed, 212 insertions(+), 190 deletions(-) diff --git a/apps/TOH/Driver.cpp b/apps/TOH/Driver.cpp index bceb5ab4b..6846f86c1 100644 --- a/apps/TOH/Driver.cpp +++ b/apps/TOH/Driver.cpp @@ -49,9 +49,11 @@ int lastClosestPeg = -1; //idk bool recording = false; bool animating = false; bool dragging = false; +bool releasing = false; +bool animationVersion2 = false; +float px; // cursor's x-position +int userMoveCount = 0; -bool animationVersion2 = true; -float px; int main(int argc, char* argv[]) { @@ -192,62 +194,80 @@ void MyWindowHandler(unsigned long windowID, tWindowEventType eType) float v = 0.0; uint64_t counter = 0; -const int animationFrames = 80; +const int animationFrames = 15; void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) { // cameraMoveTo(0, -1, -12.5, 0.05); // cameraLookAt(0, 0, 0, 0.2); auto &display = GetContext(windowID)->display; - display.FillRect({-1, -1, 1, 1}, Colors::black); -// const auto smooth = [](float a, float b, float mix) -// { float tmp1 = mix*mix*mix; float tmp2 = (1-mix)*(1-mix)*(1-mix); -// mix = (1-mix)*tmp1+mix*(1-tmp2); return (1-mix)*a+mix*b; -// }; + display.FillRect({-1, -1, 1, 1}, Colors::white); toh.Draw(display); - - if (solution.size() != 0 && animating) - { - if (counter == 0) { - s = g; - toh.GetNextState(s, solution[0], g); //g is the next state - solution.erase(solution.begin()); - } - -// float test = float(counter)/animationFrames; + if (animating) + { // computer is solving + if (v == 0) + { + s = g; // might it be that g is the final solution, s is set at the final solution, so when getnextstate is called, it doesn't work and it bugs out? idk + toh.GetNextState(s, solution[0], g); // g is the next state + solution.erase(solution.begin()); + } + + toh.Draw(display, s, g, v); +// v += 1.0/animationFrames; - toh.Draw(display, s, g, float(counter)/animationFrames); - counter = (counter+1)%animationFrames; - - } - else if (solution.size() == 0 && animating) // is that "&& animating" part redundant? - { - toh.Draw(display, g); // after showing solution - } + if (solution.size() == 0 && v >= 1 - 1.0/animationFrames) + { + s = g; + animating = false; + } + } else if (dragging && !animationVersion2) - { - - counter = (counter+1)%animationFrames; - v = float(counter)/animationFrames; + { // user is playing, in animationVersion1 +// counter = (counter+1)%animationFrames; +// v = float(counter)/animationFrames; +// v += 1.0/animationFrames; toh.Draw(display, s, g, v); } else if (dragging && animationVersion2) - { - // have the disk teleport to the top - // pass mouse position into Draw and have the disk follow pos.x - // once Released, have the disk teleport to the bottom + { // user is playing, dragging a disk in animationVersion2 + + if (v < 0.333) // disk animates up + { + toh.Draw(display, s, selectedPeg, 0, v); // disk on selectedPeg starts going to peg 0 (it doesn't matter if it's a valid move or not because it won't be completed anyways) +// v += 1.0/animationFrames; + } + else { + g = s; + toh.Draw(display, s, selectedPeg, px); // animation depends on px (cursor x-pos) instead of v (tween) + } - // now it needs to show the vertical animation at the beginning and at the end - // while it's in the air, it needs to show an outline of where it's gonna drop down to/on which peg - // we could make the peg being hovered over a diff color, and it could be animated to do a glow-fade sort of color thing + } + else if (releasing && animationVersion2) + { // user is playing, releasing a disk in animationVersion2 + int nextPeg = toh.getHoveredPeg(px); + toh.Draw(display, s, selectedPeg, nextPeg, v); - toh.Draw2(display, s, selectedPeg, px); +// v += 1.0/animationFrames; + if (v >= 1) // once we're all the way thru v, reset everything + { +// v = 0; + releasing = false; + s = g; // the old next state is now the current state + selectedPeg = -1; + } } else { - toh.Draw(display, s); //before showing solution, or when user is playing + toh.Draw(display, s); } + + v += 1.0/animationFrames; + + if (v >= 1) + v = 0; + + if (recording && viewport == GetNumPorts(windowID)-1) { // static int cnt = 0; @@ -272,7 +292,7 @@ void MyDisplayHandler(unsigned long windowID, tKeyboardModifier mod, char key) { case '|': //resetCamera(); break; case 'r': recording = !recording; break; - case 'u': // y no work? + case 'u': std::cout<<"u"; g = s; break; @@ -408,23 +428,43 @@ bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEve { if (e == kMouseDown) { - v = 0; // ? when u click and hold on a peg, sometimes the disk animation jumps and starts towards the end of v? or is it idk - toh.Click(s, selectedPeg, p.x); + v = 0; + releasing = false; + s = g; + toh.Click(selectedPeg, p.x); } if (e == kMouseDrag) { -// dragging = toh.Drag(s, selectedPeg, p, g, v, lastClosestPeg); // reminder this is called per frame (drag drag drag drag...) -// counter = v * 30.0f; - px = p.x; - dragging = toh.Drag(s, selectedPeg); + if (!animationVersion2) + { + dragging = toh.Drag(s, selectedPeg, p, g, v, lastClosestPeg); // reminder this is called per frame (drag drag drag drag...) +// counter = v * 30.0f; + + } + else { + px = p.x; + dragging = toh.Drag(s, selectedPeg); + } } if (e == kMouseUp) { + // when releasing on an invalid peg, it doesn't animate properly (whatever?) + + v = 0; dragging = false; - toh.Release(s, selectedPeg, p, g); + releasing = toh.Release(s, selectedPeg, p, g, userMoveCount); + std::cout << userMoveCount; + + if (animationVersion2) + { + v = 0.667; + } + else { + s = g; + selectedPeg = -1; + } - s = g; // if g = s isn't done at the start, this makes entire stack teleport to solution } return true; diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate index 83b0c6afebbf2d317ee6e420ff1942c106c134e5..8240dc63258fe9daca891b4610011a0809fb6d4b 100644 GIT binary patch literal 109853 zcmeFa2Ygh;`agVT=CnO$d*2Nu5Q+%tfh5!bp-Gj{TMWqt0%>FuAPRWKiUkWQ3RuX7 zB49;9tbo0u0xH8-Rz#}<$0d(Q)YH%Wob#cIwfTv zhd9g;j^_kU#jL@%KO=uPw%dK

  • +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 delta 31599 zcmdS>cYGAZ|Gg4B~Hg5*MtR6&|3 zAVn-FMMb3uN(X6zq6qwEub}S_{vMC-GqdtXs`hhYK~IdD zy}efj=C>370N;gwj32-c;)n1r@GtQb_*eL8{9F77{73v8ejdMKyMm=uwWDSOCSo(O zh1f;xCiW1Y5Qm8)#8Kii;so&(@ilRl_@4NIxIkPcZV?ZN$Hbq+U&M2gB59H#MN%T0 zl0IZJ(pM+_NPjYb3@0PVNU|jvMMje`ww-uYt83&v@;>>1d`SLAJ|Z8Jf0BPuW{RXN z6ibPePFbl&ls^?f1yYezODc+rrdm-+RI;s@@Twj_4W!0Vlc>p54F%Ne)C_7iHHVr{ zEuh|_7E{Zqx2X-(Myj5AkJ?0Srgl>wQv0cc)FJ99b&UFwIzgSGzM-yASE*~%b?OFn zle$GcpdM1cQIDv{)HCWiP0=*X(2Zy>+M8}nH=&!-K6EoWfDWa@=vX?gnr=m>(rI)$ zok!=>1#}@@N_U`p&=qt~x<5UD9!O87U!$kc)pQLF^i+BpJ(HeC&!?Bt%jo5FEp4ak z=*{#NdMmw+-bwGF57LL|qx6^b3HmGgYx*Sp9etL*KwqTq()Z~5^aJ`K{Tuy=enS7r zm>G=0nQD&V8G&ia_%O{FU&fE|X9Ac&CYWi-L^07!5|hlNFj-7Clf#rSrA!%9&U9kB zF@2aSrY|#;8O97}rZUr*>CEfQ3}z-Xi+O{Y%e=)bW>zw*n0J}=%m!v7vxC{me8B8t z_Awtb$Cyu(lW|2 z+A_m3(=yBQhGn*8j^$0uT+2esGRta9t;KHHWZ7)lV%cihVX5A2Ibb{br za>jDia?Ntxa>H`da?5hta>sJt@`vRKYhukT#`3Jdimb$HYy-9_>%%rvQ=zfb|^cH9nOwr$FVcnS?n9^Y<3R&COem1!Y*Z(vCG-F ztJxLoJM0>E6T6w+!X9J~v7fMq*(2;x_89vq`vrTN{hs}S{e`{4US+Sbx7fSv@9ZD! zU+hy3=LnAE8gLCcPp%Q?#d&j$xh7m7*PILE!nt@ZflK6)xKyqUm%|lu9l7pYCD)6a z$W7uVbFXnzxN5G31Fm{1H;tRl&En>BOSxs-a;}!Mb9LNiZVR`S+s5tW_HcW-L)<6a zBkl?JC-;nd&SN~z(>%lTyud5G%6sq)crV_Y_u-rI0em1I%!lw1d?X*k$MOk$BHx-% z<=gO?d@kRXujG62z4<*p_LFXqzTpOLWa;z$P@B~4njwv zlh9e{E>sEwgn`0TVVW>qcwLww%oJt`ZwRx6Il`O50%57JOjs_|3U;AR*eq-jwhG&X zox&dBpm0d|MEG3zLik0vB3u=&3D<=i!cF0pa9g+|{3<*Uo`@#VEMg)naw0E!hz-Ps z)uN}^SZpTxios%t*hb70v&3vMN6Z!5itWTaF<&eYOT6B~|j28cDvApX4uvOA%6})KZF- z5~Oq~Luw;sN?B5YR4Db8`bqtz0n$KekTh5tA`O*>NyDYl(j;lJ^qTa#G((yxEtD2X zHt8*Cne>jdMp`Salh#Wcq;1l6=`-nb=?mL8mZsGYrQf7S(sSvBY?93~DO+SkR^?zh zL=Kh1(@Q`RdRl#NQg@}9Cu z*{oD=QQlYfD*KcVmBY#r<*0H(`AYd(`9b+nIj5XgE-6=(tI9Ryu5wSMRYtX_tjejp zDyX6=sj{l5R@GZ=tTs^t)#hpoHBxPL_)bI;C2jq0Urisf$#b`j)y_U9PTF*Q)E(_3Bo2n|fURO#NK_Lj6)b zp?;-)t)5g*si)QN)C=lW^_qHJy{Fz+AE-~&ztv~za}Codjn*Vh)>>#mTCf(Pg=%41 zxE7&BYAv-WElx|(T5H)_j+U#HYGqov)?TabtaaC_w7yzDt-m%v8=;NVW@~e_H?_Ii zJZ-+VKwGFS(rnsW+A{53ZM9abZPe~X}(9USzXm_+< zwY%Cq?Y{Ovd#L@UJ<=X)ziWT#W*yUUozr<;(5o57lGzSiL|m z)Qj|Dy+kk7%k*-+z1~6ZsCU(S>Am$q`e1#CK1Ls_kJCY)s!!9W>$CJX^||^yeTlwQ z->PrZx9jigJM^9U2l_63x4uW;tAAwsoNpR^Uw@+islTwAtY#}|<*bs`)7r@DW%aiD zS_7>?)(C5~wUsr++S;0K?P%>}?QHF0>-kJiv{qUBS_fFiSjSq&S;t!^SSMO1Stnbk zTHmzJwa&B7w=S?Qw63teV_j*jwXU^(VBKZiZQWztYu#_VD5si#-_b8NcH#&x01S?u{7@TiL>!^ssFUW^4!iHaf24+J^YA=j&$u z78JVLt~an-J#3YJ+K%Xe#hB{ZYxv*+qee$Yeq+XPf}~{KCIzPkU0nRj3_C5HW-KgU zKD=^t|IP!3_Nf}5J7DPOTCTkRuzpdp>9kptc$+yu3#mK1_r2g+1?5(GJEv91TKl2B zhYcArVD#v!K0a;wR}Sr0HOg*nX!mGfJQ?$BWLw?BGp1v=%0WX$j-D`Up>5fU?K^iL z{OrqbO^$zNv-7vf%k|s+>*9`wEskThzk^DNvzxSM?yByX(Xx^du7LR_m>+`qH!wfm z@hJ8ZhD~p1`z}5an{|ALnh=9gb8B9J`4?M$(j#*ZTY7R6v#+gZ@?mqv4*!&O1RoCO z6fn205x|_fqw;9E*%sWUVZ7-8zRq+2%waX{9H*Ltih0o)lVB1}622MVX7aG(Tkx%5 zjsSC{9p8?>59XF&j$PtmZtIEf#`hT+_TYQL90lfRJN_Y-0OlCmh{sxT*TDmZR<$+2 zR*h1kr@C+Y34YAvQHLMKkKjka90%rBV2-cDKgEyZpMe>DI|J6~BU4DM5$nbD%(u*$(fJNjmw#Y8N@$k5d| zb*njG+g`QTMz#&F{vP+h8{iFbPgJxE@Q4yD zZ4FUMlo91bdoWjmxeu88LIZQZnuBNXBs>{qNhdnvsgCFMwpF&%m>$>+BVA>i+%8iX zgm=eiFb@E;M~%tWG%v-*=JA%1H6}1O2J;|vrK8VS0!*Rx#5iI+F@cy!Od=)|uMty- zYN7_rL%}@Ewji$|`h2R%-}oVB5HpEc==W?>AehJ32*wYXCxdwwnBOq|ob6D|GGZB) zR!b}g^Msm%&dR)FRAwcy$~eG05zLdE=bD4^IyulKCSonI0f~uNN2~|)Yha#YCpHrG zV6F!9R6}385nGA(4LR;5wj*T)a}AOsvD1(c)I|5_GpzTRAyq?1=T{BwH@d%4LAYryUA8 z$61lQ|Ex)c?Ad1UfZl^z^d2*EWZCG-(N&>7!>jtC)A%4K-5*WYYKe1To>$ZMG;tA? z>nGxpZGKT>Vm_FEwrwl&XmEwNiZ{cH@rO9_J_?u%z`PjD3v6F!d4>_Ui8~Hm{FAs3 z=C{DS(5;KvV757*@X!z_`syNEes-*n8|(`bGlkko6KMwX5-=~dleh_~!ZO?V;?9bN zNpBn#%{wImPbw{4dvG)^OBvVkdd9jTBisgXKqB|X5r0?hA#c_o;UZoCWT)$7QH zq$d(>80l@eqgpU;aF`*O&mlYfIGhZ`($%hFe z<{-jWIe4&7n2)U_Rl_UfD%+~kNZYu!vFPs-^mj>Gh5VW`M=!(tBRaJi)~71Mh#o#e zDtr43tsFgIY?V)+sv*Nh{r6Sd;I?V#CIkN8-Q;j-XhwzH$axdz)5^+=BQi&#r;iNp zJ$$%}HW^FCBb`Cjc2;-2olGDT!MqX7pVUO}7+$vBY$k2K?JHTN)E|NQW49Y7YfKUe zuWD-16t0*Um_Bcw-TVARp?r>^)#P-P_w`rvuH@I1jOtOaeeuN=PfUHguSR*@#hOLV zai}sm+o8$_|M9I(o3wp2ro?u>!}!J~e{vlQ6`lcNehpem3*8yfecvkKM!_A5=#IZT4QZs_0*@+NtU zyiMLAe+Bb-Fkb-kMKGh=TmtjunuC4^-y7_TN|T1W{+Qzaqh^om%G7w*AJd#y9Kn$M zo&2Lhwzkd8%IahLql=8&$tSj7yCjA_CI5C>D`f)n4KQE*m$hDZ6pg}=wNf~kuNl_r z=@JwrQ3^6hN(S?-T1o};ZChK*BS}TcWa_MI|?^o^steBX>*S|>fru%b1LMOZ-=69qejeqS|G)!k!Pn8ZT4;VEUlgz zjQimai5zM;HG&#RjiN?VV*sPT>;>k0Bg|tAU@TxfU?N~LV5$+UN1>QM8l&;C)I?|W z#pnt-*;cu!Md*Lp`@g=NL)oGgp1!|e=DrzNXIIb2|c%?a8lhg{T))cyy zdWTv`t)kwgRs&`Q%mc6nfHefnb1h}3>Zmo;T526&jQ}--@G!u~0REP(QLp!HMDJ0_ zTd4O

    @<&Y8$m3FfYIw1J<;T+ClB4J^-v4U?TzhxF+h~)!XMPkhd+gPpIvu-kFvI zt}9K@mEo2nu9T1C^HY7&GCrj~Gt~SzV7|4~=YaXuM4={s|6!w0Yd@=xp{+T{*H(?3 z;MUczsFTJQz6Q*{mO2GkfDx$Dsc)(CC{R(~QD>>|sUN5xsdIn@0@fU`7Jvl-77SR( zI_d&-k@^Yg(`6K>uu#BS0yfxC9c&1SR0kT~M(rNz4)rT_m%0a77+~RmMF1ALV^-gA zv)Av`pU8Dm_oyf65@1nw>M!akV9|gT+fMa6;!VAvF_eKe(PqG60E@NLI86W+2UwA9 zd;h2$3$2(u*3&G_(L62CA}!HK=~@964@P+s0ZRfb8L*V~CVyH(hZP+S9L^UrdJu$M-03Vo1;94noI94nS>J3g>UKn9(Syae5b&ZM&d z%LS}0VD0MY96A>@%&*7b592h@pjj~8p!qsr-P|;1xoOUE z)9h~0lz(-pA-#aM8KqlDF9NIru%34MEqXCvm4Nkebk^v%>6J!?6{xd@p)N+WonB=K zxwp|-v#lJ;1+1Y_^SO>*ORuBX16BoCU%>j+(HrS{180B02E4?%9r1e~@hczZ!1)16 z?n23$VZOaz;@nH`cjElefpd_7bCn^y-mf&a9bt$5#0Wb`%_H4)K8ET{e@Y*xKckT$ z4h3u&V8a0$VIzl!E2ro)$n5CTfQ_o9zX5EtEpxb!@;&{darFnl#?;ct;>J3Rk^YIk zhK!NEL|>+VrhlQY&{qK)2iSPPCIB`Out|VTUPoW2Z_qdCTl8&%%WHsD1GXQq8o)j> znvE>|*bvI^fK9Qj7!m9B7yZoOd5iwrkq7MbbNU5fQvq9TyFH@27s1fzbB1Inz@`B< z-OezK1u!Jkcaib6%wE&QN_IiXkz@Wb zLZ&;@6Fm>V$W%DAW);#JCd1I0CAQsTI(hYD1{%fb&kO*p7BIV=8Dv1MdkJ*}Gr@p5 zk{QK}X2vjMnQ;t~@*2R_0=5n?q}Uq(+Xz@aGD2n&I$lFZwbKaSGk9(>PWz1ZWDzsl zfQlrr$qjX$%LUmA^DDe2UBuHAS3} zoH@yyei*uh%n2fz*?18kCZfw_Y0kGaVF#9U%7Ge0xG z0QL!BhXFeR*ipca0ru%S<|=cIxz5~RZW2&W z01V+kUf~Or0Y$?wb0G8Ff}&j=bHie?pm_HsU|#|Db)5yb5Ec@!lYrd;oI-)|BU|8W zExlNafXG-l3uufbZx>EWq9w&BWRe91;Y)yBwp&_TQUUuJup72hH`)eTGA+5N&Xz1o zwj~EJMD+?_SL-ZoE$s|-xdzyEx4KwLOp>J(>4#5^p)M9=j26Qf^J{#Yxz)we+0xB; zUKhjKZ#rT`iXn?^hqe1mXBzdgR5|p?f<}{2jJ%EX$sLgw)_8givJ5r8KiDz^uwMbY zYqtzDpdzR4f;z_XngMmJWt?TaWrAg*Ws+qwVD|xg0N6voego_gV2=U&eZ6Ih11cb> z(+sG8IHCTDpyGr9H4hnMtpz!@CvK>VT-HhdZ;W)qTyA;CDBRl?WRHIV_S9}!X;}r> z-+*IIn01!*2Fx{NPqumKY%4VcadX)|DcZaHCm{|gJU02*+{ zZuttq#4Rsjeq%Xr!2H(oo#m|Md&>`&A1&tqX94E`=K)8cM8GA$<@J^e4w#n^%%2fV zTyem}bpxi40khy&1Lj@8QIEqBjV%vcFfET%Y27otq;AC+Y1;9F%U`dt&ydmJ8fH$gR8P;Op^a9-5jgys4600D7O=cQ6Ssf*< zDA{i2KaqiL$a)#H_OfV{GaB$Fh!)!zIZnK(ZT?K}YF{?M0h9H2z-;!<$N%l=SQH>@ z4L|awtHx{us_}m{H(okEHjYg)g|1;+Q6ty{Y9!zRMsE#ojyh~>LfB+Bg>B8I0v-f- zFyJA8hyG7rgw1sJHSj=N#jMqqwysnQN5_kron7s8p=>@|UlkYTarGmXGc`XdE>*z_eKL(VWVtwv)eRvm7yOy z5RJ^S{n-J4w*)-O&JIE&b9giwnd_voBiK>K-4TG8T6Q$xu{QJECT+&E)yT)Q6WEFD zBz7|U8aoB>IKW#09uIf|;E8}Itz&CgV5bsc>~wZ2;K_iu0lcfx;la^;y4unw?hj{? zU9V&3vkTaT>>}32z6E#+;H?1-P2W=#sD|Fj$IFU7U0=-b|YI4cn;v*jF{Dq-OBDp9)aD)ZfD@dEE%WoHwv%r+w%uFl-_YSCSfjOo#tZRcw+(%1d;6`%Dtm_g*5pyk zegk-EE&CndWym80*m}071KA(hi-uP?$DU^|0A3Dwd%!!?u|Khw46o1;@J=qTP|aRP zZs5kNBXR#V@W|dqdGEZM_y7OEBYTg1=yVtl91f$4ot=t*=+MR(hsS96@7Dp&>OR5J zR@WS~U6`Na^*8&%5XCbVxx5~LSJ*j|A&QvKdnmMX809A?n*-@n*QABB|axJ)EBo{6S@Ikd4@=$|c%7u&I zqLEyNpR2OIFqW=eDsBSi$xGqM^v@_siYq_p~ zkN+Q+$n|u&#BsJhbx_6i=7yp-TU;NmitEeu zQ|>r5n){slg8Pyh!+phljr$Qf+-dF%_YL@WS_=4bz*hji(ir)~ z-vzuDaMZ6;0bdLFdN89g(t&_)1pGa~Hv@Vnjc*5h2jHlWB%*;+^wetZJa>V+$o<4! z;x2PPbH8v`xU1YX?mBmayUE?+ZgY3IU%9*7J?=jDfO`n|ZorX?x(5UgL=X^JK=cM; z3J~uA@gWf31Mvt*5y%!mW&l|UWHpd)1Gx*xZ-9IVlmt}RzqLpl%l+X}qa_t`f@1(Q zev>!L{q4HC%vQN2#Fo}mur1l7u)NuI`EA?Dtz873awXrXkf+(8qSBU7A13ge>*}fs zxx3?z=Tl|dlC6;}FS|Zjjqci3;H|Ety+V$6WUScc#qy0@SJ&9KZ*o35accvCZ|b_d zu0n2yGRN9(Z}t&*f7jIw6>^H>79A^fTka;F<%3+G)Z2#FhuAt+`U-rw>(Zuwo=4lz zyb_j=c73u1WiAl-cvo^;g*+M6Yl3b0dm_uHxURmB3RWcW8Ls5c3c0nTKriaiopM}P zciE;?OdH^Aobc^<)cmRE^Z0zefG^~W_+q|HCvMw3ie7S|CN46~9X*e>Hy81Pk!A8j06*-qOnx}> zMf?cU0pkGt2pZEgPH03$aTy3do}YvagrC484{;3ePwo6<9{GslfPdv^6!TO08OS90 zY5a8lbug^(bHKl-<7e`-j09@wpKzNbKi?$r3y=-YyJ(msZ$rtqP;%eJfBG2wQvPk@ zdCQDie{J{xeud!!PC9&m{FCOz+xfK)ljYYqO!f>iS$>6KvL_9b?Zdyv?=om^;y3eK z_^tdlemnm@zk}b&e*pNmfTQ4j7Vz%@{{iqH0Y3-$dB86KezBh4?V|aii{=4?ChGJW zKY(9;N%L2yqvKB)IKKk?k{jnKN@e**ZQ^@4{Jo6yLKO=x0Z`^$|DH7A@( zNU+Yy5JD)zCWHb0)P+rmL|Q1c6rzj+@V^0n<~$=kLmBJ=}QdD)c~kD_+fe z+qW?P(w~{$`>q~;y~o6{==G?3s6yx^I7cD`$4CUh{omr-mafEsvVZ4MUnmfc)F3dH=G!KY|ZZR!1#I#7T83z!aKs0imjUk>9a$`5pw*@1L3o8T^ zbi9FRY!_Au?*h>T2!DtA3u^=;hzo0lb;5cengZbiM6)_!qhJJa!WRfXxB3exhzmv# zPdj3$zkq_cU(w$H`G||uG`sczX`iX%KY+`@|TjoFIvDNPMY!oWCLfFJGFh_PavP2A-Z9Ph*?CW|RzYm>j2W?(CJV=Duq0*Ic54put2m5POkn^*)y ziHn<9igZvcW5SFBh*IMvfa8pG5Nqu&WEZhJDx}y|>;^o9S+I0A?+K%g&lLp=&{v^WL<1)@6; zJ&Ya&BThmXCnHV$@^1&#YLu)&$tQpNMxv>Cx|6Dc#kz0(x;V?pb*6)BuYZ-u0NZ<> zxZD6cUtAzA6c>p$@hx$&xI|nkE(4+u5LH0*1)?7i{ec(Tbh0WlbeA@$s>r59yc-^Lt%&*jkwyy&rld5#u#BJQi-1AuIks~8H3_U@sxNPh;cxS2Vz2<_>K6j zp_~(enDkOP&m(LXkTTxnoXU9#r7xqjl{f!0jwW6auRGaYbFh2O(8+`Gl z#6WjfyeHllABYdd-^54aWAS(K4G8^d7yguUxh&O>i@Ru8ZzKz(mHqjYV^1ku^(kDBTLB?I`_nP+UrsQj8}i8InTN)S~TDYeP~? z4N0|BGOzfhg}W5g9Of=%w$#=ES;}=lUV$J>tqsUaZQGA{HY$=(XS7}_mP({jsZ1)D z+Djdzj#4M7v#s)wH5Q09K&%B~UA@%R3010)dPY_F5%O7je=?*p;pCDp}<;u1u$wdSO{9Hrkz>47NS#~p{H zm69>wh3}Q#bvTs|3_^B;(5_c~O3*gHw3bfBvfwWAMro51@p}%$`~JCsf!Ox!h=K z9?{2vK=n1w2w;Hh;V#W(>52jHXXzIpz5wD&yL45$2E+*Z`3oB&z6oy(*WJ_ zl3Ce!Uxr_lc?a&Z|F`_M-N*Ibn%o5GwXDll*+Xt1HXU);h#Eq<3U9y>4su7i6A-@waTkbtb#fQEt6>}Wfj}dS4v$kU z_d?uzzsh~=fydvnN$Kxzd2iw1&xV{59Wv^R^7eZ*@3{tJijo^<9A4wWTNkhV^5=ia zXrMgADI+w8C=H0;{%`SZOKa3V@+f(VA*9jr7+5$U0Lc=@lZA6Xs5kD$Cq zU(I`An&{i*r4?y+H;#;1cRMkge=W zPX&!J#sisX7=gFaR~cYr=x0zs)7Yc!#7=_(8fNZl)GtsOri?P=HC!2?j07?XNF<^Z zLtbN)u?~5)1~SztugORTue~aR|5}-#p!wbkGUflf?B+jKCb+9IU76{W#0-Zd(vc*H zoknbPEvzu)Ri(^TmKoxhr_5ItC<~QEicNV-S*$EkmIB!Z$V?!!fXoIm2gqC?+XC4R z$UGqP>y_m$ajaBUDes#6m0Cj_1#WSa0NEW#WAYqX;Sfi;vegjBHXsY#;@E-2q3l#X zFb*J#fGl>Njn4RcvU{nAvR^r1Apc1D7)T_|GP`n6IRs=mkR1(~^iYl|pBXjXs~mSY zruN9*l`l|$AUnJgAXJmt|EZhMN#z?uRHu~F${8R#0ofVIE_KSc%6Ept>I!5x!(koz zuBQ3|qJQyK`ki`FH*RNT-(9-!*|*z|N1<8RiKmszDDTg&=Djm+RO_nYIhGl|87m&Seo6e!-J<8us>8K|0xr&+mRl<4MK#sJleyTr^ zqkweur@Yi4HPj&)HN+vA(Wo|RxKWugOM3*Ey#m!}6-{-kQ)ARv6`9*OAjbnap-zog z6ATed1oCA^N<}ZN)O6Hh4GeU&VAV{N&O+%@lt!;Z7P|}8R?T-1RP!7Jr~LCw17H)i zRPBxcs%2`q+FtFTc2qm5oz*UCSG60EHMS8yd4<%gJzVs9IXj$cUxVIkH$BvAa*mCV z%N+33(FVLRK+bW)8*giNxv^KZI@Q2aqXLj~ft+Vor>WC{oDZb4SERn7&NXU3Tb-l6 z3FHDG7XrDcPMxRDH)?MK@@20`U4m-66!pH}_}b_csc)m?3Y7fd>wh|t>MFI?Nqe<} z_7bD!bp~zJzqzmZ{p=>RL4D6jsNO+n`M>fZLSE{2b-zLAeRYSrQ~f~QrS4YusC(6Y z>W8)#zxV`yJDqgS7G3y}3dZZ^!?Q@x?yHZt5aTrKKOMBCLnsEbE#a(2cu+PkasQ2pJY z_?!AjeGKFlAh!a!txo+zePU4D4kTJa;_O?hFHDkVLfCT88Wc4gB?*)qebzTHQ8Bv* z)-*=r9Dp>|0m$eEsdo&Jn`|xbdiGW{Z^TDaHBHkstLC9K&>CusxQDY5_8r#Aj|I-E6dT5o# zgDMR9d}YW->t)F2Yb2kLM%qBl+3eLE&0f-Y#i8{w7}~ZU_w>?6X-0cj8?BAe#%klV z@!AA!qBcpJti5J?@0QW}x>&EdTDICWWtH|iqGhyfN%y-966p$xF!u~v_ni?&Gn%#< zYTCMAW@yU|TyJYDj04EafL^>i&Ip(^QSRZ=AkD5BuVb`2Z4HoDfV^tg)@kd3yawbQ z)X{Diut`H}ZtJwo+7=Dz)^#9n0C}@c+pfKDfV&0c?U&&8B2xPhsq!-pa37)M$0%8I z<{vxN4rxaW_1dc)M$~}()j)I1Ky%l2^o);}_NDf<@%cp!QAIJ}!M{F7>euI6?UI4+ zJMFCYz4n9lqjpX^uU*hCYCi$_8<42=iOk@4ApZdJ36OsRi6X;OApfq{F1yt4s`y;H zj)2}YfIf4nA7wUz0>vYsl;8kbrlHnrt%h#$+^v644WNIU4rtF!sJt&wRG>^oR8X)3 z3g(`RsuMbzWMJ4-> zv8+ySsC(*-fTDq7fU?x--g;w%oMM6ET*#|+f0LvKyc%#Py*}vVuG)5eXQ=D7v(L?c z8NpdcOLg_2SM$!QSlgp+RKbv`74b#w+l1*TuY&DysfQk>M>^!8M;P*;L?n-YM(1sB z)mW?aI6WQ7L~o_X>j`?Io}?%1DSB%?RY&<{pcFuhvnUNHv@ppElm}1^04>j=JnQug zr%d#0Jx9+q`RnbFOsGa~nKT9}2&iB~CLs=)lSjbgPvUY~4;WP(0XM^EqvDgda!I{h{LGrbz9=13kuwLpu+!)!(SOBwxj zgn9;w&;E=fUh8k5^lX$aMrmUJIoLfu=j-M?Uti?pywJfJ&2@WO1V`UNU#8a?l$Yyo z>nrqk^p*N5{at;vUaQ*ytwN(BfQkgFB~Vd7p(?}x6$?}xP_63qH7?2<^o@EwqP)qV z9Pg%_1XK=Cxd!F74$39^K7;ayKqa^-e~c)rp87%KKusZ_5}ju>l+n~(fn&PS5Y<1` zj{}8Zq}cV(^)G;G4OFIMz)nA@8!b-#lzv)215_$dNIlX~=Rp5XH`YZ0l>t;6)Hw*S z4c{MWd-q98^C{b@Cx$1{QL|D<%}U#|C%%2%<3IXU{f6uOOqlLhzFzpQHHyvWnHkeoIf9dG;PObhFsQg;}8Bhf^ z(cRG+zrxBPRb`_`4j9_6th^}KG4sc2EKxKmHQ39!nO4fmp!q$WGY0v8q;NCZ#}?0aadS6|GheE3%dLKy?DD>(Vh%<~h~Y#@43BZO_+a z)mo7TcR;tb`k5rFzcrvE+LvJTfFV_W>7T06yZ3}3h3M#5d1!5JZGko-$V5x6?bha| zwJw=igRP-2?-d4AXQPOcHPYJB8r2!yYm}poKy|5*LnG0@_?A&ilVZ)yGgq5xtufYE zwBoU_tYFOO%3gzAJnGQpIMdorg=J1Y?gzzNQOCE|ngCR{S}W4H?lnn!UV zR&@8tK)r_UXe{gtT)I8p++^vxcyq5Zzci=Dno8U&)UAuGOaALVORdYS%Yj0!2t6EX zqWn_tJHOi7~ko9cinKj=U+$xhRMp(g(ydL zOH)fzB08ddB24L~0uy8MH2IoB9amFLC8iFhZl)f>SYa~SVrrrA4%$>|gHSJQ61EFF zgk5M`sh@=3(HmGDZ5P#0Y$SS%O++8GTa-U~pV>-G5R=eb%v3QQ?HrYbc8#hKhl;Dj zpU`Gb!BVzVDfN=3R!h^Q1yUW_d1<}0QF>3>ENw-5FYS;%kdCAMm%fy~l1@serEjF~ zr0=C4rSsA~8AGGYL2?S(U#TY=)daMU(t5OO(tGk|c`MpGX$Kk|+%4~wKSVny9Y6za zKg#Fji}EG;XZebJ4Q-=z3vHov7j2*P5N(?juXI$Z2cUhAwktoQt%_pQj_Me+$IwBv zlhAkS_v(-8dG#XNLFlG>Tm2R7BlG~Z+x^fUL6zE2vmpR zw{}3A@eH>vv3_p7ZGB|@!}_Q7sr7{i<6-si_VD!x^@#O|^N9CI_bB%0=uzQO=`qn` zvd0@9?|7{8SnXl=SmUwIqk4l!y~iexEgpwF4tpH+_|)Swk1sqH^lsDt8cx&EP?*`tU-d^5O-r3$2-V?oNde8QL(|f-6 zLT{V*mZm;UlbYr>&1+iFw76+$)AFXnnvQR}xarcS%Y6!cy886+>FLwkr^=_F&s3i| zJ{x@MeKz?<`KJ1|^Ue1y^ey%+^)2_U@U5=&?d@CT+s}7^?;zi)zMFi%@xA8zoA2+w zPkf*HKJ$Iy$NLF>qMz&+`D%*ssK|%&({40KY+gL;QyMjqsc3 zH`#BBUya{Xzv+G}{I>cX_xr`~xj*MG`pf>Bztz8if0Tcce<%Mg{@ns51k4DSAFwdM zRvoZ7U}?bW0DHiifOP>I0_p<}1$-NDH_#I3AJ{T5CNM5AAuuU0C9qRqW#E*+n!u^e zTQ$#YUeLU#c}erK=IxvJXx_7VujYN4_if(4d3AGJ^G(e^ZT@rfd(9sDl>=o=EoE)4U+&Oqu@Z{i? z!S>+8!N-HY4ZalobMTemYr!{yZv{UN{v-I$;HSaQf?tG~LmGy}gmeiR91qJ~8cj~Wp*Dr$06breKRi&_x1GV0x^+NipywNcgUqc%qE zirN$PVbsS_2cr&09gX@l>U7k#sK2AxXpiW)==kWY==|uS=+fx+(cPjeqAR0&M^{Bp zjGi0)ZuExet*oX3YGUMKOzGmc^`ySrtP>-^5P2P%Hn#)^^U8G z>mN5Vt~zc`+~T-paVz3h#+{4168Bf!i&oZFOdO2|!Umr#&Ulu(i|G+}PS_JlJDe7Ar^lk7=rl1?PONcKq%N{&lzo1CBA zKDk?RW%9t}amllj=O!;nemB{kyft}e^6un)$p?}TB_ByXmi%S%x#U~PzooD#Qc7S- zPD;C!f|TNv>avs$DVWI|Qsbf=Tr!Gxhle#{&K6P{Iw$vS|yHXFQ9!))-`g!V!)UT^kPo zRr>1my7X=7JJNTh?@6zIoPlK!8FU7lk(1Fmqi@Efj42tAF+F2u#_Wu_84EIO8A~#j zXKcyXp0Ok2gN)r7`!YVtIGFKC#?g#VGd|0>)`n~o)F!XZur`a^>}~UXn?Ex3%*L5M znSPl8ncA-gENO_&dJGM{8V&3v9^&SJ8-EHO*T(z24XhGxyrT9&moYfsjPSx2%? zWnIa-o^?O#Vb+UmBAd=;v!!e$ThI2$4#-Z=ZkJt>J5Zsq)% zb3f-zUU(uW#Ofyuo?H@MYoFX6g@6_UTiAHipgTS*iy_DH!SulZc^N= z*uOZixNUKV;_k&gi+dOMEgn)lym(ac*y8cUwZ&(O9~D0=^d#Fexy$uH?# z(xarZq)*9!l0hXyONN(JmrO00Q?jgNMaim?+LG!uCF@J-OE#5!Q1WrfrzIy#ekl35 zmPGLvE8C}Mf@nuq(Qs!0WU)HiL zzAUjUxvX_{SyowYS-Y}=vZAuevVmoT%O;e~En8hySGK8aPuWLhpOsxKyIszdbLC>W zQm&UbC~s8WxZJ1QuRO3ks64bhqCBd+sJyhieR-$yuI1g!dzSYquPX0fKB#m48%zp*_*wqkU-mw(YyOAKiXl`_=8ww7=E9`nL{D2d=~auZDAfN4s(S z|IX+0@!t7h=kxh|zIWce)4k0wLz0j~PKDIVVNr4@XF^L7p(R3yk_as=5j7ggAtbVm z9qxVK*Y&x+zdRrR!}IyLo+~U@TduR*Xt~*Po8?YR3(I|$2Q1H8p0~VYdDSx55^qVc zjI|_LHe0GJyDUFjYF{H>hrhs>!Ous?$ni z)njd8eZu;(^)>68*0-(iSwFOXWo>2s#@fyrWbI__Y)!G20XFMwp4)`l#M&g;q}q^e zvTW!!c{T+$EE~2B-=@~4&PM#^;G1)AF1)$?=GvR=Hy_>~aGyIrSUx7`;zot@tP zy?v2A$DV6nVb8Z0*o*AN_A2`^`yURA9hNz)bXeoC-r+BYEe_iqjyfE7IOTB0;k?5| zhbs=(9Bw!`IfOdU92y-4K=VPnL5D%dKqo<`L03R`K=(io0MI|6C!lAb7a#`^1mpsO zf#4ut5CRkcN&;1Y#Gq!-N01!U4pM>CpwFNYkO}nLah~Hs$0d%-9oIQ-blmK?&2fk0 zea9e2vSW^8v17esqodrh+tK7`2G0V|2QLCI1+N0H0j~#d1n&bwz&>CkI0%dehk>zR z95@OLWPmx~TCfcK39JOGz-n+e_zPGEo&-;Uzk_GMzrg=F&32mWG~el<(_JSQr)Z}F zr)H-?CzF%e>6_CuWHw|8WEo@yWHn?hWIbdfWDn#Zhny#zr<}h#&p_uumqJ%SS3}o9H$pc-cS8?D&p@w2 zA3`5PpFv+hEumIWPbdnCfrdigK_j7fXeN{iEr(V@`A`8=1Z{veK|7#87xXh!3+;pI zp@Yz2m!&RyU2eI!xJ0^SxiDOqE=4XMT+}XuE~75vE|V_bU4FRycKPFa$n{@Wdsin{ zsH>Z+m#dGfzbn!e?@Dnkbggo&aTU7OyEeKuyMA<)yJ}tgT>D)IT!&ppT#c?K*GadP zZl~Q|xdpnVx|O>r-MRs{FK#+Fy_?bPyW0=9->_M*xv=@Lg|Nl24X`b+?XX?2eXxVD zBd}wzM=(zq3Kjwjhef~$uvi!o77wGsa$v=<3Ro4a1}20_U@b5i>=UdF_RIa4`%`x- zcZhp{JIei?JIOuAo#9^U&U3GJuXV3?Z*XsNZ*f<9Z1Mp1c^vjQ=5f;FoX16vD<0Q8 zo_RQX_UqP{-V@_V z_RR5QcrrZ;J-MDWo&wK0PqAmCXOpMYv&*x`v)8lVbJ%m#bKG;nYlYWIuWMd^d)@VV z;Pu4onb!-z>y?+27u3to3+09J3iW#DMevICB6%fxC41F+O~BW{x4;j;FT=0F@4;Wf zp>Q`i5*`c(;9>AcI36AikA-K#bK&{$LO2Uv4zGms;k9rnycMp1x5GQ(YWN`B03U;! z;AZ$&@5SC5ye+)eI%h<%8|h+~M8h;xXG zh%1O|2oM5;ARyuqNr+Sg8Ig^kBk~Xhh$2J>auM<%@)Ytq@?YdDq#Y85#2`bFvB(5u zGBORBg`^^BNIJ3_B!R2a!|A8RReIpMZG*3j>w}EDP8ka3*ae_#v<~uspCbusTp1_$z2}&?+EkZP13GO+h<@ zEQ0n09Sk}g^fD+Sh!MmN;s?ot+JZg@4F~-S`h!}AT8&zV+KAeU+JV}IvOt|eT}RzU z-9tS@Jw-i7y+m1}ASfRc5*36(qry;F6b==I%0O{YwI~_t6H19vq132u)EATvHHrF) z`i`1G{X+d0JUbYe8$3UFckta{m*D8&g5c)h!C+IcIrv-fGXUIQk6wJo*y)3fdkWjK-sh=mc~!It~3EO+)9R^U(!pC1wF;KjsAHD&`sH z1;!TRiV4O5m}m?MlZZ*dWMHx|R16Kn!EiBkm_`88jQNOBV3ZgYrVBHKnZQh8zGG&9 zIlxk21+W@e2W$j30sDaCz$xG?Z~?ds+y?Fe4}r(PGvHsq9smJO02KHcvM6N9|JIgO zA&ijH5N=3WNJWS^q#>j+q$#8$L>1B*q7E4h844K=83~yV`5E%x|0Jb(|7&sAh63wD z{|em_>Kcj&MTKHQLqj7%@u7s!m{3}%I&?795IPoW3N?p*4O<+xA9!(N72h6RMhhkXcZ51R^K8on-kSNNXr{o#kgkA|NJKOKHH z{CPO<-ST%a?`E(Yuol<@*u&Uk*wff^0QMsGGWI_9G4>hu1=b4t25X0P!1`cu*d%NY zmVsqri?D2L3APN&!%DC%SQ%E1Rbbn(Dr^^4gPo4p8gVV+O+-*cS_D6$A)+Zl8X=2N zMSO|qi|CISj2Mm>iI|S~8S!7_?8teM3nC9jo{PL1c_Z@g$h(n`BcDaShy*Mnts+As zOCpt#-I0dK-?&-0#kdW)gSaEOi@0mJo4DJ!2e^N5PjSz24mekw8_pe9fUCgqaRQtO zC&9JgWH>pl4>ygUk6(x1h~JFghTn;|!0*E!#9zQ)#$Ux>$KS-?#^1$1z(2yf;qmwa zyaYcQwJPdp)TOBFQMZ7oJ5dj#9!EWk`Zo#`ERR_gvnFO;%*mK%F@7=0F_kf2V&}zL z#NLXvk9CQK#d^lVV*_KuV&BC^#NuM3VxwczVzXkYu{p8%v4yc8VvA#Cu@kZX#m$Xd z5VtsPMcnGRwLskZxIJCODl=Ls@70HTZLxPfAN$w;sQUR%gR7v8K1f>7sm&PxTUlqSL-Z9=Q z-aFne9vS~TVM)TWgp~ICUqrgl6sPQlP!`@B%ew? zn|vX;Jh?u(A-O48nzAZoTgr}<-6?xhoKt*L{8Iu_P$|Dtm!$4U-JQBO^+4+3)MKe9 zQ_rNHPra0SHTB=rSE;X4tyABm+NFY0!Ksi`z$Mi!)jbuTnwKg~HKwgeyO3s^hDu9M zD^C-oiP9R>5tQG(n0A? z>CkkybnkS(bYyx^dT=^DU6npfo=sjs-bLO+K1#kseoTHweoJ;FL&z><4>FwWL-qs6 z;p7N%965tbCFhVCCFRoXmKV;gLbgD9KP|{Lb8!c_Y(4GdL5QiOVEp#$+aEQZlKT zv`l&?BQrmu}botg~4cvMy&`&2r94 z&EjR%WwmDYW$CkwSwAT&D61*kDHfD{l!KIGl#`Uxl(UrEl)ID{6f4RbiX8<^flyp1 zZj?Yu1cgk=qEIP06b6M!DWb3`C6qD>k0PUdqO?)kDJqJZ(oN9mDe*XJC z@9)2NdmsD0^nK_1@6-*{)6^@}>(pD++tkNYOR6>1mTFIRq&iWZsV-E1Y7iAo4WVMG zI4Xe}LuFDwQq@!~wU4T&8mObxaq2|&tnB|u=GhywH)n6l-kH5W`%w1L>=W6ivfpIK zWV5o%v+J`}*?>A*mu;fWr7fVXrTsxq1n+uG$$IA=0@|N z!D+rU1TByjOC!+|Xi2mbS~@M0_MVnaqth6)d|CrdpR+jUaL&^l|D3d(iX2tWRL*bu zEc#sfeEJIdM*3#@Hu_Gw1${650R0gCJpBs&IzYcgzej&ae@uT$_o2tpGw3vWEqdbK`R3b1Atwxr|(9?uXps+|t~#Tyd@> zw>?*#+nxI*SD!nWYsekV{mEFw*v8n&uwd+C9Aq3}9A}(joMl{KTxL9DykNXyyk-E_ z3|odh1H=F`oEa_*H%25Qm(k1^&0CdsF3%<}FfTQan^%)3%&X69$ZO5(%v0xm&g;qh zlGm3vo;Q{EJ?}@}pZq!b^Ya(x@5#TH|1#e?-!|Vq-zncY-!&hWAC!;IkIE2UqcIHCn0p>~OHGuh?`I7mT>BdAeLzsAGGLy{AVp5s8%sgfRvxr&E zY-08>dzt;rL8gH@#xya_%x}yY=C6X)1?vhn6#P}NxnNtt&H{^qy#)sf4iy|Jcu?R{ z5M973P!voTZY{iAXj6zR3@HpRj3~qvk_yucGYj7r(h746^9l6-7TqqoSM;*zO_5y@sK}`ZR^(aaUF27UC`u_3 z6ipWWWG!NCVQpvaXPsf)V?AWOU|F)jEEg7x<;n78Ay|Pd6f26A!YX8aU~yPnRt2ky zRl^dp>RFAfW|kIU^|AU{1FRv|2+PPau_jqxS>IVRA2xhA`@#AH>I3D2_`@)J5qm%T zHv2LA8T$qM72A#tWxKLrY!9{<+nbGHhqEKtcy=tC#7<-Tb!pHCk~Y3#_{05IldeOCy*1&0XSit6izxPgOkO1&!KU0 zIr*Fd4vWL)a5$|TW67G5GbL6fn3C)gVab=0-=zym7nd$8T~WHRbZ4nW>Auo~rAJDS z0i`EPua*8?dbjjJ>66mur7ue@O9M-jOKGLd(xOs!X-R2iDZf-uDk>G18o4{UH@OeF zueokq4=#cm&Q0c~adWu^To$*OTgK&atGIlwl-tVf+%c|+YvxXKe{g?u|CFsL z+fsI->~z_=vWsO`%C48)D!Ws5zYKU(_M{A4=3M4d=2qrj=2hlX=3j;^3n~jP!<3QB zD$9DxXO-_Me^~BW9#dXe-c+tAZ!hmGSC{L`N6W{{C(FNBRt zRBWl(Ua_mfqT+4^xB^~*tO%+=SAxqIhY%3?7}w;Fa=tylP%8ub$VyYvQ%=)Vx97FW#TZIhFG( z7ga8;Tv55Ya$V)d%FUI>D^FFPsXSMCq4IL&waOcnw<_;c-m832>0F7e%&%;z9Iskm zb+O8-3R#s{m09(^idIFh0$5e$Rh3ozDnXT~N?g@g)l}6{rK#$v>a7~68m=0xGFC6G zK309X`bPEN)px5ORX?eIUj3rlu^LkCQyo|xTn$u*RpYCptK+KUs}rla)jj-G{7w9Q z{EPf6{5$-A`4GMf-=81ENApAYSU!$V;K%SY`1$-AzK~zfZv^gv$$qy&4HSGHL#kPn&KK&&ClA+wHIqGYwc?tYazAJ zT6k?>ZE!768&-?0jjYAjCfAZ{vudfexwZMVg|)2OmRe)&Pr)p~T)_gtQo(Y;D#04T zF2NqbNx=mHa9MCoa8qz!@JR4P@Lcdh5G-H`S_Pc~yd0LOEe%F6PZM2(KpfW`dRgJ>lf57sy|r| zu76h_Q=eX6RL`#G)i>04)qk!Zt~b_C)KAsV)c>siPdrP!QoL1sQhY{yUVKRmTovCC z|1G{Nejxrw{8a2DhKgOqFtLXiF7_28!~tTI7%c|G8R9CjwqbU|-iAjFUJbDgMGegj zZ4Dg_T@9Ls{)VvzQ^RD#*M{#6GmQ%xmo~0wT-~^#aZ}^g#_f$a8|@lljXsV3jRB3Q z#;`_gBd(Fq7}LmVR7n;~)&P_k{^=aO|zQjHZ5pc+_b%ESCd84-lqLchnkKy zooG7Mbhhby)5RvsCjX|irm7}w^Ze$6&G(z3&F`9Hnu*N`%}LEbRx_iS*<94jZZ2u& zHrF*bHa9naY*sY4H+MFxo4>bgZrR^*q~&DOMUUWk{LQ zA}L#1A}y2h0BNx~UmY2xO2E1_I|qe3HFKfiTg?U$*fqV*reDBD0V1z zDGn)4E6yn{C@w3mDy}PTD*jeHQ@m1GDc&d?6kvt3!bO2q2cAEloXsSHvE zD>2GYWw;Wn%vK7O`u2tGhufdG`?n{ym$b{5_G|b#-)gb!ob$)mzjD z)JN4P)Th-K)R)y))z{Te)X&v+YKYoJ4O4rn{nY_#lp3QBQRk~Q>R+1qnl+lengg1X znroWpnwOf_8Yhjb#$Ds3@zWqQff|%1N|OR;3N;@z91T}fp{df;XoQ-2O{1n+qt*0j z`ZWWZA1y^6ST?N0xe6+)^fC^+H!5BmanbV z)@kdt4O-ooIbZgDx&OueOFZzU>`VKXsovGSn|rtQ?(E&&d${*Z@A=+Ky;pm0^xo>d z(|fP?Wv_LwZLfW=Q!ljFt=GLbuD7t4*DL51^)~c2^~!tOdOLc%dNqCX`p)&e?sMq# z=nLr!?~CqB>nrU0&{y3j?5po3-{ebbm&FRexuHZ-0OPVE=IcWdG0p|Mau;bM^D}3-wF%%k`V}JM_Etd-aF( zNA)N4r}R(tK6*g^4$w#Hqx5n5czvQiSx?t<^gMmFzE)qSZ_-Qkt$KxCssBB2eBjxD z^?>t0;6U&Ib|8L$K9Dz1Fij(cD+%mX*@buuh!3%?z2CocWAG|eqXYk(O!@++BpA5nVfv7>&pnPy@X!Fpup|?Z9 zLuo_VL-e7%A?8rYQ1wvlP~DJtNHWws^l?Z%q#f!T(hnJi#)eEolfx^APYqumzCCPl<;XcDU!#2Yq!&So#!vlk* z!PVey@HYei2CN~<5Mv-3k_@Q^vLVw@Xy6%ShEE2iL1j=Ix(#0pI>Ufr*f2UWdt~0o zf{{fdOGcKDtQuK6vVP>RkEKJo<1HItm~49Yu@=jE0Uz zjmC@;M-xVqM^i`BM;W7qqaQ{&qvfNOqx{j@QJ`=1&)BlDwPPE`HjQl^vl!bqc5v*- z*s-yvW1(Zrv63;tSld{~n09P*?2mDdaiwvcaiejwafflYaj$W|@tpCZ@s{zn@ww5` zXl=ALf{ac^sL|CJV8j}6MuIWcNHQiEsYbeyWh^$97`etequAJJY&L#0wi-K)8o=0X z)EY;PX5%;GjPcj_-0=nDi^rFZuNXf*4jm_sXO6!g&mO0b=Z!PROUA3l>&F|%<>RXH z&*Q`6qvOW$iSeoNZ{vSVi%rW+mrb`#mZrBRXOpi9VG1+_n*dX&iEZMU>P%vj!lXA1 znMO=T(}Zct^xgEs^m}5~1h95u{ls4rn)KY3yD(&W9#XOk}`EhnufZ6_gInc~7x0yei zd(0!|N%L3pwE5@MoT>R!i>8)NEuY#jwQXwO)UoNS(>JCcOuwGCn}$sLOas$l)7WX; zG+{b+nlzm?O`WDq=T7HO7fcsTf0$NI&&*iNJf5+fv7d4LKSz1aod4r`{{Qj+=gjQL F{|C#jo~Hl+ diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index d630c9548..26b4980b7 100644 --- a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -14,60 +14,12 @@ filePath = "../../../apps/TOH/Driver.cpp" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "206" - endingLineNumber = "206" + startingLineNumber = "204" + endingLineNumber = "204" landmarkName = "MyFrameHandler(windowID, viewport)" landmarkType = "9"> - - - - - - - - - - - - @@ -94,25 +46,25 @@ filePath = "../../../environments/TOH.h" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "580" - endingLineNumber = "580" - landmarkName = "Draw2(display, s, startPeg, px)" + startingLineNumber = "607" + endingLineNumber = "607" + landmarkName = "Draw(display, s, startPeg, px)" landmarkType = "9"> diff --git a/environments/TOH.h b/environments/TOH.h index 77c19f9d8..51a14ec50 100644 --- a/environments/TOH.h +++ b/environments/TOH.h @@ -159,16 +159,18 @@ class TOH : public SearchEnvironment, TOHMove> { void OpenGLDraw(const TOHState&, const TOHMove&) const; void Draw(Graphics::Display &display) const; //draws the base and lines - void Draw(Graphics::Display &display, const TOHState &s) const; //draws the disks + void Draw(Graphics::Display &display, const TOHState &s) const; //draws the disks when not animating void Draw(Graphics::Display &display, const TOHState&, TOHMove&) const; void Draw(Graphics::Display &display, const TOHState &l1, const TOHState &l2, float v) const; - void Draw2(Graphics::Display &display, const TOHState &l1, int startPeg, float px) const; + void Draw(Graphics::Display &display, const TOHState &l1, int selectedPeg, int nextPeg, float v) const; + void Draw(Graphics::Display &display, const TOHState &l1, int startPeg, float px); - bool Click(const TOHState &currState, int &peg, float px); + bool Click(int &peg, float px); + int getHoveredPeg(const float &px); int getClosestPeg(const TOHState &currState, int peg, point3d loc); //idk - bool Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int lastClosestPeg); + bool Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg); bool Drag(const TOHState &currState, int peg); - bool Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState); + bool Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState, int &userMoveCount); bool pruneActions; protected: @@ -432,53 +434,37 @@ void TOH::OpenGLDraw(const TOHState&, const TOHMove&) const } template -void TOH::Draw(Graphics::Display &display) const // pegs and base -{ +void TOH::Draw(Graphics::Display &display) const +{ // Draw for pegs and base Graphics::rect r1(-0.75-0.01, 0, -0.75+0.01, 0.9); //peg - display.FillRect(r1, Colors::lightgray); - r1.left += 0.5; r1.right += 0.5; //adds margin of space to the left and right - display.FillRect(r1, Colors::lightgray); + display.FillRect(r1, Colors::gray); + + r1.left += 0.5; r1.right += 0.5; // adds margin of space to the left and right + display.FillRect(r1, Colors::gray); r1.left += 0.5; r1.right += 0.5; - display.FillRect(r1, Colors::lightgray); + display.FillRect(r1, Colors::gray); r1.left += 0.5; r1.right += 0.5; - display.FillRect(r1, Colors::lightgray); + display.FillRect(r1, Colors::gray); r1.left += 0.5; r1.right += 0.5; -// display.FillRect({-1, 0, 1, 0.12}, {0.6, 0.4, 0.2}); <--- the og line - display.FillRect({-1, 0.8, 1, 0.92}, {0.6, 0.4, 0.2}); //brown base - -// glColor3f(0.5, 0.5, 0.5); -// DrawCylinder(-0.75, 0, 0, 0, 0.01, 0.8); -// DrawCylinder(-0.25, 0, 0, 0, 0.01, 0.8); -// DrawCylinder( 0.25, 0, 0, 0, 0.01, 0.8); -// DrawCylinder( 0.75, 0, 0, 0, 0.01, 0.8); -// glColor3f(0.6, 0.4, 0.2); -// glPushMatrix(); -// glScalef(1.0, 0.05, 0.25); -// DrawBox(0, 0.4/0.05+1, 0, 1.0); -// glPopMatrix(); - // DrawBox(0, 0, 0, 0.5); + display.FillRect({-1, 0.8, 1, 0.92}, {0.6, 0.4, 0.2}); // brown base } template void TOH::Draw(Graphics::Display &display, const TOHState &s) const -{ - glColor3f(0.0, 0.0, 1.0); +{ // Draw for still state double offset[4] = {-0.75, -0.25, 0.25, 0.75}; for (int x = 0; x < 4; x++) { for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) { int which = s.GetDiskOnPeg(x, y); - //glColor3f(0.0, 1.0-float(which)/float(disks), 1.0); rgbColor color(0.0, 1.0-float(which)/float(disks), 1.0); Graphics::rect r(offset[x]-0.04-0.2*which/float(disks), - 0/*-0.4/(1+float(disks))*/-y*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8, + -y*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8, offset[x]+0.04+0.2*which/float(disks), - 0/*-0.4/(1+float(disks))*/-y*0.8/(1+float(disks))+0.8); -// DrawCylinder(offset[x], 0.4-0.4/(1+float(disks))-y*0.8/(1+float(disks)), 0, -// 0.02, 0.04+0.2*which/float(disks), 0.8/(1+float(disks))); + -y*0.8/(1+float(disks))+0.8); display.FillRect(r, color); } @@ -487,15 +473,17 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s) cons template void TOH::Draw(Graphics::Display &display, const TOHState &s, const TOHState &s2, float v) const -{ +{ // Draw for animating in animationVersion1 TOHMove m = this->GetAction(s, s2); + + // when s == s2, m.source is peg 0 for some reason, and the disk on peg 0 is animated going up and back down instead of the disk on the correct source peg + // also idk how to look at the code for GetAction + int animatingDisk = s.GetSmallestDiskOnPeg(m.source); - int initialHeight = s.GetDiskCountOnPeg(m.source)-1; +// std::cout << "animatingDisk: " << animatingDisk << "\n"; int finalHeight = s.GetDiskCountOnPeg(m.dest); - // glColor3f(0.0, 0.0, 1.0); //everything drawn will be in this color (blue) - float offset[4] = {-0.75, -0.25, 0.25, 0.75}; - // v = 0; + float offset[4] = {-0.75, -0.25, 0.25, 0.75}; // x-positions of the pegs for (int x = 0; x < 4; x++) { for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) @@ -530,19 +518,52 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, cons r2 = {static_cast(offset[targetPeg]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-finalHeight*0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(0.8-finalHeight*0.8/(1+float(disks)))}; } - r1.lerp(r2, v); + r1.lerp(r2, v); // draw a rectangle v of the way thru the line btwn r1 and r2. (ex: v is 0.2, so a rectangle is drawn one fifth of the way from r1 to r2) display.FillRect(r1, Colors::purple); -// ^ glColor3f(0.0, 1.0-float(animatingDisk)/float(disks), 1.0); + } + } + } + +} -// float x1 = offset[m.source]; -// float x2 = offset[m.dest]; -// -// float y1 = 1 - initialHeight*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8; -// float y2 = 1 - finalHeight*0.8/(1+float(disks))-0.8/(1+float(disks))+0.8; -// -// Graphics::rect bound(x1*(1-v)+x2*v - halfwidth, y1*(1-v)+y2*v, x1*(1-v)+x2*v + halfwidth, y1*(1-v)+y2*v+0.8/(1+float(disks))); -// display.FillRect(bound, Colors::white); +template +void TOH::Draw(Graphics::Display &display, const TOHState &s, int selectedPeg, int nextPeg, float v) const +{ // Draw for up and down animation for animationVersion2 + int animatingDisk = s.GetSmallestDiskOnPeg(selectedPeg); +// std::cout << "animatingDisk: " << animatingDisk << "\n"; + int finalHeight = s.GetDiskCountOnPeg(nextPeg); + + float offset[4] = {-0.75, -0.25, 0.25, 0.75}; + for (int x = 0; x < 4; x++) + { + for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) + { + int which = s.GetDiskOnPeg(x, y); + float halfwidth = 0.04+0.2*which/float(disks); + if (which != animatingDisk) //first, draws every disk except for the animating one + { + display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); + } + else { + Graphics::rect r1; + Graphics::rect r2; + + if (v <= 0.333) { // up for the first third + v *= 3; + r1 = {static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}; + + r2 = {static_cast(offset[x]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(-0.5)}; + } + else { // down for the last third. the second third is animated w Draw(display, s, startPeg, px) + v = (v - 0.666) * 3; + r1 = {static_cast(offset[nextPeg]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[nextPeg]+halfwidth), static_cast(-0.5)}; + + r2 = {static_cast(offset[nextPeg]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-finalHeight*0.8/(1+float(disks))), static_cast(offset[nextPeg]+halfwidth), static_cast(0.8-finalHeight*0.8/(1+float(disks)))}; + } + + r1.lerp(r2, v); + display.FillRect(r1, Colors::purple); } } } @@ -551,18 +572,24 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, cons } template -void TOH::Draw2(Graphics::Display &display, const TOHState &s, int startPeg, float px) const -{ - +void TOH::Draw(Graphics::Display &display, const TOHState &s, int startPeg, float px) +{ // Draw for horizontal animation in animationVersion2 int animatingDisk = s.GetSmallestDiskOnPeg(startPeg); -// std::cout << "smallest disk: " << animatingDisk << "\n"; -// int hoveredPeg = -1; -// Click(s, hoveredPeg, px); -// - float offset[4] = {-0.75, -0.25, 0.25, 0.75}; -// Graphics::rect p(offset[hoveredPeg]-0.01, 0, offset[hoveredPeg]+0.01, 0.9); -// display.FillRect(p, Colors::purple); + float offset[4] = {-0.75, -0.25, 0.25, 0.75}; // the x-positions for each peg + + // if the mouse is hovering over a peg, highlight that peg + int hoveredPeg = getHoveredPeg(px); + if (hoveredPeg != -1) + { + Graphics::rect p(offset[hoveredPeg]-0.01, 0, offset[hoveredPeg]+0.01, 0.8); + + if (s.GetSmallestDiskOnPeg(startPeg) > s.GetSmallestDiskOnPeg(hoveredPeg)) // if it's an invalid peg, highlight it in red + display.FillRect(p, Colors::red); + else // if it's a valid peg, highlight it in purple + display.FillRect(p, Colors::purple); + + } for (int x = 0; x < 4; x++) { @@ -576,7 +603,7 @@ void TOH::Draw2(Graphics::Display &display, const TOHState &s, int display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); } else - { + { // draws the animating disk // std::cout << "\n here!! \n"; Graphics::rect r1 = {static_cast(px-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(px+halfwidth), -0.5f}; display.FillRect(r1, Colors::purple); @@ -593,12 +620,20 @@ void TOH::Draw(Graphics::Display &display, const TOHState&, TOHMov } template -bool TOH::Click(const TOHState &currState, int &peg, float px) // can i delete currState bc i don't think it's being used +bool TOH::Click(int &peg, float px) +{ + peg = getHoveredPeg(px); + +// std::cout << peg; + return true; +} + +template +int TOH::getHoveredPeg(const float &px) { - // clickable area includes outside of the peg - peg = -1; + int peg = -1; - if (-0.75-0.1 <= px && px <= -0.75+0.1) + if (-0.75-0.1 <= px && px <= -0.75+0.1) // area accepted as "peg" goes a little beyond peg boundary { peg = 0; } @@ -615,10 +650,8 @@ bool TOH::Click(const TOHState &currState, int &peg, float px) // peg = 3; } - std::cout << peg; return peg; } - template int TOH::getClosestPeg(const TOHState &currState, int peg, point3d loc) { @@ -629,7 +662,7 @@ int TOH::getClosestPeg(const TOHState &currState, int peg, point3d for (int p = 0; p < 4; p++) { if (currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(p) && abs(loc.x - px[p]) < distance) - { // when there r 2 valid pegs both the same distance away from the mouse, it just stays at the leftmost one + { // if it's a valid peg and if it's closer than the current closestPeg is. when there r 2 valid pegs both the same distance away from the mouse, currentPeg just stays at the leftmost one distance = abs(loc.x - px[p]); // std::cout << loc.x << ", " << abs(loc.x - px[p]) << ", " << distance << "\n"; closestPeg = p; @@ -644,12 +677,9 @@ int TOH::getClosestPeg(const TOHState &currState, int peg, point3d return closestPeg; } - -// have it acc follow the mouse -// show where disk will go when u let go template -bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int lastClosestPeg) -{ +bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg) // i put & next to lastClosestPeg and haven't tested if it's ok yet +{ // Drag for animationVersion1 if (peg == -1) // if in empty space return false; @@ -666,20 +696,18 @@ bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TO if (tween == 0) { - nextState = currState; // is this resetting nextState and reupdating it w a possibly diff closestPeg thing alr? bc it feels kinda inefficient but idk + nextState = currState; TOHMove m = TOHMove(peg, closestPeg); ApplyAction(nextState, m); } - // mbe should pause the animation at the x-cord of the cursor? (so that we don't show a move that hasn't been made yet) - return true; } template bool TOH::Drag(const TOHState &currState, int peg) -{ +{ // Drag for animationVersion2 if (peg == -1) // if in empty space return false; @@ -690,28 +718,30 @@ bool TOH::Drag(const TOHState &currState, int peg) } template -bool TOH::Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState) +bool TOH::Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState, int &userMoveCount) { if (peg == -1) // no disk to release return false; - int nextPeg = -1; - - Click(currState, nextPeg, loc.x); + int nextPeg = getHoveredPeg(loc.x); // std::cout << nextPeg; nextState = currState; + if (peg == nextPeg) + return true; + if (nextPeg != -1 && currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(nextPeg)) // if the next peg is actually a valid next peg { TOHMove m = TOHMove(peg, nextPeg); ApplyAction(nextState, m); + userMoveCount++; + + return true; } - - peg = -1; - return true; + return false; } From bf708e9da26ee189f25c86db1268cc9360062019 Mon Sep 17 00:00:00 2001 From: poopburger78 Date: Sun, 3 Aug 2025 14:37:08 -0700 Subject: [PATCH 03/13] broken --- apps/TOH/Driver.cpp | 42 ++----- .../UserInterfaceState.xcuserstate | Bin 109853 -> 119957 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 12 +- environments/TOH.h | 106 +++++++++--------- 4 files changed, 67 insertions(+), 93 deletions(-) diff --git a/apps/TOH/Driver.cpp b/apps/TOH/Driver.cpp index 6846f86c1..eeac86b75 100644 --- a/apps/TOH/Driver.cpp +++ b/apps/TOH/Driver.cpp @@ -50,7 +50,6 @@ bool recording = false; bool animating = false; bool dragging = false; bool releasing = false; -bool animationVersion2 = false; float px; // cursor's x-position int userMoveCount = 0; @@ -222,14 +221,7 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) animating = false; } } - else if (dragging && !animationVersion2) - { // user is playing, in animationVersion1 -// counter = (counter+1)%animationFrames; -// v = float(counter)/animationFrames; -// v += 1.0/animationFrames; - toh.Draw(display, s, g, v); - } - else if (dragging && animationVersion2) + else if (dragging) { // user is playing, dragging a disk in animationVersion2 if (v < 0.333) // disk animates up @@ -238,12 +230,13 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) // v += 1.0/animationFrames; } else { + v -= 1.0/animationFrames; g = s; toh.Draw(display, s, selectedPeg, px); // animation depends on px (cursor x-pos) instead of v (tween) } } - else if (releasing && animationVersion2) + else if (releasing) { // user is playing, releasing a disk in animationVersion2 int nextPeg = toh.getHoveredPeg(px); toh.Draw(display, s, selectedPeg, nextPeg, v); @@ -429,42 +422,23 @@ bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEve if (e == kMouseDown) { v = 0; - releasing = false; + releasing = false; // necessary? s = g; toh.Click(selectedPeg, p.x); } if (e == kMouseDrag) { - if (!animationVersion2) - { - dragging = toh.Drag(s, selectedPeg, p, g, v, lastClosestPeg); // reminder this is called per frame (drag drag drag drag...) -// counter = v * 30.0f; - - } - else { - px = p.x; - dragging = toh.Drag(s, selectedPeg); - } - + px = p.x; + dragging = toh.Drag(s, selectedPeg); } if (e == kMouseUp) { - // when releasing on an invalid peg, it doesn't animate properly (whatever?) - - v = 0; +// v = 0; dragging = false; releasing = toh.Release(s, selectedPeg, p, g, userMoveCount); std::cout << userMoveCount; - if (animationVersion2) - { - v = 0.667; - } - else { - s = g; - selectedPeg = -1; - } - + v = 0.667; } return true; diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate index 8240dc63258fe9daca891b4610011a0809fb6d4b..45ebbeb527884a25bebbb5ef52143ae2937017eb 100644 GIT binary patch literal 119957 zcmeEv2YeL8{`k(!?%nR*Uat2$2wjCFgdUm!5{h&ZdWk6q38a}zfKYS?6&s+Updcu@ zP!xMZtYGh;6a@=nM=3UJSonWu_b!D1>U+Nbd++mp@Y&1V&Uebr%(s8Pvw7vkMUl#m z9rtjE!yMswPT&ljk&`F1o*k};6qS`uY@J(?UswdcvRhY{l}~70mNzq;Um3A;Xz{un zt7Syi&~SCQpkEB=O-|&bv00V5m0=a#Ym+3-#3`JI^Kw2eiA&~ExQ<*Z*NN-Qb>X^l z-MH>t4{iiEk{iX1=EiVYTsAkB8^?|3B3va`#m(mCaC5n8ZXP$ETfi;kF6J)bRBj2k zlv~DK%U#E<9pR30#}JPMWI#qFA_>XJgcM{(3CM!1$cF65ft<*NTA-Gw6>5#z zpmWiAs3S^6T~RmG3k^bp(GYY28j41vF(?aVqe*Bo%0U;R>1YO;g^JNUG#@QM3(>{s zGIS-n3SEnCK)0cFs0Kw*En1H@qdU>P=sxrWdJ;W_wxR9lY4jp`3B871NBhw`=w0+4 zdLJD?pP*0C7wAj$E&2`}N57+!n8OHTEMp6HU?=usA8v=w!RO-haC_VVr{GSwGwy${4xF< zAI87nU-57FcYKm?1QARWVkQa1LfoV+=|nn{UZfxCPX>|;$Otl$j3U`&ESX3qkqb#K z36ml+la!GNsV4KtLUJ*=gxo}KCacJ5atm2Q){=G%3sD`&M)S#=9lp+`J4Eg`Bi)kALVQLhxsl1Bm7qWQT{RhasCN@JO3j862F7r z$?xai;os%o;}7zm@JINg{4xG({yY9h{wDzmqF@mmf>Uq_KEW?E6Iu#wg?2)Fp@Wbl zWC{a?LBe2Rh;V^0R2U`<7e)vpg)Cu`Fj<%)6bNBqx=<>V3FX2(VZN|HSSV28a$&J> zg>bEKop8OdTBs4C!bV}UaHnvWaG!9$@UXB&ctm(ocuIIqcwX2myd}IX>=X72?+EV- z9|#A9L&6urm%_KgcfxUl!C*9q2FV~BOa{eZHaHAULo-8jL!zODp^f2OL#m;Zp|hcv zp|_!rVWeS{VYFe4AFglGcqtBRVY+-C?Jjd9{*xA^{*wvV3>|@L{ z4m1ujjx>%kjyC2S3yfjobmI(Tp|Qv~(^zV(GR`(GFfKG+VZ73KmGNrhGUIaNYU3@& zsIk_#-nhZI(YV=or|~Z1ea8EZTa8Z`w;P`}K5u;0_?q!e%sv6I+Y>@M~Ydy9Rk+ch#SRC z;_c!c;{DfrLodDX}pvx{tN>@o&OV>%)OEpqds+HDD8>EfWCh1P;F6klZVQGu>l(bFS zF71+bOM9ff(p%Eo(mrXw^uF|o^r`fjbWHk6`da!)`dK<5^RgftWTR}7EwV@U%09V; z+){2Oca^)z-Q^x~n%qGBM@P%e^77MpH1tun1P-C|l} zT5G!1bepNxwApm0=|R&&riV@2OxsOQo1QVfV0y*0%e33H$Ml}*eba}gL#7{0CrrPX zPAZ(jD}o{^vXY=!6o=wb0!nkGm2$3aK>0v9sC=k=q`%=3VC9 z<~`=U=C{o6ncp{mZa!rG!u+NAnE6}t3G*-JlL;h2O0XnY6A}|zB(zLumC!n&O+wp* z^Ag%8bWP}%&^@6?LV7~Kg#HQH31bt+C5%s)kT5Y}Qo`hf+=RS@;)Iff(uA^vNWz?i zOA^!sny@J0>V#_&mL%Moa9hHriIx_YmX@}b z^DN1hE|wmaG|Onq7)zEV+cMTN&NALI!7|Y@$uilJW0`I#wUk-PEpsi^mU))TESFmr zTduHNW4YFHo#lGVD$8oiN0!elpIZ)Fj#$37d}I0E@`L4spB0)? z>aaSkUaQXk;cw>oMzB)~~I{ zt-siajkgIli_L1Y+3YsA&2MXIYh`P1>tM^UW!eVX2H6JNhS)B!4Yduk4Y!T3jj>I% z<=XOW`L+^UsjbXbZmYD-wW&60TV%V`cA0I7ZK-X8ZKG|I?RMK8w#~LXZFkx3w%ud9 z*Y=?8G27#|XKl~fp0~Yj+hN;j+i!cv_O9(c+d?iEMI}8q^Lv%_((bbXWNOuf&3~^lG$aai%jB|{4Om^frW;hBR zMUI({3P;3ojbn*psbiVrTE}&c>mAD-H#lx|tZ=MytaH>jqK?guI~{j9wm2SfY;`>9 zc+&B-<7LMyj#nM8IrcdAI*vMyIlgjy?fAy=t>Zh#amV+L9~?hAesN-_>@+zQr_EN8ZJtaF@mymPWM&pFdM%USH4 z?VRJB>#TMzbW-P4&a0i*IF~q=I#)PXI`47b>%7l-zw-g-gU*MX4?DLwA8~GVKH+@U z`JD4L=j+ZL&VA1P&Uc*eIzMoJ>^$r|;ymg+=KR6=qs!v5x@<1H%i(gmTrRiEtAi`amF()~>h9|2>hBuh%5V*K4Rd9?#=1&erLHnpx$7cVg)8E!bXB=#yXLs& zyB4{wc3tCI;#%pt$#t`9m20i5#&w5lv+GXRgRX~Muen}#?QrdMz2SP(wac~Jwa2yB z^_J@$*N3i;Tpzm*yNtZ1h?Dmai_RDx>Mbq+@0NB z++E$>+}+(h+-dGU?hN-Z_i*cdk3no$oGi7rKkxmF_C{Qui|VweIWO*SnXy zZ*bq}Ug2KpzR7)yJL=x-zSDh|`yuzk?k(=^?x)?)xSw^u=zi6`+r7tq#C_C#%>9-7 zYxg(qZ{6RykGsEj|KL91K_2XpJtmLhaeF)-ugB*Jd0KeR^_=Hv@9E%4@^tld^NjF} z^o;V1_Kfjld9poYJ>xv%Jrg`rJo%miPuNr9DfN_jsy*{O^F0eZs^>D#63;sr?(^L5dBF3a=ONF-o-Lk7JX<}FdLHvU<$2!of@gwU}nws)U*zxN&QyWaP_?|Tn;Kk$C+ z{nC5bd&GO(`@Q!E@9*A|KF%lmOg_bD_St+cpWD~W*WB0L*Ta|Q>*?#|>+S2~>+3t; zm+tH5%k&NNW&6hZ#`&iCa(oy1X8LCNihU)%i+okSg}#e@D}6WlZuYJ6t@hpGTjN{n zyVZA_Z=G+w?@r%czPo)7`?mNV@jdN(#`mo6Ip0gZ*L-_?dwp;D4){Ls{pkD2_p|SW z?-$>%zTbSm`%d~fKk^HH#c%ez{BFO;-@@P0-^$MBi&@9kAkQitkXdmbhND6cfbPIG3^b7P43vR4Xg;P4BQl`2}A?6f%Spg19t@; z3OpRx5_l@GE%0_=UtoXWoxr<+_X6(+4g@|391MII_%v`Na5V6J;D^AEfs;Wlh=Qh| z5;O-Bg7%<0=m|CtCI)*1(}F#Ny@I`ieS&?1=Lge+{eu021B1hZBZA|C+1f#)?!MlSG2e$+t2|gWs zCiradx!_B|*MfV3dxLKU4+K95{uulz_;c_?@R#7P!QX=dOfrwv@`TZ=*`fs z(C*Nl(B9Bnp|?Z(Lieo6wKVP&3?&G~=5I%`DBV z&1}tF&3w(yZFXL>_RTspOKR3}Z0pjh;^N($nM>d-oRxEM?(rkCl4pghBa`57%)T_P zb$)SfBogIpoL$8#iE>WPrScRnP&?;XTleVKJ+oUz$8JeIGJ5n#>XHc`J^FV}OUmfn zIU}=kYHC_W$L={+=a7ud@nsdWBIUXH;f%8Us*-SNWxQuU*NW?KI~U-BT!?GNHRlq! z7F7ux2~U$gRxHvG#2^{OsJk0cE9?6=lW6;fkCdoio!qXZGlr)TK*i|D-Pc;rY}0 z4eXrMzgw4q{X1o*WpwT`AjjIaZUj)fe{RM2+{n11ND=fhzNoS=tEhBFaTrQ+tjz(i zUw$Q+`Rb;taer1{eN$y+#d*0EL*h;4SiSXSS~qn?VvaS~F|lJ}YWGz5=-90Xd~f(m zimyc)H-PJK2iKG9#r5X;aDBP+xpb}{*I%`%cGaOeRhQ~kJ*rpr-2rQm$qnQNaf7)b z+y$^I!(bKs>f`DY>ND!I>hrK7FR?YT!l1GW%jS&8on15|7baJ~Rrj-BMHr^o22f)w zi;9aXi^7rdMFo|GI@plXNI94}%PQ)@>S}6WQ^pmA=VXNQs%Ff9<*+)2hfB&Tss~l% zmKWCFjgO(OhpEtAW&4USzIw!!j*DmTse1<+D<)3?V%1=bJSVt z0(G%^ow{0GuRg$L#g-K=hUW?w)ICj(HDyA6SwT3N%~x4fMSeK8&BhK%t^-OQ6D}`{ zuyMmQ!J^jH7+O@>07`puFbWT?70&!@0}69XXRya=SqI#> z^=v@ScokjijLBpV2oj=%$pio+v- zOpVH|tb_;6s;mI=z(`n(VvK=plVj}wH|o}-QA_>9)5|Kt&LVzEr74*HcT0jRex{7h^&#C`$BJTJ-11N z8I@yo&!6A1Lt;{D$Aujd=XdJfsY7B~m#zyJ#)ow$cX!Q*HN z&-Sanvhg;@RF#%Od;N>c@@GYwtSlqq&|dzm0c9oS&^2@ZXe$(dvRAn`*fx8Od!5_C z?Nrm%erkVpz;x2iP1FiY=e zOn5pxZE1cOd`UUhRDc?sJ3Bn26sU4;adCCLl>wv1>a>;3N?}oP0o2i^AjjG)-eY6> z20KFA=DRdm<6Z9k8ty$cQyrLBy**g3Du z^iKKV&K>mzKIJ}Jrw-989^$^3R#&lKMMW;`xI^5R+y)S4w4YY)wA-qC=Y8y|O-^n=D08eW&ITEy zT;qR#nGO8`!#oqi(C7CI50d<+InJNst$)m;&#*el4ftbhUn4gP0I@(GjQalZ#%+-7Ys%akFB8ORQAgUc_$Js z0I5Gbu?X0*_6$=aF;PvUVACS`O!Obcq%df)bH5jZwO3DfbXm79Dk)Lf)QXG!Yqh<# z{w-=wXqA4E{=HTDvO?{fXltF^duaC9aTBM6OD~$ImjW%(|5;*x<9{yINFC~qdVnqg zRJd4IQASo(78jL=SoBi&=&<&4Y9>6}^*r_Edzi2S89h7`c`7fmk$@jSk=y-`25EBm0n=zNr} z7ON#{sam!k^+y9x2Fg^+)reZD&i((kD~F*GY^M!ZFRDQ!)rzz3w2?Mkdg=!H$HO#4 zDZ8SqtWrgHm=sT-MeBC$JLr1(UUP!QYO_0>E_X}?pHfyH27R@xf=xW|_R6wZ;nIOc z;o<^amePa-&@3v#`7q%+B5GR}xN^9ZZH0Ee^~(}bMJoroJ+B&edCfk5 z1MPpEN_GW9&6=N1+>7(qXtTt6dCqHY*=n6CK&3WqPi4z(nk7Q}=d`Lh7ZiIzS9VVw zOOCE}WL8v^RX`(2$uRgF*pNCL?5~(ar0p;5iPxueOilbls2r=WzL{(`bM-AWEz@RI zYaPO9Y@8pY#d9H8raNf5!yrH=3sl2=(DJH4)?dxt!|epwYd5zS0$lb(aLX4Ud>jEe z;#UZ2F+&K84+w2@)B?4IfR!}Z@#(P5Gaxu+7FvR?M-QMKI+o)&@^^}3z5W+{`6o!_ zSTvq(;BjhI4Vs|NKI;Z%q;d+7%4vT@D(C#|q%zU){j<%N|7%HQoW|s$d^RO{YIO}N zQ0M*OloZ00%>1J%nLpBo7M+6qcE>-(KD0UcENZmu5+ykyyF9nDa3biZ;kkoBi>@^( zW+o$#g)13MBH?zGg+-BeiMbUsG#grCWm#fLxFj!JkvJXXc*c2CC~;lX>501Br{Q#7UsFz}VNh!bIqS_0g|M>mU|7ioJ4qRYmQ`~fLLk^7 z?nfp@LlBrz!2-jf)Dn(_eoO=vas0-DL)k{FZQ#YVWK-$)5 z4w|b{Q1Hy^rRrrGKVhm5F!0=RVD$BxcRRRUFO%1aB|6y|SqfrL5o2LsHfVEp$V{Em z>Y8<232LB(qe~EleW@woXpy?8PK8C6BQPH@750qkO8l{}Moa3NSgKxL-^6w3`bJtX zx)H5njCKWDiEctSt5>L3s#mF3Gx6^hv_=#Eu2Gl#e-Quv1PR-KHZgqNs4lHRx2wzk z5MS>Ce7)z7@b%i$;A^1SKZmbI&b0LTjYhN8>Gm<4RZhX#8k1%#VMvr1*m4pEY3&K_ewOxvabHAFmvgZIzlntR*#vJxeLMmS;k!i;hu9L$a4v| z0=U~+2;|(tJr2Q~FN4WpH-vENID42o20ZQrA`rM46IbgvSPXyTSc|;zje9@Z!nWfB z=t1-ldRV<)U9R4s-pID&R`jU09apF;|1-AZGw3OXmtADf| zSN$tE>X`J)|13w1E&N|pKH{sl1MOz3w-ddA-bB09Thuk`TJ=`8dVA4Z+Unh=uKUke zy${fbZ1oPRH8toXHTs9E_Zh6-p+8!^+L1Ql=~I~hZMFXtF=>8zrrNUlUTZg_#o_Ta zOKjctybdXyy7lPQr{91qlxey7(+g*TF>vIZaHx`W2u!qU3ag#NnD+l3Siz zJOi8zm4zh{s|5ADcAz%RX=svtCV=@v>rF}^n4Mc*9vNFvl~**&N&u+24m7H7Q33$9 zXa#Mx93L*7&APW@0BEBFcwV+=0zkWS0pOfTk)o2SVog1_ngFJ~4%6(LovQ&R$qq2d zpd-&NswgXEZo>$`bWCNVQFk}L?NGU@(`ONW!;kmgp z%1W&UfEcVpWF=mn0T371qb4@^Vfx)xUxaReyCX(H%Ol5?=YrxEu_i$I7`?oOWiorX z>~T;&7DNT`LzWjdm~jC>C+ML532oj0&`ARUbn@646-5PX0;cMP0ZV2g6y~I|@m;7H zQ;{`KfAI6n+YUilK`T}k9uGq=DK8E~-5Gk_(WcZRP+l|>8V*=3P*AK_Y;mLGT_`9` zXBEpPMoM#Mh4YFk3IO6Fy=vBXcQVcwse-DN<03F|`Gr;)%IE0i&1_rVhw|zWl+PPK zBU}oeh{cF%7wN^mHA(xR_%b`||MCgLM~tePH%}Y+ z74ZQ+HUs+y?Gm;JS~2 z2jgk5_3!821zY$hV3$75{fsb3$qJ-Jcr?AT9qIt75Is;&u%iq{!yyG?3Yv!UA?e{F zRD~9yE6{alIf#C1AkASTq&YkUZ1zb=Z+HQy_#U(meTY6rhtN0Z2lNXjSb$Up2c$6s za3UlzBt!Z_8t#SD@eoK^7=sJ&bUX_Z7OEjd;Zl4hz8NGG2w3f0Hh>rgLH(~ z@huo1rjqGo7Ac2B zgNw-(WC>YDZh!=X8nT|;K^}mlf+rxU;CVC-XV= z&#lZaWcK;2>XN*&Vy*rjST-IDoCO=O5sO%ws8!1jSCmX*&bflDd@vhL(r#*fsduZK zdarulZm43y3N~}MaEG%i!*eSqz@wHh+md>ZnyMKbu@&2NCsJM4TBoe_D7G`}BJ(gc zEj;sh^>$s@t-FdES8eqCQS4zIFo)7vpt7gKe8koP`*9+ugRp&rIE0(w=IVp$L+Zoo z7WI)0xCK)OackU0-KwdBkE)Ncb#dm$b-@PqFxUamD;WLj^gzw~(7#$Uh%@I|!!mHl z*4f)MMOlM#Xv#Bl@79?=VVzr^Qn!ImH(piqaN(qwhYLb;a7XR?X|+P;8*PX4L6dtXt zt1Q@IOkGLL8Owrv>fAN)rYB+u`?wQN!jth7JQYvFIru`Hi}P?kE>K@qUr}FGUsGRK zcc?qnH`F)PUFz;T@pNt*F2qH6CXmEpT!Kq+87^1%fE)R^`n~#t`Xj|NDK4XUF2&Up z&u5S6fW^-UPtUC?uGE}*dPvK8y2GA%dvhy_B4y0h5Y8D3>lB*|Jx)b;yjWs8QnSfa z7l$V`EKH0wK8j@wMwqX&XZ@`@s`09D6}wM@f;#?`^Jtb2XK z6dmRw-nCRfQK-P7LZM_VI{`K4AW2q5{XtkO7DJH zZgp8zJTMGjj4uU!17CtwOz|Rhulknywz_XUz6@WE7vn3`{pttm0rjxjX~MAZ^h!1y zogUSVu5Okm=?$|voH(XvMxh2AU;btI2G-5B_&Q)|%hh+(ch&dQ_tyipSd7zPi<+U6 zZLy6y4wi^n(jn$5JV)DHV{+$chGLjpf8)}a*GMD4@YIb8wd!RRun)kUR8$T|eW>ql z1fsRh$gvgFE-gk6cx??soptKL8XQ$WWP8d6w(+{>t#`5GjofEZyb0f~exx2!hr}DW z6W`0ZYw=ycvF}koRzFcct;P3oZSe!@XYhcZtDUDpbM*vk3j0+bUS@@#Y~aIlXFxKs^77AK=vOZ0rmeHH84Z#%-F~N!|b#NjH`2e7XS^2 zlof{=+6^npt64avxcvPO-wfSuDeK0I8R zTL58(jls`36FA!ujX}>i?5wK1NHx%blE&~UXKES*UFQE}!AFg2oN?@RY@xxUP8wMr zE*(+|VT%zf*o*X?`w9M3H%#iR;Sl#(4gNy?seWf3!QVl+4nB&H;jch${04uk{;Zx* ze^Gx`e^Yzp%@elC%6OjFr6mb+g;4dy>>)eP4+H~py-9wyZY+)Vxy}>{ffrr6O zh`X5@qe4IuQaiVw%ur`2h!Ps_4gu~}6&ElJ90gINW5OUlMJjQXI^GuG0n@U}*!te?s8 z5sV!(3~I-J)e91J;t@qMMa?KmqzGm+gQ5Wx1t@C%7HJ21!@2N~=aKfL185M*B!zV3 zwt?j(BldX1%5IW=q#Nl@dXO}VB#IP@%oJHEva8#7 zlis8cJZCe!n50jt?|-Z|GMFFr07a$-%BCiEkpUzF6b!)X`XB)4mwDcGrdw1IC7Dc? zJ}XSDbM8HE8%c-QtP7y4_<)9jvX)L!0!0?MtC@YQmU!W4R)Hd$RztHl#Y@KNB@V5m z-X^u1OooS?0*c=>Y;3qcCRWA?Ek!Ph+$uzF^o!yCC_CR{_={lnfd@{k>bfPy!hsd8LMct3G25(WAu!Y3iiBz8h$saglVY4Mly%YWvKyq zxsmW>_*)TX_PW_&m7^#`QSk3rrTJt5#QFh|h?4nil)mz+Jn&;C=O>jHS4H%Xh!z$N z@%we*Vk|ybC*<+PO&%4VksGOs!~@9+;?b`}CD(8rHWNw~kxR*CNd2lR3pKg6 zX))XX1IvmFfJTAX+@$s#FbNKWmLodVjNPb;=iu$ktw{0>{<);iX z3&a~(j+CcGOU2kl-h^4-MRr4kZgN#sQ9)jH zWjHd@YCX|%*uE~FL3dxSt~RYO2lr6aOD9Zw$y?(9o5v2xh?2cv5Fq=Yf&EPzxO-#A z11PzF(LFhLKXpr$U~>;_@(#fe)Q^Ilk%;c_9 zbzC_K$ioAj9#St}jAr5mW7tfZa9nay{}F~&SVC``*QD@g|ST^vp>s61Wz3zOl1R1APF zVmTs%^a12p2b_%+#CNr3y=~e^oMpsz7w_QRU}EB(JjfoSDH;>yJ=~QPW$8v?M`0Q0 zQUyA}sO!IOWi*+u@gQTgzn~&_x~4o7RSpOB3MhEI!w}yb^m!g+-s~Dak)pAhM&GCh zrfxEFDm^v4OInb-smoaV< zKJ_L`Z5vor!D4VDRsg4{9;xw_GxU90Yi#`Sd-8n%`N6~w1aT@w)1rJ|{(OpZ zD5_@U(Fa>1F)8shVju*c=w%JPh)h&WE{wOG!4G0>XYzof7gCfPG2cMij5^tORwdZYrK@dUgM>+ftT_(GCDD*iR5DI z25L|5vr*b6LU&S(M#KnZywlbET83x0@M|cVN74K!e=EbY1^*D9t>^Dzc(#Gx$Zz6r z=kMS*^LJ7N>v=Inmr$fqL@8QC(WRRJzwUwSKDZuW7F~)iV;@(rk85>2`!lF?R$Tmh zgz|qeo;}I%>?w*akK@_XaXfo2j%SNCJX;fAv6uN*8J@jD(Ump)YZP7em+;M_0V1rRgeXfpa_7ut0)38 zaw|o*)ycN}&w`D~w$R-zAl&L<)7GIegOuRbCEvB0Mo&0x7NWv(yEZ^l{_`!FEKw|u;J1b{yy@D|ZVG+Py+7xz>RCMp*4gPklL|FL0YGd z4a^q;L{VwB@7KYeeyaIGL#br_R2SwnEYiXanEG3v=X@H&wN|Ym{3-ScVXN>Mm zi=wwF+DFlTir%5<-HpNyVW;qh@TRbf**V{%=m5pwy*fy-4Q!tOofZaNxOk84&-W>M zpUG8@)7TN>)B2(C2_vZ=34lr;z@tZnPleAY`jDa@8A-J_55kYaPr}c_3E>yvSBgHR2u27J=pl-}py*4A z4uetz=aRHGAh?JY=F)|6?<4Hv`2U7Z6kAY3g24(pjsbj|M{5i=ijMsi9mn7@_<)TW z+y;-qOA!d~uy)_n8vKR;V`JY^^xeOojTu^U7DKD1tmzqJuba0Wy5N;t9@%a`p0Ixp zV`GN40Nbu9tnysS$dx}2fAZ4MD?MH<_yI)hxQ=5u&j6YFV3#*^&{)^^XVGzTtV8~U zAz_4;r5w)E!dK#E+=B4wtqO)NhVIb4p{t=AML$vWbJWm-A<&6`1c3~F4Fdsz4Cfot z4gC!L4Fe1rhD?fnp$O3EH;R6z2;xp4{shw1S{nw#1!rFwhG|v>i~)JDfqk%}$pCl% zC#(vF@jy8Z6DTGz+0-x@WK+Ww!&G)r42Q)D`X?ChI$7Ouv@0-7XJ{9u*jQtjL9zIk z&~BEYjGF&P$PFgR_ym(W` zk6*TQy?v{Ob_)P@VN=+lhE<&x7Yw-}YU(lnlEL#T8latOxKu~GMGWn*g`wRUOn4fL zGhD@39B{3J@r7E-R&E)^5PZ@qJ$7D&4!Rsdv;?1Xc63@c%1HyLgQLwde`YLM=u zXy7BG*hO(+6Co6QU|$*57}lQR4Z{J7-DmWM8EOsdb#IvAc8dKJd*VXqAc}qZ@HVr7 z-$}8zPM9Qr!L1eFfsYtKqKX=}8Xl!MNO34?c--&=#my+5aVFWSfivzOaQPUXHarU= znc*3Vo7Whgqd4)bBAMYO1H?jZG`wth#qg@(HN)$M9Tc~qxFyA{C~i%08;aX*G`wMW z6IMROu*a~M;&v2wV5--0iZ7%%{NF5+84fTy@`2%?;X}hm6rV%!xfGvAaeF4Aoz36# zA7K^CvCjUh#<_ZvTZ2HSMuxb#`QVq=&N@t~PgjrR%MbxF5@TveaGH!wzQ>~Bwi8XlK_ zjeU*%G)8Pp*BJ3YV8nHCDNQ0${tic)aj*vGX0 zA(7Vz{^=THF~!+&BrA&}Sw$Sl#%f5mK8|E_jMWUu=2ASq#yF4S34aO6E;cS=NOp-) zHByRUbtX|fxz>28@iK;FQz)MLAAn@wgf^bW3H@f*0Sovq20poZY3+6EOS0@5l3fe1 z*EL15uZFHX`qa99*WXsz?arRvU%asalHFijsUz764asuOVjtCHMB^G*660Fqt;XAo z>nP5pIFI6diVHy2-M-?!Sd7`6b+Iq=;$If(U-ULMv2_M1bozgcvu#{n1v|b@sy)0_&^o78N;~5V*deuf|VB-VE2XzVD_z1B{$%{w zc*6LL@mJ$-#@~%6MNUK_rg$O67gKx*#VW->ITlfTDaDsjd^v?26?_H7S5kZx#aG`W z@}eLb_!MrN2r`st5*5+Rr-&9f8xEwYYbd^%iePkJ4zW1mQ$X*$L=()^LO_q|U*qyjrTX7VusPkZ`=ImNd!E5r+e8E%E;KGvQ$fj!Z36DZ3Ds zu%Ir8&##xW(_-NOYL?`qWeyH0on8j(34LkVqjMpUjb-{mGfsVcjYk2YbEgiQCBSF{ zw#2i2>PFI$9jgh}eu#R6sKWY`O??XbL!^Cy)*3trMDc5pdCmqBzg7mRIRzRriY;;a zW^lB(CdY-F#dhL3;<@5^VtWzHaZxRaW;pZp;3X6q7j+RNbY4 zm*!X(H*~QSYH3qN`G3N@lG4=l{Wm#W#BQ9s`*YJA9hIf6Awf~=u z1kex8NXgR9&&aGl;RM1G8!StDtmPYWte3=F?gzoLv10-vDY`ioo-HMo!qSI)1WDV?}F)Ft-A2PP}13nr*_64!_Z-RuIzo~sV zog+p$#o=N$*j2<4;z)6nuu2>wW>LI~;?)%20xnUC*HFB6qc~O^Cyo~8 zSOni04DbJ7&W)HSPKOLhF<&eY!xY~}aSg?_wc-r1P%NT&1I6D{(hm-8Z?NA>V++47 z$C?{Q^h%9hHwZh=*Uw@FTfMAXC~NgD*Ki&u%)F$}v}yhdCiE)|!F*HXNh;yWq6i{iT} zzK7y_H;UJb%f%Z&%2)x;WPBgR4^s?|8(>f0{C7K(#oIvl5Z8${VpOc9_(sg0`kSdg0sV#ObHSJkLa_XUy4f}TBda#DNt)LBAr2%`s(%5d-0ZhavRrLGuE zpDZW0tfCP_-@ZM2GQPwLCQqH5n^)8m@~?YzOzqflYGNez)|0xFJ#n)LuX}(Q6k*Ri zMDdoWc#n85#h{byVM6)VMuY3NAUh1=6pW=G+;7}(2X^}Da7dujzUX7spjfi{fZ{Tc zwi=DIL!ws7HA9QfnCxjp5h>4+>YZyv@@*--F^7_IwYCuxIm*JnvP5T6vE2P=;Fl(E&3e}A`GT&(#)JOQe#_@nrf_%p??QT#f^J8H#W#9x_}XeY&Q{QIp$ z65%Wo-_-ImIkWFYmXm{4Encu}V9VD$5dG3?mt+K3u_^4~F&BJR@Mz}#$85tlJ+ZV3 z0+HgTSji+Mu&FyJf%~@~#kin241niy89$`ijEaMl1;UknV;*b( z!!l`sv`_-c)=u%a6n{tYaTeq-T(jD7t4?WF2Rx98>Jhh8>JP}O6ex)W{OWx{0qguQv4gm zzf*j2qqJJOMOq`Rm2QPSLpVw>CFfHDhZm&(cMHbS?F?J*pad~V_?$)pT=xZybG4fa zOw!%beGIAAO807$!AGV0r3WYxC~3to_fNM6$GA7@y4wOhKU@>aPt)%s(qpXOt1SKLRE&sBhCOs{^%xL^G(zDWY((}>_(u>kdlt`4wl$a<{C^1u#K#66O z^a}H7ORvMV6Rfa=z3dXooa`e}r}6(2K5Yr)vKr}KN^EfyXOSV&2hu@yQDUdWp?^Yz z*(+9S9G5?rzGTaGNcw^j7bWoZuylkH4<-J;kI;W39cP_<3xu9P04Nap?-|niPDkjI z-iiPgM_43$+F?ZDydf6(&D`!Delffg{kCGOQ z(0>nv9;WV8LjU)OYO-GrL634khRJSCNt>wLjG-}L)?Y_sxwYH@&{%FGx0Tz;=g8;E z=gI9UX-CO9l$=Y+d6dA<4wNK;s3s@F)e){vny5yS83w1ak3RoHqMF^O35tMYH1m6DmH|bk)mOPH_ z#K&dG(}$M3!cLSYu$>4e#hfB?*ar8F4{fTP3n(m4lXK(?Dd|DsL@&~_R?d_284CBJ zr1yUS3eNJf@ zw|_lxX#*6lkRgSOp)e$H0Sfm$%fxA-nLM8n^0mOc<2&FIxDks$jnC_)^5u1=NqI3P z{p;T9DPJYS8BR6w)szgVk(W@CaaLJNzD~XgWG(r6dAWRpe51TVUP(zNB?BoLM9E-E zhEQ_BM)_uWmAqQMMP9?mHf*y|lx(16BqbaFyJanzos%SQl5dyqkZ+-67$w6g0o)n+ ze@4i^V1$(Kmmg+mevAB|{E)USMpH7TR^B2%B5$Q6i;^-*w5<65T5}{jTZ)B@#7xqu zT^GQs7-xsU{SL=GmNXTIvl~3ijsUv3Zn8i^0$ANf>_>K(|FSa6A(|85()=i)|w`prZDWgl#g9`87^YyRo7Fq6PLaAv6z!o-z{UG_=*B;tEtm?^&20ioQt5;mz0Q+W{O4&RY zGwcH+8*@ujIW&C#)MwuXIIGF9{pHph6Cg(j8ta%Uf5-C1N?i{w1Xkj z00y}JEVcCY1`}Wn(`!JT(QkYN z8{qV2|2WQmVfqSQ5M%n%bl7ynbkuZ=!uhdeGbMLX0(;`V4W_S6->*FCx>_}Voj-Z}@bO`3@4yryM9Q_rQ?8w_bUAnc^ ze!x3Q`*dv^E-i@Pg|F;hYNxjP0leD%PN}h9`mu_AIwdzerNZ=kY@m1MSa1C618o$p zryZBrV4U4LcC8<1YPY(Pviq^2LSR&bp?2*KPo}*)JvP?VMq^b-Y^-&D9N$Hy9bYkVTLv3Bj=z42HZ z?*YXeo7ekutSkQJJ=>3t^iLV*Zp4vB`Nf$NIM(bQ^o56r~g7 z7b_i=RLX>rC!$Jc$S)=kjq@+cFILi&UhH{$Qu0)d(wh?PNS4?;F`7o{De1}}Fpw$z zl>W*9B}2(n22!$}lBX$ohLUF~d5)6jH!6dbA<6}OiZV@2N_J2JUi`BpD4%WG<89AUn0&7kDAJ)E|M70_zltxUX*8|R+JCv1!Is3ut}aLx!w)}Ka| z3xr~ggf~5&PbZ7pw3qtD>p!DFU};o&Rsn8sh>|ZDz5%HOe1jKx{aJjAH};wWC&F%0 zURQP~JC!$-HMq$EIld|JXYZur90j|3AR9Oh0=sT)6i@1Q&=XiUY-g6WO3F z8E%c+-Ex&>ngehYrB<3VO><_$qG4)7b7WTLsw}Pk@ADa^e#p@uufD(QvaT1Foac=D zzTf9Q&pHqL_5DiOW3!rBS{6P;2}wckHS~sM}EJNAL_YQq7W1!TPvVC zY@FoWi|777O>vKkyQ|vE6beqIP2)w0X;vl=%3R7A;aznkF}I-ZHpp(`L<@dpg}%(Uh%n zn_^X6q-aLGaN`cKqNSo0ex(Q`UMx}s5ii~G4zZ$*q9Yc-infY&iuQ^Qicm!u@iOt1 zh<}9m%EVV8Ua?9MuIQwQP;^#wsnU&jCGl$FLy6ZA4>6wkzq|le^k#wChj8qZpycMN(0WRAeYJ6RXO^43%5e8xV!ZR#Ey=_C*SDlK?+)I}67a@4%{3!U zWsaXld{uXXP|U;>R{oxC9+%BlVA+OSREoJQ3-RoEt$*5X%yYjfxe?iY?F^@r|7lF6Wab-a_1O4orfjY1m z=pVkN;F{&Gvstb)GM0OmQ*!u=TOT)5@=Ec>VnQhqAAVyop?pMH1;0{a9nh&riJ*MrrCw=J8kNXEXuJ#Yk;Hc;9*c*lRZ5G}%C4p<9c(eto%o*4h5UTt zaW?yZdNHA_1LG<&E%&&~VnW$aiH8kJl#P^)m6$Pl5g$!_?-FG*WpgEF4J=2}iJ$76 zlgeFIm~Of5)T5_o{{U>vk(8X7o!2C$Z}d%{0d>ny8LVuJ=uw6!+Ylc^eBWYaJ7s&q zx0(1f*4BM3Ih5f_Y{0cz*-06p?5ymfj8t}2!kztzA3!{oNCSxs~d z#RVvPvkO1?oS2IEp==UN#{b>p{CCF{hxadUWc%`FSMQ1M-^{KzO>lSl1f<6SLzKfX z|0#zOKdeX@M||A<%zw&6Whx7rBxSNPh4|sb#}l7WqD)h!v-vNP_@w`S{!`{~D&;8e zIc?&KQ|k(oyJoKreq(7Ju@-g{Zd0bj)+@>a@3Ov&zU=zQ;m&(kuQ{^uT6(jSf8SYE zj#W-@&VS1B&iO9|^Ph4O?yT~uUY7whEv7txHH31iat71TH05;SM-V@QN%SwkqFQZ8T`nys9poU5FtoUeRZ`3&)y#AgwoO?(dVSjFcOpSN21tnxW_HHiJI ze1Y)UFaA;IRa56$g31?>cbI$Yd@#Be~K>WlKHRGuOpCvMZ3^uBdUZ^r#g?*}Db zT3W6AQF&hZlk$S{qVkgRGVwEshnOED{&C`;ApS|>pIWW_8It?eDZW`;0P(X~;+p3a zA3hksTE1i0miOzs2;*LKdtcJ@R`yM@zq>Hq4p0dy+37Nsm3n|!N`s`QQWHPFNTntIX=bv!K5OJT+NiQZRw|Rqtipv1%#I6)f3`$rQ`woUo+EzY ze=jRlO-`i>@RmwU%^karf7)aDldpBVesOX-KCIBDOjQSE>w1^{SQtI|(F;-6-U#@t z&lkU|`6V1g%s^-Kmx#dEoD#(4I@`X6{7|#O_H|?o{ZOrh@ zLgL7{lw9o2)*&OlAS*E~2Ac@s?pUAXly)szG;5t4)Ra8|a^so!$oRapcCCY2wQk+4 zdF$4AyrD(Y;GkB)&Zi&TkIlOd4Qv*en9|zwNP{Xw6@jm9soJR8s@kdAt2(GcRbi@* zs&G{&;+GP?jQHimBsAbutBtB7A+s_N{@b*gTvC{=eZK-Ck^`tdKaQ)ec> zQsQwAzlr_lW+)MN;O`jX-U4L`eE7+6c00y>qxHso;+)J?LlAW;tW#fdPv)xOcbd#q zsVesUD^;2b=Pk&^uN13BsxpXQL;R~u?G=)fRijk-tdU%nlkrKmmc^<9JXFrFD<>&y zsyaLq$OP4+Yyz36nxvXc{A(n*m`hEebrK)AB<*FjNp{hi+LbX!0 zO0`<`qUt3THeZw*sMe^~s@ADqmFuZqSFKlVP`#nrsM@63tlFa5s@kS{Q-$Y#=Ckb> zd3bO;@o07zc3~ubH}SZ3wx9TSh=)_&Cm!nve5Rq8ZPSPkXY!vCf0%e|0Wz2PW5j<+ z{MW?eBG5_VPZN(tz<0!dPyCOBZ%6VM(OK17s-3D`s<&0UReMx>Rr^%?RR>h>s1B;$ zRlTQrU-g0Nkm^I#N2)T_$Er_MpQ=7n9aep=I-)wNI;Q$U^`+`7)z_-y#9t;sMM6Ci zI+Kt@LLmvuNO+Tk&q?@&L@kL;NbF8x3W-GGauT-^K0qK|CP_n5W0HE1G=ijAB$be~ zlcX<5`juoI$<0XaPT2nqyNJolZ=JhOyXWpVR``!@82r6zZ!AI7QM z+-s$`gb@1_V&lx42X1#)S#}>$=^XfN{k%2U)z#hAesUkPle5~qEbMZcke-|5F~DsV z*LGL@S)97ny_%pPKRqL_Ntf>Z@aL^z?zvO{d7L`@UTbr9Gd?%7NuTV5?ELh^u-weP zm{)I;ySk~nqeuVkuB;skaOgl3U*JPK_uBc?f^_VCo0*xNb*mvl+;x3* zACcv{fSjB751#7auJZVOdkW8SujtFi7C= zEnxP8y}9l=ZBs8%FUM({dZ`-cAHF2`6|0NX#U$_~h!u8ztzNAzWsSUu^J_t1=hyN@ z+@bY7$nMJC{*a|73SU)kz}dC>HTCQ2^(06n$Rt$4v&ia=>P!EnzTY0-3S~9I5RVo1sj;CM&Z^ZoLk}ZCiN{mri|np;Is27*jya@0%Jlo8`XhCj z`eXGc>QB|5sSm3^S05okO@f95EeSdj^duNaFp^**!AydsRDH~?->?1V`OSxZ@vROL ztRDT^$)`Q}bYS|e^H9GP{~>zyMW)|NB-lLq{Tcf8TkZEEgM1p1Ph;0ld|krz8kG9F z8hf1;tN&2{NrHm}|6&cN@gboq3AOI&V)z}ept&2-h?++rMUAA9HI+!HMnZKGYLsXy z`@O3{Ea2%@sL}cO+5HNr;>25~(Qzt`-dkR4RyF;~r*X&hwQ*~9EG|&tmQb5AjR|GV z-erHU(f#w5rY>uy7cQ#2Kw)QFRCr8a)A%zTZqqn0eUVW6PLGLujtS6U!&zuoQ`@QC zy7zKSBTZ{)SJPP2MAKB$Ow(M`Leo+csA;7MBB4GB4M=E6LL(9ylhA~OrX(~Yp*aaH zN;SbQ?P}U-+G{#+0h%zTU3MFZUDg&_k)N$5pFbg5>MTg6K?%QVZO;$o)a-X0bAC1E%T@l3@D4^{jCRQxJa@oOaX z@u+wMRIGV}dy7Fr48G9Ceqbw9&n}9ZH#KiDC2!a4AfX=#{fjj_HM>X{K*FF3TR>~} zY1lGQv!5-XW7z^)a}Wz?VPJU+Xic9NJaPD;25*FwXg<=EX+9=lFbSA#hGGq^`AmbY zAfWzXBsiZGyQ{A6d4{J=8EQL%`ci?HCHviX?`amnS>M)FtetSkWRt~5-_V~kdR42R;lK?OUYW! zbuO&snUb?TO3wTHTzK+BC0D$XwOS}yi<6ujx01C+C|PULni(XFA|coHlbsEZQhRRd zYO88%AV{>;v{>WjlTc8st*H$lVKfO7D{Mint*2$*_0`tbHqc@@H-?0MoK(=ze)c3$-ch{A7nHJym)t2*J-y&`2n5mZ|;ukLee5o=c1bZpBDbwP+zS?rW z>$|&Jg8{KqyA0gEq4!gJ_P=q{PEy+T+At=@ZCZTS7Ypi1xLtggP1&?vwB4Ng)pm92 z_tASeBw9Nd^40d%_R+>@`)d1X`)dbiW3>adgGe9}rjRg|glQy9Ct(H&Gf9|5!eb;n zUaB49mhW(Fyf%Rg&?YhYKH-t?91<3j@B&N3OCHMi0mwI($v2OLCq44Tmk3s9$7shg zNO+2b*{+{R#e>ya_jIj&R6B*Kw@?e`&Lv@9v39B!?wwDH-2Z@jpM@fy^Ujp3nt$`8l8+cQFU)Xo`PvlcvRbGE3s<}s zIdIiZ-X^tP9Z9!jsitxJa;MJJC3*QU!tkvOuz-Y(Yi6Z zvAS`(@wy4RiMmO;$t2(w(@_$Rk?;ixUy|?@315?NoP-l3d{e3`bPITzroCu`P)~(UK#-zMfw@!y-{5=Ujknm%P?seUICgt-a z{PaH{<*ktCHg9>J{VVgCNxi##wa)K(x!oT@S6DvQ?LgVLyvts(obGpZW5oHwW9?>E zIn;6FO;Uba$998)l=nELe35B!Ka=t$FDYv|-4KCJs(cSLtocTD$%?n~WQy03MR>#rnSCE+&`aGC2G3D-&ZgM>dx_=`lYRQHWr z#%EMfy0eh+ImlS_am!frW0$r>wxN`$ekkJyAmgh{#=nv1>ya^D#b3c*g=7DEy$+}M z(~AfVJ+Bu?qFmk^6dn7y zLr`zh+n{;9S#Qx>NqmIF$|P1P(cAS7XkJ7BDgS%T>jOBIzLvL+=lHi@{Ktu?mtTFR zL)?TmmikQd`no7v&%3O-@&`|(|JLc^>_bPlBt2oRjHt;$pz@UG3`1$+O0}r0}>lD?KXO--HO+)J{H>54SN3G4Ip z`OqJUh>$w>bS8YiH-FgIac+E>-2J*3URfBInwwpamDDFWuOK5o2H!JJF4K>PvL<*d z>-{hONTk_KJ=oc?KIX6!!2>wjln{S^Il zCc$m`X)N=K^>7}mpUKXIMQoXM`zl&Jt!Aj+eJ1RAXi`60@7lph@7%#jY<#C0JSu)p zU(8gzQ2)Gsk$$oM1^p8JQvEXha(xkrO-XD z{zY~stbduQIK-o3xU8%5OjzvpP{a>F#9Nq%@kUk~kBGNJ#QGiFTMQE0;w~}!flJdG zkE{3U4=^F`)9)v-J&7HP_3!8pl8EWLbHxeykp5#PB~q&D(OgKc!~ZK{iiIQ zb|Nw2e;}QH0daomEzY2ZKb-9)b{hLi{~`7T!)vfJ+%o-fls(~Hwny7m!IuwpwXIL* z{O2o%S#J{ZDgC$1&ZpTrq>FPMa+a+_BFkHc_)e(#)&-Z2J#P9*e~HZl$Mv`b2>V5` zRD71D;z+M)z;nn|gC7&|Z~EW$*Ywx*f9U_z|7G9|J_cVBdyv?Z#9kyulh~WYJ|xDF z*q6k9B=#>g@GcP>WS58yRhWnectngO;TCbyLlIZJhz(YV*nl-rtXsqe|2t)3LoGvH zM24ZZp$>_INE}>jsAs58;t&#tRoE)p(8SQ3h2J(qGiMqa%904S1x6bB$M`d}Held#L$MsI1-1G7?132Xm9A?%-#tkCjQ6S+YrI244u7&-2P+3`5_BJOV@1p{^!hq zAFngf8@i%wH}A3s%)dN&;!rQ`jC#*!w+WBH+rFN=QHCCdXs2ooy_~8|z8ACgH^f7> zh5?3H!$89z!(hV@!%)L8L!1HTOC=GDtaK7bkT{aW3=%U*%px(H#GFzC?gq1e4JmHf zj$pDK<&kaP4cW3?bRNFrP{Hpw7{)T$jw3PGBio60lOg%`lzBd=d+a4Koe1 zNE}UK#XZhpc*=maUx{J1VUA%giDO6{OX9c^!+gWjEbopd@qgfP4g+rT8p^rJdu7Rr z=wD7oG@Ui^TYHB?X6$(a2`)w1W!@5;`eY9|%r|n?g05xF8dsl&CpT_Lu-LGY*|~(} z-AOF(8dkBqJGq>^tDfvmorYHo?5k0J#|>+px-CSuHQ>Xr?6BJx-JV0SRQ_(Z8;ms_@b4f_oHA>VhH zY@hVV7Jhqy#3k&+cj-gjK7e$4nCbR&5})$u_84?)_`>idgRpO;ILGyqJ&*OWn)f*T zlz}bi45tl9g7Zk6Uu-yQ_>RPHsk z_&E|iTLC?=6WqJrW-c?}{;r{%`@28*ysA)r)NAF-wTD>N?e2iRz#!niIF*s}7VzgA z)o0XCcRVw*N|pKbS4Xe;Tfjy?BfCmyUaQnb-*tO-RMEk>)+X0#g}Mt@^fV>M%SV+|5< z9$ZXf35hF6TuI_85?7P>B8e}NSXydyreQ9?SXbyEgyPSJOwliU6pg{{B%fVO(GNHB zx#^oHVFmeVcw4%>&BJclcG7#>qgyxfG2-@bkr7MISKNv=wuhpHenNi+`QY-(de_ez zZz~xijFBwJIvcx?xR%6q#m25i1lg-3zFuLAXk#y99~Ok$jJ=(U=+_X0|M*P~PvFKH zhhPFQ4m1uj4kmFui5p0K1B+>M~#IfVjg*u#O);RAQ8!VCyBdAe4E7GBArBMMKpx5iph3`5p(bX65lB{ zt~O#8K1kyG6(`#@##ddkUFVeTyDWF$Ly<`P?|J18O_d)!%H3q##+19+xW$MoavzX* zh{O+>a((jC-KQz20iP@a556`F%U}-4R(D)ZcGwN2hWRpzJ%| zWqlN zc+_~z_=WLH<5$M7N&Jk&!z5y@c7(*EBpxI23lgzL`-;S`ON}So$~|p7WBe9b_dBNC z;~wRnB=IK_FR-k8@u74dfOLOl(!EOJ36FHILAu84zB3pkeuH=X*$=Fu`Py!0oBT{{ zZD-<50*R+cJY8&(Ofrd()(;i7hBhfo8VJ#(G^tE#62B$!EQ#Nhn6xGxTSK2C@q5UT zHFuApqE)S^Tlry316z{Up1N>j9T^zoDCjZK(n|DVg-6ZGf zCidp9X$IshRdLGsF`N=h_)wnrDY3>Fs2=BW&|K5gE)C-%br?x%BxKWLY$+pQQ|H_6 zCVP%~-n4>=c#&zb=>^jg(^Ati({fXhsn~=a9g7Lu$a*-A|- z-6DQT-^KJYM7#zfmhA3?ELCMsbVv=Dh#Ni>am6QO(>5mJH%W516S4_kcwAxHS?M@~ zB!BXQ@7PbIWZ(84ckeeHWU+O?^bSeYNUC0Jde`(GNi|4v?%Poz4`rD?GU4@KoC%vg zW=m?RCW}LSHWhJ*-8ycIL(RC2p1vJ3ea)o*h3QMvS0o{r>X1~IN&kfD8>jT^k>vc6 z*j>`?15EX0rn8XqciwV-<0swtvSHokKR#^dpz~jSW^_vb2bBHMyX-T$d){al86nLc z9yanl>$tB_R^uD!vBE{u6_b^SfDKBEDw2Zu-OYr|B;VeDnv>LmB={qcq*f#ak<_}>EV@K&e#BhaT!jlTE18IcJtD?*+m$5tZi5u{ zP{b84VzV70HakcPaf{eo4I(yIH`id0)P|(CuAj)nX0^iYZ*x6!L&S)=z8O<&dy+a7 zn;V(2J8vjS757w!xrI3hax}Lz2bvKs$R{013Wprc!R8RB96ON|aZj1}fvvpD%%Pmh z9Of;tBI~gAiGM{zzcsSO#d9y>?F=le&7Dv-!n^F1PN|CHhdV|*mC?)T%kzcaBp z(u^+x6`Q-VOzeEB!`z)^;>dC{vA#*oP_t`Yt@ihLs;_x~Q_W^vnS=?uL(S&y&Z+Pp z@2s1Ln$w_W^DuLqdAK>=oM28gCz+GYDdtp?dXm(Oq-c_QlhlW#7?S#u)Q_b8Bn>Dv zr@Pgh2{mU!&7+u_V?Amf>{N3qQ*+uwH9r6~Kg!fxNYX%$n(;-(6c_QQq^K2GlPnw@1X$VO}i_LS)b4eOTQc{JTB%2qQ@zKT-^RwpXaHmzm8h*jtaG}wYON`JH4aUspVBD zyV|>KwaxXa)}9ct_Q`!$wH*$QXnm8GOU>-XU-QdM%gJn2ZC=Z?j4#-iv#Pe7S1UaZ zdc(ZgCE-m@38ym&uXRc|#cMU=IcA6X9VX$o%sb7y%x{}_oA;Ran)jLan-7qLQ>F}( zGD*rJDVwAml17n)sK_HJztnutE#VLR=9xc)gv*$O3p^4Y$F{)mXJ@I&oD?DL(*8+Ppqna0@a>NUFILn7g%(iH~&P^c#JUlE;V3(>jJ~cd6Fj?@~9X#}5u{dQs^G?R|98=BG z05Y~zx74uIv;v zo+atIVoPsJACizM@%TUmiPti~GKe)2%kqzN>k7+YT%?s2m2;6+(_(@r0^=>oOuGq| zL`xD$$kj_oT3TXBv83YawzQ0-<&f`vY4?7mdDnZ-WtJ@HG22^@TIuIzX|*~InRjg3 zrSH#eSnbqqF3RS4mmPXx%5iEKb^WQGL3_S${rXKeh%KWn<6OcW>lAJ=u1s472|G0w|KSy_md~H^t%+sJxLpiEw5Yf=Nlw#W7?>YE7O+EmN%Icw^+7X zAmNQ9Z6axNiDkQG2b1C!lD4{~c>fBksKi@l*$a8?^Oo1F?tQ+W)VSyNDJ|2dobUEL zdjPA<@(#)#^e($*!>Da1s+H^wBu>^V3)_v?^`}(Qru=a_zM$P>t^o;OVG@4VBVlaRuo+iXn1qi$lyJpM z*y;-jTXB2nJ-39dA|$MN!zwedizP|eE`$Aqgl%qbTa{Ma#4Wa}tZI@Dk@R7)RcqCe z^btviD@?#vv(*j(TP;?r)kaboNgtE+Nr}~A^=AV9l%&u8`&??R#i^{dy+wK8z~h}> zSR6j;nT7^2PqW0CORe=#w!U}SMt^+THECVA@21zDsvM(OTKjJSTN_!MIt6TP;uP@b z$fefiESDbf)^EL6J>ChjhB)BeW31y{K|9VF zv_G=&o5+IJ`_TlA(X)TDm8{d5+NW5jTBnh8fuxHhT`IB8u+C&^zf2N#%lNNX&eqvb z@EmUimyXJ=|MmJVTb>;gzc!pOLp8EFgElOIxKUX{HQRf!Y)=MaR*}Lo?2V(sX zKGS{7j?bQ-tbDy;;!X1X#rm5|zPRcYMl###@*gedG236ZN1$IDXY;Z7+Wc(1O|XeJ z$tK$>k*p`#K(di!6UkwvlWn*->h%?9#7IC3LW9xB#1u>DS+*Up&jQljO!& zHp@*O3b^70Y^x3d+iH+p)h%FKEeP0F+g67`ay62xyMD3@&n?x0+u^pxHul_}t%K2efskp5^u|3B2KU++LCO^wiH{cEzOp08(|wsa&wa5UQDEcB)1|th~(BJqaz_C zw<)z{xFb;F|Ky0lean7xE3Ov3(Z@b9C>L=R;k_VGKq}X=JcA4a%BoD8!b6?w4+cg%1 z+ibr(SI@&(_V|Nk4}3o5_Qi7(&lgARzIMELQDXPA^LBycc#;!HPAsuYcA4etB$Dv} z#DATy?J7=XS9=S2$GPFH&Moh`ZpWdmJ;&#){DXh^|^uf2x7rai!3%U;`F$6nW7&tBi& zfaDP*BmHKOoJn#P$=M|5kUWayT$1xj?TuXWwKsDmUV9*uZ@x#qV{RngsSnj#@#?jQ zL%sG+Bp0|7ue}S@Ymd|{XON7Ks6YekC(eGcSCxWOBA$BL+55WoXgeljoFb1aw#V2p z9giouu)@->eV`rRTPv{-vJbWoA$bDH6G@&_Vjt%Bu6;PkxVM7SSmzTW_ncktny2qO z{n}GtjZ|+XCK*nAH*H(DGmCPLoN0cj5}p!+5=WryNbj;oA_~@@%j&$n=t*n;Zeok` zf2Uu2mVFenb2dxA#L}-lm!;n+<)&ZpyvIFb?Gs$`9q*LyG^Ag9t~32k@tXQP$B_L= zrr#;{srG61>Gm1+nf6)s$Lx>WpCEY#$umiwMe<`LKTb0K=1G#DA{p03=9Jo>a_e`V zDoS#20rmwFTl8$N%)h4yYKhf zFSu?P+1dSG*|QyoyvB3GNZ#@=^;Uf9b+FsL4nLATyKy+!?cRTU)XJf7s1Z>Pr9(yX zT9VflJ2Vb0$v?k~t@*C&3y)ixHo0)U+6AUu2ex;1l(W5aN>t049|iY(^^Le`nY;VH)&6hg zIvP5fuODvzG)lzGvLZb+mE>v%`)%T051y^-hO*j_KgQ7uAX! zp(MXqbHXugEgCWxvv4Obf;3!8AuA%eq ziX1pQ-dWh(RkAmC##OSbr({3JK<3o`jscEXlHVqIH_3ZS9D^K#9avfICHX^=kFgl? zN8^18vcj{o@{`Br_eoAn&dSe=NlZ)5OwNl+9v7z$EU!TK_`LjndC5sQvQu(ietK4X zetLFR$8oL$oyXNK@3>pbvj#jJPH^Bgj+Kr?M-umiBgK(Q@;;LH7vg%$0g~TY=}32s zaEx?hIB-63kmUDBexKwINIq29ykB4RAa7tyR{Y51g!J5`ew|`E4G0?$nLIW=H9M=! zkq=WAI7ScX8PhmFJu|sx*#4@8aWTVih2Y&XZaG)v80#3xc=C z(aw^SzpL{JE9tCevimQ~hK_;j+!^1&de>26jL$n3ITjDZ zDD#|gMDk~G>V{46PwQsQn>WIr5kbvb1UGBex>eJr&BEg{;}f&<#=8E9i_gt$)zW2+ zC61+WYE{pe9tHXF2^sF7EO9JxEaO(j_Ka}_X_>n{B%1qg#nn}$rhj`VlG(pK^yT|M z)Z@D~j&%^91M~0~MGj2CU$S@Y@6W)_Alh&vh#uW^Q)p~*?Ba|sIW{}CIJP>rIo@<^ zckFPyOI&ToZZ5#F*RjvB-*Le44p+Mnnc^&4 zd4EST)&k#?`~%59BA2%ql%5xnk)E0kpT?>6`SH1_$@!g{A0qMEP8OeEhacZ^e7crfp`p4&{$7ki=Rz>&hMCS|;r`EbkhUF%vrROIn<`?89 z54>@3oZ4`63q7)vk~6~b!>eUXM~S(~`N{oVQQFV>N1VDw(&+poXP+Bopv857_msdDWJI*-1b(|&n3dui{{0qsyGLIWEuZ1P%r;kq0AJ->2Cp$O4 zZ+bqnsoCon{gZR^FfEq%t6n*5!h~g;dL0#xF=ZsPU&j<=X2$1^bLWNR)J!%v_v=`Y zo{<#WtW|hm(-zI+)#qH}y2PC+aa?v>aiFVLN&bT>`Tjl3tB&hj!xG1Dj^7>ENdArF z-$}k!V%X>S({Y+@sVHB^DB0lHq zoVwnfOS{_WAD>Z>+`F1vZvLV_?#+7j*}t-X6@P^HpCtc9mAJy@H9NRBhfd_G)$--4 zmHBHqmA}qk&*uB2`26@@8oqKuPDXlOe$%F(`1tzqf+#%_8!+1Cn}GrGEK>1*eFO5d zb7BLs6Gk9v^RV;BjOEUG5IHJ2$r;Wl^pRYtZ*F#Wexc7gwWV?uo!;)KSHEdUo3=IE zg>~%~)xAf|fY>2%{Q|NIGBQ3^C{=2W_QssqKOiw9J}+-b&zP`$%+Lvl+dL$9bD`hB zn1aN_l|orO9GreIJ=TE^iS2bax1^%JD_kLZMKHT-6!b`ZNEk)vDJ})(ogs zyG~vFT}=A;WVDsiIU_!mHG;gHn46vh`=ge~c!)VEKMm#BN~30IZTFTYv($x>TqqWr z5ZH~wau9eiJbU4#uO%J!8WAvW|34j%PDT zOmaTf8mW0V6)}5?^y}I$FFy6}qsxrS_Mt@`3YCR=)^^7TTXA?NOoZy<&Rq&Mg<96C z4Yhk}&VbvqbGs%%W9cdB$%tChjoG-B-OLFO~I01*3^Y@(0X*esc?9}6$b3t5Jt~=M8 zi{Y}l0&XHVoqLjdo?FZ<;g)ePaj$Zlx!v4eZa?=9_b&H7_X&4`JIh_<{`9HjqxP}* z*nRwcs`^y-sp-?!C){VK&v>7S_;}$|pT~V>`^@#3@AHh$LZ3xGFZe9=S?;sZ=ZMc0 zpWl40`TXJYm#^qs$+xnv!dLC9_0{_teOvnW^o{oI<2%4N!FQzZSlsa*M;9OLYI~{==^pRq}DJbNr3|rlB{y zfyG~Z3I58=t%M2L|9Pe%tABN_;VQ>({&s(dj0Qc+8|B#n6TjU@{jny=R;#(b@O%;%&yC}%;b%U6Hs?aP7F?@pO}J>T2Mj6$ z3#b7a0`}d>5YPei2K~VhFpT50`CvSl3Fd%Bpa`r2FM?9A4!j07fQ{fwaE0S^@TCr4 zrq$_z5#Y6PofX)DKd1)K2VDyg2!cQ`Xam{-^hXy4!a)QW3NpY80BzvIOB_B4#OXVM zI4~SM3JSqfU^yrTD**b7dlsA?{nft$)`C~T>tHX~58eUqg7?88@DcbJdLgf>lR({u`)0cXKEfbp8na~yWw;LPxsxd}jAm`8#vfH9l%Kmiy7 z9s|#U=fPsI6u=L7>zOmJ2C#=2v0}z}&9J)}ZJNIU7>D^P!V)oK5rG8Io~03J3Yr6q z(GmoLL1zHFTOvU>FaRV0jNg(5Mt}@}K3dR6%Orro{&ul{g>}`W>ZR5ZU0NdJNTiX(_3>1M9uoA2WF9D3l zwgc=0Z-YHxA2k+H#;S zEWtUf^*H~A05geumT5wovPLV@JZF$APm6oRncBmv{x1FRYU))!IstffPnyQRQndd{?#ysYJYKD zbsyjd;DhQ)paxo?2biO(n?Vx*J5-15tHbWqr-7N^G4LdSZK}@&uyFwT7SI|*0K{Sd z`V;`)1t2a0V3PpEU_b$w51s+gMy)6i3kHLsU^qwsN#Id13&5APR)d!~t`7QBr!D9L zx&js$sugR9_oaGm4o zRs!&4-O2!VuL~R3MLgDR1u(w4Z9qHF0dxmwziv+u4KRkfXs<5Xt2+W<%yqK>Y*!aC zTXzDO1kjhd1QvoWP3Vs8qqy8Tp*FXfQs{zK+pbCJG8=$@hbpXcDpfAVlS@D;fF>Hg0XBgxU>n#2_JIT7Ab1aa08Rt+tr5o3s1b++7)PU6FbKeI zjp9H&mwSetfz;-QWfLQ?jZ}B8}5o`pz0orbXwp*a>79WDc z;0QPdz67vai$6K8r4CdD!Jr#}O1;2yq92aB-h@+r}pfP9)0znYKn1c{sK{22JOaae>#b60o z1`uCCh_9fPU^Rd)gI)$}z&fxGAclhA#~}DI2z?9s5R`#W0s0sOUj}^zP5|^Z=r@jQ zT^qCp;Q(W8JsBW|T5kr3wyNKC4kO@QAcnHfK7wjgDwDZ z5sbJ9&IgFU;K#v}06q$y3+4liF&JYE#u$S!#$b#w7-J0H4US`J=?Cn15?3zfVSJJ0BqY9wru+Xco%#I;M2CJ!5Q!^K>yla z0zZRa0sPxe1Ug^u|49aJ#5py5rAFVw*Y~lKR`R} zp9L?1ec&j-_&UJG9VGAwKs;QFiKz}<70NDV3?ywXft~#s$t3fGP z1J(iPpu;)vGq?(_fj>De)CZuwP}nXMZG@uFq3~-c`W=e64~5M_gFq-ioP{O<_$zcS zm=B%-&jGXVWeI0B7yTBfR@rAwvJ^-*&=vMm}Be1iy1!82S)~v4)`^ zVHj(e8Ng0qXg90?j0b2p?0JCp!q8qA+6()Y<2rJn3c#@);p>j@aYw{a$7C=9EC9s- z_Ia90w=C830>%`2qX{E^%BW+KW^I4M4k*7)K<=5sCIA`+}ihI7kGDp-A{9 z5-}J#28;(&0b(E$F%XFuh=kuF(M}}n6p1lKUIoxtSMB=9(x1LlJTU=dgXmVqL$ z37iM)m_IqLn-Aat?A@&rK)<@x2dJ-G2xtdF0c_C?j_C$_bn6dblWv2-P=Nk-O91G9 zw^Z;LC;>YG`WhtwJE#X51K2wX_Kpe$uy<4k0DDKFuBfqKI>0!h5dTpadlbeIg>gqM z21@|unW(*>44eRnov3fYIRK4EA&#P8pQv9rt~=W94!?JQ1XKYk0AF;6FS;9n83Y2v zarX%TcIu8;?fxbBo#T4=0TEOJ@MRAi*TVr2J3Xp{08ks$1+ZHW*sTZb)}tMO-Fm=o zJt9CFC;$_|qhJcaID0$^;IAI=R}YM{$8!L7>v4(Wdg=h|))RK?2|M+Koq9%segO6L z90_2ro|8Z!m9qpv0w*~x8u1kkJ4M45(TJ63 z^gTKYi~@N8$3?>)(KEqg0CtI<4dDOi`2c>2E(R;Xi{NFj27Cy<1c-rX#6a{pfN@4& z0lxzHFdE~G{tK7V>ViQ4e(pUD%me6S@73T{upOYj-X85`0a^j*CI;~k(*cBmo}f4A3kHCpAP!^z_$X!+fRADbz@{Bk0BqDBw&~vyM1V*T1$uyJ&3YXLUk52}GC0Ar0!1SudL!1u8jQ!K_5i!sHH z1rq?q75f}m1Ypb984r4RQedeo!OO6d;BN!9RmqgPve87zW}&5`aGjq5p#>fyV** zItYCoguV_!Uk9PDgV5JOF9F2Upe^7{@D@NU4cZI#gLeQlHdp}Y>tMvdVAMT$GMEWa z_u!|%9Du$LM&Adc--FTb!P^1q8jQLI9{>lz*WhPdhW7;$cmybb7Qh}u%)km7f{vgU zz_^BBTthIfA!vKZ2#^VKKpvO^rUB?@$Sm*#K%a)p1@i%XHDojR6#U9@L*etGAz&aF z4WPZDICkh`;7Ne744ntygQ1A2q3HY2cfkkXBk(ym2H@wRC%{SEQh+~)wFhw^4HN+M zWf=N04DAmq0;q2oY%^>RfL({Z2M&Qx0JJdd2td8V&T(8Ed>a=IB0&^@kK>@-xc&hB zj)TABV1qdHJr3iHTLy{&d=U2{cp0n(uK~0hw;R9@aR&hW5cfVn+i_(8?Z=`0xZgQ$ zxCsPKb!1&_d0O(&lVkiCw@E6A=_=3v73{YP}W6%bK zf^g6oM1dY48lc_;bR+?>lK{IVAa)XR!2~cF5I|cA@PEPrun=JE3D8TzDzFP+{0SI; z!ddV=I1es@D*$nofbk|^yonfZq6OGNRZs)e0(AlUn%EKqfe_FZbOqf3e4N-DVBCp_ z^F;JD5q(X}2Jl59`j|Kk%mnCX;v6s^JOfI>34lH&qECtFQzH75h(0A==eQ&_aDe)t z5oii9ha@4+lHl(o^dkxVNJ2l7;D;piBdISK0MMVLApmwtf?bl}k0kg$33VrHfECmP zwLv}55HtbJ0PLUq3CE@2&y+M!0LFt!pb$(4v%nMJDew}2ol`yn@OjD+@CCrwQV?S) zh_RIKz%`CbMcb+V0OLu;cv3N*RE#GT<4MJMQW0ONh_BS%0Aoq*4-i+WgTYWR93+4w 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

    ~2B%62C3VnfHDD(|oP-mebjAk4YnZ!(FR!C-r zWLC)D6grMO!|g$MMe1M%;bsv20bk?1aG8b6EL>*cG7Fbk_+(@jF0=4?$Shpn;X9B| zxcS;>z43d^ss{0bMqz85Zn3=5aw4L)T6?kv2Y zhe4=_cUhz|YA^CX%%X_ei>SRwABJKcMZB#d>Mvp@MdVpz8geTV%SzU;ku7ZFFD?e5 zqA7U=^%YfLQS}uKrzpj-U;a7zp`z7kNOSB)QJEEOhj|wLn9ulvj*Q0nMX&N7&x260 zOt`0582T;dykfOzLJL}>$71jD9`>M^bBo!*V%>0NF?|-3doev0o5~DkGmjW#U(9Mvm~B|hR??BpUJ z1u2X@C>4p>l#)-Ww`q_5O39~`+)K&5l($++ucg#gsuKel!Z1cKim^=KPt;p#8Zs<3 zi#YWCY6^^Y-v<4bcV78l>5Ht&4@HmV$0E1# z-c)(#mbU}t*YM&@eU^_$kL6ErnsZ#_3fH(9geu6YLUK})nwLpWChSgytmHtJ74lG- zxA+}*R@j2KS}`r^uPDokpYbiSsA$J3{!DiUFqmPCWDMh&z-$&Ew~9+yiC!wM$L>`; z8HD`b+M!7IM5-<){zAHr`n@X~&)SNf51C`#PJzw!F@~I@BN~6(VCAn8Jt4dRm zdnLVAnnw)gS7{r6VLvPFW-kXg%n^!9|^YOk#J%B^UF`YWryvid83iQFp7t#T)RqYJXD?4HW@wQ?N$Im$n%sq$H_ zV1AWva)-M?s7h{{@HIcti?K{#I*V~$mF*nj82YSonhRXUZdGw^mB%~_LRIZRRXb2M z6Lz3#cI-gaycD1i<*11stG1yXa<3})svq$w9q7n6d{18nFo+=xV32Ycs(r<9^i^#i@~HNJM?57l2vtu(2Gn0Y3*J|CJye%z^&*rcg0e&+ zyXw`b!3T6Jyp9Oy)4381|A7glZJWOlp`(jTW?~J@T&Myc*rna}E90 z&~J_LOhTVE>}!o#EN2yVwZ<;?u%CF2A-5XlQA5u)WK}agdaNmk4SQ8vJ+%ijjIm7MPo^NZ+PiUnoxBvK0`{qnd+O-Fj=inpygHruncg_Fjx*~x zv(9LoTgSO|{y_e9^jk-tb@p=zJ=QtSNzQN{{nqim>Rb;(bwea2IVnj^TI_0FIo8cW zHgaGNbt~~Ezv9lio46c=UQdHuUzg+SpYS!`@gwSgy(|3~h@E?VIHMTDIA$`B7#6b} zy}Z7b^_<15>ba+$y6U}x{i>&?dIbo_4C|G^Zq<`dJ@?j|!xA=dfWw^P8qSN-e^fd$ zlNEhNg^?fo8daDI=sU`;Mm4~`McIR>RV}<^9i4$hx*_01Ljv>KlLZF3N_YOTYa_FS6lsf>{Wex zRo`CKzr>Xw)F2~u_=t{pw+#j{lyS_&c@1RSUzX`zuZ9WjsD|F5Ne#1*lsnR%v5&qEC@BR!%fVjiJ3HsLiSBs z@E*=<@;~(4M88e++hi~!&}S1FHJQL%7O)!cr^#lvvXj5rhj}#7bCa9g;T{ip%+ny$ zG&TD4J1Ig_pMHGP}*n03>Sv7=4>d};a}KVnat zjzv999|fUkbB?xy(OGbBbPn7botNU2!oAV%jdpMJYgEDA(G6+FTevT}1LhTNUeR_X zx;N$(Z6~75J=)x(z2)d7#Im04m{IgWPH>v*m`k*|M9U}oc@S#$63NIwX0oEzW@>Gw z)@J#UVKckXERq_SNwemdOS7KXg=UkO$wF4LhJU%sgCNvA9J6ljoaXXx?wvO`!{#z> zKAU;Ou$W~m=OQ;zb8|JfNP+xX4_ev3R`#G(6PnSI*0{4(2i)1}8|+1^ zU-+G_^gs=*%(9iUTc;#7dT6bO*79tvkJd76{VMWkU7kqX-MTh<^m{Ert@YSePHpwr z_D7uEwm*7m`zJDM>z=lYky+antY#fM`J25Q;4nux#y>%*U4WfvXO``LraNZV&fin@ Z;*X^MUY-|!gq8V!fBygf8fv%r{{S%+OpgEn literal 109853 zcmeFa2Ygh;`agVT=CnO$d*2Nu5Q+%tfh5!bp-Gj{TMWqt0%>FuAPRWKiUkWQ3RuX7 zB49;9tbo0u0xH8-Rz#}<$0d(Q)YH%Wob#cIwfTv zhd9g;j^_kU#jL@%KO=uPw%dK

  • +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 diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 26b4980b7..f1f156c72 100644 --- a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -14,8 +14,8 @@ filePath = "../../../apps/TOH/Driver.cpp" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "204" - endingLineNumber = "204" + startingLineNumber = "203" + endingLineNumber = "203" landmarkName = "MyFrameHandler(windowID, viewport)" landmarkType = "9"> @@ -32,8 +32,8 @@ endingColumnNumber = "9223372036854775807" startingLineNumber = "699" endingLineNumber = "699" - landmarkName = "Drag(currState, peg, loc, nextState, tween, lastClosestPeg)" - landmarkType = "9"> + landmarkName = "unknown" + landmarkType = "0"> diff --git a/environments/TOH.h b/environments/TOH.h index 51a14ec50..ec5ea6784 100644 --- a/environments/TOH.h +++ b/environments/TOH.h @@ -167,8 +167,8 @@ class TOH : public SearchEnvironment, TOHMove> { bool Click(int &peg, float px); int getHoveredPeg(const float &px); - int getClosestPeg(const TOHState &currState, int peg, point3d loc); //idk - bool Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg); +// int getClosestPeg(const TOHState &currState, int peg, point3d loc); //idk +// bool Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg); bool Drag(const TOHState &currState, int peg); bool Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState, int &userMoveCount); @@ -652,57 +652,57 @@ int TOH::getHoveredPeg(const float &px) return peg; } -template -int TOH::getClosestPeg(const TOHState &currState, int peg, point3d loc) -{ - double distance = 5.0; - int closestPeg = -1; - double px[4] = {-0.75, -0.25, 0.25, 0.75}; - - for (int p = 0; p < 4; p++) - { - if (currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(p) && abs(loc.x - px[p]) < distance) - { // if it's a valid peg and if it's closer than the current closestPeg is. when there r 2 valid pegs both the same distance away from the mouse, currentPeg just stays at the leftmost one - distance = abs(loc.x - px[p]); -// std::cout << loc.x << ", " << abs(loc.x - px[p]) << ", " << distance << "\n"; - closestPeg = p; - } - } - - if (closestPeg == -1) // only place to go is the original selected peg - { - closestPeg = peg; - } - - return closestPeg; -} - -template -bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg) // i put & next to lastClosestPeg and haven't tested if it's ok yet -{ // Drag for animationVersion1 - if (peg == -1) // if in empty space - return false; - - if (currState.GetDiskCountOnPeg(peg) == 0) // if the peg has no disks - return false; - - int closestPeg = getClosestPeg(currState, peg, loc.x); - // animate in expectations that we'll go there -// std::cout << "closestPeg: " << closestPeg << "\n"; - - if (lastClosestPeg != closestPeg) - tween = 0; - lastClosestPeg = closestPeg; - - if (tween == 0) - { - nextState = currState; - TOHMove m = TOHMove(peg, closestPeg); - ApplyAction(nextState, m); - } - - return true; -} +//template +//int TOH::getClosestPeg(const TOHState &currState, int peg, point3d loc) +//{ +// double distance = 5.0; +// int closestPeg = -1; +// double px[4] = {-0.75, -0.25, 0.25, 0.75}; +// +// for (int p = 0; p < 4; p++) +// { +// if (currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(p) && abs(loc.x - px[p]) < distance) +// { // if it's a valid peg and if it's closer than the current closestPeg is. when there r 2 valid pegs both the same distance away from the mouse, currentPeg just stays at the leftmost one +// distance = abs(loc.x - px[p]); +//// std::cout << loc.x << ", " << abs(loc.x - px[p]) << ", " << distance << "\n"; +// closestPeg = p; +// } +// } +// +// if (closestPeg == -1) // only place to go is the original selected peg +// { +// closestPeg = peg; +// } +// +// return closestPeg; +//} + +//template +//bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg) // i put & next to lastClosestPeg and haven't tested if it's ok yet +//{ // Drag for animationVersion1 +// if (peg == -1) // if in empty space +// return false; +// +// if (currState.GetDiskCountOnPeg(peg) == 0) // if the peg has no disks +// return false; +// +// int closestPeg = getClosestPeg(currState, peg, loc.x); +// // animate in expectations that we'll go there +//// std::cout << "closestPeg: " << closestPeg << "\n"; +// +// if (lastClosestPeg != closestPeg) +// tween = 0; +// lastClosestPeg = closestPeg; +// +// if (tween == 0) +// { +// nextState = currState; +// TOHMove m = TOHMove(peg, closestPeg); +// ApplyAction(nextState, m); +// } +// +// return true; +//} template From 26189a1c8012e2a6fc4f363bba96e652a399d86c Mon Sep 17 00:00:00 2001 From: poopburger78 Date: Sun, 3 Aug 2025 18:53:39 -0700 Subject: [PATCH 04/13] removed animationVersion1, fixed false start thing for when computer solves --- apps/TOH/Driver.cpp | 21 ++++++++++-------- .../UserInterfaceState.xcuserstate | Bin 119957 -> 121970 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 16 ------------- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/apps/TOH/Driver.cpp b/apps/TOH/Driver.cpp index eeac86b75..71ce6f0b7 100644 --- a/apps/TOH/Driver.cpp +++ b/apps/TOH/Driver.cpp @@ -193,7 +193,7 @@ void MyWindowHandler(unsigned long windowID, tWindowEventType eType) float v = 0.0; uint64_t counter = 0; -const int animationFrames = 15; +const int animationFrames = 15; // 15 void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) { // cameraMoveTo(0, -1, -12.5, 0.05); @@ -207,13 +207,12 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) { // computer is solving if (v == 0) { - s = g; // might it be that g is the final solution, s is set at the final solution, so when getnextstate is called, it doesn't work and it bugs out? idk + s = g; toh.GetNextState(s, solution[0], g); // g is the next state solution.erase(solution.begin()); } toh.Draw(display, s, g, v); -// v += 1.0/animationFrames; if (solution.size() == 0 && v >= 1 - 1.0/animationFrames) { @@ -227,10 +226,9 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) if (v < 0.333) // disk animates up { toh.Draw(display, s, selectedPeg, 0, v); // disk on selectedPeg starts going to peg 0 (it doesn't matter if it's a valid move or not because it won't be completed anyways) -// v += 1.0/animationFrames; } else { - v -= 1.0/animationFrames; + v -= 1.0/animationFrames; // to offset v += 1.0/animationFrames, so the end result is v doesn't change g = s; toh.Draw(display, s, selectedPeg, px); // animation depends on px (cursor x-pos) instead of v (tween) } @@ -241,10 +239,8 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) int nextPeg = toh.getHoveredPeg(px); toh.Draw(display, s, selectedPeg, nextPeg, v); -// v += 1.0/animationFrames; - if (v >= 1) // once we're all the way thru v, reset everything + if (v >= 1 - 1.0/animationFrames) // once we're all the way thru v, reset everything { -// v = 0; releasing = false; s = g; // the old next state is now the current state selectedPeg = -1; @@ -254,11 +250,14 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) toh.Draw(display, s); } - + v += 1.0/animationFrames; if (v >= 1) + { +// animating = false; v = 0; + } if (recording && viewport == GetNumPorts(windowID)-1) @@ -294,6 +293,7 @@ void MyDisplayHandler(unsigned long windowID, tKeyboardModifier mod, char key) std::cout<<"s"; SolveProblem(true); g = s; + v = 0; animating = true; } break; @@ -419,6 +419,9 @@ Heuristic> *BuildPDB(const TOHState &goal) bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEventType e) { + if (animating) + return true; + if (e == kMouseDown) { v = 0; diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate index 45ebbeb527884a25bebbb5ef52143ae2937017eb..1fe286eae722187dc364812a0435bfccd2490be2 100644 GIT binary patch literal 121970 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�vxkE{CN{ZN}6ti;Opqw1$zH@1D)nq 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 literal 119957 zcmeEv2YeL8{`k(!?%nR*Uat2$2wjCFgdUm!5{h&ZdWk6q38a}zfKYS?6&s+Updcu@ zP!xMZtYGh;6a@=nM=3UJSonWu_b!D1>U+Nbd++mp@Y&1V&Uebr%(s8Pvw7vkMUl#m z9rtjE!yMswPT&ljk&`F1o*k};6qS`uY@J(?UswdcvRhY{l}~70mNzq;Um3A;Xz{un zt7Syi&~SCQpkEB=O-|&bv00V5m0=a#Ym+3-#3`JI^Kw2eiA&~ExQ<*Z*NN-Qb>X^l z-MH>t4{iiEk{iX1=EiVYTsAkB8^?|3B3va`#m(mCaC5n8ZXP$ETfi;kF6J)bRBj2k zlv~DK%U#E<9pR30#}JPMWI#qFA_>XJgcM{(3CM!1$cF65ft<*NTA-Gw6>5#z zpmWiAs3S^6T~RmG3k^bp(GYY28j41vF(?aVqe*Bo%0U;R>1YO;g^JNUG#@QM3(>{s zGIS-n3SEnCK)0cFs0Kw*En1H@qdU>P=sxrWdJ;W_wxR9lY4jp`3B871NBhw`=w0+4 zdLJD?pP*0C7wAj$E&2`}N57+!n8OHTEMp6HU?=usA8v=w!RO-haC_VVr{GSwGwy${4xF< zAI87nU-57FcYKm?1QARWVkQa1LfoV+=|nn{UZfxCPX>|;$Otl$j3U`&ESX3qkqb#K z36ml+la!GNsV4KtLUJ*=gxo}KCacJ5atm2Q){=G%3sD`&M)S#=9lp+`J4Eg`Bi)kALVQLhxsl1Bm7qWQT{RhasCN@JO3j862F7r z$?xai;os%o;}7zm@JINg{4xG({yY9h{wDzmqF@mmf>Uq_KEW?E6Iu#wg?2)Fp@Wbl zWC{a?LBe2Rh;V^0R2U`<7e)vpg)Cu`Fj<%)6bNBqx=<>V3FX2(VZN|HSSV28a$&J> zg>bEKop8OdTBs4C!bV}UaHnvWaG!9$@UXB&ctm(ocuIIqcwX2myd}IX>=X72?+EV- z9|#A9L&6urm%_KgcfxUl!C*9q2FV~BOa{eZHaHAULo-8jL!zODp^f2OL#m;Zp|hcv zp|_!rVWeS{VYFe4AFglGcqtBRVY+-C?Jjd9{*xA^{*wvV3>|@L{ z4m1ujjx>%kjyC2S3yfjobmI(Tp|Qv~(^zV(GR`(GFfKG+VZ73KmGNrhGUIaNYU3@& zsIk_#-nhZI(YV=or|~Z1ea8EZTa8Z`w;P`}K5u;0_?q!e%sv6I+Y>@M~Ydy9Rk+ch#SRC z;_c!c;{DfrLodDX}pvx{tN>@o&OV>%)OEpqds+HDD8>EfWCh1P;F6klZVQGu>l(bFS zF71+bOM9ff(p%Eo(mrXw^uF|o^r`fjbWHk6`da!)`dK<5^RgftWTR}7EwV@U%09V; z+){2Oca^)z-Q^x~n%qGBM@P%e^77MpH1tun1P-C|l} zT5G!1bepNxwApm0=|R&&riV@2OxsOQo1QVfV0y*0%e33H$Ml}*eba}gL#7{0CrrPX zPAZ(jD}o{^vXY=!6o=wb0!nkGm2$3aK>0v9sC=k=q`%=3VC9 z<~`=U=C{o6ncp{mZa!rG!u+NAnE6}t3G*-JlL;h2O0XnY6A}|zB(zLumC!n&O+wp* z^Ag%8bWP}%&^@6?LV7~Kg#HQH31bt+C5%s)kT5Y}Qo`hf+=RS@;)Iff(uA^vNWz?i zOA^!sny@J0>V#_&mL%Moa9hHriIx_YmX@}b z^DN1hE|wmaG|Onq7)zEV+cMTN&NALI!7|Y@$uilJW0`I#wUk-PEpsi^mU))TESFmr zTduHNW4YFHo#lGVD$8oiN0!elpIZ)Fj#$37d}I0E@`L4spB0)? z>aaSkUaQXk;cw>oMzB)~~I{ zt-siajkgIli_L1Y+3YsA&2MXIYh`P1>tM^UW!eVX2H6JNhS)B!4Yduk4Y!T3jj>I% z<=XOW`L+^UsjbXbZmYD-wW&60TV%V`cA0I7ZK-X8ZKG|I?RMK8w#~LXZFkx3w%ud9 z*Y=?8G27#|XKl~fp0~Yj+hN;j+i!cv_O9(c+d?iEMI}8q^Lv%_((bbXWNOuf&3~^lG$aai%jB|{4Om^frW;hBR zMUI({3P;3ojbn*psbiVrTE}&c>mAD-H#lx|tZ=MytaH>jqK?guI~{j9wm2SfY;`>9 zc+&B-<7LMyj#nM8IrcdAI*vMyIlgjy?fAy=t>Zh#amV+L9~?hAesN-_>@+zQr_EN8ZJtaF@mymPWM&pFdM%USH4 z?VRJB>#TMzbW-P4&a0i*IF~q=I#)PXI`47b>%7l-zw-g-gU*MX4?DLwA8~GVKH+@U z`JD4L=j+ZL&VA1P&Uc*eIzMoJ>^$r|;ymg+=KR6=qs!v5x@<1H%i(gmTrRiEtAi`amF()~>h9|2>hBuh%5V*K4Rd9?#=1&erLHnpx$7cVg)8E!bXB=#yXLs& zyB4{wc3tCI;#%pt$#t`9m20i5#&w5lv+GXRgRX~Muen}#?QrdMz2SP(wac~Jwa2yB z^_J@$*N3i;Tpzm*yNtZ1h?Dmai_RDx>Mbq+@0NB z++E$>+}+(h+-dGU?hN-Z_i*cdk3no$oGi7rKkxmF_C{Qui|VweIWO*SnXy zZ*bq}Ug2KpzR7)yJL=x-zSDh|`yuzk?k(=^?x)?)xSw^u=zi6`+r7tq#C_C#%>9-7 zYxg(qZ{6RykGsEj|KL91K_2XpJtmLhaeF)-ugB*Jd0KeR^_=Hv@9E%4@^tld^NjF} z^o;V1_Kfjld9poYJ>xv%Jrg`rJo%miPuNr9DfN_jsy*{O^F0eZs^>D#63;sr?(^L5dBF3a=ONF-o-Lk7JX<}FdLHvU<$2!of@gwU}nws)U*zxN&QyWaP_?|Tn;Kk$C+ z{nC5bd&GO(`@Q!E@9*A|KF%lmOg_bD_St+cpWD~W*WB0L*Ta|Q>*?#|>+S2~>+3t; zm+tH5%k&NNW&6hZ#`&iCa(oy1X8LCNihU)%i+okSg}#e@D}6WlZuYJ6t@hpGTjN{n zyVZA_Z=G+w?@r%czPo)7`?mNV@jdN(#`mo6Ip0gZ*L-_?dwp;D4){Ls{pkD2_p|SW z?-$>%zTbSm`%d~fKk^HH#c%ez{BFO;-@@P0-^$MBi&@9kAkQitkXdmbhND6cfbPIG3^b7P43vR4Xg;P4BQl`2}A?6f%Spg19t@; z3OpRx5_l@GE%0_=UtoXWoxr<+_X6(+4g@|391MII_%v`Na5V6J;D^AEfs;Wlh=Qh| z5;O-Bg7%<0=m|CtCI)*1(}F#Ny@I`ieS&?1=Lge+{eu021B1hZBZA|C+1f#)?!MlSG2e$+t2|gWs zCiradx!_B|*MfV3dxLKU4+K95{uulz_;c_?@R#7P!QX=dOfrwv@`TZ=*`fs z(C*Nl(B9Bnp|?Z(Lieo6wKVP&3?&G~=5I%`DBV z&1}tF&3w(yZFXL>_RTspOKR3}Z0pjh;^N($nM>d-oRxEM?(rkCl4pghBa`57%)T_P zb$)SfBogIpoL$8#iE>WPrScRnP&?;XTleVKJ+oUz$8JeIGJ5n#>XHc`J^FV}OUmfn zIU}=kYHC_W$L={+=a7ud@nsdWBIUXH;f%8Us*-SNWxQuU*NW?KI~U-BT!?GNHRlq! z7F7ux2~U$gRxHvG#2^{OsJk0cE9?6=lW6;fkCdoio!qXZGlr)TK*i|D-Pc;rY}0 z4eXrMzgw4q{X1o*WpwT`AjjIaZUj)fe{RM2+{n11ND=fhzNoS=tEhBFaTrQ+tjz(i zUw$Q+`Rb;taer1{eN$y+#d*0EL*h;4SiSXSS~qn?VvaS~F|lJ}YWGz5=-90Xd~f(m zimyc)H-PJK2iKG9#r5X;aDBP+xpb}{*I%`%cGaOeRhQ~kJ*rpr-2rQm$qnQNaf7)b z+y$^I!(bKs>f`DY>ND!I>hrK7FR?YT!l1GW%jS&8on15|7baJ~Rrj-BMHr^o22f)w zi;9aXi^7rdMFo|GI@plXNI94}%PQ)@>S}6WQ^pmA=VXNQs%Ff9<*+)2hfB&Tss~l% zmKWCFjgO(OhpEtAW&4USzIw!!j*DmTse1<+D<)3?V%1=bJSVt z0(G%^ow{0GuRg$L#g-K=hUW?w)ICj(HDyA6SwT3N%~x4fMSeK8&BhK%t^-OQ6D}`{ zuyMmQ!J^jH7+O@>07`puFbWT?70&!@0}69XXRya=SqI#> z^=v@ScokjijLBpV2oj=%$pio+v- zOpVH|tb_;6s;mI=z(`n(VvK=plVj}wH|o}-QA_>9)5|Kt&LVzEr74*HcT0jRex{7h^&#C`$BJTJ-11N z8I@yo&!6A1Lt;{D$Aujd=XdJfsY7B~m#zyJ#)ow$cX!Q*HN z&-Sanvhg;@RF#%Od;N>c@@GYwtSlqq&|dzm0c9oS&^2@ZXe$(dvRAn`*fx8Od!5_C z?Nrm%erkVpz;x2iP1FiY=e zOn5pxZE1cOd`UUhRDc?sJ3Bn26sU4;adCCLl>wv1>a>;3N?}oP0o2i^AjjG)-eY6> z20KFA=DRdm<6Z9k8ty$cQyrLBy**g3Du z^iKKV&K>mzKIJ}Jrw-989^$^3R#&lKMMW;`xI^5R+y)S4w4YY)wA-qC=Y8y|O-^n=D08eW&ITEy zT;qR#nGO8`!#oqi(C7CI50d<+InJNst$)m;&#*el4ftbhUn4gP0I@(GjQalZ#%+-7Ys%akFB8ORQAgUc_$Js z0I5Gbu?X0*_6$=aF;PvUVACS`O!Obcq%df)bH5jZwO3DfbXm79Dk)Lf)QXG!Yqh<# z{w-=wXqA4E{=HTDvO?{fXltF^duaC9aTBM6OD~$ImjW%(|5;*x<9{yINFC~qdVnqg zRJd4IQASo(78jL=SoBi&=&<&4Y9>6}^*r_Edzi2S89h7`c`7fmk$@jSk=y-`25EBm0n=zNr} z7ON#{sam!k^+y9x2Fg^+)reZD&i((kD~F*GY^M!ZFRDQ!)rzz3w2?Mkdg=!H$HO#4 zDZ8SqtWrgHm=sT-MeBC$JLr1(UUP!QYO_0>E_X}?pHfyH27R@xf=xW|_R6wZ;nIOc z;o<^amePa-&@3v#`7q%+B5GR}xN^9ZZH0Ee^~(}bMJoroJ+B&edCfk5 z1MPpEN_GW9&6=N1+>7(qXtTt6dCqHY*=n6CK&3WqPi4z(nk7Q}=d`Lh7ZiIzS9VVw zOOCE}WL8v^RX`(2$uRgF*pNCL?5~(ar0p;5iPxueOilbls2r=WzL{(`bM-AWEz@RI zYaPO9Y@8pY#d9H8raNf5!yrH=3sl2=(DJH4)?dxt!|epwYd5zS0$lb(aLX4Ud>jEe z;#UZ2F+&K84+w2@)B?4IfR!}Z@#(P5Gaxu+7FvR?M-QMKI+o)&@^^}3z5W+{`6o!_ zSTvq(;BjhI4Vs|NKI;Z%q;d+7%4vT@D(C#|q%zU){j<%N|7%HQoW|s$d^RO{YIO}N zQ0M*OloZ00%>1J%nLpBo7M+6qcE>-(KD0UcENZmu5+ykyyF9nDa3biZ;kkoBi>@^( zW+o$#g)13MBH?zGg+-BeiMbUsG#grCWm#fLxFj!JkvJXXc*c2CC~;lX>501Br{Q#7UsFz}VNh!bIqS_0g|M>mU|7ioJ4qRYmQ`~fLLk^7 z?nfp@LlBrz!2-jf)Dn(_eoO=vas0-DL)k{FZQ#YVWK-$)5 z4w|b{Q1Hy^rRrrGKVhm5F!0=RVD$BxcRRRUFO%1aB|6y|SqfrL5o2LsHfVEp$V{Em z>Y8<232LB(qe~EleW@woXpy?8PK8C6BQPH@750qkO8l{}Moa3NSgKxL-^6w3`bJtX zx)H5njCKWDiEctSt5>L3s#mF3Gx6^hv_=#Eu2Gl#e-Quv1PR-KHZgqNs4lHRx2wzk z5MS>Ce7)z7@b%i$;A^1SKZmbI&b0LTjYhN8>Gm<4RZhX#8k1%#VMvr1*m4pEY3&K_ewOxvabHAFmvgZIzlntR*#vJxeLMmS;k!i;hu9L$a4v| z0=U~+2;|(tJr2Q~FN4WpH-vENID42o20ZQrA`rM46IbgvSPXyTSc|;zje9@Z!nWfB z=t1-ldRV<)U9R4s-pID&R`jU09apF;|1-AZGw3OXmtADf| zSN$tE>X`J)|13w1E&N|pKH{sl1MOz3w-ddA-bB09Thuk`TJ=`8dVA4Z+Unh=uKUke zy${fbZ1oPRH8toXHTs9E_Zh6-p+8!^+L1Ql=~I~hZMFXtF=>8zrrNUlUTZg_#o_Ta zOKjctybdXyy7lPQr{91qlxey7(+g*TF>vIZaHx`W2u!qU3ag#NnD+l3Siz zJOi8zm4zh{s|5ADcAz%RX=svtCV=@v>rF}^n4Mc*9vNFvl~**&N&u+24m7H7Q33$9 zXa#Mx93L*7&APW@0BEBFcwV+=0zkWS0pOfTk)o2SVog1_ngFJ~4%6(LovQ&R$qq2d zpd-&NswgXEZo>$`bWCNVQFk}L?NGU@(`ONW!;kmgp z%1W&UfEcVpWF=mn0T371qb4@^Vfx)xUxaReyCX(H%Ol5?=YrxEu_i$I7`?oOWiorX z>~T;&7DNT`LzWjdm~jC>C+ML532oj0&`ARUbn@646-5PX0;cMP0ZV2g6y~I|@m;7H zQ;{`KfAI6n+YUilK`T}k9uGq=DK8E~-5Gk_(WcZRP+l|>8V*=3P*AK_Y;mLGT_`9` zXBEpPMoM#Mh4YFk3IO6Fy=vBXcQVcwse-DN<03F|`Gr;)%IE0i&1_rVhw|zWl+PPK zBU}oeh{cF%7wN^mHA(xR_%b`||MCgLM~tePH%}Y+ z74ZQ+HUs+y?Gm;JS~2 z2jgk5_3!821zY$hV3$75{fsb3$qJ-Jcr?AT9qIt75Is;&u%iq{!yyG?3Yv!UA?e{F zRD~9yE6{alIf#C1AkASTq&YkUZ1zb=Z+HQy_#U(meTY6rhtN0Z2lNXjSb$Up2c$6s za3UlzBt!Z_8t#SD@eoK^7=sJ&bUX_Z7OEjd;Zl4hz8NGG2w3f0Hh>rgLH(~ z@huo1rjqGo7Ac2B zgNw-(WC>YDZh!=X8nT|;K^}mlf+rxU;CVC-XV= z&#lZaWcK;2>XN*&Vy*rjST-IDoCO=O5sO%ws8!1jSCmX*&bflDd@vhL(r#*fsduZK zdarulZm43y3N~}MaEG%i!*eSqz@wHh+md>ZnyMKbu@&2NCsJM4TBoe_D7G`}BJ(gc zEj;sh^>$s@t-FdES8eqCQS4zIFo)7vpt7gKe8koP`*9+ugRp&rIE0(w=IVp$L+Zoo z7WI)0xCK)OackU0-KwdBkE)Ncb#dm$b-@PqFxUamD;WLj^gzw~(7#$Uh%@I|!!mHl z*4f)MMOlM#Xv#Bl@79?=VVzr^Qn!ImH(piqaN(qwhYLb;a7XR?X|+P;8*PX4L6dtXt zt1Q@IOkGLL8Owrv>fAN)rYB+u`?wQN!jth7JQYvFIru`Hi}P?kE>K@qUr}FGUsGRK zcc?qnH`F)PUFz;T@pNt*F2qH6CXmEpT!Kq+87^1%fE)R^`n~#t`Xj|NDK4XUF2&Up z&u5S6fW^-UPtUC?uGE}*dPvK8y2GA%dvhy_B4y0h5Y8D3>lB*|Jx)b;yjWs8QnSfa z7l$V`EKH0wK8j@wMwqX&XZ@`@s`09D6}wM@f;#?`^Jtb2XK z6dmRw-nCRfQK-P7LZM_VI{`K4AW2q5{XtkO7DJH zZgp8zJTMGjj4uU!17CtwOz|Rhulknywz_XUz6@WE7vn3`{pttm0rjxjX~MAZ^h!1y zogUSVu5Okm=?$|voH(XvMxh2AU;btI2G-5B_&Q)|%hh+(ch&dQ_tyipSd7zPi<+U6 zZLy6y4wi^n(jn$5JV)DHV{+$chGLjpf8)}a*GMD4@YIb8wd!RRun)kUR8$T|eW>ql z1fsRh$gvgFE-gk6cx??soptKL8XQ$WWP8d6w(+{>t#`5GjofEZyb0f~exx2!hr}DW z6W`0ZYw=ycvF}koRzFcct;P3oZSe!@XYhcZtDUDpbM*vk3j0+bUS@@#Y~aIlXFxKs^77AK=vOZ0rmeHH84Z#%-F~N!|b#NjH`2e7XS^2 zlof{=+6^npt64avxcvPO-wfSuDeK0I8R zTL58(jls`36FA!ujX}>i?5wK1NHx%blE&~UXKES*UFQE}!AFg2oN?@RY@xxUP8wMr zE*(+|VT%zf*o*X?`w9M3H%#iR;Sl#(4gNy?seWf3!QVl+4nB&H;jch${04uk{;Zx* ze^Gx`e^Yzp%@elC%6OjFr6mb+g;4dy>>)eP4+H~py-9wyZY+)Vxy}>{ffrr6O zh`X5@qe4IuQaiVw%ur`2h!Ps_4gu~}6&ElJ90gINW5OUlMJjQXI^GuG0n@U}*!te?s8 z5sV!(3~I-J)e91J;t@qMMa?KmqzGm+gQ5Wx1t@C%7HJ21!@2N~=aKfL185M*B!zV3 zwt?j(BldX1%5IW=q#Nl@dXO}VB#IP@%oJHEva8#7 zlis8cJZCe!n50jt?|-Z|GMFFr07a$-%BCiEkpUzF6b!)X`XB)4mwDcGrdw1IC7Dc? zJ}XSDbM8HE8%c-QtP7y4_<)9jvX)L!0!0?MtC@YQmU!W4R)Hd$RztHl#Y@KNB@V5m z-X^u1OooS?0*c=>Y;3qcCRWA?Ek!Ph+$uzF^o!yCC_CR{_={lnfd@{k>bfPy!hsd8LMct3G25(WAu!Y3iiBz8h$saglVY4Mly%YWvKyq zxsmW>_*)TX_PW_&m7^#`QSk3rrTJt5#QFh|h?4nil)mz+Jn&;C=O>jHS4H%Xh!z$N z@%we*Vk|ybC*<+PO&%4VksGOs!~@9+;?b`}CD(8rHWNw~kxR*CNd2lR3pKg6 zX))XX1IvmFfJTAX+@$s#FbNKWmLodVjNPb;=iu$ktw{0>{<);iX z3&a~(j+CcGOU2kl-h^4-MRr4kZgN#sQ9)jH zWjHd@YCX|%*uE~FL3dxSt~RYO2lr6aOD9Zw$y?(9o5v2xh?2cv5Fq=Yf&EPzxO-#A z11PzF(LFhLKXpr$U~>;_@(#fe)Q^Ilk%;c_9 zbzC_K$ioAj9#St}jAr5mW7tfZa9nay{}F~&SVC``*QD@g|ST^vp>s61Wz3zOl1R1APF zVmTs%^a12p2b_%+#CNr3y=~e^oMpsz7w_QRU}EB(JjfoSDH;>yJ=~QPW$8v?M`0Q0 zQUyA}sO!IOWi*+u@gQTgzn~&_x~4o7RSpOB3MhEI!w}yb^m!g+-s~Dak)pAhM&GCh zrfxEFDm^v4OInb-smoaV< zKJ_L`Z5vor!D4VDRsg4{9;xw_GxU90Yi#`Sd-8n%`N6~w1aT@w)1rJ|{(OpZ zD5_@U(Fa>1F)8shVju*c=w%JPh)h&WE{wOG!4G0>XYzof7gCfPG2cMij5^tORwdZYrK@dUgM>+ftT_(GCDD*iR5DI z25L|5vr*b6LU&S(M#KnZywlbET83x0@M|cVN74K!e=EbY1^*D9t>^Dzc(#Gx$Zz6r z=kMS*^LJ7N>v=Inmr$fqL@8QC(WRRJzwUwSKDZuW7F~)iV;@(rk85>2`!lF?R$Tmh zgz|qeo;}I%>?w*akK@_XaXfo2j%SNCJX;fAv6uN*8J@jD(Ump)YZP7em+;M_0V1rRgeXfpa_7ut0)38 zaw|o*)ycN}&w`D~w$R-zAl&L<)7GIegOuRbCEvB0Mo&0x7NWv(yEZ^l{_`!FEKw|u;J1b{yy@D|ZVG+Py+7xz>RCMp*4gPklL|FL0YGd z4a^q;L{VwB@7KYeeyaIGL#br_R2SwnEYiXanEG3v=X@H&wN|Ym{3-ScVXN>Mm zi=wwF+DFlTir%5<-HpNyVW;qh@TRbf**V{%=m5pwy*fy-4Q!tOofZaNxOk84&-W>M zpUG8@)7TN>)B2(C2_vZ=34lr;z@tZnPleAY`jDa@8A-J_55kYaPr}c_3E>yvSBgHR2u27J=pl-}py*4A z4uetz=aRHGAh?JY=F)|6?<4Hv`2U7Z6kAY3g24(pjsbj|M{5i=ijMsi9mn7@_<)TW z+y;-qOA!d~uy)_n8vKR;V`JY^^xeOojTu^U7DKD1tmzqJuba0Wy5N;t9@%a`p0Ixp zV`GN40Nbu9tnysS$dx}2fAZ4MD?MH<_yI)hxQ=5u&j6YFV3#*^&{)^^XVGzTtV8~U zAz_4;r5w)E!dK#E+=B4wtqO)NhVIb4p{t=AML$vWbJWm-A<&6`1c3~F4Fdsz4Cfot z4gC!L4Fe1rhD?fnp$O3EH;R6z2;xp4{shw1S{nw#1!rFwhG|v>i~)JDfqk%}$pCl% zC#(vF@jy8Z6DTGz+0-x@WK+Ww!&G)r42Q)D`X?ChI$7Ouv@0-7XJ{9u*jQtjL9zIk z&~BEYjGF&P$PFgR_ym(W` zk6*TQy?v{Ob_)P@VN=+lhE<&x7Yw-}YU(lnlEL#T8latOxKu~GMGWn*g`wRUOn4fL zGhD@39B{3J@r7E-R&E)^5PZ@qJ$7D&4!Rsdv;?1Xc63@c%1HyLgQLwde`YLM=u zXy7BG*hO(+6Co6QU|$*57}lQR4Z{J7-DmWM8EOsdb#IvAc8dKJd*VXqAc}qZ@HVr7 z-$}8zPM9Qr!L1eFfsYtKqKX=}8Xl!MNO34?c--&=#my+5aVFWSfivzOaQPUXHarU= znc*3Vo7Whgqd4)bBAMYO1H?jZG`wth#qg@(HN)$M9Tc~qxFyA{C~i%08;aX*G`wMW z6IMROu*a~M;&v2wV5--0iZ7%%{NF5+84fTy@`2%?;X}hm6rV%!xfGvAaeF4Aoz36# zA7K^CvCjUh#<_ZvTZ2HSMuxb#`QVq=&N@t~PgjrR%MbxF5@TveaGH!wzQ>~Bwi8XlK_ zjeU*%G)8Pp*BJ3YV8nHCDNQ0${tic)aj*vGX0 zA(7Vz{^=THF~!+&BrA&}Sw$Sl#%f5mK8|E_jMWUu=2ASq#yF4S34aO6E;cS=NOp-) zHByRUbtX|fxz>28@iK;FQz)MLAAn@wgf^bW3H@f*0Sovq20poZY3+6EOS0@5l3fe1 z*EL15uZFHX`qa99*WXsz?arRvU%asalHFijsUz764asuOVjtCHMB^G*660Fqt;XAo z>nP5pIFI6diVHy2-M-?!Sd7`6b+Iq=;$If(U-ULMv2_M1bozgcvu#{n1v|b@sy)0_&^o78N;~5V*deuf|VB-VE2XzVD_z1B{$%{w zc*6LL@mJ$-#@~%6MNUK_rg$O67gKx*#VW->ITlfTDaDsjd^v?26?_H7S5kZx#aG`W z@}eLb_!MrN2r`st5*5+Rr-&9f8xEwYYbd^%iePkJ4zW1mQ$X*$L=()^LO_q|U*qyjrTX7VusPkZ`=ImNd!E5r+e8E%E;KGvQ$fj!Z36DZ3Ds zu%Ir8&##xW(_-NOYL?`qWeyH0on8j(34LkVqjMpUjb-{mGfsVcjYk2YbEgiQCBSF{ zw#2i2>PFI$9jgh}eu#R6sKWY`O??XbL!^Cy)*3trMDc5pdCmqBzg7mRIRzRriY;;a zW^lB(CdY-F#dhL3;<@5^VtWzHaZxRaW;pZp;3X6q7j+RNbY4 zm*!X(H*~QSYH3qN`G3N@lG4=l{Wm#W#BQ9s`*YJA9hIf6Awf~=u z1kex8NXgR9&&aGl;RM1G8!StDtmPYWte3=F?gzoLv10-vDY`ioo-HMo!qSI)1WDV?}F)Ft-A2PP}13nr*_64!_Z-RuIzo~sV zog+p$#o=N$*j2<4;z)6nuu2>wW>LI~;?)%20xnUC*HFB6qc~O^Cyo~8 zSOni04DbJ7&W)HSPKOLhF<&eY!xY~}aSg?_wc-r1P%NT&1I6D{(hm-8Z?NA>V++47 z$C?{Q^h%9hHwZh=*Uw@FTfMAXC~NgD*Ki&u%)F$}v}yhdCiE)|!F*HXNh;yWq6i{iT} zzK7y_H;UJb%f%Z&%2)x;WPBgR4^s?|8(>f0{C7K(#oIvl5Z8${VpOc9_(sg0`kSdg0sV#ObHSJkLa_XUy4f}TBda#DNt)LBAr2%`s(%5d-0ZhavRrLGuE zpDZW0tfCP_-@ZM2GQPwLCQqH5n^)8m@~?YzOzqflYGNez)|0xFJ#n)LuX}(Q6k*Ri zMDdoWc#n85#h{byVM6)VMuY3NAUh1=6pW=G+;7}(2X^}Da7dujzUX7spjfi{fZ{Tc zwi=DIL!ws7HA9QfnCxjp5h>4+>YZyv@@*--F^7_IwYCuxIm*JnvP5T6vE2P=;Fl(E&3e}A`GT&(#)JOQe#_@nrf_%p??QT#f^J8H#W#9x_}XeY&Q{QIp$ z65%Wo-_-ImIkWFYmXm{4Encu}V9VD$5dG3?mt+K3u_^4~F&BJR@Mz}#$85tlJ+ZV3 z0+HgTSji+Mu&FyJf%~@~#kin241niy89$`ijEaMl1;UknV;*b( z!!l`sv`_-c)=u%a6n{tYaTeq-T(jD7t4?WF2Rx98>Jhh8>JP}O6ex)W{OWx{0qguQv4gm zzf*j2qqJJOMOq`Rm2QPSLpVw>CFfHDhZm&(cMHbS?F?J*pad~V_?$)pT=xZybG4fa zOw!%beGIAAO807$!AGV0r3WYxC~3to_fNM6$GA7@y4wOhKU@>aPt)%s(qpXOt1SKLRE&sBhCOs{^%xL^G(zDWY((}>_(u>kdlt`4wl$a<{C^1u#K#66O z^a}H7ORvMV6Rfa=z3dXooa`e}r}6(2K5Yr)vKr}KN^EfyXOSV&2hu@yQDUdWp?^Yz z*(+9S9G5?rzGTaGNcw^j7bWoZuylkH4<-J;kI;W39cP_<3xu9P04Nap?-|niPDkjI z-iiPgM_43$+F?ZDydf6(&D`!Delffg{kCGOQ z(0>nv9;WV8LjU)OYO-GrL634khRJSCNt>wLjG-}L)?Y_sxwYH@&{%FGx0Tz;=g8;E z=gI9UX-CO9l$=Y+d6dA<4wNK;s3s@F)e){vny5yS83w1ak3RoHqMF^O35tMYH1m6DmH|bk)mOPH_ z#K&dG(}$M3!cLSYu$>4e#hfB?*ar8F4{fTP3n(m4lXK(?Dd|DsL@&~_R?d_284CBJ zr1yUS3eNJf@ zw|_lxX#*6lkRgSOp)e$H0Sfm$%fxA-nLM8n^0mOc<2&FIxDks$jnC_)^5u1=NqI3P z{p;T9DPJYS8BR6w)szgVk(W@CaaLJNzD~XgWG(r6dAWRpe51TVUP(zNB?BoLM9E-E zhEQ_BM)_uWmAqQMMP9?mHf*y|lx(16BqbaFyJanzos%SQl5dyqkZ+-67$w6g0o)n+ ze@4i^V1$(Kmmg+mevAB|{E)USMpH7TR^B2%B5$Q6i;^-*w5<65T5}{jTZ)B@#7xqu zT^GQs7-xsU{SL=GmNXTIvl~3ijsUv3Zn8i^0$ANf>_>K(|FSa6A(|85()=i)|w`prZDWgl#g9`87^YyRo7Fq6PLaAv6z!o-z{UG_=*B;tEtm?^&20ioQt5;mz0Q+W{O4&RY zGwcH+8*@ujIW&C#)MwuXIIGF9{pHph6Cg(j8ta%Uf5-C1N?i{w1Xkj z00y}JEVcCY1`}Wn(`!JT(QkYN z8{qV2|2WQmVfqSQ5M%n%bl7ynbkuZ=!uhdeGbMLX0(;`V4W_S6->*FCx>_}Voj-Z}@bO`3@4yryM9Q_rQ?8w_bUAnc^ ze!x3Q`*dv^E-i@Pg|F;hYNxjP0leD%PN}h9`mu_AIwdzerNZ=kY@m1MSa1C618o$p zryZBrV4U4LcC8<1YPY(Pviq^2LSR&bp?2*KPo}*)JvP?VMq^b-Y^-&D9N$Hy9bYkVTLv3Bj=z42HZ z?*YXeo7ekutSkQJJ=>3t^iLV*Zp4vB`Nf$NIM(bQ^o56r~g7 z7b_i=RLX>rC!$Jc$S)=kjq@+cFILi&UhH{$Qu0)d(wh?PNS4?;F`7o{De1}}Fpw$z zl>W*9B}2(n22!$}lBX$ohLUF~d5)6jH!6dbA<6}OiZV@2N_J2JUi`BpD4%WG<89AUn0&7kDAJ)E|M70_zltxUX*8|R+JCv1!Is3ut}aLx!w)}Ka| z3xr~ggf~5&PbZ7pw3qtD>p!DFU};o&Rsn8sh>|ZDz5%HOe1jKx{aJjAH};wWC&F%0 zURQP~JC!$-HMq$EIld|JXYZur90j|3AR9Oh0=sT)6i@1Q&=XiUY-g6WO3F z8E%c+-Ex&>ngehYrB<3VO><_$qG4)7b7WTLsw}Pk@ADa^e#p@uufD(QvaT1Foac=D zzTf9Q&pHqL_5DiOW3!rBS{6P;2}wckHS~sM}EJNAL_YQq7W1!TPvVC zY@FoWi|777O>vKkyQ|vE6beqIP2)w0X;vl=%3R7A;aznkF}I-ZHpp(`L<@dpg}%(Uh%n zn_^X6q-aLGaN`cKqNSo0ex(Q`UMx}s5ii~G4zZ$*q9Yc-infY&iuQ^Qicm!u@iOt1 zh<}9m%EVV8Ua?9MuIQwQP;^#wsnU&jCGl$FLy6ZA4>6wkzq|le^k#wChj8qZpycMN(0WRAeYJ6RXO^43%5e8xV!ZR#Ey=_C*SDlK?+)I}67a@4%{3!U zWsaXld{uXXP|U;>R{oxC9+%BlVA+OSREoJQ3-RoEt$*5X%yYjfxe?iY?F^@r|7lF6Wab-a_1O4orfjY1m z=pVkN;F{&Gvstb)GM0OmQ*!u=TOT)5@=Ec>VnQhqAAVyop?pMH1;0{a9nh&riJ*MrrCw=J8kNXEXuJ#Yk;Hc;9*c*lRZ5G}%C4p<9c(eto%o*4h5UTt zaW?yZdNHA_1LG<&E%&&~VnW$aiH8kJl#P^)m6$Pl5g$!_?-FG*WpgEF4J=2}iJ$76 zlgeFIm~Of5)T5_o{{U>vk(8X7o!2C$Z}d%{0d>ny8LVuJ=uw6!+Ylc^eBWYaJ7s&q zx0(1f*4BM3Ih5f_Y{0cz*-06p?5ymfj8t}2!kztzA3!{oNCSxs~d z#RVvPvkO1?oS2IEp==UN#{b>p{CCF{hxadUWc%`FSMQ1M-^{KzO>lSl1f<6SLzKfX z|0#zOKdeX@M||A<%zw&6Whx7rBxSNPh4|sb#}l7WqD)h!v-vNP_@w`S{!`{~D&;8e zIc?&KQ|k(oyJoKreq(7Ju@-g{Zd0bj)+@>a@3Ov&zU=zQ;m&(kuQ{^uT6(jSf8SYE zj#W-@&VS1B&iO9|^Ph4O?yT~uUY7whEv7txHH31iat71TH05;SM-V@QN%SwkqFQZ8T`nys9poU5FtoUeRZ`3&)y#AgwoO?(dVSjFcOpSN21tnxW_HHiJI ze1Y)UFaA;IRa56$g31?>cbI$Yd@#Be~K>WlKHRGuOpCvMZ3^uBdUZ^r#g?*}Db zT3W6AQF&hZlk$S{qVkgRGVwEshnOED{&C`;ApS|>pIWW_8It?eDZW`;0P(X~;+p3a zA3hksTE1i0miOzs2;*LKdtcJ@R`yM@zq>Hq4p0dy+37Nsm3n|!N`s`QQWHPFNTntIX=bv!K5OJT+NiQZRw|Rqtipv1%#I6)f3`$rQ`woUo+EzY ze=jRlO-`i>@RmwU%^karf7)aDldpBVesOX-KCIBDOjQSE>w1^{SQtI|(F;-6-U#@t z&lkU|`6V1g%s^-Kmx#dEoD#(4I@`X6{7|#O_H|?o{ZOrh@ zLgL7{lw9o2)*&OlAS*E~2Ac@s?pUAXly)szG;5t4)Ra8|a^so!$oRapcCCY2wQk+4 zdF$4AyrD(Y;GkB)&Zi&TkIlOd4Qv*en9|zwNP{Xw6@jm9soJR8s@kdAt2(GcRbi@* zs&G{&;+GP?jQHimBsAbutBtB7A+s_N{@b*gTvC{=eZK-Ck^`tdKaQ)ec> zQsQwAzlr_lW+)MN;O`jX-U4L`eE7+6c00y>qxHso;+)J?LlAW;tW#fdPv)xOcbd#q zsVesUD^;2b=Pk&^uN13BsxpXQL;R~u?G=)fRijk-tdU%nlkrKmmc^<9JXFrFD<>&y zsyaLq$OP4+Yyz36nxvXc{A(n*m`hEebrK)AB<*FjNp{hi+LbX!0 zO0`<`qUt3THeZw*sMe^~s@ADqmFuZqSFKlVP`#nrsM@63tlFa5s@kS{Q-$Y#=Ckb> zd3bO;@o07zc3~ubH}SZ3wx9TSh=)_&Cm!nve5Rq8ZPSPkXY!vCf0%e|0Wz2PW5j<+ z{MW?eBG5_VPZN(tz<0!dPyCOBZ%6VM(OK17s-3D`s<&0UReMx>Rr^%?RR>h>s1B;$ zRlTQrU-g0Nkm^I#N2)T_$Er_MpQ=7n9aep=I-)wNI;Q$U^`+`7)z_-y#9t;sMM6Ci zI+Kt@LLmvuNO+Tk&q?@&L@kL;NbF8x3W-GGauT-^K0qK|CP_n5W0HE1G=ijAB$be~ zlcX<5`juoI$<0XaPT2nqyNJolZ=JhOyXWpVR``!@82r6zZ!AI7QM z+-s$`gb@1_V&lx42X1#)S#}>$=^XfN{k%2U)z#hAesUkPle5~qEbMZcke-|5F~DsV z*LGL@S)97ny_%pPKRqL_Ntf>Z@aL^z?zvO{d7L`@UTbr9Gd?%7NuTV5?ELh^u-weP zm{)I;ySk~nqeuVkuB;skaOgl3U*JPK_uBc?f^_VCo0*xNb*mvl+;x3* zACcv{fSjB751#7auJZVOdkW8SujtFi7C= zEnxP8y}9l=ZBs8%FUM({dZ`-cAHF2`6|0NX#U$_~h!u8ztzNAzWsSUu^J_t1=hyN@ z+@bY7$nMJC{*a|73SU)kz}dC>HTCQ2^(06n$Rt$4v&ia=>P!EnzTY0-3S~9I5RVo1sj;CM&Z^ZoLk}ZCiN{mri|np;Is27*jya@0%Jlo8`XhCj z`eXGc>QB|5sSm3^S05okO@f95EeSdj^duNaFp^**!AydsRDH~?->?1V`OSxZ@vROL ztRDT^$)`Q}bYS|e^H9GP{~>zyMW)|NB-lLq{Tcf8TkZEEgM1p1Ph;0ld|krz8kG9F z8hf1;tN&2{NrHm}|6&cN@gboq3AOI&V)z}ept&2-h?++rMUAA9HI+!HMnZKGYLsXy z`@O3{Ea2%@sL}cO+5HNr;>25~(Qzt`-dkR4RyF;~r*X&hwQ*~9EG|&tmQb5AjR|GV z-erHU(f#w5rY>uy7cQ#2Kw)QFRCr8a)A%zTZqqn0eUVW6PLGLujtS6U!&zuoQ`@QC zy7zKSBTZ{)SJPP2MAKB$Ow(M`Leo+csA;7MBB4GB4M=E6LL(9ylhA~OrX(~Yp*aaH zN;SbQ?P}U-+G{#+0h%zTU3MFZUDg&_k)N$5pFbg5>MTg6K?%QVZO;$o)a-X0bAC1E%T@l3@D4^{jCRQxJa@oOaX z@u+wMRIGV}dy7Fr48G9Ceqbw9&n}9ZH#KiDC2!a4AfX=#{fjj_HM>X{K*FF3TR>~} zY1lGQv!5-XW7z^)a}Wz?VPJU+Xic9NJaPD;25*FwXg<=EX+9=lFbSA#hGGq^`AmbY zAfWzXBsiZGyQ{A6d4{J=8EQL%`ci?HCHviX?`amnS>M)FtetSkWRt~5-_V~kdR42R;lK?OUYW! zbuO&snUb?TO3wTHTzK+BC0D$XwOS}yi<6ujx01C+C|PULni(XFA|coHlbsEZQhRRd zYO88%AV{>;v{>WjlTc8st*H$lVKfO7D{Mint*2$*_0`tbHqc@@H-?0MoK(=ze)c3$-ch{A7nHJym)t2*J-y&`2n5mZ|;ukLee5o=c1bZpBDbwP+zS?rW z>$|&Jg8{KqyA0gEq4!gJ_P=q{PEy+T+At=@ZCZTS7Ypi1xLtggP1&?vwB4Ng)pm92 z_tASeBw9Nd^40d%_R+>@`)d1X`)dbiW3>adgGe9}rjRg|glQy9Ct(H&Gf9|5!eb;n zUaB49mhW(Fyf%Rg&?YhYKH-t?91<3j@B&N3OCHMi0mwI($v2OLCq44Tmk3s9$7shg zNO+2b*{+{R#e>ya_jIj&R6B*Kw@?e`&Lv@9v39B!?wwDH-2Z@jpM@fy^Ujp3nt$`8l8+cQFU)Xo`PvlcvRbGE3s<}s zIdIiZ-X^tP9Z9!jsitxJa;MJJC3*QU!tkvOuz-Y(Yi6Z zvAS`(@wy4RiMmO;$t2(w(@_$Rk?;ixUy|?@315?NoP-l3d{e3`bPITzroCu`P)~(UK#-zMfw@!y-{5=Ujknm%P?seUICgt-a z{PaH{<*ktCHg9>J{VVgCNxi##wa)K(x!oT@S6DvQ?LgVLyvts(obGpZW5oHwW9?>E zIn;6FO;Uba$998)l=nELe35B!Ka=t$FDYv|-4KCJs(cSLtocTD$%?n~WQy03MR>#rnSCE+&`aGC2G3D-&ZgM>dx_=`lYRQHWr z#%EMfy0eh+ImlS_am!frW0$r>wxN`$ekkJyAmgh{#=nv1>ya^D#b3c*g=7DEy$+}M z(~AfVJ+Bu?qFmk^6dn7y zLr`zh+n{;9S#Qx>NqmIF$|P1P(cAS7XkJ7BDgS%T>jOBIzLvL+=lHi@{Ktu?mtTFR zL)?TmmikQd`no7v&%3O-@&`|(|JLc^>_bPlBt2oRjHt;$pz@UG3`1$+O0}r0}>lD?KXO--HO+)J{H>54SN3G4Ip z`OqJUh>$w>bS8YiH-FgIac+E>-2J*3URfBInwwpamDDFWuOK5o2H!JJF4K>PvL<*d z>-{hONTk_KJ=oc?KIX6!!2>wjln{S^Il zCc$m`X)N=K^>7}mpUKXIMQoXM`zl&Jt!Aj+eJ1RAXi`60@7lph@7%#jY<#C0JSu)p zU(8gzQ2)Gsk$$oM1^p8JQvEXha(xkrO-XD z{zY~stbduQIK-o3xU8%5OjzvpP{a>F#9Nq%@kUk~kBGNJ#QGiFTMQE0;w~}!flJdG zkE{3U4=^F`)9)v-J&7HP_3!8pl8EWLbHxeykp5#PB~q&D(OgKc!~ZK{iiIQ zb|Nw2e;}QH0daomEzY2ZKb-9)b{hLi{~`7T!)vfJ+%o-fls(~Hwny7m!IuwpwXIL* z{O2o%S#J{ZDgC$1&ZpTrq>FPMa+a+_BFkHc_)e(#)&-Z2J#P9*e~HZl$Mv`b2>V5` zRD71D;z+M)z;nn|gC7&|Z~EW$*Ywx*f9U_z|7G9|J_cVBdyv?Z#9kyulh~WYJ|xDF z*q6k9B=#>g@GcP>WS58yRhWnectngO;TCbyLlIZJhz(YV*nl-rtXsqe|2t)3LoGvH zM24ZZp$>_INE}>jsAs58;t&#tRoE)p(8SQ3h2J(qGiMqa%904S1x6bB$M`d}Held#L$MsI1-1G7?132Xm9A?%-#tkCjQ6S+YrI244u7&-2P+3`5_BJOV@1p{^!hq zAFngf8@i%wH}A3s%)dN&;!rQ`jC#*!w+WBH+rFN=QHCCdXs2ooy_~8|z8ACgH^f7> zh5?3H!$89z!(hV@!%)L8L!1HTOC=GDtaK7bkT{aW3=%U*%px(H#GFzC?gq1e4JmHf zj$pDK<&kaP4cW3?bRNFrP{Hpw7{)T$jw3PGBio60lOg%`lzBd=d+a4Koe1 zNE}UK#XZhpc*=maUx{J1VUA%giDO6{OX9c^!+gWjEbopd@qgfP4g+rT8p^rJdu7Rr z=wD7oG@Ui^TYHB?X6$(a2`)w1W!@5;`eY9|%r|n?g05xF8dsl&CpT_Lu-LGY*|~(} z-AOF(8dkBqJGq>^tDfvmorYHo?5k0J#|>+px-CSuHQ>Xr?6BJx-JV0SRQ_(Z8;ms_@b4f_oHA>VhH zY@hVV7Jhqy#3k&+cj-gjK7e$4nCbR&5})$u_84?)_`>idgRpO;ILGyqJ&*OWn)f*T zlz}bi45tl9g7Zk6Uu-yQ_>RPHsk z_&E|iTLC?=6WqJrW-c?}{;r{%`@28*ysA)r)NAF-wTD>N?e2iRz#!niIF*s}7VzgA z)o0XCcRVw*N|pKbS4Xe;Tfjy?BfCmyUaQnb-*tO-RMEk>)+X0#g}Mt@^fV>M%SV+|5< z9$ZXf35hF6TuI_85?7P>B8e}NSXydyreQ9?SXbyEgyPSJOwliU6pg{{B%fVO(GNHB zx#^oHVFmeVcw4%>&BJclcG7#>qgyxfG2-@bkr7MISKNv=wuhpHenNi+`QY-(de_ez zZz~xijFBwJIvcx?xR%6q#m25i1lg-3zFuLAXk#y99~Ok$jJ=(U=+_X0|M*P~PvFKH zhhPFQ4m1uj4kmFui5p0K1B+>M~#IfVjg*u#O);RAQ8!VCyBdAe4E7GBArBMMKpx5iph3`5p(bX65lB{ zt~O#8K1kyG6(`#@##ddkUFVeTyDWF$Ly<`P?|J18O_d)!%H3q##+19+xW$MoavzX* zh{O+>a((jC-KQz20iP@a556`F%U}-4R(D)ZcGwN2hWRpzJ%| zWqlN zc+_~z_=WLH<5$M7N&Jk&!z5y@c7(*EBpxI23lgzL`-;S`ON}So$~|p7WBe9b_dBNC z;~wRnB=IK_FR-k8@u74dfOLOl(!EOJ36FHILAu84zB3pkeuH=X*$=Fu`Py!0oBT{{ zZD-<50*R+cJY8&(Ofrd()(;i7hBhfo8VJ#(G^tE#62B$!EQ#Nhn6xGxTSK2C@q5UT zHFuApqE)S^Tlry316z{Up1N>j9T^zoDCjZK(n|DVg-6ZGf zCidp9X$IshRdLGsF`N=h_)wnrDY3>Fs2=BW&|K5gE)C-%br?x%BxKWLY$+pQQ|H_6 zCVP%~-n4>=c#&zb=>^jg(^Ati({fXhsn~=a9g7Lu$a*-A|- z-6DQT-^KJYM7#zfmhA3?ELCMsbVv=Dh#Ni>am6QO(>5mJH%W516S4_kcwAxHS?M@~ zB!BXQ@7PbIWZ(84ckeeHWU+O?^bSeYNUC0Jde`(GNi|4v?%Poz4`rD?GU4@KoC%vg zW=m?RCW}LSHWhJ*-8ycIL(RC2p1vJ3ea)o*h3QMvS0o{r>X1~IN&kfD8>jT^k>vc6 z*j>`?15EX0rn8XqciwV-<0swtvSHokKR#^dpz~jSW^_vb2bBHMyX-T$d){al86nLc z9yanl>$tB_R^uD!vBE{u6_b^SfDKBEDw2Zu-OYr|B;VeDnv>LmB={qcq*f#ak<_}>EV@K&e#BhaT!jlTE18IcJtD?*+m$5tZi5u{ zP{b84VzV70HakcPaf{eo4I(yIH`id0)P|(CuAj)nX0^iYZ*x6!L&S)=z8O<&dy+a7 zn;V(2J8vjS757w!xrI3hax}Lz2bvKs$R{013Wprc!R8RB96ON|aZj1}fvvpD%%Pmh z9Of;tBI~gAiGM{zzcsSO#d9y>?F=le&7Dv-!n^F1PN|CHhdV|*mC?)T%kzcaBp z(u^+x6`Q-VOzeEB!`z)^;>dC{vA#*oP_t`Yt@ihLs;_x~Q_W^vnS=?uL(S&y&Z+Pp z@2s1Ln$w_W^DuLqdAK>=oM28gCz+GYDdtp?dXm(Oq-c_QlhlW#7?S#u)Q_b8Bn>Dv zr@Pgh2{mU!&7+u_V?Amf>{N3qQ*+uwH9r6~Kg!fxNYX%$n(;-(6c_QQq^K2GlPnw@1X$VO}i_LS)b4eOTQc{JTB%2qQ@zKT-^RwpXaHmzm8h*jtaG}wYON`JH4aUspVBD zyV|>KwaxXa)}9ct_Q`!$wH*$QXnm8GOU>-XU-QdM%gJn2ZC=Z?j4#-iv#Pe7S1UaZ zdc(ZgCE-m@38ym&uXRc|#cMU=IcA6X9VX$o%sb7y%x{}_oA;Ran)jLan-7qLQ>F}( zGD*rJDVwAml17n)sK_HJztnutE#VLR=9xc)gv*$O3p^4Y$F{)mXJ@I&oD?DL(*8+Ppqna0@a>NUFILn7g%(iH~&P^c#JUlE;V3(>jJ~cd6Fj?@~9X#}5u{dQs^G?R|98=BG z05Y~zx74uIv;v zo+atIVoPsJACizM@%TUmiPti~GKe)2%kqzN>k7+YT%?s2m2;6+(_(@r0^=>oOuGq| zL`xD$$kj_oT3TXBv83YawzQ0-<&f`vY4?7mdDnZ-WtJ@HG22^@TIuIzX|*~InRjg3 zrSH#eSnbqqF3RS4mmPXx%5iEKb^WQGL3_S${rXKeh%KWn<6OcW>lAJ=u1s472|G0w|KSy_md~H^t%+sJxLpiEw5Yf=Nlw#W7?>YE7O+EmN%Icw^+7X zAmNQ9Z6axNiDkQG2b1C!lD4{~c>fBksKi@l*$a8?^Oo1F?tQ+W)VSyNDJ|2dobUEL zdjPA<@(#)#^e($*!>Da1s+H^wBu>^V3)_v?^`}(Qru=a_zM$P>t^o;OVG@4VBVlaRuo+iXn1qi$lyJpM z*y;-jTXB2nJ-39dA|$MN!zwedizP|eE`$Aqgl%qbTa{Ma#4Wa}tZI@Dk@R7)RcqCe z^btviD@?#vv(*j(TP;?r)kaboNgtE+Nr}~A^=AV9l%&u8`&??R#i^{dy+wK8z~h}> zSR6j;nT7^2PqW0CORe=#w!U}SMt^+THECVA@21zDsvM(OTKjJSTN_!MIt6TP;uP@b z$fefiESDbf)^EL6J>ChjhB)BeW31y{K|9VF zv_G=&o5+IJ`_TlA(X)TDm8{d5+NW5jTBnh8fuxHhT`IB8u+C&^zf2N#%lNNX&eqvb z@EmUimyXJ=|MmJVTb>;gzc!pOLp8EFgElOIxKUX{HQRf!Y)=MaR*}Lo?2V(sX zKGS{7j?bQ-tbDy;;!X1X#rm5|zPRcYMl###@*gedG236ZN1$IDXY;Z7+Wc(1O|XeJ z$tK$>k*p`#K(di!6UkwvlWn*->h%?9#7IC3LW9xB#1u>DS+*Up&jQljO!& zHp@*O3b^70Y^x3d+iH+p)h%FKEeP0F+g67`ay62xyMD3@&n?x0+u^pxHul_}t%K2efskp5^u|3B2KU++LCO^wiH{cEzOp08(|wsa&wa5UQDEcB)1|th~(BJqaz_C zw<)z{xFb;F|Ky0lean7xE3Ov3(Z@b9C>L=R;k_VGKq}X=JcA4a%BoD8!b6?w4+cg%1 z+ibr(SI@&(_V|Nk4}3o5_Qi7(&lgARzIMELQDXPA^LBycc#;!HPAsuYcA4etB$Dv} z#DATy?J7=XS9=S2$GPFH&Moh`ZpWdmJ;&#){DXh^|^uf2x7rai!3%U;`F$6nW7&tBi& zfaDP*BmHKOoJn#P$=M|5kUWayT$1xj?TuXWwKsDmUV9*uZ@x#qV{RngsSnj#@#?jQ zL%sG+Bp0|7ue}S@Ymd|{XON7Ks6YekC(eGcSCxWOBA$BL+55WoXgeljoFb1aw#V2p z9giouu)@->eV`rRTPv{-vJbWoA$bDH6G@&_Vjt%Bu6;PkxVM7SSmzTW_ncktny2qO z{n}GtjZ|+XCK*nAH*H(DGmCPLoN0cj5}p!+5=WryNbj;oA_~@@%j&$n=t*n;Zeok` zf2Uu2mVFenb2dxA#L}-lm!;n+<)&ZpyvIFb?Gs$`9q*LyG^Ag9t~32k@tXQP$B_L= zrr#;{srG61>Gm1+nf6)s$Lx>WpCEY#$umiwMe<`LKTb0K=1G#DA{p03=9Jo>a_e`V zDoS#20rmwFTl8$N%)h4yYKhf zFSu?P+1dSG*|QyoyvB3GNZ#@=^;Uf9b+FsL4nLATyKy+!?cRTU)XJf7s1Z>Pr9(yX zT9VflJ2Vb0$v?k~t@*C&3y)ixHo0)U+6AUu2ex;1l(W5aN>t049|iY(^^Le`nY;VH)&6hg zIvP5fuODvzG)lzGvLZb+mE>v%`)%T051y^-hO*j_KgQ7uAX! zp(MXqbHXugEgCWxvv4Obf;3!8AuA%eq ziX1pQ-dWh(RkAmC##OSbr({3JK<3o`jscEXlHVqIH_3ZS9D^K#9avfICHX^=kFgl? zN8^18vcj{o@{`Br_eoAn&dSe=NlZ)5OwNl+9v7z$EU!TK_`LjndC5sQvQu(ietK4X zetLFR$8oL$oyXNK@3>pbvj#jJPH^Bgj+Kr?M-umiBgK(Q@;;LH7vg%$0g~TY=}32s zaEx?hIB-63kmUDBexKwINIq29ykB4RAa7tyR{Y51g!J5`ew|`E4G0?$nLIW=H9M=! zkq=WAI7ScX8PhmFJu|sx*#4@8aWTVih2Y&XZaG)v80#3xc=C z(aw^SzpL{JE9tCevimQ~hK_;j+!^1&de>26jL$n3ITjDZ zDD#|gMDk~G>V{46PwQsQn>WIr5kbvb1UGBex>eJr&BEg{;}f&<#=8E9i_gt$)zW2+ zC61+WYE{pe9tHXF2^sF7EO9JxEaO(j_Ka}_X_>n{B%1qg#nn}$rhj`VlG(pK^yT|M z)Z@D~j&%^91M~0~MGj2CU$S@Y@6W)_Alh&vh#uW^Q)p~*?Ba|sIW{}CIJP>rIo@<^ zckFPyOI&ToZZ5#F*RjvB-*Le44p+Mnnc^&4 zd4EST)&k#?`~%59BA2%ql%5xnk)E0kpT?>6`SH1_$@!g{A0qMEP8OeEhacZ^e7crfp`p4&{$7ki=Rz>&hMCS|;r`EbkhUF%vrROIn<`?89 z54>@3oZ4`63q7)vk~6~b!>eUXM~S(~`N{oVQQFV>N1VDw(&+poXP+Bopv857_msdDWJI*-1b(|&n3dui{{0qsyGLIWEuZ1P%r;kq0AJ->2Cp$O4 zZ+bqnsoCon{gZR^FfEq%t6n*5!h~g;dL0#xF=ZsPU&j<=X2$1^bLWNR)J!%v_v=`Y zo{<#WtW|hm(-zI+)#qH}y2PC+aa?v>aiFVLN&bT>`Tjl3tB&hj!xG1Dj^7>ENdArF z-$}k!V%X>S({Y+@sVHB^DB0lHq zoVwnfOS{_WAD>Z>+`F1vZvLV_?#+7j*}t-X6@P^HpCtc9mAJy@H9NRBhfd_G)$--4 zmHBHqmA}qk&*uB2`26@@8oqKuPDXlOe$%F(`1tzqf+#%_8!+1Cn}GrGEK>1*eFO5d zb7BLs6Gk9v^RV;BjOEUG5IHJ2$r;Wl^pRYtZ*F#Wexc7gwWV?uo!;)KSHEdUo3=IE zg>~%~)xAf|fY>2%{Q|NIGBQ3^C{=2W_QssqKOiw9J}+-b&zP`$%+Lvl+dL$9bD`hB zn1aN_l|orO9GreIJ=TE^iS2bax1^%JD_kLZMKHT-6!b`ZNEk)vDJ})(ogs zyG~vFT}=A;WVDsiIU_!mHG;gHn46vh`=ge~c!)VEKMm#BN~30IZTFTYv($x>TqqWr z5ZH~wau9eiJbU4#uO%J!8WAvW|34j%PDT zOmaTf8mW0V6)}5?^y}I$FFy6}qsxrS_Mt@`3YCR=)^^7TTXA?NOoZy<&Rq&Mg<96C z4Yhk}&VbvqbGs%%W9cdB$%tChjoG-B-OLFO~I01*3^Y@(0X*esc?9}6$b3t5Jt~=M8 zi{Y}l0&XHVoqLjdo?FZ<;g)ePaj$Zlx!v4eZa?=9_b&H7_X&4`JIh_<{`9HjqxP}* z*nRwcs`^y-sp-?!C){VK&v>7S_;}$|pT~V>`^@#3@AHh$LZ3xGFZe9=S?;sZ=ZMc0 zpWl40`TXJYm#^qs$+xnv!dLC9_0{_teOvnW^o{oI<2%4N!FQzZSlsa*M;9OLYI~{==^pRq}DJbNr3|rlB{y zfyG~Z3I58=t%M2L|9Pe%tABN_;VQ>({&s(dj0Qc+8|B#n6TjU@{jny=R;#(b@O%;%&yC}%;b%U6Hs?aP7F?@pO}J>T2Mj6$ z3#b7a0`}d>5YPei2K~VhFpT50`CvSl3Fd%Bpa`r2FM?9A4!j07fQ{fwaE0S^@TCr4 zrq$_z5#Y6PofX)DKd1)K2VDyg2!cQ`Xam{-^hXy4!a)QW3NpY80BzvIOB_B4#OXVM zI4~SM3JSqfU^yrTD**b7dlsA?{nft$)`C~T>tHX~58eUqg7?88@DcbJdLgf>lR({u`)0cXKEfbp8na~yWw;LPxsxd}jAm`8#vfH9l%Kmiy7 z9s|#U=fPsI6u=L7>zOmJ2C#=2v0}z}&9J)}ZJNIU7>D^P!V)oK5rG8Io~03J3Yr6q z(GmoLL1zHFTOvU>FaRV0jNg(5Mt}@}K3dR6%Orro{&ul{g>}`W>ZR5ZU0NdJNTiX(_3>1M9uoA2WF9D3l zwgc=0Z-YHxA2k+H#;S zEWtUf^*H~A05geumT5wovPLV@JZF$APm6oRncBmv{x1FRYU))!IstffPnyQRQndd{?#ysYJYKD zbsyjd;DhQ)paxo?2biO(n?Vx*J5-15tHbWqr-7N^G4LdSZK}@&uyFwT7SI|*0K{Sd z`V;`)1t2a0V3PpEU_b$w51s+gMy)6i3kHLsU^qwsN#Id13&5APR)d!~t`7QBr!D9L zx&js$sugR9_oaGm4o zRs!&4-O2!VuL~R3MLgDR1u(w4Z9qHF0dxmwziv+u4KRkfXs<5Xt2+W<%yqK>Y*!aC zTXzDO1kjhd1QvoWP3Vs8qqy8Tp*FXfQs{zK+pbCJG8=$@hbpXcDpfAVlS@D;fF>Hg0XBgxU>n#2_JIT7Ab1aa08Rt+tr5o3s1b++7)PU6FbKeI zjp9H&mwSetfz;-QWfLQ?jZ}B8}5o`pz0orbXwp*a>79WDc z;0QPdz67vai$6K8r4CdD!Jr#}O1;2yq92aB-h@+r}pfP9)0znYKn1c{sK{22JOaae>#b60o z1`uCCh_9fPU^Rd)gI)$}z&fxGAclhA#~}DI2z?9s5R`#W0s0sOUj}^zP5|^Z=r@jQ zT^qCp;Q(W8JsBW|T5kr3wyNKC4kO@QAcnHfK7wjgDwDZ z5sbJ9&IgFU;K#v}06q$y3+4liF&JYE#u$S!#$b#w7-J0H4US`J=?Cn15?3zfVSJJ0BqY9wru+Xco%#I;M2CJ!5Q!^K>yla z0zZRa0sPxe1Ug^u|49aJ#5py5rAFVw*Y~lKR`R} zp9L?1ec&j-_&UJG9VGAwKs;QFiKz}<70NDV3?ywXft~#s$t3fGP z1J(iPpu;)vGq?(_fj>De)CZuwP}nXMZG@uFq3~-c`W=e64~5M_gFq-ioP{O<_$zcS zm=B%-&jGXVWeI0B7yTBfR@rAwvJ^-*&=vMm}Be1iy1!82S)~v4)`^ zVHj(e8Ng0qXg90?j0b2p?0JCp!q8qA+6()Y<2rJn3c#@);p>j@aYw{a$7C=9EC9s- z_Ia90w=C830>%`2qX{E^%BW+KW^I4M4k*7)K<=5sCIA`+}ihI7kGDp-A{9 z5-}J#28;(&0b(E$F%XFuh=kuF(M}}n6p1lKUIoxtSMB=9(x1LlJTU=dgXmVqL$ z37iM)m_IqLn-Aat?A@&rK)<@x2dJ-G2xtdF0c_C?j_C$_bn6dblWv2-P=Nk-O91G9 zw^Z;LC;>YG`WhtwJE#X51K2wX_Kpe$uy<4k0DDKFuBfqKI>0!h5dTpadlbeIg>gqM z21@|unW(*>44eRnov3fYIRK4EA&#P8pQv9rt~=W94!?JQ1XKYk0AF;6FS;9n83Y2v zarX%TcIu8;?fxbBo#T4=0TEOJ@MRAi*TVr2J3Xp{08ks$1+ZHW*sTZb)}tMO-Fm=o zJt9CFC;$_|qhJcaID0$^;IAI=R}YM{$8!L7>v4(Wdg=h|))RK?2|M+Koq9%segO6L z90_2ro|8Z!m9qpv0w*~x8u1kkJ4M45(TJ63 z^gTKYi~@N8$3?>)(KEqg0CtI<4dDOi`2c>2E(R;Xi{NFj27Cy<1c-rX#6a{pfN@4& z0lxzHFdE~G{tK7V>ViQ4e(pUD%me6S@73T{upOYj-X85`0a^j*CI;~k(*cBmo}f4A3kHCpAP!^z_$X!+fRADbz@{Bk0BqDBw&~vyM1V*T1$uyJ&3YXLUk52}GC0Ar0!1SudL!1u8jQ!K_5i!sHH z1rq?q75f}m1Ypb984r4RQedeo!OO6d;BN!9RmqgPve87zW}&5`aGjq5p#>fyV** zItYCoguV_!Uk9PDgV5JOF9F2Upe^7{@D@NU4cZI#gLeQlHdp}Y>tMvdVAMT$GMEWa z_u!|%9Du$LM&Adc--FTb!P^1q8jQLI9{>lz*WhPdhW7;$cmybb7Qh}u%)km7f{vgU zz_^BBTthIfA!vKZ2#^VKKpvO^rUB?@$Sm*#K%a)p1@i%XHDojR6#U9@L*etGAz&aF z4WPZDICkh`;7Ne744ntygQ1A2q3HY2cfkkXBk(ym2H@wRC%{SEQh+~)wFhw^4HN+M zWf=N04DAmq0;q2oY%^>RfL({Z2M&Qx0JJdd2td8V&T(8Ed>a=IB0&^@kK>@-xc&hB zj)TABV1qdHJr3iHTLy{&d=U2{cp0n(uK~0hw;R9@aR&hW5cfVn+i_(8?Z=`0xZgQ$ zxCsPKb!1&_d0O(&lVkiCw@E6A=_=3v73{YP}W6%bK zf^g6oM1dY48lc_;bR+?>lK{IVAa)XR!2~cF5I|cA@PEPrun=JE3D8TzDzFP+{0SI; z!ddV=I1es@D*$nofbk|^yonfZq6OGNRZs)e0(AlUn%EKqfe_FZbOqf3e4N-DVBCp_ z^F;JD5q(X}2Jl59`j|Kk%mnCX;v6s^JOfI>34lH&qECtFQzH75h(0A==eQ&_aDe)t z5oii9ha@4+lHl(o^dkxVNJ2l7;D;piBdISK0MMVLApmwtf?bl}k0kg$33VrHfECmP zwLv}55HtbJ0PLUq3CE@2&y+M!0LFt!pb$(4v%nMJDew}2ol`yn@OjD+@CCrwQV?S) zh_RIKz%`CbMcb+V0OLu;cv3N*RE#GT<4MJMQW0ONh_BS%0Aoq*4-i+WgTYWR93+4w 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

    ~2B%62C3VnfHDD(|oP-mebjAk4YnZ!(FR!C-r zWLC)D6grMO!|g$MMe1M%;bsv20bk?1aG8b6EL>*cG7Fbk_+(@jF0=4?$Shpn;X9B| zxcS;>z43d^ss{0bMqz85Zn3=5aw4L)T6?kv2Y zhe4=_cUhz|YA^CX%%X_ei>SRwABJKcMZB#d>Mvp@MdVpz8geTV%SzU;ku7ZFFD?e5 zqA7U=^%YfLQS}uKrzpj-U;a7zp`z7kNOSB)QJEEOhj|wLn9ulvj*Q0nMX&N7&x260 zOt`0582T;dykfOzLJL}>$71jD9`>M^bBo!*V%>0NF?|-3doev0o5~DkGmjW#U(9Mvm~B|hR??BpUJ z1u2X@C>4p>l#)-Ww`q_5O39~`+)K&5l($++ucg#gsuKel!Z1cKim^=KPt;p#8Zs<3 zi#YWCY6^^Y-v<4bcV78l>5Ht&4@HmV$0E1# z-c)(#mbU}t*YM&@eU^_$kL6ErnsZ#_3fH(9geu6YLUK})nwLpWChSgytmHtJ74lG- zxA+}*R@j2KS}`r^uPDokpYbiSsA$J3{!DiUFqmPCWDMh&z-$&Ew~9+yiC!wM$L>`; z8HD`b+M!7IM5-<){zAHr`n@X~&)SNf51C`#PJzw!F@~I@BN~6(VCAn8Jt4dRm zdnLVAnnw)gS7{r6VLvPFW-kXg%n^!9|^YOk#J%B^UF`YWryvid83iQFp7t#T)RqYJXD?4HW@wQ?N$Im$n%sq$H_ zV1AWva)-M?s7h{{@HIcti?K{#I*V~$mF*nj82YSonhRXUZdGw^mB%~_LRIZRRXb2M z6Lz3#cI-gaycD1i<*11stG1yXa<3})svq$w9q7n6d{18nFo+=xV32Ycs(r<9^i^#i@~HNJM?57l2vtu(2Gn0Y3*J|CJye%z^&*rcg0e&+ zyXw`b!3T6Jyp9Oy)4381|A7glZJWOlp`(jTW?~J@T&Myc*rna}E90 z&~J_LOhTVE>}!o#EN2yVwZ<;?u%CF2A-5XlQA5u)WK}agdaNmk4SQ8vJ+%ijjIm7MPo^NZ+PiUnoxBvK0`{qnd+O-Fj=inpygHruncg_Fjx*~x zv(9LoTgSO|{y_e9^jk-tb@p=zJ=QtSNzQN{{nqim>Rb;(bwea2IVnj^TI_0FIo8cW zHgaGNbt~~Ezv9lio46c=UQdHuUzg+SpYS!`@gwSgy(|3~h@E?VIHMTDIA$`B7#6b} zy}Z7b^_<15>ba+$y6U}x{i>&?dIbo_4C|G^Zq<`dJ@?j|!xA=dfWw^P8qSN-e^fd$ zlNEhNg^?fo8daDI=sU`;Mm4~`McIR>RV}<^9i4$hx*_01Ljv>KlLZF3N_YOTYa_FS6lsf>{Wex zRo`CKzr>Xw)F2~u_=t{pw+#j{lyS_&c@1RSUzX`zuZ9WjsD|F5Ne#1*lsnR%v5&qEC@BR!%fVjiJ3HsLiSBs z@E*=<@;~(4M88e++hi~!&}S1FHJQL%7O)!cr^#lvvXj5rhj}#7bCa9g;T{ip%+ny$ zG&TD4J1Ig_pMHGP}*n03>Sv7=4>d};a}KVnat zjzv999|fUkbB?xy(OGbBbPn7botNU2!oAV%jdpMJYgEDA(G6+FTevT}1LhTNUeR_X zx;N$(Z6~75J=)x(z2)d7#Im04m{IgWPH>v*m`k*|M9U}oc@S#$63NIwX0oEzW@>Gw z)@J#UVKckXERq_SNwemdOS7KXg=UkO$wF4LhJU%sgCNvA9J6ljoaXXx?wvO`!{#z> zKAU;Ou$W~m=OQ;zb8|JfNP+xX4_ev3R`#G(6PnSI*0{4(2i)1}8|+1^ zU-+G_^gs=*%(9iUTc;#7dT6bO*79tvkJd76{VMWkU7kqX-MTh<^m{Ert@YSePHpwr z_D7uEwm*7m`zJDM>z=lYky+antY#fM`J25Q;4nux#y>%*U4WfvXO``LraNZV&fin@ Z;*X^MUY-|!gq8V!fBygf8fv%r{{S%+OpgEn diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index f1f156c72..9bae59da1 100644 --- a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -52,21 +52,5 @@ landmarkType = "9"> - - - - From 7517eea215cdc0650d512aba8112f107d775582b Mon Sep 17 00:00:00 2001 From: poopburger78 Date: Mon, 4 Aug 2025 21:02:31 -0700 Subject: [PATCH 05/13] show userMoveCount after every move, and show userMoveCount, userSolveTime, optimalMoveCount, and optimalSolveTime once solved --- apps/TOH/Driver.cpp | 65 ++++++++++++++---- .../UserInterfaceState.xcuserstate | Bin 121970 -> 118807 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 4 +- 3 files changed, 53 insertions(+), 16 deletions(-) diff --git a/apps/TOH/Driver.cpp b/apps/TOH/Driver.cpp index 71ce6f0b7..1435e99fc 100644 --- a/apps/TOH/Driver.cpp +++ b/apps/TOH/Driver.cpp @@ -52,6 +52,11 @@ bool dragging = false; bool releasing = false; float px; // cursor's x-position int userMoveCount = 0; +int optimalMoveCount = 0; +float userSolveTime = 0; +float optimalSolveTime = 0; +std::string str; +Timer t; int main(int argc, char* argv[]) @@ -82,7 +87,7 @@ void InstallHandlers() void SolveProblem(bool reset = true) { - Timer t; + if (reset) { s.StandardStart(); //the start state @@ -132,12 +137,17 @@ void SolveProblem(bool reset = true) t.StartTimer(); astar.GetPath(&toh, s, g, solution); t.EndTimer(); + + optimalSolveTime = t.GetElapsedTime(); + optimalMoveCount = solution.size(); + for (auto &m : solution) { std::cout << m << " "; } - printf("\n[no prune] %1.2fs elapsed; %llu expanded; %llu generated [%lu]\n", t.GetElapsedTime(), astar.GetNodesExpanded(), astar.GetNodesTouched(), solution.size()); - + printf("\n[no prune] %1.2fs elapsed; %llu expanded; %llu generated [%lu]\n", optimalSolveTime, astar.GetNodesExpanded(), astar.GetNodesTouched(), optimalMoveCount); + + } void SpeedTest() @@ -215,13 +225,15 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) toh.Draw(display, s, g, v); if (solution.size() == 0 && v >= 1 - 1.0/animationFrames) - { + { // game is solved s = g; animating = false; + str = "Optimal solve is "+std::to_string(optimalMoveCount)+" moves in "+std::to_string(optimalSolveTime)+" seconds"; + submitTextToBuffer(str.c_str()); } } - else if (dragging) - { // user is playing, dragging a disk in animationVersion2 + else if (dragging) + { // user is playing, dragging a disk if (v < 0.333) // disk animates up { @@ -233,17 +245,42 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) toh.Draw(display, s, selectedPeg, px); // animation depends on px (cursor x-pos) instead of v (tween) } - } - else if (releasing) - { // user is playing, releasing a disk in animationVersion2 + } + else if (releasing) + { // user is playing, releasing a disk int nextPeg = toh.getHoveredPeg(px); toh.Draw(display, s, selectedPeg, nextPeg, v); - if (v >= 1 - 1.0/animationFrames) // once we're all the way thru v, reset everything - { + if (v >= 1 - 1.0/animationFrames) // once we're all the way thru v, reset everything + { releasing = false; s = g; // the old next state is now the current state selectedPeg = -1; + + + if (userSolveTime == 0) + { + t.StartTimer(); + userSolveTime++; // to prevent the timer from restarting + } + if (s.GetDiskCountOnPeg(3) == numDisks) + { // game is solved + t.EndTimer(); + userSolveTime = t.GetElapsedTime(); + + str = "Congrats! You solved with "+std::to_string(userMoveCount)+" moves in "+std::to_string(userSolveTime)+" seconds; optimal was "; + SolveProblem(true); + str += std::to_string(optimalMoveCount)+" moves in "+std::to_string(optimalSolveTime)+" seconds"; + s = g; // set s as the solution state, because SolveProblem(true) resets s to the start state + } + else if (userMoveCount == 1) { + str = "You have taken 1 move so far"; + } + else { + str = "You have taken "+std::to_string(userMoveCount)+" moves so far"; + } + submitTextToBuffer(str.c_str()); + } } else { @@ -421,11 +458,13 @@ bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEve { if (animating) return true; + if (s.GetDiskCountOnPeg(3) == numDisks) // stop letting the user move disks after the game has been solved + return true; if (e == kMouseDown) { v = 0; - releasing = false; // necessary? + releasing = false; s = g; toh.Click(selectedPeg, p.x); } @@ -436,10 +475,8 @@ bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEve } if (e == kMouseUp) { -// v = 0; dragging = false; releasing = toh.Release(s, selectedPeg, p, g, userMoveCount); - std::cout << userMoveCount; v = 0.667; } diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate index 1fe286eae722187dc364812a0435bfccd2490be2..a601d0bb634916ae44b0759b2edf086adc20db87 100644 GIT binary patch literal 118807 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

    oE&hK*Vt+uuHWU=?RR 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�vxkE{CN{ZN}6ti;Opqw1$zH@1D)nq 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 diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 9bae59da1..b3be2a91b 100644 --- a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -14,8 +14,8 @@ filePath = "../../../apps/TOH/Driver.cpp" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "203" - endingLineNumber = "203" + startingLineNumber = "213" + endingLineNumber = "213" landmarkName = "MyFrameHandler(windowID, viewport)" landmarkType = "9"> From 89378ece8e6f4bd072b4ca7dc670504d2685d61b Mon Sep 17 00:00:00 2001 From: poopburger78 Date: Sat, 9 Aug 2025 18:40:15 -0700 Subject: [PATCH 06/13] removed "u" key command --- apps/TOH/Driver.cpp | 74 ++++----- .../UserInterfaceState.xcuserstate | Bin 118807 -> 134322 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 50 ------- environments/TOH.h | 140 ++++++------------ 4 files changed, 85 insertions(+), 179 deletions(-) diff --git a/apps/TOH/Driver.cpp b/apps/TOH/Driver.cpp index 1435e99fc..c16cd4fde 100644 --- a/apps/TOH/Driver.cpp +++ b/apps/TOH/Driver.cpp @@ -44,8 +44,7 @@ TOHPDB pdb4(&absToh1, goal); Heuristic> h; -int selectedPeg = -1; //idk -int lastClosestPeg = -1; //idk +int selectedPeg = -1; bool recording = false; bool animating = false; bool dragging = false; @@ -75,8 +74,8 @@ void InstallHandlers() InstallKeyboardHandler(MyDisplayHandler, "PDB", "Value-Range Compress PDB", kAnyModifier, 'v'); InstallKeyboardHandler(MyDisplayHandler, "Record", "Record a movie", kAnyModifier, 'r'); InstallKeyboardHandler(MyDisplayHandler, "Reset View", "Reset camera to initial view", kAnyModifier, '|'); - InstallKeyboardHandler(MyDisplayHandler, "Reset state", "Choose a new random initial state", kAnyModifier, 's'); - InstallKeyboardHandler(MyDisplayHandler, "User", "Let user play", kAnyModifier, 'u'); + InstallKeyboardHandler(MyDisplayHandler, "Solve", "Find optimal solution path", kAnyModifier, 's'); + InstallKeyboardHandler(MyDisplayHandler, "Reset", "Reset the board", kAnyModifier, 'n'); InstallCommandLineHandler(MyCLHandler, "-run", "-run", "Runs pre-set experiments."); @@ -195,23 +194,24 @@ void MyWindowHandler(unsigned long windowID, tWindowEventType eType) h.heuristics.push_back(&toh); h.lookups.push_back({kLeafNode, 0, 0}); s.StandardStart(); - g.Reset(); + g.StandardStart(); + setTextBufferVisibility(false); // SolveProblem(true); // SpeedTest(); } } float v = 0.0; -uint64_t counter = 0; -const int animationFrames = 15; // 15 +const int animationFrames = 15; void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) { // cameraMoveTo(0, -1, -12.5, 0.05); // cameraLookAt(0, 0, 0, 0.2); auto &display = GetContext(windowID)->display; - display.FillRect({-1, -1, 1, 1}, Colors::white); + display.FillRect({-1, -1, 1, 1}, Colors::white); // background - toh.Draw(display); + toh.Draw(display); // pegs, base + toh.Draw(display, str); // text area if (animating) { // computer is solving @@ -229,35 +229,38 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) s = g; animating = false; str = "Optimal solve is "+std::to_string(optimalMoveCount)+" moves in "+std::to_string(optimalSolveTime)+" seconds"; - submitTextToBuffer(str.c_str()); } } else if (dragging) { // user is playing, dragging a disk - if (v < 0.333) // disk animates up { - toh.Draw(display, s, selectedPeg, 0, v); // disk on selectedPeg starts going to peg 0 (it doesn't matter if it's a valid move or not because it won't be completed anyways) + toh.Draw(display, s, selectedPeg, 0, v); // disk on selectedPeg starts going to peg 0 (it doesn't matter if peg 0 is valid because only the first third of the move is shown) } else { v -= 1.0/animationFrames; // to offset v += 1.0/animationFrames, so the end result is v doesn't change g = s; - toh.Draw(display, s, selectedPeg, px); // animation depends on px (cursor x-pos) instead of v (tween) + toh.Draw(display, s, selectedPeg, px); } } else if (releasing) { // user is playing, releasing a disk - int nextPeg = toh.getHoveredPeg(px); + int nextPeg = toh.GetHoveredPeg(px); toh.Draw(display, s, selectedPeg, nextPeg, v); - if (v >= 1 - 1.0/animationFrames) // once we're all the way thru v, reset everything + if (v >= 1 - 1.0/animationFrames) // once we're all the way through v, reset everything { releasing = false; s = g; // the old next state is now the current state selectedPeg = -1; - + if (userSolveTime == 1) + { + t.EndTimer(); + userSolveTime = t.GetElapsedTime(); + } + if (userSolveTime == 0) { t.StartTimer(); @@ -267,20 +270,15 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) { // game is solved t.EndTimer(); userSolveTime = t.GetElapsedTime(); + userSolveTime = std::round(userSolveTime*10); + int timeDec = static_cast(userSolveTime) % 10; // tenth place digit of userSolveTime rounded to the nearest tenth + int timeInt = (static_cast(userSolveTime) - timeDec) / 10; // integer part of userSolveTime - str = "Congrats! You solved with "+std::to_string(userMoveCount)+" moves in "+std::to_string(userSolveTime)+" seconds; optimal was "; - SolveProblem(true); - str += std::to_string(optimalMoveCount)+" moves in "+std::to_string(optimalSolveTime)+" seconds"; - s = g; // set s as the solution state, because SolveProblem(true) resets s to the start state - } - else if (userMoveCount == 1) { - str = "You have taken 1 move so far"; + str = "Congrats! You solved with "+std::to_string(userMoveCount)+" moves in "+std::to_string(timeInt)+"."+std::to_string(timeDec)+" seconds"; } else { - str = "You have taken "+std::to_string(userMoveCount)+" moves so far"; + str = "moves taken: "+std::to_string(userMoveCount); } - submitTextToBuffer(str.c_str()); - } } else { @@ -291,10 +289,7 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) v += 1.0/animationFrames; if (v >= 1) - { -// animating = false; v = 0; - } if (recording && viewport == GetNumPorts(windowID)-1) @@ -321,19 +316,24 @@ void MyDisplayHandler(unsigned long windowID, tKeyboardModifier mod, char key) { case '|': //resetCamera(); break; case 'r': recording = !recording; break; - case 'u': - std::cout<<"u"; - g = s; - break; case 's': { - std::cout<<"s"; SolveProblem(true); g = s; v = 0; + str = ""; animating = true; } break; + case 'n': + s.StandardStart(); + g.StandardStart(); + userMoveCount = 0; + userSolveTime = 0; + animating = false; + releasing = false; + str = ""; + break; case 'v': // value range compression { goal.Reset(); @@ -458,7 +458,7 @@ bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEve { if (animating) return true; - if (s.GetDiskCountOnPeg(3) == numDisks) // stop letting the user move disks after the game has been solved + if (s.GetDiskCountOnPeg(3) == numDisks) // stops letting the user move disks after the game has been solved return true; if (e == kMouseDown) @@ -468,12 +468,12 @@ bool MyClickHandler(unsigned long , int, int, point3d p, tButtonType , tMouseEve s = g; toh.Click(selectedPeg, p.x); } - if (e == kMouseDrag) + else if (e == kMouseDrag) { px = p.x; dragging = toh.Drag(s, selectedPeg); } - if (e == kMouseUp) + else if (e == kMouseUp) { dragging = false; releasing = toh.Release(s, selectedPeg, p, g, userMoveCount); diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate index a601d0bb634916ae44b0759b2edf086adc20db87..a276a92b2f789b38a209fa0790a64fd7e65b74e3 100644 GIT binary patch literal 134322 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 OmW%mZ|K{_*_ti#vLy!sp literal 118807 zcmeFa2Ygdi|37}uId>&DX;!lnD6*CALCc1gQQ4HeYG_kh=%Q&^GVVbXM8N@yvZO5= zMa4bAh2j=)4-^-OdvE`rbCYyXhWhyZJhnvgIp`;_~P`yBB|Kq8WmjC4qk6l6d~6oX92j4a5CY$z7lQ5$p~YKz*T_NX&D zA0?q=l#Vh`cQgQdG#HIUqfj0ijV7W=C?8#fiqLd46P2R*=wh@0EkujZQnVah zj;=zh(M@PGszr6E9&JIp&~9`qx(z*u9zqYJeP};=1U-qKLeHY-(Cg?8^d@=>y^Y>M zAD|D>3G@m28hwMlMZcpzFozMwSdUHEhGVe{yKzU{33tZl;|p*XoQP9!Do(>aa8KL| z_r=+G03L{k;$e6!9*4){DjdSqxCYP0bMRa|56{OJ;{|vjz8tT>SKur0N_-<;hu7l` zcq86~x8SXK7rqnUh404q;Cu0X_%ZxAegeOa-@tF;xA5Ee9efnOi{Hb?@cZ~Nm$xt$k3@3SHG#O7OkbH6xDI~?D zgp`viGMCIF3&=vUh+I$Bk{ig4WF1*gHjs^E6S;|OCR@mEax=Mw+(qst_mF*LKY4^a zN}eUpk>|+^$!|R31zzO!yuzD!GjHMDyodMl zZTR!}6h4(t_?!40{H^@m{Qdj`{Db^{{t^BO{viJx|2%()Kg=KD zKjlB;Kj**TzvRE-zvjQ;zvaKx`oF}vuItmvEU4(cc zUC0o+3f+a?!XRO|kSB~2#tV~$LLn#=38g}ruuxbeEEZIO3QL4bgk{2VVU=)|uvWN1 zxKY?G+$`K8>=AAiZWC@7_6m0k4+#$oj|)!-F9WNBr#1)7srTW#c|?zae_EeoFq;b zr-)OMz*SDGiymoAnTNDHM!(qicnX@zu!v|3stT_#6Id8>GwCU8ozZ8?MXKP0~%)73zYzGF`c@LPvE=beHIs>Mqq?rdy_4 zuDepVTDM-eLAO!2UAIHGQ@2aEN4HmZzwQCuW4gz6&+4AjJ+FIL_nz*U?tR?{x({_9 z=|0w-)P1e{M)!;ESKV)VNiXYldc8hIZ`FJBUcFD>PTyYNS)ZiurSGTD)(_MV(ht!O z)sNJV(vQ`T(@)ap>kIVL^)vOe^fmg~`bGN1dR2d!ewlu){s#Sx`gQvC`VIPx`dWRR zeusXi{&xLd{T=!{^#}A%>Yvgd)IY6%M*pn-IsHre*Yxk`kLpk8KhdAmf2#jd|E>O4 z{cj4V@QSSH6uaV9JW4C2wbEX>Kh7*QQ3?~hr8a^|8Zus8tgW*TR?}k5&I-}mG7!5|VG1llZ zwlcOewl}65GmKr0nZ_(*H)D5WZ(|?hAY-oaLgOf7o^iBsjB&cL*jQqmVVr3!HI^C6 zjn&2)<6@&~q{b!2%Zw|G*BVzF*BCb#HySq?Z!_L*+-tnUc&G6$eUS!^NN&97AHH7&#^;#uVd>amBb}E{N$8 z6CaZhlNgf}lN^&0lNpm0lO2;2(?4cF%!M(-V#dadiy0p?Ic8c+QOxw1#W89Ojad?N zNzBriOJgpJSr)TA=JJ@8F>7Kr#B7Y&6tgX6d(4iQy)k#h+!=FM%zZHr#XKByAm&Mv z#bh@*OdgZh)Y=qhYG-P1>TEjSlwe9UrJB-AnWijLPg5^bKU218plOh4h-s*4q-m6C ztZAHSl4-K(B2&N=G!>ard6hEO{-07 zO*fb}m^PYfO?9SirtPMErv0WzOplr#Gd*s4!gRp&r0FTsLDO@lBc_*4Z=2pR9W{My zI&S*f^o{9T(|4wyOuw0aH;ZP;+}a#xZeu>r+}7OA+}_;5+|k_0+}Rv&PBZr~_cZr1 z4>ISPFEkG}4>#wTCz&Uk3(Z0ELh~Z?VzX+d<|XD!%uCIenlCdiGhbo8*1XQV-n_xQ z&Ai>b!@Sdci}`l*edhbk511b`KV*Kwe8BvU`Kb9_^LyrF=J(AXm_IasWd7KE-2AEe z8}qm3U(LUnf47Jh$s${<7Mms3Vz;<0eoHG$YfDES{7LrTb5atTQ*y2Ep?W9%NEO4%Qnk) z%MQy<%Pz|v%UzbcE%#XVS@v5Vu{>jW*7BU?dCMWoE0%XGM=kGK-m@IDd}29iC05=l zSVgO3m909f-l|v)R-@Hoby?%AZLH^6yIA9`3D!hws3Pkb(VFmRkc#<66=-LmDW|(tE{W7Yppj~H(P71b=F!`n2^K>$BG9tS?z#v%YS9!+Om6zV!p^=hiQ*Us}JierNs3hHThI zY`o22GuqnQI@mheI@vng&bM7)>tc(yCD;;eskUymezt5|j%|o-sBM^SylsMQqHU5b z-&SBNw3XV*Y?sqVY|Y1rER5cmF+6qYTG(novq%s#kR+GtL--1?Y6sY z_t_q?J!*T*_PFf{+jF+(Z6Db_wjH;fuzg}XY5UanneB7i7q%~L-`ak${Tj>13bA6W zIo1+ujkU!(W4*C$W81~HkL?hf5Sth~Fm_OEZtR7zgJXxp4vifaJ3Mwo?8w+Lv6Ev9 zV}r3pvE{K9vGZc*$6g$}AXbfC8hd5z%Gj;3+hVuJ?ugwPyDN5g?9H*a#O{f`HTI6! z`(q!CeJu9z*ym$kh!|l`U#r6{W4Es!bslCiz zZm+Oc+Gp8o>7W)(S1NJBFPuUOJpSC|^ zf7bq-{dxNf_QUo!?8ofy+dr^>YX8jsx&24`Pxhbfzu5n95QpM0INCYdJ32TzIyyNz zJI;4p;OOFrcO*Dc99fQTj((18M~-8dW4L34W29q@V}c{#nC2*O6gq;AGDo@NGRHE< za>wP46^<($S2|WYRynS6T3G5MqT{&ZgyR#(Nyn#-&m5mSzHof$_{#CM<9o+%j^CZ4Q*z2qv(w_VI(<&Rvz4>8 zv#qnEvy(H)ne5DUUg#X`9O4}69OfME9N`@49OcY&j&n|R<~uKP7CTFvGo01V8s}{1 z9OuQ(#m;5U<<85UE1Xw2S3B1@Z+70|+~d5}d7JZg=U(R>&O4oVIq!Df?|j7hsPi%B zGtOt7&pBUqzT$k<`JVHb^L^(B&g0Hcou4^BcYg2u!DVupT^5(sWpl;4>@J7P>2kT; zF2AdttG%m(E5ViMN^)hovRvI3+-ot@}Io_wFCuKe~T%|Lp$7{j2*o_wOF;(RnN$tH~c< zpD))p(l^SN=bPf2>dW_CreKl_*4C9{&atqzo);CKifaRpX(p)AK}mQ zm-uJ+XZlP1W&U!1g}>52%U|UW`K$dk{@MOH{<;2({mcBz{g?Y!_^0jwzaxt8VGjlf1F>Y91 z!pz{j&_wtfu@#MNS5O)Vh3Ys9XH~IE>bO|W4tg{CMorB(x6AC?wSPuVQbv4cPG)9& zT7P)U?3bDqpOc!J(?2yiIV&frYrZ))H>dx&imI8R%0NLdr=p;yELdJ0ZP~-M<+|+P zyqu5obFH}6TpZViJ5Lo>8%4d3$DeV^tLurPBgcxzVcf&925Yt(k@-Ip6F{ic5-1?wSm5 zNg0{&x#>4ubS<*DY_7{rt{c~#>%sNpdU3tEK3rd}pK4L9s!fem?W#j{sxH;N6V{+V zH-H<+4dQaS3t?4;z$$pu2h<1EN7cvFCtyXMVrycCPURI>%o!G#T{1lYlN)~2@U?GM z5T@7yxyDqNl$KPN1ViIW3ag95*>cN6m0+^0sA|mCP*Te_d2C5=PEK%I&GhN89A?|l zU|B`gyn$7L%HqbS(LOY^Fa?_HUsw{UH#++9T#)N>GdF>o$W7uVb5ppfTt0UZ7vQFG z1ze%(Reh>oZKbwW>9o0^1 zraDy3S7)jV)XUVX)phC?buXJ0OJ1-P#uY4V7)`!8aeP5VVK9NsS4B-#K`^q-#^fe6 zWJ(wntgHyJe#11uqBfKmTvFX6mo{=R@D8l1sHqIM1m<8U(E1Do`c+iSEDKc4%s01f z$T6&IEu1SjH{qF6UOL@oJiyu4b_1XAH6b+{!?CVX!c_I#?DO4U8&G zzynH3gTsJLjR;g%!$9+@tAIT)78czQMO6@LfznWtRUGZ$ zHQZ{>QOjMcCe(6k)I`R>O{`*#|Mk`S5Y2i6w~p&l%iX9Z)pG0AWHn`UamDnM5r??V zTrF3})lUqIg>vZV`0z)zaJFH2Lu;xT_sl5)E>=+#~izo4bd*m%ERS$PvU=zS#-s8ikFn3Y3RR;F%^XVEoRU zeghj;C6b@**YL_l>l{^6UJmv3E3GJ)8EUbzjEO^i1v9fN$||90=E%`jC_1udxEI+r zdzO2Sd!Bni?W6Wp`>EMmxR21i>$qZ%&3>g95XIx#hr>1Er<&qP1j?7!&5LY*va(N(-TkHU;_S zR?!xl^EcQL+BQF=VU0Jrw`;k#)c)##ywSr4h4;X_+c}~OPlM=TjILR|c@+TvKw?DmUV!3(*`qG%^jegl7N51u zAq71L8E-fh!G6dXL^Wn2$M`perWub1|)<2y;-#jgUboIdOvB?=ZV@Ef( z0SGK5qw#B#CP&Y!42HT!n#&)Xm!F#4m`|IzJb?V=({l@9`b&yR0G>xzwg>9Vc4bf0 z3-v~Q)KaxfEmteHpnfPD<)Hp*r5aMJ)w%!AcI6N>jP10c>a1EcT&+6mP8)8)<)?0- zzaMfT>qb{qR8*^Ir($q=+qCO=L6@*z{<1N~WVTpsv35s91)p3|83cW`qKZvC$oA@r znZfb_CBf3dFqYCl0%#Uh!2+1@Fd=GN7Nl~poNbN5el^wA6;Os@!^UL^sj`^^-JVy) zLoTD+(?t8kIVHs~B{R-7B^M93pe3hJzt#3Hi4Sc~Ty>J^kgU_kjIIn+7f%5FG&pw< zXwmhG!N@T37fIq0tJ6y14zHew6vf=DJvCo!xO7N#}C6lyn*ewS(}n9^7CE5gP}Fl>pdDDj-a3 z9`_yubsgt^U@#g2x+INSe5m~?6yZ6AA`+r&T!unim#wHARiH}lepIC{R2Qj>LBUhE zqG}-8c4!Wot5Q(#jOr!oQca#P)dvK4pb`XqqvqWa9yen023QhiJHyKX_LMLY24;iy zXV2L`%xS}#byNvzqJ*Qxh{C?qlyI~}UDBY!qDv8&510yjMs+1R>=o$BhALL7mo`>$ zHM*vm7L3-Q8=0WJ4qcDdq8rp@>T>mRbp?Ze>(K@c{#~J7`Tqd^{RtMf6>Vqqx=meK zi*~51&PlH~1HJA!7rkBu(%Ntey>^cO7wPr6$MQbDS&FgPT^?Vn*5|eB$SBu%3gy-* z2F+wLc3KsaHfD4Pnasx1kknhx4EyX^sKFXrrvN93Ehr5J%7GGVD&s;GWkI0G!k`&L zX@`?hAj|$T5U8wkJ8Knq?2SC0c+oI;=r=+wEVB{5#I=DhW&&T^Ml&s9Y^FVA>M(X% zX`pyoDI|6>Mk{{1_IyabpiRAE>jENmObB2CGk_F<**Aux0)n9Z&LIa&{4pu4$8Aq4awSTc@)EPWGf z04KQ5L6&|GD);ZeB?JiZw1HCNhrmuy4*>FKpm7kqIR)ft1*$?9pTarPPT?F&qa<`Y zx|wnw(bUsQvltM@!Q%vSFO^dfo*9a7h;8`O>JCboJnqgS-m zyGh;rpRsyJ(R*z5-c@UB(J{5|oU8W{tlsf+tzP|bi}1)PZ0)A{e~GQNzO=u3-n?7Q z8IsB7bhnCY*Wvswi76SG-Fx=U9+*3L=*YZr6DCg$6ciQD1heGqxfd^_mt3}d#g(hB zUVYsS>ox-0I4yXYFlhL|lsHgOvNdivrUraGA+v$u3u{Ye*qX*AuXq}GrL2o}0QRv@ zDGO8vN~eRnqq?{(WY$4Bmle2GYwDk9odMZA{w<2Z>l+=YtPG8*s+m?Ylkq!q>u{zK zy-H#rQ=7I>*LmZD<+EAyjG3C-hch@2TKhwWj-4Sxr-`AGvYJxOP+$hmYQ7+xr`1<4 ztb;u9R>+e8+WPF0s)};vzzjj2q-53`^>8cqW{oMQrnCN}jhj(3J%6~wPoB^!* z{^N>+a|6>W%FQC=7!=Nt7k6n6ZK|*P` zV4F3zHzA?C4=Y$PAygii8Jt#9RR}p|g^T8Wv)c_hLN!pddTaZ(7x9qRq!WoJ$s~*PA_K_~GJ=eS zV+>PB5t&IU;qbyDvW#3wR*}_kXrUI4E9@kD;h@5Ua8Th1IHGWvyavY;-X$l<=j1E$ zGx>v;;YfmsxASp)TfPII2nP_l^EszrkzLKP2tPC`%}%1vxh{3+Q}mg-RozyHzTlRt z+rd`|ihz4oO|WX-hyaUQ02~%#KBaKv!IUD+iWBh?MyvV`fg7V9Ch-UKqq;-gsqU&r zKcipJuj+2~X7zSfrH@%U`v*evMpuL#JJrFFtdVRM=8aBKAr z^-lFJ^=|c^t+)+SOmREhUcFaSOz%_gXX_GM5YiSAr{v8yi>|H@h(S;YQ8ocAMv$8kPuGNKA%=UWnS90 zeJcBCn>;!V={OU1HqO9Z)rZuF>wt*6sr%GN*l;^CJz_)^b2wH(*P>w_+VJ|%1xG8h zJLKj-Pun!hnGKo;-~sSOHs%R;v^VavS=}FY3Vwq7)iEDnI3-8xb_3Ik_HGcq5PaM? zSAD#e>i{lO=#`iGXhY2L8<`JgTMwI8L(yWx@hCQ^5qP9}Kz*`~t){k)P~6^7d;fR^A3&<4N zk(zaAUTJV*)5N$)8twn$Tl2IiKOmCOe|!<19-az>3W(VBt*EpsljtpVEvYg$~S&oB)ofJn6D z5#i>C1m;!LL_^f@B76zx8+b8RF~v*Nm(^F)SJl_H;HCIdd>LM*zOEis-%(GhDdUF( zi>g_7!u+VAcMY>VFXj)f&+HhqZx3eM3s*Qmf8&14Oe>uH`E@n2~S7)ISJQ7c|i1^WOTTP2m? zUV!qBW?8h_89O$E+NDJcf~>7&q_bIlw-(o_@3B2)0V{pOcpIJlcpLXo9o~+2sK?af zYHqZG-S}3{QIBs1iM>aCU;RM+upZyWb-;Vok6?fwtEp3JF@>UI~M@OHMrml zfd_;tN`s8-hLlXJV%t4zHjM0D7NB_A+@nj%z+n#fxq1Hc&y;^eZq8^(YgRc69Xf60 zLxa_ULI`+lp1sqVva=o0JnI>|omVq0G!OVdS@ZmfXQ~>2F7w2)FsSAw&e-<`vCw3w z6Ngs@%X7;ifHGv}q8sl6{9)Kc8Ws)5xsPh`3H8Uuo%t#L1_FohXZUmc1>nZ7@Ym{3 z>d)#g>aXf=>hIg|xA;5!J-q)2Z2u36IEr?$zwfejZpH*HVeSIWL&RrfVQt}OgMcZ5 z41ATg@7d_r(Q6Lk&*dU9tWxFXMqy@X3%IrFBpc4AFp$DAH5ZilR7*U?OuU%BILmQR`Po2hx#rfG(NFuin zj4nBm;SH$>k3=c_@<93!4UvHk;XSt&L$R4a6Q^##G#AD@h~iB!hG%nH1?LGEiis$V`z{-G7*L zCp}=Ceta3}J+ZO{twIBlBznA!(jAT z^F$iw-s1L=-Vh*mAv6{3(1m0$=}l1#MJ9NvS$xcxYPvrrR7ZI%MRtlDDuj=9XS=jpVqzi#L!rd7Kw;s$QV=_##OOMO z5?Op?A~QoJf}<_5Q4J4IPk=ylw++Nrv_N#T)R6)PoCMvAZq9mAO3JvcO&->M)p)y)p7z=8b~`TmJjnollx2on1@FfH(^9@dLUF2ibk^)MniDPVzPqkvWuvMk|pF4vXop(E(2S`a&kFE zZ74dAqP7&Zqo_Sa9VqHZQ74KzQ*{0=azz+ikgLem%QPdlb z-aR z9c*BVTZ zUUe`u+-$z1bjoyR<>0k9PfZhwC$6u{pBpEfr#HB;M1uiN6EVs^`)p^)9D^l z1Y7FViH2C&q0tc!f}npmIn-%RiFQsYr%PN}MPZk?nZbFT!@WL1AmT?mAfWAvCSa|O zoMc?-v}rAI*a)yrenGwj95#Y{L%s#!NYOBgMo=_BLpJbrC`H4YBb)EZ4;r%hnfyZ0 zV2TDs0mnd!0CA)No7Z-1x9Eoi;EdB@C;;IS*~j>j@=3{45`$6m%%t=wVS4$U5fDsm zZX?7P!5{_`+6+`o#3VCCLn1PG@Z5M!WW|RH%Hj*cM@8bNLs&Z4E)yWkqu2m4yz0dcOc)K zeKv6r-PoG(wq+$zu@NCg-pbp-!o=HnKzt)98db+TxaAb(g>AyN;tEiu3d203q5X!H z(Qse$PDc2DVO5|=(;Z5xhk|wmTs+#Kk8cI)JP%@YbS>YSqA{96->e0uZb!4X<l@E1d1k7G-(^o;=8~r0bWUr6-{PubJ^Q`R(oq8?MPT? zXn0Zoxy2>ZN~%M-<*c1but$L5HmL1?O%n8**9b&`X@(^k%t5$VV;Ykv!BZcyGj;;vC!g!Tb<@C_juJ z&X3?>r%a=$fTBW*f)o`|G@YX2?OZ#4G`z;bYdo_dQB=a-O4(aAKm};}G~yLRXLE7i zQb0C=6aNerXepvY|DXit3xEOfFgG(I5}cn75**F|?c--~`@mcZy2ecSv)}x1bdoFh zS!|&zDJrYwt0*dGll5nXGC!N24@$r4aWB{CNBS zuexb6Kj9x`{68?N|B<4#QO5rZqlJ6<-`Gpr?Kgzqf%p3(t1S>g1lA?+fdO)dH3^sAy>a|&J%EP_jL3m%Gq z-_}x8S1yN4?Z;DtsR?2y=}U6H83Vn%jB>&X6_N4jRYZClQBY)CS!J-We&#!&(Pqc#u9~0 zu>A{J6zztiqym^cg`Pq$2vjZzAB+v7-zM4@MK@D)v<1Tk?do%(pOAg3p0$^vTh6Fw z3Aw_BVLeL#mF#wk_Cy&r=vlXgyEg*1tpK3z)&>?${({03ot`PeMW9OvQ-yqr?x5(- zIw8PxiM#%pi2l9LZvWEs1ia#HAVMQbRR|c zQ}h5u4^s5dHet3fhv^c+eBok>9;Rr&rc6-uCPi=mmueH?MPAAl`BIAZF+_4s9YVNV zxB?KV0C?b$S^~nt`R^gJx0;vb;26qI*Oj4=nYoEUs64UbwVAe z9>RKIgRoK9B-|uy7JvaApy)}8o}%a=MZkrgq3GG|LOm0F0vxs%b}*6m920pIy~y5P z3#%SyRV)6CUh?0ddI)#0RR-Agd_)2X_e4|=;r^)V@q(s$yb~qceZnJbq4!htQmybP zg&^m@pn3=ggr}K=cv5&ufaN$$(GiMXt{0vWo@El^6^dT{50DTL_az)@$@L%l>E3O3 z?ijFYYwO)P&vee6rAY`d+zF>K+;wHn-e^KuU6Y_^_i9e#~Ep>m}KJCInDxC5OOF2o=JO43Chh}FKz7W0)N2xTE zbRZuKX4VN`F+(E@scV@C{37b3&JU+HGa(A!3g1OU+fNjINYSw-qV0q5lmGy$6@I1Y z{eMNYiL$5%Nh9hg`nXn9C_1i58gOErCJaS1K^Tf?7A+K=py<;EcfS}bx`0%g1)_*< zu7l{M=o1xS*-3~HX_$t#eO5lDEp3EM#W=BDi_&mQmDrI&FejA$Tw|}Atu%Z?5exZf z+h_8Atrqa#i}7Lt1lDcjPKt>TLo+Nd;x4T&9-^7(!AacYnHJwe(O236ipgRMIKmnV z)QPF!uxs)F{QY5nK|YI08eO5q8%2AbA@=9G>=C<)nPQgMP3$iA5POQf#NJ{bv9H)q z%ocMf`j(>aDEgkFA1DI+49od5MZZu4D+jpwcZ&X?n4=i&5eJ9^#X)=mw@)0*wG)Sm z!^Giyf;dtf1#BNf%#?-7AS332jYZx9++W^GpiY;0AqMlMUA51 zjSFdbTMJhUr)eNAG@zo2B~A`sn3Y#h9Aps%{_s}_Az{ioTprSB9n?Z9+QIcJ5bOju zx@f_znxC>7a>CUZT9_NVg9hhA(+FH%#KJPP zSg+jjq6%0~XiJOtn+vu_7Mlsx#D@FVycb~YJhj^_Zb9p?DH@;A(32!~B?Al7D}|uo z!p0!G@D%g|2Wg>J8w>=TubMG6w()RdNK1o=ib9PT#X{U?7X)g2!*3Id#S(FbI8!VY z%fxam@L?#kHef=rK*1P~brdTU8!0w1%5Ct>ilMOXjrn}@vZi+WVlB|6q~LG*&U;q{ znL7~zK^qL9JySB0GqVE81(`|7DZ!LLMo~dpQEEo&v}u8?j9^B3N+2~Wt1vU8plSE! zM!F~Fo98y|9@zWKN~+^$gUvZu^(XrHPxWVEq(5@Ld2!VE(HHy&3O=4dRXBI*P3n+bE8u*iNy7V&^t-gSb)LB;F)$7HcVXQPPHzWJ)fg{1nPBVA3@s zyfLHEx2K7GXvQ9+JQVILJDX*fc^XDR^m}9Wf5MyA^je|QbX0R=0uu!Wzas4 zovpJGGxRX+9*tn07S80>HSi=_RH!T-!(Z6?#vvJl@brF^@~r>&Vi)<$-vlCPuuYRNW-oEO2g?XK&at{ z`wd9TN>0!08lN$sYgT+(M*p1ntgNi0_^iyXInefiED$Y?4M!;FG4Tn8G9RZnu2wui zaT`Vlr}M!^k=4`Uv#h`~6rWcsK1Xp|4VH$1O9VDFai)qdiLWurJR}|#kBBdeuZXWw z+>YY*6a#eXNO32MJ8u(T7vB)y1W5HZ&Z78yiW4aY+sa&uXR7;H{r`pT)G+$^7&Kw= zxOhVRL_A6H1r&FoIG*AJrYv>Slo9RH)^2erNelAxE5rLSe`X1ITMJ7w-{qVYhDi`N`e7h2?CIsO_;w zaz?K%agE8~g<^4|6;;i0^y<~E8x!^{VbYXIfoUb(AUqf_Pg2s9xKQMJ(1x%w@oVur z(00X>;?RH_;gbalsFYQCPubN0_vDDe6 z6#y+y$*-j{FdC@RZnGWGEFFe=N^utKt9j&`=VJpN7_4Tog{K+cFXHcPe7}mnQJg|? zYMuCp1e!-0#Y6wH0ZS4jBN(tGQIaHC(n)$rkqi{4Q=CC@SBf(!qp@xjcL(3OWP%sm zTp-yr-#P99+6!i3c6jjrkndb-1q!Pu4iqU(>dLG<_emMdfr7Ka$|GfgZ5ZdYaG=1C zp1s*B+PPj*KhWEy-clc_FU12W9!T+^dMR7V0RtJ%rTD^szky5|%$cMiEe&Lo`uCb; z`eWdYmn~Q|;Jjy@A20)%G#v7dXqorqs0%+Tys!W3_gjW;e{f|DI6I=gc_~jC%ckzA zG=>?-@Q|}i-M?rci%$9!=_0lxrb_t~52tuUofKe1Jo0Z5@pP$z5pl6pBF&IyN~Kbn zR8H|Iit{KQP4O6t$5K3w;_-}#XTd83ubMCsPhj*rnY|VNFA=fIh?r75F-pWsqeQ$c zO2m^iEA(g46}wWpimlj6X%)p&D4tp;T`gThF|6OTe~yN)mu_T@tR?qRd=ZdwowSZI z-~a%d7C|BvKSsN@S=z!VxK^r@>M1UuxRByty|h)@#wfUm;_3eZ6nqO%<(`&Qnf~5Z za(!H%7dG_Umc8Srr!Lbd_;$#5U_p3t|)(u;AtnXxx*o1=blI{&t@I4v@ zmoN%m$CzKB#l&e?OL`bK07F>-uEGxqsyvnifKF@WEB+oWUC`_c!}htfxE&&;QI0mZP77E*lw ze>X6ezGT$;6~$VtQm1ABuIqxK^E6Z(i6w3cn56Hd9~n`7C;_w5N=az{xt3WA!BG)=43>%N-?dIiOf^HgyIc<8K}uR*#bOX*2{`) zkd1PTY?93sUqbOxiZ7*bvJEez7|fHGZ*Yam zE@SjJP<-RRpV7-BIFmfGCG%cedFAUp<_^l;+Wpb}m2uC4+q?TAc{Jo5(=zX;e;o64 z|FDm)c82}nn3z!zYZ8TO@_2a?OdL5XPt+LwdSLW&PsZq1w_x=D3{;b+$w9VM1u{t0 zO%&f$Cl@g?-u$=7xKyrYWLzef%N25^JWH;ULloCiTt_j;?kyB=rFa{~+X1S{v*9%t zUh~6HZ3m;^-R$k2{~@R*U&_cB_}k7X8DAcOYVws)sJ2Vfx8QhW*iI#1Bd=jgcCEac z;+rYHrB1$122$BW@$LT{39pwov7LCIyiwD)Ze=@hGuw%`wb+T4LA|0~+bZv5B)m=D zF7KdtFU5CId}qD9OWw^$_%4d?{tqDGy+D?Cv?NO|_vBK3`QW+h4!m$jr)h1$844tP zH{`viW!{ZP4+I7u9@O>0tG+w_>aRav(u9QXmmdm~FvK%~wsr4WCQgH9@?%W=e+a@m zx&xks2ay1S=)687KL>y+Y?_pxr})8!pTCe_lHrEDTKN#g57mN)6+e7dtR=rD9|f!> zzb?NazbU^Zzb(H*F|6u-iXWl)QHmd<`0;J>yYhSTG5LM@1ID(Wp!jJ@T2p+GlDPkF ztR;WWgya|Um-1Kg`xGCb_(_VNf|33IM##Tlgp_}he`93+zWj^)E87+rOyJMf%fHKi z=s1d>qxb|Rgz=*PT5}{j{>b8EA|~nN^ab#n1+#+?YXDafl(mGzIzcA`+3Q4|L@^NP z3w1gjGkLuDcT65SlgAF*vOA z!pqO#@M~c>{1%g=AO8=*VO=L+n!3&uzaHVDx-LNJx_Dgzdr|xb#czh+ndx$o*%#rg zx^!J8Tel1y*n{7u_?}L6RP4R*y57e4|B*bS12n>AGTyKcVsw}nyPZxlm(+rORqb^}G-+>-k8KRB@^Yu&)&TaJABYsV#~TQ%yt74qKJ zGVjrZ&d=U?cu37dvj#r;`Tv)w?>M7AfL;)?r>PdYPb1W)`y!%C z60>IZk6zBE`&Rb@Te0tS-&10x#8#*KQTG!iv6OiJIr{ru50=7u-5+{Rk0`NI;-JJ? zuP1sQ=#N0~k^A3Ie|m*8=?yJu>cqn%*7bXOAiljUb4;OljmqdxZ-TsV`Shu`Q+!!{ z?DOAUgN|MM{>j6$7pA@3NPl{p-oc3JKE0i3)5HtJq<4WfO?)l2=?kKFi|YOQIE@7L ztu+#Cb(T`vdh5XiSj+SpP-nsq&W8;K1H9ZPt&LCGblNa!dX-T zbkvEG^SA0V^;!CE`tJH3lyspao{|Jg5-CY)7NVr@8xGhZZS&37L_?I=wJYoj+ivH& zq~UazDfJFPbYV5SmZfJ}MhEQ+{Fq12^bW!D!st`@$etyqbO>J(qdiYaj(iIr`|p{O z&@^yQKOoZ4_W9;Df4!rp3E6AxXGT(bV@H!S8hXl}N4g4uQBAs<-W5is{m59PugT5( zIylnTj{kgL(=uVw*bHkE*tMar?0K}W(TNOCcV<%azNRxf8SJOA^2P0u|2yt3!f zzD6ff>uY+~uFd;;${rXK>FWjg=Ij39J&>LTvv!(!WzVC1ZMI$0lhc~_H8}|;Hf-tB zkJnFV_A4*?$@(eHA6%plG=EU2hl^#|Z_7mMDAvO%y`~RJ_2pnN(w9+^Qme0^1g@WM z67#38j!X_HKmX`OERiA2(a(odiu$?wd6cA6l2NC>7)~jYuK!o36!laOH@ep9mr#;f zt6xe<)>-Xi`sMnoz&@tGT)#qph5kzYO8qKIx>3@d5@3KmDd|N??``_4_1EaH$k$`HT@P!vTOC*D1m64 zKXFV^ze^9l?pvqdt-qO){*(-;)9=yWO36S<2C)iGcOS~>4ln*ow@5?@tY10_-7!EK^fIGDy5VGMCvC!YUsEwV!Z+`zv%Z@NX z9=Sg)3@e^zo8$#bMn-YQp$O1C<&s6!*eM8>E8m*^GE{D5+$`V>|OTV9Fq6Fc7Vh ztAHS>q9jzO3{gOoR8w*VNh4_2ns}DXF1kcAYX-8Ar(+N>;G?{?gfg zWwKHTQcszpOjYugiqT`7jY%Q^M~2q5Z6QeX#qkusexUe!u zoemet?`W|Mv?&Wi<$yH7x~N>q7kFi@k>*x#_~x<3BIhm+^pO}$yJnGP02Ns0OMOt$r?(oV>F~u4^Yyb z%3TaEYP18CbUh_E{y7>t_dfmC5N1mvX#!na5?B*Z_-AM|I%oToN5eGqh(<$e84W$o zXb67p@Dw0p$#6wW9aNrSGz2?-U9IvgCF}nZ4ZWxwVKnrTa!5H$$p%U`QnIODd0Bad z(GVy*oBso7=xv~jcUscLB4_RFCI0?_yMDW2)t%E0E!1e}J;-~kW!^cj{&MNs--fQ+ z<>)b0>aZ5vW^g?&1Ay$x3gsh8>X^t{^zXd~FWe*TstoW0!X+BfHU3=rvJs(tMakAi zgz~NOJwqtpQL?R8`GJz{XGbW%7%)R9zbd~ezbk(jI0KlScTlpEl3kSSrsQTyZrNra z2A=8g28kh*Jru5Oj_B~e{FfsXg9Vn`V5J1^lR7J+FgOezAPj@k;4-)=xt)@|l-yBo z@EUvuKP7ik@(d-K8~k)Ihuz!Scw8IKphtc*kNtXeY+~SX_VYcnWyW1 zN*%nuMT)( z`z^2E{Yy#m`;a#}fzu2uXqFr`6ly~3DG*|Y=}d?nY$?Q2m;4{#7(~Fm51Z71Cwj6Q~rH6_`zJ?yVoYm zZ*i|pvJIf|^xO5zGwUe7v;4;{DSzaY@{f?R?-ab0blgkH9t-a&zn}SJZ~1-XhdI?x zOnOiWtb6A1rFW=2HZOa-{MY3Vm;a{xk@82&A1e=soh83>d}6)6OT$Q*y2{IFlve=RG8f>SA!-cpIGx^??^Uv*zN?cFYaT^yf^ zjnRTi6dI(}dZ#@gj2J)RLf0GX{15d!);I(^t-55TFhEv!zm%@9C~UVU>B5o6jjLY)&nQ(it37bn6N8qC~7KdDQYX~DC!c=5${91FY$iF^TZ2F z6!jGi*o0lt7!!70Bwlt;*!gDvKcBEGTEV!A)`Sx(9z0=Jgebxg`igdnP~yuFU$#)u zUeSU0a>Q40_C5DmjlAzdqbIDpD#BTQ-4xx4FHgLpP!XYsBwk6p^SFRVn?^i=`Hdo0 z5r=+J(M!==(MQo&(NED|ft`ue#A}Gx60akin86!}H{zk3YdXSBRU|2rJ(H1wCd8YF zujm|#y&j$2F`;;PxAQ3Lo8DdTU483gc6{C)uXp};bnPBzW-5lGhf`z`Z(gLxCf@Q` zJ=_QdJH$XSQZY)APrQ|Q8}arc#TW%U!~h3|@D=_K^l&)DKyjZ#4Ejc=@2<5sSXy1S zMyI;p-ZCOrqPS{<=mbOeCs_KIH~yIpUJ?F z#N#y^kFkGJoMn@NGsL%Cq&P=>(1Rxf=M`7kWZ*Z&1;s_hCBHxR%I3RR7#uDu5>6X zC@U%}DJv7-h4`+-cOxDXig4m1h>v_*S(Wuu%IfU#A?vAnuzrg8KF&uV&YsF!>)u14 zcZYIEf8?FPy*Cf{>+kLuL;v3%ojj~N^f(|uiN(rAN_5dZ7b%+(AN4rhjvnn(-}}Gsc9b1Cm9mp}R}!;ew5Ca32jQ(_Q>Sj(ABivd zgG!Xx_DFf3ZI9}=nxYxftGh69W!{RT*Sp^Fajh~!iNmn4@TTnH?CSfXtN*uShDvi* z>U?IQ?BmtzDF-Oy(X}b#h>u&O97y~?^m_kn+^9@;y#T_;$E!zrUNpU9FFWi*i+4p6 zhs6)h#umVB(-QJB5{E=#^G580+cSA^>wthp&6Dw(2j0BB{Vigrgq$I*n>TCPym_O> z&70%3(tw67nl)|VeCyQxxuWaRz(#?IgPVI^B~=bl=HN^lWvX(ha+oqrnXb%GW-7Ck z!t^?^OKK{54%$&JRpO=3B4x31nQ}Stxy0uYKcYyvQn`xtUn7Yh^?#uM!UzA#`+V@f zrdj&@SNe76`$m3T$k? zJfJ+N{7QL9`8B^p`Hk|3@~HBd@>?-Yc|!S}I86Dy@(1OQ%2UeI%Ab^HlxLOal-LwX zV*7pbC9`OsF7a!KUq}1~)L8ke^1SjlsRYIFa25_;#e&woY* zmBpQLLA*NbQ8T{lNo!<6Mqo>0d zsC$m9s=BK-86&f&Y7g6U{2qIH9x-D}{fy-7`iWUtcZ{~Gn(hLo;L!9(E#NM@Ms;Wx zcDHTsDWRUbgsG3QZTej$grsI;@AQm&oYvT#?ep>KHvdz_vCArsugnnoffYi z>&f+rg~GpuK?cr}y(9Enx$E@O{~G$;!$YtSeeV52-~9<1KLf}6dfNN2_`3II=`Jm~ zKNaI&j#syStPDrG+~JY`U75PS>EdTS#wqr9g-}>_!pQpRcN*3G=@mccF{0Ah@O$cc zPq4eclH%vat2;ev^Y5yux18>>1a=!F9|!TTKSuxRtaeTYI=?}w*-0J)-&65;cgAmG z7yC!8cwTO5T26zG-D2?j-7-pY=QbZFKR;@2&T1xPr#I-CIVdwXH8CVRJsKm!y&YDn zJL`r2Ylqb?FFOOrg8ch%kl`+&5C?icYUNY%QgIeVdU|HY-G*?V{K3EV7?JCG4JbSD zUp(bLt%G0k*q*{?i<#N?ba?KwHu!fQBcSdI*xSAHJptuDErTzPR}XkpE8hE(UA4vy zBL)o(ZO|#AV`I;Mv(4ezsUPekSqx|Ccd6QamIl8(Ufu0c3%#o~_Y01D8s2cX-tN?yB?M-TOVc&v6Iydyik+?1Zc#sfqW*%Ny?e*8Z>Y z;+c-ztLugCjMqO#hkTD2?l-_Kc4zy3yt?C~TKB;ds3GoK4AncTHCP=`Emak(mZ_Gj zR;X60R;gC2-c`Lv{3hZz6TgM{4~XANJZ@FC5x<>yES~QyR;_id4yfMePpdX@{;Dl( zbzqlgb>I`{>Ocuw9XRlGb)fW5yj6XU)dAIR;y-e)4yf>H-dn2u{7nY&colE1>nGdx zDBa`kL#l6Z|E~I4b(r{1iT|unbwqWPc-)2WDYZoc)px2NSRp6bA^{GG#BR^*TOePy zQ2%eYx~j9PU$I1>I;Z+s^$YQPiQh;3{vy?Rzt2?{i2nlX1H^yHs#x9YnJ(tl`6=0% zc^OGPlXLRYa-(pb0uE`Z;FT~ZH7R)zPA(dmnv{!IRU3FE_$R06%>1y_9QNmby6F56!aQ?{A|hbRv$1bxXU61X zi9jRt_PFPk+837dJE8V*u5up4*M3q9_Iv}|CEdHe;=V>Lt94MYx{SK4x}3VaTA@~| zRcf_bqsChQA>zL#9=`sD_#?!_)5nPamiXhupD0%AT?$s4{bu;hiSTy-x9yK8RS!seCoS?-hNYF9jI=O z_)s@hHzWQB;(shuw@|kv{uJ>z!|)MaYI@)@peLZ(s@a}p>R@$<8jsgb6aN$OXNuG~ zHbLEicpR+=DW3a}rKrZ9W$OFvS+*u^K#D1=>#NHL6#P1M+&8r$uM#!(EK}cS&$67w z-Ci|r3LW%PPDE%q^X^+n>oGyJn(bNUw^1F7?u+f(;l=ouYN^6hv{~f zdN#4a`R_vYt7;6-w@465Pq*{bi+tbz2NA zF7qB1FE6fiwQ9rg7F&`&BG;;oB2kLso=_Bp-ScC-rHm(ZiZ z_tfiLy2V$70VIgfpc-G7^d~{`8b3A4O;v+yI*&Wx)Dt~9Y*lY(Ih;^$V`b!d^KqUz(64WGUNYIj?BSBAsfdpeQ_GZU( zaj5re^<9MI_iVwfzN)^)l>EE;4-#x7*bCLy)qj%UAfXbIR;fH?Q{U3CX`qI~1X{q$cL9YO zKTM#7iuap9YkI!vjzdiujRGBjrmUu%29HZBlTd|(szrXEYg8JwQ~mxVINwZr=+yX; zC)tlZht?Q5mB!>P>cY95Uzz?}_(v0$P6)8fUxK5VgGw}3q_ugc?KW01GdH2j%(qVk zuBq7VDEmIAYH)S8l09$dX)0-|I+d)c;#6`iC|QFyxX~Bj-OzhJIQ3YtmIgZ<6l-d0 z>S*d}>S^k08fY478fhA9(3#XBp)LvaNT^Rj0}>jN(1?V_B;cQ#6l(%qO4hXCPiulW ze@$zqQOPwLp`gS9o0?j0sfG0Wy z-2MSqc`kWQGmGi>dCd!&X_^-`FKMQ0W@u(=Ue>%qLPruhkollTK8xi z=E>m)&1sjIPdUY$#75(z&e3?_zmCSgX#QYo{#A2c^PA>^=A!13=CbCB=Bnm*5(bly zLc$OdQb`y}!Y~rjNJu9kgM`dt%{8~0|MHum`J3}cZJ_2XkD9aD%9b#msd>UvHJ84c zwMwX2i+i5oZZ&JQ54tHK1axzqXnd zu`q&!ktB@5a*k- zHVkWYkffP5JMux`tnl z^Qf^%yTqm7#ZCpk`GCtkmn_$AU;73-`n8S5(Wr*)M$e_a(Oay3Y9gL)d%2&p+D5ctS8j7X{7hB6U4sdNLpH9x&Vn>TKr?7D3AthVuEf-KGl%DRC_o8X<+ zTyEbBsn^3UzO?_y#-talm7#f!k7qecm#iD&(r$`VyN94%U1uiyy8?EYSfdf2J79+Sf1AwaJ=zU5Z2=u4u~c_%EYo{IPhi1;EC@g)*DkBF~A#Jb

    oE&hK*Vt+uuHWU=?RR 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 - - - - - - - - - - - - - - diff --git a/environments/TOH.h b/environments/TOH.h index ec5ea6784..8c8e457e8 100644 --- a/environments/TOH.h +++ b/environments/TOH.h @@ -158,17 +158,16 @@ class TOH : public SearchEnvironment, TOHMove> { void OpenGLDraw(const TOHState&, const TOHState&, float) const; void OpenGLDraw(const TOHState&, const TOHMove&) const; - void Draw(Graphics::Display &display) const; //draws the base and lines - void Draw(Graphics::Display &display, const TOHState &s) const; //draws the disks when not animating - void Draw(Graphics::Display &display, const TOHState&, TOHMove&) const; - void Draw(Graphics::Display &display, const TOHState &l1, const TOHState &l2, float v) const; - void Draw(Graphics::Display &display, const TOHState &l1, int selectedPeg, int nextPeg, float v) const; - void Draw(Graphics::Display &display, const TOHState &l1, int startPeg, float px); + void Draw(Graphics::Display &display, std::string str) const; // draws text + void Draw(Graphics::Display &display) const; // draws the base and lines + void Draw(Graphics::Display &display, const TOHState &s) const; // draws the disks when not animating + void Draw(Graphics::Display &display, const TOHState &l1, const TOHState &l2, float v) const; // animation for optimal solution + void Draw(Graphics::Display &display, const TOHState &l1, int selectedPeg, int nextPeg, float v) const; // vertical animation for when user is solving + void Draw(Graphics::Display &display, const TOHState &l1, int startPeg, float px); // horizontal animation for when user is solving + void Draw(Graphics::Display &display, const TOHState&, TOHMove&) const; bool Click(int &peg, float px); - int getHoveredPeg(const float &px); -// int getClosestPeg(const TOHState &currState, int peg, point3d loc); //idk -// bool Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg); + int GetHoveredPeg(const float &px); bool Drag(const TOHState &currState, int peg); bool Release(const TOHState &currState, int &peg, point3d loc, TOHState &nextState, int &userMoveCount); @@ -433,10 +432,23 @@ void TOH::OpenGLDraw(const TOHState&, const TOHMove&) const } + +// Draw for text area +template +void TOH::Draw(Graphics::Display &display, std::string str) const +{ + Graphics::rect r1(-1, -1, 1, -0.8); // background for text area + display.FillRect(r1, Colors::lightgray); + + display.DrawText(str.c_str(), Graphics::point{-0.9, -0.9}, Colors::black, 0.075, + Graphics::textAlignLeft, Graphics::textBaselineMiddle); +} + +// Draw for pegs and base template void TOH::Draw(Graphics::Display &display) const -{ // Draw for pegs and base - Graphics::rect r1(-0.75-0.01, 0, -0.75+0.01, 0.9); //peg +{ + Graphics::rect r1(-0.75-0.01, 0, -0.75+0.01, 0.9); // peg display.FillRect(r1, Colors::gray); @@ -451,9 +463,10 @@ void TOH::Draw(Graphics::Display &display) const display.FillRect({-1, 0.8, 1, 0.92}, {0.6, 0.4, 0.2}); // brown base } +// Draw for still state template void TOH::Draw(Graphics::Display &display, const TOHState &s) const -{ // Draw for still state +{ double offset[4] = {-0.75, -0.25, 0.25, 0.75}; for (int x = 0; x < 4; x++) { @@ -471,16 +484,13 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s) cons } } +// Draw for animating optimal solve template void TOH::Draw(Graphics::Display &display, const TOHState &s, const TOHState &s2, float v) const -{ // Draw for animating in animationVersion1 +{ TOHMove m = this->GetAction(s, s2); - // when s == s2, m.source is peg 0 for some reason, and the disk on peg 0 is animated going up and back down instead of the disk on the correct source peg - // also idk how to look at the code for GetAction - int animatingDisk = s.GetSmallestDiskOnPeg(m.source); -// std::cout << "animatingDisk: " << animatingDisk << "\n"; int finalHeight = s.GetDiskCountOnPeg(m.dest); float offset[4] = {-0.75, -0.25, 0.25, 0.75}; // x-positions of the pegs @@ -490,7 +500,7 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, cons { int which = s.GetDiskOnPeg(x, y); float halfwidth = 0.04+0.2*which/float(disks); - if (which != animatingDisk) //first, draws every disk except for the animating one + if (which != animatingDisk) // first, draws every disk except for the animating one { display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); } @@ -499,26 +509,26 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, cons Graphics::rect r1; Graphics::rect r2; - if (v <= 0.333) { //up + if (v <= 0.333) { // up v *= 3; r1 = {static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}; r2 = {static_cast(offset[x]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(-0.5)}; } - else if (v <= 0.666) { //horizontal + else if (v <= 0.666) { // horizontal v = (v - 0.333) * 3; r1 = {static_cast(offset[x]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(-0.5)}; r2 = {static_cast(offset[targetPeg]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(-0.5)}; } - else { //down + else { // down v = (v - 0.666) * 3; r1 = {static_cast(offset[targetPeg]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(-0.5)}; r2 = {static_cast(offset[targetPeg]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-finalHeight*0.8/(1+float(disks))), static_cast(offset[targetPeg]+halfwidth), static_cast(0.8-finalHeight*0.8/(1+float(disks)))}; } - r1.lerp(r2, v); // draw a rectangle v of the way thru the line btwn r1 and r2. (ex: v is 0.2, so a rectangle is drawn one fifth of the way from r1 to r2) + r1.lerp(r2, v); display.FillRect(r1, Colors::purple); } } @@ -527,11 +537,11 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, cons } +// Draw for vertical animation when user is solving template void TOH::Draw(Graphics::Display &display, const TOHState &s, int selectedPeg, int nextPeg, float v) const -{ // Draw for up and down animation for animationVersion2 +{ int animatingDisk = s.GetSmallestDiskOnPeg(selectedPeg); -// std::cout << "animatingDisk: " << animatingDisk << "\n"; int finalHeight = s.GetDiskCountOnPeg(nextPeg); float offset[4] = {-0.75, -0.25, 0.25, 0.75}; @@ -541,7 +551,7 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, int { int which = s.GetDiskOnPeg(x, y); float halfwidth = 0.04+0.2*which/float(disks); - if (which != animatingDisk) //first, draws every disk except for the animating one + if (which != animatingDisk) // first, draws every disk except for the animating one { display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); } @@ -555,7 +565,7 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, int r2 = {static_cast(offset[x]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(-0.5)}; } - else { // down for the last third. the second third is animated w Draw(display, s, startPeg, px) + else { // down for the last third. the second third is animated by Draw(display, s, startPeg, px) v = (v - 0.666) * 3; r1 = {static_cast(offset[nextPeg]-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(offset[nextPeg]+halfwidth), static_cast(-0.5)}; @@ -571,22 +581,24 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, int } +// Draw for horizontal animation when user is solving template void TOH::Draw(Graphics::Display &display, const TOHState &s, int startPeg, float px) -{ // Draw for horizontal animation in animationVersion2 +{ int animatingDisk = s.GetSmallestDiskOnPeg(startPeg); float offset[4] = {-0.75, -0.25, 0.25, 0.75}; // the x-positions for each peg // if the mouse is hovering over a peg, highlight that peg - int hoveredPeg = getHoveredPeg(px); + int hoveredPeg = GetHoveredPeg(px); if (hoveredPeg != -1) { Graphics::rect p(offset[hoveredPeg]-0.01, 0, offset[hoveredPeg]+0.01, 0.8); - if (s.GetSmallestDiskOnPeg(startPeg) > s.GetSmallestDiskOnPeg(hoveredPeg)) // if it's an invalid peg, highlight it in red + // highlight invalid pegs in red and valid pegs in purple + if (s.GetSmallestDiskOnPeg(startPeg) > s.GetSmallestDiskOnPeg(hoveredPeg)) display.FillRect(p, Colors::red); - else // if it's a valid peg, highlight it in purple + else display.FillRect(p, Colors::purple); } @@ -596,15 +608,13 @@ void TOH::Draw(Graphics::Display &display, const TOHState &s, int for (int y = 0; y < s.GetDiskCountOnPeg(x); y++) { int which = s.GetDiskOnPeg(x, y); -// std::cout << which << "\n"; float halfwidth = 0.04+0.2*which/float(disks); - if (which != animatingDisk) //first, draws every disk except for the animating one + if (which != animatingDisk) // first, draws every disk except for the animating one { display.FillRect({static_cast(offset[x]-halfwidth), static_cast(0.8-0.8/(1+float(disks))-y*0.8/(1+float(disks))), static_cast(offset[x]+halfwidth), static_cast(0.8-y*0.8/(1+float(disks)))}, {0.0, static_cast(1.0-float(which)/float(disks)), 1.0}); } else { // draws the animating disk -// std::cout << "\n here!! \n"; Graphics::rect r1 = {static_cast(px-halfwidth), static_cast(-0.5-0.8/(1+float(disks))), static_cast(px+halfwidth), -0.5f}; display.FillRect(r1, Colors::purple); } @@ -622,14 +632,13 @@ void TOH::Draw(Graphics::Display &display, const TOHState&, TOHMov template bool TOH::Click(int &peg, float px) { - peg = getHoveredPeg(px); + peg = GetHoveredPeg(px); -// std::cout << peg; return true; } template -int TOH::getHoveredPeg(const float &px) +int TOH::GetHoveredPeg(const float &px) { int peg = -1; @@ -652,62 +661,11 @@ int TOH::getHoveredPeg(const float &px) return peg; } -//template -//int TOH::getClosestPeg(const TOHState &currState, int peg, point3d loc) -//{ -// double distance = 5.0; -// int closestPeg = -1; -// double px[4] = {-0.75, -0.25, 0.25, 0.75}; -// -// for (int p = 0; p < 4; p++) -// { -// if (currState.GetSmallestDiskOnPeg(peg) < currState.GetSmallestDiskOnPeg(p) && abs(loc.x - px[p]) < distance) -// { // if it's a valid peg and if it's closer than the current closestPeg is. when there r 2 valid pegs both the same distance away from the mouse, currentPeg just stays at the leftmost one -// distance = abs(loc.x - px[p]); -//// std::cout << loc.x << ", " << abs(loc.x - px[p]) << ", " << distance << "\n"; -// closestPeg = p; -// } -// } -// -// if (closestPeg == -1) // only place to go is the original selected peg -// { -// closestPeg = peg; -// } -// -// return closestPeg; -//} - -//template -//bool TOH::Drag(const TOHState &currState, int peg, point3d loc, TOHState &nextState, float &tween, int &lastClosestPeg) // i put & next to lastClosestPeg and haven't tested if it's ok yet -//{ // Drag for animationVersion1 -// if (peg == -1) // if in empty space -// return false; -// -// if (currState.GetDiskCountOnPeg(peg) == 0) // if the peg has no disks -// return false; -// -// int closestPeg = getClosestPeg(currState, peg, loc.x); -// // animate in expectations that we'll go there -//// std::cout << "closestPeg: " << closestPeg << "\n"; -// -// if (lastClosestPeg != closestPeg) -// tween = 0; -// lastClosestPeg = closestPeg; -// -// if (tween == 0) -// { -// nextState = currState; -// TOHMove m = TOHMove(peg, closestPeg); -// ApplyAction(nextState, m); -// } -// -// return true; -//} template bool TOH::Drag(const TOHState &currState, int peg) -{ // Drag for animationVersion2 +{ if (peg == -1) // if in empty space return false; @@ -723,10 +681,8 @@ bool TOH::Release(const TOHState &currState, int &peg, point3d loc if (peg == -1) // no disk to release return false; - int nextPeg = getHoveredPeg(loc.x); - -// std::cout << nextPeg; - + int nextPeg = GetHoveredPeg(loc.x); + nextState = currState; if (peg == nextPeg) From cd1c808949aab75494bc1fe014b3bf45d0fd5f7f Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:41:55 -0700 Subject: [PATCH 07/13] Delete build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist --- .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100644 index 4dc54aad1..000000000 --- a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,6 +0,0 @@ - - - From d71ae91bce7fa533327f2e9674c64d6bcbbf4de4 Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:42:44 -0700 Subject: [PATCH 08/13] Delete build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate --- .../UserInterfaceState.xcuserstate | Bin 134322 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/HOG2 ObjC/HOG2 ObjC.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index a276a92b2f789b38a209fa0790a64fd7e65b74e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134322 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 OmW%mZ|K{_*_ti#vLy!sp From ad0f7fea91c7bbfba8b38915e87bc5acc682d4c7 Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:48:49 -0700 Subject: [PATCH 09/13] Delete build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist --- .../xcschemes/xcschememanagement.plist | 164 ------------------ 1 file changed, 164 deletions(-) delete mode 100644 build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist b/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index ef069f50f..000000000 --- a/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/xcuserdata/maddyludes.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,164 +0,0 @@ - - - - - SchemeUserState - - ACA.xcscheme_^#shared#^_ - - orderHint - 0 - - AStar (Graph).xcscheme_^#shared#^_ - - orderHint - 27 - - AStar (Map).xcscheme_^#shared#^_ - - orderHint - 16 - - AStarIDA.xcscheme_^#shared#^_ - - orderHint - 1 - - BOAStar.xcscheme_^#shared#^_ - - orderHint - 2 - - BOBAStar.xcscheme_^#shared#^_ - - orderHint - 3 - - Bidir.xcscheme_^#shared#^_ - - orderHint - 24 - - Bounding Boxes.xcscheme_^#shared#^_ - - orderHint - 26 - - DFID.xcscheme_^#shared#^_ - - orderHint - 23 - - DH-place.xcscheme_^#shared#^_ - - orderHint - 30 - - Dijkstra.xcscheme_^#shared#^_ - - orderHint - 10 - - Dynamic Phi.xcscheme_^#shared#^_ - - orderHint - 4 - - FastMap.xcscheme_^#shared#^_ - - orderHint - 21 - - GMX.xcscheme_^#shared#^_ - - orderHint - 22 - - Grid Abstraction.xcscheme_^#shared#^_ - - orderHint - 19 - - IBEX.xcscheme_^#shared#^_ - - orderHint - 5 - - IDAStar.xcscheme_^#shared#^_ - - orderHint - 20 - - Inconsistency.xcscheme_^#shared#^_ - - orderHint - 12 - - JPS.xcscheme_^#shared#^_ - - orderHint - 29 - - NBS.xcscheme_^#shared#^_ - - orderHint - 15 - - Necessary Expansions.xcscheme_^#shared#^_ - - orderHint - 14 - - Pancake.xcscheme_^#shared#^_ - - orderHint - 6 - - Racetrack.xcscheme_^#shared#^_ - - orderHint - 7 - - Reach.xcscheme_^#shared#^_ - - orderHint - 17 - - STP.xcscheme_^#shared#^_ - - orderHint - 25 - - Suboptimal Map.xcscheme_^#shared#^_ - - orderHint - 13 - - Transit.xcscheme_^#shared#^_ - - orderHint - 11 - - Triangulation.xcscheme_^#shared#^_ - - orderHint - 8 - - Witness Editor.xcscheme_^#shared#^_ - - orderHint - 9 - - Witness.xcscheme_^#shared#^_ - - orderHint - 28 - - Witness3.xcscheme_^#shared#^_ - - orderHint - 18 - - - - From b590ba580939126de9f899004ee1a7975ec8456b Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:55:03 -0700 Subject: [PATCH 10/13] Update MNPuzzle.h --- environments/MNPuzzle.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/environments/MNPuzzle.h b/environments/MNPuzzle.h index 4006feb88..9d8a5d5cc 100644 --- a/environments/MNPuzzle.h +++ b/environments/MNPuzzle.h @@ -1217,14 +1217,11 @@ void MNPuzzle::Draw(Graphics::Display &display, const MNPuzzleSta default: assert(!"action not found"); } sprintf(txt, "%d", s1.puzzle[x+y*width]); - - Graphics::rect bound(p1.x*v+p2.x*(1-v), p1.y*v+p2.y*(1-v), p1.x*v+p2.x*(1-v)+squareSize, p1.y*v+p2.y*(1-v)+squareSize); -// std::cout << p1.x; - display.FillRect(bound, Colors::white); //keeps the animated tile white while it's moving - display.FrameRect(bound, Colors::darkblue, 0.01f*squareSize); //keeps the dark blue outer border around the tile while it's moving + display.FillRect(bound, Colors::white); + display.FrameRect(bound, Colors::darkblue, 0.01f*squareSize); bound = bound.inset(0.02f*squareSize); - display.FrameRect(bound, Colors::lightgray, 0.02f*squareSize); //keeps the light gray inner border around the tile while it's moving + display.FrameRect(bound, Colors::lightgray, 0.02f*squareSize); if (s1.puzzle[x+y*width] > 0) { From 21c90fb23ba1f37c59e923ece1dd1deb23a83635 Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:56:40 -0700 Subject: [PATCH 11/13] Update Driver.cpp --- demos/STP/Driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/demos/STP/Driver.cpp b/demos/STP/Driver.cpp index ad4b1c906..0a3ac1daf 100644 --- a/demos/STP/Driver.cpp +++ b/demos/STP/Driver.cpp @@ -172,8 +172,8 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) mnp.Draw(display, curr); } else { -// mnp.Draw(display, curr, last, smooth(0, 1, tween)); - mnp.Draw(display, curr, last, tween); + mnp.Draw(display, curr, last, smooth(0, 1, tween)); + // mnp.Draw(display, curr, last, tween); } if (tween <= 1+rate) From b32a8fac687c5f26899d664f33d73446ff1d0cfe Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:57:37 -0700 Subject: [PATCH 12/13] Update Driver.cpp --- demos/STP/Driver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/STP/Driver.cpp b/demos/STP/Driver.cpp index 0a3ac1daf..6e5c751c0 100644 --- a/demos/STP/Driver.cpp +++ b/demos/STP/Driver.cpp @@ -173,7 +173,7 @@ void MyFrameHandler(unsigned long windowID, unsigned int viewport, void *) } else { mnp.Draw(display, curr, last, smooth(0, 1, tween)); - // mnp.Draw(display, curr, last, tween); +// mnp.Draw(display, curr, last, tween); } if (tween <= 1+rate) From 2dee0ccda9ff57cddcc91b72ab9ab7c479c8e28d Mon Sep 17 00:00:00 2001 From: maddy_ludes <111925781+tilo78@users.noreply.github.com> Date: Sun, 10 Aug 2025 14:58:52 -0700 Subject: [PATCH 13/13] Delete build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate --- .../UserInterfaceState.xcuserstate | Bin 27485 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate b/build/XCode/hog2 mac native demos/hog2 mac native demos.xcodeproj/project.xcworkspace/xcuserdata/maddyludes.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 3b3fc0fe357b63b84ab067547a7e87e23de17455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27485 zcmeHvcYIVu*Z<7iwxJ}u={=jaB-u@}DWoT)Y|4@>DVst<2`LK%(#URTD%=qjR8&N; zD*=g!QXneX?U zIdkr*Z*OigTeRAP2qS_R#3ByyNI-)|hfFthn48*Kt3&EK8YVZvxAG86Tl?scw)!ci z28-Dl;X9Vs%AH0T3r(|3jaj`yA0QcWs4!aUEG7}JSCH9gFdBk9kSFp&kthm9BQ1(S zu_zA3qv5C!6(Iu}g^E!LDn(_;h{{m~szddt0W~5Mnua=%8Cg&#nuX>f5#532qr1^U zbU#{xmZB%nlV}-w8a;!aMeERdv;n<{Hlf$hX0!#pg?6I%&@QwWeSi+4kI={Hb95A) zL1)pI=qt=(4)a*RGVFi{;lX$a9*P~Y6L!Nc*b94O9~^*#aU71v!*K#m#7Q_Ar{HXy zgLQZ$uE7)WB;1BO@pL>J&%txCh;PHU<2&$O_-=e3UW6aS58=n~GQ1qG#B1<+{2bnZ zU&JrrSMgT76Ys+Z@ge*nK7yU`C-^8nfluPI_)Gi^K99d80+A61GKdT&L #NSuhA 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 J_RpHl{|_9m_nZI#