Page 18 of 43 FirstFirst ... 8161718192028 ... LastLast
Results 426 to 450 of 1071

Thread: [C]Heavy-Rodder (Barbarian fisher)

  1. #426
    Join Date
    Feb 2012
    Location
    Florida
    Posts
    153
    Mentioned
    1 Post(s)
    Quoted
    7 Post(s)

    Default

    Quote Originally Posted by Tocholoko View Post
    I could give you my modified version of the script it maxes 60k an hour and you can manually use 14 urns. ofc ill only give it aslong as flight is okay with me giving to you.
    Please do :{

  2. #427
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    got 100k xp using this script, hoping to get some 6 hr proggies for the thread

  3. #428
    Join Date
    Jan 2011
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Just hit 99 fishing last night, largely thanks to this script. I used this for 3.2m xp since October. Thanks bro!

  4. #429
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    nice work bro! im 3 hrs into the script, luckily checked cause i was stuck in a random. hoping to get a 6hr+ proggy today!

  5. #430
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Here is a 6 hour proggy, dont want to get banned so im taking a break and will post another 6 hr one tonight, please show your support for 12 hrs fishing in a day

    =-=-=-=-=-=-=-= Heavy-rodder 1.35 by Flight =-=-=-=-=-=-=-=
    Time Running: 6 Hours, 10 Minutes and 27 Seconds
    Trout caught: 1819
    Salmon caught: 1400
    Sturgeon caught 1074
    Fishing XP 274870
    Breaks: 0
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    EDIT: break is over, now for another 6 hrs, praying for no randoms as im going out tonight
    Last edited by la102; 03-10-2012 at 03:48 AM. Reason: starting another run

  6. #431
    Join Date
    Feb 2012
    Posts
    8
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    this scrpt literly trolls me. its perfect fishing and getting to the fishing spot but it does not drop. it just righ clicks on the first fish, hovers over drop and then goes to the next fish and does the same thing and it does that till it gets past the full inventory and then trys to fish again. if any1 can come up with a solution to this, i would be very gratefull. thank you

  7. #432
    Join Date
    Feb 2012
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    In case you haven't worked out why it doesn't drop, i think i have. If you have a knife in your toolbox your first option is gut, making the previously second option, drop, third.

    Seems easy enough to fix. For now i'm just gonna alch fish and manually drop when it gets full. I babysit anyway so it's a good way to force myself to not forget about it and end up banned :P

    I plan on getting from 68 to 71 fishing today so I'll be sure to get a decent proggy.
    Last edited by Powerfrog; 03-10-2012 at 08:18 AM.

  8. #433
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    there was an edit for the drop procedure earlier in this thread.

  9. #434
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    did 13 hrs on it today, lost last proggy cause i was copying and pasting URLs. it went for 7 hrs

  10. #435
    Join Date
    Mar 2012
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    can't use, says mismatch in line 35 on the latest version
    " LampSkill := 'Fishing'; "

  11. #436
    Join Date
    Sep 2007
    Posts
    8
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    ph0ne delete that line

  12. #437
    Join Date
    Mar 2012
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thank you so much to above.

  13. #438
    Join Date
    Feb 2012
    Posts
    19
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Line 35 Lampskill fishing. Mismatch?

  14. #439
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by brother287 View Post
    Line 35 Lampskill fishing. Mismatch?
    DELETE THE LINE. for goodness sake read the earlier pages in this thread.

  15. #440
    Join Date
    Jan 2012
    Posts
    14
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Working beautifully ever since I changed the drop function, and deleted a line. Thanks for telling us how to fix those, you guys. <3

    Proggy:
    =-=-=-=-=-=-=-= Heavy-rodder 1.35 by Flight =-=-=-=-=-=-=-=
    Time Running: 1 Hours, 6 Minutes and 30 Seconds
    Trout caught: 270
    Salmon caught: 197
    Sturgeon caught 154
    Fishing XP 39610
    Breaks: 0
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Last edited by Cheezburgar; 03-10-2012 at 11:05 PM.

  16. #441
    Join Date
    Feb 2012
    Location
    Toronto Ontario, Canada
    Posts
    331
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Cheezburgar View Post
    Working beautifully ever since I changed the drop function, and deleted a line. Thanks for telling us how to fix those, you guys. <3

    Proggy:
    =-=-=-=-=-=-=-= Heavy-rodder 1.35 by Flight =-=-=-=-=-=-=-=
    Time Running: 1 Hours, 6 Minutes and 30 Seconds
    Trout caught: 270
    Salmon caught: 197
    Sturgeon caught 154
    Fishing XP 39610
    Breaks: 0
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    What did you change with the drop function, Cheez?
    118/120 Dungeoneering

  17. #442
    Join Date
    Dec 2011
    Posts
    3
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Can't drop fish it only hovers over use option then trys to drops the next fish but hovers over use option again and again? Any ideas?

  18. #443
    Join Date
    Feb 2012
    Posts
    152
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    FOR THE LOVE OF GOD READ THE ENTIRE THREAD BEFORE POSTING A PROBLEM. everyone delete line 35 and here is the drop function remade.


    Simba Code:
    Procedure FastDropSlot(Slot: Integer);
      Var
        TB: TBox;
      begin
        Case Slot of
          1: TB := IntToBox(564,214,598,244);
          2: TB := IntToBox(606,214,640,244);
          3: TB := IntToBox(648,214,682,244);
          4: TB := IntToBox(690,214,724,244);

          5: TB := IntToBox(564,250,598,280);
          6: TB := IntToBox(606,250,640,280);
          7: TB := IntToBox(648,250,682,280);
          8: TB := IntToBox(690,250,724,280);

          9: TB := IntToBox(564,286,598,316);
          10: TB := IntToBox(606,286,640,316);
          11: TB := IntToBox(648,286,682,316);
          12: TB := IntToBox(690,286,724,316);

          13: TB := IntToBox(564,322,598,352);
          14: TB := IntToBox(606,322,640,352);
          15: TB := IntToBox(648,322,682,352);
          16: TB := IntToBox(690,322,724,352);

          17: TB := IntToBox(564,358,598,388);
          18: TB := IntToBox(606,358,640,388);
          19: TB := IntToBox(648,358,682,388);
          20: TB := IntToBox(690,358,724,388);

          21: TB := IntToBox(564,394,598,424);
          22: TB := IntToBox(606,394,640,424);
          23: TB := IntToBox(648,394,682,424);
          24: TB := IntToBox(690,394,724,424);

          25: TB := IntToBox(564,430,598,460);
          26: TB := IntToBox(606,430,640,460);
          27: TB := IntToBox(648,430,682,460);
          28: TB := IntToBox(690,430,724,460);
        end;

        MouseSpeed := RandomRange(26,39);
        MouseBox(TB.X1, TB.Y1, TB.X2, TB.Y2, mouse_right);
        WaitOptionMulti(['Drop', 'rop R', 'op R'], 400);
      end;
    Last edited by Home; 03-17-2012 at 08:04 PM. Reason: Use Tags ~Home

  19. #444
    Join Date
    Dec 2011
    Posts
    77
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    amazing script. fearlessly got me to 99 fishing.
    thanks alot flight

  20. #445
    Join Date
    Mar 2012
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Could someone please release a working version of this?
    I've tried the fixes in the replies, but if i try to run it says compile fail.

    Originally script just fishes full invo, then hovers over fish trying to drop them.

  21. #446
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by ph0ne View Post
    Could someone please release a working version of this?
    I've tried the fixes in the replies, but if i try to run it says compile fail.

    Originally script just fishes full invo, then hovers over fish trying to drop them.
    Give this proto-type a try:
    Simba Code:
    program HeavyRodder;

      {$DEFINE SRL5}
      {$DEFINE SMART}

      {$i SRL/srl.simba}
      {$i SRL/SRL/misc/paintsmart.simba}

    Const

    //SRL Stats
      SRLStats_Username = '';
      SRLStats_Password = '';

    //General settings
      AlchFish      = False;   //Fish 'n alch method? (False for standard fish 'n drop)
      SwitchWorlds  = True;   //Switch worlds after break?
      FishTimer     = 6000;

    //Break settings
      BreakIn      = 135;     //How long before we take a break? (minutes)
      BreakFor     = 15;      //How long will we break for? (minutes)
      Bir          = 13;      //Random minutes to add/subtract from how long until we break
      Bfr          = 7;       //Random minutes to add/subjtract from break duraction

      Procedure DeclarePlayers;
      begin
        HowManyPlayers := 1;
        NumberOfPlayers(HowManyPlayers);
        CurrentPlayer := 0;
        with Players[0] do
        begin
          Name         := '';
          Pass         := '';
          BoxRewards   := ['XP','xp','lamp'];
          LampSkill    := Skill_Fishing;
          Active       := True;
        end;
      end;

    Var
      Version: String;
      ReportTime,CommitTime,PostID: Integer;
      Trout_Caught,Trout_Ca,
      Salmon_Caught,Salmon_Ca,
      Sturgeon_Caught,Sturgeon_Ca,
      FishXP,Fish_XP,MagicXP,Magic_XP: Integer;

    //Break variables
      w,x,y,z,RealBTime,CurrentBTime,
      BreakRounds,TotalBreaks: Integer;


      Procedure Loadvars;
      begin
        Version := '1.4';
        PostID := 841068;
        MarkTime(CommitTime);
        MarkTime(ReportTime);
        MouseSpeed := RandomRange(17, 19);

        w := (BreakIn * 60000);
        x := (BreakFor * 60000);
        y := RandomRange(-Bir * 60000, Bir * 60000);
        z := RandomRange(-Bfr * 60000, Bfr * 60000);

      end;

      Procedure Report;
      begin
        WriteLn('=-=-=-=-=-=-=-= Heavy-rodder '+Version+' by Flight =-=-=-=-=-=-=-=');
        WriteLn('Time Running: '+TimeRunning);
        WriteLn('Trout caught: '+IntToStr(Trout_Caught));
        WriteLn('Salmon caught: '+IntToStr(Salmon_Caught));
        WriteLn('Sturgeon caught '+IntToStr(Sturgeon_Caught));
        WriteLn('Fishing XP '+IntToStr(FishXP));
        WriteLn('Breaks: '+IntToStr(TotalBreaks));
        WriteLn('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');

        MarkTime(ReportTime);
      end;

      Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
      var
        mx, my, Pic, Pic2, I, B, H, TPH, Numb: Integer;
        TTP: TPointArray;
        Canvas: TCanvas;
      begin
        SmartSetDebug(True);
        GetClientDimensions(mx, my);
        Pic := BitmapFromString(mx, my, '');
        Pic2 := BitmapFromString(360, 71, 'meJztfQV4k9f7dtt44+5aiTRt0' +
            'zT1tNGmblShBaq4uwyXsQEDtsFgQ8eQMcY2nCHD3Snu7m4Dtt/3PW' +
            '/DWNeWUkbLgH/uq9cE0pNz3vPIfR95Xjc3F1xwoX7gDj/u702zLrj' +
            'gwn8ODw93CslTwsBhUPXp5A3UrAsuuPAugIDHR4SGdLTwu5dkknGo' +
            '+mIIDdTsuwYYl4e72wc6OBfqDe7u7igPDwwahUa5fwAGA6xAKBCUx' +
            'Os6WvmbN6wrbpzBJKLf2WbfNYAxED0JEh6TTcKgPN53W3ChoQB2gs' +
            'fjZFJJRHh4uEGn9ZFKOFQKHvX+ZlMcFhsRERGlIE8u8Cr/aVSPWIF' +
            'SJnxzD2igZt8OICnAnKLrIK9gmEG6wBZmychBvVunGDR8git6uFAF' +
            'SHIheur1+lKrN9hVuIzUP1HUs1l848zkAKEn6T2k4jAiLoeTHx/mx' +
            'cIdHp+/rZdOwcIFB/p7vNlIGqjZtwMUykPA56WnpaYECzEwpS/vsn' +
            'OYTZOjByWLz509802Rf2ZKPBmPeouddeFdh4eHB4VCjoyMaBPDsyo' +
            'pk/O9Dn1dcmzZpB1zhi0e3nRS76YtM6JxaI/3K9tg0OigIF2chtY4' +
            'hPn4+tludqGMiQvWB72hgzdQs28B0EGip6fdZmkaxl72/eRubUtAX' +
            'r2s0zDMwICA1jG8raPyjv8wMFlLt1vNBBzmrfbYhXcYEDSoVEpMTE' +
            'wbE29Iivj82ulXN848OCbz9ILBD6+fv3/17KVDW/fv2vrN+HFWJZW' +
            'A8fiv+1snQLqk02hZCWYWEb2yg/rM972CJSSHmqpWq97EwRuo2bcD' +
            'iPtikahFrHpwivjy8X2944QBvpIacwEMk0ImpyXYU/xp1w6un1fqm' +
            '2dgBvhrUR7vx+y70NBALIRCNptMLaK53xV637txcc9Qc3ogw1/o2c' +
            'Mh3DR/wrWrV548fnjv/KGNw9LamXi28EDcS3PUOwQ0CqXRaPJD2Wk' +
            'B9NuHfhuXKweOXWKSCPm82tj5f9Ts2wFQiGC9PklL29gr9Nic3uFy' +
            'UoheV2O4gwijkMvbx8rH5cjvnNgBQaPM7vtejNGFtwAwAzKZZDQaW' +
            'xi5U5t5P3pwf10XLZhTsIRYlmGKjwrwFxC+mzrx+Nrv/3jyqPyzdK' +
            'MXuTQugMsgvePWg4yLREpyWL1Y+G299Wfn94tQkIk4D4fVRCQQ3rV' +
            'm3w7A40kkYrLDrBN5nv5p6LL2apMPJUgXWGPcwONwJlMMKNb9E8vK' +
            'v2is4RFS4iwkT8+3320X3jWAF3h6EkIMBtCwozNl96+f39RNGyolg' +
            'ZKNj3MIeBw8xp2E80iL9h+RLrm46qvj09qAmzSP4CjEgnc8bqBQHl' +
            '4KRTubpJ2Z9/jmxU8aSakEVGkUx0shfxM10UDNvh1AB/k8bmFsQIa' +
            'O8eDKqc5Wfq6BpfL1qU4hgGzwuNxmCaHZesa9C0dHZUotvpRgfRBw' +
            'rf+k5y68OwBrweGwfn6aNrHenW3864c37h4YGaUgx6ppNquVSiY5H' +
            'QGN8jBGhsmYuN86a87/MixURsoNZvooZO/4AqkngWC3WRP8aOVT2h' +
            '2f0iJUTgbiZIqJ9iTg36TjDdTs2wFEA18fnzIjd1Qj6Y3dS+xKagu' +
            'LTCzkV48bIGd0gYGgTeaW+l7ZOCtWRWtpEktEQpdIcQGNRkml0sIE' +
            'A8SK4/OHHplY6FDTQJ7Ex9poFPILC4G4ERUVicd4TGvqdeb7XloBo' +
            'YmB5a2Qvssm5Fz9a50eMbnA69GtSwOSRFwyJjfJwmYx36TbDdTsWw' +
            'OwBUOwPiOQsWdsk/IxjXy5hBy7gUGjVvkYjIVKoaTFW/US4qkFQ3f' +
            '01onp2LQ4M4VE/E+67cK7A3ABFovZKNEqZeAm5Stula8qjuRo+ISM' +
            'JAeLQa9MucHYjFGRBIzHTy2Vh8ZmimnY4gi2TCJ6lx0FtHlkRHhXm' +
            '+DEyqnln+eGSIktbD7eXgoM6o32Ahqo2bcGIEXxjtiUAPqtY1u+yZ' +
            'dLGDiLKRqPw1b5GMoD0WJtzXzQYk8fP2hr4sV4k10ixQXnsgZEgzA' +
            'ZCcjqlXVTF7ZRQeosSw6BfIr+pwKpiBtRoOJ39w3a0l0L/1Fo8eFx' +
            '2O+sTnFq8+KshPkt/e6cPTgoWZStZ4aGhlR3kHeh2bcGmHQOm9U83' +
            'fJlnvzO6X35oawWUVwIetWXZZAV0Zhog4S4rV/kye+66sTEUrNcLB' +
            'S8F5zq3wFGBmb/4Y6vfgAKxcfHp5VJyCKigUVcWjXB6kuBgGCzmgl' +
            '4XJUPgxXF2u0KFu74jPbTm3mDYGkUG0Elk/6TntcFWAxGrw/qFSc8' +
            'tHDc/kllDjU1LSmBRqG8oVE0ULNvDcAilL4+vdL8to5veWx2L0gZa' +
            'Ql2CrnqvpgzPDaPN8AAb+xdNiXfi+GJTnJYP+CdFBTKg0omghbz4e' +
            'DR7/7q9n8EiKoMBj093kzGeTTSMW7vXzGpiYJGQOUEM8Guqjw2sCI' +
            'ul1OYZkrS0u4c29wnTkT3RMfExGAx7+gdLmR0dHpuqqObnf/wwf3P' +
            'c+Qd4n0hq77haaUGavZtgoDHW8zmltHcqwc3Lm2rLoxgB/hrq0sP5' +
            '4poZhDzq8bym3uWJGvpyf50f63fWx5pxSVcd5QH8lNHT/7786/zRR' +
            'gMmsflOKINY0aPnPXttPRI5ftyrPEtA/KmTqdL0tIldCzojguLRsT' +
            '4kNEebnnxUQwatcozB7IRERERq6Z+W+h9Y9fCeA0tM4ihUvq+s1EZ' +
            'qJSfRtM6hreyvebC+plxGlp6UhyZRHzD7jZQs28N4HvAIorSzRMaK' +
            '0BktYrmNk8K47JZ7tU+RqVQ0hOsAULP47N77vrIAEbS1KHnsJhvba' +
            'TQBzBRFpPh4+2l1wUYAjR+UhbktdotDofFCgWCAI0yUEIj4urq+Fg' +
            'sRiIWN87J+qJFzNH9O5aMad80J51OwtfDMD4swKSwWay8eGR/pGkY' +
            '+96JrRObKBhElL+AAFIdck3lDwN/E4tFJQl6u4p6cd303zr7iWjYf' +
            'IeBzWT85/7izEcVPxXVISr+CewIzD41wW70Ip/4YeCW/saMQIYhWF' +
            '/3Bb0GavY/B3Q1MCCgnZm344vio7N6WnwpoD1ftiLazszvYOE9/f1' +
            'hBzPPi40DeonDvo07KfCcwf35fF5YWFiuIyw/hB2pIEfIyX3ihf16' +
            'dqYQUOiXrKnBL4pEwrwoeYwP5etC7aypE5ulRNdOG5yHEGCwzRvF9' +
            'XIITmz66dCs3u0tfJvZRHhPFqzeJpwXsmwqqoKJ3d0n8NLysbEqKp' +
            'CNEquPQPCPfXznOVKH3RIiJS5tp766aVZ6IMOPT4iMjHxzK3qTsOO' +
            '0LgadJhEJvBUyXy+Zt0wsE/NFAq6Azw/WB3WJk0/Ikz+6caFtDK80' +
            'igtyoi5Mt4GarXfAdwIVh946w1odf4VCJqfE2+I01Kv7Vv7YQtkii' +
            'qNRK6uTRtAyZpMpQk7aOcxxfHr7IAkRmIlMKmnokUL7oBdYLGZISE' +
            'iz+JBwOcmbjcvQMb7Mle8eaj0yf+jh/bvGtUuyBIhqvOAA4c4QHIx' +
            'yd0vxp1/aumB5B/++mToFn15Lp4FpeHkpijKsrWO4x5dPOjG3T1kU' +
            't62J916c33vLcNpPqi0Cg3JvEsK6c2jN9yU+PAqG7omuviIK86jRa' +
            'EAOF4Wz757aPbO5D5eMKbL7VQkvrwWwdkh88EUMChG+9HUrOXh4eH' +
            'gSCFKJxGiMyo4NbWmRtYrhdrLyuyfIuqbr22dGt8yy921TAAZwetk' +
            'XB0an+guJBWFskeAVVyoaqNk3BxgwuAn6L42PlEbB4bgcjtLHy1/t' +
            'q/GWyQQsBvHV5XTgscuk0tYWSbMw1v0Lh2cU+rQtzOExKFW6/3xFN' +
            'CEkR8+AGf8yV8EkopPjrGRiw8ox+F4i0VOlUuUkWkAI25SUqU29ys' +
            'dknlsw8ObOnx5eOPjnsycn5/bOD2UVhnO8BIzqTx05YhQZAfyil0M' +
            'In881sPJDWEov+csmCIKGXCYrzLAVRbCPLxpz+seBEB4DBJ6xNuQg' +
            'feXfeUciiPtz6ou4Dzgm/MCQK//UfRXoXwDahtRZbIUIgP65lfLmj' +
            'h8b6RhYlFtxZNVj0uBKXC6ncYo1REIsn1h8fGqrKC9yoJAIZOPfbT' +
            'uCbYBvggLVBwXF2cyNk6LbFDVOChbXvZ4YPCvokikmuoVFbpASs/T' +
            'M8bnylZ381/YKX9vf/tuAuBW9YhZ1DFrYWrXz44Rnz55OaiI3+1Is' +
            'MUYioTa52kDNvjmclw2D1fIUh1nKAu6MgZhvMBjyrdrMIEaSlt4mh' +
            'tsjN6q0sMCXi689cgCPgolT8Qjwi2eXfrZm9jijN9lpaR4ezrVEMD' +
            'wP4O0wO+Cev7bXXF47FVw4J5ipUatqWRH9a/XSw7kg+S+qwyErKlS' +
            'KMSoSMpQ3Gz+qkfTqrsXnfhl+bFLRvbP7nz198r///e/J7cun53TP' +
            'CWYJqJhgnX/1OIkcaY6KhGw4JEV8c/ciUGHIIr+PokZfApcD9V2Q7' +
            'iiMYB+ZP+zswhEtjVw5C5edaOGwWFUoNxGPJeHeqhp9oZSdkwIRgk' +
            'DA06gUPo/n4+0FvNcUHWU2m6KNUVGR4RAt4Z+RYSFhOo1GRGugrjq' +
            'PGTcLY+tEnqdmdtw/IFTGxKE83FLjLBTS3/tx8LhIJKLVYrarqPPK' +
            'fO+d2tnOxIMuNUk0stms141rziwJ8tNsiim2KkGBwhzFqWkTGisWz' +
            '5ncxKSke76i7JRTiioUitxEE3LK3cDcPjT298cPT83tc3J2T7Cuh9' +
            'fPP7x09MH58nund989vgX5j5Pbx2XLO7QuEwv5L0vHDdTsX42/qUN' +
            'BoNDrg4Crg7OXNGsi59GMYcEJfjQlF/9xhnTXuIITq789tmP1/j27' +
            'Fn43Yeig/gIqtsalQxgmi8nMiwv3xHpAgjj109BNqxYDh6HgUf4yl' +
            'j7ALzgoMDhIBwYJhtiyeV4yUP0t81d10ghp2Oz4GDq16lL5i2bBpM' +
            'GeQcX4a/0M+kBDoFbjLZEwcNjXqdKMx+PCwkJDpCQI2tv6hDy8eHh' +
            'eqS+ErAHJ4tUzRx3Yv+/OrRvAN65v/f6LHFlJJEcXoK2uI5xHEyFu' +
            'jEiXXN/2g8mHkq2vOW6gUB48HjcnNR749oEZ3c//+mVHC19CxzZJM' +
            'omFgipzCvFWp5T069a+JNGAb+BNFnf351ScyaCLRUJfH+8Af3+DIT' +
            'g62hhvt2YnxJQk6Dvb+KkBDIOUlOhHyw9lQyBtFMQAaQY/WUGMz3J' +
            '9e5Rk/gsa/0pUHDMONkiI2XrGo8vHBiSJCFiP9EC6n0b9Iqc4vQn6' +
            '3N7M7+EQPLh0bEFLpZiOLQhlwcew6NcLaDBNNBoVsmRxgh4MQy8hl' +
            'hm5y9qpT8zo8OjGhe3DE/MMzNQ4KxFbS0ZD6hYCiS1KDIFwN6XA69' +
            '658sPjsjpaeMESIjzABR0MBzYsvXvn9h9PHv3vzz/g5//9789b+38' +
            'dn6foXuDQqrxrNOMGatatnhwK7J1GpWbYQsl4jyYhzMm9G0O8HdG1' +
            'GNLonqG2O0fWb+im/SRD2tMhBEkOEQ8yLDxhHhVX/QtgCtRqFfiRm' +
            'IYB/n99x09XLl1YPvfrBXNmfNk8sL2J1yKaWxrFLY3klBk5feNFez' +
            '5vdnnd9Fw9M9GPrgsMxNQ045Cy6XRaQIB/uiOmhZELn4xUkG0qyvB' +
            's1Yj+3ZvHyITUOo0V+iaVSkoTgkJkpL0jEi+tmgDyEOKVDwc/uG93' +
            'cAEuBbNhzmc39y774/cH+75p81ljNTzM6qdzoZPI4i3afSTQlfXTg' +
            'BvDeH29q+oUYNEMBj05wQF/u21U7tWt8/rGC6UMXEFyjFQsQv+z2Y' +
            'paZ+zS4sLFXw/5durXKp7nK93RmSNePex/AvE4LBbkp9bPz241Q4R' +
            'vaZW3N/MgyDcL4+QZWG1ieMPSJLOKfX7rZz0wteOlTXPAd36/f+vp' +
            '4wfwH7ePbbm2c+HlzXMvlW/c9uP44cXmIAnlZQvI/w6eBHyc3ULAe' +
            'IzNll3b9B0YG9rDLTcxuvL2a8WlFUlxuqmJgXlu9eSDo9MivUigUC' +
            'xmE9GT8No74zxugsMO1LdxCGt1R83BcdnnF31y59CaZw9vX137DTg' +
            'plYByqKkiDu1lSQ2CmFKpLE0MjvEm7xhih9Q/rZmXVuCJx7hD5m2X' +
            'FpIRpQQ3X/3zd5f3rX5y9yo4+J9PH8PoBiWLQZ5nWvQ0QtWjJg3Ur' +
            'Fv9ORSkVEg6ZRY5j4weky3d/8vniycO3P7D2LMrJlxeM6mtmcejYG' +
            'AewVMgD8IPZMyMEBGPVXUl0Fndy2GzkHEeZh/KkbHpv9849/Dq6Wu' +
            'HNlw/tvPurWs3Tx+4Wr7h9KrJR38YdPzHYbdP7zv5XZcuNgGLhG6c' +
            'GM1iVN04c8ZbuVyeGmcCZsIjY2wqKjyTrT0CyieVHJo35OSutUvHd' +
            'uzXoxPwn1fSSIiNyYnxQKK2DTSBvmgVw6V5oiButCpuyiFhMB7uDn' +
            '8ueNCSNiqwmdsndv7Q1do0N4NJrmqHWAwalCY8h/F58osrxoVIiUA' +
            'nfLxk1df5TaaYrCDmwlYqSBNjsmViBq4wKVIhk1YPjxW1zrSDc3VH' +
            'Ni+d0SsTBGPtO8FA5hlUkk5KQwZeZz9BKhsQPXWBAQWJkc3D2THeF' +
            'HgIkMU2DI4/9OOIa0e2PLx1+dr2Bafm9S8fk7m9p//cEt9PG0k7Wf' +
            'gQVTpbBd82994z1HJiVrcLy8ee/r7PkrZqsLfS9GgO9fVctdYeIvG' +
            'zqSOIT8Hs/9i29yM92B484RBD8IuHBgGZw2Fnp8ZDQC6f1gWkX2MD' +
            'U0jFZCRYEBN6HYUCQUMiEeek2JO1tNnFPrdO7bm0euLlbQtuX7/88' +
            'MH9Z78/vLxqPGQ6MP78WAOLQX9ZI3K5rDAlKlZF3fd506sbZ0KG5Z' +
            'IxLCK6zOEfbYwUcZkEjDvM1JCPeoAxXFk3FSLSk1sXT83skKVn4tH' +
            'uTew6Jq3q0daGaLYeHcqtYoPAT6PJDGL68Qkbu/vfPrrp9sWTl9bN' +
            'KP/E0TSMxfBEQUYuzrDEOWIjgwNCA3wDfKUCNr06G0Q2KIXCEhsiB' +
            'gcni+8eWXdz1y8nvine3E07qYlicIoYOOfiNqpLa6c9/f3Rk/s3T3' +
            '3XqSSSDYHRoqQE6XRV9uVhjKC1tVptUaw/BLQ4DXVFB/Xpub1AGtw' +
            '/tePJzfPACkDVburuD/IqXKepJUQ6mwJx1CdRurpn5P2LR0dnysAg' +
            'g8TE7MwMfsUj4lBwbQrS5EwcZNsb2+cD8TuydOLIJgGWUP8qe6xYD' +
            'MZmMcEfziz0OTW7Ozw08EGFTPzCYJ1fB7wXRHobE+/ehaPgYvAMW9' +
            'qVSl+f6ocYnSXdstOTBiWJ7ty8NjhZEqoPqHWdxx3iszEitHdGQP8' +
            'urUAD1jHhQw+lXFo7m6R3vHDDoNgre1fcOb71+PT2O3r5T8736uUQ' +
            'Ng1j21XUAKEnPAcwURoBRcQh+YJOQKl4BLMvBcwM7A38FKQKSBj4a' +
            'quS6iUV1lfcqDhm7AupH5zl9v4VMBeQW4vtaj6P43y8YGOQKxPi40' +
            'qjOFs/zb6+c2GvOCEEmaZJUSJE+r2GvgPHBNKSn2qFlL15SPzd03t' +
            '/KPWFFDClqff8iR/v3fjr/dvXIYN8kSsDKQpMpsaNXQhiQFfyUmMT' +
            '/KhAnq9s+BakE5h0kpaWmuiQiYU4LLInBz8sGqkwKxHy6d6BkY8uH' +
            'oLRgRQC44G5S7EZyUTPhmn27yo99ehQTjhr5kAcsympR8c3/uPRHU' +
            'ijU5t6RypIYDZKLiE9MVYk4OGxCLl2bsjW2CI4PqKRvckwEWfn9z+' +
            '3YOBnWbK0AHqgyBNmFsgem4QGy1w0rtuu7ZtPbV+xoYsW/gqFsNAY' +
            'ENr/2FmoGGNgYGCLaD4J5wHh68y8vvdPbrt9YCUEnD//eAY6DijZr' +
            'd0LIQkC/8mKj6aQXlrICIiZQi5r1zR9Qafwh/fu/NpeDYNKC2TE2u' +
            '0MMvJbWLRHcKBfrJqm4uJXdNDcPboB2r++e+mEPEUbE9dPyqnsmXg' +
            'cNtZqgl6t7KA5ODpVTMeVRXEkIv6LuIHFYoBetrL7wKM4PrvXoc/z' +
            'IhSklAB6SIihxnV+EFAqpbKrQ7q6j+nMqinNwtmGl1RFe9G+RqNuH' +
            '68clyNbs3JZcqiCQcTUxXPhM+Dp48eNPn1oz8Gp7YBLwEPQCgiQd8' +
            'h4FDAoEg4FwjlHz2xnFZemhOdnxKenpZmjQsMCVcF+Xnq1PEavLC4' +
            'u6tXECkNGwgsL2b8W8Tn1pVRAQxmNRhkD+1GC8M7htUlaOuhHR6yd' +
            'gEWSlLOYpNlk6mzjr+lnv3Nqz1eN5WI6tjg+yEshr1HkvgxOpgFBA' +
            'wTIjlE513f8PDRVImVg4zW0ovxsFhHzzZih++cMevrg1u4h5mgvck' +
            'xMNBZdQ8CnUinxDhvQlU0DrDf2LOsTJwIjL4pgR0SEUymkF5MI/2L' +
            'SaU0SI8FW5xb7AA8/MbkUYhRYkYZPAK+pfDqrXpv9e0WoHh3K7a+V' +
            'zMYVK5kgdq789jXEWAhZQA6BBUHeSU90cFjMV6Y05yJJo0Qr2OHeY' +
            'bYLiz+FYQJ7hGwFfYfpaOFQN85uZPShw/8qeYS5w1ps7hsKDgVsUx' +
            '+kqzzpTmWn0WhamCVErEdqAO3o+CYPzu49+/Pws9sXHzu079KlS48' +
            'fPXx85fjJ6a3By+A5FBilXFbNNBLZreOwC/IbT20VevPK+V2fJAE/' +
            'BxUfFhpC9kTKmMDIYIAFSUZwHOjMyWkt4fk/u3/94pKR3WMFHBI6O' +
            '8FE9fw714AAT4w1c8iYfcPMG7ohVy+L7Boei+H8W+cGStPkKFCg2/' +
            'qEXFk7GVQz5Ov0RDuNWsP1ImRfgEhMcNggaJ/5deKG3qHAXvxeXjw' +
            'WhUKJRMJmqSaHmnZyydj1Q5PABkL0urq8ZsIJiGbTxg4amyVL8acD' +
            'yQSp0jrBv1maLS01xRiqC1QpfKV8MYfGpuCpBDTQKgzq+ekd5DCPu' +
            'xtMKAxZwsD5i8haOUfEpeMw9bOxAu0z6LSsuCiguBu7+h0clSRj4k' +
            'Ai+Uq4ztxKJhEjI8J7JsqXdgm7d+XsD2W+Sg6hZaxKrVK+1ikvCNR' +
            '8Pi8vxQ5BY+sg243dSz6KFwH/bB7GjokxsqjI4lLHti37xAvP/Djw' +
            '3OKRQLSykqxUUtU7U8D5g/X6VtHc2cXej29f/ipPIaJhW5tFel2gJ' +
            'x73zzyI1LAqsiNnWZe3Vz88f2BstgzcEz5TaNMIeP84ZVFfzfKRZp' +
            '9/rB4d6sUzVKmU+aFsMQ0zp8T36b1rh0YlgkVBGCHjPXKTrRWXket' +
            '0kg1yeqcE5XdF3o9vnId8QfNEgY0VhrMzkuIC/FRCLgN5t4WbGxGH' +
            'jtF5Te8Ue2nX0tbRvJZJQVXqiDpLtTSPDwZHtvpSdvUOuHdi66PLx' +
            'y4d3r78h+m+HPzkEt2Na5cvr5n0Ra4cIhvMco5JzaJXrezh9tdR9l' +
            'hL9NiymDN715VP75wTzGydEBDgr30xBcABwsPCQqUkLxZuVrEvaCs' +
            'IvNe3zFnVUQPBE3wiL0rBolOeN4hYr2e6I0Yr8Dy36JOJTRTQyaw4' +
            'I9UTOY8ED4rFYqYnwJwR4K8g/vRLEDGIaBAsvj7eNbJo+EO5TNbaK' +
            'u1g4f9+/1abGG4bs0AmEdeo0yEGMpmMtMRYoxd5Y0/D1c1zm0dwdC' +
            'KiLqCG9dtaAH1WsHB+Mo5SypPz6XwGERgLzDj6rwN+dWQv7vV65gR' +
            'MyEuhKDNydWLi2QWDvi309mLjW5UWkrCIAZI8CRHhYT2SfH5pH3T/' +
            'zo3VnTQgM1tZpVo/DR77Gqc1nEonKc6OlL3tbwFV/nG6FIJGO4sQl' +
            'CyRgHeviI2JDpuKS9jcXXv78DpgZa1NAjGfU3mwYKUymbQsOayjlX' +
            '/rxI5tPbSgDkA9BekCCbiqWwYwAPhw6xgeDO34tDZHPs8KlZGAQ4H' +
            'WCwsLqxz0GqLZenSoF/AkEGJtFlCyIJGA5FzfPKt7rJBFQtRTSWKI' +
            'TCpB180gQfWHh4V0tPDObZi7Z4jZX+gJQ8hJsat8vYHwvLj4iSgyJ' +
            'r15VuK0pl7wWJqGshvFmyrfdwZ/AddA1riIaJ3I86dWKujSH4/vPX' +
            'v65Oyp4+mBjDGFoXs3/frwwb3yj60xPmSYYnABSEPVJcDzdYaggEF' +
            'F9j0LJ55a/lU3O79tarBWo35hadAvEJLNHDrwmsYGFsRb+K7rW79f' +
            '18XPrqRA4IVs6zBHgdG6/dV/OpWSHW/M0NF/v3OlnYnHJmFMEQbnA' +
            'MkkktVigoQOU3nvzN4fW/hC8AfmH/PyEm3IoVmzSS8mbukVfHJOTx' +
            'hyXmwYkM8amQmFQob27chalujZ06df5im4ZEzT+DCI7f/iJJZ7A/j' +
            '+mwAxofBwFY9QEMp6cvsy2HBbEw/UEPwVCY+ODAnqkeT1cxstKE1g' +
            'IxDngTQGBgSAN9X9K5zvbIqKjMwMYkxv7v3oxoXxuQqYo/RAeoghm' +
            'PBXKgGbDwnWRSnIX+TI7xxZD2kUNLtW/fc9XAg+YKWNkhyJWtqhmd' +
            '1PzOqW5EcH9hJtNBIJNawSQ3bQ+vll6xktjJxnj+/3SxACZwOnS0+' +
            'wMmh/z3U9Nkv/q9l6dKgXcL4+stiuBnn7Ubzw92unVnfyg/iG7HwF' +
            'MwMD/Ot4E7lCpFCy0xJhru9eOQsED/oDspTNpFcJO8jCl9K3V6Ji6' +
            '+clR+d+ZIdnEh1d+VvA00HERSrIwH8+yZCAWHh65wqIrz+ePb125u' +
            'jxg3uOb1t+acv8AyMceQYWPCUfDj7VYWIx6DWUH8SgIct3LEhaNqL' +
            'gavn6SU28OsfJgwL9Kz8Q6F6gP8IrfNi4X1qr7h7dcHvfsi3d/WNV' +
            'VBISd92KLD4QPP8+OQBxj0ErSIjoYObfPbM/R89sHcP14iClyfBYD' +
            'CQs6FWCH+3s0jEHhltgmmCyMhJtTHoN3XPOKZDJQkcg8IfLm2bPKv' +
            'IFwmm1mKuzbucxp8jIiCw9E4z80sZZu/oEAquB79Lrg97ZC+N1Bzw' +
            'eOo2aGRcNAXxoqgTixpYB5m8njMKikF286CBln3jJwjb+D+7eXt9F' +
            'GyYjAS0JDtJV4e2vBJiESqVqYxbmh7Kul69Z20ULkrlVDA/chEz8+' +
            '+wuTLe/1g9c4Ot8r4tLR0coyBS8R3ClktpIQSFjVCMd45fWyjvHt/' +
            'Z0CNU8QkqC42WVLvA4nMVsNkiI2/uFn5zRVi8hgm0VxwdJJOLKLLR' +
            'em33+G8h7pevJoV4Ah8VChIeECLHiwHDr5dVfgcCHiQNdiZyCJnrW' +
            'cVIqzpZLOmVGrBvZ5MSiMZAvQCwjg62pSg+MtCiCc/XghoWtlS2MX' +
            'BCnL6YDRJNcLiuzeTOJ6M5W/ulZnYHq/++Pp88e3n506ci17QuOTW' +
            'u9qI2qq40PZAb8Ol5Di3cg0an68ovzEHJ+ZvLIRtLbVy+u7xNZFMk' +
            'xm2KqxG08BmWOicKi3ZO1tJPftoevOzA0Oi2ADnYCTZY5NFW0M/SU' +
            'x2EVxek6mHnAl0oiOfnpcWDbwDd8FZJWdh+IFfvHZJ2Z18ehpkHoL' +
            'orXV7GNykCjUEFBOosvpYuN/+B8eWYQMyWADsS7ijB0ZsnQ0NCCUH' +
            'aQ2PPglwXQVYuSyvREpyXY36OqLLUAHjfoNbAHPgUzt8TnjyePjq5' +
            'fMKAgGvgeRIlhOdrlXYLv37y0sgMS5MF+gB544l+vyi58BYfDzku2' +
            '+gsIez/LPjW7u1VJNflSgA0Cn6xsQTBfwGRgcjcPsh4cnQpMXsXFQ' +
            'yRxzgv8rUIub2kWgaPdPLLx1w4aZB0mPlgkEr7kHR/IckpRajRyie' +
            'bM/s9z5XRPVJMQFojlyqbVEM3Wo0O9QEVJLnZ+fBjE85bR3Ifn9v3' +
            'YQulcVGmeFCHg8ep+5Qqxf11AnwTRqU0L1vaO6GITaFTK6s4C7bGY' +
            'jII0+6QmirvnDoGRFMYHIxz7r/5QKZTkOKSYZK844bXNs+8d33x1w' +
            '4yr66ZcWPwpaLe5Jcg2GUwiEecBrtrKJAwLNVDIxOr9dDqayRSTE8' +
            'zcN6PHiR8GZQQymmTEsZlVS7PCEwZG2j1WUBbFub7thzPf94JHwSQ' +
            'i6zAt7d5qtapK6kfOuggFLa2K4gj2g/v3ZvdKkVboQQGDWJzp8GLh' +
            '1nX2u7nrlzIjByhcszA2GNvLyAB0hIy8J8JCJXj82kF9dEIB/Hqpr' +
            'epbY5xjCQkJATOWMXDru/jBk2kayoLwXmbzkcuk71FVllqAQaNDQ0' +
            'MCBAS92HP/4MiHl4+fP3OyV5zAqqRMG1Cyqrvh8YM7EDSCRER4qvD' +
            'J1w0abhWZNyoyAqjd0FQxaMwesUIKHpWXZAIaX8UqnDXoiiM4Z9dM' +
            'W95OzaVgmscFcTmcFwtiMVERMiZ220dhZxcMsvpSE/zoBkNwjWuzf' +
            '5miCaLB9hFp5xaPBJkJmdpiMVc5olbvzdajQ1WGs6SYTUUFc93bP+' +
            'TS8rGQcyFFQqIM0gW+FvVFzvjFOYaniu/fuTUwWVSYWEO1DbeKgO/' +
            'tpejRKHjrV22Pze1r8qE47NYXNxzBcjQaDaSSwgj2jT3L9g0Ia2Pi' +
            'FUWwS6I4MDpIyt5sHDgLOKleTMxLMvt4yfEveQsk8v4IL0Vrq6ydm' +
            'ffk98efZUpLozgvKxwEmaV3nKg4kn332KZFbdQyBha+AvqgCwyoLv' +
            'HgkSrk0lIj1ylGVs2fBvGBjPNonJnqL/T8Mlf+9N61IaliBhENozM' +
            'ajbVUnkcucAn4xRZvJQd/Ykb7H8p8IeCnx5kqb+U75UlYWFizcDaX' +
            'jJlcoHh8/SzIWIYnKsqLDFzxfakbWTvATqkUclqcGawXpN+ZOd1Ap' +
            '9y5fWvN5P67flu856uWJ2d3u7Zr6eAUcVe7IDzEQHz9ev7PTwvblE' +
            'BXTv04eHc/g4KFByUC7K6KVcAnRUJhWU7i+Dz5o1uXejkESX7I6of' +
            'TI5yrWOnxyAbuzfI1E/IUwO1zkyyIFK1hXM9f4tDOgbzE4dG9mzCD' +
            'kGiyk+1VghWSRMj13Gw9OlTlr2YxmbkJyHnp5uHs+6d2zCryAYqIQ' +
            'bllJVrp1Uoq1dqUG5vFLMpNWTog7fzG79MCGXEOu2dNF/FgICHBQR' +
            'BYLh3aurK9uq2JV3GRzd3tubylNUqwgPeVTyw+MbVFjA+FgPGAIYN' +
            '845AwwMHAcYDGF8SHh+gDmXTKyxZsK05FEuNsZjkTt7az5tQP/UJk' +
            'pPykaBaj+gFXZKMc9KOIhu2XKHp05URJJBseCBBjiOQ1rkSBs6uUv' +
            'kBjwG3LP0vfvXElcADoIfz6oGQxtAAcGzgbfHWiw1ajUqvcFIigzC' +
            'CGQ0W9tf/XAUliDhljjIzAoJ+Py/k6VGNUVOMQFvBMCEdP7l6dnK/' +
            'gVRyGyUi0vdY0vcuoOLEsKjOJWUQ0aPDrW+b8+fTxs2fPHj18cP/q' +
            '2Zt7ltw7sfX6yf3LFv+SEMhjUQive1zEeZLZbjVDihyaKrl7fEuug' +
            'UX3RKfEV61d6bwdkJqcCBT0+NLxh6e0jJCTgZO/qCWFCFUupyg54q' +
            'NE4f3zB3P1zAQtckWiekp6cbukNCnEj++5//P8Y9PaQGttrFIfb68' +
            'qLLGi1FV9NluPDlUZSJ4NDEjS0hVM7K7eAReXjIxVUbEot4JQFhjz' +
            'a9UIcqbg3s0c+5dN2zK2KQTAyleQKo0XeX1bRnrat829b58/0sXGa' +
            '5pielGUCRrx9fHO0DEgHv7xxx89Kzhk62R9dFSEXusb5iePDPQNVs' +
            't9pHwWjYSp9UaE89h8qUmqFRAgTy1uo/Zi4c3mqouNYCEQ4aOiohr' +
            'pmJDxD32Re2C4BSIwGe+RmRzLoNNqdHlkxcxfC7o4xpt8aGzmufKt' +
            'cwYXr16xZPPInLsnd2zr4a/mEZD96yTzK/evoalgfZCKR8gPZQFLg' +
            'SiarKX7KxXOX4KsB7nDZjEl+tHYJHTvOAHQoXVd/JQV95FLYzWVV2' +
            'vfd8BAAvz9gWkbpMQDw8yPrxwHDf7//vfn/wDPfv/j0R0II48f3t+' +
            '/d3eX1EDn+djX2j6CiZCIRaVGPsTz8jGN9vQzCGlYkMlV/Ne5Y2Wz' +
            'WiEvb/w48+rOhb3jhWAelVeenYVzu8cK1/SKOP3zx+GQkhKN1WuLg' +
            'XWBtet0ujKHhkZA9YkX/vHkUe84oRcb77Dbql+iqfdm69GhKj8fBp' +
            '2elWB2ko0HZ3ZPKfDikNAgc5AITHq9t2oik+6nGtPSeuXi2dnFPiW' +
            'NbDWLFGTvgNsmP3XdV52P/jIyP4QVbYz6ewHHw90QHATpBrL2jZ0/' +
            '29W0jlahv9aPUHE/z+Ovn7pYS8XmlCZCQbYpqde3/TAhVwHUN0Dzd' +
            '7VJ5DYoGsViMUHD5oey4UvHZEl/v36mzIi8MbBVdFVzqtK4IThYK/' +
            'CMU1Mhhj+4curu7Zu3L568vvMX4DYQyYGwFcXp5DLpK6M3fADkJA1' +
            '5AR/7z2dPwAYGN1LKWYhqw6BRQoEgNd4WISeJaJi+CaIbOxYcHGFz' +
            '7s4naGjBwfq3UxXt7QDUlsVsAhLV3c6Hibi28VvgGI8uHfnj8T3kj' +
            'mcFIIQA+zh65PC8Od81t6rEdCxkzzpGj4q4pAU2Dury9oGVQ1IleI' +
            'xHeqKdVKn2pnPFIDwstKOVv6SN+v6V05DgYKIRXlfpmjYOi42Ojk7' +
            '2p51YNHrrR2GRCrLRGFVZ1DurQnHYbIvFUhzJoXmi0gLoJ6a2PDqh' +
            'QCfyhGAF7ly93/XebD061AsA2dBq/TKDmKDl93ykP/djf1NF0VcQP' +
            'v+i+jEYcHSYfkZ70+Wju3rFCa0WU42iG3SU0lsxpEXK8V2/rf7I1j' +
            'k1UCH7+3VaMMywYJ0n1h3k5MOrp7vZBdmN0qvXP68LkCcWFABPLD2' +
            'QcWP7/E2D4z5pGe/NRnSTe8XYqRSKWq3OSnGYfSngle1N3Kvrp23s' +
            'ppUysKDUYu3WWu5UgkfDhFLwSJFteG6QCh+cLz8xrVX/RJEPRB2UW' +
            '6toHnKVuw6rQ8iQDUEQqyEjPLp8bNNAy9ejB0Mkx6LdFRJBk2STgo' +
            'UDdvFpIynwdohRyVoaqFERHZsQa6WSyR+GQnH7awc22xEOHGDfkOi' +
            'j4xvD7H+T77VrVKMLqyeBQnly6yLwDeSeOLCPp09uXDqzdfn306ZO' +
            'bhQmgV/B1aEoPDzqEL0OZq1ZGOvpg1udrXyLL9WAHLL9xzFsXWBAx' +
            '0TV+MaK+7evrevsB0Gj1OEnl8sqk38gojnxxoxA+r1LJweniDta+N' +
            '4yscdfxzKBJZJJJGDsBbmZbWN4GTp6j1hB+cfWZw9ubumuBVZQVHO' +
            'h3fpvth4d6sUjQqoBx1shXIPFAiccnSllEFGgoB02y+teQ4YPQ2dy' +
            'srMXf1pavuSbAXmhamXVMvVOgPYJDlB/3S3jyrkTozJl2ekp1Eqjg' +
            'EekUyk0fEJRJPvmgZWrxndrZFQxSK++lFcd0FSQxltEw+boGZdXf3' +
            'WxfNN3k8bikcu87hwmLTDAPz0xFoioLxcPcmNMtuzc/I+ub/0eeJe' +
            'TbCjksloMEY/DOawmDAo5B3tlzcQnty+fmdMNgoaEjoXAC8EkJMRA' +
            'qNuhAvgWvb8aAlp+CPPalrlXDm2eP/MbaBnCRYeCJNAm4XLSzObeN' +
            '7bNu7BweMtoLqRjGFpBkpHH435I1QVhLCKhoIXNJ9fAvHd696AUZF' +
            'V5eJqk1Mjpnyhe2zv86Kye17bOu39619M7V5wB5MnjhxdPlK+Z//W' +
            'XY0cnBvJgrmvnHvDcgv1VAioG4gaE6CXt1B/nBaqk7Bd35YBpBAYE' +
            'tM80DksV3zy5e+9QS4wXpYmBpQ/SVU6CFZJc1gqpBcH5/cGdMVmyF' +
            'qXFdE+0868IeLxMKk1IiO+Ra5xeqDy0cNzlbQsubph15+ROZH//04' +
            'RgCRHSAbPaKwsbotl6dCgnIHYplb7NwtiQXvcNNp6c3jpEihwXKbN' +
            '6SSXi1zVI+DgEulZNMzfNGbXmi7atC9L5XHbNByMJ+DhL1IKPS4+t' +
            'nTc8Q6EP9P/HXR43Nznbs4tNkBPMPLNg8OWL5yeNGsijYPBo5MTma' +
            '3UKPuzNIwOXyw1mnftl+KN7t/bv2QUebZCQ2hQXwOw41LTxuYq9I1' +
            'OOfV0CTOOP3x+UD4sJkZHgIaQl2GupGw9/DrEuwxEFJKFnrODukXU' +
            'Xl4z8LEvmw4ak5wbKyGw2VSn9V3s/lVJeVhAjHajLT4Mf37+9d/dO' +
            'FZcw4YsxTUJYeQbmxu7+t/YsBtL+SYYUXAO6B51XKX1f6wLXuw8wO' +
            'R8veZ801foBtosrxtlUVC4Zk5OVGR1hKGmeP6JtZr9E8eQCr80DYk' +
            '7O7Q0B5MHpnRCunSsep8t3LJ8xevSnwxP0Eki7ZDyqxjdTwB/5Sjh' +
            'gA5l65uU1ky7uXjFv5lSIw2BZeCwG5DNyVy5VNyJdcvXwlgNjsxL8' +
            '6BYlxWSqOpvQeIC/n7PiyvmVX62c+VmACNn8AurPYTEjI8LbZFn6J' +
            '4m3TOl1/fjO3R/H/dRSuXLK0IM71t88XX706+IYb0pxYgj3r6tMDd' +
            'psPTqU2197DUB0IZq1juGCfuyXICThPFQ8Asir6q/BeiWQE/ISUbd' +
            '8+55lM37sEZudnV3lRvCL72Ux6SXN8tfPGrVhcu8OzdKrV0wFydk4' +
            'DbkfvX9c7t3zh8+fPf3jzMmFNrVBTpPzGSwaiUjAgcs4S1zCf2DRK' +
            'HDXGlkq8PnSwqZtTdwj0zuAjd27de3IgT3bt2xcPaZs27hmt8/sP7' +
            '9szNFvyu5dOHL/7u2bB1bNK/WVM3ERcjLkl1rWhJHDonRK0/hQeP6' +
            'zi31Aic8s9PEXIJc1gTYkOkAI17aBUh3gIG3zHGmBjGNT2/z57Mnl' +
            '8g3lW1ad2rN+zxDzkS/z7h7dcOfAr2AkAUJPiEvR3uTIyMg6kpn3C' +
            'JDu1RLmV31Lrpw5sraTn5yFK40WyGVSmG2wTIYnOsab/FHfviNzVT' +
            '0cgq/yFFv6hh3/ruuVDd/ePbbp0dVTjx89PLlv85Ipwz8fMzIvISp' +
            'QyuBR8UA/Kle9QyaOhG6VEwcp48jEwgfXzu3avlnGwEkZOFOItiQz' +
            'tp2Zv7Ct/71b1/d+HJvsz4hSkKu8t/p5V93dDYEaaApC0PE5vbas/' +
            'RWEDt0TFaYWFednd7ULFnaNunH5zOHJZX0ThH58T5Ab+UkxQ3u02b' +
            '5kxu6hyPIU5GtvqajqamfDNFuPDuUsGtzSLAExfnBM+qHRyRAx4GM' +
            'FCeHIsZbXZ78wO75ycf9cw9GNP88s8bOaomouU+DuLhUJupdm71v7' +
            '04+9k1Li7URC1Vu68N1AUEcM6Ln6k4L718/fv3j0+vkT+7etnzN+2' +
            'PD+vVq2KEuOtxtDdaGB6hCtd6hSAI8L5D9MvRcLB7nD/Z9NAc8fPa' +
            'jnjllD7108dvHXL058237/yKQ9AyOXtVf3ihOafSjA/Jd9PXDex62' +
            'PrZn9VWNkc7OtiSd/VTV1NhlT1shs8qEcn9Hu8Jg0kBI4tDuXjG6U' +
            'aIPU8LpsDebIpOZ8lik9tXTc1Q0z9g2K2D0g4uqWeQ8uHXt87fSDM' +
            '7v3D46MU1MJGHcYTkr8a8el9wIwHhoB/fPPPx9eO6+nQ5CjZ4aGhF' +
            'ROYWBjEAeEVGxyuO9HnVsOTRHDTI1Ik6zp5Hf4q8KLK8ff3Lvszrn' +
            'D54+Xr/n202+Gde7RtbMjwt9PxhUwKWQC2vlKTTTKPUKJ1GXaOiDm' +
            '/tl9kC727tqxcsWy2Z0sv3QIOrZiysUN380q8oHcESYjQQpg1rShB' +
            'n/gJ2EkaWldbHz43isXz/06f/rPP8ydPbTlor4JZ3atPL/6m++KfI' +
            'EABAqJzZKN/n5qNp3sL/ScOOHLFX2sVl+qkIbVVBPyDdVs/TkUiDV' +
            'jRJjFlzImW/r7zQutYrgg6lMD6CDuMNXKC9Rp0t3dfLikT1slnju6' +
            'f3SmzBIdWeOSIMJFxdwxQ3qfP39+WnNlZEjNaR1ZIvNEj+7XceeyW' +
            'Yendzw2vd2pHwefWj39xJ6N+7ZvWDP3y0UTPlo0+ZPlC2atXfvbiu' +
            '+/mf95n7Fdm7RqUcqnVK13Cv/HJKLHD+n26/C8ISmSzCAm6Ah4IPA' +
            'k8Wh3MR3bI9+mExFJONSunTt29o9A9kORl/XU9joDN6RSh3t2fPS0' +
            '5j73bl93XiMCzdI42Szk8/5duTwIO50b27etWfxLKyVoqx/KlHsXT' +
            'TpycP+5QzuPTGkFwc1ZEbd5YphQIPiQljUqA4b16YhhU8aPaVeSr9' +
            'f5v2yRDfg8EYeSMnGpUX59OpQMT5UUhrO72QXTmnntHmI+MafX+TV' +
            'TzmxfenjfjlULZk6d/HW31s2S9CLkkmbFxgHMdfv8pJVj2z68f+fK' +
            'pjnnVnx58qfhJ+b0PjAibkITRWogQ0jFJGjpsXYbg0Z9Wb01aGRQv' +
            'z7L+9ge3r56af2MY7N67p9QtG9c3vZegWOz5clauoCCKQznxNrtfA' +
            '4Lg0LmDnQB2MmQXh3bmnnNEiP43BoSdAM1Wy8OBf9ikgllRc3mFPt' +
            'c271kYzctUDWkiJDD8ibr85AL+rYp2LlqQe84od1uw2Fq5hsSBm72' +
            't1MPb1oEbFMf6Ofx8l0bSA3dmyd+U2boZOU3DmGB2AeHAm42IEn8a' +
            'YZkcIqkq50P7AuEG/yzZdMsf28RCV9z4RoQLJ2apXya5xchJ2n4BK' +
            'M3uczIbZIUHR0RImEjr2YAUbxgaPNLm+Ygb+CNt7y491oLgP51zAj' +
            '5dULPkigOnYBqnhgulYjreGu4RkC8aZ1i+KK1fWQj6eQvR7eziQNF' +
            'xJ++6A351KakELAexRFsP436A1vWqALkHCYOxaUAXX3FMN0rAgg4G' +
            'gT/2CBpt45th+bpmoWxgKsXVhyGbB3DA1MckyWbUegzt03wlK4pow' +
            'b2yEmJBWMAZxjcvvHSz7uMz5WB8UA2MXqRFUwcGY9cIy2zKEJDDGS' +
            'SZy2kzpnExw7ssnJcu1GZUrBP4K5+fAKfgiHhUUBE85ItaqU3iVC1' +
            '7D+kFUjlfBq+xrLJDdTs88+8sUPBo+vbqax856Z9M3qkBDCQ8xuOo' +
            'JddnKk7YMY/HtCze6pfSLC+Rr7hXkE153w3Y+Hsye0KUiuqY9V+Js' +
            'pdzsQXZif2ap7YycZHKqvzCMDV2SSMkkuIU9PamXiNU6xh+gA+6xV' +
            '1Y6ApiI0wBYFeXI1CIOUx6SQ8roIcwI8PG//DJ20vbV+UEkCzW2u4' +
            'iFojEE9PCx+YE1icFe+tkL75dVR4GJiK+A7uwCJhQJts+W35/nGNw' +
            'QtsSqrJZKrlvPqHhNc+Pe7hDnGVS8aEychF+dl9msU2DWP5cgjwJ5' +
            'CL6Uh9ISywyjwDMyU5kU7CQswnYj0yglhDuxQVR7KBZMIn4Z8tjdy' +
            'k+FiZWEh41UFrJyD+lCWHfVJqidNQgf/oxMRm4ezcRLM+wI9Jq+3g' +
            '5SvYbMM061YfDpXoR/vmy8/GdW3cPV2XFylXeSvq5RY2OCLDE03Gv' +
            '5Stg6v26NIhUUvzEjAgOL6ywedMDI+kFY2AqFOwg5XiYLVMp5Kp5Q' +
            'IJl04j4jCveI/rP1p78VMZEEinTfxi6/dj4EkG64PqflAWhknBI5v' +
            'XL46FvyHcK16NRyTgwtTir4Z0vnL58o5P00DzZqbEvewavgsvANOB' +
            'reDtMnA3CcWgFIVqvcL8veFHr5arZHwmlYj+60aDR4VmQT4ppel9h' +
            'ZBeJTwmiYB9rfrwIBVoBDTEHLBMrZdQxmfRwPpf560cb7NZt/pwKH' +
            'Bh+F0ph8KmemLryezr1HOkkpLHv1gHcHd7XqfOWYqquvu/CUJlpGF' +
            'DBjdKtHKY/7F7InVQZZIe7Uo3zBh8fuP3fROEZWlG6cuv4btQI/5h' +
            'LbWWL3v+yTcwpzdv4W02W7X9f+VQDder9w6Qqkg4j3p/hdBroeLwP' +
            'y0jOW5m78zrl84u7xLc3SEKCgz4kM6Tu+CCC/ULPA6n91d/2qXg+O' +
            '51e6f1AL2ZkJBAefkhNBdccOH/OFAoD7FQ0LljhzXTh57djNTkL8x' +
            'J4XM5H+rGqwsuuPCGqHgtCCnOHDG9X7MrF88u6xnTNTNcrfT5sDde' +
            'XXDBhTcBBoPW+HoN7dn24Kal+2YP7JsgMkXXXL/aBRdccMHteeE1R' +
            'kFe1sLPOpzft/bLXHnTvEZIdSmXQnHBBRdeAhwWG+yvGtuj+fkTh9' +
            'aOzO+ZE6FR+b5WvTUXXHDh/xQ8PNy5HFbrVi3XzBh+Yu3coSnihPg' +
            '4MtG1h+KCCy68FEA2DP7K8X1KLl28sLRvXPsm8VKxyLWH4oILLrwM' +
            '7u7ubBazuFn+qhkjjqz89tMsH2NE6IfxXgMXXHChgYBUeVV6jR3U7' +
            'eypY4v7pbZqmlXjVWgXXHDBBScgPtBo1Kzk2EVf9jq28afRTbSRIR' +
            '9UiXIXXHCh3oFGoVQ+8o97tz22Z/OqkUXtCrOFfK6LbLjgggsvQ0V' +
            'JeXJqQuy8QU3P7NswvkBtivpA3tjoggsuNBBQKA9vhfyjltn7V83Z' +
            '/HW3ngU2hVzq2kZxwQUXXoaKd5USHDbLpELtzetXJxd45WSmU9/gh' +
            'TguuODCBw/na+hb58at/qzk2IopA5PFBr3OdYXNBRdcqAUoDw+10n' +
            'tIru7EtqWr+8V2zgiRS8WuFVEXXHChFqA83AO9hZO7JF8/f3x4mqR' +
            'xaiyDRnVFDRdccKEWALMQ03ELZk46vHJmszC2MSqqXupCu+CCCx82' +
            'MCj3IR2afDeqR+uS5q5jGy644EIdoWDhHf4cOZuI/VevyXPBBRf+b' +
            '8LD3a3Or39xwYUPCv8fBu29Yg==');

        TPH := High(TP);
        for I := 0 to TPH do
        begin
          TTP := LoadTextTPA(TP[i], SmallChars, H);
          for B := 0 to High(TTP) do
          begin
            Numb := ((I + 1) * 13);
            FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
            FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
          end;
        end;
        Canvas := TCANVAS.Create;
        Canvas.Handle := SmartGetDebugDC;
        DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
        DrawBitmap(Pic2, Canvas, 100,10);
        FreeBitmap(Pic);
        FreeBitmap(Pic2);
      end;

      Procedure OnScreen;
      Var
        XPH_F,XPH_M,TTB: Integer;
      begin
        XPH_F := Round((FishXP * 3600) / (GetTimeRunning / 1000));
        XPH_M := Round((MagicXP * 3600) / (GetTimeRunning / 1000));
        TTB := (((w) + (y) + BreakRounds)-GetTimeRunning);

        PrintOnSmart(['Version: '+Version+' (by Flight)',
        ''+MsToTime(GetTimeRunning, Time_Abbrev),
        'Fishing XP: '+IntToStr(FishXP)+' ('+IntToStr(XPH_F)+' / hour)',
        'Magic XP: '+IntToStr(MagicXP)+' ('+IntToStr(XPH_M)+' / hour)'
        ],Point(15,236),16777215);
        PrintOnSmart(['Time till break: '+MsToTime(TTB,Time_Bare)],Point(573,432),65280);
      end;

      Procedure Commit;
      begin

        stats_IncVariable('Leaping Trout (Caught)',(Trout_Caught-Trout_Ca));
        stats_IncVariable('Leaping Salmon (Caught)',(Salmon_Caught-Salmon_Ca));
        stats_IncVariable('Leaping Sturgeon (Caught)',(Sturgeon_Caught-Sturgeon_Ca));
        stats_IncVariable('Fishing EXP (Gained)',(FishXP-Fish_XP));
        stats_IncVariable('Magic EXP (Gained)',(MagicXP-Magic_XP));
        Stats_Commit;

        Trout_Ca := Trout_Caught;
        Salmon_Ca := Salmon_Caught;
        Sturgeon_Ca := Sturgeon_Caught;
        Fish_XP := FishXP;
        Magic_XP := MagicXP;

        MarkTime(CommitTime);

      end;

      Function IsMoving_F: Boolean;
      begin
        Result := PixelShift(IntToBox(MMCX-30, MMCY-30, MMCX+30, MMCY+30), 200) > 200;
      end;

      //By Bandland100, modified to shift mouse speeds after every step
      procedure SuperWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
      var
        veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist,step: extended;
        lastX,lastY,MSP,W: integer;
        sqrt2,sqrt3,sqrt5: extended;
      begin
        MSP  := MouseSpeed;
        sqrt2:= sqrt(2);
        sqrt3:= sqrt(3);
        sqrt5:= sqrt(5);
        while hypot(xs - xe, ys - ye) > 1 do
        begin
          dist:= hypot(xs - xe, ys - ye);
          wind:= minE(wind, dist);
          if dist >= targetArea then
          begin
            windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
            windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
          end else
          begin
            windX:= windX / sqrt2;
            windY:= windY / sqrt2;
            if (maxStep < 3) then
            begin
              maxStep:= random(3) + 3.0;
            end else
            begin
              maxStep:= maxStep / sqrt5;
            end;
          end;
          veloX:= veloX + windX;
          veloY:= veloY + windY;
          veloX:= veloX + gravity * (xe - xs) / dist;
          veloY:= veloY + gravity * (ye - ys) / dist;
          if hypot(veloX, veloY) > maxStep then
          begin
            randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
            veloMag:= sqrt(veloX * veloX + veloY * veloY);
            veloX:= (veloX / veloMag) * randomDist;
            veloY:= (veloY / veloMag) * randomDist;
          end;
          lastX:= Round(xs);
          lastY:= Round(ys);
          xs:= xs + veloX;
          ys:= ys + veloY;

          case Random(50) of
            1..25: W := (MSP + (Random((MSP/4))));
            26..50: W := (MSP - (RandomRange((MSP/2), MSP-1)));
          end;
          if (W < 1) then
            W := 1;

          if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
            MoveMouse(Round(xs), Round(ys));

          SMART_DrawDotsEx(False, [Point(lastX, lastY)], 65280);
          step:= hypot(xs - lastX, ys - lastY);
          //W := round((maxWait - minWait) * (step / maxStep) + minWait);
          wait(W);
          lastdist:= dist;
        end;

        if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
          MoveMouse(Round(xe), Round(ye));

        MouseSpeed := MSP;
      end;

      Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
      var
        randSpeed: extended;
        X,Y,X2,Y2,A,Dist,MP: integer;
      begin
        A := MouseSpeed;
        GetMousePos(X, Y);
        Dist := Distance(X, Y, eX, eY);
        MP := Round(Dist/150);
        if MP < 0 then
          MP := 1;

        randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
        X2 := RandomRange(eX-(A*MP), eX+(A*MP));
        Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
        SuperWindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
        GetMousePos(X, Y);
        MMouse(eX, eY, ranX, ranY);
        MouseSpeed := A;
      end;

      Procedure HumanRandomMouse;
      var
        randSpeed: extended;
        x, y, firstSpeed: integer;
      begin
        case(Random(10)) of
          2..8:
          begin
            firstSpeed := mouseSpeed;

            mouseSpeed := RandomRange(5, 10);
            randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
            GetMousePos(x, y);
            SuperWindMouse(x, y, RandomRange(x - 75, x + 75), RandomRange(y - 75, y + 75),
                    30, 55, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);

            mouseSpeed := firstSpeed;
          end;
        end;
      end;

      Function AddToBelt(What: String): Boolean;
      var
        X,Y,Slot,T,Tool: Integer;
      begin
        Result := False;
        case What of
          'Tinderbox':
            Tool := DTMFromString('mggAAAHicY2NgYDjMxMBwAojPAPFpID4IxDuA+CVQ7hkQPwLiN0D8AYpNdNgZoiPDgSwmFMwFJEEYHTDiwBAAAIohC78=');
          'Barbarian rod':
            Tool := DTMFromString('mggAAAHicY2NgYChlYmDIAOJKIC4C4hwgzgXi+0C5d0B8D4ifAfFbIH4IxDaB0Qy6hiZAFhMK5gKSIIwOGHFgCAAAnhsJrw==');
          'Knife':
            Tool := DTMFromString('mbQAAAHicY2VgYHBkYmBwAGJzILYBYk8g5mJkYOAFYjEgFgZiBiBurK5miLfjBXKY4JgLSIIwMmDEgsEAAB4RA9I=');
          'Hammer':
            Tool := DTMFromString('mggAAAHicY2NgYLBnYmCwBmIPIDYHYisg9gXiUEYGhhAg9gTiWCCOA2IvILbT5GTw0Odi8PfxAepmgmMuIAnDyIARB4YAAPp7BZI=');
          'Chisel':
            Tool := DTMFromString('mbQAAAHicY2VgYNjNxMBwCIi3A/E+IN4BxCKMDAzsQCwIxSB+iDkPg56ODlAHExxzAUkQRgaMWDAYAADN9QVM');
          'Small fishing net':
            Tool := DTMFromString('mbQAAAHicY2VgYDjCxMBwGIjPAvFJIN4HxAaMDAwmQKwDxBZQtqOxKoORugxQBxMccwFJEEYGjFgwGAAAEFgGGQ==');
          'Fishing rod':
            Tool := DTMFromString('mbQAAAHicY2VgYOhjYmCYCMQLgHg2EE8FYl5GBgY+IGYCYi4gFgZiPR0dhjB7HqAOJjjmApIgjAwYsWAwAACBxQSE');
          'Harpoon':
            Tool := DTMFromString('mggAAAHicY2NgYMhmYmAoBuIKIE4G4iwgLgViLkYGhv9A+T9ALA5k8zFC2Gbq7Awerq4M/j4+QB4THHMBSRhGBow4MAQAAPbNCBs=');
          'Lobster pot':
            Tool := DTMFromString('mrAAAAHic42BgYJjFBMETgXgaEM8D4iVAPAXKfg5U8xGIPwDxJyB+C8RPgfgdEL8E4jALHjBmYGBCwcnx8WDMBeSBMDqAiTMSwDAAAK4jD/k=');
        end;

        if ExistsItemDTM(Tool, X, Y) then
        begin
          Slot := CoordsToItem(X, Y);
          MouseItem(Slot, mouse_right);
          Wait(RandomRange(20, 75));
          WaitOption('toolbelt', 300);
        end else
          Result := False;

        MarkTime(T);
        repeat
          if (TimeFromMark(T) > 3000) then
            break;
          if not ExistsItemDTM(Tool, X, Y) then
            break;
          if FindBlackChatMessage('already on') then
            break;
        until(false)

        Result := not ExistsItemDTM(Tool, X, Y);

        FreeDTM(Tool);
      end;

      Function IsFishing: Boolean;
      var
        CTS,i: Integer;
        TPA: TPointArray;
        PColors,Tols: TIntegerArray;
        HMods,SMods: Array of Extended;
      begin
        CTS := GetColorToleranceSpeed;

        PColors := [727590, 727848, 793897, 793897];
        HMods := [0.26, 0.21, 0.15, 0.16];
        SMods := [0.50, 1.39, 0.47, 0.78];
        //Tols  := [2, 2, 3, 5];

        for i := 0 to High(PColors) do
        begin
          ColorToleranceSpeed(2);
          SetColorSpeed2Modifiers(HMods[i], SMods[i]);
          FindColorsSpiralTolerance(257, 200, TPA, PColors[i], 250, 190, 273, 225, 5);
          ColorToleranceSpeed(CTS);
          Result := (Length(TPA) > 0);

          if Result then
            Exit;

        end;

      end;

      Function MagicTab: Boolean;
      begin
        Result := GameTab(Tab_Magic);
      end;

      Function FindFishSymbols: TPointArray;
      var
        B: TBox;
        TPA,TPA2,TPA3: TPointArray;
        A,i,CTS,Cx,Cy: Integer;
        ATPA: T2DPointArray;
      begin

        CTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);

        FindColorsTolerance(TPA, 12632256, MMX1, MMY1, MMX2, MMY2, 5);
        ColorToleranceSpeed(CTS);

        if Length(TPA) < 1 then
          Exit;

        ATPA := TPAtoATPAEx(TPA, 13, 13);
        SortATPAFromFirstpoint(ATPA, Point(MMCX, MMCY));

        for i := 0 to High(ATPA) do
        begin
          B := GetTPABounds(ATPA[i]);

          with B do
          begin
            FindColorsTolerance(TPA2, 16279077, B.X1, B.Y1, B.X2, B.Y2, 1);

            if (Length(TPA2) > 0) then
            begin
              SetArrayLength(TPA3, (Length(TPA3)+1));
              MiddleTPAEx(TPA2, Cx, Cy);
              TPA3[A] := Point(Cx, Cy);
              Inc(A);
            end;
          end;

        end;

        SortTPAFrom(TPA3, Point(MMCX, MMCY));
        Result := TPA3;
      end;

      Procedure NextSpot;
      var
        TP: TPoint;
        TPA: TPointArray;
      begin
        FindNormalRandoms;

        TPA := FindFishSymbols;

        if (Length(TPA) = 1) then
        begin
          Writeln('Only 1 spot found, relocating...');
          HumanMMouse(TPA[0].X, TPA[0].Y-5, 1, 1);
          ClickMouse2(True);
          SMART_ClearCanvas;
          OnScreen;

          FFlag(0);
          While IsMoving_F do
            Wait(1);

          Wait(randomrange(1500, 2875));
          Exit;
        end else if (Length(TPA) > 1) then
        begin
          TP := Point(TPA[1].X, TPA[1].Y);

          HumanMMouse(TP.X, TP.Y, 4, 4);
          ClickMouse2(True);
          SMART_ClearCanvas;
          OnScreen;

          FFlag(0);
          While IsMoving_F do
            Wait(1);

          Wait(randomrange(900,1500));
        end;
      end;

      Function InFishingArea: Boolean;
      begin
        Result := (Length(FindFishsymbols) > 0);
      end;

      Procedure AreaCheck;
      begin
        if not InFishingArea then
          FindNormalRandoms;
      end;

      Function Antiban: Boolean;
      var
        i: Integer;
      begin
        if not LoggedIn then Exit;
        FindNormalRandoms;

        i := Random(300);
        case i of
          1:
            begin
              RandomRClick;
              Result := True;
            end;
          2..5:
            begin
              KeyDown(40);
              Wait(RandomRange(500, 1100));
              KeyUp(40);
              Wait(RandomRange(310, 865));
              SetAngle(SRL_Angle_High);
              Result := True;
            end;
          6:
            begin
              HoverSkill('Fishing', False);
              Result := True;
            end;
          7..300:
          begin
            Wait(RandomRange(250, 350));
            Exit;
          end;
        end;

        Wait(RandomRange(250, 350));
      end;

      Procedure GetFishType;
      var
        A,B,C,X,Y: Integer;
      begin
        A := DTMFromString('mbQAAAHicY2VgYFjNxMCwAIjXA/FOJgg/gZGBIRaI04A4HYijgbi7OxuomgkF8zNgAkYsGAwARQMG9Q==');
        B := DTMFromString('mbQAAAHicY2VgYLjCxMBwAogvAvEjID4LxDaMDAxmQGwPxE5AbAzEhUmJQNVMKJifARMwYsFgAABAigan');
        C := DTMFromString('mbQAAAHicY2VgYLjMxMBwC4hPA/EpIL4PxImMDAwRQJwMxDlAHAPEmnZ2QNVMKJifARMwYsFgAABXgAbb');

        if ExistsItemDTM(A, X, Y) then
        begin
          if (CoordsToItem(X, Y) = 4) then
          begin
            Inc(Trout_Caught);
            IncEx(FishXP, 50);
          end;
        end else if ExistsItemDTM(B, X, Y) then
        begin
          if (CoordsToItem(X, Y) = 4) then
          begin
            Inc(Salmon_Caught);
            IncEx(FishXP, 70);
          end;
        end else if ExistsItemDTM(C, X, Y) then
        begin
          if (CoordsToItem(X, Y) = 4) then
          begin
            Inc(Sturgeon_Caught);
            IncEx(FishXP, 80);
          end;
        end;

        FreeDTM(A);
        FreeDTM(B);
        FreeDTM(C);
      end;

      Procedure FastDropSlot(Slot: Integer);
      Var
        TB: TBox;
      begin
        Case Slot of
          1: TB := IntToBox(564,214,598,244);
          2: TB := IntToBox(606,214,640,244);
          3: TB := IntToBox(648,214,682,244);
          4: TB := IntToBox(690,214,724,244);

          5: TB := IntToBox(564,250,598,280);
          6: TB := IntToBox(606,250,640,280);
          7: TB := IntToBox(648,250,682,280);
          8: TB := IntToBox(690,250,724,280);

          9: TB := IntToBox(564,286,598,316);
          10: TB := IntToBox(606,286,640,316);
          11: TB := IntToBox(648,286,682,316);
          12: TB := IntToBox(690,286,724,316);

          13: TB := IntToBox(564,322,598,352);
          14: TB := IntToBox(606,322,640,352);
          15: TB := IntToBox(648,322,682,352);
          16: TB := IntToBox(690,322,724,352);

          17: TB := IntToBox(564,358,598,388);
          18: TB := IntToBox(606,358,640,388);
          19: TB := IntToBox(648,358,682,388);
          20: TB := IntToBox(690,358,724,388);

          21: TB := IntToBox(564,394,598,424);
          22: TB := IntToBox(606,394,640,424);
          23: TB := IntToBox(648,394,682,424);
          24: TB := IntToBox(690,394,724,424);

          25: TB := IntToBox(564,430,598,460);
          26: TB := IntToBox(606,430,640,460);
          27: TB := IntToBox(648,430,682,460);
          28: TB := IntToBox(690,430,724,460);
        end;
        MouseSpeed := RandomRange(26, 39);
        MouseBox(TB.X1, TB.Y1, TB.X2, TB.Y2, mouse_right);
        WaitOption('Drop', 400);
      end;

      Procedure DropRemaining;
      Var
        I,MS,T: Integer;
      begin
        MS := MouseSpeed;
        T  := GetTimeRunning;

        if not AlchFish then
        begin
          FastDropSlot(2);
          FastDropSlot(3);
        end;

        FastDropSlot(4);

        For I := 8 downto 5 do
        begin
          if (I = 9) then
            Break;
          FastDropSlot(I);
        end;

        For I := 9 to high(12) do
        begin
          if (I = 13) then
            Break;
          FastDropSlot(I);
        end;

        For I := 16 downto 13 do
        begin
          if (I = 17) then
            Break;
          FastDropSlot(I);
        end;

        For I := 17 to high(20) do
        begin
          if (I = 21) then
            Break;
          FastDropSlot(I);
        end;

        For I := 24 downto 21 do
        begin
          if (I = 25) then
            Break;
          FastDropSlot(I);
        end;

        For I := 25 to high(28) do
        begin
          if (I = 29) then
            Break;
          FastDropSlot(I);
        end;

        Writeln('Dropped fish in '+IntToStr(GetTimeRunning-T)+' ms.');
        MouseSpeed := MS;
        OnScreen;
      end;

      Procedure ReadyAlch;
      var
        X,Y,AlchBMP: Integer;
      begin
        AlchBMP := BitmapFromString(10, 6, 'meJwLuf2Kd8o6JkYmVl1+sVgVpk0' +
            'y8sez4Uhi10WILLsQO4sHG1MOC1ABHAGl2OKaILJABDQBGQGlIAii' +
            'AFOWtbwfiICyaAq+n0oEigMNZ/HJZjFwhyuA2wIAwl0jlg==');

        if FindBitmapIn(AlchBMP, X, Y, MIX1, MIY1, MIX2, MIY2) then
        begin
          HumanMMouse(X, Y, 5, 5);
          ClickMouse2(True);
          SMART_ClearCanvas;
          OnScreen;
        end else if not FindBitmapIn(AlchBMP, X, Y, MIX1, MIY1, MIX2, MIY2) then
        begin
          GameTab(tab_Magic);
          if FindBitmapIn(AlchBMP, X, Y, MIX1, MIY1, MIX2, MIY2) then
          begin
            HumanMMouse(X, Y, 5, 5);
            ClickMouse2(True);
            SMART_ClearCanvas;
            OnScreen;
            MMouseItem(4);
          end;
        end;
        FreeBitmap(AlchBMP);
      end;

      Procedure FishnAlch;
      var
        X,Y,T,DTM: Integer;
      begin
        MarkTime(T);
        ReadyAlch;

        repeat
          AreaCheck;
          ClickToContinue;

          if FindNPCChatText('these fish', Nothing) then
            Logout;

          if IsFishing then
            Marktime(T);

          if InvFull then
            break;

          if ExistsItem(4) then
          begin
            MMouseItem(4);
            if WaitUpTextMulti(['Cast', 'ow L', 'evel', 'lchem'], 400) then
            begin
              GetFishType;
              ClickMouse2(True);
              IncEx(MagicXP, 31);
              ClickToContinue;
              OnScreen;

              DTM := DTMFromString('mQwAAAHicY2ZgYChiYmDIYILQEowMDFJALAjEMpuYGA4tEGA4d+UWAz9QHQwzIWEgAAD7eAaN');
              WaitFindDTM(X, Y, DTM, 4000);
              FreeDTM(DTM);

              ReadyAlch;
              MarkTime(T);
            end else
              ReadyAlch;
          end;

        until(TimeFromMark(T) >= FishTimer)
      end;

      Procedure FishingWait;
      var
        T: Integer;
      begin

        Marktime(T);
        repeat
          AreaCheck;
          ClickToContinue;

          if FindNPCChatText('these fish', Nothing) then
            Logout;

          if IsFishing then
            Marktime(T);

          if InvFull then
            break;

          if AntiBan then
            Marktime(T);

        until(TimeFromMark(T) >= FishTimer)

      end;

      Procedure ReturnValues(colors: TIntegerArray; var HueMods, SatMods: Extended; var color, Tolerance: Integer);
      Var
        h, s, t: Extended;
        I,II : integer;
        HSLColor : Array[1..3] of Extended;
        HSL : Array[0..1] of Array[1..3] of Extended;
      begin;
        For I:= 1 to 3 do
        begin;
          HSL[0][i] := 255;
        end;

        For I:= 0 to High(Colors) do
        begin;
          ColortoHSL(Colors[i],HSLColor[1],HSLColor[2],HSLColor[3]);
          For II:= 1 to 3 do
          begin;
            HSL[0][II] := MinE(HSLColor[II],HSL[0][II]);
            HSL[1][II] := MaxE(HSLColor[II],HSL[1][II]);
          end;
        end;

        H := (HSL[1][1] - HSL[0][1]);
        S := (HSL[1][2] - HSL[0][2]);
        T := (HSL[1][3] - HSL[0][3]);

        try
          HueMods := (H/T);
          SatMods := (S/T);
          Tolerance := Round(t);
        except
          HueMods := 0;
          SatMods := 0;
          Tolerance := Round(0.0);
        end;

        Color := HSLToColor((HSL[1][1] + HSL[0][1]) div 2,(HSL[1][2] + HSL[0][2]) div 2,(HSL[1][3] + HSL[0][3]) div 2);
      end;

      Function FindFishingSpot2(Var X,Y: Integer): Boolean;
      var
        B: TBox;
        TPA: TPointArray;
        Hmod,Smod: Extended;
        i,Tol,CTS,Col: Integer;
        ATPA: T2DPointArray;
      begin
        Result := False;

        CTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);

        ReturnValues([11970978, 12169386, 12433588], Hmod, Smod, Col, Tol);
        SetColorSpeed2Modifiers(Hmod, SMod);
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, Col, MSX1, MSY1, MSX2, MSY2, Tol);
        ColorToleranceSpeed(CTS);

        if (Length(TPA) < 1) then
          Exit;

        ATPA := TPAToATPAEx(TPA, 40, 40);
        SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));

        for i := 0 to High(ATPA) do
        begin
          if (GetArrayLength(ATPA[i]) > 20) then
          begin
            B := GetTPABounds(ATPA[i]);

            MiddleTPAEx(ATPA[i], X, Y);
            MMouse(X, Y, 15, 15);
            if WaitUpTextMulti(['se-Rod','Fishing','spot'], 555) then
            begin
              Result := True;
              GetMousePos(X, Y);
              SMART_ClearCanvas;
              OnScreen;
              Exit;
            end else
              Result := False;

          end;
        end;

      end;

      Function FindFishingSpot(Var X,Y: Integer): Boolean;
      var
        Loop: Boolean;
        TPA: TPointArray;
        i,CTS,F,MSP: Integer;
        ATPA: T2DPointArray;
      label
        Start;
      begin
        Result := False;
        Loop := False;
        CTS := GetColorToleranceSpeed;

        Start:
        ColorToleranceSpeed(2);
        SetColorSpeed2Modifiers(0.34, 0.66);
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, 12103593, MSX1, MSY1, MSX2, MSY2, 6);
        ColorToleranceSpeed(CTS);

        if (Length(TPA) < 1) then
          Exit;

        ATPA := TPAToATPAEx(TPA, 40, 40);
        SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));

        for i := 0 to High(ATPA) do
        begin

          MiddleTPAEx(ATPA[i], X, Y);
          MSP := MouseSpeed;
          MouseSpeed := (RandomRange(13, 21));
          HumanMMouse(X, Y, 15, 15);
          MouseSpeed := MSP;
          if WaitUpTextMulti(['se-Rod','Fishing','spot'], 400) then
          begin
            Result := True;
            GetMousePos(X, Y);
            SMART_ClearCanvas;
            OnScreen;
            Exit;
          end else
          begin
            Inc(F);
            if (F > 7) then
              Exit;
            Loop := True;
            Break;
          end;
        end;
        if Loop then
          goto Start;

      end;

      Procedure StartFishing;
      var
        XP1,XP2,XP3,TroutDTM,
        SalmonDTM,SturgeonDTM,
        TC,SaC,StC,X,Y: Integer;
      label
        Start;
      begin
        if not LoggedIn then
          Exit;

        if InvFull then
        begin

          TroutDTM := DTMFromString('mbQAAAHicY2VgYFjNxMCwAIjXA/FOJgg/gZGBIRaI04A4HYijgbi7OxuomgkF8zNgAkYsGAwARQMG9Q==');
          SalmonDTM := DTMFromString('mbQAAAHicY2VgYLjCxMBwAogvAvEjID4LxDaMDAxmQGwPxE5AbAzEhUmJQNVMKJifARMwYsFgAABAigan');
          SturgeonDTM := DTMFromString('mbQAAAHicY2VgYLjMxMBwC4hPA/EpIL4PxImMDAwRQJwMxDlAHAPEmnZ2QNVMKJifARMwYsFgAABXgAbb');

          TC := CountItems('dtm', TroutDTM, []);
          SaC := CountItems('dtm', SalmonDTM, []);
          StC := CountItems('dtm', SturgeonDTM, []);

          IncEx(Trout_Caught, TC);
          IncEx(Salmon_Caught, SaC);
          IncEx(Sturgeon_Caught, StC);
          XP1 := (TC*50);
          XP2 := (SaC*70);
          XP3 := (StC*80);
          IncEx(FishXP, XP1+XP2+XP3);
          Report;
          FreeDTM(TroutDTM);
          FreeDTM(SalmonDTM);
          FreeDTM(SturgeonDTM);
          DropRemaining;
        end;

        Start:
        MakeCompass('W');
        if (FindFishingSpot(X, Y) or FindFishingSpot2(X, Y)) then
        begin
          ClickMouse2(True);

          if not DidRedClick then
            goto Start;

          case Random(5) of
            1..3:
              HumanRandomMouse;
          end;

          While IsMoving_F do
            Wait(1);

          Wait(RandomRange(2000, 2500));

          if AlchFish then
            FishnAlch
          else
            FishingWait;
        end else
          NextSpot;

      end;

      Function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor: Integer): Boolean;
      Var
        h,m,s: integer;
      begin
        if not LoggedIn then Exit;

        if (HowManyPlayers = 1) then
        begin
          if (GetTimeRunning < ((w) + (y) + BreakRounds)) then Exit
          else
            if (GetTimeRunning > ((w) + (y) + BreakRounds)) then
            begin
              RealBTime := ((x+z)/60000);
              Writeln('Taking a break for about ' + IntToStr(RealBTime) + ' minutes.');
              Logout;
              MarkTime(CurrentBTime);
              repeat
                Wait(21000);
                ConvertTime((x+z)-TimeFromMark(CurrentBTime), h, m, s);
                ClearDebug;
                Writeln('Breaktime left: '+IntToStr(h)+':'+IntToStr(m)+':'+IntToStr(s));
              until(TimeFromMark(CurrentBTime)>(x+z));
              Writeln('Logging in.');
              OnScreen;
              if SwitchWorlds then
                if LoginPlayerToLob then
                  ChangeWorld(RandomWorld(True, False))
              else
                LoginPlayer;
              Wait(4000);
              Result := LoggedIn;
              SetAngle(SRL_ANGLE_HIGH);
              MakeCompass('E');
              IncEx(BreakRounds, (w) + (x));
              Inc(TotalBreaks);
              Writeln('The next break will occur in about ' + IntToStr(BreakIn) + ' minutes.');
              w := (BreakIn * 60000);
              x := (BreakFor * 60000);
              y := RandomRange(-Bir * 60000, Bir * 60000);
              z := RandomRange(-Bfr * 60000, Bfr * 60000);
            end;
        end;
      end;

    begin
      Smart_Server := 86;
      Smart_Members := True;
      Smart_Signed := True;
      Smart_SuperDetail := False;

      setupSRL();

      Loadvars;
      DeclarePlayers;
      SetupSRLStats(201, SRLStats_Username, SRLStats_Password);

      LogInPlayer;
      SetAngle(SRL_ANGLE_HIGH);
      MakeCompass('W');

      SMART_ClearCanvas;

      OnScreen;
      AddToBelt('Barbarian rod');

      Repeat
        if not LoggedIn then LoginPlayer;

        if (TimeFromMark(CommitTime)>=30000) then
          Commit;
        if (TimeFromMark(ReportTime)>=5000) then
          Report;
        BreakHandler(BreakIn,BreakFor,Bir,Bfr);

        AreaCheck;

        StartFishing;

      Until(false)

    end.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  22. #447
    Join Date
    Mar 2012
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Alright thanks, testing, 88 fishing, 99 agility, 99 str

  23. #448
    Join Date
    Mar 2012
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    put bait in 1st slot so it drops the rod instead of the bait.
    works flawless, 2 hours 17 mins before it got into a random, 45-46k xp per hour at 88 fishing. Impressed, well done

  24. #449
    Join Date
    Nov 2011
    Location
    In your bed ;)
    Posts
    123
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    Give this proto-type a try:
    Simba Code:
    program HeavyRodder;

      {$DEFINE SRL5}
      {$DEFINE SMART}

      {$i SRL/srl.simba}
      {$i SRL/SRL/misc/paintsmart.simba}

    Const

    //SRL Stats
      SRLStats_Username = '';
      SRLStats_Password = '';

    //General settings
      AlchFish      = False;   //Fish 'n alch method? (False for standard fish 'n drop)
      SwitchWorlds  = True;   //Switch worlds after break?
      FishTimer     = 6000;

    //Break settings
      BreakIn      = 135;     //How long before we take a break? (minutes)
      BreakFor     = 15;      //How long will we break for? (minutes)
      Bir          = 13;      //Random minutes to add/subtract from how long until we break
      Bfr          = 7;       //Random minutes to add/subjtract from break duraction

      Procedure DeclarePlayers;
      begin
        HowManyPlayers := 1;
        NumberOfPlayers(HowManyPlayers);
        CurrentPlayer := 0;
        with Players[0] do
        begin
          Name         := '';
          Pass         := '';
          BoxRewards   := ['XP','xp','lamp'];
          LampSkill    := Skill_Fishing;
          Active       := True;
        end;
      end;

    Var
      Version: String;
      ReportTime,CommitTime,PostID: Integer;
      Trout_Caught,Trout_Ca,
      Salmon_Caught,Salmon_Ca,
      Sturgeon_Caught,Sturgeon_Ca,
      FishXP,Fish_XP,MagicXP,Magic_XP: Integer;

    //Break variables
      w,x,y,z,RealBTime,CurrentBTime,
      BreakRounds,TotalBreaks: Integer;


      Procedure Loadvars;
      begin
        Version := '1.4';
        PostID := 841068;
        MarkTime(CommitTime);
        MarkTime(ReportTime);
        MouseSpeed := RandomRange(17, 19);

        w := (BreakIn * 60000);
        x := (BreakFor * 60000);
        y := RandomRange(-Bir * 60000, Bir * 60000);
        z := RandomRange(-Bfr * 60000, Bfr * 60000);

      end;

      Procedure Report;
      begin
        WriteLn('=-=-=-=-=-=-=-= Heavy-rodder '+Version+' by Flight =-=-=-=-=-=-=-=');
        WriteLn('Time Running: '+TimeRunning);
        WriteLn('Trout caught: '+IntToStr(Trout_Caught));
        WriteLn('Salmon caught: '+IntToStr(Salmon_Caught));
        WriteLn('Sturgeon caught '+IntToStr(Sturgeon_Caught));
        WriteLn('Fishing XP '+IntToStr(FishXP));
        WriteLn('Breaks: '+IntToStr(TotalBreaks));
        WriteLn('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');

        MarkTime(ReportTime);
      end;

      Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
      var
        mx, my, Pic, Pic2, I, B, H, TPH, Numb: Integer;
        TTP: TPointArray;
        Canvas: TCanvas;
      begin
        SmartSetDebug(True);
        GetClientDimensions(mx, my);
        Pic := BitmapFromString(mx, my, '');
        Pic2 := BitmapFromString(360, 71, 'meJztfQV4k9f7dtt44+5aiTRt0' +
            'zT1tNGmblShBaq4uwyXsQEDtsFgQ8eQMcY2nCHD3Snu7m4Dtt/3PW' +
            '/DWNeWUkbLgH/uq9cE0pNz3vPIfR95Xjc3F1xwoX7gDj/u702zLrj' +
            'gwn8ODw93CslTwsBhUPXp5A3UrAsuuPAugIDHR4SGdLTwu5dkknGo' +
            '+mIIDdTsuwYYl4e72wc6OBfqDe7u7igPDwwahUa5fwAGA6xAKBCUx' +
            'Os6WvmbN6wrbpzBJKLf2WbfNYAxED0JEh6TTcKgPN53W3ChoQB2gs' +
            'fjZFJJRHh4uEGn9ZFKOFQKHvX+ZlMcFhsRERGlIE8u8Cr/aVSPWIF' +
            'SJnxzD2igZt8OICnAnKLrIK9gmEG6wBZmychBvVunGDR8git6uFAF' +
            'SHIheur1+lKrN9hVuIzUP1HUs1l848zkAKEn6T2k4jAiLoeTHx/mx' +
            'cIdHp+/rZdOwcIFB/p7vNlIGqjZtwMUykPA56WnpaYECzEwpS/vsn' +
            'OYTZOjByWLz509802Rf2ZKPBmPeouddeFdh4eHB4VCjoyMaBPDsyo' +
            'pk/O9Dn1dcmzZpB1zhi0e3nRS76YtM6JxaI/3K9tg0OigIF2chtY4' +
            'hPn4+tludqGMiQvWB72hgzdQs28B0EGip6fdZmkaxl72/eRubUtAX' +
            'r2s0zDMwICA1jG8raPyjv8wMFlLt1vNBBzmrfbYhXcYEDSoVEpMTE' +
            'wbE29Iivj82ulXN848OCbz9ILBD6+fv3/17KVDW/fv2vrN+HFWJZW' +
            'A8fiv+1snQLqk02hZCWYWEb2yg/rM972CJSSHmqpWq97EwRuo2bcD' +
            'iPtikahFrHpwivjy8X2944QBvpIacwEMk0ImpyXYU/xp1w6un1fqm' +
            '2dgBvhrUR7vx+y70NBALIRCNptMLaK53xV637txcc9Qc3ogw1/o2c' +
            'Mh3DR/wrWrV548fnjv/KGNw9LamXi28EDcS3PUOwQ0CqXRaPJD2Wk' +
            'B9NuHfhuXKweOXWKSCPm82tj5f9Ts2wFQiGC9PklL29gr9Nic3uFy' +
            'UoheV2O4gwijkMvbx8rH5cjvnNgBQaPM7vtejNGFtwAwAzKZZDQaW' +
            'xi5U5t5P3pwf10XLZhTsIRYlmGKjwrwFxC+mzrx+Nrv/3jyqPyzdK' +
            'MXuTQugMsgvePWg4yLREpyWL1Y+G299Wfn94tQkIk4D4fVRCQQ3rV' +
            'm3w7A40kkYrLDrBN5nv5p6LL2apMPJUgXWGPcwONwJlMMKNb9E8vK' +
            'v2is4RFS4iwkT8+3320X3jWAF3h6EkIMBtCwozNl96+f39RNGyolg' +
            'ZKNj3MIeBw8xp2E80iL9h+RLrm46qvj09qAmzSP4CjEgnc8bqBQHl' +
            '4KRTubpJ2Z9/jmxU8aSakEVGkUx0shfxM10UDNvh1AB/k8bmFsQIa' +
            'O8eDKqc5Wfq6BpfL1qU4hgGzwuNxmCaHZesa9C0dHZUotvpRgfRBw' +
            'rf+k5y68OwBrweGwfn6aNrHenW3864c37h4YGaUgx6ppNquVSiY5H' +
            'QGN8jBGhsmYuN86a87/MixURsoNZvooZO/4AqkngWC3WRP8aOVT2h' +
            '2f0iJUTgbiZIqJ9iTg36TjDdTs2wFEA18fnzIjd1Qj6Y3dS+xKagu' +
            'LTCzkV48bIGd0gYGgTeaW+l7ZOCtWRWtpEktEQpdIcQGNRkml0sIE' +
            'A8SK4/OHHplY6FDTQJ7Ex9poFPILC4G4ERUVicd4TGvqdeb7XloBo' +
            'YmB5a2Qvssm5Fz9a50eMbnA69GtSwOSRFwyJjfJwmYx36TbDdTsWw' +
            'OwBUOwPiOQsWdsk/IxjXy5hBy7gUGjVvkYjIVKoaTFW/US4qkFQ3f' +
            '01onp2LQ4M4VE/E+67cK7A3ABFovZKNEqZeAm5Stula8qjuRo+ISM' +
            'JAeLQa9MucHYjFGRBIzHTy2Vh8ZmimnY4gi2TCJ6lx0FtHlkRHhXm' +
            '+DEyqnln+eGSIktbD7eXgoM6o32Ahqo2bcGIEXxjtiUAPqtY1u+yZ' +
            'dLGDiLKRqPw1b5GMoD0WJtzXzQYk8fP2hr4sV4k10ixQXnsgZEgzA' +
            'ZCcjqlXVTF7ZRQeosSw6BfIr+pwKpiBtRoOJ39w3a0l0L/1Fo8eFx' +
            '2O+sTnFq8+KshPkt/e6cPTgoWZStZ4aGhlR3kHeh2bcGmHQOm9U83' +
            'fJlnvzO6X35oawWUVwIetWXZZAV0Zhog4S4rV/kye+66sTEUrNcLB' +
            'S8F5zq3wFGBmb/4Y6vfgAKxcfHp5VJyCKigUVcWjXB6kuBgGCzmgl' +
            '4XJUPgxXF2u0KFu74jPbTm3mDYGkUG0Elk/6TntcFWAxGrw/qFSc8' +
            'tHDc/kllDjU1LSmBRqG8oVE0ULNvDcAilL4+vdL8to5veWx2L0gZa' +
            'Ql2CrnqvpgzPDaPN8AAb+xdNiXfi+GJTnJYP+CdFBTKg0omghbz4e' +
            'DR7/7q9n8EiKoMBj093kzGeTTSMW7vXzGpiYJGQOUEM8Guqjw2sCI' +
            'ul1OYZkrS0u4c29wnTkT3RMfExGAx7+gdLmR0dHpuqqObnf/wwf3P' +
            'c+Qd4n0hq77haaUGavZtgoDHW8zmltHcqwc3Lm2rLoxgB/hrq0sP5' +
            '4poZhDzq8bym3uWJGvpyf50f63fWx5pxSVcd5QH8lNHT/7786/zRR' +
            'gMmsflOKINY0aPnPXttPRI5ftyrPEtA/KmTqdL0tIldCzojguLRsT' +
            '4kNEebnnxUQwatcozB7IRERERq6Z+W+h9Y9fCeA0tM4ihUvq+s1EZ' +
            'qJSfRtM6hreyvebC+plxGlp6UhyZRHzD7jZQs28N4HvAIorSzRMaK' +
            '0BktYrmNk8K47JZ7tU+RqVQ0hOsAULP47N77vrIAEbS1KHnsJhvba' +
            'TQBzBRFpPh4+2l1wUYAjR+UhbktdotDofFCgWCAI0yUEIj4urq+Fg' +
            'sRiIWN87J+qJFzNH9O5aMad80J51OwtfDMD4swKSwWay8eGR/pGkY' +
            '+96JrRObKBhElL+AAFIdck3lDwN/E4tFJQl6u4p6cd303zr7iWjYf' +
            'IeBzWT85/7izEcVPxXVISr+CewIzD41wW70Ip/4YeCW/saMQIYhWF' +
            '/3Bb0GavY/B3Q1MCCgnZm344vio7N6WnwpoD1ftiLazszvYOE9/f1' +
            'hBzPPi40DeonDvo07KfCcwf35fF5YWFiuIyw/hB2pIEfIyX3ihf16' +
            'dqYQUOiXrKnBL4pEwrwoeYwP5etC7aypE5ulRNdOG5yHEGCwzRvF9' +
            'XIITmz66dCs3u0tfJvZRHhPFqzeJpwXsmwqqoKJ3d0n8NLysbEqKp' +
            'CNEquPQPCPfXznOVKH3RIiJS5tp766aVZ6IMOPT4iMjHxzK3qTsOO' +
            '0LgadJhEJvBUyXy+Zt0wsE/NFAq6Azw/WB3WJk0/Ikz+6caFtDK80' +
            'igtyoi5Mt4GarXfAdwIVh946w1odf4VCJqfE2+I01Kv7Vv7YQtkii' +
            'qNRK6uTRtAyZpMpQk7aOcxxfHr7IAkRmIlMKmnokUL7oBdYLGZISE' +
            'iz+JBwOcmbjcvQMb7Mle8eaj0yf+jh/bvGtUuyBIhqvOAA4c4QHIx' +
            'yd0vxp1/aumB5B/++mToFn15Lp4FpeHkpijKsrWO4x5dPOjG3T1kU' +
            't62J916c33vLcNpPqi0Cg3JvEsK6c2jN9yU+PAqG7omuviIK86jRa' +
            'EAOF4Wz757aPbO5D5eMKbL7VQkvrwWwdkh88EUMChG+9HUrOXh4eH' +
            'gSCFKJxGiMyo4NbWmRtYrhdrLyuyfIuqbr22dGt8yy921TAAZwetk' +
            'XB0an+guJBWFskeAVVyoaqNk3BxgwuAn6L42PlEbB4bgcjtLHy1/t' +
            'q/GWyQQsBvHV5XTgscuk0tYWSbMw1v0Lh2cU+rQtzOExKFW6/3xFN' +
            'CEkR8+AGf8yV8EkopPjrGRiw8ox+F4i0VOlUuUkWkAI25SUqU29ys' +
            'dknlsw8ObOnx5eOPjnsycn5/bOD2UVhnO8BIzqTx05YhQZAfyil0M' +
            'In881sPJDWEov+csmCIKGXCYrzLAVRbCPLxpz+seBEB4DBJ6xNuQg' +
            'feXfeUciiPtz6ou4Dzgm/MCQK//UfRXoXwDahtRZbIUIgP65lfLmj' +
            'h8b6RhYlFtxZNVj0uBKXC6ncYo1REIsn1h8fGqrKC9yoJAIZOPfbT' +
            'uCbYBvggLVBwXF2cyNk6LbFDVOChbXvZ4YPCvokikmuoVFbpASs/T' +
            'M8bnylZ381/YKX9vf/tuAuBW9YhZ1DFrYWrXz44Rnz55OaiI3+1Is' +
            'MUYioTa52kDNvjmclw2D1fIUh1nKAu6MgZhvMBjyrdrMIEaSlt4mh' +
            'tsjN6q0sMCXi689cgCPgolT8Qjwi2eXfrZm9jijN9lpaR4ezrVEMD' +
            'wP4O0wO+Cev7bXXF47FVw4J5ipUatqWRH9a/XSw7kg+S+qwyErKlS' +
            'KMSoSMpQ3Gz+qkfTqrsXnfhl+bFLRvbP7nz198r///e/J7cun53TP' +
            'CWYJqJhgnX/1OIkcaY6KhGw4JEV8c/ciUGHIIr+PokZfApcD9V2Q7' +
            'iiMYB+ZP+zswhEtjVw5C5edaOGwWFUoNxGPJeHeqhp9oZSdkwIRgk' +
            'DA06gUPo/n4+0FvNcUHWU2m6KNUVGR4RAt4Z+RYSFhOo1GRGugrjq' +
            'PGTcLY+tEnqdmdtw/IFTGxKE83FLjLBTS3/tx8LhIJKLVYrarqPPK' +
            'fO+d2tnOxIMuNUk0stms141rziwJ8tNsiim2KkGBwhzFqWkTGisWz' +
            '5ncxKSke76i7JRTiioUitxEE3LK3cDcPjT298cPT83tc3J2T7Cuh9' +
            'fPP7x09MH58nund989vgX5j5Pbx2XLO7QuEwv5L0vHDdTsX42/qUN' +
            'BoNDrg4Crg7OXNGsi59GMYcEJfjQlF/9xhnTXuIITq789tmP1/j27' +
            'Fn43Yeig/gIqtsalQxgmi8nMiwv3xHpAgjj109BNqxYDh6HgUf4yl' +
            'j7ALzgoMDhIBwYJhtiyeV4yUP0t81d10ghp2Oz4GDq16lL5i2bBpM' +
            'GeQcX4a/0M+kBDoFbjLZEwcNjXqdKMx+PCwkJDpCQI2tv6hDy8eHh' +
            'eqS+ErAHJ4tUzRx3Yv+/OrRvAN65v/f6LHFlJJEcXoK2uI5xHEyFu' +
            'jEiXXN/2g8mHkq2vOW6gUB48HjcnNR749oEZ3c//+mVHC19CxzZJM' +
            'omFgipzCvFWp5T069a+JNGAb+BNFnf351ScyaCLRUJfH+8Af3+DIT' +
            'g62hhvt2YnxJQk6Dvb+KkBDIOUlOhHyw9lQyBtFMQAaQY/WUGMz3J' +
            '9e5Rk/gsa/0pUHDMONkiI2XrGo8vHBiSJCFiP9EC6n0b9Iqc4vQn6' +
            '3N7M7+EQPLh0bEFLpZiOLQhlwcew6NcLaDBNNBoVsmRxgh4MQy8hl' +
            'hm5y9qpT8zo8OjGhe3DE/MMzNQ4KxFbS0ZD6hYCiS1KDIFwN6XA69' +
            '658sPjsjpaeMESIjzABR0MBzYsvXvn9h9PHv3vzz/g5//9789b+38' +
            'dn6foXuDQqrxrNOMGatatnhwK7J1GpWbYQsl4jyYhzMm9G0O8HdG1' +
            'GNLonqG2O0fWb+im/SRD2tMhBEkOEQ8yLDxhHhVX/QtgCtRqFfiRm' +
            'IYB/n99x09XLl1YPvfrBXNmfNk8sL2J1yKaWxrFLY3klBk5feNFez' +
            '5vdnnd9Fw9M9GPrgsMxNQ045Cy6XRaQIB/uiOmhZELn4xUkG0qyvB' +
            's1Yj+3ZvHyITUOo0V+iaVSkoTgkJkpL0jEi+tmgDyEOKVDwc/uG93' +
            'cAEuBbNhzmc39y774/cH+75p81ljNTzM6qdzoZPI4i3afSTQlfXTg' +
            'BvDeH29q+oUYNEMBj05wQF/u21U7tWt8/rGC6UMXEFyjFQsQv+z2Y' +
            'paZ+zS4sLFXw/5durXKp7nK93RmSNePex/AvE4LBbkp9bPz241Q4R' +
            'vaZW3N/MgyDcL4+QZWG1ieMPSJLOKfX7rZz0wteOlTXPAd36/f+vp' +
            '4wfwH7ePbbm2c+HlzXMvlW/c9uP44cXmIAnlZQvI/w6eBHyc3ULAe' +
            'IzNll3b9B0YG9rDLTcxuvL2a8WlFUlxuqmJgXlu9eSDo9MivUigUC' +
            'xmE9GT8No74zxugsMO1LdxCGt1R83BcdnnF31y59CaZw9vX137DTg' +
            'plYByqKkiDu1lSQ2CmFKpLE0MjvEm7xhih9Q/rZmXVuCJx7hD5m2X' +
            'FpIRpQQ3X/3zd5f3rX5y9yo4+J9PH8PoBiWLQZ5nWvQ0QtWjJg3Ur' +
            'Fv9ORSkVEg6ZRY5j4weky3d/8vniycO3P7D2LMrJlxeM6mtmcejYG' +
            'AewVMgD8IPZMyMEBGPVXUl0Fndy2GzkHEeZh/KkbHpv9849/Dq6Wu' +
            'HNlw/tvPurWs3Tx+4Wr7h9KrJR38YdPzHYbdP7zv5XZcuNgGLhG6c' +
            'GM1iVN04c8ZbuVyeGmcCZsIjY2wqKjyTrT0CyieVHJo35OSutUvHd' +
            'uzXoxPwn1fSSIiNyYnxQKK2DTSBvmgVw6V5oiButCpuyiFhMB7uDn' +
            '8ueNCSNiqwmdsndv7Q1do0N4NJrmqHWAwalCY8h/F58osrxoVIiUA' +
            'nfLxk1df5TaaYrCDmwlYqSBNjsmViBq4wKVIhk1YPjxW1zrSDc3VH' +
            'Ni+d0SsTBGPtO8FA5hlUkk5KQwZeZz9BKhsQPXWBAQWJkc3D2THeF' +
            'HgIkMU2DI4/9OOIa0e2PLx1+dr2Bafm9S8fk7m9p//cEt9PG0k7Wf' +
            'gQVTpbBd82994z1HJiVrcLy8ee/r7PkrZqsLfS9GgO9fVctdYeIvG' +
            'zqSOIT8Hs/9i29yM92B484RBD8IuHBgGZw2Fnp8ZDQC6f1gWkX2MD' +
            'U0jFZCRYEBN6HYUCQUMiEeek2JO1tNnFPrdO7bm0euLlbQtuX7/88' +
            'MH9Z78/vLxqPGQ6MP78WAOLQX9ZI3K5rDAlKlZF3fd506sbZ0KG5Z' +
            'IxLCK6zOEfbYwUcZkEjDvM1JCPeoAxXFk3FSLSk1sXT83skKVn4tH' +
            'uTew6Jq3q0daGaLYeHcqtYoPAT6PJDGL68Qkbu/vfPrrp9sWTl9bN' +
            'KP/E0TSMxfBEQUYuzrDEOWIjgwNCA3wDfKUCNr06G0Q2KIXCEhsiB' +
            'gcni+8eWXdz1y8nvine3E07qYlicIoYOOfiNqpLa6c9/f3Rk/s3T3' +
            '3XqSSSDYHRoqQE6XRV9uVhjKC1tVptUaw/BLQ4DXVFB/Xpub1AGtw' +
            '/tePJzfPACkDVburuD/IqXKepJUQ6mwJx1CdRurpn5P2LR0dnysAg' +
            'g8TE7MwMfsUj4lBwbQrS5EwcZNsb2+cD8TuydOLIJgGWUP8qe6xYD' +
            'MZmMcEfziz0OTW7Ozw08EGFTPzCYJ1fB7wXRHobE+/ehaPgYvAMW9' +
            'qVSl+f6ocYnSXdstOTBiWJ7ty8NjhZEqoPqHWdxx3iszEitHdGQP8' +
            'urUAD1jHhQw+lXFo7m6R3vHDDoNgre1fcOb71+PT2O3r5T8736uUQ' +
            'Ng1j21XUAKEnPAcwURoBRcQh+YJOQKl4BLMvBcwM7A38FKQKSBj4a' +
            'quS6iUV1lfcqDhm7AupH5zl9v4VMBeQW4vtaj6P43y8YGOQKxPi40' +
            'qjOFs/zb6+c2GvOCEEmaZJUSJE+r2GvgPHBNKSn2qFlL15SPzd03t' +
            '/KPWFFDClqff8iR/v3fjr/dvXIYN8kSsDKQpMpsaNXQhiQFfyUmMT' +
            '/KhAnq9s+BakE5h0kpaWmuiQiYU4LLInBz8sGqkwKxHy6d6BkY8uH' +
            'oLRgRQC44G5S7EZyUTPhmn27yo99ehQTjhr5kAcsympR8c3/uPRHU' +
            'ijU5t6RypIYDZKLiE9MVYk4OGxCLl2bsjW2CI4PqKRvckwEWfn9z+' +
            '3YOBnWbK0AHqgyBNmFsgem4QGy1w0rtuu7ZtPbV+xoYsW/gqFsNAY' +
            'ENr/2FmoGGNgYGCLaD4J5wHh68y8vvdPbrt9YCUEnD//eAY6DijZr' +
            'd0LIQkC/8mKj6aQXlrICIiZQi5r1zR9Qafwh/fu/NpeDYNKC2TE2u' +
            '0MMvJbWLRHcKBfrJqm4uJXdNDcPboB2r++e+mEPEUbE9dPyqnsmXg' +
            'cNtZqgl6t7KA5ODpVTMeVRXEkIv6LuIHFYoBetrL7wKM4PrvXoc/z' +
            'IhSklAB6SIihxnV+EFAqpbKrQ7q6j+nMqinNwtmGl1RFe9G+RqNuH' +
            '68clyNbs3JZcqiCQcTUxXPhM+Dp48eNPn1oz8Gp7YBLwEPQCgiQd8' +
            'h4FDAoEg4FwjlHz2xnFZemhOdnxKenpZmjQsMCVcF+Xnq1PEavLC4' +
            'u6tXECkNGwgsL2b8W8Tn1pVRAQxmNRhkD+1GC8M7htUlaOuhHR6yd' +
            'gEWSlLOYpNlk6mzjr+lnv3Nqz1eN5WI6tjg+yEshr1HkvgxOpgFBA' +
            'wTIjlE513f8PDRVImVg4zW0ovxsFhHzzZih++cMevrg1u4h5mgvck' +
            'xMNBZdQ8CnUinxDhvQlU0DrDf2LOsTJwIjL4pgR0SEUymkF5MI/2L' +
            'SaU0SI8FW5xb7AA8/MbkUYhRYkYZPAK+pfDqrXpv9e0WoHh3K7a+V' +
            'zMYVK5kgdq789jXEWAhZQA6BBUHeSU90cFjMV6Y05yJJo0Qr2OHeY' +
            'bYLiz+FYQJ7hGwFfYfpaOFQN85uZPShw/8qeYS5w1ps7hsKDgVsUx' +
            '+kqzzpTmWn0WhamCVErEdqAO3o+CYPzu49+/Pws9sXHzu079KlS48' +
            'fPXx85fjJ6a3By+A5FBilXFbNNBLZreOwC/IbT20VevPK+V2fJAE/' +
            'BxUfFhpC9kTKmMDIYIAFSUZwHOjMyWkt4fk/u3/94pKR3WMFHBI6O' +
            '8FE9fw714AAT4w1c8iYfcPMG7ohVy+L7Boei+H8W+cGStPkKFCg2/' +
            'qEXFk7GVQz5Ov0RDuNWsP1ImRfgEhMcNggaJ/5deKG3qHAXvxeXjw' +
            'WhUKJRMJmqSaHmnZyydj1Q5PABkL0urq8ZsIJiGbTxg4amyVL8acD' +
            'yQSp0jrBv1maLS01xRiqC1QpfKV8MYfGpuCpBDTQKgzq+ekd5DCPu' +
            'xtMKAxZwsD5i8haOUfEpeMw9bOxAu0z6LSsuCiguBu7+h0clSRj4k' +
            'Ai+Uq4ztxKJhEjI8J7JsqXdgm7d+XsD2W+Sg6hZaxKrVK+1ikvCNR' +
            '8Pi8vxQ5BY+sg243dSz6KFwH/bB7GjokxsqjI4lLHti37xAvP/Djw' +
            '3OKRQLSykqxUUtU7U8D5g/X6VtHc2cXej29f/ipPIaJhW5tFel2gJ' +
            'x73zzyI1LAqsiNnWZe3Vz88f2BstgzcEz5TaNMIeP84ZVFfzfKRZp' +
            '9/rB4d6sUzVKmU+aFsMQ0zp8T36b1rh0YlgkVBGCHjPXKTrRWXket' +
            '0kg1yeqcE5XdF3o9vnId8QfNEgY0VhrMzkuIC/FRCLgN5t4WbGxGH' +
            'jtF5Te8Ue2nX0tbRvJZJQVXqiDpLtTSPDwZHtvpSdvUOuHdi66PLx' +
            'y4d3r78h+m+HPzkEt2Na5cvr5n0Ra4cIhvMco5JzaJXrezh9tdR9l' +
            'hL9NiymDN715VP75wTzGydEBDgr30xBcABwsPCQqUkLxZuVrEvaCs' +
            'IvNe3zFnVUQPBE3wiL0rBolOeN4hYr2e6I0Yr8Dy36JOJTRTQyaw4' +
            'I9UTOY8ED4rFYqYnwJwR4K8g/vRLEDGIaBAsvj7eNbJo+EO5TNbaK' +
            'u1g4f9+/1abGG4bs0AmEdeo0yEGMpmMtMRYoxd5Y0/D1c1zm0dwdC' +
            'KiLqCG9dtaAH1WsHB+Mo5SypPz6XwGERgLzDj6rwN+dWQv7vV65gR' +
            'MyEuhKDNydWLi2QWDvi309mLjW5UWkrCIAZI8CRHhYT2SfH5pH3T/' +
            'zo3VnTQgM1tZpVo/DR77Gqc1nEonKc6OlL3tbwFV/nG6FIJGO4sQl' +
            'CyRgHeviI2JDpuKS9jcXXv78DpgZa1NAjGfU3mwYKUymbQsOayjlX' +
            '/rxI5tPbSgDkA9BekCCbiqWwYwAPhw6xgeDO34tDZHPs8KlZGAQ4H' +
            'WCwsLqxz0GqLZenSoF/AkEGJtFlCyIJGA5FzfPKt7rJBFQtRTSWKI' +
            'TCpB180gQfWHh4V0tPDObZi7Z4jZX+gJQ8hJsat8vYHwvLj4iSgyJ' +
            'r15VuK0pl7wWJqGshvFmyrfdwZ/AddA1riIaJ3I86dWKujSH4/vPX' +
            'v65Oyp4+mBjDGFoXs3/frwwb3yj60xPmSYYnABSEPVJcDzdYaggEF' +
            'F9j0LJ55a/lU3O79tarBWo35hadAvEJLNHDrwmsYGFsRb+K7rW79f' +
            '18XPrqRA4IVs6zBHgdG6/dV/OpWSHW/M0NF/v3OlnYnHJmFMEQbnA' +
            'MkkktVigoQOU3nvzN4fW/hC8AfmH/PyEm3IoVmzSS8mbukVfHJOTx' +
            'hyXmwYkM8amQmFQob27chalujZ06df5im4ZEzT+DCI7f/iJJZ7A/j' +
            '+mwAxofBwFY9QEMp6cvsy2HBbEw/UEPwVCY+ODAnqkeT1cxstKE1g' +
            'IxDngTQGBgSAN9X9K5zvbIqKjMwMYkxv7v3oxoXxuQqYo/RAeoghm' +
            'PBXKgGbDwnWRSnIX+TI7xxZD2kUNLtW/fc9XAg+YKWNkhyJWtqhmd' +
            '1PzOqW5EcH9hJtNBIJNawSQ3bQ+vll6xktjJxnj+/3SxACZwOnS0+' +
            'wMmh/z3U9Nkv/q9l6dKgXcL4+stiuBnn7Ubzw92unVnfyg/iG7HwF' +
            'MwMD/Ot4E7lCpFCy0xJhru9eOQsED/oDspTNpFcJO8jCl9K3V6Ji6' +
            '+clR+d+ZIdnEh1d+VvA00HERSrIwH8+yZCAWHh65wqIrz+ePb125u' +
            'jxg3uOb1t+acv8AyMceQYWPCUfDj7VYWIx6DWUH8SgIct3LEhaNqL' +
            'gavn6SU28OsfJgwL9Kz8Q6F6gP8IrfNi4X1qr7h7dcHvfsi3d/WNV' +
            'VBISd92KLD4QPP8+OQBxj0ErSIjoYObfPbM/R89sHcP14iClyfBYD' +
            'CQs6FWCH+3s0jEHhltgmmCyMhJtTHoN3XPOKZDJQkcg8IfLm2bPKv' +
            'IFwmm1mKuzbucxp8jIiCw9E4z80sZZu/oEAquB79Lrg97ZC+N1Bzw' +
            'eOo2aGRcNAXxoqgTixpYB5m8njMKikF286CBln3jJwjb+D+7eXt9F' +
            'GyYjAS0JDtJV4e2vBJiESqVqYxbmh7Kul69Z20ULkrlVDA/chEz8+' +
            '+wuTLe/1g9c4Ot8r4tLR0coyBS8R3ClktpIQSFjVCMd45fWyjvHt/' +
            'Z0CNU8QkqC42WVLvA4nMVsNkiI2/uFn5zRVi8hgm0VxwdJJOLKLLR' +
            'em33+G8h7pevJoV4Ah8VChIeECLHiwHDr5dVfgcCHiQNdiZyCJnrW' +
            'cVIqzpZLOmVGrBvZ5MSiMZAvQCwjg62pSg+MtCiCc/XghoWtlS2MX' +
            'BCnL6YDRJNcLiuzeTOJ6M5W/ulZnYHq/++Pp88e3n506ci17QuOTW' +
            'u9qI2qq40PZAb8Ol5Di3cg0an68ovzEHJ+ZvLIRtLbVy+u7xNZFMk' +
            'xm2KqxG08BmWOicKi3ZO1tJPftoevOzA0Oi2ADnYCTZY5NFW0M/SU' +
            'x2EVxek6mHnAl0oiOfnpcWDbwDd8FZJWdh+IFfvHZJ2Z18ehpkHoL' +
            'orXV7GNykCjUEFBOosvpYuN/+B8eWYQMyWADsS7ijB0ZsnQ0NCCUH' +
            'aQ2PPglwXQVYuSyvREpyXY36OqLLUAHjfoNbAHPgUzt8TnjyePjq5' +
            'fMKAgGvgeRIlhOdrlXYLv37y0sgMS5MF+gB544l+vyi58BYfDzku2' +
            '+gsIez/LPjW7u1VJNflSgA0Cn6xsQTBfwGRgcjcPsh4cnQpMXsXFQ' +
            'yRxzgv8rUIub2kWgaPdPLLx1w4aZB0mPlgkEr7kHR/IckpRajRyie' +
            'bM/s9z5XRPVJMQFojlyqbVEM3Wo0O9QEVJLnZ+fBjE85bR3Ifn9v3' +
            'YQulcVGmeFCHg8ep+5Qqxf11AnwTRqU0L1vaO6GITaFTK6s4C7bGY' +
            'jII0+6QmirvnDoGRFMYHIxz7r/5QKZTkOKSYZK844bXNs+8d33x1w' +
            '4yr66ZcWPwpaLe5Jcg2GUwiEecBrtrKJAwLNVDIxOr9dDqayRSTE8' +
            'zcN6PHiR8GZQQymmTEsZlVS7PCEwZG2j1WUBbFub7thzPf94JHwSQ' +
            'i6zAt7d5qtapK6kfOuggFLa2K4gj2g/v3ZvdKkVboQQGDWJzp8GLh' +
            '1nX2u7nrlzIjByhcszA2GNvLyAB0hIy8J8JCJXj82kF9dEIB/Hqpr' +
            'epbY5xjCQkJATOWMXDru/jBk2kayoLwXmbzkcuk71FVllqAQaNDQ0' +
            'MCBAS92HP/4MiHl4+fP3OyV5zAqqRMG1Cyqrvh8YM7EDSCRER4qvD' +
            'J1w0abhWZNyoyAqjd0FQxaMwesUIKHpWXZAIaX8UqnDXoiiM4Z9dM' +
            'W95OzaVgmscFcTmcFwtiMVERMiZ220dhZxcMsvpSE/zoBkNwjWuzf' +
            '5miCaLB9hFp5xaPBJkJmdpiMVc5olbvzdajQ1WGs6SYTUUFc93bP+' +
            'TS8rGQcyFFQqIM0gW+FvVFzvjFOYaniu/fuTUwWVSYWEO1DbeKgO/' +
            'tpejRKHjrV22Pze1r8qE47NYXNxzBcjQaDaSSwgj2jT3L9g0Ia2Pi' +
            'FUWwS6I4MDpIyt5sHDgLOKleTMxLMvt4yfEveQsk8v4IL0Vrq6ydm' +
            'ffk98efZUpLozgvKxwEmaV3nKg4kn332KZFbdQyBha+AvqgCwyoLv' +
            'HgkSrk0lIj1ylGVs2fBvGBjPNonJnqL/T8Mlf+9N61IaliBhENozM' +
            'ajbVUnkcucAn4xRZvJQd/Ykb7H8p8IeCnx5kqb+U75UlYWFizcDaX' +
            'jJlcoHh8/SzIWIYnKsqLDFzxfakbWTvATqkUclqcGawXpN+ZOd1Ap' +
            '9y5fWvN5P67flu856uWJ2d3u7Zr6eAUcVe7IDzEQHz9ev7PTwvblE' +
            'BXTv04eHc/g4KFByUC7K6KVcAnRUJhWU7i+Dz5o1uXejkESX7I6of' +
            'TI5yrWOnxyAbuzfI1E/IUwO1zkyyIFK1hXM9f4tDOgbzE4dG9mzCD' +
            'kGiyk+1VghWSRMj13Gw9OlTlr2YxmbkJyHnp5uHs+6d2zCryAYqIQ' +
            'bllJVrp1Uoq1dqUG5vFLMpNWTog7fzG79MCGXEOu2dNF/FgICHBQR' +
            'BYLh3aurK9uq2JV3GRzd3tubylNUqwgPeVTyw+MbVFjA+FgPGAIYN' +
            '845AwwMHAcYDGF8SHh+gDmXTKyxZsK05FEuNsZjkTt7az5tQP/UJk' +
            'pPykaBaj+gFXZKMc9KOIhu2XKHp05URJJBseCBBjiOQ1rkSBs6uUv' +
            'kBjwG3LP0vfvXElcADoIfz6oGQxtAAcGzgbfHWiw1ajUqvcFIigzC' +
            'CGQ0W9tf/XAUliDhljjIzAoJ+Py/k6VGNUVOMQFvBMCEdP7l6dnK/' +
            'gVRyGyUi0vdY0vcuoOLEsKjOJWUQ0aPDrW+b8+fTxs2fPHj18cP/q' +
            '2Zt7ltw7sfX6yf3LFv+SEMhjUQive1zEeZLZbjVDihyaKrl7fEuug' +
            'UX3RKfEV61d6bwdkJqcCBT0+NLxh6e0jJCTgZO/qCWFCFUupyg54q' +
            'NE4f3zB3P1zAQtckWiekp6cbukNCnEj++5//P8Y9PaQGttrFIfb68' +
            'qLLGi1FV9NluPDlUZSJ4NDEjS0hVM7K7eAReXjIxVUbEot4JQFhjz' +
            'a9UIcqbg3s0c+5dN2zK2KQTAyleQKo0XeX1bRnrat829b58/0sXGa' +
            '5pielGUCRrx9fHO0DEgHv7xxx89Kzhk62R9dFSEXusb5iePDPQNVs' +
            't9pHwWjYSp9UaE89h8qUmqFRAgTy1uo/Zi4c3mqouNYCEQ4aOiohr' +
            'pmJDxD32Re2C4BSIwGe+RmRzLoNNqdHlkxcxfC7o4xpt8aGzmufKt' +
            'cwYXr16xZPPInLsnd2zr4a/mEZD96yTzK/evoalgfZCKR8gPZQFLg' +
            'SiarKX7KxXOX4KsB7nDZjEl+tHYJHTvOAHQoXVd/JQV95FLYzWVV2' +
            'vfd8BAAvz9gWkbpMQDw8yPrxwHDf7//vfn/wDPfv/j0R0II48f3t+' +
            '/d3eX1EDn+djX2j6CiZCIRaVGPsTz8jGN9vQzCGlYkMlV/Ne5Y2Wz' +
            'WiEvb/w48+rOhb3jhWAelVeenYVzu8cK1/SKOP3zx+GQkhKN1WuLg' +
            'XWBtet0ujKHhkZA9YkX/vHkUe84oRcb77Dbql+iqfdm69GhKj8fBp' +
            '2elWB2ko0HZ3ZPKfDikNAgc5AITHq9t2oik+6nGtPSeuXi2dnFPiW' +
            'NbDWLFGTvgNsmP3XdV52P/jIyP4QVbYz6ewHHw90QHATpBrL2jZ0/' +
            '29W0jlahv9aPUHE/z+Ovn7pYS8XmlCZCQbYpqde3/TAhVwHUN0Dzd' +
            '7VJ5DYoGsViMUHD5oey4UvHZEl/v36mzIi8MbBVdFVzqtK4IThYK/' +
            'CMU1Mhhj+4curu7Zu3L568vvMX4DYQyYGwFcXp5DLpK6M3fADkJA1' +
            '5AR/7z2dPwAYGN1LKWYhqw6BRQoEgNd4WISeJaJi+CaIbOxYcHGFz' +
            '7s4naGjBwfq3UxXt7QDUlsVsAhLV3c6Hibi28VvgGI8uHfnj8T3kj' +
            'mcFIIQA+zh65PC8Od81t6rEdCxkzzpGj4q4pAU2Dury9oGVQ1IleI' +
            'xHeqKdVKn2pnPFIDwstKOVv6SN+v6V05DgYKIRXlfpmjYOi42Ojk7' +
            '2p51YNHrrR2GRCrLRGFVZ1DurQnHYbIvFUhzJoXmi0gLoJ6a2PDqh' +
            'QCfyhGAF7ly93/XebD061AsA2dBq/TKDmKDl93ykP/djf1NF0VcQP' +
            'v+i+jEYcHSYfkZ70+Wju3rFCa0WU42iG3SU0lsxpEXK8V2/rf7I1j' +
            'k1UCH7+3VaMMywYJ0n1h3k5MOrp7vZBdmN0qvXP68LkCcWFABPLD2' +
            'QcWP7/E2D4z5pGe/NRnSTe8XYqRSKWq3OSnGYfSngle1N3Kvrp23s' +
            'ppUysKDUYu3WWu5UgkfDhFLwSJFteG6QCh+cLz8xrVX/RJEPRB2UW' +
            '6toHnKVuw6rQ8iQDUEQqyEjPLp8bNNAy9ejB0Mkx6LdFRJBk2STgo' +
            'UDdvFpIynwdohRyVoaqFERHZsQa6WSyR+GQnH7awc22xEOHGDfkOi' +
            'j4xvD7H+T77VrVKMLqyeBQnly6yLwDeSeOLCPp09uXDqzdfn306ZO' +
            'bhQmgV/B1aEoPDzqEL0OZq1ZGOvpg1udrXyLL9WAHLL9xzFsXWBAx' +
            '0TV+MaK+7evrevsB0Gj1OEnl8sqk38gojnxxoxA+r1LJweniDta+N' +
            '4yscdfxzKBJZJJJGDsBbmZbWN4GTp6j1hB+cfWZw9ubumuBVZQVHO' +
            'h3fpvth4d6sUjQqoBx1shXIPFAiccnSllEFGgoB02y+teQ4YPQ2dy' +
            'srMXf1pavuSbAXmhamXVMvVOgPYJDlB/3S3jyrkTozJl2ekp1Eqjg' +
            'EekUyk0fEJRJPvmgZWrxndrZFQxSK++lFcd0FSQxltEw+boGZdXf3' +
            'WxfNN3k8bikcu87hwmLTDAPz0xFoioLxcPcmNMtuzc/I+ub/0eeJe' +
            'TbCjksloMEY/DOawmDAo5B3tlzcQnty+fmdMNgoaEjoXAC8EkJMRA' +
            'qNuhAvgWvb8aAlp+CPPalrlXDm2eP/MbaBnCRYeCJNAm4XLSzObeN' +
            '7bNu7BweMtoLqRjGFpBkpHH435I1QVhLCKhoIXNJ9fAvHd696AUZF' +
            'V5eJqk1Mjpnyhe2zv86Kye17bOu39619M7V5wB5MnjhxdPlK+Z//W' +
            'XY0cnBvJgrmvnHvDcgv1VAioG4gaE6CXt1B/nBaqk7Bd35YBpBAYE' +
            'tM80DksV3zy5e+9QS4wXpYmBpQ/SVU6CFZJc1gqpBcH5/cGdMVmyF' +
            'qXFdE+0868IeLxMKk1IiO+Ra5xeqDy0cNzlbQsubph15+ROZH//04' +
            'RgCRHSAbPaKwsbotl6dCgnIHYplb7NwtiQXvcNNp6c3jpEihwXKbN' +
            '6SSXi1zVI+DgEulZNMzfNGbXmi7atC9L5XHbNByMJ+DhL1IKPS4+t' +
            'nTc8Q6EP9P/HXR43Nznbs4tNkBPMPLNg8OWL5yeNGsijYPBo5MTma' +
            '3UKPuzNIwOXyw1mnftl+KN7t/bv2QUebZCQ2hQXwOw41LTxuYq9I1' +
            'OOfV0CTOOP3x+UD4sJkZHgIaQl2GupGw9/DrEuwxEFJKFnrODukXU' +
            'Xl4z8LEvmw4ak5wbKyGw2VSn9V3s/lVJeVhAjHajLT4Mf37+9d/dO' +
            'FZcw4YsxTUJYeQbmxu7+t/YsBtL+SYYUXAO6B51XKX1f6wLXuw8wO' +
            'R8veZ801foBtosrxtlUVC4Zk5OVGR1hKGmeP6JtZr9E8eQCr80DYk' +
            '7O7Q0B5MHpnRCunSsep8t3LJ8xevSnwxP0Eki7ZDyqxjdTwB/5Sjh' +
            'gA5l65uU1ky7uXjFv5lSIw2BZeCwG5DNyVy5VNyJdcvXwlgNjsxL8' +
            '6BYlxWSqOpvQeIC/n7PiyvmVX62c+VmACNn8AurPYTEjI8LbZFn6J' +
            '4m3TOl1/fjO3R/H/dRSuXLK0IM71t88XX706+IYb0pxYgj3r6tMDd' +
            'psPTqU2197DUB0IZq1juGCfuyXICThPFQ8Asir6q/BeiWQE/ISUbd' +
            '8+55lM37sEZudnV3lRvCL72Ux6SXN8tfPGrVhcu8OzdKrV0wFydk4' +
            'DbkfvX9c7t3zh8+fPf3jzMmFNrVBTpPzGSwaiUjAgcs4S1zCf2DRK' +
            'HDXGlkq8PnSwqZtTdwj0zuAjd27de3IgT3bt2xcPaZs27hmt8/sP7' +
            '9szNFvyu5dOHL/7u2bB1bNK/WVM3ERcjLkl1rWhJHDonRK0/hQeP6' +
            'zi31Aic8s9PEXIJc1gTYkOkAI17aBUh3gIG3zHGmBjGNT2/z57Mnl' +
            '8g3lW1ad2rN+zxDzkS/z7h7dcOfAr2AkAUJPiEvR3uTIyMg6kpn3C' +
            'JDu1RLmV31Lrpw5sraTn5yFK40WyGVSmG2wTIYnOsab/FHfviNzVT' +
            '0cgq/yFFv6hh3/ruuVDd/ePbbp0dVTjx89PLlv85Ipwz8fMzIvISp' +
            'QyuBR8UA/Kle9QyaOhG6VEwcp48jEwgfXzu3avlnGwEkZOFOItiQz' +
            'tp2Zv7Ct/71b1/d+HJvsz4hSkKu8t/p5V93dDYEaaApC0PE5vbas/' +
            'RWEDt0TFaYWFednd7ULFnaNunH5zOHJZX0ThH58T5Ab+UkxQ3u02b' +
            '5kxu6hyPIU5GtvqajqamfDNFuPDuUsGtzSLAExfnBM+qHRyRAx4GM' +
            'FCeHIsZbXZ78wO75ycf9cw9GNP88s8bOaomouU+DuLhUJupdm71v7' +
            '04+9k1Li7URC1Vu68N1AUEcM6Ln6k4L718/fv3j0+vkT+7etnzN+2' +
            'PD+vVq2KEuOtxtDdaGB6hCtd6hSAI8L5D9MvRcLB7nD/Z9NAc8fPa' +
            'jnjllD7108dvHXL058237/yKQ9AyOXtVf3ihOafSjA/Jd9PXDex62' +
            'PrZn9VWNkc7OtiSd/VTV1NhlT1shs8qEcn9Hu8Jg0kBI4tDuXjG6U' +
            'aIPU8LpsDebIpOZ8lik9tXTc1Q0z9g2K2D0g4uqWeQ8uHXt87fSDM' +
            '7v3D46MU1MJGHcYTkr8a8el9wIwHhoB/fPPPx9eO6+nQ5CjZ4aGhF' +
            'ROYWBjEAeEVGxyuO9HnVsOTRHDTI1Ik6zp5Hf4q8KLK8ff3Lvszrn' +
            'D54+Xr/n202+Gde7RtbMjwt9PxhUwKWQC2vlKTTTKPUKJ1GXaOiDm' +
            '/tl9kC727tqxcsWy2Z0sv3QIOrZiysUN380q8oHcESYjQQpg1rShB' +
            'n/gJ2EkaWldbHz43isXz/06f/rPP8ydPbTlor4JZ3atPL/6m++KfI' +
            'EABAqJzZKN/n5qNp3sL/ScOOHLFX2sVl+qkIbVVBPyDdVs/TkUiDV' +
            'jRJjFlzImW/r7zQutYrgg6lMD6CDuMNXKC9Rp0t3dfLikT1slnju6' +
            'f3SmzBIdWeOSIMJFxdwxQ3qfP39+WnNlZEjNaR1ZIvNEj+7XceeyW' +
            'Yendzw2vd2pHwefWj39xJ6N+7ZvWDP3y0UTPlo0+ZPlC2atXfvbiu' +
            '+/mf95n7Fdm7RqUcqnVK13Cv/HJKLHD+n26/C8ISmSzCAm6Ah4IPA' +
            'k8Wh3MR3bI9+mExFJONSunTt29o9A9kORl/XU9joDN6RSh3t2fPS0' +
            '5j73bl93XiMCzdI42Szk8/5duTwIO50b27etWfxLKyVoqx/KlHsXT' +
            'TpycP+5QzuPTGkFwc1ZEbd5YphQIPiQljUqA4b16YhhU8aPaVeSr9' +
            'f5v2yRDfg8EYeSMnGpUX59OpQMT5UUhrO72QXTmnntHmI+MafX+TV' +
            'TzmxfenjfjlULZk6d/HW31s2S9CLkkmbFxgHMdfv8pJVj2z68f+fK' +
            'pjnnVnx58qfhJ+b0PjAibkITRWogQ0jFJGjpsXYbg0Z9Wb01aGRQv' +
            'z7L+9ge3r56af2MY7N67p9QtG9c3vZegWOz5clauoCCKQznxNrtfA' +
            '4Lg0LmDnQB2MmQXh3bmnnNEiP43BoSdAM1Wy8OBf9ikgllRc3mFPt' +
            'c271kYzctUDWkiJDD8ibr85AL+rYp2LlqQe84od1uw2Fq5hsSBm72' +
            't1MPb1oEbFMf6Ofx8l0bSA3dmyd+U2boZOU3DmGB2AeHAm42IEn8a' +
            'YZkcIqkq50P7AuEG/yzZdMsf28RCV9z4RoQLJ2apXya5xchJ2n4BK' +
            'M3uczIbZIUHR0RImEjr2YAUbxgaPNLm+Ygb+CNt7y491oLgP51zAj' +
            '5dULPkigOnYBqnhgulYjreGu4RkC8aZ1i+KK1fWQj6eQvR7eziQNF' +
            'xJ++6A351KakELAexRFsP436A1vWqALkHCYOxaUAXX3FMN0rAgg4G' +
            'gT/2CBpt45th+bpmoWxgKsXVhyGbB3DA1MckyWbUegzt03wlK4pow' +
            'b2yEmJBWMAZxjcvvHSz7uMz5WB8UA2MXqRFUwcGY9cIy2zKEJDDGS' +
            'SZy2kzpnExw7ssnJcu1GZUrBP4K5+fAKfgiHhUUBE85ItaqU3iVC1' +
            '7D+kFUjlfBq+xrLJDdTs88+8sUPBo+vbqax856Z9M3qkBDCQ8xuOo' +
            'JddnKk7YMY/HtCze6pfSLC+Rr7hXkE153w3Y+Hsye0KUiuqY9V+Js' +
            'pdzsQXZif2ap7YycZHKqvzCMDV2SSMkkuIU9PamXiNU6xh+gA+6xV' +
            '1Y6ApiI0wBYFeXI1CIOUx6SQ8roIcwI8PG//DJ20vbV+UEkCzW2u4' +
            'iFojEE9PCx+YE1icFe+tkL75dVR4GJiK+A7uwCJhQJts+W35/nGNw' +
            'QtsSqrJZKrlvPqHhNc+Pe7hDnGVS8aEychF+dl9msU2DWP5cgjwJ5' +
            'CL6Uh9ISywyjwDMyU5kU7CQswnYj0yglhDuxQVR7KBZMIn4Z8tjdy' +
            'k+FiZWEh41UFrJyD+lCWHfVJqidNQgf/oxMRm4ezcRLM+wI9Jq+3g' +
            '5SvYbMM061YfDpXoR/vmy8/GdW3cPV2XFylXeSvq5RY2OCLDE03Gv' +
            '5Stg6v26NIhUUvzEjAgOL6ywedMDI+kFY2AqFOwg5XiYLVMp5Kp5Q' +
            'IJl04j4jCveI/rP1p78VMZEEinTfxi6/dj4EkG64PqflAWhknBI5v' +
            'XL46FvyHcK16NRyTgwtTir4Z0vnL58o5P00DzZqbEvewavgsvANOB' +
            'reDtMnA3CcWgFIVqvcL8veFHr5arZHwmlYj+60aDR4VmQT4ppel9h' +
            'ZBeJTwmiYB9rfrwIBVoBDTEHLBMrZdQxmfRwPpf560cb7NZt/pwKH' +
            'Bh+F0ph8KmemLryezr1HOkkpLHv1gHcHd7XqfOWYqquvu/CUJlpGF' +
            'DBjdKtHKY/7F7InVQZZIe7Uo3zBh8fuP3fROEZWlG6cuv4btQI/5h' +
            'LbWWL3v+yTcwpzdv4W02W7X9f+VQDder9w6Qqkg4j3p/hdBroeLwP' +
            'y0jOW5m78zrl84u7xLc3SEKCgz4kM6Tu+CCC/ULPA6n91d/2qXg+O' +
            '51e6f1AL2ZkJBAefkhNBdccOH/OFAoD7FQ0LljhzXTh57djNTkL8x' +
            'J4XM5H+rGqwsuuPCGqHgtCCnOHDG9X7MrF88u6xnTNTNcrfT5sDde' +
            'XXDBhTcBBoPW+HoN7dn24Kal+2YP7JsgMkXXXL/aBRdccMHteeE1R' +
            'kFe1sLPOpzft/bLXHnTvEZIdSmXQnHBBRdeAhwWG+yvGtuj+fkTh9' +
            'aOzO+ZE6FR+b5WvTUXXHDh/xQ8PNy5HFbrVi3XzBh+Yu3coSnihPg' +
            '4MtG1h+KCCy68FEA2DP7K8X1KLl28sLRvXPsm8VKxyLWH4oILLrwM' +
            '7u7ubBazuFn+qhkjjqz89tMsH2NE6IfxXgMXXHChgYBUeVV6jR3U7' +
            'eypY4v7pbZqmlXjVWgXXHDBBScgPtBo1Kzk2EVf9jq28afRTbSRIR' +
            '9UiXIXXHCh3oFGoVQ+8o97tz22Z/OqkUXtCrOFfK6LbLjgggsvQ0V' +
            'JeXJqQuy8QU3P7NswvkBtivpA3tjoggsuNBBQKA9vhfyjltn7V83Z' +
            '/HW3ngU2hVzq2kZxwQUXXoaKd5USHDbLpELtzetXJxd45WSmU9/gh' +
            'TguuODCBw/na+hb58at/qzk2IopA5PFBr3OdYXNBRdcqAUoDw+10n' +
            'tIru7EtqWr+8V2zgiRS8WuFVEXXHChFqA83AO9hZO7JF8/f3x4mqR' +
            'xaiyDRnVFDRdccKEWALMQ03ELZk46vHJmszC2MSqqXupCu+CCCx82' +
            'MCj3IR2afDeqR+uS5q5jGy644EIdoWDhHf4cOZuI/VevyXPBBRf+b' +
            '8LD3a3Or39xwYUPCv8fBu29Yg==');

        TPH := High(TP);
        for I := 0 to TPH do
        begin
          TTP := LoadTextTPA(TP[i], SmallChars, H);
          for B := 0 to High(TTP) do
          begin
            Numb := ((I + 1) * 13);
            FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
            FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
          end;
        end;
        Canvas := TCANVAS.Create;
        Canvas.Handle := SmartGetDebugDC;
        DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
        DrawBitmap(Pic2, Canvas, 100,10);
        FreeBitmap(Pic);
        FreeBitmap(Pic2);
      end;

      Procedure OnScreen;
      Var
        XPH_F,XPH_M,TTB: Integer;
      begin
        XPH_F := Round((FishXP * 3600) / (GetTimeRunning / 1000));
        XPH_M := Round((MagicXP * 3600) / (GetTimeRunning / 1000));
        TTB := (((w) + (y) + BreakRounds)-GetTimeRunning);

        PrintOnSmart(['Version: '+Version+' (by Flight)',
        ''+MsToTime(GetTimeRunning, Time_Abbrev),
        'Fishing XP: '+IntToStr(FishXP)+' ('+IntToStr(XPH_F)+' / hour)',
        'Magic XP: '+IntToStr(MagicXP)+' ('+IntToStr(XPH_M)+' / hour)'
        ],Point(15,236),16777215);
        PrintOnSmart(['Time till break: '+MsToTime(TTB,Time_Bare)],Point(573,432),65280);
      end;

      Procedure Commit;
      begin

        stats_IncVariable('Leaping Trout (Caught)',(Trout_Caught-Trout_Ca));
        stats_IncVariable('Leaping Salmon (Caught)',(Salmon_Caught-Salmon_Ca));
        stats_IncVariable('Leaping Sturgeon (Caught)',(Sturgeon_Caught-Sturgeon_Ca));
        stats_IncVariable('Fishing EXP (Gained)',(FishXP-Fish_XP));
        stats_IncVariable('Magic EXP (Gained)',(MagicXP-Magic_XP));
        Stats_Commit;

        Trout_Ca := Trout_Caught;
        Salmon_Ca := Salmon_Caught;
        Sturgeon_Ca := Sturgeon_Caught;
        Fish_XP := FishXP;
        Magic_XP := MagicXP;

        MarkTime(CommitTime);

      end;

      Function IsMoving_F: Boolean;
      begin
        Result := PixelShift(IntToBox(MMCX-30, MMCY-30, MMCX+30, MMCY+30), 200) > 200;
      end;

      //By Bandland100, modified to shift mouse speeds after every step
      procedure SuperWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
      var
        veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist,step: extended;
        lastX,lastY,MSP,W: integer;
        sqrt2,sqrt3,sqrt5: extended;
      begin
        MSP  := MouseSpeed;
        sqrt2:= sqrt(2);
        sqrt3:= sqrt(3);
        sqrt5:= sqrt(5);
        while hypot(xs - xe, ys - ye) > 1 do
        begin
          dist:= hypot(xs - xe, ys - ye);
          wind:= minE(wind, dist);
          if dist >= targetArea then
          begin
            windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
            windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
          end else
          begin
            windX:= windX / sqrt2;
            windY:= windY / sqrt2;
            if (maxStep < 3) then
            begin
              maxStep:= random(3) + 3.0;
            end else
            begin
              maxStep:= maxStep / sqrt5;
            end;
          end;
          veloX:= veloX + windX;
          veloY:= veloY + windY;
          veloX:= veloX + gravity * (xe - xs) / dist;
          veloY:= veloY + gravity * (ye - ys) / dist;
          if hypot(veloX, veloY) > maxStep then
          begin
            randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
            veloMag:= sqrt(veloX * veloX + veloY * veloY);
            veloX:= (veloX / veloMag) * randomDist;
            veloY:= (veloY / veloMag) * randomDist;
          end;
          lastX:= Round(xs);
          lastY:= Round(ys);
          xs:= xs + veloX;
          ys:= ys + veloY;

          case Random(50) of
            1..25: W := (MSP + (Random((MSP/4))));
            26..50: W := (MSP - (RandomRange((MSP/2), MSP-1)));
          end;
          if (W < 1) then
            W := 1;

          if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
            MoveMouse(Round(xs), Round(ys));

          SMART_DrawDotsEx(False, [Point(lastX, lastY)], 65280);
          step:= hypot(xs - lastX, ys - lastY);
          //W := round((maxWait - minWait) * (step / maxStep) + minWait);
          wait(W);
          lastdist:= dist;
        end;

        if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
          MoveMouse(Round(xe), Round(ye));

        MouseSpeed := MSP;
      end;

      Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
      var
        randSpeed: extended;
        X,Y,X2,Y2,A,Dist,MP: integer;
      begin
        A := MouseSpeed;
        GetMousePos(X, Y);
        Dist := Distance(X, Y, eX, eY);
        MP := Round(Dist/150);
        if MP < 0 then
          MP := 1;

        randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
        X2 := RandomRange(eX-(A*MP), eX+(A*MP));
        Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
        SuperWindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
        GetMousePos(X, Y);
        MMouse(eX, eY, ranX, ranY);
        MouseSpeed := A;
      end;

      Procedure HumanRandomMouse;
      var
        randSpeed: extended;
        x, y, firstSpeed: integer;
      begin
        case(Random(10)) of
          2..8:
          begin
            firstSpeed := mouseSpeed;

            mouseSpeed := RandomRange(5, 10);
            randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
            GetMousePos(x, y);
            SuperWindMouse(x, y, RandomRange(x - 75, x + 75), RandomRange(y - 75, y + 75),
                    30, 55, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);

            mouseSpeed := firstSpeed;
          end;
        end;
      end;

      Function AddToBelt(What: String): Boolean;
      var
        X,Y,Slot,T,Tool: Integer;
      begin
        Result := False;
        case What of
          'Tinderbox':
            Tool := DTMFromString('mggAAAHicY2NgYDjMxMBwAojPAPFpID4IxDuA+CVQ7hkQPwLiN0D8AYpNdNgZoiPDgSwmFMwFJEEYHTDiwBAAAIohC78=');
          'Barbarian rod':
            Tool := DTMFromString('mggAAAHicY2NgYChlYmDIAOJKIC4C4hwgzgXi+0C5d0B8D4ifAfFbIH4IxDaB0Qy6hiZAFhMK5gKSIIwOGHFgCAAAnhsJrw==');
          'Knife':
            Tool := DTMFromString('mbQAAAHicY2VgYHBkYmBwAGJzILYBYk8g5mJkYOAFYjEgFgZiBiBurK5miLfjBXKY4JgLSIIwMmDEgsEAAB4RA9I=');
          'Hammer':
            Tool := DTMFromString('mggAAAHicY2NgYLBnYmCwBmIPIDYHYisg9gXiUEYGhhAg9gTiWCCOA2IvILbT5GTw0Odi8PfxAepmgmMuIAnDyIARB4YAAPp7BZI=');
          'Chisel':
            Tool := DTMFromString('mbQAAAHicY2VgYNjNxMBwCIi3A/E+IN4BxCKMDAzsQCwIxSB+iDkPg56ODlAHExxzAUkQRgaMWDAYAADN9QVM');
          'Small fishing net':
            Tool := DTMFromString('mbQAAAHicY2VgYDjCxMBwGIjPAvFJIN4HxAaMDAwmQKwDxBZQtqOxKoORugxQBxMccwFJEEYGjFgwGAAAEFgGGQ==');
          'Fishing rod':
            Tool := DTMFromString('mbQAAAHicY2VgYOhjYmCYCMQLgHg2EE8FYl5GBgY+IGYCYi4gFgZiPR0dhjB7HqAOJjjmApIgjAwYsWAwAACBxQSE');
          'Harpoon':
            Tool := DTMFromString('mggAAAHicY2NgYMhmYmAoBuIKIE4G4iwgLgViLkYGhv9A+T9ALA5k8zFC2Gbq7Awerq4M/j4+QB4THHMBSRhGBow4MAQAAPbNCBs=');
          'Lobster pot':
            Tool := DTMFromString('mrAAAAHic42BgYJjFBMETgXgaEM8D4iVAPAXKfg5U8xGIPwDxJyB+C8RPgfgdEL8E4jALHjBmYGBCwcnx8WDMBeSBMDqAiTMSwDAAAK4jD/k=');
        end;

        if ExistsItemDTM(Tool, X, Y) then
        begin
          Slot := CoordsToItem(X, Y);
          MouseItem(Slot, mouse_right);
          Wait(RandomRange(20, 75));
          WaitOption('toolbelt', 300);
        end else
          Result := False;

        MarkTime(T);
        repeat
          if (TimeFromMark(T) > 3000) then
            break;
          if not ExistsItemDTM(Tool, X, Y) then
            break;
          if FindBlackChatMessage('already on') then
            break;
        until(false)

        Result := not ExistsItemDTM(Tool, X, Y);

        FreeDTM(Tool);
      end;

      Function IsFishing: Boolean;
      var
        CTS,i: Integer;
        TPA: TPointArray;
        PColors,Tols: TIntegerArray;
        HMods,SMods: Array of Extended;
      begin
        CTS := GetColorToleranceSpeed;

        PColors := [727590, 727848, 793897, 793897];
        HMods := [0.26, 0.21, 0.15, 0.16];
        SMods := [0.50, 1.39, 0.47, 0.78];
        //Tols  := [2, 2, 3, 5];

        for i := 0 to High(PColors) do
        begin
          ColorToleranceSpeed(2);
          SetColorSpeed2Modifiers(HMods[i], SMods[i]);
          FindColorsSpiralTolerance(257, 200, TPA, PColors[i], 250, 190, 273, 225, 5);
          ColorToleranceSpeed(CTS);
          Result := (Length(TPA) > 0);

          if Result then
            Exit;

        end;

      end;

      Function MagicTab: Boolean;
      begin
        Result := GameTab(Tab_Magic);
      end;

      Function FindFishSymbols: TPointArray;
      var
        B: TBox;
        TPA,TPA2,TPA3: TPointArray;
        A,i,CTS,Cx,Cy: Integer;
        ATPA: T2DPointArray;
      begin

        CTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);

        FindColorsTolerance(TPA, 12632256, MMX1, MMY1, MMX2, MMY2, 5);
        ColorToleranceSpeed(CTS);

        if Length(TPA) < 1 then
          Exit;

        ATPA := TPAtoATPAEx(TPA, 13, 13);
        SortATPAFromFirstpoint(ATPA, Point(MMCX, MMCY));

        for i := 0 to High(ATPA) do
        begin
          B := GetTPABounds(ATPA[i]);

          with B do
          begin
            FindColorsTolerance(TPA2, 16279077, B.X1, B.Y1, B.X2, B.Y2, 1);

            if (Length(TPA2) > 0) then
            begin
              SetArrayLength(TPA3, (Length(TPA3)+1));
              MiddleTPAEx(TPA2, Cx, Cy);
              TPA3[A] := Point(Cx, Cy);
              Inc(A);
            end;
          end;

        end;

        SortTPAFrom(TPA3, Point(MMCX, MMCY));
        Result := TPA3;
      end;

      Procedure NextSpot;
      var
        TP: TPoint;
        TPA: TPointArray;
      begin
        FindNormalRandoms;

        TPA := FindFishSymbols;

        if (Length(TPA) = 1) then
        begin
          Writeln('Only 1 spot found, relocating...');
          HumanMMouse(TPA[0].X, TPA[0].Y-5, 1, 1);
          ClickMouse2(True);
          SMART_ClearCanvas;
          OnScreen;

          FFlag(0);
          While IsMoving_F do
            Wait(1);

          Wait(randomrange(1500, 2875));
          Exit;
        end else if (Length(TPA) > 1) then
        begin
          TP := Point(TPA[1].X, TPA[1].Y);

          HumanMMouse(TP.X, TP.Y, 4, 4);
          ClickMouse2(True);
          SMART_ClearCanvas;
          OnScreen;

          FFlag(0);
          While IsMoving_F do
            Wait(1);

          Wait(randomrange(900,1500));
        end;
      end;

      Function InFishingArea: Boolean;
      begin
        Result := (Length(FindFishsymbols) > 0);
      end;

      Procedure AreaCheck;
      begin
        if not InFishingArea then
          FindNormalRandoms;
      end;

      Function Antiban: Boolean;
      var
        i: Integer;
      begin
        if not LoggedIn then Exit;
        FindNormalRandoms;

        i := Random(300);
        case i of
          1:
            begin
              RandomRClick;
              Result := True;
            end;
          2..5:
            begin
              KeyDown(40);
              Wait(RandomRange(500, 1100));
              KeyUp(40);
              Wait(RandomRange(310, 865));
              SetAngle(SRL_Angle_High);
              Result := True;
            end;
          6:
            begin
              HoverSkill('Fishing', False);
              Result := True;
            end;
          7..300:
          begin
            Wait(RandomRange(250, 350));
            Exit;
          end;
        end;

        Wait(RandomRange(250, 350));
      end;

      Procedure GetFishType;
      var
        A,B,C,X,Y: Integer;
      begin
        A := DTMFromString('mbQAAAHicY2VgYFjNxMCwAIjXA/FOJgg/gZGBIRaI04A4HYijgbi7OxuomgkF8zNgAkYsGAwARQMG9Q==');
        B := DTMFromString('mbQAAAHicY2VgYLjCxMBwAogvAvEjID4LxDaMDAxmQGwPxE5AbAzEhUmJQNVMKJifARMwYsFgAABAigan');
        C := DTMFromString('mbQAAAHicY2VgYLjMxMBwC4hPA/EpIL4PxImMDAwRQJwMxDlAHAPEmnZ2QNVMKJifARMwYsFgAABXgAbb');

        if ExistsItemDTM(A, X, Y) then
        begin
          if (CoordsToItem(X, Y) = 4) then
          begin
            Inc(Trout_Caught);
            IncEx(FishXP, 50);
          end;
        end else if ExistsItemDTM(B, X, Y) then
        begin
          if (CoordsToItem(X, Y) = 4) then
          begin
            Inc(Salmon_Caught);
            IncEx(FishXP, 70);
          end;
        end else if ExistsItemDTM(C, X, Y) then
        begin
          if (CoordsToItem(X, Y) = 4) then
          begin
            Inc(Sturgeon_Caught);
            IncEx(FishXP, 80);
          end;
        end;

        FreeDTM(A);
        FreeDTM(B);
        FreeDTM(C);
      end;

      Procedure FastDropSlot(Slot: Integer);
      Var
        TB: TBox;
      begin
        Case Slot of
          1: TB := IntToBox(564,214,598,244);
          2: TB := IntToBox(606,214,640,244);
          3: TB := IntToBox(648,214,682,244);
          4: TB := IntToBox(690,214,724,244);

          5: TB := IntToBox(564,250,598,280);
          6: TB := IntToBox(606,250,640,280);
          7: TB := IntToBox(648,250,682,280);
          8: TB := IntToBox(690,250,724,280);

          9: TB := IntToBox(564,286,598,316);
          10: TB := IntToBox(606,286,640,316);
          11: TB := IntToBox(648,286,682,316);
          12: TB := IntToBox(690,286,724,316);

          13: TB := IntToBox(564,322,598,352);
          14: TB := IntToBox(606,322,640,352);
          15: TB := IntToBox(648,322,682,352);
          16: TB := IntToBox(690,322,724,352);

          17: TB := IntToBox(564,358,598,388);
          18: TB := IntToBox(606,358,640,388);
          19: TB := IntToBox(648,358,682,388);
          20: TB := IntToBox(690,358,724,388);

          21: TB := IntToBox(564,394,598,424);
          22: TB := IntToBox(606,394,640,424);
          23: TB := IntToBox(648,394,682,424);
          24: TB := IntToBox(690,394,724,424);

          25: TB := IntToBox(564,430,598,460);
          26: TB := IntToBox(606,430,640,460);
          27: TB := IntToBox(648,430,682,460);
          28: TB := IntToBox(690,430,724,460);
        end;
        MouseSpeed := RandomRange(26, 39);
        MouseBox(TB.X1, TB.Y1, TB.X2, TB.Y2, mouse_right);
        WaitOption('Drop', 400);
      end;

      Procedure DropRemaining;
      Var
        I,MS,T: Integer;
      begin
        MS := MouseSpeed;
        T  := GetTimeRunning;

        if not AlchFish then
        begin
          FastDropSlot(2);
          FastDropSlot(3);
        end;

        FastDropSlot(4);

        For I := 8 downto 5 do
        begin
          if (I = 9) then
            Break;
          FastDropSlot(I);
        end;

        For I := 9 to high(12) do
        begin
          if (I = 13) then
            Break;
          FastDropSlot(I);
        end;

        For I := 16 downto 13 do
        begin
          if (I = 17) then
            Break;
          FastDropSlot(I);
        end;

        For I := 17 to high(20) do
        begin
          if (I = 21) then
            Break;
          FastDropSlot(I);
        end;

        For I := 24 downto 21 do
        begin
          if (I = 25) then
            Break;
          FastDropSlot(I);
        end;

        For I := 25 to high(28) do
        begin
          if (I = 29) then
            Break;
          FastDropSlot(I);
        end;

        Writeln('Dropped fish in '+IntToStr(GetTimeRunning-T)+' ms.');
        MouseSpeed := MS;
        OnScreen;
      end;

      Procedure ReadyAlch;
      var
        X,Y,AlchBMP: Integer;
      begin
        AlchBMP := BitmapFromString(10, 6, 'meJwLuf2Kd8o6JkYmVl1+sVgVpk0' +
            'y8sez4Uhi10WILLsQO4sHG1MOC1ABHAGl2OKaILJABDQBGQGlIAii' +
            'AFOWtbwfiICyaAq+n0oEigMNZ/HJZjFwhyuA2wIAwl0jlg==');

        if FindBitmapIn(AlchBMP, X, Y, MIX1, MIY1, MIX2, MIY2) then
        begin
          HumanMMouse(X, Y, 5, 5);
          ClickMouse2(True);
          SMART_ClearCanvas;
          OnScreen;
        end else if not FindBitmapIn(AlchBMP, X, Y, MIX1, MIY1, MIX2, MIY2) then
        begin
          GameTab(tab_Magic);
          if FindBitmapIn(AlchBMP, X, Y, MIX1, MIY1, MIX2, MIY2) then
          begin
            HumanMMouse(X, Y, 5, 5);
            ClickMouse2(True);
            SMART_ClearCanvas;
            OnScreen;
            MMouseItem(4);
          end;
        end;
        FreeBitmap(AlchBMP);
      end;

      Procedure FishnAlch;
      var
        X,Y,T,DTM: Integer;
      begin
        MarkTime(T);
        ReadyAlch;

        repeat
          AreaCheck;
          ClickToContinue;

          if FindNPCChatText('these fish', Nothing) then
            Logout;

          if IsFishing then
            Marktime(T);

          if InvFull then
            break;

          if ExistsItem(4) then
          begin
            MMouseItem(4);
            if WaitUpTextMulti(['Cast', 'ow L', 'evel', 'lchem'], 400) then
            begin
              GetFishType;
              ClickMouse2(True);
              IncEx(MagicXP, 31);
              ClickToContinue;
              OnScreen;

              DTM := DTMFromString('mQwAAAHicY2ZgYChiYmDIYILQEowMDFJALAjEMpuYGA4tEGA4d+UWAz9QHQwzIWEgAAD7eAaN');
              WaitFindDTM(X, Y, DTM, 4000);
              FreeDTM(DTM);

              ReadyAlch;
              MarkTime(T);
            end else
              ReadyAlch;
          end;

        until(TimeFromMark(T) >= FishTimer)
      end;

      Procedure FishingWait;
      var
        T: Integer;
      begin

        Marktime(T);
        repeat
          AreaCheck;
          ClickToContinue;

          if FindNPCChatText('these fish', Nothing) then
            Logout;

          if IsFishing then
            Marktime(T);

          if InvFull then
            break;

          if AntiBan then
            Marktime(T);

        until(TimeFromMark(T) >= FishTimer)

      end;

      Procedure ReturnValues(colors: TIntegerArray; var HueMods, SatMods: Extended; var color, Tolerance: Integer);
      Var
        h, s, t: Extended;
        I,II : integer;
        HSLColor : Array[1..3] of Extended;
        HSL : Array[0..1] of Array[1..3] of Extended;
      begin;
        For I:= 1 to 3 do
        begin;
          HSL[0][i] := 255;
        end;

        For I:= 0 to High(Colors) do
        begin;
          ColortoHSL(Colors[i],HSLColor[1],HSLColor[2],HSLColor[3]);
          For II:= 1 to 3 do
          begin;
            HSL[0][II] := MinE(HSLColor[II],HSL[0][II]);
            HSL[1][II] := MaxE(HSLColor[II],HSL[1][II]);
          end;
        end;

        H := (HSL[1][1] - HSL[0][1]);
        S := (HSL[1][2] - HSL[0][2]);
        T := (HSL[1][3] - HSL[0][3]);

        try
          HueMods := (H/T);
          SatMods := (S/T);
          Tolerance := Round(t);
        except
          HueMods := 0;
          SatMods := 0;
          Tolerance := Round(0.0);
        end;

        Color := HSLToColor((HSL[1][1] + HSL[0][1]) div 2,(HSL[1][2] + HSL[0][2]) div 2,(HSL[1][3] + HSL[0][3]) div 2);
      end;

      Function FindFishingSpot2(Var X,Y: Integer): Boolean;
      var
        B: TBox;
        TPA: TPointArray;
        Hmod,Smod: Extended;
        i,Tol,CTS,Col: Integer;
        ATPA: T2DPointArray;
      begin
        Result := False;

        CTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);

        ReturnValues([11970978, 12169386, 12433588], Hmod, Smod, Col, Tol);
        SetColorSpeed2Modifiers(Hmod, SMod);
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, Col, MSX1, MSY1, MSX2, MSY2, Tol);
        ColorToleranceSpeed(CTS);

        if (Length(TPA) < 1) then
          Exit;

        ATPA := TPAToATPAEx(TPA, 40, 40);
        SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));

        for i := 0 to High(ATPA) do
        begin
          if (GetArrayLength(ATPA[i]) > 20) then
          begin
            B := GetTPABounds(ATPA[i]);

            MiddleTPAEx(ATPA[i], X, Y);
            MMouse(X, Y, 15, 15);
            if WaitUpTextMulti(['se-Rod','Fishing','spot'], 555) then
            begin
              Result := True;
              GetMousePos(X, Y);
              SMART_ClearCanvas;
              OnScreen;
              Exit;
            end else
              Result := False;

          end;
        end;

      end;

      Function FindFishingSpot(Var X,Y: Integer): Boolean;
      var
        Loop: Boolean;
        TPA: TPointArray;
        i,CTS,F,MSP: Integer;
        ATPA: T2DPointArray;
      label
        Start;
      begin
        Result := False;
        Loop := False;
        CTS := GetColorToleranceSpeed;

        Start:
        ColorToleranceSpeed(2);
        SetColorSpeed2Modifiers(0.34, 0.66);
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, 12103593, MSX1, MSY1, MSX2, MSY2, 6);
        ColorToleranceSpeed(CTS);

        if (Length(TPA) < 1) then
          Exit;

        ATPA := TPAToATPAEx(TPA, 40, 40);
        SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));

        for i := 0 to High(ATPA) do
        begin

          MiddleTPAEx(ATPA[i], X, Y);
          MSP := MouseSpeed;
          MouseSpeed := (RandomRange(13, 21));
          HumanMMouse(X, Y, 15, 15);
          MouseSpeed := MSP;
          if WaitUpTextMulti(['se-Rod','Fishing','spot'], 400) then
          begin
            Result := True;
            GetMousePos(X, Y);
            SMART_ClearCanvas;
            OnScreen;
            Exit;
          end else
          begin
            Inc(F);
            if (F > 7) then
              Exit;
            Loop := True;
            Break;
          end;
        end;
        if Loop then
          goto Start;

      end;

      Procedure StartFishing;
      var
        XP1,XP2,XP3,TroutDTM,
        SalmonDTM,SturgeonDTM,
        TC,SaC,StC,X,Y: Integer;
      label
        Start;
      begin
        if not LoggedIn then
          Exit;

        if InvFull then
        begin

          TroutDTM := DTMFromString('mbQAAAHicY2VgYFjNxMCwAIjXA/FOJgg/gZGBIRaI04A4HYijgbi7OxuomgkF8zNgAkYsGAwARQMG9Q==');
          SalmonDTM := DTMFromString('mbQAAAHicY2VgYLjCxMBwAogvAvEjID4LxDaMDAxmQGwPxE5AbAzEhUmJQNVMKJifARMwYsFgAABAigan');
          SturgeonDTM := DTMFromString('mbQAAAHicY2VgYLjMxMBwC4hPA/EpIL4PxImMDAwRQJwMxDlAHAPEmnZ2QNVMKJifARMwYsFgAABXgAbb');

          TC := CountItems('dtm', TroutDTM, []);
          SaC := CountItems('dtm', SalmonDTM, []);
          StC := CountItems('dtm', SturgeonDTM, []);

          IncEx(Trout_Caught, TC);
          IncEx(Salmon_Caught, SaC);
          IncEx(Sturgeon_Caught, StC);
          XP1 := (TC*50);
          XP2 := (SaC*70);
          XP3 := (StC*80);
          IncEx(FishXP, XP1+XP2+XP3);
          Report;
          FreeDTM(TroutDTM);
          FreeDTM(SalmonDTM);
          FreeDTM(SturgeonDTM);
          DropRemaining;
        end;

        Start:
        MakeCompass('W');
        if (FindFishingSpot(X, Y) or FindFishingSpot2(X, Y)) then
        begin
          ClickMouse2(True);

          if not DidRedClick then
            goto Start;

          case Random(5) of
            1..3:
              HumanRandomMouse;
          end;

          While IsMoving_F do
            Wait(1);

          Wait(RandomRange(2000, 2500));

          if AlchFish then
            FishnAlch
          else
            FishingWait;
        end else
          NextSpot;

      end;

      Function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor: Integer): Boolean;
      Var
        h,m,s: integer;
      begin
        if not LoggedIn then Exit;

        if (HowManyPlayers = 1) then
        begin
          if (GetTimeRunning < ((w) + (y) + BreakRounds)) then Exit
          else
            if (GetTimeRunning > ((w) + (y) + BreakRounds)) then
            begin
              RealBTime := ((x+z)/60000);
              Writeln('Taking a break for about ' + IntToStr(RealBTime) + ' minutes.');
              Logout;
              MarkTime(CurrentBTime);
              repeat
                Wait(21000);
                ConvertTime((x+z)-TimeFromMark(CurrentBTime), h, m, s);
                ClearDebug;
                Writeln('Breaktime left: '+IntToStr(h)+':'+IntToStr(m)+':'+IntToStr(s));
              until(TimeFromMark(CurrentBTime)>(x+z));
              Writeln('Logging in.');
              OnScreen;
              if SwitchWorlds then
                if LoginPlayerToLob then
                  ChangeWorld(RandomWorld(True, False))
              else
                LoginPlayer;
              Wait(4000);
              Result := LoggedIn;
              SetAngle(SRL_ANGLE_HIGH);
              MakeCompass('E');
              IncEx(BreakRounds, (w) + (x));
              Inc(TotalBreaks);
              Writeln('The next break will occur in about ' + IntToStr(BreakIn) + ' minutes.');
              w := (BreakIn * 60000);
              x := (BreakFor * 60000);
              y := RandomRange(-Bir * 60000, Bir * 60000);
              z := RandomRange(-Bfr * 60000, Bfr * 60000);
            end;
        end;
      end;

    begin
      Smart_Server := 86;
      Smart_Members := True;
      Smart_Signed := True;
      Smart_SuperDetail := False;

      setupSRL();

      Loadvars;
      DeclarePlayers;
      SetupSRLStats(201, SRLStats_Username, SRLStats_Password);

      LogInPlayer;
      SetAngle(SRL_ANGLE_HIGH);
      MakeCompass('W');

      SMART_ClearCanvas;

      OnScreen;
      AddToBelt('Barbarian rod');

      Repeat
        if not LoggedIn then LoginPlayer;

        if (TimeFromMark(CommitTime)>=30000) then
          Commit;
        if (TimeFromMark(ReportTime)>=5000) then
          Report;
        BreakHandler(BreakIn,BreakFor,Bir,Bfr);

        AreaCheck;

        StartFishing;

      Until(false)

    end.
    when i try copy and paste it, it always goes in the first line of simba so how 2 copy it?
    IM A SCUM!

  25. #450
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by dgpro View Post
    when i try copy and paste it, it always goes in the first line of simba so how 2 copy it?
    Copy everything in the 'Simba Tags' and inside your Simba click 'New', now highlight everything inside the "code area", delete that (so now there's no lines of code at all), and paste the script you just copied from my post in this thread.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


Page 18 of 43 FirstFirst ... 8161718192028 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •