From 0f9ddcd77434847fff19bfc86d8a7a3ab54f2a3e Mon Sep 17 00:00:00 2001
From: PMKuipers Go to Site administration -> Courses -> Studyplans -> Studyplan settings
- Under Course display name you can select if you want to use shortname, ID field or any other previously configured custom field
While scales are automatically added and cannot be removed, you can remove previously configured maximum grade points. To do so, check the delete mark next to it, and press save
+The studyplan plugin is category context aware - meaning that every studyplan is placed in a context. And users can have rights to view and/or edit + studyplans within a specific context.
+To edit a studyplan in a specific context, you can use one or two ways:
+The list in the top left of the management page, also shows you how many study plans there are in the contexts listed. Since subcategories are also listed, this can be + very useful for management purposes.
+ + +Viewing the studyplans of students is also a right that is context-aware. (Right local/treestudyplan:viewuserreports)
+Both methods outlined above also work for viewing student studyplans. The main difference is that the drop-down list on the top-left of the page + only shows the categories that actually have studyplans that are viewable for the current user. (Which means that the user can not only see the study plan + itself, but also the results of specific users). It is recommended to give this right to all teachers in a specific category, unless you have specific reasons + why teachers might not be allowed to see all results of the students. +
+ + +Using the block My Studyplan you can show students the studyplans they are enrolled in on the dashboard page. This may be useful for navigation.
+This block shows teachers another view - namely all studyplans they are currently teaching courses in (orderd in tabs). For teachers, this view will often take a + few seconds to load, especialy if they teach in multiple study plans, since the result statistics for each course are collected each time
+In spite of the loading time, this view can be beneficial to teachers, since it can easily show them the statistics for the courses they are teaching
+ +For the studyplan the following permissions are defined:
+Right | +Explanation | +Default applied to | +Context applicabble | +
---|---|---|---|
local/treestudyplan:editstudyplan | ++ | manager | +System and/or category | +
local/treestudyplan:forcescales | +Allow studyplan managers with this right to push scales for grading to all selected grable activities (see above) + (Effective only when Manual aggregation method is selected in the study plan) |
+ manager | +System and/or category | +
local/treestudyplan:selectowngradables | +Teachers with this right in a course context, can select their own gradable activities in the plan + (Effective only when Manual aggregation method is selected in the study plan) |
+ teacher | +Course | +
local/treestudyplan:configure | +Users with this right can configure global interpretation of scales and point grades | +manager | +System | +
local/treestudyplan:viewuserreports | ++ | manager | +System and/or category | +
While the studyplan management rights are added by default to the manager role, the right to just view the studyplans for teachers and students is not + added to any default role. You should make a separate role for faculty that is allowed to view the study plans (or integrate it in an existing role), + grant the roght local/treestudyplan:viewuserreports to that role, and assign the role to all users that should have this right in a given context.
+ + + + \ No newline at end of file diff --git a/doc/img/Contexts-Manage.png b/doc/img/Contexts-Manage.png new file mode 100644 index 0000000000000000000000000000000000000000..457f32966ebb8f4172afa0cebe8ddc3879886d31 GIT binary patch literal 29630 zcmce-1ymesx31eb1cwB75=er(TOddX7J|Eb;|`4_0fGm20t5)|4hC7BvR!hHN+%O(Uxq_8Ore`L>g8tW*1Qn~`RKuQ3jkpz^(9 zjVxXof>d;7H_Iuk0VZJ=9~&M{Ek6UR8V3MsswBTwd3AL0W{$>Jy((#mwRgmaFZeeB zRFIExEd8fHs6&qYfA$CSmm=M2tF6Ir^sU|^K&Nlj=WQZyW9V+iBk}(z20EUZ0eQ~S z&0v%rI-d31A(YFALXDUr80A=0;A?uoDmSQWACETp4-@|UKl z!AugMQ@n69p;E-hwP1N{z7~l_+MTV5fZSbI)uzG@HUKq1#^>;f1$z6fNUMh3`}(wE z 4SDx9dSSgZ^6cu~y@NfQ2p^c5(>R)2n $L@?V}5rccLCHFqa(9m1JnP9IB zrnhlX4dA}Ib($7=;G^YYB8|WxYq5>>kyB$pL=kPiRuQEeN%Z#x8p> ~|3*@R!A|pSQbh&j$;1wf!8SIdN-2ulO&_CTO5SI?dmdWQ~ zumj9G*!S&c>I-h^okXwx*gf8D9^9^sB-ILSm6)@+b&fQ4;F;Q&yLE|w^&hHwewC&t zLgO8M-4sZ?`boOe*QNggFzf8^*@0rw=3hwgUqY$U wMCg9+ z*&9P~(yoG9Qp2QzFgg}w3;$S(r{Y0b!IkG!N-c6^LH*>MX-lp0{^S(MgUD=Z&*2QC ze`80J>alfUEW*7B>j-g_Z@70J_?c6FbrrfM0w&SRbmUon@`-kLzMj0cl_ta9X_HDzi#a<` zP{Do1`Mg@^Q*}s7mo_HUd8kffx6o$k>{#kZ%a#qaTk3M$Yl^Mr7OJRKz;TO<8a`KO zS@hy5Bk$8mCgI4oBM96nnQiVU1@RXmX{Ck6GpYx-9Ju&iac3hGO75oKne96aH~~w| zDP<*J*vtXO55ZQ<-1#?B4;Pz?A)UcoIN{lXUvlFK9GqbGY1&m!;(J$~OQB4};-N-Y zhV{l?*W#~ywGk1NT@H5#@x)HZ@1B@cMhpbx)im(UUxqt|ZVkMxEM6}{Nv-Xep?7DN zMP&W1dn~AWTebDh$7bN77VR^JT}Ut%esCAh9R6X(^~xF*OCbZ2n(jne&^s%9+darv zzJ()KW#nJDuhneVMRk;V$_C8uP`1BzsQ6Sa$h33S!=`F)DR@%PZ=7cKZu`I+fmRDy zBJ16PvFPyuF+~jhm+eithJ2|m0>BT_&bgwA3VeXqQ?gah9F&LrDC0i#J_hFHcT}Jj zXS=kgcb~7`yRaMN@KPc#m@n*OSTt6eA~jJH;w-)6{ne<54Y69yi9>0;)#PKHoQ6D~ zXw6nvCU0~6d^M+D8S1wW2IWF*4VG%dZ?YDt6ovv|uN9^t*a#w!B0Relq_iTpw0MR% zfsMwlhXlvaY2ev-XO{8q8GTEiQ$BlVvVyGL>|fcWN^{J#i>AJq*#8+v`PzvUlo0Xo zsb)JibZ2~a{?klHnwO!`Hp$&`-&19$o6S*!;xj4wH*ZQ#R>=f{nRS|0!U{NgF}zt0 zv*t? Kr@ue6j#7dJ!&ct2u%nHlCc6dG`{dBKy4=_zZRcpD8S><*SFoR@T?n z17d9EvB {UfiIh0Aqvdt z#x_gu%;b?)S1wqKSA+@cTlosuf8Np2%-1D+9kf^DH0b)~783Lg)VV^zGwB_IHgz7; zBs>Ootym@w=slC}AT<$tkg-(mqfi*PaeqN(K%LH~^S^3452&WrbzM_ML;*oTq$w(h zNEhh|Di)+ >}Jh+x9b9b_N%f zewW|qjKEn-;c(J$!H{P{cD$sXS8!Ar*;5QrMjUKrGpmIf|LFYY+iH>0B!=H}>+~+1 z>OI!Hnu#`^IfU6ca=5RIJH>Axy=czK?jdOEI_hxWZT%j!RF6*m2s5lrtqyrQAlxvb z>n1pTTra}Ds6KH47Gd VhSdvLXU5^mCGCC6bdsI0JdHn@Unht}XmPsoL(ojS!|z`Hrp4BfS&O6fpN zU|S4r4wta$%mjZJ0g9_Df4Dbsj5o9`L3xlYjeh`=%PGu{@X~Ou^PXNzi?MHKo42ER z!S?nu9J$r&!Hl;mDkVOte66joI3u9tb5us|+R{=ryrd`JBR*4QVe5HHmypM&ssO9a zi|_UbB-J-Fum~(h?T$BjF>*G}A%`;lnfj=+l=WOe59#Nj6igTx&j#gW_ z(?gAr9jNw886ACCy*(>ITM7k#e)v7ar}N^rwOlFLAnB#>g0i5%hmFk%f2A4!lZS6B zRk-a;M>CUcDepdgvU@me@4sjKN^PlHh&K0O?lIUowX^fSO-piJbCP_LEc}pE?`DV- z)m`K1^!c*sqsV(uy~$0EMW4`2?Ql_8J?9dMdl{c3leVeu=zB8mXYc$4QssUnzpAGl z-(5P*toEY{*VLrjtrm@Le3TS({XPVoJ8Jt)+kUH|2QO$LG{V^Hjh*aIruM88OKgF< z-4fJyT=%%nxCAsZMkzSZXW2|=IIrzjavm>-UJ*E;-t$0CP&4+|toE2+t0{2-zZJRr zYc(aUU(|aL(K~(tm{j;beemlX#qn#$z6>p7z1=@=|7n;3=G@d)D(Fh{?@>%3h6EcZ zn2*eE!L_KGO<&X8ExIEG=S`0ceT#E$g0QeCe?g|KZV<+ve(=mat(v+Q6}t%Ot3D*d z*C^kMZXAq~D2%iyFmBz*msC!}=5~~&3U|d97Dj9goIg!BRN~(0IcW&P?Cwl@3o`hd zlfLceQRVB4C#v@yoO8PEb|&ntCropn%)j;Z7p4icRlOJpZ8qaM^1M00!as>R96*~2 zNPhS3?5gnovTzn2KMb@m=iyaIG;6Z{B1MKUAWJyag^bwRF;s0Pk^G-T@VWG;QtkTI z0=8AB7X9JP5A3sLMN{>6(MOLa<@aQLpdwGhX%C^r#k*OuHh#LrGvWQc#u4Yrsy9?u z8 4T3qgh7Jl<%Z~9X~sMy}( zkJslWSKGjfSjR!R@87>qwx+3$N5P3lS-$l5eI-2li0}k2G&mz3`gd~gdb%>xbiB4a zf;O`o)kb)aK~u?IHMzW!pz;CcQ-=Z%Mzja`SqJ@U8|K?2@4#!eK#_SOWSL)#^DUP^ z?DbR>Zg({Z@RrvZqCrxDr9DToBUb|#Pj2x|&o$*sO7M)kc*Xh+XA>!ojS@!!cVl}S zwe24`txfOOCCYf!e6#k)Fflw)dd>2) yf`3xmbDhSk%vZ69EwzZ8ZIH zzm%63S#gTn->{zFSiI8fvr2}dp9Y^u6q=maH`7y02vGKZxu`bd@#xYLpNn9d5FM?Y zVns}`Dp4~Hz%1N?1vx$Avgf|=fDdVEeZ_y%rDu5qc>d)Nw!Tvz7l)@ypfe?;!ddoZ z{2cV_(ag*Cew7Myk&h4e-Rt_6{*pn3;%-WDcb}hg;d&t*2*A}$iA83YW9S$))zMcB z;b%doUQe1)Lj{Ufrk!1p?-3^XuUA) DrzjB*hkRm<6_Wx6Nmbv`Dj zMT@TUXcXUbG5?ZeKllk4vU%ciH6?Z%^D)32A$XW@c#^)*W0Yu(&Da$NVRX9rqF! zjl4Mr{>|tLW;=tbcL~$6M<9?la5E*t* rEfk^>}u2G-E7@1#74pX6`o#xyRp0F6nO}_1o7SgLhHxTCls7PNXNVw z7`D*~4gMXYG8E}IVt*?C6G^dm+6jxe57hvrsv=by>d`}KOSikD{2(1eqkr2;WL;xu zke})5Rvp4|ZKV8Q+kLztu{*hG{v<&yP43}oI;G*~iZ%|)z2~hKdnh%>=y>Qmwm5T| zid26`ApeJTE39VcI2av)qq~i#W2g9_dnMw $tx2Sk`Tpy7?<(~nwnZQ>Qr2P zi`(!chB9^Q0*O-6V4f#o#6>-3`Ibq0K#Xandd}tQ6xRv1HGo2|gU+?-r+?mKy&t)1 zn>) x9j3>^QvMm4^5)r5IwWR@8FxRyL=}~*IA|YwL*G@>CU^hg zTa1@#fnnN&o9P&)yP;OWus+rk@uBj;k!IWGh5*(Vg4aK D(Gwf`ATITiKR|tZl=)@6`Vm|jrT4$bp?)?_L{pd! zacygoi<0b!t^5i@c{9W`-ty6uGciqUD{mKISnsHG5uCh_X91|ff4z*V@`gc-yVpQS z9{` X=O}zAx8D>jJg90m*E}FY7{Uy1z%ffZ1v%7($*dIF0(bj6Z?>YYDw4Y15 z4s2C@%b<*^K{9?sy*9Xw6W-VAj_)uJfvFoMwoQ(Qi}O(?hl~qTInN<)eUNTyW-B4? z+zz=%Y>XjV7rEpQA3%+=57u$2UpwU^LMhRuk|2NV71^!Pb*I^yWYFNc76-;F$iZHF z=6?}F<=6bMM|UvY*A!CwALGh}E2U(t;TeI^=^o0JexD-ITQ@Y!blG;ySF=;wFNw_f zsqgk`^>+A=DP?A6HYY2DC&}B&!3jrUnB`-mvy?!l4lM_NZFuUFCZsUFKC<9_%yx2> zl@Hm)1I{8Xd4o0Zg*QW%5#)doybo}}ig^Ek9sWI{NSf5D8QzUtISQolk=9%?s7alW z(9rIK+4;j|=W8hLsJR}=3k<-I8%cZ~J}dz{*Z?+-^IW5ZNdAFxlo;8YaEdmEr-dKz z8*SS@?O;k7i#n@QIZSP>{l>u;U#~pDX=fb){NF8LHpI-#OasopYETzwG=SR1j2nwb z+pA9R?&Tq+N{_MRJo!@7y;>hL8x|j|N~zA}SM4i3@#VS1cs!b&-NkeG>eOOn9kbT5 zfr7izj-dE3`m^6LOSxEE3^=Y*(C86A-n=k%5ejvw5X!wpa`C?o?I8`GI9`K>tLt0S zd3F)C#*>Vk%U81NLcQrcQB (&nGy-D-WAxS zP_#Fh%oBe|b%_U~W3oS)yt&=wXQHQq;hq_1xOir)#JPmF#ik-hIEm11Mb|;86(BE{ z;Q;hAqF$%fBK^Qm(x93yZ{#{_&B=` _O)9e*&j9JHLj)sK5>y z+vhtGl{hxdU!#Mns|Schk7T71Zll%83xFXs*60M?);V-iMz*m&^-{-BNo`y6pYU;y z%SoE)+i?sU+=Q}EM|XOM1`c89hL?9xrg*G$^V2Qnz;K!q6S|GL*}YMC1LwTOBY%S3 zwjboPH+~$tXi$H0@2Rg#TwJMSf!UEI&nQF^j-p*E8Eb3}Y(IM)7(|@ObM{<~Ew8vO z;!5Ap9}+KgzyAwM;1>tdTm>>e=_df!mWo@pl#gtV!{Lv>z;zc#>PN;IhRBXaK+qj- z+Ie!@!Ge5qPrv3tigTiriK2z1gUhkP*>-^DFZ@L#thAxO_YObBWlR+zoKbC)fRf@G z7k&}8PbN-m&r%$12m8jg)P@VK3wQ1~1iMa&4=OmJ-l}HXmx2YpVmV=IvFq~szY|TJ zS%L`1Q#)CKcHZhbZqScawX2y_{}TcqYSv`L_A~S5*y;9N)=q#OcNg_^m_awP$`6H+ z_E99QODX6!W7>Gu@&y%-a~KV!Z$tT{ApXk?r*DU{7nPE)d;eICjaH@ayHEO-`@AYI zUwGzaKDIKapkEL1{aT1qad{SVQ*RS7 sI z)-l6wZShkL^b>YD+V-?lxtbPvZ7)TB*I7mB&K$`nCx2hni5wa4$7#{CbZTUh?XB0` zHCsH;arpMFIW~F;-l&O6=2 90E;w!cey^b zg;%3(* Gj?*#aRv zRAn ymxK1>IwEvN<>X{fv5668{M7_maBqu&9p)tDM9M1)tE`At0J&1IG0rHF9 zjvs)3{x;av?+S~`ko*}KPT+%s*$fVUrr_DR=3{#nfEqD2pd^uh0S1@7F$zWjf{OV^ zF-OmgPSfiJ_OgmB`@(dqfr`mkRg3kular`HY-*5YyZCT#$sk|Woy*aJG-K05$i*ux z-z_@hBL@zTj6U0|{#^u1ywiAohShrsdQK~bH*up`e|HYde80y~2vFJH*p|UtZ_aPM zEL(l^=>h$@?;1dx&)%#n9N_$#8!WS8@=|%f_p4XTI`1Uo79hV_Ep%%;Px<7RGW~!I zAIhL4&A>i9iRKTF&vb}3sIvY8 x;Ygf M}_^^%pfDXvciw}VIDnr#8ShRRbBI+G~YVoD< z_@tL)?p%AvczEmN!y3V2zmhaFKBBVzZWwh--O=0;bf+I6!)vB DBC zDASjB90r4pz8&XTN$R=)D*FrkOPrp2@~&O?DAwt9Le}mr0+Y;kZPFB9|30Ua`p^2^ zOt!JcDbF_t4LCrEdHl-TchBN(H9b-C$r4Iv;?}<^J7aDnn54 z11-($4WOl^Hs}^wu>S##hyDhQ{lB1b%ynF~wJ1Z_{O#lZj6hO9$epn4`G Jp58FNL|3qd{&wyZp_ zYF<_w9iRhkFImC1xYtG`VWYA8wB`ofHoVENx?B%(qjFH4xbr9`-L$@ufc%@hmOUZ= zdM0tO#?6ABp5)%zfrRua*KIT)11Jt~VXT-y!2DDvpwOLEqNd`n_V#ngsEAq0*r$Pp zQ%_8Z`}z2`MWl@zhnek|*HD}FfpI4aH3SFC%M_kvI! v#Tc2|%oysx8ibRNke3{9k3bH{V3L zdwn6GID~rp)p%pS->@JGlIc81*18Bw5h*d#@h%#$z&}Ul4b_dVN~<*WUKMcVs$o0^ z{aE7evgzAz?6pTP7G}cqd5!t*t!R%t$pKcfv}hdIXxe6Vxh^)s9fiy@)_d_<@k+Wx zvu#sYU2Gmr>w5pDSI`5W{U4kVsL4RN4MTy!wwyrmn=8mcc7$~^<4cL28v#hd=K7U= zU#n@jYs&sTY*_j@TK6IixOoj6)!8EUHlwgk6Q_6o6bVUvTeT{Q3MK fuD4!AMuFZ )d*WFk53A5w)qipZrd3 z^S@K>UP>Qr^%%uoDa$U4)tOpfs`fChD0yrugdQFz7~RwIYcVgX+QC;A1}DV7W6}`1 zBma|W`HRMzDvM)4y6su^V2gqzj3e?`Z*A)|ItnmkEUoc{iiQP0nGa;Q*cUn$UNwaw zk~KVLj3QkxLKy$|^|{I?gy7Sj|DTb!d=I>8n1N6RzmtTI(;G8g=?@L`of6pf(b-ZP zNoXN8tX_VXTNr%OwXQDFH*Fr`Bj}tHN8Dx{X$&Vp=ADfc+ _Gk}^E)cH_Xvqx_O`J3Ff!DL;#AhuBV|ZRZfOa6 zd;EA(UO}}``Wha1Ly2wR{egiBx2B^U94WvXj!=!VlNVUBfwS<3zbhNv!)0%mKHt)U zERA=Z+>|GihuzZeWUK^QTyb!YpQ8U{Ua~pi!fSbo?m9xu1iF`7th<$bQUEbWe<+P& zhAE`vyYVDQdt~Mhn<_pCP)QmW!Qy7S>X|?Hn2we>3oTWNfEoS#%1f>59>Js_J#I#q zC7X?Du!o?{c+>?>OJG1W61O~aDgrv?;>3xbse>j~VB9NHR$elk3HV?Zm0rBC@qmu* zc<{kz1U%9;+;%s?HMhlSXh7IS f|>$KI- z92NjN)Di!Vzk=DtB8)2CZc~T8@01pvTR*7Hsw%9`alZ{A)-`lKgWR!=a{J}P0+Qgx z!bZ=oOBu`G6VlRybr9vR(j%rGBS|;!=E*hY$)&$#!5gN#4?d_&@p>2Ds_ze+2bfX- z_bJ!0YT7cov&`ssuQPqq-8mDP@CO3Uq} ko z!aB;M;hDGG`UA?_Qp_`;D=eX6ql#&dtAyvJl00D &@OHGn~ML?c7~?QDL7;@v7X5fCiLPbZK0aWdTun7{MDf5f%*Sr?3r4n=_|sp}3f) zuh*)vONUTuIovn{b&+4J75L66Q4LZJI`iw$eXfyDVLN*Z-9Dgyf9jv0OZARz^D*($ z`bIw#wwq^KEB5;3kBQeec6Ed43`|vn%+G8|hPqOt6fw1XqALtw;@%Owa&-dn0wh}} z@emy_szxS-zG?w1)4pnQtFF4N)}2@uwZi5$a+8=B#_0lH{h@x9gL4m)RF0X>`6 r_fM|ih Tapf|c+1LDErEvlBKAemmXzx#orQCm~VN5`Pei&6W+4^Ff-C_&Da z*@KBv7~Ax*?^!=74BY(JIgbNPgJKPE<{j~EK)22gwQgMj1PRZs-QRRnI>c&}x1=-8 zvcUqQmlVYd%jzU8n65;*f5qRcifK{s(^D%P?C+px8;K!@t%To$)l}{G#v>(ELO}mw z=1no42kF|z*foQDt=dg(odM;;9Ro!d@}67&B~%SRv;cxGKeHTpPkGhJUKQs&?$urn zxETJ2YfpWrkg$A0LX*JE%87rd%%MB(CD#9-Px1d tFn^A3sx;-ySkYdgue1Y-u-=9)lxK5!qD&z;h|uKtG#% zTH1-aTlm5IJ$Xd0vS60L?k>rU9Bssr0kKA42-~vd19!f5U(GO5u+{%|{uVyM<_75JhjskpV|uTehh7eJZ|dqq?@G2I}GWi+crGIM0b6?Ht(lUa;1tO zuozS6FX@ugT^`k0iU6V<(k+YM(Qs(kivhPukn>clpuC!z1F*WMHE4eqg_`*BI${p* zC;C{g3j6&O3JBup;AJNljVLlm S(EKz)qLZGppPYPnz4R2-Vy4% zm!qQvQ zxjIx&UutB<>G`t}upUcH?2 z=8%43Sw&X=04}utyvRoA|9in?UKs}}CH`^W*yT3H2UU-k8^}^MGIW4sRaCZZXq&R4 zAfZI;VLYlrs)WHw(7DS}77KTw_)^C_nyXy>O-JYM>}WR2{L*iB<7y*5H~kN7Z@btx zy{yB*((~p(Mu{BNWEd;c!rUBYa3Sl!7bM>@vxVz Y&C`Q0GYk!sgxELn4yHduceXFvTIFqN! zIsYP@l1VJ|&ISHX8AbtjGdp@w*AzTReXUL6`Mp@`r2;BzXT*#XC(s0|jRvc=!SziS zZ-2dZM27>lV$oQ!K({0fxNPHu{e@bC5qYa*`&YO Ky}(`?xTC8Ez-qIB8f3ld6?QEGnl`TDi2e^3_s&r;3r(I(IM zh;ID=1}A6Yf=xd8o#ofFxLv&g-xtQmNA#xUS61> igk2NyY z{#bd!^5U-Ti?EG9vOlMR&)8v}Jjv^Pf%7dgC={TCyd0#Hw{eeY2ZBYu>~G{Ub=8eA zVB9D6j|yxBRA9>@9#0$8*(;?GBgVk3O^D|w^9GzbK=U6dXVO>|^MIbp^*Jn~Eqo#G zK*xRMlBZ_2$EcB6%00~-GwgE5XwegJF_9vFt$h@(7_1vyhNz-w4{IpPwN%=sFDHqb z-ca6ttkooLnN1>|ab&fnE)K5VkNFNG{&J{Jc>jYuQSet)`0DVu=m|OJu!cCNXU}~n zUBjXge_e+)pIujU(cA5;Izr?XNL`|3nC<)u<7Ah)g>b6HSNmyBq^Iz3Gp_z~_03BC z8K>pSMdIjDL$8Y_J`wdC(@h=|(NnA*zpVOyZ$Rawmuvy#+w0df9+lC(FllFj?0nUD z5X^Z#$@w{2w3}OUX99~Cs vVRLU-U4s`WdZ>NA&rPb*({?&I ij?aSW_^59<-WWrw;WLAjvn8(|PY=HRBj+REHuLJ$O zPSWNts|iAE9E+;g2Ia5&`xklhW+C!~@`5i*y6Ts60FTW$NO672DlFLDx;=H=>Iw9e zm#*AF)h M$ourbopLb^Ay~(L?-|l(V8KIghBZ}s zxt5>6JyuHW<`fZ8Zg)Dcr2e L|tTYVpL+Kf7I6qfsJ?Hx5;Og~dV&ydj5R|jle1Gj&xpqk4#t^7c z#PM_1?8%y&z^$8PNT9aY#geQp?VC{Vz715|5M(^mT?352IeZ*0ORItLS(N5wsiaQt zDvj)_{dD1B#gp~GNQ?=UT5+j!0opa#4h=h&&6>UsC$2*b7k=dlQ3w{+zN`NB;UGH^ zky%#U&ig?k5N-%sLW>t(z2IhayRsi}5_+K4yCBc6{f7>{31O7$RnGD*;a4+7KH~K^ zOkO!Vl1Y5+NY(fp%w;b|RY*B?hD%X^^YHD9CRJYNqk;mo`EHlNwaMSeXI2C2_xx>5 z@=Kq=-BnSO;3St62l7o?ePFq(*(|-t_J^<+7g-ZcdxLmCv1fgmF=rX_*^zN#4E#Rj zGs8hUccZ42$n&<>WU;+^BaK=_kuGcnLK*T`X^T_Qb@`QmZXfb(P;aaI1UU@FzP_M3 zSsO1KwQZ3Z0l(d{8HG5E6Pkq!y_#Cq=`RO#M@H1)=Z bkX?8Hp*_E<0>-;X?a|xi3N$KSW06lMVp_I?u_1DHW#+oG&C6OE~Hh z_Vv#=3iF4vO_z{z5T3$L*^%&o5T%&tmbmpqks9i6i?LWdf8vzHh>FY!_PIBrA}+$o z{wRiT=giu|>5vc4-sniV_c4K14f0;53lZ~0HLR)~I!F~*I`#|&y1Es; o5(YO zi3zf&tc&;C0+HR1<~eNI2LX<~3mltndpwp+C2D2xV_mC#fLA^{1Lg!40|ugbKwt82 mrS1M4p#GNQ`|)#Ue>$WY79$aH1^8S?I<1>}nwaaBPyYjSV8=!P literal 0 HcmV?d00001 diff --git a/doc/img/Contexts-View.png b/doc/img/Contexts-View.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2252dec4359b303361317c8ca7a7db4cb2e1fb GIT binary patch literal 12869 zcmbVzWmH^Emo5&$ApwGu5ZpaT0}1W~cMb0D?!gk=HCW^B?(Xi=ICSF<)9*KH?tHW6 z-aq$8?{#`tpLMEERqcA7y`PRyl$XFjB|?RPfx(cH6jg$Ofpvpkm!Tj*t-t(fA=D9K zAtItEB_cv$?`UUgVQm5fL;J_)4?wb4n517{yZ*B(GXDphVZ}_w4|om<^!VN1Eg0&K z4IGaMI4vZVbVv{v1B1vTRgnqIbV+p(zd_*p=KH0l#iXD0mCSK=yB&l!*1gu+;oG87 zm7^+XbBYVIehmg&+p0o3^N{mD3Zwk^L#Xw+Jtg4ez9lTI(hVmIN7e;yn$bnehcHmeVJ1fN2LB-2mJd{a@u#S zU?elKoF6^U{X4yZ`6;tLVFUoZcWlI9!-$CmTdUn4jG^Ts??roC`iZNjAhv&ms! z(C{*k#QG%V* )&m&wbN2A<<$kk#P*yK)vco jhjqFCsae$BSYKUU?KIPRd4cK4cO2Y}3bKOE%R75XO(z%_X3Bp)u *w7ooG5hO>yBjg5(|GmMC%iJ`N}PYO2+XLAY(DLF;; z089cH7z!9E(Qhj5D`%M=-m;5NgPR;uWy^Cjrk_N`h>2uAzca$JRG5p?(gu1n)&Di0 zwk&N~(jJYa2ddVo oFwwzjWr)+ zcugD#9`H`K=TD#9cp`km4yHjZcMhOH2@G$A8j2les0nXE3#35#d=54L>Hhz1Q}pb6 z!DPLhy_qXH`1ay?qj`1I i2uI z2qz0}EHeN1ic5O_A`M-(L|tkB-#0Y4kv#@XO1)e73OWm?(8fZuE!=%;l!HZ8a(F&l zSn`U;Or)DkkCIhw$9{xuwm;AM)Iv7zwv)?+96lX$(nY+{4gxjQb8KxS`08zBCjHfE z&2}kBZ@+|l6{N}C-|c`$4qiU7wPiXGmV2BDbY7j1532OoVsKh*;`j?ueum9-WPC3f z9=l7`tQQCw8iv8QMmJf$zW7;Kw3kN1c7q==nE%yY02RCfa=0a>CcR6c!*7($$Fxz& zX8C&(jwO^~_L|-`4WA3-#6o7sa=JpwNi{Q8ogahYe=1tVZHmv`oytB)?J(dS*FTrJ zj=^L13<- u}OB!w98-GbZ)gR#9^{P;G`PQ;OlP=A!nGzo8wdzvy}eFS3cp$qU~K*-dHp zmeyjmk*vUMOX!zDDU$4=35EDW#yS ~Fp6j-5;lUXy3t3u79kMYGCp(RE7!BI;nI z84HEDCU|FC@OXuFMQUkR>Xc#{U!yW85}EmQe3c5m%6U-CH2O5py8`L?^5i=`h!$-N z+(+zP?M;g8i}9Il8#gEamkZ*G7q>yr-?tylg<)}Sa^@sptm9C&vKgX#lU|x7E{O7F z9~>z_f7jJ =wGU&@H?PBihF0JnW|;BaP~xcxDP<8n$iJ zoczF$q~l3J2?BkV4R0$16UNe6ml?;;K?es~G2o#G|LvtWMA!UX$fQQgE*S2K>D}S! z8|GWatESYIQ~5~SmO)P3F^RhE#`YD 0{24s*N1%@-u}EUm_(dpCo;lRJny)I z_?iJ_A2g Qso6Ds{Whe0OnFf27 zWqDW)wY$)XItyrKc~+Q@3#h?StSzIL{uQyjnTdzpnNj 8NTkTTcqva=RB<8)l4a%8zz1bD;;S2S1Ir`teIqkAlhj3F; zr0S!{;a@3U9!rL%+hqxVP;~@cR{r`n*3M&5?DRc&^*(L@zg!Y|R?ueqw2{&oYqoar zZ4OPb8H_lFUZ3^^kP5}6U{}sPsI|n@R$r7oP=^!0W%xXgUKsn$0yVL?E7RnpcTBpl z>z$dm`HThix}Spdf7tFVm!LWmO%Y7dTCfSrniorLgdcuU+O2uqBr{(qZ#`~ZuDqK| zZ2dS>%Rh)|OZDOkoUu#C%KB?OiSt~28T7feQgGEd$~3wyg^TjHF|u1p&l9e)UG>XW zwln!N_h=z{0qdmJX@vA&)$|SO7uU~^s4s()`;8{xl4EyDk-@I-Q4#6t`DCMCi=WzR zkFRVD6t|3SZFKyZDZ#IY%fpG64biF=Pj{IeW_rbyC$A*kcmOXhaVxz@hBuQPV%EfA z%14LOEjyr9yd!_6v01)m>rbZT{PSNU_2{I4&F73yfL8m{Ej8N$J@x1ttmNnLN;7R{ zvQ-@e%^$;V=8HBTY73*bW|oBloMD)$3NJ5!<+7OWAsma$yQ@AQB89SkOJrpovg67m zH4*D_EHC5X_O25jfAiRyqMIrL{FV_%mep$rN+gdOb3+y)O=)vSLtdOf>>AdIR36<2 z3j8TjC?>Ov_ PZO zUG#i5BaV3Yk}GM`?#V 4gU>Ae^*Z09#p-pApQ#9?g9%7gn|)p%!W z0Fla7_WJZ3aj9e`Zq@}o>k`kV-Dj!!;%(@D(iwAsb@5WE2oqSB|7WqugNZ&l(R*Qu z7OU=jDxlSzkjsWDIR+6>*PuH(wN1_%9S$hHI(w68oF!zp2OhV829}QWoz8kT1Y+Ml z{1J{_&~5e<1PgTIybDIgQ~07&EttE~+|FZA;N9`Nf|B}LF)0y_WTO>pm)X^pIkl&X zk}o2Ae?pNtoDkw#xi6ZzCh>ERPTaeOq_|kNIM%dc_dHrT0oGfKQ#sLv{WBTht*4!9 z;ME6Nj>Wbmru0uy!X(XSc{&~htFCg3TDTJuwC4uLX!`NZ@tAlCUn)NOxOf_c%ibh? zixnSMqG&`IZ8Ho?sJEb#tjX+sz80LggcvR0PIYv%Cz n2f7>l-a^K{S_h{E-wQ#)H(m92GH)F$ z@D0){CR;rLK@SxP>3kYLYCXJS^jiBb#)(xt2Jg&e_o}h;@;~$XK7SnbL+|OY<;dwL z439zm%tw#g*%bnOfPBU#t&ct|mi(Uo883OPh{5$eIZj6Xaotpn?Z(% m64+yT^!46JV*`-u*_Lwj#N!6NxQr}v2Z6o z1WlP`4fZRIHlkwbL@+9hR^st3Tq#0k?1>rL0B#wkFMJVB{6VS~ ~SeAZe;{^I;eiNrLvTtq?A^HHnWj=r(aZu<6)Eio36JTs-n>bRfX zOq&^WOBKiKLp UqP{o^Yl$&**p+N3yU|{w~~(4TpOnmO*OXrHHM^o-QJcl zeGX)MddJq+iK&a#U-Q5^-gwXLd6$m{15S9O)dt-fBdez4XJ?(+(4Ew#TUgoXoaeSB zTeqLIl*F~$ek2m01r)gL8e jZsT;gW#j%c~{HaX2_MF!oLr!Sx~lDgbPgr$Up0xE>|P z`qr;v<@M0Z22Em(Z3#?xz6$s^QBnFMCT-qyM(wL(a}G4LdThp}i5UeNd%(GOgl5u# zbD|0|A10CHt(-8^RAVF7R*D%fOJjvth_#^lE|S-R$J}-m>B?MTS%FLzsNFobzud|# zUhwSFk$5U$@-iM?iXabdeWR m7fBVig IY_1bIlYWg~zQlqLYVUDg2ROS_) zQqGj)2A@>nE!{blX6)b(UimN%m;DYCjKrL+HOTqhCK=Voveo^qL^Ge%seH%Ncvw_; z7GMOP?n`EDVQbZ1q~p2QkET1gyttVqk{x!d<@bt7a_wA5%8E7W3#B^DO4SsbMIDu9 zb!0|;eN^J9o{+qTx_f`QCn7(?dj=F*XMq6vMeJHvX0kJ-s-^za=?oBV`#bUNCq-my ze#d|q9|^^xEMzh{fy1?pWVYP_$V=SAntX@KVNIDobmf-J(8DI42vkas4o$(PV%f;b zYBbFL6#OuVwsEXd{c|_2ghYT$yz>XS!H ^H9xNNYck31V9 z?@SLC-mpuMwH>X`<6bIic8f8&1NsvUKjreZDE^TP&d`f1m&D36hzMfI!j9b$%tVFmkH^_hEC)Jx{5&j73 z8m>kgE4H?mLj08(oR@-b;bOSO*vFNpjyxHqSzE|o< s*0|W04 zG_v=LMef(DGKa+DT=bcJ!S$On5Sy!-QW~!p+#q8ySfhAFzNcZ2D@L0hc};G$Ql(dO zp}Y1dO|x3Aex(%DZ%HEZ==%xo_&s!-3J!Yh#0A)+FPOdB260!YR=L?#dcQL04u$|) zWxrFjy1Mj^^&E8^=Z?;mmho^1Tm5JnAEeTjPZecRt*#J$GQ~JrZ6yGA@@#x*Yiug9 ztN_KjAjU@63HnxQBpvrlfoe?4v{*5bv2MnXgtpEB7mV--Z7U-6X>T{litIO1z(jAC zoF7H
5eb-u%uo$g*oQga|vrNzjGxfau?sysV0OAv=HxBbq$_w zg;aV3+q1EPgzlAa^85m*gv0@HQW`02Y(}mmygY}F#v2gVF=8@JMwfJMFTk$X;$KHO zut4Pn+Ie(1+NSVrarWswx0_KzdHSWn*7T57Mk{^+YQX7qE+$?nH#^g&&S =R)#`U-ww=b7I9^A_bORn?BES0~_hf3N2@r(c)iACjw5jn=Yye88Mc&`R)AA@A{ zJ6q)W_W5bLbnchJ`+HOosvO^j-$SAXcl-K@=|AGBF#_1B9WD$HcBKT2tIkK^v&PBC z5*3?`cn7X6dk-g**TX>8kFQZ_^4uROy`x^pJS0gyUHP_=)G2$f81KZASAd2Nu;EKB z^L?2Y>p;1^TWn={y`v3DkP}91xZzuee!^rHmrcp>v8n-Y*v`!TQx~} v;w#79DOjrT^owzp*&r7cJ%0qkl?z ?M2ucpN7 Gggb}^T69pnm$Oa}a9S+N`mFc}c&N9-9f zEP{;Vc3WH{+WDYQJvgan^j!2dcs`$ P|wE3d#aJz(&Zk@<<{jYq6 z)ShcicT1&BZvRGa?bOXHvHMG6Bg*nCCEa2rExxhN2$SnRwgNvgL(O1^mS$o*k4cTj z?Tz^PT9j(Re1%D5YQGZ{jmR`Qg4#YkpH?!^wQ-p8dHQTjBaOG08k_#m=3)y~(CyCV zSIZx561ntCl}&36c)yBI09?Oe9NpSrurdNi+=umXXyT{8F)*DkuRb^te*`$d9>iE9 zI_orhgz*gebqf_W0(IEo^-q+FFYEjVblUCLKRzS7*}ev0F1fvuZ;(DF9ba7T?0*~R z%m4Cz$?=}C5*>A~fLd@Q)OePf%$v>RL+X)bw%ZeaeX)k>3ozo l#5sFI`mWTF+s0Z$E8VzUaw$_#@$RxnS7$0Y}c& zRtfG?{@zd@c&G7Ax~g=kv WTpQ90XKXjadF5!{ zk%cfbuwUSlJ}JOagFM$J$1%Zzy=baQ7*kbZ9KMl5o^Xyw;3ADjuLZmJ8XD%{`mOEY zFZd?1ZG2OA0sCY5JsaOgA#MZdYvDvInnvJ_?}WY84w_g&g!(+cGo1~tx;vM=S-)&v zslq(Nd6ty
lg@IOqBGg@w@{OV2J0{M+K^-8XGGun#8@2U;r}%l^}Q&mXzcy8>cHr~YaxPBz(g zyyO@bBI&T;{pChH{|)#SppNjvbV2j`M9Z|6D#wB6eF;)z2J5q{jW%0lXwFiNQN&8G zVCn_nYwl%z)_!Td` *$4C#vSFVpa>NQUip7d>( z9Z>P;YE&+IN*ipz*TVN<{g|v4q F?H&aj{c~Z@ov`&=UjNaT&}7chA|(C7>=Os>U}~?AAv4j%NpTRu;UqqJc3yxJXY_ zwx4W-W|}nB8Ar4a_znDCKvte@f?22wNCa|-XiVkAfXQ3%0o&nAzd0uewatUsuTu!E zb5k}`oQbWLRl|@Q#B?}a_Q}idEy)#rgUSAqb`jP5M%pd@It##$w=%CdSxDmde9HyU z%MO=IJRWhe-FhZLE5a~)NIFZX_2`gX?CY7*E0#pWQRUw>E$d><)0-%!KB3E`8$~v}x4G80WB@ zxm>Dxrd!L8qVu%GkYY%r&ss2456TR33mn$dWJ#A}f48riuiMo`L=k2KGui#{xQ@BM zREAZ+Xf2j}ABwq=efde}Ld?a*tF9~ICEmF|`6#EaJlrf-g6kHo$0CHtBH-;S;2Pov z*J8YO?^-=|>9piIqOotw<&xU8wwKu1+@7RC3s{5Y>tu`U6zTXegCAw7a96D_d5}Oo zs*4?U=r5P<_8X8_B9gw6Q0@F@!s8c;LR0tVC(ZQSL>Rlx+Zndc=ie=;K7%kNcud=W zHNrtg{9%51O@60c=D7zioPT*zxOKUz$ZfL~#f(h7~%E-i9<(`pYtJw)NJ%a~hWI z%poD4tKgR3c%Av7z$(?%rqH<~zJti_Z|9ozb8)1ZzVv0h3&*2lN7LPYtN<<8D0}IM zZzB_e7^QFEI5zx!bm*?=vWXidL}D=3kU*o(@>|8=00yL|;~US>m+G|;ngAjYlSZQh zbCT<&@u32PY1d!9tZTnJ8B}5$s&Ei |cU` ;ZBW{)!Z?iRH!G`9SAjiVp#UJ4rZ(1i!xb z+;C3lwNR6OLJ`~g(`tgNY)jvhmGzE|P*u|lh)z>^DA_@YHHvDWE#E6MX>p|f#w@?T zSjEbL;%$ BcTn`UmZ^zdRPQ5qs)=WEKyR zD#)YOYGet=fgrf&VrZS6jt5NpRtZoIUCv}Q|DhbLJH$=PHI-LLSj(?jb*qx9GZ;gG zLM6LaE770PmY3fg-$p7wl({c&3jH?fa*7hD*wY8#A9lMosz!Uzg4AG9q7*2uL0=#O zjvLf`>(l)&16>l(Ql994w{6qCzx$d~`^N8li g(V9&mRa;aAp8f>|>s!64+3`uPBBtrk`riT5Y47u<;o}yOHI~-oZO+Y7!$)yT z?>V33W;TI )0|30(CnI`*Y_m=@JotKbSZ1u;R-JlG$jkCkn1t^Afz M^RzLbm45NK^Ni@*B9;%j_Va&~7N_uM3@mDiopZ0Jq51mV{vBm-n&4R4}u4xyjt zI}yTis(MyArf4j$d?ad?AurZ*yfAqanFIj@!4lyf7QnLncD(5&Tzrz? >S?q_ z)~ZJn)yDw{g3*GH sl3EzUpO *bS-_8%6+8T## zf@`9y)DkYV!+aJ)8?gRg;+1}Lf8qk^HSNZ092^1!oV%V~6TAM~oPsF5rjUu(-BiIQ zDm`Dyqb);;Dkqtp7_$E9-mK1@*{bN6uI}FKC3i_ArQO}?hQ{96UgpV5KP-hD931zD zaWz}o2AlMcfu-Yo{Vyi1-%kl*TSh9q}45dC!N%-?2q#Pj`d`Ya@N-Dx-v5HB)Ex zaGVod2`$O^x51|eYY%ADM=n{FOnEHOLbFG$xhzkQp2c`rK6TBS0~#jTy7^pB 9rBkuEiqq82`laweGnRx*VqNV&M3O3X vr!FBuy%YnfJqk{ED!SA!PP@9)9L^^pbkKbsv-W#;RvYifQT^*l7qdFbKXnndCo zn3&Mj%0qYEd~kme4*qld 5YNvztd z-P^3wUq78(jZyU;@`EwBXqN~bA8#JZ&yj(J1n#wxh=oYZhNd~{CBHx{@{EP+JF)7} zvX(ZFW0EEVO2}4(XQM2Am4^?uAk&)k->RVQJAEq%>pqgN looq5crC~rDpY20 z7yA%D^BcNpvD;6)LhH&Sk~fQ}S}Fp3&lOP`$9mY-e+HulLYyO?^4Qje`xLPeV1KK> zqW%wELXUBt==~bG181Qk@OSkmlmhuRo6+y$g_szgVq0Q|h%nLOLGoA)CfA29d{gFA z=A1KZfr?7~>pg2xtw)48i^^}BOKum;<3OvaBj>{#PiRENxeH2mo+~Y+R4x)Joj0&G zjnS(l_(KpJM|;kVH|oGdhmonLut{LY=8+y6yJBHsgmvg*)Q)yIZGZ1bJ?nP#aZOP| z{84voY^=mu_n+X5YDED!Uc}Oo>F6Ftd-v1yr{hy6x~;{CVb&!NPvzk7Jhp7{Z5gSF z4e%m+A_K|g)T5yWL#td3K@VFx4Wzf+0yl5Xfc>O^n}kpJMT|5jH<`etwJ!c0Lot(k zdseO4BrZO__=|Yfk_w}YsVOzlMJL+#VO+O-g%^*ok>|TjKb>}OG8PsVJ@;+IX57G| z8m0Un1L8V5B&l4atQ;K51AkE3DE7uFW1V>9WzAZpb=u>E*IQgb^e7KXjkdZ*#>T^A zV+nF@-)KvAY(KbX$`@&v1uFhV#G=Jf4W#%mMtRpv%*3+$B|1XtcPYi%;u5qrAFTP` zs*!&all(75$^WGdD~vPeAjO080;2dD>gf)1QP9vE+gCKx*BhIID583HO>Sde^l2U9 z{z8lvXuh-k?RlDluq2Q|fN+NltIp~YDH*Gr>9*zok+d)(3|S&@A8?sIPm}E(O 29Le5dTBl3#Ldm# zpt}3s5&FD{LB(f)z*k~|P_y{lWgXgMFzDd>asvyx#1 y%Z(fel8HDBDBq9p-SpkOfL@)bUB#(Zsz#QG=$-%={{oIhdgjOip>xs7&M`>I zOA0xOL| zS>C&^o_FvD!*jl6C|G6(Y#7NR zizSyW7%9?>_SCXxJ@54RLUgycRqQNj^YI->-ffx`)9lgpSO{C2@A=#W<+}l15odOc zP5Pi=;%Ae|^ZFUD<6ijZEOE9;+xD=t)se@X-mZ5onCAZC#tQzOG*kX4IS~?f-^DV2 zPNt{NgHbe=c?}Q+lv|U!ZDuN{45IThLG2{}(mZ+KI& bod)Coj}F-DF>JJHFSyOHUsC!o#q6zu4#Zy}DeKq+K`i84%R(*D`cY0tL9XV=|5) zao-wD(+aNYtZ3pm@spSMsd{Xpfzpi_jpa_5k4Ak8dsQ7)0DVG+GLQWSt-eqqZk2V@ z3Q#^}`t+7K0*(33wC?a5u#xgTz7LuPL1dGVax4BK7U3F$+U;$~qn?g8y?v(VMvQ+! zl*Tt~=|<4Gxmg5tSb8r83hEmngO>u;_~<&BIgD`ENzk;pwIdT))lTAha2(k{G~4y3 zTkaA(e{7ke8WL6{GgF)6&F;ZqM-_)~+0H8t!Z%uUq8G~Ndc$@-1#xjCH}D4N_H5O9 zwIO<;oL@jO^(qjv)^=ZV%^z=DC?4S3_7?~18uIZMF%7EfBBueA& |k+gJ#IWNw>PC9>V9rs&%M29iFYRsudEaL;w2O)3b9R< z*xT uniJB{@Haz`5)`B6|D$pHH=*1Ay6J!D-}KP? zV0Aq^M9kh`=Jj>%lZ+TTYu|o8J|X|cb-S)^nAM1#yARWjt-9yrdx|yK?HTspUc^%l zczvHVwJfxy*FrSA8w!rrYbwyF4Et9P?!M7OKp9|r>Qr^{SVYb-3_fWnkd`74aeR^Y z9o!_H#jxL*P2GflH`5Iz1GE>NeJbxXYRo@#W1jbGRlrvP4zC6`IwVwMH+$bpwtVc- z4${h-UMhWTbX`>o2Ct->y&br&!J6|FWAS%p%4sNK>%CH%aK8)GIPc%p`*=nUMcf}U zUnEkRFrv<5CSGB$@36LFA%GD#itaw9c)wK5sOEzh)}-{=M0UPGhx}0*ypP!C_IAM` zcDc}j@5_JuMq)wVC=12ynO?7xim^?#%?tTC4WNN6k!=+?z3WS*8Mv4A2SIZHcT85Z zZ&A*!pdPb7)6<<8j0Jl-l) *9d3b 0wU@6n=V5d4|enzIB;U>!NoPE;U$?L6P9@T7!^Om%gDPaCbFmzciK{Q#sREQk$j$ zxtzv+L#c~?($hOj0U*0tI9w}dAw1KcVg&YM$WdaViSwVkcTbfIR1Boe6uff}LhB;5 zhd?OiY1s*k!`r=6Kc2z@qOF#VY`}2BE?zQS4Z o$ zZyNUvUDf)8e^4vGMRNnjY=edMx9l&JTF^NB>HIE8*~LpZeq7g}|Fx?4d$S2DWeXb5 zxU!8joDQafVhjsv8rD*3llZSno0JA7azh@ir4O|?wmLXpmD|qApz#XMf#-28T9$kc zw+(6Ej?inVT6$Ns?iCDIe%LbuMXZTmapa;#9PQLcle#==RR?RcYjv5l;SMIC5V3kO zzsjZ-iGCg^KO+|O)VI>%?)yT|Er=nRtHz|=rDPgUkwB3(^wkY{>qShNt;rC5;rhCt zoGu&OICk?b`zp$5)H_xkIDeVjX!E#ZaooW4IJK2D9JU|_NO%d@>1iUmwAdEc^FoH6 z^kkf#?Rsy;@`Z~h!$U(`=j*L&9X{zcs|{@KkgYJ^4V5jw_esB<*+i@BvOlm%BZ?z2 zZ*Lwxui_)4Uu8#eur;?No;NBm=%NqLW2ml`>9waZ>$WI%czcW_&;>O&^Abgin^sZm zb-zDynq+q8eRsH6pn~RgOROsYxIfE{Y%nzEP?o`)m5uN7t&%PKkAAS+H(4l${u}ve zEN$g27Y&MS#fp~J*nP>%x|jP^AFR%Iq(=%~V7zPJ*vEBsq+*uumWV9Te>g)9Z~Jsb zjok~4VQo%8hJ#Rs4JB?5@bCD$pqO`wtgb`!_FzM%MD}bIOHy?p%YkwKZ_aKYMG}A2 zal2q0(R~2B1>ckF&!?D5_wm87#k|jWjbpt7L>e4!Um$w`TssVJA@H#EYVQ_T_Hi3N zUJ0&~YumUL`Sb4+hi}-U?J& lzA_p7_t_;+6}ZSs%M53$Q$2sJgaz z&YuSuk9=|^o4hazeBs@6bk@U{JH@49VKa0eX_>n_?|e)7_77%|o5t$Ew^!4@lON2_ zq%w4MBA~x=5kNegzk`?8Td7PqIM@M3t*%YfKemefLX*VKLUqW#S@#8!z2VSgs{yY+ z apUjdky@3U2;K+T*P9XjFSm%aP~1Agd`a-P$HYGtOc(|eAwHj&!1KIG_cmN}8e{@N=o zk7&-4!Oo&}@bejn{Uzq)IgpMZ@q(nH4qEo6NTR3V#$i38{Ab9VCs#r+mN2SMF1wSz zNuNFFLg)wYrY*M=sW$IFtp^;OpOCnA9h2(Q?Ygf0KF{Dc4#-k@ZA*}z-~BYwZ0)aL zs?Y>>de_stmupkJKNx8{X|zQ2AvmweL{GeQ8VX6m9kLg~B9oO$7N= {t!2wY4dZ4+L{}(B{qFm5a3~i;MlLFlTX3FN%IDU%5$;^-`7(ro zOd7CquVS`-L4W#UyCEW!Op(CnP+2k!vFaldpX8Nkb_DTysd1}?Jo9?pGP=gZL}fYQ zt2YibHMMN(H yO*6~=iEaa&pIC(4iL;N#G{SJ1ls{zntMYd+ zUpFIcJ6uX`GQsD}9t{l*Q2+p$fB$}QJztARhBBFx1w8d=1EcC}fLBsg73)g9l|+Gb zVpUaD*V-CMdBe}Ps|kpr3Pq(4BwvSh8wzmS^(t}i_x65HWC3KXt;=*Ux)CHKB#sx# zBg@OnrI%y^KVieyIUMz#C$2kTlzs> 64>{wVgQt@FvDLMnt|#{8f+9hZ<@v3?V}N0o61XLL%oM zOfNblt(mKLjX&)W^H|HP>%T&q3k;$R*TNvSG$7YUlQ>4{p6LNj$h^BZQn$ii>u?rZ zhIlWvpfpE5(TFI0lbN5J{;eyBshE$KbYUo;I=ulE$(k5Nr=QHGvGeQ z?!iqE{2A{W@;RBGg_&u?y9#$GwT_=T{-rG>u8rfnj?Scho W_d>j71 zK4dzM?3C0*Phn6=8L&bD7@_T-V=CtimLcE;aGRyx!vml*`%~XqM360fT(F$vbzJ}e zHX6ha>GN+fcX%a+D^N)WV+#YBkeenp JDKxf #@(IS@SM*`{qRqd z^$Q0f!*>Xr!U6jo?tztyv8{FG|6N|K2})nCaek8j-_Q()gI$qY!*qx z6HOTju3NV798Ao~dmv2KZt@~}Ia{Q# =l@>TNUWoHi;Vz z#X1voLMlH3nNaIO;vbG5cAseV^(d%!Nvg>dul-uAg)4A36Yl`I)Ni~Z8yt$pUABL7 z%Q`SPV0M`}bPX2k8$Y~X&QbPURvCAc-s4Vrjya9VTm;hZg15tK$%}Sb5+#=7xVBN3 z=d{u8P2wZtVLT-vM2{O%8&3;lx**EN5%4^}?^5;C=h-Q@$}cFY8*e-7X;%q(Cv=B( z8@ZjJn$iRE{+THIG-Mb@AJTvZad@S7vdh0u+066DuwM~uPwu^Rh8zwPvf0`T7R0#t z$xpZlw`YN7$F|N&?wuhMFJYRmx`9LEow72_K!{1F1h;)`2mHR$6lblsP35EO?CS;9 z1%ZZjsB9@T3v=bL)zaAmnj@7NHFe2vr0lL7BKQw!wK%*$6M`_u`=8~NOzmq|umCol z2coY}Q`|M}h(-lV7%kH_GqDjv&XoQ<`duQ%dA-Y1g=J6S;`^jF*RA`2$4uHfR<|aX zr%*yY<>+8RVL@l=Ble|EvBTEHngXNADo=9RC=f B7f^JRkCx0%h(OOx1#P>11U`eFOGm*x2q6 zjOf>%lWX3Pgo!$%_a9ZmCTCq7-&K+ShEPT;C3iQ+dq%wC4eY_ri%Dw;VVb~q6{sS; z!fkSi2CK#%fZRs$mON%c#9>4|yX|sol(`OP;ZkQlc&X4^y;}QZGA8f!TV;K(JMLd| zi~^pi8BSQ`g#P?1L1>Pjq-&rD&R{Vhq&tJXKG@jFH{WiMJLv14FrdFpYAcXJ>V3w& zq1Ek5c*<#B48iqrxMsS~N5TSyRw_PkvI@=#{fXbKe6S1U!WoBVm%Gwd%)lh?`(eQS z$%Mx>w8|sIun#G2t4(6^3;L3iAD*#PjG$j^V?lrQpVX&{%1KXC0sF6%PP?we)|<+< z;N~O$E@!96lb7m>j8e7>+&lAnj<3})-PgUmSX=&zYG-Jp`Fe?&<%Wy#e4+F?c?ZxL zX9x12&$d4oJ*XAU*x1U*Od?SJVf$jDJ(N;J#_&N|_ lUMTkIX_(~n+L>) zuB6dG>(82WEbRkt{O9A44FOM|vyMI!^Aa1)+`SBk92Sc3^TpJohKq0M#YzT%^_aLg zjP);)3qfTn*$RDZ&1ao!IVA=_37zz6Rxk;lId7OjnQ141lqADE8jRBfDU5ZI<1_%Q z%drPC=?crUU+BfCYF*DNI$Bw1x+C^<1jZMqC(-F$1}sNm7-sYm8H|~A6kiRDE+Mzq z?h7v`)%*-^GU)p9TjO2JgCp@GY?gHopOl DT9S_lKkQ# zrPLjx2zN>nw#Ic==IYYa(I1r4rC&rlx~{FJm?&Nb{lkooA-=VB=35mjP4Q1X&pn@i zNE>Pfs#LH;u5)v9CQkN;JhwvB;A0U$4y8BxUAl%BBzrPZB~=k#42Kvk4!zXofTjJn zCgzYPJ_hQ-2|t}pV&n6;F=7E-7XAf_(|y8TTrznF_gja=7@Vh`w;~oTFst`Bw>T;8 zijWrlm6(&WYrB1vJ0kkiJ 5ROm8C0= zjurObiz*=2>W9cIYAaXmrgG0#!&9x#n0l4ZpOj!5cidAB4C#`2wXnE7M5(B^)*k46 zhfY-ON5YI5HH>^e*D=hVP1T VIynxm-+D6~yx2Iswa$L4btV0dni^fh>)gK3nReE)Jd#8E0xKqsG!1&If z-Zo=kjHeC0{NTw}$bs|eN_JfTd!arkDjYD^JFFgV?M)cc0T h0!&JXEgTc%m4Nhb=>(?fY~JnC z(+gixq3JY8Ug!(A%zKG)_`CvxboH~`nMT}y$hx~zjM(Z}%wm|yE9rI?WhmyoJJ9F^ z8^iQ?e~&`${1&?|ACoJBY5XtApLa=JXHf=ZnDjB;43k#*AE##&Rh_-hXm$|;HCSzp z%>-=PFD8IH;?mOOt~UEP#H^8r)MH6c7QLlq=de>OJFn5!H;Mr(fo%3vP9LonnT%&r zkK;~tUDV$!ksn69jJJ00knt{2n5$3D$)$}+j#ZS5mN1#}qMd&I)|?)$xS}#JH qsac=YW&IBLZgXEK~z}F4H3!h3bUQUhi6Ph$iknz z+0|c+S?IpwD)Z%t7mV~k-?DEf2a#9xsm5Vz4vudAUPXDI(Cq*Cp_zZ51nC<8=f$BA zjQ%? o(D{-yXfKKpv52E+5uOr5|^byZm556~yWIvaCY z*qQc9_jt1cpXJHfWSN5gmGDYPB10%dVd5^r>**^PzgoP_!LM|UOHcAX3jc#Q&rt4N zrj7E!IpohI{+!g*AC}&Ait_FSC>1bEf{m8^7Vj>%j`F&BPfQpVjq>h?%SdlJ9JG`v zigHJgsYGFKR^CuG4;cuSXQ^_$%U4Tk9QgnrH5ZoS@wh9Es%4-wATeX%=P0O=^&Ssv z!851KFsaRVB>HtNjMRkTFvIuW`HeK}$?#86=KY5)Bc~@ZYB+ !i` 0T^uTBjvGN~{LP|q z9&I18WQ3YbA%1Rh%ED){&oRpw&5ndEqJr@l*-g}wtk!UdI) zH5>I7zbe%mJ>!R{@hW~#6ak?|r}TNMgr6^kx;lv;`SAM9XpX0{)>UtG$=5Jd%a(A{ zNA07s^;)Jn!Nt0g^Lvrvx5@Wn^wVgIhWB^n_8AF38qE~2JE6nn#$JavTT+=m=or^h zeX_Kd_t B3P)8!9QAaKDWU z*K$QR!9 W}y6=sCX)_s`WA zOScMMup0~Gqdop-V71J{3c1R?2LYu&HnE@@i>)xb%c!l*{UblYmsazYXbOJUulgyM zjIB?fN7 29zNe%$R>3Z!*Xwz= ze(VvqH^-Ba-dy3c7;>=k)b|F|Isre;?^&G4IZM~v_P~f3R&ze9(-Yqw0&kM;Z9{6l z4TES^FSfJ025pdQl u+rw#rf Rq#g6F7VpEx88nu;roDsc18OZ@UqVK!zyk)FIG)~=Y7(zxexv_RcB3OzNZT; zPoil*t3~soBKQ4J5IOa4>V-u!H>M8-CLK{$tD?$K%9D{2H8_Ik;D{#pvt#=QK{R!) zY+QLIBQqcO-i75=6W4~D uR#T_6r)5~}D(xx*134^E&zg;h zU_s3i0;AR1GTiaqD}&BKixK^P!P*#MH?RC+`te+s#823madA_h&nU0dKj$>e|Fl}H z`I>jNAwueYhcoTCaNu7J)O5WL*;`80cb_w7=i~E8ypmOw6$ymTQj^kdgPkap(fS-R zZo{8-XCKi>&d2!;`AhM!EH7Bk2;%=VIx4*s@ZW5TXw^zJ3cwS+=3!A>nyV9;d+PnX zA7r&L);{Ivr}O1P-{_Cm;h8(CM>+|t#L>HyE%bn& BI&R+3yuHm+Xui|431{wHR (jD-rKq zbTct0UrZx?LI5zzaWFL-e2lL*6c7;TnLdl4z6gGxOwF1 _6Ahd-;|C3=(XE~eV?EHo|(Nsq2JFU!48kh_##j$wbFtNz9H zb^P(fJzLB9J{Puok3oQLlY{U4UU&EAFICj =5Y(0f~j!j*{)fpNi8Vc{y7 zKp*51aP8`t&c*8;NMirUD9g!hAu_R%pYwY+qx7oeHrR=c-?f7%8lSQwBz>s!NSk|m z6~uk<8x+jT@r=mNWdFcJl+JcfWgTfM@uAzOtVv)$r p?P}nMx_a?LI;5 YgiDH8?;r+<|<)32)cq3D>;?Vv=;eb1!utG z+dcW^`@T%_n0z0c=3_z&m8STcBVh`ryQ6c*o1=5)@U+K3@R?j)IGXa__x`?c`Y*YW zu#Z^TVhaLK-CVatLz*F_j~?*VvQHXz&;MAWy3j3Sn>3$g3*&NZ`(8R1ZM+ha$6 ceRb-SvbW5LdEGO&%;o0SWKvT6n-}6PHsrb;RT$(z1OajRW?Jsn8AExvl4E ze!D=$EUxc8xg$attX3fH>`&g8D!Kw~3ND7AatbslH_&6(D8`Aq&=qRothL&%xrYE> z%tBd@ILBl3GqC> ^$CF0G!BdELP`h%wNoWm!y#ai2Em-<=Sta~vaUpoCz+%R}r@(Ztd zYFBG*o?DQRF&dTa`oVMEh=4hbdGT%5Mi1Y S|^RRsA<6pjigru zchs+Ixg1-BlD!zxn&v#odZo{n$?)RFJ^i68v9voY7} Tv!tY1b%Nk}?pBkF$^=!_&7V?b}+PeaUUk{oqn3=wzStxj^ z6O~%;`Fd{E@Oi8Vmdy{XR&sdlneGF0aNrd09Q8(IHjS0nB}}9#pNqr&GpMxfiqmG! zR(; ^s2-n{#(`^d9S-^`#2Xe*!1lm^H*4Hf>lD#-1?{&o}8{wBW zMKG5A?n2K5N^_vs&24dQoI9M-i yqJ+PVDE}?fIcdT;2v0(+A9H>?nnQY@PS#n(q{Z0=$*Yroi~2@eYh%7U zTPS-lU${}5F3v&nba5$`Hh$Ejh_Bpzjh#1`mK< JA^Uq>0pa9i-4{tUcQ&6m{2?%-7SNFLqf0^>Cv5@Cbp9)<)onmxkK@L=&5pF( zW@xrvh1Ov6hcq|^o1^}|j+5s6jE}UU8K$HqYw%2|Nj63r)s7O#gzYKuvw 9v+QIXJe?u4}Z0^b*UJ2)yLmMOBrpQxrM;!n)FfA;eeGQ||)#A2+PDXE|=PioI z=Cm-K5M{e&8XTFNe^mj@1}k|x_r5fIH9MpoPYchxj32-*H#?O@1GiSsJBB0fPlsRC z()soz4;_9S0;`~S@+Qz0*afKt$h5;9L>(F(5M!h_$NZk_&uc1d|1a64zfPJ}zLLM? zB}|=^ZI;^Ha-4r3n{$dK%O2U1!dWJDyGvS|MZ4oaG(2E76r>U=i7!4nTXGX%)%S?D zYSksRMz!TlrWC7r*^&Qx+ tZ-tCeavF2n|a`luBiWBE19Quf)= 8eX{qDjmgWpIP-Yt;}9eVkC*O?w*dP#J#CUrUME#YgrpapU=l(<$}nW zgmw#SyA6Gb_Y9K p z7;E7|d9Pl$kpXE%T6-}|zZ2iLWEM*cFwLUQ_dALd-w+uk2J9|PVPr*BA%rB0paM~S zsYyjEMp=oy#F2mEn&~`Mi 8r z4n wIc_SPVLZvOnjal_eXjNoF!6p z)%>`<6`YMStRHWiEw3(+1cxa2?LXnhv`8EG!N>Yu8y)m> )M0_16fXM>rS+%Kb0C<)6D~2vGbN?r4XD$echvwi |z9B?fw}U)^6HAZZL0Z=Tgnd`zKsCYfswMq z1uJ+OfG0aAdaV6soDf&YHb6i{WU$haf$J?@5=JlDHd#h{Cu7}rI4fKAYwYAtIaq24 z3l9A@gRj&zVo5nJ&17*X(CwVZ RHLQ}F@j7;0UO`lW0>8N9kw4$>87hXpT2V}>}kBjR@-i3$Dh~P-GB1laa zsMiu=D|7{zMH*l7r3NlyOejS$w5@fG7RidW38yF#l+hj~7E_<;SWnK&!nK^0Aop4A zA+`P7>_VolVMq;E0q$#1k=tC#;Nlg&+w(#-Rl#LOfbA=>9il@0i^St+L?6PoXTuO~ z#}u8$--2})xdIU3X%6R+o?m^VwJ!TNaB5B&@dU3G?mopQnY-RKM<^`vt+ dS2?x^aNNGKIT#Ga8@naRh#qw7Sl*Z*o^|Bp43Gx;sze6HZ$ z?i~V{a9ud#nPVzgr@p9$#0m)5#Q*?!MToNi6|8aaC2xm`_ JE%U?+L?Fdj(oJRXW-)-lbw(tASIPh+;}%#pc}M1Q}i4k zbN bd+_gy&JeWM5&a@%SxW+#4pmNod) z)yq{ZI{%HzV~%MXFWmDQL1SqTLfeE-*i<4jWc&dg0QBr9&m)i}FrTmIriTeT@5z|N z^{FH)P8JKSd!%DgP~b>XkQ0E%tK|5^DAhUthRa^7L1;I>Fs0N&@Q0y9NXX3`o_;X{ zE}QK95t3>h7~FviMl9`OVG4+uGT1X)Y;;yeSn#JOKpX~Jm?;Ch;C2y`4IlAZc_ku- zCVuKBcPlw`u~k4ns2Iucza8KBPsV|X8ey%S_IIecN@R*uss#RHbLP&68;{7m6xD)n zkwpD$0b3%sI76GGP7DXVtRe&g6*D)#<`nqMPu9D#12XWeM3e!gq@H9TGA@e1A_(VS zUPg+W5GTDktWP!q)%gDVC6BdlWk3$H5K_H;w>=9)KPd&{k()5MbbJ0gfncqr%w!Yq z-&WFHq1&EbG4+=|xmHr9J%LVf%?SgS2bp2T5WaMB3T>F|q)j_B?_V=5zJIBKj8uj` z2;F0&0^jVLA|)gb9|e6G&~A}Ak`|{cXo)_QULTwXDjr!2Sw36%emQ=sKiYC{L|YlN zGlhY2134S@vY_DZQ(~#bRq}6mBo~itbOscoj*8jx0PF*f+*vH?#_PMRjAtnJW>K%# z+fc5-G|=NeG+{lh9&?95X3)pv`h*LCtJ6mS888?!`&jk*U}w7JLw;#UqBm9Q)cG6J zml>UwW1!Z)8-%Lv5E!O7J;&}%^!zb|Wf#B)abt~R@ac Y9)l&d$X7<2 zO6hVpu>ikz7|N5uvdiexfR%~?qt9;dm>6(dseqG6JlOSTqg$j42k#S9KqOX#ydssW z1JdrFgZptkPN0^u+_#r5Sg1B9JE>?((;{p ^37RT>U{2lgVY3QZkD#P%Rt(_K74FBMUexuqP<+M5r1J-iCSn04SS38c3`<@ z_Mn8^El96D9STPMd{u(9Bp}e{rzEu0^PAPofAH5%Q_*AQYz=?wU4yhci4we%&zngT z7(N-~26Zo?j)6E(-=?j&LP4bl&toz8&zI%rJ>{+bA{PG>f0E1(k7w|@&khtmlq`>d z%%w-9FTTCF*N;oVfcA|99j!HaQmSEGpBckPg;m;OJ%$uW;a{?DuDOs!q@$%RLq)rA~S91<2i09 z01EQDZz!HM`Lu?VkBn$n6eCJ{N+mCKpY=OtD6SZdfuuW#vU0{OozB$&a?TEYUp~$X z2k@nn8CmI8@z>G#sEEM$VB`R8K+;g+NfY$#1y$@|fWZzto0oqH<%*Fg$vf$%;p6nU zpc{V42fwvN+^RXfHQ$KxOhhvBJHgSZQTjN`U%!KAc~Zviw~Vh@I8oqW4mTBk?R|T6 zK~Jg2Mk5PVcJ~Fu0CGt$TKbY1WE#D (Gdqka)4j z#os`G^O~XlZenZH+KVvpyzTY0C>?2@!&)v2<_r4_0$c6Pf*8<(`6dyC@Lz)jO}N^0 zSYLJ%n`|_(FWsH`%7)@d^{G#UC#-#F3O#hw_wmfJekaBSn1f% =5Sf+2*SN_Cfr1vR`PA*d)Oc50vr2Im$#sRRUH=! zl1WjX_YxA~#;ep6K9$TFY{7wS=IqfQWbzu5p1%CFV>oBD)I5gcFjjgcNR;OUIi!4L zSSR9XzQiO*5jT+8akFQKtnX(%Co)^m-gd`BT`@)nD8}F|1G~0gEugPtV;wmGi@fxm zAM9n2C$Pxbk=^w#7A8cAFBOBuBYpK?OF1*C@43TWybND4?SZ*t8i0h1iJE@Rrts(h ziO1tmHaAi*L9S5@{`7cQIAJ8MgT}?=@VD5P#vhTsV)1KOc*q%}hV2_Djw>o2in#G3 z$bzmU1Lr$IQbPt