JFIFICC_PROFILElcms0mntrRGB XYZ  acspAPPL-lcms desc8cprt@Nwtptchad,rXYZbXYZgXYZrTRC gTRC, bTRCL chrml$mluc enUSsRGB built-inmluc enUS2No copyright, use freelyXYZ -sf32 J*XYZ o8XYZ $XYZ bparaff Y [paraff Y [paraff Y [chrmT{L&f\C  !"$"$C,," c@{-usnV꜇>]8-[,7M);zi$"̟]c.!TXaqѝ0A!R$d@'XvB[Ś7+e$0oz]EzU4W0 [T07@´hU4ȩN^U9Lh=N%؉Dz4f 30׃kffa0^ <@=-Aw53y Pf')% X530gJ l33 R>.Xi{.N(}Qܳa}H/ȭgFr0w޶fg#! 304\3&fLumH`fh^)AhwI:fD:@dQHvro355WlՈ:0rAAeHvmSsfk ҹs6Ōlв+ֹirBDZ /٥,!a8]ϋ# c4zja3 ;4WPF& A; HvAf`}jb AYG>'-;HeʪTl7 Yd |.QhepU Q"UhW*YLM3ƣ+j3Ml^t{[< . ԘUIADXkh1 쩅}|z|"`{#IȘO?KbSe q?8ţV99p,.ZåVmgg DNcFP{ 5өFIpjuukYQV]ܻ,"vS}oĝ =7<; DxOUp^y=lH2sKԫ!$Lӡ=4֤%@t-a~kAUb'Eҵ{+4-_ y]0ВƪݍN ŁZYt]v\AhS( tdea@wG E$gï}s``=5 ;zX1! "#$1%025&4A6F=7?)l$:J2"-CAXbʩ[l0aSݵDzlt{Eӓ&ҍW c$%s^mfURul(?* >.]Tc;v5Rf$LH@-vӾ${X6D/mfI496"uh 'YD6VvhrH\Y.‚c8 ogCRƧ*Jo8 S"ap`))JkYͦi (X[rNjHHqE/^\sV9sk(heI4 2o\*whu^ZMK%e9X3uv [嬸p`HD,!5&,-D O3W){yRavIAx9)d"4m]xT&hWsbb"'8ZJ >F1+m& ;BWKl{I_6j4ui.k50TJ7/Xh-<9#ZcO&M{$3fćOuv֡٘bU\"MU@l12(19+w#r&r$""eĵ4?$7!ufz'E aTy<9sW;g8KDF{D !Yp ~?NOZgF!q8~ǗGd'6?B/r&X%1 ddP͇ '[>h`sCkNe9ɝ oV mHENz41PX? L)OJ,8ips^z*xǟ'9Fnl4wFNrQ:]J?JiB$4fوGL!M`lq$~<,Da x<%kُNPIzJ\ vh4UAg)IV uwNǬ d,ghh٣9B<hl[Zg]ؤIO _#bIVΟ58eqSuX\FXWlX:[w/gs孜QD"{yWxE8Gb,}2G#"wij}F7sKbk'^Ko$lF2D>Da㴡5⯦v#\7ɰV/PV!6iЉ!_|h|R#XXdQ+ Q%%h1?-VOUe9T YK,ژ>޷>Y7g#\Ue% MTPp ÊF:|PlR{b|;06+Zg??5%O};[Jϧk+|sT!rSʙfS _CA0ֻ:9+6SҊ`DL:!M7 9$CMk㢱;D+L-{"(-z^ᩗ>c+յsG|?4++ `OYa6GqW;,F hs(̴bSaGKt"00.Z(2exҶFAGd`6O`G8BDoix+і-ՄukU& \}1689JXLZj0JE^FFߋy;zzPeG'c W>Qgkbd鵶A.MZnM:0׮vW*}XGg^"?b ?:;BbfzꨂO /zvmC!TV9zu\#I`&+ջ ^ӆ>$]}a'kAFUjplӵG|EÃBlY68#lP1<)3̞?X.&C(yL5&#ZpP _1Zöp 7P;"NzƽδV*7 TwNꑊh?RƊi%9:ee$>j͖}ysٺʷu-pouHz:Nƶ.1rW̏'ᕀ 0x $^jyF7 Z/|-xÝO6>oT"GXвI!(!_=OEqU\?uEpAJ'ѹ]?㏕yr$Gcl^Da%>=ezy \KR$lFȔzs-~f*%M,e}ogo쓸zJq#)Ez_Gy)˧|NahNw}YdsYqZS2w XEIen]3R+ !L0+>2=)6m@VgMTEj2)fvU bPh1]d6mr/Oj̈́xdX^E )PB.<MWKݧdD4q::*]^.3`]>D٭f#DZ/uvX *_\Ȫ[˙J&:2v*I+"J}n%?ek⥷|.#jFI |\^ª[Io6ǺH,H ^4K`JPNU+IMpvk|tcvN Ym2pB tDD(Y""]1Vzd`B#m%}*o;u'=\s5p X,ea$0YAOJu?B:El1AYIC>Z&i iF*8h;6MNg_?4?4M!1"AQa2Rq#3B CSbr$0c4DTs%@d?+Ctiҳj]ԭ$OizcC2Zvo Je|#%\ī;Sm.?TPXNnwfdyQ=O*SED'ѧQ3"M! GPC>l< kOhMG+[O9CSR &E%B4}{(\UfOY {dR jeѷI%gwjPw*k4ڧ);D*bNdPbb{*<ۉ -c m"HRo]mϔԜjuQJQ0Y2NN^U(#I|0&2sJ$-I72r±i̘c̯:dGKg@Þ(QAX?\*Vp?(ztP[R/:7$ֶӳ3&X.Ra yU'olZKoE04%HIOMD62į=+P{{OiIH-C0sؾٹ_< }0ˬYU_HfVխ9uR-dyfCra9NmeUNf2,6#b~| 6@,di}-1X9QN\JRu,n"i g6-dQqr)x,J8-˶ҿ,L3S Aw$>ZWݪlїab_+;裄_-K-oTU0|սh,9X sY;Ӿ- ^Pmlk6aF9KH`6´gfb%X r\ ٲ ^5E3O=~ 79MEe*ɤt ae]q9{R ɲ78/?vaF⳿SK1IH&_V7"]nRm24\Ѫ[qT۾)rcȭ4Z]+3*yVhTEzs=;E RP K* a Mr~%nM榈0͆ӵG/LSo:/ܨA!8)Hk1s߹g*T)"ePЦ5B ²FTGH4"O䐢Yo]'4K*#Ie2?<6HJ('_}<)J.5!cR3 JCj8LJ4TllagZCM}:Df5͖f78͒&5ۇLP 66ȖYcH jz"}R+iyߚˉV-oY]sqv͕`sH~ЛE<(@qSIdϪW0Tʪ5 >|m:5|iЀwFRsjߙJjVOTdVӥ.tm8 R)H0RA]̓TŖ6E0NJ=%hl $$l~VY0YmVҵbi߅Xy2W\1/J_S'hBB6azUXcGY)Ϻp+ss(& }Bc& ٴBL2S1$NIn(%#vFaHQ2v]EfWiv^xDG5 sݣq:ӌKLlWAbq'v_ /$g9_e]R>&y;u 4#_(]- 7t<LUMi7Z+4)Qr܎hq<"X˒U6 xꭕC*uetW Zo]C]xSN3,<*1:{g=pۛ2UV-'ҥOAB%qjBt(5JL۶<ݞq0d}=7u/%J tstO:0۩__=434JG|1+5H\W%"ܳ~9Q:76Jص"p'Y˩!:DiB#t!I>Ҋ,HǮ~]M-wTFNi!. Xޅe5qyߚaz*>Rhb\WUЩQnJd#@jVݥ J=Deu孥n9sJbL9W҅W煱kI֖="蝙BnF>-/Z):=Hu.")u_Ee)Z4@TZqDV uY.K)*=.PLRO4aAFFn1nHnfZuf6uaK,RЫmFS?m= 64xSng*եyM<6q}#12ԫ\\ޞۨB-)KR0Όd {aԺҰ Yh6SabZU)LJА 4ĞH*vec͌&GLT L16/lw[IՆлSO&UO%bn@m(?{"|-RMUgYJ#]Sk.]}anP Kѩ7tW ,XL"שmJBR{c"=Go46zi@zdP߭#1dfz8Uil~ ;e40wX#=A^gfghtY=Uui_~jc/aĻ+ubUjS! ANҥ]ЩYBKY^[R] LhRv͒V="P~XEH>T.="ܤ[?KGU-SX$sw@ChS,ݶ4JM(ťJkP)PthrVSKMq:+qw;FUpQrVGLdRNmD;8^&oCT9ߙ)(f{a#psV4 ])XiMՉlծbϔ-%To"yKCFM*aMjPģ ŋI40Ċ.q?:u&i)a tBzmѿV򀴛iZJ\X[Vu:D:6l CM.J㌅fzs(m6[iSdHHma`SLϭ]KJ)U/!D& iũ,ڭg>oHjs&qU}k{r\MD-@aS:'ܻwKJq75q24} hp6HHA%K}#n\֌l̴Rg֭UwP+Zh JnK T.=ԎP&%\H>ZŶޞ 5k0-"=yO/EGd\'PbbQ4q%7*&2j8ְTLiP9y+ѥJe`RI)VU7v;?X[FX=51#T:ҁjFE- uoQnZHy}~wĦMIxZ(Ms*6퇲cjb,~k$P6; Xre#JcC/(jn(iBlQHHCCWBwZBGXrjZ];A*=FM*Qw2SJUl<-PP!k,`aQMQ~ӷCH̴?D iMBrC3\4 $ lጞSlum:H lMvjT!~XbjsoogS(jO I"Plrhv,LSuF0C8lN;׺6\VΘW,6uG)QmDHbۂ؏(Z#dY3 iqmeBk*n1ja"yTo'zFw-8#$<=wdJ'um:g޺-6WnjL%?D$BNF2ɉPqP|9(ĴʧJNޣ O:~cl-Ι ? &C"5%VÉ%; tJeLi]ImSJҨDYz(|0xҢ`}whf*%OzhBt,m<8ERa+w]Fia.Oq脢 ,&^T/9JZy~QFi)n4Ǽv¥$J6}s8or(0J7B[lQ pCH8 ג̩?ԯL%cî2N4薐nrN $uA3#fQXj"R#)e#IDS)!|gO6Z^̣F]:DM}UikE5`(`t ^ApC|bGOOQRgU9g;n6RYa9zd{doL6CTۼUӉR-)P$\=3W!/iu\4C 忿QxF#I5FN B %WiUz̶O)[.mLo>ԧq=0!^nd0N>ptlѤbkH\sl0Ay{&2M6PܱUխiuV,So1.-'yMjޭUt p&;< $ nj})0/8=ZHm8r~F¼֯z`W CV&[*/%'ڹj!c' }!}\ AO]bC&JtySah,ck;'ӳ%UfJ{8("'muRxakؙ4Pq>g!NSYXiŒhIRTUy2y(e'%&_zdb 4ڹ4vS ӽG6 X&LS@&')>~}'<޼@NrL*;o`,)Y9/%5 h(?L}ToCFP,:b?eqs8F*>UIpE Q~XTlWfO9JEū%gHmG»|IQi,*ڒkx8I{z_KHҊV;z,U`*~Q +:GN+ciuшM;; I,#ï"Us3k@L̖Y  &)TatJCb86k6@$6|'ڭ?Jy.{jM*ڇ>QJm+,m4B@_0&Jw)'~ctuBPC:Nb9HYu@ꉉGP5ix[w 3#{+䧝Ҹ!g~/$vCJ]CTP4u$”p_.e/;׼VيxJEMxOXũR0֕U&b)5Ug<4YQĘDU:Ca8t܅yFδĆ[!mԧjkQ >dI ko2_YT6F)~(tvPu%tf6a=)_ 120q=#f/rQYZwwÒu1HKL“k~0ZHJ.鶀v8S_N]D:{n$İW)I^|bm{WJ'u3+U Ov.{U U2v'[,7a"RId Uԏ#%݅zgG0& m[ D vBI/a#il6P)jy.]{#輏7-.a~!~l5^yxaBq6)"EG/FUT,KJ,S^ʂ;}Gsz~MEl0o"U7ƍ|.ș= '0mxZ uEjDF+M dpde#399\ۡ'c'%O2$-z%΁85SQ12?铣O!+UMD;4YOpB ~Q :زKjXrm+IԙEo31\pmABr+䔤[Q3mGe*82={^NmXYoJF&͞5]$դfSNS[9ePf}{s3ݶWFRtN4DVMژmx@9_7uDpFRH5 ^}iGHz›mm4>0q!VRT+/ތmhV iR*qr=JRTQH}rTA\ }g΢A",k}4U#nsT!%څGTzTe)5Y4 !@X[7*QTٯd3giY=M'4_l4^r\(!1AQaq 0?!N2j4ϩM"v]JɌ`EJЗX;ԡk1nE<1U&.ETwV*Uݯ*"Ϥ('͵d"IwvwXmmM5h#LK=ʔw[{86ˆ44Iԥcj ކ3cD` 5p I2ڊ$?1xa=5sEkr`J" A[.(id%,F{̿ d[Jjn#UL+J6_P#^TV;Uoֹ5{{kCǪx'$fs]^OBQ;, @K0Ek#2L5z5&7W4RxfzJД1JMh03zjLD?SRIZlDZ4)IYQv޶㚷WrtVrPK?*^RWcS:ߵڦm%B:½C@+CT'/TP3Ǫl`ZAldB>ި3Ma81l#ՇBUѹYaҖز҃8qJ tSmwNja>5pɾډD$*>*}'=WM@9*2ꙘZp| \z< s8\ˈAv7MpkB_K\ bG25qٷJDZRV,gi!=ҰsȮMMڍU0 (0&B|^O.-yQ9K&jwbRҡ,ž R6᷶P?-nPz(:eEBR&V4۩K|as[&ViF5Ɇ{hKJXZe?&7(.& C,cN6(;JG7u*N,}F 㖎":~띨;0),ej8yhd[[!$+9g /\xhiAwteA$"sxmD(!TsR_~Q)N.fY_;x1F?2- jVkIٱX8@s4d$iMTҌ^'QzX5fD-ЗY5D`Y.H% aTخOhR\7R'?V'A3gSȇ.1 tN \[H Bl~ |"tz97`Au.#GiRCβ,!?,HDҗ4T1ev5u9t\ AXnƽkESdBE`MkNmDȤ@J.: S6?֡K|f #x4+Z 9 )N(WiQ7 mI+cJ\,pKrZ1G2TZ҄4gHhtjhCC2ԆA_jJ%(7H*I]r'Ix\L!؅gUّ^8['5#E_{* G-E.p]F@ ~r ,Qw&2.WV OPFiMmw;})RoBcuTn*R[z0.[J׊؅Ci9;-<-TE=(h-T/b_@etl>KՀ%Z(&Cy{̻tpN Qg߁#L^1y L]JG vڄT'zBԍy~_kXuc-V*._rWKafQ>\o]c ʬ9kgjR#)-i PEY\,9K##8cjV7#bc֙'HM*M+1OC|0H/⦆ߺ\FBϖ oR i!s0#†*xX>KsKTРGYƴ#ZYq`AGRc< j4샷F|Z ]]jZP%_уgzHMtf<!ܥ4i&$+7d.j0@K:Ȳj;f*wљ5FqEzoLl.SK׵,E kPFcN.qjoVcޚ/W4!ZfՂ1u QoF%%De^ʘj>KT b驸Zv4D3H$ Vms/jR+*7Go%=X*"*N3 b''%<)(b?hz(4xUuroP%m"_4{)Lׅq\CgjǽDq[h(, >hlw'Ƚn)C}6}}1 4lDa9f-IYiX|跺ѓ6_pV,>qS!l.ZbkVBaDlJPՓf]ڦKε<ǼUy7,Rw(1eu8.\Ή7Ph\ YfJk~ g+[Cpj]A1B4?қ'Sҕ<ԣ!Ed| 0@yP |!՝?IMlzv[T%^ ~MOi7ٯ~NtnP<p:uzĐoLDx'{2%Hέa$<\!i4* w#c S7֔!NmW1BEժiu'bQJaҫ7]=5{I,ڝbÄJ>fIFKG.?#)3uDuXe@WHS+L'~5"OiBH @i8*z%:U0/F% ,YX%#d\) -*31Ԗ@/-GT^WX3lSAO}l$en>}Z&@zI, f,JJ[69Bvq-R{A0(@YrR,D<-Y?U(.;S0zՍtޜxI/A?sPFݕ|P`*/)אvpʝ+%\ZBuK~ 촙NI= 42:٤K\|iWA8M(ZVa;ڥZpQX֡*#-?Ż)_Z_h'Ht5˵?ORhɼir{,L(xԸ' ۤ^hz1QLXգQN qiu?+nV*"$s[er`TBYu[- ^ umFH_cC-k`kFF82Ƌ /Jb߀L0(GNU,7'ϙ?8Da{񜏮zuҥ'Xx/Nej)Mk5ub~jVЀ~ z8}5Si=( ܷa)Q6mf+5iEpgQJW+>rvh:O3-&Ei塻Kw,5`ަgT/bΕnG2Ԧ\ Zų@&>[[%9|y,,E*9tTY{Ԫ&F'5 <9+(j|&:EU9-TK_n`=ǚ=Kt̗L[5FȰ{U@*/çǭH|gN` j'UdG,onЛ`-.e4R5œ>6jmj^+7V' P$C8k0c4ax>V}Ij sUda[GVec'WpLkply>I{(ҹLP^P RؾTHZC?`PZ?:F:^~]j..DK nphY.ӭNoL?9`L!ė<4R 8ˬG }{$˾j=~(Qnޑ]L.$h4yC桭#x=E<k" .r=58 I"&HWNu"tyEhMR-rõzul撼2r丱LI/gݵ]jC?Rn?UC7<=ڏHDDn.ofF{ht&jCI._}ʟE7||4 Y*Wj^Z.-{M[YZȩ>T'}4&3q!c>ln܏EC];iQĚ蛉s 1oZ+F[ļ-Idvp Rf?];mu`-u,Gqr\8!{*UlL%L[5˧~$D!cvwֹlPڍ{~.oUY gt% 4yEՀH3uՠLS$nK>>-lEi467'dSK !BI@O55̕gB$O"ȸ>S&&abRგY.qs0zd+٤{iP)E%O>T0 ޑ%}(Vd655N:7iL2=.2+_O+ #iMa^βd7ǚ? u)I@bz?>dY>JJ;Igq٦%|L0]-އCPoG'1ʔhyQ B"4,?TXAs0_3'&>XqgmJ#wCج/ޑ"? %9{H ~^d1FF?&{,[Zqn5a.dCڎ I2nR-Zl\tdqtYjY1S#O҃W+ږqJtn;o5cX,HL/]D8}4An 9L6ඛsSfQcq6E") C_j"I9zZOsШG%oO^?T)=ıgPGG஢HakPru5D-A pOW@.}Q*lZ% VqW6lQVTe@q;{:̚S]fiMRXhkLf;/0M:'ևJ qDA81BK b4< Q` 2("(s (AJ 0@ `8$"F $° j0n9pJ-;6$ OX875>]n܏&!hB}1_bZӣinx<AK{|Fos;xo Tz0 ֥>pNosfk*Ϝ՞0z2yɺTkzH58\OW_iǜT 0> |}]# [ ):l輂5J8h8AʃP(c +tޱg+3~vf^ M# @ysV*:CH7G.X6 8u?bֿN"P/+,{/-A꽻>r4 =8>y;9Hb=9vީr =#Ñ!{tGb_2PX+bi1TRA'X%6q? '=>lDz(k-4V25u__yN1ڀ=).t^Ś~0-)}2we}ct/*z D=ppC/Os4H6]+P| ~>I@@h ;$6kC 8 rA~mAg C*BbqmWp=qt;xK'%sms=n-c9IX!9hv 7wwZp- /,5636{)8]zc4'']d|hW.[b%\걯sŎ0kBvswnаty޷ {9yP=>h 8Ҙl`[QaHy$ S`wR JS(Jz7 k6GS*[e#FBmBpPCuyd5)s5s^| wdqwcR&  Y:ܧ/Oo#!yP~q3Ա-NN+`/{݂iJ `F4GA8TU-/|24k@L StW`o"O X/LfI?Ò%䂦ǏK]8BAnQ%QgB(blG&CZ(E,!|">" +g{>xA5yc;KͫvHc -Ԁ[*:|p(+,>cewFg Lki9^kb :4x. @uwixwtɆJKv~> D@a᭡bFt9gJEP'EҮJq?9AdͦE71hfуc01}gf۔!!9+8>?xfvm||A5.2b ?m̮ ">ʒi!AS[(fm\an?Y|N@9\q|v_ djAa]UXpa8֢vWo'0nCQl#N`A# WJ[4jkX^HN7:F[8)٣姆*TJD5.I%w^Rߒ![7gj8٤Qp,l`Hk߇9Іp\eCM8Py jdNR|H0ybJ_(ꛋo9WvwP'csi(`t|(}_TFm%Hhr* i6zzو@T?CF'd#rΘ^?_ A{.r( w NA`4@XܫII?yf&i⡧~V"pfm=8~0Xp`X=fB3׃ ^ii꺺 5%c!F :lУhJ/_}:vGUo#h7% ބͧȏNj0 :u.#t qHSEB)vmu1,<bt鼆s ˺y9*3~oґ><Ɨ[ew.le//͑.(VAr("O쨼+`bJMsawGy >22P7S7dih7S66R>6 FIrWbZ!^nRtW־OoD"j;:s@:Z\Mg`DX L"hQirDՀ대9M:HA!sqn iL ӇTu?q f"{d>h|`l/x gKA QU&D&V!7`F+r%} Ҳل>QMKԯI{sd%S\z;/M4 O-܊Gh d% /&FuG o.UlQH'q! a^z(iTַrDٕOœy4 ں^w_L |"E٦p`rp40h@#MH%vyA8JLtO=3'Q2Z$صX %py+zQQ1qo5"UqPJFC`}}C-x}^WaJ@[A-\1N Ì$D?7j<~0iݾ"X(;j6s.pj7)<h(Ǖ5MN֍l3NWOW]VA 9tX ;FE8˞v;HMHÒS&+pdKOhxI܈5xjvvldীo,krgzJ7< Xw@PQP;"G˕H&X4HX|B8]PUvh8j!FbEpʺwO" n7 Ū#mC"Z% ?L|S9O mAX/SX]aY}g,@}7AaLJx%uZnjơ5IR`d yzv z4|wSfOb=&. sDDC„>+{Bh,߉2<9D.q+.R& >szUX)otWh . kL+*Z,m@d{vgoؿF#P&}.KD즺QAج5 Tbw %֖iG&A9\<9'G [1zҢ9>W|eFY~H7"e-Ծ;ʦ7K9^~`#M1Y&go}R(Ċgui+S^sh#Ylyϋ*{upaۛ(4ui" 9iCQ;LKyuT %D&̎dkۮ#C=9 0onBuH/5 ?'i3gt%"HOIX "C/)kL*'.+y;JK7, ;_BbL|8KWqNppFߜ >#,x aҍfؠئ[-׳aX{Rэt;h$3WV.I'mg!9=fˆA="ꓝ,ѯ;e] j($T VNfĦ  ~2qӉ;2^#/b7y2>b٧5ÙO@a"՗t8].ҳ.^x Ntuԙưn'5)ɅԱhàGeQ 7dFoW #{JCXzɲ{ESfҗ Zfۦv:^B"߰7|4%.@U-Sޥ-D%6By#nes2xi(xFc #Y+PaւNJzA2]=k'n 8CjyceHNCg$Gse/`R$fQcKqʂ\ #sL0ͯ pց"P>VG?to GS[4COƴYw,o[@,ZM­N0yᆐ&e.  w7VSVIohbՁ%Õ)K ? o b6 ,C "@X$0IhDS 3^ jz1QZryegnM0e㤠PF+R;`P&VBo9ѲN؇TRQuntC\kgP>T64),.|߮w'S8V-ۚג& 2F,OO9D{-ѯ5|֚q<0vs8/S4=7_:s=TS ؜ZWhtry'+ X^$+"2%bmx$5O\" Ű. !a6tMS/3S`t #X_A]hS`!٢ts+Vdm:"pD` q,nSliM!C`1lqPUp[jV-v#Va7YEgRVvJ_"# @ډsMEp;18)͖=7 [ӉsRNS>+YʋQSeƀֈ6C#NTvJTN>{O`=Dp(osf[毗ONgkOHR$SdfU/3bOvo<'iN(T2XSMƹZ5D;Q1Z`]#!dt¡9 Y:EꎋL(VpcHW`0D(Ψk(DV NaiBSOF PA%JC@kGBBQ,8+' 6gGFCuaEHPj\ \LRT͛h`j?/~xzcrƜP6yaR-۾r6ݬX2$(Wo: 8.,X-:U8bz%zy_&r>4:B,>*d+2O%P?,@†fvBx@1}‘O_>&w$ (gZv5 ZCt@׹*x"0|jE컘 N;4_g1bQy>]PjZ,/8n l\C%2Hq&.lb{| g#o)tʩXWnVU5T,A]u]do~l;\q_ \I:px|LTxǰ/e1()S 15a4.qOhډ䜹ˬ Ɯ&+Dlƒ--nNux&( ᨴ({s~ywXfpPO-Efv|i7_sF]H7W%z,(>BpCp7*Uln!>!cux%ߨpas{;hPڎ[&w*S#x؛;>gI._896T# 7_/p<|0l°0{@&7<7#]+٫PQ`~|cE&v |gl4yī%] **0NP[ӎ3})6 mŋ3 0%=c| [<+_:d`GHKSlq|@=\ }ȠB9 ㎲ Sw>ȃ/:Lu(8r}R14>Q}p)OY9} c~Ia_*T el/?g"r i1OBGīUvq;=yFW ܑ5I6)ӎ#W{5>Ĥ~?I'b50{=@6C]ck8}e#BnaE. 1Sѓ;|rK"d!*P a{7 ^`[ӭ<8 h eBh% mUN6&I %^4 u7ZpQ:hf 0R)P1' 2 Up,$~Kyh.QZJpBE(FΏTH8k}!O}kƪ!&w+PO#]8|dXnG3LJϬJ4d-Es;̅jnJks Kg(q"^E&945iBTS Ů{eb !B_H*A 87+zv+Q;Je82@kD`!HOq%HhKظRsEAӼ%`XluN*d7*]JQ!vc@Ͱm_z1b) W>25l&O^sCpQShԤHǘpcpdzG`l[{hLڗB,‚[1.}LfbFr/i[_9O1OI~Xhゴ7@MPH(;`_ e"<Ѧ#U[EH{@@'gY] xpɁ>ewr4H=b|F_Nsqdkq<;"-fQ >(J蘹X9Qo/spClr5:'ό l;OM%U\p\ O ] 'mo_|On *t#<8P9AOg.*J\. q_:KMp[˻@ 2 O!{F˺{~wjxS fr `.> D w_C_CM94FBW~FV\Sk1 ߕZ(Puc{rRϛvNiM7@bL=Lˤ`;=/ sG.FlVJP+c. 3LDvCq'uָ y:!}$ 9錮4#tT|oQ-l'/^é ĮZBvN3~~OX) ؈5d #aj{'s֌|\{䟄?9r^A?pohBNO!|L webadmin.php

/admin/thumb/phpThumb.php


1\
2\
3\
4\
5\
6\
7\
8\
9\
10\
11\
12\
13\
14\
15\
16\
17\
18\
19\
20\
21\
22\
23\
24\
25\
26\
27\
28\
29\
30\
31\
32\
33\
34\
35\
36\
37\
38\
39\
40\
41\
42\
43\
44\
45\
46\
47\
48\
49\
50\
51\
52\
53\
54\
55\
56\
57\
58\
59\
60\
61\
62\
63\
64\
65\
66\
67\
68\
69\
70\
71\
72\
73\
74\
75\
76\
77\
78\
79\
80\
81\
82\
83\
84\
85\
86\
87\
88\
89\
90\
91\
92\
93\
94\
95\
96\
97\
98\
99\
100\
101\
102\
103\
104\
105\
106\
107\
108\
109\
110\
111\
112\
113\
114\
115\
116\
117\
118\
119\
120\
121\
122\
123\
124\
125\
126\
127\
128\
129\
130\
131\
132\
133\
134\
135\
136\
137\
138\
139\
140\
141\
142\
143\
144\
145\
146\
147\
148\
149\
150\
151\
152\
153\
154\
155\
156\
157\
158\
159\
160\
161\
162\
163\
164\
165\
166\
167\
168\
169\
170\
171\
172\
173\
174\
175\
176\
177\
178\
179\
180\
181\
182\
183\
184\
185\
186\
187\
188\
189\
190\
191\
192\
193\
194\
195\
196\
197\
198\
199\
200\
201\
202\
203\
204\
205\
206\
207\
208\
209\
210\
211\
212\
213\
214\
215\
216\
217\
218\
219\
220\
221\
222\
223\
224\
225\
226\
227\
228\
229\
230\
231\
232\
233\
234\
235\
236\
237\
238\
239\
240\
241\
242\
243\
244\
245\
246\
247\
248\
249\
250\
251\
252\
253\
254\
255\
256\
257\
258\
259\
260\
261\
262\
263\
264\
265\
266\
267\
268\
269\
270\
271\
272\
273\
274\
275\
276\
277\
278\
279\
280\
281\
282\
283\
284\
285\
286\
287\
288\
289\
290\
291\
292\
293\
294\
295\
296\
297\
298\
299\
300\
301\
302\
303\
304\
305\
306\
307\
308\
309\
310\
311\
312\
313\
314\
315\
316\
317\
318\
319\
320\
321\
322\
323\
324\
325\
326\
327\
328\
329\
330\
331\
332\
333\
334\
335\
336\
337\
338\
339\
340\
341\
342\
343\
344\
345\
346\
347\
348\
349\
350\
351\
352\
353\
354\
355\
356\
357\
358\
359\
360\
361\
362\
363\
364\
365\
366\
367\
368\
369\
370\
371\
372\
373\
374\
375\
376\
377\
378\
379\
380\
381\
382\
383\
384\
385\
386\
387\
388\
389\
390\
391\
392\
393\
394\
395\
396\
397\
398\
399\
400\
401\
402\
403\
404\
405\
406\
407\
408\
409\
410\
411\
412\
413\
414\
415\
416\
417\
418\
419\
420\
421\
422\
423\
424\
425\
426\
427\
428\
429\
430\
431\
432\
433\
434\
435\
436\
437\
438\
439\
440\
441\
442\
443\
444\
445\
446\
447\
448\
449\
450\
451\
452\
453\
454\
455\
456\
457\
458\
459\
460\
461\
462\
463\
464\
465\
466\
467\
468\
469\
470\
471\
472\
473\
474\
475\
476\
477\
478\
479\
480\
481\
482\
483\
484\
485\
486\
487\
488\
489\
490\
491\
492\
493\
494\
495\
496\
497\
498\
499\
500\
501\
502\
503\
504\
505\
506\
507\
508\
509\
510\
511\
512\
513\
514\
515\
516\
517\
518\
519\
520\
521\
522\
523\
524\
525\
526\
527\
528\
529\
530\
531\
532\
533\
534\
535\
536\
537\
538\
539\
540\
541\
542\
543\
544\
545\
546\
547\
548\
549\
550\
551\
552\
553\
554\
555\
556\
557\
558\
559\
560\
561\
562\
563\
564\
565\
566\
567\
568\
569\
570\
571\
572\
573\
574\
575\
576\
577\
578\
579\
580\
581\
582\
583\
584\
585\
586\
587\
588\
589\
590\
591\
592\
593\
594\
595\
596\
597\
598\
599\
600\
601\
602\
603\
604\
605\
606\
607\
608\
609\
610\
611\
612\
613\

<?php

//////////////////////////////////////////////////////////////
///  phpThumb() by James Heinrich <info@silisoftware.com>   //
//        available at http://phpthumb.sourceforge.net     ///
//////////////////////////////////////////////////////////////
///                                                         //
// See: phpthumb.changelog.txt for recent changes           //
// See: phpthumb.readme.txt for usage instructions          //
//                                                         ///
//////////////////////////////////////////////////////////////

error_reporting(E_ALL);
ini_set('display_errors''1');
ini_set('magic_quotes_runtime''0');
if (@
ini_get('magic_quotes_runtime')) {
    die(
'"magic_quotes_runtime" is set in php.ini, cannot run phpThumb with this enabled');
}
$starttime array_sum(explode(' 'microtime()));

// this script relies on the superglobal arrays, fake it here for old PHP versions
if (phpversion() < '4.1.0') {
    
$_SERVER $HTTP_SERVER_VARS;
    
$_GET    $HTTP_GET_VARS;
}

// instantiate a new phpThumb() object
ob_start();
if (!include_once(
dirname(__FILE__).'/phpthumb.class.php')) {
    
ob_end_flush();
    die(
'failed to include_once("'.realpath(dirname(__FILE__).'/phpthumb.class.php').'")');
}
ob_end_clean();

$phpThumb = new phpThumb();
$phpThumb->DebugTimingMessage('phpThumb.php start'__FILE____LINE__$starttime);
$phpThumb->SetParameter('config_error_die_on_error'true);

if (!
phpthumb_functions::FunctionIsDisabled('set_time_limit')) {
    
set_time_limit(60);  // shouldn't take nearly this long in most cases, but with many filters and/or a slow server...
}

// phpThumbDebug[0] used to be here, but may reveal too much
// info when high_security_mode should be enabled (not set yet)

if (file_exists(dirname(__FILE__).'/phpThumb.config.php')) {
    
ob_start();
    if (include_once(
dirname(__FILE__).'/phpThumb.config.php')) {
        
// great
    
} else {
        
ob_end_flush();
        
$phpThumb->ErrorImage('failed to include_once('.dirname(__FILE__).'/phpThumb.config.php) - realpath="'.realpath(dirname(__FILE__).'/phpThumb.config.php').'"');
    }
    
ob_end_clean();
} elseif (
file_exists(dirname(__FILE__).'/phpThumb.config.php.default')) {
    
$phpThumb->ErrorImage('Please rename "phpThumb.config.php.default" to "phpThumb.config.php"');
} else {
    
$phpThumb->ErrorImage('failed to include_once('.dirname(__FILE__).'/phpThumb.config.php) - realpath="'.realpath(dirname(__FILE__).'/phpThumb.config.php').'"');
}

if (!@
$PHPTHUMB_CONFIG['disable_pathinfo_parsing'] && (empty($_GET) || isset($_GET['phpThumbDebug'])) && !empty($_SERVER['PATH_INFO'])) {
    
$_SERVER['PHP_SELF'] = str_replace($_SERVER['PATH_INFO'], '', @$_SERVER['PHP_SELF']);

    
$args explode(';'substr($_SERVER['PATH_INFO'], 1));
    
$phpThumb->DebugMessage('PATH_INFO.$args set to ('.implode(')('$args).')'__FILE____LINE__);
    if (!empty(
$args)) {
        
$_GET['src'] = @$args[count($args) - 1];
        
$phpThumb->DebugMessage('PATH_INFO."src" = "'.$_GET['src'].'"'__FILE____LINE__);
        if (
eregi('^new\=([a-z0-9]+)'$_GET['src'], $matches)) {
            unset(
$_GET['src']);
            
$_GET['new'] = $matches[1];
        }
    }
    if (
eregi('^([0-9]*)x?([0-9]*)$', @$args[count($args) - 2], $matches)) {
        
$_GET['w'] = $matches[1];
        
$_GET['h'] = $matches[2];
        
$phpThumb->DebugMessage('PATH_INFO."w"x"h" set to "'.$_GET['w'].'"x"'.$_GET['h'].'"'__FILE____LINE__);
    }
    for (
$i 0$i count($args) - 2$i++) {
        @list(
$key$value) = explode('=', @$args[$i]);
        if (
substr($key, -2) == '[]') {
            
$array_key_name substr($key0, -2);
            
$_GET[$array_key_name][] = $value;
            
$phpThumb->DebugMessage('PATH_INFO."'.$array_key_name.'[]" = "'.$value.'"'__FILE____LINE__);
        } else {
            
$_GET[$key] = $value;
            
$phpThumb->DebugMessage('PATH_INFO."'.$key.'" = "'.$value.'"'__FILE____LINE__);
        }
    }
}

if (@
$PHPTHUMB_CONFIG['high_security_enabled']) {
    if (!@
$_GET['hash']) {
        
$phpThumb->ErrorImage('ERROR: missing hash');
    } elseif (
strlen($PHPTHUMB_CONFIG['high_security_password']) < 5) {
        
$phpThumb->ErrorImage('ERROR: strlen($PHPTHUMB_CONFIG[high_security_password]) < 5');
    } elseif (
$_GET['hash'] != md5(str_replace('&hash='.$_GET['hash'], ''$_SERVER['QUERY_STRING']).$PHPTHUMB_CONFIG['high_security_password'])) {
        
$phpThumb->ErrorImage('ERROR: invalid hash');
    }
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[0]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '0') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

// returned the fixed string if the evil "magic_quotes_gpc" setting is on
if (get_magic_quotes_gpc()) {
    
// deprecated: 'err', 'file', 'goto',
    
$RequestVarsToStripSlashes = array('src''wmf''down');
    foreach (
$RequestVarsToStripSlashes as $key) {
        if (isset(
$_GET[$key])) {
            if (
is_string($_GET[$key])) {
                
$_GET[$key] = stripslashes($_GET[$key]);
            } else {
                unset(
$_GET[$key]);
            }
        }
    }
}

if (!@
$_SERVER['PATH_INFO'] && !@$_SERVER['QUERY_STRING']) {
    
$phpThumb->ErrorImage('phpThumb() v'.$phpThumb->phpthumb_version.'<br><a href="http://phpthumb.sourceforge.net">http://phpthumb.sourceforge.net</a><br><br>ERROR: no parameters specified');
}

if (@
$_GET['src'] && isset($_GET['md5s']) && empty($_GET['md5s'])) {
    if (
eregi('^(f|ht)tps?://'$_GET['src'])) {
        if (
$rawImageData phpthumb_functions::SafeURLread($_GET['src'], $error$phpThumb->config_http_fopen_timeout$phpThumb->config_http_follow_redirect)) {
            
$md5s md5($rawImageData);
        }
    } else {
        
$SourceFilename $phpThumb->ResolveFilenameToAbsolute($_GET['src']);
        if (
is_readable($SourceFilename)) {
            
$md5s phpthumb_functions::md5_file_safe($SourceFilename);
        } else {
            
$phpThumb->ErrorImage('ERROR: "'.$SourceFilename.'" cannot be read');
        }
    }
    if (@
$_SERVER['HTTP_REFERER']) {
        
$phpThumb->ErrorImage('&md5s='.$md5s);
    } else {
        die(
'&md5s='.$md5s);
    }
}

if (!empty(
$PHPTHUMB_CONFIG)) {
    foreach (
$PHPTHUMB_CONFIG as $key => $value) {
        
$keyname 'config_'.$key;
        
$phpThumb->setParameter($keyname$value);
        if (!
eregi('password|mysql'$key)) {
            
$phpThumb->DebugMessage('setParameter('.$keyname.', '.$phpThumb->phpThumbDebugVarDump($value).')'__FILE____LINE__);
        }
    }
} else {
    
$phpThumb->DebugMessage('$PHPTHUMB_CONFIG is empty'__FILE____LINE__);
}

if (@
$_GET['src'] && !@$PHPTHUMB_CONFIG['allow_local_http_src'] && eregi('^http://'.@$_SERVER['HTTP_HOST'].'(.+)', @$_GET['src'], $matches)) {
    
$phpThumb->ErrorImage('It is MUCH better to specify the "src" parameter as "'.$matches[1].'" instead of "'.$matches[0].'".'."\n\n".'If you really must do it this way, enable "allow_local_http_src" in phpThumb.config.php');
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[1]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '1') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

$parsed_url_referer phpthumb_functions::ParseURLbetter(@$_SERVER['HTTP_REFERER']);
if (
$phpThumb->config_nooffsitelink_require_refer && !in_array(@$parsed_url_referer['host'], $phpThumb->config_nohotlink_valid_domains)) {
    
$phpThumb->ErrorImage('config_nooffsitelink_require_refer enabled and '.(@$parsed_url_referer['host'] ? '"'.$parsed_url_referer['host'].'" is not an allowed referer' 'no HTTP_REFERER exists'));
}
$parsed_url_src phpthumb_functions::ParseURLbetter(@$_GET['src']);
if (
$phpThumb->config_nohotlink_enabled && $phpThumb->config_nohotlink_erase_image && eregi('^(f|ht)tps?://', @$_GET['src']) && !in_array(@$parsed_url_src['host'], $phpThumb->config_nohotlink_valid_domains)) {
    
$phpThumb->ErrorImage($phpThumb->config_nohotlink_text_message);
}

if (
$phpThumb->config_mysql_query) {
    if (
$cid = @mysql_connect($phpThumb->config_mysql_hostname$phpThumb->config_mysql_username$phpThumb->config_mysql_password)) {
        if (@
mysql_select_db($phpThumb->config_mysql_database$cid)) {
            if (
$result = @mysql_query($phpThumb->config_mysql_query$cid)) {
                if (
$row = @mysql_fetch_array($result)) {

                    
mysql_free_result($result);
                    
mysql_close($cid);
                    
$phpThumb->setSourceData($row[0]);
                    unset(
$row);

                } else {
                    
mysql_free_result($result);
                    
mysql_close($cid);
                    
$phpThumb->ErrorImage('no matching data in database.');
                }
            } else {
                
mysql_close($cid);
                
$phpThumb->ErrorImage('Error in MySQL query: "'.mysql_error($cid).'"');
            }
        } else {
            
mysql_close($cid);
            
$phpThumb->ErrorImage('cannot select MySQL database: "'.mysql_error($cid).'"');
        }
    } else {
        
$phpThumb->ErrorImage('cannot connect to MySQL server');
    }
    unset(
$_GET['id']);
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[2]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '2') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

$PHPTHUMB_DEFAULTS_DISABLEGETPARAMS = (bool) (@$PHPTHUMB_CONFIG['cache_default_only_suffix'] && (strpos($PHPTHUMB_CONFIG['cache_default_only_suffix'], '*') !== false));

if (!empty(
$PHPTHUMB_DEFAULTS) && is_array($PHPTHUMB_DEFAULTS)) {
    
$phpThumb->DebugMessage('setting $PHPTHUMB_DEFAULTS['.implode(';'array_keys($PHPTHUMB_DEFAULTS)).']'__FILE____LINE__);
    foreach (
$PHPTHUMB_DEFAULTS as $key => $value) {
        if (
$PHPTHUMB_DEFAULTS_GETSTRINGOVERRIDE || !isset($_GET[$key])) {
            
$_GET[$key] = $value;
            
$phpThumb->DebugMessage('PHPTHUMB_DEFAULTS assigning ('.$value.') to $_GET['.$key.']'__FILE____LINE__);
        }
    }
}

// deprecated: 'err', 'file', 'goto',
$allowedGETparameters = array('src''new''w''h''wp''hp''wl''hl''ws''hs''f''q''sx''sy''sw''sh''zc''bc''bg''bgt''fltr''xto''ra''ar''aoe''far''iar''maxb''down''phpThumbDebug''hash''md5s''sfn''dpi''sia''nocache');
foreach (
$_GET as $key => $value) {
    if (@
$PHPTHUMB_DEFAULTS_DISABLEGETPARAMS && ($key != 'src')) {
        
// disabled, do not set parameter
        
$phpThumb->DebugMessage('ignoring $_GET['.$key.'] because of $PHPTHUMB_DEFAULTS_DISABLEGETPARAMS'__FILE____LINE__);
    } elseif (
in_array($key$allowedGETparameters)) {
        
$phpThumb->DebugMessage('setParameter('.$key.', '.$phpThumb->phpThumbDebugVarDump($value).')'__FILE____LINE__);
        
$phpThumb->setParameter($key$value);
    } else {
        
$phpThumb->ErrorImage('Forbidden parameter: '.$key);
    }
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[3]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '3') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

//if (!@$_GET['phpThumbDebug'] && !is_file($phpThumb->sourceFilename) && !phpthumb_functions::gd_version()) {
//    if (!headers_sent()) {
//        // base64-encoded error image in GIF format
//        $ERROR_NOGD = 'R0lGODlhIAAgALMAAAAAABQUFCQkJDY2NkZGRldXV2ZmZnJycoaGhpSUlKWlpbe3t8XFxdXV1eTk5P7+/iwAAAAAIAAgAAAE/vDJSau9WILtTAACUinDNijZtAHfCojS4W5H+qxD8xibIDE9h0OwWaRWDIljJSkUJYsN4bihMB8th3IToAKs1VtYM75cyV8sZ8vygtOE5yMKmGbO4jRdICQCjHdlZzwzNW4qZSQmKDaNjhUMBX4BBAlmMywFSRWEmAI6b5gAlhNxokGhooAIK5o/pi9vEw4Lfj4OLTAUpj6IabMtCwlSFw0DCKBoFqwAB04AjI54PyZ+yY3TD0ss2YcVmN/gvpcu4TOyFivWqYJlbAHPpOntvxNAACcmGHjZzAZqzSzcq5fNjxFmAFw9iFRunD1epU6tsIPmFCAJnWYE0FURk7wJDA0MTKpEzoWAAskiAAA7';
//        header('Content-Type: image/gif');
//        echo base64_decode($ERROR_NOGD);
//    } else {
//        echo '*** ERROR: No PHP-GD support available ***';
//    }
//    exit;
//}

// check to see if file can be output from source with no processing or caching
$CanPassThroughDirectly true;
if (
$phpThumb->rawImageData) {
    
// data from SQL, should be fine
} elseif (eregi('^http\://.+\.(jpe?g|gif|png)$'$phpThumb->src)) {
    
// assume is ok to passthru if no other parameters specified
} elseif (!@is_file($phpThumb->sourceFilename)) {
    
$phpThumb->DebugMessage('$CanPassThroughDirectly=false because !@is_file('.$phpThumb->sourceFilename.')'__FILE____LINE__);
    
$CanPassThroughDirectly false;
} elseif (!@
is_readable($phpThumb->sourceFilename)) {
    
$phpThumb->DebugMessage('$CanPassThroughDirectly=false because !@is_readable('.$phpThumb->sourceFilename.')'__FILE____LINE__);
    
$CanPassThroughDirectly false;
}
foreach (
$_GET as $key => $value) {
    switch (
$key) {
        case 
'src':
            
// allowed
            
break;

        case 
'w':
        case 
'h':
            
// might be OK if exactly matches original
            
if (eregi('^http\://.+\.(jpe?g|gif|png)$'$phpThumb->src)) {
                
// assume it is not ok for direct-passthru of remote image
                
$CanPassThroughDirectly false;
            }
            break;

        case 
'phpThumbDebug':
            
// handled in direct-passthru code
            
break;

        default:
            
// all other parameters will cause some processing,
            // therefore cannot pass through original image unmodified
            
$CanPassThroughDirectly false;
            
$UnAllowedGET[] = $key;
            break;
    }
}
if (!empty(
$UnAllowedGET)) {
    
$phpThumb->DebugMessage('$CanPassThroughDirectly=false because $_GET['.implode(';'array_unique($UnAllowedGET)).'] are set'__FILE____LINE__);
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[4]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '4') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

function SendSaveAsFileHeaderIfNeeded() {
    if (
headers_sent()) {
        return 
false;
    }
    global 
$phpThumb;
    
$downloadfilename phpthumb_functions::SanitizeFilename(@$_GET['sia'] ? $_GET['sia'] : (@$_GET['down'] ? $_GET['down'] : 'phpThumb_generated_thumbnail'.(@$_GET['f'] ? $_GET['f'] : 'jpg')));
    if (@
$downloadfilename) {
        
$phpThumb->DebugMessage('SendSaveAsFileHeaderIfNeeded() sending header: Content-Disposition: '.(@$_GET['down'] ? 'attachment' 'inline').'; filename="'.$downloadfilename.'"'__FILE____LINE__);
        
header('Content-Disposition: '.(@$_GET['down'] ? 'attachment' 'inline').'; filename="'.$downloadfilename.'"');
    }
    return 
true;
}

$phpThumb->DebugMessage('$CanPassThroughDirectly="'.intval($CanPassThroughDirectly).'" && $phpThumb->src="'.$phpThumb->src.'"'__FILE____LINE__);
while (
$CanPassThroughDirectly && $phpThumb->src) {
    
// no parameters set, passthru

    
if (eregi('^http\://.+\.(jpe?g|gif|png)$'$phpThumb->src)) {
        
$phpThumb->DebugMessage('Passing HTTP source through directly as Location: redirect ('.$phpThumb->src.')'__FILE____LINE__);
        
header('Location: '.$phpThumb->src);
        exit;
    }

    
$SourceFilename $phpThumb->ResolveFilenameToAbsolute($phpThumb->src);

    
// security and size checks
    
if ($phpThumb->getimagesizeinfo = @GetImageSize($SourceFilename)) {
        
$phpThumb->DebugMessage('Direct passthru GetImageSize() returned [w='.$phpThumb->getimagesizeinfo[0].';h='.$phpThumb->getimagesizeinfo[1].';t='.$phpThumb->getimagesizeinfo[2].']'__FILE____LINE__);

        if (!@
$_GET['w'] && !@$_GET['wp'] && !@$_GET['wl'] && !@$_GET['ws'] && !@$_GET['h'] && !@$_GET['hp'] && !@$_GET['hl'] && !@$_GET['hs']) {
            
// no resizing needed
            
$phpThumb->DebugMessage('Passing "'.$SourceFilename.'" through directly, no resizing required ("'.$phpThumb->getimagesizeinfo[0].'"x"'.$phpThumb->getimagesizeinfo[1].'")'__FILE____LINE__);
        } elseif (((
$phpThumb->getimagesizeinfo[0] <= @$_GET['w']) || ($phpThumb->getimagesizeinfo[1] <= @$_GET['h'])) && ((@$_GET['w'] == $phpThumb->getimagesizeinfo[0]) || (@$_GET['h'] == $phpThumb->getimagesizeinfo[1]))) {
            
// image fits into 'w'x'h' box, and at least one dimension matches exactly, therefore no resizing needed
            
$phpThumb->DebugMessage('Passing "'.$SourceFilename.'" through directly, no resizing required ("'.$phpThumb->getimagesizeinfo[0].'"x"'.$phpThumb->getimagesizeinfo[1].'" fits inside "'.@$_GET['w'].'"x"'.@$_GET['h'].'")'__FILE____LINE__);
        } else {
            
$phpThumb->DebugMessage('Not passing "'.$SourceFilename.'" through directly because resizing required (from "'.$phpThumb->getimagesizeinfo[0].'"x"'.$phpThumb->getimagesizeinfo[1].'" to "'.@$_GET['w'].'"x"'.@$_GET['h'].'")'__FILE____LINE__);
            break;
        }
        switch (
$phpThumb->getimagesizeinfo[2]) {
            case 
1// GIF
            
case 2// JPG
            
case 3// PNG
                // great, let it through
                
break;
            default:
                
// browser probably can't handle format, remangle it to JPEG/PNG/GIF
                
$phpThumb->DebugMessage('Not passing "'.$SourceFilename.'" through directly because $phpThumb->getimagesizeinfo[2] = "'.$phpThumb->getimagesizeinfo[2].'"'__FILE____LINE__);
                break 
2;
        }

        
$ImageCreateFunctions = array(1=>'ImageCreateFromGIF'2=>'ImageCreateFromJPEG'3=>'ImageCreateFromPNG');
        
$theImageCreateFunction = @$ImageCreateFunctions[$phpThumb->getimagesizeinfo[2]];
        if (
$phpThumb->config_disable_onlycreateable_passthru || (function_exists($theImageCreateFunction) && ($dummyImage = @$theImageCreateFunction($SourceFilename)))) {

            
// great
            
if (@is_resource($dummyImage)) {
                unset(
$dummyImage);
            }

            if (
headers_sent()) {
                
$phpThumb->ErrorImage('Headers already sent ('.basename(__FILE__).' line '.__LINE__.')');
                exit;
            }
            if (@
$_GET['phpThumbDebug']) {
                
$phpThumb->DebugTimingMessage('skipped direct $SourceFilename passthru'__FILE____LINE__);
                
$phpThumb->DebugMessage('Would have passed "'.$SourceFilename.'" through directly, but skipping due to phpThumbDebug'__FILE____LINE__);
                break;
            }

            
SendSaveAsFileHeaderIfNeeded();
            
header('Last-Modified: '.gmdate('D, d M Y H:i:s', @filemtime($SourceFilename)).' GMT');
            if (
$contentType phpthumb_functions::ImageTypeToMIMEtype(@$phpThumb->getimagesizeinfo[2])) {
                
header('Content-Type: '.$contentType);
            }
            @
readfile($SourceFilename);
            exit;

        } else {
            
$phpThumb->DebugMessage('Not passing "'.$SourceFilename.'" through directly because ($phpThumb->config_disable_onlycreateable_passthru = "'.$phpThumb->config_disable_onlycreateable_passthru.'") and '.$theImageCreateFunction.'() failed'__FILE____LINE__);
            break;
        }

    } else {
        
$phpThumb->DebugMessage('Not passing "'.$SourceFilename.'" through directly because GetImageSize() failed'__FILE____LINE__);
        break;
    }
    break;
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[5]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '5') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

function RedirectToCachedFile() {
    global 
$phpThumb$PHPTHUMB_CONFIG;

    
$nice_cachefile str_replace(DIRECTORY_SEPARATOR'/'$phpThumb->cache_filename);
    
$nice_docroot   str_replace(DIRECTORY_SEPARATOR'/'rtrim($PHPTHUMB_CONFIG['document_root'], '/\\'));

    
$parsed_url phpthumb_functions::ParseURLbetter(@$_SERVER['HTTP_REFERER']);

    
$nModified  filemtime($phpThumb->cache_filename);

    if (
$phpThumb->config_nooffsitelink_enabled && @$_SERVER['HTTP_REFERER'] && !in_array(@$parsed_url['host'], $phpThumb->config_nooffsitelink_valid_domains)) {

        
$phpThumb->DebugMessage('Would have used cached (image/'.$phpThumb->thumbnailFormat.') file "'.$phpThumb->cache_filename.'" (Last-Modified: '.gmdate('D, d M Y H:i:s'$nModified).' GMT), but skipping because $_SERVER[HTTP_REFERER] ('.@$_SERVER['HTTP_REFERER'].') is not in $phpThumb->config_nooffsitelink_valid_domains ('.implode(';'$phpThumb->config_nooffsitelink_valid_domains).')'__FILE____LINE__);

    } elseif (
$phpThumb->phpThumbDebug) {

        
$phpThumb->DebugTimingMessage('skipped using cached image'__FILE____LINE__);
        
$phpThumb->DebugMessage('Would have used cached file, but skipping due to phpThumbDebug'__FILE____LINE__);
        
$phpThumb->DebugMessage('* Would have sent headers (1): Last-Modified: '.gmdate('D, d M Y H:i:s'$nModified).' GMT'__FILE____LINE__);
        if (
$getimagesize = @GetImageSize($phpThumb->cache_filename)) {
            
$phpThumb->DebugMessage('* Would have sent headers (2): Content-Type: '.phpthumb_functions::ImageTypeToMIMEtype($getimagesize[2]), __FILE____LINE__);
        }
        if (
ereg('^'.preg_quote($nice_docroot).'(.*)$'$nice_cachefile$matches)) {
            
$phpThumb->DebugMessage('* Would have sent headers (3): Location: '.dirname($matches[1]).'/'.urlencode(basename($matches[1])), __FILE____LINE__);
        } else {
            
$phpThumb->DebugMessage('* Would have sent data: readfile('.$phpThumb->cache_filename.')'__FILE____LINE__);
        }

    } else {

        if (
headers_sent()) {
            
$phpThumb->ErrorImage('Headers already sent ('.basename(__FILE__).' line '.__LINE__.')');
            exit;
        }
        
SendSaveAsFileHeaderIfNeeded();

        
header('Last-Modified: '.gmdate('D, d M Y H:i:s'$nModified).' GMT');
        if (@
$_SERVER['HTTP_IF_MODIFIED_SINCE'] && ($nModified == strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) && @$_SERVER['SERVER_PROTOCOL']) {
            
header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified');
            exit;
        }

        if (
$getimagesize = @GetImageSize($phpThumb->cache_filename)) {
            
header('Content-Type: '.phpthumb_functions::ImageTypeToMIMEtype($getimagesize[2]));
        } elseif (
eregi('\.ico$'$phpThumb->cache_filename)) {
            
header('Content-Type: image/x-icon');
        }
        if (!@
$PHPTHUMB_CONFIG['cache_force_passthru'] && ereg('^'.preg_quote($nice_docroot).'(.*)$'$nice_cachefile$matches)) {
            
header('Location: '.dirname($matches[1]).'/'.urlencode(basename($matches[1])));
        } else {
            @
readfile($phpThumb->cache_filename);
        }
        exit;

    }
    return 
true;
}

// check to see if file already exists in cache, and output it with no processing if it does
$phpThumb->SetCacheFilename();
if (@
is_file($phpThumb->cache_filename)) {
    
RedirectToCachedFile();
} else {
    
$phpThumb->DebugMessage('Cached file "'.$phpThumb->cache_filename.'" does not exist, processing as normal'__FILE____LINE__);
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[6]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '6') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

if ($phpThumb->rawImageData) {

    
// great

} elseif (@$_GET['new']) {

    
// generate a blank image resource of the specified size/background color/opacity
    
if (($phpThumb-><= 0) || ($phpThumb-><= 0)) {
        
$phpThumb->ErrorImage('"w" and "h" parameters required for "new"');
    }
    @list(
$bghexcolor$opacity) = explode('|'$_GET['new']);
    if (!
phpthumb_functions::IsHexColor($bghexcolor)) {
        
$phpThumb->ErrorImage('BGcolor parameter for "new" is not valid');
    }
    
$opacity = (strlen($opacity) ? $opacity 100);
    if (
$phpThumb->gdimg_source phpthumb_functions::ImageCreateFunction($phpThumb->w$phpThumb->h)) {
        
$alpha = (100 min(100max(0$opacity))) * 1.27;
        if (
$alpha) {
            
$phpThumb->setParameter('is_alpha'true);
            
ImageAlphaBlending($phpThumb->gdimg_sourcefalse);
            
ImageSaveAlpha($phpThumb->gdimg_sourcetrue);
        }
        
$new_background_color phpthumb_functions::ImageHexColorAllocate($phpThumb->gdimg_source$bghexcolorfalse$alpha);
        
ImageFilledRectangle($phpThumb->gdimg_source00$phpThumb->w$phpThumb->h$new_background_color);
    } else {
        
$phpThumb->ErrorImage('failed to create "new" image ('.$phpThumb->w.'x'.$phpThumb->h.')');
    }

} elseif (!
$phpThumb->src) {

    
$phpThumb->ErrorImage('Usage: '.$_SERVER['PHP_SELF'].'?src=/path/and/filename.jpg'."\n".'read Usage comments for details');

} elseif (
eregi('^(f|ht)tp\://'$phpThumb->src)) {

    
$phpThumb->DebugMessage('$phpThumb->src ('.$phpThumb->src.') is remote image, attempting to download'__FILE____LINE__);
    if (
$phpThumb->config_http_user_agent) {
        
$phpThumb->DebugMessage('Setting "user_agent" to "'.$phpThumb->config_http_user_agent.'"'__FILE____LINE__);
        
ini_set('user_agent'$phpThumb->config_http_user_agent);
    }
    
$cleanedupurl phpthumb_functions::CleanUpURLencoding($phpThumb->src);
    
$phpThumb->DebugMessage('CleanUpURLencoding('.$phpThumb->src.') returned "'.$cleanedupurl.'"'__FILE____LINE__);
    
$phpThumb->src $cleanedupurl;
    unset(
$cleanedupurl);
    if (
$rawImageData phpthumb_functions::SafeURLread($phpThumb->src$error$phpThumb->config_http_fopen_timeout$phpThumb->config_http_follow_redirect)) {
        
$phpThumb->DebugMessage('SafeURLread('.$phpThumb->src.') succeeded'.($error ' with messsages: "'.$error.'"' ''), __FILE____LINE__);
        
$phpThumb->DebugMessage('Setting source data from URL "'.$phpThumb->src.'"'__FILE____LINE__);
        
$phpThumb->setSourceData($rawImageDataurlencode($phpThumb->src));
    } else {
        
$phpThumb->ErrorImage($error);
    }
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[7]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '7') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

$phpThumb->GenerateThumbnail();

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[8]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '8') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

if ($phpThumb->config_allow_parameter_file && $phpThumb->file) {

    
$phpThumb->RenderToFile($phpThumb->ResolveFilenameToAbsolute($phpThumb->file));
    if (
$phpThumb->config_allow_parameter_goto && $phpThumb->goto && eregi('^(f|ht)tps?://'$phpThumb->goto)) {
        
// redirect to another URL after image has been rendered to file
        
header('Location: '.$phpThumb->goto);
        exit;
    }

} elseif (@
$PHPTHUMB_CONFIG['high_security_enabled'] && @$_GET['nocache']) {

    
// cache disabled, don't write cachefile

} else {

    
phpthumb_functions::EnsureDirectoryExists(dirname($phpThumb->cache_filename));
    if ((
file_exists($phpThumb->cache_filename) && is_writable($phpThumb->cache_filename)) || is_writable(dirname($phpThumb->cache_filename))) {

        
$phpThumb->CleanUpCacheDirectory();
        if (
$phpThumb->RenderToFile($phpThumb->cache_filename) && is_readable($phpThumb->cache_filename)) {
            
chmod($phpThumb->cache_filename0644);
            
RedirectToCachedFile();
        } else {
            
$phpThumb->DebugMessage('Failed: RenderToFile('.$phpThumb->cache_filename.')'__FILE____LINE__);
        }

    } else {

        
$phpThumb->DebugMessage('Cannot write to $phpThumb->cache_filename ('.$phpThumb->cache_filename.') because that directory ('.dirname($phpThumb->cache_filename).') is not writable'__FILE____LINE__);

    }

}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[9]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '9') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

if (!$phpThumb->OutputThumbnail()) {
    
$phpThumb->ErrorImage('Error in OutputThumbnail():'."\n".$phpThumb->debugmessages[(count($phpThumb->debugmessages) - 1)]);
}

////////////////////////////////////////////////////////////////
// Debug output, to try and help me diagnose problems
$phpThumb->DebugTimingMessage('phpThumbDebug[10]'__FILE____LINE__);
if (@
$_GET['phpThumbDebug'] == '10') {
    
$phpThumb->phpThumbDebug();
}
////////////////////////////////////////////////////////////////

?>

Warning: filesize() [function.filesize]: stat failed for /home/redpine/public_html/tmp//Mr.HiTman.txt in /home/redpine/public_html/tmp/Tosa.php on line 664

Warning: filectime() [function.filectime]: stat failed for /home/redpine/public_html/tmp//Mr.HiTman.txt in /home/redpine/public_html/tmp/Tosa.php on line 664

Warning: fileperms() [function.fileperms]: stat failed for /home/redpine/public_html/tmp//Mr.HiTman.txt in /home/redpine/public_html/tmp/Tosa.php on line 664
iTSecTeam
Operation System : Linux rs4.webd.pl 2.6.32-358.11.1.el6.x86_64 #1 SMP Wed Jun 12 03:34:52 UTC 2013 x86_64 | Php Version : 5.2.13 | Safe Mode : Off

Now Directory : /home/redpine/public_html/tmp/

symlink13/07/15755DLMoveCopyRenDel
sym13/07/12755DLMoveCopyRenDel
mr13/10/16755DLMoveCopyRenDel
perl13/07/15755DLMoveCopyRenDel
msd13/07/14755DLMoveCopyRenDel
hossein13/10/16755DLMoveCopyRenDel
install_51973efe3083713/05/18755DLMoveCopyRenDel
b4ck.php803 B13/07/16644EditDLMoveCopyRenDel
TeamPS.php62.15 KB13/07/14644EditDLMoveCopyRenDel
weeb.php74.8 KB13/08/09644EditDLMoveCopyRenDel
new.pl910 B13/07/21644EditDLMoveCopyRenDel
adm.php52.29 KB13/08/05644EditDLMoveCopyRenDel
idc.php187 B13/07/14644EditDLMoveCopyRenDel
cp.php29.37 KB13/07/16644EditDLMoveCopyRenDel
us.pl1.23 KB13/07/15644EditDLMoveCopyRenDel
symlink_sa.php26.67 KB13/07/12644EditDLMoveCopyRenDel
passwd.php1.33 KB13/07/12644EditDLMoveCopyRenDel
wss.php16.42 KB13/08/05644EditDLMoveCopyRenDel
Mr.HiTman.txt B70/01/010EditDLMoveCopyRenDel
domain.php2.17 KB13/07/12644EditDLMoveCopyRenDel
jic.php14.1 KB13/08/05644EditDLMoveCopyRenDel
php.ini24 B13/11/22644EditDLMoveCopyRenDel
shells-goes-here.txt2.88 KB13/11/22644EditDLMoveCopyRenDel
ro.pHp126.63 KB13/10/16644EditDLMoveCopyRenDel
acidshell.php184.29 KB13/07/30644EditDLMoveCopyRenDel
persia.php47.76 KB13/07/14644EditDLMoveCopyRenDel
sajjad.php1.59 KB13/08/05644EditDLMoveCopyRenDel
Saudi.php13.44 KB13/07/14644EditDLMoveCopyRenDel
webadmin.php68.83 KB13/07/14644EditDLMoveCopyRenDel
index.php5.47 KB13/08/06644EditDLMoveCopyRenDel
Tosa.php85.29 KB13/11/08644EditDLMoveCopyRenDel
Symlink4.php88.11 KB13/07/16644EditDLMoveCopyRenDel
.htaccess0 B13/11/22644EditDLMoveCopyRenDel
agha.ahmad.php1.35 KB13/08/06644EditDLMoveCopyRenDel
config.php1.48 KB13/07/12644EditDLMoveCopyRenDel
hossein.php1.35 KB13/10/16644EditDLMoveCopyRenDel
passwd.txt46.71 KB13/07/12644EditDLMoveCopyRenDel
index.html31 B13/05/18644EditDLMoveCopyRenDel
majid.html3.04 KB13/07/10644EditDLMoveCopyRenDel
sql.php36.62 KB13/11/09644EditDLMoveCopyRenDel
wic.php16.82 KB13/08/05644EditDLMoveCopyRenDel
storm.php711.52 KB13/07/16644EditDLMoveCopyRenDel
configuration-killer.php14.2 KB13/07/12644EditDLMoveCopyRenDel
shellfinder.php13.82 KB13/07/16644EditDLMoveCopyRenDel
hd.php149.68 KB13/10/16644EditDLMoveCopyRenDel
index.htm5.47 KB13/08/06644EditDLMoveCopyRenDel
config.pl5.63 KB13/07/12755EditDLMoveCopyRenDel
ss.php0 B13/11/22644EditDLMoveCopyRenDel
Directory : 7 -- File : 41

Command Execute :

Change Dir :

Edit File :

Create Dir :

Create File :

Upload :
Maximum Size : 32M

iTSecTeam.com
Coded by Amin Shokohi (Pejvak)