From ae63a7a4991271409bad09c3343a611e418c2ed5 Mon Sep 17 00:00:00 2001 From: "595208882@qq.com" Date: Sat, 28 Aug 2021 13:32:18 +0800 Subject: [PATCH] adjust --- Database.md | 2 +- JVM.md | 58 ++++++++------------------------ images/JVM/JAVA虚拟机栈.png | Bin 0 -> 57025 bytes support/lry-darcula.css | 18 ++++------ support/lry.css | 16 ++++----- 5 files changed, 28 insertions(+), 66 deletions(-) create mode 100644 images/JVM/JAVA虚拟机栈.png diff --git a/Database.md b/Database.md index 652df6e..2c2a092 100644 --- a/Database.md +++ b/Database.md @@ -1135,7 +1135,7 @@ Buffer Pool 的使用大大提高了读写数据的效率,但是也带了新 -## SpringBoot Transaction +## Spring事务 查看 `mysql` 事务隔离级别:`show variables like 'tx_iso%';`。 diff --git a/JVM.md b/JVM.md index 264256b..821f943 100644 --- a/JVM.md +++ b/JVM.md @@ -159,14 +159,12 @@ JVM试图定义一种统一的内存模型,能将各种底层硬件以及操 ### 程序计数器 -程序计数器(Program Counter Register)。程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。**字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成**。 +程序计数器(Program Counter Register)也叫PC寄存器。程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。JVM支持多个线程同时运行,每个线程都有自己的程序计数器。倘若当前执行的是 JVM 的方法,则该寄存器中保存当前执行指令的地址;倘若执行的是native 方法,则PC寄存器中为空(undefined)。 -- **线程私有** -- **是一块很小的独立内存空间** -- **随着线程的创建而创建,随着线程的死亡而死亡** -- **主要存储当前线程所执行的字节码行号指示器** -- **以一种数据结构的形式放置于内存中** -- **分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成** +- 当前线程私有 +- 当前线程所执行的字节码的行号指示器 +- 不会出现OutOfMemoryError情况 +- 以一种数据结构的形式放置于内存中 **注意**:程序计数器是唯一一个不会出现 `OutOfMemoryError` 的内存区域,它的生命周期随着线程的创建而创建,随着线程的结束而死亡。 @@ -174,12 +172,14 @@ JVM试图定义一种统一的内存模型,能将各种底层硬件以及操 ### JAVA虚拟机栈 -JAVA虚拟机栈(Java Virtual Machine Stacks)。是描述java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。栈帧( Frame)是用来存储数据和部分过程结果的数据结构,同时也被用来处理动态链接(Dynamic Linking)、 方法返回值和异常分派( Dispatch Exception)。栈帧随着方法调用而创建,随着方法结束而销毁——无论方法是正常完成还是异常完成(抛出了在方法内未被捕获的异常)都算作方法结束。 +![JAVA虚拟机栈](images/JVM/JAVA虚拟机栈.png) -- **线程私有** -- **随着线程的创建而创建,随着线程的死亡而死亡** -- **JAVA栈包含多个栈帧(运行每个方法,就会自动创建一个栈帧,用于存储局部变量、操作栈和返回值等)** -- **局部变量表、操作数栈、动态链接、方法出口信息** +JAVA虚拟机栈(Java Virtual Machine Stacks)是每个线程有一个私有的栈,随着线程的创建而创建,其生命周期与线程同进同退。栈里面存着的是一种叫“栈帧”的东西,每个Java方法在被调用的时候都会创建一个栈帧,一旦完成调用,则出栈。所有的的栈帧都出栈后,线程也就完成了使命。栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、动态链接(指向当前方法所属的类的运行时常量池的引用等)、方法出口(方法返回地址)、和一些额外的附加信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出StackOverflowError的错误,不过这个深度范围不是一个恒定的值。 + +- 线程私有,生命周期与线程相同 +- java方法执行的内存模型,每个方法执行的同时都会创建一个栈帧,存储局部变量表(基本类型、对象引用)、操作数栈、动态链接、方法出口等信息 +- `StackOverflowError`:当线程请求的栈深度大于虚拟机所允许的深度 +- `OutOfMemoryError`:如果栈的扩展时无法申请到足够的内存 > **相关参数:** > @@ -187,45 +187,15 @@ JAVA虚拟机栈(Java Virtual Machine Stacks)。是描述java方法执行的 -Java 虚拟机栈会出现两种错误: - -- `StackOverFlowError`: 若 Java 虚拟机栈的内存大小不允许动态扩展,那么当线程请求栈的深度超过当前 Java 虚拟机栈的最大深度的时候,就抛出StackOverFlowError 错误 -- `OutOfMemoryError`: 若 Java 虚拟机堆中没有空闲内存,并且垃圾回收器也无法提供更多内存的话,就会抛出 OutOfMemoryError 错误 - -Java 虚拟机栈也是线程私有的,每个线程都有各自的Java虚拟机栈,而且随着线程的创建而创建,随着线程的死亡而死亡。 - - - ### 本地方法栈 -本地方法栈(Native Method Stacks)。本地方法区和 Java Stack 作用类似, 区别是虚拟机栈为执行 Java 方法服务, 而本地方法栈则为Native 方法服务, 如果一个 VM 实现使用 C-linkage 模型来支持 Native 调用, 那么该栈将会是一个C 栈,但 HotSpot VM 直接就把本地方法栈和虚拟机栈合二为一。 - -- **线程私有** -- **与JAVA栈的作用相似** -- **主要为JVM使用本地方法(native)提供支持** -- **不是由Java实现的,而是由C实现的** -- 用于存方 **局部变量表、操作数栈、动态链接、出口信息** - -与虚拟机栈一样,本地方法栈区域也会抛出**StackOverflowError**和**OutOfMemoryError**异常: - -```java -// 原因:对象不能被分配到堆内存中 -Exception in thread "main": java.lang.OutOfMemoryError: Java heap space -// 原因:类或者方法不能被加载到持久代。它可能出现在一个程序加载很多类的时候,比如引用了很多第三方的库 -Exception in thread "main": java.lang.OutOfMemoryError: PermGen space -// 原因:创建的数组大于堆内存的空间 -Exception in thread "main": java.lang.OutOfMemoryError: Requested array size exceeds VM limit -// 原因:分配本地分配失败。JNI、本地库或者Java虚拟机都会从本地堆中分配内存空间 -Exception in thread "main": java.lang.OutOfMemoryError: request bytes for . Out of swap space? -// 原因:同样是本地方法内存分配失败,只不过是JNI或者本地方法或者Java虚拟机发现 -Exception in thread "main": java.lang.OutOfMemoryError: (Native method) -``` +本地方法栈(Native Method Stacks)与Java栈的作用和原理非常相似。区别只不过是Java栈是为执行Java方法服务的,而本地方法栈则是为执行本地方法(Native Method)服务的。在JVM规范中,并没有对本地方法栈的具体实现方法以及数据结构作强制规定,虚拟机可以自由实现它。在HotSopt虚拟机中直接就把本地方法栈和Java栈合二为一。 ### 方法区 -方法区(Method Area)。即我们常说的**永久代(Permanent Generation)**, 用于存储**被 JVM 加载的类信息、常量、静态变量、即时编译器编译后的代码**等数据,HotSpot VM把GC分代收集扩展至方法区, 即使用Java堆的永久代来实现方法区, 这样 HotSpot 的垃圾收集器就可以像管理 Java 堆一样管理这部分内存, 而不必为方法区开发专门的内存管理器(永久带的内存回收的主要目标是针对常量池的回收和类型的卸载, 因此收益一般很小)。运行时常量池(Runtime Constant Pool)是方法区的一部分。Class 文件中除了有类的版本、字段、方法、接口等描述等信息外,还有一项信息是常量池(Constant Pool Table),用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中。 Java 虚拟机对 Class 文件的每一部分(自然也包括常量池)的格式都有严格的规定,每一个字节用于存储哪种数据都必须符合规范上的要求,这样才会被虚拟机认可、装载和执行。 +方法区(Method Area)用于存放**虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码**等数据。 - **又称之为:非堆(Non-Heap)或 永久区** - **线程共享** diff --git a/images/JVM/JAVA虚拟机栈.png b/images/JVM/JAVA虚拟机栈.png new file mode 100644 index 0000000000000000000000000000000000000000..386f5a7d10d4a515ff9315da724b776a00ead9f8 GIT binary patch literal 57025 zcma%iWmH_t)-54;LeK!g-QC^YEx5Z|kl^m_L4rf$?(XjH?rx3C>zs3Q@AvclVDw;* z-POCQR;@MXTyuxY%ZkCnVZwodfx%0N3oC+wflGn@WMQB{R{(ZGRbXKFU=qRt%0EAx zYD50Q?wjXfvb1+05(Os+_!)ywM{pIm30rl_ukG^6XsFd^}%v%(ONKuw5(uB9c2rPK^N`%-Skx7n1go(!iv`7Tv7w;Yj8F(BJH!9Lyt%)6a>%&FAS`6TlN>g@RCW(Y_n;MVH zGJe(ntWBWNdc@*QeaKo6WtIzxkE^W7v<%9(G=1i56^7V3XpO{Lzo7H{(5=>B%pv;n zM%bQlhur?S^F1Q{4Ng?fTd21Ori(;#^hIyG?WaTUV@9*x+Y&d^HFqnIKKXw6!`B8c zW<*U!HaA8F!613Ktm`erZv7SyLojute`6v>7(y|=a79@a3|x{Vq4OsiX~_3LBi}vh zv?eQX9n2qrYJoWn*(#BDoqZoO;&tR{F~`Vgw<_;vDpo5I`Nm&i2JV~C(i%#I#xUVM zKFxtvJ~l~3`*=nJ6}gR=94R1oYtbHtYW_X&KvXwErv*ETo^UayPC$G`KzlsqO~F^} zNql~`I)ThBCuiVeSQ6o}^+F-m@q$H=dpkQQ@^2s&m5Qed_iz27Gid1+-mw0L^N>*I zpyG99ncWz%Sor*Cf6{1T4j1zFtrkQH8%Q~$rwhg&arIUuY z$kTM{6hF;2R|*wdEkAK~$UMGujh5Xr9){b8STk*J7pt)`VRjO~h}qPfnVK)LRC&NAa8 zi;|O2ClTJI9Juy%sxo+uw-8p4k$6a`$KPs5QM3L%d2zu$vH83DX{cit9^OnQH1A08 z7IlatvL>>mNu?RS&N6OWdsPd))U-M?X*H~RQuCaxZd(pRKMi`Del^=c5XNG2Ujfz4 z)JouK*$?e0q$DJ|khJOgDh#jL)!o0oz4yd?nAq;*8SkA=WU8|0 zF`(9FLPsd)L6Vvu@7#8(sWRvRPhY%H*@#0Gfgm7~#Qzy6uQ+Jj9zYm|*p%H!n{f@DpnJ9UT6?01G%}Le;EUAmXWmn(m%6cEWzP8-I&7 zuskRIoOVsWPn{WJ8TAu-ZrVccb^ojV!C(=)MsRBpSH%T0%$i;A^XB8~^P}GExLJr4 zbX!QBX3|aqnPs+YB+9D9WpAw==l|wX zWqQyYDKRF)RM17k3W>iH>cR~aWcQE$#0giC>(MPSC8VSC`=nzN4AfN3u>tm*skM;E z9{%`*IkyA}&CEq%vS#mw2J~`{_Hvcopf1yFqqsYJp!0Zqo>{E3$78P8kbp^94oRK2 zq=Gn17TM72NlIL-+_OEMHp$8pX>rRPnZ@=@Z%sY6O-xOVa!N}wIPSKM&Cq}^VOhF5zaBwX!!WXwGa2Qv1KcfnaAB3|7J5y*PiayL1oba%eZW(r)hJSBC{gpt${SnJ19a9jeC!tnf(621FMDnfo3g zuUx+)zG9&hl90gLzI&jXP~%2JmUs{BkJcI3TTI!p)mpE@zc0Qz*4iw7g|}e28Yd_R z{GX8e@+YLA4;UK=g+n0%+^GX4oab|$-K?X@`|9BzCPH^A?e>(J3#U+}*l1Bd$;`N& zO%>~q$;a^MihAJlGL&fJ;rdLT4mskc)w&QIm2b( zc~V3jyFw;aXySW5sb*s3ZQx+tqqb>QFYF{mf9Xqv?g&|J<>qGCwtA^~-m8xEk%hFt zE9#U<{-#%A_IIyP{rTUpr5XHGTH%pGMEmqPu|KF-tA#zK)G+$P(*L8;a%Kvd3D;5ZKW`oljS;2`y z@NyOAeeU||usX?rN}#Z%QA<8=T;3ZTe=at0C-&@lR5h|?rUigkY`SqeO`Z^Bt#)AB zD$BI#fqXxSAUQGFy3x%P4sSlY>>eC3R3Wh48IeM8g^fI}4U5IGt;0&B(_s2ohIzUl zk6A@6fkhyl%J%u*(+Rv7FyC1w=1tox4S-WurIue!;X)O3vw(W4<-(Nna3XzsaVNCF zefhSV_fs@|{?m-<2p^8re*s*gAE-b{`Zjq)4vw#YsaU^^G(0%k{(xcZHh<7xAAk|# z9#LZcyp$IQvAcHFkfXXnRB1Vb`xrTpUK&^`+=_7H#qvl|x>^aQS<|q+Gy~ATeyNE0 z-2i!?&ix^L{w1nvX5;SUV#&=XGb$z}P;hW)E$oVELwJH!Ofp3_QsjpFz4%o8iz4Cr z{lW3P1tl5FaCO*`fLcAxU}^FHTgP=&S`Qyhu!Pa_C$ddX}i@ zZ;uj`GV%0ELtPSh>1RvS^^{9IYAxWWs8eSSi@dr1V3hN|z2Mdm^Kj9j3@LlPryB?R zrvGINV#q(K&$rGXk@CYgwrA_52#3>BHU_sROE02uRk`FuWAE}?-n{39)D$zV78bAc zSKq<(#e0?0DGNRi79gYt+cQn+Mk{t1mUDbHEzPqOx62YSH`g(^7U$*H(>dpuUEqZy zIPd$JgvZke5xe=t3Nf8YI&!t>`1Rf_ncboex-XYcI6#q^m}*J<=eTzf4y#dlzl@kC zwG$AJtu!x~^Thk+`P0M31D3sGG?m>AAD=*^MO_u`50)S=M-0#xcpQE(O#yzJ)=fX5 z{TJCKhVqkBj^igT<<))1gxJNh%0{(IJqEb;RGOCfS2^z(P;1>lMvmzU(F+9~W^7W~??}vVK>3QG29M0d z{qh(1A4y(x#7FmmL{(BVxP?k(0@8TTD5A1DtZ3y=LU&5Vx-~@|4w1<#72)lD{beO~ z{0B-gX~|SGUg-`>isB;6nX)oZSDY^xMPBY8G^WmBN=f)AUR~9LH8;rfAY9%o&;Qu1Gla^HBt!{kr(%MnIy5qXMM#&56>!Tx-cZV_fF*hJ~c8D{fHuR zR~h1*Rvp^ii+gKZq&PnJr*JFuELq_|7PRZ*{djbJ((TXZC<(uKvni%t+9Fyxkp`-T zsg%NO339jr(24kcF1{nLLXX7cDuqtBJ)O(JdMl{+r5YJ@3H8|r*}(0UTB83lr)?zq zYUQh6qyo8O;^L?Y#D}vfF%g6sd7h&F!)UU0%8YzTB9`UI9fKqiNVarfNueTxDAyse zx&p}C{vw(x5xY$X!oI>z+boS|{mF~}Tc^(utsL=2W~{%z2Ki{{?-JQp{jQlC2;nX$ z7%%-SVm8S>6n2m#AA!y!N>t%m6wU_oqZ}FkVJx9^66+E<+rSkRj)=mYI8?uAt)yY+YYhKc^?G!O z-s;^i&MQ&_WtpHmW^JQNqWecIY$t>%(%ZR+1}_93V=Bt#TTI*qg& zc!@nL{f~@MuL^O^wl!z%x-&ssMHNZ4;~76QM)B+J{)I+uclYw+Q6Nx|jhuEdv-_Am z?6tx?QFy-WARnbxUA|C@!``S!E48%x?}5~V0pWiSX|dh3)E8$Hfo-K1L#>WhL^ zP=q77)0O?cTb?(f!^duVHS{ z9>ML9zbnNTzc(au?SL5i6VLo!LalcOfXN)iqDY`%5opFh^1qdo&xWDaWJ8Zf^9ZtI zj%YhD&&}b&7+BpMw>TgD@GNI^F+8xxpk6$ zwHL9~2mLxw!aa>YH;?Uh%$^)Z@5rKU}&D%RP#48l?EcWdY;jZgVPyZ-0uBS85ogk`3^V3R^~U% zQ$=qCd~CrPw-y7-eNGSVD=$Zzrp#N{sp6tS)i#d1bGzEZpZ2qRi!nXZPDj!ksli~cez6IqMhiXYC5p#FFm<7KExyoHMPG8~0^eJmf;|9kdGGR)736U%4b>zT{%6z{k&dbZ&YM+pcy9*Q-70Q}Bec)Zl z`Z43#>qctPI{tmon@H*_crL~N(gWHDZ4NUW(qaK57Ocfy5MYLG-bH^At#B55I;*u-?UPi3aj^0B#|SN=HWWp=!f&S+FgkV*+=DOUQ0{eY(m zN+cFqBf*UBx|AQ+b$EE_w)kP@2mkBx*d$;rThPz3I7$$!p%kK<;&AQUt|E%B3}&`s zX}ZB7aT0c9K|!l~P|+Snz3J~!tb|A0gsLc6pzCMa&$q@P$h0T1ZJ7e1O?&DP_(OuU$4ao zoU|q~E%JcIF; z-REPs@(XX`8V3esA-)1^5}{Ll7_W{cZzxXJky-W8*HBlP<65EjahWO>(|Eo*ab$L2 zg@QN&AX{~%CqL>*Xl}I7zc#^f3LqR|F9HeLyTH7o|Lq;(2i{X9rRm9>bsPS{n;ivU zwmj;TIGkCTxsI)BZRvuy=OZ81wGtK^|TF}^F6~^(!oAi zm~@eh>mO|_>zJsM#fSl!(2M(#r(niu2TLNpR1bnF5i~S^5DgoCa8su zH3WEz`rcfCtf;>R4ZZtg06TcjM0^rF=Z>$ES3gLI=yAF@k92yoyk!}3W^vNIA4d(irW4PUKQBQ%r~hupOh1Ok8%c?=kpt1w$M4+a2sAUr!_oN}0a zG?TA^)RSmeLHDBM)ew(>E*od$C36u`Vx&1DQ zbn+_-*q)=7WBfY4Sf{Sb_v{~fPeA4F|3Fq`$o|Q+?BQF{6l&|^D@{8!%9J<^i^XiW zeOviGb}Lm3xk5*5K6_)s#m6?7MCC&nVsyn(>ZARp$F61)5y2HoN!~>hed|PFRfRLP zlz$HR3KRG_hB&~Iwg|)%5p6JE0>?{-j)s_1f8=ntUxe=uS4=n4^Ic6+tp2Ctt*hX5yj@M3bESW~M%Lw`AZu{Ea(Kx}{A z5y{J+@AdsHhr~mWr}r{?KUr$i!d^{Wa?rgV#+UIje=75E-Ed$h4^X{W znW8pPfcr?{3KPtj=Q%OC&(6=GmdIjmR8%_ny~?eX0An?c=9jZX`0$CjnL52m(>~;k z+vuY8NFqYg)vvC^XyZqPO0UaB^xA-b)`klPyvv>z^^0NO)1#S+x9X(C(`%>@gG(Rt z)k1a)5@6fHc($Jex`TMfoS043U`ZENpIVm-edFcIFN^3IuP?o;=%ly3p-(=yj*OUB z;iC)RCtFW%u5#{EZ{D1lq}M;p(_np=;&5e4E$_#WH?ydoV)wSAEZ}N2UHWw9id;CC zrPo}mU}YDQC+w>wn%?m0mJS{fQmJ~!XGhdbZkNUj#CFFsZ052Vl?;~U2m7`+geh{i zDu^U&wUB4NS2EcncPiP%XOq@PA*@m@K3!__^hM1^6HXJF=WqVa=_zsMZ6IS?qg*_GU-EV^UBsh_(JQ0^!^| zMn-ODJgW`WLt;P164eT{8r#<=pl4jcYXP-CE|&$h`5$4b(>dJ7lmad^UzD11dj+NM zy3RYtJ?+D``^~^K-ek7At)uz8F3bm)Jumas_pNDxS_}~%afmHDi&1Y1KN75itu(%j zfh<~d`~<4-yDo*@b3_wT%Y^fdZOeie6Py_iSusL_+haTOx3+ix>g`B(LLRPt z!ddB}$eAyVav_Kf$UpC&HDiA7#qv-_M}l(SzTW8V!qt<@!VaE$I)QNLQ}n4TMNn%q zRg?xV(v8Y%lxn|rxHqtcK(sx~<%oPF5cxfiIvlD*=?LbquMl4D7ySo7x&z$)L?)fO zM!VOm+ib~!_9A7;6$0Oj4^cEXviI8~877OxE=mj%k!VP{>&~Bs=T=e$?zV{C! zx?YdQLkoA~oF~+dhm#)$@VvRpoAxn1u7}8AonD?!D%js&ZW!#hg*&w8>|cQk{=!GT z(6}KjSG6BS6HsBp|Bw`SG5!Ib6xQvyC;2y`6dmc2g>lgtp1Cd#KiNok5R(@&veIhO zM-tRprCVPkFbb}Y#l6$f%bh~a6BR1_y^djudzsbQ%UW-@w`?0tKzI5`Ch-BM7fH}& zUBxy(Wnh)ttYj7D?@Ow_j@aN!{@l$S*jH}_*YG@cPshn^Ep%%t%`5IbXuItRukrmzkhu9>*|i5*ks< zd5xVl6!fIFk5ViTLs4b?gCf>LkrmVg!{B@7k=Eo^alW9f^rMC&5NW`^;m~<~b6b5l zZx@%55Nlxdw;Rj0#itodlh8w0yV1{7?Ebds-e8z7*Gx8>R9ZJEKGX@4(h}oy=ukhp z#BA>;r}K=Aj&##~>gbR0mCFT*Z+1r|EzivycL)0>Bki)@)VRTYmIb*wqC!O{p8I(Q zo{6pN-_#Yc>%)JcZ-W?dIE&>xOjpzWy8Elwh|E^y(I>iA!~qaJOl++Nt{`#z$nvN5pPqIC$AeXodj4=?5~hmMrZ7mVWd=$D*3uVm1Yu)#=UQa6m< zNCd+AHpnq?luAJ_{hDFr0ZE>jt!F65b7p=mQFuosJ3lkghr07zGYxM?8!k_}E3TFy zN9>of(2aM-N;Z!D2|i|sY($AYJ5h4R%F$72)Er5{fzOqwLWd555(2qVp!y9Q0zjfBDjsY_?<5w z#&wHGNtXn* z3}qhYIR(@8Ab2{#nb15UoiM59c2+~Z`fR;GQZm)Y}rebRrp+}dwEQHM{3rp$(U^R9Wbq%$;Cl#4_c1uYO)ZL9RC--hNjnIma-bw=km%lJERh z1!Hc;(olZkW{-|8HS&?lYasnA%2b}S=B{Y9ofY0hsFsAD{y{PP2~&{@r>AjK{}|T_ z8mQsw_dzaO?%8lE3#|dpPA~!$r)i;&z3`@k;YZ&DufjE7_I5}z83^lfA6ol2qiZ|H zO8>4hZ+l?J5yi_I|IPKxqZmE~Dzt=AtCW1sr)u_3>$ZFsQZpX@jmO0$MwC&!GQN|RVVjJIR5h=z*MUA-`E|9h%!ivRUmItk+p5d?=A4c7~!5srgD$d7sd^E;?Wy*2X zu0US5D&asH@UwQGEt@=-9QO)LkA_e7r2VUDgs2)g^B8kzl;-o*Fm%7Mdt) zS|x2OtzmyS)5{+xQr*ixf=DA`19R+kR<{t4z+$_OeUSbmiaqs&(OaY3>*m0RN)jz;rxSLbcRbv!$m=->~HfYyzgF!R;|q_+MC4@UX;m`Y5|SwHU7#o=Y- zMulR3x*0H;fb02cjr;pL1NL_BOK>YsEcr!rW_h6GOMtlBi39Ls>T*ODEuUywnb$$V4Puojp zY(z*R|0uVKc>vRijKKOl^eniTR$@Y>Xx=CCb@ymIg3*r0+Nkvijr|Qhp9d8CL`=`* z!|-0uq{F<|*ZYl63^_X-p6Tqb{S@6Za(p=M=S_gph+N*euMz6~Ue{2Ldw%8=wch`z zU#B53F|h%yG8j8@bQ?LlNMA101{9)=`aV;3t8Y@Xp@UhH-4e(g{Mkf4k;81F=Cu}o~#gaDD1Ti-r-~0 z9z{U1Lnn9O%4iUSrfscRRKYDaLP{@T+C0HYMvk% z+b>ziO=6j6CxXfDaWDDVDAZ|n6PIc1u91M$GmE+Lpvd(sh|)dlwK!3Bz@U+ z5eG}i&nXbsZCl}bD?DJ0qg1qp<@zYYLBj6AkZ<$5nMi_YY0|-~UxrV3WT+a|ez*Wq z>`XPRV{}Ye&vtH_vzEK+ zm#WzOYeO}2%-ih^>xQ)e&lDg>r5CMg3sdttssW?Qb$CB7=s* zG-{Rntfj378ScV)p3irinNa06xn4G`j~nlAss+<-w};t%Bw^?@8UgjzD`C{n6}I#w z#a4pq5OrxXtz>og(hcq+l1M{#%@r;jJ-}cq5T0Po5+-6L3!c)ejm~;i3R$RFC zbHsV!w-QosX;6vymUT*d9^;VkhbIciFQb5BrRqBEwo_q448weMPGky-dCdu*DUPnU zADYW?E7CniFJ#+`9r7cn6F;>NmzA<1xa>O%y+I!A6WY|J57QTj9G#}4jxz#E%RMIWC zCu#m;^XQE7_lX0Wph-da8Rd?&>-&skZZ}}O@PwRv5kp{m8i9|RhItdkbJ7-*zBro< z=)f0<^&rqq7}rf9bu&Pv%8Us3I7;kI$@G*;9B0LVINv}?j zT4jxUw|q6!sCL+8!;{RN%RZCjEf$97c2a1u*{P&sDE~NjVn#`hXD^hncM zG+oCF@@h}$3c@7{CE7pg{-O>dxdk@u&o7U{B$*yD8M`R?ImeC0HlF(@7W6njUKgnx zOE}E|e1f9fW#u+(XGL)P?8h%g?K%~*FOTLM*AmgX3dmkf@n`iK^f((CN@b%GL{i2< zHY>`zCh=)(wrJDcpU9D1r#xtP5TKG+tQIFTk8`3CKi+V>irkd0pRUH?V<734|A(`H9OR7Tel;;Rey+~q% z88XBY#L}xHMIeeoI8aaXk8?mi5vkI?nDU*|_#!PfzuK@t#v(2t#;P%|Po_r6P5K1h zKMqeuiWKY#*Z$zNKql=8OYQn0QB~)|z3g_i_iK6jyuS47i{a0$Ky*703>?1unCbOY zq!!#t?=R5C6FiXB{_k4beT1%(Q?HknY5*_&p*cFY!h8=d``oLz# zd9nIqB9Zzo)Y|K2jP1=-Uagb!#fO%!e`Jgvh^@Atkz2Ab{m=1KW(9XN-bAD9(%Vr+ zj6J)5C~r9zJdENx4>?vnXxLC%;&3Zx!!u-y5pOhhlm3=$bjePBa6IKu2B=QOoBdj< zxo9sRee42+GQPzgUN+J9ta{lcvOD<9aq6~l*C9~t&d+EyV>cw) z1P-LKpJb1KD=|-8FzgS#*5XO}uQ`ztKI5~19F zn|5EpSy`>AcB$I6d6SKFi^Ei{G2=t|^#gJmJsMVJ(C1YXr+zuuG*`NXUZc#Fgme+d zt_z=OX8a>-C5HM$$|Qz5U$1Oms9&Wa5qE6NcYpEmfhXnaj5Y)Oao{Be@r$(TC8>y+ z@A>N`G1~82XuF2G9Y$?g)x+5bfE!HI&!mb)B^NVvShaR}Rj973Mpu#iNb0YFQHkIF zx@^B=_~J7Rj*lm;7XSbQKu#nMJso=iU<;5X8c);IYb=$;lSPBn9VJle;;09qk4YYI z?66{zvi}?jb%*dd3Hk)Rpl1$U8cQ9H&|u)doi`GKm_vc_f`MqfXjbdxL0x@q3FZ6h z5!(3ZSiaZWnZWPy9>~8JbiLcezcs`_=c`SNP7B(vhB7Z8u=W5dQg;CVoVWcA=KmBn&0 zTPT>_zG2mKpJ~h)G$lMTIluZ9n-<@Ivck)QOz&;b+M@{ybCB@YlH$0ZRvk{~e-c*| zZ{8nG@h6o@MU@xh&aU=kA<9ZjRbiomp1)B{4{?n&X?hBhPw*$SHPo3W4SJ3M zaS$XF3EFLLETA_XuvEurTxL)W@X%FF1c-SFwDc? z9G$NJbgAa*VJG@|sT>cUnH0GNgtgF#jX^$?HvHmevFt=D1RHdeDd(CC&t6*&eQ)p=i8 zXp7_i&2jP=;H*KYK@odc;E+gJz(AF>mWy_-@|bpZVnWbnm$6e?X7gS`f59$PM`p@I z!lEVZ~J zCYgZ6daLWIBmQeedF!=gRakyO!LTyk5TXQ+sD2>-b0j}W#o ztssU&GG71^1*F)P>#eEg$z>6yDF?jbPp9aLL41JlM>i~42&C);%T!a-fwFS5k8u&X zJ{8lS6qdyf;iyL`JO0mJ5#iLP5^GG$`tf%VlpjyaFMiB?y#2;`Ry#8ZQiZuef|-HS zl$(vTx<;wl_hKbL6uYXakx@usxI=4j9Zo@0A6OZ)&BN6IUf*_&%^GJF<5|@J?xJNy zn-OR93bI|k7Jcjc+w+?;5nyDI7jOg0h=Ji*>JNSCbat_ z0{1^{4l!)|09|RSIZ#4;H6(5HyG;Kvj-*RYlSTKHtwyWbC{+5@J~ir13OlWl548b< z+%l%7DR^M(~N5xvu~a_h}F*TWGY6B+JuYuxxAf#+6! zbw4UJfTOREJW3 z+K8zZ3)7NlH2e=ocH=0LrsP7dPg`t=vR<=k;ce1vcmZ>VWP3qawyj8@rZA!u+Vj|V z$I=P6h{Q$)nUg6{oL#7@a>UViT^nDt-A8fhayG;-QV85qCDH2}6$S98{Q3tUf`EiP z8pH#>>Ey2?`3ZKjZO+^d^FZ^ zKV!l6yq#)%*bX;VZ`bV4f2!4}l1nG#0xkci2NH!0smG?5%o+9Ojo5lQZ$gcqjn`2n zTdQ&rW|}sq8GJ)YL9MOac2ALBAQN@k3gV=0xRU=1c9^EziQRw=XP>1mbAjzw8pB&t z13hgTDjP~AC$g|eY7)V|>wf~{k7W){lpk+d*&Rd?!gZs#0uw_}<&*LPlHx4Oo1j2K zPaz_hhVgmFyH|=$u1KhtoJ|&O93YlRENq5N0_8RLmzYEMM1WlpFDz{G@((hbg;*^o zd${N{X@@;58lGE{oO4ipl`B9z${IToenPm?QtPLnPi|B|U-=AGKgK)hAQF62(f%}i zZ~pZ5e9>pn=j9+7qeATR45pFNXy`(3hxOr3y@TZ-3FW;S3dABs#*hDt1oQd%hY($g z_ASc0JreyWIkfw~+kb@mjF^dit}AS6RnBS1i<8FE7!ctKlJb*zBE)OW#fY3POAn2*zGN1o=NTZFdFdnvYd`U)C~<_A4lSq8jvR44(gi-+B8OF=1Bl< z8WVk_tO|)9mXMxQr;0^CA(ff1t=jqDCRTGpKanYrb-edev`Eo535(+ZV2ePSUVm6o z2Ad20#Ml_*5SmaW_f$bTq1q@PkyIa;(f{1}>PYgILA00y%XdzB3-p5t#$G-?rmCy#TVR zwN*S%h*v@#pKpH?Dkw^!uI#qUe_j=iqdN6}`%bJ&>zlI|?4_38{^?FV+MH(_SDIL* zH#}2+N{0Ce1MhR`KszISnUUm;djFF#Y&O?udn=kVPkD7m9pxVy|znU=8t{#R*p;e?7Z1Om=Jw@>>vRodU5KYlI=nCF{ag2`7Y!R%xQ{*2)?ROD~Sw34O1gLXLC%yK+iM8p+WyrHNrHwrqFT#(?gh}8~^RbFSD zj_NPyP~}=ta!hDj(YH<}>dO?gU|fF;%Y~mICX&BvLU~#0hiBCd;WF=3xGVSwy8yB-e2pY8nhXZSBMB{SsRgc`SaB zNYQbp5f1}IF)es=ThQm(Sn?QTG%2O`c6XwaVCqrHH6QGC<<={MXS%DvK6lTe<^y9M zCJ2zT_@QbZbnWP*X7>Yhjdl3fl2Qz{y!#4Ma`xwkwD;f=YF1Af)^F^ zexqa*7+YR~r}mAHUD*2?vDa3M`i{wA${PNAWb({bc8FMl)y{C7p;cTEKN3u#2n7bZ zLSI-t6U4&`X(qLONirBc&lDKWN^P8{eyw-`il3i`Srw?N5exH&AOjZ7Xu=#uz%*ho zf{nX`FT`^_!sDzozP0SVo^iBN-fe&&#W2X%?!rQwhF0=D5d>N3kBo*^;?tgG+^}RE z2DYHok2cfj4nBPPWaQv{^))C8glxn3UwDY`WfoVQb8Xh13ez-s&W%MjyqqLu>;8F< z&RB^5g2LS-5x(Or8?8z5MLaD)=hIfU6U9Orc$T3#XZPS>;rZCrFsk3d&*6Pww;_)V zS+-`uG~(hG;wBH#z07HbWJQwi=O+dZfpan3G~*$GKG5u!kS;HZ7H>v)Xj@cD)aMYz zIo0D(_J58gJ(xo^yFtH@Xo<@HP_1k&_BDA0?c5jeN34cx-f8sD{nuCc2Rb#+#m6re z^YJ+7AKIW@R+&~gCQ2O!;|!>5Yu3}sb>syGZ1ycvR94itH(jBlL;asSXKMRJwv>@m za*kV!`+!u7at$`sGoepOr>rG$Zx0(y4z?G?0sg=~#Kl;okd6tIOmhh%a!HOS8)OONYeyrsc~UR-6P2Uq%MKR@ z6-9_N1fFKEcZz4ils z7)*uKGn5zo(kE3b<@1Iq1?uHzjZb+5&;QnqFCjir(dTMM83kOVP&4OMn!!go!)oPc zisOk+GsR2_8A(mnBym4(e$6|tJtZcByk+X*=rgjHIr7Mz7Onhh<*tF+^r;g+L3H~1 zfVBiYtzN`aV<6Emm65W+4QN5F+rElE#Ym%y6OjmG{*8(u(|b81BbaK33W1nh=rKJ# z9lTk6|9H|1LU}R!-;E#!=X`@4=-wPE*KR=riSl1e25^47>;^Y}gTsa`4Eslcw z4R7yS^O=H95yvr>g)G~RcJ`Cf8V?>~d0p?^f{C2={qWG@D}317Hh>y7qAU)VRn((U`d!8$#qfRW0khx}0u zHau=3ZNJSp%xN!H?f<7Sa~HvHS4uV3gzf!u#eUU`!eBHQ(`Zo~FMM1(Bipmu^n<}> zmHpkd^Llo67M!kFx!e8`BqgDFa<((=kDPfup9SOcxII{F+jT*jEtKP&w?EtPMTg4q zK0-(((*iRktmOQUXAS!S8E%xv3l$e8-!(uj;d}vYMq%<^mP#lar5B_Dr#Y-Kqj6#$`kwMk=ss}|NA_}|%2e;GFBRpP(z$#KNm zoHuX9(>1=)ai*aRj9(Qn(Zoff6R^cf}?979(8>zaW+E0gND@i z&ju7AMF{U<yXh&_!3d; zLF%->++2(Ka@f#w2VdW1LS`S}e(y$7{Q>lW&XC~{5X*|cjb0!z9=ILOuV!M>9e}V8 z;2r->pWiEu;;VmeFFBoem1vpO;``j{Phe5pCed!&uVtd_ZK!;wg)rY(Zuz$Jp@`?r ziaYqdTS02N?{LQ(j?lP>QCDAre69O~)-D^7q6B%fdKXqtKjymRG!>Sgkf5h?qNyot zAydrr!1Ai0i0ed8!Caj$?Y!qRDyPK|UT2uaa55D?KYug?;l89l65tQ^u}F@Qdy0nu z%VX4}WnQi_frGM5svnKO;P{f*Z34WwkF%eYMrXRe>pZA8LSkvs850q$EL00Z|^ z&hk^aS?oJ*3tkqerL=hb2}sHSdN?{bavNoKuH9C`-hnup&ohWSD_eAm$$vuHrkSI(^Q7(gKsjdm;MUL|jGWp&%dM_QJs z&*+jr5tD!V>zHQnb!L^00#ca22fzr#74G-wn~IK4j}P6Bsh?b`9abQJa+G?e+dQ4m z1jY3|vbOqTQVw_yr$zeM?7WV5ttb?UOEHpE@)SRDCn~TMe-#((%5gV-8P6% z+?6bv;R}%h3o8IDUt0+5|5OPj6fInS(HBV+n8czr#6x6;?lQldNVW!9hSI$J_*bAn zV8NT@>X$Yu_mY-J3$>Pk9ZDc(z69_$BeVPn<0U|~QLLP=pHI=sxE@Ypo64~e-jB6h zS(v7MbUu4maM~S+c>iE57)Ew~_974GW(!Hz_xjq`IYSZ5 zEJ{W>-oG6w^s;1LN`y3#oeD4ng&br_n0e#A!;8U~~u|C-sEuC|KX@~jT zEFePbB0RUC29hHcf?;~H@bOpsgI!e&={S>IC#{&)pNw@#cL;@VXkoT5vA5%_IG5|B z0>j|QGoyH3hvxxXRnLW@ejhKWVLqf1u#8D3(qg%bIsXxv5ZA&ILzF)bM+x(-&DkE- zduLwUhNP+L^LW-)bX&z>@?ou`o#RQGFlgu?>Xqke*A>hn;6Rwqbnj2(R^OktZmqbl z{lJzZ-Kc!0=Hqg8y4v2_Ca8)D7lu1H0}we%{%;k2Q*Kx4++17^OSX++^?Lw5?+5XR zfgh3m^lPnQRmGvhrHbGV9_LDpeZBQuA1D{BV}2dk8ddyM47x?Lgj?mlY2d--Hj+6$q^zY-Ya}F-Mb1A z)F2#uvdy!t%!hqiSu>g+_u}?cw_N_3B-2jO26eYk0FHt!x!G zwvDFV^R#4FA;?rCL(!Bi`@(^k&mB@RRr6OxxcmOMvoYmL2|mqRK197LVM%iW zzARyOOfE;GLm@BO`M7+A&N#FCb(NEpxX&c1B{qM&a%R#Jav)E?&9IzBjUs#iyDYms zmTt;+xb1n2zpaDr34k*b(!-tFLOpRWdh+$#y{@-MWn6#4PUpy=u8oI{d3i6X*5p3S zc6<;$AzZVA79^g$_h0-0QDKTd66^yWlT=a^wD<_Q` zZN-%es*JN=k$Y)Ku4ibF8df-V!TZYDE`^m|iZB5gEqhpUq6pOryHH|To0Yzq25fhGKXd_U+jPSJwOxlr{6nadr7F0rJdmV_v}$H zCLNBuD7%m^x!3-;$Lnu*_2@&@7~>1&QY@vyCyEbfi6&osw)9$_8wR!&Xpen;Fx5SB z`fvvnv2)CSuIG#-CdV%)9&5AoQtW@%y?y`5(`Ztt?DyBhJx+_FkYvB7`_8A!B@?pM zTwS@P9KS=0%+iXMp-QPvf@pNFjuInIQ_-96nUmkfsaToNDl(WY$bEGG)a01}B-<3- znCR(6k>34})K1L8MxK}xeNgS79u_*S|9ZW^pM^WD6H{7c*KzyqNqfoEAc<=BuPBeh z%&dX?%Fgcyr#rn5Uwm?3zB7?XS)FovI<6fbYU)qw97OXH3tRk}6d~|)Ctw`4W7!F< zkOZNUNY_Td4VU}zfOqRKFDWeVSAL2iY`;$QipxjJgBSS?8XpRMdVL@grUbHqo;80iHkk}%(CZ^=~jDP zALcXXw?m1$U^Q30?5aI^`SceTutlq}1n_qQGal%4a?k>AGOHgaL`Iktl=+=Fc9#;L z`>4{ERB{P>m8G7G@RobT4#e|dmS5_jJy)*Y!9|e1^t*DQpfl)eu70MhV3aZ z(H|zw6wZODZ>UGagmaHiGWXo>TplflO246lrJ_@8jVW=Cs!)IBal$gdzTlPV6>%Zj z4w3vA(Uo_L%K^1w5>x2~#C;0ThC@rgCvD6>NQVbg!Nv*cx_oMLe+*_ zqa(l7zk~Iv)NHNT=zgS*{PJ_KM2t?zlt@KnR_mc1pvcnG?FL3+a+c@bsfXTPaXP|{ zhhVxt*Lrzh)SuDe2zMlMx1T$Saalhec`cwFqJ8OKAf%D4*KZ)+<$7A7n2zmGMtn($;`nC-eV*@^o}id6{!(WQBQ`P~p0nIl z;3mH9C!q%1FQW=m8bP%-#_^Y{zg~agc{B00f6=a(g}yofWMmYwBnvd1bdWMF@Zg*9|pCg01PxJ!kzwfQPI zHtu;n3$lN>Xi<>Jxj)IJfBaB&F~9n6c`Zg#nd{@ji&m!P)B24^wkv-|Th*R!uZq>2 ztFx14+U^rQ$0axT>vLb~Z>(8ZRW|44w(df4T?07*%N%AQFG89l+Wu@O`M%)2^) z3tfhVocvHTel2Eaqt@ASyk++m!S#|7w-b;U?X)NQK6bjdr)ti;YM%qUZj~7Q2jHfHO)f_oMMW^M| zmmTkNdXCY8)|M(y*|d<`VWRe{=uPgntP=%K;@%Q~a|J((TUtH0a~gbkCp5t`Y?0Yw z^!&Q^rMKP&1#&6|qZgGLA}j1^-SgM$-YkxnfIFa31V=%JDVQ(E@bbnVj(H7;)>fP9 znkLkT(=+&!;^_oo_R!U1+>^CgZ9iwTXEvJ+KmAABqhP@tArr?h zHNm|@P5?Dy##JQpC$h*BmDI{<{kOU12AwSJ>lUFE7snRV1daAGqg16gEjroPuW;07 zqjbhkq!g|aWo2Dk9ZmKQh7t<^*5N~lI@9mOUw&cdYqC>eBU8A-ry%r4E&|<%SrDPj z%vPpRkKBhe;$UmYieDMiS%Zhw!+T+yqOcVgL0RQ;xoI*cFJ$X76q|;YKFpLzfr?d* z_N_$e*D-T=*97%uf+FMQk0WVl%4vtI%DvgH&D39>147waS5JkS7MqS0jpCqWL!#F; z{mvr}Ek~PQvv#3#b>6BG$a)3IV#AKfSPA4#KqA)a<*FjSG{>% z>0VxSLvg>|2xmevopM6lz5};$$6qHva({n?$pZPw9$Ff9;MPq9kHbpte2!W8LIIEB z<1y#N#~=7w15Lw(HJh;Ik9AxGv-YEV&i-r+85>`R{Y(|sq{R>gXIuR>MUxyaSy*fV zv=z%{B23|P6{qc{p5cq@qGY}<(|5A(ieXf^BwvApFvNhulYQ|#mmQnkx5jJeIV-M9 z3GG1+F3kh2_Tyn`W%vwBoZ;a*3Cx;}#~bT=S`UyL_;NT5#SyR%UH0vf3fXJN(;Gw; zy2?`?{FLw4t4KuG>Zk5o@^SbXn&bP8#q)h*Sa zL%ESeY3ohQ^{wgfXv9IObg5{+kx;1fyFm6nZ`q#|;RFn0Y#?8H$v5-sCgScYHNxBF zmFkjN**M&2uHN$<{hU0DFw>b|4N3BBph%n?|JjDrFB^#p3v z?2DC8VPzR;S@zHDC^t5jxsGDjV~gH{`Xa`v_HslZz3wUxnoC8V$X;A?l$bsBcQ1nsAkWj(h5Ei+^_FWz$+=@kl7uSjTFDM zqv^5|s4%7ewsjaKEwS`U{T&>PKnx7gwZS?xhl6J^_ z^j%B(?VbXx;>8cQxZmsq-UYfc-w8Z2=}j!YHVVUD$9w`6_i(lPF?8nxG4^*U;tt{A zyP9n0+oZe-N@qFWJg3^fUdft}TX?Gd%p0sDY2pego!wuT>r+8g=}_4B<{Hh{XX@5? znUR&Ng1z>>$uycDN2_}RTlj?lLVtRwx#E33*T@zLX}R*Lr-KTeZ)xbRh3{~5sg1xV zWumeCgf7R5EdEo#|D}6C%2GMgUaI?tU+5oCxgM=R7pGDXDeM-%e@2o+N`i{&UA$cz znBBc;=t}$c^ftDPBW8-)q?;5Y$W(YIEF!YTRa7yHMr6|sEMrXQr1c6Kve2nv^w z`mJvg#^D+}zs#np*)C58Y`N!rHRJF1i5DCTc8CjTJ(F~$E6I)&0YOB(9!==>dp6Kx zIybQ0c4^kEHrbg)&=zSWS&ic_u_R!$^Ka4s291mqbJM~pc+{mH%otC%c2Tw@$ zhQILPYN0x*LZ~nK$sk<^SMsh`-5=9X1*JmwT@-B2$%o=096gryNe(*GL#hp=1Ec9|~ zNVU&i+I)25w^?4`XuMo$##;a0UQ_uyr>`kK8J{j?pAe#KILups!GCh7lxQ?5GLs;0 zILs`xYoGDU;VpDtreUe}az{G@G7h6 zo}VeU(#qbYo7@2ka9x$9IkSJU#Udnl7f30RfyKnP6GGlTe7@uw(Z;NFwi0$atErij zL)WRr=hq0AxI4{4^%W$Du1yw$^8GIb6D9%n%SJ-y-x3dN6#NXzBATf9gk zb>uGV#LOC1>~t+~c0lYpR40mBxsbL>ni7bMJY*{?qur62sptBqzKSCCwW+$e%4=uP zy?@X6-cF|~DrZQYFD^2@-=*qxxn6P;hmVET_Y+HW+AlQ$nj z;#ID43Eke%2{{_RufQNDbU(+}I&IiGoc$~9X{Td#Wi1+Iuwth>91$@*<>uJZc;r<5 zHW=&T_ugv7c%P6x(lH(q9&Z-DX5ZhQA^o2?gW!O)SgtkeB6C#ekd!MPUWL@wB%187kqkyrbeSI?+{AYvFigqZ*UiTk9hlF@} z1Dis;i-WCSS!85(O?fOvD$YNB<>mm-90!rXMkyQ!5vo;tTkU$ZOGc_IEGqTY2}_j) z$1H`z!fqk_IFY0MBs03nieV}Ke+1dj)T&|TVQ`+(9dA3>L~%*@;~^TRm!Bn#5rVsJ zBK&lda5B4tUz1ex@kU(Q`8x76OcY}k{k7>_{#Ud30#MnCq#JNP=Ay$SRO2`kj&98j zpxg{NLCImgNJSchVyY(w0wAnlEX0PsuA$rXy zBz!hQ<8_IkYZ8fJ(!87@()uujvPj_HT{RjkT_0b=HNOeRp}izg*Z$XO@2fUE^V5>U z8%hSeAB9Ayv78$pNxi!y1_tD%7`J_jJLbvLp*zAKq^9gjsyCaD7HJDQf9!fg!ajB5DXLT12m>pGUYPOz;jaFV-K2CRI&0iV8xohnFFf#W z%3U1WiD`Q9>(H$(H!46 zOu-^>`U4SczHHYgt2fzQZ>_6PG|2q(66ns0DN#06hfd(+19GxHGZFuwAR^%qwk7te zFpA8wev)i&uKEWO(?dniRgGS7!4dF#X>XhBCmryG`$h(~G4PNcEXSS<$i zFo^aSpB#)wTbL;7JPU>o^?wq?9N^6K#mAkTHI?)zk6~6wR$jPGgATF32mIgru-~Y^ zYB^&28_`!q-4K5STF3>9|DgUlUK>91VX=f7R)IlLA0v_CTHUtH_P zj!p4O_gd=yWbx|?&=F*4mZv_eIaD_qD9Cl&_ad9bONidQBYlnCs)n?Dvb4!UJ_INj$lA_FqNP*q)0sm`$KYP5gKZ#Mp|Go_Or|hpEwKe?jv+gL^?w~0mzZE_1pz$Y&pj>@SgzMNq>~sl(01NO z;sN;M54FnbmY}c!tvJOcCG8Ar%ml^dm)s3&cm79ngLwux-Vjg|IJXV{0r=BVfTsly zl<>ZBJ`Uw_xD3j@AW6g-DqRMec=5MM>FMdJ70ecP&NX=YfA?$0jU_ZBNAFCL)Oq2} zakYMZ4A&^Po}~cRakAoJ{t^D^dj$qW{0|dy6ehP9J9e7QQ*>4-QIX`L#6TR2U2_Gv z^^M}KbTi+>nTPk<3Q!p#7P3|#r{kNCvh5&dv!iKOg|8VT{~Z%MF3_9w{N4^KO!$fv zWJZxSs~5ao9De*g#{eAG=83Q=Iia8>w8%y3vF@MBVG{6{%&`}Hf4(|boXh=G-y5j> zxyWWft>@}+M)4wr%^;kJ`<*e6MQB$U!*o2{=+)V+5N8Uz_d$ICKo#d0Q0m3XXyIu2 zS6W=9a%H19oVMk!0Ipsz4utH%7-T~KP~+Efj>*JckzNK=Jk9HxNkTX!Qm5+zrT^qBVtckxO1VHyT=n)R(4J>8{X zMF(Pvy-*Q34|*wc-Gj=GwBflOCwB(;emT%0HLwD)_;3hn4L#tLhL#e@E5BUXe=lyT*FRwwzt$t$y~4sRI*Qp-*+xQ;xNq8aV`Uja~=h)9z&)J&dusad#YH--WsUKhKl}P z#sy+DrckD^>^r45{70&YsyPvJ~m^zhlVG0+M-1?EP5#mXNX2vA9Ze)sEi=TL;X+Gc@k zx=cq+9yW%(WuLkYz;TiVe|}mDvNC`UVBcqvF2yM4s1sNLl^jR1LT`@P7ft>_fq4*f$t!Fb@Mz=GdBFf8Szp7uxF(Lw(0zp;P6bA1=|;@f@y8U6LX0$lL51KGvu-0m&0iM(9_3#{@;7a*lf^bm z#?^XcgE070_gx>&xwpo07|1{rNzZOsf?<4BQV{%Qcc#iFOnDHrY@lRp@{hh%YGsUL0R-#y$#^W zk~WDBR>y9SO*0qzE0Lgx=FiTP$I)XpK^h`_)h!N#P%yu=%!<=>VZ&Y7)U?lXcDpJ z>a5h7FNRol06COT5-k8@^CV7=JZ@(=C7n~;82p2OlBy;aV*(|_Mf;dif67s;8X~ic z>=^z18#OW_b)%;rYKR$wSSAc7CNdr=j6Th~Oe6CLztu>TXgEYASTTCPPea;-=E7xW zJzlhB7B!W6+6Gl)g9Kt9uq8c(D-9@mPQ6ocoP`rZ@=-8M{#O1FqAfF-G}CtHcpY4? zQbk()U7Zjjl6n)6&TE~l4gSK<;&a z3;UAQ+Oa^84^8sOXa_UIq)aE^yQw{}{6>AG^EZc&q~nXHf@n~`#Y>A<)C{(w6^GTK z^83``psik}rnSh?3rAqK<}}P2{aI#;x-VcJ_5(h({9F|Z%>$y5h6X-ERV?9@&0t1D zu4kQH*^$3$z|Mf1b}l^C=VI2f&pl0)f0i+N6v={eb|*Th(IXmG#zg6Y@2HYbo3=2v zS}%W}t}IELpidJTd7DVnm%Z8l4d8SZu=DYtPO0Tvw+~4PzHejiee1|b3CFxRxH_q` zsF^IUVDY!%a8c(Dv~>nqJsEHKOT1GWDRTl-l$L@FmfAwqz@`>C!&V8d85**AjNjvw z#)NreBtk#XG;v0>*rFm9L~yLs|LVB^a%^ZJ?6OapK>wQSVDUMDS?h1etE=&~(~#sj z0VJ~H;-JrysY10=R6i+IvphDDX^f4ndNwa#J{+hhi-q#_n)qOm61c?>^S%OMl@<6& zOuQSxOLvZ?^sCWUtGAk>=e8|es9HreMasb-t?EEQofmdJq}3jG0g|qCUm(7UDA3Pw zfrwCWng(fFdw*>E66;xw7g_cV34VlBubvFXjn$rxLF+2Mqy26`?BQOak5Wu$gMSXp_GBF?1A`@%mjg!b#wYVY;MP}t83 zeY2O5kty)i?rd@YmBm4}#A(bD?4rL*2yar&)bJW5gjy0=<-nLKC20HSMTL{H14HxQ zzZ*_tX_l!EM7nh!4v^>`>6Q2JxKyZcyP`?~^<}bA#Yk{(gzBQzgm7S?+rZqxQwv#! zBHp2b=CoCPzz9FO-5)9S$sL)`g|iU6HVXj)`4n&HQ^f%o~3cf_dR zZ8TT{+R9by#CkZ!hbR&Gzkp(K;AxJh(p3*>!K6$<2*`snd1V(d@x}LP_y&7*=^=^1 z2q;U4U!Sy_qFkk+fE@w1n(O=%vYKfsK`$|NnR5?|`g)yVp&!0DaW9Fsi7jCtiX(gk zZUOrSM`jo+Y855f3C;Mo5b_UqLB0~Ip7~oEEb=P-2(J_szvtT)6eKjxdT!Fg8C#X0 z4B92xZrd#ARJ0wVSgp1d=lVLD@gKF)9QA%!p+}7ur^4xqvY0Ahb$X)7-M;;)!qt9W zvY)6Q^xQ6V0N4HXEO*f)??-iR>p5rKvS@g3sb}|O&4rH3ncQ<3ie2EHG+XChWgFeH zNkVj%dyaF({n|*;2dp;gR;c8!RkmA?+$b2B_oC;Vs+`QK`K8f)ySlBu+=YIhMbiGg zT@O>BwGujYPf)f$-&G4-xRgmwxjYup(^YbO4Js`feCOj zCPoO~?hQY&*spSqRK>BZ@l!)MP3Selk(cf2K&C_sp`iFaCM3rfMa23N%<>(a@UYzX zwIC^1ngz8FHCK9Sr=L|1FL>ghcNsL^Yv1Rb>lQWy zdPGSXYB#S0ydExz@vdUFS~;sH$2}mfHNY^jf%9`U3?sdR8^#f9s6DElI(b~WZSP6T z4zAUUT1~sRwW9I)c*PrYCKL3Q<07BKxwOq^Y2XDth^EG$qn6twcZpG?8&~!xi)*hA z7WD4yqih-qw36cI&9>$$yC{Y_lFic!lg{$ZRgEYWK}rrX9t{ znHYg6Eu-P4m=nHZj*E{ofdcMg<$6BuE#%+b8!IhvZcqQZ8Juzv5h^Y=t(DL()i4G+ydL^s z;6_xgGBrIXvKZaRF!U>0PO$tt+fnos&$U`Ujgion+i%33W!I%^kDc*0ZIpE%`)+}R zPYRv`WzkxcGv2GcrBo*H$h0(H30n-e=lQ*$uN$Y{~n<%XhKE~yzo0=4KI+euTXN{XOoa!n z`1{K5H*05BTFbTKlhGTV0cU(s6Ma$Kpig=3OG$9T)n z{XJarp6vvW5jPk4qL>qmif*0B>(tNP^g^GOR&@p`;r)!M}PS>X?aSpUA3}j{A87{ul+&8I)Sc^S?Xv$>8n{GQm^0(hCyh z!XglU5F)g;u&~hY0Dc>STMeIqm4KJfvz_7L;Y^`ApQzfSs_(iKt2EoEd!Xq1I`c~i z*iD}yZ{xr$Pqm%8H}gEdnMr?^9elaFS*raTA=H-8_wTvfB{{jv70B0O$6r1zhhpNh zo`Gb;{*wMfWw$<18wb2bRa8{8*y#DZ8#TA~>8bq~NVyFcUN6^J3~vLA7e4#m$NRM> zHlXF@uy=a=PVs2G%296rxdVDkEvp@Sr9DpOzD#wwJDLD>Y-1Y-sfPWXf8%?=QND(j zuNk~`O!Xz8Qz%v(4!euw*LjYHz_RwHw7ug8H zRiXeVkz*u@O0Gy67#vFfVCu8}mygxozPxMIp%t%Al$m$6dR4C2pepIZoagoXl#C%6 zYN81c(leV2u+_zj-poruNl@G;2-QJW_3bx{!`v?+GF5k7|Kx6xg+)aJ+9^L{nw|H) z@cnB2C1%DeNqPsZbjkzvB*K)9hK5GL>(Knsbbj!LuP{8q{*GXwF_38wKuM(u6eouQ zqQV36IFz7uFgOF0{_~%T(fE2wj+CF7ngFFe7huh*Er9NTw4Sz&}<1$LlW!f964KHPd z-F3A9*zxA~Cyo3^iIl0vqYHIb2~3!rjssL719B8T+tY}{n49ayqk@1}YXLkWE`T^* z9!$BY^#BJUAO?<-*KPBtb~(WDRBKmL;PJbt63_J53@fMr+5BLcQ4eRqcty)0v)ZpE z`%YVk#Qq+5)T6TUlAU7|DcOIIMs{LU{%NECQ-c zK43}yY+!!F(LDa@!mKQR{W>!PTkW5fj1Qxm{1*G-jSzgWvaRdsvW^fqEF+S8d?j`0 zf_X=E1yBtu0&7s-u67!vOG(Z8?o{Wr^9uKI*yxcOq|k1%E(iH3L%=$ZMO(G~-6%0G zCTH*gS3Ri&JP^?iD11-U1?k3U3$6CosvG3w5~v~;RBod}1BxVHra*K|d!zY6nHup~ zGzS2fWncDMTYI%si`^f|X09SrA3!MYh%q~aLb;K|@Rbg&g?#>-M?5fgWU*E~u4P6t zs3mW{1#xViUlDKGbw0Rt3w;B=9jRtz%l(TvQ1XuQkw@MWlndQk#?O>V&7516yR+`xXSRbiDyrxT%P`&j&Mak9?G66H?C!=5}40 ztkjF1{l?CR@=TdCb+Ur3R=uiYaStcu`>2NE6NmK&3*aGWsdmsRj4a&|}%*L^L3QfxZJa>|`B9l;#@;Jx^$Uf$Dq$~ZEf}U8wb*N(zPKPi;+MW{o`)EyjpxL8u5Rhf9kIdX@KuC(1mP4w3*!X!nS*Ez1l9pB zs}J~njYnaM>oCw00(3O|z-T=G`mW>^#5-69@hJ3+hop?%!wJ0yA>u2Q%~hZkXDAV5 zv(MB9U-Yo`zG%nze1gMUFV(mlr(nK{t{Yfanl>PI1t;&%fwRPWcud2(h`FM!!_PnV z0p-3^C)d0&#A~Jo{@drmt>>8JHii`ugxCDC!umEvQ)#a{LI(>Cx);dZPT zCQ{V%GUpL6TNbEe$*S=NW*z1+kn!mKT|S#F=f4O&Hql7!75D&M^YYo^eLv!x1w(qM zCrE02)b=iw4zd|{Y5mpV+sYK1RyQjI%Z#=Xf{InSGNGNliDa%1A(FsD3JnU}Er=rV zQl;*+-}2q*bB#a*zsE~w96`-WQW0*0@U4Hob!d=q?9Wc+=s%t0pFtmc+iD?Bi!_Ww z@DMDyD@zuCm`=9KBjc6@?=Ac6<*N}x&F&ll#rOp|7C05zJDWep7|_W!&Eh{2kzXax z_@bW5L~dVIo>@_vuVPKL63)Z|{3a)C6}jzl(}cb?>~MvU(y*sUdC}k%bT{>bFTouM z&_u#`mL!*6D}kZ!`f$Bo6B- zPkCvI+-VBKMjCnCj*D~4Ri{nwBTR?s=p;|OP64Y{pcJR@Eq^Ra3nonLfuNpE&^qPs zl*LUD^hdoFz?TPoi4mt@B;xEzDwB1bcfYtt_=i7EY8YJ=oGO|h<01cv@S9W1uVQ`> zuy63ztKqs6K=7^WWphsqGq8Uo#{BrtdiSNlYW?`G%JMYbNrnktqS2OE<4!$~1CGh7I0J{}>h_0c zh5R}+6hVZ8MIq!|1oV2UjwGpV4;_xiM6`a^MP+45rypGs+XxM5xxbY0sjV9(Gq^}q z_M^FlX+Sd+abP|;*2iefiK3VkR9&e^NxPvcewOh2Ve@lMlT*13>18T3(|>--E8gOE z!VC_e_{h?&1QkQFgbUA+w`pOJ@_>|VFrH3vd)S_S7?>DYcy9@E<$9FMH_2A~VXUgLx;m}tZpi=dW!_$%; zllODKgnj(rw10q&q@bZtU1p=trdBd!?i8UButp72rZP!Ef1uH;4~7+7$VlcAkThZU zJkPcZX?JuCL^`|*Eac~T)TFVM>1FW>8%fl30~9#U{r!(hcuL61WVs6BBVL^YF>!wK zG@*F|+r$v%Zil#_+bVeQ5(schRZCbRqgwc**jfi+=ERIG@i_R%eB>z?4l#r%k4ddu zRmPdyzcm3O4C_dAk+_vU5vR$RgLo+FySMv-BG4r`fZ-n*K{xVzU8|x!6|et}ONEz| zYGr#$E7#oeugzz8r*yw|VSZUyGaCWY+f0*Lh)l4h(Whon2X?5z>uS}GsJJaEXeKg(JJ6&(^cQO$_J1K98pWeQ6yKe%dH28F zpVD6h8eI?>;-o;k{=EiB!HHm`+G6zI?gM{4#lblRQ<*yCpZ9;SA&ub=Z6frdbcU~?PtGuCt)|Mq?sKly$+Dh$B`oSJWjRV4YXrZ^msPjQ zm1vZ^{r;a%-^16?B4rOY4q&=O@_TjRLgLeX40=Lmr z_ughc-_iPws!nKQ)(K%3uoX)pmvj42oxjBd$S9*2Vlw!b4D^RtfOd36h*O59um{8Y zzF;?v6l&vEb|0S;fWqkDs;5!aZ#8vg|7_Ll&?GHABvWz*YtY8d#`q1(&|bsb?k~(y ziqndoIXZ1@2>jVc8q(ORYHFF|YLmZ68}$hx4CzwTFgW0dsY9TcN{^%{&A8ELNQJ{j z(DnolX&Oho(7xE7&9r(8WXase{zgi-fI z;fAr^qJ^ThV0}r-)oFDu+Ojpp!EAX1kL{{bcx(#TX(^ffRT*jZ_-qmp6o<{%w+FeL zS4lnFJ))JY>yqCxF$vPgLu14pJQrK?2({X8H9;7N7;AjDUhB|$j;+Of^PW7Ycu)S~ zbq1e%0h=0ZJzJ80^`p?8f{BGCp}?&F)%}I%g-Py@yno^^ttuuwmwiVV?yHGH*B*(5 z`nG&hf@3x<120eBZ@q;chZ`d`;Q>^}M(lqk{H+f|*WGHYJxf1WKURIV z&c(0F&_4Vrdg-EUeu9Ic*aIWjoD-7q>85$I&GYgDT-P)i8ECZ^{P7V&PqAlh0hi0b zf|HYm3R6Y6?Xdr%X*z127Qb`cKWCm^%{P|OpFQ6)?2EvJ1V6X2W$^L3DS!87NS{HQ z8+n@@2I;E+HXhc&Vtwh=LPyN8!Gajy+5YLRqo-Lh+P}A;rHpkPe%p1-Mf8b#O?Y1B z(Y~@B$0ck6Og&yIW0mqBWlB^~q>_k|?8969OK6uqL-xP|E4Qc4Pqa8V-E(OO=U_Pr zwMBFcF<1WUF1+Mj3+2c3sIM-k%WoDn_`+r^RqU5G890Og;{p&`KoF(=o!#Wn!TCu) z@`$DIM_dFyNlW1}nN`XC_(w7MgBc#^2WD7_%L^H6`x<$FkU*zfk1~;G26OjkL^xM* z{Ifoak<4Wv-*B;HJdBcre4;dL7RA-}!RC;sDE`T&*Ff$KmAP+*hjuJacqQ(u6s}9~ z)ObSvWnpyAW_>(2CL=b7*P~tYoZG*vbn{uE2kvpElMN#3>y)!~5r>#CRX$?BYvo-k65G z>GjDdBChl{H0_I)BD$Zq8z=i^M|fap+j4pSUv5^T0AgNx-O)GJP-J|(!$KUYMaabg zqT{KPS6PQJrr~0V?V=TNq3hOs1>DX$PqyIMpWFl87&!vje+NERd=^<1VnOElz+XfS z$1C-|2>2%kdEZHVN!IK1ZHJ1*$Ey2s+0bcT8ZLf_pe#4qs4Zn|9=mJ4150cgKGlzXygS9KKfzqHvkogM~mKQkMo^)yLl`(IXVHn z<^{HC|3~CxkcufntD}cxY-v%_SltH~g43L|yvNkcj`Em!7Qls14u zbd_Cc{PtN1yZC2^DOzHE|2>Qk7Gp)sD{VP9BqflrMGI^q6>{REciyl3+6K@O&w0bV zBbO{3pxDF#yrUlpSC}FQibjb5+d5@zd=4^Uw@6&0r^nx&7M1Nc@lZM97d~5N@KTI8 zlkdTUyXDn$39K9Ta9d=+lY(Zv*p(V13mdg5AFRU<&v*{M0g^BWFt`d&w#f4%zh@l#FF+ z$a=?sZzg1=)jb7R8X5u5AT}*Ac5HaI4z^ zutYKx4GJv)Hk&eHcl$JQkcaEaPf36qg;xB3pKM`BL^SS&zeN^q3h{BsJLI-9X@WG0PEB3u+d234AdAjDJcoI8rB`)X6m?NSkzdW z+NePXjlgE(OIwP8TUzn&SSbunQ`7*|S%`pkAh1rggs9CKek>1b1!iLwfP_`^VTPH; z#(3s%sj(6aY=54XhDKTk9-&;vyG$Whu5$r9K*+ci_x?t~ydEANp24s~+4YlcR-6nt z$<6ecFmF-(cc|h3Fdr9MlUV7R+mdb6%svp#^237E`Fg784b2o@P;7;XBz$kM?$@e@ zePH#;uaYsE{n7|nMVdln0A3yAeLbTkTLlH&F90w*2=GVif96)cZ8rf}>aK|3H#%%c;>Iv+8?)v@@oeZpGMHMtdRlecdV(#>>mGc=W|npZxO32Z z1I%Iwit)~(eR~B`|2rzzDz0J+#E5El;7U$B@$6XARLDpncDx_MjwNyEY#+C#Kd29q*%K!wepIoVm zQo{HFOe~&T$K^5|Zrm7-jD|h+-hZb7IM#+eE8M7oZ>bm+j}+(Vf(qA-;^KL zUuZJeDEf&}0A3%L=Y@Gf^a-qSeUGV=5?P7xL0$sS{-4yFK!ouBRy1+IGgd`(iFN{8 z$!+nVHc;6Z>yYyZw*g3VKzsPQF+z{}Jn+=}Rp)oW7K$%0&G~NRMQt2y5L%XqUfugR z;2EP2TvhyPrSy8%1CkfuJ&ClB*b0 zErw!>oXn}zXhMu>ov;4a1iW-4jpHGNSM|?2lfbszi=H93_YwcKu?7k@>g64MBP)AJ zEbLacP=`Gufh6&wIJIjQ#^WzVMB&EJ@bKstI)l8ZCNRC0%4j4Fw6%hSs=7!tX&{ty zPMx=-_S=A|f_vnWwTI|zwo#YiaUfh)_!Iptd_z{Lht&y|EbG?&Fz0E2T=*`Ecx-bpljJw z^6zSvRW<8z-Zn47T;=A|&zJg-=lK1|5>FSE9z5D|RTSeV>0j-LFfhT@5X^)Jh4u!M_A}b7tWc55<3= z_Io67S^&fN+_t34FGgk#ETl%ADs+>el(7!LZ`~EOnQuf=)5IcTetU+3qn&1)>Hi&% zGzf>_wV5v3Z51Z&Up9l5)VWN`$ii)7-jR&Hj7&hk=l!NEa1wKeWq!!PwjHQ}noN5|V@>_kU>$ZLBS<{(7eE zCa(=9EL;Gr7(~&*t4za$8N(DVX2om><({J4sB=|21o~37QF>4a$*x7j$rAf6M0eaj zU9QK^fO(@Nsi*x3zWWL=?RrH=gI(WfZw0v-yF#r-MyZ{ZjwFh@Yd&k`86W-vT2PMv zL*7?LbrpSWDuNOcf&$WA64D?@r*uenw}7;CNOyNgcL_*$3P^WIH;4j~&bbEvSu^u# z=3VcXak2dHm#?yYhx!x`+O+Sk;L}o|=JdNxZCQFHj=Xt_+qUuW%+8!bnR}V7J?nMaChV z#O2oXr)DX^B0)T~8QZ_V*K-s30I8zlfqXKXrR389LJRym{;U!}{Fv>MNw;1$Z@WD7 z&b(E_zEN735B#WOvu==eZv-)<`TZieITEWKDejp{N4a3#z6F5;cgKIcB@m`&B(=S0 z@`cHrvBO7)MW$ueI-g%?SHvrp+I}$}ctISqY;6(W!&t0XlY@9Jdmkl^*44sa>ba$V z=IBxPPGvgD`dCng18myo`GT4uNJubecguCP=(R;t{wGgYm% z@ef?A2VP7eQqz6+Ct!@yNo5qfN5{xPAQ;G(NU{qq2FLW$(XIK8rs{NDTiQ zbejnfnd?!bp$J`c4aS?>x<_rieiX@~5Y%b6E5@F_pi#-xH@f#?{_AYq+o|Zoo^4H| z5p$*`U29ip!em7uNBk=v_6F>u2}xH&VSE|<;AlP=B+Wf0jO$Q672z_@Sg|^??LPs& zJVtMlinlNkS_o?%yNz^FHjnscewaY`{2aQ27nSZ2P6#9uVjB-6vx1)ffijoT0t&Dw z3vce#Ij$Oop;{fh4h=F`z346C_+g~|tE5r{oeB+xI3db9)^Fv0qx-em+Y-)53Yi~b zgA&pt_x`-nKnRWGf4I${Y6s(OYH#C5tEv%~FB1Z$Eg!*4hv-FvrS=f9YNbJ9F-=%g z)v%r&mtc(^kJYHvC8vke(2Zm@xjo5ndTyM;V z|JywM3S`xH4Wr>Zxgw1r;L&Udd zQr|zVIs;26o9gM-q%-?&HFxm%2h#9Bk?`A`%6yvAJAQvj6cK!CP<*>m10S$hc#k-7 z(WJ>0O^xb|_gIz{2?NV5&;B4G5QuwTx_EuWoEm?ZdCt@{Qs0aEBslt|p|LQt*l$cZ z!k4dGJKG%7Dfv3Kc&YkphR)2HZ+CEx#qNultMS#*hMq7c>oT`&^;-JTYG-C@L<6lJ z@~`b==)DLqnX+Ov7SmKnadCY>9?Ni}k@MK)8(!k1iKX<9^i&9J@X`P=Z-p;43~2%% zDIPk4-rIhi9|)hyKbur48NGI6xQ9s_(}!gIswhZAUPF$WgeGo<(0>Rne~%PO`JBqp zyiugxmFQm&K9WB#-9~IcTD!mVp4?5wO)ev!Q9tR>} zxA_thqe)h{{*Cd+)A-`LNLBMQ-0$USyK{cs(l@fCfg_c!Ko06}M;i;A*>sOw`rcPM`*hr>rUJd>-uk4^;(GpYWzqs~2RN{#qos{Zd6C5he}ro!Y+MdO~;0AKW&sksTB z`-Pg+@Y=E}JHi@o3Cyl}rPqiS9dKYG6O zokP#JTIT3z2tpnfe0Xpj$fs$0JNSkVp^?^}d(qBIeK^ebCa1nw(dc-F7L^erMuiuJ zjv(=iZr?ywj@?vKi>&L(qpZoIQd?}s25Fc?GPJ0|C_UAgI*nY#*uFK2BG|*pE-uWD za@s^6$(rGM=#>-wLI9xl*C{L6cKIidB+AKzmtqK_Xl8OMb5i6NB`$vK(cL@4Ap%NJ@Slo=y)$xY0!s$ew^IL1R~z2OHN^*skDNTP)}!* zUiZ%bv9=Qs`XijX;2l{|V~xh^LXP*a@2h%kY+Gf?!!brV~J7`d)V#QYR2dSi}Dz@yc~CGbRu4ZSQNItk6wK?i4cDX z6;;`}i9mCN`wzrv{irucg-NDG6*=Dbo~^Ag!&8Sz=g}L!A$%KM@*H~s#LO+2=-VwHOMYxmj9np$Y${3? zFhreOk^8i>p!br)XvL8hU(bE&K^bkyYN|4$*13k~Pn@h^a4oWMH0>dY*WI_&j`1)#&gT|05uw7(RUYi~^(~1Yr`F zUJ%iuk18kVwB$UexYs^3&PTws9wC;|hQRj_B>f75-ZipdH{I7qRbX*ap836>k6wC( zsK=qqVrEu;q5PwBjoi1 z-eA7cpuVl)t&6eGC$Wq;SPTA`;-ET-5qD+%N&(5=lq(oYkn&Vqj$r1zvil|Oa*|1J z*tAo%%A{JmfYR{@MoWpj5=w{wYefkB`;!hvQ@TFid!tb~l!Yn-?i=Qn%wi*Q@f3sr_n{P|;7Xi0%~-qtaYf=Z$_8CcM&to%Kz(CjP17XG4?dhNaa zkz)CVva|>4ds{)<1PJ`%yH?}*k*@a9wmL)zXgKH1DYrnT^Bt0Pr(0 zJ7Sx32oQoO5cgCh#Tu>m$BL}+ZEYEYzA)0*Hm5d*hB>AZUAQP(PG8|5YqAGWFAAx- zoBcN)&j8p~0GhRqKjNmzmh9e22YmtLTu%3>0R^kc4%8O8-<%tNI+;|@0pJG($~SmH z?$Li}r6#Z|yPow9&(r&5(zsOtE9ul%upYF5ExPvcR{^BImurBe6>+*hHvkwkWT1{K zicf{_VJpr(e^-S(X;y)I&NdGpjRK@WKXg=I^6g+M7kepcufN?~+Xb`7jjL$2$!r3n zKCE62cmp_wu1~mUQF4E=y;-#AeCivTOZpukmGto%wt-K3Kq#*>J84^<#Q%Al@fa|S zzA=IBoq0{5BxeADGKFYL<85ex@}*U{KIpIJ&G_X%k047s5vzmT@3=EA9tPmXI*+5A zoE!+;O>nvzo5GLVH){Yz<9I7iFd=D5TD9t4l@B_v<@``V9p8mw>oWj>>(+ zm-1zlCFUH|nqh>s6(Qdu!6aZ01@?~XH{M|MyhsII9au^?AeoHVTmjftiQ5?>215sYNx>2usv0#{qYKiQMVly`Ie3G;t>d# zFq(fL&cSqO!pQi2w3r#i-*FE^lTVG2UMBTdg1p`*_tYRn;V|cezuu_-E_3G0&QkLHYNspB4 zd;GeVF0;M@fO0=ndB}V7^8-{WIuva~b=HNY-3tW8*FjSx+kT>(3?Gyze23|_&bB0G zAouwjnty;)NZbl;`rafV?a`@ijmfuHXF=+qvp4tYw7$riu4Nn|rewvoz?(AL7ojG3 znQkiCi_V+)TrcPw^}2%U^e;2mu4@PW0xz;Ez~EH6Hoqpzn1T4c#XV1XT%A%*UobG^81>qjZMY8>-RyJM=<_fpCS3+MBEGCMITZXW%_c*ac_F0g4>kyrznAQ_EX;3 zsyR{4CklZVS@vU);fJh`9lR`Uj$i@7_vv4)!~r_w-Z`SFh%oRJ3;tqb$BLM|zm;~9I?MWJ<8 z%^o`-0g99cujudeLv#wult;?(au%gn4#K0k0UcBX+q7kVy&@pxA9%L&%JUN1jzPyi zAEfn4rEtiB#$6$G2G>2Pk=`dSv{2gNFX;+8R!^On_CVk7=X&=o2^^+%y?c(oDjE#cNHoXDz@O5M6JQIZV+;_+gxS*9hKfepaN@+Jd$_`6VU+!YJ=1&UMZ|M%_1Kd854z9eU6)?2kw5xovI#dd~pl`XdtqMbOEtFgyhprhRt42%?rK@w_Jd$ny`g$^c6%MhMf5w!NG52Pj7X!$}XE^4eN72Al|6 z`AboO&Pi0@>}e49egcQ9xd{42i@=+@s~D6=vuPRXaXq1)jYGsLo64GANB3JeA@BEh zvcxcC32{=1DlbLkdebqLTKDM9<~66EA6H^U)1hX}RxOVJ@c%84h&pvGF}1u_96-9n8q<+PL<(Xt` z>773!FPjX1=6OuKRz^s(?YJB%*FqRmsOe}}Jt}40b4B*=8bx~wWrtMDd`sYfdZHoQ zr_N`BI*IKtX0&8I14a{VIEH2Z?L0D|O=KFM#te#i@-opYMV(fEjs}o`*(;uCM{`KP z`EIL*H7d(~YUcuy3q^)qr*}YjVZQ?U5nC3E1hgu_PfH-Idb7U5?<7gf=m_@GrRyNE z-rF?@=l_0dr2p>ev}3-QR&-chz2GN`sJp$ug`rddj5E?=UT^Gj{6z%+vtm5RGUu?k*#6_Svu#9MDK-8g-@VU)6`yzK`?G(G%^evW|{#CCPBQI{(B_z*K3Cv5QPw{gSDf;gR?~6|(de+!E-+~X zTV}pFl|A+9;Mn2mIGk~CiNX0k%l?BJ+5CMMnucZpWPN1^ttCH~Q%);j(=JF_;TBJX znFd`fzGmpP)9*Yn&NFvDiOkjgNyF6GKkdA4$5m`^nsTYK8hx&IzxjRB@vchrx(yOJ zU5q*GTiaAtunO;foE)cei!x8IaV@!Au^FJ;CemIA#eC(9# z&WA7|U8$xYz zW2|33k>Qa`(bW1*G!!PoLd%uD;n-u!y;I(yWp8#F=<4WmPSlPq=r%AMu>3BU0g<_9@|~`zWHA)N20w2)#KzG*4z3h< zugN@~;~a%jit~9(O0$75$9Qr36svTFi4MCz$4EO7hz{0NU}3zmEEVHm4S^@@$3Kl@ zSo2Gq(wspxX=1%DBTkN&o>A~Y;Owi%>6un*S|4>IPj=ap%%!+cjn;Bm{?HUIAe7~Z zp2dg#$#Jaii^K$&toCjWKX*8Yr2d^=N)LC)u- z%PLwec?$H>sPbhjn>A%dtD6n~3VWZj*U_{>FmU`tW>Sdv$MA+|U`;sap z%pZRSLrM_YF2FK=!VFQdX1AKvD=h)&=D?(mqNMQovRbxbfldo89tXft=@6hnDdWfM z$Rd+3L%Pik1x(VokB$T@4aC>rO6z|rUaN%#c8O)^01$x@hRQ6`Pk7r)RHW|@l9^<- z8~q&FxRl|Bh&tgA{=q8%nL5HGdPLG&_1Cv@-Lb@!lR}flz@dvIUr#m|OBfl=+e86S z=G{?{0x?~zPJ|7r%v#-%j$j3)MCh#z-`Omuse=14lkGhLo(n;;*qOdo&Z?20!?8A# zLQ0IyT6N2R!(B(L5KyS20{cvQ5QnVEe)T>+g3Oz0X(LPzN&sj^PzM`{@0JLo7e5qs zaPEHbkZ#31WDgI41@Ep!mlvgE3rc(+`=F9I96gSPo)NOb-h)>k32ZfWSjj>lU*|3Z zOd^(qE(4NWBTPF^ZW&HlOqoHBSfDcdQ^4<%C55T$Tyf7B&u3x&llfMGZHx(t{Y>=t zJOiN1W8ik?wDbJJd-?A(K1ATCQ{Q1s{JRy!GRgrV<;m&!=GNa}(-T%6BpF`a4e0yh zxq|=wq`-bHALbSPM?NNt@CGIZkxvrf1;6hUoyr1?>*sdE>GJmj2%e#elfR?KbbD!C zj0_c;z3;;#e-rfpcY$bzFlf=YmqrAeSzb5YBkVV&@wd^11CQ|7GvS{jO(r`H#znlm zdi&${{-`0J@J^?}?WNl(0Ngmenf~Fg*9iE{{J?s_5mDS;`v2dlS*DAFA$|nb##3mP ziKJi_&w{KuQjDC9ey8?5Fam;dvVLm4_d$n;B||%HM(8%)fXY+b(BXq&GXgc*;pOW5 ze@CQzJZRv%h0~#fDzVmwNP$jssmHqWc=y1U-O%9Qli?MkBZ!oUja)u3ly_@2#0M|T zome&`3>Jp}Q2^=pT{PV*jfW!KYVlXLrPHYBNBCaW97JAQWi<050-3!GwEC*Ynr~)^ zq1T#^@1>XUr9+srOws;0p#mcYNgyEahckdHrPdCd_-sgmb~qRst81kN#M%H2uH>`LuoG@QvU5!B3vja<4?2%8~e}C z8ZFoxDKG8!fD!%k8Q{JEdYKQ?+@D6ik+Btq;9XzBT*8e+nFJ$a2Fotd4LA8%vd_+VvifFZJ)OCP?8XuEw4Y*vVPx89~2&r)>x{Kz3>f0jD^S+qh;E> z1;xcNptHjOV5LbBWSbN0AA=_BG@zw!F@*)s^$!KkWzTyo$<*;-KP$f1&DqlE|Cu*X z1|S3+b5TlC3{3<-fm}6sj3+cW${HH9@mekgDc0=>Ol}uH>NZ%10o78Hvw?eu|H2y% zDckXIu@cCbBn<7iF*Pu1&={+#d&SR#Q1ydfyv_`lilm! zsgSTI$`HtHY}6pK^KQ!ky<7Tzf_f@OR#NGOHy)SjrU0X>wwRIs5Q0_@t`O1!`V)Nu z!Ap)lNbrHaq1%AfR6&v%22@i9K(C(_mDt&8Q~jORAM;O?HHfb-&*FjS{0jVAp#^2` zQq0?EX4UkZ(@*~_xg%;&N-CA^5V27B^lm^n5HpbjI3UHlgHL(I+AUg1>~H8H!0-|8 z+s&a^pm3$7a}BVCy1kZPH@2WfDE4ktjW4Sdke7NMM;O2`ehze?uy-+X*Lcp?FcN`S z710tH4%QpdeX3ORBjW0CGW+m21{Ss6MP?j@BhK$KXfW}uZ(vPSkLR8i_}{d`*zFYL z^^eK$(m{oT#VQp7&)46xilA|VYRm{osSHrBC`Iw@V<4Du6yO?phEJGCMZ;o1pePNs z-(|MHKVk<-{{d9cU}tN*AR5$9;uQ;nUQfYQvM)inAQFK8_A}$eB>PC#+OpA~7vH)G z-NHG-tJ-%o))9mX1_`!4tndofKya!q5fN(V8Je>Vh%fBUR-e`}+gRp7RWv<_8QGAU z7i2p*7&0-oYzDLtog9P>O zMr{=Zo7vTlX=n6FZ7YPi(gJ>?TD1u=nm7nDpUZR;6M}+0IHrv1#b&VgY1_>t$#x^fIX@%=jM-_DTdS={LsNX%{|}V>+DP z4S>|L1{%FY0-ELw_s1H5@g@HRV!|^4WRg{GfGc4O!cgZLEeyHUq2TQn5L+qf3|1RdXDDfR^eOv@g_a+G-(_$;&4?$C|E z7XkFNM@n}Mp9BYYyvSo;bn1Yo;Pw**ZrJa=_esDrE=Pk?fpu#WP*e3!IYvpe1U6z6 zq$2?moVd-o7h4U=JUPqwY&L%ZfNu><6Qg;!EafOK=*+YY`j^bawbJEQH>wp{ha5rj zzfjF7P^VLC5cwA~xypFPkuRlZB{`xc3%3`TRCGOD0WG0uL5KM;T8%ncs1FwBR)!Dk zI}%;WHx_g{o1!mk7hQ^+=@8Sba5=0q9`Q`4=}edFZUk~!Am7=Iit`B%uPGyKRf3yd zMwjV<(qNDo=PO0aFr-!3hVI>9c@sqPK!l_of_Z#jp&I=WnQHkxo8|<@+E`V+5;=C2R+W4sg&hr|Jzlf z+yxS*y*r;h)8dDb^GR(4{Ts}yws6jmm^3Y31s*%;N#SdG>2YO40&W|uT{%U$@%dzD$^$|T9 zTRE*RFFD7P=TJ-V6!(j55fR*@fijuuwB-HHXz`io4rf6f}ca8C69 zdxy56;NUM!WmNW9fDsFya5OyQE*94+L)=kYERz10Ht^I2?#lVPWI5sO(ccW@5!MFA z+NJ-l$2$l={lIN$55ZpE`YX#4;PIQe=|K71U(e(JeV{eWyH=7(>YKq$ARf z%wdDR-9H~4mCswc^4rSL0p|gLj?hFee30C2Y;16H68xY^vi0XbdwVW&jSmO&+n|A8!$}cI)6TTO?_2X@tSkff%}m(yEJ96J zpBOkkgy;bn5)XdH0;mqiS!q-4RnL=H+1y>%J?E<-e^ z`03Ase}OP#oX5Plw=Uxm7r?k%(uq(1QQX8b_oP7of|1>M1@{R5tr9*T z;GdewURm7w)UAhL3y*K#xs7--1^j>OJL;l>xUH{e{TmU#{BnBP|H_b zRR0cfF0UVo&a(W4+)1VGqaum_)&>tCW3PRPjtniW>v~0mmOojX`e0kjdEQTceZ=l$ zVf{7_1ZHhTM)4f2Y0xq(lK+zebgk7^(8ba-kr_Y~)<^J0leh;?cc*KvY@l#Mx zUF@@3Y#D~hZoNcTF!qu zYDZdK0d#Z9dk;`zKxPw{F*bj(PT*fj#@%!@s#9^^>ClJhDpf|IAXO<=W3{kTEw80T z57K0DP-89x?0|eQ0@pb@T#dzy-j2{hjZc8BdRW8*OUuQ^8F;#Eh37NlPyhw)`iR*J z(gJbn40z;zKzg}>0b~D&)1G=a`fC-gDLOW%ZT3-G6a_65<^sxE%KL%9v6va@dOH3< zH3U;!~YAn z+5-C|Uz$?z;>VaouhZ*zE1t4SEgP*9=Pu`1!&}?>-(tl6%dFvl>p*-50BL~9{r=UO z!|_2|8e|AOg)=y?ANGR|ig4^4i}SQh4l1t3C&>^%7@Yfhe+MNQLR`IE$k93( z1XA54)~3vZi$j2oegj{3_!K*#dwr0I6AgUBn-Z<_0_K`Lp_jqw6)YHUS-jP4n2#d# zJ8kRl^5kBA7@N2pygl9qaM~`D!j#jDRIYu%XoqfP9O-VAQD6(~t{?d`VlY(eJMlIT zICx;2qwZiiZLXWHXWZJ-9Z1u{Ez;oSt$}fd>dY8qo;?u$X9H!mfu-6BCfof(S^>+w z7di!quip68YW$0fCZ-xW7tXU6T*{cbmFJ!Zss=JxE|YoV z;-kQ?ADm)9-gIn=f5e(njFS8JqL5Fi(jUtl+vZ;Q(#D&?Yf-0sUiJe*5wrXHvowqXmvkMDf6*>4OV6^>l$$<+L!B>HL*-1Y^dKaD$ z{;}l8wxvers+gD+`?V$dQ08luD&j3=ei;7+@Ef+h_I6+mJ0Z{6K;%_lIxyZge0m-?n+jxnLZy<_r z_!a&|b{t;G%8xObct9Q;0Dn&p6n~3Z%qJy9K%J4$7)S>*K=cMBqO~~?;jIB`MwG|( zuC|&6Xdq0((DWmU)QYGc5<88)fr^y?0fYv$>}6G=ELK+o2f!n_619&^&Oqja);QHZ zE(MTUHdHPjWM=E;G2Z{XSX=#JR|b)I_J|r3nPIHV2f^VKnzQALAsqqgNw70vpUDMd z(tTzumV!i<_P|@T{pyGHYN^>xxI|#~7+`f25bEN3bG~`J$@@$724FkMWW_e^z3_DfN2=oI|tHt^r){#Q5Wsg3ZZ68HuR!S2ookGTEb!_69}Ip;!1Q@0)qa80Ww;YkqQ zk?}u=x;c)vczAFE;cNrIQ2`a*^$7&iEAZ{&T^Q&eU;d;?i6}KRV}!;0XRMY04d-}) zx?l-K7k>nV+jMU?J~KX9vKx~!8e#K&G>NIpe+oK!5(B1Mw$26eCB1HFWDt1+yP2wd zWVUHScZauC0NJ%k(uKp*wTf_7)Z6(dh2}pk)@5f5z-I;r^Pjp4eWj?s0;wHBd#8Hj z@MD=ImcG4M-=0h2Y*79a7LT38>(TsUYovoZ>)e9h*LG*mDfGkbTL0r6fsUnSquGIw zdcBQ;@qrmGs~H(!k~Bhq3l6&#Eog`n$egn=grw_7-2_YompB>^q|-a*1Yd+Eztm?U zH8*2(JFS1+$B7D$=~%8rAC4p-W_ErBNK7K|y5@H*w44X%YCB7Kz2N{bCucNFF&-$q zoKW8}_GX&q4pN^#GOiKN0oz1nb~9IM&p-2}4C9J3RAx-!bM39uwkw7LK%4I_(SX4= z*@$%jmENwvo2m@M?tY0N7Bm1onR3~u6%ZP1v_WI&4Qzq!{10L1dpXsEY;)L;{7z)h zUR&iMwd}*K9B_00bpY@3f`j9DRkcqxeZ0^Izp+A}-C?R5!`8_j!C|}GYC+|luW}0C zoi_gYyfQR#W!0GF%X+4&f6S37}G&!p90v`KW!k7Pn zVaPz&C+N)`UAVzrv~c0D|U;)1k9mpv@lVW4qsYUZocR=W6e8pXMM z8du=K5S<0kH#c&)oMdT4n;OU@`1s0HtMk+DcbWl?zo+OC>0RlL^KZol1u|&Qcjk5B zQ-tVM)hd}Ba08DS|D~n=0$^l<*K(P9NU3)1_WROVY_esi1*Mkd|J+9d=v<}PzR0&y zul|{%?!FhTJ^e4zy&(pEc>3G6w7;GfWaIC2MWM|KNpSTdeB5;#l5jgbv7Nru|TV_`bIMJzSVd~yYpP__kg*y{c7aziiO2C{;66LeAJ(PcA6)0=i=JysQ}*z~APcr)iZ!OQeCE`F=){Sn zvUm^g=YY-$R*3X(2P=T8iI*#-=Q~6o@c{l5!)ryB%Aix82RTR|m?sks7=ZO!)OFAN zPE-OxD-Rf>J2XXq*yE6!1-*syxAdIow{F%$$ep>Ps08luk2?{;3l9I|O$}SJ+xPMm zN}$}$FOIrRpm+eRV}1D3n%J%5#ROq9_hePc|Gi(n8))S8w|$Yf%i^!XR^_YPt6zbo z6T`b1Mf%UUqW9hbF5N>u!`R!apMzp@YL6juQGwfAybB)Vsb@dUZ7hBa@t1E>B*K1+ z6+t&ebPqfR)1BDYz}fzD18b;Y|Dqi8l#2-_gXdYqv!9o(Rak$2iH`ta z1O2Pf!I=eA2(U2HD*hoH40(p*XZ@>Bl%uZ#XHN^`ZT{Zamk4kHoGADAa}L4rLNHzU zWj#B2V^YK`TYz`RiScynK_?Oql+JNbuO_kr(v01+20e2NUz~p8 z)Qr_y%#eWNo=L7o)^_vb*xvC!lgmdBO`~5`Ojfv+P1X#^HEc+lf*u8d-X`{)a0s!Lx;5zPgnlA&MZX6(C@uA{t4{$!3w9CNnxdp#qz=UXU zNKjvFkxR?Me*2lvH_GudQ?_?pO;M2yWIHNSfI{Rk&<0K5xc;!N<0ZcvlUsl~FbbH( zTdt)oH!f04H=vSXy`qO8x~QyK4Rj(W1?qD_yD}O^ztv2kzy`?dUzW@4$-hMNtedH~ zFG@5Mv17Y(4Im|jYO{%c)29NafVjHhbh0zSWHwGUW0Y)Z0IDD> z$E3M9z4Jip?qkrC@P&Pi=~#Dxew#O(?XuT{S9#K@27mw^4IW$OcX9sj@ z%IDx7*Pt#Sl8H>hYPD8$5bPZ7{|Al$u{{^4lm|eK*$l6WCqya+Y%k-rS@Sa1_WZiK z>0(B2S#RNdkn;k1id>w4_h$f{pt!}Rcgp6-lR5t~IS_AI>H>0Ip^|tzz&2G0jkrI; zVmZsAT5FXGWyOekd9IEG6B+g2D;Ph=j%m3$DPwXv(itOEDcllkrMP25Q01am$g!~W zc6&4QO@~#}O-CL5QIpKZ7eZJ0^{UV=L+o*b&i9#^{bZlvL3*7N3U1@kOM@*tVKAtC3z7yH&(R|Tv4yS#GPAE!+V z%s;**YYEy=ob!VUVPPz(cFJq=U?4K-C$D)c%}dhy6H>@Bw3}zDj0b>z z@Mk-`Gg_8TQYoY`Aej5eeOgD;3g*6i?h#L`+!Uvr!9Eq z0T3)0EH*kD835^&N+{ehN7rQ zy+E2qY$nQ2UhYvv?)b1He@k+?tRj|DL9ZF%-l0tvQ~c@J@Vh_4GAMnqSh;Cle&HR= zoq=(_*l_ukN5s9ejr>4ato>_mxK1=U!Gqs$m}A9pi} zCqsez`AEgL)t=;4kY>d8@@a}0dU>Y72{K88kMS@K&p?n+Y}{T?#y$FLRDyy0lXauV zwN5BHreyqwvMaGRXFr*(k#(^{N)Q)2lv*#b+AU?y5|>nC8UFJ1jF2-1W3XE~ zDXSnAd4Dk8!Qqo;hKi5r6&{-h?segESSyVy`ufF9Pbic`2L+0h%VN3=zpwYCyGI-! zm!$czTd6$@#vH~9_&}dp8+)+e@+vP(bA40WNK9C`_;V6#(Pz|f@Tu5T=|YZq{C>9i zR4J43!EmMXcah=xXyMVym=I}{oKFnTxrej?)F6^!3WRpcwTM7}qzK7`=WQzQp|2U25}#Lx+bnYz1&>0g2POg#@Cm5Uq5COVl$@%Q^wuby`8#*k5utw zJ5S3esl%=KTfx@5xs3%V(BgU`-r974xGzA5Pc z5N_RffvqjNcZo%K=r*1!#bt_XVtzvj)GNA}F>d_9;UEbEH2uk#zV;nPMRix2ogi+H zS0q!{x^|&&f63IJXW?*fthSsRnis9vUmU2q5sC~fI~5|wK9qnt!0iTNv@+XEEiGfp zWel8YaUGcVeuw8Ttbk~b^{HVc!+qa8nRNOk_sbH-6SG+e6#*JV>@qEx#MPPmtxGW>L! zvYYy@L9RqWo)F$oC)BFQfuk1YF=upIWnYC@S?pY;F5`Dne(G~ae)q2UI!`M0dkE|1N$WAO=k4ZG0u7yV8Y)9dA>^;xQ5fNv(AKyEH)Ob0FR-zwcpoXa@rh0 z9cek(h>M%m5lG7>zDxx5Vuatjpw?11ElteZLA%{6KXVfND-$11Gx}5@&c)|lTnd%T5FfY} z^1XQQ<5frOk14m&iHX=W>v(j^gXzV$+V|;Ogrd7X!dRRwG`r1#gBy@tjv)z*Y`5B! zBUiRZvWo$zH4a1z3kz|6U7UTJs0MEiV>Nd6Xw4YkYpJO{KYcJw zZ0A^I2v=s*Db@24TVix6#G4P(uN<-gR5~rPf;7v(VGT@-wTMif)RbWOo-fc76By z_&plN8f7D+^n`D_v%Sb;Mo0H~`}cRUJWAeP3Us)(1T3y(jT`Qf&CiW#XBeB}C)t`Z ztWvIff93o21SDXdEpHr~GVxx1EN>a1iCuZNn99+zhxaXby(4u&YRtc(fy*fP;?(~a zOJ4TO)9J;Tn2U@1Pn#SBwHlptYwEU&aHp2oEHh9mKB%jxM0~3VOwg1izeZxqPEJl| zZOlK!J$1#zYH4!je0=#*f%pAVhu{Zcfe1tqiyqbZ_{BvDCg$&*N4Cm&_%itev$KUq z2ZU2_y4!UD6HYD%uLL+&Zpi5i3@$^5BZ+=o0Y!TzHZ~)*-i-d>Vw6xccE?qYPd?u` zdVT>u(!1|h0IEWu+(kkQ;fNQ}15z65{8DtES%P+mXWyMw7Zvx>@tK*rGY@HI~n|ZX+D%$xsh0S*r#2m#R4CRkoh{kKU6-no& zOZRneB!xVjYv@vml;*jbi1}d0qI|>mnM||)y};O41rLhS++0ldx}(pmcS)40?hxdR z?jI6j^CNH}acv(w^~W)@V53P5||#u#n@;fBitq3 zG-Rg^I0mYl!v)ny5uk7DN)Mo z=EWK>@$kl!ABAP2g8syZnF#t>3agI3iRb5>ZFC4ee8+FRsJ5lj}B9fZC zv{ykagJF!+b5V}oR=pX*m8|Ge$PBsAmH1x!O&v~>i@_oJ^zqN?fb<2NBMUzvCzeEQ zlu*7<9k=!4az?bgCR7TK=-h6l4u%ps)u%Y05wG2U-FSq^R-fnzmTKWMQEs=UyBh^3 zUu-JHAzpPlO!587ShKaUMA?3}za**<-Ca{!6@3^(far?W(?#!OF|gXsqYJNI(^8DD zBPu$N`MkE$#5XG#Yu{1!D;6duww;X3FH;sdi#|p|@~7UH0hHG$?egd}#w;O+bv7SP zAvrjpk{=xyh|uBL=nF6KoV3>NJNi*^kt|jis6!P8O{If@J@akk zq%X5wcl>)i8horD3x2}(FH}NoHh8Y7l7Qt)E`i%dp-+*oez?dp`kn%b?A44}@Tf)X zo{+3`QFU!C>AmaIYu_4kbGcV4SwrF|QV;x}YtW%b)8}n&U>O;he3`YC z*P(x}%GBqz5bslk77G^PH93CqRaF)nOW!cKZ2o*%{wTXR2D_6tjOs&l34Te4ud)R> zMrAm@%}qw`;^2gQEz2?e_Cd3u;oaz>Rhh|`i=R9!u4xJ`NpUyjKOB&LOin6)&XR>A zAC>2=Hi2h~TY?Wox+lJF$~ifl04HpUTlaz#7WqdDsl9#8n|wlV1U7g27L$g_sj1Kr z<{xd}o76pcX_(Hxcn@NgvBMzRGfcIZjH;|{Jy=ks1wH7vNizfo>#oQl{z|Ey?#YR8!MRKz4}R6oR^_p{0@sm z{`ZNtJ$PnU!myHnaGndX4~RU3vlHC&vxBU#>29ZqPwT{BeE=mW&*<49v;c5Su<?E=+IF6Yt@RD`g+<9L3X|Ew&oAl-XpE~ zPn`$`KO=@M>n^@ zHu9{I(a|Jtr0uN+_#P_bADt2JuMXp5%Pe@3*GDm>zwEK=2|)VD#O_nO8J!9L51 zqju5Mp5$ecJ|=DHhleaZou=?CA=G>vk1b5@Zs4(-sg!ZBk@WX3 z?YrnM1pU{N`ob0Dl<84%yyOS6OLMkNacYaRpC8QHXzC?>fc;kI#1sFX=R?zSctiU5 zh|HDlp;0RDdER$wd+YQ5l4zcy!#Hu3Toh!2^%^+OMulnm0~7@ydwf2-NJXZ#M75|FWJxsFf&ETDr8MlQ z`@Iq8omyoE{qC*oOnQsjvf?!si7xlXO`0K0^hrdR94#^}wCfLaH%NjB8}_U4W7a2{ zv@DX>^3@C6Upa~H!1Oc!yx1e@;PY?t*`1fTW|4_HZIjxJ%c<@Sj?j^LXPSQ!C|H#F zgLU$HurN`pkd;R=<5RZ~EhmZ@>=PjsHyqWcwV zUzOGd2a(&P0|P@Z%{1O&(FIn!>UA=Ru1**aSeQR^oxEaz1~aNCM(wjs`P}1z z(GA#?cg{ucpCO+_?;y3<*%=^ln9thsEhF_0y9{AnXLNu7%)H+*t4DLy54_-@uBx7AQYGX)w|m+#HMGMmWieB(vP zA-2SdI@A zI3JV|HLJ$5U@s8N8UFTjAU;^;ONH9?QrWL4;7^RLbx$3mS=1HYVf9EVV!^koD9Z@j z$?xdyE_Ad@`O4KUI(ES`r;4pED2NZ!y|WWEvqKWXRPm0#%2#AF{?}r(w#Q|y4(>r4MM8~o{0g_WO=c9SX3*lqaD^Qw|J*On??ygJGRU%I@_xVt zaR`Z|b<`_-k)>*Kt5t_i!66kxn;@jww{NR*Wuj+wFHgm`qV)J@y3Of|pHD4J81H!V zSMApAc(bj{yADe2GxESut{Yq1oOi8Y$(?wR+STR7N1qFmxs=5yG5*qdjNIMN5Yt6` z*Y!-yrA>L^KWBz8vB`bCYIxyLIsFXH6`O?dK{N~fg?@=(T={nI|F@E zIm*iEkps&2!%Lq9U=mp1XT4sT^(ThcCE_-de zI&VzjpnSR3U7(4;bJ%rslz)CY(RP48_zfQc5k=T-` zbhC{pItGEIjsSmaYg)(4Z~bJ$hi6Nd{v#w`M6YZ@@Lb>DFH2@Z6G~$!s%AQ;@UR->yNo7s3d5@BiUCWm#Uma5C<6+OKwc<_MXiMw_aIXN(Mg zhVAV+-O?`-!uC6k#!tRK(dByIA|`r1NQa4Z#-iEy@_z)E18DqW=x_ld6LOqS=L|OR ztJ0$_T*ZLk$LTEEOBe?0+FqA_TU(pK;^CwF(%jq><7ZCsxqPL4srmiimS2`lzanV( z`~n`ETkC~OhY>8`1%y`j9fLmn!skIAO+7GuLpv}ChsVI8zOT`=hkh&9zwjvh1}<~+ z(?(E9!-a(n8qbxLWg{%j%sw`!9T^|&d~qnb+>-gDt}6b5N1iJ#Ml6pKM;^46+$qTY zT{r|Rw(k5ko5(W%>h9jXd-(O&UzbT1q5}c}fq+0|2=J}J>KaqxlQ;t?A0Hhbd$+O% zrKG~ni7f%WuPG9G;+fdOcsldAY`S=^H~R}=#l4G3OGg6-UQCSEDW2+U%HY2)0#*>v zsh>Nqe13Ud$|2uLAz<}dCq*sL2?zuP0s=LF0F#sNlEVBnNxze}?)-Gnj;E`>p|`Cy zYcA^a>&{BwUM7fegwwjKe-s?N*G9nC6u~b818OM#+GIn<6GR|v!<`_QfmA>sAW)46 zM3XwU9TA>A-!qwXEKHR~L%Msf}Xl3fhEe_;F~3w5N+e*oHe@d;|4>KtSM}AmC1Tev{oe z_t{TZy}$XuYOw%Sz4fh)nkDf%xU-KycmvLUABPqO1Ofsj5ID(Id>XB^xDr)+Bf(s_8C*ahAW$BG zL}5u+LF$($6H){O0s;X6ivWT_7&`(t1Ox&CX9Yt?shqeR+0s^Ot0D@8& zJ5CqlKs_K35O}i)6d8Dj72%uhfKXaMpq3E`TBKU;y-@dnKtP~U1d4>Eup+D!x{xj) z5D)-?FlGck2nYlO&N>1Oe7*bb-MePM3+nT;-rb>n0fCc8K*tUB8B>A_2m}NI0%r+< Z{{x)s&g`rV??nIr002ovPDHLkV1iZjgd_j} literal 0 HcmV?d00001 diff --git a/support/lry-darcula.css b/support/lry-darcula.css index ab1a9dd..97617d5 100644 --- a/support/lry-darcula.css +++ b/support/lry-darcula.css @@ -333,28 +333,24 @@ fieldset, img { /* 块/段落引用 */ blockquote { font-size: 1em; - font-style: normal; - font-weight: 500; + font-style: italic; + font-weight: 300; padding: 30px 38px; margin: 0 0 15px; position: relative; - line-height: 1.8; + line-height: 1.0; text-indent: 0; border: none; color: #888; - /*特效*/ - margin-top: 30px; - margin-bottom: 30px; - box-shadow: rgb(132 161 168) 0px 10px 15px; - border-radius: 0px 0px 10px 10px; + border-left: 2px solid var(--blockquote-before-color); } blockquote:before { - content: "☠"; + content: "“"; left: 12px; top: 0; color: var(--blockquote-before-color); - font-size: 4em; + font-size: 3em; font-family: Arial, serif; line-height: 1em; font-weight: 700; @@ -365,7 +361,7 @@ blockquote:after { content: "”"; right: 12px; color: var(--blockquote-after-color); - font-size: 4em; + font-size: 3em; font-family: Arial, serif; line-height: 1em; font-weight: 700; diff --git a/support/lry.css b/support/lry.css index e3fcd27..144f9d6 100644 --- a/support/lry.css +++ b/support/lry.css @@ -303,24 +303,20 @@ fieldset, img { /* 块/段落引用 */ blockquote { font-size: 1em; - font-style: normal; - font-weight: 500; + font-style: italic; + font-weight: 300; padding: 30px 38px; margin: 0 0 15px; position: relative; - line-height: 1.8; + line-height: 1.0; text-indent: 0; border: none; color: #888; - /*特效*/ - margin-top: 30px; - margin-bottom: 30px; - box-shadow: rgb(132 161 168) 0px 10px 15px; - border-radius: 0px 0px 10px 10px; + border-left: 2px solid var(--blockquote-before-color); } blockquote:before { - content: "☠"; + content: "“"; left: 12px; top: 0; color: var(--blockquote-before-color); @@ -335,7 +331,7 @@ blockquote:after { content: "”"; right: 12px; color: var(--blockquote-after-color); - font-size: 4em; + font-size: 3em; font-family: Arial, serif; line-height: 1em; font-weight: 700;