From c1a41a14271d97cdd0a8d937d86ae06d1f8cf869 Mon Sep 17 00:00:00 2001 From: b00lean Date: Sun, 2 Nov 2014 20:53:52 +0100 Subject: [PATCH] Added support fot Bitfinex (withdrawal is not supported by bitfinex) --- .gitignore | 5 + .../libs/xchange-bitfinex-2.2.0-SNAPSHOT.jar | Bin 0 -> 56781 bytes .../libs/xchange-core-2.2.0-SNAPSHOT.jar | Bin 0 -> 94839 bytes .../res/batm-extensions.xml | 9 + .../extra/bitcoin/BitcoinExtension.java | 25 +- .../exchanges/bitfinex/BitfinexExchange.java | 244 ++++++++++++++++++ 6 files changed, 281 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 server_extensions_extra/libs/xchange-bitfinex-2.2.0-SNAPSHOT.jar create mode 100644 server_extensions_extra/libs/xchange-core-2.2.0-SNAPSHOT.jar create mode 100644 server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f43113 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.git +.DS_Store +dist/ +bin/ +build/ diff --git a/server_extensions_extra/libs/xchange-bitfinex-2.2.0-SNAPSHOT.jar b/server_extensions_extra/libs/xchange-bitfinex-2.2.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..33b3949e48633303154c6585d9672480d7988a10 GIT binary patch literal 56781 zcmb@t18`>FvNs&twr$(CZ6{A`Of<1Ev2EL!*vZ6C%!!SOGvAzhQ1^eox6Zxqt#{W} z?cLqgd)Kd5_v-GYA`cD$2lBTqIM+<_KW_eUg8g$qR`~}R3`o!)vM>R~ zSL;8o1O6Ns|CvltR7qA!QeA^dQR-fCdP+f_k!c=Lo{?^LdahZGWr=^Orw zqZkbIVTo1>7X5b$@6MbUHFSA3b@yDlS_}esv}ATQOh5D~wfjGB`KMwa|Do6)UH-K}{JArCa`>0(|9^_VefQreye$Ey z|BeprFLd7KHl~i&mj6aB{{NBQ4B&1BaJ2OPH;hF8p3#%_-|$lXx4dqauATt%f2TOp z|5%2zlf6B_(fZ%$L-yawvT%3$H~cjJBYt;RQ;UE1MRfloDW>M;P9Bc#|3(|e|B)OA zQ&&4ncMDT@(|?KjyTOPMxj;REf`HKe0j0!$D@yDiND;L#b#}LOb)!&rwfJ)pcXD($ z{evJ^CUbjJH@8yt4M%iV6v5devGr2gLPjsWf&vOO!vXR*G7>bjbSA7@gXY6Gfc41UFkCHlPTYuGtaGX zNiX|l?YhRIM=$%c{%fWs{;aLjDJ`7+7|t&MC&bz!ve_C+Q)4YAw`?&1Jx z%ZMg)^vZAm#Q}LHz&G!!k6R6G2blw+g+emMSeuoh1*nZMw^Jqa9lYU3G`;$enTi@=-|YP&SSDE;vKleQmbq+hfT7F~sNao7)UMfzlqOJN(?B_UqTkM_P_PlBaoI zV2dR5FM}$V#6gPG?}(c@70BLMNxjPKhtFVlIs=RW?YSP%+JuwD5w+Dt@9_T|@cs@g zF-ilrK1dJ{DHIS8mH!r4{~Q7SX}$jhn&N-pR^ktC)&D+5sF`~G9b~oI4%+C_7y(dR z451)*Od9kycCgG+BDHr~kS$OlWTH#!THF&b^gicSAq%T+uiCGLJ9=M~5{S-tFQw;B zuTSPq0B_S)&5C07oG=#`(_8#cLUX+Ypg&8EAqszKSO|68v=9GY6<-n0 zDeTwrQyP3F^`?#3%USzTNNq-tkoavrSQ+oO^2?6)4EW=SilPFi3n46_T7l`PLiVqm z?8963uLmLL3L-4ps|`10J9bq{+JvZIPL2tM`=|Ei17) zNlEcCRE`v@h*KKo+7)ZrR!SslBa+iC#0#UzKYn@BP}e%JGl{P$umQ@r#qO`#Er-^V zeifPG&j*iI-FoX4=xc>gqxe};fnDM+Fm>s&ALuWjb?{>NSlHtiQc#B$wMo(}F59Px zDFZWACWA6brd2v+UjcENJeh(8q5}e6Q9J(&ndu#z1$j~Z0 zm8-g9J1;vFV~%_CKP)q+aPbi&v|W(X@_V zM`GlB@j`l3oUqR>IsxkPu0QwkRfU_NYmugkyQk*noxL7tAFOTO<6cF+a=R0A zrsgBr*zbt5htnVyVGhOjn@(l}o_LfR9De3_-PDB??hO4%NY0tyoD2XTZkl}=y0A-$ zyTKjFh`B(X^z)mG?-Q8=!n=3CWS_B=`X?A!%fx=N3i;Zs&|EEgmUD#lD$_#>hpQ7k z2Xtxv?&L5_QWcagKYn=xQ!<|gZ|0l5MJ`HudkaXbEMJ5<^UY>}xKb|Ks4 zMDfOJv~&z%yT*c5ehLz6r;}ln5DVP*#G4V#p+r?_AI}Y?&^`0u94U%@$)<1?xpZnV_{Y=B-JinxO#Ad0?T! z3=AEf?+F?(PNRr;4Y?0C0NJlvo#;ya?rZkO4V*lCOjL07LkN=r_764Q0?Kj`!vpmb z$qeDgzE9-8`U(Kw$O%3S2#6}ypTPeAov--2qv+MK)5c%L+%kuaON54oz^Uenf43nI zvd3LtfFQ69Aq^VmVhzRN_u!KW!AazZ<}k@wA!Vla$d=wJNhonRD=P)Oy1#;OyYo(@ z`<*bK8lULt>TY>SB|!^NiEQH4XLdg2_|6Kw<@jEO1^T~!B7$5#TZ1rWz>vgEfE4`z z&lqfpjg74#?ga5;c^`+LM;Ft8DS(q?yN8V@r-oNyLFL<5<`(B#U)gJN|!$&%bC8i?_Zj**ORtH{ZL|iCRInzM>nux zSHc17Mfs59X-36ghbgsmi(nlLOI~RuwH(YeS}I%5TZv7H(9wajIs?0&5i{2|5~F9T zrEGiK^KIg!)4ivhg1-){jPpLjwrZ$NDm_$c1~EJIq-!WqC3j^SRgkw9lcHp6UwIY- zPLIilbX)%wN9|E;b!|9>uX>bSBPyRDe<8^#J$p3;Fx-rFhw*L9LHePJf^c*bwEK-R z!Io5!=-d!R28Km}ky(s>@)`7lr7JlsMeBq$767aM`y7P6Pfi3m%FKCy*1~~8xY*jG zSz0;jE5R3VUUhkWi8Vawn8l?E+SLixa30#d8|#z>I(xy{<-r!0yUA>ihL8g9@9^f_xVWjD%0lg(c2Wwu;Mekq|Z|T{R!uZ2nc|Pm|-SjP?f~` zx0!ERjU+|+KaN|LXqT5RdY0BdtrY~(l}{wy!lH9G*P~(w2-D^HwRp?zYcJ{FM#KC% zy&h`rcGG-7HyJ8u8Mlpp8Sd3oXJ@=}Sq%p{mJ(K*!{qM&E;iSRKUp3kY-U^boVwJT z5XLV#iRHv?wFx1ZZ>CVev&iO_FSr)&?!;@jh@xV*pTt|AHerrQ~Ef6Us2?u90 z(!LRYml;U7MaOlb@kST6^x1COqrB+$Kdx)x;uF-9nX_ok!4<-ooyC~B>A=!*+e=Cn z96X)N(Q~-c6CTrt3ka%)3y5mRe242#Yb@C1_LjaeJp2p`-q|;V>~Ag`eM|}7IWUBU z=58~FED&Zn_tPjakkdm*?bQM6N%F=TB$io#(MoTmApxSHf zx8>*=IO1FIq$CcvV$4yhSXLgU1EOb-|KWVDW14VIFmm@ENUik#UA z;pE55W;z4D&+z>D!TtMAW;b3~dKv>{X&44$!WcaXmaxd1h2X}6yM#^da)Qi-_gd!F zhzM&=*c6XgmtCmDJf|{JmuG}bg&q#$mXQf8Pn((1fJh@#>m+=Sk1fhGPpG9vbxkg( z)A;*_si?!1h?Pa;$#&fItzE3c`IIc~RZI!2xW{mC^Fjy_$PiwZ$#&@OD|6&w8vAU{ah~D9w_e6 z2kuH6+7RFXDI{m<<)4n5NkplP-nJL;qa5$vF^$hUv z_N4l9E~wPDKyhWo@9^ERolGu*y!x7?+QGq{flJ>b-1^5%6K=~bkQ*<)a!>uBlM(8Rz_==R+YR(hYYUU;mjq*dlw)?28L0}w z5z+vM_SPTap65=aLVmc$g>lw5n(iu8_JYIh5!YF1E9bx_7-ZvZJIrLEs*vbG1E5w- zM)km|b3JAKfd9#1G*f^tuUiJwRlCVT7{<>Wg$dr%(52J3t%|PbtBmsAW;%^W)T(WX z88$z2Q6Jb(WHC+RqBDuir>2?lrd37=$kLV#TC*C5|6SHR+JoFqrAv-PD;} zdMvr1MhvW&^a`frE`%%ftFQmi?TsB}r9Fh7APtN}YBO#YL-9G0Cd@C6eOHBI8KvV5 zA<29O%Un+wo2ZfF8k;am@>661SLcaCSQt0M;xz~kTD=WTO{RX~mr85_@&d-{|KVAPiAA`jsdrt0qdhZ?i_hevrs1bnF@ zzd~IZ1nAlC$>|5y6bWn13#-oyi~E1u`|@q?Bgw+@$&tQ$nZC(4jRLr~B~3$?_;Qv9 z9LtE_x-pWBp7?-KbTWY!7LrKLEh0pOvGm;*?Wf$*O}lC-?Uq{@XUiH(YxK2;^@1LX z0g9JOUKkGd?FPhS-HuTDor2q8yErQYkR=_j@{z3II%K?+zde@E%XG|mV?FKi-rWdf zk5h)e zpoYzwbHSL#{1S?lG&`5qZ8r1T&w4iV<>UBG8AM)ZrEu?CJOk0WcW^nLmAi$? zlFEY03d>ZYKdnQh7S2&L=OO@KTFe!12CF@L(3=qcF`ngT5JzWHydmu+n}rcC;sA?L zavSh&<89D?>WOi|pqiJe-LsQE#G_`qBJBaE3YPR&DIZBJd2zRm_u!?RIu7AjQ^^*` zirGdLfUmFi>|5txBDU->jvV%E(4L%n1&;TkkTcFvjO+&fB&+wKRgNn)NN%Dewa7ik zG;1uO+_G)Qd&AiV;-qJ_j_+LeW&_Mv1${bOl|&YoHlti!r&8?tW);F~DwHO|P}z0Y zAeS&yd5+24ou^1bVIo1e=s{dKy#QId*9f$+x2>T&fpXO{`bP}Jf-m+V_uy994ptjk z&P1r9yM@P?m!fK_sJa4Wx)&)heF)}(;Ha@+V0;f33pWiqruk>ZGE=(N4@=EeK>kvf zb|#2*l<5cCYrN?Jn~CQ$>CnAs$>-L_{N|h~n}F6SPPWq*UA2+Q%(p>F#a>m0%a4PV z+^ZY(SWcxd_ON#H9;8Pv=VPo{=~GFkn|L&)*6$F=!|e8(`=yC5{k~aDX`ZZ#2?bDH z;twoVHf6txTvD{?W#*wRrkcl0jAi6VrHhGd?{UOH%_%U+m<&k~=Ks!1e@?++X2{_rE5ViI=z@ zE*@~iW_Mr~@08h8s&t8WJyi1KJ7YiX^Jr!*9uH^29tcGGp&e{e+np(3Es~B7_5alf z(hY`6@c$Tq`Jc3n%>UX5H2#+S{HqCQpQ|rvVf+sB4~^SHBt7;2y$Dj8AifPvTSbp zx?Wx9-19%>HNQM<8^ePj?OB6f^3do zA)hl3A7g-4vr>mp9~k#RZ>N7eYX~C7AK1vM-eA0p4Q?rp|-Y; z`Fbf&_u{cIBq7yW4s&4ZcVr?^uESncGps1SsNv7IecXp{9#D>LoHWN6ovu$nW*7fe ze5S=LT^$S2_p%QeP(-nD7OS@DYr7BXl4=r-%B#QFW^wFREH}&XKmcD8PH~r-V!_vP z%ky2d00bkMH}}9LRlK)Swkav8hW=0(e9zhM(LMdtQ!**N6qmN{o1B1y{xGZVRtlrE zer~uc3(|5I+qok?kOb~5=Q+t%i;-`s_lq~B=Jg3gErQ*Q%5XHpX;V=rzWyM6BRMwD z4U}(whQ;yrkT+p2+wl!j74JsFkxmoUBt`^#I_BDyUhaLfJ0k&#=fith$u_mT>vj`{ zVP4ErcQUG4DI@7b)~q$=R$1}-p=oZkh$B-rD~DR^a!pcmY0X3s{|xDFqVzokE$=qU zXw)OI*VsoXgL-Ol^CF|2>^Qj(5eRGqaHnYv#H+i^BQhEAjl&2}42-7%w zEdCRiBYOy?-dijVZcczC^nDf6cVZK(+!1?6D@*@D2oQuDM^!& z2xJ@_l`uKL$I?66BO%n<362825(0HwPt?fg-WSBnlF)8z$q-0$m4(G`8HSd6ADg1S z;AjjhN0qB+b|hOb)FpPPrTr^LhU-oPqn1pi)d8a#;08=yOq441$YH%c49e1Jt=gz7 zXsuDx`1R8Tc}$6#s3<_AjgRhHiL`>l^OAH@l(G&x#_khw{&4i{0d|G#1Y6K^-b;#~ z=Zh^IOv5$hE+CpD~c$FvlXj5 z3X~=B+bQ8tlFdj1+AO)%k?vm`H<+$e*V(_Qe@+kITe- zXpxN1$1V&<{13>sjwE8q{i=(&Ju&O|?W(I-@92+^91Ygwg77wSA8-Tnwn`&dVD}YK zFMxTq??-(=F=wLIMvz*4c%Ul<$|Z1F?9}EQp$(G%%Eayz9^W($E;`DX%%kXv>{%N zm+yx5)bXC1qqD-h=G+nVQ%dY{0BUpd-{60BKnbit^`n341{sJTAWHvh2P9_dW~uV` zO5lHSL#Nv6(ip!HH$rYyL?zDks+Sv5v}>2;Xy8OC;ACWnOJfL)q;M4P7M_e~8mkR2 z`@p}cZzdX+62ZA=B zr-K25Z$aYsyg{g))rJl{I*^rVW|HN;$jO$2dE*&)P;+E}E|J&qi4C2Cq`l3LQt(?Nn3A-9Te!Cvc8-MYl1hY1+eWM&W_iFHw*BN z7fl%bGG-0WkAUeY#@f=C-IUM$T z8Mx*t8v>^fQ?h#c}qu06207O0*XCFpDP_>Dbq<3Sr6;d#go@E*DV( zglY-iO@!JQq;G|#97uPmF+ax*;fu1P%f{S1{Ly|U@KVMDl1%iWDzi3>BZgVTO#T0HQPBVNzYvGFIbd)0Sh+* z;$L$jTiEt(yn{&n@Ui9T_tqWRztNk)MS%4z5uTsvT{K?m9$sNy>-8N?G8i_j{iNeW zX=Q7pg({)TS8T73P)a2r?7l4uPj~N$y~i_}zoj!W2ex%QySwj#64oE|#B;TrdyC`x zsE4#s|mSp1)<< zUc40&`f*DtR8;ljwsFBPSUHNxsniTH|MZ!__~aQ4`?P~8Ymd{f^uW%q_{M*V#k*aJ zW@wwA2|L`-OO4rG06UL4JT*^EPwG%+PlMGxrMu2i8FB-gH&Z5rhU|@B6+=jv$s_)Na@Y89ROe*4hh_nM z?0QRY;}4N_jMt0bupVg+5M4yPD30|;Moj&@HQ_b*y^1>0Xizq;on+g=jVVks?j=5< zI9nilEW&naC1}MjJ6u>agYIq)>-*{yq^C=hn3l9hX0}q+!7io^vXwzwPrEfImc@@f z#?tGOM|A*)qHV@1ymMFcoPL;E?iHOqcHkZejSZ&pLPHf>a}Z4tG(In;KsC}(5_0H0 zQ9Nd@$+Ex~Kl5O;1r}cWqXFy59Dict^hGxaaf!N$tW#IDbQR5K!MmK>Q6(Q{aq;?L zood7>>^9=`bSl#6SK>PifT=j?^J`vPyq$@|C84$|Ys4geMV6!o{-do`VP%^ql1DR4 zi=p&Kl-&>Od69iKwDdW%5zHo)sNRR(Zzv%RTIiEjgPnOQj?_8)us@4Kn`5M|9|g%m z9j{fl#K{FikMN7}c%@h#Y8g_#1y!KdAKb zcJv68n{{xClIjG;hTxQVOzvX37K;38{|Lpr*O_oe?Ut>}lV%?h&|*bsohz0+#!!Wqj$dO?hjCpp0X&P6kn8JqPobP!&R)LXk?|>gXOgnEAbnJWnSt zP_<;8?|(O@^NWHsxbABrU2;}l=2hlZz3-PV$L9&i`5-xCJ>hPAdOwJz*k|coMZd*F z8!WICs0ZqfVHzwKnl>OIxFCw-)t$1i)D#ni;MJYmFu*z4;LNj3s<2ZyoFcP7NF}8u zbLPWMMCs9QD#5!Iamf4(rA#j!@jnILo(PEBOzWZ{Aj$$_PW?PpJD#4+!g&;B$M!RQ zuH-nGS;ar2A8^n>sjy1>75MV9sz1u8H#GsU?8g>t3rg9=lxvZeygnPsm?LiQvN?sC z5T@plS3tz@ww9Z~=5Gz@gyH(%PC^_Sm|o&1Vtglgq4d{3nlBifQxc2@ot{LX6UU@kY6zEu*^ufa(mC&xtKa%aC|P zr6o)5sy;*Bk-Zd!jm^1kj8g3G>2}qts5P?s6gTk=8#-&%ZDZ87dNl=xkqFp?JlDHA zN=G>l@CuV4BPG zLI!=ubq4~Wta6s_r$JWTO-&E)lwscEsAZOz(m8(bBfrizDi!}{i#h#RHTgUQURRT=>?&EjY z=W*^v?vv;;0riRQBG_YfnY29pdSu(8edv+qQiS=8iJ)D@7sX^c0*WeZh|7x7HB!7* zOzeG@cnplN`Jm#G@MzZfWQ9s!StqJiTasT;%f{a;;8i!IYmdlV!hrfqed6ATuf9u{ z;!VezcjRZ-U$)JD&`kMP2yGJ(oN|*}qyHz9 zmKMd+)EIkaIoYh1Q_01gl2V}Az{C|tu4i-ig_0aN-L534s)mG~G72bf2?-aXCQShr zz4T8Njp4UGOyriYJK2Iw*$V43o}9J;YrNaHfxoZch_8Piotz^JBA68F)S2{0-#Z6_ z>fL_r@iQ_aN=av?;n@{Um>dhC`*NEI2N@wHwi^T2SF&r0S$q>2JuLFv8fKMb)ZAO=u+?=m{8=Uh27EkkB z)p~t64UazFXbK_Q+OEF$LG&e+UIZ3 z!dji1rZ1mO!TA->v;kDi!rF}({fW&1rvvpAlf`fWwPrpwx7=_6)n=9#KfT}r>dh1{ zej>wtR+tffQW$^M>|$af@-P^G?hhFM{BVN%tlQNLdbhOt(P9fpCx_=>sC4Z(wB+;X zuo^-b?xpx{Dh|BK+)&7O%q%qVIHdwztxDWM!CAC{iaV;C^(1dnbwX|^ZD2iI1kZkm zq}@4)W3ubU#pGEvjq+Svm%{Dt?Z)yhma<4cW$)QjAu)mC@1Z~N$0zUF0ivASFEZC+ zW!Ufls8q68VJ1&lYKGw$P04|1xA>^GopmJ-gUK{!?P5mqbg3Hic|8LQwRJYxsE854 zsv+_=U2|++xUds;Zj{=Ii_L6_sfl86vCag)XyooM?H7jH9B>%GY@39uc8QUu?KeE( zrpG5j*wE8+5ZU8hsUyI<=44_43*`KWQ%5ShSk%bZ$=PgeuN0FdxYp)gzzWa1ZhM4t zSiJPnWy56hZ{+;yvd(HtnczV#mme;03^;6@v7Zf&QWjRg!s~@z(AitZ1~LTaHS0Aq zc(JHkxKF@w*#VppIuGMaPMlSFW+CTWIMP;zzN@7orJ2Ekr37P87pc5`JinN}0z_$L z5XLiZv32y0TuiS2CE4*K^J$5vaC>Fl|es}>|=_LUo*1RVHk;*5! z)e@5@z6c)7KX#g!jx^_rn><{ZN)xgkKIhvkpQV26*MQ+2f3*EvD@5X_m?jmi0er9n z|1UqRAr?3e>eSg-L{l71G1fW@x1F3cKg#7sAh`GyXHX~S8!_MB^2-p~tE)V$mf$42Ah~!edisQ7KDM#4i=6tlW?Hom zMYLMFn*}jUoOP|Jn~Sz_t@QMnciY^^^Urm`N=#~+t7A1$hn(~@Of|V673@82^`0mX zmw$?^r+}Wdg%_0>#=>$~6*~*l(%Qw%zcDumrSHRYWe|$;>4gS(X{NP)$_dJ?dFuD< z8>g8DSD!bv;fu;+J%{&qXp&~leSlrg2WZ?uw zQr(5hqdV>uH6#1*peC3)WmY^p+dT9Y7S|!-j(R_=Yc|4 zAqL3E#V#!=JhGpR}Q`wjmWz1WkC>HF&7w5x&{12-QCiypX^&{knA(3ctms&4%be2B zptE1bZBR~u_^=0mGN8&FCArGWRMVugOoozqFt194@hooRPy=Z@)Z5$K0>*6fwD~=( zx_e$y?;*92c$b0r+H`c18gkfowq^nLmylUHG+3|-&C-}}VuqlBE-V(9?f4^&{>&!N z^v%Znh%aU?T3AU7o&y;an+$0dGx@l|icHupbjI=&h_P?XWOpLrja@WFe_whleHipY?dlPh~I}Y)x)ks<+b>~0PR^aB&8!B9c>TF zV@_&TI?_3%6w9Kf6r6@5U%Ps0zerri)^YKhQI9mv4-4hwsET|`>m6gsO-X4|Q1d(u zVk)-GX6QMW&z(KGCy*11=t?Wd^TP81!&C-(RqZM=UFuBUjZMi%ee1A85^n*R?rJ_?m`MOMzWVdzPx7pouZ z6i+&%SwkgXCJK(utLJggnGvXCz!Ts*->iO~^CP``6})?OOf~G|c`Hn2K89njeihfB zz0k~3%`GvF(_<{f!Q6x)%{OztdHU$v!*giO~ErJQUA z?gF}P0Z;ec%DxaM2>#aUm#ho7OAA43%Z2D6VfgOMNPc$zySNG$_LoVdf?bj&qS%YD zBPsKj&rxxl-p+TB(FcW-Kos;WpZsSKD#Gso-#ywKKj_UcNzJ-w@C>z|o)R1$ZUl3gIbUAE zGqiYm$2AYH24amcx>Zw+Q~LYqjKLTtuf=(?SGKYwc(ztdIWzT#j$1Ek%dt6JCD2(p zH*7Y5-C+k_WFiXKZgmpb%pS^LltFS~))633#4>OMhkaqma=3F{i~L+wU-@+WTsPiR zNUnLxXilmQt`TcQ`hpGNm^2%*5gP*|KM_0+ns`FC9@fBqU68+LS~N_KM6g4toV3wS z=eJ?IA)9IiH{u@jNd`$qoa+waZOp?orpEs?x)=G~T)zl_o!82Ze> z6hI4HfP1^)>e*@=?CZchT*T~1x`(>~-5_GB^X+s%=GMM$y8Nb`nR?4vVrli=pFsT} z%?B}+Ri9uC0aDv=X@}(cJO2UbGaUH9%$t@gSAu6pt`yBTDH;b)_uVFlMFQhlW5~dT zbo#lApmyy0iOTBn*8WLLx3jZ@mc;F~oJ04d-V>xY&!V7;?5O6{3W~ti;g#<$*Mr@a z&UQJRxXb#pIC&0`!iwIk0!9jvqHS2uE;Xf7To&G)Q9cO$8c@NnG_|Qvg0qbp)J&~ z0BX|fR#<>C+QONPjA2gVIW+m9zjt6xBGIcY(KTZHO*+*c@h~s6%5un=5rf+S*s7pn z><()fC$vg8_EnEB#Y6N`=;g>e#T~7uURTy^Pekpib8%-H;Ej)=oGfa%_iHhQ6)pjy z>@;FW&~s><@=zp85W$#Dm}oNGamcd@!L0SZvn|0M12KrTB=gy(O%-s*T@0j=@R$m$ zBeT}G@}y8=3Diq=XkezYkkS*={kED+iVYyjG%Awp3wj+ z@fdXm2G;PJ3uObsfH``k zZ59TkM5SfQO^>v$AMSc#-q=?}YGE1D$SIg_y$>Qj{mMB|y4~;sq|w7An3DgsRbf-( zO&spes*T@&4&ndtWaytw^?yr_|0OG)tJrUV|3ynCcHg^qP(52^2o@_~{`tqO3#JFm}@( z)0$=b8Z@T6td=I)^3VcP$?-J_D~6Ar<8rDAUHm{5H}KRf)e*>0@WsRMA0N#w!TizK zQCv?39elPxx0fQ<kBG^T*3x`!hDmujAK9LAT_{X~N`runoQWoM=fnu8pq>Boi*^2Fmqh=sf3u3I zkG+$rg#^Ib(#`!JD`V6Qm6t>?1cw4Jj^N9k!dtq6mbNXeq@B6CdOprQ-&59*xd~O3TQ1AEKAz z<(9r)wiyU7yA}x9X8!3(bWKM#mKJCFe!_Fs@%Y=jDI zam>ZGr-OSkJA2pWdPEoP2Ys&BdXCQ9kin4&UOGbyL5=y)paZm*^Xi}=G}Ag*?(d8^ zkppGZjV*Gx4BNbGJAu~b_tcoIBihG_i-m~TSw3S|YNh5|?y&>2N^Z7cWDSoE=xyOJ z3#o|82Msx8BKT<)j2mq_%&Ds&?me;=m4j8 z5=I_^To*7a)-m9q0A8tgcHs#u{{v=3FU+uJexnD6;aMULX`Np0b-AB!!RNJYTBDT|XXtxhsv}^97 z-psOu+p?*x)#`W|ye-+oI8Ufax;ZqIJB3}uyvwY>-$cK63z!t9V9OyxNhh=OP1>LW z=pa`g2Ev>%$vE~++;0`=@OeSi;y@TXr)yVSouB4dpJIN_E*S1*YJN~cHhab?$?3%_ zvJJvH2ZFQ4<|qs%0v%+{Ba?mPVTCTqLLOhX& zEtlfAA9LhDp)!1)XTAu~LOyY9j)5a0H&&R)h6GtcCU6LhMh8>lX??Ri!O7Om*fE#+ zMOmBsM?h z&kEQEZV(WT|JK_6>HPk=bn)*4^0GdxpMmDGFm-d!gnL)1;yOUyK|UR@!jvf1MNP>8 z$Vv-u3$N`{D4XC&&SYT+;7e43k;RyWfu#}-laVypB%v{MkW@3!HFY+fKhZ|!=SPaY z=f7<;WM;M`m%NGxIB)w;2|nfge%W!G>qXCdJ_!<+Xo=kMT;LVZJ786s+?y}omPw;Z?OisUnHJge;s!PmPLzS0gNdBA}xxmD$cORV7L^5LB(VEPri(BOZ zz}CCo$r@blCjZofJm=g_oWg&>psw9hRC3%^m$b)f zlpNMV&BvIhDUvu?%+>f)I?AElXF%PM@RJK=Dv}M=mS~2_4{7J`46EjJOszJSs7zKm zCd6y!1>i&HY|e_JlA;ol&0?7kEzqH=mbnbe))IKQmfNh;uBxG0lF3P2pf&1Cq({2t zERE)`JR98Juq#F1S#t`_P53^$b>4j3imKZIo(aEcmKgMFdc zk73aTE5s`6=~C$^Wk3T4Y{oZrsmRAL_oPhpO%p#zYwzOEy)!DTRH-y0YN@Kba% zzs{_B$>GFV?emx}t7e^n*bkl#OCP2ux87%-C;X31vlYTBT9|MUe%lqo7zTX8r!Kj| zXqe69hL?(kUxB6DkSsR3;v5&qZMzQffn1BjB}SY$S_$F9d#tQecnXM+nb4MamxMOk z9q#OKP(=&NsN!WT#S50Fqjg`?N@=6hEx)r{$?LLNRXv@AS6n&h*LzhIa`uTFz-PMR zzcY#ouH%NYGG@BW*eKGih&NmM>FH#q`7VrQ=C^7|@Zg1Ob!aVKz)O8>e2Cq^dgH{N zOeO%IB5U!CX2K^`D&kJz=1?ov2oO_S&-b{DTXYl7T*~ThJtXwgtsE?D^Uz62TYwHVJ8~2o6mmI@ zcjzJZ_+f8P<#^*1-h#M7biaflldzrITp$8w@TANFK7!DCNZ3M8kU&aFUx+NDfNB?B z3~`m>r|2WnDI<4EAin~=7zcSzjew)Z7K~Znd)L4JCq3^NRJ-C0}c>KN~nnz?AK+)MEm0)!wFO}cm ze0o_pYr@fYQIa)jaSrp=8!76@0earCgqlf3&r|i$?LU)!Q^HgNZJuZ>@Vcf#RleC(&H)-lcALWr2kIL#_H;QP%RbTk9z?}0jk4GFMdkaZ-c1x>YuSK{Uaot+eggj{KC|#EBF+|i0-2KJ zXjx;3beKQdRQ-5XR(yyd84Gfw@OM%H^4a&40aLTCBXgA3*tD^|Z)OpC9F?9ekJEe*ic_ zch#IvP=`E3$u@$?8F`XgjF+F2crpTVzbklxCdusEOb?g{voC3$^@K`ldNe)ML*Mb$ zrL}JG1kF7w?SUxE#kta>t0$d>L)J{e!6T};iIuM>I`IzS_K#k#)0gD_CAX!Gi%^_C zt6+;NI3t^#Lm={iNaVCFfTY;e5sW8fBSpJwXh^XNQRRnBJYl0B%uy~6#nDJE>RqGa z!Ia2}<@Q$}nG<^$kMQ0;+x{GvpXH7r@|G0XxzfHFR1{K%gh=OxY%Qb4uD9tgu5rxn zx7yzIG5wR;B*i6QS4DO<{iE0&&vM(x`_<33*v3O|rH`B!ip|sIETQ$w&wSX%bKD)z zQeCT(?emvReX@>DWxknk&BAS>lY||RZnunn)uYB1$im4N58y1$SC6FQ!Sg6;x7<0_ln@Ezv2&Z|(>tvOSG0ohY%B(LjsSlN=A4Il?bH)c$X%fp!_cyUAlSWcrx`mLs?9a8G?Zc*}0jnF2y~+~=)N zn!(u?!pjJO!blk(QuCSVpXb4&PKaj?lc;EuOMAqJgsfo%06X5z`58maWmTO;)y8<6 zO!KUaQ*J~BjDB3iGBD*kE1pwsl3LA#r8iIM<$9xXQe>#*nPK3Q>^Eb&WoLHVeLv+_ z{?lyyQ~T%&OL?f8%FKKtVH5E`RfDUOo3Ltk%TDS8>6g6e++)P9H6oP~dt6728Dp{* zEMs?%5=6=&xw&`LJa&C8?izLut=H_I(BqR?oHYB+`R-Z>7k1|8@;*&Q*!&EauZ|bV zf~~E0>t~gibE5@zhIfswdDKIu2m6P_T}!-xGw#Z#Gj8SGKFLh=IA=JxBh<@7AkJw- z3zA>kJWqMx5=m2tZM4*Kr47VDq48LJeoTs-c;iv-cF@Lu@vV^T(aACt7 z2_T>>|5Aw^Bs#Yav0q&SEV6v(H1W?xNM#^mB~3ZtaBTVO$X@&A$b zPT`q$+qQN^m5OcKwr$&X^2T<>wr$(CZQDu3s<4usZ_c&$zrVTuea(HXb@t-$8KXaK z+`aWSnwr!2)>fke&6rguFv95pRh*)6V$Kfngh=KQ?y2!2CYG?yqNLf8H`o-aiNH(g z0zPtB(beUR)ZExK&7>BLDDJ@yw5l9;MA((fq4N7Nkm2>b=cs~H7!T)u69MoAeRNBS zHw3?1$lc>5y)Rc!^7H^0^?P~52@n>OXd>~p%E_^E#z9rTUkrIh&|4t%bYD`U{|_do~Q!t7{2WwIR>C%nqmb#J&Y7ARIZB%EBiJ7w=1APCz=LRhz%HPV*R@QAS%eA2^%v(60We?>@ojM>LJIGUgPeW*oT z3D8ww(#Tnm6M@s@YS6m_O~xxg-Fl%$<Y{4I&bGg$lC60x;*zT%9spBgO@H31PnSG&eZRJ8nyTRqT)Wz9N<2Va|B9+3NT- zo2YE1N~m06&ZsgB6zJ0KXQS+Er6IsJH-)|-Qse}+6`q{{bh9#7-&?(L>M}sP9p0hs zg*TO(sb~Mo&w5&yK78ES2NUCRcl@+(qk% zQ)iGYJbVb~k=u4SdP3iaZi-pm&Tkm})$`3<^&oSCbiU4~r77f?*qj0C6g~@jW4XUW zGhOVQKblih@X-nND&q|K=m?|M88_P};fg=zc9Gw8UI*U_sQV3dOUA{{7pJy6gZVbB zJF2Bn^E>8zd&m_SCMsvfRl%D*j?lk;t|g4C%k_X}mTIxyxsUl1AO z>&*Gq;N)fOb?Yqg&YLyE4^_fK=M9}H&WpgnE%Jh3XQ7{CU!1vj-?o;8BTpz3Tnyq} z=K#j#K@S$K9=J4O!JJ6ZIRPi0u>eE+Y#FW7kO!hx#_zqG5;5PBAr@_h+kUzX9(eKo zLARA?!c}pU*L*7FAg>xxR>TnLIJ*V1XU*m|7;cLN{E?4f=PR32s`EuSBRh!u2s;5u z|IK?ruQ)0cxD+ZON{W3^oVN=y*!^6C8*HA*T zH)T$^kp9-YDo?~+u>3I>7}Ri7mK z)4jpn0eb@8h}lTY-N1dp`^|eRu)9t>PQ)EK=nNQy7^T>Bm)Jt=r}a}&j7GvAakjA`s6njS zE!qz6bu|?X2ByY!HA%KBZK!D}`q%XxH#|!j_a>2{rNk$|=nW_%Q^Sb0!`(5bPke-WSkyX^ zZXA$xZNd_Ky=_b|-=q?jJCdXvpd8F}-9gr%9H=6;qVsjjB@J&Ky&H?`+>X7S6ya1# z?q2ZspT4awiaF}LFih$|7fcucP_mcwC5NB2r4#gDuV>SR7Er#yA`7DE|E{349Lbo> z1|>I~+!n0aqbW-UN<^wSKG(O09j+{5%bh_yX}GA!B8u(2)!W242E^-C0@d9BKM0oBjjip`s`P7sr%zu@OS1N$BO zau-=|IGF_|PmrrzL9rJrEXid4XWpkuFM!FfZqDLCtT!iMJL60)T;RYQq^kg3`KNqm zMeztT=<$sCTAnjUS4i^rEvQ9GDvf)(2VYXq&zPD^kWgi{*6!z7NU1iK9gj(x#zOX; z_R{|374q(^V$!*Xd|pnStsFl|rE0U^vl^r+mAmr?-i=jp3Rqs00>nns+;AOw-xzd- zvpx`23Ut7yBSxrhd^p|V5$nXm`?=0+Zyc#F(8kr_MNoiUF(XLYBwn8792u(yl;c}3FhB!HK|pSmQ-tH=e;>LdHAA9k z#wCi{JocV1AI@(|@v6w>cj<&nSTyEZO8TD%^IBSiYJPxfE-VeYp=@_X|HewSv;~f9 zk-zGS-amkYtdps2%S=wUutQ14+zSo9#;Ps!DwPL-gyT^lYaNik?vr2T`E;TnyO!@W zU<_rIyD`gC6IS>Ux?J-kaM3rZO0T4nFgzA`%rI<^z3*c;r}hTtNr!f_#TCW6U_S<- zsJ1-Hw@oS9%(R?r*yN$Mueje#5%y)%!9lYJHwL)s42(0_j zHP2H4M0&WxXR`nS#S+NM&+EPStU)!k-gI5V!=Eh8YL^gTD-mBYI2-Dbw6~J70Jo9! zwAJJv$4arQs|Z^8p0lj6IeGTgeqJo~TJvb9r}}1IE!9RS5Qv+Ng2Ohn7@N|#x38(sJ4BA{T+nWR{lXX{KC$! zUoed0{~d%mJDHo@BfA%0)KdM`G zQIR=iiY~I|+}Hz*%T+~V>=?AYuz_}n9`V$cv;$!;T}wvlfn^TYeo?=T2q9e)J3Unw zd;HK8SB{5l_A;$)@_r3)4CL2nc4CG*ZGxITE%$Oph1w$Wip{1ep2Os=^V(jxa4FK_ z7?#HxUprFmJ~_Z)67(m;78@_Ay?coz;Je6G3IP|qc^%m zKl1fO%G1G75#n?4^LGu^G&7YYcL9~(WFhpg+$qntGQyU_Z%W;h+r?zB#IW@f+Iy`$ zm5LM)1KxKFDkM{SBgfPlwJ@###qT6bSEDSbPsy47O`{}~(q~|1xR`hwWgKd*g+V;~ zz?h3J$vftH+AXex(wd$4%S)3giYqVdKvp@UZ5G?FTEl1rGI( zuq(^MF)1TJht&)Jh%2HU5O>QJB_bHvm1MuOBtB$m#f|Q)b0?PVJoDLc5CHk{L~tMz z2ME29`}@Yl<{k9z_}aJzU)eYRK78-5RKkCz3jQa{7IH8#ws2B3akR6waWwgl7Nd%_ zBc=+nPjZXSd{Y&3jf}LoCRHV|m6o2RmLU?QWRwLlLKP0*X0Npa(FNl~yu@c<&!D}N z=xL}$pqinXbhg{=kl0g}ms}y;%xP=ZsYK$@ky$erNzx*~q`R&V zy?NOTTjYuln-O2u<~&ykA$RLhn|2d}g5X)JMP1zstC-r;m@4UMlg(#-ChvKap zosB19A;k{6mcy~&yNdb+m#k>wD=QU3X=AJMg3^cV8)2!}`3(o`lxjJJ)bCuU_tH+M zyOm3ga>9Q)qR&?i(T(}?AG1&9WnO2>0C&pF9n9u;;;$&}Yi_i1;X1i07Ub(rw0I<1 z>HfdL$Ik*Q{M_zq{K<|E0=xYDBU`=`rU$}_a?bxKEZplbAcIkQvstN_sNcuZiR{jU zxw6=o@v_*bM3tf5gF%`AsK&C?jeA-}R`0b3x7qV<=qv%muQy-UO3D?O6$aD*-NjUt z#(F&GgmVf#Xk4I!xM_ zAH2NWan5|LE115{>(*znz~^le3S`c>n^0vfi52e~w|wJ4G@k|9FYiY2R@pwq-*7OJ z6Xb(YVBYU~6RQ36a58IPmWk)?^~x6$|)?> z!cnga{B-l7;h)4u#Xp9JgKrQA4Rt358I)E8GNk2n*HcK78R6vbmo)9Ck} zj6$ONW8FM#*X${<_^0Q8C&vCWKrz>MjS%`Pj-uYhj{Qp`U{t?ZoQJD3mucoIy*FH`ENp-wxQ z+J$;Y)+8Teyecjgf){l!*44SPe-9-1a+-P3lF*Y<;ZL0xc5oc3riej*ua*z<9!Q)y z#tfMeFXG2JF=QLN)&2~H4~Cenapew@rVZ(^k_2z0U`{8_kY8j55Qr5c^89HMLcAu_8qM2Ze#;wweb&x+8DL30$=j57DS?LqA+g)MN}y=yT+%1lO~UMEQ9}%xN^% zSO!S7AVQIfev?FsxIBF%En_O=7i6{0Bzp+%N>pw+`rZN`0~lhwQ!9$nu4@hb z#)GEqzkU8C03~iPq>b`xwW)xA`}SAh^8c4W{GZ9fhX0uq{1y27Uss&0iL0Ecsfoki zmz$D~=N%vL8Ky1UN4AVsyr3fUKbwnn&m`U&iwnhFhgg^F~Fr#JvkP?}|R;kL3c$s~OA!^Xu zfc>zq9^8io6@4lUFv-iFI}JVT{gk<^8RK^r&d}#Vgp^*Qm+3Jg5qrW471UdYDd_>CA!1zOoK~9 z%$e-hkl(wG#bt`zoP$_{gFS*AP3GJ$BAf@Im-QixOlO4!Q^5=g>9$fUM_e>*X1nG< zGumYPf&OvV=*9lFgxk(luEJnt6f$ND4+3%4u;z8apfzfSsq68h5Ox15_W(MuoMHFu zgU=D#tmb7#%u)t=14wCl{;2{#iSNIP`LlqgO_}Yo{esKHKvZ;T_Yp5mg0~GL5r2YR z`>N|&SH}3W?Sx#?JSaTaJngx`bi~B7sazCXuw?R5elqw%tC^e0=XH&nu4uTXPuav? z$Xz%ft=usAGNq2tn11s$_CD=_Eo=dBz7~%#ByTr<2zo5|Up^G0pe|%2AHp+D@nZPq zlvFD`Z0Frv|4dEbJXsjFNseV}7QZ%y)irIlIX52*Lef}T^h`+|Y82#|z?65ri_$_i zCp3gZYO^I~G$Q@_;4VFxpcK03K-dx~96lhd8YyfFzFUN?O}gqH^NZf+63ff|XAaZ8 z)c5yxgll`Hg2RbVXg{{7L$t_os(~!m$lVQ#uvf zetwz!+oVBmZ!51sGxu6A<+j23a<`^Vx5wk902N(st>2$B&`QuC$tt*~AMGV?*CRW= zbbOzG{?L4zYDE>mVKmqbpeCXuDu|3^V4Mye9t9;LLmy*^H!JK7ogO77k_(iN%*Dh& z_`WhP>M3_0s+62Hpymn&YlNYOu9?i>=n}8Kx_DP^K=~pOz9mq{QXrL4 z4A&p~Q*z2&2@-=PMTw&6Mq=o6HUcBKz(WCR0aCJ>rA7`#8mKNmU9Azg=+r!)60Xt| zN5qcJo9!CSuAonT#l=(r71gBu6#VRV(%k(ShKf?CCR-}*+@u1h5h>4B;&i&lIyI$6QohFe zm7yxl@3e3ZlZW!*LS1_0_JydfMVaiSdwRsVxT4p%ba`XoS z(i|x{@-(DiU2&>=(KC?mSPx5e!6R3?;xaPO0)dn1OLa1KX?nlcQfDVLer%CZVQ%hChm?ei>F7tt0oQj&R? zb|x)dwHecNa7W!)NwUd)HdMj_pL1{cUky10;;TNwlesZHM5u*3-a^QMx(YuNvsA@B zW~d}Ab>87clv;r2?TM5$qiMDH4HY;&tK530 zK@<@&G1ej*18E|e8S2vFs#?|hSvSe@g5oYCFZ4;dFxG+^e=bQGH+kWX6==G|1g6-> z#YrtrDbKH4d!7<1N|+_Y5f{gMEw;Xx{L-LoGk1;C2!+jU)(W+z7epjD0d9Rm!5!5! z*0xV-Mo^lhW16t?$%#`>kfhbND2ynH&#p4Xpw$KxB1KEENBaO-e-0p(h#jzYcp3{% zrFzAhUxOx%Ni^|0E~&S;S)#$!b8(#i;!Jt#+-0Xa?7?2Cdq2r5;xhvI6S+Kh?SO30 zni;qc;N`Gw(45e)?%3SpH1Eh}T<>>c0(XV+kPrO%S)1b) z*$8qc^W$zEar{sj;>f`W0>vReKk#Sfk3{%Hq&`GJ2SR0k@)}gB9}`V`h=dN-g@KZ7 z&Gn!Xvf?DlV`1fp`3{7df)`kvZP0M=TT=D{Nh>V;qM*GW8>zo0EuDmLQ5%R;Xatb&FDH?Rq3Cu8H|xem`P?!_rw)6ZaqA5N*I5<0Fu*31T#a+lQ(HiW|?kU1oYrd0} zO7`2b@U!Wg;rQizb>n<>>s)=uiTB{_1KPzqJ&%Taf~$AJ`|!rD=0=3~+nM*`oZ2HR z#48KjD{G=_dZ2rnrkh30!)p4K6YkZ8Yd5O$g_G}BhRf)=_Kh>IV3+y@_Q(7I;F%L| z$cT5^WINr=E34&&m3rTq_vqYfvc*8acFN2(*j;eL~81HmSV7z1~6j~Vz8Qb*3sDY7b~3g=40pB9NZxr65RuF zM2_lm4)bwTH0}XJQpufjaTS$ruAB~w@z)NAsU)`hci2}hp3dp0oOaR6XYQKIXtlu~ zPwFud500*3>z--JXDIa@k{jokG)ZdayShbUH<-h>oKBqrPj95tv-x}>En{~$f-AQ` z+e0UAaC&>*USjhxt$sN-1U`LY&nS2YY+n95w-g_PX7ACe8c+H=aiM(V{Ri)sDA^~Y ze1CsenJSUpu6_BWqrSxBzn{(h{}qnn7RJUVHvf2O{Y^erDNcOdC4kH$OO{3qgDgoQ zJ>dyh&Rjl)DF4!5j0uOArR05Cz_KRoI8+$mv@{cQ$TY3T&b2%}!v^+CDM_x8|9}{kE8s~oAHilAA=i$Db+%;vxF#l(ShG5gvHdsL&;og?Etr!`yx*FNsMIqf*y|fE z`-*>3%UNl0EYC%q#lWqpUF5}tcISN0RCllVPO+7HMSL0&_zbVg9flc>0dYnNY8A%u zcy>pbPp~Pxc6npBhr>%&D+%OfWKqN)&~*sjf|o>SmhAm+3d>-K)CMqA>L=KzmpH~( z=T4_T5I%-h(M*I}Y#}cWCPL~mo71^XxcTu4XL+GB{RM$^gp!9tk zN@j9K#L|Q@iij6+Z)DM&)`xFjryY;%Sd!F5bn87VbT~erm9tP?-0Zej7@CBQsEM%K zP+uqbQG94To5YaZ0-npT)Hn&wMT4?aQFCntI_r1&#ggPx>4Mn}>{M*As;A_H>wz17 z0+T>-rZZA_DIMa`)kMA-9f}O+q_%7kV&EPLOOjXa1;=CR-53*ZW3XBIbB4)dDrq!FxUVRygCe{*;N#IPGMPqZevNMelt)V?Xu*kLHExf!g_V- z0Y%&i_e%Q1EDuTL3k=Js=u-$>2*;6{u7zWp7=trP23=PbrIB`&G9jZ%G+iwurkmhK z9Um&g8tope+vr%hIu`AB=3Az5x-4(yX}$!_X0m)?1WYSp0~X-3g=F`aJGLZ zdy=h(<9RoP%%5j-x|COWd$F{`*K4&mhb8<{F4;f#Ww9-}5|TDd%FDcpEpQ0sh9nR~ zMwk59UB`WC_I5f(gadGa7__I7l1EVq(w*f<|`ADOAdz z#WOPoF1=EzcO_%!=XbO4-!LlIC|1UO9lCNq5E)RU7r-ZDj!St#pydjJpc@9(+WzI} zbUqGK4)Z@DXMaJAe@o6F&8?fNa%yEVSJk4zmQwXYQw`l%2Cn$Q4b)uC5I&Pg5u@Nf zzWFBJPW!Xeu`n=Xbh*xCb)0N6G5r&r!Gps}wyO4DVFE7FYHj@VGCwU0Alv|2QIz6>(E8eU5b5tN_Y{j-UH%`L*SIkuLME` z?#p5wOJ=pWVn7zjT$G733upXaP(p)om`G3hl~DD2O?Wb|!r`q1>!>!Rz#Jce>=?Kt zT$s_c*^^r?QMD0*xKCrbONbE0lldq!hpr8c%t>V7)yJKtRrBUnc* z?>N>&%V-^tXJ8U84kFWtiC|%;9WQNN{b^KimJb%QclzlayLnyL5m5I~mS~&aRrP)r zGR?|$eifUy4ahMfxKG6tMO% zYOFWSh~To?7-)^YCyAT*T4hqFTy1ym^PX}+>QW1n>=!!QH(niUum0C`5|8^b1fH+d zI{dGMl7F8;^nWWbU(-JpP8MIioWHkps#L8UkyOxqSS1=V>cOB>5XVV?gP38W$n$@Q zc+|m@%l`l!_f7yT(2UtgvlcymFU5O5R^y{TKr?&aXCF^xEMWR;9X@9^ND!Sl*bk@u z_Re|AeBwCiOmVFD{qyH7=iB!1N>?ZmTAz(J%6>Y0gP=CrelR>+P%FvcrS4|m)(=tr zA8}|#U?@Ynm14316c3s3Brx}w)G$!}?In4Yd4#!DeRJ|lH+8}3=%p2QD$K~BmHEIV z1^C)})rVR2{-+QAb>@W=!8(#=Tj?e#(P0`Zc393}d7TPuD1gUI%3!V>+!o0M)4p zjLqv_r@pen6zPdv>dAX~)AmzNi?P*~aU?Fh7Qh5g-mU^+18X2!l#|#lALpZ9W{5+i zOFso;D$GK%b+)bY9d}V2T?S!?Y#;eaWID;kvi@jR3%b=X*>dO6w0%_3!#)8vZWjjd4?oGPP81 za481L0*jSV^JVS4Ap@9&dp1YGbXbujM^`V(d2|-5YSz4&`OIQwxrSp(o7GIdf(?Bx zf0D=*MVd|U7K$`waOT{KvqZo^|WciXNK~i|T`{B&ZWC)ifqZLn}gzr(*HbDb6U(zRY^zxTmgs zb0R~WEZYGx&h0^59M3wrkzDvUdwwy&Py%9SXsE<~pk<|zlGMdp4A`@0?a%=B!rV_V zF^@-reYVQ|(rCIH{?HIT^{4>ic|dKH^9bsH)>7b_w4D-Qc% zjgl?}f{xUl$qw916xjooOO5Uju%yc_@9R>t7Fjr9lM}@`TGLQhC=)VW0FPY~4g;pE z;}{fp0cB=V1?7k0#Q>Tq*d)%m`3t485G|MTqP6VB^W55*9f5BlKu15E0}D#xB$|LoNugfOwAN#OFvSch~%_A|=L_&zJ$$erVl&ifG3(VoS&A(Qo zMH%c!B-;G3>JR_g*2nsBF;ok&K>?0F4~y$V2G<%P7H$-thm-dtb4~6BcMXCV7K;)l zJPQ;iyebeTyh{)!e9D6uwmX0rcB2v|49tw3#C`)!hM;ikm%pF-&Nbchv!u6g&WwXp-v;pjBD((juWmO^2udaAN=aNR~Q`DdDjj+T1iGfKAuD{UGp%P>;(&$ z4*}HJf55>`o>cY;TQf}Q20^Jk8T-8`BJ+VH=Z++#eau4d&cfJhlxOR3p!<-i`_PW< zrIhZ4y4ZX4*Nn~~Qum=_H<#5Gm)vvw%v(Is*5N|;Ayn!u!IN{s%u767vs4lBDNXeV zoUi_$3nia7Xfd|x-KdIzd<#|hE>7&N#pVD+VYZgbSTkFTjm{MH>$S~FX#jbD(4 zjV&$KQyF;X8wfMobIotuo+XWHwG~KO(Qu%#M@OBJFs=P&gk;_0?n2cJI1Q0^oVM#Q z#aE!kFNUjEFh^|O} z_xQJzdU7!OixkQYe*pdcq<~^1_cSlxqJNdQx^xXC?j8OL!lC?QmsV z578=D0jH#5E^uZw$>gM84wM7d+DMonOUr8JKN@xBSTo0{h>7qKd&3JK&i76!udM0} zdqmQJPz#oY6O#>DCpYvEk)Yus)s{CR2gfsJW5?+HW$FGrh$|LA#@fMy!v{CDGOfL* z^k+$U&y|j)JEr=)^uQWNN&Hu;0O8Gx?-SG{58sGHNr{r;(Pb7Z>q~};k9}Ai6v0jS z67&JH91WR97%3^8A?4`qDWEa|JFX$GV&)d zEZtjz?f}8jc5!wseXe1S`;P%`SJcX|s<1FP&+E+?j+5+;`#&Qqw%=fDuX6*>NiM2; zhqD=AjBMCj!?aj!Hd+Vt$?h(di_`PgF(Q=ugb<>h>tvOgJ$h@`GDJ0HjP;5v;m1c5 zkgf7mu#2EO4@Qu9k;{_D0El;WH+m)ZgF_lfzM{7g#6Cnwf3jyGO9(S1?-a0K4lmgu zjOSs|)id%EMQW69W@dSAt8L*S+Mne`B>4WJ*;hB` zH0M8J_x#BjdiAur)u;ZNILheCa;F+o3Fh2HUF*hqR6idXu82 zK8J^ikanBy10hLCQ-58b;itQqRNMbRi6jECBdKm=r_(P45kt(KTuZPQ7AOOu1u)YZ zR6&YTmjGgb90jepS0M^M3@kQHbeA=EF({dnHKDk+6Rzu zmw`rUSJB>?wHv6Q8r1F1-j2#ZaPKW!!zjeemWf3D&wL9EIL*iSJ>(|EsFZ=_ruFpW z)X6Jq(Jh=`b6Xn93`2 zDCJm9hEsrar@Q)NbLRn;OpS?pohg9|}5 z>^4C-S({6iG@WKbtrSCuw=1l_BQ54y`~HZZoQ+v0QGsz?!^+LO7?dC)PDt6gBHlBk z7mvFDjfx*deQC_RmE+)*f^bm3D+$36@hx3-57JM6TD)T+3ziA#phJ0y**=lcHOxyM6>OkzPHQH#y`;tIIJv`h zU-dDt)<3qvF1Isd@Om{aUPp>3S;y<}wSUsv#~#(iVq71FqPrJwXB@bI{7eM};2ezq zNO20hIv#<6lB|fv#M=_(N46lS%+IkJN^&lXYD8&*jdOlqqJx()b>lo;z;Uze z(nX9Uga0uZYY6eu`ki0o&2`Ip32zo4-9j&Z$Iz7y^KbwWTq_}G6tO+Sdi0i9Ua3$Z z*(#QEO_F#E|NT<=R4ph9=b~@Wb#>^;Ef`OJAg1(yO#L~?#aARi&91jXvBV!S+X%PC zeee3l6Zzv`Vo_jT+I~U(5BSP|yjuUORYcL+>MLv4ht)Qv*bHfbSX0aT+{ytA?M(#% zAQB2nRCZVaxMDpUp2*s^Hhlj&Gz|R%u&{SPpa8%GqBGjeOs~@1O`k?)Yl1ZuTj?nVc6K+6*D$e5J>lds^0n-9u4<>$`{1y^k|&s!3{QK|&U z^M>WCLsjjQo9yE7W#8n9H%T8S#Kr`Dl135HPKQ4`_R}RiS4lsB8&1p!vnL%Eu-}bw z-P(~S{DZHEMCexR=9GEvd+*RAI`74WC;CjznrE-f**s!6jM($@OyHo5p)HK@lh%Mr zF!mei1$xJk2dMRB@~RZxmf;xFCgGpwAeJ106om{joHT%Q&oZop{UGMk6o~|aJ2V_f zWu$~nr`5bckN(gDZ~C$(xzZ=|2Gz?nY>a*@#z5D(+KH*+Kj85P(ePv^5MY}-T02CZAwIBVDoJ^tPXqYI*&DQ=D8P;O zg-#~Z(rkZc*t)#kue4l$E2g(CK(awax*Ro#pF+;)09@6z%^U+|gaB~Y+#)TYm{7CP zYk^;?Ne4#xpYF2R;cZ0RxUNKz$!*Ps`R%)oMan5#luIR1+IHQ2hzXB8^MG92F4VTz z2qTT{)T>%O^WRw?c+{99Hc8rRz&^U6^ND^X^TH>k7cSg)F=nORlxp5leXqZ(?UaHm zPQ@s<=FKngu7+31K}RPiz9=VLcg`ux646jqQP|6V^9%RnQOFKAh4Dh?k&Jh>N31-*1~4aH64-t6nT8!2m$U#|{0S$gd{>9(od;jdVddYllDgAWy>27~M}+ zehBu!ZU;}eayjf!z;7n8m(HiU`(s&46Yyx9QW)MvRPe}`F$EWM>S7f_X6eCFehaE$ z*%%L?!eZ5l$j7?PUfqaPTbiyL=3Ub>|B5NCB;l%Od)JgtrbCwFa{K;fe;haPEgSRn z(A`_MJ=-g1fWzr%c7Sx|m@u5#L9bOU`FcPYUZ=V>Q@&sD5HDV!7MoKRRNZCr_P4egv% zm_MyTu5b?RoEXIXjnh6M$*Xgi&*~wxe(VK_ zA@6YRT&~(|ZUi+6ok3kfe9uaCt&3ajveg5D$yKAZ`MMEK6T_IGx*y&+LQ!ejoNZd` zFOiEQq*Kz^nb8!7@&4bzK-fZ!fwPM&Nn;H#6i0;C?VY0O@9jeb6_>CH7u~xis!NQ9UQ2a<7BRvGi&H zn|0?FpnSf9@@@>qSllLm*PGwJ9#lE#`In>gHbdMn(HHWJ{z9JrErZhkN!kBqP*OQp z+)#!80PP-a{y7LCvALNkg#}MK-jt%9!Ec^9&+iu>$Sf1&^$kJGfg~+{n`@z4(Dww0 zGs~rzl<86$4?*F#U;fmoc%b$zYwOSST0;k?&+QYQFA#gk^*wu-Cr4(lH!7Su zb*x@`Lxh}0DmAKxy2j$&=?D*s|080A2?`Y@Ah?1uyR@{zywq-Wx7@t` zLprFWUk#zuyiDC_<3yv<>{eMIMn@@E8KqQp;y%zQu8O_QvN}z4%PBc(t+yfTXaZ6( z8{-Gqo1oqRv}$C=@4MF8i(m~h-(m{xjiMyg#YK9RP!%Yl>%|0) zLGOJmV0L%&fr(;GK~>u3Q9g-wF)5Jq#b$>uT6MwgWeP})Q{lj*q&g6E6#@i(R* zOy)04{kHAVbfruqW~E<|VD1|&7M~UiOjv~Q+b|>c6v>z(AsBbHBnxCC9tAd)>B~qv z&d?25#+!MMjVFpZ0VR#r9#fSq+mVuR}Ngx?jUH})&rizV;Y76~_G#x1q z4N#T*Cs>#TbyRbf<*dmrp#h18w4z)Lj%;vNkY+gZX#Zj^rg8+_nBl}1M+e0<1~eF| zBYFaosWTe~nW5l@QSgzI1Q6RHQDvA-dM&UQjg}(~!~SE{6j$>ti|){1w%efKmD}K8 zCG>fEXq|zt*tO zm@RNW^$x0|DqG;SaHrSh`Vc=Yz3=rDG0c;D&Hi89)gLb5clfIagZ?01fwrZbRncLf5ScYvfeznD~#n1^Hbs0_EMLgp3i{ zqxgvK*{T>)T7pE-^Ncx(k-!Nu2)C$*FIK{2T821 zS92^1Z~7%sO}e6u(bFPnEDdkpW*8Mb<&Dv^fHu}U4~iX80XmfR*@yUL(H+}HEx2t0 z_poVTN%1{=2X^6#fz<#aV-87QllBva_67U#-=Ig1h-zbuqOO(mQ*;RTA@oez!zlcO z)schn{m+&F!%L~ca>Y((s+efEki^aAmiVkrv76!Wjwr!Q?< z_mRxeqpubQ{3Sk++XI)N4%amdcWJ^7Ns#qfnc)d^r13j)(p)%lZ;FKOj0~63?}z7M zhj55vYwYgaab9Rj5XO%w=xyoZya8vR4zxZe9bt!#VTWFs+!^8@^mQsh&so=G@n(o) znwjt9abG`PMI@jhjX7?qcIBG?=6OT<1D9=-+iC^U;XchKPkjYpPgl0T4PU}aufB=4 z&pdJgXCG_?8^}J^gaaQyi%mAH^RKqmbQYW96;@_#@7_ZQUs&jBJ4HzO0fzdBC;oE^$ikg;9h zhxb0`gs_)^YLw}bwUhK8goG!PFY-UllT;9?*krq6U0dF+x{yKsKoQ3$hJF9$gZ!%j z={3*cS0B^8>G1vb#rwe>ZWNb+e{izV>w7iOuWG|6cwv!Zs(__r@>ddFLnB+)dc@NX_Gmc-=Z=HErJ^c4w+0~X!CRJZdGmtDis`(T`o&5Rkahb4_vDp~t z$Ih|`=_ZB7u~4EWY;@mo3?&YC3c1dN>yzgL<~g(?;c^cb&k>=d3Tej@tqD<~OSli7 zCCiTco{{kAO?J75YzmR4EBP*R-!KFNDp43`zm=z1s#@nMZZw~Q*4e9v+eC0!cRRma z;(S|pnt8t673x%IbYW?*P>uBhxYL3wxzMY7ydT{NU~b|ag9iG@jFyIJsOD4cVYoml z%mwa~?5J$+ZVZ*P$<&A@5T(vNM9&@~@-^{POS^8%^mvmY)$Pl)|MI}|5};%7zVvYZ zmp}ObZ8XH-pSP0!?*}hv0Qie<{!62=NXc3bNdwu(hReD{UWC%WwH>%!Q**rZoGaJg zw1FWClK?Pj%C`xt)(YTSkS+o3eo5Fg?lYEo2YM@DecR+}jGBENf^*!ya-Vj;YBT%z zbDcx??MmMn^q}~oS-v!oHG*)D3Xhw9$*?wlo+lbfhc6Ny9%T;GU5n=*F z#%oUDXK1Z+$mkKkhN}-rJrPVYFB0E0YWs1H8>xArgsw z9%5|G%Ea{EkPXS$2%Pn}E`)l2@?{#R28tWZA(8D6sKAizyMICu(dyU#q>zS`hOxl6 zb5=2>vy~r10vakSAY8mL1SMb`)u#7 z@amRpH%?}t(xO2DKq!M>yq<-e!aY{J7ap_SF--V+X7+RstU0tdhMV@PIu5JKX=H)9 zf-i{gA$GwnV*HXil7l}QCr~^J5-OZn5@J8HIDt>=aZB%qBMnin4Ht6C-qsMEIbiIf zO6=V#MC`%?vce$k*9?{#*9?|f*9?vcsA#N!T`+x~Y7RR~L-M{C+{w&OA7GJm1d3U2 z98LTTzONf$u?lENRwIyLKPIvB#%Fg#^fJPKCL5LuSRm_5^4rY-=_^av)dJ}&!hI%c zn4)LnC3?F;a%hsA;}QI538yfP+81AuBl|F4agCPG^({U(L;S3KjG?fXY$R+6VZdN$GCs?nabQzN7d0ay_@a{=fY^C*V12etYe`V)m?AGrC^m=r6h)H|!=I zzxuGn=#Ct`uJ4hK4JkjWD52<%SnM!ZDu}8BoB=I zOFeyP11JNSc=SAiUSfV6el313{_w?GnHb_)q#Wre51OqF*c&RQw9HkkLy3wi=K{?^ z&8bSP#(geBwLzR2GqW5s&*1J9*cmm}t3>N7!V{E)=1oUbc%e7`vbxC2D4s*y1b>PZ(4>K)3}Zvs-m5kmcaLr_fXGduu38lp}A_`A%gio z6=E$cv4^12y3w9YADnAA?TN}9t`{H=a{@KgGprxHL*FFAutObWV?Lf%7FbAP z|Ln}c&wkMy)nc~U$koN01J~` zw5|129#(2)uF6`)ftRSjCG8UnRqqOGwEn9)iqbn@r4C&s@O-VhXPdb*=r)t(V{>U{ zN=U&=emRuJ{vT%`m?=&p7;OiHeM~Hcd5mqBHt?KY85frN1)J_QtWiYCe4f^0lC-cS z-F118-|zRb*lVos1UtB4cJ?~*cfb8?LGLC8ZXq~hK2=lq zf^wd4q)Y-{F8_PXT<(AaWyD{xo71n2L&%cU-lR$VC9vB9e4mzk{)%0jqgak?assm)dG%G2)ZXxS znTCi2^;DcApP+FOv$`n~W6QI*U!~`$42E7tw~|<2$XYbs#cSxwVHX^xy0m2XR<_2S zXTOmn)3XM9#dfRPMulco7~uq!D`GprIf_=`Tozd7eerb9ONU{6m1$(!%7)I`rhzW% zo%u^6>&J!>vpgPW5Y8$L!rn*17>ygx7f{WTq{7w37|op2pWX0U8hc0TTrl0uaW5yhTg-|v;BVdCZt7%E#`_OPX zgbytyG5E7_eE?Iq`pRW={~>5Tiv4i{!nxpiLyW$f5R-h@8`m~A2KA%t>)NIrobOehSdN+py*FD>OPsSZxy^BU$FE+Ufza#!m z&P~pPoW%=<+JR`EQ(L-2&FjhStj@?VLHo7Z0JOkeu-ls)!WO!n`JIp*rXt-*h%>l) z5}6ktcl+~DDyTCKxUGZuFnQ?kdt zAGS>~Y~;ujS36By^EsT;UF9S%^;{u+ec9ZN;Hja#$|gL-zsUvcca~`8cWCHYX3mb_z7wpR_L0NeDXyl`Z*k*4uqbw8Z{wC$sIWQ&2i{nH1cTF9X4ve) zFhy!aD~;{r`N)Ljj##Iyf$93BFp|Z+x=*`Hudfza@K7jM)^M1&sko55uj%&oGeV0h z;p7f7mbDu9{EBRl!m?Ima`F@p7On0Xnpo$-Yj;XPXD*y}soaC)#DyjLwDls!g}0Aq z4|$42I$wK~tKYOLjO{EDvgv&eCl>wzYW$#`qXFt%72ni~pGEhPx&&)49$;QrW z)fS@kYP2&6M8~gTxIoU!0!a@9+s1I-SWS&~9BgC2-cEf6*3Ex|ha-5=iXIz${)_;T zMc5O!hLMz>s2^1~LFG0gSf{0+i(2B#R(XrRink@yJW16xnTR@Xmd%*;1(vte3jzWC z-Be25l24rZKHLyup6@hG(Fy~)j|3Wx$WpL1LJ=*|-#B4nhJK7bVlR{4&~+ukGT z$bC(h-`Km(`2qQ840T&~KCc-GKX0J;+Xp)_c%PhkKP6tUai1uaim-cx?tBr^eJMMt zil@+5v(#m#OxnH6AW>Hl%q#yGE5t<(IccBRR<@;`E$?jo>gkWlEMK}*wh6#|APZ1v ze{TN;@IZ6_MES>90}0;@3cd zb74&ASrTir5o}KaH)=TwNhsAMgM0Gq+lOCN=Z+dK*mI>r&r9DnXGm}onRO+Qu&xUQ zMzw2gmspx7umn_b3QNq!m@2>qi;^nhONlMwV?NXwaqY4!9!)9mvnnbf>vt<_S2`&t zvFT_lizX*yZIeo*FC{$xG8&jK!+FOI0ykZ>>QPFI<6vC6m#dbLkSz+>fPY;T-2W*h z^1M#LBm~u?jp?Glrngvz?=UX^lKP?#uN}vR8c-svVo#nLy@fS~iF0I+XIO^`ixh!?%$SEVZPy|1LP|t(SEVdugjB!? zK#5-+gOPyflMR?HCU70+KT9BpbYLy?gC%o#iYoL1+&v50fe!cU7k+lSLO(UAUWde* zGxQ&ua#!R8IUb-X3jyZMpWEvJ+?0QKF8f1kE|1riMdn8dUe380tALq=rpi`9d6n1| zwqzi7`zWj+z+BpP$SEzk_^|9q=K1wk->;T$$vaG4CCw!onVx6HFl}>hvzu;>EbG1n z;S%nC7QyMhK-<>NjbOYWtMdE_UV~fjipbeH-@D)(rTy@n7496)7JZ_8&Kp?E5B{tr zbkC_&%Co#GoXrB|bD}ZbXdm6Q&>9fu%D?StCi;XCk{%I;>??TVD*s7bWD7>PCgkPQ zSmu4Xhs>NKi7H!u`mY_>uWS<9JutIkmmQ?d-I;gljV^Q$ML@A3U(TS!Nn9G{8q1*C z;}&QU7lTK&QwAlrlt&0D2=w0%Jhc)GH(KV^tt+umR|MS#6%8t{zc52=sX# zmy_NeB52skFQS==`!CDZRa7C3`jz94&`tOAx8s*q?4RqKUiULDe#wB>PtbWTDQgd+ zq5xWiU)wC=cy_~pS)P|M@G#<)c~zh>R)o`JHUGJHT64;&*#?AfXIII)BYU2Fe5HT&QejJe>@C!|yvE?{t#5VN}Y_C)oK9kEVTAywa zLq^r#R*+*TbXc?Fwrg5Ls+iDctY3qCyzFB~=6EVz<0`b`akEhr;rBEn3Q|y@#X2FW zZpEWQ&EQiVVkXUX-L20_Xz3hxf6d-giV>mi4;e!?rCZ?5Ez?RLuAG+^*8QnJd@&Zl zX}}E*l328z>xmu^4~Clqgsd#U=(!xrSVZJWLTRxVdIlpC6eQbR&A#Vg@;q4Z*_ z*sKK$DK-q-ZAN~AO_3EIyvv?;8|y+VQE17tPdr=Qdos=@akY9$m1~_YLdiR;S1pzx zJj+7KK{?4nc$ph^lWLfHcc7H9DOS$-f7_Shi6V{xUI2t9hzT8z$ zr79#w=R2k2rIEeYjg}o3o$NDH<*l z`E4Zoa+FhRL}Tb+-|3*P2*+~7U|E!DR*cgZBE}k?tSkGx^Upcwyh7C^TDMT^H?CsJ z;b|98!*8hicVD!5DGz!vkFMwV_+*pI(DPph`DZB+oS*W|bbK7-o9X-*vB%b)FJCU1 zO3+Al*YnszM6y9fvx*-^q2MxW9fWGK52k4`Z)6y)RS=bTl@$IJ96o1BkJYT`TTw9S z^lMcMX5CUQgfBqp$~7>rH!A`2lLbK4`sI;9%Gkx&>i3aBQBzhCkfFQ|-J=RLSwW7U zI=nXD?!oE1Zg6IA`l!c*(vf3E^G}RdwbCc7pZWHi5s{8{;jhFn4reJwB(6O}$h;aJ z^m5!k7|~t!d7##Af|J|ZO&`#LcCLX!q!vmXsf7}ufvrI!T!qse9*po(ZR%PdJch_^ z5YeWgnhIk)UvOzFxO>XKiguq)NLgb+%M@cRd7>IsP)b~q8MPh@woEJ<&Rp_Cq&_8Q zD(9@mU=pUlNG294E~U6;i-kJs>d|Sqc(PGnu|v(EcJbThcd;C?(!o&*Q&o|MgzSBL zAocqlMPjdI*`uQ_tK}8pl^tUOOYFOg3y!J6>PDXpw&XCF1y);0NHlk9+dz>n(9XM{ zsE$_^2d_@eZc97hXcpM_mWoREu)5Lpx`{7yR!ksPT#K1^THDkW^_giG;rgZ|%qR9JRr`&$e`X z(MEH`RQCA}zl+{udUd})r-;gy)Y#iUD)^NpEX-WQO+&-WBfWj^Q=ehqce2J2Db4mF zSu+&eEd=o%je+qVZ?g(e6X2f#GKV9!k$9)&3FawYDZaYBg#x|mfC{*pLk?_><@Vbr zndo|n5iUh6vY@{f9k&gse$IpclmV~?HDio7o&<(B{`y%e85c6iHX!S`je-$EbY?qB zF|2e)3q0I7hbG${s{hEFzHQ0b%=7sMHzsa_N9Qyj7vJ`-5dsWRTo2gcU)|5vv&sjf%hs?z`=q;jFZ) ztNnR|2m5a6ZQy9{^jH0n5De9%2m*rG@G##b@}V`do!Qf1`;rDvVL-zojoH*w zncv_p2JhRevWq6Er0_1nnOk3E(V2K+3tdU*EN#|aAE2bp@w)mzqFGE1RhhVGhiQ}I zP2UNFr}?NP*v6$^j{X1uY)nda48NRm$~;?V&s>7w98*FRp^D zb`9V6bj(NRDk~lp*AeaDu7(v%j#INomj8=#JC{2K?M|!2`%2^`s01K>}oz& zC^@(NlpQZVPgB07ecVeKxsK*9odC}Gne}Yk&lVGFOEZ`v5VLxM5PGq|wodxWpIv+p z{wSWA$!@&Bp5_iBM;2_W2tVV)T$vAl+dI4Cj;#~B^M#-xrzQS#&%j%)RZgOtZ461_ z5kw|MFX4=`Nw;OVhc*FSm=$m}G+#OuFkTtmmRtcfXHNs3#jo-D-T<^d{$JMm%ndD# z9e!)eZ6tQikEf%X(GiXm`-zNgOOg%ElS zO~}b(F3^~^HdqC1)X+K4u>|Jum0EJuyFj7+L29(Q2PzN0A>g zfPbpCV06k5A&sUyRt>e`>}aWL&|RuyUUyou)fj`!L7Xu9OxD{}lLDJ6prHxz657g1>qZS!RY=W87DaAv!8|K%~c&GR@WO8g~^& z0#k>@=w|eysFE5X7~Zvv@?rei5wz@Vfvv~$==JN4lnO!dNP<2=i`re>`DA;7_aR_2 z3|(D)4U*g1BZtqk?udh=@u4imDhE%UT8}-er9-4pK zOW&JJ_f~22Io_E16Jfl{^(d|_b(&WcRcaAVFa zbcb@o=+wQ0Ayg%552hZBwubn*Wcq1Po*spSYD!Y*QcA1vgx1JL+-c+Cucik?-Mzwv z9+rt{SmvOg_ZgMdn2Ox_C>>HztK(CZMtA9|btBTn8+ldv<$Uw~KxOf%%DjEWtlCMNmt0ZGAw zfk{Av&VtzJ!oUMunXW)&^g`V^@W8f9Vg)yzqZ|AUk#Jf~;s<8qj2tWB{(6*+CO?*b zm$a6FjVtR^q|z=SzXl>wJ}pHeJ}qTNJ}p@)J}rF?J}pf$KCL7yf(pf4skT;;RjP|} z1d2=WVcFFVlqb@wYbZJy9Z8g0WX3Cx#ci_q(_dsx`--m3i1RY~+tU`Y;B!P;Di=Mp z-!Mw_qD=N8P0k39uY4E397Sp=fA(7K%(Kdf1>lb_*@`78Bic7#weiugFOA|#hUN;) z3qx@D%VWahuK3+bMzTAhC9jz)u*T1#Zuzmi?UY$pP%`Mlfoy%BtU?tdb>XVsH6R)! zol1pHM2-Zpc?QftZ$rJ%W7SYwPpfw(vz>p`Qo#%4w4p4+V%G?m>bwC{-M{B-{pzLj zH&flc+V^dio9EnAp~?IIQXmf+*oDC|;X(=HX$dS0BRxkxeHw8>nX);fkD%7=bEICCE^K}?#Y|t>)797&+D0b`gLZLdx zu>&-nAyteX*<#cY)?p;qJUf4=8POus#;AzhC)WMcoy_ZH`2;dPAwfy;oZ> zYyMp}8!HxUkV1D=t>fYf33bmx#jeI2qNvik7N_P|Nk@*&QSp-!ExWzlX0vOm!}z&e zX|rd7x%zTb+D8tO=uOSm^U*6Ec2*WS?zGWv&v3Sri!)F9%{!}DmY~MNotB(4n~uU| zl~|qL4UrA8Z76;iyJ!fXbgJ66=gb_^?m41|u>Odck$ujeVo3U&I61dt4!uHu21CJD zGOf00OLJ59y=%ISu&=RL$ve+_o%k^*DFbeQdlKZ-SfU_oSjEplF6qJQQ`*5{OVGQn zXTervCpZw4tY&*&O`g=O=70}Jh8Di+s*g}yU0j{lzIP14RY#$={p23PZi%CtQ0E?t z5o&`vo9k4*2j*+3PLD3?=z|^<>>4Q; zg*r*R0arwSf+%;6E;rc-1O7Ii+wVCE`DYApsBQ|^KnL<($A~g2_55R2lLrWZ6nBEv zj%|X~^#SS~m_Zq?JI(Xiz3@`5`r(r}j3k?ZSmx@qc|L+GlBRjDOfx=+h@GWk`^_}Rn`#}UBOp7;+}lWab3m_P|Gzv9{XzN52RsdZ>lUti2A0C| zEpjDdni8U;kW-)fP(}x_^#gQ2 z_8oeqx>C6M?i&TD_$cnx0|^~f4^j5&5zmO0V(q2JOa7D6IS{%q(IwU7hsFWLrDW}0 zDv7xlj={25k{~)I4RX0YI!)4ju_X$hr0bPamOSO_DdUTq;Pht#3nTHti9KZHKT@L` zdXvt3#F)f-&N$av^ri1n1S}$EnTgZBQSPySJ=*Ua`s@aW^QGX!&&fj{h1av!0g7M3 zC(E;^T=lfv-eRxDvR*Y$8hNSiDf_C^odro&4Cs|#VN061Dth+M8K?H5m)yK0Z;-b0 zLd;*-D473%<)D4F&gr~cEnaU2x6q-SN0S$4kctDLzE9Om$!)-#!O%WcH~JbTJXhNo2BWG#)3?N=UZW2Ld~?9WSs(E4qlJQ5H)n2 z>2_79u*J4jzo`T6f9GbP%q3O#i7gv zLOqO6s6>NHc-u{vc``ucpV5Y4gE%W4&*vg1vP80?8613-ObES-Hka^C@hcJB7G#qC zrucCK6hC^6+wjqCLdQV_nJcSl0zy5*23H$v1k_BdcAfsuN$ex3b7^YssuDwJ)OjtpfSPgX5W@p8fZ_)M*rD=&dXD+SgMGe| zwJo+VqR;f@6)BE&W1V}BG(*1MVH5kf!lOI}X$4ryf~faYj|IGDXP+A>E^9mKXs-I6 zFd>3MH9r>n>X&I?GBUfObrXc}^nBrfYh?J~VDW|T=gWtF^KM)r0}YxTq+VTHhOCxW zJo@M6Ap4FKD>g_UXKi1ZqnxTEeZ;gutLpY?4t*%>HT+7w4IRRZGBzS#9`wB2kUiFi zU?}cwJ_3GG9lVjNHUZtUB77`Ra;j;0QNDvmiIMP1BfTquOV2^)p0S~wJdUe?MfhAu zHoZy+voMjv3g>?)agDb-mbs-~wTCy=jO$#qbWV#~BKlcRw|iv6NA+||Ueo2HQQ4I@ z&R`nxB67pBg{Z%8NiE4d50Uuhv85v)R^b=DspHg8=+GC`6LBI6n0*S8L7B-|6g(mO zvO6e6yWEQtByXq{&iO1w2zp+rB*QT^!>)CT&M@Z^Hms2zstwF=~ZldR;ExT*b6-{dISp0+LXzQ+< z=H+Ye)-c=8>b*X&YH@X`T4_uwy~)t3hl@zSHf3rp__DXzS6)*kI;rzU>S;`Mx9byc zvQp5fyQk*SS^T;n`a`8OWJF9b$-BmuM%+Jg;acIt8aNCH0TE8rCG~4gRhm5e=;RNUAAS zq5A_GU8q|$Ygo7~qHaTk9XA(B9$i^&-IQAC9n^{qQWfD?>PI8wBR3qcb>ptw$Ay+4 zZD$P@N%XbK+J=-IT#~hBACvx1BA zof=J_wCgeP{sgqr2~jpA&=2UTsDMW_mVbRj`|c?HEe?Q^yWQ_e7BZDARk4*(76r-r zq%jC^@w_$W!&yN(5Ghn3C{aL&{gud~-j%Qg62eNwSJ3NEyn|0d<6Gc7QhQ!g*8@Ubm-MMV>pVCukqi5|kpg}49 zd#upruAgrokJ|D0Fm?j#l(uX$d&Nb)v15pZ8Ea!#}>v7?_ zlf)`t9=<2+9u|YA`e?p+Qnmh68_wjYjopRjMR5H=_UaTBvyoG6L!xJkfn};@V(AyuG%Sc8>GMo6QnN;aGea6h)7WiL} zS;{04Fdk2}={vW(Kj_f4y|G_w0FyC>*LSSb?8we@1n}RblKaOA%3L4V)zAS>8af#-De-7 zyOqt`)mKopDm!C^*t9`O0v0JJMwi2`bf$7g**tGJmU6SdOtyh@ zigFBRuev!2Bsp=WZ|&HTH*H_}G%bnYKgLSk(A%&!j8Ip5oo?{5o`tdc5OdYs1*`Cb z$;M>i@iUSEpEoW?4(FT?ZP>GOUvOX1Bzte~m{rUt@RUn96EET!mNca194p52WW8Hc z<`MC;(^?JesO=CBO75Tx!VH>#HpLk0{0K=>aVkiF#}E5rMbYe2y3OXax94vf4OV&HV-VG ztYeE*Tw44g@m6eJXMD8K&_KLS+(ij}rMQRoICfa*Ro2E+QeR#q7F%&2%`;9YeIJ6W zq78g9gDuhcW$CUvBH1E{&L_LHu(SDgFa_G-we(ggFKM-^Bwq&YyHN61JO|%smgXCl z4^V?~Jxm$Zaat0)Y3g9h7Q7BRz;mY5)z>yS^8L{qnQh{B@)od@LK84RF#Po3pzLIB z<@noES(3u<>Sy8;ZIxm_zZnm~I^l)vm?8vb28OvJ@uaSvx!p&Cb(}^V5hs-d45aPf zOz~NB72%@~GsL$RT8}dT3&cGm6UPs-^oK%XND-cTDZNtakzP2n$9BzdpGlK0Ts*g1 z?gR^d50gZB6RuBWWzC?(*+hy1tzO-Huz5C#3=%M^I%;4HK#?}D>RtJ z82G$3r*PaX>j4V+OQub>(94Y)yRWDyvteU53TXa17xo^l|ekE!xx4(4_IiT?rKC30rd3>H)2 zJ9qrf+Nr89MA9J*u;;6@SJR)CvIadahF7~!ghkk~iFA-SM#`Aq+Oimbcog6~xtr3Y zoFmNynbYSX6Camh^}-JqeYMo72_FVji9rw>B7@It1*?z4gh7?eO;8No(noM}0*dUt zt~{=RLnxN{k{GtZ-j3{^2FMG}gt{GzpJc~=3jr~Qiv(etv>c0N9S!X-i&b#OXx1RJ?0aCo;k$smv^i<3tJ=2r^W z&*VszdHfKJ=Mt>go7EnshnR4jw29P z?sb81Ic@N;Vhz1hS-722*@-lH8I(SKjp^zH%u<1EgnjY*1fJ{FE9cg3xP>-pFju=2 z{k6L&n83HB*7~U2J#j~SI>e?8cR_nwgmg-X;pY|p_EPkbSuu{ib#J7fE)ZvQp>&>H zHK2L5(p;u4t|>on|P4_L4}!6isJ zxvT%G#^gK0!U1|UL+}_@-!Fk?>HSWD>|XC+KNl8q<49ygA+4;aGjVZquebB9S<1O~ zI#6_^Yigjoi1mo1ICiaqa5F?X!F&WUChsPRX$Tb#vYT-<&&W`39^dfv4pzL0jNlg83tROZ>B z`{WX&TK?$xf&tq2utRMy$*wVwn)9MZzW__3!JRLq$EGkax3Ny z==+?wK_YSUiNu$1WTXc#Q5G+1;86^OgGl;RY4d6Z6K;TlOT3k23-$sS1U>-vHqrd_ z5d8bfPvW=Hw`T-pXB^Z)5n4yCRBt~B$-666Oh|DeP!fucD|PNrtzc1-iAhs3Qg`qn zuOEKDn@gSKE`$YEdadVh2KU=@UQ?6nZ~g5AvX0ixxE;-3Dr(2I~ajHiSkK+Wd_OuRp z`udTVG05u`7XR0|qca`r?;tj#9HGRof2C@twUq&IJTq`E#WYg7H< z(ep%gm$5L>l|TiDW%eFIDRP%>D+!fNi%*bVlv&a49K;k^>&Y?MYTkrE@qu!0O|h$cJoQ7e$*ibK;!oG4DotS)+% z;VgV&*pnqf=Ohp%LVO=TDHtK$t9wZUT0G6_pR~kD^vq(%4%OUrsDK*BF~v+9g2#Vo z-!yK8p`O}uxx!I&U7lW&C_Ddi#2pN%t*GqN937*4sBD)|o@o+)sMM}w6c2MP>1PlV zW+S%;~Ve z+Wgk1$AuTE^pG@uxy9YKwS&`=ho6J7HtNV$L~^@{!LVHIS;0$W2dK$ei07?5HTcYh zR}_prf|ZvCLneYxXZ%$+u27%z%9^CkhD+@(LD7QLc(5FSu`wvH8DC(UZ0JVjR1&2^ z;B|j2l9~vtF9_JewTgi>4z+g)a91FwF;guN??9g}Ybq>BEXW6=@Yiib@c_v<6v!eg zQ+yo@|6<+^O_+@n+I`DoUvV^GYwlok+v)Pt^}9KEQO~+_*|(@)^0msDVGGB5r(Om* z_@Jw8s5FN3LemFR@8m0I;vZ(^zpwB|8|vs1x2CZl5M*pzcJ<6S98#&Hte=Q+Y=^Sn zl82?zGSBw$du1G_i<*&XpaY6dT6<0W(xlq5tyDX{Z^K6S+IL~L7?B8FU8F!i6#Uq= z{FR#mKdnj>@%WAgt;*%7Jp}F!bgh!uKs8$_*am7$>~d?iBf|PTgoNShzIKKqM%Z#k zPWZ(q-2JYJu(y_1KrWLljAIvWfIICAc=7%69k+9^wKH~bGBW7ZFxedLk`yFX6!hf1vIUa6|q5_zG?Vd%_{Va9^sm1kU&}!Qy6{)hZ{_ZXj=$$(e=q)x%kh`x|1f6!y&$|F1Ude* zAV4ayf4UfCKgg>5S6Pn64ld?~#{Veu$qzEme_E!Ut(BFzjp;wiCi+1(FF=#|^G*2Q zMf^RD+CSBw;s<%YKPB(CETR7-mFfqn-9IJuyPNbs$)){4E*xM6`S;rYVVUz@^lv?p z56>R*BjEN>0y@!Gv-dAojS&CHennaf`Zdo<7hs(K@g`%F{3`p$EB&|aO9l(dI1do7Ns8{bJ?r0Vp63q& z7-xR%Cjaqb|1Eey=|=GDgmedZeRY2Le&qSX1B~!L2maojzFy~lyuc_vMU-Oz(AP17 z|2qlrndk4!`d?vk`tDY?`bI+LrvFQz3fyT~_(H3p0jNiSRxI)ZE}!kc;>4`=4FOpI zoCIu*-2aIQVde{4518*?J^jrz^&Ok%kIeON%z*yj9VE5Qe!~c#2)b#ICg8_qqb4cBTmyQ2B_-`^w0YiZ^ z3*AF`%>Fy{@AC`+bAfZ*+;eFx{yXG{W~;=n-Qc)s_*NYDQc z{JZGBz*OL%uJ_c>-v6EYbwvDAh*w}FaLCGgWW4`>NB+=h{%J%6j?Z?F#R>Tt?Dq*9 zC|VnE?SP|#-DBXweg^aX`R+UJeni&Uho!#`iUeF;;Mf@V;LG@5 z2mc{b1~3qKkNiDQH|1A=_t*CidyIjhz`L36p;YO=0{!9g{sR|y|LQ&WRmRV7|L{=% zy*+&!iT+yI1l|*OPwUVAMcN-6>42{(@TQ}C+Dz^*(|*{31WW|p7jjQ5DELL9(jRt- z0ONpN&F^s?CBKOKy2t9T?;WrQ?>%g`{1;(=@aF}t8nC0~J?+J-U!;Al+CQ`wV281L zqIm7U5x+P6Z&TB~`xtPgfZa~+5he{ki}-^R3b1%!KZbkpPE9{6{ztC{U;^->?LA@l z&Ce2mTi2gW_+J;&emlO}w=3KJV2l60tafjc2DbkbelPpYxV`Y_!T=-0pO)GFUL4~O z;;`HQbS{4u_orpDKVHSZT6p`8$n&@SCHcQE!~GHSb*TY(wdWqA-T5ok_=>q-`;n7` W0N6pkT6uUM1Y$mTz|{5ium1;{z>O6E literal 0 HcmV?d00001 diff --git a/server_extensions_extra/libs/xchange-core-2.2.0-SNAPSHOT.jar b/server_extensions_extra/libs/xchange-core-2.2.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..38886606492dcd0128274b60ab512c23a11eae1e GIT binary patch literal 94839 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

fZXX@5s@@jg-i`h%va z>(5~H7e^hZUjKSxdm|*7Lv7Xc8*$(21MCB$g?Gpk0ojlc?H~ap)zax?d zR;6@YOr4xS7UwuGSLgi4siKqaP!Zrfug=!|zvDY4`PJMc933pdR_?&Y(_j0#F4nRb z#`B9a(6I4=1_w-Kf0f(-^uoVmJ?Vze8p6*7!k-O~S^)%d60-w)fPQ~NzfoBBI{z(4vIepAi=g#Vj)p7*nv zged^O7tq`J#RJcV{{{bY?N}W53`GE1$pt>==VsY0m!V6Tnp=Y`eoQW0U4LuWMb{-U zI036d1q7!!r*ya0%V1A!=yD-#&{9`Sflj9fSkt+<>OOKSOJ| zf?U2&J}#H}QP&PD1t6~jFly4B1NI#JGq8@SogL^m^9vmjNrzrQ+-HEe=Lf5)(LbY} zu2Ec)(Eg%M;LX3>PX|N~1cr^1Sk$K_H{kHqpGg$K_F%U^XgleJbRGd3RlN zvGqH+(-$N^pJ>i9yk3;`Vot|1aPTHFH&60CwE4%`}J=q{*hhoBJ{;n zNN3QA(9pjzl7C45tNolsh`z{hF+;=|0|a<%zuXM}!SKDO{gp4`BKXCm0cYThD1QTf zE``8F@Qb1O&%mir{|5X-?Ux(m#VFio$Z;5df&9G<{a)i2<3gUH8xj34=>Looc~Lj_ zE(Fm#<9I;&7aZs8=65f8F2+|o>b~=a83#)3^wI zal7{!v@-i;(0{r4`y$Q74a;XVTO60soV}y|=l11`s24Zno}q%d{)qbX4aKkRxfg*i zZoxSN9v1o=;D2n$IfMSUOWcY3-H&qO*1#$UeddgF>Wp{h{c+Ksj`H-{@BR#i|GpUL z_W$La_j@>&b8xAD19#5B?yR1dyX&38=LRhP&)7em_x?$7nSa+A1tG9@@yoC2hbsTA hjdS9kP@H*tsVcw&Q(Y)1E8w3O@SL@DvK9jM{{Yiq6;c2I literal 0 HcmV?d00001 diff --git a/server_extensions_extra/res/batm-extensions.xml b/server_extensions_extra/res/batm-extensions.xml index 0037f31..363e6de 100644 --- a/server_extensions_extra/res/batm-extensions.xml +++ b/server_extensions_extra/res/batm-extensions.xml @@ -24,10 +24,19 @@ BTC + + BTC + BTC + + + + + BTC + diff --git a/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/BitcoinExtension.java b/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/BitcoinExtension.java index c575856..1542e43 100644 --- a/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/BitcoinExtension.java +++ b/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/BitcoinExtension.java @@ -18,6 +18,7 @@ package com.generalbytes.batm.server.extensions.extra.bitcoin; import com.generalbytes.batm.server.extensions.*; +import com.generalbytes.batm.server.extensions.extra.bitcoin.exchanges.bitfinex.BitfinexExchange; import com.generalbytes.batm.server.extensions.extra.bitcoin.paymentprocessors.bitcoinpay.BitcoinPayPP; import com.generalbytes.batm.server.extensions.extra.bitcoin.sources.BitcoinAverageRateSource; import com.generalbytes.batm.server.extensions.extra.bitcoin.sources.FixPriceRateSource; @@ -35,8 +36,19 @@ public class BitcoinExtension implements IExtension{ } @Override - public IExchange createExchange(String exchangeLogin) { - return null; //no BTC exchange available in open source version so far (Bitstamp is in built-in extension) + public IExchange createExchange(String paramString) //(Bitstamp is in built-in extension) + { + if ((paramString != null) && (!paramString.trim().isEmpty())) + { + StringTokenizer paramTokenizer = new StringTokenizer(paramString, ":"); + String prefix = paramTokenizer.nextToken(); + if ("bitfinex".equalsIgnoreCase(prefix)) { + String apiKey = paramTokenizer.nextToken(); + String apiSecret = paramTokenizer.nextToken(); + return new BitfinexExchange(apiKey, apiSecret); + } + } + return null; } @Override @@ -118,6 +130,15 @@ public class BitcoinExtension implements IExtension{ } } return new FixPriceRateSource(rate); + }else if ("bitfinex".equalsIgnoreCase(exchangeType)) { + BigDecimal rate = BigDecimal.ZERO; + if (st.hasMoreTokens()) { + try { + rate = new BigDecimal(st.nextToken()); + } catch (Throwable e) { + } + } + return new BitfinexExchange("**","**"); } } return null; diff --git a/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java b/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java new file mode 100644 index 0000000..30d950e --- /dev/null +++ b/server_extensions_extra/src/com/generalbytes/batm/server/extensions/extra/bitcoin/exchanges/bitfinex/BitfinexExchange.java @@ -0,0 +1,244 @@ +/************************************************************************************* + * Copyright (C) 2014 GENERAL BYTES s.r.o. All rights reserved. + * + * This software may be distributed and modified under the terms of the GNU + * General Public License version 2 (GPL2) as published by the Free Software + * Foundation and appearing in the file GPL2.TXT included in the packaging of + * this file. Please note that GPL2 Section 2[b] requires that all works based + * on this software must also be made publicly available under the terms of + * the GPL2 ("Copyleft"). + * + * Contact information + * ------------------- + * + * GENERAL BYTES s.r.o. + * Web : http://www.generalbytes.com + * + * Other information: + * + * This implementation was created in cooperation with Orillia BVBA + ************************************************************************************/ +package com.generalbytes.batm.server.extensions.extra.bitcoin.exchanges.bitfinex; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + +import com.generalbytes.batm.server.extensions.IRateSource; +import com.xeiam.xchange.dto.trade.LimitOrder; +import com.xeiam.xchange.dto.trade.OpenOrders; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.generalbytes.batm.server.extensions.ICurrencies; +import com.generalbytes.batm.server.extensions.IExchange; +import com.xeiam.xchange.Exchange; +import com.xeiam.xchange.ExchangeFactory; +import com.xeiam.xchange.ExchangeSpecification; +import com.xeiam.xchange.currency.CurrencyPair; +import com.xeiam.xchange.dto.Order.OrderType; +import com.xeiam.xchange.dto.marketdata.Ticker; +import com.xeiam.xchange.dto.trade.MarketOrder; +import com.xeiam.xchange.service.polling.PollingAccountService; +import com.xeiam.xchange.service.polling.PollingMarketDataService; +import com.xeiam.xchange.service.polling.PollingTradeService; + +public class BitfinexExchange implements IExchange, IRateSource { + + private static final Logger log = LoggerFactory.getLogger("batm.master.BitfinexEchange"); + private Exchange exchange = null; + private String apiKey; + private String apiSecret; + + private static HashMap rateAmounts = new HashMap(); + private static HashMap rateTimes = new HashMap(); + private static final long MAXIMUM_ALLOWED_TIME_OFFSET = 30 * 1000; + + public BitfinexExchange(String apiKey, String apiSecret) { + this.apiKey = apiKey; + this.apiSecret = apiSecret; + } + + private synchronized Exchange getExchange() { + if (this.exchange == null) { + ExchangeSpecification bfxSpec = new com.xeiam.xchange.bitfinex.v1.BitfinexExchange().getDefaultExchangeSpecification(); + bfxSpec.setApiKey(this.apiKey); + bfxSpec.setSecretKey(this.apiSecret); + this.exchange = ExchangeFactory.INSTANCE.createExchange(bfxSpec); + } + return this.exchange; + } + + public Set getCryptoCurrencies() { + Set cryptoCurrencies = new HashSet(); + cryptoCurrencies.add(ICurrencies.BTC); + return cryptoCurrencies; + } + + public Set getFiatCurrencies() { + Set fiatCurrencies = new HashSet(); + fiatCurrencies.add(ICurrencies.USD); + return fiatCurrencies; + } + + public String getPreferredFiatCurrency() { + return ICurrencies.USD; + } + + + @Override + public synchronized BigDecimal getExchangeRateLast(String cryptoCurrency, String fiatCurrency) { + String key = cryptoCurrency +"_" + fiatCurrency; + synchronized (rateAmounts) { + long now = System.currentTimeMillis(); + BigDecimal amount = rateAmounts.get(key); + if (amount == null) { + BigDecimal result = getExchangeRateLastSync(cryptoCurrency, fiatCurrency); + log.debug("Called bitfinex exchange for rate: " + key + " = " + result); + rateAmounts.put(key,result); + rateTimes.put(key,now+MAXIMUM_ALLOWED_TIME_OFFSET); + return result; + }else { + Long expirationTime = rateTimes.get(key); + if (expirationTime > now) { + return rateAmounts.get(key); + }else{ + //do the job; + BigDecimal result = getExchangeRateLastSync(cryptoCurrency, fiatCurrency); + log.debug("Called bitfinex exchange for rate: " + key + " = " + result); + rateAmounts.put(key,result); + rateTimes.put(key,now+MAXIMUM_ALLOWED_TIME_OFFSET); + return result; + } + } + } + } + + private BigDecimal getExchangeRateLastSync(String cryptoCurrency, String cashCurrency) { + PollingMarketDataService marketDataService = getExchange().getPollingMarketDataService(); + try { + Ticker ticker = marketDataService.getTicker(new CurrencyPair(cryptoCurrency,cashCurrency)); + return ticker.getLast(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public BigDecimal getCryptoBalance(String cryptoCurrency) { + // [TODO] Can be extended to support LTC and DRK (and other currencies supported by BFX) + if (!ICurrencies.BTC.equalsIgnoreCase(cryptoCurrency)) { + return BigDecimal.ZERO; + } + log.debug("Calling Bitfinex exchange (getBalance)"); + + try { + return getExchange().getPollingAccountService().getAccountInfo().getBalance(cryptoCurrency); + } catch (IOException e) { + e.printStackTrace(); + log.error("Bitfinex exchange (getBalance) failed with message: " + e.getMessage()); + } + return null; + } + + public BigDecimal getFiatBalance(String fiatCurrency) { + if (!ICurrencies.USD.equalsIgnoreCase(fiatCurrency)) { + return BigDecimal.ZERO; + } + log.debug("Calling Bitfinex exchange (getBalance)"); + + try { + return getExchange().getPollingAccountService().getAccountInfo().getBalance(fiatCurrency); + } catch (IOException e) { + e.printStackTrace(); + log.error("Bitfinex exchange (getBalance) failed with message: " + e.getMessage()); + } + return null; + } + + public final String sendCoins(String destinationAddress, BigDecimal amount, String cryptoCurrency, String description) { + if (!ICurrencies.BTC.equalsIgnoreCase(cryptoCurrency)) { + log.error("Bitfinex supports only " + ICurrencies.BTC); + return null; + } + + log.info("Calling bitfinex exchange (withdrawal destination: " + destinationAddress + " amount: " + amount + " " + cryptoCurrency + ")"); + + PollingAccountService accountService = getExchange().getPollingAccountService(); + try { + accountService.withdrawFunds(destinationAddress, amount, destinationAddress); + } catch (IOException e) { + e.printStackTrace(); + log.error("Bitfinex exchange (withdrawFunds) failed with message: " + e.getMessage()); + } + return null; + } + + public String purchaseCoins(BigDecimal amount, String cryptoCurrency, String fiatCurrencyToUse, String description) { + if (!ICurrencies.BTC.equalsIgnoreCase(cryptoCurrency)) { + log.error("Bitfinex implementation supports only " + ICurrencies.BTC); + return null; + } + if (!ICurrencies.USD.equalsIgnoreCase(fiatCurrencyToUse)) { + log.error("Bitfinex supports only " + ICurrencies.USD ); + return null; + } + + log.info("Calling Bitfinex exchange (purchase " + amount + " " + cryptoCurrency + ")"); + PollingAccountService accountService = getExchange().getPollingAccountService(); + PollingTradeService tradeService = getExchange().getPollingTradeService(); + + try { + log.debug("AccountInfo as String: " + accountService.getAccountInfo().toString()); + + CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrencyToUse); + + MarketOrder order = new MarketOrder(OrderType.BID, amount, currencyPair); + log.debug("marketOrder = " + order); + + String orderId = tradeService.placeMarketOrder(order); + log.debug("orderId = " + orderId + " " + order); + + try { + Thread.sleep(2000); //give exchange 2 seconds to reflect open order in order book + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // get open orders + log.debug("Open orders:"); + boolean orderProcessed = false; + int numberOfChecks = 0; + while (!orderProcessed && numberOfChecks < 10) { + boolean orderFound = false; + OpenOrders openOrders = tradeService.getOpenOrders(); + for (LimitOrder openOrder : openOrders.getOpenOrders()) { + log.debug("openOrder = " + openOrder); + if (orderId.equalsIgnoreCase(openOrder.getId())) { + orderFound = true; + } + } + if (orderFound) { + log.debug("Waiting for order to be processed."); + try { + Thread.sleep(3000); //don't get your ip address banned + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else{ + orderProcessed = true; + } + numberOfChecks++; + } + if (orderProcessed) { + return orderId; + } + } catch (IOException e) { + e.printStackTrace(); + log.error("Bitfinex exchange (purchaseCoins) failed with message: " + e.getMessage()); + } + return null; + } +}