From ca085df35b349a1bec47c1ac776b62685654bc8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=A9=AC=E5=BA=9C=E5=BC=BA?=
<8569561+fuqiangma@user.noreply.gitee.com>
Date: Wed, 5 Apr 2023 17:04:34 +0800
Subject: [PATCH] =?UTF-8?q?ip=20=E7=9B=91=E6=8E=A7=E7=94=A8=E6=88=B7?=
=?UTF-8?q?=E8=AE=BF=E9=97=AE=E5=9F=8E=E5=B8=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ip2regiondemo/.gitignore | 27 +++
ip2regiondemo/fanfu-web.iml | 92 ++++++++++
ip2regiondemo/pom.xml | 136 ++++++++++++++
.../main/java/com/woniu/WoNiuApplication.java | 16 ++
.../service/controller/TestController.java | 21 +++
.../java/com/woniu/service/ipregion/Ip.java | 16 ++
.../com/woniu/service/ipregion/IpAspect.java | 34 ++++
.../com/woniu/service/util/AddressUtil.java | 31 ++++
.../woniu/service/util/HttpContextUtil.java | 28 +++
.../java/com/woniu/service/util/IPUtil.java | 37 ++++
.../main/resources/ip2region/ip2region.xdb | Bin 0 -> 11070130 bytes
.../src/test/java/com/woniu/AddressUtil.java | 51 ++++++
.../src/test/java/com/woniu/TestA.java | 171 ++++++++++++++++++
ip2regiondemo/woniu-web.iml | 124 +++++++++++++
14 files changed, 784 insertions(+)
create mode 100644 ip2regiondemo/.gitignore
create mode 100644 ip2regiondemo/fanfu-web.iml
create mode 100644 ip2regiondemo/pom.xml
create mode 100644 ip2regiondemo/src/main/java/com/woniu/WoNiuApplication.java
create mode 100644 ip2regiondemo/src/main/java/com/woniu/service/controller/TestController.java
create mode 100644 ip2regiondemo/src/main/java/com/woniu/service/ipregion/Ip.java
create mode 100644 ip2regiondemo/src/main/java/com/woniu/service/ipregion/IpAspect.java
create mode 100644 ip2regiondemo/src/main/java/com/woniu/service/util/AddressUtil.java
create mode 100644 ip2regiondemo/src/main/java/com/woniu/service/util/HttpContextUtil.java
create mode 100644 ip2regiondemo/src/main/java/com/woniu/service/util/IPUtil.java
create mode 100644 ip2regiondemo/src/main/resources/ip2region/ip2region.xdb
create mode 100644 ip2regiondemo/src/test/java/com/woniu/AddressUtil.java
create mode 100644 ip2regiondemo/src/test/java/com/woniu/TestA.java
create mode 100644 ip2regiondemo/woniu-web.iml
diff --git a/ip2regiondemo/.gitignore b/ip2regiondemo/.gitignore
new file mode 100644
index 0000000..682d4ed
--- /dev/null
+++ b/ip2regiondemo/.gitignore
@@ -0,0 +1,27 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Java template
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+/.idea/
+/target/
diff --git a/ip2regiondemo/fanfu-web.iml b/ip2regiondemo/fanfu-web.iml
new file mode 100644
index 0000000..4fb2f38
--- /dev/null
+++ b/ip2regiondemo/fanfu-web.iml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ip2regiondemo/pom.xml b/ip2regiondemo/pom.xml
new file mode 100644
index 0000000..2276085
--- /dev/null
+++ b/ip2regiondemo/pom.xml
@@ -0,0 +1,136 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.9.RELEASE
+
+
+
+ com.ayi
+ woniu-web
+ 0.0.1-SNAPSHOT
+ woniou-web
+ create by woniu
+
+ jar
+
+
+ 1.8
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.google.guava
+ guava
+ 30.0-jre
+
+
+ org.projectlombok
+ lombok
+
+
+ org.assertj
+ assertj-core
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.freemarker
+ freemarker
+ 2.3.31
+
+
+
+ io.springfox
+ springfox-swagger2
+ 2.7.0
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.7.0
+
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.79
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ org.aspectj
+ aspectjweaver
+ 1.9.5
+
+
+
+
+ org.lionsoul
+ ip2region
+ 2.6.3
+
+
+
+ commons-io
+ commons-io
+ 2.6
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/ip2regiondemo/src/main/java/com/woniu/WoNiuApplication.java b/ip2regiondemo/src/main/java/com/woniu/WoNiuApplication.java
new file mode 100644
index 0000000..a5ca290
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/WoNiuApplication.java
@@ -0,0 +1,16 @@
+package com.woniu;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+
+@SpringBootApplication
+public class WoNiuApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(WoNiuApplication.class, args);
+ }
+
+
+
+}
diff --git a/ip2regiondemo/src/main/java/com/woniu/service/controller/TestController.java b/ip2regiondemo/src/main/java/com/woniu/service/controller/TestController.java
new file mode 100644
index 0000000..cf90a69
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/service/controller/TestController.java
@@ -0,0 +1,21 @@
+package com.woniu.service.controller;
+
+import com.woniu.service.ipregion.Ip;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * SpringBoot整合ip2region实现使用ip监控用户访问城市
+ * 公众号:程序员蜗牛g
+ */
+@RestController
+@RequestMapping("/test")
+public class TestController {
+
+ @GetMapping("/hello")
+ @Ip
+ public String hello() {
+ return "hello";
+ }
+}
\ No newline at end of file
diff --git a/ip2regiondemo/src/main/java/com/woniu/service/ipregion/Ip.java b/ip2regiondemo/src/main/java/com/woniu/service/ipregion/Ip.java
new file mode 100644
index 0000000..aa2bca2
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/service/ipregion/Ip.java
@@ -0,0 +1,16 @@
+package com.woniu.service.ipregion;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @className: Ip
+ * @author: woniu 公众号:程序员蜗牛g
+ * @date: 2023/4/5
+ **/
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Ip {
+}
diff --git a/ip2regiondemo/src/main/java/com/woniu/service/ipregion/IpAspect.java b/ip2regiondemo/src/main/java/com/woniu/service/ipregion/IpAspect.java
new file mode 100644
index 0000000..5dc18a7
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/service/ipregion/IpAspect.java
@@ -0,0 +1,34 @@
+package com.woniu.service.ipregion;
+
+import com.woniu.service.util.AddressUtil;
+import com.woniu.service.util.HttpContextUtil;
+import com.woniu.service.util.IPUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.MessageFormat;
+
+@Aspect
+@Component
+@Slf4j
+public class IpAspect {
+
+
+ @Pointcut("@annotation(com.woniu.service.ipregion.Ip)")
+ public void pointcut() {
+ }
+
+ @Around("pointcut()")
+ public Object doAround(ProceedingJoinPoint point) throws Throwable {
+ HttpServletRequest request = HttpContextUtil.getHttpServletRequest();
+ String ip = IPUtil.getIpAddr(request);
+ log.info(MessageFormat.format("当前IP为:[{0}];当前IP地址解析出来的地址为:[{1}]", ip, AddressUtil.getCityInfo(ip)));
+ return point.proceed();
+ }
+
+}
diff --git a/ip2regiondemo/src/main/java/com/woniu/service/util/AddressUtil.java b/ip2regiondemo/src/main/java/com/woniu/service/util/AddressUtil.java
new file mode 100644
index 0000000..4af40e6
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/service/util/AddressUtil.java
@@ -0,0 +1,31 @@
+package com.woniu.service.util;
+
+import org.lionsoul.ip2region.xdb.Searcher;
+
+public class AddressUtil {
+
+
+ /**
+ * 根据IP地址查询登录来源
+ *
+ * @param ip
+ * @return
+ */
+ public static String getCityInfo(String ip) {
+ try {
+ Searcher searcher = Searcher.newWithFileOnly("ip2region/ip2region.xdb");
+ //开始查询
+ return searcher.searchByStr(ip);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //默认返回空字符串
+ return "";
+ }
+
+ public static void main(String[] args) {
+ //204.16.111.255
+ System.out.println(getCityInfo("204.16.111.255"));
+ }
+
+}
\ No newline at end of file
diff --git a/ip2regiondemo/src/main/java/com/woniu/service/util/HttpContextUtil.java b/ip2regiondemo/src/main/java/com/woniu/service/util/HttpContextUtil.java
new file mode 100644
index 0000000..501cfc6
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/service/util/HttpContextUtil.java
@@ -0,0 +1,28 @@
+package com.woniu.service.util;
+
+
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Objects;
+
+/**
+ * @desc 全局获取HttpServletRequest、HttpServletResponse
+ * 公众号:程序员蜗牛g
+ */
+public class HttpContextUtil {
+
+ private HttpContextUtil() {
+
+ }
+
+ public static HttpServletRequest getHttpServletRequest() {
+ return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ }
+
+ public static HttpServletResponse getHttpServletResponse() {
+ return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getResponse();
+ }
+}
diff --git a/ip2regiondemo/src/main/java/com/woniu/service/util/IPUtil.java b/ip2regiondemo/src/main/java/com/woniu/service/util/IPUtil.java
new file mode 100644
index 0000000..96f91dc
--- /dev/null
+++ b/ip2regiondemo/src/main/java/com/woniu/service/util/IPUtil.java
@@ -0,0 +1,37 @@
+package com.woniu.service.util;
+
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @desc 查询当前访问的IP地址
+ */
+public class IPUtil {
+
+ private static final String UNKNOWN = "unknown";
+
+ protected IPUtil() {
+
+ }
+
+ /**
+ * 获取 IP地址
+ * 使用 Nginx等反向代理软件, 则不能通过 request.getRemoteAddr()获取 IP地址
+ * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,
+ * X-Forwarded-For中第一个非 unknown的有效IP字符串,则为真实IP地址
+ */
+ public static String getIpAddr(HttpServletRequest request) {
+ String ip = request.getHeader("x-forwarded-for");
+ if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
+ ip = request.getHeader("Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
+ ip = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
+ ip = request.getRemoteAddr();
+ }
+ return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
+ }
+
+}
diff --git a/ip2regiondemo/src/main/resources/ip2region/ip2region.xdb b/ip2regiondemo/src/main/resources/ip2region/ip2region.xdb
new file mode 100644
index 0000000000000000000000000000000000000000..c78b792844dbbe2a3cd5aa1919dd75772ae7aa6e
GIT binary patch
literal 11070130
zcmd?r@n7EkU)TLZL`0l?ITH*r5eX3|PDDb)
zg%goz(prlf&NaCv;lxEqG}l~&xE2=|5)l_7A=je0kch6w)A#egxX#<{etZ0|^WZo>
z@6Y@7{(Pb$pBMRyn2{f-iTX_B(ZO`&|8M{4x*M#G%558>GHz2;W^IYes%=p@v{Ndv
zpC2Ss$+QA0C00$P&RVE++W?hOdq`!*7O1?j4J!NgkxF!QkVqxN@~9M9C6yc2M5WXE
zsEpVol_xe&<(0jovTMgwB3}^1Q%SQNDp#zWO06|gX}4Y~!!|)>+UBS%+ZvT^JEC%C
zaWS8XNQz}qxoo9Wu30^mR_mcMXk%0!*)uAOwnAmo4yc@1%olzpB1v|MO1>3Ssj{0?
znyrgUzulwqz@AchVXvvI+a8q<78U!Mh$L7#m0Y_@rNXXLxn&(x?$})__w6y2=k}7y
zTic=X-p;99_@W?{O12eJDYF_X4c12Gwhd7kw<#*KwnSyswx}H1DV5l`Ael<06;LU$
zYASWsLZ#aVsEpb}Dl@h~<&AAn*|(2WqQ5vuq>^EIREn&U$_;Cx(rJBEMr@MG6Pu^<
z%HC1gwPPxg3qd@UG|QoK#mcGFS|gQq>!mVm6I7;cj>@vFQQ5X5DrXk=CCookEQ`uz
zE2VPH>Z!C^50yb1qw>g}QCYMVDw}pd<-}s*nSUhNB`Wz=Or^?hQfam>D*bkk$^&~!
z<%PYbvTl1+K3LRen13W#I+a|zN~OZCQ@LdwRPNYaD);R%mFM=7%3Ir^^4`v=Tu2B~
zsbpIrl`^ZLvVAeQlgw|yTxzgP<>i+JZ>gN72eDtyTqD`;Wb%2`e^oF@Wz1Hn#N-4?
zRPwEuN|oKDQkoxJqkrieDJH%-DE<~chg&5<>bG*;7$^-I%a{{9`}W}RUuRvBR~fvm
z=DINX-N6$o^Y)6$u0?8?S8Ur6l{1U`9_9uqR!ZfX)l+G;MJoBV!5)>4?+te9xX(!W
z{vfWIzmHZMq_Su$R1U282U#E7v}P*nwnycIMYXW6kziM;+_L*rURv1?v8Qm`hNz6&
z6qQ+9qOxkIRO(uT#2@BdMuxqj65kf|QrWg6DrXk=BdiZnEQ`uzE2VPH>Z!C^50yb1
zqw>g}QCYMVDw}pd<-}sz+3!fQOH}f$m`au1q|$6%RQl}!m8Z5xCHF^z>s0RAeJYRb
zIhB|8mdcL3r*du=Iyg^|YS~l@t&B>IHBf1@+f;^ZoXV8VQdzQ9DqD6)<<)cM+^8SEC%b=2HMN}&729+l3q|#?2R3_~S
zmF6E0u6J`k@!pnxg0(_RPcT4b#_s+!_a0k!g6f}PEl_6*RNnOk_5JLBy#BeM=I?Va
zacCQZtOeSKg05lqBi{aEutVj&om07RH%O&YX1A%V+98!wi~R@OUnE;5l>#fFQf+lq
zTCAJOfQ?dlXfsqkTJ#9_6N#2VCC@6U+^{Apoz_QX#3rdcv3V-5>>ZU|JEju(r68V4
zn&nWrV&zn7t&vK*^->wO2`bYzM`hXS?{WW;^vl6hDtneN%Ci9HHZ#Wh;f*E!Dr<)#
zi;Qy}n6s)0&Nh6o$Nz}42p8@Lh5wYZ1ZPvh%U|bg!oqI^#lOkEly9;AsI^8az1H$y_&(hJ
z)1c?ic%ER;#;829XH*t#h03NKP&u)fBc3Nnvefs?7qacq2mUsq{~}1Fl3_(uZdenQ
zPV1vGVv|&!*gTb2_KwP~9aD*%2JuwVEQiV!E2mOxja1sLm&&kBP?@$lD$BM;W!r9^
z@jOM_7bN_poi9#^NcP2GmP&V0aO2a2h%_b#y;O#6g37ebQCYS%D%*BM<;>zfn-Gx{
z%c4?mV^l7s1o>2ot%}M`OaIb@h-Chi;7M9SM7F;yc>U!G5gE7?WPK&yhwFbWxJ9MI
z9#eU4FR8q>>}=Kzh1Ni2=Bt8tISCQD^10xCQ9?xai-U<0)(_J*M`hX8sBBwVSwcjj
z%Y!~Dn-#$Ul@p8kj)aIDd{=NnCFWX?MCFp@Qz^D8DmSf}N|*Ihxn~ckJhc~8UfVjA
zJ^Mf<>brvkD(RL><*HRsxo)?pbl4p#ckMov$M&4cOM6RY$KF#pw+l515lOXdDuq@?
zrN)lFm;H@1i@VPLMv7%oxoo9W>aCSZj}1~8vqw~(*&>w{tGL1XVDfJUn}3Uafrf^l
z{Ra{vlJs|i*}u!YW4k3dqH<<&Kg91xie*u`Y^7ALSv{3j>!C7eV^kj5B9#@}q;g_0
zt?W}I*(EABt)I$kTc@&TAE-qAaF9SH-Eyg1wF)ZN?G}{|yF;b0EhwW>V+~Z=>^7Al
z8>cd5vs9LBmCBYKQaQEQA4!NvvSm^!uo5cOR!619x~UArV{zlAf8H^@hD$_PcW!cuK
zY}*l)GmGnB9*|;LR4!X7m1|Z{rPX?<4B8l#NA`@$qODNbv;!(97V~4w2a@a(m3%9v
zQe`)(G+P&ye!EBIfjy=2!d_EZw>>H!EUJ?^LxQDK$+fFgD(pIyTh>A4j@_kl-yTzW
zZZE04wH+$&?VQSmzZaxZ$+ki&WmZF_!P=
zYASWsLZ#aVsEpb}Dl@h~<&AAn*|(2WqJKO{q>^EIREn&U$_;Cx(rJBEMr@Z#q&tYG
zl4dznYHgazoGnvXvu!Fzc19)cCxR3zS$3I9sr67&e67SqH0;GR98^3+~Xd2Q=d
z_Ur?dsGkfHsH9sim8(`k<+|OX(qVU~+_n2u9@}#&FYPUr9eYpZ+%DW^-y_wssT5in
zl^ScH(q^}*4B0r9DVwFTWUExR?2yW-#r_og9?6zTrNBz4v{*Nl0UM?A&}OJ?*glny
z7TwD}N1|m=$+IFVl{P|U-d<68XS-C6E%MXsbL92~cc|R8`&1s=b1FL){d4?2Y!3vl
z2ia>_w>>H!Eb8akXGpMgD!F!*N`>Y8BJ+m9yFt_lpGU5p{u1{FjiW&?m0_EpGHr8I
zmhFhjnPvS7vxv)9O68i>Q)#tDDw}pdrFksqqS9|Ks0@tRBlW~eOK8!8*NPbK4D266zC+199R+Yy!0e-$iJSzipU{~l*G
zcI-WsbGxv_`HED_rc!7PRNCw|l_49aGG((=mh6zqsm1vS4qh?Au2wiOWF-l{_n=(rJBEChZB8d3!}A@^6AhD(%)wWx}SZEZZ8DGmCr4
zdjPVmo=U6rP#LomD#gDaJfQNyqF!-6;;L0pxn&(x?$})_FYPUr_jXR@!oLktsbpIX
zl?H30GGyaaW^IYep`B7mejQX(sk0U;4{e`H-X8=bRNmPxmB^bQo=T2gp;B(OREBMW
z%A74zS+i{_N0#;PxOcd0rBv#zmCB%vQCYMVDhC#`!a0v5yF{hR`l-CO+<(ur5O?e@
zmD$yx?hjc@#Q#x{MkU9tP${>n|G;H(rweSh)I0MBZ59H*sH)VMSD$tdmNg%~NSC
z3a))K*N6P#pqR={+xXT`B2xZs!5WoqJ1FB?(Eshh%kobm^44~!lvD(H-|!
zD$_PcW!X}`lly}c>#yQ_aP@Bl6;!Ul7BN8spsFZ_x(Xs<0lbGuyiW1w}RHc%YMO&=HNAzb=#xz!J>YUzlQ`%r;=-r
zsg$(@LsX`0mdcW?Qfc|2AfuJNf;=mtQfW7+G+8H=J{zGjX-}xk+bb&XY?sQhMSl2`
zh{RiW2eXXlKOUTRb8nFR6G0}G0xO|XZFN*yteeV!jZ%4NGgKCAgUY@|_k0qOM9ZL(
zXGK&h?FN-yYyU~kHT2r-Pjf$z-ybCZeXa{lgTV-uNqa(N-d<68XS-C6E%NiMC*m!Q
zN{(HjQf{?W8m*m5uMJa~uxToDwoGNswy7N18I`!9AcabnU8YiM*QnH6E0rD_q%vlY
zs64YpDl4{0<-ks;#QZ{#MCFp@Qz^D8DmSf}N|*Ihxn~ckJhc~8UfVjAJ^MfvoGuhuxua*X~n!Y|p8@w6|1t>^+rpyYP!VXOU{zR0^$(N{uy8X|vl@
zhHRY5l+99EvQ;Wuc1Y#aV()T}BH1#j6j%wBYOABtV%<~*Y?R7Fo1wB`Z>Vh8K9!Fa
z{SP=FkZ2iH@~ntTrQM*?WSvy{Y=p|BJ)tshuc*AUT`I>G8DahrZ)sF=>e)<;c#c#Qjo`LM6*CQz^A;RO+pjN{V?o)YeAn$w^VlQJ(Y92Fv|QR)v~D+S{aoZYoO9*x2X)-IF%`zrLttJ
zRJQDp%BjWv3iFR-%cN3ZB~+@dj!KJlQyH*PDi3Xj%7VS2vSIsFK3en`^N&Q!pps`r
zR4VNTl_u+?(q|)7ChZB8d3#0Wo$XRNw#ctC|A@CVDmiwAO1afiX|#4Ky*5l`!ltRr
z*)o+i+op14XH??GgA^)Rc9}}4U87QOtyFq!kjj`nqVmiZsjS#0l>J|m2}Ica@8uRT(?_PI_wUWyLO+-
zV|z~JrM;!HWACY)+l7C`{3F$}sT5inl^ScH(q^}*4B0r9DVwFTWUExR?2yW-#olNB
zk!+b%3ao@mwbfB+v2H2@HcI88%}`meH&ixkpUOvz{x#+wiIzbn&x)v2+6^jA)=8z$
zMyO2M6Dsreipo3NrE+YMN#-B%mPRGVu23nrS}Kj!PNmm|sZ7{3l{s6cvS!;OdsASn?Dy4RfO1-sG>9Ij7WA=#3Gh3vxVw+SB?1W0pgCL2@CCjH$Y*kclS~Ha{
z>!)(h9#DB|FQ~k>bt-%IflAar2@IHBf1@+f;^ZoXV8VQdzQ9DqD6)<>(6?Dw8x3KivLF?}_
zkH~)!6jMoE2wMIXYmKzu3zGgd^M#s!6ZHK)*NV7*8?3)(9uV~hK?0R@yH4fwO%VC_
zoNs9U!=T}h*l%cj7j&&No9MU7P1YV`TS4p&`v-Ho!7`OK+op14XH??;pCE-wmR+V&
zYS*aLTPu|w8>BL3kElGeMJg+{N#(#!sKo3ANmMRbK9yptqH@!ksdQOCm3#Jp%2Rtm
z<+ZI-*|QH+qW&aEpptI6RIXYDmFsqkN{8K{a@X!td2G+AytKDecI-WsbGxw5`Gr)=
zrc!8SRBEh&N}JuLGGyaarfinVlC4tNvO_AT7W=2{KO|cwl>)1#QfJ*%25gkdLwiGI
z!}h6swCDrQCnQ=1l{_n=QfW7+G+8H=J{zGjX-}xk+bb&XY?sQhMgA-Ei+D?;l4Dn>
zlv^#8Mr)_iYr|9~Y?{iPEmK*uZ7N50MkVerNTHHtm#LK6H7fPiN~OmJsf^hpD$i_@
z%8G4LIk2QZW1exz@~ISC6_uOTOr^{Esob*%RG!)kDz9yw%AQ3XF~``k_f!i1-=K_2
zjWtkdv)fdLY@EuJ%~DyiRVrJS{GQoBrWH^rv1%%H)dH2)LJ8z
zcI%}wY!g(bZH~&atx?&wBPwSW_urWtq*xY}%T`L|n$=TjwH_*iHb&)rV{y!Af8H^@hD$_Pc
zW!cuKY}*l)GmATA{*hu?R4!X7m1|Z{rPX?<4B8l#N47|1#WtxN*a?-G{~07vxn%iN
zimi&uO>3soW&Kp{*#jz1?FE(BwoYZwK2V7|3lgZLTP~HWRzc;u-J;TAcc|R8`&1s=
zb1E=t#;Hu%ER`i&rLtv*R8B4SoViD`
zWl|}y5-QbJN2SHOsSMaCm4`M%Wx?K1*|2>oA1(TSGxtce3@Uk6M5WShP-(JGDt$IW
zWzwEdnYUL|cI}u-B$D`-;;E!r4wWlbPNmiwskB=!m0_EpGHr8ImTis7wjEJ9v$)So
zj7W-QQMqiTRIXV)l~(JaGH7E|9@#T0i?%{#(+;SdSWHx6M3U?hm3%9vQe`)(G+P&y
ze!EBIfjy=2!d_EZw>>H!Eb8+UBa&e0RC4Vql?uB~<(73&xnp;!+_%S6p4&?*Z*7Ol
zdpoCcAv#Ek0N+tFSf@CV0RzRi1s;Sgj
z3zcpgpfYL?sm#~{l{dCQW#2whiH->psbp9ll_IO8a>JUabXp&k5u2p)#OA5IvUgN=
z?U+jB3xjwnX_iCfij`BTwMHuK)=OpBCa6r?9F=8Tqq1#BRL(3emib4DWl_0orBtq2
zJ(X7Lp)zP=R36zgDvP#4Wz!C*oLI~kG5<)iOH}f$m`au1q|$6%RQl~6l?V2e$_sl<
zW!?6ue6XlE<{t@`P9@i_QmL@(RBl-Zl{{@(0^NuvDrP65a
zRC;Zg%7jf**|sw(S)U08sf^hpD$i_%N>V~_lS;F7QR%mPR9@H~mGn=73M$v_7L^XW
zL*=gBr}EgIQ+a7`sqEM}mBPfJj7p6)P-(L%Dyw!#CH7*FOeNC_sFYYWl{#yo(rp7&
zM(rV$8C#(8#x|%#Ck2UAGAxfurFBx7v|}obp9bwzdTp4>giTXfvu!FzmX*vt!I&*l
zS+Pwj2X;aw|Fc0Am1cWN<%PYbvTl1+K3GBuXD8AvmSEpweM?s64lGDnnly%u+eD
zl2q;`W^92<^j`@wsN`7@l}a0-^2A~=}#pH5-kz|*sKk}I;ox(@X%Tx9^TomXx3U&k{kEX7obvbkk-g`VeAKj>?YnFG1(kEYGFU%_(y`rKgRlF
z_{W37pJcsJ|I@+D&+@x4-yanIJpYb^UksK;m{m;P3)07U7NB+_c=>DGPaHo8#{U_!
zg3VtKhMqA0n0y+f{uc9u^10yNbJhtPzZ)zruzzvB7|j1`eitf!KbU>R`GL7V2vYw&
ze-A@8PG!nwsVvzll`T7@a%!=woHr=24JwI$7&KAow1Yolop9k@aJ2i2IDGzX+DT@M1(N6M~a3y%>?jj9`Vz
zrsaOs#fV(B3MzN4A?IR5w(O9~=vN0Hsm$jFxAHGW9t`h6E;m{&X%cc+pPzz
zA1eQ8F!6}b;^tH^`s=JaBEJ!&KfM@{oM%DJ+{K8j{Z8=ucP~aH@m~c8zjrYr8~-L)
ze8s*%;U5G~{@ulh^sff@|L|f&_Wvjt{tsLap8m(6W#eK*TK_mm-R6E_?Y{(Ne{wM*
zwFkk@pIwYd<9`eG{`rgD-KWacGBq`4rtN9E%;
z1XZ6)ipbD61!LdB_h7s;^^>3e
zrTe!(jYwT@Q1P>$MkHl0IQ@lBBQo|6g1TSk|HF(eP~
z>Ha6dovBYF()a5@`al0PBDMc#kn~%hMx^jx1ku0!X+&~=H)vY;G$OBmFW95rT9UkGY1CP$>*dZ`TC1eIxJR90-0%7L9wiTN~0qH@XdsT5lkm7CT~
zrOP_MG&v&8X+am2e!EBIfjy=2!d_EZw>>H!Eb7aWBa&e0RC4Vql?uB~<(73&xnp;!
z+_%S6p4&?*Z*7OldpoCcAw5W?l5I6q+H8o*lx=~6s
zd!EU?z6zC+199R+YyyBi~B0(6)BcQ
z<+7Dhxn}iLTCIo5pp8*^WY4H9+6t9TJD_r6F*(dJlI#+dd@H6>WjCobTNjmnyGP}L
zJ*D!(UQ=1OJt`k8>Z_SoBv?9?3cF6_mUU3MV|S_Cx5reT+e<2MZHLNxJEw9XH%O(D
zZG}|ItcFU1wNbfkLsZ6Xips1lQCYPuDu;GTCH8BAWGb0fK&8a0snl5um2MlLGHMU0
z%-8~zH?~1#-#$`_&I=N$WLO@RBCDiw!j9qdn)I4
z;p@3iNVRM#g;qwT#u})!*=;IAHcn;AW~nUMDwQpZz07^Vg1w=#Vf$1*TJ$%tZpg6S
zLe3YQd}9!Eg?Yr)&jl4!uG=jt9rm0`>eZlz%9Is+6Z->sML{2x5zF~z&U5ryYcXdH
zdTfkJR7sFPCEc!5xn&(x?%H!I+20zJQ5m->DzmmkW!1K*9NHWzDv!9N8I_xNi?qsASnz1@{*f
z)xquWVjdA+6Qohux*l}YvA=M~?ozpLkEuMjmsH-`4wd(IP9^(q1%*_~tc}W$ZBePN
z54x!=Sl-{}exuKJsnj+E6I7;c@cVg|;l>E%xs)7f5Ok
z#yj|T-2RE6s+VUus(&WvrZQloR32JUAA1**_KwP~wf`*p1-&*+WzLqVtl1fr%l$$6
z0M~=aP!Lb$^>FZHguRdDUkY+Zd3VS0uLceGInU8%&HsdV6U_g!pyn~>A+9|Qihq;$
z8N|;9Z-1M;fgQ`6=l-G6y8b2aH^}(C;KefUGT8t9;K3j8u7kFJ7u=>YWP5A8-=Okc
z5WC6!!SGgabDQ@mG+WsYdk^C_MdkW_aEnTZ-Jx>V#{ZPhBJsZlX@|@YmTiqn%u$d;
zrP!*dG+P&ye!E8{`+ZPIrOaxmG*}yz+crdH+@`3^+7gvj+oE!4r&MD9TaZj8(+a4R
zST&V8YoXF@15`%sA(a_hpz_8xsO;NED$&P5B9#owqf%s*RBl)kl}_uUGGdcdp4dE<
zSGG*dqU(IYPXpQOU6@RLZTEN~5(?>9t`h6E;m{&X%dH**29UJEIc!AxNQ;WtXXx
z+BGWm)=H(v2C0nMBP!2qk;;l~QaP{_DlvZ^U
zO4P?7fl9jNQn_jsRIb}CDjjx*%3XU-<*n^dx$r-NR4Un4NTtkbs5Dp`mD@H%W!$Ey
z%-Rx_RokL+Xs1+SPl9ABnN~oh#Hy*(SqqhJ8=x|352?)90+lzmL1o`QQi=YHAdyOj
zl$}4+EW!H|WL{5WvDruHO<%*S4skKHb?bb_W*e0k<
z+Z>f;TcfgVM^w%%?te13NUZokkK9!Fa
z9rQ~KtdmNgjZm4iCsgL`6_t0kOXb+oKJT*;X}4Y~!!|)>+199R
z+ZmPmsGyZfj}1~8vqw~(*&>w{+oW<}CsblSKS-i-$?~ZbTNRa?)=Z_#`l;Nr2UMQg
z3o5T|oywklpb`}wBv47WTq;+sg35KfMWw^;P`PXOsXVslR9@O!Dm(U`%DG+mg3m@I
z)v~D+S{aoZYoO9*x2X)-IF%`zrLttJRJQDp%BjW1d^RG@#}G`3&=qcuS*_V^^q@
zTP>AFYp2p{!&D}0n#!ClQ(3cZDo1ukB`zUIp^{~nsg&9^D)rV%rN;)TjM*b9&uo#(
zifvLkuoEgVp9D!%E?GX6VymKZ)0(MtSwEF~_JGP$dqL&3ty9^v4^*NOg9Iw+mP_TT
zRZzKZx2Sa39V&P2K9$GzoXSgkOJ&F2Q#rQ_7ny&gS~itJE2C0l4OH6fHkBb8r!r-;
zRF-U&%9b5cIkng%<{!zHNu|I_s8m}Wl@{x!GGL=r9@-3*efvn|$)~|Qm3MYbC6XM(
zQ%SQNDp#zWO06|gX}4Y~!!|)>+UBS%+ZvT^JEQXKv%w;j2Pwf*DlaVROWAiwx5rf8
zTVX2q8a1{><rV{zGAf8H^@h
zD$_PcW!cuKY}*l)GmA^-Tt9>1S9@tYVFYGmyb=#xz!J;yl4$!Pi&sbD|<&}*N&+~GJ|+3X_iCfij`BTwYaZjK9QXr6jGV{>R_45nr%}#
zvNI}ixj_n*EW1pl)UHvfw^k}WHb`a69#MH_i&R!@lgfdeP>K1PAc@K)%coLoRa9UN>pBuKqcLBsa&-RD%b56l@7Z@<*wbQ^4OkJd1-H{
z?AUuM=XT+1nRBFCHkCpvqf%oHRNCw|l_49aGG((=mTZ;EmK{<#wb*>-9LbhRrNBz4
zR9hXD7VD-mV53wX+6GDPYbKZ)sF=>e)<;c#c#C?5`LM6*C
zQz^A;RO+pjN{V?o)YeAn$w^VlQoXUm5AeBnC
z6;dg)8Y&IeM&-5*Q5m->DzmmkW!1K*9NH#e8`ean)B324*d&!FHc#c1y`!>g$5bLEK|GZ-%b{|`%Bj>^Bb9dR
zr7~<2RHki?%CfCd*|sApXBPLZ%s)~ri^^pyrE<;cskB-Tl|dV$^2nZ1S+o@@n|46u
z#9~UBeGH$a}M!zR0s%33aX*Z}eStpe~8=*33PpHh>D=P17m&&n4zL#}H
zyrogeu`5){t(Hoo^->wO2`bYzM`hX8sBGI2l{1UG&UzxnvZ!3PQYzQ1o=U6rP#Lr_
zDvxZ1%BG!AN&3E^m`azu`kSmD;_HGmDmhk8W!l!LY}*l)GmHCMTpv;_i^^pyrE<;c
zskB-Tl|dV$^2nZ1S+o@@n|46u#A51sJ|M|1QOUPrDphuqO0#uQ>9>1S9@tYVFYGmy
zb=#xz!J_^)&kH12I+a|zN~OZCQ@LdwRPNYaD);R%mFM=7%3Ir^^4`v=TxbYVsbpIr
zl`^ZL(qL^=Zrc!*ahswtYfDsCZHvmGol=SY{ver3rWH^rv1%%H)bewo)qBte#4%^-vkKF)EMj
z8I?s_p|WWQR8B1B?=b&JvP)F*t(Z!c-K5fNT~zw*9+e07l*$WxO=aEosC=-fCgvXr
zmQE$tu2QM6>r`%82bDW^m&$#6Oy#+~r1I8wsJypxDi{84kV+-n3aOM?4V4CKqjKAZ
zsEpebm04S&vT9pY4(*gmY;%xICDRJ1lvp*DI%}cQZ39$B?ID#JTcGmBHmK~|M=H@j
z7$j23uskY7R!QZCHBsrbJ}M(NN#%*nQ+Z|YsO;J?l}JkvPbJNAs9dpfDz(-~rQLd|
z4BG^iX`7?6Y-?1u?TE^m#r+WTj}*(Ia@k6$T(f#At=2F;XdsL!+I7pz9Zn;#hS_PHsc8f}f-Jx>V
z?o)YeCO#dn)I4p^dpls%29tv@$9+)#e8`ean)B324*d&!FHc#c9MShgIK)mHpDYsfGjn+=3*M_M~*ffkJBYgFp3l}e8dQW>*HRG!%)l@;5ha$qM^Vty=0qH@XdsT5lkm7CT~
zrOW!M+_MK%p4tm4uWg;mo_(Ma)fpsENw-`oSFM7|b-P8S!|qVIYdcil+c}jBe=kU-
z(q^}*4B0r9DVwFTWUExR?2yW-#dh)BLb7F2DXj~wsk6d_JK;&PX-B8
z(k++DRjZ(K-EL9ousc-l+I=dI?Kzc~_Lj*+!AJh!7H!$!ELEbQHgDbxnoKe}l8|04gImF%z
zDu0=^L*r<0@GHzRhQ@=83Dz6$Y?sRGUklc$?AZq@QIo;eKWDGu!S4i5sl2d;-(^2z
z|3y%?%6`Yw{}8-cXMdpn{|?gsnAyenRuKQ6xfeLInE%4LgY?~CW{>@b<39A5BJI(^UQ9|visFK#FG-2W
z_-BH|Pf{YXcrl3jG$kU*pAA}5QzCLTEm-=pl!%Ocd2p1G5|N$18k|#E$_$RPQX-P~
zHNh^G?Yy8kKP4hjUl-giNQp?(<>1OUq(o%Grl}kh2J7FL5|QUug11z5>^+rp%l=$S
zL<;TU)s%=#epB$GI3*<)V0(BCB>trQ}k0N+tOxf&wZfR!ybOTBvl}
z0F_aDNM*(rsJyWaD*N`4N=8qRN2SOrsWe$9l|CDxGHFk!%-bs}?`)UKu|<9|B_i>b
zMkU9tP${=sDvj1orPn5?OxqllW!t85WM@?3ZU-q;vaFQKHLIu6YCTj2?ZrA
z#!@2kY&>YW&wj!1Wbps7bjNXde|LTNzhXu)MT!xTP=5Rf!-x@6%wj~07+FLbF-C3{
zG0U>ZSY$EAh}?*n#S9T+7IQNeSr#)!Q=};(MMR`Xkw!$sh)5ABB2tPJDNQjVA|l?e
zchCEe=i~Kg8?Nj6p7S~9qJMGuLn)Cw`Ec;IgS|leM}pFirbIH<9VGQI-#GOf!HM7G
z{jt#>%>NeW0apiun^c}y(GYuw!ruu>hEpP`wMHuGp9u1)#E%4bshk}R#y-jCLe5xF
zNu~eygRF7RB~Do#m0la6vSV+jczz`ONs#%cDUob`DoCE?T%zsIg42J_-Gh2dnrD4b
zU?o(#J{@c>@H*JDy1(G_px2rg*>~Lg%V35|%2IHPO5Ael;*HBpIHgEA@umb;e1-=k-yE$4HrJF4x~I`4E?5B8MoURM**Rz(0|Cu10${9OPrQyE@^*?(wk_Wcez}g_|
z=YoZYd|s5d1aGMnJqyaHwEjxaL8bnqLC&uojilIKbsvo+?$?7lDkpn_6CYzAF=jJV
zZuJJOR64BjH;zW~cr@6elKRPDiOR)SLBTk4hpaygda0zm4mPN4|8ekq>S!cq{v>!v
zrEWS{r!w`aAnwn3E+pIN!qG_9{vsG$WWI58DX94?_7M}dN+n@AD5J7$t)JofF=dNX
zGFO5sDi2qK>W!n3q<%igrgGa3ec@;%*S;9EY#oiH`fr2mxBPqD*bbikJ@*K%?F6@|
z)LSc+KAWOa@DIT-m6+XN=^xo2#O(#=s9dzP{iBf_|K}j-fOCc$F{xitL#4r*skGTD
zl}BG5B*vyjvSOw0NsZ*LJ*3iaN4_F8lEU`}d0&+p$>Nb9^=nci=}it+zn1qy-_amD
zEj5ydmivL!NDgv?#c$ztaOF(ULgn$d2G{daBk8oZe4Y)_w+9JSPM-}5sa*K3VE%k+
zB>CSR%u;#%J;Cw^QzM!D-k`W7HImDA?qX^rtKT0S|AEvtNnG%lPbw
z`*%STl^r{DIW>|amO>Mhs%Q$D#z_Kl|s8j<(l21Qg08av|0z1
zJ{zSnWs6icY?n&x4+Tk7GA)-%ft66XVpUXXt&vKLwNvS_VJee0Pi4)vsl;3f5~-wH
z4wZZ>rgGUTsZ`s2Dv#|sl`b2kGH$a}R&0yPfyMv()JRe-o5~qGPo>nZQ@L$-sXVl&
zR64Dn$}5|uvSgc7_AKry=Mc%3Mdg&8qjJ%%Qn_h$RGRDwl^51aWyD@nS+I2~J9g+l
zaQ<<`GN_!ivs5lvIh7k$L#4r*skB))l_8s;GH0t)-dc2x^N$2eqjJLXs1#Wll?uB<
z<(@sF^2}aR8L%-bGqz0SjqOu8{2zl9D#z_Kl|s8j<(l21Qg08av|0z1J{zSnWs6ic
zY?n&x^&p8#rsYy8uo5a)tcpslHBxD@b}BtKOl8vMsjS&Hm6#t65~-wH4wZZ>rgGUT
zsZ`s2Dv#|sl`b2kGH$a}R&0yPfyGyF{*h|gRLD(SHsSsHE8mDtT5!rOYa*+_7g=UfLLylpDcuDyOZG$|bu-<(BnP
ziT#lviAtvBQYo+!Dp#zEO06|gX|Z-HJvK~b(&nkG**2A!svwa{y5&&Gw_+-nt&&Q$
z-KX-{o>S?vK`P@mOJ&8js2o`Qf8qQf)v~FavGY_)?K+j)c9+USdrGC#`l-CKX(~&$
zNoCLCZgPH*Y*|!J**Pj#?Ix8vYohYRUQp?^5h|~3fy%n=P&xFY!4WDMc9P0jyFjJE
zx~UA=1eG~krIK(fI6)=Pil{uZF)GXUhRVJj{xQC{kYdNFoVG$Lm+TsqTUJlyfwfZU
zus$lIHbrI8HmK}c>}}2+GA)-%ft66XVpUXXt&vKLwNvS_VJee0Pi4)vsl@zvkVqxn
za;W56F_p_!Nu}EEQ+aI9sdU*Om2sP;vSM3Q4lMo-=MAZrP34T8r&4Oysob`^R36$>
zDxKC(<&{lSS+Y$kdlvT-oHry}7L`+Wj><*5O68{2QE9R#R9;vwl@WVQWx>{|?AW1d
z&K-_e29=X`mdXVyr*gw;s5DqJl{V|9GGr4}=4_S9TZ?{@?>Qt`8kG~4N2SQhs8rY;
zD);OWm1p*n%7BegnXxxi_U&*D=N&0_oXTk{q;kog*D|l@vOy~2wn8QTr-D){Ppy+m
zzrCU|ZA(-(ZI4P^U64iPl%1n;(XLXtX?0Yd*a($%+o5vkr-O1T%{E8nQGHPOGpq-;
z{%a8TvwSXO*(oaL>>`z+`@!J`)*HvIkV=R3QJJz0DoH;V6i_L#gGTNG#Q%JdN+sJ)
zHSu}y#73xO{6bJp<*n^MU^a047lS@3&;NUn{fO7bL+kw|&LbAA<}v35bGAz5tqry?
zFF5l*gNIZ)ZIjBL#XVttk!)F1E?N_n5zF{xo(mT&p_Q|S_-Dbwukcy1ZaY-YJ`XNX
znX|W4qW=@b{$IY2ko+QO`!II_hHRjNvxhO8p|WgmsI>lSklD$18)7~ZBvLuBs#X4_Prej@0kvS(Q%%m>cd
z2$cmp^t+sMWY|e67wiU=W}BcAjRpx+((DA4JS(D7W))QK*gYzb>=~7pHb7;}W~eON
z8!G#D_>O)<~tr+Nt!|FqKK0r?O_-RAPQFNTiZ(IaKnkn960Vq%vp+RN}{itlww8P%|Es
z{Q-N88C$0E#`dWko(PUpIc!i|euc%Dh5|vHcqZ0S2;3AbKdqU-f^->wJ*Hjj4oyv}7
z%yL)Zq@AU5!OE%Juo@~2)=Z__hN#S0+MjWk;e_Q;DY83M?%4p9F`J=sd@i^~<$<+Q
z>99U3qc%ll(Ke{;TI`>5pCHLHspMJ#l@hx`rOIllG+GOlcI%-sY?D;xZH>yd#mqDB
zNVIe+IhIeQ*e+A4v}!8%?J-)NEl%1n;)oxO0vR*0+woWDEFM_jFE?7C0W^1F;Z9`O6En4Jz7zvg}CC`ee
zlvxFpJ9dxCBYQ^WrM;oDZ>Rr~yBfEwp2`DjrP5)eRHkf^O43qLK;??HQ|YlaD%+O+
zSIifx?LL(*8>BLBvs6}Wi^_q;FEckdW9O-q+I1?o?Jkvv)=%Y?Em2ASOprz8qTQrY
zXHTf~+6a}`wm@awcBmX$364<7u#;5I+65}*c7sZdHBf1`HY(jVL}kL}sI1ysD$!?y
z1S)BEf=ZqhQ7N+uDtGK2l}GlB%1axdGG;SWmhBCdeLK9$?-@w3<5W&tA(cyZjmj;n
zr}DsBsdQK$l~J3bvS=Grb}ja=xxbNQnN)JEfJ%v7p;BeFR2r>?O1t$?8Ma9(^R`B1
z+hW$ZzmaI^RB|kzO0iw0Qfbvx?pqg?K^vzsYb#W?EcJ8zK7vxaOXaC`Qt7uPDti{U
z&V7tz%c641&QZB&SE<~zIw~WU@i&|$oV2r4E?5nf25Y9$X5CbVY=X+1C2Vj$P-YcW
z?$|vlFKvd(@y`c^RBqV=Djn8GWz?pqEZPQ@U5njh9+70ZR7$LhN{h8q>9JudlQvIf
z&9SHa?!3*xoLG&n(PUc7uHK<#9mWbuyrasc4&+50UWUmDktqMl?zr*
z<%ZQzX|QH0ZPra?$R?=F*(#N{7X2;X14ytmDkm(DN|BXOsjxd#9@#T0FKvLzvb~|Q
zZ-?J<-y_9NQ>nKHRQha`%9Jfq*|1$Iv40ojQmL|9DlOJdrN@S;Oxiq^HQS~VvmGQ-
zNw;b$kL@{?SKYc`BV2x5K>RqFtqO)9R=+*%K-+te47&y{58Y>r{3u;~$tm
zoV0Q(HP%3-&4#E<*c_ErdrKu@H%Oy$!t$sTSs9f(_L9nsEmJxCk3kBR<93=#pOt%FLRjZ&GiMJgM%OC@$MNTQNyxl{_Qgvu4GqEc&(R9dW^N{DxKC(<&{lSS+Y$k
zdlvW4%s-MXi^?fGN9CejrE=5is5IFVDkHW|WycO3a3AA{Wl%Y3XQ^DUaw<2hhDw7q
zQ)#nqDnm9wWzJTqytU|GxQ~%wX;e;F9+e_1qf%jasNAzhRG!&ODg!n~WyY4Nys>>M
zhokp@NeY$YcA83|U7~W$Zc(YX2UJ?EgG!%`Qkk+vDjT*-CHBjLBr2JfOQpa{s9dos
zDz(-~rN!E*^w=s#X4_O^VuC~}>6Sw!--@YRwn{41cAv^)drqax2C0nOER_}8
zqH@}4ITc@&PhyK<3
zBROIjR8HCjD&=;AN{uy8X|^^hLpDJrAvVaPQeQn-X2hCwGJwMHcDm67O8C5E|u80Ac;zeU7=ECwNx6dg-W~i
zP#LyKD)Y8RW!qxDf^&jIOQ(`!`BW1ESC0hcU(Iad`PT;b-p}lyJ}pR0=h+dL5p*AW
ze?NYuM5r}=Y3IX&DqR0rcMNn-^kt|Avf5kQvc0C*T3QJz|!eplgggOeG8uh
z$(BXsl%1n;(N5=a-(&mRg28<5BWzjnSzZen-w`Z+C-aAx?+OyBq+1S^d@H7M*(#}2
z+kGmJ?Kzb$8>BLBvsAY1fJ%H}kV+-n&QLjTrBtrlZ7O%|A(f}rNu}RjQJJRw;GH+{C
zwr%S^cL7Ekg4a|QY@N#4p9{*V+^~U0zUwh&GgOwX3@YD(5Vrho42BJ@^nZQ@L$-sXVl&
zR64Dn$}5|uvSgc7_AKr<*5O68{2QE9R#R9;vwl@WVQWx>{|?AW1x
z?r9vc3@Rt>ER_pZPUVKxP-(DcDs9$HWymI|%-JfH=(mET-{$v8WLhqjDyyZ^Xf0IQ
zt%u66O;VY+H7eT{GsxT`(bB2pSU#0vyG*6hs;S(!$5ftM7nMO9r!s3RRJQDZO8m!z
zR4UnahRS&>rE=YFQ@LvosXVn#D*g6~%Cs#}*|a?>aYI2Cm5X+j%1x`I(qvDlys%y>
zBR26n%me0ZmC9R-hM5Z_SQ?cRmPh5K4Nw`gH&psQ5sXrqvPCKzwo4^;BuJu?X}MGi
ztc1!HtD;hCjZ|8!ol1`lQ<=1RDr>e)CFXa7L@Mc)LnYsesa&>7D%EzM%42&@rOO7X
zjN2@g72Be6VDY2ODN-$)${9OPrPQudxovl;JhZ1&I<23|E1RaWWSdm>Ebf!cDUvOV
z$|*ZX<)U4sa?|RlG}#j>FRYi!h`pw=VCz(N?9eOjR~)enDktqMl?zr*<%ZQzX|QH0
zZPra?$R?=F*(#N{7X2RQ2?>@)<%H!?DY7yu6?TWpJ$ppunZ2YkU}IEfY?;a%+oy7P
zEJ&ep+)h(zwGJwMHcDm67O8C5E|u8d50a>4S}v6WE1`15s;Jaj3zc^3p)zcfROW4s
z%C^OfbB>W{=~QwopGvV^rc!CuRPNhjD$lKp%Ak!?nY9%vTXsMt{ttpwD%p01%6TiL
za@}rIxoZ!pJhe_L{q~B=v@KEDv^^?u6G1YSEIUQzoL!`H)oxO$vnDD}>;;ux8=>;r
z7O1S-4wXZH7#yLJVJE4awF^|r?FN+^YoO9>ZB)8#h{}Y`QCYRORHDfsfl8X4pps`r
zRLZP^${o8$<&iz3^3n#VjM)s8WqU(q-wyu~=NKt=oXTk{q;kowQMqOHR32C>l@9Bp
zGHO#)7HxyduEoCQ+#|^{spMJ#l@hx`rOIllG+GOlcI%-sY?D;xZH>yd#r!enABmPu
zCCBoq6x(Ggl~zsVzCEV$+`6a?+BlV2TcNUL2UOyxf>bKmc81D%E2VPXZd18y52-x0
zPAdKOipsPtQQ5RTDsg`jBvZ+!UJiQ&bjhgUYVO
zev0#tB+I0dYXwwF>c)3!uq
z)Ap#u%>~I+vg{Oyd#ry^5ABmPuCCBoq6x(Ggl~zsVzCEV$+`6a?
z+BlV2TcNUL2UOx0gH$Tnc81D%E2VPXZd18y52-x0PAdKOipsPtQQ5RTDsg`qBvZ+<
zQ&i5`MJiYACY3sCqVmLEQ0cW1Dz9yU%DU}PIkXfUp^{-IshqV7RLboJl^ScH(rj&1
zx^0Ncgw0V|wYOBFzX}qlq}d57c~(TF%qpndv3pb=*)u9HZGg&{%}`mkH&piR@G|Eg
zDR!L7X)C01$*xhkW%X1ZSSytd>!UJiQ&bjhgUYVOeundpB+I0dYXwwF>l@9BpGHO#)7HxyduEnl%{*h#vRC29=N{L;eQf0MN8m)&){@(;=HaH(R
zZ?~x|S@P$ZUu4-SD(CDXm8*7>N}V-Pd15c9^x6oO*S0`q-FB!P+6<0R$*_}D&e{bk
z<#vNgjWtkdwl*r=HbiB@=BTXNTPo2Pf&?mQc7jTt6;Ua(3MzN(9+gM-jLJ(JpfYAN
zRF>@xm3=$>hWSN`9j9{I3aMPOYgBGoJ(WINq>}W-AeTy&)l#Y43aY8xw=OEPwnAmg
z4yeTcZIDf+)NWJhv{zI%ZI4RU+u$6Pn^s4q$(~SoVZBrqY@N!XzY8X)%-JfHXgjz^
zWz61C*|)=g&we1qPE)yN52$Qd(hlp4Oe>&LWwQsYC01;U%7MlI3+sqf%cgS1?o#Qr
zJ27dI^nH1-NM*yW97>C%-C7T)MbcqYR2D7vy=jpoStgZSYoyX*?NoYfn98K3$EQV-
z`jtU8mFw0|Wyv{(nwS|rIf@xHW3-XsQ%NBBHg`RZVc%Ehkw$S&qmq*vD$DkU%Dx@`AoGJ1
zJ5J@a6;iom*QngGdMXdBl}d;0QmMTVG*W4?Nh>Mhi?TbRF2zeDus55$~C)1rQRM;X|)b2eKtyE
z$`+|?*e;dW9}AMGWLhqj0xO|%#j2>(+9Z{2tG=BU$+*o@S+OlD*M2hSso}gJyEZsa
z<+?qkvS)EW#XXB;yGrHWPX{Y^c`r==*Wksyv`CtNHb}eAJm7?lQQ7@(!MUI3KEaWu
zAcM+DJ4@w)l~aj+A!vQT-k`(Qev$7}tUn5Ns2uvGV1mk=RXk=Ek=Y#NQYo+!Dp#zE
zO06|gX|XdcX_1__h9{gewAqPYW-ZX#8gx+Uvr#Hjwn$~ecB#bvub`Gnqs9Mk?rkJL
z3$m!3vzt`vtcl7KdqJhwMyM=U(R0o+%B+IQ`2P*!+j)Py_)ySGWyD@nS+I2~J9g*=
z`-CHwLFJ^KrEoDmedpoDD3D1rxu|
z>mgx0IQ|FR)i`a1R4!TW1m_c7e;5o>8Mlnr%nR=PaZotL&!gc}K{J&$>!vbf6IAAG
zmC9R-X1RBeU};oNSRR!kE2C0j3!mn>QTkWG5|vHcqY}3qBvZ+)T*{
zG5`5sn@ZwlkWMAX@~ITtWh#}H`UU=fA+qi28@`|LW-G|pVIFYO&QiHx`s%7*PyiH+X*lKd}wCz4{jOeH%eI78*U
zl~S3u`q+0OdHNMWCzXENqq1{2IP~6kA~|9iR8HDiDi^Gr$_=Zb(qPS0+N_((kWEmT
zvsEf@EsB39k_1bma>DYc6j>RS3cEw)o;{-S%wAF%urVq#woK)X?Nd4Yl|c%X<93=#
zpOt%FLRjZ&GiMJgM%OC>fTNTQNyxl{_Qgvu4Ge&0KhEF}irN7x_S
z`|99y63>HzuL-VD*|zMjWe$;*5{ytOKN?h}y%R}`wNvS_VJee0Pi4)D-(mJ~*(#}A
zeK&ZV^-d&%HcqAPc+g8FZok;qNgN6&71uTDWaI1uWkAsUr!VfXqShlGvye>-qeb7QB=4!A)
zWy=nzoVyn6{AbQF27V;isN(sM^k0HAKgxZ9)gKEAf1Gtdhb>ac|B2u^mH6u5I+fdY
zm&!wXN~P0Y{q#GLT&)krf0q40@_!4msGPEMR4&?8DmSf;N|QaI^1^zljM!@`3${*W
z#||}c-{FX5P`O~`RBl)el?H33(q`RMhHQe$oUKxMYthefzahcWsGP7oDn(XCrNZt|
zxo3~4JhPWn25gMVj4e}nWBXJNHwGzGj@xM}g?5R`HM>Qn-X2hCwGJwMHcDm67O8C5
zE|u7y50a>4S}v6WE1`15s;JajBb63wr_y7?R3>en%9?FciD?QFsia#Dm3%9va@i`W
zRNH+jkL@{?E*qpWZnIQYY>Uc)#s3256seX?<&2%DQfg1B^xGblvWGzhl{;;uxJK4>wV91JooxQ}q_4TkeX#7~vPG#P(F@w*TX{bq2MO1U*q>9#p4t5(s^eT`?fPo?m;f_f^WHbrI8HmK}c>;UVFB+I0d
zYXwwF>?M@}8>2E~%T(UjK9$46
zK?;@QcA83|U7~W$Zc(YX2UJ?EgG!%`Qkk+{D!HEsp8q~)0b6!J<@|V1O69ser1I3J
zschOFmEk`M&i^s5gY~K4#58M<85^GA-(k&SKE-)QzExA{oDKS^#Qj;Yu*fW;?JtA9
z72Y3ppAAm0v7TuDd{Fgza~ABW-I*wp9>jzK^v8;
z1;P36O^;;i`-9mZNROoShk~3N>5-hP4Tc`2M^f=5X!_sjk<7LQXFtTVVE;vM_`~Uu
zq}XvPr>&66CA&uDmeo^vV69X-tdGj5O;K624Jx}9+mRkgl4VlKwE`+7c7;ln)lzA+
z7Ao!5LuJ?|sm$9Nm2Hdp)$~XbEuBh^ZGpl@9BpGHO#)7HxyduEqWu=O0OyNhQ|`sFc_hDpgiXrO{fbv|A6AVVk5f
zZ);SxEvB3Ek3>tSl4JQ)#%+blmR;;&-f`7#Qn~Q4pq$DL8=~^oqF&|(33h@?kv*f5
z@*6=?A8UtsyWP)u$Iw8q{c)ZR7d{b`Q@LR^R2po8N;DEwP}%t1V3$hlXplrD(+a3m
zSuK@DYoXF^JyeEmlFGcTQQ5YbPqIHqv~(&tmQSVFE>o$rYAW~bF_q`mMP<;&sm$66
zl`T7<68|blrIKxDsGPS_D%b5cmAm$k%2Vs4(r>S*Ok3~oaaUr&)~W2+p)u}79I*^4
zC+#ei3sz3$hSgAMux2W4)=g!?=BTXNTPo4-2MJWt>;#oOE22_n6;$rnJt~jv8I_kd
zKxNEksPv5oqg1ABk;;bcQi=V8Ac;z*{*>=&l+OgsR3G*1-q88y!6ucg`Cy&O>ZgM%i>wU}EeCB>x^0NcgynsPwLp=TQK_&yRPNa$D$ndC
zl>r;0GGohB-q@`bzT41heN?7wk;;bcQi=U+kVGZZa;X$p36(20NhNVLNT-rxT~y-#
zI=D_{+Lown+8&j-wIG>FmYt$<&Ms29YB#CWSre5f_JT^UjZk@Q3slx^hsvSP1xKi4
z*hwm9?E;l@yFsPK8mKf|8s~c5Bxrfs@-7lANejt);|SL
zsJyUVD$D;Iq#W>j4O(rH%J9DgYgCG(cfaIy%)61i{qmsxU%eYipB2Qu8_Blaje9qe
z+OG^YzWUur8d8G#WBfdBWd{#F@NOgn-x6Fq^KK*$td+{HO@8aUk>unBso(Z)Bu}lA
zO256LGHpv#Hf@heTz-&DCCg4xIcFECT(z52>g+X@b=#qG=-Y!fD&00jWy0pDtlC>D
z(b=Gg%9zbid1L!j4u40GLgl!frc!8^s9dvKRO;;kl~(JZ(r2SormV5x-AHo2GZ>_D
z`&`gZ<&{lSS+ctCVl9zT7@VYX!)mBBSTmJ2>!vbf(Z6NgkYIUKimZ&vJ$poD+3L@;
z7AW}cpoGd5tD;hCjZ|8!ol1`lQ<=1RDr>e)C8j7yq>^qqRPwEu%4Msh(q$`DQokp-
zOQqA6s3aE$PpG`MLmy;ranjCGsj(p{s}@~gy^&xQR9@N)m86m&lgjZQ36iS#?@?=w
zR9dW^N{3SxonkGs_j0N$M&2`mkm-Gw^=GHwngQ@
z;%~kiNvdU2Ib-Lkl-hMFx9u*KhxU|8r}a~LWz$raY?I2K#r-JvAd)SM$|*ZX<)U4s
za?|RlG}#j>FRYi!h`pw=VCz(N?9eUd4@WG6%1Jv*<${${xnVU_8myU0n{`tevI#14
zwo2u#ML))TBf-+BoUlA9MOH?o!tPMHXOE~nvzJr`Y>di`EmL`8`&16!4pOKbx6@P#
z?Glx1c8f~AJ)qKR9aQ>kl**JXQrWOwDzQHvBvHww&zs3Y>>*h%~DyhEh+~V{}Y^lq*^wW
zGj^Uzsa>aX+wM|%XiuqhT0fOnHce&8HmU4cTs7w($(BXsl%1n;(XLXtX?0YZ><;-sf-5+QDQT&Nu{dd`a)c#&@;}6(NjQ>&4H_csyQOlZTK2bFv)KY1*7Ao!5
zLuJ?|sm$9Nm2HdpH1`G)EuBh^)%+X9t!+o5u3F*rgc!%k8;YZs`L+YKr;)+kjf>yM&*{(
zQ+Z&mR64AW%BW3IS+or*yB7Ob{N8{h%cPQP1yoAx3Y99WrP63ERNAeF%CJpRnYT46
z+ZMCT`A4GVP|3GqDwnO2O10gm^4OkJ>9Rp8<2FlW#kQy%So~)=_eiyDDrf9Gl~TJ-
z<+k0W^3a}A>9l?-uWXvil5JAiv$z$`J(4Yp$|*ZX<)U4sa?|RlG}#j>FRYi!h`pw=
zVCz(N?9gX9_c&r1R8HDiDi^Gr$_=Zb(qPS0+N_((kWEmTvsEf@En4N=Bf-+BoUlA9
zMOH?o!tPMHXOE~nvzJr`Y>di`EmL`8`&179b&x{kxSgg_XqTv5vs+Z^?E#fm>!8wS
zqg1ABk;;bcQi)v)lBi@_E|mf+p>oBlsMJ~`l@@EKGH-*Qh*#D6i^
z_&Yu;R(FHP`Q%_DI=2jUkvJhDI=1s{}IIgGS83A{}oLA
z3TuzJ{~IJz$+A;a&ROk;Ga@PfND%XD8IcryEGVN=VRxw9vqw~(*-I(|Hb!N}mZ`k4
zeJY20gA^*qExDi1kDkGxZ8#&6{!a$Eq@^5-
zq%k#Uq0(-9X}k~C-wE>GJr+skvET}oDyyZ^Xzf%cZJtVEW{^WA--@YJS~Zo&_MA$W
z4N@7mSt={GMdiTa|Mjs*QZ1Xx89Ps9+Lov^Wd$#&^xEpz9gAfDcu@cK$0C`sMJms~
zAsG2a_5r6)2GzMdA4X0Et>3~v;(A_C_igMG4&?`ZXOBfvT@c)-^4OkJ>9Rp8<2FlW
z#oiPiizMrNf{hEuBFXsvps|#_#F?_-#^qy?B>Z5IMkUWu%8x~I+6t*$vU(~9SAx0!
za4eGNKO7uTiLVG!snq^R&`71ll5ZZ1WcgMQ^W(=NIrS64YBl?V)|#NWmifZ%p9)^q
zAB*Jny&$HMpU3Ji1dG4O{^9APp!@N$NNWE_utsIPJ$Ut@W04GfIH>427RljX4K}Du
zb_SInVb<~7W~s!#3`(hV+7gwKj|S^h4s`_yzsA0x%zA$PSR|9SMkT)|xJ;$m9#iSE
zSt|V>3#O@TTFP&---sUwqK_Yoq;fc@rgGmNQ+aMHR7yV)T&Hr|?oxSZPpNd;xshX$
z+_X9>P4J1A8&qnnfl9NrQR%iJDibzGW%o~l
z;c324F!-mzIF(sjp|WKMR7z)py-)M~g5-rDi^`52`U{>5N9^9>u}B`-Gb%4_fJ)(C
z28~PH7r4G0Y*Lw63FfG*+MUlHi{z2@uCw0A-3$t-l-L@T$}a?6RIa}Xo>Ez|n_pyB
z(Y+N6QJJtgDyvrXx6B8|tmp4I&$#~g!EGvc?ID$?)=8z`y8nUqMc+RLQ&cuAcJEju
zxmH4@(T1t4**2B*e+qJ_tF2
zERtl)qH@a4QMqUdv6+#i*$FDA-xCy4xn$R<+_J3qW=8VtD}#=N%t#UwgJLS{M}oYh
z%t-FoK9$atAns^pBv0%$l|!jP29>i`PUYdd!A?eIBng>88I>7p&&rIX`0IiLD#>3T
ztY&9Ma_vO0m6I9Cg%1SfRBl)el?I!jawj)~3*6_q`^_$`@{)Y%Iv>$XEB<4kaa%Cm0`Hu89H41Zg2IX^R!N~@-l{q4b1
zDy!cSq!ln*D6=ZHdvr?@_cZXN>_0({lUyg
z7A^$qR1SS_aD+<7_XU0bKTG!?&-Y*NfBe~UlBDG<$&s_x&W^O>IL?loeH}^q-tV8s{g3PAc4^+;
z@7L@3D|b*D%P`X@-IjHf9?D~sPCRA&P&zGHnK%z9lvb3wWeBB7nL}w=
z?xVCLhbVcy!33fdBGD)%Nf$~F-e^LzvHqZ3YEf#D8z>FR1WL1V2c>N}K*{q>CIF>i
zi9#t+(oxEjCX_m*AEhywM(MV!qx4W7qjVz2_@Q)KB2bE#RFrb07^Ny{K&f4NQ5un3
zC@sjzHwQZklVp?%r2?foX+^19hEST6Ih2;=K1w@sh>};X2}CJGqESkc43zSv45b=r
zMyX2%P#TvRl$PW!N?WpzlE+(&KT2mL5~T!5Ln&8EP^y+jlscpjrBRteX;HHCaIJwN
zsYIz>+ED6|VU%vlJW4C_0HsHAgp&7LO%O_<5`)q;$wa9@%2BG77L;ztAW9Q5i_#rA
zKq(;K1fvusr6@H?Crayb;%(R$a9SczikDQBa-N~Pqf{f!D0RsIN?VfnPF!oC@Li??r8?O0KqSPUMD2>V#N{h0F(x&X8
zhfjFL~eIf+u3
z#G;feStu1s1xj_&ic+@>p)@ITC@srA0C9n6HK$Jox8l@!3Kq+6!P^yt;l)7X9
zrE!@-X-V#)v?co}c~lsGl+H*bN(oYeQnfUq)FFK+jmi{Ci?W8&rtG2Q-fw(SIwj#K
z#YqZE*;0g3rPQO;COs$(%T1K#Wd)@N@(86P@vg*vhad?>DMqfLlqm%$l}jy3Eph{;
zL76~lR_>s5PqtAy5YG=_ze9ioqZB2HD5XmtN~Llgr6%b_sb9uWnwHxrt;<7{9?OX;
z?04{!(^7)`SiBg!vqLeIIC>2Tt
zN_EnTQnw7DG%0f^Ez5nBcH|HxuWA#BQiw#Olq4A_9L&n8>|QLlhY_gNIXiZl7mvQRH4)$
z?I`ui2uinP0i{*hK&iXdBz**93(eyDQH%>b{+RJ=z_G$>{k5bUEi9u;r{6?^Upn24!kK?@uh9=DZcQAjD{aurD3wr@}zGn_m@|rS%D1}Jw
z_c6DyC~g|(3)xbHQl-?R)FwSB4a-fG=4Az?2l5D|Bk}$Lu6qz9p(w@3HIy=?9Hm-m
zLFtAJqBJ41DBY2JC~eCDN>MW=9i==eMd`XUq0}k;D2>T9O1GtO7Vmv9I%jI&*fRg9`m~@n`OD9TWQsQ;ik>5+rX_O))9;H+%MrlMAP&yW$;Iodxq!6VFsY7Wb
z%-lk0LmHFLI$Fyx(WgDe{
zPnn2ToI4y#_7~1NTKcMa@U^p!f(Fe5N~K>nb>G1G!P+;?CQ5taM$S44mlc#^{@!Gw
zbVFuQx+mKx<&B!-f55Rq+PGOnDel{*2&GC{LCJf<#GrIXg1>XtQIzzf^jJQQQw9+c+g5lRI=G36-D$^lBnKQ#*|t;z;UyK;<@&ux?Rv$KxY
z*Ua_bU~HiHcc%RJcs=NSM#$6VUKrwN=w&9MF~rfqZBzWBmpN*!F!M7nbCmGB(5EH6
zHx&OKI@Ar1n)UC7I`a6QnVt@HwDnJ>=ZB$=9{$MG{W#Q7$byMRY4j(iXff2$P4WI|
zsG~u7^z%?h{l73{C{4@b^-%mIDC!Ut`!Y3RROZllM9F1Q#!B?MfwDwAK@Tw;qt)`lkH$LGg>Ye6#*%SEx
zU!TB#!<+t(J>h8f6Xu`?-w$`bYHCKGa5VEnvxL%J*+OYwJm#Kof4c$~;Od
z5;XsWqfm)K>6&DsR3POj)k+IWH)If{37JLdj@(0OTMkh2{ILl@DOjRVN|bbz@}v}{
z>(Yc$r}U#VCetY0mUWaK%43vHEEqqOQY8naUKv4YK~_;Z`4f|jQkE2=R3UXJwMsWi
zLo$idoGhbsUv^MB6tBf690f`eN*R)mQkm4CG$Z>cMgG(zpp+)LD3wSxN{!NiQlE^X
zG$o5Dt;r@zd*W_mKY*{CLMdEQP|B7flq#hjr8en7X;^NeG%qVCJ&;Ez9f|kPo^TW-
zp(w@3HIy=?0Ht!NMX5z@pfo5GD9y?pl~N9l}2qLd(MDCJ5CO4ZVcQit@RG%8alEy@~7
zo3e+J`-SmE>6C<{6elStWlIrCl~RvVoAjVGEH_b_mlc#A$Rm`F#Crw%AA%$lr5L$}
zQl=E3R4%nBwa5*W24w=JS-FGKJ=sR-Ks&qLeOqD3!`}l$xXyrG6Ph
zX5N^R1E(y-h_Xd);gT{KNEpcvGk&}Dn18zpMh3cJj7atHQ7Tc<&UNwrD2&z>5+IJ
zVLib$$waAEW>LB)!GFU3hde1o>AEzb)G7Tajmb1hw`Corhw>Pu6UXK>N)Zx|Qn6H_
z)FACB^~wlJw`2jOV>$U}ykA4IWT8|j6)1JfBua$WaP}&!dXM{WQmoq3uN&-r0l8aJ_G@=xK!o;DJB01EtshCA|=IFu@-9;K#dn|PmaN5#^B
zQm>4lbW0XcT9plycI6l)pXZp9D1}KZO39LiQlV6!R41({b;}S+lQM_WvfM{$M-EZ)
z@-=}dg-A3?Ns@t5zLcRfQEHPOl!oOdO7pUU(gS&f
z(vf&SFWga(grXE9*HFro0+h<77Nr)sfzqH%pfoFYP`W4EC>@BWf4HLn2}UVO5>ZN*
zJd{f1I!aB_iBi9ep)@VGQCgRWC_R=F&kuLxC#O-0ka(0*B?qNqsY0ni+EMD25tMGp
z0!pj0fzqxVqvR7{PNEbhu_z@=7D|Oufl{5cqSP%zC{4;7O3QK|r5!m$$?F9s5Ty`_
zMkz@$P|BAwlxn0Ir7jsjXC~GKf${tGYg~k`9Qxc9+oTQ+XEk!6*NP%CQo7`!R4Ug|
zYLZTr`eh8IX}OKkx;#Ybv79)G{SSU}8l?z{M=4cuP%4%xlp3TRrCu39>6R>@v??1Y
z?aDDqJ})*WQ3{h-l#(S2r9!DdsZLr^>XsptCS?w#Wx0>ijvS)ob;<;y6e7_mB}oQK
z`BH{bjWnawB?Bmp%M40Oau=m7*+@FSOR)bTNJ3GH
zk!vVrN&!mcQj1cH+(2niCQzD{J1E_gZIliq;0*RY1WOc3iIR>|o|K|=U7Aqplzx=P
zWE!R0vX0V2d5qGDml{8mPD=zz@sf&CjufL*B@HOGOD{?zatoyeSw(3>c2PPOpJ42J
zI4NN$#Y!?tSyG5nh18+cD%~gz$s|g1vW(Jw*+J=0yv}0ZL!gA96fH?8QQQw9+ZaVCQ9?Ng3<$dgwm0CpU3qHf+Q5B7`cX0rWBx5E|XDM
z&ro*J)S%QXT__F6I7&0Jgi_WO(-x0&gB}@1>88x1v?32sdL&0EdB4I0p%f}HC|#3G
zlnSI4r9s(7$uq$OpcE`oC?!fdN_kR>(sgM!1aw4u*kR^pERY)C5tgIO(IIA(vQ-*JVxn6vhhPHReDickPVb#Ut^L{%928q
zDx?mjR_R7*NG4I5lVz0d%MMD1;+2AR1%VQRQnVzYlp*;jl}Qas&C-R^fQ+LwBTFdV
zl`WL^#p6k=JMfn?C`C#FN@S&^~oqoQ?iKCnrx!9CoUE15q#woO5qZR
zQi^1wR3w!s)k_;n^OE^mT>qdz%2Dc1Gh-;FzRsLX$KQ>hRk~3cl1Y?yr0eyV4;YYf
zlxAcJrMt3)(!O|PU_QWK&Y%=22`HsWE=na*jZ&j@pwuU$C{4*CN^7!-(w?}dFdyJ6
zr%(!)IFwQ(8>J$tM5$idQ0kFkly1sAN-OdJrAKmvl6R&FLMc>YP`W0WC>2OKO1090
z(hV6zX+maEx+C{c+Li;9Jl|jfPzshPloBN!r93G`>AEzb)G7Tajmb1hw`Corhw>Pu
z6IsR&rPC6DQoN+1lq1C`RY?O%?b3_Vh}=SHK~_=PkX@9H#pjLq?+rL9VJO8)GD=xe
zh*E{rq0}nfC=JOZN^`P|(tX)M=}^3~aXp4W2|+1Zl2FQ!e3Z(h2Bl`{LTNz8QJRq@
zlP22m2p<9(w+^iUq7bmA?>
z52e!*fl|DrqLd@WC{;-VO6}5%(umwbX+c&|+K^q8j>RVr`yWn97)r5{j8c{qqEsPu
zD78vAN<%V<(wr=#bYFH*Iux(BV*f*+grF2HNhoDVK1yX$gHp3}p)?@lD9y+cN_S-o
zrG4?p$NmR@IfGK9B%qWgxhR!LHA;=rfl{B0qBJFoD6PpRN_*nohW!t|atftzi9;zx
zvQa9MN|frQ4W%9#M(L)^qqHIqPQH$T$D
zE)#@OsKlUjO)^m`kkS(D2WWq{sVK$V!?Fav2Xh7al2C^6fD*}mFRnijQ*Hv@hy4iG
zWelZhIbDIh0lnh$eymS8DOo5LN(D-F(uz{I452hBb0{s#eUx_O5GAil6NplXM5B}>
z87SpT8A>(Mj8c~jpfoNsC@sldl(u9aC65mnf0WKhBuWXAhElGSpj0i5D0N65N~1D`
z(xR-Pv?+Tixhms}(kTf?DNa&Q%9bLODy1H!Ht9iWSZ<;;FDocLkVhyTiT4Mw&LK!b
zQHqgkC}m0kO65|EQj6R`X;3Cmnw2{!-IHyU4#cw>??VtE!6-#ZB1-9!hf=9rN2y6V
zQROBG5D(vDKEjG%N&7EoH14U~4}
z7$u+U<|ImC5{pu@WT8|j6)4q7D@xrmgwmwUp|mXbQQDD1l)OG{0#OQ)Xq1v91EqW^
zL#alZQRgB&%Wag_<;34%zd*cHp|l_y
zC>={|Kjs65WZF^TgBKgqa>$3woED?Ml;R~7rDCZg(f+(kH71H_kk%usaz&d3iyLbM`=u^QHnn_sVEgo6-ukJfzqxV
zqm=bWQ;5>C+(+q9ypFK%AW#PXjO!Czcjunggi@#UqckQX&p79(`-CZb<~c_m9>yP~
zNJ&7cQIh}ioTDr$M5#jRP@0qw?{kj)pKZ>d6e$TPrAaPIB~p!2qjaD&DpM$}$tFsB
z;(X3I3iC6uC?!i4N`+E^Qk}G-)Gb3OP0Acf%W@y39XUkF>v`rbN{#-;JK&t7+b=MF
zf#)2hN)AfJQiW23w4>B3J}*4yXihv{gn5NgnL=q%)==7%J(S!@zY|f#yG>{6tj_W&Qal0
zX73GHzmWMxQ{p4jeZu7n`zo;d%%);$MR67W7HwyD|1qFFhy?
z%MnV~N=+t81yYVut+b$YLk3ZrkXe-O$UT&{8q
zDBXXrseT{k3GTe#1XSYrq3Q$X7$u)7a}uR6iA5<{Zhq*Tqs|YT2Or0NhsaNv1eDUG
z1f^50X7JM(9~f#k)g3rK=##k5VXr`nJV0r%(@cNVkH@+EGa~(Lh4Xzm2Q-V
zWD=!0Sw`u;?4WcgUSGlcFa$~nO3{*pQikNCR3|o|K~0Jz{pgjr9O+
zlP3Rrm|sZzfk~Rh{6mJgIUGOS`;lo}#8^Y|lF9u!<^w8LP4=%a9+3QNGx{5h1Ndy1
zQ@_J_LhFB;!T-i}2`Y9?!XD-uBKD2{AFwvyj6|Z8AZaM&N(V}dGJJ^lCb%i{D6Pl?
zlpe_uO5T4oK`4bv3`*A|6Qu$vN2yj?P`V+5C{4&LN_XTQO51XPlIM{LKq*+FP)d|^
zl=7q$rR&m!Qm6EzG$zw1-IjHf9?D~sPW;LEp>$dzP>PpSlyamPr7CGasa<+e8j)Kl
zEyyZL8?uYivG^Qgoxw>7Ln&60QOc4+lq#eSrB>-iX-Fnfnv-Re?#m8JhvM~TTyG&z
zLQsm9B$P5FAEh#>L8)1~P#TbNlxAcJrMt3)(!M0P2uIb@h|-#jJu|{lw5O>-sY?b>
zT9Ugcr9I0uqLkug>QP#e2Pi#~Bb2=V(gdLtDlsTslLC}#r3IxMGKkWI1bas~DwXRf
zHAyE*{W6WxZCOX@p*%+E#IubbN~a|Pr5q_nsY)79YL^j|7Gwh@A0Ly9($aIxU6eX}
z%@j)6&oxCTRZ2ZdZL)&WBRN9J+s_1{6e@R6N_?KlL#b3!{UaQOJ>T4TA?5;>UTkJh
zM>z5dHi0N5oHZ^a!cnEvqm=nFQ-D&7+(2niCQzD{J17N&8lNzXBb*f9a}kdE&zr5N
z2uE$vrr;7@585xA5tQ<;n9z8P4cwD$l=5C-k`f~vWk}nTcwXp{;MZb3!n!;}DdF`d
z7o`%ZMyXLcQ0kLY84-@M<<3($e+bSrQ79!!I!bv`iqdsyLa9^wQ5utJly1v9N)ILe
z4H1sAvP>aL&2KbaC=JLsN;9&A(wS`2hti(3y$Rz9K{=-M%{YE|EVpta9PP?6N)Lw0TYp{Qz{Uc_lF2YgD$Bf4(FrN_m
zNt51!^$vN`{waJP^h(*MF<#)^Zkju>PNC%srt>S<3(zlJ{aC+{@=X&shU*zjeA^tL
z6g6QwQELB=89^y|(qw!W*9z#kY5Gtal}G=GYc(8+_bnVJJp7(nor-YO`hBza1MC$@
zoHeCC!Tx~uMN{}w>_@mSX+OjJHXQ%l6fWcIP$7*g*bk8PE3^M^*gN3y!1$wdMj}y4
zkfVRcvBT}(ny}yDeFBCg_djsGgZTe4xsUL_p+r*mu>PR?e@*^ltaI3s-2aEiL)^Yu
z_yg7&R2&-LKViK<>7Pv#O0|D+{%K>+Iq#_5*F^iBcQpP&QxbIE(cRN#>LuqL#k|zq
zKxyHu8F<-wN28(U!OPD(S`9ZFDBVA2h9l2A^1EnGqm&$Nny#F8)Ej3;P`V`xD6Pr{
zO1pB5lFwCh5~VPSMJZXbP%4xPl)~izhzF2|*tS{L5XXA0_yrW!+S;lL@piH22N7jFF-cjm`
ziTx#B50WJdrRY^thSGqf{mXeracjo=S2$k?mEd)(TPT(5C1b3kGjM(|D5;rP8;~PaC^cu9E|dnOFgMcC;oFT@
zVWgu#=|X8sJl+xM$X_~8%6z9OK&f1|QA#g1c_@`i>br2f&{|@;Q5ur`cSkzf7ynYc
zHk^@2loF%^r9E-)!8k&X45Kt#X6~TW|6VhO(zM)0XyEtD2y6{QW?Md?_4s|$91f4@Ru_vMM?rnX_AXliBzN1C><#E$tX%wvWU`}Y@)O$?!#EW;47z4
z3YY%B!McUjTGRRw%nfwQ5K7B(h|+kS@%Sjt7yRW6N|7@0u}DW@jb^k7#}5U~W)`K=
zPnsr_Zp+C}VXZ;Or%g{A_9EPFH|r=pl*cHY_^k0m>9j}HbI3Ec4oXPFPd_ZWI
z$wX;Tg1>~p$tmU#C9fwueDSh_^N3HKM1@F7yDE0luqYC2+
zqmusd3y#)5XEyq=UZ7yqEPv~Qqr~r<2S34BLf0=%^#7F
zhN9n^d6a55&Cq{baOAsfqINDg>iuuC|36qCu=0Bo@%VzHlK(Tcf57v=@{vh6###Yy
z7xlFMXGA%wc&1tMh;r2CX@Z^=<>;DZqBQMgD!lQ1P~u}opC9GO`vs;y5YG>>K_>r2
zQI49W?_`vtO=7c7OrJA;
z5mAnO&YK~W`YxD*i&2iQN1NVDQI3*hOcqKBv1Sydyd*R7>L^D(*UZ}Ma4fJVgRhTr
zl=_s(L23LA#ycD12BmK@K5xeJKuE5MMyXlm^P(K}zRe80J<3t#JIuYJC`SSBG!4a3
zj*?2u07`A8=HNXze>nYK(^?*d``bt1e)guM0`m;v?>9#%-KaD{AI5rt_`fk#DDBjm
zsk$gf^&d664N0{PP2}e=->}kYYCj+4
zs6_@*nw4#o0=i5vO6k&%(#aT<{0(zrB+8MW#Qr_@4Q!2?m0#dIq3l@~pSF)uqnA1H{EPTJ;*0o9MU!~u
zB0d}OB0m4nq+Pw}s9J6(Ty&KBN;8yr5ucrP5ucG|W>Bh0F)67R@mW0=U2vMoL#avb
zr(bk5{FKSeyok?hxrom{G56nyuY=1ml_<^2Bb1IL^vxIXSr8ZT84%_gN|{oN(x7xE%SC+t!9{%LfmuaqLv~R*mgKyP`22#4`1}G>h*E{rq0}uyC{4=D
zTQPnR@OHCWh}VN%IYz0z*xW>^_uVG?Jr^DAm6=EH#rS~d`^?%0F5=%;UUbtRF(*HI
z(NV(3OfE{*lHYdGQSs+Y{}(YnFy3RTzl_I1&{s_0SFsKtVZfaF+C@jz}~)!HH($htg?jK&f5!TcRD!w;Ip3Xh+4LF;yrvNOF6$qomK8$DfaOwAy8=
zzliaI%5GDSQk(RkG%QCbmG+p3FGo9Ckl5a6{O%@RQ?gJhlx~#vzhXlBqa6i&)f5ll
zJizB`W(TE`ubU2(`eYHMgi+Io(xwdm1CAY5r1M+Rj>cpfrQ&f@g;ImuLTN#EQHuVa
z*+(hm`zB^O+R^k6OyNJ_++p;GX7$Gycc@!1**}eTwEiOcF{NlKUI1PdIhog#H`m2ky!32honQHq7{M
zqaEdLnhuoacForBqa7venKYDo{?`OOj&`&y>Hja<(a63@_yfKV9vqsWKjQHaDlI4-
zNY0<4@w;>wV=4PH#t}B%rKhbw^OB<|Z`0~?$-3$?WURaOgsGnC&lIa@6@1^KcNy0}-Pp9;F;9M(LL1|LBsV
zGO0nSS-Mafka3h|WC^9avW3#Vc+6jN&L?6Vl|`7k=om*CmrQ&d<^jCoP1-AB9F1NxkN!Hw(d3h+
z>?u4COk|mRD7C!BH08xO8k5KGh;dZ%E>n$Cc8QrsDf8Xt)_Ymd7|+l%whxM?oJl4Ihqi)LmnOKZ^N*Qt7S7
zx`ghJnIV)WWe%lf8E?SxLEqn+mXBjx;dYamY{vJ3Uz<6NQiMde$2i*itQqczakL_L
zK8Ljggbjd
z`31LVd{K&%Ba|Ne+&n@l>zC#brKDAJ?N>353jf`NY{WRq-8OwF)$W)Blpg-KIs6|y
zAKcwFf&UldC`2+)%9k#b#>M{t;{hdd;}GKw$$v6gC@stMiOY_%o^9fMFFPuDt|}X0BQR+HricVd2RCmUBz4Wr9hc7eHVVCi<>&x!+c~gwig6v}WgMlwP`wpZ#8T
z{jwB$*-`CP;~9V1QLv<=v@Tf*I1gxkrD;jJ?C6FJqO|xLvxZXWlV;(yI5tRnoe9mr
zpTmKqW?sh6UvaK)Fq0_V%r=>Cy6h-9*JPnIDRU?-%YBq~%Z|e9%?e6EA2YKkwg0UN`S@i=gUx2`OPDXX-)9a{
zy8CzL`qwTyn)|x(_yN@U`jmmL+3njMt(|G{{S;qlNXizuy0(YLVPp;ETTv2LO1
z+h$|pvZIpkn$BC79TiTQ{O@0Ov^Z_Te}Hj-m>DzuPnb^#`=M$1CDt$O|IT>sV*Nw@
zGh&~%b|Ti%o&^6ztfMo2CIO|C=b7~9$2uAbFt<=zd!b1@8SAL{#U>{z*3r;KQ++Ac
zQA&)tb2-+L-xbr2(#bgEbv4#eNxYeVMXaNk1QU@M>nL7|uEjcPli*~W4;;V7?4-mx
zT1+)!?W<
z-Vy7lyU2_d$2#(Tmx)6uMLge)?}yk*6Vwsw$mjEBrYqJ_#Fxx1l+t=lE=na*jZ%k<
zqBJFoD20E;#G#ZT*(eoBB}#45J&f~$IjI?sb+r9+bAXcPvZ?w-tfS^%nznzzbHU)6
zIY7ztS7sfh_;r(tQjQd(R3)+higAPHyJiWcgkPJc`C&mA-VKe3Ji{?{}-j&(HiC)4(4JP%~LD^Dvxsa&c~
zTyfO>OcUjG#Zj`i8TGm1DAmu@J@1O6yZ$CS;EJPp@eI7;XgJDDCtY#0m1fpncLhJM
zxZ>*5%{)pgl9+MD(dtvCI}^tR30bBZrA7&V;}u8QaucN$xt4v!QLQxOTyYfkX4ChU
zD~=}KYI5Fo#Zh&kSwpG*9j3Mj&jl@#{?03oMv6_)d#*UTU1l=gcg0aqrOEri6-Qwo
zG;!CjI0~yZDIdM!XzXLAtnrGYpih_12yZMyXI*
zQR67>P09H`JP*Vkm}HdZWaba}erP;2H~)z5h4Lel_a_`5_#KvK$?ZyfHA8i#wH
zn!V@Zb>OC-X?b28?xh)rdtjPiluG3~O4D*1rPI$hsVL>h2ue#YFl&KvxIZC|^+l%Q
z#c{YF9L`0WPsQQ>YjL=zno0PpINU2O4)-TBcU}^Q`*+3Ro?0g4Y#i?Q6z6m-sfak-TPV&wjx=FWagM5^&1_7ZqpDalcO}k||5dY|5QqEG#NnPY
zCjV7&j{1_!CQ9zr<|ayse{CM4RGe(8P}-G~uZeRsDM=}DxW5O+;7L=0Qit@RG%8al
zEy@~7F4csi6elStWlIrC59AR_F|RcTC>6iXG@#Tjy(o>y0!pj0i_+HX%|1%i8Kx1X
zQ8{`l4)<@soMf6?S#h|3KpZ}g-y~&Yd>~)^--LOBNb$|Vx`6FB8_!&FU=uJGu~zkCI4re1e6~7nvv&Tb>#ItQ-;!%zj^fhtBwu=
zOjY1je16weSNKA6bn+@b-|DK1_$#xEQr2lR@RF;JHqRLM(yNXhNK5clN5N-JKT4?~
zW&@>)mzi#qhGYk&=une{QofX-R3ptOb;$rq<1&NNl4M=NdB9+znLz2Dc)seYqX0=n
zDNmYEnwFVscz#GpHf<=a$nBJ?j&hzfBPi`kSn5?rvC@rF;A>6g>#jPQO*gSm;jxhW
z22+%E)lvBy&51W*y}_>dM*m1LAE-e#)be$~;zJ51TTFy2rj11L3?m_3xr
zOHJ^5Fz>KXX6oL1)lo*dNq8UDD-2hdp!Z*OR4aoh9Y}iRRY&Xc5T)V|m@1TdWdx-S
z*+uDCe5x=WP$+xVIDWWs-E5Zq#5Y@l>3xgWtiK%cCkv?;!IR~=K&g7v
z%#Pvfu>5Tk`JJndvM0?Wlmc!V|0!GtVfg#z-Zb_y|wS%;~kxOmPz-Hcl20pJv-h}^m9zEZ@i-^Y4MA9^!RyZ=lSuDRszlB$#_Re
zFE-Vu;_>t3cvt^drVXW_(VG&N<(Gzwck4&)4k?UyKjtr6E7wQTRo31SOB8p_C(qC{;);
zN>^nVr8_e7PV6hR7MQ+w#XIULH0$ri{==0b(}L2Zct48yK!wzzbgbB1M5#>fqLlO=
zlZR55Orf+WYbg1Yn4t=sU)ZiPH!sIKYIw|aqZCwUicyNFH=Cb|ceLAJDjG3%YBx1s
z!a0T;GJ{g^HIvS&emUMzmn@=`{#%o}67Q(=ccuZQX<0&PU3O7Auxf%(ij-KC
z!hdh}?!`N5TQ>n47%!APX}152a{)bDrgIzfhVlDm2Bo{QfzqBF{2SH>lH@!}dD6Fo
z>jQfJZq|1(7wFwH>HoqyK<3kqKPA!YxT8>S6a0+hjv{OA3W|T$=5_Y
z2akhmer6e^O^JK%aYu>%rXQuU0Mm%lUD-e>`1z(4rM^IO`vu4Gy&lJ1DSj>40S
z2c;ZIdGNTS{S@Oli~kOJ51H-^JRcOEH-m3F?&z+RXB~HR_|3-U9CsA_i0Qk4xx(RG
zlZ;Y8p4mdFB;WMC1CNKWM@=+J@zVL8_??5X6HVw})ZX6~0`zA#>4N(~JF?o0y@zcH`#jbGq9qljS;=g{{zJZ$qBJJcC@sl4O1m=Lh3g4AhfLKp#s*Cr
zW*H^lCrtxNZPLDV+|lA+Ov~Sncpfr6sxl
ze2*jVKy&d09!DiXCMd+?=$1^Pv>*X5@;I9MHxm6ZKM$qhm6TQr*kU2uiDR?GV-n;$Cj@QJR*hC_En&yvmfLbXl5ES~_AjUgL4J
z`dYK}I{bSWeS--)f%Spj1ak+ay^|&>(c|d6RH3veYbe#7GR-J$OMH^Yk?(_M8l}0@
z=6b5fQP^2inC@{Ddd_U16r5oWq2%*MlYr9fc@vb0`9QziLTOSKP`W4gQSyG+1fUcy
zM^N%e8cI1*h*E{rqI6X{Q0kRolfem(5`3~v^jq-T
zAYorx9`QJ;yBQ_F0^BD3{64;cP;1izz{=UWy*a{Gja%#`8s-MQCg{>DO?tg5@up%npyEHfi|^
z_6I`$-9(|Z)@fqCiu)Z@$|_3Rvf1Tvv@fM!!@5AV1a;$jg9S0vWGg6kjrzHc^A%DZL!M?H?N
zNyrbd4sck;P)Zy#87Q?#CrbTt3#Cc9kCOKfO#n*aas(xhq@k1}g(zK>4wUXl%{abZ
zfEn3CspLnd3Z;5!MQKd}Z{zC=sFY@uw&mK7u{IEL#~k=?kE5IkGmMh^iMfH&hO|!N
z^{0@H}?n(G6_7;vv1xmFt
zhtjd%n~Nyz$-#RbN5PVWQi=Hd0q;8yC|+wA7x+sUN{9bwGEvHxQk1Ht0i`xsM`>3M
ztYdzVD7R4Z+b}aI)jw$hH!(Jtm-s*9>k)|CGHobz{>5DUE9MWu_st?oK7TVKC~b?^
z4(1D~l8sVa?PB?0l+^3zu_eq{`x8#V|2}i?n?CB>QjZ3ii2}e`n^NbUYR>jNbgrj&VN9nd4
ze&z{BaZ-v>wKSmAa=_d|X+d(Hb;429K@wf#y=s2}f6?
z;)N$1RXt$lLrypvdXZ`QH;eQJf}GE+am
z-ocvqjA8#EP{MwA!qKcO{0Q@eygO!S0_y^WKQ+B5tw`t;#sb%;&EXmBH^lzj9Qy^%
z6SU5mE|hM{C`wbZh|-$upyczv<~mAY^ClXlY$-?SvMi&N`AgG=(t!mNgi@r$qLd+*
zQ0kO^lqMzMSJ)q@m0pzQBy1^>0|!^k#P3cxO8&hmMX6dEP->HIlm=uBrD<70X1+pJxWtD`zM@rSlTfCPhvk|_jw6V@d--6_m3vH
zv0!uar3sG0;!QM41yYXEkc1pha5N^do&-moatozNSwJc0gt>##p_66}rSwEIf>QY@
za~Y*&sXUY5Xy}b5;E@DJ9vMbyMYd4F|3rPt+FS8@koq>WkJ6R5n--Khr5~kRGKtcH
z+(YTUc;_cL3XpJ=j)(`PG^s$TR{Y+P;3!n?qEvs;%oZd#+85tIFP`caw`&j&GHsE}He<^=!q+mWAyq7)@rDAh?m;A2$
zlB}b&D+j)o;3!BUQHqsBlrkh2rDC~+(iLezsZ;t*&OkS-Tcx-NYvtxEZA
zyf4CKX+kOa$EF&kF_}hbS1#Sb^#lR`ZSWU`jy7ZurGq~)!6==VE|dZ%O$18KGJ?|O
zpPGG?GN(*FN&^z~Gu#`XciPOM$Icev{y6Tatf^b%!xoM`?1!%>54YffX5F#d(3g
zdnW7;xKG2Z#I50ahD^yvsX^LM>XreN#w6&ESWifls6XMo5k{Ugt0;MGngW!1B<(M_
z4gh~i{FJ*W-TbQ=MXC9|89`}6wo&rkG1Dk{c1;>eE8_lv*MV`_Kq=;*CIKa{eKU(v
z+rP{JO1l#4PC80^nz`Y1(oyi!%^{SIO0)M#NB+++1t=Z%G5IJRc%}(LDNZ8IB?{w(oL8DHlm?^C!B?GhbWimg%qLCh
zr?D^K*JS)ZhsT0@-1wnX&~27cs{XoJLdo-l@fySH!TPVw-sVY1wcd$O=|E{tR#4h_
zhS@{uppOYgDe##l0i|?lI*{n-w#=fG`7ASy(t(2}!Y|R${pXqJphQO<517MYiH`PO
zVlEv@#P{AOy7*U`ts{w!3S!Mh9L5c8@h0+kqNBbt)AW9f58BGjI!YNIFu5odOAAV!
zav!De3UdS{kEEfLBZVk!$^9z)c}S@?hd!FO4|IFC@W
zYN}AGmqnBUe{V)m^1o*aQ1bnQ2|?+wOPP^y(-l;-5vI?gA|
z$e};sdVx_{Ln&dy^r7VSqzOYQTH;Ykm5@!0AI9X$pK<=6>@Q|#JJC`0eG|Kb^9tdA
zH(me0enQcn$=}EPA;6t_%FNSFIVyU(Deyk!X#E-Hp3f_WQ-^?CL=`S|7!%sQt
zj4GP5r~<*4%&X6BU`5A?mtG`t$)hQimFgRed1DB`Hej63CMKyJPMl%twA
znDpZq2jrhH;U_U(s7W-Vr!X%Fd(gBcpK^5Nw23-%3co+@l&eZLBWF)JI*@MsGEU+9
z=}+PF4NV{ECi$Zs&aC`EqSB%+idw@{jt1(e!9
zWA;!A{H%#VX+q{vT9s{-ysjF5ls4t?=T13l6VK;QIdU!LE=uPgH!-bvJs6R&FJOK!
zBn@pi{}A~_vw)J%m(6vQ;ycXB;3-ET)28As)*6od)p+mWx`x%~Bt0eSfh7EXyCioh
z%yhgs$x*N18-*S1$!Y}t94ti|??XwBuFCaSBsuDn5tPEBOf*WVl8sVf})cgMM?%rw`3Bf1@V3r<_qDHhEk3cqEsQZC|#8f
zlzL?tr8_c*(u!=M4bUz>#Q#ZPj@atWm?(vMR3QF8<(
zkEEfLBZVkcNG(cNr5B|;GKbQNxYuD{z)w<88kFF;Bu7=Uh*He!O%X~XGIR`Q9d5;&
z#S?fuOrA0eD0wHDLX;{b>Oq_bD3co~rJpt}O2ud}*XE9%xlNFS*(oFqB
zNsfHdO$15_l8({^DMG1I>QHKy>nQcfJW8wLe=f;Un3SWmESo6pi*E+*3lJiQQHqmH
zl=7t-r3Pt3sapn68k1?1mSi2JU8#8!t}m#3*raCRT7iK#n>%m8S%O24n28HXj`DL&
z@!N2=AvoW}y%S@HHtBd5?jJByXeNsA=OLiPgrns1J`;#igj_(WPMT4=E`2CnD>Iqz
z$9h4V6qjRs&@Z=8^8SGF`cRUiXh}usnyg>Kdcm$#RN?GG=ts;rN(ZY=7fK@^HQOk8
z)fj)2mOf_IQHs567EsFhxG6-bLfUJS@cE!gZuBv8p$_W<*CqQCxWB=sBO}Qhb0cBQfdDh_6r7O9HqOmfl^nuN%%U(0!31Z
zlGhDWfYPk&qm=xF$w#SM22dK4b(8|WVY#rqYMjG5VSj1@X>o17oxTtK1R{BN8un3yp0D6LA!B-R)De`=zB
zhW85?l(p$3MD#
zJKX1BV%4RF_}hbN!C%?m9l3(=xF3wX7=ENj)tFO?x5uSj2}v&5`|KVWTA9X%22A2MwHrR
z2Bo{QhtkpKnmm-cWE3SIe-ndJ*z-(0O4(A5Qj^?9sXM?7pfo1aD6PvbNo#2U|=qN{7Vfahyj8ln9h!WFDo0R4q$_7e%a_|Yv6N2RsN=GFLrSp=9Qi)Wd
zR4=V4b;(VXMr8`6MOi~Bu*XE86e9^JrAr-3&2k;35y}1LgZSAWTsz+~9p8D-QTMR%
z8pZVp$HvX*k1#eEyJK=Du>O$nQ&adq58~%L@LaQIYz~iuss(fLF7C|`w_;*{_n@O2
zzc)wkVJ%^E&9way?=P?}yC@x4H$f;xN+L?RlJh5w53)AQI7&C4G~<88KZEBVCS?z2
z2kv+!Kc(my$&T(HFxP#P9c4Yw91TczbW?m^knAWU$Sj~V{6fmDHouDqSdz
zO6kdDM@zDfQgNcWgwhphL8(*vQMx4yDBY9QWb8L=%k9(2j%H;arHnHs7o}opL1|JJ
zP`W4gQSy1nL}pCDC4VD0TD`W?9bAo-%1
zD@b+}_ox{x!QMjfdre#!{yp6NfQk5EvZEMj_z$>(#Xry2J%7?Rs4&B`)Lo3f9R@8?YjN{1y5
zrDVxODPKxas+I;?GN@X2TPhUE@QbFzZcmbg}&7x0r%
zl%nJqN-2_s(nTplsYV)6YL^=*4azu5GjbQD4cSBK;1^6VN{8eqN=b4ar93G?sY>cm
zYLzaOZptW1Q?iKCn(UzD(`EuuijWwT5+og^3sQtqrPQI+EZ0%$lM$3AWFDne*+$9h
zi^ds9)cw6%Q(M~{uR@QQrLBK8Kq6xN6Gi!O$bVd
zB@U%z$wVn%N>Qqoy)K+@i2k~XN9q0(Cae$RfQvWH))1~$$p60a8N)e*@Z09%kMTG-
z@>4TBi)$Z-=FP$X!*vAHcg+$?h0EsV3a$m%Uo{8rVZ9(xCQ(|Dlr`K7AWJTyR3$)))%7xWU^5zkaCnROA|`hqz9!Tsoua^!ho!7;(i8Ye>MlVFkd(%c_>v$JxZ<8
zh0;w)_zSLOi2JKKa3AXd{jz{kz~4+bN})TZau?S+RPULEf8y~l_%9Rjw9}6Ee2mBU
zw4-=`;~#d~(ZGw%&6l3W&kvr)XLcJ8N@=njecDlAtf_hZX-D2CjNj?gjtU<#6)4rp
z97-#)g%bWk@+na$U6eAEYNRjYw4;nSnJXyWm-AVt9ra|JA(U>*EK19=iPFCKzU4GN
z-}|%+k;5p(Nis^Al8;iURHM`&Z76k1Y|d$XUifL3D3d51dBk{7nv>8AryWJf21+Gw
zH4(YkU+9zQx1Dx0D-C%V3uL_ATtUf`Z&pyMd576Rsp_I>MJeK)CI+Q>Ni8_-=(6O$
z3+n+(5?OfK(Jk?QH_i!Eh+h%T3zSLHqo*AO7Mn_x>SO|?ruUe*66_5mOD0PBQi@Ww
zG@#Tb-6##n7)sN!gwnd~qIBTBCJ3cSiA5<<`rePdfzV1bTzwj!w|?4n)|&E9p2la5
zVEv>CrE4;T(rxjr$N7X1X+x=7?tSXCBfn3ZP?VzN7)mLUh0;YSL#alVS}}j9XfthJ
z#_Pe6ub4}{ryVtY%iQ`l_8LO|(-i#IY5cqw)_>FljGcD0f7_JI;2guytnvR9?nf~8
zTQiN)lB}b&D+gAv4-h1gD8))5N-fffQok&qbWiT1&;DET=i!!N~A_;XF8e~P22=b7z*6i4fU
zrZ6bQQTq!`a{kSPhT-+#m}H@}_+qn$(vGx6q&T|xGE;_9jWnXvE;mpblyQ`9
z9x~}KPjPfX=27xLY{F2Amb6!P1jME|
z3YQg>ZoJl%98Gc5DiN$hjQCgNwl=j8<
z^(l@rB_E|ysYa$p}glGLO=#Y@_6L
z!uX>UCebLR$~BaFWC*3(vW(KETua8|VeGWoNKL`#!(flzWQtI#lsc4}QHKy>nM##{39ujhU7L%v$BlRrtG7%m1{!Z
zhWi0TNh3<_as#ElLNkxjw)npr`vaLpCh^e}M_nam5vATsX7IzfH-OJaOdm=OA2s)C
zQXJJ>HftZpIfJmrOlBQk2WqdFL-i?+RzGEW8nC_)*=RaGlj3OcvnKFrilgYynbKxl
z8_+E+pU1rc79^kr_XCJ}+?1gd+-mYrs*?FHV11ye&GeuY_eIm+j(ZKPe97FnhV_N?
z4%2oW*CX8ecN6thye{N*nYypxJV5@}P4SHsN5fB;!5*wHw0^_X_2ThR-Dj4*gKHV8
ze`qfL6!&$g`h^+)74Fxt@*5NLN8Hy|p|m4DFF4~UP$E#u4l+T(
zXB=ITI}e<3G$$)4ZHZsV8Anla45bvwLg}KEp;RM{C~bus_mVUC92-2RgrXEB<0#F@
zU6d9hj926tN69ZUEr-tFGimVLFE>YDamG