From 28ce32af64d8c32f51463aa6723a43fe4985d613 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Sat, 29 Feb 2020 12:37:24 +0000 Subject: [PATCH] client: secure streams Secure Streams is an optional layer on top of lws that separates policy like endpoint selection and tls cert validation into a device JSON policy document. Code that wants to open a client connection just specifies a streamtype name, and no longer deals with details like the endpoint, the protocol (!) or anything else other than payloads and optionally generic metadata; the JSON policy contains all the details for each streamtype. h1, h2, ws and mqtt client connections are supported. Logical secure streams outlive any particular connection and supports "nailed-up" connectivity regardless of underlying connection stability. --- .travis.yml | 2 + CMakeLists.txt | 136 ++- README.md | 20 + cmake/lws_config.h.in | 3 + doc-assets/ss-explain.png | Bin 0 -> 384256 bytes include/libwebsockets.h | 3 + include/libwebsockets/lws-context-vhost.h | 26 +- .../libwebsockets/lws-secure-streams-client.h | 172 ++++ .../libwebsockets/lws-secure-streams-policy.h | 237 +++++ include/libwebsockets/lws-secure-streams.h | 492 +++++++++ include/libwebsockets/lws-sequencer.h | 8 + lib/core-net/close.c | 12 +- lib/core-net/connect.c | 10 +- lib/core-net/network.c | 4 +- lib/core-net/output.c | 4 +- lib/core-net/private-lib-core-net.h | 19 +- lib/core-net/socks5-client.c | 2 +- lib/core-net/vhost.c | 39 +- lib/core-net/wsi-timeout.c | 2 +- lib/core/context.c | 139 ++- lib/core/private-lib-core.h | 28 + lib/misc/lwsac/lwsac.c | 1 + lib/roles/h2/http2.c | 2 +- lib/roles/http/client/client-handshake.c | 25 + lib/roles/http/parsers.c | 3 +- lib/roles/http/server/server.c | 4 +- lib/roles/mqtt/mqtt.c | 2 + lib/secure-streams/README.md | 398 ++++++++ lib/secure-streams/plugins/ssp-h1url/h1url.c | 40 + lib/secure-streams/policy.c | 942 ++++++++++++++++++ .../private-lib-secure-streams.h | 347 +++++++ lib/secure-streams/protocols/README.md | 38 + lib/secure-streams/protocols/ss-h1.c | 571 +++++++++++ lib/secure-streams/protocols/ss-h2.c | 183 ++++ lib/secure-streams/protocols/ss-mqtt.c | 248 +++++ lib/secure-streams/protocols/ss-ws.c | 165 +++ lib/secure-streams/secure-streams-client.c | 574 +++++++++++ lib/secure-streams/secure-streams-process.c | 533 ++++++++++ lib/secure-streams/secure-streams-serialize.c | 926 +++++++++++++++++ lib/secure-streams/secure-streams.c | 569 +++++++++++ .../system/auth-api.amazon.com/auth.c | 276 +++++ .../system/fetch-policy/fetch-policy.c | 159 +++ lib/system/async-dns/async-dns-parse.c | 7 +- lib/system/ntpclient/ntpclient.c | 2 +- lib/system/system.c | 3 + lib/tls/openssl/openssl-ssl.c | 2 + minimal-examples/README.md | 1 + .../minimal-http-client.c | 2 +- minimal-examples/secure-streams/README.md | 14 + .../CMakeLists.txt | 93 ++ .../minimal-secure-streams-alexa/README.md | 77 ++ .../minimal-secure-streams-alexa/alexa.c | 678 +++++++++++++ .../alexa_linux.ppn | Bin 0 -> 80 bytes .../minimal-secure-streams-alexa/audio.c | 469 +++++++++ .../minimal-secure-streams-alexa/main.c | 417 ++++++++ .../porcupine_params.pv | Bin 0 -> 1388443 bytes .../minimal-secure-streams-alexa/private.h | 8 + .../minimal-secure-streams-avs/CMakeLists.txt | 91 ++ .../minimal-secure-streams-avs/avs.c | 418 ++++++++ .../minimal-secure-streams-avs/main-client.c | 128 +++ .../minimal-secure-streams-avs/main.c | 357 +++++++ .../minimal-secure-streams-avs/year.wav | Bin 0 -> 75090 bytes .../CMakeLists.txt | 81 ++ .../README.md | 64 ++ .../minimal-secure-streams-client-tx.c | 198 ++++ .../CMakeLists.txt | 80 ++ .../minimal-secure-streams-proxy/README.md | 33 + .../minimal-secure-streams-proxy/main.c | 285 ++++++ .../minimal-secure-streams-seq/CMakeLists.txt | 79 ++ .../minimal-secure-streams-seq/README.md | 65 ++ .../minimal-secure-streams.c | 443 ++++++++ .../CMakeLists.txt | 79 ++ .../minimal-secure-streams-sink/README.md | 64 ++ .../minimal-secure-streams-sink/main.c | 288 ++++++ .../minimal-secure-streams/CMakeLists.txt | 91 ++ .../minimal-secure-streams/README.md | 64 ++ .../minimal-secure-streams.c | 421 ++++++++ scripts/travis_control.sh | 4 +- scripts/travis_install.sh | 2 +- 79 files changed, 12428 insertions(+), 44 deletions(-) create mode 100644 doc-assets/ss-explain.png create mode 100644 include/libwebsockets/lws-secure-streams-client.h create mode 100644 include/libwebsockets/lws-secure-streams-policy.h create mode 100644 include/libwebsockets/lws-secure-streams.h create mode 100644 lib/secure-streams/README.md create mode 100644 lib/secure-streams/plugins/ssp-h1url/h1url.c create mode 100644 lib/secure-streams/policy.c create mode 100644 lib/secure-streams/private-lib-secure-streams.h create mode 100644 lib/secure-streams/protocols/README.md create mode 100644 lib/secure-streams/protocols/ss-h1.c create mode 100644 lib/secure-streams/protocols/ss-h2.c create mode 100644 lib/secure-streams/protocols/ss-mqtt.c create mode 100644 lib/secure-streams/protocols/ss-ws.c create mode 100644 lib/secure-streams/secure-streams-client.c create mode 100644 lib/secure-streams/secure-streams-process.c create mode 100644 lib/secure-streams/secure-streams-serialize.c create mode 100644 lib/secure-streams/secure-streams.c create mode 100644 lib/secure-streams/system/auth-api.amazon.com/auth.c create mode 100644 lib/secure-streams/system/fetch-policy/fetch-policy.c create mode 100644 minimal-examples/secure-streams/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa_linux.ppn create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/audio.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/main.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/porcupine_params.pv create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-alexa/private.h create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-avs/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-avs/main-client.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-avs/main.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-avs/year.wav create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-client-tx/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-client-tx/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-client-tx/minimal-secure-streams-client-tx.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-proxy/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-proxy/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-proxy/main.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-seq/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-seq/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-sink/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams-sink/main.c create mode 100644 minimal-examples/secure-streams/minimal-secure-streams/CMakeLists.txt create mode 100644 minimal-examples/secure-streams/minimal-secure-streams/README.md create mode 100644 minimal-examples/secure-streams/minimal-secure-streams/minimal-secure-streams.c diff --git a/.travis.yml b/.travis.yml index 22419b29b..b0b9f59b0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,8 @@ env: - LWS_METHOD=lwsws2 CMAKE_ARGS="-DLWS_WITH_LWSWS=ON -DLWS_WITHOUT_EXTENSIONS=0 -DLWS_WITH_HTTP2=1 -DLWS_WITH_ACME=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITH_LWS_DSH=1" - LWS_METHOD=default CMAKE_ARGS="-DLWS_WITH_MINIMAL_EXAMPLES=1" - LWS_METHOD=mbedtls CMAKE_ARGS="-DLWS_WITH_MBEDTLS=1 -DLWS_WITH_HTTP2=1 -DLWS_WITH_LWSWS=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_JOSE=1 -DCMAKE_BUILD_TYPE=DEBUG" + - LWS_METHOD=ss CMAKE_ARGS="-DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_MINIMAL_EXAMPLES=1" + - LWS_METHOD=ss+mbedtls CMAKE_ARGS="-DLWS_WITH_MBEDTLS=1 -DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_MINIMAL_EXAMPLES=1" - LWS_METHOD=noserver CMAKE_ARGS="-DLWS_WITHOUT_SERVER=ON -DLWS_WITH_MINIMAL_EXAMPLES=1" - LWS_METHOD=noclient CMAKE_ARGS="-DLWS_WITHOUT_CLIENT=ON -DLWS_WITH_MINIMAL_EXAMPLES=1" - LWS_METHOD=noext CMAKE_ARGS="-DLWS_WITHOUT_EXTENSIONS=ON -DLWS_WITH_MINIMAL_EXAMPLES=1" diff --git a/CMakeLists.txt b/CMakeLists.txt index 16003412d..e4bf58f67 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,13 @@ option(LWS_WITH_SYS_DHCP_CLIENT "Build in tiny DHCP client" OFF) option(LWS_WITH_HTTP_BASIC_AUTH "Support Basic Auth" ON) option(LWS_WITH_HTTP_UNCOMMON_HEADERS "Include less common http header support" ON) +# +# Secure Streams +# +option(LWS_WITH_SECURE_STREAMS "Secure Streams protocol-agnostic API" OFF) +option(LWS_WITH_SECURE_STREAMS_PROXY_API "Secure Streams support to work across processes" OFF) +option(LWS_WITH_SECURE_STREAMS_SYS_AUTH_API_AMAZON_COM "Auth support for api.amazon.com" OFF) + # # TLS library options... all except mbedTLS are basically OpenSSL variants. # @@ -245,6 +252,11 @@ if(LWS_WITH_DISTRO_RECOMMENDED) set(LWS_ROLE_MQTT 1) endif() +if (LWS_WITH_SECURE_STREAMS_PROXY_API) + set(LWS_WITH_LWS_DSH 1) + set(LWS_WITH_UNIX_SOCK 1) +endif() + if (NOT LWS_WITH_NETWORK) set(LWS_ROLE_MQTT 0) set(LWS_ROLE_H1 0) @@ -394,6 +406,10 @@ endif() include_directories(include plugins lib/core lib/core-net lib/event-libs include/abstract lib/tls lib/roles lib/event-libs/libuv lib/event-libs/poll lib/event-libs/libevent lib/event-libs/glib lib/event-libs/libev lib/jose/jwe lib/jose/jws lib/jose lib/misc lib/roles/http lib/roles/http/compression lib/roles/h1 lib/roles/h2 lib/roles/ws lib/roles/cgi lib/roles/dbus lib/roles/raw-proxy lib/abstract lib/system/async-dns lib/roles/mqtt) +if (LWS_WITH_SECURE_STREAMS) + set(LWS_WITH_SECURE_STREAMS_SYS_AUTH_API_AMAZON_COM 1) +endif() + if (LWS_PLAT_FREERTOS) include_directories(lib/plat/freertos lib/plat/freertos/esp32) else() @@ -752,14 +768,6 @@ if (LWS_WITHOUT_DAEMONIZE OR WIN32) set(LWS_NO_DAEMONIZE 1) endif() -if (LWS_WITHOUT_SERVER) - set(LWS_WITHOUT_SERVER 1) -endif() - -if (LWS_WITHOUT_CLIENT) - set(LWS_WITHOUT_CLIENT 1) -endif() - if (LWS_WITH_LIBEV) set(LWS_WITH_LIBEV 1) endif() @@ -790,11 +798,11 @@ endif() set(LWS_WITH_CLIENT 1) if (LWS_WITHOUT_CLIENT) - set(LWS_WITH_CLIENT 0) + set(LWS_WITH_CLIENT) endif() set(LWS_WITH_SERVER 1) if (LWS_WITHOUT_SERVER) - set(LWS_WITH_SERVER 0) + set(LWS_WITH_SERVER) endif() # using any abstract protocol enables LWS_WITH_ABSTRACT @@ -1165,6 +1173,53 @@ if (LWS_WITH_NETWORK) endif() endif() + if (LWS_WITH_SECURE_STREAMS) + list(APPEND SOURCES + lib/secure-streams/secure-streams.c + lib/secure-streams/policy.c + lib/secure-streams/system/fetch-policy/fetch-policy.c + ) + if (LWS_ROLE_H1) + list(APPEND SOURCES + lib/secure-streams/protocols/ss-h1.c + ) + endif() + if (LWS_ROLE_H2) + list(APPEND SOURCES + lib/secure-streams/protocols/ss-h2.c + ) + endif() + if (LWS_ROLE_WS) + list(APPEND SOURCES + lib/secure-streams/protocols/ss-ws.c + ) + endif() + if (LWS_ROLE_MQTT) + list(APPEND SOURCES + lib/secure-streams/protocols/ss-mqtt.c + ) + endif() + + if (LWS_WITH_SECURE_STREAMS_PROXY_API) + list(APPEND SOURCES + lib/secure-streams/secure-streams-serialize.c + lib/secure-streams/secure-streams-client.c + ) + endif() + + if (LWS_WITH_SECURE_STREAMS_PROXY_API) + list(APPEND SOURCES + lib/secure-streams/secure-streams-process.c + ) + endif() + + if (LWS_WITH_SECURE_STREAMS_SYS_AUTH_API_AMAZON_COM) + list(APPEND SOURCES + lib/secure-streams/system/auth-api.amazon.com/auth.c + ) + endif() + endif() + if (LWS_WITH_STATS) list(APPEND SOURCES lib/core-net/stats.c @@ -1300,7 +1355,11 @@ endif() if (NOT LWS_WITHOUT_SERVER) list(APPEND SOURCES - lib/core-net/server.c + lib/core-net/server.c) +endif() + +if (NOT LWS_WITHOUT_SERVER OR LWS_WITH_SECURE_STREAMS_PROCESS_API) + list(APPEND SOURCES lib/roles/listen/ops-listen.c) endif() @@ -1684,7 +1743,7 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG) endif() if (UNIX AND NOT LWS_PLAT_FREERTOS) - set(CMAKE_C_FLAGS "-Wall -Wsign-compare -Wuninitialized -Werror ${VISIBILITY_FLAG} -Wundef ${GCOV_FLAGS} ${CMAKE_C_FLAGS} ${ASAN_FLAGS}" ) + set(CMAKE_C_FLAGS "-Wall -Wsign-compare -Wstrict-aliasing -Wuninitialized -Werror ${VISIBILITY_FLAG} -Wundef ${GCOV_FLAGS} ${CMAKE_C_FLAGS} ${ASAN_FLAGS}" ) else() set(CMAKE_C_FLAGS "-Wall -Wsign-compare -Wuninitialized -Werror ${VISIBILITY_FLAG} ${GCOV_FLAGS} ${CMAKE_C_FLAGS}" ) endif() @@ -2666,6 +2725,59 @@ if (LWS_WITH_LWSWS) ) endif (LWS_WITH_LWSWS) +# secure streams plugins + +if (LWS_WITH_SECURE_STREAMS) + # + # Helper function for adding a secure stream plugin + # + macro(create_ss_plugin NAME S2 S3 S4 S5 S6) + + set(SSP_SRCS) + set(SSP_PUBLIC_HDR) + set(SSP_HDR) + + if ("${S2}" STREQUAL "") + else() + list(APPEND SSP_SRCS + lib/secure-streams/plugins/${NAME}/${S2}) + endif() + if ("${S3}" STREQUAL "") + else() + list(APPEND SSP_SRCS + lib/secure-streams/plugins/${NAME}/${S3}) + endif() + if ("${S4}" STREQUAL "") + else() + list(APPEND SSP_SRCS + lib/secure-streams/plugins/${NAME}/${S4}) + endif() + if ("${S5}" STREQUAL "") + else() + list(APPEND SSP_SRCS + lib/secure-streams/plugins/${NAME}/${S5}) + endif() + if ("${S6}" STREQUAL "") + else() + list(APPEND SSP_SRCS + lib/secure-streams/plugins/${NAME}/${S6}) + endif() + + source_group("Headers Private" FILES ${SSP_HDR}) + source_group("Sources" FILES ${SSP_SRCS}) + + add_library( ${NAME} STATIC + ${SSP_HDR} ${SSP_PUBLIC_HDR} ${SSP_SRCS} ) + + add_dependencies(${NAME} websockets_shared) + list(APPEND SS_PLUGINS_LIST ${NAME}) + endmacro() + + include_directories(lib/secure-streams) + + create_ss_plugin(ssp-h1url "h1url.c" "" "" "" "") +endif() + if (UNIX) # Generate and install pkgconfig. diff --git a/README.md b/README.md index 76d8bde50..528d5cc7e 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,26 @@ various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to News ---- +## Introducing Secure Streams client support + +Secure Streams is an optional layer above lws (`-DLWS_WITH_SECURE_STREAMS=1`) that +separates connectivity policy into a JSON document, which can be part of the +firmware or fetched at boot time. + +Code no longer deals with details like endpoint specification or tls cert stack used +to validate the remote server, it's all specified in JSON, eg, see +[this example](https://warmcat.com/policy/minimal-proxy.json). Even the protocol to use to talk to the +server, between h1, h2, ws or MQTT, is specified in the policy JSON and the code +itself just deals with payloads and optionally metadata, making it possible to +switch endpoints, update certs and even switch communication protocols by just +editing the JSON policy and leaving the code alone. + +Logical Secure Stream connections outlive any underlying lws connection, and support +"nailed-up" connection reacquisition and exponential backoff management. + +See [./lib/secure-streams/README.md](https://libwebsockets.org/git/libwebsockets/tree/lib/secure-streams/README.md) and the related minimal examples +for more details. + ## mqtt client support If you enable `-DLWS_ROLE_MQTT=1`, lws can now support QoS0 and QoS1 MQTT client diff --git a/cmake/lws_config.h.in b/cmake/lws_config.h.in index ba397cb2f..56691a30e 100644 --- a/cmake/lws_config.h.in +++ b/cmake/lws_config.h.in @@ -147,6 +147,9 @@ #cmakedefine LWS_WITH_POLARSSL #cmakedefine LWS_WITH_POLL #cmakedefine LWS_WITH_RANGES +#cmakedefine LWS_WITH_SECURE_STREAMS +#cmakedefine LWS_WITH_SECURE_STREAMS_SYS_AUTH_API_AMAZON_COM +#cmakedefine LWS_WITH_SECURE_STREAMS_PROXY_API #cmakedefine LWS_WITH_SELFTESTS #cmakedefine LWS_WITH_SEQUENCER #cmakedefine LWS_WITH_SERVER_STATUS diff --git a/doc-assets/ss-explain.png b/doc-assets/ss-explain.png new file mode 100644 index 0000000000000000000000000000000000000000..14bd7e793aa1208f84e7aaf1666a8da3a3be9393 GIT binary patch literal 384256 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%0AWf3kvulsm=GpF`~ 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
8ZjxUB>l?u+>{7en%WBdkFtZnEV!6Nsl=>#_ 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%0D}9oy0h?Xhf>YDx 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
esBn2X`E| zz#awATcwS{H@lBY2$$a|C0mQK8sG4+BhYPB7fR-(=SOTu%zTiI_M)0!1CfG7oHT$K zaQ5R4*lgne)G8dFWBE@IGNZ~vakicv7H$4PpH;{6fW1BRfI@C;qg}HHBxQ&J=$@50 za(FB(|M`sH&?<3ZXzDA@>DJWp38*(>%ei7ibga@8*z%|>--E(1o9*&e1IZ-4q|gNb zu&M^JLCsTXMmzbklCYoX&2MxQG~2tC3|LwD5rw0>n*@RxDGW8GBJ*}+*)ui;k%W8< z=SGRq!U*{bgH(s3C@PQJVvY=8qWHKjU$G{YS>%2TFAYC{BiLpI_8CZIwB|GJp|HKa zvtx<{CiziXR@r_9@7rh=Z*U%C&JJtn;L06yqMdZMp#^K1u5*o-Y`(XO0f3U8$8?vl z*gFxfE0O6QNkP9bIXS3~_CqzH_WrQj-R;;cv8rbXv?p;J6meEPuGam9`uKb|a=*=% zlErYHJv458o`)Sxv{%^cZV9e>A1(EBKh#rDoif{z0JJ3c4xAVKuu~Z*#<(PeQc6zMxq+L(b1vKD+RuXO-H32ib+xw*h zw!Qnj8DFNvu@)yu@!ZT)j(7BduI)2Wpr>sJbKJ1cg4zr~n8HSyOu0 z*s*am2K$>FP;$e3zmF@1F(LXzQZ=?f-D&NW4F^+08>S(2+=TE*geXB-O7kd=QCF@Vkw+`@IP1+S|+o+(FBjb-|7Fr?PSN1jix+T$bsb&Yt z6*1Z0is-;`wr^T}qO}`nAI$;e@DFeUrVFH)+a(j{+er_lkW$;9dELGc)#YYqdb|(a z@qBMX7B*T$qoHk*F1N;oa#|G)NP^wX%oK57ojzt~GI%tRjnvHdcZEw%fzJ`hX8p$| z`n^^wX(P+#c48yEnh9E)QAfM-Yz)$#C*I`%FdzRrnoC^Ryu-MSf0FW*B&H+E*L|k= zkLm}%8HD#8jdi|+oHIh*hd#f{)CN;y(R!g>Gq_Y`gU#SG;>H8B595( zI?{G^>TyB`{T+04IkYNSG8PTXn7P8egz&D@F*g9i`!;x>P}FF$)bIx!l=X*1@h2S1g8nJti>XWIqwT*to=zstJYVZXmL@*yO6PPo6Rb7!x2gn!3ePz7 zrB|UK_1sv=zmfBE(xf%jFKIh$``dO@)DM*s)IU}Mbtp>iqmJ5H-d36SI}^W94hv^n za;>hZgYOF-CM{d>hU|9rb-MwTlf&?&o9vnJpvhR5n=Fr!aMy4aL_13LLlJloHMvVL zzrS6oHN->Np_yqKjGV0-`*pK&3A?7A{ZLkO)|lIFJ1Opuc+;Ojj^bEfE$=I>Cy+1T zB445ixjl|qv+LXbls~T8dNf!zx3R!H<04(e!tx+cMY_bb)T?)H^6$(I{es1G#E027 zZ;%Yvw^fV#Sjsd0LZydUd$AdV4aVDpp8LqWAS4q#$4P&5y?3x<(WN%lTJ88AV^v(e z6Z*n#_h7!8Ej5{s&m}E@NkX9HmKnUb4BB7m*0wbxd=MC9?h4>dAW87f&~)41qJ2m4 zvXu39ma6zHt;mE3gX0rNcbQf~#`t$2+tZOSV_%CSYF^}9E=$f2!VU&xTMO*;0ek8IqkX@1cgDb7>QI3KOD!Q#ikS6e;^2R-s z07~IXzi-0~5HHJo)Gjv|#W^oX&G2r`u~8ZoApzVCYaNH}CL%Ri4{C( z&F4+l)uxvkLx^x}yT+hfP}bY7+-Z$1Pc=fBlZpUxk~}o(x{5Zu#K<62(K%D6E0|x= zplQ|Z6M)tVfn1e={i3@WQJ?|eHjX=bFQh_mV5IB@RfE5}f}A%D!{_&)=77h}o8>x;U-pBPpQXIJ}^8wYTKH%dANy$gPuFdrB( z(uTE4@det(8^}&j>oDeoNxe#pk%(o>sJEoJxiSJk2k#j9mzwVUF736Ei_++vXn~3T zaL~5rT-?GNZfDK`{Bp+pR0KC8jys`?S4}as%IEb+*iJt{>`;Gjdf~+6@NItR)7DY!z7#^iz`LE`<}IYJCAlgzvV92grLn?!qY1Z6HE_5Tow1SRVdob5AY$b|GV%Ron-t0El|9Kf6eioG zHnG!5;=6B)#@=Vto|bn}&FZ+^`AKs-E!r!}wWqw3i^nh27M8RrE{97;*vDZyd0UD&W3dBeKq+1XFgV;1QsP&~=1tu$gF$}sFN&B2NckmfIJ zK)$#meA1E0E`Cu$-bFL3t|G@IO5w9F^zp-oDzZVLNq7 zO3p(S7O@!hE&gDK4+g+-uyf7iCL+w@KkDTimg1T60eo-g=&0z%Nu}%!%e4~M^PuK= zvz-0sPZJaH@JZus=CNNMlhJb)?q)l;=rfv5Z1kztjgSlEvG% z=_i))j`u#}tr9y9M;zyR)-?7rOxA0f9l06d89HchrRxCmluZLMCu=p&%vlLc9|#j7Wf3_yw?7 zZ^rky_T5$8<-N+gV!CF{weaSWFLWA&b|HZvtA^Y4OQxGxRs1}k`gsYHg^h78> zZ+4uX-XxvKaZTDi60-={$We3tSaYmuo1cJtzeh>gkxQ6~wh%y0-H|n7qwDI)XT-Kk z33TbB;*mbpC1BwixvF`&iBuD}=Z;Jzw3*%--^OEzZZ16-V#Yo*o$Kr;NbQl}J~yK0I+#Ay=@N$R|j>)thp+S5%(YPf0ld z02O4v$WO+>r06iViRb}D5T4_%$wl0{n%76D&BQ0c6N1$kdqnoVVEJiUew;GxPB~;b z^+sHDWu_Nn6Hr^%Var|O^p!~Scm~WFdoFdX&2~o`=Jr7uxG_ldnq3>$M?*oB5re_N zN5SL`rXs;A_ix}|GSA?GgV7pMPC3Gy8gqh5Cp|9Ar2|PAs)Zw@~w#+V{Wb@d>A9SmOdhZz` zWctX-=q!XXQEZL%pOO?XV9eE}p6Pb#655}Jj7iQZq!_K;GWwc8LuFU{*{9r$qF!EA zztJC~cnx>8ebj{00h0>uhN5Pb$HW$6qWHjV>`)%&Q1VPhQ~$FPJ`-Gn;Yg@hz-G0 zYd`9Ks8H}f{Aa2gB4ixz+L=@!c=*ZvTkiQ*;>0F@Zq62pTbEoywo1L}ICyi}8V!4bRmK(5k<4{@PTm`C;{CQlLPH=f&)1tXpSIf?)h8vU|b%m^Q&~0u}+*|=^R~dk3zUp>gyVY zM;&Ipjou0dLc;SoiCr>aB*BlsucW&*%8!y2YJfVxvu1i9jvQ9sgM`*A^0G>h-%{OgZ+okw^kB)l61g7*|CEQKLVRO)LA5nGZsm@|w6MOr z*N#=5)0MW_m+@?&kj961eGf~KM&SzT+fy4!&g+8?W3c~?;3&ebpCZQuL;|d@#y!xb zPpCrzOM&p|fbLg$Hr<-jeQP#cp47W~q#I3DJX%B~QI$0;vBz2@xy$=vCtzIgiHUps zgOzc?@378t<^$A;H40pkJq|yJTK$IH9#`a5=B)2JoBFt%Iux339}|eh(#JIThV9Lz z55=1h=SY*Y2T)R)CSljL`5^g|UQv-xOb2+q`S7|OoRW#Qr|7z~aOM^A%54EkrYFdg zj#&VKP#rB$ zJmNbgR`+M|GG1~k%jhMSFMZm%Ats}w2kQRZ;r(7K-E(`7;R=--_>YF)?S-?OuD6r{ znl^fUR&Bo0w)di0naMj&J0GEgcVZ3K@=-mIa?CwU`G!vi7?5Wj())u~DvGM`!AM`%4U{5cw6g^RN z#P7{W#?bY7M>2p8Ix|zgqr<#ftm`Gi*}#uti}Zw zQ}|r;dURmH?V9w4pw#u&q|xXgGa{u#6Lyig`9EH#)>YtQIj|9b?P={b_1D}Ymbw6myQb$-i@sH5V&mRr$0^l2<(+^eyJVr@ZTfNdXq6e)tBOJ64*pQ{Y7r;0mo zB8om4@qAILv%^t|2m+x(r3$ZUotrIizk|3c5(X>#(XV}D*QZdx-J41d!^~xDy6tZN zMABy`9~5F$_q*9JpN{Buo?JGVt0N+|!~p${<1GeE4eyJ_d&2 zL!3>AJ4OLl#&&w_x(GeUOplSIH|%U%OrkF}un{^M650UNt@wn;a)C$-cWgU$H3jM1 z?8I_$DIgxJs2DJg8so;v0Atw+iw}G=D0x`(6tUs?mN~2XtQAm3n5^yz6dmGTopQuG z{`(V+?NW&CZNhXCY}?Ss=su~*tQApBW>V_cogwAymgsq=%CRrjs3YnV)kzM>VM{FF z!lia3_?o*7TW;YKzFlT5s3*Gk7ry89QddRhhF2=zjesEggf&V-i ztKFEkT-N*7=-s;>?-Yo?Ki5eCi^y^+u}FI2NE{JLR*81wknPHY&X~Q?n~a3!;corl z$r!K(jtYmu>5cbrPvq?EXsVWe2Vu2F(DiLL)ZKENatlQ?{q6{1&ciN% z<)sJnUS&(`^%tykjQ#~wn6~TTw zxlNpjdAX)^59J&1!)kae*9!U!MG=G)Y%MtsM&$kUj2b@$?gL3*XSCkrKrY;Y?Rn|o z4)C`1W_JJDn=_ag2on zr?=ak-Sv^PUNe%m1DV+xXk{uL&#KRXv4=*FHW&X~O4%^!fcd;(Sgt%6jz)nL^Va->*S zsIsUGF+x6?rrWF20dI^w)CP#>U_!k7eIgGH4d(c+zmAXsGbSG%bZNF$!*;fyAv_5g zd=BF=bC4X2T&qvL6S&Id6XINW_d#&k%NUH*JRf@etA4x9JEM19^sK=LMs*j+hs`$2 zg(X};Ls;N`uecF@{^;Nt(v(^UXRJ=32{+|rXK?)S_s-Z4IcX9ha2Y=Gt|T&P3_XoL z(||vIu`5rVA^y%C-E&hv+CTZCb-%@2p2kr}z@2nwv6e2~N%cpwUIz@y|8--5C8`HM z5*LOCcUw!D+(p*-=Xh*rN{7+B_3>;7SvzROAG0gtCf9dF8edX!9{g@b@V_zG$T9}R zci6{0!b13PVg-E@`jCa(+hNDO^S6=sxR-Cv9=l?~5Z}PJ+VP9yX4ZbUvt%q|iZ~~b zwbhZ5XvFN9J$thd9mL671ymwkE-rZ zDr3<{L(wt zp7bXx*npa=9&ypbXA4NoxO%rxOIn|Osw+uz4)Y;)v>!P9{Y$l+?7Zo8P6e$yXa6*^ z_fAn?K6RCX9)vGC=fATPG`ll_r|bn36VcOHz3CT*F&7rs+@f zK-`?N9{;EX;dd>aKTcYL{#g366P-;d|J~x5@rnE1)a8EBHGZS;cMj}#?3)0g|@7ULodplZ@Kvsfd!dZIIcbq`M-e}ezeKvmoqyXvnhAc3O z%2!iZFasqEi&2hj&nQK{3mU>3r+e6G1 z%pYexTGDs8!0MqP;6#?E$4!Hs=>`vsdI8b*wXr7%PsbJSJaHQw7@)v05tx)8YeAn( ztf$H1Z`u#kU}8Irs%zfu$6^nb@Fv4$I{=&6zPSNi$-1c)L| z*0tHWk;tRMo{+^TP1uLdYvTICr=jtTe~8>7DTwNAcDX zHOzGMNBCDuM-TAFD<@^^Yqti+i(qRTt=)Uoqb?eb{4+bguD|4Z>QwK(e=M|%3s@TA9w-x?xS?cK+& zzm-Y?ALr89$GgBgrBe&JoT z7EFb7QuuI+n@?b!}_Wi&BW!`n) zRG5zX#Rg8I^C>jy|Bq-l;Y$mayoTUzPtOjof{p7l5SIv3msdWp@xc=?`%*jES!1i7 zzVupM-MPcG4EW--pxMsHxd!Z!%6Go<)N)C<5+E}T!T(xk`}P$iDN9`ydiOJ?>*nss zT%yIE%Lc{ZnUvc+%aui)OTiwW(dEEoxav%tla7>L&WI0+ec6 zGv!KIMEs-itjMm?HyzFi;N9Z#O&Abzrtn1mHl> zbM`ts5%AD1(+k7*2$kFn^&D6o9r0={G}p)xgRaLf4NA2IFr>6uZ&m5~2RED}(K+SM z00Eu`cLOJ#iJ0=pJ^aWiE{E$nf?`|4p64(r_->Pt!S7`LYw+>1b;DElSpsCaolnU1 z?RIk0JC%jO~AK+8>Op*3t@6>t_*f#pt6_v^L`VIajEbsP)H} zf<4c?AL{~V*wMnQBlTZ9mMeo6TH2=LtIZPY58zy{+#qaC%Ps{GhH2Gx20rq;7}=@A z=&mvFAqGk#!_|BTzyE-!HA~tHIg#v?y#fr-2p{~qTPcBqe;i>?GFdOOgfi{INp(UD zcBe@jfIJtBfS+2m;Q<0-n?1*XP@rJ`*G{-aZk7&h$_=>|8l?Jg(Y6;P%$;&HLI;ZD zW*OTSadq`}w_Ykg@&54mAuNG=A4~XcAPydGO-@Jpi*AT4Bn?R=AQ=FI}%wuD(Yf-jl( zgo~Hj(no4?0<+^EuBO*x*6L%~n+GA*yHxhg98}37jV5eyZkm0o>N^*TP8vZnWIPQN zH%#Q@uJ4PYAI)Y)ga>(SNN|xV<7!n8+Cw6-&%5QBJVwtRF0tH11EN5+RE_nmgww;c59c=Vql02f9_dEUNJ#45fbsh06^N{Xo+-x zV4mnh-=x!u{^sQ0^YvpO)n)1|jk(>pE||Tmjt0JyEo-N7T}PKScJ`A%9k2@oMySYI zPUEff9B~G923-)3AyP>^Y3Ydlf$wr)OKCJG<3uxg8xIVz!{TUf)lmo<*|9tvyYqSo zpsUkrtW)!yt_SM$M|C-1NpbwHeGctf&cJ-Fegn?y-Y8h{Zy;GhR-+ z4!Uz(o*2ekIUfX_5JsXK*!I_aArEh-0TU7>3$H*^caOwMx4+$0Aml4&?t=X%68E*F z(2s+gF_|DgtbRDFeY0cUy!8;Cbr#U*$3!V!Tzq*MR>eCU^Q%(`3f)=CtSjnBlk{~b z_4l#V7G?xYX`QmNFPA+7a$0;?FfsMIx{FX;aV??yo7Od?{EgqeM+)Lt5bLg2#?vvU z!#nOhHRD`rQhR%8_0*M@=F%U5YzSZ!5K~cmt`QN!=Wb9AMtkAC^@Fe7AJf4Y&YOCF zq^HhwM^WLvPkZ7uV&wD!z6l4*h8en|Ap_-2w3q_q*t!V^d%d6&R0BI6^B;~QP1aNp z>=Y$IZ4V$xIB@yl`}IbIu{VcsQmi4v#Pv&^s&==7Jps+Hu4a#~@;pl(*~X1%P1r4lfDhnk?bE~I5b61&}j^hW>0MBsYi)F}rS;6k^ z8RrW#l1JN@0$%V}?{D4$r)ij;9ngP?H(gc`@p+_6dZaSfB_cfei?KdOhkek_RI-UxAi1?+P=ssrxRUsQ3s z_-CR_lFt0c1&1>t z)((dn$(v^cC4R>VH`No@J+M|H{f^1(3&NFC93=+z*#zsTjNcU_y0{QbYwK&#y2ha2 z_e(Wd@*f9xVs%WK4!0T!XwCAZUBlg>YW*}6m?5lN_b4-ce99vnIF{zKU)1iw%@8hk z2iq0_8Mc48#=!admmYY%U;1?E8FJg#IB14L_?=@d-KbZCMNoK>;ke_#-&w4BXt}rf zywiR1Z z;U)*Ebq%pGBDNwVL;DR^ja=-SG~G!;JqR`>WS8bsGhJ48ccL8Y2G`@E^P%0ByVHUA zCC`ATSt_?;i>ULzu1CZJ!AXdW@i&Y}-uP1Yz%n;L7iijSui(~TO<36brB-g|h zPo{eXylP@@7pVF+cDh3^wL7F}*A(Y(r;7t_s@1ZLM?4W3geBL$6*Capi5rYk>-f4x zDxEdmOfx->5N&Whuf;47bQ6*>$B4snq?$Q_-s05tT?ujdNd4TrUdyuX^P2X-2lOeq0WCBDz~{`k?gaqNxx?fVcg&<- zTTW(gLyfg9^Y%tX{DG|QRyLa3q#u`RhQBb9%|E!-Kj6>Hv}t&_M;?WT1N=1_qoXrp z2fC6J<95~W`lV-_^5f7wfBwi-{~&D4Fi$}9;|bL>Q@eSHN3h=MWrZ4s_?gUzu3D~! zG&_|Wxg!C&K5HU`6>1k?kDa>#IN0+MNr|8tuNo1&-AQdY@tQ@yEse_YdAF%pLr2Mk zdTy}!K^t{R)I6?U5M;2u5U}3URi$xeEG#6Kk&g)k(d{~~9=Y?pp$z>IRQ5`)O3xcZ z6`l;Tr|MnGL?nsby4fuonhuPqR;x91i7cnPJ#CB2-s0~dy2?5PV#J9BM;;0^+JEZj2&MiHOTITo!wXrD6op_&d&~aT>5}pW_3m)q;ck`(H%{Sw7dxq+ zc^yyeHK^aqYsoM6R(@gcKT5T8Z~rgI`0-zA+dEt5{yL67ZHANGr|v#TPD@m=b>>$W ze5ukOq95+I8F~Lya#-F`qWs&=19kbe=T%QP^ifc~aB=&MK;U@bItj(N?gQ2znKh|S z8{e7<3}-q0{`h{Wd_S>e?7jV~#a(kEw<-x|{9iH9mA#(pw7(TTc5yvFJxzaTtju3{ z;`tTR8 z9z1KdF8rTE&C@%*G`altUPuhWnXQU%@U`^D>$CiKD&1dlGw+T5aT^_uW*W@06;nd!1pA$F8KMP;YX@$M(AL7Ry_S^RE59Ksm+@0GHUSi-=XcM~k zHXnyi$3puP;iKy3K2O~a%flM|ppY9re;G7K0+m8ose<7bg&q>qZOLJqY z8hsu0%;+1}8ow9OyRp&9hw_Qz_3Xn~wfo?5)R@o>Xp}szBZX{IJ?_KyL#emg|4!*N z)Pp6F3VO_w0-O7?r@%j^px27Mx-(Exo+`JT^t~tSP3G2t24m46o_(J0_=?sucQ8CY)!+FIK%KMSc+-yrcShgaOs9XF zLdR=YTrL;jV?-<8O5B})#{zYI2b%Qa`P28REC=Hbcf}5MWSnC>r&a5<^PPn<%{jr& z{HNxqe*goQ!+mA6f*GqsPaw@d6_&M4aGi~bgMd1e{T++y@qHR>tWhhQ3n!5_n{IYG zhXM4oBz#k}(bbHW$wv;HFBcGue2c?c8+~*HRn3X#ie9Q4^F&CLC@3{@gY)T-z@o-f zs~L6~NZ-jxi>YTVZOZ0lTs)?uN+Z<8cxd9cXY_weR#IO%^!3~S#E;}BK}#V=EB$N3 zVT1pdFW>8_?gu9vC(1)cJs0`qtZxV*vMFEv`e!rowMRF3eDzV#GQX$%r$?&yr^}d` z6hj4ZQc!wWH6kS091OyaAhEY!+#2LT*Led1|1YY|jF1I7CrqUT$ zo=IyIi93a$dZjn;7%eB;hjG-l@uvhzRs6^usC0lTuF9T&T-K{*=K^8U&fGBb2(O%! z@Qzndj$IaQF6i77XEq{|emKvgQu~DPiltCD9EhREE^*>R7KVMp6+Gq-z+~SmdYW+? z_bDig=cn1g!`OEWlpDFaV2MQ`OeblVE2TN_3!`Lk^}TVUO)`@lBo!Hmo~}Yti!ys% ziDH74IoUPrKkPftsgJbDF%ffwwk^hKzr?69+@$ePy9eSUDeWo55~32Tq~<8C=x}l( z>!Igx^#DH$qs$XcQr!_MDIRZg`%K*PSE{n;#Tu?b0a2odUaiDw9_Et4Q#-H zYDRi$s_Bn*tK`BIRD*u9>t5GgLO(u~A^%*}H;vn~)atY~?Bl*5Zvr&N+{Z3icogEv zqoEJk&>Q#n3Mp%E?g_oNtlUdxdHEhSGlKYDoFCimpx_K2@0^Na@G(f|tf(`JZ>W!5 zewmT+c^kq5M2tj^e5^+eHTG;Eb%3|x<4rHTbJ3*dhKZ3gqw`HO$Ov9nt#cA;^imPe z5WEjrVRk$W+mN79jvjO&fd&2IWWhUN(X+?SDM5a>F(5s9r!9vMkr3(OUEEM`6IE38 z9X*685Kshjnwj*;2`HKxt~d_~w3N5ak9|4}J{;fR39ocAAzqsH&;WoHDvkn?93~dP>hWTvIptNY1c5xh z-5vG2&UoiZAhO&!2*ab!~n4VYB5w^8_wi|V6tV!a{Ll4<_Xico%UyTcaU>mnF;Oc-?%<;CI|l{9Y=Z%KKm20 z+cj7fZC<9aSDAUm;W|D<_TnfDEz<|6-AuXykCK5f^O&a$4$q4zufH86d~$*=yRCoD z60Qk2X_m2fC}E<_@VVqh9V2>p)SOYf&c+>B?Kmp@rJfSUmt-#L;#1D@IRqy5TrJfdgO5?n_PX_Q_9%bPf&%Rv zwXubwFKqlW?!!LXE1!o?ns-S7fp)g{C)R%pS4)G7>+JFMPP(B|^WQR`fNYwEF7Zdy zZ$ySxbHE}8V8UhK|mHZGM^!t-RaQfQ7iTJ0~bct@kUzqM}i9`^^-#fgnYx=yNso^D$6UjOvq8-4b4TB*n zrsZE(w?&1AfaO|$$>NZu(iq5_hDg?gm*{5~KZ+>Ju$@il8a9%A) z&~jR14(9VjR=v-=vJtgxA^yBae7}9e3Eud;xa7a|yEmPyjj$2QmVT9@>O)>zz`%WT z<{JP%`tuH?Pt^1C$K?CTKXVu*U%q3;2#F?#g<}oPdiUYTz%Zvallpw7`&aUzv$-On z<)?!@+5X#d#Cf(73)k-q?EY@)2KQXHF=At(6IImL4K4m+Hl;*wBNsQXizXe6*0aOa7kJ{ng*>Gn0VA{ZjBm7Wy zKXGCd<8759DS$*+yLX#iDDzwH$d1?C zw?K1}E76k>iX=SMOSE?qJ{=>gO~>3L9 zwD+Fg!Svzs_;LNh1mG%pfm^G!Vd| z^|7X3992?UV1t*{o?o9*Fh)DwV7+=7{ce(bEKzL;lgv{Vp4&zOM*~dqEFgg4)sV)- z{s?7xXny+Y)F(LCwuuFGygX44II6Q-h#u}QVq4{U^s)7+^MbrPU+~gqDW~Cgg|{Ct z?J4gLEo}_H{ehoKPwx!2! zgP2(cG|?YX>&4ynu{G!Vli%5;3lZyiRijUKm%WwrBk^|^lV)&uKFMZx=Z3jF3@0D` z$oYfCKO`}i|6PBH|Jf~Q_$VAa_AvqTlN+yN)MJxB9(~?WO4B1DqfNALE5?&&*W(8r zixkgPt5%}r4X2%=GrU~#9nJ4TuS@y}igw_yx~$SG=AIL|7+(fY1T<~!fHZq3%-ym% z*=2-+L+B1_1eJY1G@TnXO|HXOy*gtVZ)JGEUme*@i}jPv-}GG8Nkk0@0ihr0Ap?LG zla@A}-80QtEvc~mopE>w3d+U}!+bQ}u>g}PudTRgQFC@afke_9LWcBc;R4wIv8-}N z?I#@X@Zi8!t#0A)u#rej17r!(PfUBDxnwc#d5;!{sxqU%qsPK%SMH*2If-e?I7ale z)4-?~C%jY&w=^33a1zAmI-nauL`!ya{){!R0vj4%&F80SFv3cpaK}Y^dtx8dbdSRb zTN4a!%BP!I4vCGafusymfRm$#%#;s>*hqTV$QKiAL$Fb1oKClqk4|j-j2=optl0|6 zyYwh{XW)el+J#`)i5-M|)ll3HM$I%0`FlP_$6abzf)p{?i5Q3*BkP7KgI1a3SRgt| zk?H7)(?3S~9SQdZhRO~;=LAg3s@Kz>s`F?hH-_8=OfUD~43=;JoFL$DCR)11S|Hgj z$|$dywA%q?JB}mTtk@JvD1=X_wwZ=)d&4bwI0wk478yZjh>)#?D9Yj+&|rFNO;yAL z%VxqhK4BHUGNB6SfE{>y#sE5lvgVY_HAzST59N`xsy4j{*wz51*i}bSx9{kE8T5}r zJ=7YMitX{b5G3yoPWq<>P!*Eq#sX0=L;U!j*YoK+NN1V-Tia;T;qXSy%Rz`8`Et!c z9Qdj>|EE3?`)GBs?==U?EI7A4@f0n4hhmcgK6uqI+`C#;c?Apjco2xGhSZ3pRC`$ zE#}HowTbCs$KQ`&Jw7)=`3;F*EI0k3H-p}Kt85nPqv3o0c5C*;#5+s2bL={?K~sKE z4boKB*z5sOTn`?$xDcd{#)aeMCO%HiDo|lskaeA)2RVs^DRC^ljcD)cZHNo$e7x63 zQ@5Prk{l6wFTYILGcEw}hJX^TWdd3$DEPSP5oG~{i5p~NT~072J_am4rCRll+VCW) zqFR1ZnpjUko*dYY7RN)?F>?Qk&nCeBZxr{6pzGVwK;SXm_m(3{FmLpB)&5}AybNJ{ zcM2gvebMO(Sa}J6(84aZRQ`;$jnUVqo@RFZNY9Q9tc#O*C7OKk4)E(UdcdG=&&5dE@etyugQHlX=9JKgq@ z&vZ-d4Ly=5rVg>7kHgwKUEbhlryWzDRZ`ZqlVSB-w0h!;`3?q4Tw@+T)gR=iVCs{O zpMIe{o=Dotkr&?%pr;&RM#{uAt#JfavDk#MZC}y&t`TwDw=UBQ;_weXqf5)rR^0T| zhenzp{`vH0CRFP2^4o!;1HKBMdT>_wT(`H2Bs=a z9QVE6yi%aOA5r%_uTEy2FMr_8rN-~iIFwDt|J!f0ABYFj zsrl+OQ}|UkFnKF;u=LVbKb@U-RjNYEX5%-?_uQ^T`gT^fNL(;xdso`IEIM%x--eGy zxBSi@V^fo!!mi-+_W+F{i_~W(MDBdDwccQ3a{=s63BLz5?)IU!yEm=ksRz@HrQ$B3 zII+MicKDP(@^v0mQPy{p<|iO+skL{dat1NfVQOK6cpN4_4U49EbLC)`z=otU7Gga$ z7|LNJY65Bu$d^pvGz6DT7(VVN*;h{`(U^J>cDJPQU5Cj& z+F^_r%a5YKhh?lR+vf<12mE(_~#FUQqmL0TH`t0 zdyZq8j)3@y>RJbyhhzZja-4#M-s4TBTinfhm4r#rL|OLkFCBh9;4=Hw8qm(**y!}| z^!OKnTEy?`)+a$+fxLj+FKbGVKI`PrB9aX-V|n9llg`?4{hnMruDi8jro(b3cEr?y z8ATWH8aW0-<-VL6h*(F&&a5ks@5lo|in~f&~4J z*>`aP0eemLNj^>>Wc0?&@6heR$Ta;o!XSgfpi8NTKDW>{`m=6HOK$YeVx={*l{9sp z?aYiNwA)Kmy{=~nR}eVbP>oVdG%)ei_C8K38&BnwjR7ggF9tO1^8>T-7?I?>@+rZQaUh(6Bo`crVTjEsUGTd@z zBGe-sGWfN9Q9B~#gvR(>46U8my`E$Q84m_D_BLYfb%s8Gau;29+)8ur?q z#jl&G54Hzt=glm1s{pI$)ym%KNjG6c@82vZU5uwnx-Lnt-MJTy_6P7Dn()P1y}v*L zm!&@Jn&b*y+V85DPNXkwO{9Ya6nF0DMEOQ~!+j)sgIA{SJTPJ)6mCeDRQGH%;F-9_ zlhbZ}Qx3*?I_l4OKdIu*ap zC-d34hGyu(v2*pe&K+9dF7>;WkUn~2yypVYyd3uviF3klG}tQ!w^5D$N1ws7@ahRQ zrO%d$?TY(#_jS);vF98*nh8oD9VqR6N8sO}*Y|OUt2re#b6#}`oTW*7UeD!?j<%m< zj_S+`>;K6Kv4-knWgv+nt-SeeTpEfc2X$gB6(_Hf^3;A8vaEKg2X~~p?la}h6CSXP z=H-0ya(eLb+#3qvYE7{4%Sn_hJD8#Nm!R1?`!o6g{I7^2Z}0J+v+3?|k8?$XkYlrp zu|R#g%Nn+L5Z0x7YR28HFj}adwb@6{-gUR^6-A3$D0ncsHJTf#bIalA!0o44w4G8W`K}Mq>#Sv_K`vJNn_6-y660% z`!`Mjg=ce1cvzTj_g-Yru+%=29v`%)XZs)fv}b>m2`BwUs1G2~%_INaS3xfqdDex+ zI!OK|X|ozT$0tr-_*~~<{zf$zbZY$Hgmt{+zfkNwine zikDgg4SJsPDL8>&kZe+)ZA)ny#ypj5>qx)R`5{QfAp1*jCLd*;=E9l$@#jq~F>?2L zKfRqjZHzv>x0gMrk3*IvizK4v-XAymvyE(V$OgNKB z#AA=9nvfR$*B(J4%T1)6_y{MaNgs?@1Cfl8^8Wf)y)&}032$l^qMdV&y6qnz`|mrv zLwQ5|nLIR2cnYiPe?RFh8OH(4dDy*toZ0no@Tz9YI91W4l!iJQ=z8M8FM|g$1IULE@Y%d%BS2Q$9wGI3U zOGii$&2!j>$~@i_8-poG_$^?Ai<{4?3f<`rcaEP4f(wvveKw5WT)d9o02NtkB!!*? z@sZXW07QjS1nqGS6>61tH&}WGEVSD*sG6&t2&BK+2Ip zR$l5z{b{@wqrSIm*KkR3zX!Xk+}~84j>5FJ1^vrLT0jU##&atG3hgsvpWcH+Dg+k} z{A?)u=TOpC9I4d%M@6ksC2LtH<}HEHpj45N8^i33KXL8H1I7S5kr_zfN99^i7(ZM! zWn(VWC;E=VRzF++Fr?u1xbEvlPKDevg7UOW-H5Z-oQdGvJ0K10HAyEtgWOMH6vp7s z_0XQjcJ=ZxuTs-F1nMV4DUxpVk|%DVVGly}CqXGWHF#Mn;)mjDQL*UONSg0EL1KV8 z(^{T3+{=yWYSNoFuI&A%N{$Sj!UNFOPV|jL>dwXoug{KSoBtXOC6VbTqXJ8#!sv5r z0Il*ainDLfeN4fuhSdBhsb?GZ;qHs4+t8_*hd(sOWy<0F|0#M8H@ERK&yyrbfM5i3 z&Q+{p`B((vO$FPZ(5Wv`SGRg7838?|h;&Zl zwN55aT&z#tA0=!IWN6#U>B1FJ2_5kJ`NH%C=|84PJ7z->bt%V`?Ix{y8&Umi@TP;Q zYaAs_@QX8sDjw7riB5+!%?UrYz#+A}m+(7$2{lK=Bxn;j5Cg%laZj-G zC&=ftGFcd~d;*&E@NnZ~<4mXA2G(bIvdOA~ z<;V#3al>F@l$^|DBbF}FJi*D9q(xWs%WP1(o)?!>btI(ZD4KiQ8cDv!Q*odkq4Ou* zWP@gb<6ejGkR&FQ2w_Q2R*wkz-6?QP0FCl8z!0~3g=y0$UP@J^Ws@X2l)r&0J6!&{ z{5ET8Tj*!?-cBykk$g?(U#xEGUMQZG-z(%hvMQZDE2c8{-?`p5v%k{bv_zvtkgSnd z+7sR#m>INEKQvTFf8v-NaC6x|3cn%d{iAHkKRFPSrg^?KEi0m73neiNGXtq|FEQ<= zj-=5rZ7WYE0`!C|RB7ev_iTR%SKu|datN0MR(V?q7ah%8bip+kOn9e-)_sUGx7}&J zATZ}O>5gWrlT^*5QZ%Yfm(D>Eov=($#$;Nsi`QCbDL_FHh(1a%4MqVN3Q#cdF|X4W z+!>)B6{EnfQ*@`uLdLPF4CVzfX>%l3JZ2WQjr??GU)0T`%8a8W=h$!|?o@2r;R>yn zXv2;eiJ(`t!3;;qLRhP}nULqiAwPyywApMfRTpNULSA4Nw>~uHtLjQ#>SoAB$){L` z0yu=+Bv`N=&NX|~T?Q~Aj*wcpnCo(4dLT>ZDkT9vD!U4GlOjt@RxsSAo35CY4^kk< z9nO}-*fJ4pm3vTDN&DOJJ`|O;v?Q4%Q8j0>=qBtEL3~S$f@R}~lEbG>%MC=?<%nk{ z-7+EYCiO@WgSxxIP!30Hsl>A-90jYk%6X6^1x1^rZY>NoD4mVlX~ZN0bKDL>QGQ`s zt&g(04(hc_Tt{hHxnF&)Y2a1#sJV)iqzD7>Z&Tu2c+jjD;rWP^&u!*1RZ$C2zL&J5 z7i{ZXg6}rF@6?;XwbSHjxdN~iVAbwT>Ig>99YNW$wT8UZXxrw^gju6R8(XpxYZMtY zgi*N!0>X$W0o8(>Y6E0ibwtwH5I6KDaYfXYCHwSzPLLd55Hw~qtX?!qL_y|V&|-;Q zV?YPPi>x&&=Q%_HS%xiL3vQ>73~!^soKC7rgojp&WgyRmN_SfABCTTmwJL6n3YrQ! z3;d^j4|$R#m*tD?ElEjaJq3+mSp=%o;FL^YA*!7Vup*FJ%D%zb5@+>AwYo+sZ1%o+s!|Fc70U zH1*X9%ZRF0su5r;ZyHXT`C_-;e0cbZoNy%Q9PpN;TgJ=fTt)p}UnkbiDf-BJe76iu z^}$TKpdy=RJ4tF#wI-9f_0=(v-dfyG#?K)ZgjR@B5&1!(uxoF*q;#nGEwW{!Rcl$1 zwS^nbs|C~inxo@FTB)JCBBZP0t?4!*kA>;7s6xsfj;KcrhO|)WuP34__@+%Zq(EzA ziA_}vv+A(8$nymg$)`U)5{-SgI>jgm&ILIUr~9u$s`)4hh>uiVAUn zdI_hR!btbswz5lZ!~zYnufuZqA#D%TQPnA)&&TMmnG2F38Otm4`DP@=+N0gJ6ND@; zAO$5-Vc)I8&NwFbGtr}Xs|xp&1@L~p;=`i0;*3XgBtX3o-jYZfe(3s1FY#?I@xXONw zM3PUe39^bR+o=l0JdHc8=!ClnyPbK^Gih%idTkW*l@MA;&j>M?p)hfE#&?U})v7nW zn1&Q7s!SX2wwE_K8EIBdwm_s2$E{Se3yg*9v_UGFQ^Xs=XoFRHv!*S07HV%ZcT@W~ zAxBZPFXU~t*A0AyN^8;68o7!#moOB9m0G1ZNGpUckuJ|ghLaRx_0|DIueD`IY6FC_ zP*CaJGyv<4sM#7*pVXPkI{QOb;^>xkG%lG)Z54Pia;+qGd51gI=O3^rBH@uOGTCS1 z>^449DF9BWNOVLsV7TS=8C}jBQ3h7B2G&iM5~C-Xw<#c)*D~) zS*O2OYqp^_quOtHVo~BSg7_mi%PAjH04PDejh0K|&OwX?_;T@oZM6bxWLYvVW@wEd zP@ja2z!rvg=q9P}bhH_hw^o4*6_0twCq0PB>71L=t7iB^$7)+xDa{eH&DQ(5FQk*8 zjxKDlgN>@tl#t*Up{|rY0h~wKLHkU-LR5t2nt-qo+@w}6mEGs^+PoZrrRVtwUzOt! zMg0`y?^{FFFt^>VsY+r=(;n7R33_k%4qI1YiQcY3?jBOfQDCdm#_^Dd%Os^DGY@J? zllhL`fXt~~TINVo%&8+TEJwGa~w`g#vZKT@G#R3ViRl_nB#c+j{jpRO*4xm8>cyZ||*?HWf&af(qXh)wV%`xObqrDFn?OF^kdk}+8J z5x!!Eky>|~AWYwC$~qvWZpouUtcV;ERMf(){&GoLD~St=ice5OjoTn$g2Y9rxN}b4 z(&Z_2gwFvKy1Jsg;_!zV^E98gyImk*0K3kY#MKz0k>oa72&CgSI0-&U}Vr=)Uyps`XU; z=ENk~AgkYRv{f!qox6P*M5`XlFEuAmQXoYxXJ+-alleuu`Dra$az5(ry>&7z(IYN}Y6MarF08$7Au8Y5D*I{f~ilhH7{GD!!JVxXY6BCZ3$`w>NlLtFF47MHK% zBw!g2o`w#%-HO0ncbmgB1m;XW)wH!A5>>P_2h-vXhaGD5d zeld{PcH#@_UyG|dNBnIUXD=(NZHXi15)IqiL4T5JmdB@fqf!@A7YY+vv=k5m)&{Rn z1jOAN{8gV=Fe^Bmu$T?ZAt|--n=AX zH-?4nlxj~RIkZ4loLmyac#yqOj`Om`az)nA1Iu^STpn7QuDGf#Ye>?l9MW^eb$_jW zl&RGc3UQ%keLOhiz_8}i8UCjXzq6<2a{0}Xm=WO(o26r)VA5?dZ4$N1q3-<&1iXX;6Fgv?<7SZ;X80TlUI`h}?I&CM%BWtdvQ{R1 z>Xx$7y=fMVBsx%)8txVehLiHhGOE~Tr0TBfQWK>*s~eS0F$mk`){Poh=J7Hpl*DmGy0G|Li(yOkaKxTN#5_13|J}a{ zph#!i6G@0mx+=-zD%F{rJjSwX7O@h0ffrJQu3v>aq#)ZG)&cTNi(BCob_=3*!Iw62 zEy^g<6MY_4ib9-M+GVz~%Y!)`ZZ(u2;foC>D6*0%aFq&a#kp70C@jHS84@nSdUE-p zPSu+Rn6!vW^KsE^j|pAPUac&wDnrOHFtZ#Yk8lS3T{(HzsJ!N;MPY!8ssU&O*VJpu z+Q8T$KVTLs3?syHQ;$Y1Nu@x!HX$i{jE<-{sFesSrmwnOT?QSb5wzT3vLb4|}%f*ZorDGGKNJPuU$=*0vE>R+cQJ$x#hZiDI$%bJok#e5jbj)x$}0Zff|b8SOeZ)DIKy!V zI<1kg5ZHNQvx&1w5fZC`i{0_3n*Y#oUH{qQt38VwTsmM$+}mIy&x&qznsH=4o8XY5 zs>t26YW54XV0c7F3pF41>0qgrW83{)py@@2hM*JWt(=lOw_WKGcdFX@q1hwiaDoX@ zZ|fIIFj3IPl`Ty~n&f*zaRHFnSEPH&+g&kX6-MJLzK#*~kE~Q`XEiGjj2D{THuF&U zE;wz9RK-Nj)Xgd*(JT$xBp{-^yb$JL?cP2yF6jn*|8D(6{!(Pe@|{K_b10ps>vO7Z z(K0*E(QC^?5jdX@OLb>ZFz#dpL4!7ki%u=clecf_by~$IHL1Kb6;$?(7341H_j;MI z&Sd37wk|9sk%%n-DV!xt9Qmd!vQ@%vjchC6&azKZ;7kWuj`S6Gpph$Yyb@KNK+Q<( zfKzP=!aF+ovtfavbRm^kG%W@s_su9EOhcK>hSgXzmA(ce%K3P05X}yA;6s%smskDSzF!^`!yZE*9E)@TLQ$8Uj8Qesp z&3{J|82V|B+f`vyEw5348h+Hn>1avkwuS0GJaBkeoShLrk0j){oWFgR9*FXRS}@91 zQoal}w~6tUu`2jN@Jx?srwl5I$)prZ_QO>r#Lg(Cy&Y~LwxwuyXucLnRsAuA0hk)a zIMzTDlD~X_5Q?&a=L*xnHkYo+0OaW*{mcc~gx20kOZe@2yof3O(L~$H!CDyy@HRUk zPh`qeJC5Z<90_FYXsh|{jHg~MD-4zFCKG9?K>N0TSDymZAF9#v9imW9BFHhXJGLrX zi>$I~<+Q_GB_NOrB&fVD9I$JPRRM6C7Is)pu&70vI)jMYCnC$r?h0aVq2Sic_z0v0 zNNMeOv<&hj?k^`mJ37nbws3s4%CAw)T&N+oLj}U@sQctoE>lbf@ieNb;CoWA#ki;MK8i3m1Ot!&*o6s>8sjf3-F zD?}cepRO7juP_z|3oRCHp}aSD=}~q9y)SCDU)GIZR+?7jpqm%>nO%m;emkF}xKynFe4!am z*YbdB>uc*sn3o@Gu#F4S?AJ!S;zENju&PGI!G~J7OOQUxKJZZ)cr3*SvMwQi zcez=Aku;lf(p0vE5;3L^-%98FC$1c{;SFIho+s8?n%Nw`_y>`6xo zY*P%mW$m&KG5C+;_bYU2v~{fB1PI1n*?x&e8MyLLDX6$PO>c{jOQ_v=cI%tymZr%y zDe>|tkLleuV#m#O$WrDAN}YIVgiJtyi0r=KB`70oQPoDZZnfBHOc(nu?9+pS3du;C zB_6W659?UO45i_U$GuxCfhc?{WUHUFik=2Y24p!S3t)S#ry@0eHK|UO=8-LUnWc-G z@*KCO1IosovQZUoad+qR44~=fvC?mFWerNtX|s@=(-!8p8i@nVMyWpi7tSG5DI_JE zzQbB~>ukU3^GinXic9Vjujd5xAqcvl_#`nZ(oxb;`;6f1)CFpFn&5LV^C?320r_1_DRv$C^8*t6aCZXlP$p|0g^!o(6m*)G-u)=5tWWr^3%5U{Cw@P{3CqS! z&p8l!N>iL=s2@rPs($utQHcuk1V6OO@o{=gsJUxu<>d=#zJk9P^Jehi|=5 z+ThM|f09MLe}ZC)P!~8YNi^hUKl5ys`9#!8_YZm+|*70BGb@%GhTTF$` zIUGS?S={lFx_t7bsm%>-15))E?H1vJp}x(P#WWx*Nl$K>t)sgEQz`0_HY`5*ysVxm zOz)M1I-86W9#F{PPSGQKjZAwsqsg_JO&-A8e6>`e7J&Yts1=91_)-m~7uBc*lWrE} z-*IVar9on{Pc(^ZR*_@Ozr?V8+mdxTi_5n;{Q_1;SQ?TMHi=g-%T{O4MJs|byJ@N! zYiE-_@t%&RbVa-siiy5vZVC3YX^i=NTe>+|A1EmD%{Cw#Z#?Sx5HJ zDjdfMlm0~@46+z2rZxnNlu4%a%s`YArdC-40Kn|tk$M4>SF7#81=EGtzAzTcm+!?@ zTyu}SB+eJ-q>40?gU%t`Ms$tR!i6lB+2l4{fTphPS-T^F&L8p!LP1Eb;~B@N^n{bw0p%3w zGCR3?NHrwtrJ#ITEV1a99nNU0#Im(@Q~jQ7O3mYHr<5BP{w+uTM%~kVS0SQixPzl9 zm-;E`VMR&4a|;Gi;=2~3{_5opIYbDXQC4*4At7d*J4?#(cjwCZs_p+G$g1Z_t8L37 zVb@mM>N?5!_M=JRA8oaE*ai{%RE+rNUWFzBRqPk+3wJ4p>5>rSyZEgGs8dpd;V-^( za$&p&_o>zFW#PonX1rPl`*(x>3*4(Dp1OGkPt*M9qnK>V!|b1PZY_pW@ouQgQdYuKB5 zDnBK(n9Msj*Ly4Lbr@w{i?vA3Wa7s6!SSb7|D;9x1Byhme6x6aJMV0<^obAak1+Es zoX*btu$eIK6#C_im@ty&Bg~xV$PCPk($`OZ&UP2>UC9BxVf2Hyh8#m@n``WCSxT+& zyvRFMs#n#ye0>RvoVi+kH;g`I=oBtu+^QhUePJe?c3-(N&8@GnAN%j-d(Dyf0)idm zNAl}hO67!tdq)$;Uah?`mCX9VD%e%#D-OjGsnr7uJ;uO(E8kBSce*naM{uV?tZq1Heg}Tj!JyU0Vhc!lbDud$gE~$I^7Ey+q`S$jXq5uYW?(|r~3_^%J?Hi@E0rKC@kNJ3h3Pcm#B$$%p<(olNztLjtdImvgNEc9POYR zw-n8?ZvCI!_}1jxBi^&*EIK}QXgI>;dY0FwkrXtW~hs2z$s9Pm|+>KQQCfIm89z|rFC&kg7 z(DMUY(4I0BqgbIOA|orI*S=2hUqJ~hQE=il^4)OyzMIK=@4GVDDE1N*z zoLil#d^=9aKM9L>#XbP9p4M|43m}{r=y30ST4`^GHf!!Or_F{jb&nM0JiT2q;#i-| zFj9ZIb)Qoz*lEmUqEPwgh58rB;0=c7x zi=(>(cX~uso+0ps%x;5o^G>|VL~W`mCVsnUIPyRJ@4@Zp1g|T`**En#GnXncs0-Dm zL?;sc)XKzA`m$>9^>KiuJy^OUCv{?}{fTMak7|?3g`tnW`f2&Y zC*q~p5iFlMM^YC*?(2Up89@Xl!vTK;BQc#5CIogO$}y;ZZeOoop(=KwRA$i=Kkyt+91!fHxj@;1y=4 z*0a%ui#t!On4f%#OLYcI9XJdvDGVG%B0Q-To4LAgZeP9^m$z?+PX*AN%5i0XtWG^M zjnX0u=fQ|hLkO|qA`>uhG+(gnYWhRHO`UD{69q|did;3D=;}FAp8ucOL^qco6yJX{ zTQX9A;L@q}gS*D$r83>K6Er#;?cM1B<54NUO8nin6P?s#Ds7AWmwRkOB&-C#!QSQF z6ly%tw)EPQ+waZ51dq=iW@$**hpJpusPEu&+J~2$R*V!fZeqpLB3U+QL>Il8Me6R~s)wiudS-Y!wyz7uZIz?1( zmiK^p`NT@1a2ZYOvwIzysBWnnCO)p-Qy6^pcH3XCQcq4tSadJ8AN&g@V@*DEm#!CW zsW5MIrz)Hj9uW>v!4oA51l`UE*>+;378M=*BEjoFb&QA$V5`;pYPIA~_CTOTv;j)? z&Myl2oQ6HDZuYSJbj$|_F=_u0vfdA5);=rI=&I($&B7nlwHLpD^l7n_Dzw>g*%Ke! zi68Z4AbXtzqjgS68{`ZUUluffP#Pl~g7EY9r!w`u>1OX3R#~|BDMsmWAH14sL4BLt z63*n(?K72O8en_Ny`PIV6FX%RULDMLFfj;!dio&Bd`x)R@{pkob94Hmx1};oU!O54 zml^6_;T9S0HF7#O=|@S7$ySF@#43au;cl&KH5lZdvag>GTJk_wz9VDHBf7=kDg$pHEJ7? z6VdBG;CA{6&fxeL()BPii>VZ)##!Ks+}WqW<=JSP{MaK{5~tRW^2b*cUe z5XOX`DNW_Gcgx52Uo0Wo_!cLV{5Ud$Jx4vhPACGiY zB*nS#$n`jm=9Z08_Bt72*s3BUUEQo+dguj3YB&Z)28bq9XZuMCtwqiy>$fL#)J#30b;rsi3FJzr7wZFv#X=6SXoHHYckFv-LktF$-UX;mfdOOqF9_ejP!GN;UFCEjIU2iEM z{nOTeSg2`o(O>P6e{eqKn_}qfcuVGz^OO7s8~6F^5X04YyYL_nf9dZq+f`rZ#3Y;y&lRQZ6ArjUfgnoxYl?o^ zF`4Y5#mqMgsYPT;4s%=qZEN(BQ7DP?T5!>5<8rtBma$tBy8u+}^jGq2O&B@Ae*{&! zB%HmoG2R0*OEipE+4MsijoLL^LT$3fRjcm7{Zo$t03`Bs^BU;(?UjbJR(@?T?s628 zT}Q?jdhV*cvwc5yiDyJzUBFxXkj~cl+B?S9cFi?@p{uBC%0LBI1e1F*9<)gb^xOx{ zG6i&o=hQm*@wUdV=#?fDQm!U1gFr5`$z0wCThPAA-{?90twB1bmx;>5LnSQp+UI#< zo6mp$y1EMM|$a~)4|d>i-QpxR^DaPo+{8*eq_Q@^o&lOBWHBQp=Fa_06 zA{|F-d$_XeQHd+yY(GjD<$cm}x}TvKcy7a|Pxwizo`k&Rq{po@?$>XnD}gJcRj6!48z_ zxl1ZMC6KRK_(*bet&KXbze0?YO2If7%IKA3A!+H5b7NgPV~-ZhAuCue%~#K^xwO8; zHv?X-YTp3Z26%IpgL4WGr0$-~q22@>foGL_0**4@yL>OoX=Us6SQl^Rv z6GR`EZ!7S}CG`em&o;Dnv3;_+^+}@E^-Yh5yIm6Y1jKIt9 z4K6hF(-T{oR3l@HCG`S~s;xFuFp=Wa0>eSC-Im>pH>qwG5)auH3PAljOwX?JXk=l` z^C&6&hP0Z=a`1(rP&!fIY+HIJK#MziXYb?G2M0~xe+N(Jn0m*%w7V}I_HyuxZTm|{ z63%|S@H@}+NKweZ;qQ?xV&B5uj}-bIIhkE!-F0T=5FvepHfiyRjjdGNw8L@!UNzG@ zv1Ryf=fd9sPGRczBg%piy(N3pEy*~j*Vne??Ss1oJPERmH)qwYlaa%P<9gP%A&%0! z#aG^La^#OcGgwPkqU)&2qSr=B|KnqCaxjV?Sh^0q4x}lE23L6k$QM7E}#>i+%l#(AW zgrn@f;qHz|;YZepE)Qvj_O}}n<^~zDe38&eJmfJvFXx7RSBZc9k5Cerk;2!^A zckN+k^~S8|Y*GICct<6M%=9yod)4U4Q`qk1jviDZBzuX+PovwKD)*k{&?o9f!;ZnT zpO;>DAL`eg+h4GXOCJo$22$p^FkQVT#&~w`*x-};tAaOnMK&!Yf8g4ff`DJq zEh@^YPAD`MRWD_;cJ+C)| z)`h3M=*`{L>Yn)&4^Sxh-H`KL8BZoz!1gyX^Pi=(c7l?XvQa2Iby&J(4@qWrtAP;_R2+`I>&8(=NRqVSo6M816GJTD(OU- zx(OZq-(Ag4SA;%#v3u)EaB4wu3VYG@;DhHcA|LBqRqp7ZrQ^O3MB9hg^1zM;{V>NUg;kpA^4I|zo&PJ&g8ir z1ue?!IWIKKPg`O?5AHP{4%(l^j7E-Htv@h-bHgy{R%~Q4ZboMkh`%>jQR5brzoeQR zbgxjAqYHug>Qv#n^>AobCAZal$T$95ecE$?wjGv8RwL^@zo)LtDyP#<#d6#f>rM@B z5c15;M{N6%Wc5IO>U}_b_%Wm@KYP4Nl?&Qf$OJ&(lD-3{)hJwk_oI5GKtgwnW{&Zv zS^*Jy0kfD!6jG>UtRvFR6L-BsUe5bj_mIV8;1RpJ0b6O(_tSg2KYAj>^9lT$bHum^ z*xrE{yv-Xc-LR+`y@&(ZMRSYImBy}NF3`gj>dez=4AnXl&0NDYKb;@)$U&kT<*AV` zf1Ynkc6$8nxlTx5-hP;r%yUPz8x^LQTW$&;U`Q=57t2vBKK45)XV>L$OsCB zl=aj|y#woi2mE~#y~*Uz<1?H=l-eb|KKZNO_xUZ=(S93LKk$O=->Wy<69Gv^P3^Y% z`#5mP$!lk%Q@LJcn5vd0PhbKqT^RJK`zqu2zP$T1_=!~`KRBtAC_uGpPY*7K#QfLikkqS}_Gptl9__EDx78U0iY~}5vfAb}t9VQY! zx}KzNcPYTs_L<|$2Me%c{kcOa=-*Y%V?Q47r}+N~rAnz!qhFfaQ5%!-&v-T?}>bE1LLI%jJU~APLtIdjj-AHK@s#-hFk+8KktP_-}-OR^OpG?6; zMX`r~6h;;6jbfPR=oS@}Vawjw=r<(Q6{C;pIwzAI;pA_$rtyvZ?5MQV*0NcfRZXXR z?AB#X=js9GsiE%qm!%xF%{~ zitS$K_n7p+Lf^m5jvftol~v770WLfqHV>;f=1^jm(a8fdKiD3L32O@qF!l`p0|R1C zimvIL_1@d9>KVQrch_sE=w@wIlvp11Z1MWHC@&;V#y#(w74K;r-tCV{vnJIhPyA3D zR!Sc154r|+u}@VCoi4%4VbnsuIRYnDHrFeQmehu#)4z;ePa>^xS)N_AZ0z4krhZf6 z{hvtj`k=4@To6=0-dm$iKS>6*yH$z&X(YGj#d9C>s|B;iNQ`3FT%^qQyM5lOI7H=T z3eGp$nZ4|JXb3rceaqh9ek_v@+vroJJ{xCsxPuhN5|!CZS%DQS=hvk>cE`S4c#Y>! zUU_Z+GndOiXo{9U%XaboqlObP6NN}6#w^Q8C52CWp`+_i)~K2d7I(N0Dl4Kwr{R*! znUWAT8Ysb@+DT5=La#V4Jh*4Fjz~lEO6WXS30Tg@<$7jOF(KmBcRx$#(~SE{xg7N# z*!A~b_(0dA#?J67hpx9XiUzN-O4dUI%?;gL3|g8*cN*B>?MQ39y;bL9qlyq4B`J>t zr`C!>i>PirB6?`>*99%t<))IT_c6`ZX-+y)La3VpR!9+GC4>=0dPU9YC`z2%>HUx@ z?kV;0IzoOk4rRNxd33rwSOhS6Reu2+k*E`cep#U+un0lPP9v%6C1l1%c|fd3fJcZ; z4#SReI(8wiDBMgPK~%{uyg*vIqy}8mE_NFYv|e8py2w;ovsa2<4b{nLZBJ`bB{-gr zOj=JyCX9B8V%6S02=B<2$!`yR41b;23=B!RNUd6{aVX@dH`EmJU+%GDS!v-N4~OQx zMxdTb; zsK^xAl@^VmZ|(F)pL51tf09mrp` zY?wsfCfEBONikAzSHSri7ny|FmQ!;vJ%74*ZnNOf^M&olVnsP01cDR2V{hXNUT%=@ z-BJ16t`ZDIgv(4XH+C2eyzeyZ@hn z*SnaO4Xs03#cTht@Eri|JOBP%9vYCU67*IH->9}4=k2i3`jXLrD+OGyJcKK_quc*5f$Vhg$Dy>g+2JYE#ymJ)SE? z>1u4+cr88IojcY2@40QEwLdppu?%dn z_&{5Zjx|)v+oV;401nEBu+YhDDCulZHCYt*bHVr?B$q{?#8;6BH(g4T+2m|o5s%A|QKe&(fatY9T@!RQGl!&G-TBAC#NO2dccfue?DCL= z5lk}1UrlNs9>DYyT<*I%E~SFgU*K1gAM&_c&t8Lu$5k&Iw9S$<_xkUC+xBKh_yWX*fKmYk& zXXm~C-sWE)@QsLP7Ukmok-sgBEX_hP_YHm=Z$Y;cfcno2jdBjHutRAFz5CUX#(D({ zEHjR>qWEBUfKLbdy4RtEvnEj`h?rAnYW)J;*nD;alln_Vv2OA9uuxcS4XNMG?2}4& zb`9(d6L6mbJu{XD9$3GN=g~fyX&ni)&F=EBFhmMO`21WxlMA#|P2Z!v;Zji+|B=+J zHk7Qb&Fhh;M|0?&!p*A|Y%0E%q#a?+VRT0>>>-Hha%U8U@ z&qon;cXx;@uc21;ZE;Ngw_(B2(=*1Y>Y>~$?*WfTL1AH_+1UVEhaO@-a!QH#6o-t_ zyMaXKF}7Skyv)aIdrrn9NS~-GxBK-K)Zwc?q$X<)AL`VbI#QVeIHbZ1`&<486>)18 zx!3Q1Z{Hd3&Z#n3dE)!mo~(^?^Yvp%m!e;<*sOo3ko&{)m{gO~O3og(#CUZ|DcsYf z(1HY71Z@LnZ!yngatuWFt6vOCKzSPab|_cZNGj~tcRJ&Qb!TnK-YugNI{&IN^a=C+x||HoWo;Et zANt^4CEe%RaY~^62TB6OaJA`YsSof0$m#PtpGT0V7tZdSRg~(L@K7?A)(v=yb_YWa zK;@|Gt;5Q2vR{O=SL?%72OS#oh&xjOr9$+xdUbqU`?NuxG#&6iRWNWwHl@PueR6zz z{;qDbCvhl(tCaKsUUnB09My}HW`R_Gn;KCcdQ_ice5xB?OJY@ahZK2MN{^S5?jT$z{jl>Z%5=L!gW)jFn|)~ z`#2V{imPwwAwPD2t3E2Jr_{dZXtPAN?*%&>hr5D4c`#xo_{=?nM5~Rq(fK{ zRAs}SRo$jxJ9JP&bOP=NAfh{U#mn_lP%SEk&wIkkfwgTw;%D`*vfobb- zPF0Z*Rt~ff`fR|ZDmpHs8C%FjE3JK!sOF*WmhzCe_qHM*$O;!8O)PK}-TuK}FzTUP z?&HR>$u8wi*FM!f<8Vmwo?A7oM!DL9#3dH)eN;uInKh=o?g!1T>-zX;^*LeN)KzpT z-QI>k0t8)0#O-X$xF|lDswxJRaGA?s*S)UVc{*~@auWOW8H#>k2QBb)ulCr9(XWOt zu3jv{s}XMIi5Tyqm)N(zKzj}UdI*DL2W7GL^BY+sE!=#>B)%@W`hW*_n9D*%3FBt< zR)RtBPcp|G!YTrXHkMLmISH(S0u2~~VcbKmo>YXl!*2+WK z*3qAoPVm`NZS57p2~W2_Q5^6X$alwN+DI3&JKjSZc<8pwy3eEnKgm$_UhNCV?FT%^ z3tznuAKtYDdMzJr@)MEr`WpaW>F2p-Rx--(z4Ft;zsu$5@`Jw$_U0daMR{lRObjla z&ne3U57{j=JADgH`Z^51C%`$aoM8@@973(IZ5RHj`N1;fP11X|7Kz$ z)!OP;K)dG%@{Kh;c_a3>4f}5DG}av}G+O{bY3A@am+1uX?uEedmr})5`{xANE)ow-@Kg?hmf6jbT!9HL8 zq5BtgPev<VD&Yz%`-s*bZ=l8pBBi9ixBv+dM0$@N}FQBgmnwd(0Tx$dcO@JTgX-8j!XoI1mEP+G%E-7-GB8l#qejA$S0@&yFC*riCiYJZRW5y; zA1Rw3!Humef|bwsf;TREMF#|Xu}q-7KFJPbefA4ydsm6f!$lTV6;=hw{0*LnQHXU|aRQ@ZTGec`=RcNu0y@^r z(^5s%YG^v3fp18g_}lPVc;&IGE8SgY5sv|)!LRabS9JNw;? zs&_wYD1URi6xSAL6+$j6>!PStqVx4oe=+b}Ku)3aKm(y7Z~y!NE8%4s7-h~X(Ja72 z6)nGxV3=m@`M|+Xc4vw}XBpIQu4<6poD^{g(xoh&Jr8XdoX!H*j>U8KS$Z+=jAyCtA;UuUWamgk*Zkc9;B|4 zvW40o()>_Y9--ocFBMMLjlB+@7#P9B_hGHsrJ5+JbKHfvCDV%Eo!4YDF2*{f3S?q_ z2{76tfGS%|I3(vMB*~Ga)G2RMqZ39wO=5_}#;G2}kt&>H%j}Jjjs`Ck8z@OmxmZ0X zm9lRehsonqhG)=7W$Bu-3|njsfwbR=zivM%8`70erANTzODkmnw1+J5Tqt13o^ zIrk!cUvt#G4l|>4tySqif}YCyQG1eHBBwQ%17D1Y8hx`cgRUTZ*}Sj=xh^ox-^j4w z?HZIme8~4)r6!NlD&IZ7CZLM^Cas{yIEaWg-ncIwK4xCH-E3h4_>#Gb$hTcSZgeVJ!j`4@dMy-c#2XY?Sh)CA!#w(mNK*yVcOd8M7*qOnLsP7D7d zWl+IY(Ke078kZ*S#-mF8o=_wC+r1eEl6Pez?-EtQXWpHyMs-ca*1dz!V3dP??xu+n zj-;k5{F;9w{gc1QEAcEREWv)8nyOW5`ug89 z{q$4Um<^H+n||M>gv0x#f4R$f=gX-`<#+V*(8xR*o%oE}drBXBXiH2fx_O=QspOw7 zU)9!fr@j#m`j|rA3z@ubQCHc&%BP?Gr?Fm1=@7m5#6Re({XvYG7~&r9T|fkfr#g_y8P4*nmUL%Mrsk@$1 zkJz3NtR#_-U7v!&f+|iA$&1Y7qz-4+_6t!n>sF1|GnX3KYgb+5%I8p%-MG1o@B~SD zkEA!jHI0w9P#d#2W)aY|przmxSoqDGLEe-36o;Z0b+)!Vmul-&Y7UK&G%Uif3dTyf zYN?iiz+O%uDQt;B;R9Kfuv?mN(e4XlGCIEvFTgU2ImBjx+KvR`j%-U*Oo3J#Aqgg~ zy5g85KM+6<+|usz53xUFL)VQS)UgOd$^pa@;y9P<>Pqz49GzrA+c|F{iSUSYu#O zM_98vj>+|zdKz3+Whw)}2n62HYu z(p5Zvn2vx%b#)81!_C7^*3uu@3299C zu=|szQMN0d5tk2F`^!B|25}FscH|O@4dYoUK{I4vJ$Y>A))tSwRK?NC>_#PWcr}DA zko`=3DS5}d+ZaijlTE6JvZRu*G?6@fXjJ@ttX{FvL^tVf`*UM0yHx|$RSgT@G;%T3TmMjT zO|dK7t)E?uwu;k2L!wBV9vh=FeMUFs_!@DXvo7BP()yK@%I9A1X8>XRQkJ2P^@r%> z0974DK<*oP43Sce<=eo+PJ<$?5ICu<+20EjK4dnULdEpkI}dY8xi#i#$-;$p5}iCH z+YkNyN=$@NmKgx4#IG}{lo~xCqABbu?!jMCRQ~drZN3pBrN-(U4-7C8E)iOQfl^FF zWJHw`XDOUC=vr1;j;(d#iMHTsS(Ln+aroTb zH?Wv46U_r2J`ku@V(#g-#*;oFj9VjC#+7wPe#8JaH{WXwt2}j)0I?}rbRYLDffU$} zb0yawuEKrnfJA=Uc{|QaSGd8&zqCh~Yt=|=R1S924k(I$quZ7FOCnE_6Cyp90KE9d zmdwyePicy89^i^A*PHgrUwE09yF|N?YLDM)hJ-iB503Ob(V9Rig}jp~6MR>MdJ|+) z{Eu4Z2l0MR@vGnefFHzu@cb*uugaDz!AvrtZ;{QtZO)>qsBB@olvO_@o8($*P#^a! z^^lfD;qH*!d&_2w>CS+}=8GvNn=D3w#Ls1mgHD7GWY)lw?-iS!0n4>?+>CYtbweyt zeht+RI!<)2s_ju&jr?=e!opIfNzY=Jp#Z*kI-4B-2EP$v#@%g%wFCX5smx)`;KI1! z^w3Tq>q9Dp{7C_jpV(kGSGrEtxc zh8I9u^C`Vm!>vx!!VzgHegYM`A68r6=p~p_RBW>ve(-I~BUBvuWR(c0d|e`VU?l(i zj5Uvej^=+Z+eJrX!2w$Si`2*?6R2^uS~O~WT#mQ87HUTd?Dejpsxz{eCtMtBB-&@N z!DUb!qo~eYIKg^ zrWcuiDk>mLL;&`et2w++*UZ1^89GF+7q)5W~570mXbmuoiCZn^jHIi4`(WCVom3%4o{Z{vxXN=f0vpufMWcG50~_ z!N+hZ!o*{j=XWU0@aR2e3MgJOCjOI~Pf+MAaf)LiXhy8hQJ7sX>i*lwY~Q~?;Y<;ool6S+KM3*UHL*%NB##dJ^ZWpSi0UtU7tXSY6V`X49f#Z3p8DI9gR z;((esxg}USTy3`_W}d2ENk;2f5TAX_hcV!n;$T2^VFztp@8M_<%QsIcs{5qQgL$_n z((LxgImgUz?X6H(fy>VVg>RSS=04h9`sRf%QJ{CH?h|i5_M>VaJ!@odJO~*!spbNy zE?hY@Ncu3ej*7~ls6$zQ?{i_7B=PlxA-qJ8y9M!GM&M0-TSHX;zYqnpoGe=PMjwyo zipEq)utg?HAHd%X;XJ=wqPg4C=iF~E55+t;Vmya0o;xX%1B&wtdX(r45 zQi7yhug#O*#G@5b4Ww<5Cr#Xq>OSL1P|`LI{TGDG=BUG@f{BVW#7bKQflcJ+xh3z# zykK9kqC30WLhz>rTO60ET6S&}IiFHn+itWhF%!tbaB<^f6E(%Bl(VzTd*#gTuZS^! zfAE$#V?csyD4H@4Kw07lb7jM9LW zYz|52C4^m=eY>;3#B$m40k(7oN#&GVekdYfP5y17lJ?I68%YPXqYMYk#GhpU3D zw{5Fl!Y3rhtA{H|K-oKtM!fK#RbY}xW5O*qO5-;GBI>E5#wfd%_FlatcaK?Nr-bV5 zXAQjwEJ6{|PoqP=5GgmT$nEoUz(h)U0L*80f&J<|Rhgp9jk}$MyuIsnE^FY7fQV%S zL-7CbXQ7CetOlye&hc_^hVpA!hD3fxrxdrc{O$An)PJ|w9SHN~0d$StT5>|gp)1>G z>g2WlOS%jct!+@lBdu2U3w6-?C*=R+P9QqNpZMYJ6ffiG+2q3M|q*J z98d8fa!CjAXTQa%t{u%$vk|+jwJHFrBNI7XCOA3xN_33Wb7~UrU-(8@Hh{<~Vn*(h zTqw}k*3WTJGk8tGShs&0j7~1_8M&EbAN_&5+(UmTi_RL$P`Z?I?4B7&RiiF0<}_o7 zqTFG9t5c%5jM55mw^~14T;a48e#SN-Hb0}5hwT*5-i}KQK5v z2V&)H7Q3$6;;PB10Hcxh4U`=nUS^pRZ~BY_b`eGNMh}C;SlyX6@WrXGSR*q2qn7WBVG%wp0!p` zh#0RIelTO1L3grAO1w=z+Sn>U>hiz$sKszOSLv>jFd3^IVD@Z9r2jH9tt-tb*bkuh zQa~$v_vy_6iCUejy109^#4k%0M`f{i978Lnv?=)+b60%rUL}`fRvP!4TWpywH!5{4 zdSnfEN7hX&>ZCMYYyCniT*%;@z?^SMlVlc6pe--{kU7(3n;NYMpL(!%<@*vyxvwM@ zIwv_@%nFbVlUfQ-z+MAjVPB@hk=*}NPF=CvWUbOlFP}rWKh@m{CK{&!gqSSt!>@$gF zn4RQd)DziiQ$=W9(lj6el%Kn|!SRzx+ubK666GO+7SzL*;4+q^8YDrt7l3=M{If*q z%Odj<0-RyCZE|8Jo=#Y|1r`f-!xEy!SzF4qp>RlblFMnZx(T%dW4J@MC8EG-N-Sgk zf*WD%ckKMreP(?5M3@TPXK=#@p%D!|duAs|=;I_=680|EGJ8%3Wd1gV=4>|`plrM4 zkzSLfbWCOJf9Ko9TcUojNAl-3N0yt~0;wXeqFdJJm9<+WTGMV&^DHb9a{?D-8{Q*& zU3oMEl4rO)wm=B#WvjGLsI`nID~csXe6j}~?qbv0PaZ!PY#7}vF8U0szQ5Wqy`tan zdT~wB0XWdp%63>*KdVeb{WzVYK0TIuw30{WF3_!Ol$ga(=cOqP^EfbnMfh-A$-ONCi=xPrYg0OvFvzLhK-aP3~{3s zD=c&?9Fwd8CJ~d8vRFqH!s8XQ@ST}x;dF^Sl46TXBXwi)URTi|H_e-g(3}v`D8S)6 z3?=BP6KErp-)Doa<&gW$^uUHqYKu7Y;dh6!Fcfb10D6ATRe+eb)IBSrEN*ZBCRunj z&xSwW4xj{_5(pSMhYyH zDw>)lwoYLA+oeW-smI%_g&2jIdc#pHEf(su-ArUuG>3W4f|NLj1SU!5uILRxaAm6? z2$xx*^1(P#G~~DKB7snl`i;5@Y;4b$g|p2RPgHZ}OVyg3?2h9%ZPe62H88xNTwkTR zB?3N!GY<$+Ngm|3-C{{%9;UorAOHiaFMCeih@K&W*%(D(ibpEF$R*Q% zkF#?Dc$efnXjAnX#y52$VU$3QEyn+fMs4K|(L!%fgiXB6S(B&2dW zm;;oz7!?}z;CzS6KC?wI9g^sIv?LECdsBfx9-D>c9U@oC`BBRDN4ZOoSv_ce-6dt+ zQZL1V`;A$@YeFi26&H1usaIDLoB*ED92AUDa{wOK*%+AHk{-29hksmz!m{r-54j2w zFKH|7E=9nLM`M1v8-z;1^*pQg+!Vfx4M{4?w`4yshvz#!{^jJfOnQn&m*+g*E!k(j zUGjm1h)rCSylLO3rYF4gxsr}()vlWFYjrq9yEtC7vT8yf?eF=+6R>s?iOEGb(Jivz=FLt zw0tnuknnoqJ9%7%Fmex$+^JKQ7JSZ(q{<~6qi(iV2x8q-|D9y2GQ;@(6is_hR;T~W zy7T#Kb7Bkg3ft%dH8E6fhRtG|NhAafW$_JYl=vk>yycU!B$7-3mxs08f8A%AVB)W@8 zzK5^oVmx{X;)DV%yg^?~TIoHC8lNRCkkPzjkuXpO0YyjW3Zwmv0u-I~$vYQa_7+uW zjgr*yLX+$eNjYI7<|V3EkLBi315hS2Z&<@D*T*L zRUC5fCVSNZOP0`j@NT_qE>1EwuT2($UB1v^7=X=8of<}De>XI6QfG_Wm0G0{DAuDvba zDbSZ5Q&DO^rJ0X(V^n#X|Dpq9QPz^7_y1gXoIdS#vr_@(6&khXcaEvRn>P?!!#!|c$4 zVgoxZHxVC5>-c=MV3z1rP;8{&#MR`HXo?p3V!HiJ5k`wf4(;3t7Ygaa)}W5*?Lcc< zmESmiX=R`*m#3MEuGIn!M&*mIEgHc#K-v(;!op`;MI} z+c;F6lA_P=@n2*o7(hGPcn8n+sReh`o8&0%1dm~!qxjgFk@90CJ?m;srF30-0xc5C z_2_gntSrYV#bli8EQtn8>0&iyK0pc}!7&WCy6p=x^g$OzM`p%aRgS*fb~Alk&&)Gp zYegNG3TdOUU}yM>`o=QlD7@Lr`ySRX&k_NndS^J@F8Xba-&c{O+HMqdCeQ3XPD3kyn0WkNW>{e0IzJ{7u5 z{`)p#w{s|#bhTz~0cw-E+#fGfR&9E%w!pfXJS%SQZ6Z7-|92T$NcBXNO`D}cFa_JB zT@IQTmCaw?FnZy5!IN`k9$4I0>Umx>gy}?UgsfySzfakxGSr+nwF?zRmLB)g$s5LK zjlqX;N-?*I3!Q5sM!EFI@>!06MICS@)ftDJBTD+#YIR0mfGjsVxP^TFFvjjZ4qrz& z^kOLHI~Jkzb@HV~+-h!{l2D5zD~De&cb{s?Dk4Fh!+Dr3(Ew2vGLZ}^=CEuJOl9MZ zKzq(-UgJ{f<=eWiZl}Gc(X;u1A#$K8LuG>pE>Qaz7%y4sCXxyM> z4q_6dZz9p6qb z`v#sYL^w~0yZ26_g$3b+^y=Ayf+hZ|E{Mh-34BO;8TB2B-K3A;9UN-FmFv{yf}@US zhHbe6EMp#()#7t(=PKHbjWU>{uL>TZ@=UsvlIi(+%(+ zv-%A`IXp}^s_w>$<{T4HI92Y4GWp$({GHV!*&qstQ?*w=jPq42PhwHV`m)T6@ZTyB zZ}WZ4JEWExJ)M^hO6noK@-5nNyy|s0&c;=;7dDPk>9yo~UUh)O2H0CxrY=2DMt?Kk z+mD8G9J`o&_Ke zk{QSL1o=c|jh29U-C4&oLxs~|eppbB*6$emF6*i)_f!{hinB_xsnq1R%{755Dh0HF zv~L1UTecX@C;I61xz0nUnY7Ak^5}QhQq|#5dYzafcL%{M0-p3!Nx1LvuTQaE;2K`o zT45foMyTi~TzYr|QKh#Tk$T57P>PDFKCwzfFJoktlx%y8r>4Bme$e$y62Nrz zG7Jeg8y;UY(Pwdqk_rBPb&v2+e`Yj3I2e0KyASbvTFGebunLt3+VmR_BS5|pb!@bA z!!ld!gO=lXY|{mmeD(@hvCXqriksJFMhomlE>8_TWXVFd}5@6ZGBOr=prj7XQ#@_2=ks>`*uqk_5U-srv6OViD44`dZ(Ge`Y`rm=lw;eRm` z5Pq--8cS{Be`|}J9`8X(AW!p*LDRKg}B02 zsJ*x`4_$o;5>MGvv@6flj;G6i<5imH`|HC~b!Vp0<-bFrg5!ss`-h7av6IHg@bzeo zNNDbJm}oC^w=5PY6NEUo9Zoj8I6l;fx7d%|2zsHDV+Z$|PKVLOLcEV0!jMj|pNVHP z234jhV?~YpvUrCL?AI|tv(^jVo~#(3Bb3dS91(y?B7shI6C`|n$y|kd#Cdn6TsVC6 zgq#x9+~;8dk0O1#Lp1VATAGN5?ewv0yLU=K?=^jSPn>e%kHvTQ+yo3jK?-OG9dKQt zq!UZ4+2!>?L7{6P3(>v-7Jzxd)}eHsPf_rqHp8~@Zr~gDKf2mfra|bJaYi{iXo${t zPM}a_2Bln)6&U{@EB9?xj61Jc1`msR)t7=;{?ohX^5=uc4_`%$5^FPl_ShQOo^BMC zTGzixazCC_WPdSu-1vm4PX(j^T%6_yEY$e-=<=KFuEASB2p{_HlRxc$6!8r-r`h7h zQesQX;Kj;7-D*$x1hPoia1Ah#L{YC}rpKQfQHU1{-`v+S|FW;&<3l zbfND*gf#Xk#Q;SmLaCxc!JpV-O;bE*I5gU+XuK2|c|E`2dtyW`>MNsmDqFYJ?8eo; zhmoR~SxirsV{$Mbp(Z}SiN#%|i{IbaM`Qwz`>UgxOi|RrpvKXpjQyloh7@s%;6cH* zsD1D}mTcE*)Zsn^lZTN1amJz@H z8_M|_xogSQQOK>R_@Ly6pkQ;MpNIWT@uX00#>9->ox}qDUHa_QKuDG1&JkCi?`OH~ z589O_a*mAsZQ>#X=fJ#^*y-z++Vh$!h4Y8Slp;XntJ*9ksYr7H^?STIwqW*eZ2j zDHsSbWV3>MN8de#&}4Vc?_hg$VL`lurj}EuyTbou2GF*!7q@vbZ$+k_fUR(eZ1?v(1kH3o+-$dmF>FNSY<@NEx#Ag z?;_Z{$y$e7t-ANRoural%)OUliV1Jw14J)1$1>> zVy7cpl$8Z`k`w{@ZE!vjP!+?w@wy6Fm*&Ndp%Z(#-unXAGAW)|jFNXXRMhmV-td{O z&OP?@2Hx3oI+=1#F?MoCFhbO$2n})C>T7$T@Y>BFhf(tqj&#C!OW!neP19DC7)kkB z8>8_U&Z@!;7kiud%Rz}QBrFxINzjmciJr>^1$v{LTN=amDMA?BfVR0GWfE3o3GC( zGR(Tm9n&$_f3MhqqrjtLQ7*2O39;Ffrzouw`7g^v428ku*4xyUst;*qQM7A2=zagWLloIuXFxhZGJx-|9M8Au1*ufJS zgbp94JE}K%l+-5!i$jD-o$e@weqy0Bd#vn!^W3e!fO2Dft&4EZy4zL%u>HNcj-2m< zltl`I*XKo;>76P_LCexfkECV2oy2R$VH#*xlk=ip(U2{jvKK14!s3rA&0Zf!H{O;$ zUwqZS2@J;a{cu_;8VwvO>XUod2kazx`|gmH(*sVNwTyQMB7tG5K_P3(>zYMU?y$SH zcL)$Pm03pPT-v~h6A>?qkR$NyX-FW8XlLfVBW%{tchMmNzrhZ&i;(L?Qu_Z5f8w%H z;O9x1?#ElD%!%sr`Uy@?7tIa<3ypxenJ#;Vlk=ctMlfV>Q z$q3FqQ(`=kltu+VHjx~KC$hpYH;bAEAiU&v&twv;Wgg`h>nJGf-A@QPXf8VR{Ctu ziDrA`InU}xwsGdOjgS!xwJbeg@#?K#iwMusdJA6nQX%T|tE`nKzrliP&fNu>jFMRQ zeZ19&j0@i)p%-{6Gi0LkEG~Veaz`_N$a1tVt~~d2Hh6(6a&j`0Uyg0u6tk5L^)l8N zcUC2c5-BR@Z#8@8T}Rso+m^goI`a@H$wRHL*!r!@tZFs5Hq*V3BqbGpa&)*}Ul;(o z^Yr2-4yy9bH+$X5D%6GHqSxwuJTgB$d2fE4J<3$NX*3)y4$%}GPBJ^oAB znnJrzzSP(?`{y&aRL8F5o^zFmq4EWIe(4LE0(}w1UJLngxBJb1ZEGPK~LKD;b zXLOa{w$5hw=G|cNr0zh@Vgbcj4y7a*$(pUtvk|$rd;&jyb$flPm7U8-l%EN%ruw^I zdTcY}ufYLa|G$u9{E%6Y`5FKDL3QID#P#Aze9!;zNvqHro06$J;;)5kF3RcX*fIWh zel;z+T_d4WAqBtlZ^{wWaG$JcXz<9-6B%$1u1_WF+uL$d5}{T6XXl}Ib5vY#Ugl=# zO9T3;&zzk6m4{vbOd*e=pN+%_-;(uUId)&zRF1P5z<&(E=%SwcBlb^p1$rTxt8!%4 zB6Vfc`+c6UCZ;-i@wv(_-#{2;%109^!b&1iGkITJ$-O|_ahg2TukCWh@Mzf3y4q~H z<-Eet4BI>9ux8Kc@AB5DThC5;+4xpllYZ0ZEeY!fh_D2=n9yFH7oD^7PL*jdEIhfCDHvjFWD(u*ai-{5t*gS$-M-hJd1APb zeA@Jt&O9{q7@x(ynt&?c%GAQ4<~{X@K-YYdZaYE=8o{7HOH#PjZu(z#vnS+)(>y_; zbQrY6>1gtiXz+=6Q@Ew&lK>4YEeg)WDZRCAxiNx57y$@22&M9tp&p4E05U=xla`#+ zrzowABj1g+-p<`!A!SMy`WRfV2wE+dShx7Z}RP|SjGBu8yvx}xuqEx?rbp{hlI zpJKNz5JPke?+O963XMmNxtNq8xa`TXbH|0hZfGfGOnGw3TTtgrWGRw;Bs9)UC%O(9 z++)S}rN}~1vMU!KI@o_~5J(1d*%stAI z&p`jd?`q1fUW1^GS{YY|#m55MkU1RriT#Xb9%#D3LSA4c zE2z!7eZ3?HY7OK*Y6hL6{But4pqSO^e!gJH?pPrk`&YxkPS1ciN-!^FR4N5cNSaK4 zXJXI%Y)@=~U(JW8U&`|&yFyV6_rhK5CR$LjS)Fi1m0M}t<*)Z&%-HDMUUzgIB!mg! z4`Xh;0wtHSqVi)DXv5bibHw698M_i%K0K3QQ4Y zKa1p~BFkAR(0CUgp!D(2!1WwL7amc};hFJ-84%|gBAGiY7QQvW*wkk_4XNWGgJ#g~ zvNjT5l_~dMu+oY@qI78zLKajO7xb$bQsS93(la2{vn)J&6lh041T%)P64C z<;o&gW-6>(st)-|0n~AKmY2K2-BLCQ_Wcj4lgD6}Yi6@; zig!BSY4be5UaGBLxH^7y{h(PZsxKY8NqhX)xhUKS{axalhz@`0aQzW`PVL|8?N54y z^x)f=M*quIN@IQl=|dlUE1>5-6D#Z#sPy2sf5UTT54^8E1FpH7)Ab3>51sQIYD$e$ zy8nL46(wDD^_`dgLeMN+&(hu07?%I*j~&9P-3w1lYze=)X&Hc4F=wdOxOz3PssklC zm9_bQ_I~$7fo}U(1qUF|JSf7Ea!xOPKkT_$@NGy!L(kXU{p6N#?ztR4B)rYi@mKrn7OqrDc9lgF+4imvl@edU0_yBpT7_5J zFoT<`pV*h(xfn49AFA51qFep%Y47jHE_3F5#u@Yr;z3+yIA1n!8jbGgXUBm5;#0(Q zwoFu7G26`z&UsD>zhBCVt+Y*7nR2ZgN#p6J^J-VCJ@K@-TBBLSYRNsJV#z>(g(Cpp z8E$%cEA+9Yb}VV5ilPY!jk+oLXKkvUUj5!QVI?K4MoNWZ`^Y<(uT9M|jd%9L2XD&3 zj^x43B%j)DMse}VT9n7pm+u*m=?(S0yye&;}oS8lI9=!=68jorl=_aT=er8B{LJ zw@hAX84gI9#cjXHOAuG(F(j}_n8enkLzkKgyu$5V;cYXA#(70rkJcj1T1VIid51DB z6Yar3p-YchTEU#c1Rd{fskl=r=qqJJrBN4Fq>nL4>wG}@neKQKJDQvQ1IyP|TTcn{ z#TEQ@p6%(0W~>2tf7yvB98@*kZGm6hL#S3$IK^!ScUteCMyg$a0t4Q0wbEFXA)No^~_F)n8VEvaSQ ztPL5o-khWMB(n&4>yk@Z!f4ErFAJYr^~Qv3AP<;oLS3y#OMuP^Ktr`TN>cC0ge6Rt z=vftnzXcLIYq{2J?J=}l%w)8YQS>zVf!K<#{T7Bxbp&CYEH9TN8Cxd=#s%tGB?zP8dXRmwDfnv`^uF~B?=K7;;UTxhJ9;EoUlGzj{OfkfBC739Uo{=+ zqQ8DCb0uW}0*OZZD_q0Ao|w0I&p{vkGt?X&Ms4r6kAEjkm*b7Gx+q)I4(*e_?2Y$4 zii}}!pMALV)&Xa#7uQ~_IfK0PP$f5juCo`%U6nVIRW6iV-WF!_ER;iCT?~EQA5D=S zKPF!JMygG(91E9`QkCZAIhyxF_j6U<$8E_6fM$?&60B{0y&!H}znq%}U!y?@N#7_L zAr*-l^omG-tpR-8h_w@3wWk{Pzlj&Wh%Dqms)I3h>*zr-YfDu6Dl8J>Yy0cfT1$tJ z^9`i=S@AGc(V}Icj8swyB?aq@2QqUTyJ*|LoPlY17ui8owp8(1E~RP-d;7EMnyb81 z^3bKcR+6UWO|cpm>dMTOXN{z`BXe+>cA|JDN$m%6JX*^eUrC}YNj5wb_jgc>-zggVx0NkJDH(pM@Nn$ z5(vws8+5X<|I_VYbe~2R6zk0m{;84X1FWDtFOktAVj}|-?$fA8z`P%2^;Mk5GT#GJ zntNPr|8~Q}%QQ?MCjR?fI$MwLh}KVir*ui3um089`Fyswn24lY`(#v1md5kViGg+& zja01DAn$Iz8)GgMwz<6N4EyM~aP6LXEtBe8%xVf>h4y+CX_hHgJsN>GYSQl`p3h#< z)Sh;}l0ERdxJbRSjvM)heR@%)+7iH>Qo~I3zX@wpdeO6IRv4kFExo&^v4J%H>mxIT zEq(>5_UKFh^yg_;1=C0%v5dO0-BT(jL=EXR<7q(l>pHLgycWl+TXu?@*1mbWY@Dxz zJ`#T8-If&Y0q>lWVSD~sUi7o*{Q+3xo1or5asWOFp7F@Lp6M=5D9?r40&1=NYLr(f zkCwmUFt?jUvT9Spdx^ij;al4v_d7{B{Vr3o&qXeh_%=CyO@2JvP)^8SXLm4EC>P5D z9D=@nD2gMHPrxbe_>|U1z#J=)L#eNq`0HMHET(W=Xar z_ol=tw&NrdCz;&b@r^^;ai%A0CX?#KjvdEcvL&lGQWSeHAVKurdpqdo;GW@H{KFqu zTnjiGdw=_Vp9epuv^D^R4M`9Z_!L2^jD&lG%_(rxkOXvL8ndW$nuOWX3L*gWK%@;w{DSD+RCSUZ_25zZ)1X9m zFRnjSeRdZy!pk;bmNU%iKqh_E1DXhhgw<{?W0Ew67*97C9ye~NC?pTQpY0}x zP2PdCKgdxdb+s3s&4m?3YF_rF$)r4`<>Z9OA5cO6V0MqMyclbgkZ$Labl^d@;^l3z znZM1F&iiuzZ1@n9sAE$oJfkPqjT2Xx@xUzp%E>E_SJ^xeDN-&k&oTw?0x|M2( z%JHq1uKc+ny`fEKM7JVa?z6PpC`N*`I%atNjb^3hUqB=F3uB< z_sP9woxuKzB}pffS8Byno_;AB6g{KEKWkVU6k>oLhzSoSNSAtfvE7ez!7wI`?fP3) z0%|82jx1J6iMy*qs1=6WjE#&*v(!zbYqWQMlCuXbrK*?ELuIxt)6J<9VFw`tO@dr< zh3{hc!?c5Gd;%@nN#~eI{iH?;Gy~iW7IkOC9W4S|Me)JqcrO_r=N14=+y;s6^Dv8~ zCjPqEPj$*G5eJXdl5k>c=(s20Z4J?vgj!ru38|5!?#2QisZ2gT$jCae3Pins>H@h30h+JsJD9z!gJ{dg=Xi$eQsospe9ZnsLk9Xtfc zCDLeJ-}f9nPFf~S!PF`*&UqBdyhhFnSq$#%DSByZzGRjqqN<6fZ{Xbo9JeEZcLl93 zFAz>0xh5dpMA%(^#eU5vK10a(5-rSSeva&0gG43NP$X1so8y zzSa8>L~)T&Jw75qUE&K8&x>2r%Nv~C@1bqz$5t>&O-#3<#TE5h;n2S zJ!y~jRU;PH=4?~(Rk(?Yl9-b`R=O+2_7Bx%0y;3FOmkVR7pFvowPz>rgB47fQi|}H zV55Qb5(L()Xe0RG$^4sfTt`wJVTOi`c4{~FG5Zj-#katNac;U2sD2$R_jg$!dC8B{M zz~gu7X2spL0Gb}wm$&!q02XbW6H(-1gK_$(vI~hwOAF{1Ipw;Spk<;kz5N}yf@^u* zRgBACZ|Wy91&A<%z{DgQav!Co+1->9n(ng>&a-^$6T)=lG{! z#YA3^TIO+YNNz`nRlK@v{x%*S9P=K5*ljLX(dHGoPYxSTp@$(VD6FP+Tr1lSPAtI)_XRt;7dm6jCEj6JHW@>jxmY! zIKEj$AlzbGNfF-f&B94&k$)bHP}Z;Rn!d5E~Qef#YSS$ z1jhdeex|7iZ!2+B;|=2fHj2@bIu^j&r&1Vpo5jUDp}|uUINvIKRV>E+3Qw3|Fspo$}|A~__0-5ZgTmoQS!#&G(rYRK}dLLhFi#vWl6xaB&@ zBvG7931%@#c2AMo6a6l*3nEudB58o6Xqx3?vZQ)4m^GI;o4+wuIH{1p0r-;{s>^?KU#^A(Jb(p()c?c|yiN{hthrrTBA6B(wM1NX?sAIgg_eK!f=z-YY zx;6bcooY#9^7JrX= z7(~UhP-;hvMG|h9JO`%gYdk#)oOc|RcQt`bJNg2|HC#Hd>8hjK-X`F1`!!iDl|ng` zw8ww-R;NXLYw>X=N~$p8O#!;qDpECBVRb?$l+8Wy=YOP6F|yx@L0z*9ZsY|=83G=9B*EUILoaBJis<%wV<{{`h@WofmRfPt)m}<)Yl~K6iOf^G ziu|OUtd5Y%5&}$9-)%ASka`fZ0DB^c?%vTEQ3cqA@e)G6|ZmzMIzlOjMQB* z;f!3TE-|TWm;$L#SxmNN&Ap2bDKdWK`7*Ihg0T2M@P#fLYCR9{>_N{pKopp?vi$Xl zHqV);IvqzzJpm39_L3CoX{I!l%IX7h-!vr+`Ld;C*%pfh3y4?ksEu=l=Baum0K7~q zTH-PExqj~Cc9rREB05Nw29z{qEfuIp8wpF= z#;MeR`9e;-MWmc2kiEAP17gVgROMH<4Ux>Kv&3KFW~p z{$UF7E|XGXk(w-OOqKS1EfzT-Am2wH!#+bO#--^J3d7c7pjdB}Ny93?J2d!rV1yF6 zgUzr^QZ0-kQLO(*X`K=L6Nhuc=oG&6K0Xj?2Ud3zg}#l*K?_2f=Vo=RXP9_Wxs3G> zQc9{{G>VU>sF5*-7-auZ%}%mYfvcFhCy&SH_odLb063VQ-L$LGO^+woG1m5_9$nS) zU9)+Xgr2ktyFI;mTrJSe{@!f*^rLyocAns-zvV2{U>qYJim@AfN+%~W_acT%;a#iq zRV%U`ll}%#c_^tW=D88-8b0WH+pU2^LU1|I!Z}gj*eL&}rjbqresETwaGYj^=pFI+ zO(e@94hYpi2eQr%;O~>SvAO;(3kPr({bD5?Or-dmIv_6_M zPqQcM>+#?f|D~CUlDcLp$%~3O&aBXEAO5ZF*;_g|mH$3{xWZI?9Y}t-2lH(aX(vZo4r7koZF<$Z>UHNWNrjCappOG3=@sBiA2_Rj@hpTrbCR{kdN^XMeU8tRMq|| zTJy%&146}%LE@i-(#=-{aM)edx97VJbgFW&75L3 z3$iP>M)n%027_pka@`uf<6laOt9=wa;dwJ4H}RQ?5r(vpiFgH0vc*oQ_QHj#Sz2w+ z(hPL=RyCgV3OENQP})L~Nx&C(1>6W|sP#!Vi);LP^$r?6^sy{P=WV2;D&ofmkpj(V zf3@1#${VKRXwXE>iqWQYTWE{m&988=SWs@tNB!OBpWzd z7l#NXJ9ar=E5eqHda;FVC9;<3tUA`@n#BpaiV!3tyaS~AIOvUaARfPs z&j{n`8r(`uW=o>V;$8DP)ov@YEv@cMUN#Hf3{;3=J)*x3QN!9*o}NH&rG+ZSWD{$p zABcD40_7=^mmj{-8UsVM+`x208#h)u;wbICE49G}jl!>h*+zTJN$E=YtDIyGF=Ke! z(hvnWkeEx>l*}!}0E$Tr5yMb5fmb&uP(*DEXc_rhtx(YxkxMD4HZu^=?9?RzYy67; z3UUOhq7yxhtHio5Vj55Qs0l(wpd09VY-J;sOK*QWxlZnFpJ?R!r(%Lzogd^LOy|7K zGucKakN?+=RfYqkW7(^yS3J^w3}Uazp=T)D|6b`r&# zg%3QEMzJ5YQMMdq_x<+!{~LfvFgknACqtQ*P_KulIzVLnm9}gmLkC}#8>6%7bg(nco0_Us0m6OPV{YMU zyNdozX~EmtD0yIQiXM00CmtJq5cN_XL$qBFu0b(at6ty%6xl9mK0UXQQU7)xj`gN$ znQMD_(e2&?&zOoCh+x{whbn5$8edg6x{t6t(hpg6@E;lb#v_bYtS6%$fW(^S{N3)N zGWmRGoChL|8=i7vLbwBTH9Q1h4}tTsfJhgRg{AYUm8vkcTD3PZToC32rmAVWr;&+T zGj~~->cNJK+n!K*FRgL0N4T&LC?EHuX3`>Q8jZI%S9qpe4JvS$0v#pCZ52Lx!d=4R z=Q%B)uc_D?w<(kGY_LPP%m15mIuYq~B75aiXosw|;BEfbhlf%VHHP8=X9}zR>S&QZ zwNbfszNqwN*p34rBm9P0sB}TQVBU{6N#K5b%f|sxZvWqlCunIjyD9D199oyeBWP~# zOLO2Rt0wHk^H>wvV~t{Gpy`ZLh4p>bzGp)5If<#Kqp_G^n@=eMXko#eV<5OpZ){eJ zz@tbzQZ`@do!q40RO@wp60b&V4?Ld1CXao@$leJIxz!P&F1AKv%8955#i z-oJ}U5~Fym@N6j6GhEo$O<1JIb|!M3M{g27FYnARu0;b&$`M*0bDe%Pl?}8RkcLv1 z>_dR`lD8EhsRmQ7_$hl~ypRa;>+TM_J)3=AJ1rj39j6yOoXiuZpi_-3C2FSSvl!a; zcMj1XX)RRKaV58My`flrSfBW=ni_4U2>Mkw%BU1=wP#)MQqE`+n;)icxUom>smaL) zD1UbqT)SAVdvsjpU|V3NOCX?@_N!HS;nGY(xY#l!65dXU$S8&DGQEI?(ji#yPD*o2O_B@eb5Y~F}ik}*HoV32nznnTw6 zW*Ans2hITv8YGty`$_- z`%}&^O6QwSGSd5x`95G|nGGUmMANHF*fFzwyTurd{z1Fzojw3mv}nEYo>;IIHKwIU z7?k36Qf5CRK00*0aJl5W@x2B1D-6q%?aRy8#Ej!gkN?1~Xc{Z@zp$*ZjpH?Ab^2k{ z{~Hw)ea&O^XO^CY)^m|D&A{n#!xI4QRWep!Y)rl~R&6S@@TYD)C%F_HBODt4&$V6M z#ow_0YTXS79hqpqfIY4wF;6?)_rJX07&}bfcUHvxWAE&BPV*a-Z`nWn*Vw;|ZEQaF zju~vE|MJ(dr9~aIWg{8C63=%01}_g^e4yJL`i45oAJN< zF-W@#glx*78C_n?v}3Drbi(DN!8kZZpcUQGD0^TDn$t+-QcR`<3wYTr2O71ntmV`f zR;4bn9uz8E;VK13saUuWD|VS4K+A(91npK^W=MfJbH|m{-9nPlR!ek|CR8o=0ttEXnIUs1wcLwKon#q{5iz?w-b0{h4=7uGL>~FFQZ{WKm zIY5oF(}O5RDdCyUf0AH-7$Iyy-|2w3)ENnt&o6^@Z={H}`;6A>(d*2-sJn!%qSZNh z480uFu3=@yzv7T{hZNYRU@`?2(g-PrwuetX+?C9s@u(#}x!66@h)2=Hj#t5MK1G`LUBj_ZonstZlc3HNYprAByRZ#xoGh{q*-Y6t(QDaoLJzFfebyZ{J>jfnZha$`iI#}9;EH%dT7adt>N66U=Rj53hfVIsA zsQF)mh?I4Mmv$Qs+lSQji_$28hf4GkSlHxdk%MepVx*2jZCjlSQh)rSlnQ5b6ijP} zc|KzQAm$ack;&y~>+z!D;p6{pRZu+q80^(09CPIIYV(ZE5sB02bmDApvYJ!MGIx@3 za#B`mBw>bQfreaBKb1y{wxn6}p&=_9+$4k$#kewxwV@ZSSybNpa#Y#)L@k*}d3?!? zI9XY#q7LIuHu;TP^Z<@L(J)66VU1K+p?C|bAy%q7L9-rbqBFE=t<7=9MX8rY1E^Y( z*$dQs2(Gk?^n}Ld!i1lUcH`1uE+@=xq;kI9*j!@;^i2a)mMDp8Z$Nip344paLajRb z^&IlTIUrK3MsrBlwX9t~uv6;4Im9XIZWQSGmfH-)QR}xNNrgWTz|e+tEzlp= zb7|m7u`L4#g91^pCu-Z<#mA8RH-kMG7mx5TPevAe}xh=B6or5T?03qF^p{qL)dCd`(XD^WRu>Npd|u3oNffV zro2SVjCOI@tX|dYc)&^(=2TuO_gx}k+5EGrR>{I@@H-I{AG8@mq*JKysbtjHlVsz5 zR1vfvp{O{etR!OUo}Uq(g)T&+Seh&f9*Gm9WZy}0ClMu$hxUBP!1V88KvFA#`~$=* z`%#jxnx>*s>xaZmZ_{>3y9oTIQ-;G5I(l=76?b>@e516zu6a7s_@985tX{%1&Pb9h zp01_Z*lb$+eq)fd(aB7l{ha@bH@aBpujSQ)KpW#!wui85BRpOluVn)jv4Gqi6*20Z zhgc$3uBP02dV$V*uHS|UFOy{@xAXY=?6~)ZwKMvqsQsRVf&+?coyEThk6c5Y$OwlB zdt>y@tCeyWD*VdLHF^*0Uj01q+$3Ee-?b5e5a&Z@P<9R*I23pLu$hp;#YX?!yfr@v zn6_`<+DzYSzf$U6wtY2HFG4DT{5wTR^F}O@)g-h9TN zz@(hej_K&295b&X5oyHKIuK;kc-t^OkZEF|h}0KL3N*OOH=D2W#+u&SlyBo|76hoy zVhM%dAn~J(p!ai97mD^_rakGT6Dz&)9e75nZ7ri(o9l(#D=PV{YgAtF!k@ z4BjeqosoF?#KvsF+c}l4>#zl?Uaq{{FWGD%?JZR=<*ORCIcnfQ(T}4%O&U1>%EUUu zpn&6VJEoZ+7m|TCaggM};O|}eP5@c^rI$a9AQ-Hoi0F{blBG)g;wuS^A65Del-SmN(rDrT#lAj?nL1LfQo2<=%l%fC1#7yr&%<~SE`ssW-Jfc8wK5FTPahIP3dA@ zwk|kBa$e3t-j3O7`!UzBB}o>n^K6cnrYh)CkAy*QZecKU3i{2WG{NfxoK#v1C0ebU zagQ+ay%4i;G6CB1>ExcP%4N0M6|(Vb8pIBhVMonko`v6UayeSNM-EfU$!moy*F>Y%MEDISn1zP|9ON zz@dO*r<@`tNNis7yQtoHh>>4HTk)~msxY|0f-L~5qI=Vk5@8-NQ%aE8LCu#IHYC2P zUPHjAk|awNEGMKgTq(DfidChiG8Rwrx!}qTN|=T1M3+0Ag9Rf#T*5U7s5x4>uNvYlvu_wG7o73K7S`q88$UzknPh7`ugI+u7x9 zo)I#d)GRGcKHsWA3|~NpQp%#8Y707e$~*Ym7H53*}J!i$`7@V}1dsciw1f zrd|(`bD`7dc#=6x5ensseBUF#W({S=oo^7l2br5Rv3R~e9gsX{K_kwOWBmRb&kgN7 z1mjFx?r!?#6KBZ`#}oHNES{Lfiw}ntXJ4=Hm+k17KvD2P z*`OajCLHsZ)9c0QE!01$@cQm4Etfq##3BspFxHdS?uzLS3fq|{&MjbY zHZMc<1SW;X2U!J#!2&_s$CyXz``!4syOqMyCasvm=8ICLA^~5yUazW;C+VnwPO+wu zovh(GF^^x>KaFzj{8FBmJF2Q59&!(VzJWnT#1-y=cKhtq0-`tY?uW! zqmowQvSPaZMN*E!PP&X@K&{*>7|`J#rV(;{db7!$!DUiKLcI^3b2TK{l21$xav4Sg zC}Pv-w7y#1g@riu$DQI323xGILB2M}b_1Q};4q0SA+#)vVeHe1@npk+hW(|loV{WW zkQC79eXMfTL^Y8lc&S<_uQX$o4I42<#xmZ4V}Hre+VNe*8X@`|8viAIfJM?xXH-G+ z6|EqTLJ9eEN$yDm%1r+exLL8(fs$~xfyv8DcDx}Koz7KDB+xHaQWD5iM*@8o;~Wae zGN^`vEx;Dm6}xT7{bif44a8Mjg(WGDOXK26obGU*XVsUG2+8+eJBSy>nugrkOfn_U z7`8IXCUvr;&4-{iVb^ZaKqSgbZW^jm*Da=cIbqfvvYH(9%9tvI5{cTO)QrqzOp zYTH3^r!dUx5q(zW9|O>ojiaLqN0k$}P64ZYT(qeq^a6JF7a&sB!R;*^%*X-VYQ?lmc3qBAZxtZ?Tv< zY$aw56Nly|(h50$9!PaJV{WG$7;Z|iTY=1buDcW^q)Z6$8sLM1?blJCJX$R~|XAA4hT1;B@x@rFp#VAjw$*i=RF zs+B78X(6D4q@_X^RuWCtGZcFBS~wNtlG*FBGP)-euKR*0aW}aq-2puXEmVuqb&qBr zq`0?JT4hLC^)h?%YVIiFlBOqIRyb*D-0rAb@vJ)L@5cu%i->S~m%25LFYUwg?4dQ7 zb<)gOJW|0P^P(L`=5jsMZe(O4OdIOF%v}}wdXfMO*Q>X8(?0u@HwBg8kUz@r5u?es zwM6%z|02rTh()hYl8T6r=)yZ}%dlh=7~I;2ZnDv>ty>IcnpKTpH&6{W)dNbVbQre> zpu|Y%Bxk8ab@7^E%aN`oR;b?ioMpf?7x}Z)gr_M`#vP5!o!A0#bW++JA84CYc0ZJ`WcP>U2q9_M-th8#daujr{ zw+Ow9M!5W_TEDCJ^~L>wWKnc}Sh%H;oJUKGtdFgktOMc&i)A^BGq*7unuwS$o20E5 z60WLDCz`7_!YwfE)1fxx+evI8i;ERP&7X{q%yBjsk|k%7fItTB?_b@+KIBG(IjjE3 zt)|PflB>xzTecTr$+lfH<4ul>tLF}pWO!qLSc#e#2;@b4;>P}K#F%1zw4S@jL!Mb< z5HN7r4K71!%Y>)VZHyg#k%(E0w5d#}EV*OmkKLDV&);_6+!x$MiSA-;={`K56h3%* zKY?{#yln*GU7rHG#*PO){#{bVA7lub&yNE5k{64xYw4BwRKSPX0OxryC8^{jbY17# z1sUmAP-NHZl#yU)EszwTU5+_>^VgVJIohUV-8w)FulKt6nTi~9Gnb(%@8?)tC0rk< zAeyhW$u@-zU~dYb&R&%rgR53P%xja)bZyC>TZu>MICC^~il@Gc{t1nJyV|iP#5F@R zA+`|Ji``nrRCjVlSO>`2@!i0Jh8icuySXqudS;UkonSUScoqqR7|9diA*!j)%!$_< zN8I~`qY0B+&Em0RVJ-uMtdN3AN9LrM-J#<9z}EG;5sQQ)9AX8xPOp=Q^llO5oCt6L zCS9g@iXKZ5KR$HN?&&+qy1r(RNa9^r%iNHlX6HtdH8D~SP_0$H#s^!NUB`c+$@s;W zBwNDTMyPfQO!O1&J#BDW5jaw$6si(pk7#g_jW09?*R3TB5A7CWIZ8z4^$m8UzRN)F zS?)$kB2wQnyet{Jj1mRC*igK$I>^5KfQDP$@SIpRizTPV#0F>m)aw-)*xy}VJ0{lm zW&PDBTck22N~PG?C8iP7qS7C`yhO`D8IMyc3zA6+nvl}3i3+fks>g^S^gY9DULeFA zf>AJLVTCIX9(Bb4X{7Qowr1$2U(fkws?3<(@4Ce7aIR4a43K!pdS|Uca<#+>u1#X1 zT;Vj96SbO8$9Kj07v~X7)XAbqk|k01g!5o-+|$K^J6g6x>PqcdDVi?8O2eB|Lmr>2 zETVw}%$W|Xv+0Qadw4mY!DTXFc6F9#3Eg3VbrhV)d|T1>$y#1@H@&^nIBlkoCVlws z9D0j~FGUsi>iwGMMxX>?0wW=>(JcB5RFmKlXx|S=(DBEi^ii|Bj$(W(N#S zVL1;_oz|uS@5a)^t+Fx{V?J4$AP|b!V-9-O7Y^Zg?Dh|3S1KjclH9@Ex8*#a|xHdAEc50c1k<%Xyqj}>ArUt6J2{c#s?cCtZtS{0gWR-Uf zcp_Lc)gBxA8b?5{*@-eQFJG+WD@P8GDazU+Qe+3|zAZnsM;U^u$!uk7h21lWX+kZq z*_tiR^P0>C+1BDp=HU8z%-RuH?e>WBYq@<%Juc3C5R)mbLY~*d-vOq3ci#uINY=A} zr!}T(HpLbSwxf!Uc+xR*UevzQKeAY;JFvrl(v7U+|M+bh&PjI7D zYL<&j{zueiD3K#i5O{}cJ<8D%t8I9Wgh!pW7eA;Vl{xefW*-c3xR zkybRS7%uOxiZC^DVI-1u7dO#~|JaLnQr;7VzOHO(8!n9ReZ2qK zQRnkAKl?ZnE~2K{waaLGuOqu3>lb@uF zC-iII`+39rsUdWnO3v6OCdK$1smGJWJls@kyqk9w(X(PErR{`d>6bZz_31^tH_fy) z+Vwe`q^Iyl5AIB?E%4ntKe*`4?HlMU5(alQ%fgDp|5ho-X4HjR^i4SPv0O~h z@lf$B<>{Q^1cRl{i!ljqBeVFoF|Rh?eDq?ue2cI1vVOj@?}F(CQ8ljzq9~3f6(6^_ z9tyoe6^b8MMV0nF^E?_uH{$M}u@939EP0Rz?R1~LHlZhze1k04LuvQJUHg5WqC|>w z8#b@KU&b7!fS+c7$qQDC24D$xGfP$Ew1x$Zj$u^Lu-)3nVA3wN3P|Vz}&=mJN&(?JA zUfHX?I~k4s?HKbeTga;tcHT;lH+Gt+B1>w@nT zGZx%yZSS^D!q1Rf%sNqAH=0e}U4}%}j>BEx7hjBM8H=->Q}#kX=Ee9A7@5L_`F%mP zSUlFUYvQzHs@!kH(s4X7*#d`iSo25yyZZ|FN@>$W3&b>74;&>S?PGU(|m|-3Vd@fA9F< zvJBFN8cCto7#BQQY1J9^q1O_Gpu+~vrR|Uux(1dKG;z>x$ zd@7HOBZBN=u~8G!a0O&V!{hPQQlZpVFXd1)Lp=?X1?2>m>hv;-%vzGIL*)QG4+JD> z5R1anD*((AV}S~j0#bP(q|~6YG>A|}K`;`n1Pf&(b4a4gDp?*S%F3h4FoDLvff&4* zgGQ+nB9aixi{ly%1ovRSKAHDEaE9-O7Urk7Owqh;-sWGoZ7r%izQOj=Je~^hgBJOpc6SZOATo0~nD{p@#VsYBh zzP6GJWZThBpoXMNx#4eAxP4!hajT8wpb15dZP!laGQ(JLF6jHLbB{QfOQNLv2v_^} zr+IhUA!ghsaV+NqW@r4N7;&3Wgyj^nDTT3xGWIa`c|SbZKQlCsA@GhRYB@BopMX3- zSVE9V)l%*=6*mW#&{U;1$V{{(G4c%MwwIaC1Jn^Le6()&7>&^B9k7)kW*+I;6D9Nr zmmmfjY%#^Uu&ZU+b~CG#H5X3>edFVNmz%mCgGcJYm9D#m_SEYcjcE8M#aZc}QhOq` z4NqI+mH(2zPndyeU;4zjf$@JckG)T+l(RqxUoPMnFTKX$QqgMtHv;j;#zb*jcar#U z?K#HpFOTH|Uiq$J>|&%eUA$oaD0Nc#?IveQS;BpE;@+8Bdyj`RV*8bvu#ouom*10U z+r5jzgV6V$5pJyGF&qDUtZxxjdu=>Cf0FN^9yr|ak3S}&h9Ph*L0+hU4aq~bKDQXQrpyUJeQhOF2HYsG7a`qs`qr?`!a{<(FqC6nz> z6c=f?%2N##!Zc4x4mzCcSnBSdUq;gEFGUGQc1&bvwO8LqWEq> zD#}4C4|gC7i0b&tCod3x^GC7p44N2c)^-TNCPw>X&%JTCv+A>DKWHXqmVTQ0(Va(d zW0!CL)0dNCe)>q5dabo){98e~6m?sIJIF5Q+KJ12l>eKeJo0T7@j6 zK^q-LDV?tfd&Y!8x_)~?#`y$)A+g6~oe{)28^*cXFO^nOmUFC=` zocZ-6&O8a1e%L6+cf7CdJN=rX2_@Y0zI9mp1MC?gsQOfVArzneZ9f0nyN&S=e`=@4 z#y{muxYM7kEjY)|1om!@w^N=-jFoy%;29^DuiSp&(t*374?8jcBC-rhDr-Ni^`Kr* zj6D7j5)H-%kdp9O>4`mGI6tF^suP1|v?e%qOft6kX3K9KGbg_uf9LVP{*01|*?(72 zU;JonuW)?st)DY+qMwbkFUIAk%g1VC@({|skpB%!A^zYZ#{8|^gTAL{T95tv@))6X zh4<0=xqtZO#*c_EY&*< z{8?f$ImPaFY4?+gzuw@Ed4A$nXDTBQ`)5zhG2TFrEw^SrA>_ZAQT{?bcI4g9D+2p} z@8h<#_{ScVJSOKBA45Bav1q^lGdT=$2)Hb?pXf5fpc;?cY_Qf>6CmN#UNgB%Fweykk*6j%l>w7>6^=u=Gp7w%Zsnl{=?7i8zXR*QN3KN@e@(!cdkGj1;epy z5#WH9WvjRRJPw$hWpP>g((|FAm*(!Yvt+^R%f9yH7hQCbz$5C?tTEE@@AMIW(&tE7 zJ-yEej#M!QyuDHnu{>H$exn8N$I|UY-~KoV#!%OY7*(sNR?&*j3W~&nqm&_kYWh z^J`5$gc~g_`KIn&5~8Ig$-vcQ_A65eZs817fL;1l3;TNW#OEbr=Qf@@A6Zv*+IEPY zrR;L5(M@Qh_AtxH7AuBJZ4zH5Uy7b8m+?3(dYCCN4>EF;rSJbMw#yGJ6%}}(_Mpiu z(Wjs3-+If>)NIjzNQ{_C9MeCNE|8lXe%}F4F<&xtbnfa0IIIm|U#z-(p2{5FEEym!I zIprjhLnZY3&!5^S8~9N8!A$6QhxE=}{rIm}u#^F0ae*cii#)UAX@quzLL@*tn0fXfUFwMfZWLeg!YAQI8=c~nfUmQsjYIS`1{+{VYtoTD+8=6iPi z>jaXC=&q?*=iZcHl-(pzbNhqI^m13c+J7wb@0zjE?`I>@OGkmHUkA|Q+Jvh`Fhec; z1-#LAYqLDd{?xQ`w3Qv#!`7&}lQ5zGb@fUByzUbcJEpz^63N_9=*)onj z{*5#7tnbNNh}MinMq!Y!XTz!k*c^O+)DcIb2HM2Q~_lj>ddKiy1FAYvCj zwJWuVN{C9Y*Ipp9V&3-bF}ep=bB8|h%8*Le!r?#PY0gteZ{zvw*6Ce4n3Iz8H7>M1^f8D zsqH7JRFw^#yIwcV@=;LNG*Pz%=?c}=Bl}N&4m5$BynapZR~Jt2jo)MUISrWslQ49L zQ~b$=t7mSU5i(7JANI%O*N~G6)gP45vS;=L@2MNl*O%4fPvahYTySP5D>4F(eSQn+ zq&yYOwbvRY6i#+V@>t`oSnsM}PxDs|D>&kuWr9+4wQVs0Cl@$fCvXopcBztP`c9Gc zfTFTUPG9vJT-e{IHN&~~-o)}+hSO5We%{huyQ%FE<|4Xer9p~<|CXpGuvwBOq{Fu9 zw5^}jvj7}tZ8SrLMqK1LI0J@ty)Ng$^H;))dx253F8Prv^0g&?!V10D=F{Elz}=kO zAz^c!pCBIq=KXbdoyZ#L2*#?PCk`psNrE~y((o`oWhD2J^lXl!(O+wX0slxmAziL!&)GO8eyn_+&lm6O}QizdTe_@7)_~`hdUw4q0+s$hzLsXFF6vmr+fS zzB5hM3T`c9Z++4-&$GE!JTjcIb>tKaB3cTYf3cnbw+atF#=Qubu9zBs^L z0ItmqDU?M<<ffbVd4&$I%#MuWjVnBwLw*JNZ)xfE!UNS0fz7T{NXhC{~0<9_c*ir zY!5RtGit=lGRVwpFEgZp2HK=;nl`)ACi$9PO`7gDS;#ia-nDm4Yqn)uWHF7T8O=x< zW@g6soBv?0>z#A1bI$L1?wf=d{cL8}YZAasR|AgQt~iwuPQ3H*0l9*gHx_pUON@W^ zslmAt)+-94@sL!-S(62*@!2x>$;*6Y+L8P&?ej&3({Tn=p!^W6`)}o)Srai`NYoRZ zX7rZOQ$+r$9kwsgvLLLgb0RU3g^bul1hmE`dSn2Pq7i z;T_OcqkRmLJRwnH8HH(D&IG{dyFse zU7%GGTJ3rq5oTWO15YlqJmqeZEChmDsk#{y`Fho9s?W|v{*)9m!XTCJ2Q9L6_!@j? zv5lLQr2V~F$`QB<^@8~C-&oHQoBpcu~Jp!zyrRWeH4-^?m!L=UG!6M z+2rv2#!`_Gpljf*Y}N+pv?xd2H4F=1FO!GhP057!eO}Iu-^c7AX119oFo{7l#9m24 zfy5+8dLqZ@KEc(qOCz}pt(Xn6EzeGpCqS%YKh-&p(z@~6<0Q)nPi9390du=rlY0RE znTBN8Bh)uixk@(uap#ut%E39;?1Rgi$~p`>`YDqU5msq|%<=a}gf1W4yCNs7j^2Iw zr4I>stcnMvZCez|Ij}DQCz@}L50@Z-KQ4H>uxAs0`Q|@6?tzO+M)pDH_?DL^-u(CS z>-F+TyTP}85aiCLxf_mcHv7|@ieVY@9=e?vFk>tE0X7mh9QPSR(VcGyl8rP3ih&q+ zQ;X_TO9V=i1xdNQ81zbM7X=UxlW{-@g(wvqE*Wv19Y=203^QQd`lMAanN22wKMcB}8RIeNHQi5--6mSp*d`4q$F)MDN9c1M^d819AxH^V zJ^RAzw$@wE^6ugj&@4HTGf_cKNZDiWY+d96V|R8Y;5pj;kv9;7a6G*!HnfsIF!jlc z)dd9cYX<%8mL1UBNwc&h9e7B5=Iq667RqmCNA08*IqsXoU-T^t5aanC#LioWRNXok zByJM~f|L6#=pw5!G!^GS6I@0aoW)1qkzD&K_E&0gb)>(>HCQ?Nm~iLh>K!hkMqcqX z*T^G-99f^^oGX>dM1QKM4*r^-L`RPN7%j^selO0^%T)+GPp+$|)AmdxvF~Sxk!k-m z1csbXV5lr`pYv-;4}bK0Lbmvj35qj-bsw?YM#J{CnDUe_vfx4!6&4YlU#)qr?RwG| z=s**}{iHxE%dUw7j8}Mf#70>jOp49v^*o5CAZjxEeHjvky?{Xp-VITDd25e)y{w*c z3oWx7IR?p+cCri6`PtSY07k{wL9r?;5|#ENZ2YTd5HLOMn1! z=wN!2;nSeqoXeXFcM>PiLnQ_y+ekxf&3_x(@4{_Is}HLG+j#Ng2f@F%xiQu+3g08* zK5w@7>IG7SWbr{Jebm{~;DMm}gj*#fl+DdJ14Y`O!n~EEScVn!95Y;(j(O3x);1+* z1he!mwvRx*ZKaOl;r1N;XX}({#T@NuXWH2^i>isAf)vl{PPv%n+ZVsC=lsnuSBki! zB6``@VJKh-EYxCpfOsz=aJ0+RH^LRQ%V=qkU(5tAbP<$ok;EGg#M1%o$#f^*_anLe z;mz{BC9QcEh5i?|N=QN`9ljX9iILsk(jA4&En?eOcEX$sDJ`GAaRR~@t#p0}Qd~TC zOuL7Jw%aCemTj(TY+uJF^2gFAQJ}rwBZ@U~C8+xX&%b;TFZ#$;ms!a5y!yB;Q=~cd zpbOviX>!*|kI?iqBK(YBFcJ>iYb`-+|TD~Ah&pta=jS0sBgWwhwkV8)>|Ys zq1}Ux2KzuIXJ@+Y+V)>_z8az=Kt;u9`i2ct#KrGU-?j-YeZM$8J|HUajU!{O_99z~ zDW~D7RD6p}f`rWy3fwd^=Y9W8QOm1MGS-*bu`NeG-H{OC^;g%} z;TPu4XV1M3}J$?;CGMd!@;8!cvN6udEbJ(Ov`qD z@D}<@LXJ;ovxDv%w9fS84qhckaR%yRRo-{Z5O`Ph{X9*_kAXM1vHruhe0uZ&gy8r2 z?HJK!LrDvsPnn%6_G9oR_1o4JScfI`(`kz1bg&J^ahi;|pUd&z_-DFEaLpb57Q*En|@*04Sc20=@1|Ety|b?d{npi7*c-NifRUPUfcE- zTR+)Cz+{Wxr;}fa*Wf%)dQM0ZU8yVsQY2vFuhq*mRF@PNwA-A4u;gxJG@9FJr*g2G ze}PoNrbPxwH&7cJ$UoduFknxDlFzZK>>Ldy!|{8v3k}^LC0AUzzHGMr&{@;$Lni9usUlL!|&Tz8HP^Rfbc zJ=byw&EjUJelR5>l8ocCZ_RFoR-O(mvYYoq_BF^k`Wy#QlRg^Ky|9>Hep^Z^KS$m$ z=NnKIYQeKD9Tq&0T$=A?l?#1vN7=qmtP8TafV~bf?BUQ@Bu`MjE6$V4Ki+l=j>5VDNozd)kWwicLt5E1q2o&LlkCN zq5@!`9X7DP2kEk{4p(z0(w=G=zg?-BS;%B{sK<=i)SNTuv<{{eEuH}iKf6dWAE2D?Sn zxm!O>4y*@~T%Rd5+}#kAHWFV#d=W2HKWe)Vc178@Yv@NeO8yN|`K&r1%k{v0MH51d1wphHGRLMTU{X^twLOcdV7Qv>X05;Kb(GUI}Rkq z-v4ioAfVsKub{N63)(U^K7WF9|9@#kVccwkySZ?PPMY1QV-rc+e%K?=IR%P(r_=Lg zVuoK5LaxF+@D0~gIV7($AHuw|4;?RO%~`5)oiRweX2fyqOe9JExBTS7L-HP&g3e(y zdb=``ypneB2)Ql?1sStnR7*FEC}Yz>uO=}GZ+meY9)rx`PDwa5xYqo#VWZ5#duqeB za&V*4f&ew*m?yLKKZ~U;Au~a|`p`?ORBGPJRy@J>Nb>LY6yCve^(F-jmYkvDdy#NN z7nLpKimWqBHS=*&Z^cNyT$8xai5wPKZxE4+Dl5%Z1lQchKqOfDp1TK6Hu7f80bi;L zOB4&)ZEnsP#(fgP;dfv53ERsdL?A%{aTd+u@*E^ydGu88^S8fK6F#h#P_^ucT(^ez zgQ4@ZsuZmMq<)$E1e6~n7Ve$?ugX6P3zAe6SD{V|-QX$_2X|Rv2n49IQM@dxC9xo4 zfmbsHr!oj)*`bzS2;|SMkn%-$Z%^0W>AmHqM?0)wV|a5pnp7&TISwsO1QXxgp@u!BS!4(t!jw*R!2Xq!eb_j~~&9&bWl*Eq}2LD^W`LWb=uN zH7mcl9T{_AfK^7KU*4HYx0J(w;kKKaF-a4c=2N7g&o>{r0$a810*jRVJ<6#s{WM{y ztn{%aGV#I8LYAaH%6FHJgyFnyRB=@zd8%a{Onn>51;+7AJ!FY~;w%H5BFbL?I#dQ4XQ81v5NciC#F-_MaIrAxg9+ zmIvVEn-51t%LL+V#8Ojz$U*4aF{kd9m{NsVKoRa})!q;PtRW|nMiM%Fc|Lo?vbnLk z26kndAoU2(`cr_;{4fBJN9BCeW7JcVe%B3I&7hfoRYhvS!~OK(Swv(q6ifzpp%Q> z8Dlqy(HB3a0eCmblpL~cJi1T};8FAKBBh%Q=m5;fA;Po4CsErKlI@nn{17*S1#^+I z?|AXiS^_&vcKH}YM!yEyg26=)Rj9`?p8M(dKs4%!?W$_e6J^OUVRA3%486|9O|Lnc zcRn_xei6srQDi|+E?tf z^+I-fwx&U@S!tD|Z6sk6HXi}s-i@ch@d~zcnj+gG{cM3G|xEjBR8S;OrLgXqGltsxPcB z$77xE%gW(jXGF<#CW?s(X#`Y>l<&fA&K}J&@N3Yrn9(@QvQ*qnoeLBN!)#pT{ zKzYk$1Zjo~Eig*Tv3X?mZ}gh1tB5vbJIy?Qbd_X-pU6>b zYtYFJ4|ZOna`A}tnYO1MA^+yR+VuT;GSnyABpU6`Vf1OH54DJz0-Fh^S;R~p zrDaMeyVTkmirsn&IOPj^9O*w0Rd%$Yy=ssn%3JkMy%?E`b#-!?ZiNYb(9t)18{)`26u@Z;QjwLc>&gl68Fe`}nsS z-(f^fBOleGF}f;fmfxEy`UNQu)AsrgU(5@p&@NW?fH!)mSp{^(`@Uz_z?VW%Bqtd} z;7~1leb3q@393qj-0!IK68K+1jh7&){7A{ooknL?ufOds%FvCsF~~%T1CpIZ%2U`J z<;-_K`KugPMQ-FyvMIZW-|btF8AJ*H*P_~(KR*c%jktHIuzEV406fg_t#|8x;>odR_Yy#Y zR{M)BeM1H=FFZ0vBAcm#l^7pc?1!^v4y*NIp=hXgh-jD2r%)GHyH9NY(q=n4p2~%Y zv8oqm|G=GP+~H#zhU6PN*v2F<0M)`pmA){VXo=r_sMLz*Pj(Y{=6&nmm(0C+@u_K& zq(5sBUXS*KW9q3rxiCI&s9ZXJtB(FqsS6@;tAbtccDT}qhg69H?9m2}{}PG|&xedH z)PC#>M1RC~5SnAdo!QCl7KT4l%~4Wc07wE+Z~zO0J@3F-(EX2!d>6JI-_Bi5p?E$l zY@6$kGapHHN1>mlExF#3j-sT@Kv^cW+nhL>U)`MrudowxJ@kQGwlmuquD|wOMs)>Y za5NA3Tr|`dL{bD?Aubdb_Rl`41|7+Ya*lmBCKs!MDMZc(PAv`Jf3FUt(-@js%PH8Q zVMg*HItr%ZCF|vuTAW25uh=A{VI_Hm1n#Zv$9L_#`%)HdI^!Fv`-FsDVVhoqZzJ%Cc$6K3 zg!7`)bi$T6;lKk-=ekPHx+6E5hB0+e;Pl@1C~8meR8@V^i3CAt`-dhv|9nsHM#5ca zt_Rt~emqOs!N(y8w*~{eu^rTe>v0?;%27snwjS@xlNh_;IICccy25ACDa&Ws3|Rs^ z<~w<^jAN>g7^6wMz^UejYTjdUBJdzF7g?07R8pypy3^U}WDSyDwW=*R=(?o#6|B^T zJ@GMiE_#d9g%oDUGiq_pqR?`v=3VZrqmV`hW-;q};+baehDM>U>Ky0Nj0O_uMxm)y zc(X1f42l>HIXW|_+AU0iX)q|xY!5d_`f?&2!isHW*|HfS_P+8vM0}mT_-){O`A=OR zMOuyp3@G5uDenPAFaFz$xlk`+^H*plI8+Gd!7C3N8~NJ>f&-zFsnc%|w@>;!XzT|8 zyO+fHuV;hilaKqDPZe3L+y2h48;1dEWn^&~^E7zxs}~+#T)4B_{>w5&VfJ*>bWb|N zt5K*fZ5Nc!2%daGq`~Bdi6hUC{3RzSzm&rMsC*dwsJOGy*6L<8vOl!L&s|*O#ZHx0 z5~mu7U%h?jqd!~~xBg5(?h5~AFtB0U%SE7P=znX2%pVow|1A^YL&<^Hc_l(Jqu>7N zb&d>f?sa0pU@i;tlRIi2OETB;t`GCr$Pd1#iM;gvK~_}+X6_au*4UzJCotWZ)euh2 zeM->GHBcROvc;zk-VQXma);}3X5U~22NjPk;7S%1HXw^A3p)4@wa_)pH;Y3!Nyd=k^1Bc>_`r&e}IQvMj49?DA|BS z^6{c$j~G%U+WXcba3luBQQR8$y*lz(kBJs?((s}{@>z%qJ|JsP(cHfwCgrzyvm7f- zKb(T0_7&NtY%WoiJ#D@#d385alk>eO{X&%%>#1ws;(e_*$!>-1_vJR|zVPA?63~W* zFV)A(4ObvZ*8f|AqKRq1s8m9Y9ZvKn0d#kg)=) z#krhnbT@%RG9X`Fvr<5*z!jT!x%irAQW86dA0Tz^-I8cDT(3cX;Q67ie5si54 zkEO+V4H4a~+2=RXh($|1W~YO(aH4*-+oVb~exX;}m^y(GK$qNB!XCK20}aRO!?ib0 zSdop*&^~olQH^_#X}>n3s*6y8?XVqbu@@7*i7NqW>rCa58Plos?=|coNngeQ4QQl~ z)RUkh1<92&C?M)?E@$fW93a?#ek+EqL_;}eT{QPx zoA3u7OmhX=M4}f%-c!x z$Ws@poDBRK&a4zqjSasLHi%&x4phjUP(P|?5yo5duHoxn$M1q6g##pS1{re{>thMG zY`R5m1QsEP$HjT4NnR%mvEG{peduYlW!Ab{jbp5*cWF6L6>3BBBZwRQ-8111JtSL- z7S5P}j(myO@25?#)QGB7Z~q8s>Tm&&JN*mC%B4E8S94q9Aeu`3&@7gekqVA0 z51yQp@&$QPc&q)jqNI$G5amROgaSpxn=6vFDl(!%Ap;xusyIvD!di3Zl{w+XAjWWoXrkD?YA-wqMnn4GsV&?0q$}K!BEl`2W5IA0s z24Toi;9YN}SsCc_f+A%k*L}ql5755OvG}-y6-XIPbX_1j;E(WxS_fGd|H~c<+O+H| z@)dEKpG=Fau=bRe=Y*^02&NEoBIekH;CCK%Ot_=YP6?il(rwvXJITt!|Hf`Vl7u~i zvat=0pjGVXncv$GWg<6$KzUX;OZG4k^x-Tg@ugR$k>U)iRF_Robi`~`c0aC`9n<0< z_-|xp){NP>D3}dRxoOZ%P|{%N(wYkMT25-RO1DcMB45aNBC@%b5Eu+`l?_>~X_rED zew7PX9T7AD3}mi*34RzLT^m|hmuZaWchf{~$R*0VvtH*mxw^F8P_RY#x9*3=kz@cm zS0lqJZ5cpCd(q8A$agw&P;i`w5JVL8i!LL6tem-{z>GE6g`R+HGI;;7;thBH( zn`?p$PkLkx!LD|%33i~E_T)%uX+YAC_=EqgpC!Dy z&R(agt6BZX*3uF5TcRungr-)So}YXeOjZ+mVK7q0Un&rq)2|A!FR z(r{z^o0lMW5J*^Ec7Y3}T3jpcY7+;~U2yt=PkOZYp;EtY0<>gvC|M1-`(QjmR<#bl_v)@pQR=!_NuWf)Ru%FDp6t^C{S+Q{|^_duSAv(L5EJ0bD z>71K({N?(C^9@O1x4F4H2MyTU}4sCDeR(wk%wE^qx&Bc*8-Ua&&PK5pOp=}c^F%$wZ zU~B!r&ieN&me_hG;^XSqhGEr0g$Td{%C=1QuNZXwavs-YN-SA0#R@ABcTku8-U+-A zSLBC?wj8d7dkCO}#z1B7+Gs2FYKU?HOG`G@u@|db@Vn|DyYI@>UYdf`2o3}I2S_#V z0PFNz(^pq&aux>0fJ+lL9Wjp!(m~cddto|KO5q4MzUEaJ~&aw(J01 z4^R_1c;e3PPlefZT!|*^R10L!&FUdBYHdmt%u zv9@*GK8agO;z^`oXiF?l7M$|v-@-v zq;?U3JLa~8b{lJvtQ;;BEo0mIv0M_CMP^?K)k6TU*s^2CxJmT+V(lz zqbx$m!-}REkbcXtht%^`64=&wja;G!@}z#ifhMry0hgcxBU}j(a1X@=ZbcqS+k0qn zPI$l!;1V9nr~rn?c3JOi3>+}7XJfHKwdv5m${+r1_YNq()1;lP!VZKjxTPF@wX2%V z0Zo0WOwhS~JmMY)sP&paH769#U+;Ln7@cpW*u$MHdHc;F;y$3bG46VXiNVnGPjAF9;zjrdg=!4=L=T?3di>E2cA5;`qg&sr&v{8M*cdR4>y1R}A4dBj>J@L)KaO6z-I-w!HjT>lPV&EEkznDdTRtK{7%*7w zAM;};_b;^C^-kV1R^i1X<6WpGtPcx5H#!mr^1W4J$6NUOk>YN&ln0yp(%T1No{@sD z63%MB2>1p^?}<(8!0j}TnRYE)w^rwE0kY5mspm$}gEwZqD{1;-?lme^ z3wEthL0~0c`Qd;fxQhR_qn>GK_xuiQ=xe(9Pw(gch$s)b78p$%Sw{rGIBME z&Md^!zN5!_Sy=DB>sE-dzWe@CvQb@}WDB9kxM`a=O!;5^WC7Np4C)gS7ZyPvjxeDg zTgY~G4pK8tfj$-1f27gjx@GPO?ATcl-qOtW+tCV5(bp7uEFxALs_p9asvp>idF-Sl zzMp1>L~uLwhPyPviWf5Lp8q^BG&)5xtErII!O#IviMiJyh3BkWRvqdY_ztrp0-9+r zi}1vuAV<1D)==jr*} z#pw{R3frbdx;E2Bg|MzNlJ9ocOA|o9=DilR31{vT-1XJ|8&P$%|NLJW#^yEV7+HRj zqL4;Am>DR_6*IMHZwIrMB=A}R9AXr?BllxjOCIr)5!w`fwKYm7gw3|%N-CNyqdyXn z=gFuJU6CHggtC_)g{3N}B!WYnFd0~UoRMD_!0J}^h3O!CI_<)UO)xngYAntmW%1bSF$U=XL^0I&D>W!A5?QD8mv8$H}g{)5-U3Cd;gIQ|kZ@dDsQp3fwUZZsjsX&prGwa^lm&)>VX2x--4m^XqSg zu|woj52mf~@v#kv1eq4Lv^ea1Il+Nl0&>U_+i?Vw&QLRDQiH8;|IG2u=`DPCyEHvX z{+v*r_WiT-x1h1j=4v@qYd;*wBFGjggH6hoh!|oQ~k^M*o3UD01m5eNxTyg%(mcn74I z9s!8cY3Tf+O&KR(@IXiw7W~qmedBHq9M*rG&xkymd$VMu2+058awU@ zdvMV`TglmEoHjDH=6uBa?{V_TnLps{KgawoxgBB$7xk0xKPRTWovckkv>98lipHF4 zJ@xeG;G3X*FJ$fA3zJQ#BzjA8NZq#pDF8SP=$v2dhr$}xeu17ccO5@oT~0$Rj7i0#}Wm6 zr%2)D(o!&tFsu@v=bcT)Kh9oK;Tfn${r4Vw@}~IW?d@;Ln6pVtx#+ATm%1V)#m9z8 zk4DaVxQb5s3!7OKnmC>Tiq@uG?(WP&F?NK#9}GwM|6X$l2aNOqZNSn?>C)CkNEG!|`!z(oDh~#ZzHtxh^mf z$S`Q-a;4%h$jV#mM6Ih<2jHkYv>rmsUR-DuO$AX;ZE(ciNGz%;yUL>PoW)A3V|8D* zx@tk_gR3@vfe}s*Ih(u%qDWZ6<$}FxIHrQ9-)jE%0~5e4(=q>Ev??>R(>h5e?!9^n z^=AFlc2c>ek~JS}GImtcUtzKJ6fX-*t33~Q0`YKjD|FC@VyEdf94J?-3?KCb?TuNn zw0WKUekz|ngrhPY_(0+4rWK%&BA|oE70%R(z^E5FS&IwMusZEdc~dn{8;p)B*^u#! zYMX(I^S0uVS_Ah^68q`4oSg?jR&@=yuOgMSRJWsnCG;f@g&icOFzrVUL+~@uN}~vj zxAE%JF`mB3R|EfrD4r4uZ*c}=!6t|V3GZYRd2U(#}MYTY_&izbnLG{$Z1)nirboRY$VXUF9ZH8-S zrkDlNd4j8-8bwrcaLCrb!7Ns#jtWnhA2Azy5Y1%==!~@}Zbn9=2nCcxAvcfT&i4lv zJnpO(1=&hDYmDoWq&9^PvVQEkdVLP6;+Jn*s4I80O zlq-|PWz`YJOy)g?Hy?$gs|B6X(R7c-z;BW!_DkF@L0Rsb&1i}1Ccr}S5QfGo$KYK{c2S;nl6;8Hy~&1U6cwS=%8jELkd z^^gp5PJ@{2;LSqH>p8bSD2wN`y!p)Zpy%$kHxw-gucZ?u5}$x%WB@2UDIQGHW26Uq zMSOG@V!MpVtcfi1x~AP6FHoYoD^iCLaIHV!0D^=4um2Z4M`uVt^0g^r zc{7Zfw^m_Y0?5u^6(#%5Npj_wLj4?N^4Uv6WoN0i+^mZ$r(jkb89X8&F(uKY=Jbnz6$quuTK%5xQoy#$Uq z7C8>uzW-{_Qi z{OFDL_zEg-{N@-%Qdh0DRcf+W@E8tUJD4linJ6&m0ArO>V%l4z0Oa&w??ym)o>A3J zO|Y5QPPOmbT9X3|vKQyRcnhBdRV+k8uK_tIBS~WC?sZ9>}Mr{7f ziBu)Djk=wORlp&{8iazE=WrDBU!Q@rBLg^R?5l~GRd2?Oe~@WiM~;9R!uaI>Ne50r z^St2YnAZC2=V~gx@YdNFf1(k#f1M9GQH&+Hw^@;|-kaTvuz~slfcaqf+DpvP^+hh2 z9Z!aKSiJz;W!YdcFuTI>xEjF4*DiANnoPDC<$xys5F(fIayB&b7_ z#7{r2UDo&Y?qJ>>g&pLWV;)86iMv}S`!lckV>Rg0oP@zywE$S9WaS|ZAQJ0R%^Yhx zH1%|b-sPi!ltmCn%{;?|-aAu2Q$F~^0{lYTYv}cLvuBC^_%UMzxy-a9X+O_%)){XY z3@z)i#45OFu#``go-vB=_lu5k{M6zZZ09eWYR3jH3Nxe|Fc)gks7R6MDu#ou=^S{u z`bgbG3oq{2)@kX*#QXO@A4iI%NIaENiU+HGpVKH2^@)_tAJ@R#8cKvfXI7LDNHA*7 zl2Ao3jj%-Z)LC|Ig{(fGDJc)s@v?!oqBuzv){b+NI9*Q((}j_bcykF7#w!EK%x+J! zUoF&R(wba}9fnJ%&YxMVSe$hCd=N})6~d0c?)pEi1rL}YXJliZwtTop!^}fysmP!$ z=2DR%s^pqzO;RQ2q#O>0SbS2G=ttiInpMos3Hym%l%X@_^j4$ug+@qHwH*@{d-C(v zd$F14JNJ}uwp2b>)Ny}^U7C0a48O_xV1#2F#jg?j=R-iE*VDyDTG)jBy zAz}bIsJ`#sDl2n+0Imb!_a{uKFq@KQF>_W4mbAxr?h|}x!ufoY8;CV*%Vb4%r(rgsI5}$8ql9=@4|OfWN&@iF{HaRBt1V|BZt zXsvcIV$D7p*GZo#z(6p6-eu30pcIybrhwkoBBp~$i87(@;6@GxkUNb5`XZ~UJ97oV z=Btbm8ink>s@U$`2VVyF5q9_BQ$LKQl+hGw2JR`0>#Y0iM9)Rb0`x^=vjqu0$neNJ*UC}~1Hr=Jl5#;fGteixsv$##c z5^YOWcN@s1IUGu}i~onE#9|$?Cdtm=BLPf?jz7~JHZiZHN#$IdMdEzLsLn>NAw62S zaM9}kidl8940qSTDHb3s==EZHyp39jr|9mVOVMznZS96$7$~A8((`RD35hJg?7?LWxVo4X=(^v zL-{BZh`^~zeVRxg)bOF=Oa=DTlZAm#AJ&@3@CbG+)V!I%;%|!P6%}ya#s6V0C>09M z3p;E{FYC~fPS((Y9AVL;9}~0-!vz_`6&9+UoNWg>(WVHsR%5dg0gmJ&jpirWLlDm@ z7XGuuHRp483*caL47MNXyPv+*4}$wJvVeHQn^ovRJwAkDp*7n9i?0G-6>(5if){#= zt?bS{t#+s1medY-AJ0-d4=(HmIPt@@(b!o}j9c)j5?%CF(=tfF{!WvxvUp23Md+nFbDvZ* zhdbuEhqaq2=_CCbYX)%$(N`g&z5f=*v&FTD64(Nxtv~9MX5ytL1tCbrY)KRQJ&aTm zk=w0PJ}|@R?R7|lG0@un^Oja2pR|`q!yU#@TY;R;B9g)9OMBNM6^FUdn5cUqqz}gL zp&l8Wabp{O4#J)RAPf`=X9WHu^N%Odh=rXz`Z(VY6)WLv3*Buvz^IqhR;O+^a{t1k zqin5LqJ~@8r6-#Rg9%uu`3>VUnu%P*ztiEZkWul}_l^Ea-97jH`o#n(y2UIWvk6Yd zv8_mgDOaxJvNRA<2J}>7(9bL2NmvQi{+L5)NJfD(EL`}~8$Gd$yL#a_PEKo$b4XXh zS?FRuIs*dD8K&49)zsBk=*CRB=&+^*EjzeVrP}#Z`lz63?qf6J=*1y$?(+hU=Y%T2dm?208WleS0_9J~aKC_S7{;m%f>0ac8^$cklA40&9E z=xpbtMi0ONN`oI6GUi=Z3f28g!s-qLiOh7I1AJ)N!R|s3Kn94n{g(BpK1BvM=$6x< znF7)7+E@nOo!KO4_EGlt7WG3NY4vD}%;i|z8AN-KlMiS)=T=b? zYLV!Jt-P3g)|dpc@te3yet6&(g%ptN`6ta~C}gPHnWmVLJ4z^SY4szJ20nGEKz$8A ze}MG~?O~Z(frM|((|vpFVs@wcOhhvh?#=YUBGuOX+datu7~?z?lhImV;f#E)x$O@E z+`_lZ4E5~Yb9*rTTf+sOX6K55pu;zs)~OAtFzi6SA9j)-llZh~Zf=TE8X_`T?;(u>l+b!Xhyig_uE4<)k&f}}R`G!|a(0iq) zK@RzN2F(%Ib-TczUDJ5l>qf7JxliOFGxNwQIyzi9j=9Z%Iy$}QU~rX6x0SZBGj|a) zXku)olorA$MMH0Xf%WEp!OC^+9z_aY1my_aY)ii<>ZwRyAbfA-(^AN-juBprN)%TLSBIj4twNZT;isY)+msrMJc zh5DJxVK0V+60w5^i`mzCsW=i-AiDK{dnq6ryc)j{P9C_GEo`;fMC%&Oes({3_ilzz ze-?zpMbigl&+8Yj^2=juQqkC=P9D)^R-iC2fIM{gA8Ze`I zl@U7S2A};a7v5pl0+ZTI-H&hizq#6qcb+;{#eZRW$~bC^-)*1mRI$MmjMb*6Jj9_D zI6NEjyi0QWp;@JI!wqUSfy#ySCCaw)8uD&lN*+XGMxm8}^6d9O@F~kiUSf=)NNJIPA$_FU37oIV(t51`GRlNbLkrhIVUe|YqXx#7qD z$S?9*aYv^UU6DRF7w{JFpU9xg=Q}Ej;Eg-iTbu6*X8ceX2B{WMKKb&#OKJN>jnWs= zWAgtD#Hmn)dKQj3p26YghR|E7fH56pDb(b~Bq~lrqh$pxLB(i~L&x^|gbhRIpz43}gb+=m27!!27Ganp{K3`DSy$?eI1% zbn!CRe%%}xRvN6(X9IjMzXvCP{Y4h8w2#2T!OLjW)>{%e2cPv43yUTD>>}9Wfo$!3yBWs`v{h8@w zA5WgqxL>a|65K;ejxsOGJKI%%e>J}0zzi;+NV#4}N#d9vskhotyVQYHWjf6l^02Kw zP2T8pCP1xX?)zge1P8Mi#WpAJ>OrEpanNmFGiQ~#By69-Q6sOD;S(WME4TQvST^NA z-EJs(gK~9QFv_NuPecyKOx0{rN{rZM*+xIt5pm)S<;U)Abcj$P;?R(Q;`L+`sT=+Q zMWU|v%%k_o4j zrjVxiYqyc6yWMTKX*X@4X|RC_4l~%}F^pkMGDx^IZ3Roo5LC zpp^nqbfgqPixxu-p@Ye=j-Bqo*8UBff=jFED;n7oA5x^e53@+Fb^REBG8agY6RkoW z0PVu!k1(jDX&2Jru&;$ejS6iFNRgzfFHUHcoofmGTeuvIrGS>okpMy*Bc`ckZ+2%Q zf{&7Y0pv!h`aImVtxG`eNWk=qo=XJ}Sb(W6$>Q{M=u$;GRlWT)DVQ-aZ}vS(U>!_J zq6By8h8SR~L06B=O4=zXdXzF92>TBJ54*8JUcDC3xlOg>khLRm@+`}clHCCpIiGZq znm+fgZ_H!yh){{1Tn{~{XXxdvrK;VgeD@n$bJO4|H=V`H^+SvWTE$5eCyq8YdI6`& z*lnhzzSwUNu04|d7U)d&gjy9sg?=U&!C|7>y4KafG(7G2jDT-EJO`e2au*tJjUTMD%@6_Al?ThQwZXq8n^tXBel}ez#xH8dp zu_cAW)=D6{G0)vh?weavia;Y{_+crJ>Q2tpV;W!qQb_%fz(l!EqCF2Te6OEZlVV4e ztjHxH2YA1`RLFMV2MFn%C`^hEA0qG$eS_V6jiFglEL=r(+Nil0a2gQ@!WMGd>GjF# zBCbHQMIG>>`q(u}TA7;#Y7_0Ou@v5F`D4@W!n`s_m&^OS00TLG9u$|*3hLy+aw+x& zQ%@yRL5y5pQcjDCbx?E7u>ARO>AQ>c@mVj8B`Nzke5N?5x=O%>8rx_@*8#Q%gBJ7V z5(h_ryefq^NR4hu306_hSEfhhF^}ag?w~_cee@9HU`n=7?RaExPT!nhSdK6OT2tkP zaK+6u$5F`)efd*JM`+m@9Ei2a`_4@H)r7jAeou^jY(v)uvb2IbjtVrp*oDG%ZoOf? z0BQY*G+2LcgD8tB42H!^Wz-54yq)D!e!q-fuBB)K<>VAjz{z}b2#rFx6qDkqT;(fL zp*@s*GTBQ0;%Ui(FZbyV%-p08#n^WFApRkhnHT6TxHN!0?uLtd|76CC*i6=P= zWPtUoJ{U*wK?54@s@MJa%iwKO zZ$;i(BUk|~2CjlPV_lb3eosW_-dp6b_nKM#Sb%3z*m-N^G_3K%jrrxO*s?A`xa^M+ zuH?Kc!VM7Zi8ApX>^y9NUJTWH?j`L&VW{*$Ka51~&uPEssA8*_X_a{S3rIg30%1VK^W(3Q1B#d@ZqebLIiTbx1Bfr*@-ib$xGBM5-&~_lxj_~qC1yU!4mfOvm z3Wl&xta6}dVP+w;H;eA|Eblhoz1*ZGN^ri{ZbRcmw7h?#VNSDcO;_R9vNqXN!X2W44-2%^hnM7fC*U~T?2aV<= zH=l^N3+m-Vr%K)7532iTj7tIIDn5Djhpa<0OIsRjB+u}=En!zvZczZ|f150m0!i8< zKa#lffQ{XRNA4>7+k7DL*yBS}4GJI;PYv+}29`1Hs$b6a2fpF}Ql-_@Ve*V5k7^HM zqx?eD4n2WvRs4IPVPoDH%_=sk$f*)+iwfiQD>JEbb`frXFHH7-R7g3Z7U>qV3U30) z5pBm2*dg!sT0WO| zkL5FPT|*V@VupR&;=hx7tPU-js1|*{mf5}_ArlFZ_3E-lQY5J9doG0%Qm6M zwes~yAvAiQVv&(vPq}I_57V$WNWVjOM*F#RbO_~;^PJd}lol7}$QbJpJ}UuRlED&0 znG|#`ZqD7}SEC%z7TE&XGXQb}B|DywN&mL{YNc}zW~vk9U6>%XSvfD*kn#*M0bu2Da&OH+)(chVrlY>DEx} zMyC1f1=VshAtH`LYssLF>8haTq&|1|n0ezzE3|P|EMbqq6RnRrXHvZ%Z@F^p37{GN zJ6(xcSmW8P`5UliE*xg}vl43$>9~zi{q`p;NI(J3siMm5`e=oYzJXv+gv>yKJ#(;1 z|DbsWn*>|NU!0JY8TZZAkzmbNqX6d9)+1gvPjcU};qR)Jwm&Ie{$>jBQlpuH9^>7d z6VAI;!vsWe2{yt=!)F=ls>|XNeEaRS*P{RquJd8ErlSvE7siOe@5gEz=)o57=i?TtiOwyWrW0FT*0p-<())bNet7>c!JRpYI#r!3UMtN0NaZQx` zdgPzRE49AO`a&7);k_SMW!TGoguCvLE~pfg*$b$;zmz zdpl0UY*R}g*2BTD_D-ZG=!j#3h$cA-+IGhSBHvHW=E(4W7E|>hK&UWya5Zk1g-7^q zq*#c7FONUwM{h|pa1?E>?-$r9p?blwWbSfZi5@;3tWVl)(799Dk%7*iF5c;wx%Kd% zBv(T?wD8W=#`-0o7yI0Ih~YS7t(wV4iCc}U?k_gkO>5n}n^r4cbE}d4_;L?+l<$$m zj`MzSRvLe87p&brrxv(DZ(e!xv)xZ9MVwhYm4EVyx3bRguH%6^#%{+s!qAzy9-LzU8 zE3Pv%IQmFJ@D4wA@t7?fz=B;T!o9lw2f$RgD3wCHF$^K54nN+h{*Yz)k?S1UZOp1U z2MjrQh;T3n=>nqJi-6onlED%tSMLw(IL*G<<*Gs(Yv2met_h6@mr`d_>o_BEc**3j z4>bk5F&y`2%p{PIF`@1rX>cCjvNo`ZT^lzx?5FEe1FZ=E{+dW0OMRK6mpRd4A$XTn zxrG@D-lz`m3)s@y>~v=V9~%2C`YCBcA^9MEl!9zbhj@AvqOeRjhhD?y>l+mOGET*X z+#j&fp^qBY%p2iDIRLUlmHB;w_W#Cq;Y~S4PHBQ|L{?`)S~Wm<6R)@{tNis7 zD_}CPP^f9HgfgSQcEFO3Y3VIjjWz{`)ZaEkQ}U%6lF1pZVXr}$%8my;-sY@g`I-p` z*RqR(&B!10?7mdrD8&q*&fbfoGY(KHeK6N&dI%m6lYGAlHd$lYz~vc!^dDG1A*Frk zvImW78S+o@FY~BCm$>DB-C#UYGOR|AJ)K=MAp#SUeX0q6Fnh?DH3$xIb{8Msd#kl;0AzaTlJV z21|!kz^rLhT92~%+ss)0QRud8BeYq@5vyx3yC1OPYwlEdw>S|CT3mV{B!$PYn}E;W z+#kvpBxDRuWEW~$pgdrOwF?ol(1047!(8ue6vq3K`h&@^T8u3o1T;|l6p^x1H@)>_ zKc@AQj&DU7A|N_IeuOf%5lV&O-^TijFy?Z4u~>p*Ie}c3ov4_ou0v5fPa2efz`f+{ zIG%XFC^4=u0UF25J94gm*S7n&M6Hyj06mh7a;uP&T$KzzSwVo^P^mnWe zYM4|&6;;DLK;$Mr?p|M94jS*9{%=vLO64dDkV5o45k>;!zR*^01Js@&R24aoY_#dK ztGcwmw7DMSvznk7*s%^zBG<%c)>rBB`Q2Oh|2m`-MyTuju>qolkj*{2VR$rgAjOG` z@DDE~j24^rqnV&tUp9aYL3==>*un5%xa@bot0ENZP}M%9GtZ`yhd$hye=9v3j}zSG zX1vDP?0Zz2y5ptTMGuvMM}R`b*EUnCE&0<5Krltyd>4WCP5@>5q}OcW=yA8{Fw2@HH6mRFS$>L&v}=tz_+8>KxpYn7?z)*3C&~Vs|+&#%zWs0C~`< zpJyraB0%50;aLcA)wo}ZU(|=wD8N2Ar+uKQcz}W15;}g_yu}YLj!Tr;%$_|_Pk|(1 zQ(PGdEknZBuTe%ob76?qq8zL2&F5%c%l_5h(mUPv3xsV(2lazCnjrXT$tB6(VmFcCFX0 zH`Kuet~Pa*#8a$=qK~lx@7q!~77JiRxW&cuuO%wB_^uCH5S`^>BnE2ppMEo?kTUVO zF3t;^?wcqt6?!mK@OwAqIFHK9XW#WyToGV(j*FC_b5c`RF}2R@|GM;bK$%f#+e#?R zo9n?k_GVxHYH7Wbx9e$`(Xs&ATx(wWMhom3jo$DoKN@!roZg${giRl@H*x)2C8sUa z!Sd6t)It9Ykvd2e-`4isj2{~Gz>CC$*FvTm?xYTY$7|q6NRBd+k>vfcFHQ;w7uSSn zwhHa9Y9nHIbTVe}CK3%X#^=xLVlztGSJ3RIvq)J05q8#tJ|VvBfo?9`HJ7O<*3!;! zqCJ@?nm$$%*4{rC+umz4XOM(c=Gmx0W zQ&9xtkhLk7FLtFN1?9<7PtD*QcvGlORG#`$0>c&FZ>~%;ut4MTj?m>A)TX;5Ya)4{ z60dCFw`~3(x=1&F4F(cdbLoM2DhN2>M3&hKY)Wk~$9#fq5 zb7=6Gr*f=A&CU7_?S0b2cFrt}RY$}q~i7Odxz^C&QoHbHAC~`Q^4om}&!^12H0vHoG z$C83AG)=~*h`j} z6g(RXYBlB9UNhF%#3Z+Q;|EwZ0kEov;bpzpQc+!6Q5E+DmI~$T`;NIff3v7OUf#QM zT^aj)@2TGJsp1XDAE+9Y?>RqAn0sIQcvbR8S}fed=uY_|L#k{XhU$ zE}@a4cTCzpet)R*{`)B`BI!o^zcs9LK1zvRMM2hJSk^jNTbIgD>yS~@cxeEzR#W(jsxa85}WK&@BX9xe|pK4tCCSu1; z{TsNbbW|s5xBsz}8|bc~7K$lJp_lBRpR8Hzt=m};Lhbmf7&d;~!_JM*WC#%EiVN%z zEAd!Z$*?=&!yeUae$2-0j4|fdk*z>71Cu%oIBBfxkPm14zyPT@?2j;`q2BQzWMw`Z z#R_=xgca96z! z>2*|XIK>UC%;y83gkN$6wQz01Mu78k>jHu`mw2Klq6d{o;N%TJjFbU9ZY3}|&4zdj zGP1>lJ%zo1wY#lt{N2dT%Orce!APh&&%1f>N#I*KF-a<%+z*VHokyeHbZ@q z_y~vDC_8!U&qp%aO7bDmEq;KvIX&|sd>bQ447=>P$dN>I4rAPoenmX3Bp?`2RrS!h zHv!-_TnYqgc_{)I47I1W$qmG1vM39x2xzd5%8gE0Kwu#WLFOMMTb7;0l=r}HaO3x3 z+@m=^nwWSSP9kVS2DU(Kq7=stp8kC>x_uI#;J1~s2T3@u{h6Ra(TFVa1aWa}p9c>E ziPgH+HtaX~-ACipOeDqQMeP0)?#3La06ws!1evAugj}J>AE%XLs5*)VgV8{ zQqxW$afhP@F8Tw(y`ykj1lr8ESvT-|qfSaCMEYkQ11L)!PH>ZO6U$A9&;F7gi4sMo zFVLV2J;2C%m$Tr&F6>%}xZan(-qo;1TJ`v*Ne?RIj=MNt(IUl=KU7bPzbHsn2|Ai* zJk+2out%L65Y(suRcEwDHBDEVkfZgR)_CiUydEh3TD&`F&q-9tpYuc7$3~v%!Gj}N zt+lzLAiv_n{41gCPgU{KnW+7)p15abPzK4>AKXsA{JiyY-_N%4f$=DHZDN)E`Oi|2 zMC$h8iBo2U_4%X8mQ7t6XKF1l$L)uU%O9}6q(RvTbIHL4C6_-=wyfb) zCA!TUhZ4NU8y9~3Uv_Bck&c9HiYh4sPovrR1ePGFE0*RLkm3b~wm__X=S=fNyDhJD zI(HAAz_-05gm%%4P)0}k5-3W3)P@pBuDPldAt$wfiU`Nj!qQSlY;SYN5-N&w;R;bv zz3!>ykFz-dAq<8crEBbMpMV-$0NT3Q}c%*xXjk12XSk0g(TR1c3P7k0*iBgB9Z6^ zaUrprwPPNU_rkkY5^TR^nfhy|( zGPvYUI)aYs6CGCzFApU!RJjE{0k2t9MV#mPILJ`n> z*Jy#cY{o35Zt|9(Mra4vXVJCuUgIce%~!YCGJw>+qBzku`yO7}zxoe^uIVg@gh z5bIP7nKIV3d?|}l#1U#(vmeM5lksg!Z1khde*y#KM9a=phgRU8tHcd&L=Re+AQEdM z%sW!}BKr-Rxb`&_YUiSXGXG0bpIm>)$A}YmsV??i|g-~~=yor)yd3ELotV2sT zwqkM8zNpB#Z?8OEYaRWBGn~B{ed-paipgDari8;t3>WeU^EqOvS5JK%Wdz>JpL&&_ z0E#j;II)yKF#P2Em^OCs=0~fx9>fwT9<&*tYsSvo7#b0C2nTzrPLl3Qxbi66@d+Z8 z00Thj>vXRm^L;rKy$*}P(sR)gWH5^*;CI!|??*GdkrDerup|nocO@P?lLmy}MrhH+ zep%QMe*!L>SLsh=emH8vWqQ5KO#@+N% zHs7n3DL`8>OEK6GCa2SRiQ(H8+$>buj=b}vq)9|33bE?>GIuX(p6-r(+LU~PK3+9f zURqCHhEL7KUiC<7LCHby5eQRHWTNv4w3N9v=!mIrzKSfph$Q6V@DUcNstDNsh;#xx z4d#56I{yCpWdBMuv3~Vi*DVSpMVqa_>KDA)%7hQubUZWRy`HPlx=TO2T@^gWK;Jkp z_AroC{n;q#R+DGhvUP)TRb8KB5ppZr2~^!>t__AODaViAQ&Nh+Hk&=c68@zg{^^q1 zpg4@drM8K<+-D?*Gkpry4jB$&0NX==R?Op%_SIm+G307K=(*$EcFXqtH9xyr%4uv~ zJ|k}96_2B+N(1P<81hR8sWS2ko9?!Tv?Z^01h_s`P*8BXvIAp5X~)!JoQGhQRBPF_g=xd1 zkbBD2yOy@qYT&e38R!=ws)5^mAga$HrxU5yz69;*A43=P;B8dHwfS8YSj)|Gm;An0 z8?Q?f3>dIfm^x(jUn55NsYXNz1WxJV9JG#~=E17%J`y3HCm5bK7`Cb#A&^?H4|CC& zXheIzt4ypm(cmFpUk)vIBF+M|I%v*&9p43ajZ^%HweHFWqWOn$Tsr}@`Rd)a!QN{W zkbSe?g*AQ7M5pyzThb<@Rl?sFyY0jk2NPdVIBS-12bVk@|{ zI`e2OBl`~}+r+mcFCsHY=xYyxV3&WDD94t*rkiA$uFYw*1rQ)W!u4*~98<-S-Z-&L z$DM&jY!Edb=^DNB+uO7{27M79rx)_yaSmRISQ}2w{zZnY)=}HL;6QeU`{Qy-^UL*bcV4NlbAQ?OyB&n%hR>L(@6KU%xxP^U0Uph z;_CL11V+;0!{}+1owpGC=$VScuQbcx8$@7N8yfdR9Btq;=!s;r2je-(Oah}chw_I~m(+dWCkZpT)%of0>$ zp{d0`*;KO>vsJZh>n%(DBqsn}OCs`rIY;%HyI# z`uSHD?1f8q#^%?+Gtu$y-+xy*^yVUsLO_^oNfr1>!|l|+(ogtS2KjIPd*e#iY>5(niYhI49@xfSE*GMKWl2x0Iu6Kl z>2O*lmBN&$DMI|w0v?9|^sn)mL~{ZzLnr#T!b3$5B*x=pv(29vxttZv_wyj8!B3IhTj8n>aG+{w>b^PmZ6C%ui z=Z0`ZQ@)OxO=WehB6Hp9<`V1tqv7Y$skyqcWI=rt45fv^bBS#~?ttS+x%Q-#h_Du5 z5qU*rwAQ?TMv(ey9J~<5$}8l}GS^Hr(|zokqCJxEJUGIx?nkK(BwO>b#x2Z_htCw9 zyk(MY879k-ldGaQw)ysVE*J_EDdXs~*=_AZufBug_+}*_jhY;zW5T_Hd-dJYat<80 zXEqRLc)@S@u}il`vsH#Lj$vrj=F8b&hMg|v43Kp{cOIEkVC$!*AN8+AaK>uNtCw4)EDDf%0u}6RrjYu296KlTS-RR>U64lUDlA;}b_nb>mKpasw2jZ;T1MNpW`dRau-;7uH%M-~+WEImYnxS6Uxu zZU`jrXn9Gay_;pbXIqZHAksktq` zv!Hx*k-~L6g{)-MZ)K>!RRJo6EE+O^<{2CZT%s@nm49^f{{3$+p_B(U&Mf0v-(P3y zx&k5`UAyRS1KOSKAn0@633&3EZeX>T^60c(uDcwJ=KWUXXg4 z4FM^@z^$>&y+jezfGVxybjX_eNEpmO0>Nf)bR`u)Zv^oR(q0L=uK(^YSJG;97N`EA zdP$DrFyX=*1{QLCg|;UR!Ita=P~yl6aJLR^t1lauqSbRUxt9S(SJyN`dILDh?8-U} z%@;vz^^j$o2Q1i#7@ zlpup|p>YZ5?G7DXk%K*pPQx&xJ;Lsd(9JF_KANf-y|9+YRy*W=q-DUAP+OC^MBi?J4-(4U>M0JCbt`TKX`pbISeOt~bC!hv|PoO88p@-%OO#T3m75tX4DAjfb}m zAfgmXEQy(D{vu0y6#iG|pY_aXW9*vVSIoTJIN?hg*=wCAz6gOu@BP-;twp>{MlO4n z;T;sb#FlaIjd!o42JoV9l2tTj$BB1vOws@G8a{-UI*%rWKMev(51aD?FMBS&K6>t3 zir{+KVlLqxVitj|@KOv0J8=q@JOD**;)2|L9X&4Ahg)mh;O?6DM7f)VNLrEu4q#{P zBsw-s3w@p^|1a^#Ei^8TA#Ozw{9R`Fb)W#WlqfRkK%nqj3iC%WJGBq7AOCoEvH?Co zFd2bay;BvEZ_W2{<`g0yql^<}q{J6Y2Nsb+By@G!~~ zT$dU3aymnD#6g{_{qa5vL4pjALyPXk4V4#L^QlL0Uo zkKhUVLJfwJPojjc4XZz3Au5AjHHtN#>Fn|pyNRU@BQK`aBojE)ZeQl4odQb?>bJiR zphiMtFz;C)`tgfNLrI(il01fC7~GV`MRFp5(ts5NnPb7NX6YP409c@K zcCpcZu?ElJ`1@b#K_SoKOetv~I!U0Y-#t?^!dZ^D2!`ocR_{jTdv5Ya#j9@h}|&n{N%FFYPchx7sF3ZPc4+Nx`{ zI39Tr0O#bUmvHzh;3Gbjp`O|?!3Z_}gE-jxb~DWnDHAXRLT5&Ec#_h_o7#as(-;$_ zZbLR>Ey2y&m|n+n2P!MLdoem58qnRrmmiwKnPM8Xi}=g>t;NK*AXAdcV0%n)6-|I> zlB~e?Ce3c5sS7t5Wkf*M5>6U-)+YigHLs2Q>r5~mQGsZH#R#R{8Qy?{VhIgf5EE$BsY0YGcy7~i@^oNdsx5Vz}op#Q}WpmV=+~8hV5yK zla`z$I^78))LE@h|1AF^f6ZUM0pdFO;bj-@VD7ew4iS7;-&}O_`cdIni{UY#KbtE& zo4YF&acr%53@VJ?Y6kqY3EOh^*$u&`5B@M*(iXh%AQ9VHs!~{o*H-Iip&(jU9?`9v zcl!naFnZ0}kvtCs!%^}QiCbt_Sfi-%;;OMKC`bzTu~0{>yZ0OwyMIVLw+%1XL}2gg zf6yRVDgW#HC9c=Wvo4?btSyT6dm9G!UjYN_uRfB(N;x84CSRM5{nL?;JRXb`eu}#o z*+%XxV>ioR-7s2!50PLrrGS{f(qj&haV{T6i$*_~7w^JxG}hEtCa539Y$ctlB{5w+ z{*A8q+!MG?L@Wl~AEV^Lathb;9N5&hqOwG&XR2$>9+tnQu;KoGB|E>QY!6XLfXZkx zwO|0?mXLWKLrbNGmT#PRyCqTavwrV@e!N9wq|(LlK%3pR)^e_^I3t8z@p62QS5Xlu z4|U{Y1Z}k^;s(3CYDJkFJBlT4yLWh4?85d+x)bQ5MlCyc+Uz3KlGFe7DZesRxeLmj zoh;c=)7;;CW77OTfr0vcKc>f)~YZP>(8+ zA`atuHm2npINphF3bS5oa6TKx9c#b}lG|{mT*FG`QW9^b@9T9s?P@?xa>cVD@*P(L zI6PeUgQ1Fl34)^#J9x96W)Q6d2u%w6DnRo%lR96NHG}tUWBl zGLNl){3ab#8NDdOcoVo(*8f#cA^XJ=_`5>>{00`VBE5WtNJcsvf#-3oQQpGNvaHug z+Nz0dN5giFZ@qXc4vR>5n7a9>8U~N*!ldLo-H4tFtF0efVPKy?bH-EgHx~d4`g?Uf zlRBf|YD~{s)A9C;A@&H8w>sw~F&hL0TbYeH&K22-vQGf|e4xF=T3v%d(hoYX!oGN6 z1jh$_&)KPI0|hFHShkpJHP?wK1kf@{!7wFJ*|8+2$Q2PptGm@R6Z!r*fbk1g2kqXMTLP z9MHG*UxI}f8Y7xDu*5!X*$=I%v7SN*iY&wR~G^ojg7QY@f6my(k6X@_3xVJ zkFj2FJZdbxMl0=^mj|CHY(V~<9^9K~BFcX;2x@mB^F!iRtg+HubL^<-zmbnt`(|#n zR=>@d6)lDnMGxC+`d;@!(;6RAf0Wwf!G)`t+vT11EFXx3o=@Y{Atwn4ZO0;+L0ipe zN0E$Ij0?GmT(YN&8HVj9%i6Qh?`|Z;1<;7y&q&!)LxX~eDxm-lLx?oQ+(jP+ zM-CThw}YP4CUN%y^cVLfGC|I+cABG za3IJmsv{xI)lrn>$o*%n7D(RT7Jycqz5FkCtm}0g!>|`s!!z?VwO0w?Gg*%BZ<%M$ zHrMpAh->_G0hMo?;?^FQM-A_mwKbcBso6p4zWS(u^lW)>RhMOf_2LMwlHo-$W9qf1 zNxV66sqw|MZAl^Vfb9Hn*;sqMxplEohsHZ`0(6}xR6D0W5DR}7`2C>kAo5JBW`Bn; zU(a5lN+=&~r0E2Pno9mq7Sw1ex_B-{Cr)J8mkPL=nS!s(OePHb@)>=~|8Woq4!wO0 z5A(K$LU))>l>8^qB$W#IqB9{~mC46`{QdtW1_9hi?dL~+rEo&PLthJ9mm3(; zc!~caqk=DH7+}Q`jFz>|($MYGAj)>7K*%L~S!4jzO|zDqfZQnauCk`Oek+5{0&75o zqO)mPA;cT68%ao#C%YFx-*>h&4qTD8g(6!}#p4Vlwa;`)Y1`+ogy_gYNNif$zx8pU4I= zCD;Tw>}wmWMjDA)8-j#c=e-G&5#lsFne^7-v48lXOJACX`hQ1k;VFE2!O72$;_=44eDaJgS zK$uZ~7t1HJXL6)(Pt@-Q@U>l;!+3#4bU`fG-haQLJB&3;DS&$l;m$rVxkyC-rh;eH$-Bz;86om0OLsT!KMBg z?Q8WuE>~<=BUt#)1@ALsJ7@r0XKqS}@l$fxZOYxoR(S*+Lwnf!bHV3_*U&{K7r3%n zh-Yy)1wD@|w9F?$;lm+U1RvjFZA~LV6auSp?YjhjYne9d3;L^f4>m9yXWc$p#bGBA zn+_<8{&yDM&dn2=UH2{w=P(~~LliVVDoO|SMx%j2q2eO?u9c_sXkb~8_4MG0SPpAC z(xx%pUxRv)G$IJcIa)rcbchrDv(x2U{(T~9`HFeVVn`sN7yqF95B#KZ(h_9tyiGRE zYbl065x2-e9E@$ZWd}S5Rt!J8eYEzG={v=r|M}8=HbvC}|1+xOO~vbUWYFrjISV3sw z!2z!qx%ilLr>)^XI}NJSX=NZFUVg1`iva>$SElXHRPODS0Z2#P2QwEkwp2^*ak)F%YHs*Yy{_WjLZbA$uwRgcP3nOh zycyUymMT5K2Ky?E4pRwmeI<41g>1($2hTVjF=wY*i*yj{T;wN+-gkDJc$?AeZh;`I~ z(bG$XmZi-+32FIFpA?qZQ$VG5Z-fV3g(b$7@(<`J3hEcwS}%KFGhw>jx^Lv+iR%i6xvFAk}o)6S?r8WwvMdnWzs8_p685 z4?)yHQ=Nj!auhjQ)2>lEUi+!xt5skRFtoVEjkFHo6ZrMt>NBiQ$c6?c9Fj#ufZ3P< zIx(MX&w<9!{+e^<^oAAQY)_VU;`D3!BeMlMi;nPB8B1uppuQ1r$MyAzBDi+x zNA;j+o-?2r29f9wo^EMn&M(({2|?I(cXoyk=B--0<-9-0%NZgl@Yjr}-zheTYqxk^ zBSEZqP_D*NT&1dWNxoOJ)rk*2tyn&DMN`!OrN(7DoX$ z%jTb9XOeuFKj2@Gx?Hu{Oxd#83Qmxi26)fX(A7`+KcPYlaSnL$03C-~|34Q_q=P?= zrpnLgfvE}s8G~MMp-brcNCn&J@+Gkqoy(g^peQ~I)^vF^9sS>x0+YnbkQ~&D=%2BK zk1FT@9p)!>kqJQgf`=I_dfwR8yJqd?LuZ#xcW#1d^clK#IWSt8qNs}-G6kg)?gxYVtwhy7DhZ0{`I_J>{!de}WAhp$2NqK(g>0-LX zMpdd%;}nLqKns%jiWmd&(b$OUX3b2!nbehG zR78eL;hV(3qui@BM7B#PsZ>4P0yTYc;w=_)cAIu=`JR2^HJ#0piE1V5^ zxRA6Y{VdN)A}Gu*ljHkH5+tg5mEIr`T+uatD4N7(~Fghcn$wJTgE4)*L z2has46p^KKpmbWT3WIpGB;(gkNp>+KZMEt2$X+@e4!bUjJt9|<2ZUOni*uf^Txg6& z*ldgQei0~F&t5H-e6uBdZ^Z`{oAIn&a^cd79F@78$X@<8f-FvjlD9OA+r5dc1cZCf z7VR7Fjs5PQ`=0#L-7& zmQ2+DB)+zoZ zi#{d}73-ZI$uwn6|FI!f0)V5>F)zW&zblis1x^&C&`NPiW`JQ?jZ1bPc`n*?`{);C zIQ>@Px*LyL!#8v>OZ`POh-+?|IqC^jibYsmT^V7vq;kkPGCEfTHi4Wsp}|9$JHGFO z{)1vID7vzk@{2}MO<)8XWoWIS&Gdz$`m3I`58LRbykUpxxj%TRQHf%>DyUYxZ2Xa? zKu|@>O7=^FUe@DHHE(w-QSpvn!!-Qy1lnXsy^?B&k-L?`j!PR;9Y9#b8)MZr*5UUb z)RM#L;WQrW6)9!ir}_6uH(Beh1v3gBlu=TI?>zmRe7n#LKp>TUhWBZWJXMk77j%^5 zcjVZtCazaf*ZeBz{2NREuWZPyfje9;mQ~&izfQ0-m_?jd_J50j?zDDT@LEt4;$NP3@e90@3KYXetlL2J*i9fUzPClQ`@^!hxo2 z9T65`;ROg+bG5?>V-=v$@EX`UXemL8M6hIo=qO0Q78uM=Zc@8)z+*zQ7?OwGgr7%* zo71r2hq#zM#DS#PHGEji-ze(hiF>zl7AJ@jf0`=KUZwAIl95b6yU8j*@HZBK+7u#J z=4Gk*li|KC$L?zt;43Ke=eb0rJ7lvHu;{oyi?oSvgi%>f#-2+fu`tjaE(y-#;4pWy z+LN@^t?$XDqb{oh1bMP(rE?@jE1FvLXKAG;5gaBan!$9=;Nc*W*6zw3Btf%TF&2lc zD$aojtG|v2EEeK!HVxAlp%=ixFcU>)H?3%$whER&+1&KOFsy8}WA;}za{lQ6OUwncJ^)ptMfPB?^nVGzicl-R^W>Vp8VtAnh~5HD>xR$#W~_1erX)N`xp;OsoC&;y7$s*(ekWX{mxEjj+WSxoRWQX4#bWhJ$- z4aT18ggpHgc6frtF?!0`ME*~W(@%Oy2WCl{{mnFxppd`YhPl#TJu#LcB-W-1CABIG zUg|eE!axa^fnv3Pc}$ba6#79oeFqtTGi=<3XA>I&!f7>R-Rl4wvh($N3RvQwa+3B6 z7f=);DH6RQ^*2NX8wm2_8UOhwmtU?8Zux0vVm_s40P}8hDEDsxvk_5{6afm?MBigA zI)W&9seCo7HC3S+^*C89?=X8=oP!^PJkQUZEdG@}cCWFaRQ>q5j^DbPdpn%=r+Ss=<5g+NAD@fsTVv8iUlE zB9sDeQDcCwZAp&k|D)(Vyd$~KGu_Imt2*a|MgwT%IKV_sVw~YnlqiZxR!+8TS@L?% z)%AKU0_62M_6Ez6yp}D=vJxdyA}NMp9L9;jAPjOwqjSz(-PK+B*8TxFr%$7*>sR0R zzR#1lwBPN7zX*v$)L`6;atpsIBTVsoX$QLr&?mR-ny8T)I` z39(ORcK+F5LsCf8zL38ZTD_V&9~&gE_wL!zfbyT8e0SrnxbKDO-{LPiC(cU4O^@Z(eDs>qdrNx8_T25^H!|)$>IJ&)Ydw@a`6q?c zzu*6lwWs^>wJpwy>7sqNDxa`{8FM1f+=_my$z0Fu{{BVp5%Phj|3=-tKfm{LOK$qo zd&hd_F$65rR&_twwRwDXsMwF?|NWNb$-9pTn2kFd0)CW<5Nakj7={0p#(j&7hMq!JKJg+ zzglG`F5UX()D~q)y)K+7V*65GuEgc%PW`F#I=>_@Saxna{*xbW?F8Z=a3Q<4U76oG znfuR=t$V`T<_BYEfIn_}{S`Ck>>IAw4RVtwUhGT`!3_s^;ga#xFKeyVQvcT)``_v_ znmol1*Mfg$TRweYs~qWZG}HIW@pt?XVZ?s}G`>t-chg9pcXbGE-2>r?XR=o7shdaM z+s0!ZnZYBq?Kgf0gV(a7o`LCwwXX~xTF*c*_7=Z!@2KOJHxEm#1)(}(=v^MtEUg^t z3p}sBC0DL(J#>WZ8ZuP-e{9xsM~nu5$fZ~TPpc@nx&dc+vrzeW%|#^Pv#cH9*XUh5XXNV98Lbti2*0`zq9T&I6#I>K4Fj>Z+TY;BiI~%W?nGtR3dDiGlf^U?#S((mht+#S+60)nmT1& z{M~uJ=cV3SQK?Y={Bd1}SA6Uqu7_;r(~s@iOsButUJlN!K6sja{Z5!2E}6kbDQ!JE z*-vy)Rn$Kv3GAHH_Un7&UE*z#1;I)nr29C|u$lPe^y&aJG>q@xWpf-e9|vnTTdnhO zvz#*`8#`ftGIH+Y0H~}nlkDdgn7?Y2b~@C~q8{MSeHK&SJ&H>G;K@b$vC(%vSDeTN zNynSn=f}uOtR`PvP3@ni#lr$W{_VDHx2HTcQ5!oyXBEs(bHfY>U-(SG9r|Hsn||DJ zHnwapwUrktzuU*%f@AGc2ILa|XT8%^F`P}`*ej%e=RRzrk(#P50*@<7Iu0u2$=S%E zb_xA*%d+3Iktn;3-1+V2VxeE(`><5Ppc-*}qb@Fd(l@cABdHn+B#Ic1hP8$tma@zere{#(5v4;rrNKpAMPBT zuN+Oxo7Shf@u6#yVf~F?uAKZ}oiiw)w6~*%cNWK>2UhK)nYq)na^?vgZ}9ALhQ4FA zzK5Z*vE#8geiw4rbjUJljBMxm#e|heI#@DjU}-81KXQvBMiT$N(HnQ4 zURg|Uo_y}lHorpMD^QUt4L|N2{P!N)AC!!7sH^9mDYxd-?Cie5ET#hG`+$ybXM$-B zs(x@}>**i7`lp|Hukmoe@h}D___2So-xxS~gfu??&ftX;Q;Urb z`OdSOadQk2uKjEa1ocz-Tlcl*+TF{IH>Q4lE@Hp?tz+Z%#IY*s^SyjBdY>l$UPxcs zzJBo3;v08QLW{Gt4kGxuC^dGDL7BZ=8e0%!n`SbO6f2R zhzF88va>%hwDRF%>;undjclz&06RB_q=Ou2de>gtvs6tNzj<9h{E$)x z9yCX9cIa4N@XaGv#9#H*SkP<0k6$kgnuI^7d-4k|tNTg-=7$Qt2zWjnJ<+!FUSj;M zlZ~N|rye!;eEmt6OtOvheVy1@Q*e>AZas7I?e@>eE0wK=KX-NPPRf`1gte$Ec3qra zTcSVwV&QOP)?+(p1j%(0F*ICO%d|qFr!5XYDr+ z7{iH^&TlSVtPb~8`;WeHH1Xjtl9zMK_=2@7cjI-Wf4S|rf1g;pvy!2YQ}5u+EAS6y z_tZRK!oOUa4lRDfMZxfSMU5i>*9uy0zk$~4 zJ#pLF-i_UF+BuRl-hASJbeZvvf1X;plZuT-iF`^b37v3D2o7My0x^k1RbQ13>ULVp zUh@o4B>;MxgCICi65@Be8ag_CICqX6_kY_sqa z=lG{yv7XoMJ_V3z12X-0_s#H!szv#;R`&ArK*O}I8Xf^g_^-e68Ya7yN8O+OM|$_= zqYpWjE_g7oF9thxRO`SyBqzI(Fu#59E;xot}Pf422YZL+cW1QyH=dirJ} z#Kcl(=fmebPx7TwBm7HyykoXN7r#rNZ@t<3W4`l7<8SsKPnu1pp9DNOYz%*~`~1$0 zXH$>Yp1(1DwWsq7&qWt=Xsp#c++K~^Tpuo$>rZCiKQ;9J?p-KaF8wTU;99+T`rWD+ zIoG{5_c*lwaHN1^z)vdYtfdLAepg=Je0%vYytZuR3cU=O&5046^Ev+H0A=2L^ue+Lq_ls=>{IKKIrUXS>{IztMO;Pl&+fcI$_B3Po3$fimgv?p54{|;#b_v4RZRA=edQ=UHCCOGWQ?9?)G%l zk1W~c@joQ?<9Dmcr@}4z%(wU96Z|#9)FZ)f%zWwi^uX7^_O9)L*zd+AU93-H0r zZ1=P4{asb(XC6RK$LOuW{Li7>3DWb_rB)^L^q;@1pFn<~3Ro2e()oZbo3iiH^GSA8 zg4u98rj30E<-1}@d^nwFnTZ~q-EOn)?&eLnRuN5%XiZ1qzuvDcKmCGJ&=Q#dbG z$~e1+IebA6(7?wITJ_dL>1{Q9yWc1AT7SwC(GtqeMbgX$>A{9tCuY-A{x0Sd1$A3SXxvO3X9`*{A6ej zoXtdZeGogKHrB`UD!(OVZtUSVEuP7>;kYH0AmW1z+Q8BXk!xuCyP!Fz7!QS= z<1DT3MMWQ1q(D^5$0SV_Pg2M@wG7;Cq%&>DGL8(WpCsUH9@e@;03c~kl>0Lp5mQ4Q zHMD6C<+Qe%4FeOlM@>Vl8BUw`tu11b7XoS-H7y_3dLplu$9RysekIaTkS-QFhzErF zpigw_NaaM^Y-Q@KmtcL?p~3yPY_AELU`;9ZHKbYJ??icjujOoAq zj`u0+%L*J!!n_xOjsmM6$==d{a4w?3v=dX71u*eU_tK4vtb6LF^4s0mTbonkR?F)u zX8;7FeR?kKK7yP)wLQFe#sUP_*80vJ|K1Ey25Db?IMBh&B(--qeVc0p9f)gLEj2+s z+^kVOfG~68!Oedo#WVS72>2ZXX(~0kLHl^IXlNyjW)w?qnimB-b#w>AKw+(G{Es&v z27A4Vn@JRF>5MW~ZO}Ep57RguyGqrwU4;tGxB+GA%}YP}?@zrGMMbeFn$cdml-2e% zjg2xt@q)iMJpx&bq2BOm5lYlILUA9|oPswSA?#x#Gs>$&yO zdydZhwA*wvRfq}&-_LrwyY_oY=QWF|ad6*6$Dm(Hh=AO+2c7(!$MB2Ot=N<*n{BSI zi1${-pYgJt($+LoPZ_*G3umg`Ke;z2L96LnA{AKsdHWNZENMrCPXOZwD6LtsUO3Zp zdM524LO1Nb>*IYFMjpEAW#sRE-imq*zxuLg>-3`hPqc8p&2&Bd!lyS9;()hiS<6Yb z=t=LB+v|t7sqeHKgMM3?SlS`^{CMlu3{m@dDsFuD=`WD(HO~ik0~>8}yXKVqVk!Ob zxJ4+xzIC{D`hxsrS~<|Y7agVAn9_Q;>;H^iD||2^UwmKrO$|@Hq$WG>t?7jmzrdbv zJ-d`@tgTLqmi6JEKQnVObxdqsn1ANIHA-KDW-cAeyLI7@PG=TFeus`<9!#B$T04A& zk(N>%NyRh$`{OhIdOz?C*m!pL)n9-0N66iRkNDTWSn=jM2MhnofY9(c%E?C3U4Joi z@rBuEH|>dOKZ_#Ee@CSS)r9b#=VjVQ!q;2{1BxS(TapgE@0)4Ak!m!gs%AW}S^Ffs zA$Q4@h6;yNf!MVg`(EC&hqu5EE!uiqW{A4g$$H*R^>RKwK(-q+8rG&K*|8m_qgIe* zWzT2Uw+>ZKfMp-ApiYsAgVvmOcVbz#B;5J z-byoj!lBqMycapc6o>@e*S~Tp_%!NLb(VRswsI)sPMsPbw|3gH=uLkmL7M93yvfg3 zC+wdf%4JOda8STa#d*}a7}5p3NA<;<+qd>hATX$7#+G%Jt?ug`T|B6Y^ZnVeam|m+R*bZ+6~P$~)X-Y1tH2=QIw|u0?Vcv= zwwiJs9MY`9NK|7oT(xQX%}R>hGSO1HI9rMLAv#s7|D<|rL#h_J!~_(VC|V0WGqKVY zUoKr6^fk*-6t^XfNzg(@oMI23V+Lf)9;&x@3Qd-&yXC!O5+Pc2`ck3WkL2*iO^Px} z0)Nm#lZwTJS0z+vTHFS2 zFY$vo(rGX$kPvWEyp?4PSSBtYI2D6;StV=kvh6vqC3huK1ht^FxVz^%xndMrL#1ek z58XkyuuTx_9jv)sJ=S-vq_$*_9LMjLYRG4Dm~$00r%b2@TmA@H1Z6J0+l`8w29H7 z?&F0I#tArg(WL9{>D|5oo-lPl?ch^vAh$fzKhl2hCBP8LA8)@{-rgAg;PWO8f?9zx zjo&0{pp`$Z9C0(s;8*zT6Z7993~@q3_|McWRHPbS|p2sAJsLv^axL;Yrc=ot7p4% z|I9-@w-U7eA(`J09X)#Ue90*v#^$Pfc2lX{Mc`t)jDT-@KfF+ynL-DV1N~I1`*2bd zso14uwGpvV*GWv2?VmKEPIC`(72e02+lC$C%)pwMW*o_%TH_huF4_4Hcu-e7R=Ew- zs>-Xq7=}24UYus+dX8O&;*Pa}L!*^~R2znLvlE04r|mq@VbrT9?qssEsZ3Ow=&uR( zhP7cAcZ}>=Nrr98w&NZ0)rm29I3LlWlR1;G5tWc0v*+<87b#=P7z|%k=)v-&PA-au7ITcD zmg@Y%kuR*8?3~vVXzr143w{Zz;#wjw1&pwlw(L&IKwoD;)x^|{dDLopLpzpRy=9fp zY~-8O8XqxL(p-1jx3dlG+oB_Nl(6OUfnT*cF>Pn`vN=29rFO6R zb|Ng2s~*%bJklK60Ux=?Y<$8Lws{i!Zq*_tj)b)Yg{j8gsW`Kztjz|Gcimh)L#6Ee zf>w7UsH&(lx^y79^LpI4y z46PI!-q{E+RNa#%+*K* zv@$`gay0aXWW!?DZxGe5mAmj--Kgaco#q_{7;u}aePu&4odAaBW&f@;W^kQq5IviP zWOt@lWQ>ivaJ!`eH}CDw<$f;-Yl1yg|xmX zS2yVrY^3dYC*TN`4{t<@y*UZk?Xbs6;U<6E)&b*E65a~*Z`eEQ(bQCVv52SF1#9ku z%Z0ho9%Z&y%d?1)!DY`-Fdi`3`@Lrs#$-R^$*z5bc^X<_`?d)p?kF)OF163hsIy4$wUNgI`Dkyx|#hSY4O%4dCXQ`)!Mx*MHSj^^F>pd)^L1$SM z!CJ;;g`%#bUc;Hd_B#40OVbEV72?fmL^HxwGU5?mabiDh1v;&$d{3PZhd!_`a$9wG zGv|NMqbrwNT_mhm3_2vgKQcwS2mvv+b;l%}O-9PRkaj@H=HS9gmPf}Fp;Hm%7S?B6 zplywR%q!h?gP;pbY3*&ylpQv>arzvKQJHrrrrX}oDJ6$R)R~g7SvS+P7osB>%W<~P(^ z{0zOK&e&!`d-`-S1iv@9q5tvf|4Osd>hQO>iKU)8`H~16e;;ral2Ugx$bJP3Fm4~}cH4d3gAH$NPw}MbT zCsBk^r*IOsPdjpI_#+UPUn9eBc%sp2kp?>yjeIc|G45W|j$=u|hQtrH5*6M&>MNJ@ zCSBzKRhZp99+L%kg|kTUt_=fRYsG6#LwdBYw6*b!eR}uz+5FhXIp$fs7)t-)A6~h= zL(yAjn#)9Uqpvpl(GBe@1A(FGi^=abr$>esAJO1GRr0(YJ3# zpgx{y{X^v*-+yl-?ay49R==dx5*P6y5~jX0^_@^IgU(ETqR|g&w!S{eSdaO z$kVxWbjJEG-}jt~z{Iq2^XbG(Kjx$h@hwS!((xA&~p5Dug5?yzhxO4 zY{z|nII{UV(&{l?bD8wiVK};gTNfS0uCjw_rwCWm_TZE)pJxNd+NKNk%fY- zN*K4~n*L2u!%F-^&5Hh5!^vFbKZ&$M@?~z5$ZgBzkrhn|YXiwuE z#yIGXN`RhiLuD99?)DA{E#B(pXsmU{+zS|zA=pd}(_^Z0HD9c~KP=Y=QU#y7(q%r9 zsh580km$CqBx~|;O$6GkDS@xqR&KVtjj61_s0>gG<+d|~ohT`ov&D$8rtq>hFKN@S zaCP+HSTCZQ92pzHy9D*tO~ty}Hb4VqvirH_=u4f%R)^o!JXYf^2R%wmyNWeZCL+9C zwHNa>9S?7aIR{X%6GtdbQ`O$*QBSuGt0Y@&H=x*M4d|qKv*9cjXkt6%?Y{$^21#fY zX+)^3-8wT`2{E~b{;xU?^B2J4N47f3l+n24t+6=nLJ-S5Chg`1*q`d#y%yl}s8fXy zIw7|E<^D? zi1hWt`O|}L^zeOycw7JZ)o!r^O*5$%%P#A+<651kY%Su|lxg(xR@W(RW3sYnaS3kZ=^ZmQ%(ZShH5i;VoUN~SV}?Nuyqx<#TeSJwYqhQMGz>m9?j=) zwqqWEhc~2>NY*lh;Bh3k_?_|c0%)`lW0>Ea(MW@bR;9;eTNOD#w68D+p8|L6ArALj z!DShw&zw?-eqPZ3WlYdYtL?s=0W)NKhPTMLYHAa^BrlgovNGONu(g7MVF-?;%ause zc$dReELq!ALb`%4`}<%PHqm5m96|J?2y5hpf)Pt-pTT0s3c9+43x{z7;J!(;V7$j< zjqRe`s31Z1#t5Q`V*H`9o+de8$mDS`OuN`E=@qciP7K&-xYLx}0ae+9%B_~3_PULk zT|q%)yqJ;Pn5CobBuT_Oyy^M!4msOdv)h9${*X+$Jt?X`e88gHfX%=HvR|9Z>_Y`< zQ_Px*SWdSuS6&_C2(X@sXKi0*1R4@`H3}@Gth^`?h)Iy(oP%nr86uK16{xcFw$1HT zP!Pkhl+h;pUrZRGG^8|J)poZ4f)Tw#F8-&#=2Tb{%9#2qtdNj+uBpjSvMqz@KCBjn zSW8=~FqI~V!gwqnq05CfWW@l%HQYxE0Ob&6kmRwYlH7 zTJ4tC60a13HH}+`ICqZ~Z|EAeurp3{)O)O)xhdTqV)Y&R!)u-6cKZo>1-2AHZ+p3N z-j~pucFgt;$D$~eV*shXziIO{wQfc)KmyG`UvE!a19ZG!HE6G#c^#8=-5u(|s{b@{ z*Tp+&)V;9qI(e}Ee96}G>pkzhlW$VMM_&Fz(;m4_VLpi=dW@jKpI^2WkN6L?(;_TYVMd1^ zSHd-jtm|ut_A1_P@q!TH5)2S@zL&^*Lx%>FdK+-ZvRQ(~MOBuY4r9&M#bn0IQ=*>X z4lMQ>FGOq%i-3xSFr?qWCDl4^eS`v8Ake3RDAz%H)pf`jXLojVm_t);#7}}yhX&0&@EW-L> zyu_o7Lo1jCo5_N$Ax!Sjwo{6#^dvlCeZ9 zCwNiJ=$s!ll9t|Bu|0~llbA}kw_8+IXgCQe(ozIc3fJ2Va=Nnyhj9TfBYAyja3E_8 z*K7RpUxFwXu9)=q7}NrdnZk#wNG~?9&{i#$O%<+4`xjOl-^zgf^ntH%7`WANK2OVDa-xQX})y}kj-j72!cQluq-~(D~))J7xbAdT-Oh| z^7~EM(%sjBG%MF+(2N5GpN0^yCnb{$m9=(7cU|%K!w#MT<3cCl ztmgvGuW-53`;Bq0x2P*Sxw><5PtciSLdyHt`of`5{Dp^W=rSCfuW78;iltiYIK?M? zoj^ETG8)OYsiTFsC6Utk#}tLt{<8U8yUH2uyL?0x0DY0}f6n}FulcP0&efcMuAuLY zxkR#vGicjtrL|gKewQlel9`Hs5g!Vuv_=2gB>W)X*K0A9%5;wA1gY;Z}F- zD(U9lFb#XVpL-KI>l$oTM~Ti>BMC)Ywz`3{${5fYFZm>6y;R)MK}X$Aohn#s5|vFt zpkEZA94N6vvd@DRVV%qRz6skjgZ+m^&1G^uYl4UxrElBrWo=fAlErcDc|v;Cj@wYR`9XA;{&=9@e@|qbG9SR*S^z&H7g=X6P2?rua6?Mh2l>B7BHf znKYMeY8%HDIM4IPvL7Z6BVtIc0H&iyoygl2nN%yADZcVY@uPyI&bf_Jyx^v9FP9Gp zIm9)fOub12)NoSHxxj@SqVK7o7Ckg&)H2f+r(dbtjg2-I${*DXb-QN`aC!AD)+zCa zCN>87b^3Bl;4fdJ1&G~#>HsnE)&f><5MjIT?ZN9?LuIFwwnX*DQX{5pw?fj`5-X=l4#db*m=d+sJK((yNBA9F z$6zfpD18I82|M#O3&DOA0-Hqd=BK2+v{ANkM#zm4M zpX+*?KZLu@H?TjA8p`fghkpb9_VU@Tj$ecJH#1CB`&Mz+-EP}pIdv3Tc%aL z#n`0hoG2~UP=MpIqvH}DWKfrtS0u3W)6F{wiq+Z*&kuAoYnfwm(%s3|nnZC&A@gD% z!hf?I#5c&EUE0R$VZv7-oFoN7rbaIo?e7K&W(Df3bEM87uhRk%H*_YfdXRMaGna?> z(t%_boF>L*^hHZySC(|LaY8s7b!zoyF{$I0N_J@fZ5q*lwT1*Nz{!dZS`&Kg6o!3e zf*n+I0aNVEKG@)qq`E;%4H7bd`-sz~t@r6+jnx$N8#Ps-_U0MOE?J-!?DX+Qk%gdP z#VnDo2(w5*NZV#)ESQ+{lsX!E6zj3GZAHh`22i=y%-8NDVEevo%cu@pqOc}4%08FT zLz|W%!&A&};0;!=rgvftRI+roS*leA{R|I1{Zt9iO;v`LENXCXS0g_+ec^ zq~W?;y>PS-c!#EbF|)wVm}lnQk2QY0gRJ>RXER;$Kh3|PeDBr3*Kc9XA+6tSAbO^C zE0t$TY0tl$n89BBzfDrzI|D`H$FDpSX+P*1{_`@pJ#**YP0b~w)1xydb_2(ZEjLPh zn)}rBUalXu&LERBcmKCP&&|MpE#Lba{TDxccg#*uhc{ekI2ZoR15kp6N6qVRYU728 z_wM_;2bSus&rIy zI$FOkcXhJ?5i{=P`QQYbGKsV>UYXd`%x?vQ)kByDgG+ZbIgtW+vVfizETn|y!&fXX z7|XX=$`WqA6wo$Rgs`>CZmo6iSap{V`r*X5tW<<(05Md=DmLj!3<)3K!q2HOB3E=e zA=f(m2YfTPWo|G7WBRn6h?k7buQKKz-2gA_YB9~r+#HUgDq+G*9)PIQOd{-sHgy8X zGl1lYA?o!~C(?aG-9#kCQuPXe~KABg0;i9QZl65y0tU@hZw=LkD97DNg zrCl*aUo_DOq=AQJi=qUp^@+qlx0I8OsCvd+*N`yPWB#mMZu3-rrw-CsoaLKZ;Ewlz zCT+_HH^pkI*}hY$E}b@GT*YWQSv_c&_bD4;k+f!wPF3_8QX!o073-LmT}ZLYM^VHe zXZQgs*jHJwIr)_l1@+KR93QOkSZ;^ir@)elJ_t(eO}4ihV>vaoq+h>t=`ik8K2kqh z%Z)T}pXhTQgLwrvpAn!r?kUEX55(-O8P%Cf3mG`4VG$~V6t8DT2zXRW@GbY0;&TLhW)#eKFN zpxS~nW&tgH8n1@lQDC{c^~#COd}AQDwuY79omGYEN)8t<+H;2pK$7y+t^870NmvuUI5ok{QAEYLkHO9n9_3 zh&~h4h*j3QxGeV|09yLXWfchY4YYJM6d~>nm23Wzj>8p~Pe--@?W@UYZ=`;U&*sKi zz!J^5I^(P=gk-i(>(zNX9qO{99W2pm@;bdSKV?{iRjQA?3jU~?r3|H+ra|CwwJV#R zG5*(2Jrk}xq15-;|2o6qy8!w-b=e6xecTtPQl?mB>LYmD|G%Z_Cx(rPZ+iM0)044W z%fL5p_)~h{^zyhqz1|ag1esd>#Zt)e9<85YuKZ|P7iVTV{&fbQc~`v4X_|3YsFMW6BZpJ(_I$!ord1rRZDP5>|1HZ>yIsf-oTh+)@ zdur=s>!F$2!#8JoE~|K_68v!RlWnOB*B!w4CRVUc*qiV8i#aU`+K;sS{*0-N#p4%d%a#V`J)o%{gqKbgMvzunnDhzpiM@D9Qox2M9=~#<5}zf@Wh)tYp3L z+Q?9a1v7eT59RxN#2C1_tuObgc=TWFq^V;=b=P{P1H0~SUooqiEStL)YB-s-HgEaZ zT|K-YbIyCLk^Q}{NVl$qyb*^Mk7`d#Ee6aidFU+{+f|kC%l8GvR*cWYV>ankQC&|PUtpZs$>r5b04zhNG=+4dY|%9| zq)6R*NMwMu2_+oBO?-Z>(BWs@l1@q;-b?~sr#i0dv$U{bR`qJxAZ zr5wX-syC}cL?P7U(%D-~l!G3y&$_M{`V!55n@agaOoxt$7Qsg3h5v!&p&vxA`ImCdz9-L_1!$*$B$xq2~A<{I#A|hKXlL}=vVr9PU?yfm@ za%n=ffvj5U;qwKHaw7p3Sv5_rq%(4>s*t-T9okykM{KC*ciC%kqN#23$9 zRn7y4+n`eqV)-v>ZH6<&GPq1CR`l=1C)ugqGW=w;{g{4bq-DXw1 z>SVsuDMCuI>UxFuP1psx_?}ZoIsJ(E`Uqr11>9WsvKW(6DTibg6qj&auHnhPm>6q% zt4yye33F8jqYqk;mOW<(3zkIuZU5%FZ$%a2rM3|3aXG6kB&?J5IL_7EP`_AT9nKVS zdO{^cT#VJswE|-ZTg=KwR$gDEP=5g4>TGKd$lOlY#urO%rcsky4X_7e?HJqOwbp4d z9m%&aSZTD1AdxFzD~)Dah7xEi!yIX*UXnryN3Ax&wmqbt&DF~6s>8VqwdshfZr-HG z`9VFd$iiaQv}2Xjely8*QVqI4ztciU3|u;Z@6;b?WMoT?$f*-UArAP$p@e|007Iu4 zZJ3;v^u%1t!1^nUfW-Xmjh)Bo8yN*W4p^0mBuI_hBe zuO2Q2sE{{d2XziFOf%wog$8<=mnnvR$NP8hEfV`pV6d0Ajj5wu)9#=fmf%WQ{Q=K(Btz)s-7OycEY zao-A_NKUZ%up=H*ZD_I7Y>SO;l*xB2-bG1e%|JXKIHqa6g2a{BttYFBnkyFqmOtQy zuQfd=jcgrt(F{GTKF~b3=KIe9JzvuCoA)1A%MI@X znwr4hn}N<%*WLp(y+!##au8`Ag>GeitoJwSp%L>W!f`Bw7tLMl(F5l$wmGL_Qc8HL zZFpVU2EE=#9!lyiodF+2K8`;St(7t3OU*WCnlDd|Top{kujQwDYSpfrJ}>m< z4BJnbeM`qai&h3~{B4HZO|QRqpQ~Q}>1Qv5$-kagK79+(p9sw9Z+gXS$1Puv^u+yc zEhHb9b*5W<1e)p{C+c4~>Isg%IT`HoTZyYiV)bO@leN^f_E3u-P;U7?7wtKbyfjoC z^fLIpPmO$Y$YVzNNXwh57Y={}THNW%T|mpKiX3C? zt-6sT&KQhy*Hmy7XtvP0PNx-x$RH^*4OkK_M42Y}EX&unqvp(PE8rv{*37#tdD$X5 z%7|@}0&txXmAs%fu5otPqfm5>mkNo2X5N69wG04}0-`0rsV7TYtig%I1U>Q9a?!^D z2SXu1=`ZIs?qN#fD^c(snazQUvj4 z+6JA(Z2N$G4*^0Iv6g9MwiA18am1I=nJ~^Cr;tC&Z)CQO=qF%eBF7Ja&?D#QjtCS&% zdCAtKIU!$Fn6I}bY;!4OD`zBV=a@(-`F_;u``84w{}@nw5NSmGi+G36J%uoOPB`Mi89biCpPK+l)=ut-<#9H+z@!1K!gSIA~ z*Kjv-U&baG>PH>4SdYRjQOG!?j-Yi{DQbp`=LV`>(`;FdO$fO$B%Q-yGjWAG*)r5E~zX3d?yR&Y$AZW^ev z#O*L#*sMu6q={;-;tBI7V*zdX`(Z#zC}JLh+Yn5ZO;W|kfU=>(%$x$WED2-xHhErk z``WI$yij@z$joNPH19ZXc@L|lQ`(iX5eKGmP^Q2yko0%>|C0qt#DxGo{LHWpyq5a#cqUd-Mi-+J7HU^$UUAh!n#EiiTJubtF$!Z%_%~=0eIcPF7lPXIXTn$ zl-+IaY~fGGT}}Sc=`PDVn~Bap9vm0UBViZQjZwh$`u=~;yeZ5GGb#D*;rV^&Dt|5k zkH~+2dp3=~Z2ZcKF7G*3zgbNB{#x5K&2%p5er%c1{efy`JK*^XySiVbf4E2fWuNC_ zt^M)L-hHJ$K?ua)nS0+0oYV9AJov?fuTL+6pc$EA?w&dGHI4qY^9A40E&W3u-01eJ zXlxEw-e1SQaF;n<#X|NwZ&!eux*6+32c-pbP!)rKt=Tn;6pU7pc3|ma1@Lk1a&%}6 z(%Vix*erALL&tf`R?q>Q7^?4qwob$LJ83DY=7yjym9U4Hgg)0;jW7O2d9uBgvo`Nq zI5x6i@TRGE_33uQv*K{*_stIulAR*uTPq!97o=$at9?Vrn+Z?mJ+MLoE%TRsqq(;pz>9xETyG*pv$*{=wx)H&6 zEeGchtEjS1BJ~FxjDtPz`NC5{Ol5>-(v<1xJU~6rAj)Yka6{ET6H}DQ4TDbYyAs&3 zQ*)rlt}~|Wx0*v}MrYngBy*|rlSc8Jke_Rn5u(b2sG+OGi%YYe!v@B(Spy9Wry`ot zcf^E(Wlj+J6)1Y#-e{4vT@n6hE9dYOWOb*p-5A*PKs7qKZE#v83TpfM8a=3=0wfa2 zgS=A1(_B#6Yl3E=5p8uGQ2BzKBZGbB%$7QO^+FBE0M!udZl-blP`{@d@=~KzvCwHU z6qnPqYBWm4LwpBu<PsMof?$(7QuV= z8-2tn^{6YUT`%MDoUA}oNx2l-0oC>t9@3R5D2dGSjkB zu=4%p2ZQ&2`#W#_up*w)IMhHv9S>6ky*v9i=TKh%g-TKgyCiE{^DJFe~&ETnv! z7p)9Q%X7}TC z;XJ$1);m1$9MTVZz?Ihs`_q3efJcogi9+AVQY3GQ6@$^ypZ( z)73E1)V_1P{P=E){!owSId5AmwYz=n3bTw95$$wJ=#z0xt!UI}>O8&_V$0xv3L~Hc z;PLi@_7H|2>!#di%mo5v3?*BGn!ByW-8$Xt8Zni^>{A2k>H~Aq{0vmJy1oMtbpS8h zNF>qKC7Kg_=pe?iuo3IBgYCWeIku+Yjnuqmw4#Wx)Somk=adw#uN9)vB(B_hH0 zB$&#+f~zX8dgjLYHj$ZVlCIaus*M736+5%atRc>K>QN3PqBiTvkqc=}Mw#dsV`#K^y%i19ylRvN5ObUv~^d7st-)s@Xd7hlL+2VLhIx zspR5Tpx-b$kse1BNm&TzG$>lyp!43$I0dnD=L<+~roN(8mL<)yJ}KGA=$2;u>ZY!B zq9avBl_Qhpjt5XiM{1$rUl&fde29EM|wz@FORc9Du=9!-Qj3%$przwIkaxMI&VV0W1HLn){isP&j(R4XldPRF;! zP^Z%r>UW)|&e{(cN+SCjg!hlHH;N?L=;WwJ)^a#<1X|iKE zJt)aoNa~KZd33Cyf)f`Ym4pR$r9!akpY7Uun}^J8umP~`97R|VoT*B_$T=QL#70Ir z7(8}I5q+nHYoXIdjxbv0XC#-8n@m?6h;1z1>);zP6k-iUC=aTvL8T4Ljr)|A|7jR4 z(0j6Cp59d1Zj9DNqS8~l0}$wRSiNES2O<`Aq;Y+p7+VOWl(22Hz%#CNRokiZXs47q z3Fh-QSrlAsT(&L5#-l}8WDX^r^X|(Ic&gH5ybO(Vuto>}SoPHVcF-7jD5^9vNDtQP zCIv^p7iu*@ks-$>%o-iKR2thI1ASjV!sF+e-hm&^#a)L?h>R{9j_Nodxqr3co78_T zwCng>qOn-YzDnppg*D5=#yQ~Q5+zq*K^U%0dwix2ADJHC9%$I~BQH_%qa^pY@6|3~ zV5>f56Nk*VrRVl<2a3n1T&#OsdEqX$-EL{tQwytlw3TjMRmslcZ$-3z*VcxhLLRK_ zK9}I0jnOmk1tT-SEz3z4Zl^prrsb`Y-j2P9>TxW$FbK79HE`+TnHE4uZq+;oLAu=X zhG4efmG*0~el%+#H3f*aWZ`7-Z>^mVmmZaOAkXcud#A|^WxOKm=I~Y)g7!=+V7L0sq{p5wPvswRghu@~0-K8CQO$dwA=8C!Y`P z`tBJYU8}tMm%shbw%`3`ZjbLZ^d}pT&p$H8*G_qYnpg<?fhqTB_$z48= zbh@hkT_-l;{$}N$=O1B1&=(HK;53u%)OPKy+q;^x`Fr>*rTta(6C*#F zjg+V1h;(}BAHkm=GQmR0vkQN7uLK?p=gzObz1{wVCqeHC!b34rsOVSo9h1XeGW@firM`=J1J z@Elivz`kSI+CD!jX^(v`S<@xf2HBZPrqhJo2u$_PK)!GMeWovz!={?#ubii+`5*Y= z^BhaaAKpeD?ZNd&B7!Buq|eR#EQ*q9_j*4k8mr1tp}A z-riI`U%wWqGWAi%&oikf3RKo7?8uy4lgs~@S~{j?kM=@$=xhlsTICa)w5^7>9m)4C zt)@U|1YhwFc~*i?!z7lQht@OVZ!V9JCw>4S@G_D&nPec^>|wAMZOF}7s09r;pfI3O z!nV>D>DB_+SiS=51i>)pT@^NUkL6G|JSVmCeP?WNlz<1G^*)ODOodlikVaw#QpsCW z4;(s9bX*fQ;&@E;9rlFwfDB&IWCD*tp!1=3RmMTDYB5*sdZ4`%v))#tD4hPRWt&!6FgpFDF6C~ z+7EGE{j4y^TBBbzE%uO!gyFr z1hQ~%*oT-}7^2uf+Y1Jf4U$#KAh-)QL3fevCr^r0<|HD`%AWrud+l}rF=;2fDtk9^ zPbIY3E%jo+mvLtp5GH7+#3zeTqyGSU<4&xnnf=7(Xh)$U{cao%G$RVQPkfl@*v1-% zIj%ZG#TO^3?olq?*K_S|6I}nYm`&qw|LCGCg0vuvE)#oBDAiay!+a(56C8H_y(|&! zt@K!5cyn=OWdr-Yf1A6LNYA3EXJ*Vds2CHc@rUq%+#Wg$k`~D40}LpZxTiCcqE6qI z_g-5_(UWD;I(qrwz1QLjr8k<-o^=&nOe zJg5wOtkUp*>}0=L%h!GYE1rMR5lE5#47_pXsfW+z*++wxdvyAIZTC?LJ}|dZ&A_Mo z?dOU?4a&vC;JWG0VDNadF=s^G=!oKVkfw5UIxo-){RZAn7I%}|RZGCRL4Jg^bV5Zi zB#=pu@}b~)8AGJiI@}j18xLQ%f&zE1uCgS_I3P&2s;}P9@cuHvG?C@y;*$4ES`GgaN^ujP@A88SD32HBYWP*plG*Y z*~UQr_42ztf9NM)!#qgz@Ql&7ZwdokSxvm-+hQ`^N%C^=(bW_pO4N_@+=?A@-j+t_ zBhuQ5i}Cv?(ZX6h*{f%0d3huGfe}t*B0J6V7@~}AgM0i*pWgo`-}%`@DD8W*IeFr8 zvJxmuu>4`BQq^O%cyUr&%?=n+iwm{@n*&ugP|}Qb!cut8-MG6RMAe zT2JCZO0Mj2LW!8|5#Yi3_wYNr!IsG2n*L3Aq~H|>w>&~T!rOsH=)4l6NB0eoeCEAl zm8>;3>?dZ9|7&2V{+pON115Egk3zDt}{or`&Lc5-F?_K z#~ou>-)M#iw2rZot@*hiMn2y^SPVHr6t6OuCuVcWsUXBAuVQ9H0M34^3Ms(WiDfb~1Ia#G0_}RnjJ~Qso6BA8VeVV70if~lQwU4&D zYFx(ph_PCG5R&?;GT|$g zum)nAtCaqsCK}vqsOF5meCJsY$s$MZ2Mz&XDM{{q>Y(H;zO*kbR?_bUBKoDpKgYhy zXbSR~^i^*2;1*SohGlwKyf3FC(sZHuYURN%22VyJL?Jl)%F5h*fB&lgnR<8XGOwRG z+y3IharbS6tKKf5XY=Qy|4VP5-dozhyU&KIJc(l8jv-^tq?l=x@$2&e!)fP(>A$L0 z56?Y`J|Ql{J=Pn9&ZDvDdFBgyXXLSWeG|lM=VQD0%75LvT}Iy}j5ll7ByR4L{F&FY z4oqof})@cTV#2BR7qTFZq}t53G?a@vZy8 z=PE0Qbv^JcL5$D6Jov)V{myjnDdpjZ$eFPv>+MK;f1iHIYD4=!@6G2s!Dje9Y(0M5 zJSvJWN!gzN{mz#?8))+sE)VvbpRO646)ld&gzWBqTNVA`ke;`DaF*W+|T0Y02_I=BO#D22cuYRE{^4n{3-F2~ z*;x7Bpf-U3GN`@*%OT2S(4NuI%AoC`kQW6RAA&AW8HSIC0;Hfjf4TVbNi2-yg7OYL z>m6C5*6w<9dis3bZuTN)zybOq)3m}{EB@VpM~;2Q^Vl7J+k+rtMs_XALr9gK}6_b#5A6GlqB zb|KZ9NqU<_K1}r32|C&%_6qTX^7X0K)$YhopqpJ7HUvSFTGKnm;L!GLsHGYfl^Psk z^~B3&2QziR_MbBF&HlhhK7VXt8P?S02yNukV+>v}+sVLB;8I_Qd>@*ab4UlxcKCD$ zQL;+L@o;;tW#6sroi5aN?-X_t1*$jdBt%jHF(A&tI%+Teev6mU`KJG=_(jM!;i$=` zNa++=9N_lcy70Znec~m``3%ttX?EVU^G>l%cms9r;G_l(B-#+ub55wzV7dT4z6aW= zdf_hvQhROk2{h=V?jZvsb$*+SY){I#-z4ux0MpoT1!7_=JS?3JMk z12>Sm6UUHaC%zw~Rq@e1qGvog1c$1;i@w4>(y^KT8A0dY8BsR_mr-Akly|HhM+}SZ zud{b-po{BD!w9c>18|S0_Ep`xGLQ@u72WG@%-Xcc=?4%+Axe<2y1iN{469J8+Vin) zT4)w*Gl$eNzLHoBJYGq!e|ai^5a@w+9z<73Ts)H<0~C1zCpq2qG^cpVpD z03>_85>s%Vx8vcnG`KmV+P2LMdLP49Bg-N>`X3WkBJf4g=`6qD?@P{E;nQgTuBS0b zfgOZx+@$6A0ovVJYoNiY!*L$6jYNFL!L`|OTw4t}NP`{H^R6|NZ~nvJzjTJ*g+_>p zy_JgKj+FE5EfyZ}TBN>5Ztj;VG14f<$VNe%(PWw{Y_U&YZLw{L>#lJZf$<$U=!5BY%ddSf+X`e;T;6h9uLFM=H0p7o$%E3 z0SlJM#`e4yXV1=cZw0F?IcVq|T6a-Faxi({$gkz5I+gs0m;@6 z4L#y{Cg=L)^FIGpRW1OMOG@a~i$jP>-eVN)udIV7^k}2d?2hDSqm-9|!cVI)3|W0J zR;*B?!He33lHeNrcrD6rmW;KvOXY4Xox2*E3iqTMG+wa@`Ep(#P8SVoLa28{-}^QM z<#xn|mX|j(puf=%-y)8KeFRdHJHC(3n*K!pi)@3p%$LOxp^}@_oQYOzc+6iVXXuh!1&C%5`!l?3xzL-*bW4n_ZM-yd*+Q2Ebwz0!TOdv|60atww` z7fOY>A?tZDb8arwxFQC-(Ym3PhJ7i}$eK@ocYxg=tlO`Tpl0a)Nr#5P_DgaX-qn={ zYHPDP+(=*jTxDV953lf=Y+xD_+{IFbit(?`=yc3JR#RQKffEg+jt z^-DoJia4JcV!+dw{QinjpOV5llpr1))G2m`5wawWECH9yimm zP2?DnWk=XKV(R-9!=&M`cxMF$+B=m#rQ!Vmx_d7zT4UedUtegL2oKLj!dV?JYY6!Cm$akP=6X|dj5*-*`R`ra5A1&Oc z_7*|GQx3>LEWX0Wh=W$s)RAo^IzVmG8U)P(j#fZzOgw=*2AIKd5mW8Kae|^HM?(jG zwk-$W5yuF`QVb&G{DlQQZozqs3?O|xvir+*ib*RZWs7XKK(ne*Hhfu;Y4(D&7}ScO^YL`q$nq}1_rby(i?F9w$giip9qYI6H9TyK>^P06tS^yb(P z(%=~q4GeQcgLriKE4%Fd>o0!(%l*Pfry=a)mn&aej28yIyZ_#j$Pa3ts$n-P|HI!k zsn4^2cO&-tSATFbN(Te4Hz;Us`!_x~fz%(LDJE`Q&VP5RdgJUresHx7|H_)rzW0GL zJtwt1PBio?{!A-{n{-(0<;md#FA7&m|JNIsWJo3@a&_~rbZojb8TDyC5E-ig@J$A%M z_}f8>WP>Xeh>-Rj5N{diAurg*sZhp-k;tL!#8hU&XAE4A>clqmQ|vJN@e%YWaBJuxL*I$xKoZ{hZZum)#)eodm zWFagjy|8D)Kj?bKV3q@nmIv)x$@0TP?H6c#;gG5_C!JdRYW4_2^CzdEx$(sCg}42~ ze-N1w@*gv1-VI#1GPhH`>Jjs-Zf`s7oDQ4yL1n<*`8*NYQ74dTA zTjka*Crbq;YuaCzu1?;+SC&2}Cgl*KUZsXkDJeGur;kcfm1|rdFhbKOQ=bZYwlm>& zqk3r3aXlOgfbBs~S_0sxFn;M`wH#}Lm{UJa95LlPqW3O7qQ!T*tav^aejVPACgDys zbDCs_=9FTmfmUs)lOm)pJQV2mB7uV5-#tfep{7c;I=%5=f3_DS^kXcs+CH}=wKxdLlWlwq@lH&7Ds-qHoKj?Z zDuoaURv1iJgv{*n#}ex4!oH=mYWNP1&a{;GB!&ytWa6z3j ze_30t7Fz(okgqD<*?Nip-h4W123zQPvs$v`eor?19O#^uY`}|&31063Q?JpH@Sz>( zuzBrR(ZWullXc3cOjHa$+48vKCoO+1z+wBntwNvq)`#!K4K0}Gw-fxmcXGiBa3Fea z#aU0e!(v%jzt!D4aZ7`a7ceTf{$O;t6Dxisms45_^~FofOMy>Bp8ECeKXFJ6_IdEi zgXDu-u<{vSi86XGooSGtJ}Xb$3_IJ&FFkjr(szEWceY=cwod4uFH+|Q+#tKu|C8Hx ztz0@vAn7jh-2Q9F3(b%3J(B%f^~&_p7e{{VvFer9&L%u!mw^%_%=>21p7wH(1`D{) ze6Kvlg4y}*t9e0(KXv2zn-i~<$46%OPXFin`5on--?$QcScT``8(0W2s{5KtG?`dq z$sgSOK6|r$b4&Wydyn(XPWH+}H4S}d{X6pFcZGlbeh-hwp$%EiTu)i%O=vUnhq*tD z*24K_POE=vgZQsczSSy>qv;pB{QAw~uy_qACd2ywe(6s}XXs?Q-g$ZJcmL&Hkqfvt zwdtEr|4&~n{gL|5a^YX3Zv0G#&w0`ZWna8;puRp5T1WJd(D@xx01Z5_CAc3S+e?TAE5`{s@el>!+bH}6JLgI*(0y?GGpn~7C#JN)>0zO*N z@N(Th7qTbK0i|&OQV0it&Y=~K&`c#7aUupdm)irmZ&ZS_QWLl{s-m}Y`J-+osr|=> z&QM*T4J$U~?YoU31dS*l_#&oW>NmxffO%WCmgVApvp_ZQV+Op{5rJSC1|e^)$3g%_ z66qvrC}xeseYi>K*1)ND2DVPZl{+pZnHH4b#X9RlN*bPPQ^r+_i#N6tCmdO;GbmG= zO=HOPXB#sfz{8XvOZVY8&UA=m0BjH)S81!)U+qQ^`x}R#@~R?qJktZ`r;7g&D-F-p z6|f55#&-I?5{VqNxNXYKfVYpwMRIl3iu`VZ3w^Z}Y7r8tngL}DL`N6s@`=IxW)Tn? zA-*w2g)0N)^X(6JLe0tml@fjQw1c}^!Def*pcL3>YBgwxn1)7)lbQoT#Z^1eegY>d zUjPro?K9<{zu{GfhIak9|G`nRJ<3?80(}HcCwLn( ze$uD~HdjJujK`#3U@zDJuQdtBW7_6V2i~q1ZI*Mx3fuIZZe8gerji5W5w9HZ6qPqB zPw*c-Lzeuz*j@?RgPS^g%8sy?6T>b*)&8`+x4Ec}R#NS9>Nw#ELHTi&>>_`}{+E*b zYuA-AC*~bWCL?uEnVvHPb?y#3#7G{awTFDJ=3SWBYiM%*DG0((qPm}23?p(7#xx|fwaS0 zBMjf88LHy#lvANW-=ZJFfby2Y%x*|W0$$IGmoz4I!R$eP4b+tDbQPv+rrd3reGKFK z$EUa|{=Nv}r#iSW7bEYuaMHz670|34>U*fOc4*sm{cSeFISlum?P!SPDSC;dyg6Z| zB^<^5Dw%c0<$%Z?EgmWB2f-_@L=KQNBo6$|LEMH{wQxmc^&ro9_s<`d(@<2(M}7|Z zl1zk(!56!9|4N^Emlb4RgDU7D1bERNyTV`U*31H1KDLmBNWkVZ@Jh`O(yrY(-z!~9 z^p*2&@ge`yt_Eop;ADUc^v{r5@|+?4&`ZP1$Z{DqrH;3FYAR(*mOcMZx&_Kn!lv}Z z#ik~Z&7OB1><6Bx%xFqUdP2^!(v8846YBNnw@=PPqaj<`0JO}Sln%%-{NsXQWp&W6 zIDz4KaZMT>0j40vv>EE>ovHJ7Xb0rvv-SSl?Ze7*Fx(lU)hJ+>Msu(q(5pW?V{|D8 z#kQR4r}p*DC_(Moez@&sXOcN?Y%$@x60)<)8o?@Vn*+$$Pun9lP0Y=!WuCS%?`|47 zvM*&$2CM$Jddc}n!oWU6lFDa~7kX(9Ua1Fh)L&c(p55I?YpfE}#S|(uJ@TZIILKVK zCw?fkj$;?TVyKA_q9jrsQ-VCwmFoci&uec_fh;#ISQ#m$=x|T zH0EQBZllw@G*#j+jQm#rVb<$;iuwX}PY90sT}$qDKHfd6Hg5sdC&d*K@ret_O8wte zT8O@Go6oc`Vqo+vV_M!{X@KeNP#DHM8wz zd-QJmBk8c&>^Fa1EJ+)y6)iDNHym%I{3Mv~bOhw0qy?v+oUH3JHGIgG+EQ;~K&A6O zZYBuF_YCsGgOkO?kNAmV!|Po9SSXfMUkU?4=~JI&pady?ngo zSEALKiq$-!|HFOT{{s?C)S7Shu0EoPH65W*g<}VPqJ#8jlv;Pmj z?Ew+CbNYO)QfZ%Ly;MU~U}0hN8k8GlAA0e+u!TC7K0jeU9Y3#!(&4oll6h$>pIZLP z)>ILZ0&n;>=}_^!f;<=NKj{XEQ|~7orQ{57{cOcnFAojkXV;a_M0-(@JoRRsA*^W> zmoE*TOAg`QSI2#!HZ*j4(3#|01_Fs>^F)=;wWQXGb%7E4`p;-2ZJ*8hyCs*ko9fO) z_2N6BB3}8si#I+!bLUn#RK>j8fyWLU{>;BUO{&F5#M)2C;OBlwafPpc=9+xz6_MFn z3;5;Yo_YU6`b)(@N&8lPVlgE!*4&dT^T&&GbMd9qF}FjHt|GF{1o_w-`FC%>dHZ6* zxG|CU_P2vS-mD#bZ`-kJ%R4vzAr1<(Q|;nv{AhCPPkjRgdgf#*`)^$HCnt+{0yCG) zdADIrm}p^U{e0%}cT#_IWqF=XW*bAg#4^&5YkVm49Dx_XNZ3tSA^fXw)mrUtLeGaszH452G zXpxptO(~FE0h=V$E(cJ(^NogILMf8U^iAb*05`dsJzQfwSTY76B)hSLL8FtDjJcA{JP<_#m?X94if0_t} z7YJCOaNX)yF@kj25KJ3t7&&Ip6G4XTndCnXuB>!z_erb86w z*eeFiiae$VeNDXXINlzC%5^3w_YkrNiz1_jO(B89i@i{8e+ch5S_nfHqa>hZ z@T6_8aJ)dlqDN6Ph5oeWx}{G9!(8WdbFk(>fsJ+t808BwbzzMf?#1%){Elj#h!2{L zP_x?=C0`opo_1IMo15MPV-kS~?V}?D4|c*25|_&wju1URdDbx#A#bod2xconoN{0Z zvEVwtH;6jbXM%-*({w50Z2y-zI*5G4#tZbsSv{T&l?P}RFwZ2|z-IM>6Volou}-92 zYLTmu4#Ef>u?{Fl*cpkn4z1qjSk%wAEHDg*MD?x7`MF--wc6fL$Fad;Zn_hU;>aY? zEJtBmZVNuCj(6MqrMTJq6^`+3#od0dmp=P3x_?&g;oxpL&@||x-|ZDAoocM^Pc=N% z&JnJ=_|OO7J72sG7Hc$)SowwDXLw4qL>jd4gw+QY{x(0x$jMPA^3#A#bBK z5^tVx)tzWPe>WZcF#LFSG&;T%XacXO8#djs79^fD7VmqGx_Z>Rxp1A%jjP3p=BR^` znQXq>wAJj!B_ipT32ZX+8eGykEEw7$i{G=27rjc=X`ro!-|Isn_TqUr<}NiGoy;hb z8%s0*>W1S|5KLqn-sC|iy3J@^QuL2F^uh$?nHZ?*+Jd7s>*2uNxFGU?j2&1oW@FJL zR`gUuOZ3J`dz8P$yE*Wc7h0}bvnoQXt$(s2SB&nT^}2X)fk(BJ41*LzE{Feo69CgM8;)s#JTI8ckDBuWdaBls^baw_lflqfA)Wbn=C)_ zQ3`qb;66M|b%5IlMg;2jh~aluJFs^UUHV5lses?nReYfGUjE*k6(vI$CV0>3ew@6M z?$^UrRUzb(X(%fr5{Z>P%VIe7LhqCdHKa(l;wD3baUgavghi=!i4!-K01*O8dL05? zX~BmGnn)D%lV>CritghY8?m>1o*EHa-MamR?c9s2iH{TYhfj3#l+fc>s|UP_?@M#C z?7zy5HVCkpHF471cniap#*CNS?deOo8m16U*;Be03b5)or$gL{$D@4IU2Pb{4SX~e z2}LgRu1)p>lmX5j+`@;-{XNh$InI47?J8PVZr6|7V2Gy+74xh~`V4ODiu}6POuLUJ zfU~WouhB-c70W`Z+9)ZzTbxPn4~`H|Z_f7BM-pZunRx@7{3&*#RQhuB*teXElb7b) zk)!@At$=+tZ1md7fWaFl=;kRDa@;4Y-`;6dJDTi8(lhN)b=0S?&6WqM$DxJ1*$fTG zY6P$B(J;z6!{WO`l)3n-)WtRQtxMY5zx}%Cc!>rsRA+|00S|NL@0#lY(`HY%N=`Ak z!;JC^naCac!LD88@h0e4x7@dRSVi4l`a`@Xm19y#0Wcqh9Ndx@7m!pQ{~>j%(L+e)1zI&%5Ast#~tHhDjAM3 z`*q-`)1ESlPW78R)qStnC;BZnfbyzI@)~v_m8lIP+-DZhcW~q=&D(>#lr-A!~>9IZ< z(jMQbyV7O{@x8;yRT2gb;3J*q$-to7||%)Gp`2&SXyF*VorsPfqu&3pqjU?c->ng7zkm({fKorI3`A6T(I3!qQvGMdJLiS!|Mx4Mr!J6+RTPN7 zrWz~pZRPMYFjhCu+l!U=(atumnts;hdjy~odFheoKQ1YKqc?Qb{&^1u#c`JV+=#|u zbv0>&NCU9D4a9!shsZ{k$ak>sJI7L`4n%tk%+F08 zwdbnj9wQe+CrMAex|apdl(UE4lHa~TfLzks!)Nze``4hcr@qsH(h?hN;(h4SoYl0d zrhv5U5Vftnr#_IbAEhDKg2+>gE|i~|Do>N{c!-iu;r(7{83dUTk}>{DHa{rHpln}_ zD;Z0K!8N5?!Vcb6WGZG1jmCY4F6+oWGl1juiGCi4QIVc5g(8g>@HU~{U;wTPhbWLwtV@J;BcL4ErlE2H7rZ_u35l~w3`o_p_PfOvh?Jd?r#((Y>ihhh+#?GOz0XZf1Ee7`S?4?24H z7NkBRdl+HwKEM}yA7M(0pumJm+km@gKn4Dd>gWTUTyO7<*B2~8Pl&;x1V6Bc6GpZq z1JRBK13Rkq*nk%O>^G{s7kNtu`ViXHac$=Sm^aWOMykYrSbh>C=9e+N^b%PZH|ZWqw$g$UdsUL}s{i8im!4 zu@c(|T4kml{@8C+cXu8hrjBt;xIZG`#n~gsUTN2IzwK)q&Zmdh%ERkETsOMk3Qcjf zGE-qGr=i(zX8M`ly zb-NUs+DQ-&3KrFzLQHJb-hQK#xD~1gtXC$$fzkyRg|o%tik9+?Xa2#zm+eqc9APr9 zXx(#n9ortI)0VX#s(GqrIZ5PMb)NOuJIcCmVhG-MiiZ$+5P^nV;Rm{R$h+=_q(ruU zL;-iZA$Jh1**a@`W*!UzW3eF{l&Xp844<4^V@`?+;*VWTvb{++*roVGMsB@<4VFZm zoe1Y8wm@T>M|o5`$Z*lD9zAQf;1IRH`Jnp{nEma)Kv7BT@aB(gsM|fjL7K9j^bOSs zDSoRu*n5QUo9O!Z6DT!5nJ|gSCC2SV-u_Y{G*|JB!#~s3!m%rSq&xEcCspaqDqVMG zFKn0yqy-gXasaVybHBZ&=#_ALJB05ioYbv)4v!(PqT%tq<p}cK58TxFua;Kx?NqDr zmiZ5*6~*|qt;{uM`urbH38}9vjL1tBqaOcHL#1B!!8_FF$BDhhhi_1` z!h-nkPIK+#SN7G#567|3O0>-d2MrH2^@>OF)uVgOJXq)O>RnbinhbJm3srJ^EAxP~ zQhaFg{JE782WQTFmP!?4Zx+_I@_X_$?#}Mqu{}<&5R6;jMe3oS6r7Xdt38?1%_dFF2SexZUf1__vF`u&NbI|*Zb!xQpD0yOW!$jVhyha-#8_TqKFFfu zhdqB-b;8hT6g%hDTZnHKTsn0tQCl6nvriD$QD09y9ybLp@51arw)X7g@lc0<0rrYT z^-v@NY>M!Q^E;fSCjRySLi8f5jzBVvL_62 z+D~siw_A$rLjM-n(F+>-)1U+GqKckx;tQzPyeV7+v6sJgB@5c@BAM3NmBa zp-CPw=SlpB-<=$1Ll{rE8$;JCsq#etzT7jKi!eT#7ozaUaQAH88VMzoCLVzjtut36 zBLB-VHChi8bxokG3zw~jhR3iU+qp$P%hN-Qizkkv3p8J+Y|GO52PS#k9Z;hIXvgTz zjRg&*0oYM55*`@X`!uDCi2dU2u?I*!KsLrC;i!jL~X`wZAx)Vhk~ z-CQ5{J2fzOBuqtxT4#-_8#9bT0jgtJrS9EUdr|gf;meV!7ph5V#Ab8Gw*tEK> zz)+#%vFCrJs32{ey^dI8j|uxd0$oUuGx+L7rEB!Pb)WFUU{u>=Ycrj)X8<*0s`2+8 zO#M@Cll=+H8B7&n5wh4O$9ovd`G4}_dbhE?-b{@5q156zB<^e6Cq?pdqiGR_|@a7R_y2 zxfe6D#xT2k{b9EY%$h4+m%%U6lWuFYW;fE)RzM3A;kBn5k zvknVmKKg1X-U5LpApzT(OFyvS=hzTF#?1Rt(x<&mqGu6a8HHLXfUgWEyI{<(Zy!3< z{fCM!IfW7k-Zix9zODls0`B6;s6!hqV6RK$`-2GMXG$W;PcbpvTtNDRY7;wUlvpfm zHnl|BF{oS~K@-5iUrGe{A3?SxCP%fj$_D#UZa3C4Bze1S8YI#0(ZdR{=C^vQ^{h@f zyAy4nZognI!-K$h96eCiljS}Ru`LoPQ902{qG%8DmGBw@u?GX7`7#3C?7El-AOQyA zLC@VIGyXO{$OPAFgxyJ&E2d3CLje&0hTF$r+AQjsBW*=u zSx_$Ra;olfUIg#~aIab2OYXOWZa-9|j>u?xpBbpyP=Yf?-+RK+o;2{R=9zF3oV(k^ zsZO5oFMyPH$X;TRy^Vl0P_nMQLo&TN3Jc9IZW-+hq%k&bHXP{zryG8wLWQ1cu?*}R zuTCel>TdVAD@!bYnxP>H-YcJ-)=O<0jc%w6bBg`{6utMK|HzO-sF{==J*~baZN1y*jBHr?R}^1^iB?Y?<7b9 zAc=O7KVW_sk^sJVp3mp~W-tx-IP4s1^&~?EtA}=La&3d`l2@Axy$IG??vI&8?T~srd4^TJny2K-j#42h0|h9jbX#3M ziKDbz!z9XlC`XQ#q*(OV8Wx9aLQpP`Z?tjQeHk}-h#85?8i&E1&8my4wq-|}X~3S5 z`+9aS*q~c^Qsl@cr5>eD?rYaq4G8Yb)j(2+fVx)9=<$-Mz0_valts-~VM6LS&NGN>uY&lEB;9tl+UNt%D^YMXO)X&|^zL1vpIKOH%X^r2sLiLr`zV zyF}^_)_bnBFV**s&9`K;RrgR%(-wK)j$PVNr{T3v`42(_@F9_FE`FeAEZ-}bU4a0Fp_pLYyT~1?E2Yb;;gN+q#LFMu@9Qt z*|3oJ5!52e0D9*Qrw+=cn`uTgypI)$zBUoXKttB15cdE18J!4J!|e(_b1Nr!6f)2D z3g_%4@{rL?Esk47>T_HTzxY65_y2D5p`n=Q-e)eA^B;MpoV`5}<+EI;TDrqW{R%F6 z+>*Rjj9bNip0bHHYI+|*j5S!k{L%Y}k-@3qNVHc?UXV(;WA$S+ZKsjWroSMMCxK33f;6&hnfRf!O1k>sAVdO|WLsNQAM znqDZUMvrR8>57FZ3)m}^L^Lo}6Go)P8|peItr>do2S_O=Kpyt4eyD6NGPqsNY&_9l zGJkPilE}F=S=?llTF{8REl6w?vv+_i^G*klU&~uCu^8kXgMEz=LY@Lu6vHCCyprcv zcnPxyS+!NF?A_rCvnLS3JXVvE>1QFEb!%m{we6l#$RJJfE^XXumq6spn?J= zG+5=`s)DRbPwo$HCmKd^7mst>QC59e0dO({u}rR+z#D{ATD6wcFp6{Yw67&E)l_PU zVUvLvG2kBw5FkhJ>hh)(dWD;#wMbba=9|NUwL}8$$RR5=^d2ZFN%$lKiXWp(8pOcx zVjk%xMi#<68qUcl^gAsV?=q5`5kG{socIW{rv$^AjCqG5WLua_)|OCr#J`tZP#V<~ zB+oCnv}t|0O_m5DNGM1nszKDr-VB}bNXf6mrBd4zG{92jr8Z@k)2C<&ibz_CAa6F{ z)ibpU;$*}k$99{yVroSUmCqJgqdg>5k8Q2h%2-IYl9Nz64SdX6b(kHFt|cFei4uRJ z{*p`cSYB{&l=Y1bBQ&M#uo+4&DswdfWUPcbXerkicJ2_5dP;ppZB&~>+U}KXx7Z*c z^|tN4{J^a&KXKXUQ7z*I>aqROV)|hAy7qu@Rv{A+j3v^qt&y?>B2SZIQ>%X&Ew|k1 zzyZJ_e<)?sDMkr21^cROnF=4>Ccs{yI?HGaVfjZ1K!gvQVa70uWXS z&1q98&OO_&m&zr6e(=tvP)k`YJ>geY31F^N?XC~h0)V_p2~?(zP(UgZZBAH`n=*_P z8E~OWx~30t`nI8U7`L%QRDZRkQeaiEBiQlDKnAHx^o@f<02@Jaw8ECI2VTnZa~RlM z6Ixn8GA3nfdEUDuQV(Fq%S3zUjvm&@5iGmRVJ_}rFsw%0rPMSoii#jP!*d(7VQ0iv zllnP15A4!Ik3g5T(oabEXdGgN`FdV`+5Vm+x|B~?eHK6Bd>m?6d~^$d5-m+k5s}qe z*u?*FSowrb22mrD)10O&gHv@TAHbw6Pu#?%Jo7w86vTUZohYzW-FK)eYlS%!R)fAy zjUQ!>Ax8dc?C9hTOz6u;4I9#?doaxdfpPw)hw@}lvm)dGRH3`lt&v4r4$V(hAVA5F zaw}aDg_%tR-5rSyAo;q8PtUp&U2>2WnwEIZZBT%Gz0}PknGed zd^CN_8{;YWj7DCB0Ii^ujAn_|gC>1mPGh`osgV#Q5QtmS$zcg3l()G~3T(BSFh{>a zrCjnVdtU&V#&aD+&$HsC^5IDUR9ks9rWfYLu7g1cp%xH9(6R+KG!kuc1C(}hKlKc- z(pd>2ZVq#*enp2C%+R8p#7f1cZ}UYuMY&T!B|55J-oC!6&e!`@ks7E}f;x}~yl&^c zJs%`HQFhVTQUG0|lv$ebD1c446s!hEVvW31NJW3rF(GwLD94@s;vKnhPtjSrHS3G; z2M#{*TXvs3Rc;jpAfkJ+)f>_0lI6;$3!^Q!VYfS{?2(io786tCJ zRH3L|B@DQP5X2FgNuiR^dZJPlsbT<_<;j7nicYu<>p=laFNa!~7iwFIFwt1ZiMxkt zA_*vz3t;kJ{oR8M-Dz#(VxSfhLk@LO>lE~&yqSx@J0eh&qLrxsbZx>^t`C%&@7SJ~ zWu!3aY3)%GEh!ZeLXr?Ey(ON~+|O6e?TGxfJY++eoI~~yqV|WGg)$$9Qsb4Al4YYltRpmb{3L+xp$igFb9YA_{TJ>57O*+m7kiB9`t(KGY`T zf+hWywxqw+@0OiKdkUne+C5?r>|`8N97YOT2VLA+ql->S>#&J5@T$)BX1>+toJ@{U zNd-!y(L624H%Xi~lRk~Hww2bd0XBS8et*i)``xKytKNu(`1poXT zf393tj`#Q7!s=f-oSj}9O>f|;`-5V4tgNV^dIUUq&VJQ$i6{hrNsImtV>M9*QAfD= zkRoY*!fRGsua?bHKD&}o=+y#Hi6=C&9tB<6m7LMd$oF6L)T4#B1i$jmm~Vp@uv|FC zv_e_9EL5A5JHe`mw`uuuQg=8nS^L|O_DH%=$#rV9kp63-5vcRq9cRP92k=9Z#C_zW{L0!$Qb@YN<%w5O%dmLLcj z1P!FgQ2*U%k0jNZ6xz(EfC4q{h3ha#&w&Q$c8Jy09xjTt1?AZTm-{7r z>?W6@*0L^Yd}4RUNNY_B{sCs}BfV?IOzY-WC0?)?+sG^Co9R9)4hy=AmMo|QtNL17 z1rHpOC32ZY;G0_;-e^EEutNs1I<-xv_$zA-Tq#6rgB#WaQG~#4MOF^=z3&}ohI2j+5bSgl|T`^*BSNgJ_55_Gk}2HtTU!x9 z>vkpVuzSRo>TuIC-6Pk;^tnooXlo?Ypj+9g)ipv<-O!^3t>v0fv}CH3c*c3|mijRU zIUBahim@pple;}y7HSKUAZi2B2$z148RvyRiF{S^q!I&#&JeP>nk&0N(j_|O0~uJ^Ci|E z5z!WKKubiIm6V{_Q6Wf+%3Ar8;e(=XVuwFpd(b0B}`AmOG>@0K$sG3 z?IZ7Y9Z2ua16e&QaN4*$-w&v)B`9Tk9c@&9Cc0E=I0U@|pQ;L|%bt9(bzw^oKZyL7 zNB7L3;Vs;sC>x?5oCui!rKEYcwXcmOs-{0pC3-=&{n&n zyXQ>5x)A4@lur3`+dv{j1rw?pN)toP1hk8S*O9b_@UWswl(4?i>9)egp=ZFo*V+ur26 zyZao5WSc@nN@t~v!FG-_C*&fiOd6Ep`jt8_eqJg>xIKzBW(9bA-7FR>Dwwc9bHvex z6zT@6Jie?Z6Eu?zVP2E(n$U|85wXb&d2ms`w`lIo<_L2~gwO#grItlQ%pkSakL8KZ z4H^=6yPH&fOC-J5SYKvfT|7-&^fowOmA||6U(%)oB(i+Uoh#N`tI;+kMYNa_(f6_% z;H{pq)VGo^j zfFOSW9Cf=&OQ0wo$!xKOl}@uuB}NFmpo&(lQ=6?qQdaWn9=y}es5XV#KtZ6|8`W$K zs8f}!+qFuaF=R%AUTV+)^FVQp5VJ|u9Vg>(RiW*H-JHI1&QM7~x!Wh{%@a zcP;fxH37A*p)Tz1Wr zGwRxW^~jJ1qw93c!7^o0W5O&D@OmiJkI3SAsFRY3(`LhJvSm@WnQ~v#ge4KkIM8!e z&Suu@4GxP;2{Euda!9SVwR{Z!qEi(Wl9{2Jp}Ie7g-z@Be!EZ2$kar{7TyJEqlezm z$`r$1^OUvkJCg+LqIPQer@-=IoF`Lo1pc|V%2Ji}I+C|k@Jb%0#fBQrr_8HpSi|2*-RjCD_6C>(c`HmW zZqLL+9??M@{AjBj&8-w=y)$-l&@E}~1nEg5qb68cgzxD~IfZ-_@D?F~s?Q3FF}pTT zG2*P!M$@oy2%2P)9G!0(Adnv26dIW%uL6!(Qt&udQ1Un?U7jW}-W+NbIeA9#c9UPa z+MzgEAX-g(g>4I(w-XhHggiPwWJ-rbJOskX^cK0suvSuY*&Q8zm(`!54*r9% zw;-IXQsX0}P;ad==5Qs20}UYW=hx?TGXUhk;XMD?w>8H~%_El$B*;zb&G@r@GKMe$ zd$khEeq4{eR{5rb&Yanf$y zJ!K4)bJtpSyE&s;9D)eoSV#8KQ>A;I^qi#A!Z}e}RbA9GnLX=dQ=wp0CKp050dS;t z##h=By5!ReAv_POh3Nv&+2_H>-=VY$sHTruLh@a@HlPH=sM{N{ZTS-<1eaPWf1OMX zRCiLtxdjH+6ngx&ibK>9HT3dzF$-M>+O}sJ!-v35wY8g~G{R}{c6b?pr%&zuLc}(~ zL+N8uQM;des_&ZN{HBy#IL5wg0ED<#o%1sXw9K`#!4)Vx=P{*y=#M+uT^@|&ge!-+ zV|lT3^tj@Gy)Rc%LisB$#nz3h&VM#n`+$Mm zKmPeiz5C>9&NF^7eS zA6Sx8N{a|K$!-j9s4D%*45ru51#-=fru(IUVKh|j_F$`zbSdw032eW%a+)0HiK1CV zBWQTC7L=KG@~Cb-e_4oKs1*<K0Jv*~Oi|pxKtITGY-1G3^a$od~dC|D7{+hT6 zPU#7xcJi~StGVI;D<89T28XK$BsG~$F!)G<>33zoOZ2$mk7xmbegRvq*Ef2Oz3>kb`RKp*LVV@lq ze3*Dy+NwI`GaV-=Syz&b!z0g30lmnFCCeS6=|tsCT(FhsmPV?j10{IWQS7qzex|m_ z+6|Wjv$6M6a$`Or9?rnTcF2E6z$Vvg`mN)G198dCOol_#zloRwtvadnE5_}uRI6?A z>UlM8>XZ^@p1lj?9YU49r_iwehj#rN=~#*H5@vKBW1~xx-s25V@0+NJ`Ql zV3YwZDLW?EDD0nYmC0FsV{=!GD+Zdp6|23+QtSL*iUX>4THqJW0hI7i3{r8hKGxb& zJXqG{_>7Aj;XTLe`K9(?I1i#WFK`qSnaWpLLWB6)m%% zkP$RJKve5n^^Ceu_Zaz61|Q$jsxg!$of($L12g5lYy_!mSC%LFnqxj65cSa91Yrsl zYv$6kE>|hLfEUVwP)o^FA~e@cpL)Qf?g_nHQJv$mfMf{xMDHKy82MV+`~duoMs2X! zwti4Nz*CvPGffk{V}}J<^}7b<@W5(#5J(>Iyag)PH@Q$R_fV<5;xyXAt?yxng*61< zts1)p;?PtxY7uH8lPFJl?1km*pWK}X1F$4^s7s4=K|Cb7*m|o!%e+r!nJP1(Y=F)^RGtAv>UfP`DmZ2LfG!{kD(&aZefUNpwyuAdw)(NTMAaIt*c7% z7q{tV)6$mqDlJ<6B|?5nj%z#2fxAUS5?=0PWucm0XmR9PA+lTvGzHj7t(x0}2i$k5 zgfJzkl3QYmjv`xzF{0XCkY!}L4r7QH#K+6$RZ0Z!w(vfrKw|h_*^Duc@ekFWN4r&g zM@SamtoQZ}O)dmT)qp}e`N%lK(UWS3Q~YTWRT{0*7TVpfu}plC2`Lig>gA8HrW?~V zdv(H<_Py!PYiLnPt$3H)(Ps)NIbLpuF5rcw3&Q{PR&<(Qzx zTI`}RZsb+=>HpC!eS8H*qP(iTMsWR^%7EN^T){OR91^%SP~A<1d!T|~VWJ_6sWH+} z&QT)q*)7eC6N9A|y=!z_t{JXtz_NZA<|F*{u4)i&iCm^glkdq^drMg!*sB?r6kG8G zSuALz;chfV8HI8i+3PFy?bE-Vl?=SOjJAZ1PR&$zoG=iQMxm+akxVJUe~*4+sl0pC z8eel4nw~XjtfH=QdN^8ckk#Jdvchg84UM3HqWQc?vM6-IpqjvAOqSspO)$@Fl=A^f zWlPyn$;`@5RxYl##Nrms9{~Du%|~1f)bS4>JqYWL>j}9ua1;=vcs0ACDb1yLnqHo6 zS7KFEDaeYefcuc>u)NaNn`TAER7XnHwhr-kt2SHW*V0)&u2$qrJbR z&C$#eo#KieMXiK@dhAK6L2P#6%+XP&jW0Pi6Z|9LU(iw#n(!U8GEc3zdJp(+JSy&DpW4_*f!g#7 zXE$U;k^S|1s|{ZoR82Ot&Z_bBe+ED|ndYVGwfc6)7&i=n% zb>0i%XZ;gj->*%bZXMK}57bEagP;Nq?RGa};o0uBVt}ZoW;Mc#3(S<`P`?^`{FTTF zjm9DQG_&?LG2GGOO4&Y9>-uce>woe;I=Pin=c$#3QvbbQ4!vt1ezC>#3k*YRR;G^T zo3J5y+(dS}bN0+)uQYJyxm>EWU&F1)33%%0r9p!>d{$&Uczv^9wsocW2gKwb7cbj* z?Zfz?eaHS_w-z)Erh}zY_|H=3b33SSy!5n`MSf{<7@sh{nqx9RF#&}Rh#hrY zdZ{ot8c|z4@w!)Bb2gqN=L~mFc-P*ucjwcmU>-3xcKNCwGPi}vKz5Hu7pF}3Uumbp z<@wJK-~9YIw5gxl*UT7x9kMf8-%0N&pO$nSEj{P2Sc`kJGW9=&SMmo7tCF2$uYG>v z^dfW;^!pv8h;VfFQPfb^(}&Lv@@PXS2}v8C{kTN~m^{TEe2V>&^$&fA&3*1fUzW)0 zuOOGvQd-{XnvLWnGVX82DPiyo?A8Bo>Bc9i@Rhgi?#da`j>Em>3n>olY;Q0RBRxlc zBDFl2!?&76Ta}Z2uL45LhW3eHal6Of+3)`aFfILVTjM#YJ?>P+gY)Kap=`6(1~0sF z>i_%Ij#vgloM7k07s>l7?^mh~)V5a$WdT?2z?~&>ls6YK1IDYu^(FM5>q54e_5bJ( z)^B}>^j|cr{pY@-n+GigKOxzf(t%@*7aYfWe~^FF-P?0y{@v}+;8(AkIHc$QK%ZC3 zXlmqzr@vRebiyO}2IX&G_`4tM=U#j8)!SO_-D}-lR)_mv+rL~-p%G2^LSrNTW@6!Q zYZnI_>ZkkdI%KHh%>-V^L<|o{Z^dqyf{Bm6c=1aByZM6$iOAh=Z+@R!>pF_O-$xxx z+hn>xIf|#oWN9pC+o_sHRny!>-AQ}#mAT)KeDRna;0K+(h|%7lM_w6fgZrQvG^~RyBlepx~7cBT1G0f+lo9kY+`(vEt&JsN)sYM4so2y+O@O zQB_O%ep}f1Qf=y!ujsm`McLsnak)vno_ElO*@KiJ@VaS3P%DDFJ~?(;=vjmx-4@z( zSn)w|r!y+yE4{;{5P0t;3VI1si@iyrSJX>>rzz%6sWv-)b}{sQ@g0n=NcmU%?^K@t ztJNiK^wxPg;YnTzZ>}Z}f+vTf=WS~b+kaEPeEakIu;a_!Y6rIXwdr^4XK()WsZ8_G zMdP&Pxq|0g(tYy1_BZ}tzTOd5O|AdWu}>0TZU9eBMqZ*y(vzQb*Tv2j$XwP2tE!E2>PY8&ut>r}M{-tdz~pkK~>V ze^=Sujfs~HpLuWM+Y+g-g%9P^^ngJIYg3%nN)2{X6l24>{10|87z&Gbdh+xBC6EkBhUTOXUaow+;lM@%&!( zCW@L$iMnpqxVN~^-q(k0{Y&aoJir)iH?i?%hLnX8CGlh~51uG;?qlz(1viJg{1eYi zY)5;asS$oS;B}?;*3p+QD?@z9pZcunx!rtH;j)xsVm^EbwC|kfC)C;ckOc(u+VGsZ z1YXY{smS&Fn+ z>wyQF2KN0*y+&4;${Vt(r*QGzjCOQN)#@#cmj+dS0(lHgbPGW`70OL}8P{ zi$^^4n|mJuB#q!Ke$Re8|Bt!m+C*I`dy{@J4XZtC$#?0wYND{CrMZ4Zen59 zw+;2_Wr??mK7aD&kVfS&=2{LV7<5w;LS6f_>`tpWUOHS!O!DmV5>L~UE=AabAiTTR zY3#~2V)%Tjo{sx_*0T~QiQOg|; zAC?W9@QX7m%DduMnyp6jsH{Q*A2Q0%&$C7{?fql1tLNNk%&#QDLIxXPVTUj{+f70{$JQOYcjo!!2yiqkR znO6b((6x8Y$~MyMwXc|-Y9(&*Z&eKOx_7W-5Y%0`P&cnM{-2eL2A3r4@L9h6 z{?J@Z>3inM(pnnDsZwHHZJ)_Mf=tGr=asXIK>Oy^)^=&UTo#hQZRxHa5t}xt8M7bG zjQl9oZ@Gwf@7wVU*$9+949O*eFxs)6BI~R3PLs)WHS_f+3H@UNjplrDA92B=CWqBi zy7`s(O9+-2s{=GLyI!|8!5DrdGD z*?Ni^7HmDa?|wL2B0fEM*Dh#G;+wD5Dgm)i&Q{&+jAtiVpo zo|x?gkg2*$*50GEXwkdR%&tPM`&@}=!Y4Ibb(QeD`bHYz@!u(6mp_xpn&Nx!%T{!B zp}!l^e~9XonRd*psEiIb#1~5%@su$>f2w!(tF2+KSOEGp5zJ_4m^mo-;QejF}a^cdppqRuFN1XBK!WKeaskNyq&|(Z}~VuHpG;7A;=e zW?T-@>ca6r@#wqPciHRs!<>5I{jclNYg-&CW&VEi!jLLY z|9WWndF)Z}<=Q?*xlj83&h_G)iw%>&fY-R&Q-#DE^4*Qb+ezmxBp09QKl$%x9QCsm z`@ej>VgrZ1_NbiuZ2ECVCVELFiQlx}M|L<+`W{xreP^Y2fFlFCm5_XXp=@{j*1uv%Q2YG1!06knpoZk^ao{&aFmH+_V0j?J{@~-Uv0hSg9e;t4+7pqnP^nNrZX+tzTX;!J?dKAtmVP6+aeteu*d7 zN;k<<-@K+d_`_RU(l@$`f35Sp^LxRvdtP@gnYD5Q=V}s3qVqX7F zA>OmmX_{?J|K5Wj*>kwspgB=){U^NksY&o;yg;gsU<0_%ft&nS&Mqgk{C1q}Hi7dE zct`8cs?ynNO*p-IPz!sF`||9po$P5zr^D5%!F1V1i}eQ{`J=k1daU|XO3>?Z2CQaG zZW2hy&;Ml4Jx10)NL6xd^6@$luUsA7x0DdRH}kP~qUm&L@ARE!?kmcR+bA4skiC8)y_T?Kp%j+Y6hyBSWn_%XB%HD3?Cq)gnSOH(z4Iy6q%1 z`j=;d+n}kB`2x9n?zjo{CrfhX3h9k>56<#se_2LL-Q7Pk&;>~Uc5JIb|0?j$JgWedrJDC#r^>g!*FbO#g zTIRYdDd}SJHK!(*lkU1Y-Q#fo&15@~;j8$mz5;A8E_AP8f!)W?)c>N{b79F?=kv^K zWkqGr`)c`fz5OiwQXNxlA#k-Z~v)4VZn!1tvurB;Fok`2OX)r1Zlhc8eklCje*j@ST!m zw0$2|79oUPIVnLOW6x)2(qB0hMh}Iy+?HzR!abGIs4`=1p6-cNr|<9RR`7!-?dwwm z`EG8tnO)jGyU&$5-21U+Oc0k8VuR@?$@{GFmL;HRdY0#+EIC!-Q#fl7s|T0cXsT>D;4=>_q974uY}vZZ%Dw>QbLru zg_Tn0;Dt(xlI~-1DvR1Mf8VOmti*C|o2+&2>K4~Q!_l~OELfdwUJHqB`?Tn1rrzWD zyRkQW-f_Jra*y5`YAbspjm9%=D@neqpAfs0!IkYRU*9i0^|0fsag@BfZlm@d_>lj_ z*hVx8CCPI+gfG8)z0yv1Q@b7B`;koF>NZC>rcYF@QA(vW4^;j}oR_HLPfy7UNQ1)# zgIPn}p^;qwNmka@#-v6U)6Y|4LM$HQ&p_NW`Bk-gxi-67(u^Ghws@_c_7JeheR5XAW zUz#ck-UB9H9Y>JQFVR(KG=8kK+BrQ3@1S4JTr&9%Z1)Mw1Kgomq74c5<;SV6 zAO7gRPk%1X>8w%~la5#}X)(|KCEe<=;pjmvR?00$)=YAzV{k!-Ly}KCORhL_$Wyoy zt49ued#t*p6LbdBKIQnhW?^=R!_ z{D+GejPcZnqSR2M8q87HmpmyeR|Hk7F$itBY~=XnB%lzqTB5NZx=p_eQPVG<&=X9L z;P#IaEd7J_7#aDdDseTmIv4j?Y`N{pNnW#zC=f3gpFu54);)1HX6lVG|E4iZx`+{z zz}9HinlaaU)C>v5?MMH3hd98;OokL6V-s%-=;yGXxI!{)b`0ZEeW>%k@FJLduxU_~ zmb7Z5IsEcIVp=OLxU$pV)?ZXqYYNLFC%rOg}lkGq*Z-&Z}JLuG@!r zvB(ny5T>CkS!Y8bWVvMKwwGblt39f_HNXw=`$(d%$$YHF@vYa<(ym*SY${S=9r`ty z{X5TR(mUS2*aw`}^CXJuTx-^nDvsZA4C>SG;wgIOY;&1TFyd8-4mGrzRxY|_i;oBH8W4LK~w!(cuAf|c2WLK46LSA)N_D?-l zoEE(Q(|zU`3Mh-QepOdCvOIoSW1*Mj_QoNDu3l>N1(G%GxFTka%`F>MNtM3ffo>ch zXu7&cMl7Moi3Vh%nx1H_zoyX1G@?y-WOekrjebNnR0Xbo;3#Lq{%n0lZa9@62vxT+d6bX{;SJq+*!c{P>>aFy{@@s=CsC zaVEq}L+(Tz)dbFZj}U^lzuKi1#N9O@x(x^ts(;i>+&h;RYcdl3vzK0cb=E0rD9`9a zT}a(S^gE`WMY#h!lmg=5v|FQUcqA9VVKN>C^mhrbEU53%+2`ehzf4gp!F@#QsO-n?Ak?n*loJ`XW4BV1&Aa&xYRl0ETyoI=4)Yaa zKRTT|HRwMcSe&jssHD41IP#pQ_uG;}$C01eio9lhbaAQhCnOq_N`o?qcGH&^jpT}) zSC4D-?aih)c|sJ_-I!%c;x*sT!@IQT640QYTnFEN5#6=8sJ@2T{cKQ(w_XwNM$YK_ z0+%d}c1}iORjS(m52YL7uKta^E=_LYC}QH7d5VbkUxDS7g(sEP{0n6Yax|;kGhV4u zd_(yklSRoEcp+*m_qlUZwC7$O99K`*%xAIb6g2NU@OEr1QO~o}IlgRIs_%^@m2}4} z>yMAHrK2}x-DvZ=b5wA;{z9&-lC|PJffD#AvUdK~fcW?@n^8X+wx@OJMpWc{hydMn zUCt5YWI$ay?4rg7Z@sR0tkco&61*zIZIX=Ry(W@dl z31%EAx<*Z@^M-0vFFBv9MmopnqB8+0EF@X)p~=n(d_?CUb&kbH+8_P^Uuy3Rf)Y842y3FHg~ktYXlR zN9ZYs0tgoU;yi=$ctKfYKJ{Rzn^I#l2!JFrZ0^J^_GMK-4LYv!?Dc%7KY4!XkzQ=d zj9g7qjj`F=so{w)yobaL{iesH)_sLYq zK~Q0}v);B}*;dxq^`!O&dRW08bc%|w<56fh%na@=w!L5<>tB(Q&psvc-%N6zPCz`# z0#IG{M|SurEIjJBJmjwv#8&B2FMkcvubBiV%89h&d}>MhFh0m7Ud>1;sAMvTKFzOw zZWHj8MtxXjSf@>h>>xdCH0Zc7A{$%zxVIKNsbx8KkNB_3UhjO{_Pv;fdY2Qf`{)s^ zNZKn^*Phs@(x6Zc#a0jF13Q2JvUrecDCD_H%!71#!{)xE0@wBIGWO?FN`W8x(+#6I zvTJa-TE~5-9o_#P$&AFk7sfN&(Au+(d9E-%)}#3GAW&TU)o{`O4hiv1o7V(IY1>&$ zCYs_AAhFNdz5d+$O>R&%M!~~v#jXX>lE;5z*LK3Y?S5Bo43}k_bL|jTyf;T=$?k+N zbF(F%9p=vH<;WdOBiUQ=$6Kqaf1`LhjLft&T;l0>b@c|4Ql9-yTPI;%y+0H=j`~0d z;WD2$c1DXofBizK0cO@7rdwztiW5uHo4M(ez(OzF#OF2W_PkG0Yw6y5^TB~ZQJ*e* zL?4FECvE-DhO%h5@OoEkfM-*T-xm^rDvvQ_#S%_fj)?ICO4Rr_RAJ)!Z_Qm?dWb+$ z;$C1I-s#C50M>hh!Vk5xpz{%wm5oWT`VX|y(&S0G@tJF+n?{O~W4XXBz!xjXcIm@j2vjOIex; zMUxfqdLPpI0ptO>-(_SqvU5=*y?J3Z{p;&T{zvxAn-6Q|M6~cQKpp5BLq{9EL%Th@ zL`D8~RU$;+s{@0k)vgYq)c-)GmV1Vq^Yi&S1VW~@2!mLSlhTUj9})M}UnZD!sr(tF zfeyIGHcbtIi12oHh-!h$vE2`~K`i^0zTTTgKk2*rMrf;LOm3!5Ztdh8=8Qpa7zdx| z+JQf;l{+_h=MQhvR2)lEjmYq$4md_Udzjb3*joFZ@>Vofs(@eiJ+~i ze&s+}qCgHUM}MkhB;182s1hbb7XQ^KZ3vRQc=0xw{r@R?5BE6k^IUuT%=X^g-upI>eo&wh6NUGhaRK6dnAto{_$Qp?{KxN{@G<2q^R0)_HzgSm*@0u zQR6;y^!jHVUCSQ|Q`;_(aiqqZ;FFjH9c@>1!u@(CP=H6co$bUFk?8=TbZape}#AOy$#hTUY%o!dC(U>5QYu?IMmBO${Rv9@THwi-alv*cISUj9z(6fRHGx9_FFVX8 zpp_T@+xUXVty>?eQZX%b9@~A8Ew>8}XXC5+ z3}VAWaTN`#N)G7sx`Z`-q+z-)*0!k&^U0qva|{A6pW`*tVQ6927!^r9ABZ#BIhF7c zG2#>*mPTg4m7{)Kj-gW)l3yzeGP_;1TbCt9M*NLC*9w(cPE+FesL!p=)7X37Iw?wW zV9ZcLI>Fw+bzUhfuu0D1VE^0G227!=F2yQTvv1x1(oelLX75&HgWl*t%ne@~7frUm zl$4d8WckNgBEOC?e*FluOc-V*pG)JrpFPShSOxa$B&zAcC&)x;0p&bD?2+Klw>%!{>I(L>imjuF;mROgK2U+#`lsG-o?8A_hj1~0YA2Lh|NE+=A>*p zoMFlUj9Wd5TZ*Vcl2BZ_PDI|QK08%ucKI=V07 zZQ<)O#24W?7%Fk6ww{J~=YfXPtzZ(r4tO}QkLZZ*;Q!QGyDuj{@}FfF)plqu5m%rW=4M!VH0Afxxuqhtz*{HNba)X5enb|` znqLx>!d!Z9{^aHH{KQq)8&-FMepRg$ACe z;SX^3@$UK3!vB7l*Z9e;Cd`C)y;Sesd48mBL(-o9(_HB53?-%3MRf9DX}qiJ){~0Z zbq{Wkyu4>+DTv}HFh+-&LKsm1PI zWr0kZtJ?%x9D;@9e${))o`Ki9TpRzUgP@Nq_WY?OVE*9B$C?8RnWwp2=2j0P^__@t zqKYC935M%&Y*DI8y6eSfts4NNhg4&Ib)e~u!|nO419}iK{fyef29y4K4Z`~M^_yTrzQiJCOS*Fubhb7|O6L zm*ZRJ5~EF3F23Qx>E1$kQQUE&`1Jtu+04#kx3jNy#Br+;>w2=(pE{1D3~}c2t4zj& z*-{`FC8%83;jEh5KV0AplmwK$dTp)E$0(OtF0Yb)4=pP*Ej3AC<1Af-#|&o$RqoGN z*mT!a3`jUS)kg8O4WJn+iD19Pevp`##e8wH(LyQjDFYcMj4yX~vge6qY_9a0y^CVB z<6sSvdDSo4kYWUu8eBn+VLihVPMo}TE|F*`6}7HhAxO?AKrpTNBSv}RvB#>ko=S3Q z5A7Y+lj-;qr0IIzSHbR;!$2^zQgEc=8~ua3Fl(OfgS-lc1O$>}KR}lJ!en|W`N=1> zb+?Ahu)DUfko^xz-otfp?^fTwz$hF!g1bef$qur?wtXEA+=YU~ZNh259YI%Rg)GH; zL=s;59==`_A*XbHjSTlahem!I<~9;`lWa}uEH`Hejm6k=T>kMG;+5=6b|%Y=op{3A zN+2r#^?l&F*yAbmpu2fmwO-}OI_&}>bAI#sy7f%;Z$#~lVLL4)r>kWNMW~NzE(EFi z)BJ0JF$)jWlYk%lkh8Gt|4U12X)nc?daalwbeObkEhxseeTgzAmb`U zC-dYyD zt}@1$MH{(}ZX|mjuqz#KOuRf;E9I!kLM=gcCKYH&q^UbjEb-AUakKctW4rhOiKSpP zM$=2}VuMiKG?`6&KSV;-&P_B>yOURpdyV%KpRXbqg7jf?e?bfHuSG|72r)uPq^(WW z)`tDr$7RHEw2(FcjQKoVrz4gLvixI1-ImtY9mJWRVZzkt_ZfX_D?MtGKEY2<;EE6O zeCSeuQ$Q%-TGcXZ-8!J;{V&PmU2J zl$%K=oiz>j-7U^?W}?;(@17ZImOS^&_3>Zd-^JH&QVsZgkXNK;9s6aRhiQ(bI6pyM zMx(3G7-qV5I`5QE+^o(Wl(|e3>5t5CsZo(Vxk-t>I#<1)8e^m%eft{!gCFg?QFgLk zc`X=xAds}>T*GMtQuQ9@O~8Z9dkrW)O8n+|_NXl0Y?*6_3_W*g>!)H->} z9<-_Be+`MgsUYDjfg& z62u+NrzVIc4vx3O6P?*FWx-68F;P$%Ocd_1``@fLx|Ov_p<~1jvOP`8Y6h3aiY0}@ zYf+Wf)i2J(d0Az~PtoEQw(@3Lv@+4M#NLRKewHkP^tCUUOnzVoH>`K&EV90pkD1s4 z;y^&LzFHSj%_{`hyro~H6pajqs-zOGbR?9k*d>*<2Q{3U_>gjAIl8UKHC08SVCMi9 zF9C#4GcKSkj4;fOHsAQ5*uZVFJ}RC`v|gGm|6{edEO0Ph1i>VgB>cB%Aq~|`(&GV- zh;bZg7qKM*7C;MfM*Iw$Rm7{R%FJbB<_iG%?3vA-0i2UEzr9;l2TB5+FL&`5h5~=} z3ARHsH$BbG;m5xJ6rP7ub4~TdsfMqTx{)NA{xpQEc6IiDdQ8jkad3>S0XoxpUa=<6 zHVsSyZM$o0e7>CwDp`j|aQTvIQO=JtO1Pz(9AqHh7QOqPySR0fJsph#X-4KGlHaI#cD4 zEa+~Dm|=l}F0_T*G8JXIEC+|`>fK5p+s&Zx`*UwoI!f=lhf^E+OZD!R2cgUaWvE(m!~o8+hw`6&)1nC z{MPa9!4G>1u~{|vt?WX@Hx1tELkxjfG* z7DuSzwUTT3ngKq+3}ptN>t1J>!WYwON!*{UOGzL#H}f3xgQQ`XV~TFkrk^~*jb$l4cHXGbcZLc)ub z1h12SgHeG7Y5@{dYu!#?31CIKJ*1BKQEH>|@Nm~Wm5}y_j|eciysK(E)k2Ky)$wHL zyz(b#`&fn(I!ac+qmod7{BWZdNM`N^vJJ6Kro@{H`Qu*NqNmIN!GD z_}A&`?ZM#L!~(Vkr>9n!zmiyHF0WAk*ETNc#`ZevN)sqJ2&EatsX~7L2Ucj7G#2_d zZI~-&4|hb;I!4Cui7F;$?u!hhU~mn{3yL!7&F9+kjR*G(-JZt~6-4l~ zqW;m1Z6)cZ3=)BN^P33&3oj^Fd|s_=wsOgk=r9T&HGWM*CpBh>VQ!_zY8y}cc|f4Z zzkh3i^-zUp5gA>})!lR~Qu;6#V}XnfiZ_0#pHM+4+3<@E4G-_>`7=+C+~Sxq9O`O0 zE~=i~rv15kzjvVHwv-vW8ELhXiqzXpTdE^NaoRt8z9WfM9D3et|42KVjm#N-$zi=+y`d$zj21J#OH$QJ$j@L{x{((fU-h2S zxF&ZdmKzofE936fwND1+6*mpDwAe?t^Pk;%tkOgMWFyrfiW!Dnn zc^1^%Gp?+@-Z#kioNm~{Ir7msll1bSfLw;|{(rNXqv#vmP?k|?sod)C-=Je>%+dj{ z-7w}w5<{+cn2X0Zk<5PJ+$!7fwZ}gp*`8;sUK}si{X$+`mVfWsJ#FxV%67ye;Rg&W z8L>h^au)gkzW4SYQsFc;`Ek>ak*d)WgP*dI55xx#rp6ovj?7z9{Ln7<0QP3sC(NI$ zbpqs9;B*b`%0+P@n%hOe8zu={v=p4D=Jwr@U@IO$s&s*R?A{5=dzB|{Nm&`~2J-)Waj=>t#FTJ07o;zELD^;Hv~{VMy|hPLE+zICo{CuBBWuyh;`>VM%OgM6n*9 zUzkt)w<7U~yPq(JAy|^ju;uH?O$q)IJ1aiAJBd+$EF~j1$O70eJ$HPT4AOGq zb6ShMjb~kM>XG+W3O5n;6n&TC!~q_`Q@V+&0Z6t_1b;twj~% zHLi%`zZ1=q-c|X@&KJ$qRXEhml3XosMUL7QHS@r;WqH}wu>4vQl=%o!%5p%35 z?uZ;xJ_nZ!{F>-&a)Zr`w?Sp}m1VUoDv8%%NMnG_Ywex)5uO8(Zv6sq>`fdSrGjg+b?ZrdA5&PrC95YOZK5`57Haf}hx z=?YN$sMRKzXH46^;(?n^GQzaD)s$eS=;W3mQB3 zr_}I7ERboYCICyc4I1UP^-mGJcxuVA=UI5@2JFSa(-%-nzw>r(w-`YKHgd;3q_trZ zBDEf^5gmcMAcaRk4>GlP2kq@y)$Ix;xI+uV+GXNcX=@2}da=8I!u&1|*mdZFVOmb`ltCzV__e2D3uiGN+29UF-!JoOmI9bDrb^16 zrMVC)wFfAEV;@IBJVzk5c`y1Vz)}@I4M7U$!Df-%+}~C2MgoL?{!+4>4)jK7q7N{9 zBWsh!`}!Wi%cNitOhr@Cpui;4Ob^TATJmnr`q|QoM=2Ogmm|yx2D!UkR*6$oN0l}u z%4ZMJ1~3abjl@`cmeWo|F5EEuF@0A_g@ed`zr3fcB~jNULi?a9q{Z#l?lQa{$5q?m z5pHPfiayxpNNBG`%+Qje?}de8Y9T&aXxNPdd`HCYqsdC67L>w2-?JTwaj_}vdx{Q>x?!G#Qx zlZ+v$tPxS~BGrYukTHVU0`Vyak$?wh<=GarT&GQ;zRbb1$1=U%LNd)nB;8<`(2#d7 z$O=B1Sf0LBr$sRua*FF4UMl8&Rh#dzI`E$)U5>hi5(3pq)sD1UOX|4eQWMi>qh~}J z9G{Ye?o4s}-Ct#+y+{q`bKg9GNr;*IK%GQ8)2lE(^~`2*yunzra0S7L+(G8p_7b{f zUaHocG0K6Q{NN!C`UhNoh=VDnk4xw{OsU!VD2r0Z~G(}LsA_CAG& z#6l+h(Xo!4Xwo=2xY;_x;?b%ln#9B%g7GJ_yCo9mgDiP2HU-xJwvZUi&Ds6gd0I@+ zreLhwhdT>ei;pGVyql|HK2+}6N>;TjCYH=>-0!L}{~eaJkFW$nm=f>OccLX~bGb&t zxluA-ED3s{(d519ylfTSg%G!%647_q$Ed|Z(iNa0II3u!wH2a1PN3><2cwym@dFu8 ziV01#8uNq}SlzM0Db$UogMEUWR3|Q$Gu!1EE$r7;Uq}d5yH5$T8#auuhQkrMp{smR zEv<`7DXk5gSP)PA6ag2)spCa?R41pO;K>?p(3bnwytulpYOmx%;{-ZOw8oGn7BND! z#_>oZ+=dg(wOtk+4rWUn9;)1qkb{p90!f^}3&uDmo=n6|8K&@apcn69;04T9PXFQ` z$>m{?ZX|3cxH$i@TmB{F0?!-eyZKUp{IH&Z zAsikQ!WDh%E1$wq8a`Jf@1jK9an;*sIg!N|6!sgEpi{q)@>nuLSjWuXox>9(r(pt_ z7%UH#yo~QPZLr=KeByF{H~V%g$R)%{uSZXFf1s8Vs7w1O#xEil;sYkfVBza2OF6!9v;&g%kpb0P;*?zt$P{$ng*R$=Xh%KhGj^ADC%+%H9L$HMpCz_f4M`H-1yH_AN=i3ZZx0=p)B%RGb$j_H zl#O<9oxX-7uOYFSK09}VxWo4IjOE*D-+VAR#^G%cLMK+&y%&i;gQSC;9|@f~?Mux5 z931YF@8b4Rl(UU*CuW(FZ;{vpoVw>&fu(#;pHvn?J3P%2F5xx2k_VI-pYUO~o6Iy3 zNEDepg(Eq0)969dFDgBAj~%IZ#p{^*jXW%fu()_SHK~`R>Lz3ho#>;rWQlEa_gvi-#r~2Er9g)$2LK0Wqg);7+GkNgjzM%Z_N&?cNDN566++~pkxxXwu zQ8%a$2@KY2eLhN%EBD?p9ic;tgGsiYyVdPl7_KO7Z{p&XU>1YEG~`RN53$4>bs`m^ z<;ZmMhPohr{KB^aQK8pDPvaW$Z6dxlToOiqEi!TK+6H;FRBoLpZR!~ZI&wrq-b2YT zhL@b{aVnuy!o^TRQioIM)d8@&VPZG#@+%TGG6eY&QczYsK;TM^L3dt7&-rtJ6yJTv zZ=fo<$(DurbXC!mDuiXIq6VUy%lW6z?H>R#lp$)U38D>o^rG@Su_7WZP!z3I8liCK zf=p3Q4-%41$!7{Qu;Ed_w*}Oz+P?P&g(HQ2$ec`{0Nq5x=s5Vo7fd$nVm;$g@9Shg$1K_nxyRyu+F_UFBRc?uB zm${=U`As&l&`nH@_LnI^Xfa;gs(z!{nSGKT`?gS0uavgjW^X4rM_74$=o@6YbXc%& z>kFygR3Eh3Gmm_d-GJ@kFnQTVw&kf|&sW z$=L%2?Fo=DAcno0BFViNuPt4kUo|Z4M^5Al9rXb`1HY06clo=&E47vP%oSRjLTkm2 z-Z8g5y6VW%6Qu|^yKTiM+WFbA@)EIcKxiNhDg=yLK2k_Un+f4G|3V({v!YKXHx0piI6qye%JwC?G>k_=p1jZ;I7ZeGajT@B3T(}= zz=fw+aP6rEIE`oX0J_R!qvyiK#%VxebJvNYu(T!;2tAZhG)I!*b#@&q=!l30wqT%* zAhON71Bp%#KvwyS-Srs&SuJ;_A#!jvP$nHWrSi$70Y5<$nR-e1Nd96=iNoUeRTA`I z#k5j58He4K8kBqJV|2Qk_)aAbWNsbZlj=@3lwM8U==rADK}O-5t01`o~?p<40@I zBvy7l{^ZhLN8c&1(A)Kmu5dp@omv(b!3P+E{7@zs+Gja`c1B#9X0Cq&+dD`n?gs9v zApTtxn|;o$DHowyQPA;f|Z2lDwC`qhOGo;H#T-U8UIhLgJrHT z;=~-+Y3Qm;h$4FD)J`Xb$@NMP)gB$N3vwGh|GY+3tG{g_Fq^yB<}VQNAV-`+5_?4SVre*49jmv;T3KR8VCfJWcE_J2V#gW5 z@C=$pimYimuXx}A2XU?`m0v6|)1Yj(gRq7dJY_a*v|ttK73${E>gd(z_SPe?iJGfs zdgf^F_6<@mYYdElqD3D%Ie-(N08>vZ_T^kVro)p}2-Q-3e|ogFWyIXke^=iuyT(m= z-ipsr8Q+l;e{%U;aSpXu$73F`f3sE>qWP+iZ?bQQ)qMd!`-IFLH3%kjJ%BR4;SpaZ zW9$D_I#}u+yB4cgBL9N`7GU7{4vq*e&QVufcgXIog)S%Ny=Kbn zR4xJRnmf5eA)IBF-$lwq;yRO^DTpFlwR-OEe$Mu%r}7c-)0W3xCDtkqAQX4RJ+b27 zUfg#$5IWoeBxn9ISRwi?7&yD>%6}fJs|Ls=a?pHp>mtf-@d+`|uD$AWcH1c4Qzp5$ zg|ZX{gnyw=wmMWcN)v}0Q=g~t^2j|$p)}6S(4gqhZjF3@r=Hj*$J8DKduc&K+1jH& zK!=U=t@U2Y0T#R`psSZAKYjJ{LvJuz8tst_-q!zcBNRJP*!C;5lvrz6i8P!oy-xV| zBB3_01MyE6aGZ|58;`B3Z0b#I>Um183+zr?XrgM=PkaQl7?RdKoPkN1J8$Yt;$yihYPuP-$K_?wMU_RUgh1tOH0&ea1m8ZP!C={kiNG`H~?QV zJb2K^n%#{z3ncp#bt<`H#d`t6I{}A+vRLfXAcHKTfN72>4lCnV|#NFfK;N)!r;L9OypcP?U^+*wZ9)L^4ds%Y_cni|)7hFj1Xyd@M`C&}H90Gm-KAy2c6*Xo%1qMRTDJOM zAty|4%G29-%I)8)EVl<(+|h^vulRH2OpeEFq#AH3#Zl*p{5QU&gBXbE{o8~jt7>+oD-p<;AJeI-0Tpv9ogpRtQ;8j93YD(Q|wr; zsgirXDtL`$oAP5e&Qv&WcvLTqy+0baMrhS^UY(im51h#rv)<&}e#70^wn2Qj6+xX7Nz{u5+VeKY1puO8GpFF>r zk`TEzil_M2&Ftpr)P_?dtCutWo~QWrB;e@49LqE0MOFBl!zb)A1Zo@oAWg=vxW{P< zm`xOYPB;C+!aZ8v^q#8@Y2C}aX^t@UBj_jJ?7^9Z^S`zEYD!)gnv6*nao?W#_D(VI zH&ul-#g@}4;TM|5|o4X_sICyzdS~j7`Fe7oj3q>Qs8lsjrjciwNMPZ zXrP|)Cw~P` z2so*vIuD9X#*jy`2u8ljI%=_Rd40(>|0pn+mgb<@{;0MUP z4W1ns{LdqbbIV_|Hk%Wh+$i{0G3yD%N0e9fSjHl>+;wqfw*|WY3UUOmjS0y=OkTgD z5WQRIU8^#|BJkXPcUM#pCy`J0?mQbO6N=;le@=^o|KO;V(B>z9Eb$4i^L9%U0$@r@ zr7QN~8dv(OEEvguo_N zEwO!R_6G!fn|`phV@VW@8TS^72nCN@KM+x8G1pw7joE!qIaG}2@!E%>!y#UwU~e-{Rxf05Hdil!Be^Q3$vzKH^9yaFqS3^B z2Y*PRt}v<;X_@_A6jZM2n7h@-Z6f?ymx+1!rlx%5s@_g zqsX}zFE$I~Q#o#(WNvfHDkZYgi7b~%z z>rL{2=KP^{EeHHdcO*H|(C$hV`eH!s*OY4Ym%g@~SlD2Ht6}S*>N{q1bn^wt{9KU5 zrmaZgQr!v8(@QtJ9Z{(-ezZ(zV-h0IN{hw5#SabTZ0qQoL@Kt_^F^W}T{rnGyyF1-2CpE6JD+qm zqSB|MLzo7n;UAk*0+B34V-ld7B~C8mh)aDWWt&6<57whE@OePwKbfcNvn10_cbRgN zrs2nPl^OaGDrKF{nXtjRZ|Dy_y2s1I;lt>9M4RR;c;)Ag99={;^PXY^6x*nvm$8 ze%KgYU41!fl2oE4ajwTlfY#vx>Sp70D_nJOk?Qa8q6s|V1{8wgb-|;2-Uwr}GKPl{ ztlNaq@9>dw8sPZ_6vWG_rD6n%e}YW01UD~GWuffX%cV|JCD}{6*_OYiX}naWJQ8yC zY@Z-~*N*4&@mih1DL*HQhZT`^;72!d`yWR5Fs(k_#}zVQhnrKXUN5ht#kTXw1mG=K z8kI!3H&&o$a@nxwk^HA|(+lg(GGu6}i+}LHUhlFaj8yUz?gJcPrIHA{M9(Hn6{zaH za3m6s$8D`H5+<5~5Cw5E*@kcIVl_w*eG0{I!+MjuA;3mrB&pTO;I{yc79mtftwx)8 z-9>6O1c9tMViZpnP;_OVL2Re!m=xVUAyffSeo{+~qpYxQn;VW9{B|+ZdyVw5n5uxu z>_s`PunlD%e7Tt;f&{P9B+tE0gJ2@2JrAWA6hcjeC16ftwiSAdTP!qk1j`zqEeuEH zyb>B|siZ*$2@{s(b#xY8KxY@zdTa#awI_n(tvFw%dkkc^ld$xiappu! zH9o($T9)4bpmU-sJP_-hX!~<{vNlAxc4gvt)b$591@go`f5`zg?farWTCR?Fd@aXW zw(4vX=V$jiUSnnp_a&>05Y@m$rc%{Q%XXSUARFQi$|QulNx^C=*I0b|?l^n#XysK{ z-(Kf&-N21I9N&+mZYfxpcTZTv`73lz^k7yQ(x<`+_ey`0t_kl9&@L(?!rd)wK$Kc5 zF~VTmVaoVPYiZBSJisc|d2tkCw+)}*OCAss1oHzF$}`eU0z3VGIX~$@duv9#63P*t zff%7JxH3^XbfMyrds@qJ4W_%gEqnv@UY>KF>b^183!#FTL*dz&xV^d=#JB_x)mat~ z;wwf0UZ{IpxpTHHgt}RNgm|$lhI)41Blkr5Y8%ysko9ZxLplb7z;>z|>ih&) z{nai><963JX`%m;laT~>{-kj8{hhhJJHx>^lRZlCg7<#uXUDx?IE0Z_E9-{=);gZK z@ry}n$J7DBxrFE7&#OBZU%D3K-{I@vh$FDtH1^;?fXBrx)puLa*8g|$U;TRj)HneD zM273c@2jHMAG3~zAz%{;MNj;dJU+@$JD63m8cFO}M(Z^b;#`t{spX%>-?Yp>g4Ao4 zS2(0#ltOBFP+mW}2Jyxd$7SoG?P>qy)k6j$maAjynyNNLmkRI|GHFVuAtxl3$kJTULx&690lCjLbQQ^^|hy(w%pli#!K1R_8t z$7;y-u17r8#>4+tM@DG1vWbN=vrTIR?d)x3*dSevjIEMtB2B=dIwPfYEhJ|Xd@#w+ zXJUAV8Am?8y#kL9IE+q!mCAedu@l+Q|Cs+3<&1St>0YlhUA_%kwAV$VRt&ON3x2qn zhuIlNXS0m&VWrVLP@neKf?@w-8U;`r`!VD(kWKhQ5Da9XGI?Az|0HqaPY#j~qA!R9 z$XF;kbEWRh?=I`AZX1_seL}a(TrVBoVF$-P5cLO;MH~gd`$4(y8^m{sG1HgL{xX-Y z!itPx`m0mlP&9Q|N^i8=G_T*!C&=DtEY%B@ZFx1z*L#F z@AHVJSp+%g2j2Pg(Tzf-W+3K=s<6$ar!A#E<^|Zd1DVa%a$$Z#7@cHhx^&IPsaNFw6R*_8{Q=kZ61-DNFgVwDnw^okfk{9>MCe6WF#qesPytXYQ>taTA3~hfZb_up1C^sNio0C#PA(5u753<-+H@#gaQ2 zpiG$i9ZRBG{1@!x}}>B1(Kps&j$G}&wNSY?il@iXi0rHpl&CslH=qjRX! z*BF(QY8%P|$beYd1V)c`6@IjzTo>n@EMEx<%CRa|fW>)GrfsVrt_J?`gBXC1>@h$i zl+kRGgkwcnQgW@HrygslAN(T-ybs3nxw~+31;>sCzPKsvsig839MzVMOb@AUm9|V6 zr%!R$l!@wglQYv`Re(`dE1mEsGUj^%T2DNB#hXP#t@W{eJHs@3KMB*h->WX;U2Pq# zZLRQ_IP;r-7O#In7(`v-+FBhf-%Tx~3hE8TdzZH7PxjyQJYnzM+mLDMyxb<-WR%0q z3z%noe$gKN#O5DZ&u|0F;pVs(3(FIa+zmzw9YLkM!LVg&e=`&!aisD`=Utx6T=i;J z_DeTW5aezIfrjdg-|Sx|iS3@=i0ktg8ylMO@1OBf_oGK+lhJt>{DCvto!3)#M8 zM)V{=KGzU$)_keHE|*s5wypNa7@uWTRzA$W(?(tx^DAyX-n}(`R8G@;by)Q`3_Rhx zo##3qeGx!-T*r_}n-5oj_EB5x_aG_0W2eivo3g@b;4A&`29I=Oy$HS^o|Cx9Wr_>< zs^G&h9I@~TfsU(7_0u!KiN~pzYnT?7hukky46K zj|8&HrG-K(i4cdgtuH(`lpp0g@6T%hi%+*%jdPi}}Fy?PeYh=c~o(aODu8 zB9pD@ldDzjSd{SdtCFb{h_BtJ3Nw{RGegu8cizL%ad?8%qQ)qEpf)h;V27z0CGLfM z@gm5gv%2dk!6RHo2P}rf^CSq_+8gaok(`WncB}>zvlvCn91Zm=8fmvb_B_FAc5;VF zSEDX;y2%p}wlUNI0OCU1FAJMFLe#laI7-HGF{Y%*-PMq_ElqwLh%t+sx}TrF2%Fb# z;Lv#Kqx!F=qF>z=un1^#sAzlTH86@duM3nvOJ#UJru?^q6vFG&-P6%*t^O`8YcG|k zoV~{MfyX2K=4mKmEVx}LhWOOuVmnNRDut9~NzOkAPHBN-X; zCb$UZ9E}h_S!05UGMz|fxsx@_4w+CW%_LPSOT(~EQa2Pza?r=A2;yOg@dAVps?sPC zPe#t^((x^B$3#?&U&`jDS0V(Ou$8)v8{HK+&p5-V(wD93E3|?@MbsE;H8KIYOC%)W z?sS>3QyF3a6W+Q`d502BTB)WZ4nmoXPhkudLtMooH_L2w%xod!Iq5S`HUQEtRwz|>k|Qhuo;e!MEs#pBfoCKqJSGJG>(*QB~?PJ zrIORq(TG`Jh2;mcT+_ViVW^XQq^`SIw=3>$VvF!)nS}PCSR_wYc~X5YX`*kI%+>Pz z0!NOgRSo>=a9rw-M2RR~iFvrhl59dz+bl%ULQ$0TYW4|wXL@SX0SQ>JHm(h0Eigom zR$M!I5$!?EA!%Q57wDxlRL-(hjz2;$1?JVFwMC+Yf;bxM{t;X#D9Hldh1;hmsCI$r_fx&u6zxHF zcTSo}ys{mAP&uP@0Jx}>u$~du7%LQws#G83=q=S}QBDaPt9bUaSN=gZ5Y3{XjFq6P z1yJsO*S*u!&=oqUXgR*5FUqF4bViiBsP%oa94J=b4_djLfubxS$&`6H747+fqkG@@ss?A00yC9= z%q?VzghBp&{k$I~#+934TK}{Xn&b zIZS)DKYkKKS_WJu{X_Oro6xT}OE}*pyRN+j9N)SMKBMW=(dbDj!ag}gl~EE7 zckXRpYa$MhWslzi0TzIAGowhz*iqVM^^!2()PXVxX@}@$2Wg@9W~j ziP|eS6BOIys=?z(bnC6Fp8I_u2XCoFwv&*cX|ZN}2k41fzeY8~U>BAfx1T?Nra~@3 zpKjAeiLNqzFFE*>Ev#Zo(H21)z@~qGsxo-w1YZ56OOk4kDBpN2C1@6;-Br&sLieQ| zt*86g!Vr2Pz5Y&`y*Y?5TqsAs#w+KG`5e`Yp>FgtD82It%YiBu>Kv$e4r5sj3EILC zwq)(GqPIQ;*?jua$54gTl9-)M4%V1o$#@cFYe!{u%OwxtKlw!NJ%}Q6z@*(Nsj5}g zvTUxsb|SO5Gg6C;W-|%Oce>~l+_G)^=4fNg=zU-kj$+rES~{no%jG2GWhx-@ldlan z+BarzQSs>f76;eb*-GjF{E(!O?UEe!8+L8{-AtI?}yo`%Ig6=E|Gl)v$p}p zpW+UD{ADPat2;PnKI&2i3G$q%GC47U?M?V1rSasjK1lLKQuWq*lF}S&Jq_zU+EHo! zjQ3&B1%G`%cmMY9$H}al={77HGe04{Pl?Wa0(nbZfWQ5~->3@~->?iS|Rn_5izVEsZ*l#$0eHPgE!K2+q2PLO7E z;|Xk8GFF18Jns5JHDDJ7LlR~M+2`eWsGMbRj# z_po-(xV+CPMp7>5sEXbQp-nD+c+h^_>uvh-)lyd8i*@%jIfcr7dVB zCd|^(#K~=;&&GcJon80Gs2msWVfIL5Vl(1&4dH=3252zE?`Y7CP5zBzb{iS0WJ$h}UW9 z&!A24gFb5TXmPAcG*=QV*FzeUqwMV!jD|DF;BXoxC8b^ea^(h-j!JAf=i6pmRiOqA z_ryQdbBHmwC-YpCNzcXBNH7Ud?XI%h!(Lo>mZbp>1d1Rboe1mqCPakopn3+9G+H~7 z%pfBe1Jeb0#yG!b9+fzY5A6PArWBT2RAlrmO}6N}6@G6ecCOu4`X^etlfc5_I$}^~ zWci_k)Ru2`j5Qj$M_BP&>VG#3F?7zGV?(fC++CffsL>cYvxzGjbfg)H(%T?zkl>xAWME4c1xW zW7(U=;@mgcA@ajx%pU|7F;R^{+}Rx+WHWcE!@HuS?ZRTC&J9^ZRM&LjeFptOvBuc# zgV360YH${k@ZE=Ml9eKcz0<@R`>t-!WV!BSvz`m87G}Ns+pe$!#o>1=9HELjiQHQ7 zoqX4;DzEu=E6TN5#J?ZttXFIOaSaVSb`Ni>N7!4wWRhWdjIjU<5fr!I&7${~{Aq)* zwOsEey@xQ|<*0DVx6J*sVjJdK+rU>oVa zx7#?i_$Kk0oswwW)>5Dsi7$7~XN|znewq9)zwDeptlF-{MU=Xw>8sXC@Bb58((;R z2XPGtUZ(AyVad@;Vi*6*(z(JGnN&Bd>4?e9V3l+&)p}|8lk|4kTBO0uaI`Yd;_X{& zn_W0S8#-3X;e_haXiTleHCd9#9s4>^RfR}{7i}CS(~c7+?lnijxsfs}4AP0J5@%W+n;w9f|v+I8bs2BBqUqYV8(OS1?sm1%rI ziM9==&=6>QpmO7!{E&&;U;^s%zizy@L!jW$G-)F>&y6z?hOkphoeEO{xU;f!J-jO@ z+Hx}+q>X`C^{GO5mwuWY$5YGJ%AalU+3sid`x71BWBYNlmObopAh#P+k8MmRL;eWm z=?N++gI2U`W|nfkwjBXpF~Hf?vINk-HrZImGCk?V3NrO9sfg}_qWy`7yRGzrdO;bR; zf3@w$q@VusMrdDc&~~em#;`2POKM_Xcmz+fj6gX)M#X1mOkvE*l2cz#i@PX$NO<_7 z78@<}(w3I7g;yE{M5i)cr+Lr#r236~M@CP4f0t>Ba8E#36XblKFOF^6XkxH~al2bG z;2&nYyi)4Ns;DHdVb34vyhw58V2cF4a@S`LwzR4HwK~H+b`SIrXaQ>PW^diSVJ&i`=?dX? z{Ob`H3&(tMY>{M>>Hw{s|NZ?7_@_R*OE zdkVuM8%R5MvB&be%#BUTSeDRJE4%1r5eFYOFk12zwRdFS6CohKzlfqVf5f;t;3?m6 za?a3h9yb=6{dcyHQ$qj?_kV=mmoK%6+IPai5yDdu<7&d_!W8z{yhc$R#bEOzBO8La zTyMDXMCDJaUD1h9Gqdc0sRLvTXeZn!%c*aWqOCeE1y7T6hR+ zKVRDZ{%fd|dm1P&K?iu%#_05Hv{8ATNUM~F55u&*@A9LiJAvP68V;+hhV%MqBqB)@ zz$mWw&}_Rg^sE*p4)Bv7KSx_SifI|690uAEja-$RW%iG*-i;5YSA>+@Yn8N4`oS;C zH>wB9oc8lA=nG=}2!>-4vC2@|`lGE>=QYJyE}eCp*rAhQQlqI!C)tLF^1GSgfTo#) z^QI1{NcvE6A)aO+sclSkp)`_0IWqod#_|!0WG?WCb#&O`WK^~T{s1ZCaipG3J| z9x1n45yFL$+rEbrt78HA>B=4D&y7&St6pfh(QW#`Vy7GL{g(u*!g!;ZV>VIEaQvD( znLc8yp%=d=)MvBhAd0?zlOsTjp^N!2=PRFlTszik*qaIVjWYz8za!RPS(zvV+2X$? z<`P4SU2Ci0#8N8@YR#KO)Lsqw(08?j2Jpgi-6Tr?H1*^NsQ@GkQAwbt0^0L?tDOp! z4elQRcYK` zB`w_Om$ps$!D;N@|7-R-7E6(TMNFxe2~b7fj@vo#$5LaAw!=1?PDY^Y8J-Uv>E08B z$0^Hc?+?a$+_3} z;4kFzX<=B7y+K0)_pTRQ10$=N@{dv*a_R z*oVl4Qp@W~_OOANf6DywA{KAsTL_f2kl4knuImwwoRv|cX-QSaAmd2sKAJl-k$RM?ITgTc6Zo2mlfqAa|2H*XW5!+b|Lj=MHwQZ zH+bh+yb7L_j_Sxj+#AG*G#PcR)9)X_1~|)Jbs^;*!ekEB(7}bJwTVG&A&I$)Az1jy zEa{RwmN{Se)nCR3BPA{y$%rqv1WV!fY4sh!4BU)@ibF-T8&jd->5Ja)h;!hDSpCpJ$0q;tMZM zx9?@`ojvTnGo8wpuRKGDh|=s9F&qdv2NwT2>E)iCNFu-%<(n0y=LBWfF5cCsHHZ{eYVv;iD$5 zTJUJjY~N-X&y#jzWXXOe!54=|dBqrqmd&}`f<~sc=}OQ&GKG|r5U5|M+X|8*vxYIi zWQhPfKnFtP3Oz5Ti#GVzCVMGl9`cs%kP*^Ok<+IXyRXD({(vpk-wGRz)l#&NHyyHqrZX7 zh5NVHGD(+&$DMoJmCRi!RE)((fbaHue_47L! zN^&M562T;dyd$Ey4d(^74~DlNF!cw=7_I{7$rfXa$--&c$tdp8>1wh0vLM^Wu6~iE z$LDr=o+`H;)CV?#e?S3?F|Cf8VO{JbaLuc-`8!QK1fRIix1HLuNpK9pj4b~7K$S`k z%x5SEg)5rT@zT4E;~}JMPYY_;v{mT9)l!cqAUntXNStBBOByO)Oj-Hj9vWSW(%vlh zD=}&~IFS2~>6g`n0}wE4ET5U)V>j%q6Y12Q4WYqSd00X_39Qb-&B8-IsZqf($tWK* zi{XFd_4i=6SjE*+CJMafR?!|W-othHX|T@e_i?hnG#to6>4vX? z{TuiPdk!64H9k$C8OpK1WWHR$lKh5MiSb5ptB3FH>zUSbQG-lg7)>!J=8CQmARhX{YK>$VRz-`WFIW1o!tCP#`nv!^k7tmr`P%X9aSE7Z{9 z*0M0XBDiRk0YXVZLve!`0yUK0up81eP>@a!XqR?JKmED8TN7zSyhdap7s^K)B;p1? zpJW^$hSBscAR?}k&|4)bRUyT(LVd+BFy=1hf z2VPj~bwr$N8DFX;-K^T!TY9r^%U_4e`Ax=*DQ+b69T^A>q1FdhN_6?Tzw`yxGOx*k z`Jj>h)+PF#EzLr6FwPiOY4}X4?Lk8HZ-v~)-e!=(BB3^0a9IV>Q*FE`XtUU;D*Z}C z$lD@oiXgU*>vUrN>R_;W^_1*ev3+^SahS4m*81~501T$kH5>fwOuqWcy+TLr5y7$b z@t2T$B%MSA+J_=W7bwQ`Kn!7}Sy&qC2DW5L#s>Qz#67Vs_6-_4CJql__@lITBy5@` ztn1v_=KUs~I^h-An(D{);>X!wSq?p*_V6OeVN5{T1dY))kAmb;$fyU`b@ibHg_>-S zw&d*nN`kkik)(rxFt+UT-Oox>tRYdGMnNnHWp0HTWxb&dDt3r1TP$lg+t)gxn{tOH ziSWo4j~f5JQS<>^VP10_^TtYy=^jm`rzeQ%QdncTeA6atQlJpqtq!o|Xs8f-+^VQz zYf*S!HH={@n_g1tiP@oC9ZeXe%ZizDHO#Z4FtvggXpQMz1AC<4gx<#S3;Tw`;it9~ zY&cmt#ZJyP1p8MpUmP;*K~LU#*=SuON$4_3TQwz9+X*maJ%2JbSOjJp{j_>-+(_hx ztF!5~-7H&>NNN`DF6);~pnt?pe@0UoI77T;o|WUAV(3Dvh$QStm%gq`ug}XjJ?PLB zl9^cTHtRdZH z*lpaOITd8ZBGEP)VdZ$G>W+J&`_XtbshSeE>?O3Q*|*RK?B#a3VRp9p)xKOxD>yKJ zHbR5xnA{2p)&9Hg-c1CE?M3U4PH+BM~ z02PeTy6BiV*O_4nIS_s`9A)r|Y*d^r#a4B>nDeC!gasF?5p2cz8i{J}Er4P#6oG)W zB-O`})m!W3&Ix>_;+Ue;{+3v6&NJxNkQb#UL!+YVhcu{e>us2~^LSeNr0SEI4mqQ# zTPEQHdDq2P*xQY*s1REOhj&(TH|TK|!WqboJ3J z?__>=-j7b-vDK6MU(MOpK65LL>#1;F?lNEnIxd&>JWeVbZfep#3#o3gO|`U{pxtV6 zARf4x)OSCJ=^rOd|BzL|61{|dMGSaFp!m+AeUm}%QYX+L5ZA)mC8FnxI?{SPTe$x$ zwKM8=Su_w5so|A@&s6OAisyteliGVj1y4Yj4A~*&VFJX)!b3p_TCzl|07e6hvs-i3 zn1n;x$g1V;hWAKxn0WUznkoS8npRhY<`-SntQEaXn)67A^lE?Pb&nKLW92gmOfz5y zyJZ8+btW%PvO$&9XwSiG4LV(2GG!aB5oVhL0i%)bQ0B-}Ts5`I?nI!(y9?Ati+HAz z_8LfgsWlD-bcQmu&TZEii};&`7)j{EWON%RsGk+0zKo}|OfNF}mF=Qp{3vojZal&$ zzBQYI#mgE^vx9JMH3{ou^f}i@&4OW)*vKO~#vHccQzvB9T9doBkmlQ>6uuv3kWgBK z$Wt}52>Elt6~L){7_rcj1r8%9ql@beeY}ZiZ>L2 zBm-;4EFZ;ZYnr)5enz|keSQni9<(s;YjpTNwk8{VGCmbJ@sJyUP6Yf`v2$g)mJ8Q?Bv~?1N#6*ef;AleHrBBk z!MSm!-2e0ZtaLUzwV^}Dz|*dt=Gec_%0OuTP3oY}PtbVAA}$sdnP}kiGev*hu-R;f z)c#?WOB2iXq4-iLon#lnC4Blo%YzU%OP8Lki>@qnz8U!GJ^cj=hme>6M8)fX#E%?4 zp4#|_>)dC29bMe|5H-UdXcZs6&L&$PH3xAxgna3fKKl|%6IzvQ7p-M43fD=q*{u+c z_|-5cI+ee?F`~zMJF#zuYbT8facieSm)Q8;KU|O3Uf~H896FwRQb55EzxFaIrEC)o zG)1-JpQVPK7mrfmJORJttADJ5)~sGSaa{Bv?)oE6f4YfPC%M(Ap+Sa0h_sAF`}&(h zcS>&F`_&c&|IVsEvaT)*>t;0#)zN6`c~_Fsfvj)?wV{( zXO9tYBO*Hd*Po%c>T#*#zK54>ghjp&;_44zYVm%yRiL(2C~}|NZVGVB-_Me-Y66;~ zl(rV@X&O%JXU`))#rc9LSwh{qBHE<CTyQUBfg%$nfZ3e_QVGWbquB!_W@z9WBxPjP^i(F2oI{l`9X|&(mpi zA{gcEaIw;e*3Ph`6a_xMH?Li+(u1kaGSx_!_AmonbgRDa=sur{jkqK7@zL(3Puo*o5UfDCoW>M{JaX+UYxVx3` z$Iu6ca%R@$I4v{gv%s574W?70k(~T}r&2;EFk~Lyrd_q=|fwf&ma$;2!XB*NV%_Zh2q%>6GtGeZyOq_J~x|B|#zZ{wW_rk0abS8E}r`23DR#oz&Qwkg&FNXfy|Z z(47j1fA~ua8!CG*pi!>Ji`#dM5*M{}g__5z|5IGz1o+5(np>s)NG3eOr!2OHr7k9`)j>7m~kPBq{RE z61+R`2(h_40TaS#f&)FYj$03F+r4c>@ru0r1+(;mED5|t=>qrXwK@GxW0J;UNKKb_ z+2>09tYnt!eCQJn&0|8k&h~-B4Ebc7CnN;Ep)<%(rNZVlJqAxN{vN={t{kDvu}J^i zxiUzw#q}`OA=-H#5nqGeV}fj$O70@vH$%EYGIYDVf>v9i^-9Y9waSG1iLz|^ki~pa zhc^nB#L);j;;xVIZGz2(E*ZrpICucd4!Hpu>+fPh5*{~nn0RzLx?H$T?`%CXdK$H3v2-OuU(ZX0e8ep%LV@tS?XtoI@Vm;L;cq-AwKik4K(bsjxP`?T#)SMRp4kuU&6C>5_&Fb{qRhdJo|soxiDSSE?duU%wI-WRD#N zg`2*v2#UbJc@WjZAO;#NhTKn{J!rz_ryI&bc*(WoM^yaO1@ht3=>g~z9vvDku6Sg=IUN7$KUH_;B6YU z$P;XE_Nk~fbT`?vpe(1Z2grhWNLtEDL%=B)p_0T)dKZ0Eb!G4%k9w_1O{vf?Tv3BUvc0GX|QHE%HYr};z-_;CBs-L zO;rX_B%n|i-=|%?0UI^UWG0rf#5nBDjEJA7fRrpL;)<}B>rHb3S^go48cIPdtK-mg zyeHFZkH``DC;_%-wWNpsHdIwi<_U6NV({=f4%a-lk%Fl(e5OhmI)Qm~0{l-TOq6Pf zWo=1TniUt;36HEibd&ZR>tDuSV{9g}l!=^ItyggvqwlUzZNBU>hhy4CEeHugb*9Hn zzPEb8t#(+#fo$=b3acGPhvH*N78rsr)6?jDP8G{U8cAad8W0f1&tbK9+N8IH`F{fg zZlwna;k{H41QXYevR*ao1{p7hbDi{0&yVZ2)Avm3z{?Buxaecm*(H$(ck zfuVbh0^f{>G>wG+pI_{R(IVVWaSF>3D?`E#?xF?28=7GBdC!1sNcqbf3&4N0h&WfL z+oZ|vm2etufcw8qPbtwzRuvX$Rtlcx%<}xJ8#~STGQMS2de_llM}fU_7@Xv13HI(d z_h*Jfc55Um{JW5N^GQvp*0@h?vWEB)`PM$f6JURW7W#4Mgv4WO z8L+nso}aYp?z3EVR_u>6&J~I(A!E0*K7NH#YP%G%*ySMqmouDC-lfYQm>DAnvsbj zbG_6uGZDAXqu?}qhewxolY<;0nzR-xWXbZl1fk>ty0As6^ayBLFH+(_5~$O=4ih6fdRZb06P8%``D!6+tx)+&t{|mr zaN5OrHOE$HkMQSvw!J74oqy*QgG5?mClpal@Ts*dx-XY35Q-Kvr=k2A5K@^AaQCU= zZnofWtfk~agdTKV)bfbAb7ZVz*T?*FS2;gTO?w=8N_MY~r7&U5#k;fYAtKMpqV}Sr z9LJw5i0fU%p;Ik=d=jzEcDkI5nCqmfJgIl+*6;!d-;V-Yuv4*ECo;9u)>hYI)h0Oy zNw6jMsyEd>{m`*dQ~fa<$6u#%NsuYWK{rum!F$6OnB${hQh3lk<9_k37}K$?kQH9zETY^|LG9`q7LnL_<6##Xs+ zm!BY!wzIjT?UtbxJm-PQtA$YMTROEtiNUE?Orfruv}WUe(MNB8Zb2-&KlBQY;b}+d zUOTlAJ)&~?{mkOa9Tb5907KXcQ}#V-E4Ukl7v1MD-!5h-2WqfrzH;`G?$DF2@P4p6 zy@mAR4PVf5;yEhH&KkrVPDk__;5?vJe)H?8++V-#DLU@p+md<&ci7U5FEqTyk77Bj z8&0$ZSr=j$U#1kv^f%t&lsjwU?Z#=mAIxOU^Qungp6w}bv7F$Lup`vLZxRBdIY)(v zWzwy@O{qYJOm5=-)nv`*47rB)l@;V&BHlzG)luEVwoj528RmvRTS}Lg2~Tly@WSO+ z=*XbETTwS*Q~w0helo$P6UFo*^n?+m9uQ*2wO0&fXkbQC)8J}N3o}k9BnJOOt`|Pa zp{w9S_p#bh4-OP)z$biX#QyAGy^)bXr>C}14 z{+8xR%Jt1dk+Z9}tn;29{>Hq;bX~x{fhVzJt)!8wg}?FezxS{yYBz0sD8-(n>mONA z%7Xqk53dCYs28}*i6KeV=^z;Cx0|E87tFS&=V$f}Z3@!ADAY#Gf?Saj(mNxjCh(;6 z!J?QCBRa0p>|J#eb>mUr6bH}MbrT)*5K@#yQd@)v9p)ue%g4GOPjwypi}CJGk4nf7 zKXG>7?aDCIetwijI}H*&qw(!@gPq(} z>0rLzaG5dg3QN{XZ0@5I?28;)73xxNoj}v7LAv+DHL;GTFPn_Y&$Vj zRHo{&(G|+2WUkrJkk~|~Ld}S$aH)^(RrHWM$|ijS180t-@(U$Sk9=2@| z({oLYKC`EOfHt`cftStqsI@;R$D2<49&xdXEmS+4RO{-Qnp1MGeG};1c~nItxaRS6 zcZ1uS5)Rb5kM6}iUt*R?{6h#d$N8Rbu$Pz808OiXn5>{*Dn&TJZcaa_TA z8snu=Ja|gr*_bPCd#}Hjytw9hkA&R|7oWC!lK?Y*!tF-&@qgKgwmBdCmKzq@TK`<@ zsvPi{eh3j+`47{~6dRo;oG=FKc$CZ@E7Z1B-5k-X=vF*QKoykwwG}>PCbrHcw*EPq z@!j2nuQgc5W_5cCDJpp76n^P|`CLh*0nvkxhU$;dQR2hhtMZGpSPpxu{@B-XruaT! z<*s9eQL$Z#zKCZ)DP0-0m&p_=S|?=nYl^sT<;wR5%st(8qKh`uvG8I)2kB%EZk1j8 z?`~k!p?OnyLt}Bu#DZiyqG;enH%@zksd7Eu$mnTtDo$3hbAzj_sfK2MQw^7q4S_+# zAzwe+%%GfIzH(QIo(;tFV7hkg8(V71SqW*S#N&l2V{?jXrO}pm*U2@`9<*96$!7!P z3f$VM6c6F1Q_PNZ`&v&K1cWrV_zI*Qaa&{*5~nX0U=Fl$@XOS^Zl$Oi4i_Dm0a|)4 zYM*{J+q}F`QF{48#_h=-w-Hr8YaZkhkQb)olsshV^b0q0tL6h~W95~!I_J#GcSvL` z?;*p1Pd>y4HfoK$Q6i5M^0NVMGpb>t&<$p}*rf6Yt=Ip^sagqEUP2h!agT_FD6m7m z5C_W(y|TVl=ux`%lS<5MhKj1SMye&d&3kAM?QJ0`S|Gx#DYwJ~r%Jc2qh**htu3q~b{!;X39N9| zp}*9Yq4z`=vz$uL`JK)Ct8-cuQV36>UX;hNE?p~0s-S-O)HhPf@F>by9FK8s_7>&# z;p-#24)(v}_g5xR>4FR*96*&-V+M-UugI=eQM-Iq5q;#samR3k zCz_tA-br!(qVQj2mAgf(B<60JP4-qgZ@B_dO|!gI!Xg&F@fpSv)InowFv-#PFdU6( zEPBxxkaBYjVDXg)P@2uu6Dj5M|wtiH~fihpk`#X5i%bTSfy9)4?HRZQ;K z&5X#Dp7M5rPA6YYlIswLi-4bd9+rc78J@$pR?2dcC~yzP3b#oFMNP$nLfJ5(dSHhD zhB5A3NJcCjAyZ7Ww2H~35rgqWGAG65vngpsnO&mQlNFp|$%N0=O_t_}D;VY!wQ;Qz z1Edk_)c&L9WM}pI z3YD?-n)ps&2(+BGU_7MMRVHA>EO!7vY|0xLii#v5|2MHBGHgDYIZ~1Qb=NJkzb#A1 z8^3U9P*HKirJTnmkz#TU09RqFb}gN}wFDH&(IcrsfS+igNV)xi&|6#q9`7f^nY-&V zTpH11LaJX_sIKXlrL<_#L?NfCn(h~Qm#I6Aoy3{+V*Mo+PL=T3=?xC8bhY%lATe+rQRxn^}+4B$KbZ3C$Ms&0_xI=#m?5=&{f7w zQ0o%i{c6$Iq>D*(4@BB27Rr43;an$c2e`%%IfxVmK8FCy2#fp1I~%1(;fGAh_XwU5 zUl}V&Vslz*gkPBHX@VTA5h2q>=eGGAUelZ5KoY;O1D4P1uzXQ57PG+jb$}>dT3khl zBNRsUy9S?b%Z)+P`vjTM5-w+YKJ`MQt{mcd&wQ3pqxwqK7zWx_s2g+fs#x zwn1v^E>%dgkZTJoqS6{;R*H{+#uU<6Ew=bcH{6;>q@Xm%Cakzi*7`&gYP-W7)7sS$ z;i9I4ALdLn9?>%Y$~wctxPtDdlIfmdQFWzNPCvuPaOz5Q&Oai5b&_x`dn@O1acU(o zZh`oV1HpB2Y_df?%ATh1Z2@jybD>R3&jxkS*1k6q!RBP`)29ZeStZ+xUnGw%Gpt_B zsIPS7ay+l0g;~qRBpS^@?~rFrgwpnU`|&l>mz}v1KmJ7nbG~ZuZ;jaq&QV1a)t?uk zm?%k$G&+5k{G2!&7fQyNmp?dX-W=zX9@B)W-EiWj-ve?0;u>Zsdbna(Bb&oYR!-Q? zC-tyQdC)+nbjxVs3qzzakXN(%$H{S3739TrR zh0$_B4@@cAb6?X=D0tZ5Z^|DU00)Y()aV*6H~2q>n57_?n5CYkR?uGELnla)q-11P z90jHJqjdR1%K-im<^+c%bL4VG@rPqow0qE*FVUZQnut_s4%y+w zl4yv?bw%EC9baQA$pmyFl&7&$MQ&661`nGZV5a{W%B5coF$rupvkKeG=Pbxumrwku z5mUO}{Dfew`2Fa%ItHEL7l2f}REl9VscAqjDAdEB&^w_tB&<@|$ArIzX<1Bd+{K{q zs!0)q60l?;zr)@`wx~e8If12=fMAt9kylgz zI#N@s)i6GspzTh7PQZ{-$ry67iC_2Qwtc8Ft;FUiQZ*Wo1B93Y6U`-uq=K3P1xXQN zK^6<+K%ywYMTa>Yw!lXsl!L_v5feruvu{3`hC}(0NmUjJ7e;|bwu#mfp^Sts&WmbT zJd=<{>d!|ol?8mokIwM8fK;Eu>#2DHnNr4Q@Z1ayj4?}uQZrGgmucRa23W_*@yLa4 zARu!dUS@MPig?6#A1~w5_$-%@EhTXhuoXw@3x$XSarpH`b`6%tT zY};0?al2`8!)LP1tjtY?K8tS7d0qDH+0Es<@nz?%X~(x|H?3_g_;A)+Z#Hi(UJm-d zo_DUX^6Z!4ve|JVTq&(p*8{5$w!EGd z+t+3!|5K5n2Tt&<#YExu_`ruxHS(VdbxJ|KG@s_EA1h0b96!B_6K$qo96#{EAB69M-SbxmfN52al-xaP zy{__Yq~F8w`%k>ji~OAIFO)bR9LeA`txixVTDAK}E(Z)22n5+}uN+~J@Eaypjz*Ro zH2(8VB-PxY&wfV_!|3*EJGe*|EZfXvK<(UtEEX?Lk z&R{A(Ow4WJ0(&hS5v}#3E%u(%QBZJyDEptDXYZ6yq0m=T{CReBVT=AeoNmHJR_fGS z_~em>&$i&@lsCEdgBVmu`Dn|g<>&I0@Ohozoub)u-Ej1O}67W0g z&kaR;B54L18&do4c+l}$*huYMMJCbV=YpZu*Y$I~V=u@|wzjhO?U6-yF-w$1J{KMm zP_qIFeO?M(uBTK*&XD2#v(w#m3Yz-*QBAP$(lBa%Og293o_zy1H3g2t>b?2si>ALa zoTrb=esUPg479Tzw|+h^JTQJwoudB_HJu8e54~}In2RlWUbr{!=D+>~_{B7NazS!$}`Es79lEH#o>3qeNUm3-yeMdRjo#GWdf~3~q(njWE zyMXsW=f~`gwf$~l`%yHiJ&X6CoZORnOfeTMCviQnVYYniBT|VR04?auZ(^OCjO<=C z>M`vS)KVr_v#u1(POQJ3aBZDQ{i*USkoYsUs^3gC3>}Z7wMuDGF50Q?+p1I5v<3#1 z(uqJPyKSD~XfayPv`SlV13$XhJR;-oz;GBDFY@vwf-of~%a3ofRurRIdnM9er73Q^ z2*Rc2Ek+GtQV+&Fq?1Ag9sgB{i^bx+!g6-=(Iuhqgs=5d%govxKK`(nADZqh-u|6? zfN1YV`Hvq|hk2)gjN?t;bR_a_n`_GuKN?;DA0cxqM^~?gFkttroAN}MTdxtj$^5s^ zs`0BXUd~2p(w$zxh_ zXGPf%QphLfLaoQ|Q7jwLJ~bh9x}y5O44q|oqvx5nrB}?%l7*HmgDf-CjAzEf9L6?D z(>C39+ijQHv6F2V+WmH$Qkpc`31>pXJRZ;3GiJ60wwRfjUg^^>{qiCG@cSOmbKlo> zp0w3}rvIViTt3=8k-u=z6wCx3Gdsp2iZtK9l`H(YEACFF?uNmiApv2^NdO7!z$S^ar z|CD@iD)T=#@BH`2Amy!kw{WGwKKaJPMC*Gqk$aP`Ll!(u_rExh;$0zVy!7Rzw&uds zl7~|(xb{{9G!$Ys;HPkbUKg~S{P^R?b4f(1aIz7%W8fxn-n%CXQ4G;7Kzu?(r|?YJ zwpd0G+bupT6jOMBS*Z4hvo<0QP7OqT2CRYQuNQDpKqTSj1efp2(|^?e86`^Bgv?=Sgq7KN zOyn{K=Sgr%b&-tZ-Yxg~_*o;-G^ML+)tG&Xklgmnd|@bNOk_(*bz^INT(WM2rFT7> zf*l+WHe;R6CqWX@i-5?&b>`cAV(x05k8V~~f8%y2?P43KpCXRWV8Q%}rW0I!;YqsuZB9vCCgxFU3wsi%f* zHP%3nu^h<2F>WAdt3a*w$*i}y0`F&b)^-9MwJ(Kv#>v9K^wc(0IOKZ>Kai-379VL; z1!^>R(Ugo`6Gf3^?cVbR9YZt{0er%X$F8+PkWc^rJDo z=qrtOd9dDfI!EPSyolLTpQ4L*kw!BR#T07yL4|8|mF z&?n3FYJYS+p1o=Q#AhUBWsebfrL)y>+MZqg1tePotNWA5tjfbB9b08xlXmpQiharl zcYzLLu@$tVmat`5XQI;JaZv+6!(O-OiJYOTNfAZOFJZa;;hw2< zXYa1P=h3Oa96k!?(hHO#*mZYV+FF(8)etLK-Eu0+pL4<#jL^vKQuhvkALWu#&2dgz zn58%MoNjHAvPzA45}zG@9-#7c8nKYTMy+s4IDUlH+buu(j9*^x)Da;4V2^8f?0t~KFlOlFtXq?!R7@h{LyadLNt^`xM>Ii4pb-!R;_?92* zlH9;}F(p8^r+f#ni8B^AK+C@WrwCp)0_kzjN}C3c7HDHQm$O_rV!RCzsUovoq)Qaq zF4Bt=BX+$}k(AwK-|>4eU- zVtsnL^D|gg)9{dNI(5W;QctjsL2&~|9t*HlxdH(B}I+DnSN5!tN_%`H1D6b*z8)p(YxlO8O8x9Z6eNqep4-)H>-W zMzTwru%=lL6%kFQd1z|tk#v|&qYEAvzf{0og=XR9U`?&@Hsx$)A3m6SB~!?1=$B?# zOX)#y;h9ALhJ$^7p&Xv8SQD;Pb^Xnp)5P9k%tU?A>u3Gm3TD(h61S=vdLVN&=-g=v zLWCT(tz}0%P7bM;_zA8$c&@u5ep{K?m;)C zr4#{}d%Y;VxB61t5(#4}KPRxKy|wX+tTB(T%jG_)0vd`W*rY60ZjAg68qx%Y6X#o8 z^Xb_d`!t%FWEc{bbaUP{!7P)&@?uja4<*c-?Yc!oNR`B*R)qYM_ReG}ErK^JVl~*7R*&7Qw(=NwTvkn>dbWcp)|M@pt;mA8M~tyTv50H2;*{qnVkw+pw}5Cy z4R!}8Bn2k*p)NIfLRyyR=o)}t#$uuzwPt|p7p~R%L+OV?^b$N))17O#4hNMVg#+Zw zdg(_eTlEiX)_!FlBhab=WJ!y5Ejn$a{oNO#dreU&V6!esXseVm~<5 z*%1${i8OmJA%1DD{M+XHoKd3p!C^0lXg<9x{CJD0Y~O)gk24w37Dn;Zz!R}6i=7Zb zu%VNppADjh0KRKKcz>_e``5(!JvRKSkbk_qOTL0CRJ1qJCmGxH0;WuYkIR_J7I5rt zba{)}R5u$5E>1w&n_D(dp+toD6JMs?^N4itbeZ?Ga2PCiUHqx_a>3+&` z!Km=8;3w58P|I!(mGaY#ky;nhkMg#HSOkP?TOek4RxrLpVy~N-*ypD7WLXa$Mv~2I z7;RTRYAUy_1K?`!tEja5;~ipTpxO+*3tqBD&|2j84&)vj3Jf4dKh>v7tvOy_epZdiPhT5qKAEbyRedq znf;I-WsMxLx`lvk=SD&EVGdQuA_3a!+qR3c_c50*p$^Bp8?dYOZU9rmEE zl9|Q{E_T#J%t%0L!oB9&wjR?d>s5c zfLhq{3gRf1C(VkNBk#5j!eJG4p#HA}ZLrCKQn6i(6y?WoeH*tc#;Eae7_n&HvmF_P zKu}$Bv}0ZM^Mv>!dOX^XFFG=}YUQms8;V>h2FeDI*C8--gy64IrN0^EN8x^Q zKI+!ziVr%{ekR=${LdBa_t0qvN)BHsv|;odl?jtLa}U9wIBncJ6KJWqG>-DT87RUy zFas}Too9^fV!v6+p+YW}FQvHO?yEGppV{B|v#8i3rb@7(OCzO~#O}V|#`nq)R0zfa z)(=}8MPkMIH}2sK9UEo$Q<+gNYL>oD-LY>VG<ckCA6n5zsle- ze~^w8D639YxBRrKP5{#LkL^?k5wSgm*A$$|1G_X@tp(HXA>#RY=Ob5}HnO*xVYF6a zQ0!_U)(qE)9Ra(oP8nX^)%kR#+a|4&Hx>=gH839}Oi&F9R!%5FnL=AumdxTIeZpX^ zk!R+$SLz%&9c7V<5IW+y5_+QCIf^0@8t8~%US+Bze^lSF>%f65LY$IN*C&aSPD;e) z5U4dQT)@%@DdPMv-AdM6@P@-#*x5}vkxnYx_!-vkUMUg{zxnXk-I469etm%TS!9 zI%R~$umB&iiWRjiO42uTQCKT0ArlRtE zp_>>J5vsJEV?;Pw_Z&owYe9+QO01iPXjC#7LF>o(2Fm5yXW)k#d=kJN&xB^nF?W=t; zfQi76C-%=fEY4@r4fviAqFR2~E@z`pBag{k!7>Gld{V&AaD014bY21!=^(Gc_U5jl zzUhiWLlFGWh#%tetn{gFgMew;zN&<*%Hi-8cgKd4#MltS8Pi|yf1#5ZX|W(O>j0}B z@~qs%kj*j@paY>u!s!Ifezj&?%Wc3#1UH0kZE7WDVQcsK|2H{O)(8e_X*itJl&m8XL9md$ud-Rms*K2QVM z53)v_AN##U8nqZpOw9Mt9oviHrGEUU)k)Eky#%Z;Z@WwHiRtbrx^-ncf0)POCo%an zAb8MI!L(Kf(e1*dN=yiS7E^>NGaM)(4fK8e47so~c@@pt4pxe|syd|2+tSt}EqEZ= z(fp>Kju(fVrllATNzED-IgLFJ){!;do$s1*$M}E3M_Ko;<|-XQiZzPdGH%7Xn)1Tz zULZ`*Y*3BWV7O(W<;%#~0s|CROw&KLQy~l1I2L_=`(XS0g3iVe_xC^jLdc8XRA@?d zbOL23k3aeBYV5eK?UYHP9qVDX^P)HbenC4#YMT7u)wqOftPs{bk?3i}kTmwkEN zep()4c$5T^>AEOHTRf~JwF_b#P>K^{K2C#StZt6PSe&*uitG;`L)sfw> zhzbvcD4%ZPYGCB$c&MJB+eb-}l`S4zM8!^e5UeSekvBL9VL41Ct@)CrE@^d=S!=jF z%G4szjHa5?((=8M4wA3OUSPrsVq>mri$bLp&gU1|($`@LoeTHcdJYN`$+)C4ev(ty zw{FkP81~u^Yz0W?)mm}w%Ilp>*HY-+o?6>~>i@nn7oNjdcR3rL;a0ucpeoxtTOWe8 z$BuK#Dpl9;zG8}drpphNHN@^6lsq3QbiCYRxl)-?jqGthWQ-WtJn@NrHyx#Zb=_lA zBed~oFjxR{&mmxc?Hi!4bb$3|afsdF+-wm01A&x%xc#&xveR*mdTs|9by&$we__jO z$=+5DfW_Q*?( z6M+NIeau8A_QxVQ!~`xfU~{iXYRgstEA6|0Yt&&;D8J(@S2t4Sz9!v3IXU!No>$G{ z*Di8ON#_IoXJF+{k%Fx5ZmyEP&2!D3bdbc=cHQ9ltDQ`*{2&I|~`B{S{`Xob2-c zsT@MzBmd}#`~w#eE62xw zY4(4ZWr}4YkXNS)|02f4w-G-Bcbyl<1!bk~{x}o;Ht+ zhiY3ZgjO#(9!sv=z5FdiP9X$?-TIv!P=LVDD&&@GleJ3Z#NbkfajmF0tSj@4DU)~V1JPV!2pZ6HB^Q1H(<5xbLM^ZH)iZo6@zk}x0jMc<9Q2mW^J^;DOU1V zW8;n3nijBe5c*QRI5~f}Wz?1BWHEddYfD8Z zkb;TFBRuY_x%yk{a;r#^2YsaKYd%u?h{%VUaDKoN@$*7I!C`yvrZ-vYs?zPhOKLh0 zHm+b<%o1-}PasvROlNr5QcL|=5QvA)@$2A$ZC5igU4gOc%nYhO*`A0cx4cCQ^FA#q z(2(j-`*58t#O-gS8#ruDK;n-OV?S)^~1_p)|C~RG?lNy#qh!| z->RMU^UjQMe}&6lF3o%y>sA`qDtEK-av@*{LMtbR2xXv_yIquasIel%LTlOP+al}B z1uL~ZrPZ_f5!55jXHVCo-IN^=#jO7<)sSEDNs#PjvJj&-V7}whTjG`D2W1_8)SRTP zurLZk?Gg~m#=Y#wUW(Z+ab+k5sR8aja;U%%qdzvYv)y+geDjBLzU)?|@jMy{jaTh! zt!0$oE!F0V1b-yuEH#@XB@bE_V2(y95(1B!pc-Yn`uqGN^^aw8-7|Q36-|NFhQSMg zlaGXD&ZLVJHezy`!M`PNGp9Hgeg!DE8gaiAyBb3xm`-!|cy!|PbC=RNg$nD@z7hW7 zw^f1YgWo?Mo`^a~9p%Y0=OjjI`->vhrPm9OZf!PA)VDk>4VtFY?=pD&e>r|hmcr#? zh=%)~$>aYZy!uZhvVy2Byj-rCiXshrc8A8lH$D;l{Wx3lK}&PdGeLl{4yL{rGnfp9 z;r^!v)aHxeIH#*Yu!D*P*P!y-g!Iy0k*1)kiw&Mm5D@U`kKApw+Y_31u|pd{K=?0% za!zn{1$jGZZRI_in9umsHH&f7%g${?+-$nxOk8M9mv6DkqS1@HkN35HE{L61ndoQ@ zQpz3st`aPDWwRfAyw_*c?00kv3#_M|5<~5U6?*>Rcb6$+eq)Td#ya%XRko0~D zb$g1bLx)Sex7R*#o|7TJ%;Y--Y0d{U9qLt&a2CcctoGUt{eGi9x^~=UY6Sv%KPt*1 zlBv_3nRxQ#u1w1hN;r8p;Q?xLz!M{H3v{n`n1@dH8SZoK8IP+IUb*vZ(rk>0a8Sj5 z{3!YKqf+e9dH!4|khz;3H1mp}23>tr5cd%ILJhvUc5fF7GqNie=j5*nUQ81sT(G~o zT!y`n8`|^YI||T=#ZV36&MPjguD*TF%PmFIiGU{+Mm?HuW)nE8Tq6ucWVF!mDgQlE z)U^8Z@v0-%oZrhlpy(-nlX`sbY4CP{pH~6XnHg%3ECHScjh1SAGwT~s4UpwtfEc-h zHSjA&v%PPEhRbQ)+vS6WXB>hQsmUs^!g0x$-dm-jVdx{x2{nUI^+Gr(TPr{~o(cx4 z8Ddx=R+=w1ap5*xD$0Bsp53QQxiMw@3#2V<^u;_-p1q7}w=dx1NikrvUrmsCSbUqP z*a}NT={!$@TYIhNRJgag7myxfz-`fNXQ`Nv;0b(gXiy5^G{h;}($r@BQyK}^!WHH7 zkDVMG)w`*3)ZlRITpUIf-y&EOaCGAiuhtPcshp;ul-n@IpBjjlCbNr}Uu*@6WnO)uGDmZw`Vi8 zyt~DinbxvnNf&XLm(#pPB@wl+To;dkH3r_;p`NRwxhsnxWPg7wv#`~uke1smbvf)9 zUV-)=Lch|3qN>kSuFxRHuA<8x)Vub3)6M5GVPXY}iDT$uwqc_=oV&W4#}{?xvXA#T z*SwcJs%NC2v^J*u@}5(;YV;u$WXF^wj>iv^Okq;T7rIYp0xQ#37t&2X3|)nqbF)S| zef4aXPO9}7;C&m{G5+;l&i>$IOmO+779o6ow$fh}QM~608newr2i3*eWRrN>UI8h3 z+WA|ve>DgHg*99NV~ZAivT+e2VxUJ50-`S2q-E{#+F`@CY>tD#!7%;hXj?*MxR-p? zWq^`KH)kBtlY|}cyUtGZ1!p7VoHl_90(=3$EsPU_$lL|*XV@J7=p8+Kx(EUEiDNgq z=)o;CMH^7CNiOa!1_CwSmLPLM46)xb&v_IM?nZH6ry02$npFJ z=oG>K^^{bF?ZRrQOIowQ>XQ}a`IADP@a_Q5JBn#g=!P#~+1l#ZZe(2-`{TCB`tD_{@ zMJOxunIf|@@T#@p?zZoZOM}kw@p@ud^VGCf(7C&QNT=rh?cGM{6?)pb9bVaa$#x z*hB5o(`x`jg(n%u9OU~4_!!+ouJG0k@uhb@VMg7hWsR5zD3q)#c>~I#%sbqh8xW`4 z*$<#__6Eok01P2)Ktd!C3OpmRT21%px%EiEG2hFZAQi!alb zFy*)C`&r}RO3u%C%A=myH?tjy>Nlf) z#~l$WaIo`gsey|dy4O(doiU6C;DWTOc?T)E?jC`*uw zm+@Vh-*kur2}J1sVsL7jJoCrH_H-kMIyxb*J&RCjc*n{iL2g%r3KJZINBk{yr?yGj zm7RwS1H(jtRAnd0_6~fmW#E!1iAeudW-U@m$93A=}kkE_wpm z7H2z(fsARB*p#Lzi)X(S#ng3_>hD)bzxc0AkB_ zMex`BAhc4vA(>jd4}V3ey+d#YOSrY&XgM3sPH{HIAfCr)c2}5q|D*1UeesxZB+9-JDU>-TWkV!s47EHwK+iT7s^v<9;{b?>u@C z2hmxNICRI+FxaYw$YJfZFGSP$P}g{h`H@Z@+1W0w5I%@2D+IqH2kV=P%d*q4>)WEq z<$(}c&6F@cBVt`3BS&!DyzTUCmlNBlttV*K=|;|&ID8#(J&9<8LMIs;voY`AhRP}0 zrM)$=Rb(NTC3rWrL49(HoR|b~t_Pf5^r-0jfWm;W{L(P$^D_JL-@z$<;WVw!@ZTwu zFXE}{VL2PciIWP!cDm%?V@jn7#>3oWSszwlC3gE5xtM>%0t$9Gor1C5t0SNkq$cLa z72}q-ttSxC-I=5+D-F`%zUFE-pT*Bfq;)UO1mm6nJJW&TGMMb*R7!fVrh+Vbwu&pf zAmI?!9K2s)ceQNJNoQ!A6~0IrE~ijWp*`>6@{0AqT7`B|ghYqadQ!d@9p)Z)wbX<+ zhcE+3G$&$81c5h|h^2@HTg^~r=oub_U_wBkQF9%c053UtT=FU5V>yi>;n~;52 zY`o#vWL(KlRg?j30(v#-*uMN93^=cHr8>W5S?|VK)g+rxpSWMNGk5SfWF1)EsLi1E z=4d?LL*^P6jsgev;A;E3*LjEq8UU%p*jPgqM9!owP^8Vn1PQ0i4_tYB8eS3YZ;p`9 z^ARDI5<-C%9@0=;$^+psd;Q8ofgMnDORfb!j`7Ga9Zo}1?Hplibt9THTAHgW<(zq0UL$ufSx0%ZD4$IA zn8`?+$)=Nq%x2X)t4Eehd7+<+$dmA-SNO!cbNmvF0blXLqTcFl)$CShrrMhc31|~{ zr9cRB)6c;b=mwB1EQVCVcweMcJ?>B)$b9huvu4e#Y1KIrw9jemwjBiB1Adc5Y+`Vs zgF0%J{(E(|+nG}`l_Mx>6QFD@C8bdH@Hg~5Fak2OTiPPwEF~O;BZ1;+2cTU+O~n_w z=K-M+B2+)Upmv zUaHhzwOeC#W==DW>%N7?Y-VVYqzLpO$+%|0Rx1ULt%q9Z0g}g(wIdnHubT4fM9;f$ zR^1zNZWn{wd@!8Qc(2hcWdgtG0oqrOaB3`JWVuIOUMN}2831K-Q$G*>YflmF?R>my6a82o6;c@Qy;X$u#MwX^U({G7g`X4yJE3!}LnBnT4yF`u6cQGjNdB&DV&y!Y&8uaa;P~LnwRq(Yd83hEjdNI8*Y0 z(3$@G3m=*Xc0OEaN~N9j<}+#kUjrr_DYZOVsym!L%HcyPYc}U`Eq>%dh47mRCK?& z;%@7^%J6pf(`MEC6C?=P=Gf{N`w(HCl2OVKg_P*aOd+ZmG=irEQ$?8+^PBzX4IQ!_ z=oGXw!w8Bda{OSndLuY*7MlKhflosTG8_p0LfZAr%kVGU_20kH8(oL+Y4hvcwPNlx zssWOxmqA5zXa=fxopvei)cVCo*nVwdRh#VtnpogBc-7KQCWSB%@WMg>Ls9kJ5MC`g zFN0b<6Pr#QmcsYZ&+R}}&B!p>lZVXQBNUn%sGIpz+!SZGW4sN_auQ5A59T#aOb4wQ zy^P^G{Jq}0O0XEI4VO>3@4f2Ra*WX*(WpVEmTZH>$qIEd24OYklnDn(>I*zf+Pk@K zcN0%QafKqT*%F=uBm_dxRgV%lI6&j$^yk=0Mc$fDy3pLRDGEPsu)&iNO0|c{DIKH> z7hoQ$%2S)HmCn7r`=D9ST5bMT1V?5zuLWQnL{9|gjIpGUg3(liuoUe*v9jN%qhkn- zrQCslkyum2V;@=?&;#K>9Sjy*#6&4Ak|2Uw(1^2ISpbE@Witf81#yd8f}G|#!7#xb zpoXb?Bs^9hCX0l%H4wV++HLliSRSU4p?s7IM)^T8qCT)yC~h_$N#-q^H9jg8iL5sV z$z*PJESQwjptPlJJ~g`r8AV3Rb1(}UP3tVmAQCwxPKD5Xyk)ipX6>(_YYRRJM4U4F zy#m8%RyJ3Kd6$!fXn5Jf_9F!jjW$&MOPAD3*fd>Q7K_|zXy=e=-gs{K356Cx$saPqISXQs?Zst!*ugy0Hl zzQygRq>xb8b)pQfuNFIL92K;=f@d>o(1}W_hm;2J_^>@4PB0Qg5wK09;`YKg7#jgC zZcKUCNdX>Ns;WuC@Gc-d6Z7v>hzvqwkV^$klnM%qLff$rcoiAqMPW4N+(QJGim!e@ z%T%uTLBJJ4ReWYfW zFZtx%C`3D%|3HKlhKL-Arxq(H9%Nh``n(F|mEdtir9i4KMRTUA793jrNQSsf;5fec zjY$Jwo0p;1f)JR|qDl0ZU4}MKo)Tu z@`VdTnH|;P0%9NU;)SV2C*n>D4YUZgGLx^#&_?xYS26z0*xI$#{S0`JN9#YUi2H}L zXbO(kMq^}H!bxRjH_U@%)>}j3xaxe zd;KfZWW#|^Uv?nUMqnT7)eA=~TUEoL*%$nFBJ179f*z?yIP*{5!ks#VN~PJ;bJs4d zEl%Y7DerrBDF~M9;6*a6szdCjyji{R%A1~O)Ck`=R&_370w{)2ar>n5y*Atd#OAyQ- zFWky^eBI9E8M~1)Zsy47o^3nbV2p3P%cB+sI)0|VkX4xV5N9@4=~iz;`1VnVW4R-7HBsw7 z9jY;FW6;u5vQ~k1r2Pp5Q%!}+P6~c4+#*z8S?J@q-i^;gp@J1tU-jS0+q05Aj*OOp z_3JTER@{}f%0z!ahk7yZ*H0nD5Ll-1S}hb6|h|9jd(NF@@3mu;br5=5aQ(?}S| zhtS@Q$2ay4KN^bkrO8po^;?dIKn%6`d%1al41Z?a>c%Tw+5OlN*qaaB^~K^b|Bif9 z^-Q8Y=-gkNJ4Pp&2pQ{w-G){CnZMiJ?Qr4iyUulFz|a}<Gi}Od z+%@Eey(Hr1#RnQ4q`tk87HYV6D_W|+ZpS2Ek$8;Li$E8g3$V98cK&Nx2PUSzW`36+X=pE(3++x7qrn(iz8|0cyex9e!yC$t z-N+J`v%2z-m1qD1{|V7gSV3$y>y5>#w@tBYZ6Mo8&0??wLcASqw-RAc5gM9mST*=E zp`@GajMvza+kM`2(DsxjVbbqIEQbAI2p5W>I!;3<5fEj1fu!l>IVJsN8WNjA*jn33 zEFk^YGN+Ueg~dFT>nzk;g+3AKO~v_oHI=TspaWxjjL#t;8Ggo(EHGwSb9s~-i(Cab zn9_(4N<|9I=kg?$nuypzOmu~kn>YsDM&|w9wO-;g4gcz5_}t! z#$JNByrd<&I1=o-hh(K#aR3k3Bzqzn{puAMWIzrweoo5aMo4Ai^CaB1&Cs+9K`QxE zn0CnA;OUxR85Ls3eZMcccFY^hJLYWd-*m~`1X}o7Vy?37=uE^!?6&BCv@^boJYn_G zPDDtXaBn@-jCSPoUf#!K26E#qmOeQlZfb2PsaNREnYrr~=0u zErCtCZ%Wg^{%l4{Mr#YWmE4xbT9`z$%G|KXBBRxpNdvMp5uxXzsN7P%tahh(XbXsY z|4vAIB)Ln(WD#V8zlUT{1lpsaOq~eotz_{8D4~uW&A`e~EZD%tge_5!iY10!ckyaO zrM&Kus`Lz9y^mdDp}WjKQ%4wWoa()Yj;`b|Io^%bv1 zG0=8s(KK!{I z<0;&Pd)C01%7O0)LUDN5Byhsu_=0f%mUouSUgx=Hkq?jWU@sr7LmBE$G;T?MOm!Mb zMkDcZ=-}(r<)WZw;6N}e!HUG%;THcNjtC`{AF#-O_XM@H04p zxsNX&Sbp0*)9;3jn7Z~sIIVeN19+fRpsM%l(1fBvL$ZLr+f45ZJ zb2;e6h=r1m|JYI-G|LTH2MSjNS@B8VnbEG^QzRQ_?R4nG&iv*CV>@2S-I~=6kqTJ| zCL7?LJ%fA8bI(=|#lW((Wa&x6nY}*5Sd#ngKd7N+=&3f#%TTi|R&dt#=OZ^nn22<4~W3;-Fwi zy)L@}h6cM~nib>;SGGYJ)EnVdi~?p+u}GTEx<|W2!jgOMVgBjndeTOQz~`-hrTVaG zq_a}F0vjQ)64g8pM~(kFNUKx!oeY$6x%SGg5H8@d$#qCBH`*V}B%45X4~UPQ0Gn3$ zkhO5J^kf&CLb8?eq$@z4oWZxo^T_kW>CZ!unoRgko>bgF*A3T$ zO=~wp@9w1(5rlhgX>HipnMtG!Q41gkE;$y^Zj21Ec7$&V2Y3KJ0TOmxmDoEql^A~E8#0?R(4nRlY#^h=mQpu2>krP|!wbV3H5Z2%qd*skO= zpTEYAMUs4j^?)ZrLm`P%^0ab*p)dH+NjN|q*!Dpyl`Cwg(ZkK7lo1somJ!(VL70wTZY)mo~f(XBI0Ywl>gtD%gw} z^dlfgZZHLcr*7jq9xH_y&Z4o7U;hE2gi^-R=H^lofeYTlp9-{-!}Lgzu@G{@iZwZG zUbM-{mI^+C5{cLe;Cb~@48<*}lR?q2H z!0VpSZ#ZuYeXYAmf@&|teH)j4kSuntVToQ(X; zm%ZPLL+;+pU;-BP4i(`5l3Q?0IBX+>9oTMnw&WAA>7s`yhig-Q_QLJ({D@@p6%AX(^a`(bFaS;YSoiuL|enej)D#%@6W7r^#4Z_BC*(PB^9=H>s~ z^@xW5i;%btTKf?lbMfE6O`bP9m5{_-b$?rg>aHicKXN9SJ-O5+ROmc2S=q-6)^m^m z-&WFnzX8HPFTCYcg`Y?oZJE3**MUypQyqW!#n*inDat*^!B zbEQ;SJpDA8G?gN0V7C#2Xk;K3UDv7i1dy@1wvK8KdMs`>e#ynNY-A+*Vr^kb+*s<_ zjsq83`Gr&)z?OT0jt+80jLkCa85@iA{0WCM=dwO9DjyMNrA6zblrp9aMRytZ>FG0h zZou$?V)wkHhobuYnQl0$G<59V_W6hW>msJ~Q(S)SkGa{43+c+RB6%xAv>4(z16cuk zD_Y+IN4F)*aY^n6fd2ebxOo>;*exW%9cds#-Rk|Lh#gD71;IYAbR#!EUtqiJevZHzcxf^GbEDn50l+C1wEdK(4x# zqX6}Rg4xJ|MG>e>nvg`XWtnj1M(dE?)$GMcojfXxSe5jYH<4UPJr)=LD3hxr zb@exCOAZYZ;g|OZDvWs*2`~L6WX-e|-YNN(8hQBKad9wwn>cY$d+&D{BxzGFO}MkMLLZH$C*r9IZvq580B`$ z#VI?!RPpQ9X^Q}iM|<23M*T?0XjP=8T@-qIqtzNKF@%vmX^P>?@tz39jkwoCH7P2H z=K*$NGhW37NHHxx7gG-f3%INsUnaOSG^{z2=9WU#kxVrVD80$=L2~msFj>4SAp01h ztd*8DY)2_vXxMms}DR>d9F+Xh(bU^*LpgQ;5{p>;1!5utSw2+V0LZMP+4 zVtm7IiY{>(9C?+0mN9w@qbNF7PZIo8`9=|IS*tp{kp;v39>d0L7S|bcI;vrjB&4%S zsSYAsNl@hBf*}AXND1Vo0MQ0Ld(E?&`@bR~UNEdKuWx2PsA1^e{Go!W&H-5v=Gk-c z#t~Q9gTj-Xi6_+o!inJHW5>in2w_{0eiG%6zC>l6@47`ZXJxUQkxGl8$7_K`eXR(b zgZ29kmV$j|o1F{rDh)+O5dgil!Ny>A2lI2mg*6PrO~t1E?I#zoF--v9 zcWMeuLq2Buu^q9s`r2c+mCxebfjvF(u&0hC$y`2Rc2+F1i;og9DsW@QtZt_zs8fmH&AXAP zQ}=Q^Ta2zw>LJFacxVHR^tWuq7gJV@)#+ar&M*vfUIamL98a+oLMT{s8b}$ho?Y!FrwX>!TD>N4|H1Ri>6ivW}ZNmrPXP za&{l#3MGoffkm&0B_bmqKjN9Z8cHvE;F8!WzH5Pe_r6#Iw12vn*w_rb+|r$0%MEd@ z5M{K8a80g1?kqu`}kZ_S;`HF&9iUp_VNHU(0(3tK# zf5wWXe~bI{U%5K~!fIMzm{DdN7NH8sa_$cOa$E8it<+U+Tx5n|9qFSW-g5~4UPll4 zwzpJTFLlb_tNiK2t?&zl4cMfk#VBq@i;YeX>ORR9A`%z;>V`yUkgjlBQIWxS&Q`5} zZq9yQ@7j|6r)(Y!m*@ms$#7qJlX!15|8|M|)z0UMx1+^SvjeJI-iRk+njYj+&ru3sJkKn2d%P)VyIHIud|VeLCNW_l=? z%m9ge6`DN^jZ~TbzJ{GDOWGav4nYV6cJ1n}{8$!W(}KvPr91c6BqiQ0GaXGdLF6IL z5DyLaOHO#K-Z?w9tS=-E(rViLHcBTq(ytehlD|e^J}8^)IJ37dr7aF1XMQGEnze8cQ^W)DFtg|4-3bM%Q_s>3TCWGxOFK zvt>!P%nWfHbdpIjX*1Jln@(rW%rudbo|#Tz+Gc`nsBIi@z)Z3&gDi_#+NjOU%y_=@ zPye*E^saZk-}Bt}brlsdpBv=e+)DaQh|IkT{5-61HGTUz=KTb+`6Zu#P(CJ4jIrKZ zy@3lp6d<6$T>HOTmRV;7d>i4h8pWUZS+sNvgSjjyX_q*~INR{i9~vkRLai1=7}U?U zWwZ?cN-pOK60@YC<08&jCH-Q(MuI{%SKH7cRiV##pF^kT9rM%niu32azG zb@Pt_67h&dagIT-6>39}&XGfR{ga$dZX`yi#IDcy(U6MU?hm_(%~cT6ji|^YiG9RTLk5R76F5%%4ssj_3MDG?&}uPD{d1?({`rSm(AaACVQ=cXYs!%B9BR6>NS zz|*3%fqHFEeWBtNtX0g^px{ zaUQ}A*KJVnTsFJWZsP|!mys4=NM$qUqbN=+=dGxucq)}=@?GW@DqSfWep=wJY~+RA zcmmxDOZ^Iwa$h1mR=n%sf7inMMW)m(^hGt_U!i!n{_-HrqdjF)1RF@!S_zIpW9D@8 zK4RECA&)V;CA*f(?LWDg9$k!ulf*{}ez-CIZ6daOi;P=Y+uV{36XiA70_i9vbayfm zA>6O@ESPOj(XHcAuqucGch(jN_5!GyJ@?pK3X-Y$QJDilADp(b`oJAKr0QyR;=3H- z>$W~HJjmSDW$cQcSzdm2g||yz2#AZfKwz)(iuGJehQ|xgiX*!%g&7`pm3pZ!TZ5_S zhe|OWQv#p%V8Z3BXrn7avRD=~oyhn;`kg8$sHGh5>m{8mW0&@YL_=-5GU!QDZpDsU zz|P8V9-PrPv(N{Xf6fLlr&5BX>U-bJR`$osnA$L@C7y-nMWXO?{tGzA0=+~?i#MXwnGG9v=^><`IZYVhlrKb_yKmM88u2(r_}We{EyJlg|u zo@Ke-2z(TwrnL^DiIRdBwjK;6a-+)Zp!vEe-6-BfZCy*_5^kyYr!_^IjA|#hgYY%r zFv`(XoFGd2>lD6Lv9I~)h#cpxZihZgJo+@b$s3P+*eEb68RlfLPID4eVlXC~sVPqG z(qg*ZD0oZ`v=h7f)xThUN5>x}8L$xA`?5wRT`0j~JAw&WX#sMAips?XuF>KL>>5m- z>IGU6#}E`b%aeX?y#UtL{CL!_y3xyx{(Wl?%-i^_+rqmki^#Y$)#P)6jC5tD{})); z7MN4crGKrEGLBc2V>=&kYA`uG;6=b2xgeNT`12L`Q8@8SPP^1}m0zaHdOnhX5g@0l z&Yvt+NM#W0AqsOZe;`#8kINPc^(Czc4-s^q3j12k#KY7QTT(s)iE@yaa2kR?LWrDR zN$J=WJ!jR8r9#@%9hKg+FYH5XhE<)EvTHMx zC685XP9j}UH6^_@NRbUKIvSJd3yVO0oymlNY#sEya`ix7~PZf|B2Pqb}cZDD@yOg?80o$KTFYDTvgtv)D9 za%`G71pNBK9j`vNEwcU0y`NrqGt6i2R|z{=Pi$A$OD*?Kw0cC=s`VY)u>e@ zpDp&Jj@eo`UEMZaNRz%FG3~v~S}>0C<#ZBO{Oq`THF|`#Q5CmB!v5V`?6t@`jAp(1 z#JO<7AhX4G`z@RQpUy{wUL?dnSZgcxv^Cp3J!kiykql65H@b^vCjlt+A(pZGbcB2X zypA7C&(FV5X|Ax1Om=x`AKTkSa*h+2 zz6a z!K3}=W-4RXqjLK&iD_D?Zk??1hsCxN)5Vdu>l5WiAV)H_QVRm3dhva=d{Hx1ap?W zTIyKo7*+F`;aYVK(IROg@i;A_m&=s|*ci}TivWKDMG$P-6%{k7xE^zqLS#81C5|kw zx-i+MGM(a==1_hrV#^d!d0H{Cv>4P9kA6c&a~oLDbTFpob6Kuc+c~)d1*(Zrj1=t} zrqUgyfiMXWGzZ0!GIS!6#Mxb1P2yyYD0h3<2uO}XX+H`}NBLy{>jkc*GNC!T-Y!k5 z=j%a2CXEiupd=xWlUaVkwdAlRmys0#08qPCofWRFTQWJhf|$25YpraM2eDEqg*VZ~ z@(o7t@Yl!>5+>r&(iSxaW?)+huH#XUZQN==$9cZI3fJfmoSvY(>y83Xnup$C&GOk_SLtjMhVDebVZVNK-Au3D}25Kgx1Z9SIbnv1T-b?JR z4ET83f}~Oxc6;$d$Te909LaOTzsZnFnP>G3CK~12uaBYGjd>8@iy1)4#pC!Hoa+k`8)%?Ob<%vEh=1<84G7AVp!uSdlG)v9ydU_xu zUqiv#vb%6Dm@6_23RNSCEt7V7pGt^j{qFMO59m5FcQHFzr?eJMTKz??5tP)dW2rpt z^zJvV<_ymW?+5yGn!7#U|M8$%^w+)EJqI(9YxLx?AFS8Pntz%9T$SJ?K4RY<#P9zc z!W=6YzPnCmAo+=_PAN$a0Dh(T?eL%7^= zd>B1p+6xr1p3GU{I1rWy<^O*P2Fk56i;V zNU6kN=9o(BGZb%ZB%1@{_E43HHX;^y7fa#ss`efTvOg7KB7_dyy_7HGqESM- z5 za#lgnQoHoGfB%zR<#4*O5am|f*5LS^RIH~?c^;?m3?mJ~*L?eY7$Mmq(# z9cyIU{W#&Z%)j-08)5mUkB94!J~LO?WjYc@UDMr041Sw}`HBQcYhH@Uf_=;&|L|`m65w^Vi>NaYvO8>iee@byX@Gb<1 z^0S<42|rL8^dxFjsIrL=q#F=^qf%W)Bl3kKlBT0H2U$rA)2WO>X@L|!u=aCHhIi^- z>tB0Lk0ZKJoTyV@?yE7Gu`A#G#+rZTzG#NtYKNMJ@qz+$;WV(yr^BH~j%=?Vb{&Gc zkVM*kNO)n^Vx$0tqj3CiK40!z`7H=`Go*Rx$O-U)W?&Ye!~%5Mlr2-e5owVQfMhL) z6CNz4xl!W5(Dng?+<$m_D23NY8}SLD@2Ne zt*Hm=Es)(Qb8zvd7OW{KD}1yB5pQs^ACfV?>W??gRE$GWOQXx_RX>2ZLRQIFH7a)W zEE5()WvbKyL7{wn!d0x7fsc_#=Cy&pX)L?InEPetaO|C#LleA>=HUl?tey^d6C;DCxA;FKK8EVCN88nY%uH0Gg%$az_~5SVd4Jn4vYl(3D2 z34KJ)43iCphZo61`nH^v9WdAhFbmhjg@P(`A_k1E?K;OBm8lDFx>t zjdAF~FvMOTq!Ag9&bm;4497d}44(=&ts=gnDRKFxw8|MfpRah_VQBk0ciQkEBAQla zH<521(A3FhIt6oto@rLW()07;N{>#MEV3}}>E5qz0uOb!J^|1Bc-!=Cil&`}?UGdP zo+ZD6I>*$)Q!(r@`s1ksyBC($yz0Ia1F>=w_))IMgO9GqX-1*w$X)VqhiXRbyRb63 zy?Mg&R;6C($vxGArn;8jB!lRNfx?B6xH@%1E3BEl1MF}iLauOe4@UanLnE0c0Y(_ zL78d`uT4jXp$Rc3m?a=9T*3@r`%QQ?p@smev~a8aZ$x`Ok3KpM!^FQ|LZ}vq;1`w_ z4D)@kPN3pl5p(%);t32$#0eJY_T4mjs|e2SRPvFUAcf6}If9rQO>_cc)fVho!6B2X zQ;4Fr1y!;^)m&--i7JT`$v8O8j+Pm0Q5~f^kUT=9{_@Ep`Grx04Kf->_O7s@@iE2g zmPyce4Ypw9jj@f(ZIHW?>%Rk!;Y(w}v9UKsH{J86s3WxhJbeh^`r`OoFH82kI=1pP z^DSD$uK(F!cJKNap{aSy@g81F4~!;UpKhct+yF0)QU7_YDPwtEIrb*vOO5JciwT-+ zTHrRXVFn;Adm*QGj``H9WSqm*Bpbyg#>y{q|I)RC_vagDmB*Lj@lnsBD96Jorau_Y zm@kgCZBgLYKVBJS@8<6kv=H`ieKAH!!eqVAQ;x1a1WSWIGUJavGxrMV(YCn#id!}I z!{8dUW%>Rlzj!?kAsm_7@p+Dt+B1=^93FKw{I+q`}-a8$R1fCBfIeh&szF?*LnWd zFCXInMctU)dQFmk)hYn}Dqb%FL(HWA^WmC#WQ{q~xNm(j+=mimP-!4bV|gF;UP0ac zOG7-ZQzb~rALNEs43iD0?}bv=Jd!Rw#+A+ZpdWakyf3JI@A=8)ZTAB;o$xg{{z1Bd z=Z^MsghUBUp0TkxPZdDU`2GZ`NQ(GQ#(8FT94e5g;oXOLGE|x4iE0m^V z4({?*hZ`}qOuuYJe^ukQh?D6XLaf4hKe4utTfzib+a0T*Q+L+AEET*w_?T*}6viu^b`*mluF%bljV!RySxFGGSx2yA-Z@NTI zig1rXE_CFuMM!MXn$b*v1$Q&e4raMKdl!~of9cWN39RLxwyLW{ck(6mp6pokQT2DFWUf?waT+Z~tx$nk(_z zx|$COUbp9sH-7-SmS1@0_3Wtd!CSo_=$0H0e5lL|L%Tj5E9?k(|FrKjlHeK%Gdjg- z4<;?>9xDE&t?Z-0;jJL`ityBA_-XP7TYD;=F02!x0Kc<^zxLDtv5IvbI(CksWfj-o zz5Ny8yS14{Cy7tRn*X;eYCKrytuCfZE!1;_~0Y(j$MT$l`V% z`Dcm$gI${X`CQXKlvfqoPX0m(S(gD^*p<%sXcogijAad(KIr?QLs;D)gHbPA+<Z9fuIrFkC|5@`#|f4@{o5p{C`sShfHcz04FqqDY8h`HA}XHF-B zfBVVpuW7g6oEmkEt&1Q0v!30Y`X66PxFPHQlr!cK*sR6}=uv4C0bOpJnjBC%6wu>i zcNn|mbIFgt{^%fcDm|ijaZ=&E^FkYj33|Cd`N=cz5Zc$LS3VWrTSmo|0m>UR;V-?a z9awTApdZ1kg}2#-%PVNJyS#+?>znrnQp&D)T>rcoB0^W#BU8@|iRP*hT&;~;!S#n<Wvtu?B4^zmODYEy98!#&ZK4c35zSb;GS_|!v~#;@Yt zZl9_A@_TiiE-7unH4jtCff8!AfYPACO>{rMjk6J4vF7Onf}4pF(;kwz6%<=TZ88SU z>CRladKSdKsWP>%F>SwnxZm@3lr;4}p&RSpy<4UtKLS|}d|V5gng+U*k?Wt}sq%x{ zF+c;mi}C7vV^8^i58i!gA68If4)lH*T^^$T8~o!h+?}{VcBrd)=fPJ6c4{L0wTU>E zPZAfO{=02$$-ZEy%i9S2!$1=_HkN7;p#`U~EnxEU8;etjuH~QbKlJufKYDWT6}EAx zONqhqGqNKM8te~O=Q}VtCSk4YJl;F^wxjPnsD2H7XPO0v-6nWYw{({S*h;`TNoXuM z79&I+LB6jm5p_)^0^}8jSB@m}nSbmVY4Q!8=xlG3A#YYPGtJzS50Xt9?h5FuS=A3+<={<+4=!{BA|**500*94E@gWDD2?uk+gRcX(#Uu}>I4p`{XQkv{% z0QVw)rgv9A-KN0806F2#NFvmlmV;&jyy}JR3Mez`p=7f5UH2`^YoTOEM87k?N0Dpk z2xW(Fa|Ul#ORI~nH#SlmVrJB->!o4vT}Z0Hb!PZxhmDtN#dP>ue!ntXq~xF(4h~8I zSCRAK1J}X9b;W^h=Vr6BfPvJyefW$qY2vJ}ouWJ@jTv+P&N#mg8W0c!q)ABk99<-f z=N@-VI5sntErgj;CM5+qj;5xx?=EX2Zh9aL>);oH+VV5}=lnfOVv)z6lZxu;k zU=ceT1<8`HJYqpw83dg>ddf_|JSRlDF)dZaPkQ)5Tj#HtO^1Yz`yj?Ny%P#qR_Ail zLJgL&Ko8G%QBcJgJlKOCSA!tYJi4o%OW?iNW}{n8VOFhQ7N+ST8K~QdUqBA9-pd_z zazKp;6Q246JFzeb8|NWK>O*BzmT%a=;v0VM*UNWlpE?)!e$}Kyb+lZzI=dCiXR{a3c^$@vi5bEas zccesd4yBq4xmU*jPh#zFM>u4kqhq|7_n`ljL4pu+Xyoo86i5RZqqN|j#f<&skx?Q) zJeX2JKg~9JQ~Ja0nf&gYd*8VGJmeg>~xSb+%JBc%u^K**BOpnGM!8` zyABli73TLn0N-ubl8 z06PmorZ7Prnhq5%!0CB#)QU8)Vl^%&4eo_z(Mx}?>Bu$joje6n(R;=6jNm5NS#xI- zsg*h$$z)c6ZOqbVhF(Od^rAPpzl={6-K&_sfKRXp4Kk}ZZ0No;5BG%Zm$DV~VoP5_?IZCGaxSu|E=u*@ z9STvx?2Dc;`{P;|23OwF+z9I#mAHdCT4El?XNVYuOjJlZ{8^-r9Zv>#-j0TsP#6lI z8Lb57G`y?Wv`;Y}if9u_n?{7A1)xN?k>Ncc*$pBRO-hDBHwlUv{BC^a&_gO9`j+J- zAMwso%TTAk#O5$5h!ehh--|JDFCDahdcEEdAGwbBAqY5(k$h4tIXR@iM9Jw=9$1AO z4zv)F4@-0ra)@2Z(S;MhzqH$sX)EzPQUan8p-?HR>-BGwB4D@_-3NWN;_4A zCUn=q2Jbf*#Pi~Aj@F!SJz}QyUI9gIz~;_@3nYSlUp9! zl^u89_pAlgW7Foq}bE#Q2~`%68g5hLF@=Bp4e$m zQ#e9MD&toE%n6d+>ZVN4EBa>}bsgPxE}mNM`@McwnZEfugmW!-(D0mR4sBMe%_t_+ z&WWZ;kU51VcLx}U2UWWQZJSnh^YKd4w`-C^zQB>cKG zN5gJx9Jwt*T#&UB*L~B)R}*GAxABrJahjkb`%+jz&R`b zi9blrZWXf&i@l(+L>-FW?{?qTv)f+pW}_0X*R9R6O^!idXali#3C-D&*oW^^RmCLjKuoz@-|*~62aL7N z2E2lxh8VdcnYG==^yUru%O3iu10x=U#SWo^dA5ywqKaxTWhjp2OxzWJ@vi7Mn84oi zQord3^7B=cg7$}c8RMEV>bI6ZCm-U)l2o?&%F(_KC^k@_#kjZRzQ>2^_h$lOP$s}Z zmSc+cVMFPpySC*&HoX(1XQbWw@_~Ck1g>pDPL9=o=edU941h3svtNM;nvO%5jCEBg1hxBdW1o)LMWhJ-;`lw2} zeapOnm;R#m?!6!mMQ^1DMWquU9p{ulSy!Yx7E+Z)XxYv!z{yL_K z+oo!hL|wv%%_{DB&}FDDU#qJ*{;U@Xvh9q)sP5c`Gn(;EJIfcDcv3K&6#3q+fx`@dV`Nu6UHgRxF|ABuEo!g!L0c>1>XAm_C|Qy$A&6bV%amW}$gke=r}mBkTF;;ywF34)5E;Me2|( z7f_P;pBp(@K^!VUjs_y_f;~Q7swOfp7^_%bs&jK$6!jOqTYAzsRy|)PKgv=W<@rkG z#yT|UUMR9vSj@exc=!sjPIA!?#?1&W*&?j6b0r2J=Gmfb$Hoyc!N#>I-;Q-ezaiP= z-9h+D3R8c|szBFQ%{VBhS1LDxpiS$Yr52Wt4hWUV-$ZGh7g+I(CvEW}tjWU6Dk6k4 zE2Q*orpjx{ds!NFuip%0W)9 zOAJ4O+m<`a$M%6s^#=?H1M*Wpq@1yGsm5t*3#gYPe0G(QBtNW#Kv9|<{Cu6FCW4?h z53Nvu$+kR6XIYDXsTM|=)u(cH;3bSI6q?^mMKi)Zoq-%26ZdC;enbk4*!}tS5jsCg zp}kr|{_|pilFw|Any~Dh%uB0XkZr;2)CQU2n`0-ZficBoymv#Gk588(DJ5bS+??^1 z(y2-;i@vVo)C5uAcB44&7vF5s%O!a{Q43}$QKUc5xyb!+#}GvV#m>h&dHoGHn?ew@ z+-Lp=g6y8cY4@30tLaNu?(?7`AWWJTqoaDah~nWPu*GM^&l}Z%mb$!|YQC3$E+^D) z>tck7h_W>`-wBsN#G&@ODqw4XIUW8kr}<^M#-_3!O^B4ig(Ytw3DS*>ivxiSPZ};U z`$6=O{1#eu%d9Z$mMYG$^TQQ@7xpR$6JvR;fl3&DE{*_~6bXI^lyGI2SL_#gLDLxH z!0uA~b$(HDaT7^X_p;}13o#pPw5=3{kG|?F6Bl7FGW|=~Mg=yRzee)&R=&xG3 za5qOUX>fgi4Wo_ zq3f>KWRf>cc6!UW<+YlN^r5mkeX7*op$2tdn}Z?Pqm&E%pLs!n5*04v*$BklZ>~P$ z9NPjM^JMQjq4>AU!EysJ_TV^{Kvp7j;Xegm{?RD?uoKXh;UG>*rF3t!J6`$Y{a9ds zyTy7vI`xh?|BHLT4w%IY?u5jMJ^yMM*nRkvI zx|AON-jW@-2Q|+A(K`Jfq@AF}=iao8YLAjHDuq2l&;7YKFOMC!7CL?$PC%)5aHJhy z#6&Cb;J@2?nk|UUhvPVl8!Shp@Lz3EFJ-JO$u_TaR0|dGcsz+kqeq4>oDW zB!84fG6S5BLKMzy?SFP23oL*{Kt!iJmZ=@eHH+FH+1!I5#%Yg$ItfHOB@O$X*g48a z;qHvy1#>lLA<9CM%Ud%pPXGMqnliI)KI!`6WJVR5_szcw8E@K%Mn@@mJ$ww);_~gJ zSuXT$nBY)u6FeNRcX=G^o2^9&q)McuW$e7(yS6S3&0y5Xhy)(sDd8`a5~#&Gp{YHX z%>m1bvgAt<>byH(7o)IqtZH*)O1DBJqAmnem5orVpIlUOcbJ^eD=-$%!Ji}_G~ClC&k<*#k`35!CW`0Pg&nIT zOEQ_+4dJm?Ad*tXa;QR;TEFozJ#%=$1be#{haHZPmG@v3Yu)k5}! zN(EYtO%M}8U)`Bm3*2S-K6PbK<#MLvfzyf+k;A zw2l4N79BZuC>etxfJ5ZODp0t!$|K6af)+_$ItJra(ze+rsfR+-HKT$PSJsSF2)@ro z;<|`2!mf2R_Bk)gn}gk=7wm9c&>!|rApX`MAKmVUWQ#^f%xisEg5vfYd#0DGr0uQX z8pp>HC2gLHs&T^E8ckOU&1ryR~qH5uv1{ z328B#a}p}WzC>jm^6cvfLidQ7W02sUP8A?{58J0hl%Y>r=e9kQ3G%D3%DoXN4ad?z zOc4`zv{w~xTkWx2zF4X}!sc6W=q3e>PbXGuv?9?BlIL0rp2>TViW1N7aNG0Jd>ZHJ z!0egN``BN`jnJA3{Kg?SxZ%oP?W<%55kqJ?E0lW~AL0bc^nOOAqz<||_Rzapy|}e0 z3i37_9J$)X0yDts6>N&KzoQz$bvM3xe7D@h!b%HEOCUKwgQW5a=yh9LFARU=D^;N< z7WphoNyXF=Yi+0tK8h&k??}B~zid4qwL)v7;4d-I8-sL`xJMF%y$Kij@8BKaMZ}#f6l~761&p#Sr8v?pLSs6F z?iLmyxtR3wIxqR?FtQZI@bJbMA$m`GWth1S4xt&fD8(1G2KPHxn;Oby>~XN#<5Opk z9o?6To=9hQf~)1SkIf2#a6=Br6>81RWO+clJTR0E%BY>h?u-1>R72c&b$xVl^8cV& zv<$b5{3?x~>Fe-o;{Mo??+nN<;l8G1RacqPW(o{kK`Wh2qY;(2Kc?}oyurb-dRsw{ z7AlX9t|TIGHwKHt{z?6h4M)gr!tkN%&Xv)dqdR`|ql0zV51)X?ZfToUUV7i1LUU;1 z80K$l5vS4!1ei`q^}X=gNSYVio@76Zism8!+2L+WK-?Yh3)mIpwLMtT>iPUw%L9oudV$J_%^%(Vy<$i3%=m{4u& zj=4>=QxU{GkwSdFYE9Jo@-h=hw-#!3Uh$TN@gxU%90=w#2SE0j8`VmX&mfEACAgi* zUoCCa;o*7%!DZlLpMmJaZ7CR9ee}4Hu8WOgUdn4xoSw%ZC#@^@w|8I^JQ-C57Q?r z!_@K$$LYagm9fK|wno=#J>l`3v-U5MId@m34cfrDe(b09zzjE3 zPLzIZ%PbX9a0uJQ*wOOQUw-b(OAt} z(lu&fpIYQk9I<6wBxu=)uz5lXqmdFNhDJ0D_U(G^dSNqpkI3b>+$&NB9BiRv%)l+Eoeu+8SD}Z z0(o$NZLaM+i+N%)?&rgB9WjXu*ZBTl%S0ZE5??Q7aO)3>_3ggkN?JDP0S#ZlLGM?U z-12$oUbOH0Q{gm+Lq~z~KE@M?$FPK2Pc-s=Nk()>xOQ?^|Y#t90c@8kBqY`nH zn}_}-UT47w>B81B!wSY%V|Os>o2Cv+4QPu5EwSgQC{q`jOHLi4-y}Z|(Zok9Cy*QQ zw0OrqRdQY#u{3Ndpz*v%CEN9_Z!Rv*q{f$XtIet|*AVCfXJk_JIU5uaCjMjhET>s5 zq|`2BoYftbjc!GB?QnGc9BIJ>6oz0lXd;a{NO2(jS3{Kdgf-f`foB)dIpl<|L|v#3 zC+9=5LOUto?lBeQfq9|$$3-AZ)7M13AhtnX7er+oc=3kBV+`WB};Gs+l|>+*|=oP$C)wUDp!=O4&s;4o5hi;vl||VRo7|?Onr=) z4Mruuwzxqe69=^yleB|r?>W>!8nR1DNa?<<{TMnm5n6ECytu6{w3ivy5Mg459&&3e zzQ$tWlhA}V?p&*0_&4Je5N25Nx60F|o2bXIb2-8fPQOAxFB6w&Ei#buh^Cn0Xyd(= zthNmX%kYWD<~C;$M{+T$)g&kWwkMsS@@*2K;f|{e00{uu!upz(ydR7;Bd*|bQxl<@&A0HvB zBR=lfXjfQpl$Rf^B{NOwP*Dc}g7lxi_?CQg9Q_wGJ${Edas}6?e-y}$BjnNZ!}PEu zPLHU1;e?T%jh2ryIQ3F{)^&nKPF9Eb0tv#eNLz=z3rvkdB%;n>|;q*9KnPAAz}>;|rkohkHEEWD!V?lSSA% zD9PTAA&otPZwcWLrI!dP`Nd^HiSCJO{S$76#9mn^HJC1gjT(i~*2J|fs28oNuuByP z{t3`vLb(oeq36MK+>%g;q%H(lX;T~tVYN~+8ZA@pg|1&nax2boNFdYCppP*yVrXA3 zQ0C$D9*hRBSu&84i+Iylrg3*Xh|I6h=|0+QQUXFfQ2#wo=V|%`Aj*LCULu(n^>UmP zH1Ja|!WQTj6&`%Gqj(>zq|QARVA*uGj6w;{;*MNR%l~#k8YTkMTKz?X*TlgzHp$Q! zF+inDzPr-=X{k)ZMZ!}eXiR7?NT+L>JcbLcD4&4`@jz$G?w2-21I1#H9dxTxNS}a? zDudsyZeHFYYl~DtlXa*sTV1Sql@6MFnFHrqP|Av;ynGIaSh0|f=i&opQsJe3Rx?Q$ z;A)c7c&vg9CvNu*_L>X)JiJ`8|iiiVW&r2KoG9F7NZ49hl+^HH(W${5*!23HplO7 zwKSUV^=uXenChGmy2no;8rosBxPfVh;O{RH(?LLTf=AbDc1RQr;nV%wza~tJ^G(U| zp(TFl6P#bgwT8#Pbnz-^=hcanocVC#ekS!&k%#K>lqoWOnwNE{{>XT$>;+wK zf#c(UnIKj=&;bcB)7Kxr{x}NSOisZmTm*L^mYzkH|2jO{Rta__N$}6}g1Er2X)ml2 zSpgA@_=y07yA&el-?GKZ|_y zd29X~uY0_H@Aw$0Y|&2%m%z!kmBb%}0)(lym!@j}9!es?CXxt+?W*V&xx z0`1>rg_GUWt}$xc0o~3ua9;bf0OeZ%q?vjKyy0MMGL#Zx#RVaMLa0^DTZ<-cTB~IhB3|A7~`YZ=1LjzjyTnxCDcCN z6LoaNx6qRBEJr{KbivuxjCZu^WMh=t=q!5_K6F{5z`>Kfw*oQsClGX&N z?Fu;Ls@dv0l~CWNpdF3u4iNUv_$+(&=AUb1>}vF}h2H;lcL*CqoWu{? zSgNv}&Cpd1BfI2Hc}?|g#0`ul9_j90U+X%^_S%xeD$oj~Lw=-um&5V#i+n;J}=G9~b@Ne9}Mb@}7CL>V5V>Yb6Id zW{%vZZ=sd5|N0>O&)9bH?#tJM$G1igAG~m;R%N*H+mTlCRHOP9U;#e`{`2B-A@?w4 zdGq>(?*>DQoIg4<1Suc;^(Q`(y?L-EO?kYA-$?XW4!Lg(4ZAnbUw)jv{H2A~Nu*&W zJL~)J5viAk7Y0`Ua-sKl{?FInxcSo8`xh+t&R)BoJeqjzcWxO;50Mc5_bf56e`3P! znp$}DD|^SJS1#|M#n1fycaGO57skBxX7AkPFOBTeQ@T`oH?(1LGEXhqS${6lJ8?32 z`OP87y|9q{@&|9d^yuuj|7YTI#j9Nl7P^;jzW()v7eC7^I05U>|587VE-d|Z>f$e^ zzZ%d^^?voEr{nPGrd+Xn^YR~`|Et0Kylvqludz>GUdgLpJ!yDj2nAq`L#PH9w$X z>?;+A(z}%QR0D1%y*FZuRiDPPLg+;qw0f{e&6xlnq|;`r1|b^ZJyX+;C}Y{ zOFKt66dn`Z|1$1b4g7hN_QhJqJI|fvE**wWtodJ3Hn-e9YctzE*PkS~=N6^c99iG% z34zPfcM7LYuO15bO0F;8k6!<1%1Bb3gMZt-`s(aRBVZn}896Qe?vtmXX6KLiE9|L~ zU_0ox9ln8=)8LNjjpgo*;41|^d#%-V@OlcDJbj2h+MG7;cxT>4kIsPSY{{}_9RNPG z^_sT_y$6p3?hMXpfx#kYo2l>{y%{w1>^$QC*QDcLW8{-yO0Dc>- zSb2-@ZtngM{H2BO%BC@WiqvYx=IY8jV8Lg*JNp~f&UUVT&iukJ+XW|GQThw z8pp6_Ca@bh5=`EidqMt)W97|L*9E`MmW+4G558s4<*&%Naij+QTo~%SaF85fPMHdr^xaOSy(|oQ zRmJkiAW7%^si|k4;=7McgITZw{DxRLIyM~EdE|A_G37~LQ>HQ58FXhAg9`EcwOX^o z&Jrga>G2P5m!8eKUC4sY^CWqp(D7+*~S z_29L}vuPUiLSNusS<<3J)~od4)UpRUU5ieiQkrVjVq4X0pDf>PyKj`e?yhytuQirjgvM{UQFH zp53tmzNg%N`*jRH?62ZQ+Yk?BI~8@SH2C+zYdypsd+45o{>cdi?;IK#7;e?|$=e`e z9~xw>&k(I+#ZfELvVVJ+2buqA7`w(72c+WO3d50w5wi1xRo>;i@H+Fci%$*^@%z_L zRIYw{@ZPc7<`<&inZK#tj5j}6NsSKv$Nq*p{=d%=1G&x~TfTSE_+7OLgX;HU!nSjC zcY9*@?(6&`%+LS*^;w&@RJiwc+gPZ5F+6?W^3Df`Z%CNWY#De3aikAe@mH1!+&V;a zqe1Jgm3pEz7rgOBschNX?!B;S`sQEUs-tg?7tTFzjg%gC`uupWew4v{-yPrmA<}#z zJWPSdPi(z|{VLr5Q~vnj$CNV}$BRk!`_6oD`Tn5qa3h@1Z64^cbO5{oe`Rv)k>8y2 z5%H z&QJrkodHmg*>_H{H&@=d(Tndb4U=z@%*XHUGr=7Md6(d=uU~yEJ7=MuE`Kqi^M%Wi z(fWl}@M3-=YFa+~$l9fY?B=Z}@dGaR=z=*G0p19HuqpM%u0w($4)4yktV0pCl=4I#pQstnw zfPSS)3FQ0TixQXsR_xjLVk0=w~%5O;Gt+zihj&H90 z`OMm=yVdpGIPS}$S8h$e@sf}lSGM@k$eC+h5Cq2|daJ)TIr#96@bkD$+z*EWs{VdI z6@IIpa5Ws8!R4%lwIJJlD1QT(PRJ{(I#iu-8HMF#7dn2mp&KFaHuKj*Edjby6IaG( zI*HfWqZjCmW1&M5{Dn2`VVD?<|By{yH+N&p@Ngpy*qo*x?WT1g3+vy1k(kh5>pJh6 zf10#4S`T`mWZ|bO%Zs| zYp!(j@WeUBv5v)W4SS%^o@sRo77+T(#2M-Q8y}marp4{q{{eoC`1NJ@gO5J@#LaI9 z*rQM4`#)ihm?oyvR9=f4Ii|x^6g1hs`Mqbd(=Q0oe|$HscNf0icW!kxWN%HDW(TS7)m1Dj~#0FfshgE@nSY zf#){PvvZh%(TKNT8$?e7E@*nlT&Zu>btFg~R~O&^crZ?D5r#*wj|`vavqRo-lNmH3 zNZ}$y18?N1D{|jQ+YjNDp{#CkMsKkkjId-+v-p-9P zA!F#Zjg^1Vp82zZS#arW<_Q!G%+|7lFPKx1C#;^&I$p@z_SCo$ADw%?ruTz0~6dOysZZUrz>)@J+TF%KlztNjY)1?rV&hZae?L zK3V;3Fa2ZuJqjU)rhcX#JXf1JT4w!#ngnQyJ^yCNCE{My(?3BUJM z>H9O4gW;i3wR=t;dqh#|V#de#O>5jEF6{))Ydc`hblldL*zq;wVX1R8TS@1*75mRW zK3Qw`gNH+)<%5`IWq;(w4I8>RPKLMKaPl5zMu)x7^{FyeajqXsI9G)+R;5pUTnwKV zJOkeQu!m=p?Yg6u6EEfp?vcjdEbRy4?D7ATcoUc$Dq)QXPvje9JJV zM}Htn9Kgp#t$t<@t2hErLL%|ho>`ZI<3VxK{MTQ*@$K}fl zZ_?d2y0ruG_tH1b1AqGdcJn>$a`B~3^G)u^A7dIluY|`cgS`uVW%2U+=HCo`7kW^? zZ2w|^bfSdZtv?t$ockZ*FTS`i@%=}jj2l{HCiFdB`Q)DRoA842^~zBZ&Q0M=qo< zn^Ni6UlbzF2|h~O^UHy6%W&JXwvS@qn05)7LVKsUtcO#HNPs77cTlM7=%n`OCzjIL zL+>Fy%sMV5Y^Q+0###G7*+Rm5pvH3NvXJSWt(yJ&aH8WZ+;4fQhg9Zf?Rc+=7FTMM z&{dVYd93@<;<7ub{^ZsM&@p?Htl^E^G&^5OcAty5`|-ZEGwuEtC7)XkRs|Y-`CU0dW}EIOrM=?Pvj;0&T4fqb(fBO@b=Yg8(F;S9>+Cy@Y5S*}sQc43@z1;^ zzgzp&)1&?OIm1G|o#+b@H@4|HOaI`u+&f(!o-sWU4D>+AzOjpRU&0e|vt8afb7TDw z9hbSjF5oZ!Rn=27wsG=mo7&qQ>RxYD4=yR@v9h1|S+i;VXOG~`)R7-}jvr5U!HNBl zK(}f;A59wx$63!tdwYL-#;p>td42$RVsz!mG3BIIv8CipjEWcUw07-NnZ)?l0?&m1 zWOh2JSi=GPLCaruJG;4NvpV0oV!LEKy0=GM4i|=-^Xk99pwV*B|(|MB*)SqNHPwG%&_E^YjYqdj)>5%~b6$J{Ue4wH#{jsQol z&tLwAp>H~73i_sU_4F9}$SDO3V%T?AGM??tX$s11KUAist{_)mE+63Nd_HloFmypi zOZ8|9y7ubGs#=z=ycbc)*4#hgPBePw#)2a->M@M{nuvflDMp zzG!MLUMUR-f+PLzSirknC@8Fo6ms<2Tvs@Ld`JDy7wt}e)D%dZlw{ksCkM^Al#3y> zFbPVAuxRWAe~MRy=6A-ub|A_=an%V&?iJ4-KjxB-HN=PO7FZb6!+IDB#MIAO@6e9* z!?=t4H6|yf31VZNKkYu%i?;xrO{Dc<=DKh4)w;!bj$P&Qa(pjKk2u>wB|BfE`%-LO z*4^8dGI#@sPHL5C&}t^o)d*a$jmQ<=ftD#?g`~&!_(KAhUb2RGr4a(Q^7PPmP>jCz9XjVvSP~THnLiQH~9}w-^r-rerL0+|P>$T*I2itU~E&e@Q z|5WS4{m-~Xll8#>nJXTx>w>@P`$_&st2x_1@uJ!~T8PGwshXZ>p6aS#Jt}y*^Do(s z|7?5y#IK5R%67y z+PM1`?wJuKRWtdfny%-O(ND}v{v(Hj^i|t;o?UMQLUqsxJ}J{< z)}MGkiuv3Amik_Gt!W`EQu@y}AiKo;>ZknZQwako=W)ya$OPK!gFO=!S+iB6C!Bi| zp4LzZ9C3SL9p4@rHRd>$zSp-&NW8_?0eHCAeCa$?E}pP1Qr+G=#f?Ma2(B-dB1MBLh?2hHH^uHvc}))Gv{ zfWL*`PuVno)ePe(i03K5qDOloaX_amq2x*`SU820+(v+^hXDOcTqk41$H@H<7XuzO zEQlcScl~-H)~bl9e(hl3(w#HzT_X(EC^O}Wwl>_Y6g?JhxhFaGH_xbOcrQ>=@qvxS z()JVcq^|b5ck@7tjDK2^u3BkNq}tH*eFxae@kmq!ORuyV260uTFx#A%-mt94t@X!K z;~EdcUH7h*stlmI#my;?R<;M~r)2Q@?58|>t<<%6_zZkTY{+%X6y6;itb>b*?#wdP zqOlM$Y%V>9Q-OMT&K|7Ul{@T*m?5jRitvgd2T6^{K4IZ>HS#7KnnM45ZmYB6>H|AdIy%V)arvZY1g*L0az2 zp>0aj&7;Nwz{<&F0JXM{Wlf z!Hn=wzg7_)5yai%+5l)s^aQ-Mr!wg_?VJ~)7QAn^#WZU<1!pZx_HLtdkHa5|Z z+?(uTT_UH)SYZ2>5KAuIpEMuBzgwH!d>P&EzB_pGqtMf&gEYRcz2W_IKUtEV-0AcR zmW$?X@Qa>Xt={5^$-wz19`w-9OEf&T?m#*4_SHN4Vd}oY zAo}#o!^ccELT^v_KE}`)@^&UZAV&-eAzrIOJ4#RPPNOf(D_}i`CPyU8ete>fKzW)i z?)f)Ea({#a0cpNE@ZruuScfJI5*yXo=)!UT-26Gf7rgzBsqMLNrg-o1T(-Y{P$*x= zyPqDcUj%1j`OdC1z##qYJMDa}+jqkU{vM}TcH|0<_aag%|Jxc9`_WNT(2jzg*ZQ{H zw%BTbP}Qjnbq+Gjc6Wm$dV^K3Sp~de=QLL!YNoE!U>v)Ay1gD9agWid>9CRJQ|7nU z4#c+5v=6vQRL=&+dQfewZCA%g=%AHxV<>Bq9eb249rAi^xJXS}3#zRMYkHk6hg5pD z7=L}pNGW0K7J`h*qg;-h@fc~JxY*t{X<6$hj6arSd&6veR)LR|*PTrjc#Bowb0dbUqm_gld>p$Iy@hgZOXlT1S zE~30dsC$PK?53~j%`!gUfb+db^P9G(SX+UY+g@v}4OlzD)&0=0{rmtX>>FDi zq$WjYLl50?YtSKffTA)(HN;msUCI=$g=+1doIOG6v0$C)le_|h4bv=TQKg1>5>{Cg zSR4uJ6yzVzfQq%fThOh6QFKEyAyQ(>&(8~{1KA{w;l+Tb-?h(>4%tUIsE8n{HpjU} zmS_o~8fy*7X27iM3yj6m=GG$?s7MKEtOE*#VJEd1JK%Y^Qkx$pL3}&Y<0RVnus0AE zLaO2wP}sg@2a8FJZm)eU$g zw@zb;^q9TS=46{z2XQ5(&^DykClnma?pTczsNL+UIX-g}?AuX|$U$t-F_vx5&q4uy z-upP#DFs?CU(;k3+_I&NlCuoPJLPqr?m`e%SGAUCshSxxEZZ!fN2`*-b?>sa9a%+V z7}u;K#j4kW>RQv{G?Eo~rPYzWq+Ik0gx1Vi89=}#eHVv(O%PD^4z{PSHX*@Q5BQ>6 z1qmRBBw8l$?m2IvSVpuOyxT=_2SMHL3|qsSEaKXOQV{F*Q^^CH@C`MJJ8;N>Q? zT|oot9?81foD<o zv;z=IYM4_a@}K+bFR)LwU6*rNJg49x|NrsI2EJaX7ATzcQG92dX3@v|m# z<;svLj#R(ZirKlt(Qp4j`7-wUf+z5A%mk!-W8%EpIH}qNr3gMC8q9XMK_{_mRk1nB1nMCr$cHG4V`64uj~v~ecQCz%x#rNR0{g6M@a!x1MKj;L zUxBp|2SmCemHd%Ho0VuiN@?B0KJdO}0K1~MWOCfCcf2)b(u5Wc*d}n?8sy$APqo_? z_dac>DnMq@za)t_7=GC6R0E9QGo|GAew13H z3?hXsaJ_Wj)P!Qts%PFvTHCQMd&V*ENhMiaySc(v$sW-$NknXbo8v%!cxu94(^X2v zRXQ0YM|vUA>?b!#3so+fNl`?V-?}M~=S;S;Cd(G2d7b8BQ3oTg39+GVZL@_yvbbs? zu?~4ysUnz@FfXc>;|;UwDi*RyYKm5S`2fNpJT6oBCi3 zyM?AHKf3L>9YAQ0W5pUYR{;&Y0|AU9S(Yu+)UyHB;jX zLY1aV8ppi_k;aPu2mytUN>a=@!mwP&ALiD+dd|Mr~7Cea_5u|N9?=1 zoo8aXO@8e63xaeU<5W(AUPY%2r8r0}V*pMrwPAj(mhtYyF7}(7*22Sm&tQkIEDy~F zJ#^tdooUQ;KHDxHQq2#NkY^nV`CN42O*{B$!5f6e9Fg%gykjhfFHb{Nl$yjubW4j|w;+FLV&=$`$}{6zwDK z&Kl*ca2f^iq2rLLI!+3eF{%IWcSoFiQ`JEhaj=NJk-cY<(Xy!Uyz1nfX3{CL9MfxA z<{yS2AD7XEnh}p{O zpsm4IXeixNe5inl&4}8=n{b;8iim4T-)B&r$4mkS)H2jY@Jx8G7<2OcbFhV_2}G`; zV>VZ~*myeunv0v{;Dp(dgw0M(mVfZ%rQf4QrBB8_-bB=(P`6{6@{KyA7_QXSdC+Z6Ko*5Aej1A`0Ub*S<*@ z_S@0i>K;`mCc{ciHe!N8aGq3rRv7CEgu`n=8tNt*eY@FfR1PG2Y*r1YH7677g1lQa zlP*`s3&yIIOP(mk<8BY_vsfyqOXB;+O=uhMw@gi~>gdu|62Lf=q}{d}Dr&T?Ut_ht z3~A1|Ws(=%RixXXU8tqXTY|Mc?yx<3x(`;>c`IJQtzj?>KiaWW4TeR{ApiPALg)^3 zD>AI!tMWw4v`WVNnAT|l>`24p%C$*k7!=2i542Xf-GW5|)uYMP4o!*}I{0PwO$lBu z@{D6&Z0}ph>D@BEUviqPh`Gt}^|jub%TUjc^(ZB7V>Qa>j}6IGw5J3_mhFp}JxYbE zPA;3%BgxMxv^Rn%u=c0>r09(D%oT1N$Xr+MS{8Uup8jZ}--XQMDp8;%HgFg>6P zOuet@DI4liZFzGV$MB;e3b6Y*L>WfTHWIZNUF?E60kpXR1+Zdt^J%4%pTKNKQD(Le ztXNwcWI9qsP;HSa0bvOe-3fFLA+ggo(d+248z^-=(_QULCf9hg8EA;!5)tgFL8Zom zoBQn}{Wi$hE~M;#j3`dTCTQNfG+9!WOvND)3)mrWwjvTGCal${LwBd$JSvfSd@E;G zIOwpSDCXH@hTv^i}zRsf@+JJ|@t-YB$a@wIu+kbMAI$2H)=w?mei_s_^V%9C~M%>Y1(4 z8QrBPy^f*+&ynSxvRk2}shG^9tTa>+YMIlOY)T32-fU7=Eo^qJ+Utou38G!S<8HF7 zx!GM)7jUHM&61Pv>Qt|%gi#&$M=1_7Mbf9dTKVCv8oIb?kp_ZZjW@wkHTQTv*|hYG zMJOsYF-rx}yiZ2HNR{)xd93LRO6wWJH8!9c;C87TLmpHso5yyL0`i-zf43YAG1-sWNY|9 zo7DuPO`FMRbpxeD&1NE75$@2*rH%WuA=8c$qI4AiHIzn}SMThn%AT^(Vk3T>wSb`U zk_I_;%{go?_yE2Vh4LnO)QUSJ9mlBKRxb0h%a~x$R*XZ8p=3bq6^;V6Y@6+dF$)Td zxPbIEqH8j7M4N6jO-iHeX5{-P5Q_q{`6j4=`zWd@lqKj~;t99x5v^p+B2N>*eT56y zl}ZgBeGtsCVM?pIjP9Lm5}lYt~oA7oyI2oA6K zyZe;Q{Yz_NOlTqX>;TrW3g`}Q%yNC=4w^H?1PVqSp~KO~6j=|#v^jdSQR+og6~zIo zcs06dZkqj3sA38w*nvS4uG~$#amUeSfSECCfH3pAy4kLlZgDnAF z3l4D`WXEAeAKx} z9TTQ$raK#P8g3qHksY0ZQ%W~~8>m3l-TA*9Ag>aeUfK#x<(D4uatOFDy#s3X^rY7! z+t{6+-UI4YvTZc6HfiR`P&U&h*1;zeY-YWTS4sl$L7&L8Z5XAqerw-x(%hz9Q(jCr zwP5pM40bF_uiG*2{pJeLEV(fcjolNBJC^9uDhPEU27RDNgss$>Cjb2~mY9 zIiUG^mI^0#+XHI5U`e{m#B{A2>_&qyg=XLLifET;feK;ublj4cd^Ybl2&Ie1Zw{Us zN7~a?ByaE0UV^R{x&GBncQ@c*a6A6McN=0|0Ls=&WXDa}N~oGiZB`nRG z9ZbnseET)hqx)-3jHY4aD)Ll0iFeUDmK)7mW*n`g?N~#F(7>`tPvi9w%G8Tv+PUp} zo08b<>+SvBL|k(8PAsDb;glN48leq@5s+8khs0Ks8_2lITzaxASyA(Y%mXemE;x4d zl1)8Z&vW;v<@eQ$O5JkLZxw2q_Yj)xY>!*EnN{mfz~Yg&gxZi3aiA@*>b4)GAfvB; z1J2ML5cTol(?-n0T*agAdI<5Z7(v9-{%!FR;Vf7c1NlL9LB*9OdnyxfHgBXGaou?4 zM8yiC76)=+8)fi;I>2$(s?fCp+i6B+TComfU_2`xvE^n%azM3;hQ_x(WJ%daWEltD z^z+8(%-XF%A{mo~kTR=6Wziv6f(9d+VM#NGC*9ewf)a2OLqfJnUT`W#7ttRda8hjW ztb;emHlyWG7X@ksldA65Eg;f{XNUj<0i8}?R?12#>=roFq=RDgg0ycK%pp(>2crWA z<^fR>yscfnL*aERBM6cG%D$YT^Umc&jsit{98>*!Tnbgn9HZ~VydDj?G}@s{>vWCUPDKCM;eVejieok0GfI$+}owuFlZJeFFevAMwTbq8Fj+B)$RAEJdjb=_=nP! z`Orpw1p8!vpi?CYW29_q*>!WO?Q^Jw8YR_UuxF_B{1f#8uWNLYZP5vIBR*(-&O*WYOU682tWpK~7_Y8}|mR|W^}(}e4v%sjQP9A{4l$BYD< znZd*_kFxWh-Zg5N;Zzq83te~gNWKp4?QY)JQdHx%Z}Eeb5=mzTYgPbuB%+-vIjw-1 z3EL0-MvSVy?Q}EI)*Y)lZqItXRpY`>hZv*n=~%tS?rYKdW9$Uj9(%5H)nDwI7~DCX zO~)kDXtBzRod^0}$#s}&b|F~g6HugQY3{m0N7D)`a=4))D>A))b%)z$UrXo9XV5ZX zE7K{`4=MmZly;D?V?EM?P{?fU`d?_OeW?Z&OH|*5dL*01hI~h7aZhcx8tZV8oedIBiRcz(0Sq#UuPFYMh%rz&8?!jvo(5+pR~B)`&@-mEEY&}3*n?Qq9Y zKq^s=_W73SdGAER*0Q;LOvRjyci~2tnRGn#`gDpk=6D4-)sYytxR*DTD{}^r4HF7r z7Qb@XIdt>sS2@r2k_G1x+8Y|!w{BR15ZisM&EnlYOhW^bl-eL*($}}w5n+jE`=^@# zjOu_jZLjOFxlMsqK0G2-WK}T+B?EK$PQ>6q0{>Q7_xn_n3I)vjEi|R89r6ic2=B|Z z00EqqJtP^^^7K_B9HzV?n9O6Xm=h*|UY(_mQ1ThDpR78K{a_$B$Tr=N zW}MW4RuOF`bM*D|ikW&$SwAf8O-r`Ec@n@PkS(Dh6ZWdIUl2#4PyJRjw>=Vbd}VWK z#)`VSYQKaFF;~mh7IF_ZdY@`?rYrlDbCc(_-o|^Cn{VwL%)f>W_mHjEU*=Phd*nGj zq3k?Ki0en1lQ)J(DYIm!n^s+Epl9GjbN~b_&(4TJ%Ua#bGHa9G(9jISvDVn*<x2hQT2z8SJJA;)l)a?pq|M+nHek?H_JtjPfibW;SJ$X2&t6vaiNv6!=( zpA0H1J|pu^;?dEq_r0+p9G#A_ef96OW`fg=SSfX**B}!oRQ;G*=jM>DBGbg{PJ0hp z&Q%?*(mIe(g7q!elInjxr%k)JI=$tZ6qBujE9NXkGds+QWZGa*u^o%G>7+)hOU{_4%Au$od(UL*wN(2E0$B?H((5M>KF)Jh$aLle+u}_ zZSG!kRp-v!=3C`zvh()+K2ncUiIIV2&ELzaB!oYZgqoI%sGCpiHSg-%xl*mePd2+x z10c76l>NAJF!YFJgRh?m-GH;$yImc-XIfG1!-xqb!L}MDsYA;<{xJ#amc^A4)+`HV zD~Pzws-drxURM4HD4p|vc9 ziHHLj@oXJS1frwjCQG-#;v&h2kSw=mM!*Dj!|qXI&1TODN&-HzK}h=&HEm6G8S_nU zm>id;4~apO$1pqK+T#7ajYLzaGj2vO7rBxWn|7$GT=jFB(qXR4#C4xhG*&!z@8^7J zMP@r&Z5J?Ey121oIf}a)V!PA;HaG&mKjeka_GXw zahuWD4QmoX-jM_o{lxYA2ZPAT@DX*a+#-ypb9bV1eBgvc1Zqsbu+9%u5xOMy5@o*N z%T-{IYxtozGlu{VLH3@w+VTy>V<2(*bUeF?>fHkjGOhbR276`1n>nc1#BvH3_O-pB zt%mgv*0YTa=oi~4pHy{6_>EQMS|<}WL8z6I@|HIjZ2^(HD1yaT3k{F8 zN0P~e00)@4R#I)7S28Bl(6iUNbliQ@sYYzjn@4D{7jsTlPY$bIu^i-DMc{Dz=>$Nn zmJVS2@oFEzGlr)CAU>Wj=pPDbLryeBoM<Wu*vdq%YrDY3srceX5TqI^LFOA2vI9&RtfnZ1&R>l<&Cds)c0C zius+|fK+op{#dcyYgnwzJqOfME4;-Sj*3BY+dD37Z=CNL=kB>Mb+n2>@VP#34$YcT zH1w{8VsVew@>i!d@i>wvXr+xv`>VR!sr93%sVU1~nRN(aXJ%JvwqSG~Qtj?4@xZEi za>a0Exl=I5XCAslbHjky%W-3`W+pP6*=Q`IO&@WKKIR2lLN|M$vv<9Ayy{?L25eq!NIW^xN(TllQs^kZt_KOF>?(?gfPX0|RwG5ISC z3t#wVXni3A{d98hFF)UD{ZXR*|AIB~#(z3HZlt1~TCfBclmB&Y=uczj^f5UqUFCXpy4zS?=o6-CEmH+U%Y+e5edU-aV8SYs8z%*vtiN@W# zF3s|zLB#l)Frnm}H&!K;neANHhzyMtX^gC=NZQzy=DSttc|WVKQ$nEsbRte*z&cka zO<1|4Y4F=GhMtYPT~Zsmf%a&4aa*os#0|9@z(baU$xk_^{WrU9u+h?8BYdETM4exD z?If9s;-z&kU(NBL5memju^B-)J6+v0kS#95T@JY}mX++1VM+zyy_5|H&sZ&1(ftrI z4lm-CGi~ta(VaoF4X8McgR<1%7n?g=8#xH1VtIBRJe}dAqJDj|3^~W9h6gRtFw_7M z*~Zz)t-Zxsh#YS?j(C`UHQxnN4|jy1?4Ifd0kT6u_L1OS{4hg!V^PqpN_35MAft-f z|9!c(jjN%zVQO$~6!v=HhG_71d}9?`b#jjYYu$(>$6KBQpzgB|T8pN;nBKSXV?;~} z9`Qk?9PJ+N*a6{87KN9b5x75;1;fj&y|(kDUoq*?W({|62eemGj{0tP9Lnpe5r8J% z*J6uD?3sa`o_&Y|?FJxKG{eE-`X8~QNV?kZqZx7=O7@>|TkZ!*hkhm;>ORJ75d zeR{QR0lcBETofLHETp6)pUyIU21k&TUG*W8TnkGB9=Wuk&tPK%Mk~;pEFu?V`hrWC zgdO!dWU}5=a;ix-RU0w~jv03J)QrVg16q4Jt}#3pgDa>>rI4tvwI?HXa73B!iEDEE zUSl2`+X)>QJ7=hsp7+}s_rBKJ#jOzsyt+5nCZT-Vp^11oZZYGABVV|$tS^xa87HLi z49w_X@elUvS#!r#F)6BM2rKDyZl#2mpa}>F7Iv>~x%b_jM(eU!1o^Oh1i>N&c{pv~ z7{Hrc;G~fZBNug(%z!HG;kpm$>-%;#&!6`r5R1_|6f`cPwD687I)#K=8B(k6rb;xj zUBX$4RMb0lIN0(u`%0+Udyq8Fxb4;l$6_VklCbg{I^C)B1#lmn(su+YPzseOfsVl8 zIcNO9-;UXwu0*M9NraeQxnELBPR-~GkZzA4e=C!F<5j|zY`fH&yzIfv>^-iTFlC#) z2oSFK*=>K@7L_bC{0<9>L0U3O0D7si>Qv67(Giez%FPvp zn~p$^+nOr{{883qR%@;Vxr>8w6H)MI88dIy<}uRRh@Tk0gjZPSyDkNqjK}x??hlVJ zjH?7gk`$}$%Q)wV85lKc@Meo1zW{e*?Y%pSgC8OKZ?(o>j2bY(g#MwJyEh8fDq!^x zy+Ts|O5n6Jwhywk&2qpX27W-m5u8Hh7_LKkHFw~!*E5;EE&QYw=Zv%+d%&poEQ^?G zMQ|%`*PvMy$pE2ji8U-q62KOZ6KFLMtKUhsBocqdA`u7i+Sr5}cVPt`G?p~)$*f67 z1~A)q2O-HD|IcodV@9@6&B8xKpQnzF{4>BLw0W1cT6*b(n<=R>6s^+ zxgLmWATR)TDyVU#nEYTmlLC#duK~Eq-Gs~CPK<61Ml~@jiSi(V7yTkoc_q6F*nQ#Bj>tVetQo}cJ(@#SrbQgX{&wm5O{ci z^E;fuvk)g|>WaqNHD^`Z1WY>}e_#N#a#799F(fuL>2%|Fntj+Elgeh^?J}kJaLIm= z$hnn^X~*wre{#U+5NDJ`OLj4^b!x*Asm z7Zlk$0>3Ul9&S9TfNv3x;i#LjR4rVkr-rt@6yP;t`b zL#v^|#5*{ek=%P_KgxKGSb&z{F||cM27CHev~)+u(j(aDffDw0nl0DZbvyK+o7WuC zo?r6$Y>teuLh@ZT;S}CA({7%uY7Z|9r?e5tV<&|d7CPJEO zW@Q?Xf}&b!Utra46g)`7a4@%*~WLzI;Wn6NMo?M)5eKbzNAiT|zB`E`)gx zm_lq?Amy~%Lb!W64aBX2V)*Xpxq>j|YLyDOpMzudOiMG{6Cfl8!acJcF{0qDD}7u} zwWoK$;slD!@q|4?U;+vtlu))q4Vj9K@J!_)Wd)+k?5SHP zd(|a2FPQw@9ULsMs5n`d?cLU{-`u-Vhs+?UgS)*bt3}mTF>eS>D3vtkF$^*f>WtBH z9U^e6Z)4$Iv>$N){}jFFmn3O=-51_Rr1!qEyy-ISdwNWd*;$8OtbrjMA;C$apu;1Q z_&`aVA;rTZQs5BdT{c>kW;ykuX%%(Y0Su@*x;$<0*gS#8OQCVcAWCx_ue=m z#KqE2S=No5Y7-|@^&lB!_ZUdevVrbp`*8ZW2@k44DVm8rU6`e83oo)5jMZIL+lZf5 z7tO0yXeF3*5J%l|-~*J9?!ON4`9pAW98vb_9#T?9qWIuwTC{S0J@c~;mW1fjNX!1N zS!axmXg3o}r@QR%P&{DOehB#DFkm|NlnW%1ZmMS8AVTqiun*I|stptgIB6ywG9Mx) z8;H%OyUMWNn;)Q~d+-~P^=mV#*hpg;%&HwmWKh7QI%kJr!P?xvD$$hu%KT^v44f##=lzb6ko!K^zpgnh?CUODpX(akJ%@xhK(XxTYK^KSZ+q z>aeE|5(&R7wWEB{hUZD_fV)CcDMoemhK4sw0Y%7j_7Qq@%62C8!LWaswe+KNs(Va_ zp|O-!BMPLB{e99fDn9TCV50)C%N)DIfuQH~f$LQjnnX=BH<}Ag0?JAQPw!K}N-wEQFIcwb6*&35{=K#m_kZtrJR9~Ln9W3oZP+#=v)$h7iHR+^`D z7mM+=(q3Es;%K>NT^u=$Y+L->^n{Degb%`u)F@2FtsnjcZt3Fu-zS?;? zEIWSh9^MTBkvKrWlcTFbdzSmKr|pR$wfxN%5gE7usNhuK)C6&3_XSRs|Vu(KD zFZI4!;M!?C?B1elT~%6v9<$T?m?AT-(o&%1`?g!){Cqp^52J6LV=ZbGVji;|asLIq zKK|Kazpap}a2&~-Iw4@-$m@xOjf&Fe5mh%WU|2lV)$*j5n6!#Qu?K_2BE9%NHmnx|7z?OOBkyilJLQ zV7hYTJar?8*>LCH44GgQva=e@bUmv|755kO2RQ+;rvsuk7tx3P%9?_VcAR8=`BK)| zVXLQtI9m!Vk;UjPXx_=;#q#qXGS$qpZt0~vVmJ=Lr7)53H;p|g#D5JSTXC=y9!xLR z3^}&;zG&4%!rKXT9);UeQeVNBv}j=Qh+zd@N8BxIPbuSANW&sAdBdMbAN_*kcm8hP zV69@2oyyQ!rK6%)BWe(|)StT8`^SgFloz;=$h4W4BO1ZOC$t16zrWXg8VF8JASUHg z+N|h}qF`0IHqpcV&26J`({gB{jKEhNXlGTpw%O`19?LR zO_)dh-h&W!G6!SA%8IFQkH!lvbj#=yC13zHv=NGYQ1i<95_K2?UTKtzoP7|2K_AN2 zc!-J9)GSRQA>bE^FYw>z9zHFFdP?Y5Cd06sr%VH+!*2{;?8{u#Jx@Vmr|%~m=sk`e zse(D%zBlfdeBb(C>r+wxg%&bFdfF#V=Wa@gw+u}29Fz`5>$sajy0G zw?0pua*q&+s?D-O5F0706E*HUuhMCZ{WjnLAJ$P(E_hepL@ zk|ye)V?8*5y5rC+5wacr#z%nhZMQnr8L_^#bni;&#bevCRAM+CVv>fT{yI{YNtAhn1!;vIC2#7>uStjF#U)(2;tFv6MoL9QJRzk66`Mo_)+Vz(sbp~ z#IV$Sile*W(KO|aVPJmXmzf@qF<7NDbb?ZZEus@yqDj*(ForT7v{=%h9Cra^v~15e zwElS5XR#!b&2nUxt;>9vVM-W&MhOuq&5;)Q&whXB{0E)yk+;YF z3O^Xi-@+g|F!+tRRr%-5!!~lvKl`o!)RiD0h0azJ9F}3x-Ex1y*>5UI*ofXm(RYfo z$M#G8_Aqv}n9J-vpMJ(oFx>m+&<_x>fJp{FG*2d*Wh0?B#X#HeW;L_oeGwneD8PGq zP<^XzpCsi`pz`Bf?!su}i%1|@@Xh4Ek;uWLe`%J@iV}Ob(+n-KhxeO* z3)GfxEd84!o!=N@FWz?X!p%r~0$us2#2ihTaBs4IqcJ1(?R!?BKI@zh(d3~`{MFLv zjY+vU6F%xsq8?g#EMpjQzyME-mb;q{N)zEb1n~3NT%4@+`EnG@??+O5x16fi5VCPt z+?YZiCA`Ozjk4e*mq6^$LENCwkw~DA?LK&cZtk?GVWsn zD8bH)#tLu00TNU^JUub(D4B->6Fc0K&LR~>A5HnU3gso37fEH`o#2g>I)3e_WAEmQ zRUbAB*?2J%A8S%h4W=<#=okDNz>4Ho}4z;oUY$U>P=J9GE`&Hx1-Ls)z8w>zCC zcm7epc}n){eG}SKjRNQ*@Tt-1Qsfi4o*Zyu=ez?~?VL~J4O_MjzVW4jAolgJLNAN6 z#`_)9puA~PC*c0J%-Zkqp`g|Yy}xznGYr=NmK!ZTU;>JL2eGwho-?*IWbQGMIa2q+ zFO$?wEJGv zbJTHN(4$bmGOIm_tqh^OTV`0%!)!4I1>%51?@Lr~9J3rtgpgh^EL`Zad{@z`njxb5 zv_bcXfkzSJV~QP(b5Bm|PsO5|LYRap46Q|IcFYTSK(v-{Tjlof05I!djm5ZrvFA*Y z$!II2+v(}zZHB^|55nQ=2pwHEr#{VfO^8 zDc4wTI)24%pG}gwClF$g)h&FIQjkIUBuzrdQ_P$OL91xC5x_!yTQ#)93$8iQi*k($ zd2kVo=rb3-r1;DWK9bZ}uqB3z9aC_PTy|u!m%?GW^uDVOCxOlLi7Af|Mm=(rJJm^vxrE7w!khD$UQgCMox zcjs0y!|B+>qGlRCV~hHLH{k?{0;5`EOoa)XWlQd=e_~zWOO=QligfRv1MU}^^Q=&0 z?Q#;#c6*x?gjFoRcHs@*)_ly&Gx=vjI2{Q)pg!>S$uu)Nu}gg$F?PEHr-4m*1=ERs zns!DsdWT8s)ZmImM563W4fPD~6aue`071GLNHk&M*_a5;N(e`fKdCD{#c|*f@!Y24 z7^Hb;<|NqnM??Cdr7v7yS+1+34#fE>F-4MbqDQ)~s&7U=gr3g$p9(s~|JY4;zN`AW z?_+zpQ^#(J!dW0kJpZ3&-T+Va08eY@_!V|tM>0D>B`-9x!Q4_qZ2;a%r7{q zycX--Ye$TasH5#e*J#KAbMJYkvCZFZW2A2iIVHf~>(a;D{Y7ga28HI8u3}#Hf8kB@ zzJwxJl%8FSjNc<7E^)Rs9y{m*qlr%o{Y)Z1m}g2bA3FZI&lWp+ILZ0}4nrJrA+!(LdIA4-1j002V9vY{~oI{a9qW@Pa6AhvUX zym~faf?xV?M@eo6|5^b`(lh3-MY#7JEAyVzR)rTPAGNdIUM=N5z{gY8^i%KB%i^ae z+ZFU5mewP*Ibra(W+RuefK1O##*eylWO^5fa`VEVnrUol9|cPAjP{BD?0FEOLbLAR z+=SbKzxgye=ep0Yz5duZHDjZ3?Djd(RN#lm{ekrBu&aLc)kb4oibpW&_No@}H|&+b z#+|maw__1oxaP*F54JuC%Z>W8BamU+h;7`3Q-MRggq+nLX>WKS9~Icv`rRBMetq#e zF3C$WJ{Rw7`Uo96opR2R(Jx-l8j-}(lva*Rs7bGR=vABjKqnkA$DJ0TD0;NYKwdtZlVKLbB(s!pab(apRG`qPTvZaWjx1Q5VJ7<@jae1#kun;e48;8^ zd)^c~1IA-) zjS+K>vQytXPgL2zJfC~=Q8+4`KFY=y%8@fOJqcvUVb+`UAOr8M!oZF481yY-$MI$+ za;u6yK-N%?p5ym*x0bN9=nf$qm{x84AKHO|8?9tQZDP6=`HQpbME1E5ih|~MCE!c` zM>4-|j8jGV*r}b%!~R)7)cb(|qdLIAt!zR#IUvbHHAejx7p*yW&?u;Fj64k?DBWO6 zA#%5SDiFnrQ556C{Ya{r>heqj&Sx~%n&7dM3ic}cn4j964^%VbDFsJfS4-AN4L-`G z;$F0ro>zn1Tm=#P&Tf3TJ*Mt^Eay&IuH}_4P%BT2JXh^cEjBI8e1ih9`7#y=>(ZRu znUdpiwwV`)<;`6TtgH@MTEtpQ)cX!m-%s`_q8s`A7oE_uI@CT|dgg7Mg0R}1_Hfr2 z3uyFVsLUjBu)I$Zp#>;%_HBRcpR{ga8K2#-zM_Gt_^M=&9Fu#6z%p3UcP)7Yaa$o zN(xp=0aHQK8FO}8dsIFA5F;Zl`J(S3FY4DQr*609p+CF~kCx7GnaPGT!|J=};5^n} znT>+dqK-?Rof}h(|XK3eb-Ar%BlO3q$F;g6$Q+No%hyweb z;&AJL$G`k=myfwIC2(jL)K{}As6{)w7+I+iU_adWF zU1v^+FHrIS3bX0qCcERw1R;dNJK^g|dL7IpiBR!X5*o`=KwmkfW9nqpz$#1E3AC;w zgY36vSf1HNk_p?91FOP58x&JorCJ>HEJ(k&aI)-}p;Sal1Y@{h$EGYsDVv^Y-Zo*; zXr8_4%l+EB{!}Ayy`_kI7kwkN%W_)%ZkBTM4Fo0&kiA3>cRwM~uX6@636q)!uFoNf zRco+gO0I*Y$yp7yk018e`6omB79b_?a;!@7^I_pQNRP)zY~YKNhDt4^qLkUsm97Z> z0iPK+nKsu2^7^^E7rOnd=V7Ev%r_*AHl|KHAWCyl7&}g9Rl9r1K8$-i?JzTE)@k!` z4)ji@E}W|j8uC?rl(fd!RDCU4Ve@sryDKR{!#VR&81|!*+x9dqrL%+*r_r%QiucGN z^9ry}-V#$CTq;dR?aqlaAqp7m>6z6+_`~pb;tR{gL4@bCHq*0m*xz#XS%l|3`}LoJUeTb1`TN3j9Wfg9J81uOasW#^ znai4OO&T^Lz7uQ%NKsrt#ax|iy7h3<1Yf*k?>>)Wa+i%;ryk=5=zJtWuvVbqhZh|_ z`gDEzA`e14+v@ygF?xbUrlulVlo|Czd(_)|3LX2U#KKBx9OSrE4S0_66Nhr&s19W8p(`18%c;oZ~Ix;6c%bF0bg`oS+6 zg~)6jA9?aKUu(6di{Vf>e8IRHw)>5Cc(B3XiR9#$?6VIgc^>e%K+;9*MT==Z4Rt|-#$CYO|`_Ga*$@>fY9LKWGprwC%fZf zD;)a$VbmnTJqq>W6ny0jeEu=P%#xWXHkE3ijIg;Mfq=q(Z0Rb%gxJkw$a`Xl&Sbj~ zAyTF^gBoPl_H7?Lif-MpggWiqO893NdQu?m+GEQC#hU6=$`vQ5C0g2;8owA-kNd;% zE9SQHj7uSrBY;v%8l)P58-dqvICtY6NEO+=xaDE*3XHnZkr^K2h7+w`V7owkj$%RvR@P!B2{y6D*mbVd!FD6qg3wy|>^ z+P;N>Y(?nY@kJ|=WK$-+H#x z;p2k~wZr4_-CQCz9A`d!SKmJQw3mC8{8y_dXy067dFh!yKj*jH0LHcp{*`Uq!$lN( zha?_7a?d*7L(s+mR1L%=Vyr!PGf%t|W7F;i;#)UbUGHAtwsm^hj&|ksK08g@-6HrN z)!6o#C3X?oi2MSgUs^JSN6O9rh}e1WC9|s?EI+Oul!o0s2gh)25o79^`5;WCmElsM7W>PS+4%Xn5@-#WxCb9T zMCQ>lc-EsxFE`Wo`i%-pw&`s8l*0*KBPrH>}TMoaM0v01(|Z&tb~r8YPgzk)CZx?P=1uL_jcF8sCm~=4B>o$hF^g0oo>#)lV*vLi3(m8C#xZ!F3W%lgN z;Xxw}=Fkb2+DFRTC-FWPEYD?{k&)w#@?A!>&!@w&-~hA(to(2$YsL@G(_nQYy5(s< zSjLo3GYlqU3oL}B+&4XVbcLov_2;I1-bXkQnQ^xbb}w=11SCGPopxaD^_NCX1BVk& zyDzZmts~E$w~xC!20LBs&rYh(Ol8mc+EamTLgPwhK49vpbKPKTQ`;>n8jF?(%xExa zKa?C0kcoix1f8EI;iwM6z_53QZ5*f0Citv$v6R_7f%H8M9kOcUR4N>a01Em&p_NvNJrVpn1fZ2 z!NL4zowRS4V|n4U*B7|Wv=pS7dZx2F!j1{brFtlSMuu@6nT}0k!-|L4qqw5QhEW zBU>*JmP8+4Y8H1>_P8IUu@93#p!RyA>_)u+$VH?297JwH1%c^EAuka^1)-;yj#WTU zTS}dXH9o7a7+eE@z77kQ?UKiyH9%eN{gp3YpRj7zIxgX@zowD**KpPvVM-vYD?x z8u18lo%6wXZclYKGE6rSN>u#`xdCpXworvOhZsS-gA#1EHVcW#h=tR7txq3#wMvyH|QymJR~az9Aeffq-+ z-Y<|$9K6xD&gW*eMQ0O=gl*Toe6hm6-`D%Jd>ZRSR{cY;`51vh1+<|??Nm+GDj47(u}-9m>VnbbR+mrCLh z2-TqR&ti%m_X0e8jX9dUZ64y-(8@j5uFGi^y^Lbr%>chonsH3_B1)%_3o0Y<9IOBXT3@2f?i_7aEtwu zVn!Xkv*skZ?y-Dhx=S-Tj38VjZhq%~ho9z~XZp@lB-m1-pIZ;Y`f95*`C1SD-bU2M zf$KQ_*|qAms6USXJYCn6_VE0o$jF!S_##v=u9-Mg*0kkT1k1V7cD+%BKTB{+0b{04 zX=^;w>S^}1dPQj8P20);(hr`G<-VRpGbGaX?}+V!hRrw}s(E4pApKSr&TIP+QI5Eh z7a>1J{}5rl5d|`GL~ye3W>P$8;&gN>+x*3p6z_Xztcav;7h;*e$;rp6v&?#@147g? z-VY*=p~S3}DO)KPy>E~Uf18NmexrAssmZpPUi$WIa(Wy9bbAmRLWA7svz0H_#^V$F z-68M^^y%IaZ2S07!5Bsr2{XUZ1U;#94J`&|3ck z@r&WlF1#Aq%4lDI{B)N7_mAJ0dH0{LUya`@&(vDpruomG1^-#8@u2^!PyYPb@BU8p zr+VZGioW&TG_id3Yb)=+eRxR~-@mT^`v0@{8}v`U`aius?hSAM=HDMR{(2n%<=_7K z{iE8!tM9D-C^`Ms{K2TgbrOqS$@%7k>f4nK`hjcDeztJw!<%0k&;Iz)zvQ1yzr1<3 zJN0jV|F5T}R{w?i>vkrue%ifYKbPqbesp~WW=;YZ+dtgo-mPut5SZUXlXlaNx)(-N zU`dOJ+WV0|H2X71VED7)Z|<~@Zp`~A6fVX3S|8g&_#*nsCvS${7K7ICX1<91z4Kw%X5LL| zn!C;q{>fHh$6X#?p;{N7ffFv!Q^o$-k=62|*8gS(wQq80q0Pm;d>p&&L7#45NHJ5m z#wHvem!2h!chqiHyXRX2P1t715qS=2?Dv8czAOy+13SMv!Ol>$b!VK8MF$DIZzDPay*JE&FYkOoXGiAtdZ)5RW47D#mqz8m`RZz@i%#@APk2$8bQ&2YvtcPR=)7U+Kj(?`}g6`P@n12)aISn za+|-WBi8kw`)ySGucHrAZ~y7rhqfCGz5VeoE?~La*>4>rw%RH% z>iMD2uQ3mhw-3K~_JwPgJsvrV{4?&Y5&e9IV?yZubQ_3t``pYQ^WEzu0n~Ie&XivV zfw7Y2N^LKm3C4pQ+3xyf=Xg>W%_re=;B}*f)u&aNkD-LfrRfwpH}+-ITS#)|ivj{f z9~wq2KQ(Vhmo1t4Q49@eXR3HURH(EaWzFcKYt4}p7~Ktmgw0s3Apv3X81=OuAX=L2 zTgPA%EE#s<=N9_ZXvWm8L=E4VhOZU$hrYE7w7O}x6*#>>^p@G{42VqxM$x&{#_sxi zY~3Ko{ZS!3(V`HUY-umK`BsY{d6_69RXP^WhPd7c#MI7*;Bjn&f$Vu-4)c7fsceWv zd>A-%90UuWi&}VcQT5-?RsIBI*MlnXUtdEW#fbvs&R9uj;oRD49YqDX9YvUya& z14pnt!nTKpy(6u^K#VOojQKbUb`$h2$dLlBkqKsnR#ykLhdE(!#M7__{M_+rxd#O@ zBRBxJke#o?pwX2-P))LEe1>t_s3j}7rE~(6y&x$5T=?RoHc6n}67`^b>cS>9?V{TO zcdX%fV@00D3eHxk3#QFkGA(nT+BXUzC8z~zd;f$RJsedN%c|El8Lnd2b=p+zLBI9H ziFLmZx^9Mma@P;JCaL$nXbaZm1oEK$(TE!Ly-v2#UGF8hSR|fpw*bcPrAT5HM0G{S zap;Z63(z%e0?S|AKs!q(_Tg_o8Hgp7g|kY1uU}ZXNXqpYB3CU}Zf+`(N?Py=oKzP)79&1WJiKid2)dy*gcG zk@aY&*9u6JxYI1QXrWBg66lvXvuMg9UApgH$-}Ho6TZm-28xjYzB6c!blu1}4V2QUV)%?Z zt2z2;x*hugrU2EBcMBhECbRW+dAq|{egre5m62!T|9dfP80|ZzraXW zRtkd!c+JoUhjyC^hkjght%|@Rzx?IAe(|``00*xDU?p{>7js0wCah{WO^8cTuwiuu z;nVBwO&B>$G%WOh|FRo3=MmLKI-k&H4UJq|aanG7ymgxfqXNG%wK&I(yYJw^To|NZ znIM-=_bR(jAAXI9jiD6;A*Yi-!8UfMhr?j%SHZ4id`zN?I%1c29Pc1onY+i=B@oW? z#l{?O;=@fXs#s8tn*6_S2fq85prW zZ^dF^U>OcIpC>8B=@Yj?@VGg=1dbOW-gPMeDy4>Tb25p;0OF@s2&|UX&u9gNVe@g@ z11H(%2yC>Jw!;MAv<00{t%h`rxNO+KMraJ;_$VXi4LsQswX`Jd7lSdxhWXWEO*p9fcEA#+RpTI=`&nrs0^=W zMnA=+p1wNo(yv187vG)91ARR`NWL6Te#`HEc2T`2(yx0DBZIRD`{-00cMWrPfhS#C zgp%ij-6RDxH6Im1iPPhbK-spj^+3LOoAgy>f~bk%pMhg~x0!MbZkT7564N~Y)^)i5 z%>54Xhh*oEBeqdJxcTRZiH)ht)UU8J-v$`z*x}~~TBn0UwS%KlShyeTQr~<1kALtq zGV@*G^>_bnp)oib|MKIr?;g_M>Cy3zJ=j;asK~3q|Ldq4Exr6;`{qIZ&HB$w?mhh1 zclCk%l4zzPUsxoby>E3h&%wg*l`-{&%HBI)8Sk}!2*0*=>16Uj)HJ`+CMs8y%;D8W zp!3R)o&ann-M;bt*q1(c@!_4b$Y-nmpQ&Vi{db5EAZzZ=M&D|!-~bgrzD#q2NkbXjqRF|9{nncK zj@Q<^K=D0eLrZ5}Bz)c(*mIGI6?Iiw)gdL^4#zWYv&D|6m?S}y1ZHQbGo^390WHct z?;LuIdz4&z`Wr*{mR>)F2ljH!TzkypCm^4=ZPq(*M;K);ZmaD$sRw1}0UGX)W9NPX zzQJ*8W#ab2=~f;ZtwnbhReoH5DKDE(cDc0))AL#TMqu>#`~@L~^^K4k+8iuK3Ic|+J<0R=S+k(eTYTG}Hs z&;s~wQU?_gw-NxVK|Y4k=s?Fm8i$9F4lT$Q{41)XAPIXle^gntqvl8t3WCe^*0_E7 zmT`3KpuQ3HQ8IZuT-_As$6j55`@)4sIcf5paR}El@nIl*hnIK1Q5&@&_(_bRgNYk^ zNhmlKY2&ndIIBrAEDfjW8BgxKaJe0og!PWF`+TS)k8@9S=O!9!0OeXu%^^(?jcAs8*6?wh|aH{{u&6gt0hYP0oAAU3cyGI{vyq(4V z;@<<-;qvU;VX{$6BHu5K)*G1}=s9$M=KsxoOZvv?|4_51|L13vb${g_-Rnkzum521 z+6S-wLIr?vnx;aIeQ z8gv)Z?8zARM`iUaX6^?D^O3nMryvh}tp^_s#Uy{T2RyQw+OWwj#$rKti5YU&b>j86k* zhDe;*p&t#WZs;1<3O2S%)JoNw!_TLzXp8|l>aNkgY?p&8{bwjTwtCv>AIV6tr0f-E zM-zBS{D`U?#aEOtEaM`_K2pwJ0nC?DJ_1ceFz^Eyk3UuQE05k_sZ_Dv6X1yx-4(|g z8GrDr-ktr!cIuN{ltidw%T7Pm6uzVO#t*gcAG>vrk^kt;H_CkHx-rN@SAW{nDIIRl zI)12j)`WWCFaTeZLNhBDpwovmSTM)I-`{9dj(F_UPoa6F3nAV-s+?F*sc%gEIR(?~ z?WEKcX_yUX<0&iQ;*-4acupEwDmhPjV0?3GCuKxf)vicm)42)4hFoZ(m`| zuJE)S{Yi2rrtS8@pm1fJOtWJonTs6Jlb_W>8qL?O3Foo_4uZNMzgtt%e>K^ZrPmPc z3gLyc0(@yWI_zNT!i2fq>-|K_^4>~S*jQhW31p=d5-G8eD6aGZ*LbCK5s7*9{YC%P zW@S8O2YxARcdOo>*;%|>?JrH`9nlmjpDg)zO)gcoX^Ju z^}VKjM9{St`$4|9Jih$j9mwGdi-l)yb~L=6a+LFfNB5h;g{W1Z z3I5wwvt_bBY5ii%(hs(o82$0I}!He@pTtEP6UzN0WLUquHjB7gfI8m-A-cF?tn*b9aLq2s!d#3Aol z4dH?5GX*D9#F`H(qlq&yO7K94Bhe8RnbeVJq0h?GP;P~bw2oZU96)$y0N%gKmdsyB zmTrZ+;f z1K|Z&tA&C-s%HBl5~YRg2yVenpDiGRNA2J4(0ZS>hdWFsX`*g4v%WL&p^QC1smXAX z_U}uuDi*D{-DR9S{%{l=#>4}xn+$}{9^>_}O7np!%A-07=4wh8=|U)WooqS?$lf^= zcNaJ4a*-5fE?*A{3Vz(+pLM}rOKZ$HEE-!HO<8ppZ_^4aOW=kBcJVSHC3p?|9)zpY zSFM%~v2QNNP zj!jz;ug9ZPFArUa-V1g<$HSEgBz*8Sj(Rv-29R`XY(@una{{GHjQ-Eyk?BeL0HV+Bt3Nz@8 zOE6jn^rcAseId?)Q7BI+!O5f3Dq3`ZUHNgaZ|uhCRGjl@N}>rH6$wz zZ`I;7gmY3ri9gp1sPN0#fQa2XX}MDwk2vWI<{XXq93zh1;zCamf4*$wyhxT*ojZ@9 zQP2!bz}1rywa8?yI~eF64!}wZS@8BZnJz|Q@s8Jxk0wa99ZOr8P!0Gd>piw)U04a- zPn6^eK6bHhwj1m?NvbXSMZZZ>5*96Qb1|&MQgr-=+oNZDZK6w_${_&KBAmy?CR_-1 zW8L0fsM%TrH^p#)EcO4vCz7B09s;D+piSUoBX}5}wQJOs-wW%_`qd0Ng(@i4K|`o) z4L3W(0TaZ@kU7z|oIjqeQ>R0Ua5uH0|!tuAB(*!054-1SNy%JCW z4zgQ5k@ul4NMWG5aj{op1{5bnc1?e_Y_anchob3$&nB~~D`v@#rZE(x9Hw^K#5EHl znzY?(xSyF$1G%d&*CSOs+KDYhZOaCQHRw%%d~u^f7~ux3kmnF9NWS+4xPcr!#^s4? z`q`Kv1yDaKNF*QChO|2mx1eNU6vg%Wput=$@G=g^6lq~En0CV9y_ElfB~M+l8KPXXmZ1XF_^$6M%0$PFlg07v&cwaE%HyrruXDH zRuZr#IqYY&$@*w~8b|shSjA@NgU(M&k&h-k4n>@xtiF!M_t|F1^#yfyPOB%(Qg`FM zNS(ci*P{j>^hF59{d*+RFhB;bu1{eDzKTrUfnWlQ|Gd62CEg3Cg^+`# z$dhimtuK-7@6>hHYs<_T^S`uyX_M@qWmlY4%)Bx_zeEA4-p=T# zEjo#fcT@6(F+OFvgD*>#h%WAQ4hPzu7J@4`c7u@nBUQ}Db1H-$I-m#WuH}ODZ3e$e zJS(Sot6%@m`(Q@(>2c@t|1=Ir`R!q%$c!19E>=dAS&9;iKe_eVuj~UYtK4AQ)x&?-iVMI8Zm*9;X0z!kyyA=o3#*H13g() zy0cbPMxN;fvUM{QJUWetD$!jvKkgBaUwv}Jc69=fS&8_{=gRv(ZdH~wF86=JPqeV_ zDJQ*3Gi~ZIkplEdkVebrh#@!pNbc790vB%*zz^B~`Y&Y9-*Nq?EaPx!^p1V_l9{iQcx zv{MSz32UJT73>7Sb9%C z|1d2(r+eNYJE8w(yiswbltXKl>V;3@XHk%*Y_{oiAuur`)8s^>IV>p%_7Loize@;Q z?{IHHsb-l;N>UHv&r-G6Yhp}RNNx$!_yQ4_tCEaR$yKI2lT5`;uZM+#Z zt>)JCcxwOw(~}LJsSW+eRpp`$tUH-pXE2@V8o8rohqAap=oaSd=RH?qO=&hbb{G$% z_$L96+aGk>zP#ovTpaxpeTD&Z7E2Y?jIbGux!Q;xC8p{x*TDwdN3~(!mjK0kJL6G1 zP>}QwzJ5F(&OhNhkxvoQR`;mlX;rb61d#u)Gx3s?go$k*ngo4|bN z-&U!#cB(&OP~7P9RPR&%GZp{1KMIZ>UWj{4$LMOi`02Z0aC%8o32JGlTL_-`D(LnL zoOa-`l;o9{_JxWaL;Dh2L$>P-0GYtU_aQ1fra?ZS#7*yvn%ofES4R1%@F+e5Sh9YX z*tXnHMaGFb!A$_`fSJ!K;k}27eMNyPUiKLhii4086p?f;#oT|Gk*Zq9( zAI`x!mW1d|p6luiX(8aD9q)|eo# z4wbcP3jA1KOqT)Lra0zXX%j|`gNk>E#vd#u$!j_pfV=?fR>ciOl;NJHxojLX` z`Hy?qQTatu^NZKN^xx+{`2Q}=N{8U~|NJkhp`ZFrUb4B)>59mgQkQo0fAt^#=ARYE zUl9JB`NBs(H(a_zXkhN)cXU(gAA8ttsC>yE|JMKe5TBo)e}|!7%+AkGWan(fOW*C+ z<|B0SNAvT){!jZ8-||XN#T%F2(rbQDf&Un`+D?CaakrED==%R%Ss2~<=arqmS@_Q7 zOHj*c}o4v7i^vL#R%O(1alMx(FwX(kZq|$H3 zQw?ER(PdkoJM4RSf%Sau;j$WOsL#5(?$4+|jFTw@e@G{*>WNBSsUOLYCRE946I(fN z*@!hwJt6_vl38M}bmB;?aPRH?g#Dd*#7;DD!sI&wLq%&;Ls4m;LFnWL5gSN{rfBpC z3F4b55Ba3dLN14&?yQhVp`PKhx=scI@(Ix`i4JdpNgpk0U7`*YURV+@xNMMTPlA|~ z$0#-WoJ7|lu>@Id2vIflNM4WVO;A7M$CW~=CAV@&UdOidB#?M0sbu}A9|=rg{(iHo zcVH+2IR298KChuvMVS0a8xsSenL- zBnaODFkEF2fm?=Q3~`x-j3(>ar17UvBtZz4G}W!R3@!&S&2Mi98Vn*QcnfpsVy#cNg6*-bg z!q)X3qewbk@6*6-sN5y77G|_{TZ5fnyx&vAfdDftD7JJK@L4Cr`(&?9^~QBsU4p}F z)K*A;f;Kuas^>bQc$cx!z|k_W*e#Sa18eod9>R$u8v3B=G(K?3rW=bsy4V9v9&`*JYeK;&0{*{=Z!h+-vm2^w zSg`_z$1y<#`E$ew58M}5v0)6XGwj*a7I>Jjvx}fgn790PBO7Fu-KTb9%AQ{l=WxLe zZiNN_GbJZfZvV4rC+=Npf*U;K_m9dLFB+q5Y)Q(wrb8(4c*Hi^tnsW+)?dk~o9r7> zc1pQw_H`9R$~KqS%YK6xKxG|F0>4v0(Ovs`VEd@qR9(Ej# zn7EY%q~REw)hLW(A1guu68nt3qp2Rl{%uL2v1jqnp_h#V;R=bbYOQ=cudywaop+|} z3~q-uZHMKUAA{f_nXKS0==>S>6D?nW4nL!-+;`iMHFm z0r_0KP1v&5bkn!{LtTF|++Hct>CK!0w$-zuSqKc|iXoJ`slSEoc^Y_Uu&Kw(I9B&5 z!CbfvKdX)RcpyxgtJCh16%HxAz9qQF?s?@oCS2*79Bp{7-Br17(cXT^7!MH7R|u$Z zzr!G7N;L+bQDm+`%B6{h+oz-n~*d1-KLk9wj&-LPbJ@l|k$c!ENcpd@_ zveEK;=R@P7R6oWugC3)9i?#=XFaz*ss&)HWN1p;Smv=U+&AvJuw=F0SWQg@K&jXV5 zd)Ex5N4J5+Ytlrj!HRFC`N*_N<2>HBu`00MP9Onll9{h`u4GQKk?$h^uDK_#v8h~J zk`gr_L_cH1@T&zXnqy1cv4R!}DU|R+)&FvH?~vJan+BY@>h_*j`bC8dl%wh+I!SlX z9hVxfn-9C3@iAUUDzFVt1W8}CWjkZ7H?phcfF9#&sH&@JH9NTgB=0&tI$Z|_&8zt@ zj~Yjgm&l5`RIB^4^lJk?r|Yn!mhSupUFZ(m4nB$N{SGHo>*OqQigtlp5I#UKicm$% zH@LOWkr|M*G~V-?S11SYZS0S~aVuv=$=PmaDKPM4TgQE)3J4atqPde#RF!o0X8wz% z)2+-QvNX=(n;FtaXisc^%5{BaG-B3uM?h>gi)s~N z)#dqWtz6DjEJ};TP_e4CoNK!!+mvWeS?w!UWd&bWj@Cw1%4%EHgA4`+%s|Y|ft3gJ zj&g^DMOm}JWxcII0C$(YDAgqha^gA|I>tsC!DqBi5yCiSd^n603lnT-JFc5CluPa` z_>01F^bVL9>Y5iD`XD25Ga;)HYXazG??a+g(#bsJqF{!KjM#2{?b+0owB*=UO-h==+(;4&OdI0U$ z%`&Qi8h6@P!3^wPqIucL$;+}A`wIGMrxt#loq^ilzCE!%U#QeJ*Uh19c)!!qHNiby zLNQ~_NG%kdyc{4zCp%}cgt3M;p9e;1m9P)1T)MtclAUU)(|*h1l1cgyF(^C1yCCrf z)UX^646J#Xycc4$=S>dA73diUa5ku+aPW^-Y+G8TF)bJYQX2U=x*=5wP~p}KGy|2^ zEDw5%>fQiaueKM|N`ri^OZOF}q#UO?w<}c{2-tOeZ)6ph<+HO6M+PLg6bg}A;E{(w zZ4cEHnYskS3t$b#@uMl*)u>Ln>;l~7m=guG%fc@kxbJX=)inL7_fy2eX0*1(nM`T zedMrr?@>re$~gy$g#dJ1S=!ix{nlnn#B()5&Q}SI-dk>0Z`0eI>{l^ry*10R;gbpf z1DpirA{9Zg1M-_PgKx6lmPP^+W^Al(Eg3w(8-aCOew#j4h8xClVVel+P`5LzM}n5{Wijg674HyA0eMHg!ild{lOw@w6`nXy@y{*BZjI z)(3Xv&qZm<$jSA-Lgk*u{zyo7%iWXgg_F#hZ$h1uA3*Js=*bA=zHR_d25W}&7#9oy z)$P;W;}x(}*g~zw;6m;ZtQUibK6|d1nWr^=Yze zJ?Q^~a!`qiCiyhtFbc47HT`&_9uU$7cEH;EWPBoAtf<-^V_F>@(2hkb6^f~~ift|O zB0wIE74)L2w!74a14S zPH^VL1@U&TL===-UUM%$*QUPSjk1SKnNJ{%E1f9o&W%LdWEWT1F)_T2dO%yb2h#mb zvf8(Yv4QvHmFJVVsi`*NIxu-MkEsJtT5mVp6_LVC-oL?;wIa|S#ti_Mob)h0bF@Q) z13|OV+)0vA!tGA-g1yOtKEDtsD+lEMTu2Fv9VQPTVu?(8N2#hfbfinCcI2Wc>oXO| zjMbSvY$M&Gk~Su4-6+gxtuSxa%+mZI=&FQ_9wiVk5m6pf%G>s*4JLEDFIA=Lq=UtG z<8HoS?YB%V_CZZl4P>bm&2_7G~Gg}biv=qCNBfh7X%(smf$=EX8iRq?9P9$$R&IoYR5cW|USQPHQd z+$UtB$F>TMK^{X>o-r5k`}W74KQB8uFxaTsuVWm0G-zCjWzl2%8OW2h7g5`h_|C8| z2L!GZ&ZY*Zl3D6iTd1n0Ybt!(r~C~ay?;Ih1Nce^MB;&w1lM{XVR;`{lfot8d7Qwe|+EcjD%voU7M!Dz+o@C~&ULspM@YBM_y4TGv%7s@f6?BE9O6L`bmABn|0+otHrz5|#23 zjTy=(qCDMZAGE44rDrXTE}@obfI>ps7^@PjTw{d-z`O-&=3RHj(J|)5)&iU(-x)3) zEqV&>jwWNq)Fxg~j1baDgKDfwGYPYj-%)%buRvTfnH8~AZ*-K=60m&%7J)V0*|R?z zjvcbXYIVbf|8&f4$Vha)YNF7idkualcT}(q0#XU@5U$E#jhEX)t#s)EucSZS_|5cAmPI`>b~AX11N!(GjH8 zfj4MQt&s$UVOxO>1<1~EYIF`IM%%NuyegO%&2PKxjdICu1QWwD>~&LU(MI;FHb$T8 zW!ZY8UT%@7x`%ozKyun@^LdhM;lpNidS(n$jt$x;)jXw@MI5a#ZO2lGbXp z$=D(`rs!%{PmECkh zt_C_nHJLjXT2CvFs=9r-82I2X_LZ#v^eArm;IadIYZa9+DpX7-B@TJ|des*W&us&jv7oN13wl#y&C71j9%3@oo)_pm5?hRL$fMk*p zJ2}3C)#Hc)ZPray+4*ha5q`){A3^IQBQ{~eVevMh7B~X;aEdV43I_G3FuGb;D2f>p^X=b1(7Oy7pu8Zxa1 z2x@wjBoYO?j)uXQ1?wPZYf2!`_YWwBsZhe)cB?03tIlG_76TIUnr}e!a275p4S7YN zQ^_CcSO6}v$rtkti`=-2E`x^kZb!7}D{hN+Lu_hthnq-Efq*!azU0ZJhVaZGPJaN6 z2{7AFc7UPKjA7QIN9V;A6N+WIJ*H=jO$XA?9`l=ckFsO|V7Q#V1jqy%z2gS7FnNmf zg1X`HK(l3@kYiI$GTE?{m=Jgql-b2BkRSCU-a;|=spt3!3O3ZhhOi5i%Kkx?KB9JN zC*e>^(WQojYTcYFD>9AxZtsG-KE@)G5T&r!uF~uQ8>F7pRm}JabAMWP_RP`ymnC-_ zPzWmb`Z0X?)%`&ce4?7+)_6|QTc@u%bf>F<7>D%hQ(N`XblPRsJ|Y^lVp%Ee4Ah)c z{S|rZaEXv#r36*v>Mf*W@$Ik@IYHdEo=nRO)n(8RK8$oW->CQtdE(Urw7t8W#UuV! zY1ZH|!07xxHuMF-l7Ifu5~PqQ#J~O>WV3pNUd1#6i@o&er-=0}4(r5{2a198>82(b z{q5qr8ma`Z&YH{6m5BRsz2>TNp!0ibI~kLv)y|=RbRgE3? z=#SLe9R;ilx9r$~2lZ-c(wH0>00(HZ_L>qMw#JaB?KLLmaP(X)ZvxslfwsMmyo0pl z#iL#$vd=VgA0EO$AmE5;AFM2eNU!FGUND!6ikN6?W!{g6HtWMFbzH|%+q~BWm<_#L z3wC=C!K-AiOUI|yvse^Jld8uwP#T1)9GbO;QO}v zfKJeon{Wvm+f!NBa4utz%kk4)RXA22j<9Ag)%DZ5zPIh2M&SLpuLgM~MXZ}FAdEuZ zS?>EYHObIJ`=Ms^IE+J$WJ*rwK#)bW?>A9z1cEENeh>=~t9XuSxPMIk%#F?*;_uw7N3#^XtnaFn2qO14$A)pV+c_9cpy zd3|lP=bmIx+5*CsS-p_c8{NbyzV{HOK4^aP)Nakkr3!vCsW$^=`i7K;s-^esIit3^ zxWhKfjR&J*rzA=0TW0AI`M%>%jQUx$WNB&ZU}GZ$GwL7_Lhp(*Ij(P244q#`XJihr zBcDRaQm-0F0`4v)Q^bi*NBKHlb&zI4lohp#grnc-XnE11a^}0*hGx|$Si{88*{xzw z;nyA%mhLh~sj5Y;l0wjol$_7Z|!hy){ zn0Qr(=NPQsRA1d|4dg(lyQhyvL_*w>BRG#Crgd6Dt{At~^-dqGc@?9HPgI%|ziJRmdfNL#FOyd!2gg}ZPZoIGHX(FTwvEyZxzEgvFI*?Jt7gSz=n)xsKePA>$eIZ{0L zn&w>?aB(O#S`Mhv3Q7fqbvDCbTiGuval2endr+fOgVR&9rd?NwcbNOD8V%_ux?PXp z#HzgJv9`Wh!5cEMS0P>HTA#O21Z@JGbKZ%iEV4?q)$cdurmkj>UoH}DP`>i2~9&HsoRIKYTN4_mB}_L6sW5ud)lcl!-;R!G;yPr zyrilqn&}>!sB}NefDwKq?#$8;3rL4)i+ssqCr=1$3-LpqdFcbCt}Opg#!qr3(H-Q) z!B$1I36uHVX?f0dlN^%ejGUpSB-=Bs9zO12M{==)o%qkxdt)f<8P{)`1-kFhwRTb~ z(ufGG1X-KLQSnl0O&;_7E_^Je>CMZ)pYEv9ff4TBEfsj(!P3$QW?n)H}-VY~Q zoW(xkv6n2}d%nQtdaqir0-Gmgv%|IXWcq@Q?p#bX7{IJbyDcU)hQw&l$z z5nXhm^4*4+x1nc(bW#>NR1Hct#q+fmAb4o{qihr4Lz0NH4D|r6OYIfxtGfp~BibR& z&EsuLF9>%wSs`>Vr3IWD48PIP!Jkw;J^cnZ~hW@#57keswq|$C|fE2r0-`Hy{4fXc|Y2I_7 zkyWF7Up%G}_;lNL)a3Njrxnl5K-;F~v(1To8Zroi15sA?t${2U>UW3Vs~;OKwQ^lduMHT!mHb)=(~iu;=KX;``s_{lrir!4468zA zxc@7}+>uNbS}^JjGCROw2Q-}kNVq9T(KjO}H0_)oY1wl+(dzUKsSYwGc!3vWG z&hb^g67Qw6fWeGz=3q}A`h*q^4ymg^obwEuX7IJvY&jRR9 z*;68!%uLrWBn%TDwU04<@S5%n4voCWWtVUEZG@WkISpt=9II3%E;IWZ&R9J}G1oVi zR<||{{l>8T&ZML}swHwoOu5CHj8O5-HLYcj$raioWr*brfmW#}-D&o_TpuG?Lswp3CyT<7+f433Y2Jx$hi@U6j%=HG zE;oi;@5}F$pwbOh2H&VPH!EE&{kXBONZHsV0*#rchRdg&IA500@^Q8)L+SyLr{6{c z3l>UV=o^>g9mI=Sw(+v+m8J}KD$RppBwVRQ1sSosCBxQr6#%UXw(pdcPIW95f3;NP z<8*`FFZU||;@eU_En-z445bFdOmF3k*hMSZFX<6=A1bO$KnT*5jcU{hu%PZqrd~== zAbnn8(ekEJmnGmXZ&|jTP_uS`nJ(E{5mn>-@U4nMo^vQ3df{%lE}V51@0s-5g;?rf z-;$O%^d1Adj70bZs37sjEWa8VYFi&dKllQ-tna6g)F-Fqi3`BLtVz15Wv5J>^D^{x!@dfWOS5IWP~1@sC`VK6lCb!QLyL>=0NJH?p;G>l`M6VM z@*tv8lNkxfKPn{L+P*0qIQ%wqpbl!3ie|58wi`KJjlO-L?P?Xp6-RU54~`oPXH)Vf zyxfIWQBJSQ&$?P5-`sm*yYEuB--`h>Q$OwOiIvTsA0y*yKxteFrwwm1GT9yjD82<& z7Q?~_DtB1ud|s!)GMOW>iWldyav!AO2e)LVy~geXX%02)>xU{;&cRrw`+MeND?74& zo%2s*_dAOwF=!H~(LsfqeDtuOD<5M}WBNl6r9~=+%a^rBbO|vASR7HwxLXNnssi7G zb(&sHJV2{P5U7FlH@jO~gM3RPr4`k-Qed5;2OKmmXu|D;x89SPfRiUmt3EE{(E?Bi z>(J9#b!foOu!0hdNcBzdlglv^LY9cAp3Kn#qV7So3n`k8?cAqCs;*5r99oZ>)A`F0 z5kw3-o1D2TH{{g{t`P>A{}t3S-XIpp+&G~J>|S^~*UBVES>+)k?02fUmqG= zm5-H@B1MjnykK;2Vz)~=i+X|@uOY>y=6 zr~*g%0&9bE_URmuhjbNM?S_rXNyqp=zLd9%!F7#L#30u_Tr%KxNgv?M>|~qJ7>aP7 zQ4FjD+lXkFwh< z`lwc4WOba|7~s?=TI_Kf3h-An+=Hb8Zk6>+O;oS1uTmjJjb^Nz1iCo|fmQ+iBVy|S zXE;V6hA!Y(vxm4IqiKk1Dw&=mQvz)(hh11hLnK_!lM0doxyLAE)mE?F(o4;DO{l!p2kdPf9_k2M z0hLz=m~K|`G^GcM|f?+z_SE0b+;s9zo$wJGZ zPPapgDYf8%guVs^tTZX@fGDP}VmKoM=C6F(OtfMQiS-mP2=N0}z1H6ttkQ^@2YslP zx2kWzGMT1|hB0qugs~#!;EpiS44Zree-FwDdAvSYL~d()bDw5fiK++{+987(e0Qt+ zmY%LEH`sbm0==1)OiB=eG(>aIXap(qih?7dUF~bNr zuEp9gUxPqbG_uob0-K|=ovq=|MX7vFVUk#66HHF)tUBXis)8A>-xM7kAx^01~ zqBpMGSViM>|HLL&rIoC-HEoSHwdJ^7<3&n+tE`MZQsOjOdHkjxVE$3*uJFKssg;uK zAZuBL(7rpW>466gS5qi`5pF!$n{27X!8+>N#|9@1ZtRc-U+S_wg7yuI0x))oqS!;p zH5qWq>_Jq|&YlzpDnm62i*?Mh0V|>ULw#TqlE=*Ta<}fVlg0Hm#B|;@qJYuT!C&st z6XOE|+H}QOYCPOmLhxo2gHv`3`ZWky1(~e-uX?JHuM2_ZCf&S0iJEk={`rdD_M^vl z8WUMPJz@UL$i2_@qc7re?a@&ppBrnezfy1PDFYqp;DbYQL=};mPJA%r`6Rrw?`Unp z&%~}7Mjq6I$4vVxitpZ?t6wA2+20>e`{1z$(9yrfkkO4c#M$!4#LOFKP4y>s4++0t zndEcQqCHGN(r*-d=#pmr`lH9|_4Xzkdx1DScbk6e{o)N7JM!tWr@B`~Q05O;d%8pq z&&)1^uAAEp-?$O9%`4k+*~p#sciryZc%=uG#!EWg$xvDJB<(E~*M4Q3s5QvY1~9i$ zCzNF3;Pb8PCdD*uHKc~_t}VhNa61j@hR&)OUY}pyI`#nCZ&UBsDc?KuY_nSUK6`rS zvt^S}RCm5CK>w%m>?6aYmsAt!eNki5oGOF&-cQubz$@j!D^GtpF?`=-jm5OKaH3LL z)ZGWv`{@U^>#{3@Ydw<=8^it7F5@M#Pdo(7mdeX%^XC`g_~Geo;VYwi?N+=}QM@*W zj8V+TvLCQpr4d7&3wKWlWzw2fM!$Y{?%HnVhL*EL({=`Vt{5>iLNViLG_NHm@NY-^ zagAHJBt#jbvJY%!%X_22?k_vXPMtU0d?LmF9PBt+0PmZlyHsUhuyXpuF->(;o#N|n ze)^NTR872+q@lf=OWO0Y?1uqb92>Kllm|0`bLpehb-{M7aj2l%%lJD69aPO6ebKPs ztSgj{$8YP*ztT8Hr*KJJ(0_DsFKIj?sx% z+zq5CvR6N@d53u9=FMt)Y-8@`3(dab z54U9GMa#71)<3MPoKKWnP&EJj!j*>_U8Fse*DV)KVb!JKj`EgDY<3m_yZNk@^6^63 zfBdV0`tFy6;(cJ8->H1(hcJIu2`xCKq0HalN zIlboGSf`+0pnuHmEvz|Se)O-Bo`=zEIOxx5ypp;hmkt7$HIQXpQZE4bM;TUp19Z+}|;oSDNmi$8)iYM7JKa%$D#wbo-R; zQSGc1X~Q@G^O%h|zbiAFUQgXBp+ zdVBiw4Q^fHVZ-_kqasH8hLEn9SAKFS_vw`WkItOXeeKbur_8tNrr?&vn(=#m9|oA1 zH~GTH`yYkxbhg{Po+>L|etFRJ#XogcR{H_F+nF1&t|OlPO|-Lm5Iy95!6UwIYh3*> z{pym+_{Z9{9sa#*5>r~5pG|$b0s2UfinZ4c8a;QhU%DplsNnis<@s`M=(@%lyA}L> z>!l0RCP-$r&^ze5^`*d_TwWG?`wCBsqrGv~rk#`*L#4VwO zvKgE89ljpap%rIgyVnodrx8%&g&DurgG3BVFJxnK3YrCi-MQ@I#QKMsb zBetbqGPBmX9hoK>F$2TZzJn=F(Y%8NzVl$Cb*bDkmG6V!v? zk;9Hfr`iVt^4#)t!sPgz+H!MKwmJRO`rzvp-|Px0{i6_@yash$5^@XC3%lZ$01%cN z{aNdwv(?CZtvO!uHdiLyMaTIj_G-}74WqyIk9@beU^Z%UzMad?>zx_5BcOVU(V2H` z@x)|NcC1z$ZMBA6(bI8YFNeBYtz`x4|I%yjQD@>Zez;5djXtT#mIuijIGaXS2_@V8{V#6n zz$GnP6Ygc_o`;_O9@Z+>#y`0pArgauffU{9l$1&dqL8WjhEczK7t$iSt!~;FtL>N) zrX>12fizHxs7Oq&4cB0UQK z3IO38b64Cw&?00R(|8G$u(Z+<3VEh$bkbVRi_~mh0m#1G(2rA1p0bok*@@9k zULpy;v#+O4m*2SAG0giUf~_`~u(Y{2PHQ2$uX@GmYy zsu@;+Ud7`#K;-4l@mg~*>E*XJ^w-%FH7>2h1 z>@=*ZlrvkaR6OP%UF{ye+3DQFG=fRXI>aF+n+l)*?byWSm7puH^|(4u1zr1#uj~bk z?$#xI!xjtgT>sypSpZg>rjIFlir&A@_-{m~!~*Z_f?Kcj{HRT640z^$?fW*kK;B_8 z_EPZ~DvFuApCisV{7!LyM)w8Rc$HiP`i|8=cU8h`#VT^ZIL@fUGlul=cKh|s{Xd!P ze_#7j&~oO#S-*cbH%h#RY0bsWSu$h)Sp&MU@JG`}E;M38;)frrRJZ=~qedavVrHU>4-@s0BSo2^pD*4>X!`M0ZQy0-apTMB=ZC4QZrQT*YV#z1o?_AKGh ztJZH#)_}yzx8MA?L?MKjM#hRipVQte*MjP7L01~)-G6TN++;_VXP-9=2%XZdx39>9 zrX}d%l%IW$+;_f}S&1SK=7XB>q+2)?NR4`~{bI*ta$_cM5Nfv$r|g|$iJhmLTiSe! zsg=?wAH89oyKa2Yxgi=1Ig>Zy z)mXF_poS_uvd!&1BMnP~pV4p-*n>8yZq0B6Q7#i zB9f~^{pW>4;ho?r=L_qMIS2va6@x?s|P6PuffdT*Cb-7J6zuS zbjQAp-5l3dK2uI#$&sf25bK{+_t%a9Mfm|6H+PPo;ywe0#~JKeRO9@}k?(uMr&+ZH zQzPA-@9lP1B0=Mz(i|mvXM$lv(cW%dpl>M4NW^@9|JO8q5IJ~_hw>!0@w)TA9KC0J zuuzOQ|Gn|Wc|7{=6AsPv=b3WBa=D2ndGu}JEOQ0f2Z3Am52T0r79I!wMKUknZI0|} zl&dNW-ByeWoaIWgOh3!tRl0pav0Y-iauay0PUUV|BloXFx}&tVD%-TUYq>M=89~1( z$%dC+e8OrhT!&`693=yGcgp#lX5jD0JO28~{S&bL)9mp?IzzQo$`tKr)uaqIX{8>u z4>k%^&z){gtlRaPGm`ry!s?HE|4r{Mly;BL0rTu%7A+oh;rubrT) z-M&dv3>$5wxMIhy-hF-)>RFK5lFP;x^)w2xGqA}kPt+Mdxbui_V4*~+PU<%NR; z28u7;l-;RA2Hi6!B=lfNrJh2&xrg?$7esFkXg~n#3`AkaOC%tj>mslc)p=~rv)Ff`+r?je<^+d42+Pf<$m`=_iU!yYmi6V z#n+2CJgaETcyG4)k)D=)%WOJqs+s#T@MT^4Y*fal{A+{dj!&-%q?K;d)J9pj zlGRz~U*fz;++S!J2~xP)DZOxN$0)me+{?+;DtaRDVNeWKqTKROZCznb@0M9(aDbU)`k_72enC?mNRm>Y;n%>H>@J1oAJr zP1;=}Jr|9ro{tp0-7N&YOo`VPb_5dfp*^mrypk5*Tcn$*6J+en_gBkZFKw(9+iJ7 zsoC+Y#P>XqT~-9lD|p3A14Dd|wU_n@SG zHoJ=#G^?j`8aFza8V+Jlc3ub@cU(;6^wws}CzL3aa`!AGAl#i>>h(MH%mKc&R>`Cs z=4$jz+2;WcjHw2=f&~5rk1pIdsK3hekIKMP(M**;${P#wFF<0Xs zV{fGgwnLbuSx?^A>)3v*&Nsf5qyAgcU7V7wlw3rh_fK?mRmY206<_(vje$g^b8t>Q z{@@?s^m)&-673%s&=yn%{qASBKk61Aqq}@A{p3MW_1njWqJ{1wftIdp6{_qFUiPys z`>*dzHRF@FKM14Qz8r9kDIwL1-#?XEzI7)YeS~bNmz>{CkKX`RW{VJfMKgvTs@)zb zY~6SyzU}fN0fu>)EUV>BrRFYa6&4cO2ilo6kAX*)o{{-ZE!7y~ZH1HS)T-Li<9xMp z{Ed%#uaPV3W0fe4neuFz@BajwwVIEogJk{Vr3fz9ORhjt%;Q5_gKCC5%S76jWtMkS z%gnyqPgrc4R)VU3FXq1`J2U}Mh{84FVs~RCu7{$*X0z}4Gef0YJV@v9zPT3j0meh?bInGhPhoRYA;kt&{Q?wdSc&58siqdcU$EiIBPRiGI%-O5;OV+PWwTPiX>g_A8FaDKG zX&D*D!ZzmqV~F8@hs*`%99Ne@6UKhdD*a;D_J+i$Y*y{GTH0Kg$Yj(1ufX*UrYUEm(MS5bz|gwX^ZD?uo`qJ#gsNMb{#nzJEG%vVE<1T3cQJ zpBwidriRkCy=*9Pdk}lP9SC=?Q@8hZ@5ABfd%c7HbF{lwd1Gr*7G#M#1 zYO22cmpb3XrG#wk&razsT)*PVlxJ#=<@OBdklceh!Vmx5l597Nk5tvs>_`8oD5C$& z5d#)fw>;kyse!ZptNgMXkD(526CL;zP#sTf-fwT|ODZw-O;bi~3!z3?3^6LHA-OG9U&rjH(5->qN$`w>t7kRIoDkp^aV*mldS zZhw%c>6ku0Toi!mkFuGQB^-Rc&?XCG<(ZIjZ5C_mn2+wNHX zjp411zP@YqGd@K1iYn>YC`ejEBR~8bPD|8!NlCHYg_0i2t)lRpa1zh=C-8hS1k{K* z`LnTV911!jTaqSS3=6KlMm|2|PH($EW2`xcYo%FT4VyXkt9HVj|$wt|)^jvoz_kuB!2ER1eD3qPuj~D0AB*vO zpV)@tG5Dd+Su91a8 zjV%P*N7Ow^0P1=&zV={A&_Hyrj2>*#*@qBarjW=B!@2fmUFEbzeXLBuhBkX1J>XmN z&havv=+W>@ghKTSno={x>?Pas?k8Pxw+-NXRwM~aUj@2_GA0rN$NL}VXHDw`m_fgoz zl}p#3GIrujG<;ib>l7@PgTSBr^&WTp2d6cJMawnVr_axNY{h|4ZR|VC!qLRfQJBcw z&I18+aL-$V>hw>vtj!&JJIdV2mOlL}VVy5IJ7eZ&ax54YKXfb`qGKE%)69K0mMIt# z@c_6&Y}3ggAkwgd?BGuQ`&GnGsu;+aDrM}?-&)>84p7y{dA8c%_=&S-fOaLo^H{F-gsAJUR+&{~YhP-%CyCoanhDrQAxmgE2=*OqxP(3-M(`C?KBF}U; zs!PPT!4$Xns2mYXBDcd&HS_yO^}PDiugpQdmK{Pk5?wMIrkgb(_QS|bRIfZJe|LEbVj%86WsR;5Atm#W6D z)9v<>-WTe%ojKk5(05kSaakOOUERYj9e({r?_~Sx+qddZT8l%kD676iem$!ADm=Mw z@)Xu5*E|Wo&3dD!sg}3hu#R5pFIWG0>Ul9F@9k>G51I&fvQX}!W&gEoLKE{X9b~hb z?bzNQ^|3C}h&}Z8%N@kun?hJtZ~f2?j?#cUDn{|vWmg_{?5HoF?JSt}@L^+LFV4|- zFc;>VXt}mni{_}xV;mHW^Xw7jQUU&BWwg#JdEvxm(ifp@=rRL&Cg({2bso@AW{V{LqKm_RH_ z7xYo4=C(Ut0Hr4zIBBqf9gcku}VelMR|;iRobKT%9lk46kX<3)6P-edOW z;OZ=kc8u>BR@@t8RY#zoe>~W@KcoTSK_ZN`!wCTn2tk3|M<9utN~W29C~Z*`gb$kW zY_r-~;FkYpE~O!oW_zgOnQG1?>EP*1y%s?&2jLLpzq{DiA8cu0K3W8BEU9BJUQcmh zkrg%UxTJNpHz^m8Q{sp5A-8}cOtxV^^?3jlHeoCDwDl}jPV(ad^faFIyC_m>X(pfU zNFhDZld^}qzWR{Uz^Gz(f;D7Tq@AP-}z*0Ymh?vBIvj9TJ# zpN92v>AQdGqOOl3wTuts*?*LEcASoO#u}8ybHAN^B&SRXiuB_f1wF1|J@o5|U#xc$ zSGq4wy~Z($RACGpn#Pf;rz9h}MtJn|g-e1%Bf3YieABL|u4Q#ETmxcpO z!e8c?!U9&GN0K=T1})*LWDluEobYd8Dn~#4un-|_?zl#~cW?IyQ-xcN)Mp3;K4Uq& z#1RCQ1s=!3e4%{DT~^#gH({)ThggbsbBoU>dXkId^gnNQUdA$o-BkESnEAq?-$abD zf_9pinq4fmqj@D?%dmpS%)>KO=?`ROdOEq01i^9sJ;AvAF`7w5*QPQf?!Sa#ZSF-V z@1q#2dhX!Oz8#>*^ipR58O|JtCI~=yuO)2t#^VT9WNzr#1!kpAXbUZ^bE&$H?!XI7 z((^p}Rmt_@ZS-}7z_<=r;v4#WLGK9C3hnoQS$`t^2AO%O|KE>$W#qq-SB}BTu%~{=A{baWy!&XN0xfWTfm*e` zo%<%|9AFyvcj31WaO7{^pKDgSqaup=5RD%}ztRkG+R5>N72POP2Rzq%{nI!op>i9w zvi~RW))i#O1A3va2Gn+c#DW4#JFXb8Lk=L}tm!5q3Ag1snClv9c!_W^4rN8+?C@6h zD?X-va`89R)|-{cFIpA5+`yW2Yy*(KqPH&W~nYMBZE_+Nod>F zK>rmRcAlMa8iIN0cn^h4>CbF8e8DW(eOP<{$BA@w8!g!W_Z0IbNeKRn?Jgp=`;T}0 zDcT^o#D?hia)f-GfVYcP&bQ}{DLC^-Zy%7d`yksp@#JVRbyEIIkM}0EJ4)$os}VYO z)4fKLn*PTItE0I^X$?P}JW{2XSsC-(Sz~4AjeJN2yzd8#XM9z{5g*Ii*6717-_ues zdqVzr;)^m*kG^|n&jt6WX4zhcgbmxR-IjR#o_moT`kE$`z@I=&diPRf>Gka)vE*!s zTxnQy!qAo0$Nv?8f?Jg~e;r0Z(DGQIjb}a<%|C;udzqu}up&amrX6T++ccs{o!<8q zb})Tia*F|V1JU2vJ;dvd31cfU-Jt}3J5LsF5}?-?-4PE^3D(ml(ud=gQVX~A zQ3fG-dNK*9qaoB~FY4-771e$#LAWIgql_}C)cv0;L<#F;k|J}#Afn`KWxa(3dP9Y&6Z&Ak? zbbH9HhafyJR@~V@pgJBk zbU43Yf?bbZ%qlG)S{PrChwq#*h3h6FhF^UJIDP}4FOlDIhaeS?iy*qNf)7L}EJ+tkU z)kxhfd}>)#iZ)nZS2n7he{{nG(0WeG2*jWD=_k8t&c<}H;GQ=J2HuDh!3k>K}*7_1v-%5KzN7$4;jK`iz*b=WcstReA zHgcN|7GfVHM4{Op$FgMGJ#rpG#t;~UEDqY4A(6-M1N=in zwqssIeSZu(=q8XQiS4v2dm+CpA)}+o6?|c%6N6k2(t=M2*u_T05A#Ke&3h6{VY}n` z_n=(U9f+`hNmOL>kNvn*;zWuB7(k4Xxd$r z;c&yp(*qH%0WOijgte1%he-nn5H{8g-y?U6;D1>6LBut0Azro_u%qPSAz9d97%CQ< z2F*7>^xIAvp|lt-V2eqIZ%Q+QR(2!NO>e#>r|6g@_jx0dn(ipM8PF31awsYDJj{Nl z+aA_!mk?ymAqEb8Io5_Hz)TAfzt8EL7Z4go)&JvgQD88aIwWWnbVd_~2c3c?I)^s8 z$4YAhUHf7b!uhlHQ^vEm?uOLy#?s#x0csa^us(*vCSHfnXSq~_eS?D_Y$5FJi_-A9R^EsY2 zMINSoLbev_)tBw_Z&aV{p;(ccfx602Oxt+b)OOe@Ln85_&$4BN&%ejSEnGU-1yM#E zTVa&4a9c2-Han2gfrVX3kanO)F*wi zPs}*2zfW50V7nU$AJ8fi*N*l_i+|!~cH48Z@;{T+E8G_AkW(k^+EYMEWsE0~w0&5= zA-J5M;V|s3EcFXOZj~{R#7AZd_c4nJMW(>!)~>OJyxx7IVE*dLgMDB5o5Zf8gD}eN z*Xv`|T+mYT@CeOM6QNxY|W8Lxn@=wDJwCtH1{zE7z$|8{K2 zUyezJ>D7a30QR01rOwQxLW{epnFw zO5vAK*CJcMk5Vi@{=9(2>$vYRoMK@Ou2*y2EO^Q#KZzy8LxOZk7XFzU$(GI8YkV3< zh~%3I6ErkgvLfK*dKH1dy$4NYf|d=su)DB46#^YROJgT5L2-S!9K2$@3>Y3Dg`DxU z*NcwW4QK(7F%{AkY#TPGgcRL{M>(Wg6$QpFgwFjqD@PCgCutg-0?D!|9r4y1K3}CwNM!d6A!P(Fnl@MBwU`kk0G)fR z&OgN_I(wV7m&(ip7Sbm9`baSdRTKr*f9i$?Wg)$s0*X4S#U*I>V6Ar^(zYIDSs0dy zBfzsPRGkbDH;$DhR4PX`81Cm*)F;*sUacUUkTN!C3={XQ;=d({o93*#L}i|Uwwc9vDEmsUbm_x@U4 zgnVHlwvgB`x?n9GQnJFt^#?nSRX2e)I{j{fA7{<91LC3x!i3UJsQC*($QLSQb0l@*R$2rw>ZP;208{=|&gKdJq(EkNn}rf6$y+lY4ytGuf6F=Udos zF><*3Q44sMX)DpheWs-u#n!9z!t(dTA`HR4V9@J6=IB`n^~Qx8bFW-M@W1aK!0c)k zrQ<6+6i_syh-ian5q-e72%E(IU4X2l!m?UP3VeK5*+y(=BB@A@|6yy{?K+! znCFFp{X0pNvn~d~MjUSP_aG53yARp5Q2-tiNZw3UNliB@c5LRo?Q|cV0>$~+vui10 zp;sc*CWug8%ps0dSS!JDB~P=|JuouLS8>&IAsM$B!VA5-88`K@5xK9x=Rg-iK>@m` zA<0-N<(K))3Mv~{QN&c<{v#V?c!aim-yR9UJ!K5Hy3pzlRMM=kha0|PJ;;{igiN4P zqeu9HdbXJic|OA(WWwXYHR$F(W}4WQmN{^R*`6ED5?lf5uM0S)g^fIf0a23kbM%|o zp6vwv9~ZGIcR43=su%dRPOAXgzj|ti>0*YIS(S)VJq|5nQ%QkN=;#Juk#td`bVatB z)T9ivz}v9g^rbP_!P(YfQsTQ8@w1?%Y9gv|LnRN9{G((9J|`x0l2X`qU#~yKXrtmt zTUP0V4Vc67oRT&U^ihP6c%vFPFt&|DaoGto(Ao0DP3kUK5Us zvTp=mH3ILo=87@j@jNk`Ffa1igWMa6AkZ`A_mUzj9<6-2nP||aTkW?sH_cAW6fLN; z>(@Jlnq$$*Ut#Mk`{cD0Y-*Oyn0h1iEJ+Hqn%}(lFPOnUDL-jQ8$h30?5N0s;C?Uh z=08EdtR#Q9GSxbG!JUJJBJQ6r;|)ue(rdTb%(r7lhiQ`%^5S3i`=&02?c;f}jWB#P zdpv@*(K4@L&=K3W`@ptS9X$H?=Y|VN&Z2+ZG&*t-lTB9(*~?MMT$5YVo@R}iZzT+Q zrv6#<9!LCt;R>vb^8S3b-G?M?in)t&TU=dek{2vNJp_3jLFRd67Kk?_OE8jBia!`MiuD3c5dB_HXd zBALzl`P)G6twG!rLU4dP1P2Qx*GeSboGvIXrt}XfW1Yn+vP@u7n?!WzONT3O4{hqv zH%Nyc-0+I?cmk>qH6-IU=oYHD4PI@KTO3|z0vknu>eDom*JPjjE{f2nDzGRfN3(FY z6LpH*nSL0fFY}ys%`%Bw zUpy&v((vTeKpF2jnoH+yh8_E2sngXKq}?XC_zOZ&5@?Gzp1tJ)YJ_+2du{K-eNhNf zDg#Hvypw16`oxZf>?AI-=s0qFfQVsJbX;u3j>KniVw~UY$#W_!W2fFqWT^;S37zA1 zHpvUr3+V0q1rcdKuMo>t2Mf?txY_dOf^NE}iP*-sb#PN8kSuy5(f?M6MOd9T@N!pfKP z31M#vj%}Wj!p|G(X(Xo2A1u&6q2vcJmh?m&a>u49brj4rGHrM+;B3oOV;F*}ZsIaM zk(GC`RG4M57JUF>_u}ECsH?`U=TB~qQ*2j)E75b1EpIH4S?&D2UO{(8!j&_jrUjPx zhQP%M7Tux%QdiM-en01I<$^iuoBHi|dSBj0dy-JpQzGfxW_vt*s@1e@Bc+h%*T1;n zIv3)(o#IG{Zv}+a_#&rII$Jxq#XK$BPwHwTg*%;Dusb?3>1vktkg5(pYR|Cfx91j0 zLZ7zh;d+7~dQL+e`mL7N$;Hpi8#NFzI^*W&giwroyH@4=?6p-#>vCNmj34O7XI*43 z33NnWgEVN zrLbkC(37caD`+ibjfwvtS_>k`Js}M0ePUBXursZ_O@5asxFAD36b&4rDXCdkJ81O* zO}UNidb=W7fjx*fa!q#gZ~uxJ`qU`?|3y1y0|ffla+&kaJmYIl#Z8n~?0$bq! z1qBvo#9=UD>wWU8PaIS$( zi<834&Hl-LOU9K;{#FeK{^6h}L+0t+sar^`j)L^Rqeb2G-HeRNeJ5Inv8`hLx0QM> z?5FUMcU~o8m^Iv;`A{ZFugTXcgeS3N4t}!MTq?2;zjf#d$Y(+ETY!sjw_{F(F(WxM1MEP zY8;o+EYj`HCjCFS@#e_w$lF4j;D_t_F^J)!Xs2OF7Thc*l8@c~ z&}Wu1?hhl)-uZKktL@%XUtw3=$W?)*oqY|o^;kdOD#Jg8Jf%s|QX80J5L=L?NsuTV zU7xAIpV}o>WfeG2L?yt~pD_2*c77B^t5CqMW#y$c#$1J@9wSl25B)ai=t>tZ!1KML zs24@n(Ic==m*yhCHN=2*c|cAGiStLwuq7D4lMi<(XKi-$a3+{?;VFDuERw|~3Ey)q zNSkeB6eXF#bVArDpjJmef1=&v=gx|Q0=yzag^=D2)jpGw@G4c=#lpIwF2HU$-=e5= zs8c#+W`v0ipa|xwES_%PB`GoGxIZy$()!7;1g#!J^GG@2PjNLw39iEdBpy7Ag@@o6 zIiK262hPrT`;i1s7Ek4JSP;s_z3T=SV_n@-F>Pvlw+RIF0)fG-fGu;((-+Np*m?&5 zC3xeF*=EeMMbv>R;Q0^uhX$r-l|T%Hd@Jixb88 zwT_Z>{WJa&RA(Y|ONepU4?8tXYNvyX1d(a}lnzE@7rg}aFRf)!^{KcS0J z#;IWYf1q#b35W7w1a>v=k`2Q1%QUrn8>&gv%iML=MfawBq?oDiM6oN!BY}4D(Vo3fx58_X}_;1z*1q7wo zy)`>|2$P$O{l-IXcR=SL2p{Nl*+CZ=Wequ85tZQ_rd{J_qQoSJaTnui+>Kr~hQj;X zho=K34cz(&YO|KF< z>oH29MQ<%E+ay%_lZEhRtVI94gpG^}!l~h{9V6c|g07LH6WLh%pE4xPU!b6l8h=}6 zeD9Py(v{EcA`%xKKy2bN^Dmyaq7pBbi?#3Hjc`|!OWM-W#&ewF^X7&SHVMDX2*DnT zf*XDQc1*VZt{8OvRH(J;GR&OA!m|U6&cf!@1r+Xyzb88JP>?dBE04#q0WaG*0g^o; z2h;2kzI!sL%pE}AeWF|O$@+w|wSzqAtv*ZMs|tH_oo&UPG0*FQ3CiQ1F- zsYw)iS=PVDc12s@ z7Q&xR{FWb!doub#QL9Pwz)VJVv6pAGT~)?)_fcj4j`_dn+RgZIKPZhCtQJoPDHinh zUn3;tB-P(4I0Bnbsh5!lj)r8JKtFb>C(5~;X*)S5f;=R(u#i7J96R(RYa|-6CmN58 zjIzI({+Dy32OvG>R9G0V9NYYQ`b4Xm?uxQ(14ZUR1j)n7ZWH%3;=^zM9?qP4@>z|`DoP{oU=%I_L#wV%s>sqw~u9r14cvC7f%WhGd zS6`U~14gueA=;`&6os)OQ+K1N9KRLoD=pp6K~KjkL?-^^b#kwL4-evuOyb>-1J6+L-LRzPG)9 zHIlz1daA?$syl+7v(!Dri?hTWe+l`beDCU-h|sivnqqZ)%$@Kd`16m4a|Z#}RQ1(9 z7&X(Y4X5op1V~ryvqi)n0aV}OHQbFTI@p5}A^Q7;u;Of{PL^Z-!?_<-@jGe2qm{2F z{;CDTCwOzEXQ~p3wTP5*`u%ziA<-Pz+bhwW2Vho+%Uj!VgK(wZcy67h4OQ!U=Kfd= zNu7xigUT>DF1Hy@*ladv@msH!v1#<>tB0`|;h<8^1|K?E{^PD;8SWKsUEtHRPE}C} zkcCiLe40mr&Wjb0=vupI+)_?;w03iVpcP4C3~GGjG5T}Cy3+bPfPaE1?2#nX;eL}5 zCRTi@%mEuX+3^0#hRE0aOEjDUvB!AKNR*T%O~SBRfaQ^GqV1B64+r(O_0aW< z*#?q9n`EdN2g_Lv=?qrC)3{-dlv`vAcb78(*- zZxuDKcswT-xf{qGWQlt*S%+2`LDAB?H2s9lTWfSz1Oq@`QK`Txjp<;oJ_BqunZldobq($`-!I*$@=5qkK6lG_f zwn&`g;=o9ZvPo8TlRC5@OZrqN8DT?5iwGyK3kQT3C)96BDLHl>3C%JDnZK`Ev15JM_4(%7{HI>`Ec^TV-~a;+fJj z?*VG<{su+ej`0d=AnW%^j^bDF7fPQ{n$I=VQkh4TC-23`SFlLzgLHUE#BL&WO5{nR z$5n|sbhn@QwW0*83q=rm8Y%cm;VrnD29L=zH&bow znr;6@^EW2qU0H}`<2x4zWe6<+eFuv{fF|z`j}#Eq}vsiW}##i+7sq`M#OEK8lkLB5$`Fw80l~(T7 zVYa{1XvrSD@|kE3O=fvdoP`&#bHLBXa(DVD^h4JW(xBcK6afF=~OaXq2s<@;tCD22Rta(Uct#1$6gtuBVSVuzfUxwp}C#G z(mh>|4v9KM*lL;eC;75fe2wV~vfYHssC8h)L4V~g_F)1p;qjvfX^Y_ZaeFP;_W*I^ z9t_Tgykt`?e>1yQH8{Hg(7Lz?`&Avz;=Y>lC#+zQamb(o0KvQ2F2terb!vo$O@^oD zL1|J=7F4Nn*Nr19+Zzaex$fTw8qN}iLaC|+=WLisB+1d0r;zmvRu=wSJH<%LEpM=? z&Q=GTyP=TZH0C+hX{|*$f3ZkjB#r(eLp=w>!Tk4_r#10gqopjTabJpEP~s6JE?t#( zt!xNat%x;>vZt>d&T%voZF7{u`NxNUx^K^S9c|fMVmbqhxCSSB#u`D5c?OpT!q-Xk z{6|07ajykNSHB^#*_46*QCRSd z(LcvL%f6hl9VH4`m{H92{I^{R@b+nD&Re10lBr&c>2wfQ5#B>#B>g^n2n?G!v1A-p zgCD0gS2)8l2PT}Uq_=ww%k#0oCGsb>Rt{?1A5jya^#?@%PwOULCuH5a9}O93yw_J= zYbw0YZH7PjeY>uEFB;^v#f2nDhGu8+Ld8ypnDa@=8_=#%JlW&-I{JchcL z_(21U@c^7yOFy2D zxIV%ZF(e1@Zpt~*$5K%RMJ#CXwuo+ylOdH;sh;P?A7sjfVdE%Vl$@ca@MKpN)7}K} z)@&UELUE^PtMFOcL#)8v2VbCK^T%s*ssAF=f@*|7I0`Ezl*x}dgE54`?tAIG85|$a z?IhEYaC7LJ!WT{wHX&q8Z1Ta8E5%U{m6vV4doO}}pid@_6kcFHf)xi?CXzXvV1I&H z1V8`%d}jquXto~h6Sr*3Wz6qi#pp%2=(l8h?qH(%dCNYWzSeHbRSwF;*yf6^hyi4+gX%)$UtiQ>sA- zz?NtzLNO_u!-rp_2pQ%G$<;@!{x9!qCXtyMIfTBuO&dN~Z`03tJX^5U$b5y+FenTE z)y3|3as_d4bi&TPL}W2gE3SaQ5BMqY zBeBcNe{69H>_#$FCkucjT|+*1!pT3o?223TBlTTFAF~q@#%iEwE9T&b%9zaryZ191 zl=f?@^HKIkvdKXk>icP1E?uAAIE*+NGV~eRJ8Fcio#*7N1|Q%<8IH5D-Fz+}-xKl0cTW(y{j4hcNXRP`8Df-8ofJ4#s({kPsKqdV*CFtYbzcYoMci z>jCn`(q3HcC#5*eRN~R0QZqyqpIRVrD>WP`WY`}}OQ_IXuCqvwH&5`m=9UF(?)pgM zZRF`AjOo7ac+0bv1D)ilTmex87a_4SU#QtxopppjuL_1%a!PIJDtb1>C-A~hUJffM z)r+_^en5-Lzpmx53$Bj@R8+Wsg0M=DsvG4!jxS5nXu~zyYMD0c9RuCa);$zSlXx7k z(9=BuhOoWD1k4WLR9VvQOt%-vK5)~uXUE5DsfJOiWTJu$bUrWK`5iWIdy z8eERw>8UBp<>?gpd}0&)Aa(n9G!e^=JX7J3A5#?%18wcRBQ#W_jBa~@woi#5cq?3u zco5B3)j@xrwL;!3d^>A6Llg`9on6~78-oko#_rG^t}X7eH&S4OKh=VrsBkp>1%j%qNzDSW)!Gdp@(#@ zXB@w#cRZ-?9o5$&K?eEej{c~4YkRSk+TT*9D74`IY7-}xq2z)wi!J$BXh^2&c#q12 zf!3fvbV%e1#mkr<*H2QuS*{`q^8f5GMC%O|~oR@>RFf=CT-_6EBP(HX*HR7y+uYP+N(tl!?nR*W3_K8{yBcNSh z2rj0KkEkjHF>@3~nwM$|h{L>YeuQ6kUlk zqBsK6Ej#H9M0aZR7#@0%bhrxh`Jx8AZg&>FI-y9vN46kiP|uEoUWNu5PS+oQiQaJ& z%p~Dc#DohUQ?WXb+r(4NX85Cg7-ggo0@6xBjTe5s2a0YKK zAlH_MaPf8;Ky*S)$S0#Do^Ghg4EmfTjO`@0*uWVheQjeIABoyinRxFgltU z;7PeNY+PmU*}O}AjM`+L%DXT#3=@ymqMK{d0t{TY9rtroO*GZ{T9dC@f;aj=(b7o} zn%@lGb}s&a!Gg+X9;6%hF(V^BkR8MOei0dOcE?f(wrB9rH>W{ZGk@W>N{$uV5kMBe zU{)V7Mw#v=eC^6?te4j}jHuX<1Y4$o>^8-oGeuM|mYP{p;as6+)79TY%`pzHRvR-4 zU#96xjzc}3YD+}XJN%?x-@I2z!^8(Xe!2=0jL?J$#&!$GSS7q^9oa zC1himm~`Ea$-Z(%ZZXiH*?2X|GmrPQUJ0qhltU!yoMffLv;Qt^jRQzzbG9S_ad%gc za1^LrUK$aB$e21pkT*r5K4L-FSK6+6Qtw-vealdFn3d5@>s}k+1~Q;jz;<<7Or@jg ztox)?vl-@Q?)`W4dl~~Nwopa~)rw;kc(lg+p$Pvia`x0(c?If5AOeC4?>c5`E>q5* z7dzLDKh%Uu9nOg5yxd&S--HnM!qO!}c$f{F1p%bnvf#^ers{m1B7h}Ik6IF8W9^+T(Fb>4&^_{k zk~)K5k*4K_Oa4Z#JVPJ};l;v*FYo+CI1hRbI}qb8g^%yHmM*JTI5cZ3lupm!$^^5T z2{W>a8_($_--?T!1u1!b7r+SGP)Iq^28vV1D{m>Em!?PEr@6GlvsCGYys# z`O@A5ztfH6GiF+C*00ZAj7^05oBSK@T~_kaH~-!Dd<@b@|NM(6XNQ;0j3Fo(gG_dy zblrIzzSg((_#S`B=2+pwU%jzN%;!cU;be6!TG{F~-YNsQ5^VC0HDJWVrx03IieNkRS-jy<}-xVa0AAUE5z% zw3X?68?F~wz&l3EQ-4O##9vL2`}K=g1s5~b%`$&DOdq9Og#EBQz)PNz5ee_emS_HF zX>zCgdDkLhIM>?1SKcnE{0Fc<9hPIcVLsgSP%-egy{4Y0@l(7Ek-1c8#a#5v8c+J< z2IoLIYUau|b+{2nf?V2^#I!Ml3Iua^B`)NWvkVT8SbK5a7MUPzh4emLi$~*KSZGdF z&;rCTr3&5WbvJOt>|XEV2)OMMxKQw_Z`}(8cuz`8y{JcJ48Troc_e#LhM5$c>pwOy z94TaE)ki3p*9?$E+GaTuito#&d>A*xnND?IX%aW{aHxxqjThE#TaqCX9wBnm(+Ns& z+k>IQv%8ioF&KmioJN;4?k8#y%LTY^x!H(Sv!N2R8pfFnBwRB{KtZMCXwL>~8?1O{ z%fSLPP3rmxjjR!>K|0b*f|JvJwTl_sMy>A9nM9Q<>xMB{6{7eY*o`lit5yuDMnb1T zfnr@Q;YdclY$G5AEzI(6PKF{er}^x*gO>T+w@!axesR4Ot3nW1;WYOl zKQUNmG_Gxp-~ZP*0)o=x@^$Mi!Ws*x4CGJ9xOF`2Due*9SMTK?ou1vnp>{$Gw|w!g z+az8WHuf@xlZ?JXDx!IvoDrDlv3!d+K;dWcE*G(*CEk1Nkv{}~T28G}{ZQw(=4K6- zh)+cj%NSQ*A8ApV=lkAV>-L{|$J)Mt?7(fCMP{$`l4bT8&0C|i&j#=8$I1$H+>|Xp z%{4KP%)=rNwC7YH#Qo81s&DOf*~Upb6Z6`sncy?qeW&NACNkm$m>PbSfeOX1f@{QsTlgCz9!X?27~r;8_|B z@R-43AwQiz-PgxV1b4`$53RjFPfRR6Eblhs@aIX)Z(GzUxCl2s*_^#vxT{_#dX_8z_h#-&^&5DI+d-2Y4ay{##YOl~HjIx!fnIh_ zN>}<+0fjJVz#NepSA-wCA+pr58DbuyOXzQRG^gE#z7I&*P_@SNkSLLJABB=}jvdG| zvwuF0xN*2C%Ec=lR#&;vQ9K&NdqGtjTy8y$@&}#8SRU8NUi;LdU#DT_4p)zvE0KA` zdRx=T%q3c@0_y+fwl{QCOx;GgYlTy((4m!R%e2ICR0%$ZADehKC(g|wmT7ZgDA9>I zpd5F^kqL75TT;TY#-WI^vv7(GJ6vI6e*fH%;c(9YzX%ic#@>pHG#*>@n_eV#H`348zFskwvajyfmxj4^92ymW_j8qb3wyEpn&-o|HW{O7 z0}2Zfk_pn_xc(7mi`bE#N;3DvUf7#rkV&P>Bx>+hjg`UMH-{IQis)o4vWcIQ7imUB zZ+IKg)fyt?;*Q5~G1%>054u%ReCqBTBL?(JlBivZs>CH-c-gRDN3+ z;OGNS!8E(B?Z*J)6g7_o`tZC&a6z>~b0#V0m@AQ;Dom}+$R(`LExBa6fd9JDi&AXG z&a5;9%ggmUXl*_UCFWw8yvb55d13x8a&B6L3Wo|?n;tB$0x!hj2ut6!y!O4zpVz8= z5Dv6TV+BAxwVj76NV%}gn%(EC=jMzj^Tena200~~RcPkw3#~htJg3#QnQaz%P^Png zxZ<GBa}YLEJH{o8h}WGw;$XEL?!f##l5*R% zMJq$HpZELyo06(!$0V@Tif0<}bf)$@a&g=1H=^4g;U5*{)euv@Nj1)WQ0U(0B7Wbj z)yHacP;`~#ESa@iR0uqZ-;pYzbGJolVk&xrJBVmO=cR4EZ38kytU{>TX^ipdE!^;(U_M&2mi5A?uzZU4a8EBg?4AM>)C>_nlXHURPG+|bVFpYyTb?aRUD zj`pqhLP(0wVC}j8Lg4T5szPy?dO(OKa;z4TH~%-Le?)Ef1r;GkXv2kdo38@uFYx1h zlVuSJZ+p5UhsPC~{v1fdX^&Jgd=WZ92l_uTR{L5j52c5nq)I8BnJ4Q45hQvdtXRyU zVD~WLd{3Re9GeXZb&pZ==yGAbSixl*i}-?yy*ID%UqB~dV`}!!>i@^kTmRW{UirGU zp=vWTGj;D~CQ035*#cX#Y{_;^!O3L61DUxeiQ4zf+&d?eo6I+d zXC0I;$m|lNU^#dTWp$4Sa{FeZjLdcz5xv;k=)%9N>8pX4YHy3Pa4;@ z>o#qd&=-z$tshNeCe5MmsD5#b?qZb_lnQJl!&!b*a)NYItASQ=u76d{J#;^o;G>a& z`G^K~;w(^&?HY_M0(Daz3#6H+=+nIQTXDe_DV=|ej$mnGBnFW99n(}yLDMvuv4Iea zPAkXkSfMFUVxcl033roT2E$Y8g1Fbo!#;0F2vJJJ3={MVXMC{1r0vlyB^%PEiN3+y z=ZvREG{@P_IjxJj)@5qG$wDg`V<}==ZrL&zffy zp{T;vE8LWN|Kj5zmZLPBa#xS0;E&G~|2!6b?O)5ww^iyA5zKD*O)8q5KJamA(2mVF zmSh2&vrq7-jB3y4dYAW2$sGhZtZhAy1emTKEad<{Wm2GEIOqVS8c32;*ui)g)!*r8 zs0aE2-AeX%9q+jclZcgX?>2I96rRWujDt(!c)5wc*%Pg+b~Um1`tLNx^7xUN=0)He zbVhK}#)=nKn{unUh8lLq&Q$UBEk}F*4z{xM2#e{%z7VEFzS;(BzDOr|48y`rU3f(Y zC$PI=jdED$L4-6H4>?GF^!MJ#y4n~w83*R&1YBdP2L4R493aNAm_0YOx@vknhTvKd zH?i}7MkF4Vl0K~eKWU)qP$oZeVsN4&Pl}UPFLWFc0N$z=`t|v(-dy!5WVy@l+H>M* zf1yDww9K!{mTZl!kwu178~lLq^U!3tTHmIN&k^H$5h}zr z5v5bQ2`!+7Xi!3mp;2s!L!;oHj3TLMHPMmXQU=l-1`hjGm?BM+z6E*n5UtF@tk7%j z8SFK@VFQBinpfLX*$;y|^9Pd3TF#5Ch)^*;|NMrwChy0)U}T!_!+gALcV#sXG+JEx zj>qQ7h<2L>mbp_5*csx9EAJ0|W!UXL5p*|ZFy znOEQU47|170UyRxa+TqO#XK&|N$}jYv^dB~QoT>y`BeA88vc>?XcaR@VvYBCioN=& z*abO~7ft*g&|Ce)l2-T{fcue>y7s?r^+Y1Dxa3g2GTwKb>S;I_Wztc6CUW#Z!{%t7 zNy>3vI2fP1xnKQY1ba~w@u}!M17F@)*@H%F&VQx)`}$+GMCZ#b)qnE~?+`#~JqiG$ z>OU+06Zd_}e^ijs+qN}vH6f|~pDotcNIy=N7+SS=N2A%54BTLHjt}&5kwwIFp<9Q= z_sa@A869M1A-h$K@fCe^jXHN$ihw{T1ij{!;t%BzZB@Y)CW5`SYJ(#I` zt$K1yCsq`XK)>ei-~TGxpHP%P>0S%!V|>a|$-3bj{`ECN2)(`jcYe*(JBqz#YdAG6 zl;WcUC$Cg?k+d=s;lWXTppjic+KJ1=rVLUBkL@T?epYrV!S$i5W+!cTtfR~qL={)k zQMQJL`&*n4tVb^;0gQgFvF1cb(fD~3wD7!B9cD9w@ft2|%11X*hVv_c_Xe>8#PU)S zUC7+BznXiIyqHMH?Zt7*#+!xyB|@|yLKo&bm2CgNc)|Fc^;j%vT~7mu zI1KIDtA_1NP;L>U$S*^6v$8bcT3ZGuGOfF8#=8GCbazqv{9tPNFWZFLlPmFRB?gN^ zj*_bze=D;txHZ2W=kK)l1BSYSBs(#ehczfifz00f z5{iAa;=}RWV0Yv4(@Z?{7!Xm>>k@?X*$;}FsuQaZ20C0Y5O(rt@Dt?yiX}Kvcmu$7Yv3gz<# z&U{Z!h*on+1A7}lHv1~ck7d3ol3BYg4fPUgnm>e#l+i3hXcX;h&GGf?etoZY`# zq14dEWIDHDVo+}fPixndV=;tMmq^9bCy7DcXgE2&Uxu6>9|a=-|ICWJQ?eR>UEbjx zwZJI@WeltaWA^2u-G#CTc2}?>@zHT<-!b%U%tq#e%JQ_;eg__KSdjCnj#%I>)kc$5 zcd|>!hh+F&U*}*;vOWUKSJ^vx-$Y@6HR$c`v#!-L**Ozg!c>xr&z!FtcFh>{X&<~6 zaYrBf;>k~{+)oUdm>XW%a{x`-r3bN27)o#9c8Q8jWRKYoC23-)+!-_8kz{h@U0--A z+o-s?e#p$!de?rKH@X-WEf7*^bdX}x@&?hXO3z%CcGH;bECvcQ!FTnR=brRoIUyMjm<3HD-Z+qt%JkLC$8B=-K z>2<)7U1?+)vgjJvg{&W+UWX)Bgz-R&3o{4)gTfJk1ba??X9IX z$-@t}N9*Wi6|Tc8Z9MRwqR|1d1S zRcj@MIt}QlM(%n}mrF7@Cu~L6&scU^XrjNm z^hl^puM_(A>aOF(h5**<2`Flfo={ub-TDxA_7a8KRTIO6EXZQR!-t*^+;kuI4pIa6 zI4;6P171XH7iVA3$_^QCUd6xm!D|J?>xG>W4*FmB>fA2o-@{VYaLyz%THL#3nmp9&-|WDr6-jCv3&w zFh4sc7LJXy2=Fm;X$vzVqHMfTJUdIWSCJG zH`^a4W1Z#N@3l!~0({lif>Hj)pk7H#5yRf?(23+Y281QyA9$hJ*Aly~!U$@XL{#=CA5KSsFTDnu#N)@U6 zCVCXLXG&3Yl`PyL-tt*i_3K}Nhu7g%j6~+og~KFaxNbvdm{#=EJPpNGPEbu%ug$f= zBA>u+3I-eC7bt02;Sd(Pb5B@%H(IaN?8XWe?+kn|pk+3SjA2jFHLS-)vxbk=1i@2J zLQgp0462}>)*MJxW znHdN}I*Nif;gK| zqOoD$?D2jK&wH8$gUiuLdKv!h@@ptAs@ESa!C?eA;~PKZNzyP^uewDVbzN{B^~iKK z95OJ!PKOJa5pG>B=Kn}8M0Ud;Hnmx8MU))R6e6j)10o!hU#1lfCixWfWo%%56~{V8 z;6{v8Mu9XFO|EZhtw@zmaM2t!2_%bKvLWH!A}+Z?h8cF-=GxYD_;i?im4X=#wKk`! zg3!T-$>5ht@uOqa1(bd*`8vs3GQAh1dDtgYf*2(zvxBKD9eWwgjcKX|$^RBBeuQZM z$r2p1c&q=D-h*wH?>SB(0_nPSm3l-GV|Xr^o4PN|@71u*Rc-$w{!BFsyoOyvhoAZ@ zGz@kQviNKw)bW&6`1`r=k9wXdBv%C3bgFKTcuFK>5}<3-c!xqYTinF1W^-B8X`q21 zOV#dRqXU(-7)eH$`Kb%Y^6_hDlk$Wyy*;4OOqjQac3VSFdQ5qG`=ou-^K85U5&Zk+ zFOM~>dee(l$irUr){xuBG$C|b5xujgBGz4uU+m-;*b-bHcJ6MR?VCtbsG=NqaWFk5 zbEMVsJ=~EbWE}uoDcg;KgyFyrS1QENVn3eR z6wQhz-9j6uw7REw`mmn~Nu&#)CGZ{mup~`B^n%oT{W8nYu7;ru0)N1}l+&Vf5WFL_Q z*{25sq=NF>s$l)}G*s~%#0M0k&R@GRs$FQZ?mcGWUC%X9G0Lh{u;82J8Bc1C+RbSs zj)1{21FZ-aE!8}G$wqLO6H;|9Q=g^$RbL`nm-z|H$#AM)5ogt~iI1fJ-jL$LSe3R; z=lb&dzJWAUB;RZRiR@7itrVuPF6wH&|AA(*Ek7<>>T~uE6RzObuX=dRJA3>N^tW)) zeuzTL{113l$TwYH4%)mO@9FXaN(s=;wvUFV*{i zCh1qOSrd~NbKoj3RNwYa`R&DU5d+z8gnxW3X1X_X+LoV3yo;I{>pF?ug=@-)#SC)Y_U8Y6x{iLcxd>80 z&Ce6GA6JKOt>9qYj&4z6Hb>v>scp7YhDz;yH*_=k<{8T4T(bG(dRzYx6_;^g*DEB~ zM3krEWVoz~4rycj{{F5D33d{Bv;O>Z@ODFpn&LmpOeEV}7h~1=;4=1v`Mw>~*_QY_ zM2K`RzO_zTE%Dl)`$O`pv8X5ZLjX2>RCauuAY~#l?!qd@B%Gxzq$=KNyv=F%6hn>o zpJp&nrsmQ#1iQk^a_mnPf9^M30I221pRrnOyohllPtu;s=x)^l9yAvJav74;RNS;} zze)223*y5>{Fa}J(j|6}l+`&-h{8$YCxJnKEN_3^WM%*|iaTU2>jaqS832Pu2E6!e zUG8;qCZEMvUE=*JNhvtWPX8A zSVpFLFgz+&*?R~1LB$}o(T+aRN; za7Eyc<12OX6bklIjkF7^HYbW@t2DYtM;FpN^DVp19A?J)P_yt?49VnfHKcRI(DsgE zPT4?W_7r8}M`^CT_!XILR|2d~S?oDr^r`PL+jpd zXGd$1+vqEDN}jYks!#W#GLjFkqpZRlT7a-Or_{>4>Rm>%%22GQbz9vh3ll(eEj&iq zp?~-f2e*oHl;N46=WRj%O7Ocm4v|P@USFAWo~V!;x+lD}Q`tlrt;^Tp^IaYp_^Xuv z2PkF=#z392B*R6YNv6_I)QEUi61|6;&u@P7OqT`OZhs<~ND` zlgRdYDw~yPs<6lFCpGc|*j?-PK0gS)l%9mJ{tB-zs5$xpW2A@ZKQ))G!a{1!b72l0 zPuQc=m)ocf;SR*%3;4mk0^KX(ocyrUR$vZV05+5>k zNf2w)n5g8)|M7MhszPw~Jm-u3ybWC{kjXV|gP=|Kn=t#dgGrPqKZ-^D zAWykVan;MyLdZpYTz!$iP)S7qfU$(r*iMp}B_KvnVYoO)Rp!=-U3CD*)1-C*SW0IS z=IEV!!gpc1Z0&H+dmZ3~Xf>My4p)9l^q7+Zvyg41Rj?APukFka^?aXC$)QjvH8*<5 z)UvosOT!7q05+@EKZLfTBuqs)Hh#w=npJ~bkJu9Rl{hHnGKBGy;_NB66RmT$MHF9V zD&{BbbY1u*xe$Ly;9~1uvrTAaqgG(o8FZdF8m{YUGk|`h5nukVYM<)buT%{Uu9pMw z{Q0@by~uwx4$-jvmMYLlOvpba92AL5c#Xo4z}?<|6?B@SC@+DNfRZ}bE4fp^&r1m| zkt)eXVX;I#3eB6uUZstwuimZD0)vAOWpdfWe12oj zS<*-=reu>Xj4ku#*tU*_FdX)k>JkgL#b$-n*h*70U17)7aofF=Yz;eoL$cHEvE%#= zXS$;2?d6#uFuF$0A8Ngl@rf%TJi?z4mImvqCa_x2qDalJy}G$U*ZyM}v5poPq||6j z0!eH|UV$g%s(s?+c%uRb&zOl&*?k9yplc(&8C2*7F;38cTg=-Cmteo#cE!(iAH3gE4m$k__Ucaj}2~Q)-C#j`~L( z>$X!|5Z|{m)Te;IByOJ~3n_YJB=ncUsNGj6J@<=8@H%)?R~{S8Uo+JQ zgm2|2g)~JXP+mD%=opT7xKj?(Xs4MO?p$Aq73|i5(`QEN0CT1Y(Z{IW-x{YXWnGm!1-e^S} z&nnSj^<+{8HyZyXgVo1xd>Z>M#<#||DzXAP{QMnXZZ^^I4Z&!Hm78HfePD`nb3;4y z`s^2E64T4PkS0VFHWYTn=6*;-TQ_K~P=E(YZ-VVW*S0pM##o^&OxlSr?>Lx!^gOcv z`!akanW4?>^cFZQLb3;m7D5$WgF0JzvfD%hHY78Zx=G0Q$Or7)AvCO^`%H)sAmX8% zco-|wjHZ%vaTw%QjP4^f?Fj9*nDVaIgEba z8J6vD1PtOCr|OinF z(l`3U%)oC(!*B1ZmIkkEMfdiD6U$jmr1kXsULUIa#y%y))u1`gA-9raZTAZ9;R_bs zjggO0n}dIG7oyPcFSWij-|aK(N(s|lkvnjh?4Z0Y2tUQZ z9~Qon2SEs6& zYUW1ga7th|_zVHB9Y+W(if9Xh!UyHoODnuup02c2Pe~NGuy#4tks+u+Xv&)^BC6}x znA~w9F3R`GSsC-6oJj&KX6IIGa__@@R({Oi-s%G}*}^eej4XhK7*%sm?KHa8sR!Za zGxa!zcYPp|DU_E9uP|-Y&5yoqTiU}j4=R3D`lH7|JeI_4rC2~iTPFL|VHgb|MFL9c zsVeEj6BP){Hm=1Bm0H-%Xo8p9mYpD?BVt2r)x81Z?4Bkf8c$oS!Vg7cS4wqDiOlCe z_Y$|-w&L|5?UY&7tT8yGJs>+?&C=wR&F4b`e8?Y4J=d1f_9K%u9?5&@YPb4Ga8vMv zkD`$uwEyXeiq?{i=OXMCzY3;7B4Vt_%IPEre)~QrKx5*R(PUE^J%!5PaZJiGzlBut z5h*!Wni5Rk{-F7S(GfmLZ_m?+<`5`0C+j+d!+5pku8Rw?S?)_L--ef&I>DC3IB|Nc$rf z7|9KqB$ds?rYTcmvdgP4!fPWa=~gJ!lwYG5{OeB-L;vGbNMR@nr4@<8GoJ@vSVBT6 zy{g=!qmlc1NEjgL#D7p$yj7VtbEX9E6j|vz;f5&E`+yKR9Y=2pl3P`@E|PZ>KCBY! ztnS;Ph;*7snsh{~sq(}8x*x6)hHqNPNyRQaQtwk9?kfd&r2MAV^q5KDr4utywXuig z&Q^sH>bFI-CeL<#0;QYZWySJ`2~3gCqJ!6)q_x@;=Y@Qkfl8XbqCrtBDx6)wa1+V8 zn1NcP%>(<%2)JDxqo{G@@GPc;IYCf2JoFbd0I9XX&h$|_#@nR!gmWX~7gn<>sULSI ztjH81OCeO)mfp)IhbyR9C6DcDc4zk3*c2NOi>$~=OeXE|4RzGmE;ao0ssP>*^|@nK zv$J&qZ{MJURSYjWhK6l6uI{dLj2fGfUw!Y|F>Gx1HO8{5a=h;yAhWO=_NcDTb@<@M zcRSKjOjOen%9fJ`Ut|k+SUlO7YH3+&rs-_#e83iAm_?}vn4B$>e@6LQLrcnayyAeK zkQ<>c0(}rftmeXmq9M<#-MQV>6X6)BFxC&;J?O2mB$)NYfH;%{Y*${!bf!s0bajJ0 zdj;3(*5rkCxnIQ-&InYcynk=F=%X??=*id#^j%b(Hg!~Vl6{k_vZOTV7gP^wyDLFZKKr2RI_Tdj z85J8o%w1uo^Wh)ar|O}KT@CqAKDV2E)zB_l?_jZ>(ZwWka|RV7Yl&a+65Tp^@pqev z-v$we-fiZs?r;@Jr38hM%xWm#8+`J)7RB96$9h>flke@ECN3ztLRE!*)G}$y59aa} zGrpyutSFngdBpBI32(k1RTlUN+d=8RH~Oi+3m#1yb?8Ku%3vR%CLx3~Q>e^Va|m4B zv*o2QRB-2nt+7q?5N2vAKIi_BUbHlD`N``AFdEG*hyEZLLLks+lpcXaItir5qE(21 zzh3<*sW)Y$hpf&6)RYf&Cs3y~;Ouv;OD&;4r<6Lf3#L0ZSe|+gW8J z;J6}~?UK}Q#2+Xt$6V3=p#o5!2^hPknepZ|ZSlK}Qr`tctAzhn%@uS$mmyj`pSdK= z{@t_(Mb$?>cf1#EHA1gC;B`3ixAWHFO8b*NKY%`zq-_O4*&Pz*=XqC}oT^oP__j>@ zQX3(j-LU?%o{$Eq{Z%??mV$JO51XjU2=Nj4_6UgZkIkp4OMkHH1l@YSM z0Ncgof~Tu@*JyGdrts*H0;&wP+vo&wCo^kwz4{D41qAfC(a)b>&)rZ0itWgs0Vdf? zj6EFuQ3jlOP*Z63f`12t4p?Ogu@1Lu@a$7qB|AQsqBEdueM3=~hMPIe!Oe+tP3->? zZhfPA&U#*52ZboHqj|pzhTN)0CN&vi4D9XOdh#g9$rB&5U8x3_4_@-)N;{LKwl(ob z>}U@-Tj_wRSSd*Qro;-60dhg)l_T53IqR-LADe=k0^GBay_4~~{ej&M2HM6`JF6+L z*DH2>TPy##0(WdPaoE<9DLa{|C19kcxkZ4TN{Egw1@~+;u$E#h((A!xDh!2c>WYQn z>ebM_T`$pTRS@D-9WTDx|5#V@2{`HYJ<(wB+Ib=IKztM5!H}H~p0Hv)lDTatyvgNXwlmG>VB}f))k&`xeulwGFI5xNn$-! zOri-%yK!!-Hyn}%hx|k<%6~noreQOf4q+h!C++1zGP-l8FYNHc~y0QA*x>QI8#Zz}+g z_u(4c{r=?BFQ9Na(m?`9HOT&QXOAn{`<)MhQg3Yj^wG60q!x*hm-b$$#PCT;Yak%~ zjG@df!GDhD+r15N>y0xLqUQcdbllFtq9`C}-?evZmsRU&5pQydq&D3;ElvpL!-`)z68DOwxSgwS2ujRCtc zYr1i=N7i3d;hU$U6_RtE`M)vP=UsjCD-Wp=sv^jtjO408Y!jM6OKZ;~>SOt`w_yhc zrXmRC$sbqSBy?KtBiL(_w$farB=Nq{$gSn?G;T)6lPt=ypK>-!GOkZff8u?x_Xisp zS2Mq0mDZcW+F@2L3PrGuk4EL9u0SH4vl{4!2e&RLx08>sygqw$V?i}`;%*-&75Jo? zaY`rVB`Ek2wTicoz!&`~2F2;VlL*CT?=6t5+5P8{2q)$rS*8@5nn=@p_u34rH8`P! zSWp0-n$yK-xrO-6Q-sRM{iLLN_J*IjrE0epXx$`nal(Bf(#1Nz#p2jR!Ao#w*K#zT zOEsIVh8^@+qN{}be$(Y^CF zjKfT6v63chp~3S1D~L14Myt{P{%*A?pA1jz1+KA0g)IM@QCRnJk+Pnhnx{4HU8F4V z+?Ct@F5-p=mZz3;B>RpiKfDsxc-x4H*9XcO_6Ll{R5Q$Y}$6=i9y(Hc%K4I-(V>-e(MYHa5WNh*k zu3Ct8{Td@dd1`TigLd|%wN_w5xYUU99|zr?-rLn3_i$}+LY>^`dQ7sdaLZ+WKqc25#^ zh4S&i!GCeg!%(T6QTWeteMd(3J(G##Glf8HUH8KAp{1J_RNAkVMLp2|&6Uzq`KRts z+B2h{KThgqd_Ewi{y76zX%6oFMU#(wxL=s#{ z0>AuQDMH@fcM0}=((jX&MLg2};mt(!6n6Sv`@*Z~0V(a5DA0J?M_jR!b9($qoE%dx zMM7aOIV)q?=t6TH?7L0KmMR1pM3bZ8N&pE{;J^41<1NsT9!w$XXu6j7vmkh#^q-Bm zjHD_7?t}+jYDb!C32@0 zwqL6MEcslpKXj0Fs&Ho?Q>F%ojduV{rO1j5&+Sl_tJw;6gjIkO-bafmgxu)K{ElA3 zM*$sCyo+c|{--O?tT@aS99MjgsOPhhL4xJZ>%EokUDI_6C8%0G#l{l$5x-8#sXuJ} zVKGqU3dnb*M8PPot0M37u62R0cBSk^%uQYk$ZbuCvI+1Mjj{OG&Fyk7#s7;8Xs<+loqKr$(-YH90x^V)L(Agu-D|-LYs$3 zCpN+l6z+szTN3_C(SpyiiY29upkvnx^L3C=y;D0If5eQqvFNslFFX7a@lg?5vq68+ zpIWSh(=R0<1Lv3VY+FBL^^Nt36QQVLSA(eB^tL`Df2I^5`E^KhWn@PCbWywfw)msg zKga!@ixq7pN4&H?L?PvK;5!znp##|W(~Z61%b7#90}ND|wjq-Cdsik-kfb$-CS?MW zu)O22QLH*rZB3TtWN~BM-SVhZzm7g(xZbSwSY;2L53NTLb+H46?>z)ck1+;VQxxoP ziWp2X;Y?#>b-vVZ6X2z&L+OR}?K=aRObtPggf|AcT0X1$vl!o{6vhSC$QK~fBY~MA|O-@qpR7IYS*<9Kt!D}e0EzXjbogy@^1|v9hqsx zCyMSsvG1lSamFbal@~Ar*9c3P)zg7i7>19U2vAgXJ@3ga#G4?yabxLO47Ow;^j6X@ z2E;&2ZM>jWZWd?5*C8*&@I z-_X%6QO8Va8IEnf1pjk|yYPHnm|X1OFiLQ>8}Vv;sZhCYVui#7^X2 z+@wkAuYX}BKHA}P{unV#;uRf-`~GnS7)x(iLN+3Ih2Xy)C2A}w;hX@ozEI!yz9PLi zfL(=AKx-o6;2jr+aAXS|aF!+aVQBqoxhr|-{%1~o|F)jfz;5lWIibe9n*!7o$Ui9s zX!tEou#6aeMImn@X9?r|9h#0yBP_Z zuqcB*;ZZmFW0pkxq^u>G5^Mr;7f@k$V!UDV7E%%FW)hof<&iWZVx^~NZl`!J4?$`} z7`t6W3|{iQP!ErfOhRrn-qA@F+!zJ3-WX888MWnTQ%c);^ssFmPWXFxk?7DHc8+%Z z@>OKz!Vsw=EMYHt;27;Gqlei>>+mgiO)oVNV?`Woyolq*yksL@3(4ZTBbdzYb_w#m zbCKPR`h)wh%$5cB&qY@EZ7&O~TWNF{jfx`fhwv_&(GI{$UDkPa6!|m`7Y}HTFFcg^ z_Vh*qpG!ZgpFTTF7lBGM>9&L138Zz)i$FwyryGqpFKHo3w`f7VCdg@=HE8Hm?@A_#Hl<2 zXL=p(ulQdnZ#~u=vQ3Q~acQ|l=hMV2`2HVid6|GxvG|WAmDmt#EKvS@f4)2>yXe?E zNAvRY=nx|X6O-dFT2=ruOd)IX zoI>5SbO{PRAeH#Swv`1~q$DInSujl%djaCs?Ilf>0&xRxG4m1Z+AN|MorqX-jMM!= z2Nl(x1LZ>DT>wB!WC2(Wf&z1!d^Vvev)10Jzm+x<2372y_mqq;od>kaaHN`06n=2ByA#SNxl_^S=JODR08&PJ%b3CH~Oh%l0! z!LJWQzgA{G15Rhk-v*iSVCnwz_MGo=OQnk&cu3>CB4UP&n7$B*-c7|Fhqb!IIo>%( zlYg%pPI)TL0PZ5Oo=r0K3NDHJa<=WI)f!OXzEXsSzY&}s>-D6|Alk`5&+3U>GZK?6 z%G-1$W-!&o;!qv&QqglB0PqBsKJ9?Z!F;wM&{0eQ+8hs?#dp>pY^a9Vp0*;d8+S&1 zENjWm(inXMeK^x7Bt`+%7I!m7J2t}Ec-LfU6#ew** z?3%hy$+yU%c1t%?m`JC%6r$|Oy28BORa|Z-8-E7uhcBsM0lFEK>w%mgmhh4u!xBE% zT%j$e&ybL1r<#6zMd>WbUcol+RD;ot`8^B+^=GxS(wHr>mS^u^4ug@$Y+hX>P5z1B zk^H~C1tIUpeDwulGUvdvQz8uJ62<)&f4A5q2#z2Yo9|`$XqlN4N#x z_@eJZ$AfOxA6Or z@-5dNT7b@y&x(H%ZMGZNy*2AdY@DcQ3zQ{$_!4Y)F`KMmW93(?rMAmyEya5p5=rTPS4~pC58+fqyNSX`d<4%}l02ZLxih^5m;+Ss z5tHblcjRomI5nYCRPF|e^ze!=-{4>$7M<{VL3jl)o3n(mCT^CAU+p( zpBtH7xn7`$8j~mvvdL8)#9A<{V=c=3z`$3E3K@;Vl36-iS%fW=_g!bJi7KE>v8#e1 zPmP2g4B{J3kkS!L(3E?r=McvRI+GJedBO0;(i?|jjj@m-DEh*P03sE6vCmTq5SnIb z9(sv(;lnU|@Kj1x* zc*Fn+7>(nBy#w_&uJ<|QMz(hKcd-n@nr6g^f^S}ILSWvn{x4q>+q_AneM?&kkT42- z=u?>U`r9@D+nHmw+tTSe=O_K>d5typi;}%A#$Xz)JSi4>(>s#EL@5VW`c|aZQq*s- z4kWPri|{{*(c-gw`{vPbS<)TRz(?%iS2L0V(RxOA5G@yRv;&!XUoWpN2!{Up&RJjN zR##DdcKv zEtMKE!!TFQ$+nJT+S<3%38#neb_PDtQ)<`{G2gb1+}2QwENvjPXH*Yb+o?}3FkIq6 zTPGFw+;|y@t7FiYfek1fEDK9S|C=~*dW1TYR8W3u?b6x15c@5T{9`16T1W)8R^R>0 zg>#IVS_faaPS@c&(U!@6P$Wc9( zq3M*vvssx&lxK4NfD9J>n%y|SJmw#-dN9k#I~s!n2kFCOb2MNPt7-YvolF?uxC$gC zHHs?H2T)v<+k(&KeTO7Hq1>*>zv#&xH?)OO9CSIxuu}L)n=_c&JK)ptCo#$72iFpEym z`20KYIE~Vw6=Sg^aYYKAHTb#NxE~(_u(XB)tm^tXTIq{NrTWjmtAaCy=KTmA83hZV zQS=6FHOVdGoZVa#6ck z?v^Zs&R05@AJ>CKI&Pq_#F$^U7_%u`EDwk8KN`wpmx||P?d3eg6PZGIT(RD&$i(%$ z`eay~>nupoy(B{OUS_*KFZ6LpaRt4@_IV0H-TM4sFodBZ?sE>q%6l!+B>nOM>oeI@ z35Q_NVQe|I`eG7~Var_;r*P4TnmK(TXCNR_h79M$aHvm})rj#yRi>kSu+C%BM0Tmi z8^!|Ql{sczr-j?Z_q)m?pHi&{y^KUkkA+ihMeaWf;I*b&d#sjct|)(UFbdbOf^#Yw zYB%6WSHh|))nCp}Y?&1$0=nodB4cNXm|#4UACv)_pQWoZRA+aT&}q-Tu3t}AKO8+I zRE#s|f(SZT=9rL90sSenKGxrrvx>DS2Cm^CG96PGsH|nCkCk2a!b?e-zv!Uvk`wFQ z3?0UqmNWPyB8}#rO(za9@lv|}dY4DQn_YToFO!#4!)JgjX_(;o#7lAj{9S}~UAmgF z?)^v_w|ssi>1)cvv_!hJbXhtjJjL*%2(tR^6-uNjl~DYDY57qo*wsnq3}oX#$rNC z?e(Lh6ykyoG^a&5uuQIjyq^|!tLwar$n%mc0v}&uz&JVQv~O?efpXG8R1vpIzMMCf z(THI=#X@Q`6W3Bug%|}8YWzQu$EqxxZ;R7#XbPb_hh4jkpSa(IL0#ibq%%|~y1cT` zz*_lH_gt(iu(3D=OF-R*NCttSt>D*dD_tQ!tgdBV%%H;!+ZGPyU2>(f|5bxxw{qXXHd7WexI702`e_lA&lQU~!KHyQw1ghcIDR0=;{GHfizD{4-cR8| zpv)N^9?i&j*oi!Y$mj5cDF?Ig*PAG`A2TE<_Zjic*LI5K@>f47R|G@}Y(>gTTRIfM{P|N+uWiGI(SF$pl4+Knljn zrDux(2@VVA34oH2LN@KDg6vcZg=s>-;+9Ab4z>dz&>RDegXAp$C_BjY5}l}QFb@>L z6Mhb!6J}?@P(0M{4d!-(QnRpBLCs5}BDsC>JpXkL5h!Yz${C z{5V-?5d;VX=F-_P6~f=z&c$GHG~OM9_@N;xEEMy>lF*ef8VJTgu_$Pcilr##)~A)B z(N%*gwshWa-dxu#ZMwHMW>?KB^~A!=u1ZMYF!7oHju= z@4lbCJ9ph;zBZ#6Xk2DdiGrqt2d9~LGrIpQ0di}qw} zDYa@{oKzU}i|VVJN`u~J_fH364z*%xa!VgFTJL&Yij~{W!sk#-EHBRZM>V6HHskub zT`_67yx>wC8mv_Dmkw?d za+D0!B7m=9; zhkCed1%AEFwO9x4KeC!-*K7SFqo4wm*RS!RCPQ)mClpnpg`F@J$k4zk&I3~l3Yrf^ z{1^3!RH@mizWCYiznc3LG$_(~R_MJ6S!JrELRjxUnrs61qmMtGVDd1e74p-qN*3GoRU+ z>B zcq{Otby}F?aEmV4#6VD?j+18p@tMixIr|8&stCFA&KO}+ZwKHGPXEroIT%0&P0Ug4 zqs7s*&obn#ilT480Qd*+zps^o*5hZLp=JCL?*$ zS3?vq7`t%rxTHuaERbk+Aab`=6nZ@itYMyTchmFdI*bDbZb7#fzyi2XV1YxajKMA6 z(DC#*ABb<;&w+u6X&{z~p9fFb(rYN~3JB{rXkpciWCaYxf&+34gtQC1ktsM)GEgq> zz768eo64)J&4%O@QtVE&=I}L;@mpzwcqMv(f{}Kh9N`jF2iH^5{FG`-AcgP@5GJHB zzs*wl`7c&Sc$x^sZg4R7<L#~VAVwCfm(~c{PHM1rni!bEo_5&a z(jqcqB-tKEC!PhI12d%XdZ`X3^+CilHa~bh1Bu{T0TTQrW374PN5-@hZG_L(;Yt~Z zyj|0?2(`w4sc;+;Z^r-jXJP!$Dd(YJ`EAwpt@VG-2i7u@pA%=^lO=P4mw~LgLj$s1 zr#hwimnXz2|KC{ayI!IHd(W}MBx37xV}x&C5!)}^n|98A?MLx_yU>Hc)sy?h?E=<= zo}yVO?egAZ--WivjzA(MVW*#L-0Tw2vsJUbF41K3<3x$#W&#<9JYjEqNrZU@c>BNY z%y^m(AVlelKL7H>lw}?pP)<&ksrL_x0QyDp+6Qsyi-e`#nYP_&(O0B$HFOh9muOGQ zy792GnoJyQkI!v=BQlltU^%QrycHL9C+OMh_>qB&E&%du$m=Bb(hKtPN$3rh z7T$lFghut9&6k8!A*puiy4wvH>FWbrKM)9)5F%9=iR9>dQNwu8cjwc=aX_e{f4)Yk zKj^;Br1N)_v0pc&oyEZ%Cr|l`&LtsVF{6!#D)|NQw624tZaJvMpb8cSrN2~Z8sn6{ z7;!G2isx7FYa{7`AUx4Y!cH6LNO(!ZCs7;*tlfAgPC(@*V(!|OOP$no9;vuytJump zz`^?Yfiml2V1KJ2?|5J(DhhTfCErZz+X;8Tyi+vyWDEAOS4Mct6y2wn$#DO{XLIw1 zpNtTh^~lso&w!yOMo2p`Hv*cx@*td!m};&o%D#;LKG~eV4iHCUyC!C)Bk7h~`fuCL zIR}a1GE|uafm&*W^s>!vRrmp_01|MvH`>uJ-HCb+iI6a1Fw=Ep`T{y!eyap5=Nw5N z{D^&IC+?%0seP2HuGR|m13H=#S(2mmK9WCeOB&aF4aOZSPN<14Wxht1Kl#VElxg`A zP-z=&3Z@d{Eh4y@I`&lnFYsWb-xh(o>VeIrqF^X?T?qo;RU%7s8;KNs;}`3q6RCZE zTnVSKR6TsTGoz&0IdP@r+{|`-x_XLty1;Ldsi_!GPo2!SsOkkKsjRsMzL1hiR!gV37= zj7gE{p39uMCQd{tGcBhM^g`(1^4S1QfQ^CSeQUTZ#TS|;sD~))I4~~Tp!DcOGnE?@ z56pnwR-D$GrfO^KVO2C_26-}Zi$aeoG)@t&p$6nus7hz*r;5RZVsdJqjvkI!8Hn+M z-K~K3Ljns;K2Xo2Gel;xm4IVszaY3r0=I*D4RI68nUMz(j=iJ>CAv_w+iT~u-8H>f zg(FYz@N5>!>Uc9^t`Fda*l&*+yN{Zl%e{eP{Yc&0hgdr{SP!!ENiRV7r3J z4fkBXPay4AzT2-UDEZ16i7x?E!H{LhcVcFdDMVSjNu}SA^NK4lI0TIBjEE~w;BPqZ zRKtjqwP<+OBv$Xw!b!BofRZ8X()!|03cdLjL#aTyg#p<}1;`T+5*ejwll~8TSuQV* zyMhJt2iuQtbMyZ;Ca@TGC`F(~BtYk6Vq*8wM&VC0UqAfCnYsq%4@V;J?E^m84fG## zcM(q++wku4%zFzPP{LV2u2dvvb%bfLX7$(B2xF3Z@_Nttk=jo6Ch|rSTX{T(Oq5x@>gOH*+01V4 zEG3t;GTozJmNZbFeJX&GLZct`-b+U=8XLh0;R8i{J|=Sh1eASCWPgbop!lIfX?vpR zilw3w>A5|tfe3QMgTbH0Rb>sn2I(GLNu&wXCL{Fy@jnC~1_XPAZo9QR8Ni0(^`NFI z`2&?B+-Va8XNp~TE(f(NxFP8&CxP52$1d6|w$l3t72us)cr6x+>M-wMje!EmyaFLW zT+RfRYPn8FCo!uCk&Hz9t% z2d^bEkdXN~!X-;e#~D}DnMppaM;pA|RsU+GJ^v;eLr4`tV`}`M^Udmq#>C`Xjp(Ka ztKP`#W^A8>woxI?*(P3yA4p1Aw}}aKMs!jAaf?6Dh^WB0h>kjdQdlClS4BJH8Cyx= z8UL4*?~R{E6@ot7R<1}*!aBYc!<3q-in==;-w`TW*Vk44M^i(IN;9zp61#=TxmeCa z&dx=n{VC{ ztPAN?ngFk6^$cDZpekt+({#Zt5)tIn*CZ+5!e&b)g}!D0MmFRSii`0iGJa%ax0e98 zB~@ocGn>~b5mp#?)MNnElX`8aWb6W=HO-+UYf@Bb-cV9fACKMbCoH8KuHL|`FZ5v7 zi%uJMNsT>mZrfa`Hg$P(IUQ@2lCOwntIK3fDOLvlv~v*d#8yOd{Q7q1G{q*U5*qez zLz`^jxbjl=OE8I0{qrx}`(Ns>_-ll)!SIBg| z>r>Q``OKFwpKm!WHX)t+oHY1_>TzyN0cchPin4Dt6!ZHERfjQTF_Jy{9Q;z_+)xQj zrf(@NDL%jn9=8Zz;Esez3H5PT9)36yJe&vJUHGc5YA15IK3cr6YW<1f$r`-CR184< zX8NOF2`6oAFyXG0ueU-Hpg^Jck1Vnh{ zDgI}}f}A_nN$HwhtPQ0!Mx$6l+%JtJiv8vOD`n%7p4mbaH8WBTFqwC50wu--usHj? zm%ip>L}})^dRh-{JqbMRkzP=k`D8zs=1Fby;)!{)h)^F?8MKBsr?wXv{tRF-18UO= zaN@8<8cTwr*F3||*2oFTJ(7t5RgCP>G8zYVeS*whEFU~jJ@n(aairy~q5Cp<&{16s zmTxq9_}S+qMK;=N-{l&o(Zc=a2h|R+Nvyu3;iBFpr!86Was~M3$Ix}Pipms^gyZ^A0aL7-5u;qULOFS55)tmS?G_;Qua^n zmu@ZpKk-wKQ{Wj;70uUpwfxjh zt*I2w3N{HnRQL*MG~%g}wmhvr8DH4rko~UP<8e`}WmN=u$Z~`BOsSY$LqVHFr5W(< zk1`kpW+a_@&%+r&8r)jrY+a%uR0zp^TFmts5`ye4+@#`vR?4T^?v~=7l0iJFblr`? zg?}+_@F1DcH!Mr!q^=o9$71*pe*NWq+wzb@1p#47!y8PphG2Ms&ot@?n{cTbV|7T-#_H z%<;;~jga&7@?lpsIzw_17B8eLd1Zh*5R%xAoiuu|#6O;edAn|;o=Y`iHROiaLs3oS zsTBv3Q(k`B3CL2w<2MwD_U*^p{MODWKnSh_a>t8(foqi;qKy)+&&5r^8{jTNQHvkj z5e{}|d<*J&cI8nf&+5p4EAhyt@r+F(dlNICt)*st!U(+gNdWwnucpJiq{ zPwk6zqE(#_xL%rR95&Qgxa4wfiZ0#OhD{8K?Yoy1Ms zdv8Sa`J?NPv%cSHt{>0+Z!}yBbbHZN$3PN>m0cEO(1ODB<^u6pQ;jNIyKN?e$%=~P zEuCfGMjD$e+4a;q(7#D~x4^Tw$9GRi36{qG5@S6@u|tNoxQHaO<-RJGQsMACSq8yw z^)X{=5Z$HOy4Ms%ULnya9>!VIU8rIzSARb+*1rn=idH=*^5M%sST1HKwuPj{#rRm| zjg;XZM@p?V^?4E&U*P?T=e+3iqM4c`#0?eg2V{bq3x$!igbfRA{n~5X@=@N)QS(mtm~sdY7ULKT3qggoTA*%p>kCX&~<1c`WOn+;ss6rWJ7L`<3A|6e_^6r zw$9(ODIgToASL5@$Lc0vH04?L8azm%#Go0svoF#{E7>97T#{OQ@3@nUL^`9OEK!`Z z-9i6{ql_#z&vu)M$cdvrG<&thzq4c0JK2(oi$o;46bh|q{_a3Pu`qM1lLQ72${P+| zzl24!=}_>w_nXY39|8}2m|67c&*3B6*F$C`7t`v+`+0xku_Yl;Pr?Pqwti5b@cqJ z8(m{ypG^8tC?B&hJO`?40ZA;+O-FonSOPxvLeBx2-SziydqEnT5?#eJ)SIRAdPs5X zp_E(^&?5m~rKtfyD>X-~vnRL~LG)f)QDARs(nb;jiHHFPctt(8QMGVFRJ!GYwlq@0 z3oO37KHXfIoSNlrnAY4Q|9@#02UHZ+qz@zNqx&3T*pjGx=}z*J8v7?(;z3z-Q$PZk zEzayZ3b|@zrsG--#g@-k8rC@dY@iU3C1Jgi#kt=s^(N}Ot^{E z49&N^Y0>VW0z#!{4SgUZNf3vsLk&RJveswjwaypRV#GxzAZ~Miv%SgYE-FC0ITv@c zP~-ZT&c#6CFj_Gz0<>-kU=?VH6tdy`3{g^rE`2l)1$^~A*MvndHLMNn7GFCSpmE!(=WbMGIKZ16Hc6H&<{fLKg9Eg2N zWWX)LGTBt#$02wBxx6xp?sZiS=hNerNievfv!X(gHcb2QC$da{v8kNOuRfX$_BL>s z%^>JCWps|71aKdGbl2CBj29H03n|tqSokZH`tr=+g|L&wIHJ1=6HBLmf_&lk!6oWVBtk8 zM?W@E*accgb5rT!pwY-88($sWDMhJ?%=)oKQ(b- zYq+MnvucZXB#T8L2ePc@%$YAoQTDpy=rg|GGAESSe>R2~7I|WL=9ghS|6Jd&9$Wq& z#|^Y*Ve~l;vh3&N^`CKXGdHZaT!h(!AU(vUyyY`9Fx4p8at>!3p?_AoFuKkuW~BR% zoaVlyAFR_aoL_JIVHsSEMU^99%FYeSK}6~MEZsL#M)5s8uc`3t<l41J#$5)GwZ`O634Q*0t_KkKg@N~Ot5Jvm9a z5X;q%XMqDfrUg@Ck2z=g15Da<5^l-Mb@NYtNQ+plL+XD0&!(7?lzA@A7doaN847|& zXms~%JO7mDa95Chds$gN9-uqsM~4r*yYE4p^zp}=|5YEXIj7`bI_m@iq+K*hg12#E zb!+LL-;&YPwW;7rPYcdn)2H?rf&&Zn$o|Mn3p4bX_iNQGfZxaFJqqRx#9-OaLBlx?*IC(rkLfJY$9S@Z1jBy%7>5c5j! z=B2lhme4$+cyot?W8&d-FExdJ4xV&s!SLk#wk(CIy8gvk%Gqm?MHH^0ssYYS1F8Cj z6=X44LUBh2>&GsubYO0NJHcMSjNAdgPBP42?Jq#uecKrF2=boX3ojg`Z}230%LavO zijf0~YCjhctlt;73t6uedCrg`_I1dd2)12eHB-(`s1}pO(B-7o#?<&e%`S^Z+Jdzu zN_R4}V$#yiKF1(T9r6n_^rqGrYOkHX4M3vW6HVkD&<3cfLL&r2C5N_R<}FVK#;2_= zK%~Ljzh$7Bw{$GZP?ha8_bLMi`;q%3WeEaZrg2Hrm+=%e!eWs;QXJh;_5eT-UEV($ zucO`rL=V@7zTaMa0D8sAK5C~5_CJOx{%en%Q8E~VY)ozlQl)i3y6*>hc>TI|qfWm6 znP-|kftRj7|I+IIY8_x-bE{D;tw)HPZ%UK~t^A!zG%s+1yu}WayRKYC{$2MLePjER zC(z~NJFk5Xb>H1ymHw%!NuJdX5C?WXH&gugzxKayPVN-XH`HiO4g4{x`1RbM#4~P9 z<{JCYXIQVPRtFQICAmQRO!#C;U`9^${4-4g3{*b-93Lrfp^7GwCkJXrE59iK!$tF} zu*&P)?UFeeVv}X$D1cPHKfd4s)`SwHFfG7l9ughYV9*|YXj1|!1YrRrB%6d5hi{Q) z(U!7~aX2-&4v6v0)Xgk4n;)I!+sD;g36LscOo~WLJ^WM~M7T@&QW1@h*o{5-!xp-- zg~5?kV5X1-AKQ|;o*T?lB57((tRVX-3jaj78-~g#CEnQPD}7J99p30BhX8phxz@aB zxvo(UjS#eSPEm%|f#!m-ZUH%PX>KJVXkTUS%9t#<2)_Jrzg7Hl(+5Jx4Z8v3%5Pz(h&#F>y#P3&w*-LS zg1%TX-WL3g{SS1#=Z{y}7S!udI5v#jGk%Nkl4)OneiB8Tt&*%P(EqCQ_;1cL)JgJ4 zg%B@R$&Y=~Q~!3^O0PA3Y4M{rw7Bs^bMugR0oR&B)-LlZH4-iri3?akel(a+O|akl3WYJ0D0u{HYEjgGL!G-!Vc%rhU~Dge_kn z^4e;qCPPDCi$Z)~MfvCCkEMS28Js?~)w5QUE%SW&?&XO3wQK1j4H4>_>zJg0(LAiY zDDRja>MKIgD!QrAKcFmkqcIn4BbAcW!$)PC@JTn^Cc-TKMrG3Vm5eAuECR{La5gPL z65`_YMr(Oq4Z}B2d2xkMlF)<__Sw?9$ve&|wnSz0#*TyDxb(ej&_5i28b=~kkL#K3 zm~*P%GPP9uyWI`Ht_8;twpROsunY+=(& zhd$Ypn$cY?C)Grk?rM?Vb;Lc)TH^UdSo7&~rlW>02eju%TjO!*(g5Yi7tKdrdMMTE zd-X)6kjxuFENr5^PsxvOgo+E!w{{V7)L zLjU#CsIL!J!0N#>fa!;8O8pz8)mfPDBe?g zr0*riXu@M$!?8()mHGujSA(PCb6vMp4`GG&OoV)%*S3)w00K~rf>!y{N(jQsy&&Y! zMU29DT#*E#3rimwTJ?}JR@Ig}3%Yn>w0Ow(G6X$1sMeS79tShxfag&`VR5zy(Y7FQ z7YkA-6FSJv39L8S1&Wv_3nPiaRr>|mAKlZ%yy-^x)kWlNrxqDqf0fPBc63)-8OTK@ zg9nM*z!l$ceL`0;*fUWEx_L#j9CGG@5=Z=!CszmN)mY4iY{*8bQ&)ETi^N=phcdr; z;-=Vf*lKB;O3m!`P+0_Y$NmwQXTCEn~|QYaOBG`P$lZ7yj%bT2*w=i2}~0H!FT z&a-8_6wCm42kE)=k%({~*}F3ek5OOi-XfCQDgylH6UF$vDQ@v;53S;3W}tIEj@u~~ zm;dt~gaE?pipqX0pi|8H*;vk@1B?XF7LX6QSl&3X0<%=}KPOaqbF2+yc)i1PNy2Q0 zs6l;t4Q)f`8|5y5WficrdNS>X8~;$unVBBvd0 zxWkcMwZOj9TPv5IZ`^QzIpExQ4-;ct^c237^xj(|IU;zA5r?@V9k`FPM)FV7d-{(_ z^MIzoMr+n1@kXtj+bmD2gyK>Xrbkyx*&aw9jpnwR(A9)&JF5pa=hjMoDr15{+_OBYMGjp<-SN_n>CHVBOgO%I5JC+m}RRP#`sd30{ zS>gKUOq3men}}Q{HP-r9_epeC*i>oPl@A@zYb}lE}F+w)C-YAa`ugFYQV2 zQ8rrJba#6#h|e#E@TYUDzKr{|+r6E*iyC2Fq|7YS&6M(%kzsP2=0y2$%`>FL!ZgQI zZ2EjvDJ@F%W&5Y1XU^9qXE2ZCkQR3E*Z{Fn4X??ksDlLfjT&&-OmR{Ag-w9Cn1B6R zZ!x`^pWYv~Az)#1H|J%GP~zuLW*^url>5^IEawpxrNFdO!0Bi#OETWrO#nzXYiM1q zfD0{I=@*srN8jp`4`@aHBOm17x2s=o7)Pa|9`4p& zCGKkh>iRRL;8COC#slv2s#8_ybKOe7XWC2IYJLR#~X_pMGM?5MS>cNWsqv20D+=~ zrtWb3_>Zy*10vbzhfp~!!ELNm61JfGrWo0Gz*$ont>QE+&jHTqv+<2sX)K)tHR#XX zpPe%!A3zccPuW&Bkf2kHGV;=n5XD(g#g>TO6-B1W0(&G~(XbpS&rt;IYz9=owA@S; z8555Nb^Lu3QKm?OLULJ_9cCTU6RWQSZ}*_b$9>)Ttj~p@!Gk)-X2@9Yvukn1q;<>= zpr;s-C04?XG*A}09^li5XxfZ)H|okVTt z*w|bFkw3KfKX`KS7rY8`F=90nZqW_ER6E%{MU&5?1iL?M4^O{{rZix{D$6pz!P|Av zSwll7KGL?B0RHY6*MyoclO1eNH*G)%>SyLR1jR`IRT&~Zt78ZSz}VWq?)i`{Ai>7!byA5htT_<9ngGg(^PVy5; z-UX%PIjX6Fg|(MuRX_)bJ@x19rDSS3BFgaK~_xx<^}5}3P8AwJaoM3;GI zqumy9xtsSBsKQoLk#scbgXW;zeTkm9E2c}ya4lZgDMatX`?@@cWG2Qz2_F^ZQ_B^b z0gvPXei4fbE(v^GaNq089_L4BPV7}*diV_u+Pbp8s47_4d{&hX`{Quz<;eop)?HeI z_f)w*sSpkhL+XDbRg`+N-?r4%6exPy7h#LM5ROtlLRiZ6{@CXM333a}ZR|!MVMIr* zuVWIi7g`T}2P>OIJMS-&3M>N9?Z!qP(gvk0?}x+>;sx`}#5?oTcY$YrLEbS7HfDUU zC=q-}lLh0XnlJwTA5sI4^;Ad3p-71rl-XjdFp+P2K8TMrzpa9BCxw?GH6 zs90OCo#&5{tu6q3YF5ykgnLh}7&dAGP4eISS+RZhP|ul~VR4j!19YCHpJ9*xK93kL9dz zC0bPU7A%Vs6`A31a5;w*Qd=`VpUalW#k#Y&IPH~G4Gn@36sI}%d%>BjRe@KPr8u>DOv(lf+z`aAX3tSh+X8*T9*WI z8m|*t1ac!~hCv4~>p}=K5~ts*%c)#o(vm@)j%A(GoSE{Rxc)^n3|54055W^E8Er~| zIVR*WP(ZMvPjH2VC17*uVL&utN*ih3(OsB3UCR&MEucbo2+;+gB^*s~IFUOag6+D< zn)L$L=8xOeeT5VdUq-A*t=vNgsrQMA^jMaYh}4#fR>Y+0Ijp3YLp*%%D;`93mVpZ` z=Z5-II`t$?&qij;(z1M0Y+OLCe4s=ym|iVPpdQGSWNERz%pfpDdV1Vqb60hxREsF+ zuVS9`1|O3BAh7J4l5mTH1sPhh-Mz56jgNE@t8ES^{I=m$Qts6Puc$$sKZ-&!cUjW` zpXMm(o`3 zQmKX#JNrLzhKQGz?FO6=9N6TUg#j2a>e-&;mPmEVTuMM@a*DNtyMpW8*O7N{m728= zR!{iun*b#J<{hdP8YV4#o>CTb6g(C05-O)#Qs0={8{ICG!$aPZ816Vbs3-glil$E& zQc3^K2`4i=m6~D!ZP^Y3W`FV`uJPH!75O#f)#wfEEu2$9x=*#v;2q#P`~_B-1hBmZ zvp>E~V9PHaiq3uh*!#NM-xw+0c-?HCizNq1X39$JwargUOZP%IHheek2T5IQA)~>) zoOh#&P0_;x#J$}+9aJy)e%9NPJ&}0%-i)fKhN%7iiSB(0cm*l5WOH3um=DjO@>h`F zyfta;k3S=A)8cy#SGSV?Ev?NfZRr8>y@AH=mcle++Ti&7h%P3$q52ahtPJUYI`Zt8 z^s{xz6%**gztlucRXz7ggl`iW+}OTWIo~2-t=e=JxqWw@S($DBv~vI2s{Z-c1BpL; zUb^S_2K3(pnxgj3VLwv*ix+ca^w%1-sm^N%aw_1I-STw22!G=;gLAKa6~F>{xtGz616Zu8<_J++?v^O^@KqrU(muVT)&jHF#0S;4zl=+~ocB z=2rDIKbWCu@#~&iuv}l@`h3}aCcXJ^#g8*x?``Odf7O%Q%9MvlReD}!=rw+S@R=up zA8C>^j~1q}$Qja;2lmIQ72mzdfO%|lGO{wpoEJyoO>Xcvt?hR=Dx*)MMt(E_S8V@E zW*5;MJcIp|w80=w6hDpnaGAdA@}030qQ*Cw!R7C?${X&${eMvYk+yyd-&K^fr4bFA z2fvjIt&h>s?zh#mF;)@^4e+`sFwyx+TR=DHU^FV`Lm7q%oXN5 z&%;tX#_!@KIlPhvKSKc&R2N{8D-VW+Fm5b^e zC*iHbQh=pnAo}#2-;yo@L^AY%8BQem>15D~VMS1sw zFlkBAT_r1nGrf+@38QOeM&9BR6Q>h;dyUz9)Og&MCTDE0Qm5>tC?r?yA8@S=mK1?4 zWLZ}peF~ab%5_qBYj%ycLWI2@L2wMsn_?vQ?Au0N$CHx!fe7M!iry>Ymh}NZE2yQ& z7^PAi6p75#iajH|l7ejtkORZv!3ai|lsP)r)E8c7gJJuP_6#AZJ0fCPr`7;2XTXwIxv*;oXp%V4Y$NWk716L>P7ti|f~JF|FQ@53xq9a#*#sFPxQt+@P_uZEaLSGwzO)$ak~ zsZL}QD`YCH$_8HWmpHizzp~`Ft#WzWh*Fpgr9E8 zcFqC|LwaKKI%+mG5pm+s)7sQ&{V>tQ>`3_cyL4yL9OWXtD2AB+O)d1@QNw#JT;&Q6 zi9$Xeva^XgKhj^(YQ1AQ^J*^p_VtF}CEqsRg7Y$^ssrZVEH_{s6gmJMyi9?H@H9RL zY4Q4tF>Resx^^>SKV+X}SFEtc>`dR=$5d8$`}C{joQ*wYzwn9)JM+m+^4&S7vN$x< zMc}x|k~lXykc>&+af9EK&VKr|U_fWE+~2&lN;KYcmE*pGR@kcU(-51N(6=$khvBi) z5CnK{@NuwSqnHlGcKvIxtlThOM;?e4|D zRLC^)GcS7I85r36t$ecSu>yjt82{G(0^)SKjx~oOTST7v|31ULe6{8#ES&NV+z>3S z4lw+L!4K~R`)`|erR4)fRpmAVo8VdK#7?+QSZrKeZtm2xRQ34C{2$hI>gC&D|Ic0c_b zsJ#6QMqY6ZetjVK5R`7JbTPl`1I|jHO#q*y+MNS0L^nF#bwYmknC(UZI-jA$d&VfE z->VWIU;pSO5=!xnsL*8+{4JxNnT|Fm6)Pge$YvwBI8nQ1f?i;C@zos7)aP6j9rzMfzUE)j56 z2mIR8&4=LV?{beV3ya{s4y9_7aH(Xm=rc)aZ$-p>9=a*OEYkRhEZ#8P5#SA> zszFssPI^DJFx=SlFU?r_uQp;mO*Ub~F{G$%bm_FqRAqjktRFJK3bls=HEW48V7^~-g}FH zgB7JBguqwZi}<$o?8w*XG(O0eOy3E<+Fs83qW-Dl6M#&2t-fuVSvyo(N>3xdzxCPE zi)QYx<@$zXJ_|m40fSsWOYEIvB`t z2yZ}Nt7?8}lX-4pEpu)Cr+Vy@e8TB^iX*ff`_;2+&tL;u?Kg*sdOh4)An7wf`e(6Ds1}h!}$pZu=3Vpb`;v?I29Ed(RDase;2UlfQ3?#OQ zsbjAV4HV*6UaPv^z&;2aiaFOp#TDOwQOP}Ap+44by}Wu2V_PYJwf<2$pKcI%vty;} zbBAMz>!^WO9_S7Zp8pkX7t4RAr46A9@`ERkEu;~ScJ^>4>$lOD@Y_xt3) zr%D5)TbokY-3mw70lRw~+r{;%NX5wQ1mv*y>Vd3fBro1g+oNURAFdRmql(} zQ_4>nT%4*Wh13c}GxYs>j5M6s@)|&ifsurE*5D4)pf2@7r+{kM^&sla%cts4_($(~ zfJn*5n|9c|PrVn>z80P`NBbGyI{rH-9sFB^&W#GiZBTK913M=d5+|Z{zg<}%xd1F^ zQ99$lF$KtKVgocK%nn1Br1g|PWgt}6P8FYZ^?F$jm!vW*neWl4vXxsFhOQP5(ZlW5 zOA`%~Ou*>GRPK#c)#A?s_EGOJ0eX}#d^&vXrKg<{k(^Yz4yyL=-k*Z>j~2FioH$$w zP5R1ppekB}XQnYN>#6P3|8AgsQ;7JOi?1FbSmOS|@g>5kdM1r^SKK_edXPTjWLNxjtfC-hB=v8Y+1G`nje^m-t!rh8ukUYOd=+g@to1B&QQPiau~Jh*0Sb|dB=iq)hQ`ulP-A|xSUi-zgOlV6 z7D<2Vkio5Q$2PmuDmv~^AcBo%>NjvDm@oxDw_OU@3IlL4HQJp(OYf-sEOsWCbQN@5 zi%}3eJzTyL)UQd1pecPsf=K+Yjj z+Q?kS)NMG9lm?6fIv0ygo{%NPcSP%pAfLHo;9G;S=^8s+7its}w2Kl#E*%Rl^PkE< z{zZ-3EX6&3Iq)M1fS)b-Bw5Q$N7u(N?d#RPA`HU<-xEZ;P^MH_x9KH#encKSesnu^ z_B9f3`{v((sRxNl(=#30s54?4@@~HJ#^#y-GAG^kK8ys<$!gl@Ch|>a>iqkex|1A#eidOLaxnAFi*gQX6GQ96WOzI*zG(H8TMl7Wjh;y2zhQpx}N zZ(Q-JMl@#=eB;=_!>?E8W?$cAZt?366Oyb%1smSvl-?y4m6kVR%7ZuDECXt3<7M!- zZRvFx;2*F$Yqn;i%Xvj6f)M3)o@uO)caGae@uoLF`*DQQSi9qglo>#+ECPe@%mHrG zO)o4T+SmZi({aT%S@yG`k@sEUb~T$|>OPrINqWdh8aoinj4 znHhS&>+_9)^0eTmh^_$mO9;0%+{Ws@ANEjaIk8hu=OGc73G3gwhxy~a*eR{ zNi8F^R;Fo=`?NIKMvKt}o@bW8!tf*oPf9B|8!fAKeSt)PD-6nvdTVs3A`HY%)Yo9P zDDa8RYm11`G|YU;e%x1!DF z&7+|KZ%Ht=9nEuO6S$5%7E#rLbdU2wg7@~*3U_r3%`mKGsUPkBH~?1l^W|M3hiqo4 zmjU0-6WHD6=p)q(jXBe-ip(Bq?Ygx-lyjQ!fvU$2CW+dvZZ=>;xl+91YpHBsxRu6) zt7DSHnz%Z7``T@7#c1`R7q$uj< zzDltAJTznbV`*cve`q-i82$lhL0&TNSnM4y3NzUWAC5rw_Df4{sWuKlCLgii{0eIbp=~)E@C~>0?f6kF^#Q*V1*;WWe zhDlQ1$Y%Cf2A@fFejo_&zFs}@L+Z<)_l#r9S)_qVyXP;MFB|T}l&=~6rZ-f(_Aff9 z2uUycou?qy(p~6x0~ua~yj)GXC(RMf0>LW2yf!;?Ig`=t`Qd@^_yK0Rb-04pwW-Vh z>kvn>@(bJFb|mgZWtD%Bv&i$Bl?yw0synljM;@&57!k--{3UGv*)hqnrp5b@A%9DX zUV7~z(m$qMh}W54+i@7Eu)10}!lLM)L@ z&oRt(RDRuQaasq|Q|L?JImyGH|Iymyoi@yW9J!v>e!YluRoWuS1C^X9CnwlqZ1 z@sK}yf0}6Z@<+>FR!piYCiL#}vZol=sTMln@748G*MRCa3>Byk{gz7{=JrEu`!qT- z1SR3)rz;;6PRIUfjH;4J#4ZP~_x-}-I|}3GF1s0zZgrP=cVdR-|7)--^59M+c#!ee`78Lo+!Vh;2Wwx&h|G%weSnC$@{7n7F(bnj3Y2& z7g@G8)vN^kfMpSfLj9LruD#qn>y|ddg5WUKO9YqqM7fGU3XwrzbVU!~Q(11&|3}eV zu-A2-Y1^BbnVBSQF@q&pl0h=WY$tJ&CTY?(Y16keozBeLX{5C2ywl7~DJcXRc4A0O zu?(`$&giI!`ret%|SXm%S(WcCF!l$G)PiLS@}gqO1LQ z&dQI{@hbn)s3~-of&j^@I(8@2p(rp}Hrs0(R{>4Zg-LilhRv9wQ9NR4ecOREDG8Er z@lWP>!oVdw9#EkcTIFm@QP%4B{L$%vuDn%(36#KJnN$c7-!ix|B}bvqe{2{}8{uuD z)s2v?51rMRv&!qx4M4LsT`)^gC;ElQ>3bJ?k}s?zSR+@v4uV7R+CY_M`s5bgllkDt+&^Le+^s6hZX8{57DCerFtk$>O@dk49gj1#xzBAGN?lpQu%& z7Qvrz(pBV~NPmTI_#XlFcgkmP=*wzq?Tv~<>W&R^ar<`&_v~R|q5=z12mR$!7J!dr z02b;D-a{L+PfdRJ4gZjQ>tfHv>ex0*m5tBZnfOcV)z_D59p8ni>EeE)cBl1kX`r(S zDXBPyL1TMUE~wg4BDz2ekIFm+(<2099#bDSL>P}P##e7d*jC(iD+r(S@Wcrqnx$}JIy+_QzcV1t#mK(z;3`D95X?QAL zAAm7U`4-?z22ezS7E2d0JUfmy#I=&>$XK+*&y#t+DDRplYaytzv~q!YYoB&|GHe*) zF8QcpcB86J6Op;#dyKi%S6eiWl;|4dU>j`op#OV~GFFKis8#`dJDq<(WkkRV(Er=n z&$K4@hv=UnXn>?#1DTy-wDjejd@mq{KGXQ~7(k6u291kQ{7UZSaPj+fPoM|r1HpnS zv!`*sGVj8y+uUB`be8IR5}vEu$PfLln{a80>i*yb(&bzBGl`5d zzYz!1%9Gz|oZnlVd7Lm#{Iqs*!Jx)NL`p+tnOM6Dx%)H-mtqdsN@{eUA2JmP)g%g= z6R3wCeF3Z$O_#GN3jy|XwRTU!HeegCc-XT-C^(94OA&%eY^DXRVaSTNfbb)?U}-W7q5)4W0QLh;KmTL__tA*d*@=*x z7~SAmdP^_oe<6*~_#EhAO8Qh=3wgm|dEk2p0OORIQX0*SwRo&II2k{I`PW9X_+Ff} z`yBAQ(?>Cm=K0>|qXi;y9#N^*|KT2eoLn3mUTO;p2eeYrxQxQ(K+T8D0$w1QE7TsJ z&V~eb`CcXysTdAgou;e5ACauuxxZI6&uSQChwxKs<&V=!3&7FM0 z-?PLy?C!9Y(+SIra<7pq105|?h8=H6=Y`zdU-x(0`>vUYfW6uG0*EVkq~dV9iC^h~ zm8@FRtVRoKHM=L<({1sKq^kP$^i8&4s{TK;scDe(5KVp)3LBZQ{`@-3h{>KqZ9Win z4*^h4#r>nnLc_!P^2U{wJn{o`9|7_6`*uh$J5yO^1=w{6%Tekw?rGpjO(3-@gO&RO z5>mxMV9}n!jgRaQwauw82Y^%YQnZ_+6~_Nljqax>?0>%bPS9Etz7GzbX_~>9aw@5AbtNzD{NGx!*!S9dYh1*@UiwHr@Y#KqODN3VaAN34{>w{#0+p9d_ z1Xp{5;BI2x$B-z>eV&m@MAO~P)cn^#UNX;s=gUF5KxL+T&YBPMogZ!4vMYGSY9j}u zs^yB&L^+5#)Xpxb{`dwet@GWj_{e{jzG1$?W)+JDzv^l_T|E!xSB1(BAm0??B>gN= zjBV{)g@a-l~fr#2%sS)+8D90)*> zV_-oHSCXxEq`}nNdJ=CEg~3SN%lqrpJTK=K9Bx700Z8GKh3%}Dt{dlR^3T3A^R`i8 z#BT0stYL(+3{b4K6WLN`3wnejyxhit zRm`n8GGxAbvvPSq@+o)Hff4 zis#rUkVX-E2?=x5irTB9V6#Ep6LD6ttOwVg0PVopi@@i zo|9>~=^VFAZkwqoZrqCaqqv<@6|1KmqPzmo6V^O5AHOt33j-ffKFfLsJJDz21$JVn z;(Q$IUCVQDzyCkEnwJ0hW7}JAp%_`(K-b)|_012uH~~wdIkmHP;o!y)@!*4aAu*K3 z$A%Wt-7Rw2XJ{L3XQUN7>j?UUkT`mLi$-8TDLx=dxRW|i!qVy2#BIYb0YU{#4_P7n z9enWoV9mJ8V?=LlDxxu%V>d{Kd~;(03o`GW=o)dqhr?_8K!S@>yM>$+@8tjcSJcM( zHQ48Z=ulvz^NZ7f@N|@aoWbx?zTeZFX?^cE+>#ss{w`a<)0c@b?~i_yhBzkH?EgFH zMlL?L^E`$WvIQ*q`ICg_7BLbaq2B595iWfEZT|D!JEZw!_ET6a~W-9Z4Roe|Z zT$?tDg~a(mm!CjT;AS5>a~YV+0Nh(zF4;W*y!FI^XcvkT3rkgN`?;3@#jw*!1c86w zQs-~$s2W>0t(!5bd_7QbCm+|XS;>?ri?(f_CmOds4;QDR7kqk;#X5)g7*7sa*s{e06uzlN7 zJ^k&g_j_aJA3^E~gN`x<4J=XZ*VTL3#UgEwG3Gw&Tu%-68HVcE@)g0u1t5Dx8KRP_ z#rySaC%{6KNcROh8Qi0StPLh`u;68*MO8_{LGq28!EJRJ+%|hJMX>Pe!M3tL3cD6) zpg`*b@{Ya9x{(dZI*>5L^bah2hz;BvC9qqUq9(eCYQ*CZsiAs(Fs!8#@{Y9|n>K6+ zeVK*D-)dfDQR;h2dFXy-q`Ke_j^C`};QqyoBS;-~yh84xxR?=k3Q|57Cc=_WDDkQl zssiiEZh(SV+HE~GSU>CUm+MwpdD!8NPwAt}k{ODYNxx1;Ty-@uC}i716BbiB>LNiG zdT`c&4rs@^p#ofS0I0kTZyQd?U^8X8(3}|NF*b1yQ62m$W^|9d{!AlvpN9@)>{>v9 zmNAFil5EC>0{P*>&t>LN8u7+>AqY7L#fS5$WNt!@E&UQ?1ouO(4C9Zdiz(Rz0}^@)FW({}%?V+&`W zj?t;;0c7-_+}LE^*qcOdd@1>U`=kL)-<%?{|H!C_Jl_OWtZ)6NF)0n5m}}aIKX|FS zW-74l2d6#o3OoUHH-QeGe`C>mn=?E!Avgx>01wBz^TwfpPgnbWa6X5eWi%51w>%H6 zgtw3DSY3!Q7~04K+opJP#i0^vdaF)k5YFGn5lB82tFrDBuowv-Aj-=~_l~m^hjAqN520vEc)*3F$7Y z+v1QJVwiQC4~0c7nW~nZfnc~Ma17;O)=*CyqS>ahjUR;6-Iraoz?X_edMBv@M=%SZ zs_c|S5gENxw5pf#-qE6A$tuz*t%d*)MivfYde|X#BM@eWY_Ba5pQ8IVXrr)0+wMaF z-Z}(uyoz*Rk?3FP#;I(|M)c29%72_ z!!m7pYam%cl>5E8@xdnt*9(VpZ!+cyo1#6EH*Y!&Mdu^x#QWB8 z1$DgLIL;nur4*A>>vkYq9w-Q@loF07dJ&I80>H@%%0kq>wCfM+z^I_J&fmkEg-Z+8 z?9ZK8QSU6%pt}}DJc5++Qw!BZlq&|eZF>xqyEUcDSK2#k3fAqSF&I){$_9&?OI_H{ zB|$B&w516H?A7mLUHI1)d&a|;oaS}5_>MpzlV=+76)BOX_=d^bRk6A)QZ0Nhlh=S7dj=O8r> z6-c*Md^np`Zz*Fh#aJ*Y%Kh|~u{Mln(TEiQ_+ZdIjNqB2kfjSLw_(P40Lz+0wEKSz zCV)KOZMafm$eiR+E*?^mK+uZ&1s%$^FT>YazYZ`5yqWmFvVn7-0%v+izfR7OuMOoI z7k{5Y9G+;<@y8cj{b^v22;JQ0-$g03<6RCXW{8{_yo+?t8Q$7=Ub(4^&X6 zA7NT>Z{3-{3b{((e}!eJX;fktFO4z|wQoe^nKF-H$g&0k96u5N{0~Nraq>58f}7x8 zAPn}#pLS-^=+SE=g@}Xu^u>SK6?!=~SRa?q@cJrbWk1TWZ&Ilve@fL2s4q=F>&yh6 z$-LS4i7Jg48u)8+yT`X?I@|)Of{(u5-L+cVuO+l>_aSRs8F^iB@nHmiyC!cMG+gx; zzPdRWgDRYaX0vsYym)0OeQK%s$9Px{8p>lFz7W04Bm zbO98BIe48d&_$7O?T!>f2sTW3+{xUl7Ot6ME&dExs4_)DSN%A+b<--_tF?Tx1eXSJ zloCP$V$|A`3^-z|J!Y=W{UtJWT{4hDDse)trJ&{<9|H$g03b}qH|B-ndP^A7*=Z`1 z0-w+*Fb1EkbSi?#2_x(dv^P`UYJ(9#gwr&KO;%ba$I(^zCcYO9bwKjUWlPIx zcELJ|e^RBdSFzAc7h4<6kKgf^*m=dPpWLGKo8Dn2qF?{@ZQ z2ZN~r7@>+71^~2I3~C0wstA>8z8iGj*&l3k$U_O)MKXD4;86NRO!o?D(6Ufxqg*;g zLWN#Y6mq^XFcC5S+htqL2K2AGp$&2ws*fUdFSyOq?MP-Rb8B?^Ar6Nu;*^!Wo;ZuXuTGc^bBf#EpB}_4Vvz zxNM8IH190i=yK1B_0YAxyW+n|TnC(Lc~5v=;7!`%0r>MhW@ANyh;GXrZ>|AH8<;_s zAgAM3b>5hTS zC+q(dw8F*Q!eIp6huEz{m}VAlQj@(93+jj$arY3bgQ3XYWeUy4&|~AZ$)U97pa&7@_F=fu-Q6dM zt&sf%N-LKoI?9obKbeMG3TxRnp3zaSf(C5>wEW&v!b#vAXxR%ArW^iKlK91~vv2x^ z_ze<&5O!~nn%eQOeiHux(!GAIT1?ha>t3`Ti4U2#-*&@XxRs>whtJGf3;lhNR2yRMO8{szT4s(b0*wmg!Wda8>z%OL{>oL@JC{rO+?QX#}#6$iPe}G~7h7DUGpqsIhJP&6&0S+GiLlZkd$l7uoU7gsgvMe%oA`y5U7Y7DMd8SQ(K5KV$ zxeCgMiMa4N9;1LPPOI|ESuWU)K(lv?HQwhy<7O^4p~562DHA4?qs(If^x~ZHvF{ML ze9Of~pk4Jh5|jiX7Q|}6C~$SGm{FJkzz{HGcBUSXxb%H`{-M;b-1EaeiO?$Ba7M3k zJ-ZGz=-<7e3arsQl)`_sr~0Qg0A`YqP15Tft{zRQbjDGU>!9fIs1w_JsLAg~W%=MB zSF?HB5n+O5NH2kATCn1%gp_#uM8@*S|Hv}u({9K??#zJ@#gQu^^9Znb$nCPwVsY%l zF)owKsfy}qUsIqn^m~&+D4;i6@R?ohAc}aepwAfUrLx@9E zluTQ$AU5IKBQ``Vs|RBf&IAtEM=?U$EC`aktAIR-`g~xPP>_Gxi2b_Ss)OIP4;&85 z&X|VqqS&4!J#owrnpKQ)%Kx_(&zR18>Ys=D<89X0LPR0bL4D+qq#9E@R6t<2(3Fwx z<&9n^RO4R4-5?&6-2%tM9v3D_J()a282<+!L#KyB*~Ph z)$Jfj8W$p_%thTgdv_20XdzH(2c%!%sFI zx!kysO^j}uiUkFfC)Q|KKW|F|%WOy@pJIzU71lq<68!LnEZNjQh< zydU(FRDt^HOCSHmoQeYfBjPw4H(IwpqxP_X}(gVsYhOZ5$P{sU7cOEHeTWx=hD z>-WBa9mwm$Hny@b8+yxZQ#9YUox=X*#qOqO4+9hx&#m#xu_}iBmwzAiIGWR+p^pC~ zaS9dQ7-A=CGq3+`p6Jx#@CO=j18=?wx%k!*HS)u9Xdg;ceCw&P9_}nGjKTj(;rxPd zz0v3xLAGdcza2h+0t~Legi%MgJyn-H54QLX6_8?|e*;j)-vPnDalF^{wry_-^MF?) zt%hP==!Ji_PF%)4dwI6c27suwFc;n6M05pAs`r4TGP{y5gr`U+{%O@H&&(U_HMV6M zgB*SML&T$ECb{hQOfbH#yt&?xsitI8bsu3g>!Fk4i=>Zh!m;J?rb&Ha({yi_j84Ka^imvOU1kC!Sl^bNA^F!i#LtFSnz)%a*m?SC=ww z5bNopU8I3hp=IdKMg~ZrD^0Y?qk%pEQI06fc(_oU@4Ij8h_C04E>^DY#}a|PE<}}y z5#(QSmTKNw~` zv+EoCIu^xMC*9Ly=hP!5C~52b%S+~?%70!hv^g~dQPwj>=PyU=?a<91W8Gz2hi`2Y zwxbrY`n{)4v7eqR-7;O*f_G2q1%0+qS0(kZN*xZZ^o@V(F&#NQ9yoiX9$?Sz&v4;o z*Z7xaI1TSoOzr~KczQEj0QG+Pz`gI=idB{c>kH$r<$AuI-J<6|*u~<`$!CN}ADB=R z%NeH{3u*d({N2r`VM`;uw70Pv;`TD1Z#P~J{V-1;&E>+c9ihL~4=@tZPih8hRQ!ms z{W4RW7NXFI;;e`Qdq)W%4-W4kjcI&c!_Rk%Ptxtkg?qyX>?aFdFKyE&3;RLPgF`an ze}7E|Rg0`C6#RnCO;hb>_&J1=JG!jM$bmFqg0zEu;9ji;T7vh{MI4=cmn_Fp(`ZCN z28o^E6E3DxYjad|33bvkLIc)@dkl2^vqfeN5tMXLDvlL^b{>4Zy1@(vE`v==S zWl_2SYJB2?U9>B!R<%w0!92cf>IfDdxHkv)^95% zC!b|{M%z+fK|`l`eKCySc2Dus=He`Sb#N_ip?(vd6cM+En!Vz_IQcE^-dtXIXX9A> z`b&S0oCWifT4uJYaAQzz?PTUY>>(shnsQ;;7elE9$2f+Q^DJWIIo2-Ujs}Peud(<3 z5&(v42_kKU%WDN}BOYSG_n5_H|1BguVm--X@SUEx&Qm0AfE!6U%ijGJJA-Ncf+&g6zqOt6^v<`B5&29z~yvY8*B1U?u(1xLeeL`Ue|#L1WGyiBx?|I+X^2^MG>H{ zB0FipWtv#zpI)yTyT9Ce2jK~g9*$2E{qG*n}x=T?r1bNz5n5TQUV2B!JdXzTvD<#^OCho0kYB&NeXf6e6+e}a{ znjaq2D%Kvfv-&%pEUSpJ!d=K*CFO*o!qI#a-+nMz&QFEK#&6Fwi9)Pzv~FNV$Gg4S zfLm%V5VZ@PQv6lNdu^UX(Jg%wpg6#7w1C0Dt35HNfOkhw?m;#QG$01w zB*4@o4bLN4;sGI(HI7&jU}|L(wQ```6OJ4-6|8m!ureM^TVu*NskXS44CLB&$@ovx z<_pCf)^Y~k3_%Np!Zf%L)q})cdSMyK(_#$mK|Q&-krpY;0s!~zvi26bhc5i*E`NW8 zy+37LDubuK&-1m4^6Dx?_+lg&l7w93c2Kh8_+gk@xXMX*7W!yD( zfTIyrTYpD>cXcU>S&GhNSx*Jr+H2Lo;N~DuW3iU0E?^R=KNnRZ-3BQwJNV?){g2*! zB2Lb(Wzipek)Ar$=BmRBgV1GIAMt0FSyVZn_`vJ8dw{A>?Jwlr{bEUhz*!Yy*_T&MY{ri#uFPX?BQbzrUH}7DxxcTj@$?bqt=rhit0nU52#qlP+z}??W=% zJNa(bI%A`meMzCsKY}6VYB9`*Fv(vsNnv6Q5A~?pNeGN`L8wKR*hzk`nTwV}Xf=!1 zA|8Yk59Y*~m36k6M0*S_PeH@p%D$^p5nIFaZCHFKucD`7`okEMGMe-op<$*ZL*@(m z@Jv3FOlhh9Y_&K1nQ3PelCt3WkkxTSIAOBlVp|7P1gXp6}UU27_S^wq=lHIMY7 zs}p2&I0@JMGCrJv>!-pSg}x6r(g=QWXYA#iy1W<#Y~#11K)CNj@rQDEQ|W;SfpXUm z87TntyfFCatT4WGew-{9Ym) z=q9o9v{DN|hJ^ee4n5qtxR~S}Hd(ud^2i~y!IXOcQGJ*kf88hF(NXt1S;0Rd^VMUw zk_;w~{g}Z70wK5m6wd780cbrX_hil0+sLIdqxfV=rReOaZ2$H$`&W@6YQPvh{ z@VI94i$kWbkuv7j=By9$@d6437%Ii-X1+X_)xAmn&iYJ%giCgTvmf zJ0bGOq5>7R@2Ijd*f}HZr)WlSnbDF|j@h(JFa;VCn|pci4s}Kx%u%vGDFo7nK4ook?Z1@0|gY$Zq6;&=8*N9`rkwjH?VZDQt&8iTk zYj>a#N~i{i)jeTQDV++>%>#X<#xw-fo*wp7BS;>2F~uA`fN*2{B^zQzbzW>L2d)%W z0jP|lu&x>0p7cPfvyM%BV%&JQDn+BS_-T45y8GF@$cdh-rtAfx;B5H70DhCa_4H~y zt$7P$%HMtoRQ0RMpwE5n4&tv6Dt`kx2_y=TF+BJWTQmdqPmOJWNg z-~a|-nc!2v^ms7YvRA^%mEQ1L!k&M_r9W){j#aDZ!yP)u#?QAOTDAq`ddW79PVv8Q z<6;Pqrw!Blu_GsU%rdrLiOypxxGT^Z_aTSA2YG9F3=~bH+?nR)69V;ng$b#t+K5&> z$u6YNpcBEaEf1?{-Fl}L4T3G8S7O66%Wa?%a@7(caCuj0qUip3Q7 z<_(+Zj0J4THn`^1MyQ>!hA-A?NqxWYt*uzOBcTe^)nq9}#}N5nv>Qmyi_B&ITTq#6~xg(+m0LLi_)Fat2Vrc{hTwZRdWKhZ4d->KwkG=t|pjc%~hZ5;sdqGUz891<##; z{!ftkeUJX}!R;#p*zy$=qJbaOIofE8KTt@d=3sF>-4&QYMM{JRgNT=$5i(&B7l5K2 zO&k!3E#Gz{9rvt65FkuMS!M;S+ZuOuHR`_a#YgB3gV2@Z99NR~6^pPV^=KsY?5##S7HN;&%_7r`N)h}f9>+|Db>HSQhED!`OGHP*+BtGou8I`t4x8h3gP zn3_z5Zv#cih4UwH_6m0{yc^Pv;tCLhk_t*$;TW>hCyuM*PN&Hx7Kv*gNPCC*R^jiUg7^J#J*AI+$*F@+-HQ=7T6ygwEN zP9(5jM)!BM4m;s`k-L@3L{5U;swB@rXHVi*wwVd=C5sJtwFYT#PJPRw7E@++Dembp zJfYtcAhsJa)-aghDSaPw1UDLB$0Z$)k89p^;zm2&wPs=(RZHP0OVYaY>=U47fDziM znA_-p?=0mv1?xq4|NXyr+_{Y;a08D>EoBvO9KI-i<(0xS^$iwjxCpQCq-fkHW$a| z`^&5FbIe+U8QI9K;cVjHJ(pe2gh;9fO8FAyEfgu zS|z8M$`wpA(!?*eQ`QSIl4x3I1JOif#GEJOJjb$`CQgD}XwnbOctH7{QJ9MRWkxvT z73#fRFh(MCw6gukmMYlR;Wj`YcpIGO-o5LN(l9(L%-mNV1+Bjh3Nk^_gBZlXcI|wz zcph`Xm|a6(u<5T+g&Ri1z52)!i>z5CC)wN%{RaHI&_YK4y#m_8RqG%WMGRaNf}5Qo zu8q7h+fnJNcTf^k-r|*Y0(T=o5l=Gh`Y5Lo?EYr=z$XhyFddrNjA-zgS}4R?0L%P~ zc?q{{6S&hw5#|?Mee&n7=IR0pLp(-FlBk-)#0IGa{VvU!H?2O+3`cO{^^Nq zXC`E~r@h@d=gKsTmk|5R}X8y73iaa?h4UJ3i_>5`(XuEh?XKg+)!M-~@RAUD6 zfvwLj{Ef#^_Y9>+;%}n8?2Yq|?^Er+zN7Box(A;TN)8oo>m=YzjGf1@T?^A2Lj)cVq&wK3U7@ce7TqjJDx zX}Lbu%H7BR{AwIL0sqwKke(G5{CLZZoi-bp;jL&u2dSQ-J)V3!(qmTL!+IO1H#9ru zp@Axntl0aNx0JJ6a_>F?;QQx5tfTRp7(BoXi7^SK>e+hw%3mn$=32L|~cqg<| zp7W@`XO{Ks7FcmTTm{>WI%v_Psdp`@d0Vm-yxrPfS%O8k32^>yLGrNoHblZf^!(~L zTE!d<;7tlDX!9tD^iUp2SFZsMU!epsY2;z*OeZ-XAj4YY;pD(}km)>342`-SK(#Mg#YM_BTDL< ze+zqsx;zl{d1Rte{Y0C^*dL)-4!<#x>&h{-;%!&PBLc6c91_+5*26Gkz0QZe27u*1l!xKkdU1NZUZos`o{bAU@o|*n@B^I z&X9LZRt<}?WAWm2x}utML|R45k{fYL4lk^l#D^imLY;R%)lKdrDNt%eiN{<_f9ch@ zR@omS9={M2nm4QWa+|RDBWjP)$2bo$=Cg{GJ@eff-a#~Z4*OMh3kojzN*Cj=f%uH_ zgk}0|kCgt^giQ$>#Tv5ugFQj35M$pvG~bse?If`*y}hoR!O&Z;F|^M1<9KWF@|Gw5 zAi^>v%n>g7cyZA2Tag0^--+!uzzjd*GlsrA0YeE%T2JE?NedRM_Y5m9Lr0hqC6o{J z#4E6shW(Z<-N+qwly~VjjlgLSg`RaERMxtRCsL)>ZTN%VO?M=q|o)NIWTz zzYc$h8T-k~vGDorKm>O{IV9^OLGV?iEBQRn#x1ln+u_{0FQ2pRpSk91eRkC>Dbb^j`9#6=vN$T3yl)O^`ToVr=FihkP6i=KCh&# ziSX>N8!!&~0pkyXkv2vlSF}Se#TN7VQ{TY!pVVfv@_nutsod3n4%lc|(AlB2by?B! z3K4YjWq#-gpengfAMebdCwg|yg`Ex;OCP6z(a>jdExRT3(lcm=7t$cvPk?i^JJ=2p zmDVB+TO%NHEt3~wuGFL`i~|Vkh&pKD0QrAt6bViB7*DpWpb^6~;Tb{?+*#3(G6|QjI3O|Gl#wIp= z-+7xOypWO;_N_8M;D{SCeQl_*o!;57_=d@{Z?`X`v0fZYKV>?U*y#6JPq)oFmnf^DkJ5|N>LLpoWBuDcPJiYB`C~fG zVLv|*;9i#QPum6+nL>GXlRw=Y{+a6!*B6!ViQ41@4>ui#vl=}63in#%w$K{7$*K^F z1GgVm7+T|CVBsz;7s}mVi)Xt@5cPklA=K~dD6@VsEVV)R6W2mQ_rC-Mov|$VM(i;d z%6kp1p%2*cc}cPr;^lTUP$#MN@M#fN<#<^BS>&6?-1TLXllj$qE$G10^h!l9gqk#BUZV{QBPg-P#AUg!g@uNCK_rqI=5qFu#mvKO zRPR0cIe3SjwFv~(grF#&PjA=iw*A6sd}YHl9s|f(1B1vACSK?4SOr{0aRI<_LCAU) z#myG*6oI-5=xsot!TJ+)qEG&Bbt}ls(mwF3m91PGV5Z#!lYPE%VLt3k89Ld(kU#zsA2U`9B<0->9~vN}Jk(J4KAK9Kp6Ek& z_ru{QJ1>6J)(HPPwy$GvuQz02{nlJ*Jf4hX+iS;BAy|;+*ozfA{?@2=o3XXCjPIX{|&l8z6J-@Q+3Dz@!=rXpXS3MNfA!l1i3T zzu{?ke1|~I{KyGpOL(Wr!_RD?{vrFoO=k|!u{+*&7rH1(K&<@0O@yInmC56--uS!W z4z%D)$jduG0u%I0;vm-VkO`Gzln}binzX?YYYcKua?C}4Sn>oP9V!&3#w|l8;@2^GkQradK zC^p)1Ej4ZfEc6Aq_h$36Kl=p$sl1i1mg}3S zgRsS&TP24Hk-=!4Ahrf`)PYn$+q-A|3h22X(C_Q ztqPVS(j6eH%G8jP(XyRddHKzuQ0h^vkz5qLZrPkuR+v{pIxoGE_#tD=_PwI8EhX9O zoI|~K2%Fm%%GhU9+G^WNQvU)3F^FgGkK83eiObyOvf@^>vQW&!LlFbzf*eNCtIkjVH;C}c3UJBAVa+l2qqjjTYvRJ4M6pmE_rrRt; z-naO;gXIZwjJ}ZH1B$sj58H^FFknroiaV)k^6U#e?!P=t)BajTBk;BQERvJpDiGh+ zM{uY8!CY&fM7Nha%0SX2)CxwyQ_70reB$Ifga%}c66EI0NPIpVN>+!WmsN0AAc?`} z)puI#QZOTRmI+KQBPMN(&Na7z#!`~KTv*I{>~Ho7B{+{gk&-Kc@PGq`3$HNJqW6rBb6b7*wVIaP=1inkUY@Bs%0eb7L??>{`x@2ROf z*JV4yJY*0Z*dk`gk+!bb@dpQ@7o<)39M`03Ea}?18d&rh^3m$tNKT7g=yW20e8{kP zUi0$7Zpp*nO<&CDc1sfJkpD4!)eh)gp}_u+sM6b|$BM4&PA+Ls7Qc~ybVfF#=!ziS zFI{j>JBEa9rhKSH$fqVivmWyHe(}wA(onQH3f}p`9n)YdFCvL0&@B9exgUO_9M#>s zzt{L@=hjX1cb?>?F4u0Pu-y$pO=Tap7r62l@V6DYAxZmEMCq6z&;zsKv`H$jNY?%n zBhXCb)Vau+C?CB3y_r9FsiYj6nX=XTSIrWeq;q6D;3+T5v%eN&P6d3<_}cKmRO7|% zm7X6@U%C;!+FIZByT+bL%{=;5UE%1G<(qv(V)s&V(wZZ%2iE6f=W>^iY>CAlu4OxJ z;`;SW`Riwp8UE?!5wvYQ?fRs8%y{2QMnJ`pJy53HZ zSFm-}_Zl~EqpODWfw{!`CgR;aE^GNea-F_Bsn2~1XW@sT!>VhYoGltOa24k{aF926(DhVw^BN9as(g zlS4873#0ei%<*ro)N7~upE9&tH`1x~KkM0O@NjR>3HEyWp^f3Ay&r8!qVyeT?PEv2 zGz;IGIXxNH|J^BQvOr7}@*m2MRvLY;$3Ix;mHcTX_SSm;@heZa{_uC!?EQUvr8BDX zUqT!EL=Y-+knQw+7jjxhuokoK+RRCGua=fNK%a>D4cVE z+`#XK*6PAARm*}&QF0+zoBB@nKANk*wQf^{W#JM5E~wx(V7xf<$O@^R4eY-l4WKsM zsvfhpEVjAH0WsdiwWM8h7uN*yj^2=lrdqC8msZp)Tfc!drSXq!JJhDGYq#XC%*9l7 zUT;s&=ccChumFVzUfuhqY`eqn-<9>g?cN-^SbQ)%+jXXH84DMtZ^t074 z!6HAc-UwgUazA@;rL{i;u!rVL_ROqd{?Tc7KG5n#3e=g_SvzW3D{jzF9MqsFU*Zgg z5MD^G73!nyTdq}_9iQxaH;C0+GQH#Gx)x-a2BXfKTE?AiUU+9?-J{H*X6NQhBj_(< zI`b7fzEOAXlS<&^pjni^H!*SJy-uY}+O0N}f_vh@cO+45vo`q|#ice&^t+*TM* zxI9&RY&Nm?n&UU~S2U>ixEUnWvikXd@~0L<>Ei3dU%d@C`ZTHjRwGy01K%%aJrVj7 z(_2-zy5ek~@d)L>rk8VC+i_Q4M*WzRd!%u@Ak5uO20DrtbZqLmD7VWT>@`;`tA?yc z@O}C$_njy#0c_u;jI~>7#pe(0Am;`D8u<-l&~2T~NJ5hLJy+~$-+#`Ru7%EK44XTj z#DAzKf^}J?cK51rHg*sG#qCp0|JO&iNGtcTH^}tW7Ec8jVT@V6qBIGGpTt|&N~$D{ zB1@SuUDH`xZk_2(}@6%GQMr z%htBU# z4yRJk+w8+x$qV<$XUgmgR!Lm;hCekU2LExL;=_c8(hanYO3~s*?d+}oD*plc0Vk99 zV|$1i>T?}*fo!=2y-m$mbbq*OB=-H1{?|(m>5!Lj=#GVxmt9t*^Ovyl*ft7L+uf=% zwXrZEuZYS`<9t;?y~L|RyFKd%^0kN>+^)U(-`79YwMr^dF#I55IvQC!GxF9S#ZR95 z;JAifTSHX8*{=&q_cMaB=<+#BRsS3M$i>RBy0XetUfqs{XBX$3mp`rgBl3J-OV*2Y zP0d$v+0)^p?t}IH1%<8eoMop$dMz@Gf^R*ve7ATy`IUl9ZHHI3r)emST(64s+<;(GJ=- zw#n^08#=hMXwtU;ZOz6NV0TT zkM8!sq-U|9D;vP#>rOfWAn&~!TUxx+8Y=9+d+?-ArhK~;Xhxv)1%q7T=lOp8i16{& zeP_5JJInVOzw+$hAe;8VbgwG#XiyMx;but?&?B4hm8u!(Vy@|@~8!^At{7K(f?f3)TbsgA$zwfMj z@e8^W{?e4}KoZD1q z0#7|&mLG`x=fme`>G%H!8Biv7hwo0G4C~agU%vask-Sl1Ad-DOgV!Tl z+#g>B#=YGZc61?_HYt?b(jRwZPe2>nkGxFq*G0HM><72WedlhDkI4dCcYtTVZF~Yu zJ!|@Zr)m8c{tepOT>qb|M~|~B%8zZq7tFp3Z?1I$st@ltLj5z;&+0Oi89idOpV-t1 zOujg1t7Zkk@D>-;z5z4A_WV?LE0o%BWSvBMN}2b+z-3PL%}v?u{L zW|gke6XPU4@NbIGN6-IWEC0*4t`Z;2r2lF($TzyC<80w0u&=oH`a43{KM8AD()_dJ z3OzmORlJG`RT-)N)8DmyXKvEueLGGhS1$=y_7jQWrs8j5;7)Djb6fPU4&O_?J!uzr z;FgVD96aQbJ58AaWHto$_Kf$o(q_dPBxm$z3vOW!)ICFJ}2O?Ow1 z4b(SaXmJ}_su=T5?Eaj~psxMJAFoN@Ve{zd8&yP}IeqD>K2)RDh5JJBh~6-P6EGhQ-^hoqH>~yz>7$ul9Und3I)o1EJ;ldlAzijWV~>Yu*jc3Ngzu zrl&4F5cwVa?&Dz~Lx!_=Dea)wBF~S0b8yO?tZwJF<_=auFhPatxoMf)Pkon?o)@`>kG2{qj2{THN8`U)<)rr$zTeyRt8dywYKgb@9*lg@gF}~nqzSPpeu7CM_@F(4j@F+7mZdB*w zzZ;Ejw|eT`Z&)0^rpvPGBn7!X$rUCJj^n@vd2DM=C8%DD)QCfQ*6dtCy@QIUG=cF0 z;6s;u^U=Xn5C00I6hzT$q}pk;p_(3WMv~tQdlYVG$UVa_oT{8u8%zI(Fxg*Qiorem1tJj z{O@T`@Rq~Cdu_63QAzE^BPzQ+1GU7^m{T`k&mbRFO7Y4zEvolew(OP`20rU&gF*YPWwwe)==@O zME?0hmnP&4&2)~*HEV6mQtZJV*|X+h4angg09PlM-L;$hOyn7P8DEq)0UcBb=+D0q9b)zs}HcLNJOR!z3kH}&}1ouLyHs(fL|G^`^by(IHL13LV;`G7RJjCqt- zcJDa844OWI?yRG#AND?cAT#J0E8Hl3yVo1@ojoLzkar|SHB4MRaHe#7M|OL!pu`Ytk(xcf1IV1@nHVtKY?WR$qu%j za*r<-UUr8IJrWJHdtk}g|2y%*!W;S(lW+F4noiU_!}nT%@8e7==wA@X^PiBdS7ut9 zot9E@FkAZiE3>$uzA-(U)#q{eY*G}iDT^l8GH`7rzq@o zE!+QrgsgJkaOha-Q#E%fKfn6rIDCrl_2VPP=EB<>5KV<6cP~A4UisX>q_!F23I8$A z7Mq=7o?VNaW#?Xuy;ok=^y>b)NBQ8K_p;-+Do;wra{g|@Ub0+^)@qMx$wxqAO=`KR zt#+DKfwwDf|a^ly%^@>FG*(OBba^AJn;9}{E zP6Aq7>cOpN_ee^4M6*~XxUtvpgXm)Qoa6}hDUaY4J*EdIDSzPh9om$Uu2d@_!Z@8DPJGR!0s6^^R zkWeDlDO$?k93Mz4C|;?3*K62bu}KHG)OyNKOe(u3_UOJ$i<7lggnvsJh!58N>Gh{h zl{&Tf!D`d6CZY)rwZD*fr2BExhPnFsdS}<3*kNTgQCbe_X2)9%s*j(hqJWu^KS(R4 zM&H(PqcKgmrQ`hPd;LXg7WN`Emi%(J4fAi&I z>kW>x4jeu)$NgBJ+>t#uQFmylQ0d&zJFWgF)`%_9MXceHeaS~O!9a%*y~w#M+l_z6 z^XHY18j$nDK7s97(oph)Pqu2q)nv7T6(0M^k8R)Ie!PCOG9Ac+h4&Vh%j~!4*Hhsa zW%&~fFreDc5Qb8 zx#5Z09zNnM4P1Mvqd#`^@OA^-&JFyomM@R!lbpmLF-oYdm1aaYbF`hpnEY|r65W;5SBw&PXSZq(G^`NTQx zKxkJZ`TXedpAUnw6>*u;=ndbQga6d`h9?T|S@}|bJn^{o=&4Ej_j8YGeiT)N7p7e0 z-q;uPTOLe#>!4m-Fe*JwSvoq#)o1Qre`WuHI(OLl=+*|&%WBaG=2B)@$VLgABd2decv7$pIX%Y@1D+|zZW?7I@PB?({ULS z(vM@0-n~`06d2tzgl3VyT%6f&6!tu0gnssqyn_huZLxehQ4}A zNJmd*PR_ObncRTu8Cc>^|D=EF&=Yr)lWXK2Z9)-U_~`QPi|>CCxZaWMa!01}&t>;W z?&l+8xoSfyY3qE$!*i(`^TuVzAYjmLe5@bKlu+`VgqiZBA{|0yW*&#m52z*Q5j1V>kOWinTN5 z?q!jWlB~BmMPck?Z0xWexW7qQUEbRt8GQ^0W-m$y?OW(uznSBuHtx%wL1j#`=ToaS zskI67>7?xye@^zg+#8z-ocP1{Cj4cmNqVI!kw1Xo>uI%Xx+{Ak^M}Wj*IwTIf0V%s z`6GRMKxX%PC)y`}=iIvWQwJzQ(7!cQW}Y@82LcAA*A?)0(@EbtwfD9?9?qUTaOh3_ z3tYb2QC+LI+1y`2Vb|69Bkb=hzMdK~+bPY=3TeuHQfmaU5_jcFO{qAECver3pS=fw zZ?k>(NHFATe`iQxtJrC;*X745TlxON-EuVz6fcs-=&sq|fAQ$Piv~^;K&5$YJ87de*k?z;;#N9c zS-C{-AO96(&zx7!?OED3?4=SfYV%LxVEDkTV+~a%a3ufIM+f_U@p1_((g{D6c2Vi#yGWtDC|T{oMy%Dp>o0 z^rCL8FtDZ4VuwbL_f_ifc1uEiT=wX%NQiHJ#rV9L2_z3az5+e0%DH}jJYK6-mP5s542|8=&y?Y2~AJNOC)eT{B zIkAfA-N=t@C$L@2IqLNnu-ir1Za6y@C2#7&+htvw4l7Uhu&N!7IJa0$TZri7Tm1+! zQT~rR4IRG_RGhfi@>}#?hsR(N5Ec_zQ2yDz4;BC{ZZhaHQ@Ssx2-j|fxyGD{RCvLO&tp8RR<%C zaM}5L&K*g9dso`3Ka+hyIyWl(MC*{{hyUwV;&@!jl}cOtnf=OfrZ)_~@sM2{ik$Q* z2L}Gr2M;Y`zB;mAjcgU4v1u>fmA@8tj16DGR}r+YAYClJFFH25TX`Ea(^qvSO8M&J z6GqT=`lG48PF|!v%K8c=s9f!cDufN{kiH8V*bypM%V1|lTy-!M{6t(hDxTc zY2$8UCFVPw?ATkFwG^{R%YL*fA9joW>T;f+4JY6wm9-tWy2&GkP&J(Y7Qh@t*Q za9`_{Re+O=5e_w%ymiYbe?HCS`0#{%Lf?L%Z0PR((TDphp*p|&D+M(dumQIod|)+E zJmH--{+X-RIavCA-&)UnY4H@)U26^Uw`R?$b-hm=+$&(o2i~Ls<@-(?qSm8GaU2|Gf6>;qNyxI}5jo{A1mf?oYEw&=gH+KSwij zpW@P&#(Vrz+t=8{ABtGt049C*T<c*tS#Ruh0icS z%yhW~R<6qT{u7H$`v-SVmMZbFa=z!4;y)^&cfU0KxA~dprz?bX+5gFYZ0ViwvL`}K zR**wwx3tcG<&yd^75zOPEW-Al1< z(Lgg%2duTJT>YT}!Gh>Q$0}ha4jKts-t5HmKnWn+-L(>>qU)tBoc+MrfkjP^qReP= zXqV!&^X*lQlXNgu}(WmFq}kv8Z)d7nZ7+wk3*zE{{YW&ZX4M2C2Cn13Qyw zPNt+;42vqHti8+&MskygadmN#fvZJ(f{6qiqKRNfv<OfLm z^+BYy7%fzlhijU`?o`{++D-{*wnL(wW?|S$($;qFAc%RQEx$k}*cFwAJcQ)KZP{7{ zLnbiVNE9VSmUeRsx*S9|ND55Ho$h{%MOp{yUA(6WCdmFSqBfw57Jx)i3C_`!9rjSl za>-OxU!y2r2l*)Hj)(P`&QVE8lIc|sY_@hQfJSBnP>HK|T=XL{NFjm`c=dG+&5907 z6{5Nc>I@ap6EYS|%QNM&k`^U0n7o^8Rlp=K6QP(O1EysKOS=k)6JevW#IqAuK105PKHFA{D7t-?+a{+!%5{5b&CNxsmzF2 zI?B3w4dcpEGntAO^Y7{v%%~Jf>#C9}U-fs8q`t@!CV(iLZ2DnDw=Ojqt=|52OC7c4 z%yGbxgP~fnSZm$X)%A{5w&YcZ*sVle+LfdQ&Mn0%{Tg2i1M}_*BGs%!*m?_PJnLKs zi52T)jO}WGni`Z4ndIV{!R1Gbf`MU3kj+#T^)lmnZ75k6OiSxnN= z_!P4EhPj%TDZKJm4RLm}#Zh=kmZdTr9cXzc>&lMi-GRs>tO* zQ5adwiLm@ae`AV*lNISbF{7=y>H_Qy6_n40J2nRD`^08D!|(j?ch`!!^qWIufTQt!-^qK zbR=QawDLurzQ!gBeJUvg-Icc23OPuj)-__OwpJKCYqM-fpV&I(Fzd55#dX=BLbY@7 zae|E&J2eDNYPGy#t$$molq>hzirfz6z^HV==`&ThW>b-Grvdm>MLK>wmGe^M79*e$ z#b7B|#UTb$Hnfd<`AlXXmL4v`*OT5zf(Xx*GnJRbR<9Kp+bs&KZYph3S8=*0_CQjo zDH%ZU_ee2a&t7GL@Y=N1#+H?Upk=8P>*g%_&YqQv4yI(m+@v6Yu?DcZY>(rnn#l5$ zvEDLZtVi~9UaH_!Q%fYDsz;*`Akhc zm=%=E)q7z8kBb5py4e;83~4&!WK+FV)yul|erc`-0eVd>)dRGzE1b?&v+#BwE=LeM zBT$03Wz1F-G{@mZS;q)yX%!(csHGI8Uct>o88bx?cS4$`X)q!2?Bgx5a=u>VUEWCu zQ5q#mtN0Q&U9l4;`&5d6D}&{*s;;9cJ7K6~T1*3?*dDctKv%hz&Ksq;QAdROi|LX& z_F6BpU+PawVv80+EgaAc_)&Ye4H0n}M3^~Hs7tJ>j!LPisH^izI#qi(wp41hG)nPW zk?uFN(Ps<9Tbh_%s^S|&Qe7WbRW&xz;a_VN^!J<_;LwTOC{Y7G>oLs@ww?47g%TBS zG+C^nWOJFTaVH1aCYSU|8;q$NQ&4k11g=&+%n|J#REMhyoRqJd&$Z1>gUm9aQ}5DX zD>ty2MLjiWpB2iu{I(}&$XAx7celo7W}4=3V&?J+JgtAPcE}}*jDjnM>+U-{lNS|x z29}--O;2=lx_m$O2HjZr&c2z2&!#^(^h8yLHJy7;-=BG=^xA_-K6ZR)k9WA@TJ&vc zU!V5B;+^@?`RSSMH_(sT)L(T*>v)9>>cr z{7Qc;ZtI|bYD%mh$ zYQDKDmE&;+L=gvERS;s8Nt{^ccFT{2I(Cc4BLR35nAx7>aHU+YS9DWVZ%YxXwf!`i zomi~b96O?MAh8QpNFU%2-XBi5ySCJvEvO!>+gg1F;qkE(Nwx{*hIo##Dc0C z6TEKF!;Y%TzGU&biouC@@Lxmv&pV36PnFwG^X87`S8HrM-Yn2guH z_a`ZJHXK7V1$ZdpE^98>YC@N&llNv-sRn9(I)}$KpVasd8MC3SzJz56J1BZIwQ>7w zu>h_xoKtMbe`23*dj|{|o81YlmWmL-)a~j$Ibv9?L!s?U3T5b$;*v@s+i54cvE)#o zqlePbju>hpX@`Vj-XZ4!)o6)8MSE%cK66}1q>Z3XrM2YbM)5mFxu~JFQ^(c%Y(5M#_A=4IYds{L6@kQvIJAS zikCBOtYwn{cC;DeTW+{qB3LQja3t*2F|7sAGPt2slU(M3B+BF#)=DU!LKri%C@WnBf!V7u-l(FQ}%sZwrlW*;}Sb7ggZXQ;g; zyDxfCO(#4_At|Ll0iAdVu=zS>UH2qD)N*v2BAtkVC1ocb+cr7aYI!pdfbn9NmO!!l z-IR;k*9@wvRW3Y0@CBJ!PYj9vMnuy8v*o119ImWUje_2aiHu2=l=L*hp#p&@Nw3r( zwTNmm#0(?%U7~fzYuaA18_l%3#3E%Y@R>r|1iD*_l(O=1R2k6ISdiK31*Jt)SJ6Vua^pp{jIlCOtgA~+~;g&h8Hmi7@qiUcWt0Dj-wH6QqLRu(ZYOTUr#-TzjML^H$hO*WEiL!MiT_(!) z`Le;*!&w?7!ds}yt9DaI-%T)*cFC%Q>9jmS6uT{F7pa8!5-IA}+c{1zlbbk(^vOVk zIv{KF)RMbpS1W`HS|z%I8R?7{m1Q{t)7Tyz)MC9Te2nNV3e0O8F90Vu|{GbSVKEaS_Vd#? z7Ry4Z=R!heAz`Dm7)ms&41ZfX5lI>+weTl{MRmOFy3Ca1F- z>b5P-LZ7&4wHC8jwMM3xhJ=O?k5@HjqPH%$>z$g!WC5j}nid1{)M`gmPsBBBsa9&Y z3u5bKE0J8bzHC(GV`izjL4vKOf^No}%d6h>Z5r}29nA04_1TM-I!!-k`g9d$OrNk+EM;64u~*`a}TB?M9}N@ZOn z40bzw6HXS9qRXahDk@yVZ!_WCzLxCMibLWUcqqjWBLG=*KY&Y~9;cjlP=a2O2-u_y zf;S~+({L)mdJ6aoR5N#Pd*=ymF9u7bnH&Z5g=w3#Q|(%xQEI9+x>3+H@&ZmMKVi5@Z~lObA==|RfDX*&=kK4pqtP*SK^ zX(?lCc2@xl&VyoHqM=EalazQgq9lzd*#7n|KhG*tO{fFgBt?OQIGbDv>5J~PP}V9( zA&pGiK~ED=B`8Ee#v|#eI5jw5aYG$_zY!8`ia=#wr>s{7Cd?k;v)(VglR7!&sI8ZKw8e*C;hQ(N=)6^T$B}QnOvrrql|N4-0jdc{v z@JCAhXpfI}?yD`nY1cYig~3M%DW$!XmPMM!K0|C^iHSUPfO}QDCG!}Wvjw;5qqNXx zg06toBjNEoo}S^Y=*eR9!}yT7!i7Co z%OEf><_uXgb|yvmtX+eAY^ui=8&sH$|Gm>!Fsl6JeSN)LSes@TbB3uD5!x3?ovnnf ztl8YsY&;27vBZPUc2}L)2DXDId&hXXla-V;cXzvzMh6C_jI2z;8_b&+r!W`S0I^f* zC~p)Aqv$(SQSSX5GCqo)R^}1%rWEi*YNdGvY3FUIepzc$NOI!&fC`dcHC_QV=C&*; zFAi*mWQ;1 zLj6)_LI;=<2t`%dvRCWBpezxlMLKJRDvk)%s@hoTxhlu)QcDoJkw(MYi7Xe&U$3adCRj|>{W<%Wuqi3z^j@Ob|20BD1 zTWds{Ik}XNpxEJXtra!eINA?ZYL-gp8FzCqEg2~6Vr;M(^B5SkML?Hi<`_&XlNzkA zNrIidP_{4K0frZ8L(WK0g(%bq#XZOx5!F zk$qb^qbe;+y23RJu$CiUc*ite^*H@*LtUQw`QZmw+IM@cEm4Lo>>s^*7@B;j9kSrK zP@KApS&mS$0h?({oF=1IN1}JW@6&>xyWbk~#`XIYJJ|7Cb}L(f+Epf-1(HHu2WSlI z<$0CRf)B`zO7CNAQBb<*+X^mE${x83G~6Q2j1UvCvFb<4v$C2>Rm_2iA&-jdv-s-n zoW`sMFwO)peEf(U1-7V&wl79bIzTIc_XTlN-@L<~TiqS&;$<^N8gf%zgPv`v4dS2t zj#$^uh>L2vwD-P`9G8&QEw{mKP$zJ?y*^KFnHlm8(3|fn8O1Y>VNAN-HuYpTbavS# zSSME_WQgyg9?tC8v;vsgXh&skg%{ja7iT2_`qk=|!j*#LWchS z>7*(|_|iH6!HlJ3bwzGJ1V&&H`i~o_uA*L}L4c`YDhU_Eqf(Icc9T*YLpEv+ytq*X z2cidoa<`~Mz=chx>>Y^&H74OBl6qj2orT2=Es^rb20pnKWOfE4{U}#s3_WI0RjKqZ z-ifrz_o#exr_@-fv@>#zBTq?!CTn@6^UPP&^@e=i=;4XaXk!{u>$_%k3uAW%-Ak!L zM*>hL^$OM@rMS-qc0=t7v;r|{SzB-N)Yu(@lIYZU&>#bz&SFYqbv24weNPHeKGL+n(^U7mmH%jWXTgw)W z;w)yi6E-+BOxaN=tHxQx1$3>pdx#7SuoH$H-zBh)AFyavT#9m1f+mD!c_7Co+;mg2 z3?=FsUA*Quiw?#bWR3 z)LE6r)!^s?L1Rpuf}=G=X=*jy&1^*r@}XLH?~Sg90BZR@N>QLv69nPP8=BCXnql=d zN@WjrQHiAM%#@5`hwJ5}D7CZ)_UK{ExTcdeGhN?NQmr^n`e{a{Zq3(> z+fOCR7HnCjtD#18$QD=j|8Gb7i(BLnndOn*T7kn^qA9P!a8N(!9ctU`RgqurD#2Q+ z00u|!k`$zxn2Qn$scjn+Yf#+{TCSqFSTQ3RCMud#yo_LA!znWB2XIgf?O4~%A0v`- zCLOHGB7vo%l;#mB;`hsXncW@6+I3d5Wi?T1b)t7I-DF8qRsLoC_l08gAl1&t_l<~|96L%=rE*kx*YwNzEf_7E1{LlFIr1e5fLNDSQhrJ}kZY|P z{9K@3X9Zr=Dh~MP*9Y>R_5QTJa0`~pzmZ@EY*)1PNBi?xi62+IyHtxKjyc6-a;Z<^ z?`pbbGHNL3Wrs3S(I%!*)@`vNG~&WM`nGaF>kdz?4Q@BY|4%L)=-OO-~at9NWX#fS%qrV}IR-NnJIVgOXG2OfFA0a9%-jdM_nB{2m9t038 zc0#94smHq|oEU6SmcI2_SBdG-sQo2TGZzW$bLI)X)hb_Wye&`Kb$WK78{SJaJc#|4 z$5_+liVvzKVJ@cw`xt$Z0Tjwo0U?A&+J}Z>Mg=34Q#{PX1x19*K7*AITQbVlXf45) z^Q!K=f~C1`ugC&RjPh_4=xY52Iwu|O7&YugYquNTqpuk)cbB!4P$@8Q6zswQ zr6+~CTSRD(F*W3EMCebRC{Sw3Kc6x&-K^*+PZp3ru>uOS{52V9^$OHP8w-)a7Uy)7>Rt z2_xh(d7KYB0Myo8r7cyAl4|TF5GaPqDxV_A)iQtEM-)7 zTf3~b?k{Srt+pns;IeX=L9QSWX}*neilr6|W2?EgWTV~|KwPRi+%GkBAjvk)JVNJD zIoN20TzDzXU~*?yQ?y!H3{vqbVQXRtGwE$Ivyo`%1R02$VDVW3x_ONxI+BgHfQUqr z0~$tPgJDc<=CDtvI8XK*udN$>Ty4&YxcG-aaS^3Z4w6Qx#aM>6J1n8AH?`D2x4PJz z)o7WlMN_rSi$cc~n&R5Hg;m;vxAB^Dh*m08cxI7T0QCZV9&Y#)13;K-n>Jhg0clCw zJc0<}_OWVH4}=t!^u7L@O$oEp(1Ct6!tfMnfDBOrMNEyNcrBPCUBP$d$l`1Vc0pFP zf^4VsU42ik);H;hsVwNQexd8`NLm56+$>o!ww7HF4BFlOhUQ|=p$3#65ZHd4)7Kp3 zaI+9wC=9<==9F01^1a6_d+k;=d3I%4UrT6iU4242mQ(G@V(a&eJ$j_`C$PuSOul0g z8)zxfIVEs|7W4a+P-XvD4|tvy$P?|#QraKMJBSYq;Duq8;LCP$o^XDgRUt|3vU=0D zn++TvcB0u9%lVz*2H+uKfM{C_{8>^C9%6125-_h-DX?*}-Tm~T`sOeEPf`D-7 z^BZGD^TMz--oY9OYz!B4v+aDoK0*L@eqkPGEo&EYW=(DC==QSEdWMwA?G`{)d`=pN zTA|Hagq0}_`%pU&mlli3KBZ>l%pMUb>m%-#?QY$j%%WRYuj!vx)-#M8)$Jj%we5g3 zfY;WTzZ=LyWK`N7Y-|d=-jdYDxT~0N7WHL>ck-onrNJ0a5R= zs$x}Y0P(c31;)0lBeZ`4gQP~$WP8h21LG(AH+1{QQTiesMuQrAPdOu3VRQ2^kO2vC zWoI|F02#Y&m{3*ZN53-jC%@)&?|G-|)9m!jpUt$9Y3q!}|3j91WIC&xW@a>hH9a#O zoKS4f{O!#2)c1dIeq!c7?)>XZyVJgD?M!B-XJ+~#?^OS#(9HLy;hi~Q<`v0bOvfL7 zaPqYeqBAq%7nQ%dGxOz-TGP|No|(QAH68iK=RUsw+v1P>!SkO&U)}pjWqSJFKTOX& z`6aW(HuHPGJ^jV+pF4Q*fAN3qIzJ7)t^UdMmn6H>n=?l&^0Dbx|7O}AndVA=zW3jz z#g7xhvorE(`^@y))6>710XXu$9sxO$lS?AfoWx1Ulq{pF(-_7#EHSVi(SR!PWJ6`; zD!-;22iP94SJXxDDaLN(5?PpI5l2H;P(rlikWba9^SG4c+G$HkHacEGy)eiX!DgR$ z?)hmp=V6*{RU8xTi%zScuO)*(L*S%3J514XOJ_F-M>Y(GPF1s%HPYIJWhq;smAX+> z46aCQ@T`W`rej?QF)FaCjX-5>0>>+qCaaT&0ZOuKYQxT!qEFM4lDLe@Y)iSz@|&bo zW@(9oEhwo3+wDcxZ6Xt(a-cxd8<`+lBiYeRE=XIYykSiz!E|X^*j)%XHIt zCDjPa)G&<-qN^GbX-^b~u$3ok~n@1R$Jx*J$-IIPW0JM>2d0IET(Q3fT5}%4f9gHr0 za5lzoDLrU~B`L#8){Qtk!SRoyw=1ZG4Ft%3psY^#&cW2EiIEdPujH zj!dSLGbdA!a?y@JPgV?i!M=jOMvv6$1g7lH5Jfq%gP-`~z8cWeWO#%_vNU|=rueg^ z_Jrp1efqT8Itu3`*~^3=gt|A8QDCjLTIrE^PkY)?W9X5^#=%j0>e|NqCoXtD9Lh=G z2T)IgCm!~>v**!qF*1Tl(=mgP=dC!smX`&&#Fsth9BNhhG4UXV%jgidG1=+_m}e{C zFHzhU=y8%}V~LiBh{(b2J9x1w5J<%CFe|2g=0xKqUz$0Q5Ck8BP3AA<<3&EoLP9Fl zc>?yY?P%YSH)D#_qk18J+IO^1111aWCMj<5*hD_0@2b;}mt*sb2wiZ6Joa#5uph&0 z8exdp=`NB3{Uzx;Rd6JIx4};KD%~^`VLbiHU@opu)?N5$W6pm?Bjd?6SnB17 zow%H7KW8F_joJEX)MxU;M@tbAKHH&ZQg&S?7A^LVlmA-BIuio%`L>ctU8Bs+VQFCp z{qaav$-X2yZ*RU5f@v+EnIjZzBp_N5TTTMOA{B{F*`nin$c8*5gptmm5hJQISU42o zQhL^*b#*=p?yplN@RS8|jJ9Hkr~a_xbRY|;fHcE`5ax(u!CA7$5mX||&-Qd3f^gJN zvduON)U^qzqPC8@-2vI76v^~)7WRxel-)4{8Al|xjUh_P3sx~?4MA&$#ale#iOc7W zP(W-25E5!!(e@1~$>j#Ma8dLpMTGRFoY)s9P{1;R(2IKH$ZznBcQAzv=pcgY-psJU zg=4y&F;#aUEA(wLI?ZAy)&xip*aAhjc7pCQV9QRjsX$4SMvx{nsENeG{U=~{^vTmW z`-5gkXo*o?s1Qwu#k04eh-ydAA%6lZz|97(WgUNLkW)_;sG%DxDbiRVpSRR3Q4RHG zRsB4EP$bd(QNihRsAyW(t`ptn?%EXU{vkMXP%cEkxI6a6*^P`h1gbv`Dw|vK8dmf|Vj3Pt&@W&f3Ue9Xr?hyBPhaDWeOAChaIY@|%657_lUc{y{b8h)))n@Q2 zFy6%+ESm5p=NpYey38)C5}XjD_s7y*I;!u9E@s;L>{?_xS{c+D=IQWR_32-p9-l2` z)Ot&DXL>EXP7mr!2ZMAorA@qdSKM);7ZuEtb$FqBZKzjE3wNSR7rdn_R~CNjreG=T zEJ{X<$WSxBkqWJ~Z4H7nZ$>)jO)TfVDNEG!|Dpd|Dz)%9^FS}S^4$FPYhyYsL%;uA zwbom$_g}q#;?-(N7GvIMaY+#gDbC#kE)OL-@j*Mf3i1MjB3iq zPTKUKJU?3rN2tj)CeOG0pz?S6w6W#JLimKKkedSPTCiF?YcU(5_|NX%#5 zk)OGKGg@0J#C~jaoY$&hRxt*?)p8b>FHqNLdXn@--}4Bk{!}LtF{c$vRUmjlza(Nv zkLXTaW;Egx2->d!20-m5Yb{~BO}T?Th@-(qG{@PE=R0_A?oY!o!}E*H&mYc0?GXS&|)l;&gx@E0j`P&^kfZJ?#s-WT3da6OxR@BUvMXdS;!N z+G?jK&*cg1l*MJ?s_aJ6ΠR`G}cnAv2u~d^F>np6BV)kBm=*Se#SghtcUUE6z=| zy&y5Ooohe25!KsiA{&0onR$H(fto6?%laxB9NzhBUc;}oCO`hEW$_a?Q#dhpW0wY_ z_I$+XN2V7wEAhqK6T+P1oK$I;jzowbe6KJzF1q8}7#s>$o%iX@q_q zwga4!4Z+YKjKLctEYO(-HKAaZi?2`6z5Wa8C81@UWN$_7eQ>BXp^Q{sDojYM!(jva z`-fZO9Fyri-g@@1TfwWXhg%%T>#EEb><0^ryYU?4dtf4&4ZK2NYj#KROmHGNnmf7@ z^myXgR-&dxY2Z~I)hSI&9Y)9CpX3S)hCR`YqMnZH(w9DMog^$3q%uNsNbaZZl^3mOSfSA(dpx@S$b`ZlbNQ%n$Gbl+ zSQ)z7&K!0;{-Oy#*_n*1sfOD|$1NqCsllzGY)L3KxagtbXW+YsCbp^3R^}j{110o~ z))$4Q;)dE1qcu*(;jJqagy^B+??)*IJCnt7>Udf{KOSr}gxV3>LnkYUH*-4FFE@Pu zBz{2WFR;ZgI8D#dGWTcDWJTi#DJ)>_*e28TwR45;KR(**BTGongtKsrnZ8GX`^I50 zo@j+BD~^;_cGOU`soOJmYtPeo&>`+4ybZ4Q!f~x{0^@Nw+Zl`PUDesCr?ba)A9;+D zQD=&=gCG*A>eJNFh{+{1OWw&&$H=A?bz_WUkEi@9{ci_5%#yRlhBdQRl&k-vdB4K; z7nR|disqn*QC0-V(BPSZfs^5a&=1cAV-!2nS`d)^GNu6~QsCrMKdT2z3Ml!AAUHRf zC{Dz)o~@4=cApm3o{rL2z$6OvI33eChD&q6F`Enumld)#VbMd!gg-s?)=QQV{Y0wp zDH}=2yZ0*B;&)%Q>#3bPciZPFwGb3lELW?+JKtMt!>y(~3g>4x;9l&q(p28hds)H> zJKmGFryz4&%Uy1_T=5Y)JPQ#{nwNzUef+Rt?k}Jx(>&SzpW8<(z49nLNSi-%`X&tb zn+<;z7k>nxuZM#mEIn47uq=>!(U*%<&pdocG{Qd9g^=-^&;{T72FfOWxl?=Pk?(FT zYPX!d_c0$XqKm(|_obJA#`0Le!@ZHiEMY!B`ta}esHegk(qKYtC4!2em+DO@g*{7U z|JJ=~`|0i82jFooMUvsd`seo2_ov<1%(T4>wd1|+8H3GV-mIbfRCxHxXLA>>o`%l| z1${A*L7|6V{`{{B206PzrzabD7eCJN&o|<6^2(_9rxF~^z1Do%=xscgWD0RO^$fK} ziOBOy+p}R6w->g;oeDK~bx$9pzk6*9{yXC0X<|I}9?yQlJQQ0`SyEGvf%a%0qrO)%iDQ-;X*>$ z9G-Ol+R|v6gIL?bvdc}{eQL8oBf=?#biY$)yJj9G?&nMO4aWV%KaF2w1b(EQG@>xeXIoZ=y#A1_~ z><5(ZUvOO2(@^dNf^t;AmGFBwZsmJYZ2oY6X+U{<-eeMHvOOrBN`<{qTn5)~jftWQ zH^xLX4wtTK5~7OUc`BmAFc_IPWE38AsfVKKSPv^qxR+$nok3D#qq&+>INwomAVjKD zijHPn!2WW^a9@p-O%Q3qfL@MS)g zCdiH^_*~39EgL;|qGYiJ90^sS-_^ogz-|L$q6HdnLO#ut85;sln|WK9;2KggH2FBB z0%$~wQM@DyGm8OwgWToPIIytPA5ZbqN#Q(+DfY84IOi&; zeGDZ{N!0xfzxP-V`{4`q2hwyp!!1!psK$AG1Iu)`kL<1ne{ps3#D13*zut!<(>b?u zR-hWO=>H*O%tR!z{b|r>8dzU&>7}F1naw6lC_5lj?D#x+U#Q?&BdHvMdJSL~A??X_ zS4jJ}Ym-;K^Ch=Qi8PH#@Otz!feXh5(p=0-9P90C@Usdr+!LlZZuG84lHKJG(>GaS zw6<8!YVO_QQu+F5fju3(pw^Dw(i_^}ynWnCDxIy33)7MNo*+hl>X-*p@ilbXczqh` ziE=DwqDU2~5=_kRhg zZTHw(6asDYtxZOghciJ%4)Z^~aKc;Nac>W)eaE$a@0v{rC2{1Rc}Enr@g`K(GqdYS+gUTbwAD zqkg?H9?s8MInGz;s|bqdBkE8)liI*k4&f&7+UXn%1$oyxp$hPY0vY1k^F?{NG4=AB zGlwv+@K|Q4Z-SV0uIUI3kE43WAwD3nYvo*vg=xo5mU8q!gMtf=D(J8)-*d)M^D!MqsOCbm%Eu&zwqw= zC;fCS_i&kwCEkl?Q;~U{eC^&cBW)zb$4R&U`E6Q1&@Bsz5pCZ)6^kQf3|CX1S`mde zUvNfKjb=Vr9Cb+&1>cwgI+)wk1q0I2fj*o|9YKvm8HML)pFZ4yp&2|V8GB5zW%9`3 z6Z>?wrXYn(x^&+eT;&k`N$RqD3^2cwR@MUsjhrZd4z*Jq<;N*F+DEpSH-^ka_!8ZCw3ns@xGhG* zC^sc+!WG@oj_SmuNhRJ~5l2{lZ7;HT2E8^AH&)J`@yxx!V=fOO?q<8|%TNtEpYV3j zz8_?8Y%YQUFZs(Km87~_>K-%36}c{520j+4B(J52Nq0UI?vetg@;TjXk@Z)B)p4h3 z<-{x|=regdG-A1=rZ@wOnxtdNa@t3Y*eP}`n7O-R+3B7>kuuRCGjD&ohz&ON(y_Yt z;)@SGO!*}$u+z_Q23lR>Y72&7o^{gl2vS$llf~>Dh+fQ+Bpy#vS8D%p&K&fiPi`!> zZK4fs-f(c_Z=}Cok-pdv9^4SIzXUKO&MbWkn2=-~q(pe;zM}1FQ)HuTpx<>4X0HGH z^mXkh+5gD0MhAR&+U^n8jonRpAtm2pCYmQEe(y(vUSIjh@>Ah#xli$VKPnbil6zFYm?WTsX4iPBcxZ;Yz;?0p#f6ne+t zK*lOVC>NhH?sSjg#&c48bYb*D?*~elv6dHyg>lGViK8Q-pnfX7R7{>-{d}@Yy$}x5 zzi6jfyCm3nu}Z_piQaM#4V$EO4o;@g91)WiV?)yN5`D{$Z;L1_ z=b{clNa_MCOoPre+|G72Gm6gB$~8Nr$4q5)Q5hG33aAs6>D zK4CRyePK*Atq1#oIZ!eBvJuV)iI&++fjOs8(UWzE4qFy;A~exy#&0c<=R$X43C*Z! z;NWX~piYuemJD#VH>N1b1Xtc3f@#@R2~{ARaFFDLXBz=-@oKC)bp%T{ZI|CiWw1@2 zO&C$tNYPcvcu(#djEBdjq%Ab^JA%QCSe-9Fu;Fg@)CrY|IYpelw~r$MC>$8H;x6n! zY+zWT6uTVQR%jsu(MA^GTtu5@YB-?Ou@PT?A_BpWGa}SDatFi5{8IaZ<1b9jOvw1j z7n-_Jk;>O$!q1p_275L>py}Zvq_Nm^9t(i4v-wdqzuTNtgX%scIC zN+fxm&Vm)qC9u%AICIpEDH$&1ji7IPn1vW|;5>s;Pyv(@FmDj4>IyJJaGpzqD%gPG z#Xm)uU^rdS@i4AOc%k4WOs`wvWi1oPqmJOnCnZ%2y&)6c`jj@j?d*Cv2uWI?q|j3f zKbpTWxM~-#9@8nmaH0QvNU6_Pc~02mUtgG6KSCn~M(m&IMdbUY zVRG-^Jj&<;>OuPuCMQs&|Ao{O^Ze>6YvL#=&{x|(_Ku{NXo7g@vx{rU_-unJCL-H) zW%@C)H798qxoT2waG5keg%8ixu$Sb+YD;(MNrM`1X z7MM$vN61PJ&?W_({a@K-EhEEIY~*HSQ-gTFIA6`o+35!a}!$X6M0i#1rjQ zZ>%lO4l4-zm;g{kyCuoP)p#jzQA)H#wu4&vsZ-Z@Qy*Op4tqBKJ@BsPxZQx#6|XuT3eyc?j3WDj9DO=k48#5TD1(x%0>!D)zV?uW zIdKi#Y5oVUis{MDT%n68LYBWt_QBq)Xvzz>MJZ>zz@gf}NM@>d<3$kt4>8`~6DI=r zxvbQjU4QbPc4y=b!n%`QtMlAu^`J8^4r@(4o!qN^*uwHlEGO*loh258nzudMKO#eO zC#cCBU;@^x0c*yA+f6Iam*^k$FOHti#B8odvB$gmbD`R&1Tx6V#Uq=dwCTB-$g9>> zh#H4cSg=m#am(|#!&cm=Mc;wa9-jo=6R)K!UZ#}6K8VIjf--rMtQBe~9gF_ch8P(| zRhRd*g6UJy8tJ_3=NIs9h6T!e#6-Gy$$Ya%B$qUzdWkZbp$-cUf??#GJ%uj}sS1 zp8&5}#asuNb^2WF#N14xvtO_WB(M=guAY!N^gSzl@O-dh>=uHm1M-UU;>UVqYGfe* ziAyqZCP1qSoxE9;<7cgpBiD+k2 zc+Bt#{*Md2GL^MTP=;vqZK^F?Qe|c;g0pLfX(aL4CcsQta+BF|LfDDO(?Av+oIN7) zRvI#xPz(ut6vUok%z1=fOm|u2;^7rxEu28W zFPMq`1(}9E>|LaQ)WW9#)p>hoR@`A$lFnJpjYJ;>>GQ;Bz|N0~{I``b4o)w0L7N3O zBkm-z#LO-WJYsyBT5sU9BivjC8J57MP9mvVhnTtOEWdf(uT-SCSc4njRS1L4R*trd)Z^Ruj#XzX-$UjqymvQ@!)TPp$13R5t=I+e%A*Q@B!0 zpw4pWI8!$@=KYEfT8eXo#iaPLzfT1ekXj(HmL_zU4GXw2>@qOEHP(HV8pL%5&cRK> z28C=10qub}41w{K*sp|Wp)BfOV&48=H!W{AvNf%^fJGJ&#Hh!to z3%$X^TXdR1zZsXV(c?)Sh`&JFH0q!RC@+%`V`~c=;fsst*`db;iYfj{rG_LjwU_M% zEL}-zYB)Sz`Eyy_jtn#Lhyl<00qeZ_=gq0Q*=RYr+tO{OJ#F?+2pRTTK9*6cqeBmj z2l#Pa=0dDhVa(_ft$?5B^#|H*hD8dY#u8KAhfDKBD?|zk*Nx`q;97&FE19O2UIH+4%AaVxfW)v%5vFzjeIHvj5rzG9aW;XW zoR@TtDbb9?zk##NWFxRVLE9ksCIQR1JD+JS`oSGS*~UUEY9KS zs)OKH%o&P?8Ur81I)HjSjIoiU7~LS-=LN?|2bAQ?hk-^R3Kf`eBa}Gj3=@mka~>5} zld66$qU(Nyw+2BM9+?9dGeAaGQlJ6ZxA;b)?JEeF{p7F!2KvgJ2n+bLz@0?f7TcVJ zj%xt?QYiaY0@4Euz&-Thgtlo=^)~MHDd+NZ44&dyFRp1ug7OqU=FL~Tl4`&Z_$oa&tL zKqgTwWz9aH?9Z&T1hf}HpA(50KN=cm7bb#9MXFU`zL^oW?(d%X$1q#&mfZ^&S^QxQ zb>2_FEddJwvaq8<#>VFu>lcEEthXJLT7$fhR2ZAxCyL{)TU@wV6-~P`7e|Ty+S~xd zuJvAqR5~-RMXNN@@jlai01}VLv3O!FJI!#H1rWOgOQb( zXwo8xQD>IS@#by^)wZcLL{oe}DI-(SrIPiqmlnds$tuo}-CEOd(%kIndfW;&2cJy9 z-W(Ynjq?j=VC`|T#W$n+TI*ui>mr7k3I}|qm3K8bJ>+tj*EM_a?J!Jdm0BHeL(|7A ztzeF93k|5I3%&MYN&n|FrLRG+o8q6XOlV7gndIBj2)HCD_N-Jq#xsvZY^Js*@R^r? z`{CR6>6H@>ZrR{f>Sol9>fFa^Yb{+MHl ztE}{a^BQiIsLM0KIFw#zh$$+nv{Fj5Ks57pg*BOPw}X9FrVdxhoK8P1>~pw^Y0N@&S&M0gL!rz4#e{9dT;*Y3)!QL3EIfs? z+Ql5rh20trs@@VhQsfhTI-V=z%oz0u#1gyE1$H=%IVv?hkprW;ruj_F*v%WRDuJ(X zF?8e9Nd+tW@-V9glZDQB5Y-4zIvt)w$k{lcshB2(XAbB&Fv$?A-nCp5!;fsEO-#yA zp=l9ahz9f%F==@j!iT6T9iA(G+GXo?n^!QqWJ6*Iwb;5huXhCv2ZB5x6Qw14%_i7# zVZ^rmQ5bn5^j8GBUBMaUsIA``{9|THrsZMb0&meL(=aTWXy6(z6jqPYO6YXRvxe zM8Y`C(|>(skne!2IGld1m%tMqyy zRv~D3-fDk$7|avT2eU6>HZuVm~b=Gx5vem5nT(Us!w>9e(B*dC@K3$mA%e z^s_$HYXGiA*HS(nCr%!_R z+9ELoPfY0JmP&Tu`*XjVMIK@Dj2_R8?(DHIMyt6D?R!y#4MA6Tb>=E1E4s8*j4V1G`v zkEM^KwImef6S3oQuRfQ}`hfQ%x?E}jZa7bRy&FNwY1IqXQ>H#NyU-D3^_?tqY(`lI z=|mnfLo7q#Xh^aE>tF?Ddh(?GPEj>d-Vf`O@BxRe9WzvHusX4h)vQ?F+pDOXKL zL4<0$E%r~>K>vGxzwyA~VA!@$-`UEQ<15~7Zio?~1Jl1=)LqRh)az!q>oZt`W*m-d6eeFPhH6<>7A&oA5rt^c#8I~9R@GtPsPSNbsGidm8l003U zPu*i@<4+XrQj_652=u>AG-{vhuAd*@4Lfamo5B3yqbc$@=lHWOzG+Gk8Jn!duGl+R zG@OJW7K^;)&z2RJNbd&&PN=6x>F@0PLeF%w3Ybe;yL#ZR6NoXGOqmfZ+oi1jP2rg~ zsNqH^9m0i$ZmwBA%noJKDcjEulZtS#(vBuvsgYV0hsNPZfugo?u+-oirZ^cDHF>Hc5?zK= z9pLk`mY^{m;L5P*WC1_Jpj3-BOiX4}yEmryl{NnA3)rhyqrp*=?9p+;I0qoGwhM>? zuH*M&F$07+V5<&Zar=q*l|{W!2_`-!__1sTIFz^v z+7PL7E`Lmw^xLPDr*@`EfOx{ovoy!ZXZsOq2Qv>GuApV;a=kU^A+w7<5nqZPu6mo~ zEmh-kaX_&&HKwI?m3f`uUn)nT1q=G&=HjO@GuZ$x1;xY<3=T5Dqa7Q?fRgP^`qP}( z@%s_9mZ^ps`aGJIisE<%YO6KTY)!}V^@A!HX%n*tZs&5>R}XD6GX@S%yUn)2Lc0}4 ziFwI z+(%*UvdOb2P6>~7n8&8mZ{%m^CePcj(i@B{`l?~ZpZP3$O5K`18h(}HUWe~JtY7!K zpAR78D{bUpX7*-{tq=p@g%h6$hF%e%85&CB=!GNKE1mm5zTSWM1r8vCF4hMG_3~CT zQT%07=yp;!p{06RR~~%-JoLUlvw5)a0M|zlsJbj+G~aQQ1Q>;p>#=gP(ILl^K(5K1 zV?8EHg&!r)F0I|dC)*2qUKBY=X%%hnKoo86$hbjNm=601#&`9f40@}-GJgJES8dI@ z%q1yaGU#!lVQ@XZINr6&M*{&ZO3BCa7;$3^Kt=g#P(y8Bs3Lm+*jh& zVzliKEyzs-Yy~9=l8iz6LrpqSz_2*R6%>%fN(6LG z4Fz({8bTNl#>A*afLB!P&fD-pNJ?_F0#FeCC99n*g^)*82h*-NxEz)1j)D3{uZwr4 zESfTA5@6a-f$Piyue#&$k~<(8!+m`Ju3V&aD90QeLkitMT?=dZz;{e$IIW&A)`rFz zZ%pZhn zzoX1N(8`0iE%4}Je|;e}{e?ft{LX2~`Q6Po-Z)+VJHPnx^U9@V^3A)*=8Jm=-aq^m zusi>5XK?-T;>}Dy{J+g_eErFveDCkBHUFia`_j*>;m1F`{MK73>RWVJet>-V7eD=- z?N`69y^Joe|KhC&RQ+Y)AMKusVfu6a+f>>zI)8NVC-#H?%VjBoDpaEB|!2(r&T5!Na;zE zv}25<4?jVs&(&kYnW39dUKSxNnB-bL7=h*F_~dTp1@$L(k&G+11)B9I5HO&Vh{9n~ zZDHA)!&g_6GPvCY0#Q1BPKu>d2VC%mLo19Z-mCY__E|kn?_q$jLy0@w`A35X&B%vgZ-;^Bqoztvw!bJyNvTwh`edgb<70lsV-~M}_J^eRd{8!2Uw$lFSbo~6!{@>!4 zzxCGP-PVWuZ~l1vt!KY>W#^6mrTq)gZ~j+c9eMTlzK`?&WbLgJ^{DnoH~z-k)xq0A z{=fVn{xAROAOC@3KKlFe+xQDVlK%LgXa0UC=xTXtorSz{w4t;I;L$yB&B)PtzX&#f zs262u%TI2LcDs#*cmU4}CSYN34y-&T?nl|KxMyb8d$by3N7`mDU?PgFaRUp%m$eR*Y;ju#FNDXl_2ck6IJE6w8Qy~1{><-8%GHIFFNV80 zMO)rlIKr|&3zf8QeQXs(Oij;cP=Wl9f8SK9PY(`}AAV-?W}}YgQW}fMzjEOV5B~Ry zFR}i2GxNJd-wBg9B42NH zI)@X?^BORg3SlDP#Zi1=eth;9l1#2`f&Q6O^7QRveEO$Xrs{?4;8#Zf zZF+L*$E34{5wA|RxBk-l*e8wg*ALcX2*%u&vs)@GUw#&#Jg+B{$iE;62d1on;Z0b> zCwy~#6geAkBKHx!pGfvoS^jQBUi}UJBtA6V#6Np*4g{>}KyA70u!Z-t8Z%B&5yW}j1OHfc_0ZY%Df{&F(RVZXH%TLzQ*Mktqezz*|K z8XQi>7o_jSpPm7KN33Qo%z5xL`)8j)`;+Jp5$~1(Vhz~Phq^{qfdSgtvuVXGO9Olh zn}%~p#}F)PCM$39XH3c=BNO(ho1cmql9ORAE)i3Uz>teaRCv0mFn)%CUg=FTe|i;j2C8>^zZJxFdN# zhxy4oEk&0arqKgnzQ87qrrEkmF8+t9`0+^~FopY5e(a3vCQ66nqzC#lADV=hxDw(J zB^L4%kPIN$8C}bMEUmPAOf-FbEqx0f&bOmVXcxRZ8y`>-9H4_7K$oA#o^USS5M$`px9`2?&1<3SF6>K3*}+O z8?jd(&xsTeE>jApX|8{kZl|-WAk{J-R-O%Wmin*=W7T12@(1V`1M%%#YG7HZk84CMw5~Itu~tFsdna8mVl68ro)8qu|_^}hzTqgT2ncvJJ^GxY3ILVOFv7# zFun;MIF~YlrjXMu7k%;}(+g%`=E~ZwpDt)X6w0hLc%*_pY+hLgS-U-K{S^T%G=8cA zk#Facb-bh_v*(XJWc+aqTL}TU?EDckOYL$uUt0MPgloWgtukRqwfQRP{VU<{L;hBn zTDUHM@|?A9zH@c?jZxtiQZI`zG=|+sZwsAs z24m(B!B$(c8pIG3^N0kBzF`l*hx@>0iRh2@>_r^W(0w4_n~Mh@ zr}THq-2CKBiEj*q`m*ify1z5P8UD&vU0yJ|lgazQDDj;a*~I(UL(LSkR|Ybr3g#C) zTr23)<1PjnvcTFTNb0pIwgZjm*@UHW3=4hMR`WQn-g-9`{S7)cv5rEoTF?Srl1y`E&iw~6h=ljft?)V(e z)e18U@)J>qbwYOG4@-1vx1 za&V*>0zp$?Wg&x#;;cKwZjZG*D0TsW_TsP!dqj?asoK#T5o!js!vIB#MZR zvi#&-_rKp{iYIH;nZ@g{@b3umQL-_gJ%70UkofIdW&FkVe_1{HJeS!$J;E+zu58Uz zK4x~We{kDN_i`)p)kG z2(`V0eB?wQ%SX|z7kd;)!(Q>bK{~z-)98L(`=pi$pk`9Y!xt08IeZtOK`kmztQ!0>Q;*L`r>WY^ zAr*o!`Z$Z)taU@EE~2U8DjVybo8eN}TE2KV5bhV2W!pfe*>x)B4;OPBiS+_jPJL5B8(1?9I!5OoK4d4)0l=XmmC;*)X&( zT|OHnUXilN_#8er(-pjE&ykE+t;WT|1$*YT6OuWu4k9~AwHHoyKQ@-nQcchuaFyVn zFFfOe&UtWH37g~idvNCB1s#t+&sZH>_<4M5v>}^6IFAJ@gZs7NH%3he$uW$=C=_lBB-?>>3xL#}V&4cMaR5YnT%|x} z8p9h1qJ;=Ij-dMHKoY|ex9iDLIXtsj6(^%#wCC`oBV3}D)$e1NGg6qQw< zrG-DMBMKkjm1* zG#N@ECE;M2g{EP6@uZwAoZSncRz_YgC}!>=H#M2A_TE?G&QB~dFANo1I&>k^H3xVN zXm$&iBxt0GfCu#=`SUZ;orB@s=1!ur3jWCG@r{ak6OZLiPb1uAY_P&5A4?E&sq|&V zF_IfUq71(|6j{kG?kaer=Oz9@0jr?(Umn)0Hb0^;95Ql3^@ zEJUA7gyZf7e$sjjekDj~lfWdL%`BsB`YqIa!no9F6oBXbTF&JF!#&J4-L4$Kky|mQ z(KhmI7bx}oconW5AXlv|^MP`aa=D>IM%h`GOH|HtCZ*e#v_h;yZIf+wp?JZVPg7h@cC3HR!1_@6bcbG@2 zJ?B>LsA*;{-<-s{u!MKIE`wc5=Xe3{(;_AS+e;P6))RDOw0`MRHWm|;g_HG`0`##& zA(vJ+@6vuZz*GL07T662qu%-|QXK45h9Cbdl0#aGEw1y|mkFA&(fib}8%`%Ij>By! zHg~VvFg6=8a1A;Spgy>pj}1%N1fu+>j{Px6bs^`>XAUO-;kg&sH=MI9>sxwSt+)7UODwAzA%c#T(n=C8fNHt51pnI7)Wturn_@z!UF$(Wc)bt~^ zj-7NUCbBw!u#dd(e#svHc`%#gPoPsr%skToU6k`i)fzw@O9I^@7mL2u7;!To@zxe% z6N;Ju4^^kP8P#>HGia3@lmy`hwa3lZx{=N#1~+~G+tdm=mlY45tCYYsliGfiO2 zjTZcf1DuEm8cY8=?jSpy&Q1{Hs*t6EO$@{g^Q<9(OqBX=ZWFwOETRbL!?ml!2paYW zAN!y=n@QQx43d-FXQ>y9tYFziHUBRZPVkibCm!5t5pBkr3yT+134k6W&e^P3Jl%=2zU8h5FJb?J4~O=dN%dct=^+ zOze+o{(9`cUb5c6FK3JAT^sFsNj{PK|0#M8FFDThPPcM(bys!Hak?i*Oh5(!FoG0G z1u9sSWXX~(hn005_Ut;Gdsi4~*GKE)vwMBl>mz5&E6K7%NfgBZkstvgr@`brJu}_Y zIahU8j`#B)fJUD)GxdG-zQ5n|D1K(?n+B-JB|fMp22_UsI3HYF;`jsC(_Z3cius;A zx?0t{iNKoXcDcr>Q+;(VzjD0jNgSXAGE>9PMti6+I1P`mP4t62^T>nV{c+C;mjW$+ zNp>b%)k?_M-)lACWDfwgEhMHEB8_N>8|-w#3C^aQkXZ@|0Wh#dCn*6}c5rRlH(U_ilf z91ScxS+n6?&5An@+?op*rFZnlGbJ!_!dwyAL%~%c*U4|Fk_36k9JrUa3`2}cAJ+EL znC|v818!qYZM*%j17u-iD5{m3DgjdSu9TuurZVWp>1jR0+l45LMpGOlYodR_Tay5* zgf+k$9`Kw9ro+~(Zhl3vNzvi}(f898D+z%dC%BO&2_h#vENDZowszQy~oKcYWB_P2W^fGm%IDiFu zWDOP|w-0B-5kv6~B4`0Y%htvWstTr+mMzW2NO88o3vL^zb6W*hZ?m*wx39#JFzIFt z?vZ8#%B)5fqr9+Yi@N>pHr#>KhDSZoExUVYhb8hz23+n4B*7D`O*T>u2Cs)HSaF-q zVZbsrwOYMY=T|hJLY8wioEs7|*r7=c5_ZgsdN+8lvFD)zPB((#W{j&rK@$y%pbp$K z;Q--=8&1^{VF%SrB0xH@2ns7jP2JHd2DyQI@- z!@hPykz_aG1AJ@*YL6tKuKPq<4AeZbLsxo87Z-*I)up?ejQ~#)wXDpsT}Z$*pR4?& z5U}Xb7DwY&%Wl^pQSU)IX`=sLvui2`3h9%#y)CQW!&x6Fnp+ep$+(RQ`e?$c^SWZO zJbj8}&yv`PenKm|;_Fp&NWo#mcW4SHIzd|w?q5pQyd34P9=98&P=Rghu#3`;XujPM zQ$r0Lc67JgeS=7wmssCDqR7IW1|($Zelz8*kvLM@w_WE71L%QdaRxW8;G#gpq#>Aj z)W6ljkwP45g#kG)gQ!%zv>gC|v!omhS>WmTI2&;(gPOaxKiWe^NsB)--BF!jq2307 zCf-%88f8@Uwxgar;s=~jT+i)-tzq522MN4piv)rMv9aT#h3=x=yfHA~L_AWdyy+5J zmcZsTgr$XkzU8koUWWry7st!Yd6kz@G!No22sSj_EY12W3Zn~?}r+F0aucP zo%GEfZ#9EkLB*F9i!2%tJIHf=#YhKe5GG5H_mBp}a$Seh1_sj(xN7foM%*bXU~q?S z?$LllZVQmpdJ=H0e1T2E^o8yw2nWWepoqE21&Wa7t@b#u4=}`d{RR~a?NBZo@T<3P z(ov9~W*9AoAc|m%o!hx*$*JZ*C=OnoJS+ko1=Vz&fNYA(bJtg`NPxm$rF^RgEuX9E zkdYo@B=_~U;tX|51THZ!?TL$w; z0W=&t-B2YpH-&CF0rjzZ&1-^-5oj42UNqJKo=AEF!02KGm zi83&_2uQ=xQVo@&bu3)A%-BttF5c@!`omy*O;#y@uOURhDn%>J1S>vIsI4aIvr%3l zfalkdsF<+#Q8jVT3H?($*pzY>0ItJ+X~3-@fHSF4XY)u)ZwLl(T461u#iV^+Gz2UO z{9x567Ra5Zl_^DFx)SYx4>_xM-p#GT9_xZQ)ciG-gJ1mK1mQe0vsan zb&UcgG=u@^kY&mnr#en0Lr#G8vKaR7>{bcCMcLe_=dg7a#kGz$v}xlxcaiX-ox05~ z>wLO+nh63(4yUy$CzYuvWVY<$e9dQM-}C@a%Y79M8Bpzb zOj=dTo@6)(3ayk4oibd4h+5!Tj@Pn%jdHq)A2_!HHK$|H8I-|*kBdKC+(E*ez0En~ zSQoFDLshJ_@09?N*v7XirJ6C(@553S3iNhPh-@jLb+fLM0s_iL+_fA)Ay(pK;+FYUjEaUOP9Yk_Sqi{%{S*8 zm+hC2F3*2ZEpMdzFaP;`8|!mip0Cf(M<1NN^~y72;9q=up8mq%<=4Jo%+G)7kLNFi zb8lb%`IA#`%>SqPZ~XY<#y?+wxo>`c_>bl<|Md0dQTad3|F`*Tm;dLzFM!Wo{q1@F z_v>H#=FgoI-;7`WSGl=6|CP)0yR-9#cmCSf=Kp+t{(AB1HwNeP;5*OHf97)TBqp5Q zpmnE{+~Hf_RJLO0TxhZ*e=sm)4)KKWsk#uSuxw&{aWm4{v<+t-#tV&gXNKO;yo(pR z)4LC~2)6tE)s@`Cnw}udJy$gT0w2zzsi@CA4BgmS1N3~KG1Qn^9G1OjV{s6d^656q z{>#GQ?BhjtlE$j-fUmB(jnbj9W!rf9D0!?3wlUR8(RJfO&vsv}Rg)4l{<-DF^4c!X zZ>Tq(l+&z``;=!}jBLN*Y{^kCa;C&Qv0az2`tx@mr=YsH{=j`g&A#vcOY$SCrJK`r zDR$$JT~ELV(+o5imDIT{K=X7L^h@s*hdrT*U}FFcVUsb(hXuF>=x1_5EV`YNmuP!e z)#sjb4Xr7Anc+EX=b;D==~Lkre(<0+yoU~5=b@k|0=E;Y9452yIU+sD-!>xQsVOx? zUXENiR=1~uq5r#bc?y|myNu1u1PhlY(!RkRr009nI6lNHI_vfY?^o8Kd%wfh5BXjC zm_mc=AkDt9OSK2~RHa_z?Z6I_&qWRwV=UV=l}?7Bue&!?6QGto>hx5 z2xQv{8Fj62(AqZ%?A>awM}r~An;A~aEorZp>z@SM)m}e5xU;8U>CFM#gVY3Z?MzdI zHJEcWLS0aZ+x45Fq#g)dnRCmzb?vd&?k@8O#bBDeX?Ema%&K&+uI=Xc5IYHfYv#Dm z_$A}mcR)ZwvzH}_MDJGQhd$bQIN{a8aHZY6`5RK>HYds5Br?^Gn$s@VAq%-PxrL8X zil*m%PJh0MQnX`|2^|FFMtKyqAE_I`K17VNAbILrWbW|*WJO^{x>I&Dw3l{u+BkUd z_a{$fnFO&v{0vU1`m&4gG$*dyoi#Ag^;6H};oJV!)=;y&Q)u+katWY0##;x+d3^_V zjXey}Th%v?^^?&df@s3L=y|GZm4Kh9Od}&bv~V;X0PjVv!4lzERoruHaaT8QHwxu5 z;<580rx1Nh!^#q2h-Cy`tfHuyj(u>8O}4#u;@nsCSJctoGC1#U4Kc zIS_TnBmy$xHlkVYfRFaJ5}F&%04)HCQZ-LGZH{(wrH3w5N9;I{3`{XS(?#_1XcPk2 zz$CRF>9!@ao^tBg=5!D!u?Eva;CTSZ%+<;G>K14Z@3{mWWqa^|!xQLOFLw!nDmEwM z|f#YiUqJ&AQ7>qOw0y3^$7AM5~&>!cv|1Fs>Y4O|&q;bIyA(;KJ}Y_K~K_ zK=yD4b9#WJ#Vln-fKWogYuG_+cNZN3ho3z|m~n>ajKk3-n*jWjZL3c53rV5f?=v-zK?-8H>atXqlZNS0bilBRfh+!ZZ>jB4V4%%p zO=OCEZr3!&S3FWt3FCehgs4Asf~b0 zX0t2-N*MRJOCC;#M^3e6&|TkvdJW-(y|LTiyonkXiaxv?>dFAMG<*|tes0IztBrSR zzdy)BRl_Cu(U`8s8qD}T{GA=2(sh8xY5=py>vZ20=@cL+Hh69lsdWcIG@;_&CF~Yo z$A?B;lnU9fE)}%b6Pdbp$~oDMPI{y07BvBSXC=-Xs4~IwZjY_C-2w=z+mijgEmk@> zWEgJX1*cKn*EAmKy1Ffg70P4XQSz53<*<@x0!U?5DTdQl_hESWc%v$6!VwyTrjMav zv#OZK+)t@D1_DEDOTnd4HB)MZ8!ZtB|B+iV&Eh1wv=@@&F~-{Kq@)HInwoC=Ray>+ zs7*mo{Gvc~+hUhlH0GS^Mdm`29j_!}opu5ZQy(9nuyAyE^ija3x}IWUt@IZ-D@}Gf zy>W)UK5%^4VUN13xAe-7BhD@1!cJd(dGDz4nSrY0>Fb{!-?R}uzL^<3?q8hcil;HB z8Vin2e%P$}1fU1@+>f5f3Vt4QCYx?PO*SBKd1K3TmmhNf~`N2Zl0-&0M zun${M)}9Hso<80aw%`=ApSH3t4ud4UV&TSiqzuYoI_~bs1A*9z)gQu%ptem`jZg>a zZCSD@cf490SN3}HkpeM`ET`HHV%YB*YkL|Q52N!S=uK28mwjZ9hXjx|3_uz#qYh>S zV1X&vs?nv8kwE$#drn*1L|a}@wC?d%;V|rt*h5Cj)&Z77z3gyRAv0TbAv7)p{XG@3 zp9ckN09Fvd+_jN3F&}FeRZ4eYC0+K{9?XqJT&fY4B!wLss4o58I8aJ(+sWsHOsCLg zUQ3kfL!GpH+az4hSm`jHB@U?=x>Py8>#h#8EBTji6eAA1t2#1xLNuijdMT_YY!#sK z9h`gM4UG7X{4)b4dHe8!0wONqZ*JWW@2lC;MzE?_ouOW-ias^)9031TNX7WLa>6d} z7vg|;`iFx(j)2RAYJXN|$e&Jk@d2OVN$30EZN~2#n31j6ISnuQ<<~8{-#u9q-Yk#L zII3Mh@lZSAtq{nCvN+NoBr|qImPS2a+VEcF)@&5@%26>Lj<$F0{KM9Ak1Q2-`F7LQ zChCWfjjkfu_nqWEv+3EM^V7nX4D?&RY(e&L@`|sIZQ=CB-Om0yvvO~nEs3t81h1GS zc>m#xNkh?k^1X1O%OOMg)D>5gzbk~$A;(-pU1%G?`rBnQTr^u^cjm}W#g}Oa?!jy{ zb>Ogwonob~V~urp+_oEy1T8rlv-5i!pn|mT^3X|G_n?L1p^c_WwWNX&Mz_-l5st}l zk->0L2@Sb@rAHV-A*2_zVc!E7N~g{?BN!WShKpFkMf(KSGhu|v66tP(BSjQgAWb)& zo?;7=f+60ld4^rAAIL!QWyl@OY7(vnbE!TP_u}q=ko0>f6Q@H_cGsi=blb|Cr;4A8(oWlwr_Lkl2rP+S;<4Jw%G@4CfKQ2~E;KE6Y{{XN5h3u6J%+wphF zF{9^$=uwB62O||jb@-ViB`J*I6cpXCd`*RPKqy%6QhT&z+SATII^1dk4C1a4T>_a%e;@vVZ=>68a|7eOo zTZY=tuhct3>Y$UdwkoHr&i5%F`F~LZ_D{TX5U+mvJvX>4MwV<$V1LK;v2eV|eyja~ zk-tW{y{VDDk8GV?T_vT%k@mlw<|@&t1L*!r73kMTXSdHJ!PrP?oT@2_tt#g{&ikiu zrpNbj+_8&Nc~e9GT#=LU z@Lh9;G$sDP+YJ3I+H^`jUQ5`)s!Dd;??T$%5eauw-6Vsnm~(yh&0ZMo`^4;ReYw$X z>AF})*!#CAz`vjmL$oVSyyVznv6X-87Qc%7*IZjuWMpggS)ay`fSZ-|Mw+EW$ip2^ z23uKb(jFLZJs4f)iy-BxXIzLbmj#d2ssPr*y>?LM`-k+JP;u>#w+(OKotcs==XM6| z`#zV`H|+0iWEL*}DZs0-fOIrDu5aDM%MDQ; z@9VF5`!ZXTKdJ|BxAtvn>$!~+E_lM~e$@M5@LGziD$gQyy*_dfCzNB6-n0-aZO5B~ z(S!8;#*mka%caIpr=m0J2@gNjw&Sgx7TYaj$yZW!77VmTFi%N92TY>S|>Nl%R zxE<3$@XvM=+dhl$jUFcaD~0l^PrVRVvM9EQFcmI{=S6dYT{5k^bs+XY6Ve+#V*#j3 z3AwMwfe^^ViMxwD+>&jXjsr53FLw2sQ>pSE;PQUt zmMEGq>bAUZ;F%a*bQ#`c{%IUUbFB7_N}$u%3b)-vlE(z3W*QK#Q@!_^RyW|i-;MdJ z4$H$}EztU~UTO4eWHv}RiM&IyEYn7krKvDX$e6Q<=UkJhMVSJjnFwO~JWg-B<2-JU z)d*uw2l3<40l}VV6T=A%Eb6u+1ta_2GQwsl5xT;>K!OY#dv>%ob@^S zav*!y)-@I!->lSbr@YOCWthIbZqAVqWm^;#?AQ#>b*i#24JZeW(E&T#+V3eul@=pR zSyN=V)$0e<76ly^z|7dtPlTw1NQit8SRmW5LyHhJFb5R~ymmwavAIwZNgi$nOFWzK zrV*#xGBhR~236w`ta($Y+aRH>hcN(-g6M`z^Qc|X@QN7O!hj>x?jV(Mu(U)ZqGYHn zuOq4f$OX{Oe!9cA-{kt~T7}shFbeq&0Hj)$N}jKiiFSm86u@w}EkB_+&vj2N)D#_{ zcy~fu$(UA_$&Q5_x(*A|Ss1Wb+PJs7>IP^jV_8bnfr>nlJP~NHTjXeLQj;p!5$tfN zq6{q0pFUf^Xy`>3N84!LwblkUpcH%{wZlcF{1miJ9x=nKQve_SR4EoIa_`%!vYNUB z*iM7pWPGe7U~6a(eXxz>wxa@|+hGn{v8wE^3maiW?4^OME>PAXD3ICmIUo8bn%X2Nk^tNXRLsK( z*AO61?cPhpaXKdAa`Yqm`cDeRtD0UM_QgQp=4@ASrTC>l=r%ENq&Vp5H5z<^u zlCgoli0(-9vL>yjh&nMc+L`9a@*mW1b;59Nw3*onP$6f~>4#W%G5Wd{_Ivjy!yZsJ zd?o+hC}yaAE%<6Tl^bw1_^8pdTF5zx+W~+JaAnHUO2|%vKW?DVH3b1VQW&_2DMX5< zhlgFhgwAY3delFo`^w()*L!aE?{Qx#mf`#~n+gnGP;fw`+o^Nr(} zz2I`>!?ek{!0kE`V>-a$ngSmnTRi5czywt*Lv|m71Nf&O9UKn#w^T59Gi*{Pa(_$i zWj{XY-3+mJN;k1PO~0>SQrA3|lp5`yK>oU(W(H*2oUix3d%PhwZ~7N}s@!_KkbPXk zoDrx6x@yHXf>nO)yy`vGoBLyd%$*NBo{J2P_iUgKgy?fy?uR+6pCBvSDnYCe|}Sb_`2ZgzS{GJPQxch0GPq$YnB#gsy-|n z3yDu~U#tM8oJZ3D-8$?U(<-|OJJ0!TjsecxKMG>b#iE#LD=CMsU?1a}b(nX+zDIu5 z2t}*ZwLF{A!>4!Af)Ne?$2_L1vhG(sjBzXqnmcZ42;?T3oSMX`052X2xEkh58yK-Z zWY3_K6myl=;Jv9AFTal6dSvyY8h{_xQ26gxfwCR(zhH&Ox3 zo}ClcpKCHLg>EVkTe1Ncb=PjOHZYgxh8a-6FQrFZeSNY083EMUYbr`t3c$H^%1<>T zLB~M1R_+~*$i-Fnh+yT(7$B<2uw5*A*zo$2qhVkek@v~azSjVa?XKal8$fKS+3~hF zQicOH7_%Kx(oCR5>XeY|Wz*msO78OA8Zi8u>Ok9Apj;k&) zz7Xsvcx|980V26%Y0~FL!IQbs#C1o{$v_;|gzRm@tk%j^2pVfCO<>|A04>YHD|dY| zuo?H>qjV=_f zkzD}s-qxwIB~0u5h9X$xiw70FZx5J^g8?W5x0wl1W4&eTwFY&j8QnQP?^q zyd$dP_A1hC?oR?H-m_YaR1pYLNO-JsMlLvsYmy8tM0;_44W?9(j1+hKWQYYsaiq=H-6eCxj`qr*M&T~u?&hIc7)rGIxNFduw*t|MYg=) zs|LkgMIQkeEGj$#q&#GALkv*7-(b*MfLe>Z$DL#w8+Sg&R<$>YpZtB*iNBuM^ZNb(FoQjHoM;9SSTZ1B58)|gfA+%#?>6raqb;AzV`Vx7p zku{S3z~QhOE&;x)rgpQ#-Nv@v+vR*fsKtS(wxHAwYXI2%;g~14D@%acJ1?whKTNVKT@4 zaI?1Ky!6;P6rp|N%7HnMKL5lrziD>7{x{05gbR=YS`X|qxV^8yumJUX{)AKXI|{tn zLvY6}OPh`uolN&@7-Y*wX$y#BTIf&?yk=vi0|a$DkjG&v(>{`_omyMu}_Uh!i-yQAgiR`T5n zM}63iq6s33w2VFkoO6(;&F?ps6-t%MlI_DLO$EYp0Xzte#E7b=3P+W;Q>2K(i8alm zWS7#|xF6qY%X+vI-IwkFOEv9v8$rXQ8ZhT~)|b@Hl*O|3LF|l|RfR6!H%VZ@?r)u5i7QN^V;?~$=p0^U<Y)LL}Oz*Vy0W;D!0Smov}Lf9dfJ zr-eig?=B=S|04X#C#uS^YmeVsD4=^&omugd^ZEJh%YXWZ^OyUd^*;yX+aJV_Zk;hc zI)Aw~e`s?)`+1tX`Dd3ef6~~ahxef1ls z-Z}Hl*++l)*EfD;Bar$X`kpmR@!Zk#M?2iS=gT4X>!)*NIlEn{eA0 zJAX~4pXB{#aZA`^1haueTUlG#o0Y8ii^BwOwT!U5C&Af1*R(4S*#7O_7eV612=+Jn z`lxdFqt7v*?f96a^@GNjr30Vj$rYqcE-5-cbE4;B?LSHT%(t6)S2%P~e*VKPH0lhM zQR=^AZBAbXS_~v)U5S`{;~zVU{$uCfvG$lb46=GSBzz{@KW;o~=Mw)z+zrE-)@Ct| z?! zHAt#AvE#gtz0Yd?@r{*QAQ`C7Nr*JQX^o!@$(#Jh;Sh#4hdikRlQ%tH<=)8cF;uMD_C2*@A0%zIlCG%E zMbf@AArskT#x-6VNt$)@W@xOZ#ii2_szFT8dD04r_6lDkg-Z=sXwyKbf>lYeJr?G9 zxju&VZM!3=Z6N;oa1p*Pt#Lu7as-g!2Qe!Yvil{Dh-PNRE2Ojc;oT{zSY(bJ3?1qoi%t6I&INK^RQ0IekU9<9< zKn-^K5e0KDZP_YyE16BfEj~z&_9HeCg!u1sdrh4@ydUE|hLvv>c2%JV(ECaSP=DKC zI0J_#k;fn30d_7%Tt4Cg4y-#_2AXcc(%>Puirkm>dT?(@J5rrGqs2X@$1U08&?#hk zm@K<6c0=3hH5eXKyxd}*8qLMUTAcMA)x8y>{gdz{9mK~Htxm0?(Gx0V=*)ebnBA)! zIi!Xk?eA-w%Q9tya*pTv9x!TA2r_tu3E%WI#e+o2J`sw65|}HD?H4=?2{RE)o4bcK z50Nzv#z6F>wO5IuhZ=a7nCK6-K>;j}Jp}Km_2Nc&HXDw(2`GYY>toum=3Ppl)lY0} z(OaN(3u>_z762Hnhpa2>C5LH{MK*SV3Z)O3Ncb7`EuaxM-Jqb%X+ipDNfYvKc3q4d z^dbqAu$y*|m>sF>ks`ff2arA+DDEuZ5nI)U!A4C0u#Smuix-?AEIQ#oYI$vqVl3u5 zam+vMHzw7ld$KB@@5;^C$?XCjai-<_X8AG&6LYY;WW|;o8=*3{_S9TW*eEQQkdI)Ez_$d zoYl=?xF#Ke5dqiA1dfdO_Lfnwg)(jAT>J8IFF;~K=GJ+)6>0j1RhM`-ic*2@bf@Y? z`s&_<3vdUzI0Si`sf|dRvSF&6if-93^g7xw=&Z+R^pl=C!sTdCT|^Y}6n24%O8KuI z2q6hDAtVa&CCF#=vDdH)TN((6MxP^JhIIi&xO#9$0IH0=Sna6aDW#)DDa3;^sZ(n( zbPv6DnBM208eGH*Z3cp}IxWDtrak@vheM8zJr*Ne?iL5vp`!ahlyIo&1^iCImqlZo zGrmGGE@osU;)FkLYtkr#bR{@6-Yr4GbzlAHZkjVXz5~KF*6AHLu`Lc!$}zPGD`O1@ zzFMQyp>pI&DSpUaOt5*}KUS-!Qjqtf5HE&XC4U$(9MCT5jX=#qV4!_%n1;0HTGmFv z2@PxA0_91N2`dnRvF#1-SqLub?NN@_ixEtccYqH#B%6q1<*dJnNKY2oK-IB6ab~ko z-L894m4}~xgs7W)dw|ClJpYovy^4K1-ADA+T6a3WTYR(*XG?i^aF zf_k!xZ~rn|8`X|;(E5Ysd!Mm{Li?9zX#{iXMha>UM+(pE#ZMCDzE$mG@1$esl_&Ge zeY+Q)Ir_`vC7UQ{N4x7&c2Gf_UC+7C12q zSN4A|eDBZh;qLB(`lMiwAkO!b!R&n{$^PCm$l)xVB=k z^Img8AcGAtxOG<)gAts%9c*2mhlu4Uq>1YFi?-M9z_yE}kxYnzCR<*0!|>JA)JS8R zP|Jzc{lmRV;+#%kL4O~Oo_sKUZFJ7ba3!0))W~1;d&&=uU;UWxl(LQT?{vGgXFc=V z?}zAWQRR;c6NmmsfxaS#{_3^#5gr+xb~o2w{1(M%L($x7ByF7Bb4`9get7oD?yx_Q z#Fg(S7k*W4&Y5YW-FteKog>cjw}uXvZVFF4QM!3g%wd&Z{oRAYkVk$FT@t=~I21VI z*7nWO$5gtb?~j2W6Ro$8ou?Ctf`=|rSDhXFrP2{NW8m2I*c0dDTmC1aCxz|8pU)og zKt;vd*^`Uh_`Xd8dX}DQ@j~L~*WE|0iw}vKIknh-t@F~8Zo3EihY`=^ z)koV2t=(xIKl$naLo6<`McwxGs^4kqC!_0j23}L&%nU|99Qov#o-h3kdF9V9jZj0; zg8o(Fhi}Qt@mD%j?X$smQlJzc{ypVG$oqQ;^7sB5@Xo>ybNkfi-5T5X2FAXWPC2M2 zubGv$H}HKc)~#a-BvG$V{Fcy6Ze0NI(P3r6L!BR4ADw%6DuV@-HC;XmxaB8adrP(l z^4C}I-yR-Ad1-6V(=%$8^On7gMv<{|+J%uT85>d5k7i;?cVvpI9kry!%9(H12Bqo? z0{Hq_v`Zq-_l>DVwhnHTM*i90En0V)3rA>lfBK;)7C7q?^Io zhw$WJ@cy=(O9SX!1ieDG9WluSjqY|&rK-_gWJ7SJcZ8zXHyveO@}+JY&CJ`EE_isG zzeGn3KcM$)M!T5(;Pg7%X`f#@PKeDwFZI#fN3Zfq<0^j4t_H@7$O&|mrq61RhVMR6 zKQU2B=x1z`O=8V9|7Kznx>q8q4v*kOX@`@Si`+<-AbiVn{ z{HfyuE~2~e{x8SZ?eCRFj>NuIhpZK>0pj6vzU4M&g`;9%{?Ri1?0v{{X5=w@hgo}q zvuI@?csMIcdwZjsn3;c7L4NV9QxG$!DbG+I>;SC z9dWpC&-TV#J_=gZAFr=h2+NAa&PK$c)Cd|HH{Vsn6tJ{aAH+9|v8hXF|u9 z?E80{1Leqcv?qP3wwA=}w;qF>;L+kpTiEEObNGMo*lo6xy+t|MSlTAA)g56nA3xP0 z-o=OEAKwr`BKVY_Kntn;de2MfYLFj>64jMn51(8d>IxZi!g+o%@QZHW!`)9|68R|c z;eQo|IVeGH23>cuPlLrSF2sHyUAj6NSZkL4>bp}L-@7AdY4+d}cD;o=deeLD4AZ$g z|Jx(ovwwN^yV)Q&UJ%MvrCp8oPzm?D5>qt}hn3QGJf(s>J&c*llyQh0=>R+5IElbGO-x7|ybN_?SyLHVn zjGx**Kl3{uIJY0}&$b>P{MD6K=%KzM^yF{g?O%Ua{7v*%7$)`WELZ*;ajWok>VqME z|9vqsF{fcqpP?N$Uzf?ec&}w`{o`v>)eD))0qj#&a9B^u(5Z$wd*zYn{`KCFX9^7S zPn?Ns1kl16*wyXG+^PSaigZ7C(mM5q66p-Q*J$-s+O_{xzb)jU=G~tijT~6^%E529 z-x>Jc4wdL3RskU%+K^UPnV^|B-cD}R+(mZd^{1hH!gegbQv#XCN-Ra(+4|1G>rS6* zl)d@P_iq^`x;U{_ai83aA&vF7pEBE7hF(8w{~Ka?;r7ZP-r-BoO!NV?`%;D;9)A?G z8K;@dnOD1Y6Ye1EjsNxk4kR1q4*xNI5bn|V;iI?K(Fy;A70VA0&m5s$AhP@D=*w^Z zG+aa2n49m;ERSCD+%67xPtlz7fc<%7spq-;vgBPIyyquv$idh7xSkvze{SO^gGbf* zkFC9YzBv9#&$WQ{>>JwR(VKsH4f_?LZ}(lZ@kRvk3_bf>R6CV8ytI1H@%!~n=6dq& z?T<|F&VO+Y`|w9OTm+djO*u7M9I_3y-fKS2jZ!!N=wAH3MZF2c=erG}vE3L+Vea*D zduOoQAh2{=?|6%dSF&wwH^&4zK?l$KdZGQ)$Is+6Wuwo`;-hL zS^nif0;jW#N~{M(_WM;~>R9-+T7v{o%2OHFJ6bw_&@3N?0%z!!hd$@p>>lc$uq6At(fy3tgYSW(F6MhOEnI;`thA)j3ZVv z3x|k=`H%30ZhclGysmvn8k{`UnS60k(DvWVwz%}z1#@vn>wFP-{?D$&Eb)avl6rDdg5!}jvXsd)jNl@UQoXKJQyo}W2=`C z|7}J|8_-YQoPWXdCoAD)qazic>4B{Ksf_^iT%7%={!(patbUpqcPs4A3=%cbiH*({ zmfX-jMLm5s8}Vpwlmflx@QD}Ft!3!@(HW_9&cQc-9zB@#zT-Zz(_nk=7Mb7r-bf?n z?u6nP%O{0j3!G5i4ongyWh{GomR!xvoqJ|QdUn68l{22J4#)$C)zJlb@V)GVE{(nT zPU|P$uRTUCB)0Z07~knjr8{#UwvRJIei`(lt`2%K7ux42pH#oG#dO0@_104_rU-Uw zYi{~)mG}FAo04nhxQ|Vq@ENI}S9WUmO|BaMkO^*+ubxncOONCO=X%2N2M+pH`c>`H@f%s+_N=yFKdlB_!+lF@_d|+F zeCKH82mj~cL-2zciXH#KLQFb8cI<{z2)(zS@eHni?dYuz6#t+z{=aqSXgM9GCdemz zdwHT-D(+ti2E}9Uqtc6Cx<|$ygPx9ej2oV^T^(f4qmeA$0P(dM=Z z_GBk#^IWx6X|P|=&nkDdue2#JbCIufoyC7HUjOdciR#q0KD2S1E?}JuBHm5rkq& z4bS0eOl+X>tREHFdyywb%ymBM&Q#0ZcZ;TG+GkfiIsfe);Rk%~yVx z2&tED|L4_oYnDE!DTHB{l^YB1{LKi?-Jj%iE%?CIy7Co(r-KKH@PSdI#tzR$_tsgl zbL!C>)%*gz_`qA5?C$~QYDYRwAe%p5?T@?rbPg9Yv4w5V-yKhX;5$E@@ayMyw^BRq z6K1H+D%9+!o8pv_ocsnLK349jiSErp>Jx7re~8w9^xEb@@{b^^U@g877|DHDWQYKA zb+~o<#fY0E?1Skabw01{-AYQuP~$vV6pqbU3C~Q}^4VUcZ$BEhA%@yG69dIEUG09j zU}g`i#mDR1Mb~GYP=APZbh!xomC`Vm_+d?KJp{?AZn5}pC;EFI=}+EgPu9H7#+i32 zU?8{t-{NDFL;NL&>!)-uzXi_?Vzi6cOZn!!E01!nWd!C_t%mGOvP`@kVqXbPMzQa0 zrP*9I$()Ny(@|yexHjc^{KOG|Y{Pu3P^jISNX(tkkCir!Q>9F4aN)nJ#2+uEdK2f8 zb7Pa4X2)5K?6m1&>5=Ck@sWv@$9w8tChj{Casmv#&qc#6G+X@0deW4%cDx$l+j5&; z@d`VoDdDLhhqQV-f7}CyY9}8q+0=;kNJ)6$47w=2`NrHo4~7or zzA#Py#%{1j0;?n@@l1fzaNj!WU=)->$dfm!=bY-SQlec_%EY5X6$2+ zq@Tv+t-9}Tou^mrv z2WDsf?d~Kqdv;)w?Zingvn^XD$+8$)Qg^GFv8uY5nVI2V$91skpz6EU_rA|_-(9Hj zf(H(4qJ3MmRT(B}=`Dk5CNQ#Uy9T1JG4gFmiqqqX!~iH(wWai}J9CR#I{kDVyT01F z3c1@k>DwZuJ$XZj9&9nSxeyPQ>Ir8y+e8D1T}+_77jJ`j<-fkGK#7XUn+zr#U;wm+ozoZh(t2`P&8(c7K*c*_GA`0Pfc*ZOXGB5i= zs}49;NEpTogo)ouidg3{xK-8;ZHe4qxBFq4r!9*T>|ZyLXl%|lzMhVQ8#xuOWIE#r2u>T`j>(XWzk0eqNmqfyxJu;K6))_o{922WB3NmHrRoh984ADN`4$gVZjP4CA>ThFXbF&_=^m8IQ`5&rzai>b zqB=wV72(;3RXF+yMx;Hox%u6JLI?&Dpc^*W-*iT^M2uhsTUd|OA|1t-KQ~~qOOFSB z2Qydqw6zWqV559U@|I47oROlk{Xt!OH^}65kpD zbXb5}>H$_BZeK1cc=7!uAnHqKLR-7Gd!_S<0EE>W{Qi-(g)~63!E8E-_f>CgvKi}xWg2MY)1K5#FEnHxeyjb`@4dJEa2>-$Yp*js&b zfw_u9AU>Ng^{4YS15%7FZL$@&r4)K*xLS0u{GZ*(m0V5D+6_pN%?fuQA(YZ0Db>em znObAMFR&3H{N2{-|2v;pmbmgBy}*(}eB-|LQZorJB+=u->qk@U z9QQj^no(tjr5bt*3QlZp6RWl|VNqhWWJ5+-cgSUhOV|Xw50vkykUz}32TTRnwtz9` za~_lvmOBoON2T(b0D-(C?ONR^=L5r7ZBE>!VKY*&At!)VOyfN^AqZNM9LznzSrr2dxi>;xh&6lm% zFHy!#@j+Yq@fDzdT^@g+US{xxi`W){I8Ck^+_dW31ZiVF@dU^R;(4r1@!DV_0LAM| z*SE{K-+vDZ|C07y_XU<90CA(n3YzC<&zSCJW*{--l8*@~eQ0BW>i09E%Z#_Q&#`QV zT6;CMWrVNI+80v8bjCQ~l4YcTW<+~Eler1$Z^vtSfu-z@&8l16EI10ZI!h*kZ0vqZ zZNNXmK=23xO7E2X(Z5Y1JIK&M?=V$xo~O7mR{k*OA<361(DCz$Dt_=iFiIQ zjORRg+*Zjb*#^Kbkn||u`h-r7#g@^aiugFiQ`2r2NK05!m(RqHCQtr^aau?viUAxD zqC0h_3=`#?$x7zs%eFS%PKnG0x|gMg{MjzK$C@a|f)U#0?ntum!e9Nq7XrKNf4~8L zd2QeU0eaYLb+^3g`NkeFcl=5Is%P$1L&s*(g_k(N%bH|59Cjj$#`h55Hd}d(jPVw& zJAw=qs@exD%$mKxNtTU9oQ>_B{K&;~!)jD=;>%m9hCs1Jl9kUB*t>D9kTb?GZaNP8{KPkfi!J()yCgNE2)vH2<`|%m@1G9Yla; zY9>Y!z4|+6JD_C0dZF>x`@U?^0p_ z+65*A4VfR|9Y7w?Ty)dwE_1v)+|GLNXfCnS)XH}bqmvz6MG>c{-5hP7zPr1JA7u&R zf`x(6rv7L;sV9N2RS0(&G(Put1Why*arM>MCwokK_C2p*L;9sd?!vC0qfnVvkp6@H(>?Vw>cW-irb_SUN8mSL7vUaQ7* zU*HV@ScG}yo7se#Z%?9 zEPL-Ez6x9093 zCMrpLhT%cxH^wZxj4kXYDZ5R_s}L}oeU~8?JK?~VF@|uhfA?Ipthm!d^^5ObviZpt z!aWOHASFIrEbQkMXggtx9hOuYx+|F0g8$a$WLC{Sjacg64~0)eD*Q^8hxHt8Pt&~} zHd3CTxvhK#VGn}bEXUM)S~oobBX>CJzu-xngvQI9#Z@bcbC=s5YFZoWwj=>s3{nQxzneZeH^!_`wBi5dYmh95Q_P zNG!1NU>Zq)bfO?j18ucJzFEOfDrF?sHqCPX_*~3yF_Fhdz7tg5&;wcV{c7|+668pHPc*V4 zo$??VgCep)Ba0U6Bbfs&0c2j8&fh}GiPVpnJwiA?gy1v)1&hN?sD1_yE@5g)jgOZj z&QUz3wg;+Rpf=jwN8Em2dEJ5GRq&`|0~rQ(O?Acx^cE~XyEM7dd=Np4jpfY28lfostQL^^S0TF zz6ZJ9++!L?h_aE3AA?u`11?e9X_a{KwUBjV@nmGzVeDg+N-;rfm4lGh1Dp{GU7h^GooLOKiOi-sRu+l%fil^`CgiZ##7vvC_dJO6?m&M`5;_o3`I2U zVeNug@WPF)Sbh)2c{O5hTHcsn^d^zwPFO--7;H|W7NNulJ%9o^_n{J2(%pNJ$HmN5 z%ZXbOQq*2Ac7ph_X3i`D@>N0x&9i?Q%4=7nM!JWsD6u)!Cz}KYT;o_7S$7?>ErVOY zU&Ox)!tKR9&BY2F890m+(Z~$}gN}<=HsRf6pxzi4nNDCFJ+8H3J-%8azq9=uym4ze z$3aOgOzy!tCq@KOY?>{K{9lG-1~{mQ& z>Oh*hHIbw`eKrKFRLZ^NObZ>jG%Qy~AcrZgrj#TFCjfj1ys%MFEW#Yo)N?CiGL|zL zbMIo8DSn_=LbHm5oF?sn$6&f=TQYc`8)U`b6nmt!G0uQr`9ImHy_g#dbaS+!BFZD2Or9+^4=b-*T)%yZ zlNe?AA3y03MozUKxE8{^yUMu1<}JE@g+J%>U>F{N9Jn*{+`U{dhd1s*xBm3kMep)NY0=yyYXN43KTn`=FLJOh36;+H2)_PH ze(#Wnc=pFuo`fwGjI8=0TLvQQ2*?hdC4)wj_y>ps1u?mZ{`}k_h80Nv2gg$cn#pHzJO-9?KtH7Y zgWvkhD21&%J zgeQ#cn1Nsuob+uizi)0ai^Of+Za64218(g)gaRHN|2N(0bO@?L-qDZlS|2>qx%artAgxYTx_U06mnpF)6@*-=i1VtCh; zbWQ>B(Ct*GM-7wJC&1pZ=|eo?Zuh6hy+;yC+_$h??>Z>-K%4uWgQwCpzN^65?iK zM>YljidFB^;a(MD1yt9#x@f-vqjwjm~F9v@tV;jw!om57*c z?oFdRU&4@Frk#kmawUVU7z6;?O4O>MT>(OcpU_&WAUB%eQ<)E*ftNelYhMzg)xaD; zT2+*@x-S%{zf-|`|0`lB(Ti9PqSBd}0nt;NDq8#&F%?HrLhEC%>BHI5!%s`?Qyj^( zXQK&Y;j2$n7k7_nS-}E7!+EpFo3Lz$zgAY$b~^{U16V0*zPx+7ui_RM@`RI?g$?3M z9yTrd#jPR_0Ni4Z_`^lD_YrCP2@_;hzg{O{SJ9iAG!)hN0LG8jw&+6)8@UBqW^L1* zkxHQ)R@QUmlq%Tj3{6rFT|07Ng&yMW7AVgj1V8x&ITYTgQY2aOGxd}uBIST@qzTTA z=prLtw%TfG*iGqj&vF{q81GQ#Fcck}LV4?p1S+AMU=E90A-@|&7{?KWiK?hGZ2<5U z87`&0Df>$*#g5+%hH)|Z;ACuihMM|5Q6_`=DGaG>q9{wAKCHXL*MDDIV&e zQc|OsF;6%nX&5I=E1{MN!f#A{YJy#rXGN(ucdBeC#Y|yE*z`lD7FeSXWn@cP>EPi*tA)#2ocF(EX(Bh5TU;q)gJN3 z%EPl-PMEr`Z0z9@=HQ;ZPKA8d?-PgPn-ReOEycqyVx9mJLf=*_;p3o25y{jbgTfN{ zShyv8n?V2^iP7v-T11TB^Q9o<_8Y78R8|&*o7z@b7&YWbdRCDRCi_B3&tHH?Z`b%e z;TLWos{3ihZ3x6CYZPW_0dpS@SuNvg!csiPfEup5pJ$$=j{Fwgf?B$b!Rc_n*IwII z&4ISITpbc;i1+pzKd$bBmq;On9(+nMmbAD@KNEuCEtXYst5t{;Wjy~Yp8-)yvd ziRU&BX;~q)v)8#PDLV%7OgjcDHjwgdS1%$zn-(MuLJQB7vD%n`T^}0%;jSQ z^5I>(kz;eN+to^`fIaXzLQsNu(X6h_Dln?WkCwF&?4SI zdS_gCbn=mbJ8TUj)4X`(Z6256xtSjzqnr1w>`&To8%K#9u$e&yNXw=F-!CN|ZiY_c zHC9jC&U2oM65t5{_qIlZGZY?IgnNZwH&7 zk7Uejzo;2TM}6M`hf(Ssk5Ks?XQVyfb=Ea@yHp{Bz)&cAi4FT2HZJ&l1qQG{Z7Lnu zk9Wo^B}rkiSdg3Vd5Yw1QUjrVj3}}CZHt2tSoRTVR!UAF4Kx4c=7wgG8?=gUP!vz~ zVByV?Y1EaZjiG^~vh*G}w&-8TasaN^U?O=P?-Jrld$l&75cnWP&4Q;TV1X*%(X7br zSqYcsgGi9d$;MhSc+SJ$T*FtRid=R2T^yl-N0LLD$H3KW?O85K?zonK5bDJR4%|iW zKl7h)j=a>_(V%9)vMZQmpcQP zEAZqeTyM6vW@r)uw-RI7(Do(DJwYl z3}fIhqaLeB%A4xe>-sT8A7(a28`yYEu z=f4lAkxJuSWzO{7Yo#1{inqcHu^y7N-bp70DmqJRucI>zT%er}y6y(_C5hM_n4heA zv5xWj+=kAk7zJ4Bcmr?--&@jw8+qE^Ij+~1gg-{e2t;Fen-d-}>y(SR%+S#dTfQ3f z?7De}SlNQlmDmjrhji9;C`h{Y=Qy6pmhRvPl0V2$wiPMd$>zhMpXa2PqLg0ezdqyh zz7H+KPlG!beTOV9BnVAmC!U>3DI>EF32f>x`#MPHs_cQqhYai0)S&XLrH2`g_VYYl zKa26bg>?brW$fcIBV}^8g+)JY*$2s3Gc7KSabuw<^4*QBcRg!oDs4@?7rBhMy0A+0 zH9Dt9CkfHe6Mgyzn)1D;e~;{}sLhD($#I6r}o+-(@!medRw87 zZPt@ZZ<$79Z-tdbTKHz&z zRmw7|nuT!o{z%b!u1Zg{XmMO+1(Iurm@SL#p{-xj9y|EZ66ht=fNPCK(1%Xq-d z_=bI`|7lP~4GA{}q=BGX-Cp9r5OXehPF*Tce1}gG>DZ?PMG9eerMY?LAVF5W(uZfi zwS2%fLsY*HskYU}S|0$aqNp|v=Q#LtFapysmFn&NKy~C6``l<|$%{TTS`h^~m=9&m z`!NSGexgz6p?^4ioL9ptmjeUZ zERaKqnPGJt>ax{;J!;uq$fsMFy{x#18dDVn2OK9hnY?TSeG^NkN`pyreX;H-q{zwq z!AcLuv-?aNC{V{rR^y4%u|$Z>{s2iLZ?AMa1igUM#Uy7T}#RKUlDyzRwzXH(&N5I{b4f^#X)QhZ(Fq_cs z`W6X$LX=~x?n<6oarfnD!ZT1gm4>Dj=|sj>Imki@5Clth6L7%g>Fc)c7zpF5Vl+vM zXiJX_rR4A~BTSaXedfY9)Ht2u*YAfIyO48PC>dU_fyo7vn*3D}3n60`@;EYb;&HQl zK2%X2hI=@?(94dk-x4Vm(AvT3*$mbR4N*dVRf+k8?Hd=1Hzz<(<~pTcfgxQTE{m(I zGgykKxieXq&KSYZw$wb5myy%QZiWj3k}zk~;SyrvR~(m{cqOM1lT)uJnAXgkh0Mc7_LOS$!YZW>*g3JN3@ph-ZiN0v zJU;J$x1yz8Nk%^ORPCJachcOGiSCi@7n-;Kz)%X`Mt7`%`U?MOUuV~%0??s(9N2w} z7pQMk|Jd5BIubzok!G@o!yM4}qc!46gVY5U`wyH20TcH7dWhkbCj~eh|@6f!eaTOx-6_k~n?M zna8wAwq-L64@c1j09%iy>$-6dX;K|{wFP&1{bs@kh!J4_W> zxxG;5>Q(wU9XxDmEeCB@w0}!vY99E51-nBTjGr!m6V=GjN9;2L71c@$igV;T@=*Kg zIN*mIBOKxzCYVxqMDDbc-n3i_F$85Vrv)Ig=Lyi;(w)Kp7DWN4E;kNK2B0l9w@D}g zeH~0FQvKknP~0ueRt0oQ0iR8!s+h{=(OAr{PsO%e&!la%>)A6yVKn-)^q_3+i`Msw z*jJjcX2&N4G-UkiI&h6Cgn7JJu*<@(!cR}Q53s0s_aJ=lXE&i36x5qN=1y>KRoMDF z7`HC4l|UUSg9;(qtYNt+qJVK+^l7cOR*7RDBM_;j@Pg>}>_Pa`lSyAokJzA^J9Op! zuA9!=Nqkd%MOgo;1h;1Qb$pwj13(qXhNNytL2!vZ^D;{d#ahIc8k=HMi=c$ejfd5F z#dp)QqEjHN>fP((8F>qHCP``3FuSXTzn5Zsa>9&5;FsXvM7t5|G;^z%YXnomC}$lJ z1U-|o{k0gX7P!wgGvfEGlX33jOOE>syKT)bJ@%V?kYm%zN1d*HkM&IVM>f@Ct&db1 zj_AKxV0|&zo1?PlbX+9E6bAa&_T4ORv?D1$VQMo%V-2JA?!Z|Td#o-X?WYk9>N2j`xc5f z24C(BW_I={lbgiXlLiUZS&D_(GB-TgSL>Ullo6nyZ;#6RNFpsXRrH8BV8dg6a@| zo*Cci3gUFrjg*70AaNM7rFL}}&9-mzYzb>H_PsO?8H0!j6KJADYXQpp2sRk>pD4#^ zGE>{fgI5JS1vt~k`wliWv(Fcw&Hq;KrOvsZ{f8hz|HA$-y^sIY){A+xJsf4*?qe7* zc$ZLFP?x7|djZTyAUW2!m}`1`feoo=lgCS|5%ijk9IcLQ0?t)DSL7D43eohj;S-ny zavQ<3=quYsADk{k2z}GWpLl*jFb}2h=_n@11DPGq$B^WX`HLhj(eWVuhD{x`vi_?m zY*>_?2Rru8sf*by#yR1fI19RVic$udL+d9dsL661-+XcgzVL|7(+|A8O~EIl^CL0- z5M);bsb1@|WHL#DHDt;*GBMbel6+$oE}gb`UVORNKNEvbZ{L&D7M)B&Zn2vYEFXA9eBRx?maT z35*KOloRu`fKyKR+4J!rYV);j)P@0a=ibkq-PISN3)N-{tW23E@791ibg9y!&{La^`{ycEp1o(4NALP!EzK2?E6D=~Vfi>2`>_(gYnNMmkP3bWl2cwAPJ`+4qd&;opN4L%9~=AMZ|F&*8hw`Xvs~P} zMAL|nwAyzMzNw_?TFvf8pf5HZ#ZSCdFkhI>{4Z2+WaINxW&fs;6KucA`|tiVnacH~ z;5CCjaXmG$0Pg(rDzS?CIQoMmx2mxmGgZwA!X(Cxz3~7Js&@ z8ZpFu2XQ`}!9j5h2nuT%0bF_fi zL@L}t!Q(>(%?7rsJG&9a>K*@s;|Ip3sv0&GcU5b`b)hcZr}V6wCEdqx7^t19%wTLz zQ7Hp*fd_L9#8sc$oCPQ4&0VF4(=z~B9B0qC8f1-{9C-~&rl_KsXuMp|yJBlL^OXKj zz`sbuDH&z%A*aN~X%E0!1x0$^00tc5MYAJnt(0zblf)o?P9bE(!FL~^-Py(jdb{xs zvOi|#WTO3R{z-Q-f$(QNx7s?RnjlW5g&C(y{zR?zK)Qt!BGP=(1i~-u0;kH?NGm3>JR#t5_<|Z<5+{2u#;t6=dSBZ_I3naj$Md=`!Zj<}~_ggit<>)2( zU506EU~ze{RI(7toDlL*RXe512+3PdWZorRL71oel2 z3}P=^ja<#{oQ5EvIY5&~trFSAZ#+hK-)JdbA%iYwTvSHBz;q}Xi4~i4qXF4X+_a-} z3bY3Vvm=Yhoh|iTIm$si%kghp;~!^~*Oidh3M;PFhP-!!QJT^R$75{UA-@dhWIHNr zUnhwekxM`T_LEmdE=KKU&XSS!#%$%9_F^=Y))PrRM3OsXbl{?+xxUy*_{rO-@=q@^^HhE+LT+^WdSzC2Fj;~D5%|K{dA2O_hl{e z278S$`6P?6`_1!xYACBwv0iS*5_K5N{5<~^DygEDQ^Se+nzw5!+|&l|*=|gX$Tcb@ zl9NoiF2RY!MR*;Gh7#5HuQ5opxM>UF~@kk$E_hx*v@fM_{+9s*~t-J4#| zs5NZoR!<$PmCou@hq-u)?ex~#WG>gMyt5Gka3imZnU^?QwHBFM?b|)KUZktbO}AJl zkXgEWVU$wsPBQajpENZMnuz?Nd!g39Ntvy=k@i7cW{#xBcLG-eLnJ3q5;|3$%V+^Q z6d*E?9Ww=NVxmBm?UdDA>&Bx*X5dXxW$=_jn30=(ya6&qT%NfZ+eOulEWeS7D;d7dtDtVe$6e!5OE!I_sMkdJ7 zH;wn^klCAa%&rC~&F?TJm(i5jmw>qmC=}i=YLt=6T#8>_t}6wtA3KY1S1*Ux3)1G? z<7+PrS3#0o$g9!a7l9Hx_A_<@PCV!W8|~qH&_Prqm5>*;JM4%Ran-Bd12rfgGv-&n z2lQ{2kUF?CRh7GznDO+qv?YE%-%73eiqH>pt?SL>SXjXR8Tbt_zXZuKLJ%?}aYwzL zenA3FC8~0kr>js5wem=uI*7^s%`o;+Mf8s5iOLSFHmB0kXj_Mw)!lVn20zky9AkWG zeTAfbLhlwp6g0BTPw^56bb-ZD=MO3WC z(Mz;+9Z*t%-Z?|egs_t2p9>vE{ozuxODj`BDE|&rCwRdxBZYFk|9e2<7`IJ>XBO$L zzKu#BhCBdkcv$jy>qaAPkGUi3>r}Jy3{U#{QqVrDE46?9b|`nF36dOQQzwq!=DYF- z?F{Prj%C$NIXF;*@Z)eX14q<_d??uJmu;x7pp()WL}(WA`j#Xyba97qp$GDS&kKt3 z%BJ12-?OpFy}{u)AuJNVZv&s&xYfUgC!;dc_fRD+cVLg z=~Ok99u(H=6x7GXH0>y*)*d+u`j9V<0KMVMu@~KcRcAR5_QV}BoRRoFv~Qe zNJ2c7@k^AZL(nV{#p+L0k!_?M8kG6BhDXrn-f4`p)WiznI3}FEeMyJP)Z_znI4ZFG}NAoTwmol0F5RQD*D~Dn5{RS0w0@z^BGKQdPl%E z(XE4C$_GP}{`%4HPZE0IM?%M+5)BRq5M8Xa?dmCB%qhC-p;=-m(%Pg77eb9277`oQ zE*2^ImSR`firLBUDz-hXm8CO@gojH`p6B`xQXWKpP_GZ|chFiPBAB=ErChXU>X9IM zc~kggXoDyur?<9t_L0XbiAzF$lP8qH9wKsc>{V*wOCbSP(KfiYBNlE{9=#t3OCop# zbWGJsKhbcEq*WB%JZZ7A@N?gXuOo@=4ne4Gy{q^6 zk9|>^-!|cb->0*Kn{CvoeV9s*0;)@s8=XgB^)L|=>rXyFXGBp*Y`2&1wC6~?IN-i4 z>goh`a9%EzmB1CEI6-w=TI-*mS#g3pP3n2?osL$>IT3e5f)^5TW71dL%<%bhY;ctO z7^FDl*(JK~iy{GZW72)c0e{>5pvR$B&Ja_#g@ng?-*1fUe9mZmu5na}g$~iTtdiZ~ z54B+YA6Hp>;vht^{T%%rb4!K2;LMmxkI$ZH(CKSD(F^l-4|mg-v0wvxo6FNL)>3uw zKpYq_+>bO|TZ3s(qaMIT6N}RC0p=@FVt%HPG`dFVK>-oFTVDTUhu zh?%Gh9Ady11X|0cH|q!*C{rg5A~?Bu$fEzSm3$x8-0|M!Tk4!x3_WORj(wO*pAk2P z1{ugHAn=u8cV&$VRYxYxD@f)v9k1;87p|bgxyz~EuN3VuL=@G*4o$P#Wet2U`npArPnqy{N*(H2Pp+J&biY?=yaeNqyqna5J=*t&7 zmo|KfLVyW-W%&yRl#Y9x4n}5^9zz!AOc5?~O1$-z(h=l-z8i@;UETe#Mv*EgL!7Sv z$Jeq3GRx0k$Km5!z|Xqj*W8ka)*$yEPlm__(K}B?LP2lP0srab4^_+iW^Z?tuU6rp zp?L*kk&8&LVB?Ij)KS>@CHtK76x1V8aWfDi7D6Ml>*;bZRq}WIS@w()p1bRo zU;v>ls%@m+4QkZQ)~B~6wPj5?AGV}%vg}SfkVwNybjNX!79DziIP=-TE73D0RwekNW#k zYz~wafbHpqaEAqh@cM?-+EmE1CPSOXGMwzW$OktL^5PsQrt&(7Hy`EH0P}<2b8p>t zKT70)qT9i~wyw0u#Kae>p%JS5z=4!iz?|q(_wlrpF2rxLZ;XhvhPS<%AtEDFPZ!V1RhHd3mHzwwHq1ug{x05 z?EE?Ie_E*i83L!??xbR2{3*aJxYt)hQQ?bs0Ct%kkBt|b91=kCNmh!UXcY^))(JNp zfoJ}$ny8(7ZYsH<VoBe51Lo_vduZq5d`52gk=Z8u*Vk8VLV4h9_Y>{AA z1O--xE-uGDTYxgR_tKEh9ZZkJsZ&$@m#CnZeWd9FvW{{e02GJeqkKZ@-3cf|naq-o zK?(>>=$$eg!so}r0g6y1e370iNu&3xX)sucz4i^7qfHZdsd_?QF=iEj zVhUE8rm>*D*UKXeO%7aPg`q2QWW}zu?B(H*Zo#N1Es+l|!xQL&gisv>pV6oL^0|72 z=I0Oloa$cpL?X17tbrvhPpBM}LZurThd(Pu#`4{pojjKq$v&KQZq~(X*(ZEK&9sCZ zqU>d+aErO)`TCYSOV2cWq9Kza%n!v>t8BX_eI$p^O3e04Jc#isYZEN$5^ZVe+!02x z{#Z?KdZNLU%jpP*8ky0<^m2^|E5XG8j8;F%Z*Y!fLf|W!^|0yVK!^!O-1AlelE|(0 zO{u2xJ)P3s+AM%0z^9VG;B)!7MZhTQzxwBtlhsV9*4YSH%inAuQmOH#Flc(v2LeHB z^(z@`s8%@}?`jxA8DPo<25;N0@y`e9^iu~L(pBzj7leC=!SkY|J%H|p_K?8X8Fqq+ z?tRhE;$&QEUuDD3GV`irs(;MiRQFjAiXe2#op?iAxB?Q2Y{-slR|qNII6TChP1>wZ zQ3i~n*3O>Eha$x!Ks{5&BlX~(ny6$6oJ*k{=tPVfEmMB>cRVh9II~_(3&N>aw@|0% za9$V1`zu$z>z|*HI`5Vfq%|Wui@|j~j6NXp$&r`yg$oK44P;MK32z@qHW$Y}0`GFK z+uqZH9*Lc@tp8_6ADOEs7u*zi-u^8f)&OuI02&>bPX{_;eXOp{mNkhJ8{?FtWyjW$ zc5!^k-qzMOoFogFz~J>+nCLPI^{7NiE4f_Y&;L}M^YCz?Ch_BRw|w^Lb$J?L4aN~7 z;%}5Weon&%7~YjHq;wfO;an*4Zei9`;Edl>2dQ1I|K~ZT5>-}rpV;B(1~7M3N3V6)nxW0{Lnq$=(7C)0P4sEG>8ToPu}80WQUh-F zLZE}Ito~rb0;+#pq#WkN;JP=K6ars%YYd+N&tCm}l(g50G{wP=TsHL;{R$a7&(!^{ zuS|axkkgi8uJ|a^_Qx0bggGs0y zoBE5`mn5>X476TX;d2Cnx~aVPDyyY2lqXqwKp`yJIj~OpZT^)^qz>frbIp4wf z4amb3(F<3i*Vk4$q`Ashuqt}qBd)zPKID}B65a0N0aD5QLZ}N)p31r-gfer>PxBBG z53{6b0kH>hI%;F~Nt&J?G^jXq?LZEjv(I&9%7hvNyX?&GcI4KQey&dd2_&*TRr7;{ zqQE}jXyS_UA@CxJV{u-(sx?kir_Em@44~^o`J{Cmj|Jh-JPZl9^A)x%V}C7cl+VX%K^`5fApph7;% z1rvyekw9I6Z{Lu&$0fwm)9T~^h!WL6$mgZC)(3_jpes}#RUUC_2M+{Tkgo- zf6NbJe*Eg)4}QDd5-NXD%}%Rm^LbzsRAyFCGU?#Ug!uW_2keS(uW?tSdy(Bvcr@L6 zP$C^QqxWyQn5Tar)Ly{=2pMYq+RWA~$g?axYFpoBl4^EcOE zX<-$Y#KxeU*7+7V&m-#T2_nEHB>AeTCdYfLfDK**>+qID;bOT!iwl?3;iFBI2LW<^ z=gGJ@G&ATVKa@N6FJ&$5+Gga!$=^5sSyeR!VErsOU?n`{PK)xeBX_c4^^-o|ezu~J zr&u1V;{j;CCM3788#6`2{H>GAS(Y}~f4Sw(*F>)szKa{T0)ul&KYoWl+C~uHhcqUpE zYstyMVscbOhY`6K@`1#jt@3L;xf^ioA?&K~L#uojXQ=w0wyQ;$k$oZqC5djP8w8V< z>JrUInMk?(P{#(EJ0&ecPhs(eN@&A9QN|kA@W>G0v%HdNU|_3G-%_2rpk!uj+5iL> zX)}~^U15qZFaP>zt%33^3&eKLY=bviQI7N|MCRtUdYi*?j>H(dOnaP<8%zMpWRQSZ zp$;LY>X1SSBQX@2QJv%Z4hO9%iAz)}M;WWIWkxp?i<&EzyBO!_;ZX_qX&9Kk{J zP_|3t7qS?Mjf&YZYLNs=0RjhG6T0Sngxl8JRp!@l;VxJUb`$)lVYe%=<0+%-;pvZ@ zq$Mk2i>7k@{}i2vmt*yrrWLNTu5!*u?>UA_KeSZX4j?) z?~K>89?#ew8yk-em<$a~=TzO5a}H7|lyc5F$JPD;I!EW8EB(UvzRwdcEs3EufoKPx za)TyJ39oALcxXr8@7-RPgt7lXvB^*E_!g}?Xa_gT${;AaX$^v?!szEw_$8FP8@)-7 zn!sur1(WY07FHI@ara@p%|x+nwrb?6cOveCOyV>ia31Vr%_+@JHlmI~S14`5b;*Yo zYSxFqfiJYMat}CAR8+kJnJlG3P1iDRr;SU8Kv4|RVU`FZJL>^b3#po@Mq>;*)ra2S zG11afdGBUQv`;vXF{TTUVLJPfsy>*b`RBN3-y#1yJ3LgfZ8jC-moWaV3;>f$4Fx28 zUzzNNBjpy*d%tp!WchJXp{bJZMK)&AA;GROHXJ~Eop3m-Hb~ORr9#3(lUrZoaxE`; zGg*$6W#n#=cvbY~R!KMyhZssLPMq^D<8~1bqjE)1e-f$05}Q$^66**ZV{LLEykt3B zpX*65V_~C(Q>)eBhZs8P!$= zMjjEDOB0Z}Fr@H^`WyH-y+2+b7q|72B&rSDP6c(!-+pgoXp`Fv7+ASe7-l-Kj;IlY z`JA<^K#)T8GwzH>1-EwJ8_jm4=e!bp^bd2n<|59fAEY}!GfDb z5CNs{tP4Fv+p3i61!9M`N)M&KvGo3phri{J1Ly`9g%fpzbBD8u>hywLmCfuU#}io# zbmK^`Ofh2g3Dl9pu7=bp6<+auL1k{gBM+ik1ecTLjvI*2{+ObGcPPWdCO`ubikDh7eo~{ zn`#h^_}PK3iPir?ebr6o);=z;K!3BHoVzf6wf$|bSTOPc?|m2dwVTh@QHJWtKSwLw z@3PR4$%(;-Hz%8rV-qVElkz%REJSnm;I$G=Zghims}P*1LobVE7Hb}qHR3of%|7W$ ziZLjgOPITZ++H;PuMtTyDb4>0A`Y3;&6N|fWAkqLv;xqu1Br7B2mPnD<)ZfB?ML&5*ajP&R}~`!Rm+_6KMs z0qym)iY~MUwg^Ff4cRNK&&o@g^=uJNa2t?&v*N#&M|#E4z;JR1%*K>a)_`hSIE=w3 zY;+M1ehl*JU86r%S%5}f)y`c{{B+)VyyV*M+~!RtU+fn1wC+L)A1^YH6j;Hu=z~*D zs@$hUUqSb+`Pahf|6x(Ta$ftxPxHy%tDEX)k!P1r=1Nu14&<#XryVhgWk~JSKtH6D zkL-8-&)Vr0$Z#M0gUMQV)9hr$*_NX|e-ocs8yg*~29n&CaZ1Of*8|B*!FCD3yMnB_ zm%RhYDM5U%R{L}RF7f+16J%$gIrv0*K9|dqc9o0&9Xmxmc(RNbEQX^K-jKG{EdPl*2|?)?;`k~_fH_Wn(>+rem2ayVgH?qSDlLg|+6 zHed^8M31J8o+`5IS>#DeY;tnbdH&dU6XgO7q2{)sSa4ya9(*5y1f`X(F!XAlchx2b zo*LPru`2n`dl;#;5%M>9D9YJng$(=JnKFdljMu~v^v9bI(Ac84TW696@yja|5@05Dpg^m(tS)MX4%o&}HD_J@*}+OLm1r zCVk)O_OP&)`y1o#P*x~OkRGOUtZI`OiE4ebww!kHN&>cb0UJKzuxTlTR0g>2qpjQn zJZ&ns0h-i*fxVPuzS5j*OeOP&-t)heQZt^S=JTy;ox?F%ofy2H|01rWG81kZT%}<& zCtwGUMtKKcRUFxYIsuYi%^c&sL`PXBoRa!No69~E31n&M+|5sD6s9zgNo~IDTK2L2+7qG@v$>yvuS zHB=AHVoiEN&~bNIo_!u!I<8Mi1j`Vry)nH1Zex|3PIkC=0>6Fy_sBTo2dVHqXN`uh zqpJ|NTXUE0g2USUr)z0snMuct|z*uS(%|q!IlfEL=BO)sG zo#qgdwdKhP-zB~&eWMB{ef0=s@1;slPYEbzc0Ps1-0{8PU?2n{YmgmUJ7!@+Py~(| zd7eON_^~}nON%izj=h04&9@zv`YMSv-vRWVxkh})Ut|gpa8XW&kyN)_r=5NCELJMQ zYJn~^qZ?;1tM%Dhg>#_%9hF7Pfx5@7p_dviB90;dY7W4cDl4`nACmdp-RlLUJ+gXW zZ%V!K2siA4VA@VxLr?;8NmtI=m4h0P2mW(USZ?!07?!ZW@1TG2Wg`dtg8G;%cd_CO zk^k=gu2$EsLMR@$grZG*FBWFYy_E`7%!X$RD@^scn~>ed{n|7mw&Tl8Cd6bCrqJoD zEJE?jh>zL!d}E({7xyWp6Z+H}vbocV`$zAGunsZjjz_Eb`+c;YW(Uf!NjxwW`=@1S z4Vi~Rh^gI_Irpfi1Sy#la@_6mK*LEdnBZ-WluD!pM ze5YD%dVSoh*1^U(!C!nTuUd;XN~ySLgs1VbLkv3iv#Sibo<>JpS->=u=)Qi{RHd_B+eEdi#y$ zEYsEymP%B3Jgf4;kr4&lPN&Op?Ltu@%d%+M+AhN-Z^wHu>?k+k8adplLZ=av-<3W)0T$7+-T3hB2ax@J)seHhk*d=q z%Astj7Y54(4K7%i>o+$( zLe7X_oH)SVRFuy3)Lty$HgQN_8nZT@s4%=kCj@l7)AjbL8jbSCr~7I4avljifG`qC zpYUN)29*?uVF_fjI>pVKM@$hsS3u>Uslqj}`W8Cr5N_{m&c*tmG3c6j(y0_QduIed1YL@LoUt1Y3x^0s2V z?n~9CfC#k+lm)v97or$oU+Wl&hgKlakDI{w^Z5T z*fxWtnxwYy!A2<5agPixW*T^?d^3TsPG2wB>J+eTn5DdU{CZj4(SVH}`en@UOGq)! zn&-?8jPMZFrb$?;`Ke^_&7bes5qw8}^n?KkX$#fwj~^zUQvd^gZe%}WM@%w`54)0) zbfy^Ll5?`PXhRa#owY-)*`oz3o%-~=H4oF1U&VeI=IvOAG|+TqYxG4FvLhUD-80a- zx^*TVOeq*Z2wl$j`(r)Wvqn55!vG#Hg+ zCO-RNe-SKOJ;+S6D@cEnc8IJB-OW(`Y%^vg*i!hhS$x7vfgS}#$9N+u2M4ceO|tCH ztUR!FpSxmz`C{;S#=e9@*w0q_UKj1oy5z>0x(ydYa(CPlQea2ibw7c+AEPuze?%$R2O;bRlmk4U_Li=HFCaEk3qmA zq>Bcgycy@_d@1`3Z(M@?R0_X2_xWY&W?$-jJUXHYU)rqQ;&9nR-@6r#+Xvq-Hs#+R zTDDEL_Y(7^yHEe*V6wNgl<_zj8`|S1-MpFtktEUBW-2e}u3 z{VV-DDlR)6bixqA>XG`eBe#O7(&}mGaq$-Zes}lZt5N@6 zPa<}xZ#ZUqCom$hcK?5MfxmXc+5e1!-1gKb1WnQJYMPf@j#rWk@N*HhJ3CZ$U>O5e zye>ru=r5p!EY;ZJ#e5*g4ASp-DO!@YCLi{+J-c7E_u#!z%wxyCSsP$}aF8723O9MH zq?Smss4qZTJ`-)mE+<@3*Ul4(mkAawo00+$)GBXYHYKVI#Ru`>F?*8_n}vvo3aVtl z&BxL{C!A16<{F({WP6E`K@lb~I$Ig{-X4#Y=V)wduyJ`A?-`-w?!xTxtTkP8JW~V% zxqUB0xh82TKu4C4~o>Y@F--8!S+OybrN0IPR&Mvb;_LIE7`)v07dje(<+gXGw1`x(S?8MgE!k^d)ph9WeH ztPOt^jC6$DpNwxlbH19NMRW~f?m03~bq)QP`7_8p6tDd*=wH*Y;i^;pcqc$p3apvs z1nMYYdw)3I<4qmtB^2}AseeG&MoEzh(o58p>WVf{V(Cj^`_0^G=UxaCBSE0F%b{2& zx_)$ZyE4IapWnJQ_mjn93XeHu&$w5TK8%1x&h;;XAye)$cyo%zR0L{Wd@cOq0d2-k z;5KvNVVoa%CR-B{+xbzzM)H^&Fqax=H~IlxC;&CT~r?|qBk z&9MgX=eEMp&xX*_i)rQ3O5zOdx3#b4$EsL09(%$>gX4MrKjv$RPM~BzyxDlW+&LXs&|3_Dr9K;BHHm=dV_B0%*=N zyVR_rUGqHCtkDn~I{bb{4l7bOcyrOjEM=@Ux~q! zkw@$=TQ~fcB;JLI9yG<*h3NSV>nTCmhVr5_B*-0q(}_RAQfcS;anyUnEhnqx_AV;X zo8L4%krM6(KQoPRErYb7lE~-TdoE{ok@nY-YA=Hrox_}r_0bgM2JDr(TRn+VwxgsN zAE|h0=Q6i*vH1569DA;e_#6M-njp0cqjZPgcNZiN%uGt*?4xQS@*yR2Ik4QiTlQCt zSUx9?B5&JHVNWUHurwDa*^6LmwdB;nf)Cu5yBRQcwZoOTpBqSL#*>THFz9N+@J){@murggw3u{2=#DV(_Qcgdkzd z!hCo;_Bw<;u5o)bRsD+~KUo#T6y*)N^D$@MA4Gw~xLL2S8GEgkQjVIp z4h^`(X-NK+)`G@Cv{u3)Q9Gk!tJ=A5S{!KaCz|X(xZ!9Msoydx1X9l61tXQ2OjCTB zaTj5wiFW^$L~l_V3rIua^F7?JAJlj-O|y$YWzny&EEcPu_Vv!0TplM+GlOVUUAcT% zXhI{)@My#2VW7H@fWY99W1R^9MGJ1eQd(UzE@pg(q^ID=Gen6?PB~lh9|**mIdVu= z;yfOmsWw+}sHE0w!@7r|sG!NSRag<&iEysisfB?Ld6*+q+)B^+BcMf4_i88N-F8xI z&9T^**?s1f0j=3e%Q?R}jLcuq(nZzm=&ef>C5FI20PaWR8DTQVB%j`E zTDc1WZwavuXfZ=+?HA%xNP2?qA2Fk2FEW$5-GfN~?iq3@%t?oz6jsFW+zbO>4c>lo z3|I1n_kPzy{cs}P++Jq-8OECEAn}Ga+se^Zc{N(Uuc!J;7IB2zcUG^TEqBwr=D85DESO3$(B4 z@l;@zn88{DnZw5j5LRsE5(yR!du5A5ul89#I+=ltzj{78)}j`xvB_3@6E}=JROAAQ z)G~^&eBF%qh;mbPpg6QV%d6&YoVHpOHbk9mb+|caR5M-wAyE+^*H6-37|0IeyJH7M zZf^beP@b5oX4D+iVjN8?g^1^I-@){zd|Va`LFszI6!lqpT533!IAjZGxF>@Igw1*^ ztHl@WBE?{VnSctghLHvztFT79E+eVI93 zq$~8clL{hx7XWM>DHOC%iC=a!4b_%&Na_zc9_>~-*}KXn;Pw<^M|Zh~g%L?LCWjYb z;yW_)5{`Zwm$s~sHlpby=t4jx%zjZC&*I7r=ioEfD)LJ4=)w&iF^x|-`p*k>luyBf~^+F*xE|yHeC=JAUMpVD!~FZNu5b2nShcx za21Z9OW&v*@nH_HH(8A_d#Nn)us2u8=84SD5$jbUrL+rTwFW7xtT}*X{obSY4N7)q zql+giCfNY7_P*HrnJB!5Hj1<^bhssv`S&k5$G*n(!AS z?M1L**<0+TlvS|9UtQyOi?T-MI zi8y)~mr#OPb)1=?ZoDnH^|ms4QW^~g26LBrgqT-ikfPnB6mA6#%inYaEPFK^jZq7= zBouijrMf{(_#;&(R|=9FdUr9orYslPzG@;xA1)v4JC4e7gkNlHzqD}zXXt9<>yT|< za49w#5s~i3IMZ@RQNxanAoW#`$VsF!w9OPj+YvsgscTFV2&7x7J+;o_^ayZ{&4L)) zYL;V*+!*ROcJsonDksEQMqOr!L)b=Z4z%r)NS*sW4z;ZE3>hhAi;D?rkSqf0Sh5E& z=is9RvYLm#@o$BA6Emjre4*b7+UFP@F1A;BU<-qFl|%L0pumU7#io%MV?!HNC~%2OFb< zQur4-Y#>iQT*h|eiZAg8RlSY@KPF{Ulyd?mxk@bc?G}hC%4^l@=nR!CPt-$_vmEC&od+g*kGV_Sx737R;W6h20p- zKi}7)QnYv|QFqMB>jF*eZedGt)ZxuA|8_@ENipvZ7NH*e8}i$?N6HY*NoN%KO+Uns zE6+#o(gSPMU6)Qt|C*$PmI~a@H}1>UgQ{??_S*)eKB_}^51FuRw8a1@da1|;tNMIO>A%f&T#{i0QofUQj|Zt!r#~C*y-Yb^EN{Qe( zEWY@}R}{v2=PiSAl0W4+V?Rs3Z&x)H!?tb!z6h^f+*t>s2qHJp$qxmi0%G$wia6>f za_4&T#x17qbNoXJ^@p)dq98B{!ld4^NNhKJ2`NBK%a2c?lZR8tn4hfM%t}9V*1Nt~ zawuhYQf_96XF3lQq~VZ9*^b2RC<_3YSfP8rFI&^bb~;otpEn9?u7Jq;BcMhSYE^!_ zOzs5o4Pq0d6rf~c3y_)|hVVyZiYGEcq}cS6~prwzsh5f6B(ieOG~=r>`J#ApVk zX7hq#FplGF;0OvI-%ea_BA>XqW&Rd_*lpjTMMztK99y!(B&i|N(2nY+SfI8yaT4h= ziKlIDM^xHRuv2Z@|NaT^ZYi_!M+z-Vp;0<`ae6Vz!lkpoasuL(0SWW$sbJ$cu0KPzy?yg z8|&ulWM6cg@)U~vX>>dzl<3)|EXl~MqtpJ{VwzP$9?(&4jB2}MZ&aY|hEO;!oPGET z>Qoo^b{NraPgY1W22 zXf8ms_awA8w~-w+XsUiTO?Vrwr3=0Vwe#siyw3L&&v=*atfksx{Tthbj|07qPK65o z01?gQ%L#m=3$*zE8w1@L5YyiwJOXEx0nFCg>NOgOP@9vwv8H)MSAaN)?k!Ivi?_BD zfQ`d`Q2tt9L~hyyrO90B!9s_DEKHJ05)0(WFomh#2#0V0yui1_8Tq|LV$ZCtQ(CGv zQu!-k>;c1~*-Inq76OwcDSb#PQji|BuXt!G+8|xHK*&$CXNoWmvk2$q(@;-CZLru3 z=dTqLB`z=S_`E=_Q~=O`Nkv4|41y#kV=z(L5nLE9(b?w{jRZ)I4b%vp@-XgSP<{f7 zOt|Gwr!oG_J%&{FdK!*tI>Onyp!Em?m6FfJ3{{_?;%hAD2mn11DTL2nBx(Kn-k}J) zd;oVLcO9q`+cK2?fR#^05q;4S+J+p;N@JLw=>ra2tA5%vYkLrsr!!f|Q6N4G=Ds(= z{isHH`-oG779GN%trEp*Ul>5v+eDr<5#8BEAcE)L^PLn`rw#EjqHgS_&jGle{22Tlz7kao`6{1kks# z#(9HTy$z?Jp&x9I@Pk#;`63$G^H0ufK_!r#Cs35-H|q6Bc!*!PHGcjzyh(_(6m0HW zGXm@i&eV?>S)t&OxxfKBj#xg3<(3O{`zS6*)WQdW<7aD_`ap^nZyyGjN`Gc6d#nXC zhFhvwV6vbjkrog1#^lRCY|Gvn`96i><; zaDu*bvC_Z}@RwS(#Xf|RP_63}dZRqfC_4lPrq)lbmNl$sb*g6JvsZsE-* zO!McqqqIIqeuD!WM^r7XE00kntGBfmYe2L6%>&hl8{E@$YaY#CL%o&KYhc!_@u_WpLVBI7z)2+ zOfovciPE>$GrO+CrDno#%U_P&n-0TpzTTc0--<(mMhNDN{-V@DhoqKls648Hn33R9 z>Nn%;jlAh)k9#ORI_n@`x;+UYhA>9h+S5b4Id{IjwTH40c8m+@{aLcM<0=$xbZI_4WerPd1w(q;dP{19{@` z;W!0E1)$`%>RtFFWo1ztYO2JK{Jos;PsH|(!&X81eIX0=##IXO!`$MHEbBDgk8KES z{NtnIMtBRA_T;*iEY1b?lL}JY%eDFq``DB$6*~a$RT?Cqh-L|2IwZ3j{;nKfDN)+j zNzQ{6nleU@ch`|s{l;(9PuI9_J4+G78?mR`$S4dP5++Feu)w$5yD~5?RUVOR+R|mF zu=&*s@`m8!+g~j*8oRJxoXOk|_m!piyDk5Sn_~*@m)Td(Qu8_dI=%7mFlE`UyXCp2 zMoUJ8usLr@QaqA0GAqOG5`iJj8ho#*zL2lMwf(5XRr12a*mXPl#qHTCBs^ZPU7e>= zTM80DeH36{-Uv&cwV|+bE0O!l<1iH0L^G!|0$Qz7BC@ej;YM(CAs&}udgk-+uaFq3 z|4|#CfMyWdvyNSY2u+9k-Ob383Q~|FQ+^WD10hb%5jLiat_3C zU^zI3Qj{k-`=zib00|PXJ9lb8zFs6u5Ea=*)1jPlQjo*#0BK0X6X5Y|78N&33294S zVyT0nfO56rEeP+>h$PMNDv6f_$uyso&Lz?MBF&esd9v&& zB{Tn?B!n4uroXZ?+xA1%o$Lj0W+Reebco@ps?Rg0)>k0*0dqf+Z&QhXK zh)+efQfS|6dgtD2I#(I8wB^|!;B9fkC0v1a@Ws)Q^Y5g-E!qs3=$VaB^^LZl8Uj?>S4~q(`iLBa>kv# zaJ7m3jC^Uody=_apcM&|lr!U;lu{z}j-*~JIqN&N%{cyRK`W`}!rZqIdvauc&QEZn zkC;O#f4Ir75BeDm8b&Xs|8DF!BXB1RmOvZE-&5R?Ue#a^RZWuof_!IYohQ$ zRYGEuvc|Bd37WIe*3wwkvS0;ZT~v3n>K(OohJ6tS9dl3VR~jCC_Rm211~x8t)gIg;(B%v$t6j> zs(9ZcPr22^KkXNz*|>qKxPnR`Yl6^pved{yoiBx#k3m> z*JoPlDgBHLkPd{OJp*bh%a*;xCp00@&) zPf(YF&QJ~me&nI;5pYcRt!&wimwE@J5Ld|cgKbIo@#O1BQDnAql+5d0*rzvDFrc_{ zii0ztujn$OU+qgqCt7 z?poosAPN$prn9W*bf*B zi1%6u@CVF4CjUTs)=trr$)LqMZ6n_b2UE=iBJ1h8_yfEmtd&)I@qNr`>i&Zp0f0?7 zQ&0XQ*Y(-CAd2dT@%pA*lkAWpw}I|c?Bo|$FyRcgFD_`Jz{^T`X9mK)m1bZyGYs-C zZ0j)J>Egk`YzLI&P(QlU^sj`rU=2k!#%gKi=M7bwJ!g!t$v|@L+N-)eL?PCt{vV54qtnV{JgoDZ~m-H_v5EFG~w0| z;dK%9=%^!Jl|#dsL7yEa_MkEsgBfC2J>@hQOpNWdQvDWfK|dca(F1g0tnFkolD3Mv z1m|yl)H_tn0}Jg?^;N-Bn|VS!f?t6~BHpO~-8J8iA-eUNG@@vVQKc#DASoW(s?v?b2u0x}G&B5=ac>6M%qib9ak0cU(eFC9#svnDIs@!y zt5MElLniXXn?*rmWik)$ya zC?#EZ88V#)1g@&S!bjE%4>+PSz|AGaB>ORcm3UwSJALWwQ593R7n(_~jHq0TR@%67 zfGWe}^D;}_9GM)*z)JW`Fnp(ggMhZ;Cxegwlsr?hB}H5Kn?jDdWTA zk1-$1L~pmh^@J{YEwYfx+|*; zF`bXzN*6!BRY^SdhGi*!kMw6(=OVKyH9?4UwXhy+BX-INj`qe&*?2tzE3DM`9f}=knxy%>Np7f>A0mHBN7`y_#2R%t|iuqu}f6C5nQ4E{V z9oy!&En5uY*zm-D#tnY7Qq~a&eqvWyOS*fC+i$>f`~N^E8QU?BCr%y$g}tK2w^kYb zNi>Jrkkkmzj@#jrGOPN~)3Cph{}3N2&fK_k8FFXrSbV1_Az=|ybD}KqczO6;!RY?s zo|IyVCuP?9)!kU+|BCB;5hwx_`x-TeQ&`E_2o7mq6Xg1vuN`n|LTordd9MiAQ=}Rj zhAaawDRbF$p!HH5Od<* z4*Oomy?`(>T$e-Tc}8q6WX4t6s#=Q`PGBCf!)YC(j7NXfDo+Y{!PZ#rjy`i5Pg_G0 zT(wRj(R*WI`bn(sL}`CzX27d`cIy_U(MJdvbHF2Kiq({YKT)mj-Sxy|b)iLy zy^AwDvB0v2q)<-kX_X6NyrB zX$$jR@NbG7KR8VIR{hfLx?}zrPN^yyWl-wScZbVg7B zDycPI2k|(X6_@1TcTxZ)olir~3lX58n%U|o@}ZuvL<<_Ht;ICP2j9p>SR7XV4-r|> zj!sfkVZ$LZq3jSccS-wtDy&k;*HPtpq&Cu^rD36)X19(Q&EqoMD%ct>-9`q~Yg-&V zF_ zagHhi%)(x|gaw0Kwp&8B46$LYY7C}B5^rXaM)v8>FQOMAM?Vk6w3@wWb-DZpBaOH6 zsB9n0d~K(v5B=0xlelO9S6j>Rpb^(2f~9;7Dm2E{bFh8dz#?cd_kmO{;oRw|q^K;> zbTTSNQOG3JMv#g)gZVcC2Hryy$kN4ZqWU5fy!39y~G4i_^%r+yJ+qwXrPye&t;yA(ZOs>1J(%HV)Pq@UL>_M(O_GD z15P3AsJl9cW)#w-eAfl~xK_ld#Wa4SOi$(8KIHk{%a&}OPWTa~{!i*CP%Xt+eJPl$ z!Mh+D%6O)L{!0}U_VYK2HyWdA6LS3FsddCTmiR1{1jF&Mr)1QkpHih-pjZ?TNq_A3 zuR;?(mKV;UEH7!BR&& zD>abwC{tgs@qEn5ezvK=P;<1GY#=ldoB`{z> znW5%x!ch7$R>BmaVku-@=DnF!SEJ8~HSIhbf@CvrH-4|nlNGSK+W@8hGEeKu{gMr$MtPL!ZJ zfadJ5o_4h0el-}Q_f&u1%ae<>mX{^nk@zWC3p|_Z=k!3b?N8HgoKdt%s`0zQdq?YS zOx#sC?Z%g9=(Jdo@m2UHfcMOC-=w{CVkfv#*{FF7-o7S5zYW%0Z3I_*qORq1M0>ed zdWN1GP_!&DHIP=}d`oGJ&h;+f?!MAsIQ1j=rt|0Tl72`9kZB^wSCf4FvKzSUch)wglyb4EEkNP)@iKxc>=Q7k2^~lr!r#iPoU)C5)@NzcaSV?rN+mBF|`F zFdS^IPP1V88qMxH5Ff&2-rJdXnzBeC3rLd3tDxEUSZE=Y$YP9O2@h-UyCc(TFtrh_~`W%cc4hny`t1uTCFe0W zxe!5TR=#7fk}b`j2(GE_G~G$x(F zQ+EX3SadhT4b$|}5-FcUcuNxUfh*0c-~T1HlSw~_!!jR!>=(dT%vdWX`xa>znJpgf ziy!GhrKB0&p^#cJjbWEAi|`bCb&u#FY<+N(E6%0JqN=1)t~MMZ8o4olqeo1ny3lK> zFKbPw`N1Mpl0f=}=q>=%QTLi-{wL$BiRn>2(~iq=*{~xT4x5)`&lYEBSxb#nClKYW(xkIxoW}`_VxX@wj`S{1&J^6#&tVS_uNfx|zO- z{V1kdIb@+o=OymbI3u!Lypgq!6&>>pJY}Y%u=Rzlu7xjUquc4h?RqS`E)6Q?xJH4? zmdm^C4hTgySAX-oJA`WeP{)2s#^!iKP7^u45olZ04Jv36KGRa0@}yAqQZhn7Rgk#^ zf>K0NO|now0HfWANl^$GCv2dbH){EI@gfb`dJr;{LS=Lp56X$#++o#soM{YDJ(2Op+_XnjWdwPQJ7mWKzS}vif?OzsaZO+$ z7*P65@j{X1wV&;ThqKg1(Ll|x1Z?lG&TsTVHZpoafC-oRLd;n1Cg<)uDcu+}iQ@NSpDX6e^o=tGU&5Q)`4(Ib2BCZBl%Bec-=>L|UOZHgjHq8lhtV6;sgciS@} z*fBD@GN1swE$bOFtRsKkvy!k9y~c0{#P7xj{bS(+rWXrN;W{l(54mC~EaGR8Ix;xO>Gka!FBegTnz#g6{ zGo(qw;GkoQ?U>n?Ez4qNW_V*CSjlP%hzRp3B{VJRpo!4ouEZQ8x?Sw)CX$-UJQ0vjbppaN zP=eP9My?h;%zl=)S&TTC49x4CwDp)h@CGvN$}|N1c=n+gkX}m7H`VV}Ns;<(`7Yg| zW<)XJb}uYZn{!2^B3~un7GeAROZ*!>yg7+E2CF$`VA?H@T0f zxw1)y%6|cw0B=OurruBmy*3vkEtq|!3vi?Bmo+7K)YXE!V1=Iyx5ctP)(xmEF_6Qs z0rJzo3m26DHlEKkU9i{kVRk0^q&U9$s(*kHan?TX>~i-2G-Iv4QsaFQBZK$oI3Bb$ z;PppV==J_MfcatK8(MW=^~;+S;0lMaOlPkN`GVpu;k2kL(6;b7rjY0@9u8JisW{OzpH?i$(0-KHBR@{-o1 z=E0(AtLE~c<8Vyf6RaLl=O_x>8Q?DAodKC>U67j zov~=Cq}UiXM?uJi!TpLb_?{5vEd<3P-&uzm;m~V~YWc~B))J7Rw0LXPWCUCSKZud# zDxj2!g6*WZ=!H2#V^3c+s41#56hE07OCFyg>&wHaA2y&NeM=7K>?JhYk1LWbTN2#i zV!`~R>QQc)xzADxrj<>j!8_(Wo$%4Tl%OIRbS>ZMU2sFKC6kLu#g+pzgiR3FxnAQ>TpXG2EQ^UPN89UsQZO4W%iR_bbQAw z60pm>srXyiXA#Y2Mn_%Li(xwaXR3@LZejpc01{Os-!r(|8?GSBddC-V44=^6MPeT_ zp^>U1C2(oq!Y8@MMH1&hOf9Z+iiH>2BWYF&<+g>Sg(&3mI$jFxYe+qv`MlEGTp4$g z@QI+-RN>2O)GbaRirV<11J3lvNsBa(2|2r7jG3_#1RSW7Nhmn+12@*h4#em!p+T5% zPc*h$vO)`DQGkgZlQ8!Tav4vV@jgvPVo+$|wl2RF$};mfk9emIgbU5u(}10xK;BnW zG$zXOa$q)KZ+CeOklK#yq}DQ4&nFOtK&XpDo-0tG0ya8)b7L1P*b!V?J{I#VVVwn`DC&=yrdELx%!Ei>|o z`lO@IMHi@F{+MP-A>#S*XhI|m~d zP{PZ1)V`H^cUDO?RZ{)b6a-952-8*6C}kV9QoC&{fmFQU$hT##`bx&JjdP(T>`E*$ z4mMPmF^YC+6WjH$ZD>_8Y9?!sk9#IW{ww2a7ajBvyrIyPgO{OeL zai1JbIK&=A`DDX@@h{0N(#=ZMARVX`1YKPllf>%oWs-B1^&%3T#sc%<{sKd<97L*! zqO{QMAhPQx>_`k(^WcUFBW08&f`s*2s=z)xFACYW#-W=VmJR#tSGmB;&x|!lHlQg1 zv&D7Lt@Rr6nVpKwISKUdB&8p@m7e~tpJ#TpR_Lz2Nzw>>=)B?Y@8NF~5Fe`o;ST@^ z+t7mZ;fEkIFXAsd?9!rKzU;nwNVXMpH=VXjX*_U*5nnuBKu-)ZMcG1TbFR*&^c_K+ z7UjeJFb1{;TZKT_w9J3ih?x`cShO|kRkiBp^K#lLI1j*0TEtbZcwNvNHtFx$9W(|W zBk_?<5(^7%$;*TuD^ChmW)*=Nk}FhRK?qXG_Eb9>MWN#=oqVF;2bX7)r>>~;5dmN* zX?7d9iT+q$aJr6UP(^EYUARiqdxizRnoFwX+HPmdGnV)uJ&^)Q%!!-=CMQ9@rN)k| z9a<%$!`f*gZKoa|{LLXiHv7*N4IE0ShVzROmM3DzLlcK0$PW(@FHjbk5)w!cS1SKg z&4hXZ>pTzIl}@8`JC(ID|5gE2Nc_YLGF5^|)6>FE^cL;tK(y`XMnV;bXIi=;OL|bI zp>`lYeQDcBYE4*L44h@I2aLdKu!>SLp^QuxiSvG{^LJsPQ_C_Nk7lvOODl&`b^~OG z65z^?(u&=cz{Jb3=JFx^nzwS5%8l6dU50vi(R*(!XA5NsM^UkfW9h1*gD1u z081;JYC>!^V476N8j=`GYqo>qm-wvW_&-OswJ6}E?a=8^JCNF+OGye+Q3S&kyoN5A zoh)Gbl=zHeAF(hhIOx%6q74m;fUhCTcDT)F9Bxh0y!17}N(4({)bf>%K6{d;V1hGeq48l=q|uJI*cZN8HPNz5C9NgfRjk$ps)Z02n7yacoYc6AWcg(X_@GpO+LOvthKE>hYo@=zt4+ zB8kjE26Qyf+R$s zpypY|%|RGeNuX09ykU=%UKnMQ5NIfd8BGMBMz}kh#-`y+x~hQcH0XJfU{hiJ5(A*dDqpHJ648#<`S-o^HIt__U$ES zQ+d!|f4VYu?o}-^VlwN>FZDuk=}f9*elLpd&s1naek6GI^mcRo)sp~Cu>^yUnyH(f zwBz^tQ{fTjl-jSk#1R~yLkvivle0xqadxKrEl~R`Yoq zdvM=UUu~Ay)I7Nf-td<|9FZL+B!Z0gM*=#6)jCN$iudn4&`xn z)qw|rzjCa3`#Qd(FRHfh0>}1k{sJoEvS6p5oo;p?e~lmv_J;FL%>o1fgc(r<6kS7` z83Jx{NW)xt&Qsz7b@V+jXlg|Ra@L)F>Hg<>6d8=!NrHa@pf;)|;p>ka96Gz2y_VOY zpZ}HN=m37ilsYZqg4e8F{Xzkdv@@p9OnF63So69fxMeFSMe^ysbNOh0!NY0+%@EwDN&D?`;TaS zsDftL&K;R`IO?*Lx?$jS*GwWX#WE#Zbxgqo>e^{!y*H_uhn;2Z#bOc(;z&2kS72iV zkfNUM=$_BP_~}dHUuOk5U+UhE829cZ5+!?KQ6`;>AU*Vw4b$d5YrBzc7P1=_M4?`V z<@V}Er-9P%%`0nv{6YVRM%=7VP_bDwMnZI4CqTihU#3c==U>P)WC81S$%)M;&E z@`J@(1p?*9x?r^jtnAH%scKP|JAVf0@fsiQ-WH@OstQVwh`;@o8g`M{MIRKonC3Nv zFx{kXCzmgN0wf8&yQj5WfUdeE;PoOw)O<3ul}vPxdUWHJe37mV2xiqaq3iki@H7bzB0z}f`^+IMVO3r zOYvL$azBr_k4|R*S+!+k?1oUod+>;@OC8xL_VDgCcLJfxkIY?HqkM-8}Lf z%!pU}muzb3v7zgtIf{xuO%LuV+{+rII4_$UidXT0y1K&j01f-^cvadwt;vOaE4K*w zT=j2~zij>8@;_%>6h`&tGZ)hFR37vTz?i=^*Zk9C6qXYToKq_bx^JTLWMFSaH8Y;$ zieV7(8-R4w$pDAlr=2MzMkicbk!;eoT7gaI1A%$z&Z-3hPk*w7ZKCHS)?DgBaV1~R z7jSHoDGmsMZaxfkgK`85z{7YvnHD{+VDJU9AD^kS(O{n%;jv1G^d%~@em(TOhd zp+VQOa|fx+LLmoA?S_JFh+Cmz`)``Zw0n(BTPa>LO7V)2enUCf`IR!b}dYT*?MTsSQn`zp&P(FwpXg^ntlkM1b|EreLtPRzy>__F&9ol9$a)kpV+BD zxDQHqce%sRatE6%(4no&n=ZkwGk_7C$TvV8K*Rz0Kj(Wtcq)#FSELR5HD$zR#qfMy zFp~{;(K(P>-hXyT?5=TM)qjSj4X9h+E}&1rIs(zUl9m9<`cF~da+a6vDyDSY*dM9x z^<;+XW+U5FR4;AMtJQQB-OQjB)P7VIjxIx2+me}}F1M{fF>6WnXbq>ZIw1<)ae09n zYZiVx=q3VxZH^4}XKt~R(3XqD&HOK>;f~%*J?bDZ3hfQ3lOD2s|}K{9Dx{x9@AJicqxJjuYdchvCeq$hN`* zgJx2=O{kw?2!Bs5~<%QAWjI)E{g2K=Di{;UyVDO;#Z|5NFw595hX)jVj0Um@7& z_L9N*SNhPvuR?{~V4#7=RXf+?NO}E89tx0#>|@@qc1r%cLiANgPFr&rtbxeZ|anoy{C(2Acp$?pdCA1 zWy!xzbT95Nb$#787NV()K0(l0#Vz)kVDTYGr$kO^EQ21voUd^}aCvj?E=rR5v9 zEmJU8)z%K~GRxe38-e4h)#Sw28c~?E``(sPb&H)n>bwu7Ld#H)(w%t3ZTXPp$9!em zr&VqscrlfiCGmOd>|FxZ)*D;BO@cFtv)_c9foErO2S_LlEg>Rl3u=afV^w2gFY{&W zgZqrtRUoXV;})El?1WDy1UTSWz9+M_Gu6bg5#K=6q8BTrAgaH)k-_MeN;2x!VQv%& zW=OZ_G_@TvJkkeVcRctLjVs$eYk!C{AcyswI?%fQQ`UNZS&=7c>{^I8r_YBuEI9r5 znb5)lduT|_R@lhbZUFFGdZ?_cEF~7FDs%!77U<30_>|F;V^ym*5Wf^Y`HS8BZ^^UD zjvr|}w^00hb*hN7CPqm!;K!b0lfP2|C>JNpa!*xOan|W(%7&^`hZh%-=h)UA+gFn< zpNVfNmts5Ni;-P4h}_vLw%4y$C;;0jg%t-OAtwUmg?Dbwkm?rQbq@k7CJAz$Y0AU1 z?axZ9H)I@)t}pj<@Fp~XcAc*pfvBhdUgeQ?xG#0yWiXWx|Mh2!r^!2<^v!+yZx#NQ_~>s z0#J}}CIPT)l$V0t_78rk=1On-{|X%mJtNxQfVX;_%mp+-RPI2@#*S&3+u6^G%O8l& z_RiY3+d&oMgbzP_q^)?u3mmYbKp(fXr=H&@lgkm?q{1zhd=gAFMU`<%AF}+hx-Kr` z;}H)sV%yieGpu}svRe9J2wDyzj=omj`PpXQWM8%HxpD%$v=NMgEjEXV;D7z*^{nGA zZNyKJT|@GM#U-1UdDqs4W%$Nw;3NF+IL*y@*vOX?RAx~o+$=YjXWeTM_ku3)nXv*8 zD38^twn~%i!&Zae~Z02PF&t5ZW)j9X=~iT5N2O=2p2C9ver}k zwHQEo>+~&eC%d&A-qlBR#7UDB#HHot_z36$!5Ih)h_eg{C-`>BssWxd{^>gKWxIk& zb)(VPZC#ziois+7cT1Ph$`WvS4R_cB2owlVjAdxvEibA7_$_qml{~77TwJrYp9vqu zTaEd>b1LNVmLnqlsx1AP$2^>v<-~_W={-8^GaeGY#B$f=H?7pS;uo`%GOICOK!AQ9 zb7I^D%Rx?L+Lco=(chK(H*V}W94;D4{C*Sj5CDc08!^JQGGMf^36jk`h-9P$f}OKg zcXKV_oc0n*_59Dafr$!SyNri2HQEEQ-!iYKch$9mA;}mQt;|=+&w#AZrt)N*Pc06% zefY)cT*mz(2;p1We0KN8xXl_Ti@>PV({KYJDc`;$uN0>cGaM7Rg(9D>K1F}#MC00a z}C+B7fDr=Rx1GA|S{1khVTp2iD8Y}`{01Ixal=KgqLE`uy%vDUh*9dA0 zF27E~slVLbgq41F5iDnzC$|bDe9y#_?X7#~*wN28lHwgyK@nNQ{E!KV+ZlfpV0aQ|(^g=ac7LA3*2l*6f_tn4&09xOV&>qQZQ zq9+IZ!v)&C=ac@14J{gajb5(i4-P&Mc*fj@iYE|H-CY`mnm0E>;Uo=Uq~7O%{OWlq z*(4wYm5h=DA#iiz#~euv76hKuJj{8#0$0w}L?X;hJ~re^D?N>j^2E=zVCl|b3E{r9M7Zl8bzhg51Oa7P#nTG_OwAmJMlSpKjrGRHC zodDXSyJ0#~rV44ECR^Z`s^(J7-C&oTRE@oxE%G4mCqH4tCEw45!c!^J3-)y%5SWLw z6U4jpVpk$$c8dJWg?CY_h>`{4RXS|df`!BX`n7bezVKd_ciWDp=8WiJB$fG_!dlH((4^!rjl|eR7vP(uMW}@JMeN0 z?~(SM`A1w`WwOFvNCsS=@Q+WKNmxUUMVSYuwg`joY`Ky64dm>7mIV;$!sfvY6)63L zBdxPC^KW_ydympvPE(}k=^;OMl3snScjHlE2%4(SR1r6tnf@^bFuj!k(c)4^LYg1V z37pXF41~1Lo7fE|`;B{67q-82m6`1CCK~iJ^(TB7$ZTD?!-ozRVR{IdFM4c)LyUZi zM2qQzwxz#BcXV%<}J^DWOo*UQ!oU#a^By$yxgG6waQAm4=9 zlX5;ic$;nBqGqBWxQRp5SFn`84CEW^MyPD6fUO4If`#<8;>@&%y+C~U zCl3}^%Z8csS*lQWn1_=t1>*&FQ^~kcIrLh<879|k;Yilq++6{D8$9Tmt|qVOnNMR7 z7>GNFO$adrfMUT`YiQ=W$_^E8l1ISLuhQd7?8>NZWswsvt{qbq} z{-x7xCah9+$)Qo0kw3d;ZPDgK!^!dX4Pz40Q7aX?$u*Rl^?|ZvYVZw7cF=ko2dw)q zth1-dvr)MKNY}DMi+@l82>J#jcEi|#4FbpFH0-9nrUS6B{WxC6hH=5{XjKl~bkE{1 zd#1k+4QrS)7dPlslrsh6s)a6J2|VhoW(t8x(Ef}Bj#|q03n+*Bjb|Uis-cUgy6WhZ z!aW{lGpWQ#WjOL@bs3~(-wIYJiR!0vXvhZMZHVnOPqqC&my!?Jo)T)Z6v3`&8Cz*h zn;>rPCnVnn%DmFx*xroREmgx8C~l=JjEW2+;E=*aW2%SNurCSgiO`mK%shf3jy?_^ z=n6Z^P3s^}LXX0V{DnKM9$-j9^(JExb8c55K4gE|fTpi=5e%A-&Do5aQfr<K)ZH8x(42Sri z7rYNDgxp>~w+Tng?7668FP>{1^`ljrPXUs$3e*%uoy*ly(i6P{cx6Z=+4Gw=wETP) z<#p(qoQTb4)X(?14nI8hb@4tQ5{#L6BUgAm8rPEfsLJQQf`xxk+DZF);5S#xmCXW- zWUQ>?B>A^P_D;uoTOS;Ies-X93OlR#geLII-n|~P_@NUvv!?h!1)I>_L|7(utm)Wp zPV3VuFogWn;*80(zaCn5y1Y~&)R41e&`!Wjr4ogC&1B9!aF9zEs}gINyhxK*dmvkv zZh)K6XC8WK-}JP@h||`2Oq&6O*PwZ`a2{DNQV<8TQ z{PQo;alf$vfz%3Z5I)us)gObjUBGMLEgNiLVT@5i z8=xjn8cWU6v8LA&L-L!yyf0LOozbjV`y_g8VNdRp_dC-Yl)}5irX7gJr|HogZPsnO@4^An#IwoFlE84M#|_m$gQj%c&8P`1@~m8 zYt(W0jSPYYEY`4m_y>0lyXsGX8zLOgx7Z!PzWIdF@|pEl*>{UO3&_U+`R!>eQaD_%q%#BJl2`ajwl}~)0Mz-HnBX(+6>GP z*}xsl%*A?Bs(|l&+Ih&~*^k@NpUITgdUCjbxhtG?^AAb>>mgPK~`G9ODd1biOv%bUb}li+7sSr0R%JvknwH?-~;5ij~maxnynCOY}h`= ziTc|w3ZLq|T+W=r?0fXy$fheXFf*H}X=_`1=4Vjc<-u_7^Aq<>??M~?+V2f8j-YY} zou>@g6u#zr4I}+EB#>S`xVO)>AFGn9_OG86)cwwPZwcg+-5V~v^iHy=w=7xzs33j; zx4ieya@Z+r-M(1-%$l{)3MF5?8d7G?mLlG-k(Dec1y`Q>7}s^Tu!B^}ib#gr3IZB@ z+P(rWsVGgj@%V%A%2 zO6G%ya>J#xC7VNYa*bM4boP)XxczYC^jB?|*4*UAkNL4xaISiCa>K2!xr?#A#xd>N zqDENRj#$^<=9qvv5OX8vU{~jDcbPV2eDmI8TJ&9@Wgmeb zOgW*t_Vx(`^!s3t2U~yTe`2?10SQI9YmlICtp18)UU}?LEsPngppp%Bq96!Nz_aZY z1L859`Es-Jk5K|k%!*DG53A`Few%Z#Y4-$#be%=c0ws*DZp61$4`!v#3Zf6LbC+pA z6)ISLoXAY7@76qcrGbYDR22T7CU%#HxkOzq32hdJr`eHQr#CU#wH&g{hl8quELZK4 z*!{RueHK7CdE|%7&91t=shv=yjx0&t9K>@JkZ|Um}h!egDr? zG`)6=yz*V@N2Mn9nkmiyJ{|c(xgKd_o$=d>rvAm+Dl4%7$w7GBoW)N2NIRjAuw{_4 zDZ2FEjhTqAhxsGhEA9wfS*cTFb5^i?gjDC=U%#=@R)x;5S_UezhD=+!#c{mI#%>9| zQpqd;vTAS=SejEWK~P+Q2J%kryu=zo3wJgPR%AEVO3b)HsA-T9ow)y28kcc6 zrpA2(h1PyD!(b(mvxq-_&SBVpFQ-(8pPKs6NRq;=?xE7%JC9L8ywDMZm3 z_?I}4f81IAKKSHxzJfB%E{xCMK`PU_#c8}vjw-sHWR#cYkO%P^+tWDP;~q6XcvHZ>$qnf9lnw!c0T#9t;y#c&-U5<(VxpfG;@Th$H0=s0AqQu zu|?FIjoyL*x;0y#0B7@8g~{n#+m%b(HVi<(5i{J^smXr3-Akn7ccftv_oG0j_Os(`V__>;f| zcNHqFi?qWejZ^h&uX-iy;#So^I7P(#`CRu_cn8@ZsWQjIrXus~c<`U?BdI+K`xwPR zAk;3TCt+d8hU+MNFVZAr0LM0D0fj~7VM*`Hd+~30UekmvK;Gr%(Qzu};f(?^eRJN{dWT(ZiaAh7I7nTT-Go%M9C`lnm`uTG z7A9gZ%QD*d988-=khUEdVuPJGt3AdkP_%sc%70i9x5H_4y5{`$Ri&5UMP=kgasM*q zGyIf$z+UyxG?2xbJnt?OT;En2VxzKMUtdp&5}}m;&7aJ4B4IT~*Rspuo_ag|Rldp` z(L=Z%#rCE%58_|fVITh?Hcb~5p>}Wb3ahkTMpec{7$WXx;Tf3LEND2JhxmjR;flKj zTPSAZ={?@^$tXAmJi@`@Wq6c~VoxJ`$=J4NwK(d~e%6c5CUZAcLW zSO4=m(SiwbMyxYe6TAheV)ruj46rz|3Ub-Fl8yaqZt9Ayj1@pm!B3;9FR*uQWtNsC zxv#bXvnyD6`Iy**@7W~qs7?2XamSL)wJcjKjdgrQLShybJ|=Gm2)yeH!;y+*O|@!- z3(YD6CpoD?I$NBPtZomgR(ihvFaBtJjEXEJwj+;xWNz6ybaKZxdWF>mQ|CU39ft>?_>&XqmbH(N=(VFJJ3>&4>)m6$6=I z;8G+;<@>hOw^TfU^Q$jS+bPbeRC_l|G|Hp{Xh#$QaI*WoDi5vDG9XP z!WKAFKMD>E1LqDE>&%B0$u4X8LnlsL6mvJdRX^~ORRz0nOQ-;G+#C1$1y*viBkJT+ z5l?v7mWKSWCM=HcnZ^|x+{NvW%XU2|{C&a|v!!nzw5*1fDEKM3+92WCyNXjkX$QU} z!IOk&-0moHf0gx;nkll*Kl3#9ZvZyAo(M^GMe#tUsvZ;{-BD+H1Em(lw$Tg6{}9kh z6E|)&=$)kN>;KaDz=K{_KlZO*LFsJ z0!!nuYAW#LbM{M*qxA-1x5EcyMJ{3y{3VtW8Mg}NlzYp{e{Fn<^&(uWqa+OYa!};M#nHW5fBiv&}f_HWV-q4tr!~MC;Ic@96({i zY81^PyxCea_qePEDNaWFy!q4H{2Kqyzf6#UnWNu6&#S4ds9uE>iVkG~Osg2~_%zN{ zZ@__}z#((u{O)4xqibI5Fg~Qf8Pc$B5aa1c_ zfR||3&#@M_mG-Bq((x1D$8q-)oNi$z!GM<%w*k9!lm-mMv6IO8v$#dmrQs2K8%|IH zzX|`tqW-&U46k2~jppd@^Y9nxLZsjJ#mAUt@O*6$5xe&op?-8lJy|DaBp%8tVW~p! zQBL=4-4?87?htRnMA~|j!OnqcW0N+`?)lKuw{VEOB3DNXi$i8_YH2l9wrxNhNQ3e8 z92vL8AZJGs0etV)u zf-t{zgbZPy=lo`%ihS^we-)fvn;^>dvzKXqXT7)U+kfnAEqJR!9sKTq>Zh`w-5|k? z-gNO+SH>c{Qjx{WWvjowFI$4V{Nf(r3QLaNeiDn-$mOR8THk-$SR?z-;7js?A3B3W zaug8X_3hdAQj_eg#dYlBA0Bn?Ue~Z)cjf#3;~#Il>qyH@MQpYIEzrA95KYylesyh< zz4?ty76@D=bsQxop6!y>22f1`x!)~6;Pt8IN-**T$Y6SkTpwqoh)b2ie>39UGZw7@n4EB>P3p))f7oa!p-(PUNVy;b)!64; zI%F}H{y)pzUecni<;jeq=H^QW75L5vnbgnI>!D)aKm`kdF7*oWuls2_r#9NY+a$-> z;6%r22f*FB4k?}r91pUp+9L(Y!w140603``5CFek=#3j5&6*+0zf!(s7?0OgJh}YH z*7KF~_caI+^D-z>R9uQt@kXT8SpL9GPw|^+tb7r#vn`JVhY~^omhgrdg%P|8jUJi$ zFw35wgz2T30YgE*65kdeK*V|-qHn|HucEFybR}L|CAn#JsLc^2P$gIpvgap2}gfV>J1D6M(F|)YL zz`|0#9;~_ShSpu*yadulG~R~(ZSWdxnTo{XIh)+#d+JZv89wF5#}RvpT${)1MrDtYd9qz8p}<61rj#~>|1!yJ8?UUqHf-io_s_wzG- zt>dwz6G}ONus(n@s+D-Y4-tNS*`~JZSv`4+IZmr7%~6Z z7ElIGSzaD9A?K>!o_;ZR49a?s>oEljhVtS3c<*}jl=PYJ{=@zy*|>saXeuNPwoDXM znnHMtE4ZxSVQNh39>=Zjcj6!V@Bp=G|U&F z81cM`D_&7h@dUJQfmF@qIaiq{BM>2Qzm zH51hpYDGIrTyJ7)efp)Ws{05rSlp+UR6%8;P($OuTpSiJ1kFqu@5A+&n4A-dJq#qJrQlo2gVKf*Qkz8;oK6V#$XlCG~@q;(G2tnoOq}{3bw{iU8Go(2-tON&fx4=Nnm1l`Bc4=-A zN5l2H{DJe zLG<*h?+Gg1^4`eh+b>x^4KU>*e8HR6mu%Mg()?*Ya`FkYIrTO*fF07%ekhK9&Fdm9 ze)v?HSql%n`>C!Wvqrx7YM0mcD377QPkL8zzbRhujemcm%=iZPJ<;25S6~lxef`AN_LiWTV&Ks=aY1wOVm> zYICDuWW|2J0w`m&h`u#aFB+a@8f5;uS0UJP;u8qkWzM4c=9Q{9WSk z=8sKXSV%r(-8hanPc>puhBWUPj^SZaf9Qq zDXJ=)8bL=YTU-|sz9Etae-Lnz6vV#QqP|55E;1I`6vP1IzINkGc@Frwy!9rE#96`T!XEObOL2dxQd3XH_2Lu`ghg#koh}WM<%pC*CyAQMOhKYo5k- z1n0XHC0;;GuXda zfDMc7{lbr-8gdoUpeLs>Q_~XfHSBe>8ZcarPr)KddvsmZaWDQsV*N$Qs|)WB3J>Vk zS@AGLvZUZZy_8DO&f+|TVFBg5+zHy=>Yp026%XB#euZW|+JTZ@Kk_)B{S{j!PaAnn zU>mY4D?(LMzIQVM{BNfp^ws3uFv44?J%(&$)HgLz{DA*L8kpg$zcW5INt2O=N+g+; z4&P-pyPw6im8SojD9bu^^Hz-RDmJX`m^8m7rt)Z*qC#*9Tc>%wl8#?ctbT}~l|77f zK8c`WM>lpHWqeUVSA2X2CEOKiV=bNiuj5(&VaaO-F{yg{rIK4Gi?0?4mt2DPK#=K_ zMz)i1CHS!Oo7rSjRu!O0>h{kNTP&68K5&Zj^!_X6>cKz642rKvR=8$OdWlBY4=OxfopC?$c_17L;f zF~lS0I{OQlKfAbtUsYc6xxJ+(ZxMDLn}H6IzF;VFW6v-<-@zz>3ZL8 z$2$zvngdf@;6!0nqRYR`JzyO6yM9GO^=FNQzB2FFR^~^`7Xq^`T-t!-k>*=MX|TL$ z!WSgN>=V0)M^I?$Ea65G?&W1i<@2Y}&#WapGiu$v)XZU2p(ZIXt$X}$mQG2NW5HZi zT7P|CRV91hzyvNlUi1!{=#9haN?JL(Q!#9wN!*BqIPjgLUQc2>xos;@v{@qZ8&lq& z-iKiA#~(Onwe3O%Dh^64*_+FdGuzl5lzJ$v}~@i282k#eqliTX7ys*E8zw=NVD8SkY}%u4(Wl7az( z?WXKqFTQjwWwcwG#n+Iw@Bs|3WNv0f^VEe{^3|aeo(}j+IAo~M3!;_I9ZBMDZea@f zF6bNEJUD%^ENqnAI>^|C2i}%aKZLp9PnjF@tcNl%e=Y4~o+Q|(NkG%Uth43%*FtDs zhP4Q)-fPGG8VvIA{j(5lBPbk=j}AvlM>l=!t3}LhbnA{rof)1*QbCbGej`W&uo4B> zSfIp7qL%K?u9TVhcL5$kMJ3uPFNHvfbfLM7@ULUAq7v{u`jKQ?03Z zK}r1=;O##aMZ~_xAZBdkkE>$;FKk-#PqA+z*D%!`5eo2J&wh1;xF=n(c=cS2WAD%s zP)V)aC4_fgWFsl>@qc7y`Zig;Q%hPJZHA_uBlOcJ%%CAXsw6M5e~E&SYH*~j=daVi zGFLNP@bH7FrB9!_JUwY6fvauSgz2$eL68JU2>t>3*plvSn|8ANV|0)5Z ziu?$1K;v)FwsqRPX)8IPf4qC|^U_+u7nct=Gyw;W*ET^z)qOiuFcNks*WUfpPMUM7 zEDcG+C<6-K6s`KsH^SI!auQzwi6HJPHoug+_=!;bVwAj0kE@p79CsH{nE2 zfRHOhPOg=&{saRSWld&zHUlSvO!TAN4Ce|blkM97uk2|~EGs3a&)x&hEl5=Ear5-` z;YZNwcri;xlx@#4UsZ44{t@mn{}QpfE;?n0>6in!IkKflNGjc`$;02flqp7HKObmu zL37Roc4IS_97dQKex`6?j~5&t|8CPJB;?JuNzN4gQn5oFk8hYL$5yKTzB`4K#EG*H zIZt5qHRvH)0l84v!3RXF+DQIa5_;iO6(%hE>754xCPA`KQnFQA)1myu+>HmAGu!!} z3wNvAk5tiI3Dy^p9OX8AYb%ph@eKdEP9B~)qj=?VR4zuLzrwb#>SEn z6qE1oNAFJW;SY-srlNY2;!P|6^KcXl(NXVWs;4!J%(SghV!yEU)Q(TT=WVJ%NGo_rTPjD?ZADl{LNy@Phx|c zY4*=L+nZlrG1B0V1G5UKbI$gZ)(^-us)~r3HT&s^+{AN>&T9;As%`wwvP5!@SNe z(=H;+?!F>+T-Eiw>}GFn9=hV?98Wd&mparC4f%LYGEFTKfD%vi2N*yVgV2?lk*hl% z(44Q|!-a$M<~fXFqdBlNr9T$V6$)=%af5YyfG?>inMSK^)#6fpz+}46$4s|F34UddYg1FhIGo60YoUIcC8eo3)OyF05 z1Yz-cb|WbWs4QBUPwnX&U_;lV02CpyU5Yq+tuuz}eSVWMNeZJ$mAMO51a*=wy9=C)!mNy6hD%cw0< z=O&WO*%1(S5%Pu&@F-X9@u^A)@#56tH$E+#ghqk2JY!;C37$xL!1+Ws$;~O2PRqqr zGx=Kx-N5idsR>&2@H)8Jhg5|qC?%V1wF*`oOHBpO(z3};Q&z@~;+V_D#>5*y3oDTY z#ad@h3ug3Fhcc1!$p+an)y>LV#77jZ!K=Y#Pqmca+3Cev1y;N7P3US@ft&9DTTFFN zUJPaJvTmU$`tZtqg<_`GEI7p@6*p4EQw5{s%<02!s7z*ZuAMT}s7B1V1b`?RXpI1YD{S?4<#qc+3#8yw|5a}IkQ~Y=HSe%H`n3vj(f5+ z0fdi%O*zG!qPq1|@2WO+BwRITqwq3nc(D&q;n~@~Bm_^+4&$dhER$ZC{roZ^360^x zh1|?lvtMo7q2~CRha`9R9r)&jNxs*YA{?SUusq``b!Nf3qL|L=-A<} zkME#fY|qRdr$TA;-&oMtqbpK-gm88eHY$F)soE6HuL#x`S`Yug{yhotAS|zhlY|LY z8DT&^+C*?q#xv`ndxzFz%7%l_Jh;nlK2Nyq@R)*1?-2<@ln6QkWOs=$a#QNjhcGpX zUNUkm+|kAtbA~LqW!)Y5@2&IrGIX$i^nfczHHG^N(t%+BkKjr{A&8KkNaz`{6434$0J`{m zBfX`b9{Tx7w_^`T9V*Q*tlRa}Oo`@ARmJ%}reCtDk(Z8=l)-YA{86IN?|5$Hy3uf3 zs8K^cIKJs?MJ8BzGw3zvIoQ_5;mMl>IqYD(MsOb8!KYBJ&EC6JE(%QhvTFi|&5QQ; z-d2qah@`SO{^@Hg(ldo-&YTqeC=J-1bLST zLbDTlwAFIK!r>mr@?;vfTRMcuAo|g0!{nVus*ahwpkQ{YYhiR&AyL$9-8NP}T&O2m{x=mbfzMH+?(u{uKW z-%6Xyf;B=uRxRCWCd5*cGh7D&4c*Ntxs|;8Q^uR)7-Ry&Eo8H~g#N!n#ZNvDsJW_$ zrRYGbGP@8ol+{>sLg6{Z^*+B1?-VRnD02_PNi*-Bcv6%}S-Sh}ZDPFQFiTa?Md89- z@&Uf_$=gte-|efNjwQV)+NLuucyJ84)aGY?QhR;?E3On=&qEaiy}Jipt-1`ccQ<3G zz&a40e(KPuCB6N$*eCdSf4PY14fj98{vu`*5nB?R$oU09eOhtn(3jVG>-H**C4Zeo z^*5K66a*;{Uh!Ot2NP^)Mm_s}wlvOmt*lPqB32W#HX@*pevkNZx|_RQjICPxmmG0q z^WSIX_`=8xOrF6p<;AnDrAv9Qh~1UtB}+teMHW}Xaj-~}8BeXm9U)Ui->OhT!Ajg@ zW`;Ya7H1X3_mNtxHQq4v)l`8e0@{lG*h<_Fwsw6YXtknH9$FSpbu)QS;Stf2bq9_9 zqW#TEO1Aq_AR|k<6L*|6wZuuZ)47@3uWbmF-^Wx%$wEU$dKb-Q+;-o8p{dAEL7iG; z(XN)}$ks3{qG7a@a|iLmm%z$s2v(HOcp6Q(HRbtXK-zq}ZHu7sco%WNNB2^U+jh?S zzF$*{9R!ARuLlnWDD&Ni+cBTvMse%-ba7)MjI9Dx8PZvmotPV%H`D009j5wcvT30g zTV6}EN4nwVfgrsO_rw`FO^-kts~y~tUBU8WP3oaF`^x4*QCKXjM<%YN_93cH%%{xw zJ7A_YSkwr4S~^D&rAn0T z`SYc1GZFABUVX=N#KHGehq=OIE9^(8%&nILWN(88X0^0Dy}#9?Jzrac&g3hmI~5Pt z%KdAZBTNx#OyXA$dV1jFM@mi}sLC`n`IJ?HX-b_?yKoz0vLZHo78C7n)m3_m&3y;^ zb3@_q77U~*S1w{}uFB)3b*C#&G#^>uEY)ty`0920#_P}%#9_jkq69t-gMA%$C)2FB zw4f7$-Fm?YYVivIX;@a7)b1(DAUZfL~JJ1iOBJBwh#__uap@qxP);6c{s z7ysy8pIJxx3tdEtC|d$I&{y$)9J-B#@psM7nN%>t%(%Xv%~N;*ZlothiK5*(#b~;FdP#nKUWbgEyr9b^Erk_^o6VaRhi+7;xp7s!K2RXb3$XaS@A2+;)s;s%1_C&HiPFxxZ}2`!C_1{gj$ds{l~zpk0w2Oy=I z7}c@6dUNxPC}{zH+30?ypm8hcv7<}MD%_12Y6hO2f_O$35Tq>6qC;7nA@>*3ll^%N z$BTMqb1)7=)RTHBg!*klRT|ew2bY;I>@((VyfUy@21%j z7JABV6B&u&O}@vl*p)97!Mgm_e7!;8)EQ>Zt)~&;{}D5H973&P{i?pQFOaOWN6C(r z0cv!|)n*pi8Xjyddn6hl4Nw}qI4Dw|syOKlOTE~w*V6Xa`Gk;+cUBba^uw{xw0->5 z#pq6?8JAN5!@n&gaJEdDG}}@r+5En-kz3fc=Ey1*cuG-K{CoST$Zsy?yHRxT2}BDp z7Vp-PGkgc#Ck;i-XhecEd$}g%L z(5N>5%w>Y;;<@JlaoB}=$eXmtqx~-5y(;c6zyBNtt{mIM&cK7YEA(AGr!Qaq++3!~ zAALITSRc859`DSLgP%_9M&aJPy{~rrm%`tiKjPkP={ad%xKDD3th}DZ!rR*(X!lxXnS_4v{L{F+4~6AqD>Hp31H$#j!MMMq6w*y|!2) z-pB6K`{6XNw2T22R5;MzWb1 zh8~W)tJv@({QXQI^22l|VHY$uMKwgYhz5eN*x7IqaC_27gEQ@O@$6YYpq0QJ#e)cB zRcjsJ9(ndPq;?TP+Q31CGei{;((kEQeY~TgGO&%Cvyfa511cY6rnsddXt`4SkdX`% z=vp(=U7jJWZODM6GCq0Hzxe3_%x-k7h9qRf59TjrhX(F-;N@p-E*9JVhb_ieSh@F0 z0%RtrGBdAK0Ujt;W3xM`@d!#g>w$aZ(*;L`2iPw815hSF-zgreKDJ~wguAx0ACgMJ za~;?0Ga}YJR+QV>3M#=imM3Rx_=<82Y&Wy3JW-Lu#z^GsDwvrIcsh^6Qrk*5{Rtqp z$|$lHlf42#31Y@~7WB*HHMwW64JpB7XC6#TPP4FXNrVF!Y`^NJ227dRY211^PtYr; zUOdhcFIb=Mq1=p&74jNUIQf0^O!E+mm8{r`SOCQn2 zAK$~6Q1(&DQ~}Kj?C)ON{fk_fF(WWT!fPA4=N`G~Y~F(zT=V>vzR8H@Jng?;4}8@T zTg-4{vzf6+xfsl~Waus$K0|wPSF%0}c&qXOv2lZ8fyV(Av|G{tr*2Sh^v|`&KjxxG z@P^_s*W0VJu312Sm}RR=vt$z$`!4bVAT@(DP|jE#h8@cWw#)z)IH|cCg$XC{AUKto zQCy?)&&NwR;SOjYf0MZ}9fE;9XE$yqr%TUK*t#N{YcmxsQ zOIlI|tsYw3-TCxx%)ubvX617AnDX;n*Bseb`OvqiOq3`Qrp%AM_R-k5E2@!+!b}Mc z4lr{3Nz%;mbY-J>F7(n4fisSZiE^Wr0<<^LRLm)#Mku8+Vbi#!BsS7Pw~l1Xx>o*yKSh zZ8mVw7aYZ>BF>o&PGnb{+Rjgy{7vvU1=+S>%l3r!n5qr9NH!!A(ERD}5fYYakG& zU7k20sb|8Ldlio3AkWnV%lZ)J9X!JASZ6V#*TQzrDD<+@6O{1%(l0syg+R(4%`8 zZ*UVGVd>BQ>-y^%|Lx?8Xa&L6Wei%|9$GpC9>#3_)2-xLVDl7vKGuo71tVSbz8n-7 z?WM_fiko?LwuFu-3CgS)fBe^#Z`G#t%Li(0;`^{+WJBYnIfR7&2Ukc69!|Py=m0q& zx>qpzA*%Asg_RJBkkbSDnmV~Y^e59eU zlaj4O*}ZXJw&4$E&JXk8{p$xMl6%X{rPV)Po*=@TLm#a^?#Zb&jY-eDZ&*AuT+(qV z?`$586;Jv0HPzjiXmKB4;Gb z9nRE`wK<#w&bWBsW!qQbk~aL!w;xznZR$__HsouP@()%vwDc67FZuhU`4So;DgIbxR0*ZOvtBL;` z!bA%n0$_SWC~SwAM23$YJ&mheE`5h>M{Zp(*#k3F zZVy}A$G7UgJ5!=XXbX-5#H601Aq!#5A0Upfb-2u&tHd3cBT@7Q3BC(4&Z&d^ch4BS zjF&bD5O>sY+#A$vo$cmC*&Zr8Zexr=ed_py$0q~V_UA8z%9jL7Lc{kTq&9>0j+~#Q zR+BUQ2^WH?&T3hc?HZa{uej@L8v_( zO+N!sV64xA-u;C{zg}Oqj1Odz&G71#+t-&|d73ikZx;}DPk0I-lDO(vG+J0*Hv83! zpNSDJ-y`Y6OWLBNG`2N!b37}w{S@)$KkaMqR-zS{aar*KOZv$CkxAHP>>o97dSJ8HFeAd1xu@OtASLw66W(^4+ zz5_dSlA*uiU>or3>KC{C4;;vT-gsyxNl`oXu8w-_4I+oy%5~Yn1*FXws&LUy^jZl4 z)5+q}Y)22BapPw=;$u?`i@7B-Mw6x-&boK@)_BowT6ypnPL77aEN?gg_#(NAa9x#O z2ZHKLmQqBwN(nD7%r`#Z{w`;t#^uWv9RM`yFVObOa=(x;2RgBAX`=kbpeTgJfVn>D4O+8i@S_BRd=O%mEE5*TuS z)X(v~75PxIp%`<6{h6D_YRc9~0Pz)9YbpmEXL#ceYB9@Xq?xK@mTlzJtJDL_4b9as zRWu|#ku{l(6av@3hKY$)_39zf?={+3vhfslxdsgjg`la`GR`+@V))OvV^)9XDr97| zXJN|nCnw@PjfC;Qla%U-m@p;i&FDCgyCM$)EuUw0^q3G`i!bcHK3<>kXib63BNCY3 zRH7`ktRtoPAE$4;fk20{@^}ew%gbv6fyhou6VQg}He73M86tT;zs6I@jVFNcAD1}o zqzLr0!gIgBg7>Rl&8_cbQ;DTTCT8o(A3U7nE$UjT-TP#0T$_QN8tE*Z*MJZh{F&(5 z@EVFB6|KnTBCS!RC;&$QkRahxxt1~A7MG{D}9&*vp z&+V{LdS32*BFToit~TYZsf$vxa}QdZuJjpQy}dijOpjJVTGJ`qx&yTdpF%Et9=>JZ zAU)dyI|8$ce#*kE-Jr$;-A8l7w5^3yCGt|kwD}XZ?r_j}e-SHr4bH6W{}#P*3Qo7? z54#&|$a4D|9>$Pwm=lVu`EpA0`Nn`6h>X39gqD|rfg6WY?DBlKM*Vfcu`!xWKrOj>btN<1@^Wqb z&vU6oYp9mp#IdCSRQtx%Mmh7Ffap|(oq8&?K^iYOa<4(95m--?p3lpMG7uo@Y$?FH z_&&41``Z_6^*!vHvApi#cY{+8@%V9&1OBbL$$$&wt{z%uq87s#6BxNkDLPI~mM0!} zL&EP3me!{4_N6d9#z6O#CMFrB{InnFDF>NRNQv|2x|VB%hm^Da6kE`&UCH;ebcs=u z2nh9YyjbgqR341LD^~+MSyD(Hdbzgw+cK;CEpfaIR&&IHlawtQ+!@g|blD(dug@3N zKv={BiF`;Hr0E%9k5_{zR>*c{D%f5eBqFrco?0UECmBNBI?W&C%zRe17-K}|lZ7wh zpfn5brlrpY+@BeJ`ZReyy~7LR2yuLPhq$mjQI)w`R;7Z@PSc_Gu=YL@bUyKYl9wTZ zLv-Xv89r2E*jhC~v5dpY(k8x~>e({9%3o}2)lbG=rL z(#k9*{MU%g;9S9?%d0i~9 zqx{l5iuD892Wd_~AUR3U+`03DR13H!V;imSNY;zHMew{=Vi0cFFLTp>R$TGBe=|pL zP1@a`)X(%4R*4~t{JB=pi~JlmlvfzEl1Ds zXGi8YsdFY>w5E_Hr5c9R#f>}9Arm!j`4c&I7cq#o{y!xIPDqIXmw^1qJm96=I+XO_ zk2bJ3VhY^`+F5m_OR3#V^pm{*Gkiz54Onu<_X9c8OC9jTh&NQi1fREvlaBql;pnc& zV|>O$AUW|V<3h->KvU${3H+TK_Va5CVbUY2AO?36tf13@xeCA!V%h#7HI8@B`X5K) z)o@qR?lpSxieF#GQ3jWh&>FZw@?$4NJw*BwKI2R3+I~oN!69)2HlN*p9+30aJ7cpF zC8FxXAU@_fO4_dBMF(OxFvfnaQ(x;nQ6r@dS^VYHcdO=CH4Yw_1?Ki7TtIFG3sb5?`cu) zoQ$=t9OE`aH0KRCdM@{*NaeRokk}jGeKd1YF}2mJCVYJ$zP$peneRZ}z<8$zU#ef~ z#Mh+1Wyi2zUtoH2f-LVp!WqisfFbQR0{h+j|*fH z@8HO9TNpioSB2S!Og=f1(q)+hT(k1?3E0bnbxRTZm?NMRN@4#1B65Z+KqcP+4(00E zv!RusB`dB z`4w&t(tp17#nEq*36hQIk)12<{{GFGJZuiY#C98z<;DgHT5}=o`Stq>$!F1d>Ic6gxFh@T;@qSI1V(wz zU3npW3>*;-vH>fAa-+9{@ptocTbgb0HJ-FL@w z0*--P>XzZm`fun3;?48DswGci@s%{0xPdExx&Rp&|7^k@i9KJ>2<#HAbZ?@y|h;Gr)w=07~`qllC153E!y%h&eo5N zuPmAF?KCmZzK<~0MZOuA&X*?+?6qX#Hp{OSAcP=Z&M5Q?OjY%L()2__8;ZUi$QY&o z2+?%Gi%7sMZAdk%2xN1b_SH*DaJP^$XX5P2hc9w%GHy;5MAqt5?}`mQo;V-i-h$ z-m~^J3*3tl!d->yR6Am$jEKWJ(};^g$PcLRKHzT+thj@0BNc=`?IDGR0i2mc!zPfR z{>WyIW6-ZTCW%N~ZMl5eij6L$eF|~VSlqA0J23M}!Crr6t+&;gS1O6HHN5*a2^;}| z*nhXz>{Lp(*-ru26V)Z=M->9?#rQYf;NWg12-;MM6x~3^FmGup_f(>T`iDzO>yacJ zP`fvO_Ede#HEN6QJ<+p6w45C~MfB%>()mH;A~k2X8fPuu?)*TgwC!U@ zR|txM00Ckch8@83?;OO>ObY@PrM0d8c|tE~!Lks{Zl$MBsnUXi4VA_nN*>OTAXLNu zlI!{FsGk=xgIMCse=KkF0G#jB@B-3G%2Up%NsX4<3(xp~JSl7Q=b9z-fr7SuU=q4Ww9c z-K3x^Eo!bRH?K~VY?r@pxar}jS3NEeShcR=3UjpXYUh*;hOtR>ftg?Yu4OU%@ULY% z)a0?pv{G>6ieyurU3hRch3a|4-@izEkuLEbiOUtvp>+ln#jzq$Ze?lpYF!u#hOK6~ zSEI~5p9uHhkASE%i%FRGk#>>VW5EEjQK@qqsmH1pC-m!2<$pjex*;0P*{M$h;-bTj9>89D_u=j-VY!LwsGFc-j&wF zde9b?Huf1pzMr?YM{+2*3)eJ))s0Fo5{m$5gKxB2&+c_r_a&&^oxqzZtU42lVW zDroHy+^PTIe;m0*3sWF#brO`Qv)*cuZBOr}VH&8nj!WV~wS*@obvZg5ASD_*&B}RM zY$*B{D4H$IBJKJsVIQAF;cOp$az}a;lgilx$o~`=WMgri#4qKEQgqx~w7~*$7zPCU zu_&Ij)hQfG!U=9TvvMa2>Cp;w*qO&J(?6ZmuPTx^1)PFoRg0p#yOBAA9+dodU56WU z9dAlPF!OX>lp)X%kl1+Mtdn8><%p?Yfa&DVJ6(2Q z8v61(sWj5|b%-QYSfuk)?z@81w=9DU!h!^7>~3I48ZNq8JS{B@bW zzJ;QChTvq1rQ1M@N*5l3ukWX4zv%srLjji?`3A>SZQZ>wP|ouOH6Wz#M1FiaUsO~H zW*q^z8@+E^@Q6jY)Q8^XWd>7YV zB}hud0Yqc%bTF<10HRO|Lsv(3=Ma|3MK~v_2TH9j!Nw*I&Qmlt1>*YtyF0NCg-X|x z4?ACK#y|8v52JN!UUxSS7VbsYZe28)Y*)tul_D#l#NCsr-x@k{&_tF}^BvevksY3w zrCRSugiz2?Ez|~|Od3Di|8AcDZ*TpNv|bF15@KPt2DE#_1F_cr7tDwH06nD(-C|zM z=Dxc*c4X$4yJY0qTTL53Ia=$JBo=v8b8q@6>`HAtdoFxSyY;mLIyqF7V=$sZGW!Kv3;&2bgk9!j>Q;Gh$vzVhFuq9M;7N z1ukONjV{1p4|l6`%cYoyf;AJPIgd|Zteq&SbF^??8U9ioC@OnxU+%bIG4Sb-ct+!s zeF7^IO+C$Y(j>0s(n+(na2W9nS(i2N16*5o$#58FD|J0ZPJY-EtqFMH@y2nO}vRhezG4X`F1;r!DD1);g8zUHDkIW+I@+b z?As41c6(q?^}5hj7YRuIIMCgdOrP>pwD+tOy&D5lKLeN-Gj>+x8wB@TR2A3 zpFf>w4use(p3pt?zcC3NLI47=&8}X_W?!4H?goU~pEp7sR z%48;QJS>TR%&F)Po-1k2Wy(}z4-!eIGZNcsK@FM%7eGMIM#JT26xHaTR~CKm?)JrP znt82=M}vvD#nQqOZdcJTETWYvm(!&U*<;emA}C)Q;Ot#~3{sVoxH{KiILNOmEs*Al ziwQaY#~zEJyJPUSVs)g@FI=hqGLD~DEoD&xw{+j1AY64tSWri$ zqI8GKX=$puKU7wv_cT`D@hzS7`4)3q2(qU0X}*hLgRiEN^-OQ6mwM++KBlDVy~Cq< z{BVw2y9Zj#e~ObsZe{3v34F1oM5ZENE`S3L4D$wqso6wihLB^xJC`w|r>mch=FjW| z)zVy_1;N5)3W z&uP>S=zxA<(E00gV2N>Wz3k3T|2JX!gm z-f=+G-s>TM7@ zA`EV`>RC1MJ&+vxzd!sV4!swQEo?7S^OYQvFfS(KTw)ZjlXs}(&auJd7%z6JBoB50 zo7w?JI83-3=X(cY-xtv>B*mqJz>Nm%C8tgbj)|BMM@w(VEWWY*7$tA6l>>42o$_0g7e`h$zl`Bxx`L;VG3 z_n#z=ULlkNmrS*-x735-GIl_(Ploc3a5@Pj(wW?3UOlAmP7JGVV2?d5 z{N!xxIXOZ2VczE+3ELp441K?P_N&^D!kDhln~!bn9m4)}=4;n=Q^rtM`LF+@nJr_m z=0N-uOC!o4X62^H)GaqA3lWg-Z}P5?1(2%1@_cJG$~uD%D@mw}*}+pAf#+JWi7;xSa&cG#!@(Csv_<=W17k2V-u_yyL z+(fffqtxbNJ%{&{SVt`0W~+F0rCVe-WO z#aoFSEV}4ZkC+2o;fV~xnAt@*JPE%r5^aSZ96&gbKn23^C|dLB#Gx4Enf?=`Y>f`8 z?s_mwmougSEqizJg7d!cdhzp{Xd8dku_jnFfOCUqQyDf=y$De|ISrF(p?!n>fuXq+ z6*JNwc6q7DOizQ+S`riQ0jpbshfQao_T~VA-bg2c=Y%_JUM;r)DFIJpBJnK5o3QQB zX+IX-_%4TQ{tt2^rd8?;_7Qo)7x&^!vvH=Dwwx>!y_Fi2izZ0;;XD$5TPNAA6JM&; z0}0i-^yh!YV-g75q$2~UvNG-q%99}|C2GQ{M-Yo4L$h0YDAXcjXfrBxhxc}A>NT6uF13d zgO8$)Qshe{6lD_zM%ZgCp_2d0%m`MUoCBbg_c8zC6&vNIypZ@I&L8H4(D%Xsqq!xC z)A(QptmSKn%l_{~H6x!Ya1^8U`H9axus8?|E9u!@<$^OGQsF!Nmp6gt2$mdL;L3c# zRmzX`*0yzRYiyXbVF5GRF=vzUmz#lTf3BMQ#KxII;Fp`_DGZT?!7oNrB!dmP3w?6V z{Xk7Yj2lttY$tURu(#1m$jhFx5e=4N#e;4$rM4SE*1-{m6>1Dd2*5Q}kZK2r2Rb#| zJA6EOAJBdk=D~N6Iyy%euk4ve7w?&i;9C^EeIGs!{KvIvj|M zG*c%k4L;thWy?uR7mJz~I$iG>FVVg6_cJQho$nZD;b7FBlHvsN7|aBum{-8(V-+~0 zE~#S{Vg#17p_BHuFbce{(-WVV&5N=$y?zDJ`l%LzMm4B&f!SOhS+y}Zl#9!2+qbg0 zO&QDKF+%Vi4*AJJmMi9nReZ5`H9S}@`Vn|+F$YAJpUlc)*;`d*K8a^FQZ2i*BXXxh zy!P9Fk&xjfEwC!i$I@hzpD6=HG=hl;dbe>~QPQvn_Fq_uP_c=)8q%^GNF~+cUBO)? z;k|)*-u)|jY<=d9=Pb~Ucb!B(P-hi&Z=Rr*FvK56a#~|Q#i!ZTNCIW1H$VSDmZEp0 z#6e*!&=X69c_5P8l`8I;*g@k+>rpls%LO+#hLJ&O|4l~vU%t8PLT(`p1rd537>zuf zw0`s;TX`nGS7XZGjzuEghBVp zBV)_QHLu(bVMuvHo5|n`JHhR_7j|ul;iNT+DSx7R1Ag@7HXxiGC+7V#FHq7gbL}^; z?f@p>uDa5+X;&MH^mnb<&g8Ez3%3GsgO%$({1s}c_C6Q#^B^Iq!ECq#kh28~OY916 z8?74ne2||CR$xQqLzMj@adGmEQy`7;!&G zyy5dAwEW9xOO@jLTK-nX$+;eBNy^C#xyFeVgf#eD+I}txUgcL=(dCW^)|n)e%90=< z#OfX>+}R(ku4bskn++>|jZSN}CL%(V&?!(CQkH4@VaRZE40Im}6)^HBv$^Gr@#Z4& zniqvr6-7~P17#8w$lm^qH7KSN)PV1S$#qF5$rHIxi+hkcA>E)?1J$AI)dC=h_qz*XMVhQXQ*LB!-MwUfAV1VS#u&nq}F7={fZtaZKOSnaCi4{eX^N zUk*Q-JH7RT1w`PshE~`Ofa)1)3CsZ6$DGSOPN;^H17zI_+?@-P1ZZf2rs@i_AQ_|q zDX0XWSqCAa=gR6{W6A&-A>wMb7+J*LW#(r*oc{Yv??^U&eNj2zyraM3J!iS9jhFnu z$1eT@{$M%C)+t$}y1n-vaMyPsN|6>8Xw9o(vJ_-I{S{4L=pRaj^NexHG@ zB-a~M-c*7c(oY`KHC0wyGu-q=OEE-2Xn5yQ!&G^_h%kjt_wnTScuROgiy7q#{ol;n z1HdL1*4g32?vIyeseL+#+EIiuaJpuUZ5zDeA!tlTdQvD&K7YGSS-p8|?bdf8P=1(9 zossXGf8u@;qUXW#_XZoDJdOsZ3cI$J{mhyQMf~YKIZ#w^o08{$Cmy<@Xx(MrxVvpM z(dle?a!^t+vMx(OI*iPh;9-ldkifj>O&#O@nEMCZ&eS=h zOIS#Mbgxdi&58*n2cBD$Ram{j9TH&iXs(_D8i=)va-9bZ%$mA=NydS4OQ-Oe(sp%)eN}06k6p!ddEzVhZim3gOj1l_D?&OCXEA(e$D{3m8W+F*o95IvDq5{pWmV#2odOh~l#j-|d*XfNUN* zK381A8tFvjr`Tzo=Opr^K3sCQ99y(;zad(pCZG%L5{*;(XhB~*MIl{i1j!^9w8s-c zKT`Z>c@0cT8ZhR6QCRhD@%Dx)@Oi>~mm`aUXtI6AIl#`V7iC)_rU z{-;9~zWq$ArUmMTC_!Bj(^I!Nl)Ghgb|VJ1=y2kwwcU$>%&lenCE?W#-?y*6LIH(V z_+hfsg0x@DV0REW0pYnaBrvz8PL14To|v&BZLPQ$xsf4>?cAus$Q7}bCw3)@Zl8i@y&dFjb^29{1v#cWhsRs!s)g5*Jc4+AxjJ*g0`$F~`uE|MO+;5C8ZrQjSh;>LM}$R+i;x(PDKD|Y#QU#A zFR`rtOBA>-Jbp*FS*~wRhAEi8aH0~j!=b~93~Ac`3Um zBB)#c)sy|Yg4o8IPTao;m6qWM0>cVPl&c-5{JwB-<2&jo&g^0p;O6K5;M)UX-0UuF z9s+9RoO9s@$|$E+QMU#7FxAGtZArxi^X3x{v8@Rht7_b2X5~ImPK3hW>R^U4S?z?W z*1iSj^{K&qJH=3mj`9xk6J78nPl2dDE^Z@|^t7i;K;jSyTO|C(ITGKOr)9{ih3lPr zL%HeQY__3n05jZpbF4PTY_@jiGfb(y47(1@uOY(q-{ctjDsGW> zQm{sZG3C}E%gFxZ7L5+|lmn6zhg2CsDs7dA1hlQeQt_R)0d8wmjyeNW4D%yGaly@( zS9`VO@LG#)V*v#F{}jE2o1532zAt)TF*D<6q+#}Wz%%yPW9Ha#u)!uxzu9cN>2}+0 zBPH7{ce~xDO%sQj!~s+6m_45HkcU}AVrFKRe)|0dx~?N#I_G@O^W1k}&uHpkZC5jn z-T_(US+@?i2Jetgp_*f;)U`Uy7cs2q>X3;s4o^JV8%*z>jdUqX+NvG$|(^>xx zK@F8tu=3&Zi|oB`SMTvCIgzS723A!mMR-Uy$c@k}N^`ZVPk)zq9zS zs3ggQt}p1Wlh_@UeMmp^?HX^*TU&1Q55}{wyl3I3i=t4HvbcVVV1Wnp*SI^O9SKFV zgvqq@D@1{uPhezyyZ*j-!^=g!*11fI1RL0?66}C6ZD5SlE%^eJ>#n2zorDW5TDyZ2 z-%LSkHPGmxvhB(BYu&F>C)_pylcVuIc)E~!&ld?vd|=&$)`|4@LyBiYx?OP$uTJLm z+(hbCicH=KMj3}{(7odA>@8g`Mh5Q1n&(X#P+D>OrJEE@#lhMdcHUpiRXVsT(zZ-B zmbwF7csyJz0xz#%Ml{Dx8z{G)cX!V-?R3nEp~mgy!Frqz%`;_&A?vi~B>(gm?IXH$ z$4}n$?8J*<@q8Ak2%KOOQsV1_PlvbYC!%QhK=1=QYJ*_CDfaj9e4<>mmHp)rI}{T) zkJ0WxF>*ki@+-zWDrc-aS$_ET6a6W0F|c>3Y8CjOs)9v-CfK0#+wq?S@NTFNo}DP< z0{MG!N?{X@?^;{KZByZXY=<^BebOB$e$dNW-e4SAfmO@ zTa;DTWQLu~vLZ8ve5s^OiPm%TbV^yyHM3!xD_tRI6hPoW}#U3JeU3PNP zn=s}lNs=XJPdZOs&*$4QT=^1=V=u!;8;^MNQU*Y$ug{64(6sH@V4nM+iIHsCcMtNK zjXZW|PFkYWwXek;9GNiN(_erCbd0$-<7-L_BbU0f1cSn@zmm_t;|z&cI;?DR$iS4pSF52b3FN6L=c<97C8YunF))sx3r?xp!x;6>#~c2@kGy1*gJ zcFRsx9q&el`4ME!SdIB1e)XC*@@|BxIiqj8u<^IclNW^L^QyUjNi`lvT^5UP*3A*) zPmUciizwGo=*UH)Z_8q2jnFpu}Zf$dixEyc}?lI+=U8md33epC=Lj>^c`<3Cu-sQLU1MYwh4Rm}!x?GXm{ReBt> zv$pT^)FH~kTR;8$=16&?{tJYA*L{x8KSszB6tVx1R>lytCk=4z)K$v2a%x`gLaS(f zG@L%XgbPq&*icn?7g451D3%s@SN7U|auUaXatd*Ta}!dUUd&}`Zhtra=X|u&wAN;Q zb%z|Rr~T+mHhkzj@~1|$)r&6Bv*pgd_NKkAr$;E)?Hn1TkIB7kAK2=@`)^4`t9#pr zTJ`3w9kMv4=Kc1xD%Mi1(rsT#Mh`#xkR5ypcWWH=WhX~Ff>qSlX2)Qg?>E4JKNDIeGBj8z*n6?vd+wC{Ma~ zU>IGJWh@XMICXd2Fq=7MCxkvJCE@&pT8yI-v!OLek)83hl@NcnEQI}xJUHID7;+rz zu}{Z~?63Z;{0yNHlKsUuVTmV;9Yw}VJHpM0B8Bv1!xIrCahmBEmizmeci=1VHp}AD z9nS38YzB=b!uefwT^I}#^N1h9e`40x)U8pUh^3p49fCTGwi)hbzJ?X-5XOnzXE8Wt z%bsL&y9c0?Ay;EXsOH9^hnMoFfwr7cY3d^)XaX6#^u^afjjH(5NV)0-{ z96B!v%fkNY_05fF%cPRg(8hG%_fO1jmC`eBedk-9;d7V`9$y?g7Ot~|-(Jcz^9IPc zB6%|iq__GUgkAah;-e*!_&f$3`9~DG?04qwn4HYg$s79bv+DH0KP9Xfx|f#irHUxr ze5DxjZB4bfjgf1cPWRST_Cw5l&`w1-3wW`{&ztFF(CP2b*%kglF5S#4u3=4h-m&|N)uziJIKF&E_!=+%se4a zBa9a59wA@KwY;{ug?ke)nRX%Ta;Z}&-*6~e!-UnJ+E<$**0u+GbdUb>?V?T-b)DjH zWWzMTe0yT2C?e$_ZBGZQO6g!%8EA5T#^GOG+*##cU5mdE{RavZw4){)gfiK7i-}X( zHvpSw?Py%a`@U^swYa{D)_0j|Tbppy-CtzuifdE1QW%30n2$~w0D92EV3#PDD5OXi zjU7QwYVb4IZ^qEta) zXsS39#=ow-lnVvvTl*eY4YLZvVMu!SzkmGehL==5>(@XUM(oy$pTj6^Od(d)Ia$|g zZiE-Z9Oi^xFPT%$*|8RoR0qNGWNockNn#L=Y5Ica7X`DxqG)t zy|*YgbHzztaAB$BcXNNKGlyCxkKW3vB5MaC{?#lWJ*p*Mx~qEK@8}#rdBm9F7m2Q8 zX5Edy5P$H=Ca6lNvNwNzd(}R0h#Ed>3d6T#-s+bCUrUh=OB|HHQwz9Y2yy)N$MDCz zJCLyK0RBC#f-S z)~}6XtZ?JJQ-SDSOgU+P5)N^2C|s-2-6P&7I_abF(n*+i2L#1DH9c0g4! z_Z+o6bmFh+(_x8+OTaL(T0$#vch~x}J9i)U>=d}Re|8?usEI~Ikt`l?o< zFuLM|t=oNe>@cA*&S;nFdk1*oFXm-TvZ!`Z$|P@M2cSyAB$I@I3Qj~rH(unXy-YhP zWo{wk@)&Ez38_cESMtf4Ams=aJ$AGjMG#~7jtU90&@_!CLs>$3859)TD}cU^F`pYz zC+K#?Q`1`k&Rb&L;+`9@2NTbnO;Mi@U6?>uzrMxTb7I@bt}DJe&iy*m_EXp-4cleG$ zwpGMTUrzlMvZy`yTY2OY)!VIzC_*Gug=U}pM$9a3o>~2ox_L#_&dwr}FWTQxsUSmt zz`e-H?FChU6CHdA+GJhqk|F&TgPVOq-H$)~%Xr<-U!*=bQnO2~P#3l?{pWxpo}TSl zJKWnl``BOJ*l)z62clm-Rl^!t__(8BE*+*-@_@;&((+^<{#OAToM{yk%F`rbiXL9X zvbf@x3x_=N`=2zfZCa(lb^mebR`T3u{Mf^#zvrIramkNPQgeiLW3YbT!utUWh6haM zdmoDL9xPX54+S_}|9y=7(f?~$X6I{u7x8kvqig6$%8Ja^2Sw?U|q5JwLw0 zh#ceRS6@E9JKwp!ej z+SQD~kpe};;uT@bEbIa6pj|O$Rm2yX&HGzcQgXqQP1l0Fsnr!MT-1>ke9K|t7;5+{ z_nYQbW`K;99q^?(e?qlQGUH-*>;0FV)i`sQh%ztV+>w{VNx`@$DKfVF8&R9)Hy*q9 zp-KNWt~{bb4q?eqQ#LSYTySj-y-Z&s2yQ&i4PNIC#Tx|eXOYGH1w%sh#|Q1brLv+X z5%=AH!@9IRBTpaStG7Ip zO&=i>cAkh{g7+x)EGQ81lcVK=_9w$LYpDYXDgQv3yf!C&GW+~q_0wha)U@_bkEhNqcZZu9%P^Y4<%Y94pU!WOF zt-2VX8N-=T{Wl;8^vd+Nv%E_KLFdIZh0*ZSYI6LMYH}tLzt1Cm`ls#Zji^!YY8$dy z9_J4V+I+5^QOppyfEZAxnwDbI?@+d^r7}QMAFH4o?!xz>&To7@q_;&o1s^q!pYeJg>&>yH*{AV9;p=U#qGtaM+b zg|*`O-P@szWAjh*urd@ zv|$kHH*qIW+jv4mDge8;9{ED;&KrkL9p8jd8T=|~{(9Gv`ZPHIdo}0yL0X3heD%?? z&hka>Rqj@N8FN&vdXmKd%-GENVgA}%o*w6QHD8+gbV0eHc;^2sZgQ@*MtPNorKg%_ z!QkmjzJK)wtK$mQ7RX|0_OOuS(3 zzx)nesjYQ9izScl?yO9cB0JYRR{MC^uQy>3PKt%Ti(}esmjA{lt_02rK3Iix+YLjD zynRcNGM$V#wF<&J`WM%BZlLlj?wXlJhk~B_nqn%c61QkIl4+vEa;p|^G5BT&cJLJf zUr0wK_bC_!rR}Mr=eBYZSN02sAL~g-Q9;pd;VDv=TC)a<8HNBNc$!HSN*ELVd{hDB5R5FTBUgoI6vr8LF#V_k90Y7&(IVSLN z#ZuwUXYX{qX#ET2Coaq*-cz!!zY?8T>I24wCNNP%Q-Z&L^gKmIEq5+9IH*?#3{QR) zeS|x_vLvjd(~=sN2~~siKZT_=Cs67`_ODd~xN>u~sblhnK?eBX~2Xh4(YlW!JBO+@0NE6x$58kx2Se!XcYHprq8Czv!sh zrsHQs+=FKmzljCUyum33_={bJtRN4DvaPvwUe=f?)qQlVTK%u4EF;n`5qFbP3CVh` z8C#4WpF1$qD`62}BR@_Z*v?&#B1Ps<`MW{JWrVl|n+s!vIPwh2M0{f-MU+SlnBis$ zoVIWQQ*<>}i-d_x$ZV^i)|hfRpQEODT{hqpl- zd*j~mjoq5C@kp{UiEK3y=I-7cFV>weJD?o##~<;Iyr|&ILu2R$gc&ONODp0yq)3#% zifm%LR#!(m|JPf)R>mKxagfren;+K$38jj^hgtkzXy!Z3(-mG^b;V1-TtcC8yk8?H z(7$0Hb6eMLDKlz&u7YfVDQzxLAX|+j#jEnfyZrQbiw{#19ydgGB*p(J~nH|4wS(242tg;lzTK+wG!W~gxmI)&ta?j>DduuUMf%{Er0Afn3{mUP zu?n5$YaYShtHvmY!@>Nv%WKWLMOStI>lD_)NzZ(Yb7`!&3T*7mX-#KV^HXZB`whh6 zyHV_2ec@m4rhd4MYW^!4U;gt9r@sN(y|FzAQUB)9FEB4HPpN{F3r^pIsg=>uXFiBb zJy_`5`NiTd-~_}c?_xtOD7@-v7b*Y!Uzv;4zF&8^McD<}ILQ~RW~`@bA9aidkau6$ z)3F}f-PS!61@BKkyY}6kb?Xd8eEZ=^AlZ7A14(aCw}1ln2>GS7yik@wIzAu*?a5o& z>*fdbv)As`p4Ps%mfZQ7I1u-qzh8QY`Yr-zb-Gc1(r|J_Ogvs;HcXy7=R`G2T@%F{vFz@9cZJ_BkN9sjPnDpIh z*FJ4yscAn&Lpx7L+29);lfT>9biVX<9)lc=HLX+~72L)EHuxjk>YuOiY&Wz#zAt!3 z#nV0UgiKugpT5OECN@hACRistGj!DTJ5A@Zk0OX1^{%RJ)&G4L z`jA-TW3fE(i5reEhKCteZD`y z%sxYw4VmZkWa^n;Z~Ch0vb;8letw}PxefbJu0n;8VVGu=2CUZ8tL2JuVeJmR@!;%>G0 z#(sD0YiCKw-z?)TsDA6x;FWxnsv!3F&ul+bYJ0}aU!sTxjmjnNT)V?N#@Dfl<+6+c zj$tptC}nh8A?wX*$;FeH@Zh6ftR;*mJf6agr5BUbON2g4O6QfW5JN|amm}{ zO9@2V75;s*v>cp6t=h0DKA=kR+3BVdc#<(>K4HpNZ_+^@3l|!sc^(WRcTVweQ3Wiz zXFEK?j3V6;x3`hkU8&=BnA})_GbLLH;*B%mmyLYWh9zLVRLvo_Bj@0SE$>|8xIcmJ zNv?JU4%hGBxM^HrzO$gLhH)nTzLGCBk;%(2$d;8`l_UebO*b7s?Em$9opaKvrG3~7 zPdG#4c7}70*cYa0AqV56RTy)TEb2jMWhc~qUx{OD>V>KKk2cpB^o>NJ`xLz@ct^_0l3S?Mfwo-;atC zbJi1ov-)_`#<6e_A^*RwBDbvlaVmxM{zx@Hr{YsLd(_!|vc=;)C%JmsNIf1Szkhab zWt1Zf1`?k;-z?p3IyW#f?#okHyPE#a57s%;J@TR$`r6-2e#-7rgYTsexEr*o9+Lih z-5|A_@_eB}H_!l{)xeW1Gupp@d9;nxGF}Tp*b@wC16N9<99?!ch+#97H7a=cJl>@7~v4jgFmKugwlnRZ&8{PM&Exf=}12iF~3<&9xt8g{Fp;ueB0JDm&Y> z-F*76(~B|GPcLGf%vVI&2cPyWOPE@Hl_7KZ#GyE{X|{{&-f_6qR0bwm?>TUK2pd9iG68lIMXk`umWx5|a~I?J?w8Si z6g4|+*`m~hNWZwge5i08<`|(IsMUB=7P`ref4-8ud$hV1QZ5s;NuSWm@7;|{Xi-f5 zxy7eTei`oSfwIXls=|Ky0HKQOri%A&L6Y&*gQnXm{!?!e1&p;0g37#JgfXhe{G<$( zGyqFz2bv=U1K}~RA6AM{rMfKpqjdb0g0EA_XMH1%JUOQ+>eWtRj zsLAR*lp}e~4@cNO_P1RDQ|ev8X&$7@Zas9l`mV*%o~Aq3)OtDL7h9{Iu3xkEEN*CQ z#OC#?R=C2`YsD!Bh^S_R7k#2sYQ0u?l&-t%=g)G82 z`QRS38`7J;z2!LEW00nE7RGD8gYBr=6RiTChVbx*HAsj2&_7GX4+Dlj8EX8xYmzk{ z=A-7N8>}X4ms~eEQR4^E3X)*ya`f ztb%a{b3a^z|5|j9Y+4S$Y}--rtINEq`NbY)_#}9~k(s1ziQcNTvmCd1ni|Q++JUcY zF}ru%gl8UU$OXOWG!pfdnp^lf3&T-YF#GJt4!Vv_XLuXC-y#Xq-&Pwa zs_es27p$K334PORfJhLk?TCY04wbl91|#qc0Q!F4o^as!lI#mVKXSwnX-J-qi#}f4 zjXsFK+Y?UxGrd==gS^Izto*hNbwlp6-bN}WUbrx%+1PE#n&Zs$-AGwEb$j_~erot2 zMKb^cPDMo7;5H0mi$N#3)V)f=#JMckSmhb(B36iy#u{4XMqcx3)s6_8)Qj`tJAWa! z6gbzBdYN7u`}Ma=xY6YV$Z((Vs(K>{)lr}^nR{xlvnMm5f+AjFF6-A zVCvrATfMPWVMZ?fDGzsNZ&y*ePVa3LjbR`?gkgI_XHGabB*WoeH_?wZ5{dLH5hq0c z`(m>-+B;vr>RwcBhgMCW7EUF1!O>eEl8e!GqHf0r`+;g%(<0Eag3yIaThRs07pMZp zc=Gm{Ul_uIzQ}I>jUAd5ru&&Z0dwbUJ??QXW9&<#a8#nXtY7`GiH!FpVs;8ruuJ0T z{Z%_44AXTp)LMv!F3kL-YrC@`2|yOKY(E;wIkSDTcd>`_3i^BTeSLB)k4rq7Ez1(L zqyKja+bHYJ7qQpx85Z^x4|Gc5Oiuq=^`EZW)9pSz+i~wx6%( zXL=gM1&C=sC~3Q3uNzMf_waHs)Gz5g>~F{bkq3WaboQsk`F0(F?_KJg&Z~ACRjmBJR%`jng|&YZSaNK@vIfU#jF6Y-i{I5dOhTaK!)qFOoK^$YgPj97ra*xgQz%V_(-k^GxxW z8hGcW?HaBA!Y&!#P{(v#_@et=QrB-j`v#DU*8KPHpIYA(A^-S7xPQEpaOrqQ1NQF$ zmQbZGJ$1A2se^qs6*6#giIdkJQw7x@421gnr%vcEeFI5u4;=XY8=t=DGVoL}&+D~I z=0C=-E*&`F4*pB&tK?&%s?47a_KoGwh8Oz*^(o;Y%$u=O5>;yp^u2|0>r}clq-dsy zgDUtb^5SmZ>LyJ8`d@+m^wTqq-(g|=K2!r06rl~=B~R)_96%$5N zwm$XDf9?L{XNBMZRWW|I0zLU2I>>_p#bH<=BYXW%J4Lx(7dCQ)3O!yIR|J^J9rtr`l5T9lpU;JO*+!gyt_Us8Q>p*%={oQt;K@BVA z4lK)yI~MEqf`hd6mbwhhCH7F3GYOXyT(eB^dEVrGqA@KtS zr_Jdth$qedJ)5#k^N-8hsX%2^8H3e;>Uix&A9=7i4(LX2Kz zl7%Ow`E-OWLqZs<;muN@_pS&GaV4fHC=6Mmm4L2R^RkoV<)GLY;dD-n$(8+}7E&xD zNL*jBT+Zgl5zL}C5*GzDS#p*b`^=wolknKmloOgW=>+is^3dOj1M#JgA|0yj;}hwD!lu6;p(i8xJYB5>9t+mGFnNdrU6Wh5cYYbc zB+j})k3L3j%t^-J!OU5k)W#@d;uN&a_1(Ot;-XigpmI2m0>X}oV!?Ww9KA_PVdcdj zXrh_T5wWx*pOlm!OtjG`_G4KE(g;A5aagP3tMnAvg6BMVbyd7+bbsr$Q7kmr28kFy z>8XZiO9XZ#9YqolJQud4@FP*N*$qUV1xXVY^;x7T5@IBB*qRwGvzr!LD^xTn&`Kwn zKq+B8!B2ZY!W#RY4;HLJ%!YFR#z#;v`68lx==EYz}a(Is+%&QQ-Uc)l`cwQ zMrfrKbCe}?M51`GyQDFT5gq}ZzMb*mQf-O*SC$ty|A zLnK!Yu482g=5nB^Y8zlC(xh6q35=1u{V}Y}h-ii&%XF-iuFJ~#8+g+ zVVP!u0wfGKF%xliWc6sO zxApE;Xe;iDS@N8c8(E!MF!5rj5D)qigXjP8*~J0J_Z7X5aN+7ODV|&u^pW>(UXJF5aDpvij(y zP`NeZjBtr?UdG#L95Yvva^M4bi5f-;R|`;3Nb0#NBS{E@9s_#TdyA6VWR?h* zlMS@J^d;y`YK8jZq??O71O!%gMoS&jpTb#>-gFvSCa6PF;|tKU_-`$7*C97$)QRZc4bgvUfnF3?OZh{ z*(BVE*OH<+Qki;>Vo6fa@a5&(csk}#h5Sj3F4b)B$*kAX*#r>481j~$B09}WFta!e zf^H!!5#q&DMPky+3~ytye{K=7$zCc0q&SBKeyX7P2NpVRJ`3&C&@vjh`q3r1)iN{{5dL((XA0b5!1J-xic03@r@di22B(3fs) zvNs@garTwa$(m3BB>k+nE|8o_C=z@J<~GxXj=DCb$uhyuS}#eJ34o>?i-sa0T+q!e zQ&Se!YDZR6=!tssBpof>!dOP*aYM;i9-ZrEQfHP% zM6MukI(X9N(h8#<2Dt+QBT$S{N+l_QHeIo<2Hjhp_`J_#%T=+gMtXTE7gKI<^;^Ex zA`L9hyRvn7bhQDfr|j`2>`?PUiNDAthG+9=Zz91?lI%2iv^*E>Eq)6%SHdXyJy1L; z9;Ki_0@O>F?PV8&UMNirDqQ?+Omq#}Uc<>vj8J@>sM0`cKwyguo1f?91@inPR$a9- z=?cPQ0(+1VgD+~0{LmN;gZE~!(Ew817wakIZAC+dO`2{o3Mx0HHg1by`_s3T?z~wN zk9A6=@V$-Mm%|ngyvP@8Q%VbwO^l>B1c4;p1<5$@WDG`5zyWNNV2)YpYiK7eFNAV# zN+)R^UK_<=+__w;w2psnQQ<&h%h_VMd7x@ma+x7W!9ZG8ALCbKDkzL2h+v3NGF!wa zflV+;l2K||P)sc7{X{VlEeyjRRB}xPuL}c^1ATY^MT%!G`8g5N82(_{2SeB^|1~A7 z(8sAp!FfF_6AKzirp?7doE;pqn&7-hGoQ9|)`m^q_iT`Dcm`@0olA|#NV~*6Y`7s0 z>j;GIxjGpcceP?IkK#QlIm~1iLRLg%2qr!P$bsV)+Y;Iib;}^Y-!r-Sv#oxfmyf@Rj8YX5IiAoogLkAv^s)|kP^x61h(=tl`ZG} z3}%f(VN1n5$B9v@BD1U^D*zOqO@=g~Ryd?iGc2A7pi9^a&>Omt&*p1IegUa~MB(u$ zv{erU?a-*-MhS_Kg>o!OKmrXh=ss?Yv<=xG$cX7QTxv?{^cYDpf;0`8XW6h}w<(a| z<#x1yczCQJ_N?c6=3CQ7&Lb>9f+X)yATR|8NjZq&ae6pe_kIkpovoRmmzm8(47#miAwHktPs?m1nijZwg z@LWgpZWxtlg#kHd42x{)%JVW|0X2?l2$!MjH|!c0Bu!3$vh1m%U+sm&!|%}fFAXb7 zT{N5r)qw`+Wp5m_EM>(~br~X7SWJ`E7<3fwlP)fXf{EcVFRo--AybE2Rsx_pjnLxb zWIV$>l1f{098o`q4#EnV{EG#AOq0GI_a6`OxL~d3BvAavvXC(P9U^7jz$Fr`$*a{t z#gx(ut}dozJrcS;JJJX^ALzbF$+c1hflR7t#F9R?da0Y{{`Z9XjS#cD9m!VZLd{&< zO*fJz*>qmcKu0_}i-1ec(7X^Fw~Y4^s_K5gHaA zI>kvJ&IUD`gRmSx)>AQlU;^4ZyJ|DU8wiX{9~)9|0KQ1G2JX;Pg@jlhB4X9$!8IB<(RlMymy|= z$(v=^oQ7Gq4naGE4-I&DMi7FO60*$Wp{Roqh&p#d!GhEVZB5S+dG-b|1v8mf#xXLm z3SI#b&Si-fBMMQ2Z%zcwfJFomnqqig7Q~`myF;7lB#O3>c4eomWHd$#^RAHh=IiX* zvH`3lAQhA>4~2;1=#}^1BpwnDuQc+lwK+Fvg=Ujh8osoQM;$OgI0d&WVFa9J8x2y> z=GQ|QaG*98J;pcJ(xZI`reRgqd^GDWRBvd4twG@`Dv_|ZD5asbWEATK$m8^&5$AQXs|d}RDMCi8R%O=d!m zaY)wE$%t|ZnobI&wb?^8;(C5AB*+NaFpvZ(Axvy{GUCZimNE!5a*7z=5#VEx$@rR4 zkBYL<;#v?XW>UAIOCH%>D>56GgfXX5Q8{o7s(yTtAXTY2Z1OhxZE?EK- zR0s+ER3MLug(4CxNq{>D=bFWQ*J{LG6+xG8B^ay#jq!k9B;l7>n+~|H9G?$t zhaaLsl^j_hy_qp=WSp=fN`gX@(>3op3i*0g6C#Zakf|UPg^YBEEVU3wrEFg|6Sy!g zHoNsOh;p`*OClt98jR%;yXZc|kTi|6lp2c+V?aa7&P!x9S&zJ0N%L|-P2I)JIwB3t zWg<}JY{lUwfrvBSc&gXZ$4#^uQb7xA8-!a(;Y6vBQOLMmRk(y52}Tnxn*fT-EJWz=xj3eTqi#f&?#UsW z9!p7BdA|k4GzfCppigO6tMc2yR4R;@=Pns@-~~9Q8k;}@=*Ya^R!WPaB@nlqEM!on zI;l?;hn3l|t2|!a-qo zLl8l#Df;ReK&AbkN_hkxdQ6~zIfED|sj}to4;DBG*Tak5BnR5j#dI!V zv~NoshCCUh`ZP=N0TH2@31RE>@B-ODu#%{zKn?=J11_sB1Ow7$SUG;9D-0)9>X&k* zdx1hG#*i*0GLE6e;4WzNq6diuaycK?HiXMd96o$&nq6?Fz4S4L!Iu*>6;M<=v4AO2 zazp|(1`(e??wfJ&O71*!e!fuo$aKkDLT*GoAiT8SnuYAICP9LVQrVqcxt+tLwfNL> z6hIdRc$jNl2{)0tN1-@U!4L%lAtMqRMb?smc0`&c#BAj76nL0aFuehaF**y;)oGknK@g+ zXejf<$q-SAro=6T`Rkt3OqZMIN$u@|Lj*xCSbN+}!NpUEusIsro&rgDvMYF77tP<;h(YRuD`r^M znU1F(h3IgCfnccF+Afu1Tc}6ciW3A6Vw14!@f-?BWuZnpJ6LUc&x>HiezXk_3mTI7@knPbUra}QNoUT9Ugi^NI7lBfj`Po%7PnYlV)F_N`51%n zFRgB3u% zqF!SAWh0HW2Cqq$>AW1BV6pqwG^Hdo61-1Ej*StQ?EwN9jKe#Yz_i#_LyKe?AlH}i z24tA$vh>0p)4ocS$C?sFih3@9t|Qu(D_7uVY*ClsEyiOq0-?kSI*?BTZm;>E0@gWJ z4-`=c22l7)63Yzjw$);H&}D&Z?&gpYYDAEkg8F!z42m4?a3Lqo14*eA2Jzp9^2dto z_RV5WL||FUaYwKT8K_+9vaHmI0g6VHH{RLQsNWC#nMAf(L5`+avr? zA3YuPp*zSnFb4@nxmb49u?`#K^yq>!$><&`fW{c27@*bWVM;V2oJWm8*9i|1ECU>3 zkI@jRXxv*3jF$JK6du+JoPmTPDtm=pBt<6!txcKVncHafS5+RKjS=Vx}7 zBN2GM5gNkh%|(AQ0|OCAh`jQXrO;5~BjGApI_d}E2p_hbv%n!3GKGkDEPq9hBbM+} z0y49d=kKp6CS=xnBwvjXWBR9qj2=Sa~RA5=5AF$Nx}w|%nqv9o4608ZIFkRV^%C5kyY!E zJ!W~t?b?NMN}V;0j&^Pvq-DP!TGf&-+atudfwJs@!(F~5SS)y}sBFxz5H1oCLz1$u zi92Zx0<0OJ!CbIR0fa>xl8s>xwoNGFW(|^jYJdDW& zUXMJK^h%_hqF0+t5*RKK3^P>>;knIxSk40Q$es`uDok^8-uQeW&7L+L-!4$gxcQ|z zW~Jq`l;x76L1doEr$A(RQ^WQ#eDAek=E5p9eBTuX?XGM-)+OCeVi5BBqX4rINc zi98t!$D77SP+4#dOe1i#&dnx~PZjnRtX+0vO{vHz_dq$h#auZ!jKb#az7VvIgL9$O z+7u%y@-)J~ab`t9~Lj>i{7r2(3t7#ArZ^zCZiDyXin zu7M--NV5(S(iM!OX(yyq)B_&ZUCDiYZx(G!RbdnRF|?IyAP}RBx71IM1f~#RD~G@9 zdYT(!inEaf0*|DMYAr2jmOMg&fHg6EdNWcUEWzm|OJ@10!?GkK>XWb3dA>DeFaoR& zU+(e5ZPjzQ7c-R&geJ(uKUYiC4Cu$>iijGRfc<+k7Qyi z)9Db5yn&j?88d7zY1%X_mp5yRX`{K0D6po)m7$(Z zbhm36dxz;Yp4nstl5uY>Eo3)29n}u2zB%nF!9Ze*TbLBU%`&TtqwI!*nkW7<@X_lm+IKet6Lur{S7lR1|0khiWCFtbf|d zLPzp&Xc}bV-FPT?7q;LsVS?;oK9v+Jc2${O)xpt37{lr_tyBH1j5Ae|rIRG?bfY3u z9jGQ3NPb!RwqM%E-%`*V*aShuRz$ZGnP_KIUv4toDX^DgQ3hw|;PMS73Qfm(lU5EU z$AtK`q=*iZlQ4*N{~tx~{Ub?&U-^Z}@R=Fuy{*hF@2jhQPxtuQG3#cRyFBiK=0K3b z-RUHVKj;pGb_GztL4xjNPR9czf=hC}o1NX6*)cscJ#DM2s>@epReJ9;BQnxNWLO3N zg@~-E@ArM*`@CQOeA|4qh@cXM`ooaLqj=V1cTxc20GFUeYS<8;`Ntvb;FR>4nlZQB z(yEzco$g z@3kE9*Ep;)Cg0f*wb%;9xqE398BAK0zcO;fIF&-iQeaHMDa zE2qL&kS`6jJzY8sgJw65FCEd&aAVPbPI}uPi}bVAf^BRt3EzGyw@*5?^F4THvaafp zrFs9#Z_~Nx_7P)0BzEJlCm%mcE>6dnc9fWebXy&kZkkRn4v#)<{W>hwl_#4E7o*Qd z$L&utcSZaP6?My^zoeX0&pr(j%w9gT?Kwe3b7f08D+ONuXCS}XHElxsd1gi;MaUKA zb`C6N!Fup1b|DV;cRk{K23Gj7GBLc(Z;Z;NS*_J;3dL|U)L8!g{1c!#fOok$Yvp|~ zu-5=PDfyz-M(3|XK^$D3V5p;X-jm3_UnB#qJYbBciH=#adOK1C$}Y$iU$;ksdzPtC zT26E2-^eAlt4Ud;=c3Zv^BXI!+;_tT%hH`{<=kg_TPl~ih_Ug?UYQO+eW z)hv4WOnt8@Jm%X`x5ktTn&cBYXy+oF>onj#Mjnq-BQ+R9ag>*qE(-uXL-=o>Sp#k~ zxHo*v)6Q8_yVIUOk6ap)c>~|1#y3F?2A%Ecr&-rHCdo zW_7e-I^uJgMvJNap?R>xtw|>%;CZhtVFSw{MLV-cFZ0+i01Q$D34omIF~z}zY>8$r z+Y7juwi_%#Rpy)&W{Lrm3(-1xbIJ+zmPl~$edTM@(VZLcHS-VX>G!7iKM$%*xM*W# z9_p(n;joW% z#!2hqQ~7a$bKhEe;wV9WR-&^1gsjaROndM|qBzFDSw-2034Z80vR620uC_e2Jw+Oa z_TUW;$(>&!ApMs*GMLN{R$I4<@NjCl+|J^D-~iP-rS;4Xz+|mzXxqs&DC z`YUqml@Z~^fN{{R_bm9(47Bx|mG}=Fzp4cg;zP;1(q-(0#&*DGoe0|en3Sl+1)~9g z2xUYNNBSwtd;U`+NFgal6B7-)#)%lsEMMJ7JpTv^l!acLmV2zR_e<12>9K-3HJiGj z9H+i9+aB8HZH+Z9TJW|!)+`fv;;g@R{6+eiQLb7v~G0=ZyJ z0IVU0AMLq}D%T({hk_IN?@D%{(;jsJV&r|*kRgFSk}cZyAzM-d+x9MG z&hrKx^(G^W^0CNI>0*L@))yg8@5+V2I!hBe;mN(@DH~bxcztS8@v_v=R2#LD z#so3TgB5g@nPdB|JRq7dq`4hR9k)O4azULvW++sdxhmmp5xfnISk}90_k1u2fveF$ z%BkquBKO$x`7Y*Y<_s`}xWxuabR37Kw=#{6t}Ki+tmPEEqB>>IqGfO0+womIKHOQi zLO6+N2Z9r5rdzg-tU$uTLP6d7ZoDq55#v)G?bI3qGHTkwk~X!fOp->?;r#nD=q%`qLP zWi?zlsuO18?kRNhffru-PRV>XgiiYuzf%GIzuQID?1k$Uo7;a#7|k8=a^+mKzbI|o z`7v&=>4f>g1LU&&V@Ctv)(>#EnAi&J&l-8$-s=yu!k#`W1t7+g!_yul9Uge3!KH%vf& z5A+#t%t5uTt#d^k1?`aGDP_mH)y7nRFuoDwOWqkwu=cB}WSSM|Rc{A;1X{g9)2;fZ zoJP)IO+$62JVGz&jsdfc%-_qV=$AVtQ}C4NgU?y5kC6v7eLC%dI3z~xb2-K(8n1=} zY!JhOYV8Z-Ebv4 z-EfPA&GM=CB;j2f5xJK}d$sNxxf$`?4$NbjXW7PE|I=ayHPMb&Gx>)5uiyIY|M|(y zSF@!J_d%ppnVbLM*i=ZYC0DY6o2$WhUEMpQxULah9#)^fs_T_Mi1sa9YjKLpi?wHs zpI!av@QWSb?DE&Q?rc{MlGE$EvuE$s;QGHM0qeRL;@=*CD=ZFsn>I| z6?Lc_qMW!n09);wD zbo~!Z*2)kgrZ#%{o^_H{RItKIRckdYT{gFko~l<&n{ohSmx@yrr|_im1RRFH5eIx% z_VJ~G*#2NZvdy@I9G0LSFJ;;G*nqltbH!mDw=a63E@WAq1OkxFbMvODg3Vl-vJH)w z7BTtbeOd@@P;ZXg$tBlAy$UJ29U4`GQ%8c)Ey-f2G$u#s0RB~-9-jEZ-hnJLi~EOO z8(;$rt6(x>qL!8^I# z&bX$SF2yd!uZnX=myXdF5gnBKye%C1rupo7v}qVN`pw6duYw@s_#plDG2#kh@OK@j zj;lpGdwwh<_5?XMIY<2%ab7!4|#RkWRZ2Qji!6q8bM#idXtS_?dMR!OfZXY1o8 zYcLph>p_q%8cvwXSS%?ymSeM^qG zy3{t=O#h%RTR-}cf`OM(&>L09;-W3$wycZ~yb?Q4p~l#NRckY(XScH)F`!=}zVpN; zAYM{;+rJ+g*GDhjF=-Pa>Dx|Mu6M3}`rWrO?SFY)mm~i0z(t%Qo6i<*qi5Gk@#0l< z@z1aPH6`;}sYKY_=2KvN6x%trP?qY0SGt4{7{8wRi2d3Nk?eH{IRc2xX zkm^By$meTwU*%ST58BI@wCXT>FtfLp>aW*!9Wfm&Ui3?v;+a7OH;GU7PCe3neK)_r* zdkU@|)Pq#oFfj)gx9a0isHvzK^i-`fwg%YFCRl{BES18(*&H|$oHkj#MY7I$)l@X- z4SB*c5IOLx1$q~#;bDA!l`(W6*{iTHz%#S zcbxZ$ZmFiv1*gL;3?vO805r$(Y*=dDL$Y{gwMAeZfp^wmwU!Xq{GEy^4Yc^lvX>aZWo>b1i!2^s%HXcCFlP9&&y=c}Rnt z*+Bp#`hRNL!03D7`}T<3T+3FHQdY#=FL;|Ac5<4ZA&|GZ)=7vl@SbRh7O&LOwf9ef zhV<6?0%F}8XL?9_Vs%>d!XYFXjuVl=b*8d+5YFm2x5E3hzAd}AWB!L69bqixxVL-_ z{uS{k&%RBEPT$#8!#)1@%8xR#uxo7m0&H~oCD%mhffhSd&TU;nG9&jhGbjkdUUPHd z(c@+AIBta7MyKVvVU+*fs5x*N{)gj`0Cr|r-}Zfr9qZ)khY6u@>;9P_!^{6B-{n5& z;o=C63h5CEvA_aeUL1_OZ(%nNj+aVTRS8VI>PcC82B~&?QgrR~jl-t9<1~ReT62C9 zOTYKWlaO!WI@D0=*yNrK!3)!Em70t^To(a_vM{p%&-pl-2ak4wjfGeX{Q9^ZXPE+FellOT5JmS>y>Z1B`=)u8 z_?Fn6KTClo)Kh6)ZvQyDy!bmh{ewUW2>pU?#FI~3Q#HFIYm_0ZY39p@m##zK zZy4J3fdE>^@Pl5s6e^K=1j{CZ(F zd+Tg&GaG?!opuZT>4Qi#Is4OkbKz1HXO7Hkoxm9U^=xwBUC9}<5BxS~b~QeMfQmH+ zmV>7SGEwiG`^utY-tdmIYkDiV!~4h6GVH@U}A|hPmhAEz7yYIgI7IyHIV; z-eHir04w)hI8i&v66q&1<>Sj!CKGnJ%?!MI6V}s4oegWO>^?d*A=Y<-Gb;!&et+h? zSi&wW?bqT6M=sT=WR12yc%xKChWj`+tTQ4xcj>sP8A9g`EQHNHE}xZy;yQuu8`W`k zz&I^IgPjca&?8qWHkcYIYsO^P;<*@v2)OaM8yM_sOLx(c`vlvo`U*JHgaSvwqmP1GpJS;?1uCBaxwQtdsKof zRXO*Hn)I8)_T)Qz7Yy^UIgzZVwYg|O0~x+cYi42Slrg60#po{_R?!mSWe0hgnNc$X@t3FTh zRzrbnW)eA8yi3nWSEKs7TN)S>xef;^JBYa4jaGJa~-8A_uRdW zG=HJfKK9^f?szDeaF3}w?zWj_NRZ-RGr$9cj+_ApOB6CgH+ssZt!*@^-~cM-{(Q(N zO%M>pTKLZ3nvrtPvJt3?B@!+3h&yi^A{(&nP5iO=+)Y7R2v$KaagRH|rff>q-fxlg zE^ftrF|ug_YXgv$bl)^Ev?#}_Z$KM{R`?W}zRTO~$iaRuXo}kZ52mllbUS(*ca-|8 z3E*U?zdienkjqc>o`UUmF(Vq36ALmh!dj(?7F1BzBt6SVe7;`Ac*NYXGINRl1oVH) zbtjnM_3$YZku8I;)f7q!S50=D)OX)WZf_~s6zwPIKwTf5{uiX1!~JVKFEM3{;=u+K zeAek*PE&)Xb@X4yn}fJPJ|VjG_PPz?dEoOmZ6`}Mi{}g5{rS{OwbEpjWev`MEwaV^MJlaI9G7 zQ@luVSMgJ6jk9KM#oO14PR9Iq5n!PginJ` zKkY2Q^UZ{#I5DdR)Dxdx!oNV89R#F{UU%gpONm)rc{kTvV8h$Eo>zwNt_pI{57N~y zf}Nk4S>68n*k1X%_)=`!%%G)UXLpo5;fMw~(qO7y9?bbo+iE8RbJUaqSnQcCVt?2TFhJ>b zXHYnCHi*tInqMK4J^ZymMVu|?0CyosnT<91THgr$Ia3=Sa~14v*N!KcS^K`^Bb<=e`L2A z6tAxD2#)iCVQ%yv7|fvOgDjOqR?UjawDU^}A%xd099|wUBhRpxw$ppLWFN3~oYc=y zSqP*2yj7a+cn6%>Z&l~PAv?CPwX#{F-C7J)}mA`{=MdbUHjDoV%q1MVr`jayX5gX zd(+PvVll3@*0zWG^*AKZfoB)=SC{Pq_rshO{Z+rU7?6ntd;3<}O}RK0C{2iS8Mp&6ws{$Wsxt51aO|KRCE?wi^QU zK)~Emve?84uRjim&%fIIVAE(-1Fk=R+c~kMnDvy*@z}FtTZVHJub!~2c{!-O?C7Inz?VXd7B|ql;oxJnbb$9Ef z*aUn!F;z@ts&r}xUrXF@w;o!|0I@J0wvqW_GgM!rO{^6Bc|roD&AR#=I9Ob~Rd!rR zu=tR^PlLi}_~Ebdhhf!azEFH`bGkH8UhJrE1EXBj;83L^_D*<#t=x;yVb>Oqc}j%h z8vnw6@}1NG^l{y!Wc3X%-I?;0mkS+{%FWh2V=QNRT7SUKT$uL}ZL(r*a~Q7|3`J9? zO)u>oCmVLKA{~0rTfyTF+8$KqEkiYr8s4@J2GT$0!E;lp@J3l4#4_}ZCyy+R)0%1g zN!L1Ye6u)x(u%Sd{tFr)KW_+(Th6XNfzJaAn8LTT1wpoqTMLCw*EDEHFWXGrk?4b{ zPBzkHK{EikQwtA00m9mzcd7F5v=<9m^7cF$b4Z7o86VtCi@Dkgp#6Z@Oj;+^uFmA1 zDTV!T6+BQ>w~I1c_~O7rq!}9?R?D5BcBxIXP%C&C2B0@vO}dwDZK$+$bm3>JBR_l= z+~Rv?-vI9J8h015@ZnmIY;$Flv#ri#HPMQ;Su403n79jQ|8roqKXQuCv!mK6$4ez` z9f6^C$`|Fm&g}tpp-u46yfixi7R~hTMm*giE>btDv&{LdA}l&bvljupY;Y{&E2){QRz`ka~K`# zl^!JZwVK3d%=5%k7h5EL+sO!%2=|3YqWZ#0bkJLc+ttrPbX57))M|ot6uD({G}cuS zXCZ1l_91U6*xV68#k%xMS9uTNAFCfO!TH{Y9Uf4vq?woC%?~LV<2E+Jnd6y&1m1ya zrOXgwTtIT~aC(t!Z(@9^XXYotS_gMOH-DUAv(|x~qUuBG3h`*;%vQkhdH8VezX?A< zbM6UgS|w)6KVC9>C+~mq#>%GraGVz)%;lW$XoTwD#kS1a4h~T799C4S)#AyHJ^7lRtXy|x+G>H5za~j@`Z|#nNiKX^M*GzT0r}n zA+WF6Q7Gf?1GCqNPw4w4(Y#<13jPtESzy|oFrFSoOcN6@g0dD>I0Z30GnBD^c$yzr zp=B2^(N^`m>C{RPAB-@?T9~WjuM-uS1y-gmc#9dH%Hf07R2l%M@}4pE)Iu}hloKsu zG}Ak95Db;S^-l3o*Np$kvpKk(>;R_S`eK0X=JpbJ=yE+MQKDion^C99|5}!^-QKxr zBu^1Thxf9jmcX%(U2Hi%=vPf|XP^`~*rXqi1hRQM`K(O~f9(gIgDYm&Rvb5wG0wN< zFvJ^to%2DJC;jj1(odsLwt}VLsv4@6nsx8Xy9c+J`<()UOXO8YWaB1dnXHt9JI9^B zvF4v`T{G<3l0HasxKo|q8=f=o{!D4ekM_u^r*FZ7d-r6aG#~xFtRSVhR%A^poIkjX zTL|R9H8U_7nysq&O#WkQv@2}L*Qr8{TFsh$FT2bG&KFgT5NKUTV-E>wlS@~yN`EP7 zlb@ptSBz6oX6rv%4A{w-_kQ|3XY|7dj8y;&DQVQO2r1n$gE1eo<~P9CNLSHHqSWNF zFJ|lwJJ_AflpZX+DVnpY=E7a@-4|DdgE3#h_chyTXXa^0zt#c?&7nA+Y#c(@pnq+R z$J?eL&CIVQ8;vXYs9`cz?4TLWRO!0xAHXN-yuG+;KlMGxwA+h=^3J7(JqAdv{%N`D zpX!>z3#E7oRdlzT+mPhIvqd-5v!%=M57}x^u8a3Q0~^!~yx(0T3|wl2xMn($S+>A5%VdSqsAATpF<3%%% z_97I*rjnl9s%CTK%8`6v+tt)hfU8u%Jr1FLUnS6kMPehdl@(e24i2KD^QwaSdMBkw zqAjsMftBq6C#wu)8#dxI%JPor1f1tiYz`iz&xi-8+-(8?Bal zR}L3bqnD*RK8&NPp%Gv&d%JEA3K?i9QB^QQB|lfEc4PyGhUBwVVB@S`^bF2YTB_3q zhVR%gSRRf5Gb=%WWvpI$ot||@B(iM@^z)FBnW}3!(kc`OH{o$#drVZ(8_Oa#` zUDnCR0kYAXfvu3hpcJtDDErTn^{JP+>2{k8ZqnHP48+9CcS!_>!JI8vGC(j$l`0me z{y3#5e%$o9aJb?f%+re7Om%p8E7vKu zDt)6Unnd`tBn|zIb*tVm+-OFD>{u9eSzB!E4xjeZ*4jR7WdkGHg_W~Nux^8m-|Jcb zOq=O8)|{|@i`FkCTXR-zbcwubMH`FumG*pNk8!?v>Xw;_moAK*7@O|0OL6Zjwu#kT ziK8>q#-lfR`Khggj*d(~VEx*5OGW9Kg}YeqNJ=)?`;)4^1b!-Dqua@%jxO;etT-ok^r z8GIS^0TN)q+S}!`>K?63s035sBW=2Sg|(B!ribro-ca?4i{J^c zW@H-#sds6NGZKs%cLXBo*rWK-HS+mx2`7V7!-;i&{ZiKA+#2SX>opLgr)7p9a_#iaFx>}fyxZBak=)YcMH%5af#%UH??xFDUB zWErhEY?=zJpN-(qCxydde4th*q%|Oy1z^aM${!nxgA8$!9(V6SInmD}jrz26adSX} zHeQflTXP?3$ z)s00*1WoKH?`G7ShljC0))?CMoUVSx*y95}RdXKVGo_#Faj7qb^ zmg*vd&Eu)+%uq5~pYxaGk>p6(@tU>W-?Iyi!2lB{B;cjL!gsjV)D1XdF#J2PtI%iS zo+;jACSBOP(m7@~g?TN7m4RVmi(phQQx<22NB+quQdPfGw`ApR%KW}o^{iJ6ZT#H3?Oj4?GWn)>LDXtUZxaAfH zKkm0%SD=F#Q*!?7VtyZ`@87UQbohm)*iCUlXj|~ngrlA2KOBUlTqKyTxiqlo;BS91aoE{me8>JpDtjC;80JoCuEB3iST0=kDG^Kw*Pz*vV~%UTCqFAg&Lv z{sep*d1GSU5+EDauhWmJHN)!NXLo-0Zu8d4m0v!5`S85^MfWX~b)6f%Vz*`8HR$)I zT0Fa(=CkGObADyX^4#}ubv@1G46iBGFJv;$nw8FZd82<8fb8#8i{Fu)?$dY0+*Y-T zI!SlM_9I_Ua%9~GKls*vtD@_UP>_ub+1@DUg@fJs%9+9VH&2GMn3xI2Ba7nCH;n9I zR^iUc=BV{aL`TKemikTnB`w}3uv64{$n3Dxr)}81ZT%3Yf?K3B^Xhps;wGn?vJWYX%q4itr=p>6Mz&?tN5y>`-h zInJGV?UWuZFMD9K9wXVA6ub0FM%BMDL@jCX^y9^A7mCR?YW0dI^79(eYCh}xMtZRR ze7Knt10BEZHxF|$HcgY`<>o~6!E&bP$PhOr70#&eR0*lLSTjH!@QJZF*E@BJ=2Z9l zf}nAeorv>&#%4qa+qKX7Pn)x2%7YzmI~-I&)BrOh*}#=A%=U1dOfuM0-ReWz;TUO~ zQTHnBVTg?BrSS-LZ1TG?0-Jk+xpMd@L_?Dya`+(MZ;X!0{esQ*l_zbmzBIR#`XN{+ zm0}h4`bO19<}~krueRrTZv}dH4`cxoQV$%YE9TdH#mt<8Otm-rh~dJMWhb8Ab^tkP zf&TAx{;WNqCCXbh+ob z?d(-__H4O8UN2FJ%t;`IX#>;Kn1N`s79}5gt85+>A+u9WPf;;Cud=JLsnBFv!p$bU zl(gVVLK{6Z-Nup7gdi-iQwQwNlF_&`76Rh;6zNXH^_KnXIA>~X-W8lSe%k?bK9 zV|mtZ91ZeKiBwl~kBWYQ=3TaaaIz11c!WlEgD+OyjhRRhzaiNJXZ+eq)6TXoQb`Hp z4e*zGjTs(xxNP2>B$2EoX?UU!jnXc*vN}CkviFN1JaVJ`?4$y;qrBa4(ST#ya0c1+ z8xaSR=#*?hW9S}#yxMZl_#c>LrPZ4KbFgZ_ZoE-vfOB}Z4gFlD3B^w05T$EUvH z!|o&xyX}rt7mULxu3wBO49RKw;)zd9p(LUhyw`$p4Aqx--}zwOWvFN`tJ64&bPUUC zhS3%s>KGod=8TcLF?ab7=Emorx8$ohT}Dl%CpY>)Yx^3kc=I|K#hs8Hg`k&hvS8hZDz{HQQ&EJ?Gj-IA4X8Bj4k_k{(tsBM~*dKnHNqKPLhf zuXjPqk4=u+g<;uSy5+KH;|9op!NNJ&-Z~d=ei4vmN&_nHO`emqCR2p_kRq8|snU$X z_OfNUc{}q~07Ka1;+C^>3*Rmp5p2e0nE~@%yt$wI$jJ?;Py1BfjLnBxaa zm2y^L#$P1efm`Lz8cg`yfBo_+wRvtX53d}sn%ZLd@zT?yvI|fu4<{Z(5dtWBSiHgd z#{JHaDnztV1WHh}ZPc;1cU|esh={0pB2ZXi&QYNmpNN%DO|kRrc`9WoFFl%FuTH7= zyQjJ~{$=VZKM>`>^W{UAWib2lWAr>h84tXVIR|oGtC-ZW3DSYI@Pv1x36~|()(pVF z_aYHHLksQ-9x%KSfUor^|HK{Sd;eaL9hM?EZ*1aU&evPM9p%i~ZpnR9(jm;*ajJJF zf38@6bzwIWbG|IX5s*$pxxo$Ft8Zj2o^@LM;BzD1{y5}#MRZupkf^#E)6B7}%JoMt zyl)7N_8+Nk)wC)=2a|t^=M74g4+3^z zD1iOFd{=HwJ6v$IV6mgHOYG7ZoT(Xk?V|0$Pu29d(Wi`*h2K3eg**0Wyj6Z30Mht_Q%-xMOddDM5$hXyE+F8uoL{COxG| z+KXTicw3_`4Og0j?;mAn@N%E~zns2G_UcEx#t^;h<5FzgQx|N~g-ECC#v6K(oYBh; zsx}V86}uI_(z$f5onx6X$*NWPEWH`d`FyglI=mqe<+F9-4nyyATxUMWy7#v&iZ1s#uQg#n>F2G zY1%;^P+CLlWhdEmwU@dW+al3*n=M}BSp($mn&#S1;+vT&Z2#6&Z`KQPbYNshbdz*lH5A^D=|*^ad?8^Y zr>{~MlEvf<>LWt1{&>=+uL`=9!(aaN4-0{l@CD*jlTH!qo#?8`I%df+R4%17CTBnWAQCIHV*t_%?yV>$Y+KNU5mMP zm-3}sgREF__&z41eysNp(}?Q7ZPmm)ymlPAai)pP?cGLOQKRmpjTGki;SPP#fi`fQ zcX?YjCebf#3W*r(81x7#VIHjk<@Ay*gfMm76EKZW78NQ_R`uS-DMDMeUa#h7Z#VFn znc>RVka;++oz!#NC9B;bb_~-P_lij?A$BT2%m2%ru6Rlw)y9hZbfit${>kYtc}n|_ znii}(oQodLeM1SnI!b&mgHmeKiTo5wsuEpv?4ICSQVh8+H{ywUHdo&B#Q@`d^khd! zovvbza2?13%K-!5xo%>v@AjtZS&XnA`P2i~zPV1t=Fh=Pj&{bR)ao5L0=#)IeX9WyM{U-pF)uH zhvWP2u55|j6Q7Td|Bs;N@}Twa$A6?+JrwvUF{Rmd@R=<0YZI|B5S`~EUOS!AkDx_c zdt>nvsb?R{@#@;xAflD9Rc)=4rlj9yhKA>#ED?~OmeJ@l{kQBxKX7=N%O>3Kpy%r8JzAA-bk7{%UBOxQ+o`%$Q^lv^AhWHTJSsE zc*I|kDS?V(vj%!RFi(>-s8Nm9gnJ0O+K?NM>ORcbo(wyFYb&us&TygM ztc}rcLPW+nJv0hNGDnB-3rng0uezPCx8CNDF5Gh`oo4}aD3Sg0j1w-1h%;uR$kO=| zAO_{IV_=V0O6JisHa*f}W%*)p&*XWb`}w1so`fz*eiS${p|8 zpw{TLhC^y*pp2ismb@VTcC&yb(I8>6&O;^ByLXJxfObYjh zW+4xhECw%S0R3dEz@rHbX=V1{#`|@gg(Pk9U2k%SR0D#jCxDKX1+Zrc?O~<}pf0P5 z9dOE$JZd|F+A-qJZU|nV3(k+kqK-XSkj%gth9{mlsd{J#?~W%U9=-Tc=hwcPQmWIX z{D#kDKbka1JqH~)9jgW?Z#b7($Hop-DUEr{@dPX49Nz6Y?fiiG%^J>1!rYoh1?^uM zSggKWhi|bEO)pQE9o*&tXC+;(pY}=}xRh`w&vPFhH3I#~yY`ny!ac|_5y{EcYm4uO z9M=;HalU*>u;R5&mo(dM>zCfIyIGm3Sm>8PpV^@^*vO2Wm@&ahfp=wK~)fXVEapxHDsSm;PM zbDMWQyG-`jYiGFX4m80vC^8%RStVg-SQ|q8eXm_n1^oWJA zxLPu?>2GX)1b2F05xXy*JXqm&YK1X4{7;ttQHdOvW%G^E{O<3R`k%Ee@n1Ht=!zpu zQl?iAo0ULCr@XOvo|v;dbRU3^O#3C-;7ncRt*!r^^3o3q68LG!G?=x6SCMcB3O>K6 zi}m-%2g4nbOh_AlK}%R=;=XxaKZT9^9>YH|lMDnl4X%X*>{JS4H#Ya%+pg?~EG3OU zu|g@WIrVS14b8W##Bt$|-`?9t9)?oae5AB zbD&^vSLtC_E9mLb7DeJ$+ASz*cxkP;h?4m_l|DXOo{3@b0%ivSGmz|VQQeS>a%>lc zBdc7xjXXGU4DI1BJlC>kD)-fL(;$o{!+2K5*VfrA ziaLgYenm14Wq0;4g_O|RA6^J;JLlM5U2gEGs1=XemyVeI*7vnXGjT3*VeRCH@Pov# zV+m#5gP0s>1oy?db@H6HZYDb-jDTn63RxJKjqW{194bhGw@NLf3(V^SfucN*?ipd7kA$DA!zN>;%L?^YLhrF%me%)xzwSZetkE9h0ByXh8XVmczM{O z1544mk@~Q8LX#t-j{dVCAvTmFJcpA75kAj78PPWVm3O?>>DC|3!l5BTOgohtFubWq zwpMJ6Izz@6ijkQO-@7qs?3x!3X)<4x(N?WNYIZKg%INtBPBcbeUUBI_i=8{NAOJF^ zgDSkXP(?Op9QmDO!u8=$d`PO?j6NR9EmYAvr{iXHJ|5~p!1=u=n0L2_&H0Av4sr-WO1;h>ZiQJa7HL+``qCSnFfl0=U3$-@?Q!8qp?B|;x%zQCkAc0whc%jwFD}!Hpr9yR2>DAA~{~07=){Xqw;#U5~{l< zUFu@3Bi|OqbX2Rk^x*(*imt)6kK5*mC#M9<7pU%}1EtjQ$G{x1=7o;<&E=6WfjUM9 z+RYj`{~Xo}hxbvtua+9cVpF+vE4B}VT%uG8z zta}>gr^dlawP1E8xz3MdM=PevOt6yxI&X0I?^>mEUE?4bc%UU2wN3Jyc)N*(a@ihT zG;sTllnY4;x|nfzcL|V=fh;tn-0w_WON^ZNHyA;RD34pAAm`MP+wx-FR>9?pb#R2> zfXCiLp{D#M*L*$F7C{tRLCmnhfsE6O1|ZSQtQ32)Vuz~@ZLLL}<&085hK)P(Bfw|84DA5j zORJGFQ4oLg)ZhCF{KS79@z;~OA)-F_!o>+kjcRqqx7Vh7u7u{=c{o6PHn)zNFgwdu zmlbCNDuPlMvUB4huA?Iw+in1jZSvDf+Zh+oi_v6s+@m+y)JsD{y;@Hkf15Xj#PXly zG%Y3XMlxMzv)gpvrTR1K#f+UvYEr4i4x5BgOG!qW%x1fhB5Uy1fjbNX;Jj6zjjK@+ z@32F)&p={@TRAx~E2`iuIh*h`Bg;?RYz^-}(sN$pkp6YR!*V250cX@@`xu1>gE69+ z^gW+rP*>b`2GKI&h!3DNNLj{i+@W584Hj#RM|qSqQ>tgenv z1l4%S)}^TGInb@y8&|L@Z8Q*;o&*ok10$6~E1QvG*^c01%#l`~vexf+=mY-`Hti{;At=NsT&vXy} zZUwC?*ee;cak&LlzVHeyj7|5EEv5GXImgt^S1^n&7Zb|Cq+Vb;{ z=jlSh#WzmXWkYId=xUqnh<2L`%jC6?Dn_WRBdS+DLYzl%BtDbGtdfWkG82-OJv6tuEO1v37 zw5JGj(o~{ze%+w!?0PCJsnsgX!4KHR8_kv%H8xZyKQ%JLM#BgdI)nhcgku+T7GKM# zN7~kMuJcAEBSR?!BEae1ch8F2Q;c~3?Q~W{mVdwQo%M#Csj|fklBgR-zCVlV$fm3{$jp0shm#CmVx2RPELd60MNDPw1W$- zoM%9cl@F&HeebcgveIQ2t~rim`%nqvGPwqgMlJE(qxyi~RToXe_PlZtx^vm6a~;X( zk*L(-%#n|rDoyyd1q9DgopPZ*p>qeO*9e}kb&j!fl0MsW_=_4ub+)`x?}&C2bC!CB zWdLMzSN$s;UPq}P9PyWAn|$e}CSmJo{fiekQTtk~Mp#$p9&3HpU+AkrHx)1Nt_GN7 zb5Ew9)1>`FtkXf|22z2K%X5cB{lwe#zvnQrWguvva| zNN0LeBl1`UukpAFd6%+1HxFyzOF9gF8&|d%%5`yYqg$BLYnulLj;8Fmzvj{y;4eo< zDCQ#F zVnVCw%bittVQcuC@34dZs#?|d3RM_>8rh;WE`ZR2vw0B!y*H z`#p?E+S^Bk<9&c!B2ZJ~StDlil@*Aa#GOKG;Vyvu$Chb+_4l*6YT5Zbg77Ba0 zbFJS%v`s&*krI=!IW43&{2h!a5oE4H4mr{rio3~wc|~P2o57W2?Su}VuoTCTY5?Hs zm(@>9f@`kZKBX0CVm;Zj^#$ChV0gOuO8Z_fHgt~o>9>qFPhkoBa8j>=*B>gaI%D#z zWut8q&wHmzB+Z1%DxhUY(@d)_TNz&L+t!4DR9Efaxd-hRV ziHoW(W1RR%6<0+Iwq4|zZU_BbiE(T%i6iD+S_w64U@W6SBCV(qqoP5BXMJov=mOI+pYuq z4O?u?=IUJAj-BgOwlOL@KJ5|%vp})^<7x(ME?zyBt}7wjvHiVjM_p!@-H;ao%#Dg^kz)oLg&k}0^|yze8NqJ>~QAl7S|woaQuzBI5~F>1a;NGDz6usH5ImfziGgxpnPceZrqKxwQ7()VL@XP^S!>nCVNp zjetTc!Hy29s77tMhvz$J5(Fm)7f;8%#>VB*Tueg=PGfhLV7tAVdYBdU{ZhE(K4M*@ zhV2ND)D&7I3$#_bT;L_3j9fk&E*^9SrA49tJ#yPM1w*_pVBX}F+DHL^cTCsrHGc3D zu4&6jgkGBy{~5vY;iktiVpxeIw##+)ltghWK82vB(zJNwA;3JF>PMoIIZ+K18YclQ z#}`F`-jhX6=+(uUlD9lYeMQN&OXjm3mpcegy&!NSmUYF~0`0kT($J#|ZP3|G%6kQ6xo_6RxIy$&|ynwjgjO5?T0m0?Lk+x^x#oDc+b zUJ->U3~^T#a76H7pl?rl4ea}*IGEvaL2Z^XD5jatwT5OjnM&%RjA}$3Pz^?5Lx+GX zv{KjEtZ@QB3+Y-#&&ypFD3J7crx9;VgY{7Pmo?^y%GB$9W1_S*#)N=^5J{MF?wckP z)Iy_rIo3dva%rs+dm~S{69ASv!_Y;r3J#fw+RN!|BbvyRh1@qd%l`W5cXbve!Z7@Z zsGpW5>u^FJiq=Q;`^J5zL@10Ly*(pO5Snw9u`DW7V);9ckJe4W384nEQd@fDgD9H{Xas$#-znh+Ut?mSl^*6Ukj@s^@C<3VHojn; zwk!3_a|3E?6oGhPGT}DuZ&0cfd|pzx4tU3^=@>;DQ@ezCJC;+C%Q%Dh zxVA5$D#=e%k2$EDCqlOxs5bj#u*;cM3=dU$673J^JSv@)7-Yb%9Y$qw>yj&5MY*_&148+QG$ zWmEvm8vJUvF?gb3$r{Uz`Iu(68(4(+G+4u6=cflumbz$+7z*H`7aY+x(Dq=e+$|KL zcL!uea>3&sp$hT`(m)U>*RY%9j00{89dRNWsyXxwave+Km$GUVbFNwKaWW8`0$c;m zhGE|t87)Lp0?`}IpV=|hh&u}Z?y{ce=@FdTPNHH8Nac1pTj5I?L>}M`=?iuDWYl-e)@z~ z`%`-rq89XZwGUUGKde5k5QADk<7Kj2UUz}t`DIA8ACN4lWkw8D*dBFo}iTqhqq~QxIJYPT`JYu=SZDu&NLl<`yer)aBDqaFAWFJ zNzG%UWix$QQkwjM-dV=Q*ItEG()0QruuIJ_PQ)yH9IdO{Vg?E~Ih87Q%+~Ywoo8!N zsbTC>C)8EbR(8Zz1%x!p%yr8So*JtM0jU8)_cV@=hTafrh^x&FN^T=Igj*Z<-Byn) zGbqN2wT$shEL1TL+U8287*TTv9Sb{BY1ZLOKkQxWf?)XD^%mYgpX&oaDUrQ@Xe^(Z zV;1{uYG_U#y#_tfk}&Q2%!Q~GiE^iKcJ+yy+jGcJmKtP;snA*9fEy@>i;{RYrn)^j zQw9Cp-jWTg@3%X4k~WXZlPUf*zt^rmI+9nt0jU*|MDDs6k?AV-UvcvdwaD~fS+9<3 z7EQR)s~gu(lD!^2neuCheoF{>(v^DORLf^u_0UM+!h?JsH=wn|R$qZP7SU|KDOLES zP20;3ZucEa)1!w6%G0^UWI@7$eV#KuY24ZcwbfH@ThlT4@^gE81BYfk3wrA#)p5{N zf%CgBx{6)3#%uR+&Ern(an%bG+SdLUsVXTd3+eSIb;{o7)yJxmGp-oD>WF6!Odb%0 z)}Y|G97dI`499vD4{(Py=rno#C&qlG?yyZF>|7sp`;3}=NhNvJxsq2;ISs1*P&ecx z|ISv)URS;=Q!Q7tD@<7~C6xy75E#Iwj4`J(p3|o+ds%8d&U$Uh)_Yg8SapSzt4o33^D? z0>0ZgCQovQ(BjkpuRb(&wCVB@VT%;*4xIkJZYUF&DH$>KxI#;r>lmn)Q_dDT>I?fD z%xMOw50KyU4m5S`I@;tS77LFPQSWWM%Xx zlJd~#v$bXA`6c5jlIYwQ20djoQ`HUYNDXhCwlAi18vWKtaJW=uv0eSg{j_rkA{ETj z@AonT6;id!T44+9CKHTfI0hRsAb8R;+8Cw57S5a+F>-w)Uy)vkHW~Rd0)yq!srf`13qoTgHWy>A!HC@}X?BV>o11>z$$_70MW)cx zyn!wrcnlcx8i5^a6(3SHv<;?gb2d3AJXh|sKkau7lveaN#GqbDwdtB^$|HT#O1Mq6 zTji+pBxAJFr8?LR&bUFLD>gg2iV@RCuuY}f-}77~s6Cxv6VRjD7`eEA8nyScOMyV z)!3SQo!8G2Xt4vpWj<(T)iZsDzPrI<`v0Lhs#W*ZIzc*U!Lovo7b^oxS*2v7(gTmn zLi4%dQ6vGh6~qP7KWPKSG!f&pZw)v}PLLyqP#rim7NBgkdiO zOpyClE#gx$npCwED#4bGUjUyEq_b0#3aJ(<2VGC@iTEb5>;xOLB~rAl(`Xt zB>r@e*-+23f2aFS#4(Al2L^j2Ij(@R#dqj16Rrh8R8Z_W#um ztb$$VNqI?=RdsSLHN3U#?4N3`kx6Sqih%DqHEmemUJI(b`P%!@nw~nTRR?`h)#8_P zQ0t(hyczq??{CI}P^)%Lh+gyMU?PF4hcy68F707~>B&xLGJ3Uwo)k*9_A>A+#F(+V zPPWZ7mCm=xss3?oD$Gei=0>K!1&89E-Ckm6a}0V}IOFlS43cpT-=~bt&!94?gbtr_ zp$|`9#op)CdRTRCTWdNuxEz7`mC3IsaM0Bh@6dLB%U>QhaU-aa(#~jX4B;VP5EI>p zf%6(>d$46k9WiM3fWLS8Rmv&{6}8NUX9qgZ0Oe{y(h%A41B-Z8OKzPngI zbLV`jGoDVii+zvkc&H_6iPdrGOvf=J(=)DCeN;1RGz-LySih1{F_tG~{nzxVs zfY%fUH6fJiG=7t*<9iI2tv_jUm@XqZQIjj>7uUK35Bgh9RnUFn+YL!7zwCc3M}fMs z+v=tiiUG9U^8OkYJn#HkP@?U-bI=mNXD*6O{`7(D*MP;Rq=!DSwci&_K$7M0To6XLi%3=CGlj?-I4} zd%AW;TS;DgE?C}4PR`}D=ZoB=p*vzKV3}#I{8X*XUmoOZ4%w-2ht9JN&$as6lp&_{>`T;m_lpNiQXtmn+N>4e;bw1sg~>J)y3V z`N3_Q0st7M#@0c%*9HkvcYK8+%?4#xcO|1d&*+BsG~IZpDJMc{*(J>3zs)@^8u4pl zY*KW0lqjM<2ZJU~Z(;|8uA+8&J!)NtUetF7vtzh>ldt&{Se(uTu^t8DPTs5mM**wB zj+ih5M&QU;a9wNLQv^(PE^byi^jyihTy(UWBT%I0d#foI>~elxrw44jXdRPAxT=0Q zmuU<&^<2%^&-$pDf!;mh$l15-h%GSPKDEvvS-w8ho7(m+mh6KyRM+WIf6es_-1cQM z(*Xs3UdDk{P)v+U-Z^nssa~bkE2j!E7%SS55LZyT&Mk+chiuwV2jkQ<63dojTz$!f zMg3RAY-bq-DSyS38-r|JL$IFc965pO$j*+{Na)*AOWEk7Lq-?Z{}w#LfVh>tRHp$Y z+_fA@^(x&af7GOJao}R992ws7>m=3zYsPD(-l(8B73#X!LbV>+t3OTZ;(&V3K#>jh z-B+kOb|O+O&u)X5-N%)!Yv)um`0V}`uLgXAh$O!{k|&Rfh-a7Rb$FXuaSS9(LP)dXs7;nL^wzA4x6bTL4GOX8Gt1!2wEz!9CQo1;GN7Ab3iB*HS z+cB;kHf-T>)ckdmIKaSRx5j~;jZQdy18G+=&}_=`d7AnV()XyOH0Bs9bYQ(2HfXH~ z4Nmqn8OKS$=*Cs`#|n>2g6u?Z4%)LRu~u!4BQ#3!%k3XG7Z--pD$Ln=bYmU;{I&cl zlRX&K4npfL|1>KNJ9424PwUAYeKoGJ`@{X5s@L<3w7T>0nNeRQ)}tN|O!wNuLR+8& z3(RBsWF1aF7<|(hUV6>{Dr<>GRAnBq=Vmvx&qDU52wxG8>6)p1`6Dj|AlDx-r;=YVCpE3|h#4&3{}kBtxlMdTjE6-KVb+oMQ9BH_doj{Asu?Dbc?A3vvc=j3PS+0mlRr)x5=pbK8w51rE z5cIQ_tG}-E>nu@+!s!~e4{kX&4d?cysnw6E(^L@IgKv0(pt)FeD5EOs?c;;$q=T2b z?hdkZkrn&iadgcCo&`-aik}iXWf~B1S)XsJMsnjOZ(sbNUi<2K{J3c|r8lI=g~xZ# z)EjmA@u2@Hp!R95?7sHP_ZhK8ip9b4+A@E!l};o z2!!*D%fva;ma9kcZZ2Ih(v8V%c&#lrPKLYjui0xSDr!H2Zd;Xs`Nf%wJ~MmB#SwsO z$^oGjFR+jgZx}oB$+Otb@uYt2xcPD(pY}o+ln}hAyCAoXYVvvf!w}=D9+lhPIfucH zo(zTx9|RiLOz!cX>;7o2=K6;tOrt*<#OBBk%DLUqvU%aq6Q9H;^NON8=y!w>ul8b# zpimU3<2^5~ov3}%hWm2uuB{xEc9XVE^I;(#rBj=s*!?kG?T`uKptOo)n{}Iw2jbDm z`tE4o4%5cof5=c}uJN=f3GeJ$xY`PqaeyWT?RTQvg#siPABY|?K&KkIDen|HKua4bB4Tgp;!e>wyX;2@f)neVL zu62cG2W;gF3ei`>CTqE@pwCT~6z{;pw3?G$o@6{cz%rZduXf?aFa%)HLhdR-IDA#4iv*#V97re^^;H7S65wRF6{ z42SoxM4lSajScwB_Vt>ZExt}o+N>6X<6fN$hh`F1uwbvX&!x$sn+!Nn5y z>#x~3{OH`pS+0s&H^EJjRjO>(>c?%sywQ!GCh5~Dvg@&#`C;nRCUVuz&iyhIV+k(4TZCv|& z?b@Sh1oz?_wfQWn0ZxqfKT-H`2F-s@t760ws@C-EBkcCpEiC=MvGPJRSWM|9FA$+l zKUcP2>iW_*B)MK?<=#J^1%~WEPrMtgAWVyZR&*chQSd;{jYvsOw?(s5uIe3QrNHD< zG9*`53X_gUnXkOJKWHbTO88mMYm}MmukR&B*Bw(vT6-`FX%yb2bC!xVF9#U5T}nuX zL(aBS%yp@o9l3>ozZ*3iI|CPS=x)V1w#B!S_LbHg$@X`Lt?_n7SziI( zv$c&}bZ4Y2D4SB}1_5PKqM!5Sx=Vk()^1CvW$(bjjYXc{KyFVcNEQJ2fl=8Q1=-f0 zyE`{`<`u0V(EVs^V&o@^-aN-9sa!>EcA7q!FwBmF5S!{y{>bd7b)Q&Lv4KaMqhonJ zW=a2?Y&X>p6LHY29AJLD*(%URsgGtNg+W{DkznAP?A0_ZHER<*@EtkH`R z9ahfqk8(e$-;HKT{rcw$)_eVxlS>r8cAL`b||MB1V06V_US_B{xz*e zeqNP!`4$g!GTGMyQ|p0SK_2^{wEv_01jrRcG8f!x=Y~BgylON(L%B5(cIhT>`bw)>o~U*-DIMm);Tiv%s^2L0Cf- z>&2a-Gbvwo>fbGh%!?4C*gd>CvbhtCm9jf{>mW&-+$t6IbnidsFp|4GCl>CMr-q}! z1kdBk^DVNQ8-g>Qwl478($LXrv`S{;tO#BjaUqV3$4fMSB>U@FKQy^_){U=9a5}LK z4E8mhJgC!k>hDILZRp9x{h`hy$IIp09#{Rt#WM)VR;NX1MID}yJjh7F8Ft?nhqH?7 zu^&vP8hSSYr!xu#6bLCbz>%?#OWEO3p76|LRXmvGTS}b<6y)$onPmEw9(J-lfVE@= zi5~i^)NH$%e^g1^+8)ssd2~gusHU6`^cjv_^+vbS1+n07^Xls4h(%x@u0unBV z=#-H$`MxD1Fg7g?NKJ?K)c@dPQYf3bvQ?Ca zgsaooX7aDK)}jHKWAgD7XP?=vwvF(;T5>55zsW_LHH#h-d?%QKn0FbL^mfg-mEgZ; zuUdHXY+=ZrnEadHC5cy&KUwVD|Fhuk@AP|;x4lbK;JN<3Q6KagV|T77sNQ4RSMEK` zRWD$_#g{dQ&ub8FHnssj=99%h?sXiTaZC4<^n_?!n5%f_J4W(`Ln5!79LXYT#~g;E zxQ-`7Wl7&KanEFSs7VSb*%6(|6;V^vD0H_vJEn3IF3G4yP)(wCC$yOlT(=rX0elD_ zTXk9&NhlP5@K#?nQdFzY_DtN5TNAWFQ*0dlv*QbRc()Oa4~*EbP4a?LTb7J1(`a$n zdSv6~oc#a;wrAR!KC@(oFi9@OE6tZF?HGw?DkBdXTNn>QW~&XB7(re)_6!x;%ni~a z^biG_$GpF->TWJ@XqBC!4>#C^vU5-+J%(mQBrQjDr)s9)N9%V%KqRd1e;=e`xMd8)KBNrQ9JF3CCZay;*Op zu<)t6gM&1! z#w_!OnxHXhdj7u0mba-z4sH0i5{7RO`wGtFqG1HpOPQMOULfT9)7>TibfgtY(F%(t z3WgPuoU=~ZiYo#G>e7@RUMfy{49^TaLSDkTdGw zxi7wl?9I-JU286B$ln>>|F@&R1~f|`0Fse@= zjQJ*{Z-`Q$|3xpJ8ob_VPph<=j27D=02Cp#%K?729hX%LqRDNT3yioYjT+*%kM2al z`agC5#lMb@Zk^H9BajURA)xKqt&>AD-R+rsTwDHrcJjgH0i}f_*^pnCMQea!hJ|%0 zX@5+lRKD9QT3^3#BKl7YALhQ{DKJ?VlukxX@{?c|SFMWjRyqh8mvk9t%ECZ}9Gb>Y zX9A;8?0!|gFtwLQMvdC0i|>|{SKJ~0qTqvLP^)Vx5COxuV4<5WBwp1_2G(My z=+8Wmuekkwtq0p9mg<=#u+pBhJ=PqOgf**eKkdzpHu_) zC<9&EtSx7?b=)Ox^oCTlz0); z>F*I~fVO$gJnAi$uV;VzCoIrVPks)lU~4Ckxm-jV@#_ls)f-K8t5~&)XwFm}p&03| zi{x$4p{{y6cDH98e-frkniu-yub2+-Jd+)?=l61(-jVw z;Cfa)agu_sjbY*$t9)o9z%Avmn%!d`I>9_+gR3a!P7l||+q*d&Z z;8YF4f}=8>tT*2WZ2IU~@;pU?qx)%dDCyfa1SqtvoT|@tr%XHwwcSEqw3%K%pO=U7 zVt0_?T8y_hIVky?*pOBil?>MB8dnmWL275}R@a6E3m%#3-J8g4h!e?9eB28Ti&(+o z*dI!+M3Mf22QR1#g+3u_l}u|AQ)*vb>wdq+K`YFW9^KY9j0a-d$C{v~)|V!IWJMgB zhI%Wj?|8Usqg+6q^y^|;Jpw( zq+X@f_vvrnO{9YO%E=4v$Ub(BHxw*Jqc^?*3ArcN2h&3TZK#&7{W2X`U+dTheYTr6 zckED+jwmNfRcxYeVvooCp@uIG_19M~@EyBu%)fk;gPwfZzQxp7HFE&^>>`s+^BcZr z`$JjhOB5MPo3tt7=ZJY%cZwd1X-%>k9Nky=s7*82B^E2NVhrKxq)dl}hxoGWfw6srEmMO7k0Eq2sx!^D-YDWLg z={8=g4_$Zd;2bz8EJB{a5xdXw>&C(vBcM(^__9l(#t?q&$aZ2}BwtFt+y5=$5= zB?Qdz)xNcdm9)bvjUIATSB(NW`1(F;M(VEMuJZC!zA|$I{eHj8Y6fayifU^tcwS-k z4F`$@A;Amr3Skzzj7~ms$%a}=NSR;Ene{~?{;XZ&%Q%PJgCkXLvTo)7euv+s3)(0= zvP|!Cl@UU)rJP;Nu1Qj>g)ABgdUcJK!Zv83fJLhsI}KJMTZ&T}KC(d)Q`FutjN7z2 zL>@A&LWNU+p1^bEG`agu-O0-dkP0XQP+w^(WZE%Q(m}Byp_TDZgH?@LDc)AwdLns* z(UvOqVTt7(=i_w0;95$kwCcEm85GSAH5_vGNOPWO8XDyvS`dnPK6n#_y-`T8}B*}1zI#dQR5$OT>auqpkW;{G^sVK

-Q+^xyThKq?_ly!xJJqV*K_QUP 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[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 literal 0 HcmV?d00001 diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/private.h b/minimal-examples/secure-streams/minimal-secure-streams-alexa/private.h new file mode 100644 index 000000000..a4920b198 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-alexa/private.h @@ -0,0 +1,8 @@ +typedef int (*mp3_done_cb)(void *opaque); + +int +play_mp3(mpg123_handle *mh, mp3_done_cb cb, void *opaque); + + +int +spool_capture(uint8_t *buf, size_t len); diff --git a/minimal-examples/secure-streams/minimal-secure-streams-avs/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-avs/CMakeLists.txt new file mode 100644 index 000000000..7e58274aa --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-avs/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams-avs) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) + +if (requirements) + add_executable(${SAMP} main.c avs.c) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets) + endif() + + if (LWS_WITH_SECURE_STREAMS_PROXY_API) + add_compile_options(-DLWS_SS_USE_SSPC) + + add_executable(${SAMP}-client main-client.c avs.c) + if (websockets_shared) + target_link_libraries(${SAMP}-client websockets_shared) + add_dependencies(${SAMP}-client websockets_shared) + else() + target_link_libraries(${SAMP}-client websockets) + endif() + endif() + +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c b/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c new file mode 100644 index 000000000..722b4a01f --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-avs/avs.c @@ -0,0 +1,418 @@ +/* + * lws-minimal-secure-streams-avs + * + * Written in 2019-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * This sends a canned WAV and received (and discards) the mp3 response. + * However it rate-limits the response reception to manage a small ringbuffer + * using ss / h2 flow control apis, reflecting consumption at 64kbps and only + * and 8KB buffer, indtended to model optimizing rx buffering on mp3 playback + * on a constrained device. + */ + +#include +#include +#include +#include +#include +#include +#include + +extern int interrupted, bad; +static struct lws_ss_handle *hss_avs_event, *hss_avs_sync; +static uint8_t *wav; +static size_t wav_len; + +typedef struct ss_avs_event { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + struct lejp_ctx jctx; +} ss_avs_event_t; + +typedef struct ss_avs_metadata { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + struct lejp_ctx jctx; + size_t pos; + + /* + * We simulate a ringbuffer that is used up by a sul at 64Kbit/sec + * rate, and managed at the same rate using tx credit + */ + + lws_sorted_usec_list_t sul; + uint8_t buf[8192]; + int head; + int tail; + + char filled; + +} ss_avs_metadata_t; + +static const char *metadata = "{" + "\"event\": {" + "\"header\": {" + "\"namespace\": \"SpeechRecognizer\"," + "\"name\": \"Recognize\"," + "\"messageId\": \"message-123\"," + "\"dialogRequestId\": \"dialog-request-321\"" + "}," + "\"payload\": {" + "\"profile\":" "\"CLOSE_TALK\"," + "\"format\":" "\"AUDIO_L16_RATE_16000_CHANNELS_1\"" + "}" + "}" +"}"; + +/* + * avs metadata + */ + +static void +use_buffer_50ms(lws_sorted_usec_list_t *sul) +{ + ss_avs_metadata_t *m = lws_container_of(sul, ss_avs_metadata_t, sul); + struct lws_context *context = (struct lws_context *)m->opaque_data; + size_t n; + int e; + + /* + * Use up 50ms-worth (8KB / 20) == 401 bytes of buffered data + */ + + /* remaining data in buffer */ + n = ((m->head - m->tail) % sizeof(m->buf)); + lwsl_info("%s: avail %d\n", __func__, (int)n); + + if (n < 401) + lwsl_err("%s: underrun\n", __func__); + + m->tail = (m->tail + 401) % sizeof(m->buf); + n = ((m->head - m->tail) % sizeof(m->buf)); + + e = lws_ss_get_est_peer_tx_credit(m->ss); + + lwsl_info("%s: avail after: %d, curr est %d\n", __func__, (int)n, e); + + if (n < (sizeof(m->buf) * 2) / 3 && e < (int)(sizeof(m->buf) - 1 - n)) { + lwsl_info("%s: requesting additional %d\n", __func__, + (int)(sizeof(m->buf) - 1 - e - n)); + lws_ss_add_peer_tx_credit(m->ss, (sizeof(m->buf) - 1 - e - n)); + } + + lws_sul_schedule(context, 0, &m->sul, use_buffer_50ms, + 50 * LWS_US_PER_MS); +} + +static int +ss_avs_metadata_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + ss_avs_metadata_t *m = (ss_avs_metadata_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + size_t n, n1; + + lwsl_notice("%s: rideshare %s, len %d, flags 0x%x\n", __func__, + lws_ss_rideshare(m->ss), (int)len, flags); + // lwsl_hexdump_warn(buf, len); + + n = sizeof(m->buf) - ((m->head - m->tail) % sizeof(m->buf)); + lwsl_info("%s: len %d, buf h %d, t %d, space %d\n", __func__, + (int)len, (int)m->head, (int)m->tail, (int)n); + lws_ss_get_est_peer_tx_credit(m->ss); + assert (len <= n); + + if (m->head < m->tail) /* |****h-------t**| */ + memcpy(&m->buf[m->head], buf, len); + else { /* |---t*****h-----| */ + n1 = sizeof(m->buf) - m->head; + if (len < n1) + n1 = len; + memcpy(&m->buf[m->head], buf, n1); + if (n1 != len) + memcpy(m->buf, buf, len - n1); + } + + m->head = (m->head + len) % sizeof(m->buf); + + lws_sul_schedule(context, 0, &m->sul, use_buffer_50ms, + 50 * LWS_US_PER_MS); + + return 0; +} + +static int +ss_avs_metadata_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + ss_avs_metadata_t *m = (ss_avs_metadata_t *)userobj; + //struct lws_context *context = (struct lws_context *)m->opaque_data; + size_t tot; + + if ((long)m->pos < 0) { + *len = 0; + lwsl_notice("%s: skip tx\n", __func__); + return 1; + } + + lwsl_notice("%s: rideshare '%s'\n", __func__, lws_ss_rideshare(m->ss)); + + if (!strcmp(lws_ss_rideshare(m->ss), "avs_audio")) { + /* audio rideshare */ + + if (!m->pos) + *flags |= LWSSS_FLAG_SOM; + + if (*len > wav_len - m->pos) + *len = wav_len - m->pos; + + memcpy(buf, wav + m->pos, *len); + m->pos += *len; + + if (m->pos == wav_len) { + *flags |= LWSSS_FLAG_EOM; + lwsl_info("%s: tx done\n", __func__); + m->pos = (long)-1l; /* ban subsequent until new stream */ + } else + lws_ss_request_tx(m->ss); + + lwsl_hexdump_info(buf, *len); + + return 0; + } + + /* metadata part */ + + tot = strlen(metadata); + + if (!m->pos) + *flags |= LWSSS_FLAG_SOM; + + if (*len > tot - m->pos) + *len = tot - m->pos; + + memcpy(buf, metadata + m->pos, *len); + + m->pos += *len; + + if (m->pos == tot) { + *flags |= LWSSS_FLAG_EOM; + m->pos = 0; /* for next time */ + lws_ss_request_tx(m->ss); + } + + lwsl_hexdump_info(buf, *len); + + return 0; +} + +static int +ss_avs_metadata_state(void *userobj, void *sh, + lws_ss_constate_t state, lws_ss_tx_ordinal_t ack) +{ + + ss_avs_metadata_t *m = (ss_avs_metadata_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + + lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lwsl_user("%s: CREATING\n", __func__); + lws_ss_client_connect(m->ss); + m->pos = 0; + break; + case LWSSSCS_CONNECTING: + break; + case LWSSSCS_CONNECTED: + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* for this demo app, we want to exit on fail to connect */ + case LWSSSCS_DISCONNECTED: + /* for this demo app, we want to exit after complete flow */ + lws_sul_schedule(context, 0, &m->sul, use_buffer_50ms, + LWS_SET_TIMER_USEC_CANCEL); + interrupted = 1; + break; + case LWSSSCS_DESTROYING: + lws_sul_schedule(context, 0, &m->sul, use_buffer_50ms, + LWS_SET_TIMER_USEC_CANCEL); + break; + default: + break; + } + + return 0; +} + +/* + * avs event + */ + +static int +ss_avs_event_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + ss_avs_event_t *m = (ss_avs_event_t *)userobj; + // struct lws_context *context = (struct lws_context *)m->opaque_data; + + lwsl_notice("%s: rideshare %s, len %d, flags 0x%x\n", __func__, + lws_ss_rideshare(m->ss), (int)len, flags); + + //lwsl_hexdump_warn(buf, len); + + bad = 0; /* for this demo, receiving something here == success */ + + return 0; +} + +static int +ss_avs_event_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + ss_avs_event_t *m = (ss_avs_event_t *)userobj; + lwsl_notice("%s: rideshare %s\n", __func__, lws_ss_rideshare(m->ss)); + + return 1; /* don't transmit anything */ +} + +static int +ss_avs_event_state(void *userobj, void *sh, + lws_ss_constate_t state, lws_ss_tx_ordinal_t ack) +{ + ss_avs_event_t *m = (ss_avs_event_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + lws_ss_info_t ssi; + + lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + case LWSSSCS_CONNECTING: + break; + case LWSSSCS_CONNECTED: + if (hss_avs_sync) + break; + + lwsl_notice("%s: starting the second avs stream\n", __func__); + + /* + * When we have established the event stream, we must POST + * on another stream within 10s + */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(ss_avs_metadata_t, ss); + ssi.opaque_user_data_offset = offsetof(ss_avs_metadata_t, + opaque_data); + ssi.rx = ss_avs_metadata_rx; + ssi.tx = ss_avs_metadata_tx; + ssi.state = ss_avs_metadata_state; + ssi.user_alloc = sizeof(ss_avs_metadata_t); + ssi.streamtype = "avs_metadata"; + + /* + * We want to allow the other side to fill our buffer, but no + * more. But it's a bit tricky when the payload is inside + * framing like multipart MIME and contains other parts + */ + + ssi.manual_initial_tx_credit = + sizeof(((ss_avs_metadata_t *)0)->buf) / 2; + + if (lws_ss_create(context, 0, &ssi, context, &hss_avs_sync, + NULL, NULL)) { + lwsl_err("%s: failed to create avs metadata secstream\n", + __func__); + } + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* for this demo app, we want to exit on fail to connect */ + interrupted = 1; + break; + case LWSSSCS_DISCONNECTED: + break; + case LWSSSCS_DESTROYING: + lwsl_notice("%s: DESTROYING\n", __func__); + if (wav) { + free(wav); + wav = NULL; + } + break; + default: + break; + } + + return 0; +} + +int +avs_example_start(struct lws_context *context) +{ + lws_ss_info_t ssi; + struct stat stat; + int fd; + + if (hss_avs_event) + return 0; + + fd = open("./year.wav", O_RDONLY); + if (fd < 0) { + lwsl_err("%s: failed to open wav file\n", __func__); + + return 1; + } + if (fstat(fd, &stat) < 0) { + lwsl_err("%s: failed to stat wav file\n", __func__); + + goto bail; + } + + wav_len = stat.st_size; + wav = malloc(wav_len); + if (!wav) { + lwsl_err("%s: failed to alloc wav buffer", __func__); + + goto bail; + } + if (read(fd, wav, wav_len) != (int)wav_len) { + lwsl_err("%s: failed to read wav\n", __func__); + + goto bail; + } + close(fd); + + lwsl_user("%s: Starting AVS stream\n", __func__); + + /* AVS wants us to establish the long poll event stream first */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(ss_avs_event_t, ss); + ssi.opaque_user_data_offset = offsetof(ss_avs_event_t, opaque_data); + ssi.rx = ss_avs_event_rx; + ssi.tx = ss_avs_event_tx; + ssi.state = ss_avs_event_state; + ssi.user_alloc = sizeof(ss_avs_event_t); + ssi.streamtype = "avs_event"; + + if (lws_ss_create(context, 0, &ssi, context, &hss_avs_event, NULL, NULL)) { + lwsl_err("%s: failed to create avs event secure stream\n", + __func__); + free(wav); + wav = NULL; + return 1; + } + + return 0; + +bail: + close(fd); + + return 1; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-avs/main-client.c b/minimal-examples/secure-streams/minimal-secure-streams-avs/main-client.c new file mode 100644 index 000000000..bb9b8947b --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-avs/main-client.c @@ -0,0 +1,128 @@ +/* + * lws-minimal-secure-streams-avs + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include + +extern int +avs_example_start(struct lws_context *context); + +int interrupted, bad = 1; +static lws_state_notify_link_t nl; + +static const char *canned_root_token_payload = + "grant_type=refresh_token" + "&refresh_token=Atzr|IwEBIJedGXjDqsU_vMxykqOMg" + "SHfYe3CPcedueWEMWSDMaDnEmiW8RlR1Kns7Cb4B-TOSnqp7ifVsY4BMY2B8tpHfO39XP" + "zfu9HapGjTR458IyHX44FE71pWJkGZ79uVBpljP4sazJuk8XS3Oe_yLnm_DIO6fU1nU3Y" + "0flYmsOiOAQE_gRk_pdlmEtHnpMA-9rLw3mkY5L89Ty9kUygBsiFaYatouROhbsTn8-jW" + "k1zZLUDpT6ICtBXSnrCIg0pUbZevPFhTwdXd6eX-u4rq0W-XaDvPWFO7au-iPb4Zk5eZE" + "iX6sissYrtNmuEXc2uHu7MnQO1hHCaTdIO2CANVumf-PHSD8xseamyh04sLV5JgFzY45S" + "KvKMajiUZuLkMokOx86rjC2Hdkx5DO7G-dbG1ufBDG-N79pFMSs7Ck5pc283IdLoJkCQc" + "AGvTX8o8I29QqkcGou-9TKhOJmpX8As94T61ok0UqqEKPJ7RhfQHHYdCtsdwxgvfVr9qI" + "xL_hDCcTho8opCVX-6QhJHl6SQFlTw13" + "&client_id=" + "amzn1.application-oa2-client.4823334c434b4190a2b5a42c07938a2d"; + +static int +app_system_state_nf(lws_state_manager_t *mgr, lws_state_notify_link_t *link, + int current, int target) +{ + struct lws_context *context = lws_system_context_from_system_mgr(mgr); + lws_system_blob_t *ab = lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, 1 /* AUTH_IDX_ROOT */); + size_t size; + + /* + * For the things we care about, let's notice if we are trying to get + * past them when we haven't solved them yet, and make the system + * state wait while we trigger the dependent action. + */ + switch (target) { + case LWS_SYSTATE_REGISTERED: + size = lws_system_blob_get_size(ab); + if (size) + break; + + /* let's register our canned root token so auth can use it */ + lws_system_blob_direct_set(ab, + (const uint8_t *)canned_root_token_payload, + strlen(canned_root_token_payload)); + break; + case LWS_SYSTATE_OPERATIONAL: + if (current == LWS_SYSTATE_OPERATIONAL) + avs_example_start(context); + break; + case LWS_SYSTATE_POLICY_INVALID: + /* + * This is a NOP since we used direct set... but in a real + * system this could easily change to be done on the heap, then + * this would be important + */ + lws_system_blob_destroy(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + 1 /* AUTH_IDX_ROOT */)); + break; + } + + return 0; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +static lws_state_notify_link_t * const app_notifier_list[] = { + &nl, NULL +}; + +int main(int argc, const char **argv) +{ + struct lws_context_creation_info info; + struct lws_context *context; + int n = 0; + + signal(SIGINT, sigint_handler); + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + lws_cmdline_option_handle_builtin(argc, argv, &info); + + lwsl_user("LWS secure streams - AVS test client [-d]\n"); + + info.options = LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 6 + 1; + info.protocols = lws_sspc_protocols; + info.port = CONTEXT_PORT_NO_LISTEN; + +#if defined(LWS_WITH_DETAILED_LATENCY) + info.detailed_latency_cb = lws_det_lat_plot_cb; + info.detailed_latency_filepath = "/tmp/lws-latency-ssproxy"; +#endif + + /* integrate us with lws system state management when context created */ + nl.name = "app"; + nl.notify_cb = app_system_state_nf; + info.register_notifier_list = app_notifier_list; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-avs/main.c b/minimal-examples/secure-streams/minimal-secure-streams-avs/main.c new file mode 100644 index 000000000..fc154329d --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-avs/main.c @@ -0,0 +1,357 @@ +/* + * lws-minimal-secure-streams-avs + * + * Written in 2019-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include + +extern int +avs_example_start(struct lws_context *context); + +int interrupted, bad = 1; +static lws_state_notify_link_t nl; +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," +// "\"via-socks5\":" "\"127.0.0.1:1080\"," + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "60," + "\"svalidhup\":" "64" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + "{\"digicert_global_root_g2\": \"" /* api.amazon.com 2038-01 */ + "MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3" + "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH" + "MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT" + "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j" + "b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG" + "9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI" + "2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx" + "1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ" + "q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz" + "tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ" + "vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP" + "BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV" + "5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY" + "1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4" + "NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG" + "Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91" + "8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe" + "pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl" + "MrY=" + "\"}," + "{\"digicert_global_ca_g2\": \"" /* api.amazon.com 2028-08 */ + "MIIEizCCA3OgAwIBAgIQDI7gyQ1qiRWIBAYe4kH5rzANBgkqhkiG9w0BAQsFADBh" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3" + "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH" + "MjAeFw0xMzA4MDExMjAwMDBaFw0yODA4MDExMjAwMDBaMEQxCzAJBgNVBAYTAlVT" + "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxHjAcBgNVBAMTFURpZ2lDZXJ0IEdsb2Jh" + "bCBDQSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNIfL7zBYZd" + "W9UvhU5L4IatFaxhz1uvPmoKR/uadpFgC4przc/cV35gmAvkVNlW7SHMArZagV+X" + "au4CLyMnuG3UsOcGAngLH1ypmTb+u6wbBfpXzYEQQGfWMItYNdSWYb7QjHqXnxr5" + "IuYUL6nG6AEfq/gmD6yOTSwyOR2Bm40cZbIc22GoiS9g5+vCShjEbyrpEJIJ7RfR" + "ACvmfe8EiRROM6GyD5eHn7OgzS+8LOy4g2gxPR/VSpAQGQuBldYpdlH5NnbQtwl6" + "OErXb4y/E3w57bqukPyV93t4CTZedJMeJfD/1K2uaGvG/w/VNfFVbkhJ+Pi474j4" + "8V4Rd6rfArMCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0P" + "AQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29j" + "c3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9jcmw0LmRp" + "Z2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOGMWh0dHA6" + "Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwPQYD" + "VR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2lj" + "ZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFCRuKy3QapJRUSVpAaqaR6aJ50AgMB8GA1Ud" + "IwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA0GCSqGSIb3DQEBCwUAA4IBAQAL" + "OYSR+ZfrqoGvhOlaOJL84mxZvzbIRacxAxHhBsCsMsdaVSnaT0AC9aHesO3ewPj2" + "dZ12uYf+QYB6z13jAMZbAuabeGLJ3LhimnftiQjXS8X9Q9ViIyfEBFltcT8jW+rZ" + "8uckJ2/0lYDblizkVIvP6hnZf1WZUXoOLRg9eFhSvGNoVwvdRLNXSmDmyHBwW4co" + "atc7TlJFGa8kBpJIERqLrqwYElesA8u49L3KJg6nwd3jM+/AVTANlVlOnAM2BvjA" + "jxSZnE0qnsHhfTuvcqdFuhOWKU4Z0BqYBvQ3lBetoxi6PrABDJXWKTUgNX31EGDk" + "92hiHuwZ4STyhxGs6QiA" + "\"}," + "{\"starfield_services_root_ca\": \"" + "MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx" + "EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT" + "HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs" + "ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5" + "MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD" + "VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy" + "ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy" + "dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI" + "hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p" + "OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2" + "8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K" + "Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe" + "hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk" + "6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw" + "DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q" + "AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI" + "bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB" + "ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z" + "qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd" + "iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn" + "0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN" + "sSi6" + "\"}," + "{\"starfield_class_2_ca\": \"" + "MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl" + "MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp" + "U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw" + "NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE" + "ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp" + "ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3" + "DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf" + "8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN" + "+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0" + "X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa" + "K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA" + "1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G" + "A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR" + "zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0" + "YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD" + "bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w" + "DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3" + "L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D" + "eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl" + "xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp" + "VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY" + "WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" /* chain for alexa.na.gateway.devices.a2z.com */ + "\"name\": \"avs_via_starfield\"," + "\"stack\": [" + "\"starfield_class_2_ca\"," + "\"starfield_services_root_ca\"" + "]" + "}," + "{" /* chain for api.amazon.com */ + "\"name\": \"api_amazon_com\"," + "\"stack\": [" + "\"digicert_global_ca_g2\"," + "\"digicert_global_root_g2\"" + "]" + "}" + "]," + "\"s\": [" /* the supported stream types */ + "{\"api_amazon_com_auth\": {" + "\"endpoint\":" "\"api.amazon.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"auth/o2/token\"," + "\"plugins\":" "[]," + "\"opportunistic\":" "true," + "\"tls\":" "true," + "\"h2q_oflow_txcr\":" "true," + "\"http_www_form_urlencoded\":" "true," + "\"http_no_content_length\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"api_amazon_com\"" + "}}," + "{\"avs_event\": {" + "\"endpoint\":" "\"alexa.na.gateway.devices.a2z.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"v20160207/directives\"," + "\"h2q_oflow_txcr\":" "true," + "\"http_auth_header\":" "\"authorization:\"," + "\"http_auth_preamble\":" "\"Bearer \"," + "\"nailed_up\":" "true," + "\"long_poll\":" "true," + "\"retry\":" "\"default\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"tls_trust_store\":" "\"avs_via_starfield\"" + "}}," + "{\"avs_metadata\": {" + "\"endpoint\":" "\"alexa.na.gateway.devices.a2z.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"v20160207/events\"," + "\"http_no_content_length\":" "true," + "\"h2q_oflow_txcr\":" "true," + "\"http_auth_header\":" "\"authorization:\"," + "\"http_auth_preamble\":" "\"Bearer \"," + "\"http_multipart_name\":" "\"metadata\"," + "\"http_mime_content_type\":" "\"application/json; charset=UTF-8\"," + "\"rideshare\":" "\"avs_audio\"," + "\"retry\":" "\"default\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"tls_trust_store\":" "\"avs_via_starfield\"" + "}}," + "{\"avs_audio\": {" + "\"endpoint\":" "\"alexa.na.gateway.devices.a2z.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"v20160207/events\"," + "\"http_no_content_length\":" "true," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"h2q_oflow_txcr\":" "true," + "\"http_auth_header\":" "\"authorization:\"," + "\"http_auth_preamble\":" "\"Bearer \"," + "\"http_multipart_name\":" "\"audio\"," + "\"http_mime_content_type\":" "\"application/octet-stream\"," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"avs_via_starfield\"" + "}}" + "]" + "}" +; + +static const char *canned_root_token_payload = + "grant_type=refresh_token" + "&refresh_token=Atzr|IwEBIJedGXjDqsU_vMxykqOMg" + "SHfYe3CPcedueWEMWSDMaDnEmiW8RlR1Kns7Cb4B-TOSnqp7ifVsY4BMY2B8tpHfO39XP" + "zfu9HapGjTR458IyHX44FE71pWJkGZ79uVBpljP4sazJuk8XS3Oe_yLnm_DIO6fU1nU3Y" + "0flYmsOiOAQE_gRk_pdlmEtHnpMA-9rLw3mkY5L89Ty9kUygBsiFaYatouROhbsTn8-jW" + "k1zZLUDpT6ICtBXSnrCIg0pUbZevPFhTwdXd6eX-u4rq0W-XaDvPWFO7au-iPb4Zk5eZE" + "iX6sissYrtNmuEXc2uHu7MnQO1hHCaTdIO2CANVumf-PHSD8xseamyh04sLV5JgFzY45S" + "KvKMajiUZuLkMokOx86rjC2Hdkx5DO7G-dbG1ufBDG-N79pFMSs7Ck5pc283IdLoJkCQc" + "AGvTX8o8I29QqkcGou-9TKhOJmpX8As94T61ok0UqqEKPJ7RhfQHHYdCtsdwxgvfVr9qI" + "xL_hDCcTho8opCVX-6QhJHl6SQFlTw13" + "&client_id=" + "amzn1.application-oa2-client.4823334c434b4190a2b5a42c07938a2d"; + +static int +app_system_state_nf(lws_state_manager_t *mgr, lws_state_notify_link_t *link, + int current, int target) +{ + struct lws_context *context = lws_system_context_from_system_mgr(mgr); + lws_system_blob_t *ab = lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, 1 /* AUTH_IDX_ROOT */); + size_t size; + + /* + * For the things we care about, let's notice if we are trying to get + * past them when we haven't solved them yet, and make the system + * state wait while we trigger the dependent action. + */ + switch (target) { + case LWS_SYSTATE_REGISTERED: + size = lws_system_blob_get_size(ab); + if (size) + break; + + /* let's register our canned root token so auth can use it */ + lws_system_blob_direct_set(ab, + (const uint8_t *)canned_root_token_payload, + strlen(canned_root_token_payload)); + break; + case LWS_SYSTATE_OPERATIONAL: + if (current == LWS_SYSTATE_OPERATIONAL) + avs_example_start(context); + break; + case LWS_SYSTATE_POLICY_INVALID: + /* + * This is a NOP since we used direct set... but in a real + * system this could easily change to be done on the heap, then + * this would be important + */ + lws_system_blob_destroy(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + 1 /* AUTH_IDX_ROOT */)); + break; + } + + return 0; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +static lws_state_notify_link_t * const app_notifier_list[] = { + &nl, NULL +}; + +int main(int argc, const char **argv) +{ + struct lws_context_creation_info info; + struct lws_context *context; + int n = 0; + + signal(SIGINT, sigint_handler); + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + lws_cmdline_option_handle_builtin(argc, argv, &info); + + lwsl_user("LWS secure streams - AVS test [-d]\n"); + + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 6 + 1; + info.pss_policies_json = default_ss_policy; + info.port = CONTEXT_PORT_NO_LISTEN; + +#if defined(LWS_SS_USE_SSPC) + { + const char *p; + + /* connect to ssproxy via UDS by default, else via + * tcp connection to this port */ + if ((p = lws_cmdline_option(argc, argv, "-p"))) + info.ss_proxy_port = atoi(p); + + /* UDS "proxy.ss.lws" in abstract namespace, else this socket + * path; when -p given this can specify the network interface + * to bind to */ + if ((p = lws_cmdline_option(argc, argv, "-i"))) + info.ss_proxy_bind = p; + + /* if -p given, -a specifies the proxy address to connect to */ + if ((p = lws_cmdline_option(argc, argv, "-a"))) + info.ss_proxy_address = p; + } +#endif + +#if defined(LWS_WITH_DETAILED_LATENCY) + info.detailed_latency_cb = lws_det_lat_plot_cb; + info.detailed_latency_filepath = "/tmp/lws-latency-ssproxy"; +#endif + + /* integrate us with lws system state management when context created */ + nl.name = "app"; + nl.notify_cb = app_system_state_nf; + info.register_notifier_list = app_notifier_list; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-avs/year.wav b/minimal-examples/secure-streams/minimal-secure-streams-avs/year.wav new file mode 100644 index 0000000000000000000000000000000000000000..333b05742f39d3efc453152b612e9f78cd12ffe1 GIT binary patch literal 75090 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 literal 0 HcmV?d00001 diff --git a/minimal-examples/secure-streams/minimal-secure-streams-client-tx/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-client-tx/CMakeLists.txt new file mode 100644 index 000000000..38dd30066 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-client-tx/CMakeLists.txt @@ -0,0 +1,81 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams-client-tx) +set(SRCS minimal-secure-streams-client-tx.c) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS_PROXY_API 1 requirements) + + +if (requirements) + add_executable(${SAMP} ${SRCS}) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets) + endif() +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams-client-tx/README.md b/minimal-examples/secure-streams/minimal-secure-streams-client-tx/README.md new file mode 100644 index 000000000..80a1c6928 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-client-tx/README.md @@ -0,0 +1,64 @@ +# lws minimal secure streams + +The application goes to https://warmcat.com and reads index.html there. + +It does it using Secure Streams... the main code in minimal-secure-streams.c +just sets up the context and opens a secure stream of type "mintest". + +The handler for state changes and payloads for "mintest" is in ss-myss.c + +The information about how a "mintest" stream should connect and the +protocol it uses is kept separated in policy-database.c + +## build + +``` + $ cmake . && make +``` + +## usage + +Commandline option|Meaning +---|--- +-d |Debug verbosity in decimal, eg, -d15 +-f| Force connecting to the wrong endpoint to check backoff retry flow +-p| Run as proxy server for clients to connect to over unix domain socket + +``` +[2019/08/12 07:16:11:0045] USR: LWS minimal secure streams [-d] [-f] +[2019/08/12 07:16:12:6102] USR: myss_state: LWSSSCS_CREATING, ord 0x0 +[2019/08/12 07:16:12:6107] USR: myss_state: LWSSSCS_POLL, ord 0x0 +[2019/08/12 07:16:12:6117] N: lws_ss_client_connect: connecting h1get warmcat.com / +[2019/08/12 07:16:12:6118] USR: myss_state: LWSSSCS_CONNECTING, ord 0x0 +[2019/08/12 07:16:13:4171] USR: myss_state: LWSSSCS_CONNECTED, ord 0x0 +[2019/08/12 07:16:13:4222] USR: myss_rx: len 1024, flags: 1 +[2019/08/12 07:16:13:4243] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4245] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4246] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4247] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4252] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4264] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4265] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4266] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4267] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4269] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4270] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4278] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4279] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4280] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4281] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4282] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4284] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4287] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4288] USR: myss_rx: len 947, flags: 0 +[2019/08/12 07:16:13:4293] USR: myss_rx: len 0, flags: 2 +[2019/08/12 07:16:13:4399] USR: myss_state: LWSSSCS_DISCONNECTED, ord 0x0 +[2019/08/12 07:16:13:4761] USR: myss_state: LWSSSCS_DESTROYING, ord 0x0 +[2019/08/12 07:16:13:4781] USR: Completed: OK +``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams-client-tx/minimal-secure-streams-client-tx.c b/minimal-examples/secure-streams/minimal-secure-streams-client-tx/minimal-secure-streams-client-tx.c new file mode 100644 index 000000000..0eee1e917 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-client-tx/minimal-secure-streams-client-tx.c @@ -0,0 +1,198 @@ +/* + * lws-minimal-secure-streams-tx + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * + * This demonstrates tx from secure streams. + * + * It opens a stream and fires small 80-byte payloads on it at 50Hz (20ms) + */ + +#include +#include +#include + +#define PKT_SIZE 80 +#define RATE_US 50000 + +static int interrupted, bad = 1; + +typedef struct myss { + struct lws_sspc_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + lws_sorted_usec_list_t sul; + + int count; + char due; +} myss_t; + +/* secure streams payload interface */ + +static int +myss_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_t *m = (myss_t *)userobj; + + //lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + //lwsl_hexdump_info(buf, len); + + return 0; +} + +static void +txcb(struct lws_sorted_usec_list *sul) +{ + myss_t *m = lws_container_of(sul, myss_t, sul); + + if (m->count == 1000) { + interrupted = 1; + return; + } + + m->due = 1; + lws_sspc_request_tx(m->ss); + + lws_sul_schedule(lws_sspc_get_context(m->ss), 0, &m->sul, txcb, RATE_US); + + +} + +static int +myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + myss_t *m = (myss_t *)userobj; + + if (!m->due) + return 0; + + m->due = 0; + + if (lws_get_random(lws_sspc_get_context(m->ss), buf, PKT_SIZE) != PKT_SIZE) + return 1; + + *len = PKT_SIZE; + *flags = 0; + if (!m->count) + *flags |= LWSSS_FLAG_SOM; + if (m->count == 999) { + *flags |= LWSSS_FLAG_EOM; + lwsl_user("%s: sent final packet\n", __func__); + bad = 0; + } + + m->count++; + + lws_sul_schedule(lws_sspc_get_context(m->ss), 0, &m->sul, txcb, RATE_US); + + // lwsl_user("%s: sending pkt %d\n", __func__, m->count); + + return 0; +} + +static int +myss_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + myss_t *m = (myss_t *)userobj; + struct lws_context *context = lws_sspc_get_context(m->ss); + + lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + break; + case LWSSSCS_CONNECTED: + lws_sul_schedule(context, 0, &m->sul, txcb, RATE_US); + break; + case LWSSSCS_DISCONNECTED: + lws_sul_schedule(context, 0, &m->sul, txcb, + LWS_SET_TIMER_USEC_CANCEL); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* if we're out of retries, we want to close the app and FAIL */ + interrupted = 1; + break; + default: + break; + } + + return 0; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +int main(int argc, const char **argv) +{ + int n = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE; + struct lws_context_creation_info info; + struct lws_context *context; + lws_ss_info_t ssi; + const char *p; + + signal(SIGINT, sigint_handler); + + if ((p = lws_cmdline_option(argc, argv, "-d"))) + logs = atoi(p); + + lws_set_log_level(logs, NULL); + lwsl_user("LWS secure streams client TX [-d]\n"); + + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + + info.options = //LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 6 + 1; + info.port = CONTEXT_PORT_NO_LISTEN; + info.protocols = lws_sspc_protocols; +#if defined(LWS_WITH_DETAILED_LATENCY) + info.detailed_latency_cb = lws_det_lat_plot_cb; + info.detailed_latency_filepath = "/tmp/lws-latency-ssclient"; +#endif + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* + * We're requesting a secure stream via proxy... where and how this + * connects are details managed by the proxy policy + */ + + memset(&ssi, 0, sizeof ssi); + ssi.handle_offset = offsetof(myss_t, ss); + ssi.opaque_user_data_offset = offsetof(myss_t, opaque_data); + ssi.rx = myss_rx; + ssi.tx = myss_tx; + ssi.state = myss_state; + ssi.user_alloc = sizeof(myss_t); + ssi.streamtype = "spam"; + + if (lws_sspc_create(context, 0, &ssi, NULL, NULL, NULL, NULL)) { + lwsl_err("%s: create secure stream failed\n", __func__); + goto bail; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + +bail: + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-proxy/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-proxy/CMakeLists.txt new file mode 100644 index 000000000..00c0c3d60 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-proxy/CMakeLists.txt @@ -0,0 +1,80 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams-proxy) +set(SRCS main.c) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS_PROXY_API 1 requirements) + +if (requirements) + add_executable(${SAMP} ${SRCS}) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets) + endif() +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams-proxy/README.md b/minimal-examples/secure-streams/minimal-secure-streams-proxy/README.md new file mode 100644 index 000000000..ab5cbcb8a --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-proxy/README.md @@ -0,0 +1,33 @@ +# lws minimal secure streams proxy + +Operates as a secure streams proxy, by default on a listening unix domain socket +"proxy.ss.lws" in the Linux abstract namespace. + +Give -p to have it listen on a specific tcp port instead. + +## build + +``` + $ cmake . && make +``` + +## usage + +Commandline option|Meaning +---|--- +-d |Debug verbosity in decimal, eg, -d15 +-f| Force connecting to the wrong endpoint to check backoff retry flow +-p |If not given, proxy listens on a Unix Domain Socket, if given listen on specified tcp port +-i |Optionally specify the UDS path (no -p) or network interface to bind to (if -p also given) + +``` +[2020/02/26 15:41:27:5768] U: LWS secure streams Proxy [-d] +[2020/02/26 15:41:27:5770] N: lws_ss_policy_set: 2.064KiB, pad 70%: hardcoded +[2020/02/26 15:41:27:5771] N: lws_tls_client_create_vhost_context: using mem client CA cert 1391 +[2020/02/26 15:41:27:8681] N: lws_ss_policy_set: 4.512KiB, pad 15%: updated +[2020/02/26 15:41:27:8682] N: lws_tls_client_create_vhost_context: using mem client CA cert 837 +[2020/02/26 15:41:27:8683] N: lws_tls_client_create_vhost_context: using mem client CA cert 1043 +[2020/02/26 15:41:27:8684] N: lws_tls_client_create_vhost_context: using mem client CA cert 1167 +[2020/02/26 15:41:27:8684] N: lws_tls_client_create_vhost_context: using mem client CA cert 1391 +[2020/02/26 15:41:28:4226] N: ss_api_amazon_auth_rx: acquired 567-byte api.amazon.com auth token, exp 3600s +``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams-proxy/main.c b/minimal-examples/secure-streams/minimal-secure-streams-proxy/main.c new file mode 100644 index 000000000..33e0d461a --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-proxy/main.c @@ -0,0 +1,285 @@ +/* + * lws-minimal-secure-streams-proxy + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * + * This is the proxy part for examples built to use it to connect to... it has + * the policy and the core SS function, but it doesn't contain any of the user + * code "business logic"... that's in the clients. + * + * The proxy side has the policy and performs the onward connection proxying + * fulfilment. The clients state the streamtype name they want and ask for the + * client to do the connection part. + * + * Rideshare information is being parsed out at the proxy side; the SSS RX part + * also brings with it rideshare names. + * + * Metadata is passed back over SSS from the client in the TX messages for the + * proxy to use per the policy. + */ + +#include +#include +#include + +static int interrupted, bad = 1, port = 0 /* unix domain socket */; +static const char *ibind = NULL; /* default to unix domain skt "proxy.ss.lws" */ +static lws_state_notify_link_t nl; + +/* + * We just define enough policy so it can fetch the latest one securely + */ + +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "30," + "\"svalidhup\":" "35" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + /* + * Let's Encrypt certs for warmcat.com / libwebsockets.org + * + * We fetch the real policy from there using SS and switch to + * using that. + */ + "{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */ + "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4" + "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu" + "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY" + "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc" + "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+" + "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U" + "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW" + "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH" + "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC" + "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv" + "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn" + "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn" + "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw" + "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI" + "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV" + "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq" + "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL" + "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ" + "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK" + "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5" + "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur" + "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC" + "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc" + "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq" + "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA" + "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d" + "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=" + "\"}," + "{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */ + "MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1" + "WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg" + "RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi" + "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX" + "NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf" + "89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl" + "Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc" + "Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz" + "uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB" + "AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU" + "BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB" + "FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo" + "SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js" + "LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF" + "BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG" + "AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD" + "VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB" + "ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx" + "A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM" + "UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2" + "DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1" + "eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu" + "OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw" + "p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY" + "2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0" + "ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR" + "PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b" + "rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" + "\"name\": \"le_via_isrg\"," + "\"stack\": [" + "\"isrg_root_x1\"," + "\"LEX3_isrg_root_x1\"" + "]" + "}" + "]," + "\"s\": [" + "{\"fetch_policy\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"policy/minimal-proxy.json\"," + "\"tls\":" "true," + "\"opportunistic\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}" + "}" +; + +static const char *canned_root_token_payload = + "grant_type=refresh_token" + "&refresh_token=Atzr|IwEBIJedGXjDqsU_vMxykqOMg" + "SHfYe3CPcedueWEMWSDMaDnEmiW8RlR1Kns7Cb4B-TOSnqp7ifVsY4BMY2B8tpHfO39XP" + "zfu9HapGjTR458IyHX44FE71pWJkGZ79uVBpljP4sazJuk8XS3Oe_yLnm_DIO6fU1nU3Y" + "0flYmsOiOAQE_gRk_pdlmEtHnpMA-9rLw3mkY5L89Ty9kUygBsiFaYatouROhbsTn8-jW" + "k1zZLUDpT6ICtBXSnrCIg0pUbZevPFhTwdXd6eX-u4rq0W-XaDvPWFO7au-iPb4Zk5eZE" + "iX6sissYrtNmuEXc2uHu7MnQO1hHCaTdIO2CANVumf-PHSD8xseamyh04sLV5JgFzY45S" + "KvKMajiUZuLkMokOx86rjC2Hdkx5DO7G-dbG1ufBDG-N79pFMSs7Ck5pc283IdLoJkCQc" + "AGvTX8o8I29QqkcGou-9TKhOJmpX8As94T61ok0UqqEKPJ7RhfQHHYdCtsdwxgvfVr9qI" + "xL_hDCcTho8opCVX-6QhJHl6SQFlTw13" + "&client_id=" + "amzn1.application-oa2-client.4823334c434b4190a2b5a42c07938a2d"; + +static int +app_system_state_nf(lws_state_manager_t *mgr, lws_state_notify_link_t *link, + int current, int target) +{ + struct lws_context *context = lws_system_context_from_system_mgr(mgr); + lws_system_blob_t *ab = lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, 1 /* AUTH_IDX_ROOT */); + size_t size; + + /* + * For the things we care about, let's notice if we are trying to get + * past them when we haven't solved them yet, and make the system + * state wait while we trigger the dependent action. + */ + switch (target) { + case LWS_SYSTATE_REGISTERED: + size = lws_system_blob_get_size(ab); + if (size) + break; + + /* let's register our canned root token so auth can use it */ + lws_system_blob_direct_set(ab, + (const uint8_t *)canned_root_token_payload, + strlen(canned_root_token_payload)); + break; + case LWS_SYSTATE_OPERATIONAL: + if (current == LWS_SYSTATE_OPERATIONAL) + /* + * At this point we have DHCP, ntp, system auth token + * and we can reasonably create the proxy + */ + if (lws_ss_proxy_create(context, ibind, port)) { + lwsl_err("%s: failed to create ss proxy\n", + __func__); + return -1; + } + break; + case LWS_SYSTATE_POLICY_INVALID: + /* + * This is a NOP since we used direct set... but in a real + * system this could easily change to be done on the heap, then + * this would be important + */ + lws_system_blob_destroy(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + 1 /* AUTH_IDX_ROOT */)); + break; + } + + return 0; +} + +static lws_state_notify_link_t * const app_notifier_list[] = { + &nl, NULL +}; + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +int main(int argc, const char **argv) +{ + int n = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE; + struct lws_context_creation_info info; + struct lws_context *context; + const char *p; + + signal(SIGINT, sigint_handler); + + if ((p = lws_cmdline_option(argc, argv, "-d"))) + logs = atoi(p); + + /* connect to ssproxy via UDS by default, else via tcp with this port */ + if ((p = lws_cmdline_option(argc, argv, "-p"))) + port = atoi(p); + + /* UDS "proxy.ss.lws" in abstract namespace, else this socket path; + * when -p given this can specify the network interface to bind to */ + if ((p = lws_cmdline_option(argc, argv, "-i"))) + ibind = p; + + lws_set_log_level(logs, NULL); + lwsl_user("LWS secure streams Proxy [-d]\n"); + + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 6 + 1; + info.pss_policies_json = default_ss_policy; + info.port = CONTEXT_PORT_NO_LISTEN; +#if defined(LWS_WITH_DETAILED_LATENCY) + info.detailed_latency_cb = lws_det_lat_plot_cb; + info.detailed_latency_filepath = "/tmp/lws-latency-ssproxy"; +#endif + + /* integrate us with lws system state management when context created */ + nl.name = "app"; + nl.notify_cb = app_system_state_nf; + info.register_notifier_list = app_notifier_list; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + + bad = 0; + + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-seq/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-seq/CMakeLists.txt new file mode 100644 index 000000000..b55a3a00e --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-seq/CMakeLists.txt @@ -0,0 +1,79 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams-seq) +set(SRCS minimal-secure-streams.c) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) + +if (requirements) + add_executable(${SAMP} ${SRCS}) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets) + endif() +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams-seq/README.md b/minimal-examples/secure-streams/minimal-secure-streams-seq/README.md new file mode 100644 index 000000000..6af2e25d6 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-seq/README.md @@ -0,0 +1,65 @@ +# lws minimal sequre streams seq + +The application goes to https://warmcat.com and reads index.html there. + +It does it using Secure Streams... the main code in minimal-secure-streams.c +just sets up the context and opens a secure stream of type "mintest". + +The handler for state changes and payloads for "mintest" is in ss-myss.c + +The information about how a "mintest" stream should connect and the +protocol it uses is kept separated in policy-database.c + +## build + +``` + $ cmake . && make +``` + +## usage + +Commandline option|Meaning +---|--- +-d |Debug verbosity in decimal, eg, -d15 +-f| Force connecting to the wrong endpoint to check backoff retry flow + +``` + $ ./lws-minimal-secure-streams-seq +[2018/03/04 14:43:20:8562] USER: LWS minimal http client +[2018/03/04 14:43:20:8571] NOTICE: Creating Vhost 'default' port -1, 1 protocols, IPv6 on +[2018/03/04 14:43:20:8616] NOTICE: created client ssl context for default +[2018/03/04 14:43:20:8617] NOTICE: lws_client_connect_2: 0x1814dc0: address warmcat.com +[2018/03/04 14:43:21:1496] NOTICE: lws_client_connect_2: 0x1814dc0: address warmcat.com +[2018/03/04 14:43:22:0154] NOTICE: lws_client_interpret_server_handshake: incoming content length 26520 +[2018/03/04 14:43:22:0154] NOTICE: lws_client_interpret_server_handshake: client connection up +[2018/03/04 14:43:22:0169] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0169] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0169] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0169] USER: RECEIVE_CLIENT_HTTP_READ: read 1015 +[2018/03/04 14:43:22:0174] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0174] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0174] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0174] USER: RECEIVE_CLIENT_HTTP_READ: read 1015 +[2018/03/04 14:43:22:0179] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0179] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0179] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:0179] USER: RECEIVE_CLIENT_HTTP_READ: read 1015 +[2018/03/04 14:43:22:3010] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3010] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3010] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3010] USER: RECEIVE_CLIENT_HTTP_READ: read 1015 +[2018/03/04 14:43:22:3015] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3015] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3015] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3015] USER: RECEIVE_CLIENT_HTTP_READ: read 1015 +[2018/03/04 14:43:22:3020] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3020] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3020] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3020] USER: RECEIVE_CLIENT_HTTP_READ: read 1015 +[2018/03/04 14:43:22:3022] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 +[2018/03/04 14:43:22:3022] USER: RECEIVE_CLIENT_HTTP_READ: read 974 +[2018/03/04 14:43:22:3022] NOTICE: lws_http_client_read: transaction completed says -1 +[2018/03/04 14:43:23:3042] USER: Completed +``` + + diff --git a/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c b/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c new file mode 100644 index 000000000..f648f0228 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-seq/minimal-secure-streams.c @@ -0,0 +1,443 @@ +/* + * lws-minimal-secure-streams-seq + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * + * This demonstrates the a minimal http client using secure streams api. + * + * It visits https://warmcat.com/ and receives the html page there. + * + * This is the "secure streams" api equivalent of minimal-http-client... + * it shows how to use a sequencer to make it easy to build more complex + * schemes on top of this example. + * + * The layering looks like this + * + * lifetime + * + * ------ app ------ process + * ---- sequencer ---- process + * --- secure stream --- process + * ------- wsi ------- connection + * + * see minimal-secure-streams for a similar example without the sequencer. + */ + +#include +#include +#include + +static int interrupted, bad = 1, flag_conn_fail, flag_h1post; +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "300," + "\"svalidhup\":" "310" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + /* + * Need to be in order from root cert... notice sometimes as + * with Let's Encrypt there are multiple possible validation + * paths, all the pieces for one validation path must be + * given, excluding the server cert itself. Let's Encrypt + * intermediate is signed by their ISRG Root CA but also is + * cross-signed by an IdenTrust intermediate that's widely + * deployed in browsers. We use the ISRG path because that + * way we can skip the extra IdenTrust root cert. + */ + "{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */ + "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4" + "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu" + "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY" + "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc" + "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+" + "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U" + "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW" + "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH" + "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC" + "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv" + "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn" + "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn" + "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw" + "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI" + "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV" + "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq" + "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL" + "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ" + "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK" + "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5" + "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur" + "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC" + "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc" + "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq" + "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA" + "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d" + "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=" + "\"}," + "{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */ + "MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1" + "WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg" + "RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi" + "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX" + "NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf" + "89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl" + "Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc" + "Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz" + "uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB" + "AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU" + "BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB" + "FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo" + "SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js" + "LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF" + "BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG" + "AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD" + "VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB" + "ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx" + "A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM" + "UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2" + "DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1" + "eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu" + "OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw" + "p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY" + "2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0" + "ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR" + "PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b" + "rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" + "\"name\": \"le_via_isrg\"," + "\"stack\": [" + "\"isrg_root_x1\"," + "\"LEX3_isrg_root_x1\"" + "]" + "}" + "]," + "\"s\": [" /* the supported stream types */ + "{\"mintest\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"index.html\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"opportunistic\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}," + "{\"mintest-fail\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "22," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"index.html\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"opportunistic\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}," + "{\"minpost\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"testserver/formtest\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"opportunistic\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}" + "]" + "}" +; + +typedef struct myss { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ +} myss_t; + +/* secure streams payload interface */ + +static int +myss_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_info(buf, len); + + /* + * If we received the whole message, we let the sequencer know it + * was a success + */ + if (flags & LWSSS_FLAG_EOM) { + bad = 0; + interrupted = 1; + } + + return 0; +} + +static int +myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + // myss_t *m = (myss_t *)userobj; + + /* in this example, we don't send any payload */ + + return 0; +} + +static int +myss_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* if we're out of retries, we want to close the app and FAIL */ + interrupted = 1; + break; + default: + break; + } + + return 0; +} + +typedef enum { + SEQ_IDLE, + SEQ_TRY_CONNECT, + SEQ_RECONNECT_WAIT, + SEQ_CONNECTED, +} myseq_state_t; + +typedef struct myseq { + struct lws_ss_handle *ss; + + myseq_state_t state; + int http_resp; + + uint16_t try; +} myseq_t; + +/* + * This defines the sequence of things the test app does. + */ + +static lws_seq_cb_return_t +min_sec_str_sequencer_cb(struct lws_sequencer *seq, void *user, int event, + void *v, void *a) +{ + struct myseq *s = (struct myseq *)user; + lws_ss_info_t ssi; + + switch ((int)event) { + + /* these messages are created just by virtue of being a sequencer */ + + case LWSSEQ_CREATED: /* our sequencer just got started */ + s->state = SEQ_IDLE; + lwsl_notice("%s: LWSSEQ_CREATED\n", __func__); + + /* We're making an outgoing secure stream ourselves */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(myss_t, ss); + ssi.opaque_user_data_offset = offsetof(myss_t, opaque_data); + ssi.rx = myss_rx; + ssi.tx = myss_tx; + ssi.state = myss_state; + ssi.user_alloc = sizeof(myss_t); + + /* requested to fail (to check backoff)? */ + if (flag_conn_fail) + ssi.streamtype = "mintest-fail"; + else + /* request to check h1 POST */ + if (flag_h1post) + ssi.streamtype = "minpost"; + else + /* default to h1 GET */ + ssi.streamtype = "mintest"; + + if (lws_ss_create(lws_seq_get_context(seq), 0, &ssi, NULL, + &s->ss, seq, NULL)) { + lwsl_err("%s: failed to create secure stream\n", + __func__); + + return LWSSEQ_RET_DESTROY; + } + break; + + case LWSSEQ_DESTROYED: + lwsl_notice("%s: LWSSEQ_DESTROYED\n", __func__); + break; + + case LWSSEQ_TIMED_OUT: /* current step timed out */ + if (s->state == SEQ_RECONNECT_WAIT) + lws_ss_request_tx(s->ss); + break; + + /* + * These messages are created because we have a secure stream that was + * bound to this sequencer at creation time. It copies its state + * events to us as its sequencer parent. v is the lws_ss_handle_t * + */ + + case LWSSEQ_SS_STATE_BASE + LWSSSCS_CREATING: + lwsl_info("%s: seq LWSSSCS_CREATING\n", __func__); + lws_ss_request_tx(s->ss); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_DISCONNECTED: + lwsl_info("%s: seq LWSSSCS_DISCONNECTED\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_UNREACHABLE: + lwsl_info("%s: seq LWSSSCS_UNREACHABLE\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_AUTH_FAILED: + lwsl_info("%s: seq LWSSSCS_AUTH_FAILED\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_CONNECTED: + lwsl_info("%s: seq LWSSSCS_CONNECTED\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_CONNECTING: + lwsl_info("%s: seq LWSSSCS_CONNECTING\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_DESTROYING: + lwsl_info("%s: seq LWSSSCS_DESTROYING\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_POLL: + /* somebody called lws_ss_poll() on the stream */ + lwsl_info("%s: seq LWSSSCS_POLL\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_ALL_RETRIES_FAILED: + lwsl_info("%s: seq LWSSSCS_ALL_RETRIES_FAILED\n", __func__); + interrupted = 1; + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_QOS_ACK_REMOTE: + lwsl_info("%s: seq LWSSSCS_QOS_ACK_REMOTE\n", __func__); + break; + case LWSSEQ_SS_STATE_BASE + LWSSSCS_QOS_ACK_LOCAL: + lwsl_info("%s: seq LWSSSCS_QOS_ACK_LOCAL\n", __func__); + break; + + /* + * This is the message we send from the ss handler to inform the + * sequencer we had the payload properly + */ + + case LWSSEQ_USER_BASE: + bad = 0; + interrupted = 1; + break; + + default: + break; + } + + return LWSSEQ_RET_CONTINUE; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +int main(int argc, const char **argv) +{ + int n = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE; + struct lws_context_creation_info info; + struct lws_context *context; + lws_seq_info_t i; + const char *p; + myseq_t *ms; + + signal(SIGINT, sigint_handler); + + if ((p = lws_cmdline_option(argc, argv, "-d"))) + logs = atoi(p); + + lws_set_log_level(logs, NULL); + lwsl_user("LWS minimal secure streams [-d][-f][--h1post]\n"); + + flag_conn_fail = !!lws_cmdline_option(argc, argv, "-f"); + flag_h1post = !!lws_cmdline_option(argc, argv, "--h1post"); + + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 1 + 1; + info.pss_policies_json = default_ss_policy; + info.port = CONTEXT_PORT_NO_LISTEN; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* + * Create the sequencer that performs the steps of the test action + * from inside the event loop. + */ + + memset(&i, 0, sizeof(i)); + i.context = context; + i.user_size = sizeof(myseq_t); + i.puser = (void **)&ms; + i.cb = min_sec_str_sequencer_cb; + i.name = "min-sec-stream-seq"; + + if (!lws_seq_create(&i)) { + lwsl_err("%s: failed to create sequencer\n", __func__); + goto bail; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + +bail: + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt new file mode 100644 index 000000000..080ddeaa0 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-sink/CMakeLists.txt @@ -0,0 +1,79 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams-sink) +set(SRCS main.c) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) + +if (requirements) + add_executable(${SAMP} ${SRCS}) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets) + endif() +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams-sink/README.md b/minimal-examples/secure-streams/minimal-secure-streams-sink/README.md new file mode 100644 index 000000000..80a1c6928 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-sink/README.md @@ -0,0 +1,64 @@ +# lws minimal secure streams + +The application goes to https://warmcat.com and reads index.html there. + +It does it using Secure Streams... the main code in minimal-secure-streams.c +just sets up the context and opens a secure stream of type "mintest". + +The handler for state changes and payloads for "mintest" is in ss-myss.c + +The information about how a "mintest" stream should connect and the +protocol it uses is kept separated in policy-database.c + +## build + +``` + $ cmake . && make +``` + +## usage + +Commandline option|Meaning +---|--- +-d |Debug verbosity in decimal, eg, -d15 +-f| Force connecting to the wrong endpoint to check backoff retry flow +-p| Run as proxy server for clients to connect to over unix domain socket + +``` +[2019/08/12 07:16:11:0045] USR: LWS minimal secure streams [-d] [-f] +[2019/08/12 07:16:12:6102] USR: myss_state: LWSSSCS_CREATING, ord 0x0 +[2019/08/12 07:16:12:6107] USR: myss_state: LWSSSCS_POLL, ord 0x0 +[2019/08/12 07:16:12:6117] N: lws_ss_client_connect: connecting h1get warmcat.com / +[2019/08/12 07:16:12:6118] USR: myss_state: LWSSSCS_CONNECTING, ord 0x0 +[2019/08/12 07:16:13:4171] USR: myss_state: LWSSSCS_CONNECTED, ord 0x0 +[2019/08/12 07:16:13:4222] USR: myss_rx: len 1024, flags: 1 +[2019/08/12 07:16:13:4243] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4245] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4246] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4247] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4252] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4264] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4265] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4266] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4267] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4269] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4270] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4278] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4279] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4280] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4281] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4282] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4284] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4287] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4288] USR: myss_rx: len 947, flags: 0 +[2019/08/12 07:16:13:4293] USR: myss_rx: len 0, flags: 2 +[2019/08/12 07:16:13:4399] USR: myss_state: LWSSSCS_DISCONNECTED, ord 0x0 +[2019/08/12 07:16:13:4761] USR: myss_state: LWSSSCS_DESTROYING, ord 0x0 +[2019/08/12 07:16:13:4781] USR: Completed: OK +``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams-sink/main.c b/minimal-examples/secure-streams/minimal-secure-streams-sink/main.c new file mode 100644 index 000000000..792cad19a --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-sink/main.c @@ -0,0 +1,288 @@ +/* + * lws-minimal-secure-streams-sink + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include + +static int interrupted, bad = 1; +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "300," + "\"svalidhup\":" "310" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + /* + * Need to be in order from root cert... notice sometimes as + * with Let's Encrypt there are multiple possible validation + * paths, all the pieces for one validation path must be + * given, excluding the server cert itself. Let's Encrypt + * intermediate is signed by their ISRG Root CA but also is + * cross-signed by an IdenTrust intermediate that's widely + * deployed in browsers. We use the ISRG path because that + * way we can skip the extra IdenTrust root cert. + */ + "{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */ + "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4" + "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu" + "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY" + "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc" + "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+" + "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U" + "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW" + "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH" + "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC" + "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv" + "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn" + "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn" + "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw" + "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI" + "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV" + "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq" + "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL" + "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ" + "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK" + "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5" + "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur" + "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC" + "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc" + "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq" + "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA" + "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d" + "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=" + "\"}," + "{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */ + "MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1" + "WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg" + "RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi" + "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX" + "NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf" + "89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl" + "Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc" + "Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz" + "uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB" + "AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU" + "BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB" + "FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo" + "SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js" + "LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF" + "BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG" + "AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD" + "VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB" + "ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx" + "A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM" + "UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2" + "DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1" + "eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu" + "OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw" + "p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY" + "2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0" + "ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR" + "PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b" + "rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" + "\"name\": \"le_via_isrg\"," + "\"stack\": [" + "\"isrg_root_x1\"," + "\"LEX3_isrg_root_x1\"" + "]" + "}" + "]," + "\"s\": [" /* the supported stream types */ + "{\"\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"index.html\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"nailed_up\":" "true," + "\"long_poll\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}" + "]" + "}" +; + +typedef struct myss { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + lws_sorted_usec_list_t sul; + + int count; +} myss_t; + +/* secure streams payload interface */ + +static int +myss_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_info(buf, len); + + /* + * If we received the whole message, for our example it means + * we are done. + */ + if (flags & LWSSS_FLAG_EOM) { + bad = 0; + interrupted = 1; + } + + return 0; +} + +static int +myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + //myss_t *m = (myss_t *)userobj; + + return 0; +} + +static int +myss_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* if we're out of retries, we want to close the app and FAIL */ + interrupted = 1; + break; + default: + break; + } + + return 0; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +int main(int argc, const char **argv) +{ + struct lws_context_creation_info info; + struct lws_context *context; + int n = 0; + + signal(SIGINT, sigint_handler); + + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + lws_cmdline_option_handle_builtin(argc, argv, &info); + lwsl_user("LWS secure streams [-d] [-f] [-p] [--h1post]\n"); + + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.fd_limit_per_thread = 1 + 6 + 1; + info.pss_policies_json = default_ss_policy; + info.port = CONTEXT_PORT_NO_LISTEN; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + // puts(default_ss_policy); + + if (lws_cmdline_option(argc, argv, "-p")) { + + /* we are being the proxy */ + +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + if (lws_ss_proxy_create(context, NULL, 0)) { + lwsl_err("%s: failed to create ss proxy\n", __func__); + goto bail; + } + lwsl_notice("%s: secure streams proxy mode\n", __func__); +#else + lwsl_err("%s: needs cmake LWS_WITH_SECURE_STREAMS_PROXY_API\n", + __func__); +#endif + } else { + lws_ss_info_t ssi; + + /* We're making an outgoing secure stream ourselves */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(myss_t, ss); + ssi.opaque_user_data_offset = offsetof(myss_t, opaque_data); + ssi.rx = myss_rx; + ssi.tx = myss_tx; + ssi.state = myss_state; + ssi.user_alloc = sizeof(myss_t); + + /* requested to fail (to check backoff)? */ + if (lws_cmdline_option(argc, argv, "-f")) + ssi.streamtype = "mintest-fail"; + else + /* request to check h1 POST */ + if (lws_cmdline_option(argc, argv, "--h1post")) + ssi.streamtype = "minpost"; + else + /* default to h1 GET */ + ssi.streamtype = "mintest"; + + if (lws_ss_create(context, 0, &ssi, NULL, NULL, NULL, NULL)) { + lwsl_err("%s: failed to create secure stream\n", + __func__); + goto bail; + } + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + +bail: + + lws_context_destroy(context); + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams/CMakeLists.txt new file mode 100644 index 000000000..675e52388 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) + +if (requirements) + add_executable(${SAMP} minimal-secure-streams.c) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets) + endif() + + if (LWS_WITH_SECURE_STREAMS_PROXY_API) + add_compile_options(-DLWS_SS_USE_SSPC) + + add_executable(${SAMP}-client minimal-secure-streams.c) + if (websockets_shared) + target_link_libraries(${SAMP}-client websockets_shared) + add_dependencies(${SAMP}-client websockets_shared) + else() + target_link_libraries(${SAMP}-client websockets) + endif() + endif() + +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams/README.md b/minimal-examples/secure-streams/minimal-secure-streams/README.md new file mode 100644 index 000000000..80a1c6928 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams/README.md @@ -0,0 +1,64 @@ +# lws minimal secure streams + +The application goes to https://warmcat.com and reads index.html there. + +It does it using Secure Streams... the main code in minimal-secure-streams.c +just sets up the context and opens a secure stream of type "mintest". + +The handler for state changes and payloads for "mintest" is in ss-myss.c + +The information about how a "mintest" stream should connect and the +protocol it uses is kept separated in policy-database.c + +## build + +``` + $ cmake . && make +``` + +## usage + +Commandline option|Meaning +---|--- +-d |Debug verbosity in decimal, eg, -d15 +-f| Force connecting to the wrong endpoint to check backoff retry flow +-p| Run as proxy server for clients to connect to over unix domain socket + +``` +[2019/08/12 07:16:11:0045] USR: LWS minimal secure streams [-d] [-f] +[2019/08/12 07:16:12:6102] USR: myss_state: LWSSSCS_CREATING, ord 0x0 +[2019/08/12 07:16:12:6107] USR: myss_state: LWSSSCS_POLL, ord 0x0 +[2019/08/12 07:16:12:6117] N: lws_ss_client_connect: connecting h1get warmcat.com / +[2019/08/12 07:16:12:6118] USR: myss_state: LWSSSCS_CONNECTING, ord 0x0 +[2019/08/12 07:16:13:4171] USR: myss_state: LWSSSCS_CONNECTED, ord 0x0 +[2019/08/12 07:16:13:4222] USR: myss_rx: len 1024, flags: 1 +[2019/08/12 07:16:13:4243] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4244] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4245] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4246] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4247] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4252] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4264] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4265] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4266] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4267] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4268] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4269] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4270] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4278] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4279] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4280] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4281] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4282] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4283] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4284] USR: myss_rx: len 1015, flags: 0 +[2019/08/12 07:16:13:4287] USR: myss_rx: len 1024, flags: 0 +[2019/08/12 07:16:13:4288] USR: myss_rx: len 947, flags: 0 +[2019/08/12 07:16:13:4293] USR: myss_rx: len 0, flags: 2 +[2019/08/12 07:16:13:4399] USR: myss_state: LWSSSCS_DISCONNECTED, ord 0x0 +[2019/08/12 07:16:13:4761] USR: myss_state: LWSSSCS_DESTROYING, ord 0x0 +[2019/08/12 07:16:13:4781] USR: Completed: OK +``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams/minimal-secure-streams.c b/minimal-examples/secure-streams/minimal-secure-streams/minimal-secure-streams.c new file mode 100644 index 000000000..fe44a437a --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams/minimal-secure-streams.c @@ -0,0 +1,421 @@ +/* + * lws-minimal-secure-streams + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * + * This demonstrates a minimal http client using secure streams api. + * + * It visits https://warmcat.com/ and receives the html page there. + * + * This example is built two different ways from the same source... one includes + * the policy everything needed to fulfil the stream directly. The other -client + * variant has no policy itself and some other minor init changes, and connects + * to the -proxy example to actually get the connection done. + * + * In the -client build case, the example does not even init the tls libraries + * since the proxy part will take care of all that. + */ + +#include +#include +#include + +/* + * uncomment to force network traffic through 127.0.0.1:1080 + * + * On your local machine, you can run a SOCKS5 proxy like this + * + * $ ssh -N -D 0.0.0.0:1080 localhost -v + * + * If enabled, this also fetches a remote policy that also + * specifies that all traffic should go through the remote + * proxy. + */ +// #define VIA_LOCALHOST_SOCKS + +static int interrupted, bad = 1; +static lws_state_notify_link_t nl; + +/* + * If the -proxy app is fulfilling our connection, then we don't need to have + * the policy in the client. + * + * When we build with LWS_SS_USE_SSPC, the apis hook up to a proxy process over + * a Unix Domain Socket. To test that, you need to separately run the + * ./lws-minimal-secure-streams-proxy test app on the same machine. + */ + +#if !defined(LWS_SS_USE_SSPC) +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," +#if defined(VIA_LOCALHOST_SOCKS) + "\"via-socks5\":" "\"127.0.0.1:1080\"," +#endif + + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "30," + "\"svalidhup\":" "35" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + /* + * Let's Encrypt certs for warmcat.com / libwebsockets.org + * + * We fetch the real policy from there using SS and switch to + * using that. + */ + "{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */ + "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4" + "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu" + "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY" + "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc" + "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+" + "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U" + "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW" + "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH" + "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC" + "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv" + "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn" + "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn" + "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw" + "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI" + "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV" + "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq" + "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL" + "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ" + "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK" + "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5" + "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur" + "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC" + "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc" + "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq" + "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA" + "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d" + "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=" + "\"}," + "{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */ + "MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1" + "WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg" + "RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi" + "MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX" + "NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf" + "89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl" + "Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc" + "Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz" + "uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB" + "AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU" + "BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB" + "FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo" + "SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js" + "LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF" + "BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG" + "AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD" + "VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB" + "ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx" + "A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM" + "UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2" + "DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1" + "eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu" + "OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw" + "p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY" + "2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0" + "ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR" + "PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b" + "rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" + "\"name\": \"le_via_isrg\"," + "\"stack\": [" + "\"isrg_root_x1\"," + "\"LEX3_isrg_root_x1\"" + "]" + "}" + "]," + "\"s\": [" + "{\"fetch_policy\": {" + "\"endpoint\":" "\"warmcat.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"GET\"," +#if defined(VIA_LOCALHOST_SOCKS) + "\"http_url\":" "\"policy/minimal-proxy-socks.json\"," +#else + "\"http_url\":" "\"policy/minimal-proxy.json\"," +#endif + "\"tls\":" "true," + "\"opportunistic\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"le_via_isrg\"" + "}}" + "}" +; + +#endif + +typedef struct myss { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + lws_sorted_usec_list_t sul; +} myss_t; + +static const char *canned_root_token_payload = + "grant_type=refresh_token" + "&refresh_token=Atzr|IwEBIJedGXjDqsU_vMxykqOMg" + "SHfYe3CPcedueWEMWSDMaDnEmiW8RlR1Kns7Cb4B-TOSnqp7ifVsY4BMY2B8tpHfO39XP" + "zfu9HapGjTR458IyHX44FE71pWJkGZ79uVBpljP4sazJuk8XS3Oe_yLnm_DIO6fU1nU3Y" + "0flYmsOiOAQE_gRk_pdlmEtHnpMA-9rLw3mkY5L89Ty9kUygBsiFaYatouROhbsTn8-jW" + "k1zZLUDpT6ICtBXSnrCIg0pUbZevPFhTwdXd6eX-u4rq0W-XaDvPWFO7au-iPb4Zk5eZE" + "iX6sissYrtNmuEXc2uHu7MnQO1hHCaTdIO2CANVumf-PHSD8xseamyh04sLV5JgFzY45S" + "KvKMajiUZuLkMokOx86rjC2Hdkx5DO7G-dbG1ufBDG-N79pFMSs7Ck5pc283IdLoJkCQc" + "AGvTX8o8I29QqkcGou-9TKhOJmpX8As94T61ok0UqqEKPJ7RhfQHHYdCtsdwxgvfVr9qI" + "xL_hDCcTho8opCVX-6QhJHl6SQFlTw13" + "&client_id=" + "amzn1.application-oa2-client.4823334c434b4190a2b5a42c07938a2d"; + +/* secure streams payload interface */ + +static int +myss_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ +// myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + lwsl_hexdump_info(buf, len); + + /* + * If we received the whole message, for our example it means + * we are done. + */ + if (flags & LWSSS_FLAG_EOM) { + bad = 0; + interrupted = 1; + } + + return 0; +} + +static int +myss_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len, + int *flags) +{ + //myss_t *m = (myss_t *)userobj; + + return 0; +} + +static int +myss_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + myss_t *m = (myss_t *)userobj; + + lwsl_user("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lws_ss_set_metadata(m->ss, "uptag", "myuptag123", 10); + lws_ss_set_metadata(m->ss, "ctype", "myctype", 7); + lws_ss_client_connect(m->ss); + break; + case LWSSSCS_ALL_RETRIES_FAILED: + /* if we're out of retries, we want to close the app and FAIL */ + interrupted = 1; + break; + case LWSSSCS_QOS_ACK_REMOTE: + lwsl_notice("%s: LWSSSCS_QOS_ACK_REMOTE\n", __func__); + break; + default: + break; + } + + return 0; +} + +static int +app_system_state_nf(lws_state_manager_t *mgr, lws_state_notify_link_t *link, + int current, int target) +{ + struct lws_context *context = lws_system_context_from_system_mgr(mgr); + lws_system_blob_t *ab = lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, 1 /* AUTH_IDX_ROOT */); + size_t size; + + /* + * For the things we care about, let's notice if we are trying to get + * past them when we haven't solved them yet, and make the system + * state wait while we trigger the dependent action. + */ + switch (target) { + case LWS_SYSTATE_REGISTERED: + size = lws_system_blob_get_size(ab); + if (size) + break; + + /* let's register our canned root token so auth can use it */ + lws_system_blob_direct_set(ab, + (const uint8_t *)canned_root_token_payload, + strlen(canned_root_token_payload)); + break; + + case LWS_SYSTATE_OPERATIONAL: + if (current == LWS_SYSTATE_OPERATIONAL) { + lws_ss_info_t ssi; + + /* We're making an outgoing secure stream ourselves */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(myss_t, ss); + ssi.opaque_user_data_offset = offsetof(myss_t, + opaque_data); + ssi.rx = myss_rx; + ssi.tx = myss_tx; + ssi.state = myss_state; + ssi.user_alloc = sizeof(myss_t); + ssi.streamtype = "mintest"; + + if (lws_ss_create(context, 0, &ssi, NULL, NULL, + NULL, NULL)) { + lwsl_err("%s: failed to create secure stream\n", + __func__); + return -1; + } + } + break; + } + + return 0; +} + +static lws_state_notify_link_t * const app_notifier_list[] = { + &nl, NULL +}; + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +int main(int argc, const char **argv) +{ + struct lws_context_creation_info info; + struct lws_context *context; + int n = 0; + + signal(SIGINT, sigint_handler); + + memset(&info, 0, sizeof info); + lws_cmdline_option_handle_builtin(argc, argv, &info); + + lwsl_user("LWS secure streams test client [-d]\n"); + + info.fd_limit_per_thread = 1 + 6 + 1; + info.port = CONTEXT_PORT_NO_LISTEN; +#if defined(LWS_SS_USE_SSPC) + info.protocols = lws_sspc_protocols; + { + const char *p; + + /* connect to ssproxy via UDS by default, else via + * tcp connection to this port */ + if ((p = lws_cmdline_option(argc, argv, "-p"))) + info.ss_proxy_port = atoi(p); + + /* UDS "proxy.ss.lws" in abstract namespace, else this socket + * path; when -p given this can specify the network interface + * to bind to */ + if ((p = lws_cmdline_option(argc, argv, "-i"))) + info.ss_proxy_bind = p; + + /* if -p given, -a specifies the proxy address to connect to */ + if ((p = lws_cmdline_option(argc, argv, "-a"))) + info.ss_proxy_address = p; + } +#else + info.pss_policies_json = default_ss_policy; + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; +#endif +#if defined(LWS_WITH_DETAILED_LATENCY) + info.detailed_latency_cb = lws_det_lat_plot_cb; + info.detailed_latency_filepath = "/tmp/lws-latency-ssproxy"; +#endif + + /* integrate us with lws system state management when context created */ + + nl.name = "app"; + nl.notify_cb = app_system_state_nf; + info.register_notifier_list = app_notifier_list; + + /* create the context */ + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* + * Set the related lws_system blobs + * + * ...direct_set() sets a pointer, so the thing pointed to has to have + * a suitable lifetime, eg, something that already exists on the heap or + * a const string in .rodata like this + */ + + lws_system_blob_direct_set(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_DEVICE_SERIAL, 0), + (const uint8_t *)"SN12345678", 10); + lws_system_blob_direct_set(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_DEVICE_FW_VERSION, 0), + (const uint8_t *)"v0.01", 5); + + /* + * ..._heap_append() appends to a buflist kind of arrangement on heap, + * just one block is fine, otherwise it will concatenate the fragments + * in the order they were appended (and take care of freeing them at + * context destroy time). ..._heap_empty() is also available to remove + * everything that was already allocated. + * + * Here we use _heap_append() just so it's tested as well as direct set. + */ + + lws_system_blob_heap_append(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_DEVICE_TYPE, 0), + (const uint8_t *)"spacerocket", 11); + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + + lws_context_destroy(context); + + lwsl_user("Completed: %s\n", bad ? "failed" : "OK"); + + return bad; +} diff --git a/scripts/travis_control.sh b/scripts/travis_control.sh index e608f1804..04a66cd18 100755 --- a/scripts/travis_control.sh +++ b/scripts/travis_control.sh @@ -1,7 +1,7 @@ #!/bin/bash if [ "$COVERITY_SCAN_BRANCH" != 1 -a "$TRAVIS_OS_NAME" = "osx" ]; then - if [ "$LWS_METHOD" != "mbedtls" ] ; then + if [ "$LWS_METHOD" != "mbedtls" -a "$LWS_METHOD" != "ss+mbedtls" ] ; then mkdir build && cd build && cmake -DOPENSSL_ROOT_DIR="/usr/local/opt/openssl" $CMAKE_ARGS .. && cmake --build . @@ -34,7 +34,7 @@ else cmake --build . && ../scripts/h2load-smp.sh else - if [ "$LWS_METHOD" = "mbedtls" ] ; then + if [ "$LWS_METHOD" = "mbedtls" -o "$LWS_METHOD" = "ss+mbedtls" ] ; then cmake $CMAKE_ARGS .. && cmake --build . && sudo make install && diff --git a/scripts/travis_install.sh b/scripts/travis_install.sh index dffe9152d..9b84cb946 100755 --- a/scripts/travis_install.sh +++ b/scripts/travis_install.sh @@ -21,7 +21,7 @@ then sudo update-ca-certificates fi - if [ "$LWS_METHOD" == "mbedtls" ]; + if [ "$LWS_METHOD" == "mbedtls" -o "$LWS_METHOD" == "ss+mbedtls" ]; then sudo apt-get install -y -qq realpath libjemalloc1 libev4 libuv-dev valgrind wget https://libwebsockets.org/openssl-1.1.0-trusty.tar.bz2 -O/tmp/openssl.tar.bz2

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

%bvc(yV7A9*wa06n*5FS6`sCLqM&r9 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%0Aq) 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

Vw5fgHe+lC= zsq-5cjZX<45qwb?C~Pzy@3U-C8n-rq7;Eat-uAr2W(N4%s(N9oagNfEuBV(Uv}yN> zh}Jk%pWV0v-SYJBXba2fxA?oKwq@mnX*-vAl`#h{Ji02Jw|iH!ginH({nHT>+C&RbrSk1Zz$X1;1fv|LNBKt0!;ma?UH#i-a+u6b4=7OboITo7 zW}T|7S30J0PWI&=s&}j@t<+#XB^AJ?%52^cCrCaHGKM;@*_V=#u62hBBCOPl6;$lL zT;=#JgF5cd#^Qlj3t@Fd2C2tVL99^kAVI>OMifjTi^lr@1`akgQW8jn{_DNy)%i^4 z05bg*4V25++koYwY5zSXN{)&HbJodhzzHm*6JyFG9lGOastI1(8RMhes@o~$-dsSN zL@PxvknAxvNKMdcTXf{=jC8f?;0Bl~lzlX=R>G(5uBnzGA-467G{&@=ngayS2s=WU_#3i@vk&7f;;VJ{+qS7-I^D_5LoIG8snIT2iN>R4 zE|cY`;54A$f2^HiKV{u3PRWH0zDgD%+Qzii-tQf=&-LTXd+-|EZ==~pTwMfHlx9*b zbPDeF1-PB-CdZex#lK+;V7T4B#R_~zTrC31M2FzsayX(cCVTVpgAkHP^jx1(2vbDL zAicHXsiu0BfMs5Yb5qu-ij8i1DADd@D3aM82D_QMNZt`P+ftL8tDn|LF`;QJJ*^q| zM3hL}z~N5t7w(C_V)azdZLR|<(o(Q>6GVjme*Dq_~D{0kt5x0BIk3AjlhOVGLb_m7CMW-k1+yM=Zk z92wYvmTo7=s3wgudDAL<^D;(Nv2ItH4RiD!Z;A`ICJbS@?KhGBzP?+vwR%swmTixU zHpDoO;K2R}wU0(`(Qq#Z!6V``4_F1_qKjp4Wyct-@_cgl`(4Wo_T__SdHIBZldhjN zQ48AiB)bf&YaB6#bNwX>4^mYzEWEgCpJOVGAw`m~1zk2q<>qV%OI5c~vGLi37<-d? zP`0sL6}pfUmJ$_l&_owCNimDGkxjNj`s5CqAb}4)sU}T607w{1^)bN12j3&eJWpeB3 z%m%n$MHaPlfNfabhDIwQCWG7{G+}I3E!oXYXKE4|VCPWG6uCg5=z^Em*I@6xC5Ej& z;30&H|}Zk&`vG@kWUp zZ+R=FtVq@Rj)ypI2HBO4jA}LRw&S!~1`84^2#EX7S-t!AB52s#sNl=fJHrekDBNva zL<&vcBV1Xd8Yhxij=xlGCmXW!{JZ&N&garNSi--o8MB0Nqt^O{d97kS3zQ{aDH0SqHGV)&d(2gn?^z5a1-mxW>YDVka>2Ry34y5ake61&)~wROxBU)h_wmr zE_PK)!);DP`z9Q%t2!dPY@>n)WyM>-6d6D{%kevS)OAnL0cCB#M<73ICWYDrH%$Bt zG$j9U#xOx?ZkYFe3gwBcHs_5mI+9oF7K290hY&=)U*aiWG2Lj~`1j%T-G|WT_}4DN zo_(SoSNHeMuq>T<5+Rgv)7Zb#2DG0MtI%a7Ie9%U6~+=r#xy4 ?XhKyR+CVn*w~ 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%0D#@u-USXYBQQL2uL+PMvc%GC%}^ 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 literal 0 HcmV?d00001 diff --git a/include/libwebsockets.h b/include/libwebsockets.h index 6e7fb77f8..8b26586ee 100644 --- a/include/libwebsockets.h +++ b/include/libwebsockets.h @@ -576,6 +576,9 @@ struct lws; #include #include #include +#include +#include +#include #if !defined(LWS_PLAT_FREERTOS) #include diff --git a/include/libwebsockets/lws-context-vhost.h b/include/libwebsockets/lws-context-vhost.h index c379b0fc1..33143b923 100644 --- a/include/libwebsockets/lws-context-vhost.h +++ b/include/libwebsockets/lws-context-vhost.h @@ -227,6 +227,8 @@ #define lws_check_opt(c, f) ((((uint64_t)c) & ((uint64_t)f)) == ((uint64_t)f)) struct lws_plat_file_ops; +struct lws_ss_policy; +struct lws_ss_plugin; typedef int (*lws_context_ready_cb_t)(struct lws_context *context); @@ -699,7 +701,7 @@ struct lws_context_creation_info { /**< VHOST: optional retry and idle policy to apply to this vhost. * Currently only the idle parts are applied to the connections. */ - lws_state_notify_link_t **register_notifier_list; + lws_state_notify_link_t * const *register_notifier_list; /**< CONTEXT: NULL, or pointer to an array of notifiers that should * be registered during context creation, so they can see state change * events from very early on. The array should end with a NULL. */ @@ -709,6 +711,26 @@ struct lws_context_creation_info { uint8_t udp_loss_sim_rx_pc; /**< CONTEXT: percentage of udp reads we actually received * to make disappear, in order to simulate and test udp retry flow */ +#if defined(LWS_WITH_SECURE_STREAMS) + const char *pss_policies_json; /**< CONTEXT: point to a string + * containing a JSON description of the secure streams policies. Set + * to NULL if not using Secure Streams. */ + const struct lws_ss_plugin **pss_plugins; /**< CONTEXT: point to an array + * of pointers to plugin structs here, terminated with a NULL ptr. + * Set to NULL if not using Secure Streams. */ + const char *ss_proxy_bind; /**< CONTEXT: NULL, or: ss_proxy_port == 0: + * point to a string giving the Unix Domain Socket address to use (start + * with @ for abstract namespace), ss_proxy_port nonzero: set the + * network interface address (not name, it's ambiguous for ipv4/6) to + * bind the tcp connection to the proxy to */ + const char *ss_proxy_address; /**< CONTEXT: NULL, or if ss_proxy_port + * nonzero: the tcp address of the ss proxy to connect to */ + uint16_t ss_proxy_port; /* 0 = if connecting to ss proxy, do it via a + * Unix Domain Socket, "+@proxy.ss.lws" if ss_proxy_bind is NULL else + * the socket path given in ss_proxy_bind (start it with a + or +@); + * nonzero means connect via a tcp socket to the tcp address in + * ss_proxy_bind and the given port */ +#endif /* Add new things just above here ---^ * This is part of the ABI, don't needlessly break compatibility @@ -718,7 +740,7 @@ struct lws_context_creation_info { * was not built against the newer headers. */ - void *_unused[4]; /**< dummy */ + void *_unused[2]; /**< dummy */ }; /** diff --git a/include/libwebsockets/lws-secure-streams-client.h b/include/libwebsockets/lws-secure-streams-client.h new file mode 100644 index 000000000..b7244158a --- /dev/null +++ b/include/libwebsockets/lws-secure-streams-client.h @@ -0,0 +1,172 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * This is the headers for secure stream api variants that deal with clients in + * different threads or even different processes. + * + * lws_ss_ when client is directly using the event loop + * lws_sstc_ when client is in a different thread to the event loop + * lws_sspc_ when client is in a different process to the event loop + * + * The client api is almost the same except the slightly diffent names. + */ + +/* + * lws_sspc_ apis... different process + */ + +/* + * Helper translation so user code written to lws_ss_ can be built for + * lws_sspc_ in one step by #define LWS_SS_USE_SSPC before including + */ + +#if defined(LWS_SS_USE_SSPC) +#define lws_ss_handle lws_sspc_handle +#define lws_ss_create lws_sspc_create +#define lws_ss_destroy lws_sspc_destroy +#define lws_ss_request_tx lws_sspc_request_tx +#define lws_ss_client_connect lws_sspc_client_connect +#define lws_ss_get_sequencer lws_sspc_get_sequencer +#define lws_ss_proxy_create lws_sspc_proxy_create +#define lws_ss_get_context lws_sspc_get_context +#define lws_ss_rideshare lws_sspc_rideshare +#define lws_ss_set_metadata lws_sspc_set_metadata +#define lws_ss_add_peer_tx_credit lws_sspc_add_peer_tx_credit +#define lws_ss_get_est_peer_tx_credit lws_sspc_get_est_peer_tx_credit +#endif + + +struct lws_sspc_handle; + +LWS_VISIBLE LWS_EXTERN int +lws_sspc_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, + void *opaque_user_data, struct lws_sspc_handle **ppss, + struct lws_sequencer *seq_owner, const char **ppayload_fmt); + +/** + * lws_sspc_destroy() - Destroy secure stream + * + * \param ppss: pointer to lws_ss_t pointer to be destroyed + * + * Destroys the lws_ss_t pointed to by *ppss, and sets *ppss to NULL. + */ +LWS_VISIBLE LWS_EXTERN void +lws_sspc_destroy(struct lws_sspc_handle **ppss); + +/** + * lws_sspc_request_tx() - Schedule stream for tx + * + * \param pss: pointer to lws_ss_t representing stream that wants to transmit + * + * Schedules a write on the stream represented by \p pss. When it's possible to + * write on this stream, the *tx callback will occur with an empty buffer for + * the stream owner to fill in. + */ +LWS_VISIBLE LWS_EXTERN void +lws_sspc_request_tx(struct lws_sspc_handle *pss); + +/** + * lws_sspc_client_connect() - Attempt the client connect + * + * \param h: secure streams handle + * + * Starts the connection process for the secure stream. Returns 0 if OK or + * nonzero if we have already failed. + */ +LWS_VISIBLE LWS_EXTERN int +lws_sspc_client_connect(struct lws_sspc_handle *h); + +/** + * lws_sspc_get_sequencer() - Return parent sequencer pointer if any + * + * \param h: secure streams handle + * + * Returns NULL if the secure stream is not associated with a sequencer. + * Otherwise returns a pointer to the owning sequencer. You can use this to + * identify which sequencer to direct messages to, from the secure stream + * callback. + */ +LWS_VISIBLE LWS_EXTERN struct lws_sequencer * +lws_sspc_get_sequencer(struct lws_sspc_handle *h); + +/** + * lws_sspc_proxy_create() - Start a unix domain socket proxy for Secure Streams + * + * \param context: lws_context + * + * Creates a vhost that listens on an abstract namespace unix domain socket at + * address "proxy.ss.lws". Client connections to this proxy to Secure Streams + */ +LWS_VISIBLE LWS_EXTERN int +lws_sspc_proxy_create(struct lws_context *context); + +/** + * lws_ss_get_context() - convenience helper to recover the lws context + * + * \h: secure streams handle + * + * Returns the lws context. Dispenses with the need to pass a copy of it into + * your secure streams handler. + */ + +LWS_VISIBLE LWS_EXTERN struct lws_context * +lws_sspc_get_context(struct lws_sspc_handle *h); + +LWS_VISIBLE LWS_EXTERN const struct lws_protocols lws_sspc_protocols[]; + +LWS_VISIBLE LWS_EXTERN const char * +lws_sspc_rideshare(struct lws_sspc_handle *h); + + +/** + * lws_sspc_set_metadata() - allow user to bind external data to defined ss metadata + * + * \h: secure streams handle + * \name: metadata name from the policy + * \value: pointer to user-managed data to bind to name + * \len: length of the user-managed data in value + * + * Binds user-managed data to the named metadata item from the ss policy. + * If present, the metadata item is handled in a protocol-specific way using + * the associated policy information. For example, in the policy + * + * "\"metadata\":" "[" + * "{\"uptag\":" "\"X-Upload-Tag:\"}," + * "{\"ctype\":" "\"Content-Type:\"}," + * "{\"xctype\":" "\"X-Content-Type:\"}" + * "]," + * + * when the policy is using h1 is interpreted to add h1 headers of the given + * name with the value of the metadata on the left. + * + * Return 0 if OK. + */ +LWS_VISIBLE LWS_EXTERN int +lws_sspc_set_metadata(struct lws_sspc_handle *h, const char *name, + void *value, size_t len); + +LWS_VISIBLE LWS_EXTERN int +lws_sspc_add_peer_tx_credit(struct lws_sspc_handle *h, int32_t add); + +LWS_VISIBLE LWS_EXTERN int +lws_sspc_get_est_peer_tx_credit(struct lws_sspc_handle *h); diff --git a/include/libwebsockets/lws-secure-streams-policy.h b/include/libwebsockets/lws-secure-streams-policy.h new file mode 100644 index 000000000..967ef8dd2 --- /dev/null +++ b/include/libwebsockets/lws-secure-streams-policy.h @@ -0,0 +1,237 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * included from libwebsockets.h + */ + +typedef int (*plugin_auth_status_cb)(struct lws_ss_handle *ss, int status); + +/** + * lws_ss_plugin_auth_t - api for an auth plugin + * + * Auth plugins create and sequence authenticated connections that can carry one + * or more streams to an endpoint. That may involve other connections to other + * places to eg, gather authenticated tokens and then make the real connection + * using the tokens. + * + * The secure stream object contains members to record which auth plugin the + * stream is bound to and an over-allocation of the secure stream object to + * contain the plugin auth private data. + * + * The auth plugin controls the state of the stream connection via the status + * callback, and handles retries. + * + * Network connections may require one kind of auth sequencing, and streams + * inside those connections another kind of auth sequencing depending on their + * role. So the secure stream object allows defining plugins for both kinds. + * + * Streams may disappear at any time and require reauth to bring a new one up. + * The auth plugin sequencer will connect / reconnect either on demand, or from + * the start and after any connectivity loss if any stream using the connection + * has the LWSSSPOLF_NAILED_UP flag. + */ + +typedef struct lws_ss_plugin { + struct lws_ss_plugin *next; + const char *name; /**< auth plugin name */ + size_t alloc; /**< size of private allocation */ + + int (*create)(struct lws_ss_handle *ss, void *info, + plugin_auth_status_cb status); + /**< called when the auth plugin is instantiated + and bound to the secure stream. status is + called back with advisory information about + the authenticated stream state as it + proceeds */ + int (*destroy)(struct lws_ss_handle *ss); + /**< called when the related secure stream is + being destroyed, and anything the auth + plugin is doing should also be destroyed */ + int (*munge)(struct lws_ss_handle *ss, char *path, + size_t path_len); + /**< if the plugin needs to munge transactions + that have metadata outside the payload (eg, + add http headers) this callback will give + it the opportunity to do so */ +} lws_ss_plugin_t; + + +typedef struct lws_ss_x509 { + struct lws_ss_x509 *next; + const char *vhost_name; /**< vhost name using cert ctx */ + const uint8_t *ca_der; /**< DER x.509 cert */ + size_t ca_der_len; /**< length of DER cert */ +} lws_ss_x509_t; + +enum { + LWSSSPOLF_OPPORTUNISTIC = (1 << 0), + /**< the connection doesn't exist unless client asks to write */ + LWSSSPOLF_NAILED_UP = (1 << 1), + /**< the connection tries to be connected the whole life of the ss */ + LWSSSPOLF_URGENT_TX = (1 << 2), + /**< this connection carries critical tx data */ + LWSSSPOLF_URGENT_RX = (1 << 3), + /**< this connection carries critical rx data */ + LWSSSPOLF_TLS = (1 << 4), + /**< stream must be connected via a tls tunnel */ + LWSSSPOLF_LONG_POLL = (1 << 5), + /**< stream used to receive async rx at arbitrary intervals */ + LWSSSPOLF_AUTH_BEARER = (1 << 6), + /**< for http, use lws_system auth token 0 in authentication: bearer */ + LWSSSPOLF_HTTP_NO_CONTENT_LENGTH = (1 << 7), + /**< don't add any content length even if we have it */ + LWSSSPOLF_QUIRK_NGHTTP2_END_STREAM = (1 << 8), + /**< set the client flag LCCSCF_H2_QUIRK_NGHTTP2_END_STREAM */ + LWSSSPOLF_H2_QUIRK_OVERFLOWS_TXCR = (1 << 9), + /**< set the client flag LCCSCF_H2_QUIRK_OVERFLOWS_TXCR */ + LWSSSPOLF_H2_QUIRK_UNCLEAN_HPACK_STATE = (1 << 10), + /**< HPACK decoder state does not end cleanly */ + LWSSSPOLF_HTTP_MULTIPART = (1 << 11), + /**< indicates stream goes out as specifically a multipart mime POST + * section... if the tx has LWSSS_FLAG_COALESCE_CONTINUES flag then more + * multipart sections are expected. Without it, the multipart wrapper + * is closed and the http transaction issue completed when this message + * finishes. */ + LWSSSPOLF_HTTP_X_WWW_FORM_URLENCODED = (1 << 12), + /**< set up lws_system client cert */ + LWSSSPOLF_LOCAL_SINK = (1 << 13), + /**< expected to bind to a local sink only */ +}; + +typedef struct lws_ss_trust_store { + struct lws_ss_trust_store *next; + const char *name; + + lws_ss_x509_t *ssx509[8]; + int count; +} lws_ss_trust_store_t; + +enum { + LWSSSP_H1, + LWSSSP_H2, + LWSSSP_WS, + + + LWSSS_HBI_AUTH = 0, + LWSSS_HBI_DSN, + LWSSS_HBI_FWV, + LWSSS_HBI_TYPE, + + _LWSSS_HBI_COUNT /* always last */ +}; + +typedef struct lws_ss_metadata { + struct lws_ss_metadata *next; + const char *name; + void *value; + size_t length; + + uint8_t value_on_lws_heap; /* proxy does this */ +} lws_ss_metadata_t; + + +/** + * lws_ss_policy_t: policy database entry for a stream type + * + * Decides the system policy for how to implement connections of name + * .streamtype. + * + * Streams may need one kind of auth sequencing for the network connection and + * another kind of auth sequencing for the streams that are carried inside it, + * this is the purpose of .nauth and .sauth. Both are optional and may be NULL. + * + * An array of these is set at context creation time, ending with one with a + * NULL streamtype. + */ +typedef struct lws_ss_policy { + struct lws_ss_policy *next; + const char *streamtype; /**< stream type lhs to match on */ + + const char *endpoint; /**< DNS address to connect to */ + const char *rideshare_streamtype; /**< optional transport + * on another, preexisting stream of this + * streamtype name */ + const char *payload_fmt; + const char *socks5_proxy; + lws_ss_metadata_t *metadata; /* linked-list of metadata */ + + /* protocol-specific connection policy details */ + + union { + + /* details for http-related protocols... */ + + struct { + + /* common to all http-related protocols */ + + const char *method; + const char *url; + + const char *multipart_name; + const char *multipart_filename; + const char *multipart_content_type; + + const char *blob_header[_LWSSS_HBI_COUNT]; + const char *auth_preamble; + + union { +// struct { /* LWSSSP_H1 */ +// } h1; +// struct { /* LWSSSP_H2 */ +// } h2; + struct { /* LWSSSP_WS */ + const char *subprotocol; + uint8_t binary; + /* false = TEXT, true = BINARY */ + } ws; + } u; + } http; + + struct { + const char *topic; /* stream sends on this topic */ + const char *subscribe; /* stream subscribes to this topic */ + uint8_t qos; + } mqtt; + + /* details for non-http related protocols... */ + } u; + + const + struct lws_ss_plugin *plugins[2]; /**< NULL or auth plugin */ + const void *plugins_info[2]; /**< plugin-specific data */ + + const lws_ss_trust_store_t *trust_store; /**< CA certs needed for conn + validation, only set between policy parsing and vhost creation */ + + const lws_retry_bo_t *retry_bo; /**< retry policy to use */ + + uint32_t flags; /**< stream attribute flags */ + + uint16_t port; /**< endpoint port */ + + uint8_t metadata_count; /**< metadata count */ + uint8_t protocol; /**< protocol index */ + uint8_t client_cert; /**< which client cert to apply + 0 = none, 1+ = cc 0+ */ +} lws_ss_policy_t; diff --git a/include/libwebsockets/lws-secure-streams.h b/include/libwebsockets/lws-secure-streams.h new file mode 100644 index 000000000..afd8bee19 --- /dev/null +++ b/include/libwebsockets/lws-secure-streams.h @@ -0,0 +1,492 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * included from libwebsockets.h + * + * + * Secure Streams is a *payload-only* client communication channel where all the + * details about the connection are held in a systemwide policy database and + * are keyed by the streamtype field... the user of the communication channel + * does not know or manage the choice of endpoint, tls CA, or even wire + * protocol. The advantage is he then does not have any dependency on any of + * those and they can be changed just by changing the policy database without + * touching the code using the stream. + * + * There are two ways secure streams interfaces to user code: + * + * 1) [Linux / RTOS] the natural, smallest interface is to call back to user + * code that only operates directly from the lws event loop thread context + * (direct callbacks from lws_ss_t) + * + * lws_thread( [user code] ---- lws ) + * + * 2) [Linux] where the user code is in a different process and communicates + * asynchronously via a proxy socket + * + * user_process{ [user code] | shim | socket-}------ lws_process{ lws } + * + * In the second, IPC, case, all packets are prepended by one or more bytes + * indicating the packet type and serializing any associated data, known as + * Serialized Secure Streams or SSS. + * + * Serialized Secure Streams + * ------------------------- + * + * On the transport, adjacent packets may be coalesced, that is, the original + * packet sizes are lost and two or more packets are combined. For that reason + * the serialization format always contains a 1-byte type and then a 2-byte + * frame length. + * + * Client to proxy + * + * - Proxied connection setup + * + * - 0: LWSSS_SER_TXPRE_STREAMTYPE + * - 1: 2-byte MSB-first rest-of-frame length + * - 3: 4 byte MSB-first initial tx credit + * - 7: the streamtype name with no NUL + * + * - Proxied tx + * + * - 0: LWSSS_SER_TXPRE_TX_PAYLOAD + * - 1: 2 byte MSB-first rest-of-frame length + * - 3: 4-byte MSB-first flags + * - 7: 4-byte MSB-first us between client requested write and wrote to proxy + * - 11: 8-byte MSB-first us resolution unix time client wrote to proxy + * - 17: payload + * + * - Proxied secure stream destroy + * + * - 0: LWSSS_SER_TXPRE_DESTROYING + * - 1: 00, 00 + * + * - Proxied metadata - sent when one metadata item set clientside + * + * - 0: LWSSS_SER_TXPRE_METADATA + * - 1: 2-byte MSB-first rest-of-frame length + * - 2: 1-byte metadata name length + * - 3: metadata name + * - ...: metadata value (for rest of packet) + * + * Proxy to client + * + * - Proxied connection setup result + * + * - 0: LWSSS_SER_RXPRE_CREATE_RESULT + * - 1: 2 byte MSB-first rest-of-frame length (usually 00, 03) + * - 3: 1 byte result, 0 = success. On failure, proxy will close connection. + * - 4: 2 byte MSB-first initial tx credit + * - 6: if present, comma-sep list of rideshare types from policy + * + * - Proxied rx + * + * - 0: LWSSS_SER_RXPRE_RX_PAYLOAD + * - 1: 2 byte MSB-first rest-of-frame length + * - 3: 4-byte MSB-first flags + * - 7: 4-byte MSB-first us between inbound read and wrote to client + * - 11: 8-byte MSB-first us resolution unix time proxy wrote to client + * - 17: (rideshare name len + rideshare name if flags & LWSSS_FLAG_RIDESHARE) + * payload + * + * - Proxied tx credit + * + * - 0: LWSSS_SER_RXPRE_TXCR_UPDATE + * - 1: 00, 04 + * - 3: 4-byte MSB-first addition tx credit bytes + * + * - Proxied state + * + * - 0: LWSSS_SER_RXPRE_CONNSTATE + * - 1: 00, 05 + * - 3: 1 byte state index + * - 7: 4-byte MSB-first ordinal + * + * + * Proxied tx may be read by the proxy but rejected due to lack of buffer space + * at the proxy. For that reason, tx must be held at the sender until it has + * been acknowledged or denied. + * + * Sinks + * ----- + * + * Sinks are logical "servers", you can register as a sink for a particular + * streamtype by using the lws_ss_create() api with ssi->register_sink set to 1. + * + * For directly fulfilled Secure Streams, new streams of that streamtype bind + * to the rx, tx and state handlers given when it was registered. + * + * - When new streams are created the registered sink handler for (*state) is + * called with event LWSSSCS_SINK_JOIN and the new client stream handle in + * the h_src parameter. + * + * - When the client stream sends something to the sink, it calls the sink's + * (*rx) with the client stream's + */ + +#define LWS_SS_MTU 1540 + +struct lws_ss_handle; +typedef uint32_t lws_ss_tx_ordinal_t; + +/* + * connection state events + */ +typedef enum { + LWSSSCS_CREATING, + LWSSSCS_DISCONNECTED, + LWSSSCS_UNREACHABLE, + LWSSSCS_AUTH_FAILED, + LWSSSCS_CONNECTED, + LWSSSCS_CONNECTING, + LWSSSCS_DESTROYING, + LWSSSCS_POLL, + LWSSSCS_ALL_RETRIES_FAILED, /* all retries in bo policy failed */ + LWSSSCS_QOS_ACK_REMOTE, /* remote peer received and acked tx */ + LWSSSCS_QOS_NACK_REMOTE, + LWSSSCS_QOS_ACK_LOCAL, /* local proxy accepted our tx */ + LWSSSCS_QOS_NACK_LOCAL, /* local proxy refused our tx */ + + LWSSSCS_SINK_JOIN, /* sinks get this when a new source + * stream joins the sink */ + LWSSSCS_SINK_PART, /* sinks get this when a new source + * stream leaves the sink */ +} lws_ss_constate_t; + +enum { + LWSSS_FLAG_SOM = (1 << 0), + /* payload contains the start of new message */ + LWSSS_FLAG_EOM = (1 << 1), + /* payload contains the end of message */ + LWSSS_FLAG_POLL = (1 << 2), + /* Not a real transmit... poll for rx if protocol needs it */ + LWSSS_FLAG_RELATED_START = (1 << 3), + /* Appears in a zero-length message indicating a message group of zero + * or more messages is now starting. */ + LWSSS_FLAG_RELATED_END = (1 << 4), + /* Appears in a zero-length message indicating a message group of zero + * or more messages has now finished. */ + LWSSS_FLAG_RIDESHARE = (1 << 5), + /* Serialized payload starts with non-default rideshare name length and + * name string without NUL, then payload */ + + /* + * In the case the secure stream is proxied across a process or thread + * boundary, eg by proxying through a socket for IPC, metadata must be + * carried in-band. A byte is prepended to each rx payload to + * differentiate what it is. + * + * Secure streams where the user is called back directly does not need + * any of this and only pure payloads are passed. + * + * rx (received by client) prepends for proxied connections + */ + + LWSSS_SER_RXPRE_RX_PAYLOAD = 0x55, + LWSSS_SER_RXPRE_CREATE_RESULT, + LWSSS_SER_RXPRE_CONNSTATE, + LWSSS_SER_RXPRE_TXCR_UPDATE, + LWSSS_SER_RXPRE_TLSNEG_ENCLAVE_SIGN, + + /* tx (send by client) prepends for proxied connections */ + + LWSSS_SER_TXPRE_STREAMTYPE = 0xaa, + LWSSS_SER_TXPRE_ONWARD_CONNECT, + LWSSS_SER_TXPRE_DESTROYING, + LWSSS_SER_TXPRE_TX_PAYLOAD, + LWSSS_SER_TXPRE_METADATA, + LWSSS_SER_TXPRE_TXCR_UPDATE, + LWSSS_SER_TXPRE_TLSNEG_ENCLAVE_SIGNED, +}; + +typedef enum { + LPCS_WAIT_INITIAL_TX = 1, /* after connect, must send streamtype */ + LPCS_REPORTING_FAIL, /* stream creation failed, wait to to tell */ + LPCS_REPORTING_OK, /* stream creation succeeded, wait to to tell */ + LPCS_OPERATIONAL, /* ready for payloads */ + LPCS_DESTROYED, + + LPCS_SENDING_INITIAL_TX = 1, /* after connect, must send streamtype */ + LPCS_WAITING_CREATE_RESULT, /* wait to hear if proxy ss create OK */ + LPCS_LOCAL_CONNECTED, /* we are in touch with the proxy */ + LPCS_ONWARD_CONNECT, /* request onward ss connection */ + +} lws_ss_conn_states_t; + +/** + * lws_ss_info_t: information about stream to be created + * + * Prepare this struct with information about what the stream type is and how + * the stream should interface with your code, and pass it to lws_ss_create() + * to create the requested stream. + */ + +typedef struct lws_ss_info { + const char *streamtype; /**< type of stream we want to create */ + size_t user_alloc; /**< size of user allocation */ + size_t handle_offset; /**< offset of handle stg in user_alloc type, + set to offsetof(mytype, my_handle_member) */ + size_t opaque_user_data_offset; + /**< offset of opaque user data ptr in user_alloc type, set to + offsetof(mytype, opaque_ud_member) */ + + int (*rx)(void *userobj, const uint8_t *buf, size_t len, + int flags); + /**< callback with rx payload for this stream */ + int (*tx)(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags); + /**< callback to send payload on this stream... 0 = send as set in + * len and flags, 1 = do not send anything (ie, not even 0 len frame) */ + int (*state)(void *userobj, void *h_src /* ss handle type */, + lws_ss_constate_t state, lws_ss_tx_ordinal_t ack); + /**< advisory cb about state of stream and QoS status if applicable... + * h_src is only used with sinks and LWSSSCS_SINK_JOIN/_PART events. + * Return nonzero to indicate you want to destroy the stream. */ + int manual_initial_tx_credit; + /**< 0 = manage any tx credit automatically, nonzero explicitly sets the + * peer stream to have the given amount of tx credit, if the protocol + * can support it. */ + char register_sink; + /**< If set, we're not creating a specific stream, but registering + * ourselves as the "sink" for .streamtype. It's analogous to saying + * we want to be the many-to-one "server" for .streamtype; when other + * streams are created with that streamtype, they should be forwarded + * to this stream owner, where they join and part from the sink via + * (*state) LWSSSCS_SINK_JOIN / _PART events, the new client handle + * being provided in the h_src parameter. + */ +} lws_ss_info_t; + +/** + * lws_ss_create() - Create secure stream + * + * \param context: the lws context to create this inside + * \param tsi: service thread index to create on (normally 0) + * \param ssi: pointer to lws_ss_info_t filled in with info about desired stream + * \param opaque_user_data: opaque data to set in the stream's user object + * \param ppss: pointer to secure stream handle pointer set on exit + * \param ppayload_fmt: NULL or pointer to a string ptr to take payload format + * name from the policy + * + * Requests a new secure stream described by \p ssi be created. If successful, + * the stream is created, its state callback called with LWSSSCS_CREATING, *ppss + * is set to point to the handle, and it returns 0. If it failed, it returns + * nonzero. + * + * Along with the opaque stream object, streams overallocate + * + * 1) a user data struct whose size is set in ssi + * 2) nauth plugin instantiation data (size set in the plugin struct) + * 3) sauth plugin instantiation data (size set in the plugin struct) + * 4) space for a copy of the stream type name + * + * The user data struct is initialized to all zeros, then the .handle_offset and + * .opaque_user_data_offset fields of the ssi are used to prepare the user data + * struct with the ss handle that was created, and a copy of the + * opaque_user_data pointer given as an argument. + * + * If you want to set up the stream with specific information, point to it in + * opaque_user_data and use the copy of that pointer in your user data member + * for it starting from the LWSSSCS_CREATING state call. + * + * Since different endpoints chosen by the policy may require different payload + * formats, \p ppayload_fmt is set to point to the name of the needed payload + * format from the policy database if non-NULL. + */ +LWS_VISIBLE LWS_EXTERN int +lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, + void *opaque_user_data, struct lws_ss_handle **ppss, + struct lws_sequencer *seq_owner, const char **ppayload_fmt); + +/** + * lws_ss_destroy() - Destroy secure stream + * + * \param ppss: pointer to lws_ss_t pointer to be destroyed + * + * Destroys the lws_ss_t pointed to by *ppss, and sets *ppss to NULL. + */ +LWS_VISIBLE LWS_EXTERN void +lws_ss_destroy(struct lws_ss_handle **ppss); + +/** + * lws_ss_request_tx() - Schedule stream for tx + * + * \param pss: pointer to lws_ss_t representing stream that wants to transmit + * + * Schedules a write on the stream represented by \p pss. When it's possible to + * write on this stream, the *tx callback will occur with an empty buffer for + * the stream owner to fill in. + */ +LWS_VISIBLE LWS_EXTERN void +lws_ss_request_tx(struct lws_ss_handle *pss); + +/** + * lws_ss_request_tx() - Schedule stream for tx + * + * \param pss: pointer to lws_ss_t representing stream that wants to transmit + * \param len: the length of the write in bytes + * + * Schedules a write on the stream represented by \p pss. When it's possible to + * write on this stream, the *tx callback will occur with an empty buffer for + * the stream owner to fill in. + * + * This api variant should be used when it's possible the payload will go out + * over h1 with x-web-form-urlencoded or similar Content-Type. + */ +LWS_VISIBLE LWS_EXTERN void +lws_ss_request_tx_len(struct lws_ss_handle *pss, unsigned long len); + + +/** + * lws_ss_client_connect() - Attempt the client connect + * + * \param h: secure streams handle + * + * Starts the connection process for the secure stream. Returns 0 if OK or + * nonzero if we have already failed. + */ +LWS_VISIBLE LWS_EXTERN int +lws_ss_client_connect(struct lws_ss_handle *h); + +/** + * lws_ss_get_sequencer() - Return parent sequencer pointer if any + * + * \param h: secure streams handle + * + * Returns NULL if the secure stream is not associated with a sequencer. + * Otherwise returns a pointer to the owning sequencer. You can use this to + * identify which sequencer to direct messages to, from the secure stream + * callback. + */ +LWS_VISIBLE LWS_EXTERN struct lws_sequencer * +lws_ss_get_sequencer(struct lws_ss_handle *h); + +/** + * lws_ss_proxy_create() - Start a unix domain socket proxy for Secure Streams + * + * \param context: lws_context + * \param bind: if port is 0, unix domain path with leading @ for abstract. + * if port nonzero, NULL, or network interface to bind listen to + * \param port: tcp port to listen on + * + * Creates a vhost that listens either on an abstract namespace unix domain + * socket (port = 0) or a tcp listen socket (port nonzero). If bind is NULL + * and port is 0, the abstract unix domain socket defaults to "proxy.ss.lws". + * + * Client connections to this proxy to Secure Streams are fulfilled using the + * policy local to the proxy and the data passed between the client and the + * proxy using serialized Secure Streams protocol. + */ +LWS_VISIBLE LWS_EXTERN int +lws_ss_proxy_create(struct lws_context *context, const char *bind, int port); + +/** + * lws_ss_state_name() - convenience helper to get a printable conn state name + * + * \param state: the connection state index + * + * Returns a printable name for the connection state index passed in. + */ +LWS_VISIBLE LWS_EXTERN const char * +lws_ss_state_name(int state); + +/** + * lws_ss_get_context() - convenience helper to recover the lws context + * + * \param h: secure streams handle + * + * Returns the lws context. Dispenses with the need to pass a copy of it into + * your secure streams handler. + */ +LWS_VISIBLE LWS_EXTERN struct lws_context * +lws_ss_get_context(struct lws_ss_handle *h); + +/** + * lws_ss_rideshare() - find the current streamtype when types rideshare + * + * \param h: the stream handle + * + * Under some conditions, the payloads may be structured using protocol- + * specific formatting, eg, http multipart mime. It's possible to map the + * logical partitions in the payload to different stream types using + * the policy "rideshare" feature. + * + * This api lets the callback code find out which rideshare stream type the + * current payload chunk belongs to. + */ +LWS_VISIBLE LWS_EXTERN const char * +lws_ss_rideshare(struct lws_ss_handle *h); + + +/** + * lws_ss_set_metadata() - allow user to bind external data to defined ss metadata + * + * \param h: secure streams handle + * \param name: metadata name from the policy + * \param value: pointer to user-managed data to bind to name + * \param len: length of the user-managed data in value + * + * Binds user-managed data to the named metadata item from the ss policy. + * If present, the metadata item is handled in a protocol-specific way using + * the associated policy information. For example, in the policy + * + * "\"metadata\":" "[" + * "{\"uptag\":" "\"X-Upload-Tag:\"}," + * "{\"ctype\":" "\"Content-Type:\"}," + * "{\"xctype\":" "\"\"}" + * "]," + * + * when the policy is using h1 is interpreted to add h1 headers of the given + * name with the value of the metadata on the left. + * + * Return 0 if OK or nonzero if, eg, metadata name does not exist on the + * streamtype. + */ +LWS_VISIBLE LWS_EXTERN int +lws_ss_set_metadata(struct lws_ss_handle *h, const char *name, + void *value, size_t len); + + +/** + * lws_ss_add_peer_tx_credit() - allow peer to transmit more to us + * + * \param h: secure streams handle + * \param add: additional tx credit (signed) + * + * Indicate to remote peer that we can accept \p add bytes more payload being + * sent to us. + */ +LWS_VISIBLE LWS_EXTERN int +lws_ss_add_peer_tx_credit(struct lws_ss_handle *h, int32_t add); + +/** + * lws_ss_get_est_peer_tx_credit() - get our current estimate of peer's tx credit + * + * \param h: secure streams handle + * + * Based on what credit we gave it, and what we have received, report our + * estimate of peer's tx credit usable to transmit to us. This may be outdated + * in that some or all of its credit may already have been expended by sending + * stuff to us that is in flight already. + */ +LWS_VISIBLE LWS_EXTERN int +lws_ss_get_est_peer_tx_credit(struct lws_ss_handle *h); diff --git a/include/libwebsockets/lws-sequencer.h b/include/libwebsockets/lws-sequencer.h index 4b50b824f..a08f61328 100644 --- a/include/libwebsockets/lws-sequencer.h +++ b/include/libwebsockets/lws-sequencer.h @@ -49,6 +49,14 @@ typedef enum { LWSSEQ_WSI_CONN_FAIL, /* wsi we bound to us has failed to connect */ LWSSEQ_WSI_CONN_CLOSE, /* wsi we bound to us has closed */ + + LWSSEQ_SS_STATE_BASE, /* secure streams owned by a sequencer provide + * automatic messages about state changes on + * the sequencer, passing the oridinal in the + * event argument field. The message index is + * LWSSEQ_SS_STATE_BASE + the enum from + * lws_ss_constate_t */ + LWSSEQ_USER_BASE = 100 /* define your events from here */ } lws_seq_events_t; diff --git a/lib/core-net/close.c b/lib/core-net/close.c index 631225491..062f410ca 100644 --- a/lib/core-net/close.c +++ b/lib/core-net/close.c @@ -234,8 +234,9 @@ __lws_close_free_wsi(struct lws *wsi, enum lws_close_status reason, const char *caller) { struct lws_context_per_thread *pt; - struct lws *wsi1, *wsi2; + const struct lws_protocols *pro; struct lws_context *context; + struct lws *wsi1, *wsi2; int n, ccb; lwsl_info("%s: %p: caller: %s\n", __func__, wsi, caller); @@ -585,8 +586,15 @@ just_kill_connection: */ ccb = 1; + pro = wsi->protocol; + +#if defined(LWS_WITH_CLIENT) + if (!ccb && (lwsi_state_PRE_CLOSE(wsi) & LWSIFS_NOT_EST) && + lwsi_role_client(wsi)) { + lws_inform_client_conn_fail(wsi, "Closed before conn", 18); + } +#endif if (ccb) { - const struct lws_protocols *pro = wsi->protocol; if (!wsi->protocol && wsi->vhost && wsi->vhost->protocols) pro = &wsi->vhost->protocols[0]; diff --git a/lib/core-net/connect.c b/lib/core-net/connect.c index 450c85314..1b6d82f75 100644 --- a/lib/core-net/connect.c +++ b/lib/core-net/connect.c @@ -313,8 +313,14 @@ lws_client_connect_via_info(const struct lws_client_connect_info *i) i->uri_replace_to); #endif - if (i->method && (!strcmp(i->method, "RAW") || - !strcmp(i->method, "MQTT"))) { + if (i->method && (!strcmp(i->method, "RAW") // || +// !strcmp(i->method, "MQTT") + )) { + + /* + * Not for MQTT here, since we don't know if we will + * pipeline it or not... + */ #if defined(LWS_WITH_TLS) diff --git a/lib/core-net/network.c b/lib/core-net/network.c index 8c8954420..99e561995 100644 --- a/lib/core-net/network.c +++ b/lib/core-net/network.c @@ -213,7 +213,7 @@ lws_socket_bind(struct lws_vhost *vhost, lws_sockfd_type sockfd, int port, memset(&sin, 0, sizeof(sin)); #if defined(LWS_WITH_UNIX_SOCK) - if (LWS_UNIX_SOCK_ENABLED(vhost)) { + if (!port && LWS_UNIX_SOCK_ENABLED(vhost)) { v = (struct sockaddr *)&serv_unix; n = sizeof(struct sockaddr_un); memset(&serv_unix, 0, sizeof(serv_unix)); @@ -313,7 +313,7 @@ lws_socket_bind(struct lws_vhost *vhost, lws_sockfd_type sockfd, int port, } #if defined(LWS_WITH_UNIX_SOCK) - if (LWS_UNIX_SOCK_ENABLED(vhost)) { + if (!port && LWS_UNIX_SOCK_ENABLED(vhost)) { uid_t uid = vhost->context->uid; gid_t gid = vhost->context->gid; diff --git a/lib/core-net/output.c b/lib/core-net/output.c index fcb6a5a0e..83b8f9a4e 100644 --- a/lib/core-net/output.c +++ b/lib/core-net/output.c @@ -264,10 +264,10 @@ lws_write(struct lws *wsi, unsigned char *buf, size_t len, wsi->detlat.acc_size = m; wsi->detlat.type = LDLT_WRITE; if (wsi->detlat.earliest_write_req_pre_write) - wsi->detlat.latencies[LAT_DUR_PROXY_RX_TO_ONWARD_TX] = + wsi->detlat.latencies[LAT_DUR_PROXY_PROXY_REQ_TO_WRITE] = us - wsi->detlat.earliest_write_req_pre_write; else - wsi->detlat.latencies[LAT_DUR_PROXY_RX_TO_ONWARD_TX] = 0; + wsi->detlat.latencies[LAT_DUR_PROXY_PROXY_REQ_TO_WRITE] = 0; wsi->detlat.latencies[LAT_DUR_USERCB] = lws_now_usecs() - us; lws_det_lat_cb(wsi->context, &wsi->detlat); diff --git a/lib/core-net/private-lib-core-net.h b/lib/core-net/private-lib-core-net.h index 1507a2713..f6f0d979a 100644 --- a/lib/core-net/private-lib-core-net.h +++ b/lib/core-net/private-lib-core-net.h @@ -359,6 +359,15 @@ struct lws_context_per_thread { struct lws_dll2_owner seq_owner; /* list of lws_sequencer-s */ lws_dll2_owner_t attach_owner; /* pending lws_attach */ +#if defined(LWS_WITH_SECURE_STREAMS) + lws_dll2_owner_t ss_owner; +#endif +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) || \ + defined(LWS_WITH_SECURE_STREAMS_THREAD_API) + lws_dll2_owner_t ss_dsh_owner; + lws_dll2_owner_t ss_client_owner; +#endif + struct lws_dll2_owner pt_sul_owner; #if defined (LWS_WITH_SEQUENCER) @@ -588,9 +597,10 @@ struct lws_vhost { int log_fd; #endif - unsigned int allocated_vhost_protocols:1; - unsigned int created_vhost_protocols:1; - unsigned int being_destroyed:1; + uint8_t allocated_vhost_protocols:1; + uint8_t created_vhost_protocols:1; + uint8_t being_destroyed:1; + uint8_t from_ss_policy:1; unsigned char default_protocol_index; unsigned char raw_protocol_index; @@ -1150,6 +1160,9 @@ lws_issue_raw(struct lws *wsi, unsigned char *buf, size_t len); lws_usec_t __lws_seq_timeout_check(struct lws_context_per_thread *pt, lws_usec_t usnow); +lws_usec_t +__lws_ss_timeout_check(struct lws_context_per_thread *pt, lws_usec_t usnow); + struct lws * LWS_WARN_UNUSED_RESULT lws_client_connect_2_dnsreq(struct lws *wsi); diff --git a/lib/core-net/socks5-client.c b/lib/core-net/socks5-client.c index 7d04d4dbc..0e2c51485 100644 --- a/lib/core-net/socks5-client.c +++ b/lib/core-net/socks5-client.c @@ -86,7 +86,7 @@ lws_set_socks(struct lws_vhost *vhost, const char *socks) } } - lwsl_notice("%s: Connections via Socks5 %s:%u\n", __func__, + lwsl_debug("%s: Connections via Socks5 %s:%u\n", __func__, vhost->socks_proxy_address, vhost->socks_proxy_port); return 0; diff --git a/lib/core-net/vhost.c b/lib/core-net/vhost.c index eab28d093..dd9e52601 100644 --- a/lib/core-net/vhost.c +++ b/lib/core-net/vhost.c @@ -71,6 +71,24 @@ const struct lws_protocols *available_abstract_protocols[] = { }; #endif +#if defined(LWS_WITH_SECURE_STREAMS) +const struct lws_protocols *available_secstream_protocols[] = { +#if defined(LWS_ROLE_H1) + &protocol_secstream_h1, +#endif +#if defined(LWS_ROLE_H2) + &protocol_secstream_h2, +#endif +#if defined(LWS_ROLE_WS) + &protocol_secstream_ws, +#endif +#if defined(LWS_ROLE_MQTT) + &protocol_secstream_mqtt, +#endif + NULL +}; +#endif + static const char * const mount_protocols[] = { "http://", "https://", @@ -456,7 +474,7 @@ lws_create_vhost(struct lws_context *context, struct lws_plugin *plugin = context->plugin_list; #endif struct lws_protocols *lwsp; - int m, f = !info->pvo, fx = 0, abs_pcol_count = 0; + int m, f = !info->pvo, fx = 0, abs_pcol_count = 0, sec_pcol_count = 0; char buf[96]; #if ((defined(LWS_CLIENT_HTTP_PROXYING) && defined(LWS_WITH_CLIENT)) \ || defined(LWS_WITH_SOCKS5)) && defined(LWS_HAVE_GETENV) @@ -581,6 +599,9 @@ lws_create_vhost(struct lws_context *context, #if defined(LWS_WITH_ABSTRACT) abs_pcol_count = (int)LWS_ARRAY_SIZE(available_abstract_protocols) - 1; #endif +#if defined(LWS_WITH_SECURE_STREAMS) + sec_pcol_count = (int)LWS_ARRAY_SIZE(available_secstream_protocols) - 1; +#endif /* * give the vhost a unified list of protocols including: @@ -592,7 +613,7 @@ lws_create_vhost(struct lws_context *context, */ lwsp = lws_zalloc(sizeof(struct lws_protocols) * (vh->count_protocols + - abs_pcol_count + + abs_pcol_count + sec_pcol_count + context->plugin_protocol_count + fx + 1), "vhost-specific plugin table"); @@ -633,6 +654,14 @@ lws_create_vhost(struct lws_context *context, } #endif +#if defined(LWS_WITH_SECURE_STREAMS) + for (n = 0; n < sec_pcol_count; n++) { + memcpy(&lwsp[m++], available_secstream_protocols[n], + sizeof(*lwsp)); + vh->count_protocols++; + } +#endif + /* * 3: For compatibility, all protocols enabled on vhost if only * the default vhost exists. Otherwise only vhosts who ask @@ -1287,6 +1316,8 @@ lws_vhost_destroy(struct lws_vhost *vh) lws_vhost_destroy1(vh); + lwsl_debug("%s: count_bound_wsi %d\n", __func__, vh->count_bound_wsi); + if (!vh->count_bound_wsi) { /* * After listen handoff, there are already no wsi bound to this @@ -1406,6 +1437,7 @@ lws_vhost_active_conns(struct lws *wsi, struct lws **nwsi, const char *adsin) return ACTIVE_CONNS_QUEUED; } +#if defined(LWS_ROLE_H2) || defined(LWS_ROLE_MQTT) if (wsi->mux.parent_wsi) { /* * We already decided... @@ -1415,6 +1447,7 @@ lws_vhost_active_conns(struct lws *wsi, struct lws **nwsi, const char *adsin) return ACTIVE_CONNS_MUXED; } +#endif lws_vhost_lock(wsi->vhost); /* ----------------------------------- { */ @@ -1448,7 +1481,7 @@ lws_vhost_active_conns(struct lws *wsi, struct lws **nwsi, const char *adsin) * connection that it doesn't support pipelining... */ if (w->keepalive_rejected) { - lwsl_info("defeating pipelining due to no " + lwsl_notice("defeating pipelining due to no " "keepalive on server\n"); goto solo; } diff --git a/lib/core-net/wsi-timeout.c b/lib/core-net/wsi-timeout.c index cfbb7d2b1..843869f96 100644 --- a/lib/core-net/wsi-timeout.c +++ b/lib/core-net/wsi-timeout.c @@ -294,7 +294,7 @@ lws_validity_cb(lws_sorted_usec_list_t *sul) /* schedule a protocol-dependent ping */ - lwsl_info("%s: wsi %p: scheduling validity check\n", __func__, wsi); + lwsl_notice("%s: wsi %p: scheduling validity check\n", __func__, wsi); if (wsi->role_ops && wsi->role_ops->issue_keepalive) wsi->role_ops->issue_keepalive(wsi, 0); diff --git a/lib/core/context.c b/lib/core/context.c index 9ad693937..8b0759455 100644 --- a/lib/core/context.c +++ b/lib/core/context.c @@ -114,7 +114,7 @@ lws_state_notify_protocol_init(struct lws_state_manager *mgr, lws_system_do_attach(&context->pt[n]); #if defined(LWS_WITH_SYS_DHCP_CLIENT) - if (current == LWS_SYSTATE_DHCP) { + if (target == LWS_SYSTATE_DHCP) { /* * Don't let it past here until at least one iface has been * configured for operation with DHCP @@ -125,6 +125,40 @@ lws_state_notify_protocol_init(struct lws_state_manager *mgr, } #endif +#if defined(LWS_WITH_SECURE_STREAMS_SYS_AUTH_API_AMAZON_COM) + /* + * Skip this if we are running something without the policy for it + */ + if (target == LWS_SYSTATE_AUTH1 && + context->pss_policies && + !lws_system_blob_get_size(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + 0))) { + lwsl_info("%s: AUTH1 state triggering api.amazon.com auth\n", __func__); + /* + * Start trying to acquire it if it's not already in progress + * returns nonzero if we determine it's not needed + */ + if (!lws_ss_sys_auth_api_amazon_com(context)) + return 1; + } +#endif + +#if defined(LWS_WITH_SECURE_STREAMS) + /* + * Skip this if we are running something without the policy for it + */ + if (target == LWS_SYSTATE_POLICY_VALID && + context->pss_policies && !context->policy_updated) { + /* + * Start trying to acquire it if it's not already in progress + * returns nonzero if we determine it's not needed + */ + if (!lws_ss_sys_fetch_policy(context)) + return 1; + } +#endif + /* protocol part */ if (context->protocol_init_done) @@ -245,6 +279,15 @@ lws_create_context(const struct lws_context_creation_info *info) __func__, context->udp_loss_sim_tx_pc, context->udp_loss_sim_rx_pc); +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + context->ss_proxy_bind = info->ss_proxy_bind; + context->ss_proxy_port = info->ss_proxy_port; + context->ss_proxy_address = info->ss_proxy_address; + lwsl_notice("%s: using ss proxy bind '%s', port %d, ads '%s'\n", + __func__, context->ss_proxy_bind, context->ss_proxy_port, + context->ss_proxy_address); +#endif + #if defined(LWS_WITH_NETWORK) context->count_threads = count_threads; #if defined(LWS_WITH_DETAILED_LATENCY) @@ -258,6 +301,11 @@ lws_create_context(const struct lws_context_creation_info *info) #endif #endif +#if defined(LWS_WITH_SECURE_STREAMS) + context->pss_policies_json = info->pss_policies_json; + context->pss_plugins = info->pss_plugins; +#endif + /* if he gave us names, set the uid / gid */ if (lws_plat_drop_app_privileges(context, 0)) goto bail; @@ -634,7 +682,6 @@ lws_create_context(const struct lws_context_creation_info *info) context->user_space = info->user; - #if defined(LWS_WITH_SERVER) strcpy(context->canonical_hostname, "unknown"); #if defined(LWS_WITH_NETWORK) @@ -755,6 +802,33 @@ lws_create_context(const struct lws_context_creation_info *info) goto fail_clean_pipes; } +#if defined(LWS_WITH_SECURE_STREAMS) + + if (context->pss_policies_json) { + /* + * You must create your context with the explicit vhosts flag + * in order to use secure streams + */ + assert(lws_check_opt(info->options, + LWS_SERVER_OPTION_EXPLICIT_VHOSTS)); + + if (lws_ss_policy_parse_begin(context)) + goto bail; + + n = lws_ss_policy_parse(context, + (uint8_t *)context->pss_policies_json, + strlen(context->pss_policies_json)); + if (n != LEJP_CONTINUE && n < 0) + goto bail; + + if (lws_ss_policy_set(context, "hardcoded")) { + lwsl_err("%s: policy set failed\n", __func__); + goto bail; + } + } else + lws_create_vhost(context, info); +#endif + lws_context_init_extensions(info, context); lwsl_info(" mem: per-conn: %5lu bytes + protocol rx buf\n", @@ -859,9 +933,10 @@ static void lws_context_destroy3(struct lws_context *context) { struct lws_context **pcontext_finalize = context->pcontext_finalize; -#if defined(LWS_WITH_NETWORK) int n; +#if defined(LWS_WITH_NETWORK) + lwsl_debug("%s\n", __func__); for (n = 0; n < context->count_threads; n++) { @@ -905,6 +980,10 @@ lws_context_destroy3(struct lws_context *context) compatible_close(context->latencies_fd); #endif + for (n = 0; n < LWS_SYSBLOB_TYPE_COUNT; n++) + lws_system_blob_destroy( + lws_system_get_blob(context, n, 0)); + lws_free(context); lwsl_info("%s: ctx %p freed\n", __func__, context); @@ -921,6 +1000,7 @@ lws_context_destroy2(struct lws_context *context) { #if defined(LWS_WITH_NETWORK) struct lws_vhost *vh = NULL, *vh1; + int n; #endif #if defined(LWS_WITH_PEER_LIMITS) uint32_t nu; @@ -932,6 +1012,48 @@ lws_context_destroy2(struct lws_context *context) context->being_destroyed2 = 1; #if defined(LWS_WITH_NETWORK) + + /* + * We're going to trash things like vhost-protocols + * So we need to finish dealing with wsi close that + * might make callbacks first + */ + for (n = 0; n < context->count_threads; n++) { + struct lws_context_per_thread *pt = &context->pt[n]; + + (void)pt; + +#if defined(LWS_WITH_SECURE_STREAMS) + lws_dll2_foreach_safe(&pt->ss_owner, NULL, lws_ss_destroy_dll); + if (context->ac_policy) + lwsac_free(&context->ac_policy); +#endif + +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + lws_dll2_foreach_safe(&pt->ss_client_owner, NULL, lws_sspc_destroy_dll); +#endif + +#if defined(LWS_WITH_SEQUENCER) + lws_seq_destroy_all_on_pt(pt); +#endif + LWS_FOR_EVERY_AVAILABLE_ROLE_START(ar) { + if (ar->pt_init_destroy) + ar->pt_init_destroy(context, NULL, pt, 1); + } LWS_FOR_EVERY_AVAILABLE_ROLE_END; + +#if defined(LWS_WITH_CGI) + role_ops_cgi.pt_init_destroy(context, NULL, pt, 1); +#endif + + if (context->event_loop_ops->destroy_pt) + context->event_loop_ops->destroy_pt(context, n); + +#if defined(LWS_ROLE_H1) || defined(LWS_ROLE_H2) + while (pt->http.ah_list) + _lws_destroy_ah(pt, pt->http.ah_list); +#endif + } + /* * free all the per-vhost allocations */ @@ -982,6 +1104,7 @@ lws_context_destroy2(struct lws_context *context) lws_check_deferred_free(context, 0, 1); #endif + #if LWS_MAX_SMP > 1 lws_mutex_refcount_destroy(&context->mr); #endif @@ -1185,3 +1308,13 @@ out: context->inside_context_destroy = 0; #endif } + +struct lws_context * +lws_system_context_from_system_mgr(lws_state_manager_t *mgr) +{ +#if defined(LWS_WITH_NETWORK) + return lws_container_of(mgr, struct lws_context, mgr_system); +#else + return NULL; +#endif +} diff --git a/lib/core/private-lib-core.h b/lib/core/private-lib-core.h index 9a639b0ce..f1343836d 100644 --- a/lib/core/private-lib-core.h +++ b/lib/core/private-lib-core.h @@ -197,6 +197,9 @@ struct lws; #if defined(LWS_WITH_NETWORK) #include "private-lib-event-libs.h" +#if defined(LWS_WITH_SECURE_STREAMS) +#include "private-lib-secure-streams.h" +#endif struct lws_io_watcher { #ifdef LWS_WITH_LIBEV @@ -357,6 +360,14 @@ struct lws_context { lws_async_dns_t async_dns; #endif +#if defined(LWS_WITH_SECURE_STREAMS_SYS_AUTH_API_AMAZON_COM) + void *pol_args; + struct lws_ss_handle *hss_auth; + struct lws_ss_handle *hss_fetch_policy; + lws_sorted_usec_list_t sul_api_amazon_com; + lws_sorted_usec_list_t sul_api_amazon_com_kick; +#endif + lws_state_manager_t mgr_system; lws_state_notify_link_t protocols_notify; #if defined (LWS_WITH_SYS_DHCP_CLIENT) @@ -397,6 +408,11 @@ struct lws_context { #endif #endif /* NETWORK */ +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + const char *ss_proxy_bind; + const char *ss_proxy_address; +#endif + #if defined(LWS_WITH_FILE_OPS) const struct lws_plat_file_ops *fops; #endif @@ -425,6 +441,14 @@ struct lws_context { #endif const lws_system_ops_t *system_ops; + +#if defined(LWS_WITH_SECURE_STREAMS) + const char *pss_policies_json; + const lws_ss_policy_t *pss_policies; + const lws_ss_plugin_t **pss_plugins; + struct lwsac *ac_policy; +#endif + void *external_baggage_free_on_destroy; const struct lws_token_limits *token_limits; void *user_space; @@ -487,6 +511,7 @@ struct lws_context { unsigned int done_protocol_destroy_cb:1; unsigned int finalize_destroy_after_internal_loops_stopped:1; unsigned int max_fds_unrelated_to_ulimit:1; + unsigned int policy_updated:1; short count_threads; short plugin_protocol_count; @@ -494,6 +519,9 @@ struct lws_context { short server_string_len; unsigned short ws_ping_pong_interval; unsigned short deprecation_pending_listen_close_count; +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + uint16_t ss_proxy_port; +#endif uint8_t max_fi; uint8_t udp_loss_sim_tx_pc; diff --git a/lib/misc/lwsac/lwsac.c b/lib/misc/lwsac/lwsac.c index 3ca48a707..596b08215 100644 --- a/lib/misc/lwsac/lwsac.c +++ b/lib/misc/lwsac/lwsac.c @@ -146,6 +146,7 @@ _lwsac_use(struct lwsac **head, size_t ensure, size_t chunk_size, char backfill) if (al >= alloc - hp) alloc = al + hp; + lwsl_debug("%s: alloc %d for %d\n", __func__, (int)alloc, (int)ensure); bf = malloc(alloc); if (!bf) { lwsl_err("%s: OOM trying to alloc %llud\n", __func__, diff --git a/lib/roles/h2/http2.c b/lib/roles/h2/http2.c index 1c333852a..d08084ae6 100644 --- a/lib/roles/h2/http2.c +++ b/lib/roles/h2/http2.c @@ -2611,7 +2611,7 @@ lws_h2_client_stream_long_poll_rxonly(struct lws *wsi) wsi->h2.long_poll = 1; wsi->h2.send_END_STREAM = 1; - lws_header_table_detach(wsi, 0); + // lws_header_table_detach(wsi, 0); lws_callback_on_writable(wsi); diff --git a/lib/roles/http/client/client-handshake.c b/lib/roles/http/client/client-handshake.c index 6d7090239..e81a4fc8b 100644 --- a/lib/roles/http/client/client-handshake.c +++ b/lib/roles/http/client/client-handshake.c @@ -200,6 +200,31 @@ send_hs: else { /* for a method = "RAW" connection, this makes us * established */ + +#if defined(LWS_WITH_TLS) + if (wsi->tls.use_ssl & LCCSCF_USE_SSL) { + + /* we can retry this... just cook the SSL BIO the first time */ + + if (lws_ssl_client_bio_create(wsi) < 0) { + lwsl_err("%s: bio_create failed\n", __func__); + goto failed; + } + + //#if !defined(LWS_WITH_SYS_ASYNC_DNS) + if (wsi->tls.use_ssl & LCCSCF_USE_SSL) { + n = lws_ssl_client_connect1(wsi); + if (!n) + return wsi; + if (n < 0) { + lwsl_err("%s: lws_ssl_client_connect1 failed\n", __func__); + goto failed; + } + } + //#endif + } +#endif + #if 0 #if defined(LWS_WITH_SYS_ASYNC_DNS) if (wsi->tls.use_ssl & LCCSCF_USE_SSL) { diff --git a/lib/roles/http/parsers.c b/lib/roles/http/parsers.c index 5afe0acfc..7abedb6a9 100644 --- a/lib/roles/http/parsers.c +++ b/lib/roles/http/parsers.c @@ -286,10 +286,10 @@ reset: lws_pt_unlock(pt); +#if defined(LWS_WITH_CLIENT) #if defined(LWS_ROLE_MQTT) connect_via_info2: #endif -#if defined(LWS_WITH_CLIENT) if (lwsi_role_client(wsi) && lwsi_state(wsi) == LRS_UNCONNECTED) if (!lws_http_client_connect_via_info2(wsi)) /* our client connect has failed, the wsi @@ -349,6 +349,7 @@ int __lws_header_table_detach(struct lws *wsi, int autoservice) lws_peer_track_ah_detach(context, wsi->peer); #endif ah->wsi = NULL; /* no owner */ + wsi->http.ah = NULL; pwsi = &pt->http.ah_wait_list; diff --git a/lib/roles/http/server/server.c b/lib/roles/http/server/server.c index f9cae3263..eb45bb43a 100644 --- a/lib/roles/http/server/server.c +++ b/lib/roles/http/server/server.c @@ -1900,8 +1900,8 @@ lws_http_to_fallback(struct lws *wsi, unsigned char *obuf, size_t olen) lws_set_timeout(wsi, NO_PENDING_TIMEOUT, 0); n = LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED; - if (wsi->role_ops->adoption_cb[lwsi_role_server(wsi)]) - n = wsi->role_ops->adoption_cb[lwsi_role_server(wsi)]; + if (wsi->role_ops->adoption_cb[0]) + n = wsi->role_ops->adoption_cb[0]; ipbuf[0] = '\0'; #if !defined(LWS_PLAT_OPTEE) diff --git a/lib/roles/mqtt/mqtt.c b/lib/roles/mqtt/mqtt.c index 808ca37c1..bb07feb53 100644 --- a/lib/roles/mqtt/mqtt.c +++ b/lib/roles/mqtt/mqtt.c @@ -1705,6 +1705,8 @@ lws_mqtt_client_send_publish(struct lws *wsi, lws_mqtt_publish_param_t *pub, do_write: + // lwsl_hexdump_err(start, lws_ptr_diff(p, start)); + if (lws_write(nwsi, start, lws_ptr_diff(p, start), LWS_WRITE_BINARY) != lws_ptr_diff(p, start)) { lwsl_err("%s: write failed\n", __func__); diff --git a/lib/secure-streams/README.md b/lib/secure-streams/README.md new file mode 100644 index 000000000..baf7c370c --- /dev/null +++ b/lib/secure-streams/README.md @@ -0,0 +1,398 @@ +# Secure Streams + +Secure Streams is a client api that strictly separates payload from any metadata. +That includes the endpoint address for the connection, the tls CA and even the +protocol used to connect to the endpoint. + +The user api just receives and transmits payload, and receives advisory connection +state information. + +The details about how the connections for different types of secure stream should +be made are held in JSON "policy database" initially passed in to the context +creation, but able to be updated from a remote copy. + +![overview](../doc-assets/ss-explain.png) + +# JSON Policy Database + +Example JSON policy... formatting is shown for clarity but whitespace can be +omitted in the actual policy. + +Ordering is not critical in itself, but forward references are not allowed, +things must be defined before they are allowed to be referenced later in the +JSON. + + +``` +{ + "release": "01234567", + "product": "myproduct", + "schema-version": 1, + "retry": [{ + "default": { + "backoff": [1000, 2000, 3000, 5000, 10000], + "conceal": 5, + "jitterpc": 20 + } + }], + "certs": [{ + "isrg_root_x1": "MIIFazCCA1OgAw...AnX5iItreGCc=" + }, { + "LEX3_isrg_root_x1": "MIIFjTCCA3WgAwIB...WEsikxqEt" + }], + "trust_stores": [{ + "le_via_isrg": ["isrg_root_x1", "LEX3_isrg_root_x1"] + }], + "s": [{ + "mintest": { + "endpoint": "warmcat.com", + "port": 4443, + "protocol": "h1get", + "aux": "index.html", + "plugins": [], + "tls": true, + "opportunistic": true, + "retry": "default", + "tls_trust_store": "le_via_isrg" + } + }] +} +``` + +### `Release` + +Identifies the policy version + +### `Product` + +Identifies the product the policy should apply to + +### `Schema-version` + +The minimum version of the policy parser required to parse this policy + +### `via-socks5` + +Optional redirect for Secure Streams client traffic through a socks5 +proxy given in the format `address:port`, eg, `127.0.0.1:12345`. + +### `retry` + +A list of backoff schemes referred to in the policy + +### `backoff` + +An array of ms delays for each retry in turn + +### `conceal` + +The number of retries to conceal from higher layers before giving errors. If +this is larger than the number of times in the backoff array, then the last time +is used for the extra delays + +### `jitterpc` + +Percentage of the delay times mentioned in the backoff array that may be +randomly added to the figure from the array. For example with an array entry of +1000ms, and jitterpc of 20%, actual delays will be chosen randomly from 1000ms +through 1200ms. This is to stop retry storms triggered by a single event like +an outage becoming synchronized into a DoS. + +### `certs` + +Certificates needed for validation should be listed here each with a name. The +format is base64 DER, which is the same as the part of PEM that is inside the +start and end lines. + +### `trust_stores` + +Chains of certificates given in the `certs` section may be named and described +inside the `trust_stores` section. Each entry in `trust_stores` is created as +a vhost + tls context with the given name. Stream types can later be associated +with one of these to enforce validity checking of the remote server. + +Entries should be named using "name" and the stack array defined using "stack" + +### `s` + +These are an array of policies for the supported stream type names. + +### `endpoint` + +The DNS address the secure stream should connect to + +### `port` + +The port number as an integer on the endpoint to connect to + +### `protocol` + +The wire protocol to connect to the endpoint with. Currently supported +streamtypes are + +|Wire protocol|Description| +|---|---| +|h1|http/1| +|h2|http/2| +|ws|http/1 Websockets| +|mqtt|mqtt 3.1.1| + +### `plugins` + +Array of plugin names to apply to the stream, if any + +### `tls` + +Set to `true` to enforce the stream travelling in a tls tunnel + +### `client cert` + +Set if the stream needs to authenticate itself using a tls client certificate. +Set to the certificate index counting from 0+. The certificates are managed +using lws_sytstem blobs. + +### `opportunistic` + +Set to `true` if the connection may be left dropped except when in use + +### `nailed_up` + +Set to `true` to have lws retry if the connection carrying this stream should +ever drop. + +### `retry` + +The name of the policy described in the `retry` section to apply to this +connection for retry + backoff + +### `tls_trust_store` + +The name of the trust store described in the `trust_stores` section to apply +to validate the remote server cert. + +## http transport + +### `http_method` + +HTTP method to use with http-related protocols, like GET or POST. +Not required for ws. + +### `http_url` + +Url path to use with http-related protocols + +The URL path can include metatadata like this + +"/mypath?whatever=${metadataname}" + +${metadataname} will be replaced by the current value of the +same metadata name. The metadata names must be listed in the +"metadata": [ ] section. + +### `http_auth_header` + +The name of the header that takes the auth token, with a trailing ':', eg + +``` + "http_auth_header": "authorization:" +``` + +### `http_dsn_header` + +The name of the header that takes the dsn token, with a trailing ':', eg + +``` + "http_dsn_header": "x-dsn:" +``` + +### `http_fwv_header` + +The name of the header that takes the firmware version token, with a trailing ':', eg + +``` + "http_fwv_header": "x-fw-version:" +``` + +### `http_devtype_header` + +The name of the header that takes the device type token, with a trailing ':', eg + +``` + "http_devtype_header": "x-device-type:" +``` + +### `http_auth_preamble` + +An optional string that precedes the auth token, eg + +``` + "http_auth_preamble": "bearer " +``` + +### `auth_hexify` + +Convert the auth token to hex ('A' -> "41") before transporting. Not necessary if the +auth token is already in printable string format suitable for transport. Needed if the +auth token is a chunk of 8-bit binary. + +### `nghttp2_quirk_end_stream` + +Set this to `true` if the peer server has the quirk it won't send a response until we have +sent an `END_STREAM`, even though we have sent headers with `END_HEADERS`. + +### `h2q_oflow_txcr` + +Set this to `true` if the peer server has the quirk it sends an maximum initial tx credit +of 0x7fffffff and then later increments it illegally. + +### `http_multipart_name` + +Indicates this stream goes out using multipart mime, and provides the name part of the +multipart header + +### `http_multipart_filename` + +Indicates this stream goes out using multipart mime, and provides the filename part of the +multipart header + +### `http_multipart_content_type` + +The `content-type` to mark up the multipart mime section with if present + +### `http_www_form_urlencoded` + +Indicate the data is sent in `x-www-form-urlencoded` form + +### `rideshare` + +For special cases where one logically separate stream travels with another when using this +protocol. Eg, a single multipart mime transaction carries content from two or more streams. + +## ws transport + +### `ws_subprotocol` + +Name of the ws subprotocol to use. + +### `ws_binary` + +Use if the ws messages are binary + +## MQTT transport + +### `mqtt_topic` + +Set the topic this streamtype uses for writes + +### `mqtt_subscribe` + +Set the topic this streamtype subscribes to + +### `mqtt qos` + +Set the QOS level for this streamtype + +## Loading and using updated remote policy + +If the default, hardcoded policy includes a streamtype `fetch_policy`, +during startup when lws_system reaches the POLICY state, lws will use +a Secure Stream of type `fetch_policy` to download, parse and update +the policy to use it. + +The secure-streams-proxy minimal example shows how this is done and +fetches its real policy from warmcat.com at startup using the built-in +one. + +## Stream serialization and proxying + +By default Secure Streams expects to make the outgoing connection described in +the policy in the same process / thread, this suits the case where all the +participating clients are in the same statically-linked image. + +In this case the `lws_ss_` apis are fulfilled locally by secure-streams.c and +policy.c for policy lookups. + +However it also supports serialization, where the SS api can be streamed over +another transport such as a Unix Domain Socket connection. This suits the case +where the clients are actually in different processes in, eg, Linux or Android. + +In those cases, you run a proxy process (minimal-secure-streams-proxy) that +listens on a Unix Domain Socket and is connected to by one or more other +processes that pass their SS API activity to the proxy for fulfilment (or +onward proxying). + +In this case the proxy uses secure-streams.c and policy.c as before to fulfil +the inbound proxy streams, but uses secure-streams-serialize.c to serialize and +deserialize the proxied SS API activity. The proxy clients define +LWS_SS_USE_SSPC either very early in their sources before the includes, or on +the compiler commandline... this causes the lws_ss_ apis to be replaced at +preprocessor time with lws_sspc_ equivalents. These serialize the api action +and pass it to the proxy over a Unix Domain Socket for fulfilment, the results +and state changes etc are streamed over the Unix Domain Socket and presented to +the application exactly the same as if it was being fulfilled locally. + +To demonstrate this, some minimal examples, eg, minimal-secure-streams and +mimimal-secure-streams-avs build themselves both ways, once with direct SS API +fulfilment and once with Unix Domain Socket proxying and -client appended on the +executable name. To test the -client variants, run minimal-secure-streams-proxy +on the same machine. + +## Complicated scenarios with secure streams proxy + +As mentioned above, Secure Streams has two modes, by default the application +directly parses the policy and makes the outgoing connections itself. +However when configured at cmake with + +``` +-DLWS_WITH_SOCKS=1 -DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_SECURE_STREAMS_PROXY_API=1 -DLWS_WITH_MINIMAL_EXAMPLES=1 +``` + +and define `LWS_SS_USE_SSPC` when building the application, applications forward +their network requests to a local or remote SS proxy for fulfilment... and only +the SS proxy has the system policy. By default, the SS proxy is on the local +machine and is connected to via a Unix Domain Socket, but tcp links are also +possible. (Note the proxied traffic is not encrypyed by default.) + +Using the configuration above, the example SS applications are built two ways, +once for direct connection fulfilment (eg, `./bin/lws-minimal-secure-streams`), +and once with `LWS_SS_USE_SSPC` also defined so it connects via an SS proxy, +(eg, `./bin/lws-minimal-secure-streams-client`). + +## Testing an example scenario with SS Proxy and socks5 proxy + +``` + [ SS application ] --- tcp --- [ socks 5 proxy ] --- tcp --- [ SS proxy ] --- internet +``` + +In this scenario, everything is on localhost, the socks5 proxy listens on :1337 and +the SS proxy listens on :1234. The SS application connects to the socks5 +proxy to get to the SS proxy, which then goes out to the internet + +### 1 Start the SS proxy + +Tell it to listen on lo interface on port 1234 + +``` +$ ./bin/lws-minimal-secure-streams-proxy -p 1234 -i lo +``` + +### 2 Start the SOCKS5 proxy + +``` +$ ssh -D 1337 -N -v localhost +``` + +The -v makes connections to the proxy visible in the terminal for testing + +### 3 Run the SS application + +The application is told to make all connections via the socks5 proxy at +127.0.0.1:1337, and to fulfil its SS connections via an SS proxy, binding +connections to 127.0.0.1 (ipv4 lo interface, -1), to 127.0.0.1:1234 (-a/-p). + +``` +socks_proxy=127.0.0.1:1337 ./bin/lws-minimal-secure-streams-client -p 1234 -i 127.0.0.1 -a 127.0.0.1 +``` + +You can confirm this goes through the ssh socks5 proxy to get to the SS proxy +and fulfil the connection. diff --git a/lib/secure-streams/plugins/ssp-h1url/h1url.c b/lib/secure-streams/plugins/ssp-h1url/h1url.c new file mode 100644 index 000000000..2e47c714c --- /dev/null +++ b/lib/secure-streams/plugins/ssp-h1url/h1url.c @@ -0,0 +1,40 @@ +/* + * ssp-h1url plugin + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * CC0 so it can be used as a template for your own secure streams plugins + * licensed how you like. + */ + +#include + +static int +ssp_h1url_create(struct lws_ss_handle *ss, void *info, plugin_auth_status_cb status) +{ + return 0; +} + +static int +ssp_h1url_destroy(struct lws_ss_handle *ss) +{ + return 0; +} + +static int +ssp_h1url_munge(struct lws_ss_handle *ss, char *path, size_t path_len) +{ + return 0; +} + +/* this is the only exported symbol */ +const lws_ss_plugin_t ssp_h1url = { + .name = "h1url", + .alloc = 0, + .create = ssp_h1url_create, + .destroy = ssp_h1url_destroy, + .munge = ssp_h1url_munge +}; diff --git a/lib/secure-streams/policy.c b/lib/secure-streams/policy.c new file mode 100644 index 000000000..0ef8f1d54 --- /dev/null +++ b/lib/secure-streams/policy.c @@ -0,0 +1,942 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +typedef struct backoffs { + struct backoffs *next; + const char *name; + lws_retry_bo_t r; +} backoff_t; + +static const char * const lejp_tokens_policy[] = { + "release", + "product", + "schema-version", + "via-socks5", + "retry[].*.backoff", + "retry[].*.conceal", + "retry[].*.jitterpc", + "retry[].*.svalidping", + "retry[].*.svalidhup", + "retry[].*", + "certs[].*", + "trust_stores[].name", + "trust_stores[].stack", + "s[].*.endpoint", + "s[].*.via-socks5", + "s[].*.protocol", + "s[].*.port", + "s[].*.plugins", + "s[].*.tls", + "s[].*.client_cert", + "s[].*.opportunistic", + "s[].*.nailed_up", + "s[].*.urgent_tx", + "s[].*.urgent_rx", + "s[].*.long_poll", + "s[].*.retry", + "s[].*.tls_trust_store", + "s[].*.metadata", + "s[].*.metadata[].*", + + "s[].*.http_auth_header", + "s[].*.http_dsn_header", + "s[].*.http_fwv_header", + "s[].*.http_devtype_header", + + "s[].*.http_auth_preamble", + + "s[].*.http_no_content_length", + "s[].*.rideshare", /* streamtype name this rides shotgun with */ + "s[].*.payload_fmt", + "s[].*.http_method", + "s[].*.http_url", + "s[].*.nghttp2_quirk_end_stream", + "s[].*.h2q_oflow_txcr", + "s[].*.http_multipart_name", + "s[].*.http_multipart_filename", + "s[].*.http_mime_content_type", + "s[].*.http_www_form_urlencoded", + "s[].*.ws_subprotocol", + "s[].*.ws_binary", + "s[].*.local_sink", + "s[].*.mqtt_topic", + "s[].*.mqtt_subscribe", + "s[].*.mqtt_qos", + "s[].*", +}; + +typedef enum { + LSSPPT_RELEASE, + LSSPPT_PRODUCT, + LSSPPT_SCHEMA_VERSION, + LSSPPT_VIA_SOCKS5, + LSSPPT_BACKOFF, + LSSPPT_CONCEAL, + LSSPPT_JITTERPC, + LSSPPT_VALIDPING_S, + LSSPPT_VALIDHUP_S, + LSSPPT_RETRY, + LSSPPT_CERTS, + LSSPPT_TRUST_STORES_NAME, + LSSPPT_TRUST_STORES_STACK, + LSSPPT_ENDPOINT, + LSSPPT_VH_VIA_SOCKS5, + LSSPPT_PROTOCOL, + LSSPPT_PORT, + LSSPPT_PLUGINS, + LSSPPT_TLS, + LSSPPT_TLS_CLIENT_CERT, + LSSPPT_OPPORTUNISTIC, + LSSPPT_NAILED_UP, + LSSPPT_URGENT_TX, + LSSPPT_URGENT_RX, + LSSPPT_LONG_POLL, + LSSPPT_RETRYPTR, + LSSPPT_TRUST, + LSSPPT_METADATA, + LSSPPT_METADATA_ITEM, + + LSSPPT_HTTP_AUTH_HEADER, + LSSPPT_HTTP_DSN_HEADER, + LSSPPT_HTTP_FWV_HEADER, + LSSPPT_HTTP_TYPE_HEADER, + + LSSPPT_HTTP_AUTH_PREAMBLE, + LSSPPT_HTTP_NO_CONTENT_LENGTH, + LSSPPT_RIDESHARE, + LSSPPT_PAYLOAD_FORMAT, + LSSPPT_HTTP_METHOD, + LSSPPT_HTTP_URL, + LSSPPT_NGHTTP2_QUIRK_END_STREAM, + LSSPPT_H2_QUIRK_OVERFLOWS_TXCR, + LSSPPT_HTTP_MULTIPART_NAME, + LSSPPT_HTTP_MULTIPART_FILENAME, + LSSPPT_HTTP_MULTIPART_CONTENT_TYPE, + LSSPPT_HTTP_WWW_FORM_URLENCODED, + LSSPPT_WS_SUBPROTOCOL, + LSSPPT_WS_BINARY, + LSSPPT_LOCAL_SINK, + LSSPPT_MQTT_TOPIC, + LSSPPT_MQTT_SUBSCRIBE, + LSSPPT_MQTT_QOS, + LSSPPT_STREAMTYPES +} policy_token_t; + +union u { + backoff_t *b; + lws_ss_x509_t *x; + lws_ss_trust_store_t *t; + lws_ss_policy_t *p; +}; + +enum { + LTY_BACKOFF, + LTY_X509, + LTY_TRUSTSTORE, + LTY_POLICY, + + _LTY_COUNT /* always last */ +}; + +struct policy_cb_args { + struct lejp_ctx jctx; + struct lws_context *context; + struct lwsac *ac; + + const char *socks5_proxy; + + struct lws_b64state b64; + + union u heads[_LTY_COUNT]; + union u curr[_LTY_COUNT]; + + uint8_t *p; + + int count; +}; + +#define POL_AC_INITIAL 2048 +#define POL_AC_GRAIN 800 +#define MAX_CERT_TEMP 2048 /* used to discover actual cert size for realloc */ + +static uint8_t sizes[] = { + sizeof(backoff_t), + sizeof(lws_ss_x509_t), + sizeof(lws_ss_trust_store_t), + sizeof(lws_ss_policy_t), +}; + +static const char *protonames[] = { + "h1", /* LWSSSP_H1 */ + "h2", /* LWSSSP_H2 */ + "ws", /* LWSSSP_WS */ + "mqtt", /* LWSSSP_MQTT */ +}; + +lws_ss_metadata_t * +lws_ss_policy_metadata(const lws_ss_policy_t *p, const char *name) +{ + lws_ss_metadata_t *pmd = p->metadata; + + while (pmd) { + if (pmd->name && !strcmp(name, pmd->name)) + return pmd; + pmd = pmd->next; + } + + return NULL; +} + +lws_ss_metadata_t * +lws_ss_policy_metadata_index(const lws_ss_policy_t *p, size_t index) +{ + lws_ss_metadata_t *pmd = p->metadata; + + while (pmd) { + if (pmd->length == index) + return pmd; + pmd = pmd->next; + } + + return NULL; +} + +int +lws_ss_set_metadata(struct lws_ss_handle *h, const char *name, + void *value, size_t len) +{ + lws_ss_metadata_t *omd = lws_ss_policy_metadata(h->policy, name); + + if (!omd) { + lwsl_err("%s: unknown metadata %s\n", __func__, name); + return 1; + } + + h->metadata[omd->length].name = name; + h->metadata[omd->length].value = value; + h->metadata[omd->length].length = len; + + return 0; +} + +lws_ss_metadata_t * +lws_ss_get_handle_metadata(struct lws_ss_handle *h, const char *name) +{ + lws_ss_metadata_t *omd = lws_ss_policy_metadata(h->policy, name); + + if (!omd) + return NULL; + + return &h->metadata[omd->length]; +} + +static signed char +lws_ss_policy_parser_cb(struct lejp_ctx *ctx, char reason) +{ + struct policy_cb_args *a = (struct policy_cb_args *)ctx->user; + const lws_ss_plugin_t **pin; + char **pp, dotstar[32], *q; + lws_ss_trust_store_t *ts; + lws_ss_metadata_t *pmd; + lws_retry_bo_t *b; + size_t inl, outl; + lws_ss_x509_t *x; + uint8_t *extant; + backoff_t *bot; + int n = -1; + + lwsl_debug("%s: %d %d %s\n", __func__, reason, ctx->path_match - 1, + ctx->path); + + switch (ctx->path_match - 1) { + case LSSPPT_RETRY: + n = LTY_BACKOFF; + break; + case LSSPPT_CERTS: + n = LTY_X509; + break; + case LSSPPT_TRUST_STORES_NAME: + case LSSPPT_TRUST_STORES_STACK: + n = LTY_TRUSTSTORE; + break; + case LSSPPT_STREAMTYPES: + n = LTY_POLICY; + break; + } + + if (reason == LEJPCB_ARRAY_START && + (ctx->path_match - 1 == LSSPPT_PLUGINS || + ctx->path_match - 1 == LSSPPT_METADATA)) + a->count = 0; + + if (reason == LEJPCB_ARRAY_END && + ctx->path_match - 1 == LSSPPT_TRUST_STORES_STACK && !a->count) { + lwsl_err("%s: at least one cert required in trust store\n", + __func__); + goto oom; + } + + if (reason == LEJPCB_OBJECT_END && a->p) { + /* + * Allocate a just-the-right-size buf for the cert DER now + * we decoded it into the a->p temp buffer and know the exact + * size + */ + a->curr[LTY_X509].x->ca_der = lws_malloc(a->count, "ssx509"); + if (!a->curr[LTY_X509].x->ca_der) + goto oom; + memcpy((uint8_t *)a->curr[LTY_X509].x->ca_der, a->p, a->count); + a->curr[LTY_X509].x->ca_der_len = a->count; + + /* + * ... and then we can free the temp buffer + */ + lws_free_set_NULL(a->p); + + return 0; + } + + if (reason == LEJPCB_PAIR_NAME && n != -1 && n != LTY_TRUSTSTORE) { + /* + * We do the pointers always as .b, all of the participating + * structs begin with .next and .name + */ + a->curr[n].b = lwsac_use_zero(&a->ac, sizes[n], POL_AC_GRAIN); + if (!a->curr[n].b) + goto oom; + + if (n == LTY_X509) { + a->p = lws_malloc(MAX_CERT_TEMP, "cert temp"); + if (!a->p) + goto oom; + memset(&a->b64, 0, sizeof(a->b64)); + } + + a->count = 0; + a->curr[n].b->next = a->heads[n].b; + a->heads[n].b = a->curr[n].b; + pp = (char **)&a->curr[n].b->name; + + goto string1; + } + + if (!(reason & LEJP_FLAG_CB_IS_VALUE) || !ctx->path_match) + return 0; + + switch (ctx->path_match - 1) { + + /* strings */ + + case LSSPPT_RELEASE: + break; + + case LSSPPT_PRODUCT: + break; + + case LSSPPT_SCHEMA_VERSION: + break; + + case LSSPPT_VIA_SOCKS5: + /* the global / default proxy */ + pp = (char **)&a->socks5_proxy; + goto string2; + + case LSSPPT_BACKOFF: + b = &a->curr[LTY_BACKOFF].b->r; + if (b->retry_ms_table_count == 8) { + lwsl_err("%s: > 8 backoff levels\n", __func__); + return 1; + } + if (!b->retry_ms_table_count) { + b->retry_ms_table = (uint32_t *)lwsac_use_zero(&a->ac, + sizeof(uint32_t) * 8, POL_AC_GRAIN); + if (!b->retry_ms_table) + goto oom; + } + + ((uint32_t *)b->retry_ms_table) + [b->retry_ms_table_count++] = atoi(ctx->buf); + break; + + case LSSPPT_CONCEAL: + a->curr[LTY_BACKOFF].b->r.conceal_count = atoi(ctx->buf); + break; + + case LSSPPT_JITTERPC: + a->curr[LTY_BACKOFF].b->r.jitter_percent = atoi(ctx->buf); + break; + + case LSSPPT_VALIDPING_S: + a->curr[LTY_BACKOFF].b->r.secs_since_valid_ping = atoi(ctx->buf); + break; + + case LSSPPT_VALIDHUP_S: + a->curr[LTY_BACKOFF].b->r.secs_since_valid_hangup = atoi(ctx->buf); + break; + + case LSSPPT_CERTS: + if (a->count + ctx->npos >= MAX_CERT_TEMP) { + lwsl_err("%s: cert too big\n", __func__); + goto oom; + } + inl = ctx->npos; + outl = MAX_CERT_TEMP - a->count; + + lws_b64_decode_stateful(&a->b64, ctx->buf, &inl, + a->p + a->count, &outl, + reason == LEJPCB_VAL_STR_END); + a->count += outl; + if (inl != ctx->npos) { + lwsl_err("%s: b64 decode fail\n", __func__); + goto oom; + } + break; + + case LSSPPT_TRUST_STORES_NAME: + /* + * We do the pointers always as .b, all of the participating + * structs begin with .next and .name + */ + a->curr[LTY_TRUSTSTORE].b = lwsac_use_zero(&a->ac, + sizes[LTY_TRUSTSTORE], POL_AC_GRAIN); + if (!a->curr[LTY_TRUSTSTORE].b) + goto oom; + + a->count = 0; + a->curr[LTY_TRUSTSTORE].b->next = a->heads[LTY_TRUSTSTORE].b; + a->heads[LTY_TRUSTSTORE].b = a->curr[LTY_TRUSTSTORE].b; + pp = (char **)&a->curr[LTY_TRUSTSTORE].b->name; + + goto string2; + + case LSSPPT_TRUST_STORES_STACK: + if (a->count >= (int)LWS_ARRAY_SIZE( + a->curr[LTY_TRUSTSTORE].t->ssx509)) { + lwsl_err("%s: trust store too big\n", __func__); + goto oom; + } + lwsl_debug("%s: trust stores stack %.*s\n", __func__, + ctx->npos, ctx->buf); + x = a->heads[LTY_X509].x; + while (x) { + if (!strncmp(x->vhost_name, ctx->buf, ctx->npos)) { + a->curr[LTY_TRUSTSTORE].t->ssx509[a->count++] = x; + a->curr[LTY_TRUSTSTORE].t->count++; + + return 0; + } + x = x->next; + } + lws_strnncpy(dotstar, ctx->buf, ctx->npos, sizeof(dotstar)); + lwsl_err("%s: unknown trust store entry %s\n", __func__, + dotstar); + goto oom; + + case LSSPPT_ENDPOINT: + pp = (char **)&a->curr[LTY_POLICY].p->endpoint; + goto string2; + + case LSSPPT_VH_VIA_SOCKS5: + pp = (char **)&a->curr[LTY_POLICY].p->socks5_proxy; + goto string2; + + case LSSPPT_PORT: + a->curr[LTY_POLICY].p->port = atoi(ctx->buf); + break; + + case LSSPPT_HTTP_METHOD: + pp = (char **)&a->curr[LTY_POLICY].p->u.http.method; + goto string2; + + case LSSPPT_HTTP_URL: + pp = (char **)&a->curr[LTY_POLICY].p->u.http.url; + goto string2; + + case LSSPPT_RIDESHARE: + pp = (char **)&a->curr[LTY_POLICY].p->rideshare_streamtype; + goto string2; + + case LSSPPT_PAYLOAD_FORMAT: + pp = (char **)&a->curr[LTY_POLICY].p->payload_fmt; + goto string2; + + case LSSPPT_PLUGINS: + pin = a->context->pss_plugins; + if (a->count == + (int)LWS_ARRAY_SIZE(a->curr[LTY_POLICY].p->plugins)) { + lwsl_err("%s: too many plugins\n", __func__); + + goto oom; + } + if (!pin) + break; + while (*pin) { + if (!strncmp((*pin)->name, ctx->buf, ctx->npos)) { + a->curr[LTY_POLICY].p->plugins[a->count++] = *pin; + return 0; + } + pin++; + } + lwsl_err("%s: unknown plugin\n", __func__); + goto oom; + + case LSSPPT_TLS: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_TLS; + break; + + case LSSPPT_TLS_CLIENT_CERT: + a->curr[LTY_POLICY].p->client_cert = atoi(ctx->buf) + 1; + break; + + case LSSPPT_OPPORTUNISTIC: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_OPPORTUNISTIC; + break; + case LSSPPT_NAILED_UP: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_NAILED_UP; + break; + case LSSPPT_URGENT_TX: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_URGENT_TX; + break; + case LSSPPT_URGENT_RX: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_URGENT_RX; + break; + case LSSPPT_LONG_POLL: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_LONG_POLL; + break; + case LSSPPT_HTTP_WWW_FORM_URLENCODED: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= + LWSSSPOLF_HTTP_X_WWW_FORM_URLENCODED; + break; + + case LSSPPT_RETRYPTR: + bot = a->heads[LTY_BACKOFF].b; + while (bot) { + if (!strncmp(ctx->buf, bot->name, ctx->npos)) { + a->curr[LTY_POLICY].p->retry_bo = &bot->r; + + return 0; + } + bot = bot->next; + } + lwsl_err("%s: unknown backoff scheme\n", __func__); + + return -1; + + case LSSPPT_TRUST: + ts = a->heads[LTY_TRUSTSTORE].t; + while (ts) { + if (!strncmp(ctx->buf, ts->name, ctx->npos)) { + a->curr[LTY_POLICY].p->trust_store = ts; + return 0; + } + ts = ts->next; + } + lws_strnncpy(dotstar, ctx->buf, ctx->npos, sizeof(dotstar)); + lwsl_err("%s: unknown trust store name %s\n", __func__, + dotstar); + + return -1; + + case LSSPPT_METADATA: + break; + + case LSSPPT_METADATA_ITEM: + pmd = a->curr[LTY_POLICY].p->metadata; + a->curr[LTY_POLICY].p->metadata = lwsac_use_zero(&a->ac, + sizeof(lws_ss_metadata_t) + ctx->npos + + (ctx->path_match_len - ctx->st[ctx->sp - 2].p + 1) + 2, + POL_AC_GRAIN); + a->curr[LTY_POLICY].p->metadata->next = pmd; + + q = (char *)a->curr[LTY_POLICY].p->metadata + + sizeof(lws_ss_metadata_t); + a->curr[LTY_POLICY].p->metadata->name = q; + memcpy(q, ctx->path + ctx->st[ctx->sp - 2].p + 1, + ctx->path_match_len - ctx->st[ctx->sp - 2].p); + + q += ctx->path_match_len - ctx->st[ctx->sp - 2].p; + a->curr[LTY_POLICY].p->metadata->value = q; + memcpy(q, ctx->buf, ctx->npos); + + a->curr[LTY_POLICY].p->metadata->length = /* the index in handle->metadata */ + a->curr[LTY_POLICY].p->metadata_count++; + break; + + case LSSPPT_HTTP_AUTH_HEADER: + case LSSPPT_HTTP_DSN_HEADER: + case LSSPPT_HTTP_FWV_HEADER: + case LSSPPT_HTTP_TYPE_HEADER: + pp = (char **)&a->curr[LTY_POLICY].p->u.http.blob_header[ + (ctx->path_match - 1) - LSSPPT_HTTP_AUTH_HEADER]; + goto string2; + + case LSSPPT_HTTP_AUTH_PREAMBLE: + pp = (char **)&a->curr[LTY_POLICY].p->u.http.auth_preamble; + goto string2; + + case LSSPPT_HTTP_NO_CONTENT_LENGTH: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= + LWSSSPOLF_HTTP_NO_CONTENT_LENGTH; + break; + + case LSSPPT_NGHTTP2_QUIRK_END_STREAM: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= + LWSSSPOLF_QUIRK_NGHTTP2_END_STREAM; + break; + case LSSPPT_H2_QUIRK_OVERFLOWS_TXCR: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= + LWSSSPOLF_H2_QUIRK_OVERFLOWS_TXCR; + break; + case LSSPPT_HTTP_MULTIPART_NAME: + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_HTTP_MULTIPART; + pp = (char **)&a->curr[LTY_POLICY].p->u.http.multipart_name; + goto string2; + case LSSPPT_HTTP_MULTIPART_FILENAME: + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_HTTP_MULTIPART; + pp = (char **)&a->curr[LTY_POLICY].p->u.http.multipart_filename; + goto string2; + case LSSPPT_HTTP_MULTIPART_CONTENT_TYPE: + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_HTTP_MULTIPART; + pp = (char **)&a->curr[LTY_POLICY].p->u.http.multipart_content_type; + goto string2; + case LSSPPT_WS_SUBPROTOCOL: + pp = (char **)&a->curr[LTY_POLICY].p->u.http.u.ws.subprotocol; + goto string2; + + case LSSPPT_WS_BINARY: + a->curr[LTY_POLICY].p->u.http.u.ws.binary = + reason == LEJPCB_VAL_TRUE; + break; + case LSSPPT_LOCAL_SINK: + if (reason == LEJPCB_VAL_TRUE) + a->curr[LTY_POLICY].p->flags |= LWSSSPOLF_LOCAL_SINK; + break; + + case LSSPPT_MQTT_TOPIC: + pp = (char **)&a->curr[LTY_POLICY].p->u.mqtt.topic; + goto string2; + + case LSSPPT_MQTT_SUBSCRIBE: + pp = (char **)&a->curr[LTY_POLICY].p->u.mqtt.subscribe; + goto string2; + + case LSSPPT_MQTT_QOS: + a->curr[LTY_POLICY].p->u.mqtt.qos = atoi(ctx->buf); + break; + + case LSSPPT_PROTOCOL: + a->curr[LTY_POLICY].p->protocol = 0xff; + for (n = 0; n < (int)LWS_ARRAY_SIZE(protonames); n++) + if (strlen(protonames[n]) == ctx->npos && + !strncmp(ctx->buf, protonames[n], ctx->npos)) + a->curr[LTY_POLICY].p->protocol = (uint8_t)n; + + if (a->curr[LTY_POLICY].p->protocol != 0xff) + break; + lws_strnncpy(dotstar, ctx->buf, ctx->npos, sizeof(dotstar)); + lwsl_err("%s: unknown protocol name %s\n", __func__, dotstar); + return -1; + } + + return 0; + +string2: + /* + * If we can do const string folding, reuse the existing string rather + * than make a new entry + */ + extant = lwsac_scan_extant(a->ac, (uint8_t *)ctx->buf, ctx->npos, 1); + if (extant) { + *pp = (char *)extant; + + return 0; + } + *pp = lwsac_use_backfill(&a->ac, ctx->npos + 1, POL_AC_GRAIN); + if (!*pp) + goto oom; + memcpy(*pp, ctx->buf, ctx->npos); + (*pp)[ctx->npos] = '\0'; + + return 0; + +string1: + n = ctx->st[ctx->sp].p; + *pp = lwsac_use_backfill(&a->ac, ctx->path_match_len + 1 - n, + POL_AC_GRAIN); + if (!*pp) + goto oom; + memcpy(*pp, ctx->path + n, ctx->path_match_len - n); + (*pp)[ctx->path_match_len - n] = '\0'; + + return 0; + +oom: + lwsl_err("%s: OOM\n", __func__); + lws_free_set_NULL(a->p); + lwsac_free(&a->ac); + + return -1; +} + +int +lws_ss_policy_parse_begin(struct lws_context *context) +{ + struct policy_cb_args *args; + char *p; + + args = lws_zalloc(sizeof(struct policy_cb_args), __func__); + if (!args) { + lwsl_err("%s: OOM\n", __func__); + + return 1; + } + + context->pol_args = args; + args->context = context; + p = lwsac_use(&args->ac, 1, POL_AC_INITIAL); + if (!p) { + lwsl_err("%s: OOM\n", __func__); + lws_free_set_NULL(context->pol_args); + + return -1; + } + *p = 0; + lejp_construct(&args->jctx, lws_ss_policy_parser_cb, args, + lejp_tokens_policy, LWS_ARRAY_SIZE(lejp_tokens_policy)); + + return 0; +} + +int +lws_ss_policy_parse_abandon(struct lws_context *context) +{ + struct policy_cb_args *args = (struct policy_cb_args *)context->pol_args; + + lejp_destruct(&args->jctx); + lws_free_set_NULL(context->pol_args); + + return 0; +} + +int +lws_ss_policy_parse(struct lws_context *context, const uint8_t *buf, size_t len) +{ + struct policy_cb_args *args = (struct policy_cb_args *)context->pol_args; + int m; + + m = (int)(signed char)lejp_parse(&args->jctx, buf, len); + if (m == LEJP_CONTINUE || m >= 0) + return m; + + lwsl_err("%s: parse failed: %d: %s\n", __func__, m, + lejp_error_to_string(m)); + lws_ss_policy_parse_abandon(context); + + return m; +} + +int +lws_ss_policy_set(struct lws_context *context, const char *name) +{ + struct policy_cb_args *args = (struct policy_cb_args *)context->pol_args; + lws_ss_trust_store_t *ts; + struct lws_vhost *v; + lws_ss_x509_t *x; + char buf[16]; + int m, ret = 0; + + /* + * Parsing seems to have succeeded, and we're going to use the new + * policy that's laid out in args->ac + */ + + lejp_destruct(&args->jctx); + + if (context->ac_policy) { + + /* + * So this is a bit fun-filled, we already had a policy in + * force, perhaps it was the default policy that's just good for + * fetching the real policy, and we're doing that now. + * + * We can destroy all the policy-related direct allocations + * easily because they're cleanly in a single lwsac... + */ + lwsac_free(&context->ac_policy); + + /* + * ...but when we did the trust stores, we created vhosts for + * each. We need to destroy those now too, and recreate new + * ones from the new policy, perhaps with different X.509s. + */ + + v = context->vhost_list; + while (v) { + if (v->from_ss_policy) { + struct lws_vhost *vh = v->vhost_next; + lwsl_debug("%s: destroying vh %p\n", __func__, v); + lws_vhost_destroy(v); + v = vh; + continue; + } + v = v->vhost_next; + } + + lws_check_deferred_free(context, 0, 1); + } + + context->pss_policies = args->heads[LTY_POLICY].p; + context->ac_policy = args->ac; + + lws_humanize(buf, sizeof(buf), lwsac_total_alloc(args->ac), + humanize_schema_si_bytes); + if (lwsac_total_alloc(args->ac)) + m = (int)((lwsac_total_overhead(args->ac) * 100) / + lwsac_total_alloc(args->ac)); + else + m = 0; + + lwsl_notice("%s: %s, pad %d%c: %s\n", __func__, buf, m, '%', name); + + /* Create vhosts for each type of trust store */ + + ts = args->heads[LTY_TRUSTSTORE].t; + while (ts) { + struct lws_context_creation_info i; + + memset(&i, 0, sizeof(i)); + + /* + * We get called from context creation... instantiates + * vhosts with client tls contexts set up for each unique CA. + * + * Create the vhost with the first (mandatory) entry in the + * trust store... + */ + + v = lws_get_vhost_by_name(context, ts->name); + if (!v) { + int n; + + i.options = context->options; + i.vhost_name = ts->name; + lwsl_debug("%s: %s\n", __func__, i.vhost_name); + i.client_ssl_ca_mem = ts->ssx509[0]->ca_der; + i.client_ssl_ca_mem_len = ts->ssx509[0]->ca_der_len; + i.port = CONTEXT_PORT_NO_LISTEN; + lwsl_info("%s: %s trust store initial '%s'\n", __func__, + ts->name, ts->ssx509[0]->vhost_name); + + v = lws_create_vhost(context, &i); + if (!v) { + lwsl_err("%s: failed to create vhost %s\n", + __func__, ts->name); + ret = 1; + } else + v->from_ss_policy = 1; + + for (n = 1; v && n < ts->count; n++) { + lwsl_info("%s: add '%s' to trust store\n", + __func__, ts->ssx509[n]->vhost_name); + if (lws_tls_client_vhost_extra_cert_mem(v, + ts->ssx509[n]->ca_der, + ts->ssx509[n]->ca_der_len)) { + lwsl_err("%s: add extra cert failed\n", + __func__); + ret = 1; + } + } + } + + ts = ts->next; + } + +#if defined(LWS_WITH_SOCKS5) + + /* + * ... we need to go through every vhost updating its understanding of + * which socks5 proxy to use... + */ + + v = context->vhost_list; + while (v) { + lws_set_socks(v, args->socks5_proxy); + v = v->vhost_next; + } + if (context->vhost_system) + lws_set_socks(context->vhost_system, args->socks5_proxy); + + if (args->socks5_proxy) + lwsl_notice("%s: global socks5 proxy: %s\n", __func__, + args->socks5_proxy); +#endif + + /* now we processed the x.509 CAs, we can free all of our originals */ + + x = args->heads[LTY_X509].x; + while (x) { + /* + * Free all the DER buffers now they have been parsed into + * tls library X.509 objects + */ + lws_free((void *)x->ca_der); + x->ca_der = NULL; + x = x->next; + } + + /* and we can discard the parsing args object now, invalidating args */ + + lws_free_set_NULL(context->pol_args); + + return ret; +} + +const lws_ss_policy_t * +lws_ss_policy_lookup(const struct lws_context *context, const char *streamtype) +{ + const lws_ss_policy_t *p = context->pss_policies; + + if (!streamtype) + return NULL; + + while (p) { + if (!strcmp(p->streamtype, streamtype)) + return p; + p = p->next; + } + + return NULL; +} diff --git a/lib/secure-streams/private-lib-secure-streams.h b/lib/secure-streams/private-lib-secure-streams.h new file mode 100644 index 000000000..b22211a31 --- /dev/null +++ b/lib/secure-streams/private-lib-secure-streams.h @@ -0,0 +1,347 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +/* + * Secure Stream state + */ + +typedef enum { + SSSEQ_IDLE, + SSSEQ_TRY_CONNECT, + SSSEQ_TRY_CONNECT_NAUTH, + SSSEQ_TRY_CONNECT_SAUTH, + SSSEQ_RECONNECT_WAIT, + SSSEQ_DO_RETRY, + SSSEQ_CONNECTED, +} lws_ss_seq_state_t; + + +/** + * lws_ss_handle_t: publicly-opaque secure stream object implementation + */ + +typedef struct lws_ss_handle { + lws_ss_info_t info; /**< copy of stream creation info */ + struct lws_dll2 list; /**< pt lists active ss */ + struct lws_dll2 to_list; /**< pt lists ss with pending to-s */ + + struct lws_dll2_owner src_list; /**< sink's list of bound sources */ + + struct lws_context *context; /**< lws context we are created on */ + const lws_ss_policy_t *policy; /**< system policy for stream */ + + struct lws_sequencer *seq; /**< owning sequencer if any */ + struct lws *wsi; /**< the stream wsi if any */ + + void *nauthi; /**< the nauth plugin instance data */ + void *sauthi; /**< the sauth plugin instance data */ + + lws_ss_metadata_t *metadata; + const lws_ss_policy_t *rideshare; + + struct lws_ss_handle *h_sink; /**< sink we are bound to, or NULL */ + void *sink_obj;/**< sink's private object representing us */ + + lws_sorted_usec_list_t sul; + lws_ss_tx_ordinal_t txord; + + /* protocol-specific connection helpers */ + + union { + + /* ...for http-related protocols... */ + + struct { + + /* common to all http-related protocols */ + + /* incoming multipart parsing */ + + char boundary[24]; /* --boundary from headers */ + uint8_t boundary_len; /* length of --boundary */ + uint8_t boundary_seq; /* current match amount */ + uint8_t boundary_dashes; /* check for -- after */ + uint8_t boundary_post; /* swallow post CRLF */ + + uint8_t som:1; /* SOM has been sent */ + uint8_t any:1; /* any content has been sent */ + + + uint8_t good_respcode:1; /* 200 type response code */ + + union { + struct { /* LWSSSP_H1 */ + } h1; + struct { /* LWSSSP_H2 */ + } h2; + struct { /* LWSSSP_WS */ + } ws; + } u; + } http; + + /* details for non-http related protocols... */ +#if defined(LWS_ROLE_MQTT) + struct { + lws_mqtt_topic_elem_t topic_qos; + lws_mqtt_topic_elem_t sub_top; + lws_mqtt_subscribe_param_t sub_info; + } mqtt; +#endif + } u; + + unsigned long writeable_len; + + lws_ss_constate_t connstate;/**< public connection state */ + lws_ss_seq_state_t seqstate; /**< private connection state */ + + uint16_t retry; /**< retry / backoff tracking */ + int16_t temp16; + + uint8_t tsi; /**< service thread idx, usually 0 */ + uint8_t subseq; /**< emulate SOM tracking */ + uint8_t txn_ok; /**< 1 = transaction was OK */ + + uint8_t hanging_som:1; + uint8_t inside_msg:1; + uint8_t being_serialized:1; /* we are not the consumer */ +} lws_ss_handle_t; + +/* connection helper that doesn't need to hang around after connection starts */ + +union lws_ss_contemp { +#if defined(LWS_ROLE_MQTT) + lws_mqtt_client_connect_param_t ccp; +#endif +}; + +/* + * When allocating the opaque handle, we overallocate for: + * + * 1) policy->nauth_plugin->alloc (.nauthi) if any + * 2) policy->sauth_plugin->alloc (.sauthi) if any + * 3) copy of creation info stream type pointed to by info.streamtype... this + * may be arbitrarily long and since it may be coming from socket ipc and be + * temporary at creation time, we need a place for the copy to stay in scope + * 4) copy of info->streamtype contents + */ + + +/* the user object allocation is immediately after the ss object allocation */ +#define ss_to_userobj(ss) ((void *)&(ss)[1]) + +/* + * serialization parser state + */ + +enum { + KIND_C_TO_P, + KIND_SS_TO_P, +}; + +struct lws_ss_serialization_parser { + char streamtype[32]; + char rideshare[32]; + char metadata_name[32]; + + uint64_t ust_pwait; + + lws_ss_metadata_t *ssmd; + + int ps; + int ctr; + + uint32_t usd_phandling; + uint32_t flags; + int32_t temp32; + + int32_t txcr_out; + int32_t txcr_in; + uint16_t rem; + + uint8_t type; + uint8_t frag1; + uint8_t slen; + uint8_t rsl_pos; + uint8_t rsl_idx; +}; + +/* + * Unlike locally-fulfilled SS, SSS doesn't have to hold metadata on client side + * but pass it through to the proxy. The client side doesn't know the real + * metadata names that are available in the policy (since it's hardcoded in code + * no point passing them back to the client from the policy). Because of that, + * it doesn't know how many to allocate when we create the sspc_handle either. + * + * So we use a linked-list of changed-but-not-yet-proxied metadata allocated + * on the heap and items removed as they are proxied out. Anything on the list + * is sent to the proxy before any requested tx is handled. + * + * This is also used to queue tx credit changes + */ + +typedef struct lws_sspc_metadata { + lws_dll2_t list; + char name[32]; /* empty string, then actually TCXR */ + size_t len; + int tx_cr_adjust; + + /* the value of length .len is overallocated after this */ +} lws_sspc_metadata_t; + + +typedef struct lws_sspc_handle { + char rideshare_list[128]; + lws_ss_info_t ssi; + lws_sorted_usec_list_t sul_retry; + + struct lws_ss_serialization_parser parser; + + lws_dll2_owner_t metadata_owner; + + struct lws_dll2 client_list; + struct lws_tx_credit txc; + + struct lws *cwsi; + + struct lws_dsh *dsh; + struct lws_context *context; + + lws_usec_t us_earliest_write_req; + + lws_ss_conn_states_t state; + + int16_t temp16; + + uint32_t ord; + + uint8_t rideshare_ofs[4]; + uint8_t conn_req; + uint8_t rsidx; + + uint8_t destroying:1; +} lws_sspc_handle_t; + +int +lws_ss_deserialize_parse(struct lws_ss_serialization_parser *par, + struct lws_context *context, + struct lws_dsh *dsh, const uint8_t *cp, size_t len, + lws_ss_conn_states_t *state, void *parconn, + lws_ss_handle_t **pss, lws_ss_info_t *ssi, char client); +int +lws_ss_serialize_rx_payload(struct lws_dsh *dsh, const uint8_t *buf, + size_t len, int flags, const char *rsp); +int +lws_ss_deserialize_tx_payload(struct lws_dsh *dsh, struct lws *wsi, + lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags); +int +lws_ss_serialize_state(struct lws_dsh *dsh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack); + +void +lws_ss_serialize_state_transition(lws_ss_conn_states_t *state, int new_state); + +const lws_ss_policy_t * +lws_ss_policy_lookup(const struct lws_context *context, const char *streamtype); + +/* can be used as a cb from lws_dll2_foreach_safe() to destroy ss */ +int +lws_ss_destroy_dll(struct lws_dll2 *d, void *user); + +int +lws_sspc_destroy_dll(struct lws_dll2 *d, void *user); + + +int +lws_ss_policy_parse_begin(struct lws_context *context); + +int +lws_ss_policy_parse(struct lws_context *context, const uint8_t *buf, size_t len); + +int +lws_ss_policy_set(struct lws_context *context, const char *name); + +int +lws_ss_policy_parse_abandon(struct lws_context *context); + +int +lws_ss_sys_fetch_policy(struct lws_context *context); + +int +lws_ss_event_helper(lws_ss_handle_t *h, lws_ss_constate_t cs); + +int +lws_ss_backoff(lws_ss_handle_t *h); + +int +lws_ss_set_timeout_us(lws_ss_handle_t *h, lws_usec_t us); + +void +ss_proxy_onward_txcr(void *userobj, int bump); + +int +lws_ss_serialize_txcr(struct lws_dsh *dsh, int txcr); + +int +lws_ss_sys_auth_api_amazon_com(struct lws_context *context); + +lws_ss_metadata_t * +lws_ss_get_handle_metadata(struct lws_ss_handle *h, const char *name); +lws_ss_metadata_t * +lws_ss_policy_metadata_index(const lws_ss_policy_t *p, size_t index); + +lws_ss_metadata_t * +lws_ss_policy_metadata(const lws_ss_policy_t *p, const char *name); + +int +lws_ss_exp_cb_metadata(void *priv, const char *name, char *out, size_t *pos, + size_t olen, size_t *exp_ofs); + +typedef int (* const secstream_protocol_connect_munge_t)(lws_ss_handle_t *h, + char *buf, size_t len, struct lws_client_connect_info *i, + union lws_ss_contemp *ct); + +typedef int (* const secstream_protocol_add_txcr_t)(lws_ss_handle_t *h, int add); + +typedef int (* const secstream_protocol_get_txcr_t)(lws_ss_handle_t *h); + +struct ss_pcols { + const char *name; + const char *alpn; + const char *protocol_name; + const secstream_protocol_connect_munge_t munge; + const secstream_protocol_add_txcr_t tx_cr_add; + const secstream_protocol_get_txcr_t tx_cr_est; +}; + +extern const struct ss_pcols ss_pcol_h1; +extern const struct ss_pcols ss_pcol_h2; +extern const struct ss_pcols ss_pcol_ws; +extern const struct ss_pcols ss_pcol_mqtt; + +extern const struct lws_protocols protocol_secstream_h1; +extern const struct lws_protocols protocol_secstream_h2; +extern const struct lws_protocols protocol_secstream_ws; +extern const struct lws_protocols protocol_secstream_mqtt; + diff --git a/lib/secure-streams/protocols/README.md b/lib/secure-streams/protocols/README.md new file mode 100644 index 000000000..3c02e8bc7 --- /dev/null +++ b/lib/secure-streams/protocols/README.md @@ -0,0 +1,38 @@ +# Lws Protocol bindings for Secure Streams + +This directory contains the code wiring up normal lws protocols +to Secure Streams. + +## The lws_protocols callback + +This is the normal lws struct lws_protocols callback that handles events and +traffic on the lws protocol being supported. + +The various events and traffic are converted into calls using the Secure +Streams api, and Secure Streams events. + +## The connect_munge helper + +Different protocols have different semantics in the arguments to the client +connect function, this protocol-specific helper is called to munge the +connect_info struct to match the details of the protocol selected. + +The `ss->policy->aux` string is used to hold protocol-specific information +passed in the from the policy, eg, the URL path or websockets subprotocol +name. + +## The (library-private) ss_pcols export + +Each protocol binding exports two things to other parts of lws (they +are not exported to user code) + + - a struct lws_protocols, including a pointer to the callback + + - a struct ss_pcols describing how secure_streams should use, including + a pointer to the related connect_munge helper. + +In ./lib/core-net/vhost.c, enabled protocols are added to vhost protcols +lists so they may be used. And in ./lib/secure-streams/secure-streams.c, +enabled struct ss_pcols are listed and checked for matches when the user +creates a new Secure Stream. + diff --git a/lib/secure-streams/protocols/ss-h1.c b/lib/secure-streams/protocols/ss-h1.c new file mode 100644 index 000000000..c9c6185cc --- /dev/null +++ b/lib/secure-streams/protocols/ss-h1.c @@ -0,0 +1,571 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * This is the glue that wires up h1 to Secure Streams. + */ + +#include + +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) +static int +ss_http_multipart_parser(lws_ss_handle_t *h, void *in, size_t len) +{ + uint8_t *q = (uint8_t *)in; + int pending_issue = 0, n = 0; + + /* let's stick it in the boundary state machine first */ + while (n < (int)len) { + if (h->u.http.boundary_seq != h->u.http.boundary_len) { + if (q[n] == h->u.http.boundary[h->u.http.boundary_seq]) + h->u.http.boundary_seq++; + else { + h->u.http.boundary_seq = 0; + h->u.http.boundary_dashes = 0; + h->u.http.boundary_post = 0; + } + goto around; + } + + /* + * We already matched the boundary string, now we're + * looking if there's a -- afterwards + */ + if (h->u.http.boundary_dashes < 2) { + if (q[n] == '-') { + h->u.http.boundary_dashes++; + goto around; + } + /* there was no final -- ... */ + } + + if (h->u.http.boundary_dashes == 2) { + /* + * It's an EOM boundary: issue pending + multipart EOP + */ + lwsl_debug("%s: seen EOP, n %d pi %d\n", + __func__, n, pending_issue); + /* + * It's possible we already started the decode before + * the end of the last packet. Then there is no + * remainder to send. + */ + if (n >= pending_issue + h->u.http.boundary_len + + (h->u.http.any ? 2 : 0) + 1) + h->info.rx(ss_to_userobj(h), + &q[pending_issue], + n - pending_issue - + h->u.http.boundary_len - 1 - + (h->u.http.any ? 2 : 0) /* crlf */, + (!h->u.http.som ? LWSSS_FLAG_SOM : 0) | + LWSSS_FLAG_EOM | LWSSS_FLAG_RELATED_END); + + /* + * Peer may not END_STREAM us + */ + return 0; + //return -1; + } + + /* how about --boundaryCRLF */ + + if (h->u.http.boundary_post < 2) { + if ((!h->u.http.boundary_post && q[n] == '\x0d') || + (h->u.http.boundary_post && q[n] == '\x0a')) { + h->u.http.boundary_post++; + goto around; + } + /* there was no final CRLF ... it's wrong */ + + return -1; + } + if (h->u.http.boundary_post != 2) + goto around; + + /* + * We have a starting "--boundaryCRLF" or intermediate + * "CRLF--boundaryCRLF" boundary + */ + lwsl_debug("%s: b_post = 2 (pi %d)\n", __func__, pending_issue); + h->u.http.boundary_seq = 0; + h->u.http.boundary_post = 0; + + if (n >= pending_issue && (h->u.http.any || !h->u.http.som)) { + /* Intermediate... do the EOM */ + lwsl_debug("%s: seen interm EOP n %d pi %d\n", __func__, + n, pending_issue); + /* + * It's possible we already started the decode before + * the end of the last packet. Then there is no + * remainder to send. + */ + if (n >= pending_issue + h->u.http.boundary_len + + (h->u.http.any ? 2 : 0)) + h->info.rx(ss_to_userobj(h), &q[pending_issue], + n - pending_issue - + h->u.http.boundary_len - + (h->u.http.any ? 2 /* crlf */ : 0), + (!h->u.http.som ? LWSSS_FLAG_SOM : 0) | + LWSSS_FLAG_EOM); + } + + /* Next message starts after this boundary */ + + pending_issue = n; + h->u.http.som = 0; + +around: + n++; + } + + if (pending_issue != n) { + h->info.rx(ss_to_userobj(h), &q[pending_issue], n - pending_issue, + (!h->u.http.som ? LWSSS_FLAG_SOM : 0)); + h->u.http.any = 1; + h->u.http.som = 1; + } + + return 0; +} +#endif + +static const uint8_t blob_idx[] = { + LWS_SYSBLOB_TYPE_AUTH, + LWS_SYSBLOB_TYPE_DEVICE_SERIAL, + LWS_SYSBLOB_TYPE_DEVICE_FW_VERSION, + LWS_SYSBLOB_TYPE_DEVICE_TYPE, +}; + +int +secstream_h1(struct lws *wsi, enum lws_callback_reasons reason, void *user, + void *in, size_t len) +{ + lws_ss_handle_t *h = (lws_ss_handle_t *)lws_get_opaque_user_data(wsi); + uint8_t buf[LWS_PRE + 1520], *p = &buf[LWS_PRE], + *end = &buf[sizeof(buf) - 1]; + int f = 0, m, status; + size_t buflen; + + switch (reason) { + + /* because we are protocols[0] ... */ + case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: + assert(h); + assert(h->policy); + lwsl_info("%s: h: %p, %s CLIENT_CONNECTION_ERROR: %s\n", __func__, + h, h->policy->streamtype, in ? (char *)in : "(null)"); + lws_ss_event_helper(h, LWSSSCS_UNREACHABLE); + h->wsi = NULL; + lws_ss_backoff(h); + break; + + case LWS_CALLBACK_CLOSED_CLIENT_HTTP: + if (!h) + break; + lwsl_info("%s: h: %p, %s LWS_CALLBACK_CLOSED_CLIENT_HTTP\n", + __func__, h, + h->policy ? h->policy->streamtype : "no policy"); + h->wsi = NULL; + //bad = status != 200; + //lws_cancel_service(lws_get_context(wsi)); /* abort poll wait */ + if (h->policy && !(h->policy->flags & LWSSSPOLF_OPPORTUNISTIC) && + !h->txn_ok && !wsi->context->being_destroyed) + lws_ss_backoff(h); + if (lws_ss_event_helper(h, LWSSSCS_DISCONNECTED)) + lws_ss_destroy(&h); + break; + + + case LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: + status = lws_http_client_http_response(wsi); + lwsl_info("%s: LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: %d\n", __func__, status); + // if (!status) + /* it's just telling use we connected / joined the nwsi */ + // break; + h->u.http.good_respcode = (status >= 200 && status < 300); + // lwsl_err("%s: good resp %d %d\n", __func__, status, h->u.http.good_respcode); + + if (h->u.http.good_respcode) + lwsl_info("%s: Connected streamtype %s, %d\n", __func__, + h->policy->streamtype, status); + else + lwsl_warn("%s: Connected streamtype %s, BAD %d\n", __func__, + h->policy->streamtype, status); + + h->hanging_som = 0; + + h->retry = 0; + h->seqstate = SSSEQ_CONNECTED; + lws_ss_set_timeout_us(h, LWS_SET_TIMER_USEC_CANCEL); + lws_ss_event_helper(h, LWSSSCS_CONNECTED); + + /* + * Since it's an http transaction we initiated... this is + * proof of connection validity + */ + lws_validity_confirmed(wsi); + +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) + + if (lws_hdr_copy(wsi, (char *)buf, sizeof(buf), + WSI_TOKEN_HTTP_CONTENT_TYPE) > 0 && + /* multipart/form-data; + * boundary=----WebKitFormBoundarycc7YgAPEIHvgE9Bf */ + + (!strncmp((char *)buf, "multipart/form-data", 19) || + !strncmp((char *)buf, "multipart/related", 17))) { + struct lws_tokenize ts; + lws_tokenize_elem e; + + // puts((const char *)buf); + + memset(&ts, 0, sizeof(ts)); + ts.start = (char *)buf; + ts.len = strlen(ts.start); + ts.flags = LWS_TOKENIZE_F_RFC7230_DELIMS | + LWS_TOKENIZE_F_SLASH_NONTERM | + LWS_TOKENIZE_F_MINUS_NONTERM; + + h->u.http.boundary[0] = '\0'; + do { + e = lws_tokenize(&ts); + if (e == LWS_TOKZE_TOKEN_NAME_EQUALS && + !strncmp(ts.token, "boundary", 8) && + ts.token_len == 8) { + e = lws_tokenize(&ts); + if (e != LWS_TOKZE_TOKEN) + goto malformed; + h->u.http.boundary[0] = '\x0d'; + h->u.http.boundary[1] = '\x0a'; + h->u.http.boundary[2] = '-'; + h->u.http.boundary[3] = '-'; + lws_strnncpy(h->u.http.boundary + 4, + ts.token, ts.token_len, + sizeof(h->u.http.boundary) - 4); + h->u.http.boundary_len = ts.token_len + 4; + h->u.http.boundary_seq = 2; + h->u.http.boundary_dashes = 0; + } + } while (e > 0); + lwsl_info("%s: multipart boundary '%s' len %d\n", __func__, + h->u.http.boundary, h->u.http.boundary_len); + + /* inform the ss that a related message group begins */ + + if (h->u.http.boundary[0]) + h->info.rx(ss_to_userobj(h), NULL, 0, + LWSSS_FLAG_RELATED_START); + + // lws_header_table_detach(wsi, 0); + } + break; +malformed: + lwsl_notice("%s: malformed multipart header\n", __func__); + return -1; +#else + break; +#endif + + case LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER: + if (h->writeable_len) + wsi->http.writeable_len = h->writeable_len; + + { + uint8_t **p = (uint8_t **)in, *end = (*p) + len, + *oin = *(uint8_t **)in; + + /* + * blob-based headers + */ + + for (m = 0; m < _LWSSS_HBI_COUNT; m++) { + int o = 0, n; + + if (!h->policy->u.http.blob_header[m]) + continue; + + if (m == LWSSS_HBI_AUTH && + h->policy->u.http.auth_preamble) + o = lws_snprintf((char *)buf, sizeof(buf), "%s", + h->policy->u.http.auth_preamble); + + if (o > (int)sizeof(buf) - 2) + return -1; + + buflen = sizeof(buf) - o - 2; + n = lws_system_blob_get( + lws_system_get_blob(wsi->context, blob_idx[m], 0), + buf + o, &buflen, 0); + if (n < 0) + return -1; + + buf[o + buflen] = '\0'; + lwsl_debug("%s: adding blob %d: %s\n", __func__, m, buf); + + if (lws_add_http_header_by_name(wsi, + (uint8_t *)h->policy->u.http.blob_header[m], + buf, buflen + o, p, end)) + return -1; + } + + /* + * metadata-based headers + */ + + for (m = 0; m < h->policy->metadata_count; m++) { + lws_ss_metadata_t *polmd; + + /* has to have a header string listed */ + if (!h->metadata[m].value) + continue; + + polmd = lws_ss_policy_metadata_index(h->policy, m); + + assert(polmd); + /* has to have a value */ + if (polmd->value && ((uint8_t *)polmd->value)[0]) { + if (lws_add_http_header_by_name(wsi, + polmd->value, + h->metadata[m].value, + h->metadata[m].length, p, end)) + return -1; + } + } + + /* + * Content-length on POST if we have the length information + */ + + if (!strcmp(h->policy->u.http.method, "POST") && + wsi->http.writeable_len) { + if (!(h->policy->flags & + LWSSSPOLF_HTTP_NO_CONTENT_LENGTH)) { + int n = lws_snprintf((char *)buf, 20, "%u", + (unsigned int)wsi->http.writeable_len); + if (lws_add_http_header_by_token(wsi, + WSI_TOKEN_HTTP_CONTENT_LENGTH, + buf, n, p, end)) + return -1; + } + lws_client_http_body_pending(wsi, 1); + } + + (void)oin; + // if (*p != oin) + // lwsl_hexdump_notice(oin, lws_ptr_diff(*p, oin)); + + } + + break; + + /* chunks of chunked content, with header removed */ + case LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ: + lwsl_debug("%s: RECEIVE_CLIENT_HTTP_READ: read %d\n", + __func__, (int)len); + if (!h) + return 0; + +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) + if (h->u.http.boundary[0]) + return ss_http_multipart_parser(h, in, len); +#endif + + if (!h->subseq) { + f |= LWSSS_FLAG_SOM; + h->hanging_som = 1; + h->subseq = 1; + } + + // lwsl_notice("%s: HTTP_READ: client side sent len %d fl 0x%x\n", + // __func__, (int)len, (int)f); + + h->info.rx(ss_to_userobj(h), (const uint8_t *)in, len, f); + + return 0; /* don't passthru */ + + /* uninterpreted http content */ + case LWS_CALLBACK_RECEIVE_CLIENT_HTTP: + { + char *px = (char *)buf + LWS_PRE; /* guarantees LWS_PRE */ + int lenx = sizeof(buf) - LWS_PRE; + + if (lws_http_client_read(wsi, &px, &lenx) < 0) + return -1; + } + lws_set_timeout(wsi, 99, 30); + + return 0; /* don't passthru */ + + case LWS_CALLBACK_COMPLETED_CLIENT_HTTP: + lwsl_debug("%s: LWS_CALLBACK_COMPLETED_CLIENT_HTTP\n", __func__); + if (h->hanging_som) + h->info.rx(ss_to_userobj(h), NULL, 0, LWSSS_FLAG_EOM); + + wsi->http.writeable_len = h->writeable_len = 0; + + if (h->u.http.good_respcode) + lws_ss_event_helper(h, LWSSSCS_QOS_ACK_REMOTE); + else + lws_ss_event_helper(h, LWSSSCS_QOS_NACK_REMOTE); + + h->wsi = NULL; + h->txn_ok = 1; + //bad = status != 200; + lws_cancel_service(lws_get_context(wsi)); /* abort poll wait */ + break; + + case LWS_CALLBACK_CLIENT_HTTP_WRITEABLE: + lwsl_info("%s: LWS_CALLBACK_CLIENT_HTTP_WRITEABLE\n", __func__); + if (!h) + return 0; + + if (!h->rideshare) + h->rideshare = h->policy; + +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) + if (!h->inside_msg && h->rideshare->u.http.multipart_name) + lws_client_http_multipart(wsi, + h->rideshare->u.http.multipart_name, + h->rideshare->u.http.multipart_filename, + h->rideshare->u.http.multipart_content_type, + (char **)&p, (char *)end); + + buflen = lws_ptr_diff(end, p); + if (h->policy->u.http.multipart_name) + buflen -= 24; /* allow space for end of multipart */ + +#endif + + if (h->info.tx(ss_to_userobj(h), h->txord++, p, &buflen, &f)) { + /* don't want to send anything */ + lwsl_debug("%s: dont want to write\n", __func__); + return 0; + } + + lwsl_info("%s: WRITEABLE: user tx says len %d fl 0x%x\n", + __func__, (int)buflen, (int)f); + + p += buflen; + + if (f & LWSSS_FLAG_EOM) { +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) + /* end of rideshares */ + if (!h->rideshare->rideshare_streamtype) { + lws_client_http_body_pending(wsi, 0); + if (h->rideshare->u.http.multipart_name) + lws_client_http_multipart(wsi, NULL, NULL, NULL, + (char **)&p, (char *)end); + } else { +#endif + h->rideshare = lws_ss_policy_lookup(wsi->context, + h->rideshare->rideshare_streamtype); + lws_callback_on_writable(wsi); +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) + } +#endif + + h->inside_msg = 0; + } else { + /* otherwise we can spin with zero length writes */ + if (!f && !lws_ptr_diff(p, buf + LWS_PRE)) + break; + h->inside_msg = 1; + lws_callback_on_writable(wsi); + } + + lwsl_info("%s: lws_write %d %d\n", __func__, + lws_ptr_diff(p, buf + LWS_PRE), f); + + if (lws_write(wsi, buf + LWS_PRE, lws_ptr_diff(p, buf + LWS_PRE), + LWS_WRITE_HTTP) != (int)lws_ptr_diff(p, buf + LWS_PRE)) { + lwsl_err("%s: write failed\n", __func__); + return -1; + } + + lws_set_timeout(wsi, 0, 0); + break; + + default: + break; + } + + return lws_callback_http_dummy(wsi, reason, user, in, len); +} + +const struct lws_protocols protocol_secstream_h1 = { + "lws-secstream-h1", + secstream_h1, + 0, + 0, +}; + +/* + * Munge connect info according to protocol-specific considerations... this + * usually means interpreting aux in a protocol-specific way and using the + * pieces at connection setup time, eg, http url pieces. + * + * len bytes of buf can be used for things with scope until after the actual + * connect. + */ + +static int +secstream_connect_munge_h1(lws_ss_handle_t *h, char *buf, size_t len, + struct lws_client_connect_info *i, + union lws_ss_contemp *ct) +{ + size_t used_in, used_out; + lws_strexp_t exp; + + if (!h->policy->u.http.url) + return 0; + +#if !defined(LWS_PLAT_FREERTOS) || defined(LWS_ROLE_H2) + if (h->policy->flags & LWSSSPOLF_HTTP_MULTIPART) + i->ssl_connection |= LCCSCF_HTTP_MULTIPART_MIME; + + if (h->policy->flags & LWSSSPOLF_HTTP_X_WWW_FORM_URLENCODED) + i->ssl_connection |= LCCSCF_HTTP_X_WWW_FORM_URLENCODED; +#endif + + /* protocol aux is the path part */ + + i->path = buf; + buf[0] = '/'; + + lws_strexp_init(&exp, (void *)h, lws_ss_exp_cb_metadata, buf + 1, len - 1); + + if (lws_strexp_expand(&exp, h->policy->u.http.url, + strlen(h->policy->u.http.url), + &used_in, &used_out) != LSTRX_DONE) + return 1; + + return 0; +} + + +const struct ss_pcols ss_pcol_h1 = { + "h1", + "http/1.1", + "lws-secstream-h1", + secstream_connect_munge_h1, + NULL +}; diff --git a/lib/secure-streams/protocols/ss-h2.c b/lib/secure-streams/protocols/ss-h2.c new file mode 100644 index 000000000..941183c1c --- /dev/null +++ b/lib/secure-streams/protocols/ss-h2.c @@ -0,0 +1,183 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +extern int +secstream_h1(struct lws *wsi, enum lws_callback_reasons reason, void *user, + void *in, size_t len); + +static int +secstream_h2(struct lws *wsi, enum lws_callback_reasons reason, void *user, + void *in, size_t len) +{ + lws_ss_handle_t *h = (lws_ss_handle_t *)lws_get_opaque_user_data(wsi); + int n; + + switch (reason) { + + case LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP: + +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + if (h->being_serialized) { + /* + * We are the proxy-side SS for a remote client... we + * need to inform the client about the initial tx credit + * to write to it that the remote h2 server set up + */ + lwsl_info("%s: reporting initial tx cr from server %d\n", + __func__, wsi->txc.tx_cr); + ss_proxy_onward_txcr((void *)&h[1], wsi->txc.tx_cr); + } +#endif + + n = secstream_h1(wsi, reason, user, in, len); + + if (!n && (h->policy->flags & LWSSSPOLF_LONG_POLL)) { + lwsl_notice("%s: h2 client %p entering LONG_POLL\n", + __func__, wsi); + lws_h2_client_stream_long_poll_rxonly(wsi); + } + return n; + + case LWS_CALLBACK_COMPLETED_CLIENT_HTTP: + // lwsl_err("%s: h2 COMPLETED_CLIENT_HTTP\n", __func__); + h->info.rx(ss_to_userobj(h), NULL, 0, LWSSS_FLAG_EOM); + h->wsi = NULL; + h->txn_ok = 1; + //bad = status != 200; + lws_cancel_service(lws_get_context(wsi)); /* abort poll wait */ + break; + + case LWS_CALLBACK_WSI_TX_CREDIT_GET: + /* + * The peer has sent us additional tx credit... + */ + lwsl_info("%s: LWS_CALLBACK_WSI_TX_CREDIT_GET: %d\n", + __func__, (int32_t)len); + +#if defined(LWS_WITH_SECURE_STREAMS_PROXY_API) + if (h->being_serialized) + /* we are the proxy-side SS for a remote client */ + ss_proxy_onward_txcr((void *)&h[1], (int)len); +#endif + break; + + default: + break; + } + + return secstream_h1(wsi, reason, user, in, len); +} + +const struct lws_protocols protocol_secstream_h2 = { + "lws-secstream-h2", + secstream_h2, + 0, + 0, +}; + +/* + * Munge connect info according to protocol-specific considerations... this + * usually means interpreting aux in a protocol-specific way and using the + * pieces at connection setup time, eg, http url pieces. + * + * len bytes of buf can be used for things with scope until after the actual + * connect. + */ + +int +secstream_connect_munge_h2(lws_ss_handle_t *h, char *buf, size_t len, + struct lws_client_connect_info *i, + union lws_ss_contemp *ct) +{ + if (h->policy->flags & LWSSSPOLF_QUIRK_NGHTTP2_END_STREAM) + i->ssl_connection |= LCCSCF_H2_QUIRK_NGHTTP2_END_STREAM; + + if (h->policy->flags & LWSSSPOLF_H2_QUIRK_OVERFLOWS_TXCR) + i->ssl_connection |= LCCSCF_H2_QUIRK_OVERFLOWS_TXCR; + + if (h->policy->flags & LWSSSPOLF_HTTP_MULTIPART) + i->ssl_connection |= LCCSCF_HTTP_MULTIPART_MIME; + + if (h->policy->flags & LWSSSPOLF_HTTP_X_WWW_FORM_URLENCODED) + i->ssl_connection |= LCCSCF_HTTP_X_WWW_FORM_URLENCODED; + + i->ssl_connection |= LCCSCF_PIPELINE; + + i->alpn = "h2"; + + /* initial peer tx credit */ + + if (h->info.manual_initial_tx_credit) { + i->ssl_connection |= LCCSCF_H2_MANUAL_RXFLOW; + i->manual_initial_tx_credit = h->info.manual_initial_tx_credit; + lwsl_info("%s: initial txcr %d\n", __func__, + i->manual_initial_tx_credit); + } + + if (!h->policy->u.http.url) + return 0; + + /* protocol aux is the path part */ + + i->path = buf; + lws_snprintf(buf, len, "/%s", h->policy->u.http.url); + + return 0; +} + +static int +secstream_tx_credit_add_h2(lws_ss_handle_t *h, int add) +{ + lwsl_info("%s: h %p: add %d\n", __func__, h, add); + if (h->wsi) + return lws_h2_update_peer_txcredit(h->wsi, LWS_H2_STREAM_SID, add); + + return 0; +} + +static int +secstream_tx_credit_est_h2(lws_ss_handle_t *h) +{ + if (h->wsi) { + lwsl_info("%s: h %p: est %d\n", __func__, h, + lws_h2_get_peer_txcredit_estimate(h->wsi)); + + return lws_h2_get_peer_txcredit_estimate(h->wsi); + } + + lwsl_info("%s: h %p: Unknown (0)\n", __func__, h); + + return 0; +} + +const struct ss_pcols ss_pcol_h2 = { + "h2", + NULL, + "lws-secstream-h2", + secstream_connect_munge_h2, + secstream_tx_credit_add_h2, + secstream_tx_credit_est_h2 +}; diff --git a/lib/secure-streams/protocols/ss-mqtt.c b/lib/secure-streams/protocols/ss-mqtt.c new file mode 100644 index 000000000..2d53c6620 --- /dev/null +++ b/lib/secure-streams/protocols/ss-mqtt.c @@ -0,0 +1,248 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +static int +secstream_mqtt(struct lws *wsi, enum lws_callback_reasons reason, void *user, + void *in, size_t len) +{ + lws_ss_handle_t *h = (lws_ss_handle_t *)lws_get_opaque_user_data(wsi); + lws_mqtt_publish_param_t mqpp, *pmqpp; + uint8_t buf[LWS_PRE + 1400]; + size_t buflen; + int f = 0; + + switch (reason) { + + /* because we are protocols[0] ... */ + case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: + lwsl_info("%s: CLIENT_CONNECTION_ERROR: %s\n", __func__, + in ? (char *)in : "(null)"); + if (!h) + break; + lws_ss_event_helper(h, LWSSSCS_UNREACHABLE); + h->wsi = NULL; + lws_ss_backoff(h); + break; + + case LWS_CALLBACK_MQTT_CLIENT_CLOSED: + if (!h) + break; + f = lws_ss_event_helper(h, LWSSSCS_DISCONNECTED); + if (h->wsi) + lws_set_opaque_user_data(h->wsi, NULL); + h->wsi = NULL; + if (f) { + lws_ss_destroy(&h); + break; + } + + if (h->policy && !(h->policy->flags & LWSSSPOLF_OPPORTUNISTIC) && + !h->txn_ok && !wsi->context->being_destroyed) + lws_ss_backoff(h); + break; + + case LWS_CALLBACK_MQTT_CLIENT_ESTABLISHED: + /* + * Make sure the handle wsi points to the stream wsi not the + * original nwsi, in the case it was migrated + */ + h->wsi = wsi; + h->retry = 0; + h->seqstate = SSSEQ_CONNECTED; + lws_ss_set_timeout_us(h, LWS_SET_TIMER_USEC_CANCEL); + lws_ss_event_helper(h, LWSSSCS_CONNECTED); + if (h->policy->u.mqtt.topic) + lws_callback_on_writable(wsi); + break; + + case LWS_CALLBACK_MQTT_CLIENT_RX: + // lwsl_user("LWS_CALLBACK_CLIENT_RECEIVE: read %d\n", (int)len); + if (!h) + return 0; + + pmqpp = (lws_mqtt_publish_param_t *)in; + + f = 0; + if (!pmqpp->payload_pos) + f |= LWSSS_FLAG_SOM; + if (pmqpp->payload_pos + len == pmqpp->payload_len) + f |= LWSSS_FLAG_EOM; + + h->subseq = 1; + + h->info.rx(ss_to_userobj(h), (const uint8_t *)pmqpp->payload, + len, f); + + return 0; /* don't passthru */ + + case LWS_CALLBACK_MQTT_SUBSCRIBED: + wsi->mqtt->done_subscribe = 1; + lws_callback_on_writable(wsi); + break; + + case LWS_CALLBACK_MQTT_ACK: + lws_ss_event_helper(h, LWSSSCS_QOS_ACK_REMOTE); + break; + + case LWS_CALLBACK_MQTT_CLIENT_WRITEABLE: + if (!h) + return 0; + lwsl_notice("%s: ss %p: WRITEABLE\n", __func__, h); + + if (h->seqstate != SSSEQ_CONNECTED) { + lwsl_warn("%s: seqstate %d\n", __func__, h->seqstate); + break; + } + + if (h->policy->u.mqtt.subscribe && !wsi->mqtt->done_subscribe) { + + /* + * The policy says to subscribe to something, and we + * haven't done it yet + */ + + lwsl_warn("%s: subscribing %s\n", __func__, h->policy->u.mqtt.subscribe); + + memset(&h->u.mqtt.sub_top, 0, sizeof(h->u.mqtt.sub_top)); + h->u.mqtt.sub_top.name = h->policy->u.mqtt.subscribe; + h->u.mqtt.sub_top.qos = h->policy->u.mqtt.qos; + memset(&h->u.mqtt.sub_info, 0, sizeof(h->u.mqtt.sub_info)); + h->u.mqtt.sub_info.num_topics = 1; + h->u.mqtt.sub_info.topic = &h->u.mqtt.sub_top; + + if (lws_mqtt_client_send_subcribe(wsi, &h->u.mqtt.sub_info)) { + lwsl_notice("%s: unable to subscribe", __func__); + return -1; + } + + return 0; + } + + + buflen = sizeof(buf) - LWS_PRE; + if (h->info.tx(ss_to_userobj(h), h->txord++, buf + LWS_PRE, + &buflen, &f)) + /* don't want to send anything */ + return 0; + + memset(&mqpp, 0, sizeof(mqpp)); + mqpp.topic = (char *)h->policy->u.mqtt.topic; + mqpp.topic_len = strlen(mqpp.topic); + mqpp.packet_id = h->txord - 1; + mqpp.payload = buf + LWS_PRE; + if (h->writeable_len) + mqpp.payload_len = h->writeable_len; + else + mqpp.payload_len = buflen; + + lwsl_notice("%s: payload len %d\n", __func__, (int)mqpp.payload_len); + + mqpp.qos = h->policy->u.mqtt.qos; + + if (lws_mqtt_client_send_publish(wsi, &mqpp, + (const char *)buf + LWS_PRE, buflen, + f & LWSSS_FLAG_EOM)) { + lwsl_notice("%s: failed to publish\n", __func__); + + return -1; + } + + return 0; + + default: + break; + } + + return lws_callback_http_dummy(wsi, reason, user, in, len); +} + +const struct lws_protocols protocol_secstream_mqtt = { + "lws-secstream-mqtt", + secstream_mqtt, + 0, + 0, +}; +/* + * Munge connect info according to protocol-specific considerations... this + * usually means interpreting aux in a protocol-specific way and using the + * pieces at connection setup time, eg, http url pieces. + * + * len bytes of buf can be used for things with scope until after the actual + * connect. + * + * For ws, protocol aux is ; + */ + +static int +secstream_connect_munge_mqtt(lws_ss_handle_t *h, char *buf, size_t len, + struct lws_client_connect_info *i, + union lws_ss_contemp *ct) +{ + memset(&ct->ccp, 0, sizeof(ct->ccp)); + + ct->ccp.client_id = "lwsMqttClient"; + ct->ccp.keep_alive = 60; + ct->ccp.clean_start = 1; + ct->ccp.will_param.topic = "good/bye"; + ct->ccp.will_param.message = "sign-off"; + ct->ccp.will_param.qos = 0; + ct->ccp.will_param.retain = 0; + + lwsl_notice("%s\n", __func__); + + h->u.mqtt.topic_qos.name = h->policy->u.mqtt.subscribe; + h->u.mqtt.topic_qos.qos = h->policy->u.mqtt.qos; + + i->method = "MQTT"; + i->mqtt_cp = &ct->ccp; + + i->alpn = "x-amzn-mqtt-ca"; + + /* share connections where possible */ + i->ssl_connection |= LCCSCF_PIPELINE; + +/* + if (!h->policy->u.http.url) + return 0; + + // protocol aux is the path part ; ws subprotocol name + + i->path = NULL; + lws_snprintf(buf, len, "/%s", h->policy->u.mqtt.topic); + +// i->protocol = h->policy->u.mqtt.u.ws.subprotocol; + + lwsl_notice("%s: url %s, ws subprotocol %s\n", __func__, buf, i->protocol); +*/ + return 0; +} + +const struct ss_pcols ss_pcol_mqtt = { + "MQTT", + "x-amzn-mqtt-ca", //"mqtt/3.1.1", + "lws-secstream-mqtt", + secstream_connect_munge_mqtt +}; diff --git a/lib/secure-streams/protocols/ss-ws.c b/lib/secure-streams/protocols/ss-ws.c new file mode 100644 index 000000000..ac1dc32ab --- /dev/null +++ b/lib/secure-streams/protocols/ss-ws.c @@ -0,0 +1,165 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +static int +secstream_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, + void *in, size_t len) +{ + lws_ss_handle_t *h = (lws_ss_handle_t *)lws_get_opaque_user_data(wsi); + uint8_t buf[LWS_PRE + 1400]; + size_t buflen; + int f = 0, f1; + + switch (reason) { + + /* because we are protocols[0] ... */ + case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: + lwsl_info("%s: CLIENT_CONNECTION_ERROR: %s\n", __func__, + in ? (char *)in : "(null)"); + if (!h) + break; + lws_ss_event_helper(h, LWSSSCS_UNREACHABLE); + h->wsi = NULL; + lws_ss_backoff(h); + break; + + case LWS_CALLBACK_CLIENT_CLOSED: + if (!h) + break; + f = lws_ss_event_helper(h, LWSSSCS_DISCONNECTED); + if (h->wsi) + lws_set_opaque_user_data(h->wsi, NULL); + h->wsi = NULL; + + if (f) { + lws_ss_destroy(&h); + break; + } + + if (h->policy && !(h->policy->flags & LWSSSPOLF_OPPORTUNISTIC) && + !h->txn_ok && !wsi->context->being_destroyed) + lws_ss_backoff(h); + break; + + case LWS_CALLBACK_CLIENT_ESTABLISHED: + h->retry = 0; + h->seqstate = SSSEQ_CONNECTED; + lws_ss_set_timeout_us(h, LWS_SET_TIMER_USEC_CANCEL); + lws_ss_event_helper(h, LWSSSCS_CONNECTED); + break; + + case LWS_CALLBACK_CLIENT_RECEIVE: + // lwsl_user("LWS_CALLBACK_CLIENT_RECEIVE: read %d\n", (int)len); + if (!h) + return 0; + if (lws_is_first_fragment(wsi)) + f |= LWSSS_FLAG_SOM; + if (lws_is_final_fragment(wsi)) + f |= LWSSS_FLAG_EOM; + // lws_frame_is_binary(wsi); + + h->subseq = 1; + + h->info.rx(ss_to_userobj(h), (const uint8_t *)in, len, f); + + return 0; /* don't passthru */ + + case LWS_CALLBACK_CLIENT_WRITEABLE: + if (!h) + return 0; + // lwsl_notice("%s: ss %p: WRITEABLE\n", __func__, h); + + if (h->seqstate != SSSEQ_CONNECTED) { + lwsl_warn("%s: seqstate %d\n", __func__, h->seqstate); + break; + } + + buflen = sizeof(buf) - LWS_PRE; + if (h->info.tx(ss_to_userobj(h), h->txord++, buf + LWS_PRE, + &buflen, &f)) + /* don't want to send anything */ + return 0; + + f1 = lws_write_ws_flags(LWS_WRITE_BINARY, + !!(f & LWSSS_FLAG_SOM), + !!(f & LWSSS_FLAG_EOM)); + + if (lws_write(wsi, buf + LWS_PRE, buflen, f1) != (int)buflen) { + lwsl_err("%s: write failed\n", __func__); + return -1; + } + + return 0; + + default: + break; + } + + return lws_callback_http_dummy(wsi, reason, user, in, len); +} + +const struct lws_protocols protocol_secstream_ws = { + "lws-secstream-ws", + secstream_ws, + 0, + 0, +}; +/* + * Munge connect info according to protocol-specific considerations... this + * usually means interpreting aux in a protocol-specific way and using the + * pieces at connection setup time, eg, http url pieces. + * + * len bytes of buf can be used for things with scope until after the actual + * connect. + * + * For ws, protocol aux is ; + */ + +static int +secstream_connect_munge_ws(lws_ss_handle_t *h, char *buf, size_t len, + struct lws_client_connect_info *i, + union lws_ss_contemp *ct) +{ + lwsl_notice("%s\n", __func__); + + if (!h->policy->u.http.url) + return 0; + + /* protocol aux is the path part ; ws subprotocol name */ + + i->path = h->policy->u.http.url; + lws_snprintf(buf, len, "/%s", h->policy->u.http.url); + + i->protocol = h->policy->u.http.u.ws.subprotocol; + + lwsl_notice("%s: url %s, ws subprotocol %s\n", __func__, buf, i->protocol); + + return 0; +} + +const struct ss_pcols ss_pcol_ws = { + "ws", "http/1.1", "lws-secstream-ws", secstream_connect_munge_ws +}; diff --git a/lib/secure-streams/secure-streams-client.c b/lib/secure-streams/secure-streams-client.c new file mode 100644 index 000000000..67d73be67 --- /dev/null +++ b/lib/secure-streams/secure-streams-client.c @@ -0,0 +1,574 @@ +/* + * lws-minimal-secure-streams-client + * + * Written in 2010-2020 by Andy Green + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + * + * + * This client does not perform any INET networking... instead it opens a unix + * domain socket on a proxy that is listening for it, and that creates the + * actual secure stream connection. + * + * We are able to use the usual secure streams api in the client process, with + * payloads and connection state information proxied over the unix domain + * socket and fulfilled in the proxy process. + * + * The public client helper pieces are built as part of lws + */ +#include + +static void +lws_sspc_sul_retry_cb(lws_sorted_usec_list_t *sul) +{ + lws_sspc_handle_t *h = lws_container_of(sul, lws_sspc_handle_t, sul_retry); + static struct lws_client_connect_info i; + + /* + * We may have started up before the system proxy, so be prepared with + * a sul to retry at 1Hz + */ + + memset(&i, 0, sizeof i); + i.context = h->context; + if (h->context->ss_proxy_port) { /* tcp */ + i.address = h->context->ss_proxy_address; + i.port = h->context->ss_proxy_port; + i.iface = h->context->ss_proxy_bind; + } else { + if (h->context->ss_proxy_bind) + i.address = h->context->ss_proxy_bind; + else + i.address = "+@proxy.ss.lws"; + } + i.host = i.address; + i.origin = i.address; + i.method = "RAW"; + i.protocol = lws_sspc_protocols[0].name; + i.local_protocol_name = lws_sspc_protocols[0].name; + i.path = ""; + i.pwsi = &h->cwsi; + i.opaque_user_data = (void *)h; + + if (!lws_client_connect_via_info(&i)) { + lws_sul_schedule(h->context, 0, &h->sul_retry, + lws_sspc_sul_retry_cb, LWS_US_PER_SEC); + + return; + } +} + +static int +lws_sspc_serialize_metadata(lws_sspc_metadata_t *md, uint8_t *p) +{ + int n, txc; + + if (md->name[0] == '\0') { + + lwsl_info("%s: sending tx credit update %d\n", __func__, + md->tx_cr_adjust); + + p[0] = LWSSS_SER_TXPRE_TXCR_UPDATE; + lws_ser_wu16be(&p[1], 4); + lws_ser_wu32be(&p[3], md->tx_cr_adjust); + + n = 7; + + } else { + + lwsl_info("%s: sending metadata\n", __func__); + + p[0] = LWSSS_SER_TXPRE_METADATA; + txc = strlen(md->name); + n = txc + 1 + md->len; + lws_ser_wu16be(&p[1], n); + p[3] = txc; + memcpy(&p[4], md->name, txc); + memcpy(&p[4 + txc], &md[1], md->len); + n = 4 + txc + md->len; + } + + lws_dll2_remove(&md->list); + lws_free(md); + + return n; +} + +static int +callback_sspc_client(struct lws *wsi, enum lws_callback_reasons reason, + void *user, void *in, size_t len) +{ + lws_sspc_handle_t *h = (lws_sspc_handle_t *)lws_get_opaque_user_data(wsi); + uint8_t s[32], pkt[LWS_PRE + 1400], *p = pkt + LWS_PRE; + void *m = (void *)((uint8_t *)&h[1]); + const uint8_t *cp; + lws_usec_t us; + int flags, n; + + switch (reason) { + case LWS_CALLBACK_PROTOCOL_INIT: + break; + + case LWS_CALLBACK_PROTOCOL_DESTROY: + break; + + case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: + lwsl_warn("%s: CONNECTION_ERROR\n", __func__); + lws_set_opaque_user_data(wsi, NULL); + h->cwsi = NULL; + lws_sul_schedule(h->context, 0, &h->sul_retry, + lws_sspc_sul_retry_cb, LWS_US_PER_SEC); + break; + + case LWS_CALLBACK_RAW_CONNECTED: + if (!h) + return -1; + lwsl_info("%s: CONNECTED (%s)\n", __func__, h->ssi.streamtype); + + h->state = LPCS_SENDING_INITIAL_TX; + h->dsh = lws_dsh_create(NULL, (LWS_PRE + LWS_SS_MTU) * 160, 1); + if (!h->dsh) + return -1; + + lws_set_timeout(wsi, PENDING_TIMEOUT_AWAITING_CLIENT_HS_SEND, 3); + lws_callback_on_writable(wsi); + break; + + case LWS_CALLBACK_RAW_CLOSE: + /* + * our ss proxy Unix Domain socket has closed... + */ + lwsl_notice("%s: LWS_CALLBACK_RAW_CLOSE: proxy conn down\n", __func__); + h->cwsi = NULL; + //lws_sspc_destroy(&h); + break; + + case LWS_CALLBACK_RAW_RX: + lwsl_info("%s: RAW_RX: rx %d\n", __func__, (int)len); + + if (!h || !h->cwsi) { + lwsl_err("%s: rx with bad conn state\n", __func__); + + return -1; + } + + if (lws_ss_deserialize_parse(&h->parser, lws_get_context(wsi), + h->dsh, in, len, &h->state, h, + (lws_ss_handle_t **)m, &h->ssi, 1)) + return -1; + + if (wsi && h->state == LPCS_LOCAL_CONNECTED) + lws_set_timeout(wsi, 0, 0); + + break; + + case LWS_CALLBACK_RAW_WRITEABLE: + + /* + * We can transmit something to the proxy... + */ + + if (!h) + break; + + lwsl_info("%s: WRITEABLE %p: (%s) state %d\n", __func__, wsi, + h->ssi.streamtype, h->state); + + n = 0; + cp = s; + s[1] = 0; + switch (h->state) { + case LPCS_SENDING_INITIAL_TX: + n = strlen(h->ssi.streamtype) + 4; + + s[0] = LWSSS_SER_TXPRE_STREAMTYPE; + lws_ser_wu16be(&s[1], n); + lws_ser_wu32be(&s[3], h->txc.peer_tx_cr_est); + //h->txcr_out = txc; + lws_strncpy((char *)&s[7], h->ssi.streamtype, sizeof(s) - 7); + n += 3; + h->state = LPCS_WAITING_CREATE_RESULT; + break; + + case LPCS_LOCAL_CONNECTED: + if (!h->conn_req) + break; + + /* + * Do we need to prioritize sending any metadata + * changes? + */ + + if (h->metadata_owner.count) { + lws_sspc_metadata_t *md = lws_container_of( + lws_dll2_get_tail(&h->metadata_owner), + lws_sspc_metadata_t, list); + + cp = p; + n = lws_sspc_serialize_metadata(md, p); + + /* in case anything else to write */ + lws_callback_on_writable(h->cwsi); + + break; + } + + + h->conn_req = 0; + s[0] = LWSSS_SER_TXPRE_ONWARD_CONNECT; + s[1] = 0; + s[2] = 0; + n = 3; + break; + + case LPCS_OPERATIONAL: + + /* + * Do we want to adjust the peer's ability to write + * to us? + */ + + /* + * Do we need to prioritize sending any metadata + * changes? + */ + + if (h->metadata_owner.count) { + lws_sspc_metadata_t *md = lws_container_of( + lws_dll2_get_tail(&h->metadata_owner), + lws_sspc_metadata_t, list); + + cp = p; + n = lws_sspc_serialize_metadata(md, p); + + /* in case anything else to write */ + lws_callback_on_writable(h->cwsi); + + break; + } + + + /* we can't write anything if we don't have credit */ + if (h->txc.tx_cr <= 0) { + lwsl_notice("%s: WRITEABLE / OPERATIONAL:" + " lack credit (%d)\n", __func__, + h->txc.tx_cr); + break; + } + + len = sizeof(pkt) - LWS_PRE - 19; + flags = 0; + if (h->ssi.tx(m, h->ord++, pkt + LWS_PRE + 19, &len, &flags)) + break; + + h->txc.tx_cr -= len; + + cp = p; + n = len + 19; + us = lws_now_usecs(); + p[0] = LWSSS_SER_TXPRE_TX_PAYLOAD; + lws_ser_wu16be(&p[1], len + 19 - 3); + lws_ser_wu32be(&p[3], flags); + /* time spent here waiting to send this */ + lws_ser_wu32be(&p[7], us - h->us_earliest_write_req); + /* ust that the client write happened */ + lws_ser_wu64be(&p[11], us); + h->us_earliest_write_req = 0; + + if (flags & LWSSS_FLAG_EOM) + if (h->rsidx + 1 < (int)LWS_ARRAY_SIZE(h->rideshare_ofs) && + h->rideshare_ofs[h->rsidx + 1]) + h->rsidx++; + + break; + default: + break; + } + + if (!n) + break; + + // lwsl_hexdump_notice(cp, n); + + n = lws_write(wsi, (uint8_t *)cp, n, LWS_WRITE_RAW); + if (n < 0) { + lwsl_notice("%s: WRITEABLE: %d\n", __func__, n); + + goto hangup; + } + break; + + default: + break; + } + + return lws_callback_http_dummy(wsi, reason, user, in, len); + +hangup: + lwsl_warn("hangup\n"); + /* hang up on him */ + return -1; +} + +const struct lws_protocols lws_sspc_protocols[] = { + { + "ssproxy-protocol", + callback_sspc_client, + 0, + 2048, 2048, NULL, 0 + }, + { NULL, NULL, 0, 0, 0, NULL, 0 } +}; + +int +lws_sspc_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, + void *opaque_user_data, lws_sspc_handle_t **ppss, + struct lws_sequencer *seq_owner, const char **ppayload_fmt) +{ + lws_sspc_handle_t *h; + uint8_t *ua; + char *p; + + lwsl_notice("%s: streamtype %s\n", __func__, ssi->streamtype); + + /* allocate the handle (including ssi), the user alloc, + * and the streamname */ + + h = malloc(sizeof(lws_sspc_handle_t) + ssi->user_alloc + + strlen(ssi->streamtype) + 1); + memset(h, 0, sizeof(*h)); + memcpy(&h->ssi, ssi, sizeof(*ssi)); + ua = (uint8_t *)&h[1]; + memset(ua, 0, ssi->user_alloc); + p = (char *)ua + ssi->user_alloc; + memcpy(p, ssi->streamtype, strlen(ssi->streamtype) + 1); + h->ssi.streamtype = (const char *)p; + h->context = context; + if (!ssi->manual_initial_tx_credit) + h->txc.peer_tx_cr_est = 500000000; + else + h->txc.peer_tx_cr_est = ssi->manual_initial_tx_credit; + + lws_dll2_add_head(&h->client_list, &context->pt[tsi].ss_client_owner); + + /* fill in the things the real api does for the caller */ + + *((void **)(ua + ssi->opaque_user_data_offset)) = opaque_user_data; + *((void **)(ua + ssi->handle_offset)) = h; + + if (ppss) + *ppss = h; + + /* try the actual connect */ + + lws_sspc_sul_retry_cb(&h->sul_retry); + + return 0; +} + +/* used on context destroy when iterating listed lws_ss on a pt */ + +int +lws_sspc_destroy_dll(struct lws_dll2 *d, void *user) +{ + lws_sspc_handle_t *h = lws_container_of(d, lws_sspc_handle_t, client_list); + + lws_sspc_destroy(&h); + + return 0; +} + + +void +lws_sspc_destroy(lws_sspc_handle_t **ph) +{ + lws_sspc_handle_t *h; + void *m; + + lwsl_debug("%s\n", __func__); + + if (!*ph) + return; + + h = *ph; + m = (void *)((uint8_t *)&h[1]); + + if (h->destroying) + return; + + h->destroying = 1; + + lws_sul_schedule(h->context, 0, &h->sul_retry, NULL, + LWS_SET_TIMER_USEC_CANCEL); + lws_dll2_remove(&h->client_list); + + if (h->dsh) + lws_dsh_destroy(&h->dsh); + if (h->cwsi) { + struct lws *wsi = h->cwsi; + h->cwsi = NULL; + lws_set_timeout(wsi, 1, LWS_TO_KILL_SYNC); + } + + /* clean out any pending metadata changes that didn't make it */ + + lws_start_foreach_dll_safe(struct lws_dll2 *, d, d1, + lws_dll2_get_head(&(*ph)->metadata_owner)) { + lws_sspc_metadata_t *md = + lws_container_of(d, lws_sspc_metadata_t, list); + + lws_dll2_remove(&md->list); + lws_free(md); + + } lws_end_foreach_dll_safe(d, d1); + + h->ssi.state(m, NULL, LWSSSCS_DESTROYING, 0); + *ph = NULL; + free(h); +} + +void +lws_sspc_request_tx(lws_sspc_handle_t *h) +{ + if (!h || !h->cwsi) + return; + + if (!h->us_earliest_write_req) + h->us_earliest_write_req = lws_now_usecs(); + + lws_callback_on_writable(h->cwsi); +} + +int +lws_sspc_client_connect(lws_sspc_handle_t *h) +{ + if (!h || h->state == LPCS_OPERATIONAL) + return 0; + + assert(h->state == LPCS_LOCAL_CONNECTED); + h->conn_req = 1; + if (h->cwsi) + lws_callback_on_writable(h->cwsi); + + return 0; +} + +struct lws_context * +lws_sspc_get_context(struct lws_sspc_handle *h) +{ + return h->context; +} + +const char * +lws_sspc_rideshare(struct lws_sspc_handle *h) +{ + /* + * ...the serialized RX rideshare name if any... + */ + + if (h->parser.rideshare[0]) { + lwsl_info("%s: parser %s\n", __func__, h->parser.rideshare); + return h->parser.rideshare; + } + + /* + * The tx rideshare index + */ + + if (h->rideshare_list[0]) { + lwsl_info("%s: tx list %s\n", __func__, + &h->rideshare_list[h->rideshare_ofs[h->rsidx]]); + return &h->rideshare_list[h->rideshare_ofs[h->rsidx]]; + } + + /* + * ... otherwise default to our stream type name + */ + + lwsl_info("%s: def %s\n", __func__, h->ssi.streamtype); + + return h->ssi.streamtype; +} + +static int +_lws_sspc_set_metadata(struct lws_sspc_handle *h, const char *name, + void *value, size_t len, int tx_cr_adjust) +{ + lws_sspc_metadata_t *md; + + /* + * Are we replacing a pending metadata of the same name? It's not + * efficient to do this but user code can do what it likes... let's + * optimize away the old one. + * + * Tx credit adjust always has name "" + */ + + lws_start_foreach_dll_safe(struct lws_dll2 *, d, d1, + lws_dll2_get_head(&h->metadata_owner)) { + md = lws_container_of(d, lws_sspc_metadata_t, list); + + if (!strcmp(name, md->name)) { + lws_dll2_remove(&md->list); + lws_free(md); + break; + } + + } lws_end_foreach_dll_safe(d, d1); + + /* + * We have to stash the metadata and pass it to the proxy + */ + + md = lws_malloc(sizeof(*md) + len, "set metadata"); + if (!md) { + lwsl_err("%s: OOM\n", __func__); + + return 1; + } + + memset(md, 0, sizeof(*md)); + + md->tx_cr_adjust = tx_cr_adjust; + h->txc.peer_tx_cr_est += tx_cr_adjust; + + lws_strncpy(md->name, name, sizeof(md->name)); + md->len = len; + if (len) + memcpy(&md[1], value, len); + + lws_dll2_add_tail(&md->list, &h->metadata_owner); + + if (len) { + lwsl_info("%s: set metadata %s\n", __func__, name); + lwsl_hexdump_info(value, len); + } else + lwsl_info("%s: serializing tx cr adj %d\n", __func__, + (int)tx_cr_adjust); + + if (h->cwsi) + lws_callback_on_writable(h->cwsi); + + return 0; +} + +int +lws_sspc_set_metadata(struct lws_sspc_handle *h, const char *name, + void *value, size_t len) +{ + return _lws_sspc_set_metadata(h, name, value, len, 0); +} + +int +lws_sspc_add_peer_tx_credit(struct lws_sspc_handle *h, int32_t bump) +{ + lwsl_notice("%s: %d\n", __func__, bump); + return _lws_sspc_set_metadata(h, "", NULL, 0, (int)bump); +} + +int +lws_sspc_get_est_peer_tx_credit(struct lws_sspc_handle *h) +{ + return h->txc.peer_tx_cr_est; +} diff --git a/lib/secure-streams/secure-streams-process.c b/lib/secure-streams/secure-streams-process.c new file mode 100644 index 000000000..8ee0d11b4 --- /dev/null +++ b/lib/secure-streams/secure-streams-process.c @@ -0,0 +1,533 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * + * When the user code is in a different process, a non-tls unix domain socket + * proxy is used to asynchronusly transfer buffers in each direction via the + * network stack, without explicit IPC + * + * user_process{ [user code] | shim | socket-}------ lws_process{ lws } + * + * Lws exposes a listening unix domain socket in this case, the user processes + * connect to it and pass just info.streamtype in an initial tx packet. All + * packets are prepended by a 1-byte type field when used in this mode. See + * lws-secure-streams.h for documentation and definitions. + * + * Proxying in either direction can face the situation it cannot send the onward + * packet immediately and is subject to separating the write request from the + * write action. To make the best use of memory, a single preallocated buffer + * stashes pending packets in all four directions (c->p, p->c, p->ss, ss->p). + * This allows it to adapt to different traffic patterns without wasted areas + * dedicated to traffic that isn't coming in a particular application. + * + * A shim is provided to monitor the process' unix domain socket and regenerate + * the secure sockets api there with callbacks happening in the process thread + * context. + * + * This file implements the listening unix domain socket proxy... this code is + * only going to run on a Linux-class device with its implications about memory + * availability. + */ + +#include + +/* + * Because both sides of the connection share the conn, we allocate it + * during accepted adoption, and both sides point to it. + * + * The last one of the accepted side and the onward side to close frees it. + */ + +struct conn { + struct lws_ss_serialization_parser parser; + + lws_dsh_t *dsh; /* unified buffer for both sides */ + struct lws *wsi; /* the client side */ + lws_ss_handle_t *ss; /* the onward, ss side */ + + lws_ss_conn_states_t state; +}; + +struct raw_pss { + struct conn *conn; +}; + +/* + * Proxy - onward secure-stream handler + */ + +typedef struct ss_proxy_onward { + lws_ss_handle_t *ss; + struct conn *conn; +} ss_proxy_t; + + +/* secure streams payload interface */ + +static int +ss_proxy_onward_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + ss_proxy_t *m = (ss_proxy_t *)userobj; + const char *rsp = NULL; + int n; + + /* + * The onward secure stream connection has received something. + */ + + if (m->ss->rideshare != m->ss->policy && m->ss->rideshare) { + rsp = m->ss->rideshare->streamtype; + flags |= LWSSS_FLAG_RIDESHARE; + } + + n = lws_ss_serialize_rx_payload(m->conn->dsh, buf, len, flags, rsp); + if (n) + return n; + + if (m->conn->wsi) /* if possible, request client conn write */ + lws_callback_on_writable(m->conn->wsi); + + return 0; +} + +/* + * we are transmitting buffered payload originally from the client on to the ss + */ + +static int +ss_proxy_onward_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + ss_proxy_t *m = (ss_proxy_t *)userobj; + void *p; + size_t si; + + if (!m->conn->ss || m->conn->state != LPCS_OPERATIONAL) { + lwsl_notice("%s: ss not ready\n", __func__); + *len = 0; + + return 1; + } + + /* + * The onward secure stream says that we could send something to it + * (by putting it in buf, and setting *len and *flags) + */ + + if (lws_ss_deserialize_tx_payload(m->conn->dsh, m->ss->wsi, + ord, buf, len, flags)) + return 1; + + if (!lws_dsh_get_head(m->conn->dsh, KIND_C_TO_P, (void **)&p, &si)) + lws_ss_request_tx(m->conn->ss); + + if (!*len && !*flags) + return 1; /* we don't actually want to send anything */ + + lwsl_info("%s: onward tx %d fl 0x%x\n", __func__, (int)*len, *flags); + +#if 0 + { + int ff = open("/tmp/z", O_RDWR | O_CREAT | O_APPEND, 0666); + if (ff == -1) + lwsl_err("%s: errno %d\n", __func__, errno); + write(ff, buf, *len); + close(ff); + } +#endif + + return 0; +} + +static int +ss_proxy_onward_state(void *userobj, void *sh, + lws_ss_constate_t state, lws_ss_tx_ordinal_t ack) +{ + ss_proxy_t *m = (ss_proxy_t *)userobj; + + switch (state) { + case LWSSSCS_CREATING: + break; + + case LWSSSCS_DESTROYING: + if (!m->conn) + break; + if (!m->conn->wsi) { + /* + * Our onward secure stream is closing and our client + * connection has already gone away... destroy the conn. + */ + lwsl_info("%s: Destroying conn\n", __func__); + lws_dsh_destroy(&m->conn->dsh); + free(m->conn); + m->conn = NULL; + return 0; + } else + lwsl_info("%s: ss DESTROYING, wsi up\n", __func__); + break; + + default: + break; + } + if (!m->conn) { + lwsl_warn("%s: dropping state due to conn not up\n", __func__); + + return 0; + } + + lws_ss_serialize_state(m->conn->dsh, state, ack); + + if (m->conn->wsi) /* if possible, request client conn write */ + lws_callback_on_writable(m->conn->wsi); + + return 0; +} + +void +ss_proxy_onward_txcr(void *userobj, int bump) +{ + ss_proxy_t *m = (ss_proxy_t *)userobj; + + if (!m->conn) + return; + + lws_ss_serialize_txcr(m->conn->dsh, bump); + + if (m->conn->wsi) /* if possible, request client conn write */ + lws_callback_on_writable(m->conn->wsi); +} + +/* + * Client - Proxy connection on unix domain socket + */ + +static int +callback_ss_proxy(struct lws *wsi, enum lws_callback_reasons reason, + void *user, void *in, size_t len) +{ + struct lws_context_per_thread *pt = &wsi->context->pt[(int)wsi->tsi]; + struct raw_pss *pss = (struct raw_pss *)user; + const lws_ss_policy_t *rsp; + struct conn *conn = NULL; + lws_ss_info_t ssi; + const uint8_t *cp; +#if defined(LWS_WITH_DETAILED_LATENCY) + lws_usec_t us; +#endif + char s[128]; + uint8_t *p; + size_t si; + char pay; + int n; + + if (pss) + conn = pss->conn; + + switch (reason) { + case LWS_CALLBACK_PROTOCOL_INIT: + break; + + case LWS_CALLBACK_PROTOCOL_DESTROY: + break; + + /* callbacks related to raw socket descriptor "accepted side" */ + + case LWS_CALLBACK_RAW_ADOPT: + lwsl_info("LWS_CALLBACK_RAW_ADOPT\n"); + if (!pss) + return -1; + pss->conn = malloc(sizeof(struct conn)); + if (!pss->conn) + return -1; + memset(pss->conn, 0, sizeof(*pss->conn)); + + pss->conn->dsh = lws_dsh_create(&pt->ss_dsh_owner, + LWS_SS_MTU * 160, 2); + if (!pss->conn->dsh) { + free(pss->conn); + + return -1; + } + + pss->conn->wsi = wsi; + pss->conn->state = LPCS_WAIT_INITIAL_TX; + + /* + * Client is expected to follow the unix domain socket + * acceptance up rapidly with an initial tx containing the + * streamtype name. We can't create the stream until then. + */ + lws_set_timeout(wsi, + PENDING_TIMEOUT_AWAITING_CLIENT_HS_SEND, 3); + break; + + case LWS_CALLBACK_RAW_CLOSE: + lwsl_info("LWS_CALLBACK_RAW_CLOSE:\n"); + + /* + * the client unix domain socket connection has closed... + * eg, client has exited or otherwise has definitively finished + * with the proxying and onward connection + */ + + if (!conn) + break; + + if (conn->ss) { + lwsl_info("%s: destroying ss\n", __func__); + /* sever relationship with ss about to be deleted */ + lws_set_opaque_user_data(wsi, NULL); + + conn->wsi = NULL; + + + lws_ss_destroy(&conn->ss); + /* conn may have gone */ + break; + } + + if (conn->state == LPCS_DESTROYED || !conn->ss) { + /* + * There's no onward secure stream and our client + * connection is closing. Destroy the conn. + */ + lws_dsh_destroy(&conn->dsh); + free(conn); + pss->conn = NULL; + } else + lwsl_debug("%s: CLOSE; ss=%p\n", __func__, conn->ss); + + break; + + case LWS_CALLBACK_RAW_RX: + lwsl_info("%s: RX: rx %d\n", __func__, (int)len); + + if (!conn || !conn->wsi) { + lwsl_err("%s: rx with bad conn state\n", __func__); + + return -1; + } + + // lwsl_hexdump_info(in, len); + + if (conn->state == LPCS_WAIT_INITIAL_TX) { + memset(&ssi, 0, sizeof(ssi)); + ssi.user_alloc = sizeof(ss_proxy_t); + ssi.handle_offset = offsetof(ss_proxy_t, ss); + ssi.opaque_user_data_offset = + offsetof(ss_proxy_t, conn); + ssi.rx = ss_proxy_onward_rx; + ssi.tx = ss_proxy_onward_tx; + ssi.state = ss_proxy_onward_state; + } + + if (lws_ss_deserialize_parse(&conn->parser, + lws_get_context(wsi), conn->dsh, in, len, + &conn->state, conn, &conn->ss, &ssi, 0)) { + lwsl_err("%s: RAW_RX: deserialize_parse fail\n", __func__); + return -1; + } + + if (conn->state == LPCS_REPORTING_FAIL || + conn->state == LPCS_REPORTING_OK) + lws_callback_on_writable(conn->wsi); + + break; + + case LWS_CALLBACK_RAW_WRITEABLE: + // lwsl_notice("LWS_CALLBACK_RAW_PROXY_SRV_WRITEABLE\n"); + + /* + * We can transmit something back to the client from the dsh + * of stuff we received on its behalf from the ss + */ + + if (!conn || !conn->wsi) + break; + + n = 0; + pay = 0; + s[3] = 0; + cp = (const uint8_t *)s; + switch (conn->state) { + case LPCS_REPORTING_FAIL: + s[3] = 1; + /* fallthru */ + case LPCS_REPORTING_OK: + s[0] = LWSSS_SER_RXPRE_CREATE_RESULT; + s[1] = 0; + s[2] = 1; + + n = 4; + + /* + * If there's rideshare sequencing, it's added after the + * first 4 bytes or the create result, comma-separated + */ + + rsp = conn->ss->policy; + + while (rsp) { + if (n != 4 && n < (int)sizeof(s) - 2) + s[n++] = ','; + n += lws_snprintf(&s[n], sizeof(s) - n, + "%s", rsp->streamtype); + rsp = lws_ss_policy_lookup(wsi->context, + rsp->rideshare_streamtype); + } + s[2] = n - 3; + conn->state = LPCS_OPERATIONAL; + lws_set_timeout(wsi, 0, 0); + break; + case LPCS_OPERATIONAL: + if (lws_dsh_get_head(conn->dsh, KIND_SS_TO_P, + (void **)&p, &si)) + break; + cp = p; + +#if defined(LWS_WITH_DETAILED_LATENCY) + if (cp[0] == LWSSS_SER_RXPRE_RX_PAYLOAD && + wsi->context->detailed_latency_cb) { + + /* + * we're fulfilling rx that came in on ss + * by sending it back out to the client on + * the Unix Domain Socket + * + * + 7 u32 write will compute latency here... + * + 11 u32 ust we received from ss + * + * lws_write will report it and fill in + * LAT_DUR_PROXY_CLIENT_REQ_TO_WRITE + */ + + us = lws_now_usecs(); + lws_ser_wu32be(&p[7], us - + lws_ser_ru64be(&p[11])); + lws_ser_wu64be(&p[11], us); + + wsi->detlat.acc_size = + wsi->detlat.req_size = si - 19; + /* time proxy held it */ + wsi->detlat.latencies[ + LAT_DUR_PROXY_RX_TO_ONWARD_TX] = + lws_ser_ru32be(&p[7]); + } +#endif + + pay = 1; + n = (int)si; + break; + default: + break; + } +again: + if (!n) + break; + + n = lws_write(wsi, (uint8_t *)cp, n, LWS_WRITE_RAW); + if (n < 0) { + lwsl_info("%s: WRITEABLE: %d\n", __func__, n); + + goto hangup; + } + + switch (conn->state) { + case LPCS_REPORTING_FAIL: + goto hangup; + case LPCS_OPERATIONAL: + if (pay) + lws_dsh_free((void **)&p); + if (!lws_dsh_get_head(conn->dsh, KIND_SS_TO_P, + (void **)&p, &si)) { + if (!lws_send_pipe_choked(wsi)) { + cp = p; + pay = 1; + n = (int)si; + goto again; + } + lws_callback_on_writable(wsi); + } + break; + default: + break; + } + break; + + default: + break; + } + + return lws_callback_http_dummy(wsi, reason, user, in, len); + +hangup: + //lws_ss_destroy(&conn->ss); + //conn->state = LPCS_DESTROYED; + + /* hang up on him */ + return -1; +} + +static const struct lws_protocols protocols[] = { + { + "ssproxy-protocol", + callback_ss_proxy, + sizeof(struct raw_pss), + 2048, 2048, NULL, 0 + }, + { NULL, NULL, 0, 0, 0, NULL, 0 } +}; + +/* + * called from create_context() + */ + +int +lws_ss_proxy_create(struct lws_context *context, const char *bind, int port) +{ + struct lws_context_creation_info info; + + memset(&info, 0, sizeof(info)); + + info.vhost_name = "ssproxy"; + info.options = LWS_SERVER_OPTION_ADOPT_APPLY_LISTEN_ACCEPT_CONFIG; + info.port = port; + if (!port) { + if (!bind) + bind = "@proxy.ss.lws"; + info.options |= LWS_SERVER_OPTION_UNIX_SOCK; + } + info.iface = bind; + info.unix_socket_perms = "root:root"; + info.listen_accept_role = "raw-skt"; + info.listen_accept_protocol = "ssproxy-protocol"; + info.protocols = protocols; + + if (!lws_create_vhost(context, &info)) { + lwsl_err("%s: Failed to create ss proxy vhost\n", __func__); + + return 1; + } + + return 0; +} diff --git a/lib/secure-streams/secure-streams-serialize.c b/lib/secure-streams/secure-streams-serialize.c new file mode 100644 index 000000000..cd85f0ae2 --- /dev/null +++ b/lib/secure-streams/secure-streams-serialize.c @@ -0,0 +1,926 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * + * In the case Secure Streams protocol needs to pass through a buffer, + * or a streamed connection, the protocol metadata must be serialized. This + * file provides internal apis to perform the serialization and deserialization + * in and out of an lws_dsh fifo-type buffer. + */ + +#include + +typedef enum { + RPAR_TYPE, + RPAR_LEN_MSB, + RPAR_LEN_LSB, + + RPAR_FLAG_B3, + RPAR_FLAG_B2, + RPAR_FLAG_B1, + RPAR_FLAG_B0, + + RPAR_LATA3, + RPAR_LATA2, + RPAR_LATA1, + RPAR_LATA0, + + RPAR_LATB7, + RPAR_LATB6, + RPAR_LATB5, + RPAR_LATB4, + RPAR_LATB3, + RPAR_LATB2, + RPAR_LATB1, + RPAR_LATB0, + + RPAR_RIDESHARE_LEN, + RPAR_RIDESHARE, + + RPAR_RESULT_CREATION_RIDESHARE, + + RPAR_METADATA_NAMELEN, + RPAR_METADATA_NAME, + RPAR_METADATA_VALUE, + + RPAR_PAYLOAD, + + RPAR_RX_TXCR_UPDATE, + + RPAR_STREAMTYPE, + RPAR_INITTXC0, + + RPAR_TXCR0, + + RPAR_RESULT_CREATION, + + RPAR_STATEINDEX, + RPAR_ORD3, + RPAR_ORD2, + RPAR_ORD1, + RPAR_ORD0, +} rx_parser_t; + +#if defined(_DEBUG) +static const char *sn[] = { + "unset", + + "LPCS_WAIT_INITIAL_TX", + "LPCS_REPORTING_FAIL", + "LPCS_REPORTING_OK", + "LPCS_OPERATIONAL", + "LPCS_DESTROYED", + + "LPCS_SENDING_INITIAL_TX", + "LPCS_WAITING_CREATE_RESULT", + "LPCS_LOCAL_CONNECTED", + "LPCS_ONWARD_CONNECT", +}; +#endif + +void +lws_ss_serialize_state_transition(lws_ss_conn_states_t *state, int new_state) +{ +#if defined(_DEBUG) + lwsl_info("%s: %s -> %s\n", __func__, sn[*state], sn[new_state]); +#endif + *state = new_state; +} + + +/* + * event loop received something and is queueing it for the foreign side of + * the dsh to consume later as serialized rx + */ + +int +lws_ss_serialize_rx_payload(struct lws_dsh *dsh, const uint8_t *buf, + size_t len, int flags, const char *rsp) +{ + lws_usec_t us = lws_now_usecs(); + uint8_t pre[128]; + int est = 19, l = 0; + + if (flags & LWSSS_FLAG_RIDESHARE) { + /* + * We should have the rideshare name if we have been told it's + * on a non-default rideshare + */ + assert(rsp); + l = strlen(rsp); + est += 1 + l; + } else + assert(!rsp); + + // lwsl_user("%s: len %d, flags: %d\n", __func__, (int)len, flags); + // lwsl_hexdump_info(buf, len); + + pre[0] = LWSSS_SER_RXPRE_RX_PAYLOAD; + lws_ser_wu16be(&pre[1], len + est - 3); + lws_ser_wu32be(&pre[3], flags); + lws_ser_wu32be(&pre[7], 0); /* write will compute latency here... */ + lws_ser_wu64be(&pre[11], us); /* ... and set this to the write time */ + + /* + * If we are on a non-default rideshare, append the non-default name to + * the headers of the payload part, 1-byte length first + */ + + if (flags & LWSSS_FLAG_RIDESHARE) { + pre[19] = (uint8_t)l; + memcpy(&pre[20], rsp, l); + } + + if (lws_dsh_alloc_tail(dsh, KIND_SS_TO_P, pre, est, buf, len)) { + lwsl_err("%s: unable to alloc in dsh 1\n", __func__); + + return 1; + } + + return 0; +} + +/* + * event loop is consuming dsh-buffered, already-serialized tx from the + * foreign side + */ + +int +lws_ss_deserialize_tx_payload(struct lws_dsh *dsh, struct lws *wsi, + lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + uint8_t *p; + size_t si; + + if (lws_dsh_get_head(dsh, KIND_C_TO_P, (void **)&p, &si)) { + *len = 0; + return 0; + } + + /* + * The packet in the dsh has a proxying serialization header, process + * and strip it so we just forward the payload + */ + + if (*len <= si - 23 || si < 23) { + /* + * What comes out of the dsh needs to fit in the tx buffer + */ + lwsl_err("%s: *len = %d, si = %d\n", __func__, (int)*len, (int)si); + assert(0); + return 1; + } + if (p[0] != LWSSS_SER_TXPRE_TX_PAYLOAD) { + assert(0); + return 1; + } + + *len = lws_ser_ru16be(&p[1]) - (23 - 3); + assert(*len == si - 23); + + memcpy(buf, p + 23, si - 23); + + *flags = lws_ser_ru32be(&p[3]); + +#if defined(LWS_WITH_DETAILED_LATENCY) + if (wsi && wsi->context->detailed_latency_cb) { + /* + * use the proxied latency information to compute the client + * and our delays, and apply to wsi. + * + * + 7 u32 us held at client before written + * +11 u32 us taken for transit to proxy + * +15 u64 ustime when proxy got packet from client + */ + lws_usec_t us = lws_now_usecs(); + + wsi->detlat.acc_size = wsi->detlat.req_size = si - 23; + wsi->detlat.latencies[LAT_DUR_PROXY_CLIENT_REQ_TO_WRITE] = + lws_ser_ru32be(&p[7]); + wsi->detlat.latencies[LAT_DUR_PROXY_CLIENT_WRITE_TO_PROXY_RX] = + lws_ser_ru32be(&p[11]); + wsi->detlat.latencies[LAT_DUR_PROXY_RX_TO_ONWARD_TX] = + us - lws_ser_ru64be(&p[15]); + + wsi->detlat.latencies[LAT_DUR_USERCB] = 0; + } +#endif + + // lwsl_user("%s: len %d, flags: %d\n", __func__, (int)*len, *flags); + // lwsl_hexdump_info(buf, *len); + + lws_dsh_free((void **)&p); + + return 0; +} + +/* + * event loop side is issuing state, serialize and put it in the dbuf for + * the foreign side to consume later + */ + +int +lws_ss_serialize_state(struct lws_dsh *dsh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + uint8_t pre[8]; + + lwsl_info("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + pre[0] = LWSSS_SER_RXPRE_CONNSTATE; + pre[1] = 0; + pre[2] = 5; + pre[3] = (uint8_t)state; + lws_ser_wu32be(&pre[4], ack); + + if (lws_dsh_alloc_tail(dsh, KIND_SS_TO_P, pre, 8, NULL, 0)) { + lwsl_err("%s: unable to alloc in dsh 2\n", __func__); + + return 1; + } + + return 0; +} + +/* + * event loop side was told about remote peer tx credit window update, serialize + * and put it in the dbuf for the foreign side to consume later + */ + +int +lws_ss_serialize_txcr(struct lws_dsh *dsh, int txcr) +{ + uint8_t pre[7]; + + lwsl_info("%s: %d\n", __func__, txcr); + + pre[0] = LWSSS_SER_RXPRE_TXCR_UPDATE; + pre[1] = 0; + pre[2] = 4; + lws_ser_wu32be(&pre[3], txcr); + + if (lws_dsh_alloc_tail(dsh, KIND_SS_TO_P, pre, 7, NULL, 0)) { + lwsl_err("%s: unable to alloc in dsh 2\n", __func__); + + return 1; + } + + return 0; +} + +/* + * event loop side is consuming serialized data from the client via dsh, parse + * it using a bytewise parser for the serialization header(s)... + * it's possibly coalesced + */ + +int +lws_ss_deserialize_parse(struct lws_ss_serialization_parser *par, + struct lws_context *context, + struct lws_dsh *dsh, const uint8_t *cp, size_t len, + lws_ss_conn_states_t *state, void *parconn, + lws_ss_handle_t **pss, lws_ss_info_t *ssi, char client) +{ + lws_ss_metadata_t *pm; + lws_sspc_handle_t *h; + uint8_t pre[23]; + lws_usec_t us; + uint32_t flags; + uint8_t *p; + int n; + + while (len--) { + switch (par->ps) { + case RPAR_TYPE: + par->type = *cp++; + par->ps++; + break; + + case RPAR_LEN_MSB: /* this is remaining frame length */ + par->rem = (*cp++) << 8; + par->ps++; + break; + + case RPAR_LEN_LSB: + par->rem |= *cp++; + switch (par->type) { + + /* event loop side */ + + case LWSSS_SER_TXPRE_TX_PAYLOAD: + if (client) + goto hangup; + if (*state != LPCS_OPERATIONAL) + goto hangup; + par->ps = RPAR_FLAG_B3; + break; + + case LWSSS_SER_TXPRE_DESTROYING: + if (client) + goto hangup; + par->ps = RPAR_TYPE; + lwsl_notice("%s: DESTROYING\n", __func__); + goto hangup; + + case LWSSS_SER_TXPRE_ONWARD_CONNECT: + if (client) + goto hangup; + if (*state != LPCS_OPERATIONAL) + goto hangup; + par->ps = RPAR_TYPE; + if (*pss) + lws_ss_client_connect(*pss); + break; + + case LWSSS_SER_TXPRE_STREAMTYPE: + if (client) + goto hangup; + if (*state != LPCS_WAIT_INITIAL_TX) + goto hangup; + if (par->rem < 4) + goto hangup; + par->ctr = 0; + par->ps = RPAR_INITTXC0; + break; + + case LWSSS_SER_TXPRE_METADATA: + if (client) + goto hangup; + if (par->rem < 3) + goto hangup; + par->ctr = 0; + par->ps = RPAR_METADATA_NAMELEN; + break; + + case LWSSS_SER_TXPRE_TXCR_UPDATE: + par->ps = RPAR_TXCR0; + par->ctr = 0; + break; + + /* client side */ + + case LWSSS_SER_RXPRE_RX_PAYLOAD: + if (!client) + goto hangup; + if (*state != LPCS_OPERATIONAL && + *state != LPCS_LOCAL_CONNECTED) { + lwsl_err("rx in state %d\n", *state); + goto hangup; + } + par->rideshare[0] = '\0'; + par->ps = RPAR_FLAG_B3; + break; + + case LWSSS_SER_RXPRE_CREATE_RESULT: + if (!client) + goto hangup; + if (*state != LPCS_WAITING_CREATE_RESULT) { + lwsl_err("a2\n"); + goto hangup; + } + if (par->rem < 1) { + lwsl_err("a3\n"); + goto hangup; + } + par->ps = RPAR_RESULT_CREATION; + break; + + case LWSSS_SER_RXPRE_CONNSTATE: + if (!client) + goto hangup; + if (*state != LPCS_LOCAL_CONNECTED && + *state != LPCS_OPERATIONAL) { + lwsl_err("a4\n"); + goto hangup; + } + if (par->rem < 4) { + lwsl_err("a5\n"); + goto hangup; + } + par->ps = RPAR_STATEINDEX; + break; + + case LWSSS_SER_RXPRE_TXCR_UPDATE: + par->ctr = 0; + par->ps = RPAR_RX_TXCR_UPDATE; + break; + + default: + lwsl_notice("%s: bad type 0x%x\n", __func__, + par->type); + goto hangup; + } + break; + + case RPAR_FLAG_B3: + case RPAR_FLAG_B2: + case RPAR_FLAG_B1: + case RPAR_FLAG_B0: + par->flags <<= 8; + par->flags |= *cp++; + par->ps++; + if (!par->rem--) + goto hangup; + break; + + case RPAR_LATA3: + case RPAR_LATA2: + case RPAR_LATA1: + case RPAR_LATA0: + par->usd_phandling <<= 8; + par->usd_phandling |= *cp++; + par->ps++; + if (!par->rem--) + goto hangup; + break; + + case RPAR_LATB7: + case RPAR_LATB6: + case RPAR_LATB5: + case RPAR_LATB4: + case RPAR_LATB3: + case RPAR_LATB2: + case RPAR_LATB1: + case RPAR_LATB0: + par->ust_pwait <<= 8; + par->ust_pwait |= *cp++; + par->ps++; + par->frag1 = 1; + if (!par->rem--) + goto hangup; + + if (par->ps == RPAR_RIDESHARE_LEN && + !(par->flags & LWSSS_FLAG_RIDESHARE)) + par->ps = RPAR_PAYLOAD; + + if (par->rem) + break; + + /* fallthru - handle 0-length payload */ + + if (!(par->flags & LWSSS_FLAG_RIDESHARE)) + goto payload_ff; + goto hangup; + + /* + * Inbound rideshare info is provided on the RX packet + * itself + */ + + case RPAR_RIDESHARE_LEN: + par->slen = *cp++; + par->ctr = 0; + par->ps++; + if (par->rem-- < par->slen) + goto hangup; + break; + + case RPAR_RIDESHARE: + par->rideshare[par->ctr++] = *cp++; + if (!par->rem--) + goto hangup; + if (par->ctr != par->slen) + break; + par->ps = RPAR_PAYLOAD; + if (par->rem) + break; + + /* fallthru - handle 0-length payload */ + + case RPAR_PAYLOAD: +payload_ff: + n = (int)len + 1; + if (n > par->rem) + n = par->rem; + if (n > 1380) + n = 1380; + + /* deal with refragmented SOM / EOM flags */ + + flags = par->flags & LWSSS_FLAG_RELATED_START; + if (par->frag1) + flags |= par->flags & + (LWSSS_FLAG_SOM | LWSSS_FLAG_POLL); + + if (par->rem == n) + flags |= par->flags & (LWSSS_FLAG_EOM | + LWSSS_FLAG_RELATED_END); + + par->frag1 = 0; + us = lws_now_usecs(); + + if (!client) { + /* + * Proxy - we received some serialized tx from + * the client. + * + * The header for buffering private to the + * proxy is 23 bytes vs 19 to hold the + * current time when it was buffered + */ + + lwsl_info("%s: C2P RX: len %d\n", __func__, (int)n); + + p = pre; + pre[0] = LWSSS_SER_TXPRE_TX_PAYLOAD; + lws_ser_wu16be(&p[1], n + 23 - 3); + lws_ser_wu32be(&p[3], par->flags); + /* us held at client before written */ + lws_ser_wu32be(&p[7], par->usd_phandling); + /* us taken for transit to proxy */ + lws_ser_wu32be(&p[11], us - par->ust_pwait); + /* time used later to find proxy hold time */ + lws_ser_wu64be(&p[15], us); + + if (lws_dsh_alloc_tail(dsh, KIND_C_TO_P, pre, + 23, cp, n)) { + lwsl_err("%s: unable to alloc in dsh 3\n", + __func__); + + return 1; + } + + lws_ss_request_tx(*pss); + } else { + + /* + * Client receives some RX from proxy + * + * Pass whatever payload we have to ss user + */ + + lwsl_info("%s: P2C RX: len %d\n", __func__, (int)n); + + h = lws_container_of(par, lws_sspc_handle_t, parser); + h->txc.peer_tx_cr_est -= n; + + ssi->rx((void *)pss, (uint8_t *)cp, n, flags); + +#if defined(LWS_WITH_DETAILED_LATENCY) + if (lws_det_lat_active(context)) { + lws_detlat_t d; + + d.type = LDLT_READ; + d.acc_size = d.req_size = n; + d.latencies[LAT_DUR_USERCB] = + lws_now_usecs() - us; + d.latencies[LAT_DUR_PROXY_CLIENT_REQ_TO_WRITE] = + par->usd_phandling; + d.latencies[LAT_DUR_PROXY_CLIENT_WRITE_TO_PROXY_RX] = + us - par->ust_pwait; + + lws_det_lat_cb(context, &d); + } +#endif + } + + if (n) { + cp += n; + par->rem -= n; + len = (len + 1) - n; + } + if (!par->rem) + par->ps = RPAR_TYPE; + break; + + case RPAR_RX_TXCR_UPDATE: + if (!--par->rem && par->ctr != 3) + goto hangup; + + par->temp32 = (par->temp32 << 8) | *cp++; + if (++par->ctr < 4) + break; + + /* + * Proxy is telling us remote endpoint is allowing us + * par->temp32 more bytes tx credit to write to it + */ + + h = lws_container_of(par, lws_sspc_handle_t, parser); + h->txc.tx_cr += par->temp32; + lwsl_info("%s: RX_PEER_TXCR: %d\n", __func__, par->temp32); + lws_sspc_request_tx(h); /* in case something waiting */ + par->ctr = 0; + par->ps = RPAR_TYPE; + break; + + case RPAR_INITTXC0: + if (!--par->rem) + goto hangup; + + par->temp32 = (par->temp32 << 8) | *cp++; + if (++par->ctr < 4) + break; + + par->txcr_out = par->temp32; + par->ctr = 0; + par->ps = RPAR_STREAMTYPE; + break; + + /* + * These are the client adjusting our / the remote peer ability + * to send back to him. He's sending a signed u32 BE + */ + + case RPAR_TXCR0: + + par->temp32 = (par->temp32 << 8) | *cp++; + if (++par->ctr < 4) { + if (!--par->rem) + goto hangup; + break; + } + + if (--par->rem) + goto hangup; + + if (!client) { + /* + * We're the proxy, being told by the client + * that it wants to allow more tx from the peer + * on the onward connection towards it. + */ +#if defined(LWS_ROLE_H2) || defined(LWS_ROLE_MQTT) + if ((*pss)->wsi) { + lws_wsi_tx_credit((*pss)->wsi, + LWSTXCR_PEER_TO_US, + par->temp32); + lwsl_notice("%s: proxy RX_PEER_TXCR: +%d (est %d)\n", + __func__, par->temp32, + (*pss)->wsi->txc.peer_tx_cr_est); + lws_ss_request_tx(*pss); + } else +#endif + lwsl_info("%s: dropping TXCR\n", __func__); + } else { + /* + * We're the client, being told by the proxy + * about tx credit being given to us from the + * remote peer, allowing the client to write to + * it. + */ + h = lws_container_of(par, lws_sspc_handle_t, parser); + h->txc.tx_cr += par->temp32; + lwsl_info("%s: client RX_PEER_TXCR: %d\n", + __func__, par->temp32); + lws_sspc_request_tx(h); /* in case something waiting */ + } + par->ps = RPAR_TYPE; + break; + + case RPAR_METADATA_NAMELEN: + if (!--par->rem) + goto hangup; + par->slen = *cp++; + if (par->slen >= sizeof(par->metadata_name) - 1) + goto hangup; + par->ctr = 0; + par->ps++; + break; + + case RPAR_METADATA_NAME: + if (!--par->rem) + goto hangup; + par->metadata_name[par->ctr++] = *cp++; + if (par->ctr != par->slen) + break; + par->ps = RPAR_METADATA_VALUE; + + /* only non-client side can receive these */ + + /* + * This is the policy's metadata list for the given + * name + */ + pm = lws_ss_policy_metadata((*pss)->policy, + par->metadata_name); + if (!pm) { + lwsl_err("%s: metadata %s not in proxy policy\n", + __func__, par->metadata_name); + + goto hangup; + } + + par->ssmd = &(*pss)->metadata[pm->length]; + + if (par->ssmd->value_on_lws_heap) + lws_free_set_NULL(par->ssmd->value); + par->ssmd->value_on_lws_heap = 0; + + par->ssmd->value = lws_malloc(par->rem + 1, "metadata"); + if (!par->ssmd->value) { + lwsl_err("%s: OOM mdv\n", __func__); + goto hangup; + } + par->ssmd->length = par->rem; + /* mark it as needing cleanup */ + par->ssmd->value_on_lws_heap = 1; + par->ctr = 0; + break; + + case RPAR_METADATA_VALUE: + ((uint8_t *)(par->ssmd->value))[par->ctr++] = *cp++; + if (--par->rem) + break; + + /* we think we got all the value */ + lwsl_info("%s: RPAR_METADATA_VALUE for %s (len %d)\n", + __func__, par->ssmd->name, + (int)par->ssmd->length); + lwsl_hexdump_info(par->ssmd->value, par->ssmd->length); + par->ps = RPAR_TYPE; + break; + + case RPAR_STREAMTYPE: + if (client) + goto hangup; + if (par->ctr == sizeof(par->streamtype) - 1) + goto hangup; + + /* + * We're the proxy, creating an SS on behalf of a + * client + */ + + par->streamtype[par->ctr++] = *cp++; + if (--par->rem) + break; + + par->ps = RPAR_TYPE; + par->streamtype[par->ctr] = '\0'; + lwsl_notice("%s: creating proxied ss '%s', txcr %d\n", + __func__, par->streamtype, par->txcr_out); + + ssi->streamtype = par->streamtype; + if (par->txcr_out) + ssi->manual_initial_tx_credit = par->txcr_out; + + if (lws_ss_create(context, 0, ssi, parconn, pss, NULL, NULL)) { + /* + * We're unable to create the onward secure + * stream he asked for... schedule a chance to + * inform him + */ + lwsl_err("%s: create '%s' fail\n", + __func__, par->streamtype); + *state = LPCS_REPORTING_FAIL; + } else { + lwsl_debug("%s: create '%s' OK\n", + __func__, par->streamtype); + *state = LPCS_REPORTING_OK; + } + + if (*pss) { + (*pss)->being_serialized = 1; + lwsl_notice("%s: Created SS initial credit %d\n", + __func__, par->txcr_out); + (*pss)->info.manual_initial_tx_credit = par->txcr_out; + } + + /* parent needs to schedule write on client conn */ + break; + + /* clientside states */ + + case RPAR_RESULT_CREATION: + if (*cp++) { + lwsl_err("%s: stream creation failed\n", + __func__); + goto hangup; + } + + lws_ss_serialize_state_transition(state, + LPCS_LOCAL_CONNECTED); + h = lws_container_of(par, lws_sspc_handle_t, parser); + if (h->cwsi) + lws_callback_on_writable(h->cwsi); + + /* + * This is telling us that the streamtype could be (and + * was) created at the proxy. It's not telling us that + * the onward peer connection could be connected. + * + * We'll get a proxied state() coming later that informs + * us about the situation with that. + */ + + par->rsl_pos = 0; + par->rsl_idx = 0; + h = lws_container_of(par, lws_sspc_handle_t, parser); + memset(&h->rideshare_ofs[0], 0, sizeof(h->rideshare_ofs[0])); + h->rideshare_list[0] = '\0'; + h->rsidx = 0; + + if (!--par->rem) + par->ps = RPAR_TYPE; + else { + par->ps = RPAR_RESULT_CREATION_RIDESHARE; + if (par->rem >= sizeof(h->rideshare_list)) + goto hangup; + } + break; + + case RPAR_RESULT_CREATION_RIDESHARE: + h = lws_container_of(par, lws_sspc_handle_t, parser); + if (*cp == ',') { + cp++; + h->rideshare_list[par->rsl_pos++] = '\0'; + if (par->rsl_idx == LWS_ARRAY_SIZE(h->rideshare_ofs)) + goto hangup; + h->rideshare_ofs[++par->rsl_idx] = par->rsl_pos; + } else + h->rideshare_list[par->rsl_pos++] = *cp++; + if (!--par->rem) + par->ps = RPAR_TYPE; + break; + + case RPAR_STATEINDEX: + par->ctr = *cp++; + par->ps = RPAR_ORD3; + break; + + case RPAR_ORD3: + par->flags = (*cp++) << 24; + par->ps++; + break; + + case RPAR_ORD2: + par->flags |= (*cp++) << 16; + par->ps++; + break; + + case RPAR_ORD1: + par->flags |= (*cp++) << 8; + par->ps++; + break; + + case RPAR_ORD0: + par->flags |= *cp++; + par->ps++; + par->ps = RPAR_TYPE; + + /* + * we received a proxied state change + */ + + switch (par->ctr) { + case LWSSSCS_DISCONNECTED: + case LWSSSCS_UNREACHABLE: + case LWSSSCS_AUTH_FAILED: + lws_ss_serialize_state_transition(state, + LPCS_LOCAL_CONNECTED); + break; + case LWSSSCS_CONNECTED: + lwsl_info("%s: CONNECTED %s\n", __func__, + ssi->streamtype); + lws_ss_serialize_state_transition(state, + LPCS_OPERATIONAL); + break; + default: + break; + } + + if (par->ctr < 0 || par->ctr > 9) + goto hangup; + +#if defined(_DEBUG) + lwsl_info("%s: forwarding proxied state %s\n", + __func__, sn[par->ctr]); +#endif + if (ssi->state((void *)pss, NULL, par->ctr, par->flags)) + goto hangup; + break; + + + default: + goto hangup; + } + } + + return 0; + +hangup: + return -1; +} diff --git a/lib/secure-streams/secure-streams.c b/lib/secure-streams/secure-streams.c new file mode 100644 index 000000000..652f6c9a7 --- /dev/null +++ b/lib/secure-streams/secure-streams.c @@ -0,0 +1,569 @@ +/* + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +static const struct ss_pcols *ss_pcols[] = { +#if defined(LWS_ROLE_H1) + &ss_pcol_h1, /* LWSSSP_H1 */ +#else + NULL, +#endif +#if defined(LWS_ROLE_H2) + &ss_pcol_h2, /* LWSSSP_H2 */ +#else + NULL, +#endif +#if defined(LWS_ROLE_WS) + &ss_pcol_ws, /* LWSSSP_WS */ +#else + NULL, +#endif +#if defined(LWS_ROLE_MQTT) + &ss_pcol_mqtt, /* LWSSSP_MQTT */ +#else + NULL, +#endif +}; + +static const char *state_names[] = { + "LWSSSCS_CREATING", + "LWSSSCS_DISCONNECTED", + "LWSSSCS_UNREACHABLE", + "LWSSSCS_AUTH_FAILED", + "LWSSSCS_CONNECTED", + "LWSSSCS_CONNECTING", + "LWSSSCS_DESTROYING", + "LWSSSCS_POLL", + "LWSSSCS_ALL_RETRIES_FAILED", + "LWSSSCS_QOS_ACK_REMOTE", + "LWSSSCS_QOS_NACK_REMOTE", + "LWSSSCS_QOS_ACK_LOCAL", + "LWSSSCS_QOS_NACK_LOCAL", +}; + +const char * +lws_ss_state_name(int state) +{ + if (state >= (int)LWS_ARRAY_SIZE(state_names)) + return "unknown"; + + return state_names[state]; +} + +int +lws_ss_event_helper(lws_ss_handle_t *h, lws_ss_constate_t cs) +{ + if (!h) + return 0; + +#if defined(LWS_WITH_SEQUENCER) + /* + * A parent sequencer for the ss is optional, if we have one, keep it + * informed of state changes on the ss connection + */ + if (h->seq && cs != LWSSSCS_DESTROYING) + lws_seq_queue_event(h->seq, LWSSEQ_SS_STATE_BASE + cs, + (void *)h, NULL); +#endif + + if (h->h_sink &&h->h_sink->info.state(h->sink_obj, h->h_sink, cs, 0)) + return 1; + + return h->info.state(ss_to_userobj(h), NULL, cs, 0); +} + +static void +lws_ss_timeout_sul_check_cb(lws_sorted_usec_list_t *sul) +{ + lws_ss_handle_t *h = lws_container_of(sul, lws_ss_handle_t, sul); + + lwsl_err("%s: retrying ss h %p after backoff\n", __func__, h); + /* we want to retry... */ + h->seqstate = SSSEQ_DO_RETRY; + + lws_ss_request_tx(h); +} + +int +lws_ss_exp_cb_metadata(void *priv, const char *name, char *out, size_t *pos, + size_t olen, size_t *exp_ofs) +{ + lws_ss_handle_t *h = (lws_ss_handle_t *)priv; + const char *replace = NULL; + size_t total, budget; + lws_ss_metadata_t *md = lws_ss_policy_metadata(h->policy, name); + + if (!md) { + lwsl_err("%s: Unknown metadata %s\n", __func__, name); + + return LSTRX_FATAL_NAME_UNKNOWN; + } + + lwsl_info("%s %s %d\n", __func__, name, (int)md->length); + + replace = h->metadata[md->length].value; + total = h->metadata[md->length].length; + // lwsl_hexdump_err(replace, total); + + budget = olen - *pos; + total -= *exp_ofs; + if (total < budget) + budget = total; + + memcpy(out + *pos, replace + (*exp_ofs), budget); + *exp_ofs += budget; + *pos += budget; + + if (budget == total) + return LSTRX_DONE; + + return LSTRX_FILLED_OUT; +} + +int +lws_ss_set_timeout_us(lws_ss_handle_t *h, lws_usec_t us) +{ + struct lws_context_per_thread *pt = &h->context->pt[h->tsi]; + + h->sul.cb = lws_ss_timeout_sul_check_cb; + __lws_sul_insert(&pt->pt_sul_owner, &h->sul, us); + + return 0; +} + +int +lws_ss_backoff(lws_ss_handle_t *h) +{ + uint64_t ms; + char conceal; + + if (h->seqstate == SSSEQ_RECONNECT_WAIT) + return 0; + + /* figure out what we should do about another retry */ + + lwsl_info("%s: ss %p: retry backoff after failure\n", __func__, h); + ms = lws_retry_get_delay_ms(h->context, h->policy->retry_bo, + &h->retry, &conceal); + if (!conceal) { + lwsl_info("%s: ss %p: abandon conn attempt \n",__func__, h); + h->seqstate = SSSEQ_IDLE; + lws_ss_event_helper(h, LWSSSCS_ALL_RETRIES_FAILED); + return 1; + } + + h->seqstate = SSSEQ_RECONNECT_WAIT; + lws_ss_set_timeout_us(h, ms * LWS_US_PER_MS); + + lwsl_info("%s: ss %p: retry wait %"PRIu64"ms\n", __func__, h, ms); + + return 0; +} + +int +lws_ss_client_connect(lws_ss_handle_t *h) +{ + struct lws_client_connect_info i; + const struct ss_pcols *ssp; + union lws_ss_contemp ct; + char path[128]; + + if (!h->policy) { + lwsl_err("%s: ss with no policy\n", __func__); + + return -1; + } + + /* + * We are already bound to a sink? + */ + + if (h->h_sink) + return 0; + + memset(&i, 0, sizeof i); /* otherwise uninitialized garbage */ + i.context = h->context; + + if (h->policy->flags & LWSSSPOLF_TLS) { + lwsl_info("%s: using tls\n", __func__); + i.ssl_connection = LCCSCF_USE_SSL; + + if (!h->policy->trust_store) { + lwsl_err("%s: tls required but no policy trust store\n", + __func__); + + return -1; + } + + i.vhost = lws_get_vhost_by_name(h->context, + h->policy->trust_store->name); + if (!i.vhost) { + lwsl_err("%s: missing vh for policy ca\n", __func__); + + return -1; + } + } + + i.address = h->policy->endpoint; + i.port = h->policy->port; + i.host = i.address; + i.origin = i.address; + i.opaque_user_data = h; + i.seq = h->seq; + i.retry_and_idle_policy = h->policy->retry_bo; + i.sys_tls_client_cert = h->policy->client_cert; + + i.path = ""; + + ssp = ss_pcols[(int)h->policy->protocol]; + if (!ssp) { + lwsl_err("%s: unsupported protocol\n", __func__); + + return -1; + } + i.alpn = ssp->alpn; + + /* + * For http, we can get the method from the http object, override in + * the protocol-specific munge callback below if not http + */ + i.method = h->policy->u.http.method; + i.protocol = ssp->protocol_name; /* lws protocol name */ + i.local_protocol_name = i.protocol; + + ssp->munge(h, path, sizeof(path), &i, &ct); + + i.pwsi = &h->wsi; + + if (h->policy->plugins[0] && h->policy->plugins[0]->munge) + h->policy->plugins[0]->munge(h, path, sizeof(path)); + + lwsl_info("%s: connecting %s, '%s' '%s' %s\n", __func__, i.method, + i.alpn, i.address, i.path); + + h->txn_ok = 0; + if (lws_ss_event_helper(h, LWSSSCS_CONNECTING)) + return -1; + + if (!lws_client_connect_via_info(&i)) { + lws_ss_event_helper(h, LWSSSCS_UNREACHABLE); + lws_ss_backoff(h); + + return 1; + } + + return 0; +} + + +/* + * Public API + */ + +/* + * Create either a stream or a sink + */ + +int +lws_ss_create(struct lws_context *context, int tsi, const lws_ss_info_t *ssi, + void *opaque_user_data, lws_ss_handle_t **ppss, + struct lws_sequencer *seq_owner, const char **ppayload_fmt) +{ + struct lws_context_per_thread *pt = &context->pt[tsi]; + const lws_ss_policy_t *pol; + lws_ss_metadata_t *smd; + lws_ss_handle_t *h; + size_t size; + void **v; + char *p; + int n; + + pol = lws_ss_policy_lookup(context, ssi->streamtype); + if (!pol) { + lwsl_err("%s: unknown stream type %s\n", __func__, + ssi->streamtype); + return 1; + } + + if (ssi->register_sink) { + /* + * This can register a secure streams sink as well as normal + * secure streams connections. If that's what's happening, + * confirm the policy agrees that this streamtype should be + * directed to a sink. + */ + if (!(pol->flags & LWSSSPOLF_LOCAL_SINK)) { + /* + * Caller wanted to create a sink for this streamtype, + * but the policy does not agree the streamtype should + * be routed to a local sink. + */ + lwsl_err("%s: %s policy does not allow local sink\n", + __func__, ssi->streamtype); + + return 1; + } + } else { + + if (!(pol->flags & LWSSSPOLF_LOCAL_SINK)) { + + } +// lws_dll2_foreach_safe(&pt->ss_owner, NULL, lws_ss_destroy_dll); + } + + /* + * We overallocate and point to things in the overallocation... + * + * 1) the user_alloc from the stream info + * 2) network auth plugin instantiation data + * 3) stream auth plugin instantiation data + * 4) as many metadata pointer structs as the policy tells + * 5) the streamtype name (length is not aligned) + * + * ... when we come to destroy it, just one free to do. + */ + + size = sizeof(*h) + ssi->user_alloc + strlen(ssi->streamtype) + 1; + if (pol->plugins[0]) + size += pol->plugins[0]->alloc; + if (pol->plugins[1]) + size += pol->plugins[1]->alloc; + size += pol->metadata_count * sizeof(lws_ss_metadata_t); + + h = lws_zalloc(size, __func__); + if (!h) + return 2; + + h->info = *ssi; + h->policy = pol; + h->context = context; + h->tsi = tsi; + h->seq = seq_owner; + + /* start of overallocated area */ + p = (char *)&h[1]; + + /* set the handle pointer in the user data struct */ + v = (void **)(p + ssi->handle_offset); + *v = h; + + /* set the opaque user data in the user data struct */ + v = (void **)(p + ssi->opaque_user_data_offset); + *v = opaque_user_data; + + p += ssi->user_alloc; + + if (pol->plugins[0]) { + h->nauthi = p; + p += pol->plugins[0]->alloc; + } + if (pol->plugins[1]) { + h->sauthi = p; + p += pol->plugins[1]->alloc; + } + + if (pol->metadata_count) { + h->metadata = (lws_ss_metadata_t *)p; + p += pol->metadata_count * sizeof(lws_ss_metadata_t); + + lwsl_info("%s: %s metadata count %d\n", __func__, + pol->streamtype, pol->metadata_count); + } + + smd = pol->metadata; + for (n = 0; n < pol->metadata_count; n++) { + h->metadata[n].name = smd->name; + if (n + 1 == pol->metadata_count) + h->metadata[n].next = NULL; + else + h->metadata[n].next = &h->metadata[n + 1]; + smd = smd->next; + } + + memcpy(p, ssi->streamtype, strlen(ssi->streamtype) + 1); + h->info.streamtype = p; + + lws_pt_lock(pt, __func__); + lws_dll2_add_head(&h->list, &pt->ss_owner); + lws_pt_unlock(pt); + + if (ppss) + *ppss = h; + + if (ppayload_fmt) + *ppayload_fmt = pol->payload_fmt; + + if (ssi->register_sink) { + /* + * + */ + } + + lws_ss_event_helper(h, LWSSSCS_CREATING); + + if (!ssi->register_sink && (h->policy->flags & LWSSSPOLF_NAILED_UP)) + if (lws_ss_client_connect(h)) + lws_ss_backoff(h); + + return 0; +} + +void +lws_ss_destroy(lws_ss_handle_t **ppss) +{ + struct lws_context_per_thread *pt; + lws_ss_handle_t *h = *ppss; + lws_ss_metadata_t *pmd; + + if (!h) + return; + + if (h->wsi) { + /* + * Don't let the wsi point to us any more, + * we (the ss object bound to the wsi) are going away now + */ +// lws_set_opaque_user_data(h->wsi, NULL); + lws_set_timeout(h->wsi, 1, LWS_TO_KILL_SYNC); + } + + pt = &h->context->pt[h->tsi]; + + lws_pt_lock(pt, __func__); + *ppss = NULL; + lws_dll2_remove(&h->list); + lws_dll2_remove(&h->to_list); + lws_ss_event_helper(h, LWSSSCS_DESTROYING); + lws_pt_unlock(pt); + + /* in proxy case, metadata value on heap may need cleaning up */ + + pmd = h->metadata; + while (pmd) { + lwsl_info("%s: pmd %p\n", __func__, pmd); + if (pmd->value_on_lws_heap) + lws_free_set_NULL(pmd->value); + pmd = pmd->next; + } + + lws_sul_schedule(h->context, 0, &h->sul, NULL, LWS_SET_TIMER_USEC_CANCEL); + + lws_free_set_NULL(h); +} + +void +lws_ss_request_tx(lws_ss_handle_t *h) +{ + lwsl_info("%s: wsi %p\n", __func__, h->wsi); + + if (h->wsi) { + lws_callback_on_writable(h->wsi); + + return; + } + + if (h->seqstate != SSSEQ_IDLE && + h->seqstate != SSSEQ_DO_RETRY) + return; + + h->seqstate = SSSEQ_TRY_CONNECT; + lws_ss_event_helper(h, LWSSSCS_POLL); + + if (lws_ss_client_connect(h)) + lws_ss_backoff(h); +} + +void +lws_ss_request_tx_len(lws_ss_handle_t *h, unsigned long len) +{ + if (h->wsi) + h->wsi->http.writeable_len = len; + else + h->writeable_len = len; + lws_ss_request_tx(h); +} + +/* + * private helpers + */ + +/* used on context destroy when iterating listed lws_ss on a pt */ + +int +lws_ss_destroy_dll(struct lws_dll2 *d, void *user) +{ + lws_ss_handle_t *h = lws_container_of(d, lws_ss_handle_t, list); + + lws_ss_destroy(&h); + + return 0; +} + +struct lws_sequencer * +lws_ss_get_sequencer(lws_ss_handle_t *h) +{ + return h->seq; +} + +struct lws_context * +lws_ss_get_context(struct lws_ss_handle *h) +{ + return h->context; +} + +const char * +lws_ss_rideshare(struct lws_ss_handle *h) +{ + if (!h->rideshare) + return h->policy->streamtype; + + return h->rideshare->streamtype; +} + +int +lws_ss_add_peer_tx_credit(struct lws_ss_handle *h, int32_t bump) +{ + const struct ss_pcols *ssp; + + ssp = ss_pcols[(int)h->policy->protocol]; + + if (h->wsi && ssp && ssp->tx_cr_add) + return ssp->tx_cr_add(h, bump); + + return 0; +} + +int +lws_ss_get_est_peer_tx_credit(struct lws_ss_handle *h) +{ + const struct ss_pcols *ssp; + + ssp = ss_pcols[(int)h->policy->protocol]; + + if (h->wsi && ssp && ssp->tx_cr_add) + return ssp->tx_cr_est(h); + + return 0; +} diff --git a/lib/secure-streams/system/auth-api.amazon.com/auth.c b/lib/secure-streams/system/auth-api.amazon.com/auth.c new file mode 100644 index 000000000..697ae77b4 --- /dev/null +++ b/lib/secure-streams/system/auth-api.amazon.com/auth.c @@ -0,0 +1,276 @@ +/* + * LWA auth support for Secure Streams + * + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +typedef struct ss_api_amazon_auth { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + struct lejp_ctx jctx; + lws_sorted_usec_list_t sul; + size_t pos; + int expires_secs; +} ss_api_amazon_auth_t; + +static const char * const lejp_tokens_lwa[] = { + "access_token", + "expires_in", +}; + +typedef enum { + LSSPPT_ACCESS_TOKEN, + LSSPPT_EXPIRES_IN, +} lejp_tokens_t; + +enum { + AUTH_IDX_LWA, + AUTH_IDX_ROOT, +}; + +static void +lws_ss_sys_auth_api_amazon_com_kick(lws_sorted_usec_list_t *sul) +{ + struct lws_context *context = lws_container_of(sul, struct lws_context, + sul_api_amazon_com_kick); + + lws_state_transition_steps(&context->mgr_system, + LWS_SYSTATE_OPERATIONAL); +} + +static void +lws_ss_sys_auth_api_amazon_com_renew(lws_sorted_usec_list_t *sul) +{ + struct lws_context *context = lws_container_of(sul, struct lws_context, + sul_api_amazon_com); + + /* if nothing is there to intercept anything, go all the way */ + lws_state_transition_steps(&context->mgr_system, + LWS_SYSTATE_OPERATIONAL); +} + +static signed char +auth_api_amazon_com_parser_cb(struct lejp_ctx *ctx, char reason) +{ + ss_api_amazon_auth_t *m = (ss_api_amazon_auth_t *)ctx->user; + struct lws_context *context = (struct lws_context *)m->opaque_data; + + if (!(reason & LEJP_FLAG_CB_IS_VALUE) || !ctx->path_match) + return 0; + + switch (ctx->path_match - 1) { + case LSSPPT_ACCESS_TOKEN: + if (!ctx->npos) + break; + if (lws_system_blob_heap_append(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + AUTH_IDX_LWA), + (const uint8_t *)ctx->buf, + ctx->npos)) { + lwsl_err("%s: unable to store auth token\n", __func__); + return -1; + } + break; + case LSSPPT_EXPIRES_IN: + m->expires_secs = atoi(ctx->buf); + lws_sul_schedule(context, 0, &context->sul_api_amazon_com, + lws_ss_sys_auth_api_amazon_com_renew, + (uint64_t)m->expires_secs * LWS_US_PER_SEC); + break; + } + + return 0; +} + +/* secure streams payload interface */ + +static int +ss_api_amazon_auth_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + ss_api_amazon_auth_t *m = (ss_api_amazon_auth_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + lws_system_blob_t *ab; + size_t total; + int n; + + ab = lws_system_get_blob(context, LWS_SYSBLOB_TYPE_AUTH, AUTH_IDX_LWA); + + if (buf) { + if (flags & LWSSS_FLAG_SOM) { + lejp_construct(&m->jctx, auth_api_amazon_com_parser_cb, + m, lejp_tokens_lwa, + LWS_ARRAY_SIZE(lejp_tokens_lwa)); + lws_system_blob_heap_empty(ab); + } + + n = (int)(signed char)lejp_parse(&m->jctx, buf, len); + if (n < 0) { + lejp_destruct(&m->jctx); + lws_system_blob_destroy( + lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + AUTH_IDX_LWA)); + + return -1; + } + } + if (!(flags & LWSSS_FLAG_EOM)) + return 0; + + /* we should have the auth token now */ + + total = lws_system_blob_get_size(ab); + lwsl_notice("%s: acquired %u-byte api.amazon.com auth token, exp %ds\n", + __func__, (unsigned int)total, m->expires_secs); + + lejp_destruct(&m->jctx); + + /* we move the system state at auth connection close */ + + return 0; +} + +static int +ss_api_amazon_auth_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + ss_api_amazon_auth_t *m = (ss_api_amazon_auth_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + lws_system_blob_t *ab; + size_t total; + int n; + + /* + * We send out auth slot AUTH_IDX_ROOT, it's the LWA user / device + * identity token + */ + + ab = lws_system_get_blob(context, LWS_SYSBLOB_TYPE_AUTH, AUTH_IDX_ROOT); + total = lws_system_blob_get_size(ab); + + n = lws_system_blob_get(ab, buf, len, m->pos); + if (n < 0) + return 1; + + if (!m->pos) + *flags |= LWSSS_FLAG_SOM; + + m->pos += *len; + + if (m->pos == total) { + *flags |= LWSSS_FLAG_EOM; + m->pos = 0; /* for next time */ + } + + return 0; +} + +static int +ss_api_amazon_auth_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + ss_api_amazon_auth_t *m = (ss_api_amazon_auth_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + size_t s; + + lwsl_info("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + case LWSSSCS_CONNECTING: + s = lws_system_blob_get_size( + lws_system_get_blob(context, LWS_SYSBLOB_TYPE_AUTH, + AUTH_IDX_ROOT)); + lws_ss_request_tx_len(m->ss, s); + m->pos = 0; + break; + + case LWSSSCS_DISCONNECTED: + /* + * We defer moving the system state forward until we have + * closed our connection + tls for the auth action... this is + * because on small systems, we need that memory recovered + * before we can make another connection subsequently. + * + * At this point, we're ultimately being called from within + * the wsi close process, the tls tunnel is not freed yet. + * Use a sul to actually do it next time around the event loop + * when the close process for the auth wsi has completed and + * the related tls is already freed. + */ + s = lws_system_blob_get_size( + lws_system_get_blob(context, LWS_SYSBLOB_TYPE_AUTH, + AUTH_IDX_LWA)); + + if (s) + lws_sul_schedule(context, 0, + &context->sul_api_amazon_com_kick, + lws_ss_sys_auth_api_amazon_com_kick, 1); + break; + + case LWSSSCS_DESTROYING: + lws_sul_schedule(context, 0, &context->sul_api_amazon_com, + NULL, LWS_SET_TIMER_USEC_CANCEL); + lws_system_blob_destroy( + lws_system_get_blob(context, LWS_SYSBLOB_TYPE_AUTH, + AUTH_IDX_LWA)); + break; + + default: + break; + } + + return 0; +} + +int +lws_ss_sys_auth_api_amazon_com(struct lws_context *context) +{ + lws_ss_info_t ssi; + + if (context->hss_auth) /* already exists */ + return 0; + + /* We're making an outgoing secure stream ourselves */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(ss_api_amazon_auth_t, ss); + ssi.opaque_user_data_offset = offsetof(ss_api_amazon_auth_t, opaque_data); + ssi.rx = ss_api_amazon_auth_rx; + ssi.tx = ss_api_amazon_auth_tx; + ssi.state = ss_api_amazon_auth_state; + ssi.user_alloc = sizeof(ss_api_amazon_auth_t); + ssi.streamtype = "api_amazon_com_auth"; + + if (lws_ss_create(context, 0, &ssi, context, &context->hss_auth, + NULL, NULL)) { + lwsl_info("%s: Create LWA auth ss failed (policy?)\n", __func__); + return 1; + } + + return 0; +} diff --git a/lib/secure-streams/system/fetch-policy/fetch-policy.c b/lib/secure-streams/system/fetch-policy/fetch-policy.c new file mode 100644 index 000000000..bd0a3e446 --- /dev/null +++ b/lib/secure-streams/system/fetch-policy/fetch-policy.c @@ -0,0 +1,159 @@ +/* + * Policy fetching for Secure Streams + * + * libwebsockets - small server side websockets and web server implementation + * + * Copyright (C) 2019 - 2020 Andy Green + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +typedef struct ss_fetch_policy { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + + lws_sorted_usec_list_t sul; + + uint8_t partway; +} ss_fetch_policy_t; + +/* secure streams payload interface */ + +static int +ss_fetch_policy_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + ss_fetch_policy_t *m = (ss_fetch_policy_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + + if (flags & LWSSS_FLAG_SOM) { + if (lws_ss_policy_parse_begin(context)) + return 1; + m->partway = 1; + } + + if (len && lws_ss_policy_parse(context, buf, len) < 0) + return 1; + + if (flags & LWSSS_FLAG_EOM) + m->partway = 2; + + return 0; +} + +static int +ss_fetch_policy_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + return 1; +} + +static void +policy_set(lws_sorted_usec_list_t *sul) +{ + ss_fetch_policy_t *m = lws_container_of(sul, ss_fetch_policy_t, sul); + struct lws_context *context = (struct lws_context *)m->opaque_data; + + /* + * We get called if the policy parse was successful, just after the + * ss connection close that was using the vhost from the old policy + */ + + if (lws_ss_policy_set(context, "updated")) + lwsl_err("%s: policy set failed\n", __func__); + else { + context->policy_updated = 1; + lws_state_transition_steps(&context->mgr_system, + LWS_SYSTATE_OPERATIONAL); + } +} + +static int +ss_fetch_policy_state(void *userobj, void *sh, lws_ss_constate_t state, + lws_ss_tx_ordinal_t ack) +{ + ss_fetch_policy_t *m = (ss_fetch_policy_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + + lwsl_info("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_CONNECTING: + break; + + case LWSSSCS_DISCONNECTED: + lwsl_info("%s: DISCONNECTED\n", __func__); + switch (m->partway) { + case 1: + lws_ss_policy_parse_abandon(context); + break; + + case 2: + lws_sul_schedule(context, 0, &m->sul, policy_set, 1); + break; + } + m->partway = 0; + break; + + default: + break; + } + + return 0; +} + +int +lws_ss_sys_fetch_policy(struct lws_context *context) +{ + lws_ss_info_t ssi; + + if (context->hss_fetch_policy) /* already exists */ + return 0; + + /* We're making an outgoing secure stream ourselves */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(ss_fetch_policy_t, ss); + ssi.opaque_user_data_offset = offsetof(ss_fetch_policy_t, opaque_data); + ssi.rx = ss_fetch_policy_rx; + ssi.tx = ss_fetch_policy_tx; + ssi.state = ss_fetch_policy_state; + ssi.user_alloc = sizeof(ss_fetch_policy_t); + ssi.streamtype = "fetch_policy"; + + if (lws_ss_create(context, 0, &ssi, context, &context->hss_fetch_policy, + NULL, NULL)) { + /* + * If there's no fetch_policy streamtype, it can just be we're + * running on a proxied client with no policy of its own, + * it's OK. + */ + lwsl_info("%s: Create LWA auth ss failed (policy?)\n", __func__); + + return 1; + } + + return 0; +} diff --git a/lib/system/async-dns/async-dns-parse.c b/lib/system/async-dns/async-dns-parse.c index 00f53f2d1..48bc56a79 100644 --- a/lib/system/async-dns/async-dns-parse.c +++ b/lib/system/async-dns/async-dns-parse.c @@ -340,14 +340,17 @@ do_cb: if (p + 14 > e) return -1; - - /* it should have exactly reached rrpaylen */ +#if 0 + /* it should have exactly reached rrpaylen if only one + * CNAME, else somewhere in the middle */ if (p != pay + rrpaylen) { lwsl_err("%s: cname name bad len %d\n", __func__, rrpaylen); return -1; } +#endif + lwsl_notice("%s: recursing looking for %s\n", __func__, stack[stp].name); lwsl_info("%s: recursing looking for %s\n", __func__, stack[stp].name); diff --git a/lib/system/ntpclient/ntpclient.c b/lib/system/ntpclient/ntpclient.c index 1ab4cff42..2316fddd8 100644 --- a/lib/system/ntpclient/ntpclient.c +++ b/lib/system/ntpclient/ntpclient.c @@ -134,7 +134,7 @@ callback_ntpc(struct lws *wsi, enum lws_callback_reasons reason, void *user, if (v) break; - lwsl_debug("%s: LWS_CALLBACK_PROTOCOL_INIT\n", __func__); + lwsl_debug("%s: LWS_CALLBACK_PROTOCOL_INIT:\n", __func__); lws_protocol_vh_priv_zalloc(wsi->vhost, wsi->protocol, sizeof(*v)); v = (struct vhd_ntpc *)lws_protocol_vh_priv_get(wsi->vhost, diff --git a/lib/system/system.c b/lib/system/system.c index 7b6d70457..e5c8723d9 100644 --- a/lib/system/system.c +++ b/lib/system/system.c @@ -56,6 +56,8 @@ lws_system_blob_heap_append(lws_system_blob_t *b, const uint8_t *buf, size_t len { assert(!b->is_direct); + lwsl_debug("%s: blob %p\n", __func__, b); + if (lws_buflist_append_segment(&b->u.bl, buf, len) < 0) return -1; @@ -126,6 +128,7 @@ lws_system_blob_destroy(lws_system_blob_t *b) { if (!b) return; + lwsl_info("%s: blob %p\n", __func__, b); if (!b->is_direct) lws_buflist_destroy_all_segments(&b->u.bl); } diff --git a/lib/tls/openssl/openssl-ssl.c b/lib/tls/openssl/openssl-ssl.c index 6e59caf1e..2a6ff9527 100644 --- a/lib/tls/openssl/openssl-ssl.c +++ b/lib/tls/openssl/openssl-ssl.c @@ -60,6 +60,8 @@ int lws_ssl_get_error(struct lws *wsi, int n) lwsl_debug("%s: %p %d -> %d (errno %d)\n", __func__, wsi->tls.ssl, n, m, errno); + assert (errno != 9); + return m; } diff --git a/minimal-examples/README.md b/minimal-examples/README.md index 2f271dbc2..956256d53 100644 --- a/minimal-examples/README.md +++ b/minimal-examples/README.md @@ -6,6 +6,7 @@ dbus-server|Minimal examples showing how to integrate DBUS into lws event loop http-client|Minimal examples providing an http client http-server|Minimal examples providing an http server raw|Minimal examples related to adopting raw file or socket descriptors into the event loop +secure-streams|Minimal examples related to the Secure Streams client api ws-client|Minimal examples providing a ws client ws-server|Minimal examples providing a ws server (and an http server) diff --git a/minimal-examples/http-client/minimal-http-client-h2-rxflow/minimal-http-client.c b/minimal-examples/http-client/minimal-http-client-h2-rxflow/minimal-http-client.c index 9c9149bc8..4d0d88a63 100644 --- a/minimal-examples/http-client/minimal-http-client-h2-rxflow/minimal-http-client.c +++ b/minimal-examples/http-client/minimal-http-client-h2-rxflow/minimal-http-client.c @@ -39,7 +39,7 @@ drain_cb(lws_sorted_usec_list_t *sul) { struct pss *pss = lws_container_of(sul, struct pss, sul); - lws_h2_update_peer_txcredit(pss->wsi, LWS_H2_STREAM_SID, each); + lws_wsi_tx_credit(pss->wsi, LWSTXCR_PEER_TO_US, each); lws_sul_schedule(lws_get_context(pss->wsi), 0, &pss->sul, drain_cb, 250 * LWS_US_PER_MS); diff --git a/minimal-examples/secure-streams/README.md b/minimal-examples/secure-streams/README.md new file mode 100644 index 000000000..5815630fa --- /dev/null +++ b/minimal-examples/secure-streams/README.md @@ -0,0 +1,14 @@ +# Secure Streams + +Secure Streams is a client API that strictly decouples the policy for connections +from the payloads. The user code only deals with the stream type name and payloads, +a policy database set at `lws_context` creation time decides all policy about the +connection, including the endpoint, tls CA, and even the wire protocol. + +|name|demonstrates| +---|--- +minimal-secure-streams|Minimal secure streams client / proxy example +minimal-secure-streams-tx|Proxy used for client-tx test below +minimal-secure-streams-client-tx|Secure streams client showing tx and rx + + diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/CMakeLists.txt b/minimal-examples/secure-streams/minimal-secure-streams-alexa/CMakeLists.txt new file mode 100644 index 000000000..b28d84e0a --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-alexa/CMakeLists.txt @@ -0,0 +1,93 @@ +cmake_minimum_required(VERSION 2.8) +include(CheckCSourceCompiles) + +set(SAMP lws-minimal-secure-streams-alexa) +set(SRCS main.c alexa.c audio.c) + +# If we are being built as part of lws, confirm current build config supports +# reqconfig, else skip building ourselves. +# +# If we are being built externally, confirm installed lws was configured to +# support reqconfig, else error out with a helpful message about the problem. +# +MACRO(require_lws_config reqconfig _val result) + + if (DEFINED ${reqconfig}) + if (${reqconfig}) + set (rq 1) + else() + set (rq 0) + endif() + else() + set(rq 0) + endif() + + if (${_val} EQUAL ${rq}) + set(SAME 1) + else() + set(SAME 0) + endif() + + if (LWS_WITH_MINIMAL_EXAMPLES AND NOT ${SAME}) + if (${_val}) + message("${SAMP}: skipping as lws being built without ${reqconfig}") + else() + message("${SAMP}: skipping as lws built with ${reqconfig}") + endif() + set(${result} 0) + else() + if (LWS_WITH_MINIMAL_EXAMPLES) + set(MET ${SAME}) + else() + CHECK_C_SOURCE_COMPILES("#include \nint main(void) {\n#if defined(${reqconfig})\n return 0;\n#else\n fail;\n#endif\n return 0;\n}\n" HAS_${reqconfig}) + if (NOT DEFINED HAS_${reqconfig} OR NOT HAS_${reqconfig}) + set(HAS_${reqconfig} 0) + else() + set(HAS_${reqconfig} 1) + endif() + if ((HAS_${reqconfig} AND ${_val}) OR (NOT HAS_${reqconfig} AND NOT ${_val})) + set(MET 1) + else() + set(MET 0) + endif() + endif() + if (NOT MET) + if (${_val}) + message(FATAL_ERROR "This project requires lws must have been configured with ${reqconfig}") + else() + message(FATAL_ERROR "Lws configuration of ${reqconfig} is incompatible with this project") + endif() + endif() + endif() +ENDMACRO() + + +set(requirements 1) +require_lws_config(LWS_ROLE_H1 1 requirements) +require_lws_config(LWS_WITHOUT_CLIENT 0 requirements) +require_lws_config(LWS_WITH_SECURE_STREAMS 1 requirements) +require_lws_config(LWS_WITH_ALSA 1 requirements) + +if (requirements) + add_executable(${SAMP} ${SRCS}) + + if (websockets_shared) + target_link_libraries(${SAMP} websockets_shared asound pv_porcupine mpg123) + add_dependencies(${SAMP} websockets_shared) + else() + target_link_libraries(${SAMP} websockets asound pv_porcupine mpg123) + endif() + + if (LWS_WITH_SECURE_STREAMS_PROXY_API) + add_compile_options(-DLWS_SS_USE_SSPC) + + add_executable(${SAMP}-client ${SRCS}) + if (websockets_shared) + target_link_libraries(${SAMP}-client websockets_shared asound pv_porcupine mpg123) + add_dependencies(${SAMP}-client websockets_shared) + else() + target_link_libraries(${SAMP}-client websockets asound pv_porcupine mpg123) + endif() + endif() + +endif() diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/README.md b/minimal-examples/secure-streams/minimal-secure-streams-alexa/README.md new file mode 100644 index 000000000..66fed3755 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-alexa/README.md @@ -0,0 +1,77 @@ +# lws secure streams alexa + +This demonstrates AVS Alexa usage using secure streams. It connects to AVS, +uses your linux computer's microphone to wait for the 'alexa' wakeword, sends +the utterance to AVS and plays back the result. + +## build + +There are some special build considerations: + +1) Build lws with cmake options `-DLWS_WITH_ALSA=1 -DLWS_WITH_SECURE_STREAMS=1` + +2) Install distro build dependency packages: + + |Dependency|Ubuntu package|Fedora Package| + |---|---|---| + |libasound|libasound2-dev|alsa-lib-devel| + |mpg123|libmpg123-dev|mpg123-devel| + +3) Clone Picovoice Porcupine Apache-licensed demo version from here + + https://github.com/Picovoice/porcupine + + It provides binary libs for wakeword detection on various platforms. Copy + the headers and binary lib to your build context, eg, for native x86_64 + +``` + $ sudo cp ./include/* /usr/include + $ sudo cp ./lib/linux/x86_64/libpv_porcupine.* /usr/lib + $ sudo ldconfig +``` + + Enter the minimal example dir for secure-streams-alexa and make the sample + +``` + $ cd ./minimal-examples/secure-streams/minimal-secure-streams-alexa + $ cmake . + $ make +``` + +## usage + +``` + $ ./lws-minimal-secure-streams-alexa +[2019/10/16 16:22:01:1097] U: LWS secure streams - Alex voice test [-d] +[2019/10/16 16:22:01:1115] N: lws_create_context: creating Secure Streams policy +[2019/10/16 16:22:01:1115] N: lwsac_use: alloc 1532 for 1 +[2019/10/16 16:22:01:1119] N: lwsac_use: alloc 288 for 168 +[2019/10/16 16:22:01:1119] N: lws_ss_policy_set: policy lwsac size: 1.796KiB, pad 11% +[2019/10/16 16:22:02:4114] N: lws_ss_client_connect: connecting 0 api.amazon.com /auth/o2/token +[2019/10/16 16:22:02:8686] N: auth_api_amazon_com_parser_cb: expires in 3600 +[2019/10/16 16:22:02:8686] N: ss_api_amazon_auth_rx: acquired 656-byte api.amazon.com auth token +[2019/10/16 16:22:02:8754] N: lws_ss_client_connect: connecting 1 alexa.na.gateway.devices.a2z.com /v20160207/directives +[2019/10/16 16:22:02:3182] N: secstream_h2: h2 client entering LONG_POLL +[2019/10/16 16:22:02:3183] U: Connected to Alexa... speak "Alexa, ..." +[2019/10/16 16:22:06:9380] W: ************* Wakeword +[2019/10/16 16:22:06:9380] N: avs_query_start: +[2019/10/16 16:22:06:9381] N: lws_ss_client_connect: connecting 1 alexa.na.gateway.devices.a2z.com /v20160207/events +[2019/10/16 16:22:06:9381] N: lws_vhost_active_conns: just join h2 directly +[2019/10/16 16:22:06:9384] N: metadata done +[2019/10/16 16:22:06:1524] N: est: 42 1 +[2019/10/16 16:22:06:3723] N: est: 108 1 +[2019/10/16 16:22:07:5914] N: est: 352 1 +[2019/10/16 16:22:07:8112] N: est: 4284 1 +[2019/10/16 16:22:07:0300] N: est: 3369 1 +[2019/10/16 16:22:07:2325] N: est: 577 1 +[2019/10/16 16:22:08:4519] N: est: 9 1 +[2019/10/16 16:22:08:6716] N: est: 3 1 +[2019/10/16 16:22:08:6718] N: est: 11 1 +[2019/10/16 16:22:08:8915] N: est: 10 1 +[2019/10/16 16:22:08:8915] W: callback_audio: ended capture +[2019/10/16 16:22:09:0993] N: identified reply... +^C[2019/10/16 16:22:14:3067] U: Disconnected from Alexa +[2019/10/16 16:22:14:3123] U: Completed +$ + +``` diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa.c b/minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa.c new file mode 100644 index 000000000..ba1fa7e2f --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa.c @@ -0,0 +1,678 @@ +/* + * lws-minimal-secure-streams-alexa + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include "private.h" + +struct lws_ss_handle *hss_avs_event, *hss_avs_sync; + +/* this is the type for the long poll event channel */ + +typedef struct ss_avs_event { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + + struct lejp_ctx jctx; +} ss_avs_event_t; + +enum { + LAMP3STATE_IDLE, + LAMP3STATE_SPOOLING, + LAMP3STATE_DRAINING, +}; + +/* this is the type for the utterance metadata (and audio rideshares) */ + +typedef struct ss_avs_metadata { + struct lws_ss_handle *ss; + void *opaque_data; + /* ... application specific state ... */ + + struct lws_buflist *dribble; /* next mp3 data while draining last */ + + struct lejp_ctx jctx; + size_t pos; + size_t mp3_in; + mpg123_handle *mh; + + lws_sorted_usec_list_t sul; + + uint8_t stash_eom[16]; + + uint8_t se_head; + uint8_t se_tail; + + char mp3_state; + char first_mp3; + uint8_t mp3_mime_match; + uint8_t seen; + uint8_t inside_mp3; + +} ss_avs_metadata_t; + +/* + * The remote server only seems to give us a budget of 10s to consume the + * results, after that it doesn't drop the stream, but doesn't send us anything + * further on it. + * + * This makes it impossible to optimize buffering for incoming mp3 since we + * have to go ahead and take it before the 10s is up. + */ + +#define MAX_MP3_IN_BUFFERING_BYTES 32768 + +/* + * Structure of JSON metadata for utterance handling + */ + +static const char *metadata = "{" + "\"event\": {" + "\"header\": {" + "\"namespace\": \"SpeechRecognizer\"," + "\"name\": \"Recognize\"," + "\"messageId\": \"message-123\"," + "\"dialogRequestId\": \"dialog-request-321\"" + "}," + "\"payload\": {" + "\"profile\":" "\"CLOSE_TALK\"," + "\"format\":" "\"AUDIO_L16_RATE_16000_CHANNELS_1\"" + "}" + "}" +"}"; + +/* + * avs metadata + */ + +static void +use_buffer_250ms(lws_sorted_usec_list_t *sul) +{ + ss_avs_metadata_t *m = lws_container_of(sul, ss_avs_metadata_t, sul); + struct lws_context *context = (struct lws_context *)m->opaque_data; + int est = lws_ss_get_est_peer_tx_credit(m->ss); + + lwsl_notice("%s: est txcr %d\n", __func__, est); + + if (est < MAX_MP3_IN_BUFFERING_BYTES - (MAX_MP3_IN_BUFFERING_BYTES / 4)) { + lwsl_notice(" adding %d\n", MAX_MP3_IN_BUFFERING_BYTES / 4); + lws_ss_add_peer_tx_credit(m->ss, MAX_MP3_IN_BUFFERING_BYTES / 4); + } + + lws_sul_schedule(context, 0, &m->sul, use_buffer_250ms, + 250 * LWS_US_PER_MS); +} + +static const char *mp3_mimetype = "application/octet-stream", + *match2 = "\x0d\x0a\x0d\x0a"; + +static int +ss_avs_mp3_open(ss_avs_metadata_t *m) +{ + int r; + + lwsl_notice("%s\n", __func__); + + m->first_mp3 = 1; + m->mh = mpg123_new(NULL, NULL); + if (!m->mh) { + lwsl_err("%s: unable to make new mp3\n", + __func__); + goto bail; + } + mpg123_format_none(m->mh); + r = mpg123_format(m->mh, 16000, MPG123_M_MONO, + MPG123_ENC_SIGNED_16); + if (r) { + lwsl_err("%s: mpg123 format failed %d\n", + __func__, r); + goto bail1; + } + r = mpg123_open_feed(m->mh); + if (r) { + lwsl_err("%s: mpg123 open feed failed %d\n", + __func__, r); + goto bail1; + } + + return 0; + +bail1: + mpg123_delete(m->mh); + m->mh = NULL; + +bail: + return 1; +} + +static int +ss_avs_metadata_rx(void *userobj, const uint8_t *buf, size_t len, int flags); + +/* + * This is called when the mp3 has drained it's input buffer and destroyed + * itself. + */ + +static int +drain_end_cb(void *v) +{ + ss_avs_metadata_t *m = (ss_avs_metadata_t *)v; + struct lws_context *context = (struct lws_context *)m->opaque_data; + int tot = 0; + + lwsl_err("%s\n", __func__); + + /* + * We have drained and destroyed the existing mp3 session. Is there + * a new one pending? + */ + + m->first_mp3 = 1; + m->mp3_state = LAMP3STATE_IDLE; + + if (lws_buflist_total_len(&m->dribble)) { + /* we started another one */ + + /* resume tx credit top up */ + lws_sul_schedule(context, 0, &m->sul, use_buffer_250ms, 1); + + if (ss_avs_mp3_open(m)) + return 1; + + m->mp3_state = LAMP3STATE_SPOOLING; + + /* + * Dump what we stashed from draining into the new mp3 + */ + + while (lws_buflist_total_len(&m->dribble)) { + size_t s; + uint8_t *u, t; + + s = lws_buflist_next_segment_len(&m->dribble, &u); + t = m->stash_eom[m->se_tail]; + lwsl_notice("%s: preload %d: %d\n", __func__, (int)s, t); + + mpg123_feed(m->mh, u, s); + lws_buflist_use_segment(&m->dribble, s); + if (m->first_mp3) { + play_mp3(m->mh, NULL, NULL); + m->first_mp3 = 0; + } + + tot += s; + + m->se_tail = (m->se_tail + 1) % sizeof(m->stash_eom); + if (t) { + lwsl_notice("%s: preloaded EOM\n", __func__); + + /* + * We stashed the whole of the message, we need + * to also do the EOM processing. We will come + * back here if there's another message in the + * stash. + */ + + m->mp3_state = LAMP3STATE_DRAINING; + if (m->mh) + play_mp3(NULL, drain_end_cb, m); + + lws_ss_add_peer_tx_credit(m->ss, tot); +#if 0 + /* + * Put a hold on bringing in any more data + */ + lws_sul_schedule(context, 0, &m->sul, NULL, + LWS_SET_TIMER_USEC_CANCEL); +#endif + /* destroy our copy of the handle */ + m->mh = NULL; + + break; + } + } + + lws_ss_add_peer_tx_credit(m->ss, tot); + } + + return 0; +} + +static int +ss_avs_metadata_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + ss_avs_metadata_t *m = (ss_avs_metadata_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + int n = 0, hit = 0; + + lwsl_notice("%s: len %d, flags %d (est peer txcr %d)\n", __func__, + (int)len, flags, lws_ss_get_est_peer_tx_credit(m->ss)); + + // lwsl_hexdump_warn(buf, len); + + if ((flags & LWSSS_FLAG_SOM) && !m->mh && !m->seen) { + m->mp3_mime_match = 0; + m->seen = 0; + m->inside_mp3 = 0; + } + + if (!m->inside_mp3) { + /* + * Identify the part with the mp3 in, if any + */ + + while (n < (int)len - 24) { + if (!m->seen) { + if (buf[n] == mp3_mimetype[m->mp3_mime_match]) { + m->mp3_mime_match++; + if (m->mp3_mime_match == 24) { + m->mp3_mime_match = 0; + m->seen = 1; + n++; + continue; + } + } else + m->mp3_mime_match = 0; + } else { + if (buf[n] == match2[m->mp3_mime_match]) { + m->mp3_mime_match++; + if (m->mp3_mime_match == 4) { + m->seen = 0; + m->mp3_mime_match = 0; + hit = 1; + n++; + buf += n; + len -= n; + lwsl_notice("identified reply...\n"); + m->inside_mp3 = 1; + break; + } + } else + m->mp3_mime_match = 0; + } + + n++; + } + + if (!hit) { + lws_ss_add_peer_tx_credit(m->ss, len); + return 0; + } + } + + // lwsl_notice("%s: state %d\n", __func__, m->mp3_state); + + switch (m->mp3_state) { + case LAMP3STATE_IDLE: + + if (hit) { + + lws_ss_add_peer_tx_credit(m->ss, n); + + if (ss_avs_mp3_open(m)) + goto bail; + + lws_sul_schedule(context, 0, &m->sul, use_buffer_250ms, 1); + m->mp3_state = LAMP3STATE_SPOOLING; + break; + } + + lws_ss_add_peer_tx_credit(m->ss, len); + + if (!m->inside_mp3) + break; + + /* fallthru */ + + case LAMP3STATE_SPOOLING: + + if (m->dribble) + goto draining; + + if (len) { + /* + * We are shoving encoded mp3 into mpg123-allocated heap + * buffers... unfortunately mpg123 doesn't seem to + * expose where it is in its allocated input so we can + * track how much is stashed. Instead while in playback + * mode, we assume 64kbps mp3 encoding, ie, 8KB/s, and + * run a sul that allows an additional 2KB tx credit + * every 250ms, with 4KB initial credit. + */ + lwsl_notice("%s: SPOOL %d\n", __func__, (int)len); + mpg123_feed(m->mh, buf, len); + + if (m->first_mp3) { + lws_sul_schedule(context, 0, &m->sul, + use_buffer_250ms, 1); + // lws_ss_add_peer_tx_credit(m->ss, + // len + (MAX_MP3_IN_BUFFERING_BYTES / 2)); + play_mp3(m->mh, NULL, NULL); + } //else + // lws_ss_add_peer_tx_credit(m->ss, len); + m->first_mp3 = 0; + } + + if (flags & LWSSS_FLAG_EOM) { + /* + * This means one "message" / mime part with mp3 data + * has finished coming in. But there may be whole other + * parts with other mp3s following, with potentially + * different mp3 parameters. So we want to tell this + * one to drain and finish and destroy the current mp3 + * object before we go on. + * + * But not knowing the length of the current one, there + * will already be outstanding tx credit at the server, + * so it's going to spam us with the next part before we + * have the new mp3 sink for it. + */ + lwsl_notice("%s: EOM\n", __func__); + m->mp3_mime_match = 0; + m->seen = 0; + m->mp3_state = LAMP3STATE_DRAINING; + /* from input POV, we're no longer inside an mp3 */ + m->inside_mp3 = 0; + if (m->mh) + play_mp3(NULL, drain_end_cb, m); +#if 0 + /* + * Put a hold on bringing in any more data + */ + lws_sul_schedule(context, 0, &m->sul, NULL, + LWS_SET_TIMER_USEC_CANCEL); +#endif + /* destroy our copy of the handle */ + m->mh = NULL; + } + break; + + case LAMP3STATE_DRAINING: + +draining: + if (buf && len && m->inside_mp3) { + lwsl_notice("%s: DRAINING: stashing %d: %d %d %d\n", + __func__, (int)len, !!(flags & LWSSS_FLAG_EOM), + m->se_head, m->se_tail); + lwsl_hexdump_notice(buf, len); + if (lws_buflist_append_segment(&m->dribble, buf, len) < 0) + goto bail; + + m->stash_eom[m->se_head] = !!(flags & LWSSS_FLAG_EOM); + m->se_head = (m->se_head + 1) % sizeof(m->stash_eom); + lwsl_notice("%s: next head %d\n", __func__, m->se_head); + + lws_ss_add_peer_tx_credit(m->ss, len); + } + + if (flags & LWSSS_FLAG_EOM) { + if (!len && m->se_head != m->se_tail) { + /* 0-len EOM... retrospectively mark last stash */ + lwsl_notice("%s: retro EOM\n", __func__); + m->stash_eom[(m->se_head - 1) % sizeof(m->stash_eom)] = 1; + } + + lwsl_notice("%s: Draining EOM\n", __func__); + m->inside_mp3 = 0; + } + /* + * Don't provide any additional tx credit... we're just + * mopping up the overspill from the previous mp3 credit + */ + break; + } + + return 0; + +bail: + return -1; +} + +/* + * Because this is multipart mime in h2 currently, use a "rideshare" to handle + * first the native metadata on this secure stream, then the "rideshare" audio + * stream mentioned in the policy. + * + * Lws takes care of interleaving the multipart mime pieces since the policy + * calls for it. + */ + +static int +ss_avs_metadata_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + ss_avs_metadata_t *m = (ss_avs_metadata_t *)userobj; + size_t tot; + int n; + + // lwsl_notice("%s %d\n", __func__, (int)m->pos); + + if ((long)m->pos < 0) { + *len = 0; + lwsl_info("%s: skip\n", __func__); + return 1; + } + + if (!strcmp(lws_ss_rideshare(m->ss), "avs_audio")) { + + /* audio rideshare part */ + + if (!m->pos) + *flags |= LWSSS_FLAG_SOM; + + n = spool_capture(buf, *len); + if (n > 0) + *len = n; + else + *len = 0; + if (!n) { + lwsl_info("%s: trying to skip tx\n", __func__); + return 1; + } + + m->pos += *len; + + if (n < 0) { + *flags |= LWSSS_FLAG_EOM; + m->pos = (long)-1l; /* ban subsequent until new stream */ + } + + lwsl_notice("%s: tx audio %d\n", __func__, (int)*len); + +#if 0 + { + int ff = open("/tmp/z1", O_RDWR | O_CREAT | O_APPEND, 0666); + if (ff == -1) + lwsl_err("%s: errno %d\n", __func__, errno); + write(ff, buf, *len); + close(ff); + } +#endif + + return 0; + } + + /* metadata part */ + + tot = strlen(metadata); + + if (!m->pos) + *flags |= LWSSS_FLAG_SOM; + + if (*len > tot - m->pos) + *len = tot - m->pos; + + memcpy(buf, metadata + m->pos, *len); + + m->pos += *len; + + if (m->pos == tot) { + lwsl_notice("metadata done\n"); + *flags |= LWSSS_FLAG_EOM; + m->pos = 0; /* for next time */ + } + + return 0; +} + +static int +ss_avs_metadata_state(void *userobj, void *sh, + lws_ss_constate_t state, lws_ss_tx_ordinal_t ack) +{ + ss_avs_metadata_t *m = (ss_avs_metadata_t *)userobj; + struct lws_context *context = (struct lws_context *)m->opaque_data; + + lwsl_notice("%s: %p: %s, ord 0x%x\n", __func__, m->ss, + lws_ss_state_name(state), (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + lws_ss_client_connect(m->ss); + break; + case LWSSSCS_CONNECTING: + m->pos = 0; + break; + case LWSSSCS_CONNECTED: + lwsl_info("%s: CONNECTED\n", __func__); + lws_ss_request_tx(m->ss); + break; + case LWSSSCS_DISCONNECTED: + lws_sul_schedule(context, 0, &m->sul, NULL, + LWS_SET_TIMER_USEC_CANCEL); + //if (m->mh) { + play_mp3(NULL, NULL, NULL); + m->mh = NULL; + //} + /* + * For this stream encapsulating an alexa exchange, dropping + * is the end of its life + */ + return 1; + + case LWSSSCS_DESTROYING: + lws_buflist_destroy_all_segments(&m->dribble); + break; + default: + break; + } + + return 0; +} + +/* + * avs event + */ + +static int +ss_avs_event_rx(void *userobj, const uint8_t *buf, size_t len, int flags) +{ + return 0; +} + +static int +ss_avs_event_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, + size_t *len, int *flags) +{ + return 1; /* don't transmit anything */ +} + +static int +ss_avs_event_state(void *userobj, void *sh, + lws_ss_constate_t state, lws_ss_tx_ordinal_t ack) +{ + lwsl_info("%s: %s, ord 0x%x\n", __func__, lws_ss_state_name(state), + (unsigned int)ack); + + switch (state) { + case LWSSSCS_CREATING: + mpg123_init(); + break; + case LWSSSCS_CONNECTING: + break; + case LWSSSCS_CONNECTED: + lwsl_user("Connected to Alexa... speak \"Alexa, ...\"\n"); + break; + case LWSSSCS_DISCONNECTED: + lwsl_user("Disconnected from Alexa\n"); + break; + case LWSSSCS_DESTROYING: + mpg123_exit(); + break; + default: + break; + } + + return 0; +} + +int +avs_query_start(struct lws_context *context) +{ + lws_ss_info_t ssi; + + lwsl_notice("%s:\n", __func__); + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(ss_avs_metadata_t, ss); + ssi.opaque_user_data_offset = offsetof(ss_avs_metadata_t, opaque_data); + ssi.rx = ss_avs_metadata_rx; + ssi.tx = ss_avs_metadata_tx; + ssi.state = ss_avs_metadata_state; + ssi.user_alloc = sizeof(ss_avs_metadata_t); + ssi.streamtype = "avs_metadata"; + + ssi.manual_initial_tx_credit = 8192; + + if (lws_ss_create(context, 0, &ssi, context, &hss_avs_sync, NULL, NULL)) { + lwsl_err("%s: failed to create avs metadata secstream\n", + __func__); + + return 1; + } + + lwsl_user("%s: created query stream %p\n", __func__, hss_avs_sync); + + return 0; +} + +int +avs_example_start(struct lws_context *context) +{ + lws_ss_info_t ssi; + + if (hss_avs_event) + return 0; + + lwsl_info("%s: Starting AVS stream\n", __func__); + + /* AVS wants us to establish the long poll event stream first */ + + memset(&ssi, 0, sizeof(ssi)); + ssi.handle_offset = offsetof(ss_avs_event_t, ss); + ssi.opaque_user_data_offset = offsetof(ss_avs_event_t, opaque_data); + ssi.rx = ss_avs_event_rx; + ssi.tx = ss_avs_event_tx; + ssi.state = ss_avs_event_state; + ssi.user_alloc = sizeof(ss_avs_event_t); + ssi.streamtype = "avs_event"; + + if (lws_ss_create(context, 0, &ssi, context, &hss_avs_event, NULL, NULL)) { + lwsl_err("%s: failed to create avs event secure stream\n", + __func__); + return 1; + } + + return 0; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa_linux.ppn b/minimal-examples/secure-streams/minimal-secure-streams-alexa/alexa_linux.ppn new file mode 100644 index 0000000000000000000000000000000000000000..839156df9799cc0895cdc4646e88c88ded731801 GIT binary patch literal 80 zcmV-W0I&a|i4DVpazpjaq#fcc*9H6Lo~t8(7TA(@ + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include "private.h" + +extern struct lws_ss_handle *hss_avs_event, *hss_avs_sync; + +int +avs_query_start(struct lws_context *context); + +enum { + MODE_IDLE, + MODE_CAPTURING, + MODE_PLAYING +}; + +struct raw_vhd { + int16_t p[8 * 1024]; /* 500ms at 16kHz 16-bit PCM */ + pv_porcupine_object_t *porc; + snd_pcm_t *pcm_capture; + snd_pcm_t *pcm_playback; + snd_pcm_hw_params_t *params; + snd_pcm_uframes_t frames; + int16_t *porcbuf; + + mpg123_handle *mh; + + mp3_done_cb done_cb; + void *opaque; + + int mode; + int rate; + + int porc_spf; + int filefd; + int rpos; + int wpos; + int porcpos; + int npos; + int times; + int quietcount; + int anycount; + + int wplay; + int rplay; + + char last_wake_detect; + char destroy_mh_on_drain; +}; + +static struct raw_vhd *avhd; + +/* + * called from alexa.c to grab the next chunk of audio capture buffer + * for upload + */ + +int +spool_capture(uint8_t *buf, size_t len) +{ + int16_t *sam = (int16_t *)buf; + size_t s, os; + + if (avhd->mode != MODE_CAPTURING) + return -1; + + os = s = len / 2; + + while (s && avhd->wpos != avhd->npos) { + *sam++ = avhd->p[avhd->npos]; + avhd->npos = (avhd->npos + 1) % LWS_ARRAY_SIZE(avhd->p); + s--; + } + + lwsl_info("Copied %d samples (%d %d)\n", (int)(os - s), + avhd->wpos, avhd->npos); + + return (os - s) * 2; +} + +/* + * Called from alexa.c to control when the mp3 playback should begin and end + */ + +int +play_mp3(mpg123_handle *mh, mp3_done_cb cb, void *opaque) +{ + if (mh) { + avhd->mh = mh; + avhd->mode = MODE_PLAYING; + snd_pcm_prepare(avhd->pcm_playback); + + return 0; + } + + avhd->destroy_mh_on_drain = 1; + avhd->done_cb = cb; + avhd->opaque = opaque; + + return 0; +} + +/* + * Helper used to set alsa hwparams on both capture and playback channels + */ + +static int +set_hw_params(struct lws_vhost *vh, snd_pcm_t **pcm, int type) +{ + unsigned int rate = pv_sample_rate(); /* it's 16kHz */ + snd_pcm_hw_params_t *params; + lws_sock_file_fd_type u; + struct pollfd pfd; + struct lws *wsi1; + int n; + + n = snd_pcm_open(pcm, "default", type, SND_PCM_NONBLOCK); + if (n < 0) { + lwsl_err("%s: Can't open default for playback: %s\n", + __func__, snd_strerror(n)); + + return -1; + } + + if (snd_pcm_poll_descriptors(*pcm, &pfd, 1) != 1) { + lwsl_err("%s: failed to get playback desc\n", __func__); + return -1; + } + + u.filefd = (lws_filefd_type)(long long)pfd.fd; + wsi1 = lws_adopt_descriptor_vhost(vh, LWS_ADOPT_RAW_FILE_DESC, u, + "lws-audio-test", NULL); + if (!wsi1) { + lwsl_err("%s: Failed to adopt playback desc\n", __func__); + goto bail; + } + if (type == SND_PCM_STREAM_PLAYBACK) + lws_rx_flow_control(wsi1, 0); /* no POLLIN */ + + snd_pcm_hw_params_malloc(¶ms); + snd_pcm_hw_params_any(*pcm, params); + + n = snd_pcm_hw_params_set_access(*pcm, params, + SND_PCM_ACCESS_RW_INTERLEAVED); + if (n < 0) + goto bail1; + + n = snd_pcm_hw_params_set_format(*pcm, params, SND_PCM_FORMAT_S16_LE); + if (n < 0) + goto bail1; + + n = snd_pcm_hw_params_set_channels(*pcm, params, 1); + if (n < 0) + goto bail1; + + n = snd_pcm_hw_params_set_rate_near(*pcm, params, &rate, 0); + if (n < 0) + goto bail1; + + lwsl_notice("%s: %s rate %d\n", __func__, + type == SND_PCM_STREAM_PLAYBACK ? "Playback" : "Capture", rate); + + n = snd_pcm_hw_params(*pcm, params); + snd_pcm_hw_params_free(params); + if (n < 0) + goto bail; + + return 0; + +bail1: + snd_pcm_hw_params_free(params); +bail: + lwsl_err("%s: Set hw params failed: %s\n", __func__, snd_strerror(n)); + + return -1; +} + +/* + * The lws RAW file protocol handler that wraps ALSA. + * + * The timing is coming from ALSA capture channel... since they are both set to + * 16kHz, it's enough just to have the one. + */ + +static int +callback_audio(struct lws *wsi, enum lws_callback_reasons reason, void *user, + void *in, size_t len) +{ + struct raw_vhd *vhd = (struct raw_vhd *)lws_protocol_vh_priv_get( + lws_get_vhost(wsi), lws_get_protocol(wsi)); + uint16_t rands[50]; + int16_t temp[256]; + bool det; + long avg; + int n, s; + + switch (reason) { + case LWS_CALLBACK_PROTOCOL_INIT: + + if (avhd) /* just on one vhost */ + return 0; + + avhd = vhd = lws_protocol_vh_priv_zalloc(lws_get_vhost(wsi), + lws_get_protocol(wsi), sizeof(struct raw_vhd)); + + /* + * Set up the wakeword library + */ + + n = pv_porcupine_init("porcupine_params.pv", "alexa_linux.ppn", + 1.0, &vhd->porc); + if (n) { + lwsl_err("%s: porcupine init fail %d\n", __func__, n); + + return -1; + } + vhd->porc_spf = pv_porcupine_frame_length(); + vhd->porcbuf = malloc(vhd->porc_spf * 2); + lwsl_info("%s: %s porc frame length is %d samples\n", __func__, + lws_get_vhost_name(lws_get_vhost(wsi)), + vhd->porc_spf); + + vhd->rate = pv_sample_rate(); /* 16kHz */ + + /* set up alsa */ + + if (set_hw_params(lws_get_vhost(wsi), &vhd->pcm_playback, + SND_PCM_STREAM_PLAYBACK)) { + lwsl_err("%s: Can't open default for playback\n", + __func__); + + return -1; + } + + if (set_hw_params(lws_get_vhost(wsi), &vhd->pcm_capture, + SND_PCM_STREAM_CAPTURE)) { + lwsl_err("%s: Can't open default for capture\n", + __func__); + + return -1; + } + + snd_config_update_free_global(); + + break; + + case LWS_CALLBACK_PROTOCOL_DESTROY: + lwsl_info("%s: LWS_CALLBACK_PROTOCOL_DESTROY\n", __func__); + if (!vhd) + break; + + if (vhd->porcbuf) { + free(vhd->porcbuf); + vhd->porcbuf = NULL; + } + if (vhd->pcm_playback) { + snd_pcm_drop(vhd->pcm_playback); + snd_pcm_close(vhd->pcm_playback); + vhd->pcm_playback = NULL; + } + if (vhd->pcm_capture) { + snd_pcm_drop(vhd->pcm_capture); + snd_pcm_close(vhd->pcm_capture); + vhd->pcm_capture = NULL; + } + if (vhd->porc) { + pv_porcupine_delete(vhd->porc); + vhd->porc = NULL; + } + + /* avoid most of the valgrind mess from alsa */ + snd_config_update_free_global(); + + break; + + case LWS_CALLBACK_RAW_CLOSE_FILE: + lwsl_info("%s: closed\n", __func__); + break; + + case LWS_CALLBACK_RAW_RX_FILE: + /* we come here about every 250ms */ + + /* + * Playing back the mp3? + */ + if (vhd->mode == MODE_PLAYING && vhd->mh) { + size_t amt, try; + + do { + try = snd_pcm_avail(vhd->pcm_playback); + if (try > LWS_ARRAY_SIZE(vhd->p)) + try = LWS_ARRAY_SIZE(vhd->p); + + n = mpg123_read(vhd->mh, (uint8_t *)vhd->p, + try * 2, &amt); + lwsl_info("%s: PLAYING: mpg123 read %d, n %d\n", + __func__, (int)amt, n); + if (n == MPG123_NEW_FORMAT) { + snd_pcm_start(vhd->pcm_playback); + memset(vhd->p, 0, try); + snd_pcm_writei(vhd->pcm_playback, + vhd->p, try / 2); + snd_pcm_prepare(vhd->pcm_playback); + } + } while (n == MPG123_NEW_FORMAT); + + if (amt) { + n = snd_pcm_writei(vhd->pcm_playback, + vhd->p, amt / 2); + if (n < 0) + lwsl_notice("%s: snd_pcm_writei: %d %s\n", + __func__, n, snd_strerror(n)); + if (n == -EPIPE) { + lwsl_err("%s: did EPIPE prep\n", __func__); + snd_pcm_prepare(vhd->pcm_playback); + } + } else + if (vhd->destroy_mh_on_drain && + n != MPG123_NEW_FORMAT) { + snd_pcm_drain(vhd->pcm_playback); + vhd->destroy_mh_on_drain = 0; + lwsl_notice("%s: mp3 destroyed\n", + __func__); + mpg123_close(vhd->mh); + mpg123_delete(vhd->mh); + vhd->mh = NULL; + vhd->mode = MODE_IDLE; + + if (vhd->done_cb) + vhd->done_cb(vhd->opaque); + } + } + + /* + * Get the capture data + */ + + n = snd_pcm_readi(vhd->pcm_capture, temp, LWS_ARRAY_SIZE(temp)); + s = 0; + while (s < n) { + vhd->p[(vhd->wpos + s) % LWS_ARRAY_SIZE(vhd->p)] = temp[s]; + s++; + } + + if (vhd->mode == MODE_CAPTURING) { + + /* + * We are recording an utterance. + * + * Estimate the sound density in the frame by picking 50 + * samples at random and averaging the sampled + * [abs()^2] / 10000 to create a Figure of Merit. + * + * Speaking on my laptop gets us 1000 - 5000, silence + * is typ under 30. The wakeword tells us there was + * speech at the start, end the capture when there's + * ~750ms (12000 samples) under 125 FOM. + */ + +#define SILENCE_THRESH 125 + + avg = 0; + lws_get_random(lws_get_context(wsi), rands, sizeof(rands)); + for (s = 0; s < (int)LWS_ARRAY_SIZE(rands); s++) { + long q; + + q = temp[rands[s] % n]; + + avg += (q * q); + } + avg = (avg / (int)LWS_ARRAY_SIZE(rands)) / 10000; + + lwsl_notice("est audio energy: %ld %d\n", avg, vhd->mode); + + /* + * Only start looking for "silence" after 1.5s, in case + * he does a long pause after the wakeword + */ + + if (vhd->anycount < (3 *vhd->rate) / 2 && + avg < SILENCE_THRESH) { + vhd->quietcount += n; + /* then 500ms of "silence" does it for us */ + if (vhd->quietcount >= ((vhd->rate * 3) / 4)) { + lwsl_warn("%s: ended capture\n", __func__); + vhd->mode = MODE_IDLE; + vhd->quietcount = 0; + } + } + + /* if we're not "silent", reset the count */ + if (avg > SILENCE_THRESH * 2) + vhd->quietcount = 0; + + /* + * Since we are in capturing mode, we have something + * new to send now. + * + * We must send an extra one at the end so we can finish + * the tx. + */ + lws_ss_request_tx(hss_avs_sync); + } + + /* + * Just waiting for a wakeword + */ + + while (vhd->mode == MODE_IDLE) { + int m = 0, ppold = vhd->porcpos; + + s = (vhd->wpos - vhd->porcpos) % LWS_ARRAY_SIZE(vhd->p); + if (s < vhd->porc_spf) + goto eol; + + while (m < vhd->porc_spf) { + vhd->porcbuf[m++] = avhd->p[vhd->porcpos]; + vhd->porcpos = (vhd->porcpos + 1) % + LWS_ARRAY_SIZE(vhd->p); + } + + if (pv_porcupine_process(vhd->porc, vhd->porcbuf, &det)) + lwsl_err("%s: porc_process failed\n", __func__); + + if (!det && vhd->last_wake_detect && + vhd->mode == MODE_IDLE) { + lwsl_warn("************* Wakeword\n"); + if (!avs_query_start(lws_get_context(wsi))) { + vhd->mode = MODE_CAPTURING; + vhd->quietcount = 0; + vhd->last_wake_detect = det; + vhd->npos = ppold; + break; + } + } + vhd->last_wake_detect = det; + } + +eol: + vhd->wpos = (vhd->wpos + n) % LWS_ARRAY_SIZE(vhd->p); + break; + + default: + break; + } + + return 0; +} + +struct lws_protocols protocol_audio_test = + { "lws-audio-test", callback_audio, 0, 0 }; diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/main.c b/minimal-examples/secure-streams/minimal-secure-streams-alexa/main.c new file mode 100644 index 000000000..d498b42a2 --- /dev/null +++ b/minimal-examples/secure-streams/minimal-secure-streams-alexa/main.c @@ -0,0 +1,417 @@ +/* + * lws-minimal-secure-streams-alexa + * + * This file is made available under the Creative Commons CC0 1.0 + * Universal Public Domain Dedication. + */ + +#include +#include +#include + +extern int +avs_example_start(struct lws_context *context); + +static int interrupted; +static lws_state_notify_link_t nl; + +#if !defined(LWS_SS_USE_SSPC) + +/* + * If not using the proxy, we need to bring our own policy + */ + +static const char * const default_ss_policy = + "{" + "\"release\":" "\"01234567\"," + "\"product\":" "\"myproduct\"," + "\"schema-version\":" "1," + "\"retry\": [" /* named backoff / retry strategies */ + "{\"default\": {" + "\"backoff\": [" "1000," + "2000," + "3000," + "5000," + "10000" + "]," + "\"conceal\":" "5," + "\"jitterpc\":" "20," + "\"svalidping\":" "60," + "\"svalidhup\":" "64" + "}}" + "]," + "\"certs\": [" /* named individual certificates in BASE64 DER */ + "{\"digicert_global_root_g2\": \"" /* api.amazon.com 2038-01 */ + "MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3" + "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH" + "MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT" + "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j" + "b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG" + "9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI" + "2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx" + "1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ" + "q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz" + "tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ" + "vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP" + "BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV" + "5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY" + "1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4" + "NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG" + "Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91" + "8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe" + "pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl" + "MrY=" + "\"}," + "{\"digicert_global_ca_g2\": \"" /* api.amazon.com 2028-08 */ + "MIIEizCCA3OgAwIBAgIQDI7gyQ1qiRWIBAYe4kH5rzANBgkqhkiG9w0BAQsFADBh" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3" + "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH" + "MjAeFw0xMzA4MDExMjAwMDBaFw0yODA4MDExMjAwMDBaMEQxCzAJBgNVBAYTAlVT" + "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxHjAcBgNVBAMTFURpZ2lDZXJ0IEdsb2Jh" + "bCBDQSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNIfL7zBYZd" + "W9UvhU5L4IatFaxhz1uvPmoKR/uadpFgC4przc/cV35gmAvkVNlW7SHMArZagV+X" + "au4CLyMnuG3UsOcGAngLH1ypmTb+u6wbBfpXzYEQQGfWMItYNdSWYb7QjHqXnxr5" + "IuYUL6nG6AEfq/gmD6yOTSwyOR2Bm40cZbIc22GoiS9g5+vCShjEbyrpEJIJ7RfR" + "ACvmfe8EiRROM6GyD5eHn7OgzS+8LOy4g2gxPR/VSpAQGQuBldYpdlH5NnbQtwl6" + "OErXb4y/E3w57bqukPyV93t4CTZedJMeJfD/1K2uaGvG/w/VNfFVbkhJ+Pi474j4" + "8V4Rd6rfArMCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0P" + "AQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29j" + "c3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9jcmw0LmRp" + "Z2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOGMWh0dHA6" + "Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwPQYD" + "VR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2lj" + "ZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFCRuKy3QapJRUSVpAaqaR6aJ50AgMB8GA1Ud" + "IwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA0GCSqGSIb3DQEBCwUAA4IBAQAL" + "OYSR+ZfrqoGvhOlaOJL84mxZvzbIRacxAxHhBsCsMsdaVSnaT0AC9aHesO3ewPj2" + "dZ12uYf+QYB6z13jAMZbAuabeGLJ3LhimnftiQjXS8X9Q9ViIyfEBFltcT8jW+rZ" + "8uckJ2/0lYDblizkVIvP6hnZf1WZUXoOLRg9eFhSvGNoVwvdRLNXSmDmyHBwW4co" + "atc7TlJFGa8kBpJIERqLrqwYElesA8u49L3KJg6nwd3jM+/AVTANlVlOnAM2BvjA" + "jxSZnE0qnsHhfTuvcqdFuhOWKU4Z0BqYBvQ3lBetoxi6PrABDJXWKTUgNX31EGDk" + "92hiHuwZ4STyhxGs6QiA" + "\"}," + "{\"amazon_root_ca_1\": \"" + "MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF" + "ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6" + "b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL" + "MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv" + "b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj" + "ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM" + "9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw" + "IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6" + "VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L" + "93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm" + "jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC" + "AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA" + "A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI" + "U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs" + "N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv" + "o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU" + "5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy" + "rqXRfboQnoZsG4q5WTP468SQvvG5" + "\"}," + "{\"starfield_services_root_ca\": \"" + "MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx" + "EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT" + "HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs" + "ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5" + "MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD" + "VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy" + "ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy" + "dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI" + "hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p" + "OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2" + "8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K" + "Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe" + "hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk" + "6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw" + "DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q" + "AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI" + "bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB" + "ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z" + "qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd" + "iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn" + "0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN" + "sSi6" + "\"}," + "{\"starfield_class_2_ca\": \"" + "MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl" + "MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp" + "U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw" + "NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE" + "ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp" + "ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3" + "DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf" + "8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN" + "+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0" + "X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa" + "K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA" + "1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G" + "A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR" + "zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0" + "YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD" + "bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w" + "DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3" + "L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D" + "eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl" + "xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp" + "VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY" + "WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=" + "\"}" + "]," + "\"trust_stores\": [" /* named cert chains */ + "{" /* chain for alexa.na.gateway.devices.a2z.com */ + "\"name\": \"avs_via_starfield\"," + "\"stack\": [" + "\"starfield_class_2_ca\"," + "\"starfield_services_root_ca\"" + "]" + "}," + "{" /* chain for api.amazon.com */ + "\"name\": \"api_amazon_com\"," + "\"stack\": [" + "\"digicert_global_ca_g2\"," + "\"digicert_global_root_g2\"" + "]" + "}" + "]," + "\"s\": [" /* the supported stream types */ + "{\"api_amazon_com_auth\": {" + "\"endpoint\":" "\"api.amazon.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h1\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"auth/o2/token\"," + "\"plugins\":" "[]," + "\"opportunistic\":" "true," + "\"tls\":" "true," + "\"h2q_oflow_txcr\":" "true," + "\"http_www_form_urlencoded\":" "true," + "\"http_no_content_length\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"api_amazon_com\"" + "}}," + /* + * long poll event listener + */ + "{\"avs_event\": {" + "\"endpoint\":" "\"alexa.na.gateway.devices.a2z.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"GET\"," + "\"http_url\":" "\"v20160207/directives\"," + "\"h2q_oflow_txcr\":" "true," + "\"http_auth_header\":" "\"authorization:\"," + "\"http_auth_preamble\":" "\"Bearer \"," + "\"nailed_up\":" "true," + "\"long_poll\":" "true," + "\"retry\":" "\"default\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"tls_trust_store\":" "\"avs_via_starfield\"" + "}}," + /* + * Utterance metadata and audio send and reply processing. + * + * "Rideshare" and http_multipart_mime means these both go out + * in one multipart http transaction. + */ + "{\"avs_metadata\": {" + "\"endpoint\":" "\"alexa.na.gateway.devices.a2z.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"v20160207/events\"," + "\"opportunistic\":" "true," + "\"h2q_oflow_txcr\":" "true," + "\"http_auth_header\":" "\"authorization:\"," + "\"http_auth_preamble\":" "\"Bearer \"," + "\"http_multipart_name\":" "\"metadata\"," + "\"http_mime_content_type\":" "\"application/json; charset=UTF-8\"," + "\"http_no_content_length\":" "true," + "\"rideshare\":" "\"avs_audio\"," + "\"retry\":" "\"default\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"tls_trust_store\":" "\"avs_via_starfield\"" + "}}," + "{\"avs_audio\": {" + "\"endpoint\":" "\"alexa.na.gateway.devices.a2z.com\"," + "\"port\":" "443," + "\"protocol\":" "\"h2\"," + "\"http_method\":" "\"POST\"," + "\"http_url\":" "\"v20160207/events\"," + "\"plugins\":" "[]," + "\"tls\":" "true," + "\"h2q_oflow_txcr\":" "true," + "\"http_auth_header\":" "\"authorization:\"," + "\"http_auth_preamble\":" "\"Bearer \"," + "\"http_multipart_name\":" "\"audio\"," + "\"http_mime_content_type\":" "\"application/octet-stream\"," + "\"http_no_content_length\":" "true," + "\"retry\":" "\"default\"," + "\"tls_trust_store\":" "\"avs_via_starfield\"" + "}}" + "]" + "}" +; + +#endif + +static const char *canned_root_token_payload = + "grant_type=refresh_token" + "&refresh_token=Atzr|IwEBIJedGXjDqsU_vMxykqOMg" + "SHfYe3CPcedueWEMWSDMaDnEmiW8RlR1Kns7Cb4B-TOSnqp7ifVsY4BMY2B8tpHfO39XP" + "zfu9HapGjTR458IyHX44FE71pWJkGZ79uVBpljP4sazJuk8XS3Oe_yLnm_DIO6fU1nU3Y" + "0flYmsOiOAQE_gRk_pdlmEtHnpMA-9rLw3mkY5L89Ty9kUygBsiFaYatouROhbsTn8-jW" + "k1zZLUDpT6ICtBXSnrCIg0pUbZevPFhTwdXd6eX-u4rq0W-XaDvPWFO7au-iPb4Zk5eZE" + "iX6sissYrtNmuEXc2uHu7MnQO1hHCaTdIO2CANVumf-PHSD8xseamyh04sLV5JgFzY45S" + "KvKMajiUZuLkMokOx86rjC2Hdkx5DO7G-dbG1ufBDG-N79pFMSs7Ck5pc283IdLoJkCQc" + "AGvTX8o8I29QqkcGou-9TKhOJmpX8As94T61ok0UqqEKPJ7RhfQHHYdCtsdwxgvfVr9qI" + "xL_hDCcTho8opCVX-6QhJHl6SQFlTw13" + "&client_id=" + "amzn1.application-oa2-client.4823334c434b4190a2b5a42c07938a2d"; + +/* + * Register the root token, and make the sticky AVS connection at the + * appropriate times during system startup + */ + +static int +app_system_state_nf(lws_state_manager_t *mgr, lws_state_notify_link_t *link, + int current, int target) +{ + struct lws_context *context = lws_system_context_from_system_mgr(mgr); + lws_system_blob_t *ab = lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, 1 /* AUTH_IDX_ROOT */); + size_t size; + + /* + * For the things we care about, let's notice if we are trying to get + * past them when we haven't solved them yet, and make the system + * state wait while we trigger the dependent action. + */ + switch (target) { + case LWS_SYSTATE_REGISTERED: + size = lws_system_blob_get_size(ab); + if (size) + break; + + /* let's register our canned root token so auth can use it */ + lws_system_blob_direct_set(ab, + (const uint8_t *)canned_root_token_payload, + strlen(canned_root_token_payload)); + break; + case LWS_SYSTATE_OPERATIONAL: + if (current == target) + avs_example_start(context); + break; + case LWS_SYSTATE_POLICY_INVALID: + /* + * This is a NOP since we used direct set... but in a real + * system this could easily change to be done on the heap, then + * this would be important + */ + lws_system_blob_destroy(lws_system_get_blob(context, + LWS_SYSBLOB_TYPE_AUTH, + 1 /* AUTH_IDX_ROOT */)); + break; + } + + return 0; +} + +static void +sigint_handler(int sig) +{ + interrupted = 1; +} + +static lws_state_notify_link_t * const app_notifier_list[] = { + &nl, NULL +}; + +extern struct lws_protocols protocol_audio_test; +static const struct lws_protocols *protocols[] = { + &protocol_audio_test, +#if defined(LWS_SS_USE_SSPC) + lws_sspc_protocols, +#endif + NULL +}; + +int main(int argc, const char **argv) +{ + struct lws_context_creation_info info; + struct lws_context *context; + int n = 0; + + signal(SIGINT, sigint_handler); + memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */ + lws_cmdline_option_handle_builtin(argc, argv, &info); + + lwsl_user("LWS secure streams - Alexa voice test [-d]\n"); + + info.fd_limit_per_thread = 1 + 6 + 1; +#if !defined(LWS_SS_USE_SSPC) + info.options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS | + LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; + info.pss_policies_json = default_ss_policy; +#else + { + const char *p; + + /* connect to ssproxy via UDS by default, else via + * tcp connection to this port */ + if ((p = lws_cmdline_option(argc, argv, "-p"))) + info.ss_proxy_port = atoi(p); + + /* UDS "proxy.ss.lws" in abstract namespace, else this socket + * path; when -p given this can specify the network interface + * to bind to */ + if ((p = lws_cmdline_option(argc, argv, "-i"))) + info.ss_proxy_bind = p; + + /* if -p given, -a specifies the proxy address to connect to */ + if ((p = lws_cmdline_option(argc, argv, "-a"))) + info.ss_proxy_address = p; + } +#endif + info.port = CONTEXT_PORT_NO_LISTEN; + info.pprotocols = protocols; + +#if defined(LWS_WITH_DETAILED_LATENCY) + info.detailed_latency_cb = lws_det_lat_plot_cb; + info.detailed_latency_filepath = "/tmp/lws-latency-ssproxy"; +#endif + + /* integrate us with lws system state management when context created */ + nl.name = "app"; + nl.notify_cb = app_system_state_nf; + info.register_notifier_list = app_notifier_list; + + context = lws_create_context(&info); + if (!context) { + lwsl_err("lws init failed\n"); + return 1; + } + + /* create an explicit vhost so the sound protocol is initialized */ + + info.vhost_name = "asound"; + if (!lws_create_vhost(context, &info)) { + lwsl_err("lws init failed\n"); + goto bail; + } + + /* the event loop */ + + while (n >= 0 && !interrupted) + n = lws_service(context, 0); + +bail: + lws_context_destroy(context); + lwsl_user("Completed\n"); + + return 0; +} diff --git a/minimal-examples/secure-streams/minimal-secure-streams-alexa/porcupine_params.pv b/minimal-examples/secure-streams/minimal-secure-streams-alexa/porcupine_params.pv new file mode 100644 index 0000000000000000000000000000000000000000..4d88bb5a2c1417f0d4d930cd11dbfacb3471aa42 GIT binary patch literal 1388443 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