From bc8a2cb91234359b42c381c2b26d97095b826576 Mon Sep 17 00:00:00 2001 From: zahuifan Date: Thu, 27 Jan 2022 20:29:09 +0800 Subject: [PATCH] feat: add fixed center distance scripts (#394) --- ...xed horizontal distance between centers.md | 72 +++++++++++++++++ ...Fixed vertical distance between centers.md | 74 ++++++++++++++++++ ea-scripts/README.md | 2 + ea-scripts/index.md | 14 ++++ ...ed-horizontal-distance-between-centers.png | Bin 0 -> 27030 bytes ...ixed-vertical-distance-between-centers.png | Bin 0 -> 26989 bytes 6 files changed, 162 insertions(+) create mode 100644 ea-scripts/Fixed horizontal distance between centers.md create mode 100644 ea-scripts/Fixed vertical distance between centers.md create mode 100644 images/scripts-fixed-horizontal-distance-between-centers.png create mode 100644 images/scripts-fixed-vertical-distance-between-centers.png diff --git a/ea-scripts/Fixed horizontal distance between centers.md b/ea-scripts/Fixed horizontal distance between centers.md new file mode 100644 index 0000000..cd037cd --- /dev/null +++ b/ea-scripts/Fixed horizontal distance between centers.md @@ -0,0 +1,72 @@ +/* +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-download-raw.jpg) + +Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian. + +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-fixed-horizontal-distance-between-centers.png) + +This script arranges the selected elements horizontally with a fixed center spacing. + +See documentation for more details: +https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html + +```javascript +*/ +if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.21")) { + new Notice("This script requires a newer version of Excalidraw. Please install the latest version."); + return; +} +settings = ea.getScriptSettings(); +//set default values on first run +if(!settings["Default distance"]) { + settings = { + "Prompt for distance?": true, + "Default distance" : { + value: 10, + description: "Fixed horizontal distance between centers" + }, + "Remember last distance?": false + }; + ea.setScriptSettings(settings); +} + +let distanceStr = settings["Default distance"].value.toString(); +const rememberLastDistance = settings["Remember last distance?"]; + +if(settings["Prompt for distance?"]) { + distanceStr = await utils.inputPrompt("distance?","number",distanceStr); +} + +const distance = parseInt(distanceStr); +if(isNaN(distance)) { + return; +} +if(rememberLastDistance) { + settings["Default distance"].value = distance; + ea.setScriptSettings(settings); +} +const elements=ea.getViewSelectedElements(); +const topGroups = ea.getMaximumGroups(elements) + .filter(els => !(els.length === 1 && els[0].type ==="arrow")); // ignore individual arrows +const groups = topGroups.sort((lha,rha) => lha[0].x - rha[0].x); + +for(var i=0; i 0) { + const preGroup = groups[i-1]; + const curGroup = groups[i]; + + const preLeft = Math.min(...preGroup.map(el => el.x)); + const preRight = Math.max(...preGroup.map(el => el.x + el.width)); + const preCenter = preLeft + (preRight - preLeft) / 2; + const curLeft = Math.min(...curGroup.map(el => el.x)); + const curRight = Math.max(...curGroup.map(el => el.x + el.width)); + const curCenter = curLeft + (curRight - curLeft) / 2; + const distanceBetweenCenters = curCenter - preCenter - distance; + + for(const curEl of curGroup) { + curEl.x = curEl.x - distanceBetweenCenters; + } + } +} +ea.copyViewElementsToEAforEditing(elements); +ea.addElementsToView(false, false); diff --git a/ea-scripts/Fixed vertical distance between centers.md b/ea-scripts/Fixed vertical distance between centers.md new file mode 100644 index 0000000..3307ee3 --- /dev/null +++ b/ea-scripts/Fixed vertical distance between centers.md @@ -0,0 +1,74 @@ +/* +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-download-raw.jpg) + +Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian. + +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-fixed-vertical-distance-between-centers.png) + +This script arranges the selected elements vertically with a fixed center spacing. + +See documentation for more details: +https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html + +```javascript +*/ +if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.21")) { + new Notice("This script requires a newer version of Excalidraw. Please install the latest version."); + return; +} + +settings = ea.getScriptSettings(); +//set default values on first run +if(!settings["Default distance"]) { + settings = { + "Prompt for distance?": true, + "Default distance" : { + value: 10, + description: "Fixed vertical distance between centers" + }, + "Remember last distance?": false + }; + ea.setScriptSettings(settings); +} + +let distanceStr = settings["Default distance"].value.toString(); +const rememberLastDistance = settings["Remember last distance?"]; + +if(settings["Prompt for distance?"]) { + distanceStr = await utils.inputPrompt("distance?","number",distanceStr); +} + +const distance = parseInt(distanceStr); +if(isNaN(distance)) { + return; +} +if(rememberLastDistance) { + settings["Default distance"].value = distance; + ea.setScriptSettings(settings); +} +const elements=ea.getViewSelectedElements(); +const topGroups = ea.getMaximumGroups(elements) + .filter(els => !(els.length === 1 && els[0].type ==="arrow")); // ignore individual arrows +const groups = topGroups.sort((lha,rha) => lha[0].y - rha[0].y); + +for(var i=0; i 0) { + const preGroup = groups[i-1]; + const curGroup = groups[i]; + + const preTop = Math.min(...preGroup.map(el => el.y)); + const preBottom = Math.max(...preGroup.map(el => el.y + el.height)); + const preCenter = preTop + (preBottom - preTop) / 2; + const curTop = Math.min(...curGroup.map(el => el.y)); + const curBottom = Math.max(...curGroup.map(el => el.y + el.height)); + const curCenter = curTop + (curBottom - curTop) / 2; + const distanceBetweenCenters = curCenter - preCenter - distance; + + for(const curEl of curGroup) { + curEl.y = curEl.y - distanceBetweenCenters; + } + } +} + +ea.copyViewElementsToEAforEditing(elements); +ea.addElementsToView(false, false); \ No newline at end of file diff --git a/ea-scripts/README.md b/ea-scripts/README.md index 6bdb090..f4087a7 100644 --- a/ea-scripts/README.md +++ b/ea-scripts/README.md @@ -32,7 +32,9 @@ Open the script you are interested in and save it to your Obsidian Vault includi |[Expand rectangles horizontally](Expand%20rectangles%20horizontally.md)|This script expands the width of the selected rectangles until they are all the same width.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-expand-rectangles.gif)|[@1-2-3](https://github.com/1-2-3)| |[Expand rectangles vertically keep text centered](Expand%20rectangles%20vertically%20keep%20text%20centered.md)|This script expands the height of the selected rectangles until they are all the same height and keep the text centered.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-expand-rectangles.gif)|[@1-2-3](https://github.com/1-2-3)| |[Expand rectangles vertically](Expand%20rectangles%20vertically.md)|This script expands the height of the selected rectangles until they are all the same height.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-expand-rectangles.gif)|[@1-2-3](https://github.com/1-2-3)| +|[Fixed horizontal distance between centers](Fixed%20horizontal%20distance%20between%20centers.md)|This script arranges the selected elements horizontally with a fixed center spacing.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-fixed-horizontal-distance-between-centers.png)|[@1-2-3](https://github.com/1-2-3)| |[Fixed spacing](Fixed%20spacing.md)|The script arranges the selected elements horizontally with a fixed spacing. When we create an architecture diagram or mind map, we often need to arrange a large number of elements in a fixed spacing. `Fixed spacing` and `Fixed vertical Distance` scripts can save us a lot of time.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-fix-space-demo.png)|[@1-2-3](https://github.com/1-2-3)| +|[Fixed vertical distance between centers](Fixed%20vertical%20distance%20between%20centers.md)|This script arranges the selected elements vertically with a fixed center spacing.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-fixed-vertical-distance-between-centers.png)|[@1-2-3](https://github.com/1-2-3)| |[Fixed vertical distance](Fixed%20vertical%20distance.md)|The script arranges the selected elements vertically with a fixed spacing. When we create an architecture diagram or mind map, we often need to arrange a large number of elements in a fixed spacing. `Fixed spacing` and `Fixed vertical Distance` scripts can save us a lot of time.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-fixed-vertical-distance.png)|[@1-2-3](https://github.com/1-2-3)| |[Set Font Family](Set%20Font%20Family.md)|Sets font family of the text block (Virgil, Helvetica, Cascadia). Useful if you want to set a keyboard shortcut for selecting font family.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-font-family.jpg)|[@zsviczian](https://github.com/zsviczian)| |[Set Grid](Set%20Grid.md)|The default grid size in Excalidraw is 20. Currently there is no way to change the grid size via the user interface. This script offers a way to bridge this gap.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-grid.jpg)|[@zsviczian](https://github.com/zsviczian)| diff --git a/ea-scripts/index.md b/ea-scripts/index.md index 551770d..ad7cb6c 100644 --- a/ea-scripts/index.md +++ b/ea-scripts/index.md @@ -42,7 +42,9 @@ I would love to include your contribution in the script library. If you have a s - [[#Expand rectangles horizontally]] - [[#Expand rectangles vertically keep text centered]] - [[#Expand rectangles vertically]] +- [[#Fixed horizontal distance between centers]] - [[#Fixed spacing]] +- [[#Fixed vertical distance between centers]] - [[#Fixed vertical distance]] - [[#Lighten background color]] - [[#Modify background color opacity]] @@ -161,12 +163,24 @@ https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea ```
Author@1-2-3
SourceFile on GitHub
DescriptionThis script expands the height of the selected rectangles until they are all the same height.
+## Fixed horizontal distance between centers +```excalidraw-script-install +https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/Fixed%20horizontal%20distance%20between%20centers.md +``` +
Author@1-2-3
SourceFile on GitHub
DescriptionThis script arranges the selected elements horizontally with a fixed center spacing.
+ ## Fixed spacing ```excalidraw-script-install https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/Fixed%20spacing.md ```
Author@1-2-3
SourceFile on GitHub
DescriptionThe script arranges the selected elements horizontally with a fixed spacing. When we create an architecture diagram or mind map, we often need to arrange a large number of elements in a fixed spacing. `Fixed spacing` and `Fixed vertical Distance` scripts can save us a lot of time.
+## Fixed vertical distance between centers +```excalidraw-script-install +https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/Fixed%20vertical%20distance%20between%20centers.md +``` +
Author@1-2-3
SourceFile on GitHub
DescriptionThis script arranges the selected elements vertically with a fixed center spacing.
+ ## Fixed vertical distance ```excalidraw-script-install https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/Fixed%20vertical%20distance.md diff --git a/images/scripts-fixed-horizontal-distance-between-centers.png b/images/scripts-fixed-horizontal-distance-between-centers.png new file mode 100644 index 0000000000000000000000000000000000000000..ce61acc5dcd5dd0dc96228c7bb6fd23b6a8c23b2 GIT binary patch literal 27030 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 Xm>{4{zM literal 0 HcmV?d00001 diff --git a/images/scripts-fixed-vertical-distance-between-centers.png b/images/scripts-fixed-vertical-distance-between-centers.png new file mode 100644 index 0000000000000000000000000000000000000000..2f92795965c83f4c785231e459396726f9492d6c GIT binary patch literal 26989 zcma&NML=A^7A=Z2q;Yq5cXtggjZ1I|BuIc@0TSFjcyM=jcMSx0cMI!M7$HWI>vXrc#BWPj>6v(G{Ts~J7tw$D>;yTPx9@&lP<<@Nd z?+aV#F|-JuBOuoVXeoAJi#h0+LnQLJVIOOJ&Ol7g1YFK~QqBaG2~NUmO2Tt;!b>Vb zMCcf*FmR5&P>!-Ex{D@xn>WjbTbNX!C&$0ubb)t3Fh40IQvM)*TkMWOOFRG6VKYqSAO9Wr?yC^>5b3wzsZ|7)6Fu=tWZ z#E2Io%ydvZ(HJ#w4eDD4PKn=Z{3va=i7ZClnMB`gNY#9xwIWW>a;JEnhl}6*=HdT> z&I#vR7n|jDT^y4T5hPp*h4__V=DSQDc5T;dIhap}YRi>ezZE(=k}S{pyHNx%O2BjE zFW|g1&~CnYHoha}PJt*SAu@oolfIljK>rA%Y%N0W_(wqFAKAQ*-}QGl`w9L#y6VB= zBXW>}KmKOVi!pf7ek~4A@%>U7h4~=~k}g8%)(bmCxEx`v{~7ZxumvX! z1BJxHh8~2}nG)NBirc?Xk&w;1A2Xm`C7@wc)?%OUXJSI&|K`vE35-0QME_7+Hogb- z%q~_Ix4tKxU6@R88Y-xCj-qaxDS+>d?|tbdXM~S4#sPg6A41-pC9Cv?iZZ^3WPB_M=B6O8NY@4A-j3ERNzX~7S=%~VLh`2h?87?V-6ULz{ z#VjI6X&LjAa^0YiT+HlzRbcY`u{P9om&sxRo=Ccrsi2H;z>NR!D8aFL2T6?bDOkTR z>*A^M4tEeCG`d2hRQ9Zuq|^4pApg(p5*1W25KLPkXvUEN@nttnZPVlBMug2H6feqA z#?rkCPU6DU)&{FFG-+~EYWg)9n}5$)t+q;$ zQ&7v9qK|A2TC`zBER=7p-U~x9;1lv8wz#eVG#SZ3!prfXh5k}kO;Hf5o ziCniCCL3p*&ITbP2_u96cz+}TCuvMCxKG({$Fd;J8TvXm`j6>7)c61!hW-tuPUg^| zAvwvefQpV_gNZyRtZ$P%gy$I78eS#QfG0$=S7ny&xmAbqe(a^#=-0eC2vyu?+xeRm zJ4`hdIv#?0R=L@E>_p_~-+1fl-q{E6+1?k7wFe%&J!R}HVb#%p%^i)ofRYgxCuhaf zBykbq?v0Z3lrSh>h(Wx1Z1ncu(7BU)Pn}3Lh(46Uzsj;sZni$`*dox-8CPsSN-ft6 zuNC(LZFPt$jzMQ&>}2(s$FI~#0?5>X;Xg1|y#Iz}@z(rsI$V5|y6Be+m*xwt$8Yo z=IT!Y$=W=EP^iJfS8Lv=>9L^`CWh?(xU2#2OIl4f`S6VAs8#r>X;IQ`%G{y zluw1L_|pZ5=V>%8(4w;CB?cWiZUjbnQux{KeQ}`(xtI?+;CokQ35T0f@Y!pIgc<0k zAMgcIFw@{6t!3)&XkLzdjCx+NOeT~vgJ+;?qtNpXP0Jw`MFJt83^~ESSNj$@rP*`3 z>Ya`<`~qpot|OcjnP*QBe0`VB&yC`les1>))6I4oV$O|b3TlxBIx937yzTtJMrQ<) zj>~$Cr^_xZg#>c0)jOFR@Po#0`@vrBmi7m~^$W0pK%NlW1JnJGceJEmIu_Vnd>Wej*lz^yqVz&76n>Hk~ z?5sYLz#zRv6`2<%pRNRBpa%jSbw$G(JPccsSt*8v$&rJITI0^VdxKxf{!764@!hvZ zHkqQW4*~P-3I)`y5+x8Zg|#fTl*CKehu$S8uErgWBdAaeinHaYl|G(LwkR{#~L9%{%_8Y zD(=Fqm$f1X%oZ(#nAxC01EsLdD!UhFmPuLfR2t6Dld& zEIaNcR^l)Y{sj%ESp>M18nRN30zEmO{TH9=$Mn5hrL@Var;^_m#dgLjIneKFJD_oq zD3u0hEMcHP^iTvVNuj@027`+6uN@@e==Yl}(yrgBO2pjEKrK?@1CA{mcIdzZ2o-5( z%wZt!XR5S!s}i+Nr0g6}?u}mIT|W!a%hxIY6W5l1DPX=#PFzStWYoO&ffzx3sc!q! z-@b43Kkr{-LBhCy)|PHp&UySwCzB=gZ{uiq=>{6LnQ+|xK9=0K5ABMw5m9V392C|X z`rbz_hGe=g2hJg_!o94Cj{FyB@%@JtS5rJYM}AAs%5O4M@I{)P>eE=E8-MopSZBos zO}hB&AG_9%?P5|DD0Gek-p;fR&nMLGTm=TjpIp;gFBk18PCrFW&v*E#@f=Ty2ICvT zAmWe;?{#Ndp5PY>Nf-C!(`q!fTw5e*j!8(qHdj|G>J1iY^3N}P7ii6J9=`2t*S*0~ z_LHnSEfScx7NDQwaVqKT{K(`-)Ldk*LeP$7nF8{aM*s9oeXp2iUjiwz&A}Fr1pAyIMqYJk34p9Wa4vd-*#B~;8an-xV@o=QN$S96 zFd@e3PBaSCDG3$~$G^-DJX-L~77N*i6Ovl2wWRRNe1lW_GQVcXp%*N~1p^gO_X(Kl z9&8rsY4&a)IYe21HEH{5swH&Haxu3E6yIdIm;&vw7J`x=SlOpslnn_rZEhxS+Mv4% zne)_lH3k~mY$QOIRmjb7(W^Al!9442x3Ej{&4q(}TKmI*oq(P#6+D}_F2#2_q&q)y z^tv`?Ox1LRBVD3nRi9C2;DHVx9LFXrg|vzdIQ;@)afSzmcLQ(lMTI9gXfLxBiNPyO zv>-EDiA`?z8M_JOR5;5YYD(djHv14ok>};k_vcKkIjQBmDvd@!KmNd^5Ee3t_4`Co z;|q4mq)n}q>VW&+`;AN%N^;!G9mtSQmiE_LR=Hg@g3q1_0mNt#u3&h?VKIcRsi|qv zo}sQ0v+dlkN3F5#oC4}!Oh$_e%I8=P)MZ2( zQ`Q~5m;O9w71Y%pbJ@I~(JOS;=3hH5N(2W7=l*zDc(G`ed1EF+N{9qACxF&t%=>HG zxfLpM%ej7*XhYZGD|3}X4qKeb<0v{G!q1@*20SSq6GQ-e7OMJlS19SQb&D{e>tA>g z=F6>4sfyfS_iVDO@Na@Nb#!_^)^5&y_|hLt_9I!4!pS}VD_vUHxa`>bEH4Ap+==?5 zqmp`l*XdSw7v;SZS=#PvyF&osD5byqFDBxQm$7-Qlj|L!D1`ML(E|T)6w2{k89H*9 zR^~Ik{k!P?bkcb7d^L{r#owvfpouUai?VTt!X)wch4p%N)5j??3NlfuZ%CHsqp^13 z=Y1vK8)#3iSpt~D^vcPgX{!pOSn^O7GGU}0`dlJce2Wp|q$v5!&%+-C2oZZ4zf<@T ziAe*HdiaB!8JDs5%MJh4C|9*vKca!ltd^g%Yb%LSCEj&w0?n=k0fUu!)w5mu(1gGe~SkBsDQcvPgsRlXSb4)}I zp?pz08yLq}dLZdZeM=Sno&RaKrA5%|Zq*HjprO9q^G-5feRIjC(vni?r(wnT_~0iR znuVn|^pylL6c#B|#VLgp0lOdlcTKsL3^IT9qV8;LE*um;YMIL6BCygkbo-Bu=^k8J z7MN;~yGY8#>}ZZP;f763PN1gzf~lTv3~)Pc4B^%!Z#tN~Mu;6q5PLkJLMGxxrpxr= zbp5+S&CX7mpK(VrI@`s+~UA?atOldipMt zKp4&xIPF~n^Twl za)TYw<<*tr&8*H9k*TeBu*mJ}7kLC!QbBBmKp3>6!A+JIdiUVH0x5mjDrX_wZN7}L zrr}!DYzKU?zYD%`Ha4Dp+^ZxY$~3D7t-a(Zr}v4T7!OuoN4IXZ=+8AJps}GsR9rY0 zee)D)QtA0lRK+G;JM+B@-`*gKNU!@h18uIfC_n-7bBZ&aVC0jIgc>jWQb#T)LNKZ2 z&B=0r!wq~uqG)Il-!01GHVnbk=0R@sz^dDNB#+IU$y(dD&Y!2U~ zSGO{S7KYFnT;mMlei^VrL|q*rSm=c7E^z@@euIlGXxGcuXj6z!NJc*8)D<`qv zlR=b@zV6(5@r$d0X(7WZ(I`3~j=Xrml`?)m$)c?`qSB0@Cu$^347y>xh0N<58Xko( z0Ew*)y;R37gWYTYPr6?%ayvkeENUpnT=v`~LpqrOr2Kbz{rqsGCHLqO;W0 z8|dnI%-;=^@Z*boU4LH94hZAh zq&lB36<6HWzZ<@)X=!Oupo2~RqzPo%sM}vqI7D^(tS2OzN$M>^W7Q4uB-@E%uzVlb zwMeV@^yc9;Ell3YdM{8HPb zh85#0q|t=RJat}Pp6+t1t1$-2yoE!soBN}nVmI=?Kbg794_Cr>=8*&qB4ce3@bheU zSPw+?MN{QuLtVPE4bE2ZG<7w;=uF!JO;mJoabHaMmLD7fw%o1{@%rh$s0vJ&_cGh# zQS9lPsu@{U^Ygt#CrA10My2v@22=7ens_irXo47s=@`E#rf#jT&J6sj1{u;`ofyzX z=U7^-Cn)JXARrQHrN8UHuccrkg>%`2 z8rI6p`i$-yq#%97OVM^amL?yFd$!kn^+!kobT>?wxiKl*8l6HNJvDFaO+v(L+odK; zLeocO>8VJAfSI_DZ)Fs(ClecQnlBjk79kMAeDzR8f!_5E-XC48Nff=yoQ1`~>S5hxM6L?Ou|)L$ zGG0oarbdh*ME@_{H6HpIJ@h`F8s_Xv`ExG*CO*itYR6PddStkNdU zy-&}PU{(!-8*cQAnfvS>LyK65QH|AH6Zw8ut|Et<ik`y`v$F{&ctpbsp~~^D0zfO zUB%CCM6E+jZy0~*$`+FRI}3oA2_95c-b_7Xvms3@5St4g>Cnw@3ioa<{1Rhl+IE($`#bQv;tWE3xMpgh z?80MIT5O8>cMGkn46+f~Be|*Itiw)^zHw*7Mtb7#B0pc?&7Bfp^K!Rh-+5p|L7ZvS^kj{flyGD^A6IoDT}-Y=ye#??8#?kbQW#x_+o;ZF+&$T=6h$>hV$ zAEQac*`ezz$b5v8UV0><|FjSkEb^N}aAqb~<@fF1ZX_3%d;Z>^)^|m^FhXtmx*;%u zFlVi+{Cbsx{jNesJ?Vo~8DF@!_`ZG9#R6|6GG7xa3n4TtY8BK<8u3DhQOLpwB4I1Q z#aIPS8NdhXzoU<@w)1rWZ~EY67km$C`J1(aq4ouf66Z}S@9~{iN-$05AWVbFGtoQ!y8OXeN4vq%yY_-I*A#&f!W&r zo0%&mq|rj|9O|4~hW;@E&kV)#zuYyJN)X0SyuwgC;n0l7kfxxiF89HE?hOg<11WA| z7z;${Tny>MlG;zv=-YT}ow(;#-nagm_L2(8$`TjZ5OA(+G_E8?UjyH|7gp`ZF&M*G zCzr=lwPR*GeO3NxqRrfv$)Y)&oPxKy2&Bv`enXpCMr5b6!TPnx)edOaKEJ5~Lrr5g z3%SiiUC^tcF1TGONKBBpXc*HgU*0c$LAjt7Y5;QxnI`7brC`17%$dxL781Wrpaxmv z4%PW->sgNp`v$PR!ee}3j#S`O8>OJxG3xyBomuK@#g`}0QZ>EmCRXKsq_oZOP(;`? z&zybF*-GjK-C2Vhagpq+o6u}_du2p4JH82$DEM+MF~+`)lgJmZ>r;Fg=XkqDt`>sEn)R9tIFId zQHAh?6n$qacqnzuw7RKO&koh{&{0;F!JWk^&D4BEfiPawjnU2!wPhD02ys#CeY3jf zKv1yMv8*Cq_kI(p(`R{o-WS_W{n8Pthc!YiHD8?h=rg+Mp)qiOi;K6kx6CAGIV<_ZbKFp z7woL0#L61)i1c+Y0PhMrNXG~uidBt|3Z~ENcDzkg7|>_3`ucg~>Z6?O2m{CjXa^xs zG=m+dEyw7g(jdAdcOuIyf#b4T@v{hn;PZL<4(=>u^P7hQ4NYvezD~kM@l~|9naD2Q zK%5p~ECYQF^=)UAA9QUMxDjB!O{X*5Q3UD=(f!v)58Ly)jkXcv&q%b$^ch7Opn^}_ z_mSODBd$+D%aQLzjRz>PsT1Abe*yRgL(H-0b znP}SaqTe>`6NJ!_&LCJB<>|s~o!scj%dKaB5200NLp~KHoZ)+pb~qE~M02EkjGLPz z`u$coTR`7}s_;cX3@*!B!K8J7WV>^T@J@`>##q%ahl``tY5r!TP=8k9u+G;;oH%%z zyQ3P3ivFY$PDt6Nj0^Pb&}CNqZ&S!nmUb~ld?^Ox^M=;5?ujHGsyNA|1P*E!8FCL! z6eV$_iFjY6nuJh6zzIKN6G#`X7$_7wGkY%zA%Nu_2^rh4crBhDi|wq(`EK^+W_pEuIE3uLI~s_b9|#190B zrpEjcFBGr-auYw!oPG(NHc5e#*XwQY?AtB|j9B=bcI3LdKQ7i--gmw|bsCK&u=w9> zmsgP*2Q7Cxn%AiYOYHT;muOSX=SrIPs5B!eU&1Pi)FYUMg4p?|!YDSi<7I>y629ns zh2{O!-gGPnODMMZZe0H<`V?8kbeOLUYSL9B!OHonNDJFw;!#7X=(YwXC0}qFsSe zv=k4a^^Vg}f`aa~N3tg4&Y|a8TIc-UZS z-8hMNX!0=|$mO^ib^62w(-OJr*?ral{T6;Ix$;A6RA$a~4LKF{IIj>eQoB*v`9nZY z>yLs&D=I4IIZ(OgA(XzC8r_D{LSc|NpD)7C&Iw^h zL151d;(y4Lo~%CAn%wPt5F5dhG=DlUH7vu-UymIN0YxR$7k#tV;7r^SXcgb6)Mi?9 zXl7R^hqsLXM&m!injZ)%{LIZSCPo&>hy#y@o6~2j@_Vnu&VJxe5Ii@?-@P~=?)UR+ z-B2t`xVlyd0v7Exqfr$V?hd`wMX-G%kw$^iFm93Al$5D@_Cd`iecG*JLvktUTA<^Q zthbAOCj1>pzZ#Xr{qj*l%zUZJR_rKaEhr@XJG9x7b^C!5_5H8kH23z%nv53~!Ak+{ z$%2Pc8VY`2odt=rr?We?!!i2%>HmzYw)mOh7TJ92o@){Od+~5yJ{}C0W+#bk+j+!g z^@rHt`^{`oX(?8T6m%IfO2M+goN@BcPP|4KWMYMO{@|R8)J913s^dC7mbLLMyg2nefDc(=LQ^ zs*|8nygO&Hd%~&?@(4aw;q$A23aRu`V(S+t@0G7tT?^>$l}-3~+}s=d?WFKfZ?4T| zspOIEaX&EYhIgB$KT4%&hs*EoLg*gGDjRj-VW7)ON+j#YgM~;?`T1Yem14AYbaG2d z6x;_DojqS}<^#ze52p)}T#&!!6MV$(_Rus=9$Z3&=$#>KKYB8<4?se^w%O>i4Z8CC z5BuPCL`XaA=!HG{p&9wgZG5)(o^C^ZwUwBIk5hNiemwr6g^=mV0c2G;A^)X&&rpCupio~E;or}G{pHgEzVJ-SGW z-FnCOg;uvpam`SBr)FZHN)lI8R8-$nt!oSY6)jh_(f5NLrS|#r$l4m~oRXU5>=j(z+iy>=Pnz74i7TV?N(s zz+9w%+e_&gKAez3>z~S3toC|vD$}io$@G5x)}t&=EoYPFI6#1qnMzB&k3S+Ob>W|9 z&dN>Mozo0!dNALNHOfIYZ@MQ)R*;ODsiGWq&kBIcnn`^x$0^_WUb`Azdt09`(MY#= z9%Kbn?_ct1r(J-Z7Xx|gYxKLb#Q2SfmX?ST`dDmCY8c@~lP*(#c!chgl$AD7GVQ;M z{%#*WaD{=3f5GlJj3q{Z=!F&T)Ro}3`q|Or(9FdWQT=`l|3=Hza`WHhdgMq~FNbE$Yo?5PmdG^Z8Gi zXO%t+zp&BzLP%%wm}J)TJ^?npYLEgw!W6=gd8=6&hi}5V)oyH}Loual zEu49!kg)39I{`rf7h7z9KC?bBGMOmx_CRFs&Tt%u!-hC|wi>5x3A}^~t8|oeV2kIS zy)XA6NdD}rb}5cjFe*-kp7&MiI@tUmGgMH^wb2(I8J~PenkI?0<9@4b$%Z81VUnW& zd9NC7^(bYXxDQTM%S^WxMvD5#m!vYAv81GGm3Sar2UR@0`H5|Q?3l#*`7>FZNt?+a z`>97Q0gf+J$L+(phZ@F@55{OZK>}E`5ui$*6n3r3!Rv1S+C9*MBilsi`EnRy*{#P# za^JSe+P8g@O@+(6I2B1C2RYnMSMVEdqrZIF36<9=k^Y&VpWjo=iH{73agy0F;z6uQ zis$$Bi?%&PtAJ<#l&|fFN*w<2h1Wpw(F^RVi>bxbBHG|s{sOkLI3aIX8#b>8QZyCs zazfYy8RER(QCOQQNwCW~Ds6YIoSHXh55HZuO9Z)pbf9I-rb!E>5Pe{Z+kDwF%MQ8V z5F`o14vPpwv+bp&pyrp%@1f!)3Q9=oP0m(fH{%PRJ{f2zVcbOZvSFup)g5_yIrDzQ zLR?j+Jer%+7JfX)ZU5=35*bIUj9EeUba%!UL#oAJ7)N2)`r~?17Dl3=WipjE-6*u^ zkos3-d9BIA>9ws825x{>ve}=%d_69=pEYg#a#Vcmk{6QZx-L{`o)c2AN)tn$Zm-*f zvwP6KO?0a30wlD;16MUu1eT=V8!KZ^(@)HJz48?6-^rG1+YTmDh9s;NNvEm3OZ7Hz zFl`Tesev`pi-aadMn0H&*R$h zw_`{H|8@_Z-zNK9(=p^z*v7HI`~MWBIi{abjxtw+9Bhs{<8LgIY#(2c0J*5H9>-FF zh8|}xonQ|=t}1SW=iwpQoY(xhYeiwNHIdlzSL#KRbmjX)mS`0_Y?D`@p0}#U+tt!B zguBGgXIk$M$FrK=A02P0Q_Ug?_rn(DFxO*3om%Fk&B}n;Y-~Ew&XZuVV%-qln#oXIdo|5_al%BM$|EHo;f(OyNDvW zx6+8)840qk*UxTZ$>;dc>_qcN^yzO|WtX@M^3~-f=xpBB_C%4Pzl02KhV14W>@_YH zYNC5sJx>RGQ)=4%(Sn}}?55{bx+23(0L1LaThmw&pCPL*4x*BFsiW1`uV%C=z08hr zS!%3idq=o%~ocKc{6cC7&H7v~mkEUsq^X?1`hSC!DiX*=d%ph)~)k7j`-L z;Cxf>`;P=fwt)BlXqsSseNILxCE5IK+HRx>8DgvY zt#jg5_!IDkTSCJ9%x0G&W=W>Y(x<}BDMdCM6`xY=@}7-u|Lvu}DZC-zbGOc?bO%D} z%khE&vM+(V_ng@UCSM4(GWjoS;j#IG*!xTr|3mI6u4UG1({zYdocnx6zc^UDmm(qD zKl8U@@eCU9&rIfsCyeB@j@3{qmh=t&px=iaXPen17ZdN@k_BZ>Pj0k@P#qU3OtZ39 zWrMf3c(Q=?Q|6@xUK%T45}#}zEQw7<{^d) zj;Gx@^hLZvUElLvM8alr#VhF4}K^-a3NFHE-4(Akm3k6Y*)5`MB-l zJZszX3^jFBf~3%Hyhgx%7ofCC4PnQX31_HJ)aN4a5MSMIMs#Pq;eS>XQn-7{9_Q;K*3PP{VyBQ^CiSE&`UPNLrrvYz)~e2E_;nIP9~3N1 z9gP`{-GHwj;vkTu4^HUrBOiN9?fHOO**Ze{yhd8|$|KhfutMd>8nH0;BvVLbsWW=k zy3R%9m)#OEGCJ6QZ>LsZGj!h!^s_p6yg3eJW(Tx6QnMN!^Jc2@qr$iKKu!C`KWSy z>rq`$gZcG%%D6Y;=$(4nMwMxA)%T~{JZb50<09coe(3_OIl%Mw53Lg}<;z zl1EYt(KO6#Ei6}xyifoT`>_n}zWF@d{?oiTiHN4P`1ZIbzPiSU9(Pku% zK&zg;LW~xE@EPwBs4mv(kqYPM3cPX~jAPb%i&|i`j0+Xed3bm}CD0j$YZMpSEjJ+W zPvH64ek!0+h~Zld>iIPMooE!hjWF?VuxA2n`Fg?K8LP&5*!w@-3N)lu`WI}4ScQAL z2-zl!bATNOzn;(y2iNRzB6~4NLh>e?X>$4KxSAqTCkId_pudHvlaBfM`IVJdkPkRS zi`?S>0pM)*DMiBfkwk5WHItoaCh;{WjfNuZB+}Cn?Ygqs-dD~}xB)m5H2+iX)WGqY zxXa6PO`B2(H{bFvYs|Jmvu+Apq=6b8>qbwL-nDk!xtW0Fse6aEZ&x4FT;}xLug3TS zk1m>5fK;a2QGGc!ehce-dpXmC4Rj5`*o%A2IjHK;%heDLoAK^M8zVdOuaqR@Xt_8b zpXK1H*B>4G-P@3wsC7t% zneWKF*sW^%or8H2^m5o>sbnJLlH`BZR6M+mm=fCsTAHb;?mkW2Ibp`N;?!JsHEI1_$5TECG1`Q|H4@x>jL0dF@whKPfs$wEkcbYnq$8<|E z-qHxR!SUi1@m2};h74E;G8?)^{)uNt8+z#-L`k-Atp>%QeA%b9vtT+*j5V0r=1|J+ zZblqZR_4As)7~0_@PNYx=Ve}l=?R|_?!KushaQBc%MqpvfQLsc?xnXucBPvN5)21+A$ZgB_(W6YR7pG^YSi^DIt`VV-l(9@v zi@Hf-DEskt`3q7u=JmL(&0HF(dJ5bp||N@v-iQo`08U z^i2O4{{uHCfe}5uxE6oJi7%AVC^QT;6%f_0fK~(14w}qwuY5>w6rw`)<@>uF?EQB= z8ZKkzE&Hbq{qE@B<;Kbl5`}8Nl^@bRoQF!OyeP1>*D_M3n%$g@WS2oHv0^K~v_5`W zoCDw8e&lX%#WS^HFLjO!uhysJkCzE7zYR)6NPuhtb89pK~TeI+JJMrsMC?C#Vr zPqybZr++sRzJzt`_Sc6CyXWu|I4%qATc9K~rBq4b{K^Wm!k)naxA_3F@Z0lM({_~5 zIbfc$EFZC>lT`LaZTOV(-E;b0O2liHRTP@`TjT5MM_9vP*6W9J?I;8P1_{P6(4kpAIHSEfYyTfN^-9=E=i!!_}+6=#07W zxS_!i?(z!R2^{g`91qk0)o%FqMcV-hMw~UL)(d$;;s^CCvuMQ-%I;nl!DnAaIfoGG zXdm@pnpU^%i$@QNGouosZ{qeVO&EZ*H}J*#X<3tv?cpW_>X6(0AUjyWXigeYj$uw| z@YdHg2Kw7B?SD1;(-Q4_*XD`GhaW0|iE`U+9P^WcB&^(o)ja53h5~b8!?yp&VS_^g_V8%ND2Cw~) zxvd$^WX%cGaXex9U3ePo&v2R#gx2BLkb`)RU|mRv)B=%T;~#&MIJ8&?kf{#%R15XK zp@Dp5M9;WSkG8t~a@T2-&{=~#CT8l5A)&zA~+T`4I1g%u`WCX85qk6>1{s`xs0e3Mz~9XgAk+?pB$DHs{|2JRj%b@w7n|xq>HGtcaJX93A^yXK4u`*%5vpoU$b=U z=>laxw*w7Tk^XN|LO!w*m*xWz(D|yR6%|o9`lsVy3uYMJ7I>hnk+tW0-F5z0MmmfR zoU`~Z_{7Q1t70dpv3O3acNOZWEbW~|LHRTtC@ggdlB0<~_#D3+4KC7TjIpAJ`>mS7 z8E9$>azga=#>4F)iQM|!DpGijn`^5?%`Z_tK=S^5vYe zIm-9OCVVV-Wbq7@LEQ$au9F)xWlNg9f@~*gPbtXeLQoKVn(NXh$z)I?8Ag^vEL9Xg zjQ7KD<8#1U%fTEWu0qakSlWN`k?VDCCE_hVd&rH}hnNdtEhaOXfR_l>lx-6BZ>!gt z5wjEjIYd!W|3sy4-&xS{elr;9up8KlpxWa~Wg!D#4q`=f-&#(L} z`l)H$(lC-f%9MV#y7)R21!I190%h91jdf9J#U!z`8c$BGEcX z+CeY!w7PDt7SOhlLsv2hBFIo;00gChT>1ctJCOez-!3f-To)~M+uS*%dcYPUFnIWp z{9J5kItwR7$c|ng-Qc6cK~GEx?*CW;cofWvWT$307--vtdZeqru76{@K2n{@UIygZ zbjE;oD%n(2dI|BSa&>**I6wX`?=ecKHAe3QEy%H{->{ z0-rr*UVjuoSq1j{0Zgs3``m+jy!Y6pTn88MWWgy8!W83tveG{$&MQh_ zxNNnZ2nk@~+jk?|Kx9g|d<_&`WR!*3JMC=RFkv0{=wesE5NdfNGAcbw}BFp1K9}mgUNOp%y$*~MSaN~$KXyE z0Fo`zbnpAvTXpG#U;F%h;?ULngBDIjk~QruKwPTw!vS_jE-U}tU8iOTMCWD$e6b&1 z1qg?IWVQ|M#7Af;?7~AxoAHWQe`$Vn-?nDZ}km+JnTviQ1-j?`SHiWa7f zM{EHKfa=e)jKyIo+|3a(xiS1{Dt@(A<0?yn!W>jF_8e~G&t(|;&yA;W{Mvoo!vb_EZUy_+*a{>T- zJYmUkp)+9$<$s5`h%l1NCO25a-@Cs($toggJGvG%jiosNCnhm6Y}ri)x_l=-)jJ~5 z1^SA1lKlqUDfTv{d8$5ky6K*$%{^Kh|I|ZJ2wjbu#8S2SpxICi1sITd+IuQH9vNd5 zuRpUofph+{XL?;C0Cu=%qp^N}0_bAO37zb&a$F>sN&2~mmwP^|z{7;%pOSud()_?# zoa~p!?)dCKoaOd>+L~IMRH4Sc4eQW5=u)Jy((pP4j_)gZWtTV1qeXDP?*GAgjZ0IR zt29Q-R}U5Vx(Dt)kZw`8u57<0l+#uq{bQMzXM&MPK>%Jc!wcHMnje5OdKi} zh?DUP*aGzW`Mv$#&($Ut^71m!t?doCw*|D%?fG!woJFWQnWEnT3R=vkL>@AAu*R*x zuZ+qY?;qc$(s{py6hSJYpPV$8t;Fms`26~G<_LIlZa)?qMW^%F;Qpg{CQ_|)RJ+=7 zqv%XPm;qhQ@UR0m-1sHx2&6~LUxg`TC{2_Z5q|o_|2|boMX}Upp-o6q6y4;d=>rzp zz!y=nQwRPjBSHpJDsSMV0zD%mW=ZiGu%hiT{J3jf-$e7i_unw7G3|vX_B!vTXJF`_ z$d(FZf;b84)qX@#qQz1X*u^Gx8lvbq3=iQmj7;-6h*zj_G6&UQ_$~s#l8dmK3cqhj z9O_JAL4qyrTvZUE!B@gka z0@>++IhK6z=hBkC?=!7ZGC4X4+{SpOm@#?RpCv#|2s|E)Qxz3pam|kj`Bwp1Wq#-V zC-C7CxU0#Kr+|@liqG+C2^7DJVlyN(aRpY5i-=~T+qRJR!m6MN{bd(^*oo^&ph=%{Jz1J%VU;G0Hw?s7(a?It zpppU4XI@hUX%<0PV$ro~3pLCbiSk2okJkZSQ@jZ8U#`l4POEjR#E1tb1=Ar7<%x0T zz*%Glnr_}=hVfOvT12l|%-&RmPV@0=4|bSk&eGn;zqZ!mQtTl~`ubJO;VTit@&Og^ z02LU{FSm5;w%q&ewdwWo*l{bA4lyIcqn#A+fHB}Q>-qqub$n+Q=7w1R(U-e*HvXNq z>nTOEV4Cbb4d(yj1;`^yhZOs;TMlnNh9daJ)5YS$B;iNWtJ6b(!bYl*$k_5e$vLz; zwJCz*g5LH2W8k31JG^-ZQ)K&DQdtp+xSM>OG!Q#u&8~X(Ave2C8p>b z)zZ;Hq6s{p11uIdH#heH#tpzCd*NDp^pDTp3&b-*uTcKdyo*~+dE2rsu%G4+06*Oj z1nRpLlbEf6YniZ(Li&PKAj6=|lL(m@y zit*XId74~U3KJ~EdNn~`_iWeQyt0g+w-RQD2$SI?_AAN3%vD7fB7mQXNKl7j#66X=3a61X?Fyb%^k|;6aTsjN-;%g~b7J}iVC;$?9 z`S`sedx%W*yGaQ6RSp#X^26)w!o(1H-m92P%1I}uQ8c{YFDNLeN!4>zUhd2ZJFCNS zTV~>r87Fd%NZ7sV{Kqgbhj>AN!wxu2gV!dmI(K|wVZ)?tG5Iwz{x6LHrY)KZSw3bw zi7#hf5>vtf;3|xkgl<=Y*L#P3_!LV=h(j8E2l8JaLNryS5BR>xej6;Q-XnZ$k$u+$ zSQoYUEerfW3~Wc~Zfl`fD*Vt)+GRt6!g>@kK9_!p3<*6}hVR+wADkmoY&qls4V-c+FV`qu4cpPwiqahpO_1;dEA@Dc`PGeHK=p|EH<5j*BAf z`aaDr&C)5cq)1CkcSuT$NVjx{EG*sKjg)jqcdK+thae?g5dU94==I6~>+{F1Itn;?G>q{BQE{4CH&xN9_KWlYap* zo;2PUIeu4q8yHEib6y-Wr1EBYZC=niO8IxC91hN7{j}RPe={%0(@hLGH-#Pz*@RxPB@UD6FIP1-PlH31fck$biDS2nI^T)|7kuFn#aUJDfU+zh+w$6O2h*=u1wMM(JX~RZ@4{%Mv+;O3$56;9)ZJZXDL(86C@Nt_v+%y9 z7UHHeU&DL-R4^nHN&Hmkw*s7WxWuUHW8fl0~6|!W-}_$pSP{9*3~$e-xbq|+p-{pd5W$ElqQ(qV`ilAS(HZCU12#qN{{5VjSsq*nAuuFsw zHjT_DKiUhqC5hF$D{mH=LzF2~1cj$#sDw{uG*!XLKey~tjl5X^wH-C>>d8}Q@*t;9 z%?G*4!KhT9XUEIx=tM|I*)z#U@DwK!9aYDaNWm%}!aqmjmB}*V8(LOAEZe_+Q7csI zDw9=2?`1%cKdl+03$df$=JOIBU0__hzdh%&|G}GY;PG0JtTo#NlBvMS*xc-537T*t zj3*hu7@Up~+Aqy@i8bftT)(}`dv!m#OLbpb`hEV6S&!B zjwTKSIXr|eQ0G;>j(nSqA`DxS4U=|E;>q?^FMg%93$oPYybjQ!h;-)+?@Q z7Jf+yP)hU@!EB3>JMCZiYDA%abNDkQB~o0)%EGeeE=wn_2zLiWl9+;cK(r}Jd=ub0 zMLql4keKHl3?7ui$Y-0AOfCt@2&=A^kk88+CXSZfSlN}#Ta3*U{%G8RTV;-YVsEdq z%`M1JGK3(0D5*+(D2j}J2F-V`IMo@4UONq76BR{@|B#<>l?L+$Mfbib>4f5j z(C#D^Y=5>2`SRb$ZiBx;=G0}qITuFr8`fl)sj_7>^>QdS1tZ>iBu8i33!8ds0IU?p z@Ps&Ol#1e{)JFkgx1aJYtS~OD;Zq;3^W1!RVAxM_=sukdY^3ZEOl z#vJ2Y21p~TH_Z6Qs~tY@DL(4h-CaaskKZUnL&b^<_P11Is{goGMIqvf@@is}Xwy-2 zrC2t)jKm7qLCD+IfAXm%N}g3llCSF>#Wj51BX*c6RnOCh5ncn4g=28Ad^%?-b5-94 zp5pU(DXgcC1(+*Bd`e-$Q=;PcXDEN!w;1f@lvfa^CET3nk9`L{f6|qQ(j(meec=wfDCE zMvGJMQeHz2qt?ps4f>i92_P1P>q)5qfja>vBg*8e06bB+(FVGoLt!|1HX*I2mfkaxwBG_Kk>?fyScny zby|@qWlEJR>CXno(ZD50ONa`LZ7hU)!Wy;udTpAug#~;i*^HNC@rU1|$d+m~PuhiO zGxjZBUJ6D9^S(KL3D%(TeZ*&|q0&fjdXIOS5!}l}`PFvv%>D)X%n&ABEZ{X$2AaT; zEGe)ABuj$Ox;;dnQQJ9;Ial(ib^suNV#(*NcFbo(#1_glz6HwCh?g%8j(|+GaEY!G zVJWcdi$euXgdbxhf`J?uP?uiALKr4ps7r#inKC%YHo@7Z^@|9c@wb|CkZbO90Q%wR zwo1jp#_~egPHcIdtxgReU}QWVB(2j6tRO_o{mT<1&SA5Odo4%|hF{l?^9FY6^BpfQ zacBInOq4S6;M<~3W}(j?oEegC4lmb^rOt=$n*Rj%AN6l?A&p3{LkjT$86FyIGUw<| zM_D?+(F|q?M<^58C%e3Kl%X3T4BCx(!aCKgxAzP`)1hgx!E-X6sG!yID=^Qdx=Qu9 zvZ1E_1{gm*v>O!-IcD}iqNF=S9wmB%lhOJY>Pa_ogshVW)h=yH0ep*2f;B9Ye zNyqKhT3UHW&GwZ$#T#$PNWFhm#C(M6R15=Dg!YC;u^}YxPc*0?pwlFTbsqtN=89QZ z;aBNsv@R~v*0)C#xwrwQ;}cMQ=wq2Fqr?%2;G4^z0xMa)`wEMV;s38~(JQ5@=m(l) z56ZIU{5a;5iHvAy$7`a-RMK^2HR-dCt)jB9e$5jGk*2YLun7ckM$uPt;*5;VSe^bD zelv-+`$?AfWXZT4?@U0Jh91weq7;OYj^!ohB{tQql z-4idQSCXe3$vyBa;XC|HP_kb5+76|UgP?q};=SpZ4C_%WuA$Dp__b19A-mh9nTDci zlIckt9*%O(NYd?YBKXY|V^i<>!4U6PyST`TzJT%0h^`WG|<-S>v~@Wk$8q|*jVWCgpo+dvC@j?O?5cKgflYo5=Kt!BoL#x z$wcBo7y;fqBKb{COZ&d>a&E|PMc1r&U z-!%c|7BH=2(rcz*IY7*Jli26<(TszLu)9dD8$bLb_kdx~aUi5_xmpHjtxPHw++Oxs zX_Sq^^CX82*cbw3q^;WDy*60j`#kKPpi0BO8dG0 z+Qi3B#bP|wVU<=;7-P>Ag=`O>pob0Gpe=X)-1?~gj7S5^DvKv2;19|ZBGv=R0{=6R zUuz=~rk`lI;;2cuj5r|}<1{c8TW+Iaxs;NFxV`F+db{z;^b(%asj26O+U?V*k4bpV z19rrl$X(aBCy-Q`gaqr&6d6LW4H~JjuqgsY8j1{}{kx`TSMwh9YDf69xx&Dn;o}9q zKq%$=2K@%v!se48e~x z_yWom10snE!#FODeSsl3#~(FPbAKL?BdSBK($rB7)cxL5+nTb;&`dN`A;#cdb=P+) zNPqa<3k)j_*}N`|@F6?Cn?m*b!bYO6H&kk)I}v((lTckp6S1@qJrg4u67&W;_q@|c z8vzn${O^VhVh35TKocX!K;fN!3*|eX4$q)9#QLFTF>AUEl*k>N;QU;c0|faH$!H3S z^`$M?13bb^dEA8?crg)pH=6#UXw1o_vC@vJ1Z#&ypsOVIK4=Ss5LRZ|U5np$vQ+@FPVG zr{$C_?yV$_jJrBCs3tjfLDwDyxzeBbDi*4l}l~y0^R?+Lc_rN z(;r!A9lK^DfNJWtAPJF)Wj2OM-4rOzlNdl(lyCb;$#&hd1oEh;V~51pnDZ#eB4aBpoC(ciISG;IP1zWyvm^-K1&$&kWPoh~gFck7!Bb_H)&CS`VhhGlUqJ*Iwf6+bp^fkE#HVybQ93J~0*& zE5-ch^nafH{cx<9w_QGZp>tQEb7}Mc8fn!aWxFI(3;Z+}M~;{b#<5N`}W_(~YU(x#x`>oGbT2&vK^qcc_`vV9gOL4*FXH$O~H1}OZAArF)hH_lSv{C&LzlScCJp>}wlN`hGV7;7ApJa~)xDZE-3 z=dp6!NqMw+?Olb!_5$g|$Lr&fvsM#6u)e=om16OB_m=9;xu+Lfh)xEh10@W!D+3F5 zo6U@o*yPZmbx-POSEF|39SFr7{%aw2wU*}+C?(0?lsaw8WWC@o21AI!MsqUb40FrJ zYqua+d!CAqcH%NF<*)pjUI%(p=1YAYrT1EmY*3B@+c5iUj{y=&ui#m}8Kgv-?#7`k zn4_V%t%dQyjOL@QCd+-D{*lkog1-R$uV(LgG3M0MBNO$aiC9%-W2Kg;>Q?q&zU>RV zr~FOPADY=6*op6i2+tWMOoQOtN^|eeqTJ|7f84B^?8m$vUTMW#MIQV24ql_&BTzrX z+PttLR0W4RDRYLcfBsI#+;jMWPu+g)XP`bd1x#Xjz4c}wEld89WP?*QA*_ zbiOKVjOrWcJY@IpI<5y9fah};xUIXad96(EcD7CP@XmeS>^K{CzJ%qxw%Bqw_z4|F z&7zGh9R&=tS1k;DmipDR$S5^7N|@MO;NA%uS$I@oIH3J2cE{&sUVQNp-ri(u770s20uWU;utltrUeVH={q#8HIda{m5 zg}Cyaw%<3&g-Ci9X%jf-cHl(KQ!0(L%t96;izMncGPoWcbP5Awe>$K2bs)XkXF7ck z2Z|NdQ4sF)wF%He&<|M6d@j{j?rKHiJB?BwYm?Sg^>`EUHGa?j5u|N@HZ=B^r}fRk zgu1X0X;N;o&v5s*?9=002N!z{wc!4HdSLJ?Gan@C{?g@wkvEB3vQv7@9eBRyjYu6d zk-xp&MviXL*ip9RU)@c^drP(6qmLbRwnzx}r^}TqTkJnCP|tc#dQ-L=9wn0dvI>(< z;VYW|qTZDFW>Ik2Yw;2fKN(ik zsfEyby@`v?zPghv_e;uLC#Bjj3M#oOb$dQ=CpU3lCL3m|88?sgsI4kiXsr-loG(-K zuH;}|&iD2))RCg$@8w+Nn;8R4a&(?w?6>Odh)XC!q}QRoG0~)q zYjniUD~VUhW4DNE)8f{SZC{R@J7B?~8TT6b2noZ6enksct-4sd{U&GBi(LV1giuKS z7O#9xg4gG+M*Hyoz2?#&KO%71GReqZgq^m0V9}+~Qi{i2izMROL9N5@LtU&7kwZPD z7h_G!l?CG+(P*9f0-p8e;TP59$-&ia?EY%3wD_Q~X&G*MM3$1s=7g}{*V2`KQmrJiZ*TQ_N1fiGEpJiX={GAv5_4`7tp!QZ zTq7Vq8(gHSzk1uV*LIcHJ}tAe z6PlXuH7`Yug6MCoJeJ7jEd%2nP1G83nXv6(X@)$3mBL2duc$cuXei`MUtl4grfH}aBFlQY?i?3L+v7Nz3 z{$9r6vt5=7E3~U(%KE<59+YcOib;+f9x{nuC@kA8X8r~!wAUFhp*x!Vn2m?C~l8|iX zUW4?CE0W-EOKG|VGg6+qJ-dN|cQyrU{QYaOQ7C-}rZu^3Xmh95xhS2K^~ab=If$KQX5^@d9Aj*23J^T2^TMwFcB{|+{ib_sNGYBG#_cfD_dTkCH7nC zA%V}G1+yq(Bh{Oy&-=q1TTr7Bi}}49g0}grhOKz(fDwNv&|ITJoVx40`M@niTV|O4 zH5^NZaFSmb*@q2eK%SsAtaj~!2nf-q!{$V)aioB^itUoSd`}*=*@fzoGC=| zMw&hJnkn(sotH)%bJ$jf3hd#}FeL>Q8lR9fn__Es6TJNcEAiWSofBw(l0Q zmxnwOSe9MGay%s{uxiB zS_o1btpJTt;&}13v3qsxaiO|jrFDd|jMSfCHTg#s>!kRhX*&F6 z4b~0Dp?Ky?x6>QtnO>`SsNz|^??5}jb54acVG3+tk<>nhk!|3OoC))Oc6q^AvL*gm z_g<vP9nZ@(nvS?&NfoIo zmb#LPW{+?ERzy8kf!0*fD`wfU)?2})rP1MVI^G@EG~Ej)xndXx2?pI=Jn4*!yiigD zdYQPkIz2e9j>TMNj6`t{sv*RCxGT1M4kNmgx=rX;FxjCrUQLcc<%b$yqSFhFHGpW^ zmQPlpJq`kAneTIAuXm1bJ)lxMD&u@Ai$Be$j)xRBYUIych#+pyX*Man&~^_HzS80d zg3k~)8W|6Ft7YzgK@SO1(D8+YogJGj)tc>b%Y9r?n)?N;C)*0;<3b9SLWh<|lgpB} zlXbiEiN8GuN6b3JVxyUd2PLrX3WK~4lGJk{;qs#8nzBF7SF`1fH3hJ~%tH3|nlu!! z@B-w*{e~ZYxM;#PdP_E)J`~fP$Dzu*j_Ix_>_&KLb-l*w5cq(FTpnA!!Y;0922Pk$Jv!|FTG07?XzJ612(rgm3nALmn z;)+aSB8-Papgh)B>*2^fS3T;zJq-;i>9<$4Y&q(n!ps-R5d!Ez3C`6{>FAYKOZr-B(esy=r9i~3!=*JQLQP#Kzr1s}$um6r% znKah478lX^piTG)XFwNa^{Z{D{6ur!s;J*fNo|xehR$HRHhYYhUm|)rK3z!O{1n)_ zOyfl|jY2Sgw3WXP`P+I)x%=v9T&46SdZ(~xhkH?jPHrF@5 zp@$zb^b)9qs<~mgeBl!|$XA2g@5Rzm(Km_Rx79Mw)*aHPN+hE0qUIjvL2RZd&9VuZ z;2Nv_d1NiPyJSA=bG>X4pRPr7EWNe-7ee52>Qm#@VJ>2%aJ&LrlNvs@-$*{!fs~4| z#FNAGYF-nQ=$lvBtbdRI^Q=44cUO)zzod@T4|$7|m*V5Ng;w=2eT0A%8jWH}*SBTg zulhE6q9{;}Ey|G__N%p-Qj=$N&Zbdq^=CmwMV|KOg3kG%dbeloM{spf*)=8lJp2ie z70MteuuNrmZoPuc`my&jT_od|`{-CznQ-jwHG`06V~b z*r2%&c^6^7;F*(quVejjdwvsMNlf0tTJAGiH(ufqfcSmtqz#M}T+k{1-$#Q4GAO`S z;>?OjmF4i#Kz+|1rqgw@=lQ<6@qVf(wPY2VqWHR3DqQ*R_QWKCwX{70a2YX`|NXx< z5>f_=POrh7=?u_NUL^9sDv%XqhCu4S$Jw5aA6CpG&;RE*q6*9#=iix#(cKX;;)&}K zewW_sz1zZc^L?+gCNqP$4Yi39(lHwgyHql)8Q R0iRJqP>^{oT_tG@`yWDZ?wbGr literal 0 HcmV?d00001