From f1288d384e7fa4c48f0c897af8dc269c3da6e26c Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Thu, 13 Aug 2020 22:08:15 +0200 Subject: [PATCH] Update documentation --- tools/convert-all-pdfs.sh | 29 +++++++++++ website/site/content/docs/joex/_index.md | 2 +- .../content/docs/tools/convert-all-pdf.md | 46 ++++++++++++++++++ .../site/content/docs/webapp/sources-edit.png | Bin 0 -> 47084 bytes website/site/content/docs/webapp/uploading.md | 19 +++++--- 5 files changed, 87 insertions(+), 9 deletions(-) create mode 100755 tools/convert-all-pdfs.sh create mode 100644 website/site/content/docs/tools/convert-all-pdf.md create mode 100644 website/site/content/docs/webapp/sources-edit.png diff --git a/tools/convert-all-pdfs.sh b/tools/convert-all-pdfs.sh new file mode 100755 index 00000000..5e47e2e1 --- /dev/null +++ b/tools/convert-all-pdfs.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# +# Simple script to authenticate with docspell and trigger the "convert +# all pdf" route that submits a task to convert all pdf files using +# ocrmypdf. + +set -e + +BASE_URL="${1:-http://localhost:7880}" +LOGIN_URL="$BASE_URL/api/v1/open/auth/login" +TRIGGER_URL="$BASE_URL/api/v1/sec/item/convertallpdfs" + +echo "Login to trigger converting all pdfs." +echo "Using url: $BASE_URL" +echo -n "Account: " +read USER +echo -n "Password: " +read -s PASS +echo + +auth=$(curl --fail -XPOST --silent --data-binary "{\"account\":\"$USER\", \"password\":\"$PASS\"}" "$LOGIN_URL") + +if [ "$(echo $auth | jq .success)" == "true" ]; then + echo "Login successful" + auth_token=$(echo $auth | jq -r .token) + curl --fail -XPOST -H "X-Docspell-Auth: $auth_token" "$TRIGGER_URL" +else + echo "Login failed." +fi diff --git a/website/site/content/docs/joex/_index.md b/website/site/content/docs/joex/_index.md index c9ac7fd7..bc0bd517 100644 --- a/website/site/content/docs/joex/_index.md +++ b/website/site/content/docs/joex/_index.md @@ -67,7 +67,7 @@ logged in. The relevant part of the config file regarding the scheduler is shown below with some explanations. -``` +``` conf docspell.joex { # other settings left out for brevity diff --git a/website/site/content/docs/tools/convert-all-pdf.md b/website/site/content/docs/tools/convert-all-pdf.md new file mode 100644 index 00000000..a0b91aea --- /dev/null +++ b/website/site/content/docs/tools/convert-all-pdf.md @@ -0,0 +1,46 @@ ++++ +title = "Convert All PDFs" +description = "Convert all PDF files using OcrMyPdf." +weight = 60 ++++ + +# convert-all-pdf.sh + +With version 0.9.0 there was support added for another external tool, +[OCRMyPdf](https://github.com/jbarlow83/OCRmyPDF), that can convert +PDF files such that they contain the OCR-ed text layer. This tool is +optional and can be disabled. + +In order to convert all previously processed files with this tool, +there is an +[endpoint](/openapi/docspell-openapi.html#api-Item-secItemConvertallpdfsPost) +that submits a task to convert all PDF files not already converted for +your collective. + +There is no UI part to trigger this route, so you need to use curl or +the script `convert-all-pdfs.sh` in the `tools/` directory. + + +# Usage + +``` +./convert-all-pdfs.sh [docspell-base-url] +``` + +For example, if docspell is at `http://localhost:7880`: + +``` +./convert-all-pdfs.sh http://localhost:7880 +``` + +The script asks for your account name and password. It then logs in +and triggers the said endpoint. After this you should see a few tasks +running. + +There will be one task per file to convert. All these tasks are +submitted with a low priority. So files uploaded through the webapp or +a [source](@/docs/webapp/uploading.md#anonymous-upload) with a high +priority, will be preferred as [configured in the job +executor](@/docs/joex/_index.md#scheduler-config). This is to not +disturb normal processing when many conversion tasks are being +executed. diff --git a/website/site/content/docs/webapp/sources-edit.png b/website/site/content/docs/webapp/sources-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..23804991a36c3ee113473244324c6eb0458fd444 GIT binary patch literal 47084 zcmX_nbwE_l_x2^k1&KvKTDk=k>F$&+>5^Pv=}zeeDJ7+)yHk)BkXo9R7MAYjML*x) z``6x`d+*GdIWs4o=iCStB^fLX5)1$Uu;gSV)c^ox3jmPCK**0Rr4{OBk3T5R;&K`w z5NKgV`S;^ru#41t7j>wGi@S-FIiPOk>f&PVWcKkFIsi}ta*|>i9`n0P?w|2{VNZWM zmw2sin&a_pMSmDn{rE9F5*dS;9`y&=>oqO}S5z(~HT|bg3A8#+qkOeh!=Zzdnp-z{ zmMCIfEQdK+7tL|*?uA9IMMYtEuCCKei~g6qRnO4F#JO8D<50|^-}DhlNET?k20Jt_ zY1`+`QLRe&Q>_o4_5P5=1p~(`#($r<;bD-F#0=}!(cv2$lmY=2vXY#2t5bfs6tOU7 zr>~a|kI$Gz-<48*goT`}B!`EiQS-bsVywYKqNIL~OTqT{ZneKR$B)~~SQw2qB{hcd z>EC|Mq762pANDYMY&?W-m?UWd%HQmYPGS13Q{p{x?Qt zPgz$8V(NW@0UkPKm_hW_N+T{!5gBjNON@{@m@Wi}7q_xbav_b&c&}Pu7v+^Fg2iM~ zaNgnJa7QFDk$fsZaz*Bxz|CC`8u%$OEU=Q}W{?QQMSr1|~hP)6!Ldyka%dc>Pa- z!(dU|1X)PI!`Ciqq_5yr)92eE>H^e^Qg7_vxSppaYcY!$z#b--pD8+sUrCf(gR7w&`DiAf+pR2LnWocDHgxJUcooH8W2JHLjj<*cn;GpL4H zGHqZdCNX=dyycUY<7L~^qf>M0PO+Tk;xe;fl|yDlFrvHJEX=wa(_&#mF?P8X=ap0<3@ z>);-GSyje-FrBt$?~$} zy-7kmH3nKN*|4Kze-S0$TfvQ&1)ip3u{t`I_MSnu(eGGaeud*Z)<&LwL&W?znjlSEwLC?u6~ov&bM@d`i`S(>`Vbyibku>q1h{s2YVj3 z?O*j~MUC`jQMsoK-tI()hj?+=yUr2_$PKoaYbTDWL6gaO(?YBJ&UBu0qkW^_%>p-| zQdpdX22htL@moGn|IZxrQ;VaTmjs9qVTOLR#CU=t=KtE(rpiK!|6!gj*GK?BzPv-4 z2 z(>h|`xbO!DCJ*G-zX+h}9K)39?<0Tz*4NH$h#`ogOh>SKCm^R>TIqeYv0G+_kazV^ zYtT~-CJT1gej)qxjE=H=7We&y2hV!#gDmp2ly3E>;#3BRYo(c#xQ{gk^BTT(2iNAq zkxy_oh~!G?m)-kmH~2nSSRU}&%wx*sU(){X=#l3lhbyqcOC*Y_CSxqmKZ#9Iy)AKR z(_?g9!KUn!vai#Kz;9j3%1UT=KFNA9qZJ2HySUu_f=v_n)4>l@MiR@!(#a9UxaXQY z(3p{rkBW|t$_IA(4K}hss zwzQ!W-H+asR~ENKYM+LC|L1nH=R&$v0C`R59qeiO$qso|pVu$Ek6+PO)lMNYPk!Z_ zXckSrJbdc^rCJ|Z!}rt?e}dDuyXu(<$Qngbl=kZ^hxr{aX;BFlPkNQ5U+%Om`psCR z>?K#I3Cg6q;H3ZY2iOkXAT3+>gMOvqZj1MMyaldIgWzcOCgY6$E5v?ynab%*<`L zY*dOI6S_JINU^m_)S5M1ta?)RNJMk13Vp=!Lpi}7oXr2?lUB0u@O-4XFa4YB`uxzr zNY5z$Z14F8t)F^rw)@8;d`O>=*~B{Cs9u9VhMuu#SE^a;U6Zf*>o`qfjik9+t&m<# zx8&g5)J{GDA+wGLT3sL~m*}hv9}wCv*3DSdy4%iBGL2^KO(uBl8IRPGV4wx*`H_z| zpIzvN2ri38r0t3L-z5)?2dLT^`fYbuig=WaoL)G^QIsw_TRl`vtK|)g+#D)Ccox8q zs|%Dfe>UGF#|>xRn$LQ_l}};y+O68XSPf{3$1xZWOI7^iy;S+s-CoJgwcnS=08bm$ z&}U`Y1PWic4Er?iyr@|qGwc@AeZQMn6c1<&q$hkK*7|{U@L#;;^h>@q)9LO&EYzC0gX(V9rgl%^59c=O2TG1U{HPHzIiWuNt&?wxPo-1~?D#F2Erq*0cq z-hWmKj)t4l<-nMcnVg)If%)WZU{*V&Ea@iMT)Wfsi^;0&Jo;9xA!7J9$3*IiXABe1 zirh+@v%)i!j&`HWq+>ESTn1)8f0KFHQf(QhC6&9I@C1xw;U)6mbo~u#kwE->;(XgX zr~;zhzc#5=l+-qjMAfus92G6|B;*g4O@SB&l4Rt-HrO61asZDOixJ?AAEwFxQ7Lv% z2B4;5k%dzg2+B))Uci4frL|l|@%2C%%)Q=O+klai8nmP$f00s4{jSPUP_qZCiq|3i zjp5in_wd#K7siQvnJ*6!lXsXq9^%Nl;-vh@jw)}&n_&1(&zrX88Io>kk3rP5r4hX$Z>CE!DkDPv1J+v>_AB*!JKGvc6fEwSdus0j4Y|&yw3F zB!e$bN&OhlKDVC8XF70v3@)k5xo|P4f*CKTcd}oOX7X*zFfZgv~w9r zsC%UfCYg@}Acf$w73F!=*C>m4=?xbqJNxQ_+IHWh2B1nVAQ7yGt~lAosQ;Ij+|(Ag z|9-M%wAQ;Z9Ayg`d$unL!r#F6#{O_GXg8NzKzc#JyLoh(j~@}?sL7nXJKG=@*5GQE zyKCrATVn*vPlpRuCZRKyyZJUvEv!wA{+BxSPx(dY+uDSEl=hoQ%W!ic`Mja7Gq-#Df82?;61D5*VTD)=VRTEg}%D_ti%hHBZ;^z*0eou=ER(p;sBOB}Yuz-IdQ*~*E<9A(7%m9GVzkx}Z?4JM+=eAaN{)QZF$hhP2p9Jdk zFP+7x@&hGYfGp??cEI~}_) z|L?#Nwaz=X|8Fi8ZfF$9efK<97sVdJ#($?`V7~|(oqhN`6CumgI|=Mw42L31(9^*K2F6Ej(9?`oXk?y{Pw$fY?mKf)Q* zilMqL7`nz#yBbL=kXbQ|n>H4{dv|@N*XieLYg=ZW7HYD-zOGTBf0YjHU@~aoeCqyB z{_&~U@Ip1>{w@yo0b!&!qx7CyV+{9t>|4KAiU7JudmM@-qEg{EqrrvkgCR9aQ|UN zgIOPKxsI_QV!$i5Gy1U$q9V7xSw5Op*nH%!`=Vn%AI;6&_jV|}L(8Gjro~8qF}7|P zQjRYAf*O!Tv|X2GEI#g*YX9PAr}2Y=ew+oMi+B@l-?k1xp$~O1@$hHT=iT0>uF1t} z1w%7N{sx8bh#^>nU*_Z>_~KzgkW|*?wykhvngYpQ>6jgc-r4Z*n}NSpF=PJGIx6jL z-M>IZ4$KnruF!Ah5Ed5pzbr0r=ydyO_T*xBcXwyHR5^{4iJSX;^`n5bqIfu7`lcYC z?PYhpKwLpKX2QF7@+=0$x(7GeKEG2oxhGHu;F6Dh@4^RvOLWb8q6U3GJ#{J2u(z*( zkpSTF$4#ZYmGl4?rHt*+1M*; zjA(%qvSywc9HCt-PAp23sMwS%b^em3LPZ8XJpv=*RKei*8IQ_3X?$@E+6i6A$AK|P zNy>b1I3StkvT{a^fe%6r&p)FOmePvL>J|tROy>Bj_TtQHmdNnc)m3_>439s*s7kY2 zmh6?4l_>;099|RE>HaE@-gn`L``zpvZw%|jr5Ebdd>EXX(x7f}kPt|KQ9gN;$2X zpP3iJvRW_D@R60t7CG&XlgvvSHHYx05@}rUtQs;j!67*?g5tkkFOSQ=L^aY%CYw7xai)QBF_}qIl1YwgbPUZCW zLMi*T_4om)($&Z+0pj$Jt3o1kL7keo{6R5FExqFBcB`}EfU@_kCUIFy2u;R{WND_? z@j{k6aq63|1X2iOS&Y`M)9vkbDs!=#@Pr>V>XuyKHUu%Gp>}D(GKoXA-3v1YDLo9w zgp1OWRf|)jI*Urq*}8$Y0z7kO?dpGT&{0y0_n0&-eia0B@R3ywGd!Nm>9bz>J^AA9 zJh8IudRU<~vgmznI3xAm9ARvgEQx3#eR4F%2iU&rLA&s3#8a>2cM-|qx=f0cs2EhR zv6p=7)!IB{f*a9_(HuW@)am1h`C1;T8naqU^N=?8V@fSYKkt{%#!|BcC*JV<{QM@b zgl7Z?;BWHm{b&uT{vPMb9p`O!ymN>2YWynD1aSCp7yUgb>(Xvg%;g7ug!4%D)k#sd z-%%eA-cz@4ex`^vDje+0j!jWh-H0EI`n)$=mC|v(8+oekjit!(C(DWM?c8n^;qtH2 z$XZRuf5wRr9l^6Lgr|y2v~)rDHh%%4)Cr@~TPrCy(G{lx=+)f`PZsI*ue%;YKf8_4 zAS+p9=64X}BD3L2novydyWq$(+sy03JmoSWeAM(`Ex()+h&28nAtM7+Wt%>nWER&c z?uI1X&^t#5BIe35yBvayhLv0W-q~!yRvHPB5O4x@v^Wrube!>QOGM9O3C`E?dJV8LfOdQMJBGol{xhZ@6}GC@;e>>+>>_p zQN6kk+cgCuKG#0F#y5wAhKttS#c&3HK1U^&UM(Y~&#f*;x7q%;=SwqT^__*UfUm#1 z{sspILdBV&2u`XNhvflnUH6Ww`f>FJJ9xeE>NmC-_~~6q-XG3)>Vff$PjJ8JqL4g= zjorB{vh(R)<5b?AA{<*edW^pobAAr{w zZFbgr(Dv5xyB3&@rFyHKG(tQcrgdP1FU#*#`v^$4wp4;qt*{&kmak2J=H0a>v8C(^ zH9)#&*|Ug!+>7>oEz1QkfKElS*7K@PmuY%sp_>m&L*|jm#ZLWe?B`Z$a^Bd=_io6* zSFJ*|kgzaaJnjtak9tI_k6`huF8FX{YiSYz%-VLgIB`xu?qw}5oE242$`{t8SnCshyN`nsO$<#G;<{ILL z&p%L81#+Y(V}sDJzh$ff!1n_C$F;0h*keD97n_nF{MOVHCA0i+`jntW=z3aDVq!HT z$=74^mP=ECAwZmlU-!l-S=w8p40Hnw?8ho9oywz{xHAySxyS=C-Q7MqLGclui32~wWVaZIbcbC{_^WdsNb2&bw|N)%BwUU$k5M?e(s;d*Ox5M z{K=~=`Cu?N2B2Jl-Wsx zB^%k@ySvdKH%kQ{*N{k#}#>HHnt))_UIghFz+&8L6 zEHXS5nHRzHqqz7~u3|)>Hvf`*&FD_zp?|q`Z9_TKjp=5n%P%N2=5`O^ZRF+9g>MwY zF8n}k*|UhE!^e7!+2*;~osE-1BCv8*BiB1sy&ZF#4fN9OwH_ zGM1Ju2;5SMTRvDc5mTiSbJ;JGL`i-!4E~IY(3q0e%=nG*&}ccuSZM&-7ib&6TR;#% zWqzKJN5%O(13dyT!NUy@eIB4DPsD8^0ypRThz6EgGb+0%W}1i(xf0c|rC|BG92t z%(x!=VQAq6Yt%eiWktK+L$Zf^>&+bb9riR<>oWl;M< z5bGPJWx9e=pODBmNA?qcoLUwAe`&S*rh1`I7QRB_ zqp9o$GsXQg>ZzU|=T}_BE~h>pSXi1r$*?vrNl`4BTu<{5*js4x7)@IMh$lq*i%}l&J>soGIr(_^W=dFQ)8mse_dH1d8@lOPv2{{q$9(l__>V? zDBzT2bYI%3|3a?;ov+b1y&W`&5+>&9Z?QoN=n;UuGH8`R0Zo1BpH!?PVA0$-f12Hl zXlX$U^=TFcMAr-dW~IB&Z&)75Lw?MPq?QeZ`^(`PE^k3rmLKB0;S(01r_j|J zsD%pB4GW-sUqI;!{wh00y0G}xYyT%xL%B``VQXXPqIt9YlV>s6iIJ&9$L<`KD1vY?r^tB;m<8ASAp#_ZU?#(InXNo@96|2& z2<2suGADVL&3i72xG(UB;{G&ErmORhI^ItEub_Oh4F6XPK)9vD3k?)$R;y3CR7~6D z?n#Rnv^Q3foG#XUd%CT>{Ml)*k}1pEVfc-Da-~WmnZ-!<&4Q5KKDs${-XFPirbJXe zq;4B0)YO(uk`uEB3<9tOTq-%wzswljaTKgz*$wvx=-j8}p2xJtYT3B>EAA~dn%BDU zQm2A4sAqc%&T(m^-(~W1QBjF8B|ju3alC!&e6l$*U80GAl`ph;o@6K$X?_<1gE;Nx z>wK<`1>AN&i}-gCj6CyKMGow$HtV-<*{1J#J-ROv1T+8k&U>#Es?dIM&;CqnSHIC# zDs~1p@qMAsp7#L>N1eaS1cpIxmhXeJ<;1YaPu=73Lldg*;CxdofphQc5R-cK%)-!P zy8|!#Uwt#38T`=O0i*r}n}+7AjVyKCIFTSEjw;FoP zKmR&Ni4$?myk@e-rlIxhxWD@(Beq0kPS`8DC&>r_6tKQGhQ3{}Sh=4rnc_}3jN z%B5trdY6fs2#Pz7V=j)};@)AA!wH28w+gKMW*(Bi3C>_lgsfW>Ni?k zeYJ$hfFkAMc`}}e=jjzrqj{Rtswr|aUqrHA4B4Fy*THJm-Ae)5$)Ubrp8Y}J-_vm~ zo15oOA6!~jPVyGG%ft0fZL61!{B97}dON5_Z8!UsFUU&NTW=FG7v$?nd5?l}PDDIi zx)5u_u#!BbedX5kSjPjw8mk}i3r5#$IUdttVg4@K1$$D6i{^_&xM52@cECa6_eRWH zhq-i-pMJL~USF*aavj?#JbEdN8eD8WCaLcF2=nZ1bj3X-#GP=r{pqR2nS2cW18gHA zBK*x;^d~v7dj8B*!lQ}buCA>;Ld;ab@PkVAqR}SDHB(blCnqP2u^CbV0=fd9-Rl0n z7*axVa=VeCqz79@e0e#!$2>h^$zEh;A2)#O42iP4IPa!me=&RQjClW&nG2FE8x7OV z1B<2sPyY0@HrOsX^Ge2Rl-Z8#BpXm4qk^fwwd-lwExC7-XKNMt-FXb?a{34MtLADV zuGz@-8(r>4PgO!l&JbG6(rG}>uMt%KI_Jp-p|E!@$*;7V<*!Vimow?eff9Ue;f3V_ zPPfd=R0THmB!iBz1JS)E@KILM^Ou9PJvt3eF+&Av;hX`Yb@ax6-P`PR{Cs(tSU!5l zLbA6N;*&Wf&hlxZf~F0uOsYLwh)(O4inBATcSCq@t@rWl0{HPv_A7*X(f0C(34+FQcz$bhaFA)ztib6=?gQTEt4 zGXTj#!ftwMU8ysoqVp)Zy+?pjpf&8>%J0~4x7NF8!q6U*)ZvXYuMn`Rs_J*+*F>27 znMz?jxR_{@6B8+{dgn65cc&o5dFIS;#wtn$6#QT_$Z~#LV5KK~RTgM0B$i-8MP@7j zsmez@@(a|WRQbuxZ`5!%e@wnHSXOg?3LBn&20RK+-okR)W>c=0TUfczw_&tP$t0VrAid-=5%*Gv-)8C?8Wzdv&NSro&-g+kbc_P<`d*nxFuk$e zn|Z8O#Z`#^WauqS8=Qz6k`$7i6q@j8>ig!{BW@jHr(fung13CIagR<%{wt2E7@9J? zjOzgR>5QYQ67^Z*ytqB<|G05a<+Pr5*CH<;5vG?Xo{#kLbY>5%fC!*1vYOk!qBim*;=AL0B}24tzI`_vlu643MH7Z7g>y zYfZf-3l+CUGZ80O_qLTOt^+Wy= z01u@05X;>%Xo!hMrQw}gFXE#Ui>Jtcc=}&hnJw_G{Eu7L5QVIh74yGlWkY^%ks|eu zbe)j1j=x2}@a!KSX0S6A3kugqWEhN;H3tB=mlL1<^*%Hes|(>!?9Ef1o6eYz$OjK; zP&V}w{xwkdzQqQVsEWSSJU`maW;K;Sn5f;V<4VH#|0Xk2;8tEgyzyv&SEyWeZ7edg zg|pegpxZOeqoWUh<#>oXA*^`KhHuI{RMn~I_7K$!*G19x`iH0!jJ_sRr=4$7S&u{Y z$9}WRJcjT;!XJTDU3d$=q#lt;{wtey^oT`NR8*qc{ej(H^qm4_?hN9@O9&kuJ=Emz zj_$8E464DO(h-lE{$OJ>^sxL$o`@LUFMV5FT+Gj>*7`swewgrYyyOV#>gqT0#g8{; zXJ1 zgh?JUl9cAm$VqC{@x}NUOi!|kzS1HY=X5Lk*ZHy8_x!idqBB!9$M52topXv*NTdy? zWFVXL)S{>b?*OWTDnE9Q?_VIi57%R!iellix-5!n@{$$&V~?-i z=2vc0!E?b%C;YY^B8}Ek+CGGpF2!@K1#ov9rDOhwKD3m zJl1LYo}iujvPldD%*X_Y8&@!Rz+2%s+wV1*LPRkz(=q)nHrKK(4JSAHuw^Vd;LZJq zq3v*e?sG>Zo3-O7MP%lBQ>9;%ULe=Q7=rI@x@kgPC-c+lU!05;b+ka^c^(y?G=R z?`m;@0F0aS{n)mGm;dJsMJbx@0j8YU1=Zz3B3P?|nZocxfBAraw49=7aW=2Vn| z40N4bceSFF8(FJXB3ogJ%QKaa?rN1Ov1&JKN$ZQ3Il~JzNgFasbSq6_Rvo|0eb1Fz z1SkuV)WFsSau`#QD(}B!hs!eA5t$A)T|D(^@$ZeDtNzG||Zq(0(9E#!0x?5RKbJvD6eo-Ct6{w%D&&r3yRle_}r|)<-{b_uG z+fJFypjozzJRCSIlv&=Xs7rFX9lqQ5^LNbtUb#G-^U0dIC;t0l;)2^Qc0j9m^3Wqc zpC&7t;A(pi+b*-`So}Dad+rc#o&9o)P_?5fB86QcPNB@Oy+-|c<3A+n0W-DD$UEPx zl0&h8E2Hui8a47`t|yu=zU1%*I-3nfK1roTek|vzKkK1LT`+!tAHlAHkRty%fK0bzssy#*@W2DOZ=D?iCgim|brovZx&PC3?w7;&>JfFlnc|zN zS-A80D?h8>Ck($DJnv`q?Axx=uUfHLuX4rOby48tIDlwcc%52dF+gdBCI{&xMh1G~ z)3ZeL?n<&R zo9bfG8-7XWjfF&7=)-&3o3PP>`K9*5%7XH#+jcw}DzY{2^R--ZaCqg!5h5-NcUk?+ z-os-g1#9fW-s%TFbUxpDB$AGD;sz}^Db(bVa@21^1}@Lp9!uJCqzW6w7%AHc1qvTe-%P8{_W9W>mdzMHs=+Uv*njPn zqm2klwKW#-8Zz}XQF|8+cuNM;O)s=gW3Ft^NU{!9oSXuEy}#*FjJtOy0sd53qlbM2 z;yY}A8Ys7?pa2#s8!;`zLT<*x`!pn?5b7E&$Yx{5Nx$c`q#kgnNOCe#;`;>%kiB0l zvxWX*cCFcH%w8sagHm?B(FylPN#e*z@38KxjTv{r}%mqZqWxcNj55gXVpI? znwsXlaS{n~{%6LE?{M%)Uu6lpE%!+nCpUt%NOK3qVBN2y2T+bHQbmZ}w1;n>nj1RP zh#TS%_rxRDs{vKc*F5mC_iTVD3s9Fb2KC*FJF)qw)VN?FIUn8WyEpgX*NCbLh;9aE zmh$Ye^J?E49>~j1W~Y0Muy)=z7~kJ|vZS*6eRC!Vz$2bp{&P7ST*pZHq!3Q)>oxTh zP>BSKT0eoA7mYrQHCOVZ;{rXsTpJ8s|I$!lhL-PO;ZJ2qAt zv^(v$IVrZdbu`$F-n+s_^=oE)Kdd*-7Ry|i-qVQOpPq~dluF%wBfL8W3+4C_+p=i-y zD?&5?6v&8b9i!#j=bYIhO9Dg^u)M(bWajF;iy&qGB2UV3u+u12$rJ?@YVjRutrWf< zC+$f$daRhU!B*7$x>ADbl4koHPw#$y?qIsK0QL2H1=|1ijRrxenAJS7 za@c;h-jg_E@uRTMrrfsTa>}%KH9CVQ+tX%4?u+g4V~SdjESlTKt>~8g!>w*^Drady z$y3NJY{Z)95x=kY*kf~)c z_<7&+l;M#P{K>jK&K3p(0;r)H^&?fJ%x#d1onq&$eOa9R%JkV5$Dq`{SC53)P90T+ zIEbp8`I92Qp}(Eyg7=uUNy6G*6fXl5}`U}9^Us(3l;~itn%Z~&L3JCUB}O@mo4GUk@D|)ZL3)kk#p5NgJsvJ9YD#3P_>;kDNeJ%7ssGUsis_C(c2<=-(?H3?Q@^ddiu|$Bf#Hse4r{2T=c0gFY!+Uj7&R0Foe!i)A z{rj3Fl#c9l%S+G%3oy<%JXr}J%ktW)S!n8)NeaY+yiiU*-`4KI)F9%q zy(}FWngwiypa>!8oj*l;E%XfWGDE*Jr6-*1!~blq@{b4&-)cTvAiymwDe2kk-SRC% zpR=e6gHEeiyWb}$`~lp~&OYW92l1!VlN7!pOS5m5Ud=RNcB!fhEUAV9fJ3h|BoXM! zS5aXB0M+B^Mhfq>%!}4&&!Uq|Wz602_&PMn^>C+YFtS){y6X;^0rv z6qMMoPvEbnH^ik{GKB0nfU$z_dU^E{#p2U_YV%?I+G6I?8TW8@!#>?sO*%PQ)BrY| z_WB(Q=#kR~APO<4xj)NeXcTNZh-Zkl?o}wDmBj7x_y2r1doR>qE6zkGpDG*CSm8%< zM#NvfjK$!iQRDK(110=_RjkE#ZTVDmk2U!wiV`T{R04;JkbLR9aqyTQsaT0Q2qRH()pC}H< z&UIT!={31UooiR8CDWTBT6TMrg`RE}p^Qc%s!s^CN=Pe}o*1z1Ob#U@6tpWco+EBs zf1-TY%NrrquD2+ktWc&=m$Am*uSqVY34qOKy|2;2rKNVEoBEa>ZzLqgo5!MADJKa? zPN){D^?sB;e?l7g!*t_$l#~S>7`a|+;-z|p6Bn{5bvZsr%!*yL!p0FzfFG%>)erfyMVURz4`oCLPJ?fe`&4Q=`Fh7gG2NpfJTLy*OWU=7MA7G zLgPr?n8;baMg#er#`e5Y0TwWV_svj~EV(5A?)a{Mm;rqt~nh4MBm(0kTY330FSJ^i(1Bg1Mq~)XiG*L1zL1$(_#>DM*`x ztC@%2OC^Pig5>g(C$uVLsBi-V>a<|T$WN$ozlu)e*EP7Ids=AxO+zS9#`xZk41o)+ zEi5bw^Yit6#@24d*${+3LCH41zUu${^yDOJ+D4Ci{DmyM-a)}DN=woAhG$f-t<8fLeV zrpYd6F`B`o&S6{7;%b*wZ#MmLgOsu2)Rlamw&f5yDU@cACAfETg&ZhqYPy;&gjcqa ztj3^hkzZJN81duLE>^Q-f4KGQ9NS`1%O9YSN>Ip{f0!E8Nr$E7<9Eh-ZJrc(iDp-X zKKx?G+iYxce}92ScS6ck9vDSbEco%W`()>#*Do8}^(NQ)3~xfsHq@i%`t}BcQ&|@k zubp(CQ|7`jL_w;5+T%6t#Gt0frFL4QzNhrB?q*@Zk1b!8RN>{(8{2%yXj~TG@>x$6 zSFlmMVwb^((V#LOdofErZ=#PpouevMqs92SkXp+YUHn@}XYf@`m-PzAgXVkQh0Ocd zQNK0GU~%L8QU7~yTuI24M_g(<@1)4XMn4OYOdQgk(XtO*)qjnGpEBmHHC~ zy_~#M!lH+Mh_RsA!@ZTJ2TWkF6~9|{1SweLT4hww?=rQ+WlLXg9YRoCH58Hg<~+`I zP~Cf-;vEwWWb^?^l?Y}eM}?`X!eA(i5)n?O$bVtKSo{kPWr}I*R1$xYPi?)vce0IG z@h^UW&D}x0?J&ce+f6>FK?wgWWRmCO;IRks_YTSgeg&McVh$L3H-7N+&2T< zNotS0_mlAcVMV9N4$Pt+nm7M1V5{GyzkM9oAi z`kfOrq|qJ!nP<)BdwO-QU_2~XT(a9|8JC%C3l}V!UdWW6K#2N`1QG(4OjwgNj`=~L z%M@Y^A|^K0bEpOv$4L~y%~_gQ!mO~~#y>C50eSWt1jTpzJ59ra2q052wb`BK+z+ff zw{2H4>B3u$ln;p!w<>>ZFh_mt@;6$4k*5zRgG4>IJ>Y%Q770!Sk#vm6c`C!a2{1{u zaFOX8T-<0OiiW|Q}P>eU#mt95xL6xgBD3`rL%b6+!Ti` zmBl(Ke`{|u=GoUoniItQ6{5U@-m>+NZ2F$XvI`m?ERpPP}95~hNJq?3+^-zo{`?sb)% zD^c!R&(P|G zm`nVkuPUNcUV7=RlBP*(%bp3#pOZek(+)Ex^!n~UGq?fuxF7E#RlvaMb5Lya8T zR4pCRbcfiydu^vPhqmYKW+j_-YGkQs)Vyu{UP8mvsWjFAq0JO%JbJ&m)`PBy<^suo z$BHGihKN%tsPAYuvs0whfPIVWWSsF6Eww?{g@DCB6Vr$gsW;x(eHrev>xH1fmnViC z(o{gsLj#Q$y`01@kYSb0<%7OEmm$MKclgUewqh=HRAel1Q%1=7Iy%ISf=6!3X1rLT zcK-R#_#pT33wPypKYFpfsINS_e+&Go})cIyyv zi#?+^ri(S{FGx zgXw`jeyeLIu0ziY5fn7sPZKb(+-kcXT;C{sXdJ;f!SA$Jq{xcZd~jjZVYE%m`3+je zEk@FsqIBt*>2>;Dk9*|dJpGFvUgDYxq_f}F5wXOokl}%-rSqle==>a%B+ewUCi3vp zpcAs?wUJb;V!Vt^u&5ug`+k|udbyquohqn*rcJ~`>Oky*&|MeuO!;>8txWrg2xDeTEBm?KdgmuIpK|H4bf?7rdMUHFCaDall`YOxl%ZrkyGTvVyH zwHB5A#qr>?iwGHLCDzw^Y7^Qd<@$#P2gg#InIJ9k@E*NXI{|dxp@PQ`pqvIHw^`F> zD%ClLG=}1jr}hhKQ_B<~a{%D?;JV4=zW3eTm9`*4MV{p|74oah>!p%4seQjgH@$P% zgWs+CAV&RAW*VRM#^BSZ%c=BAzISt$Yk0$pUUo6U7uZt)p*?$ZjkZ(l0+9@@NV1eR zneZUl#P~lVx6`R>3XP;HRA?@Y1^t;93ucQ7oewU_owx120wu3$LofIZ>>>Q&Z7<#8 z;gL9=OL?jwaq58eW7mV1@0IZ8mfnPEE2lRxzkl^IP&QIlnWj`hV_ggMUPQN8=Sr|Y zRq@Mwn_u$k8>=X)h)@4l3&6}lyMKQ-6M}H7FNP4%h(q+mL5irxoCq(yJ<-SS$y=x5 zvg4u^nXv&>ts}kg*cfeaXj4hd@UWv9gNVrK3xRb%9(%Qfd77n@tZ-(Fe!Wo;U@dayXhtW`PdCnhuUFZpLonr?k^ z0wjy4qCvMD zJ+}u0|6uzEw{Y(Ck)3y~W*ZrNQ9N|16%MzON^;gHAmz)Q+VxN&y=i8762SOjMZJRg zJB>_iAHH0avp`vcJ`g`)A&UfbI~3B=%gFS%>g$4j0W-_9kde}ZpYy*OAe!)XK0R;j zYn)vpPPXb!_5$zxngaqu&ZT1lHqrDKhS&f(wPeNb3>8T zTDE$VUJx8mV%S!w*KK18vT@WqZ|YMI-PZKT3I5I=#g7(mC11WG?MUDlVXNEb&W3rW zkdjq*JpVm)`K`%>MZ(AL>U+)>2E{7tWpRO2;vt?}a(1xhinP;Kjs zS2?lY`}h5TlBCg4%VV5QO(f@L__K#YE$gF2-vXw!R>Kyg)b^V0RZSz#8y(BVrDk(? z20jjgZmKN$>`tg66NHPk5e00(LM@1-fs^4>_BrKh@zA15@Qu^~=t#TS=_)>OyW?Z| zY?I?*71r>V?;&;46tN8nM?%{5`o01M?W4)&;fiyO4vn2;)~M(<)0J|u-%FB3ZfkNK zuJLzQ`MK@)$gKsYTzWJ|#y0{ahR9m$5kAA8VLsmVC(_C9V@<;W2xeC-T2+G0N@%hL zi-qF*N-;G-khvV1*e!B{IBV&hnH&;;WWLI3B7_ucpfK_E**XD&UwkXsvd~SpJ27X` zMk!z4?`7+Rw)0t(g=t3bg;{t%v}R3KeyV1k584e*)>>}A{Fm;TxXsB~6v}n#yFqF5 zwVur%Y3(B6MDKkf56CV~vq+uSBFDyFm5F3%(*k@oMiW;g_^*y0krd(!mzqqvLqtig zMW)P7Dj1sg6NCh2G1vEpP zr70w1=H4^-<=oA@qLU>Ao~@spJdNjALbrRTn(JM9662)0?wpGlDw+tuJ3JEhuPL1L zA*+a-eAlexB4*xw`mH)sEbETVv`WApGDhuBypu@7E1hof(SzkCyHU38uMvOT_>w_X z4?;~(Hrmve)>^`5du%bj1R_S={^z(rnDSCH*K(WFSu6@?U~z3Ju~eP)98RKM?gx;x zJhiAA%vM7Po=IG*ry|@2>5y8ot8az;Wt4Wzn{Ak%R+Ohklx=9iZO>NY2P2~qhZbNv zIVJQ;kWlwt#r z;V_gYpY3Q!b|a%woF=bwsA8vRShsg) znr>%OCedp+qR*_jz79&fl4W^|eeQq?j`?jFtN4vxwe-F<)oQL;%2$ND&a~OHx#qj` zPa%>nDiiUMuilp1ZKr$eo||9QsVG`J@+~&TSFeN7$@XVIwo^8AtNT2Xf_IQ7>3&b5*qjM8zd0#-*-1c#3`Zy6N=PjC8kM z<9Rv}*T)@z=}2|Ixt?yup47cKn6evMl+hh60)CUkJSok-%U&jGkSn|soh1UV1EMIn z8!18_TT_{VND(9=LooE87u`)e4+yJGp*|&!eT$8pSLuUBA+QvY2lEw&QO%!cm(int z)qJl8pyDr?pb2M0!TDmn8gUpcKJ$zC#Z@xzdo!BK^u93uY=0S}MR%8pgWZ?5_@QmN zPhO`Fn<66krTnQi-Rdgk)^V~?skS=W6-QDuy(gZ%afSN07LroZ&~h_X*muYG?3Hpd z_DRyJ7vqvsai*?=7wFJw{XTU}=vRN1KWAuLuH=VwDEJmYd1a^jd?|ih#z%WHb z7$fRFI_Cv|A@JgM4?@=>8f?m=Y0a=5<9V~|iXv{VQQN;XyT3C3@xni#l7Yhlq&(KZbh0o<#%v?YP<^T<=XHtT4#wVmttHe1%6Q|u;Vd~~hKdSM`Dq}e=ZWAo{1f4+(I-nqS4e8Gc3uK&5=)+y6i3Gf5?{+xV6 z!XfQ^IBckqib-}NYKGI1XM_W8Z~UA=afxE;t~t!fF9LMkI)<(N*J%n1Eho7LsX!1^g3F*}vF za3ps8pE`p*+fd)@&!k$-V{>KJ)_=Aj^)>3CyuEaA4EE0rgXw%30J(HLL#4oVy>2pt zY|eXTD$5=fw13p3Jz7I5#jqIS2K#>Dn4Mn=<@?j9-7E^L2MC*oc4nlAG?~m?5LTOw z=(TudzxIDvV<-tlZrIJ5Po%6D!^Ny%SrX? zLqVtU+f{OU$hh?@sb3UMsmPhIg5c`;z(;FCSyo-j6JM%a!0%@2Q`>DU>c`(mgvG)( z?6A`6^qa-gBfq5A^pqrN0a{o;b^2u7!-#LSFhCBCl;VQZY5-1ha6flp>eX~f>D)M1*l)(Hgk8wIniD``0D21ku5$y z-qL`wL8ksb+2!2#ebO?Y%hmRf>ybzkXSGX$CtUi^q9d@$B^~-257Y+CzBkN;yKDFF zQc_!J4hW12oVe?UFdzbu*jObhui$Ia2u96L8)q7|63w~Fi;juF{JO($rSmxowQ9f@ z`=_0pIHvh2HcOQ+Pk-@r*?yAw77+PShyuf6Jn`u;WI z;1z1hV#5ZX%z-j>rwIA0T)JZI_Vr9XooQ0yI_m-D7)zdrmI|ZirprAB!#E5EU@lgr zURTX#k->iQWL88+x83Ae+D|Ac2VN~bIEm!$gV2;Qr{9S^dIzv-(BS5rOZP}k47W zd$e=i_<PRqkeMU9T>GScjV+SpPpIL7fdSx7AGT>F@ls13WzuYoaWe*TZ|DEsxIvVL3 z#@{f*1L0_tTmT5x*rK+GFo|<-!H|`Yn<0p4`(SL{r&8T&nL=!?#%*i#U^UotWwK0} zCHo=(_DEG%GJ?!^5FJ>HlqViRiF>6jmB4I}Tn_8!v9r@yu=CRFvwVp2yfezXW{-=o z=^#B+$|}W!L@sLykLrl;8YihsZ!hcNmOPx$Q5h$jy)WHye1`vKuzTanqUr(Y*1szr zx+VpFZ^Gmh0GIjFTS4X`>eG+M&nko4q)T=spr2ieX@cmn zR$A;n4*~L`-*_EYW+q2BAR7$?Lw~!2g#ciFSv>e~;*<^mRh`hJ~; zbNY&qKP?MHmZWpI__7jouXPVE%j-tMg035v7DmnEqD^3t%Cz#M-c30X18G!e~Z`jzJb(7~m}O=$%uW)ut=}L~;7=_UW+9&%vm9M}?n^5oE*AKQDW@Z!X-hDT~i+NtR$7FqDkya+~ z^ZYxuZoKfk(uzJP4Xo~s;yIcQZ-fAcVzZX7TN( zu9C~=*;X=XZxwgIFNv@=e@ri4uT&WsAubTc4_g*W7OQ@k@9>|7-`S1YVUt464TBZ^ zG)+fJoR-Ay^+o#UG$`eFv2A~uH`#;FLk=Z5+cvAMMQF2SueOX&(qvCzTN#W zijXH4lHb9j<<*vy;Cu-q@FoOyG^W~TVfJh}-vsBtx~M#j!~3cuxY=oc&b_NfCcT9F z7F8&2;rf>}2L9cLbAQ>PjALUZA(D6KZdMl+6V*KLolA8!ki|q{$FCke6^VGAdlHhl z>zN7->f__Yfz_S6&29O(`$Wx=OrBf*HmWCzxG}31sk# zRFb{OCe$yTwlr7q12SSc{+^2}jil*YFh3ae%u`slE&M4rvtbtA`vx$06mz)H}(2x(sQFc3D z+&rpCFD%LZnZ)iMB=4lI74_NRIV;Wu;#ozq1h0&x0F18{Z`KzziGrJ*dII7gR|O!x%01v#5qb}Z;sm{s|7nT9ua+I z+2-cPmnjmWwU6*L*PEN0ft}a~75?yG$ignOlV{NLLQg<9SRNGt7}4EPF^^h;_17tk z^;<|ZTwUwz%u}E2D`^AW4y$^LqpyyR4Y+u8XJr*^Wh2J;V@3T=OgQ{4{Y9(5KL8$9 zh3VJGIVvp|jg}D*Es)BZJ#G4F$}j`bP0S!Im`RN8I(EWv`%R5kmYJ%VOC3MW@cV~J z?_yz1u}pkyqW5r@%9rxZsS2i*M0k0#PfmFFDuKOLEn4j{psZUxo49vYrsYG0%Go1U zu`1Y9sg3-sageV;LCGK1A3Axm+rd$@ zaoaeZ7y>_399Y^j#>ud=KuWD;DT}Z%LVUkWzlsWJrZ4Qqge+Oa1CU|_oAO>`Re}jU z1O!GDl)8OxstXIrXwT|uhr$6ee5>=GJH{t|V_pR}&}^9q%rP0`CHUp9=V8cVb()%`Z8En}QLRQU(?w~I}DH*1XG zHY0CT_e_uKD#zgn_G16yk2!7N1TM%Q773|r3SP~m12O#WMRKVxc<+{$GEzX%($l+F z+SV?T?=!2FIJD&vx6T{90_ICiAFVx6&sv5{#_Zt%$ghV*!Cs;eaQqPGGAj*e(nl$1T&XLef^iEK0Dn{5H$^l2ka*lA6Dg*O~J%#s>A%pdO* z)`jzj%xV`1Pf~`N*_5fMx^Nl%K_lCPqXWEi0fC43K-8k9(oXF=5>1=Z9T4ER=j_hs zxD&%|^#Y(AuJq5uIlM1nbEq)12sJ73?s8z@IuF7$%3IlE)8<@nGB$2k*)<_FM^P zmv15$_xBp1t*p3sW^w+;ybvXp=RdK#L%-*jWAL|E!AdG>pzUbM*yq4s#XJ?TfnkrB zdMa=iYs*Ym!l4%5_GqPoqM)Ha6QnL*bH%M5=d>P-++0`tmel+1c_6D{VgELK*co(4 z>=mF0u?>fh0JS=yN%*pq^V#)^*iK-aMj}%6h@d>s21SJIx!=_*hWO-MtWBWQgqJx~ z>7OA?B)h1n$S%F%^}g#KL_!jNZ98rVi>x;}py#EkY0dULo%F2BFX%p}@B=IhJLSu< zebycPyh;IKuYC?|b4ee|Hzzv!;>1ZGV$4M(XKd)10b*!;n~&ANe1>cIchC@~>}<2y zf};7Nv5Ni-&aY){SF;6GuPx_~S;Lz5U{;OCrE}T0`d*E|c7sqo7N@7_`-f24gx2NH z9B02tJvSHpbVAq$VZ? zeZARPEhZs%kFz$o0`%;44BfK~Zr?Yo-57Z2t%f+WY3JW)KbWyy*XuS{@dx`#V1erm zEi|8k!(|zkZ0d`OZW6GTXp-{mM@uyTR#^|@r=k~*wwQ>GhIXEmn!fD8=*@k|`rr9LgWzqqbJ&$&a`^on9lzPNL zddu&X!!f4ijokjtqJ4uihVom;<7BD+WE&Vc^Y?Q8Z96Ta{3L8p6;=}imi8oX}D7nhSeG33}DyA?DL5ZKkqVipaZ%BflvIn5kd-!(Mi zV+MNXkc?I&cIc3li5+a;HqA}3WP2Iejk~oYi4gNm1KAlg@Hed#CfG!GsZ2T~7 z{*s<9H|n=lW#X%;eHV9i1GO2f>zh>kxyC#~Ys$5*J}Gi{*0VDIbiv77c3vqZjo(QQ z5Kv^lskb-~8GG1Q*CslU$XGzy|g%&!|-A^7UY zZ8=jb>if?FS?}EZ-$5iI2Ss7*kYB~oK~^h5vE80_TMs04zYQD;B@ez^M5FC6Z z;&t&}O4FbWULz|aKK8d2&$EQJ+RH>_CgXxbEV7rIrWA5EqWPHH$VI$1LwAX(sSgra z7nsB)FTO-YX|7glv4lyN_fym4#=Z?gk;hTN9weYm%2Uqs8>dnJfO>h`q8Bjm$@INP zs{w-;Y9_&mWRORz4Xd9Y{2;R_j%I67pTCmO;d&(-3NodNooUtGsI^CvVfpuB#jjHD zQPUm&I9|)}A3gTZ-=zd$YYl|;^MMgx7K(Nx{Kzt4@gt^CyGz&WY8PJ~Th(*7>%2Hi z%EclS{7<~;Lhdw%oU{ot>|YGZ#}d+Yzqr6B;}&_OxEo-RU~jPgQYXnAPWF5#5ul>u z`SV_ZRAdb|uLq)~q#imF@A}l!X{BhKh@0$R+|%KOfOJh-Db**5xS*!q%lbPS*DEMP zGTGxQ=-Jb4Z4l@0U$LSwxdQ&-joXXfV3T$HRy)m2ul(T3XueRaH0ggU7*x2M)P!bx zvs3_212T;&OUagsINyQjK#frK4YD@99y={LXVYtmy!&nt)4ksEy>mUpc{KD{yKi(= zN7fN}4COT=NfusDR!@Ii=}{Hy6Ss7!4C|d-CcWK4YcCPmXP=zPdldGlect;n-k#L7 zjAd*$(V&TlS$ME;x@Q@P!H+(*>b7_3s;eGO?_>!vUS(vMNC-HQbv%A8b>S1FNN~4R z@5n-qT}^|yvnpN@^MSWC>LovZI#mX)vR-=Cwoly zD40wtUm>ZkvO5dYj#j4F0QXkzvMMeQA_^xl&fR9wJb5%I1K1q7*8i~#; zuO3`#@3-g9*Szu-HkkMY@Y^`8X4Va#>=a8+#?n1M{@FRj%q7$Hd}rEQH8CGF$)B{Q zjDUEBJ!uTx)1B(&TpGnozl>t`-$3j-@hl2cCNgB=Dgqv0BWL>wsQqj0%m3}=#~@-s zVKG=Ecs-lnm%G>TtlB5C$4MqD-dmFcXfp@Pn)S}@gMWKW!j7i%CkOE4-Xd^tFy;aP ziYNmuU{GGZy!5Cu!(f&h)NVchW1`YGSE;w3M182Ae4+U+7OifW?EH5}C(=?TUY0oH zlx+etuWRdlX8J4%1_nAp8H|F8D%H&~3C}{HxOgCoDYf68GCy?~*6!&YP%wRjjE2s` zh)ezN*cq>F`0IU0LCY>nsNQ89Bd{W(M7GG`aoF^=4-`3slJS$F;0V^df{6BS^v@D# z++XT$;_K<;9>D#3X^|0@UTybyc6*F| z*WQgly?nUBCsOaH@|E&rg*F$SB82L?M7Qc%t!(`LtL9+C6sQmu-sFjati zwrG}ua=63-7Aczg{KnqtibbrF%&nD?Dzs$yIakBfA3W1S#jKR{)+K_VyXO9>IHba27M?YiLs`HFuwk@VZP0IyJ_9$*T_JA2VnL@PuQq0 z-D@>WbUL^$QX+&1R9@bB-H*x{s@qtH6eC);AD^7ry{7IMIaYi;to5|;bVM!evilDt zmWrkn{FL^b8;7R%|G1qOV!EdMFI#|ZL*E<3*ITBFJ||AWdl)7`f1jNro*qU97NeFu zPeLE}ZgRZNQ+Y)m9;*F=EoKXrOPoWxkw9sBxkdOaxfdJT>PHV7!E?*DB3{$DxXY_$ zZGGQR(<6vZJEMNEl|Idpss9}?{egH~xMKQnF{IeGQ*_-n-(EYEC`Gs&ssjd5anac*c0AS^J@8@8NQMz;T+Gr$Q%Ie;>0zFOE<3&C8Y?ugxhg9_7xCX)=pW(=Bf zl@_|1o4OH4GFSTS;VC0sC~Q)HJ{Bw(J9$I_q6laDsYhF>W0W>A z4R?vP?rm)G6?T;gI)IU@=d9i)KDit;w*~xf_DMj);6L^$NIm`qvpVfpt18Fko}8SB zgi`VH)$TJ%GeE}EsdC|E2`Qr;Gc~#Jpfnr`3?)232|=brri@i#fWU(pet2}!Q6gu; z=R}DT#s$d9&`;0i!{-1QcasdcS|qhSDegc9{YFO~ceBDL;#VQDDk7pl#%+sm92~MS zYUyl+GPq%PtgqI@Lh9wf&by-GeXvo31w3FenNQeE{3W>9^WV|>(@LQGb$CwIW4obF z;E-p2P=v&)WU)1DXtv~6z8{Ya$QzJF*U9HK(&RtSi4{f0vPqDeh9~3xhf&*e7jq5` zXhZZHcS2|r*lwEf*iYhC@u^Sw(DZ!O_d}I5bjqV}^)t`f&pVDK$Tva|p4a782_ybt z-qtUQGd2S&r_Q%Ikd4 z^MU&HLiLZjNA30fYoz?Z>Zu#d>LU4M^R<`Lu{%bGx_S(D&MMJ%ietDVLoNs!%|L## z0i=Q|KM9EiRO|-0U2ULd&T}~NHo_ajY*V&`{VMSPP3pd{!s?MC#D>gUClmYPYYsdh zLnykukq8YOwsdcS0T2+3OcQc6F(5{e07h;JS8b${+Q5*NPnvd!Z?8T^NIvme>0KjBIkg+W7V&XF$F zK$!6)lw+~E0_3ox!0dw#b*y?#fxc(c%`4vT%r7(h=VPlK2f6~F@|4FK<0(e&%DGiB zMaB@09tC{G`-jPCCLE$m@B3YwX0z}l_d&I^)Rg+<2$EBsttS5Th@=#WE~w9$-Q@$V z?PJYjc;vE7RdhI~aH=~+fqHnw&M$Tr=Jy3jPiuag1^+G6Y}rm9Uuf^zr3e3Z1JcAu z2LWf|2ikqf4=5_240g{wC$g2DiF@(|!K_tsL|dshYfF{ZO_$~in`tT5=j0xHsb%Hp$CNW|PrjIK z_Y>#A@!`+6vr>jfB&XBcCb389wFl#@^H^(g7FyJ!boO+FF97?9>3!H6C~zd~gd^^- zYA}XLil#b=l4 zGv=y?>__qsic$Mpqk5SZ`F)8k)EM ztl$eqCDrtk-m4$G07`{M#Ih*TV8AR&?B&$E%)jcGa>6#t7U$)q6-PjugZFI>PGSsLM6(w$8oTJKbwWmO0gzl1Z_>wa$L_en`>B^r68} zCy##LHQjS{vwo6jMRkG4>(53PN_!*#{7t{ds@P$BK>|fe;GGBxf8|yF*Vub5 zhl}~?iGIelfJtOKhx9Es(~ya$)9U_A)Ofh%mB`h=wPFoha^rfB@3NOr-|bJjTTP-9GeQM01jYXyLN1W9^!5R{Z&?H(Y?)!ZaN~GEumJm(FKjMq>nD^< zW+l!LsLJo$Ib*-vDVr5(kB%rL&9p?{ zPgs!&fzyUQL+ON$1vN$cXdy*=_nsDtq#z&~yZz6Fp)I}C0)X9UWk2alTeATwvJ8*g z129mgv+&`so`@lvp-z$TSF*(*(CzIl!5r30Q{g$Wrqy#6wFW6@O^}?cECU&aASh;` zz4$$<{yg@2yY{Ow-hr4bD`fdiXdp=T{I*ch6Y792k!gl`JXd*Ku=cG?`;E{a>BiU+ zHRq<+y%#Mlf}y>}Jju_0Ut_)u!&R0n`YkVS0?4>h>q(|R-63W9)|m2J&p23_U4QRSU_MYuEoE zXgcIxRB?!TG+=>ucBNoJQ8tl91h_%U;Eru|1W@2Whucilwqf`&&q*8pCRaG8v+b$OrtBjq>D%ylZ_9@9)}H zNzEO(9Mq2FLP>t`>@QvrvDg14M zqGFT^w%=s`b^1{7w-cq2LxrNrqwg@T%~#CNTMG>QAK$9Xet&FE8Shkp3I6$VXzsW; z!vzN{La^Qfh{bTIW6)53B|6m!dR<(fE^>g57FbVy1!q;lmH!e&+8VYz20f5)LTfl|l}g|80BSwE05NZ@t24;;{pw zGs*OUA9%Ve)8~oz0wu(}4t->wH#EunVsM^kw9_cyHY+61hA@nPV`^-5VQHgrY>R#Ohb9cWw)d z4C?aMadVi1NJE3yzQyu%bm&wTe)r1dSdi3a(Q)1+OeuECgOvDv%kTQxY*Npw-Gx#- zzaG%daf}LbCxJk#`<8BZUJ{tPcCp*g`%KukqWHWc$=0mg@xA2h1H;R!1w-%0fk~GE z+C>dbsj_!=hsVMhJzHomaBX95aXof`3;C2 zGGg(_Rz`kK7-xuHPIWPdbhcwb8GsBmizHzseH>ghasuq6JSn!6o5#wV45?*e9Rb(| z`sdR>yKkNvAZd^3=xBa90n@UJmr8+d_R=O8C!K zvuhmUKJ&}#e}#>fsSQV0W}ixV?`RH)o_|$TUJi1HT(W96)@qOC7tIB>j^c#AW}Ris z)nFhup+hLvct|t;qSmYvm0!_O45Jh|xj7?1sa`*69u4eW9eQeAGBSKNMjay`or>MLn_T)<+;Mq$O5T|;ba08~upS^5pl8 zj0dS{&pZD3-(O)%`6%67-YD-UX6lvBREhyxHT{TA4=xXwnTl;%xn5m?Y=T$Izjn_L zv1*IC%MCcG`NLFbbB$O6q14qH<4oCWBDT?Ey6?NSgAh->pkm)ApR1(q^p^3plLnb` zmNYVh!gD#yS{M-I@2@N0^w_7w3rpvnWY%w8kn`2LYacz+SH*lgjhgd$h|UMh3@{9| zEJEt>Pgmk-tn?;G31PmL8)LtTx?0KD2|BkiWXvCy``IK>)Zt_qa@EQSnJyzo2!{9@ ztk>P=n~ah+0@zWtoc>{PO~k`ujP7Z+Ma%!Rdw7@a3R={(J2+~xQFkAmy?;W@2ITtB z@E^S{k>4~(CRSZ0)Env#`jA~}fI1e(3=2G44)vsURal{ylk_IXY;NrR{!jdrT{NKcr+}ptsH(eFk)>lPoy$rb!+0GznT0~fA zAXBLGBDNn$mH{hZA5Vc0p%Xz#RumN`b~iWPPp)9%@z$sRYYY3TeGE*%x@GI-oe2Pr z5zQTEvNyJ$!k#3cd9Rocd5efm0nOH;z+isI=fZ$OeRf5RlZEM8`L%!cm10IuDgh~$ zX0B{6BOc6@h-pOP**%77=>GYyb#4`~L&Ot@!^N1He#z&0DV?|ha(?SwEd0ki&(SAE zs9%~MgZ`!QKMKflai>`sPWc1dqRs=B$1OH}8$`vW*Foii?=z}jELX#`ocNssD}dXV z6RV;k@#D@dY|R#k^LtfHjxp}}QzC;hKhh+je*F;1A3qxuptPmRJ-t5ze7x*YY}Y^b zab8_GTH*|DyFdMQZ18;3ek|eSdzz^B$C-|kzEQ!$q9r(Y<=JkGFB#@U_GLH_8!?Oa zIrndlGK8w4sGa^wvLW(Q{<5FkW*49#tWmH-=+qlYBehq>cdeymp~eKjP08GlmvT4{ zOL}=D>e3t6BfdDiBX+Vsl}l3xnKs;301YMM9Yv3NSSVH!UFGKY7hiakbE<5zK`iwmgqtXmfVa-w__wd{U4uXMevs6$_f}v! zASxSoFNYpgJa+xE!=VC!T;^N6KqSn#9mlx0R9--*GtQxBM2dW2lt#JfXE?V-1Nn+y z!G?rfPcaD?%s<^;bZ37fRkOk+5mlhyTgb1!MVBWy7bu1O2!@In_>HfCfQ>5Xo z-hiqJvG1KnI(cwwRZk`!5^chCfH^dd9jL1Wl#_d{Zoq&Y0!t@Ns!TmHOzt`hMf#Hp*~*Q$tvO!u}YP0gkK?kr_D#_-!!$ zQYK|C=*a_-0;a$AMfSPl@Mkt+Jlxs7YG^G~x^fR5qSVFe4oi7Zwf#>tiWlsC_<|F_ z$VUH3kN!`k0RHzINF${LE=Mi3llMw%@l)8#JY2l~@tEF^*z&^F^b(xkdO;ZjMAw%V z9FVlgKtRC3fz{%he`rb)>f-b1?PK?o@QYl?&<+z7wacI5-z`=NlSO;T zE5_4&3yS;rD>h<`uzyWE2O%LlJsTMcFz&u726eT614%MSGsx-sT_*_A!k^In(+}x8 z;x{o%#8yoCNc3Brx`rLq{9=V6FzLk+%#7XXY<2SC5{&t`dqbCYrpR{g*qY!eXhBqz zQR8+_ovAqUFb@MM1qjf*9rHEke0;`9H8!cxj7>pNP|hP|;om-!b+*9N12X)%G%h?( z`zJ{K0Az~TFWQDJw~IU4#C)GAZd}*tFiFnLk0lGi$Qig}h%fV(X=xv5nJvoz4{RKJ ztPPmWk~zWoMZ)>nUfe69C%54MUczyXqx=afu+p7y5GX(WtUt+@pn@;-4bNJZk^w>k zB%6jkxommpYJK`5Ev@xFC%WGErUI*9f0cak-*$r7cv~O|1>0{QEqOZX!vYX^!2awc zEqfak@Po$7%Z17rRDjG_jzNNKh%^Jk=UA1#7beD!BTvLb{Od`!F7Z5!AIuluhf1_p zJdBNb_Uh{4R}`}oZ~_r&a2YC4uJPaM(D8af!k!FGYqjt+YWxV~@v}Pt0Id&Qx8h0q zePT^8l3)_H(Vv!&i#Za+YWTlvpVwI|=pHy6hsETIJkN($M&J0JPjsJ4p+7rs-^Lb& zBMQ#&cIlz!lXh-kgbY}LR6uLwOb8S?T^|s;d#e%tf$t-!ha(SD5N_{R5$Q7XI?(;V z=1PQ~-C3{evXu_Mj*82txj#mnbxYT4&108iH%Hm7SIuHV)la3fh}(aPMXp4fB@8hW zE5|Obn&Bp6NLUk){66+u70T>CB}ecBT$YoAl&ENeM9{tx9fbuNB?I4m?iM}EA~b#3 z6Oi#z`9lwQ9PFLk*0nJExP^cKx0wkMmlUh^sSqn6i_*37#Lh?60o6(Q=&nPG_jWRu75n)Xo3^D z)Yk*1cI;OAkK3@jM5Se6E!W8Y$p!8#d3`Vlp+?-@YYa{v=P*_f!0%)Omr>>G%pUgz z`edv*b-x!h3D_^3HZkb$BDu z-v0fN@v{ElXGsersz!L#P1ahHbWHNOoBPfmh=14*ha`eYR_aO_mqx1y4@JJXU;lzh z%`Xw0sWc7Bv~-aYn&sya6S6;OfY=4WUYi3SxyA$Z%)(u~iJgw_CF|qQc}WVE3zK58 zgTV=3dsuU0W23{XC7-raZ5;$vq_N3Ji3zc21dkl^6*e2y!5`NS%Cg%CqBj8Lrm`%( zcRAaLT>KZ4cgJ;s&Vw(D_TiA1s~QIkjZTKyBD8i<3=Qw>ELV)>#k>(@)NLUZ_1Hdk zyAw=1!IAkU;|xuHfA)j)qxEE{kcS91@di_c#)H=lF$I@84gf$79}e@C&+GajiKB1o ziKl890nou0HkJW=dOyeI0}1ySdVgxVX5esZBZez_;QS#YTgmeggfGpPD7S92|a*Fhg?GQUvTTHW19bEP8)Z zRKrs&I&XCRg*B38(3~+c9xdU#{TPad8I6q$Wx?M$Ef>ZWDlrUaeNw2L0NSv^(r*sub^y#kguS26CnWC1~pUX7HyStS0 z;o*{<9ZQjg$6mwSv^?7lT&X*5+Q(2C*!CC0g`GO6vIbPYaOlw3)!qHf9J07Gn#TMnBbSHc7)2iHGBF5}7h0S;ij5)EhrE{3H-FW+Zj`)tXe#75%?XbfxDNiZTh z^cG-e7H<8TvROJpZO6j#SWcQ^<;xGVP85DPJjO>J@X~vqQ0TMbmp?zn0H*?gC>wn6 z_rpP*jXnyTgUHgXkTzm^6N(0SDn4FGbIKm0?Z0%y%69U2O5^-FVL5eXR4 zapg&ycjua{b-NilmY=)rs2)qaethVAvoiMZl#Ti3_~3qH{qr!RS;ba!ecH|HwvP32 zAqXLV)RbJSezn%$_JGB1>Vu+C&gQD~#Y4`*!9M&*zLc_s)}Q@*MR0>N@3zaMU8iP+U<5wTA)Y!S)c%w@9?R zu;|8dkZ7@g{7pESk+eyzI6jz~oDb(WL6!upAVjiR27?y;G?Zs-S zCK*1%lH9yMO$@@0!zI>ewy#caBb+Ebui2fHMADXSbK#JY12acN$|bSacZTCx9vlQj30XL-o3rxc4a|xT2W1r%<(cD$Zu;`+UnU#tv(_&?y*6v6fq3X6*nqU( zM3M@-ysH9-VhZ0DNa%!tlq$vc)f|6QSNQxdTY%+7el*r^<1VSkvQ-T}shr*;V%L8D zw)N#igvm1nvfpe6qCbOTW^T*!YA85cyd(o_Xn+&Et)>xs(xmAd>%E(q>Ri*fPSxCB62+^5Y2VpHkcJQ$r5yAzay z%wT{eL*7j#w&xuEt2dFH&D&W9IjBo2X(l$c{q|`yzNimR5T>YO0ak0PzZ8W9G2vUT-i_&uYv4dAG%mVdO*~oR_6{o z&>xX3OM;m4L#DqAEKA#F=sqZqzIWw?{e#%N;WHEfKj&pJ7(sb9X=GfZ7X<^9!g^89 z9Hn@3)=AT|%=7)@s&-r)#90HOs{I|E>{{XJSMXaYo&NMMk2l35+lw2+y)asARdB#I z$u%?`7gVhSrH7ZlHBzxdxiK&@*?@$A zfQO6wb7af6is6MvW1@UNp||^I=)bOB9YK>K`Y1AvLOD?9j*5R5eQ5>%Z!Q76W7?=( zE%ARFEr1JhRG-T1S8b_Q)4;Utl%WDJFDHrX7mL~Ea}-Lxl-F@5EfM+uIzAeoQb0cS zXl-n4{1f_JmQS{DXp@I1yn*S3s&g{Sb@7f)`t}WZlpks+uo@xD72N%VnJ@O=6n`#k z{ZirIYuxD#k$p|V82Ey*1!!wucUE!~Oi5f3bGQG~jVTq%9RBoCGJkc{fb*}_i<-r^Z4=%)bis0w*p;*|8D*73e*|*zbpTb3UvPdyY;^+kG`JQq-GM% z&%O`m{G9bRD+uvLu=pJjkCtk0KX}W z|6NAS!$9l*vs4j)UI6|_DQbZPz3^WtefVi;bNbqD;9^8c-_ z|DOZ+AD#X;fd8-S|7PI-pSA9w>*LQa8s*1QR{sYW6@MkKc4+@C`X3N=bCHf^H~T@_ zs>};?bbQ60%TBOuz0@!PnytNJpFBVd&P}< zWeLhX+c&UOYbjcCFW|ZVwkndC_XwIAVA-O$bZ}@W8&Bi(R9y<||7z^L!4@~Uk_T7tfPqt+B?ObBuSq?^ts_QM|!7mcj^5lvMlM7jDjVpNi^d*>`S@ z!!o0i;9Ob%&2M*&iW9gMvF0-)BcE^!?d$g+xKalP^W0AP>MoN#@FV%_cZEzbz<76E z!<&c(gKU{0Vk>ZL(Mg(#^|WKQM@7SUi2)vpQ4VPid!qO$*vcj_EiJ8~v9ap#6rlTnA0C5-K>z}dM7j@PzUR$(4n zADD9u^EmvZY1Q8V;O)r$sYFj;F6+gYlA4f+8$Zw92n9_QJ`zq~pLUl?0nS04s1TVo za-$A@9xxM>rSWBsbY?v-c7f_eqIj*A;TL&UjZ2KN-F8-Ot|9C^+FSn^M1)M;Wrf2+ z4K7hpsW8u)97gP)c*_B{%j^Pc`DvKldjY`T|I>1*;Ii+da&v6BpmMK|mWs-hP}*?8 z?Qd+$?T0bvc&jNNP3W)T;A-&yp!KfJ%?`|1gRPQC*CMiMjY}NB{sR0D#FkH&QG9{+ z_RIO*@!hdZq-keyL@t4jSEiz{@EII*xDDkm&l={WhWKF>)-3m@Rr}-(ncY10m8nP! zzk=1vM4QxLX!GgmB^u2njO4uK`E9NAebp{KjwB<=I_L!6BLhhq^q3EIky zeoRkbPleEvfStH;kC!o}l0pOG=I0TkheJYGU}(>-oZ(*Px&r6omX>N4JuzfpU)#K8 z?{SB3__BsuxsdSkZeU0V*=Y$G7qi=HI=FL9U7yK@3779Bn;8ExrJwCBs;mby9J zJfgrDw9Jd9tjLO?HfsmOT27ORXxN&O7fgh&+wQ3c+x3VM^QjsXUBm~ri=$`%cprY3 zLLYBUd+=46(sq1~(>}`P4JSHw7UF9s#K!R&5iGT$eGQj`auIbeV`4Z|S)?>U%6O@dOpLpsc#^_4 zN*SN-Dc}!TCToK1YCuj}9Kn6R6Nn7Ep*;Cmb?(G`V|4(dJQj0TCiMAyjTW9bODk>` zG|W(??3@ZaQj;sSG)Xxy~;fs;tdNHxks)AR!mE@n8Bqix; zW!Pui-ffjeW6=B1qdi{AVR%IER_%RO+9E9=_ifhw^&nsPV-^&0&99g1`g z+wD$AqyFi2XQ8b9NIwrT)-U{#JL8!>pCK~T7SJ7KGDIhksgE3jZM-Y7xx=fpnuk7_ zFKo$Uj%}70F*V=Z)KP6}FY=j%DbgLy83?xhjHOY{4IRFOchja%L6L08JFiSdhQ;ZD z#ZCpRxDv2*AHl76`<`v}C|j-|Fa)@G2C_c#NgT(DBr=lG84B;&1< z1|3%TZ9ZN-*iDl@VmuI=Cg|Otl+8s(RmcXCLntRB?7ci^3&KQ|yFInGd#xMW=aWBr zwf~OUHExS?Z){pV7o;4as&O}buhIR*4-+{_mHzrH1Ic&KzTZClj0`sLp?F+5?`68$ zY3gDIzHh)Vi%?P&6}FpTvoM`#t#|#|_ar+L{lS4!SFI9=uk>o#8-CZa`S+RkZWH6> zq(6R}^XiKg=!v?2E8(NoK?XlX$>IE1_H>Qaghy2EMs7(t=hM-^+}-z_>QfS&0 z>Kj3tlT~~Tij0h`_2{3gR(Q!BmKiAzkL^M)it}3*j;xt{$i2!$(aZ-*X1Ot}_>i-x zZaS|v^e2zd)h?ZlQ_@b;7Ix_D5+!s+m0$&JiK%aFs26kP@g81lIX|d3GC+T)u^+(a zHXjY{oS*L3>4%#fiqt9JWvQwDK^N@W8$qxwgQyj4{C>{R2CpwOc$PY1E0u{w?oz z1*(S-<@@nQ_?(&_+e`s7DC1k9lp&Ki=4F2_$d6h*qudZjefv*C!y()E93$gIP8SlL ztl`Z=Rpbd*b+@&cnofj?uS1&g=^0V#P8vCBo zbtjYf_uq-f3@WG32W4iC+R?>k)AEK}Ts~Hc(VoEhY@->Qu3*I}fBgirLrH={Nw|;L zdIbLxTQxV;i}PIE+RY0U*4JM>dh|$GSeT*+Y)8*xvA9)*VEHTRW<+%8?OH_w2vWI~ zMFE4l0&_JT0x_jAbsr(i>@tq2hi-Ol;nIY4PymHdHl6m?k*2ur{ z2c3IvF8goH4sEy0%^<+erA)_l;eWjYQazA|%VLDKYk<87ld2`g0}h{h3vWIEFg$?u zPn2o{7*>TXoy_ul`)7W`0rxA@zwkkuB-fw+2Ym1^y!;=^hfge_^nZ*n4a-9sWN6ie z`S@HD08rE2?EDhZBypvi4Z}vrDP50~S<0bPcT>Xn!i*vC6oYEI-zH(TQ$Hu}ChUUp z6Si_v-f(T__f_WZ1lWW}aT-eJdV#xQnV6aV9y|l^N1^|Rsfvc4j36(A^X2jCXHw1i z#r`vtn9jqQFG#~6t3TcBZj-;Ak+Lf3RqQZ^GPIRYxSCBR9o&d{LkTYf+b64@LrDet zbGD{BVtGaf_U$#pacmf=B}=x~c1jpfz=f_Lz$Uc+2dA7mzP(+yB%APY52BCth#a}a z3HCz~seH4C2nJ7*z#Uk@ownsQlldf-g`oBwGQtiXU)xd|%$M2CJ0DKo@)8@=fz20D zcDm9zlu?E@LbO-UbZjgYfm1C`UC zsR52AbaVNrTPi!MM)Q{6gc7Cl0==1NzcWxSMp$UEmJPo9oNls^O-2v4(=M2=Z&U!aF0QIys-Po z`e0`{%9b!jdDo3#6+~IaG&)KFWNVhHex~Tw4%~b2Dmuiqf52eY`?RK{EibKE{QO6K zN)q~K+y+H{E22?=_xuRQs}FB`_Vtz7kcJ|qfZgMx>_$`z<_LQ*#5c{JBHq5b-rSrT zW7^9Ij5^=G8#Q**SnmBD8C~?zD*r7bbiK6yMVbCL}J=+OAOh{+)yj2^(ag_kyD$I3@Dq5vlA*} zXl9_s;G8(^P~ufV?oUH!Q#NcE5tZG&a?q{o2XYI*Z9uC)q!affz>c%kP;CiwUS^TJlf?uJ`EzIXoZOf#Nll1&i&izF!HUX^5Ke)lYB=;zId z`Ws6XP$9nCxjZVNrV6$o(8L5i=R2^XYlntv+tDYyrO((`JZkx;*V*PNh22hC-tOqB zs=4rcE)}~-FPg8Sf}sbWYS5>{vb=B^6Od~F&VQn>CYs03GELjLyR;w#s4P}v_=a~| zIb~c%Ggkk1x|#la4L+WwK*&MFu9&Vjf(p!@SWR)2AeJhawz8oua>%kG4(&!M|pr5t~oGkY3*?+|U_+L{d*gs-Mva-w{uAOJa2Y-|U1rDX` zDXqgII3UbxIsY`wxQ<4H6Jx$V;jcP5U$l51Q#Te?4n)8S+!wm-tVvwUHS*pg1y;ZF z*|WiuO={ITON9qvT5n9&5Ys?b*Sit-7?_s8KF3ZkLzy3;&_@%;htmu&g^hBQ#3#E@ z3~0{1Z}Z;(`&9NKUr&6lu|N$Fgn`nRX8#WGkK4_4mYM7ht}<@ZFK0V;Jm!NN}_3h$}hYG12;|SYp)8P++$V+oH8O9th&Jen;BS@ z{g)^DFNWybjixtRdhTqIAGaETZ+<|ssb4nLQpme6nTtLJQp$_@d@Owh|FD@b-@UC& zt=zzKG~ZIi)*YmxQ>Vn0S0lJ#6I&-+l?0YJs4bg+m3|@*)eAb*C`APDlox21e5@57 zfKM^f=rR{XEamv+=Mu>6h7DLCZnGHzX=PUl!bkumN+Q;|G=iz9WLCSx5Cd8yPp@~l zm#}{{Ko9#7LIY2@t8Ka^qx~?Fvc!)$`JRl;d@~IC=%Fzfq7pK- zPB#bQE#eRpz}ooslt1MD#TIR?=Alx_o|sZOM#x&r?Ht(FX9Y(OrxI3gY*|SZ*%P(8 z7%&KH@jU-d+73BL;1rvdRa{$lt8Uxb2}$b1!zME^#(5`u$|l#HPM2|c%Dw{^7$)Mj znxcT%#`#oHyeIM?VE(8xUG=VUY8S}e$ml%Y$uf9W#lmc3Vjse(4`l7_`o?x~za5n` za>=?^*wPno2cLdc8O75XRr!NbauQDHY;T|8P|U?kXd0GEK2m?zUENkUP0xh9%fu;n zaD0sxaOt}^g^jLi`J=aIHW|JH7V`KN9}9!ib--|eF(lmbD)na+t8zNW#g{Q6S!Y$W zGk)%w--%U@(eT%ohUzx9+M_*H&x&O68K<*-{OI7HM}LSbpJVqK9FyjDs2II*B{tOn z;-2sFm)5Lk$lf|B%Jw`RUiGQ#Ty&ZXJdlrgGAu6{cI+VE;Q!Q$c`+{oO~uK*z0E# z&9K5r=`Mqn_wHoxj_isJ!?`WSewf{Y@184ieG_?J>-=-5z`m%HWZ}E*@P#$J>43^x zt#tImJpdhDDCD5~lfYhsrDK;guc)iS@VCSSPFX_fdU|P1k4*S`6(?K7cSo-%2@Tf1K>b-A=mMV-O1?91uh^!$;qq2#9tl{L1 zD{$VB<0FD?Jq3uMWPH;FiVWo}ys7&1+bHFTIXZD(N!|L@7t{7#G@kx;K z6ucCqu2CjeVwmUOdj)tpcVC@?j~_oG5Ux?jH_dNm4>{h;%*x72>!t-t=8f&b>yWLC z?Ruh$r836E+m_8#a5SSzNFVIMW-8h41iD454%7zAt78EBY#a$hE`GT83{X_H8nh9D zU`P!izMc&ZyrDA21_sbxR0Foa30ePtJXA%I-#tfugMvSSomYUBp-m6KU~Xa<8VFe% z0?Tc{PbOdcL52v#9=1vAp}dE#)W+fpLrc4XV(D(Ku0q1XMi4hqEg&LRC_K3SR}>bD zjf;!3_KX88dI`ilcbS>l*};#%t(9#P%1TRPy6xI>9=)5O-`}^EUw`-hVbR#yed>$A z&y7rx7M8WtrB zPLSfbv{-`a zkBJdwiRatf6c<-n+6T(ruGd(3MyJX|zLt2{CQ5VxNLw$`e!1bL<@i$Zhr?m~T$_VP zx?i!sX+z9WE~BA681%|=W2xvsLzu6Jjh`>s!`z$~$!9ka6Nhj@1*146g_b~Ez!ti{ z(G;V!KoP{gCxJ~!roKn&OMEzas4{?3Ir^R}cu77zC%DvbncU8s-qGQLZ$HIlcKx7;0fW&uZZ+Y|7ZjnGymo= z{W@R2%;O2(TqA&4Eo5dqPu)mX5Yzyp6IZiEYyxGB6-L1b<|?1Qjm*<_B($E7QD=_t z$U!$(hXl8qj-g&z-8(82{kFN5bJc)3@*6PyuvpcA1$PT!H$_aoclvP-lXTbr^4}%G z7_&P4SwCxZw6PLV$E>2^V~tfI2$#K)JvNg{hP4pbnUdlor;UaA^vud#lN~0lSN)au z_UlM&wa#nJKuc~rDbA*6Oo#DmB{7tlusQ=QVSq{&C!%7sZ;rP*e;w1k!KZd-S6yFa zhh$)Vnh34_rqH;Mc}ZF}57rbyJc*)V3G6&P+OxKpg&hd&&BIbCUglOlpdsVvoS?pp zmg=@z+a-Oec^D;Q=X~(T%=-!H_!uX!HUNyCrnS0NHNP%+p=WtNIQVvosHo_>w4~fB zgtd}<=ms}w)?ud5sS5>~WQpc&HSk{(j2aUaC!aGM;#zM#hiy4pB=MpHx6%| zfza9fwnL(#yu7-S`+D2vmy%mqT4ntETJZ`ta^7PeLPZ8=|NH~Qq`Wx3|CgK>k{Gx) zGA{KHgs^hzy`(3Ou0KD zR&M@P+G{|aUcu4;j6T&DTcqlXWJiB`%$E&X;bomw~I-894y1b4%q7p00-P{wg_Mw8w33AjY(Q3y>#W3S6RD zzokp})&DQD1fKI>)$vG4@^`cy;U8{xwq)CICpEJ`5+zaey+OBrhhMic{?u}g1LG61 z->CG6%Wnb~F*vv;RV(Az6(?z1^VqPZyYJ&9_fGO}12E}+OUM5Gc+ZxzuOuNiA*=RE zh-+2TE-Qa@oZs-iSu?x@2>ZY&8AAAnb=KBQ&W<*0rssZ06^F)qSy9HtcN7NA+$Q#| zSlNG3HdOy4fiT$$PL(E5oB&=d5G^)+(6xNX8+EqM>ChE^Qd%!0Kg-^;#N9G5_*LAi& zulxCd;)S-$z;QeP;`k7qZ^sLWGY8zW1<)j)Uls+uT|H3+RFx5oEa3Qt&cI)O{a63} z?<(-W)8hX&>HaSr{C^;?{!;h3g1ci;s_5qLHKc6yDb;~y zp^tu@182lT#9XnA2b_tJFk18|{rqGK*>;SzXx}-g9w`^H{ToZqb9z7=p7ZYI2Be>n zT?Q(dWGr%nbD|hcY1{fjUG#X>smu!U>N72`b=cwb*UCoV4IgoiyX#LD^ykZ5*_BE8Xr!|0x}0RD?KA-b+%^~UX6tm*?SwD`0e=P zS5MzBG~SI5-zyr@*vEt)55$YN%RTFRD?v-%;5mj_SfnYbBn%gHf%Hf>Nqa@1(yB4f*fdC3fGsaM-aG!MHMWR%*qW{a^ac%zsKwJ`J`#0%AE>eBQ zH9TqaDE=MkKEDRm=>A$*0~6!cX*KlAo|~McQ0~K|*S3DcUuzHM6k1-|%vf#I=Z9Gg z3?U?Qov@>aK>l(ZFP}S4Nt6CnQfVsHS!UzH6!~hu+}BRHd0~GsN*ySSZhpEX+&&sv z0#8Ztx4s01SUv(ER%)*vAvw(^20YpP-kpuZC|3d}s$7k^x|{>;Ax=a!TZ(-eCN0N; zbltxVpd+BeY$;w|o|s2L8kr?$zKzCIp9!qf1(}RA@~r;!HyPtyl!~!1gyEVgvaOq? z3!I7&A;Ip`1S2&MiC%93`8X_aQDV5^hewc3DEUhnF13->eM*N{;JJY%HZ%SWo4iX> z+zqcpL#t!uHUtO3X9*tA$AZVV@zGW=Nop!X%w#%-f@6V3n0u9?nV$jpWZ!$c$0M7q zrNJb(UT+8(<#HhC*1jU&8 z--XbHZ*wl^D!6S-iSdvk<_6-UBz%YEOV%s=)K>o--L-&hDT=tnH?D#-5)chyzWO=B zul2!TOUVSy#DJyDuwDqSq|g>~#D|LSQ(APqX|JqvVXfMpyB6`VT5MmYHtmN)xFCY_u$eoWg&8vJit-uI)xsar?4cD$1nm<`1?Lx0YWmMc3=u~wQ-$Z*{+Ep^# z3N%TqN|zxS0i@*q5M9l~k58%Tt5Az?Ut*LL2|dWV=q*!j#|P5I_tqTt8dqCy^lXQ+!HewIZCmLWFCO-sb?Gn+p%;qPscF7zV+}D% zc_S@-|9jV?+eQMC9?tG%Y!V~aaU2%VufB-4E;MamJw3ge%Cfsg+TDfHyjWU}>oj!- ziIp#nuGV&cAjazf`81X8z7*S!>cqhoPifEmkwP@tQ3-IJfjz2YJVGEk4rVLG0VQHJ49t4r)E`f`-v+y z0LczaBqvrn;j%~*p|NC|6|942FiJ0HyKd%FbW(*1p=ym`D8&ZeIvM$3*)!adEAn1& z9U^47G*j-L^l{=Pf=c6aWScA*&z)Q?6G@$*t-Oz0vea0svF|s3FB87;(crdhwnY*i zwYPkU&}Q9qynq9DoGqo+B&m>gnXB)YFj?o#A1gxeP45%rmj{Uf6)tkepX|@~jn(yn z_9pL&&$AN+jJ@{+@Brb(uLU+44%`(d2xO7EO=7fQ{J|NUh=C!JEerxlE~=%&m?VH^2Q5bS%8@g}O1=XO)wA0##TjO*X0OBF-%2R4gWn3RzE#X8=4%d5ZJ|gK zD#9mtQRGj{joS6hMUA(QH;H*%XI*3Chuku#qD2~HxG5L-UoF; z+U=T&5~Y1DW!~MOSI;KgtR$a<`vzTIfdx)hNch@;m6t&|es=J}r9EuL%GbIXf$^VT{w&rP>;9j-hx#Y$&rG0m0a6GAst@VJy z^-1psuh`L=Fz+yT{X*5H#S!#;z0;_SrNkNw{?W7adI;E9Y&GyXFVzd{AN~+#`>xl? zy0I5!BqiE5-V8e++DS|Y*Zf^t%1WjwxAO3>b%aoFK=jp zmgo~4581r?(ZqYP@Gqv6Vt*s^kFNn{xW}jL`S5YO?5|!C_Y9>@ktVk3x=&Er2}2%vMScpG+%J)CR$q8tuBv-I z;)UlHK;PDzisjK|X9@hYe2Y+7bau(i4I`gDQ(zDMxt~nqm7M%A-Hl?%p!i&td_jx}jMZc8ARGT?PH z+xMSI83jJ`zb!v6s|o1AiRB!O8(k)e+0Inj2jB#4u`69kd9CCRh|Ef(^y{rE+jLdK z(<5oA-GcZ4VyD)2$j}9YokN1EUiNtHPP#!Eocv7|rgG4A0ZBQSW(p_c)u{9Q-t!W{ z$_5~Ch3RrL$jodd#e_HXco|xKGMajBa5Olf*jMvj;LD-}pe=^Sqrj#l^D8l79$6FPc{Gr6JpOVom39-^kB znoIXCS^9k89%t#13)4h{(w=sAl75xa_T*r1Y#bAV`}v|nRAaCp#6d8Z6V+?Zd#e7! z3vChB4;A%lgyftS9kzJ6hix&X=vQD|=ykUK!OwnI)ae@3f^xvl5#h5<>uq7A%>klk z=tpn0FQHC*V*~!2GW#jT;jQ>q4VC*setugiG|kI`w0KEw7y(mfQ;MWsp^;)~d4-5v zOektDy2L7V4|&tX{c4yW4QK7~`y23kl;aP(Rh0LzpwrJq2bt-t&Gpq`AqS8Bh7oxa z#q6wkf#2(C#1s}s)ctW;Uv49ssdDgMYr`h^*vScUTTGdZve(_%z$htIOPXNi z0(vUIU)Tj2ffUnP_N1XZ(`(vF6Jixu)^y`&6|PZYi9H!>nSc8-GsMfhuz6joN=(XQ zn!rPoMYLW%?GUjU==TXfIqnGjcv4^9-+DMpOrn-&9Sm$=WWa!V{C(sCR+4Qf{$GBq zWkJO_LPI4f{o~ylLmb2@;^6oG!o_djmm7>GC1^L+*WKKxE1zF48BxHj)(36bv_dt_ zI_jzj*$rD71a|4AKLx)wv6`gcH3h^fvvDs+mICHbQsjCR?zOWHoBeV}t| zxiMqldt5F684XXLnF(R%v5u3(3FbJp+Cq_HTglWw5iGH66)X+3$0FzaG0J4!DJB2Y znaeNE=l-!M@3~GGhD&+d?az4_SlAF0G@m6s@nnmM%}h>}6CB3rYECfuRk3CG0xxEL z91qm(#vM9%xu7Q4oQRja^_B3z-P`oKV&a4^XX$1);m3{p*=EL)=biEv8I%?}e%6t% zc?kY*)xqPvx#EZk@?=;ZBb5e6E&-yS>8NiS|~lUZ$#W*(gT_e2EUuqv8CGa%w*V-Bk@WO8!-9GR^=-2ZRdp1t`#)Te z0dQxn63r5};R6huRe9o-+Z3Y~(-(+Une=z}@mw-nt4ZKimo9N>x&b zfY2C#U@=|3E##_fiCh`?b2FN&)zU7g;RY+d7K7H#S}b+>xkaiHzZ}?@+O_(BFc9Zf zHq9@$84Fvi4e)EOTqCr334eRHeK%adEo>cujFbL@%Cx*O;D^U#KW>7#z7};-3~+8w z+iWI(^=Eqogv|U*2Iv@nl*gxCE7>=+2HreWGPuhbqecK9j4_+?9{qMj(|XLaK*-!p z_H}D{zW_It%mb@7jO;NdL$2nfU<99S|5A_quC6M5jDD9oKB z7Yl~y&IV{Q4++4&;LuAi5M zJy+@%iO~p}PE$R-V;wpIh+ztKcA820?rPm(B%1$T*5*1x#}pb89;h8 z9p%U0*3WUSOl+53;1#8EznEAJbj)714E%WeS|x*WVblZF4WR-d+tLVX6B}Q{ufvLp zZrv4OJH9KL-NjXc&;ozG2CVm==4(?Wi6vtm0q?CYc1UbihkOs3BgKSIQhge|KQdr0 z>{i4JyUEq?1l7ORp2^8 zz;k@=nL0vAfHBY>XG-wBN%^%?asYTbWS1leNdIX67zD>!#&KO9%z*iS8>Pg*LOD{{04@*U$X>1oE5WHJ|DgIDJZ>fi28Ns8md)JFLlqtX zG=uG1^khiTR`~rQsGZ^oL66eK5*>|z76MZ*urzH1AmTwP)mg29OFg{+(BFSAUIp3| zKK=0+LYV!Fx26CKaFSH+tG^od{);&NmnY;zQW$PMMan<>`mPoDh)PF8A5`_=>8t+- DREHPh literal 0 HcmV?d00001 diff --git a/website/site/content/docs/webapp/uploading.md b/website/site/content/docs/webapp/uploading.md index 4f729435..a8f37381 100644 --- a/website/site/content/docs/webapp/uploading.md +++ b/website/site/content/docs/webapp/uploading.md @@ -29,6 +29,8 @@ scripts. For this the next variant exists. It is also possible to upload files without authentication. This should make tools that interact with docspell much easier to write. +The [Android Client App](@/docs/tools/android.md) uses these urls to +upload files. Go to "Collective Settings" and then to the "Source" tab. A *Source* identifies an endpoint where files can be uploaded anonymously. @@ -41,7 +43,7 @@ username is not visible. Example screenshot: -{{ figure(file="sources-form.png") }} +{{ figure(file="sources-edit.png") }} This example shows a source with name "test". Besides a description and a name that is only used for displaying purposes, a priority and a @@ -58,25 +60,26 @@ The source endpoint defines two urls: - `/app/upload/` - `/api/v1/open/upload/item/` +{{ figure(file="sources-form.png") }} + The first points to a web page where everyone could upload files into your account. You could give this url to people for sending files directly into your docspell. The second url is the API url, which accepts the requests to upload -files (it is used by the upload page, the first url). +files. This second url can be used with the [Android Client +App](@/docs/tools/android.md) to upload files. -For example, the api url can be used to upload files with curl: +Another example is to use curl for uploading files from the command +line:: ``` bash $ curl -XPOST -F file=@test.pdf http://192.168.1.95:7880/api/v1/open/upload/item/3H7hvJcDJuk-NrAW4zxsdfj-K6TMPyb6BGP-xKptVxUdqWa {"success":true,"message":"Files submitted."} ``` -You could add more `-F file=@/path/to/your/file.pdf` to upload -multiple files (note, the `@` is required by curl, so it knows that -the following is a file). There is a [script -provided](@/docs/tools/ds.md) that uses this to upload files from the -command line. +There is a [script provided](@/docs/tools/ds.md) that uses curl to +upload files from the command line more conveniently. When files are uploaded to an source endpoint, the items resulting from this uploads are marked with the name of the source. So you know