From 9001029a32dc9e944152864a187829eb74017153 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 15:45:22 -0300 Subject: [PATCH 01/23] fix: set necessary flags to build for windows --- windows/CMakeLists.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 windows/CMakeLists.txt diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt new file mode 100644 index 0000000..1181e55 --- /dev/null +++ b/windows/CMakeLists.txt @@ -0,0 +1,27 @@ +# The Flutter tooling requires that developers have a version of Visual Studio +# installed that includes CMake 3.14 or later. You should not increase this +# version, as doing so will cause the plugin to fail to compile for some +# customers of the plugin. +cmake_minimum_required(VERSION 3.14) + +# Project-level configuration. +set(PROJECT_NAME "whisper_dart") +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") +project(${PROJECT_NAME} LANGUAGES C CXX) + + +# Invoke the build for native code shared with the other target platforms. +# This can be changed to accomodate different builds. +add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/../src" "${CMAKE_CURRENT_BINARY_DIR}/shared") + +# List of absolute paths to libraries that should be bundled with the plugin. +# This list could contain prebuilt libraries, or libraries created by an +# external build triggered from this build file. +set(whisper_dart_bundled_libraries + # Defined in ../src/CMakeLists.txt. + # This can be changed to accomodate different builds. + $ + PARENT_SCOPE +) From 7f839529a876cad0fa5aacdf4e9db932220d04a7 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 15:47:04 -0300 Subject: [PATCH 02/23] config: set up cmake --- src/CMakeLists.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..15416fe --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,27 @@ +# The Flutter tooling requires that developers have CMake 3.10 or later +# installed. You should not increase this version, as doing so will cause +# the plugin to fail to compile for some customers of the plugin. +cmake_minimum_required(VERSION 3.10) + +project(whisper_dart_library VERSION 0.0.1 LANGUAGES C CXX) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") + +add_library(whisper_dart SHARED main.cpp) +add_library(whisper whisper.cpp/whisper.cpp) +add_library(ggml whisper.cpp/ggml.c) + +set_target_properties(whisper_dart PROPERTIES + PUBLIC_HEADER whisper.cpp/whisper.h + OUTPUT_NAME "whisper_dart" +) + +if (WIN32) +set_target_properties(whisper_dart PROPERTIES + WINDOWS_EXPORT_ALL_SYMBOLS ON +) +endif (WIN32) + +target_compile_definitions(whisper_dart PUBLIC DART_SHARED_LIB) +target_link_libraries(whisper_dart PRIVATE whisper ggml ${CMAKE_THREAD_LIBS_INIT}) From 4876f0b75963cf91aef494bc2cb266aa58b86177 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 15:48:57 -0300 Subject: [PATCH 03/23] chore: update readme --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2539978..80012aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,13 @@ +## 0.0.3 + +- support additional platforms + ## 0.0.2 + - support all audio with auto convert but need ffmpeg ## 0.0.1 + - now support all audio format but need convert ## 0.0.0 From 8cd915433ba7175d713cad9dea722aabda900ccf Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 15:52:37 -0300 Subject: [PATCH 04/23] chore: update bundle identifiers --- example/android/app/build.gradle | 8 ++---- .../android/app/src/debug/AndroidManifest.xml | 3 +- .../android/app/src/main/AndroidManifest.xml | 12 ++++---- .../whisper_dart_example/MainActivity.kt | 6 ++++ .../app/src/profile/AndroidManifest.xml | 3 +- example/ios/Runner.xcodeproj/project.pbxproj | 6 ++-- example/ios/Runner/Info.plist | 4 +-- example/linux/CMakeLists.txt | 4 +-- example/linux/flutter/generated_plugins.cmake | 1 + example/linux/my_application.cc | 4 +-- .../macos/Runner.xcodeproj/project.pbxproj | 6 ++-- .../xcshareddata/xcschemes/Runner.xcscheme | 8 +++--- example/macos/Runner/Configs/AppInfo.xcconfig | 6 ++-- ios/Classes/whisper_dart.c | 3 ++ ios/whisper_dart.podspec | 28 +++++++++++++++++++ linux/CMakeLists.txt | 22 +++++++++++++++ macos/whisper_dart.podspec | 27 ++++++++++++++++++ 17 files changed, 117 insertions(+), 34 deletions(-) create mode 100644 example/android/app/src/main/kotlin/com/example/whisper_dart_example/MainActivity.kt create mode 100644 ios/Classes/whisper_dart.c create mode 100644 ios/whisper_dart.podspec create mode 100644 linux/CMakeLists.txt create mode 100644 macos/whisper_dart.podspec diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index f20bba3..f271ac8 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -27,7 +27,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { compileSdkVersion 33 - ndkVersion flutter.ndkVersion + ndkVersion "25.1.8937393" compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -40,14 +40,11 @@ android { sourceSets { main.java.srcDirs += 'src/main/kotlin' - main { - jniLibs.srcDirs = ['jniLibs'] - } } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.example" + applicationId "com.example.whisper_dart_example" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. minSdkVersion flutter.minSdkVersion @@ -63,6 +60,7 @@ android { signingConfig signingConfigs.debug } } + namespace 'com.example.whisper_dart_example' } flutter { diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml index 45d523a..399f698 100644 --- a/example/android/app/src/debug/AndroidManifest.xml +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,4 @@ - + + android:name="io.flutter.embedding.android.NormalTheme" + android:resource="@style/NormalTheme" + /> diff --git a/example/android/app/src/main/kotlin/com/example/whisper_dart_example/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/whisper_dart_example/MainActivity.kt new file mode 100644 index 0000000..baebc25 --- /dev/null +++ b/example/android/app/src/main/kotlin/com/example/whisper_dart_example/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.whisper_dart_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml index 45d523a..399f698 100644 --- a/example/android/app/src/profile/AndroidManifest.xml +++ b/example/android/app/src/profile/AndroidManifest.xml @@ -1,5 +1,4 @@ - + nAYs zrQZdGr2kq-aE)7qYg;C@(-BuX%My{_h(9{ZQt5h`#5Xw05`art@`$sY&&1(2cp^9U zIS~2#mgcTn+P8)H*~1Mf(tzJ~t-OAM%?~*qc3yN19xQiz0%-_N&mi zo){scM@W0(kBHmEp@_S^h61iF)Ou1C4S%s2;hTliKj@B}W-N-v^QV!x-Jf=!E8AI? z4d*Z?3ORUJBIh?otmj@nez>}4=lJ1_BRqaM#g|Y-d+svUN{4-nwOVMDjSXd(*~@t% z%2pRT3!RO8FHtZ`Fu&oySc(1*cs2jU%J968`q^LTlPlF;D4n~8=a~9QG}RAzz0-^f z;|Mktog8lz^v+KWHy+;kiUvZW#k`i+(wfLvv{%{Bk%&Xab?Id3N%)(`8)pe^2|<=2^y*)21rGwq4CC%=LEjDDvR^bBqvYhF1a%iiLv-4!zyxsNuzgOg}s!e?&@_y55i{3u%GbRzaC?bn4s0}iSgU_ zi1#M!WyA+h-ietvjGnw}Em1R?gGX{}>bIY~vRTu!Td?N?r)rA6p(4&70E_sZI1>wg zn(0Z%)HlvPukA({lkHPKjIYTKJg-k8a?>yp-B@^`X3S{O(o&1h)6&pGrE1PBT#$&u zgKT|i8;kh+ID`7a>rvn63;jBtvXt+$M4vVd_2&0t%G7q5eBYZR?b`5(RM~MLP?gTm zj4`O{)qc}80n1#z+Mi->GOoRhJ&9IGb?r%OD8?UsLpSC(vXjS}*Iw>3Zb~pml+^Bt z^`;&0ILDsGuzCKC=!-M)aC^=s@s47elG0@AZ7L{);cZ&=32Z?`;@s_%FvY$lfb_ z`W*>Ae9P^XrQe*OpP?Qqk8(*9mVY42*>>3Vqy=Z;SuTOVrZ;=iHc5~r{XEa7 z8Tr(tearO-si&-+@}Z(eD`sde9~1L9A(huGr$(=tz4=B3EU38hLdSWM41A7gM98s= zV$RPz5jyAs8e`d<+QHDJRw2THH|);@BtIM z>oE+F^k?W*9QqiG)%RoR1%E0CX1HJ5;irBk^cTG3*avvIP_$=+=uZ|}^+n^?s*li0 z<@=Q5k0UW(4b@Mw8ous6Y|i*zw$HH*gWl~L23;)aDKcGbqfQFb&#`v-Vz1x6V@OZF zBp*C+SL|U-8!#&!1uZ>DtS_H$Sgeb}ETr+^p7Y4UNC&Y$1e?>opB<6e4xH%-uR
R4mXH@*^&hZB6!&|uc`pb+i zYj9}ODK*ZIVn<;`rwn8LQ4W;a=${9OFU=`Ou`Lsh9g3xjOTQ6Pwtgm>lH)-d77g1n zu9t0PJo3c!-=o(c<&S4#FbTmFoCVv^Fsm@k!bf@ZeP&!!M+~K7&%yvL+hO-3c3)yH zk*FCCOud|CLnw1RgAi!Y_>siWFx|lNAMMhl!Zl>XBT2kg)gk`7LBqf_34`+<&Sy>` zg&zxPiQ*S=@uOip#}2j<-qO}j%t|Q7hiUvIa%`oiANC;-IcD=5&Gc~(_TmZ+nejZ) z&u4_4pn;>t?jx&soHFpo-tiNmI{YX>#0Y=SESCKQ#O_9y&@DXrDIT83LlhoN zIm6+34Pm43{E2!WH9Y;L+y7&Do&h}^o*_J+4)z$9G`fXnD}C09)`a>!@L$7o85!&h z&yHyV%J6*6VK_WNAhvu;l<+)sl85JZrnDXk8-?c*Of(p$o(pzUc(D039G<(l+k4p7C!&NWLAw1vhQ|$hI6Ui- zKZU11l_uObhx;DBeibb|ALswq@YLr=geQPUr%T`S1c%}96acZW;X$|X#Nk&X(0Y#j zq&!@H?)DzGswhf$E~2Rw-2NZKb2;eY@caw;Q+STv8znp&Fz$}pdKS_G3mo_lUGow$ z*!ghXk4L9Vc*b!U4v&wciLL^y$6P8lbQ`hPA`fTaFXTdL{fsW34CFW%1BOHQV8HM& zhMkyimMuAk9L(4_a?MD8aV#!o|FL)D(ipoB3F$w4=RBzCv0DHeVt0^`nGX>y{U2ni z4;pZ2672B#<%y}7_qPwm>Qm?&E-T|Uf+wbClbn{o_wqsaRE@CTl^yz>zE>zNfe!Mfb<>aL~Yz7UxFe{XqBlBSbWJcs>%^@N(^<{dc7H|0E~bw9>q&%CAxZ>r!mHb2LXHBrp8{0IY?=H3^shYuC)2E zz~ZoFVA7aXNB1;X#sL7YD@Mbp-flZ*^Y2Gsnn)jbV#g-O^7M%$^dNB(PmG&nx*>XM zSdzgdAZjGe;|Mne;hSmUn;CRN(?u-G(;zA+kU%U=w zV*D=F!FU}Sa~D#dIh23A&{n3++nGxL!}o}u^gW{M2Op9CCHl(2zm&vaauI{Y{jT#@ z&FHSraCCl8imH!~uJ3&mD{gC3G0|9?+~s45{8F-7et()D_9q|PJ-AEQnplh5TlorX zPfs!&OVdkW2RLl|DqJ3X$i8fJFFYhoo=GKcS zU*qYkqG@2;;;!EVbNFO9{P8SHUyrR1xBAVTc-p^G0S`Pz4}AsP!Z8~BQd~8rDEJ6+ zuS2iQ!<}wU#J^tb48^59a6A6(GF{GW!WXv2%*9lW#y~cdbcdG#{_-)phd>PmHb#JK zV~38*K@V{ZmEq-M)nwL(iDSHZZHY&x{aeilF@1Bx=ROfe=iEH-oqzcg{w=AdtZfF? zzVNy$I}0My(=)KfqkrXfYVDrdjvgL!6xRM0k)wKGCjPZ%#ZC>&d2@TBXA%nonKk65 z-@JA!UCG_$*rntwdmmP@uEe&`n?Y|JZC;zK>Cl-Yao!I#s~6Q^dpl)-y5fyS+p#Vjvst6%+N;6G8%Ap+ zFEDC2ZZEvRnp2k^?@{Ogisw4Ls4A0|(oX}WeD62i*WcKSmKeP@+vj;iZp+kLHr53CZ@#IQ4f`$qdL9w0J zcc7l8hsMY$!Im_f3W*o7Olxt@zYe(sYGw_SaHWM|CQFo zkWJXL^PQSs2D_*9r8VQ1|1gig6rVLkJ!z$X!uaq>K0d6&a?9bO{o+pxoxBGTHj44Y z&>sQZ&rz4Hyw1QK#FbjkGb%owk%LdwO@gR6MbkH*pI(91Z`&!KVw18dq z3B>enjSsy?39SBQa06|(av&;Qtk8ZstSF8!6aXIpB~zWti%3$@ckzSO#)p=VYSYt@jl_ z0Lpt({Tu8D{FQc*u@C;-(eX(J>MB!bUVS%??P_Kzy+>9i@{Zy_w%;_CqY@vovj*w$p~E4PDkNssH!VHxE)^Ey&m^sf7uUMcdJ6cBlefk z-+)s6JD>bpjQqR#S3wO-@AMD9PjuY!?*~jc{)>NeMsol1toM=G|FvCV|3)bO{r@>n z>oxwl5Ct$^e-r=eD-y5`-lw1T>6>+N+CdM{8AIg-Wz404fgbn)yWNesuk!o*kj$97 znBPCk?+>D)bbb;cP}6x7mp1zQjG}C8e9NU1wDTv?aX8xazY6IQv_@>9qdWdl%27|a}cJ)NOS&iyWYeqGh!dWTC=bJb_icWLh zub_w{6q->*eDkJ`(sq1uti$p|?aw`fr>Djp`xW8VkJs-g&Rs+y&}w(bLf*fFa!qWAvT)OwI0tBar~2}X1g#E@WU7eOouE{34A zrk60|!H34PwfrV8cC*CH_Zcf3)G|d_*y`J;yEu$(C^O}IV+D^?BR_C~u-f#d;E5q?aL9&E(2xKl zZTn%!0@Osr=|eqmJKZZ8Fhjys>@FwEG4Mq{p z_l{#JGbDfDWMQ;tJShfK75G$47FgdelC`cpJVoR2J?CeBADBCW6I zBIXGcFGc+CU5sKu<(ce)O_|O`+IZ2PTPsF6WDrnBb$PF!Wx+KiJtE6!*~xIPr^&L4?mnNP89jD@QEDwiK6OT={|f=@AaE`ZrHIC_I5u!!W)IN z5z7o-=-9Km*iC{+*gb?L$gthXu#4zWdQliQQrJ!nmz^KTXQn7|MrVnKqQv1e4J;1j z!}+#c-ZmT9tO+oSlSL)MF3t|onOT2Nes~cLoYEPU)TVH}l{>4~;+ywcHW_h-ojj^o zaa@*N-OUyeV1yD0BbZ}x_7zl1hM7us#V-kPf8~LHY|X*>B;GIarb6`^dkZnR3w(#~ z9>2bkRYa!Qj=?vE^Dt_d^hm&_JnqR4RLWDSc>dsMXB~}!kuJwkJ$wvY0eX<=ML^?r(VZ9LBM~ea`jo7>IX1 zS%cu&Z%1u9(u)3?M;^`_l~ga}sDal?XY|+OjfLkio|mtVeTixY#Hd|7u#N0t{y>ET zaxxgNh>U4*b_+#gm1t9T+ykeW(mn9?Yv!5`BmF^uBjUBe#wZNp<>m`++_DvM!6_~{F`eG&3= z(aMk$l|{sl&V)ChUE^3ZKNZfU5of}a5Th=QP4-uOSDA!aAt4>}I4ih-N3B5L%S2)mo$ z2AZ|iw0N_&!92K&EraZ4?%oGWEeUxTg0S-qvd&M42YESf@gLBnK^E^k!KZmnr;Bez z@D0unm#~um=})E4jL4FZc-92qDa z2sAq6k~+2pF%U|s<>8o~%A~C*mkdtlaEZo~qrea&CjPTl$K+_K)yJs_9b1AIkZ7RJ z_e`2v_>9UD%n7voEk47XL3jAE3%-RMOM+N_qTOkaV?W-kw1S0k@4)W z;HPo%X=|wHl7xu{U+wN5Xd5gRZ4+4(fCKw^s{QE&k+vxvRqv1Rm|kKWB0>%9Gv1#0 zOoNqR*%=4;nyh`rMNj|tbHjsI`%G>SN8H(YcVXiBBF!&=Am?5WZeT~zhlK`q;Cq1_ z;G$oqHW=!KiMd#p!KC`)UuZSdqaO;rd<3)c%kXj$-xuh7l>Q}6VmHx2%wKZ6deAzm zH5xBC{tFf%GzfWMtC78Vh#%NWWJBrwhqYMy$V57>)j6rg@g1xmV3fJxT0UQ0{X^$` zderyf`RcROpMb}QDdG7zr_wZ1oNvIXtt48f%-`5$u8FS})_DVLp~EtK?Y|;;SoaQ}zrZ%y+r0+D_GS1S2L4pUt?{(I*6AI7W8$oz0dWvxW6>c@&kB>h!*5EQ zIfTAR;t=jNBjjhto05vs;cZfv^RoJvJiZ#8;?w3dw$p=SdgOkE8Tn z)*IU1WAEY_=(=9)85cbML=CNQ`1D`pvEKshx5n{IziWgSMp7dRolAwjDG$@hQ3+ys z6+3CD_2Yw$KmQ;u*IEm)XJJzob|qo4cvQT&@NYV_?KYb*mSVA++n3hhoEyN73ZLFV zXP^R?Vf`fKd(USXNRqPOV`R+?tZ~j;hnFA@W8?iFS3s*FI-{MH^sNBz{Vke(uUL13 z9&4*L*b;sB_p}&$paciruo6cr$tw1`#<0Gyiets`vp?fI$mmEx20BeYI!$~ksy!Zq zMfV$=&m2LK`A^GWg*>LPug~;k@b%1OzN&^#ewjw*!#H)AvZk#U;#XR0H?Z=oH+r#J z+uJidr?9XW{+&_eps1!Dn)zd}W*qj2UKm_G{w#{%C`VRc4ILc(icO;z1)4yv)gd|q z-%&d$t;f)`y-RPeH(a<*( z{Uny4AHoZiqL4&`=$$_MkD9(UxaHw`zh3Cd#)&3#8aC6?gQ`K0faS83(7R}tvVD2= zd>CIH??a!1MfpA>v9vi6F5?7Dg0rj_5@Jb$%*O}Uj5}KY#^~`ei;)bC1ud(nmj3iH z|L-gfyXkT67R@M;pTolMCX_u5Ivv0ic2*q}NoV6Dp$*TA^O?^_212Tq)+Y9)`_bBTJbGmyqYpY6-vhsrz^kRSmg3_%sCy8f z?+~BCZ9a2i0y^pag?-Vm{nWW{pREhbY=71C;1Z`w|ILD&aq8`jyHVNX;t7sAY{fali9eh7dX39|vw?ltG z;nChb{1AAk7e{C}n*MbNV>()7iCX}B!Ip79QAZYf0@ln&J3{MEp(&a98KDnO;GMgS zDx0q#gL4)hEX_FzKhm`$#;1Q9dLO=Gz5K0Bcw>BXBfnop_f5DL-))1Tp?F_*eSeUg z|9Ap6*Xl>`ri_nxUEqDpbiRi20u4$~5G~)R`Tv;v7Wk-&>;EhyiVEIfK~Ygs8vK>pwFnY+7pH;-EJ=f8Z&-kCG+GiT16Idf))-O76$f|OfyYcTDvxDyIgu?r+b23$OZsACz6 zac3{xI^}S%5^Yu=utsgh?}1C>6WrUNl`p3Aqq^`AoV*LJ^JKgc+zBYpi*W88k6fLt z(em^%dhkz%c)t7=h1N{FBiFhWWOH|V(eO2`r-~d^oL-=hC{7=b8)=a}=&hF?T!9lL z{m1MgXDHCE3p_j(eWnjbxGJeNfZBf+0)9a}ydJm6wgBjMXM^ z!n!+C2Yg0W)u-W~mtiVwXdk+^e%ZB8Pxyp0e(DvUB?FG>u72GeFRcfT(pRe(S0P3+ zfHms?oUl6CNw<*c0L83)XaDq1>z7@%(9d``KeUXH+)pvRF85?#kv>4X4{Hmo2RrN{ zSr4dlnrbc>ClDY`d4KD8^OZM8yoxNNqfiSCK!;)-K{9qtnNfQOw2}tfSAntd<_C~@ z9@aEhLReT%N>(Hr3NY9lkPf;^Y8=JM5G2;WSL=OFKCEvhq}XtkFh~qTkcNFEAwfW* z`f@$v11^LnLd;DlDEt{XVI?=F%l8EW!aG44lPYPHfGYJ(=U{@2?^?w{EX@FIXfyia z7xyU4Ng|(hC3L2B`=|AF7aX?& zM8YWTL*D~2;jlf!6&<1ZSKzn|B5^O3^YircFZ0(BEg(|FhTMhCRoF*GiR;g2%0$56 zovBEywp$U8+p0JzxQ43t`gL1g!etTl>(7TVB!jl(OCgA$>&+c@tV9JelJbtnd{_(Ax$Lb;wt4s zvK#Mt8?hUc4`x~iT!Mux7{zwG4bvOSPc>6{&E^ptMrPh3>z0n;I4P6rZ%W2*a+7Yn z)3Ei@l^n{nOh~T4wjQ?dwwJ8or9MMEt5)p@?(D72`2rDUMwMGZS}PE~sj+ivIg!69}?F*y3f^Wmv|XM(=^!h!~86>B{WIOYWt7aW*> zr(_)_!4vlX5K`rPzpJ&koJMlJK;|-Yf8D&L4`>59dTF)eY0>ABI%no)-9%KC4OnLeP&jMvuC52@Bp;fUUF7P$7t)6vqZLXl4G({T#<&oYq2(HeVM!%tF`b_ zD3~2LtNSv%(f$%1&N=iM5;ZPX;;rhu*9driy%d;GNF6ww&8aDi0+Ipnn-ep6KJ;)A zXO;aE=9AY3p=q2sDo0A9)yP@p@(x0g%TrOnYXX=z7XVy|N%K*E_WI(}LB~F5%E0<* zQ}qxc(JO0GSmZToOdE;!JeRs5{0JZa)APf>Qw-v6hMzw zW;g)IhNIhWEu`X&xfSw$9L&6%?Y{u)tjAEU4YPc_F^P{`o@%#`p!~JLZo`-NrQt57 zk6W7*T{;!SokQrjF!p~OdS(1t6<;d98pWa1Ca2WAXsK&XP^G4^RNQgmlzNCg!zuMn zr__U_ROUO`$robsg83@nN+;hyG~WwO=`!CT_Hj+W(CizC`8~OKf@`p)ZO%5_v z-L&;|>D-}Fz*+@ZioQ}YnguX*vhpocK1UXPLHV*&*pu`H@!SD)X6@(?C5ML3Lcz|w z9kIXlUII0v7<9o17>lnyEZ%&M6h-w0OpPyE>Jl>Wnk=e=HJGKAN*FR1rjG|9H&eJ`e7~ZC%5m_JIp#^Jila;{uhuqzaXrXet=9 zlp}NanwWw0s1?a+AaPu-Hf*BpUIC#3YSn{vujom5UkxtvIZ}VwxyT0l56#*v9;9U7 z?#c#cjOFC7YkZ!M8`j={8+@NgpO02Wvx3yohA9Hdmj*rKJ3YIt_yA}~uxVl+I2x&~ z?Cjf9XE z89Fqy>7Ih{Ye0>|k0VNnv-}ygRQS#Mh}tqp`8nKw`R+s#%cE*lh{YHS_Xg`ddd4TL z8#ZunfWa}Yt+MWdObf48J^F(lciq906FPaqJ^r4u^GbXi zbzIm{J|Kk}uiW$|E-Y3D;A&=ye8N_PSfR^83|xChecFXw-8v{;u`lk=QRe_KkNHf! z&1dG@J|m|Vrmac`!Da$|zU&5V))grA*1pg+^4cb7Z}QtnLVoLs^k$+N>treq_|I?s zUDm$R-CP7qM9@Gj+$+i@z9eXapZ_Fc3mk#$S@Y3it^CiRTO5;kLh`|Ft7)iKDldAe zMJ#R&runm5wDL+~!U%EP0Zw}W11D+&y5#+?cMp~UiRwD0>hsRYN9g>Im1lB3td@hGxA;H+2= zQZoRVYl=U8sSgK~o6ulfePH(o73h{Kipk$8lhfsrvbJIYRD6LVAURM%Wss1=xCV(j zwKoFOJEr<)F)0zFmB5#p2_6*)H5iDJhA5^06d!jfE#{#B^yXkFE;t3a6c>sg0q;Jm z)W(|DUJ0Sg8Jgh-rKP}g06h1Xz98=bqX0m9fGTpC?FR`8D-jkU;~%_yUqnD-!UrO` z!|xm>7RSKCRA4#bBvRgcmxX)pHn1zeK#C}%qt;pEzhy!rxY8W=-->XB35S72;lE*B z8JT}EZ2vApoWpc-TKEQOKn}**$Cz)h`*@7LG&XU7?cM}zaB;f)WH#gpg<4$71G+3e zP|Oy1XQn*?MMj0EV-Z(24itkXsmw?1!cC&9VMS3Mcw!v16 zc|{s=WFe6y9>!)qQ(&5D47VtKkk5Ku#6ey%zQR5xL(xSGN>+4HF0A3z^jbjt*&DR- zM=)aSn*a^p4;PSLju6IvxA;&U`qJXD(x>)a{6C3Zj?^ENi%v~uqA;kIf&FV4publg6MSdhlcMj<_8|JnAS z6M6esDlZ$w#uGQhkP~8Rp|>P;8)b!&9lUw+P<s;!=H13jMRecpE9%SY>bB5v~ zKA;c$1sA4%KoZRm#Nb{oAdEX^_(6j{u-`hC32SjaUb4@!uv>H#~-?C2kzPAW!oE%0@Y&*7>e!idL0|u zZr)kx!_8ttlZx{>OQN$%hCES5pr5N8zCa z)COdG1#Z)&H0$&N5ihixhwVD2ivT0-a*=?JLB>c^G8lBg%Ud!Pb!qnvMne>Z-Q5Rm zHu};ZylYTW@o7HeE$M=ADH@0qeb@}VB05hH#Q`%9e^(-ZjuwsxZYLhp!2L1iVK1 zWmI>I6DtqDl$=EMEe|Wg8F@X;Z&fcs65cGoa1rv7?Ls`KhW$cyz6DobCzD_7>sojz z?QY7z{`-L0@?z!nzd_Zx2U}f>Da>yy9FLEE1c(tPKHIc?M6BihqIv3gB$||K-){Rr@~E!2!=rD&ns z0D}eAQ08ye5K)dP3ER>Hul?#t9Uaqa7~zH+uenAGosvb&3r?{S%RZJAlmPBWRKSRz zC~T^NQ9g~ru2nF~U{Tmb3dU=sqA;(5QTmO-PEar&(}}_kRj~PPSc-x@;f8JDn$QyC z%4ph86zuQrcq;)jgRF9PkOgU>78Al>kd?!sZ>`+Ei;jJ?&^16tW3UWxOoE_^ls_K0 z51!)-5-p(bmoY(uws+y92v-PmtjyCX*Q=<+7NXv#qK4z64pC8aR8-aoQ75RVAH+xf z79tfYFi=Gm`PS-}t)ecEkGfJt-Plj+s&4M;cc6;8C_d_+RMgj1R9S~u{nl4Yv*yJ| zy;Vj1gNjPLp{`3+)O+Kj>MH8BD(ZX{)lyM!kB@qUih8Ds%I-w2SF5N*gbS}*MPf_& zg^K!=ih7!gdR~0gMitfWD;QwsBiFtv>Y4FTA5~FnRMavRb?pm+fno7cZ${MD2O);N z1VVz+o#v#%4`H?*E0s*}6cWipLonhwBBvTG_|)m}n-7#Bo^EVuJ;;&gWm-u^yy62# ztmC`;jaFGE=H5pap(Y$P}x+*8a}A z?+xAbA^(-g-z)k1U{1J__d0LY%0B>I!pcya{T3V$Rdb+g#y#-YL9*E8%cu`ze*rxe zs(fo-pQpi(*&oJ5*CSHOt4BDED`Y~e-xKgh8uxZC| z(UeV+9h%ZdvK#q6{YHE1fT;WpWk<9f=f$_9T`ONT3;E?Eza}`)jsm|qekj_K@6Vou zw(Rz6qw&pXV1s5XnwFGw8yZv(fu9X3EI@;v8SFIZPUc|sdjS4egZlo5_T;gAw&x5f zzuza48`_g5xs7a~|G#KYc&5{y7C6uzXcVPAle=n9=G27tAa;avF9Nwmx!{Lf{#c7& zaKn}ZW{PdO_MC+1)+4-4?7A|F`q{Np&k+MJDF@zZ&U*=`>M+q~!%T~U z0D7N$2YxGbIDyu{(ZDHm3BWjo1G^Xk2^w!oKk4QJqU5klPK>Z&_8NIPXmZKG)?to* zop*OQ_RI&;oEiL0nKOg`Y$;BGHS^S8M~haOTCZ@=Bvyku$c&NVDL<3GtZ5kC)vULD z3$UuHqbLpAeuiWO?c9Al_w7v7xduX@9iHCK`|?YU2?n!JX&m04lJaM?F&N}!^YHEo z4uu0eT)r^t)$SVtGJxDfGSElVkZPeo8Y_e20`QJou^1kmqYoPm{mUwS*g5&wmxD5L zbP+(4bq`cn7x&SJ9SoONQG6@%UVF(JUdLR^bMF6S>&%qgeZU~Bep8-RGtMGxVj}Qa z1V*O5rKo(8{Vfy&<|~}au(g|OK2BjF*IdkbIM;lJ0!awrV4{v7c4`=-+LhgOsT&_4S2A3 zRmH+#0~*kt`v5PKl4#I;oL;H2v9|OVer-R;#KzaTrXWOB3>9xf%|Q6o708rLt6(&2 zWdsUWNbU|U13cHXu#8oj6suB$eJMPcHE|rASXJ#Ys)=&c1o>Lca3W@tlf;QBB-b*qC3Im0o+ZzG%8*A|tq0>7}ximVn1Xph% z5Or}X@ih*Z!KA4=lLh?)K>|nq`2_sM1<(noWa2`y;2e1Kj4yE}`6;-Nzg--O4B5xN z1|BR95iyJD3X~UUVvV?*854`W!p?>#N(A;W_yV3?Qj>t^OY|2{!>|}T6+u2+q>6){ z@PZ!`L8>Wupcig1kVOpfwBy}gRv8~w6(3ea?`>t`LkY$dr29N?`wMH@01E)7Jtr&` z&({jy_k4}+c^fp_!hZR~kumJB3_Az_a7-$42*n7omU+eokjt(}XR((G5H+!vask6( zqF68C30CxyVr9o7khO%Zy!ITP|Eg(26{MkdUj#*ZN$BJIBVvFeR%{~xfkJkQ(~)RU zGXqw+ViGxaEdVMSkz_v~^-8Zj=8B%l@cX0TL+PF23Qr^8W*1-(0pneOR04h*&7lvy zIgxOZ#L3aHB!;CcFP_9yG_%4!C>9&Pm$R zuPpDvuP|fGW4I0rR||V_R>hl9>$Q@b>sn~N(>pXDvGAFzK9%Z2J_lfh@|CF%*$#lD zav(>mc=-m*Oma)h8g)xc_F|ct{??Jgnd$w%%FOiK(}^?E)zBSbvcnvR|D`bB+-^^S zq=gHwN-<-}0%-7UoQ^m-L1M@x^!3eOtADy_%1(dbVlGe(8NFt3F5H;hIE`U);~eM1 zTM&YAQ`YLy35$&}gPhqE_lg>7@`kiV9B0sG-GSNr*282=4QH>QxV4gD#iZ`!lFFE- z&N`V7h!Mi;(Ov7pYU%07HtRmo95v>62=cj2=M@fkZxNfV`|8F6DxX)_@LaHB=ZLP| zfx#OY@kX#2l~o7VbW@_rt(Lee#=c~*;B7S`I6=9_7CAdB$3W~Q$Om|BiDa+^iQIYE z2dfP1?lQPdWzgmhSI3C$R_I)jcY7B>%_=Aft@2w7DmfgiQ$GehK=JA~7TD+l`(umH zAnilI-nbuSgjyJIGBlPzEgKCHN)j8X5aZ`F8zsim`X$BQIf$c8azpkHtL*J^=4;k4 zE97f`ae(BeFci&ggoyaaic%P!kI1+%N2DB;XRZ;>HTKwZ z4_6T&k~>3iqZ&7wlk<2Cr(9zr;yN+xiB6Kq(IifpAE&FliV_2sO91xABV{-Vo^cZ3 z#aEQE)m4VaDI+a0NvV@$Xs0A^gMqTCnVmvja6+)9>$K4+f0&b5PNyW(og}G=N!ov< zN*RRpNBR!Tiq^t>8QlF&n4b*B8)^o|<*X4T61A#t0|ZL(sW#S&a_+Qz2jK#uu&!5+AVU9>#_jw*eIxpVc1M5E0);`B z`U5^wYhDhu-x;Js6}3#%w*hD92)wkLw80TZei3E>`>l1fZTS2Dzx(XH=ec+80$gbs&1-Mrc?^_Erg95 z)=-fjM&FVEmpw3nQKiUy9<#PXeT48-F%ly5&6rq(GTl!?-{*dsNZ&9NOrY;KG?tk_ z-_;5z^gW`6!w^J2AHW`{I_F{9m&{6_>Z(5}s{RJkfA>^9@{+x$>b}~{k8T20_fu4@ zOTiuXVJT8@H&p%Y#Xp{^7mfRgs5YA-AN@!pTGC?4gT%9HpagnlY%?!%Wx-! zvqz&W3FBn&Kb-gD`FAQLnod%;!?IR`ZWE=FpNhUKl71w8$K-ES%O2#D5kEx!?p{9m z0!aTE==<6C6X|<$C;C24q|yZX9;krv^qmA?5A;3%e$e;qX$kcGU6rEm3q<1Sj=p!F zyZ7`B{ylI~jDI&v!5#LUyLzJU&sD))@o%%*29aWvxA242l&nIc%SyVxz(ul#Q0tkK ze*(-Nh?g_5f_|Bb1gzd?NWmR;+V?$S_OU>>oa2XJ_VMk+ERHgCf!N!VrC+3((Iw;6 z3K);r0DwIpcGDan_M^KJ5IgDth1mHb#B@ipN2&HHT>nVz2w3vi!Wc`=mV!HQpLb7) zy~E!vVil2gqZZ*p(YoL#V#)uFKBOI2HMr&JA1rVDeEj$#RPkrv$453N^5Z_8`0>M@ zE{Hp%fbqm#1Yi%uojM!Dy{j~VxF>>_kZUX#38p*ZK4I+M^W*;7%&W$OxDQfX<2orA z`=8r-BJR(9Kc2Xo^M4}ZcC8nGh&(+AlfeHteV2fn{tWbe=39yMoz{uIU&fVMVCwPA zdw~MR(|09+JA9kv*J7{81^sU z_C()AM-g9_YI$2>QOFD1p8kW-0pql}J3@(f8C*dr#kxPo6J`$tN9BFzze- zx+nVn%G<4c@}>${fZ2m*0JFWOBw+S>@DoaY zE0w~hoAu&1IeU*;%#7z?!y&>smP*0c|N5#Y%wDYu?uv8#5X{~hR+!D{3bSKG=1kzp z!xb-xZQ`Cogz|9cQm{9te*t4UtAQ!>=Y@u!~SDyPna!J z1^-yg9%?Jh!Y-jR&3+})P6B2>RKR%5E(5R!%wByDFnjI|37B019zo0w+$|04hGyS6 zbMG+=Lxp>w%a2$n98=DMJM1$sV7u3jo~a7{v6y}RONCh&c67$<@4sQm37DO#fG*5x zN1(R#GQ@&?gIn_YjdzW@0`p$nNfLLu_4DK?dx&L zpl;O+-GfQvoR6w=oMy_h_mPY1 zIH$^qwXhpOvAX-Bd@Xbw_1M%Gi-h4)IH>%KC25150G2d4=>YViqUOyNAf zd0SfW?PU8~Xc5B~t|0cxlJGCs-d77v8yz`sNQ2a{iP;mhBDluIc>0KH>4VVS$OxN( zWoU|N<>2?VWJHfy`Pj3_iHu+$_Epqe$h34O5Swg!qOc{&0ufUYF)@$#h+88#C@v3) zWG@wEv(jc7!8FFOPQ7qC34FW#&xx$GW4O1?KK^r}?g3Sm&P2JpjdF;}$~yI=QkBQ7 z_&n_Ok_T(q6=A;=mq!>JmGu}MpT`p_57nH`^(cwUV~LYT$Aq}Hj8}O`gS!}D!;yz6 zrlUAQH0Rh~!}c}AK62U2)wT38#JWnEwBy}Mkaa2Jm||BqsS*Zml16nK9+%DW8Y=|t zzPiu%@%Mf_2Uy@6aVKML@Zs8zN_W@qR2_7PEOZyfS<2xiH+4soGKJ5DUD0@OP(tS; z3$v;@fspJ~7_JQF36Urn?La~m*Z!rGe33icsX>*KmIgo3v`*L^66Ug`bKqAA9LLgg z4V1DI1vx40C16H0i%Uz)>O?0AEa?)GlsidaNtY0Eof8tXq;tw&iy_HUU`dydCb4ciWbNqG*Qo^inO4`f-^sEdG1YRUV)e$ugc%(Ct7f;|;CHttE9ne#Yn;L0 zTNpuc27@vU!cLsyoe-O(mJNVX&ejfJxp(*RSL@2mkgJg$W4% zURt`@{*}m3-N}+6)zYGv8mUYkeEZ5w9k6Ok8pF z3udqLIekS80da#Fja@4N3-G9{vI6X0|Gg16%S7z~mA&gWdk`olUjJ=(XAg*Lt6cW3 z>jH+2BZQ8jD?}uzTbK4yd%53U((<$D2hV&lUVozI>P{+@C6tL1Mf=ATFrLaS0g7F# zi+%j&mI##}@w)^ne-)ga{QC3FJyH3W!}p%bvE66`suN;;3K);rQv{fZ*iVWgh^@ae0kMVBzRk9&)I;5@ zM349h5DWJ4QeKRG>?~G@{l}V~5IZ}wTg3LrKDe*28a%yAhJiD=)HwFYH2&q{8wX6P zOxQ2$l3&;#|IhP_JXG;#*iSg{ABp^e!g(itF-sOQ3A5rY3K&n;R|+tZtoOMoLe`ru zOCamnw<><|f|66ZA?qhk{7Lx52hiF^_{DJWF!GBvt9v5r-6#BbvhIKKPej&zd7ojt zU1gVao%-+pdAhz44D@H9>)$+=NY`9gcB1R&Fe`Ur*AFXTJY9zbm`K+rULT?BfdvV4 z{Q@{S=fRIf71W&={o=5_r)wBTZH0n0VjMMbilXb@AM`}mAyx2?od;*W%XzSCW~NhRGdi~En;d!%9xydS#NhzOkq z21aJ_?7wm*#W8L`M&eS^Yk!FxSnb$?axkHzYmcNA8k3+gPdJ&S3! z69afi0pn@4T!4vKJ>i-NRtMnv&A8>>VrkrFdyObGyJG+YhweRAvDm$AZ!hZ%i?AZnJav0w+F-FDP zD;@V?7j!*P0psa9Nq~uT{q$84x~@Dofv!&id!`U}i4rurq3i5l?LA$C2fu_>Y=m2k znWX4?+M7MmbstsmkD}{u!D)VOx?TkK^nXp)dufN)4^{jb==y`l66rdp6J4J#vSPw4 zI8p)Q>3XOD6X|-@xCmV@Jtu*#F99njUEiaGl5Xg_F6}3w>-V8Di_rBwg^I49TuHj_ zZX2Xj72FkF{}3fx#tJnHV)v}G#I{SMngpzFP{4SszAL~)tlo8H1glq%O~9&08n@Zb zP>QY?R-GFt96kAvy~iqSJ#K}fE@JC(`qc`n`At1xb%rYV$71!pdWF?4Z9SgE(xa1X zalZn_WA$zUCSvvIDr24uGhol8)%QdwQ5XElVK3i@_+dg@! zROv+9)e0C-+w%pONZYaK3+x^B?k)Ab?R%sgn#UPe~bT`ZM?JM1xa zJ<)ZWD)>jy^=yoZpPQ~rm;KMv_4`2h&p_9IdN7f$JD&$XOk~Rh2`@zf@A z?Ty6{u-XA#Pz0+lOTiuXpqier`tJdIh1Ex1QdlkR3adAXY?(l-mnvX9R&$jUnn0_Y z@*`ON*T@8{-U{|iT75)>lJ02r1l72`!YX+1y!03kzDo-3u$R5k6IS1ZB+?D7{ztjF z0Hfk3;lV#}zrX#}|9Sp<5vuqz@ZTeUAJ2cw)62l1I;k!mT;2tI+bi!h5CDY(OKUD^{_k5mO$#<aKZt2;SN!5kNCKU>aE1cLBX)oQ6A@eEk0AC5ygnNzvynj)vDd%B zBDzCt9yW>gR)-J7=BC9EdzTd4VgG(fPl(-xyF0q!7e55C17A>F7-q(ubwYM+7g&8y z0pqdyngA2Add)czte%^dfK@VRVs)U%AKhW~G}XAhBG+GNGY^1<=VdT-N(^V5$AWSG z=f$3|`oV$SVl~Ev{pK?XHKzl3sJy$({Fqe zFdAF?@tr}}{fs5*e#TE>k11~o;{6hJKVtLrbF0dopoGQk_U8zUv+alqTt{Kh-DgkNGB64UO3@^OPdK>?$kHNn%m zOIZ`V#TS2-=n6h>(iW<{qtjKQc$O&cD$(_`i5bBY-WcFjqT~7Auz!RY)bc9PckJJZ zc$Xj!j8#B4As%O+sszDB#50fTWLNW4NAb}-#{@_C=(nA7QW(lA63$d*TZ~k)1}}+Z z!S*$WSEwIP*~bW$;gkn2)8;c$rH9I;=ue=*xc+=DKCkh3kn{QnU*_O@6}aEn9>VPj zBUr%1<}1ttP>F0OBPdsUPOer*l<^3Y04E-D_?CAu%X-rYPIl+8RpqdZ9Nq{PsUVhN z-?xaw{0cMUGZ1CU%fz_+-o9CRnSkD_;l)?0xZ@C9IKSnRmGyPs99PfRPHHcd(_-0w z;W4g$6MS-HDh+cE10P3V{8K1lh+d7s3S`TFI9<~WEYeAOj=c+104Uyf!Jxotp!dlr ztm-r{|0t|Z!T2yx6t)mB^?F_}JkQQ`=~9-%KhxrSMvb8Y{L+uEB@Mvfan7;0m^E+s zHt(y1M{ZMA@9mvq6<4c=nC$bA_u1NW6RPpP<_b@4b~W?6=R>_vs)cK5%iza3HnJVO zA8W{SMEKBe*OR~stJna{Tm*rhYtck|=j&{mTv3e1ONeu|t@FT-5voLVdDm#%0SX;| zT#Pj8PF=hrq6gdYEd68qqfLCkI5Zh9JWGFYMU|Q?tHi_{_o5=370JDT*dBW~>7GG>P)9ND&Ac7=9>e|(kCR0C z&OP7)U)rgtW#VW**nM&EifKz_w3j~5N14ofQjsI?J;qBItNn$l8tRa{o-OYvXyxo8 zzgYyv^PPG^iSLFMV{4)aMRwTp{vkyk14D9QFwPT7N4iU`)#luWT-1B171uLEbw!sJ zx`i4#h4xrqM6uttpThni6q1PjVuUH|_kycC>^njWJHcUR_CNnl<`}ixh+Y=F&ZRG8eD0hfaW$o@WO7;OH4T#A{yE*R(DaS4pZ_L#p;>*J+_!u@K09LknHc?;b5w zh;OilgT#aE^h0ZdExmBcvKQX4XtC$8aJ*WQU9W}CK>qer0DNY3CC7)NPrQ|CUjnAa zy8I5Ix<|$?u?0wM)s&4~V#LUJ_z%)+E z6Q*%sj&PFAkH(!lUD}nD78JQLC3jv5hAz&e^1V;ztZ2$f0Lm+N>Meut*oNpiO}rOOtsUqpDdjlhSw5YYcEeqG_|xmI_%8hSbHiPD9`Kqgz6;O68W&vkyWnj|tqZQ| zDeWqA!(I4XR_BWE!rO2++=b`AG`Zrt@VVd0PH?HuVGwJgcy{4!@IPH}S9_uPWDJFfUH{H%A^$JH;bxJN3QzY9OT-*v%Vco_RH7uo;$t^Z>N0a%EyK0JHK|pUF~{hvkUIR&vJKs7k-l4T=89a zUg?JCaNd#kf5OLYiNxm$C$xrI8dJo~@E^XDd0*g5T=1RS6x^(Cf@A>k!Nv!#d#-_| z4Kp`|EH0Q#_1Lu`<+%VHDqGyijbrJeJ;LTbnStdZHL z;^vWJh&o)4z@I_?1jnz|2;qIdWor;0;&=EKEJY*l-Qrn`@U}-|e&@(k_%T>0sr8K< zp$gvu$-wO&1qs6KUxu05?Vs`I1plIV|M{4C-SLllQTbV)i*XM{q<)e5+yYMSj(<8h zuiL-ui+F!8j4XHf8|&izmw_|6!*2m6ar?J|;+0>N8Q~*9S>iX^y}=EhhPq2S^i{Th zzxMjI%lW`&L2Wqm0o=C%@iW-sX;^v5HhtAbeZOV(YyWxNG6}vNSf5m>p7(|fpA;Tk z4tcbFP>H5sTsnsP2rNwtbp)~Y3zh+vLUYZgXW%}<^lDrwsYLSW;kxv&{@O10<7zu`#^HD9 z&+&+(m5D}sgP8Re~YK>`U z9*y;xu@Ty-Cq^jk)R7d5Aq&aBv#@9?MWwa!UqLM;&ygYOWuigruy1`FQ7sWi6R!DI zj~dG3C(oc(-DnAwK8w%ns0UWnC9^U*qYv+l5SE~ozXQBLaYB}eaV+ae^&Bhiqd^Jv zYj@n#hJl>JaHA>{pZfJHkE-+FF;{tZSP!8QS2Gj5z9W%Ty&EMj^hDB%eNli4i>{!q z;%db?RqHIy<-szag6A_M=Y+n%hXd|6Us(-e!cw@IAN9@|R;60`Bj`u03A3d5c}e(S z=tCvO+KNJMPb<%bx!x1TQ@4rlrA(7`aXV1Yb+IqwGe-;7I5lov+{kq?6lL-63Cr6+ zQZgPB=8~R|2~WjJcn{t!b}hd7nD7Ss0aXYd6W-#igm?I|>*601uA{cC3EDP1ChWW- zte$Ch9uqdc#%sQ5Y_T=)8!yI#^Ni22)c*1@Vf83;H;)OYwjP7?pa0c6!jfO~9bu>B zJ6t92UWh)$8%@r0(s)kTk4I#WeF8VPsF7*qcp`%|TMg1VJ7>8EsdcqXKc}`@(E*01 z7-fv95f(lrISHfwyhlfjAJNY()Hj@k5&$AO+dv4)js&I9C|8-^Zv3?#i6qz`H;v!4O3Tu@&pdG83&Sg zDY#$K@NHmpPyGh7?upMslQ5YTi_BjE<4Y)yweojofGS^hINd$EIl7dTmeKCd_!>%O zZRV@MsxNz+HtTSxW1uX8>MEd(-W~94)@Fd;L;2OARTyw+p_%x_qs(KiGcur3Lg9v} zkZsRn z28Z7mofYud_~f7=dUz-*3cgD@?6mJu=kDlfJchOXDI~w}pq;Mv>KS;H{FNLqd%Hh4 zW_TNBbfIs74<-E4X8^y?fye8KE>@(O3#10W>f@-hE;$e6JMP!XN$81`^m|j1E*8<^ zd`J`Eqrnq|y?p*0Mo6$eGyJPfQvYu2U3W6-eGKb8eh0=2-k|peKle0*FL_twrIz}& zt&Y5Ov)#pb0yU}eG@1E)3icTugnYU!ZY-lMVYDsnn1(Skw@0VsIv2|bzbD8}$;B8# zbEgcCX!)&yS0f80Id!nwZ$MWh{cbP%6WVMv`aO7Q`mUVtO;aNQ54r;i!pBUD1Wa=W z6oo%QfcB!Wq>6pf1mQr6zl0w_eb70sMcGB$+0K;5Dx`*QWyWe)i_TFsyplDnZdEO9 ziner%yQN{!3)mueDY&Ys$OGv&th!`V{o41`Q}DHrzEDuMDrf=ThX@w$ayAV0quLjVs>f>;W-8>P*leCI3I3$(2e*@WLh9lo=^NqFoW`!4{ zrycOuV9`$GO^EC_APQ}_hfdu%1?qZ0*4zyLb?Z?7(?CX84=VyMz-`X74bC{F$~@k!SMl69N)o+tH2yU z#ET@pY&_|`OKoh|@-o9?ftc{07-Wsyc03rslMkc9*2s-?KMc2>$6m2Uenfzw0^g#0 zs&d!SeY0{`(>+nSpQig#<(@}(K)LUy+pF9mx=&T^JLt|(?i=YoLb^BkkoA?-J6tqINfWN`)In~SMEdUUa8#u=&n(258clz_jkkKUZC7zx*t;RPw2Lk zdllW&mAirN66Jo0?rW8MA>CIh_h0BfPr0k;&QorK?ri0rO7{uMeKXy^RPKp%4^-|; z>E2Jd19a~uf3QY+>E5E;r_%j}a%a%}k#gTiHO51iw%T{!aJ4;_f&8XxN3U1)Ib&cI{BIw2>A-_G%#H8|_Hk zkXRocja}-9`@xvIq5byo_IU4UkS(2<481PiyCmM5<)j6V3@?ihYQs#EYkU=kQ3(i`g=+R`12U;f|P_nfJjiq^tf{$9w-2^M)tJ+)Q{=%o~0< z=4R02F>kmfzPL^C-i@)COn3~odLwAx6d$xL<_#Yei^f#LV&3rNSTqKe#Cvav#boHS zF>kme=4Q~em^b{ln43Y1W8QFEeEz%Ry?=_uWWo(Gue)dlEr|uu>%uL)dt#yChM1c{ zZ^yjhoiR6qdSitdLFP#@H-oa`y}yt5z8&+1t72{@{8PNQJ>Gi??BpUPejgu{91CJT zcgI)toLFf1pqQI65081nXUE(O%8&Qp>0lUh5B^DZ<5py%98S{phxZF)H z_ga^GYs}5$Z^UEoH!uo|RCRZJ%za!zzmBiQ&%*}*P$GqY9V{Qh0 z8uNw^kGUB%G~T;1-h0r}SQA`DGvT`Un8oqzCBv1lEk5Rsc<=al%;dNd?i+Kn#MGEK zJnV1LiZLiF<_(_|n}!&4M!a`rJP{6e<=GxzF^?l#@awHe8uAl|#Gg&?re?X`Qs^~O)VP%%X!uT!ax3R2@ANo6j*95UXH@K4cc-V>C(VXni_k$>)hQ!8i!oqiS29I=@fQ`i z83vjS#(*07ONg;F?6O~)M3EWkz0h@JZ^zxVA3lJK^UJY`@FbGkJ{Fu|`wU*84dS1m zpR9(07OIx)>!Fv!t@M#Q>6eQ>iu$v#;kf@5#h=6gsun?`bM`PpZ#4J5A4S)XM(?U7P(CuVfRtCGYu-$C(Az-E5L6b%m8KNDPW{Hcxvo=lF`yWpI^4$CC!TP5Ul%Ap4pgCm~`T zUJ<%f#R^?V<8~*<{M1~ts4q0q!{0(} z&Vh_&1v!p@iOB#uIhB~~UEe6ee zW`BXshM6q8G1nUJLBH$v&6u&go_g2|r(y)aY?dFtwE$Bp+624!4fdG^qLke;09x=n z4?@*G1+}UmBgEMD5s1LLvJ#EF)KF^5YBsY9H<@T+VY9yUZ|Yw!J$sop>rEWpLuD8P z?PntWrDvQN{)~3?e6p@RS0`~F#kN$efFzVjRIq?H7SJzJ00Q`Lh$I@N3SbNrz(gur zRs27YC5WgJxHg5b8bjrX$$WvxOgMdoE4+1k+?1G`(dKD1LRTQrs43!as0_b&U;)3u z+6hKzJRBoJ4AQJifh!OPv8|hD7eN79++R0u#}?0L9nBmm0}uh~Uxecs4aPzj9R+4> zgeu_U@cB@(sFo&VSGNO7au$a};#@aP8C8YgzmhLrkmyB@jwdIi&2M0X z#6E!9Ag5e&v5XQD^#~b9Y_m9^eIyQ?5odn@)PV&lkhN4osurmTrTEy@5(8sYz%N;z=xenGbFgRQy5-;AJFFw)_ZbCEFey`^0y@) zMLT9yJ7BrS7Qt0$Eflat&svC?!;p78|6)afx40 zxbr3YX`gwfy$+Q!W!SrU!7$+w*Vj&XXuI$hj4D&u3)pT-UiKH->?Uf?74FJP2Z6I1 zKtirz50hvwz4hjsZ(8}^>qawp;3~at<59t7o?!d2w_RMnZfb$VF;)$)ZP>jhCFxhm zNp<1gGS38SJq^33G!eWXz}ZbDn~Y{IE>>bSamT?HIb82xOS{##%~!uA*6;i#Oh?;D_jSt$ZawYzyieff(eD^K#Q;T=W9xl9pRUj0nXiZ!j){Y zSqq(v-LdfH_)&JR80Ct5hH4=$6>vlVGo!#F+{G$N4o^mV1Yc$qM^fnBl4DI7&v^C* zek(U?g2TjT??Q<(_SB#&6X`6e_{iA!cZEjRi#Ttxn)NmpG~=Vc9+}s0%7z8{4V$k; zs~HZQaG8$H{#jF4;q0y2tTW+&z*dspTIlcpxkmV*V)+iQ4__?3oeL476%2tJf-SIs#1>Kg z^^v0zR=;f!;8Bc`nv6X{j6j6be(es9+Lf4!gf7^xs;{-s;iy9R2>isxvu-8d1{o{a z?`iRoQ$affCLxTUTkH@{RsYMrxsaZH2jrmmZVQw29J(U+8=q{K&p<;n>eYmgt=oj& zZ4BwCFQ+b;bj2EAAOW%YkP2Z> zt(j5!0{bI<1w~Ns=o#P;JCd(mNixf}Ftb4V7y@BHFO&#;zX`K$a#;uDElAaUrs|XOs9?=Wu9^r!t9r4atgy%YJi|Li2D=})L{!wTBIR;lIzw&B7b22u%1?&F=Xnde z&Ky>-?ZFc+Dz4Q6K=}J_$Wa%zGtf$}B61@I{T;;4mC6%ADX5JlC`rOq&?-cdfvJ5ypt;k zE|tS?v^ji^YbPvcqNZj;8iN!U`48QXb986`q=8w-qba~`hyh}-u@DX-_8im~!${04 z&b5wDv;W3{ZZzickvR*I@~m?^Uiu{*4XZEteE2pD9P*lmovBAWiunTHflc^=yvoSG ztuZagt)YGBn+ne`5?H4X<*m)UEsOuWOzpM#@jUHT!GZn`R{6?eQQHGhNh-VF=`lzxR>M6iJHiO@&ZV!rpIk<+gy#hyzKgW{$a}61#kM1J1ABbejntc#PVD`k0fvkDQ7vXSSw!)0Xo8i%X5IlKq1T_r7K z_vu!tZO;U)w>}*mJA*I_{pYdcbclb%f>QL7R{qLXj>--8wU9c(&%)!Z6dr`xhV*B6 zI&2MBEvQ87T3envWSoC3wsVM-{(U)e=S)axKdflGh;Lw(i0`Lu;LF8%AwFSTS*dOiW zyQ5iva7t)`q|eFdS6+1BituajQr4MIGE55(12WLaw|^&%OmQ`GFx+ZtHBeFSs}Kp2 z!t+rpCBvPL;D`*T-^fl#xnrD?;VzvP<0^`Yf#tYlxbS|kD0Ji$nV)2YEsdS2!)HZ*mSn%iqJ-+~yxcs6V0ci;q;{VX8iDR4Pd z=LnMy<%O$d&7(xNVWNN}lIz+#q4wHZBHk+Mu|ieZ0ejIJdE!3UQn~b2FXMO3vpYL_m6Gse#JXWX8S_2if=)JG~sGWncQS|;86A;@n)U-w&+rfxN zf*=cp{-@ttSUWSB-%7?pPsJnWTZVaY5o$ENHnKi9K78qS$n6{b8Qr>fE<{hzP%kQs zMy29W;Cr6}M0{DY8$C*GQI9HM*dl}>5qD=LirTQgS8Z4u_qI6j8EPvUSr~vy?re6dD|ddYf{GC2o8G{x z`?DA3AUm9Uqmn^w0%BuxN_u+z@+-4)(^EZTt-&Yi)?Hcke<|&sd}96MQ?qkVOvQ$i zyq;W5l<3CjH2QJ8Y&33M!p<%nnHZ|}eNfmUQz8UeG3OrH-K5W_$mKg^HT4Mvc^^eqw} zf9ZQceEhW^yMdK?K@2QV7>S#OyqeyOP`aK-Z=-8@Ue@gN7Pw%OaAg(@1Q3zS4^!fS z)=d=%S1=M5WJ*>omA#-IM5lL<^72D(n)32PbhTj6vqm`tJBL8-o&*@8mNE&#D)CiF z5<0P75y0|`P%-v6hGI~nB1swisHYGVNnLJXVgv>d85Q^%a$yQff2>4xM=hW%sR>`y zf*%944veMVsp{9RLin+7xJ$vv2N0Vd)m203S{^{Xvfz^Snt)gl2Xec8Bs63!YrIO$ zkG;PGD^)Ol>}}Vncp}H3&4j({z@Ad^__1Guq|cT$!^3=6dN~kQFm9^9q6X z!^nqe+9Zg-xMFNRNY?LZb>F15ju}DAHCC5a(ufgk-^kYIO zYYb%}Kad2oeu`O}3#EkYR;~PUlo*@Od}a;ns05OeZb7rL?-&If2|xgMvH=h<7Z44B z>@SN?hrYlE1CLCVY6mJxFDwB#NNEc2B#O4z5+1CFDZrN{&5`7x&v`Z32D@Go)s#ky zTC4!lGolK4Oab(0jQasVHhowNtA^Bo-T2}{p9%91?wxr+P^`yL)*~wba4Hvhr`iQb z$TIVpL1!}!-0+>2k`HoV)eB~RUd|C8eZtp{%;^@BY zPqfgBm^B?5!!bMd@Me466f)yDMb-KJIG>OUOd7iOv(PT4+3S zZGB4h2L!EB{1xGEGXBQnuK<7f_|x&1gTE~NW#Vrr{?hO_2!E;g>*MYCwVitvY7_jb z%#h;4h3IH7p-Ghx_)#4Zd6byW``DbpLrJL?Zfpl&R@%++WMKQrMzx$)7@uV{VWUo@ zG?^#W%xquGwtJTQES%~$BoACC#%ys^w3jyXguY-Gb(^u7y-Z5R?nvF*6x~xdiK^VF z6ct>C(X^`MD@uHf3<*r#aLvp>+vXG4vSmgtSF9=5G^c#02>9zYN7 z=vCYYzEp;p)k@r$N6Cgutp~Bp#(qFPyh_Y~*kKjzF};~a^-utfP%?wOIk?IV4(&xR zjCD?cOEqYO^;aDw z5|IZX^TsnfM?Nl;j$^p*LKL-J_fY#r$-H694Xgdu88eL4=<#{AfDB*bY4>KVfZ>gz zm(~L!;|mFuM3g;`D0=-VBE2zG2{&)F_{vE*bp^U}^a>Fz zVE%X{V!Mr^zUb*PxUdJ^hL2e#h%t(A1Xp(d)Ydej6NP@y*NB&d3;~d?FqGtDRPC>T z>=Z;f2tI8|75in9QFR!7FIKS|E2;*=V^*=3jVemF$VvLls2VCENeICLaRG6HR?4mv zT8TRfRAlK@Tqy{jv>t056~K-HGG$){RT!_J>{9q9!)KoiaY#1@PRLKef@8`;w%2cz zrb78bTmmG<3HXW~1^Qtwz|iDEPbSSYMFE51G8qdM00(aUEoMby5#?T_vZOf{?Kn_m z<$MKQzIuw<8~C|I~oDl2_}&ENFtyfodFxWwZRfMHS#Mx!hsZMN&PqdNi)n zoRpb%O2`OSm<<~W?Vy$ynI#yn=@H>YL!%`rK; zaqf7(d9IF_q$LKo;j5ct@*8$e8JC6*kWMnr1zDX7;u|*^3)L3pV9c}SQ=JNo_>G!D z@(B@@xYCp)!NDXSOJOiWh8W9867W2oA9Gr%Zr)Y|D;Dy~OLBXQ(0}m-=bexHJoCNh zdGl!w-BCRmrFDo*-%(vEZZ^bwf%kl@nb|8q0|zJ!6-i>8JMX?6`iv?vGBq;E)3Lob z=Py`KC?+<1O)i)iuc*X!!*}Q>Sr?(7YLU0@`OLl)I~;m&c^}MNC35-@l+AJ(6-b*8 zr|n}#pO#;8=zG3ffsGIeuQj@~$GkP~sxicx7` zUZZl9e@qT2dmQMg|ENq~5Z2bLCF);+LLh$91g(k`C7N0EMMrZ&i-OCsp-f{MX;t=W zZO$K&Gnn%lpZS8y&Kj^xH+!LCef&7X?g{G#Cc&}j3am6xT=9XRomxG+UDy1uZs_G3 z@k081!n3#|(@cFiwc_>b!#JRfTrhA(rJ=(6Q0E~=XK3g7gg{rg8+ENjzmLb){`^WP zs!jqCMf4Y{qvN_~OrL-`2Db*^HppjAOY`-H6>$JRslMKjFnzsY(M(h6KDp++9Ap`Q zJ5`@9-792Z$}r6J%ws3|U|9{bX{5op)&bB$TR^n_Lec-|5Baw5@EiXW#cQqjXkv}| zh5^`)(v9}lu^FADKg5QA3Sj;EwMR9f%_;AWO_BYnkGS&yoq(B%#a33Gr@pSVKWax) zbr?5e0d%|lJ7G{M^O3@9tj5;TY3;qy9|I3*>+R^*#XzC}6l#iIiADs~6c8;jtHd13 zmU3Urnm8Y1M^f-xQ!8WijlDtW68u)mJmd+YaI9}(hwBYugWFgSaySM=F<0*`V@9`5 zDbtru{Nl^01+P_()vdn2(YJ#Nnh@4kxXB>RpRpc7UJEd!2fxRCw7rPO;P<$X)<*W)i+S@a zu*YPy>&BH8d4`SNczT=k#!`G%Bo6}bN!g}5)-3-2$KIL8M^&8Q70L(~LBcF6mE&bhNB1h=>C`~LCzG0eSZyXQRT+0JvG^BgN!s@HR`s+|OOsJvKB zN~ELajri^+tC=b2^G{)go(h&eFw2yesZYbhX;JT=ggejpijSyio~HLCDpk?n)X5LM z@g6KbMfQJ{sFKwPh9+*7TN?TjRi8~2BAwZ%^2Nyil9*?UT7Fo(oFWALh|-k|P>vFu zLQ?%XQ=q?>6#rlck6>qCsWpKTHipSgi#c+UxvA_>>Wr+iZEjCR9mB(=3b~}=$YxCB z9r~%(o80alF5 z`f?VaZ%6Oy=?#hP3dHcPPs?7Ax_4=t;`@D`e+4p*PNB7%4zry`~XJbA;f;hCFVS1u=^WT-no~0*`Hh+C2 z{u+6T=P8SHz5Nojz#5&3lQGicP0^v6o?oQ?6-}q<`BM3}XjW5EQB%>>rlRYcipDe* z4R0zknu_w9ih4H{^=vB2X)4NUD#~n9%9b&&T52v+?OQ2x27;Jnm8k#iBBzaOaXt#f zy@q^FMjUa<*x#^=ZkP>kJVP7TLO6%yF%dh5aF?v?th>{pT6pcJ#T~{+ zZX(GkKYm%9SBZU8`r{kvH@{J~dc)kuSJ&AC`J8MTug%-5_;7>$qAb5Tw~_8QmRW(i0AMF!K`f>_U2IKZBSzOn0{5tk$P+#MrBYEm!cQf-PU2&hC@g zO|gZh$}t?PFo`H5IRPt#mN+>bn`ywr17~w_dlmQkb1DYR>}-G8VR+RadE?0y8ct(v z7YyhfFemlwzubK;tb?8;_?rAxeY!e*yc(bHS{Ci4Bq^Vdia+o`HzLJxejrAT7wWG~ z&`&-!%+Fy3+c3KsX0n*JfC1nfwb$N+q*h7R$q_Ni==DF97+nq(|E4Mq!1^1l zNpDrn$EX>wvYDQ{b0U{f)m|vL5$<=>c1Yz3NCmq@{lgmNaaQlc##?c^2+E&bC!J}q zKS5yfUjKEhzY1TRvwKX{H_lW+DZ}_X)o;Gz&s~SUhFs!w!19@0XLLZ}dBO1372`iT zh+{w1sZm(@u3H8_91ZGx<$sOt$$wpOA@JueH*!~sMB`$nxF`JZYwa^=Jz$+r^r2K8-Dz$YOgN!#{;>PGpzCnJ>?0TjKBPxP^H--gn(P{E z>0;zL0?6y%_rHdGmH+0}{}ym3?*ZJC;8OHY)4y;Q!tovCh>f{l`KgG!37rv@HM_*D zlool8)*O6VCLGCLbyectTa134`Czkc^-1j7xO zM*_KD269=@N0=(Ncs+{OB!BOsJI)*3G01{}JHDaVAgsG9C;G z$;sK4efCnZlqdIqDhUH4(=3P99I9ZZopI!SXjH5y?v{9hh26Q|sg@e-pE6+SBUS~z zfcC3emkqi1VUl7sq}6@)LlZzx*T;Udi~3r6{S`6%6r&Ku&UQL=0i9AqkyZoN-9Y4g z&b%H(LChEq()h06C~xnctjANo)!qTvo&IZnshDLP)|ayw zjl$ZxLID^q27n1bW_a!C7X>XCVbHAe6OhbXGxHaQ#NMi6(4rAH2i7u&zA3R_tpk=* zWxQBuq}Jc17U6ib88QqJ8{xj^Yfy;ISsJYWXAB;Bd-2c;<%w}5cXz0h;cCz&EN47& zEk>%0RGM@(L~aHKf>#QDOYJXj6!_73l`k|Q@LOf%98pBUID*tf+inbndCSsvrVXOGr3$_u%&wV1TzY9P20b)Ds zSj$;y#qiSr1zW|>q4Wp*6yzK!^%zC{XZB#0S8%?Az_OKGI#dFU=p?wR@MO;fnDCTa_>+@u;%xDbAF_YWH zGE}w+k)>jWJIh!SKMjlL^*GuV^=_-c)T|PF z(JsI1?V1(0pfXMtn_gj0;)CMzKcgor2!HM#!`mpT2Fm4D`!E`aSfPmD$;7DnFoTVL z@28$}Iag+c3$vKgi&?Fw2do(=%bh~f%S>61G+R(aC>=0w#6~77ihJGgZi7`W3#U2h zXzhEHhF!=45UpLdiOs?+M{SQF9s?FN*)2?uYL6uY3y;%@l z&7kWogGmJOnOucFESF@GE0!}Akr(L<=b6-e{uG33IiDLFwtvt0ocyixSs`@He4cc5 zY(670pKETZ`5yDxL#a+J=To8TPBDV%`8*?GKCfwgK0Byx95bJp&U|LGn2<(Vna|S@ z(8tUt>p)M%r@&G0Kk^on?C5>909#N!@=v-qWsxeU7MW7+JxNn~m*2Vuo$OZFcYSeB z<{!UF$Nk_g(1$ln!4Mbw{r&8zk|LbNTOayBRgyhvS>Fv+W%(jZA<0m-UB(dEh>0bN zXHLC8)i1X<55lv|S8;}n|pJ6WEG$}^f|BoE}UpQosL`)nE1~onr}QH<8PkU)KN|byzoPG+PcObj4f}R| z_m2pw*7bn`W;&+twi9{wUHX91cmKeIim>{j`tD?@r}f=&g)Q}6S@7Mimt@K!VTJI2 z*$B*3R?VlVA=d5btj~%k7{oK81A?%d1*e=2h|Nhpmtt>HG!pN?nRcC|@SREp z)9uCd{Kn!M=TnH2kSyjZe2H$ww+a z3~kdEm}vi-HCLeRiN4WB)mFD}R3JPvRm^fdPH_~i)Y?I*!kdiRLCS+7V9unkGqZTl zk#xWJ8%~Hy0W6p1*POY8e>D|%VDMR1vX6b3tl5PE3E^tx!qu#c>rZv~8S2R^@K~{& z6~m9JeG-nwyMFd(vOvj1l(3Gq%U6VEdDoZZ`;_mxcv6jevnQ48Jpmc&ayBch0jY>0 z7D~I!Q6f^=Aj`2kV~<9h<^;mC*o2vrBT_Sf_gBRPk;@n>nyEd&!6!o5o9y#ET3i1I z_$y9D0q^9@;(GK5HY^u@UKoecHXE@ zRlkWydT29ZXy1Ti)(gtQEIi_Epl=>}Q)$*^Uu4>^Qqu?zLBiDd5wQhay%#R*jlwBt z1tJ&b6qvVWEidfNNOyV4_mBuK6k2y=6?(s!Q-l(jDL#O#DR!{+Ld2!>WYA(VDd;mb z%d_wtaM~!7zy#%~N`=@AB71&Q8Sri?PLfte_AmNTzidDb$MmW}islM= zQpu=*cT$$8Tta2UKKZoFT$M@hQ@Su(DIh=jb5xr>qjuhCJne;Tut&AgyiI zOkr>R7G@Oqd&-j&0rHfLL;wPatl?Qwld8||eaqI)$yE8rIzorN3P!O#GM0-H=6RQ2%$aAWO%n9%+^0Q2@Id+zN;eLn#*KuAKVG*rTxsv_F4{>j%r!}ZVg`lrZcq-+L5#1FglF{Vl-%LTX2Q)TRFb?ix&Ub`B~u zbei}C=_m0A(oeD@pr6DYNI!|+j()m6_EZ#o$}d$}`HS?=WBTWL{ZpxbR_mY5`lpfg z_b$);J@kl;l`vSDgtKH@woPRJpFNXs#!8uz@@WiLAc#ZD^{P~D|Ecn;PF|Yei%-5;I1<-*0D2H(*yoFJF&ju;Of2xgHs@OdXc-K#|O-f7mZ01+~lT!CQ z!-LLV9DAyhCkop9%71*Lji`6GNd}4KC!G~kn&%~Yu9~39bZrirw_$c7vIb_Su)ET44ir(B*&@zg0%@F08?prp zY1BnYV<+>o)CHY$M)m*G1*SMn7rlNX7=#uJpm#{rquhNE%NoCTPa<99U$08l=1-Mh zL55>E3Om^`y2#I0_?NHf0)RKg=%O@{F7h>9lrEr6RiV_Oi_*>V8UB+ml|I9R&W_PV zX`Q4QwWYR{;y=C-ql?l+x+sm&MQMyKN*%f=9pm7l`b>;2N@H|U>d-}LoGzLaU6dx$ zMQMyKN@qpUz0{$L(nPu_eK?jKql?nTlEz3jIDG-%9b9J~ssz`ehGWnjc^lI&#gtVm zs`M{V(3BIxrvVcKmHj(Zc@@zz@+{U6O4M&x^78XYNAV0X>qJPNq1a#sU0)_D<#y8~bvv03I< zQ>WT@cEg8aD>ipl`|iB`J^AM?`DaQvNAg#6MFX-ioG;pXNbaRg1G^pQ7eadK+sx5^X6K>Zw0Zp=-9=o@u->y`X4koqC^;pu6|Pmh;6ni2j;J?1?Fe`ED`3~U+WdfK>q6* z1+!XVX9ldB*spE}?+N5q%FLVz ztu}h@6>nl-Vn~+)raRldPx{SDQFdt5s?oKaBW~&K0^vYscQE&hVd1`K6H29^Gm?Mp z+zVN3%>9Mz!4Hz1hNv~eEt6Qx|Yw?rJY({x}ijAj+fUG3d*KT2HM-%eFfGlX{ zo+W`+e%l8$d`{pDFAMc2s$$-kkvr)3BDIIWRwtVo^!1OhKB>z0i%aWk;FG>L+zcpk z9%X^(v$a5UMK5OCyUOqkT;(@ciK|US7Drm&j@lcpJJ!B-w$zJS(j5C*mVM|l!JP*C zYx%{zfoc8YdI?Tb&UZl|vNq_f&}TCAR_tkF&uZm+TY9wiJaE{Y%U=*YS5D7HLoUSm;djxx{mbPfLSV!a2m> zs(DrC5Cg|Ohd7NwEj9+9Vg~H7lFlxWI)@moj$0ZCx5MtMKQ)V9Xfi!tC&bSoo~{$( z=MdYIKr?aF=q==eFruJ$RmwY5y_Z{-R^rKPT@v?H@!a$f$Pn zE2BEL{S7)N^f_}Xx|jy^Qc_9Ci6#6mognI=F7cR3h@MCMm40*1BbMtobsn*geTTfw zQzy&?sVbgjJ0`mEa|uibzSR)tJCQ*YkJ|MTYR#fn^jxS^iq{aL)$|;bcgv)kvEAD! zBW|frwbA}*%DB*~GKJ_nDz0V;%GAsmT8EM~&!XtDzRI4p`S0_|q}u!q`sXA4vsr#b z;jt6tV_j75K}b4!PxApq#}m^(Meli=roKh*K~^@{cO#Eb@T7A}Ub-`ty!^5KY^kqY zDvYGxar70UGHQLL#q0?G&=FcMKr0iyW%4Bmj91|JGv9*afAG`Te5?8ULGn{JLR*uc zI|0`Bk)MOA*4avj+;>vGQ{iqO1PzQTaLe zxbpMbi*#Scl4$@c`_%J>$&{o*|d zgl~BFdCG^RKtXt>;89ZkXQVV1FbQ>@`!z&_BcUH(Lf0W}!AF%5C&r}`I-~p&>;f@* zWdAvk%QXYFo`t0{QDqWJrJC08bgd8o`NO?3U?-l1mkXnjBefN4#j23y`D2wFp#AmI z)HR;+Tjl$5TDRt7dgdOOvxV0hP)b98w`mcSqF0tbliA=yg#SIhVkh7qwashSSpISc~@qPr3MC z`>gf_)+vQ%C$pmw9*ouNUC+XMRl46@V2yGYnpe8bp>Fcf>)tK7&1d;JiZm*f^i*?b zD(T6RK8o}-($h#!lLLd{!EQ;voOGh)k4h&!T@Hzb2d7B-Pe{)oJp-&%vtN_LNu2H=m}X}H6fi6O9PEj~|AA7q2GvjxhP%+9SPY(H zwixp3G8aM4Y~-#K>?*YY>`a3Jh=1<70}YaTN9 zlSwF)Yxx_zpUgI7mP{vO4;g#N;BW9AGLj`@EE$btG?KyJU{;lWw`Am#@dX)Qkip;J zFUUxdjC0Ab$*@7Cwq)95+VrlZqcwDUfi-x0fjM-$Ie5E&--cn~?0bwyjD1)TR;!s( zdW^Y0@;-`wAUu%159_Ly0zzN@++8ww49@rsv*uidd>#_?7_{APrnn z)H>(j?Y-Io^uBGYw*`9_v=b62>>X&ULETP)S|tK%o#<|h2LqlNt3%7AEkyy&acx(v zA!}=A($)HqvZq;qb=9F}elmv4aOWTdK$49mzchh><j-i`a*WZqFI*cAY*a1yAZ$C zV7P}n;N|LPK}n9Iu;;Kt>_wNMy%n0F!_qa}MI3wTHO@LCXucn*N3V&>d+RdJvPcYM zVq%)J4uj2{S_nlVV$-L!h#dL#hX))kv~E6(S-secxi(;8iuxQ5Y~(5nRUPV6q1gkk z^$n4FA$mDDKT~;bIgjf|C8>U+q+dsqF@7!bAgU~>ok_jC&onCyl1+vhw{@8p; zYPni0fCE^U;w-F0#rrXHLsz}nB`CRqjR>y?0h0gq`06%|)otA!)6ifHR^6%giz2*~ ze;OM#t{SWD(D3Z;?*3*$chRfo=Ag-j@*F9A^YK@(di}|Ea)bQ>ijf!-cCu`frDr)k zV4^Bkgt~EnGVja!-wVF@UWauisS`42CuhBa9QFQ0nH1R{Le9S*cQW4=0{nMV+~x!&9uUAgGwZhOdlE^aZb-*?k-8YCTm!@#|aX- zDeWBjcf>jA@-yL_EP-jSV8x2Lb49%wFM!>KUjl&LsDrEGj#XBjlb~@s^dv_zOne%^ zz!A7y#``rusa4WVWsSi&ktywW6?4H&=Q9O>8+;M?qwjF2Ix>)vGG8k>WE7CQc4c(8 z<~pNO8qZ`()W4zX`IMVQL^i^hr#t?|JpD2|K2J9v>=}8VJjWgr^|ejJ?5~YCVjiSw zgYkA|>QXki(k*tE(c+loIxV^-sCW${Kw?<1$p;-?oC$` z5OPz7n6zxWfi)kIt6?QtUtJx|6jr2jwH4e7r6q{V4H>z|M7oJ3MstN?5$2gBtxi|Cj#GYCJx z=>u_Bf2rczx^Fko9XcBC-^AneZ>RKcn)L4^)i-k*{hKa5>Vz_@`gd2fYyDLlWZfzG zzUKYQ{TTboVxvm>S5RrliWy47Sq$^lb2(c5mKd{GYwz%^%w4xDi$ zxy+{=r@?X3LFVAfZ5+=T?NeUkf;=*1wOmV8C93c$mV$<7eUyIQp;JTURd#yN~bOOPU zL=t2(_XFD}ndVO68-^UoQtoQLYkb%Gu8VXhPt$+w>Y#vy$9t{8_n)X+*E`ayD-e+H|kEQ7gR*ImsmAvc+l0$W%(R zE{obPg!N&*M?R$5Qx&Xvifo{e|Ba}WQwD+3S3&RPXQ?f+MEss~9Q;OKSf{bNiM{8R z7~Lk|-9LR2UM2qAy+O0lkI_BITC}W?2_iL)$q!~)RBoei_yf=U_vCxtCUBUqGT#zK*xnaacA7lnMSA9Nvb4)B=a|yR|-h z3Wv|9rQ_gmD)o-V;UjS5@5W(bxLkA`^!2G8CZccc(6D=PK#r?|wFBHB;wN{0%s~3Z>r*uigSKnytQF4fUmH0A=7A;<|1poOtWR1{hc|3^oyq@wI zvf$ zbZsqeFK0B%|3m}vvmf&p$*0sgi92}mygV|=w_qg3?#VgokPECPpQiGyWPfd8xyaHJZ#!+1n5-l{>-tiL=>t!1Uc1M-?s++BL1DD(5&>X9zH~j3&&L+EJV`a5=8(X>o1dhL>mUAF9Nbv& zEK=y7FN-Tr`DeV;chmA&B4HSu3*(H?YSeZC9=!(m=E$CEfu_{|T6@`Nu12H|5MqQWQ<=~)pXio6WB5c_v6rGRr^_3FUct(gBPwqUHA+rj@ zm6OfMr*I;s1Z_wTb;)=M|i!%h&D{O!Rhmw<{3-2u+XP8@LtMMU`Naj){cZmaKT?Hwx z6}m>{Zk7(cla2&uAtI3)0)q2=N}A81PsRANb9hzgM;)SRu=~nY$6jcTrmuG}E=H>Q>YNXOnS0c&C~LuoXzHG`O`N}h= ztFMH9SHH%78x(M+)xZd-&`oCR!IO25dN6D8)}8n=|6TpyfRL034n@0BF8Aa01LO?~ zzz}JS-=OZiOLhKO z1wnT{ayg#@e?bIzMC?ZI@2ej?pjf&ix3&vEKUP0@UacO5F(@I?Tt9fSbE1Cmgleue z{Q!CaTfe`4us5n7d>PjdTnx1p{UBZXmmt4*j_U`>@%|yf-i-E7>jytMRY>UHsUJ8* z?_wHShfa`oUY6799PcG)-pJ(GN~;hb+GqZZ6z=3OS-5ya70Ezms^S z6esbolGw{h?CT^xD2ZL2#B-hMb0zTv5~G6uhv*00R7V@^ooG!;{yXoRocA_*ATj-5 zHwvzFZwdKviSz%ae$Y|6`XA8`0x2@5&S_T1N$zHQ?@1aqU&-%(Tt8T#zoPVme}Dq5 z=?8yy>mH>si}Bg|ujmK(y%qMBv%k)odZUn(=m*x-vYck|Q;0ftbB@m(2`7&bdcs)& zJ>1-kU?N4e%S!rz=7W;~$iH1b(7uxKp?;O#e5gnOhB_oijkKi^ z;g`*|go|Q=Hd6^&>_MKFJ1xMEAwJ?CYCJeAS+L-H=?70r*STz(IDyO&EArk-lHm?& zNvu7lubCNPb8{`BbFA}+lyVi-5~7_yH|gK0AM89<4stWbZ`#L0N~m zevlJ+CMtiAS=atM^n-TC>Ic%lM$zj9Bb@au&#^Ar+k~fU`^KD{NKLeVT0dy(k&)e; zqsd1miKTpRv}6cKObC9CcsoR-ZM`x3j(7=bB07mFa?A)(B4Spw`QSME!J=dB2QrQv z8Hd1GC>i?!lgtjSvLBoo9R>P9PGtCh&wilhAMIQ*m$?1F>6%?}Vq8DSQIVmY{bgl8 z_)_p`oqfGPIo!|tD`bChd-Z&QJWtinXUp>h{oGlehx7b{^@G1-CvfzG>xD;0^@9P> zpM5#pTx9V;azsD)BjB`ioy0tcrJItN;Uso(5{o6V2`xyfw{xmrCy6^r{4x4L8`aSU zdnH^IXjMtrw)oe@Z$)35VT5iSaD|&k}$xYuxH@MGVqhwgV&q2_HLJ4)}?vmkq8vNQ;#8REYeN!;~Dz@295oG^3x)rsw`TelXxKsN|Oq z6-aDt!d@+3vJ3!U1x(qo2c6!>qFJ1)#$Z_N@yJj`J7cKp z?LWcS1bBK}(7_oJyl){Xm*ge%MCuX0|M}HCfJfTVK?jmu}Uh>uM%t}lpQNB<%hd3I8f>sFJ z0Eet=nVGEwQNiuxJsAtPN`$Z`lw{dkjvNt&aH<5-pT{NvwCmwP^*7ht0O_7%glPuY z-wRh0KLAb@iaYYt%#iHM{RY!+(7UhrM2J0|y)F;wZ}JBQaoYl3gJ0Q)x!=ZLR!FoF z(~fYmHrmfb9P=!Em;ppS=buG_rW%(7)M}E_{oZS`Jmvl6qs-FjupOC?bU`Kz*Olxu zp{NP=ff_kDQ6g$&ih4$;ubrfO~^(;Q8TEJ71OZ&ArbXebFyQeSwU;6CBbN# z>m9-!W3zESt!Z@iJYX{jjk2>-WlqKC!6>_%SX~zc&E;zNk;A0veK0)?isj3Xy`1}E1^{xZK^$#&PWGn*sLWcbne@E-1~)AC;0R2XLzcY|Hd%EtDf)j7gV@`gJyEfYO1`aPw8MB{hMVH}vue@32lqi3M+ zzfYd6IVdpr@5!@?vRLGM{{eaCH=9JI2!wA>Rl!%3W&w-8uDP#*NM5mG?+}u;?m(J$ z447Zmr>Xs!@v_lhd}Dyk9B4V{-3>Xd6%Nvkc<+$YDq)~-Xf%O`4hRj&NJ!Chvf9xx za5onnLrwtAq({jjQ?{_@WSP?=q2)uNQ2-)47Jwz>7C+OQrPSB#qTx_rWM$KEdK<+n- zLBLYNP0Tr4xx+aGT;o|N`_HB=%9{AI=zUq#%?A5p<_Kb;MSb9%&*po6!+EhAv93K> znV-6UK|ywgr@V%0Z%(Co`}b%e0gFoyYNTgII3JZ7^$J}F(nptWlnXSt7$-@owZ#ms z>?rE9wzCjAsA37NB&g5S3SlOkGY0zVnWW5Xax2FSnw>+V`OO;r6Ws`KKEY{J4pq{; zD>PO&IEJ>MVC1p3xX|RK*mP!RXV}?X#i#We3FF&`c%SHzQeEsYB9R?^EUzij#9NGh z#sB!P5xG}L&xV^=+j=7aEQoOzJZ-RsUnfxmEo+Mx;YxeULF>Ur_={RXd z-At@azNOBw?oL3bVnL@q_T66}gHE0>jHsy@N|kgp?JBz~GoKOJjs~)v2UlbhPjIlz zQaISvLjB=>Y4SXXXS*ASBPvUlIyB&@CH1H4hh_CS`k}V|5>ZwDg1+o0d?Gk1uTLq6 zG}za+6%owtf|qu5q}bn!7NGr2dhV9T273WX_Q{Bb=tuq;UqMQexxZ>hr>f2A-GNc5 zS_QY8d2Urhr+M#^a0T~bzFV_BuxbvJEN#ynq_-`N`q5T3xWf-ntcb*_nuB9g z4!zKebx$fyN>Xc!rkPjG+d>0PLI=}o_K!$uFCU_%muN{9 znda%ga!q7j6}@Z6XI4~iz4Mh0zt`VcMZ+trzUnY9V`?=PFu ze7uOj9Hr+rV_j+)|GE8l6n;fA#*zA*x=i0FYR~Y+ta`DPZ zas><1Co;RQBeUJ7gi=IiFS83#?i3v;kbm3v`ozB%yOE6V<@fhA|6aRq{oXpJIQG5B zxqIXd2y1`*#nO4_e3$AEhk&??#t2_>8+!^|8$?V(t@mHM^GH(yu+XEVJi%M9gM}Xu z-ro7u=eZv&d`a0O$$F_|pGO_hw73;a=!q51Gipe9U7{N`P-OvCRQp&lsCpw+BYPs! zMXjF@Jl^x%pfvu{`O8S0E_GhUO32gwF%Q|l<|EdLhSm8OAG(u_hsWcj?_Rk~pRch} zMv`bUkM8}6tvTai=vKQoh?p?*Adipwm(eULJ-$W0MI2*Jkw8Lqy&ge6&=W)iX2BaXF8l}s` zaUJvhfvJq_k$rPh@y0sG8kojo8jqR4g2!|oJ6HoVc+99+D?^Z>C*XT{P}j1}n@Is5 z1)kwSSCnm*63)ACw3;OGh$gzDy4y>eE)DB~JsaFfjh?DPEIB1-FrSTOwgV{-GNlD8^>{RxY3-b0XPq|eU zGq>hd);oTt++5GWrk-W{^R^|lTcg&sxIX{A+B3x1DHJ0$@adkCck4>5UPo58TLbIsey6ctIk~B^w zja_PQ)Vm<_GOe=o|3%-fJe%Z!(v)pE*!_KifrdyjgqrX5xK{h%MEw` zJvnK~&J+RKB?liA=GE`H`w_xxap2YV>yc_|4T%q};sT%9uwEfSGB|LigIA4Z=ez7r z;j&RQAam|c!|HJI2Z~O@SEkl`z?b-Z5+~cc4*vHrla(*?SUM-2dmCLzp%bMs<{@?b zH4^4M)xH#`q57RM{DfQ~ul}hWUaXH@ODX4lSgKvFp{M~2f#aUX=oVSQ% zAJu$BAnOq;b=Eac5pqc}Xujm|Vu%&uBVlB6D8#0tJg=(7^w3a#Dx7Vzju_mkL%Ng%y)qK2XW6hU)R@AK9vz>(1SvB9h|8~tcGj?UweD?l| znvbR2H+wcvtWp&_@_tp#kr|DWTZs`a^jm4V+Euefs_v2oH||+ovy0MO_PkwlfYJw~ zbmaZInvF9yrc#au59o4hY7XqFYFVxlh?P_Ux+-%G;SKgKZO4Ymq!kYS2Pb7)49LaJ zFV)_abBUH$=`qSSHySCA0kz1l(R3C5=6&dUB}-Cfs1)pVgEJ$~spnFXwH~12m@6S0 z!9|{HP2?K5&Uw!$&0;Wq9FDdis_t7`AnkC6Jx@c$mvS}$D(;2W0u}e?$4=w0I@#+a z`zD>;S!e%(cBFxwqMw92{Ew8lN|*SW6DOjVJ01cXmw1q*B5V)v2?VqQXB%uwp0QWZ0o*{5^Q z@3H!6v-VI;<@-xeQ9+lo!qfZ>oq1Dr)t%gjj3T-O zzM0grb-CqUf|UHc+X@WbTWSv6QpFwJoG_hp+~z0Id{mzrMW}_Lsn*W~aI*eL5a2F5DCp?r_|6VMfxS={qYG z-b*;~j-Gq7Mb5A)V4=2ja5$~qA{c8Mq167u50t?QbM4j|;??c5^s3Y*B$Txr_j_+#xSb=6U0)>z3$@Y2PPzbq_ zXHI2e=q+%tGSgpHOPr8BkcO5w+;<1|`pT+Z_B;#^Vj^*UTIl^OL~ynnvoj;}X+qWw zQ8=%MDXH(=Mus5$6#1UHENt*EXLzaOtEy+%ciu)Ig`++sfxl{73Y5(hm~R8~F(7q&{iJ`xRw@}7Zm`j0VK64 zFsB3Z)g?dUC7BlhzPcor7dJ0}dv!?{UQ&1g*sDQ0iEA@muu=+S0uvCzzkZ3wr!JW25SpWg# z1r83~UkvMjc>5Bw$6Yl1aQcM8BbA6fX|ZZz%D{ ziT?7St4@gCXBG*3FBGchS;+nzA$y*M?oSoE=UE6}74D+P?JHZ#Tx?WGxXx4YG1w(@ zkuGy_h)vqOwUIe&G^T^&I!Z+OEVaZ;lvm4npr13vUcAd_?Q?ljwAu7fi zoqerj|5ay?lk9Ce`vsl-fn?uDcATEIyi-cTNb{RFLC`eNx#tv@XG!6Q*QcpDXK4)&-No%aTw%{Ae>qJnUJRU|41E0rLOQGpVK zXe5pxjL}1{xE!n+9PZVQk81r|78)WCeOf;zx`@yP5#6*r++|EUpylC2Ef0Gk4-sx# zqw;Vfq%jbANW$X^@h3tW17RK{Xn8mh(io_#Xn8mh(ijLw*(&mIBBU`8dHBA_!-G5?F8>`Ef1$54+mxN);&B8c{u149#0QX zLmm#w5qVgonH0OnY~Mh%Mydw2!}sJp3e49>(xr$;9>H>4?0wj!gV2 z8JU180_3+M5I67H|kXYO%iqQ>t;x!CJ+jHYq;H^=*3A{W;dk1W6^WzwpG@U_Ur zvKMf?ITJ6Y^na?*KhMGdRN?O-7rz!sSQ!b4TwD=3cu@T) zxwtnf7vFgp;d53yC7Uim;vu>Qh~Vq+k&3Tbr-V})TC0e~(v3Fcmz7 zArXmo4_DVC(L@h3%I3;4LY&qOYraSVW71ym*!{c++64PONQthf6r?VRk)wL-k-2MSNev6?Flf#s|C0nCf+B8lhKuNmBASo<9=3Y z3Fi?TAr9kC?&rtH?PnUk!<)^+f{dQyqx%OMzWUPOXd6?^j3Q~G0Ck2^&x!)8aO4sWFev&Ph5qZHNQ?%x{B!0{&i5qZNV-EI zioT$~&zsF}l>V4i_ON1j03ANpyqrUaEy}q=vlG8{UW^(Yd}apGqHr^h-~>!py?DxsDl#S-;;r@RU&4pOhh z@+zd5sa|iFS0Tm6)oYo&-XEvGwo&@)+-W{vOki%Mz#vK&e`^6(hxYPSK5!kO=(9(q zVLjyVzywXy4Da?>({#0-*l}vn%C+rwUTwM5xUktRjsFWtzunkLGxN|q}DrYp}m&;*#R~* zsqN8aSGYrL@+$7RY&hV32z&ODmsR7JoT?h{H-I0zfj%TO7OiiMatEw?6@DnQZDa=% z;pnMq{mO=uzB^uDms-9yG{&%Q%eNmu4%O!O2FI}L6BqPLxfUFiyTJ~TgA0^wx^RWZ zW{JWvoKjrnw5!`PRut?);_D6B>3zqzJhnf4>qt}Hm+@BXUrp$-)*mny6r#(=^Z~td za1lw4exWyVeIqbXv36dk0$ib1vv+v}qqAHhDN#}j%eRY5<=y#7IBUx3f_?TIuyB6) zx>~54T*Fsw|CK}n?$mctdW9-ToJ9K~I_eaplx(8C<2P@~9?o!^jWW8ks^wY0x;392 z+R#Ghivb#sw^F~D*;}!Y*{j#HHx{Xlb|%8x&I1<|e?TcLWF}+dSKB9%i)3iDs%eB1b8^?Lj)xA5K2<0rAT@vl@pmxBK%cLL zcHWx!_+MIe%=n)m$r-=K*JEZMxs_=j`cy;UFAfF_)fjM-nvVwiHR0!G16^{*A@DSb zg36WE+YW%fv1yK>v2!Vnioc@#20O1nmt}9&X$Jt+>-n!aSW=iTJ8L-ER)+4=U#&T? zz5s9ed_F@yj|tW87kXxYdWlyCy_`Jkoqy>DQh_6qM$M60Gi7_=SeOmIn3UYoNzpG#F@H?l~*7;ouvl8pC=6Ac} z{O)-DZGdCYUsy@Y{;nhE$Mv^Qw7*WP$LVj~vHfMrqxh#rpoNNZLsxDV*XCP46UVWD zJsK{hk&HQwB3U=pn+vld_=Pa@U-CITg7f7dfcdF- z%zu&4~TuAq5^F-Zd zqJGhtoF9k3chgU$UpTF{j=vR%yJ5+OhqeOwNz%?^{cq{yMF; z-rtviM~nVGLDF~h_g(lS@a=GHe?`9jxc;6I?XS~n>;0WfK5F`3V{x*yE z4sLf7yS>Yfz}Rlf*}-T~vc++`Dd0#~${SJceUgk?E9U9&QKfb%g;eXN(WMpMFFCQ} z4x!tTIKAQI&T0$zXg#zFJv7L!cZIqb^}uZr`qQZTqgB%CZC7^tfL{6Wnv3;n*DWh? z2BOdQ?XM>&WYRG>e?&QDjudSdJ8;pYNJe}9xNfx;(Cg+xhgP92`G+@x#U zFsUv%Pj~I>U#PCR=%M`<(@u7^WOvuu@9XTDlKl^z{TIp3*4Z!V?17RU7Nm)5oDP1i zh>T>h6dSKzuk|O%!LLz13B`<1;nH{|<>h4Fdv+y@2uAH=4f+y~IPHY4DI|CSBbOmx zqyccgGx8^1QzI82%=pNsa!6*(@YoWRfqjU*bIAzZ^Fu#Z<8IFY?Dvq1WWOfa!*upX zI{WNNWWPvu!uq0y`E4Z?18dD>axtbn|Ml#WPf83eeHRz0_ z6STgTCvQ#Y7Cpd$el^@Hd`jQ&D}821z$#lrJ-aU$!hCmbHtGb;D{f+7aPMN>TvDP3 z*ECg)y#r&kKY-Pc{k&w~sk1lh?Cv*^y;x`eQnF|1>?)o8fYg3OXHS>xnL7Ikojp#n z?-D*1v$tt|$7jajW4_}+=op_t`wFJCys~(fp#J}$KI8jTVA`JNYJ6U3R>4itz}*fs z(Dqb-Q{`z`K`%e>5wT}m0U{gVAFoo(vuTcwGKWXJ6lg8CyBTx8u|VAeQLIYu$J zb6;)F6dr+*YsmO;MvX#8S&9WZo{9=VIE^pX#h5pMO2!gp;Lv`Pw}|s3`<8YC7KU#_ zCLopISBX4AjgKnF40JfA;U)jj1AT0Yg4Gy-!z@IgJ%IV6Ob;pZf-W;#m${E0djw_3 z?jYI!)Y;eQ?3LG%eF@nydXx1^x)O%s1sdvaBr8`3=!{zdv(v1f`OP}D!U~ux>@)P3 zPB}h-q^qUK-PlK$tk7THHd%Fk7eDr^$k7Cjrtnu^9(2siX!$(bn6xoyR!1$0<~Kws zaI>;Ax8N)MQQR@y%*e*INTI5s7E#ksSOezuS#T^uQjFok%HGX;4Ks@^sMvN!y!Fza zvpLb3kTum4SUQ(%)&n_R4D~V3h(D*}0&kAEpPzJI z|G{qtzb~c}qBv9Xvv|m&fc)l233(7mo=RI%l6MI;F-cA{P6}lAP|H-g0!?sRl!@h% zmlKyDgh!t=B0F2MRz<-tE5sG31qbl0$B6`IdbaWNGsTZ5pU4>ayP_I7r{F?)xO(AM zAH7&i{5+YZFR*AXIjm=?7y*OHru{X{Qb1G+ytFg4oUM^!C$dySfe7ki<3${Grx>j~ zCE0Ct_D^;8T{n{5R%g$b>=d2t(b)mX-T_~w_EgDs>+D7tJ$*P!vg>rVU$T>R_8Oht zDBu38&OT4F+vw~UboNrozE5YLDA_KZ{cD~5pk&{yv%kQixunS%zs{aFf$V_Jen+y8 z>g~%=Lx-n&|=H*fmHVF7X_WT+b$KPk{j;8 z7lZ5R_{{`OBo02WS@HRg%TmQAvgOONB43n3V&FadT(}o< zY^cbwA!sr@_b=r8i{XB-x{Nwnt~5DV^Q1L^@ka!#W-Ues$`=7dOTUphk1_2UsDD?BM?# zX;Q3|bF<2M4-MB|EQ>d5k?0=<=6MnjT#Wuc_BeWv8t-mOQDuIS-)*xqT$v9Q%rzta~K;X`Ow8&Mp$scNy7nj;-a7-0*6C0N+-Ma%<*0 z`+pqmQg)VEdwC1fIJLxc*_;gaMSsPUMm|T$oXq`2h$tnF6#9XNraRjzOlO$xxYW|3 z>W=5tteh#W#8w#^HJiun(8@=mc(T~}TT-WodH1yn3MN1H)r%DrZjtP2ojpNk?-VHX z(%C`DUZ%7A>Fk#!yR**zsbnwJ*=OnO3d!F4FJxa80#NH)#Q*qC_|1Toh_>F40Ke)O z{C*#UUq}=0ZE`o2xg`d=)tr8JtybV%v;X*jynv%X(D+$D0+1JBC|$BmkM$x%2k4Y9 z666HN3bvgr*`Mm{lXdpv0_S?Wf}W4I+Vcj2?aG-wNBQ^cdg%HIAQL?GMm&{9L@YP zo<*tky!;KRBBG%}gC%UhEE)s2x+Z|jK7ol6TD)F3O>B*?iOx#d{ztVV{u9RFTPz1q z8M|8zsBY zGF(U$4kwm?pMebmy>&8pgy>W13k^7S+rQ`0=f$b>cjWo@xwG-nYznbFi0!Sbb%Vrx zXas_Y-pj3IZ(&l1t0X_Quc5XTOfsxjMVjdYmAQ|~N%)skg6Fx6x_DEO5}^(&%y@oT3dQ-EmRZ9t+>Lt>sP-S6ntKw_*0_(_soptEn# z*;g|?_GLQzYixE)2I%YoI$LJcK7;HQ^O10iX4w~09hm-%4MPccWPZRcrdaaqt^d$4 z?Wi&u?5kj*EDpumGKfd4EuM;PYy$5~RuJWMWA)VNY7c?tV`qrsg;ohJ_t$1ZfL%xu zY0-<{41R|bb}~!J3m#a}pdRo*w332s!@f~{-6~8fZtwH9^_2gEFF_Fax|RD_1eERP zVGL{3vi-@Pij`y<@my-t<~xSkJ@MMF9n zIVx01K&}*V;e6O*m=V5ZP@5@>{Mrr0Usltm`tiHc-97!TPwa;nEKab6M+4q3LmxAQ zOjohQyDR2Y9iG{St5 zW5^utskng57Sp2uc!7c>0Q?M1CJI1YG&BG?^pk^QcL4_`z8ivt#1&h308BVO2o>lG z=w25GeuWh)N^W!X%mM*mArSN@K#)aP9D+lE;J`Mm!f*87TZbRABdqh2w<4|o$C8-z4k|oF@PWC+K$g|{s zj+3$sJcmSCJV0Y0U;zP{y2$apYsl)t+ErbX6EL@70(iT?B?+E8ZK70f-Rv^ zGO`pJN!PLjjdC=mNG#RJMfACVjNt+6H}bJU8OWI=vT*H%8$XWx;oF6v)PREFac)k+ zFFcG_w$$okFgSD_=ztAj8L~Rigua-!mzGKl#cvBMno2JAPg>!(ek-5whu!xDToJ={ z5U+kq+27N-4w8GcU7K)!&gT~Gs!)BQ>wr2V*x>UvhF&jYyE%}2BU9OMK8LuV) z#!DCUux7}x#?wK#a-R{xm47Fk(n|U4x5|O>B+@ij4tGAAXYIiF7@C89Gqg#q;-OM& z61D2Zmw4kydA&hi#ewk^^*T{r|K|8(B2Thly*?~E*6V7@)M@-Le!~Zm8jaD3Y{oSs z{ZO1~?;-fUZ*e8 z!x`xzK1|E~RLdXGG7{$uUXV!_@{=Hw{>tLeE{3F{>s4+4@xvC)^~!fjPIYKC1|#Hq z>a6j+FE;aa`*p|mXt1lTu0n0H|K=oJLXvNv&`VS3v=#=B`1%FeAevsGHN|a~XRnqv zO%ZT}AoN=^vrvXIxvhP4Dw!XVX_&8NFXmUSRW!^Ovn$oJ1W7I^!c-D#S^}TUitMr`L!!3yvVa~B*}(#ziKKtsX936V8Hsjo=n}j z=yw9)E_V==7xJy+w%t0zMLg8|v!9^{0jf){4D&(tO90rQlz={vdAlgxDB&R}CF3w$ zALMa@=EdyCc%ii_;7jqULayOr$PY^@!i=kO)!pl0(sJSu1{kgMD!|!pHENHs!7v}y zEiyqIpY-@Q6qu_y6x^n4^I^Gxmb05Qc)$M4dJgEcks8nQj)&??{LteO*;B*AU1gPR z_|8g7FCdj+luBmRRw@KUR_r2|Ku?=_M{@f(a757!Qik`QL&9z}se9UMqWW=xUAmFdlO1>^k zE|5i=5d1Z)at#LSK?Ne>rJ{@n&VNw>DscX5YElBON>07Y_r0s7hJeBI&{C3BT9xOa z%G9Nv@~&cj4EqQ$RBMEZR`hEL8RYqOW&71-uc;BYqf+^5?*FF#kZ?gtQr_C=d8UKu z?xN}^?>sv#lk*(uIC|cBw!3G#;o4BM{}h4;jB%fejnLhRL+|MU!VbM#(C0xlJH;~v zHbqKV0A_%P$1$RT0#hD4xqC{{QodLcki;?ZqQm1wua6g%Su8nQisr|Q_Kp`doTABp zR`h2iYeY7ZUsG5aNY;2*;B|=Sfrrr&BIh9=;M)OY1am%up{sMxjMY8A=HQq%xX~D{ z-SBeGRdU*j`=~?P>VFTcg^aeVWjltmw{jjUuuW7exiz-w~A%D2b6#>@{i6vh&Bs{xAlIR0d<@Nd@;l5lJGdp_> z5A5X-Hd#8tzS(Rs&E1lnACn(}@VG2tWaesv>wUvhvx2!>g1P$*2t{UybC8~2FAI2g z`uHhmPY|TBayC-lxB;7=n!@(=1?9w;-3F~VRKdabb-WekeK=)N_2aYBGftO(yPQ`2 zDEBpPZZ-I4#{(b9hV@Ii1{@)lbejtspbqMLh$=oXpCc>G9q+nVfsV1=WEX-8Z7<07F1VvM0+^Rw;WnvYCCwdm{;9rS7 zuE~jyOvu*cM1=|2*T+f=!gv%0ao$_!m&qDctG}1Fb zUj?ecaF4Ej*M|Y>&ATfdwxNe2@eyPU=x-(Cr9#&Cu8>ngfLu^5p+Xn+g+uBK9rPE} z=~Qq4K^KZO4APCzu91EPOeDK~|c_VwW4sQwY|{3Op>`|5_+x4(Qs=|ev$lv>-U zrL?aZs*(Nj`bvUs6xCO>essyqbHvyGRm@UL&cWFVgZ%l@I2VxcV<-Pv*%w4#+K{L( z-Hj0-p-r)0X#GdWaMhb%^S-EL%mvm>?m~$>FNcp&kCcPLdV;1aqtsjW^XTMam6$Bc zQ}K&$vj5;DT}6^_UtyBchE8sw4aqp9@S?w=_z-E_?X%{J!t)~EB>pLii(j8QS*0Fj zQCzW=N0_M;LC1bpmexV*Ss{y{^)LAm^+8C%&lREp$DBdZW0ECNQyoPrs%3~qKN;98sJI0^?G zwLjccb6E0D3A%Ptvacu(5?OlIuyBUD&?+n3KSdIzlF+e$BE`aoMV?2CUOy~6LX-j) zQsMq>rR*5Ww&T4^w8(H0+DZwO$^CxUr&7qEns8bnJo-^eza%+702jrU~VLsyE|~cRwtr-@L+3v@BoRmh3yY1KKLPw2R53o12NgerFV-BMa6Eq4=QY(`PkFxLYkD+_>6|QdFI;YdW^KZscoXQ7ISN2%-M6@<&F3a~Jz^z7_n&%!NKkOoC3NO!BY^W#N@Axgst9M8g+De6f7 zE|(7zA*JiUaGaKNV#WJ<7S4BCRy<8OPB7f}EXAVgg+;kf)t}*6f1!5?XKK{-5?ZhQ zj^bTPa-}#S&cD03Pi!oXR%0YI^8`__5Gfp z$@J0vQomAoR))6LKL|%^kCk(YS97FCU~F)tcLu?cru|8o0e51&TXLDs{@?7q4SZD9 zwfCP%28b3qK~ZC?ZQ7=7Y^{c>EhE@wbcRlF22nvH3R0t9+G<55ib`TM8RhhNFm1Ir zR%xTwTWoEiEwm{@ZxRv+FDl|2z9TA5z?b+2;YIj=e|w)vCJ?;#-v0m3^Z7rIAIY4v z*WUY_vtQO;zqQt0`+7@WE%I5Gyhh~FmVCY?cZz(1B|ju`sU?rG!{}rC z@y{uK(kJ4d6CU`#{1X=Ve=z?%?|;BQ&--Wjrz!Bs_@|%slk!hL`#;S;DfiFt&+P1< zfPeO8|9^#lo)WpWc<_5 z`ic0b#K02RAZ7kp`BO#y3HdWS`zPR^z1jbj{L{*uRs@|Iym>(R^9(rBJj;=e9Bo)! z@)S7IyLT84xCKkcl3!W!PFNotaGc2NEqRT|zqaJ(EjcdoUo80{k?*kNrI!4IlOW$= z$)3nRx8!-2Ts;PI736{W=V+DqyDjk}TjDx?(x;gc`}5CF-TjI9r(}Eg!XQ@5RGUz= z^8vxlv2T<+PhqJ_e~8{e(EV0u8KcFB{a`xsvNESxS$x9;LA(Lg_fR=r3I?5HPzIhC zS$Hl2@cgft_;X3dCOF+#*>qToETVTsF$XA&7O*x(IO#Wf1W*eit?4}PjNFI-`4wz7 znT_4fJJF*;(DkNVH0raxGdLb-COZ3T2c6-acm%L{P}~a|T|UVZylX+kR*9cU7D7fH z8Ii_bdd385zrebv^N^3)Uq`uEUt9|XHU9BFo=(eHIh}kwb5`6aAVK`fP#$tw`J^G zac>+!VLRhqya<$y{(W`m=dF?a)uH;UK*9iReFi}LV(vz+x|Ddb1w#qsR#h0y7oa|` zMOyZQ71=F%unnn~z_R#kbo6aLpx!}w6mJDV>~^;m*K)_%8Z8|=hX=#TWD)d}nM~i7 zEn-Gi4!R*US4}R$bZNsz>I!{fZzZ%^Xs&UvgAnh{f{HLJ%fybTB`~V`?~XHb&F2%&<0@B}$x7IKbLl^s;PHvTrbJ*vBJdKb z8YabL#D}TYcqfK0&~!sWZw2C3WA*sZ>ie6^**p~64l$1NB#N# zEyG+MAEo)4vy2{@7o6d<%wnp+N0%53CYjC--b!g6oo(I`wgL9*9Aq!sFFY_BJ9{={1OX>6IyOSS|%-ml=e zl(wpOIyOyyzT?%3RZRPMU=I!*9q&(mR+fyy2xiTex(+zZ`;qXQRrB;PA}`8|1w~zy zBbi2EpqItHf16mo!sE8y&+u{4S}pmi?XUB{X@<}1>aP=SGsEXHkxMLjj3wVD@(4># ziu?sjKH8FhEAoe~a1M2#1L5sLiIm4V*yP+=JrrZn`hjq1z5hL?)dz=S^0sed(O}V zQ{TOQDEjT7J9PvzRp6e*z(D;SO6gRNNO)%`)xbq~W-%hlzv+sl zA(Z-#9_Ch*X!0i9iXxRMAb|xMQ>Ps3IF&;lZ$VjEdl)>%Swf!BcGBOa0ksl!JU=-d z>&|_vz4eD*dnMsED_!HT*F{PfMaq@%X4VBeUOD%9c@J@Z+hxT?c!^!wK(OcI34nbZ z6GK8k&PtxF=i#uYunq_^qZx^7ddFw~@wkrh__olAJ&XowPB$hTT>7az- zjK5d)#|YYASxO7y#(fGuyI_?g#x)9eqN5m`c%fk{$E``nrg0}%DO%}lJ5u9W%vP5cFlJBtO?}>bwC0`=)m6lv($w!Ht zwB)fO&#>fkEcpWsy5lVQt0GUcKc0c|&ko{~Uo!2|kj~XOii3HBJ62eeDA))#&Keg=gl`KnH zsQx9%<9I?But#COC|qm5LN(WQHz;+Yxl-EKxnkEsOwwe8&Kr7HWcyyc2sZF&cw~ZI z4|p3G4$Cb)`h1qazEA=?fz370*rlq`p3rE=%UgCf)giAqzzKs9TN#War@V3{v2>G2 zL>lKlUzJ6wZgUT3pB6FJ;}GDe4El1$RFU(ZHy-;L;=A=RvU0L@E#frwq&M?04uH$! zrPrz)0zGw@S%q()Hx`rI7;AE~mOpQ79^(2!o7K4EjPk|?dD=|9g&te#jUB|#jLiKs zZ|q?1FU#Cl$W@j)UZ4)R{Gk&6Tg$O2jPdR6eEf{-7#lRxr5E^ z`6NfQJ00;#UYZx5PJZKeJ3$vnBrEkwC5FFCWGK@VD@iyTFs8)wFPR1oCkFzZ#*o6i`V<~I8I=49tn8}#N=FW1aeapjfR zZR%2+_<3d)&#dA2Bij~!hS|lldZ{yNP7)T7bI75FJkDI0_nldMSV< z;K&HpESbyJ@hIF_5`jI@u$>X1l#Z!}ZB92{r(&Dn#EHcd;FyU}s?ZYS0erDGP#ChP zM_GRQ^a1T_>XVVH65h}gz;nVEapy5f6hTMeA`yP3s;f&Oo8h`|p-fn^%yO$!zGk?U zcP!lMuzJIF9~F72C4bJ6&k}iCogps}`OlWT_ZU-p@HZeoW62F7|H+a!TJke0-E7HM zioDR0TP=CB*y>%De3r-yEcrf5o}<#&Tk;7a&$r|{OCB%s`IbCF z0!6wLxRXCoj^6OOyc}nTcP-uv=LUQ|gE%k127Sh6JQc3Zh56x)Ftd1?cP+XM&J6M0 z2jSJyt90xx8TN{_`99MlJAOXG`8_31P%NQ(M6BhFQFq&;cxFIS@GBAtpm3a^h7kQl!$CLH``zbx^Z?^(0Q>*fRVbfeO5o$I#paE6@RMF{3hl2Sar-l*f%!+>o6~&eQG<}yEBYDNsW;NI zfZkG*oCdAeN$T+Zw6C>#Ux|v-Q{o?hqZl(VpXtC_vr0@!LG?j4FNk@N3g=jowEGQ` zZiayXG?MN$hI7nA^BQ#??YO>R(3PJdVDt3_!+rqwgn{7ilyIIyJL>FU(j6<0C&?)A z3>d*lJ!I-=Id^Zzi`Tp+nWMrx165+t^c1nZ9 zk#4Twa^xyuHR(r>LLGWZq12%rZ?<*v=51|(jt^hn(DBjM){YM*KHBloJMBn7Dh^@J#*j)?hxX}ElD|bqqhLe?LU0lzWEP*>!fYM()gw9hFYqjehytA;c>KC+ z5AE2}wr-GUpF)w}{_2(EI*UvZqlp|o6g?}AhWoBxl~}{DjfDrUrahcp4L;?lLH%k* zgy!1N>PVNW=B|&arn+A>W!cpfgytUPzs)FBbJoXH^R0f>jLNQNXlQO5eP?7=^Zg%F z%{!yAKdLmln*5p@RYj4i=se=U?eb8+DvGkJ2-b{I73k&)hNV8HiXZf=!m5pF+6*h~ zP6W0m1L^PunsPS{D8TjZ?_%h2aN)uJeS%Z-;P^l3m~{+G&haa+{Zz-!wv~h0UmZE_ zF$u6k=On!EBirq$dTQ%WVT|>l-z7&|HgqvO4LIHSMcB}o>kVVPMC8v|a?FzN6!~aN z9xL()Oa6)_fA+JG_grU6e^ul|EqRC~zwrggFGJ1}t_JikmCk3$w`|!ppEob|EI;Y{ zDLasSHM)PD1M|n5-fUu=e2jcG3G^)%`HAGKIFS7ROZjR#8rOe?d_^_?f0M7y{h!EJ z=Vm0Qj2UV``KmY9f#s{LEFU9ZW#u}Me3g~uK=M^qmIKLGewGYV`4`Do=ME%aeFU6a za=M+ZM;~Qo>zSZ|^oLc35xgXF!jkvEAmB3NMSj|n|5IcRnwKo}vL!!xIOM-sa+Amr zOK!2`rlTP@LO!5;b-D^&Yzw)z&|UnbD@~#O<*U1Y+>a*>%s=|%tACdqlu@nu@>L;V zSj^)BXrDyB%AdWDe02f-=2_tEL#~mpF0k^|ucU%V`rECNQsnL{Uu`(|HKeJGShWsG z%7|51i8l`dKdqI#!{YFbHw%!fc9$I82z!=Xg7^2gGCVq&HmK%P*3GW3xl4HHKZVcQ=%J*>a27aEql$_W{c- ze5P@EFR!>4^^LSR;IV{LT&z=Usc9BKtONED@n+@4oVJJ;4@61E!xh8b zS`#c?vx`f~i2CL^m;owpxPUkeum=(#?u}eH$O~~QklqDdH~JI`7}d-)^epU@n_YZC zIr;bn#c4mD)xe zhh{diS>q8uk38u7Jb0pH<+&g<_d!38HhlPb06$rIDnfH*eaP^YF*YC5cXYpO$4WUv z(?U2CicGx)*@C{ULC*3QEx4mEsXh-87^UvBuq2$APo@*+zPihP?T ze~1cY$*(N=PD}pDry*Z%$xn+s&yugPUp#|##>%yI( zGg`xK)vbh{+`c|i_YNbPhXmHey>GlUeK2OKs0O(W@rfo!)3I=z7hJ~BL~IBan|W03 z#)=qWBa+TWw%o7C?DZ!gs@W-QhWd%c365T6Z+#%{UGQx}PjFs|G>L=D>sACgNIIB) zn@ttIrg*|D7TpFnbql3`9hNWJy?;osYxV5{n*+E`5!yb*VgB9O?8qPROpJdQoX zd*a^2BZF}-7{)E4cReb=#&lfE^(UdN1RNYUXeSK*+Oa0~MR;A+%jGgpW0b}|Ick63 z2nOO0!MRJiY=@50bGF%! z86;aK8pfe2VorYh8K0Y;!fHaP=UBrc&1)%T_G7-w0E;xQ(d~b^AML;jEbmZ!iAT+XBH)#s@jCJYyuhN z(lK`(lSYAZI{D>b?vVGNTy$(a_xYH2$zD0;$X6(|U_*RmY8quUf;)B#)Mnl6m_fa;I&Ta4r*+0(z?nd z8?FA)M$agBjSmRs!FXVeIY0e5SU;LRPoE@&-xmUrARxut#6j=!(#xPExB&PEYoKXe|{9?}9vz`OTu` zLaVt<>G}QA^OQbO=|lUa2bDfX=>`4L2PqvEbwS>Uy0*c6q)7OwnqhI6W?{#B=gAo_ zKblw7naHbdrdL{G92R@K4y}*7Q|8pg=Ht*ZrOA!W=eCy1#&E15l=_OH&(k=qGXsiT z^VH?8xr@8=G{#BOs0^Fo9ZEgo>-%nM-$>h>ADL{AK_P%`xpz^Ijx3AP4bM;Q=-5@U zg3j3(x}}oh2`5!xe!N1}=`1Va$5~urZajrriaK|W;-_QR@IRF4mvFa}rfc>NI*!Fn z(}dAyNKx11WDu&HCX(Xtc9U~rZeEUSD|O8i60Uh3UUYi8vh{R5$!Gg~m@^KFBrWVH zY2yX+$&zq9<>UqRp3Y*uX58`gp1h!W9xv#>sF!)shyKmHXzEM6C{yH-K<^9NEWEfW z!mIM~s)d(Vo#w?gXkGgx*F2WD)=Ti#dL@nLuCLSVu;B9ti{~C(pm9CubK?!;KK)aD zjC(TImT^DJqMH6qrD5E)!&It(Qd>Fcn*I?#?Po839_7Q5GgYm3(yoIIe?Ew+(obAG zFn>OOe|z2BY_}lh{b#=S!uUx47 z@zP(Pfj53+VrI+zMmUH&nZs|{O>LOT_NaR;4v;tE2)C$szDau29XA4w&GzmzW72rU zO)h|87s)}+xy_j3aGAqxu7EthF?lX6l)D@*3DiKA*GP=JXW%?nQxe63JIf}^8J#Du z<1T?Wop!=^avfz?wW_VpQj64NAyM<0cw)(Fdr659Zr4n?NCcZ-65A8N&Xq(zi_a=4IdxsOuExb zl5QD0}3pvO+~PVa!?AC;2Dt)Wlx!*l8HgIp$o!>yO>OAx6}eNZlJ7-Fr-nlD&baP_aIT zil4wmDM5;y!}ydIlGa3tGrnMD^q5^MZLB1by&Lw@`TFK4xKiTg%y?xhLELl+;{4v; z)-+LJh+sg-8!u?hb?m*TfZnl|UuQ$zt39m2r+OnsQqb61U;MAn4@3*^Oqu3spj-f4RAG`t9YaJ=Bh8AX3}#>ujrRP!KBM2BHk~( z%%lfNFYT9JV$uhZKBHfHp-CT1`fj~Y?{o8&tI~G26mf-m$wno5V{v!eI7IhaQ1Nl2 ze+WfIFK8ASm%2eJjMI<==^{Q@P9OS@%O-PSF6BU^|Ja8T&%uIJ@h4d^fYDd^ac4cTPBU;0+1VDNso$)UOw#@Nh$LJcm73$Hs@?kH3uG9BTvE)} zjE)zCZdF|Qa_cWIbwV+(XxUoAM(LIq_@>hI8AKdBIqs~EiE#)thK$_OQ*bh}A?KfN zsg2jAYujIq6;5s-nt!setN}ZA!Szl2nbD;5vla%Zu<=DhTxf_bBDRP)Zk-`MWr*tx zaifSERpb$+&giDvSmCMN5QkUrr0OFpc+#e1V+RQnctrJ)6IAW+I5k!u8CNY?A}WiH zdLd+l_gHv)Xs&n@zKjk048G=KeP=C~@c@xf+A?t}T8Y4f{;Ocb;P&NM|8om?iOUNU zgZbT5Wu6=ytfxgukz^dl$8R0ARCO?A^nmakhHr)HwLeAA(CCoXB+%Y=-h;km%<4Fu zriz0GI zWZpC?M;?xy{6@pL_VOD_or&PaOwnpyXSqipurxDs#Y`ZIQ;?|HN_&elg;ED8^5)Fq z859!J3j}O*K;A^RP%a}ytcAVKwG%Pw{>FTsJ1alp?1Ee~^qk$Ewp%EJCt^Vyg zZsV2P;(3cQl1fWx0qY3K$;uWs9jJ^(LcCF>LJM%4>!tOIUEZ;rC-S(sS+laT7zA3? zW_tOA7c4b9AHK$o)ZlQfxYLb^>;?Y4$-gJ%&x5;itT3)wn}&65sU_)pxC$JmLF{Li z7}r&>pQ`3{CZ|{n?9Ak_*P!gG=Cnx=uPG4UsVao;D4l?X1@VnyTyQLt&JXDu6XBMs z+Kx9Xp6Yn5;st)65c^R1iuE1oL)tph73?xQyscvkzgs4+j)otr`D%G(tB(_59JjD( z&_)OB*g3gHJBq?9Z`=&%d0e}M#0Dm@9z0tfcrg~<9ZJ26kQb?I3q;{W8e*Z;=Y-() zJ55Cj|E?LpCrO+eKd@ua4j~guH-Q8h@uH)9hi;VIIw26RPhxs=LtgSwr)lL^6H@Wn`RYUOfa@O{4a;WdGDPi*Q)#Bx@h~$>soOzUsLs5#GwIR z>DkscBvikMH;OuI*u!_1RFgpraKnS2i+JY+!q0`~8rFy)xgRw*{9FwO4-G)cgL2V; zlpvJ&fRsT{j)MZf!y&ETn?%E_YYt6TuA&(n_RbgZIrpNi`E=dhKxpnX`X^brCgME7 zx3QynYaVeCjeJb}#6igbqxl}QUXX#=hKx)jBmTcQ-aGLR>WirNqX7C@d+j`A=7=Jf zX8*-!Et9NC$DGzW!fSuswfyc@N+tpbcL=0e7T51Gj%H)*?wyBsHhl+_* zVRG3rOU;r*Mh^C{Ts@OZ<1SP4QZt{)h48=B%JhC+;sJfR8o49aVC53W$<$S5bH%;H zr-SBI?SdC`-e4&HJ@TKBVQ;sYRagu{gDxI;Hx8T9CyAsa#FKAj(xr+tG2emI}pdVBqo>FYQj*V4|u#X5dj1-9*zE5E}1D|7zZAA?2`cG4dK1-jY zkw2JmRS`T~TwyR#9-B!H&FxYX`QNTgF~uPBbH#ELL(*hx^RrDeb=ptw*y&fPm0UGy zFyMsfXPv;EzN>;?tW*WP*^l(IH$kYmOb?&qXI0~wY>EP@trMzsma@f^thTSil z#)YJfMMmb)gUd46^g-sKqE07O%&|Q1Zh7FnXn1cZbs>|iYa5F;%Kw)RLYWgsaey-C zxE;AtwqN~0ZjLl+d1s@ja@d!2Vg^6{2@ zwa7y(xkcpPSaN|S-y?FGPv_b9ihRE%zq{SM+EpU2vgDgZzR!}^TXJ0F-&t~{$oE?E zUo3ekJ&<-SIV$q6Ecp&ge(*iWms#?cMg9*n>If7_Cu6FCGq%a)SyXH+cjH3?5!AdOL_$~UU8Yn{;1nYfoXy_wHo<5Y*Jdkq@5 zWz*^9h&)aIH>Ghjd5kcA}H}yso4`AHqd6{8H%l1Q(b7N3>oFbDWf&dOM` zew@@SQ*pB1NPn-B6tDDcG!o>=*Px%cH9Wbg3bJF*abrvC(gBP%*nOk!q(x?z?p$T8 zjLpHyqt;&;Yq3RR^H;_?b!p|Xs5@mTXFAlNg~3)(nQVzyVoz|Zn$QOXTN{N~uZeOhW`*PdBc;LGVJ5Q@6eepW{P#DNpSlCxmx6QV_a1 zNkhkPYS&;rKg%LJi}a_{y*3ziFU;rqRk|Am=&ZpMb*tyZ-3!@* zd@dTIc_mcs7_$dTf4zr<$X`q8GG*zhUi7njK?l2>_l%|5nY5H)HGTuaWN`r)!mX-} zIBaM(mK1j97dpm->!gm-`#Q@C_>t0KJioN;_6?XP(NQv1n;p}=@yZoo5#pg-GKW!8 zs8Ru`C09i1Hg8N+UcQjQ)fjas)W+Klg^rFF^J9>!m8J>Rp-!sDG*zqVMkm$HUBnwJ zc;qb0SET|;m@`)z4T6dQnFg;+X)5V1%i?H9Si(uioEKxx`vmoNWA&1Z!vI7ErTMbT zJ5_RJ>crmirM*`d`&UNIm6A=xO_?@M?dG-YtZ-5}CVdotos=vq{*X5FfTzSsV*Khu z81rcroU}+PJe?TnF1976kts8}UDMX_$~*N+fo>FFdFI*dDg2%rYYucf8ssUxCKOdj z%Qm>C;ba)CG>vKAIW{L6zIsj!JSAgNF zk6vXGT9hzh9e?5*`BT=d(=}4j@Ra7z?Y{=1C}K0MgcUIo{>b_r)Wuo?@I7no4OGt$ zXbQI^F#9rxL$(i=sSEu{8(5~sbUo9P%QPSZo@xALws$lR%tSv`z2|8dy2~_z>r&H| z*;9;2LX-?8-Ay=%eD_UBO7*jzH*EZ7z3V*9(@- zpbXl4r@EFiZd;k9xS23}t<9mj!Ky2~3UWCpdo5RS%i-YWGQ2Y6{YFBI%Md_qf$lo$ z?5NxLd2|K|bstb`+y$eU#qaj& z+JyTT4G|`nHMK5Sfx_UJl}?Xaz38s(J6!YK@PSPnybuYjwG1+};8CvQZgNht^0h?X zy{f@Y){`7su-G&jItMd#u#9-Y1~|)Oi1wBIze+pU&tdLF?F5vsf(eVo!3ry5OR0#p zMJ8j@Hz2+^m+B2LSCL&W-0Fp@L?;TF7!cYmwGoZPYW_XPzc$~_s)1anKXEgVXZZtJ z!&j+?=+CK!bd@1pRNCJ5<>t2bwv(DS*zp}}ew6Xu{A4*NVE>7b@yk0tsNgAtjt4%p zvNkR3=&oq#=sBbl%|k01hfZWxekU`SSJosFmEDNHymY-jE9bP(-^R?u(wuBbzcT5g zy{B?}HSRvhxx-_f=|@RIDG}?$mYZzJXeH3G-nbIA1d16oN>yWBY$-dUr!-LrMApqh zr{)SLnHaBWN@#(LHH6K&97^Sp#4B{2yJPQO^fl+Ube&35YF&wua+()CiZOOZp&gpt zf$nH{BRYt7j9~PY6YGTOB8hl~WCj~X96T7;&>tE*=Jlh_lonryM*l3-*Q5vWA+hiW ztm-X7OtG9BABj89Mx9ram2X7qc7e@T_3TBZ!R|*Dk1VAhLDXYL5{`@Wuy|y`y}VP6 z_2cy4C(6Wad9hX1;cYdam0#chD1-hry!FN>A~-H3wKx2dma4X{A5uMbSZuM?P5$aU za@)S^bJyEZBYD380$4Ib7EbS^Yu_}I_w2NVEs3#u_@HkbZ%(th0%D~36_#V<^`yyp z*!TJAJIzK=X9F*szMrZwo3DLCC4MGI`SV|_&eRFQkUCOPn%NP zDP{bfe)Nti`FGvw^q(`$?JsouJ8qw1<8q|=PTk(k?KDHZTer7y8#A}Rm%iZw^hUKN;$`-JZ)0uDn(P7JbyDOo>IPPQyNW*%+Os$q}X{$yW9nESQ4|X zdCXSRnnQV{T4s-J?`xIgi#Ep)n`14NrC)|T0A8^E0=?%C-9?x5&Zqs(AG!gYsW|+v z0zj7BW1n&V7V{Q=;wODW|7T>||Jkk}Xo4GJxwAIo*#$z;d8X;pzGEE>Cn0!f6X*&4 zy?lQX&Sv=_mhx!1dW|qi+tU;L`$rkvzE9#lsCPN%v)v-bN%5$AHGTp&5QJ+APBjIf z-{Hh6NbefQp-yJ?7_8Mpn&BR-i!oM%aAy>SH)j9p2g||cswauhVG&|9i@`HgLIuoM zghGN}tdF$5iR;jh&|$vXQ{MX8AeQ&S)p2jk;gY9uTS9YkG;fMdW(+_*<1g4#z&X;F zWce#ecar6=)LHdHG|c%MGNweGXR%CcJ;JfE03{c3c+MMaR3=gHN))H>hvrJhN${Nl zR8IZLxsYqF7b$;VQl3Z`iZpazQc$F*Nc%l+kVwafGy=V0zk=a4HS|QZfHS+gJGPu> zn25qmBm(ObfoEbIvXk0sxn_SY#qyD>x;|q^f1HUMY5u(im^{XTe9i_~~&SgYKnjh4yCiaocg-G*!-TuyR|NZ=Bwt}yhJgvui zC#``^pkjHJpY;8af&FD}VEkmwDb?3?ZCH70=?UYHvwR==KYPDlJTjTY3$&((HS$eJ zsj9={`$pL^&*yw3j)25B)j#4yri+I!!!fpgBtsxhY&!X6e|;PM z@wr1ye~jL2`r}mbnM3Jt$U{Z`yd@uH$tQ~Z!FLV$E%q`kDYE2`UN@yDv(+j6lqEkZ z@?n^4xeT7cl zc{x(|dJo>ywZYbR2pno%9wJ^WH|D$@^Qv)z9-5*U`svMbA*tmOY95%$B+Ipe`ye|W z6jErq6?+L;K_YQSPt0WE?8w+)vak%wlWd%hZsQriH4%!;s8mc-=}I_! z*Vr-3EAts|)*-B%N0xhugRybLf5+i_qtHN7X-D!`>13arP<=5o2a~$$g)eK1mhEpe z*;(;L(PH*xn6IlcTZ910SZ%nk=%tioC?{gIffDbf6lEx-H6~~y`#Vf+ zOk+_>%Zcol2t21~pm-T*K?4^I$cQuYv??I}=PDKVV_UpZwPovHnR;iU-&}ICojmt4 zso<3JnStr+#+a%1O_4`i^39g~OOYpA@}VM+vE)ii{>y8SM_cj-??N7F$x%x#7WpX1 zS?n|`K2ERvvg3OnC%=3uY2}wnJz%nZz^hC;-u_*F(hraB_ke-tKLU$C`G3lEtvea! z_(Ujmsb;aF4s+x#lYMRa9e7k-524Gx0VNYQC$tZbh`V*ZgyI&aFF#dBOjZqzxXJvx zw(rSAyjUQ)K}RKqQp>s2#>~{Vn!kqEREts5M~5|{@9y~Mij!V=CKoff&$-9$CF#pu zBt^aR_A(nsaDVi5sI7bDyN(?{-pX-l+CDP^J7&ZzuShNxZ$-izswX!%8_MNSP!7FF z$0cLNgSUUkza4~wEXO#mm+$l6VUcI3j9@it3x->7>@N2r0j>N=oG0u5ldR>)THy_| ze;W%gkFw({H2w)^-7y=&Pk6HeprSpY+hq)_>lqTdCag5)gu3!C4b416C&>#Wh$R2@}-s>wB*+|LVf}A!1KpHU+a0$ z&XPNA!8I?LmwuL?^!*eZXur``Mr>AvnlA_3&%ws!zAYVfZANJ}bhXkS{8w6M|&`qBoG_GP7ws9P~OlMI>}j`%dB zkOZN_0`;#Ncd*&eb$(_;*D>$s=3IM)_K+pRZ&$q(uS4NXKR3rm$L51;e9a{u@_R>a z>oP}mqa{ElUGkKjRaMWMS@k5dQk^sIB-1%xQjQmFjN_Wx zQV+kNQuk8IpsMvR>b6O@f7g8Px8LCFdWZMyJGiRNJLN8Z(v`fxK>TADIDa4hk%f0| zdQ*~a@4E!gpOV3QB&M`Tijdxr`)|= zl7d0(IJAzc%N@riNfvRA4yiR}f^E?6HIVKM=1Nu|=JF7c zj~GFhdMDj#$qgc3Xvt}i=8_yso^Hu+GF#JSmb^;jy|(glOTJ3vFF?+ccm4JH2IW50 zR`yw&`xt)G@0Sid-&{f4K6&k9*J~}-Hgr+lcR-ZYjV##BamSMpCzMJJ(qu#=eOnh{ zE}rJX9gCyDrKlS|bf*qAn-F8o&dctMd}r}Yin%j}I#u%lw}qOuU|d`cP|{VE$mM`3 zS;+nmrM1MJSS?yCZ<48=b1o$9t?5Gd=AaAF;k~YTfdA zC$=_1$bhb2-B+&g zu3}4Hi`opsCWt)CITnKy_H^GKf~iwA_`U!uQ?t2YIOF?dOb6efh=cD{TyV zckwL9zN5u$DL4yRWr>YAAH>}|jegtMS{JM0_%Utq02X9kJ+?OCjrkUDOp*>EQGYf? zWoLdp;$dvp=<@$CD)cQwy9g*_^RIMZ;BVZ^Q-pl7$%~R77F*^Qs$q4KSlGpA$;0 zgB{U+9AIjkE~cy%oDa-X%hTpzv$ZpnG6vXrvdY$_G-3k*v)R)%H`pXcsiOjBZ)n(} zn$$B^W`Wf;iPi19^Hbl|(S7c!t}VPk0{hs=ZRKuFVYz!wL3$|L7dfM%Fp3xFGt|C=;#{=7#4(%G|u|_#vfWV@s zfvxdwF>-WzBo@k{v$&Bpo0Xd%j;pQQ9QxZR#OB;fos&78TxRgM-Rc&+ z)N+$(j{=Wl2@mh8V%r#zov%VAK(3a5AvDJp6Li=DOHgz4Jok&6Zp@wl*A_U$vks zt}gM0tuS)kcr63&ppAzbxo+6weRADVTwA&BZlt92rNG%;B{?cJWJ+V6Amo^k>;{x|o*!^~{;_j(RK(jTrP;$rwE?6tH(z|0>K%%H9 z+*1u{6c>gBV~LoHe5n}A+zKP}MT_zL)e6GayaHAcmJlSa^yj~777*#wO0|kC@4tvN zvtSSrY67qOD|5xOmExHio}ES@LuL!|@gIdspt<(Rwk zB;tA}-c057DhF$TU+Accj?QzpCB30+2YwG`50_uTzdihW)aZA?kwxvVPAQz;Zy&@( zwMx6Ffej0jnqk2O)0_BnQIino^o8tZfXENT-6FP#*kXw5ERi3G?ILazaibx2TOvOY zKPZQb)UqHv#=@}TlPnC&wGX1jwjZcEc$4-)+yYxdHRkVwSZ?+~v}*4JED6Sx2s|y& zeW-EyeS=9|&WSu)1|or%qF6-`RDUX7G_$w>VYM{ipJGvJVy9$Iu^54$9hvr5M)j?? zhL4Zd5}@fIPvKeg(1e2YX2PT~!!{D2A zhbdv`D4iFQVeWRk(4IzXg5;m;bNDyqFO46vENqO{`(-pc3n=EGL0d1n{Lldh-F5%>SAl3)yKk0FZp|{N2w#;Ip5Te%&2({xIXwF>kdVnmCLP@rK>NP24-| zc7FOiI?@N}3!eO<;7XaXmmW}mXz@r3z0-$BT72O+lPKAd=c%L?Y3WMlaD1^Eo9D;03?s7@)B~G%=2;Vt%X{J~WByOHEs@j4h-$ zb2wn651ROb(MscyB&rXdfHL;c2D$k2OJb+HSg-JSPaH4i;#(4V4+x;R25u&tOXg=3 zrs2hEnb2*s%?f3ZB~T0$BS;kk&s1iE81r;+OtWxI(%BPp-r;Mr(TrJ_)MI`4r5pS* zGJ{{N$N2xo_@&w4mqp3SH~Zt4%dG$0y~kPn@+0dCCjYs)B<=4%hXZZ1!7q#Y@C%Dt zUR4%;sqV!u2(k-vZ2+1&)5r+33oVNABhlRcRq@?<8h&*Kp#&I~0Rw4Va}SC!qtC{) z37hdBN5KxDFz>i%{R-zKd1u?(`|??EmA01dbWH;-Ho_^b67KX8Cq^J0ztVN8=*>LSjQ86*Q!iOo+seMqK3NTzRn zCcIVOlE*w52+wp5fM;~()#Z)gnWk8HbJZ^aleO>w<~%N@{UOZ@rg6m^^l6WBCsgJu z2(lqflZA|yVHij=--k5KeUN58-_ru5nGd9C9sttx;hCF{+!xPu>YbaUKW7MZYVW|G zyS}5Y@rG^d)Ur{bWrOu^h+Y5MGs}i|Sb}SR{X16c-%)n`Td7iWC}q~aL(tAdns3#u zS^rF(x9HZaf97_wZq52%%ivnxZizmsLpIJmR0gGu=L(iTB}|nfv0I310BCl11(Om&6(e z%1G&8K)J6^M>QqA@dUey9CfQuPMJ`R4{!iCiO_A|^}$U^Hn=Ix0yjkhH57Vj68K$>16G-oIrdg#7P~XFmEQcn08-jb{KakEvmS)@{N^Rj^9=a>JZkDt%x+Vb;VsJ+rF4mbQf(56y3 zhr^SFXTIN}+r47Z;^$vBb?(uv`1vlAdA)AM&)1pT$920eKi>z>{2gW3f$_}Nki|1@ zj=?jJEYmxj!z+Pje$Nef=0Ew#!ZTrgL69%_SUi(-9+f|#g)})Z3U*h5Q_z1@*G4(^ z)4e{QXpRzW6IS~lanIvO&~Z|`76C?L&PV87OQMR(=3H`H?3mZ%7Skl$a|)w#QkoOx z?llNBW_L-#jTG7qZ;p|C%iZxr@VdOkG5c>~#wqmVq3olaavN4oF4$Rsd@v`MOE%N7 zE^Pjku6A&>+FU7a$RBkT-W5vyf{WP`^6qSZQ++RZ*9#XGe7T|>9Nbr5WQSHYKC{*;?zH&783QNbx+K`U`d zLpa$U^1jOJq3p$gBQZAS?2gpEw$WKUf*Z$dkkf9Wx)zr0KM1{P@kxykl~`-cf!-L-w00bUF6nVHW6*!6T9>-I6NPA9=-aQUg#rgg@B zb9vw+Jc689lR1Jjf>GQx4Z=1i$@@`+W7pHiBr473Gr8(3UQL^8S}W;1CQ%plDsds+ zW;+yK{}C)tRyD7nE!IEBwHpH~S5X#Br+_R5#K!Y%WM3PcG3i~93PMp!CcFs&RH{QR zH71QYM7dMAmW0!W#uD#VsVm$0r;sgceVjq8DHMt)XM(mUzKWti5w_*528>FCn&J;p zS~gwMyxI^KTH-=Ol&13f77@1?;yO!QXNb~NUcXVqHbd;TM1DxxBz5IYs3{*oUD^I$ zt1BbnmukL7%&N+Guc8 z+g)#2WOOcOkjWD$*+6)I>>9lCSEP;|EB);X#bw2+Hhe7l*6Jh2cH{UhKOhszlU-ee znPxmXZG^-_-*iMdL|Cnzx}zb`RQi3ueR z?Mnvt3Q55`YIsiVGBH;!3x<6Gtyw7b@9156 z<8WPdVIn0JC2zR$#%{#&k?Wl)jc|aDE)MJF?DS@wMI+8i9br(GQ}w0D%IG}4mIVc^ zWhDGU&Dp|Cq{*YJ6^-5v&*RY*gOv@R#1^<~)8V0VGC1YWDA=qg*Z0!fK(BD5Nu83l zD5|Q^HE$q{?h{mb;~x}cl{xR~Mc%-Z>&b}I9=he_pk-v+AHo&s`KjyW$c2@h__}XE zfyrv-s~1_rGCuXuR?rXH)Sy9Vlfg>LH!+>&g|>QEd%vqZ(?>o_9kZc zV{ancQ+8DQ{n(qhPe1zUS^enycfr#HIQ|Cn^VLzVjXK~?nICn{!kDl|Iy4mQwbUNf zc%|XU#GYIeuk4XkQfveqk}{09a$BNuotqMyC-~lX5`on~pXKZd#=gQIYdcTmHAutE zomePCD~HWGVnSk}<$)cXZHr0ZQ5^AyG#Js8@DGOJpf|w&c?9RyWiybO*oF`Xa#pQ$*3InyJ#How5vlFvDY?XDX8`(n14C(qE zQOEpxqob?o;tO}PAXT>zFgma^{7mTfrzLNh<@4`a`H0*-ejRSeJ>h4(8G+Cl?;8K( zJ&=@n8^5?oKjyqUlIE$dScUWPu$jNh&1vn*YmiX~mt-Z~L=ry9gN|IAi=0#SI)TZZ z?bb7yvvI6ra$rYzJ6_2V>y;eI#X0$_UL=p7A}Q!eo9@IqWUmdFdfMyYcE0fBeSef1kj})1w zhbO!o&gpy_?5L%;j?PEVJZPp>?Wlzt4bVaXmN zv7fX9kqzEi@mK46`RJ!U+DoM9@ADb_cp5%@a{|3l*Red09_*SxZBfTKSzr@rOgNL8 z5>9e{Lat57BT|(%q;DC9qQy0t&`anQP|6j(HQXGmFAL1RBC++`YO`*az8h5wi9ulB|sEq=p*u z>A;`|#wghYEr^c3AwQHlWf;>eY+PlCLZ=&dp7JQL!<^j~5@EdAXs&i})o!i`x}2KN zRT!OXs(}l4o`n1G6mGBL*5IPax)3fpRXM>$U)L|V=q>P(zd~d|BQ?zc&?q@auqFeF z@MD!6-LdOyu|@8c1qt{2fSeoocSWgyjxn`3i-j#%sPx0R1|1JnE;1q zVJbKaG&Q*tfV3YjT9}24OmE+s2G}wDzcC*l2-j0u#}mD{=m9~2aB`uAMnrP{ma|yG zqnlhr07Yk6j@}ADMDzvv$%O1+<#fEYX8t{(efQ2X$s=)m#GTX}U3tNjm=d=Il$L)1 zyXzfXa*Y5YX#;mVFq8xlAE78vieu$}C)Gl_jpYDvQt)^(HS>eo+yJL}hKGWhoW-4% zI^R+acG~8o?%_6romM!lPU;R4GT7;r9;$01!8Ie+@fx`ne6j&tY{V9B7Lwe{uV5Cg zryc@4>7xKoNAbhT)r(MpP{1IKWJQr^bJh_;0<5fA6Sv_l1eVGJk687AwaXcshGG^G zokDHtdTL9s;Y9K#wLAJwwRzNCtOidwe~6O~xZ32j@n9>_ar?9ZSZkA&>mz}7R_~<4 zoHMaj)PD)*fiiwbX><)TFaXO6K5A=3om4RCJVk~kM!K3>f-)T?!(fB>1?Ge~9Az*+ zp4Vt)B-vRFEK3Bs%tw5NkAS~6e4JY#e*6EexD@{qzrdt1n+73(dHV!AhO=^Cb{m!;`ZgqLcD}rF(k-zI=I(*iU+ljoq=4uVrvqOWZqp3R=FcM<8cZed)B7(Fep`v}K0lKsMJT z6!?xb;j&|>*5b03UR-wXp568^p)seWFBzTzWH$lG9x!zv(RKpJ9;dDw7j-<2AN-Ev zp9P_6IyZrR5?(%UM!_qRZdELAzJrd8WDD>xz-{$G) zN4xi4da4sNb4D$=*>Y6@xU{5)#T6Rhl}39N#hJtPE+7HTk>TME9K}R{5|@XMwZg|j z3(Sg-UMSv}^ojul5`KD-957B2g3OjAd3%z=rH|9GT{Pe$$-(AvKb2>iIro)W?^R;4g_&#EY?*rX=W1H9sjkB##^7V$l? zjh<5bMn^A}pca}tY`2EKuC1GTV6~$5y``aImVYB|XMkU4_;D~d+fNPfI}8h?G7sYy z;J3=zlLh>4xCh|(c3#GRF&qCuG58N#2I{QW?b9O;(9iBp-PpG~6=2lUZ+EJ2AiGnA z1KFJ_9LVle;Xrn$3I~ogyHmk|E5w24Ucz?}u-n9t6%JexI%B7g1JC2GW+KB>QUJS= z4H%q5^9creBYx^b!3=)ly!$yaV^};$9BJ_2RT(_E)8fIMeR!~RsqkPo6)hHTH0W$` z4yYN{%#jO#CT~U`9waGclKSuYSomfx!p)HY`@U6&P$Vx07@$F!+eMJ&W5682q(KIa4X(hvd1^q)bqX4+e8h%6O&t zVDOFK>M2R3_+W6YNl7TBNHel89!fv^+gD?uzqWKu+RfUj`73|I5zG7hVGQ-(j1A5k zws!$Nw}~3*x#RCMJ$DK}=^>_ctp?;L*w3_4JYee3a+jS225TCqc@gHeNplO5s5Dj^b7!&X*u=&|o)>?2rmRgk%N^s3 z2X=)@7|1fLJyY5RWus^h5(*~jUdO-FL8nuiu}onEVH-#Vk4Vn9PGyrJPrxZL*@OwZ zB#zO}xl^raQJQ0pz>1DO2gv#t3t5FXL#aCqWSz1Q3|ndvt|S5Dog5C$m5^$ftGc~d z>I87>s^^oGtE*iky#Xd=hf60Xy_&1b*M?FHxQf*6A)LX_O^9}`GsG*Opf*YUvK3O#j4UD+J7=EO z1aB&lpA{{1S%s;Ghl0ga*YvFH)aA^Zpaf@G+~gx5%u(h&*gtKum-Wm3H0QsWgcD6B z?@UV0D>W4?&f&*3u9&S`20286Syo7j^PV@=o?Ga(aLeaA^A@RqX$0%;=iJ$-6g7ga zH|{*{-1!@&Ig1B&W@zs zXn#_XAq`T{d{K|hrdB@gcq2@LJ#~QR=j+z-dRVOb_#57H_OLtb?O?Ya^4#TCuib9! zo(A$)(1jNAo4F0-U+!$!5AsWzG>~8D&oQP7d3>BC8>;svwIZq(h_oDRKZ*+s98#1T zaGw_4grAhRufk6H=)Q6lI<}ef(wH(^E;3tlPeitb2K9-+n&{G=sGfO%VkW;VNLgTzBAx`7{M%LcJAp zHsc4OPLA6XkK*2`MMTUr(fae|HLCzo^?%+{mJdE3f(>?LOWm?gk_XeK^VM6oybGLE zJcbjI&t?_O9+V^Fu{kIROAdxmPNF90rjS1*A%BwSQKBfd0;iH|Evg|nO8s`a4P;VF zwe<5z0^0nm2!2!Yx|+8$J;($ zC2Xn`2<7Z9eU)0ReryA1@^mBbg#K25FthocK}g^&xuL&}IOkGl!X7pG>(>2N0QWB- zLD$S_*Eq4@*|N}Gd=#Sry>y{|?Dk>T?#y0bbgwLsxJhi_D~M!1OPN9o@M%ez<;q5B z!;sM!T3{?ic2l>r*w{GH$C^E(iAqfHj|&^))?Z%vzA$jo*$gXLOSL{4F43Uu2Y``P zjB3@e1Ebrsdm}CWjn(?7mk?pci?JjF+YJNI?gd&%gWSivgnsFVcgK4p!ahIw*YSaJ zj)eVZ_x+w*UipH>yAg2hg%(5TgWhpwUb;SD}4HVL4o~PKzPd98{26n^@|0) zz9JwtAHR86K}S%dEfKyPcF<}1&<4>q2I@T1O?g)3;U7m`xeX1V8C?iOMc}hKKaBJ%-k`;GFuTAT`3>Fj0I6m?ia*H7WK6E%4uJyWTaw^7F>wbh zhCvAM1`@;@bVkrx*X)dUQ(B4HhEgA-GPYG{MMgz`IAP^83_@pdFp`^W#<|a%DShXx z17^I;&nO3cYMge!j9RpL^jybg9Cg5qTEfH2Yc8g?q620+)@J%Hneq>qNvk_GeTH7t zlFr8WcwjppO30dupwzlU>J(!;))F@E0HM_I9;2(k-AxE&Kbwx#4;lL=M`UO4lDWUA z&%ViA)`XL{NiE+h<`leHPrM22z(a#Kn^_m$UiEs{Y|Tt}u@>jv{H!(wtjsELGsl2v z@$n7r@$jQnuXO2rF{_8SY%Q>+YbHscz%v_#@XjbyPYkMl#z58I-O&eC|IW3As-r;B z>AbfLR4p*2##72b)ouT7V4`jXRj>brZWFo{R2_S_Zp(EmsCulqjq6rW^$>IWJ#I5l z^}}B(|5&9+Y#`4DlM+>m4^og7ySaq6nK}HL@toH-^H8DWDDkiIm+Md0Z{HK=8I*o1kBBbAzV>sy z*F)5YG9jNETvU(Z$LbV}GT|5K5z^n^N-6rFN$L=j`=sZ7Wm%iOVSy5|jj4jYpR-4StGLbnEaET%{* z8&^>-$nZ|wy(+Hq)HbCn{hE{q^_mW38%wrp3=w!R1s}bxLRfHyo}o?Yy7_&5U*G*V zd206kS*Y`~?+@A8|NhVE{`YM(XLkNCN@JZ>{~@M5`=0kRNeEf=oA=3oYM1B(eNW?u zecv+>J^t>;(?`+#nf4f{e0oP8z3+YR+tmMk582lLep7e<`+eK1>XtDUCb3+<4IY!QLgTF*)6#)(QFHEmenY#Ryre`GK=UY3Q$I!|GeA z*cD-}hjN|Pb$8wL{J_?Oj2u83a&m^ADK#@qdNDo~CGpg@nV(f`r_tgfD^DxQRKE2V zQ~vysEjk38@qJq9in5_Op+9zSz1!z!S@FH#65=Nb%~$X1=hh?^u6VEHDx(7zZiGVDI>U4I>{u)%e^f0R}L4$bkdgoEbUb8j4g}TRg>{6 z=fJs50o4n;FV!I7z~J&o*NEIa6nE zFO@qh)7P3N-sxxf0e4*jiM{@G!q53t@GXtXQmlks!X+GsM zhS^>Ch+%fOk(Ob0cdLkzJwC%MOuw!!`+t~w|M)12Yw>><0>m19777|GYSgt7>kp#P zl7gCr1a@_!h$xXFMNvvCTGXtd@*}ue;pwtSt5o{A^+o|!Wf5JWWH+kq}oq^l3=3gt*$_ zAzRQsLqc5b@IwtbRYF|t@O2G2NkUxhuth^okPufpT%#eqB*fJY|DYjW2@&lO0&hih zulv+c@K$1x?DKgzpx@uP2c`B zvOOsBixrFAP8UNq0b|nvA4@>urmAq_rrGp+PdegdiHJ7khf6<-ydNJmELLAVG!W18 zU)W`NJoB$&jiZc(NG#2vME{q9_Qax~{fnX+))VYJe-_e$&)qo1HwM_ImS+GYzX|5fz^ktO zXGm5p3i~at7}Sdg^%(5WwD_=n2q_h?pUc5NsQ5c4fm9%VitI!`8HJ^y_FeYzQ^jaI zM;EQR!EbRZt?CnuI&T*Rb?`cxGybH4zkF4AuH75kapyba!Q1SifVUTDyJ*C0e<)u5 zc2Ujj5uWOgIL@O?NiRZ^Xvg!~m+XPR^9>hGj;cK1EJiR1l?1;Vf-aS;*c>7Ig2pPP zR7aMoK*KA3m&U`p!S7CV4sQ40&IROhf#11SglD|K4}L*AP}O4~D zKy$@%NaC5sG04GYHSftM_bsyC$Ar=ozd+8WIu}DUUV?HoLSn#mOWmW%D{3Xn zi=u$&fU^b$WJa0R_RRPgXdW$BtU|G7D0XQ63v%zC&P6wncewN>ZU}svE-0ndi@#KJ z#UjC^A~C}cge5$%x^6july&ZU`1F73=jQfKb#%tYdmO((8cP?a@#i}2cY-=8!&!U$nSSKWux4={Sjr&)cX|MXNZd?qqsxq}z zPWDOUy)59t;#OXp&XiXi9MAA{Fw7Kh3PyLb7{#r6jnxCv@_Dhpld%o=q{c}5f}JwX z1&d!owXE(PjE4JnG9;DzPmyB=^bj}gBIvfkM8(og6~FZ|AA$ohg%9n~*fZ<=d|?hb z_KPkHa}IC@zUZ=R7ORGA@f@hAk^3_~583#6i!$96GDA_Id5qkZ$(cGoFQ~A8;tMs8 z8N?^EsWF3{Yquiu>SS{_%|<_A5UI}vy|x{>dnlwk$Wgh9jmqi;;US-)>QnK zxnE~T^ycMW+S~C@mCU-((%{wZgl+bqeD1e#^Z&X^RVHp|8YVh*8J(hOSY_#Z%*O~1#pilZtDKjl z(^S99_?w^x>z*Dccntl^TpfQKMZb$tSLJsy7F$P>Yf8FO?^t)z?@wgCJHS*5e_xD! zUl4_Rbrdey->?&(0`AKCAZTCdbAIrF63`ySsMVb8E1qbx#fNB-b2F%A$=*Zgz~4mn zdh3%l5Z$@#4Yy^QM0sW_bh=Fzvsj^e6!*1hu+BMn9kMf`5J`E*Za6Z=_Gyur_X zvzNtZ>?>+&n1BbsfyRbWXI(od6pt+uY~q!}8XGpA6{Av!wT)-BauowM^Psosdfhlf`R3HMJgjm~KKPI=U6sCy zcm;fXP;R@qTInJl!W_9@!OFtWYi9NEbX7NbuiL*&w0)Am0Cb;O4Bzsym(gLKpnf_qI`%~&SfJf z3z7@IknxvO9c8kmT#}k>{eUTi@C}^tE<_^kRpJp6;W7zK)Ri~>x2U}<9yu!6$}NA@ay%GV|JJQ#;eNN#`8tp1gKAsqLF zN@tcum?hO``)5Kv3Ftmw4B7i>oxL=Brqgi!eDuR%dgN?Y&yiz$>Ye_~R)c6JwHJzp zY&WqsxejN+)Yx)iehoe8ZJABk$#vY$myY<7bE%w7ZUhtObi{s%_zMy7p5jBX5iVjL z61F=y%nwDZy}!~U-cwkPlN7Bbuao$)_znAtnEO}QpJDQJmLOiiD)L&OW{!V^heJ*1 zta2$+88*Nx$WiU0UCwAG6=C!}UoAB_f$+Lp$c$SSd_TGE#v7+$vgj`s4K`=P_jWRD zzY~lP_$8XH89MDfT|+hqKmmhfzeo=cT>y3(3tc{BV#geoV_D&SCD6A(Azn5tl~T|r zvvM+HqPc+#j-}$H{2M9b-0aw4-S=I1s676oJiV9tS+pT$tvXGok6cP|@XclMr*^4% zrMbd0^QX7m6xf968>Q0u9^zGw(69X)j4KypRM_vZ4;{@Dtuuo}qjcLbigKwGJSs16 zO<*Ed-OhiwJl?ZHTHsSM(1OpIFdc_#xjk*#(n|Xiu~#Gp952d4qStZq;5^FOcZsGP zp%{~CNHGqeL)ASzS8Jipi*M01(1gP})jq|f_HE~_ZNeZ8m10J}p5jc_Pw7D2>+kZA ztVLCDv!?h=?oKB6NGf-osGn{v8A6)N;&XNhb70YMsws)0gWRNx5zMNMKw`mQQU(L} zOcJ*94;`SD8>z`L2sdY@q5Gmj}a%Ui%13T70|ms_y5rJf2PE{^L+;U?X9rJ8zsZ zLs==gihHNo)<8(fp=Vi8-IHnm1u&($d8EA&~kw#8j*mM{5eET_6rHt&C zaZSdPlr0F=Ci)>NCR#+SYu-=PZFrx|U=!t==!AKG)uVU`A>bOIQ}<2k(NT$Bez%w101+-$MT5aEuV`~5F5PtaAfDr`3s7+jER?>iZC{wnM~v*pMX6%->%9J z#Cyxw@T(#j8$K%8QL@dn&!zD>9~afk$8LLC^q^(kcQzRW?WbNA54ZBf^Bn1Y*}EVqF>dvB^$kd^zX4kiKQ%+>qc=HOu zrT@x&EW0qX@!6dJ=9F}cTpFjRSPWz@zp7udW@PhNIh8ak6&M&t@1{3Ny9$zm_s1~h+x|YiFrorA|2@>L5<@`!? z?f80OP3Mo>rI7W)t+ZyZ=ndEz;`7U#b14W9IN>)yg~Od4D4IGbI#)0S3r5!~&D;v6 z>7+%&1M28reKZ^;U<9y#Ub$U0nwLey8fLR!vtQ@N29AV@?rh`U261_;I$O@koqEt- zCKa*O4Ul_mxGER@)80;Q4|&LyyK{RLw_eJ@K6b2DFtrm)Y0ktYT@A@zVS9Z&VU>vy z!-Ea)aHrn-6~u)SPkgHea)%O&kCG=nwMCN5?6Oyj7be&5ar^G-I$rHf?s){zO*}F= z^P9^HV>P^bTchg*y0*DEbmxsw4%wE;Q73kW%8UZpz+n6JdhFKkSTc> zQ0(0?2=~JXf?=A(9SpcqgXsGHG@j(_m=K959`0ab6H`byS{@0#eu2BcsIB`| z95*5@ZZb9~aN!q-xgy`X_j?0md|$Ryu=#ROLa^fOJ+&LLMPjh*koem3H(KQ!L=j-J zBjSD`_0$e@0^Nis(p5&;rq{3OL5ufbL@j-B-mRg;`1A8JVLb@DR>JZ#VLb^8NmxN9 zERV3E66VW<^&;$43G2_OmBR^Xq0W0JprE#k` zl63C!H#BmUM%GJYy+mHps*x{gWUEHDNo1QOc}^fka=IYdPVXSHZxuz%Jwc98-FemW zMgqoC#M~3~^uoSDa-4fYP;$vWi?W0Jkfa4vEw>Us!-nH(Ja%W0&Gh~V zFc`=VmmAH-xQ5xjf$W95u`ulMQE+5=qwJ5%Guz_`!rIFAxJ{AGaovYox?c1*tM+qg zZZ23PV|qo92bAv9xHI&Kl709?vjuF)HUl=ufE67MCVG{%j*|_oA!t$Oz_7q(MLmalJs57#CxY@W~ zyVumJ&EP5(+^(;rgMo)XBr1@#1HE@5Jq9y zhbQ7kItwvuz#}9jeYPA?`b;5Tx^NYbZe2J>`V2E*gAWJGkv<)C2N4LSS7ghw9O<*t zfUP(jEG>Pe7?7&NLDJI4XF&1~2T4nxR(cEgY&ZQUBYn)SY1u!D`$p3TXSLWm0}!Ef zD(guil-j5&Lg{xLIWcXi$RjpH%lT()X;kT+r<2rV%X(=!k=(-0zn=FKGA!c6SgbgT-Vam2352#vCItO}hW#4gIj z=BHy-;2cNnluWFnP2N{&BHA-FdF7~-pPb5RugYoRJx0B5yTZezosrkO5yoSfNC*>5 z7i}c8OPIP$#R}69IfR*+f#`G*9R5(6Fh!Zz`gClXFm;*AO;5+B39~d4TbPbb6J};6 z*5}63ZS-JCnG1p}7OhqKSXQTxhw6Etii$=G52#j&(&~J^L3aH527Gk|E8=K;u8mRS zQ9c#?gGsHZqmlt8C(SNyGG|DT>|UR|4OzGxL}VyHFKf%lzi#q>BQhcD{OugQ^DWww zZK0jB#16ycJjA8gO&=H`oEYtu9kW+)JPJx-|GZ3i4+J)fXLC@tCxfJdOZTbb*}sqgAEe^Xr)Rf7Swqrz3tEdS}r0>q2*SNGB!1``mY-*RuAwr?KMZ|QC}4I>H&GF0M5dqzR<6FKz=5y2Vu~!dO$%Y ztS4d6uX=zl6P8C9^s64g0NN`ROc|oM4=5xcANt{(PaSGNN*GM97~)VurWaSVSPQGD zufQ-m>7tvyv-m5AE^@NFnb$m|`RTl7 zJhSATRox~wL-R6WJxX7nD-)Zc`I)ekf-$rp6P8jihWavLDFtJwDj04tE`5d;0;hZ^ zVqPY^h_o%3rD<=GXE$)Jg@}6u{Iz=Eg^GOyebblX1cPFKnCNdwNjO&zU8z)4tAbMg z;AFOYAFhWQs6rmOP&s<&Oao=4oE)H$$}2|?9c!SBw9AG{>!D=^!brSqhz=rD56w3a zM(SlltPlv%LuD*rI5mFT|GLLfc^87jJ+E--dq@ld`iaNLdHpkjKrX! z5F#3i3>2GFWIS43F=P3rIH9H?(4-tPzQ^CwMU9pjJr4^ooDG7r(NOl{gb8DXk&^~f@{^SrIr!pG=TWLqTZa7MbqXkGEuvJCZ` z1DrXy4R^~2jX@|ep{w+j`DalMn-bO!mH~Y4q!vCWAPOh92p-1^9-8shWGo$u87Nt? zf_tXm=c63rTdjp}B5~6gv_f(N2Vcs8vw3O^sR35#y+nj}xY|Z$0Z~ zYOyL^pC|b(kDOcjqH~Ct1<4sr|cB0)6sdTFNBZAelmGT z)E#%Y;nQeE&rWJ}HJ^W~_3WIy&ARsrE^kP7?H9Dmh0BgW&wEmobSt_y;v~P%>H3EL zoe&L9(`GRBjRMaZEcK8yMf`)2_v925UE8tl-QGc&3;9|4KO{r1CzTAQwytvHbfE2i zgK8%~L{g;Yf9_;)@r$2;(RuqMq6VJ#q{2tQX35`toDLU!{V>QkkRhU*UJFVj8F1Yg zkr|3^Zf`frRCg^Z`S(mo%HPJuha2%ew~iD z6CH2iK+vP~Yj|+L^EDO5&9P*g^o9yga*{>|(9oz-y&n{zi<*6Mjcn1X>s3&=a3Z(2O=mOuQ(Up z`_8%A)uoKIo5=b>5G+1AFJO<(x5wniN8@NBBeUx=a@Tojml67XcYl%1#OC;mOl5F9 zg1?BY2n6gmlT^gs}buKsVChzKhFuxIEIKig*sybi8`=28>aCVzHb0G}NcEWb8&zV% zx`|9Xizu?NLYP%2MQOD(1o@P4d)>n#-a?!Mk;vN=vYT9am~NH>c-R$khnC+Fa>>hw z^5XPFB4>bHT8Hqo>u?;E%QfO5BLSW4_lP`}OAeS&FyW*#DV;$`=$KmIN|853*V%uN z{%t%_2Ck7-{EKu6`g*U=1LBD?x6Jv&?*%5u6Xgm;BPZv*&Z7?*_mn-(-=r5ub@3lA z$ZjjTQj8+I)GtLCg#eFOxXxpNBa|3@O5*meaB(NZgs;RK!MgXg@1Zvx>TTWI%8MjvFGc+S~CX*}t)mRr@4#l=0Pf z%*EID5Cz1S_iHXDAtAcXgSxh5Eip4i5y;(Q#oBxq3gh81G9{dH#2A?vjy__HOb^c{ z#vB}-Qxua#ygRg*dpT80uSzReC^x9+4%axf&`qOqVXv%%eL3jkK*LA9cpl>Kef9@1 z_wU2r`F=Hkrp9aL%Rc^s_-8v9qi;5s{BfzJtVQ|8uHZ)|&o|38Ti9(2%Q`UR-dMK_ zYi?b#ap%o-2bqo6v9)kRMf zBUtZHV&o|h@{INo>@|2W#$6}Krxt6?YI(!fxmktOgY|avsR!)0$`-93BjfPf9HiW^ zr>DJIOiOkrTi-Z^67M-V6nUwR59SzUR?=~HTd&pvdzs7|2`NP(>EtzWHAez(F#c*` z_r9P@6a8^Li7lr!focJY5WK6FwQ2%R2qr-RC4>_L)i;ai?=Y8~Z4#_B2~HrvDowz- z!6cA*Ps*8#GyL&r>SxE=Bv4(-pi>PW1o!22k$DyOrzz%Dyt`^B023;fQ?3@uPB}dd zuAZ%=3Z_y`-Nebp0-G43xDq$k#Nou37;IikXyGC<4<+t6h0tLFZ+BR064C&~iP4?W zDPO;qO_wj@$A;&cNPtrt)W58AQKFy85T}k6mPxINF3XPIo{1i8q6cM1*QKKEm`B3ts~VkHDi7}_a>iTC zL0tfaDTLYELk;isDKBoLvYlwtmnIgUD}2pi$c0+z#7x?o(6cnu+`UBFLP9xImBc;p zeWkNpniz5xiIx*y>HUh_JS0~iOF8zNtD>Tx_cl(oR7v!!Kq7BQz#83XuHVXWvn&ud z%SGfwK{C?^>mTqsUCV@RIYN3MIiy@1iIxOYOajL=gd|v{31C|ih-s`_f+CZkK9itc z6Tr44cur!|o}XHR$0S&hNl>Q=I0TynVh`z-U^|fDF*B23g(m2w2_8K>L7hoZl}S*e z3E1@7VC!+kl%VX4<<0;})tB-rZP-&S6_i+(${@r1RZ^PW!7Z-m=aFQXFhqQ{v={JI zd_l(V^BUCGaBqMTV-3(ueJK08U86aMsmSQz#fOk!t3~Zi$w?mPmORy+PE-A7a3)Q5h`u^HZpuIn1@B-mI5q^g}h8`YI42fvqL(dg;mx#Huueh+JJSt;xhLO2@WI ztgM$#$;3`i$BKNNC+nrbOzhZn>}-jZ_0qwa*kNvL&3X}nkf!EjB~3nGw3ZA>+!NEl z0t5a*tS93i#FA3(dAV}1^BdjB(+Tli^0eyfVdUw^K&(td+iA9)F+l_h!caiGHN_T8$NUO8b}Hg=$?m{;7BaH@LuaWvLcV^#Q*9O>FRC4k|7Z=T3RPvka9BG@Hrgy8}LJxnBCvIzVPuNZg zRXdv6`fY4#tHNdfxQ(nasq20|?cKC<;)|k-<0+~lN%{v9oEm%1t8HkoNL=Ka#%0R44L!_B>Q6{z~9h+v->6zFm>DV-rj?Kgd z)3ND3Y&tIUp;UL~QYo_`Mpi=EjoZO~!X@hv<9fff`Zr#m!++WSjqo45Gm+^Wev0qG zOycW^^P}=2{KxyaR*ig9A~m2a&3|*3zwEM}M7GKM%np$gQ)-0WrYt38>^~VaO)nh>zrF4t6WPAhJrZe)Q+ayC~{q?{T>QNh?Tod^7YBhalWr^bN*r=1!dngK9T zO}c@Z#k)Vtpve-Sf~^*X1hC#&xjjdawWQX7tuVRO9iCeYLF&{v)8r(IN4K0F6%cW1 ztTG^?YIFlxDInt1SY|+~x`TAH0I_7JW?XX(5O$#LBw$;I!-I)JhbHf9R-LfAPxw{F zK=cKMAWHA`_IY9%Vkfy{|MD=?(D(nSLD@#951e1djcI7N^Wd*Fk7YrFrj{e5TNV~H z%*r69WkCbWk>D0U6vg$rJA_E9B@f#Ir`iR(;GVlF|jY1 zRa#LAFe}dniPG(J=L>>)3;30@=%>bH1R!{Nw_p+b1YglDxXlFruv@SQdhBP)7n`b*HBa8d|=YrnaX$E{b>5MyI;5AFH1j@3$dxAQOdNsMpesH7yqeQ3ZzqK zXrfEKvdEaKxRtmXfZP~UcPlaCuozQ)D{ZJsx`39}#+Eu=+_ zb?`uwu?+6X(cg;bK~+V@9(rw|jA(eU>Nw^LO4k#6s2WJ=IL01&ZQX~B*WXyTQH-LW zWZMJBS2<13RUHtcsPr;Nl(CPRTKhFMwGwmixTdCUJhx5!M@k9vXlpO4LfZUmJ7`i3 zR@<)l3OnF?*22|LOV!nSwmLKhhE1raveM-_;G}6z@utSWoIx$Tumn-&p&tL^dTufG zynb$-T+9)9qOoCoRkE=mT-EW-DmoaZ3{peT8_VNg+B=hC(r(&z1$Pmj`i&;@!uqR4YReg~?9h>!ZhXBgIdRz<7Iv0nem#7>gsN|c zKo{|WdxNlqoW9qJhH|mHGK>8;?z=rRZuhAE*4Ww3V!5g%bsvLh)PkL-CML^3Do9HW|QmkPzuj2#SE+xD4z7Um@z2$d^*}cH(h|KcB zx{F~_1BzK*Z{g9D+mp2HvneI|EXLHdv^0{$&`Ltz$eue`&;Qi-IV$(XA&5 z^zsa}h*oRK^9Fil2HNP^3OzdmEmFr?;)?K^4D=#>Rp{v%=r%&<-9dR%GLX|VkTn@d zRl>tS1~ZUGAJ;qwXCOsV&Ex3y!za}WS(JigjLZj=(~eIG7PshjTDDUXOS8EFZnOQG zQy0_CX7drmm>pN^aF+h-m))@&ULqR=Zd(5YqvI;Yv34D_N5bgJ2a&S|#o8R)VMbgJ2aPB&X!269jaGSzHA zrkibP2GWy(Of?&j>1LafffO4mU0oQmNJH6{(9||zhsw_IEvlE|}0dyFxxm;vu+?Y+hEgUvp@~_v^K5<8f)nz0Wz2dsO(hmE8by+8~ z4%>_zDx-}}gFt))?PVghMLhq8eHk_D#pa3ZU3|0<%QdFKA0lzj#-4VSv8R1Gq1XQ@ zmqq5;ee=3aS{ouSruywcWx!ac;n!X(M={W;`=Rb@lf_@;ZGNiXK4+laev6Z0Of0q; zDAQlv&0}tV6)15Q%|MxcD(y&=+fM~bEV>ye?VqxF%Jm&UGfe_nn z215IzIPJRqQ6SXR%bGj&;wp4e-&j_AUk*i@ zM2mEYh9fMoZ`baAvZs_kmuJLtPSuW8rB9UQ)m%lhQknr08$ z(lmI&F=yfhLd%@exM6N#gVIX}Z8`d^Gqt|j=__rVT2UBC$-!g|6)|=vL;&wPr@eDU z@b_vs{>djgwrnFx2%&c^Pf zWSWv?c)AugP$9w+TuJ>>N*h5lR20rI+lchu$&D3-)xCU_Sh?Jht~|qBI5~qbvxZ;{ zP#bd%P;ReYBs|7Ut9Rpul1I?UxIJ_DLj$FSmTWh@Zxs+|0aIMSiyC*9q-<2i_~foS z)El^>BfvdJn6+e)$*<19d5!?rLYQ18r&roh=61T7AeUX{qXJU~OpVE>?g%g|1!f>H zRR(6Mff?L*edsp@7d740H$M<<;EW@+w^*@hNH&`tM5Y(BZyPy7LTo;5`dFr_@YGHb zuSZMce9^~RatFtxBU%edD|SyVsP5GHaPEGOYZ_?ltoCW^22@ryoQE2pV* zUeDA9IlzNes6Ol`?+t(VPTVS6Ut~K>AKAz5hRN0!*$&f3_OZKRvh_u_!}O7T>~5HB zeUa@jePkcI8`g_3*$&gEKez0rf-$Mcc9=f0kG+U;i_B7)7?8fD($35TrXEC0&F2rd zvAr}(FpnP&&OWj%gqX@VA`6WWgqk7}T|wyfQ^}HJ5H^J3vwhl=cbFXwD*0r7EaxJM z#A|lv#=E)x(C9fO^o4UXa*v)$r=w%uB7Lv2PE5(Sirl+}4oKuG6UpQH$~p|fbZ?2I zN18q^DO)wAMvC0Kg)T~Dhe^qUY`>Ca4a_lwhj~Eczqm|Q82Nu~VQ?up`H*k~T}QRq@A@$T#=LG+zdP$C@*1gjWcm9NsR2gy zyOZUe$nv)YBGe&S&2E$T+4A0ZdW}l2rKGG_{yYIwR!G2@=i7#ZM?Q{lFGXqmp?D^E^OqT+`0Qtckd|~loRq}CU^;X1 zW<-+e6|O8yOF)%}z#TKIP{&?1jVDijC!@C?fno2v9I>061LZROx_!dCNe&82jsK`& zo0A)GZ%>WeGUn@ee=sxN|Dd$ncz>S{>sqpuBeydi1ypsJxDzB#-IG;bmKpaR@JJ5% zK#D5EE|)g%MkRcp8_sEM;EcvDGiJtHTA%et-S3b#?`@4FlhbyZd<=YMzq!KSo3aN+ zVMoUIt=I#PgH*^Z<9|`IIkSF9{)_OM>@{u}9_Kdvj2-bl4xcAoN2Dz|&+NnCND&ZX z8NlF`rl-M=-$_`9#cQ-LyHT{zS0lTUPqOR5%&Sa#*IsG%&zM~t=~@Z=HbXj@H!=B4 zUaFO>q2K6obMn7FOt%wv2I$VKoCD?mC{iwQBL{NTAGQU+ZC`VSiz?HcwE6g_kp7QU zEL|UwbN8Lh<_A%Gllyov_zRyj?VY$exl%SpY)(E817PC%^!8)m}8y+u-B8UvrzK()!oI=mu!r5J`%O_bd{o+Em#6sqf2i zzGcjiXeVjcv?s2vGf3OMo9y$lATyyp`QR&=g@a9jx*FlE4ZCx~Y9;Kigaynwv6Q(6 zdDE=h>V?uA@5=6oXIjM}Wnm2g>QbxMub6Yrl0SJBC#q3+{0mEP9SkF?3@pj#2v6az z_@?$H!5YdE&%%diJ5VNZ%%f+qnZYZ*D2bs%PS(8+q3^Ppp^dzGoxlleA%BN7tLrDSE%v7B+dH|WYCkysX=rEs^=|d*d zEai(vaG`xJw41q2kIh{$BV%(A2H1@!Ba*uQ?`B!eIDIFlyu|K+Pv?St&T^Zi7Uy)H z=Cnd`Io8d^g!?qyb?|pr#s-WE| zM;>pct)qv$kpOrP7(7Jh*k_#0^GU`@&pNgxaPa>P^7|y$$-pPV$H!O(@T8;7vse2C zB<$$VLPP(J-2Yk^d2m)|#8mrbvOnJcq1-4d^BcCWjAaS2?@S**vy0^D za^y#eQ2&gHAXBngPLG&I#?K4BmlCvY+O%mG2kL&_FZx4*P8uO7vt~MsXW&U6?!bX{ zQqSZNh+Yu$?j^!6;zS4XE0z>;l2%I2I@SGqd2B?@-Hi2?>tNP(0#Uf`%` z?eRd!Y0tOL;FRod@uBOoUtf>fR6Q1_>hZvl>XDbKM_B7Io_d@YGxY%fBqPCYagQgvjE?QuKB^z_S^h=$=uWODHq>$y~G6q zZB*R7Vbj7@M-RAr!d zid@^(j%q4SFg6%li03KHf z-RztTIvQtEG0~oz_T0MI2zAr-h+t?&qU>RzVmYtY{%?7 zhiJz{pJ}4YcsO6&lGA{++|v-O#@s3TQpq;D^;g2b;nMxLO>miXch}3*=7ON%;Y#kl zDBX8^-}VcTKWpEmKNsT{UZpfyd0RUm%^LzLTJ|!;&^DG zP{`im-k%vv%;!*(t(?2xyl^G$A^(EW-JR1y)-4-@#h))|kPgA=%G|3{X!N0!G&=gV_+d~^YiV0^UCdTew7fBAS!6B3SJ<^v{R|7rzg0eZ#+vnBo(() z$YZ?V=rR4fGPXJL`;FXZn&=f`l1Jl>;}L2eSp=1C|R(|iM&(V(aZxx4mj+dppr@j!cD2@YQ?3GUcN zOM2{2O6m{17M!}7nbWN2WCK!Sh_8Ju7abn+4w$TKF+K2MrYBJSUX)tr&YPfkN)6kRSj|a6vR_tn?@%snK z*ETEm0MBXByJvFiPS0SX+RsYd-Gx@|CnQad5-6zx3Lik&99_S#Wntu@vDQ=6lb znP_*`ny~-$sB^3xl?<&l<^JzXv!iFb?4>AG@|+3hjNt=cBa@t7{cESCT3K4+Ly$Ypfct@4;IoW(mE&TfYkME z+Jt*e#4$Hr#g%#S`^WOh+3XGWrn34y9HzYH)#wWy+*}bl7=6cz zKHsr2-zxvaT5B5WvA;`O1Q4IxpG5kK_`n5$C%fjuCPVIxD-{AZ!_#9ME3C&hlzZ#T z_J)Ro`O0KgZ2?6^5Bi?= z(NyL3{X*h$Ywi8YCE-`XiC&M4mm2(A6%oiOJE~Q=Uoec{Kc3%F)?@vbmfQa(?{-w0 z-Ebo>9_Gw)=hVGqF*=_2D+nQs#7wyW%mw>{7W zbN~BXzOe5XJj(5@_Wi<24WH)+NQh^Sb@?aum0bTdy*CKa>@)Cn=PvO50B$X$LQea&?96LY%x$?5QuOgArD-mo*@ZQiZYolmi&g56Qi(qRo_*!N5GCh@~& zmH(sUf5=2~oeW25f8QMW7z|=ADasL&!(1Wxfh-m#n5YL;y_YV}-QGd$F8C1>g&OD6 z_R}6*OLYA4Rs3QYipjD>{C=4th`f{*P0LFam3fkPyxQ;6*`3PEd@ClH!`Mb(o*#%h z`Q>(0GAXM$RAnt3P9hO$->>eyx_{X=8|oyPpN!saOGPS^38`PnKvO@zHt)$nDz(5 zbk)KzmaU?=QiVxnFx4$)(ast#_fj$FrLQeNUo<(wMBxf%^`}f`$>F3m#6t_yhVoSZ zXBg|(AQ8CWzk2W$(6_t* zuXgK!?ZD*o+Vg=wOFPs_$2G#py1X?lg|-C{)Ep&@NUypayIju#L~<2XvLASSCds0o zS0QdUvknm39I%2diqP2$*(F?I?`i1l8EEM05%4w#qPu(*b~{Bk2ey7eE#n;e7T}hl z{f#{c+!*jS@hYe_1?-K113UQ2mxyrUq&5iR-SGAJy=#r?S@3(MRSD?e7MBQLBv>`r zXl+sTLSTd`vUeq0`~KPhOa>HP!DdU5^_~o6(39J)X~Yax z!Kp13@get>+n;a~X~X9(y6o?fF9&`r|SkIt^)$D&q zypu0=iPt2!8R9hwQiA3Jp{z^1Cc$k>cf_(WGR+A(Srqbqc}XJt-708)gZ~1d9>fwh ztFU(k>f7@w>^Ft4D5BvDm*L)`@r2>tN->-S2*bSvLLFdR?uEx1h2dT+w_g*6YZQii z&1JaPEA3tBR?S9lm$c)*mt!I=EcvQ5lroZ&_zbh@Yfv)4 zTNb#?8L&)_AkF zs)Y%Gh)Oe-B}Z~$w4kS|FxNwOUFmDqF+_1{k=WF@o?OS5vv6wKzL-vzo9KSPbX>^N zCl-9@L9+@*3;bdU$hH~R`tylFvxqNTN|~Zkly(HI(HMe03&yrpj|M^e!B-L;vc`Oj-4W!yjlt5UJJ{5pszI`plAQCeM-MahnzaL&&2A5XePZZCew~T` zQ66Hi8U7<~P0!NTt_ml9?$c|hb7@*GcKEP;o=$21-KDA+bUt%dPLO4VJim}J+G)+Y zR3<->q1KwKJd3Wx&N(VSu!+;WRWlF+eV!WVBhyh5+?yCP>j`4!{6{+z$JBa{{eH=| zAQzopiCP)7d&&_TVv5HMk3k#r1Pf8lm}`k6G#vk4`%>3Fkhrk#yIzkIrh3kq*GV0f zf27XVnm!}E)sYcBB7K9=`S~8afTcds#{7*-NA!%Gt$~p}m;r7P!Y!#(!rgGX67J|z zFaz|Ss3r{blo9!nO$PoM;4c#R`waXL1OIJ-f90AKyn($R*nR@L*udr+*o#?ccK!q` z(fhd5VqL;SCs|ZtzE&mCamgyvUYJ+0sJ&+l<{|q_ZVDGm56jbIVFDIjt9aDbSAW+k zj!og!D(2EQd0bUv6<@p5D!y@rRebX*t2k0`70+$W(#>PC7)u{Yj6ObS?`CB`c!sBg zu3OA)+B-4HU}WBVP_*z&fiFvrMJC69 z$?-JFaeygsjYOYnqE9o?LnV6u)hYfCOyH8U^zzMu4+|LXGrC1eTc zOn2zA;H-Y9cW#mQ&to66? zl#8sVa20bQSF5sn@ktDvAiF_ksQJz@cyxeWffbt!%aDnrIM>q7$k#i3{nCn!G;urm zdclgxDn4<$`08uL`?45BOp^zR`TOn=f&$acdJeFs2NT8J62*xmfC34~*1Nm_+NC=XcI> zw2I82?j0(~Nkd#FO{(c!4$UJj)p|4D*S3H~IFFj6P3M=P=hOqhDr@XNKtI}fx^?gW zB`%A_H3OIZ)2x14I;Y!#2ER6PnZT9x=1W>NV8xId5+|*CHSKS{q*W_uf4-#S3#WJj z(fMUPtlFE<6S&yDjQhWR><04BtTa7MZiy}wwT)TYAof+trS>eZ%<&h|?*==o-)3(Q z4JSKk;%Y^j;m4*o$3IxrU+k=t{AKpW=sRDLK8)HN7R`00SdX5db|a=)wW~lP{(yfG z57GT<Xe~b$? zPO$2hbx-7&EJ~u)X;skDi#V#xeq98~6zAQyv_iF4kae;j>0Nmq?WCQ0@SU6_y(7ew7 zg%w-Ot2EHyV4U_6Wn)15MOb-gEV-$=&{{L1N7=9u)WMSZi#X{aMo#4A!? z4w^%adI%UtCKoP8PqX&a2crgtQCihfnJ*?PWGAp5j|6Ks3q#mvfwN}B8YMn-2D~OyXyz*i`FJK}C zAF^sk@M*2>FdRcEEb~(h0X$u@UHgEh40^}=rz9@v7k|QELprg?X$pV^wL!(tn>2gy z_Y6+O2`J6G!eGH-It))zFCsM)l+!g;DhreLaneEvfzaWV_Xl|AfZPkacJ%UC3x5TG zwYJtTE)s-JyO5o83+K9l|Lz7xJ1@2tPA5?6_*()!R_!$|j8vI*6o1jQXy>8GK%v@mi@U*?;PWV8S%tqVZxc#snF^ z3Vw-bSAr_*H_dk0~5pCywV0)90^2B8lO5N~QN5vA|9N z5u*yA&kG(&akkg4&CLv52(Q>EBm(&(3~Kukl)Qj%6vU4U(AV7M_1k!75>buX=8Udn zR@8Sq+N_bT$RNYp2}4-t#@7w;mgB{Q_?Gs&!HWIDeEpKI+pX9f^Ce8dPp8=P|2qq>{(%#gWlG?%W!=n8#h7$S@vv z*GEct%(*;r7LU10BB%41wRPwod{CN zCZUhZ;$nN6;=JYd$=?Z&j`%div#}5PCg0m;TCsP`>+LhF*ekq-qFHHq2=?!AkM0Xr_GQc)@hY2HmfTDA&dqnbJ zqe;T|(+^Y_^*#0w`6d(mWX4t*QgPrXFME%0VC~cF6Nq9NL`oNfG1L;7FFusMP-1?$ z40+P)pZu1F!qWR54%lO6SZf)9thG<*SRiA9i2soN9|Frt(&g3s%$mv1nA-@gk;E9> zhK1}2v!_KrhkgGlfD~NRmn-pjS8^rK2OC+LiJc5CE@MB(kiU|3PI1e&*0xw{H(8Ih zU}2Yj(}+k#h*Yw6(nmHkw}D_bM$LQ zXy2l73ng3{V@mQ*aDTdF7iB>xgN3#Bc|in?nz{vVs_zW~8$c_A!Y5LG@@}Mkz*>9x z*rb;?8ZbGEyctT5L;vp(7LxfrMHH>$v>t>5dIavV(mE>y%~D397l4yt_Z`76u~=nr zdiZT4@Tk^c;sKpniqax21551W!I$(GI?kFQJ<1jhku79K4f{BGH5-$j>_=>J5^rMf z5c_P%ens5>)S*{wuh9<&#UES&RF)9{kz7(A?~Q$^_BCza3FAW6W3S-%8fy5cC)Ut! z2cLYKTB5pQQ+n1~_&r2R*#5I>+f~_@(*4$43b#^vC(nsy#?X3MAcIGTf>F;+~kvPDHyw-B^3O zTCKHLj&*aJ#ti6K&Fc{X6T~D#F&!P-wH3f|8HkWLNyAzRtVm;<_2YaYe&DR$=X)$l3;|EG8 zRw0cYxiJOt`7x$}dlCKgK$9bmyUsFl2_+&}>PX$}?B}!6`(@b1WUkr0M}Ut0`t>Sb zxcHl>iIP-HGU{Ee48rQoBd6jR=kdhQ^7Bo>i`i53^q^G1o1Dd(S~x2yMuep)L?^n4 zP6EDM(QrP&gPZy!e<__gW$#YqpXcU(HtgCPCn#T9;w+{DB%2w7*x?w`Q+-_DtCKHl(_KV(Ws(-ABie@FNOg~0NyEo%HGY= z^BFw$SNCr2tu{8sk>1Tce1vxQCr|Y9fCkGjW$E;1T5J2rWTU#b@sG9Ej5)!TcVh~V zY9+8%@`p|vv#javexulaJcR?}tp^$yysj*d-@r^1XLh7_QGSCJTShuuiq&n=<{ckm zalw#(8NXtjiM#m`hwSr1_BhPZBk^h9QO&^xS0c49rTbq%w^aw?4dSEgIuPGhly=aS zMUm5G96f<$<{yRaXT#$0{AyrQGQlPv@6Hmo6;3ks4JLX8T7~c@UBcrqKVXc@ zz4{W7;|JXSf8F|vmRhnoFcxEd$>yJVoaRf!aE(dY#ETnsY#S7SK$UFyf1qBday%qZ zk{rtmZq64T>hgHXtOuG!IzP}*mXE1(A0&!)GV+VnEtI%Re6Xd;8_=*_@9Qn0W)W?y z9(*oNexc@jQnbzW$sSqgx?>|;|5I{{U!ezZh2o{5cpyVfajC)8`L0}Q-YnFd3YL%& zW#yarV_&WQ*v5bXFzvT^uiGhlb~%1(BoW~KNGfgM>6lcm4$pL<@~<-))5$ZnVI zDgW#{i2&)1>E=(4r~hU7XG3{y0t~g^QldiwQIe<*v=)*p?NdY-bFmWrO6Ugug|5g2ptRO zd(^Sk1@Hq~%k{?ugIIkB{+*g=w$lJLW&8aki@U7^}IDb?gmVXKmVRUDN9x z0;gH$HQau7{CEP-u8(bt3`N(A?!*nW+&8dJrD|zCF4*iOs;4U;ik9xRCN;S5L2F&- z#jxoXaf?0^N22J#9+B5FIg}kK2aWC{1x%L=58qFNl7sgD6(p6Ne(F-X1@~A{yllKx zn#1-M=Rmovb2X|C@uEP+KC){6Brl1%`9V8LZ*7jHy5$krhDLbe1sPy(WSprWRj-$~ z&?a_;55Z^Es*e26gkR8(6ahWV>RT~LWZ(JHTUiCimy6Rb_R40u2i`+#u$vf{t50E# z&Z!Q3+0{OP{SWlFS7ZI4v5Ljejs0BI508A6IoDD?^G1wP zy9jgUozM16&xJAG?>I+X6qqDbrI$ag*v&>|o1V4PQr#KoPl*B7vFcniqKAhCZfXAy zMAUrq_LolBTp`nE7)^O#>*fp(#M(8tUJprF;-o*y!=-&iNtZ|x?XE)ppAjeBHBEk5 zWJ&8w;Y1nsL73`f8YQiliwC`^)>s5tsl5QLmx{A|(8yi~t9Bpyj#80j1PHlX)(MKz zgmg~0;LEPM+rS&b(-4DEUMBXEzAXC5qP*k84?LdtOXetekL=!5-hVLjb@)s+j4_T2 z!!oX4KwMWVE|^wrl=A)uUFg>51kJgrF7&Gwa*;0d-|0ESrRUs@*@oGS*wgGiVmf!O z=HLQ0iRuK(K}o|P>YRTO+f#S&q4lH{B=95&+^B(u->D&;n7PGYHJOrlQ!xH*oRQN+ zPX3w-r`Dh8k2UR2kX>>VE#&<6;+zhm@+qtT`~!wPOdr$9e`{nM!(nx$W|%nUXU(# zABHKM4e;H>YamhNbefXY|5KUa8=_SY6cOaT5Rua_RZq++CGR>PVHpxfl5~e+)TjYp znHZr{z562~%!bRX@jSg;E|OW+64JFBf}(6BGux+}DbOxeK{3`y1%H0T3W9du>hV%R zwe(XtDs?4{Ja-fIOY|Bo52WT>@RX_JnS3Hzoe|gx+)ADzl^jTgkgI8bZo;IVy$DX% z#caki{2_I`mP#6r3N!u)4_fh&GM=_1w^ST9p61BMDv^&lQZcAf5jz1@4kvD)QzIF5 z>@||nr;?HB+ZN$jEao4JEYuFI;z#AAGwQsQWNaWG=Z16AlF?d-gRcm@nRr{Mz`Kp1 zgAU7hK}gfG0vJ0*`(eD0TBPtGE>k#|MN+&esJdB>GWBJT>8(vgvOUC6s4 zkMlC^udZ0x@(vMz`-~N9p!+Akr-LLW3Rhm7$hV7Lw!9DolM_WU+{1G45yngSq2S2; zAnW)tQW}0R!=tYGN%im@DWO$TgXP9_b(J>^OALkw%wQ?U<2hG+FN-DABP=oCTD-87 zCFZm6BrHLHEBA|tfPSRk)4GMyS z5;QuApn}SnuqKd@+uD&RBC;urkkN4gp_|}_!A?VZ+E!f0ahY+QaU30WltpAo2qb_T zh}*a#D%@+tL{Y+?|9wy0+kLYjsNX-|^YJ{S>(*YU&N+3?sj5>rrxINgu_EA>v)~7M zO#I-UI%HAWw4xZ2(iecjHm$oAnv6OaZ~ObMY=I|IiNchB0=cCu>~8k*m?Z5Nb61P* znao~-E9K~53}23N;7fnhaEw}C*kSWL;>$(3HommrFaHFSY$dNF9s1H3%ov6`nrb}N zdFrgPaZ9fIZ#ErMEMnqgb;D&Sb;gz@-kqxVpd>WzdJdQW{Qs_&;m--ir)VgL2U zUQTuZ%D&Vay-!L91dwe2EAHHayZ}|L;t_=PI_!4xN9pa9c;@3fobQ6WrZ#Kub)=N5 zEY{fxUEJWrAyj%S`Z|d>p--6v}L5RIh?t!uc zh~>dD_8n#rbEb*mF65UoizqnBcwn5iTqLI8BhX)+jbvW24CV_%1%eBk~yJGKQ4}rfPY{qj?h}p8|-&Vue;okr^&I z1g!-pND3=sz6gHF`XWhJ0Cak8qVGC{m#koTgxfcTYi8_7F;2Q!2*5QHrZCKZXq#T= z%0xAB#uirL?5jGLSAW0K1LKj*wsKSaPe=6&_S@(NjiCNsMQ7o_1E?#1`7ZDvJvUH} z4=p$mA7Z6hNQLx#E)Q}j#~ODRWK!eakB}8fYqc74MJnqGzf_JGnoo6DOwHXQL))2Y zfl)O)giuS!rCYVsq67|sTeaws8QqP8aK5Bw#{8G6ZzY;SzwNegC|-ib)L706>QA%~H7opFTF++#7BF{RZ zZ=BDpJY^XU}-Ky0RsRGW#sp5;3U+@KLgO$T;0Zo}1YaLU8A#=2~H z2*Q5k&IwB1#m3jW_6>YvAEYa6#)J`;CceN3*O5VQh<50Df31GKI{F6k|Mt>I{w`?@dy1;_J0J=IX zj6G6dU!MS}2KXKLHd$&~Fq9O6G55gb0RX<((rZhr6R_B=PJn+DKUh7T0dR3y$UQF@ zIdNgl9E<4ye!F~wuhT=raYTHBe@Cn~(ixh5RF#OJ zL|mBJUD~?P@cr}^*BHyJ<{SC7iff2DR(CDF*P_4X`N-hNKiJOiWg8@jHtm?*kw^6h zSDu+aa*l^>#D6Q}&=x0Xi_c@{5-ZO;P&phl^Pc}}b1SeBQr+xE06VOJeY`2a{ufLH z#<#!(Bx_8*RweH7GzzlCInc5Cx%^L;G24t-GW2>6nKdZi1AM`Recb`QTqyP43s zFB{XM5c@ZR*uA4PN?qIbA?oA@$hn?U>Qgn*!>- zPL@N*tH|V?8mf8CK3>VdV+Nspz7z$A(-9xOU2-@!8@XwWbKY4fr}i6dIVe1Kjz}gO zIfw}74aV1zjTR@c4jm8#S_K(7=y~R@YMe57Nj{23YD-M*`L)1zT7UI$cp>Y_#XD8& z*&?pbQUk|1R6G=sYiQz-K#zYz&we+51#*^y&i&o$FNyL`Z}txfzXfjXO}J{dSLe-HHhi!@2m<3lyC%Y8<(0%5VX9xThyUUJ$tS1VQtCzU`4pD z#B&O{23Y)B*v)Kw^FJ@ukZ(Dw*@a=%FA+ODnL3Um7%!b5KAS*944mSwOf;=IrH)B69Ue-6#oWg$+ajdo${zB}VGm0K`+(rNW45;ZX=pqM$ z$H@yUTX2(xWd$PL7X07lss1LBXJdX(agFCkibkURUbuj$1M2pFyXiZqc`lhNZpVdc z`@g+Z012HA$PpLUvDmL?!NylU5pl^KBr48ZCLEW!KII1-A~p55?#D^D|I z*>WcYuk=@>O4?9~L{RXGwW1$rMH&e+G)}A(l1E|D;^}y80qu79#%e~~S86m8$Kyjz zI`N*6oGGBAa2tNOGm2N`wGE*XtPj=xMtRF~7p*2Uv9M8r>dZ5%0Q_1U1Ji<2fn6dL zqWR*P;GET45`oG5;tJb@6E$mi{EvWj*jh?SYxCCVh;4bbFJNHZM4uNVBged(GhH0A zw!n{O#GiR-bsW~sDy*9|{+;G!#BEtW)bL#XQTB-Jb*R;NY&(fCBxQ$6tHg?8FXhX( z3fh<8)n8-b$@_5-0jD6j1IKzZV*dPf0TkBV4RAM!b+_8T!`vvO$E^gq{a5&?El$@K z>sZ&S5-arsl_lVhwOH4lLRRUwWW_q(a$NJ7OiuGStiD|T*h72$Q$73_Yyrl%C#m(1 z$@cp9xmy32{1%dp2e}AF?TL={0dGK9CSH=6Y%8z!m%*+>8k;WUK|*knfNumWb@iRF zj(g(Q>hU!|0pBq?{L_=WH5j9~97CYnN?bTE;^GYsO4Lp8tl~fik#@FN%ZQENh=ekL z&GxqTTHyga8X#5#91%wUQcR2u`eti-=lIM8kO7_RJ2ht?DL3L8OEEg)I##=<8t=ns z_s}d+ajv9c?V@9!`EWl38pl5N^b_Wu2Y;be(0kw31D`i4`C+;%8Aq)tl@{8qTyxUV^0m%Sum(6}8e6CH)R7J+V!?OVY2i(p_!R zlO+8DD?O=Ada|USVWlUxNl%gVPF8wKn{>CNe+z_wmycw3oAeHnPQxJ6JG4pfDCz&Q z(mS?EKT6W?u+ooelb(w7*)v&pYMZn)rd`6cw3calMDGNddiFrvUPa7t z^^^WMJtF=y7Q0%cD~H(|{M((&5$J~a2~37FzDVjtdi-~|G^s7V1n2u|6ZJq{LiN^k zv_gL{mo!&z#le~C-8ctUbWqRz&i@YDw99K1jTouOTY=rl+I%q_gy>%nqN85@IUe;< z{AZ^&-8B+_ydz=3pSgv9KF6Qw8%wn*)uq~1M04QsRlwsZz~?Ej^|&AiD#XPeAQ5-B z=uWp0w5z=H6Nsz;4182?n0;-5wyNNcgwleLYZT(ZmN(2E*D@}VafL18T#W1AGA@a6 zC#X1dAX(LkiRqxNx|pqYDS~`nV>wW?$LH9~Xt};)+coTxi_g4Z!i9$Z0kP?RkWP1( zLbAs{fbis^89MHoq{jhsA@yy zO3=gIXIK;W$f7SCkBfH>6h7Rnp#|9PFW1T(*&BqV8H>0cs>RLnAB-ZOOr>P|yAvJ8~!dP)UdLpY=HL}TauS<+etKj>gT(B14&H*$( zaJ{pUCtqDBq&*oI+Y9@Dl%HLlU;TMve&l*LB#)l>O~-EretA_k6Tcbw&BAXMe*5CL zAAbAcHwV9Phl=&8Fn71M;9S(MEj|}kRDJU{c5XiD5AG+%#)FtLdwMo+^>%oV_JA80 z2@MZxs2!Q;o65*UMrPWPF5f6dx)_;dM<)3OGBSygeeK9(-zkg)^>{P;*^w!}bVjBy z@*EY3j>?&NZR9$=`rCf!YW!RIk@G=uYk^aKV8d%bJe+q0Isnd>%pjokcpMxqj$AV) z&XfHyE)mLVUCvpjEJI{+$TBWKfzz4}f#y;qwK$KdEg5U+^Z78OuflS!_(lI+;s+Gx zC*Jnmg>3+wW~k!&g7eh)p#ta2lJ-KzujNNxwDURrqlW_^BOJxL^o%8y)Caq(~s%lOn(jO zM!(+so5|mH;)u?c_v68<(z||ugTwu+5IW%^yz9l$4wiNh$|RWUUgi#up1tM#)FIN5q;ub9sw#qz4-0gQ|d?Pgu92U`iDyW zh;h|Q{Wue}uB<2i+AVyK7I0vw=KJ1;y(e7Vut~4 z@jTg|`g|gPi=e)pE-r+l>@x1gY$%T6y9kKw%bY4BatfSZM3TP6e!RWDrY2()sk###zOHflgKWwF+n*mE>5=(a!!d;3 z1$oYt)$K`qs|orNI?lD+!@W{X3N|-eP6}jcoV(YSjF|zT;ZU3q z5PNn$^Wi;A%p{aF5T!R4Ivx3alkr0@dv^RUlc%(V<$x$GEiu{JiY9-6$wb))X@yt_ zc>V)bLCdONYCI3c-l6>}c~!|93Z8#~R`7oYp7CIC0P~T-^GTqR!uDSc&vB?q!SnK- zhk$1@kI3!volZ<0fGMHg9q&6Ce-nMD<8QL>O#Dsp^~c`?-`V)vnf?bK7eSTb7bZ|1qjx6p53|E9}lQRj>vNaMEX$yB+3 ziR)+qJ{CF}1kUqepQ^U)&YP6onLC=X>g9Y8^ee66T3ofD;#DzK0$^zq7>Kz3)Sd>F zBx$w=)dcYacgMA?6N-oMxH`DmZVwb7Evu^+5zwc0;QyDN_(rrhJsu+He#pzz)blLW zYAsZ&H%hf>IFmg6JBX!C5K-UKChXG2?bIf$*T%i3T?#h7LBk7n$ngVmHfo)92(=Vu zr@V>Wwaho6ido0iFzcnOkz7z(a8Xn1z1_&(H?!q^=IgI4P36e{v92~ zZ(28;yWFXr2LGLN;;}AaZJJoUQ|pZ7XsaEmg8@wz9b#*^->upmd^9T9(Z{TN4Ad6Y?+dcCr&toj*e_c zIkRO+w$)a)qa4{%o!R0-!%` zMa49}0)B-yfyO!vw2TyA#*{zQqwEy#fHZ8ffR1<7>K0@HBZXKiY=v*VrSReHPem1< z5N4}VN22TNF{GsX&=&A~J@r2fd>sa@(OMsPUS+&MWt0pg1ZEgTZBLuetz}f@%t0EE z9Kin#v!}O8CF)Bm(0;@03tOcU<0Tc?zG3#+b}BVTcF;}*lCPfKRa@nam9q7-L&|%tJnBI7;rA4?ZGXS?EYmK5VT#;}r zxXS-Lg#~vD!RvSk3ltw(3SKnSZ8je1+F}K>&YwWInaK5PEZ47#Xo;XmJq~6tSR`!u zKc##a%jFdBd7uW5Z>i0cVY6AHXGN&xs=#{hSX zsLjq-0vXH^SzUE>L@XHzv}CCM0H1qeVz;G&PmKd2tpUts>@V6_+zA{$?&9lH)z zx2W;r4Ta15EnN0Z<5)P(8*p)s_=~=~<~ur{0z{rQK#jO6fvI;mQj37at7jjpDrs4; z$Q|3i20qo_?^sX|iBIj>Cm=~+-vLvN`%qLHf}OCe#xzJOdo(}v1K{K;A$C`k3b73V zN~_QbGV`3$DohQuH_%}gwhW@W!EB&~ZEbi4Wnpa?MfD(^<^~$?Hvv_ZxdC^^l(_-w zl`=PkBmi?m6#{@RuV;Z3!Mq^0hX=`+r~(Z|Ab%-$KZ--&KvWjXLsdRD2=XH{XnE*@ zUs@izXmAr0cOWq!CUxWIJmrsjx&_rF#TEx>Lbv29s%^2f(LXM_Br1l$J+#EPK3F zep=cQmLJUWDZ-%3**}! zL^zc2uko&0FkRtWr${U|#(+|;H_3{HUv*+MqnHtViuTj`l}Ey#+S8w*Fk=grDs&tB zX$GDG!vJYN^^i6#vnh9gtSNJ0dxv%p9{rSS8a&siRBRkCcQP$^eP1wrg>QQG)&yP^ zZZK|3=DIn01{Y26x%=X9=eIb!$v4eXu<=CNXATAX9!!r~Gkqg){>N$jU=2K1b2W`0 ze-S1ATU2IL9oxEv>?Z$XYW-=eqx;*}(WCZ08cj^MU~Ykh5rw2_+t#PX2cfFq_H-Kh z0<|s}`!G!-v50Oc+h%q{?uB68#yTJ;6jE~zB8=BSIga_W%vU6D` z3NBW%`wf#yDNl1x;l{Yr&V_}pwjKr*WlvFpl1NGSCI~@7`3Dc=O@N)>wcC%zLr zxi~b9J@CDtU5_?$m+>?VFP84VwCz0M;5T|^NN+_S=91=p$XgD61Lft!y)En|4hLlIGU*wErLvijl5xHWvl5lHV$$cVy4NeZ!l~-@?9?GR{ zL{#jXB?0yjE9C|klCUWVbHo%YDZx&1BMEzhNE&G+CE7`F3qJ?T7n1r|NiI7HM`Y$; zrw~cD4I#-+>Vl+XN%|2JO*P)`;0^HFF$c>eO7Zk2lTz$bJ&~l$FRQF1x1E%Mqz+Q* zNh_&?os@~Bj*=9zk~-Q+Sx7nxN!)C{Ir%6%x-X(>znMLO(W!PcZadCNV>I@yV0W;i z;h}a8cAodnK3!}LfvWQAE!{);IWOmLAfn7{l%owTtOnNkhTT!C0ngPyAs<=&d3p$5h`Cj~ zY1UO#(HR4KfVES6Ni+(`pvy+_h-eg$K&RzkcE4y8CSOhK|@vVVZZzZ|nB{)DXipDp)O+S6C@Vhq-PZh5sM4}x-)JeVs=tlCB=-?QXFH>HCt zwn?cFCzzBfy9EKI%EE(|Q!4By>$OsJc;X1VDN%j)Z;%b`o0@d03VpVa5}(_-eg3X& zpC_URvVDG$1aKhkdIVx>?BGl}?oI2dsI&VJ5OID00@hY~=(FO`ezlRV!_jFDZaBFe zJL;*}DW_hWj$i7v&~s%+9eS?psB_1idM$U{sn=#=9m~)CKwEGon)r$R^i*4cb!xTg zcBE6Qjq1Nntv0IvIUz;<~DTPP8_SI~x*uRfr5w`NQ=iiMfz^+WWJ%M?#^kux) zyZ2Bzd!o*mzM|^=>W4$+=4oQ7SK2=SA*ucLdAkJpAm$qDpxkmlILoY|;<-K^JiykE zqWu01k{jiZH4*^7f0co#{`oS$c&aVy1UKFyXsw58M_-)mhMt(LjfW&K4hF4pkQr!T z+XmwruYkpl1#NDnkxrmh?d+39RDoVG-nOdsT^Hm2{i%F_W5Xys-nOeDowniCv%4_S zS+FVuT~+3Z`s$;tL7#!%c6IMc z^N#Tya=mI#|Du*Hch`5SV+KJUnr&e(gwnl(?DZ)D65KXCjDS+Q9fu95g!QxZ+^D{N zbQ1()9D2n|G)v^v!5g3vIPkkB2wy?3`7ZI~eyS7Mp@wZ2HLN%Ak}m$B?B${iysv_u zao|9lZ!|S&OWsEXo2Yo7N5%U->uA70@@}@H?uE743m+cUvs=0pslZ5RkCLMc(_qb# zO3Vv{!tF)IW$q)%+<$PNb?(O2m-()S?=*4^wKHCUW3x)H<2i#>sjxh!hp;th9Xv4( zyFRuzKmQ-~<9B|Beq2cvN6wb{e}#U0(E-5FmM`Jkw%%&*=hwsU zXe>1`_#Nu}z+v^_36?(m5~c&|gW2Opr3cqo`tXES`tZJX^x+gNC{cZ~l|Eb##QK%` zFg;SjNzcywF}#$Ex8~o0#{CA~ntu&S{%*fB^w;}0o}t?1x~&mUgr>?IJm>- z&aW$E81WzBf>Irgj8K(v01kd9AOyaLlW?#r8Uq^k!JVwnFKh>F2A+16G!c)%fdA1h z#iMH(^wg=m((ukSqvqgI8=j}z3OQaMRFFBxk3;B9MgY!Yr3YYQ*W}Zq4!a|)P(D7Q z(;4K}LvWBMG1wEurLU-;+n-=2T$|v<68Lr)Ch{hD2XSwk`P1x!*A7~-j|Hu; z`3az}g6>4tSn%DifbQgWvAG;A{uKY%)Cl^;tl=w_n*e&q+|1W&!aEE5VM*?50$qIo5 zzQ4ni{a4}p9ma5^@O=urqy>DHK7!Yey`l9YLc9xoq~_522rUEfe$6Gf6}M=mhkOVn z#F8R59)?LgE$ep+C1jozWh)_*K%)xAmr#m0h;{Q9!+3lwoid;dx!N_*>?_?9!`m!7p4B*`dddt3;TYnZ`>Kq!C4!= zz@jZ48J|-G7Z0?C;v*raD8YXd0*N_AiGJ)rk96e}x%^ilkd#xDfj%YK*yY-j{dU|I4Y;;DF0~)q~;W*`gZRI8L@Imwq!U+f` zAiPCeITANQ$0p)RhN{s4UCxKtJMh#AJr{(>;{UmNc*v>^@IrDD^#k~d2}4K9Gw^O$ zQX|@dOAg=Y{PLSKbK-m_=W8o{nRq0m!C3SGG6&YUC&9fTeAk`2)wU1AAY&L{gr2Y~ zb7ep>S2C7X`OWNA8M3ihg)9ohSp)he3PB5-r~X~Z#|oC9$tJU z16fz{Pf7nO3b>ohseCRwwvp>fuRG6JyPrv3LkyL&+E5k`5OSoAkgoTsuT@PuP1bLf&*d zJJ1;El8C3J16y~)RvXysp1B;s{#BuBc*ggH2Y1v%gFEGJoY_$Sq_SJ)hdYJb`KVw& z%I~kg0~HKF*1y8WwVCi^m zJf6sY8cDz_oDy(p#j8W|U>x4megVWyD53fUAcW zu@ow_YBEk~QNBi%uMF}Qe3rc!8!kWFgIEt5(1dl3kVJfe?>_KM< zMvRojv6o$^bq+3N43F()A+H`%JqRsg6?kgF?nrG4=vbxYe&$OudTl{(A_E@6EXJnE z_z!rgw>3m?FW5*2i;n@dOqHq(K7&S#C&_^M`ok_8gj+v$<{oe7{wH(KM()~RKLjz} zMf?Q_u_fgVEy}QsV&=Nw4EzurT6S{I5QyVEsB) zGx6$OXIv=32IB?@riW@it#$K#Rr4RCI%}#wyoqxx4A-7G6BdeC&F&GNOB*cH8uk}UB3Q2(+86^r6GePvQs9hMQ z&9H@u1`f4tRv z8rl?A0skSuMDQnL8B}<{i8M$ZImtLq=2emQpcN!-M7mVuWCAr3oWY;mI>dh?z*e(A zXa(mRk?*U>jgpHCYpsePzF`GNgy?7C!gWyzPYXT+w9+HfKH#3ZdhH_r@<}y^0?f6N<|Tp6x1sCTrBhAD8vLU9+pOmOXw$p`>?}&3pMyRLKx?%k9az$UB_Uw$ z%vrl_dWx1KT{o(7T*XO<)?#Zdz%17TXs_t7Kh7Jzx34)QlCb$rEdCH{*I)pp1>7f4 zUyKa6E{2dD%GhMvauK)3hpbA)}r~3(RoyN z5~{P{{>Rzv!Tn-szRB>a<~v%=A0S$bm}cCDAnD;5$YN$Tz$SXup*nI->yC_89Vz`w zv?KBCNEc z+u&2PE&h3>dF)@S<`b;ue?*%m>cmO+MiiYQ*|nPTo)#T!O*kT)CiK3Z{gxiutyk~H{gEJx zXbawgusW+7WIldEy`P7}qc{~53bG{Dd&&gysFeNDDn3Wke0uo~K9rgt8ObJCw>ZqZ z05U;A=sPXz^nrWmp$enY zD%_Ho{xSYH;v45j=|S(R@9~T4I9I)icseG*ot|kQAWT;#8if$DhuiuLfL=PJWF#!&_F@OE%oH4Z`BH~wbk=f0`k(Hn*1akLkwat~dG zE*$7A!KKRVz~mmb44pbS%Di$UW$5a`Q6_jKW#|ART4wGT)h}ELIplC0`D^E%63;2e z*w^ud=L6cRb4CGTMe&W+-AG=%d4TA?*mVs|j=d7 z;5z(-#Z=L}h~ZGM0)P8gH7}~dZ)qs_0DhVmEtS77$ls^&7oFtjn-@JQe^sW160VfL z<@jqfu7>Ud3J-i!PCYvj_`q`?!Atpze`KhySc1l;>m}p$_bZNf z86nnp6wHD{Vl>ywvCBNzu|+MH^ei>uT$Rl!vGfwV zJatAulB=)zom^wg!}Krej*dXloy?!?TH}uZhk0gHepTpUWKu8--$yu`&+g^oQ$hF< zefn`AKIoTvB$5FRs4P!0CMzIQkBh*jT_-U9yNDINpyxf85ftS zYuVlkQPBpiU`@W8jb3kIf&;bj1-Xkd5aWLaIdlZDK)0jDZsNS!0#1|hJ==*4I2)G- zDd;{yqEag>>5G$4f&%t<&cV!?K>=bp$LVNR3!Vv7tPco(76v~CeQ3?#eZW3p@F$qx zx69z+A{F`p@4LaLk-83vU%HQytB|ey*~D zk|*aU^CU^0F0nk|pl!NT083G%5m=``pt_t|#9`SC^)~Yzq`{HSbcl!e*##UjP6n=+ z-!$XTcKo3^7Iq7>$G%uti-v2>;d^88BckD2^R#Gqt=Y#B{{b~xx5Y0Yji<}3ap_WZH^cUf;H>hv@>@0&RwE{CnWBJ)Z_z?@Hu7mZ)M+E+rd zHTJLMqUOpR48wpMR++(gsb@D$a{*+H(<&aM@esGfO1yaWdk)LZU^yQ5&gSETlldfQ z-ZCzq;2O;oxTdPimr5}$duk@GUN#u_VDUj>LFQyWT!q`s({Il#XH9mMc*QUYO;uz* zfLJZNLQ<&~K?vh(r##DDSCRPwQu$BI_GV6IwuSg$clvlEPi8*KkI2iJ<@jyUsb?jh zmi??$z-rgBAD`%vhco$P2WqZD8U90ad>-t^30M#-GCyFH*0~~cog_6>At&$Vg2go> zc?*IVLq+Cp2JnwzUVWBu=;6%n2s19jibEN;hxM)^GsjBHv(lK4FNR22giEY2n>P^2 z;l?4(IF(8p*YNitLvu%!;cA4nl^FhV=_~5L6nW9!Wc#bt;B^Qli)+5~F5`Tb^lBE8Nc$ zIq-Z4(1+2ubbNE>g8a3fG3ncC72*R(I~ zIWmqGxUAJ9dFk?UFOd1Y%^Wxm{R54YI_#kIQb_#QLu1mHT{8_h6e__zY)lQxW2=wp zAUyh7yav|`BG=&V0Ia>MUPm>dhER?1BLtcXT>m;C;D+;zCe{1MGE2z9`wrET+4#Cf ze(_GE%CgK7zWy!0+l^=Bx50QEzno~2zQatjhQvK@4LJnfHfZB-V{oFsuSNSo+=7Ng zkaj}_UN5+#SU@{HjIlHQa%WKV!ohfc;bX2&ieCgF7O+eq%iO8T3{qu|XPHkh z2wB$$Cu+ehv8f9dVoj>Q8}E}v2BhEan7*DHloHJyHkrKGq+O2zIwtMzT8tNOJ)yM7 zl532-QV|}-8OhYl9HWE?Ea0Ax`6IaJq6bvb@roz$f(R37PgSo5)#|Ag*2Mz)l)9?bfL zBexf7jZ(W&ABL4{wbx&@*YHQx-d1Tu+WWoL-kl=I$x{&LELB~2SYZ{g$+#Y=CcR0C zJZjBn9Hoj#n*TP;=k01fuMP`3vj0X&DfCx;>T6QBSoUYNeEl7 zDwhM-4-Nf$(3=PgZ?DEZ_*O_eH3VnlldDNP=n4A`tLviw4gsuf(^zz zh~(`-|F{+{8v|9NV*pkQ`oaJ3%P#N01LF@6V{;_!Aaw<9C7;X&;p%Pejek zCY2{IfIPF1M{Tm#n9nxZ;k9OsBm9FSe2*12e+%)#-kl#F4cC}`qT#jXU`P07D{L-{ zM%I`E9W_7ih(E~@{|`reM@Rgvj`;6)#X56?BmP6gTl&F?dqa&75iIzz=MMLVa-N{| zH;&7sdn5Rd?W}NKdh?bTx=Ma|4RfCyVHz}`&);yc2=9r_#aX5SZ$1SUj(yV3I8j@;7R(HEozdxOgxxdPh98l2})4=p{E-CcE@t8%ezR!()bJ^_?Z2&%0>dG{|db`UENFE4%H6=zJ8nVx` zEK^-+hQf?~^htpM4|lvb`m*zvf*Deh@WHc3s`$IfT{k-g@801o3`V`ltBtJY7rWe* zUG9f2vwu8Ul^^;6PnyZ8ugd|ctMNZkkBkPKuZ4G!jd*`BJUZQz`)=8Z1(k3j5Ki=l zu6EZJKola>qHoQ>At8GKF9FzW1n>IHc!+CcII$jzAN9dyc)u#HesPQWX0teRr-v_b zL(dP5byGgzwe!IVe%yn_ReL&Hsl`dHx{+>#L~huOUwKf?a(#(jaGY5G2J>w3(T?nr z%@0vA?Ydh)Y}QgZ75op7I12P+H9nTb z3)6UT)X@QK1!C4v{#!WkvDxsKpmMa|<5rZPA1#k{wZel+%wNPoQ^E(FtTXf8=-k&~lEQknXOl?oc{u1Ys=Sr{%%mGY_eA4ln1 z&F`^#_yQa++Fi~)%y%(+<$DwSdGa3O@xU2vF;H%fyE479lgbE!4e4%V(t_J%uIEsn z;nQ1e%s$^$zBkc7f|pu*Xp6hmrog}q3Prg}xa39+0TlAT1<3nuip~5VuowdJogqCK zsjrZ<^3WM9baM#rXkF+}+qwd%D~okmSa71M>i`hLs9Fk8qxkXC6&T8$#nl6VdE4o_ z%_xRNT^@*X8N%VZ_Y{_l!U&6SR_`rupJ90a4?b7)O}jmt_ItCp;rXw!bM*L+^w3-M z4)~!lRaU%eJ^nv>s2FgyY2I?2A3evb=YFc)#--4k`$aMI5N$+#ar{?c9A2&H>*Dww zw0%7dJpeDU_2|FryvX1j%0tPh-5b6I^7a_FH=7Um+e7b26u)?MgbqfF+@;zXBjK^(p*00s;TF8g zi${5tJd9Ui{)Bvbq-$5A#1*dF@X*}Q<}LZl$q=nK?`z28gmH(*!?*UOS^iRQcrv_a zU5eO0bO+4*=heR<@*8=W9`+D^y3e_hgj3t zvcx!+P-nH-71M)nHC13+;S#q#=t8iFml(?>DN~aB>){;ZffqSBQmBi>^4v5A75;nyn_vU`3Rjfmt`2N^# zOa%L`sPbgP$T(v^|yz;jOlaucD@S!*lcW@MUnJT!0g*bw#qidvZVX`%F4AT?ngE zW-mFA3Rr27hLs1ug5tEZ(+-E;#!7RW!>mPT>Nq2#R zy*nHnEC@Io{jgS%f9avMI6|DM=fcE?vmBhr?i#^zt*wNA{-9LUoZSL&g2 zG95<6g3L<+PMn=zI_rk(d{gFROw&U}>G=?`X3m^GGrx9ZDhw<|?li)+=mfCl>)mq9 zej6f`1td_bVeyEny_~8%up!I>`7vxH#s#YY+?ezX_~+mlewsG_O4z!V;dm5k8c>Cm zjQZ7u&k_P-0rqqGIUJv~(e(3z1LiEH-002yTGt9uy(cmXKBwT*1`k7O3l`EO0!t01 z!8I@gz$7x|Fs2_SCI_{n8hqo8E#sSivR1qk>dkEc?4HBQ5bK~q5Xd&#{8wR$5(6YU zNU4ug^n#Sd$@aVqK4e%y`$u3myk&1=2O?ejaUfB~?~M$34T75(s{j~*ioi`k6NQ>F zkO;^_$uo}9L#|BYcnWN7VAfHae<8bsLpp@nbEug>I)Pnkl{wdysV(S-%zC&>rscoq z$7hf)3Iz`43yFyW;>njm$RGIyYH&qoo%_~;?{jE@HCMJoVT^4SgdnpQ#1pli1oi!_HmddQdHZ$U7E!2?ydtbl?IIV=!mg9(|2*0++8=;|c7>;76cpd+^Iq9S5Jm zA+*YzTca)TvK#bXBCd<}{-gEK4T(`h*D5+<48~JfUrpMC(c7*ZnR5uGS#2)W9zuV-l^HLz7P`I7oHbTwYTl;r!;O3FoD! z3C1YC_`qcOnXcpN08UZVX>#V<(#&BP(1g9t}N)tz_}fWU|XEkwDpIMx1c~mY|kQ;Yuv1Zf*VijY_JlN}iDTJb=jnKuJNkAhV}65hx7>C+&kAD7)!a{ycr@j43l` zO}l*BOx9kqbmnyK&WP{=kc^*60O?#6@iigNSUw8Kk2+z$`SU5X6&+E2h>f945}@ZwCJEH{ra3lZZ5h-4xG zGFB^ci$3ULz(p%m%@#-ILfWj;7UZE;aNe`d;5H94qY`guxs-?C(hsb?72u82*=T#6 zgvfF+JBj~9flI7T9(bIcw5DMY*fn7PiU?NNhU3D71}a$uAmR-3AE3k8!fe{RjX*&? z(Sk?Bm!3udXXuHzKXfhSC)A;atWb;u9AvvK`pMb>Of2P(#-pE>9P=WMkud)l>F330 z2f&=nm=TAn0VBPLHCQ7(LG1bs#xYWZH5yDpxs0H}*!LKF$o_J)P~*b=jO`L<;Vz&; zDf$UnuAy1$h{!?2-B!e8Mr0vkowdl3NYLY9W9xD^9}&^BH|gQ7E5aB~q|15Q z;`8DwM;)y##_@zvoh!$7mLmays(zLE0NpU$z!#gyprmV1KnpHLYYui1-DTOR-S#Gu zs63lz{e|{XyD(5HX^WKoBg=+cZCXr|O^aL9ro}sDxwWpWezIwCh1#@WjWEU~rAdEX zy0*9^9=*gJP~j_;Md{`k%y#L*7=2m$8LvT8;C{w)O7CGs&JCyuEBm285-D39<}Ij( zFc2GtNh=iSEdFfJ(~FPV`a0%ARBQUD=EfHD=Su-Sa1hh-dzqGln3m(g_4IiMw_~B! z=ELnSKeXTQqc=Z7-{-%Aym6jo=Z~A8^WNHPCM^;4g>XV`EJ`LKV0LVIq#{{ehp zf07@~TYgN^=3{3PHEe`aUr*E4g3!ABK(!0AeiSnN6&cHx7ltOo?L4W#(gL_w0wJ#H&hEOz5OAzpU?(x?tzhzcoS0dQ4lFf zDh_Qj|0%2?FAm?y{C+6*ox*S1ju~r0`ORp9XW3*<;k0MbSD??)`GUvhYE+jmv}c|# zL5PWQW*&kNwDPWnp!KefS%<)I6&B*ikO9+yn7jXqu11DTgaBfslIo(?Sml2M@;13f z+L^#tb#6^r`a+wPj5O~XT2>)$ccBDajxe@f>lZ*24>dRpP)eYnm<`cZ#9JjlVy&Fa zIEdLWvEeI2U+TMI21P)T0sAeTK2ynnIVfz)#|&iAp#*9g7-zhUJrr77@_2Trgllpo z`vK`MOG$l@w73pYdPD+CmBbl;;WFqDTac&(z#o9|wg6~etz?$R{>&Mri5)Tv#S7z3 zD<;p27~L{i?G=+%i6?S_n5^*JCrnmB(i)_a?n?fHXo7J*y1~ z(kOzr)obbP8PeM*pnCB$^a+I(8&;`Sjwr15Vbvh6J%P$>@g^$gz&lH{vbUKLQi}8g zvW&ukI^Sc)Ql!*BsQ3`8u<7~oK0kw=dsO@ydYu%FE zQ1dkoYQ78WKD(A99kFN9NzLDaJCpkyIW;f;yBa2Vjit4Ic(00yQS&;9iBj_`@)^ae z8>P({hW^3&j$-IIiAXx_w!>2MFd10V!gbn$SWJTBa=dGB-bA+G2zK>?zZMxQKeZTbz)wNTlBQ`ELIl{+Smwp~c zc&3dVYu!RM@EAu}EHP1z@OSx)a)c|T%@{|x)cTI%c#%XTb)S1!j&QmREa|da4#g4n zivZA?Bm9i@{iwgG!9~}1|0y8-$tjbU{S>{NP5Zz=FL{{gvnw*Y|X> zw>ncUklscCHH@Dv`9WVRM-)~)BoFQD2;&s^uoCm&0&gRnhJ^@k40yv`LpRf2b+G?O{deFvLH}Ka{j2cm z33fbQm=+&bKSA-`(EHV2B?q<->u`Xl81(8dTs$f?Z_k~mMqBUzwtL}5sb@zX+TMeP z%J;?l3g9&kr?b*VR9<|>cn=OScmiwrOebIKg@JU+W)5& zyw|8L-n)56?*sMsEX)tz0mc&-#Ce@NaQ!86VY4_anS%zQJEN+1nge@q;EV*$dhucc z2C@s)&wLD>2`+|$Ne7ifJ>j9A$n5bk%f#C^Qk%Sh`=~Lpv@8>z+_l;QH`>6}3ggca zVw94YqavpkJeysZw}$X`Z2kuhoTM!n#?GLzz=0HP{#JB9Qn)*?`*>|ZEyA8FTnoJM zyK!{L6Df=zQCo1v_=$i_LVj&Q^7xaM#vzM0+kjeEP#n1ur|VwC zi~y|3<0k^7$By?4U`qwirO1)Yw9ELNeEC!-_+}qtgBu8Bj)iFz=Uo6#flN!>xgU>I zYC&HAIRsE&=PUwuCWS3{g3fwlCWxDgz67G&Dpcc;4mU`LS4oFgn3Dmch0-``YTjs0 z#h@1k4$PgMq6n*#A}kPNZI_5$IDCS zf5PqJ($nKIOY`TMd0Bd0H5zMP$-^Mpk}5p^wjL;%N}qp&?%daWDSCeehCE(S!@SgL zEpVWhwt#o*0VlSMrcm<;)J%zAYLwoL^)@O)Cfyfw$8LfV~=1Kwm^yz~TfDLi-*Kf*(C>NTkhIO-s8csC2m3s>!sc9pgO z8Xh{d+E^Ll?&MIwvnM1}u~~x8pfS2f3x3W(n+iagFs9WbZ5bF6Z7VlU#)2{nRhjSN zc8warYY4TW#mi^I&@`=Wm7ZMm>CdQ)eL9U5feca6YRvj1z!$yo|DkO$^dw>SG<6v( zGGO23=*5mo6dn~VT!;`P#j;5-1kLqGXN$)|#E1+DGj{_xn>~m{h(L44poCrHKU7ql zR5IlB6H($5;4>=hbQvn_2Ez(QzyA`c@Ew{w|3X$7No!zx7pvq?RPrJw--=}8Jg6IT zafBEF|6WsR4Vsua!?^2@idNu@4=bvNhoFQawZ*=KW@9H?hW$jBV+<2fC~6ss%s5rd zOU5e7A&~)<=p8ln8I=DWJ9yiTHy7Ya$$C6kvl4sU$kSkaEP1$jAUEc25%~no(?C_C z_A;-MxUOem@?hus!Y6XDF$+Su41)`;@h&C}{lqSy)puirKng-racB#d-2od=5U`mw z4zS6$c#3FR0I5!!b4=hcEFbdyi?RCTc>5rj`@<|3oFBQ zRt8%e+-|&%3@st>q2!4|;3iA<%TOjdZjNjNHJbcm>o3z7PzM6I-`~fI7tP24xPGXL zFkT95rk*SEmu%DstUI@E$+yxt0B%#iM5=#^)p1(E!S&!}wvgh+8QCFUOMJ1UspCJ{-a@to;l zjFeYO(@7r5X^pRik@8%rs+Ba-t*BBv+1MM0-xD1Z{Tz7ELNg!Xt4I)9r z!;J7Eg5&~r*~(7&Z>hlQp6D@;QnNl6_eo)U6I7G^(SdrxA19YA4B?Sn}R^@;Wiel8`v ziVYd_Th)sWu)Vn2ybRoBkG7#Eb`6Q?OD>LJ@VA2yVxuozIGWcta2Kx5U0bv}&Uj-k z*P+D0@xIx(Ty?Y_xQUl)BB*+Tb&o;r4sr+9s|KFndRo=UicWV*yT31p(xIpUGnD<8HMRE<3tt&6D zsN^grPheG1l#uhzL?#OJ0NQ|Sfx2A^+yUQ_SY-VNXP@8d`;+71p;#Nfg#NRXE$f@Nc)~c%i6f;= zZ|fb_>Ag3I2B2#N=$E+v zuYzdl3DiTwJdnS17&6h}n2I#rc$jo0<4hjYj7V0tEC*s;o4_p;FkmM<_rE`klHJaBL&(T-zR(auWpbL1vh6Tqw4Lx5;;==1(nY6HIhc!lS1F;g7c7%55cY~F&$jsp#_UxaX-@@;SUM9dC1 z&9Qaf^mcKF54^oU^aMM2v_fp99~;;`%wOXPRJ$Ryxh*DMWo_*@#QT?fLf;{aR?&qR z74C$Gl)W9QJWU%tz1PVchKsv{=p>c zz#3msXcO*wdcwKIzzTHvKX}HPkH8}W08Bxj z&|Tc$L^b|bigA|=_ZON7G%rcPxDhLgHN%iAy6bg?LTg?=F^dn*L|k2=A~ne4xTSlG z{SC8*H&mRCD_j|E5mCVz%AdRcN2U)GFZ{(Dxd45!PSAkg0A6a$0z;FEAeOqtIJja= zxz##P;l-`C@Tl(IK}8w9qQIVEzSAQ4@p!jBMl5b8t>7q(qLjEA*heCH?z$oie~Z%V zU$f{GLvN%U)rf`WO>Fg>HCQsN`!1fPe^&o+ejx>{wVTHlfl>x1_&PwJufXk~`>J^P zR@N^#@SmP8j?uwyegyj>zX3&^X!a&tO>))xx``-C-#$8bHl2e2ReCkilV zXBZ^#7-`FVNdN8qf7oAa&dHlTKfV9|`(Gtr|GfRe#i#rd!J6_0|)iB-{;K77e`-M}iuDPWn%QMSCi9GPUkiR0w zt-Ot${yF=Fw^MS#Fk^!CGjmi-Ot5}HVxod|NIs*2^?A}}Ot2nkeMcq5Y>7zPJMFN7 zwI%~gnk+f3@wE`FKb^ZM3&u|IIc{OAr&ZHymHr>up(lrj1z`H_D%J7b~9cB7P^t@+V6M**%6V~X4G zqZDh*&r>Xp%6?IPBxmP(fTkQQHSEW7wcSW7qrB_S)5DX}p)b(y5QqVx1pg2{aElJ% z_Y0wtTXf@dnfY5_*eL8r%Z}H$6DtbGw}8L60AGa3see-1MHP7eN2>7S(e|`1Lt>J0 zM_f(?p1e2=<9QZ%B6XOKWzr{SR!?)%JVL3cT1iY_7i)*2(QRc zG;%}sayfR33gC{ZD%1!e6s{WPzW@kASaHF&exD1b<}iXqJ%1#cb3 zP^>n3c#!d1{95COh=BW{(felap#orr-aBEDA2NRwHv6I9a#P-@1tE(_)Lry>G%QznuZ9F&gIf-t_SN^R2sqj5k3Jt}SZB1{Y=7I;d>;M|T*QI&pi^ zQ}QZzSr;HPpz4L(n`O*`0!RxZ(Hw)g7x@rE$@7p4A^2;885-@VvUIP(yJ+8_nDmpk zNi%#Ucv}l{&e+{JhT2%kK2Y#O2ZEyo<=DyK1ch?F2gZ=KTfQLc1?Z;n3TO_KTfwf2 zTd|{zkvH4(&3Qy^r&Dg@90D8ka9O%Bbr$#)doErgHlGa z4U3uvt2TPDjZeY1RDCQbnJvFaKDM>CbRi&(l*gq;)#Ck3`KJvJZ}^(b?!{q0karR$ zpph5CfiBetT+|9rUT9tWUWCEOMrvRO+;B)C7GObd?oQu{U_{oqEWGzor$RBx6P^wB++bXHJ@!{3bMrjm z%hHV(VSM+5=Vo{!mw^Ai@9Sx3AS&KLN+EH9|910)KCM@F3Pv}Q)^KUn^jJEGCxm{5 zuFb$V%_wo=ZNTaucW-d{xC$yHFCe`vqJ+?Nj`4SVm@~1B!Sm&K(@BWGPd~l-piAgq zR#M3e9Sv73ahu;cZQ312NB8Nh`TG&jip`(-J?b{DhYZnX#qP)rfplXLlqxnAvDnC3 zu$atx9hw{Z$!#|5a!inPg)4*S4xZ|j_p05Zw`7-F%;3%i4_7iRVU2R)cKAlAV$)q{VXiyj=u9@z9~!;6KUqrM)#Pi}H^tdqc(pZ zBbGL*!nf)nSEddW~|rQ#_HuxQFAw-IO$4Y5VYX6sMXu5(BAPjCiKq%^WfLWGlN)we9*iO8&Ve2QUlDj;3)x|f ztwbgC;SnkX=Z0<8f48!d{zYyBDE?)^<7%?;ps;bZzH%Mvi*Gf(!QKo;(&nEP!^WFI zzJT!rAgFQT3_<+@^b+MxL}shrV-T#bC7kPAaMcOc$s-i_R_iaRFZf%)&>SSuoL7Gr zWjzl5fGG21J0A6Zfv}bK0n@HVL7Uzzs`;AnE3o3QAD>8mY2$6i4{DKrEtZTOKA0}x zZ;_M>udi$9|Md-TVrC|My;c{8O4IYT&dK0^P9(MXK0KkEjblq@Pc{-syQY7P&VC1e z1juaS*0XCmxz>;a&9J_Azm}Y31Mk9UMb&)pkZ5DBL3b6uf~|N==v^^8LqHCXf~k0H zzt-Zho;x#`cgJ_KRIGzRMN)q&69gsB?0ubO=W zm!bsCx_U6dpC`wzDEK<%dL>nf<63ft(@$MA4LgYhVS^D1`W<{>XO_Zfk!Q<+*4 zx}2y7UZqhX4w7evR`HpP@8V3DX<;V!;y_8{)pDdZ-}3!kpL2d$ z^`H@Mtzs|oVrkt?)9+i_;&gicsu+W+=`buwku2cp&`Xr3+YLE8YX!E}e(jp!J*#bGB~=jGQ4VQ@kLxwaSy9V}2SdQIwBPI{yU_&=uS|7CJF=uO6N^67I*tO2a7D{6$oAf~xrKd>R zf1txH>)cb?yHmBd8(lE^OM6j#@B|FEnJl0O{nOVP24{GQ>zD%>j)0%i4gPy0lN-ec zlJN?bAYVE!#>`ZJn&z8pyWRUM{7`=CjSk|mgqw)s1y5TgYg+8 zqS)dVm3L%e`x*4LPG;+WmcB+FIelr1e=Bq)G?rHh(c37!LTJjkEL~9${A2wj1$`nT z_z4Q?9;Ki#6{HI=jTV1vmwq<=Z_v-UL(|XwB5f=Bc@XP-lzvtK1B8Bh3u5MhSkkT< z5~H70Sja#>w5}Lat~x^c$&%KDeol8bRw9j^Y%Xd^Ka@^w`WdC#TZ$;-yDQn=Vdy9I z4?jgeymM#VfThLAoGJtoVOtjcd;u)|O#ExWy8R^`D|; zA-(M4O6l= z6~9ALJ95)D>LVK+EiAv|THEC#Xv z&AKctz@_T?f_43kbt$`(NQJ=@k>7+T5Rrd6OFbh0kU!Ti2Hc7vq{0It<(_6E1?-bv zu-u;NuUy5Ub28x*u{ge|7(Ry}o+G~1yrCx*S?GzSe%*Mcz`#5WJ?V*_03J#3sA}{B zP7>%BS`NDuT_ zD|O{i-YfKRQ-=B)s=k0jSdHhQ_yn^LqA*_3!_Kms^WTRdRO9-IJuyqpkRe>gA&i?Q zz*O?D(#N<5ZI{)8yt$3?^H|=Rj51aJ5|%&CSsw3eTk~QKG}uj*9>LOoT_cswYpI6ODY6TU8^IQIb5ACETj6Iw)$mRr=a<#+THaS_?e8#4GNRJk{sTkE$R zBaT3C#h@V5Zk+q~VAY%_P&u6PW9s~W^M<~|{-@u^%8vhkyuEpRRMq|epFn~^i8lx+ z?op$L0-Cf^iHIhWz>G{ZEg;mT#o~fR1tk#_k>E@q<2XvIwpwj#TdmdBrL9Gz3Sq|` zaNlvimmnZ2L=^IUzRtOKmJrm>AHScEmfSh}dB5N1y`A?t$6T7F3$8=)9wqLQ@nUT~ zN+{O1w%_LPY_&0KRuLa+|Jsu3cpI%9D&oVFRlY96LIkK5KguM$G5&N$ru3vpavEv| z>?AT|O5gelxpRI3e^-Bz#PrfoVq$S5aS0$ff)Q%^6&%=YW!mqWWs}uDArj>+8SQ^7 z{HJH>=@S`S@?0G?J{NzlkimrjEQFmfIC!J`hhH!zxE^k$78>UCVgaI9 zA;qynP46`(g%WH;kX5>}rV=JLGo)A^#u>raMjlbwe!<{^j8?tQGeaQr26kLCXuWH?z{u-GRyC+6{mQ6cs76q*c2Yf8Dx z7VoePfxSi?gi%e*@Y)YBKv_N=GRVM#(T5dCQf_AThWCaMyp4=W_9K2;4Xo*6k!G@R z-BIb~zM6FkmzsPGE9zI!bsD379m9H)g@05Xf05p5>pY{=J3m$(v#w=dimCebzGejU zb&=}%tl?Z+Z;1NZ1u%k<7c8a+C+9-i#_vF8U8wU4BXMoNbodIu#`DHYs$R$WRKEjD4tj1 z)}y3zCn$uI$0mMzeRp@A7!|+Fa;C&m|92!grP7nj!1BF{wN7kbesTS7DOY8c)>g2g zu#|=ND&$drjM@z2B7sgN`^6XTKUWQFos!bj5?|GDSZ%*mzh&TnveMe5jh2Q1mI5pCY(fJt2|e)`yU> zvc-vwNlqzu??9))bUR25Abd{;V?++=^HhU8PoYn;5aqDl_;Ufn?BMD?$@2^b`y3N8 zvEZ*_MX1olmuD3kY^;M%+!oC;y|9i@T~_B)lx6}~;Fj=Cf^_-*g}!xIhVO~`KGJ@V z*7yGQd#t{7nIUDy=zEv2N?jzCx0UYzKvz;m->qAbyZWfYo4CyvP&QT&ZINT4Kgwd2 z1swKRg#Tz|*RB>N@BLDM;h~d>MdD@gQg<@!Le%Ip%V|GVj6%c7Fv!-$?HIdSdn1dTfNcBJq-vaP%8zS`Gi^Hk=4BYI2%2*b8-E z>9L&wV{BTV!>OZIIHUGq{j;ry&I_gHFT z)wG0Py0^RuW%8w!W-P#1iOeXeE3uMBzQn$!^A`dT_PIhuCo3ws!lTiqvb>aRE?g}w zBF$ZIv~PthDLvvx2Gzvd^a|31D9ki5sQNT>3T3n>ETIPy2;;wlgidDk9Q=?{a?C*k zSi(qdO_lSiPE2*YBI9qTFI_FdZkw*xGZ(GYX}IGwFxc^U&fm+Oloii3&Zt*&K8Kou zGYpN0WUbf1qbW@1xLLWvS1HH%DZFY{UotN1qLuO47p=r-FO)#eW?r;1PAPTii&o5t z8MzD^_vulc4UI5|OEfez8Kl&pZD<)9$RAWV@q`Vr0-$#*+l2Ovf?_mYbRu)n$~axL zq7Fj#q7{_{iT1fPeY-~(#cFg3qpJs;w0^2-eKZfJkupUo15HXQ)ao$vlM8O_MJw+b z$t>dW?^}D`PnhE0yt2sr&cC_RhFWPjd$?%j9@BFE7*o=pUskBqRMV8D$}}4v#u)~Y zaVpR-cptz9ZR%YR6NS6kjmqNzQtQ0)kWH+ePd@<$e;5Oo3Q49WhrXqR8%Z!ciA(27 zf{&Afk8^{MA^Ol6hbbv+7%V(@j(SM}Xp#Rj1)vB0gaAN)&~L7qs}X&s>&-F60yM{b zG_PuSsP$h)zMHxD*{0tyR1m&)g447z7|7dsLK(~4MAn2Ven^Z@9`vz5l)-+fP-yLFfgw5`cjA?NxkLiWuzbI&J^yQD*4>J_n<$<5Xl||+U zF#_z{w>hyR8LlGD`Vp}DvW=Qp=iKx=R%ImqIq%-hIy~IaqAYFGG zi0?*wh*IJ!>?pd%9wSV|Y0~}GdM*M5W;4z`KHT%5zuNe;BJWTZnUQlmgyctL6-omB z6JcfQxPQ?XTw3xh$8*urtz2AJKQI`OK_z+0H`@ zSWbW_-9N!pd_2o8yFv>eoSbN25&%S2N6=x{f;~W>Ny;q<_(PwxA$N=I=}Pr9$n;b# z8n1s)OXDEQi|&7?zXc6=pq^^DqxDJXrI(Q2+%*&*S~ zUW|_nda&>eaciGW={EhHT<;P7@#l$p=3T~5#`;-r#_Bs7KRMVy0ngW5TPv@W2J@9>f*YRy7&x+QNK3cz|N{g}v z`B~m)AYEDJgWRRcwZ6rH&%z^&PDpx8>FuHr11-V=nqK6Wr+-rN0@iQ!MMc?vF8jpj z;zKSjsz1eWZ)g5t668b~q?WMT69_0Xud4Z6T*uK71v-wCts!@etN19=?^E`a?S{Z= zCw9C%H`3<65LKYVN2J4l0zkuyf|v?H`(-I)Xq5$_uE+&vK5zTrK>?`*>#VYeLEPCG zA0*~A6F5c`TtRKcMkhAf;HI_p+<-6Ow2}hhGrDlkIYnV7yTw>!>=%sdnPyjKz&+sNO}$u{Th0K0izH#azM$3mld|>?ZeUp- zq}u+nF0!>BQ|*6KJ8S>o1lq{jKRAj6pK+>v+Ik*Q5%{H+!y6dMU)9z{YRmd-?Eb;N zl=l?+D?XZQ+A;eFEMvQWpg@yU+{7v^I0-ZpH=%!8BDuVzeJRI(c=E&PxmO3mNb@%w z)D0C{epW0Ys8)+-=wt7oxvhgcg)5%t-KWp6f%3eUktn`D z+@9ZrjEl20A32KImeONDPHcj3ny71Y=64Yr9>7oeQkN?^I;$A0|DI20{&BLFp!?ui zWHU~;k8uDDE3RyY(6k1O$Y)n{CG-cE*G1605@u8cvsap1KUD9LjW;ibIk9Wi4VLkt z#zix%Sk?QY=Jq(cRP@xu0+x1EEOXPwU6_}~o&`30b1EkAN#-C3fyarEi2Ij_=t1w5 z^|#NG{fWYF@0%u`7m;NYzD9)`C~WX;-X)XA#ttlSmfov+z60~ljCwdWwIf_>fM4xJJyC$PmC+-FyMs#LX}@G48qgOW-ap%V%XL zko1Kyce)z3<<1qoB?}kGySMouAcet%@MCh*4rg+=OKv3#?@;!~Hv3hZy$K!4z1n6k z<(Nf4V+(Bdv5=j6HrZ+V6pO7Ii})=F4Cy^!ZXKWIfikO#}t}2ChMiOVRvCyTq z;>+6j_F8B7PBz(`*dIY^B>ub!rru$Wxf$2Q;t|$0Va~S6k*%vg~Hx-FBs#EqF4y{>PLu|_yGxGd~czoSvo zahAiSQfsp`r~Z7xIRW#PsG5^XQCR?YFoK@!4dPKgp~OAkcHg(Q-_Kwd7wdth2s`LQ77ZC7)-c@m4as3kG`T-svhrb;jQ-H@RcTJ6f z2Lsv}4CwX_18Rm}`*7fZ=R5o#n7`qj4qCJPJN|j%XC<${HhVvCJLnJPvLnlL?-0|} zX3%utg3mJ9P=;3v@ZpaikByb#P{cU{C0xL3Gp=Y}@66+#KkDGxGv8~>9k2)3h&7nYlo9F})XL4l5 zHqlQ>!AmA4Z~#q*qQlrGLUkajU!3v~pHtqeiqYkzX*3yri64$pnB402dkC13vImmKO2ab`R+^TlOZE_4k8fw(S4*q3kg#Yvnic zQkP5l_2e(7kF!+IXQvTcufO`(1c~~5Qi`*j7wzsHV}&pF=pg9WC#LD+JbK!R-Af9tYw&+1`!PI! zxHVWkho$yo^nyu&d+0E=%vZ1v^QHD-%wlqG{yEJA^m{;ceDf0aVMM7waK#Hq=p3M8 z_he2W)m@A102ZgS(;x8NN@N+OAKn{SywB=D)iY00TIF|@yYFdsDi>iZxSz55Y{m+A zkkJS6f1qQhnRQB^O)0aTIX_Y=z)wUvh_1%LQ20dA3c>kdIhnWXz(8%1w-lSWP%g)0 zT?Dhisrzzkp|x|*;e_;?^;3A11rGFnZN++E$kF?C^*pyRgZ2JS1br1AGFnHJQIOrW zRbmo+MQ}?MHMPj!+qdCxPVM^p>Fe!&x+0Nh@qe7WtFQYVjQf=_hMb(z~6T*G8q7304C zATWHV6}&%3%7Wozu$|qUYOweWsHDsjDsz`DbCNC7M`hlE;L-@S`dn(iAUoa&^3{I9 zsS0)g#B3V0rR<8g@GdF#NdNmBers%uM!B4{PhdO>GBnU~vVyl|U>FAnSnKPK4>445 zg&1N3VEzvyT?dqeu{f%l8#u2r1m#_OEi&de!Q8~}p674a+6+g~S%m$YNX1Skb`|~9 z#<^A={fuId0phTYm)}8+DjP6ACMUegzCUc9utne16Shv1sKakm*Sg`Wk{K3V36mz+ zJHZOzV2%@0c?Pt9RWl9o3}~1~cJ-Ua8sermULH;sK9dLFeHOL^-UV{nx&inJEH&1T zVicNUbfZ9RI?nOBLPKecnD=n)*qaovM2lCeMW2CAwk__z7cKUrMWc_NV@Ka4Cd%9I zX}wcT`)#!uzEL<(ZTXDyDBD&SwY37OHue0ba8|UN4NIfHdi?S;-rw?Aj>vrt!=YglNZcvX?plS>`4 zL?}qI@`5;u0X}GtgYA1g{PFo|2Py4u{F5rrxbyk#=kI_6c_pTfFMnj}8I$)GvY?(J zUBI|+>XjoVp~t%+0{2Dq17lOd1=;E%lKs6rBa^(dO~s-AUW15vZfGDAR=Mx7B16%W zOStk=UZACj3-?LM!ohVwQIlDl(GQtnqvGOR@Z)n`Va<^IUZ^JiV@< znTuD9J2~5&bYfenV(RMRKHseTuWDmfu0%g4Bp3#tZB|~V{IpqFtzTHTISn_0iGLyI z0?u$Biw;b@19IH(DMm@L_zT{{cACx-btVgEsFuI_uducHcBNJ?YC(r8&)&P<)^7SG zHCms|SpRbRXx2@>nsmI{@>l=Swyiw1wF)c;dbe##jxI06KW6=R*HCPR{I;!+rg3T? z$-R&;unUXouLK>&ja4Od9Pwi*9G|!cvb;jk8oXDEb?#`&K5mHDATrK@H=t#3`QacS z43)k0e#%rmLMx4=u)Lp%uHGzavY*bjH9Hp{yYHj^wBF@DV>GH^#h{Km6*c*ulmn1I zB^ z-v!h8Uiod6Guu=>b!K`@>0{IYzQ&oLA#mj`0k;SBl}HvKB<-VlCfRB?qh29ZtI%r71-uM5kcN5uFlFbgNBV1=bKN)tpVw{j9#bQN8Y$HiX($7LM-1u-u=Y ze8Dfj5x+zYE#=`Iq$y)TDXxt-D0byUs!T+~V>m{Ol8P=ZiW752+j<1{;j2;YG~=sL zNMv7)l4gdLWy(Hk${KI(i_u2guWEU*$2EEF=q0Qe!>?Ewhci zs>aq0hV806w=)~xtJqzZe^*f-ep}j_V_=(h(3a0YKZJQOuw`m%j@ru9pLET!$Niti zzq^?qejf^mGx6bp-gK5HIg{oIDg7x4q%w38X}=lz(`0hf9&@8Vy^rGmo%++Cf}vzI zjsDb3vK>G0u=>+dk}?XJ@uNTegJh!*W$I7x=-tZt`qQeQ{GRluR%sOwC58b{dS)w7 znC4YQQlg|lQ6_CmIZb~9Y_g|1_$5RRMMnS86S5c0GXdIr!FF3q41N@rQzkzE_x)f} zL4T}W6UkY|H_L;l9qe^C2B|4Hr7TPombcRCQk&b-BIF~)3FsdUb-8nqbQ&KVfFp-k zsY~8Rm%<43a;fMJM!Zt={8bda_5|~t-@v^vt4$S`yd5d&6}+lhwdztFiFS}xIO%JV%pdJ&`#;>R;&ZaciCHFM*UUa*ogcJvq*tll3d)TnB?`3mB%8!_{)3CEf{mHUxErDezwr zk6!)yIZnnW|Me{YMv{k|bY?Q|;99O)lUCitsRb~^%y1x`lyO-$PMMLyP8eJqUv}Z z-mY;)@hP|gLdEeZr4U4cA2*iF;|;Cn8P_5WQG*I|#xVX_Ym#-mNbdI&PZI_Q9fBtp z>|82ozQ|yw@K4GfY_oT=zJ+HzDej+a_7uJsme}lfY<7ieH`?sSF}D|@#fk-8Orz8b6Kf2);<2en`*P=*we;y$qkrL}Bpy^Kx^9(GBOqhvGUC4Z&qO zC&!hySQJ0Oo3KLhV-$7f+{`a2TE&>|?mr=RSwK$ynVs(5e8);#Z@sm=1Ex8d~xz5Ay z)#kpT;v{;J+%=?d>~{mL!>QtJHStfvOEywzStNHyXvt=^{(2R9Xztd~l21wBK{|b} zJu`W2ajxk;cV{SfgN9VYU4Hb=2w$k${G%6A5`QJ!kLC19=*3Op z|N$@!MRoD+q^pHr|TI( zXYLgy-Mm^jcc%F^&l%2*^Bv`pL-Sfhbl2WB2X3p1e!RUZx^i#x>%*$(@-F78L+m0D z_Vn+ER6Vgbcw@(8!jG!9Z>#2swd(jjkwlLYUYe|G&MS|^`SkFn)}PSa(WbdpxK(CzL%+Sbok4TkooJbD?#0?)7SY@>rn$R1G`C62aL=Rr zCTNZ+zt;tDJ^8Z(9$V|rcc5wU^bRemhi_@|>!3vj$OE=HH2`tRr}?#)e7fT7YxicH z$C_5ZVCN`WZEifNioVG}MQ&GS2(1d+h1vm8;zPQx=daX%CG)4Pq;<~_gX}IE5XD)tW7|0dDUhTp$pWJ46-PIcsBAnGK?8PoPgK9MZzGYEdIEwN^cW zP|GooFZlC?|GoERew8G1j`y{ssy!!AwWyM3UaOu!%;k6=WTxK@^R0RUrk&$GlbK$0 zER^^J+$qQVPiDFcoT{FH9CExnGt)01rRoVXbG&FeUBo$ef}9n}!bh~5HnZB`a~D1& z@cAOXV)yR;n5OYf-YBEf+xf8%T~q#4@FM9|s`+bMbGfZ~o@!o1O&T7n>|<>9y*B$4 zWse}+eg6eKJ;}le+P=DCnCX1BE%TFT~KBw|GLUNYRepJ%dAqFrziv9H)sG?+Ux?G zeVwu&u-SL2_G30%HY=0ATiFS+)9R{!zlzaU<>e*PO}gqUY&J_*J%ztnDk_JPtcvd+&p@e(0zv=1R{9ChxclL2^y3Bs<@5Icqo}jBS@kA-8ruFwBsrizs&oHbo%Z_-t52SqSk5jd>t zMe$y`v62_2x<=c&I&-wq7)nmfWp02;?{2T`b|JwQRkL>@*t6{4Wo32$+%kJ-TWWuZ>MMt9 zD#P>CjJ=hJMGyvkP~D6!?gMywR}RZP?(}5+QMqQ%N&T2@(uD&VUO(5oKjrhs?Qffy zg?AzoK0O^oba5w9eSsiGbVHYm;$69G$l-3wrO}q$m3ckOD%>kSKQmc9pi4OSHE*0@ zT#Yn}DzHxK9^>LdoDD}a`!d=7@K{qYHvT<^xaoWw%lg_*k+$glKYy?{z~lZhc^2Fn>|9=kK62Pls(&K zw{0>LQ-kjB$xbhLYoDfUQxn`exbc+k)iRW-@rw3v=DxeXHfp+}KPCHI3%?I>AAS7U zs`zv1;Nz730hbt7AXd@q3^^!DSBri8&V1vnh(5Uw1HmK1jh`kUZb*J>4-RZMJ=v4= z^m!!znKukdmQ0xL7m72Wp6sWIL^JQS_kMqP=6viWx2JO2qEwwYu~wW(oUrFUF`lzk zpOM7SY4jOEU^ac;dk@{>^jO!2ZdrfocJw;fQaK%=Ui8q;AP(F_(?oKC5MC}kU*=iq z$<#3;p!-~+NBTN3Om+Z9Oip=Abu-5;f-2*LLFR<-~ z6x03-v@d7!iHyUUpF#6AanBIE_AMWf9O*#w-8yZP6~!#Cq0wNLFG&-MQo;`i&uGaqR4$?fSnIC-@aEC&G%OyVlIZjetM)Ww+8~-E^65gtRWHDbU1?h z!GYYP^$g~awa3gw)dO$J?(h@CvIB1R-Vy3>s(21Vf5|;UCPM&tOQL_vtk6MD{Dtbe zU-r~SZjki3E$8nLEO5^YyGaV|gEiO5n2i)##^eJjbUIr{Uc*<~p9m#J>MRrSDgY&t zJhRAY&K21wr}eZCnBYP0?#y|PT+(o98*Ufp{(40(-u|5cSPGyapoRNv60CWdPWlYujYg2#ml}dJ@@9NUzXZ^mN@q>J`;{V z15I?Heiz-wxc!sh3;mKC6n~?Q%q8!4!N(9z=8bda*X5$0vQydIEj;^c&1KqS{`>{m zME>RKD2bwKO0uSMnuqU7;gA(PB>znmV5jL*=?S}0PlQEq{Yem(-hGKb?`_?lvbzmo zWGe<&lz5H*&d`fZn;VxvLB_d=0m4i50$03lHoY-Cb2rq)6=)Y52M+E*2t!Dz3Ly~-kJ-x{i3T9odrcW|W z>viDe7)gf9vQPQG6ARNM3-JVYE;hTpGv$SuLH#{JGaJ|?X2RJEq@O+0Z}j2^g(njHQg)w2*#NpB235qWK@(hjD8>il!8mclg|7pW*09vvjrci z#e3o~`#5vXXPyfgwdVRVcB0$TTSFLD&^WyqFr8+kX-aiA0NA#t=JK35`>8obtmbZ^ zIdAzFinke(e|4^)-uc7IK%J_u0=J;*UF;TmajIHA9Z6oyk-}+p3Jj|ARSX_RlI%~M z&iXApnAX|D;p(H#(JBEjjrI|p-VbTkw+lmwF5uuMDjW6c6*E~teGU_FKQWNx86IvB zH;_g^vJqMFLj5H~?4o#mQ5*lJD!xjRtw*4jR>wcnKJmwHcNtsRa^kv7OuEgc`D_6k zu6VZLk!n4luwQNbldAYzMgaeWfu}oxR-RQCyR-oQDyu8Im%d^yqL=fSgm;-QFQiQV zEythdMZr90XrAr9geF!?=ED@s2i&n*WXoYR4F+ibO0e`&7l7K#`!RHj4(j+9zP92^0hYm)yKvhy<$a3)SVLZF{$FYSJu~Mo zWxRYHTDj1F53u!~$)M-$uk(o1Kr8)jQ71;`A1a<4$ozBd4=eLm=*R9dA4g21P@R(d z>qWYO+&|p3VE6v!G@BMA_YwJs{!FRgQk@)&&uIs8|9BdZ+&2T7y9*KOjcdbeWfYU- zpi7pCS$n;q)rkWvYFBz*>(WkK%vD6CH4jU;Qs9r}YJY+$mnEO9|7AQZlJ& z9+kZ3jSn0Df@PY|8ZMp9<#u(Y|ITO>vuOa64$P(|U8h!3uc#A?Wun*ynC+K1W zo=T1MbHBWy3ld@m{gnWJE5ClnM68@yG*eK>Qs~;(V{ZoSEwb%hPHc$j-!ME{C^QL` zIezgZ|<6Qr^$T05L3uvjvw!h!z4(&e(l%&T5*Bu@EG=Ao z<>e5{d5_7%YuB?GuXixa&Y!Os7vn$J0H_j(V+an(f9@-xK>M7#6RyQ$fAWICjQ)a7 z-rh)?DgP}^4&tCVoy6!sn4BWp&mHZ1Hd4s$wL?AWYJ2+>gl-7y8cL2TiX<=0HNx+o zhL}fj&%#U2+@btfnO8cKLXr3cZYD34Pdw8xXZ__te;=YBdOu9lg_Vg1)195auhHKI z8Uh_?Et?n&e+MKMVCAni=@8%;Fre#gQaf~MVgD#!!IGS2Gbd5rW)}0MVWJnLw*=eY zGnN)ClDWLM^~5(6j^;O$Ra%}jejL}nz>Rk_|ssM0REZJI6MR@aj$ z=}jRkV78Ad;TKBq*~XUFOk1k}q~BH-uN`K-NE!zH-j&hs%qLCKv90M2F0w<}Up0J^ z{I{e7RHpuqv)LDXn$FJSTc?1EX?zW|=l9yxi_?ZVPLzC74$g(eG~qtm9XfasAf+!P z(zz*O<+kEpRam%AOYBzdHdX7%stN#c$!E;_;?8>bm5NT=Kv7KU9PbR8t1`p)_WevP z56$}%<9M_On?I&8Z!_})!#B|4!nzS=nyX(m7{2>aO8!bLI9WJJ*;9s_?E7tYCBSe; z+U$t3C)?~BY<8})2iWX^%Kop-o@BEh+(LGt&E8kpPuuK>&Av(5n_y@3y_xTYH`?rh zHhVcW+!t*28f7PJ_P#c|N!gE(9r*Xd=7z!e%l3)3QP}mfH!c7xX+M9)z8(+wk)^xN zxD8;{2-Gd69p6i@VlFN=-?(Jm^U(&0TC8>!eQi(0$py?|Oc+Og&6hg(c41%h;E!T7 z6Zr>`WPV169=6Rm#R=C;))d*}Hc6_n<-ijvPm{MLnv<(^9*-h;v|lxWrOxISeU#~+ zO8rx(f5yA#KsE#*$^RJFC2ZUz)YX~av)SC*Rm2=P{6|8U=IWBGA3v25YFbZ}G-|Bq z(bw=7AnaI#MovPk8vL1`u;?2nBDA-MSl$? z{9esnDNV2$UD{C^Vt?#lI(+jB`lzo8I;bh2hx$tSqb%|=b~52yXpGB+?T*)iRpumW z3b27WqDB3Nr5u}OdYjwpxT$35balZs4^&Te(?iAXOcm>!j{hicktt+`e|uk6;K}eo zf`uKc`7S$mu@41*R=4&k{8~%=mkFIz4mI zywva36>cNyx{06V?y~)YkDkFtu^|06OGNLk>h-n0oDDuy>Kn{xg|WnVKF;2oy$x=m z;+y!}`a)W|`uAyY+C0+nMcGbXlU>tINF0I|;;!Hm6Z-Vz31#m6xRuoSzm(0!rI|dF zIW^p0J1iATr&YruWpF>7rw00~aBPo-kMav&PvLVwxc}6&UYy+Bjfei1I3f*VhL1e;{p8lW*6U%$?2c0|IYVjXM83OusNHnKnYrYtW$0pngXer zEhLt)(#k^dJbXzk_Rxa*tEXJ}iwm#3Qa{TUOuiB~F<%_&(3+h{GiLFYO8=#$li06# zSkWikFRN=1>vRobvkGwyB6~)uYY;0{9U*RN)#bRy$+wk)ckrw$FV2b#gKH44ewl`V zM|oF4e>4rUv<>wf?x$2L(ma%P4PssPHHb}yBfvE?uR#oHYpXJS4Wbz_BX4AU?y@eO z4GpXOR~nku6ykXEOLl0#Rbep-K_jGV5KS?A4dOg%7`~^@^`Co? zvA{-Wyf{19v_86Iq8b{n`1WH=ihOB5($53TPjd-xJB#SGeblD{l!u&L!td4o@A1L4 zh>w|s{N~NFXzYCVa1G)gOw0MtZ&FErep%NbUTT`^_~LA}_#Knko!?cNz=Vu@5NBxh zfz?XyTydG?(2sr#5N>1fxRpk{4t+@pF%q;=IL8yj`up$AZZHk_V>6czzP7g(_hz@z zcuq5O7LjA(v+aG659??4d$V`>B~q|Tm@?egM`Qj{4F<5Hm8*ACQ2(W=8PGt?-gU`a zdw+IAmxy8_y(FfeC zK$E$j41HkQ{`jj{$jLspw?bMI@~#i%t~sTBeIz-s=NqD0E*4|W7QqQblW~IoxDq-{ zBoJ$}KqQ!b$=D%ovlNZwpnfzbKTrh#Cw@nt$C*!a$=GpPVF0~(U9DEqw9Wg$>$L4Zf*(L8R@sx93Oi}w4NMbd|`9$FeRQdz%@q%Im`K91C zMCm9>T=KiZU@6jXS0owf#T}4eH0SkV6Q|rTVJ`YTjv(_{SLphwQ>2M4i^MP6^F_av zAO_L@u6?2YcI2)(H;Ae;>p09f#kpLWp4gCbG6Ty)|7wBYx7s=x3!DSMIO7j zzQ8ZtFhKNfuNl!{>fo7cli7!?#XI85ADgwW|3y(^oq zO~aP`QQE0&=AkeFcvSEBn&=LC8mOL5U!y(JxwtxVmb_Px`&=h|jUg|T=oK0=iYcwm zoKmm&FbirQi%#rnvI9(x>>YnP`V}252ZhP1HRfc&BkE{rf{{3)o)yVrPxszn5g zqhHZwnC_z+PF(VS0bPEc_7^3qRL_}vzVf{jx$GeKIqzgz^!Y~eG}CT%vib*4dDo`X z{dKmOYVFApc3RR5l9TUO|3?S?uNr37qv6EKDqBvvQL?(<{r+nWjr>G>1#5Xf<|H(2 zIF?|59|Y~B^S2TeuKcH!KQ+kr`!ULf;RCi`a{~sJ{$(3c?#d5UKZAy?(x0JceG0Gp z2(oY=K?jMhZukCR8ngC~_(j$&@tmDvosq2nFG66{IHp|qDr;nAwK=O>UBcDz=)K{JO&nPQfUG$V_ghB7 zxlpaS)g-6su>LsK#<2lYc4DuP8?3j^7;{y{UXGsK%c&YNBG0)QhM2=yYlg&r!?;Lt zTyD7HWqW@iu^J5g8E5W&G+Eg^zzm!xR@neQXPg;tEk~4^&W2Pn{H2*15Vtzeyc~$^ zI|hmnSKX)AQ;JCuC)w%xI98&@Y0~w!62@$EAs1GDWoV`Fk4Hl*iXqPEpUZp7*OfmN zim$Y~tGO&mqn4z0pD_BpCYx8n=*|5}LcwTS3Z|Hvo@F*(DIKKz!O8qw2#gmxL-Ao# zyh4-3dVJhC&$MK%o`Q=d7yx5Q&Zw(aOrvgZvg0_xA4j#WAJbVxYy;lxe7ghP8@6Pg zHT2i5?dL&?xodN!<`rJEfh92BE`dteHcQ}eR)zci4qz16qeg=r6G~1V>lI?XlYOc^5y732_mgd`T&>>cb8a6WG_ zn?S(fFKzsp(EHb++^0`ze}6$9d6Fwq$E^;+{tou9h%ti_Q}lPI+VXXhO#bXx`ny{6 z2QPD^#*WyI&>1G7(HFq9>mZ(#+nFU#bP~Kr=2}XA8Tj!T7sQzYAbU3mW-FBmyb;2i%W0 zoAq+^O-Gv17GA{PSc`D=Pn&Y+t@dx9Yx&EnP4#QWXUK(vLhlXrh zg*p7Sy$rW0NAGL@_Sv7mPSX~sxb=^=U4t%-o-HQ#MB7lG%}3bbKE_|$&`z6j^a}g; z(6{;PG~Gu--cJn-C+9yvQo2n!Jqb8|*Zp9VWf_xf&4K^nuW9q>t8L1mzqWt-=r?#% zn>y|Ul=6p@)S=DR2QsE_Km)5c;4W(Aj>~u5b!|J^rGVc28|X9Ib`I?nZYrkfoBpi? z_uOdPfzI3pL%e;S{EE6M(@*>Yr&lp6*!!z?V3PTlLhEU)AI0EEbg~lnwTb`6f0-`% zm90J|EAc~{xP{%GbjcTNVj?SXp-nt4EAd{N_!R#7boF^Q@q(s7GW_8ylR%a!?XcC8hvPmUp zO!1c4LUYY;f3bQG*~BBW67R5yE3y`4%p_(l7lLau=*29`pKLS~Ik4a1mde*27Et6T zd_gXUw%fmb^xJ7#!mgEfshwzkR)1L2n&{oI{WP2~os>8vD{+HOd_|syfD3sq+r%rf z5?gFykF3Oh*u?t~IqB-ZwTY)?CC;{qZ+n>~FSUu&vl7SJ#D9EbOL{jj8RQC<+izJL zyU7cu=_8|4`D(RJ1qW<9-piT4CO*oFs+0h^of2t%NauhMA-YQ|8R9hkb5*Fd#+-WG z+KC;MttP9%1xkEYZ`P9Hq6%vdJF)j@Vz;i|LR^}zo~>H)VL?sqM$_BTo%eQf=G+>- zy*H<`iCrG_rita%TtV2P5h&(=qIOgLc3d4 z^o7PMZkpVS`ZwQCcD3Bxng1J~kgeprI%xGsmG4LS40WeTFUm)s_U*@MOOvPFkIe}@OTG2v$f#b> zpn5WwGV7g>T*9)k_Ug17h9@s5z2DPa&6$Os&urXUf~JGK;mHBT-lybBO!eO?F?B8$ zsEC1tgG>U;?sAP2uy>tI2^e*{u??`e|-SFf+#W^K+e}f;b zI{xvJP5XhdEe2!bJ{QLHlH-z1J)$3<8hyUet$f*k?Y(2g zL-_}pJz$Z!@|{(z80hgWBJGzr&=_{ebS=UB)4s@DU zz&ApPN#n3)G0-QB7imV4GtDWen2j$Rg;mSV0BdQ7keq=k3E@Y0-rj`exP1X|w2fwO zrbN^&kGAnP(FDGoMN@l2#Z`-?YrC^q7p*@D{3$grm}0}}o=e12-PZIAS&nK)ZWHPc^Z|XyDDZiM0XwU+#ExAM0Xw6&>;B8DdH^p z&pgJ!^xVHQe{q5$P#Ja0Oa%Rh)P@wEL_e!qye|bM|FzxGH?`g2G)-h2*jJ@Iw3}gK z89!}&OLYCa(Y6{VwiM36l$c%!i+)(C_atM@u;0_L%R=2KN~Pd;7NZAsW!dnv;A7xp zS(ym>_uq}~phI1j8*MwziJ5z}=~>>}pz}(am0yXSISf6VrAH}YKA__giujMvCcMAE z0@C9%+&(&qTW);g4J;7nKdej}3r#ZxnZz*s-PwxnRl+`StxiVg}G z0;sDmo7K;f!&R>{B7xENo&x6QjNV@l(Y6a4-tgCp!G{`J+^U8KI#&0{xkbT^Z?u78qrbFBX8HCT?Bg`Q&$#)m* zMAy5Yq-2ftH}|7LBr${KIjXKUc_v(egBhIi1!?kiJ>|^(E2UYQC#ggvK5`t3@}y4O z7EaTZfHb8%tH3S)4rD-0A)a-h)Z<9u&UACCgF9Xzt!M_%Ygq57v%U z=G_LGeE4$jkH0fZJUxpx66dAccX5lEaVL6|sQFnm?;TIyX@(qa>+i%))P$4y#aJ@w z#q1piQOvXcB|X1t>A_Gdqh_DUt@{`;6Gw%?pJ9P07CWgf{-p)wdMBnZN4rYbI&&4t z0w@PVECDD7GoY=O*kS-$!^#a}p3Luukjog>@06YrDA_D{7xs*|w^_4Tt^s&G8MxY?QI{^GYYiR<3QVHFymX#lKM`c#XvP=NXpEjk(i`10 zk389m%kJ6Ze^vda#vh7r5Dnyi#K3<^jtR@uI`8_K#yO)7=#2|;$(D(=ZJGq861Chh z<}_`V6pu$60h+nU#9zO-v<#m(>fO%jpRW32a&$f2!>0bQ>E3V+DDY?6^?#pDs?N#r zMgNl!jlfnM-;}+^gZr%fa*I^XaKJbM3l12&Pe`>quhg3%m>IfG!!?6mkH?Q@hy!}{ z)`=|U+3`p(M#pe46c=7qEGijv;luhfbm)yp-n}41cbynxvar>q%uPp_GF7(B0!&`_ z10YQHqu8$t+idocHv2hcFITqDwPP2P~lFscbTp5*+Zt!iK=jmZSPuT&$QX= zY<5`L^<;}bnf-;)!ILh381^;R5$XK^QDXTI4?*aZ7vW<(zP9plGm+%ECHu8T5;eVP2KlQRbON_djlBL+ICTx2nt@|b z)=!np{u)!VzI(K-*lD^}@L(LF#2A2BOK>Fn#VA5%OuQ!_d#d4X@^V5$#sH)TBzyuE z3~1tGa^f}e1?(p%HQdVkB7=2C{f75ozcpsZ`eyh+w5BY#yruO{pRcZ}N$)c^&MX36 zI~X-)pVRai9~jX!#o972;liiJnc5<+DRyFigVSl6so5pZ!+S2=d?*RU?x%2LI_181 z3P;<1z-+_P18<6)rsPw5VuE;eTBU{|3{*#ZG{;D6EDv(eGxKnqD~-qzMW!^j`n76m6FP z+^o4x%%0n1F64}UwePeCP26he#rL-_?HVE?^$&uXCaGpU-41E_CBTQS8=z}d&>N~o zAte#4WYYER{s_seDVdefT3xh$i2hG;|-tj z*O``>+2bM#12N9xjnuiCy|gUKT9#PS0M9TOx3iq}8R0EM^30G9O8tX~v@ z{%nTwobExHFLQs-gf=x52=+9!sTg;-t z7(YBMW`%%6ot&!*lru z`t{-N>1`lOkKBVBAH!9~-Y`&~0l#3r!CbBIDzo$Th1X~r^@Ueid5c%0p9W#b1o!GU z!PqjqF@B$mq|=CGO%qn+32Y4qvraMd*3};r(yhE^G_CtuJo_o7M)n!IOM7?TaVQlg z&edBDmKLy1@J#BEkqg3|i@QOtIf7(L|D?I+T+bV8}H z88JI>$H1Tr#fT0=b0L1Zr_Yfzn!f1cbe{k!!XnH0t_#+7=8_D z@@*Ji$)JLXeM=uY1S1R|;KcTVLmGZ2d*VynSKgP}+u+A*ukgd=hhctR7dePYUi&&W zhhh+%rW-k>36Z1d)S&1fUf&_X4>fyS?ADt{Lgsj#re8x$3r*e=d!>AtKC8lnSk!HgTo10p;jNapx9LjFvmyFEjC;3V*_=NE@#gd+>gl&wxU5M6j5cP9 zK9hG%D$nlgOOHV;n!KN<@;Hv#q0Q4$c@4Ye9h1tlF9~F}xpyk><;=0TTVI5Vj)9s} zLwDa*l6(lMBr~ejB-`0YflKANkEr-@pv)KK7P2~;nU(Mc4Q3^rOQ%^0-O_DX?CJom zU&1E*xMQP}(s=UA>E5@<7^UeIPCXk+C$O!M}$FgXn*!r+#}hRcRxipVbK`p za;%Btuo+s+Rs8h#SHkgEQ&I5tN6O z8ks){9(!!kD=XS3Q5;&HZ!bM701$`9YnmPRNz6N=%gARQ-d_z4tu-QqsN{mDkfw-0;(4*#LgZSK7gQ-oVW#DRkgJg>i--T(00Jq06|2TF?V!=!in zMFvwuuHJbnaxg{Qi`Lu9hpDoquTAd1o+Ia*w|5{eHKY}8r75-9EkKwBV_6<#9_44Y z;x0;?E2;g=%)QKP?;b}FWUjBW$AFvn(yKuqLx+0N#@bz%a|0U7>n)boVv&_Qf`La8 z7Z&KyZlwQ((AbL5s!Bt7PERO-t4X+KC^nr6!5by*d+CmWxd);u=%iylEpSd!&&jN; z&EfTAmS`f(Na6l`p8wO%9f zNd>LLEPd&{pisge@kEWdSR=j-dO%e1p3!m^VNsZcCyxa~3FU5e=d%2D%YmqO)qmTW)CXG9M}op1#shabj193pMXYc_F{6MigJ7 zvo}k^xjG2V^w~+}#0(&?!-Mz>LjATlO_H1Z=o`uP!mvlC0h{6R&0;RTFDdpaSzf+h z;N-oWxr4NXlYLgaMx~TDBE)M>IBN^M1GE-X_G~0^QGwQK>`=N`T&8(kg22PYRuBwc zj4NJ;52=p#lL-=ARVmvU1F6y)>u|<1Lb@eqmH3%^1HjY;QTDt~D84q7_-T>M(J$~w z(F!@$)HdmGB+|o#6I*wcUiiUP6#}82&O~t0>~L>bXB zX5g9kiIs8=qELEIP5CzOk9>3Y`5hEW+u!jQ7y<5Y8%5V2UdL*p8A>X|PmIwpXyQ=P7T#l`7(9!SG)MDea z&7<2K$YP^xEXyThr$EOM^t^B))MhSCBo2^^!Pj6)IbGoiUFDpJE(Q+7@M}xhydG}@ z2u!SUa&e<5E551y7A>+^OZ_Z1J!o%KK@ClFw^-~TnoLZk>yc%lAskaO=hu0Gt&Kp) zB0b)!9aX$T1*?V))^z}(I0Y+q)bCeAYlU1dwxw}!7bo_pvRLk!Vs4?SxqPrO$2rSm z{5Z+~{N1#&**#)80Muyo6vFg2w_NK4fc^{)9*oj%8~L%lqH`7pSJ>Lo@s?72>R|73 zD-5mv&a^xNl%QGr8!9Vjk7eN_2Q$9ppu=y|pP}`Cf=-qo;^&$B(R7t(^13ad`1Atz zP0(mwGIOsGqLYPNIWxTQVOxFut)}|l|4Q}isqXGvnJFFcTM5aj^CcVzDc@!S?q_do zX4YA_oz8hqoa7;pS;^wBw&$!xVFduduvukwb^D=GL?FvZqJd!sPvb>+fFXB_^c;3p z+VjK&Ic#j7!<&m#u+QN=33ud}*G>ZB!%4<-NC$Rr|h9^2Vq2?`}>92@6cCC5JZL?`wT9Y?=9)rr;cLHJ61 z*m#5dP-6eki|cD*40RGC3Uyx-igQ>N+()Ok%?=dh}75Y43$`%9enJP)coR|hNL_fq#bXTkZ)x4FYsQ!H-nonCRZx+)C@T|cJQ zTo1vE*A;IEua)-}8&=oCSTE$F%>=?i4v`548*(OJBAAG=qWjE|fmjNMBprZXRMschsG#u#Qy4qsgw>hzkM z3QKnpZ4WR8O?Aoi47I?7*v?+A72>mslzL#_vpWsJ?h${$QC z)n+zmDkrJ5ol(a@R5wwCG0~a7n%D@+G79&%us*HUrg3!V9c7C9{8Y5^ zOvnCm_t@W?LY-c*4)iIYs4x~ob5C|`r(lom+@f}p8SQj+V*S7XZ&bhSU8M$jpW{s6 z{w6Eeoi7Dc+{-<8iDBYLLtKF(a`4Rtzc+w#_es`TAea3sPgb-Z5u~slH@i<0z@dKWQ~(H>o}`ORCq0B+>Iqcs8x0KrbdBOp6Q_ zTpWtOAKFcvJF$C21HMQ%w~pOTg~UkY`Bdcj)Z+TfBgx9PNPJjP(^CzXb2)KZj!!L% zR4lDOhI=!&=-l|BP|#tGUn9#)X`=CKmN8N?i02Y9P0U!cbsAT6`IM{$yX>NQTqjf= z^vIS{eB|KPJ37eyeoy$^-Ix0nM#0_eo{tUVm4Q=RzVL|W!P#^xcrQ*GoIQb>=XOVL zNa>$p)NoXM6o|gHiScbl^;WqiV3>VcS%+#WocUnpy*y5>oJ} z=0PX*ljxv+lac6>rj_nA4p*Rz90N;(l4OeJPuvAjaWTV&MLNGJx;oN;iR&ul3#sFc zE3RjF2&NKB^!ddAyya-oD2B_VkmWNzvoR?hyRT;a#Pk z9(;zA_5wr;$Nf;~8uYJ(!P=Q?z}hIu^kiWKfG?b8k@_2(eYS4dIe~1q9c$EmfcC}L zh5b{0WZJpJ7Hr0U?{dfHZc1d*?-hv{aZy zD0W6BEm%k)XA& zesR#>*zEoS`z4Y*I`_pKLubgc&$$7wFPt#Lh>4XHkWk)&@iI=tmKaeiL#9sO`WUYd z{!Y|iB}~yrv~AyMMe&yKguED@T5h@#pNu5$DY;vvl7kL{MQ9;>_Dfc3@`;iblHrZ^ zdMWF+I%dAs;p7WLIB~{d@+QlM91y+6{jO!Ue78w`PFwy2rtQWoB= zrd#(#f3feQerTaZ1!w`@#~!Cz_)Mw@Id}UxkEC*5H95M6t4a4ktu{X`a5F^iTl>?} z?B&8i#{m0Ex-#!P<1xjEE6a5sHSB`@Dqp`FFD6xo*>o!c;?+v$)|HjTIKnBeIPOGEM1e4fgSttW+Ymqgz?HPmkjmmp)qUEIUh)G_KLz?x7R zKG+BDdmJOjfgEisP+)Aws?T7d~MiKZ66h&)(XKO*7cr%9YtENX|^9pJPh7~)U*kT$} zBeT?KbVGqiTRstUPohku@#dto)nD+dD+pQmD9&+9&=!pg&R^GwVbj#?yZP+M3< zc+RJX61O!{O7@{v6i)Qh{wv(+1uP*|*lYQ@#o_|~eg_u!1GcHvvnMPTLXnTfgK2a(EdC7?{9mwmBCQ1w^Rc)T($B!+74+?6u~MJO!UHm}c;0L! z4Sgp8NZTJv$;sXDI7-v`-gqn|L@5}R!6TwEYdu90|NT4o>44Lp%WjWvRw}m{b9bV9 z$axk=z4`kcIBErQ--)9OWM`#tw2NV4y4aN#CM&?v$$-$Tv^N3oZa6xE#QzJ98d=Z* zG<+QGO;QGqoj5-d(?Z{K(=8@be&C z#o$N5fV<&m7{L9%;O9ALy90iHLsAMq_2m{fu_Ai&ul`#mWiK%UZ{0R`6{e+J8k;cy ze0e08tmmiq3~@Z*i=86lU((Zr)8EzsJ^M7_H|CqC39s+TTzA9jjRXOHf2=C1FqntI z>KSxizRmDYcB!z_4e#r)=sbqWu#{_;-d?6`seAX&EN*Y-?|0yK01*F9+`6)8Q)};f z;x1FTeU7XEx9=kZ3~u$RRAR<>ImLBS6)A_V^Z|&8w*@c>$6F-a!{}9E=~W2%(~~^_ zS?^a6?~y>k8k{Lsj_RUzRA=9{clIR31^4Id_|{=d(MNX zfM{?)0p)mf3FjcD@-E9*$>X?=RThNevFw`7kWJqRhB_o7;`yD1Q?& zpEf;RqHp)#Gwh-+i?x_PabF(;nPY;q04VGt|D;>H+w*>76rJ}yjiPfgigwA;ps7Zh zV%Vkbz(;mBiejydMje;Ek9%gM9imb3Z$mss+xBsq_LU4^%Evt{Cc~Wkc@Hpgf9S=5 z3f=T1kkIB$HNs2whP6eSo{}FL+oZC1WmSB;6T6g(-X{9Z@Iaw(dp8C2Am1WYykRDx zQfhf@wUI>r-k|Y4dc|~S=tuj4Z%`I5XfuoD!KEygXUjC}LHk^-KSMu%61sbk30Qgy zcB8htSKp^e4Z~Nz&FoXgAzN|Je;G5)?xy9H@r=cS-c&=HhTu%?3)YLo;`~$ zuxBs(o~XMN)D1H}M2k8dW1RX>Czvbe27h7hDuP+;xIm2eTT%mmVFrCY5VhmHn)l8# z#|h&Bxh7oXp}(1NHhj-;^Tnlx)s_ zr9GTjh2G$RUOJ?^<{7nW`p7On#YoHD(PRPq3vr!(A;~ zdYXCr%d?pVRdiZVw1*Q@FlPo){F_aDVdjFLWD^C9HXw>S?lD9$^LrA-wGhP|(%;zBcnEqKB*DrOfOwHtu%!NDL}(5cmM+-7;`Kpuv#NY;;oh zdHNxHRYrE9&HkmbAGX=+nR7rfo9a#NValFovuDF7g6tP;c8RjDPWAy z0gcmMx1Cy3$$wg}5U(eoG@Jj3#foszcnd#5$tee|jF}SbPc5Ln2^VEc;?z)oTZ6kP z`#N)e3Q`y1uM!VCgk5UIb3J*l`n$Eni1oyyC3lmp^n3mE7X41#WBT>)U*AxRtio+=3G1nRs*k_@RX}Q0%5}3-$NdCT{$#u7owKn+FW)eeqYZ*=hPKkEnS1CxdLaz&lj#wQ09+t3}g)O zY=3|~It(ylT~+;G2Uyl&faB@+|FQQjfKgTF-uDg(5D`OcQK?ehT9BX+Cl^A1fC(fR zG(bwCVu4O3$s`$b8#5CK8g(ksqJXB>s#RKZTC}#}Y1&e2E!DJArKeP5rBy4|v|^nI z)zmAH%l>}P+IvrCaxdxC~mILjA^k)O@9CTR&?TQ#5%{@pfKHuuj*>tV_ zz3Q?}!Pw3O@fPYBl~ui@5NY+ebcc~vugkY}LRKQ8>y!xx!!~P$w}O)>vChv(pOE4eSh)Ra`lde;7UyTeoF|*k z*NXEart|k;ogMo9S{3@s;(V9syq9d+&VMqUFBInn)A_f%`kjAfI_u(mh3Wi*AL9H& za~!_gbS}CM=lM7Xe@a~sYUY6Ll4Qo3d8jo#-oz9wc(NJK7$MSf&NrRQ#rYl8{hYK! zsIZ)qOy^v2ejexG3X*{hZ%7K3RPZFz&#mI;hboGNpG`ymW)U1}#G=>86bZTb8IY&FX? zQ{;k7EVo_D5-LZd=MB>O_)<{tVIgD7*f{*rS6*-{fV6PSoL`EC+6TF=^i<%FH&G5A$?j3>vf->CEP`Y>_~1SmvouHcZDw zY+A6%-PSa%RZwkFpC~R!p!0)K49v0}_I=11B1twnUZpLOo7S!2UA}B)TIpYJrT;VL zHFo-vTDzIrq#ON=ik4^A)1)w>k7{rN3GIeMJ5$*}u}rQ$0!} zM~{>TlQ0GX)1H}@(oi4n+#&`1o4jpiHR(iXWd_-*Vz|PJq4V>$<|138*|A02nz!i7 zRj7Yj8XSU!f6>C9z29Jll4D$acQd*2t+K72wxs?D@G^P{hB# zWr+RK7Fk#k@r!0fS=ae2EqsXmQoi!=1ZCdQ>Uz(Exl|}o)W%A8Cq{huiu6*=3I3@G<*GJOU+)t z1M30%l-GSz_4)(%DK(i-(d*}j&oYW+pE5sKiPRu8gOnxtJ#-dy`@We^ElFULk`uWy z=^MK7-74MCma)#8%?1@O>8M_TM;Xxv6JfB_^fF0=<|`yigX$7g%{NcQU~gZBni`EY zS-CXIC&Ofu@(aq?G)?#%wn_P`Q;6v+d!#tBZ|({^=x@mxWuG$N6c*)21r)&-?58Q}s6;|4!vAOgC)_BXwBqRL;XL*uLP1)~SO*v}8#pK1_@5+x3mN1@*>dtN54VuJ{$lxTBt4B(At@HwE3@diK(t{j z61j62J*QjrjP0x>%Lul=(Mkf~N%9Uma`#`CO)4DQgdQ>XWZv~k+&k%pm&kTM4dWtd zXs~$lmwp;{4WdC#b%%IzC%GiWjA_Cc5vNm$I-e%j&C*`&`Z*@}7KJEhD)NVVmotZP}stc~apib!~aTP z&Hf#SxRKU26O#R;0L75Er5ahTI)0hTEy4HYoO#0Xo1Z!~*{ToAx2)$lIa|@6MHaej z%aAr5) z%`eJ%^1PcM53yczR-bG&)!!ie#vU;g`bHP{T4{|-0UtYxt2QxXk( z8Yl8!$|Yj3Y5F=FZ8Bt}uzgK?3|_)Q#_l*XDO)A~Rc97M9p|?v345jEgxBSS|&r>PAh!ToQB4J5mWgUt~@x_^#mnEn5xCJk?$*FsSLBth1AT!rX7%c@Tz7dFFo z{sE7iM^&f9@BaxCb4%WPMv1U^Ie8}D10&wrX5zq#M*NB9ORbC5)EM4+LRFudPI2oCsr28W_o14SvIaY1b z^V@}y^w1g5Qk1;5uUXMEP+mJ6J@iY#Lu&rsPtO^H==lol5qi!RdRR>@`!T$=>{km{Yu&Ty)ffS8ul}^u$Rw{zW<&>8#k3siRX- zK7*_Ap`Ny({`Ysf-H2*J(}QQlV9f|R9pUw7OI_@8F48SuP{Z}C1(Z$JQ#n#@Z*vox zrU9RRu2wm32mi|Fd6sQj8XMpFw)#qVKwR?(Z}tdw9Cr~)#lfxJSm^x0ZRYs?9fBYF znfea4%BMFrZ-JLI;}{LHo*Jhu+jbq^mp#4IO!d2@iuKs#H`kEBhrtqp3$6iGIc>^> z61V-m^1<<546lZW_YyPSafcpIGh8LAeq$R9yqFf+Z?#{no>hIz+rbYh9Mz{Fs@^4I znYDvT8TNgLf~d!0C`Dc2IIwZSL)$MHMN_VDxhk?kQ&r1lo64k7a! zu06;q_GKk?=x+}veq&(!yb1}Ew1<=F#hT6X@=psZ^eZ9@EL84ivt(6+u9W8Zcetf` zZER;UlQ3I|tnx*daJOm;rs!A1OC97l4_;?MWZ8FMFG6IAWv~!g(o{m^AH@zS zL{^~@B1`CgA+i*KFmd;-q-}MFauI7ggIYv)c;jOBrgOL0V^+B6p_vYc)sL%jnAMMi z&R)`}P)iq!k0L=HhXk-w{-~*^%z@NtRW*;5N_UzyO}=oRv<-G0-U>F|Yqq+b#MODB z9aKEe=bJ!>UK(M-HT4Njz36VNx(&9?U{XzglDQ}KTol=YY?e;j@W`67PQjP}sO zRL(KPE%u*?v8`-471e^EXa@<4AW|`e_ z+bPyA=-?xan-QhlG!=QTst-@va`e<`ou8F1Bs9&KtLDJwG^6Qy)w`Uuje+N}2Tqp; zFehb=z{0pIX##&F0dt)1U%$U_pP9Lv(;_n$)?Yk+^Kp;o4=G7rc;;SW5RS~;h1PcG ztG^bi0yG3hsi%YO`=$6N^G#oFesgRvcS|yNy_ubI0G2I@+?nsl?JQ-E5Bl&d17AGn zW$+xoEUGPwHNvuO4YA9t8|8V}PYFH-x77%_{N@UJ`ls!H3B$q3Szikms?F_w&vtp1f$e zJ30nQ)7;Ih_(U3yC z*5P$?7@tpOrfu^%hZR+b&%{1}&r@tZ^D@Q<{#8Tp*`Cja@%u+icWr*Z4(~(!W-c{= z-;_W&zh}@X%kk)be(RlE7`SBqa3TW4Wm`^Nwq-u~)a!cX%?{`>HjU{b$mQQY#CZ&{N|3BE0RoLOg8{oz8G|BDhi zO+nROmZ+-g9?HG>kDMRqufHzhxB2-E;$JrJFJ}E!lV7|321E5%_+ZxG7wDZ#4l{|B zI^32U4d2X)Os%C3cfQO9XRh29Wz2Xh_&U9A=U&YByxsjQwBK=-EO9yM19A=b=D zs=y6YfyiMcXzc}V-Yq0kfjaM#MhP?GJO3odI+U)|94Si}{T{pD94SvIBsbd@K3B|0 z`4G_t*Gq-mcG9cjXSeC+^#bMR_xI!HtN6jWO`LyWIzMGP-zrg5n9eg<3qE$Q>HIy@ zxmKK)na)4>FP#5wI&U_e?^}oSd8YFgaemu$_L$CZit~v$2g`0$1l-rs?z0`Al*CzUh2r5zgC90)nel=AR@-!COq{O%mFo z@3*G&#S*&Gblw_9{try&^TnCt6hc~cSmw8w&fi&!^K9k3@M}o;gIQlyUXOjdKcOPi z>tDs|7&E4q#o5Yamg&4&oL}24HB4;+_Fp=@N+zft7C~x}8+0NXmJOKkYMa8`FuaEf zZHKepOzC_W%c1AoQ&nW4Z9|#H2lrwpb2m-a+|1NF2yJc~zO~h~X_NT2g?1M>@5j6| z*p6#wu}H&)oZkOP1s;0?pN)`qFlck*i&nBXlN&o(NklD^<~?2il|xN-#=b2Y^$eEM z#FM7dbkkmxhM`4i%&oxA*DQN;U$3*%_V$9Uku5J3@EKdP+tSD`+pV^xynrp7`TL`0 z;dI_&yOh}^G}tzUw#_xRjmOq-kkCxcVf(qu%tL;D&2icRXU6 ziz zvrdKWYQ7>f)35B2%tdTzW`?or#^YJd6!Mj5QNbw=LX2% zpIHss51zDNLIm3u{!sE)cZ1}QFZ(6Pba5Jk7vHYhbYv3mbf^qcVo=1oe10=vE^%Xn z6K9xnq!w{Q-W#hv0KzO!&Z1oi&9u}toGe{pUGo(Q;=sdFYdI{HDhq{ejnj(cNND+2 zjv3S=sq<3lrGc>%VSYghFU;`Sj!@g(>u!>|F*fl^`YEcB^bux1W*&A7_Tnxb_8hh1 z8A|AMhKgbLw15O|h{mChG2U{|o0iAv{8boTm-K114({BpO+3vx}Wd3EkVmTBG_ zr8rcprR*Fh1ov%(fNiDI974qt=gM6C?^01?82!a+mddx)G|o~~9!Jyovdp6*nns>w zV>OLQO>aS1Fio-{UyW@>IM4Es)sTAYR~oW3E2b49nurgslOa4><)ukwQqgW+=}DIy zX~AO+Cgtx;m(08od=n%`F|2l6gFX3*r40>5bqA8&pLq>90tC4fR1(sCerf2ANeQdh%{ryQAG=O<;W_wy++`m2SG5co>Zrxj zYM8Y%7!q-EYeEX+`?z+_S3J%n>BebO?D`UaLU21d6`pgB>y6-T!V$B+?6)d%k4n^T z@?Vf9&zH!JV3U;lwv&1@Y24O>eecq$Y23w2p!pluS!4RmPabNtM{t#Ox{so;1~pNU zKK7NeVH(s<+=aA*N|rn*i?Hv1=tqWTY%4CpxYcwEEc}A`A}bCX3G6|J?_n_}+I3S3 zQ3iwHRn$#2|5fwI-D;>ed;iN-lEaNw(%fEWZfR!w$xf#=p%N(;sjEJNap=W}A@0y` zEiTz)9QvHiwue-Wv6^g^;zOv(@^TBY3&~zcRxzp(tusxmhpcY*(AiPlD&50WxA_*= z>J+zzs&1=Q3`3R0BIRP$mZo>9Ey44#QWIcd<(Zt>meM>Gw6k|vh&@ks{)Lum+piAU z|3)3zv+NJuXnTi$nYy9p8|GBetPmN#wnW+`Ke4Y}g&tK=MDW5;z zx!j2-O!XyxT|UU7*VOv;^{y&Usg*4|E_Z_$uhrgqzuW1rt#sEotK93|RZhRB+U@hZ zs=Yolz;xeyUDr)QbaB)d>eJH`lgspKpMHTp-O@p=Ugg^8u9L$u@-xGgx+Me08_rXs zC?*5d#l%}nTJ9>n*i};sG1E)+1c-N+_}!%#W?BiBxN0P;C3S9>->v)nrSs>n$4{-0 zRaZ_d{t8!(UhQgd`aD;=6K0xJYMRXtZ%H+LaFUSITjBD#o$G6b^g7$0`0HxR>s-~)BK~aptBIgWFC&mXW4dpKo>1&6g@kfXiA}YpMU=M+;H;{3 zl_scSBp*_)6u3>MT?In)S9o0{>`Sb1O4XnuNcI;l)cfsS^`)L#(}B#GB~q7Ymbn`S zmzI)5;s&>;yuxqNUtd#MQ@f!?_q%I+Fi_F%fq9|qSosWhhiCeRy4sp@UHA(NBE2iV z4CBAT)SZ?&$y36OQuZC;7yV~pDXuH8GKWztli$6K5R;^s6TA+)TXy$%| zSVK8f6bc8Xmnzz%4o22Lq0CNJsFNZxy+-=8>uFVO`4Dy0j@NA6blVPyH2WJsQ;ju(5n!t-Y1+Q4l`D&H2%sr zPUxrCU*XnOE!CwK6}t)M^HzEM(#_Sv1ihq!D(TZ*ep<0xFRQJps@))ws>J52h=d$* zB=#C#Nu9^*_te(tSJl(?NeQ_&60ctBrj<&O*0^2LBe=;{aczA~sjJT8_D#?dFR{2FZ)h_S+`7XcmLe=$o z%4=Lzda29r(p~H6uUy4d?*0h9bSHl47%1r7 zhH<3|_#tMHYu06}8AS#RT`sTJT~n&*jk<<=vUmXJBq`mBoRurYW@&y>n)9+O(O#Za zu-sX&Y2iu#`54Ja>A8c<%A7KyMeO9)@?8}nUY|DszsiqTh>CdlA zjY`t?8P)1sW@kbRUE?e)bn-W6WubE&SYToPs+`M|#R|(}an41`tb$uJ9L3>kcQqw@ zRlTQwGdTV_i>2q9F&d{hD za%9+EpJb1*b_mn5*yHj=_)8wjUvgrEzp5H1>G=oxw5=oj7E^~SeTiCPb(PmyRbz*- zjmobW5*^`AnEG8pBq@IuEr~9_pIKvngtplXC#J-!>fLo4L(zs=h54y;5AZ=3SnrMu zWLkv#7Rue8;0#$FwqrllVKx!LLtHDVtM&PucHXRMQevd7Nm#$#fP4>f z800^k2VuS=IWfp#P&DCO3G*G|jr1_o|Ju5ZX8j&q|IJ=ZRerObhFXW+wMz95^@U|D zF;uJa$^_W$^GSnBDV;vuY)$0@|Q^RtH%XfOe$|uM+r5m*!=XQ(s;$Ca+&(3REd^cxzQ6-YTtxv6Vp>)Jp69gs-X6 zAg|a{qWLzsOU1Kqz2?D_BTWT%$=sr=MxrDi6XB9$|Zk#y=c7I2;_ zt){ka15-MzYHBssKOX*Q^>wB7{L!c%F2C|#rxn*%Sz(LIH6~0I^=9lZnA6Cl$G zx*N@1uX#$`6i_Jz;_*>5)n<$p8?_p@S4gO4nL=?&1ca>hskn-LBzU!}vO=q@)LhI} zO){>cP+b)sLisjml7SKlS6&4f%wsEvtWNXR*IY^YYhIVeT(<)DfLdimHOt4!YRy-{ zsG#|3w2ifO^~Ekg^HF{hWv%8atMgR4n6skOYD-F}H#HztxVBCeU8M`wv4&+Djf>xP zr3XfrOG2fj?km;G>#r12;9qqG6`(}h=wa}rU^aT-f2~$ktJPm!OdYDfS}Swa)k<|M ztJSCuQv9-FuC1b~yL=UXY6;aHerf(nt!5+j#|KLBSFy5jYt??u2dR~HbOBZM4UBWO z^-xJ#RmEEMMpq3?0X4s;*e&@eCPEiXt1Z|3!m%n0zKvRSxyB00toW=~3FG%e&jy!A zvWSK{D3yi!BgT54i@#F76_p-otLv?{xdEgXz>*#$&9jr2{#$jf)jpv(ry$i?FvnRicOW_KPneW+T$s7_rwyO~;VFBj z%+4lIobtQ-e>Cj?jsYyhpZIA*Z<{5Y(8`rQjeE5k2h+4OQC~nM zj6yN!$sE;LTYM#Ar}+rS%2@2kuq$E>d)6xY8m7Kt?^WyLgoJvQeqMi_(?3&BV1_$; zk<5gP>&wdAbu(v9S8LbhIm?|{dCM+ht+h~hK#eJP5W$+ernbJkg0Yw0SEM_#*0!qC z44*xz@FKiasgak6^q3mZ97jlINdL1J$vSqVP#R;7$f#y7swrOMSSMr)3u?;}$ZR@U z9m$=gBp$5a2=SyOkHViSlrnE9&f(%KW4$P;D*rX^DmT5Y-isN;|{$U$TLR@Kz> zcV5DVTK#<8lOiQ*m8?T7A`DXAV#{9$&seCNqTktzHb`U^odf7l*|)0Y5Y&V_n-O?Q z&$CDicN?7A5S~7jTu9jrZq4Dem~@sP$@5m=lYI+UnJ>J~tyq~YhnENXt3iA{3V-5j zO@HiWsM&gw>RilLEiudDBc*h{zDA#(CL(I<&pLg2Qksu-iJpM-OufWgZ^{@_%4D}> zZX#IiL!QraW(bD~GI=gTT*2zWDLX*5UT3{;jl@a%q44yv3rG30*r4h9In%x8K(5cf z5sBSG*_L24V}Zhw+A4(C#P3_6t0scJj;)(I+>s!fHs$fevAz4K+kxhSMvqr2+rYBwk;m&FB( zOTrPw0XT9_Ls&$gB%Y07@yLRdkcGtCmna50NF_Bijn=q2OuB<;{3w4G z4U)V$mGH@^ZjIj9mrYnINqr(D?6LsaKwM=xQ3ZFPN>j3nXKj4eL4E?jjCBW7@H zyvPyVrOu>M2Aq(kWYSY!Ut2H3?ohUN1Ota>YuHs|s6#({p&DkBB8|zB#uQ~tvOSxw zA*1P|eIsgaSfX7I>1U;wh_JNO^mt6OeE zclrH}NyCOzwWPn`O`;ehp*o4hz8ZIBv_#J~0-H8&M>6^pOP|uuE~}cEGXoWmMU{I^ zvc+063xmxOtcRE|E=e3SwX;3G8dpt1gVK3w%0wrWm{cSQMGlLkB&vW-s&WXkhuMtz zHO1tnm^qth30lmwOtcbEWgH00dy?`!WHBWI*4F_KGM4t=_wqCE6h0IPwKt)!Wn z%@1?hT~iXWFe_+H9rB$L%5HGem&u$ey8Z^HqBP5mtyO)I?nrc$*_`vP@vI9m&om4d zJVg>^0x>wzrAcYS5+vJoDmz02!^z@?VutWDVy34ku_yk+CT_+e8O$a+RWVm+`DR0} zDZXmR0;(L+cKuMcZqu*Cy;vV1@kwT=KUBz4uI~VMvN_Dd;vrB5E zE1bf}@WmtWuBNy+DLkar0n`+i49{;IhYaJk(h-JOu`X9y#T+5nid1Y%%n7>qwPG{1 zmS3|w)L2W);))r)($UqH(Jwj8`62aHt1D4HkhPY&XD>2q0$sG-J%p^KJL~U723Xs^ znce9Zt;)*JCC-Hm3uZFRP1q;2r@W?V@I-VS2Xq*E*Sp;a80F-TI;DV|*jM2$)ylkD zsYgwo^^5dtCNLqYac@8>R>=&9b3<;PRMB-YmwM{3%3CEC%=pTg@tO0MYbS(81gk?R zqeJtCPr>uER%Nl^to8b5mm!39)s-eP$x&uGS`f0RK{l>6oWD_Pn2kCQbph(j$=csG z-_xKy^IfGbKx}W$0_Zqh#XjjjedVe{o!y}M{BEz<)FFHpEVmHhWwn@BpLYc@uP24I zi#FoRTms^N^nHVPV47XcDJapZ!vky_DMLAX$V>`Va-|*@B0iU|63L@d3; zBvc)-+_D!8w9k;JEIDpN77Sh*rc%f2*U%gWBy3NBr&Ex$BR z%U*VwR`A7Dq6)EGt}V~WTA{7V$z z_KIU@%=h#dZDl>iqu`@g_89pUJ;vIq9wXP=W3*PIz(=pbT#LQ0$7uFrhiXT4p(;?H zt?w~jL>)m*S>I!%qgv6g0XsJI7_kjKh69z4YQtOu>Klm@Re{=!(oo++{i3+nC@SqW zGEq88Lv@t&8tteyR4b|l)r<PBW8Alc&97$Q~p$U<}9tR_By4T3I833yLDJ9 zJhYW=alNOi)M@uz5gt_hrn}YCsqKQ0ALYK@!`T3lvx}@RR6c8>acFDC~%hKRM_>LcQJmN63w{|)J1dQ{8Puh~aS`F+7vF5yRs?Vt8{pXh#u& zL(*&dS5Xe>UM&Yg%-^u?7C}S0vt+f27|wmf{P?coeBlV`i~ES_UsX49`d8JBn0~2e z{fOalA2B@bdBpJ2-mQ**82%KG7~WT3JYsmHd?SW0t*1Gd1D8r)j)$scoz?!s#!Kbi zKi=8x!<^YC`y$OrmU-ZKWsfHirQ#c6d{FjwziRsntv{@A*3v}sru@s2#hI+~+HXz@ za; z&Gs4Q-#kWb$<0lB-STFi1CTQT@{|34`3*FGF>QZJ&gRYwKa9$){@cL^E{r$5@i)K` zgTMw9#}EQf$OEmQQC2oCv-UHa=I{K?jJX^3ou9nn@#`-<-0*Nw?CTk4mX(!Vc-qgN zQ;!!&1fi(V*zw!xiTh8F95l~cY<@CR`OUn|L<~0l!=ap~7)cR5=QKuCPvAa+QuGHP zWk@A-jid->jHE=`>GbQR2qo4#owYU24IE~2b9_fmMJBATW&d-QY=a<$w+v;P+I3C!bHvqUhZ12j#dy|fuCbU)t5^GiBf%+aLSMaUK>U1H=Mtc`Z`%9 zs6hF(KDAFAL9d)lN-)V6t&@|NC9`Z=BS@ZQUC(e@R&oAZdoTm!(*Sb`Hh1RpN%=@td&7V)_YTYLLIEixi%xn!GD=<^`3mGfbnWjQ+)6CMd>grq@O)brc}?guX8QX~g{!>ul@ zk$W)i(r~+_a`48q$dYRvF75`J#)}KsFm`ivwu(woH%njasd3e*v=?!;#wV9Q5c{oH zhim-_QkB`)S3Sg<4YEhpPd4&Wb@Px*IScx8VB4CfTo&m4`LSJ`&XR_Pq@?-t!*6qD zlyIDL(E>dz%lMb%7wCg>j!TtXzN6aNuHj6uo$D>eg!>CI22Z86_1qVN_HYhiuX4qa z1(R(H^hlQBVWisODy?$DM2o*mGLu&2GJHH9x7$7Xh=z^lqoW9?%p7c>ESz*}yfKGK?)R3luT4gMND-XXK3A#a zSovq{3lC?T$Z=AdHExExj})(`+BK>;&G@7>hsH%U>M@$iWi>_WkP%tqnmQsRqu8>V z#Tz-C-9MNWi*c2^TCNb(gx2}$Vu$Ynnbyu$`q|bQ;MqRTWmj=`##{kgK?L5W+0XnMQ4mn!1JACte_foBESj;q___iDgn)8xza4Rm<2exjgH#9BtLov{bgB z`BPTy*V(J{yEI2)QgR}z*1BSCLov5hr1BQls#ImaF?6*wQQa)Hn(+l!mQ^M)73Hdj z)O(+%y3gu*=CfRYHE+~&!ls_fwLYEu5zh5oz+lHqv}*aul?``fAhWlN2qY)n>Cer3 zbv_AOQycztfU05Ub{cnai``nLkfFIbWmPx$Dyv4ud|YYOtV?xr!(N?yf;Hy#dCkrM zS2u90V?c6qZ$WrxdeChT+%v4qy?SVeVy-RpUrCaQv)oux7cMyo)4-jE+7c-^dk~?{ zUM6>0xL*R7!cnjC6zl6bqmbx;cz;DLa~uwFmC0RVO%q{^Ezn>g7t+6fZJ!Z+U7zvB z^?k;VQQtwGYN?yRtU#ZUaq0Qf6H`|&(q^ogF-xCu4S&e4iv*?CR%r~9vMMzP)6zxe z@vD%ldh)^cYK>C1(Rxk6HWI%^^xBMdsB2O4QL|=f_B~^DeVdDkrSkrQYAKXwy*rdt z1_BhWPpcwbB)7FVRVY?6RBE$zP0r0x>7)|Q*CpD}^>&>4^^a`oGyZ%-pYh$B`i#3! zTTs`BDIfZB)Ed-E)DqNO)DKbTqs~H&|0>UNHT4yv*v4I---FKi{lNPMZ#=-;QnOCyCBt!6%K) zoMp*O(V8-vBakx8RL`bBt?CvtTpU2ySj|bmMX=Vv)HHk?`-tHrd@NeWp$r*0Nr5GIg*l7Qs<=2O`n&wcu97SxlwM7w=%opzQU-6+>vUMdT&Kty&yK$ zZsx2lq?IcXpLp1{XD)=VR;?9BCzhbMky{>{@FmliIaolaYn)rQr3%3N-~?r6}s z?dNWwa-}*P+S>Z*j?@P8FAmgeme^)s@h`oY>0MJn*K)c1Y{v z;;IreY35MEfjK&zI!=;nCKKVC_1;uH69J~GYCW-Lov!3TE~^c5si3@Gu6LQ%@OmF} z8Pr_V`KXnsEBVT=t(IV3gOYNw7b%EjSlp?}B@g0QvPn}G((i{0{xVBbcU!|LgD%dp z&9u|M>7_p7YSithwWuuAoiFyQIhbdnB>f0}o_GAs>^NGNJtBRo?Mh1UQ=^*a84^ZQ z8zVZJVK`uq5a-(2j^Olh)Z7K1TJ~&`Mm1=i-QOeGJx;$(SRWSZqog+dOY75UO72tW zN6dVVCb2NVe*f!Jqbkj?koFm!{umNMl3crLg)AspQ?zSNIv~}WcOECXpJX3GHjR~t z9jU=5+mK*RX-UE4p0UVNGBSAEtBSkA`l3a)juX^4nWgeC&F`qXjgHL4vBFY^TVCM6O5hkRSOKL6SpBln`5}3)`cfXNM(NUgz=ECnqS;ms%e&;ep5e z4OO6ztWlqCx*w-na^wADY^r^{P@H!^zO+hQB^X1P3n@NpeQNCs94}$2-Z;5V!0A?A z0350Y9cPrP?ti>8`FNr1j^yLlUoHtC^$W|px#~_!b+Vr=Yvti|Gufo_R@M6w)#HKH zP9EhGLxk;m%xa^0cG4V{er~z!rF7;BPc{F_tSX)?6&JIX5a0Q_D5S}i7rCmdRW~u% z&C5Fg(ve8Wd0G|k(-B>gOm_WZr8*e7A?U1B{t#%a5l`waG~LY%#|+JzjFain>S$Fb zGO8NRPKOei*qjTKzaK}(qlApJ5dzmiHT0`Gj|hhS#u8^04;}h_8KGW`6{frZt17H7 zN%fbKBQkru!FXAR^up3jhTjRZE0=p}avHqCqnTJ7cdXi=c#kIvDRO(f8+|#14Fq&7 z+%~ly1+mM88mxwc{y)-YK34qZb3D#ar==oM@y^twlJU?Je`hB-%&M*{%{ABZjTmjs z1nq1FzeIb>S1s3OFS4hg=crw;bGVO>>{eShYl3zT=N?4Jhn;qf?Ysu3eg{p&<<}~) zww4iE(lGc|jQ#t- z==e*=E4In_>-z@`;~4Q6uVVM|pWlD!#TWMX{^^gM#w+}uf9ns=8OC4QpMCb3XYgVe zhu=DC{9ZKjv$-`Gn{H^jsp*!cTbpigy0ht?rf)ZWr|E&FA2j`U(~p}TX?m>b@upuj zJ=ye|rl*^J+w{Ap-#0zm^jy>PO@C~9q3NZjmz!Q`dNt;+F@KABE#_d%>oI?ic_Stm z(;4$-%%PaWG5?5pE9UK(u037Z|J?J>?05FOll|_VceCHy^IrD*d*09fV9y8HAMW`u z`^b(X2ailUT6%QH(St{)9V z8+RKm#)C$y@u<;e>^0hr7mW@hXmlAz;7jARjT;;58?S1tZuB&|8(od-8n0-)wDF6L z%Nv(9<}_wCE^5qZoZpzd){dJx?!egXW7m$II`%-!_L#LXQ)3Q9Z;!5u&WoNEJu&+5 zn0;e*j@de5eD1TIGRAE$hRBF_;sL4?=QSWI7wf)*2ZI`w~ zyF+Wz8Z@s~p%rPXHNLs7Woqe~gLlPrZHgAJ$-8EOHv@+P!9Zu=t-#xX!-0PU{uX#G z&=L4+;O~Jq0tW-HXTIO|e&%~^?`3}2_F?7+Z69R*v+bXmU2R>N@3y_0`A*wA+7Gn< z*1n@XpgpENuKiehM7u@1Rl7mENxMh;wsyOAr}jtf1?@TQdF>VLRqZA1W$icG)7r1J zC$-;e&uYKbe)nMCqkWtE?(Pfr9qHTK_hMf{UwU6`-;})GzVPUC4sw)tzcE4A~rnc4-~Y#wwwTbrRx*A{5=v?T{h^mO15)~Vj9+eRFV$|NKBT>PqyQ4NoJsS03)M`qtffAfTX{A$gFKTzL*-U1QqEIL5?} z@s7zK(;D3z-4)#)?TC(#_D1JNbGTg9gA+h`QszX|MAS*BIFy`2KNnKj649vPLdndOnu@nrNZ9^xBEMhnU4fipDiejem|T*rHph(l6@o>(AD-eTU8zggKKeK=C z|4Vi>$X9O#Lh7Km4F|fbsH`47QyDZ(zFIoPvQvlSB@n+hR2OO=Jlu?upYS_e3D3VN zZiFe5aPU+ida)PxaQ|{L>D`^rpS<-st!?G4FW*w;D)C2{IldHb<|vXo++61=D@**^ zvnSvGr-YYde#QKh?UB*Q2#)8RnS8k8|AsSW_HGW6${F=D;61-l?^}$PA@U5QQ&vaJ zxXss3ty3YPQ$%&FlaUt5jII9|i7d_JK$xtbLoNdk+|8eFdNU7LP?YMh?xIh+Z28|j z**9<<@d@(DLX0e15_PrrW{cD0A&_LXdn>QahTEnNX-mIi@8g?$F?>U&s!E>DsCI{M z?NdKK&9-8G14c^sQ*DCmm9pKgHd6ns4|$Gm18ubJER2~WABVS3k*J7yRKVxX7^zV4 zfFw(H7Bd#74wcZ(!qXCy2^x~vd8I@=Uj#iHw^zBdIE2&4PO9C7C96h!^D@QClsvA9X>v0 zE9P$?e};)KnfMA<4iN&It8Irrhc`%J|ZWuV8rc(&dox+G1iHWqkAWgxnE| zW1fmnZUm1qzQuaNWh2D5c(m~>(G!-A(9bPVbd`;su53MF$*SS`maXEG^WLM(XO6Vn z;p590Z9GefXW8)aEFEP$Jf4=2otHCgMCKj|*&A(q^h?=G*!!?0e**@Zq~q+D`1%v^ zB@Z9parR3|^h?=GQihN3IQyj}`lak8sl&&2oc&S~{nCo8;ro%K!$*`QZ9;yd zYxha?Z#e}^hL3Nt8QZAilYVaa{yb^PXz8MVyJ&=XvPT;a{o1M#;u&qfmPEgH=?L*G z)xy`zYtNaXT^P$g!AXd}CmO~Js9&QVM%|6tgsMSZfyzdmiog9Q8pac-AE53*-H7s{ z)}WT6l2B7o<5BNSFpO7Fdr?0@eH(Q%%8zoQE=J8kO}A9V_7X@Ywx_lb3H2?JFDdw%B|HxC+5$hqJ%lLHVDJH+eZYnAXhHi=gX3Vyv zwf*Du$o>;Q+W(C6<-X@^^S)1En5}dS55v4hipQs;_1bcUg_v z9l9*`$!dSi_p=G+j56WJ)jghb~93kTt;;^KjeE*JZhJb@27pj zJdJKA;v>m8j+24s+2w8BW0Tt?JWs4k8uB)VPwtbIvRBJ93+&K})R^}~I4~}CS$?04 z{}$gyHBA~m+xEq~*^B7PA(0cgpR5u53(JA`6#a>26G3Mdf*jqfw!ZYon{pA49dYzk zo!?a9)M40<2xcFcRiUg>X9Tyd657dxKYw9TqjUMqy7s91_&I*z=4WHqCRU|DN}F&6`o5@FuT1NBi%YKkEp&dKl}IU6rNX{~PDi zegN$gmE^y1{uF5=JSg!0YQ6_OdGd)esz$Hln2!y0jd#e^zdSIYJgcMabv3T4go3Qq z=h<@u^dB)k+v0{1XMiJ(yOBo)KK`Bf|IPC^GVdszZ5TTe4I`C5{OL|hKj!>-1p3st{fXs1_H^%Gd9VLd z8D|$qy#Fz(31mcj8ivzDz4~Fd+{@IR+t3}cPiGwc7v|$r87KdR^#8Apga5*O{r`HL zv)bkV{lnXkk6~DyIAdS@62r*PHjJVi!w8_d1eY2{{6*|TqO@GxP~tCK1(um|qyj&W zL@(!iWew`+;Ih0G^PJA|ntJtuaI!P6wxp6<=2f1OjXB9VIhuz5dCmea-zuwApTDl- z7P{Y6Zq0%Q1OC&*e+ieG{rD~BeBwtY5*E#hbh`+X(gw=v)65ypywGcU&^PcmittHE zsR zwmxqDlT%1P?B!E=Lf&7?gNMsXq{fW=8wGvINml&UyE4`TtIJAO6!_;_>zAZtDi-Hj zO)twzq*{j^#fFjsmyp9RlAZ#8a!PppM7Ym<+gs%-aWDHnPa8xQWI1y_su4zJ;a_Ts z8t^+|z;FCV{9_~B>I_5ai9CID%j(JIrq@<+e zq?Dx8q&Z1xNpq9ZljbEml9Q5?lT(sYljkI-CC^PxPo9_JNJ&abPDx2gO_`IDmNGXb zJ!M|1BQ+^CIW;9UHFZvETI$@?^wfEC9CMQ9B+p5ilR9V4oU}P}=cLb>m*z-IN=r^l zNlQ(ela`h?H!VGF-dxArq`Ap+Q|6}5oijIW?%cWQbLXWy(v#AY(^Jw@)90k8rO!=I zPoFmr66cZpJffaQuz6TT=BnTHpZxvbU4H-b)ICq1*5`fb02hb%_i?@X!0yL;ezd{( z0P_LN6aQ41_4d~;d;H`c!#IdJqv!hOhtF!?HVgA%%$x4HG$~>27oT5>nd{odPk;Ns z!?*3c>RT?%J(z#D<*hGlIA{Bt*I{2_3toG#k}(F-1OQv?`-}%=4qIpo`1vi-`(hcLF+ZRr%Rf5J#p9X zpS`K&49uyRU*CD&X?IUZeR~e(49vIwc+Pp<<>^1p$ILXzSa9J}e|UBO-X=b2$sJ$A zcYn49h|zIIyG&X*s`{p%+KEY;B8;`X8(K-=3SU8Pnq<@k*?TVUd6l{^CL+~?n|e){{ATD zJ(zc1e@**Sf4lITlhN-(jazX3d3)m59z=X%>_p)? zYHtbpgQ!ENpL~01?CZO)Lw^{xZ*zX_3Hx?${U-YNP_x{h``c>zaAi{65&g+2<9~b2Gk3Mg z!OdwX@7g!7c_#U~+X~QgjZ&)!bUw5r{SSYvMlXkBbI!Tvv~y>yyl*plxkEamd(Zx) z@09%GJLt1f4?etiYr6X{t-nN{hkDul(CN3vKE3Hh^o6KRPI;q!u-tR zorMKY9Qauh=G~b8mUYfMr@h;=IS=z5%=b5}eg58O^nG$Cb06kc3(mgg-7lSb_g66Q z$2{M0)?EjF+VZ!1F(1Hu=TBZ+TkzaV4?cqVAm)th@9lW0@!sxs%!e_@XYcr4Uf%j& z9K!q_=F_)lKJxah4{aGof%agY)pYp-@o%5iu49gY=9x)f>wJAj{Jje>PsIGKiQE6H z``-9BF2y`q+}~SJ{F0uq(~Eg3<{O{=-ql~eBs;JL^EAw}U)dR*dGPEf?#Da}^KC}< zmoL~}erp@%RLohAZr%Q^(^B^T8FL2a@1OD7uG?S!+_&GyoQ-+tU)zPIea8~P4&&8K z(;P4#Z_zXxGfexAEEDbfwQpZDcLa zWDQ(;(5&RwPmdWOV1oP&aHhIn*(|ZK1s_j{uMzORF!$ym{K>uSfMw5?U?Dd~m)6x* z^ChdL9xfy=6@K7Mz5{ck&WK(x^)uY{rv3zec+^NopTF;@Q3M9S1~9Yps4iUJ)q;2E+}8#VpG~=e`R7ot4j(lhJy+8%2TRZAu6FlPLpqBC;CAr8dyX2j z;m=7V@AejHLaQVM4CXI_d#}n8t;B|fsR$j zjH#3HU%=ZRpttat(E60fyBj*eE^x2dUq$+qLv!6RV+Yse#`#{Y{ zdY}%z2j+vZQ%Dz_3bum|Q1cV-RKkG=LC4j^OS!g#J3;R?ga?~%CjSfwj$3#SR=bxM1C9_yNzt$;5q*m^zgp!St+BldLCxuM%A1Uoi$8!ceVE!{>J*tMnG$l$#I@78Xk z3hV;!1~a#H8+*W(Tf2?P!Y?objBkd1_!9s1ZeuEZ(eLRtD!{<@ZeuUl^)2k-NB(`? z#%B1@20jWpTDpxO*aA+0Ki=;`ALzIrx~F0P0Ca<`JG+ftV8_Gwn@+qx>^4flq91n~ ztzhO)yN!1E+VwN?!=baH$GeRkV0>G*aS#kVMSKawyB9uzEzgh-Fu%Rqh?z+_KSw&C z{sMdlTV8}d%BSlk(xV*O{!Dtb(@Z9(9bkM1DD4b<59|VCFMzLqC7+-dOb0u_La+<0 z5cj`z8;zg?YzCXbonR~22DX9w!49ws)Lw%=Zcysr6fhs01qQ%Oumvmx+rSD?KS=zb z7i<=Ha0l1{J_>e$`#|k==m+E9AUA0u6`6+8^a_fXGMh`*2e05%(xAJ`hzV@ymXKcEh3 zV|t8KPzQ6tR)9M*a7YX zyTA^?aXrS=G}0a4V>rNgFdJ+E17It72iOKa23@CfJyC(b4O3D66+fK^~% z0(64$C-xXYPzQTJ2N<7Dd|)2f4i@ixw0JsNi244jAlgQsZ!h;E5CYS-X zgAHH@xE1UITfjhEk8uEO2D`u(FlIh)@$3+@+tFbFz6 zL%It{7t8?j!F=!Ti&Ej9p@X27CmY zL46_aUMSlNXJNhw|Dc|We=z=H z_zM<+?}1%;)SJb`zr4p-3%0I;FQ8TconY5x&>`-ZlOHgCZI3aH8D9~Y0p=I=7+$ai z+zbXv$v@Z*?ic%t9wRoJct9P@ti&JK47PwBUdjn{Tt$1xAwS?Ou%n6k2*!Vne2G1H zK+JcLucf39&H}w)CKvzz)Q3{ zumhZUF?0o?7j$%zF4%sU_%6ZUKjdgT?+4ux(7Qv33RVME4qAun24t^9j91>PqMU8^Qbuy~ZA}3!Ipb`|Mt$ z5X^M;8rwl{QLoVowifpqQ@%*N;4H8m%mh2YLa+<00JRe01>?bHPzN6b9i_d-L9i8U zT17nI-C#So6YK!nz<77B@gnE|4})E0q+b9Z%6p9-u(hJsh%Y1@I1SW1&;e$GYe6sA z0Jeg6fE{3~*k9Re>;-j%8QP`TgHu55s$QcM%-`5+>;eN<_Zl&m5gx1po3DX>u&9x6 zmqXum;Tt-T|XloFz^fbAok#kVE%5>0o#5_ zIXm$O7J~6l^cp+BOz=^#sIAwCEg~E^73=~XVCJuSjn!b=9_SMDQ@ut2)So8bU^947 za4+o!^zMVtF7o&LUZV)?dWL!dW(5p1X46yqP9CHNfW3C8~ceu6r<1N4IXKn>wn zhq(W#*LV-?0<%kq=LP5jyZ%f$f*mizFR<-EudyH0|I%wDl#(wnL-5sJV=LGKwg`6g z8eO3NSIXZFz2Fou0A_++f1{m&MF*i9Y=50{D8t_yloQw-q&&f{PWTMwAA)b?)WgH% z8;pO8e1KkrbwRMbi~Lp){vFB*ECQRr0C+dp0`3G`!8WiB+z+;cL9het0h`~YzIZT$ z(?IWg&;#bbPyWCF_@Lm2#D6vUJ3={KgZrdDBliYy3g51wUnl}|K`*!#41iv+1x%-( z=mLvC{d2sB2|B>dU?#X7%m*`R*8#8)YzOy%`KR|8`$@m~j6S0abWH6t60RiP&-WSG zVB48}#%@qQr_Y#LiTxM)j4H7CJl@^}Gn4v^$yN9R^T7NR-sS|gv_9iKuzenMR}*d_ zbbuXTE7+RFcY12DznJd;fq@mI1GcUtzqQ1l51n8;=mlE}p%09|lyF|s1*d@8WqrnK zu>FcYV<*^*u=Ft4v4;0SuYzB$J|h6;7ef~qDCsjgK&>2l>)`8^ea2R>rMl192e#Le zz7IZJ1)sszI^G@y+c)q{AwSpvf5DE8ea0>@^BTTkQV;S?y+Y7?Bi|ts^X5Kd;(F-0 z1wMlMHoi>+W;PSg2J&%xpV0^g?j&8X`J2SkKsnw6U4r*PFWCBD@C7W|Nqig0M=SgU z9ec?i^`)6_x^#hFzU7iiy~%8++`;ze`iyCfr1L!d13SPw#QY-V25K)8-?gOw2KfZN zUGNX=KnT+T=EoR@<2v{f%b5Yt%e~{Bg7L_0ucy2b5(mL{um{w5KXpog^ubin3+98Z zU=`Q_ZU*&JkyV5FU>n#B9st|GBcOH~vi`4-KhOaNIIGtLwt+2R>q=zFp!_DAphaE1 zN{ecUk2+)G_}JzsQx-fGx6E%HHQGfJ7r!)a%EgmT+z=bkEqMw^7Uez~9@^`N`kC=$C%;^GVArYw!qm&PS5iE}K8OJ5R~xg;)k zNnHMtxYbMIik8GxEQ#|jiECIA7l>LCw;9zOwLC7Cav*pc>hP>%#%DqKO+oEP9l>t8 zSmedU-!!IByet1*;8xN;P2Bj2f03KsjonPKQ2tjd|B^2qw*$mgeiDY9i4(NE_;F*_ zYZp(7UcY)={G>7K8{*@}toO#BG-iE8{KPTqi(K*1W7g+K-!gFmo|nVToD*jew1RkI z<{vX|1hrhDDLZb;rs(LHs0nfLS#hx!oj9gaX>d+Q$$N^W3yv8tq1P72#cvw}`?p4C z#pyT2WW^{1Y}7S=l*bFl4FxpENG}*66J< zmuwmvy&!4=RArrLma&GPiOAC)7rK<+B`1wryfylgO)=4*Q$ClTDD))YZwGQVnuVq< z6?zs6J=sFf5~1g!I7j6Ga+Z;XUGz~`=jW*!HvZmAf6mItu4nl~Hx0FyxMO4B(Ofz( z;=fJezcqSsoW3n)aa_XIu~~7Bo5p3urEeOa9oG^S{cZS`o*n0a7x=-i$$=##srD@Z z>U1d0zdjmDlhB*S-!yLP*ljVlM&BkZlDe8Ixc{he78vs+ohv`7UwSlh?j^iUtZYoX zRP53R*yUoEI>2r%b`I<$e)&m!B6pYgCMp{2^ zPr~1g-^s{tPem`ke3b05h)nlF5{{Ws_0jdDH7dF=mU=?n8BkAhhp8t&f26;jv<_EK zPW;1BI36K*PziEsU=e!eX z`YOMhaX45yit`)n9*qxzlOuIeUO&MVKB6icTyCBTpVeB%o zJ3q`$8%IBlU2d4&WbE$7F43}+I+1|g!J=-1;md0OInw?wlJ-Al^#r^9Ef&6JqmEG5 zQpxZ4gii&PD$K282(vAkzJ9CpVK>o-IW~>Eh>q-`395vs389uu2^A4f3+ZnE|JZvI z@TRIXe)!}jr&~%$rC=3=AVG>OMr6~$F+iaO3Iqg22c3xM;4<1#R2;WR5i7C;1qDF~ zi-Ld}0TmUsvM3@;20>6kG7c&#XjD|7E%|=$Iqz-LG({Ze`@aA4{Jqc9{_g#q_q=C+ z&vMT_8C4O#kn=UQT__;C07W;ZEbLx(qgP6Y0=vpnTRPg$)fMqx2v6MOa8h36fm;Rc zy86OJ+^g-8*O-{n8X*m2J4Zv;?$H(TBG#2?JK2_dj6xVsSkr1-j@Cu-2*K|`^i6$F zE*^hR84nnH(sdBJV%PruG?A|E8EBtle!s3_=yIcsyI)rke+6j!69&*p_PEP zPGh;`zQRB)=Zsf&ociuDDD%UR9{?L?yX9}(ZxuF3>#O^%!pUiq(u+$otZ%5kOW7$3 zhpvQi!mHtG`=6cWEX|l`OiG`eHbqXgO|w>y6F%Q^G~N~dY#k5|F0ywNk@X{w#pe)# z`a6}zFH@|2$kr89+q!EV-TOJbeN`r1tVc`L25*3!^aP=&*%iNE&u-`$3q36yQ2HCj zt+zC&8MlsvS64Rb-wo)qai7pGk*+B=)h?ACH0|%rC{hgKlRDc1`xr;}zIAA2-viKp zBkFY(4a92Nz0$A7eKmHr*x@tgrL=Dac4Kr(heCTE)b2+Z`ACDROGOTkF%?}e#>z#M zCXDM3-dYh)NBa^Zs2yPZTR?TDkOn(LG1@6rHKvc<`n7>kPhYOgR6Wus8fN97yefvS z@INc!LntkmrD!WEErWDl6)=ows>WjKcLa>Y)-o0?H`@DwQV!is+7@6AQ z{>o5yCftVKU7@%=556C!r@mjA%l72CtgXf-kp3OeRfaGqeztMYr6w(Xd4H|Gbbwi?x-TX9xsVt4oV@&I$a_yx-VfE4kPkrqU23m2 zwnxo5>(ptl^%g2BG~p!cR%{=cs-Zz;5B&Lauutqx{00q$F}Ql(jQTv0`URTDd#n=- zM}EI`82r71ar9=4D7L8e2Ws;n_+O6w4X>WC%`2NiD*|PyqEb))yCP-HLtUo&l6MOF z(?CUh6ovci?P5VnU8uz#cpnX2dE;SYVL$X(12(pBs&$HOvMf!rZbtQ@WfEgH&no>8 zn?>P2SP^eW;U|?%(t1Fl!}phz!S}Tr6H+>$_op;gB8>8~iuk+~VGK?lPx*~)DRm)@ zq^k%EP`TJ=@(GpmiSuiS!)NWAy4e@n1Mofrx|U3?h=0s=rj8APA)J^tg!+-e4!`j? z#H(-}>g79F3)ze*)E3mDt*AxYsFyRoPZ@1wchr$#4$SY{C*)|X4pT9Kb?S!D8&+NzvAm z>`4K}nLAM_>W*0Z+Y3_iXiUYaJ;b*EB&X#7O!q5Xgb*f;k7b$T%R6P+=rF1r`⪌*8sqehBYV41i@7Cm50owUb_2n3i&1s)y!T4kG!pBes>;9tW zM3<}KN8A!TeblIihd{4iP%{Lw{#jPfF%k8RE|g>CshIy*;cpK7sku1%$9@Uxt(|xV0{IknR4%Btqe+tz$fMb) zG2u(wc&tq?s&P@+m8ap|6Y@7gM9o-Rt!>a)`$~+pu_~a)+E~mdI}<^CiP%tt*UtbQrNxj58m<|0-hbi79*296@Hdi}c@-rqGi7RU0Hx}5mG9$fy5{5}!S#O($*7TldmN^=LnMZv)g zs|!Uf#2I+M2kr*Cr?r7A^r}6%HG`W6dvTN9NPl;@O@LcsJZR5+09@jG5I?xP!JSF^ zagpA!;AVjvNrZYAU<{xEKj{s^Z4cb2-O@$eB5()5(LG(HV>P(_;OKpo)=~40a|g>~ zh@vj?cL3aB$R~1@;KWMoan)ifEN6418=M(m^6LiI9UPjPx`^uzt^gdew3;gh=L1LW zlP;3;gPRMkmtr(G7Tj)d?gXw3++lF%Cvdd)+O?{p*1NYbxMm3)^%LvC<$-e;cu;eN zLh4&<)~IU6Vbr%DNZIM2mQp@Ak)eCA@A_eihqA@}cwN-M>rJwSSe1n=rL6~Ky)W04 z3#G>gt_Qd=Xp8K>LE3=HR=nXFq+X}Oj*{PTkel!-_P^tvE-LTI-~!-WL=-t(m!eWo zSuX-#2EH%z`1slR*R7K7UrY{MlgNuMGB?fuV>uhQ*gV)(SMzLPju6~b& zbyf;v4E(zBeFCyvUBulD&IJz3ck1ea|3Prg!0jUjVemUc)#uc#qZ=qz+WAnuc&_>_ z(iwsOHA&&@2e&#YoFm{?{f=CJ#2luj_-_`5Xn;3|wM99|o5P?!O7cgU;c`q%aD=jY$e)1h~=v zWf(KycXd)2OTev43S$kp@P8S`5%{(3sGV2YZBPK<67$LhuJXSOV^ZS$EDeAaf5H=678)ETxCKy zl$Ormj(}@o!9z_ysP@8C_k$P~)Y_YeP{?ly{O&;*4O95#eRN)9QeD4Z_+1XaVSK}9 zu8B`IkcV~NF=IL0cq-*A%mp1W=$QLaMI75}t8JLe7*K7)JfL&WM*1MLj%1L=l3 zk^!$zYt{vjE*c*e!Ox73E8^P?JeX@3wZ?HH)HseZo5oe+AYZT--{s+6*GJj`qxVaZ zzFDLX?$46DiUY><=Dv$ds^9;svZH+62>IMkdEBnb1m#K`)JMHp=3Wxll)Mecfd~(zRmmr_d3p~Cw1mS<~w^8=emnUTO==!NIuV|nYsq{ zRdu5rVYJVv9X7S6-QY)q50X9pwfc|sz;Nn7(0l7N=A!@>;d|f2G@^+KFZey+M^igX zQ3tK9)Z5+ax>o}EX7~;_Q4f`E8U76ef54hrk6E_6RoND)w6B35XKr0xJHQu#e><_B z3^CUfO4IM7>QQ93hE%iAx-u~N-Je%imkWF|eAoM1;x!C@b~mf5i@rg3;+tPOJEc0W zQpD>OmBxN5jUo71` z-m~>5ViUJJRZkb z<5^UX&=GWz+TM(S7a#oJcu{4%Wi}oV))b>Cy8*u->7`ywP_o9Psjo)*>zy*#I5Wb! z0tM9osZXcuQw6r2A2C zvjmQ8?^tko;Qo11b`k4!DQquokU}#T<70l4;9HRX6WjMfN5o<+P5r*7x@~53#dsUv=_l3)N{0*l zX5!OorKA3~$*jj(6#!0v_VHLUG?WV+r#_>Rg`yopeHb`GJYBE z#Xoi4#lUR_xAtUpb2J~Q{+_MSPV=|!m~;($s#1Rsf^~K*VZv%*dj!^@=^U^Ta9;&? z`i4oDHt6pc!sEnF+}NAN|F5z+!Q!62HG(MryHNWNIMn&zj#v})(LL@yJ*x^ zSgohpsV-CP#5dLZKk1y4Y@9Fg9F?K!yRZj>znL@9Cy-QL1*+)Yp0{O|1Kb6|q ziS2^gFPPG}7TB$qrnVPqFBjRL?)Y$^;F-$m?_=uhRl<4>CWEz>K(N_raT2Az*P}kV z4EjbduGH^ZRXQ=tiqHKF8kT#?N zz8s7O(&(#6+Cr>97^Frw3|=z+g!a4Sq~-%qx0=-j?@u$nL>8u;KCAx054|Iw#rZoF zFaEx*J#NQ=9}WJ)3_O_jFmcbv8)>@NhBNhZOCX=SqB1@h_hx&-_Zs;2T#WVFRJ#pCaqoccLc1~3oVW^tIrX%_IJ#(4t9jBgTNZ=kv_Z_ zPulfL6K%3FUS$5rRh9bPB%X;I25uI(Lfq4}9DifL?Ep8wcD*c4@qK51?3EK1$G8#L zr!WxT`}W0tD4(Omc*-%Z52#|txL$bb>ljBH8R&!HA_xp}l-%nWN861O80$??GZ5S* zj&VI5B|{wJkRr=v>Op-mPR|+qMClH{=S9nzolhOH$~~{{%6?tJ(cl} z7+e1qJ^MSFdWzJTmQH}2>!^yiq_H3_vSBm8t!`KqzmV%~>U}3@hT%ZAYSrQUvyFvV z^29sVg8fY5+~CTjaNYr+knC4FfR2H#WPPWtx4UtW`{_)79;%uxC$pDV$agKt6= z8u@&}HNX<- zIU+9lEHcGNq(GI^0q7g+uAAR9F0sL&k9hHDd=&1f?D<>Jeh!zeFK)PJtV10l_t6d~ z9n^I28;8zpGJR@HP}XX>Pn)Xv^^imST=?(;tpMX6JQl%i0^BMa;z5;v&0giC zu@>gzhJjg6id79P{AXr3c4Ier)EEft2~lm=mO#I|TUGo5o2eh&9KX}4(a-N;{MLi1 zt5A(+yCdPTIU|D0T%=Jg7V4sAKc`Na84Ha{k3tMSM3?EJ9tOMQRy#)z42C6pDjZ+ z!vk(PxLoT==*N4d87bSOp2yq`U4h;;`iDVf5Zq*Ns{Pc|b2X1q@0Jl;1E2n2+t9_T z2B9L=df#4zK@SntGaNm?IRL%61yu?As!)HX(D^EfdwFqCPWNJm_fn-9+YD>%QNh;_ zs(qmdQNdBhlt*4<%3SDeihH`KEer#<1YFI2OjTD?%{vM(bT^)N%)&rFghBo+OHU$b zg}H92s5vp|Uj_Xm`ocD%ZTxB(L){C|TMYe|n)>k`u|EBjrrdt88$~r~qI#bXt~0pi zRIl*u;zW9Pi+caMUaQdc9_tx2K_)vg0`l&DtOMOQD!tm{+XHT6Nk7~+;l5Ts=0T(H zKFHx6s`CGzdSZu+E=11rM4#&5D)?Uw|9jYf&0M$CM%yT$WQfB%Tq(IrzaQ2GRt!C^ z-e&QsIxhO78TYSAYd&=5f*S$uHO^o4{-4eU@ECilJ6GPL=7sFR;u`-h_@}cfkAS<6 z;&%t_ksJ)munxO4ON~Kj`CicDATw+r#{CqAn*Sn+YHVe^s>48L;@}Q!3ZUK`4+Zwo z)%S(Uj;(QVIfx4Cem^Z9>e9H9H{Kuc>G8SA?B zU9AUFc`t&_5yPvh_d?W^H}`#1=(qp69iX}$gRV8u)e84?5oasL`zmmmiqTvixE$JaZeX<8^J9C_mg6DUDyLI__wO~r@x^dUiK^X(1QiIW;h4-rG#(_z-=V% z>eo%F>sR&ubvpmJ#~oGi&p8}Q-y(2% zJ>4-tcn)|Baf2mFjhVxUbNqb~f zT0W^8k0KS1&X}m|4xE$@j2DwvWp#egdE1BY|9v{vK!>yR_vxT>z1vSXDII(3rbU-a z0dy2S@cVR>LC5Hci8|DpU#fEXv~E0lsdCv29f1c=N(a_Glgp*2(&4-W_OgnYc0Fc7SVyd%B3b8(cJr3xYccE?r4!xkca(Byp?3?FW~UAh((IC2~=4 zdmy(kLGCcPag(a_xohC_@t1Ka#uebEkQ~}L?|H_2$-tZHJggew3p1QvL~BuzXn5@*AJ!4`>^THDNT?4;oQaG6RsJR1fDGrn27J=I_YMW|KG>p$} z9b77nN_rot=D?(9HDt%)+;lI=VqJw|i7ArW7rFy(vtF#yXOSsASn@B$+dLOGrBhNc zo9b!D%#iPCkWD(XN8sNIjHgYVKIlY*v6EQ;j+b%;QFCpFMS5 z${`BY;AyTOLb#O(_X_G`Ysv+4wNl$ZbP8}-Z(sY>`d;mwGVaz7D6vBORS8100lcOt z)q9f=>O$qqn5!aPwr^XjFzT!WW6)lG)+4=}Oxcb0wNt+wgTD5wan5=g^gUlopE{>c zt<}}&>q}?ZUPxntx)TF6|0A6RD9?>=V*W=uch=Hbv!+s`v%e#3Sa;d#*V!35k6ea+ z4euT9!hOR08}%K>rEtCIl~hM4E}qM=9|!)XQ9Vd15Bm0lys8xoY?v}1aFz;Ibl3$) zp5h)pA%(?V(m4S-m%M|s<9R-w_`QL30&<(Z_OxS?ORE7W*nW0nNcBVCx;n?9-q_y5 z8Vl-;jXwH9h|{pHYM!}~R1Sk3F^hFZ>T*zf$|;_kp)-K9{*})4C#Um~)H>BZ3MX_1 z{(}0qjo+={nZoIevdPD91*mW)oLo33in|{=%b;`72UYPeVH|BEOr0l~8)MH{303sE zlLu^0oMkw6TW)tm@#=jy{vs9??}G@#v!^P)o$~xFGmI1G`RvsBqwE~n9WUy}nteF; zpW5fKR(0wezP{tyfwMmo?%6h=k`>T*u`E+$_gCLzpHlUGPdkiIbuDX#a91PTu~9wd zw#`JisMndTooTeVO6-e&Y*ttJ3jt~t;Dzobp}0N^=1QDQA(@xO4w2SPRF_A|NYD92 z$p10aV-%Jx1pg;KYYl0|8@v=HgQPC4&%D8MiPZ>aMkRhX#)5GAARIMTGcagE8K`gm z3+>||=e-K?slxB$KrUrlPpl{Z<8!4({uSfJ<5lr9sGdIE;@86uTdX4~(RIffs*fu` z62j0q*NWfKpmg7(btZm;ufAbMno83KV33RNVrXL+8W3s#Rv}PBF-E3xJ_0?%Y{%7J z7F&_lQ)iDLsThxX0{_+Z1eU)D{%4IsyO76E_FT?IDGM2^DrBc7_+hWpj>mtbI=8Jk z=Tp-A*_!cFF^*o<=W^D~C-prH*@)fHxj*xGyaSENmY6zI*?IoW0@#STDYL$po$7Ty z>d|`qUd>jj*V9aWNpY;HOZdnW?=@1_YkTS@JV5Pv4kDcPryP&>rEt3Fa1w0|Z80iO z{H72!V+O?!ku1nPp0Jk?bDqSr0Bia*vM*~=Mh*uuK9({MaDW<)Lr!txT3>bI8v3B5 z?T5v*W<}-TM?LA$-Eq;3O=W$VX8DpkfIoutos4dy|o;dgybrafaH$2ruV z>Yfy*#xJB#T#b1hejjL*4e|T2*{|CxztuC%arFdmqmX^8we=>LU22ne?0zl79LbsN%gL#O%%{v>L2MTGf$1TyF*0``ik-U zN?&mPrTkr$c+z+WaoG>Q?f-^<-Hxl@-c3k%%^a*IE;#SeSdcO%gE4$dOX*T*r?YNS z6+OObEKZ#+eARPZ>gJBG7DDxDGag4Ub&VVCwIO@C3iaj4K>QXH^2j#l^u#i*Ia8^o zP4#ocr1jeq^egS5GXwd47;C6xOKewbos;ofC)ndX2=)Sp*6;`iqZ$`v=t?*%v?Z1; z`8Q)6J{qd!!aW~<#+0LK?}4oubmH>jZ!E%^KoVuK_qX=|!A!r@l{nIK5-Qaz{t~ zy%GxetA~%q_ou<{be(5pBQmbX{1CqfroK&AW2$=l9HpF!*Q9=1wc|eeoc5A>`U?~W*{3Mrq2BVNvuK~LFAkKZRnV6=5x==cHomv1FI67#Ip#jAhx8$t zNqtsNdp`7yz7hKH8*b~!zSpcr(m@sIu4pX?MUA>cw#S3AUi0wr_|FnyH$73<_!WiH z^!|==i}g(EU+VV3WX{xH{t3`IX8Q5?AWF{>^f(AHvE3ok-0lj|g&4HXk8QSzgWBGD zeI0sSZyZ(U``h-Ida!S$_S$dIqJEyF*4|uYS12#&O0aAF@QT{BYe7r(35a-C1vwA? zT24Ev-ox7-MR>S~UxkVNkvEU(-x5N9N$12-b=eF)GUIr>0SV$FA5n0d!L=nK;kV7m ztrBigxSd<==2vSNR`lB%akd) z)ao(Ln48i6y;wKTC_FdHA#VkKgRm*Wy9~Ln!b|FF62prb)@i95uo`!g&T-JWYRmEX zsaeoT2ZYw7A!$v3(-5=P_l>AZ1L>stC8kuxE6CP8Wa>oyPn-uRTgPi#VXO7b)a%e{ zJk}oS=t^i0=MSi94`FMqQ^|GR?+p1NlaIzj)Q2ud9QcaIE!oqoZ=i+mN|%-C_ytCb ztubr}aFb;aGGUrUKG0a)Z^(7IVwWMmX)LB#;l9=?!%f6en|!mesIbXHxnj8l{ckC^ zG#2lr$)|J06Y273u6REkbRa`6Y%C6BNE|`_YNlM#SbUucdR~^C(O5iamwOtE-FEr! zT=7sg=r^V zM0~6f#j~;z1yq(xdS~QP6pZ`qEldDbQ$ z%eKBN<&)jR(CSxt9DC87TpKzBr@Gj%#(H!Tt+`!amX&`Ws7au@`r5e zK1#)$1~Sw@tZ0B+D88pAzwNJB z%XLRB3vmp!i$p(|^Rn z%#W6qCLZL>92v9C%(5)ck}qb7by+$Sbp?#i*^_PgAe(+x?;%50J!yz{47v6xL;TC= z{4(GL>nGWhfybRO>$lGsVpo$VbLhD&Uw($ick?AZeV8vl#M8rV)zcGg0y$tMAC_mEY9C%y7}z>=PF-2y|*?DSA7^9=Fr_3}}`4>!n1L4I?id>*jz?{WcP^G$LBV8hLF20~a+ zBFg~J{6l`a#1Qjtkw*cQx5z_)Ib&6ZM#suIPZ^fQw@WI@33uFYp?sY-POgK@`f*C; zgK_c|JeA$4o*utbF2mDi{q)J5avq)z{PQOpd0ZT@$ZdFj{(g)63eOLZx5&M~S)~^F z1|mIuf<^A8GypdPzkk3Yp9g+D(ITfJpSMi1$nn5k4_o9Uz%f)QQ)e% z7C8x}{M?fk`806SQx-X!aGph0z`ZnNk^cflfg1?tTVxd~>_-a_-=_`n@v zkKkqM3r}0*qj;YDj72_3xESdN|G*N&8}Zw_406ba{mU)#W7LGb&mn!lmtKS%aLo#f ze4n0I!X5q|S!I!13170vMZkw&w#c`D2Y@RH(ILzP{(H4W9!0$0SYwfgfa~9|$ZriSmY5|a9`#g|R{~C~T=N%yB-gY46 z?x#S?{jY&kIzI!c^v2INROwCyQt3Ydq}uTekZR8gAl0rnfn?A&0m)!|2qbIr8IVlP zw?MK($ADy{CO%;(3-$<*%-d5yvVBW|REu8*QY~K#q*kyMNUh{!Ahn_|fYi!<08%SF z4y0B(X^x><@nb+T9SeYDSDpuw(RmF>7U>-znXBzUvSpvnF`83`md-U)*({!GbfM?} z;F*f#ySc{M^o)L5^~nt^@-Gi!7{bqSOHTgJ7+(G$<@f30ku<#XP8`3yWC z{?JMM*yaFH54Mxghkge4+uO;Foy5=WM>5dY@6a#trYz7x4l?L->pbwaPXtP_P!L!ry?1nhxUA;c#6 zN&3nT;+00Ye>zv|xw!$T}z&gvjuYg=Z)!_*GizZ%?OEYrc_ z4x*&e#7dj|I?eK_6!0M%9UgYO`~FMCix&3}mxzNF z_kS)Ciw*aVOT=e}d&4Cd-nw7DMC`V@7hfVCwYg_qBDUJx4_zW2lI~-}#d_)fX1It; z_nzV6wKVsZ;o_$>_nX5-INkliaPdvLJ2YH8li{8|T>Lx3J$|^Do9X^>nAnx+-akw{ zlI7kx3`0uyJHteo-TlfivCi&ZGE5w|yJrs*uV%X^4HJj6-4z#$7aF(^UM#+D;NE+& zc-rCKda;N)+;3eh<}`GNFBTs*bkDz7On15;xmav=x=Sw>59YWJ4;5>3+@B8>RXOet zhl85k^9-9;;TmPCx+s?Tld35#lBp3JzC7PPt0!WUg{G&n!4xs#I$Da$v&~EnY(JRc;F28w}VCb8SZ_9Ma3EJ z$YAkub9Z#0_`bROUjxPR7VfnJ#g{GID+h`NF8A?)Vz0~n-9Ry`rF+UC@j*-X@?tUd zO!qIv;=ME72a3gnR_>3A#apf1n~KG;R_>Vt#Y=AY#DOB_b}t$zmbG?IEf!z2c0Vv! z%s0UNSJl@7VcaYfL#{K0WF(u#q-XO6t-@SW~C~fP0vRJ&?*1ck|INH`d zW3X6twtL}V@!i?(*Nf2x+;0ySd)vv^28lWC<@jRpT6?*q4~}MVrfVD$^fyoqg*yXtSERLtDdNFvOHJU+3c`onI#IF#dDZDrdWDbWQ%!* zyuX3?#E^3vh_|hm<9Gd**krJQcvFt}DO)T|lbafdy=mk+C;gVk8i?H)^1%jTR;GmC z@=OV4YBsq(kxk4q*%H29$;TEEX$NnWs6`|b5Jj3o}$jhhHNEMhH_3@ww$9<(0f=^%yb3BB0|pC8xG8(v$b7(e^-= zn3(>iWnY$fG^;y3(1aLn=3mxkswe+R(`@!~BVv6mO>E}poDCF-sm5086KP^OlbJVx zTV~TfNKgKBi~KrWyba@+E~d!~vEwqM#p79GUxs`*OH9ZldIc>iK(=9rQ(!JJ7_$gW zfHl=lQC)tphzVS2+ukL&rHKf}Hfds_vBmOEns~z2eN~!REXfR)rL_n1O!`3O|Gd>1 z@{nD;pCR|##ZMVf`dFs?Po{V_Q+}K&9;P|g)~puW?E;Gg@7YC&b07;tNFiROr4htS z9;BdQ>oHHGzT`9OR?8RCa!g8`4KbBct~*U7)7oqn7$enpkCB zZwaJ{mnnRTW#+lKxk#3&;-;SY6n`^_`1E=nnTR@Ir8WB;;B>Q_zvRBM#N0Yl~15I&y~+~5MSgH^H5{C zqJwz3v3#?G*w=(&GX7M#se^doRQX{C@#(3=+@B{)JBsJ?mc58?KTj=v#sPWXNx_pNGRS)?rJBVcFWRsVt(tU z5ZcxHBJhjPl5e#WU!Ns$U)Dyx-%c!UL-)wkp_nvb5f5WgtN7NCo2}T6BIjGhr&RY) zwp-H0mNYp(U0|)|h()Z-kjt{frVP0&Qyf9P$`oJP<+29ozvX|j#cSDeo>axYgKF#p zwx6;89D!u7w7i*#<)Cc(*)7!LD=fZla7Q6-kk(BW&q`@Q4Aw~NG^@n@!!|izTHd$G zrP30>nwGRYF6sV|lpE8m!8D1+_ClKcR~n2J)I_-jRIioI8Dc3K28YKia(lYKY-L@# z1rq^8z>u${i?8W+mQ`*>%O^|my-mKDE*7T~u{@o;98GVHHLVQ!dWP9zkcbYw@iO3m z<*E&KF;&Wyc7Zmt#x6EwN-$X6!~HZn-T&L(Sfx7u+PBekUbe|^($T5N&(g(@whzFB z(&hXNu`*rGLaR*whmvh|bM6M4cpdfKCO$>B*u+;BIp0Q$Ew9?dbVEL8ql~m&g!lsI zTQNuevYS9}@@Y4L`P9yCiylb6lg~Qy8v_)OTM_IYJf56C0-e z&_z6RO4=h`#rP&^Z+8(-LA#1jv$qU5|I}Pg z?JkzIkPmbht6Rv*ZenK(`Brx^-bK-P(j^yl$8W*N=emoiOa9nRRJr8K-NnPLrd!~= z!Ywy-5udx|o-X1ixBQ@sc%-#l(oJkVi#$(lGcep$yp}H)bQ7EM<%8hc68}|Oxwor$ z;%vF2t5|xr+=#ScQK+l<;Ov%gozzZl?j~MuC)afo@3)gLb`u9MNa-d5?IpDB=^&B( zLmecNe7u81lBac)NOGv7M3UEZB>lTO%Hv(dq;up?2<064MOX34Ir6)%;%5)J?md_M zmUSX+Q#ujzNGH7`Z(M3+|N~QF%ft7+cx(Lk2 zS9K9Fi(J-)R>T){5qqsO4LH1-o{RrqVStXgg?*A04@(_#TUT1Mey6MW)*(OcBFY+4 z=)r~$l8@(d3{kmLqp{7L!hqTRV#dr>KBVkw0}3u~TS56KEvA>Li|MBr7_L zcXLA)cwT?%t@ytsPewb7z-jV_&LVi4{Hn89dYXKrt0+C4RIEFF;5(hfcTFWueT+Ai zuXGa=&LIAQ7W6;VLOzHRXd#cIJX^?vT|~Tv{Hcrh%tfv!^krQ|xTRdsRjh3(gD8iV za&}koP0LPj-Q}kL;WqOqnSl-x!MxsqynWa~&h8=}>L`O<#O#jp{w`u=M>(mBnCT(c zW9O12GFgb7UF3hdh!x%B_HLBDw_Rf_#`?2iENUqB8*)>Q_|YooG!(nj}e-SiH) zpPV7*O zkpq9^z#lpAM-Kdv1ApYeA35+x4*Zb=f8@X)Iq)kv;HUR(bZyaCvQ4AQIAW>!7Zzf{ZV zP~eWGNV@QjNL`U1oT+E~_q|4#8}_u6CNvWoNS$V~eA@oas7!Ccpbf&71M; z&IgcS^;cbHc*o;9{v&?Se4L-nbj0}ii-X$zC_fkL$3Oo6Uz!6Wip`o;I|Dr2&b*91 zMn7W-V}LQp7-9@FmNP~eql_^|(NouVC!>qe!{}x7G5Q%x7z2z!#t>tev79l&7-ftx zie4N(ql?kQ=waAY+Iz%vjDCVT>}y7=`-5OnkS>=wkFR zdKrC;e#R2U0Ar9b#298QXN)jL8Dos1FQ=c;#pq%5GWr<(j3tZ##vo&eG0a%b7-5Vu z#u!B*htKF@^e}oEeT;s_62<^ykTJvMn7W-V}LQp7-9@FmNP~eql_^|F@VEobTN7uy^KCaKVu1FfHBAzVhl5uGe#Jr zj4?)0%;7V-7(I+$MjxY}v4k3+_52KgS$LMD)VGJ+^8AFU=#&X68W0Wz*D28(Qj4nnGqnFXg=w~cp3@`>6 zLyTd@a>fW_lrhFAF6QtVU5p+^FQbpq&sf43U<@*b7{iR^j1k5tV~kPI0WoC%8C{GX zMlYj}(a%`I7+?%Ch8V+)<%|)=C}WIK4Cn9}U5p+^FQbpq&sf43U<@*b7{iR^j1k5t zV~kN;!r?Qz7(I+$MjxY}v4kV)QV28GVd?#uCN=V~{b#7-lSIj4(zSV~m1-B*V$* zV)QV28GVd?#uCN=V~{b#7-lSIj4(zSV~j!_K#cS=x)?o-UPd3IpRt57z!+ok)MBItYC~YT3Ifg zF`LoJ*o4u=*oLtqIOAoEe`UO$@fOB=7$-44#<-YqCFARi?=kLT z{G72mLy~U3XZN2Ok1-x+G@9sqOJmGpbTBqzJe9E-V=KlsjO`fDVeHI!KI5MmdovDT z9Ktx9@e0OKjMp=cWxR*+Va6GZvl$mLzQFhzV`1;!7r63=kGk!qvA4O-@7TGcr^C6o zsi$-A?d0j`>D=+$wwh1Mz!Z;GVG;N+r_N;+_#`kTZ>?T8O!Q}z91Ek-DZty+Y$0*#c31f zdT@;v;u}}51J~x8h%#OuuFan+QmvC&vD!OgP^xgT8qMpzwe_4{$KH{x6xIBh+@7vyKJuC7-()@Cfwv%k%17z^ z@vxp_EN|8~oY1GPhWNyd!u5Ww75t4C>W6_RJ>n{@$IR_<%)6L(v7RSbPn_%X#~dGQ z9#;ATQb&9MFR;_TehT-ayR=|e)^jEE&TK8;!l4}|fwxfoH*|ew_2Oxk4>#5Fow<4J zV7}qqTGC8!2HYuJS1T<~-#gINhWU;xkFRCaHGp~Zed1!4-@$x<<;}A#Mj?8nKST#s z;@Zarks zp3BRu4|gyxlH?yY^(4tZ&3t(h{}y1jazk(VFE;IkTGJiMo+qJkT zVt&vREpO)k)y$X7*L;xQ2hC$X#PT=enXV}F=6hpAPhAz@sa>1zi_P~y_u@qq)hqM; zaDe44c!8G6Ze)Nb`A{oe4^6vqs^U)<(|LTRV=F{E=7ULm55+eXE=r)fbU6>G=FJwT z`O6gV6lEN)>FZYJOPJ@^ZDKt0z9fDw^WB*@-wVFXe0~xi0Z--FaF$MyPPGu9Gv9=H zGoO#K9w+NLg;SS{fK>Zso}0Dk$b9Tft=Z&@n2#p$qnM8*@pm&{&b*mF`1($T8)hES zQ&*Vz5c6DZ1-|rC@Z(`n`Bwxn7H%Wd0^R6WMHOvd8|M%$xfE%)CEI{|M&2%)2-~w=nNy-W;(_WC!%6Z>nGYt(uV=m_iT{*&FY_%qpN}vvm~YMeDQL))-bl0B`P`oQ zF!SbqkiN_Zm_L*C_?h=6@&9Dr$-J2lGnkJy)#0{bJI`bt-dO9=jNs{l)yf2Brg84k= zO?!I>^BK&W_Vze3Fx7ZzI^=2mQ2wJH*kR){VE!!DgVWcP{xI`qzHMMW!u(4d&o7w|{-WdaAnS2q0}{p4bwu-RS$-k& zJ~}WNm#Kd(^Ciri?eP%vA?E+Y`g2gwq(7P@--UVSF|FUr@mU>kNE)eX8gmZ zo(ipJG3$viU(WnW=F?$#DL#QpEl;0U)8z$E?aMVx*Jsn7-_N`^iC@dSpLws+B1AeG zCg~5+*TA^c@2UfPfG7R_p<4fF&ga{ik6x^KFL}bXg7w5`f{Cjm%Wq`f#S=a=e@=s; zQ{~9x*ip)t5KWMfRD2dXCgNkyYW;0l{$I?ymTKO|yg9G;akw8b|0oOv>G9A}akw@x zZ_eul9TR~o%<=D!2^7hP>2L*H*Qx*5_sYDhq2{k={xRl*%&Xrihuax0ouB2L{}=|S zt26WAB)%9tg&S<4^URSe6UFK>NjV>w`-~8W5t@kiu3Jq@T&g!w0)~yAGt#Fru|uH>iMhYk1Jn7Y&Z2> zRhu`^fvSAFR`X_jI@iOGVm|seEw6st5@7_H_y1k<=IfWYm=|;u0xmN?-!ktlsm(Wc z>-hMhn%}8>31P11^yPf!>=zqYemu8Fa~!gh`6rpD^Q`Imoca6bX$=LM7T+;%?i=sK zJbhSC>nESMv+(_}Ki;YR^z%3MyP9|wRxeIs< ziR)a06_4>ozEo~zeY?FL`G>%tiFzU$T9v%HE$bQ96X~J#Y~+x(vAo}-pD*MQ{Yp@^A(o&XKHz~-)Wbx^@PWyDLv}UblkOqKq@^w!BhM_O||?aLwOVa zvq>KO1RejLnijV*A3N8km_E!;XWq~D^Bm?Ef+ziv5jvjN>R`lJtlN=(=WNa2&+_*$ zAD*oFJdV#4@R+jIx#qLH>s}q7Q+0I3E8tbS&ej2%_G)2!9d60lT7Ecdd>cH;d#}^s zn%hgecF^+T6U_%XKEs$V=O4c|*O5kpCq1zlI$SzKoi3vz>uCxdvp456A zT3nn7Uggg!ox$d7r?bx``MTFdibuH@=?vJw<#ILieyh$%48zoQANZD7j~&MYJyc_L zt*S@AwUdsg_j?`Bk2Q#v%*US4;m%||=YgmAM{m@E@38z@mKU6#c9!45eCQD^2n(XF zPffl+Cn%G79CM+{D}0BRf0%hXq@BWb?bGsZF0a++X+H3bE*B(IUEhJHaxXte%R9Kf zrNbT)AN+^b&)F%OfX`vSiO`SbeWhBGM=xR|_?8$ydnahdY}fM@-$cYX|54oP%Il)T zb+y%cMsWPwfv0qZ7VG$%_Gc8!hd7=$u%4SuJ=g1Uxs3T~isy#}c!u>y?OOkjTwY_l z>i9(WYGO2J#0=)kFV)1gtm|p!!xMD4W_)nI2=dJ-R`dF^*&pFN7vyu@t3fv%F3z`B zjt4kCXDhz0d=HlQ@jN$+MFuioa=VV_UpPN+V?K74=FROj)4@|d3$_oOT#?yb$0u}+ zW}K|&bmm2m+U@Soimw~be}X6do{>7A_p!*2%$Izv^}opc4d>-~sp{tgipTrwm0JEKtxhbcNB$RDBr_;q*qCk2cixlYVcFu7wxr z`1o4ucsAFxcwX`RkN`Va-g{K*@5652)+67-tJCG;?|aZ3)U`|Tct1E^mm|!kx*Ece zQvSr2YW>eLe+GC;SEP&PM{zs7Q^~VX0xV)ZzK6BExy^GG^Da8j30HI0^B#EBe!tPY zIsV+xOUK7EO7pjI82gwHa6K<&{t)wFZl`8{5eHBDgR~HVE5h>E_SX7c4`@4MjuQfk zXQ2dm3Owm45xM})bd4_1e1IGDD_p*hGVgQhaLvy>!r)asJ*9UXlay9e*nOeVDj$@gR zoNg#(J6L6qdDmCE0-E;oDU-iN=fe$LKi@X>9M%L+*TpX8y@gsH=0#lxm=7P+@jl(iG1^3DB+{zE3^;2-Y9CO^0iyYZQ1Ym%#KirJa6biLPLgj*o9f zZTZ>EmoUFii;KnJY1|d!ao4TPH}9wQlykWtICWhBp2AHYufE6f-lTEe9+r=tqvLZO z>nZK8^^}a#@xO@6WiNPTug=%`Z_aZMvV5?emgnVWv3r1)4<*@$@4!<$eHZF*+p+%U zXqcow%HwLYUY)~y$%k6rEZ-uJ$0`$6%Tv( zlaBvd4Z_R3C#ik;z*9WETXlJ1*r2ZL!J2o@*YT&{xT5RBkdA+OnU<&Dilb`}K z#k1!Gc(Weqs#r zkNFFaLmp$V)=PE&8+b5XF&mlR1D@jVOtMSgfzPQMtY|wTb$t3M9{mE(J2KhtHTB2` zSl&5OXIQ2~dsqaX(iM6~=d(Hfzwxrv;ohfsjK?_t&3ZM9c@OW~H0%FT=F91neq4=o zuwo7K-XuG-P4O(00AGWrc#7US|3Bvb_aB$*{0wkEPWxi%8V{c4*X2CF&eyb<&hkN? zznk%2rg#=gfCDTa}LEWb$N9LPx17x)#;ta@u>n&tW#&)%$kh3KE_l-8 zoTKaK&sv?RRPx}jX8oKG*;i=&B|NV*`~A}upO7HF{S$c7?>emY+^4fu90gC~1W~H% zZ6}sL2OS^9-^KQP2J;s%AEPt2ahdjNH1olK*5;=&@BBeWd}|Y}Xc2g_lfI;R+&=IW z&oJ8oj}{mA|5e8)_`Hs|Iq#SbUddmr^X+|>zuK?)Xp)_r&AgAty{7$)FkgPQ)^CpY zPPvNnVWLjgF)rU0%m1a=s2m*sjs>aq>9fBi54xp7e`st>;3{ zpL3Xxvi&zdk1S(7t|zrTn>{g``QU!7;4ap`g!Oon*2&*D^(3|5oy_}qz4sB;^A+of zzAY7F>hE~1j(?Ej*^}kxf~R&@&hvUKkE?4Ncxrc%J9Yl>v{~#|JPRd&Zk_sUf~ z#>qU-GVRY9;Hf^C8yrkK>0|luqdMF|R(UOW%K!2+(iGE3XRFvYCUv+iF%eL9kJpo% zvYvt9Nsp_8R&WiMV=2o!FVOjRAIr~WKEQU^)U%rP#Fl9Jbe8{sc|WfYpUZs1>pA|s zo|(z~Ch!zb|8T8m9LMJq=EJ*e>zB3mokspMH{0-W`C9iJfAbMt-Q z2=FQ&xZL})pD~J0P{6laSw6(`R`Y$q?t0{Z08jalY;W7%q{H z&sNnVpL4Sg*UNU*thcSeQ~XPo>T!&nNQ?10PAH5rfUI-^AEDQ7!ow%<0)M}j(` z=KIs`%)5A=Sj2jUDV`q^U<`P&1CgYDVV|jItWGa?*Wz22-i4A){+e4f@8$Mb$Z>k)R-N9!tvX!Orp*VRYMlHr%ZL7><<0jazc3%W zTl0-sfBIOhKg9DL2lIJ~=Z6GnUk`r~>v27;^_%MtgH8RnX#Pyrbrti1$L;32=w0>b zpI#6D3hN2*`1umnznOVw(l~q{^B&I6T$cY9yy|y&ymub+tr0OQuOPqQ@5KC{!Baa5 z@O!kioN<1W=XtT2pSLKUJtx3(Ebkei>;F&e_9pYuu+BG=->moq1$>)%yN-_wKhZ(g z2h5)ap3>#x{xpyIE-Wv2-KI11y_gRr)wf}${B1g(=DOk?;3wK zv(BGBtmhc>o}~5UQ^)CehIzd-i{;M&Pw5hawVp++{|%P+aKGG|<##e4;q{PG=KsTd zY@W_H`YmU=z5!46$Dd?>&bm{F8{vMOeiNInuK(10G(*S7uUH{o0B_m~rWCAIJo+78 z7c%ST2ldE*$MUW%TEE$kWZ$Lp$Itr!dvhSonD?@s8N~cK%$M_eqggHk!Bc+vqS_wP z?_|?;*4y*3Sy(cwmUo^Fn}&j3&H zbhXj(G<0@|3g(mFr@Vcy))Pyb*M9(BwTn-5xo>AZLovXkcIsvO(~aXg1$?S^%HKUB4fOk54&`}Rk0njmulYGS@W-2binyIJw9Gy%S6`4XNde$Q@k z@D!iW7dj)&`OA9`Y5gu<&s@&(yTFsYi}!t<%e-S!>hW7^@Ki2d9%q{Er7L*Slf16G zkoi!KE=P0zvYYwje)(QB{8Zz{mEcvlJbyW#sUVWj1G4l^AYeA zPY?G~ZJE!WtnHgCXjK<-g`*mD9*uZLgEdXo1g z_L-{V8RYqXORk?+f~Ro9t#tg;({&&r=KU||1YMz>Mek{(r|vaV@u)vZG^tH*<<@)EpX z-K>W*nUC;((H)#WYgmtKoYsGk%l+|3v>qqh)jk~0F!SZyzIrjgmiYi5_a#7bZRL3l0n8GE z9s~@5U;(delHhUQ?wOvM6kv@;Eoq)cqh@;E3i#-D_wAXMdV9T$W=I*!#x_(raVZrq zDX<*@CM-^j2o8`qiACZ#I7!(r#7;Y58yY;=@cSd?zn0k8M z{oixWJa)ME@GH7cZ9BgJIL&kJ4KfdZp#A(G3P1X=04%@y=AYJi z)^pbOv%~OENA&BD0M6_9O~JRk&j0uQjI`7LS!v()r=;*39~JmlwVjg;pKQOO<*y8- zeJfwQQ{mU{mwB-3_&$Xni{bO90jGXe3NjBLc&@zbSwAcAC(lcN?D_SJ3cqq%;MSgX z`RBC!zm@*rf^Pm>`v)@K8|MYSu0wf?!moD)Zt=DYIQ6Ih1%dyLye9VnEuU9Cs-6E& zD!iiOdYkT-|IToIS?J>#Kvd#;^D(}65pdc^M^s<^a;@VjyrOh_tndNDLk;WKzmo$0 z0N^~&pOtZaN%!4_cMJT+QJMeW(Eh*fJ<^|Jx^e$P=V2Le#w#NLi=Ut1@{|4fEo~cHhr(^SZn&C%sIrSSUX!*AT zPW`_gvzvSZ@cXn(_~TCir**mhIT^1GBlo;t5csuo(*N(*O0Q&ixCQyXs^zc#8)?VN zW#?1M4^rU&QQLXKk@wCip8tu352XFKXcwOLi!$E0oqYjt8rO|4%RYUTuKQVqUppb~ z|ERYAR&D3WV}d6)zDr*43NZZCPQE1NKdaA~Y56BrPiw=0TEC>@QvWoNDgN72_|-Q^e?B4I&0SIWvBw2& z>CZ<1r}?}Qvq$tkAp7wTWBc)Y|55V#zMkQbTlJtWYkwY0DgSs1{3igX{^XTzzh2w< zxWeOlt?&Jy%)_z5Gq|Lh{c>f7Yvs_#c`bil}Z{>gD+4z z^ScVaJ}3SEpW4pX0O$FP$s@1(h>lD7sQb12F$=fxo(g}H!YfK|EnZy!{65^uaoxxY zTEB}uEq`72^=q}AcLGlRc|!G~Z&ae4g_`uH;7#D`y2y^x)^`+r&bUr~FgZRa@P z)PCi;GC$T|>-`Ep@{(t9>%Xo0@%%rgb|(Km%y9H`Mb_Q&`M;%bTn*2a6diJ(SNM&O z$$Q_RP5zO>k9|&F_?s`22Y&`Q_4B;q`FCph{67(R+@APFz?1s<>|aTSA7wb?Cbet4 zL))JNoZfrw)iMt?8D8#hd{p3Z`u6VuCwh3z`iV)k+?N&JSG&@jw*TyFQvQnCHBKn} zeuej6EAxix{CAw;`XltQspXI8`Fl~H8NiQ*%Gs}f8*m!ejk3)DM|6GvNZYxh?L1d2 ze3Rj}cJTRrJjQQrFxbw7Sy%U6C##%s^hXZ=%c=g+15 ziuUtn9%@*>jsfTW_)?jelR6KlKPB%yc3j&3ah1aVRg>s`veK#lt!2r_~#G0H=A&slMwkYxy75@^O9X8~#PI{PJeNX-8C3 zua_$Pfqy0A>OV&o{5d*r3;#NK-On-{=db#`|1E82sPLm-ll8Up_IDM2HRc!e%eI|M zGC!6M{}+a9qoI#40e)ZTxBYtb*JVDRc$$pY;??UFel4cQ*Z`dIKjvrnV_Lo+<9mNj z%U}Lu>E}<%NA98P($3}I7J${a|1RK!KUdYR^k0Sj%6&=U*WMl-?|q-v{;S^jXiom_ zS9m|>f4HRZs~dtpZ7u%@!}Uk#XtMD5tPd(4pF^_FjN2Sruz;hdp zW2z%}Q7G@`%wt;*-O*l@(Ssp|fDtP}$Ubojy0SM!07?H*|rdo~e1m5m2sZ!MnY>TLUuIYCyBiGt~TPQ>NB; zx6D@FRM*XxW3~!rt~DIEb9q^LbeDSVIE9)!Y}L(hG-!3V*XkIgQ{Qn1W;AeHqv2Y; zjLz1}<<&yDa;DDB2kopog;CFpS{-zWI#-*+d<{qaL9Z|G3C&Nz7?j=9_h8)*+JiEB zv1KYJTNMlnyRW)rDzqTGu4%WhA|rRZ+^HTnZ;N$ey|iuGZg)FpCyaiWRs+S_4NS)R ze8E2P_WC^cV^D+%TZe@ExC;i>j@KSbD4~O=_DT$@aXQ~UJA4toR8 zX$K_JYlBuh!_iuG#Q-$l_J+eX6eeOwpmL#r$@f6=+`4CWXuFTQt;fgU76_pVP6AS! zQNU81qqfSR%xe$ODL`*sv?B`64|#c^=s)2N5`BK6e{L&8+1H&VJM$f!WNp*#xsA;; zhnb|wQ;_#r@of35*(|@woIQ7_mAL1*5R?hJ_XKwyu;j>no3z zH>q^+L`nxwp2{H#irFb_bz7q-q&aT4Cn2Wq4%~Lz(?{m9dB@;Hbw@Z@sg0J~ZoLh^ zdR^mo8>WHdlE@tW&bL}`jeOj`ejUIv%IzSs5$xI#_HDExeac6aehAhs>Q{Hw1SIiO)M=qDRq{X7IRFz zw!M*Q6${2uuEqy8L%`$?E|=2YyS!XTe(yrwN$Jr-z6ky@X(AT#^UEnuoP06uN$PtF zPTG44g_IdyC=^qlEYKn)EZ;(5F>MYCOKEdZNS(K0KCQK)lllaRnB2EwG4;uO+Uyil zSE0DDnD(AD3|T0qVe>+9DQ!lJ%W11HpHIQWg?T4!r1MT1RxMytC(ql$V%o|rET=zN zN@=a+q&`W-#L|4)9F)@b`a)?jZB0vQlw+ZkI@gQ&w2>~RV%1_XZLSv=)8=3?6%Ur2 zv^iKRr1fnn6|a}(({N|0l=_}jJXl&zo9m_JwD&Bhj%PV_JjJ!OY>>evNT^v!Nk&h8a*h@ zr{MuMV+zKXmX^|Ww+%l$|HW#8??4t-SU2w1%AiY zYC^CCm)>;8?Ge46<&lCmi9WX5y?XGxqXir-03BfHIr`7l^ZFD#Kfii7YP5RE{o(Sq zHI%+3iI7;}__7o!(%-vO7^iCSlO)kW4ZdWuAxrz$58J-d~aFubiM^=UEpP+_m1Y-GT@ang_6tz&yk2k#BtZ$`o-ZK#HbM~4k7&o)5S=k zqX#O`;2n!F7(6`=p$SS<_CqbrD$32-wdI-iN4nbyx06sE?m;AaqFQ9JQ=ov&PG8|+F0C@=ell*C{N86wbR^WzuqxTST($%89F6n zIzzVsn09}^5?Y*t)+|G#-1C~v!WM~7c=KT!a1P(Vg4=NWB#`&IwvqLs;#lJNTOBuL z?3rtom!Sae+t*>x*=suaR=45pNnP0q+{=M`DL|x+rEa^o({a09r*vV6wRdYRvs*MU zYGIdoAd>Cn#;E7AaciN`+HdxYPzsdAMzCPDMh9xJu*7c~x_hPpdSbUODL{rWnvp5P z$%{pS3c`w3?6`ej#d;V$RIS}jX+SQ*1_11o6R%6%IrXcca|fA|27yi^o|Ad5Zk2;Rt?(JDLD01EiBe)Vqxb) z3rjjzvS$IW&l){9ymBWnLv4g~_y-*TtZxU`A6t}6>Upf=C#d73EUxc(^@}(Vx@Fj| z>M@<)#+f@X@7Ssn^Ii^rsrO<5IgrSB%O|>`Brws<+l~smYekNd)%tYUlSSB8FywT0IlP8m2_VCI>qCppS*YCuM zm93TBYW3l*)zfo}(7ee>A!`vj&}&{m=BA%QkrSVKQdHI>`Hb{D%in-O;Eu!A%AHtg zyO-?AH@y)TC4-Ze8(Gvw&WeO(JFhelAba*1A zbjn0Z+u@0vT|6>nQaojDWUP_7k@9J*U((!=r8aeLhEyXwH?vEJ=SE7W%#E}io}1al zBXc9gQ|5+SkKzrLKj;Bs{W@;u9GO9h;d^nS8#*zZ9PuGry;b;Wh|vem8r@-i(85k< zuZ9i;Wcd~|2gw7r1;O~fgr(~d<;o2_7%zuv?5Yn&!_m0egp~v$xVH`O3OJ>V!0xqs zT@M=_yr0=__iAu<0fRXh8h5;xBd3+NH}V>DOZgIM@Dd8a#?oyWcQA1G4GhAA{T$02 zrZMhxKoLa(kzZ^$ixf5HPF6-cywds?Aj{oZJk}U&8qqA+{u$wxSMRP9A7Wf z%h)NSiBtUIv16y!*N(56!d!7~UP*3<`VVO)yJYe+0SN|Pb={8EeB=>BHN^o-or08$ zb*sdkv-?3o&nA`-Axerd%5PF>owRc6tl{LS6g7Y^O&Y)fDld`!djOWP3@<0R;ix$t zK2QyB4X!zKUXh_s$5-&(;o9y#kV#xa2E^Ls(VC3AK#G=)YOmNIkIMC=**bvN9ytn4 zIO_yXC1l8Dvu$Tcj(lY(Cm>B!7p<3`xQ0z51}b7Lw7tDMEcuYAQz%%sGi)5pANqOI^6Jnc6=2Izndx7buUGx4Cor_BhzvBv;v)5q%nf>B|gI~-(973 zm_ugTjt1Ui2hx6CBoU?8--p~>Hif*|^v3YW>J3ET;%yByO4;jh##=M=%ts5Zz#`@5 zmXQe&+QtpnDVsi0fE_xin@6B$+N2tovkP2jPVa9-yOytMe3hDZ2(I73l4CXNUiv^ z`V_Z*m~|;TC6U|6`PQw2au3PjR<}%-2=`FtdEgCq+`gB*B#m)@#_Vh7OLu|xD$}_| zsz%Z4S(SjO_7Zh*)suv@g6XrCN6AkKqPuic(Po$Xl$liV(Rk4ynhR3Hb| zeU5o7qFd_!X+~hZDe_?oaZvO`chC`0us1G%R$T!*1*mP4B%;5vC$tna$*u?I3ux_-rjMTVIX;XoF& zaeAX2h!<=EI6*wTObE+oh|TfTmU>BMgk1Yr&SbQ#j+Vu8(dr@Y0V@#;gox4(ZJ7x( zGj8O4LEeqCk-JdTgF|_A2$#K44}v=dT5wmgG;&K%pYp^+d3#x>JY;p@!;={}p4yHc zS(cl#^rG2zhdag{jk>u@^&zNCr#6g|nQW^K=>_=FYWObEr8*d}k+)X4-G(UaW8V<9 z-pb<)suoO(_p9Z9(Tb3f>Ze*T&66++Bd~2EzJo21?lVwz(4{x4RQv6=BW$W9V3*^VzksORtYe z8Qxvw-JGDG4I`IuIf0fW8GK#I-Q9si00sA7e`NJ?%>)@K0~eTac`{R(-KHL^FBCo zWBrOB7~Y<_r1(2tvimbuNZw4mH+NyU-PIbrGt?U+ac=kOsO8|G7-#D&VX%y{4$F zEPX%G4HMbJa3(AuprTb!PN)ifdC(73Jt(f0AgQ(921|7srp7cvz#pc&Ok)oEGE!Z+ zeGuXXi;WS=WYVn1 zPi{hXu3tcKbx@x?Sy>z=-=%0fa}HT$wjN?VZLD)+@$XOAOjpQ`K?4us0BAtAj+99Uf)?jGR35j#szT`k0 zJX5&{M^uBFveDUV6^N-g&!Hj4PRU!L&bL1y5MStERDeO899SS2m+E^i zk{H168t#LmIz)`sM;=)@zGj@cB6V*zt9mz|OQF0LYWfT~ix|z17(IPPM1#)X=K|oC5axa4~?ZS*z?6FRpT_3KbgWu=DGkezb>~&?T%( zWStO?3+Al`Qo5*uo%%!$?Xo{KLRNLg6Q?|>jb&L9cA(YDQTVOZC{HLvRo4oWtgkGk zToVzoAyHlcLtz_}G!dYs$lEd0{-_FpjEISgN0JG-fG8?hXG%=FDv2YTu`lL!a{)dg z(RoKY948+I$)tkwkty^ofrpZ0E&oQk(P;!>8asokR{eOZ48$QL=?1x3uduC;Tpn;3 zCfP}6oM{_%8x2`7#u}0OvZ)fE5-nf?TGu>T*V~~6cQUELWe58D*YT~#yr`{| zIu-FENJ$Mb{q#m9r7?Ou)WK!pJWb@X$a7;Rk5v!xSRtx}P=V-+4!Vz?YMVKGMkk3q zo1(s&IdI4gZ0`#j%~dyf$sHotsnv=34Oou0U^91+d%@ZR%*sYu+4o6zG8uh*fVm~+ z$4VBU-P@xbu{*>$TG`o@94f?=4RPSmVSXrnjD`K-u(jPKyU_gPNzc6oQSpb7>7cwv zT$!9<9exL5bccl}afN8M{gaaB8d=zggTUA5vE|l!gBU2WK~|m6g4yG@YdG;1E#Pd9 z_3qKmE$={~$waffldbP}Gq>&Jq3|-j+69EL02Kr$#4#3wL$;GFOB1#muaUi`>b$a%ZzK58Z8&uAl>0bkk@81{Xqsi zwazzM6#t8}!k-yf$kb_pB_CFerFbt)xGo^APdCjK8RMH4Mx@%QdxXfdlqh0Sl+ugY zG&gK@>%GGmjc?Y@H9u+R;yo8f5{O#C0e>5~W=2;gGzT>uOjs&eSCHjcyGL-T$QlPo zX?+N?bWZHrO%x^YJbV5&y=lQUvoC!}tbB@mZzGyGkfSV%d-w1xup5RgitSX3B5y=+ zhw$^Usu$7cI}2j52PuKQKFvo$vBAb?u%dE%4DVx5?6!wkhlqA0By0Im85}%MG44iV zCz}Yujv`qiu?QSuB$ZgU^$8dkYZtxC{9fR5QV+$;Q1n3J@QGise236{=!cc_2)ST%)?JkFyDhR7#Vfv0^G zeeHbuPM9+87Ky|#eL|H%34oC@VAml7TOGy$80N|8k~7vuP#rUwg^|ANJrHEBSvF+D zBGMC!VG#OEq-tc7)P(e&Y4CTmkW{?r?ISh?9=(E!;>O~8Jh7U9RgO&XIQNau1jo@J zaG02e5lL#<+oDd2DR$VhT;8>Y@k|=kXwHaGq-9tVN_BRF9OSzT&2)=H$;d7x>5;OC z$_~x2<0kwcS+_V%2uNBPYkE3_VX$m9>@ysEmk{U#eH@%&e0`1e7{_3zq0&7iwGg9; z5oQ`u#406s0%Vv6C*t7jyC&IFZbq0TE15N~mGu_t*7r5bM8}@RO@=$SZm^@iptR|vA z?e13d1sa2oEwP;P->6Um^GfNM+d&H4}Zu^*S z7(@w-ITMQ#=qQt=2Z*1(hGQ~g0r^q%_XBi>(;H7DOwZJTEYVpL9T5B?H48ascgb%L zNaf2YH?2yUb}~+5X`TWffSb(xPnu}>r$VDYHS<3l2iObIrd5CgJ93j-7ppb8;l*;b zhhW>5`w*95ov2@orCA`&p9l#dv0JiFrlhq9(GI&Q=(ZcsKl1!bW;l{HCs3PM65z|M ze&8USm!RFo1qyW%QDHD&LUxf$tp?I*A(eZkV{d|4W?vviRD|`1+$Qe^TvQGfASW*|Gzz)R5(YL;LMi#&;><#>H$=gl1ArKqsP>4rh2=Y@ z>CSv7Mmda`&wz)ab-a*M8~0kBrJf?BMF7Mhiq* zxw{*U!1SZHnMY$?BTXd9GNIEAd5trXhcH_hnEql}I(%;kp#P4X{ZuAI?}Y=-Het8c%N%8y3uY@_4e+$UVobIMy#i$oYVz zK*WVwQ-f?Z{z)1_Mp-%pGQ`+M&#c6g5~ihqH=<)xQ`B%__-6Qq!X^hu2M33wy6Rqv zWo_ennu5g?^>`LnY;i+UdK!13l>>vw1R4wi9_BaBK88xl99lf40D?ZTL?t%_|YWR%Vv{pmpVZdXc**Ep#jQzPK!~8<{(By z>d$hf0wEVdrkXl|KAfsT6-3HPBTL5zT}M4<#nbj)%^ zoncmL>yop+KhbL+l_Ct)LB-kIVLK6~n{`3Tv}L&)_vQ{<=CgdEkD^IjEMu7hNEhfxz}?@%`nTsf}z4&gRbC0O0kXPZnDPBN#pUvau zpKtN{qz~r?zMary0jf)6NU3dN-E}57-yTm2u@S*}mTg;2oT)fnaI;2FoRH8QyP6~= z8rlrbOD(;|S2>rVI7d8D(O91%aa9r~BCH*QY=2hNV|YyqHpvL5G>2>TLQ)?av&HI> zX+7`8YY?Vp1E3@TaFxzR)MgNc+pR&0+;9;&FNG5v!km+B)xru6s}Z|Jc{DOvEyyGk z&DKQ6OoV|8Je+{cA;yj(>^NOZ1daXEknIkG9y`5*Odr($H5%QVnyw>**EiduvaLph zIIudm$xduhQr{$=G74gHB#H@3mJu;41dA+S?OGGzpj?Wb$jF~3+5)i!m|onb0mcWx zAaHD4n~^0zsKxdeskS7gt!3H-3A;0qaGH_k5KETT?*xn!e1LMRE32o=W_@i#T<*+C z%a8|*9n7p6pwT)^e^{XzzBf9QHakeNd(*ZfvZ+)bm|;8OS5L`QjOQWSQ5Gd{vKa@6 z9=7q_mKmIGL&eAh^X<;C>^~S5%dZ5s?t3STFcc<~VR&{dD2j#h2=f9RNI@ME0yR8U zeGdF|1k%%RbGG4tez{MG%Hc!9GDF# z=O&_be2+a^ez_VqDvm%MGV0+rmM9b(Zi@Bp4oxevg@P4>K#_P#A*oe#F5=$Uv8|iR zRZkhX_c(fRyLAwuO99KI9AjcQBUko3>zyd9IU)28VvMeKgx<#RGIG%YneJ@jM(o*p z?l_m-#dZZ;CF8*p16OMe4ubQRPrZw8U|ptc41Bwn7^?$fpq2`zOR{-zvg(aDX{0Bj zaIxasl)a%7bZ?mS9m!(S9d~ND$kvaFiQW-JxdWIg!=a-OG7W1a#2L$64-v0{NY{Am zMr;>Z4<xN#M+yp}heT5;uc=+nKG#EXkDu8@a~w1EqHJW8=#9}nRC zi-eR>4s_00Og>vIbHz=M`z6Z0IgRS;0xv;SAU~nuS_4_P>QINnpUvj;4KzB3IbOr! zR_5?+k&SUn9FK!-Bi2+v{#FS&>jGJ3+HjK&x!b|0ErRfRgIy#pmJ#{3(;!M&k$^4; zYkMTAM9I1A@Kk$vDzm|oO){4eI@n!c$ZiJv)R}4d?lLXkJrJX$JfMG!1w69N)kzVyyq;FYs)`FX&e=O` z#(ShXE}G-5z`Z|`tU5w|W3-(NA7rD{qygcCWZ|so2_emyESTXij}ZGGj+255Leh1Y zObJ;+BlR15at}P#QiPqKazjo6y5I8JvG~G!6G=SKufEqH8R0lGj%OQ0;yqTko5PP- z8H0Fn%W1HKHKTGsnr@4_-#=Pm#d2dfVml`$sQ$pSm;H!8LntSQP07ked~)?-^knBh zb^OZYCKFa3k?As<)iZ2%&FEJXRliwH1=5mdaiWW!#5~doYsk36++ds$x7q6b{Py!} za2}ZS%1ddq#*IS9JDHa05Jp*v!{Zy-%AF2KSkw_SQ>2o5w1nL=IRo}=AtE4sfgYBu zt2Q!0V+>^mHKBq`-|V*Up2JPzib1YUnp*9`g|Ln%g~;cSvAG$NS~$Qt@0evdCRQwOkL$dO8=~a{4e%cIl4IG0tNk1x^0UHbl?F-iB5$q*(-&@ zWd=xqW`_G{9?59C&7Lr*!Kr?;lYTgXW0q88he&ZPi}{h&ZJEoV?NkOG|0uLx(1U?s#oU?2~ORPFP~sX7R8gmEeJHPbby5-G(r@fa8fX zj+E6@^oSrmL`s^I=>>%L_<@q+tXjPg$3^#c3KfK(F{X+Xj)`#@xTPBE&+=}WZumj2 z3uCtTa9c2Li|ElE7o&Z%i(3kUXq)uSCZ?O&yxZOE9qL4#U^n3-VfC5ud$8gQtD0C{ zTbl$KdBe=qM95an$%{qG2+FF*jU?_A80(oHOjCMVE63C;Qn_^-gaxyv;2axe183%t zYJ#@g?6r+#{t7k$DYv0&=Xf9_^^KgZshUhE>-DnEidkPdUS1c3#sNk;PM1X-zG)k=+;Ku{?|kv|koz16d128On3fn$_gz4R)hd*6>)buLBQ%wo zZ=#x~+iPM53JQRbBYRROX%8N2ZN_Te)u@t7rZ|_+xXYtK3*@SnxD1j>DztH?B@kgR z80C>|Owx)bExOzbz`4jR~T5@a%7#EcmgIGjv!%4XF27V_|y@&;gC z$(jxcYFr=n28hkTcJ}vi5uUI9Q^cd*-h?(wp?l6(N~W$U`!?w!3c6~V=T)Lp$cjA5 z;X=2_W|14rE2jGB+2iNdWlJ2CR?zh~!k3meJ85cRdli}(;bwDxfyLNavZrnh7l1Zg zT;aj41{+m)ljj2%lJLoRp%|7geCq@6^1}=XamXa^O;vVJ*fvOTVf&gSDtGITk6Qz5 z?2yny9tmNctajg7DdJy@O5NP%D`xbU2Vzm;Wk`#2jMXDNNR_IA^imsXp`^-;U!T?K6?k={c)wl z=i6Y?#C>7e^8%aXMVzJ#JU%yi8`L+EoTiE5u<^BzLmY(>t|Yt{CJ*IimKdbw#C>$T zP{`1Z#)$@!A}_q>G=kO)3vFhwnW7shGLu8d@x!zXh$uN_KinbKnpGZ9p>=qvC|R4H zZ}vD0Mbj|}oiYTKJ`()yHNatZ-CG=xMM_2C4;3Bd$lh(?xY4Yo8a5j`7w6%9f_?X@805RAyzRjyMZX%C81Z8Sz8<(iMofFS<6Sow}(}x;)Y?|K#M!K z6ORhcGG|xYmrnhJr&w4;*XiO6i7QR!3Zp#(K5Rk1bnq-%kuJsD9e5yek!8RD%-+e7 zRQI(1W2&p+OdG)+qKILu^ODVR%sZb zd4A4OP4DmS?kzYe(Ln*fBd2=Qb7+zeOxy{9TQM_C76C<3;~}*`Zf>~W8M!rlB36h$ zckDN$9`NS2yW_b&315TJes0bOabl?N!;Lpw0914*H`mzjqA~eI1~qC2&I8u-~a2>IRzRF1wu;-i0^Qivgh<%jastVQvmYh%&zAZu;-# zXyH5X@9EmohxCj6JgRW}@of7=Kj-inuKyXWZ$Iykm48O;_X>W0{afGa+4n!GU+m{M zUMLl8z4-gj;PLbD&#(VtDgUH?9-$ZD@0s}bH2kymUrIpyRq^jH;h(Ladzhg3)6d`k z8To1dPi=(%-i#mL3ibaF{#c&c&o;dnf42YjJ@#`4&%PO||HxOlc+P%a))!JU^w0KR zO678w@P*p8?S1Y~<%#`VdXfCL@3-~s_EiS_!_VOlYmi; zXGyVK?wEF1KMB9Wf3_bM_7nILu76bP+0Q3lVN1&A5&daD|6Z*AlW&pt+s}Nodd}9f zpYM*nuj^>6G;ef#;&z9NA3!@k#c>%+17JO4*!(tduYEvTRI`TMBW zx9gvKQddGhuU?Hda5VZe_euPw9^3j?uh4GJ-vJh`fBk(@-+q3k zZ)?h@#UBg(oml;My+}&f&kqyQh5q92{{o&pAOC0%)8EdT)ZbZ_PmAaBG{9fmkN=AY zFTg)r|FYJ-z5Iqe2+4}bL1$Z8=pR4GTWAeF2lN!`4Ei0+WJbq{HHWl`U`)? zy2#J}OyB>hNBL*&mH2qJ_LU$OubzYNw(kVDf7d=D %s] %s\n", to_timestamp(t0).c_str(), to_timestamp(t1).c_str(), text); + printf("[%s --> %s] %s\n", to_timestamp(t0).c_str(), to_timestamp(t1).c_str(), text); } } } @@ -259,7 +267,8 @@ extern "C" { json jsonBody; jsonBody["@type"] = "al"; - print(transcribe(jsonBody).dump()); + transcribe(jsonBody).dump(); + fprintf(stderr, "%s: Proccess finished.", __func__); return 0; } } \ No newline at end of file From 6e74778325c3fd434b3fa7f2d65d5d6847f2bba4 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 16:12:45 -0300 Subject: [PATCH 12/23] chore: misc changes (linter, git...) --- .gitignore | 30 +++- .gitmodules | 7 +- .metadata | 42 +++++ analysis_options.yaml | 31 +--- example/.gitignore | 1 + example/pubspec.lock | 220 ++++++++++------------- local.properties | 8 + pubspec.lock | 402 ++++++++---------------------------------- 8 files changed, 253 insertions(+), 488 deletions(-) create mode 100644 .metadata create mode 100644 local.properties diff --git a/.gitignore b/.gitignore index e0fecee..5227375 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,30 @@ -# Files and directories created by pub. +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ .dart_tool/ .packages @@ -6,4 +32,4 @@ build/ ffmpeg/ railway/ -*.o \ No newline at end of file +*.o diff --git a/.gitmodules b/.gitmodules index dde6afd..ce1f056 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "whisper.cpp"] - path = whisper.cpp - url = https://github.com/ggerganov/whisper.cpp.git -[submodule "native_lib/whisper.cpp"] - path = native_lib/whisper.cpp +[submodule "src/whisper.cpp"] + path = src/whisper.cpp url = https://github.com/ggerganov/whisper.cpp.git diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..4cbacfe --- /dev/null +++ b/.metadata @@ -0,0 +1,42 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: 135454af32477f815a7525073027a3ff9eff1bfd + channel: stable + +project_type: plugin_ffi + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: android + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: ios + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: linux + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: macos + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: windows + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/analysis_options.yaml b/analysis_options.yaml index dee8927..5bcd91a 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,30 +1,3 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see +include: package:flutter_lints/flutter.yaml +# Additional information about this file can be found at # https://dart.dev/guides/language/analysis-options diff --git a/example/.gitignore b/example/.gitignore index 24476c5..1f59a3d 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -9,6 +9,7 @@ .history .svn/ migrate_working_dir/ +models/ # IntelliJ related *.iml diff --git a/example/pubspec.lock b/example/pubspec.lock index b996cdb..ada8105 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,140 +5,112 @@ packages: dependency: transitive description: name: archive - url: "https://pub.dartlang.org" + sha256: ed7cc591a948744994714375caf9a2ce89e1d82e8243997c8a2994d57181c212 + url: "https://pub.dev" source: hosted - version: "3.3.2" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - asn1lib: - dependency: transitive - description: - name: asn1lib - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" + version: "3.3.5" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted version: "3.1.1" cool_alert: dependency: "direct main" description: name: cool_alert - url: "https://pub.dartlang.org" + sha256: "48a0b6c04914b6dc7e8d7eaccf2adf21bace6533a3eda0aeb412e0d7a03dc00a" + url: "https://pub.dev" source: hosted version: "1.1.0" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + url: "https://pub.dev" source: hosted version: "3.0.2" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" source: hosted version: "1.0.5" - encrypt: - dependency: transitive - description: - name: encrypt - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.1" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" - ffmpeg_dart: - dependency: transitive - description: - name: ffmpeg_dart - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.0" file_picker: dependency: "direct main" description: name: file_picker - url: "https://pub.dartlang.org" + sha256: d090ae03df98b0247b82e5928f44d1b959867049d18d73635e2e0bc3f49542b9 + url: "https://pub.dev" source: hosted - version: "5.2.2" - fixnum: - dependency: transitive - description: - name: fixnum - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" + version: "5.2.5" flare_flutter: dependency: transitive description: name: flare_flutter - url: "https://pub.dartlang.org" + sha256: "99d63c60f00fac81249ce6410ee015d7b125c63d8278a30da81edf3317a1f6a0" + url: "https://pub.dev" source: hosted version: "3.0.2" flutter: @@ -150,14 +122,16 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: "60fc7b78455b94e6de2333d2f95196d32cf5c22f4b0b0520a628804cb463503b" + url: "https://pub.dev" source: hosted version: "2.0.7" flutter_test: @@ -171,101 +145,99 @@ packages: source: sdk version: "0.0.0" galaxeus_lib: - dependency: transitive + dependency: "direct main" description: name: galaxeus_lib - url: "https://pub.dartlang.org" + sha256: dc07eadcba1c93c2dd0fe039b9eae2c4e4bfe6425b2fb3d154709dfd0231ff88 + url: "https://pub.dev" source: hosted - version: "0.0.23" + version: "0.0.46" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" + url: "https://pub.dev" source: hosted version: "0.13.5" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.2" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" lottie: dependency: transitive description: name: lottie - url: "https://pub.dartlang.org" + sha256: "893da7a0022ec2fcaa616f34529a081f617e86cc501105b856e5a3184c58c7c2" + url: "https://pub.dev" source: hosted version: "1.4.3" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "5.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + url: "https://pub.dev" source: hosted version: "2.1.3" pointycastle: dependency: transitive description: name: pointycastle - url: "https://pub.dartlang.org" + sha256: db7306cf0249f838d1a24af52b5a5887c5bf7f31d8bb4e827d071dc0939ad346 + url: "https://pub.dev" source: hosted version: "3.6.2" sky_engine: @@ -277,65 +249,74 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" universal_io: dependency: transitive description: name: universal_io - url: "https://pub.dartlang.org" + sha256: "79f78ddad839ee3aae3ec7c01eb4575faf0d5c860f8e5223bc9f9c17f7f03cef" + url: "https://pub.dev" source: hosted version: "2.0.4" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" whisper_dart: dependency: "direct main" description: @@ -347,23 +328,10 @@ packages: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.0" - zxing2: - dependency: transitive - description: - name: zxing2 - url: "https://pub.dartlang.org" + sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46 + url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "3.1.3" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.18.6 <4.0.0" flutter: ">=3.3.0" diff --git a/local.properties b/local.properties new file mode 100644 index 0000000..a0acaa4 --- /dev/null +++ b/local.properties @@ -0,0 +1,8 @@ +## This file must *NOT* be checked into Version Control Systems, +# as it contains information specific to your local configuration. +# +# Location of the SDK. This is only used by Gradle. +# For customization when using a Version Control System, please read the +# header note. +#Sun Jan 29 04:09:49 BRT 2023 +sdk.dir=C\:\\Users\\jeiso\\AppData\\Local\\Android\\Sdk diff --git a/pubspec.lock b/pubspec.lock index d836069..7e3a7dc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,439 +1,189 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - url: "https://pub.dartlang.org" - source: hosted - version: "50.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - url: "https://pub.dartlang.org" - source: hosted - version: "5.2.0" - archive: - dependency: transitive - description: - name: archive - url: "https://pub.dartlang.org" - source: hosted - version: "3.3.4" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - asn1lib: - dependency: transitive - description: - name: asn1lib - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.2" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted version: "2.1.1" - charcode: + characters: dependency: transitive description: - name: charcode - url: "https://pub.dartlang.org" + name: characters + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted version: "1.17.0" - convert: - dependency: transitive - description: - name: convert - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - url: "https://pub.dartlang.org" - source: hosted - version: "1.6.1" - crypto: + fake_async: dependency: transitive description: - name: crypto - url: "https://pub.dartlang.org" + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted - version: "3.0.2" - encrypt: - dependency: transitive - description: - name: encrypt - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.1" + version: "1.3.1" ffi: dependency: "direct main" description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" - ffmpeg_dart: + flutter: dependency: "direct main" - description: - name: ffmpeg_dart - url: "https://pub.dartlang.org" - source: hosted + description: flutter + source: sdk version: "0.0.0" - file: - dependency: transitive - description: - name: file - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.4" - fixnum: - dependency: transitive - description: - name: fixnum - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - galaxeus_lib: - dependency: "direct main" - description: - name: galaxeus_lib - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.27" - glob: - dependency: transitive - description: - name: glob - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - http: - dependency: transitive - description: - name: http - url: "https://pub.dartlang.org" - source: hosted - version: "0.13.5" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - url: "https://pub.dartlang.org" - source: hosted - version: "4.0.2" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.2" - io: - dependency: transitive + flutter_lints: + dependency: "direct dev" description: - name: io - url: "https://pub.dartlang.org" + name: flutter_lints + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "2.0.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted version: "0.6.5" lints: - dependency: "direct dev" + dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" - logging: - dependency: transitive - description: - name: logging - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted version: "0.12.13" - meta: + material_color_utilities: dependency: transitive description: - name: meta - url: "https://pub.dartlang.org" + name: material_color_utilities + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "1.8.0" - mime: - dependency: transitive - description: - name: mime - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - node_preamble: - dependency: transitive - description: - name: node_preamble - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - package_config: + version: "0.2.0" + meta: dependency: transitive description: - name: package_config - url: "https://pub.dartlang.org" + name: meta + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "1.8.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "5.1.0" - pointycastle: - dependency: transitive - description: - name: pointycastle - url: "https://pub.dartlang.org" - source: hosted - version: "3.6.2" - pool: - dependency: transitive - description: - name: pool - url: "https://pub.dartlang.org" - source: hosted - version: "1.5.1" - pub_semver: - dependency: transitive - description: - name: pub_semver - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - shelf: - dependency: transitive - description: - name: shelf - url: "https://pub.dartlang.org" - source: hosted - version: "1.4.0" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - shelf_static: - dependency: transitive - description: - name: shelf_static - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - shelf_web_socket: + sky_engine: dependency: transitive - description: - name: shelf_web_socket - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.11" + description: flutter + source: sdk + version: "0.0.99" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" - test: - dependency: "direct dev" - description: - name: test - url: "https://pub.dartlang.org" - source: hosted - version: "1.22.0" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted version: "0.4.16" - test_core: - dependency: transitive - description: - name: test_core - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.20" - typed_data: - dependency: transitive - description: - name: typed_data - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - universal_io: - dependency: "direct main" - description: - name: universal_io - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.4" - vm_service: - dependency: transitive - description: - name: vm_service - url: "https://pub.dartlang.org" - source: hosted - version: "9.4.0" - watcher: - dependency: transitive - description: - name: watcher - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "6.2.2" - yaml: - dependency: transitive - description: - name: yaml - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" - zxing2: + vector_math: dependency: transitive description: - name: zxing2 - url: "https://pub.dartlang.org" + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "2.1.4" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.18.6 <4.0.0" + flutter: ">=2.11.0" From b34429a2f39ea4d885092a399080068bf96e5e63 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 16:13:48 -0300 Subject: [PATCH 13/23] refactor: change from snake_case to camelCase --- example/lib/main.dart | 104 +++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 53 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index dc2258c..9589f94 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,3 @@ -// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, depend_on_referenced_packages - import 'dart:io'; import 'dart:isolate'; @@ -44,7 +42,8 @@ class _MyHomePageState extends State { late String model = ""; late String audio = ""; late String result = ""; - late bool is_procces = false; + late bool isProccess = false; + @override void initState() { super.initState(); @@ -64,43 +63,41 @@ class _MyHomePageState extends State { } setState(() { - is_procces = false; + isProccess = false; }); }); + Isolate.spawn( (WhisperIsolateData whisperIsolateData) { - Whisper whisper = Whisper( - whisperLib: "whisper_dart.so", - ); + Whisper whisper = Whisper(); ReceivePort receivePort = ReceivePort(); - whisperIsolateData.second_send_port.send(receivePort.sendPort); + whisperIsolateData.secondSendPort.send(receivePort.sendPort); receivePort.listen((message) { if (message is WhisperData) { var res = whisper.request( - whisperLib: "whisper_dart.so", - whisperRequest: WhisperRequest.fromWavFile( + request: WhisperRequest.fromWavFile( audio: File(message.audio), model: File(message.model), ), ); - whisperIsolateData.main_send_port.send(res); + whisperIsolateData.mainSendPort.send(res); } else { - whisperIsolateData.main_send_port.send("else"); + whisperIsolateData.mainSendPort.send("else"); } }); }, WhisperIsolateData( - main_send_port: receivePort.sendPort, - second_send_port: secondReceivePort.sendPort, + mainSendPort: receivePort.sendPort, + secondSendPort: secondReceivePort.sendPort, ), ); final port = secondReceivePort.asBroadcastStream(); - final send_port = await port.first; - if (send_port is SendPort) { + final sendPort = await port.first; + if (sendPort is SendPort) { eventEmitter.on("update", null, (ev, context) { if (ev.eventData is WhisperData) { - send_port.send((ev.eventData as WhisperData)); + sendPort.send((ev.eventData as WhisperData)); } }); } @@ -122,8 +119,8 @@ class _MyHomePageState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ ChooseWidget( - is_main: !is_procces, - main_widget: Row( + isMain: !isProccess, + mainWidget: Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ @@ -131,7 +128,8 @@ class _MyHomePageState extends State { padding: const EdgeInsets.all(10), child: ElevatedButton( onPressed: () async { - FilePickerResult? resul = await FilePicker.platform.pickFiles(); + FilePickerResult? resul = + await FilePicker.platform.pickFiles(); if (resul != null) { File file = File(resul.files.single.path!); @@ -149,7 +147,8 @@ class _MyHomePageState extends State { padding: const EdgeInsets.all(10), child: ElevatedButton( onPressed: () async { - FilePickerResult? resul = await FilePicker.platform.pickFiles(); + FilePickerResult? resul = + await FilePicker.platform.pickFiles(); if (resul != null) { File file = File(resul.files.single.path!); @@ -167,20 +166,19 @@ class _MyHomePageState extends State { padding: const EdgeInsets.all(10), child: ElevatedButton( onPressed: () async { - if (is_procces) { - + if (isProccess) { return await CoolAlert.show( - context: context, - type: CoolAlertType.info, - text: "Tolong tunggu procces tadi sampai selesai ya" - ); + context: context, + type: CoolAlertType.info, + text: + "Tolong tunggu procces tadi sampai selesai ya"); } if (audio.isEmpty) { await CoolAlert.show( - context: context, - type: CoolAlertType.info, - text: "Maaf audio kosong tolong setting dahulu ya" - ); + context: context, + type: CoolAlertType.info, + text: + "Maaf audio kosong tolong setting dahulu ya"); if (kDebugMode) { print("audio is empty"); } @@ -188,10 +186,10 @@ class _MyHomePageState extends State { } if (model.isEmpty) { await CoolAlert.show( - context: context, - type: CoolAlertType.info, - text: "Maaf model kosong tolong setting dahulu ya" - ); + context: context, + type: CoolAlertType.info, + text: + "Maaf model kosong tolong setting dahulu ya"); if (kDebugMode) { print("model is empty"); } @@ -203,7 +201,7 @@ class _MyHomePageState extends State { WhisperData(audio: audio, model: model), ); setState(() { - is_procces = true; + isProccess = true; }); }, child: const Text("Start"), @@ -211,19 +209,19 @@ class _MyHomePageState extends State { ), ], ), - second_widget: const CircularProgressIndicator(), + secondWidget: const CircularProgressIndicator(), ), Padding( padding: const EdgeInsets.all(10), - child: Text("model: ${model}"), + child: Text("model: $model"), ), Padding( padding: const EdgeInsets.all(10), - child: Text("audio: ${audio}"), + child: Text("audio: $audio"), ), Padding( padding: const EdgeInsets.all(10), - child: Text("Result: ${result}"), + child: Text("Result: $result"), ), ], ), @@ -234,22 +232,22 @@ class _MyHomePageState extends State { } class ChooseWidget extends StatelessWidget { - final bool is_main; - final Widget main_widget; - final Widget second_widget; + final bool isMain; + final Widget mainWidget; + final Widget secondWidget; const ChooseWidget({ Key? key, - this.is_main = true, - required this.main_widget, - required this.second_widget, + this.isMain = true, + required this.mainWidget, + required this.secondWidget, }) : super(key: key); @override Widget build(BuildContext context) { - if (is_main) { - return main_widget; + if (isMain) { + return mainWidget; } - return second_widget; + return secondWidget; } } @@ -260,10 +258,10 @@ class WhisperData { } class WhisperIsolateData { - final SendPort main_send_port; - final SendPort second_send_port; + final SendPort mainSendPort; + final SendPort secondSendPort; WhisperIsolateData({ - required this.main_send_port, - required this.second_send_port, + required this.mainSendPort, + required this.secondSendPort, }); } From e7662ef3b8c40b8a2245f6fd2b2b60b9482e4130 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 16:14:12 -0300 Subject: [PATCH 14/23] feat: ffi bindings --- lib/src/whisper_dart_bindings.dart | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lib/src/whisper_dart_bindings.dart diff --git a/lib/src/whisper_dart_bindings.dart b/lib/src/whisper_dart_bindings.dart new file mode 100644 index 0000000..75cffef --- /dev/null +++ b/lib/src/whisper_dart_bindings.dart @@ -0,0 +1,51 @@ +// ignore_for_file: always_specify_types +// ignore_for_file: camel_case_types +// ignore_for_file: non_constant_identifier_names + +import 'dart:developer'; +import 'dart:ffi'; +import 'package:ffi/ffi.dart'; + +typedef whisper_request_native = Pointer Function(Pointer body); +typedef _wrappedPrint_C = Void Function(Pointer a); + +class WhisperDartBindings { + final Pointer Function(String symbolName) _lookup; + + WhisperDartBindings(DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup { + initPrintWrapperCallback(); + } + + WhisperDartBindings.fromLookup( + Pointer Function(String symbolName) lookup, + ) : _lookup = lookup; + + static void _wrappedPrint(Pointer arg) { + log(arg.toDartString(), name: 'ffi:whisper_dart', level: 800); + } + + void initPrintWrapperCallback() { + _whisper_initialize(wrappedPrintPointer); + } + + final wrappedPrintPointer = + Pointer.fromFunction<_wrappedPrint_C>(_wrappedPrint); + + late final _whisper_initializePtr = + _lookup>("initialize"); + + late final _whisper_initialize = + _whisper_initializePtr.asFunction(); + + String request({required String whisperRequest}) { + var res = _whisper_request(whisperRequest.toNativeUtf8()); + return res.toDartString(); + } + + late final _whisper_requestPtr = + _lookup>('request'); + + late final _whisper_request = + _whisper_requestPtr.asFunction(); +} From f7a9b6920f16c12ca9763ac6b335da0232108caa Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 16:14:36 -0300 Subject: [PATCH 15/23] refactor: code cleanup --- lib/src/whisper_dart.dart | 115 +++++++++++++++++++ lib/whisper_dart.dart | 233 +------------------------------------- 2 files changed, 116 insertions(+), 232 deletions(-) create mode 100644 lib/src/whisper_dart.dart diff --git a/lib/src/whisper_dart.dart b/lib/src/whisper_dart.dart new file mode 100644 index 0000000..0d48837 --- /dev/null +++ b/lib/src/whisper_dart.dart @@ -0,0 +1,115 @@ +import 'dart:convert'; +import 'dart:ffi'; +import 'dart:io'; + +import 'whisper_dart_bindings.dart'; + +const String _libName = 'whisper_dart'; + +final DynamicLibrary _dylib = () { + if (Platform.isMacOS || Platform.isIOS) { + return DynamicLibrary.open('$_libName.framework/$_libName'); + } + if (Platform.isAndroid || Platform.isLinux) { + return DynamicLibrary.open('lib$_libName.so'); + } + if (Platform.isWindows) { + return DynamicLibrary.open('$_libName.dll'); + } + throw UnsupportedError('Unknown platform: ${Platform.operatingSystem}'); +}(); + +final WhisperDartBindings _bindings = WhisperDartBindings(_dylib); + +class Whisper { + WhisperResponse request({required WhisperRequest request}) { + try { + var res = _bindings.request(whisperRequest: request.toString()); + Map result = json.decode(res); + return WhisperResponse(result); + } catch (e) { + return WhisperResponse({"@type": "error", "message": e.toString()}); + } + } +} + +class WhisperRequest { + late Map rawData; + WhisperRequest(this.rawData); + + factory WhisperRequest.fromWavFile({ + required File audio, + required File model, + bool isTranslate = false, + int threads = 4, + bool isVerbose = false, + String language = "id", + bool isSpecialTokens = false, + bool isNoTimestamps = false, + }) { + return WhisperRequest({ + "@type": "getTextFromWavFile", + "is_translate": isTranslate, + "threads": threads, + "is_verbose": isVerbose, + "language": language, + "is_special_tokens": isSpecialTokens, + "is_no_timestamps": isNoTimestamps, + "audio": audio.path, + "model": model.path, + }); + } + + Map toMap() { + return (rawData); + } + + Map toJson() { + return (rawData); + } + + @override + String toString() { + return json.encode(rawData); + } +} + +class WhisperResponse { + late Map rawData; + WhisperResponse(this.rawData); + + String? get specialType { + try { + if (rawData["@type"] is String == false) { + return null; + } + return rawData["@type"] as String; + } catch (e) { + return null; + } + } + + String? get text { + try { + if (rawData["text"] is String == false) { + return null; + } + return rawData["text"] as String; + } catch (e) { + return null; + } + } + + Map toMap() { + return (rawData); + } + + Map toJson() { + return (rawData); + } + + @override + String toString() { + return json.encode(rawData); + } +} diff --git a/lib/whisper_dart.dart b/lib/whisper_dart.dart index 68921c0..6b681ea 100644 --- a/lib/whisper_dart.dart +++ b/lib/whisper_dart.dart @@ -1,232 +1 @@ -// ignore_for_file: non_constant_identifier_names - -import 'dart:convert'; -import 'dart:ffi'; -import 'package:ffmpeg_dart/ffmpeg_dart.dart'; -import 'package:universal_io/io.dart'; - -import 'package:ffi/ffi.dart'; - -// ignore: camel_case_types -typedef whisper_request_native = Pointer Function(Pointer body); - -class Whisper { - late String whisper_lib = "whisper_dart.so"; - Whisper({String? whisperLib}) { - if (whisperLib != null) { - whisper_lib = whisperLib; - } - } - - DynamicLibrary openLib({ - String? whisperLib, - }) { - whisperLib ??= whisper_lib; - if (Platform.isIOS || Platform.isMacOS) { - return DynamicLibrary.process(); - } else { - return DynamicLibrary.open(whisperLib); - } - } - - WhisperResponse request({ - required WhisperRequest whisperRequest, - String? whisperLib, - }) { - whisperLib ??= whisper_lib; - try { - var res = openLib(whisperLib: whisperLib).lookupFunction("request").call(whisperRequest.toString().toNativeUtf8()); - Map result = json.decode(res.toDartString()); - return WhisperResponse(result); - } catch (e) { - print(e); - return WhisperResponse({"@type": "error", "message": "${e.toString()}"}); - } - } -} - -class WhisperAudioconvert { - WhisperAudioconvert(); - static File convert({ - required File audioInput, - required File audioOutput, - String? pathFFmpeg, - FFmpegArgs? fFmpegArgs, - String? workingDirectory, - Map? environment, - bool includeParentEnvironment = true, - bool runInShell = false, - Duration? timeout, - }) { - timeout ??= Duration(seconds: 10); - DateTime time_expire = DateTime.now().add(timeout); - var res = FFmpeg(pathFFmpeg: pathFFmpeg).convertAudioToWavWhisper(pathAudioInput: audioInput.path, pathAudioOutput: audioOutput.path, pathFFmpeg: pathFFmpeg, fFmpegArgs: fFmpegArgs, workingDirectory: workingDirectory, environment: environment, runInShell: runInShell); - while (true) { - if (DateTime.now().isAfter(time_expire)) { - throw "time out"; - } - if (res) { - if (audioOutput.existsSync()) { - return audioOutput; - } - } else { - if (!audioInput.existsSync()) { - throw "audio input not found"; - } - } - } - } -} - -/// Don't forget to run malloc.free with result! -Pointer> strListToPointer(List strings) { - List> utf8PointerList = strings.map((str) => str.toNativeUtf8()).toList(); - - final Pointer> pointerPointer = malloc.allocate(utf8PointerList.length); - - strings.asMap().forEach((index, utf) { - pointerPointer[index] = utf8PointerList[index]; - }); - - return pointerPointer; -} - -class WhisperArgs { - late List args; - WhisperArgs(this.args); - Pointer> toNativeList() { - List> utf8PointerList = args.map((str) => str.toNativeUtf8()).toList(); - - final Pointer> pointerPointer = malloc.allocate(utf8PointerList.length); - - args.asMap().forEach((index, utf) { - pointerPointer[index] = utf8PointerList[index]; - }); - return pointerPointer; - } -} - -class WhisperRequest { - late Map rawData; - WhisperRequest(this.rawData); - - factory WhisperRequest.fromWavFile({ - required File audio, - required File model, - bool is_translate = false, - int threads = 4, - bool is_verbose = false, - String language = "id", - bool is_special_tokens = false, - bool is_no_timestamps = false, - }) { - return WhisperRequest({ - "@type": "getTextFromWavFile", - "is_translate": is_translate, - "threads": threads, - "is_verbose": is_verbose, - "language": language, - "is_special_tokens": is_special_tokens, - "is_no_timestamps": is_no_timestamps, - "audio": audio.path, - "model": model.path, - }); - } - - Map toMap() { - return (rawData); - } - - Map toJson() { - return (rawData); - } - - @override - String toString() { - return json.encode(rawData); - } -} - -class WhisperResponse { - late Map rawData; - WhisperResponse(this.rawData); - - String? get special_type { - try { - if (rawData["@type"] is String == false) { - return null; - } - return rawData["@type"] as String; - } catch (e) { - return null; - } - } - - String? get text { - try { - if (rawData["text"] is String == false) { - return null; - } - return rawData["text"] as String; - } catch (e) { - return null; - } - } - - Map toMap() { - return (rawData); - } - - Map toJson() { - return (rawData); - } - - @override - String toString() { - return json.encode(rawData); - } -} - -extension ConvertAudioToWavWhisper on FFmpeg { - bool convertAudioToWavWhisper({ - required String pathAudioInput, - required String pathAudioOutput, - String? pathFFmpeg, - FFmpegArgs? fFmpegArgs, - String? workingDirectory, - Map? environment, - bool includeParentEnvironment = true, - bool runInShell = false, - }) { - File input_audio_file = File(pathAudioInput); - if (!input_audio_file.existsSync()) { - return false; - } - File output_audio_file = File(pathAudioOutput); - if (output_audio_file.existsSync()) { - output_audio_file.deleteSync(recursive: true); - } - FFmpegRawResponse res = invokeSync( - pathFFmpeg: pathFFmpeg, - fFmpegArgs: FFmpegArgs( - [ - "-i", - pathAudioInput, - "-ar", - "16000", - "-ac", - "1", - "-c:a", - "pcm_s16le", - pathAudioOutput, - ], - ), - ); - if (res.special_type == "ok") { - return true; - } else { - print(res.toJson()); - } - return false; - } -} +export 'src/whisper_dart.dart'; From 2d4f474cb34ee25b4e0a73b397de5948a814a48a Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 16:15:44 -0300 Subject: [PATCH 16/23] chore: fix import --- example/test/widget_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart index 092d222..a319734 100644 --- a/example/test/widget_test.dart +++ b/example/test/widget_test.dart @@ -8,7 +8,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:example/main.dart'; +import 'package:whisper_dart_example/main.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { From 9c202e806cdd5cafd5d87bd9f2b28d3a29c57fb1 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 16:29:21 -0300 Subject: [PATCH 17/23] feat: update dart example --- bin/whisper_dart.dart | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/bin/whisper_dart.dart b/bin/whisper_dart.dart index f8fce3b..879bf52 100644 --- a/bin/whisper_dart.dart +++ b/bin/whisper_dart.dart @@ -1,29 +1,24 @@ -// ignore_for_file: non_constant_identifier_names +// ignore_for_file: non_constant_identifier_names, avoid_print + +import 'dart:io'; -import 'package:galaxeus_lib/galaxeus_lib.dart'; -import 'package:universal_io/io.dart'; import 'package:whisper_dart/whisper_dart.dart'; -import 'package:ffmpeg_dart/ffmpeg_dart.dart'; void main(List arguments) { + Directory current = Directory.current; DateTime time = DateTime.now(); - // print(res); - Whisper whisper = Whisper( - whisperLib: "native_lib/whisper_dart.so", - ); + + Whisper whisper = Whisper(); try { var res = whisper.request( - whisperRequest: WhisperRequest.fromWavFile( - // audio: WhisperAudioconvert.convert( - // audioInput: File("/home/hexaminate/Documents/HEXAMINATE/app/ai/whisper_dart/samples/audio.ogg"), - // audioOutput: File("/home/hexaminate/Documents/HEXAMINATE/app/ai/whisper_dart/samples/output.wav"), - // ), - audio: File("/home/hexaminate/Documents/HEXAMINATE/app/ai/whisper_dart/samples/output.wav"), - model: File("/home/hexaminate/Documents/HEXAMINATE/app/ai/whisper_dart/models/ggml-model-whisper-small.bin"), + request: WhisperRequest.fromWavFile( + audio: File("${current.path}/samples/your_sample.wav"), + // check it here: https://github.com/ggerganov/whisper.cpp/tree/master/models + model: File("${current.path}/models/your_model.bin"), ), ); - print(res.toString()); - print(convertToAgo(time.millisecondsSinceEpoch)); + print(res.text); + print(time.millisecondsSinceEpoch); } catch (e) { print(e); } From 35d6acbcff5ec28b93200c5a75d7a223cd84f810 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 19:19:05 -0300 Subject: [PATCH 18/23] fix: windows hotfixes --- example/windows/.gitignore | 4 ++-- example/windows/CMakeLists.txt | 7 +++++-- example/windows/runner/main.cpp | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/example/windows/.gitignore b/example/windows/.gitignore index d492d0d..29d8921 100644 --- a/example/windows/.gitignore +++ b/example/windows/.gitignore @@ -1,4 +1,4 @@ -flutter/ephemeral/ +flutter/ # Visual Studio user-specific files. *.suo @@ -14,4 +14,4 @@ x86/ # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache -!*.[Cc]ache/ +!*.[Cc]ache/ \ No newline at end of file diff --git a/example/windows/CMakeLists.txt b/example/windows/CMakeLists.txt index c027074..a659238 100644 --- a/example/windows/CMakeLists.txt +++ b/example/windows/CMakeLists.txt @@ -1,10 +1,13 @@ # Project-level configuration. cmake_minimum_required(VERSION 3.14) -project(example LANGUAGES CXX) +project(whisper_dart_example LANGUAGES C CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. -set(BINARY_NAME "example") +set(BINARY_NAME "whisper_dart_example") +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. diff --git a/example/windows/runner/main.cpp b/example/windows/runner/main.cpp index bcb57b0..899b22f 100644 --- a/example/windows/runner/main.cpp +++ b/example/windows/runner/main.cpp @@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); Win32Window::Size size(1280, 720); - if (!window.CreateAndShow(L"example", origin, size)) { + if (!window.CreateAndShow(L"whisper_dart_example", origin, size)) { return EXIT_FAILURE; } window.SetQuitOnClose(true); From 0c71da41d6db16d808f3700c9a1c8974df41e6da Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Mon, 30 Jan 2023 20:00:13 -0300 Subject: [PATCH 19/23] add ggerganov/whisper.cpp as submodule --- src/whisper.cpp | 1 + 1 file changed, 1 insertion(+) create mode 160000 src/whisper.cpp diff --git a/src/whisper.cpp b/src/whisper.cpp new file mode 160000 index 0000000..2bee265 --- /dev/null +++ b/src/whisper.cpp @@ -0,0 +1 @@ +Subproject commit 2bee2650c66497b8804e3c82426373703c6d97a1 From 2d117c58d570133231d06f4c4a2ffbc814fc1911 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Sun, 5 Feb 2023 19:27:08 -0300 Subject: [PATCH 20/23] chore: remove unnecessary cmake flags --- example/windows/CMakeLists.txt | 3 --- src/CMakeLists.txt | 2 -- windows/CMakeLists.txt | 3 --- 3 files changed, 8 deletions(-) diff --git a/example/windows/CMakeLists.txt b/example/windows/CMakeLists.txt index a659238..7079979 100644 --- a/example/windows/CMakeLists.txt +++ b/example/windows/CMakeLists.txt @@ -5,9 +5,6 @@ project(whisper_dart_example LANGUAGES C CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. set(BINARY_NAME "whisper_dart_example") -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 15416fe..ec26c3c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,8 +5,6 @@ cmake_minimum_required(VERSION 3.10) project(whisper_dart_library VERSION 0.0.1 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") add_library(whisper_dart SHARED main.cpp) add_library(whisper whisper.cpp/whisper.cpp) diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index 1181e55..07898a3 100644 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -6,9 +6,6 @@ cmake_minimum_required(VERSION 3.14) # Project-level configuration. set(PROJECT_NAME "whisper_dart") -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") project(${PROJECT_NAME} LANGUAGES C CXX) From b6cce92faa2fb8278876871c08045d83fb9bf665 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Sun, 5 Feb 2023 19:30:30 -0300 Subject: [PATCH 21/23] fix: add "-fPIC" to CMAKE_C_FLAGS (this fixes building on linux) --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ec26c3c..eee3b98 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.10) project(whisper_dart_library VERSION 0.0.1 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") add_library(whisper_dart SHARED main.cpp) add_library(whisper whisper.cpp/whisper.cpp) From 6b26b370b3cfa5f7f9fba71995b5cf125041c4f0 Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Sun, 5 Feb 2023 19:42:04 -0300 Subject: [PATCH 22/23] Revert "fix: add "-fPIC" to CMAKE_C_FLAGS" This reverts commit b6cce92faa2fb8278876871c08045d83fb9bf665. --- src/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eee3b98..ec26c3c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,7 +5,6 @@ cmake_minimum_required(VERSION 3.10) project(whisper_dart_library VERSION 0.0.1 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") add_library(whisper_dart SHARED main.cpp) add_library(whisper whisper.cpp/whisper.cpp) From e00b55753994ebd5a0ec17fcc2e129383927717a Mon Sep 17 00:00:00 2001 From: JeisonSanches Date: Sun, 5 Feb 2023 19:44:03 -0300 Subject: [PATCH 23/23] fix: add necessary flags to build on linux --- src/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ec26c3c..3d9c5ad 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.10) project(whisper_dart_library VERSION 0.0.1 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") add_library(whisper_dart SHARED main.cpp) add_library(whisper whisper.cpp/whisper.cpp)