From 9ea2798294be4c2d09e2ab86b85451c18d6caa41 Mon Sep 17 00:00:00 2001 From: Or Weis Date: Tue, 22 Jul 2025 19:56:13 +0300 Subject: [PATCH] Permit.io integration docs (#1226) --- docs/docs.json | 29 +- .../images/abac_condition_example.png | Bin 0 -> 83666 bytes .../images/abac_policy_example.png | Bin 0 -> 21882 bytes docs/integrations/images/policy_mapping.png | Bin 0 -> 16437 bytes docs/integrations/images/role_assignement.png | Bin 0 -> 74254 bytes docs/integrations/permit.mdx | 353 ++++++++++++++++++ 6 files changed, 360 insertions(+), 22 deletions(-) create mode 100644 docs/integrations/images/abac_condition_example.png create mode 100644 docs/integrations/images/abac_policy_example.png create mode 100644 docs/integrations/images/policy_mapping.png create mode 100644 docs/integrations/images/role_assignement.png create mode 100644 docs/integrations/permit.mdx diff --git a/docs/docs.json b/docs/docs.json index 9d87f0ed4..c81d310a9 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -65,10 +65,7 @@ { "group": "Essentials", "icon": "cube", - "pages": [ - "servers/server", - "deployment/running-server" - ] + "pages": ["servers/server", "deployment/running-server"] }, { "group": "Core Components", @@ -96,9 +93,7 @@ { "group": "Authentication", "icon": "shield-check", - "pages": [ - "servers/auth/bearer" - ] + "pages": ["servers/auth/bearer"] } ] }, @@ -108,10 +103,7 @@ { "group": "Essentials", "icon": "cube", - "pages": [ - "clients/client", - "clients/transports" - ] + "pages": ["clients/client", "clients/transports"] }, { "group": "Core Operations", @@ -137,10 +129,7 @@ { "group": "Authentication", "icon": "user-shield", - "pages": [ - "clients/auth/oauth", - "clients/auth/bearer" - ] + "pages": ["clients/auth/oauth", "clients/auth/bearer"] } ] }, @@ -158,6 +147,7 @@ "integrations/mcp-json-configuration", "integrations/openai", "integrations/openapi", + "integrations/permit", "integrations/starlette" ] }, @@ -185,17 +175,12 @@ }, { "anchor": "What's New", - "pages": [ - "updates", - "changelog" - ] + "pages": ["updates", "changelog"] }, { "anchor": "Community", "icon": "users", - "pages": [ - "community/showcase" - ] + "pages": ["community/showcase"] } ] }, diff --git a/docs/integrations/images/abac_condition_example.png b/docs/integrations/images/abac_condition_example.png new file mode 100644 index 0000000000000000000000000000000000000000..a5592abca1bc8f23b319ff0e2bc33b6ca9196f50 GIT binary patch literal 83666 zcmeFZcT`i&7B{RYDj=XB#6}eaqzNd!hy_Fhq<4@eAcO#c(7}QtU3w?_wV;+t*mo$W@gWxefG@ky?=WW{6bxsmijvNsZ*zD zRh~Z9I(6zS_|&O0pbO{7Pt0D$Un5^mgSC_&o+?A#Tp|Ckv@uY5rKWc34*CAVsnbFB zr_TPWLjGPSf62|GKb|^IzA})%FEUP_Izzsm{#Bkq@mI~W;EXeW-Jb!G%TFn4KT=U4 zU$w1VZET#tb|5!+G`yVLaKv86z|BDIxwI7sC}d#`va}KM1Umm}a!S@yntThiakF6e z1Ufo_r9I_1|5ZbpeE;jQFem%Js<=7GaT=(-V1ER1wP6<*x+`>-Q=Xcgon6+|`jxcS zW2OHzC;yV;v~zQFmKGNF@bD1w5EBBq+6s$ENl6Lc6%`g06(rXX1baETS$GOMfp7hr z$X|3G+kmZH?Va81K~C(y=vr8U+}-3jIe&HZ_vhby+IZUkwEl({g{P#>@$U89~u|He|@y@S{@!F%|bdESDs}GzL=bv5tKZ+KzIb~X?J5Uh=kw7@NMZ78udmin}@#eji&ONQETl0 z-=VSmi8ubF^{`N(iWsyU2HL&b%*3xZDkI$dlC62~<9&y*F39@e7(f%|%2ce~i~u%~ z==6%!)1HS4_8pr0Eb;lQA+aTQm-9-Im5(B≷e0RiZ>oD{#}To|MxPK^e4cqN8`D`hWwy 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

xzC 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 AV*mgE literal 0 HcmV?d00001 diff --git a/docs/integrations/images/abac_policy_example.png b/docs/integrations/images/abac_policy_example.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4b5cf3363abd3064b095542481bf9ef2f5a4b6 GIT binary patch literal 21882 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 literal 0 HcmV?d00001 diff --git a/docs/integrations/images/policy_mapping.png b/docs/integrations/images/policy_mapping.png new file mode 100644 index 0000000000000000000000000000000000000000..d100b1eab88b911e6c3334b518d11d83fd619b43 GIT binary patch literal 16437 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 G|GxpmpVJ8d literal 0 HcmV?d00001 diff --git a/docs/integrations/images/role_assignement.png b/docs/integrations/images/role_assignement.png new file mode 100644 index 0000000000000000000000000000000000000000..c65e3418184fb9646ef994e42d84684d0a480ac4 GIT binary patch literal 74254 zcmeFYWmsLi7A_1FcPZ{paV;#|-Q6h^DDJZG;_mKH+}$0DYjKz2?rxW!ZD;Ru&iDPf zKQGUmtjuJLj10+4X7VOjURDeN76%pt1O!1sTv!nV1iS|X1WXPZ@-4?!3hf&R2yC6H zkdVBDkPwl)owc#4g%JpdcyN3olyd9>>etiP0(NL{lJtpGqI3{2m~4M~d<#D^ekvvk zaCBViP@2YXK|xv7UrWGX%O#`hh%hWdeddRKXkibU)hn|vJlBz(Zqsj9T`n^R-M_pv z+3&8}TaP_~$YXH_lfBCai~2AYBYNk?^7AJeR-^t`(8aIdrJx!8i4yZ08(kpLrjO1p zUby^dH~H7X*1%M=cEc*;DiZ2N)649~!QVM6&niLSHq%jiAK$@5F9(V=2 zVpbxsDhI=HPdPo*+)uWOCiASJ;IZeiY1BwT8OH5lv5ceDVd5vOa6n#x5N_=3uBkNI z3#IQt)r|^Mv~l;MvNaA8eg>Bk)n5%{ zC1XW&GsKHg&62!-bQ>QzESL|JUeKGR|4H3voF@uFb>q#h)FD5TG58@=X_^B0;co1^ zFwIYLjn$AQGVF~IpngC{H^Xp*a@eRK;_k@2O)o+IIap5t_8o{Gau_!}GQyEJY2`b5 zkfM)Ljoju2OljmX=!y!GW*ENV%N)eMG&@Tp#`8;yT%e4$UIh{TOD(atsNXifxTBJF zlpxuCF*A0T&;+R^`XU+2xXHo`^3@IxWVFe>iPdc=FypQZghU?Fj2~?el=M@?lhFLT zFYAcv;=SHP@WS4}O6W5I>H%=YO88Q+Lw;T=aIG#xc|>Xf1P*9K-<&LnH1IE7A~xvD zAPt@GCZHg@;26PHeVL$rY>*+o38X~v8iHvE+#sV}__=3)q5=yEM9qFL4nLT!G67kL zOdT+kOq;xvvjXz_cMa5Mh8 zY)%Ds1&_kSLOB!KlmO$bvL7dVAP%f4k-8zezN=yMVuZr%IpaCj-yVOE?pb5Oib8$% zx9zcEvQ2tF!Ys|3|GtKB%CG5blRx(N)_#L3hf?fW2;8sX{rUQ82JD}2KjBs#&s!aV zIK2<-G5uL;L(s^Ghm`0)+<)AS-<{rdy$)$hcuv;JyGn2xDAyT!et4dD$N6OHj`V`< z8OBeZguD!`4-TpiksVYSIU(98i$xZOq7q~*jAZbhDZDX4UDSd|mx!0Fojh7RfJ|+Y zJ0>VjikcLkScl{~mN!~uFu@Sf1ynN|4LT6yZ@vHV0@5@CdXC z;j3g9%@_F<85Ucp7AZBAGUtXUv8i0Epcn2G%@$@T;b&!=h_WJv%PsLQiM8=cBSrq z5n@rS?)0#eGl3I@lg81^p?p8=;9&pZP}0G9KV!XEi9b z#xrOgYFxc*hw1V&jWMg9%AMNsElM^m-4~t0m?CCDU@6y#&}dr_vJYuWyjQ$5yVQj% zg_t5)F^KF%keZ(yWS*(+zGz0b*tQ_AUi>`6gUhnySPyi%KH{1+G_QB8cWiU)Kvg#mmJ_8Yn?pKk54f4R;*fo zUmNtw^Kt{BAfo!D)rntDpEzE&9Rc19UXI93D2x~aPmSb?YJp9QU%hLusQ|Z5~PBX9$h=o8|@fuRpnj{_stGE)sq-XsX3v`f#Gha!!FvRe^sCM^ zs>SSVFXThShHm0Elq;qurxQsc3bn5|>4?ghkA+;-AH1*5!{)>Kq}`1Tc3`TCIdt4T zgI8m=rJBiAW85Xy6dUrm5+cNXb03YOEV4`4q!3Kw$_Gcc*9ISJcxq^>`RGG6oGhA# z?9MODX=v3fG|y@K8FmZe_u`-8@k`)U%d}=XQreo$5Nat*W%@O9>RimB?4RwC%1O(m z^llGbm#%vc*DQlpCK3u#6I0pG(qEmg?*iP;ur50`fW3_C)>}Od+gNr4XdZ}WX5_ct!p_@HSPHxuL zN<=RgeIjRq>IvCN-02Yw9KHF9QLFi3Im33*b^~=Q4UY5S(Q55u4?$N(Mq6ncLVR<) ze|)Cb`)6RoP)BjoVr_FRq*koXrGwr``&ecY-^|I}qF&?cA?UexyDtjV_+0b!?CkzD z`b^LD#lwaW9O4Sck$q!bS95l8^r|`#950&C<;DKzcta#4{xL@%_pHtG*4+t(rjh{5 zbn7>lT=KfS3byvTN8$D0h>y4R`Fa+f0Gr8m!`=_qN+Jcp1(&jsnS%h9MS4>&myg>= z{QW;8pmu+bU1wxEw;u{l_)B3v(`OtSI%hO(+3s%{H4IahGgj1UJGL*nkM3(uRmgUH zbOboF={Yy8y7pX)YTYiMO!4UQe6fC5Zk-=KZgZu%QoTLiTXH_7ZJcsevvJl~+dNpK^)x@SKjE4=o$@-C*ouXE_vDS)G3@!uoOBy^QG1pA zQnN_>m>t{W*~6YO?!|j2cwum4^g>AOb>wOEa&VVf%2yHoJsiG0p`F01=Duua>D?*b znqyc%B(G=Yz2}iom)K||6dx0xqi4kPlZC|s=5k_n1%}>IJA{WDM+ShGenY|~whRPT zfdhd3m0diOKN#w((>su#Pem`TidjY0J`!NB!3C~o61I?8`S@Q8wLyGPTHvbkgQ#mj zpv722AU;7s`ODsR$9g>a$s>Vw;uvtwzAk=SZXb{jqQxNdC6zJQH^LB%Pyo(6{fqMHzeY=IT!2T!&@5y@i zM;c7-7omWXkc7nBuhM5bBO@z&6KjVA>fR4;Rn3_yt2?O6NOOL+wxriLv^FrJ2U^a=s-kjU4oefR+|k_MAW-l7CTfzNLR?}fiJax?r={ohRSo1Ooa`(|ifSZ;Td>AuON_1U*WJa95t2?RD0MP5|*H>Y{7p%7X}rQ_L1D^0=OBZ&tjW zyHP1@;6BL96V#IQ#&~lP3QCp;% zsNFXi6Ec1hs%3=g>g_{bp{Ad23lv%8(Sy-w#r#QRP zU~e`4mrI@s?0pZce|Y%+szZ_#G(qL+1okJ~m2M5?&iH((h7L;W;(G{v(>w^j)7 zace4~K;qAk_(y_>(mUoHzNRS4(WGtuqYS#1V47hDCrPz)5%ka{OWEh87U`w$L3B*I z7Pxgt$HQgy_t&GB|0@!Mv%ipnoicihB_;xUMMIr^-=kckauwti z1kpKV)?cHLrW@slTBH#33S^UHU)PpAaSx9zaLL7hz(j$-#3_P(e3l**pBWE=f7Z^5 ze#?OdWgyf$KSx4laNSFUwnh~EBbwK-!3b{QYx2m%`*r{iM!izZDicE^SMk!Ryoxbw zM@%2qN(AwzNBMD6VGZWd1{-*2-UR)U#RG=iJsFEiq9YrYDe=tgD zDYoWX>lOWoUcE8tqg@#anCO#cxD0JieCalkl9&#p=x_MWCxr)LyDRkH1VNK`_h5`m%;c`FKi&5q97QMLVM6bJGOIlLFXZS-c# zU+VA!h}Qv3v@A-KPNfN9tXp>8>`7<}N9MK%0sc-X@BqCil#${b&17TrsTqoQy~BLs zJtTGQt^t5ll<$gDWR|;T=hiD~YKd2+v8k8y%am{8{@X>B4$e&xV02I%z0U+Col%Kr zLfa(;$0CH!@5!Ob9HXRCR*j_Z5@2+wi?dVczcU}C=M+CY*>q&4mO!1KTFTQO zp{ANl$0Ra|cpU$g!m=)SpRU5(2=JGK|Mc{42BKU?VS;xdi*dG6si>rlq@O7ao6ZBn zxS~#Vb-=c#Zcv+0RIY`GO|r)?S#~MeRdS$xg{12p9$&kMzy06+4a)l`X3z8zjpHf( zp!kn?lA6|TX^zhc0}$4XIX3z^j}*zg`F@|dO%0y$x|1-Hl{hTn#UjQ=2E(=-BvvX` z^$}9`ic0M@>Y9lEo4x<#gi!vfQ2qK^R*BUPy|#`hR>JOhomOVzXbnO15Mm8%1}10& zj*n1D32p5krdLWyr~4#$W+x=e4xy`9^K@hI+T@-NXA7K@Ho7SPyHkn0m!aQ3qK55% z857rZ_c1i-ew04{5m;e(AQ|=1g5?_P@u9N`9uN1&h;DzAXMk&bcA06x5_~O_Wjq?MX*Q2fh(y{ZWLfwM)t7f}g<-$_09Tn`1VwS7+69-47b_cUC%0fNV-4&iUYn=0JQzItNW0v)lr1D?rtEhoG=M`f3o7Os2 z!cLajq+co@Y!gIG#65RGg~%%fgFYm`K1QOt-FNT!Q0N@73Z|q zG?u-SbcJuzJosp-AD{)WFIEmMB)!(EA9TDM9mW{i*$%Z!E75JqV6|KmIba?1Y}+lA zA3{oyeH6N}T%q!O@t(AwpF!2F5Qr{^UY;9EB_8E+Of2503z<%&#A$)m=b^_x2-Y84 z*!4b6UBMvm!eUpYcsWadsx!IQ@K|L8ehq6p$7s4<^~!V{LxULSwyEGp#(kU;c6;wT zOynhfC&24=+p**REE=veb}4LvM6kG7-NoUwf1i516KWJcx2a8HUXShiNI#L$u(1=&Z2X0|}RYH`S!0 zJ>?y9LlCo05#Br8pw0j{l@-lj4o>7pmt=t1bFiN%`sD|lp!!urnX9hhw2<7^VtXqF z{gX%QOLZn$;<8Pka;c__EPiP83`@bll{H`N@TrHkySrrnnoU`Nj8SK}bLvvi#BuUw zzho@pin7DRjOC2`JFt-(K{rV`xp?weuLMx`wb;YNmP>PJ0B`RW?x2*%U{%7@S{*y+U1%i1))WS24SNr?vSt0R;6Ee9+p#&KMk64Yp0ciRjUdz zLNYN^u#92!6F`hz0yX-3!8*fb5l>g?uXB!0!>yD%vWkzE+N3bX(@A+Ax82*;+g~q^ z=P;+W8LkFtliAh4e0`__boSUoE=hllv3C4f>K(TE1Y93X3zTHAa--{_mT07&tA|yK z^^FATu4wTL))tPsliKLr`<{eoBxVTk$v!+prL9)3n3xyF7U}WUJYL64PkrzKfKL~n zEaTrwbdrLn`7^4WGDt!D@{1DFQhNFsc0J~c%<+OT!C)w|DTDdY42-c2lMA%>wO*Zc)QP!_MAj zNZ;=s%H_(efi8O1;PEx;K`z@xhJd~JoE6H18V^T%w1iXQw0DYLAMGZY2rf%#usb*7 zO)^*$s}vU}DU92WxjoiMD4e#@o5~JD2ZsTFYK8iZu78peilS5K1)4^k@57^W`l%|Y4JGKg2FKwMYb(@z5w7<~$7W@!E zpF=!d*hcQTIXnc;1$)NBj}zsU5IAdS|VsJYB+w3=LW6E zQ>tHwJaKv9Zg1u3@T$Ab(z|>}M}s;1jO#;3io@;GqI6GdSSj1HkEz{Zx~HGXSoM ziML+AtaJB&I~jj*D}H(!RkIVnoDrQaqfyi5lY~U*=>Bp1lssj0V2x(^9PZFJD~I21aWWs3%|yNjYt=aY-M4$NLngpX<= za2NK1udE31{0S_5D)gY$Yn2zuP|7u0a=KWb8kfu)TDS!sSa%HZ#lFTR`9kF?MP?}G z7|Q@WkCM1AmP3uxrXFsuw#5hs4veHmy$ZRUPstlz4tZe|vblAHx(S;$Rhy0u%nf(q zIt<6h@F%Nfv|O(I6AdpI_y+mBWMd9C*y6XvS=bN3oUN9q(b^vbXUnvS*+@xpcYB|= zAGEAl3L31Ii85QC^RYJ*Purs{aoJNI&nx;f;;7PJLwZBETB1(C-XokqBR8H3Rj-~A);cQs0`^U|5LTaLYy81iF_M|Wo|jF5tEzK03O0SKY{rmp7(T@o-d-0 z^TaCG!)zF99A$a~U(BI*n4Z5aNb?90S(K)->+}}7$i5E5nx2Uthz~f@d!9xodn<67RmFdNkY9C$=qE&k>8Iw}0f6nAU{p>`lm4?3q{o`=RjnENV zUln(k?z{Sv-R8FCE6m>dm}Rx$kabLPQ=n!cNU&Rz;n1n5i7*#*Ff!-P%R}4XimJpZ z3axC1Nre{2aGG_l7gW+AyhnJ2vMr1c-1itqIOAfQmY!*LKu;~<79HFVhOxqTLeyYK zb3??_DM~K9Y!)lJd{Zpb_DXzeGZ!t8&_ONNr?wrg@dBk?g~%ECp3g-gUMPxUBI)?% zYQ+PM^H+fdZ1!IUMA2<+@u5G2FEohln9iHJ6I4iv^_1d2Jrlt@9JeNy7ufM2ma8vx z-4DV(FNw%9%}21&7?zB+=+;n~u56NAa%Nr*JMZZF z@7IYK+ak`*L2{_g+|sBEoUWN7^oz_Ne`up$wtnp-viIsjNXYLFLirwtE2u&2*LSo+ z2S@Ro_NAOX=+l^B(qYy9e2<)%$^e2Y!(bG3b}uLD_hj}Ad^*QN_9!<35AEWaLgLf* z3m@7H_WrOM;E9Ec-@mdNtE(4m)r9`Wf-zAEDSZZ(07-gCtPGFTM|WcSpwyk z=5s}%N2~2Jsg%nOP9swDWHsrcOQ`Na56+a6*@Uffcy_W9&pbtc!QJ#M;=Dkm1E z@&}UU^rE9e(6<-0tl~d2F;VY?$LlQBC-W*^Ki}U65=Ln#6^Iv{@Z?5@SRx~=xo==! z;`BeFl|LRQW+XPdjv_;;6`pRZvOiAcyzHNM|UJTgQbb$p%HRSS?zpUDJ4x^g!=QttJgE1QT;*((jJ4crs44>?Lk&~!r_-3 zKD_&yP?ahjTshD_UGYK@jvu@XV+St$YI`#58 z&puKZPpS8S!U4^9+Qc|mnAU0w#!3C?3F>|D;o~sb*6kc4JeFM)u{9=l_b09CR7jYb z3YRO0OA$1q7w@iWr?E9oPis=)bZ%F1A&yfAXqK}F4IZgY9XJzptWSp*5U4XbnWVQG zhpW#5jFPnK7NaL$^IO6iWVNp0A0CGz z4M&emah#@QdBPEsi?N`-3B4N)tIf(8XMuQ7U#!U?&nJ-q?RPP6f2=k}V2EY_o#C}?G5aIOHo zAENdTz}~QIhV7{Q*mksGbfzfe*^Ky1&qiRrG)Fs(QjV49p)NbHqUA0n74H^jpbtwJt{cbx-b4{ywXpJ7Ua^>MP zSCMVa4#m~Uu60KYjWqowus3qFc&aG~4g5KD%5_RprCW>A2n| z6zJYZZq7RvA2u##ctLyQ( zhBt4QiE(F36WZU=&&)|TfADfU!cd)jtEixNO?TFHi|3cevzviV=6K;E zHGAeXZ%5gfDE#Kx_w{@x$BNlwy-2LXvu_IVQQ>&8h~p-TcE&TB6h7nA8SNpvNu@S` z`OyQ((e(G_7Wql=5E*zWzE~1dnEk#IILzog=j6j5uXEV(aC&z>hXE4&>LP%e!^!|< ziqzMu4LGQgX%>|_-BD`P#k?Zmqj9jg26{|npTuG^D}KLj1mPO-x2{Tt;Qg44C_$zX z^2SuBByouI1g34#A**O~h<<+)>?xYl5N``9*;gc%Y zRq#JyTj9<%1snA|oeWd9i+EMFT`#W^n4H=W{<$^-*ebjWBfTEw@2xv->e(*?rll!V!kXEwF)86m(( zp`hXtEaMr#npTj0+2a+%jVTd#rPGS*MJHWOu1ugT&g7h4TLLSq7EgYRGH|8gO9M6< zfqcU8N}bY~O}%&GHbbkf+hv*EY4}_!a@R+EP8}pk-BVRBAa7PKRp9Z%(!u)7^paRQPN}!v7<@ES`L&zn+%3U0f(nI9eMS}Yg z)eC)%IHs%K^82n~z6NdQ`@JcjWR|c!FX^^5TJ!1JraGGRmL;AJ14KNVINQMA_p|8V zgWbO(t&Jw<7pkd?!lG_HVwu8qW4xeQ*j4hwPrddBvO*_T(j$y|9lYxn+8%hKi%Bj7 z^br{t!DwR9XK4m0pW>72J{XNEl;cz22Pfu)It9_;1s}JBZv)}LcGK$ zPt8_WZwS5Qt)7A4OjA=%)Q3_wMxz_MCv00EEAWgKyi`R^Sm&ZH^DK46kcXru>nk+M ziBqSpc}2107)m*t1u?HH;k{^ttXsyn(0!q1zYTVzR2l+p0BcGm?U(gLw@6;&&_ZLw zBW~Uq4(KMfVYl>Z!!+#by4&T)p_^DfJgceZ7(~JicJb8ILj|zlWMop0-i>st+2EzIy=^-6tN8gOwH?FRB9qiY-`r{Ru2b)) zss#(=(R>i$iH%(}ZoG!0J4{M;#yE+4PF$p^%@ysj1RpP0fH7q0!R&);Wejm=20mZC zk*T41x#sBSv^7(Lblb{4B|wF`)C^jK6kO^zcM}~|QYZ#CyoV=dI`gUaBMifIGwC>& zu4!lO(Hdb6l7sFNyvw$adF`PlfB;uvTprtFcsVonhQjTpAU>0Rxw0JHtUF3G!0Izu zv#uPZgJfVC_F+R|@AHG6wCyxfts**&tZM`Xc9B~47w7eHArMC+Bd}aajqmi@OP8~) zl^RY&AdXeN8;_Q?^6O2{foqV{*HtG*$&N{4K+W#q>RCXZghmn|%c|i0DcW|uP{F$u zshQ)l^PubKD+DhDWDtb0ule-+4WSDG4wHlOgfE{)satAtDxj$+CxaXnY;k^jO?M~B1*3!<-(CqAHX0~2<0(6Z;nMrEVYS3_aQ?oPd zWVjrdkVa6lg9C4m;>53c>vRc`4?+#H4`c$Ltbv5J!op|X{1IfY30OF9yByPO`U5E? z5?D5xB?z))>$kC~>bKvm&4&3xTzhz&x<}5l-yzVZ96)3KGFA(HIzxtZ^ zAq&jw%Mf&Y>33=}StpA1g>~t$>ezuz{zjl8PDZF%mNH1`blVdNXkM#yjh`;kTeH=U zN;jY8I@*7HCI699P}VQOxn-e;pBc_s+N_xw89fne6(+%*ORQO@k-&{eZ z+iv20{)BToe45fTasqm{-A~A&$v;wDnyI42UOIO-5glQ-n~qVYX^#5DCtY4Sd(aE% zE2fErKG#{!_*2>b7%ddyY0cv{)gN+#lKW^KAI7@+nHq7&O!hRLBa#Zm4|D2w^vSwA zn*4P!koH_X=H(05W1<b^4+Ek$qzGWLgujl>k<_PcEELoN|{AUVwGiZbHp!UybN zQ&eRZ;qFJ)F%%pa0R+LN4VRWtub69R8d7)t*|(8X6nRQES_mF0SnPO1<)+4+!uu!r zr(nJJ-(maFHyn^FJ{I1^q@+=y;G87p54IEc-911Qice3MMLgHoeI)incIk>r@(iU| z9v@$K#3&11+kLw8XPsmGxb;(`jDQH)B`UTg!WEi0`-MbCeoa>hEqcwUmoN6>@Z;R2 z_!yyXMYe^;$F-|>kws<04iNm;kUiX=5N6(yYxb}vzOelO4)mHpe-` zQ(qMk+zXo^{nA^i85}k4c=_^!iQaCDuf(@i{~%bk#`AMO=1NfCsPt+bl}z(#c^4dX zw=sf|iXvqG(hM3rjkBgpPFlaHZlRS>d6bCP3klp+-PcME;Gn?BNnkP`6{!*^X8>`v*ZxIeF{HR0?jiUJN9Ly;2mcZ+~o?VW;+XggpE&U zp9IyJxnpL>Qa1*U{dlW7!FFbgUXe*9^^N3`wgE8ZtJKJ+$_jLh9N%r~TOnmc*fVho zlfu!tc4hIbyBVv@sCIlHV2A=V>ebg69<%|Iz#vO?j{c`-kv+GP5)Ge3@}P}YazBk- z?WOm(w)z--{4Wea45w{3F&Z9~$pL4?fJgR}$~KXbj}%B)JJ@Ys8d~q>d+bJK8iqRc zd#-_rX{r@ez=SSHJ=^%FyKN4%YG73Wft3O%j0e%y`OPCCvm@+`V??YlXLMrH*z;a? zdQfC8VCxJz9wj+Djyzngl*xmd{5Sw5e3croxMJ~`<_Af~7ku%Q`MSq7cy{XvDui;8cqaYX=X$8N4)J&f}c zY6$&V=B3~Bxt-xX=yPOs0|pScf+ej7NoJyb24t=!ifsv3Ehnm*>D#iW$TO88WWq%1;@k53#lbC@ulG}cR3VE) z+um!6`={m1j#&nJUW##5x#!7951`1kf*jF^b>D3!?kQ0z7>rz%Pimre?p*D91EI7h z-4?lTf!bU)X?4snsc?<|dHZ5v(}YvS9K$3IZwUC+GZ8dcS3l<-O%3PHIQHel1jC4rHDPV-VF^fi(0r#x|J%rX6< z8zf4%esRB5$BFG~`xWY%>QDKu&+D#-C6w}R+e*mhGdUF~YDCP(KOj(_p5BE!YaZ%8 z!%l{Ke&_TWXr8Mr3+NQ&?xOY=|Cp&2K?h{jR}sbf&al;V!2PLEV|xZCPk!#xYgT(RXlX+8R)x=0=j~O{tB0K9~CkVELlKe`9`_&+_W8@qExsF$H^B-icj%7BcXJ zwu0W&DJ1TP*76MsZcj(hZwjT9Q%1^Et`Yn^K3tvvs{trXJJer8ZKD-{?^jJW*O9~P zDXB|r@4)!(&I*4ggW%|XdH-cAG;%fZ{c{%?zfcgdD9`z1iEHE$UpvWML*n|*?6>ymhF!$c&L*FX5!Dae4Z?TM&t+%<=Cz@r?qzw$+8j6$dfNAcQv&Z zQ?m+IE=~gQz5_RTW7s9MBu^KJqr?7wwm)Qq0tMv5FLG5>VXn z(>1uty-GAAUIVoPR9G^B_iXoyJ@R@$Wz4)Ea};(3;hx6`E6%Tn-*u39s4IBylS0gH zQ$&z>vAs^lEzI4me#Z)BHNpUm$S94yCegER)A_8US!HysvD?pn3Mtopc)s{_yVyO; z@Llgf8}9?C3Rqf){rszM*pLQfWTl_)m#y_ylR@c*P_3O>-i;b;55UNNkEUFZ9t58$ zt4{|j;LfK1Gk6->L8R-RMA2>>^df9>X~DP7d)VY8jp=`3p2%2avZ8@(_zs}hbFqUr^U@==4 zacHY4*lHdv7P(R82mXkRS9-SC4G*0GT*)SsJ0CIEz0>lBibwZMRBL-0;;}`5R`dU& zD$rK6jtyx|tBt9uP8*Uu_fQnOv%1v_y^$kvfD${$jj|K`WCjg0a{d}8C=FkM*2=&+ zPA=MWx%2$uTQ2Du2=iGMtcF{dagI2>mvPSCpXa7Tem_lS^ZG^l`RBW)oAbnxNQB+e zw0;S{X=1!;)niUX6xxPjacZOrQYk9?a^FWE-fmK}UDwqnE8C+U8d}xZA+hP13Dw=# z3XH5vVB0G)sI80(c3<$^9PI(O>#n7!yyt1CwVkrqNfoQkF~+KXuaVei#8e0nAD?3v z6u2n{K}});k_xQw-#@I!pu7#xdJGZ>qtUcv&8Tv8v}*il9wXdi4&5FG$()`g~|qWhhd}B7F6ym^T}?~w)Qdx zel4c1{P7pOItw19u+&GaL7<0?wR&BD!w6casUxm$RBK?)OFA0xDjkbf)lc?KRwwog zJmAN#m5<-96BMd?MhW;tR|*}cCl^*4XRNIcUsysCFx0;#K*}7Hdx_{3IV&VBWB>|j zPH8#H2QQ*YX03^g^I}zn?C=G*YF^Ct72Y z2|62+A!rNN;}YixR|(To*wlUk19qr2Sw2N?7_sC)>YdG9x;i&y6fgAef2s4QUcV=z zaJ>!Cd$QD3$}x%bM}@Wq0?1m})e?Y4wTvF!v&>TKl2VEl)nsYsV;F7K)Y*tQ3rh=H z^EH9VEcxw;k%@WB!zA8tsURZ0*2=>r?(XskWqotJvujwiJr1Z-dKZ&2MhBrx6=(3lKi zrc(E1OWkdMaS$(G*1wRMRAu1YBmtn1-;0`8z{o2@DvtCLjO~JqdN~(0urV3FfJ!}g zv9c%C%o|mhD6>A6Uzd)$Key$|V)7OJ=pF|KY7{h*|7#15>JhxP)#E#Rp^s;M?u1b3 z(VCU+281vO!Q1NN8N2xJiyObT>Lw*SKO10uy}NUj0LEp42R;m(-0#OYNcIq*+(N62 zB&5Gz+cVHK6C~RpF-HH?KitH>WI|eJ^hR)69Dt|i%S#ec#`4u@iO zFd8l# zq$OzD$~<-p$RNS}AqM%7E*M8JIoh~lZ<7*Lxt9XHWQnY>S_X{9Jc4n@)bTODn&gij z_XpzqcR(`#3Am&(ynP1P_cCPk7Qte3(<%5}rT>Y!CIXE_o^ZJOw-EUUG@FVLoGKtb z@^Peu?61Aw({Og7J_Y(_42yf?6ws%x71^*YunkwL&?eC%Vr+>)gt)S)MY1kW5 zFeU#MY=2SkGlf)((RWAq8;<->z28n6;J%r4 zXtZp{|F=^P|4AngziIw=b^kI$)-v+jSsp7ZHio!A&XfF;)BsEG-M?w_Hx0J~Kzb|f z>`Pp-{};uZ%W?j$%wJ0W|GWH*9PAf4l_?k;pIp3uW$tV3LUK87-yX-RcuTIy0}TyiLNRZq(@Gh zRz%kGYN}4?+RyT}vnx?N(J06gRwbidx7>+u@@BY|=&*iNnSIWnMreKaKYMcH1vFobRMv4$+&c}a!Vt1WX0?$ zHP1IDF-N*_^y$`DiS4h5HoT6rp53-?gkREaK8XLQlFUK(6ESV&9ZUXuIAnc#>z(Lf znC7t{Fu<>0OQ6&}2|kOY`)rHECtJnlEU|2Nroe05e=aUnt64xN0;XtApIXt6i z2~=q*dCEPc+hv&32sm)tFCt04=W-t$827cC#`O~WwlOKQyY_r@WPWzd;3KI%ovP}0 z1EH_rr$7IXkj#qv6|0g~?+YZ}20?dl>bVP4KZ$OLQb|i|)5USMV)h#hKZWuafQ%;M z1xt497%72zDzRHa?r;}EGOFUJ6wd8U{LZ`THNiPKNtO)tz>kYF1^1b`g;{a>4_1JA z0?niZ!&sF?uP|8SGsP0T4LSv1k37$YBTvSiv|A;zlTZ1z1Ur=B4tT?}veL0_!;_=S zoGVduiW<9BGBTBe(}^)gb6_nEOV!qjGJ2L3S1j3aV~%AW9a(84i46gf-R{%bv_xdP zfD#!`Zh7mTEmoGufVZ(rfkAKKNiKzXBx*w3+SDUC(~q5xi{g5{8GeC-Tt@b2SXqBk z>Y(;Kx}KUAQf)LNu;m#ez~9kh`5zrVP6upZt$OH$?PBPygVWo9ow)h{+@jELsbkC7 zgzZ)cO~Imf*B`?04CaerikLUc(n|EKo@iuJ#?RtuR$-YPA}vPa%2@0vhWl-2T%Edh zN0?IG?d^R?6O$T5v0By==&S_J1ik9m5;aH*+%Rj%d%`x3Q|aIV=^tCp ze1{Z2gZ@W}UAMQ&I2Os5i+N>g1Exy(){OrWKy@W5v^zFlWy5n?#s z!sLOz{XyKHawNwXu7!WftS}Q0Ft3KULyxpu^-)G95l5zVd-l{<2AcYNRUFF!c>zg| z(We?!Ot4Nc$ixl;sz|ybs@rFL68-Bo@)P;|(&u9f{`+e!Wei~W0^!1C?G7CA2&eV0 zZ;!vdPUSg&jW77O!8K&w%rYPZdSj8T^cVz&C$7=kGyP3NLN%?85ywLg%1ikfG9P)4 z%4t53q)qb84+Fve4{L87RL9n=4+jE4gS$HfcXxM!Y+Qo7y9al72?Pu7?(P!Y2@b*C z?YBAaJ?Gw&H>vvm_^MK=sbTgk>*>|~Jl(yno|Ci&7P&`hCvR0wW1)4gA+UlBj&gWm zGc2NLODKr@z$8T8Px$XDPK6zT0s_rwDrNOk-vxM1u8(jt$0I8X)UyXB|IY{!HrQ_) z`Ky!PDCbyk3>@bfZL0`rjUW=O`&A1{Cl}Q#7pitknH@l9RxB$wkJPUcRW;~ZRGdB9 zq4rP{!fNXl2>q|M_tzRyXn}>&S$%WRVl)10#Kws1jstD#M0VZq@SGb1M>%;Vz|o$Y&;>kFi{^oKlqRmy8Hl_wle8qjH#?<^D72aJ?Dqf1Fr@}xXOc|W~2!8WB~pKMgV=-yZV1m z`2FjId)|aIk@+x+b;SM92KNC%JQcyp3mjjOWDUZU2J@@kVG7r22w8+%svWBj;~EbM z#b&3I;v$mNKD)&L%yT8SSOnVa3qH|~(l%swot_T$nU?hrAJ-&qF2>3&8FZ~kAXNiS zd@{<_=QN5~E?M#P2UZf&8mFwSj-b_dD1+r8sVD?y|CIvg0}}?^Zeb3*Y*>Na-3{rG zm6?W%B2g7Su(emA|#E0b7$*AtCRMZ;nIgSuD_ zpRZXRC270RD51aK0LETfO~N`XEa;$xO-_nU5JUL}=gu`+%@o{?na!iC!$3rli?P z_df*;w+`EvXKLV|^7@f}8OgA>x`I|$#^JWZz8GO}A24xYvJOIcSBW5KAYa;`$`6)< zpgi5&dHt`Iw0VXaXF7abeLME59Q>g^8Fnozlly;kygLwptAw7~_sGdSRF9{Hm@^z` zK!i%A8d8asT`;&oLN!$~4#kRnp^OmMhPSSMn+gvDs$MPS;TRx%B&1SwIk8hlB|#+5 zx8r2rk&m8 zlULchvaojXgd_W@?eg7N85fe4tMqP0t)&L{!w+c3k>B0^H3ndm0vd>0pqA>5Uo|j4 zk3s+x5&&y`4BX&vlGd%k22riwr2z20Fc7Bm=jcL)B|_`ED{~_sD52le zq_{s z$f(q5Pm`_usjt;D?}^0=s57OIUyQ{sLzgeCwr6QjvT556ebZL3aSu~|UPz^9s=>HrHsYVbVCnJza1-MLAH7CQ}2U_8~lk_lIf ze)XYdCBt(cdp5`KbM>BI%q{=YYo8KX?D{1p(0XC;G=O|K;NUgXuqD78}r; zihxhv4|kjt3J@f%F)Brp>dH)xCg7^Kj9Y{5RA|>FKD)ZG*X$ZZCg0jR+nlVBKo(oL zTa=KKOZv&IPx@VlA0S=_kXi=tsv^1#zrU3HtHY(Mq>eEg@e!N4iiSnALeJTHM*R8Km<3RPOG zLD<6+#%s78n@u^9PMd`9nPqgpNVR@7{7L$o+?^CHu2UoT{fIrsz1ML}P@b$oZp-zL z2jD=4LHsMg6%X|=cBBPLYL+?1;{I*ozbeQQB#H*c4G<(`K2JHgqXkkLF6X3snrvV~ z5OI~oJ<8plU;S3wT)%j4Q5GHsuuPnecZ`lV2Ay2nWtGF>qKs@I`uuHqTeON8AF0k0 zr#w%>zMFxjoa6nEdE3~S7~LlC-C7lroi&iV6Y@;1K&o(r9TQDZuBn$)YIJxUk|Qo> zTAvASK7UgGD?GCs$ZBB*XuS;M?})z!HJ1qD5>&e=u2{zx;9=r$9*3lkR=BH?beHO&o*e%W>9!X7^nv zO8li$$lxXtSJXqJ*)Bk-NK>t>#VQxJ+0CCg{%l}f===`iWVi`H6+!QOuyV7N9CrZH zMNR`V-FR1ko^0--+m*uPhKoNqWGL06QQl}@k7xJb`7(x>aohi$Z?HzfdjObBV|co) z5c(w6hOm|S8j{82w@z)vnB@woLNnJfptMMn>y`Lr6vm$o^I%{nkF$3qAo<)z+qy>IELaj0QT zIHLBLO`v>Out4}<>h28`N^pm(+*kas*@`Ph$?R=@0jJt*7hfwor z%mS0yqCu0aaLPAYe*UmMe~|p7jRqmf3P?~a)OdZNR-@L^J)W9v)wLel zhMbxDifLDo(ILe2?K-^u zO1|st>E}|lO6ik3DAR>+r5x8=$lP7P6wgBqZM_VfBu}8H{@+;8mdsj zV71*I@4nc(eDVaYt>|Y#T56IAe0GOq92La9q?2}*yN=mXZBloq<9PJd$8tokak*Z} zgzajE6Ll>#7Z_d32)8Vrn@l!bj)~}+=TY=bmGYv|Nno7m2gV9%W0p+4lgVQ zqtf$9YO!5-z()mY=F<%gYwQ!ot@|eTY4Od<88>NnVr~IVY^Rx-zK0^Q%r;Sv;?)BA zNUwDG$;n9)rMp#|CCl?G<4nob=eK!k!-->n@HO!AiY2Ab%|_D^JDN%dtaiKa=LQ8) zZ)w{cq63?q5^AYbQtg2u?=eMLO&CI|ESp+E;BRKj)JbV-WvpNjwlGS9A;yT3?NwY8 zxaQV*f3qCXpLZcO5%g4r{Y32^s>=tjuZj)(7XelF-B=6NhB+QLv%_|2i7GSnTyhwK z#6ddtrJ8OF^lEh`S=1?fau>l*7TgWI_xIR^8}Y>@A<)8!0w@~X)@6 zv|J6|?a;JTz2Di~MI@C<@&&^$BtsA~*TApNxLzDD{cHwq8`!lF8D*R-S828H;TuP& zsmy3;{1LO|fqNl^`b zkh&B?w2Uqzqbbkua1q8@E~V<{=Re6=G%L$94v3OWR13H`hS$K^?DtVzZ?06f;;h@y zBQRM!H%y}f3y8=UM@$u^Z}T?&kAXY2Ih-xeh0$m{auX=Uu~59*=Kw&lRm)`L}s z+X_*uaFD#75Af0X+FpPkk3W&Ci8j;srtHHHjy5;hukDabHke1w%VOpRcTb`a{kLlm zrauJD8?Xp^(Hcw1N-_qWeyqZK8>DSyXP%drFA*B};Ogog5;fJ}<@G$Kh2p{|aZ&F2 z;F6}Pr>yVo?Vgz|7Z@lnXmNh={lnIs;fw&bzxua>M^I+r$pxG6aoJ!)gw{TpTM;2q z{Al*~h$6SUqbl0RkN^j(-KMBIcy5M8mtL9Kbc3TX`SzZItTcXeyKMv{;RvZh?M^8%+xADt z?Tbr?hvV`Il+bsu)$yiTPXPr*Je+KxT@jqvrJ!>|_6wuLjqOuJDl>y_Jc7;I3YbvW zOEv~~JAo50u*J~aeIS4PEWjS2b$>cc>EuH*I!2#h198hdwGghqxYgJ>O7#$%wI-cR zDjVCJFM}Q&-ZVH!8Cz7cP|#MLd3oZVB3ar&Ef5y4oXYZ}rKeZwrfnZV91A{`ajCnS zvKb(h9lTu!H`;dbW5b^(!a@1rcv@1dP+L^RW6C}Enqc=Hn{Ckiryh;7OyWtpQoAaI zp7FnC=5K4(3i&jBa%%_0OoTPQDAoKRmn9Cz#vW6fW7_D@&mIFcx<`KlfI|# zwP~QZIdWT&?mEb4tEHYsxyA$eC#}RW@3A<0D#PBv#alCHV#dxpPtBmcWIX2MaJeZ_ zDwq7kfGHOAx?N=hzvwKAxG?@cE&O7>eYUGj@3=FTY;_*J^3)+TS**inST*7jKU0Fb z{*$=^`JAvs#M3zH0r z$i`Re9jh%gS_OsfJV=06m8M&FDU$LVklt3Qu`5I9Z4(3ZY5ABa$ZfLwDIP18Jh#m}uBlzNZ*wv`rou%VuZW;tcBcLww#=o>ZW~+f9 z&xIMB%eCEBsX@Mxv2M6x4FQ}T)Z=@P1F+kp@jPi`eS~PIP)T<=-0+;PAVcO(X9wG# zi+tx*ed=ev-0)GnWgbCxn)vL~mj*j`eFvc*o`i1~{(e&U;TVg%r9xr*!TOn8EH2-{ zamZQQb0OF=1PTgR{4H3m7kTi7#;@XT1^tDI%0}JrOOrDjmA*R1WQm=el@>Syv~EW3 zXxlFy_p9aH!2_y|IT*rvQ`Dqm{_Ibe_dVjKVYQ=h2XmAG6-QwLQct$m>S*lcnQ71d z$kRfXPbzE8 z{s0T*V|pnZs=-F9zx?~Uuy|4q+J2&cgS)R@qYq3%hwBZjJvg#LW2m`&2#(6s$I)yI z;k*|AyvO^1aYtIeBvo6Dk2a?q&6igfaR{DU#;#DhCJ^P#`|BBMP$)1+C|4QV&X&E7 z&mO^_dRd&Wf5+w%@|HM#IEWL7=M-RirzaX9e zc)vD8YnTku$f-*fy%|ZXri;cWsb{pO!u!VGQ%QfTdw@4dfwepIR8@twI9l}WCA5Pu z;WsD$*hQdUgooHoq*0sng$ivb>nM%;nDAW`eYoElJ?-C-K>z*YbE37hxsdGmAf@+l zaBu07JhA66VkA*3vmKm|>#(q(fG_wPq4=G*53HFL6|9Q^+ohy*^6VNhZ1*pq@Snj0 zFDPt5@u1?U&x+SR|7o}+Ywv($tQEf=>L1?XQzZZ-OcxrWTA=^%1PB`toUnh3RQy{_ z1H2jk{*^TC^V|ab>4^ql8_C$wssaDyB>zVgzFNGJQLM+r<-UJ-qT{uV<5$0IsU)bHo!LM*$673e`kEYViyYp zK;GP9Sxg)J4^Mo4ZKDw+1n}Qd^Pf9Iughh)$$L)urze(yZH&AZFZrjs-rpPR|BU-1 z>noOoeG{W1@H^=OKK=i@NNmY{dbmEiQ_*|>s|c}w2afm4E_TQIUwjfZ!marbN~hm{ zL2Brnz+t1`<8C|xhaLK*gASf-c)l2Ed%Q2a`d*ufVKhDMMPgrVS2dc=r~Ua}Y7J9a z>7-(&SY?>!CL%# zM?JSTb2*S3{_22aa}8Hr_9iQ`Hk-Trz&b5~R>LTFc<_l8s)z(>qED=8<&gXtwWXv` zJdm@9aOAvW5thTTgA8EiF7bfqg|x8HFK_&C=%99{pIXy0{e0bQYu3cv+@sPIe$M2$ zjM+c2;QFJoi-@lIkdfG5mlL5kJbykCH?k^Q*8cJKtjcy%v~e?%%iv(Pw92CwdT<<} zKN6Q~2vtRsP+NQ9=F|5Kp7Y&I?;)SJ5Yn!#1LByrS2GILz-lR;JK-(Qi{^Ic(;t}f zRJ1(-SS%J4QGCx09HR4EmwQu&y+a9h+^ot#Yl#BaA$&OKJu)BP!;=r&LNbGXu7KY= zMw4-Z6i&<3!|~H`PRIR$8BW<&w<|l%RhCPvm4-%Gyxl?YN&7R!y9MVIKug$q=X=S~hu2dFE=aPZQX06!_qrJ)0H<`#b zmtVdT8!OO-mtkIKo{ZP+#|McVVS-XaxQkbqj$3n>ho^G%C3mV z{K+1v)d0_@qm>30+3Vn4OL(IB=95-qyky}iG8r6uALnGmo@tGe20=1prCXoREY{B+ zDJN8D1EDuol z_4M>eI5^bmKE%QE-HRh3BbOF|>K^;S^TlruCrOdw!fci*bsn@^x6>fhQKxY^mw7y_ zI9FM(@|tE-$JIowdc9~7fT|}J3NB(>x9IveeMB8rueYKJay*pdeNw8kSkMD(CjMKQ z19kZ2-y2CfJ}5%l@jcD_7L5J%bJOAW=jtJDj_%gs!;owDvU6nIFHJDV|8Glb7Oz&_*4`7yF@G2R_~gb(GrP z7^nF7Ze9=!$RyB!m5bqd&0Bog^|b@W;5$c!>WyXSk2%6L;oIL*}r2EaM#>6@WhkCTy=DMX?!$)tz@w&|LAH)0%Aabf0>WqHCwlm&;@Y zRaH`oFTB2DTg6zn+Pa#PT5a=`!St^sl}Z{)tu@~!qT$LTT9xB_p#~Hy#pGvtEkYV4 zADEZ7(}n@1MF*H_e_(O)qgB)&rd(bK&+}4#3cY1)_JHL90!(#k4a~@bDRFaqbx#A92fzz1Erc3GtUX5*KoQ##0`?`Mr@6I-*8>; zKhp$2G zP&kJwOgrziQtwYUch{jYA}@DfJ-6Ai-&8kx(BOV^90@$MgvSlCr=puOTJ4=2{k%GA zs+kFf-o?%+xMjM~`_iT|4M?pdZMVV?fpchGggH4mGA8<|ZiWIsi?V$a3<*&wF$iJ% z6R1=Yl}ptz;ps;p^f0(5#>H$tMgz4@zZuz_wtJ~7*t>VBj4n|N7FcfBI2OtcHI&NZ z`t#bTD+s=rh=_#GSVgYV-E7`>+vuiCb){z>eh@gnSarZi9Z6AGMZ&`e_|-v2BWuSe z072rmGli>>BT{3Syd!C3{;uD%DPPU1K?2sPhHW!G4vFZ9PmwTFRjL(HCXpjsYkalMdE zCLAg@6JPHDc^hu5?3FzaJu1R#I!S`;8&dbYPa4RI$@vb9${1!0sknqOSfAdXsS6H| z)1VHr+hNSqDCE;lu41c@`U}sf$c|ZMe`E?#4R+oSt2k!-#gc{UQDT0cuKUYl%kw}r zZq22O_Z(@UmmcT{C2Iy%E5i64 ze~3&1PA$jn1V(Y57FP4Jiqg~?ue&NkGFZfHlyi%1!-1y&oKFJx91M0_;&II|gduVf zc$O_)=VnPNuC*2P_WSXQR`e+RO7>{|T~+(F3f5KTWsN%}$LS(vWm?UW`LbU|h(NiR zh3y7oNg4Hbq^I5uKK!3>D*`T& zOc};i-tpiPWL-_`i?cN3EFEpAMf6?QE0(aTadZuz&DSGQeKZQaS-4NWh?mA=bnY8m z`1y#ZrmdGqVB{K>VlzZ-TS8*oAfS@|sCHqE3$UgP79GHz%`ui^0{3@N4-~$yVAkT9 zta^I5!OnuFV!EEG=!4WML|l)BjG_)FGZGNgPgt3F#M6`XCx&*u9VfpRzueFJHNupQhs_j|Z z#^s!TP6F`oo@&T=$Kr(`u7`o(WQ^F0W0J>9zd^m-z?PFI>ecY*_o-*ZU7Z7<#~ob- z7)}~=-s~G~3$O@5Baq^E2oSU8sG?Ey@*)r?p@?Iib>xQENvn5Sr_}!mKhj4a8YZ`v8n%9QdF`dM@nn?bd8DUtQj5 zqQn*-e}QpDqwc#*Qao7NAOu>@dd5UC)5uWll_TnqeQMffdUe!=%_LGAuslR4m713> zEjVF7_3lWFW9lg$M=ubD4>!iR_uWk}1fFh!wCN9pEX}c_S+31v@7DUv?t@CT-Wp&d zMRFkLj5J!pyS$+7IRiMqn$sC>u-(iR>W>7L$5N2VhyqYzGn;&BDkv=0AS%afY56gc zKpz7GD{)1bNXWoz7t=|Pza=j8gC5clVKF)wf0na2l4A||-`)>@+iP&N(9axHtVXZ9 zjcT%>suR8%^j)Xtl6Q9~1pSgOrI3nLg2)K{2k7B!+8)|K^qfp4wLV%U6R%Xq!2<|H z5vSa4x-{-)iRHem5mveH!riS8(;2Sp0~8cn-`<Nis@1{3t!1Cq?m4LuC*gygEdRn>R^P!p@y<29Wis+ygJU2;1 z8VeIBZeO4lpF^~!?a>wE`Rq#^#wh;9#FF(O5TqxerysaPis4ryd*cH` z7=5fNVDGQyc@K;U%c6U?PZ?Ec$KQ#c;7e3KjG&D>35DEpt8aFg^(c}f3w2&`H z$LC5&nx>tnKgYVCoIS|d$8q0yt|F7}OVz69wxf+30K`KumA}a_3$yeJh}EdZd@Qwg zuz2Z~gSbYAsUDDg8B!&JmaMTm_B={Fw=qlMn-1x~<$O4Z`5iN-nWqUwY5}+4pj)(@y- zDeL2bSX)jqv@i~v6?cvK8R|w6pu1@188(S79azFZYP`sjtNIp@r-}%yYyqm{J*Ter z1^laVkW+)#5#>Ic={ub(A&cY7LJH+76fd0HI6U{At&n7?!CTGRwnQa5f9AQX|@v zh#m^Z)DRc}e)jlOZ?aDS3IK=<(j`6Ns(M+h6<>VtxLv+(3J;k@UQdRh(>cU|WwXVC zb+miGv}qGE7FBgY7hZ1dDMDeqlat#v#}Qw7&SH-u5tbvAX*_u zphVp*JW_@JR$9+rf>D^^LD8{Q*o*r1?(T#9AignxV7pN=S~Ay{B3~x+$MOOdsZm5K zJ0`=A$4{vYroNGgOiuf-B+8v}q#?C)hkW^8wd1~>G^pTl*t~(bIq5!`G9ogM#A#}~ zBvsa0tvUJH%Tftl45;T_bT}>=hM_d~0cSE=Td2+-DBPG*DpD3|mKajj)HN6*ik&eX zN61tv$z4LBRECv^C7XKi016YN8Ysg?C{5%hNuqYfAkG{r71MV%kSpAqd#m@x{jT+f z^V`9YMkN%OPSq}4RXwYA@fJ|BRc^UpOYnOJsxBP+b1AMtxoK@VcNOXXGI@xId_E#} zM;@-=S~vx&qNT%Kf2i-pGL-I&%k%X0523d>JPE!ebE(?O1K4W75=ut`vo?KTQy9|% z=m)8?LFvnNY6aCowD|9(Q%Hu>$I`j8Zd7Qs3j(M)8r<%x#+p6WiS&9S^EOAt@kJ%m zNj@w(J!RV7jR=;A*PoJD3nKLNT_}Dm)7+c16`MZgo*NC|D`g# zfBLk~SF6?M%D3ApXyyzRI=_&B&Tf*}BvVyjvhO@NUy}x(&#hpX6rqZ$@Zqxnr|f)Rt$C%%HTAX;2RN{-ndn_n zX4B;RgWtsU{KcQEB0!=tj9|!VlD3A%j|U+UtU`XXF4jChgfbEJ6kBRByQ1wL9hcY2 z;WoccpKoxgjeIgx4S#aJgv>6OX=g0LFz|^3+elK{yl4_nAdC1h2bvO!Ns_4fT`4_T zeE+0pB4sQ*O2E7B7QYAeV*X_C#;oUuQDCSF1`DWWAENC>Ez*xiKy+()IZ{UeE z$#M*bG&INmbKt@+6#wU8FhKxp+^5^XrJNG1yGV?0{*1(`ZBC^g)m6E}##eanDGLC- z%5)mOI`7`|`+Xa&G2hDOsFoK{GYEOmTiZ%#f1{8q8KL`hzvfHA6^%IFWwv(InUhy_Xu5F1c;I7CxM}FwOzF!Tt>>lhLhCst zT}Wh-;o5#dM2<}kO>%0kRjP%P7vI$HEnZ*X7BkB~5qhjH zTme`tWm8jr55=CwAVC5cs4GZSKkY0!+LfC+N{BhWt$**qZN4znp>~1;kAKt8)i9t6`X{0AVYd`)8tRR63 zf4MndrKSdU;{=g~@?9iG-clIXx7?u_^L+r>$x5qV!`a4CjUjPSMp#LR_^;8EN9~dBp|0WQ%}v#XZ__l4v9TzFzMO-!62^lQbZ1SBXIz$~ z^X(y}H<%_jG&Dt<9WHD(0xzB{pZL zOy#FtK^On5=f5s|PGt!cKA+gv`V#^_cYa|K8;@o-yM%H?M7fCF-?iLHgutO%`p1KR zfcRzfE2ix+!EX3(eDWXa$Y%}lD+U_3m4(Qk;N-wpOnW`7@567S2!I|PSQHR1U9;7v z`a=^SY$UIkwhpuGFNre$VF!T!6Sx4|0FT1f`2D8}Bs>XUX^z`$+o50Q{cqr}lbD}@ z+GTk@^j}*1f05me_fSBZqZ>U!@t2&4e-;1|57*NR&Ti7e;xiuFcZu^@3+6+{+|YYq5|L0bn~VrrIJg6W(j>g{%M}Y zgdk>{($OkK%clEZKMS@2&XGt%QargZsIC-&d=s@U7f7V+Z&pnJ;cJ=!f{p6$1m<;Y z2$etzAxyQL{CnUZCW`Tj-iHRr~bum{imP7s;{e3G8bq3JD&8lT?8kE8N`PVuVRM_hl@#msi zLA8T|Fm2)RNqxlmhn8bvngbz_a-n{-;(NEFpSrr>d+~lp5qxIyj(-v3-h&h+K+5h7 zk4Qd4?jlydgmkjv#{H*9#!&t#7)}N!RyYgQOJ*6`B4ORd;{Q3>ARJ5>Z^g7Z1pDhOPuRt4twZH{YUY*CPU>F9kMWtMEoI0*1W)ah@|~1 zE_=HU&o{ir**D<@`TbQlUp_w5NqOUs=Gp%BXN-(9O|$-2b+MlI`79&xhCSf;^hw>; z>3?M5Gz${!yY-gPC>hv8tH&AWSSE*`7(Cwm;ni%!LDS>)Xd3IVUs@y3_({J%Xy%|$kPi(iH%OD+17HdY8X(l;vlTKbK|r?rvIHS=?~>&W86kq*#nxt)`u8|O^0`V zyjWOT2($tWj-4`x+%Hc-HeB3NF9h|(?ll^$-s<&7S{_@SpXiSRtI2Mi51Eg_jLF6z zkyiG&GjVVBy_dDG`_mWv5v=QrVR8@R!E8;&Om`yx&PcJ!S8;ja2&~Z|1*yeSomwRA zJD7Qt?w#++k*qo_LVj{o`r?_|4R(9kt_67)yIHPJ-)--Epd8E}c=iE>!JVz{8v*6z zjbrsPSh^GG3k}XUa9DsBrQPq(_Mtz#_jdE6zGw3IWx8GSKNTfRl-;SQay!>GwjPQv zRJ64+Sl=`A^nG(QPdM1N^_XfPjBKlfwKt-Drqj_|9zeX!R(ABba>cb+`5A$~^zwPt z3(t%N5B~Qb-I_ij!f{VUG}y`dx{qLQn7$uUd-&yPr|029<6F|C1`dAzgl z3E2!uv|QYG8jK~Mdyt>@IR4QVpDbta;UOKL{`N)yg;p828JkHkhhjbj;RzqN=i@v# zn)9E=M}%;^Od^ET*7J@^qY}x<;toa(4(GFq59oZ06)s7;!yWX{xml4bd*vchafQ0$ zL5|FB8E3o6;H1ey1zw9vxnMV4`=l$;*N~5i#Ljr09(!G`I6SvjIORVX^u8)wVci;z zziCbIlrT@E>qSP@usEE?6i;U^9CI%Oqpid%p3D6}B*wZIR}KnFZ?<936O5@i$KiAv z{X?A>oCO`|$f&m4k@A{PLzZ$m&5lB&(1KQK>i-`t?Mz~GFzL#3q>(g6sMaLCA2Wd~ z=Vwm_5(Gw@$?H?2X3t*I5B(oq&`FFysi$hQg5&2bIa?Z35>km~*8G4W%ETwm5n2S=VKq%96$(~nINUfM?u`n7$6ngZdZPeq?L`;*K$zaF= ztt+=JywPh0TC>dtWRJ;kQY&{fx|7-;d?vrOF`dg3t9(W$ORslyH1DKi*OGP%?teE2 ze??FtU)+T@L?Yi-8SHhyw^*;1(M>$4209SLj%V#!lqwd5z0^!|`S7k}0e_8GodSso zimwTaOen4QS&ghbyLTOs>u)#jpe=a_~pza-aIGQ zWFki+VX(41Dhi;zMIk@ZAET+sDo0(H4T06oetqT16{$;Tgf}o2+1dz3G0Z68vy1*g z!T&nERw!g)J)tA#LC$t}=WR1E84?ru!z4+a#xpNC{4sA|>rzxSw8Y~K*M{vJp?+^eV^LU^_dyu99g-ky2q@|3u zjbukCztM9VjD=b_Bg1CQcOhgTXf+=Ksf%qaGtPu=PLJ3@5<*V~n!=rWjaPOd_^?-d z&gybE2|tltcoIeHMGkwcc@*(M8~pj1ZpL{5qjR5=zt;0=pJl80B1m>429d*#MEES& zj3qvODTNp!hR`_UV@lA>nyyEM{*?laf5=Zm$WMV3!1IE_b#UP1fLlKyln2UCa03Oe zJfHZ^_w-0rv%LNdLtfY2-jP@y2%^GvWU;8!;S3(nqLSJ%V)MxKotCx37Oy9#z2lMv zdozJCg-;JBKM{rHK{fiQ)%>PfM_E&4PMd0S}7W<2a*OM$SlVIlOp2c)_GqCI9`7(&rCS9I)FSqUR zyfHfWH=R{?_M@AZW~*qei}eBzJEP-Gww@l^WhicS=6)}cE!c3K%Rh-%5i6w>@{CGn zHo1nRl_-mz3n~@E8$E(rtf_k3l@kz1I>SMw$dHM&q*+huT>FUbBm1BDZn0qsJ9OM zK1Ci`6c}dLO(ZQ`L8j%F1q{<-Nw(P5B@x15ifsH(I2t6c54;s7+GAmW=I~*oow>6Z zRIW~~(UCKCwL$K@?MCuuFew1!M6rnL(LO&#FH~Z=a*fP3BtBV>JPO}$Bu8+jNVW7> zT8g^zolKhPoVc22mEerrj8<=SGcx(EVx#E$*Mq9mzO?Yi8Vpt#cE7`&=WE#Qaw0*P z1d~)5jAF)&+q06xX$$_)PA$~9AMi29*7OTG+DBMp}OHrHat>nR( z192|mYdNF@Y^k6cd=TJ5CD(}-ci2@8vZ`bu=<0QnfSSiFzers-k(GkQvXZ&x`a3w! zpeVt0B;dwn&GPF-b9t)xHWOt%pP8oNjll$uoVdM)0QAuRJu#z;vobmEb zKO&Jz`9$WB5f~k^pRgDscFulJ2}F@(jwnQ{g+7rGrmcLgLTLm2zEFXK+(}*F=CgG6 zAD*y-)u-Y~)WlsDpQOI33N8+SPX#Eqs(-P1g81Z*ROp4x3dTFc!syv2{qyF6Ziijl z3HzP=t34t8>+98O_i-5r7duY)IzkUC|u#$ z>}+mcW4+|u;jbeGUd~iUUNu{~XryB_p zsT71f%H8fcTys-&n8J(Q0aR56cPh6Cs}QyJ^4^rqq?mefw3?%-H+ziv^i8&|4?jB< zrE%)O-0SeVrTDz#3zE?--RFXgTjuAV<`7|z7~j{XdiW}99V9480i*DX>o&n{c5 zJy5(T8FR0E=ApvwniYr71y4eegn#p-D79CtaMPrXh<^mL9qs__q-(VJCR#Zpg@$u3 z5Hc+mC*eR6E(7kEH^6VdHqpy6uP{fM!29fQKW0?fwqXo;?yE$5WY1Ws#`H@(erP;p z1b)+#iBq}9^C9N9aLkBSt{2hIb|Ix7OW(CwJhcvjOMO{jdmlf;KWtrTHvyW?XAeDG zf7CT2g+6iBoOrueZ<}0Fc4jP_@mZzQ_b2P8isx`dg2@x+tHx^23(?k0a&G~L{S_5Y zQIfe9FI;YfkXVvl;DJW*^qZx67HEPu0)CZxogP=o#lramCby0-)8_YiWpr}rfO($< zGt?bF_ZtFjUoey0A*y0**|J%Fy+*&d?xSQ1A@b0iWw>ev8QYEd?svVp#qIr_J}na280c+Y>)_jvIK8u5 zd6&mEyk~W8^!jp5!BMo;W^MqYA6obmxS`ohce@7L#=@r9Ksq^}q;k1FT1+Od$7f3_ z^v#_-81W>T7J?scj02yqcdV?vfF(8i_kPOvRaVwuJ zJsOtqHB-wS-^KN--abGona@hX_(+jI2TC_y024jr9BPHUtvh?;`akZbIo;2r3Bhl> zaafA$Xz_ZQ=qMGef(1}1)#AL{jl%EDh%lEgx;K73O`!>|oqs}dCWh1+#J=^(+w$Y? zMftPlaBBJ2#wZphGD3k^0}A<3hgJ>Fb+#UrIXPEL($ds>2&8=Jhz)>w>VsVkv2B;| zR#g%ZLLbU2BZ1b#dYk!bk`l~=5kWK?vRkv8FGxPJuazFel)T$}`p&yGXnfyEHkDcL zhU*6FVGc)|sKzss^pclW_vtK9CYjl}?H);c+T)vydd;M#YTxzG@m2`5l9f+o)n0RW z9#2~47nLRI9QJ$A)GN11b*yo|dU;a%Lysb=HC{PmC$r`4cVR8@K!`F(TSDPFBA&~d zm&fV3E5I?4$v!635t~h(N=3H604gqqDGJ?cwZ-(A$og`W2Fl+UbS|M{x^a-=aK%X) zhIT?s;qi0db~Ag$0SV)-bWQ-hm}fFJ=X|5v8LKQ# z(`Ta0Ey1iw4gd}+yoKuhEVz2=uqsh(X?pW}HT!gikrOZVOrm1p8D&@Opm^Xs0F zPm9t@8-te9CQ9nf#_)iVmetGc5f7Eol}NroYUR0@Ta$&ny8QbXlz_eRj&Z z1RU;=h7a(Ft)S$COha#z8oMil#U6n1XHkBEpE?S3Y|jqWq!roBNF++q33-~=7q^Fh zE?Oga{rrKv#A?-{d* zI|+R6Z@f~%J;)%^lid$D6U{;zJu1Faa_vuWAJ7FXZ|X{$mQ(U`AmG<_d0RhbYr67? z&ZakxZwAdaxIZLX(XNBZ;&OfCt+!g+1o;2&5bDVJ2nqk1{6}3Fz;K#BHe$hf(g*yK zshESVh_Kyt9_uEg&T~TNN`>2gca~@EM&TRsvtG0a>=2D4x@^_$ef1j7D*I;FlCL{f z=3ZRNbW?gNKNPm3%N<-TRA{4#$RykfG{r^MLUWa+>6G&VL!q4B+*qy9M;SKik1UJU2PPnpB69mNu1J?lle^F%2Fnc9lB2C zSk(F=_()UF34dN}I@aM4o@wg6noZ$NPl;0vkf2m&t%vTxl?n6ID|M0yQ7@b%oiVhd zz9?N)P)mhlWnil)#x?YW zkjAKV3cB6%MP&v9-SeMMiZ8e-w*7Fr$LiMAdCAMUdvkej)oV`-+DsLSy@;nvR!_f7 zC2=EGldLq^;-<}(vCf%J)ixukdCY`%kx7kw2bSG_3VlP)_mMPY{?ZgT&QLI?TqE0h z_gb}PPi4RuKvo-izE2uvqY$E4h0zfR7@qM3F^&H;CsaS0WmUJ_Q6Hp0ik;WOz6ftq>lc>%OBz<@>bu(7n&e78hFw0mgj-B z(@?w=4i0Hj6F$J=n|fKMAFV3$R3f0?$kWGVe@=BB>*kvj=H6dYq^_tYt`pj2{rGYKOct zl?psit4R|fS%T`U1yUBTYv>$n=VED5SAA@fSjh8n2!t8Y_Up+8B_v7XqgH(7p!Wpdx{?*p%{K}e<$ zkxbKv@~+$o#bv{rG#HFLZ`rMGe0w+^W zS|vu5#S)Tc&`WndDyf&0dPUYVQ1CcNKc}nN$fBNP8a?4=sPw)KM}s_hWBRm!LvvaT zLz5tAL#DHPfW#!AN`-`e<7%$Dk8hB8&R>4)Q7=-xtJh(dqGS^#PAE#(3DY%>)Df`h zp+{^XDNU|L4T@jNAhD&1cUT{BqzMGbXD0>gYRnz7h3J}5mBldfNsL`)QE|GcGp#y6 zaN3X6MDyP_LK{q$rC}!?vciaT3C6CMQ9S6>u&SXCv}LMSo-Yp;4`|U>qjizUDNj6l z+Bz@H45r*AmICVv?N|r}i4w=>sav5?r@UnWgtH;;k#GQa#B>*E>R<`vN=SQSLg}$A z$x=>?`BE4w&DJ6jVnjfA!ctGGJepMsr&Wp4jD&K|r3&A?m3DKH3U2(!^xo7#RfpWh zqIK@bLbd)x$zER;(wyFU$-YiWLC?8#NuKuY{YGB9x~r^mr{V{-^LjoEp4DXpMythO zj0AdlqAN8$B-uQ=%3$D;5cC%qV$Un(r41vPa8B1JKSJD{kJn*(42v(u)=wou0rS#pihiVWNnpI4vn$md=~sZrlTJ zQD|g9O{jFgSku;x#`ZWJ#d0pY689s@slViF5*pd>th?7{fm{Qiwa(+qzU_>|nn9Dc zD^#+uunk~O&(Nu3zr!D3tya*uWhv?~jbRA;jg+-A{gG(vPmR~7SW-+i$?cqdiwdaLNFjQUwnZ1K0`AokQH21TEIe?U0jmo$>6#j>g~XOw}d)h zYo#>xRd({$ycEXLcOsfDwvFUl9D#3ucxIDTzQsA>I2*d6c_IVLyUxady_2J%sOh?s za67}~+H&+!Ls1Cf4bLsqaZBybl#Oq6A|~LQ^JFqVxeYI}rEHN8m)=LVXJq$lCt9s( zWrN(zlup|Wq9G)S_tz9c@{|beC=ALPu-+?&t_7>3V%lzp3iQfpmjvclIX{T4p-3-B z1^&#Pf78V$P8rf^cH*a_8@-Kren&QfxpEtd;-Y^{5OPbtM>4nL^;_D%9?K^ZkgoPf0~K`M;o zP!^dC=knd=EZK!%c)7&o2h~YSTdkoUevPp-PM3bk)xv;ybkfw@d!?yYWwXdZV2VEa zqVT{FG;xjoA#ARquF^*0{(8nNAdPqt*W~MaN7O~@>=O^95_uuP$k)rD_&qrg-1Fk= zAkM2O7430N8m2BFSw*vRj5C(9x39T#QFdbUbr{2pji|@(k#3?l`RqW$A~Tg?ZeKH} z%-BulRSXYBPSU*Gp>HG-G1G!58by^@fdph<&_(QhE4m3CA={Xr%+%tf^9)ZtnK-y| z7P3E&rQiw+yH&HOu2Y}Ed9lXy6s51I&`iyq*Sc`3(JR$@_gpkae2dt>^#g;Q4Ys&x zmK73 zBDruXCp(GK&YMX^3M6&z+`yZ!L;*^uJUV=prc*LJIl(umXSq-LU9^^R!I?#ZiLQ4| zb`=rKt0ZJR%3K+VP}-TeO4T50f~o^HYx!DQLok8VUUo$N(MM=PrL zP89wLK6HqE0w3mBO}ugt712PT2ff-4eF8`%Up!wBcXulu?LZlid^aRVn<#UaIO6z( zz9O~?0Dx^La{2>adii53<>mK?N-BsQ0ycH_XZ7XF=Q2kD@uQu|o#diL5zGTgV7|qc zNw0V)AD)6+nkz>_Yp$7@CLJc(yw(RK!u_;&CY8{M>!jjQnkD76D$qM|FV2v(_V**a zMQ*zzDf8;Y?^@5ImhT&;N@S_eFc36UGR&nZ*aCl&oQb9pvOFqMyCL!NNS%z5r$3Pp zf8&ZV$08{+^&ig7o?)zxL{92j%M1i*qkt^>% zITF+c2*#TV!c-I)j&J=@>hfoDh!2vd)LvX`y&wl&>4M(Ir4lr{q*l*TACkCNZ?1^0 zl?iQ5xprjDBI=3uWvwlFyqhWZw?(p=ste6}%-rZ-23gkuoFkQHObabV?bjwtb>w*9 zwDR{s-n}i99ZaYLZYy9Nk;wV=0^(J`rH~V%oGN7Aq_|{m4jLFq;0`W(X|d6Bm4oVh zf&R3#Xwuw0LvZG;G+VkArgic~Lptmo1%v~+JAp(^~pIBmNtsht7B*d77B53I~ zHE)<=OQz~WY+Tb+9>b$R5X;l3RNTokS5v@yqdTC$QFZ+hqrza~^PwPTz0FE8 zT2Gc&=K>OX9UZ^BET78jPI+?{g4h6#mG$r9gC{-%DQtCw)RC(oGHQPU--RYu%nFhu zpO-iI*vUj~t8s%#Ayxgc=^3iUGh21=uO3SnMzf^CLYpK!Zv;KW<5|ntxK)=eJN0cM zRUhb0!1F(|6~h~CRygb3pQu#rZ_-rpmd9EruyOi#d+#Pzp`^wO9O+^%`g52HW8yDx zPxC*Rfk|#w)WOC~!I<1AT(98AD9i%q@+q;TE6+*6c7_UCt2mksHn2#?T160HxNO0L z%PQ4Z+SLn!C5(Wv} z#mD!_NCQhqC#s%DrRO7^N^ zATenhkfSm<5k0sy7VI=uRIo;&^upl3Gx{O93Q{l|m5mFsRbH6HE_J#U2tK&<)~p*T z>?G|IJMf~0H$IfbKfX6+e0ooj6Wrm$tx;)WPjBni#Z#PpCsqu~Rxti04-4v#)@GFI zBBl7TnyWvdADYUYKgO#zFo?}00Qb30!L;J(@@R6<3q;0(;Pd^e5u?^&HNKz1s?P*} zi$Q-m%&F+D*ssEod6a%>`gLWmgRM_8LU4x!_W{Q{`PIJt+2-4;QTq3^nfWl9e5Mn-F#U@aaqUy6RhG840Mo9~wD20%0n<{jMHpORuENO(qO; z_Vb?szGN;-LACIJs`!ZHgN{602WOinmHGOd*dI!V@v(5wB3vpG+5*EWssqMTHTbKa z$_}R-HE6TW7$tC;C5Bn}tL3-Z%Im5jqnJZl3ca?ZT+3v;?mzxAkF+{ChR5=nJ2G|==d?1uJ8i%%2Ga<(Q=|lxzPVD;NaBDLb;Ha_#l_rC35H^8AwV~gci7a zpYOibZb8hHsTB}C!>BnLf#Y|6@E`7v8CBF$iTOSeW}M9@iWFshJk3*?H<>3U*v0Z9 zKe}Ig>e1Va%15-N9Mb9zr-{y3+Fb&R3sOb_&qT#mcGU=aieAEN>sQ5iF4klJVK6p+vz=`nHx!_z*NK8X^nkK9EuM*t}v4SJ?J&{%Lfwbq-2EO7q zq{l1 zipq(&;}9GAw(-BQf`Ad4=?d61ZpJO<1bYOc6mYt*$LK}zp1kxac9g%Sx zk8yIn!a((2MZqb|8@<_$TryyZ!z-FX!&d-zD0J)Y{(GRw`fJ3RePY;78ptFVfWVn~ z(|mrW1ksX4U`a1`U)k!)N)E67#E)CDzvJz@rd!K6&?IgcPNsntH!HG{E0wy12x3Cu(&0B-C4UPSKm_-JQwhYc9)Q}3atQ1Hfdn40 z=dI_!VwU$EPR*2-LmxVXBxQ3a-+`-A*4yGUC!3@9vG*s1p`?>`+ZF~Cb-zBQtpQd8 zUM}iTi%)7>JzYW1V!{Z%P@T8EGDv$^hP!OLJ>{HE!C(8lI&9)*>6c<2!nZqSPC%W3 z;KM#)`0{!##Qv}AUz=qz9j8&-v*3j{x>*q|O)wA^7jKBAA+o*2K*S_r;SwPHSk7$Q zZwKMqOR?Ja8>`S+{qen@@Fg~nnxd#WBt32;jf=rx7T>#>>5r#y#xM>9NA6?vDeD6V(FXwKjlyVVH*PD5don3 z;X_3({9)z4UVYpF(qsFRNhiiXQRx4Ci$;6|Sciv1MiIPwgkMi#yHBGRC`CeG_zpDS z0dxdBj!tMHhjpHn7oPEw0f65McNXV?jOXbuh^K$}v$nE_2b6*`++7U&^C|OQt3DB6 z_q_wicIsx`x4<3Dd3hJ-PH_zXLz=l}g{^(uTV7l5tN=K&-y(SrKjN^K?-El#u1Ues zktUSQ`r+fD>72TgJ%ydR?-&PS@ZhH|wD5l(Q216P1-X*!0i$!e2r%vbW1-d_(cgS# zc1G9a60YG}LcD(yns*Ivm-{HN)DFV-dNeO? zW(yi@Esv+jEWrMw4f{H>@MPog>W{7ju5AR%x5cO0?>dBlH@L_Uh&W>IxCgrI`l%*R z#CSZhTv0jx>4rUH|9RSH3a4jS6z{QljC*pC!{mSN^glnCO9CSL;8OlmB#{$T#a}ft7pc_49vfWily1(sooV`ZxXZf4^pV6L`$J8@Qi4|HK1l zl>#hvR;2t_t<*n^(K`72m}ltWWB;Yp{U>{TO9d>orBX)ne{`t-nnWH+&yTrDgO~d| zB>vwf0=8M^1S~aF0s8V!re+~sMvOh=C6Xk0s&jg*vk{hH>l8ZQXcFg}U;@ycEpps9$ahVy1on7yLUB8&TFg!pPD1jOfxeM?ia`vA69 z>+pybnJp3!oi9fyn@I{{~I2*wLWdMgm3=Y&?rZlqpf!n0aa(na=;KqI!%|(B|zo2U# zNB-sG`I95msQ$p$AvmB4yjX2|wFyF>LP2PBz1LPj&GA6h<(*dARy?PLj`TuVFce=( z>&e05PlaZoyif|d_SE@iFjYIBt@iuBD9HdVlmx1bSVR%)hyq@aShh{3HRoJ@LDPw~ zj^_Ln#V)Hv*&AFPdyzczWV@}c-edzy_!RF$yqI({7oC56>>s!YpmA!zF!;ZBfal%=2)%@!(q(TMirP(~f3nPz zng!^NQrAxEXpI;7VmUVcGWuy=&cdKsP%P#5J|^SlC>CI2y&tc5egB}9@pOz>|A<~ykSTf=TkH71 z&Rn7u#F}b(a$#RAvl>;t`S|{D&aZAPcXd8r?wDL!S|v@P9iYYV`!JPhM^)M^su!u% zVbxeH3IO$I#~OE%KX*3t54|~vmi>8^m3_Gy?O;Ig>82<^Lyr_lY*{%g(uz1;BTLH$B6 zq#^v;+@{`1ZRyR}NiBDLzp&|XV@0W`)AlZX>3R>%0igb&4J8J!$vp}9N+ifsDVk9k zJ37QmI$x&AMNi9PX*gX?jFAKE*ye&O44~Z1FOSt zilknH`Gvg z{sWEJ14{iFBbuJ8)h4kQO~~=rB=E-oN0nP(utzm7oAZS`pa)y9_*qvdgvC=aMn+OKr zz0Fb7J~6XqwBt!?E#HBea@~Qnv2nf^KTgY41`}TYb$~zr1_2SqC$InnqvWD@62RP~seOwpVGPElBIsilT>-|ZjKYft36*jJ z4d1ud)vm&sfq`?j@UX}#K{_Q`EzEJ49Mz}6^ulwLGuGM%r`d|S*z+}01qmf#@Gh>d zHoWezyDh++zMpTQAsSKvxb(%lr+;jbf4#P{K~8Rp3{_dy#VSQ0)rW*4SKHSpI3w0W z!s+-DC&)8`0#%r-zJ*gdz7ZJ!=dbnX+_Xa@*#87dqzflL3gcTw68$XbBojsAHw~&` zi5*Jw+fyn50rBNm)dmu@f#e_kV+JB6Yjy{Z&KzL%`mZcf=(Wd0o;QS_#7l7w+*>nd zDvtYGADu#DHG*-OkcyL-+nN^|Cg#EM{ZZK>Mk*n9e{Wr0NNQl6?tg~tJesQ!oRLW- z1i-CmS_H8eihA8_P+;A4j@d^}11zEUI6j}&y4#Ps;DEvaRJNwmRd@2dCK#DW<0%Ud zKu>3TTAd&|;7&)MSboB2S|qMVDjeZmlI!;vakLc+)OokVKBm%`T#AO{Xl^+YY)vJ`d2@PU>r`Uk9itIdLmx630zE6TW$(LBY>UmOctWKeoLZy;#!U19d zQA87pn#={;MZgY#r+E*>yk>cGcgL?zq1zp-Z*ER8tiIhjl<5aQ;czm@1W@Yy>&9|G z0Bec;x<%%=eM$+=E&z#?t{gZHFc%hU=`cin!-Q3XhlqT!!RA%Ks6K1}c>49P@loB?LHDoeBzo*jd*P8DE9Xw1;GvQXp*vu z<_PaiX6t>X`)q@oNaP4AGS_Q7NSEcOZvn^|3A#4v^PLClVfe@+Jhi9Jg#_@Dz zy4(=S|0h&xfys7Haw?Bw@RadLeR?E=?S7TLjhUUid5P9$6mPt$FCx$LO{NLH9c|i5 z>@Hzn%-Zmwl|XKi_mhNlbu`qBG;ZNFo}YPNHSVxh8Kb3 zseQA)WC?oW*{m){W(Xx^54~SYDc>#w;oFZy<|(%TRS*H734?*BSppyzPX?s@P3_oJ`&A3j8o>l$cm{RAHJIhxo@3E{NH*H6?jB-!@LlPfkyF%{8Rz52u-*{d5Yi$rZx;|!XsT*N z6OI%N8O`EvE00-L$OxvMnsVlt8gXYX>R!9MD!OHO-;7O*6%d&_&eQ6)H~WfvI5k7! zz==$yI8+AOohrdk_i3N^POE!oI2iFjHQhK0?Wa~wV_oPz>n&$l!2nPg=?Np%dfjZW zCt!_2?#sS(pI(Bwwhib_s;Y6V~_5-QHu<}F>C4eS84dTpDnBkB6?Eq_Fg>IvJ~ zZ6)x^2@>h|roA6B!_(9_JRc3;KLwr7SpTrh#SyArJXCMM61G2T1q?LdU>Qzlh!dTs zh$$+Y!#rgzFU(z-%H^g9rs0@@LuoTys)KMqP_a6r_ z3l81@r50N5{z;fnvvtQyGN!7G!tTA{H2kN6!m=ZM6IHYZ@=^)hQIDS;wC4;=H922v z+3n@>{HiHY_F+^hmxE#8eLh4Bp&p77{G$e}-k$TlVp-u7d0nA>{EKa)?T!oawA3UE zL2!V=)2>=!(lZt9qabacOBzqd5L17t!KNPL;dN%+{4}Cxkwmdmc*B)p7}huobk+bu zr{2<}?Kp!bLHG$;k0c_0NWQ1nJ5g{@FtIQbg({BpOBK@|qs@@Rj>TM-lwUha%y zNF$ZB=^zId3q&8@M9LZIimt0$)6jyW#F`RK<|SqSINCC_l{hJ!p#EIRbor3s%Ad9m z?QE{tE-PnPwrci_QM6z)tF_A|szqh`6_!fuQ;Li(e;x4J*PhzRj~DCg$!r#G`>G8{ zk2DXJ*ChI7&|TjwmE?WXCi_tbTGY;O>8yt2!Tm}fs&gEdGzS85uy zL*N>zzcTrI&<+iEtZUx_eI4cpR#(|vZpAN29#Kz+Z3~!FC+j2p;}6Yp%f`Ru0z9Qj z@us9j16S8Mxp~%^;HK;cWS>9?2ozL~BK2;MlsKPCp!!XQ^)Fmyd>%e(xf?cDXZOd-Erefm z&L+s=5j5?Kmp4}TGMP;td)B%h(90Uq!`{_LdXx5>6w4@Zk_rUZe_M^830keJ$LW?z z7SI}dM>n9TR+eW)qQU8?zBGUuRD~+n{fVNMP_+`N&FrqP>(*BYSb%oG^kjv!Y`Jxr zzRUX~`~YdXrGp*FA5NMf=ZffeO~of=np9+3W#XEPwm#Q-U;d;`1DdXm9Nu8p160dZ z;=6{6!)jV7^?uW5B%wZmT?a=*tn(`g(5i`2Vn*h{>#B+Nt@o&{M(0aw)FD7iZjJjr zuHD(&+Ns;J^doey2aPR$*{duZvcAxz&aK~z;ZrH2d)}OQm61haJ_Xr@BtPxZKIl?c z-0Bc3f>!%<6W$+97nn1~&-cg~{4~{vHc^oRM-lKrqqS4+eYmR&iXG)4>WXX?xddkl z)ioU?bi5A#WUr|=sD!Y1X1MKk7E5kYQa|Wo$Sq~ctOq1bT7^ZIH#dTA8!I+x^lTqj z7fC_WgZ=0OOVCsl*WAuI@R>qE1_=k>fJv#$XX`&v>~BR7EV{2ggMQ`EuUA;C?z_`t8aMBP00#!3U1PXP(_I&;sMt#XC1?+q}0R}y(2M>k@i+fA^ht6|-#QVVfU*T8oD%>Hp?0jYN# z4fdtxm-1(hL{dp@l)hZ`_UM>f!{hp(3){0%Xp|DwG4&}cVTtt(YULOjKuMmVpMGYk zWMDCbC?gr)w>Qr7%|)X2;WmCj%IiM2$=1B?-@%d3Cy0QZ(Nb5I1I5Qs`*&fhzh(_@4>*R4P|kT8rq$DmCOSiMJt7tBQm>JmEt zKvyiO)rh=~&)0IIA>EuCIE{<2T*3)`NuX1XB9gpnCP7vBejjVP;k}{EVR-KQLqFN} zZwK>6{-|bX7hL1?GbSb~J)4i1mQ+FYBY2`vECJahhlfan60-L!Qx>k;oK1B|lQWQ@n<4CQ0X9flLTzQV#`g~TOnyqctX5ephb+4t z)x0x-wb?Er6QGem=0!p=Kb^sXv;vX_WKAp^L54j*)(;Th7=nV z3h$?e(%KStkWUoCJda(F3%m2wO1>ESJJu4x@|h)!>JJA9e3B)wJe48S4f{|3f5g?kI@X!JPlty1L;(WL-T90uPE6Xx@S0wr3gvUH;4+sR<{1UStI8T zx%DKaxb0gdjQPmOPy=L*dOPmwS)1Ri-rrX3u;Y%~j%#XxvhhSIEy4=B zN5UeaA$ke!Adr4&&?ht}qbM5N{YcHHzPx;YIm`Z0i?Ts4TgTFq1zcj~rZk*7>6Ka; zmoyYW<+UN6+9?z@{1Wkj2wFi{Nm@#fLO~8LeVpa}lKJlm&~gyqOr#y<;O|*R5{j_m3NJ=uokqJ#a(1(YO@v{*3#m z8{AqbBPIxsDlk4l!>#!8__w>RP82So@@=8K)>rIIZMWx(S61)D1$kmMOcGsX+9Mq) zUDLXx%Sa#7d0(WIf(t((#uW3+M;7wna*NxiU|ipj5zE%~k6VRa6dX~Vvx-IJdicnM zZ1tfZFDPpO8nUR@UP3t(j0Qa_Iau66;eYq8?X_`&k&MjCUjce79M6>d1`ihVa4RQd}u z>Li6%%8w2bF?0+_#8O7oTfgggeV9Ed9pT8uXY!|OwSf~xnlcp8IBtjEW7BGF62!in zqfYG@4bVL|){Z2ld%s2^l7(ZT6wH}3s~iZZD5~`QjIa|dlvkRXHDfKcMFz@#2vrn& zw|3;P7VEyKy-nt>)N1G$|GGFUrfz+~PCjX>6#bp=6Dn(q^iAL93Ca16ap(`-p~`7Q z3a$PmJvB~C8ZYj$8<>#eJSdtg*EZji{6MaB2$d1$3<){Hn+1gpp44}fhtU-1w zcF<$|s98&=942qzJ`YaXvI-R`->Sya<;DfpR0+DnQ|YhWniLjWzN@t53f{m_lDZ4F zVvAdTvTZgqVt@J}|U74GODAq#SHaPT1 zy}{V_upGt%#x=BgkAs}$79jiV19~0?VQn3s z*82fEvQmduu9NjI(Lyo6N>mi`L+39g+;~-U`iujN0(D{qYM+aBXQ6;%ijw))xD=iy zO`3r#QhCJ@sZHr*QdR&y>1nH`tLtDM8ZvCMX;nxrCoR!TJx<^U67Uh= z*N;va_wN;|*XZkCIE!7AtN$R^YNg&-6PfqBTdM2S8yS&d99I3z&6%Q!o=zwe~x2k+S=dK)Pbfw}w(U zMkdf|DS>zE9nSU$a}24>s5J_Hj?dBm@d%Ri=WyIYTxP4+T%}2wZ33O-mRrn}kiqw1 zX8praVF##NH<7$B2;nA0f!-fjn#=Rv`NE(EE%W;0We}xSYUO|1}<$0TKE%IN9o@Ws7kC$gDJ|M$lT5B!; z@8A6APyhM{+Gi=4|L=ELwsdK*|M0dS|DSL?5xjF)hjnr}wsYYPf57HH_&h-NdD@$J z&-VZCm$`t4d8GL{$g<#n{_vl-M?mm0eRra3@()IVU;)Hy20}C`C1d`Abp4StT7Cc= zLT4T~(=Y$~?f?3cWua$WaU`fK|DVv$MqI#IKk5nleQ5PxGEu;KKkxqxusW5oD*Qt; zJ+Au?+tpC@nPcs{=l%KN_peb0>F^rWo4f$4udG~>%N zo;rpeI`)rkN&yV>w>h+b!3If4z+>moVCDW}?>wK}0A|qrO*;O++46sLgM}Cv0AI9N zC6oSP0JPcy$g{d(_cLkXZ(rtOt%Q}EuIt-$fbzjd0LS5-q*PhNxNJctJwDCm$q>5W z9l~N;{M2H3MgkmL;A^up+BEifnZf}`+2+)R4TQJ3V9f&hc}v~lIy`Ghu~ZQp zN|L$0Jnk!ym-{n8l!0F=zm9~n$q97^qW0%k7yXko)-sl-G;&8^EG0A#4^O8*;>#&& zOltlScAQSp1a@vOt1?+U?htKchI}h7#G$ z*qts83{m#XGJIf1$_1_8VlW~^5D1o&-~D`;&7$=U`w-B^@24^W8{$2@JKmkYCOmT1bLdn%mOH%MquEquG-lw}5%yrq zh&Ghs{rTYzABcLkr?V+$ZTGXj^ZA9Sc>cpcz!QP|LGHUToP_>KF01uCfnhKTX{t9t z>@9_C9zthgKm7$JD*_GB9oiPBZ0u9a^MQ>b(cLNE zxUMvy;_7}e!Ob6Qx_L7_i-=!*xRtizuEE~nyzo(;Obcg?RKlk=;bU*Y**E>>(W8eu z`188{8@-`asiT>=0VH&v&qtEBG zix?r7`=k2Qr*N7j4!X`nM)P2FDcnrqD|4X>`|1+SrpZZp-=M5unM^zE{e=d2szmpY zU<`(@CdE1(?jvS`(NVQ}pb!%CxQ)J8K`$s+TinPN)0;QMp=Lq}quFJ;Q`9z(S}bN| z3ia}zIs-A_qH^x@1)5drX|$Hm>q`LGg~0Xp9B{D&@~oKy3iZZlKJM(^Jv}H{q;SD2 zZQiYR!MP}waOX&*_`38lRcNX(AEZ-a(lLG9d(eRX~fei-$FkRxYd_JWRu6NsR zc4TmjqAy>=3w4lu8L6F#n|?Zi@V}UhDO9pe;M^FF!xfDpqQk}Hm?_tvpiZ(fE%Hqu z7B|pH-Wv>zkV@sIEAX4XJX~m~FIn%6+$pZuTIqASYARzd)Tr=vT&!B$$JF11Jp360s9d8TJRKus1P;NMJA!=(Izzx?KO{&@X3SYrKJz zF6D(V%hs3wxfk;~1d~}{zSdGE>zj_lMsEn2Ovd)A;c)6+vA%lwQL~XgBa;Oer^Lk| zhEAjP@h^NXZ$4z>i-{g+kbC2{xDE{8gG%merf&+ z)XMzm@Y_=$!elZ28l|5fNo@O;Mg_H8ZHju69XPDAGuiQs)?`-RI(6S>Z&dL0a7~|! zwRE|FWiqGjnxyYtpt!zL88Qc_Z!iV!zEHcorNJM$v1-{Z8GY6-=6a#gYC zWWihFd|!ewR$u7E+DQ6;z?=l|5lBGFWdwr2UPFQA+N<+3XbBU@#%5{@q7o@k+li zoF8goI8OU7ov)^ikwA``eV{Lt~L3VhKc+NL5bjh=anEJBn0V z#+pWF{K>)_eKF&Wqbs>Ta;6QCEF><+vLr*K3Kgq3l+ga6;~NlRkm)4wn2hFOUb=k@ zrWv2qjGWfkQ!Eikdwf}{->IEm`jNYSN2#S%|{86^HF^uduQIqu~Ksf6Eh@ z=nfaZ;1M8#d$}Qqg9Srz-$kqm)@b<=6Crd%&5M=4gTJ^}M`tJ0i+GUfEnz&Ipza(zw8tk6w%?@aXP?XyMsoQg=tX1wS|(-N zJ>hkN@2{OtWzuI(r$`Y|odQ|gjcu5GdNW^Oko>W{T+1k)y<`|fNDyLo7Uf~D=hOeO zD2Whq02{jocu+`@`9QBJAe=~7$h}Pv!D|HkW3)w0#G#%8*nQ;&$W!e%+@4`0OrvO2 zR;7a9pM$$6izDvkOv=&Mp*%_9i`z`+1TbEsK_0S0z95JblyQ!up$hGeHB)zBwn<5z zqYP_)oqV~c@*-PBI$RSK2EhrIDEeIQi2->r?u*FGf@w8T%Spvd&AVp(In~KLl<*W|JDM~UUG9I zN3c8WA`~y|rh`J@eF5>W3k(RNiBa~oC0R4#uh^AAWM%ptOi8B`&lkX%2Y92bqm)N9y_SByq-bW@Bq4Vsks$++h*k zp2aavr zR3@o0C1*}hE>c`ihpJhU@#eKb5gPXXD6YmwP4{X>tf@iMIQt>_Z)<+l#J~xA zC<+DYt!GPS3fx509=zMI+pS7QZ6)QQev8J)nc10J{ z*)>3*BIbRBFz{6fp=cuT;Prq`tTraR&Fl}=VvgZRbP7rQNfpKk(AdhXFdH1{InHXa zrklnFXXW|-(;yfh4~DV38l25T4(fzGc(KuCMXU1$`A>}uTJ0Hymud5`O;Oonep4b2 zd|eg4$WJRFwI(HKADSdz&q@v%aUd`1nV82>F;s#`%+81 zJaFlzsN8*z0xK09-OX|p9o#jyv3-><>-=@(DY=T;&816|?Rw~A@1m3P>X13*$rj2} z!`4s_dH^ATM26Z#g!d6xrk^w_YiHqsSPFXfvblDgvTeMrI>-J3UAUINoEbZETzFIb z?DcE$eU%WRgN}Dr*JD~lH=du%pDxlSY(quVuSiDs7a@?)6drk=Y^BBB&#go#w)I0A z)@#6-LAjo^3pw=N^<2;pS}>&&qv(O>o*qcQdQXd&<6f0T?t05HK?=Xe371-QQgDLD zpk5=HrwNHn>NgzILO0a;F^6tCcSDK6z5DTuuB~8x?2MoC-ljV1V2*HVp8K;Khnv^_ zQVe;J!iypDnS_LL1?UbN?()6E`yj@zvl7h?cT{_oHhVlj&r4qFS&E8YUYy%zf^-j@ z{$xWa%~q8F;>ew)ED^pi1Edi=Nf7&Z+<8e2TEmaz@wYQK+mN5+9os)HI)wW42qv~h znPhuq&RBsqG<#>0N#0qo3ZI7Q^)GI@M?Y8;hu>y$i1VfCv7Jt!v7K&|kKKKcR+Q>&)Ih5CP?+(PFixQNo*mX z<;ZtWC+&^A@*IWggMSw{nSs>v{$PgK&n{PNq5Dg=&Y5D&c0djcRGbGB;eeBK7Ea0{ zb%H!ktq}HXrpnC%-_B@5TC$}byfxv2n{}BDXKpU5gvFaj#5a(jug+Qm%_o($Hy5we8|9I&0yEp@n_!S`;`;o%}k#wgnFs= z6O7rvq9I}!(JXKtfUy3wQaAE?s=iqk>|L}{wkhpTl!;+Y|Be-3Eqe-YI1_LXHZWuQ z*kji3{x(MSBJeTy>u$%{#&+bGoY8iI<|+bgP)PWKlsgR-4x5%unk}_4O^^Gcu7OXl zKZ6){{`+92T5w^fow4@N*1kyG0Mp?H%GlZz?o@WfMdSt4S@r6?a210h`KXrsaDv=nmOQaCH1Nl+kFthTv6?Bh)>KG(DaWUXk&R zEuRbay%m-1M@E~4;`7Uumv@4%dnX^yy%*xfRLE{_91V;N7JLQ8=?Mv>HopF9t9|t) zQFQjv)wo&}t^phKj|KgCVooS6|D31V+yu=|F+h~ER_Tr8dvQBe$ES{D2Wgh)#qp?m z(z;5}=ul$34f-0X4XJbMBJhxro^WyC55v-P{K^Uw zT$N)~LYd`;8FIFwfI#-K(!i70$0}2P+9KINM(`U53cQ>B0#`ir zW{8red1$>*E$jGGOhsS^B8fLm6JG|XPjhwqo0&G#I_7^iOT24nc^v8!o6Sfu%B0H? zA#014MF;W}U+!<)4^?)w0|`+jr=F-IDhE>~zdnDkUCajP59&i*e2W4xn8H`$A6PJIkl6uf@GS=gKylI^3MUzsePTFc_S`<$W*uVCy}u$nd2;m7_BlzjZjU-_QTW zXWA#uysY|*jq8zM5c*i}p}5+ia#7@Kj;cKtY0)F=?4IQxU62;d&7rUPGsyq7qvLt- zqQ2SIj;X*~%A`>C%w$KemV-T;n>B-XEtL$Vnxk?`0Lk~yA}v&d6Fw=%XD`xY$el}_ z419TgaNAb;!#ZRKFAnv^7+br#c$_0kyavTr5@XTq+-yDGUt^c!!ma3#ZldXF^N-`I zn~EtzvYy%X<#N!8Zr3i=<3_)f*)Klgv0qnRXW9>PZRqLuO&v88L+=inq};uap5K?K z>a_Aj$>WJuzcY5+RLN*}UGDWtV)cQxm%4cKwRCkpb3N8#ixTrgqrm&anNNe`H(Y8g{rB)WN$v*lPE=zuR$7SE7P84~LC8I8$@Vb(LYdp$dJnl}OKw*m z+olo6?*Dm4*HW#B8ZMi$Kz{Ivy{i$TyqBtJ5R>3Sjo>18C&l&4*}0=&z&Y~ks_6D2 z&Kag1wchz}(xconL>NKU4c4$N<7Hk>hXa@8r-3SFoEYgW-KpnN8c_3y$NdAeTxYwy zyLL<*rcpM#8qs?7p?y`EaT2>Mr91A8hcnfJb_FWx(B$Y+=610tXlNphw|-x(8bU|Q z<!`k_}@;?e=Gen}xaLbbp~v#jD_B_`UB#L>(Wk=(Z7^YfyV%SktzX z(E`6eOYKTiuWqANzwPq~Yb#ZpKiQu)gv+IhUZ%e@upWqeXi_+4??XNwZ|}J)452>S@YMn3O~$;+mU9HP_8Ztsq7I zTzZ6r<2SF{v*K+t9+rhGmH?@O15uW7!T)$yfV<}>rcASQ_%y6wXzq#iVD8shSi`)l zcLgTSkZBYJr8R3OG1lidblNIFl%KdxU=k^b_N8d$&45HlMVb_>j>P-blb}u2NV`}p zqU6PiZA-<6A4j{yVzn08q+Xc?a~bh!Ko#(|(zKP1cBk0h$5W;~W$!Pg5;&2>OBNl; zKcS+bB)%9|c^Hlg>30h+E{qd5LuK8Y-%>Z4sN4S(&+b`O#Ys-j-u?Kxtl2Iaz`5U- z?pR&7YMvFx$*OiS<>iF!%owvH9>VM)oqn}?-WziqPJ zs5eq(Y4FrJVslpPu9rF>iW2v8{~hM{cTip;yrd&E7%+u_D}woW9KfLcSD==D3+FQt z8r|+K81<=O-CW_(fdWC1_(3T{j*DIS&aha^|_UXtwXF~#OvNA zUx9)TG!dEkmTAwpr@P9o>Scr7&%3B6>XxGG5vcrgBq1&niQ&Fq#FA7Lqh>Y;{bRB% zM%FPRJZ(e^Q?Tc9lf}`F3|etoaZg|Ev*TpJ4{o0O3gRqE)X5Z1lPa#L{+a*hF#rBZ z-ompqi_B8swdtaW^m6Q5pSt%2&rK6EH<2?F|BUwm3KH$@m__usqcyjiQ8{JuLp7u6 zV&CQ0Uq#<5IU3@MZtR*}PWu>0=-h^N;zTl>oRg{R&A?8C>&X};v;DXS-KeJ9E`0pm z^XZFk(W$js&T=Skmi$If2f(9sPudOo71f6EEMMHt9_3?(Db}&JssKat?wZ zK?h;TAUO;fBnLtA5F`ybNX~HxL%N%Dj^NRG>#cR)diVbG^AA@KGrM}_Usdm& zcr>zX5o!Wc`IaH>R~UDa=5)b`nap9Io1X9{5sB7w-WUn$mpJ{PIObTt!1blQZaa%` zC)Q!r#VALHfH6Y#jAxmWQ}0T@nOQT8T>R$dMB9#X@V zy)Cg187A;@2Yb3%P03jigNzKJZ@00Lk3d1(pKAz z5=#sM2Fm@iPnMwTzWV-grJ=mGw1E6MV}Qk=i>2RwUFM;y36Hx7a#}KiT+gg5gGQ<< zHq=Y>0}#41Z-{pM^~%kkX8Ep%M-2`+Q<_e8!~@3Wb|Mq8_5*3ZIHJ@GdPAOGKcjSN zLN!bZ_$9euXk8#Vqf94B3p3ubhu6^}(PZNIUy=ofy6*Da&Mw&XW;-d{z5=%>#Y!KMGhxiWQ;8qIL*9WC zUI_t?=!0r=yEk1QygwVmKb(OFYl62Bwu{9z9zr}xPYi}G0!hw`LBIXz^dn&+7Iyu^ z?XUMO&W3QdTQM*@aqxT{t)Aec`OcG&g!@4C`R^?{wB$*Ywbhm@_W=xv+lT?(_$E&w=6GK~3D^`MI{wI2mdWk2yeg zg1kvMXucDDcbV`C{&(D_yt4)SOTU7o)VF4VLYni{c;0%bN zli~28qI`7D_M8iDT?P=PiFPkKG2`i-it=#%7XN>H{Cg%ICa0p@N<=4S;Ff?WC;ghb zejo4YjRmg*qKqUhM)%!AH9(YjB7(lbXv8%Uc`C}vbaY}Sti!@2@NJLT44fx8_g-f! z20*TvH`A5-NblvI_)k4)iHZ-8U@{LsrVcfRGv)Hnoh$Q~R{AH=T4P^z&%FF8hIhyF z2@%3i#D3}VY`rIBVjl`~TC{i5nW;}3UO!~I>@#XG9xd#q=V#1eI?J*!R1xnw5*^gL zGEB?FB=r}!=?j>nic0G8Xt72VmpT3Y{QQQFd~Y-}maoD&&ZKs`WO~c!W>`;-A3YC7C=JUu^)8CEDY1f2aSZ?^hY}hT6 zP23hHR9h5)@L2x{@^BfQIZ%313u>c%KX!|6Ft9L@?gKw{f3chhr+^G7x;Le$Hj-~L ziHcE!r%eD{&6uUi0&SFyYMz*^H|i}mSQ(>opK$XJ4EPkDJ>2ZvlPa~Pl0ChOOZmyw zc_)3)B$RHdnTU+bqIAS|`~orXhT$O!5j&YNhYg&4#})zz6bicFcO`6m+$rnZw>+*M zU!z}$-=8vHFBA>Kt=GJuhZ-Ac!I^!L#(|lCca_Pa*@0e7wZ5wSTU zJfHVSOra#DIjd8I;VsTvYh>w?>}V3%LV-<_T}xYg*wV?HLYM913J#-g#niR$h#*dB zwmFxbjF|5WGGwo3lojOVsY6CjR0j*4p@EdnRfZ-;Edq+;pA0hN4~~x=@|OzH>25;A zlZn80L0vl(1uqDlb+$Gy&+cHIwNyvd?^@5S-u3|z3m)j|?c*#n zuHGmQEVqLByd}w|wdH?I>2P@I^#gL^+oTMkR3{aJo4qx_D|)x4>!d-UGa|?LqWg0> zzvgi>t2DR9LtF5{ve0X>{E@;*2Kv))(->N))=Cu@`@r(65fA*)tuJmYWvVM#6WJg5 zp%H93gj=64+@ZF8A0xeuEKcEhUO`0XaSxJGi*EvcPwjiT$REfI=N4;6&g+ z>B1L6yh_npZ#_@?`K}F_$lZn$8EsJ2r{~bC=7t&S)wk^Iri)3 zj^1z}{*bI)YopEf*{36F<<~BVt2p2kMiupDjyfa5%S70i?Q+&?JrhO978aN~RTGac zN@jH@pHv!JMy*l0qT>3S%-5=QV9$D{4IO905VQ;e!z^EAG8NMX9PNH_3#UHJOHmXQ z)GJ0F00thg?XZO%E`#z7)pntt*wq~Xm=P(8op15aM8=BkPZX9^`o3m9wW1=SU`0Lp z&41us#f;qw_@RMm`BxnI+VHc5tC%1hfD*h75a6(ds&7epb}K!dNhqb?-E#s57ApJW zZ2P;g1=?@JacWg^Kgzk;kZi32s%GAyxWyS?W>`aK7+-hjoEm-Gl~K8Ezf;tUEv0*s z6Z_-MO{u9_Rw2r|jU+NifnIFPU{Xo1!afG$`L66!Okfv6EZuICYx{Hi<5p}-Kz$MM ztXG?CIfrLrIY~zLK3iV$EyH{q#zeY)Xs;1Q;E#U_GL>oaUN>+Iu5T&i@{bqT6~m7v zEcr_9OH@}(ea?&);UQKB+~s2>RxWN7YT)6Z^_EG&uF>vshvRaZR;t_B@szd}r%jI- zAG>Qc29QZd#Oud_Bn!F#mSla>T_kM+GlDZ2Pf{)s3av-QaC4bGHp103Xa4@O% zd91o3Qg+>mK{|~f_v5-xfXQcNA9I{)Sfnn>IrdsnYz$rMFw`yw20V6OOYXLSepY`9 z%-n_?Q`$qvGaMV>fC&|_BAbF+D+kwFf^~Q$V^LT8HXF3N4Y~-4{OYSivX>C8iJih+ zVB3`;dkQijf%`67 zVK!7k+kQ?5{sn2!hT?`K=7g%H6<_JxHXQ^=LnV4!Z%CWGdlI%p6ZvM8HYE+#VMcei<_e=9fkUMvK%>G*lG@K5l0e#55#H7kv)+_zj zR39wAlv0+?VA5{zr17#%bs`o0t<<5M+rsTGQvD^tON09S@e#Z!9F1d|Av{28Uf%6x zY0*vc(=4l(sP2F=;;GLw!(3x8;MLyp{I+X!x5H0pTP%kozgucnE14m(K#y|C4R&ll zm<=~7er0#f)1GQnsF74O9n0}17qb4g9XgU)MQ+`KpW3-ZOmf}4TKeFlT1k!?XXiyN z4h0p^zDm2GbQq9XlFI5hPyKu9lH7ac#9gq=>L-gfnZ(jj_t11d~*8*$~Gp&E%R4es{Sjz zwK1K8AK4el<9c-Lxw?GI<5$bRlF3Ie2ch)8nutX07h?-t4K4yX4W3LHGU{$@cfc z23R7LWpO4%g<6IRA$?0a{2l!zdcxEYiC)mQ7-=gRem= zjWEeDNYBaN^=G0plf-f+Y<#hh(}Yl!4)`#Az?Pt@rk@4eiyOkiVrzw}Wg^ zBzyH<8EG*$eKOA-BsecWht*S9r)lD=&RO?mR3L5O);5QvIlX57b&{2r2A8ogZ$3bR znlK1_+D@a2)ywk>Ga{fU5Oj1M*K{cJ9^*m)m^9rGRWqP9k1@FVDe>fy2?Yzwy6~OM zK3u>U{zO}Ss-n1AF*y5_qX{GrGHvt(!q{uFM|Zk#m!<~_MiZfoPl{oz-z}G-BK6;@ zFS3T-e|&PIbL34|4%L<0{D_Ea*6Nt-u{7}FH<9+i%0*Bq|!66_62&SBR4bIt9((U4sPX6ZHBQwK=zj}f+;Y1fCNRpmqEWw z{$@v+kX`YWVijqm7slyw1t_rz+}atUbScj$!Yf%)BJSI=>~N}9&9kWUmCoPDpTM|m zJmIhY-ZrXiGCewQZlw*~QuqjgIU$XnWZKv_?M=Z0ygg};7`Nf6{YZ`P!qBM9eT}3vR}g{%)=p{r#}V?-_OfC^3L&ff5tjg?R!`F;_F#Kh$f4{PoT0gD+du z^Rk_IJwRSO{>B-d<~ebbU79|0s-e<|Lr9f2m%0>}eE$1mA8ECfr;r(36yK{OYk)Wm zYpa(82)$1pm)<>Yy12NhN%}MV2k0DqER^iK-&og}hQ+?p*jIiJlrZ2#*~0lmi;p5c zHy-_k_x1Lyswti@mv7+N*8O`E6W+q4SiUoH{g!i1fJZKNGubS&B|7Ib35c6=2;B-%cXl#0B@H|yMTLs!C8xX9uOYR5skjbFBhDd)@ovae*3>RO?Irw z;=3u-AkyD*A^;#!NKlavZpHPM8m*Sy+}eEaWc`jy+KTP@_wSU*nAk8nXS)>$eM>tn zJ-te`Mycqgwav`oxaP!j5v3;y^q0iNo1R+rU-I{V2a_ym2a3-AqiLUaqFp%k#?KrZ zyMid(L-w@`-}t{-8SOOaIOWiG)<(@s@CgV`xsw*x5Mef1ptLsxT9UsHmF1Z1bcdv+ zR^FT2UZh)-i>Dt{kHoHTeKe&RMEdR-jJ4_7^2dm8{M=($82?qG=friqOd|+CA&*U~ zp@!rshettoy(y?5#IfLel|5DD#&-q|+kT17foT)EE%8*D(iu4gHMMz3Uc1p2Pz@8P zl6!Q_1h7KSNbyuT>+Tv%&4>?q_Q+XdpDFquGSU+R9~&@PmwkdLM8vjX?97CzuH`$c zYb1(AFK!N|18^-WhDGRLCv<%5RT4S>E732rgG)x;HLERai^PuUeU!J+X&P?FM%wODlQ^xQgSx^_@U=d&G@nl0NXakjk!Daosb^-znOq>Me zo)Rgh&?6Qm;pYV*scrcN&V6f-$2ior;#hajO!wdW*eCOp{@f;(h{ct`ZFnOp!%&Y9 zV`Jux&?Z*rkWanOd>gOFl|^IIJMb2lC^$+X%}Qv0?h`58BJ2h?K8p@cixa^ETWyAZ z@K{0EVZm$fzGV1X_YeZyC2v)+3$lyWBh_Nb72JhIn%*QM%V;bVZ#U6{OuvN1 z@293&<;y*(QYP^qC1ZFJ5~gqJMj%z5B0M6N?prExNJN0J^vcIeOC8FVj&Z+DzIxi$ zZ<+jfsoz*5zO5DBt3yntTx8h295d3{(OO{FcF2}hW$t~4RFgVa*6~@jPN`^OukGc_ zn~!mu@1Zkgp1|wZbR()+5ff1EM{s0Bj*VHW+IMS7S6D#`P`Jbx zc+6y&)u?j>KSMATwAYf+x`7)JKGcZRHC?eKT*>Mb4)c8En?4h9HQ6qf zO{QyQnNlc4Ea^$kXdb$>!-NE84R-zZQR&5+*30kq&7MRExV_%kV0y`|G!~0W<+2zV zsC>N{TQbHa+sRDhF*^j#-(jll`%+Jqn){Xsq$Wp#5sG?T?5E@6f4Gz{K?f(Iw?9M* zBiIJcV~4*T(BJ>97kZ3)>7lA&fP96@DQ!mWvK5twuTwcH#i@8^&K>Xj7-pzzWe*jF z)d(R$r_`(lv}jlanQW?4qV4LqP9-O0-4vdp#6V`B#LMJ1uK_WkxsAO%)hHZ1TyFG$>sA2-T)T>6SdeXGfTB z=81eiCpCA6CKJW64FpyHQJiQq-kz%L+H&e94e+kaQrsnJVl!~-B&qJ);3+C9#32id!K@6J?9P=)fW45@w(o4@&+VLbg< zs|9%2RVha`kPIu-Wo48=(BiS}pFIQVp&R$&CNi0F#ea!Hei=IUX=2KQ3ImEZi53qe zrcTst=+JeHaheNTzc8`+OK)e+`1mvzCSsm*&U2mnEka#j=$LL8ngFo+Lq)ajr>N1S zJ?xKf0H=V(0-(8C0*}9Au-|XHCkG&h6IdDXe>L;BqJTne06FYozHF@P!4Pp%IrWckK@|1qACsEEFT{$;VX&S46OD@ z`hl3E)s&OCaR;%pK9l&S~OI@2wc zA}(SvAhPnqs2M-}4CnrBeV7FRZxLoUe%tp+hjPT^6|f&KpNsncuM5rgm&SN=UM%#b z@W;9atFF96x1T&jB~OjDaLkS`JP!4w#k`{Uq^s}*IEG{O{5iS>mVkBod)R$V+bP-Z z3=Mnpl99EbEY%2%sAKwDDr_VS=rY(NH`dKhwJeBl;m8{;Gk(y|sxe)AeAHc}&Y7W{ z70zWkq*Pb;Ozz{(O5$Vd2duJBv>j8T4SzZLaIOnHWz3q3^_m~0H25=2g0&p$Wpnx} z$K2*~cS+1|Q&7;XbiM>ZgUK09Y?qAV50Qf>k}{Cr7@43T`cQ7*@WCdTCM?t9>F_gV}x_s&t{lP0S0X5Ot? z$=2}f?o`X$eD3q|3%QM{ZBfcuGbyCnAF^^NS(%}^@&{Sd?U9^@kjwKc&kf?X;he;z zRI0GmuG6e{L{|HKw?8%{uxD_4C#7I= zK7}{&&py5>u5wx6P+v##cJIU3h~o)CxIhBi{dkJXIC5(Lk>As##-N#4GR~P$0udIo zG`DI_S6`R)RcCsU!ToyQR!Z*cEB-YiYzI55VRjV!1IVEw%Pf>o+cHS!i%hEE0gQa0 zMDF4he${K4OO@**HU-;FRPFnfm71J!gH(rz?Vc(Lg6p+Q-AIMk^la-QG ztKB%EWrJTx?(-SmAYEUA=MDBKJv=mRz@1pDnx1WMrz=TIeriC{%alDmGtT)$YXV;cF2-nl~sr%*>)?=2R3u*;X_iO%0kig7QCi@6@i6 z&0|^Vy0b7`6K^3`RtIOf?Oc!S&ag4*S%dA0u(xrZ?CcpRlxPcGhj(-K93PAwbXS0N zoL|aDaeefobp00hmPfaX+VNz?Ua8B%{|Y}CIBql7*2(07VBu45XEQf1F*xIP&i9&V zLaB$2w_XE?BBCluf)oBW)C|F9gTbF}gj4q>MfNsNRC%HDdMgv7MoCmV7m~geC}s$V zQlg*Rp0~nPZ$FIWlKFUw0Fbpk0Ttz5fU{%)0-8yYos*@h-2!?K-={e7#d zRIps)^(Bue?I#&amYOx%9Gr6Ly!zUDC3@(FHSy-u2IMG!1D2Dm-sPeO=e z?PZ`xOr6j;p_|vQ(@dJFC$mNKSjmgzat%A%tv$cASHmTi^<`x!(g5WbU=vB41zG1+ zXrr>X7-r)ixJg1{gr&=9wr}hjwkLA`etx<>naIKR3In)mr@Sn_k6G2fgT^>0JCL3n z4QMv26rJ$WVBW)FW{-jdPV*b<1ClmqTXb#} zJ%xZBq*Hib9H;z?WQ`4Ogq21X@8d-da0hwllyuE!>j#^eGZ#sV zt#&osdrK;{V!in`j3?olNgU(UTD3+M>!y~Y+oqvn%A=;>%`^@0{kH2!PXYQ7 z8c@wT6$zIH%T{%ifwA4u!WWI1E6Q@vRUv1o5N#pl#Df%i)qx(MQU;cy2*sl0dM35ckn8Mb|j?x8?Ww|BaCUu~hPz zr^}Vj#wUzFF%(xQLql7nT9}lIO2-PS$KS7&iD#dk)+yI<46SjoN z<^)HQzaDJv&U}3Zjk`?n@zC+od)#(s{6QoQ%poq1cuEg()w7pEz%Zp%F4ZP%G-)%Q zj#thuiA4D~`1SWka-6|PhH>z`@ROlcid9u%b;TN??r4QDX~rrt0!u?|}FKKOeX86}o#?o)%D6QLv)>?x9R=n{EWn zH>=ReyM(P+hi>>YX-xya{nAUiHcMB{@Quu?QJf^Pgun3D53>If(X_hyUk%l+VQJ&k z>l26eibiJt*iCD|F;DP#6yR3VSF14>{#&1f=~$S#UV6oM@6u)H8TbbVD?hq>PX(v* zEt`3zNB!Y(cTMN^8t>&lCcF0}A-rUC-aUb#*L=d#W(Zx7K|NuQnQQF3@A^rT@V`U+ zSLjqgFuR3$SL@uVp0|8_fpDtJ;aMOtnoDbO0VTM2JS9bk%|G7(Vn439>q+QzyMA`K z`p-*6UjpO751RXS?{^`cI!PC5AP~cS_XgcABm4^(&%-Ic`%>tl#{Zcn-v666-LC#! zxhg}>E5)|lC9`eUQeeD5d{CLA`XUx$Ie?CGI3+eD#OzXgMq9%&(k^IlrpX9rznA1R zkwlCg$xO8Ij|1hJ>RUa;iuTKUmpFj3(X`?zz^^E=zd*57d1Lw%h80gq`Ti=qT>18gczIOMdH)o5$BN7#>mf)7md+W%57aSGEET6MC|R795$Ng)55rMm)(ysKZWby1PyX{xuu-D(ZuL4b!ZTdKy@ z%((}Ec^wOp0sC;!k)(0uab_T;z%%k|5_tsB4K%x3jCBIR`22d)O}d5>;u&)?^RnbH z2Dnrdm^HiCRxp+%b$Fhbf`TRA^0<+8Q{pNgPrA%eye5DIjDB| zveg2j&CQzlu*wllo8bSJU;c|XjPUp9Zl!vwt8_`vVf2XI7h;ydt%XhR8T(JSkn5o= zL(7BN`28Y8S}${7Sh_^gYu20WKf*H!f~Zw|5qyQ9D4?Nh&=dxN z4Wu$u7dol*u^gS|QirXe+D8H5ACAX;DhxY2Vy&CL9ZYAM=Z1C~pQw&S3%6IZ{c=S2 z+^(hI?-@lVR~KD#S_t9ZlEwv!7F-rAV;|JOwo(Xc4wIa2B5+)tNwc=&O*xZC$xLnt zq}rcW-)=7t%h3yN=keK( z8F%0yZJF7{0V@)`io?bG9BM(&p>eJUQr^Bna2^qKprQ39aO_!z;45vNsu;TvGaP=! zMlu|H_4^Ap^?t{!IDv7?VfznlPlDJ~iuI-%8+MSvg?U}H8HnN2vf*QnnJ&)@kaE|9 zma4>D`j!^sN4Tkr{b1^xHnwOkbK?%9*yio@&K;9CMY*57^`(^vb790}WQ^XvSHjfS zDp{j>EjbEX*lxYf`1Y+ayw7LqT+HV!hSSQ$9?t4*;uc853;K)@Idat^m+s7@C1A2S zoXs$sRhK2Y5YnK^%DPM^yKrSqZ;hm0;&1%6OX_Lxl1C%b`fHN$dXtko+#`~Z69ho) zdNNV-ti1TS0}Ew0=gqZom$^M`%2Q(Zg8-n}{fO>4snA zbo@pi0Yny+m)>Q}get4w?X_SQdJi*N>fcNgSSLre0+Qfxpp4~ z95B$Ww(XLRM>y8Qwss&bDbkfr3b+KzP#l}N8wVC+MftteY?T(tnY^mow<&j*hm42^ zLns_GDs}w7ZCB41+E&;ZS8nyW&KpG^?5;isXIDzaIWJ0v3dq#VY)%{>F>Sc_D6GBr zK3BqdD-HXQ12{TRY#0zxA`w^q=6iMA)l?h*1%(^8m@h*Xj&iCFqRI4~hNBa0%!KyW zA2md2JN4ZIvL%Z722Li^^I0={8wMOpD`clu7|Uwbo_kk4XY(Za9H z3IGo-9{ZGupo3T%0GgNmdUlxaC)*0F1yNf7cB_oWv+tq{Ds_R>L?PqAe}?*R|LLm$ zrpr9IK70J9+Ay&#fDnNP2d&xd(*n3*TlcyVsy|RO5I(R1C^A(S9nX z$XGG&cZ77hlH^B$!6@%Cz>m-X1H1u1ZWfo(ny3F!;{S0arW=8kHyWb=yIcMc0LGPO z5;W*G5Vq810Qvxh8k`(9tYUaoRx_QosyNPfd^kiaQgxW!=569SKGH= z07(0~XwNuyJ&V}+f!AMd1)T9k=tf-galA1Qr4XsXY_`P0^2t)8M9RUTw8)|-b(12K za&v2o&UTo`v@881EiHX(zm9vDk+j=~`%^ij5)sa(0}3VJ(Dd|sroG7-a*g5)=ZpNj zMS@>ST9#2t6=FV5uAky6xSH;Dk=b3F-ks7u`*36Eet`)h=dxLaJ^xX&Ue8zC!hGU@G|Qjx>_0i;X5O^;cTC|2MMU)VFPj)Lf93c-7knZe4J@nfwYtb72dmffgPWVbt7c(n7PuUL_uH)1vTxo3%Y*^AE1-jKr&(t$jJ`dp1?gU{uD}CU zX=7uEPKm<7*8T?P~y!)Iij(KQ zmjBCoJliEl!KZo~6gqj@Bw zcUG1~BZLR4RKXR(Xq{jhKDME8g!WxN(?(d2#8f@a`7kz2{GyjcZ!*2Oef&S~OsWrMJq9RZ@!fIdbW3EcilhiJot z;8?gtQII)8iZ|?*4)l6ci1gx@8)ZMD%-gGTwi=qKqSV2*OMRS8Dr_2N)%$35Q7$U# z1u(I|S)?QzpMADlU);yF)oaX(Te4He>*ima#uoFM`b~WWEqgxLd{c1F$DKEv!6+ru z&*696l=W|_1LxDSe2~cLaXH~T?$t|HoQf8WOSxrsjze}!b}R7weVe%mU6mu>t8!UM z1msF!f6au&((s(o3h64;Rl|u7pEq-y6b&DREy*x+xzA{ z4;u|UCT-jKlwDwjWJ2ViEx@^Vhwy`~t#RZuT%BWKT7sc{*GQe+B=|v}ySI{Ph9Mcu zOVZKNadYJm49^gtA7fx0E($Brc6pv!y;%@gZKat{FKN5jOcQ#X63jPqEYQ@}6C%V^ zQ!~@AZ!5LBtqjgx1`66D5BCf<8{dOI30kg!RUB*LT=qWeQ^n%TK>b4mnOv2qIx~1x z$6oiW!G{@7QXzXKX2bn4h;e>LxA*pc1hnw4%67K1JUsaqtnjm(KT`0R+lQDf}*9lOx_1io`lEavjBy5k}^^XeBVai z-fNaJ?%Z==QeDx0iipH3Qq~W2&DaPi?U*^9Z zrQp=5aGS8h?4jI0dPrG-&33jN`SFtEPTOhAnwC_7|< z1UR6gjj3uOng **Note:** +> Don't forget to assign the relevant role (e.g., Admin, User) to the user authenticating to your MCP server (such as the user in the JWT) in the Permit.io Directory. Without the correct role assignment, users will not have access to the resources and actions you've configured in your policies. +> +> ![Permit.io Directory Role Assignment Example](./images/role_assignement.png) +> +> *Example: In Permit.io Directory, both 'client' and 'admin' users are assigned the 'Admin' role, granting them the permissions defined in your policy mapping.* + +For detailed policy mapping examples and configuration, see [Detailed Policy Mapping](https://github.com/permitio/permit-fastmcp/blob/main/docs/policy-mapping.md). + +### Listing Operations + +The middleware behaves as a filter for listing operations (`tools/list`, `resources/list`, `prompts/list`), hiding to the client components that are not authorized by the defined policies. + +```mermaid +sequenceDiagram + participant MCPClient as MCP Client + participant PermitMiddleware as Permit.io Middleware + participant MCPServer as FastMCP Server + participant PermitPDP as Permit.io PDP + + MCPClient->>PermitMiddleware: MCP Listing Request (e.g., tools/list) + PermitMiddleware->>MCPServer: MCP Listing Request + MCPServer-->>PermitMiddleware: MCP Listing Response + PermitMiddleware->>PermitPDP: Authorization Checks + PermitPDP->>PermitMiddleware: Authorization Decisions + PermitMiddleware-->>MCPClient: Filtered MCP Listing Response +``` + +### Execution Operations + +The middleware behaves as an enforcement point for execution operations (`tools/call`, `resources/read`, `prompts/get`), blocking operations that are not authorized by the defined policies. + +```mermaid +sequenceDiagram + participant MCPClient as MCP Client + participant PermitMiddleware as Permit.io Middleware + participant MCPServer as FastMCP Server + participant PermitPDP as Permit.io PDP + + MCPClient->>PermitMiddleware: MCP Execution Request (e.g., tools/call) + PermitMiddleware->>PermitPDP: Authorization Check + PermitPDP->>PermitMiddleware: Authorization Decision + PermitMiddleware-->>MCPClient: MCP Unauthorized Error (if denied) + PermitMiddleware->>MCPServer: MCP Execution Request (if allowed) + MCPServer-->>PermitMiddleware: MCP Execution Response (if allowed) + PermitMiddleware-->>MCPClient: MCP Execution Response (if allowed) +``` + +## Add Authorization to Your Server + + +Permit.io is a cloud-native authorization service. You need a Permit.io account and a running Policy Decision Point (PDP) for the middleware to function. You can run the PDP locally with Docker or use Permit.io's cloud PDP. + + +### Prerequisites + +1. **Permit.io Account**: Sign up at [permit.io](https://permit.io) +2. **PDP Setup**: Run the Permit.io PDP locally or use the cloud PDP (RBAC only) +3. **API Key**: Get your Permit.io API key from the dashboard + +### Run the Permit.io PDP + +Run the PDP locally with Docker: + +```bash +docker run -p 7766:7766 permitio/pdp:latest +``` + +Or use the cloud PDP URL: `https://cloudpdp.api.permit.io` + +### Create a Server with Authorization + +First, install the `permit-fastmcp` package: + +```bash +# Using UV (recommended) +uv add permit-fastmcp + +# Using pip +pip install permit-fastmcp +``` + +Then create a FastMCP server and add the Permit.io middleware: + +```python server.py +from fastmcp import FastMCP +from permit_fastmcp.middleware.middleware import PermitMcpMiddleware + +mcp = FastMCP("Secure FastMCP Server 🔒") + +@mcp.tool +def greet(name: str) -> str: + """Greet a user by name""" + return f"Hello, {name}!" + +@mcp.tool +def add(a: int, b: int) -> int: + """Add two numbers""" + return a + b + +# Add Permit.io authorization middleware +mcp.add_middleware(PermitMcpMiddleware( + permit_pdp_url="http://localhost:7766", + permit_api_key="your-permit-api-key" +)) + +if __name__ == "__main__": + mcp.run(transport="http") +``` + +### Configure Access Policies + +Create your authorization policies in the Permit.io dashboard: + +1. **Create Resources**: Define resources like `mcp_server` and `mcp_server_tools` +2. **Define Actions**: Add actions like `greet`, `add`, `list`, `read` +3. **Create Roles**: Define roles like `Admin`, `User`, `Guest` +4. **Assign Permissions**: Grant roles access to specific resources and actions +5. **Assign Users**: Assign roles to users in the Permit.io Directory + +For step-by-step setup instructions and troubleshooting, see [Getting Started & FAQ](https://github.com/permitio/permit-fastmcp/blob/main/docs/getting-started.md). + +#### Example Policy Configuration + +Policies are defined in the Permit.io dashboard, but you can also use the [Permit.io Terraform provider](https://github.com/permitio/terraform-provider-permitio) to define policies in code. + + +```terraform +# Resources +resource "permitio_resource" "mcp_server" { + name = "mcp_server" + key = "mcp_server" + + actions = { + "greet" = { name = "greet" } + "add" = { name = "add" } + } +} + +resource "permitio_resource" "mcp_server_tools" { + name = "mcp_server_tools" + key = "mcp_server_tools" + + actions = { + "list" = { name = "list" } + } +} + +# Roles +resource "permitio_role" "Admin" { + key = "Admin" + name = "Admin" + permissions = [ + "mcp_server:greet", + "mcp_server:add", + "mcp_server_tools:list" + ] +} +``` + +You can also use the [Permit.io CLI](https://github.com/permitio/permit-cli), [API](https://api.permit.io/scalar) or [SDKs](https://github.com/permitio/permit-python) to manage policies, as well as writing policies directly in REGO (Open Policy Agent's policy language). + +For complete policy examples including ABAC and RBAC configurations, see [Example Policies](https://github.com/permitio/permit-fastmcp/tree/main/docs/example_policies). + +### Identity Management + +The middleware supports multiple identity extraction modes: + +- **Fixed Identity**: Use a fixed identity for all requests +- **Header-based**: Extract identity from HTTP headers +- **JWT-based**: Extract and verify JWT tokens +- **Source-based**: Use the MCP context source field + +For detailed identity mode configuration and environment variables, see [Identity Modes & Environment Variables](https://github.com/permitio/permit-fastmcp/blob/main/docs/identity-modes.md). + +#### JWT Authentication Example + +```python +import os + +# Configure JWT identity extraction +os.environ["PERMIT_MCP_IDENTITY_MODE"] = "jwt" +os.environ["PERMIT_MCP_IDENTITY_JWT_SECRET"] = "your-jwt-secret" + +mcp.add_middleware(PermitMcpMiddleware( + permit_pdp_url="http://localhost:7766", + permit_api_key="your-permit-api-key" +)) +``` + +### ABAC Policies with Tool Arguments + +The middleware supports Attribute-Based Access Control (ABAC) policies that can evaluate tool arguments as attributes. Tool arguments are automatically flattened as individual attributes (e.g., `arg_name`, `arg_number`) for granular policy conditions. + +![ABAC Condition Example](./images/abac_condition_example.png) + +*Example: Create dynamic resources with conditions like `resource.arg_number greater-than 10` to allow the `conditional-greet` tool only when the number argument exceeds 10.* + +#### Example: Conditional Access + +Create a dynamic resource with conditions like `resource.arg_number greater-than 10` to allow the `conditional-greet` tool only when the number argument exceeds 10. + +```python +@mcp.tool +def conditional_greet(name: str, number: int) -> str: + """Greet a user only if number > 10""" + return f"Hello, {name}! Your number is {number}" +``` + +![ABAC Policy Example](./images/abac_policy_example.png) + +*Example: The Admin role is granted access to the "conditional-greet" action on the "Big-greets" dynamic resource, while other tools like "greet", "greet-jwt", and "login" are granted on the base "mcp_server" resource.* + +For comprehensive ABAC configuration and advanced policy examples, see [ABAC Policies with Tool Arguments](https://github.com/permitio/permit-fastmcp/blob/main/docs/policy-mapping.md#abac-policies-with-tool-arguments). + +### Run the Server + +Start your FastMCP server normally: + +```bash +python server.py +``` + +The middleware will now intercept all MCP requests and check them against your Permit.io policies. Requests include user identification through the configured identity mode and automatic mapping of MCP methods to authorization resources and actions. + +## Advanced Configuration + +### Environment Variables + +Configure the middleware using environment variables: + +```bash +# Permit.io configuration +export PERMIT_MCP_PERMIT_PDP_URL="http://localhost:7766" +export PERMIT_MCP_PERMIT_API_KEY="your-api-key" + +# Identity configuration +export PERMIT_MCP_IDENTITY_MODE="jwt" +export PERMIT_MCP_IDENTITY_JWT_SECRET="your-jwt-secret" + +# Method configuration +export PERMIT_MCP_KNOWN_METHODS='["tools/list","tools/call"]' +export PERMIT_MCP_BYPASSED_METHODS='["initialize","ping"]' + +# Logging configuration +export PERMIT_MCP_ENABLE_AUDIT_LOGGING="true" +``` + +For a complete list of all configuration options and environment variables, see [Configuration Reference](https://github.com/permitio/permit-fastmcp/blob/main/docs/configuration-reference.md). + +### Custom Middleware Configuration + +```python +from permit_fastmcp.middleware.middleware import PermitMcpMiddleware + +middleware = PermitMcpMiddleware( + permit_pdp_url="http://localhost:7766", + permit_api_key="your-api-key", + enable_audit_logging=True, + bypass_methods=["initialize", "ping", "health/*"] +) + +mcp.add_middleware(middleware) +``` + +For advanced configuration options and custom middleware extensions, see [Advanced Configuration](https://github.com/permitio/permit-fastmcp/blob/main/docs/advanced-configuration.md). + +## Example: Complete JWT Authentication Server + +See the [example server](https://github.com/permitio/permit-fastmcp/blob/main/permit_fastmcp/example_server/example.py) for a full implementation with JWT-based authentication. For additional examples and usage patterns, see [Example Server](https://github.com/permitio/permit-fastmcp/blob/main/permit_fastmcp/example_server/): + +```python +from fastmcp import FastMCP, Context +from permit_fastmcp.middleware.middleware import PermitMcpMiddleware +import jwt +import datetime + +# Configure JWT identity extraction +os.environ["PERMIT_MCP_IDENTITY_MODE"] = "jwt" +os.environ["PERMIT_MCP_IDENTITY_JWT_SECRET"] = "mysecretkey" + +mcp = FastMCP("My MCP Server") + +@mcp.tool +def login(username: str, password: str) -> str: + """Login to get a JWT token""" + if username == "admin" and password == "password": + token = jwt.encode( + {"sub": username, "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1)}, + "mysecretkey", + algorithm="HS256" + ) + return f"Bearer {token}" + raise Exception("Invalid credentials") + +@mcp.tool +def greet_jwt(ctx: Context) -> str: + """Greet a user by extracting their name from JWT""" + # JWT extraction handled by middleware + return "Hello, authenticated user!" + +mcp.add_middleware(PermitMcpMiddleware( + permit_pdp_url="http://localhost:7766", + permit_api_key="your-permit-api-key" +)) + +if __name__ == "__main__": + mcp.run(transport="http") +``` + + + For detailed policy configuration, custom authentication, and advanced + deployment patterns, visit the [Permit.io FastMCP Middleware + repository][permit-fastmcp-github]. For troubleshooting common issues, see [Troubleshooting](https://github.com/permitio/permit-fastmcp/blob/main/docs/troubleshooting.md). + + + +[permit.io]: https://www.permit.io +[permit-github]: https://github.com/permitio +[permit-fastmcp-github]: https://github.com/permitio/permit-fastmcp +[Agent.Security]: https://agent.security +[fastmcp-middleware]: /servers/middleware