From d781ef87612cf0e41e21bf4112379e92a4c684b8 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Sat, 7 Nov 2015 21:03:37 +0100 Subject: [PATCH] denog7 prel. artwork --- denog7/__init__.py | 123 ++++++++++ denog7/artwork/denog7-small.jpg | Bin 0 -> 48327 bytes denog7/artwork/intro.svg | 184 ++++++++++++++ denog7/artwork/outro.svg | 215 +++++++++++++++++ denog7/schedule.xml | 408 ++++++++++++++++++++++++++++++++ 5 files changed, 930 insertions(+) create mode 100644 denog7/__init__.py create mode 100644 denog7/artwork/denog7-small.jpg create mode 100644 denog7/artwork/intro.svg create mode 100644 denog7/artwork/outro.svg create mode 100644 denog7/schedule.xml diff --git a/denog7/__init__.py b/denog7/__init__.py new file mode 100644 index 0000000..2869b02 --- /dev/null +++ b/denog7/__init__.py @@ -0,0 +1,123 @@ +#!/usr/bin/python3 + +from renderlib import * +from easing import * + +# URL to Schedule-XML +scheduleUrl = 'file://' + os.path.join(os.path.dirname(os.path.abspath(__file__)), 'schedule.xml') + +# For (really) too long titles +titlemap = { + #708: "Neue WEB-Anwendungen des LGRB Baden-Württemberg im Überblick" +} + +def introFrames(params): + move=40 + + # 1 Sekunden stillstand + frames = 1*fps + for i in range(0, frames): + yield ( + ('title', 'style', 'opacity', "%.4f" % 0), + ('subtitle', 'style', 'opacity', "%.4f" % 0), + ('persons', 'style', 'opacity', "%.4f" % 0), + ('rect', 'style', 'opacity', "%.4f" % 0), + ) + + # 4 Sekunde Text Fadein + frames = 4*fps + for i in range(0, frames): + yield ( + ('title', 'style', 'opacity', "%.4f" % easeDelay(easeLinear, 0*fps, i, 0, 1, 2*fps)), + ('title', 'attr', 'transform', 'translate(%.4f, 0)' % easeDelay(easeOutQuad, 0*fps, i, -move, move, 2*fps)), + + ('subtitle', 'style', 'opacity', "%.4f" % easeDelay(easeLinear, 1*fps, i, 0, 1, 2*fps)), + ('subtitle', 'attr', 'transform', 'translate(%.4f, 0)' % easeDelay(easeOutQuad, 1*fps, i, -move, move, 2*fps)), + + ('rect', 'style', 'opacity', "%.4f" % easeDelay(easeLinear, 2*fps, i, 0, 1, 2*fps)), + ('persons', 'style', 'opacity', "%.4f" % easeDelay(easeLinear, 2*fps, i, 0, 1, 2*fps)), + ('persons', 'attr', 'transform', 'translate(%.4f, 0)' % easeDelay(easeOutQuad, 2*fps, i, -move, move, 2*fps)), + ) + + # 2 Sekunden stillstand + frames = 2*fps + for i in range(0, frames): + yield tuple() + + # 1 Sekunde fadeout + frames = 1*fps + for i in range(0, frames): + yield ( + ('title', 'style', 'opacity', "%.4f" % easeLinear(i, 1, -1, frames)), + ('subtitle', 'style', 'opacity', "%.4f" % easeLinear(i, 1, -1, frames)), + ('persons', 'style', 'opacity', "%.4f" % easeLinear(i, 1, -1, frames)), + ('rect', 'style', 'opacity', "%.4f" % easeLinear(i, 1, -1, frames)), + ('logo', 'style', 'opacity', "%.4f" % easeLinear(i, 1, -1, frames)), + ) + +def outroFrames(params): + move=50 + + # 1 Sekunden stillstand + frames = 1*fps + for i in range(0, frames): + yield ( + ('license', 'style', 'opacity', "%.4f" % 0), + ) + + # 2 Sekunde Text Fadein + frames = 2*fps + for i in range(0, frames): + yield ( + ('license', 'style', 'opacity', "%.4f" % easeDelay(easeLinear, 0*fps, i, 0, 1, 2*fps)), + ('license', 'attr', 'transform', 'translate(%.4f, 0)' % easeDelay(easeOutQuad, 0*fps, i, -move, move, 2*fps)), + ) + + # 2 Sekunden stillstand + frames = 2*fps + for i in range(0, frames): + yield tuple() + + +def debug(): + render( + 'outro.svg', + '../outro.ts', + outroFrames + ) + + render( + 'intro.svg', + '../intro.ts', + introFrames, + { + '$id': 904, + '$title': 'Was ist Open Source, wie funktioniert das?', + '$subtitle': 'Die Organisation der Open Geo- und GIS-Welt. Worauf man achten sollte.', + '$personnames': 'Arnulf Christl, Astrid Emde, Dominik Helle, Till Adams' + } + ) + +def tasks(queue, params): + # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl, titlemap): + + # generate a task description and put them into the queue + queue.put(Rendertask( + infile = 'intro.svg', + outfile = str(event['id'])+".ts", + sequence = introFrames, + parameters = { + '$id': event['id'], + '$title': event['title'], + '$subtitle': event['subtitle'], + '$personnames': event['personnames'] + } + )) + + # place a task for the outro into the queue + queue.put(Rendertask( + infile = 'outro.svg', + outfile = 'outro.ts', + sequence = outroFrames + )) diff --git a/denog7/artwork/denog7-small.jpg b/denog7/artwork/denog7-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd039e5fb43e8a93b937e5843de643df5f7f20c2 GIT binary patch literal 48327 zcmce-bx>T*(=fWY1PGeo?gUxfgTvx1?!n!iKmr7JS=^n4;4T4z26uM|5Hvx91o)Ob zKY8ocTVLI}f80|CcJ@r4>6xDP>3v#!+5!+td)rt703Z-E02T1x>**MPBjsUc=L3KP zAi^FC0{~B32rky{?#_bj?2c}1Cgx727Hnot4(#40&g?)o4t9X>TW@C*Gdl}+N>d9f z8%Gi9pY2`Lls4uf)Y?2s97@iT7S=X$zOEMPzRDVAzIJ8;=G1RRDTTcSy&aq#EZj{f zy&dcw-2}ZwsQ(Tw2x~t-W~Zk73*v4kLM{G`l~PAZl~U5l)q;|Tjf>Tc0|=z#J=3lsA-$bbYwJ0wyFE%eO zHYZmrcA$WO!1EZKoUAYiRyQ9m>(k052?X69<+>~7=aNclXXiK&x^y9hOG zrvEI#!C6V^KLh`-)N*imUe{k}H+Qhbf2Z-kLc3}BI9srTE!>RVq!1lWai;u;ph&M5}}6mu$kMK3vvMYVN~Sf=HTPx;N=Gb`DJ)H zr8p%7#3cm;csV2_|2@Y4`mT(WG`9?&xC|$c3=k;IEx{$gBOwjs6%df(lqnX9O@!CA&{pVeQ|LePglCBme?oO^6PEPj!<^WY|CwC_|YbR$)Np)UIMkNz7 z8^`AdOwSwi&w8aSTx~op%w=4i94P-%SkUHwo5BBclt{<1v4yc;Hja8E0M zU;r{AA|etZG7=Ip8Zzwf1u8N!>I)2X^cU#p7}ywpFKi5~m)I|{F!1p3@$v9TNk~XY zDgJZ8p`f5(Vqg+tV-pe+;1Cf1r{n)^etsT39#!l_nB!Omm59-O=3`wPk~?Qld6{h(tt1 zHQi+t&CE84Y2)MP?a8SoJ{aDQ+Inpk7q@Y_u8a+WHKi&nu$oA1KrZ#Q)>I%-wO|M3 zR$?QfC`dnLVgRlx9DFdK1`hBBAchFL#jxQz8Bqh|@+jc}k^uT|A+MO=0kAeD;s7Ns zKo0J?`S*T?P=zN11i*l?rQtor5YcJ#5CdQ^_%J9Wm8x9A02$4|Y$GmgU|poR1>j8{ zARJ!@TL%!16bVly9e^VP{uNIh{EQcd^cnvP05$*-{8BDG5=*vRqP$V5m$@!}I}wc# zI{=TI{=l|v!pZ(}StgsaYWBr8xMhd=M&pR-B9L*8%w;H(H2=+%faK`=2PV|=t$A99 zmkgo%Gc@c)gg-*>Tqf|Ou6cJ;kP<(ozhaJ{uPn7*=t$^yI!KzoOFIgEd?}0t`gQxc z_Kmyd_2H#e0n|3{W0I;GIrj<90@{GCV3u1m<6fB+qXN<#qhh^T--34pAjO$y{_L_vvC$?;8a z5!wi@^Cx#^rOoJcMGRY@o53Y+8MA_%9gY!~)1y>(MUzfmYOC zDE=sAe0l;{%dg&9831=qU+3fsoGe`u@10XY-3j~p^LJS*IrSvM#PK4}(90HFR}?$c zcqc})ga!yO>?ETfJNPTF2K;6yXJpB z;xxPLyDed3m$^+A!|$zdr@5P(D7e)UTxUgl{hKC(?uEHS4<9k|ZU7n~K8O&`6h=*a zO0fW3Mi^1Cj{|Vk0JUPzyo&~)1rWkvh|vP1;jm$JhJ(qF7~*z7IASEgJ{%qq7YRma z00)91I_)N60CqRLi2F^SSaikJM07VtAWYQYtl*;n{Ak^n0{~S@^jzSPSYB}>?T$_- z%g&!DT+X+`TPhj+{2{}VD%(OW{%sT5TW85DSj8Q>5+ooVcLWE#@&vIb0Bt>IT(*eL z#r6Ht%GVvdE|-RoQP+e?*4Ou%2YGF;Ee}!I)!$h7biDkW6PJO9bG+R3BC^&h&a>~N zO8}RSR^~!UDqQt1KLH}e->FFf3IMWe7}FhR4`Yqh2Vg~+U(}jb46{(yl10elVutx> zF4_}dhg|Cdg}iWSd8hhwl>Ejz!?x(L?fks;Qoe9{dRq`iL~6hmfq|5><&5$;Cr^V_ z3XYtq2?cf>YBWtkRz0v?tmljoa2frw01GXhslm40PV~%;3?1)spxG*I%xIt2+KD)2 zfeNH`PD0Td;zDvKZAl(po4sg0#HgQRT|4O}(}*iQ5Yra;WdLOJQQnPVF*eNw`3tR^ zN|^K=TS&$y{e#Hah}jHn&_h)*9fcMb%?z3Ix_&Avmca3;Y~mNGZBD^Om*V1q@&3FJ z+FPkU_mUi0E~R&UOhAwt^{afwzY>Itgj$6AZ}kIs=JtO}*T2*fOwgYD|L(LTfGU6l zJ_3M^;MI*K3)4p7|40`qkWyRCyLE1%W_z9p5PD)RS zvn&;gBub<8y9kjHX5Ah0qTuZQ?U{0^Z}1aWhKweEIhv0Y zBUopi5*Z#v!o$-$Y#3uLLHNlC9gOeHW|VjW_tZ*d5anS!%Lh{$HSqla*u3G2Kj=zF zcEl8i>?gnu!%R)PyQg}{bf!8uxD9`6Y{H3DY|S@;Tf;kqExL> zr)lCQLpBHGQwyKz0io&K-F=dXd6GQd{p2n+NM!hDcgJheZ`%M4zo64UKTYzv}7xK=nExR687xg%P_76SFiQTR*d|#_3~-M;EafSb8Ak*ZbRjvg$3fxKraE)AiXxD!nD)_3h*bS zkGht1uJBK}x80q)oG*cfPS)Tln~+sqlknBkQ6uL7;>;02&Bt{m)W%eY^{F|5#9&kO;AnJOR9aOW zn3BMM))djOzkgH&?X%f?RuynC?IDJ03ezl+Fy+t(kB5&LD8&I!2*=lr`VQ$Y1AR?? zR?nzt07jTihS_L*N+gnZn3y0p&AMJqjZe%$IRt!5hKG3%7#BV?n)ex$-yLe545kG> zp~_MYuyE)J9*Q3;Oe zdDbqKnnXBL%g@Wla^ELMf`viovNdVj>rViuC&1KN{p0Ri2y{9b|1xHA=OC7FtjJ5A zaS^K}Rq87$iL4^o9N5z_^w5?VB$vbBZtsOtEy>lgsV<+w*~6-?2qpF1VsTImF^U%Pq1i?;T_;O53IA7`yk~SBY~)FIU{6 z`GRfzILTP93G25G)vQ0$aQ;DTnbY=#?3)|E)Ph5uAMCI6qeIBdls`Z23Rn44*Od!y z`Em|rCDrrq#msT!nM=im@)C!>8WrO%>MnFm`>U7o7yz_l&nD>EH2w4Ww}}JeH+)1f z?rv1mz!HEYOh+LDY{KCg3CP?0OleTRbr~9Q0eWEO=pD?I!({(E#yfOb4mM%^5S~U9 zs9cWF6TsXZgz!U+>r!p^j3lk>w~Bh$N`dPs0R$dhd|51x<5IEMqG3)lp+o3pRM$wLH;DtUy;bDi%kCU5EIw}Mc!_KF?=sLY9W8aLej~J`)hsq253Gk1) z`9A?gHe;Zo2+_X3G7`%@WRv*$+jwNmnWCems9`?NJ0u)&qB1#F)jCfBFxnYaV>w4I zRow>552gjnmNpNcYoxTZ50 zxO?S1x3}jPJ(^|`#3CZfF1>?YPfsV;ObNK1s%Z_^Bte*Y{Av&YVkl8?n+cjvfm&Z; zr+#LWYR$O;xLpBiPlLh1oHZB;tZ$!PmTqk>c{8nPH+w?2ysWL`(2XC4Zkd=!kJ0BL z>l}miHH5E8<9mEi(?>sX^tbZB=yo^q{>+n(l~0`b_`*1yoQl)ilegonAo195yw&(f zh?uC9$$K2#hCYNGvm>Gvb7X7zn4+-Xw0C8oSRzV zC2)$MARI(i(Y!`xu1h63&z1Vp!lxBpXEqF$GMB`IR5FehsT95Q$01ec1Y7sD(K*PM zvIa_gNc+07$EEEvgwCn}b%;PSt?XF`@Yaz#^(VX03=y$3QzZeDE8NCjk$mJ@2x8Nq z@@G?LVea~5@Yp6u)nzv=%YEbfA?gi;xL$FUHl+f0qQ>Q3VO~gxYZWisth`D zl#Nf-7q+{{4LBbC?GPWBO2l zO(Y@*!aFsQ@BoQ-h>-|>VmM+n3o6l4sKb9*ybl{b98L;V5P*n|jSv-6H@)t?Yg3fm zQWadJn9C7jEw8c5qsgYF*{b&|DLMAF7S?9roXTVgC@!a61njym8ac}?Et^KHqAAZ0 ziSRW8)i}EE{m>5cv$Hgztu(b%-@wN76&Hio$Zpv*tqHLOBYZexx1=Pn4#WqArUn6qBn^$7J{wwmnNt^pDq^TM#QAPxy&%sCU$VWdZ0pZB)r+2^EjQ+V zY;RtbXR7G2W*H4gzX^Le`sS|a4}lL_oRw2&^e=C@b1xDmNx~fpGz)cevP2P_Rp)3} zxPZ5jXM0UZzqxGA3|1g;v^> z*S+hZphMRK&GeyL&AoM*y3dVW8kf+^6k#&irYV~mjhcSq`Ci`|d&d zT>)XtdFRoYxfo8zs7=9CUCbucZ8^#z0I8HdX3Mq$lp)Z3Pl-fP*M7XIN0(h7$2uMn z-L*2vPy}bsd5F&!)X`Duc$%GY=lV+K@`1SQAd_Wy)1m>=I*pCoOGEma@1?r`o1>7% zVhLxuW?=Zt&aa&tLhrlxxpN1f|v^ib{u z+JNnqT2y`bb%hPt*Jg0xlmG=VCUTpn-QLH*Ua=ZKY%Dk~n|)7{@I`wEod zoP*L!$P3v5F|FmIJ#{bfZ{khqkH0;v%@ zX-7Omk-C&LEh+ecR)^6i)7?DSz$Ozax7;w6Dnb zghFPB7q&i254v;TQ^`@A!#t+TL3wknO_M^qVn7^v({M_)H$F(Bs^@o*0BbWCI><(=PYC2BJq2hZNJBN(Im|G)N;LF>8e& zp~VD~fm=0B(rkF;0jCZbc;2&uZ@V*`5_wpOA`2q2A_&pu^k}%8b+9ihtjSP9l zr^)bOF*r~X^JrPdm4OkE<4&1XO$`gny)!#omy z&59!Dq)R_GE~N8JK7wISo!GIV)-OycB$TuZ%;XiL!>szi`lT*~*_e$Ds>1|=qeLuq zKR4q)|4p(68W0dwpIkX%oGs4KC18n?Y@pK*zor?pzf_y%c3>Zvoci`^NzSF)1y3$_ zA%UFj^aMZsK&LsOx*AGsdN&}39R{5&z=oIVfh0PoN;zyblQi8CRlLV9YKx8W**(o@ zpZ-zKOeS>{bd1WnK!D#M#LuFyo@3zKYV}6S#P*Mws}i`Q1)S{!N&4iXd7ea&mACh$ zF@5=T_IH~(8eK+k@larm%KTl~{Pp#IZ0s?eFl5~ zBTnEA`gpEjVZ!kVpWJHUUSj@q^_Ug$m8m_?C?t zX~%l;6|w>|9&B*0(w@FNV1hEYlHHOc?zOxUm))Y~J8c$sQ>NrI0s{OsG!NR+8Q?+e zh@UdXln5lD$eynOt)Yo|P>in8*S9n6F!YffvY#?_L9DF7-!sgd=8{~B08I0l;XjT! zEKJd|X3@mpuPfrmM+KM>*(s&9a7X8Rrw{avxszqN_m}0(hOQYI;6q1x3EK$h;kx36 zlOcfumPg*ybdfAR=`U2`d|wHwx?B)0Y1tMK8UTjW#eb-#*1y(uj~x|Gur;0RE2dM% zs|Q%s!@YH+_O54>vNp^FGx0Z6C^%Z;x~-4&NAD;dGR~2FZr0-zo%qmBosSfe-_LBI z^{QlUhte_T)hS3A^EYe%XN5`%jz&7tB+bOyFS(@YEC*9G`^Z8&ZLOqd!ngJ(BX3?{ zq5zLQIF-zlr#_#k-pv0wNbD>TH0g>OQ{Btyv3sL{NoLsjh3JQ^9+V8TjNm1)zsWAn z0!c!O;&%ug=^RF+b<9*v_W;-wj#7;drb}P}(6d(xQ!elk@R;;4qmKGc4VJ{h{>PJr z<@25cpifK*vQ^bY0cfz;8J4EZ0_2SYd{Ly}#;=qHn+_Sy%k8I%rt7ED=^ZIbInQNd zzO6%J0Vuw)NDf2JQvw+3}X?O@e{))zk4rx{5O4txdiY7`V4F3Mr z8zIzTDnjuVcMFZ$@*To7Z#O_bDZ|jDPS##VBaEXkOTqE14vDi;U2bSjV|086w;=Qt z_+@pcIZhqS1smr@#)UKyehV#MQ5BZU&n9i~ffEF1{^ z_F*>BdD z``X*@<3+Wuo}(e?BtbiCFlT91V3|2=#j-T0UXe^edQ&hNLS8N+jw`cj=j+L)&OPR6GP`0&-~cTsbJ*7i zi@&#K;4*nZ%F$3R&4rkq&>q_3JX_QnBQzwV#I2%BUiM*s#BzEo!^X}4O%;(LxFBXp z<3SL^&+K7^qX!a!A}G%Hv_J zjP5ZSH6jwB<=DhvzGKm%{JkvOSm8W$2WirFy#dKLQ>VIcyC?__YVr~;boU#}VPRoi zmld(Rhz#+`M0ys}k)6i!SR`Wd4DZeujSwwe-x+OAL2}JrTtUn}3zqKYh47ab4GPq2 zWtZedt&6#3ZmPmpNVNlrOjWvp=umA`CT65bu?Q0tIYs zJz17zbm@H{$E**S(b|DZ9sD7Mq(g z3Ypo|eVphPkI|hH1~k? zCKBkWGFtPijy+LwP({G^jye?mCVYx;&d6kc=@17wuTiJvrB6 z(9X$8uiPPZP6|dDlW9+Nze?{}^NoD)UvFqCrfT4#63C-)6j&P=Pg^mxOf0$L5?_iQ z8qG__rUwaOy)#44WW=ad?PX@|P_VRM)R?A6j2-RulaEGI;50g6(a*zxq5#aPC2CBhbFiJoQWVl&ewoNa0uj;T@m z6M-RHC5v*0O*pWv9xhz-AfeA_>OoAxszDg55_kocU`D$mw^pl?YniMJdB0BxbDn$% zk|oE@N=PNoXfpgn9u~lZPF;&tocPI=mA&_gahMZDM(TU9-;81TWzu71qC$TqC_fI( zR!m8GG-Wp$cELaSAiO}SEI@GgCo2H$rWyt;X|D_b^}|cS0v&WJ4ob?anH_8k8O@yM zd=LjLN=L_lc~^n(Tu95CtW9khYZW#W_(@;-J@hFQrA%CXsdq=MY>A5s$6e=FSUVtP zdz6XA+28N_ZpMKZ)m%TcWJW53X99o>PAM2~`if8@(FoyPFO}6ISqSEW+iGj^zRK{_ zbDOwlZDNSQ`{P6;a+Y#14Of+==gRyTC;<^o)_8$rk?w0hS=u5?^eEPi%FDc`^%|zH zr*lY;VnZH|rJ@7(QfRq+O0U)Hmf}gS;d{TuZpj&aIOf_cW!J7;PnkrU5rO{S8X zWiBx|u0y36UUi_{1d?!HL-*WfKy|_yoYP;mthJ7Gxw4fBPi~oB{P)bWnN;)o|O;!+#*^-sJj6LY!v-H9jk0=esf#Xs0=eNeA#{?wMo_>vxu3Bom%Aj| z%~u4p(m;;%+Pq2(k(nE$H1X#E*;{1ZT5zAF}TJ3|UwS@{CL|V2vx3C4llm;^L#N0+HeBEz3EiX={;Rj$ZvJA56?vQ$3PZpLCk~Lf2%Vp%IeC|waTXB^i zSRkRy6+qK2;dug-&w~XuZl{6`D%h&bZ5#`tM_3eebwxP~R1#ebG&}2xE6R=+VwJ3= z^|GoAu}$XFw_R*zOXf1!NU#i4f`r@sRGhQ%D;6ROJXt#>!w*(4=eNr3q+?s>4I7%S zz$^x8y7D%o!M{Bq<{WW_tBxj)!)|fK($b+;xsEH4HFB9N)+d1BVwoezNN@Q?{U7;l z`FO1hek=JzWc7A)yROAmTjDJ1y6-=rU5-`K0!76;G^thL=r1huOHod3zn!b3mbJ{c zcyUGjB6$L=mDp6HC9YbtS6R9?rDL6zjuMMn>@r8Q$?R6Q{jd+-64j7jbFVFtH){hP@E*Y_w<;*!N}Ye3BbiU*0#)GjM>PyWXQKb6_|YrK>SdY(mh2xXua5QYMOsBT{FCvC*7pl z@fLaro>d)tK#&-t1Cuxx3Tge?c7O*8i7Z+JZM;}wT=c|Bgt)p(^Rmqyn6t7Ozfn*F z*`}hLfh|JOdwbbEg|?*v7xbps2}%hGz#8=$@$+oij+K6c!koNn4zAri%vCf1X_zpA zMV!@l2z{<4wFRt!VvHp^JMG=n95vik$(OU?L^FLJMukR8KX77(XssMsziY>=*N1D) zeN)C9f!p37t&-J?5VF}rIt`&9&^U4^3eZ>EZjKve^Cv0v_%gba#BH$Lqg$|LyEjdm zXa|k|sQ@|rR=v3ZJiu9T3h(NOCCTFZ)p={1H!o=029h?_aemxY<(D1z4Lc~TBWZWt z&F^=!aTQKJq~}zkvgt>`FEf1^9)6&cwIjy?FGT=5iF1Z2R2vR>Wh9u3i3amC0kEul zo-!qNx>zA75Rrqi>{-LU8-Gp|;UM!e!8|xihB4I-4gGKjKlS^{$y|WA_0ka2u|;+WI=9`puB+(f8{gNDL1?)c(6C!^@w-p-sIYCx3r(`W0!Ct=MQD zDp5&@eb$cVMoe>(hD-B$>LKs)je?!SoV@?dV#+hm(81fQoY)HUH7@I7Tinm}|Bz6z`yp4ao;b3`9QlQl*KJGOb~X&a=ds|=7qcAy zt2-&u%9$P?;|h?FoWA!HpfKV>X6ILL#}h#9gHi2-=-oM%>>GQgB{gj(dEJ%NXY!M+7rlF=T@{t{%01+j4bnBJ`{jdDn%X2@ zyBy(eDf0x#i~eBRHAa4Mo?i9RD#z$0RhspCesM9E1G3u$k;EHd+{68!sb9B>UEi1Y zKfI(I+?cF?EbDzliuLgp4kFjr8J1U))`%Nx zeyrlWE&Qi9ZtLio=9DudLTEC|BC0Afo={262cZt@eje14E^$E6lgOth7v(XjU5xe%lu|q|8T(OCTjRh&j(5$$&zr&+4*l- zeO7i48Y&rlf9V-E(j>6IVO-?u11g!x{F%|4A$GOA_Gk-C?OTcPUxXpxj04oPT5K3e zOemQbl)5B0=We6R;|X9@4Shqs*zIQ%m3t5>HU2Z=_w!(t&%;5aOMQ8zd0vf6F(nHt z|IXltGd3zsRVfbj%daulEpsD|wZV9YAIqjhUpVRrsC@lS>An}D7ff8WQi%^>y-m+|hgluu5`71f8%?|+-hB^gn@<2we-xEJ zN6)x9h|M4O8XGUlIWJf^q8=}A6H@=&xOJ5}FMMu{9Pnn>_|hxdrmC9Nn-5n0R=Y7I zI4w%SsE_JaNBnbS1#_~=h@D%XNZdM~i<~Im5NE|K&bXlr;wP$}@f)e$Wvl)F3i)2dDARvNaL2uavid=t;wHs5!&T$JNbK?GmlTmV0bwvyHofx@7j1!LkAY zmPULrA_FffBjyONy%qoQ+F4Zd<)NCMp>s84&Ms&v#CkVQJASdOLAA^A_=TgQl}ESi z=NA<$S`2wvG*UM)Lk0^WexdgUysI?Dd@7~lfE>Mp?{kr#Cz9iQHKJQ~>S^6O`FtTo zexhJDBHPBngH>AQOJ&Gs`-1Yt-r&cBRO-Pg8m4Ggm&#F!Od66b`q2v`b}C!}eKY$q zu(pA9hAL%Uzf=NEAg-P^*+-z!2Z+Pa<=_eT6QH+oh^gx5qRHo7y3nS=22E}4wreTA zw8}WmBIHR9tMz<<%(p*kEs+J$FbyPA`s*re1jf;{4!vqWhrM%(h|wNX@5cCMLS1-H&NgEt|X!E0CmQvsV`eQDxtyQE9OMnkCs4 z3Z{r+qe)@zqEUhXU=LLyXUFipWGrt%qJ|5Iax3&l33X(~>^luoie0?7atQ%>1)G6v zG!_D$_@up~=I@BukZ8`waMn4!=sh3RcaSWm9hnG^zPGeH zmMyqkEh>SCdWaj17SeeS*6}R0tz>)jW9KKj5xFKRccY$3dC{oTIciXqXDUg|@03wF zzQ6r8Quwi!nD%h&>?^UdemF>7A%*qU2P`G2K|iE0C*;I$I=RAO~aS*5;G#G)3hWyG201+dxVigRWE54&JH@`euk zovyw&%PHx@iHA;o;Vl>A-Tz~Nzr`A`;++5WruMMTN$!YA%7@}T0XWN!w>DavZ+CWN z+3xT0{v@7}+bF2;MH)N-N)z8|L2svGRD_mwm9wadiadHR6mM7rt#Vx5qwR(+mGLFP6Ul6j$^rcuNoG9|Wbixg>Yq1COq4~#HG{19V%2&M9o8tvPj zEwYYUFLzQJ{?pf5LRBciZw0Tq}?i~2D&Iw1%1v&|6cq_li`QYr!uH(NnW$w z#;wMX>+Pk5sI!@$mlsVAeS`z60y}q|{%wRgl#0OGHKeyu%0>So&+_g$KMJdKvpJ@( zvq?dhUnc%;RZ!-bFLYyz7)Q7)T)RN@x701TFe4ulA)^7rRb>pNBvu4Wzx#)?{-y;r z;UoW^EfCH7!p;@~BlwF*G0;H=Pk`(Ghv)}av+Yiyhpe~5T_slYekAwMk1W+P@pY{=_S-@4B(zgK3( zH=sk>Mc-7X645wiP8VCFFmB(@bV#OB{tmu>nYnVzewvj1zV2h6gMUgd^u)hBoe`@I z&9ahdxTeF|pqBpxnSRHjd1HBjSaX-n=;wTtmB&XbH^mC+jC0c8DhCTy+7n6HnKtHS zb2yDm_CsRcpdL}KFz1DjE=vlSJaem}h3`AHK3_)>@2&~5dWwE0ub5 z`zP;(wDGr#>MRMT?FpE`v$zR7j6;+TwEfZg?z#zWrXC7W@^uHVSRv;p9&q>$j+xat zt-S+<6a|h{k5%Kmg$Kj&#u>U@B%+*sU5jf%iI--&UNot*R+f=pi%ul+`=YN`;O+=a zS@CJw=r7kwhtiPT+uaK==xHZ&WgV{I+AnyhbAw7@Z`IxUK%ai#AT^6KnRO!%`u^V#gWItg``Bjr|)vm09 zgDx00ttNlPTy!B9AISD-6?Tib9CIA~Z0ZG#9+jgyaKYQE#pCfiM4zm3>DnpMo7&LZoGO^+vSE&Xz-5|H-En698Ryc{NUDJ9kC)q8dN;W!Mv-^9ew6R+vtOt~VWwF{}m$+wD!7 zEt=O1(wU;I4avIm4k>nQX$_ujMTN1;66MU0tdUWsKb zu{%~DEoUp%q6F4I*S_Fcb3YlK;g8=H;Lj>W!`q|`zo~lO%5j!S@9I+VD+4~CmF3w7 zx=&Pv!$Kp-kuxVoY{434AmtpIAwtXaM0MZ{`2xb$h@02=B~8@9o@{ErS5J0OgWk(o)y-se6 zF^-+VimG0cYJRNh>cu@S&KU_C1$?d2_uJh7-$zJH9cBQs}keoRwKWY(03n_*I0iG5DVz192Oa9It~fu{RB|IQ}U^c zRt%+oE1a|J(!QiVF<082aP89d+Nt5bq1w4|QNYLJWVFi_)ik>p37VJJSizL0qGgki z!aq3W{4TE6Z^`jKq8BcSM!d6F^M;5kIc6l{~lqZByL75fdrJ z%O`;UqwJ0>FfK^6E?^}G~Z*L@Xrj-jZpvHyV!};pBKHIe?o+GHp+f#^Oi$Z zw@DXD#EmlaqIeiK9+y&fLQXhnsJz8ebrBI~c~Q`T3aGpfqBW+NTTIcHvf znvw>8oMIN>_d0cW^uC#z>U`{jRnT_GX5nue5W@2*i`^&OL2s9;dqCyZAw`fqHN7O%{@XHzHUc{kG1JZ2`&)@CxuG* z7vfQKkzAhE1nF_6uL1Gt?Hf*XwWess=90+Zs)iystT6g*<|D=>?R8~Q21oN6BUpC5c0LDuC_@nw>Vc*C1yJ_e7$qk zb>wr<peA^It%G9uQPDEl+%rYm>H%Yq!6PdxK;p69?%a1eAH9AF81ZR_pDy`aYaFJ#~7{%*57fYG>S+h-ItT-o_&XTv#*4W!z;^9 zSN1^<#%hPZbQc`kSaw(vw#cC-lTDo)WklfMrQ)04g7mqn{@jHtnzbtE%!dZN-qB(^3EWv-KW&cDOPY&CPtdt} zDZf5Fuq4oL(@VNej(d>rUO6y*apkeaS~-h6`At;~-bAV_B4!PEC5#ecxFVpuhgq)r zi+>QO*`Ki&KigL8Dr7w644Q76wO?vSC+bowRsC7^QzhdW|G*we_Np1FDU`g!MZ}26 zREzgy1WjHa%?w; z9Z;ms$7ODE6<@dRd>8Qh@WDU)n!+P&#lP6XqZp|PiaH|BW>hK=1kY;yo^WA5pQ@Br@9o3yTZ$Nb!#Bf5vs#yoiY|#zzkU7XILH<@ zcuimB%)3@JDttmIqHCAkZ_G!orf%_JKA*~nGK9iX?WzlJtg_DF!iat%YZIq(@3!!& zpkicDBSv{xW{|{%`3!Ln#!{m1w_4TRQ-zHo*WRmk&Hk8pelzc!PkzSawS3wgmaQ?H zyQ$j9bTnl3j(fYcw8MYpZ}m1VS~M$l=B}V~fC4|Ju5&6?z=N3qDxkoe^s8`Y>yOsn zj8@3&^7MtIwph%cFGII8GWC4A0-+wQnub+uTEdX94JIVaPpRec@wjMeYose*Mt}1e zeD63=XFKb1GUatBdz1Rs?=XXNLCwB~drbA)`Ea)0%Z{-c3d(`E5}PZ!IxCD5(-Y;T z17}KoPR5P`7W3Md@@W-wsTq5HlLcEg#+*C#xv6iw|6mU6onQ6OC?9wB&TJ3$Iyk;8 z><&M*5-v7oTK-)*Qxv!bo_qUF_GLep;~%qc`8)Q9n>fWOx4T!=+R3qHQwxnh!Q1%4 zwjh)vv#A>`*@-7Lz^NQZ9o=weF zE)!#kM|U){TimUUYCfhhV?v)j$SlrdGYYDOuv&1p`5n;W2<3n?z5L^cr`ybCHrXtjG!WLrvh_N9;w`u|~%>GlTbG zUyqx!gI5oh{DM;YXi&?=UU)30%VzsQ%El>B+Oy$uphYv&f>CrZwC_`swqdRRi`HA$m6Mshy z-*P>a`1cEAbEvxFT%$p7faGxqg!!X|q+PFHAI*mn6~}MO1KQo0F_?KCs3@g=JLZ;| z9LcS;iaN(@t-sGj6lY=pkVcIQ_uDbG4JjP{^#;<0yYHd-)cI<-b0Kwi}zY@!?p$c*BRi zOh$v2sE8G=*m6LeB{v9|y)3Afh+PgXR7e+>Lu`E`kvugOZ3+8<1xw2i6759Z6W}cR z&_u#_zm)w|q{f^^ei&mG73-|}EKoH_juu`=KbVx45p{uNDg|xZ{G>s$I<%3Fj#Kmw zEaVTY39T)0(2PagOpJ#U0*VsiyFpZD%9TFH1|(7KEg^n$P(?3DuJmRSQPs#oB^)+Y z>m074j~aV}_R7{kL2mRb6Qn0z{E|rK$IuLo;&w$^NlCg`^pfT;EzVp;i%LRkQ*|zG zCU6?PkqLomZ#QYN6JCnZ8|ul77_CKcWVjH=U@zg+>~MKNiB>x70It-j_Ep}1%nK0& z)c(4nUvSFtkW-qEq3Gx#CqxWRv%Wzglt8WG243!;1N4&J(2*e$D&Oy}mUxYhx&>b) zN7Xo@LSDzrzr2ZjfVdC(J)R2`*BX2L9=cOMQMMk=AZ_N(VFHHQ>O;e z)VmB)vH2yJ9-ZI5RaJvYD<#~R=7@MFH&Xm5PzN`Djbl35kx%cE^^XjZS2La6KQf8* zPGL}u4L@e}VO1?;S7Pa(n3rT5YL|Nw#2m;g7Y(g4 zxNLpRr>j+Ocv#7Yd}Q-oBO3oxEl3D#wtp=&bW&B3@W^=WrEk6dDL6Jf#-+#+Kc5d9 zrv@4ss!;F&1F93(VBlrpi{H8qvAg2-tKTB2fURz#Gh4Jl-sb+Q^GA7TTzh8c{k@s zA7dzp&ItNhR}6;OtB*trgL*POW{imp;!v-Ylk=EJnhp-5DrGg^ruP&!a8Ghx?!|T7 z_zu@Ld0B*h{`jZ5P*fp$&C97m?R#(AV|YGfVg2-ol_o-4XFCOAiGar=Z%g?O(eM2U zpVxY_?pVj$h|7pxCmU_leiG&7pKY$?DV^o%tWY*fE5Z1NWCkMaDO+N z;9}c4(f1L~$)?2Hhi!6W{!YaO9V?Cw0ZTp;opb@r4j_R)=A>p(aVJ}j5A7r9Bjcw$ z5er|dhj*bX-cu%PRY+k*yrtZYmTH_i#2tZs6I0}afw(_Cz-D1e#JL zQp-+;NF;w~Coll7X|`^p?An@d<34Y*W%@j78T&wf$mGalEf`CPoguL-$5r2C*f`is z(Cv!a1q?JFjlI4iZF?&!`i&CJpXQ;s`2q4CSwtE0zTMyICEi2FT~ycq%rii5O0TE> z9QD)ecTzmw|A`xj6ixJCJyh_8n7{bS^{b*>B<GqE|g=Al$;olK5!JqBl zpapA`@&(|(c@MlY#+Uxm<~L(R@An&!%+B+tOOJW=i$pSXQFSqxzi|7T`pID6ukUv4 zhG;nxBUYzlB2RhDz8Jgl6m{Rwo_AZkDLll0 z%udW{@Tn*V?Tp7msDwbkx_=4TDBJ(PGNzMN3%?M7lA!{(-d)sgy^RJ6%q6Sp#@EAvpQngu&w!P#vc z>QLl8jjysGTllN!<3;9y?CU=E@t_|T@6)itc%dS*oD|+JM9NP5%S$93 zE7ck)^QdPaQ3YcJCVFEi8UB<|z&A9kiETT2K+-l+3Vih8^FE1UR3m`pV0Ig=a1Yt@@ocn%NAr!*_2y zRVED5{H<8#x|Z}OHhJFKX!uQFJ@j`?P!NlZ{k&$lrP~%>pNXY?*9f=CFMH^an^R;d z`2=WU6(fL$lqE#RMbat$kelAur0tQ)V(uebDn5~A9il(`F7)|p+19Xw_I%TBZ3%In zMdZBP{Rz@R3*cc2-NibcKM_*G5v=LfJ?v4U6Y)_q5{e(Rm;rf{usj7WNr6MKef59X zd(WVz-Y{Me1XMtjjx>=DL6F`-dI>!Vy-E+gcLWurw~&MuIsrnJ-a+ZTgTMI~ zm8NMeSR#%u410Z}h5*HfqPt9eKd!s-nhQMQpaA7P z?59tO7mD(f(9ZW8SwRE8wC@6WvB{n$yGw?RHtKcEb!}+I-eHkUEdNa(4W4*Z7KDBv0%RA;PUn0ixcoK|k}s4VzyECKa!ip} zf8vK8b?M^HHO8S4x146vX}4KYX_uwYOEoX}PPz~*s*6Jh zbad0t)HD|tL{=m0!#Dn))H(LlzKavA(yad`q0Cf5vBJ%NOxa!5EWDQzX{o8naYCrW zJ;jU@sG1m4W$!I`4bO}Q z9d1^)^FL>G4PQ?G*Q_q!vGFP+=&(kM%G~F5E#aU;zOB6VmU~4=P3IlWPK3c_KDjki zZDn`hPPO^A?BJB2H9I?I#o@j~DFlvI_cpSx@L6Y3?b$k8S5*VSQiMz8f<*e4PaR&j z(9qsQ#1Y>unY>Cg43~*G+!_6C?*6L`M`E~qW79M7_~IPl>eaA(<$Kvw&3PMQ)E+iZ ztd-?WZ=^`MA|$;0?D4wEs;2{K9B{LE-vC?2zSOg_xq?xg4U!c+p*>oNZnS*=a=N;m zlIq2{IBaFs`vCw*_(vqAc+-nfCLXxX{})nz8=rg8x8j}9>`GrI-+b8Vh~+oE3{Nvf zaZ}bC3b0RV*{Tos>HFh0=6!ZrKja6P;bU5yV|Iz9ZTHPcrX0mv?RCCay!$EG&WWXq zxqIF$nW1xIdun7|@XPi3abKH&c4*apbH$bU31l8apYWIne)+aBSS8GA%Io`j(p2wM z+1j$P`zX`5!$k&C-O7e$^U&=PQirb^7!r6aD6BR1j>@;Cq5lOyRz%0=RjKo@4!WA} zHSJZw#!|JVmk!Kv`+RizE-a%UCXlkTQUHppCaEEbN#tFh^V(VyFzYK!{Pb7VPhLfS zzHV^SNrCN=w|llB(d zt7pmMPxHRMyP&Mqf?=?X(`^hDbp0O70`6-G_}LLIeAzgwb##(<|EH&1^_>=A;pL$q z^zMO{bL;gkq@qxR_+z!Aw-5DcO z?M}8Jze1QALkmx;$5$b%J2Q{vS%aDKzM{VpFIl4s8%~>jwPGHzjDt2h-oH87G#$g? z&z|x{r{n+dzL7-qrd_wNAHLzeYmAUS)A;>=Hr&~Q7m2c~6Iqh8@1{dYwEM&OJCZ3u zre)wGCmIgyNN(_Bvn$KD8dDrNn-QSKB=$X%dSnVu%4{*8tg<_B>&5SF+^f$P%EPU8 zAuBLj>~bNcN?wY5)?SQvY+LgznJ*tgxpcK<(0 zjqGW3Gv=`U;?g+jPTi@WZpEOv%{#)tz5C!MbWFpswD3AhF$;>|2Zr-$>cN?v~;r+RIAjgvV@&d;S zLxbK`Cy7-t5d#d_1^8n~>Wm+4i9F|i@p$;h3(Mr8umx$V+27wnC935%=HGBtuD>*k z(V0FpGYibYkYT7^%oRMK)W>K8Z9}E)jwDmaTDqgm5DcSQO!OBy{Fm1-=wRm&J7;(D zBKk%As>b#pKOM@e|~@J;^z25)dk+dsV1p5Z^v`^aout?vvDJ z{Vk_C54Y>)-N%0Z<_Mxn!{t@}S95s*R%)F8m5T5*mO_t!>!9dp^$*Y*^~(tsdfTgY z#G>Is+c<--`t%a*u{nY%a1^LDhTq7_s2w#w6NhryLNRPiw6(b)L`FC-55zrNQ9pTA z0RnD^AhChF%BC6KGARtNqO#U6AeW2&kJqd$yhE+HQh|A*^i&|v_gj$K$WqIG2A8kbD>7pr4l97mW^^9mo#5b zYXg>kK#|`fD}W$;Fp+>=)HuwEN&3vg#6R~Wj+03zG@4VDEp>GQ(^Re=r(hFT&9+Zu;hUS0%*giF2!6^5FP zGV|*s7q;E!RbIM^o{+@TDVDo&>PXI(Y#Rw>UTHi(rJ&}^a`5&cdo9poWellb+G^cN z7O+P+a1(R^xx^RJK20MW;%Z__5#)vZx$Kkd1h&ItS)Wy!_E0~l`a^8X;y6BvnU{Mv zvhxL{qOU?q!5K}A&$ybv&c=pes2vMqD&4Kg(h*J~%_X0Ag#9<{G*9P7Mj>nmjK)mm z(ufg&Bt8A`7?D<(yV#S`W6`O?>GyLYd7nZQ1wjQa=p?Z@&&GQ&&_Ncgj*@`M&QAd2 z2+b{HO2jA;ID`3~^FBvaz)QL7g%i|-E%xMRjG8cL+xySUiPJ8H>NK<0Y~^q^0#VJ4 zRE>MuiF-~DN2B0?AGULC+Kq7K=&{b1=vIs-z!tdSw^7*0QM2zJl2x^=JWJ}9 z-pVU9VHfJLUv%i6w_z|I=P(FKrEEmF^X5tZVy_U^#_}}E4Jv8~uP9t^*K^r|xdVh6 zs2GY3osAqcId(dj)7VC5UY77sUL8CEsDKLfC?$BV$Yl?4c0&O_bp7{4t#kClIk#Li zaMU4X%AUmkB($@4{z2mq8;Jv+hBz|PC5*51EV zE}$p59BQk^`|b;r-iLl-YfbbOn%oQanD({9G+1ff&zT<<-mc6t)OspTzJVdzCHuSr z$mOK2u2$(mAxlk$nMn^OY)#`AZ#1Tb>ad!lB!z+k&dt+4Fq1h7045nS>TP&FX*Pe; zUbrwh$3KtZ4(PQj3SGT`!1orlvnm+P4g3>r^Fg9J@D1F*{qMLB49U)Rl59Mw&bW{7 zUXHf%=2`am{^f{v`-b@uw}%J>rsJ1Y;n4yt@j7&631=Z1qOHT$sa&d!<#a64a7$_W zHIMTjAAepDiVr7dsGIco-_$VzTjY*c2_a}+PM0SBy)G}+*)E&J%G!EM6erJ>c#`o8 z^L#XoK$Ag}SQ7$BS`j|9AkI6Fahfa&VP|YPvG7Ns+Sj!_=AL7yGmP#(opbx|X9@Vl z94rABSos~&Upg2KdA~G9ckA316U`yabnkBY1V~f9fm3I8AA&*{ddjEO3A8q)2*)L! zoSdvdP`jM7tAZ^pxc8GmJ`B5=)I{IG0g;39e>+R6rK+-v^hNrvH%qvu2eKhUG7|UK zU;Qb=)j#)5cfCefH=ivSkKojY z`E2U%+>R$Gy>M;k{+Zgk72GzivomB=ln>7=c)lQL)sJ5&N@7xvXRMknKrmRm1MOHk zT6TKr&Q{l6V)#OkCAc6`x&+qPgba4tNm1I^;`8wkEvmVngM5ZgcAV^(F75MGC2(=< z;w+Jmui&O7FDcg}|M8sVzVno4dt&9j@xkT~rk_Q#Ci?rvGVH^Cm;v68wGe5}hQ0JG zp@ZJH2aB|)Yh2QDWr6`y`L&Kf`(VVk4mMlaI3TH zTN|i)RnS&2RamNq7P&XBsEj7FdrZ+MTW;*s$Gal#g!{j(t{gMgvYO3_AG(GgR=|=A zAlUlD)OiiU2b7QAMapoozggKqQD+xR{iL1aniVqz4=YE#NHKh_Yp#7)z795g+Gq5| zja`@)T}fV&LN2LsnxF{wsVO9yn||&{g2(ABjOVu_H_N#3CM>^WT^{Q}rf3c8|p z5c<$}GRR3?!n>dttdd^mn{^&HfZ>rj-81fYa8PopcEJ_nu zlY3JN)}Jj|20PfaqWYN{G$aRQ5>CXw{!U|sx~L2^)%hI<-e&;6z$|KM0MTj0*|Awy z@6?_>#RmE>H|7g9Z>)kG-Xj{tB$xweJcFAI&B)vP8JgF?q~<;f?hb9dubTA)@2h(! z$%6f9T3mEyOwtWq~`o9#Rlhs#OXyp3~6Ch9d`0qZzNSThh{N`Su0d zWOQuwPmay0Owv3BM0B@6Ichc-?ne!T<(?@4W9db~dEuiRo2;?Z^94j`jbLF^;&ec; zO2Aq|e6_B*Z(=Twtt{7yt{*jwOM6dfD6oz3^}GIg>6Z5|vXwH~Hm>YTTu`ix?MeRX z^EB#?3zAa4sN0PA6d{2E&U$H`hm6cPk2w6s2An_RfEt@BKAyAHRqfYkHUZ0&7H<^w zngI8G)3;V`%S?ACAb8k*|C-EQSLf?W9j-jXudscK{f-~kKkq_uZ+9kQxl#tiH-m3H z-$?y@_{$T1cUpPOVt2vPan+T2XZK2?hv_y-9{jVrwo%^h=bM&#mMW*cpF89Gg#5SO#!dJ1@09hMjo~+S`8k`(;k_)px0}W*EJC+E=F3kO zL@q+lrdpMEUxgmtD(}4tJPKv~KQ10tb{cN&95!@v=V|}SWNPAcNPg?d|Gb|knRlDj z-(!yGe|P=bUt>Mb@45;v{Qqz9|I;dF)abbm__BZum%$4B;mGLG9et}~`u84<3)(30 z=Cd-XlVqL!zT8By0L0J_EUw#J_S`1Z&6e~0cr=tTtSoC>O+w1ytD4jn^ z{;cEgg6PcF?V|_ET7OsnCj7(8!|C}jv+fqgzr$X=CdTl`)h~I_+5Tkt*lh7-cLeng zkG>S68%~j%lmQiEn61s!OMn_;w{A%+Pfev<3+fiKp9#Md?J7?eup-XPmQ&6lB9LXr z#^8hC#kDgLF~?Gy%xGC$Bb@X7MRwMqD=n&`vwBj{j?L88R5HOUk}BI}tfgQmr(sFv z0&8aLeUxFFzBtZ*ZDIpptY+es`5>)x%HsV@pXYbIxtnBHloE~I6 za~q*?vQbU+f2vRAteqDxo^)Jw_dVUW9nP%R8-P5)sc;Zo`<2IZdn{jZr}b=x z^hS!aaXE;9BIZ8-;s5WP%Izn(ulhv7_9r`g*vI}}{N!2q%TR`6j2_;qx#GA;+|}1~ z@eE*kk-~uQ;Ig?&_?a?*3b)QQbhnh_PczCjXJf!i?Z zJ;Cm3?6!~mM*1`1K%71vZA3y7rLbEEM{<;~aO0#7q<{X^R z`!0$iY`~{#Ip*P1ps*yN(72=b$tbMp-3R{HXepIrQW2m=>aD25~)l2x+B$7YFBU_6Z}aLyRHw zHfpF1M_-OQkeM|Im~9_etD|Al4F*ycar`%jE*Xr3?Dv#)Te76$mb0b4%XR*lYwQlw z#-bdo@h2}Qh$dE}i@xmT)nH0XXkN~@>GVa!mZ_=DMcsqlxYM#OVVpwYrg_WobA<8>e zHHNJ8!JafC;E_&qQhF)@?%V-%ypkgTUy;0RO+#CVE7V`0pgZ0ra(A$S_cfA10cP&N zUcTxc2`?ee;s~-^_>kaT@d@~+MpkX@g#@37-q`_jsaei&GJtji1mP-_A|87sX=r znc9k!7+!k4rTADU_nPt5c;)zUI6#Zzi^B_Pc1O4!Xv?J-Y^IbNgY((&pVO4mG=T52 zwyLMK`?sa7LW4`VP_2;1E2gGyuX3B1vf>^OSCVs|61KDVG`ufGgOSD@^?uy0M}5dK z_g1mLy%~FipFnv=w%R{O*hFRg+P}6zzr1iTF~~M@VYtajl6(17bTt9regdR0paxn? zwZjol(mXT2MkB1i{G%VD4N1H|^!ZS+$|-4ztYmroP^)fmH_Y*rwn;LR&i=R#n*H&m z8Ada3bY<^&?;~>fTbD0&rCGMSqV0i_K+*Z(wAt&D7$YTy=agK<&)Lgb{EF1dkIx2j zm9jGp^ue=F));}r2l~u*yO8nFfUQ#AXWIJ}I!PRtgDOuCOx!R45b(Z7RjETtH=&yF z@Fab)ySnT48 zk}xRwc`W%iRQkz3yt{of4~Zuk-5S5;3q}73jI8+Xsf8`Kj*ktnM+gG0IBNB{7U5m#Q+QYY8n7dAKVjhGzO~RV;9#t zkkK%Tz|NTZ5k7%gc(fK&&+$HZJ!kA5DkFP+{z^Q#1!DCbkuR`}xsU=yZjxX=e2{`i z8f8$zZ$`D-ecpalMmQ(2`YcG7zSmi0cE~<@heTRnK(o{Q&1Jf_QLVLx4{WvZmtKMX zI{(8PcoETubBJyK^x)8Xg5?)F*9) z;k+Z|(qrr|a%8?dd~D_dT$d>~_A2()k%gk{F{J#k3=*ZN{-5dsr!KY1TH?!XMTXLH z7g_!pNB&}DpAU=HW!`?N5%fEw%H)KS@IFTakeiQ!r?*Hb=joCj$9cdTAh_C+eYwE( z?Re67F2NAlVX%Bwi;Sx(PGU5T192$Bt1#XLD5 zi1!l~(Cg7x&M*YIC(&_jvcI7UI1D+^eRo^vtWz4oh)-kLOy-J-EJA`VM~)j$9%4jpiM= zYH0o@U;9pW<7HtvMzrG}p8o1Wb#W8dL8Xbt_eBBW2WRoNf@h685$4aRC47^04Gz;5 zj?0FlRUNj!)Cc3rstIMW{HYdx2}pBX6J@ucvOX7xuN}a zcEoHtD|9Wqgqp9n|9EKPbPzrjXM)wAD;gCH=T`v1J?@x*y?959A`qPc>$~%I;nb>n z)X%};&!c_d3d2dn4@%+UPfijR&fsY?_bbb`v0NqcvGO5dM?uQpOd|P$VC!X3YE>e^l~cBJ3oYltyW!-rp7g z4G$8p&)aZjh=!1_9v|qOcg$$y&6XPP1lnG&&{;Lz9fQtu(QaQz?6HXak^Dbf-Y?BVMd0#I(-?Vc!o3OBq7rHj_MSp9;Drl$U&D>%xr?fAIdlTo~ zVlbk=XWYeFZjLT5$EYTMAJgF39iMHSFn0`nWdm3<0Fw>*`ZcM~o z65fyb@x@O#u&QY*=nWEc>kqI#`zA+%ttP`IFp5*S!%WCr|P-2%c={snwq0SigM>L^)VzQ z8r;;B61$Q?#ozcX!J5VK0c$$)!%^d`{kfk2(3@{KNQgMFc2Rwn0Dg&nG+nwhP5piM zQA)(S2psu_?!!YFF3VByQDpi{Nd>K zW5bY{$wJZu(|QB=vvjrDb^dOIb~UH3sWq()-a`WN5KhLmeAX#GF>c<+S*>&J^JJhI z69y1g_XoXWa{I8Crks&Jn*KLCLhT~E0wU}J5LFq>ZPahm^lv4p2r0o%KPJ&H;qk5* zR-lwbuyR_lGX!QZvom>TynVWwEZ2)RSAjQyj`{%lTT1wnHXMXy*k{q%P_>+-xmnzn zIC*Q{)8iA+N9i8ClQn>62ZqG4C{uaNKwsZZyw!B&`Cd_7$>k)xTJBGb8u`UT@y*?? zX4?{*eT#MP-Uq4}>ePCm8Y`G4MEe|LCq=Z%bo4qQC2S_vL0cfYRI z@^6_IS^6akZ)$o}pLqF#-_+b4ibIh!Q&(&hQR$}ywbkt_Sl8|i7msT`gc2{nyvDTL zyFtGoN;U??`8mynFtOhuj|v`n5`NUk&v}bX*_fXG4c6lod(nwE37sp5S>>{-LiC@N z67gA%{KKm^OZjo#J^TFO;~#%c_dcZUIT&W>S#{9VwYvmT=q+QIVJMY3-_Egw{$Dna zp*K?(Q~&UM{<3@i!wY;%lH9x}->^s{+9X}HbN>F)8SFRq<>Mga#h!jTS>t2&F#PY6 zhyU;j`M8%|Um-f~rR?v&(RC;*kdL=WgpvG%0`CC_FPhS-o+` zvN)9g)wp~Zn0(W-WKMTgb`kg-WZiD{zO2sYfFXL}Q@aZ%X7|P0EYWJ7Lim$=B^EcV zGk9JnXBG!Nhwhf%*z1)=XyZinA`ez~bnY!^$Jc%F8N8vS;x(_N!;ehzlJl|bl`;iu zXr(*Cqhf{We)k-@9NWFjF3Fz`7f`OKiYyU!q& zSI7`By=`3PmIBb@AXsskC87Oh{7GfhfWNhpKJKCSt;8*;+v}DMFAMdM$LzxZ#kSzR z>zGfU`}QMQR`NG6zdpr2C~Etf6^Xwp^fn(xMq5%%+dS8(!eE|cE_`=V_(`@ujj2Uk z-048+Woy#e`nsuRc6_Hd_rPRPKsr04VQf`eLXSiah2dN>MHY}=CB}FyVVV8eOw>0T zVP+~h5%OuVNVEfx=p{#_6K`xX5m=nTj+;WcN<+$F8|Sz%QE@0O!O^4|qqX7+J*h#u z^0~lDuE1$zjSD28#SZ|3dnQ9EgUx{+t*wCa;($qS6M1lBaZd99b#o3{PGyitHHM0H zOVRXFJ!8ewwyyHX@T|D3uKD~d=h0y(P3YL0_HXli!D^zzK=7-_!6EFqMuB|ZV!v%W zP3T8g6T>!1d1cqzRt(X|97{bn$E5fE9r|vvlzTz zl9yU4{fRDZ*vfnp_H7N0JNI%do=m)hAKYZ<@8_>O&nNY|mulYqzM@o#0zgvh zp@*kgwSZ9<@het1J0KVxUo_=k8vJCXlF!;v(H$bEJ6HC_NNs)><&9(V04dT_-PUV(sNfA)En6#Q}2F(uR zSFS-WdlYh+H;6XHo>xuo;znYCJ1K)@KA;x0nyb9++@eVZhPi;cJXluDP$ZK#82ZLcq5Frx+Msc75rCTDK8 z)+AKds6gu%%Cp483Ii?8?Xao?k}GSLmM)1SFB(MReq$(@7Pyy|5R+yG{tb2^C*ah2 zh$;WkJlqJ4Gmd;+BDu|^1QEwLEj;i_)~Q}r_moQ4-;kQW>oTo~&Z#6Ax`@mij#Z+EBpb_czn1Vj4AzYSHZM+?Z!=(;&m_;7%9!ln(6za_$5%9+UO9;T-p_ zoV@tfgE_4h3nNk4)v7Db@Vg^)_$XwrM0i)^#m6ycoO5!4q)I%5(Hod~)pC-8UM(rf z9ymV_qJ1ECaF`@~=Tn|D%y`aDA}rzou?>TnO&liSAivB5)V0h z_YG8?c-TyyXuGAenJ``^O73X#0E~Q}`|5?Y3~FYI@J&bxkYR5|)lGO!C^)8^Qxjbr z(qL;9US$a>&9l9&HvFMJaWIKvq39!c>HRU2ZT@gyUg#j@mU5ONDUUwA<_hsWuaR`mb5ht4`Kb8PsfS)52C1 zSe~`03>wJVWt}|h68+4~=ebvAF)UMUX-VUtLtq$N;ZO#Nyan(%tVNYbqCV+xJ9DV3 zwwROwnXpOBkFGWmkn2+B>K57guKvP37uw!cr5vwRMD!Rha2Tfht5<@xdgk|_&+3>C z^li}WI6A-uaE_`B$a$C6tf{Iz`pSZRZEJecvTty66duRckQm~WC(NoMUl9{|OOaUb zs6X+)OfI;9WCRO09f?n<-F(Th!=08Qyc?FuH!MGODjUXL zju`sn>pk4P{8Yw%qIU8uPQ&xJG`|}PtM9?3(u|}a>)GSZTSo3GIoh*2)CV0h zD)E#f{^1GywU5{pe2^w}`kVjm$ods$=#$}BA=j^9zvR;IlJdAo-=0M@J5FS5>V-WF znQHI(1{}FIo7(mGgqG;o7gY}XG;h(}Cc`1)*J`-5P>)A?ObWi-4!WxIX5TL$lm2U* z%f6AWW93XgW;^$CeohR|RBaewtaWU|!KLe${7&uLJ@xL|YubT3=%4jrf{Jtd=RP?a zU*X-FC0v%AB~w_uu25NkUSCnyl*lNZr3>**M^;O%LjoXrNvT4rR zS|~3cS6I{TB4;I9UxiD%W=UvGa9)?zXLa~KYX4klu2YT~z;M5!Df@VM0>@wL0sS?O z7QQva{jygcgLXAmJ|j=*?g8xVdKpty(arZ@|oS{ zxXOiWyShu07wKtK4>iZ+DpEJ`LLYPrG?eU40nF={VA;|g@kAA~ z*dQKqlf9SE2SV40UvrJC-5%N&L8Q&=p@8A>RmwW$t;VIbM zv&A!w#s940#t~HTsJuK}hDrZC6HX&SGWx#B_bl?Yilz4W{3NDFe^-t-J3LNJ0GHI% z061+rQ~<7-&7vq_P2{o)=}!a5tDUVDAZX1aJu(0AY7$j`pJ~LDB(7PMI?e)#gxDpY z64%M%)OS8>qoxf3#VCdk_1&A6=AVLZZ5zOOk2SX+W%PlZ4hIFdjEd==;)sa>d-FLt z^AIwN9I&G8H@cO3mgbrOi%AD=z=f7jD$2F1w+RGu$)n=gEaJZ0m-@bNYf|L1(b!&Q zbkW4mPXZV(@)<@>-cxq-I{C#p2J-=#zIb$eB3i#TB-i*44r> zN?THnc{~8MuU*t=J}WHLXR0~G0hc}K!?L^rlpYNS@SO$G)VN3w&}Q?vD<|%1IrA{u zrN8KB;SO21v1LqO1Z-bGSWM%z-rgq2bBP#N>!^POUFVnwzR>em*VKi zmXg_!KIwqkQjrz+h)cub{*0P=gJ;eaZJh>vCMp+b-wadEhDfSq7Hh}R@r#p@g{bPE zmJdWVv6G^!6P&O2AdTcEAYFg{dKgt!Pzmhuea`Blq#+S-j!U#0H5UvPt#=h|DdD0a za%Hp=%i@ai2ow{~SoizEm zJUnLI@-0jbZnK5+<%>MX~4$r2;Kt_bH5yb;8wY zS|p)B5!#s?9;H&B??QX0HKSk@p9;(xXzRa}MCss^>$z$*Z}@Ur9O=C7&W89z371@j z0!e1cjhp&w-2#7fc+kQ;TC*jD=Y=0+BtExZ!X+KmFFg7*{%9^G)ZpO7WPob(guEjO z6Br6Y!vV@XgHFS2qUBVM1FEf@CDPAGx4DJQO*GkTeez`38Q^?Z;%J@J<&9SPN*fS_ zM=Rk4LgG-9YHWUehLZMqUWKibT>r}Kxin{9v>z>LI9uWxG(Yk86%R&v7!8z9aUc_N zJxKfF$yuR!CnC&4KV&*A5=J66|JALWRf`)BPK;8q<9;vlu2OBRAi8qUj&K~MHfSj1 z?4z>7PKlU^F{K4KO2+MEm%NM?%HeVUEahkSEP?_yox!hr!a`Tw4P@?VGrp$1{jcJ; zo=w?ot?&QC(+$b^yMs%iJNTmfDliYc>F?3fv~F4KUoGJpPJ{42($vzWrOA5Kj3$;e z+P(*&suNjqzzbpTN^Zinr~^mB%ws-t0$d2>teOXbixz_P`R!VP_?tKX_l}!{C3yWo zji>BVRZSywHFq=)(umP9LXJ8tM|jHkLO znq2vj6|w2obPb2l+^4bBz7q5*RaGRKD;6!~<{?-O#{uO^Mtb!N5qtqevc4FPpQI9^ zFX>!;M{V0bTtMzbMud6I07mNRB?>W}qFm^Y7jzm+O-c+(x$d@wJS!Du3)7`m8hLDr zt{MlxvThFL&{0aZz6{$oy?Su7YJ?Aya8%AWkpV0bqEj=;9&2;Ro%~jo^nFQmq ze|M`FRgaG17e*(LNBX;#H8qy1obzKF_HIJn8xeJDu@A*1AD2zQSN>Y~ zKs>nU+9&f#mXIg{;jkQ=C*g;yU6shS%JOgk8P?=@xTK|Egwvz&h& z30N!jma>3G6>!2OAG2E356g&X#J#_l=X(0;#&@pgC(A!P7QK7S%5Ay`sICh$i-Yf?Nx}xLuk;B{_(r3fWm8%EY{)vGzpla# zu2t|ksBIKK>k~{n;mJP5XP)s};$?IP? zN}gLJY8@$meJFm=yT=UhA9z5Za8GEGTXOp3puXklK7H9`j_L&!_2Akcx!v>I-VveNf?mQEx!?fI4<5 zi7mJR$&nl-3hntwS(pD7LgM)N9%6ZLH|xDvm2KL}$SyDoTFjA@{v1CBDcJf0zZFh>Y)%* zt+~81Q*)@v>Q&fkmq>p>E#0cFEwQjW?K|b*?U$|#$o=Y|YU8;{iH*%7V9D;aq`-=2 z`#H%{>Dc(m+noPSda>hB`K~g}NTg+em{iSzTDn7#OWrf;q-IoC1lBg1-IqTc&Q0C` zT?I$^Nzd$n^B0T^W+VnG{rQXiuJdy>`iG`+)`Se!{V1(2|02vU zQg#P(+RRSjfh5`Sqm#3<AB!9JO ztR|sWZ2xi1rP5(e6>6JR;3&ig9YwfhU4=33;azYG;%pPI_6h@jhX?Ur;jL01zeAch z+cH8qvK~3bWy#nmm;VgfZ%*6oNqeuyU2_~hDv!8va}zI?9nw$g zvpRom2@WSN{2l0l4Rj$bzM4xY2PcEXbem&?ui8=Q(GQ5j+GkZH!KdK0rS?OurrBJ8 zs$95(sur&o-p80+&@45+J_?bT_|R|T6m@QgoL^)x?=ut&dGjT8%QlV2yn3EZQGio` zzhp!s+jwCuFZP~i=S%s^2%*dM=0&^WRxre1At1xhZ1tg{I(*e8tP0}j)V44y5F6?{-p9e(ipC8k;~2M03+`B4}uT5D7s`Z&aD zIy`aG99K6b-i#t~@a(h>bmvp}g4I;X5UWU@akJ#|C&rg&_p2Viobtopf9B^qcspKk zy<%?7eQ+a&m|j(CplqW)%Y)!91ta{ZA+7x&p4M@u$)e&5E9*g6$>!G~Eo}$$_12hhsvMg#`>XSow$6)Q*K<_tm=5+-E@Wm>w10)?*b zn&qL=t7^nbFiOO0xgQV6_qiIIj;!o0uf#BA%LT0gZ%7R_m7Xy%7-bsSH@8q7i92vI zJy)*uVeAx$+}-$Kn0%n<8}jAKZr-y)V_teiR;7?Q&HEZ5_+h9kQgTzcNk_hNF{4XW zJA*>YrvlvgEtpp;&Xus4mJ(gU!^!4j5XmPgShfA$Y=l91>DX|%$| z6Bu5I2ZCUuuUV>ZOwD%T47nP7exo*G9a=RJCvNBd`5c(xiS;QQA( zVloBKcok)mg{s%eSV1CKs5+o>UTr|hm$Tr&>}`grDyyVtuOM7BpR=B|&F@m3zEkI||l!CSq8iU@jU@9#^!t(D!1Bv#w^guO9zeyr0 z!E;soY(iYnSs{{;A&f$y@4ukm|D14fM}4pG^QHdc_X&*D>PS2*zQ`$YIl=pGO(VrL z=;v5EE&TCUZp5U#$W6#3UT+1O$Kk)&YZMRJ?Oy>^fQl0GL~rsYkj^lmQlKEI!2RGZw!=t7-x`zy-BDX_OOK`pHqGBS42@-@qb6 zx1ILTQipMht8i3>SFuSp(x(+9IG#Jm{h9;=o&-jfLwd~h(NbXjqa!vK|3&I1D!E;i ztij=4K0+8-vupK3ew1V3bNmNk_DT^-g}iffW%Njwk7-L#=AX9rjh92}kSJwBRz6}P z^RM@(wACW*HC0L|y_Oq#y$=!;#B}1)5<3kP+26Q@rIcw%UP~yj{2VHH_-<6s%p@%~ zlBhoQ@g^bOp@hp4##wMXXS^gjijs>s?YHsY;Z0%Q+9y?hRDuQl^MTQ%{E>% zBG&*7Q2-Q_;L_@5lCAO!dn+R8*d$t}tlZGsg_DE$gE#D%@-0?DJ&?m(Z>xHwQ_P(- zdpF2^9u?0EU}vo0P1T_6qnedwbK!q@r{hwolWO4;ewdA1-qwEHk<{84#}pu5WoPVy zYCO-8;pI8}3J}VQ{9haT|NeP!;{CxMTkkC^~2#xq2Ep?d?L7~;x zha*7q`EoZr)7zL$@V zIpv*~1sFZr7;a5z8S*ZPI*Ovj&iGmy4-@1}yN;lqjLz!;TXX1ah3rq01_j5hD3>H;Rt#W;kS z#Xwbmx8J~c{_I?EwGlz}!amP|GP?A&2~di&uU5*a`m)8kYN{y?nV;VoA21H^2uLvh zDJFw}XtcC)EP#ByX>=Q>1n+@2nT^DM+TET$f-8*y3IZHdM-*vkDwm$3DYc=x(RM65u!r;96Cctc z&fc77s8(nycP)>kOm|=88(S>#5#v2I?0ME6^lY{f!2Rk} zvNV#?42k8{$jYNkzLFWSV+tAPedfbeKU0|66rkhj8Qv3OtnLq02~xNB3bCzRlyV>I zVd3$%_{wiRoT%Lrgswn-8U=io7vPsMXqI5Stq$xg6_De|uFh5wjG?OHANAHG0dwVj zqlT%BYJPVRVH6aOtBHu|{eYNMnHQMGqRA|w6_kX1Nk!!xzvP9Y0BuozMoB!d@~`~2|j(^Ij}iK6bV9dqa|r>CVx{=P#X<${q6 zoyPi^vAKY`arx(|$9hz%`)ukFQE#CEw|)X>c8$!)E^`m$sF%@k5vkL~)B& zt^Eq)v-%0l&V3{NmI61CC`uspjykiAP$HWAolFJ`6zql$Yn=&~~D=HIAkG zT0=ul{^mebmmDq$GXhfd8j@ABbkTJQ0HDtP zw1;)WS4)~?mezgH6@eYmObsY7F7RE8K$KNlh88xZkoMMvE7*uN(@L3E1w<%~(4QInt3ndxL{TT7sUE)6WoOYCw_$I)1;Cqx=!D4M#G6c!YBy%5& zG?RW)>c*K1FR@RdrGchc1B!B{wgapuE2>1UGg&*Dzc1B-P*6Z~`d77Q_J=|( z*==`~`>r=Vh~^W7yeq8Np)~NMkNp3G5l^P2bTsld;OV!U!E{suk`=(U@ZMRd`Z23XaCkez?<7_KXx9c-Kmg&EDQAQh<`&^ z;>O|vL;f1T^YV44f*Y})Vvc&_K6aanohror&HjrbJS{wa?SEK&$KvW4mDl>!%9r+_ zA6EOrz9j6+!-bsoS;a^V$*E7Uzcuq0iVysCA8ohwd-D zi;$lPAolx>;auU=x9R&R?gx( zPI9V|`@ED#=TiG0;Mk3{$o^aRa5qoQPoC}9F#9VDEV^80=I}?c7ihRtXf&?bj7ORu zvl6VeXUbmpPy+6muz5~ZV=}8U&c1^^-Uo3(n$%m__X!!mVQRAU-dmAeE=&02*a^$j zAtZrWG*);X4z{2}w+mr_>Aggki+Xa<;9-FI>|N&DSP${x*W#el!;Y(tQT<&#R%#9) zZ2VSgS*ctmQ)4tM0V1N@8i+)(DALE=te!jZuLo}AhboOwTJm8sWal2G z?vs%;-Ymt+g=d;>Yaf6q1dSoqKpKOa7(SBN6S*ekaDj!)xv6dOd>__{!i9EL7xXkN z;*%vr(K)QW1ZHoG16$8ZD8FxIi8B@cNS>W@UIxi1I3M+hKU-1E_;h1BPyHLpdTBU5 zcmLC#ebC}f8s8TfF?GwM{&0`fEkLMPXx5V3RL!DwqDd3hVbps1wS5j^F>|NF;7I zFCoooW91U)dnQeY_77-H@<-S@!Um=?_;PcNuN5kud*y!|$NX6GyVbbNMAnuHEoS|wrbl!n@14(&zws|wABH~}f zTv}t}GT&PrV{}3(fECU(*<9Q~cm~cV?TM>EZV^7{`11N6%&@7sYrSm2(iNN^M#--=+0&f)x}PH)<9{7lnsK~n9j58!)^YN#Q5-URYAer5rykO| zPMq7_J8nAw4-yJI>NoN!fRHKlwspV61XY#XGkoiQw`{7-JTmrQHg%eyw(OhdLfm4326cu<$!g!_(}5?1@r$_Z=cLsv)O+R|CI|J zZe8BXwXnZdfx~5LP9uiRj-E16{ek^Tj;K}Ym>8|rZEKWz!8?)kCnqwxM5JTg%^;62(R2~Z1kmqkJImYM-Z z?yiEIu^8T4Ug092`q^@jHYvz%L{{Mo0v^n-{RI76i-|(eEVwu$&m3}Zc$h*K`Bd>u zz~NVDMPpuc&rKU=u`f#17Y;z+YMyN`^W{OfM}ZbO-IP72zNSDHnp|Wnm_ornPXqON zdlJ|=J=whBPv1TtK;tfJJB){C8o^$4)Cz5bv2-NcP6wy2Cr=hv4bOw#nk8=+nrlz= zCs~{%GW{&-nTFFGpz3T66ul?)Dwxi_;{r7?#N&$&qxTVPsTkbPO*)si9l#w{M?$mc+t)go_6!j-;s0;u* z6rq;L*il_k0twB)S0*52%S+{tWAy>gREKBA(sOqYy=1Cu4RHc+DU-d=7#v8#CmL#n z91fc&m4)v;GdL!m*o^orx2RQil_uLqnhMW^ zmk3M7ZUYZufdemRKbHf-Zxr4it`9DU>@KP2Vr$S*@{*PkR)@{6x+7EhTZH5erfCMj z6{1Y1Pz8UhV;$YU=t^B^1DMP2;5Cipr&;w9h)6pHyO<0*Hx_LMVFK2aDZeF-1*lm) z(ChwK?2WqL8MTs&qG+UrV9G(O2Gz~qsonv?Uw74sAFAAPY+lYNdtY>D2HM*j0vVf8 z;2D~ez90=n&DV`Xs3Y!X-p`y`ya8@{{&u?YS9xfRowK7g5-(>sRM0%z{V+d zAJ>I6X;uUa7M)Gt{)+-VS?xbsL_%Jvq z6nAtDY-DcWx4S7=9>9+8fo7T0@~+L)sy^IY9v!w_@6@U&lG7ra6`$ngwNPiU6g`ku z5AIEvbh4S5nK^!JrU7YDI{w=HXAX}7nE+_+vKVr?KtDLV*?d2oo87u#YT(jj-w66* zpRLj(T~H(UhR?d>P0~BnzSPaTW(jw$< zL?kDS`_hKJvRw&@Th*JGdwA~jvBL8JCQjMLM_CBDseLcYBaS;zb&Zkj;k7RO!C~<~ z0QxG#MQ3XH+rgcR&5IfZ_vFqvF)0Ql-B`@&==Fvx)cXomcA@I*#HX{W_JxKUHOnIN zJHA_9LbD>P6A#oWR4Ab#f&GlpL5GDFBgj>EiR**{5PsXsuwK|!VSHYoY<8S9|8A7n3fY^*{m})xEq|M4=pdkqR(LJYojj;*+lq|&|XcVYT<_wo0MIn-aq ztAa`MJNl<~@c)-t5-2 zfo{T0Es`#!N{gSmpXPq6k!G!!E_Ze}RDyg9nz5rHLAf9I4|GDozq95RVXxF4Y#8Fu zTL!ShXwl`py#@Ssg%q&Z(4Mg^ei_Jv z_7iHVx}!Z9eV=l=R&ImG+oP3>-wprlcj=^dTcwL z86^$e;@x|Wg-iABUwtCwp?b@BmHZEo`wt)&WBd4esz3Mkczov(b`1QY6r@7;B~{!K?jbAl#D zto_!hb@heXojEnYE4!8YH)B=JV;@AXjgvnzNO`f}b}?d^iw?NVNYyg05||1(?Gx9; zH?_BgM)LDSo_{ALR~uiEJr%1|?;StRDuM2NroJ9TJm%ebi)q!U+AS&3`Ja7EUYUoHI5Pk##va%WN0`~~0aeZ8510;GYawSgTfhCYZEV^t9gwCb*LZVD zjFvmH#>9ehCZqkXD9e&sJ#bOkEqv-$)GZym^1Vpj!u%SGdd{_I&QL=;>JN5VY=Hyc zqpv-k8rO{6&wm9Df4mj-YT#gF)(q)Vpi=7Lw#i`c2)6}jmlHt0&E=)eCC)PJ&@kBdlL4^cS#7f-tS-sV z4`cXcj#nr-*$ftHHcy(iQdF2%ga|s$J&misNc5Y*nXpMVG~<|_QUdm)HV=G&%0PS} zT1bg7@8RzD!`w=4x+g?Dk*wEG<%=2rT$X)cBU>Cg9gX97K|QZa9mTYrU#mKl20nO8 zXm`Uy&O+0a?@p5zMSQcotebJ3J-qDFWL`ei04u!RSI|JsY9^3I3*R>Ux|^FJNCGgj zRESer1joB)q|>1fKiGatyb=BEGRW_2G0b=B{vtSQ*Own`1H;IYg^WB>^rr{8j{7)Z z989r(>^30OEiquqJ{;LtL5DP`5kQLh+H_djsoVxH`gdUuwJ-+pi~3|CZwO9FZ>gu=`!< z)&1{5Rqtjt<)33Y9Xj(9Av*!ab`|~fTN3Q#>&5DygT6(pDeIXdFw@lN=FLAcnaF7f zWg>*kS1=xlPE~350EC~l>uoRkMkEgpkZ$H-50nfjfN=z_k)nbseKl4dX|g{R%l421 z26r0-h-+C`t#-Fr*#g9}U&#UVmOz%$80oxt*ym#s&(%QIdc6J4Wjaqg#caM(&yl@c zP3-lHOxSNb`z^aiBM$H+u2)P{NvHObO)HY0r*RT(X~x3*+Pb_mVJ}H}Q@m z8*V{y;oPkEce(tujf~0*Q<+0z8$^B4$uDFpzQ2S}qK$rG zNbVQI@MVNSH|WA?7fYFmX|Y4_K&=QD-92fs{BuNeOT=}Oc0Sxjty5FA1ky5C`~CjA z36*BYZyhgk?3v;)!;ak_KkFFja9plvfGny`3~ zS6*9M$!;1}@Ry2;-V})=+(Z|3^)(hHxdAkT?q;0cuWwg|KIyz?U+I6k{~$R`giD7W z*>)75#GpI}_H0C^<+uTYd(IiGrx1n0k19r{79MQfv!J92ZB1_wY;+?7JhrDeFb$4G z4FiL}8;=U$B~41A59PH?3UpI9(Nfj9hb*deB>m0f!9H=6IR7Sy({82Qd)Anrn34^r zD8l)BhSGufMXhYxxGHM0u9MKY!mXQCp(u*xt-Ko38dX|YU!vd;Ae^jYYc6?t%-*Of zRJ;sdne3TWM*5^yraCG2x1O>=Y;OWCd}l}@ywKQNWGbnyn)Od>6vdX914=JHdazb=WaG;^Y9EoVFrg`pHhd zS2-!Xxq$|@4AX4Eu=mq}1K~Ey&sud4X#Jp7QgUVx`0{9gC$jnnuibiM1#F*-7%Xl? zGb(S)n=a{i_*^HnI35z!2*5lRxJsTa_9{RBSi(H4I`=HEcGac)%H(9oprNYAX?bl}f55cOb)Ryh*CE|;W&NJRiI%3{da$QMHm26MCOv%=k_mlJv3W-HvFESO@0 zhrNe@c568H9GRK9Ad9jp;@1(fCwQ#@oqa>Gd z{D0ggitMh1<>1Mv!n!&p{_jOUic1|We^EY1wvZOteXBS}G+(}G`XjTZgFjooN}hV| zRek=!<$w3c6gP?<+gnw1P5CP(>sKAh4Yz`>)0n)&Tc)$P7+x&K&}P!`F%!sDUrQ@9 z4uf~A{eUn`nJ}q|~=snt;D`FeN_@KRs2qY5xadPO{ zqg~@T$M3Dz#K9Ip+0?K=6J)Gh>cK{5ff?Ep_6BGM_~vlAr8ba}@Eeg$Fflyk$*Fq%QwcCntkl*vL(x@52WoX+k z7%ryJR3#2bvu6#ll8koIsd${TnXgh=ROfi3y)4pvVP#xr;dklj)DHxNtibxWI|^qG zDuKSA;J<5p0Ywy%kxA6^x0=M_KWJLej!~O5vnFwi0_UpvR#4d#ou%vpz((zy? zr4vQAkf$G8S_vy<&d2`kA?rk+C>^AHzN@I2UuHI@q6VqYqyEXYg}taCRw;`dh`rBhKe@$*1THvYNta*OB+~ z4aASDen+sMV7PZz?k(x82?yAYIQVbIB;l~2N(~6jZ24ZWR67o~^y@%%tKwTI^V`ez z9@IrFJH;ZY<}HnY)-zQ>nI84)JReB{yC28y@a(T_^}L0udpj8!<0}wFD6mm4y4`Hr zIAcXtlYLR$^@K7$u7g&>JPcFn!L8uUQG1)y%m``E1^?8liZ!A1WDtcB;HBJWERxP)buZ{pzF3Qif zHctK$Qz&g;df1ozUY^H8hu+hA*4@wBWb8zg%yd-iS=f=3ze8nq1cUH;F!UQ|t$+|q z&pjJf8FwKsfWMRcSWEX5t?FD!yTfi@|BJlFhV%FnG!uKqd%P^GQZEw@KG9r53xpd2 zEoAsowa7JD&md2WXZ+fExfCeAHD|8{fTZ^rEmG zWy=op{2i4B*8O-|4jAbY&>}}hsh7)U)UopWuE(vV*{B7!Exp)JuxTtiKsx!Z1L61Oyo< zREPzvHXi|4K$)$^-;vzw`5=MKAeT z$(f^*VRbW5cD910vLBMfw?6nH|JMzluqA(Vl$>vBjlu=&ryh`t1$9m2>}BmWrzY*T z8=()h!7-FYTsj`F8&Er3ql_!2R>nAQE*OFDslf&{Z%ajt+dAj?7yXH9bM#)cVaEC( zigDUD0ToFLw?ERzd zT0Eh4A#z4aLv!uT%&5Y98SXn2@649$rq^HtB#f3LPA)SOlFLy1w{iPr-}*x?)U23? zDKnCQB@)3Nu^3U(PJrFgc7n{Jw|GlcfT4#V$lkOMC&Umm}81AIh&Qh$-jUtvK7hkfKPliu5sXT!7m^>Ztd?24eN^p{ZElh>Un^~&Hj7@mH< z_of8T=!*NpMGuJg@WCkzA?%1U^82OzN(fUivCm?5oPHM|iNDU@llf_k9PZwy&At#! zipZsR$7=IvQ8180G3Xs5lPSE3f3(22^AiWBhokggEFHeVz!nfZ;sA8#AzlfMRB91% z3uB_Z!CN~UMt(nqeZOZa`9qtibCP=pi4oSQ@uoJ2?7p^kPhe=;1gp9R+x!o~9607H}Rk^r=X z&!&FkjFTDT0?A5s#l<TDu|V-Bua3C(5|u1ghu5~!D565f!QU1=(fXvONYrLD|5!a}XQ0jPQtx)vn`0%(yqLML8Ta3%PJ`;nYVVWlI&okj3T~v zQPL(rz=Bk3KKoF9VNuII?Jv4T`~#00yfkSg->JxY0G-RK{U>=l0aiU#&>mn`LCTuE zx!Jl2MpBGkVS79;8bnA7t@+vK<`S`EWHyd z%KwK$%EnI7eqMH*U0x7J5Bq?uxy{@HK;py((Rt3H_v@!~n4Yrb1Nm7gSUeHUX2AnF z9@7qr7MN%$^@g)Sn$saA?pn8BP)FbW=Fq=QF_yG=BMaMUW6=Y6mWA!WY-f?sl01aZ zpj=4?G?}fd-mi?qlP^p|^*Y+?bwXjUY7!u9GB^qXq*U5HFj}E5uhVLEf+*EmdC>?Y zrqI;lBhU&~d}Y!5*;zrXNC3g~L6xsW$Ly;!XN2D|+p#F32n(Lc;Dd2OWSQ5a^jZ+wkDfwaEK9dY@Xz7 z)T&Zy>rGUbjboaE|CmpuBYu4+>uG_Nl%#K2(2^+Wg3HdC;@6vVhlFLr^M?x@aKB&p z{bY!Ouo%v7Hu`RK5fep3Qx4}wodu8X&-2c$zE@0btrlO*G2I1n*A_OUYXm+$TH5Jn zQTf`>%vQKIN0 zp;7)1b8L%SoiZjQs+HmEqmEEN$Hp_9)3ca&cky|C$?i((H(nGHnkstniKM*cIbHAY zC5{~x(B-1mj)ez{iei=4#5_TupD7B79Hs$VkdrZX^^f-SCwp%rZ%*TcLEubJl&}ty z*1XFN3LBa56dV0Rb|-x2jAhSa?z7y*b4)W~Mh1UFy8s9=?0vyUyGi2P(z90Prbg@h zkk9Z)UuHEQRKb%~f=8LzXNHcfxVALFXlvF@GnKs8(8fHQ<+q342S1@h{25+;W8*N_ zF}IsvK~O-EfJ7j~)Dyo)ru|#6r>JG5bdbMe!0zk1hUZogBf6>}ET(TuPiL(95Q2m~ z-A|j_D9_Z(4^SArD=M1hxdCfBF*0xEnjPXkZei)JY#zjwYPL+_W`1bdjv!NWtu$<7 z2$qwGFSU1hE@+GVJ?xJaAv0I(i4V_=5RxGHSHxI};emkdlVGqUTCQP#vLgdTd^qOUpSW^8@Qg=;W$E>EdZ5ux z7*X1VPg)BbFi;$wYk!zT0vV6CJA=F5NgwV-q1qF2GV>(Bs}2R8qH}gl?s~_iqKF{j z*6NpEZ|9{m*-CDrX`ed`skyuDrQk`v?Nv=1(FWyq6jd&ecEY#O7J);Q?f zDwb1V9+>FH&x1K`j78?1v}N9|e-lEGzwf|ahjC_vG^p#fU!D9kJbPe?Nf>O^Sb2u$ z{R)cDx;ywu>iV_%SF0q>5|Qyh$O|1uw?>5KFB1<;&c6O)b5^M#`4kfyx>POf2P6>? zu`I%A$Cl9;LRri8knyPcYK+r%CXT!3+6Z^_4{-XQV>^V@S!A`w^_K3Q-DQDX1JwGh zAp%5RY86r-z0QB<_Ed#bp=FX5RBPD72LZAEoGfiI@}_CP)uQEIyMe_bQw!EGD4gzH zLF%i1fSmN+@*WfEFRva(wC0TkggPTSvYr%_yP1SM*9ENHD5eBBk-a7Fr3E4w25ys> z3TrMF8=koUAh5!;9Fo5H>U1(sFA`-&PrzqRrz=fhS)fa_mM&6A_XA%}UOI1~V5PN4 ziYfdf*bd$u!wRAFe^-OA`3`Thp_CY}R<+dnfqURDVrNaL*Rn{@5RkCIeF$-?dP@4f z60@eeJw^L5TYPIP9u4wW9CnP@sdBA47a>0Duzc;!`^d-PRK2F<=pqV#9?}t1`u;A? zT+3FN@Art6&@sCJLbTHRvqV>F3Kzt%f5eT?ZLKYgWQU3Li08NZ06;h!W=QJpH=xO3 z+dA7*k~KkNJyb)(8_Epu!ZbKk7Kt~;69=^YinbFMgEFZ7k+H2CFhe(?X5)o6;-NApiCqW#LQSG(h1H_{Bv z2h+^|8efWOG)2$E{!O0g++(>PAftxrMd)+#h&`)oYxl=sZ&drTTqDKPa~a}ljI@q# zrzL0U25ICOYd*4_P2XTc05z4&NgbJH;=q5d{|}0fzaF56g0UQh82cLGpy49#yk2J; z-s&&z5=65USq_I}t8mU8Gv^q9x;9PUi~7Fs=vo(uDSYZ#@R85|9rGnr0Qljh723V&Xec|fnM z^)3kW5;o-&9-rhc2DBV&-uf7XcAb0!m*bp%oQ>SD^N>8s?zi)sL&}1mu;E_ZTa=EY zM0@<_YrR*mdAp!D^`Y4{*mT9-+U7R3OtIaEXmtTAdT}3pxALD%SkH>aSM>VNXn)s) zwjqesvf}~8A#x2hx8GpvXuZvjmW;hEw6j|0HECu0s~cX!1`shuJd~5*OCD?*VP7=! zn9DFK^Tc0?%}911?+Ou6yP^2m&4fXffW$Z$Q)FfKG`AM@#N8OZ?_g#jo#iGpI3{~- z{&u7k^Sk-S&`|*l@+V7<4V}KfZ&(Ccki8?(7HUlPRbg&-D_O)Lyrvsd^6W{ZW$E3K zu_S2W?Y_+J*UfdzmcPiotlR12J|TnPMW0xn(iFFfR<5Tst2Sgll0DG}|EO8GGtVmS zsQolBv&W#7wW+=sUaGF8;V)}beD7s_`$rEnmvjFRhuG_!cZ;u;&`T9_fuO8D6Hknw zeJdG-o^X7HXb9fUD_bCOX(M$y1K+n$(y10}DvApi^fxkL#HS@SnUwPCyD6juCDK$r zAwocg%dd_ECi-GKLpaq=DGwg*GnvFh6rsnWlzEI_?w7v`3%F}L`q*t#rBwBP!%+_C zbgW>wD1QH#mTt)tn|-Ik+lMzX{qfbQP2e9B%ne47Nmi&2KFDZ;(2O2oV#_Ve9|+Z_ zk{4){(~}joAFU)5(rPz~0?p|2kF@&a+vNvG_wW5R?(?0VuXHLu6t8K8)Bmuxhae%j z!__h)`nEm#dbdyNsLK{igm|hSH1KJ^X4Z_Oc_CA3`7(Gj<%kOykY$L#pYCS)R*+dOBCtHN0cAFe5KpDJvi*!?)+p#LdC3( z)_4ORrW?PX164Yu7%U$vz1{g~y+CY+SmU>Y#LuO1#phIG0#a$6D?VR9;Oe=u=2#Wq z05?U0*bX!MziRKSCBPz0?89J-;eqP_KOiVeNu1lQ)pBQ7G7)0ZU@ce@8Hh3wbvGW& z$qNf_Mte4olQ_)Oti8E4-^Lb#-aT_4rDOT;CB3*+4cvsMDF2@XjO&V z7eja%9(2)Zs%~+J=FBXa<+h4l5zVtKLs%`5-p1Z{zE<&C=}pKpn4wzv#v5_JX|w6c z@wqBt^97~=b*nq>AK*q%F>9`nqgM3O)602p?dtJk9_l+^>7%56^Xq~e23sLQh7g&I zHShyX(NgRpFt6WzDz`6s5NKI1H=i9NKwg>-spg1|nQ(Q1b4es46;TX8nR#SY)ov=M zUTJQFLy7u@ts2MH*MX^+v~4kR;wmJ;?2$_*Wji)_?#u81zPL6ex}-p{)v9i=Oyffw z(?GvffFtyV$71WSKaB)Qzo6i~c+~;9QfvJ*R$bmh8eEhaQOlUxA^tOoZY;OO%!qtJ z*J0cZ=(iCQAq@6ou>e#<94xT!W;OgcshGWvGUDl5Tl7F_DChX`$`^s#jw&>Z_1WY< zs3Jbyd}$#+9GT}KFH?8&3T+;~Kzk22?z`0zD)>G$rJ^cerM1w=JWHnrunET>ewQJ_ zjs4^n$unckMS1B2CU0}7%Dx%EI??npd@WxU4KJZ!OZyhW$aD>!vEa#Ny=-xMK+3>2 zdUalR9?l1796+}KHT`9>(b~~L1?4n@L4*FvQG?!;9dWpThvB;JZ}_Gm|cZ7ZMSPYmzK;P zUn0v394yyVD4a!YzJ-l+Qm}Tyb{CXgpOb0s%)yrf9)glm-YY& zSn^0|hbGMf(T^r^;3?lldUjF!o5`3G<{$pE)1urFP~A5idh&U=HvuAW$NB}OWVug1 zfwD^CB|JS!e}vmQhiRUePda__8&W#&fwI&{mi)DHBr8@raQf;IP z6uTbGjiDz|}T^|1+jZ*$zo^Fv~a z%Vgx6Q->XABK`)S4B51DfH(_ml=^u8x0TA712;^L&hH%Q>oW*WeYuD^ zhq58Lc~}pG@9w(0mRZyYEA05AlB(djJ}PKzpHWdj-o45Q{PwncX00;I9{TG~arpqe zBb>|TiuXV#9z$oyr-0#}T9nm$`Nk=XE)BG1FpB~`;OB?RF0}Tm{iy$>LoXn9a<>Ub z@lp6a6&s?uE#*;thitXdz0-oC?KexEK-7>8$@Rk27&NxP=h8{eHGcc4jX zMyj*P;ANMS?nz6EIQMLNWZ&WC%^~42-ohkUi6lpy+%|qXvXP#^#t9FGHlL^(Fg+XN zQ{2sME^QS3>|6Ha=vdVJgBQDkzAsX?-CzjGs0(k1J|(D_Pm8d-kz5v1`NTd!@>@$Y z`^jBnjDFm``ym|7Y%MtFPUUY3);h1XjP8a}^{Gf~Z8iqlqd3UAP z1^MT?k0l>Asfh#prcR_w(jjyGapVS25=W1A5%)69+gTDh@~f)NE0-z;;+}mFX5!7; z|2(g-YZHUH^W%Xom1JYnYN^*wp6qF&B`Y(%pZi;%2>TvMo%uMXd!U-VwZ7yIL*CDD z5~#g3i9inXTk?zgGD=;CswtJ`r0h5v^{=L)41d7aMy&--b8{<=hIk~UWF`Iy9y@(f z^7_HOhdRuaIL-IXKs5@6J3$gmTuUp0zhYmrn)x1AiWH?kuph5u&Q&KTP&Kjhx!U-s zF01n)dujS{ss-xuF<+^PFUn%?E0jIIzki8CvU8%#S1A)rW?CYJw6BN#8Qn=C#{U3$ zKq`jOE&|m^?6v-g&4cG1)`G)DW%@A`q4Y3jF?>ab_z7OrrXH*;dwrNb3S2MS8{ z1HVoc?=7QE4v3h!N?4Ae3ar>~+SB~C24^%zssAi^7Wp|wngZ1J+DedEeyHi9VAYAF zN&=m^NHg%*E&kvI + + + + + + + + image/svg+xml + + + + + + + + + + + + + $title + + $personnames + + $subtitle + + + DENOG7 + darmstadtium, Darmstadt Darmstadt + diff --git a/denog7/artwork/outro.svg b/denog7/artwork/outro.svg new file mode 100644 index 0000000..e926411 --- /dev/null +++ b/denog7/artwork/outro.svg @@ -0,0 +1,215 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/denog7/schedule.xml b/denog7/schedule.xml new file mode 100644 index 0000000..0be0e91 --- /dev/null +++ b/denog7/schedule.xml @@ -0,0 +1,408 @@ + + + v1.0 + + DENOG + DENOG + 2015-10-29 + 2015-10-25 + 2 + 00:15 + + + + + 2015-10-29T12:00:00+01:00 + DENOG + Anmeldung & Welcome Lunch + 12:00 + lecture + 1:00 + + + 2015-10-29T13:00:00+01:00 + DENOG + Begrüßung + 13:00 + lecture + 0:45 + + + Slides + + + DENOG Orga + + + + 2015-10-29T13:45:00+01:00 + DENOG + Network Automation and Programmability + 13:45 + lecture + 0:30 + Automation is about optimizing and standardizing + your current network workflows to meet increasing demand + and provide context to network changes. Why Programmability + – A combination of the emergence of + Software Defined Networking, coupled with Service Providers + requirement to innovate at their own pace, has driven the + need for vendors to provide tools and capabilities to + extend the network platforms. + + Peter Sievers, Juniper Networls + + + + Slides + + + + 2015-10-29T14:15:00+01:00 + DENOG + Buffering Sucks + 14:15 + lecture + 0:30 + Current status of Peering, Interconnection, + Regulation, CDN Netneutralitiy. How you can help to + minimize buffering and make your end-customer happy. Update + of Init7 vs. the Big Ones. Why we do it. Status of the + interconnection case pending at the Swiss + regulator. + + Fredy Künzler, Init7 + + + + Slides + + + + 2015-10-29T14:45:00+01:00 + DENOG + Lightning Talks + 14:45 + lecture + 0:15 + + + Slides - A10 + + Slides - Axians + + + + 2015-10-29T15:00:00+01:00 + DENOG + PGP Keysigning (während + Kaffeepause) + 15:00 + lecture + 1:00 + + + 2015-10-29T16:00:00+01:00 + DENOG + Evolution of Ethernet Speeds + 16:00 + lecture + 0:30 + In this presentations we'll talk about the latest + Ethernet developments that are bringing a variety of new + technology to the market for different applications with + speeds ranging from 2.5 GE to 400 GE. We'll take a look at + the new 2.5 GE, 5 GE and 25 GE speeds, 2nd generation 40 GE + and 100 GE, 400 GE and what's possible in the + future. + + Greg Hankins, Alacatel Lucent + + + + Slides + + + + 2015-10-29T16:30:00+01:00 + DENOG + Peering DB 2.0 + 16:30 + lecture + 0:30 + Overview and demo of the new 2.0 API - How to + mirror all PDB data locally and integrate it with your own + application - Examples and use cases for building + automation from said data + + Arnold Nipper + + + + Slides + + + + 2015-10-29T17:00:00+01:00 + DENOG + IP-Fabrics - Datacenter Networks + 17:00 + lecture + 0:30 + The layer 2 design paradigmas do not longer scale + with webscale data centers, so this talk will give a short + introduction why that is and explain the blue print of + IP-Fabrics, the design used at facebook, google and other + players in that field. + + Tom Eichhorn, SysEleven GmbH + + + + Slides + + + + 2015-10-29T17:30:00+01:00 + DENOG + Freie Endgerätewahl + 17:30 + lecture + 0:30 + Die Abschaffung des Routerzwangs hin zu einer + freien Endgerätewahl ist ein wichtiger Schritt + auf dem Weg zu einer freiheitlichen + Informationsgesellschaft. In den letzten Jahren hat sich + ein Bündnis aus deutschen + Endgeräteherstellern zusammengefunden, um die + logische Konsequenz aus der Liberalisierung des + Telekommunikationsmarktes in die deutsche Gesetzgebung + einfließen zu lassen. Dabei geht es aber nicht + nur um die Endverbraucher, sondern auch um die + Stärkung der Innovationsfähigkeit der + deutschen IT-Branche. + + Simon Kissel, Viprinet + + + + Slides + + + + + + + + 2015-10-30T09:00:00+01:00 + DENOG + Lightning Talks + 09:00 + lecture + 0:30 + + + Slides - Alcatel Lucent + + Slides - ecix + + Slides - nominum + + Slides - Tremmel + + + + 2015-10-30T09:30:00+01:00 + DENOG + DE-CIX Update + 09:30 + lecture + 0:30 + + Wolfgang Tremmel, DE-CIX + + + + Slides + + + + 2015-10-30T10:00:00+01:00 + DENOG + FFO - Fracking Fiber Optics + 10:00 + lecture + 0:30 + LC plugs are not the only ones now that we have + QSFP+. Should you use MPO or MTP. What about ST, LC, SC, + E2000 or the new LC Uniboot plugs ? What are the + compromises and benefits of each solution. Did you know + that polarity in optical MPO matters ? And why can the + polish of a plug cause headache during on-site + installation. Thomas will give an overview of the + connectors and fibre options in the datacentre now we have + 40G und 100G as a standard. Especially for these parallel + transmission applications you should consider to rethink + your wiring if you don¹t want to get stuck in + troubleshooting your links. Finally some practical examples + of broken optical components after and during field + installation ­ real cases which happen every day + even in 2015 were fiber optic is commodity. And one more + thing! + + Thomas Weible, Flexoptix + + + + Slides + + + + 2015-10-30T11:00:00+01:00 + DENOG + Peering DB 2.0 + 11:00 + lecture + 0:30 + In the context of national research networks we + rolled out an europe-wide logical infrastructure to support + the rapid implementation of multi-domain VPNs, called + MDVPN. The framework we used for this is + "Carrier-support-carrier for hierarchical VPNs", as + documented in RFC4364 Option c. While this is not a brand + new technology, according to vendor statements, nobody + seems to have implemented this on a larger scale. An + overview will be given on the technology and architecture + and use cases be discussed. Special focus will be put on + security concerns raised by the community. Since vendors + don't support filters that prevent potential intrusion into + local VPNs, a netflow-based detector was developed that is + able to detect such attacks. In addition an openflow based + solution for filtering is under development in cooperation + with a switch vendor. As of today ca. 500 PEs take part in + the MDVPN domain allowing VPN services such as L2 P2P, + VPLS, EVPN, L3 VPNs. In the coming year, a small + office-router will be developed that allows rapid + connection to the MDVPN cloud + + Thomas Schmid, DFN + + + + Slides + + + + 2015-10-30T11:30:00+01:00 + DENOG + Your Cache/Recursive DNS server also requires your + attention + 11:30 + lecture + 0:30 + Nowadays, most of the DDoS attacks making the + news are targeted against Authoritative DNS servers. While + those attacks are the easiest to realise, as Authoritative + DNS servers are public, it is important not to lose track + of Cache/Recursive servers (As few PCs or laptops within + the LAN can take it down very easily if they are infested + by botnets). This presentation will focus on the + Recursive/Cache part of DNS Security, and will take as + example a specific attack that EfficientIP has named "Sloth + Domain Attack", to illustrate how vulnerable a + Recursive/Cache server is, and how easy it is to bring it + down. We will also discuss some ideas and the necessity to + take a new approach when dealing with DNS attacks on + Cache/Recursive servers. + + Nicolas Cartron, EfficientIP + + + + Slides + + + + 2015-10-30T12:00:00+01:00 + DENOG + Securing Data in Motion + 12:00 + lecture + 0:30 + Driven by the relentless news about cyber + threats, security breaches and data loss, law makers and + regulators are increasingly engaged in implementing new + legal frameworks and defining new obligations for data + security. Prominent within recent legal developments has + been a focus on network encryption. Our presentation + provides an introduction to network encryption technology + – including encryption algorithms, key + management and authentication – and + introduces the concept of post quantum security. We clarify + the most prominent myths of network encryption and evaluate + the applicability of encryption technology on different + network layers. + + Ulrich Schlegel, ADVA Optical Networking + + + + Slides + + + + 2015-10-30T12:30:00+01:00 + DENOG + Aus der sys4 Projektwerkstatt + 12:30 + lecture + 0:30 + + Patrick Ben Koetter, sys4 AG + + + + Slides + + + + 2015-10-30T13:00:00+01:00 + DENOG + Reliable and Secure DHCPv6 Expected + 13:00 + lecture + 0:30 + Many organizations have high hopes with regard to + DHCPv6 as it might allow them to deploy IPv6 based on an + operations model they usually have long-time experience + with. There's one (not so) minor problem though: DHCPv6 is + a very different beast from its IPv4 equivalent. This talk + covers the main DHCPv6 specifics from a design and security + perspective and discusses what is needed to deploy it in a + reliable and secure way. + + Christopher Werny, ERNW GmbH + + + + Slides + + + + 2015-10-30T13:30:00+01:00 + DENOG + Closing Talk + 13:30 + lecture + 0:15 + + DENOG Orga + + + + Slides + + + + +