From 8ab91fd3fbcca247978c056bba6882de2424bc2e Mon Sep 17 00:00:00 2001 From: gme Date: Sat, 15 Nov 2025 21:06:46 +0800 Subject: [PATCH] first commit --- .gitattributes | 3 + .gitignore | 40 +++ build.gradle.kts | 89 +++++++ docker/Dockerfile | 10 + gradle.properties | 15 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 251 ++++++++++++++++++ gradlew.bat | 94 +++++++ lib/sherpa-onnx-v1.12.15.jar | Bin 0 -> 137291 bytes replace.fst | Bin 0 -> 496 bytes script/docker-compose.yml | 26 ++ settings.gradle.kts | 23 ++ .../kotlin/com/makebk/ars/ArsApplication.kt | 21 ++ .../ars/DefaultSpringAppPreInitializer.kt | 14 + .../ars/NonStreamingDecodeFileSenseVoice.kt | 132 +++++++++ ...StreamingDecodeFileSenseVoiceController.kt | 22 ++ src/main/kotlin/com/makebk/ars/RespDto.kt | 98 +++++++ src/main/kotlin/com/makebk/ars/ReturnCode.kt | 102 +++++++ .../resources/META-INF/native-image/.lock | 1 + .../META-INF/native-image/jni-config.json | 2 + .../predefined-classes-config.json | 8 + .../META-INF/native-image/proxy-config.json | 2 + .../META-INF/native-image/reflect-config.json | 2 + .../native-image/resource-config.json | 7 + .../native-image/serialization-config.json | 8 + src/main/resources/application.yaml | 25 ++ .../com/makebk/ars/ArsApplicationTests.kt | 13 + 28 files changed, 1015 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 build.gradle.kts create mode 100755 docker/Dockerfile create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 lib/sherpa-onnx-v1.12.15.jar create mode 100644 replace.fst create mode 100644 script/docker-compose.yml create mode 100644 settings.gradle.kts create mode 100644 src/main/kotlin/com/makebk/ars/ArsApplication.kt create mode 100644 src/main/kotlin/com/makebk/ars/DefaultSpringAppPreInitializer.kt create mode 100644 src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoice.kt create mode 100644 src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoiceController.kt create mode 100644 src/main/kotlin/com/makebk/ars/RespDto.kt create mode 100644 src/main/kotlin/com/makebk/ars/ReturnCode.kt create mode 100644 src/main/resources/META-INF/native-image/.lock create mode 100644 src/main/resources/META-INF/native-image/jni-config.json create mode 100644 src/main/resources/META-INF/native-image/predefined-classes-config.json create mode 100644 src/main/resources/META-INF/native-image/proxy-config.json create mode 100644 src/main/resources/META-INF/native-image/reflect-config.json create mode 100644 src/main/resources/META-INF/native-image/resource-config.json create mode 100644 src/main/resources/META-INF/native-image/serialization-config.json create mode 100644 src/main/resources/application.yaml create mode 100644 src/test/kotlin/com/makebk/ars/ArsApplicationTests.kt diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8af972c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +/gradlew text eol=lf +*.bat text eol=crlf +*.jar binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a979af --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +HELP.md +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Kotlin ### +.kotlin diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..c61438c --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,89 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.springframework.boot.gradle.dsl.SpringBootExtension +import java.net.URI + +plugins { + kotlin("jvm") + kotlin("plugin.spring") + id("org.springframework.boot") + id("io.spring.dependency-management") + id("org.asciidoctor.jvm.convert") + id("org.jlleitschuh.gradle.ktlint") + id("org.graalvm.buildtools.native") +} + +val projectGroup: String by project +val applicationVersion: String by project +val javaVersion: String by project +val graalSdkVersion: String by project +val graalPythonVersion: String by project +val luceneVersion: String by project + + +group = projectGroup +version = applicationVersion + +repositories { + maven { url = URI.create("https://maven.aliyun.com/repository/public") } + maven { url = URI.create("https://maven.aliyun.com/repository/google") } + maven { url = URI.create("https://maven.aliyun.com/repository/gradle-plugin") } + maven { url = URI.create("https://maven.aliyun.com/repository/spring") } + maven { url = URI.create("https://maven.aliyun.com/repository/grails-core") } + maven { url = URI.create("https://maven.aliyun.com/repository/apache-snapshots") } + mavenLocal() + mavenCentral() + flatDir { + dirs("lib") + } +} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(javaVersion.toInt()) + } +} + +configure { + mainClass.set("com.makebk.ars.ArsApplication") + buildInfo() +} + +dependencies { + implementation("org.springframework.boot:spring-boot-starter") + implementation("io.projectreactor.kotlin:reactor-kotlin-extensions") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactive") + implementation("org.springframework.boot:spring-boot-starter-webflux") + + testImplementation("org.springframework.boot:spring-boot-starter-test") + testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + implementation(files("lib/sherpa-onnx-v1.12.15.jar")) + implementation("org.graalvm.polyglot:python:$graalPythonVersion") + implementation("org.apache.lucene:lucene-core:$luceneVersion") + compileOnly("org.graalvm.sdk:graal-sdk:$graalSdkVersion") +} + +tasks.getByName("bootJar") { + enabled = true +} + +tasks.getByName("jar") { + enabled = true +} + +tasks.withType { + compilerOptions { + freeCompilerArgs.set(listOf("-Xjsr305=strict")) + jvmTarget.set(JvmTarget.fromTarget(javaVersion)) + } +} + + +tasks.withType { + useJUnitPlatform() +} + +java.sourceCompatibility = JavaVersion.toVersion(javaVersion) \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100755 index 0000000..27c8dba --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,10 @@ +FROM docker.1ms.run/ubuntu:latest +RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +RUN echo 'Asia/Shanghai' >/etc/timezone +COPY sherpa-onnx/build/lib/* /usr/lib/ +RUN ls -l /usr/lib/ | grep 'sherpa' +ADD ./build/native/nativeCompile/ars ars +ENV LD_LIBRARY_PATH /usr/lib +RUN ldd /usr/lib/libsherpa-onnx-jni.so +RUN apt update && apt install fontconfig -y && apt install --fix-broken -y +CMD ["./ars"] \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..2bc6a02 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,15 @@ +### Application version ### +applicationVersion=0.0.1-SNAPSHOT +### Project configs ### +projectGroup=com.makebk +### Project dependency versions ### +kotlinVersion=2.0.0 +javaVersion=21 +ktlintVersion=13.0.0 +springBootVersion=3.5.6 +asciidoctorConvertVersion=3.3.2 +springManagementVersion=1.1.7 +nativeVersion=0.10.6 +graalSdkVersion=22.3.1 +graalPythonVersion=23.1.0 +luceneVersion=10.3.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b33c55baabb587c669f562ae36f953de2481846 GIT binary patch literal 43764 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..db3a6ac --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lib/sherpa-onnx-v1.12.15.jar b/lib/sherpa-onnx-v1.12.15.jar new file mode 100644 index 0000000000000000000000000000000000000000..d6fb16b7debf0f39a594154e197b8d3b05585942 GIT binary patch literal 137291 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ຜQ*{Yb4!0Ar$yWIE@$G$Guz8uhm524?PZhXw`VvqxyO_ zllp8;T|Ga-SDke2($ATot!e3Mw|fmdAY9Q4;SYi`c!eJ~VA=WKs%9rzNY_{^=%??O zPt8jo!5Ye^ErXC9LxXLO@FON!o6K^KQLV%3u+QGFn?dXAfZLkXC}GF2WQRNd;urf; zX6rl#@SuXJ~W6ZOTN3}B`rU?bYN zY{!_j(?X1q!+vKwX529)uO;M-snXXTHm0FJ{It`I1@@!t6e<{^aF8FR9{T~esZFO! z`fGfciMGM8v*`NXk7?woPcjk>D)dXn-Qi)X6^h6+)5U|*x9AHW9^oC3gYNPT*4{Uo z+y#fpu9Txe$zS@#c9xTcH;bXKlWoCQ2E3j7BQ0#?$fl%%gYjbDX%Vd+(te`9abN{6 zzgZ$>mT}h3_PC%PWy{LoAd1}R#y4-CVDRB1e(s>)z_Z#*V|0zqy0Xi&U5Cp>n-h!sX}*3Ce0Xd}~hU4MEbpW%;o7Nd2bAi7+kWT{uJn>85%rZ344z9y6fUEUzK)=Gwi7Mit* zdaL8g0o46E`M`@|t$wsuN{-;ldn$3YL=apn7B&f)uZ)tCF2HTqxIe*gWD>gnPufPX z-~3ek4?q3en?XR6<)8fYkAsP5S({!4grF^iRUlEz=x%>jG=6qpqAvoPcECntVF8%= z94fq8=)3~(L3RduVYV!`H)z*4-qlITNMT)GXEAiOh5~2!5fi%fdY?lu4g-=L z#y;-DQ$7VA&jmsDMM*fxg>(~Q`^A10^#5Ff+fEeK6rnrc<3%Y)a=P)WWg#8XWZ3|S z(BFwz|Fq5D60!bE+x&(a3jdM&=d>3Yix^QPlqu?21a>4i_Q?oJ;Aw@*=4V6lq`aKg zWlwi1sBQfpDu~{R5`2H>iDGzGfI12iKQT7x?lPI0TDSRl`}`~qBtKoH4-V#+7lbq# zi0;i|x5a;AHMJnl#P@w&qBQ10t_vSr>LN?x7{4Q#3c5a$ooE3b4*N8pfG3tQmn9U= zSi-F{$&S(Q05+*d@pyQ>&?dnlj+V zAnIl*w`6*1!JA2L4ckVCMei!$d%O2bU^W^h23a+CK29{2A8@u!E@oSSVFDM%(XH~L zwMJBFkeryMuP7xQ1k~Fq0ptz=Z3HS!9B1d|(+S_XtI=x@E!Y^zxDa4zL)Lb)of1p) zyY|Q9o`j(Nj~_edTW5})YS9=6lAe9O61n6no{g~!5*^I)$Mec$5%jF8gzMxMH_X52 zlaWGl1P*c9ppWr5!{Q0_Cm+In3vWMEpE~{cYFU@Ptd_|Pd5BHtGq8?6U5w%oqMiWq zkYd2*VX2V@^sPw5^A+UQD`e8{`UY58PX546=b+jC1^Svqrq_bG%aJQ7XK-O+4LpRE z%vZD#N_ONCHtnE_=?HHPbA1S;5r*QjGn$Nw2hCJ@&5+-E7yf6^eQLXUJ_CFX{=cnq z{OMSK%a!`C9P2MIQK&3U526U*cc_=qQa<@nltfq7J8vY&gGPlU`Go*!?D(cJ_!u{} ze8=odEOZ$DSMe}MN*EYP>V)x*`;2eg->&aoU!e8hJ3?WEri6X~v{ejN-k;npNU3r* zwjyjd7(pm)t_&@deUr3zpbhl+LT>z(5)lnV^VTx(f>z$0ojWj7yY!>GOVjovDx%F~ zHYtMex`s_0Sn=_vK$)3;j^1! zt~i%1LU8B5_X(N!o}cC;PK}bjcmnNBM4-CW^?M zK6|6X%2yioj>#HTAENetRgS!#k>WgTy())|35?;ELwaIHgfl8O+Dqa0o945G@PB8m-*R!K@|xTl0EdG}o~6`7 zL48&-Z;>Jq>wR}Sp-@mnRfaMujDQpqy#g9gC#DPW9pVK}f`B9zpoofMXiY@bBTaf; z%goJun6Wa(!?XDV?D9R#Cs=@Db&)TPLtrrWO+~_Ov;&PZNw4w{bOBG33pegoLY^~K zpvR5!aJMqidi1)&1!zdGEokko^JniH-ZzE7Kx_JFq|phZ!|^Yk;x3hHDDJgZ*wb-K z`X~(kz_~Zo`b}Om>!Go0mj&ovp$;^fgxV_U-|Qr~QAg5r z*2s;qaEMUSVIStcHHbDJ)_X-8uYG|uDE}Z$Y=rDYnwNPv#8J}e6{T`RuP(@dvxF)| zyKs6da>T1)WxHmQt2Pa<^L;F$dgO(^cOfNM;eoag61y`$Q33QLK|UbOr=HL1TJkf|aiSQ`&HMuXU&uSvicX*d5Md(!Ho^q|cgXwC2>XwkO;#S@D_*-K%W}AO zed3gbiH)3~#C8H5g*VeVN(BmVrLi1brU3C=tQEK&{7YAXpCuc=FMbeLdJ(}49u;YA z{cfh0?cK!Wkv^za}>(e3f~ zk^1~m`sAG^tFcq!LX;G8W7K9hdny!;|o+uRUn^f?dgHe>>WwqK^`x?lF&W zI&8`-z2YxGo)mYa5eC!Twd!546xmot*8_IOnDk*(R}})a(vm`45~7zB>4o4#DBR^W zFrqMU8*5-~o@&l3>wfuc0$_Lb(7m({GQ(Q)p9{F4+3Ic;`(7)bvTu)riPyr(848xr z^*IGw0sUE|`@yf*8=e^*o(2^slDxh51?Wdw<<&t3HA=S7$8_{31TY;1c>fQM$sRdl zsXzGKjE6cSw7gg3o5X7Yd(+sDtKI-j4Rms{92e8X9 zIe+NwwFkWhY%{@f1-q7|(TI!%s<8}I-EXO~j3(dN>{@QHU6AQhC-}vnECZd&|ujegI=KX)7e z6jk8RTFIhR_vP!kI*GJ7p@|W-=5wGufx#l1jcXQ~G;5|!q@5UVvG8f37_u+#UIDy= zg-Sx~j2-RcE4+@K-#i^%OebGouXoXXhul{D(CVciDa?hr`x;aEmo_VnwS^t!Ta+2< z+dp#8PU_&G@5!%wKp*5 z?3=U{7agjtV~nFM$pK*!)=Ddu(gb%QY7h6PTQ`b5pZ#<-zb&>}SQ?lDP1ziS2W%Ws zWW;QJzC^%8$Iz5GXnd2a2be+$!ZHR@VZke#tLWEwlXf!4;R|`h#J>^}FQ`U~$ti=9souXEu4SHB~B!)R&`pY#fq@W zB(z;vvtU);&OIQqxuj4zBnRPi*mH(K?@J|6$WtYj`!lTs=BavVj@l>EbCUU(gw?U% z^H-7fbmx#*r*pec+Udw)Yf+iS)(q9?erxchv{dk#mjW>^m7YAJ4(NJ16(IYFu^>XhkBUV=MEFB>^RRju zCMNYuWw>PP{8e7Vf|{t>g!ZoAcW$I(<|_)<Bf0?Fj6PwgT@C`3Y~+bAIBqKb3h)Z`i=!yL|Bk#z#Wr8POYLs_DA?d+t_*W zwAu0{)cMOEGFD%ae90bqYtYAR1vOG%m2Yn8UpaMSaRsS)>GeOe4Uu#}l_%ime*HCt zdh8l-SqBu}iBSJ8n*Jx-4gUmf{wd@9#}B3R>+S%g9x#6j-BPtG&q1k&sb92gfFCfI zD2wt-0j%g_>Yvt1yX1Z!c=&t<(qp~@e<_anO%x@ctf+fzb0d@cFvH_p>f_V-96C_C z8-^&5;CsR_&T$y)R2wZHW$TCFi>AaSMyDnF%@c^I;E$YTvx=kEyo%9QkE0$Ji%B{T znZXMvDL%%WYOd-zi7VN##0^VzXRTK*i@KtSVj{wcqO_1C(UC^NP4A0K@#muxS5P5M zIjDn0-`j_QPC}l^iBlu6$|yg2Q)N%Vv}bol&H?e9re$4YkIDreIH>L5Ou~$_ep3DV zT_tqADgx=V-6w5JKk3Y#{!yCy@P1WoV!Ps{szx4@d9Qbhrkkfo)EcyDl<-gv806NfHvUm=tDd$VQ$j5Nn;&E zKZP(~u$|}rhrFdK%4*Ab>!C*1D((+6vA3r$8hR&Tk9%bH!=Ej>h zwo1n~P~#Q*MD^PDTk3oGA4x>}K>W@n_w|!ZQHrqX14*(e-KA?aL*mAnBUuE(1xE|Y z5rDb8Itr?R2Ao`gXw#n|SH$CYgZPp;=3EpYz1rE&jTb^0e$1m)l6c_#-GgO7i?p|jFoENOGebZr}r z8nIJ`xuPG@jgW6gF!UlxSSZLyFTc(?aR&vtG_BAUzqv~=pxX(^r?4}uh;NI~!c4VnTg z<%_-e(i8lrq0>O7_GKtz^*B?wJyG%FVZ(DxY{zD5h1ja{;2A$2VP{t>f<^0raqpkIbS1~x08$WolQ8UvoK6RdX;IqD}PVcL&8z9@t zL*SxbjL2oDp5=yb9-DGRp!F#tnV#C)`+0H$2vV>)Wgr(%9na@rUgG?MyU%Vt@1uLa z3j13^6z7&V^57=g$b9=krk}Z~+|JOG6mU4Qm&!iq95v%u@CjII5~G)~tLMSbvt4hn z!nx|YKY$CfR>qr+W>c7MQB%q(ONo4uk&xSXXVN`_O< zz%zBaR{f&cM#fS#;lqj+X+^X0Ie_1cb6x%tK6U0HBfo)t%qY<&A-ScRK{*T7G+oa5 zSagDs-%IR(sVIh#A5;D$`@72W0+wnSi&nnhdmjDdz6OeZGohN~j|wVdX_Kxrj%wvg za?oE!xVGQJt>u2~$2%b^%%(G-{J~|^j;y}*m!b>~=QB7Xzz?HA{y9Vb$$9;^Hk(Ut(3u7AMIulC7#P3}>uOob;M2L5YqzXL$N zoJ5m!@3naoNM>46flwxLt-Q+~uO3?K4g$ayFIsuEp4|I?Nc*P1y8CV0CXJKEPGj4) z8ryDcG`4NqX^h6UZQE?r*mt#ipL1@zzq`ME?|t|`t+%olz{MLo#EBxbCDlH93UmXczPkP#4j}xL$Zqo-32LewHG<3EEFb&s0!d66lN553V z^P#9i1UyOM8#NTf1P2H?r(BMXvl}}aKkpn|I=$mwEyW9J_4N%T5Qm9cy_ode$mos4 z?%0_EAAt4S1VE}%?zKDb2uXtnLPqjbwvwOx=#rgh=4X1Z2DtRd#snyGqmFI%-R&(l zAPa8SxqkSX>Kw*1EBXgB?9*%!#&8z$$FbuKriU_@QBE>z@+I)=z@J7Mt!Bgx>(gHB z%b@=Vbdl{R1|w@6oqV~QSDLjECetz$4c|I;I{)Uoc9sSX69ANtJ|Cob$HD&b(qseU zA)Y)EgtbSoN7JWmBD>%H_4!%}V;y~jQ7z!^dw=2cg!8aY&Sz5Wj^jp}s2%0PnV9ak z96cJRw#^OH=MKLLnA>h5+XrYFuFpHxP16&2vk`5@f7_OzG$RE^? znI9W|?3&gbQIghcKjvN=(p9Y*e3P3klUiLT=XJ>=LtG;zUtIYpV^qFgQM}w@ zXlpe9Uq|g)(@#vWhAdF~^_O6~kSd2NG9Wgof2$FHdf?w)O#Y<@{&R&HZ~ar8tUpWR z6?xH6-ytnmA1ibiR||TH(%6V#ycaZMD3RDrZ5T96%Us>;S(PT{Gt=e!`<(Ct$84~W zkc<7ybvLhxwh4Cb(_d7Bi-LsjLFrMxM1sV^d>Cn&++b<;DF(Ope;c3WUU5V=~ zJC|CcU(57dJ%cvygr}6C2s1>X{K#I$z?J$Y9vE(_MgSoms7u$XJ?eSVuomZI-O~2L zgmQ;DfH{w$xTUUbUwF$(rqDe8MR1?7N|6<&xMS!G<+PK~*CZ1k{S%qmF9ByZ$i%7N z-F8_BW?(K!hR~JOYi}u9O`zXqEjVj)>q(W^$W%~=(!;NNH*I1!)LlN2S0o$jjea$? zMQ$>HK%;o#TIRUH#NfCT*g%}HR14qk0BK>s27B!$?vWaR0Y;F0=|@$Z#kk$C;{PU* zlL)RiX^=D-N3!9F9404;$ge|!em40%+6byozyYLA{RxK0pJb;W-UWj-XtABhJ4a{- zOw0#nTNOCSqL+%LDxB$Td;NYeKfB+j+Iwd)4OcD53R9IM=gT)a20Vbk4Y|?-p7D%xSOwER3EO|21uilzUp6Z{w(0Z^r z#-*k=rV3vJd6?wQOO#6oBEs<9oZ>=*&OOYn`f)_ztf!@ptoW|Rdb}2p z@5b@_7)xpPeC#0>X{B(p>ae&25u{OYOA5taI9gnjucuI}NK@qt)h(fX<~WCQ-3Gl2 z5gAdeL4j=4C5T9a38}F0FSO7|Stg=)*r>^{DwZFAmDnuw(RsSmU2&9%z4AZ`Q`Mu3 zVy8q-?iyAU47oEiK9QaNl7?TcGXEuLYq(eQi~AHxrVonyX97Pe$Ode$q&wJv5;b9w zNZmay`46h9aT%4;h7;ctD3`RzUo%6V$mldVQQzuL&(ANkzYS@C!(>eEwziM~@gD)3 zx|?hZTF_DXlVcRtB4kcO4?>Eyhrh%CUU-|DNnL&60$M3k7P|-H%UIU1S*OkdTw^Df zBUeZ^jxg2QIli+7ENn_GE%!x_W-@BPjsQ z44ovR-`AhOIJkGwaUx7E-mR+a%*xDpKwX5x`O0e+nDW;Z!-4R^FX15FL!CUDQmfYJH>3J)FE^GEB{s0(Q+GWiO5lS5&7b!w?D1I#S{)}{shpE&=K=a4^ z+X29zk^Z-;7Jx|q{c_VVl3oG;atqiXaz)eECsnSm8uDGthwAph17TWJ9iz4z+GnZR za-_Xqq58Q|x}5*iMZONxbGJTvumi7- zAT5|4l>4u(Tnuv$)DR%qz58t|$N5J({Ev+E+ks|8!~|>?AA0YBLhUP&>lY{ZFV*<# z+4x_gah!dWRwzz1juM?&z<+ke+xrG2S7|c_zhoGYsc})d>F7niB!5+gYEkGDgX(cd z`I35^KG$3uv&A&=sE?~8(3pfqUb`#Vo7N^SE?{RkE}XmHr0jooZgq_V&%r2NTg7fH zp>#GnFXBgcf1Wz2O;<`VJ*{rog9Cxn{zKNTEE{&i0mVoE3dz z3&8h3yU9PT@V9jNKV9W7ZZPweEM;bX3Z+`uTl9^Q=i(92>Me9}phIz_58H5H$I=OG zgX=d>=~kUca>DQqqf4d#+(mwRi@jX6qFYL>9HYIfJ>WWEr{%u8KF9*FH&AUY;XO{$ zb`o}n0R^g7$t$l@C0Zy|>6p)JC>1B~=TxgvU^Ew7s+`*QQ60H4nu9l2m8!wymSd%= z&HfOcn?zR)M0ym0>7Ib6Dh--|8+I8hvkjNJrD_Nx2(*dpGR8(%|5P^!KYm(zuGl9# z#!akKXKzP46oZd&kS5w_dS1x0KDLXFEmZHCwh{5LV|031tAAFK*5bTH$%1`$3&QvYbK5p-eANh*uC`2Q^ z9x5vaBDalfUOE$c{8_B%BfPFRX~NTuM(4*K3*(tB5oG#x?SQR(d!ydOP|iMDB0^4> zOr|}FxI{v%2zCCN`Z?e%p(a0dEW>H%C3S~99?5Ux()Syv4w$=NxdPvTu9$^0_B7A( zJiH02cSyBn&bK5*S98OIhfsJON0NS(gyZt86IEMeymW5OBWZxQXKfs_f#zCuh1*)@ z5s$NrvBT*gx|hg(dbdQ(%70~aDP@7j%P^@MuSZB!tF5t)4 zsQ^|yvl1w_+)8*oa}oRXMncBJot4wJ2;cOCGxn93NSLl&|0sNB1@*`@?XxmZH}L~y zg=d%I2VHimIe7bV@9)L@(LJ^wz9ZpdpdNm7Xx!iI;t~##vk0*NA{m{ajEIW$tl+=- z{CXbT9=(LH&zorj!L!CCY^s#Oa+$jZmF7{O4c zkuz8ymLO(Z(Kw^N5W8jFaMs+pEqZn?{4p(}m5&9*#+I<`wu=xCmEuEl*!^NZl%4k` zAR2CsBeTg@oqWL7vf(syfLIR&DeAE)TAh3fs?LB7an*AaHwlgB8D`OVh+nQh=D)(o ztMp^15OWK(cl=Dp0^ONOz<_jo`dd2wGsdU@5%_nF*Z6#Y)qk zxUZTcF3?Zcwhzv;((1OUO|>2*-xhaZA+pkwz}uE2#yD`R;N9}Zd921Jvz-%Wh=1{2 zL5v#%Y2IOQ64%3YN?j$sbq^^Xtm+OILaYIPZ}@U(SeMRfF;Pig?mbww*xCzRTd??p zxUZV3o-C$6*4thxOzDU48iOeLh`6rL8BASJtA!jag92T;R$C`b{)JQj^l_j5_DsPK zZ1nZpqhJ%u-Yi^1A8ja4hxrctI^k~}>!k3D` zS$a^2)jWrfQ00hgObUoE2D;w6d7_`;?T9e?J-AFnrDg*LJK?U|*t>ot)lgZ08E9|f z<1jDk`#-ZJKZhn~aR{71DQn1zyeO`_uf}5DDeTl%=(d3>z3k>mPd$RjXvivLdCaDe zIT`2iV;^`CtxJq&@_l@2Ezrt)J{I}}HMe*!MAK``Y`_*?o{<86)ZJkUmkVpX44aRad ztT3GHAc2hfC-FK%H^Y&vyA^P66cTb*f5W5kG0W5gmr(!cx<@U_(tNo-^ASV5aJaK_N*8k~qyjI=(e@Vq!ie~J7ecA=t-}&z z!tUpdAc!bVgtK{Nw+Ws!-^l^mN9W-6o_D6BAU%gWxN-(UEYH9{ZS%GvJN2(&cN7o&KnzriLoM^@%O1>U{6tJ7AfT7+|pQQ_pdQRha0}*#ZNZ#)I~n^3)(=D;mh6c-hUmk4clyqw??7i@`ZRDA zgu!I`1Q=noE9h-fDBg>PB|P)=*hJt3R)I~`%gCg*wivSr=jTc3j#Z|PY^=9-!(TPh zA_Qh=UO0l$wQ*1hrjOq3y}YEI51kmwnzp+fP@Oa9t?2uHhAO*nc)rjUePjjWMTFy)x`c4vyCP%##NAw0@mfZ%n)>189GmF}% zujDKHWidBV^b$F2d_A$`LT3Y+!h&HFzSN@aw268lg<>WjN?{t4uaKm3z^lCg-`!l# zviI*L$LkA3hE`2KS8b=g#F6E7RD5` zgBMroE)p*Dmt9IqQ{?z8)?UM)OkQ9}%-}3`evYyy+V}d)_4V85%_0G5Vdvkbg}=q~ z{gvzg*D~yv>_*@Qd4S~zpM)^zo_wt+c@i}m?Vxb}*O02gAQmFei=KMPk?v}9$Dd9g zy9ii^{dD>Ri?HbBWYL--cE*;8C6|MA#;dD^2HbbbF;V#bI3ILFw67tllroTBoSXJB znw^SP;R4SVZ$&)5Dc4A9BzT-h96b%MJHW;#IDJo5Lpxldvz*yLTpUJzV9)F-b+-h!g`cJxX-DUDU-6EX(>xIiV#A_ z!yA?bo@_HYpMd2EZvC!V2KMlL;-N9mnG}fVMB}z^xMgusL0YZk?foW+IS9X&?WQ*? zDbcBk9^*a}SgY{0*IVxGQ}e2~em6KpXTIXTVJpUa#GHd{w|vmtTdW;tm?x zmS{!m^9T*H9EC(yrs%6DICA4oO+vq`i`X|~OT~Fa-oPF{7qT$LZ5~_HPC~YCJ!m+d z0dKcPe3)5~`hjn;B`jM5Pt5F}6hEkv-XgTi`ZLqJ6l}(Y0^FVY-@5yMR0XZgt!=IU zw^!@`q6hk~D!4QAllxM&(x~?U4B~5v0M#&P;4U#p;GHZ9-uV1Ks4pu;x)V{fzg%>KhqNM!Vgi<5pCZ#D>U_I(S5$f7dTh&A8D#tuZaT3 zo4pjm9@}Jg#{>Lbl+FkEP%yz7zbtcX`HlJ~$^P$%@&Bh9_%D|EqXq&J0zfVujcjEA zcn_Z}lz?_67kL?2Acx}fl&tW37CGL-`n7IAHfV<4Qo)cSB1--BmfF++&GbD2a&KgG z{D_^=?tJwqtAp3;{otlB1ht9MWC4MtE`@>%+*>bso^T%w zOq`jj%YxeB`h!Yva!SjG&Z7TW-;&_yK^H?HzLjiWav7lYGVsmSM~JP2hA^UG90EcEFX z&_}QEoXU-^;w?vb$`Wo`yJ&6ic}vJW>A-IC4Ug)S6zo3oi1v--f6l;P>-8((Hp|%q z_1!hiJ1PyJZMk^KJil?Dy~56fbIE)?8ocwqydh1?9wbV??C9+!4@Bh7BSlAc!MpHe@NI*G(MC}T&kB<}@O>H+FZN(Kj*VZY&ZChi&R{T; z7LOP#lKHAA{K-T7+mwu<4z0pbph~Y%g`SiJ32q--<_yao`6s6PUx<45zy@p>z-(Ie z+id!0;QdDx_|L%mX9Z3$S3s0QA9w?o1Bqf~lDf(y-v))B9hD#!Pa#9um83<}v_Wyg zQpMi54MAK=Io;YVe@Tz!zzBvW=Mqhu}6o>=23NfmM z5VGx8JG7_QQ5M+Kue;`l#Ax=!5Z}8JmQrCfa+zRb7VmHW@)dO_FmnM4nEE8OA|(wt z&1cuEP{u05ypOQ1mc{N+kg^r$eo;J)Zz04s$3HYw8zR4&)NCBt1d47h5*ChwxOtMg z()9oV)LopWFmWVq%SIJ%F8X1&e5qD#`no$c3AJ7%7wrxtb%IT#^NqEC<|wIg!mjBO z2{MS?O?Df|xIq&g)5F+SRqt!6X6+Dt$d@pt2nD5v!63xAIfGe}LZX6{YvefzYU9K3 zaZ!-cspN=pu~Eijqn6PCqVBoX*fDBxp>moiWQC=9@o*Y3DwVtumPb{+xleWJN7?3x zCyR~3D$b0UoMMnTC&j&tTxcegC9Yju(g*Rm6nKbS1xZFIg_1twL^qB$o{35l7{nv~ zq;7UxEWnH(8sSZ-i}u^wF57%KNQF8jdUNWU9NG0Pamzsy8cyes53|LqU19B^5rOwU zB_6^SBQ)piQdy=a*_sLH6Y9ThqB%DM+o~+g$+s58k8p`a>38~t^IgM|9HzG%ro4N3 zc5f)!Jokkg;NDak!+|{gx8H(`Z?f63^Yw;Hl~xM56>N$bMq7Fec!P#Yv5ovkt>}@9lDyj z2yWHOg&sKMz<9D@prohB)04S{$LkCs78n?Ld#6MY4$0oPu`b$+gh_`A+FDHVVPNDWRXX5n&x(FD_HyrGKid1hr8QEsxqbMe)YDwdEPUK;-dc4# zC#+#gWsz8pKG1}q?$|V+UuL>{$({6iv*^Jx2uw@ z5xYiWvmw!Y00IsX410g&17Cs$fii0fZ@ts`-Wi#I?k=X%@X25#>fjXibD)(!rmoql z95zYu!tjA+X00uON}aTV2E>~(&s4&Y!?vTvf%G&1RwN-4#HF@QZM8Z>-TK**qW^e* zhD6UuH-qlQMDO7m@im%W*;Rl6q)O9@unAJX4lcp9GJ)oJ`E8~L*SnlZ-q|S_?H;(? z=nu8NPCU7t-iW?^el>%$$0 z<1waUMfCc@g|~i2^H!#FyJ0Yz+$DSza=3|exLlx3c`QJb*Yw_gHg-?dGcbo8aqWX{ zIuH~IMl5SP4GL25gm7qc*S zF^6Mug-7dLGdjf`DuLyqmE|9ZI$TXLi8u@zrey;ip&WbR6>)Yc*S>+6CxjG(CE3l3 zb?whlF&Gdut)R>jkC$V)E3v}NT=gS`_&0j@$BFnQsYqn)9?|-xJmM+gj?RPI-E?um zF*KCWs*Kd*$y>LO8upB;J>z_Ojnhl*K=-RZV>4nmKgl$fhfXll1GPq%|1ip0u7q^T z08bzjCjFLrFT!{4Q*vJVXftQ7B(p)jr4eurx})>Hnm!a3vM@u0!qI0-^?Z>%&>tJQ zUS|Lv1xwu;7#UCe39>kyOiKj zh-tWGuid=^=q;Ub)+!Iny>SlJGr=kk`idqsT_Q%mSh??OppqOxqNa)<`|^6QbSrsCEg2TO|GT{ZM4JN!?4)T1KJr1~CMZ!;pZeO>T@vIHlN>Y3;{ijpVSy#) zHR`QWuR&2gzkjH>W-e)ES44zd-YJ|({+M%os*4aW+hF-m6*fN zcNbF;)#_Zb;u1)1o=jZ_0XnLtMi3t*jOA;|Oan|D-&A9y0-K|=)hCaIu|(dT!h|(s z#&iM1Pxa9As#L@A-AJ!euxi+AzM2IP<62sPi;$kt*NRqavq&n{_cMUJ_4idbv%B`D zR=D@+)5q-b47`u&b1N8OYA2fXjPxUAB~C0YeK)x}7Du$8wpjg2gk5j$uq`e% zv$Y>b?efDCPXswmZzbx=0!U65k~f;Nqc^-K*^G*LHiIlNZntVH5#b)GfLp-b@~di2 zmQ$oJn75gXwd#TuNhWJ)OiK7Ktr~SI{aWLjsDeB814E|Lv`GfUBoB$aOsOBZAE+?f$GEAE31PWldB-+XS8{(2*Z2ed%*@pa=vCDTASPEI%wEZa$ z*~u*T3u|h2W0=JU`_nk+jKceBlIG1%Nx-u{DzF@QuiC;oY_^b&TY6YUcg)4$?7QXN zKPK&VyRbNhxW7326#VK7sDywC-~cgK0{-uwRR3061+dimtBxR23KobT+5hAL%PT}p zLv0ZfdmBtZ4F9{U#t}@Q*RvB|T)0 z>P^_jq~&FUO4K`xU%O9MslO+V^@^vHtm%3q;;){BDSwj4O-$n!Vb5u=KA_rGGfSR) zWyfh%@t;>D(AT0E^1aGf11mys^-9NMIv_}w3U`duS_H}o{uWB+hAPXy+2UVf{DSo3 z7OIr?XO|?umMUBhXa?Q@-~ai6`9JECtPKn;{_2&vPR0DEcpkUJJB&PJC`&QH84~~c zejtN1w<*>}PEL zG1qpm%DvpO{PL95p$(ioK>Pl%iygF$;&F03WXbDvH*7p^4cd<;yya(Zt&Wqbx1+icK^*@ zM&t{I3bJHTW2ji*R^s-`gGb(`Tm-As$h8%HdYIH+?mb8rMR0MlKsx_PY$X3shwIeQ zqGH2bdn&Qw4U-Y_Xvt*sXH}>WLAycPpzHH?bP9q1cF-%$Fwp7t6V|~>L~mtLa|K<< z5vU3~6e~JSxQO0L_yTx}O%i3~)orL%*lh1fm@Z`a>1E``FgGaWCSY?QWM^u5I?!ID z$Za4Vg$s5SJR~8XaR=gT;0#kss4{)QE)tc`l)=E?1fhz&D``Gm1SbY|>uPnO!7MbZ zUgbH5Q|UOh8;}i1XL-g>IVHqP%IulsYZ9aNOoD-0%$d9N3>`mExYXiNPqNskk7)Lc zJe*kVUH{-ziK-Zs1{5$AoPPl~^rh=n3!1m;_XI`+){a&F-~e*W#Ct9T z>$+2tME#UXSp;A8C+n8#k1Nn&45DOF()A)K$&I{FVISw9L3u$a(K*zNB{kEWoGcdOalsbfqAq+7EQHA#pu{ZY1$V?8xkJamFn~H5x~qXSi^ub{|tH<|+O zsj#K1G%-mlE%usQju|YctFIvIb}?SR?p|*!<#{;)n8>c*)aw51k^Yu(=J$O4kM5{W z*%Gk)0N`IjTkSo1lBTC;XW`}f+$nV^sKb!UiNrgoE4L}Wb3n7bl>J(Lc=GX<9Hl4d zsV764KHK6tPS{PbPh`4{?+r|R+W;Ef>VyVY*EC76$(6!OX8Dm5x76c{Nb#|FzZj9h z{zc#9?t-rH$ShYi7z=~BLH967T{+uQc&2VUwKLZ12?}dqK|-A-FLgvgjCS>+adYp2 z6{I;bfsr^~;o8E4)uF5)44B%}s4lN3KstoR9$F|Zn0QlZ+O$p<9WJN`SVW5Cc|uF< z^jpRV&SN__V%s5-2{&OL-|n!q>YG%E271wOaAo+;Ni2d&=n-Kb&2D`!HjLcbRbmRo zls_S=or)evo)Ue{0)^2C8@*%?&3h@q8`WI5n>o$jdOlH|ji(5X;irG_v_ zajs6Lu&U7yA;n*M^#l-gg-Z1HRV8aqv3F*3WA{h7TxKO6dSi+yFphx`c0Pw8N;s>2 zV0q*1f@NE*?uAkYO~+tX%7r9`WgFKIA$3-dsOkKoH>O;~k#`$fP@seQS#TR86S`4G zYDcmLEb?38(2%nUyhXIW&$uO2jlyuDB4f^1+w1;>NA7aemk&&)8P|g%%G4y~{79Ca zK_0UZ&L&>1(;HV2268i7Nj&uwmUF>T%l#$yMd|y2?z8E}J{ES&?b8JiTKe|2x8boV z%B;*ZJD;`oVQ|5LFlHR)RtL!ge8q)rm3*5kY3V%jJJIv~4hq~>L2)rjN|vnC0hmh@aPLtq{bnQ6M$(@M~}= z0^)Qi34>WIl?{5xLR|swf)2LBS`eED$$5VsT?@6Ft+v(a_Q-*I?`Plik1#7buakrT zv_*Bl-R=DuX8*}3qHOxtt&wz>bPpZ!)e0Ek#M`s0*N1Tm-b?mFh~QjL!CK92z7!;_ zf&%-aOuajsr^kEe?z(RO%Cep`PmkKE!^O)=R*qoz<6-r4e^&j~ zX8Ob&T^*3BiZ&gJQ3w}np77gG>RP9+6(R!lu;+qf6XT4!UmQ2LW{FlSzTV<kY9<=b=GoDzBv$mKZdR=hmmjYAsR1w>P(Abk7cn14$Gb zLeI`VX)`*2C2sX2fJUs=4OM>-xzo0^YZde9{?g=Y*C@;VMPD57Xl`u}3IXtKvp`W9Ha^fF%1j!O!ZZrhK@#S`6 zhR_3tp(E)QtG*M%ajDhVaA9odLF7Z~nT#Qto*v>ACb86gJXd8Kh`=Dxzf>=egFz5+ z;`Y~NMzv5MOFYOLniQQ+)0R2vp0ul99R&<+?e9Eo9W7JI)i^uUVeG0#l^iF3M6Eeu z3@Yn5sf`>s3}Af3!n%UptghSc$}3Hdvb(A=$mK{WlP)NUGtC^;(iKbzU68E1EK9Oj z6v=PRq`$|wep#@L_d@oo)>CsOw=|2)Q=ld82=qq@yiB!b{2+@hMGK!JN+>1c;J(_n zxHkaHTmKmI%Asv>t-ly1N5}J4yIwd7cnZnNa}CvI27nH5tWR&}rL8UR=8c$L&q1m& zu{nIcQjmVm5*xVip2sf%8YT2cHlUJyDXc9OUN%jopvDh03?~r$E=Tk{{L;IhuxE|# zSzfKs%bW4U>};)Ug5A?Nft#H%FBd3eT1qbnY)IWX!Vq2|Kw+I1gs^#BqO#W6a z>R+SrzxE|d0Iq1{z&BV4QImRas$mK|d?1oC1U~`|dWYgs5SPeOXB&*^@0sXr z$fKO_QM${b%+N_EM7+GTTA66n*Ojl#r#2PtB}wY*Oh77590gkOA|!_yRitoLI_DnT z)e4w7bB1I3`$E)2sQdH_-sF|+DiIc1e8(|U)5sVH`Gl@14isSnccm?S{XQ5nE z<|9OaU+DR?2BC;;7sD#ubHO_d6@DZ!SYa$4(4R$W@@> zAfP|ab)CPJ6(;bxq_j_EJ!3(Uxsr^Fjof64FiUREw=|k-CBd8K(v{!VJ@RL)Xb?dp zA1`VfUetZA>W!1YM*Yb34TJrua|;6wQjsQx+9wbOLyMPveGW?Fm}UZZwT+Fq z`0yeEjZ8Lf<~wu4EApw$rSiB18%liH^RJo}eNCvQJ{*rO zZ3b{BZ)WEZ$*i<%y^nR8(k>h%M#PylFxmAw)|El2~*Tq7F2ju*mLP zb)tlR-6gJ z2!efX3XLuFr@?h(b^0I{y%mIRsOiiM?E%1!1pIhCOaF3YFW3UGBk?hIKAY0|`fRTB zosz(_HfY;St+prXR>55k_4G1N5LqWt82rT~U9W%&^DYmnkGU*~|A6;tQY;k9a0-$) z_3M2J6~~E)Ld2}k0?zW7SI#P0Se9V=!y?78hahGrNqxE>N;Wu|cZ1@PC5^WJ*e^UF z8Nwjgdq9*${&uFe094PCt+V6-Pa9H|1ELjpAnwIp`<0DIe+Z(pmHF}0jtzL$WmKoo?c382wZ zK?ux23onf@Nt-ien8b$iN^}X!UI0K*y>V8uvaP|acKhzF6X_}J6SQzL@8+wbMW9SU zQ-G@n5m+p~8E1ZT03Lyn4)D@V$&6pv_blAukpBox-fd)Z?n>Hi=~}&GPpRQCz>UCz zzY>-U(&k{KrB+}*RN(^u82O!rsc4XL5(-_wN7j{g(Hg*dOSJpSHVw%Nd1Q7f+6Msy zCGPJ!?a73kBXSUqKvP$Z62`( z3xpYd>+B7Dz0}ilYj?CE4UuW2UKn2S_~z03)l%`)PG6Gu;<25&KI0H&SVuvbfI6p= zF#jU00tJKskBnZUi%XaKq40AixaOW3X+76=>&QjsLG;3x+eEhUnLzvQ6oagv^3XpP^uD06 z<|ua9kpp$KI)YAZ2lhIqyv8KZGIV5LkGIcG=MzrHl8Bhcugg)saE$p1fLCk*!sdS# zX@7bK3&3~&EsFdvJma60Nnu2KMHaxL%k>@PVCv$Sv9%h4e-_9=4suzT5FdZ9N)%Mj zG%fA(v1UWP!q1CkU%q4T>paG9>1ia!3}fFcQX7I1!=^!G12 zZ6*k%xN*&x^bEh=$1PrCyEgD5?UBl0rVnxvFw181pWdKTk_?Qtp!1bAvCX};*$lqO zJH7utm7$~ORC)r3CQA26VD%DDuksS4-JK-D^x1VEbs~*)@-e$@JUSw*+n9 zCfc9WUD(0|+xwE!C#r-NGPFRHTtt3J-XeJ{y zit8+F?8_UVm)@ILE_p z&hh72@!t+tDki3OHvgx4|DSv3vIADn5OyC`)f0GDctq%`%1W!9G07S25vFYmRM<_~ z+^Txngc5b7{9iXs=;aW^-E?2T>u~e6DYNXp%npZW&M`=pBWNG=<2I=_Qm=%>%^JMu z`a|KbAB8C^OB5ugVUv;y*zJuAcQfjzOun$wIkQ4$6cYh()l0rIO)H;F;AgXpAx@hh z(2z>ojB)Sy$acaQO1dP9@S)WBxt*^F0g$qjUyJ8@W`~iAe;KR(G|AtNRexcU-x4W6 zp!Vkj7`FmhizOPFlB~;6o>>c5JvE*gB?)ST)G(pX=jX;XX#l>IxJ6?p>W3c*%P&Y7 z@hj9$h9RiH0$c#C-CZX4!RTm4)78nuUDiA0ONKy*N1|)WU_Ec$HIodJfq+23B?i8e zv_rY!N>**gryd5&*VjpVnWmb#61&pXYAhqhmu5?Khch~|Oe^&k*EXwVsU#mI|C%zq zKsLdS!j=J;;^UZCxdo~JuD!O`5$&kH#o)m?4R~jAaB?u0Wqy)3kLkK^+n|Jbhmvh5~eg)x^ta{4@6EQ_M)U z9YiCHTAVxF0hs;1YtumG0@t2n6gSlUu%-7D<|%lATNE+%E2PY4-%pssqD`dG8Osc+ z+tksD$!PA@(^ZmnDQ7%PxYGdh$*OxC_&%g~NmtHHm3;lVPQ32h$*~88Aw@$f;92>s z`AC!I!1|~_dg)A0GxZ?gq2sF!vszPXS?E{$FlNO;^KWyGFt78-h1@SXW7VqEH%5K+ zO$zn)3ww$ZPN39>359SK&>U3djK=QH$>o4m&~? zeiBmW?$KgqUhfL#g)J@~f<-hlYkn_=ee|>j^d!y|IKUM7Bpr4*fapRy6OP#*-9rS` z>+CDJ$s+=@h4bc<0!P8wvzi1Q1@tz78KG7L_CZj+dNECXS%g zp}Xtqff}L?P*)3(QxPZ*p*uDsQ-aE?*fNDk@MxFL|4{M7dWwOK68(dcUQh&8FvgZ> zujA)q%q=;O>CZEa)88N~f5yb$4mbZA6aOqB@xQ3Y2Hq5CRuX;YL(!0-$V6#76T@;* z<%(08$n}7y?l*htGXNI`N#E=H;r9H9SO5oq?>xzN*jI!_%i-da*f}{n7!SMvoV+?6 z9d96&p#sSG*QSR_=$+Z#0CAEVzr9rB!}UztD44aXQ<+D{a-)=b*9K!(k>NGll3@xq z$FVYKn2NOerA2sEnFN|cu9_vL@)FytqXs#DgeiDK3_;*akDa_6jXt*y`;|>F}Mgy#Rp=j+RxP0^&?~pvy^toXY5WLNfbAMeULs zqTT2%E6llfQ>_r#5~EeZ$d?ozRQ6HdUIKfdB|6EI2)T0k`b=*!+d+r`+UQcgGNH6K zE1blH7V~)O$GilYr#P8>H&p(kS*4vl(>)Odt<+f~?ILfCTru(@+@b6x8l_;ON1cPX zYz0+h8&}$?0PLhg$LLk;!XxEb%D9vGXWF*G6#2cd`tns@L+4C_DRp?wo`TNl0MJPw z=&2hJtuc@+^GETEhwD@O&j-K~8KhVwaIP|ZTPC+YM)=jxDM%(M-&qGy5iPzo(DggE z28h)=sV5tznd!bJe*{T1l@!R6%gu_6>V*&s)=k%b$FZGU7>!UiDKQVrya!GI#7p=5 z3erUD<)llG7Xy5EiI+_}_+!IoRE3CRiXL;JIafb}jF#tnsI+753=_|B=(uBU4HM6& zc4&^bruR|y-pX0gA9UZ#ykrIxRpN8y3Gf^&_w{%Inj?Tz zjm(Q^Ai&Xae{*#HKaP8a|E^h5H?=XcwzV|0<##YJwN}(MHa4{~{)=HFUs?j7{()SU zw9$)h6S>))zeu(eh{xX*V30%UbUJz>O`35h;6(5benLGFTD-5JCF;n?H#aYrke_{L zps>5krXtif8ZD%>ZI{*a2+obRG-0}Fbx)Wq+1AchvM1)B@LuIKBJEJnp8FgEaB{Sl zSj}@$tWm#FS~>bp#hoei+~G59{m8OY3BvAP%3zYa%Gp_yUx6a^KavxH+yO_BzA~}f z*Ua*p?89w7L_7cNU19*&vz@0Sr_0a%{Huj%Q{^e{1Q>+*x5?vAll`r1%HNvox9a&j zX)KUB*<@mvkX{Lgum^O0EyFqe0g3p9WU6!Mt&+PFy3e^&g(+Y|YCF`@{B zHenQi$UaS9%E;Jg0GuQ_NA(eWqBFx&5x@cMPQY<~J5XQoa}?uj3mz>9aV}#DraIe(+RV z%?y!ASP`GZZ`c}df~XniJlTRZAJmAWZuWWcH%R#Wr|ah#%s>eu4JGLUg}_iDa2cgh zpj(wlXwj?o+qM-VC!ROdq^s+?JzwY0Ypg#n&XF!;Tbn*2ON9At)_&CRH+JTsQkUds zdqvtKOtYf%bWl+cC7huuq-Pw}(Mtyzs#L+)Xm1vw8^{<_k!H>I;@^8cyi45|STS;j&@SXe?5V=dr z<#;-yo6$ha#zedO`wIwWI8-Q>P#*DQe2YL+S~gGgJ%T|vLq`H%#S^D4X=GyY5f2B% zd^H&(8E~zHvk*3Aj&|P zN|M1kIS<2baAlTbFngh}cdJAZsyI7Dsh~dD>O-_t-D13wD$0oX3)k0>RXQZ^b_WgI zQdC3~H;4$0dkQ~{!6)%P8>MV(#-2K?qUTvxvrftH5SAR|T%kyZSbN2_yD?s&=Lf<8-L9xK>R6wFO$901p`iIF8kCj>Gy#mi}8R$Nx?_f4vFH zh?Ft|2C!D>Jg|NW7)1acS|%aT<|8opU#z|3W8M3YWKeP-1c|RKKI4*V*LYi&F}b3j5!AWrdf)Dc2?c3pmg3!Ak zQq%*w8b$5eBV!C+!2tZMR8vx`EPtw1v=%Y<#(c)mHuqm$e@3yjMKj>b!TJrA{|piT z|M}bcBSgP}aekbY#Ih_(|64ydQN*e`N8#Av9`b@Pt&(8CkapQeh*PLzga&7`w&KGn zY_X|o&r&FHzApHUU?drRTY$vRIW-#EU9ANKxR{8nei5_(@c^*pM^}t67*1EQi zOZRy=NkUfS*Jd*p`Bx_OhEsO=XS*@0@pI@-Jawsa#U@9YC28mF<8QVyfieR(gp}Dc z2Pxi?JxoUProkPAtxT{Kc2ISk1u>*3Z{T(8TzY{4C)tD<7tr`h73oDT5?~+ z5>Dbek~a8|$&V+At z$jJ~vy?uDZ)3I~?sJV#%UG7-AJ)q4UyB+SGj7Wjb&$ur#0-QgtFky?-A2wMqI) zr1z-;S8Dorkb!D{NCdDjq=i2bv1-MBC=t0*sZ#en zpF|Ol_?p-@FSCl2^_2v+0S4)g`cJKHXa%8^Us~NU?4(a~)=YxWJyroHli2ruJW2at z$YQjq1gkA^^vbVM#@&-X5eHH218+bwhNR~GnF}zAtF_|_Xz@;dFG}KYf!47h0co>w z*#?PKQ(sXeuQy<{QSg#d@w|-|d(yfy#X3B<()vs~rhK(ic!E8Hw#1Sy!cJ-FEn!Jg zs`RQoBUreO`ai|wCJnqD>25vv=Hu;?E_Qrx#e3xXI+RwLp7VghuD-#Go|C0uo~u+w zzy2kRq`qRtikaT>_G%^6N@$CL)Fg(DG-ig~IX^oC8PpNPLkMg~9?>qjl|M&b$0MgabtKo=Lhd7z zE>oSt6Dt0FtRN4Ngj_@k*jvi5@3|hK&wgUiy?7;Z07yb!r{qa|a{3fH@v(?!7-0!I zW}^&ntFZDuJDkQy(LYgE0L2>gHfwZTKABhZFIECy({fuC06l+SzW*7Nf0z>e+o1do zt$)iwPHUbt6-Xghn2}F_RYe5E`Sl7A5J6Cc#s4&_;j|uMcCf8Hs zIiXf)E=Y(sH8kaN?=qHBTbsG=?ez?Nfg=rRKVUYHMwTV&vMD5RKi#KIuwtmw7u+4u zeX+0#_ns#{V`f=$ie>5x_fQjZp!;jqtJ@BE8)1CV)3x!qQ4csQC?VKe>*~jr1B1uMzKXz#yWzr{7vLo(w;vD z7JTj>U9Bl-<*42HK?g}9@mb2c&dRYe#~5NfPE7tYBUZ}nFva3@aC!(!g3A-sme$-- zsBkqYi>D)7>Dw-+5_6N-Dy<&ZCpIwLc zgD8p3QnRjSX)!8n&oIrUOXrWHE2wp5-k##)6~h?`m$;0))VV~}y#CrPQwW2A00X+x z-xc`&Otya*zx=yo`x~GY^*&GOB6wB2S8tJywvsOFvC2W4Kn)M2qaq3Gil)8S>ofcy z;n~kF(OPG;NOQ4|k<|3}vHQI;4&)K|LQ?D6ZFB2>^Szb#^YbI_Hv`Ks;fX|CY2aejP&kMgWJdGU$XE{7zGT)fb0JAfCNmJ5zf)1%f!VQ5xG?N<1zB~% zK@`eYFBe{D2DuzdKG4Q#@v4m34g7?q+D(tY3VpgQz`yx9Ile}JgWWoOafUc;xU8Bw zc%9J(+9JSmo!j%Q_bl|Itj5?dlDt#};ST%C(QVc`>LzyUv90jw>!MT-)%b`{)~(?4 zQR5Nu^@n48jPM0ag>8E)M88EP87N1y&~~7jZP{=qTCH9;LnKPLWkR<YSk_uPVkGY;f{9=+;MA+hqyjCmP@TZbJv+#egTG^IaF)f&o?jTYY`MY= z6gwbTZf#=mLlc>R5m4drNdH!`lb`v7uKGGnv~Yyr!0emQGHOU@q=+O2wXO=Pgm%Si zH*V4SYw+>%fmj3xkYe?}fjq+>ApZ|qL%&i?QtEePkC2l1HT^dU!u;Ax^huYldIsP6 zBN3ARCWzI|bKN|B1Z!I0d)9cHqWE8eW@U}};?e81wIW6DSI zX<9xc_^9BVo#fFpZ?nY!VNjh_qjR(1>le*O)9k^Bc-XKc-M zrYn+=O8$>>O2DD;8@ULz(z79t-(&Ktx!iw3c&+#A>oe>IYMWA7mSL76-w#7>h%SD(~-3+6dF!WlH5p2-x5!hoY=QQ>KpfY@!klppqQSFfaI^{qKA&{+Dx@v6_l$g`%`Ud?yQu&0cbiu?|k6uDx zGU_H1>+QYHfgi|Ic|5`CcVBsa#Bhn0cS%(mC%V;xgqGLks++<4tWR4KUFQ^{)okB5KH8Qrx3nyuHkUtEL(>wh8H8$8PbiZO6ZM%FFFf7t!B z(VR`{ekOL$|M0%suUuA$>QI$gt{X~^2Np7W<41>Rta!UNDNcUELPz2ZX0PuF?%raa z60!vua?Q(uWB|yqcQTUaaxZR~j)W;0WU-bxd0#8ZnO+Fy(@L1^gzjv4s{N9r}KZ5QcEvW8*R*u4!>*F)se zA)tKRn-UeVs@oPlf!r;wHg%L;M|YHe80UljIoLs8A?AUbSpBsr)T+FUb~#%;;(;Al z+P0Frr6}rH6Jf;DgzPr=UBXT5CH7A^a?cNYIRa!5_iq`*_y-=-{D%zsUq;Rm5&wM% z6x3T*MopxjE3m>VO4Zv9xirEMbf;br{5K|3St;gss4E>^wynOCoPd!ffYEnX48EK* z+jUC+T2})&4MvKCq_OHYHaAMkZ{bR;-e?dqKVd$YGyu<{O38aIv$UW$5bfb#mUuCwB zWVFjqnaOLw?_a3=XBhrdP*Kf0t9n2kr18mFy- znCB)ic#mgvada4XQC3W@AclptClEEbFwkBmg?XKtxl___WZ8`jBR@1z-xWVJ!6yG{ z)n=}Y%z`q5)QB^1bSDVi5Y$?@);Ql<-H%K_+~3lw^3;in5-6ZJ<2hvS0Rqs_zX4Uae1?NTxK21x;{ z^mn>6Jx=qPMW4%~G2B)`1btz2WxKt!m(@$D!o}3z|aP4VpearAC&Dri;r;oMV3g=b*@BU?yi2B&4QzV%mQ{A z$=GGC7EX=kypPSID{;FE=RIf0^i>hb6y8DIw_^M2qcVMQQQEo+o8h}|pFwoJB|_2{ zqaK6=-S0jX8CJ+J3I2KdMcA8f^z8_5X}c0;#@Q8UBQ9eb6q*lghJDv>OU)KSOQA>P=*yg(8W- z5b7BjnDE_8@v+Dv(+a6`+0R`F-3ay#*xgsqX07H zZ6u?ocJIA}iA!Zpi8}q_)Z*gd!VQ5NOPafH{jqOV7^#VGeOfKMWX){tCk|@pUas_o z>}|ktdvYS^(8T*}6v<&=Bbq|aji4!J8ffXKrs-(t!XD5M8mo^XC?1yE+*co#e~3tB zCw=KGo4bp|HdB}l()S=;(KR^OfSiuUopT(;38x&)6NV0r-%hw76j%;x)N9FCo|uJp z=&#tg=XWdJP+^ytnw^eyh^r^k3a1uxHkO#GUy5}&Y%tW4rr9@ilvY-=BgE)jnPd>s z;fc$Pq)LWa5um*QcSEmc@K<(QZVbtWSvouo6bd(*ko??_hB%lNx<-Odm%wL`#hu6} zkVWr*`@9J~Gj1YlVb<>Z7zjgjobe)z0%PWOmz|i|FBgie8XRW|*tD<*QnN}Km>i%v zqdn1v;*Rnx5;>N`ozMwcQ-YzSYkSFmmbi{Ydv@AXej( zhpM{{hw9Uo;1WqlAsq$PM0uxf1>_F|Io0N;BIIL?{ZYt=(M-FC7%^)Qtce#0Z^TFw z@g0_xj|51QWa|875X6M;drjhRX?e}&T<747SLV8@G{DN|VY52>SZ*^*hk911?)=Nb6?V&QD1rY?(;}^}}>i7)ZhD#iZ z47A9fYsa#FQ#xjW!m3m*pIjW*k9*)1EUSoQJ?fde#a=z zn60)^V{S~yQSG1|y3@!=StuykpMBojYtYR zf^sVdv)2v1 zKx>Gm?&_mR7?tD1r7cv5-MT`v5T)`u^(Dlq+qov9TTpAr5Ey6fz6Z9eRY4(wC_SjK zxs^f!D~yaEUeKoz}x2e*CxstD{`U&#{$+aU|8R@k5zP;*9_btOO zg8CWF)M}Bq-m%lk&&9nalH6*C7I07Yp|Hjh!BQ5FK5$r>S)xQb$+RcZqGG1f6ocsv z#wFshgVewgwL837p1xl?lBLX*HN}igiK3}KAP{CJC6%u0%k3}BKv61<+LQ&Mzd0Q| zhN@&B)IUFbMRf3p{o4Cw)G{Zi^v%lT=5kH#xXql^a|=-bdW$Y!!f6xfDVdxtwg+re_dz85!XoF2Q`p&}YSI zD7oO$`w$507zGSz8I#dVUZZ77RE)HGbIdr%B_I!QamR~wiQLH`HESm-g}2qrikyi; zp;m-;uuPgdca8=3^Uk*N{BXDqM^MEZ&Etz}D1M^Nk7ot-7Kum0B*+Zi6TEbouZ?d( zurJWQlP^5z1vwmybtf+}xF>g!-Pbk)StE4vC`;NtV^*WHSq<;FrviUVvPkN3B+$N} zKNj<{#Nzw3267hr(wFo&A))p0shs9ECaH!0jzg#9D8G;605mh9$n&`}Y&|ge4*!mG z#n|nMOYgncx2UlKv#j@}?|9^9Uq%Aw5TAeTT8dX;ATZFL z|FMkw?=d>pPv&~S{-p_U%of0dOxFFK?fWmHC~%;ps);5B3vEK${;b%b;2W|bQbpv+ zlO75YjEzsbP`W{00bqKTE0s$!_LT|ic8(K6q3N^omgLVpDH0ZO&9KWeV%liAVgYCX zx@8=IZke5UjGLA^q0ww$^w3%-iP5%1>MhVcuNm&x5l^t~cFc^(4Ke7h0`V0Zu|obQ z-4dS9bgP(T$rsiEA<#M-d*KNl6#V<@uPZhnZ6oxbqCXITX6N5m`2VoW{dZCMt5UH8CK?Fpm0yRNO{9K1Bx(WSi`-3D6oD*#l z*O~i~^N`%-wOe{iB;)SA8AcMA?SWm7rop3+*c(9$;o7&kBU9BVC5O9$KMs7VHT6A(D5S2Y{(b|T z7}EpwRc_|57aryIZL18B5#zt{lK<@c{=r`0-(a#ALHdA{)s*_eg^A8Zb()Fh3)s6#Lft- z!X2#5l2LU*ANaURT4$cI*fi^}hmaZ8RPPxZ{7ykcJJdz6ie^RT=RWcr#~r;}1~Mg; zAGNB;V9+nZsC&(06T)@=UMN;EZImRNq4Q)cV?-MZyk?!gIhhho+(mK#7A08r`9lE` z9poZ2A%p}jstN0b;B(h4|J}iwPVr}paTDwf5Tj~62L2ib7X$VJirx=2!+4plcbvPc zaOaE-fsYVw?U%T7EGU)z0ZQ8FF`EhNkUIKZJLi~lBr~@F#=2L|g>3+-&TI9|t}f>$ zo3`YHQ3GHb=`Cc7Wxnh|8$@O*)Gpp!Ed;mA`Eoy*xZolX{LrS|(s`C{t@_x|H*Gh{|+Uf(1C z72DSaC**9tgE!BRiOkR{Z0u96C)Rg>ZRAi97)^E%nIY)y#%L57?Z=A0ruWXZ;OLbA z5dB>_?a!$EgL2wGMCErJRj{)7Y0NS97|Z-c1AV=G+S+MJkhYxWL*5p6so#W}9{t6( zmD{pW0ZVM%*0{VZ7}U=JiOZRmRu`O})W*)Gc))o4^XW0Vo@^D>x_$ zWK@qKPFp9>h+s7Cz>PlyQa(2*7pjPO2VyY>$)RdN>mYAmh9GRN+{+?k7&tw#>U&HQ z<6S5C?;?o3{1JZbVpzp;8uR3AWXA-FiX@YL6gbfPIAwYnvMF(HF9Mj-5Z_5-!boHw zn}Zs4y20L|jUlU>G??{#7t%UF!nbfpdL6w(no(X}CjGgGoNGIsu)P6r zB&TIN!X4tw-zM7%6ClPY^9`3mg%StD3oVrgyREwYiJf3IIBQEiB$Xfbx|mA+T+#U4 zjM=pJ8qu~nQx-0wbf2tuv8j*`q5T6Wapt49RfX{8^$g-BOPiQ;KQojZ-oZDWd$4y0 zj+3_K{E**PHQKX%r8WqW@$*(uNhMtdtElbA6=s$podE7K@Y5mR1hXE4So&I_anafR zI4_x?U{P2w#ZPhkIi7V-jdMp&~!)%c5tlK5XtSf!+zvOU0u7WUf!^3Rm|Ph0>0 z^+Wrwt>dKiG%X6(*iykLy)r*Ic9mRKIAek+RGXwfmn<(o1&W#J6yEC0DZM;6G4)n$ za{n_p4U*qiXpm(qm>~k zoe9Z#nsG6~ym z1!w0`F~mpx5IGCdgjRQ~ZZF12 z&r5pQv(mS3JhG3NBP#M?O{iByh>*LK$XPvlE{wqtD+Ls&#c_W0R&6O)$tux3XQf(6cAW=57$O&yfi| zkk($Wql)Oh>V7eK9GGr#IqIVvKj+z$jBD)(Ep*UYG?X0mFfIA780O<zRp9Z#=3Z(nkp*boGi;mj5LIE#uWsy6-7F=?iWiA=)g0F=~Ji&9PJ+{ zu|*bb7l6y??G)c8thSE@X8R*4KfLzS4u4!;FFOOtTrT+f#)3`@VWI{tBEKerlP8IE zdF=}df(q=q62$2TXYVk#l6tAp}OLRrzaox_e>#?Z^Ila z!nh(BBno{J8vCXWS3qZ=H}@S^>GSrw5AER&XD0*$9(3#?m)9hs`JU`c$ro2DT1j!+ zh9r~rb|O@mWo;J;hSro55|Qy#YETUaxqhS`#;EO17?w6=){bze7}8iq76qu96MZ3o ztDg|X18>m^7rI50%sje6#Yg{wd2_tiC>f-bRyE0xlxU|mygPORo(){bBdK#`5=@eo z&>gd@NXD@**P=H{fxe(o+3agxHt8lNDm%qaUAfaLZQfdgW+pwHNGeHMt$KH%ejD#_ zSF!+&e?D0DKu(jSYmj5=X;$96#Vf=}BTvs`82S1-mR{tRMEQ#Bao)RXNk!f1?d~pM zM9i16;Q2B~btS6)d!8-=!PD)}o`J%$g()tA)!Fxy@Dv(%of~IO@wxa)OYBinVUj~E z2U?Q|#2&@=yjru>>)t-D#S)QKB~e+beIFW*4P8Q;hLZ`02$U!DEFnkqf{q|dEQ{dg z2${Y%Y*`G<(fr(-6w|ok!2|Z#DZkYRe`eZ$S{VF~O#6MI{TEdUAftvE-r0-ut-CuB z&h|ZiH3AZ;X?a9Jd*UIcEi*K@4cVlsMv=H@eM#P5_iUpW#D218M3K1}N!{m;PKn)g zI^Sc<_1Y;^cLPTvwnMiw#N2x@jQH)M(aFnp6scIi%kB6LPQxS*Q>s%Ze$ahra}KzR zPjFnbX_@%3W@Rt~`O+DQpl)xRAysyx{gemIA5cl42rN-V0H-BPU3Ccw3Qk=Ai#kHb zY!mfUMhz73_5G{8`ZFFJ|6x@2|Hk9@s^D*K^|a<3T>)fLT^?f~zfUhBYdI7=$gQua zs3^4%u+o<8w)GbclL!w!59Jsig6IbzZYVmZDJUWSuP?kMqdl zXEQ><#mg)#r6B6EM107-k-{i~NJjhAMKBY&D{}ZC|AEcD$6&WF;EF-U{gOF*;_M_% zRZuC*coV7uiTRoVsrN$jhf^y<@ZR;1+LPl9Xd)HWHrVFjv+PQ*B+BNXX6z#{Wk7KA zrwPILrDn@%0daR_c?#46DGih7C&*#%m8FZ$Y(`2A85K7**lreU>D({lS|EkIu5ujw$hB02Msqb@{1vk<-&zLL9xAV7z!ks5`OSD6cXLljfOTk7~XyD4#MwJaK&T?y0ZL8dn>l z)|P?;I!bTo%`{rcBw8Evd3YwpI=5u+8J+%;Zs#<$;h3@Acj=5tDum>eba^^W?nhFp zQHqH(mrBIASU^ks1Z|4dIwp3%@M(h^uS$#0_a3%RZj(-D#4`A$2=lL%oG%^x;~^lM z_yGghf1gqRAXE5Pt@$r3|LY6;ug=U$0-F!PYcJM?rrlJsUcLT~`omPfjlNu$`m=79 z>;y#}%A>7)#o?h*<;s^E6D3)B^#k||kEq@$gubC z*^ph)K_wBfyk>5t*KtU@B{~KlS}zFlyS|Gup-h7wsKrj}74mEoTw?sMxs3c2-QR%Go`-C8C10q68 z5OFr2=*1{TjpHUVRBwvfUJgWq8h5PHL|!Jo&w zZZLXQs}s0OKJ{L;RuWNWpTX}s8gO`1-rYMeJ3AsumuBCfGqZROf3W5eQac&G_r>cT z;#!!0bVXc&7awdw4I_$yjIxwn=#}teF}CI0Ppg06K^%H?b4@aV_a?iex+v}<^`F-- z2d`Cr1HDJuz2?@7Ic2o7q$XLk*{t#m&wqET_H|&Ahs^7Ab8`HRDkEK?MyqcK=p{hq zlzQfqEMCx9BI`u3=|Rcs1G{qRJ@3B20h&i z`tz7r@E>3Ke;^b8nHm3UbH)eo4@ZzVJSd_(;pFS8jqv9|0EN%lfOcE9v$QHTax=cP za$f*{Agfk6?Q}BRBs41NdU?6S@#E(qFI2pFaiw*E<0^n6489l)<=dZT)(1#f1r#!>&2I7Ch zFz^2zhW}@1e#7GO|F%x7qXbwd0@Tof>M6VXcx8jKMv|#EsePjd8Y?Jsn^r%aia*PF zO$hSmgz|j*V8q!7V{B^Bt^48Z(DTeS)Bf!6aPgO0lj=8fV6KA%1O-Hq4?Q)9jCNn4 zf-_^TBdHqAc5udc_8VMR_vRwUM-xBSSq6V*S1Q%Ed&t&GQ@=lTo3+E-DL77F=rVBI zUSOrObM&9LYo(swtIr7`Di!6`3sET#(=pHm2Ub#o*?{x!e(76_vA|S{iX7S^%ipRP zkf>lR_v~k+0B$SX>HtC}**|t#wO~Sl+4Kzvrohun#-D}k&|+&CK@(UH8$F$)5U5OC zO}b2eN1r({XZeWKhY2;`+3ZIr84?`_)6p>Lc^I~8vmdtT8KfHeF=z*j&H6_~*zOr- z0z3X?*o3j_OpR6%I;P^ddBP{Ck*eH49W$1pBxmD;LWtwj`ypE1)^cwwT`9_SSsjw^ z_xlkI1-L8xH5^GV`*GvWuCHhmwQO3o_8 zqZ0s@Fd(U73;@Q4w?UO0fmJUwZ4_gb0yn&2fH^vhQONUWD(;t_q(KvtiOTfzBqR+g ztb+rm-wu(p0Yw(oLjs)2N*2P5U$jwk@!|2S{|K#)V&@RpJI)u@vB{Y%!C$`nny2VC zApTf4kh5I|asfT$9fZJ@8V!TE7b5%7Fttbpl5opT1@eoaDuE$btsDrsAQ_TgV6>)# zIF+D_M1V6nrmOf_I<2^JJVAxG$fLPu-(Wq$VQRQtMqy`DmBm{U#C(#&VpS>1ZVO5Z z5Hv9_x(90Aq6Jl)6nFwgE*5c-@QuXaUr)>AfmCS|pm+=UP2J_sujC(0&i?^G{(4`^ z|NH8GIq{wNcW@{O_4@e!22dTJEJiwfK78M3(XHUsQ+c$;TEh>$Ux`Cug^>Zb2tzLC z>ScWT`o~Glt+o4W_Gitt*QZbWl|X2h1pXjyj5p#$lcciMZ9%UUb_f`5Hl|PgL1*N* z+UxQaxhJQhYI=qNk%ii>Ov~kNN8gH}Z^~JRAXPx;pwiwlzv@KcG#Wn*PrGC0MbAa+ z(Y*jK5^ncSXbH^TQeO`=@cU*0=Yr7|>4_42(euq8BL}4qGFs$|rb!S7US1tsw;W!D z^c0y*nl?N`4Mo&M71a$QZ#5S9_N{q5eHuw<1cJz- z0dvw9=}D4>l8IT5^9V5~q{Wf0qWAk8Yo`LN46h5v;RmOFCSg+~n20g+GF zcWrG-!*5IT5=Py257`izEpk2;W0!TVm#E(Z88ot1>Yy;5*Uv1&N4Qjw1{WceFP1id zu7&XmqmN3i03e31t{6v$82#wy%VJXG@t_p=-KQ6lvo8+KEuG+;dw z#Ak(k=N08$6qYB9;!2f^2wK=lEO`z{_Zaz}gtJxBD;|h4NFMy0{OqG>dV#fP#OXNP?Vp1dCTPOKxyO>Bxa*N$xU$L=C zo3kWt72SkIQ8KhPL{6(Z40X9mv-%}SoQr=G6jyuK8ln;Np=G zMV7kdA_gAP$1w zdyFj;ltUPkW(UiA?;C18;NhBC_S(EEFV!)76Or*R6127*bd{1*0R_A2N~a4>x82)J z?F1QQ52ATw(>1l8sYvQ&s7gT-zIulwLJ|=!ZXzX6P>L18uTFUEcgQpw8FQ?4$@-P? zy@WMZAJ{?9q!K%f>yQ1Qgo{x<83o9(_0gtOXgtBIC61qN8i6`F&!gtQZEc=sKl?k)!1uE0`OpH(nnv(S&T*@oebTM8rW9uHM%(Q4k97%s#rnh~DY&CY>f1tO z*$MaL7Y-&mM&czzW_tyL+aGe~7&U8iyWcw~b87J#xY;{6e;^G9c>D&B_L98rp3m3w zlMG>zy8~rfFmg?O@$?rYEO@{U#YM~_Vk9SlGP;CzM7M!~H!r@LDqP?{2^bq9eV9Mg z|Whs=aivg)FM&kw-OPgeo)DGhzJ2nA>@9ANaH^M^$AV zIf`enSjFz{PJN2!1$s?O228YU6f~AE7TdndfO8=Y2MPw%V!_(5FSjuOZY8&dW*g~j zn?gBRM$$q4DpW*6+>JFaFIZ?OrX_D*LfkDlFTG3x>uw4lN0G`z%?yO`o0#YJ)}#!6x8rW&I35UUm(OIXxi;+v+=dEwUXag z<4y1fxvi4&2!;_D1(=aT4_06dfI)!&1jDP$3*1nalB!+%+|ZZj(qdLhPJ?aAYWIrH zw)lplJBGXf{d{M2HtK}b*Rlmmh#xDTEqVx#lP6r;&a_Md?iw-n{S(Z))ADr;U5Gun z?foyf(LzTL5m-?^d?acj?2@ME8XK1)G?PqvvKLPik<0l_b1md)Kl1RY9(oeIKN zTE3+G8(zFmN71pDvWEl|Cz4nE;TW|@|BHi#rNIoV_5hB)xcR8(04{| zog7;nxo~8NG>0|TYtLEXOgJhV*@B!zYlXsXeDI&$MElgsa!JJXW-6V`Gefgvz985I zu<%eByl192bR}0asdR~M@$=mXU>WE)>#l6t7Zw}0i3=ZH$hjV;A8(+utp0c`88Xdw zLSM3>t9lsOWERctf@Dts{& z^*0>8Sw9d@;i9ogG6N1L+J!zvBQHf}4cR6#WBRJL^hs9&OWqlNePnx?H2RDlhxJnh$lnh29#ToH^OGxYl zB2pY9ThmZex(6fXf_3~5qi4?H8_XTxD<6SOkG}vJ7Z#&)@M9XD zh~*ap3LBn;jRHy7XYHGa$Co)0BP?NNcG--x2{Z9py5eynNf0@HOUA%VG5|^q_&9Fc zeZ>>j1^v>W=VmDYp$CbWIZD*iQ0D{^WGsOTEvo6Ikeq0fxbGaP=PpcDr;)epo5-17 z*zUraSCUyv+EapL=YD;`_`c@;6;`w7d2S7euojt#q728a5Tz-+xD zES+KFbe{D3DOmx>4+f75x(9UG0o&MmUS*4XIKEaiwKlab@8Lgf45@zn zdH~md#%incxEk`Mkyta=GHkg#s3*;eUxBvavR=i1dNmfBCJa{CQgklCr`mFXHM12 zrcbdJ99p4D9b4(|v;s6&D?&VJq84#hJK@6DFAjfjdajc4;BsWMS?3Pgg1Z|};0e8N zcO2i4MUi&HPVX|1Q=DGD#0(df6Z^c)a3Lbc_gQ9aLlWf}cTp~$Lp(DqX9QnJ?ue`z zL8v-+Cxr~^=HBClob4)CmqjdQ6N*biPIO$|P~i?V-WwB(Y*^TGR>TPWE*mm~Q679U z{M|`6!tD#jtrv>>0o05*6}Syk;;^v(X7j??=2n&eYTqvQHG8w$u$Nnh54yo6YP>s| z+MwL10<)i0OKTk1h)`zIMGeFT<2yG9n`q9;4JE{^C6EKsZ$PfvJ;wyR`H(gNKq7?Ff+^Cd0X+ZmsHolx+L*Kug%^6)B)R!ginrD1YJa z?78=w5SKfEe~?2^$A@}>}0GcLxfN)^h4}v*Ny&@v0cIp!#21lR01>6g+P52e!F&C8GmtR!?;+y;87l8T^DCYkh@BaDZ{ii#)KcBq6 z8khP+D;2;~*Z+p>3xX4^uYn4}7sD?b3q*lpL1{{n2!U!r$z7K=8ck*Cba)0f$-Phr z50D(jb6c{1?0AvoYIlxndM6=~(>BP{3UE?gZ)b2fd3}6pGR^FRqgq7G*?!fUGQzn7IM59z#J8QQ_4|5IG_i!`NjT78N zA}B>+Y-C`Sxpx9f2>U$_+JWXY^H1IIAHDicQiqw}vh^CwMMO|Uh}bWKz8MmBfh;j< zsZ?+zOOk-%F^9DUYp9!P56T%Grzn>k%Z0LBq6KQ@XPXa>oegJPbCKBMkn$g)C|Fdc zw45YX+YgoDpU1F<0?rV=+wkhX+0(v~hkC&TJZy)*9q?YD(=(lz5P{h$e>6rb-4J-X zHa>DD3Zg>-_-5DJew?w-%yeqE*hw#S1A`0~Pw#Q{&3zmO11@ga->E}F63gqZBZ1ea ztIz=O_Nv-aHA#q=QlNox&HESDBx)?+j5~?w0uQ5KfNS@47@lBTO+TYp-mTCwdG`B_ zh-&t^1IGa0Mhj*j+kl-*c=(j+fuXbc2Wjj9=j`5} zx$BO6q6jgAD-bixhOSfbr#^1T4WS)HOz5RR?g&YyAVedA5e{b~R+vOTt+{LoXzp=o zv$Paj$gbW4>C+Ks<*-X3!*)j^-iuLF|9VTj#9eS7fU6Fgx>sZcfuojHXPpqHw!5-9 zN{le795qqA`34X?RQ5+BuWXY%b)|pgv7gN(i(uJ&Y?F5&&W5eEOv2H+>_9m9;XF;Z zwxihZI-H|Yu-6jCtX+r19QFaU?+7~Lo%&ad)nWFD?=0Yt^WXPvvK$IP#YF_NW|ZIO zkD-t``tu&f!Nhlb;XPN$G(!e6SIj&OOZ2;!LP`1LgWw`5<2|JiP=~TE%*g#nnHTkG zuF=z>_U;GkDEkiK82g?<`fW~>vs&dtvXRtN)1cdMztvnT_gOXf#U-f4m`JAMs7Q=s zPw-PZFtp|5IhEF(j{%4?4iae*(W+u39>sSt3IUpgtf(m-q2hamrT6hyW}M$JcLuui z>|8PUDKj_Bh|6C;l7GD8SUR^dxZX#PVYSr_@apWIM?Kb-_gcnz16^&E8b?-R=qOIU zyChES-^yJ^7U#OcnNj^0s{~Yl0qhm9nvI73{|8;< zjqDvQ9sWWWs~8Cx0RJ^`oHtv3=xOt*-am|)?u^JQEny=Rc= zELwwi55lJe4mwNx0{&^l;4#@l4rF_W9~)`~_XDfNM(q3}qd^$Uek`u*m=I4Xtx{*B zeTMlD9@4SpZ&GGIDyYHcr&x*!0~uj&G7!=61S+s$j2(BPO(s0tySdg=B_ZJ)EntMr zY6-vPX;3APl*ZKi0T>c8cnMxuZ_zeKIB1Rw5$8h5uBC?Qs%jC z;`#_1;?UVi5%5`yJ+}IvO^rl0nTy}nsJgB6f#8{9AXZSe zPIB1dNBKoFg`01`%sHLP`W9HC(3R^gT(|B|qOB@)=HshatpFQa#>e}=Ys9_D8{({y zQ$}egUZ#&VC%a}wLovM=xE5M|A|t<`Fs0jZURXJEEhO)GKWWL3`(gN?+&q@h{9;ie z(~XH)$Q|ENC~9K!MYPG}vmi^hdL@k#srJS_Oqm%*r^dG~F$@n;*{3eogCS}eE~xwd z){2W{6L`!|ira(VFO09pBCg6VZgJGse5xN|>so%m_QAvSU$PrhU!@b_(Z=|9P5Y_a z;!mbXJ1`f=8I2UO-(K+$807i8cc2blGY{z`Ua%r2=kpmEX1${JCB+x?587r9o0SLV zC9bJ-hjC=&loBu?7m+*|8KZa=Rn)17vtS&Pj?yM3lNb1_iGvyRcRO>Q1gk9kAYjNx=@fjNJsVv+z-N{nz_Xzk^31|gHj(|3uLL7h(Br3X&DSCe;rl=)WFOSyna|XHQeq zMj4ccaiIS#Du2lwWgS(FBdK&%hlVED3w4<{APEl}fpKMKZtnJCZ|-(*_WX$61Nrt^ zf~bm6S>P>KU-6miM8&t89_B!}ZGG)ximz3kl)B;(#_|zj78hRTeYPIg>y`{>E_nAc z4?#8*5h%C&MXtta)nse?iibS)y34u5H3Brbh!8?YJlnOdR6t(dno}XF9qL@tad-p> zC|V+P#c27gLJ zQP%+MFo)M0!;GZOpXB^S62S%=ZSY>DDz%fkSD5k_`iK>Az2%m{YSeGN!G>%RK$>xSI(x_2PdwM;l>)8AsrD*!rQkzF>W z3HDWYg$2wd(@01#qeS8OpmVx&J*;L>AuqaEKW&Uc*BE2Q-25ddAN)Ars1ccJjiVVP*6U?He%ikC@7!6|B-k9v$*8*uU&TJ0ypoV>qBb$dvdwK7?8}o_q8AhU<*G2no4B!Z%4B`@pz9zfthC83G1NaZx&uX#FmXE5dH4=*rQyEa zyiXRIN;)qhbyksCafo(%*X0P>bJ$fBcRBqhF~9S4iXaV2a&J_RW_Z%uFh7Dzh+F|z z=&OAyHL18n3zi_IE9bP{yTgdXnWLxE+4gCrmZ~PpugH8AI2qbGo46YPlbZZ5a}Ky1@KTZJSkYy? zStl@&B6@|l4*rJMC_KMNuznvwQV993gC6np>wS z@TPjSyTR;!!aNb8nGCqcQ7^(oB9|v1?(hz;&CvwXKRVvz1@dqoiptN3V>f)HeYzx% zh#YC~`x%+L5(|@`E%bMK{-2TgPxSnM9hu*|=-)y!85wxStE@<4S;dlNyDFSiXfP00 z0&if@MuaP*c)6$8Ia{qwD1O$C3JfX#hZvy=J6RG#xH6!^>BJP5xtsZqlY5|^Jib9m zBDIqqzj;w($CenW1$OZ&GIrnN;fG;4v(X-tv%$ za5fbzYPkGui?L3uGTyu3cV2z5En1=6^eh7X=ppBycsLaLRjFK}h?*g#H#=Iu8`rGy zn9-gRjWqBSzGOUJg^5F*Q|8Jzl9plJRW3b_dI7{H%%|mnBJdVP2X)|QE3WcKIafhl zGQAZh*C8jKywMq1a^gqy40BTV9k~}$Pu;!Muy_5Qdsi4;-knje(CZ0}fPHB}_&7;X7I}x+YP}~& zVNF@hyWnU{yV$CHfo3^3R7mX7TuBNJM;fBlLR3kU9|C7plXA5$j{t2YiZv7aT{)#q z!fjm7NjvFD(Ym}j+hey-W}KBbbP$I~xzcIx**_G$@dEeIm@T^!1C3RWi+X!j!}xLr z)NG%eP@=1Fp=n4gk}6ATx8hu@U7#7ywzim^v58Qeef`z3#~*V>QGv*Y^tUzipZWKn zxcvVz|Nd&)MTtNKF#*isS9MGXHOL(i4k+UYt%zy}ALC*#qA3%|uY<{CUYcX@AHOU% z8vM|pj|0kwfj#6!PP^tphKI+J-`}45PJelQU2od-^L~WfLdLeF3@Zz>)({NHJAXLX zUmMc2$k@ig?`V+K4?{H5_Nd+(_NVJRpV{uE=^pPaW|&&X7v2GK9D4ctyEdLKZpRw( zPFy`})%hez!V@DJ6YIxfPu4DM=Nm+)ZQP&Mu^0zjBu#6Ji7SXgX#g=88*xOoJP3&W z5vH1ev!a0(-;aFQ;MIp`MWwasY?Zs%fn&kD;@bPKkVSbX*me>e%A&60@sAnUc4CjZ z_+OgaLV`5W8Az z9!i8*=7tJFeGEXvKoX=Vn$d+a8X1QZviJ0yQCtr<3V?nh>~+X^54E67`8JA4rQi;0 z71|REj>Kl9m96g%0tA3=1(yh0NsJJc4X~{Xp)-l=!&}dy)r@`%9E=yX$`osQ(jk{6E^F%>VlAH4A9i1j>YV z6Br1lRdx>}akgFxeFa8A?J5AUv9a`U-^12Za1!;#0V9}+5h^^J`arjqK=-O6XZ}W+ zckd9%Z0KTPxiCU&kS?@SO>eI>d8hJn^_+&l4VT>1`mJw&^{vv%(^ooiF-mNonK8?< z#p?#cc@#04S3E$s_HfX_8cj{NYu~(1_Wjg?;gxXbe4ps$@7UVRM5Sf9HYt>jMi%eVAC?K1GCYA^E4 z2$~Z&W8Vr>9`imD(hS4I*c!dm<>KwsdP7{uY&slMc8BI$3ibEm+!RT6Sb9wCgkM?jb+*<*i-Q z*4c(~FyC`nQcX~pxD}%54Kn%YKY$lasxt~}e7sjk-6mJ~L=Z;T0y2%ld*C-_{LTvw z_h2)O{uw4B`@$Fei}*DNKARr+ILaw9B-4UidK6*DOTcNkocv+u_c2LPntomct<>ThaX!_jj<7H&f(J)M89aa;XM5M)6NzhZOBVQNR_qTAO%V{(N($VAkRlak;;c zHWzECZ7mQ{{jSdYXMX&r_47aF$KS16SyvwWr#kP4@7wtTRZaS&GnhY*SPRpnCvfpb+XaClIbf#JyVCU}{U+-i&Sm$DCaQ1X{1IZ1^hk&QT zv&6xgK(f;N?Ch(uR(CS6De7{_otN01iHG%|Cr?%NC5ljap@QbbQEE$^ zaCR-1tWv<&_t{~)Mny_Q-f7K2`&D~iNUu#x?3@w^K5O&{3l*1e2K99_swPTGa9|3i z+B-E*KkG@0c-hey#B4m#Jos4Ja>s!eki?(8Q+g})IxF+QXG%hDY=8N#2XzJhdmKfx zx9a`zb0UWnPwxw9Q5d#A&M@)5S(NFa23bdz46NSu{}Jc~0&k!|uei6@BuCV=jVE+x zhcE1R@ZjFC+5tBNs%FRpna{PK`G*piz72+r%sQKNBh-1g^ee^OB-rHatYAK8%72|q zj8SZbn>^rT44^!$U$sD|sX-JB-m6GjHdhayE_Opwq*d5|` z0khvf^}H~4ja}ES zc_x*QAp>5q7Gy(Q|fD-GSouWwo|6W7zo6-zID4CB8OA1`H^%k z_~TaQN+INi53dkH=4DN^BxIFI?5BZSyEFu@%lOy^cGl23E&N30C5#@wrjQ%=yWfA> zH~j$q{r42|&uIKJhxA`YaNV>E!dNy?7c1J(0OPs!^K(qeWvqfcBhx$%hMg005%QZ zp->BW41mEK0KD0g?T|dvvg%ts*w0I6ba^IKT%cZOWna8bSKLp^%)7Ai+8r0yDw>cD zaZu%>!gtbJ)#qYfOgB3O&@v=GGrvbNfX20czrsmxb-`H#OH4L?h>G5?D*Kv2TmQ@~ zM2v&1NnM@tFz6yOL>6~mc9yZe%0X?4jF;$$rHL^WIgI{XDC?dLek208EcI374 zCd5IuuQu|ewHL_>bjcmTqikp^W7(yuxn~CNqy3X(0!X&#^;pAYc5)HohagADubWY@ zgb_UXTe^_=+P0h9HawX}Hr@%n2?a>PujR!z7~+d~c6Oya=n)?7LFD}^v>PE-$-VYh ztE&Y1IYXI4%>`~RdI07!yG$S95E;iR6NbIZRyVHWp6F9!KaCB~38w`g# zKLNU=R?{eo1j)5pgvMRDl#I4{A&&VpyDq8(6lU|#w2z^;erS}ere?O2`Hm*Z9(t&F zoO?rAC^b@N3Nx;D`_$#8jvocBD5XZ2WSVbK4HEZzk)E6RS1l=Llv6OV?(nTneWJ3& z5<9)loRMSzP+G<=tHqpAZz#v8s;T4RxFHiqs<`{4Od6wepVupb+7&_zMTU+I^r0t_ zN?e1)AYuccSX78)UCoc^oeQ(`;v8}mV9BvvhoH%h!MjM>ifWbDU%ab#8(1{8C>(42 zW9B;BEK(9-9E->~4MI~6P4SgYU}2z$sO>hTJcNRHMdQzdasw|Tp{J>s&*TnWk(RCe^0wva zXP~NQa&d0+Xd0K{(+4}?RGtn&efG-7aLe}w1HMduT!0i9V5gHhn+Y`KCfR$1|JiAr zpm@0NfPn7xH-7e?wZ-_4c;#Q!*59v?s;#n;Ae!%6Q9UgbMHaSADo-Yce2XH@@Hn(3 zDBKKwJ%eCthZ<*pmnT`-1QsTCwt2)uaki{r?U^J*N&P89_nZS>^Jy+G;2GzM`y1=e z_kI5S7*AZ8m13C! z)&Mwp6WuofJg!wbNc(0FGjJTd^d3bIY>=;YPjaeb<$5Z5U!z64hGsD0DG93E8ArB< zk%WI7D*^P_axfOH7~g(mI{lVxSDdBSY-aV|ab9>3XCJedGO&S|3*bM_=;_ZCoq=gj zQBRC|RA)z3#xv>&rwqu}8bw=-SEOgGO-xMRPCZME7&eM$oUS8;@sB7Te|WEVx+L3F zjMZlH1xO$o)v~P$HNkqUG9fI z1>31(CA?Ic;Tbn)LN(kDl48nL3Tml~VOC$MR*^5I+Cr*3!bqzt`qp{Dj>D%J5-HX` z+81IE$KnZMJd{pedEpjkvI!UMsmp(xzlv3hYlMOr!$CA(zXu0e!mq#|=BNZGHG%(g zPyTHjWO7jqM=U1=aX(o7&7_I<;jpU%KuOA1${boSUbl}?_5>Qn-e^2N%Qgb^-2Srj zQ%|S7AMxnG2c~+&I@`RGk#Sw~Jr+>6L(&y-k97#{t69h_qVI(?E>j4)gzfX_Z5E;Q z@v=rOa4wI5@YrPE8?6_D_{w)mzzS&(8-G~Go5vkOeEtM~QV3i>;C&WuTd{)r*5`kq za)VJn;d}q<0+nK%`f3TTvND2M%9RKqLs^Bf5g;Db>orIk|v{KN+oZBnfF>iTm0(rOnwKI*4Cr&JTFs z4=tWq7|bZkyX<*q&#CzmzV9!);~a11HI#nwxP{S}LYDAeLNZM4QYIFE zL{oYI>bS<6J3K>bvvpz$U>qUJL(D7yX1!&p?aJD0c1z8{+Fy%}*PzU*sUNBxQfNFC zX|>!eAA6iVd!2Pa%ig=xM@GQy8sW)G zl5ZY=!aQGN_$Cmb)r-E4$`vD16gN$YX@=RAI$o~Ze448>h$L3@!)Fd>nGqz*EGg(- zNlLW*`v3r*YMsR=xn`8;828X}O_2TXtXRY==09{Q<&O0%=*A{8Z`lq6w0IQ;}M`%wAB zfNrM5kJb5!e3kUWtYn3tUce8^^I6ZF^L^yI8(lHHi7>x_Yb=<4iN#s5m%7bIf&DV5 zAap^1V;gJfA?W}#z7px4F}xxj2@adwjO%Lo6PQ+MBYMopM+NT?-&;N?QneqLGsfOQ zD1P_&amK=Jt~xhVl9e-9*k>ZSfe!66A$D!=8O3KAQ>7TeJaBvDP;63dwBNWHZ_|Y6 zAucdExkT$QfZQpPioR!kKWq^@LHc830cPk}!uMhE?ad>?oaN3aftDR!mNiz9Gl+a( zGLdAu4X=U6!4L4P;Js*NM$%UmZ|RIPZ7rV7xroQ)=Ftn^{fefCUn2rYOqrT7V6n*j zHktafSpL~Y;UA0Tck*#ov@~p=0Fp?>GnsD>Zf~$Pl<3tPl-}UhOYj8A43XW)36U!s zdfpGADB^q{wyfLUE4nED!m$x{AFvIpClqnXc_@O%SF#Hkwe$z?2CjS9`N=bjgQs?^ zO^eDSbul|>>bE%s0+G(Xibg0M%h<&8RYc6Jq&KK`&`Oa5{01U7UW0rqRV_2`mvz39 z!_SaUyikiBRyCTnQx-X&=7T`HdY2U(HHEwd^}~VgbmN!ydCKZoNbKNfKJ2DuAS>{Fi9Ar`LM-=EJ4;Ct7R;;5w+B?W)7i( z%{-F{&M7!-F*;=15j3qdQg9qu*!Cl-gPB2Iu<@YZC=8AR88^;LH?A(Cv) z*n^;8`4Y3UHm;Tm1(9UDXqp5}-YPLe>B_z$4{rRH@3nCo`ZA)1)^ zH(9SbFS<=u7-i2rk8Ida)yadGMC^>}jtq z=U#JHQ1DnNfeT5yIztcql8lu1dnnl~r!f!W2El3rv}g55maC|@Y(#3|HI}mv+^1`% zjCHIM)iY%hZd&jXmK+im;g9r2TBRQ?iAd?{K0|yLvI|j-m&`|E7IDD32{Qz7)*!vW zp5yCNy@nNfY>>HT%D&xMF8u&A7vD_egcxAD*&#)>JW`Lq_C_L{ z+a7EQhERxQCIqDL%@!31`)EB=2kF~4HmHOcF(?iVP)K;;Q+=!I19mMLg)?-A!a^lL zDey@YKSmYox9K=qZ{W}bR4*P74KTb4QGLCnJ;V@=bEd+?{eGF5Uw&(#4Fq-tnBQ>b zpE>`}q6Pn{^B-kA~ziS!~~77TO>TL};Zi9nj=jB|Tc`53-FJbvT(P~wp-1g;1M^aFhh z-kgM7VtXE<NX|YBmOdLhG zzUowhQmr|vVD8h6qgYJgi5OG2tt(7U;6MQip#u9 z5)O)S5$`x&kEs(+>70(jhnMNO7gQ(duMssz9&72*^`3{&$j6|C+r_Ane*B?LAyc`g zr^Hh@`^q!;eU8&C0CH8)o)>}kHHIT&{T*oi`FE*hZZ}M7>JlboBLi^*b1^235-Cy( ziGkSN>LS%>ZF8HlWMggo9B~-Qc`#6Ui~DRh-j~lqq5K!YZ1ihJER+`ZzpLD4Ve_oPE2~-F&rg47lJ>l+$w6 zJv**+%XkA?AHZ-*)~HvYn=Rft2_PFq8)RVSFiEms!Ts#JB1tz3IKUjF{_SP@^IM1I z|8?J$HMBD{|E~)^R~6k~O0yg=K>+nULV~wR#FUZ>CFt5!1f@-dve;W7ZxOFu5_Akm z(?-*=N^jk7%ewOr+tk)ty)U623fkH(CN(seG#i|zvYhW%%%?wnI@s;Lc=x6?ln#oj zuwg_3V5nj6BZ*tlPWch)9Ef+She7*e_%=T-gU>zo*&&dOm~Kl%3c;>dL($zIp8FQA zA1Z{}eueCMUHxKb?ONFXO-+^qJKL`|&)YRuSgFxiOVQB**;q4D+S{<4{;s6#eUn0P z$)W(8j8k=yob_r4mkJY=BaCvQI$~2qlK{Csy~@N?5NFK`kwMs>(!~z`G;|C@nA6YQGN1-?O$DDW0i>ast3xE znUxTKXn6XX1Z+xqhkgewcyXlRsx4hhsb6`~+abb-i7Yc?S=msb!&|ALJoVA5@&avl zVF-YH=T>?A`2HsK)!#vUF+DQ!)T_(teYfLLWq0+7+bM)^;vgbug1HM%sNtnG$95m^ zzr}INvydkCz7s?rEq!oCN$5~z6ir;6vO5v?7ym~H=!GkoozB$s>A8h1U z9SBpsxjMntFpV2a6KJ^iAi-&Z{q?)Dm{PK}zlPvDl^;;^=4H`zjADnJ*^WtuKe+rl zjKag}qd*!4yJIJxU!a)nKbo!dn$nCq6itn$7JiW4%NhbVdzjdPD6oVMWxaV|%F`v~ zlznG4s%Gcv@NN246@D$kncdLGpijuYkN1pOO0v%tmV@BH1(myX_M?8GZm;|^9IdN@ z$9zJq%*oCHsbTmmpi>6z%i)%reK`8+VsCuc(IC(;NCo9bz!8oQ{n10G-UIa+Ln*?C zcZZ99`h^o3ri`YL#ousamYnZ2r_;>%4wAlQiY(QTJIbM-aPiZA58->A{A+{B?H%Dr z2jq>q{Ps~L^2bLN)xWDoQ)3HdQ*&EWyZ@q#Do9KB3t(n4NM^7WBkpQn5$dfHLM{|| zAj3k;3KyniH#^!YXB3i_JrwX#YJemD)UkW8_4z;y$I{+Eb?W{7?&TVG3p#_H^^hC@ zMV1H?71xUXqCpDwn*T1|P>_;9Tv8DH`5+dnu0W~~<#x6dwh=w-6kmHvk}WkdMo zJn5&K!0^Ov#@Ij&@=S#>xHu+d@fB-?V+*7Soq>e92^g)K$!S)ePPYnaM!9(!$%_v>Mk!I3^p9Q%mg;t^y`=3=!^e02`s&lVSv31zM zE_4<{HKEi8i3`R{gugLOxL#oG*-jd~_hL~Y&?Kgvw1q4f)YvvH7;+3Ut@MVlVL^2s z^$PHOHKv&!#NMS|dikW~^WeN_s*{7U@$hS(EF8LNZ6 zwW*zqp`E!auqR5I0DlupGfU(Dq3l(ps;!QriuNLB7YYDtoS6y9XI+|GAE9iNfElDt zWM_)CVx&{kmhU5#ku<9(N7eSeqj=aWVCYJ2qOGfc`*hmyZiwQ9AJwW5BqgPZ*?9^` z*m>#l;o|B3@v;l@f#yNSA4(4)2lgE(paeghAxI6?Om#d3|Hw3ysMa7gq+w($YA8bR zmS`le^e}XcQMdVc_0FY;s&PNrjw8q{Z6CF2rncFYMO;rSzucVNb)Jb@Op`OjG(IQ9 zn5DKd0QhZ|spP07q|dvdK1I3Gw=t?|q)gFZpnIC=;;9ri78bz*&2*dbw2Qu0UW3V& zwf&y;{=$<^(`>M`*jVI*cFHkGHFEpMcw{4PLGjnh`q-Dy^0ox3J^d$3=Ait#@1N|B zVWVwR7g>j`0VVBsEuzlWs;p>{#zOnwK?51mk4V44qhnl=52`y0N<=w0>1v}Ck~K(L zdT0{g?F>dJkrWe0gZC5G>9D6qrGM5$b&E%nhYl+oFqmRa(Qeg>mrnAEUh(lTxQxl_TDp z$IuaTgayPjYe{SGWie!R$DF9uij)izOyc!x4OC>e8*Ntg`LqUu^;SFM2X9|bcZiwv z>e)>j_9>gJtKLhtEQ?AuUkLOff3?lu$>!oO27Og0jcx~!4BztiHzhm}P`N*)GBfKG zt36W;0esN=(b#sSBcwk)7FKeQwvZ2-i&UI=_>4E>yXULJs*Tg1WJw}FwnHn=;UkyV zgqjsW^@p0U^G8Bh%@*xccsQ z%uNaW#;Ye5k$7ums0RLv%6EH+k6ofh)O$JEh^M=!Vw^KWMV|Pt_;C(|6Zc3y(S;c9 z-Pa8ldOzAu;vd2`sPaJoNH*^ju}Gzap=TxFQMV-{4gAIS=;GH4p25-)A?EM{4yz2!Uw@JspkF!{Lzfr-p4&pHwBO(!8S~7<`A?<&Sur(tfQP!rAS*tat>GbqLSok#ZXvqh{QRA^p4&Tio>( zyG6c4^fKbwfaziH|J+(iEP z`j_jq0v-lrVpK^s&3FqT25;!l;tyCWK&$ZX!8M;q*JE!=u}5q!3BT)!q5iUph?Hq) zM&Hkvl2c>pZGTY9n)GfrOy7-=%x*`L)u8SfI}<)kgVzOe zwiB{lgP7MezYj=WsNd}+5^vud#}WSct^Nw2x~r`3ua#EP5dCEbFb?GZw%v;T-$d&7 zDFCpuqADW2AfPqVepC?9i z&EiKjo)OK1^~e*m;!<-D+R4cPN29{q0K+uoab70oc^*-cjD1f?dwP3a>?w2kA2Qtw zO|*}eP{AFBW_`rj>Vi-vADf+O1_Gw5voD8KxLcJ~#NoSlRh3gz=G<_0Ot*vz`j}IK4FQ`AnwiE!CkCa$QG+}bJqJU+R?7{Oh>F=- z`CUOf_ZLBCpNJ;z;w*yW)Q~#8VU=?8CjgGCj3zvYQRfkE0G$objoQ7(+gV(FgbQ<`$XjoaDmv5 z`9wDqo*s)7Ww^4_m2~~V?ovvN`}r8^l^{ieG5rDRK^*IXMuymz@kkFkweqi-|& z!g^b68J*(M>D+ z^5OMEW|<;WH9!OG4mC>az~yQF06_5zW9x3A(?2gNQU5tul%9*dhGRnk&{fmMiG670VCKz2okTOPH!ud;{GPr=wJEgCARx zF!|*Ske^BREQfRJsgtd7ek4(0*q*)S*pA3CmXZ;b#wVY1W}cP-zEbAaH$O}F!D120 ztl1z*KHkhJE4{$$k=nnHTi-SX-+O_BjQXiH^kK)U7?CXD8MZ03FjC!1Bi6Ajbd7oA zjL2Cm9KhAafb@n@*nnD>DL<2}jZ={fNf1An=tn&iLQpr!U3E;#I88-wWc3>S7l zJqFd-tinEA{BGF|OnOhh;c+~#^qvm+8Wa!CIQ;A>NdyS*P_nw$2NB52paENHzVORm z84RwH>81wE;FRCKiFp4&;o|?FGFaWh(%IoppXQ?IpYJH}Mq}236@7xl1DF%HdQx>r z3hysxZrbGH7hTv*P>&kE%|IOrqc1;!LcAKj@aPM;6GdWruI?)oiDFoW8$*S2Z*K0j3edn7U(w0GQEE3{Eai67f*wOqw$ZK~$=GU!UxKJoEZ^OFfidCv?J@l`YO?=7MD6!CRb}$0d*chcpPa7n+?zZF zSXu0dU7<|1uZghWAmtKo35%$AdU_q%%hp`*RuFdRJdhE7*?>ZANqWEzRA#VSC4eb8 zrG1<5z42*i;CXqzA7*%?&3J$$tRpBSj6xNHH_XF~$id@p3;BKhVy&2BfTCgL9^q51 z%`Dz$-3<$8*g~;YiFHJYqshxV313(QkL+} z3RsEk?j6v{4G5<(%_}5U4Oma$)snfz+fv|r#GvIPgcSyY!U)Tl^#z3-Rbb~qfHGV4 z)@{^~R=o}BT}UvrbrTQnui+|tj?!ZrW)GFxEXVS;R{2p{o-ssW&=(@*I5*OSC)CG#NS@xE<(qYt#s;xF ze5TADbxAI<3ZqKtS!9i5Kl~C-Hxc%608g1kw2VmqB%52b&|3rO=ZQO+ikSqr|MO!$f2)Sot3q zX~DiEPsM*3d|>!N!v9$$;4etHq1h|8*IU@J&O>mp!F4c|^%p^7trbK3jUYS`o}maP ze)?Uwqs~R!x&vY`%T@^8SFZxL+L&M)rxl#*Yzvp5+sbNFr|J5yC&J@+(B{j@x)sAn zpX?>ay?SP7S*O!zUp*|o@${`wbw!Xwq=vNSe;SD8-nnRsOqQw8!bpP14i%=!{NZUyLbNGml=goF3EbkK*bj~PJ)u@1K&XwpRZP!q*juz} zy~R4xJj7nP*0C^qn@;3~~B||qj8orW?VauWs~X#e+{CdcvFE% zI0~{Ld97Q-jQ$Mq6KjQW1hMl1({=IR&eH$c%v8nH?jPuhQJn}Nia^Vw2W`Lbss-3^ zi*+P>LQ+^oq~|8DO5o=3jyPL(8-zEpm6FYjc~d39lh@w;jqn2K9`u(H`~}}yN3BnE z=HgYABdT_igb(C{R~PJQ*%xEeqTXotNla0`8U+-JJ|7G%n+Zv zX7K-QX8Pw!;h&iy|2qu7Juz7-y7H*NDg}Esqq2oSQ$&lHqaRCF5}*TBvQUCxvK;LB zxY7)!YtvGw9rUm#e+7kE5Dp(s{&TK*HKj%AcAs}^Y6cXyoXX;JHuwE0#4P}NqIa9S z3?B+kp#zZ0(^A|RyoXn1lIn0Pq*m2^r|P7$srXTQk(i;R{He>0@snF+(#MV=q{`Bg z6_P2qqHnwDTFd3!VA61!G2lREV;8C{gPMH(DwJGVq=Y2OljtV{(fL=3kEb7kK8%Ej zsL?og_ArzPqg01Cw&;~R7O2o+h`LDhF;=s1(io+PZ1AdVR!C_sA|~2&79T-L5{Nm> zM=8RzIAjpbfZ7}&dge`SY0bG*bxq9Rgr9pjgn~q)Gmq8%hznVi|A3PKP{wQ96UMw3 zZK4WkiJPQ(pK+SXm=Sr-$f<;8g!y^F<>k6H{-7x{ok4jZ4I=Bt zVTYMer!jGRRNkjp(Lgt=NtAvl#QJ3}3@++saQ&-jzV#}+)%yk0?j<4$yOd>qzE|K%P1bH+^`DygLKHtI)dNRQ#KXr4>-xyEH zIiEqHV&n`#SKU#{E#uUChu}C_RQd~YxwQD_;$qwP*hl*~#pZ#u;HF!A@F8KfO&Vf) z5BY%;H?;s3rkqFKOOx=MXxmi`G?{Umrg?xue)I(ekj>B2-&unJJikgPyaK^zzcO4^ zN1U|t)UqjqxJ%nseM&P&OY=7(3K~3LgTWDzP$o5#zto1F4!;Z_Znz8LhcnE8uAxMs z;8=wz=<9S7iiWPCim$Edp$*a{K84`jyB10ylvDILNbEMQ{W8NTh%sqw5enJ;S%6?o z=-F+CqIrg&#{xx~UE$sw=TKQ&)l89$A$ihQFOU6=P_d<<6%@mgMbw9bUsa`8`hnsG z*jzsUHb?ris{Ywq;(t}uUvFNPs`aloPgvTMvoW!&vB^GB{cH|O&DJOBt!SBVZrN3W zrU9(BVap1{+CxTUU3lT&O0iICf?L9C4EM|p2kXxJQ(wL=UtGKcsWhI3gL=|AJa91j zK$OTqJ@$Q3SX#9*o-sysaORt`ss169mEkmHnA6-0ViR$HPja#KqB!7WdjdkT_bgqF z9@?43X)729AEQI*4mSaLT9{EUUoDni^ygZ1Uw`MOhxQ5g0~sYJ%JCqu3LQ4h@-Ebt4>7A+G!29 zgp_YGfvqq}gago$xtek9uez%3I!bD6X(R>-h|V`?X&!pkDYGn=n;pixe%y8Av9210 zbrvDD)~JsT9!Xi1WQrzRw~Sk=d0*JLpv1YOk!MAbuE!`>zbYr2l5#h`MIUjjche@`&$l1o zk80HI%E8)06~ZKWa{O+w_WqRzEHI{dvym+@qR`giz#nTvx9b9fymCfb>dQ1X8w-O{ z`stPjhLxt9KSK7Bt0DP#xhc#?ZrhKaVhzJ|G>~pwy6v8*;Ry-#8J^H%Q8!0ExhfPkj`i$_mP|80PEFy`5SQ4uz#C_-S&HK% z0rC+e;NV&KZ;g>~g-u4~-9nH_SI8n~Jfh<-$(wCfK7~+jy?|`4Ij?`eu8C)blu_^w z6K8*)Ucc@t)=fMEla>E~DgR!8;+?yIITimIOx8sZz0&$Q47{t5Fj~UrBM{w}1&}Dk z^)pSjSxwced9Xs8!^j^8ant#A&b18)l?mDW1*bjEg*fVGx$O>H5Z`_j*)(karRXGm zi=HtAERez9z~Y~~GlG8vi@>M%uaZbo(RQ8}!{j@WM*A2X1dc*)IgdoxB_JcT8k;U{ z*%K9oy2{N4<{6*mN?c18MGJOxaj5JkT%v5IHJ8Vd#eXmE`d&>fK~4D`BmRkY*7MY( zUB&ZFje9qkMlUKV3@Lme=^Q39rk`DBV+7v#3Jt#zc3PkbCOHsDHJn9peEs-)aYK2oNcqxrDs`nxoW^(e;&J zLC0D>F8N3cO15ZIMl3UtGq3@a0{2__Y5SM@FN&a_Y-}waWZl(Wmvl>PFOr;8tC;8< z<%T)D7ZugyEl&dmL?>!RxGO%ym)Wo_&+rgPP3(~PE2~u$b!>%yQ)<%fmR`1TE#bZV zM9LI1u43|5Pk$aN!?e>=)d)n>zw!8eZ?C{(+Qx`9n#)At!TYD@wt;+K`Igk=nm8O3 zX`-EqY*Hu%@*w0ir58j8B$Jt6%&uyzG)S-`GhQWN^;~ziKys{p^g~RK< zwtm5BePk+o5nz3>iw1x`zUdd0A^Lh z7y$4?A)iuW3dW8TDPAaX@rd@Q2 zAIs`7AUg8PNLrJKfmF@Fy7N`!+t0hSaf5k@ z){avCiPj>?AxaUBQi^^{B5EN@$-9Xeg_TH}gKi=#1{F$;DI{aVO+rqOh?Sk9M{-1i zi=9=Q4zEWO--Ih)T?*Neozzwyv@>_H>2n9NqVnMBhH>7@lit!vGUnND&s^I9=q|cv zuFK(UiLSLHX)j7=>_omxBX{M~Eq22oYVH1-^zgeJak>ImB{9EM@SjiIKg&q}19+DG zdE0}TSwmM9Z?OY`J1`sK5g0O%=NQ{s`Qqm@NJ=?)j3r_lpB9(ni zLRU5%%wQFBIOnBwSCY-cr-CAzR#P4=j{8YO(7PSTKaH)tR}XI_3c~TJR<5HhA_VxV zC%9+L=$EQkDVOsi%jU5V;PoBmXbagFB?8S2qmaq51GaYHFz8MYRxfSeLsy0p#1)C6 zb^Ka6x7Cw&mjPSUG4SudSI&Qi;Gd72{s_VEz*$XOd0qhRC0Sbv1{6Z@E3s1@8DSm- z8XYlczG@E~dhivQEe3RQqNLWaxL+(Hx3Qs^*)NTuhHWL=W*MOJ+3Cs!PfKU!kC&Sp zj1N>D)*|p$=nG|~;$Zz6+$}YJk+wV`=ci8JduE)IziDnVGFN;8Ow;dI+B%zCU76oA`A4p zgm!igW&}F20i}uvcK1=HJH+}QQE>-CU#j!L)Uj5t*Pq^Dhs2?KE{r;r;wYv>Shr5i zY^Q449gIaqsWLXx3l0Y!ip2!zq5HIs&S+8hjxXTLA7Ejd$&OD>HWi9R)qDMrKn?Je&IM=3rZ z1qH@l#=Qd2MqrbTVYVzROVC6Pv zrd+m@m3%J_~E;PqH3JCrit7r(~;WXIVzN6PTox!mTQaRyIu;Nn8D+ijuS| z**BYb^&XMeJjV#L_R=B-12LXH_%qDs3~@}(0R!YLR=9baJtQq;qAJ^SX=FMrU1V7! zg~pjI;?M3o%rf(zp@N4nj~T;}R?aDGG2NL$yuyq^6#7|tuDAs#x7j=ZKFY@8VZJ;q z^IO#emK_K6;J&f>HAH0=1;n)|oQLHEidHv;pJJexg+_!mi2G3I2AEEWTt3o{!@v;p zQcMbS<&6q!kn~Bi-baXGa%KZ;VOTRz4(34WO3$Q zFEAsXJ5mewEiEr6|T8us7SG4;O#Bmd(}@xN9q*1tY{l_}{= zVT)80W8H)2h}W(a&_s&D)I23&Uk&8YtSujzF!^ZkPw`*&|9h|U7x=KIlz6}n2aHI^^`y8CZ&%k4&8z& zR16l_$gwMb-k!3HaK7Xg7u){%RlfZ*dRzb7C$4kD4|(k-Ic65?325&Im?GoSAF!yp zj_4&N6^(HX*D2JCwKyj~;x&1U?Kf!&>Kxqf&PI>A2j9tL89n%tQKIh83uP{8&M8*e9X;@};AkM;I!qrN-%P1m|8#y;R}ixKeyd z;Qq9x@hP~j_X7Tr(aJ~!o2**l0k^4Egz*-YE`}I$O?q)IpGUbN?`K0yds;Lxpu?X_ zdkYaI1Njr|*t{(f9wnTyYN1(ktX8DL9S$Fufrk`Hlo);A;~@m^>}T~$*Z>rJ^%)As z+5pAyU33|#%yL3{$LfG!XRVQ18Mg(LU2z)j-dWLjP|}i&LU5*F{P#gZ|4(aY0vF@< z#_^G*i9$q0WT_-X2+5_i>8hk;4^vG_HIu0%TSZwDvh=@M?v0YjQn;n;LMmIXESK!E z)W5Psx10XYlV#pB@4WNQjQ_cx`P|`Sp6`2p&pFRo-*dD+>+YIzq3sOoW>w*zKMg$c zp{{VVR;v#QOQW}%ERJ&h66SEGhhJLlW@oS4(f8-3wcWIIjk)TZSADvM#Z~lkc$2bo zq;;*iTid@{=0)k;8@}+Z)%w3rnKVl}yJ+i3yeqn;!hvudc+rnz&(nN0$<_RN))!~s!P-9 ziPckd_iNeJwA0`?LqO9#wE*|jkws;L4AI6wT_M{IvKkbc3v?1bGQ1k$}7GF8%KUxGVtV_)l>Fs z#CJ;32=1u+aF(D|^ZLxv?yVQ!-TKDyZgka|yYb~F$(LMuOm{O&QT3|$)pLG^*Hx?1 zm{>g!PQOMiLC}* z)tdoJPR`&nasNfqUq+1nn!;PacjNPXzV9Foa(e_Zul<*o(-(ahak6B&N6I^!=-M8$ z#xA+=*{dYwO8TaxcQ?{bWtFZd^E?`ESUsi=c4^d{`&_JVw7gx3&>e0dcLbO3eX~XL+l}@qq8;{)lST$jp-|n%4a z`-#v3Y5F|4Etio~e~`-}82a<Hh4H%3nlUsmYx(LVc1=7Pa)zgYCFbkctj zD~NU8b@_3(F2-+@@0tXx&3NBq)=Q(J0kxxhTvoli;IQ==Uhd*MM;_(YpI9-*csB3e z!|O*q8lo>x*|+qWZJ9}tht^cnLI2U%Jfo)UbCBMs@~fIf$0MuFOY;|9Yly#}nD_4d zh^f32>v!s=7tO9poqXj+q?g{qZnyR~HqD3653x?fi_%hmqA*Mm`GyP+F8w)3^jwQ>om@ZYuckjnEAopZO?B}Z`oix{7{nLQ@CQ`lI87~{AoLe zgp`jGojLtzOtT$x{$ADc?-d=-+Qs%vs_wKQZRYxC2Yh;!>_`?FZ7sg8TQRx*zRgzN zz^lGBw`wjdzr4;NxqQ^MEsNGTEHSj7{&H-6^_;HzRJk|iaDTu0fV*hgU0{+idGpR$$~J)Y_FDTTY(ZOs?aHtsLa*VN?jTdx>Xux(_gGuBUXYYPl^JD%!X zoO!Nza!l6`^EwRi%65-Bbu;#4%(A|R&i0(4q1h$!UGt<7`8QQhZdW<}g*P`cJF4-Y z>#z5$9eK2P*Nf{$$*~9ZF*t7U={i^)^z~|5<87wWnghKJ2$bU_!lN1oPNpG}v)v@? z0gf*A1HTkvJ%vO5I9ePom)rEyUfl|LW8t4$!AFbuSwHyGkDoeQyExk0xlb~6wnq!! z;e#aLBpPq;_7(=gj3)ChAQO~y^V=^12K$EaWd2T*@+%Ifj`&@OA72zq{#;U}&cx4+ zK~sFtuh?%t7YYOmn;zl2T-K1;7U?Ay4WWdehwdH*HgTHCXu~?p$6si-;KwFystfS_ zAFl;wiOazro=|QqHVEHt!{17Ot|pt4cys5%%d}tHI;vHC(v_S(?ipaC7C!j)x;Pz# zNo97cmzqf%Z&sb#)2(8Jye{sp-jqcofxu8GR(@eyViiJSx~A>#Q^x01Sc)a z%aE>)airQ#ES`9UEG|xoQ@MsbwkiE}gKtNnN7XEpE|vonrSLgNhvDIv2>`*@5yYu?CnkU`Um)}k;rlcd zRJz&0VD`dWwdMQ3)*JZXJdZf_)MhekC-4at`U^stOD9^c8$B`m8a!+@)F_-j5vSfd za$06o9PPI&)ADEpLDHdQnuv|Vw~1ZlvoBqdnU^w_q=J>_@FDH)>&9l+Ei8~PttjI2 zZu|W*rw{1S5lRRd3sSqwWml#es`<0?F(#e{HOTm7(o-JmbS>=QnU6USa>7fV@yr|2 zhpD}ptlINJLTv)WLZA}?agn)KB!ao7AP}- zLMpEY;~42NOj<7J8lhi{c87o33lClnA8fA0$qni$gLOVHG)%;276%PyZtNeS2QGaE zk8LKl3g0F|xs=B+qbg`#vsu48cy{AjFi!@QVh99sn5WBuo84ySg_mHQ+5)D@>N5=X zVMsUYz!&gEyil2eYWJ2i!|}!}dShV@;z+kUP8cK%_Jeb?-T1+QJUIDPw&1Hbp7hj# z$8G^Nlx!>ALYlNUj=X8}C}(h0V3 z7^if=cz#5pfd<2k6mUDp#8J$LW-Wib5B*5 zj0XmAnxg{t8RbWc`kla<10erlXqm`(5MZSUg|0nXZ&jVCw-hSCE+CNBLv7@H!?oo2_j5b}v}p1J=n}JHd|0x|6?`h$o705{gIpRI@mKaPsrL{}4nML8DJLA5IP| zW<5gv14HOii~y@A^oRHh>rf z;7lkZl$7A1FoUt!AZhc=QxCAatqvr-tWccRO;wa6U9VXFzq_z{wE?}Lo>CH=o5E21 zzv*Qw3=H=37sw%4S+A(W=>WJ3^$gEH5vRzRibG^7*71;q2_D>C4JfjMzj>CzD7s|B z!6_cEP27${7V!RaJg-umGUl)#?EOX1F!)%9h*(rZ&c2;Clgojz8A7&|7y{p}@RZ^( z3WqeC4kuFI0Bt4E$bM0GA7yBC?JR&2l-Xs}0muP;bSm&=p|B{1*4rm_j_0buw1AOh z8S!j&JX>CzV5g_-%IGW< z3PPYZ@>yg;%vQHpLq~`zub|U`2epe+%tB=_jCvt#Rl~ZExV?K5z{mhIaB23z zKJd>R$OaxPL4v$t6NEZ>W@os%-RNzs_4?V7Vu3!PV@oP{w;aTw)8+QbN>IGmqu1M-n^?LRA(q0zOo0!nGR^CC?sjm#mu6U; z!VE@#ASr(C_S};|as_{oU79uVijwHQK*H%N*N16hWJF`rEAr zr#C`#U`-U{OPiDf$yDyNQE2QhfSV6KB3p-3Ta?1lnvX zgzzT|{k_?`8_0>Cu65TIGI9^ft(CYm!8hAlTQl4`Gb# z)8xaXl!6EwUSOaX&pSYRZk|tA^_TSSlL}NM7Y8SVNYT0!kP0*W7-WeZW_P07f>Uad`@Zh|`^@ z9Ri$c8@eP|a2m852sBc|>8Io)eKX%w`dAt|1O^x89)1ql>eiaWaU`6!2A)G64Vi$9 zu0!m+vIUn%0M?$?zCJ(qQ&_qK5!b0wvmWen96;9bL@w9mD~@xG;0Xl6P__Vx;KPr< z#9RPq97Otw1o+~`{|{KE%$fUzVMTyX0X*ql)q?*Eo-Q{o%g1fiUXG(sybuJY(<#ZZ zkR1yrpnY3v{C1W!wUXfC<@i(Yae*-ZQdGG2gK)mJ9+>m2wjcdwa z7(IosQU92Y-v+Q|AQ?H9_PwD5jP4hN)c@hU3&Mz$=)x;e2;vaxEn=G;MBr}$rdBw> zwWXE64bc9vMHfmzpaEry*}Si1)Fr^q1gtfs^l>;BZvPZkx~yim9@JwS+XIlJ3Eby9 z3gKAdH7Z(n=Hh|}P_?$eT$nAv(z~ZLOQx7}4O7Cf;rj&DfNcEcJy4cN*Ae^OdKUGq z%zzXRoru0f-da3jBT=qnriKfgCb%=pCoBuh(L2L&Pgu-Ky-QA7{|7m?Q%6qKg2x{K zLRk@yzxSz997eYwt)rKge#u=zHEP3c&@1XsD5F;+FM;ky9Qijsa=j_N$<+VA zZh5>vEaI}od&GF3E}a(-8F&U6Ae&6fkIG;e)k0Xr-p8BQ0&D=l$R=~xXC+|Lg?kfp zcmNEPr1Uim>*at51B4g~s45e_j&57owW2jQ;Kgi~*!42DrSg!Q*o z>D3Nk`(YylS>h5^m4HbX&h2569qy6>S4d0_wSkpfwva1_WFLdv##lnDaSrCu$jL@s z*o~|RK&Dvxs*XExL9FA@Qy~WddF>U#NSEnl@q|>I;-ar^_kxC=EfZCB~ zNpHwQ9+WO}qQ-c~}ul{7ETjkv-WMUyr9_DQF0(?K|2ZTmDK2$z(xG=%qM>Q8PpZPiPpo z5>WbpA`9AHLxoXv$#A3ksi~vW&w^y;;2Jylzc_7xefcuo^5Ygz>UMY*0TFpW+1&RW z;3h+0BWHNd_x)KUqnu6P>#A!C04xBojX0z5?caVs38ssStJFKw1pz0(Jl@7jj>pVR z*9(hi_)%4D+}KJVDh+a#O^|zY4q`kKvoc;nMsSNhImWb~s0@ZtHH5jh zu`hfDu%!Sahf2S>D*>Ymhg);f2S#*n2Z8T5a1B|8UwW`WWbMpB(`LhhH{d9YzMsK$ zs@$fTBOfB7&D#Bg8*|1&MJJap=S))+!RQMFS#l1y#9lJa!Ve*;dKSFvEvtQS70dKB zFVg++I?7NB2Nv`h)?!b&0W4t=Gjj8l^MM@j_i7j;SrHj2pQRK>rfkboRIdgA?GE^d z94={iDMO=chu!g4H@JP=!7(_*BwN-pSaO!-99dg(uv<_a*v&o@RD$UiiNLkaUtY`1 zB^U{sjf?N$E3PedB|B`p<|#;E^aOHR+6-y+1?u?5Hj;gWP4gAw(0zdR#|O21x&&0( z0p2G2AXQ=V+GpC1gZ6_}JGPz&wspYI#zeU-3YTr)onc)AL+q#zaSO55(VN+Ii)34! z1TQhMH?zoy`>T@~zJEn;W_K@En8D~{Y|uZ!(HXeApWe(KU8*RF?qwv@ruq4xUi4K`HGvx&{aW4pb*eUoDD0LBr(c|Ih!PS)%`T^=p)W< zYn0>B6~x2e%04}-$2laJ%a;f+HtU!;(r%%bw)BYhsW;w}P1VFWh3qq`g%s+Q;e#M2 z;&gC>A{4qtcxD3ij%9KbTav(No$1zK=?Lm2#pIa0ajU`z=B5#IL%kc;Ml2M3>zSx5 ziqSa;q+SF{_9iUurC@<_e5kK6{(=MNbG$%_-I zW^qe5^&&5_jvP;BHp_f@7hN5sP%puY_$>77S-C71D5 z!*4Xkf`&}$eJWUU5u*qE#p;xeOM$@2iIGNV!InPo82_(%*kQeA1GN}+8))FPrTYOA2d zLUqxgF8u^ui0&q_Yk$ByX^VF;b7#&u_uRQN^|79e%+AdVf)EviugG^qkYXlikOmbj z+zlW)$-)XGRg#p1{#Enk=gwuYnvg~vut6Cx^Qe(SwE-!w%-l8uo#sFW2U0pwV+I!7 zg{1+Mqg<%OEQGf}!j=1|XsN*_ig+6)?t3NQJ7lkqey7XIM=Yi%tZpfAn*nIlc8CRQ zAz6nFm<&4`vEt%$-DS76-p%!xMENUb9I}HR8LVjGDua%0eGdb~PlaqFqJ*BrAvRJ? zROOMPg^l&41}vL|m*eB%Ly|Gif}J6}*?#*xGXMvQLEZ{g_H-OToF6(hj}$?7(B=l;iuYbM|oNw~H)F#a}$!7x{x5jUdE%K_22e6FL7s#MUrh986}2 R(~}D0Uq#cjzCb6Y{{Stal7|2Q literal 0 HcmV?d00001 diff --git a/script/docker-compose.yml b/script/docker-compose.yml new file mode 100644 index 0000000..52ab700 --- /dev/null +++ b/script/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3" +services: + ars: + build: + dockerfile: ./docker/Dockerfile + context: .. + args: + - buildno=1 + image: ars:latest + container_name: ars + volumes: + - ../sherpa-onnx:/file/sherpa-onnx + networks: + - ars + ports: + - 7777:7777 + deploy: + resources: + limits: + memory: 4096M + restart: on-failure +networks: + ars: + driver: bridge + + diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..517786d --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,23 @@ +rootProject.name = "ars" +pluginManagement { + val kotlinVersion: String by settings + val springBootVersion: String by settings + val springManagementVersion: String by settings + val asciidoctorConvertVersion: String by settings + val ktlintVersion: String by settings + val nativeVersion: String by settings + + resolutionStrategy { + eachPlugin { + when (requested.id.id) { + "org.jetbrains.kotlin.jvm" -> useVersion(kotlinVersion) + "org.jetbrains.kotlin.plugin.spring" -> useVersion(kotlinVersion) + "org.springframework.boot" -> useVersion(springBootVersion) + "io.spring.dependency-management" -> useVersion(springManagementVersion) + "org.asciidoctor.jvm.convert" -> useVersion(asciidoctorConvertVersion) + "org.jlleitschuh.gradle.ktlint" -> useVersion(ktlintVersion) + "org.graalvm.buildtools.native" -> useVersion(nativeVersion) + } + } + } +} diff --git a/src/main/kotlin/com/makebk/ars/ArsApplication.kt b/src/main/kotlin/com/makebk/ars/ArsApplication.kt new file mode 100644 index 0000000..d884fff --- /dev/null +++ b/src/main/kotlin/com/makebk/ars/ArsApplication.kt @@ -0,0 +1,21 @@ +package com.makebk.ars + +import org.springframework.boot.SpringApplication +import org.springframework.boot.autoconfigure.SpringBootApplication +import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup + +@SpringBootApplication( + proxyBeanMethods = false +) +class ArsApplication{ + companion object { + @JvmStatic + fun main(args: Array) { + val springApplication = SpringApplication(ArsApplication::class.java) + springApplication.mainApplicationClass = ArsApplication::class.java + springApplication.applicationStartup = BufferingApplicationStartup(2048) + springApplication.addInitializers(DefaultSpringAppPreInitializer()) + springApplication.run(*args) + } + } +} diff --git a/src/main/kotlin/com/makebk/ars/DefaultSpringAppPreInitializer.kt b/src/main/kotlin/com/makebk/ars/DefaultSpringAppPreInitializer.kt new file mode 100644 index 0000000..9dc54ed --- /dev/null +++ b/src/main/kotlin/com/makebk/ars/DefaultSpringAppPreInitializer.kt @@ -0,0 +1,14 @@ +package com.makebk.ars + +import org.slf4j.LoggerFactory +import org.springframework.context.ApplicationContextInitializer +import org.springframework.context.ConfigurableApplicationContext +import kotlin.jvm.javaClass + +class DefaultSpringAppPreInitializer : ApplicationContextInitializer { + val LOGGER = LoggerFactory.getLogger(javaClass) + + override fun initialize(applicationContext: ConfigurableApplicationContext) { + LOGGER.info("Spring 应用启动前置初始化程序! applicationContext = $applicationContext") + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoice.kt b/src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoice.kt new file mode 100644 index 0000000..6b1af7c --- /dev/null +++ b/src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoice.kt @@ -0,0 +1,132 @@ +package com.makebk.ars + + +import com.k2fsa.sherpa.onnx.* +import java.io.FileOutputStream +import java.net.URL +import java.nio.file.Files +import javax.sound.sampled.AudioFormat +import javax.sound.sampled.AudioInputStream +import javax.sound.sampled.AudioSystem + + +object NonStreamingDecodeFileSenseVoice { + + @Throws(Exception::class) + private fun downloadFile(waveFilePath: String?): String? { + if (waveFilePath == null) { + return null + } + val url = URL(waveFilePath) + val connection = url.openConnection() + val `in` = connection.getInputStream() + val tempFile = Files.createTempFile("audio_", ".wav").toFile() + val out = FileOutputStream(tempFile) + val buffer = ByteArray(1024) + var len: Int + while ((`in`.read(buffer).also { len = it }) != -1) { + out.write(buffer, 0, len) + } + `in`.close() + out.close() + tempFile.deleteOnExit() + return try { + + val audioInputStream: AudioInputStream = AudioSystem.getAudioInputStream(tempFile) + val format = audioInputStream.getFormat() + if (format.getEncoding() != AudioFormat.Encoding.PCM_UNSIGNED) { + null + } else { + tempFile.absolutePath + } + } catch (e: Exception) { + null + } + } + + fun decodeFile(waveFilePath: String?): String? { + var text: String? = null + // 使用相对路径而不是硬编码绝对路径 +// val basePath = System.getProperty("sherpa.onnx.base.path") ?: "/file/sherpa-onnx" + val basePath = "/Users/gme/development/docker/gralvm-jdk21-tts/sherpa-onnx" + System.setProperty("java.library.path", "$basePath/build/lib") + val model = + "$basePath/java-api-examples/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/model.int8.onnx" + val tokens = + "$basePath/java-api-examples/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/tokens.txt" + + try { + val filePath = downloadFile(waveFilePath) + if (filePath == null) { + return filePath + } + val reader = WaveReader(filePath) + val samples = reader.getSamples() + if (samples == null || samples.size == 0) { + System.err.println("Error: Audio data is empty or null") + return text + } + + println("Audio samples length: " + samples.size) + println("Sample rate: " + reader.getSampleRate()) + + val senseVoice = + OfflineSenseVoiceModelConfig.builder() + .setModel(model) + .setInverseTextNormalization(false) + .build() + + val hr = + HomophoneReplacerConfig.builder() + .setDictDir("$basePath/java-api-examples/dict") + .setLexicon("$basePath/java-api-examples/lexicon.txt") + .setRuleFsts("$basePath/java-api-examples/replace.fst") + .build() + + val modelConfig = + OfflineModelConfig.builder() + .setSenseVoice(senseVoice) + .setTokens(tokens) + .setNumThreads(2) + .setDebug(true) + .setModelingUnit("cjkchar") + .build() + + val config = + OfflineRecognizerConfig.builder() + .setOfflineModelConfig(modelConfig) +// .setDecodingMethod("greedy_search") + .setDecodingMethod("modified_beam_search") + .setHotwordsFile("$basePath/java-api-examples/hotwords_cn.txt") + .setHotwordsScore(2.0f) + .setHr(hr) + .build() + + val recognizer = OfflineRecognizer(config) + val stream = recognizer.createStream() + + // 添加错误处理,确保音频数据有效 + try { + stream.acceptWaveform(samples, reader.getSampleRate()) + recognizer.decode(stream) + // 检查识别结果是否有效 + val result = recognizer.getResult(stream) + if (result != null) { + text = result.getText() + System.out.printf("filename:%s\nresult:%s\n", filePath, text) + } else { + System.err.println("Error: Recognition result is null") + } + } catch (e: Exception) { + System.err.println("Error during recognition: " + e.message) + e.printStackTrace() + } finally { + stream.release() + recognizer.release() + } + } catch (e: Exception) { + e.printStackTrace() + } + return text + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoiceController.kt b/src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoiceController.kt new file mode 100644 index 0000000..538c9bc --- /dev/null +++ b/src/main/kotlin/com/makebk/ars/NonStreamingDecodeFileSenseVoiceController.kt @@ -0,0 +1,22 @@ +package com.makebk.ars + +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController +import reactor.core.publisher.Mono + +@RestController +@RequestMapping("voice") +class NonStreamingDecodeFileSenseVoiceController { + + @GetMapping("/ars") + fun getReplyType(filePath: String): Mono> = + Mono.defer { + try { + val result = NonStreamingDecodeFileSenseVoice.decodeFile(filePath) + Mono.just(RespDto.success(result)) + } catch (e: Exception) { + Mono.just(RespDto.fail(e.message ?: "Unknown error")) + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/makebk/ars/RespDto.kt b/src/main/kotlin/com/makebk/ars/RespDto.kt new file mode 100644 index 0000000..2a1bd77 --- /dev/null +++ b/src/main/kotlin/com/makebk/ars/RespDto.kt @@ -0,0 +1,98 @@ +package com.makebk.ars + + +/** + *  @类 名:RespDto + *  @描 述: + *  @作 者:gme + *  @版 本:1.0 + *  @创建时间:2022/10/21 2:03 PM + */ + +data class RespDto( + var code: Int = 200, + var message: String? = null, + var body: T? = null, +) { + + fun body(body: T?): RespDto { + this.body = body + return this + } + + fun message(message: String?): RespDto { + this.message = message + return this + } + + fun code(code: Int): RespDto { + this.code = code + return this + } + + fun success(): RespDto { + return RespDto(ReturnCode.SUCCESS.toInt(), "操作成功") + } + + fun success(body: T?): RespDto { + val respDto = RespDto(ReturnCode.SUCCESS.toInt(), "操作成功") + respDto.body(body) + return respDto + } + + fun success(body: T?, message: String): RespDto { + val respDto = RespDto(ReturnCode.SUCCESS.toInt(), message) + respDto.body(body) + return respDto + } + + fun fail(): RespDto { + return RespDto(ReturnCode.ERROR.toInt(), "操作失败") + } + + fun fail(message: String?): RespDto { + return RespDto(ReturnCode.ERROR.toInt(), message) + } + + fun fail(body: T?, message: String?): RespDto { + val respDto = RespDto(ReturnCode.ERROR.toInt(), message) + respDto.body(body) + return respDto + } + + fun isSuccess(): Boolean { + return code == 200 + } + + companion object { + fun success(): RespDto { + return RespDto(ReturnCode.SUCCESS.toInt(), "操作成功") + } + + fun success(body: T?): RespDto { + val respDto = RespDto(ReturnCode.SUCCESS.toInt(), "操作成功") + respDto.body(body) + return respDto + } + + fun success(body: T?, message: String): RespDto { + val respDto = RespDto(ReturnCode.SUCCESS.toInt(), message) + respDto.body(body) + return respDto + } + + fun fail(): RespDto { + return RespDto(ReturnCode.ERROR.toInt(), "操作失败") + } + + fun fail(message: String?): RespDto { + return RespDto(ReturnCode.ERROR.toInt(), message) + } + + fun fail(body: T?, message: String?): RespDto { + val respDto = RespDto(ReturnCode.ERROR.toInt(), message) + respDto.body(body) + return respDto + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/makebk/ars/ReturnCode.kt b/src/main/kotlin/com/makebk/ars/ReturnCode.kt new file mode 100644 index 0000000..ac62a50 --- /dev/null +++ b/src/main/kotlin/com/makebk/ars/ReturnCode.kt @@ -0,0 +1,102 @@ +package com.makebk.ars + +/** + * ReturnCode + * @description:TODO + * @author:gme 2023/2/8|16:06 + * @version:0.0.1 + */ +object ReturnCode { + + /** + * 操作成功 + */ + val SUCCESS = "200" + + val UNAUTHENTICATED_ERROR = "401" + + val AUTHORIZATION_ERROR = "403" + + /** + * 9999:操作失败 + */ + val ERROR = "9999" + + /** + * 9001:系统繁忙 + */ + val CONNECTION_ERROR = "9001" + + /** + * 9002:未知错误 + */ + val UNKNOWN_ERROR = "9002" + + /** + * 9003:数据库异常 + */ + val DATA_ACCESS_ERROR = "9003" + + /** + * 1000:非法参数 + */ + val INVALID_PARAMTER = "1000" + + /************************************ bussiness return code ********************************************/ + + /************************************ bussiness return code */ + /** + * 文件上传失败 + */ + val FILE_UPLOAD_ERROR = "9010" + + /** + * 操作失败,文件不存在 + */ + val FILE_DOES_NOT_EXIST = "9011" + + /** + * 操作失败,请检查OSS配置信息 + */ + val OSS_OP_ERROR = "9012" + + /** + * 操作失败,不支持的文件类型! + */ + val UNSUPPORTED_FILE_TYPE = "9013" + + /** + * 操作失败,手机号码不存在! + */ + val NUMBER_DOES_NOT_EXIST = "9101" + + /** + * 登陆失败,账号或密码错误! + */ + val ACCOUNT_NUMBER_OR_PASSWORD = "9102" + + /** + * 操作失败,消息发送过于频繁! + */ + val ACCOUNT_NUMBER_REPEAT = "9103" + + /** + * 验证码已过期请重新发送 + */ + val PLEASE_SEND_IT_AGAIN = "9104" + + /** + * 验证码不正确 + */ + val INCORRECT_VERIFICATION_CODE = "9105" + + /** + * 注册失败,手机号码已存在! + */ + val MOBILE_NUMBER_ALREADY_EXISTS = "9106" + + /** + * 数据不存在 + */ + val DATA_DOES_NOT_EXIST = "9107" +} \ No newline at end of file diff --git a/src/main/resources/META-INF/native-image/.lock b/src/main/resources/META-INF/native-image/.lock new file mode 100644 index 0000000..485199e --- /dev/null +++ b/src/main/resources/META-INF/native-image/.lock @@ -0,0 +1 @@ +79122 \ No newline at end of file diff --git a/src/main/resources/META-INF/native-image/jni-config.json b/src/main/resources/META-INF/native-image/jni-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/src/main/resources/META-INF/native-image/jni-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/src/main/resources/META-INF/native-image/predefined-classes-config.json b/src/main/resources/META-INF/native-image/predefined-classes-config.json new file mode 100644 index 0000000..0e79b2c --- /dev/null +++ b/src/main/resources/META-INF/native-image/predefined-classes-config.json @@ -0,0 +1,8 @@ +[ + { + "type":"agent-extracted", + "classes":[ + ] + } +] + diff --git a/src/main/resources/META-INF/native-image/proxy-config.json b/src/main/resources/META-INF/native-image/proxy-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/src/main/resources/META-INF/native-image/proxy-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/src/main/resources/META-INF/native-image/reflect-config.json b/src/main/resources/META-INF/native-image/reflect-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/src/main/resources/META-INF/native-image/reflect-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/src/main/resources/META-INF/native-image/resource-config.json b/src/main/resources/META-INF/native-image/resource-config.json new file mode 100644 index 0000000..5a460dd --- /dev/null +++ b/src/main/resources/META-INF/native-image/resource-config.json @@ -0,0 +1,7 @@ +{ + "resources":{ + "includes":[{ + "pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E" + }]}, + "bundles":[] +} diff --git a/src/main/resources/META-INF/native-image/serialization-config.json b/src/main/resources/META-INF/native-image/serialization-config.json new file mode 100644 index 0000000..f3d7e06 --- /dev/null +++ b/src/main/resources/META-INF/native-image/serialization-config.json @@ -0,0 +1,8 @@ +{ + "types":[ + ], + "lambdaCapturingTypes":[ + ], + "proxies":[ + ] +} diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml new file mode 100644 index 0000000..562f59d --- /dev/null +++ b/src/main/resources/application.yaml @@ -0,0 +1,25 @@ +spring: + application: + name: ars + aop: + proxy-target-class: false + threads: + virtual: + enabled: true + task: + execution: + pool: + allow-parallel-ism: true + main: + keep-alive: true + lazy-initialization: true + allow-circular-references: true + allow-bean-definition-overriding: true + +server: + port: 7777 + tomcat: + max-connections: 20000 + threads: + max: 500 + min-spare: 100 \ No newline at end of file diff --git a/src/test/kotlin/com/makebk/ars/ArsApplicationTests.kt b/src/test/kotlin/com/makebk/ars/ArsApplicationTests.kt new file mode 100644 index 0000000..ba952ab --- /dev/null +++ b/src/test/kotlin/com/makebk/ars/ArsApplicationTests.kt @@ -0,0 +1,13 @@ +package com.makebk.ars + +import org.junit.jupiter.api.Test +import org.springframework.boot.test.context.SpringBootTest + +@SpringBootTest +class ArsApplicationTests { + + @Test + fun contextLoads() { + } + +}