From ac1176b9db9d83ad3b2372ff1facaf561863e7c0 Mon Sep 17 00:00:00 2001 From: Patrick Allwood Date: Tue, 2 Jun 2026 10:37:27 +0100 Subject: [PATCH 1/3] docs: fix roadmap file casing --- Roadmap.md => ROADMAP.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Roadmap.md => ROADMAP.md (100%) diff --git a/Roadmap.md b/ROADMAP.md similarity index 100% rename from Roadmap.md rename to ROADMAP.md From 968ed8a7ba6909f521582152e330c56b7c7102b8 Mon Sep 17 00:00:00 2001 From: Patrick Allwood Date: Tue, 2 Jun 2026 10:42:27 +0100 Subject: [PATCH 2/3] Add copyright notice to licence --- LICENSE | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE b/LICENSE index 246b98dbe..7f736c15b 100644 --- a/LICENSE +++ b/LICENSE @@ -187,6 +187,7 @@ identification within third-party archives. Copyright 2018, Brock Allen, Dominick Baier + Copyright in modifications 2026, Rock Solid Knowledge Ltd Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 423a80747c9563ea4a7008ac6b8a18c695dbea10 Mon Sep 17 00:00:00 2001 From: Patrick Allwood Date: Tue, 2 Jun 2026 10:46:05 +0100 Subject: [PATCH 3/3] docs: Update image with non-transparent background --- README.md | 2 +- docs/images/OpenIdentityServerDark.png | Bin 0 -> 23758 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/images/OpenIdentityServerDark.png diff --git a/README.md b/README.md index b8948ce8e..8c89d8f7a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## About Open.IdentityServer -![Open.IdentityServer](./docs/images/OpenIdentityServer.png) +![Open.IdentityServer](./docs/images/OpenIdentityServerDark.png) Open.IdentityServer is a free, open source [OpenID Connect](http://openid.net/connect/) and [OAuth 2.0](https://tools.ietf.org/html/rfc6749) framework for .NET. diff --git a/docs/images/OpenIdentityServerDark.png b/docs/images/OpenIdentityServerDark.png new file mode 100644 index 0000000000000000000000000000000000000000..6996ab0a39142626090d1add65e56eee22a17cc0 GIT binary patch literal 23758 zcmeFZby!s2_b7}70s^B5(jg_?HI#yawDiz0Fdz)wjX|fhw9+xe07Hks07^-W@12L4v(Gtuuf6x$YpuO%6Z}R=1`me}2Ll5GPxkdoRSb-~8$fyK z{%zoQbuT;@xKzL(vSzZfEExBJ8%&Hxx9(uv0!mk3vRn7AubM!a{GYM`P=5ALohvAW zxBp$=BJl2YeKX+s)yD|kTX}hk8iN?ZIj7f`MkxS7|3ij6G zwTA;t%|l7u!~ zLvsz|CCt&p!NShT!q$f73Z^mC*4asni3x}1AJ8wHoE$8m|AKDg$YFf_#QCZT2QX<) zV^c>?ZVs-iVbRct-qZ)bFm=4Tz3D^^W`BKib7y67-IJZMgCk7c-3}(kqzZGib#^d; zT|>BP^bZgz2bi%F%v79*i${Q+3;5#^<@{e>UG?$r1}}}BjKw_}?VW9%L`-c>ZVKR= z%gYz9R*g}IG+*!g&XwGk5H27XKhgrH_HGgDy` zzJEcvY4YD-q@e&5eja`v0e)d_K5ju_ej%=ZHMoBH-}TjPolV|e;aU9O*!%ah>$;+x zS4(eYakFCAH~%czzX0E?=S{``pqc-3Ix;o+7Y*4tJ6K)Qr>O}i%nD`=vvInjAnt!C z$kYVvWZ`55`#1f(uyXou`T-aNY-Ma?F2>}>ZVEFqcD8b25?8P_w{@g>#?2$ZMdL=p z!^=fu=f+IKPNQrGvyn9gI_51N=89v){)0OKe$1Z z^M8f(za9O}ga9!H2sF-ri9O)vUxE{614v5;Kr9mYj9*}2&|t{Ee4*}^vN?_Arry>f zX!p`kVsf}}W{H9J{o`+UZ~KWYXURNI+Mjy`dQ9}@6Ni4t<9k`ys;@#`%S1g5d2BJ@ z8OJdo;ul>uUOwwLOcKq`>)2^^+_&eswcb!7!kcUAc#$Z~>yLAaUF{!@A`>qYQS@mcWpKR_`U{vXgAr2L=Y zwB+c`!)&{Ui@(26EKpO`D!Y~3w7nhmm&)z^r#B4zl0NIN+>Js&pF?z5g#?>zo!V=H5=*zH3 z)xVpyJ0K?uPNRWkSIZZ8y>6UFye>Ccd;wdiGK@9ENsy9SlzB-le%<(8AK~ns@-wEF z7CLfi1_t1SJV#S!PBHBh+2~qndG0oD0@CYx&&h#K1_)osg}-)J*FJt;f6-dxMOR_i zA!i#K{ZaCh*$rKc1#iFSz97t~2#pqGo%>j*woJ%Q*VReX0)pLCfCO#7FTNl~)E{Kj z%SBt|8*uNh^#|YW`o^Pb`fPyh1}*n?#D4yWX_gy(yDFJsYdY#xrp9jACdUv$+j*r# zVPI4($)mbUXc9O$a3!*DU>L}G5%B$W4dTfQ^BO#whl|Uz zsX~P^ZhClrYtHi|f8~pNXsDM8!dmg`^ot z4gPA}j0gnq(KAshL>N0Ou5xq>rQ)|wH>0^Lup{<|{;B%-6Hf8x9>Jc>1IgK+Os?@o z^9DeuE}r~%iyw2DnN^9J1|Ae@p*OEEfLFMYn8r9rk<+>Cpf?MU>wfNY&3XP(=m){z zDSyALEDl6x2QYAr`Nifgk_X?%iLih5q{3=+uzAT_!d3V(%$#rtG8aMX=?W7sOK<_V?M!U?r>SoBIwo zv--=wBUar6+7Tq)q5VmaA{(0#Lf3JF>}Rom zsGP!D%u2zNWK3ejVgK}U@!D#yBq7!s^5X|aDEk0i%QpKBN~f`{>Y#p5#fRxfXT#kP z*|W`i*DtGV0 zd)JA?fNIkI*Z}hH9iybqdGUw8PETlT=(Q!KqD*dmlX#_NX=%>3?Q{-ts{-)47x|>$8w-)J+`$*4EESPs-9r?cYTCG^CfY7jPONgv)fKE z2gbN6d)!kmPp(Qm`^APQu;_NC_!#rHP5>E}+9%ra@sO->_ZJeO82m|= zZ#oOI#ck78p%~R3A6F>z^yh6MmCb_)T^C9t9`_N~mb%Tyl58uXSxI4G3Z0&-4QZ`@ zt|UQa8cD8{eDQw6g`>7*KD4GV?W#?2KCd~%S`S!^IR5Dw1mj)21$)Ee2rc7#$?J3? z9gKcm^dHjXhkk!5q1VodjWLY)g!^O%i9ukLGCFx+?%g|CZC&!mM#LY43-+L=-}zR; zw6dK&>ADrbB=C4<^WCem_3u9%BhtZLCk(#|^qQgsY))EK^TYkA$uQi^lz1;WA;%*~F-iKbMhM&8Hx z9r6U8i*jv9<6W}xKdrMwObmgZ^S|$W#-`PDt7;bUK3o(XnY1`flWM7>6iQ>(aR0TE zuT?y4)S%!6YnxyvvaA643}O6A!M45|_zaK@d&yfvRmpkeqZ5NRp-Z^i1lbWP zGyF8iZlyfKQwiBmbhDO2o_0$9lDrxJqzg5)A+@Z$Je@;Z)~)Z(ivzRN-jpV^$NP!| zPBTtopAC#(e%RLC;Y8_EPMTul;vRV(rY#U7klKhB*6@TZ1Htd^kX&D6OX6) zMX#q2t@^Z{wfoLz%$sQ-XXGPP>t1R77CZ7JY&?nIURzPcrxepDUL$W&zKtRJZ3Xkp zS}fO6b`5KLvg!<4rQh!EJ~*u@w{%InyM7-z%MO|ah>t7kBa(nf#jL}l z%}`KNZXna(IGXF7JqYUWO1=U!Gvn5uy`amrt3p|Hh>uMEuyh`-q6;|Bb#<|DX(Kc$f&eQk8 zF758AOpyMw#u&E7LK-Ws5zj}6I}U7j$!_Lq7BI$Ko=`fYL=Qz)egMg@999;EI|@y zUaup(MM;E-Z{L$d0Mbs3SITOfrH7Y?Cou^=YfcYmy^rL>!Rjbad*&F@W9FId{^a*E z7RG}I$oz)}d=u@7``>*JH_arfFC*`zq%cBeA0S;`*tX+GKJ@*i#9r{uIgREG4H{=# z;3qFH`jNMIs>19@0p6r=((|BfZm&7EoN`mM8nxIX2BtQuUHYIrsbMC-PA&Vx>4pUw;S`D!dm!4d^|(GY$H7 znjzVG_6jVRmw_PG`pM^gXCPf6p+>1$6|It4r{R~H@dtYrxar{qEm{(i2pI}is~VQo z)kJeny&2Ty_xFa%DNSzv&b8Ia1J#PuzX3197gF_Y*O{XkI;?omx=A6S$dr841vymO z%2N~~3@T{_506G?Z!=g(3fFj6oLS1&xM0`FSBU1M)Q>$)l^y!+m!ec5y3U`xa+~Dt z72~{5JEk4^ZOF|pt(+*ob*5|KO2HpuJ!I?c^w^Lm$k4zj`u)6!}2O1c^Nq;t-as}v?IBP z!99h(q`a6W68(oP8>x@GQXu)7S!bo|Fh6RR40?aom`-`EXufIB!Fm%yeT?~=H6`q6nXRru-wGH(my>MB&?dqtH6;9++i*Y;QVO+Ex zy=e04Q;_6F@Lk+s-+&p@7qoI_IKHJRl&lgRJm8bJpLj&2JD1LRL)eEOeUxqcHG0Eo z?ovU+Pb3lKzk~4-m6U9LeE)7WV~ima+V@IJyV8=*Fq26+ozSNp=wypO`lS=k3on7e zS2TW*r~EBr&12g2bu9)8(UvbA4i#}?B6ns2*I^IZKS)SjNxv_FAo4e~m7|}q6_`3y z1_pTx1=q8(r`_c>?JML%BBb^)zDXaEog0~_>fL$-#hZrbI@$N0{?^MFIdV?N(Zp|e zOp8g1A_=?K<1hfKQBsZed1-McvWZVn8j5ZZZj$v3bgC;q>PkaV2ZpU5?kzO=z zmEpPM#-=Im4^PZ#V^)SVj%)^bSjZ}u_?cwTuIJOfdT6vy+oj!Yk~`OgKqYDQ+<&Y~ ztAsa|LN&g4Do=j!VQ@GknGx34oY|sG_Wa#IRV~xUI1#cLpM3$JCa`_6pgbv0rVyX{ z5@e25WLP!TmDv7;N?ROXagjHRv=JBa8Q~4z`;C3WM)t{Q!N9x`8S|QgCb=9&*3;Lr zOyzI>o%=6OG-b*@{SnQfYno*e7}aU}^uFUE%pJ_zn9`eSasIT=T3Ar?kCBxdcjDdE zrR><5Y{$ySPcPpvsB-A*`ON4F-eRFj8f<0EUJy`mC>c;~;&GUKR%47U%&f<(qOjA} z5c)lzk?Cyl{&BdfL*&~;3YFYv$3;&Z@mbn_3I4!a^rx+S?XM$OIU zqoP{8{D}&amr%MR>ir3jd_fOrBmKt1>T+F6pdVcW+#bY zA8x6*%@r>5VXhcS@IHq@zV;}~?xDX)RBrddcxeDoFIx8Ezg!nVa8-#xr#UphI~XVD5yyNTDboaZ~*p^E$J!~$whzOR;BdDf%;PlUZNwCYM-YyLNYe(kPE1HXkV`AYx0>3KT`k3~Z)HvCJC4SrsdyuV=*{ z?oey=X6pf+>(cm$c;{OS6* z7!?mMBA|@C{Q4B9=OcmuI|U>^#Qt^fquYG6=zKbT%jzUv;E7)9Dw(1PiM+!@Z&U|i zin_egDD5FE&xT2NseNtlf-5F(uJe1@ZsN;}Q)`)&p~8wRt+P`Eh1B4YYKq~=ALwp3 zWYvskFM&k1JRSYocQ5tXIv#E1Dp7Oyq-$M9TS<7Zwu5P>&ccm zMZ}{FopM0(j}c$fm!^wK801qkyi6jHV<6ooSY-JVj&c{8s;NfDgtIwcQPDP)8XY_U~S)rp6{OJ(=HrGti59i*&& z#I{pVo7bw|6C>B~pQ=TKgDIcOTMq@G(j1=@uN=&8aIH@gA-w;(A?kj6%gr3aTF9(+ z@yfi#t!WprWR%k8|9&5xz4-1?N@n{@Qm=J;v9RGiyl6*f{drZ$hdHqH@h~pZB?olc zqxZXE_-$nI`i{8z%bGUvgwJ=eDNjH3t#5opS{C^4Dk=e!6@ronr&7nqZ)dMK-aG0b z6`?;>P-**u>hM*rsQ6h~K>`oL>n!(-pvfHmwx19f=@k+z0MP*o`OMP^aY2xdiOuF^7 z_b1t^=JeC`1Z;RIDcC1x{-d&V{eqd2Mf2{ep9H3Wu=Ko^?NssNLX2({s?9L+G5}t5 z{tsFjO{m@X42GkJFo%Z($pE{-HZn`$rS55w@dj%w4Q2m{=?$_IBphE z;}$Yt>@V1tO@1(A?~BzgtMX`>`|^dkoW|jpxgUg`!8T}9a1M7Q(j2Cp9zN%Lm|Ew? z01vGrps?2&rlSqkWZk12TORyD=9_VEcbAiJ#EAEIp)Dn~9-wy&VmTUWa#B!i@8F$z zEgE>Vn;5J6vN;wkGZB7HqJxe7EwL{`8Nw-7G@|;NK)Q8h6Fd6O=wB&9wXO*sOHPO3 zh2w#Ti}a8_+L0WytVx?$^%6bJND6gVD;0B}e4nwlnH3_>Y@wY%X~m9Fs01`U#U0$A zp|xI&FeV6B>r%seb7b@YNl#e(Q^0?WDB9#e|Ig~>hgj}Kw@SIWQdXro-MwIbH26?? zjwB`bea0kW0}A|vd(Blj_0Ok3jM5bGm~LcYT%GyJcJN3&!vWX4W1k{>-{ z(~tUj?jQ633`$DIqSciD;h7FNC)9T#EszQ}MW=IVGPt96U|m?MCjq5NQMebu-;si% zn)=HwKmM_9gMGEHrFXtHyHqC*d=w>}kpqyx{^ zdL@1+X>|~r;x}H9cph`HR<^w%gCFy_K&Qykr84|1ci6Iv(f>>)KJf1elWyg(8ACcM zDsuU(^_*a`j7JuMD$$3f3rTPOoS3Od)2WLV?9ib!44uy6GN+1;b*d}U_YN-YbCZa9 z?W_cmfhw1k#CK=8V0$Yq%{O;~8v;Yc(h@UhyM7bt;la2rQxS%aNLD(Xh~)66pzLTJ&nkJsjoLNKeSg!Y%8SbmaVk!Swq!m| z)Ak*2j6?+hB7X1urMlOF_ekaIb`Gl9ZyNrF?56l!SsN3+FT0G&K;k>F77y=);;Gk- ze|UL5H^uL5g=qkm@<^mFAdzM@+}PLv(!x~J#fnTpqbk>(ickZE8Aq84-UEy3Vz0cb zYQR?SPI~kvw9OX1^Mtpi&Q(F_O@-3S5n;!Z%C<6LHprGLu@DZ*6COej#*b)%Jiy zx*n@Ob+ZWwdedr1=M~1PFOrj1yX;SUXj!&sVV&H_R(XH@Y{o6v0tp)d!6UHSl{tQy z=mdEK>$tG$NYS+LfZdBWe!hXZ0Y~4bn4}#5g{mV z=u;%t(bv}4+M!LpTTP31l-}@q*J9M%&tNvDedp_yENa!?Wp|cuC=^;6pS)3 z%eYg0Icx#RD`a?n9nCk$zUS%#dC*$4l1eMUuI(|vDj3Pnj>adyL_KV}%}*Qw(nVRw zM5uo;8F&1%0?5_ahJ#*^=V`CLAffm}C@S_t$+x13(p1!=h#vA#IcIHMS_v7dBTyRH zl^Kq5@A_@hG;BLAbyT9*@OLC3*rGY-^q0N+WKlnY7ml}mK+$e544G{e6cvnp*ZbgOg}n@&elX3h}4C#)_@SwB-+h@sY%Y`X7P(Z_^{ z(BInplLZ$Z&o@VV465WB1|-o-&#QtBI0`o!`_RynFldUcr5lJm;A<}nZtQ`%ftQ>Kdjb{PdX(s|7QY$Pg;W^*nwbmnZ5Li*k8#>WPUM9sR`@z2 zChK*Jk1Mwf)5wmet}wtj`&YChZ0=sy=h=0iuU?8H8b2{36C>b7NVk;G=I04I7Y0Mg zn$87LmfO?X=N5^ZhwKLzUBv`BnpOF`ef>jLch|9q_;fxl6-HB)Q`TMDqtl(Lc$ORHIK=czi?K*-X%7?CbD z7DapUqbF)Ez<*3j=NNorYGdhDY)%(Yw1=g|lbq{qDWE!^E*m^ok)raJdo+nQrwrf)D?NHaDaljn*`^MQk48O-_qM zL`uBTy`X^i2%aUcM~*t#&Xg7zW*%-E+a5*KzJ2d;UU2ej!8}uH^+oHiVgb{{jrs1Rwi~d$D}55i$dgsefI1J8%ACHHu(hsp@ckC!9yoj zvvndUuPR$s9}v1JvKJoJPXLFKUX}^65=vTy_I|9mETAJ`0F?Y0fN_c{L?+-}>?1>hPuw}v|TSnb9$y_iK}T5 zy=xa-ZZ94IE%4p`YEnHi5n8ydKvg@mYsSn;5>TL_lFB7_elD17GBt2~W}M)#v_G+R zx!2&i_THNwds1R6*To7}1ykD~OfD)umfh@ENfp-6Z_;dV(dg-P*cefxLDW7#5-4yr zy1Z(z>qV|BU-+bfjeT?T?Q`vmGFrd&+ioad>SrpFm4=vKehg(F-aD-&ld>`kfhi&A z1BGRiU(j}b`kZplvxYUji>H(FVdo`QzB^G?JHw*yV-k_LmIZ>0MK!%T9DQXTX0(s) z3%UEQJ{N?oi@}Qv`=-4~$+5e&q-~6TV|SX;eqG?ne1IP{&!>g@{5t>Pn^5#3%|iUt zVP<=o!(nvenF4LRsPrF{B$aFJ0}{aC>hU6quJ8Z4{VYQ94TZm%qb3FrSiQ*wIH265 zJv<$5Qn#My|8XP*rE?(4>AOrj{aT<=MT@9nUGG+9KNVadfleExW|aaCW=EgyX{IwT z1Mez9__@5##B)R6^LR1HdM-1dE>Lh=xBwpA8rw%UjelWKol<-7OW%v9le4|zWXBAH zM8-wF-}3T-#lc;4dcaaUBuQ1qFaE+(Ri#p}sL*Eoi#XTG8u-}-(Gyvho-&wOUX|^n zGKI==Uzw{A02A=LV?B=`IvUoPbQ;N-AhY9mYDqH4(V$SN_BV1s(S z*psT(djIvttJ>~gGen2z;ZB4ize%;rxck)LuBeXWMhnhBlc-`610{)0e0gx#<1SvO z7>D3RJF}$*u<(UM>uDuRDWmLKXza$ard+b|=wtVZv z(O%gwqfg@KXql%GC$=-S(;0g-k#S8Um7MEzkC{V#Aj?QIc3Qwkeh0?Vw1vdp-L`W| zi@kQI7vD#E(H{0gWf4-1+S-~YiB*X8j_3izxr{>KPuIVuBaACufKUb^XPKrrt-D1! ze^;(IA=s!gPG#?jMy2sO)d}mC>`G6nUcWG zsqMp!DT}IOX%SqsWQPztcKmX0p02<|u3|-%&5~0gc_%2jd~jnbvA6EXQqlQm;2~@_ zzllnHJ8O~j>0vBVU*Wxg2YtL-UeL&RB!!7)xZG#HMV@*R<%pBqT+nw)=&XtC_F|}G z1Xkr&&*2(V?liw9?WmQb-C(>JZNq9Y(6&2$iU|79Jh6j{BE#z4W0*IOVF ztFzI4En%KjjfkQ*E}If99(7OAyMT|q*Hr>Zh40;KdcF$S?&mvy9*;wZeLW2up(DWsE2$gSrE6^MN?l% zxL4wQY$XbkQCbO-7w_$Vw(glcbwS=TC>BZQ43G%r;m$Inp4w4Wf6pW8KB{|>j9lAK zV?Z3`9NruDiO@#SWD(!qaS8Dc$BUkts#Q`-D5qX+r%uyw5)fGx$;o`C`jvQgA~F_G z08s|J$;lTl(7&6IC=NrI=iE;91ifL<;&&fB-GjNeK`0_W$QDTVXmbk@$m`j!45)6X z8RH`Nt+_Za8E(6M^^r;;ATFZ|7^3I1{h$ACB?Pw{#iXVxW^{eBH)I(0P1qhnMt}t@ zr<2Q;(gin73leuj?~Nv%>g@f@j;CgSIul%^Ki>FuhC1=5`v-5k?if)9?eZZ<^PwLm zj+nfA3gj;Sv}lf`?V461m}h3vp+V}f;=1+f5l*+)1#ga-?p|ktiQ;`E0hR?0vd@lP z!y22{g8p#TC~Yh5fKMx)4qcoeT;4-b+(i1y9qh;SAyzl6wZ1Bb{db$&#mP4?|HM3p z35hZj_(GG!QEzLU!-<2AtMX+Me#|{Pag80Ymo>fUPCX_HB zsI6ppf3(H5NulCyGC)0_5U$rzp)$PMAj96d^9KaP1K6SNrW`|{Z+=>^S%l%sX#=fZRP z0A4J>;3EF)>YfzUMF!o@e!U>QxbBrc(9I<0P-&X*JRo4KU+r`5<>r{@=TnGKyivA0 zl;%Y!O6TN<**$KtqcN*W-?kw;HF9{6qH^B@<%Jaa;~&esBz-XrbA{Wy{O>_sl+fTS zNk`Q$A3ouMZ~@}U3eE;KE+6SFw=!vFHu&DmYIIH~@HcG)T}74fmv>h=3Ac>Oy?S!I zLicuP4WB4%QVH89<>-vSTA%sK{?+Mq~F-R2mGUmx7%lFCzG-V&1oVn1xdax$oZxu!AI-%59y9V9NBHjE#}@3 z$sDoBtWZF=bKHFT2E%`B*naKXuaMs9yZ-h9N?LyEVn%=&AYzWwY z{M||H%0GUB>OAQ7mfWm8ygR+wki)a4))9NaGQA@tf!p=KE+QDgKt)>corqDs^YH8vFqfO zWEJo-7Lp#Ngg1kiX2rSu$6WRTYKc`sh!LharRU6+9`1@I9wW@nF8AZ68j0a%L5tO`hMc6& zY2%$wo(_Jabb7GyUGH-W&e0ug>{<)yu!70&oMdY}4!abBs6^p7Z2myj$9Spl8bBBnNMxX34Y5xEf==+Mk%8PM1)&c;nod#lVVUgtL0WSO%ZmqN2qf9?!fE4$ zQokQc$?y~;Gt?E7MshSh%3qBZqeO7AZx2<4)s0!01)Yjy)cSGx?5Z9p@WdfU&;D zln#$Kud-`xSoC%WF>@yP#Pgr*1DPSJv!R=_k@P$`jYU+ z^!lDv66i38wZpEtw1-j!$0wuJL=g0n@hRHlSOl3r^8~7$JO3yMEa-lKygQ#?<}2!gsdj!JNhZbC;pt(Mrbx{m9}9#U)T{yb`p>_Ezt^hc zizdEJ~{^rVXSK{>Wf_O!jB?&M5sV#G?Tag1G2DluI# zKe@goH#1r@c37BqNa7J9h9PQqD>Kue$#VPreLL|1Hj>}4OqtB2$xEfdbCigjKl=A@ zl_BrGDEtA^3syX=0p&e80 zN-pZ>Qw;9n6R%?))-F2Oawjhv*>6DfN(TsfGPahRCPUz&oV2`Q-V<2SY_1=%= z`^cOC$lM>~>}Q=bi)l?QjbWSqxO^7Xxpk6iD+|?g*B^bo)1Iq{hPh{1aa9r|-9uuA zmpnVsMy<6+)u(Mg8uc6F8(B_j(AVo4D!h#@C^D#;uDvk-(DMXJtrzrnLc_V`t>*!K z5&K$MsoI|OVV}%IZdjFa;wP=%p}CaHeg@Px8HbA_Wh{rjh@Ab{N>CT~c=YQXzM=et zC)J0+?28r*#(Pp$LZ@(~P5T{XA|(ylqEN8gS+$J zX=e*LPv(3mi3VdMwG$5+a5tS<;I>0~>@M}m?XFN<`<~IF{LOpv9#MMbsUM}BW|%ZR zgBTzQP%`3q9yw&%C!%ORA?cBzgGfUgrF)WWg!7VY?h|GOBlEq^RHP4~+FH-WT-Lht zIF~Fd;Fk|`qzx@*+B7a7LTe)146g$@h>l?(vm#d`sxCD@?d!a`<%VdCgT^dP!5VW_{8~Ni7f+Px&m&15LV@ULvrg`DwtL{M;*&^Fmp9u588n#ElYo~W zY|^~@A)6%-KXzX>f1yr#OYc%gY}V_!YXamIkHE zqVp{^FS}G3#TK=~eqmeLj2t+F9zlIeODWqBkY%PChr507?j_bO4{W#}gt6TplH-m0 zI3P+^!+MWK(MZ zd~VVTye_;W2?<-9WGYi$S7;9|oQ}>XSDZX>)FC+5mo~&6WXua&mQ~mZhW7woD4zW8#6uH zri%zC?*4?aH%KWR<~*1AWY zL)tdD#Lfz71@?@@M&()pDw%OXJvg^h{$d?YyLf$p{$zdv=Th=31o#J1)4BJ7*d*R} z(7OFleW0uHneA zf=04S%5e_?Vpd(Ls|Ht#ia^ddzXH2Ylc@Sw%BgwaZD9TXuhXbT*oea1L* zaau=c10UL_*^O;d-*0S$^F%tx8qxxL{4xjz)eC|Zxd8bAWRb6qK;(N4ydyaNvH6Y( zwcxwg(q|hqiJX0#OvQO zP^>AiJ)jaIy-|B zhE$5%TxbJ@0a}GhbLve6c>!j$jVUz))l2SS?bku6%|eenpUoW0E|H`X-=@{%Z1*4A z-&e@7^z;%nxW+mVGeiP3PlK*yxsNOsrPd#|gnd>)6j-X{+iZ1cyMm65enIqWt@GYz z=9bNTa}OO940JpO2&L*?G98oB;8E84morzI!HEe4L9SvH3EQ!O?mZ%G{`nV|Kq5hgnyo4un1LSM zTk>rruP|!tC=)&F#s`8P0ElkzIsmJo_UoQhXLtq`y~(@>_m{+xL==7it+xaD5XP3Z z-sw>_=?y*~jc3WC<1fkOMTpc8pqd$1iDDBlySscGBc^P&946#EjJ8Q0c!>6>G4b*yjop?y$OXo>O)C+#GWc+%N zNPim#o5BTQi=)J+75M(9k^_%S$D@`jBH=_*erNgN?%>%#FAW_BQ0lO|FPvjJt=yjZ z)iY=@i2Hwrj9GJ>nA977D~`Ne?3d-NSeL1oMB+E6cQuPZdYyB9s^4R3903L15Zml& zW(tb*({ZJ9(wxBUNI6DeMmlh+?#BQ{QB_Q}Da(JdRAVLw# zC}@);yKnF?@#RtuRy?^xGkY6Quv z7JIDu0ct;GGX6J^{B9V>QLEG8K@5Jan~9nX?s!7~OxBxhMOxbU6z&}9+&EXC0FzeG zHC9_H?ol%vb{imeAYo%nnq49eIe=?G>mKb$gKa_y%(CG{SK5LamXFwr%c!uh?p%4z z0c772js5xPd=vLo78*xwNFmt!ybF!{u?G+?{jO%{tnmots86y@^v*6Whd>s9`6fv* z3d2JKjV#0wb8dgEEA7!d96an*NNCt(>01|^wuxyFgg3m}HpHk`BAf6m$Jy9akP1(A zfV4a?)kY&%@`I$68P4QsLuMyfBHrk5br$euhlh-->M0A!T#Jr#;~ujdOCZjf2TTLd zYU&y760@sD7%!qiyX% zkL6d}aYiM)`2@mS+ z0JfCX?tbaGi_z2wb zV7dG8#KmW7XiQ6D%rbd#f_7thI47~TQc3Hp0o_&GS! z^^ckEO0pdx@4gN?xBTspgU_`Imwdz{lh9~*j;ofiF~LzmejTSL6ttfJ?0|aSu?JMV zsf`kVOn*u}UU>>yY_dh|b_4bvu~bP&C$XTz`#Cb^$~&HpJeFx7c$Z-67&l3>kCu04 zl+7k4B#2U9v(HqLYD)OzCqUcTyY7v7ElGnx_lVvq2OZN^;+llMT%F_S+jMCkz2&lY za)iHmGj?Iih=Q?~U02#xN8jIoe97dVLxud#7EUc@Y3$Z53(1ss zY&`vu5+Is%wO5MSJIbG)Bm}!+UhVMZjru!!PH`Jn6O_?fwhMX?@@qV^=)J6Izi6Qq zbMCB`5cufL)j>=VrZHNiT8LgBeEZIStd?Qli{T*sRUF&l)Z3p%Y_m>BYeQXniPYCB z7H$pkLg0{wwNzKx!EC%GHa7pCduEz91ap<1319k-;SOlJ^5dJH z3=7A5wUSg&I8leOQx%xz@^q|*$__{ss~L(j295=O{EQVp-ACjr{6TnuAaW<88FH;9 zj!A}wPMZ~)ESuoqz5-2x_Gkt@LgIQY?vpzGYBMaHB*z0nqb^M zBJzPzUJu?*(#kSZ03joH6?ShQrQT&QqU+NMgUxln0tOFw2hBI7fgoaa{!hT^Q7WK^%3cA5Yba!uO?kvYv$kZ!a1BBQ$1+-$bU?) zvz>nUr}0FJ2kA zBd{_D-n0T*d#WkE6A)-WEe*;i%FzYmJX#6JLyKS0NZP{?9${d7)FQT!M^HmNH`kS- zgctcE|7W~qKIsoH)~DA?T4*9WUF)iw)df*n zS-I70FH+FMzpe&IhL)}eCBr#S4Mgw@VXMM321Fbg4&cQiS+*CT`%`NAc=4W#MC68znZab-zZU{gJ7pO+d(! zNToogGc{wOudB0*A=s-ff{nE*JUXTYb&*E~SdT!8V(CcJpHqGctd=8?6e08nT^mx( zT!7=W7Ts*& z_2ybmn-Reb6&`=b4=ZIFt-=Gq!E1{z&^Aw=w}7qJR0iE74%cr1 z{CADR_VooF8`Dc`C4p8Wh})bUW+LQ~J*uN6s*@GJbeEa!BsX;0zP<8z)N;HX5-O`I zch?cajrQeuxA<>?(Xp~_b_YMmoL5F$PoW4q%j1~GhZ zYF80vE`M^q599|-X?3iM;{i$FUrU++`p3prIGC+>PWJRj6Q*@p?F>g0(F?jMckw$c z0%yMo+^PfQ6qS|BhFG^N zG&O!?I?!_aQ86lizi2DpXwikIZ|upPM>2I48k~mvq9p6zk%@_wCQTEV2b$xKR=@nl zfNXn_=_uR8If-J)0$4WvFekGog}hVVLuSKaJ3=4}yswnt5(tjXDTOQ&)sB}(-fi=4 zCgS;l{UF=3N${E9CF+nU8jb8#%Y8OJEZAQ2GT6tPQvw%h7=Pp?qOF#-)t@3!DIGZW zIUyN2q8w6CaFwksTxbd8LRVj6Dw9HkfsD-dQS^_&Wg(wBz}0Z5oK0h|r#^f+Tf zUwQBIeN=1l$+}ztVi~j8i$_+LxwUz)kA5f0VKA6Z$Yk;zouQ7s-n3cM9|>wpg5B$C3bvHM%#Hx-3x8A`&M4$Yv3%VWj2CC(YADq zj8Ik}Q(o`Q5fN2LLRwB8?>RHt1**N&pnA7&)6yx3LC8SEITqM*8i3Sm8%v+lkIhqY zA~@bb4A%Bll01h5Z~?8n{uUF~uW}8*DK0k(!aBzz124*gC=LMc3o|AKvp&87OtY9_ z0J@Clo6M~JV*wwOIJw5Ft~dve?Nxr-7>Za9{iG_>xOkf>xw^fBDv1&ILUKi2;IIO4 z9Iyn|r8hvaXnza@ixaTODa{|l-SKXX>X1ys6&5En{AEgd*N)4DZ}DF?irl-id46uf zeOm-L&q@rw`o920ng?g3&aW?1s!Uni`uQHx(7M!4_Gs;^GN|^E&)bCfFK9%sSD4S& zo3%Tn;e^wU7-v3>@>q+1L*W=EtI4URP;97bkYh}d{I-RsyBNkL@Fcir;dyjx-1j$& zi5Z>q&2sAY*_K%YYp;&yNsei{LnV~$RvLuY_o+l8DH zm*WX4>PXk&cwySg^)E;-nU^;2vRMW3(}mWHI6fw$F7trIdmvex*LA0Jb+2i;(F-`l zIJd6QsLG;|uJPeVrm*|QNVYtXn|kWdI{?`7E~H!m3pl&HV}MWrgeQGfb6>JcnUb2T z4l$eV<}9#RP+L`Q_b+3*G$}t~)q}?Xge~iTSDER-i zbLNjweQ_V3Qc+YQOO|{wQ)Da=C0hnDNRefb8BHNuqR2L6$&4jJNVc-ezAJ_>A#2tw zHL_*j2E$mNLp^`P^ULGcd)#x+y=Trn_w#fF3>mb}bo6a0Jn0az`rXqly-+5=>CUxHQi8-~l{NdB&Is2i``k5{@YGT4%sYvBVC1y~heYgIWc~!51kiHhp z6ctrh)u4w)b7Rva68+xU)M*`pUvPT||9utsxP%vJY*m*@>|HWx&EMzV7VGNlSGPRAI|?Wu#Py zj<*!NR1>89{72$_272f(o%UxQstL)GLn&hP2kI-wLLGC2BN}j6us6~fOArEi&*wXz z?uTYrlXt=1mO<~D%*##Da2l%hcp+)9trEp8`2l$J5NN6fZm#Fty5BLd_dt%1p`SHc zpE-|ZEOcO-t$qaBg85@(ouJCV0xfy={yos1c@`0I#!a%`AObq}-E+2ubkVmh+Km26 zBEI}HlT0#jK?O)y%Q}}L5eh&vzCT%s!ePEDJ4pZ*0hgL%$p=cioFyB78x7yl)v?v=>nChc@I*qW7zPQki(=wM+M}!%x?zM_?U({j8po8%hiIW-8GO zZQi{s6PJ*%lC>2pBlyc@AqQm4oHc5;&h@GhoVRPbx_f`g%_R&mc=t_86vk)O7kttP z{k6bLhx-f#PvaaG)9rcBBIsL=^{wX~V_EEClrUz~*yjdS$syiBlA>S=PQQ}FF{%?_ ziD7xoL`PrrOL;=7jLleK_AUn&X>M*)hg%NVpM^o8;;(@GG*0f5B*uEE2!?5tY%EWT zx+lPhC%(zQ8Jek(9RY6RQP$dys za$qb>NM5C_9QmXY3S*E9N^mUkpl+%YaMeN`!@IyAh}v?nB*1RsF2|J0rXwUdyK6c) zu#CU>xJ-zSmCEWPg&?!eZd3`orL-eXVjmrR)Mx;Prp3gobT?nHixV5TXtY=NqonuU zEdl?AzF$H-JWAm6GL?lsz*%4xHFs(qz8E?UZ|qC|c?{yxVu^*aXG=$rv>ZuB(vMG5&zBT1pUZFJ?8wQuO=3sF1Y#05zT+J!By_mrKBXN)Y zlqTi4L2gFs(Y`1298<1YtNC0~kEUk(X#LRDtnzNV_2DRk+<_y#8aaZbLCF<7%8Aj^ zVj$nFH0+$tr-7X3EOJb7M)%%2eOrAlt{xR-d^OQApZ)=X7>RY0MO53~crl4?{YE6G zP1qG1+6rEsT;iP8jb|kT0R{|%^*yh%M`8SBuf4wA1L|7GvS+qc>GWDw zL%MKys}hg`=O=^mU*qe+er`u3Jz$}6Vghran#Hcd>a6(Y{RHa-QfXh(hf<^9Ro{`U zn6dc;@?DO$yX*71`DS-{>55N>w*3(mQ^|R-y0$63Mfpl)-(&T@H`uyX@-sVjmo*tk z`L|;Pk4MjhZ`K@dJ%jz0amio!YNWGPKx(_o^)>;QkIx(j{ErT~kdPL^QhT^s2Sg4_ z`op4a>#>^=F#nx=T?E2zE|5J1er_6Zf%uM6bwQzd;qauKvfZuXA7Bd4sc^ zCI(*_{t76dwqaD@g+RnkFNS& zNY>oX^=!Ra-mz27aW&eWLj54=gdZ!pV!Ia}yFc>S&XaQ?QrlTECjyJwxCikk@6?!@ zD|z0zRT;a|H=E=`t=*V`lOi^3N(WER6`$sQn7>lAQQrv~`lhosueB%B|s zm_7)ccZvWt2;{G>Jg9X_|8s&Jq&HtKgh|+LkA;fym+8)ubLPd&vi26HKDh#N_*`l@=1-_hh5?$?p9^Klj(EW0#g6bKQT#B`j-Q*6l$>KIlm>?FB-p z-7F@*-DHKS>5sNTd(-hkXf3+ZW)B-rw8nX;iF2CvwQ`dKoL@o<4_S=g-4wm>CKgL8 z^VJv8o21p#p5RfV1If(=oV!_Hr@!fycf}8cnU-p}C3$T@cak;Ck}aC0)j@VcLQ_D(7yH_xvj z!bX@+Zh@?oRQ}N5m1ROgpUm{E+G-<^hnyJc2l>uQkXcUdkqqj5jiUJ>}KAm;#d%JhGUA6F{iYX_7rd_^d-wI%LVYBPAC%5(Vrq6GVm~2gz?)v?u zk0d{jOVyL=-MuO3(GfZm!#c-kHDu_OuS5H(Xdgjzu~^1+-&PmI#P$42QPxCMY%7<@ z=OfxZ&DZfRQUjD?_{rdK?l-UZ>MNe6-yBrQsR!VvH4V2XA=;>GEwp)oY3;^R|`BZBL_1zq_7iU6*kgp=5Zh%OScNTWFTM>;S;k@ z#gSEFK#nwzagAnk2w0Z^HqWFO`jf>EA1$N2$t_;m)~8_Tl$XR4`0%!nZnFU{1*qNQ zKCZz1vvrEE#%lbi^q!p}ncC zsY(9nZWmPnZwW_{3x}sj?zu0Y_owVN^a;?m<0h0Uxj2ZfG_K=z!(x~r@V(QEUd(*Z zor>6;G@|s2Zr__&0VNKw#_h*iLEXC0ex3iSH~LddqOxTDZv912q;CPp9$=PGbDcD+ zjY0nYQfdjXH90Nh7s_6@3OKK4_Z{irFhHnGNPd0D^7yX6c)x_KfIfft8uG(!s{6}+ z-=+`9`--ufO;G|yjV$T%BV*+}Z>MARqA)f+GNrn4%(3^4)sp`E;aRB}c?vkA>O4mC zcg@Of>VLg}TpNbPs%EW)e%Ok6H}+}jQaCcdq4%+Iim??%MOVJs=R;fg9d*9_iZ^U~ z+f@~7pQ#u2kdBh82MYB~MCJC3CA2kOJo1Z=?R=8rV{BzC@?_n~AY=54%KJZzP}_L9|bTrFQXfb0IhVqaH!7{5md1egLKN>;#g0-meNZK5XMH zj8Ihv1Y(ItC9|VLrGH2=qF+k$99&d#c;w{wizq!$Y=!`2$s1w9%Oa>ac$84T+$H78 z*5}Gl2!Z^5N}js*#ilL&c0oo5nwe|`dBKA)5xu8MGiK*o+CGoegaz~0zB_c#ZOcBy zhRY9T0V+NI&$%K0;WGo0#6R-fX69SjekarEO7u{*kYSrzq}#6lF4|ZZ@Br<8w9}fa!4^E>^vHesS7&_`3=Br zOBo=q5pp)9krIbd-u2cf@clciP8cas9=8De{QukXb)(h@g?Ah!hKY{htAk?!!sig= z%g_`HHk%l_77zKdMOdu$OO>GMMQmtKnQlgh`(r8~cxJ#hBj0>LC>^ll-3(>%Itzj5 z5EhjWjeH#+X1#n~3nte~=?g{$qvQ`}k&FpYK`q&76-z1*$P*pU)A7eo>AH{t!wBdF zm!dTEaVRSP#lblPXL zm;qe{VlwJ+V`SOf!o+R)klr8{nr2F#+Wp0Bd-(`sNcx^j`I|i3Wf>+ADcH z%Tdg+&Z|gUbJ<~?DRWo+{BcR=Fr?tjFrAI?8Oq2F-UwnGmR3-*t;(Fve885xVGf9c z?4S_p92DVjwBNLd@sfrzKj9w{v6>ycNe%R4&xmAa?bgK1jkpTK4zGaU=lB8f;6e8d6C8G!fAZK=-R(CoEY^m583k(RnS)zzNhMTO^BX`$1kvw{~f#W|0vPFPYv>aO;VlQqf6FkZ{*PA R+NX^}kZL-rc?fgg{{dau6