alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

JFIF``C		

 $.' ",#(7),01444'9=82<.342C			

2!!222222222222222222222222222222222222222222222222223"	
ĵ}!1AQa"q2#BR$3br	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz	
ĵw!1AQaq"2B	#3Rbr
$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??O
KjiqSnCNs[?n_Ukϛ*ڡbTA98\688VW~&lS*t^ݻ__7G.)!ymi$ڕA1qF/PC:fΛk.ygiQ5̉n83]|&Wr3
_zO.!/.!r~!Ӵ
"L{VX`ی;r4AgVL 9ez?.p{ij_7*pK@pK@ꖗ?V]"H.nLwtwUJ}w%jsr(6M/^e=://?ng$I7Km-A7tI#5n
uME6eƛn[<gzZ
]/~Aes?n[ B֝\4۪ZH"DBJ/J_Du;Qw36`1@F3)Xƞn݄{v/ޗݗ'+֟oG&]NWvRpYpP_x_DU:k-Ʌ+*p=H z)GK˵-v__7Kr__7\^Pͥ.X< Za
'L4c9288</ⱞr#/O/ܿ	?ntVck{Z-$g@8'9"^&ZX.sH{uPI4]'8?ۗ'j_n+_. Ә
DV%I6AS32MM͵'p58vq[I7I-v-_[2(ux{KFswo;ZF-=h3JCK{lE",zX&Z3E_/6vo/2-_[(uY_Y>^y,eA,1}*xmv$K2>0Jln9Z,Z4'fk{__u_%Qk@|-
U4߰tyʢE+{vv㎹<KC˦sa̤R㎿Z]9(ݿ7aZNM?k@Z_nFuO6y.ݷ=*V𦶈,ƱTeesAxdJ?/;֗g?qu]8俴1#@	Rp}fU*MsF7^ɖ;i;|V_n?qz^k);[RoLwgxCO{>g1yn]KO>_B3zv;Z,t%Y듳𦵨Xykf$P3 .R8 zq6}_qQI#?i@N_nP*_'C߂#?iK@J_n|~/C߂#h@F_n|~/C߂#hK@З/>R'?1/=|
?i#07Y4tΗ/?#07Y4t͗/F?ao͗//_7\#07fK@˗/~/C߂#/_7K*_n*Z_?_#Gy*_nYR<uҊ?0G~L?/,-8?_#Gw"_nD?pd,y?c@WR'?1/;XϝQ_?-8?_#Gs_??b>\=-/~/C߂#/E/,I+d,9)a>'\E-8?_#Gm
_??aK>'\PQOhb?_veWR'?1/;OX2ωR|O_"KGV?ao|O_"++	07?|_"O#6R'?1/;?z;Cg*o d\?\ם?/u^w5
5kur3so#[_3(OA,?5/ۼC@apfPI5+uFA58 #ֲԗU>/HRwu=R}0,' x䎵s!0¹H	umG¢wkm<!C9F dZ?m#Csƪa2($eFAF5N2T˧gQz[cM77zZ!s$!/dfr@{}xw{U˯\xUJN["R$k/ſtOk:΢o6ˇ4jr][H+/y
ơK=,tynafݞ4I
HE䃝5?4fեa{ijܳ
XmS\"
AW

*,͞}UGIscsBz13P(
PьsJ}6-PR?JA;??oO"ps˰5o~=unhl/o;\6kG{u C"N\K8hޛèح鉕)65)>d(DwG'unm{O7:z4X.G[m,t#xOV!h.o8ݝXO"Dt'X\|zӓߝ	j%m`ls#=FoSiג[_<uP$,sn$cO?NyDt'G"gGUrgήZiE|KzmW+5P2ȒL]=8W%V]9ȣd9=ODt'G"?E7[-qsVݾzSŦ.-ִ-M;7ASy#)5[vHPݛo6.TI3t*)Q#QG4'N8<Mh:X{}ox~Yo+KM۸C_gsVӵ;#dΨ;iyn߽c+Q#QG4'Y{L%Vwg塧.);?mj>/ҮfnV;ا{IZS9HɚƚLR1HڙԠ-yrdܪAßJ[GoiO"弼ОL]oZx-KA;
Ns劑y=+McJ|=^%}
	6ٓϾ@?E/"O|.{j?֟:t/t6I|ٷv@Q>Cɬx+ZkOʤD,^TjrHvݑ9_|
?i?O"A'IP9zw߫N)ᱳZCjpCm<"X'6wg
xȻWoYi?O"A'ITzyn~.Ӿj%i7BSYpGN:έj/=%-!`L,7oFG4'KsIF\ѩIYٓSxy-wi`>T02Hc1OZ|gCiC~˧3#<Q28CuǧsI6EC9j84ҿExOuԵҿE/ҿExOuzWzW>_YEl`A/IQ'G~ fE-kaGA/?KEXOuE/_+2-kbEA/?KEXOu4E/,_ia?VeR֧,?kLRSʥEkLQtSEkLQtS̥?5(ȃZg"}N6VL?dA3?G}N4R֗T?eAA3"/fu-heA3".
ip΃u3ooA7&/f}-hf[gM6:oM8_A:ZٶhηΛ}KG>_YBg[gM::oM8_CeKW3oggMG_SKWmA7&[gNtSJ*m3oo4h+7<	!{o
*	K~*/[ywu\;Zxu̎+qq7/m_?b+Ӛ_F,tΛ_C6ٽs9EKOkED\Y6iżAvz}?:_\m7Yc3n8qdև
onmfikh4h5H'
plu`yi<Ig$JQޥe
+iNb5	?q
*]VmF:؉{o<׬??RD%$"ۛ<`l뚋i.m&n#m2҅^d李pnU9ұ4#.E,r6tZm%{%I$av9--gxJ_m?PkHј)|K:b--|FRԵ+l9K6oj~d_g}5;if`t#vxA'ڽ٤,TI[\kvT~$kxIwW3[i
z?asݜ{cް1n%ϕojnj9<s|em$QDֲ4-bQ	e\(#	hփZYK)̈́E"oP1w%\on->yo<{@ټn@S(((((((((((((((((((((((YD
?BKVaY&‚p>p5X-hnTK%}/KwͭwoPW'dz
{ 1W'CQVvif 6fvbNAq!o*PNNh>5^r[H*Fr385|mЎ-9X8kPpǞ"gQ]4xFO35=Peg+*A`:a:^KbYM$l
vvy!Q\;R@#UJ+dlC=gjV$7[#Y2U{W7ʝ#:yR#،ezIJHIt0,CwFoőZi6AaXީl"dVn@G׼giVs"m,CkKtz-,.\C1U)38+{ie'4,e	x"[
H;,zWUek~'𽆣.#G4#g
QB#c<ފ;CUBLMQoݥ-	X!P.qЖI|?C/`YD%pUQ^{.(
2|DmR80
*gcƛ1CN]xih8.TFIHrA 5o5լ/Y,2ڬg
T;<0cyh6;[JdTm63vt#sWix+U}?L}V顼hUeXU.J8=Fx9eЗ:b\_-X*G`EWl8l`øQ^{.(
2|DmR80
*gc/A-_S(muGRSf6ʜ ږB(4<X@VO\01OQxSӭ5/Ej[ǰB_"yPrX33+DQitoI9C]T\#r0H+ceȒEZFGmq8hNԴ7SܺA.ưf:rz|LF{7OʝIUBT\
y-(֗|:NXIkzyAvǂNGikr[ʬ\D$L+Fr384ZMSIuoPxjM>NBm!XYY61P27)9]-G&MQD"(dQTry>FvE,rE4k" :9}7OSuR[sv"ܱ 9 gZVr MoNּ&3@`|#7rWaIc]+JCo)]BQCdlUWq@1펝Eg
	,U2r2J+٤Ɲ6WVk.a8R9eA%C(-2@znw)=5(v+˝nQ/F:<:^7&ijIV aH,pzc&y`GUac8Tf
AccqU XH*W%Og# pk%m#L[vr(p֡0	=0TWGYʝOU\NۖLa"@cY^90[uk<:VvK£0U,3h<&]$QKDȬH*:k!gŶ-x^a H(pH6
WxWIn?_y}jFU=+KN.@ŨiY[;A+MxgOYAY"ۨxJrK#n|H+ceȒEZFGmq8hNԴ7SܺA.ưf:rz|LF{7OʝIUBT\
y-w	t*-CO]D팝2%jׂWgnVU\sgJ+-"8,T{Xe-6ck|ksɢ~#ޭ6Ѭq@m#ASb@q4Wk&f;MCJѬ+$I}#'W=;MIKvS<\Lu=pQ]{M{zv|g2*6Q;pq:ֺ}.;=jCצ4nOM-Q`ѝA#qPqh2A
Մ+(էlVm`DEq<RxM]B[_0(r1`]Ag4eF
o * b+-\,>5O+eךM^%p(	H0`dy./#O.WУZ")	U@0<) 㯞g_Amn25I!In99*+ӵ-M7.%Pi˴y6 8`c+HƱdž_ZHVhyr`5MXaր8j+ɂkX%_)bXeX`wxaY5mvȨKFlg8GZ稯BTÿO$#~ݡ'X3 Ohceuki*K]Ʋ鰈V#*QT1
H^7Ϥk7NjOdAl]%O=zÙE=\S: ’zvy?*Ӯ}Bj:nWʶ
B"/Uc+rs6KM!35+-TP*޽((A
hKsY@+5ټ7>:?J7_4hn!hܒ(e?
}U&?ϷhF
n7wI_)i1:d!ܬ
q?O>!o*FV+AA*,:RGyR#،v'cם
R5ڷo$m+pHr~1)neU AЊmCƚ_6<}.6˜}:\0E\Ḑoӭ$$ә7Pl>`HU7:Z䗘ۈH7rG*MCQ/>p	ve>zv"Cƚ_6<}.6˜}:\0EPKYՒ;Pla((zv"Cƚ_6<}.6˜}:\0Ebiޕ
-9?85.⿲"]mV+x8v#
'qO45	po\qתb(<ij?ecٮ?n,ߘUP;?6ٿe<߲~}q?zk
,0}4xQͷhO t<45	po\qתb(zv"(j^#Եhd0SQ432(,~v{j.Cm
Mlj45	po\qתb(p	ve>zv"Cƚ_6<}.6˜}:\0EfZj]vxX+NPGz
3궺կ䕆5T2gyn[qO*mCƚ_6<}.6˜}:\0E5
Glx5\'m8ua؊ս~+hYn=8qU9P!d`:RA*A{]MCQ/>p	ve>zv"Cƚ_6<}.6˜}:\0EfZj]vxX+NPGz
5}Sd7ݱV5Tc@$d-Cƚ_6<}.6˜}:\0E5
Glx5\'m8ua؊4ozv"![]LJ3-'[O&ZmczE
#.ݙ2A^
<xP~ǝ\%ݾYs1^P񦡨͝fKM|~cW;@%\I%V42۝„jkjZZX1J###bMCQ/>p	ve>zv"Cƚ_6<}.6˜}:\0ECm?Yc?u(V#9TYNTNgkh$eB#dvZ5
Glx5\'m8ua؊5j|kO۷.q8pñNֽ<>6m:pHHf=KVHܬ	1ZEI 3"n5
Glx5\'m8ua؊5j|kO۷.q8pñC+A4rBtT#ܞ!^7h5Hj-` .	#$z
xP~ǝ\%ݾYs1^P񦡨͝fKM|~cW;@ lbGptw
0*rspGRC$WonVY"AcSCƚ_6<}.6˜}:\0E5
Glx5\'m8ua؊4ozv"+'bHW[U4 ݈„rqǠpZ
mмE@,v>`@]Cƚ_6<}.6˜}:\0E5
Glx5\'m8ua؊_R:%$G.:zv"Cƚ_6<}.6˜}:\0E1o񱺷;.(30'pzT&<2DJ*1}5
Glx5\'m8ua؊5j|kO۷.q8pñZ:ͣ3"ƨŜP$(ω^?eEbI+]8@=.j45	po\qתb(_>Z?ϧ,qCO۝/!o+CO۝/!o*S"sTuE}Kk>+V[2
xğ.7i7Z]DǙv(Q^ gi3hַ!4]zUR̞\[j[ˆ`xMg%'c[}_p=ՇU|zeK;S,"T9Vcr22FyҺwŶm).[KHd*8Pp(##k8ᨮwK]Qǭ-YmCp(rW9hn=@}ZJ˧;u;˒-ߔ2>nOi-	n
A$Uw'$t$hjv\%SL)`z\h>?[ڴG+BYv?!KPtdtmf6c.-YZ'.tsGii%ڬ/4z#~YGAG@b|0q4p,f':]m.5K6q6nU 'v9*hM36ZNn-Oo$Aelrx;zG}-uG9e$mr0p0wwU[(4ˋP@Sǜd0 YW:6, ,b*d	XƟjrY!V{+R+*fڠd9kkH)]%?}ߗq=1}kH渷[THm1;~YӮbtm3"FܝK	W95+{m6+H%,NA@☾-+qi{oo3N̼dk|=85;ȴ9OF;F1ϥ3[Q\}^GQ2\`Hu8#01q]_	ui,d4]0n8&xRS՚x5R)&TAй€8U[ʗ0\@9UB;A9U;v8KpۺCF^M%M4$1wwbYIM2>革k0x_0`qӌ~KO,C-+›	ڣX9<
kk3D
ZX[)"J@&=Y,2WYtIB\^#"mó*IֳaKy9c`29ЊkI.d//!?{>b$A6{oMgqQm&
Ng_.|;iWo	%N0H?ċDe\ 2w+FPz&KiIdbij19$Ԛ!EhyR%f@OSN'ڮk=މ~m.TIF%=U8Qd8TY28%P	k6nNҖEUoGʽ@rp9+K[,oR-+VӀ3C~]j5-2"ҵo8ao4;['ܞ9+K[,oR-+VӀ3C~]j~oiZ'GSTUd2C?)G<sqisi}X|ıWz3^
t>%\#O8	H쀝s+((((((((((((((((+~~_J։mDO}?Nf[zz~yğ
E1^zz~yğ
E1P2ЌTrE˨ȬѩXПQxޡxz5Ԯ~ǧ*KfF !`ۈ=Fc1潇ݽX\^5KE0qw=k<NvkvTf̀Pj&SVM}q&+9M%p=I/w,['a`T$Hv2`+Suk>Haã;JĖ:"𽶅liws䖳ڮ'k1*?'i^y+g쨶,PI%c
BT푮&m2F('Ze[%5RQ8`9c]->J	+
tO̞I95O6vzj[ܬBi,Y\@=	㝜VOյ;+,fB#Q`z1Eikz+Իn~:F"W0(4kz+Իn~:F"W0(4Nխ)egrC(a㱯HG8oͶN`?Nss-uxŶ添ԙ|j3Wi=	-uOesy~5møf4f
є87;[m[`Vhw@E`jV+Ϋ|/g{%ƈL~O.=
@lmaTQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE%}oOӶ>_>Z?ϧ,qCO۝/!o+CO۝/!o*Y=uwpM$*4lxPNN08{k|QE[]V[
BhTqѰ!
:3ē^V‚TY't,G5^"<;k}:ܪfe
Av䓞I>
Ŷ5	/n.5M>iN f1yln3H8\oQGknVӖy<.٫#c1Ͱ$zTKpc[`F
#wsæxMQ<2bDmm	s qT#V[Mo]KfB7v\Ɍ!id0T exGXNYMG}%եQ8VBK._f>PMhiׄfK;V]ڨl,7VB]pCps]o#$-]*?~yjrO6Dž;5r=$|pF7^uEz(Ẅ́ncߓBɝ`~2A8񗊎5ΝNKKq"\	b1|@䨠,uαmxv:!vU9lx4c[o
qʱY#i	#1\i7ic}?.ϿݖcziZ07ٚnOVmН/qxw\^~o! nq]=t7"}:ΈX["[vmފ<W[	&S8h"+ktFTߝw3袀
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(;߂VOo$vG+Z'W?;cn4!{q5z{q5@^Pҭm )"k-cmlp9s[N<U&euymt|V1̨AVVCn3s=uwpM$*4lxPNN08{kʡ-.fMRX]q"Vۃj&yZi֦-963$09xVnl|$|%}oOӶ>YB_'CQW_'CQTD_]Siq
(AEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP{_J։mDO}?N~H/%kD"Jߧ>l|-Ƅ==?On<OuP==?On<OuO]Sim-tkx y[tS ulD<@5|?ޟi\Gkud[!أpAFx \D%;oZH-uyWPYK2yrInѩl:#.b|15\m׉l-"e}VcT#i喝,LR0Y积Js]l{m.! y`C䌝B;G}-uG9e$mr0p0wwP~24ki:Ǜa1=ܓ#
W<	z,; e+&̇PKh&
el%<MuieqvEy,R[ܪ0&L<)
h}2O
푝Ӱ$zTKpc[`F
#wsqW[xMQ<2bDmm	s qY ttU[bȝS8pAbQWM>=W\ӥ[*F1#<]R;}bK
o}-$2@(c\RspWgaH;c֖,dݸF9f_oFcmXn|7g>-|{ֺםqD`x7'i	Ƅ̷J P:dOS4QVth5;KY)HwؔHg=GJot+Xmd{tH,M#`,(@Myw:^ŦƉ0#{}_ii%ڬ/4z#~YGAG@b(އ'k
l[ݪm;F(e yos[iWw	oooHFDžzN&\G[!&93	9&?ēkFqZK[{8DpƬP	#'+}S_P%1mxsܝwö*&oymep\y:UX;U;:oxlٝΞ4epBzP'Oᾴd[[|ln8֬oc^K+Q<:(2sx'9ɮ]o[R[6D\F!ǝ)$e$
1U[(4ˋP@Sǜd0 YW:6, ,b*d	XƟjrY!V{+R+*fڠd9kkH)]%?}ߗq=1}kH渷[THm1;~YӮbtm3"FܝK	W95+{m6+H%,NA@☾-+qi{oo3N̼dk|=85;ȴ9OF;F1ϥ3[Q\}^GQ2\`Hu8#01q]_	ui,d4]0n8&xRS՚x5R)&TAй€8U[ʗ0\@9^2>ku4nf\@̌l P	+N8| 7{byOշwp;\[ymqp7H>a#kIQ5%KXBYv@
ꣂ~lgZCmʉЕS6
~8j)GVgZKmFa@€$tp۝~8| 7{by<N''
CXz`ko-ϱDzư,'vUPyz
?NQ}AљhcTfbv
Kwd|@k:5ZSGI䱈E$hީ+.T80zݥWZjG t$Soj{cuįaDBI$.rsg 5RkFfpO=hRUD_T‚N0ѭRUD_T‚N0\6~,\XNO3C1\~b;SIi{<dwk!Hʶhz7~/ׯmj}AΣl"PN0>fG T-fVKxCH@zd@((((((((((((((((((((((((((((((((~Z?ϧ/hDI_[?흖eЇ?ǗI_?ǗI_+|sE‚7"V0dpJ>_'`OyD_j([ZeLx*W9#Ot)cQ5YYR
#?Ng–ܶmqq]CݕDI0W2|PA\D{?YYRIu
FI3dͱ؄|Vbqی<M/\𥝜^ӳ5P),Fr@CA p3wm>Smv_gb֤6>q;;@&&z<:rYh†!RD`+#y_^f|].tɚ[IVvM̾c-׮Qg4(EI1e,pq (A%mAa
bp!#\ҴC$RmᬭI#0-aA'8v8jtT5O[K.dzjkCHڽ	v6&/Kdp	KV:^Zh)a
rob=xDŽFF&wH#'#(|9g-7K|+pTySsT~QǥrZݖcziZ07ٚnOWC薝xnɯl/4w_<aP͙9ld3X%u,|eMlbe,Uzw[,oR-+VӀ3C~]j5-2"ҵo8ao4;['ܞ9m/CVUd<\S0rA+l\{L?נi묘mU)gLWN8z+%vmiݬ W*\0d:s\QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEwhDI_[?흗䝂VOo$v2hC$j/[$j/[qu/g\+|8`FGQ^/נrj	DPLfЂA_A^D抸
dݥ%~ʶ$II-@P)M^y2XgoDdDyEcT#Vz0A;۴6yHF
ptH'~_S) >$6BЬ<5Eij7>obkf,j2I8T!9P!d`:RA*A{L75͕ɺ'-(5P@@UAقFϺsҨjZʆ+e+1DG''($8ҨQ@xZ Նq%
R)o9H <|mӥKv± 9y5E_ԵY-㻕VVb"0NNPIqǥP(((((((((((((((((((((((((((((((((((~Z?ϧ/hDI_[?흖eЇ?ǗI_?ǗI_)y9:\IJxyZbBr@'=湼?{oIL86wӮsڮ"fUQT ((tKk}Id1yE)BN8d*+KV.tOGz%j	2aI@EfOIH#U=N8jhz%IQ$Rۣ3]?@(>革k0x_0`qӌEPE>d8aFK3Ic{=l	) e8##Ƞh\'F?#Ìr;fEPEPEPE3>=żbnRG qUV\fKe$’9ۜ͢
,Gʑ+0Gzp=>sXKivHG4g7)"(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE%}m?v+7t/
\CMhx88eR28FGGM$ƛT yğ
E1]-kq}n4ekpzApk!o*FlxUd5	Xe;[(z^=|Go4Y_[[.>h2-A)$E{ּSiN}B;[XUy.@RjVWƖ+եؼԸ;$%ybI1lmg9]thoiy6s`ɀ~\9w`B3ْVY\
|c
^ǧxKpK7/	;W<f5&yƅkKwoq#?c{a/E}C??ȣG:/YxJ<#q{>q_jŖB1v''~=K)>.%\:C)&RNӝ{}=??ȣG:,i,>^.Z_,m$K0p%pp3exYTƉj:O#y$*Πw`p澼Q??ȣ44NFdT#8vFH7۞+k{%etpW*u,)9G"t>=u{]sk7Tώ;2+J{sjMbMtRȱ\ʻ^᝷;WNN~s|<gsKO,C-+›	ڣX9<
Zi[hmgKe yfCF{_\(Q΂wlWg[ڎf!o'qm;$X|ÓZZo]{S'ڗ+\z{G"t>Lo۬~$4:q您].9 5Ozj#JRMcV)!BF0__(Q΂]<kj}~+˙r40,Þ=:Ly-&dgUcp3x<gy(Ac+ӿ+Ѯ.Vd|ߙ%M2\x5-n-^--ݥ$)ecw`g^s|<gs_/cӼWyH`Y%+`3]keBԥ̑wQ??ȣ_XP/Gb!a;
?AVF.!)et@'i=澞Q??ȣ4ij]pv-r/6E%|s`8ⲼUxcDmcCP'eeugPHm;r8s_^y(Q΂Úufi
Km2L*YXv-g3Iquk,EfuC)_ g?9Es|9X^: jrIr/22r.pɣĚťͦӴbv;nw+P:gy(Ac]nLH[Nfv'}ԋJտ1ilkrxھQ??ȣ𽮩{MZ#,.&Xb޴߇tKVOx ۹a`o9Es|9XNG"t>Q??ȣ读<gy(Ac:+9Es|9XNYzl'18a98Xӧ>l|O}?N_0X.ӧ>l|O}?NN`]O}?NN~c+N~?;c9tWޝ?;c:vs诽:vt?흔_zt?흔ϧ)>ϧ)OӶ>S,|E}OӶ>S>l|0X.ӧ>l|O}?NN`]O}?NN~c+N~?;c9tWޝ?;c:vs诽:vt?흔_zt?흔ϧ)>ϧ)OӶ>S,|E}OӶ>S>l|0X.񓎀?aj>)kKүXgj̀#:m	xǮ1ԀW0X_[R(c;+Z:ZY^@˸Sz~A"Y]K|l`7^*%+#3Pm>Kȥ6<x?bH
3ܞOu_٢wM,Wfm[	
f*}FT9(_UBC/xEO@ERQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEVn#V?長E7z
z
(/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE/;}/;}Q@//AB//AE~QA^a2X+-F.m]b#GqCE?hoկE3LNM,W~q_5U
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.