From 08ae634198348d2f48ff299bbe61799ceecb339b Mon Sep 17 00:00:00 2001
From: Larbi Gharib <larbi.gharib@savoirfairelinux.com>
Date: Sat, 21 Nov 2020 20:45:21 -0500
Subject: [PATCH] Reorder admin guide

Change-Id: I1781b9a8575f3a35d5bc38fba7bec16ad4062427
---
 userguide/docs/admin.md                 |  56 ++++++++++++------------
 userguide/site/admin/index.html         |  55 ++++++++++++-----------
 userguide/site/index.html               |   2 +-
 userguide/site/pdf/combined.pdf         | Bin 2552037 -> 2574169 bytes
 userguide/site/search/search_index.json |   2 +-
 userguide/site/sitemap.xml.gz           | Bin 193 -> 193 bytes
 6 files changed, 56 insertions(+), 59 deletions(-)

diff --git a/userguide/docs/admin.md b/userguide/docs/admin.md
index 89f9ef34..875fb345 100644
--- a/userguide/docs/admin.md
+++ b/userguide/docs/admin.md
@@ -1,20 +1,6 @@
-## Troubleshooting and resetting
-
-If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder (<your project root folder>/jams):    <pre>
-<b>The internal jams folder: <your project root folder>/jams/jams
-derby.log
-oauth.key
-oauth.pub
-config.json
-</b></pre>
-
-
-This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server.
-
 # Admin Guide
 
-By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed
-to help you setup Jams to run in a production environment.
+By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed to help you setup Jams to run in a production environment.
 
 
 ## JAMS & Nginx
@@ -49,23 +35,18 @@ Typically you would add a new site called ``jams-site.conf`` to your nginx confi
 
 This is the preferred setup method by most admins, as local traffic is usually ran unencrypted since it is usually either inter-VM connection, a VLAN or another dedicated link.
 
+## Troubleshooting and resetting
 
-## Running JAMS as a Linux Service
-
-Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure:    <pre>
-<b>[Unit]
-Description=JAMS Server
-
-[Service]
-Type=simple
-WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED]
-ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY
-
-[Install]
-WantedBy=multi-user.target
+If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder (<your project root folder>/jams):    <pre>
+<b>The internal jams folder: <your project root folder>/jams/jams
+derby.log
+oauth.key
+oauth.pub
+config.json
 </b></pre>
 
-The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)
+
+This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server.
 
 ## Running JAMS as Windows Service
 
@@ -263,3 +244,20 @@ where PORT_NUMBER is the port number you want to use to serve the application ex
 Now your JAMS application will start with the server.
 
 Source: [https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4](https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4)
+
+## Running JAMS as a Linux Service
+
+Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure:    
+<b>[Unit]
+Description=JAMS Server
+
+[Service]
+Type=simple
+WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED]
+ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY
+
+[Install]
+WantedBy=multi-user.target
+</b>
+
+The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)
\ No newline at end of file
diff --git a/userguide/site/admin/index.html b/userguide/site/admin/index.html
index 8f21eb66..e6353f60 100644
--- a/userguide/site/admin/index.html
+++ b/userguide/site/admin/index.html
@@ -68,17 +68,13 @@
 </div>
 <div class="navbar-collapse collapse card bg-secondary" id="toc-collapse">
 <ul class="nav flex-column">
-<li class="nav-item" data-level="2"><a class="nav-link" href="#troubleshooting-and-resetting">Troubleshooting and resetting</a>
-<ul class="nav flex-column">
-</ul>
-</li>
 <li class="nav-item" data-level="1"><a class="nav-link" href="#admin-guide">Admin Guide</a>
 <ul class="nav flex-column">
 <li class="nav-item" data-level="2"><a class="nav-link" href="#jams-nginx">JAMS &amp; Nginx</a>
 <ul class="nav flex-column">
 </ul>
 </li>
-<li class="nav-item" data-level="2"><a class="nav-link" href="#running-jams-as-a-linux-service">Running JAMS as a Linux Service</a>
+<li class="nav-item" data-level="2"><a class="nav-link" href="#troubleshooting-and-resetting">Troubleshooting and resetting</a>
 <ul class="nav flex-column">
 </ul>
 </li>
@@ -86,24 +82,18 @@
 <ul class="nav flex-column">
 </ul>
 </li>
+<li class="nav-item" data-level="2"><a class="nav-link" href="#running-jams-as-a-linux-service">Running JAMS as a Linux Service</a>
+<ul class="nav flex-column">
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 </div>
 </div></div>
 <div class="col-md-9" role="main"><a class="md-content__icon pdf-download-btn" download href="../pdf/combined.pdf" title="Download"><i class="fa fas fa-download"></i><small> PDF</small></a>
-<h2 id="troubleshooting-and-resetting">Troubleshooting and resetting</h2>
-<p>If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder (<your folder="" project="" root="">/jams):    <pre>
-<b>The internal jams folder: <your folder="" project="" root="">/jams/jams
-derby.log
-oauth.key
-oauth.pub
-config.json
-</your></b></pre></your></p>
-<p>This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server.</p>
 <h1 id="admin-guide">Admin Guide</h1>
-<p>By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed
-to help you setup Jams to run in a production environment.</p>
+<p>By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed to help you setup Jams to run in a production environment.</p>
 <h2 id="jams-nginx">JAMS &amp; Nginx</h2>
 <p>It is generally not recommended to expose JAMS directly to the outside world and while it is required to run JAMS in SSL mode, we usually
 recommend users to place it behind Nginx or a similar web server which proxies requests between the outside world and Jams.</p>
@@ -128,18 +118,15 @@ recommend users to place it behind Nginx or a similar web server which proxies r
         }
 }</b></pre></p>
 <p>This is the preferred setup method by most admins, as local traffic is usually ran unencrypted since it is usually either inter-VM connection, a VLAN or another dedicated link.</p>
-<h2 id="running-jams-as-a-linux-service">Running JAMS as a Linux Service</h2>
-<p>Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure:    <pre>
-<b>[Unit]
-Description=JAMS Server</b></pre></p>
-<p>[Service]
-Type=simple
-WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED]
-ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY</p>
-<p>[Install]
-WantedBy=multi-user.target
-</p></div></div></div></body></html>
-<p>The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)</p>
+<h2 id="troubleshooting-and-resetting">Troubleshooting and resetting</h2>
+<p>If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder (<your folder="" project="" root="">/jams):    <pre>
+<b>The internal jams folder: <your folder="" project="" root="">/jams/jams
+derby.log
+oauth.key
+oauth.pub
+config.json
+</your></b></pre></your></p>
+<p>This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server.</p>
 <h2 id="running-jams-as-windows-service">Running JAMS as Windows Service</h2>
 <h3 id="download-and-install-jams">Download and install JAMS</h3>
 <p>Visit https://jami.net/services/ and downalod JAMS.</p>
@@ -290,6 +277,18 @@ nssm.exe install JAMS
 <p>where PORT_NUMBER is the port number you want to use to serve the application example 443 or 8443</p>
 <p>Now your JAMS application will start with the server.</p>
 <p>Source: <a href="https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4">https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4</a></p>
+<h2 id="running-jams-as-a-linux-service">Running JAMS as a Linux Service</h2>
+<p>Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure:  <br/>
+<b>[Unit]
+Description=JAMS Server</b></p>
+<p>[Service]
+Type=simple
+WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED]
+ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY</p>
+<p>[Install]
+WantedBy=multi-user.target
+</p></div></div></div></body></html>
+<p>The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)</p>
 
 
 <footer class="col-md-12">
diff --git a/userguide/site/index.html b/userguide/site/index.html
index d59fd801..88c17ade 100644
--- a/userguide/site/index.html
+++ b/userguide/site/index.html
@@ -404,5 +404,5 @@ You will be redirected to the JAMS interface.</p>
 </html>
 <!--
 MkDocs version : 1.1.2
-Build Date UTC : 2020-11-22 01:04:58.475709+00:00
+Build Date UTC : 2020-11-22 01:43:55.216806+00:00
 -->
diff --git a/userguide/site/pdf/combined.pdf b/userguide/site/pdf/combined.pdf
index c9dd4246df3b0ee9d8cef07df28dcea0933db20f..7a39d8235d850fbdd2c4b3a86c02a25eac0663a3 100644
GIT binary patch
delta 68878
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

delta 52137
zcmZs?Wmp_b*EJm68Qk3+W^jVLI|O%kcbMS8ox$A+t|5Uy0t9yrZb1{=6Y>o?a-Zw{
zo*$d3uI{d`neJX|?NyuQ#C({&tz4Mb5ik+35pWUk5eN~85l9ip5hxL;5oi(U5g4tQ
z(HY=6eSKH5FW4ccra-kmo=xH#!DtCAti9ehSj1e)RLI-HQ*@A$F{RylnZ3ozdQlr6
z;%|L8(l=Kc#`~{y>NrPu?rsme1cms=uUmvfv?i_wi3nlYGaCA?IruDz9<Xd|_rIN}
zk~<46W)Je&l3q95C<o4p9##iW<&%HSZ?6ac!iXyFo?n|X>2q@^Y$IP$BU$h#{JlEU
zPU;-)aO!?;;M?Tf>N;tjSjl0YR4n)bu6kTK0fjq8c?h={8~NAcN%+HYHmKWEwCmk6
z<?EkRoo#KKdrI&fO}>1}Tzz3HG<O?Ut1e#qB5sQ+-}%?ZsUUGxVc7dwaw|_7QEDV$
zzl!g-ZZmyvKOM5-Txf<ndAXo%ix$z?AE({ek8%%xq{r~)yO`0{E;Hlg+C^7`<CF?y
z{GePX@nm=9sPy%t#O2j1fmvM7dytL`oQ3du1$&_8u=j>lF4D_VJ9(3oEQ&F6+CuAg
z{X3=a=%xYH!9&VlZZz7}B!45c@c=)|fZ?v*RRGfU_^BP4TR%E14O~<^F?!60su^z@
zXSZ=_8{u=Gjh~G>sBi9Jjwcq_<V@U{7wnrmO>p!H9<Z?<@%h*4H-CTa9KFtEQ|G_D
zco527oux%1A$D+CtNP7wN<ua<#9#QMYhqGvsW0Km+Wq(C`O$X4bt7lKL3FsExnQ-N
zw6t$m(YGh#x*zWEtb}DJ#fm%c??U#D{kGU2IO6(i#5q_w&MuRw%202jEQCRP<cRDO
zW~fPDw}MaLBbgq(H2TYR_1{S&>By^!w97U6+KJI7Hhw>KgWHI6d12T?sN&p}1rLAu
zPSoIdy#L$F@O(`AlubIq#(rS@sXh2ZIj})=dQ2o?a^Q$d*W<*~#I09-#*C(`_*_a*
zwrIaOLi*ql58UW>B^FcvioH%qFL*%fl`nRHr|?UOsFkr|T)Q>eOZBymQXuVMW$f5#
z#-K?|?(gU^+63QE#}XjI48>)Z+>ww)o*(u<^}WKm0T#yYfcI`mTq^F(!y;fRyroH8
zrgu|(rqeH7r*1WS!(#fR)?mB!=T~eVQOw4<dtkSPwM1)QTqnW4Ry%ma7(|kW@q<|l
zHK!vKv)dbFsi+55umlN1g5rM)E3LmZ*VOApDdc*@vFF)HMj3WEgOkCdQl*i6D8=fb
zxpT^5ny3m30&=^`Qy0Kda5jV85lDK!AXtC~UN)7$!^k^)>LOQE+$JE#@i;54*0Z$x
zT}r%GJXRzHiO!F*pGMf%RJU?FCM|MTEHNrCQYlKm<Q}Xf=@VP~lzd$0yR6C__|8AH
zzy$`<DH*-!C1@UV(j+^6n!F-M7snufn0HIaXyw<#S{Aanpw0Th^UF1uJf>;}hmh$Y
z-JjCX?F&N8zO+&EypT+lbz&85IIPXq&r9^a95kWhZ)W6k?(R87so{NO?uw{Fwt<a@
zL`d~kmxP2~)2iL)EyQ_vUKMojd~@O&ncM>4?Dr^)o9?k=VPWz}6Cy(geqQdUXPJkY
zirxW#K(Z?F0NVN*Dxei`SL0Ih%#v4`Z!CZBsNm2y08!oP3o_+LY|B%^vR&&Gr<@&i
zE-vG=IBKPy7%i`A3-B;DC%TT2gedV0{x(AjV2=e2P8Xl!)u3rc=325}$zct0`h|pq
z_U_ky<z_)@m|d?NAeksVs-uXC{IVVX3{&fd&gjY4f$Z$I$T$KpM+^A<Cr91mC-mcj
z^i~mcCA=>>y=f%e+d7Kf^U_{=u$YTWDd@IV``tI#Yl;gF@H-gQ3*&D-)x9Vi(?3tK
zMy1o+!g&cQNU_9@9_G*6*(-x{#cMGXRI}DAN$sNZc`GgPwY1kXBCCd@ow9tCBy-?t
z>=9y|Aihv~rBK8OM$Iu2Cb7Am8i;#=TAZ5LBcrjeoifv?m&&8$aY_gJCPF24fIh~z
z+z=sUe=AVDnh}-4nCvAnHTUb|@(mLARY<E1=A-j(BywyncGywrUXTXliO{7c=n?nD
z9<L+31N_m5=@Z=${M(Z{%E6yxO-Cag%w*BY`JOq}+d>krz?!NV-U7WYZQC<ZIS)W`
zBWZ_sMMo2y9!*}5i=d0qx$|#tk+=?VQR)-A#6?b$eLkqOB~MbR=(u@+nl;YIZNw~$
zk#&jW^hb<ek*~s%kDMxfsb_Z)zO&ZI<V;so_xQ<80DlP@VPrM@c;ToPW_Y-oIu&w_
zQxwa0V8$Ho0mjeHF4E`e(^LB}v#$N^zC<guc@B+Os&RnMQhtckAFJ51_k?Ho3TZAt
zQ^a~9lqo{f@6seo{QXqo%_)@~nbm_!47?M~(97x3sC1_&FAGLLY3u9};?Q^n2iQ1F
z4Zeo&9H$cE<_Ulrrq`TJXvsmTF+dFhQ*->tY;M+9IpFwQ!c>y%bEfjgcAPpEsv5df
zA%L0e@L(Yp$>J~ch{1!%)=s^B9N+zD@?u5y@)wNdz{!hLac0qO_g|STmv{k3ZV8&I
z9Kw*fGlc@=XoR1vX16l?uj;zQ`s<Lo+f`F$e(EcJk*ZTQs+O)wNgO>@=QaH4L!(jW
zp?50NRtMIWdVidC6H1_EPmM|6GU}AGbefhxw#?Mu-P3hbU^F>buUc6CMX64EUsfm2
zg(-wo>6~_$DhFXkS2<RSm4k)YwuHG(vzH&4f1UzaI5B2Jrh5q?BscQ@Ax7^f?}EPN
zE4Xr{VviKZEdKXfV{BxGyHTh`o3iHw86}hREN{V0XY-qA&7r1i+Vk%g9t`GR5|*3U
z`1vC=D}AH-K%1uZ&B!lcO@QK!LmTEXX>~mPCkMm1Ekpk%;RL1$EU({s1|&bL&N`*F
z6rD_jI>;<odFLA-o#JFVA|XE>`8BIX(Ry*=Yv!oqsl3jn0wwFW5e{xl^)u);uXu7$
zTMKi+oGh4njw%bcHU%X7*P_Z;jXxg`YwqPdf6MZ7{O*pRH_8jen=s)ejZB)jsZ-><
zX=%ar8rUH#mM9<-?WwC3LHo3nbI3V9-GcB`Uzl4;Nc!ztbo94<{-g1Wk7nFJpp=^E
z^^QQmCY)<wU6cFL$6w^tzj5Hs6AO1GqHhy?1T7zF7jLwSJ%uX?;Z^{5woYBlS3Wm<
z0zQwoB$81fUUN5v+e-anyqn^cNNi0a1Y`=j*QTW++rJ=d`IuC2+&sLQ1(?bR0#raA
z0f<HcCIx~Zv?&OY$On)^0)??KA+P<haUo)Z2qc+i07Mvmh-(HM6XaDfCLV;#3?KpV
zD8!6`0YXCIk?A_9iZBIWAPA+HxR6Z<93BK~4fzR?7eoc*1wpV)kmzW5HQk2yQFmcq
z@G8TPqguOId3t$Rn>#<ZTrC_>fxO(1GX!K7SY99mhJle5B8G^J4-4&-&;f8k9ttrr
zAZsHCND$9bOfiUC34jw0$jbxayhRFt#7hIvA;(_WsDHY|(*SbN20x_O2Re<u90rOM
zadhx^y<=BWe)Qk<A0;Utw&1TO0`h*OAi&HZwPQL@bI5iSGodavrL{KY_p9bOE&Ucv
zN&jK@5=DrL{Kgz3;F|``{f<=gu;;mMLEH$z!e|$;`K`CcV%u2$!i5D5IK$JO<IQof
zV;Ls6QI^IUi+Hl%tZZ*u6SF?Sb+0ATFU|n$ZC-cTp0UzDkU~d%Zp9SO+`7=trs4ma
zK*jHspCGzy#k=9pU1X{Qk4{y}Y2>x5@0?0JO1Z0RP9hyz_(uYQfHh;S7y88xYai`&
zZpo^p^Yg1djATm4#aR%JWIN%R1oHuooPDao5+a**_`=J-fQSwk$={Y%ltqXa_tGPS
z^H{XfaEP72n(gLq6yVoYb|*51c1)UQq{44O29drvotTphKV%|oN80Ulqz57&xPI!}
zWv_f9-SMK0j%JSFuY!}|!m`ZZpT>gy@&%)3^h|^C%O|N23{-fopE;Eh8SofDFOkv-
zy4Pw2i0-+=^q<5~OkORs>{^8-4gr_Gg8L;r%CLe_dAA;N?&3#jul%E4WZsRXNL``K
zu$F0gy{6dlgdu~W#^ju}3d<l@9MY*O+idSk<}t4KW};XT^q(6@KVsS)7V=O|Mz;2d
zy&p(m!oeS4VT03^t5s&Wvrv+M{id?F`GmaEE4RdHrM-rEjd~S7JOFh$$(k4;8w|sx
z`0XX2kpZFJso?!)*gV}jBbw<n6WS;2bg{V`Iy&Kq)XpMYk-_{j-xwitR#4@6TbPAY
zHl^Q1PnblAodj(;KgA@fJ`*D68gY!~ftbZi2SpoPuiFdW`(`x4E$P*CS~f^{%e2vt
zA0vHFe%^vY<f`?rJbZ<+Rom)o&cGkn(gFi7hFdDN^%-;*ewdhi|1{8nWKi%ipiAEm
z=7>o6G_E8`?7mU6yEK<L0HZ`s(J6z@gx&GWam_8pyO$%^mE(-k=X}$3zS<^AK4l!q
zJx4CQad~b=$xoLz4`njLeCu*6FE9ld*94O)g^U9{+uNj7V_Gd^Gfyl82KK>#-$L!T
zL(38YNQZ!Uj+Z|jhXx3|F4d<x@a5vr5P!X2evoe;BrUfDhA@|C$<9t_bTDR^!Hby1
z$|D$G!7+@ndJXi@RgkYylK^FKzrj|Qp5~F-L{TE8<BUaGMYktr1wRdV4GOgU4q7TL
z;Z&Z+Xc03re5E}7{jhPHa>W$vV}q_1ZFb)&HZM$moc$yj+o`p|F15SPEX7;wH%5Gw
zWISCiZ*(h&EXEURLKQs3^#z?>pX;}oNosI7SwgGqLq@=v=VY3D`O>vt-)b)RtqrLF
z#?y9-W37^=wv+CQ$52Rnf%m6FgB^WxR-fZ>ikU~POk&+H#{)fP>$kSx{m_q+r+WCl
zE+Ur9hK;H3&52*`aGckE%l+<px+<G~VCh4pJNASbw_Ma<j~&;w#Bym7$0wgw5>>}%
zgstyaG;+srZx+p-u_Q;(h4NA|I^NTra_0TzIq8hx%*U!H3$mt}%6US(L4HG35sMp?
z(RjhmYiB7&y?&)cqaxB>@b9;D4~$XP%aOo3QOSqSeKenRWH*C~<K$YuBC6lsxjDV$
zAtsIyjo+DaE4=YZEz~>G5C!pDCEhu<6FcUo+zvU1L#7DKDdn62*ExsphlqQ8vXYVd
zLi|cKuFG*$EvIVi+z`nfK87Ylbrz^i#Yb(QSzC>T(MUa3VPF<>fM;DCUNm_YdW&#h
zd%_>MFP+f5#%^s5VMh-3oOl>^<7xt`X;@q$#SZc?p;Fq9Y_5F=y4d4Li#LjG6wt@)
z+O+_kYLACx`ve`$V+QL<W!w<O{de-8>N4c@mWaZ6Pp3$BMii%qoGppoh@a^sTSnm9
zGTMV=U!q82-5UPl2h;pu+X_koFnt2WSFz-G2bOOSS+0%?AcM*wH?%<{0&lLXrz~YY
zqr##Dtaq;>Wi;R_uC8vGOC<`Vbm0nR8VbSGuV&#tgiugFXfPta(b*@QAJo{rq{e&`
zi~zSj*eThO(5kXE!jR|s5dYcMm}n()P|^6VqG<xD<hs{F3T%}{`p8!W`$Jk4L0QM`
zbMTI}>0Psf1LyGq;R0_vaK+Px2-gtv!3Z<6Lh<s)$dE1C{Y|dz8he<Xb>}Cui65|-
zjq4=NL2b^#rh5YAqvow~X{}f@?;@CYl9Hp8vgGrpmUyF=nP2eAApCa7=C?LCuvJuI
z+^W9Fp%7fxP?OdkT0I>RV*1GNQhn?0hi^~pN0=n%<H-Mu2L-6OsGb>-ii!%z$Itga
zf`s(lBE5w4x)32C0r|L~JGq`&n;ef9O54!jqSB<|^aJt%p?iSOB(C>2YfmQt@FDhE
zfWKH9h8NPeN$!OQ<mG!l1yxk^-z)HSxM#u{!9WOfpvV4?#rb%kBl7&k;@lelu($>M
z)c-MiKHfhpj>E_O{|*kJuE2td2`H<>@Ijh_vAG}!vH(KJRyLeU$EQ-vks??=K1iZ8
zfC#$#d>t9DBT5Gl2LrCtRZz3y$Le`}b!SJp?s%#sot#6TO`U8dDQ5?AND!J*v4I_5
z;M(1&tU2juls1ChHitMiOzw4=$L^ed7c6AM6Z>fSlG{eRHXSrEJ>7^_!CUaf%y3Uf
zIcJh%*=jyZ)?Ke*iSa!5YTLwtbwLy9r}TNbOQ`@Pf$*oeED)Sw5JzjDDv+6=8m7cb
zp!w20Iw**mSf2J=-64|1NJGAc(%SN{afstEkTuOOx&Ex6<Xd^(B<9jneDwm+vC212
zLM+~h+G~MT^H-nSx>SS&@Etk>$XqPR{H%HJ7WI@&;Z%8waj0zIBt{2i+^PCBkVPyH
zP}cyci9`kLRH$IU7XLJkucV^9&V^eU_FLvL37%`LE9sFii)2K%Js1=^cNS7b^#dcS
zqoonlU5_@^=&~(X)Z~7##?!kWZ(QN@84>Z^WHya**q&$>&xr6OonFmo>ugkIMiwI5
z_7>H?+-R&SLy(bBKvg>lMIwe2xzm!DGPQM{%vFu7zD5LVEz(JTJFONNP}h*lRL_ZV
zj2Mc1tKs96&Uw+S$Kq1zYAr@I5KG;I=jwIrF+qK?Oe|ia$8z#p10#Xu6A@o9ssM97
znJMQ&kYk)$MP=^ez<|?z=aymZo<q4d@)@M#{)TU3d4=6?4nN6o#T~8by~>c-*Wf5!
z<r@T(#=dB9{fi#f*KN|#PK#^3D>|7lMa-UMahf7?O;RFeu+{~AQIZurREH*@*B*r~
z^gXp(4I~@>827w&i(hNBFCI|@67KRZ-d9``8o1htfV-Ijz4T%|<c?<ziX{4Y>-cF$
z@aq;^pC}g5>$zMiyxgQWEKAO&0~C%84aBaZQZ&QCvua_U%>GX0yaKP;_@el+dE~Hc
zfVEhNBfJdx{Y0I$pFO7tqhMZmS*GGL{z{;B1Vb{F+N^?sw^o%7ULp^Qm@{6#db=w1
z*hc8jO`4UvXJUix^OquDg^~T1p;;3=$G+BRP@o`J+$P_1D%{lmdLpVRTx;^tsX{Pu
zuacY>tivLXICaBa@GDda(Z%|_7M^DoN#z~RK3Vs<PW=?+V~4Ey(mOnRsZ)aEK++$~
zcf-d5bUz^>vOjSH$e;S*lU&q_Lk0}>Nv7b0FqCYi{5gv{F=hfNlKfiUUFit0i<g+K
zkFGLKJ-Gi^P7c~PVpMeVle=aw_KkGR1CVQtgGKv8mu<5!<X-h?0rAYFPnD9J;2FfK
zUp&b9(GHCb?+|8plHtgs6p3o%a5+>~7BPt&ns$I}r$b~W?$~s!J|b<OTz}GNJ1iFY
z$(A3<)<uy^C&M(kja0M)9s`A@sopr6T5o|hu82Q{Ki=TZaZ8@pe2yaX30YN8mm*ep
z0L!)7#C`1@NVa!cV8pj^Gm7AwDsqIKq$64nwLWO@`_96Xl*}M4)|aIyb+yG?wgn&8
zm{J_g_NLI+SSf)*JnO6I8R<7TOf!YgAF^@ztJ^pviuQhgPc1y-RrdXARf&P_ElN*x
zY?dODD$C72;Vl}@QpRx~yA@ZxLGnB3*cdF2E!%ryXqk4%xISH4LtXB3a)nX2dT7_n
zRw#UAcfXGR`)m+PD1JRVZ-~q!l5fzi571iBHuIDL<E7|)h|W1=?H^wJ){#R6Pt2mS
zn^O%5EA-2Jwq6Gem?m2E>yc9%Hv-QKJ{?gEod6`mWjU0Nk0~&=-no4igshK*P+uf1
z3PNuRpo9m4_<11mrht_HJ2QL6_zp5Nz&1ihcPT&w9xiu!xZ_tPfCa`O$oZ;nwVS_m
z5`j(}CIyL;gCZsVjrwON!cM)S8@pDNUll$~4I}~whu)GUpVK;w`lJ|Af=}HZdNCUN
zz+A2Ol<0_|&T<>s2k{+7M)E|z91e+t!m;nmHshLgM64P-uu}!!vpgZn)s#VsF%WPe
z(M|wNI37V>NR|^o83D>20z7~5lmIuh{f8Hxc}jp6y2blfvRPPwDFjKZ0gys?T>hph
zNS!kv29oOzP3_|0k%|A#FZG=P|IIH2pt-Anz%w(^VzxG_|3giQ@C%UFuF!#~-@~z>
z0tNX0<|0U}D}d~;#8Lp7=0X!oSOIPbj2|>lY;*^RWbTn;cc?W00;3>V9smr;A}<yO
zEKnfR4-Ov&1nIj$a)LAj15hE19so~h$Cej19)u_eAOdN$24F(QUPDj$wT_GoBM5QV
zf`?|E7?3D_EGMwL_Y^dzPt|Zf4VLdYnvMS4MnHLOQJi;N*Cr~9Sh#NR2JfMakjQHG
z9p>$|Md^ArLZ^kOBw?7oRP-dtIw!}_keVzZR^GcXj$Cqh*Y+v;)?*{kWS?z|(YpA4
z+&z3>jtJEpTxTyq_&vT`bP&F?OaR#!?^l3LH|^?m0T+1sGk+5QG2CYnSj3|J<gXKj
zoi5{)MO_vq3H}qYFst*1Bc1?bFIh2l>qH!iF%co#Qpg)CW;8<kVV(N-B)_sht-Yp9
z$GZS@I_ciITp`soPtQ{2&I%I$LNw-eCDJf;FJYxIM?gIm5pQYF3njnom7jL%RR4wF
zLH?y;3NsiiJR=vieT3KNX9bT&_!bW0>b?J<=Sbdc@-`W!+HvxiQ8Ac2d6|n>K$?}B
z4uXwF*dP5XW4Wzt_-8Ds%8Ch9%R2;9M$~c!D>!1ZGE~|A2SFH<Omsa#rINUHB(=#%
zqts4edNgWR1rh!ttjjVcJmbdcAbNo)yVc^pEb`A_&Rm$3TD@X&G>)u-g64Y!7H=B5
zKzLe1q4#-}u4KZg%_OW!1k};^A24v6@V#k8-WKbNY#a>ozZ9@<o(9U2la?22j997q
zwTiZz4omViOdJM@Aw>kKyep8n^0KSj!T{Y*VIIgYZm1gy*chc`mELRYfL_UACke*q
z?CofRrElfbC8!NcbVTemS*^wZxB)6iu$O3R7o>?E`AsD`CSL|m7;^U6-k2E3c4%e8
z4vy$(%N8&v$9;dtE5@F_rxB|~@TIon@?5BU*bhVSR*I;()_HJZa9;_TN8gU?g!yYh
zR+>A_?16+05{?q6Us{oSW2>REc-xI-`e}t7>}D^VGo*7O3a1kpXGKfucyv!&-||KC
z0hoDR$UoxSkct&8I)@`A*sT^4&9WmAKyO@9VWch=33efLjM4FCx6MOjk7qO-U*APW
zrKoF~>9h=*BC?D1%u{Ku%dy<he#A*t_VIBHbM4w9yZQ3@3U2exnmzSRI$8g__RJjt
z1D9s=Xj|H0FYn6GI~I<sc7pFplor#*j~k+BPNzW$6P5r?<|Txns+dfh#g}c=IuRxF
zZR<>xho>*s6oX@>hVK+KwN9nZ@3P%zfYBrhmu06{%iXp9KXI5LvM;ejsW}3&^U(*z
z$SLCpy~=;fK<tsE`dEduoeuPB9tg4Xv2Y;hU;r7;vz&%LWdDj?LGH}2$l{2C{8T_e
zeu#MxfC8Hj+WaGmpYcf$iY*W~Vlovtpr9bc+#gO8`eFkM0ABb&!T(p>g1ET;<AT8o
z3Uoj{F&Y>I5EqaN1feD;qsIhsY5xOH4Ddsc>9+t}ST4}BSZ0QMKD{XzKnrnw4~GZc
z0{y`z=;b85vGHKJxFN-!L@FJ^5?D$Gq+HL}{yRMYfdmEr%@06a5SUmvTv+HQ6n;dW
zJu)s>u0Ix;KXgpqXS~9H?tmI(@{s)m00xS(wTrEn9ToJ9e{8Zk-C-A6eyr|G);EH@
zp*-W;3sx=#?pXa<@H=`ESnz^&t$umZH+t>1_m6X*bUU1>hp4fr+T<5%YhE?P23K-i
z<&UgCltse|`8Cobts(7Sg_MHl`HxhG9pYW4FvVIK8L(A!UwSutJsg=72A$U*wHSK$
zRZRp?rZzn6eSQKf#w7%FtG`$f+_$tkJ2dr72~!CORc#l!>TDo1ybkoWe^_-^22A~O
zHrte2tW!4aLc$et2K^4<3O@TzR<}k{_&#ZHwtC5!bpF!d$mOnx56m_(oK`4YJkN><
zwxrrJFGEy|7B_8Lc}sz=&2xejaaB(~g*TLHv0Ld`I<*O&yDNT7$uqq;68Y?MQ}Lx-
zEn>aEG{Jlf=UdBH^fg<!>`PQ4F`>;ovDUK|r%S{O%?L6BS2pIbzFsOHN5!!Ao}3<3
z?j(jcxZ8>T*ff@&o%R~LE^+dC>;>6mz#+Uo3{qoa)8(j(I-JvWcsn~X+*a72(QI%>
z)-Wi_u2>qJZqv%~NH|lb^M+bDjiFILY#$Zj_BS(6x)U5(UZnPpXSv08oLEYYgJq3<
z@5BY)f&r~VK!UX~mM`wRy(;+0m^yj|C);GY-AvTkQZqfx+IjZTsM;?x(kh6eDKf5B
zwbG4jBdo$n-&=NAR<Rfi?rhxejZ&!F@=ej_f7-Hv^$yo5W|@8*ImY7F5;yHoFmYo6
z&8~sE-JmpB87$JLg~IagAl+1CGzXQinN#LbS+#H{SzE6I#+g%k+9P_Tkr@-q*@1U6
zKLmdgAO*x$Stx3Q_wKoTUKAzBJscEeh0zct#hY!1we4T!{|Ft;Mq;kqrSCE&{Wkvi
znQof|9Q{>yIisJ)0`V}sh-9iB0o<tXF<<^l_NO>pooc#b;t(cpNop%m0P4XZy24yq
z#*?ibQm4YZcej%A;+U9hG<=ilQKFe_7=1UsWE|BRwbpL(ttU3uUO(kMA}sXFVK2k0
zwd?c@M&MUG0_TjFh(jf(7-u%~I+!U#H$W<j;2E?YzTxp!j}Lxwj-u6iZ-o3Pm4qlq
z?W5$5OU=^R(AQSDbC4^&sy~$asVQI0eXHNW5W47TyOQ5Dt>E)j5q5OAa^>OhjM|AD
z0xC;iF1bL&;qt#dhHf;uSkhPq5ly{xppNGhj^U(?5V4erbpNCj>VrG$Ng%DjUXrAh
z1BM;^s+&H@HOs*0xPL1<;st|;yf9x9+(b=~_x@tV1=F@~5t)K9gayG?RCG>SsbyMi
zmZGwqqqS?=5Ftm@Z*#-MFf|fp<Ta-@uRdk$7uJJ;N3_lSoPCLn!?ZvE*SaQ!D|7I9
zp=;HMgf@9?$1nh9hw2octnBB^BWYUIlVpm)Yg070{taOw7E0CB)5BBRm^%X-t{UA|
zfV7k8S#vE+3E?kpBJj0vkm)Sd?*v&pS5VI}(aEP-shT6o1Y|zZKgdSH^<NW%OMvGe
z)P07UzfBB8L?9F#fl#M{n2el;OArb}|9BW6AQyBG*RyJaA~6UEf^I=EF(0}RpuR~?
z3JU^4fEoZzs0QoZB=<%Fas2^pNKhJp_%E^8OF||916`SbQHQ68Bx?blkU&6Q=pazJ
zSqz}V;L-U9iWT9<|4bP2xfm)e!7*?|_#hz9-*WNaNkb=TUV+5`3*>`L$G~wy7*hd+
z(A5wqDl0>h1+lR@*ebF1Q@DW7I`eO6=H>_S2>x$?=kM~oM_8DO^B>d&KBF!T<SYx3
zwF5c|pAZoE-(QV~|35z)boT%M0iJ)%8ze_K5K!=WAq0x@(4J?Mhko-W4}d%@2n3lP
zfhuxf34rQ(5u{GX&{YeF9x~bR#!r!MLVtVJ-x7{mMRK-P5t*8zrv7{9TjTeMeILL0
z%oNn8kHQH-R|nfI!A~b|BT}yF_AjiQc7K}WCBkQ|6Tz)tPB+F*NhLFPt;44^XOtSc
zgN}>1arU{-CGzbF=QMr!Y9iZXqN*x7Cmg~`HAu<2Q^8-Wvw!3n9Iy7fy2I0dsiM03
z$v(RCHO)bT(CRc+W%`_#Qmu{sDEH<_D<eGKkWy}c`&vGWq8EYbVi83)&fMTV<+nx$
zbD<Sm((V{`<(Cou#c^G;>H<7*8a|l8iyHZkUan)nbqCw&I*yusoPqt_6-_CtcNnsb
za~7`NpZUNwB3~aBGu1_tZK|W90`EM!Dk<VBmP)CGL}x?M%W9&|tgmHgjl2d$lgn8i
zl*4s6d5NUw1Vhbys%6w8_1@>mp_t;EI7#%RvreBiPaz!|{b)gH_C!?R%{bkad@H@e
z9+Og0TC<~X8+Hb|-5vIQ!D-4qKu`MQiHOwm#E}AC-{iT=(t3YLm4e)R&?5foQCsms
z)o1EaGgfZcQTY<T_?46`Pvw{(qSb7&Xr_?tUE)QzxlJs`g0jn{+>%HgsVY3N*lZ@+
z5OKQf6(Rh+S2J~ilHz!jrVav~Am|&qnj2EHI-nnI!CWv?oJJDgGEO+RR3NH-(DYMo
zu2dix-PV>VORi><WJ|mvmpqulm(4Q5FImX>9H%WRrc#+g^Il?p%uiT727S*>9ix6r
zC6K$d-~F?j1}ne^O9VNg!HA>GGwEyjO=8<Rebv3Tb<)(*z|@!cRfVD0bj&wKzEVs#
zuZQ2_v)%MpI${1!8t*gTh}^A`ns(;E1LsYH*^97-TbwlNtWe(hiqZ}oe~h#WKtqUw
z3q}zv<riQMZNJH*5tEeAYJHi(ZB8EyJ}fEbH1qs4p)LvF`23@9X(xLCRpC)zZ#XUR
zb>{#lb;!j<VH4|#bV`reyH{@yZY&Zo<Q@cW6vDMHqSgW1tUV@i2^EBh3Rh8?0Bx@z
z_5c;K+J-oKv-c-~hI!ZO?-59MigyUVrz_rfBSs%*HDz~(CHRom+@Uy-rKCLL0v?3C
z6o8Jw^}jb63O&8m00{&>DiDb84|Gw3c%bb+nDGo&ASlj2<8SB!@k6&D;`soIf75nq
z2+SKe+~);Uap(&R%B%%=BLkn0hdQy4mA3%Sjz8!H3*!GvL?VK?p=ihr5ibVNqw)Ql
z<MKnqO_1;)k+slC{)JnhKk)e<Klgcte{hQ%_y@P1@c`<q;=+NrL4Uw2S|$V=8aU9v
zg$7=SObGtO7wF!<!3HXsxq;lk|9Q}VeY5`;$hiLqRORRtSpsMfcBIG>$x`ER|3|0-
zxdnOnq1UVd5d14Tx&I?mx&M)=+<(hdXvecm#pnJ9QvVB_klq{yN+_Onq}mgy!NK+n
zb?i71p}{z_ov}=&^*|VtI9esbFeY91_P`V+k_vbzUsvS#{f6LtITx1vcB6tSXbW^;
zk{lg4<u9L#&Z}U?J`OB0mK|lD#<_iJwlaWkAEiU)6DR<p%8HRQpE;7fHa+iJJWMx-
z-x_oi%7j`Sv5~RAAk%zUc*Oq&Y!Hb5U%==756$sFZyyiWpJxS+8%lG~`1|SLff69k
zAFKW^VuMVHV*N4c#bKd0{Mn^P0&)MvZE?a_lpV<d*h(<4Jixym3?vW_^vUDl`HRzl
z{~Gg#@RNU~7d(HwcxLEvfAST`m^c<O#Hj*{6o%*7fCs{GL$*Aj9>!)ioNDxUPa<d#
zLxZH_yC-RGAw*mp3*|X$0&(+m^Zf6tL7Hme@L)kaf3cTYDnJQ3T;Dr{fagAUT>w5D
zhzI&`KHojw|BLn@RCREy5Gi~zd$1fQz@;A;*ftpWre|m^={=ghbN{-gfbH8hQFtFw
z1$Jq8+&!G|w}||k-A48OFWcrgYSjW>sP6~3C8zg;*Q*0X{6=kc*X-Snaw%{|G53n&
zjn6d!rRt7&7KgT`ygZd&N<BtPL_u>>x|L;<gyo16*I!Yujo)jm*-_5J4S>66II6kh
zk=Oc=zF)Ravu%DeYWxv8_@ZITAb(2cK$Iy&yrWl4UF+?#u6q2t7HZ_lD&0%&>$J9e
z*wC-ex)o#Xhqy0)>d-kNs@X@y^q&Q)22H$OO{;9KMk+`~+VJcCv8;?fA4l=+*M+*C
zpa8BSvt{Zi_emt@S4iEbxs7Tt1sM|XfoEY>C4p9_t&!|Q6)g8>hLv3!qQrg<R)?GH
z&RG7tY$^IzPA$h;_D=3-DiRa{PrV%IA<J(~?BY90wBBw^W`htLF#^074M_uhCyMHb
zxH`@eN(jg?Omr^zmu%<5K6;6-52Y(Rdf%*(3fw^@a1{jUO1#ja|11YA&d%e|=y$eH
z6Ot7>R2{@Xz%nzzYY|j($UAP4c9w5q5a?$S;Q!NZ@NizAU_U}~RQ;$GCjK3NuZ83Z
z=(uqJQ|wq@re47kbz$R8)!GV{NV}=V8khcL=BEp{{&z8Ovn%(#d1XRe)b!k+vW)Dt
zX4SMjO{L0I2gDs|>{Y12C>*}!rT)^d>2Z`W-iUi>eXLll+GQqr<G{)}eD_9FZ3#|4
zzX{@LaZbudP@_KU2@^o`dlmJ!F%p(696i#|`<Gktkdf~noZp;Dv20d|dtcQu;>>d*
zllsCP&ik_2%rM?){F+|I_unRgTDOT60xh2w_+MdQ+}e*8@>!BGgELNgmr~0o5hXLF
z9yi+Sc_$#7!ZWy@H?09GF<v|?1^w!52eGP?dy1QgkRM=a*`3r;6#kHyL8+V00pB4n
zy&e!!Fe~A$sHEu?3}Lr$$W<yQddZObhZs?q?V^JLeZntm2aiGqbT6miJ$ZH-T^CJx
zd5JZD=Jg|ygg~5!Sq2x(65o(}aMiy?>q#W=85D!Ny(k!j?VhJlr{MPC#0xqQ(K$!+
ze|0$b=Y=NbeddY31*RYn_%GT(UuO@%pOryGL|$$x&~w!cR8-?Z%Wpu?_#16_p=bdu
znfX^n!-05tpM4DtXoCwv6$R&o!t)P>K&s2I{vje>o`3L$7s_VP!kT9d4a@rqQe_FP
z6VfV$Le?_@A%Xr{P=wS~Kw(D39Y6vdSKx2r;r$~-p&f$H#A6!mO+nV-O+oJc{!iEU
zWpW~jZwa*EXs`lH_AloGy14n5riHF$LNzS`4A&n_f#u_dY<psZ{>WKfeMd4mENK1r
z^sYULaB2OKW!EnoL+btrtgT2aNs1HWIySQ51!zqwxKJn{@j7<%HTKwq_Tu^cE4kwd
zqotQ=?!8uDU<o{k2dy4AyG4w?ntrc)$E|X3n6y_zt`Hb#Ik6rP=<PcB)R%Vxt?Q!3
z{Pmg$M>p`nqqEt;(gf^+-n-fTg=paZVqUV0i|&0f)gwiKP)Ba}eRtr_!>Vx?MbYDI
zA5%lmN>`5;fWvFS`abyd;k8PVH6{7CA8Aqxv1@JI-9wtbtg#Efn*7I8++w74H)1Yd
zVd603vX_y=idp!+3wBc<ZloNhf2c4c9x@#4TuX(IJES1jZNmnOOn18DY0veSelSiE
zD)%WWOrhZyubo3cXT0nPUj=>0R6j}m_}NSND3ps1a6A~p`PqeuhQ7^G+v#HYTIb%+
z3&w^ZvW>UA_<X!s#6R_eJBs#P%nLerMc1Oa#@KNY{a1sA@56J^=D4bVcn<%39IxTG
zd;^z$C-#8bPt&IW&i&@PR<U`RtR&A{aB~!eqHl+06h(oRg=nE#EzGqAb|+;f*8ZKt
zC{tfzZb3D#&^{;WFqS^JY_{@{6kBVgv{~|H-Of5wQfbWx52%c}ejZOo9IO$PLOLz7
zk8+nCcOM1V-VNW8bFL@v=qRgNW?||RZZdC;ym2Jvr)ymY(-b{rWze@+K8&G&W2H&s
zX5-Of&PVg4Io__eR0=JI({<6OFXl4mMpBDpeRBI9u<{wpvCh9Wm;Cw@BSomU`PI8Q
zsqGWL`8TuHL*c48fCO`iu!<&UsoeRSENe-6>Q_oGJ`_yBpJ&$&Lc*MpRkVoH+YPow
zRP%V$;F$Mpz-Ohjue8V1b2l$X&>K;Bf!?CLVwxcVEL*xmx2cnDE((e@p?QQu8a76H
zvn+AAZz>Hc#x^hrCgL2|{ZN!&<~Xk20oK&^g*Q0;s(*jdn>3RCB@FIDT4xubA`UUD
z;R&yngn!h3KWIaAsp{(KnAzui97tgRZXMru7*V9O1^4z#!#NT3t4qtVsV;RHXB<cI
zW}3~uA$ER>I&fUcpNqc!q?QeF2<5snV9TWLw|Kl+@#&#_;Rs(AoUd4%pu)-9WY^Z|
z|Ef~4UN6A@HtMOnspQO*RRq&=JhDEmsRBkyqDx$LLFj>Z`(>a{lJ=HQA6}Q)$-pa9
z4jn9QQY}_YlrQ2`0$vCJ=EA6uz0}IDaukT~#^BnZH*E%cL+osyR&CaM<v2#0h?T20
zxLBzP@lDltritC@(VsoL%n#${MW;q~m9xknv$S}B!@k3!YyT@5-|)gl#}wrMpKHJe
zf^0^>i6ihq0f-MGPE1BY%?H)l(D)nM_@H_m8vkqwJRjx`^=@JL{#dtAh=bzBGsM9{
zhw=-?ru|z>@%`=8B7yj!T8tm6#h(2E{(r4nlfShTr1-fK@-Lmu|Hqj4ug>O!`o~az
z0BQ+L#lUevZ3%a10R<e0|1aYf!ni<d7wx}C4h;%uP(p(W8q^*Bdo&zpxX|PN2kYDd
zg3lF`{NC6U(BWVj0IJc@)1g7v!MH%bp9CEhT8Ux9Km^SX{`kF+n_%oe1(95^{Jeid
zCO_XF8vvphjEx3SNCSw$^7BKuWC{M1LyCfRv;(zqZ3zmK$CR<i=y$3{#TjHAYiShm
z&<w5pnK<#Q;jKbzLd&pFP!N@=WMw)kzs9yNyn?}oN5#j3$Cg$XPj1U7uk$f>Tyr@-
zns#suRzKZD`X16(Ao3nOme0N6yDu7Y>kGz_WT2<RLBTa|wA*Q`SQRw4DNRfsLJk8b
zZ!(JSqD(8%1iXKfW>u<lkWEOuPyd*8HMrQI>}JprqndjZ%8nh8P+LV+h7<Fl#C-h&
zLdfO*JtxqL=mOoRTeW=lo4wBAw>;Q5YFci!@`C+_f^e0h2F0}MS9M$~7_z0h_~z?&
zp9&CL6v}xIwMn`)erGOQ$uHJy|C0O#4$`qV{}z-{K_%A^JEj^(a*48Nz-A*=&$8+?
z3^Z)@zhiOEXc(~>8r80w**{{}%@g_LG@>=&&~nW}Y1?8cyXU0Oy8x2#8?<Zj)IkYQ
z+LaAgO|#+oi0?8o`UYT(gDr>E62nE4Ic26!fP*b9e9n?0-;bpf^MWQ%Pof_ioYL=Q
zL7yTnjg5v(xoy3T|EX}(xG@mhT@hsHArG6n&*1<87`ez3D)K8BT8FV|>vBG(7|FXZ
zaB5I!ql$#C%XdskdARz26`M}u@bkkbdD-92fuP)Zb~l=_Zx9d=u#_lyK6i=eLN|4M
zuL?|7JfnfQnM_g^kDBaCli0+ATiv@N>I4mMTv`2p|0-FdM1I61JgwfGBp+L#|F-hU
z7r9|NQEEj@=xX{2XOB4GOx$@EQUGo<LRN1sja-@jD3JTvyd~3#g_D!Hj>$KD2_7*6
zAh$y2ORbLj7+oreC*To|`Ze{au-Zw=1IH*g<Q@E0LHs&q*;mv@7Yvv>a1|`?2Xs&U
zXgdTk%o)2ZERokgb)%fyrI|@9Q>@pFkyOv%=I=)%Kfsf)t8>bEgnrNCB|0Cq{e@4M
zoBp;mz+365@{|k=ns5HtST>OMT^j5kKI{BebS=2#p=RntiTG0Go>&+TiRJA!PV$O#
ztdc-2tQbX+4a&{8Mu=Zj99Ws}i(@3kagL>Xkg|uWg^+5?H8+lb(p*@Mh3h9*FGFkZ
zYxka-PuQGA8b9A(meoAKo9aA0#t3AD;B8QrSygONY;h!~24n#^&T{a4cJPL{-G)CD
z)khRNZAqxwn@8DZR#RDfd&n4ffdpPFe}51<<^X6FV!j^z)yY?A83uO!{!OZ_KnK6P
z?z?j$2Kz`{$FSBg_I#gkc!&++_ue-f%XEZPSm;Ea=j&)=TFl-HUCC2#7giL3_~6P}
zyTR|oSQyj31)++=Rx6=V=eMDxp9T<mHM3aplRhz$Mcn<057Ov`Efc?-raYxW%?$bN
z|Lf4jdhFxyTmI`r@1QYoPSU9>?j}Rq`_`(XM#h|#{^Ihv@Zc|rzL$mMzdZf0zx8^c
zH}j9VFFA;<@*?sW!Y2*ra`;?-oiYloTmQN1D_@*v@#vC1pGUq4AUs`l*E73)^_eV{
z{h_G0X=RWba<Yl3L4}0TsgNke<rICdsR7CxE7s$IQ;{^BZa2jOqh)vem}@n~--KZ)
zRRT`_paMIj4d1ng7Uo|t_lpnB*NWZnEptzxZmiQx)}cCP^>OE(Y<3N?EPTZi>BMq1
zvg*0((Ho@}KH#RM%P)X*yNi76DQcB_tx-mCUR3GJ5$IQ5+fInf@%u9q&Ie}1YaIb8
zfm-d>&x&{;*$O!-FuJchijc9UW=nl#NA>+r|6tD#z3Y#N<X_Ie4E2*Wh6gq27{xNC
z*uAvZn%g0k-QG|sSvljt#GmyZ^p?}Tv{QWHArlI_@>&ux1^up;9K+dLaiPl<0j0+L
zWhCcKyy{jeh{TMgGymwoxvDw07G7Jt(omUCWb*9*y$NC@Ja{_~-M$~4xLN}B4cR;N
z(7SClyi4ke&trv~1c(7|@%A0qLdDx*LI&a!4D(y~lwKp|w9&NXleLA%+K}GlGqzom
zlRg0TU3&$L0{dsE`%zita0J5-<-1j0V|aO58(Y(Y>w#$Jb|oSCh*~>k<iZvD(Y}JS
zW~<9|@@<~ujNlvcD!iqnW(nCJL4l9&SMGj(M@mB7Zs5s1R2IBQw@I_Pw)?@7ZA`>_
zN3n~;Xhc#umgmkf|0!EODokVdvwhYC8W@)No8s<RrCsss-R9BjVLP&tmefr4(WCyh
znd^Pd9nA|MhlC%ne3Rv#U{14BKsdWr_$F~DYw96_Z4pe5@94LS-*#Y4eeJz_F)oj_
z{+){I;Pa*=O%lP8k-q=?)MXbW-Lc5?tO9CHzuht$JQrV(N0D=Hi9+L1U)#cs5A_Ms
zOjf4L^qHq+L+>%x&%=xr+g!Bf+{lL0lzdmVhV%XGPrqjw3V|%fgnOMItLQwp4MIg)
zt}noC2VGz-e}_aJ{xfg6CpmwfU!EE0ii1p_H+p5<gV~0B-6(}S>lVU%QSYvAnlE8b
z$O5Jj;lM@7U9Y9RkUic-t(T_Aneue@RGu8L*Nf0|9j90$hb!EOM!l)THf6dA19%{S
zcVP;+NNuS3vnEBE@c^-<tDxXAn1mHtxleiOyA)uJv<LsFUQx{HeFHC{NgZ1)@%j&{
z-meT2q7q1d!uv2;wby+x78gxd^X2(~0t6sRcmz(r$f>ddGX>=<2E1>*np&4ax<!4N
znEo*^9cj;Zu^_0aNAL(rw4ScR3NZUJ3Fk(>Dyl|rmpg^%YoE3wyLR$nTjrT#5jHvO
z!v?@vh<%!N?yA-gN^#iS-LAxAD%cdnViQUi%5yd{vUW9wY3ZSt@+up*j(z#jQ(t^v
zhbvHv*p1l3U^DWixB0j8>Rw;_>>dlH|L#;ViN~l7jIq7Z)iY=4lo0DQPgtQz+}4Ox
ziQ+;%j4oA358Ei6ri0hQ;7W^V!$U>lPwWQY;$MLy9~5ld2s>k#_2v<|lEx=!07B(2
z&3Q<?^t{Zc@vEY3@YbVsku!!80^MYi=w1E2j%p>tvLt~mZVv`-k$YJm1R}i5K#5vt
zj=lJGebJalT%D=3Pk36f<oxC{D<%RKyvA&ivlB-C0<Wl?x@7xci|V(!&t*8kaw#g3
z*bgaj2rDv2HcB=JVZ4Ltq0CIUj-!d`BCNHnrRpxk-S6~1Xrs?;4_XL<2;PSUkyWkr
z=jJtUw{5H%`@VZ0y1GU__haWb9AnJL)E~u4!v7y55Ng@+{+pWf|FPI$1-Ky7aSSZr
z)Jd1mROo}J!U$h}sMC)lYtZA_A8`ntBxQbw(d05Ni=;}WxVUL?pI3NE_XJZYhF&4y
zJ!wqzO8-OU@=c?n7$U?hyJ0v?__H<owz>lU*K58J@JkF0ysTB%QB*C$pKS3d14tYk
zj$e0w43FFTVQG$RvkS^wb`GsAR_|9ofk}1%%2>MkvF#a{!e6`5&%Lw62?YH&1dS*c
zos;arv6Jj!Z!hk8>6e%LaFEdKkqNOX*bMDIxFW#cy4KC)dEDFt%73bYDYuT1APOFe
zhgk-`-2DdRMl`PhLH`^HaU;%gJ8oB41V_FlxpB2C;8j_m)Cbe)j>QURJ6eqEi{=Ei
zTDSKXEaN)bs06y_#~#h~UWz|9+op-Uqfoh?d)uJUaCZ_rQLon^->_tw0v@;hB2F0i
zUZTq)0PS{t*->$+{im77$0{w$*N?feo@H-;{(|-Jt6BW(HVFJ<I6gbqJpU_=5CB46
zpEGbE>d7i;%cw&}ycmX{LYg0v;msiTPv^Eb11D5+V_z~r-Aw@qbv*+JV&KE@67u_!
z0R>Xz!$1qQAO@iykjF~~3}hZYDqcaT9|M8+WnletT^=qjDjsNyTL8L?Pk_q!xq_RD
zQ`=R?#op4@${Lzq{9~{D`*=X6Mi8Kx0<;RP*p@*A9Q?{&8*j0_zM|Senk~IK-OKV7
z60U}}be?)VjE36_X>A5#C#wPkCo**)kQzndjRZysq6HZi0*v)k1+g_2?F4^LQ72wE
z14(IAuJL!5)IgGp^>M?~y4zC6`5IB%)0U6jw;dm8i<QgMrD>Y3-Y97`Xfjr+UB|}7
zj2F>WfbnD$hFmMEilj+n1SX`(EQOMz8l3Dl7WWU`cQ?$Gc4jTg&hJ;4F3N1ukQ$mw
zpyFKr++OZWHYPV&B`0){(KjnN_|>u6wpBXETAKWo#KBd0WR)*f=mGo8HS<jxET`%0
z?lCbA8FC|oR?Q#|di`?MMD4mn#rRlNg+xPegKnLNn`c%@tX@{LLR)~RL;46ev&HZx
ziLbYTfud2@hzLD9FTF~>#8d29Zplde=o_7TnR2;u`!~Kx>AUC|NkYtu){f{tXT_kX
zw<M_9B_CERInWLEDh$4nL+TlFHE|bh%jjI=l?^@&n_s3APd8nDAh?%(JAtl;%^h3;
zuH4A!)lc-qWl;Uv=rw9mX@5Q%e3EB7*<`%^k?$&h(+v<C5NA<+J}2zJV69Y?r!1&G
zS~Wi>ITCIlgP_jJ?COBs7IjgstNt`+F%q34j-ZjL&BYr=qT;Wq#Eih35s;gs`cA8*
zN_-^SqbyTh7f(&4%tpPX`rRCn10H=P_(PR>y5OGNvX)~tdTgnz=4dtZ91lxoKsbq#
zzLur~4sUdh8hcTCI@+G%vc@{Yu0Wy2hSnsVMCvUaKxG~JPaN*t!@TyXU*$c^0LqM6
z9Q<`$zhZofa1T5l1T80n28AIB8TTWpR`kuJHfUo$S;kzm08(x?Grg@w7|%$5@N56j
z`?Rh5&#cj6t$Jonqb2LxrnJIxL899zwN{Ib{%i&Y`aPD!F8*`P_H^7HgF^|lm$K)j
zKJgDW+P6%N0kb3Hiq37bN9j6g^R!v78%Vb9F$C)H9ZBnYoA>tG@Vi>Z$H(*d423Vd
z^7sW-K0L{L*(@wg#rfqfa-OAPfJHPBanaj?c5}$9S8h+(#zr5nS~w$qhChmN>K@$C
z%RIP_cuit|8*1(eXxOX`6NwxV(!X8b$ynSaw`XrjUlqRzTpG2tv9@+V?I6I%r(oh3
zVHv|)!d+I`Zoo(#HP-a2x!rb0P5iXgN!}4AXb?90>n2UdHnN{Z$UIp3E0_ksK-nKQ
zCHdzE!l({imjpq^JYlIq6ig9ewZ3gPf!Z{qP^lSKx6EiMA>sZ;Uk`8f@<`!)eEFA~
z+O{(?^`>NS;EO!J(jxs^bxfOCgDH&|Eu>X5gwNOEzh-@i(7x60=iMUPA<7LYCL1Rf
ze%mHJVk^SAh>sKaY)m0o6$b9eX5^pW*)SoB)C~RgL9f(zG+kUbT6?w5cL&1VIVWBW
zk)Ku~k_V1eG*!XHTAwT~V{9wocrhLbm8)CDuUM?pJjQ&dHY+7~oghTI&sNwz1a6K4
zD>xT{IAU*HyGeeh!KMd`aG}d~E|gf8zs|&;W^5RCZJodI$zQ=+F9NeQl(ji7kojsh
zdJmB3O;decP{Mpeujzi7#ev9wxMueXksr`Gov)1awrGnjT#m$VQ^pV{nSFd4iOq!~
z-b_0h?}Gw7D>{G(Nu_lsU@z2-MA^|{5{A{bkBDiO<6TWh@)7%Rvmm+<sp=-|IsErA
zHd;&$F2>FEf~R1!`+IN(fA42?m7dqNdind^fV!LFVbby?sSY694~~U5GTB@Wi$~LN
zw|t4)CcUH&fIAFBK5HwoRj;e1z6Jp0`h|B*uZUo%;ax@)P4n=}_a;Vl8Ab=Mzr%Oe
zSul%D&re#L8^dQYpo!CGSosY@9=~*Qps}(5v>2pkHM|K^Pg%hafrbUw_pgdiA~xOV
ze&ovfU*0#@s^}QvPB16w%w+V1$|&KT^qgEK8)KX<D3NeThU97+y|57uqJ9)9B9Css
zTuN!u)F)B}uT`zRs`FDP_|69Zby)q!NgM-az6oc2TY9Sw>b+y4b>51;+k%kw#zMHW
z2fFW;2+hQ5=VA!B-PA9>Jzh=HPS{;1%NS7Xja89hbOiq$p}G@h#Lw+4D3MPffFh>|
zZQ`^IZg0NAb#jhXi}j#$s%ktW_E2f1&j<2?Gh6L8Bw+LP>ZvD18~TU)y@3geflE)c
z6l}dbc{3H);R)eX`}vJQZ%HJW;o!Oe0+{AqDI!@UY^p6V!)NcOkPkKIQQK2bNuD=o
zMtwa5ImcrwJ@?!RVHhLMSh(EuktLA-kF2*0ilc4Yt%JL}`{3>#+}#NTcXxsf?rwv-
z1Shxzcemi~5ZoO;?tAa|d7s+fuc_*uu4}4ms%FmB$2u-`J$me`4MaX%bf=OuX=V$<
zko@q@p4y3{V%i!1I99S{Ndx8i5vwhL(_t&0y+U$#%Hdi`5HvcT;#{gypHTX9GShJ#
z_@EvbMjFD!<L|HEmrR!iUP4oW*1J$Vv~$_jf^$`#mHOdH(?VP8Ba|78%X}Rk2fySi
z4(;@yDkl%RXg9KfUx&-{g~vDEuiPa@n}W;&-xcsY-1eEgx+MoS7|P@=Rq6tYCVboy
z<#39XWfX(2)1|k4^e!FAhgaPO_ANq^>G-Jl+-+)&M`tSxQIgsn-YOY^tEswx<oHNf
z6#84LhB}&W)J%fRPg<Fn_WFDETtywZm6uAwGql|<xQs8?0x|Hl=HV8EoD_Rxoyoil
zVXw-*&lNjKvP}WWf6Kj`!CPcx8%I6Eo$BpI@D4VKP{3)tU$%)nJ<e-rV0%iKSM+C)
z&wTaHPJOyy_-ikI-{~0w`DN&ub4b9O^J3bOeETCSF1!pHyXSo$9a&NesQT7B)%6X$
z^_|KX+*1u%tS~0bm;+ZzX_gmk&ooWq&@K&?2(+jH@ut-r+H4!FHhltE#J~0*AZJ{Q
zd-U!#qc)Rr4*o`!rmU3+z_jHUt-?Im&xod>`JziG5NI(?{&Cm`UL{wO(>6r2TpvLV
zZ!u(f*a*~ao|NOuK`Gu8BUH^<u;}rY!)RWzYi@?ZfiL+wUxfkbm^6k$LGYgH2SkOj
zcgnSn4-QvnmO-an)lxnRqPN;r_urX)nmLQC%X;U8XFWQ)=Yfw~U43V*>Ka<B#g<G_
z>4Lb`#iz6By1QY(>n@?Ru^brpNzJ;8BsfP|m?u8C^e?KcS<_gZq^2l*e|l+$XN-{d
z#PIr_5mggRYg**tVYV?*>Pf@CkCMiz@Zc9%DnXm?3>}3OyK;*~Qo#UBkbPs~m-bI{
zsTh@tYrLM+W6Z^@e;sI#EDj9C+S4gwFMZLg4u}a#MHnass<OuCUG!~nh(Ys3;5Fbt
zj7igDv0lw_i7(kN5t$<u#${cUgAYb83I2S_T%Yi+yYFJIl;Us8unOTm5|n61Axb9b
zpjqbWrJ6r9^60=4aELm>-J3!3vhd3{&{g(V#ur<(wn1s6v*!+O<7HA|#zs$j5IfQh
z^}hZ|;oKVy)DTM24E0$@B^Mu>^J}Z#<A>k6Scj;8r^3m)fjl3m3Pezd+fzzi6KAK2
zvVl`9JM7V*2UDBHfO_74ElawvNP&~!yv-l}*<l1f#QFJ)t`kcZhg4=~Oc$N7p9E03
zXTy<;Yoh<4JIYVQFF(%d$#DOMwcoDj?~eB{zBGsj4B{oKJg)xOOFkjf$u1}CC;S^`
zh@%$$SY(ge`*y@iaSk1F{4qJuwr2izIo`wP?-4T>liXth=t>`?3x%4~%l7oBmE96j
zp=ccx{Y6H93fmeuM)lL*IcqtPJ@}QBn8DB$@nD<U63_o2u+S4^<Ysz+J>NI+EP~P4
z-;Y)ZjL?CwCsMvefJpLlfPtyaUXhUZG0l6DalFxjW~i3R!_%FJ<GOag`8aAO<6<N+
zp7VdqvjqEVnq`hkm>o^O>6?zsY!gmxYwfn{k%oeRBRH@fEH6xIs%uU;hry=*<1U>(
zvQtvYwVSp=uN2M}A8#F70bSajy3Rjq3iSd7xDA1Q=7j)DMe4b?5P88N7kgw^^sG~)
z{)U^3KRY8T&)o!WBQ2)J8uPuUTU)iU8IJ{Lw|g8_YLm>{#`)X8{rQ@F1;%r>UPx!S
zHudTdGGbrZvynJhzTgicvG2aPY4YOW>B7OT1H#=KmoRTA##`%MrYfM8w7iEX6>Q!@
zU^GV_G&fif#YngI*TF%{CD?BX&~mP5;0is@@0ij3u!kcwQj^EDKgq6p)V82Lqe_ii
zg)de3$O{r$d*)mgx{dCX&E4K->1S&W)jQBv{6fkYDIw)k<H}9l>+V-q)3M?K-Wr5S
z`7+TdFd7vkG#Bj6))-np!Xzo83JYZIfqvwbMuQ%~ff(`~^UrhH`&GLs^>{VoeZ`yD
zelDh6wG~H~Qc{>}YFaE^erNkJEi3a<Q0KYT`nfq{{2hzYo&#%$oizZ*YM0@aWhStd
zja5!YU+@aL1!+V6;}X6%b)oQ{M#~?zL_A$ZNL>vhOK~!0tx4`D6y#(WvrosUK-B)z
z-Y@vv>|4}K$V|PCVz?d1)-!M5Ey9Vvx=gvdWr&gy17#ZJ@;6~ih~Ob7ZP(y9(8dt#
z^=X-?)lRuWhdU7qL}Gd6pWAAQDlmVhy|Ignu}ypQ6xEx{C2R8N%PdyG^PCnK)+F?~
z{^={rXRB#5RR=BN-G-dp)>BkX0Gan$jNd(Yv?6YzLpH&7aS64i`pPy<S(?cH%uL!4
z$wFdR))U+<q$lDKIX0`&S<6&C;uhd>z}-_yB}2Idsnbf<uuu+9KbJtrgS`L+z-*{q
zdgA*x=sT%H@KpwbP+aH6a9#T`j$o;yDbJ!7Sw;<IfkXb(YawQypw8Y};8if$%cNMI
z=Cv68DLGR%?Cc|Im+%m#R`O|u+HFIX1g)%(U?~&AONl09fB&q=%6$<rRCLD!Ml0GS
z!UZV?e!Z_t;FokqZAp73-K%^}=T;NteiCZisNJ<0LhhYG0>}*~Ll=y3nKJ9O5e@UK
z+J#%ILW*(~A{O6k(~qGdp#1zqoFDd5+_oCy+M;X*UtS_5-KJ$&Ix8r=o7F?_yS|;E
zZ@%nOM3hGT%tTjwbl4wz!<-&4-f{hR_>@uGK50L{uQtMI4X*cZx@VDd!f3xKL<>^s
zmLAFMI_$#b!kyE^pt&DR!}ZJ@V;h>OgJ_Eg-HovDOifWWljOdV0%N_2$gBW_tqQ=f
zW~t0p%Aa=5YwkD`x%n}5JKt8|DnVZ$WSphXq1&d?(z=>NT*Gczm$9=IAM)L}XVVyl
zil~Np@*C^Ov;CmCJmBb7_iF8!(pH0F674?Z#H<H6C6RcG*l3t^vXqdAt(<=!jrP~h
z*~9OBlyKN{svkj{0U@<E?uDw9lDGN#us5uftx&<N|KKZO>d!k#Ryk!cTt^V86FhDh
zXf<@j_#=n<Mk#kiDLNA(s?KD14s?>znAc8j$%ct^**3=x;zR!x*8-p7;sM8?(lScK
z9E_TLZR>|@Y~#o;X}aB8{@bs%4Nf2uT<-+?o0N$w(YEao0AzZ=nWUV#v#^QNSM{ku
z$cXFH^fF{3MhzU;u6u>XuVINt=C@ymuz9K>{`e|6a<I~&DQ(D;EVs?=%NVBvtZh4s
zzssPKdISeq-ChMXmkfQl*(81dn@gtfIOOE7!qte?=Y$t?Dj-v`1n+@lVA2}`xRt#p
z)0Xk*k%Q(5z<iyw3~yd}iuWJswfxe|-GvBx;Y;?Eo_+G6{6`Jm_ZB0vzbW2jm~kE3
zNu3cvu&E^9-;aKycXGeVe0&w3)hKKhF56#LPr8+w392!>|4Mu|Q5zO6dCqS!|0jJK
z+Msd3!`b%|_W8%TyOP^{>xnaqlVv*F@{HELJKw8fB{1>CB^vHBolL5H5o@sfNQzrz
z1*bC8Q*vZ|kTh*_)2gi1t)12<z(aJeSK4exXysU4@7TlH*sXyqAosxcy(dm1#&=(I
z*}YA;4&ayLld4r4lsGZA(2Kwb86RpNW<48zw`07q&b$(~HnchMf~*}+M<-X$E*C;!
zapYi92!w~g;u%5P>}7CukRV8dF6r=P0kb`HQv$GS4|J9JL1MTBkEK*KYGH9_hz%!~
ziek&-Xdi;dY&3j#7EP8JXoiEsGwpGV=n)Lnn#jyoc929rrS$rmGmonMra;;C@DYpK
zVz>d^g76j{M)@p4V*yQzaoA6$A$P38+x8P%0y#>sh(%HQh$lL5jpSSB!JJ4ybi@?P
zH|8zyw<Pg9_#Mf$G^X)oYYNU-u_d~`S{+5r67WB~7~`0L^3XVp8GqZmZyi2@q@oh2
zq7ednT=NhV76TFbN<^I@qHRePz-KFVc!=}BMqU>_*R17jRoFR`lxc0zrW?fP3`hL}
z^uP=Hb4fu&IhnA}J@c4>MtdcdF(J_;qDo#3N+lhOIw3$j!Q)DV^wEcr5Q`)(GU40e
zJN<)3Odq&A4l2?CnlGI}8LRZnfV0s4WH4lD``TpJwbV*d^rCdZ-Pixt_jh77Gz#X2
z*;SS>W9YsvVoh_cWj*ed!zy>m!zU91{i#Gj#s60k{l6(E4j#7uWvM*>rdR)gbN|P$
zL<FUiQzJu|F@Zqk<kUn!UfqewNhaF!@3984b1kjwac<{|KV15F?rb_I9Be@Ayat11
zE8dH7>-X=bAM1_!<@z#0>ki*KiA#;DGX~H6QbEmj9qnOLZ$6W`bcbu_FDr*`Sxo2K
z4`UJebE|c)BZ~rd)z!!_i--BczIGsoGtTyGDq-T6YrnPgII1%s$?l@>$mHrxPHJ20
zRCDp!^@<`$kJHW9ae{@gT;T4bLoR{#FyGs5u^dkIr<;Ci`BleuU2==X8cyX@=$I<Y
z6TIJ2QoWS@#2Wrp>J@fc23SS{9~xf-9~|F5uPPB(gkI8@@#IdB=2gMEzbLvOO3Z`J
z;rAf>VFqEg<bhc|MxVzMUM+pRV!2?P1D}47f55$|4rL<0$R3T&#f6dNll&q+7VZTW
zDF(+nY8uxY+kdss%l#re>No$qFJEwmzzeS^dmE2Rt+~~`5p*}{DXz!k(lZ{y2cG>^
zk%eeMwPJvm<{<C3<{;NeMDIv#ON|GkM}8;WZ7L1L1=ukWPv~$M;D`PSIT$p+n;ZNj
zP?%aH_zK$rS8EZs;YBIDBA~;aXTRkKbqe}CaPU>wxWh3H(wlM*mM5pN(w<b<zh;mA
zaa1=_cl4%^M_81hTh;;IL3Rp$DuB<d2j=D7Y-etO=*EfK)!{_98lpY?l(-v-Me%93
zTK517R_Fc&A$yTZ<X;wy^63}<CoISLSzqzh0hbUI9|wR0`L6@;pk<UL<g~;<BIy83
z5MvtPGl<5+26Bk|<iY=aW;zbQ`gw*6ln0<@0dd3wNIxO4Ry;rg@*mO+Dvk%(f-n*Q
zU9@aG|37QwU+wt+%}Vq96Pu+6P2K_snne-;B#;DbpAz$bJ}4^-2g`rpFwg&q=jOWL
z{+o7gO9h~Ufx<8dk-<5+K(&~Jn4pL&02K%$4KR<z_8-alKbP~e{R6$RK($o>WDsdO
zpb&zMmlZUa4rnK1<NY@k_%EUUZ$QoSKY$u^iA#uy@V~AK?>|u#a?tcDEF7rX1Aqbg
z$N&&>tDt2lfSKU8L7}@B5u_}IkBA4!$zwt=<)KCtFn|Zb*U_NCu>Q2AtM0K9fpNl9
za<jjgXpfl$sbm81f%|ybln<aGs;PKd3N_<Bnc(g;QdqEe{!8P)X0%I_m`Bz@G5%>`
zTj@>VoJ5nWZ#4;_GqbZSnz6kUtT-sCzM8?xq%0%!nVe%r2U$Az=Q9a21clu6SgIjD
zg?jjCxwW*kd~DW*uJ;Tt%j}n1w)9Bhs<K)G4zaNj337tFK((D(Q&*oXb>h-^Xd07b
zf}Pz0iaphj^lEmy;%&KIwPLVL^yFEyU)$gN*zB*1iXM+l%f9)jiuxq_Q21dn)u)sf
za!bmXjhdPz!hd^+j$5U<OBkXn-bFk|Mo|r#n+5X55NQ*2st^<5(B8T0?|0Ga;L*#;
z%Q#2HNo$vc1D&prv|Be!S`Q-|@9PT>Aj^IJ$gOt}a>>gQ;mD)b!*Y|yYs-3KRKPJ4
zwjB5K7z4Jy2BU%nQ*VonlbMR6ZY#-?`oMYg#-)jRqE^7N8Y%IhvxiglQySy5rq@#G
z!O{nkrD7CDw2HGBNmY^!Vqip+LCP^ui1+J?O7mbS0wtHa?RPr6HEK1c9XKXwM0rFl
zX<ab^uqQFXoXG4#N^GX^ItnqR3u;4UehD4YRDW5WI7Zl>CjRvQ8FLM?3bjf-rkZnC
zW688UFiACZpOLqyW)ZgBuoTg0(ZSTYjjP4q7TU3S#^CeckmU|U^U{ZbXwKgwH_)(v
zq98C>2kPm6o0*>O){{RR`=Bwuo8$tXZe^E!C78`_d@@08T#8R6Pb;c1#tO&?u6k+S
zKV5IPd3ach3#)(Fi?FFT#u6#BZg$|MR$1wZ&P9H25SCJ9Y;(%1JuSJLFOrmkV^7Wr
zAg=q{z|lx&A!lztng4sOfsj)wDCPip(@|=g2RQr<8Q$pY;ZOn9FrjbsA4`NZ3OQ}?
zYD4HkGOXEnylBztHBl3m_On1y<+Kw~)4*t)jR0lXvr{lMsoXyeQa>M&&QME)ikoJw
zx7)!=aEWiIP9x)6;-!)4B%()|vI$im!qax%6!xAIZz2?oaeZ-uSy0w+kVsw55q!}J
z0Kku8wt%1ui4^M5(ae4#&K^tr4Ai~$@IsZ^lBniZD%?Nt+vgPb72@-Y1Oq2rIDcFm
zA;b$Hnx#45g$io1OzjV=C7Q+6PJ+BE#*hzi<c=mXxU@GBcln|Afnm&zq8liZb(b-)
z(XZ7MgNsT@r;NPk62w+Nc^x&^zT<xe?tm@f(|fH#;aOK&7tM^I8v?mju^tQcyUo4E
zXc?Yb-oxLVkvfyrvAn)#?g}Fa)kraU;Kmf_-~$|d*`+%-^DI!3I*kxf(G7?_h`rkS
z#1-=L;nB~$`KPB-)RA)NN;EtN%TNt*jdO=Kw9h;n*gw9p6Lx7c&LK@Xz6!iiKmaLt
zOT1o)oC8E6j}IoqK~ZCJKr92gl@|Xwga!dduj5St1yQMjqgBIA-!8nSM(9NyEP>0j
zZ%?qj&)~VNHFHmPuMqAUK9=y$o^fz&PTJAoW+5jTU3+O-a>+7(k1S8}Mr(yeAj%sB
ztn8G<2@7}*&d^O0l|55jN{Wy~aDnKGD4E{{UE4!p;pRZ+;!q_-6T%s89Mn-S&)OTY
zKCIeq?wwY#Wx5)}`c>=M`U6JwG|Z`I3{lz*+P^j?6jWU5t11t$JICno&*p#pgd+Wm
z(+iyqV^aZ?UoMs$k4(n&OeAHnxABKtxZM`OYH<&Gw=Y?-CfN+mj(a_#3IU?K5>wXY
zDeuI?JY|(bXrb59CeKW;P5FO$<1eDNlJ4F1c_wuDT|zLF{1;$C5ndcG-i4vC=aFd1
zLDjdKt2(p|Khp5V^Z3?IY*V{PLg`JLHfnK}_~tKvPqCBa^G9@NRR%bf_KZ^t{0cjS
z6m4{>FPyTW2eGhCm?num;04s-_m*g3fD=%`V}QG-c&k}^GX9F_4)lh_W-%Y+HFXUY
zOErTFQCO&ok+9QZvQJ!;`I|A!*EJu~Wb6e6uiT>v;S34$h)Wh{QCYS9JGW5jX=<bl
z)AQ(NL{0tl_mbmr3530g;cULmgIv#2a8A|nR%rtQlMu`Yj_7cAtq2ethlG0ZFKV7~
zs}`JaMNrjZb=+NY2q9yloapOF_zj~|$Bsu(qhXQ0N=R_X+M3B#>tQ9moRVHunRHYK
zDetOyY84XC0bL1ahNAW(K}!Qd^(ztE2Vk#R1Pvip4tko$bT?W)fj#5H6I|Z@qcN{Q
z5q(D5uT}9%qt^4+DL8N%kMLHt9r>Kkr{7DHIEsyy<!#$%Lg6Y1ei<?=gy|LTiY%05
zt`K8uu04#-O!mB-uVLxiDIPu^<^U__YP&FMo<-UhiDIq(eG4JfFU-kV&o|(V`0@HK
z$<v&;!t-afrDB(LBy2DtxI$l5hheG{AgFCJziUI-Y(}O^PhSJc;{1O4Ny)70EZs;$
znkppkj{6TE6Z%3M$R)s=p1uBY_nD=Ks2%D)<k^7RL@9h;0WriO^6xWBo{AD8NbUI`
zz!|#At(VC?HX%4R&6OmzsiVoxIvC>Ae9$`*76$&}tnxUK#n>yQqCtoX7MB=&iaajN
zScUI<`zE*`+K>t?JD6Vz&fW-wf4+7pmS>O?a?0F|IlFDJ6fMkcsy{H5YYmopGa~*0
zDoCJ@HQQ2)dA1PaNH;&iRqRAV*x@|@MSJx93WAQbA{Nke&)4wbusLiF<2fkpQ<5q9
zagq9GJ#*mp`-EWUq%ubEw1xiz!z~(qM5m|~3%JF?)08f7Y%<l!NNeP?obYPHxU8P+
zgFa`?$K{u^+#lZR>hwx@*bxuZxe(l#Bz{O9Rj4%DLnO<rgK+7+-~(Y%Nco_$xBy7%
zv<pbcjKNlX;no)L7>UGbESH1erf%){KMk*wGYG8PLTA0!!OHg2tQ%l>g;16=7fFVC
zF2455P>O!Q6#3}zC+m(S-bZ+8L)-N`7>&|qK&qpLf~mytidaSe?FdTq;)s&{;%fz4
z*%q8;i!L@!IELfZV)HPRSQ%#Fta(DM6sF&S=wB?>r8RI2$1k8SsHC(wRZ50peQ{b_
zv#wv&bv&zI>mKb}o42P=H2IudOAnB3FG3v<dxBPhzM`HM;hTh%5~(yuX8x$@L5CO3
zH*z&Dm$+pTI#JSj34yXIm1Ek}k`%waNFf(cT#@xEmMU9@_3g=Re9WlLBaYcWRJ1lt
zYSMB`#tdhe3ub>#!E3$YoL4X6%;)yNu68A#&Xm!X;8G#A{vKNI5*ad@_Vp(mopC+R
zLL4Ol+N7&$7aA$OzKUrwf!0L*+8KQhHJzL#-N{M`D2!JS_q~h4Y4x3%UPFT=?eHs|
zF&qPRw}K5P9W1bZvC0mNq}A_JD`hiA31ame$HaV0;p_X;w$@;bhS9d7n4CqEv7+2K
zY+}IMintP)_w`3~k>S|G;2US>zoOlhyY)c=P1_jU$))I7CO7Y4N$U)TchP(Q&gmP*
zyxR$XV87C?FyDZE=*DOukS!@|gbH|)rQG?8Q(-d2?ViIU-(-e_&G4jd`e=2f7igsG
z$8SK<>W4D=REp%%Zm^dlWQVv)pY(1i1?b7woC>7me}9v45|;2bF<|ltH1~WMi+kP%
zvK6@&U`}@{scYhtaTgrTeM|{$tZlK0<P-h@gYq&#m#1~j;HEfs*pLf)ZjG<$7geK)
zeiUl>@;vN>NqLNucy#H)LtZc=O&H3?&<f=trqAcS5F(0Z>DtOY{+If$%Sxg_$(*}O
zO@G}CDlQl0fuyYMsWQo<L5tLbGx@hVP~Ypc?$OJw1qS`G>g(|lzdh|#L|vQApRWOg
zdk<bl$#<C{9y8J-VS|v#);*3E<b?L}sW3pa%Dt_?VS57JqS@<%g25g5tRR~Y3K%8O
zG@G9A{YGFgGQH<d{p)uI+D8Wa3iKe;wSg~nb#1TG9gmVJ#{0eg;rn_VDd&m{K-Ka3
zoHoyPD4W1+aN#k*t{enyv1h$DJP##Ay^9M&z9Wr`TZ$n>cVesGx5Lk6LxLQ-q90-|
zO4P~-Irm~%$c6;STdo~hiJ?#m>G+x-ioIiYcPiu@_dTw)FzwV+MwP+e6Mk%3@Eq=B
zj8P)utXqACvj+dZ#Ror7P^)dl0LPeMY4Ov>7jM*G-?&>!J(m#_I^=PID645P>>Msj
zv<P@-8{{HX0+N~g@lwnUD)NZY8}FCQT9l5uz+6b^6UTAeZAKD9q}H|{E%Z7eXA}7)
zCln=@XnT;>zlD0Sl}>4JtypB$<i81DRLs95vP2e~uxNWUirJQ8l}vIo0|mabIXuw{
z^sv3goZ7g>RrVM=L+Db9D2fr27N#}x023Nn;N)?VC#MdkhiYM>I;}M)^xJe>!wFD+
zX_punjIZ=E>0yzq#in!pDDz^I`p8)x!69HlI%F00!0qM(tH=s_A$M#Cv)E$LT?$`o
z{XM{d3-&}+jb<%gDF)db4rCq_(lyp~T@QeVINc^Zm@kQYb|Y^337#DU4*~J{gjdCt
z4Lfs@$-lir^qqg$kf_^6sFCPLg0y6hv)^C=d4nR!SEiwZgS+0})VOyMxDiIphSp(Q
zNTJ(s+3emse+*_P9lO>@<Aw_#YOv(qG$*&$%v&Cg`x<<3(~yAJ(LnoBrhRM<8B53c
zh8w#sox58oVW^AJmT$KG5gEslpED}2XKK}pMkv8`Ye0Y>@<RA5QwZxDw-UEO>hH9f
z760hXoN7V0j;(j<SSYIv+PWB{Tv885GX4tP6OwPjP93q3=q28ZZ1>J1IPW6cqZ+bI
z4Sb(v0Bt2d8)SL~qJR>M+OT5pdu>yq=vv{2PuVArjX%rp2&LLlfQ+!6hr1!l2m=h`
zA=!JL@Ng=mY=K|Vso@<(+h=55BYnhrhT@~UXcNQGB2J$M;wc`fw^J1beBPCpMwrc4
ze-aLpl`5k~JHI~!gzoaNn)|ate-AikfzBao=TVj}0>;=rE-LL&!utl6iV9@Q1YmLx
z8pig(6h0vv-V#C6%o>>8JS`8^i=^oXwx6ZhqJ6jY`>+foQQ#kMIPejqA8~mu4Y4W-
z`4JWpvS8f*@r7DSGyh-cz|8v(1^B=0ik*j>{eOq?|Dh58Ei&`|(|-9+J#}+<IiMJf
z=@mL7#**(;BM|ZLqWI|W==yUf!c~S#E3_Aw+q>CyX?oYiQCp>I@svT*<hl62D}wWK
zfgCG8r~D$KPag2UctcKFQdV6IwA~261|8J{8b4=$c2Hy$KpOhL&zx8NgEv0wkN&|M
z&8pP^Rxo%r-hZu{e{A#%0zz!~|Ea6^EJ6CrsL}m{F7TVLY5=m}pI7pNgz7$5$iOE=
z0wEF;!hy)DAm~6V4}eRQ&+4Q9+zPf&o%uTv;eYWL(0Dyy29xcxWa-n{`7f7-{j<gB
z86XV0Yyd?4(~soa2q?k&xARE#|DhG21R_EV@Xz=EqqKwYSBNM<YcBw}Pt%7N6yF3O
z0v;Fff3qmW5QROagp}5v6>q9VK!l8!h`=3yWf}&E#YZr}i9^f7vZ3RN$3(M)<9@{m
z&I4x)N5%Qvd4v$^n`@RovTLNr`5AJagU?0W!_Z6TLtFcKha0F|t*btFH5gq~T~*Pa
za-62!d-Bjg*nyhzm_T%?2ro`J)$x}m7Z7a+&)@fAocAF`!MuJFE%6ywsPU~624_6W
zaQV&OJ$mYvw&UR(oyuf-6ZSaE|IjOW2d+5buFsG4o<Aj3kV}}WLk;Xcx4ZMBXPNyR
z;0SdnOF!_AV&*ZGOOb=43U^$vp38EW;C;B)<^6T=-A8l}w^y3B22FOLO1esZ2e?TI
z?zR<!?sl3V*%A#$S-;;P9Hp)FqV&?S-6Wn#J(H?U7vEioit!k^IDC)`^bwcsvw)=v
zgGDo@gn^^h_hkyggH<jYT`=|1ES4u1>qAU*itk%Fm_pu)PxpPb^UGvso|3a0X*#DJ
zkx_*t-dlQ}$vTxLGrxd9VXm^Z1&(_i&uD!&_g)FB6Kwoc-im!&_bfO0d<TEnb(-<y
zk_(01m_6y4tNiLFHZFuo5iB?6AU#W*w|Cc8da#1KwHlcm>*Ia1^VNM_=JK8G4;Rm*
zsN;^2R+JrSq&fhsEXlWpC}s0K^gm%B{Z1)~nz{;_Kf6;}tG8ce<?6_|2a5g9c=R;N
zstwncVHmj@i0ntxH*;5~RXE`Df<+!&J{{~)%*sHDoYO34p7+}B4dLp#tK+JX`eqW`
zB-uVO>S&Fx*G9oc-42u8?BUSdmS|!Cba6E&dNcYlpjM$NsPW6k?FCJyikLs3tB?8W
z;wb^{c2vq@vMJ~NR37zV0Z3o~k3O3$d+_XI1Tg2~+g*<g7%874x?qZSX;&}g{~k`7
za_hhKGn!|sybewy2k=e*kY^s3gd$0WHL+DXl~4wP|J$nWE7%8ArXaIY(0IAZWQ|_a
z_f}hvgKeFQ+Ft{8^RGm8iVMvcNtWW=_<CXjZga3<!DF%$ZoBy2dqDRo({)Sx2jXEh
z9-(r-(;W$q4p!HF>yI##2LZ>;%w23DHwnC!r#OpP#TCHb+4;iR<gdO^KxQE~<3^J(
zZ!0ag$6)_8gL$k$^WGCtM2n^*^UeW%vZcaz6CWd6gk>h%1aW+7R4ARZsfE_lhgm}X
zw8Z0qFMh%5eu;-y7(kKV<{LDaUXfKip<@=NrXgR~gIh(WiwQw%3xRQSrrOh(Eo%%-
z@1=-Oo#7~Gr{TX6iW0~=|Ij4y1LnWnk6ucPrSR8{f@@@Ftfh)&qqxh&kSAKznl@7-
zAEQIE^M3;cU@Jghu6pS}XyNp(dXk(QHXELdjfd0J>zsvWvIDtc0E`B0J_>h{RAU6p
zKtZ3?CGWo%p5_vZNM?*6rbYqnq~+mjMW5HJ2#nmE?OYg7QZ93)=IU?mbWx=n5;tY?
zSQ)~8v$}R?(Wj!>c>a9Wq(()V%(Ba3@{E7$_wxGhVOiFsshoK5N=D85uLFgrrPS1c
z_aR?Y&x<26CV_c5l(Sjkrm{yv4Gfp4jJt<cJ|=}Mg7G@~NFk@lrf5jl5$0rr3xcKy
zg-+r@S_BFfF@x9{#q7ZezCHrl2_-DX6dgWJ<oVVqq7VL!1FsB(>d4D6@a!y6r0Eg*
zhfZ=)f;5?YMj`{~ZdmTp#~e6d;zV-h1FxtZ*DDCGv%n&mm>A^8@@KF4e6>t$Ic7aX
zW0e4}B*L9zu}-FP`2q}irYQOQmOVOeV>3|~Lg)GKhwz0=WTTa`C17xYm@_ELe;sC)
ztmk56$3mLEehWwbmZPtQZji;jk-4RC3z$#x(w+J{@3osc>}AnWAyh83A`r5%=RLKS
z)3m1-vks*F3Fxq@u9kDIwujEPAI*3c`Zx?hvG+_lUtfJ`yw=+2dcVj$QadRjP7`ne
zI_+<F(!wzuZu34&@-{NtdA`irQO#{^)O{GPsUdi|I>;*!u>-vIl@G?^FY2ADWcH>y
z)j{jVsHW&R6eDOQ<&c(<ytrm55fcT`@scZ&+Ca&{Hc4?5`KBhMRV#dM+fuu=y`2uq
z=fQyQ7!bbTG}A4j6aEja(+g7dC9n`HU^Nc4T9=XEN9et=YI-WXVxSVBCc(8t)J0rH
z<V9>n^a9!mM?;){>Cu74Qk=zFb?qx-E8R8Q%L~g3D@@8wDt61)M_l3OwMZl!To9WD
zf`Rse6w3=mFJVl%Z>r~cGaUw_1iHx&J5dqr@S&RspfE&%k*UTh6S*#L*BPxdxusc>
z150nC=UXADAp2+9{+&g?zgxfuHJtZ~+{nkxM_Qw2xwgz%TbNND)=8WIA(K4j5OHt~
zdZdctVL=`TTwnfjy5F>wOvu`m^Qg251wid~x9|f&@OSLYjy_m}X*;P^vt(vUDsomz
zK{Og(xPEi0BjvrkBiMle=1c=dA!YZE{E=5aVKEH9$D>k7qqE4!GfghH#M?pdj_VC+
zrP3c9Ss6d$KHe@<K_2#^da|e>HY2`-;f_uYNBDy7tmKFlWK`S;K2{DI)33;pi9p!s
zNKrIA8j5^H1wtm%FrT2uY+DUcg;#sy*=lvk5zJg2fMw)YG{}S>xS67*!H2jU{NHBf
zVP-`pUK1{+L!*Pv7EjRXQ^J=~^|`YtmvNXhmSs|8<|KmF*}j~jz3K6NC4&hWEECIh
zZZ9ng^{Fry*0GwOQ_`yPdp@4W0Rr2+j(6rO9M8w4sw}3O{9Mg3KH@)uat})_q2~#;
zxF_t5PN^9Be%P5}PSOzsEafe%nexz7B#L7;2s5_D_2?*d)kJhI9{xh7Z(Ko_23M&4
z0k^_kv3Nis<P|n=L7*TxH?uIq^@54-n%HbQM9Xl}QET}^eET#p1}(4wfemy$xgL2r
zD-AxjIAoOh>q=iDJ8x2c-f1}_t1wC&p_yPYF)NZ1GS*KjYlOYaT$qKhoS`$`WWyFU
z6N4$$s7<ZI9-l#tt*SJMD+0QviqVa~xwc6xJfD0qSBGKSHoY4j)C#&;*!^9O8OOyt
zfMZXZcg{)_Do8GkyNVk|Fbx!bgt&k)p=*Fyk?#sGUP>In5bk{JJ$Y60id_)6dQm7v
z=>_I2ECl()pq0GKKKxbpnl3tCS59Wve*hOrt`}>=iR}~^{ytF#GqImPsN<5O*XZG}
zFoxm)jOZ+)%`Ne=?YU!QUe|XPYKh%$iG@$LqWH1QE$%8?N68}+-w4d6QI_l(!R6$;
zQk=I^E^A^huOlbOiX_J=ulouGwVxdltDQiO#F76ErD4gn?81d?^~qrWz3V8T(%Nf_
zOIapI<^n`gieM^JA{~XFe}J$)FVpL(A=1H8YYH(yQXa;VGF1{&^*iCht~kc${)Ho^
z1b%L{%gUk1;Rc*5xE1)w@EqN#sVh1qg7+;{Xt62m4|{;MP_snbMn?whG`hLvM+D<)
z`7sU&ML)s~Dvn^RTRNh$8LPSkht6MPWC@~Zmvl;6FP2}cFHnpsG@-3{L$k<cVowEK
zh?>*wC<fnEemR>-3^-$Ft9V=_L~Rl>mYp<tFv~6OEG*PptY`savZcLM31W(#Fa|Y0
z4$CL$Uty^ev;fvONE~d2<swjP_!=A%&<$dV7`zk(Mxq;*TqD8Fd=X{JSa>v~2|<zr
zrs_zMl<<~0(QG3=!o!q^FLq>HZ%TT6fkXKKVi6`CS0)WSq(Ii3{y83Oq+g=RxHjP`
zg)vtpn2Dlu+L6FCK=H_ktd<(_3E6?n59ip~Ar56)HbgdL&KRvoB#dYb1@`4P7PS@w
zpKiyRE2k#qtQr9$&;B$cl|pTS{@uJQ>)#oZvjcvWxl2++1&Zn<h7VE2f61F5v0>$c
zLv}F!qR)r08GSw*Ux@<{SY79c-2qpeEm69fZW{IZXDoq}CLw1Ewbx#PnaiE5G!K6L
z&NwSb6uhTnT3OIg3QecUlr#P<wBZyif1vwg@`b+8t6!obCt7I8h+I-8t5|)Rp<It6
z7J@DK=&hk70`@BKO6_5$&(e0XqN^oKAE4{YGMzBpD?|TEw`KCy6Gu}^rn#kOVwH_d
z)t9x9#^MK#b>wqP?*4FAGNZv9!6=TnW@s^JF=#XR{^e!>Y8IT=9bUx1XzrFQeYD9G
zi1BufAe2^c)@fmuv<J&jK>bv7FH-49%iP@vGLCJ++#go_>kHABb-<#K96fG0t7+}B
z!W!wS``P-oTxoQ`5;bRwOy3Y1hE|_1D`d(}g4hhyVKl-;8Fe4{Zc2<>4dufJuenaX
zzrPGrJ8b+-11rVc4lUJS=({$GnQ0uyCJ|DcrpC}=E73&$($9hg3Mug)F~>*L^|q$(
z*X~-~!joCoTyN|=oot7`Q3*S8<a<PA%w8P_PLl9C@BYCyGBp$wz}>rn-gBvYgs{HK
z?&JWXpNMd^7Zmj1?TUQI(Y0d^o#(TLRQ*(D%+%fZlPafaC-J)<@45pF2@i*;8ap<B
z5oh~d@mt*YQ^sMRKadK(%;e?31gU~y2vDX^n$<uboR?OwC5oJkQg?A5c6wY0$;DvE
zc{Orza1fTPKQmSmHF_#+6J1!C8Ti;d2Mht9Ka%pyW{uCcrEAU?%l<}%;vnAZHkU1E
z>{g#(ZpS8|%g84VWaDm*;9r^unRl#h?<yJGKMRdgrgJ2jiI&9En#-m;mn2#ZtFy;I
z75QV=g43YF_k)*xWm1Mmgt88B!o-u1`la%hW|xC4M$u&MkJaFWDf{|3SD(32eTxoo
zg~36Si-4;lGlqW{xh?3-pQsnvDXc+kBmb1;RM`VJQ-<Bnd}5k`BWgmmeyx&&AY<Nq
zH*b?1z=0)?Q4%p%WOdD9mLZb)*bMzQ7+&#?kT*>rEUdB&dvJ|-e41J6_K4F<{d<iO
zRs}u1R!v!@-pyMI{U&g8VUX#8P_PYX@fkB*2E2m__r_hL`~=;9B{-=%ym?Z6r_5E-
zn%<nFat$F)n*4JOHXeZI^(bl}fE2_6j;bl$O|uw@sfqhjhRR+do}on1+=kRq7v+vK
zx01+hxC^x|13CkiS9i8J4DXassgQ*FyVt`y#o5?EOLw!QKzx0QLjl!91|kDc3=g+#
z>?_*{rN^TH6GoXriuF2PqkD4TA5aIAS}D_cxT1Yj4-r}tq`jQ+Zyd9QxGv?+FwyNU
z)bTcsPYeF`@c1XUrE_@-Metscq9@>$D{ep*RO4M@JkVzGI8$r`eBIiMvjHvG9=!HK
z`I+2=Uqc~`ff#g^Cy^Jcbv1xm-x{6!TKd=J+_ME*ZAQ-f`yaSSIxhDUo+)l~p1MBX
zUPJcfMka7KWA8O95Pq<#p8Q0ZPtQE6&(jKqUOgQoYyNFj@{!8kf%hl)_tDt~7R!(M
zNKqVSq7Dy==E|Qxe^yrh)CQwoCi=Ll`5eNGmqKzH4k7JdkH#%ZXWFfS?)mt~BVXSK
z6FNI7MPj3>Q|wX}IAd2>H03md=SPt29Wln4=P8Y2JZzxzsfuj)bhMbi@tQAhI5N8a
z`I95gGkoSov`(63Xm`eVjM3&NR`oiTdq70|W3jW{z{mF^%EO+JvWe@mQ4^udXJiT}
zEzOgY-RL6s#uNwhOE<6qh&21O8F7106(U!}b&X}CU2GN8$R$%AQzcV=6D;?2Hwn>R
zO;-K)5Ppk)-a6uajrBYYBf{T2h#x3?`tF&?#`YfGis0o)GV-!UyQ$URns3Xn#-?y8
z@tn3C&HKc1eI72l)V8JGc|V#g1uK@D-A+2Y-uLIT&*&e1s9KT70O`^t=9_>j5C#Jl
zH~X(Mo=8fJB*zgP9)O^k$<RefL+ED4O3la``6cXcnR*oS62G&s@f5q!_7#7%k<o4#
zg)50^&rIjs!}x{`UZTE%5}xC2H=wPikzQAp0_*HCKJG_-N!Gb<vb~$mRvL|V2S*ib
zax<3H+qS9-*wyvmfLCP~LO0D0YJ5Z^XW#3eN80QV#)$R*wBB?E2iMmyuXt4~<S*;v
z7;h|s7>1<g%dZ+W@2~<i6FEigOk)}+llB0#MlyAna($fBZ+`uPuzZPc8p=1nd#p+3
zLVAg}4M*VQ#qdM!xu}9&@K-K8IU81m4g*MLT=+w)4|AFIfnCJuzeLw!3~yXsPZD)r
zOMxH5HM6a*jQY}AL(RfVJ@JO`L9X5`BvIt)otA25OJMY6(R`>nPz!Wo7=I+fRu#nY
zF=NnvxQF>%aw!P?&WRnzm2ugqRJOL)yhMDP!zJFbC<}xC{1)gm*pC|ApKS{HihT&k
zM|rEj_<6e>1E1YLUYUh>oH{*(k-GXUnGXwuXwzDYUi2CkWUZ0tPc=1+z|rdayq3dP
z<9EMKf5yL{<?VDQ2sQYJRg?+_<;k**J@tIc{wif^-fX)*aE?C4oPc5@)6b|EwA3qC
z@AsFdK4#uk<1JjA&OF>6WygE18I=iCOv+pmY}HU`fvY(ub<lnZ5FU?krt*(=L$%IN
zgKhg`CtOUzcWT}*^SR(@ka|TD92p-;T>)hS!d94!I|x5`pTn?Rc^MD)pI_&71!8TG
zr84jRYd|6iA}Io-{zqt#H2vx<;KAX#5cnxrk|GTf_>{^$lExExl4b}^3}K(U`tG{Q
z>vAaD0)IS9#towpdgr|11gJ~#E-Pejk4(o{YcIPl6=ky2<w^;094wW#OEP3!-LvWf
zQ)H)_ftOD!oQ+EL%|!LhSE_AWPqb(B0}EZi7C+(4CBLVU($s2k-qHR>+n&Z@$_0y5
z4g#8Kp9cS@f`Z~YzifkL5tpzebNIOHXcGY<VAWEiCaWN>jRv`JD7moe2#JsH9bfwp
z5nY4#&hC1MS4y_z?*q>n4V%K61e_3ErI@PfdVXzFrHB!B3*NoolnxfbMf+M3_jyJ~
z!>XcC_sG)jwDM6@jp50oh^CT_OIKQE4+blV^5suGin{9^XVo2Q70oGvH{D?{k5d6J
zK&2_KTTd(fzO_aaze@lTKX<3hn)7du+{iGCWI%hJkWa^5RCIJ)6m+E?$Kh4*&+(Gy
zhxe37n-AP8Z_F!<h%pQJ-osFaS^c`dp}aSNn^9zZ1rJxO?rh5BP2X+ord{}msk8RX
zj_w$1k|gO+Q=j~3C<eAvd432cfntb#fe4!n{oIkRHxg1ElI{`<qDwX<`U|>ZF(rSO
z0f|&U3ORpVZz8V%Rqpck3d=2Gme}xag2fvA2NgEhj4k^f`xqI+q70Zu732yzU6Fmm
z7mACsk52k(k9j@_KDrmRN+sqV5?a1f$lOTCHU>7C7Hd9M$V!N%Mh7ODz>m5`0S`vp
zL<4&<ti!gi?wxEEUMMPgS(I)<g78<mY+<W!U}G7NO}u@!%Z2Kc=_4AbTg+zX3`Je*
zg6>clIi@;!t2MoZ!F`|FIhY;853W3%)=uQ`@q>$doS1i726(CiT(3jIEV19q!_}!<
z+VLrQ9s~E>os*b*Pw(58I?kqufpauOv(p=Di$IjvX8kxcjk=!2Tu+)A>p)_a_+K)_
z<HJbA%2>943Ik;Y5KW}9Or%>=&-+nT#goXa%6M4A)5~X`(}mU9;U4*Kg_3!ofXzh5
zc*%%f(8cHoD+Si%UpU#o<O4-glS_|eODuK2L_CjWh)bInS2YBD+`$Vv1F!S%=}~ep
zlUAWT?{xX9wxV1~Vo!JrcE6v<sSEUEEd^O6=Da4Z=dXeAe`b2R-Rq(Rt8ShesH1R%
zU~<fcju{snsjK#57Q+zq`wamM4-5j+-@(liddB_X>%tRqE7z0h+*4-vF{wx*4Qn~H
za}Y85jmxxi^2P&0SPb0XfplZ~KcXjIs(pnCHU|s2$W2z{mP79k!7I{%Hr|Dk7s&54
zrUf+wo~|2^Cym78R}rFD&=M7k=aT4OF@MSj3l(JECLpy<)E{5a+4c}#az{4z;4@~3
zPYvCQ@SUjT{7g_CT!4yg*zC)h+b>E}#KG=Po#y9FQfB_;6=;m(1Eg9^^u2j=lHQ68
z=|4Ga7?fYtF$xkIT-A-ytI;~Tx|#4&&n~7tSf(*<Mp>X&ZSK(M5cKPOBl>H1p{d47
zG7^x1)${O^ex>X5`E<N+Q%^usb+PJKf?4SIg1RS@NLI7w9N-v=5^g(w1Zi^h?%{GA
zhg!3T<RkksdBE4*a9~lDIJ+U(nV=>lW!PLrKp%m{^f-nOt-h%J{I7Usfb$0T7qjs^
ze8~AP<!J1V<{Skm^P}21hInHb3?@J9=}pewtJpNRn#Z(zu2Tpr&GUWQ5Hoxf=SStQ
z%2V@8Ds-LK<g)t#5t5~>A#NfO$K>vsvq;1yk+h(FvFdo{d!Xhu(t3=b{O&LhUj$Yk
zq|t94oeYLJ6##BzjGFudZE*?IWlL@MWeY1FRZ}4ol&=0?N4LJRv-z+oP7?kVhNkZ%
zUt|KNf=g_US(x*lwq*Ow;_Y)seSWb?uu$sIC3AvFXowG)W7L@vT$OuiWB9a&mV-RL
zRnuD9xTxCM(E=3@5<kblHMyK_*(Hc;y(VQ%eN}jcB<LA(EAWoERN0IOSfxMc3~Q8H
zs-i$4*C5Az)L9S(VOJ^>VOLJ!yjVgLYa7$Dw1q)%a1T*gqjbM<JlSe8ReRNUZy25Y
zF7(HaoM2)u8(HHzM!g3itF+KF0Cy~Lt4IlG`pWeS5SYY$nY3CxN9MY8cXHD&-<bn4
zp?gPE4EBs3;>9^~R^2`+XZcD6RYJ}LJ!qL<4pvCYCCO2^vWl&d7%Z<rzEMj`MpSZK
zB7f8<zdc-4DWE=fN=aAVBcs2it_K|qqngYihLQmznEV~OUShBYe&r=iTz*$&e&&5C
zaY&6_6-cf;=I7TKYp@)qTT`1`Qyf(ma6$UIQrcD&#B>HAuT5z2Fu6zQmrso+aAoMo
zoE-AJjyol~*AbNs<R%j~@;080Az1lPmKG!uE8V>t$UoWk6udaN+k98f+GTG`urHX}
zZWg-rh3UGOdAMx5;m$b`Ay@fJIUWkP0x~6}0w!28YwyUQTesXF6SuJ=e1jgLSP$2_
zFj<qXli?eo?qE5W>-lam8*&8nB+CGex7wvvFGW-0oH>IR7)seltK_Jo$DlPt1Ro!@
zD0i~Jk|W<*sZa*?zcMere4Laf5YByr(2sgae@@@Gh1*%UvZD;U<eR&&DH=MGZ9|D`
z1}1#52PKe{!C%bgc>W2VD(LE|pEpf<H|6wEIOxsX!yGiSxH_^?hxAF!A&<BvjBUDJ
zV3-c>5NpwgR8W@RwZdDLZNxE+a-3W?h3gX}2%;dtQQTSHHRbhNOsF#DBDP6p6nhq?
zZlAesOh7s%PY)h?88#{kD-1qznbvg10!mpM`Yy}=zF>)MO0X^ZR4IR`ld2E!PeoNR
z5J|1a(39>F*U8voaa($Bbz<$BF%HBf;ZucWMOREau1ane>HJJ8y?m1R^t+)@`gC;3
zC=qV9$jb&<?D&58XQ6(ZS=JaEDbmf5!GWE-yCApowasD4=8BKvIS{;LzsE?Z11da6
z!Yxk>hEohAv>c>++9!2ZA=^{Y^CB;zJ~T$pk@b?&bkj!#Z<|6a2P&12vjvZb>Sg(I
z=}=Z9`^iA~vG>m_2ko9%P7^MGY>nBis8qeNX0nhVlsC;2d9K*X^4dA68JPjPl7Z#7
zp@gm}MK*zM)Hj$Zr?=}mS(h9A!2am!uD<~7{oriV+sRrexEOBxXeMmq{s{horR*&g
zcleyWn=ZF2AIU|d!YB;<GM6p?=~{?Vl<p*xs4L}@Z7Ts`M}I$sOt;db9)p?NY&dpV
z3{4#^s>7PPjm+Hq&q}Grt0Vs2VXIUjE$QC{QLkl6QhuAix;o3VBNb$cf$oh_UgG(7
z`)tIe1K5jN>yF_H`8Ul%9SIc0OUOpwLaX4uRX8So|HBhvht{N@|1M;UwKOXFV6!M&
zTh)Jp5<EE{cHeiE<sJiBbK(uOtVYUrG7mlYGgvm*MEU8*SVs3P9fVe!8CUe*J6Tqa
zPTx^1ajXdBTQvHzHZ?oF1Kpa}EA$CSbZ;DO9mshstE>>f+cCZokWJ&QqUZ_*pP?*$
z{*By3CEw<3g*4(cTKyW{6IqpmIv-+(+{8Q`+!c3rXvnUChJFu6b}$#Ljf`qM;BD)<
z@s3NjEmphD2}3Nk<%7oKM;W`{Z$fQdPLEBH6D8V(8gp1sYSMRQ40No<^#MR1Mhtix
zzy0iNfqwX6OFvD!efQ{e1R$ZLM0?7848Au|&R*?c)s&~MpH5=E1-NCnhGYCh@=dD+
zrObuvpOl8bnOH%Vk@>GWzkOs8#`WD*5oM!qovr-R*wmd~`oeiKWYpeC#Bl#G%~FT!
z4RAF{bI8Ae;2>Y|1VX<tK_TH70`iIEo&^j17>*7_g!^vU|8OTj98P!Qf)iG|w4@?^
zETafBhvrsmMhH7S9{W4qjf!7cW9c#CR5uidYXN$(a;H<lKi*l@ULQCgSux%RwqcMr
zE&9x0e6%3^C}*a6Ha&NXE<!KQ3|m}(iT_rIz>(V`KsNYb2THzX^a-16(IexS_kalB
zf00ZA(Wr8|pbf-(TJazG!=`wB+_^+wqx+U&dDI|s{m{w$Mz@pZC9jfTA3a%pl2NLb
ztR}+d2o-&QMwasU{OpxMCUNBXH44ZH59yNVbwa*a?EWPi=Na9nf-HsI=S{e=e~BE{
zN6^=gjU2{92;95m3WMO;0E6Mk%sZ}nGsXyO-pC^FY$VyB!`WE7K-<g$cX$qdBVHOZ
zazNtHe8Ab<s)h0JuI@SES+Ga0N$IXef2_cBUonCS(`v0Ddha#j57RoG?%v)9jqi*t
zUnb&xUo*!rI7M8wz3g2;yb2kp<%D=2H$n(I<o)9i`^mrLK4(8oCl^csixA<m+K9e-
zo{@S&u27NnP<vydFr@W7?8BO>fDDWKC{Ds0k!3G)VF5L!O5h4bbuRdcZ!aG*aIY5o
z#pa=Jj`*h}OZiJ5zTO!=OeL2nR?bhl09nYYS%?bT+QdG1<S||W4I_-)9c7~+VMp!3
zZJBTRz{fpp?a_Q6A%>?nV<)(<P3F)6d(Xf=a(0G2mbkuM!UG|5^g~@kdkU&f_FfZ!
z=c)hYPa@(wxHw18v_3-QdJ=s4$?AZxQNAdY&t1JIFG<66mM_1Az0~L5;;%K6m^-(C
z#Nfj49$E(Q2+zqhuZX$VCXD#PtO!dK*&;u8Ze%HjJoiEYm{`<70Pw*6zqYOdAj+j{
zODYZ0A}uN4vg|IqfV3c8(jg@&AdS@0NJxjYbV{d!N(o4pbazXNg#0hw``vrNe^HTV
z&&-)QbLPyv%L%6UqbS7i(3S5W-mvaEkAcFPHSmq#lXVml_7qEAk#{BfaBa~8=S~eY
zOewS$ZwDUvW$<qrM&bnEIs}QqalcH@-lp(t5IHq?i-S2Egz|7MOf<<Qkb2w9STIe5
zb<>6j$4YUu{npXRX_p}q=fEZld9!roJ}5|#=lG5};s{$7v+OfE#_OS#`$Q+Ut0DIe
z8ZbTJ2iv$m@9q)K*56)@CFMN2gZU6~(Ej4pL--=T@AkA=*(s>KQ5Qe(c|CWM7@1yA
zFs2Q}cwQ+7=RGAutMw^;re*D$Ij>NO9Jz^M3*rv}V(PCa@6b1dNXoACVIX%l=e;3u
z4{~f*yXa%Zf-wXl{WDDI9Lj~kf%ifl$<9Z-iJ)iZ3h={yMT=>jJl0JgCdOe%)k%+8
zcbgcaA8;72g~M&pSLj}awi7bq&^H;7GJ-!F_`j%sFp1*iKHbw8aKDDsht#xm{PUfb
z9z$3V8IFd}XhQRo{^zLngdY?@EnKqxpcd;IeXy5Q^t)7_NZ;W5N(c%Dkuskyk*0Je
z{0uanDtDq{gT6?5!*$un8;K|_*p-oSPl|HZE_U48FRW015eV5XB5#PlC)JI&tzaf5
z1pUvC2uLjjhXd)fBW9>c;$<9(u+VrwyniJbQ|Yvx01?)2+;@>B@HV!SV)oL1`<P4c
z!2A9Ajf9N5C}sEB_ZpE;d*mZfA8OovXX0$yHhHr2-Sy3v?jfNO1ogg2fbIH-dy0+a
z*X5Yrg(q7@Yi*St^=mx3@3RYJ_I5p|_Le|+_QTaVzf=YFY7VVwJ|69}A@f7I55uc^
zH<0j@?&h?3MzOYu^7<8-RM_B?(}uNu#jhS4aXV8?Nm|jg1Rg&Ht$(yd9fj|nel#{Z
z^pKP?-`;mzQ`Y;imRwkEew0HU;1Qeq>yyo|Ahulk21m=`fLu|lM7t+eB&|!Vwe;3r
z)MfWa9fLcSs+<&c!jxIc<<UKvJuz9Lqlu8FKvdf((T<nfJk6W4x9$p?>GX<X!pR<J
zClZ~tkCKz$CW|M3Hb}{Hgxj>#$9Zs`X!Te+>RE*Jks;KF>g0=FiYD_&bgkw!iuf8)
z2l9n^@*S^@j-=b@3z#L3->pP^bI^)T<v&ceN2G-8dexdf2-g!;Ku>j9-|br%>&&!>
zH!YR~O0#+krPk5ZiH5NTj-!wJUH)}NclFc5s=s~0_`NN9$C2!0^WY-8`i529og$03
zy)=S2J6^N+w+?X*a5iGl$WIqA7lMt*g`8QYzEu^y<|^98fjvv!TakaT@56C^jsXh%
z86TNXKuiTJ{J*YN5X3)u;dwyt-)YY<RMjL@)#FpAm<KNFzu8SQ%lr$G#g9${ZeO7I
zG-eh=ywnU3E2c8TEFXV!mic!4#SBoO$eo1+KR$eh85;`*x(piwzT$t)FneSEU3Mvb
zk(vQ$|2u)1m74jJCz52I;W;#PCpvt+zUPlWrPj`WndifVvL<=qoHA&maaOWUm49WZ
zY!s)isg*_b@wr3F$dKoac}H<<>V;I;o6tll6WfF!X8C0`ZICR~)dayK^j<!#U|oCW
zeB1fc1cwo)kwzS8ebw5!zN6Ncq8nCr(#yfJhnQ9j$Yw1b+~$E^R1WZHWb2OB-0nBu
zw1_n7{+<!&s;=ugV!WI$tgPs?Z6G#5AzsO8Ay`t28yr{luE^Oof!{4Gq%aqznUvo>
zcrQO{D8WKCLq09Z`lamB^87k1gbT;CKvWr05c^(WD*(?TwubBe>*=BOfhX&g_f%h*
z_?o0}A?1?t)G&IF-aJ%^EtRd&B#kN@$#aJ>ALGwx7RxJ)nDad8bX;@Qea{z7!-U@b
zWXX(2<%viluAD2(V@f+dE?+BqI!~#=w8Pa!Nz+apZ>88ZNuXI)NlvC?$dtoQuVgwe
zB}D?6vKkY;lp`}5A#fk+Jhhy)ROsvTP+gO?9BHHmN|&W0ZhF;4@g+_3OOfH(oBl3~
zFG*M?O_T~I=){eF+;%2-70H?%$6x{C&*I#IviBBRWes)SAi8u+zzbcnRT*>g+@^2Z
zHgT)HJj|;43i=9K)}6~+%Q44PHu}HqezP(|Pkde8_wvBh8l}d6qtvz(t9-5er7?de
zYz$dF;ndF6v0X$R`kmI+q=n~{O(-gDVz$jq_4DT#lgU09KK>CC<VR&kQg^`!wCS^Z
zm^k9&wD)&+{JYeVxx#1EPd|xg#iJo5A(&GXW`y7Tt*0u*#>@8=l@e;5XSSzKv&ELO
z-NHk<PaPA(v*-Ili<Ty8evPN=ujB?a&)Xnn@b6ADQa@im-5T2uv{qO}RMr_4v(n<y
zhx>P9_$N6_Yw}Cmg$GG~mA-%UIM%Hu#xz8rt|fY_W!I5mqMylkW7!6y+{^EM1m&U%
zM#6~T&pTzxdPU+QpIU_c^RbV=qjUu%lxlU*=68LmWA0ll6)WQ2`%YM~$|x1EwM*WF
zyq)&_r6m(_y+(!Aygu{#;+<J$*J-EoU%ZBG`G@;>%Ew-z+tmhC2ZM99G^W@Loqay)
zkTNmZ?^Ug0p{MmulzxT{H|&Zlv4|r1vGKWSbBTc8?o~g^q^)J$L#-pZllhV8!LX;A
zt^C(~NesU8Z?6rFtyOzPf`o+Co{9Nk-9#qgA{Jgei9hSWh+=i15kR|Bxg^?M?MgIn
zEh-@E=Zv}|i+5`{Q2g=UFNN)l$J@ig#e@yJ`W>!Pzp}7?h01=(c`vwo6mJ{7hG$4C
zb@nPLD$TeQ-SqSWU5+*;6U5SR<3m$(3G<xIMmCFiF3g`5m0>>l+%P;v<^G7J(m*!y
zXoyyv;&k@Q{;BO@bg%Tje2$0p6CJDkU+)hM8^7RuePE%et0TUIEsY5ixS*rDpBjF8
zra8}pU{vt#cd2}_Ji1%ZyC1ghn2=yjxrAV0suMI8=C0@LuvA!7T^%e3560Mexc*#@
zmKJnfx0I|VP>45hu27;orgiTm`&=T4WK4w+Up%+Bz~^x7^4b3ZzQy|iJC~hZo~H9b
zXWz==^RMikLiCXtjUsc|{SLoa^S0+2@V%2)K5q*cW{%a$@_Wz74-!}z^1G$Gze<qA
zA(+u(eWfFB*j~~;n%Y`oT|MHc6X990=U{UFZBGV&yqRBqlUJ`b^RB#vM66qg8#2TH
z<bfauoUt`ZaFO_v+7^o|bLBaD=C}c6SCmU0RUG-dX+pQkN%L1Pg?4`t?pIFc%S_v(
ziqGunkv4#IT<iI(`_*+mvOl-3y~i8pBaE}kt+=aZzxQj!D&@y%OHKiveaLh{&#jvN
z=!>z2P^<pVfnyqHX(W$F-8>$D1sjsz;37Qb+&Gx<_$a#uBXc;a?FZ#FS=QbRMi5dZ
zVh_n;d=O>!Ve=y73`QfRqPa;0V+s9MO7i7`_iUnf!g_Lte4_AIg*l<CBfPpzb&(PG
zU1=T>cG6feP3-_@v!+YV3*N=`C$}s8(4*MIZB5xiH!X!c=Ys79nPP5}rja8#-Uq@^
zS+;7tW56#gFqA}+X>ZlYvoLkNp-^bTzE{e=<--k1-6NDn$*rNXlfO$ba&zXZ+iVHR
zMtNU5LMp1h0DbYINsHj!D;n()-XDh{&$9Vzkjx!2UyBDCJRa4#*^7IADTXB{Hdh-6
zQF67A`p`-`pyhMHNikmN%Nb1~myXv0)b5%YelX|tcowN#${WNGCSG4d@|^zx?K|_B
zfd}*+hRS+b$DV#cS_SX01ijYehA~dq^WT#Vn`d<TJPL`I8tSC`q=G5abuOw5vq&2S
zMawEh7&?QKy6#!VK>5&d=nfQy+5}ZU*U!eI=w~lB8pIQQcxq6RKyAGI0vQZ`#W;<&
zMg*t+`NH^6*cJDjti@5W_I&7V**D1BM+ESXEq%#0L|wJ?%s@1fx$a?FrzL$Oox5|x
zX<4Mx8W|V`YX5Wro20!pswATR8x!*^nltxf=k2*%Wvb;>&tosnM4i6M69NVyQ}z2F
zN1EoHS&3Db{hJ12`7UAy{E;Na78U{?x|^1LE<LX_MLyC~4^-ds+p67z+1a!BIKc-G
zZ)vm+dRgwU{ZugX4S=Zd%^8H_9#NocOyFSAeMV371P6<s3`#iC;d|^fvzmuXX%KoW
zk(Nqmp!9^_X`W{MR@Rc#2NQrlw=d-iY*iv5$cf#>nV=wM)b+ygZbhnK8YxPo*;<l2
z4r<#>I&`O)D=WqHNp3}rN@~{IZI#C3^P6Y3O1)GzGUE;$C~G{Pp%wX=c;rlJoP^`|
z*>FSzu?I>Xb_$ZbFNAnPPYQdx6~H-x(^@%SzV31RQ~14VpAf85Xqj#U*yVY@RLo5*
zW@4tMoo(H-3YUh4BRgcu69{=^S)JZ^_WXMLSED;@JY;KBZspd&pFNS3lVLK>wt{?=
zb=8wHq1D!K%d&L%K#*F?qc5jHdb?Ia(w{GKh&}NtSjQi|$oFqRV=;D~jk>Wk=}jj7
z6)x!QB<VQ_;`tae=brdEah`Xfn1+vNROh4pM(U`YY_488U-EaP7S@+2v{g*W%|@@!
zC+<I9?~v4Fu0L$3Cr<W>J%g-wL_F&!(hdy)+@G;uFi8&F1W&%e)ap1-`MOO}^9`uD
zTe{|EbXWf@sCfGR=dnHG+}56{q**j#s<05V(>Le-_PI4n$<bj?#oI=h;)_UEio-NC
zjMH0(!Gag<7`QEqNaCaxh{ckm;Zw!vk{iQ*8*uzamtsHsN$0v=n)FoPs$Bj@deG;A
zMKt8?rHL6C-Ln!9l{LD<6*GC-Xk0t|sb#twf<8oxj55K*>Das3m@0a(9?O7Hv=4S)
z91q(IZL1MaA7|BA4h}<88Fq2#Y%5!5*0jzBYqsJ`Mx^(;kn>N|$+lw=#F2N))mI;W
z65P(JOnok~w~nEtWEuDBqk}}BrTz%I9!Rreg_3K5{N3i19%ZT-K4E)cvGIdl7QtRq
zpFO1=a>s7v@px7!m-V2XZMh_^Y+zjtJ<d11e9k^kw&7$+@`Vg}4x*P7MrO?q%#$r$
z@bIABw=I6SD<h=^UX4Ukf+&v!{KRI_rh61R?wL#a-B7Ek4<fe3X3&-@|N4Qz#7l*M
zf=*;UT-`*h2CG1hgX=wW^SfH*<JJxKgp7OJlLsOMLvn}xuZ5*9_9LwwLKvf0#Zg-m
za#&{AFrUBr@Pep-s2v^wWqzPr;KZ!Lr1t}JT4Aa*eElPG2GwT3&{Tb-b5}o&wPEO6
zwhP-dfsQycM-cp3sJcaz(wjBcuRKKVpD-uLOWc#53=d@4cbFEl(M(!+e6#8bF;@i2
zy)LiL7GN+S?bUHSA5*W~8nz7_6Qc_@cstwD7-?EcqfDOwztiD1@bU4S&F9s8=&_6P
zMW2lIq}UlDa`)4wMca?!(x-E-lr$MAKDD1wYMKzVH#ZN`gmF#yD_!9FH=QxU5vZ9z
zW=8F;P$@9C@+0^BnQAi@jj=RhhhkqC>jrhlDNm|kmk;b`R~w7vr<jZ9KHMgXiNy(!
z7~i^MZgU4wZoim^L>(u65Of*eV((!0%)sh*q)WV41vC1c-<4bc7X$<1`6q!3P=*kw
zP)&jg)N=hR8Md6YFNo0pM{-lA6A=pLrnqQifkX5o<dbnUuZQxHcYJX*7mp5)ALS2W
z9Phg<|1=l)Id|-Su)x0e1C$V^HYZ_&#yQADaT_f~A}v;Vw7;lE_aw<)$n+)0c5$cl
zN~W{Qw`zuqSAm^(is$D#<k23Qh`u`G)WFUZ3JNR{3q&e9C#=x&ML&HMx%HzdD#Y%=
z`Pq1y)MCDiedVsZPDzr+QT*=96sh*g2L>IoadCCLB(BJeBF^9jvy=(b#jQ^j79mlM
z2|I$u?-qwLUdb$Sx=?9)lU5WHw=seDpeq~LI**D^T5N;(@cF_V3DxhaGu0Yb>vz_p
z?bOC8%G^cXENsE6opWQ_j_txOg5UHcIgRX#Dawc1L3kV>8&CT3H6$A=q*IC1*{nYY
zQ1S&k-aG4DL<+kDPGf~X^)PIL8_W+>a;G!Wf=@M@?YmPgUGm1n&<OC{%pwM}?hbv+
zCp!<q5jxm<^t0n7Y^TDQi@t?h8ZCJ_kj3=CA#E4?Wnvw>$0tV74xQhhEl>h=cK?ak
z0SY$$FLvp2*-n5UpWkUy<Q~Z?D{94$?=e%w_wF)(Km{S<L-&BNqJQ6zMdjxCD_@Gn
zJ~Ic?<pU#x_p&z6f4{)LD+K?8#J}HXZbSv@?84`$spHS5Z{0)%*aB&O{>nL00|Xsa
zqEh}-1sC}61NLuuU4RlOlujJqxJZ3j=Jt2^QGDJoBQ8D=cl7Tp{(2aWzx|VWGG1hn
zni#0BekDH&RlM*Cb2utDP_yiWx!^wc?_4O?f{uWCn7^wG{WoF>D7uS6bC(z>`vU|&
z(ZqXIGvgt-K_Jj2&EI>&C3(r!&4om@dS|+-prEi|rq@9)W&0jbn|?J*>Xrx{X9gWB
z`YVbE{aaY(G~R?6_Y7Uw7;n7+Ss25yBSnN4g^j&@=lxx}jwwU}i13@~+B#k>gc4H*
z7?6}z*sH5L6FxNUq5YBO_Gu?a<8T!4ecGuSS*ZCoj+gF7=wHMjTyJk-I-=|P(F2bj
z=y%Sf>t$u5+v@bl&D--6qPINktaatKqRujY`eiZAsh13MJWq5h_*p}>>q$$W`t8Nx
zCOcv!wWjRC<2luxFPJ}Xt<c}2rj>H7txi`uY0~ztv1n$&A@5C)qoZy+Dm?#Gl7gJl
zXe0mp$o<ztLAQ<d!j0{udXHQ5l*jEeba$~TV1gW*;?|D$=#6K?iFe_#e$rtq-o+IU
zU$)p)uRK>Mo?5Rs@lbpEh9xpPg5qa#)tW4C@o<QyUlb+$8+cB~0X?#Cq41S(moQW3
zSn*?Z8Z4b1tYs6WyQl<QO<bi_?%)ArTZ|Fzr?#p+lzx#-;}`8#<zI#KD5{HjA*?a>
zk)oNK1LSay$W(pwpID)*KoS;CcJ^|zr2?^K)2!@Zd8<t&hsS-bH%GHSu*7xg$D3(M
zPn>P>*X}oHPEO~1&sm<1&B$~%{W%$KJH>M<xRCU7sYT>=hetZZcW`x7IGIxdY54}?
zy-Vq=p+|5iB~Q+c3#+@WYp8Y`+(*2o%w+e|RUv#ST%E&3!|G8T{keIw`GWbN`O2Dj
z`lL;Uxt?KF1igr%<B34~V4o<3Y@`geknQ%E<QVy;z@hs-XVs6d4ja7%AIK(W<G!i#
zuH)Rq&+;{6sOnc@&DiKn)#0gsgY2=?sCLKNoA3dT-vbiab4Pj8=ZZvXJuYmoVwHK>
zrxGtrlG0)4B(AP*?8m;FnmT(((<xc!6caM2?qwS65JV+LE&<o-d~c3@SP|m>$k@@D
zw+0VhtzPx!4VNO9QxsKjymull_p{1hKfcx$v5P(QEW%r{8h>-p7hbtLT8}hUJ1Abf
zf0XyNZ&^2Ve;I4y#dLjyHb~0Ej9zV=y^1wTPr}GS^Eq?idtsfYrFoBa=MRZ=A2yD*
z$fpg@z4zrCROZ1hT6eAUbzsu=*g>0mDv4h%q!?cM`rOTVCl<@u>C+j1*iKI7t!#7n
zigY(-xhQ@#nz28e?!B50b3Z?_-_y+pPRh0SoSf@+tXyUyq<?~pvaO^`*8}-80JkPZ
zH|y7?Z>I!Dci?7nGQZ?A4xJ&Yx%)@zT{3D9lNl@ewxw<5F?1cQSm{FU2{QE<6CP$U
z%NLd9_%$f73}?No`PTLhO2^)UQmYzCAdeEycpq)a^Y$a!$}i>&wV|Qu$i#kp)#;22
zJ2BtAhjnaq)9y2jIt>-mRbfS$8!^K@!^KVm@)Ju=&*F{ZE2hS_Ey69GKYV3l@0t_6
zPc3!M$_IHGWAICHCIVG1;XSHO=16M;P`M@aluE51;*_tiJ{)8p%1-<3N%!fJ&)Ck0
z(gst{6TTlGDR1i8ajfZ12_Qc%st0}uTYBA4qkr6uLU|!&NMTEGQX6?J2J?PgiE$_6
z>yqwWZu7@Ps+L(SIfFiL<UR5!53rn4li=BVGT$7RZ=F-HzyHL)yO^;(b6YNlvj{im
ztqny`EJ;9=amFp?kUmuDkaSX*cHFpl-#+s^xD!_SHdQ|!7M;CP&inxxu4wkC&NJ}M
z@_k`8v*k=aTv@~!)wjcEOC*jKawU=bQz5B-1KR{^kZzOQ*~C;~-JGZu(FE%x&1J`X
z2&Ewep2346h3BtpR$mP#FVduf1~~A@B@+X+2RTex99Xl7`3|xPVjH~A0s`dPNVP{v
zWATR5CC+v?h}3-&CDY@O_U3tgoo*N<tHUpuN;XyNPrP_$v0E@Ey^n>J=@7G6StK&8
zc4f*%4`3wPAy%zNhLUAGWyuy_C=~`z8uqG_=#@H`@K2V*X6lbEBtY=lLX<}RFT?h`
zAzwoCeG84+>U-b2j@aiW$>ehGbT7z1NK+f1OlnhygnmSp2NRni+s0~-WcQ@avid(K
z9I(+yEjt9Wv@XPx>h-%RyR1*nn%M=ub3iknZ}zNQN1@S7i^^lnyseufn$j7m1^Vps
z_Rd;ek%fqgOjpjQk3OC1TQ8f2z$vW<D1vL1`v*h5XznpFf#nS?GJ|y-Y%)E{<p-Jp
z97b_$Z8R^?lM%&5$gHA84h1#oIA^a14+k~n-z6^aQL`ln@+pnwQzoe4CHHrstqz;*
zu@W9T?0J`eEx725uNJx(TUxKEst|gk%7bjm>2Ry|e0el?(Hg$V_!Hw%v$W4_yGzyK
z(+eo)>!_wV#^8Y0kE@<-YSb(!Vt+Le8gHf666hpgB5ZhclM^{KU}zCxUZ@XEP=!R3
z>;{@SQSJ`eG36yPXw|FW#F_>E6oV=f*Y%oFPBe3s7Y>!L?9B+$QqNvAl=GM0QFBr_
z8xEPOOQe00Ay1Yme{e4>%YV~wRH|wDu*bD#vm6gIp1$+-F;UPXP-pC<c4|1o+kUTS
zfZvuMPOs(jWM1T_va*`kFGxrKFBK1p-CI9;$=THJeWhYAqaKo#EO#EA`R)=J)>3CW
zJGq|7c`pbTk0}~Gde+OYw1X&aU2el1t!1vD?(J}Puk^RtTLqu*I5tweFvs!<5K104
z6noa^xvY4DP;zjL#e1cYzc&?WBY`tf{e3QwoYVDq&i^|M$$L1Fs#|g2T+ngwUZQqS
z7k?Pdl(!!^{SCi&Q1521P3^Nc1+P$5T^P(Y-h#b<;vGJ!AU=ULq@9a02}VEc#INYi
z>t*uD{E6LV<5epPmMn0QhR+g}_Za3?=?Epr1olB(=9L$}GR;laR3&naE7Ei-(wyW8
z;F`QJg5xDEAxkT!>jlf`Q){1#)QC7REf(zEl4xEdSRy)9le?ApV4{djzDhecK>i$6
ze=ePqXPO^bUGd%ubc#-GsQCQnWZ$0Mk)>0@c~DAGasy66W7TBi*JDn14DRS>>HMS(
zqFovCs3OcQ&%wkM{rWBZnH{fmF&p%DsSeBiSBYeKlaL4R$fEn-wlffRbS3Q{py1d|
z`*Y=MJpm=&I^Zw*?%l)C`nd10qyC!jTE0(^i3+KC2-~63hj6!@Fm;-S>gN*X)gf|X
zOi{?bvmC1=A?i98bR-Ki&WdW$>-9)332Ke7h-Y_IZ?Ov#C**v1GfkHHv5(-z>xE;J
znDZNUHfF*|(RzB#o_2IZ^79#eOFRE=LV4}9F^lQs<XCT45V}=HXHsl77qdltTybZ7
zCdE)mXa;S5GsB5BO8aBir0y@I$8_&Lx-UmD@pNwFU+ip_@DRi*O#SFv2saVpso5t$
z!u9&&<jyBotD6J$M(tKXZn5X*B|%a{aQI4OTaq-AdEl;ezGz_gn}OTiA>;jFXL%*G
zOGby-R?xg45qjolT7qOjChUzn``l2|aMwQ0wy$Qnzqq5B<<#vz#jLDUT_g*(>aKEH
zVcY05KHSwkE#9j$H9D?(S}~>A&e9P@hs~$-T?X}LpY$CPrQ0rq&(?3>j7IfMB)<t|
z{5*7Khtzp;p>(LA(0UeqVmwsQvp%74Ug^_g@T@Yrp;cbBEF^=`E)iCt*^r44!?-_u
z79h6}PalvES0<6Jqn7-Zw7zCyCMSW5WnpHQw4%ZF^y8G{Sxr>Mo8B|wmo^2~;95>h
zAV2<0boC((Y3##_`(siL37wlGO9wVJ5#qzGG)Ot}?t3&FF@Ud^c`=BBmm-lvt1Lp_
zneuVEM#Nk2u)P~yXM-y7ai8!BTI5%0`W@O&HBpBQVw5B%o2hqB#$w{$X=~HCSUV^=
z!KfvuhonL<mrFPNo$roStSI)shz-9z)N4_R71@RJ^U-rc7w>sZaSU658!O~qmC8!9
z2zF$Iz^&DY>{_#!pEgs(VipOH&0n@-G@+s95~6tVzT#;|`+h@6H|DEUU4htBh9&h1
z@-dvvM~R0ch3>7+TN=WZjqb+jzSN7+{U!q)MT*w-WBKIgc0R2MMdbB@bSF@-rdW!l
zv74_DVw&#0==;td#4FxZc9X^nk9!;g$#UIDzoE)mj^JLh!0>Mw8cy0V_wx|H9uJw4
zh=1oIV~EZd8+vJ0eg}HISZ(uEx72nh?=_Czd9~Hc<J7OD_t|%_YLZ>H2Y!;rrRL4p
z{TirflhN*}-y{BDKh>l1j==2AL-M7QTk`^e35%<W*ifIy8x-g02k#}kMPp_0u(_q`
zfkd(tvT={a@#xg#ir0084tBW{GTJ`}Ca5KnY1J}rvW>?G<2Y>_r~PpHp5#g(s%`A~
zfL~rxCEVm`x7pJlSn5PoUjoW?vcmQS;|5~X;*DLpM(>Sik}(b2YjPEZy=2$gqWtEP
z>77GCSY5g*ru4|Rb|Y@sKq(@mZsy&sg28p9(R994$J(q%jj3=la-#Z?oLq=Bzoo@=
z+L%~2XVUnO(g$O_GF)oiC%Q%pUtUj!#2{Y`4DETN<<YnP=%1@9VZPT;v(U5@>R^Gh
z$eCJIsToVJ`}KX5%YFUq#5?7WJ3(3;#H6#1Pl$ptS|=5TO2<eM`8jlg_p`=M8Er;>
zB7?XoE~vES)SKKkHAzpM%PdRLtYjny#9*GUk8jlkKpvZIk$4r@*0&7=Aq%?caOdC1
zLmLnKbs=_JcNQMC?I!VrEx=LkvS?GaQI&tbbMor#>t-pxy>(U?=S66kw-=%%QSHW9
z=qD#RhsopKg(j}MzJzgIX$Iun_z47=QpkNjoa7;x)KKL+FQI*1FI@pofnaifGX?E_
zg~LVvJ~NS_Ac0_%UQ~rh$FNLScd1Cy16|x2J}DNNsGgEl7vsQ6>}0*jUA>rF@hm|o
z=vqaQhQe+LiXRGSTj2uQEQP67(J%Gpj0w?GI5t976;twDp(}%y$DyfHen)k&TgdZ8
zh6$OPGM3d!-tb-02ITrf>9Rnowz@G9J|*oDd>wV7Vj1RUQ7kWanOFRtj$)`<=u%a^
z>EgJo1vd*1>(mN=xc9z$+ls-W%FCR$Bd0NTinINzUBKFKr{p-e*X=%+XHS*oe!c%b
zhXnG;lLj%yUMRLI-vFyj2G*@%BUB{Wl%DbrzM+TgX{vp&{GyLFt1eE#WONjv;gbq4
zk7or7LM4aAU+B<v_V?zbr<uP5%MsLxR6|d2Uk8P_AFjz)NZzB#9NUCt6{c@-B$^|?
zxF2Os_Ep`$>bpVib%T}=)lir`0@Y3!Yc)iQn{zoh{mlci;8sIjq!KI$h-^pJVu8HV
z=;R_;SfdZJb=YF|m_&m#GVaGpFDYjS7y7Vwao=yj){T9_q|P?c;q*Rb0)OJ?)_~K?
z59PW@ue)zcY)cv~&nyQl_bk7nc;xo6Ijx^OrrlaNc^ke%e9|JQn>NJqgU#b)0QqGV
z%g!ftR{k^AFTWR}0_ptpDG>^+NS1??tY{~@l)etho7*vbOY+$&X?pUV`D)aUHkjQC
z%&PMGJ1rW^8^6&SA;x*QKIu=^`kdK@_ohHCt-Fgf8%{s|TK+Qfbmn;3a=W)bwQO=V
zY4g6*(z2XI=221uGFQRS>XQ$rX?O+cK~Ua|zGL?T$p)(SQ~D4N6bbG}2grSzR)wh0
zM5Kitp=jD1h#W&XoBT<<VhSU#vFbaeKqW<y2hl(k<{FOhi&-}Z!O@JLtt1u3al~~b
zTp?5)`Rs1N+O5=m)QXB+!EC;+=49w^BbEmY6mc!r*iRsppH=qQ>td|~SF(_i&I2R*
zft3oLDXCtJ14(wMC$U-!@kr{yYHvs5;ZlRatyKfTq7U?VMdpKMt&Jn*OcO`(PRz+0
zx=mG+UCTcXxt3ra>ILH~7L~oXy9Eaydxc{CoWd*@P|?|@temWFS4m6QaQce*xF+f5
zcuM)h{##BJy%ALJGKVAbx1O{bdRHT!9QZ2t&OF^b3Pk08zhLy~-Q+y7$)3jTc~A0E
zcv(%nfa}(XX)%<;)1C2juXi&czJQjau$U_e7C$krqf%k0>L_P#zr3Bpi#(m+rE(@{
zU)4hX>U_{EH1$ZP)578_O;KvdiLAH>jfls3M^B&b=R$KVmRU;p!+yrB^=E!U;zUKf
zCl%cq@7Y3B-w3ov$qO?gBgFmh1=mmL*9oSJB?g021u{4BnhM=mFId_ii@|s#?^P0u
zJd@5XPxmn-i-pQQQK9*Di@#g2+4wu;q0g`sO_k#P?q-rB><Zhb_Gw_DhS81YQShse
z82oh#!zYWNxl+-VJ#iddmdwKrI%~}xSNDtCCghe%G^UC)_))UU$bbO$T0y-Bs066J
zzE4|*$XwJ@=8Je#DP5rC6-;ex3^ww8`&fe7!74Ve9M=r(Qr*0@+KkZwRgy~5F;7Kb
ztbR`7^>o`eVaCRW<5{R#>Z*cU3ixz9D?K-$Wi|LxU!-tM%5WSW9D0s?b2Abftp9E_
zIkA^g;ri*VTwIpA8<GHfMgEuV29dnMK27nv6i3V6(ULV@PGbyZ$wK3Fc^12RO@?3;
z13rp1>@P3)@?x3J+XT%FSIpHG*%DjR(gi}q14?hrAF^@MP7pPtU=^k%E8cxq5y4mY
zmD!f8OVQ&C$$jolsj>z$ONSq<Zy)(+<LsZ-*C(#)V@n8`jh`Xg8Iv?IJZR8-DS1K(
z$jflfm|!2v^Yiz<u*|scOYKl*v<9YZ8hPR_V=*jyqbT40%FO3Xw(~ugAfkzlCh%cc
zfCr7r=ct~Qw~ph)243W7Q7k>U?{zxIYKd4DUNo|BMurc~LNYd{W@BfO^_DNyA6ja=
zzIjD&uMbV%soOM1g5DGaz0sn0OHM|H8x$g#_qrg&PBM6>?sO<`ex880|7Q5eQ2qJm
z2mA^j%YwqrH9PV+3C{O?aRT8ur>_Of7xSdncWw^oHivAVTJun&`&Q(`?I77dOj2FU
ze|!ii`8Xdvf7<S)6PY57Xs}taF&>(7joF3EIaAUHK52V5kCcjKSpUqC)jlMvjHk4V
znOW?p8&X~qb_j{)N>A8CwKO0n?3i8%wl=ZXc5PO=E93|DRw%?`7k$b0OFX`jgK0fw
z*F^6-YS7c@$KSFNM($}*ok{ItMGeXhJ{ORBY^#jZzptf4*iu0Eo;z=w<E)fjapGOs
zS2|uUHEa_6oEoGBTD%sv`%^08K{2^G+t}{=CgCX~LrzA{TRBRZu;J~G{olavmWFy9
z<xds#5EbU*yQWpx>FHZ%*(*cPE=i8mki9bCGpnwK;q?zap~KFxa<B~*IFD5I)c6w|
z3FMm-r6sF5cRg#t?xK?7;@pIhQOBe3Pxc9=LJY(2bTpASc^OnjOEd`_#ebBKv{?{h
zncgL|E5HnQnz7lVsXQK9^*hHb$x%yeFoMWu3cl;=%BajVzOe7zGTm6a_5M|uN!yr$
zCi#Uy)-l7d(wy@X10hqq=WK48DHWk6dvY(7CKzS#6OJVxZ7VTg4RsI)8V8wuFfL0&
zsY;Q`EeZXB^!Sl4oxE^=yYH!@e3eI9qpF;|uh=eTinw}ot9y!Ofl5KwAxtx{i9xFU
zrFi!!N7)pqV|)fk&DV@9+p2I#-py3LS@Z~X<OFegG&i`gR#~2acfZauCY*J%1lcjN
zxG08jG^<J!)gzelzME%@p`<hWD3tRF3dZRT5=s&*ByH)dLH{-EqB(Rw?XDJtv@yMs
z?FN!Uj>Jk*kW8B4VU0-s_hv=A!bf=b5GKQFwK|ENOY3$_)afQ1Eu<g4@K*vhu(Prc
zY^_PH=J5NClCi{aG19aY&}ejA&|Vv*IM8^+>AvZpN$`GqptmDa3KXBwZPFUDRd3rH
zmQ^MPl6%|P*@nqRnS-^9V2x%h_Xcg+F!gqe<n=ZSWfavqLtZ=1XZW3<Bse(;h6vD2
zk;WU^GKsBU)Q)+c%70+09xk>D%_XSwm|*b#HL}MYU9M20^s6E<ynuGQKtoaJup>6`
zs2o{p86t!y<Z5nUWz^xJ(}~tr?Qxv@S^wzt19Ce-4Qyejx4k;Eb<&)R@e@+w@HKhO
zS(Qan32lfS$6hE^r4WyxOg|*3sD;CsJw=Xc4f{l8TX&n-CV+Q@fAT|b{P;-juWGsR
zH4-iF^X@WF{v-0K^@|lG$;z>xb@qb+E0;>3V)m{}TEVCH`(-~cFXA8Eyv<S;iM!S2
zM1YhEtHKv9k0KEu2&y76ThZTS6SjN&(J4MZ<tF{J==65U)T89=l!nJ<3-?H+z8uFB
zM*HHt(-N+9%FMn45>1d2_(*S%HDCbsO(0tiWuGtj1Y7<UzVYi~Q(-DI_jHZf4xNeO
zVX^*0{%DTCkkRNMlJI+x3H9DNkt(Ca9+u2V%`a`u+M~Sa{dKobDWb-;$AoU%d_ILu
z-<WdIm2qlfa}nLB`&#uPx0cLD-**gGGL`PMBgvS2%%{rgW}W=`=n4Mepg{R+%ojt2
z$0lB>nb@2Rv2QTsM68`7QWoQ5`cj_Uli{WokesHUS~RkI1ZR0p&ks0pl^I~EZb38!
zknDU8=C$Rmi_8fURxX}NXOxAV3Evs0CBs7ARNL=-Cmk=l`>D36doj*lTZ;Fo$d4!m
zZmk_*u9~RUT6QV~hX0wzB4+<>#!B_DO@CAal>_0AOnYT7!l<O;3UwIBIY9xT_X?I$
zziko9LEdV!=`@za--bx<wIK(Cd;;nbdPtd@E1zl#7$J3Cr@tI#-X_yNbmio;xyiN$
zg1rnsI*g6k4Qe{Tr_V<_Q@**Qu<^?@Wy;r%IVR>MKi>`wG1cLAF!v~|3fE?s<@uMR
z4{c^1>si!3v=>v_{c|bAM}k%_`K*oy<JRYVUj>Lx7G<(&e{?xB*nfqLAdw<&Y9mK7
z|EjvUlmA+Wkn3^waq+lRW`M-2;y9*4glAUV6d_m3_@|5ei@gz`0o*K)$2^hWtp;wp
z>4nz4xT9y<I;}L3+j4Tms46kBHsPY{GZf$;xv9Bj8Qzdvy(7XdvM!t$G8DSQ`Domq
z<W+a!UIp43XV%i=!3Z@*rg?tf@9$wSWX(yBeAeOPz=-9x?al~`NcVN;GH95H>+Lm6
zY-5EOIL-iH)-C2SM>tPTkUKej(=E{!16JUQ<j6wQ^@aYN#^3>UKJFSjJ+@~_a;tI~
zwHR7rRC+9-5&i(ZsO<5_F|W!<LK&<9`79cAgBGC;S<&aOs;kK(i!(_Ll~=^=kU-c*
z;7lu&a9%=hYLqs7ftjuo>sT&>9BbvVXo+;wkEpN=`>iJz3UN8zqCH-3bYCBL(sKnq
z*=j~f3~TSAT~hPE6UGB~!kretw3+lne!!B%4<`+~>)UKJr%348k9pJgyDO<fWuy1G
z)7)p&QJX*yCzsca)9SCArjx!G5Fw8?r&%`*N^_%U8Z6(Jx-o9*weGkwiH$<3o&1m0
z!TKz|X*Uf5iS?{$@7H(DE@gU{ih8)89`XAhm6e{$j~*#2j#l5$!)^+}{k6pWya7wd
zsI(RH!Et&wUN88V&9@s@i?Z^GwqKlyi%GPY%NL9!n3kU${-~KZp8dn706L_AmDk}$
z7}f@5kz0X|hBNNBck^i{K~G%@?xtez3hg$JvvfC&ySNPCDpWS!!7Q|`9~RN58sI7_
z@QHQO=*R3<{eJvJBaD%YpvmaC$w<V^PK*%-QELQahJ(#CEJ)(+q<ePgr>8bXH7W)+
zIChtg;)Pg*V}(!*adD7ago_}z*gfY2K9!c<B?~ylz|j{J>=MG<7xnPGwZJ>ap4TWN
zN7~hzu<ZJF990!}8I)%X`asD}(IqPD-cH|T{5=BA1l{0-E(tV+@r=tQV$|;@r7TVp
z8m@Hiy1z1x>~M2T2bX~~l`L1;t!Q0ELvJZu=IN(Qvd?`_3ugr}i77&npGLSsZG7Ff
zK-<ir4Ol-Q%~M93O;g>VFZj-NbMnL_Hw|J)CBi^hjFh3ZVh=(=jnu9bdL%5kHoh4K
zuIa4!!D_qB2Oy3Xa(qV|e}5230@Zqek9&<G2xTu2?&r>nYby-u<wP%}BlxgC8A0_T
zP)Br|;#REz2!?m``R!d~A*dbGH_R?QqHD!C$^Y*C#k)(l1fLN=u*OW<1*Q3S&EMwT
zLX!i1XVoQjjp$9hfz}m)KmiX-iAwMt@6M;)SYu6e;LSqNK|AQPFdJ98$=x$Qhipx|
zKbCU1#fCN87!oJ~{up)F@7~RO%%lF|^?4uZ_px@>=o|5|lv3xJkQIbB{w}e(H(%DE
z%`<!91lm`5R}kLy*UzPC^dx>RQmW<SbI7bwI&vGmB3~B7>x-2p`%J&ZAe08Q+U?Vb
z=E{?E0TUUZMDM^=cJSxZN$<JA=jabs!z!m^r=!VE7ptf9eGwC-D9~Gj@<IYdzy&kd
zNRfb$sxPzBVv9NP9RK2g_U9+K^WFs}i$>e|?_clV0ski<Cok{6)v<X1cZ{zX#ArM~
zlFr|L87iG&K>Wam)B6sSG-OT(rSH9n-j3?ot)j`DqEtiV@gU{t@W3;VN48}cu8+mT
z5hRGX@sYt56)mS>&t6M-XYn#qD@V;?s&AeYmy89zRx8t{jl!XjPTM<knf;%(6HBhr
z`{TI27RZ?RnukI|gSoZxd+AEjRWo)m^;sdV$df}?lQs95Y9YJW%EDp<jcQC?y9Z@W
z$%5(=?W8n?vihe-ZT9A;ZO1=H#n(>U-)5Ie)L9ut2;_u7#73xxLA`Af%4a(%70(lv
zzq@sH&puCg($!2%ztFJN#CB>a)}K<<iBm=zoMULb%GOt)CZH|}g2Hdw;eYmq-w1DE
zM83EewhG;Z=KU!8@tJ2Ax2wT*^I4wJ+suysSTTZ!0xqsc-;34&kBgm--C0nH<g}-u
zhiJ-}N4LDq!}^!5``?#4e#}z2@(fe`#B>)6Lun)W5S%bY{~;53^CESoX+hh?<e=RQ
zuHgIfjw{c1lYFCeqfyJgjaSsA%#tGwa9Y*CpBg=FhJs;<_=$;{kaCUn(e*&SkLxe2
z@$D-XClXWcqJ?E6aW3M1ah~z_<Z{6CY*=nfk~wdjbNRXTEZrHx(dZSD{}r`(9%j7}
zP<(QVb6Bv;{96Z5fh7jA#gd_dA%7J_2P&hg$ce|ZF|mBR4Zifo_-`&&?)cJ5puSAb
zG&4Eo--Ig6EHamkfqb#>c%d1<D@1*UnTGZ+KaRh`11|sl_kX|Ni4UG(ro9Xyz>P<n
zWhNuN1pgxW-*@1rxLIbY%UFZE@iQ|(=z(1c^KDcxI3C8z5{&#kGCFS9@2WL)+`PYQ
z?a*-ph1P))({UqyyK2yZxp{v73<m$sDoY23{6!Cj{?2Gi2V{o*{r+D*9bz_))(&)F
z@D*2%|3%kaX6Y3J+?pJ0?C4mH;-9jyJdd|>X2y#jWn%%Mf_dYy*;($OLm)r`Tvm1#
zeM%4*4h05t`J%I?!v?;Ap&$e|0#=jG&Z2<A$qj=euD=h4BjCUQue9OjhQmSe)Eq1q
z=sY|SNDUn)3keDaHyi=wsX=hDu%KY@K%p?+nr9DKHZjoQ+(52dRVd3nB%B)p$mB{_
z5D0`9klTMS5CV#Ta06E0D)z@P06IA2(i!L)9gOD>3<14N^9w=(lz-3rk_it45cJi?
z2wvX*2fHRS5CX;x;{n#-T3a|2SlBBVKzHe7_CM^BKhPKq{P`FB8-w%yi9sNLb_ir^
z{-Z4jaTNpHdLZCGCI<rp^8e3h0LH%w!GAV}f`L$-%h%u1x}<}Gt}Y#bK@sq)%XCQx
z`z`7#ZJ~(2BnZs^-wt`fe|8At<-ICaphFn=GMMb@U|<mN9~dwAGOP7fI$rL}z4Z?U
z@CQ2Ng<cc&Z|s`501N?!{2>Ki806~y_)Q1?FOy3i+@L>s05!9a*EZ56A?TXYTy_Y#
ztS$G?sDBR{!F!oq`U(bta)YlA24He&AFtB^a=(NC1NGOg2gsn1Kg17#^8B%$5Evlq
zKRSf)0;cOK6Bvy9y0jp?h)WaqFC7w?FVK|d3ium?fUa&kfDQ)d`2*txRPMhW0&RJ@
z0qb%NgYfcRdh-3t_%AvL^128C{rF>zFLma+BJqL&Hh**oy}YViWdep>8vCml1oXeQ
z$p49-o0}W@$9nSeApYzSuu<2=4=DN{3dhTHRnq~T0h9yEb5$1re?MLxAR6=P2!X)>
z0=tF*jj!tm&>{TN9rC}k12Epp3U*g9z=&Rx!ev`H82KmR^{vPaMgSJ_Djfva?U(+H
zSD7FH({LSwL;suz9N6)H(;@%Xer}+M-gOHH1)ysO2OvT?;@W`)C=3{KS%2=ogSl*b
z-ADl#^t!c00wCnF0^ZfeJc#RC=d$r-rM_!)@awt&g+syD^$5VYFK-xE+XCAOLihXp
z`Nsxao}S!)Fo6IE`qjplvbw$`022`On)YAPUEhjuFc9_mPk+eYR}St=@Xy8&ZrDGB
z|Il$mt|=TKKyJuYtp@so0;kjUK|^_9*D)k;DDwO<Y6uVPPYin95+Z<Ay1qRD#=lDg
z{8!Wf9bmw(4hFz@E-!z-<^Mk$a0y<wQV0kL3ca@90XoRFGoSmC?y6}80T?%+4ObY0
zd3d;i3*J8%^76)aNyvNc0&<D*@LW?GfC(?`PYiMGZ~|lsnE7iv;*!VThtB`>4HyiP
z8`xw2jOO?C^Rn@^!CZC-Tps_RgI?Q;mvk`5)ujVw3kHnb)wY+|@2!0)|G&k5NeI1W
z34dePX9w76;J$XfLqONBi5dz5RPztU@GD#Pl0U!%j<{yc01N@Yc5S+}9*Ap~lHb_B
z+v)EMJh0pUcfkBJIRLwMK?T}!BVm`W>6fp634vSK^-*&Jk2%-H3Sif6K0t>s=pT~d
zh5`4r>pXb>zH0#U|CcdvmRuJhH*i0_E^2PTO8wCx9CFP_0fT|_{z(UH+5hqY_yao@
zV0^tpFu?e_WPoz2*AA1*w!D8V6L9Uk+}l^A$^*Xsd;o?581kA$0ze+_Kh_Dr{!mOF
z;BIhzfINUr|L^QBC&vRkOkI~C5Ag8w*M$GM{{e)6USG9Rml)3<YsUix7Vp~ZAUuHi
z{{y@7qytC;Fv@^QzuNXM@Y>0CX}!UhVGLJ92wX;?p!jnMmb=1WUTh$e;(@Y_jRPGZ
s#mk4|-++|0i46b%L;36T0DA`mI|moLXC~N}T>?6X&BXLbK?3{#07f1(RsaA1

diff --git a/userguide/site/search/search_index.json b/userguide/site/search/search_index.json
index 4a4f2b6c..d01032c8 100644
--- a/userguide/site/search/search_index.json
+++ b/userguide/site/search/search_index.json
@@ -1 +1 @@
-{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Getting Started JAMS is a server application used to enroll Jami clients into an Enterprise context. Currently, JAMS supports 3 sources for user authentication: LDAP, Active Directory and an embedded database. Obtaining JAMS The latest Beta build of JAMS can be downloaded at: https://git.jami.net/savoirfairelinux/jami-jams System Requirements Windows, Linux or Mac OS operating system Java 11 or higher 4 GB RAM 1 CPU JAMS Concepts JAMS was built with security in mind, therefore it is intimately related to the X509 certificate management workflows. The central concepts which are used in JAMS are the Certification Authority (CA) and the Certificate Signing Requests (CSR). In the JAMS paradigm, a device (Jami client) requests a certificate to the server then presents it to other devices to be recognized as a valid member of the organization. Therefore, JAMS must be provided with a certificate authority in order to work properly. In order to be completely secure, JAMS does not generate certificates for devices, but instead issues certificates based on a certificate signing request sent to it by the device, therefore removing the need to send a private key over the wire. The diagram below shows the entire process of how a device enrolls with JAMS: \u200b Getting Started Download the latest version of JAMS from: https://jami.net/services/ Unpack the .tar file to a directory of your choice. It is mandatory to run JAMS using a secure SSL connection. To request your SSL certificate files using OpenSSL and generate a pair of PEM and KEY, enter the following command: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Current limitation: JAMS does not support reading encrypted private keys which require a password unlock. Navigate to the directory where you have extracted the JAMS package and execute the following command: java -jar jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY Argument Details PORT The TCP port on which you want JAMS to listen for incoming connections SSL_CERTIFICATE The location of the PEM-formatted SSL Certificate file SSL_CERTIFICATE_KEY The location of the PEM-formatted key file which is used with the SSL Certificate file from above An example of the command would be: java -jar jams-launcher 443 server.pem server.key Please note that any port above 1024 can be safely used to run JAMS. Step 1: create your admininistrator account This account will have administrative control and the rights to manage your users and group of Jami users. Step 2: setup the Certification Authority The second step is to define your Certification Authority. Important: a CA is not a server-side ssl certificate, it is a certificate which has the power to issue other certificates. Do not use the import option unless your company's security officer has issued you a CA certificate. Most commercially available certificates (i.e. those issued by godaddy, letsencrypt, etc... ) are not CA certificates. If you are an end-user we highly recommend you use to create a self-signed CA option as providing an incorrect certificate type will lead to a non-functional server. This certificate will be used to sign the enrollement requests which come from Jami devices. If you are not familiar with the X509 standard, we highly recommend you read the following articles to get familiar with the processes and practices which surround it: https://www.securew2.com/blog/public-key-infrastructure-explained/ https://cheapsslsecurity.com/blog/understanding-the-role-of-certificate-authorities-in-pki/ Step 3: setup the user database JAMS supports 3 different sources for the authentication of users: LDAP-compatible directory (such as OpenLDAP) Microsoft Active Directory Local embedded database Option 1: LDAP authentication If your company provides you with LDAP directory for user management, you will need to know its access information and a automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Use StartTLS Your LDAP server can be configured to use either TLS/STARTTLS or PLAIN sockets, if STARTTLS is used you should mark this as true Server Address The address of your server with respect to the JAMS server, your LDAP does not need to be publicly accessible but should be accessible to JAMS. You should have either ldap:// or ldaps:// preceding the address. Port The port on which the LDAP server is listening for requests (usually 389 for PLAIN/STARTTLS and 636 for SSL/TLS) Administrator Username This is NOT the LDAP's administration account credentials, but the credentials of the account which has Read permissions to the LDAP database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=org Password The password used by the account above. BaseDN The base realm where the users accounts are located, in most cases it is ou=users,dc=company,dc=org Option 2: Microsoft Active Directory If your company provides you with Active Directory for user management, you will need to know its access information and an automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Port The port on which Active Directory is listening (generally it is either 389 or 636) Host The address of your server with respect to the JAMS server, your Active Directory does not need to be publicly accessible but should be accessible to JAMS. Administrator Username This is NOT the Active Directory's administration account credentials, but the credentials of the account which has Read permissions to the Active Directory database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=net Password The password used by the account above. Use SSL Whenever this server uses SSL for data transmission Domain Name This is the legacy-formatted Windows Domain Name (i.e. WINDOMAIN ) Option 3: local embedded database The local database does not require any additional configuration, everything in the process is automated. This option allows you to create Jami users on the fly directly from the JAMS interface. Advanced settings: by default, the option \"Use public nameserver\" is disabled. Usernames of your Jami users will not be stored on the public Jami nameserver and your users will only be able to communicate with users from your organization. If you want your users to be searchable by external users and allow them to communicate with any Jami users, and not only the one from your organization, enable this option, Step 4: setup the server parameters Parameter Details CORS Domain Name The domain on which the JAMS client and administration UI will be running. Certificate Revocation List Lifetime The frequency at which the CRL is updated in memory Device Lifetime How long a device's certificate is valid before being considered stale and requiring re-enrollement User Account Lifetime How long a user account is valid before being considered stale and requiring re-enrollement Important The CORS Domain Name corresponds to the web address used to access the Web UI. By default, it is set to the same URL as the one where you deploy JAMS. Only set a different URL if the Web UI has a different URL to the one where JAMS is deployed. Click on \"Set Server Parameters\" to finalize the configuration. You will be redirected to the JAMS interface. If you have configured JAMS with your LDAP or Active Directory, the list of users should of your organization shoud be visible in JAMS. If you have selected the local embedded database, you can now start creating new users by clicking on \"Create User\"","title":"Home"},{"location":"#getting-started","text":"JAMS is a server application used to enroll Jami clients into an Enterprise context. Currently, JAMS supports 3 sources for user authentication: LDAP, Active Directory and an embedded database.","title":"Getting Started"},{"location":"#obtaining-jams","text":"The latest Beta build of JAMS can be downloaded at: https://git.jami.net/savoirfairelinux/jami-jams","title":"Obtaining JAMS"},{"location":"#system-requirements","text":"Windows, Linux or Mac OS operating system Java 11 or higher 4 GB RAM 1 CPU","title":"System Requirements"},{"location":"#jams-concepts","text":"JAMS was built with security in mind, therefore it is intimately related to the X509 certificate management workflows. The central concepts which are used in JAMS are the Certification Authority (CA) and the Certificate Signing Requests (CSR). In the JAMS paradigm, a device (Jami client) requests a certificate to the server then presents it to other devices to be recognized as a valid member of the organization. Therefore, JAMS must be provided with a certificate authority in order to work properly. In order to be completely secure, JAMS does not generate certificates for devices, but instead issues certificates based on a certificate signing request sent to it by the device, therefore removing the need to send a private key over the wire. The diagram below shows the entire process of how a device enrolls with JAMS: \u200b","title":"JAMS Concepts"},{"location":"#getting-started_1","text":"Download the latest version of JAMS from: https://jami.net/services/ Unpack the .tar file to a directory of your choice. It is mandatory to run JAMS using a secure SSL connection. To request your SSL certificate files using OpenSSL and generate a pair of PEM and KEY, enter the following command: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Current limitation: JAMS does not support reading encrypted private keys which require a password unlock. Navigate to the directory where you have extracted the JAMS package and execute the following command: java -jar jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY Argument Details PORT The TCP port on which you want JAMS to listen for incoming connections SSL_CERTIFICATE The location of the PEM-formatted SSL Certificate file SSL_CERTIFICATE_KEY The location of the PEM-formatted key file which is used with the SSL Certificate file from above An example of the command would be: java -jar jams-launcher 443 server.pem server.key Please note that any port above 1024 can be safely used to run JAMS.","title":"Getting Started"},{"location":"#step-1-create-your-admininistrator-account","text":"This account will have administrative control and the rights to manage your users and group of Jami users.","title":"Step 1: create your admininistrator account"},{"location":"#step-2-setup-the-certification-authority","text":"The second step is to define your Certification Authority. Important: a CA is not a server-side ssl certificate, it is a certificate which has the power to issue other certificates. Do not use the import option unless your company's security officer has issued you a CA certificate. Most commercially available certificates (i.e. those issued by godaddy, letsencrypt, etc... ) are not CA certificates. If you are an end-user we highly recommend you use to create a self-signed CA option as providing an incorrect certificate type will lead to a non-functional server. This certificate will be used to sign the enrollement requests which come from Jami devices. If you are not familiar with the X509 standard, we highly recommend you read the following articles to get familiar with the processes and practices which surround it: https://www.securew2.com/blog/public-key-infrastructure-explained/ https://cheapsslsecurity.com/blog/understanding-the-role-of-certificate-authorities-in-pki/","title":"Step 2: setup the Certification Authority"},{"location":"#step-3-setup-the-user-database","text":"JAMS supports 3 different sources for the authentication of users: LDAP-compatible directory (such as OpenLDAP) Microsoft Active Directory Local embedded database","title":"Step 3: setup the user database"},{"location":"#option-1-ldap-authentication","text":"If your company provides you with LDAP directory for user management, you will need to know its access information and a automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Use StartTLS Your LDAP server can be configured to use either TLS/STARTTLS or PLAIN sockets, if STARTTLS is used you should mark this as true Server Address The address of your server with respect to the JAMS server, your LDAP does not need to be publicly accessible but should be accessible to JAMS. You should have either ldap:// or ldaps:// preceding the address. Port The port on which the LDAP server is listening for requests (usually 389 for PLAIN/STARTTLS and 636 for SSL/TLS) Administrator Username This is NOT the LDAP's administration account credentials, but the credentials of the account which has Read permissions to the LDAP database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=org Password The password used by the account above. BaseDN The base realm where the users accounts are located, in most cases it is ou=users,dc=company,dc=org","title":"Option 1: LDAP authentication"},{"location":"#option-2-microsoft-active-directory","text":"If your company provides you with Active Directory for user management, you will need to know its access information and an automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Port The port on which Active Directory is listening (generally it is either 389 or 636) Host The address of your server with respect to the JAMS server, your Active Directory does not need to be publicly accessible but should be accessible to JAMS. Administrator Username This is NOT the Active Directory's administration account credentials, but the credentials of the account which has Read permissions to the Active Directory database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=net Password The password used by the account above. Use SSL Whenever this server uses SSL for data transmission Domain Name This is the legacy-formatted Windows Domain Name (i.e. WINDOMAIN )","title":"Option 2: Microsoft Active Directory"},{"location":"#option-3-local-embedded-database","text":"The local database does not require any additional configuration, everything in the process is automated. This option allows you to create Jami users on the fly directly from the JAMS interface. Advanced settings: by default, the option \"Use public nameserver\" is disabled. Usernames of your Jami users will not be stored on the public Jami nameserver and your users will only be able to communicate with users from your organization. If you want your users to be searchable by external users and allow them to communicate with any Jami users, and not only the one from your organization, enable this option,","title":"Option 3: local embedded database"},{"location":"#step-4-setup-the-server-parameters","text":"Parameter Details CORS Domain Name The domain on which the JAMS client and administration UI will be running. Certificate Revocation List Lifetime The frequency at which the CRL is updated in memory Device Lifetime How long a device's certificate is valid before being considered stale and requiring re-enrollement User Account Lifetime How long a user account is valid before being considered stale and requiring re-enrollement Important The CORS Domain Name corresponds to the web address used to access the Web UI. By default, it is set to the same URL as the one where you deploy JAMS. Only set a different URL if the Web UI has a different URL to the one where JAMS is deployed. Click on \"Set Server Parameters\" to finalize the configuration. You will be redirected to the JAMS interface. If you have configured JAMS with your LDAP or Active Directory, the list of users should of your organization shoud be visible in JAMS. If you have selected the local embedded database, you can now start creating new users by clicking on \"Create User\"","title":"Step 4: setup the server parameters"},{"location":"admin/","text":"Troubleshooting and resetting If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder ( /jams): The internal jams folder: /jams/jams derby.log oauth.key oauth.pub config.json This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server. Admin Guide By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed to help you setup Jams to run in a production environment. JAMS & Nginx It is generally not recommended to expose JAMS directly to the outside world and while it is required to run JAMS in SSL mode, we usually recommend users to place it behind Nginx or a similar web server which proxies requests between the outside world and Jams. The following is an example map of how you could configure JAMS behind Nginx (the process would be similar if you wanted to use any other type of proxying solution): The IP 10.10.0.1 is random, and should be seen as an example. Typically you would add a new site called jams-site.conf to your nginx configurations which would contain the following entries if you wanted to place an SSL certificate at the Nginx level: server { listen 443 ssl; listen [::]:443 ssl; ssl on; ssl_certificate /etc/certificates/mycertificate.pem ssl_certificate_key /etc/certificates/mycertificatekey.pem client_max_body_size 100M; server_name jams.mycompany.com; location / { proxy_pass http://10.10.0.1:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } } This is the preferred setup method by most admins, as local traffic is usually ran unencrypted since it is usually either inter-VM connection, a VLAN or another dedicated link. Running JAMS as a Linux Service Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure: [Unit] Description=JAMS Server [Service] Type=simple WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED] ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY [Install] WantedBy=multi-user.target The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY) Running JAMS as Windows Service Download and install JAMS Visit https://jami.net/services/ and downalod JAMS. Extract JAMS to c:\\jams Download and install JDK 11 Download JDK 11 from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html (choose the conresponding architecture of your VM) Install it using the install wizard. Download openssl to generate a key and a certificate Download OpenSSL from https://kb.firedaemon.com/support/solutions/articles/4000121705 (or choose another source https://wiki.openssl.org/index.php/Binaries) Once downloaded extract it to c:\\openssl then create a folder bin inside c:\\openssl\\bin Create a new file inside bin named openssl.cnf (make sure that the file extension is .cnd and not .cnd.txt) and copy past the following default configuration http://www.flatmtn.com/article/setting-openssl-create-certificates.html # # OpenSSL configuration file. # # Establish working directory. dir = . [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial database = $dir/certindex.txt new_certs_dir = $dir/certs certificate = $dir/cacert.pem private_key = $dir/private/cakey.pem default_days = 365 default_md = md5 preserve = no email_in_dn = no nameopt = default_ca certopt = default_ca policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 1024 # Size of keys default_keyfile = key.pem # name of generated keys default_md = md5 # message digest algorithm string_mask = nombstr # permitted characters distinguished_name = req_distinguished_name req_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string #------------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 # Default values for the above, for consistency and less typing. # Variable name Value ------------------------ ------------------------------ 0.organizationName_default = My Company localityName_default = My Town stateOrProvinceName_default = State or Providence countryName_default = US [ v3_ca ] basicConstraints = CA:TRUE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer:always [ v3_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash Add OpenSSL to Sytem Environment variables Go to Edit the system environment variables -> Environment Variables, then in System variables edit Path and add c:\\openssl\\ Configure OpenSSL Execute the following command to set the path to OpenSSL configuration. set OPENSSL_CONF=c:\\openssl\\bin\\openssl.cnf Open the command prompt and cd c:\\jams ans generate the Key and Certificate: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Follow the wizard. Once the key and certificate are generated execute the dir command you should see an output like this: c:\\jams>dir Volume in drive C has no label. Volume Serial Number is BC94-9EF2 Directory of c:\\jams 2020-11-10 12:38 PM . 2020-11-10 12:38 PM .. 2020-10-22 10:56 AM 5,186,016 jams-launcher.jar 2020-10-22 10:56 AM 33,413,882 jams-server.jar 2020-11-10 11:53 AM libs 2020-11-10 12:34 PM 1,732 server.key 2020-11-10 12:38 PM 1,336 server.pem 2020-10-22 04:05 PM 2,047,932 userguide.pdf 5 File(s) 40,650,898 bytes 3 Dir(s) 93,365,936,128 bytes free Now execute the following command tot start JAMS java -jar jams-launcher.jar PORT_NUMBER (eg. 8443 or 443) server.pem server.key Open a navigator on the server and visite https://localhost:443 or https://localhost:8443 to validate that it's working. Click CTRL + C to close the application Expose your localhost to the internet Click on Windows ans search for Windows Defender Firewall with Advanced Security. Right click on Inbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Inbound and click Finish Now right click on Outbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Outbound and click Finish. You are all set. You can now visit you application trought the server domain name or ip address on port 443 or 8443. Create a JAMS Windows Service (Embed Tomcat Server Windows Service) to start JAMS with the server In order to create a JAMS Windows Service you can use the tool NSSM provided on http://nssm.cc/download https://github.com/kirillkovalenko/nssm Once downloaded open a command prompt and change directory to nssm-2.24\\win64 then execute: nssm.exe install JAMS A GUI interface will open. In the Path field specify the path to the Java executable example: \"C:\\Program Files\\Common Files\\Oracle\\Java\\javapath\\java.exe\". In the Startup directory put the \"C:\\jams\" installation folder path. In the last field Arguments add the following arguments: -classpath \"c:\\jams\" -jar jams-launcher.jar PORT_NUMBER server.pem server.key where PORT_NUMBER is the port number you want to use to serve the application example 443 or 8443 Now your JAMS application will start with the server. Source: https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4","title":"Admin"},{"location":"admin/#troubleshooting-and-resetting","text":"If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder ( /jams): The internal jams folder: /jams/jams derby.log oauth.key oauth.pub config.json This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server.","title":"Troubleshooting and resetting"},{"location":"admin/#admin-guide","text":"By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed to help you setup Jams to run in a production environment.","title":"Admin Guide"},{"location":"admin/#jams-nginx","text":"It is generally not recommended to expose JAMS directly to the outside world and while it is required to run JAMS in SSL mode, we usually recommend users to place it behind Nginx or a similar web server which proxies requests between the outside world and Jams. The following is an example map of how you could configure JAMS behind Nginx (the process would be similar if you wanted to use any other type of proxying solution): The IP 10.10.0.1 is random, and should be seen as an example. Typically you would add a new site called jams-site.conf to your nginx configurations which would contain the following entries if you wanted to place an SSL certificate at the Nginx level: server { listen 443 ssl; listen [::]:443 ssl; ssl on; ssl_certificate /etc/certificates/mycertificate.pem ssl_certificate_key /etc/certificates/mycertificatekey.pem client_max_body_size 100M; server_name jams.mycompany.com; location / { proxy_pass http://10.10.0.1:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } } This is the preferred setup method by most admins, as local traffic is usually ran unencrypted since it is usually either inter-VM connection, a VLAN or another dedicated link.","title":"JAMS &amp; Nginx"},{"location":"admin/#running-jams-as-a-linux-service","text":"Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure: [Unit] Description=JAMS Server [Service] Type=simple WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED] ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY [Install] WantedBy=multi-user.target The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)","title":"Running JAMS as a Linux Service"},{"location":"admin/#running-jams-as-windows-service","text":"","title":"Running JAMS as Windows Service"},{"location":"admin/#download-and-install-jams","text":"Visit https://jami.net/services/ and downalod JAMS. Extract JAMS to c:\\jams","title":"Download and install JAMS"},{"location":"admin/#download-and-install-jdk-11","text":"Download JDK 11 from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html (choose the conresponding architecture of your VM) Install it using the install wizard.","title":"Download and install JDK 11"},{"location":"admin/#download-openssl-to-generate-a-key-and-a-certificate","text":"Download OpenSSL from https://kb.firedaemon.com/support/solutions/articles/4000121705 (or choose another source https://wiki.openssl.org/index.php/Binaries) Once downloaded extract it to c:\\openssl then create a folder bin inside c:\\openssl\\bin Create a new file inside bin named openssl.cnf (make sure that the file extension is .cnd and not .cnd.txt) and copy past the following default configuration http://www.flatmtn.com/article/setting-openssl-create-certificates.html # # OpenSSL configuration file. # # Establish working directory. dir = . [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial database = $dir/certindex.txt new_certs_dir = $dir/certs certificate = $dir/cacert.pem private_key = $dir/private/cakey.pem default_days = 365 default_md = md5 preserve = no email_in_dn = no nameopt = default_ca certopt = default_ca policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 1024 # Size of keys default_keyfile = key.pem # name of generated keys default_md = md5 # message digest algorithm string_mask = nombstr # permitted characters distinguished_name = req_distinguished_name req_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string #------------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 # Default values for the above, for consistency and less typing. # Variable name Value ------------------------ ------------------------------ 0.organizationName_default = My Company localityName_default = My Town stateOrProvinceName_default = State or Providence countryName_default = US [ v3_ca ] basicConstraints = CA:TRUE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer:always [ v3_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash","title":"Download openssl to generate a key and a certificate"},{"location":"admin/#add-openssl-to-sytem-environment-variables","text":"Go to Edit the system environment variables -> Environment Variables, then in System variables edit Path and add c:\\openssl\\","title":"Add OpenSSL to Sytem Environment variables"},{"location":"admin/#configure-openssl","text":"Execute the following command to set the path to OpenSSL configuration. set OPENSSL_CONF=c:\\openssl\\bin\\openssl.cnf Open the command prompt and cd c:\\jams ans generate the Key and Certificate: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Follow the wizard. Once the key and certificate are generated execute the dir command you should see an output like this: c:\\jams>dir Volume in drive C has no label. Volume Serial Number is BC94-9EF2 Directory of c:\\jams 2020-11-10 12:38 PM . 2020-11-10 12:38 PM .. 2020-10-22 10:56 AM 5,186,016 jams-launcher.jar 2020-10-22 10:56 AM 33,413,882 jams-server.jar 2020-11-10 11:53 AM libs 2020-11-10 12:34 PM 1,732 server.key 2020-11-10 12:38 PM 1,336 server.pem 2020-10-22 04:05 PM 2,047,932 userguide.pdf 5 File(s) 40,650,898 bytes 3 Dir(s) 93,365,936,128 bytes free Now execute the following command tot start JAMS java -jar jams-launcher.jar PORT_NUMBER (eg. 8443 or 443) server.pem server.key Open a navigator on the server and visite https://localhost:443 or https://localhost:8443 to validate that it's working. Click CTRL + C to close the application","title":"Configure OpenSSL"},{"location":"admin/#expose-your-localhost-to-the-internet","text":"Click on Windows ans search for Windows Defender Firewall with Advanced Security. Right click on Inbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Inbound and click Finish Now right click on Outbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Outbound and click Finish. You are all set. You can now visit you application trought the server domain name or ip address on port 443 or 8443.","title":"Expose your localhost to the internet"},{"location":"admin/#create-a-jams-windows-service-embed-tomcat-server-windows-service-to-start-jams-with-the-server","text":"In order to create a JAMS Windows Service you can use the tool NSSM provided on http://nssm.cc/download https://github.com/kirillkovalenko/nssm Once downloaded open a command prompt and change directory to nssm-2.24\\win64 then execute: nssm.exe install JAMS A GUI interface will open. In the Path field specify the path to the Java executable example: \"C:\\Program Files\\Common Files\\Oracle\\Java\\javapath\\java.exe\". In the Startup directory put the \"C:\\jams\" installation folder path. In the last field Arguments add the following arguments: -classpath \"c:\\jams\" -jar jams-launcher.jar PORT_NUMBER server.pem server.key where PORT_NUMBER is the port number you want to use to serve the application example 443 or 8443 Now your JAMS application will start with the server. Source: https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4","title":"Create a JAMS Windows Service (Embed Tomcat Server Windows Service) to start JAMS with the server"},{"location":"clients/","text":"Client Guide Depending on your operating system, we have included the tutorial on how to connect to the management server from the Windows, MacOS, Android and iOS clients. For the purposes of this tutorial, we assume that The server and the device trying to connect are either On the same network The server is publicly accessible to the outside world You have a valid username/password pair to connect to the server Connect from a Linux device Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from a Windows device Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from a MacOS device Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to account manager\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from an Android device Open Jami, go to the login page. Select the option \"Connect to management server\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from an iOS device Open Jami, go to the login page. Select the option \"Connect to account manager\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Clients"},{"location":"clients/#client-guide","text":"Depending on your operating system, we have included the tutorial on how to connect to the management server from the Windows, MacOS, Android and iOS clients. For the purposes of this tutorial, we assume that The server and the device trying to connect are either On the same network The server is publicly accessible to the outside world You have a valid username/password pair to connect to the server","title":"Client Guide"},{"location":"clients/#connect-from-a-linux-device","text":"Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from a Linux device"},{"location":"clients/#connect-from-a-windows-device","text":"Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from a Windows device"},{"location":"clients/#connect-from-a-macos-device","text":"Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to account manager\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from a MacOS device"},{"location":"clients/#connect-from-an-android-device","text":"Open Jami, go to the login page. Select the option \"Connect to management server\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from an Android device"},{"location":"clients/#connect-from-an-ios-device","text":"Open Jami, go to the login page. Select the option \"Connect to account manager\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from an iOS device"}]}
\ No newline at end of file
+{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Getting Started JAMS is a server application used to enroll Jami clients into an Enterprise context. Currently, JAMS supports 3 sources for user authentication: LDAP, Active Directory and an embedded database. Obtaining JAMS The latest Beta build of JAMS can be downloaded at: https://git.jami.net/savoirfairelinux/jami-jams System Requirements Windows, Linux or Mac OS operating system Java 11 or higher 4 GB RAM 1 CPU JAMS Concepts JAMS was built with security in mind, therefore it is intimately related to the X509 certificate management workflows. The central concepts which are used in JAMS are the Certification Authority (CA) and the Certificate Signing Requests (CSR). In the JAMS paradigm, a device (Jami client) requests a certificate to the server then presents it to other devices to be recognized as a valid member of the organization. Therefore, JAMS must be provided with a certificate authority in order to work properly. In order to be completely secure, JAMS does not generate certificates for devices, but instead issues certificates based on a certificate signing request sent to it by the device, therefore removing the need to send a private key over the wire. The diagram below shows the entire process of how a device enrolls with JAMS: \u200b Getting Started Download the latest version of JAMS from: https://jami.net/services/ Unpack the .tar file to a directory of your choice. It is mandatory to run JAMS using a secure SSL connection. To request your SSL certificate files using OpenSSL and generate a pair of PEM and KEY, enter the following command: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Current limitation: JAMS does not support reading encrypted private keys which require a password unlock. Navigate to the directory where you have extracted the JAMS package and execute the following command: java -jar jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY Argument Details PORT The TCP port on which you want JAMS to listen for incoming connections SSL_CERTIFICATE The location of the PEM-formatted SSL Certificate file SSL_CERTIFICATE_KEY The location of the PEM-formatted key file which is used with the SSL Certificate file from above An example of the command would be: java -jar jams-launcher 443 server.pem server.key Please note that any port above 1024 can be safely used to run JAMS. Step 1: create your admininistrator account This account will have administrative control and the rights to manage your users and group of Jami users. Step 2: setup the Certification Authority The second step is to define your Certification Authority. Important: a CA is not a server-side ssl certificate, it is a certificate which has the power to issue other certificates. Do not use the import option unless your company's security officer has issued you a CA certificate. Most commercially available certificates (i.e. those issued by godaddy, letsencrypt, etc... ) are not CA certificates. If you are an end-user we highly recommend you use to create a self-signed CA option as providing an incorrect certificate type will lead to a non-functional server. This certificate will be used to sign the enrollement requests which come from Jami devices. If you are not familiar with the X509 standard, we highly recommend you read the following articles to get familiar with the processes and practices which surround it: https://www.securew2.com/blog/public-key-infrastructure-explained/ https://cheapsslsecurity.com/blog/understanding-the-role-of-certificate-authorities-in-pki/ Step 3: setup the user database JAMS supports 3 different sources for the authentication of users: LDAP-compatible directory (such as OpenLDAP) Microsoft Active Directory Local embedded database Option 1: LDAP authentication If your company provides you with LDAP directory for user management, you will need to know its access information and a automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Use StartTLS Your LDAP server can be configured to use either TLS/STARTTLS or PLAIN sockets, if STARTTLS is used you should mark this as true Server Address The address of your server with respect to the JAMS server, your LDAP does not need to be publicly accessible but should be accessible to JAMS. You should have either ldap:// or ldaps:// preceding the address. Port The port on which the LDAP server is listening for requests (usually 389 for PLAIN/STARTTLS and 636 for SSL/TLS) Administrator Username This is NOT the LDAP's administration account credentials, but the credentials of the account which has Read permissions to the LDAP database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=org Password The password used by the account above. BaseDN The base realm where the users accounts are located, in most cases it is ou=users,dc=company,dc=org Option 2: Microsoft Active Directory If your company provides you with Active Directory for user management, you will need to know its access information and an automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Port The port on which Active Directory is listening (generally it is either 389 or 636) Host The address of your server with respect to the JAMS server, your Active Directory does not need to be publicly accessible but should be accessible to JAMS. Administrator Username This is NOT the Active Directory's administration account credentials, but the credentials of the account which has Read permissions to the Active Directory database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=net Password The password used by the account above. Use SSL Whenever this server uses SSL for data transmission Domain Name This is the legacy-formatted Windows Domain Name (i.e. WINDOMAIN ) Option 3: local embedded database The local database does not require any additional configuration, everything in the process is automated. This option allows you to create Jami users on the fly directly from the JAMS interface. Advanced settings: by default, the option \"Use public nameserver\" is disabled. Usernames of your Jami users will not be stored on the public Jami nameserver and your users will only be able to communicate with users from your organization. If you want your users to be searchable by external users and allow them to communicate with any Jami users, and not only the one from your organization, enable this option, Step 4: setup the server parameters Parameter Details CORS Domain Name The domain on which the JAMS client and administration UI will be running. Certificate Revocation List Lifetime The frequency at which the CRL is updated in memory Device Lifetime How long a device's certificate is valid before being considered stale and requiring re-enrollement User Account Lifetime How long a user account is valid before being considered stale and requiring re-enrollement Important The CORS Domain Name corresponds to the web address used to access the Web UI. By default, it is set to the same URL as the one where you deploy JAMS. Only set a different URL if the Web UI has a different URL to the one where JAMS is deployed. Click on \"Set Server Parameters\" to finalize the configuration. You will be redirected to the JAMS interface. If you have configured JAMS with your LDAP or Active Directory, the list of users should of your organization shoud be visible in JAMS. If you have selected the local embedded database, you can now start creating new users by clicking on \"Create User\"","title":"Home"},{"location":"#getting-started","text":"JAMS is a server application used to enroll Jami clients into an Enterprise context. Currently, JAMS supports 3 sources for user authentication: LDAP, Active Directory and an embedded database.","title":"Getting Started"},{"location":"#obtaining-jams","text":"The latest Beta build of JAMS can be downloaded at: https://git.jami.net/savoirfairelinux/jami-jams","title":"Obtaining JAMS"},{"location":"#system-requirements","text":"Windows, Linux or Mac OS operating system Java 11 or higher 4 GB RAM 1 CPU","title":"System Requirements"},{"location":"#jams-concepts","text":"JAMS was built with security in mind, therefore it is intimately related to the X509 certificate management workflows. The central concepts which are used in JAMS are the Certification Authority (CA) and the Certificate Signing Requests (CSR). In the JAMS paradigm, a device (Jami client) requests a certificate to the server then presents it to other devices to be recognized as a valid member of the organization. Therefore, JAMS must be provided with a certificate authority in order to work properly. In order to be completely secure, JAMS does not generate certificates for devices, but instead issues certificates based on a certificate signing request sent to it by the device, therefore removing the need to send a private key over the wire. The diagram below shows the entire process of how a device enrolls with JAMS: \u200b","title":"JAMS Concepts"},{"location":"#getting-started_1","text":"Download the latest version of JAMS from: https://jami.net/services/ Unpack the .tar file to a directory of your choice. It is mandatory to run JAMS using a secure SSL connection. To request your SSL certificate files using OpenSSL and generate a pair of PEM and KEY, enter the following command: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Current limitation: JAMS does not support reading encrypted private keys which require a password unlock. Navigate to the directory where you have extracted the JAMS package and execute the following command: java -jar jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY Argument Details PORT The TCP port on which you want JAMS to listen for incoming connections SSL_CERTIFICATE The location of the PEM-formatted SSL Certificate file SSL_CERTIFICATE_KEY The location of the PEM-formatted key file which is used with the SSL Certificate file from above An example of the command would be: java -jar jams-launcher 443 server.pem server.key Please note that any port above 1024 can be safely used to run JAMS.","title":"Getting Started"},{"location":"#step-1-create-your-admininistrator-account","text":"This account will have administrative control and the rights to manage your users and group of Jami users.","title":"Step 1: create your admininistrator account"},{"location":"#step-2-setup-the-certification-authority","text":"The second step is to define your Certification Authority. Important: a CA is not a server-side ssl certificate, it is a certificate which has the power to issue other certificates. Do not use the import option unless your company's security officer has issued you a CA certificate. Most commercially available certificates (i.e. those issued by godaddy, letsencrypt, etc... ) are not CA certificates. If you are an end-user we highly recommend you use to create a self-signed CA option as providing an incorrect certificate type will lead to a non-functional server. This certificate will be used to sign the enrollement requests which come from Jami devices. If you are not familiar with the X509 standard, we highly recommend you read the following articles to get familiar with the processes and practices which surround it: https://www.securew2.com/blog/public-key-infrastructure-explained/ https://cheapsslsecurity.com/blog/understanding-the-role-of-certificate-authorities-in-pki/","title":"Step 2: setup the Certification Authority"},{"location":"#step-3-setup-the-user-database","text":"JAMS supports 3 different sources for the authentication of users: LDAP-compatible directory (such as OpenLDAP) Microsoft Active Directory Local embedded database","title":"Step 3: setup the user database"},{"location":"#option-1-ldap-authentication","text":"If your company provides you with LDAP directory for user management, you will need to know its access information and a automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Use StartTLS Your LDAP server can be configured to use either TLS/STARTTLS or PLAIN sockets, if STARTTLS is used you should mark this as true Server Address The address of your server with respect to the JAMS server, your LDAP does not need to be publicly accessible but should be accessible to JAMS. You should have either ldap:// or ldaps:// preceding the address. Port The port on which the LDAP server is listening for requests (usually 389 for PLAIN/STARTTLS and 636 for SSL/TLS) Administrator Username This is NOT the LDAP's administration account credentials, but the credentials of the account which has Read permissions to the LDAP database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=org Password The password used by the account above. BaseDN The base realm where the users accounts are located, in most cases it is ou=users,dc=company,dc=org","title":"Option 1: LDAP authentication"},{"location":"#option-2-microsoft-active-directory","text":"If your company provides you with Active Directory for user management, you will need to know its access information and an automated account which has read-only rights to do use look-ups. Your admin should provide you most of this information but we do provide a detailed overview over each field in case you need some extra help: Field Details Port The port on which Active Directory is listening (generally it is either 389 or 636) Host The address of your server with respect to the JAMS server, your Active Directory does not need to be publicly accessible but should be accessible to JAMS. Administrator Username This is NOT the Active Directory's administration account credentials, but the credentials of the account which has Read permissions to the Active Directory database in order to lookup users. The format is generally cn=bot,ou=robots,dc=domain,dc=net Password The password used by the account above. Use SSL Whenever this server uses SSL for data transmission Domain Name This is the legacy-formatted Windows Domain Name (i.e. WINDOMAIN )","title":"Option 2: Microsoft Active Directory"},{"location":"#option-3-local-embedded-database","text":"The local database does not require any additional configuration, everything in the process is automated. This option allows you to create Jami users on the fly directly from the JAMS interface. Advanced settings: by default, the option \"Use public nameserver\" is disabled. Usernames of your Jami users will not be stored on the public Jami nameserver and your users will only be able to communicate with users from your organization. If you want your users to be searchable by external users and allow them to communicate with any Jami users, and not only the one from your organization, enable this option,","title":"Option 3: local embedded database"},{"location":"#step-4-setup-the-server-parameters","text":"Parameter Details CORS Domain Name The domain on which the JAMS client and administration UI will be running. Certificate Revocation List Lifetime The frequency at which the CRL is updated in memory Device Lifetime How long a device's certificate is valid before being considered stale and requiring re-enrollement User Account Lifetime How long a user account is valid before being considered stale and requiring re-enrollement Important The CORS Domain Name corresponds to the web address used to access the Web UI. By default, it is set to the same URL as the one where you deploy JAMS. Only set a different URL if the Web UI has a different URL to the one where JAMS is deployed. Click on \"Set Server Parameters\" to finalize the configuration. You will be redirected to the JAMS interface. If you have configured JAMS with your LDAP or Active Directory, the list of users should of your organization shoud be visible in JAMS. If you have selected the local embedded database, you can now start creating new users by clicking on \"Create User\"","title":"Step 4: setup the server parameters"},{"location":"admin/","text":"Admin Guide By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed to help you setup Jams to run in a production environment. JAMS & Nginx It is generally not recommended to expose JAMS directly to the outside world and while it is required to run JAMS in SSL mode, we usually recommend users to place it behind Nginx or a similar web server which proxies requests between the outside world and Jams. The following is an example map of how you could configure JAMS behind Nginx (the process would be similar if you wanted to use any other type of proxying solution): The IP 10.10.0.1 is random, and should be seen as an example. Typically you would add a new site called jams-site.conf to your nginx configurations which would contain the following entries if you wanted to place an SSL certificate at the Nginx level: server { listen 443 ssl; listen [::]:443 ssl; ssl on; ssl_certificate /etc/certificates/mycertificate.pem ssl_certificate_key /etc/certificates/mycertificatekey.pem client_max_body_size 100M; server_name jams.mycompany.com; location / { proxy_pass http://10.10.0.1:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } } This is the preferred setup method by most admins, as local traffic is usually ran unencrypted since it is usually either inter-VM connection, a VLAN or another dedicated link. Troubleshooting and resetting If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder ( /jams): The internal jams folder: /jams/jams derby.log oauth.key oauth.pub config.json This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server. Running JAMS as Windows Service Download and install JAMS Visit https://jami.net/services/ and downalod JAMS. Extract JAMS to c:\\jams Download and install JDK 11 Download JDK 11 from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html (choose the conresponding architecture of your VM) Install it using the install wizard. Download openssl to generate a key and a certificate Download OpenSSL from https://kb.firedaemon.com/support/solutions/articles/4000121705 (or choose another source https://wiki.openssl.org/index.php/Binaries) Once downloaded extract it to c:\\openssl then create a folder bin inside c:\\openssl\\bin Create a new file inside bin named openssl.cnf (make sure that the file extension is .cnd and not .cnd.txt) and copy past the following default configuration http://www.flatmtn.com/article/setting-openssl-create-certificates.html # # OpenSSL configuration file. # # Establish working directory. dir = . [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial database = $dir/certindex.txt new_certs_dir = $dir/certs certificate = $dir/cacert.pem private_key = $dir/private/cakey.pem default_days = 365 default_md = md5 preserve = no email_in_dn = no nameopt = default_ca certopt = default_ca policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 1024 # Size of keys default_keyfile = key.pem # name of generated keys default_md = md5 # message digest algorithm string_mask = nombstr # permitted characters distinguished_name = req_distinguished_name req_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string #------------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 # Default values for the above, for consistency and less typing. # Variable name Value ------------------------ ------------------------------ 0.organizationName_default = My Company localityName_default = My Town stateOrProvinceName_default = State or Providence countryName_default = US [ v3_ca ] basicConstraints = CA:TRUE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer:always [ v3_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash Add OpenSSL to Sytem Environment variables Go to Edit the system environment variables -> Environment Variables, then in System variables edit Path and add c:\\openssl\\ Configure OpenSSL Execute the following command to set the path to OpenSSL configuration. set OPENSSL_CONF=c:\\openssl\\bin\\openssl.cnf Open the command prompt and cd c:\\jams ans generate the Key and Certificate: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Follow the wizard. Once the key and certificate are generated execute the dir command you should see an output like this: c:\\jams>dir Volume in drive C has no label. Volume Serial Number is BC94-9EF2 Directory of c:\\jams 2020-11-10 12:38 PM . 2020-11-10 12:38 PM .. 2020-10-22 10:56 AM 5,186,016 jams-launcher.jar 2020-10-22 10:56 AM 33,413,882 jams-server.jar 2020-11-10 11:53 AM libs 2020-11-10 12:34 PM 1,732 server.key 2020-11-10 12:38 PM 1,336 server.pem 2020-10-22 04:05 PM 2,047,932 userguide.pdf 5 File(s) 40,650,898 bytes 3 Dir(s) 93,365,936,128 bytes free Now execute the following command tot start JAMS java -jar jams-launcher.jar PORT_NUMBER (eg. 8443 or 443) server.pem server.key Open a navigator on the server and visite https://localhost:443 or https://localhost:8443 to validate that it's working. Click CTRL + C to close the application Expose your localhost to the internet Click on Windows ans search for Windows Defender Firewall with Advanced Security. Right click on Inbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Inbound and click Finish Now right click on Outbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Outbound and click Finish. You are all set. You can now visit you application trought the server domain name or ip address on port 443 or 8443. Create a JAMS Windows Service (Embed Tomcat Server Windows Service) to start JAMS with the server In order to create a JAMS Windows Service you can use the tool NSSM provided on http://nssm.cc/download https://github.com/kirillkovalenko/nssm Once downloaded open a command prompt and change directory to nssm-2.24\\win64 then execute: nssm.exe install JAMS A GUI interface will open. In the Path field specify the path to the Java executable example: \"C:\\Program Files\\Common Files\\Oracle\\Java\\javapath\\java.exe\". In the Startup directory put the \"C:\\jams\" installation folder path. In the last field Arguments add the following arguments: -classpath \"c:\\jams\" -jar jams-launcher.jar PORT_NUMBER server.pem server.key where PORT_NUMBER is the port number you want to use to serve the application example 443 or 8443 Now your JAMS application will start with the server. Source: https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4 Running JAMS as a Linux Service Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure: [Unit] Description=JAMS Server [Service] Type=simple WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED] ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY [Install] WantedBy=multi-user.target The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)","title":"Admin"},{"location":"admin/#admin-guide","text":"By default JAMS runs an embedded tomcat server visible on port 8080, however this is not practical for many reasons. This guide is designed to help you setup Jams to run in a production environment.","title":"Admin Guide"},{"location":"admin/#jams-nginx","text":"It is generally not recommended to expose JAMS directly to the outside world and while it is required to run JAMS in SSL mode, we usually recommend users to place it behind Nginx or a similar web server which proxies requests between the outside world and Jams. The following is an example map of how you could configure JAMS behind Nginx (the process would be similar if you wanted to use any other type of proxying solution): The IP 10.10.0.1 is random, and should be seen as an example. Typically you would add a new site called jams-site.conf to your nginx configurations which would contain the following entries if you wanted to place an SSL certificate at the Nginx level: server { listen 443 ssl; listen [::]:443 ssl; ssl on; ssl_certificate /etc/certificates/mycertificate.pem ssl_certificate_key /etc/certificates/mycertificatekey.pem client_max_body_size 100M; server_name jams.mycompany.com; location / { proxy_pass http://10.10.0.1:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } } This is the preferred setup method by most admins, as local traffic is usually ran unencrypted since it is usually either inter-VM connection, a VLAN or another dedicated link.","title":"JAMS &amp; Nginx"},{"location":"admin/#troubleshooting-and-resetting","text":"If you ever need to restart from 0 (i.e. reset everything and drop existing data) you can do so by deleting the following files in the distribution folder ( /jams): The internal jams folder: /jams/jams derby.log oauth.key oauth.pub config.json This will reset the server to its original state and you will be able to run the configuration wizard again. Before performing this operation, please make sure to shutdown the server.","title":"Troubleshooting and resetting"},{"location":"admin/#running-jams-as-windows-service","text":"","title":"Running JAMS as Windows Service"},{"location":"admin/#download-and-install-jams","text":"Visit https://jami.net/services/ and downalod JAMS. Extract JAMS to c:\\jams","title":"Download and install JAMS"},{"location":"admin/#download-and-install-jdk-11","text":"Download JDK 11 from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html (choose the conresponding architecture of your VM) Install it using the install wizard.","title":"Download and install JDK 11"},{"location":"admin/#download-openssl-to-generate-a-key-and-a-certificate","text":"Download OpenSSL from https://kb.firedaemon.com/support/solutions/articles/4000121705 (or choose another source https://wiki.openssl.org/index.php/Binaries) Once downloaded extract it to c:\\openssl then create a folder bin inside c:\\openssl\\bin Create a new file inside bin named openssl.cnf (make sure that the file extension is .cnd and not .cnd.txt) and copy past the following default configuration http://www.flatmtn.com/article/setting-openssl-create-certificates.html # # OpenSSL configuration file. # # Establish working directory. dir = . [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial database = $dir/certindex.txt new_certs_dir = $dir/certs certificate = $dir/cacert.pem private_key = $dir/private/cakey.pem default_days = 365 default_md = md5 preserve = no email_in_dn = no nameopt = default_ca certopt = default_ca policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 1024 # Size of keys default_keyfile = key.pem # name of generated keys default_md = md5 # message digest algorithm string_mask = nombstr # permitted characters distinguished_name = req_distinguished_name req_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string #------------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 # Default values for the above, for consistency and less typing. # Variable name Value ------------------------ ------------------------------ 0.organizationName_default = My Company localityName_default = My Town stateOrProvinceName_default = State or Providence countryName_default = US [ v3_ca ] basicConstraints = CA:TRUE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer:always [ v3_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash","title":"Download openssl to generate a key and a certificate"},{"location":"admin/#add-openssl-to-sytem-environment-variables","text":"Go to Edit the system environment variables -> Environment Variables, then in System variables edit Path and add c:\\openssl\\","title":"Add OpenSSL to Sytem Environment variables"},{"location":"admin/#configure-openssl","text":"Execute the following command to set the path to OpenSSL configuration. set OPENSSL_CONF=c:\\openssl\\bin\\openssl.cnf Open the command prompt and cd c:\\jams ans generate the Key and Certificate: openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem Follow the wizard. Once the key and certificate are generated execute the dir command you should see an output like this: c:\\jams>dir Volume in drive C has no label. Volume Serial Number is BC94-9EF2 Directory of c:\\jams 2020-11-10 12:38 PM . 2020-11-10 12:38 PM .. 2020-10-22 10:56 AM 5,186,016 jams-launcher.jar 2020-10-22 10:56 AM 33,413,882 jams-server.jar 2020-11-10 11:53 AM libs 2020-11-10 12:34 PM 1,732 server.key 2020-11-10 12:38 PM 1,336 server.pem 2020-10-22 04:05 PM 2,047,932 userguide.pdf 5 File(s) 40,650,898 bytes 3 Dir(s) 93,365,936,128 bytes free Now execute the following command tot start JAMS java -jar jams-launcher.jar PORT_NUMBER (eg. 8443 or 443) server.pem server.key Open a navigator on the server and visite https://localhost:443 or https://localhost:8443 to validate that it's working. Click CTRL + C to close the application","title":"Configure OpenSSL"},{"location":"admin/#expose-your-localhost-to-the-internet","text":"Click on Windows ans search for Windows Defender Firewall with Advanced Security. Right click on Inbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Inbound and click Finish Now right click on Outbound Rules and click on New Rule... Select Port click next and specify the port you want to use example 443 or 8443. Click next and select Allow the connection and click next. Leave all of Domain Private and Public select and click next. Name you Rule JAMS Outbound and click Finish. You are all set. You can now visit you application trought the server domain name or ip address on port 443 or 8443.","title":"Expose your localhost to the internet"},{"location":"admin/#create-a-jams-windows-service-embed-tomcat-server-windows-service-to-start-jams-with-the-server","text":"In order to create a JAMS Windows Service you can use the tool NSSM provided on http://nssm.cc/download https://github.com/kirillkovalenko/nssm Once downloaded open a command prompt and change directory to nssm-2.24\\win64 then execute: nssm.exe install JAMS A GUI interface will open. In the Path field specify the path to the Java executable example: \"C:\\Program Files\\Common Files\\Oracle\\Java\\javapath\\java.exe\". In the Startup directory put the \"C:\\jams\" installation folder path. In the last field Arguments add the following arguments: -classpath \"c:\\jams\" -jar jams-launcher.jar PORT_NUMBER server.pem server.key where PORT_NUMBER is the port number you want to use to serve the application example 443 or 8443 Now your JAMS application will start with the server. Source: https://medium.com/@lk.snatch/jar-file-as-windows-service-bonus-jar-to-exe-1b7b179053e4","title":"Create a JAMS Windows Service (Embed Tomcat Server Windows Service) to start JAMS with the server"},{"location":"admin/#running-jams-as-a-linux-service","text":"Running JAMS as a Linux Service is fairly straightforward with systemd - you simply created a service unit file with the following structure: [Unit] Description=JAMS Server [Service] Type=simple WorkingDirectory=[DIRECTORY WHERE JAMS WAS UNZIPPED] ExecStart=/usr/bin/java -jar [DIRECTORY WHERE JAMS WAS UNZIPPED]/jams-launcher.jar PORT SSL_CERTIFICATE SSL_CERTIFICATE_KEY [Install] WantedBy=multi-user.target The parameters PORT, SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are optional (however, PORT can be used alone whereas the SSL_CERTIFICATE comes in pair with SSL_CERTIFICATE_KEY)","title":"Running JAMS as a Linux Service"},{"location":"clients/","text":"Client Guide Depending on your operating system, we have included the tutorial on how to connect to the management server from the Windows, MacOS, Android and iOS clients. For the purposes of this tutorial, we assume that The server and the device trying to connect are either On the same network The server is publicly accessible to the outside world You have a valid username/password pair to connect to the server Connect from a Linux device Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from a Windows device Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from a MacOS device Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to account manager\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from an Android device Open Jami, go to the login page. Select the option \"Connect to management server\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password. Connect from an iOS device Open Jami, go to the login page. Select the option \"Connect to account manager\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Clients"},{"location":"clients/#client-guide","text":"Depending on your operating system, we have included the tutorial on how to connect to the management server from the Windows, MacOS, Android and iOS clients. For the purposes of this tutorial, we assume that The server and the device trying to connect are either On the same network The server is publicly accessible to the outside world You have a valid username/password pair to connect to the server","title":"Client Guide"},{"location":"clients/#connect-from-a-linux-device","text":"Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from a Linux device"},{"location":"clients/#connect-from-a-windows-device","text":"Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to a JAMS server\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from a Windows device"},{"location":"clients/#connect-from-a-macos-device","text":"Open Jami, go to the login page. Click on \"Advanced\": Select the option \"Connect to account manager\" which will lead you to the following screen: The Jami Account Management Server URL in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from a MacOS device"},{"location":"clients/#connect-from-an-android-device","text":"Open Jami, go to the login page. Select the option \"Connect to management server\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from an Android device"},{"location":"clients/#connect-from-an-ios-device","text":"Open Jami, go to the login page. Select the option \"Connect to account manager\" which will lead you to the following screen: The server in this case would be the DNS address of your server and the username and password which correspond to your account. If you have configured the server with an LDAP/AD backend, it would be your LDAP/AD username and password.","title":"Connect from an iOS device"}]}
\ No newline at end of file
diff --git a/userguide/site/sitemap.xml.gz b/userguide/site/sitemap.xml.gz
index 17d31fd5873d0f1314fdcb129c7fb43c9f9e271e..4f03892e270c174ea05b276552e2d9d2f9f3173c 100644
GIT binary patch
delta 14
VcmX@ec#x4zzMF$1`p`tS-2fpR1hfDE

delta 14
VcmX@ec#x4zzMF%?YUf0@-2fm{1d0Fv

-- 
GitLab