From 7f28464d9148f02de15ababad0819fe5dbf4621a Mon Sep 17 00:00:00 2001 From: Martin Hofmann Date: Wed, 24 Feb 2016 10:48:22 +0100 Subject: [PATCH 1/3] updated version to 1.0.3 --- specification/MDF.pdf | Bin 212053 -> 212547 bytes specification/MDF.tex | 10 +++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/specification/MDF.pdf b/specification/MDF.pdf index a43e34efe27f0a01362b826f765af36e498fc955..29916c98e23f60665e032ed5118ef43bfb78c3ea 100644 GIT binary patch delta 34039 zcmV(#K;*yG_zc7R43H!PI5;$ufgvc7PX>PszUNoyD9_Z2_|U68b(?IHwmaQvHoY`G z&=PHPVoRjel%wi0c#?MyEg2@=HX0|+_}c0n9`|1AE(_v-H1^J|d=B8#L* zba1x~q*75K^FXI*loUX!g5ScM7uR2})+(0ajoH<(@~}r=y(?N6=_Bq zX5p{Swzgc!Jbb?(AdRCup6RI`lOlhYqh#MC1?f$S? ztzpo#yCpGcl+MK@|4PgcEan%pKic+5u1f!t9j}`0(bV;VgiL^^^#1@FP)ElRC;=eO z0L1C+^hW`e)3!IZ>|Iln72Breh`Z*v5}~bJX%0l<^kRG8*6za!sJ87~kAr^)_QRPa z4ZpKBF7>vh`73k8`DSQ$>z9yO7;jrwO}iZdXCY5(I&Q&q9VL0NE}}FpzK}HY7`?8$ z-t|Lo7p(O9f~kvEUMT#}W;a{T%T*3uD{*BHht|!Z**zfbNd~Sn6{W@8MD?^Veqti& zlZ7u25Z-oX;f*!j(Ap!$CJ%pmBAU7)#%ok|fSCx*k;6A401g8(oi~zd@Rqgh*=2Wc z>3h|hq3+ld@N@6o=HLL@nN7aP7kwclARSTxeIcG!S=be~Ufx6J-mj7*GzZ68tRXmZ z3{E{#*o(DZD{ltJep zVfr}RvC6;L&YG4XMOK>e(lC9~jys{u|FzOZ95#gCodp-S=3T4=3y~TE#-~cDM8d@z z(>?d;z8rOEQNTwM?3I5i(mEl7uf58fb};P&u}M819t-ca&)T2o*LhGxMG93L!43^i z3b0UVl&9Q;{JP4O4{yV_2_(arLnToXr{g^!BDeq^k)zTe2ewp?IF%XdAA=p7SKn^X zJ!Svc0m!{IXKhd+0w zacuyQVp6<=%RCb?q~>@ysOfK7p`u(upai%tVZ2wUUmljjMM=$4vajmC?d$i3U;eiNL?c#sXek_r?H#O@AYvd#tu#;e$ zDgPK;>s^bdxqi<(97IW73WLoPe^)|72Z=c8fX|6Tbr1T2Yqc)ewZO9-q0r6sBM$=s z(Qx4L_EDEnQlue)7GPoj7;If~LIFzQY6kRUwbMEaTkn#4T0MSxz56@>7w~4hQ$*-C zP%+(j{>6W?Zv>DA&x!`i=1|V}VQR#TCN0l^_NmUvyuo&(vlXWtbN3_59v&^ejzh%! z9e3%1{PCpH@|-?ed0@SofCU6s)20u|z?IVzk{LsS91+*lJP>eo=~QxYi;5U7Jtd<; zPkr=S2$^6pP=YcGz7_k$pK@8s!47!FW*Kv{pYnh3G_=(4HXT!_6oF~jDU$2*CA*P4 zdX}nRzL4e@Wi+2)hGVQUB0S>FOL5Am@Zg&LxSpJkS2`>0ACyxv$>Q?ujk8;yhht?x z%2XL-A?8IMR~a`N{C0=N+J887t`Og_(<@(HzVg-d%2!x}bU1<|R-aTIAo!{S-;MFW z#G!wOM=UuzfiM9xXJC5j6p}^N&T*1OGT~De=^UT9i1@_s44+6yW(_?oBbn`UTBKI}XC z9PrNZAb^SEGYvljuq!zjz(h1dF1&~%jqNIw)Hu&C{@9qdyu5q%H#&+jiV9_JWOHeYNmoOps9a#0tno7L6T^`_Kn zzf!B;UMU&>a{uc3CSMhPk%sB&ezz(jKV2m%_v0vA-EUWadN)^j_SVJtK~PWxemqz3%vNW9lu;$&+nlJQ%?o&898eCw|b6rnCOlIu29suC(i` zf875L{H=q)FOr1$IF=h;(De@w_!=-}J4StYcat!*xe9adiD7%t2qfOFuPbYsxtkY*N!czZG49tsp>7W#!s=W_k{WDiY!wT{x9 zBzDPd5&@V_xCN34{XWp|(+hYDGrx!;N8_Qa@SeV2C5ZhH1f;u}Ux&;?RNfMQ&o1l3{=`p#`qfRCynN z8dh4oS23&C7>mz@ie#8IgbroLfZJ$8$JVkP>e!ZHBkzL#EpofnEHMqxD2B+n_9z}1 z=0L-KE?+U35dDwBc^K9~p|kj_ZeDp<9sGMd3p*a?bna*pxPnXSQ*cx+s50 zFxa6Vd)=Wj#VL7i+`IzE!4NuTWQ{XCK%6T*TUJ!~8E`QRhpcX4CYBIp=)FOI6Ewqf z2byJ*^(@sacUO}0mE`YKUw}vPPwc+U}-9j$HbQ|KLNL_k~z1Z z4TfIGoFY$PeNw0Wvj@E+GtA=76CqW-_2fWxF;1Vl&JFkCG_aML({e zkMvfPD=s2Q9}0|^puw1blyuh_-8JCp_F$xVTSQzhG5d&ZF-I5{myWD|i^|g-T20wb z5xdId!g-#`y{RSDO3_83Hs|bf5hKZC3dv_DQv=&P@x#~yLmkM4p^#U8QHetL{K#0v z!yBGt-rTOQXWXTuYsY(nvLN8$4G#H~ZNwr0*egJr$k~G+T5>;tNZm_kPO(@w0wN)x z$$|vb0`Vo$;Vn(v_@GsP)8#(HaE1tZ>GZCLLo}SU^AxV_z z*Nk@YE}B(sixs|9GcSwBp~U0A*2exk1b;jbYn`d^dSkfWZ+$6$Vz!2Y9$q;GJplF+ zIQcRFm2uJmQ=e~n>}g*DS>q9EY9XK>EB%1(6$^35{O^~qWr)jhgpn3<y+Yk*=$)D z4uLsfU&c5X3YV^bs!Qpk!voQWews)h=?$|SFR&a2eiWo5$5F6AQ2As3;O%MQNI~Lf zS-gt;G)R7SrfhbmGj?J>PK(ugM(BSPVzwZ}?59G6tf)w*LPTYXuqEP@19EsSf++=9 zFGkH(miig&7Aqhf#Iq_7TneS#2uQlE1rOHhT!Y>+%E**|gp-Waw?*^Dhr5s9zHa5^ zescs<8+VbYlwsLWX-8%`1+oxN;CMlX$Lk=}Nm_@_5V1Wmgb*1*;Bsn&?mpf!(CTAp z-MR@olvNf|(c)ZbPS1IB4xJP;iil;MNt-}iMrYrQ=bGCWBchhFX_};@qU|Iiugvu|i3<&(&z;FGK!FmQ`yW zTa(2%~yW?Ba9Sg{Z^_1Tr}q1N0mZm^ZkKuYxV%TmJ}B6*z689Z3~(EW0K z4U`W3#)nko`cCxVBV=f%I_g_W-1gTfx{Iq?FA-(0pwQSU=x*ha{H+STAFZ+Iju=@p z(z=(VLyfpuhZ^Txc7rAy6k@^|R)e_wz$Mdvg(qwl#JX+p#UC}MeOlzZYn#)O;G)1! z)BI9!Ah&-av&fa-wELyt6Z@%3&&sMGg2Tm!@ag^AcX#hE&jIOBlILy}d37O4z~C7q$?A-M zlx$(F=tIugeLxWart>oY5sUx$6+9!j3tLw9=NaCLr=PZuz)`sNdF%Z-Oy8lOu~@g+>Sd^s}bO#<;x_Nibm=#C}cWk zrj-=J<*+|Yb2C9<5mWW_*#(yAN6W>3V>e$Ur%}Qs9G5xdC{8^ui0el!Ee>GK_5Aqp znciU6^QW2UoP>b_A zkM?VLq&qmHvOBwKvGrYVd$RUGd9~KtjzO|37$N=g8R9Pn091Y3j%o-9PFCH2ca~t# z2hu%wG=dflzy%ljym+;IuXFN%2z;m=US_e0SZvw;9SXpo+3H(jPuerV`OX3F95Bc> z7r1g5A;@jUPb2i~w0S}k-eXieSnJddI-aVQwY@xcmjMJ4%%k(m%|)PY&I2`x;=i#D zFpjc)G~Y3-T$h{fI!IOMt5juw;S0^-mhzy9JHh`5P-R>lg{cWynm zL~`Xiw}o6Q;i$)npW-NCQj?ULrrqBZNPoNv=-iCeG*;l7E2;7hG<2SYfptR-hU9&~+?_d1|8!5TDHnYGJ zEHnW&lYt>9f9+XqZ`(Ey{;pqfADb@}-(QAoK-(Z&ffXp44%n9EgW{;ER>$sSxoH3W zo}=Z&j_XMAT3`bPSQ14(JRYAT?~bw}Nsf#pPu5YQC`n05nv@}>11XD=BZX2xQ^e1a zR;0Bov?h(78Wo-|(!r2UkY-q-F%cITR2oYb!b~9Re>I`rL7-LSoGz>;FB6aMEnuDk zzai>mP$dH962^m=pmh<^9#f=fNlOgJ)7F@3Oqevl2^?661y$PmL>O5+P#5rU z7y`|Xe`#c5j42el`G7{i0{Dx}7F5LuI-(v^0dEtgg#vlj!M-foMQDju zEC(zG*xR#tuy$!ZChM;BzJ*$BIOwZrd zllKEX?5fA}`K+rZ-2m9Fz*YNe^YLgeA^L85^v9FycE0@Z9i30+)8)-<@%`K8Q+;(& z{&Do+Sb9y;S+~6UOeghX(l#HsX}`z?e?x}__v*cAt4ZC`tE#PT>aK1V`vrFyIxKn3 z{-m1CMv7jnu*0%@J3XEJwQLqmCSr{I>JGnmjICjA7iZgitm(9=r&r^oUvY=Gj2}5r zZ->|Qq(;wn+$e329ww|`t1s(nv25#`de%Ka)6E@fShDZ8Of_vT+v?#pIk^K3e+v$` zjLc_?u3h;OdR;G;(}$FAxA0#Y<{Uv!(rYSDo9=?gI6f}QH*h^vzN)V4qU7zL8A8MX zuqZL;eA!Ow1qZ}j^Rm8bs%P_0bS_a55JkMw7X<{g=!v+TVZH2)A%FetcLYVje%=dq zsI%pCda(~^7^tGK!!Q-$BoM>4e}Jc$2=VMs5ov?&XN`!3tfManq!N9Z!@ujx$OwF2 zL~sdf!VpeET$dp-t;>;fBQ9g)@>M&ZoYftjgV2*xD&N$fI=WTri%iFOpXuly!*uy{ zHk(7vIj1PBM_kP?t|k{(^SY-)?o*V{=IvG8X7TEx{Hc6VKF15<;RWk6f5AKuw1qL8 zn@Qm~6b31vh)GI#p8z{sUUKXze{N>)%csZ3d4TfiY6+f|zr23I*OPZ$_hIo}Szb5Y zyXB>r%x}t<)%C3InhBQ(ZT+>+>1EIx8e(h5v92QC_W@Qb5s)tq1Emu|+hHJ5UBPFJVW0{k z>Jd63+Y}K#rJ1v$vb}= zQSKW!Glb1u6NE!e5J#IJ?$8ClV*MDT!?9KAF~n{%xQFC#N36Cx#A-c?SfnoZnbl@2 zvs=jhp<)+jlNUCQk!WN>h>jzWI!0uT>T5*-l|Sh28j-(Nf9m+~wmH;{#_X8Us6)+Y z^jI@)Av2Z8XXSm;hnM}{wZ1{?Hho{$!<(>6pF5a7KZd@qPRhe`KgS_XpkrVw1ss!1 z&d52c;PCCENc=HYXo}cip+^MIWgp^g896kzsq-4hpxmvj)jcJavsvR+9!YXvhYY~p zmX%O_d9%iPf0?hlw^i$1-DV%I)sD4@d}!$PTH!Y2@mU5LJL`rs7$eNOxA&}*MP8Z6 zW1k>~Fu&)Hhfc7^>= z562hz4?4D4$hOQ#c5NxI0LTA}F*_JpT@-%g1a@)I5ZmEf(Hoh?jGEO zyE_DTf&~fgk0bYXJtMo}}c2}lZT@50E+#KH# zl^wv!#mCCc$HD?&V`1U_k0IEJ44Rd3m`R{&WY3+JT&`Oo8?QMWBl%$nGtpDbN<61~#<3J_#!)km=jp zJ(&MKTpN3^o4wb6khzt;nfV`Wn7KMIYuH;kx`JdS{oO;Wq;-30C2xO`224iWuVpHb^Oa$ z*4`Wp;Qg!Iw>kZ%+!e68*^P<-nKvy{I(1B|JPIt^w;W&fo;wH zuTItl_1vy_!P$V}PF#nkdIy8I>A_+!y*t?WU{U}vj8t`-0zD+|m2 z(YV1@P9K55OGkg!spazR{dn;t$cEh<}>}z%2C-;sr2&{4e5p(<%Rh*Z|C` z{~!(kv-&@X6TqzTU&PA|Uh#u*%byp*8yEkB|GeQrAa{@{;(yWt*pxrWx;E(hU9~8I8{^)D;4I~yRthbn z*OF7a>jNrWB5hU1=MASD(Zt~%^wk|nnro3|l4q~umU_6*)_9e+NAD-2Sk>vhHpCxO z?*}Fejz#PGi4X`G)kXHbpB=q518ksMAUowKa~xfHP?htr?%evM-Rt_xR>ndW_J36N ztGMKmp2}tzqckG*1B&M;b4@bm@yK9Z7>VHNFwfo5=B{sMF|#LMN#tVb5q(ag*bBXM zH`%`4&wH*_sIxhD;Zxx2;t@e#V~$Nzd5Ik)$>A<~l@vv82rg!Eher=B2ld6x%WLA3 z`6}Z%1(h-iru!>&Vo`KuyP2jt*?(%9PAUPYs7dPJy@DxAq|M{Mkq?&`WfEHX-9M8P zsl{nSn$fp+6L+1QYIM?h$3^4uu}1xzup_<^#M8nJ6TK*)L3~4t_>cS$yC_ zz9x+it_2eDx_Wl0hRj32hJV@BeZK{cWcUW#D~_SK`S*J+3Ie`VBwA^~6>bVZUJFcR z_-;qbEfxQ?iJbRc)}Ovj(*~azIM+C;l08pV4F;1x#ehz`h?)}bpJ8<6{gh?SW1XbZ z1#Ttf@@gN`_z5t8<1b;ZX=LLR;Gg_ynI+BuT;*}=XY%9DM`DF8D*rl0ClF-|;yi+&NDxE(| zsRsF@JP9+;13uX~{4{#0jOa3V$AYjBS$S4|Ca%j#(y$vp-Sl3VEhkbZl9UvRnAYwC zYp@zI=}SLU0UKSz34a0X+_*78BoCiwO&q#!@6%)Uvic znWMq!A0)!D93pW4A_l5X8e-6-Jt^Q?V~~%M+PST>wUM{kkAFICQFuqZPOD@7Qh-Z{ zH<9$1fJlUy>i>Rg&xr&0$*^*abzjRW<(9DhjjMmbfq%p@rR+lUrNJg$ zMwI)s=!}ZylQPKbxZt)wwdu8!!xe)0ZNhmX9z!uG72%Fbg|XM+^H1tPl!Dk z>1gj9g@3#`&K}Mrb7$$fwIqiw-*D9vS@zjFSRz{pL>xAgjg_QBU;tQm?i=j)e`4x( zac_agDMdJovytr9vCXS0@-Yi#Vg$({{j3|j7LQ4U^D7c0DV5)O-ynfvZC@oz=7Fsp zN`Sm7(dd0g^*uMN_u5A2z$){5&(aAx1U8m?b${fsNsDWbFhNnsbWPk4fFbovv&A{n zvn%mwPt+8}uMI_-cosQtK)}?tbl_~Vk=RpBT&Bqkx<(a$j%jZJQu?3^}Z$iA;|-~Fij8fh_{5L>q!XTH{D zOMee9R6!NyLF@Xai~meUjL=|uhawpv-nPY_4db(539?V>E8dpGimf2M4-kLSa~~Ub z|7PDK?nvH1u5Q)Jgnngpr?tp@VYNpWC@gQhJe-x=hraYo@al7D!9UR%TZ>i^FH+DR zDYPI{x?*R~JI0#&z!-YFmw)q!Q>up^2L)O2s~@Eo`KOCDHxfL1zv7z5 zwr5e$KEsx5=mqpZI~DgE@i>J3Y?8=(0^F$ zUH`aWrztT0$d(+@@?3zo;%UMT!?J@kdd-NZu37E%y$a#ZNaidi!Z1{?1B7KOHn_cw zlKhqEi6c_!A{emS^$_;HMM$Vq5R_fat`a}Rm`2UwF}?At6fgTL`L!Ip7JvnQV=at; zTmLZ_)8(A=+bTYLRDvMM*WQWm_^^(=Vnsitk!2yq6;Mqve&WjZxoBfFzp zezWu--LcUeRU7)o9V&}-r*1g}RFA*LUIQNw2iyjIrTK=eW#+6Qdnb5i@GzT-uIN1r zlNM_xcc-sYrixlF?ctBs#9>B*zM&MoL)h#^_TKhh{|mstX6PG_CSvLx!eGN1Ykxoh!_J_(j7+7OJVKGSYD>(6Oyep&F{#jwbp{2>IXex) zjPD0n^OGH#{7QPCsb<1Vk zLr`7p7g&q7P!fye4ew}iX?0>q>n!vnb2EbPR zW@`IKJiV!~xCtYD;jdaQqXI+0%=|4;$PHxss)UtxYdznx(`momlwzk#e${sx(qcvK zo}G>ZClpR$L3r#egfG#GjeR-S?+{tG2sn(KloPfCNIE($B?MjZa2PI3k8GoLPD^Ar z5(1xixsi7Yn!BdFDu0KI(=p3+N$ZV_8J(7Gm!j#;+8iN2r{iVq5-zp=_>${_{7yj} z(qaaY&)!51A?!h+wa+p7L&BibPis!YK3?cDB~{HjIkcaZ+#sCI-!b;JlqXx0)mS9Lg+He`xZ8LEnZLq~tH7ANOHUpg~YG;jy9Az$G=-wBM7UP{4kV6p|~7 zv!N9k-r-TOM}NIr3`0Ugpf7^>d10LIw(3Bf@plG-XKS)R`lX=?d7CH{6;9mnj1k$u zGV9SN$&d>Zb=p(3DzqH3sE|6L2DihtPmgt5-W0e@97pkVBD2oID~MKiVUrFJ^(Ot> z`c4Q@yr`n(y_>oM_n+v?MqsNH#CO{gC+JIvR(PPIv44{Y?>!=z+{I^>2C}I>cWRU* z`Yh?o?tKVzBFP+i7{QgZAVALS+Tz<^kr2lFP&xvLgQH3R{Q;w!Dd~iWGfG<(*_e6d zp}oWlj@S4b&n6C9bi{VwvJ|ESmBQySZ=?Aars0a5xKF^NO|`vber^rQF&lp99R*}D zG2>Ggn|}fy1j(K~v<83uFd0>pfpIda)T3Y8=+&X#s~(eQuD*LJ7?$NWou4=~;bseR zAaM>c<+WNTGI=ga68w7DvA#k+V$AD28UBc6{H3%+qxHzSpj|F6dl~$P0*x{{CgF? zG*>D-p;k!nJNm^Bp7X{p6fs%ZW_uA-D7mfM1xQuTQo zWNi8^1`NA?vo#`4Aes_XTdALP{aK@L5qd1rS;CW4& z3WC`|DX@nUEscfrx^Al+QOWo*oOfbF{C|WVL{m^K1EBtjV3gt~Cui@J#9{{1RIMgnubi zvJb6)=FU&g_)R{10gRg4v+I>0se2NH9B|Khe;|5k*6x9{0-DE&`ZD)#0m+rK?Uydc za4lc)`n-EP9sEndpP(HkGs*|#eHNkDBK{4m&giBlirovt38)+)2AvEhBB{sKgaXL4 zY)Z%k>0aDcZ0imNDu~nf8dMW%6@O(cXh*38k>x3BmE#s2`a8`%k6%)c*QVdmTk7%l{Ce@LrP8s!WZTy<%2Ys)IG0N@S;Fk-y#zIP7~~9e-$|^_hkK zCU>Z4K{i9d`M`5w)L~IB?#w3Mz|A0^nTsy+`RYW$d`IK332wJ z(|+##Azx%&oO)^MVBqJQ$|KMvvJ=yt!rqu~-Ll7)8Ty$r5t5f%Y2uv1(>KPjr~3<( zkex!Wg3=D}tw;EAT{nKn2|NS$G-D z%NPp08#ytWk*X&FyzZDQt>f0F7vKTw2K5@A-Ev3mWF!5jGR`K3#7KXfJ1i{^{Om~| zd_3hsa?f6jih;l!xNppSD#CZcJYCQ+qrC}RuCKg8f>d{pbtLcRwph7K_kR}T>pkft`SCXHN5=6m zjKP%7#8|_s!c>&+aXq?m!^*U^k`*8!t4@%9c7>4wJESz0#3g|QU zo%pZRYvWzI{d1lc?9StfZfe?2lx#_9W|uOP&Qu@gB<8QTvZB8 z8B0B^h_&X{Dmo%hubYX3orOzS9H|=~Y!%a#rt#af+Qrq|l`Ym16%c7Y*hv?x=DHEC z!aB5oz=)(kQ6G^mJ;uxpU{P{b;JjXfm^h48Ah~q?!hiS`l54@j=+grfqQXA7P_n9d zAkSBpwqBl;UHf9ftsN5yLP6zr57X+PE2wyCkEt=9z4Z*I6HjL%H zR=cwXDkychs&U4_GUSnGO?mX7vtUj*>nmC2t~gQyAPZPw>sb#anD#wueUdLkz#m$v zbl27%Ab*FF1qX9SAbst+S;d&&LMo9n-R2vnS0nBWY=fl%Bp)~ci#OhpoeVh}P$gHb zY#U_QT>k1&t5-PlI9WG(vA!EkQC(~lINJgI9&4G0cVccT@5W8Hfa_lMAlg}%&u74i z=>cPNs>z^`%V(qE>QNytR^aVlnf4>+;KTgp7k@}MYau~@*IT=>Js`S7eMnEpBjVwq zqIT>$f^n8GsqOiaWp}v5?!I^xZY56|Rq5;+F%@SPQMV-MgeP93EqrPFJuq=h(@)FH zV{L^~4lSl``oL!OnB{o-4oR)G%~EYmzGXLxwiyS;pV)u#q3lC=VuNk7$(HjuLG_Cl z{T`RB%dXIc7ddoqmc%Iqhx@ZhJPW{L_{>$;R?O})trn|L^J{+Z~wx?5&HGd1rOWaHgW9=;5xkK>Lk>&umv2Xm(j(gQcb;_z^wQpO@VVwjaZU!3 z(y=QWK*yDguNE=Ib_nwZ4T|>pugUPAXsRV@nd`5X6->%8{0<`)&9={$R4e&cq<_3%K zE(+fp(5vK3AR7?B%bqI9;)yS0I5q&8W1e8KxxFEhcV7<;ZnwJ3JoYapdbf5_}qC=phEfSB0h3C^jHE=}$nE`c%@dl#gT zdH628aoLrf+oK2ckBZvOPJ?(K1r~Tm@Rr=-uR%cS)zaA}KF98wrns0`K&isdNB417 zXQR>zd>VbWksaOL4qc|%RewZj;oG%sf`B8?hs?-&*TzPkLliXjO^2i>9t;UbhWLRF zs=GBbJ$6Opt1V~PK9>b%tjV(OW_4u#pQmw;jcDThI0*(45;d+YYfy0c$nym%PkMr$ z{x2hi%DHs%;u?-|HaQRpfji`r*up<;TB?yyXcZAIemzPPsuEWZYJbV1kdUeBaGw`z zy|k^)K+GO33{)S7pQY}w(2Gpe&8x2|sSgTY;YJp$oCW~fWjBi-pu&{1qO+nfj@$WG@Bl#p8TfM!dx&^S5)g%ebCYv44$Qti!t?5gISDtbX+ZI;wlKFr;X z=VBCy%PMUiIHYW*%@{}Sos!bN^5{O5HJ!SbOpw0p0g>pHf+zT+RdA2{q1LVctW? z$O?e)1C`xV`gGX#88}t7dhFBF34)#)6v?mPj{UKRAV%ZWV~P=CsktS~Yf(h8oKxcNoqa?>51|A+66NF`sKV5HYrhahtj z10}WvNryz{i^aB%qq}sVt@bic94QF{h0^_m6n|9Uy;q_w7Gnb&b1$mixgA3=ZYbra?*& zKLBYc-s{t8m)#}$FJ>wTHDyM>4%6FsAm$v~AO?)kGRkuW><)_Ldr0y$2F&o8BBCI$ zsek1kFP(xQxOS$062@bYs1cxi#Tq8diwIYd*%SUU;l0e`wzz!u>;SBC;~lu1Qb>!y zgFJvE^P%O51^yKKfc%ZfIWiNf48Htx~>_+elK_Eoy*;S9r>VS*Gta z+oLLnAf}Z@%-a1n*Pp;HumxL)vurSp=z>Pj!;E1wq$u&}ditkaGxkvoT#-LVcRYIN z$074!`S7J>)4~0cE1B3Q+8L>B_st^ zcr=bLw}^g8E<}$YP!}#ftVw(~p?}y=GKfpwfRZZ$wX5DCPGOBv-|eNLVtYktO9U|k zm1L1nIZ9XgG~yA>q}8QqpWmw=A-f>Nl6r)jEJM|Us-A`P-YyknOGn`dal}#5bO*gZ;nL?7%R(lA|xn$XT64&le%sJgEA&SE-X>?o|HCF4|sNwT5xTh*$r-I)s83^$jjBeSR0l&Stk znN9~~i=_VfHfE;D*D{D1*EOtano%QXN_?70DbJ~RwVm~r!-Q94Yh(N%jspV3-6d#M z#X@LgXTidgt}5w7JJck?N`DmVRpIg_^Wt?t9ct%{WC6?#`R z%yuaRQs^E(xtWk&=iDOGyfC6OAn@z(#`ywA5sAZMJB+O1bxaz+I>OP^qws3{PLwBg zGV}EP6m^ACL|x(#a)e%(ytUoEh~fmEZABE-TbpTbsy0RQ-C*f4S%0>Q$e9*w-p??@ zh!cQ=@LTN;Uyr@XfZNn5O}u<&VFVzP@%jy4{Gu19O@`yvDTu&0SDs}lJFvV6o)_)c ze{J)~D~RI3luF06j!*T@Z~Gv%fE zuBsj=TB@}+uQl>;uYVY1Eg|NwHZTA?o#Jch(68Lcxf}EOzJmg412}T!9`!!GJ9?w` z*eJ5isYsX)D{MpaZevDgHa#9j6O;GzdBsXxk`jmQ$>~+LI4i1r2Ge?@nNV|nOtaW` zGP*gym5eUkkp}R++x=_}((Q`~K9F$0$-{#|rwa<&@4eEHIe!wEs-FmPY4BHO4*b&v zoP~9=sYETmWGn&H3o=5Vbtl0A>;Ac4Zv};~Dt@RZ*t4OxvK`7AvcB&&uU$?N$mS2Rx z>TE@^GBCUjoseuotgT3#SzhIsZ@_tv-7N@PfZdiUE`JGiRvAQsvfN#soatJx*!6LGb8&76Djz4mP~>pqSnQlD~fC7dfZSzu_m#iS_=9~49FpjxhY*a}A}3GJi) z3#M+Uslr#RLX(>bujh<|`jmXD8_d-R1rG-b6TK#(jJofuAZP$fK(xO)n!L}&aWwF* z7?3%X^8SC_jvO;A4r5wjQ_b7~*x}SUSPAtabt}2I8j&Z?J80fXQ-?6OfhwxGdw>>U zrI83-0xRFVR)ys-O@?N&Ua{PR+sLrATUJID(rn=u1r6=$pG(K9MF0lf3N3k5;-p1T%M3cK#^ym8~ma2v!Kr7 zo+r!YkI0`~N>wsm#bjn@iQm8!2Rz}!KiFAOv z1uDC}Mh&4xGyTE?zmw_XjbZC`sSFm7TrdAQezDP@-88F4Nu>nyoI4l5Bml5!tHOxe zZfAUd_mdr*SYjV+sI-$*bC~KXu`Td3rmBCC#~}?ZSrfyfr|VpBvui$q+M}!_Lz*%_ zVhYrs{tG2``#RLQs;B&uzj0_2iy^d%tY4@b+sk(D=au7^{>bU-62z_}&3h!HR;JFh zc^EOTSNzzUCuDdR1|vMSNb@Eq|1s;xpTWAn$~F-=GQ2J$_VF*kef>YUQWZ_ zw=hKTPITbe#PN?Kc#yKdwiy2k=WL#%pWceTov}ll=*T(Dr>eCj3ZU~lDE0}Yi$s0m>s^Xfz`nZ3b%w?-%6fRBPl>)*1oL$>(vbU5Zhx-xMBld#d z@tS(>h;LzOAokRB{0x#=KXy?0NCd+PWj0kkfmis8wi4cZizUX?ug$*5+Ni6r z(LCSLO*`_);o){GOTM0ec7Lhpco@=2M(oo^&*g79B7K!BWpXXSsVFt-K01GI>Rj1W zp7tAu9HkzyET;Q3NviFUy;w ziP{au`Dm0C5m^6yBYXx93-U!qo zJVCC<(s*KDkrxPz&%}QfntomBacCnRV)>JL&U*>Co&*l|*@VwfPeQ+qeH{R87h?D! z^?E3UB$rz0>wVF8u9x7uCy>a zY4oBci5U36cO>`Jmj^yM@39fYcr=X` zMjn;B?U3E&DZYO=M4n`=@cHrZsvHTs`eD&tRy4<}q`R_d^0>iwzt~iIDha0%oRa+h zaxJW&RqdT{aL9_7GO{}TiVa1QO6ah_n!oA?I1Ies<95!m1Lx=?A0<-3a;?H_K9>o| z7$zZRu*oU$MV1{zGWwy*b7Z(&;RCjzY(??x+*k>9Qw)E%$She51z!>?2Ez|sEs*uI zQjx#x>kN;*tGUo(QNf3!hAEq>a(}el%-Bq6CgaBD-@>-zl;jTj{WG&qWGtKOmxu!+ z0dk(3zlX9e&^5{qGX&O|vihJVhs&nC+pB6d-04?%G;eX?i*nuvkQKDIS;_fO(WDuc zdCLdcEUJIdg#^wP=8m-Z2L-PWkCAYO5W+IdY3mg+w_#0Yu%j2fpF%j)t-}NZhip{q zy^xsk#$cWrjZU#~<{1jx3{IUr!vhDHLQ_#e`QtjB2 z8H2&q64ArV_q-L!}!Rh1QG` z^7U{pKbd^~pHtdsQgqOYdNp4;0W1i2fx~k=v#aHyp*F-{UawsIZ|!YUGG;e|=h`Gj z-_w8RiTvK}B?79nP14Nhv2l!e#j>-^IV;BxJYQcyzh643EPTO2pd;B@U|p&4!PAN{ zB1~?eb6Mg6p)-hB1w4;-m!lwey2=EMOc}B-M_&lFAqc-zGi=Yc@*ijf-LCRE1~SIeqy<~}1GK)VAE2zwzi3lYoM%}vX!N=^^|KB3eoMNMsYtb^=p zrOa7q3(IGiLFFSy{FN5Jn}CJ!tVD>3ytVc~xudA6+}QX;bLN(LHxhW|+JKo6zL9^> z?s_2KG>Py5j%}PG)(Y}ORci9CQLN_mwWSrN#kd;W#VR>qcwtkS>p_Z-R>Ja%O*KdM zMaw%pH+`O=+gAcEEBza@qN4B&w5HUYvPep`cJwZ@tEtcPG+Ke&*0%|@T#HnP_46ig zhhL2O*Bdp@2_e90FA*aDsNKmkY2kmUfT9*Z31M13lbT(P$lXD5aZfS0F7*uoWLS2| zOqpFFhb0j5NH`66Ez0ae?Xcx?SQUjOjAeoXAHlOJJH}C5aA07ew7Ro;X5N*GVk3+= zX=&7=VR{R9=#3Ae^3y(SOGd?SN`w8DpP10bn?etmnRO&s9|~pzb}!vv3D19$w>?k1 zX-nnbcMR)yRFwBWw;$ST6ZhVhtmp;vzxeD+Si{)Um!>dnS{FL6Pi#KN&RQ@6BLis z(0J^w#88EY*eFx>MZGc8l3YiE-pn_lg)peCr&?R5}VnU zo?O>&Xogs@Z0DUs-g7;+SF|wMFdFAB$h3QYj6&2x!(?d*+)Er@Ny~G5F=9ayO?*3r z<;4r0LB9gbw1JY{rWo3~6}IB&Y^oDFKQodP9p=1iCtNt#39^F2uSqiX-O<spNaa|#OY152-pN;!Xi%**b`aT93PHhY@u-5X6^yUK7 zRX|YV-R@g_wT+Qdb6h+q8mE#KNA~$#?BhtULZ-fV!cRYRM3Nuw1G2>ih;F(N1f5iy zs_lNlypss@Rr^S9x1f&YLf_)1Ev9{+ff7VNy4lVL5?n(=*rMd| zgG~jHW6~*04Km8h7LDTDr@C3c#!%q|lZX!EViVcG!tbyBSCaSIg+Vr@K0*pXwPvD$ zr3`szzuKqkF8mVFd1xJ%?rBVJOn7PU&*4|JKV^$-I9nhqy4T)!F@)e1FxR`O*;p zBc0Ia8Dlv~TuMOTsQ)N(YFLM7m7zIv(z)Dx?$<^?bXW#~?LEVrrBgM@X(vaNfkR=j zkpib0oaw{e_p8+*<`a%6^#*NccLtEUh+xEN)#nGF=cSg(+G^}wk*g+Oyecw|71|Zj z%OeY>sat>X%sWk4fve?|15B{8ZP;CR&;vZDPBOo>P*v#=g9kGzL3R$}9DjAz7z;dL z6*=bj+kY(jB$jEN8k_1Qxyw*tOLI{M>rB2qtGN!+t(DqTyDq3wf5%nJE(z&Zt-8uy zbSOv7^(Q&5f~G{tHb(ImxeqeU7rqwdnp#}f?bv^u?H?s@k0UIc_tYjw(Krz`ZnfnZ z%U!k7EU-Znd;NDeR*pkM4g$97g!v0X15a#NXxvC4OU>THQ3xJ6yo`EvdEJicO^&uq zJ+lWY10r{s=4vHsp8rs77Im22URK= zI!H+B^fzU4gV-^oJR!QjEaQ)9@}&9RRR3$ewcWJdl4{H`Z(IzSxUlKGh*>+a9&>U* zNe#8_19lzrYZQZ7a6j=~vJ+SR`6DTdzCC|A4Y%;(!D3=F)pt7Vy2s99fR(|xf79LC zlE2bLEGm%zazAmLUubd?dOL7*7yr9%<}Y5DtfW0ShL6gjW&O{*Hde2-RSy^hmM}-+ zLA24ddmV1X$=GFKXw5U)XQKG?yURXGOwD=0*QPU9>PZ^nuG=b-bDW_m>!G%5AXI-8 z=z)r1{XOQU51fzOtdxVd>Zn8rIoOB3gD=Y#0e2wIZ-k@arHFIx!&wN)b$B{f0kvs4ge%(#>bciasanE{Pl z%GpnT^&AuvH0VJeN4D{)t10MW`Wd<9;7&YeC8EmUE|f_-MVb2fi=_1!Ne&dM8U#_9 z4`SkgbK%{(`W+hlXZq9zhq~+pKFUUb+%b-E`j6!G#0T)7&gWc*%573rMy-FcI-6-= zE+XPrVVLuZ+{(WtbQQ*!*6yJS*mqmLlucvi=EQ5rQcjo4_Ze(yQ@vjXRN{k7pA@GU zYt~kE&HOR^P(Wd^?+DoxsrXT*`KD?h7!xdOs5rA1e z0i{SSXLZpA9~4fZjy9J?z?^@lD4^WOq=REQ>3tQthnQ)SF}DK+WX9HcRF9b5CnHTI z0}>&6{ivkz3i=IumUqr=pap0;*N_Qea*vH*7cOWg6_iczJI35G67(!%pGo2hE}L)D z$qsuMcC|9g%RyUDk`>paZFRrL z(R)pp+u>kGYL`K)b)z5^V!>JLoWU$N;@L-w=;otbVS7M(gi}Q7k?y5TL<$)E+NX|f zu3X#%8xLnz4ISI`YXW~|EbumwA=`-CwjRagFqHy!%l5Na5&~vE4N9`gSVD9IWR2d^ zQWL(jXW>LqJ03c)&>BT8Q@%~NRq`ev*)cNKd}^F{0JX*D&T#q6J#qn`Z7jr}`})U4 zIvJq#7qTOmbwA-V*ypy0I84zbv%k^m7VVUI7U7F!V2R0yIwyYz3Oq(wh(T;Ideg*K zepVYov2=O?R=nCnB<@`vB_MJus?Bh_(ExFQ}|X zXDFqy&qc^RWgYOiI3~Jk`s*zF$Ew6pf4(D?VY#6+Y%yv@l({DK-0 z5$h&FvduR)bPs~!-_y?PL`!hP{Csf; zJ9(Op;(d7~)n$PbEt(6}_%gy{6tmIm)kxXvXDc6fx{rGerwzHly|f>?h;bgf^T_CXPJz+g2#6FmBlk-a8Ft3%qg4;G4+gMFJ>!4K))5`kQHyMNnUmp(etQN6R~EaM~#Xcrgbv zGLeLHQ|$~8J_yg7+77`|?R1@l{cyPR#YT!r4tDlfRw}wAa!B>Dlu88i(N7eEsff3!hynVP4>U0fFHB`_XLM*XAT~HN zm%sr676UjjF_ZE9DSvbYRMczNFD)Qlk}`mF4iW+)-5ny`0}Ko^Ff(+EbeBjIs^m+M7sG#&w0=J&U^1#_pVv%KhOT{c=mqwZ*Nv6Z9QHYTbMOS5e7x_0{H~Q z0dg9;PXGb}kNE@y1o2r}^}$F8=uZ@%)c^!XfMHPa|D~6MgMX}$C`{f8i89lGK>@06 z5CHHo04O336crZ`00;^Qi2cV91{Vj&Te*X60UCS&RTvb6z-N_%xp=|B_6|tYE&n+J zIBYlpKrt~@BsdL8UTgp!Pd=%|2Y)w>IPDg|H}de;s1l#gOC7W0RaI~F(3fs3IKW9IPm`p zuJ7dn`hTtb4Wsh+^KpT>0PIjDfc(IAAk-he55meF1VF;wKz=^|Tk&rR9|#24f^Coh zYmhw{ivLe^6b!QaQ$}?j4)z3?2%v}u1PJ{4{e3b+amyA4g?RmA{=2#SDjJ5mIx5`1 z3;tUrD+}`k`0zd!0q_b63jlxuq5=R>)WPrHQGc|pz<*^S@Q<$w)D8v^`!iY8EBz;7 z_rJQ&@z-E*0{$IK6NX|e2*B|V!A%8(1#D0s;Qu$xf4ltO*!?TY|AXNFosXg$1oB(U z@k{-GXsw*V5U;=VD89NOQQX&np(X(O-=;4>e~zmL$QJD8{NGv?q!nrgWT5ttzaJ5d zP=5q_f^4?(H>#JU@UP437V+ zpTds;{B~dzWl`v#fFKHhxxxPigv0>+sDH)vkAVa@rdKmENdG)0?eQ#WS4T7978`0ZUS#w<7o)Bs0k)L~XD|y!Sl+6!@PH*UJ zR*9(Hzb+f+jd>nz8dN;VnrodkMa_(Z$U2G8K08EW%yv~6jkfcs&g_Bvc=)O zp{aWg-##>FV;vFaprPi+q)>^9UT#uObS`E}#1YCmSWsQ|R5=uFv_|k~C4%p?AfmNI z7TrhoV|8y@5h428T!}Ik39ex^$(K}aRM_4b>HRsRx2c**B_-eOf zx};EP+GtTWysMNMDn2=>k*zl9{o2LMsqc_bG-57CO6-a8nwmrRt5*t72ZEDZc{xhr zt25e1t_M=zo+)RxGKUSaYJbKwOFUt>KAOW-!Xb|_?n>!Mvi@YdLTC=&eN@?S&~zLR zrnMpgohBo4K6Edw1}kzx#Qh%LRXtue#81E`WYBOw$1Gu0(mZIJ>3P62UewC(Z#f!q z#+sftY!uO;~S$y_`b2N2C`rlR!HX1&!;bbT_gXz);QW{5UnE`Q%oA3${bt(UO0 zOZo_p&6ARXfoi#q?1=;ZE6Q0Pd#ie3`epUNPg5T3{#cS)jmPTLHumS*Yc)IW31T&h z0~y|zl&mB#%g#w(fqZYmwNm*ftoMVfXu{gQTO;hVwF3On-^Q;J4Qa^ohikep0HXlUJ-Et?|<_U`OYzCDU8R%^}D67 z*l~9+Xu{j_8`nz64M;|~b!X`Ulx|$Iz2qOzE04H)`nUv=*{D-t<(&aNTDCs6Esm4X zc2h>+H7IUtXxek=p+~L(!lWiSv38rJBwD03$OrTHWHpy7l-dkW;^e`^J1{~_C;_4N zyIH-Kk9vml@_*PSPTx?1QfyN<|fo}1H1B^-S2AF~sTY{(w?DSCDq!4l}X z_Z)4jtJS$Fw)Mo)vCyX9ss53hcms}Z8O3Z!Bv|3w^Cpt!soY_bw@-Il*4|I?nH#ay zyqOQBkB2SMi6Nd95MB&)HMb=+ZQxfuacuLZQJI+EmVZlSg*8uHm&c}SL7&ha>e{os zmXL3GJwTT|N+OuRp~@XRaO68X)`_c>nN++rwU_ywV#P^pu68<@;t1rGM@xEB!rv#x z&BJT`*rQSGMf|xahF{jq&OCsKbnmPuy0gMIFni#0G2`UO!T9rI@1-IBNzCicn{&^5>w&<7f5(cxDgcS zR^Vc5vOll~aq7fog6Qt9yB`Kd2}N6YhLE*vSv-71i(_E&;|eE9+4v^=Os(n)Zt8K8 z+maaI#=37&o32P`e!mG*GJhQ{VT&SVGOI6CE`QXn^$jcU%>0M;I^Ab2Ymqvb7{kO! z>EnS<-A^0CyepNf-)VK;GXi^G+A#Er2R0NWwN1bz9 z4A!Rt%ps%IuKHT&X6iVmfo=E{GJ_fCV-+~#-5NtlCmOLSA+U1Bx1Q=vZBY^9{%-vb z&3}TMEyl*?z7e8Rh>h~~mq|~2c$iKX^@$&Lj^3NC@`%nPZ^4L1IW&^2u&qaB?wMfv zECJ{Doa?62cMsYN>wEmYqdcQU+KU35lR~KO8J;Q{L?)lgDQJ1BhF;=3DmoXva^R#f z>~F=)rJouNi+b`t_!C3a-1cjquWt9c2!EqOZ1TA_BuWNAQghZD%b(C71{JryXTzk@ z1>Ix3qsNeSQ^V=V5y=us-bxp2Rmht!k%Z}0cchF6;i!_~w5Tygae+?^ferZ>v1HGjIv z#O9tYq;W^Kw4p6&m8@8Tgrb-!4S))bqt9QA}%j z>mM;Lhz3KZ7!gO2DtvY~z)4Hvz{=A%-&Z^3&3|)}ivHREBYh%~Z&kw9hjVJx1y|PL0WP;t#a5i# zbG-XpwdGqFtKyf=Nre(m8CVf7YnXWP3)lLe7-kG{yRZqJI;K&s)4V^`GH(Ia6zaRU z$H<46r^Zusci&@-PM;?{_I&i_k3DWX$nm;oVggO>rf6rCev^225NWRmFCrA^3-P>e=xD$4huQ0!4m-@PlcjE|hr8?ib z*LitTj7?D8!a@E3xAkHoX;w$U&5qUc;}(ZAGcG#1?0pVvxT}#XjT^ezaJe#r{ioS( zH0lBu(VV2bO7R-aSsfWlTYvPHz0j#Cqm-XPKXjZpd?`miTAT&w<@5IqoISBhGPvkt zWrxkVGd~xMWvbXMc4BZ4){%-k$}QvEj7+g-Q_X#}&sa=B8aO$?v+`-)QO}H$?K5y! z(RFl?t8a&EzTYsND>e>X1_?XVv(ro_PxWy%rpK#d$CUoGVvBVSg?}(K_}nn7b;}>; zq2KkS<4p@8=k<-^h#!ch-x>M|Ie>HsAe|PX(#fR8^v}CX+xQD*Y?`=6$I!%Qb zBs3>{>Twu_?)Gx8v4l@5);rXzI%g%B421daw`KXk(bZP37^n(eU#{z=VREtSUP@*Y z1&X)zBNfpt{DQO$cz>z)X#!_SZqgMKB!8~OGDvV4zip0rwbYptNumUc2A$z6#Lmd` z$UNEwj2yk0yx7?zMzyA^hh~lVV^=y+Fs@3V*n&7?PL<+F#0Oe_R!bgds`5H;_Abe$ z-pU#Rh?c7H401HIxEY^+X}mV|mI`Or0;!r+PU-q7t@EDhaesDhvXfh%tXC}ycUg5Q zPbv!4^;kgiMnqcr&)}1d-uo}C8LQ1Wbz(?o9POa@;s#tCf=D)ym1z>grtu5W zr%%LpcznWZYb9?mRf!dX1x;SOlW+2o?-5;SW)SNcBY!+8lpEv$5X9}{mc^HfDtG$ID{;#7A(n|~r|IsQZ7JVNHzZjn_^dX) z(A7fYA}YN!WG|pht$J=wUhd4oHS_Y`_|wG;bnHU3{b$R=Xs>j93E8Ggn)*5>J~Zi4 z+dOt+n`oI;&B-AUavml;GWpVBlGNwmJ8Z^~NiMv;Jb#EUrux1wrtx9l$<*`&zCb0> z)YrH6hwC(*7WniY(A9RI?G_!G57_R*U@J86bLV>iH;Ir0X+s;cONza zTZF_p!f*#nzv>qlG2TNwZLiB|Sb5#0*(kMwukp5zV2^N{z527od){xYFnA=)0U4DT9dt z&3qmg?Nj}vCCKpG`*!x(5-PW?%bh7wdCY0^vVRlP6Y^f8wFK(B8qe?*7I}JvY>K8k zeYf#x{St`6iLf^$FTYh&ydUzUv{u^}yxzxXiM%r3*f)Q1hV@*=K=hrbjz5T!WnV#c z(2idiU01M}z%gU#6H)ynR2oB(crsmujndY)DTN!g(5%fv`6>3D zo`25JM7|0ptO#sM2UNI@@ne&Gph{eNEHx9?o9^F!4||%Nynqf7U!Bz*rx)O7kSWTY zctv!16y!dF`(! z`LR)uSQ{3+X>gqZD?~khfJyF|;CwS2cYkqZEHYK3a4ecvC%3^Zu9h&l6OmN2da>xQ zXp5z3Uk1cg8gANTJ;h8!8=46!N&aJZeq?FAXFeF{wO03FX#=O6B788&qg4)qy|-Cb zQIkFB3RLXWvC9Est@JcUrHGlP{MeEH*pl&$5o2zHqbHpHy?Jyxy#fQ)Xx$BKLw^ki zft{*%#Nb!+hxaq;*;DFjaWM`)5b6Tz1&887tzNZIeG1OoHzFgN4mEDbJ-#uf51tsa z53%jSdoDJ?|J675c*0<$Ro{Y)YLSihkwr!YRfr@o?aG^cSZPLS)$`L90Y63rbM5=0 zD#f!C7QwEjp)(WA&y_dLNmjuirKk9x(*w> z#4&si9Vkj9VjOTZ3SqrpDr~Cah(}I)JTEyI55OJNkskLOC@(Yz8{F1XzJCy&KGfeo z!Ht(JL2nW<2NSx1n zv}kKpsvuqBt1^nMytXzuXn$1Qd{Uf3eIUxk%*KQkI6RzHL3SR)_UNaN(#3vJoRlS` zmE>(#8E0^`1e>pWs0I;r)4lVKu58oOY$829T!nlhb=ZN^7T-;H_n2ljT@0JFB|6Et zUV60H2`GQyr2h5K>d?NiktnLv_bE1+83Bvn*6jPApajQ}=xyk2t$+K>3|uF-C79k6 z9GV>2!(CTpm}!>#=^Ugu&1K_`ub;_9rUJR-`qN96Rmig9aVe~kSMV@L44c#!u5D+? zKq(UyFym8K+trDDBai)4lJxre1xjFVFt>Esda$Km(KwXbsk;$xcS0?LaFqKR(S+dU zxI$N`Oz8u1hiWA4`F~flZm`43;|BSBdUX>CxyD)LD`|L!>)M|0tdq@Z_jZQS6*=N0 zD~b=+Eyml?V&R!M{qV62elc)8)3iZICt}4m67_&;+YWi_&a6nK{p5!)MItw*x4&jk z+dQ|VY(Rtt73rCW-SNG%XTn#jw_(vD49n#KGIQxFs!{B5K7YJ2klIHM5tj z3NzZ;3edVe<}PELma_>eJ29Rh8jG6r1-8p}n@MaEzhBKE)DM4H-8AOc7PT1EvUB9a zbsYcpJ<~lc^M2uNLW!adk>%dWZk2(A=rm{EUQg*GjEVWrafoq~c0sh32)t-b`Z&2+ z>(_6%^TC?|&3_qr-2Kt#<#SL{H@}svx6$toqW2vkEfmSg@_$J7TVQ76`bEq(E^q-O zA4{!?mG;Ah#}BHKp6Yr1VQT%n-vo0PtlidY+@USv9s5BqXI%MP&=xpqxwSyx*z=ul zy#8r7%>>JE-+c6}&S&~6DGPv`YSCA@!=eTe=L5?_VSnTpDDINnG>(qxeS7s;%k6Os zo=)%`C5;xOB0PMf+qytStFMZDbdmFm6Ufm?Kt_}n@`FUwhkyFj{ZaaqqbXq;x)nPga7?Ug2Vm91Nn!q3)CKNr@7 z_Myw>-O)!Z3kvl!|4?KpSW?TZRKHW;lHGPLrC;#4pSNhk(_iht^Y$r=U9%_aE%(D^ zbzz~L6tAo8c3m{w7?#-7BRxbzYzX)0y<^8R)_>OCzSZfgnXN9k>&9Ev>a3vl_}Z7% z#GOIwM4!)SHtwA%@20*BvRuF+)$>g`VYi}W5;ZxUHf9UtlXX`U3l{S6AF5(kNPYlW zKP_5bypRBG1N{uQvYMqNMwCBQEi-6qaVZF~T1*UK1?hN2 zkbm<5g1CXL=)nh{{g#4GB!-4f_1-|#6r?LYvp&G-DbQh_ytlq|w8v^7e^eS#5f$5% zK^Z!}+32;$6fPk^RqSZVSIYPyWryQJtaf4T+7^$gI9Wg zfBqQWhz<_S!$b>f>y$`F%Zrn4GS{<|x#dDoT z^QdVugaTkR2c6n?{*!qGR$HfXF z`7@+XgNL~nzj|cmr1M(@6>=MD9)%hVt8aJct4JC3ZD!KAIf*d#!dL7|nyiw;@Tick zk{2Z3G$gBTr7qpR3HdvSS~)7+m3p90zYZ-J$e&89zOjDt#aDE@D`0EKf;@$+8(rq` z(;tF}XVQD{FHW&+kDwcq!+&9P(8}3%%PWegkrrDuc}=^J9LB2k01<)SKp~c9Hj$*0 zIw7&;cY_nRCqpY_Uk#PsX+6Kwt1<`{E6rw4XH$%3Ie0#@Ds2#b+}a7px&Uc%E+LE4 zKO2?}4U!yZx1;$mSg*#MY(nc8vLY!nZ^FK{xj|s0zCu?*xT6WwHH;F2JfwbKkA&rYH)>FAf$SscKv;e^SEJ zu2^`l=?wYCV?1#m6HxQM>P2g+6!XC#Q7s78AI)=ey_o@8p=JP!qyc&wT?`3U^gIuH z_YcUo%y+((J*|NTq<=fd_WMWdnNE0{QBX$~d98g>_DlOPx_6uDryTVDdU9a3j(a#* zwp?SExN!B`MDf(JVNsG|z}~I+=imbs4u0$ohHe0MW0s)~jF|#rI2zqqtck;>Y4?o7 zV`hd98RtMTfy)5pv1jjzvr7otGgUk&a=gdc3G_F zR$2CK27qHgZAre-A;{dOYoI%HmBK9P3G@ zW2Nu|1M&_+{t9ff13GtJ%Om4UFmLXhx=~q?WjO5R%StKZel6;FkUc^Yy7zGVqCVuP z4R}gqVi^%Emw&N*&={vi<3~)=((u{9y2ZEQ7*Rqh{r1%6NWKY;Wt+OX)|Y5gJ0?Hj zMOXDM{R#!G5$WbVTNcdjOJIQb-G_+oVhQHi)a1I${PZFfvXA5O8_u{7@0Xs@A@)z{ zuadGqqf2H2GD)fu7Qc70nuda=NVuE368o+>d|SSt?SCIy`&60wa>U+2n+oKGR~DPp z<;e*V)YCRpSv zisPN04u50&uRp{iDvWbW3U+$OlD}0~h4Y?OL`4>t$eejm;HeHx(z>Zc-h~D^g z@>E+LQ);^|+>(L?;QpeS;~Ykhl&*am`&lUjzyCmFShUtpvaKl8Xd#?qs_~`k>yo@0 z?|(`%Xco3I`)Rbb=$E?}M70{&S}L1q*m&duZ$ISeB>d3B{#h3m{YBT{&3sa#D!0n! zq0EU0$83ZgS9zmFRDAB*QHx^s7wyY#CJLu(K<#Bg70=dp0zV2S##N&-gJI_Upu~m! zIEuL)!lo@tt;F12spR(jl2=q1qnmPzC4Z&5V9{{v^-krVD`lO+uV{N{18F}U{_y#M zy+{HGAegi*eagf;%=;{9I=B2KmWcs8_f^(qXmLtaco|*g`(Qo@?zjbOF+fi0VO=TQ*&_m#?j9>3@qS z4vx~6m!6juE1Sg>!}uSy1;J;=gXgAFD$)$nqkfFuP8ChK7(3``2#T5KP^S~LwMF~r zYQN0iw8+kSD`(a(F1-_fI1VXcr%0Yh<3LEDxf+LCS%W>at`+9Pf8-Z|Z{GRFvhzbl zDW8QKxW;S}y(;9{qZ!GMH_3I}8h@n266{N9i|Dl)MfgSm66}Z(x4|$W(Q!~C1qul`(EyP| z7llEb5F%kU+N^K}MgwBN2WTRta50WhuJ8mGOag3yFEEL*Fi0Fhk^y3%wgm=8N*FZ| zO9e(EG*ZEq0%C~hJu)nBp3*QhzJTnql#daLO8V0U=~JGgF!IUI19K2{91`H`T(g>{QtAn z=i}&u(SB?T9<5U_2FPtKai*IY@BGY|B=Ts~*pVKq&Z=IU2b~);JK2LMB{~2Y(vVilG>QooETyY9ic#_0fn(;i$Vn3RG% zAv%p9s{q-A+zRS2azw<0}{i54|O28O6GJo@T)zK;R>(-)EiM`xNq;CbM}ra6v+%D7L8rR1Qp z6*NNYHh&Jua+l4!URh|eSg4f}5$CzWD?nSBIC! zH+`C@G@M>Q6J8pSQ&9#$bRu!-S{`#I*$NZOnnpHKX?%4Ou6eLAv>a~F)=wzLXuMR` zGesT4dY?FG%}PfJqzHQAXsCFv4g#9X^MCaoo6B<^Ss%-Q_snrmcrdLD*`1AEM&efV zdVnLZAmmUiEjHoKc}g!wmtR0=p+G@*qv%Q}O0AH_c$p+%L58%#gGl>HDsiVd_=GJD zHV~{K>7+4Qyg>66>+m9DtBnnf2l+f-VaY}~YG>DT<+1t5X%a85Q*BDvctzETcz<)5 zM5Dn%ynOhwF?d{m`DIid|8rdx<%RFDI9GMk?6T%FIV0>mG!s(;IO_%1&x-zO$0F(Bh&vN)<%#e;IMd|JLLUzcyn zkCo58Grry>knb~ z?Ds#OA09JyY5+Tp*h&0BBi;{oA`W7=Q$7a#4$2pV-w`4B9x(jWMsfP3f%0NYF#l#a zt1s16xtxC6gtU!j+y>1jZ%^i2fEZ88~!!)pE^;M@e{nG6kya^E!i4WcO5YZ#M_4J?E3XEuLE74|v;6 zyOoz5eUuD`(v1rQ)_KgU?@`JpO%;!ZdKF zXv23(4B>vFWWN)oJby-f%JK-+_X~&PY+5a<<#dS`P3x*TuNIe+tFuqDWgd-<%O|_E zd+wL7eV4Z1svbXi_U7p5i176T_-Z}|(clk9@rUuX1Nd5<<14z|4&T@7PN$+4r-o(G zxqSRqrTXQwx6hC8PJJ`rtMYXTQ|exl$qyfSjPPdgwyMboFMr;@`JHOmKuOkhuPVH_ zAAj7SKkMv9&nR8%WNo{+U73FM+ta;Wba9{yf<`jA2+rP%i)PS8%+LLlp~sz*UbTxY zH(^yWP~-nGK+Jc{5v0 zuV?LMIBZp=UVp#eeYSr{J`J2)X~89Yv%sss2X!AV4WHf1>DA4$?ax+)XlMWZ>p$^U zJ09*CZBvTOJ#|xVxSM(k*<4YwVk+MBBw^U9GVMNj`uYtX+vDTG_6q#d_$!$Qk6h-S zlr8u0v2jl+b(iLkkL^Oh4Y8io3Oq5&YOQ%yXtDk zaILjVmw!1gw%6W$LGP+JUG-9^Tt7ZF-rqrg_jS6f-*xq?mU@+|w|7wAe$DM_-^e^0 zGwt}$V6V4V-gzhODEAwAhv&K9b*t_W`Sz<;SNlfZsaD=8pJ~4f@a-3ouJ(XfmaBeW@cQ|R? zcBZ2~ZeFf_@N(@ba<3=n)e<_E`3?3zBY0k5w}XGONpgRio-KIy*Nfb2iwSTd+&rP7;%!;@TVz zQ__&a^r#aj)1a+yL0ji&n;x`vgSNf}ZLM-KJ!tC&Z7q7m5T|yVoT@=vwb91Ena)7V zVXDm`nCeb5!Q?yQn~Nb)RDJsznBUl|4&We%_Efmb&0N;51aN4L)w*`O=Mpp+bF z*#m!cgR|=s!E8M_-QXwtqr*n$mqC#yv1&)h*23|f6>8Xnz4_^*qt#@wdRXue(#3-V zc)1+Qhegbv6+El#S;I4z&Ii{}9g&{<-t-Lg{6-0Hxrfus>8hiwrux`5h}J>66uCHq z3qD)05Ah$Tvjz7M|7t#4@VH>Jg#ZhD$Z~(1YJD|Lzd;ds`TBXVtWH>(7Kff)nAAv=o*iRx0Kuc~bqy4v;${Zzhd zXKq49xoPUnr$#cRPLiE3BapIZ9kH}M>j-D;SqDUw-dI=UlH72hV_28vHcu3qtZjdf zDll2co^>$U^qB@G+desfs_l~lvE_dYA8>^%>$3E^(y|T#Fj;8Yn;_Em;m54Gc>3^v91UtI2GB zKH}bU-L}?!Wp)8j_>|D~{cv8rn4cF_<=bVoZbDyOS64e^L*bgc>3@5g%Vw8CIRkQ0 zGetKyFfueXI5{#jG(t8pLp4S=G(IAd`V1D1Rl>$xf6}5QgEZY89KQfd(2x zQDjg7N5lzRP+L)OXlE2>*mwyh-hew}g@qSj+_=!KF4?#=u1t(BOuPvbqr9J+Ctufp z&gs8TRhyap4YM$}*&jw4S|g`P4gq_qogfup9qgl4C9Q`Iu%Fs-QUh#+1JtHSMQDTx zYR5=T(0>evsU0P?Kr8SukB~~x1{{?vj&|sP8ES_}W$1)c)Fw$?&<(TH4w5R+0~e_A zLeUGG;0iTfJo;cWT%*Phj4jX)3)HxX*b3WV0EXSHr0d)cgRB#L%wb@0vN-vUelx}OVn=7!AUp|HMfBmdU^)Va*AH^99)7qx3Og{nTLyT11`Hwyw-y{TxBnpnEGwk zNqYO+aMP{&Op9;9UAW^`d#TzY+=Kh@03O04cnnLNXI>cp!j5E=lTl6vI2qt%Y?HA~ zhJQ5~)-1Z!)wgVPd;UqO$!&E}soCx4ic*W)pZ_Pfx(|I;D!I=LDz&-4`lZzF{_VR` zhev!+Dtq+5RqFJpzESG(c=}$c+hb)xsp9cYmz_NxU+YS}UZ|`pF{i0c>(8lw0F6q` zJ-y5t(5O_SH2gFw>1EErycb4`Yu7Y2Z3h1UxBqCpmn=L39||`&H3}sqMNdWwy474E delta 33580 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 A2mk;8 diff --git a/specification/MDF.tex b/specification/MDF.tex index 1f18197..db00ef5 100644 --- a/specification/MDF.tex +++ b/specification/MDF.tex @@ -64,16 +64,16 @@ \begin{document} \title{MDF: Magnetic Particle Imaging Data Format} -\newcommand{\version}{1.0.2} +\newcommand{\version}{1.0.3} \author{ -T.~Knopp$^{1,2}$, T.~Viereck$^{3}$, G.~Bringout$^{5}$, M.~Ahlborg$^{6}$, J.~Rahmer$^7$, M.~Hofmann$^{1,2}$ \\ \\ +T.~Knopp$^{1,2}$, T.~Viereck$^{3}$, G.~Bringout$^{4}$, M.~Ahlborg$^{5}$, J.~Rahmer$^6$, M.~Hofmann$^{1,2}$ \\ \\ $^1$Section for Biomedical Imaging, University Medical Center Hamburg-Eppendorf, Germany\\ $^2$Institute for Biomedical Imaging, Hamburg University of Technology, Germany\\ $^3$Institute of Electrical Measurement and Fundamental Electrical Engineering, TU Braunschweig, Germany\\ -$^5$Physikalisch-Technische Bundesanstalt, Berlin, Germany\\ -$^6$Institute of Medical Engineering, University of Lübeck, Germany\\ -$^7$Philips GmbH Innovative Technologies, Research Laboratories, Röntgenstraße 24-26, 22315 Hamburg, Germany +$^4$Physikalisch-Technische Bundesanstalt, Berlin, Germany\\ +$^5$Institute of Medical Engineering, University of Lübeck, Germany\\ +$^6$Philips GmbH Innovative Technologies, Research Laboratories, Röntgenstraße 24-26, 22315 Hamburg, Germany } %\address{ From 83751628a61e226e21911b7d92320d82840ccda0 Mon Sep 17 00:00:00 2001 From: Martin Hofmann Date: Wed, 24 Feb 2016 10:57:17 +0100 Subject: [PATCH 2/3] simplified code of pseudoinverse reconstruction --- julia/pseudoinverse.jl | 31 +++++++++---------------------- julia/reco.jl | 8 ++++---- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/julia/pseudoinverse.jl b/julia/pseudoinverse.jl index 3a6b683..424fba1 100644 --- a/julia/pseudoinverse.jl +++ b/julia/pseudoinverse.jl @@ -1,40 +1,27 @@ -@doc """ -This type stores the singular value decomposition V⁺ΣU of a matrix A as well -as the inverse singular values, which are neccessary to calculate its -pseudoinverse. -"""-> -type SVD - U::Matrix - Σ::Vector - V::Matrix - D::Vector -end - -SVD(U::Matrix,Σ::Vector,V::Matrix) = SVD(U,Σ,V,1./Σ) - @doc """ This algorithm solves the Thikonov regularized least squares Problem argminₓ(‖Ax-b‖² + λ‖b‖²) using the singular value decomposition of A. # Arguments -* `SVD::SVD`: Singular value decomposition of A +* `U, Σ, V`: Singular value decomposition of A * `b::Vector`: Measurement vector b * `lambd::Float64`: The regularization parameter, relative to the matrix trace * `enforceReal::Bool`: Enable projection of solution on real plane during iteration * `enforcePositive::Bool`: Enable projection of solution onto positive halfplane during iteration """ -> -function pseudoinverse{T}(S::SVD, b::Vector{T}, lambd, enforceReal, enforcePositive) +function pseudoinverse{T}(U, Σ, V, b::Vector{T}, lambd, enforceReal, enforcePositive) # perform regularization - for i=1:length(S.Σ) - σi = S.Σ[i] - S.D[i] = σi/(σi^2+lambd^2) + D = zeros(Σ) + for i=1:length(Σ) + σi = Σ[i] + D[i] = σi/(σi^2+lambd^2) end # calculate pseudoinverse - tmp = BLAS.gemv('C', one(T), S.U, b) - tmp .*= S.D - c = BLAS.gemv('N', one(T), S.V, tmp) + tmp = BLAS.gemv('C', one(T), U, b) + tmp .*= D + c = BLAS.gemv('N', one(T), V, tmp) # apply constraints if enforceReal && eltype(c) <: Complex diff --git a/julia/reco.jl b/julia/reco.jl index 3449029..6a4da06 100644 --- a/julia/reco.jl +++ b/julia/reco.jl @@ -40,8 +40,8 @@ u = vec(mean(u,2)) c = kaczmarzReg(S,u,1,1e6,false,true,true) # reconstruct using signular value decomposition -SSVD = SVD(svd(S.')...) -csvd = pseudoinverse(SSVD, u, 5e3, true, true) +U, Σ, V = svd(S.') +csvd = pseudoinverse(U, Σ, V, u, 5e3, true, true) # reshape into an image N = h5read(filenameSM, "/calibration/size") @@ -51,9 +51,9 @@ csvd = reshape(csvd,N[1],N[2]) # plot kaczmarz reconstruction figure() gray() -imshow(real(c)) +imshow(real(c), interpolation="None") # plot pseudoinverse reconstruction figure() gray() -imshow(real(csvd)) +imshow(real(csvd), interpolation="None") From 521b7fa58c5ba4df54ac90458d87b577f8531463 Mon Sep 17 00:00:00 2001 From: Martin Hofmann Date: Wed, 24 Feb 2016 11:00:05 +0100 Subject: [PATCH 3/3] changed signature of pseudoinverse function --- julia/pseudoinverse.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/julia/pseudoinverse.jl b/julia/pseudoinverse.jl index 424fba1..743ce1a 100644 --- a/julia/pseudoinverse.jl +++ b/julia/pseudoinverse.jl @@ -10,7 +10,7 @@ argminₓ(‖Ax-b‖² + λ‖b‖²) using the singular value decomposition of * `enforceReal::Bool`: Enable projection of solution on real plane during iteration * `enforcePositive::Bool`: Enable projection of solution onto positive halfplane during iteration """ -> -function pseudoinverse{T}(U, Σ, V, b::Vector{T}, lambd, enforceReal, enforcePositive) +function pseudoinverse{T}(U::Matrix, Σ::Vector, V::Matrix, b::Vector{T}, lambd, enforceReal, enforcePositive) # perform regularization D = zeros(Σ) for i=1:length(Σ)