From c852782a13362d49fcf2f4eadf5f2e65d58e0ca7 Mon Sep 17 00:00:00 2001 From: xarkam Date: Thu, 21 May 2026 18:39:29 +0200 Subject: [PATCH] Initial commit --- .gitignore | 4 + Makefile | 20 ++++ make.bat | 35 +++++++ requirements.txt | 33 +++++++ source/_images/audience.png | Bin 0 -> 40944 bytes source/_images/china_flag.png | Bin 0 -> 1340 bytes source/_images/desktop.png | Bin 0 -> 953 bytes source/_images/iphonex.png | Bin 0 -> 17082 bytes source/_images/objectives.png | Bin 0 -> 8177 bytes source/_images/prerequisites.png | Bin 0 -> 1703 bytes source/conf.py | 47 ++++++++++ source/index.rst | 151 +++++++++++++++++++++++++++++++ 12 files changed, 290 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 make.bat create mode 100644 requirements.txt create mode 100644 source/_images/audience.png create mode 100644 source/_images/china_flag.png create mode 100644 source/_images/desktop.png create mode 100644 source/_images/iphonex.png create mode 100644 source/_images/objectives.png create mode 100644 source/_images/prerequisites.png create mode 100644 source/conf.py create mode 100644 source/index.rst diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a5247d --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +build/ +.idea/ +.mypy_cache/ +.venv/ \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..dc1312a --- /dev/null +++ b/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c08f5e5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,33 @@ +alabaster==1.0.0 +anyio==4.13.0 +babel==2.18.0 +certifi==2026.5.20 +charset-normalizer==3.4.7 +click==8.4.0 +colorama==0.4.6 +docutils==0.22.4 +h11==0.16.0 +idna==3.15 +imagesize==2.0.0 +Jinja2==3.1.6 +MarkupSafe==3.0.3 +packaging==26.2 +Pygments==2.20.0 +requests==2.34.2 +roman-numerals==4.1.0 +snowballstemmer==3.0.1 +Sphinx==9.1.0 +sphinx-autobuild==2025.8.25 +sphinx_rtd_theme==3.1.0 +sphinxcontrib-applehelp==2.0.0 +sphinxcontrib-devhelp==2.0.0 +sphinxcontrib-htmlhelp==2.1.0 +sphinxcontrib-jquery==4.1 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==2.0.0 +sphinxcontrib-serializinghtml==2.0.0 +starlette==1.0.0 +urllib3==2.7.0 +uvicorn==0.47.0 +watchfiles==1.2.0 +websockets==16.0 diff --git a/source/_images/audience.png b/source/_images/audience.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9e4e51219efbbaab648f79ee4079a4e5107cfe GIT binary patch literal 40944 zcmeFYg;!h86E_^(p#_R-X>s>r!3r(K-L<$EcbDQV?of(rA-Dx7?k)j>6qn!*dGh@| z=lLVvbKabj++^?W>|}OlXFfA?zpE2?vlDmJ@b=PpVa`!U(W(n}}^5V30 zvUjsEbFt)f{$`zhDn^mJD8er2UPMHnqNWMchU4-nSw5R)z*QNir3@Pja`a#0y6W zu@0=I8bX>02?Gb3iq;V>0aAP$W~7DqrpWf=JlB(_C%mZXkTJ#gyc$BpHUKO4>v&bj z+9<8-mG!Ex0Q~Zzi;hzhUdXR7G;7b=BW(7b$Xtk*zI!^>V(@lon$U+wHKNd-~}}+ZBiD3mB56c1xl5?%SLdu4ToH>&=~lWDW__v_2g~f z2Kl=s(q5PVS_$Bz_f3hZGX%>pb^({Ag8|)}MmXYj(hL1e_|?I=3d;nxtRDm#k7(gJ z`;fGCK)@1Sma_t8vI)3c@8Z#1Z9)kXdvt}LO9#Wv6_aaUhk(~UZS2`v1RLGG_@@J4 z$O7Vzt`Vrbi)I)Fuq%A7D)F_#Rv|q{U?=)5YY~8BG^3@zg15s)PiGUhLQyG=1CE zwa?Z*E-jaEG))P`z0g?mM2;6byKPzeh|<0Fc&W3@K}&WL(jE0`D{k-XIijY%TDrXl z>(($bt*(D@PYITW4ibE-{dOLMBDno{S>nYepIuBB&b@?l_kt{BZV-D#-e$p^m%n`y z&q2*Wp6XIVQuhX$&ow_DgNh_gcIfFJWJcM_vG>Fe+VZEKnt?q$h>63Wn`x$1GRq6@kx%pPyw97b-rxdkZ5WSygGX z9W0lAaDSVsW#D!8n1#mmG0gaWhhAzB0i~WJ7O%FryBGb}U=oAri8;m#f_zWDgia?EPEoJ$l zvX>n3#pfYA^S9L=nbyZC{g#)>A>_)WE}Lz7Ts5{Pkx8YN??+Jt^vtS-jh!u+Gs^X@ zaC(|N-rNYvW^%2M!5_hr3^>Gx?*M1O?GUaw<}x{VVrOx0q3uWt_qAmQmkY9#wEA0F zip9=r9yZStz7mHMycX(}mf)bD=r+!BAr)wP$jIJT1NPp>Y4-5L3AMCLe4kc?NH6kL zx;JM{(#bVyZnT$Bg&j0Qw8F_bNF(W6UprCq#eKhBLzrd(hM2G?u_57zaVv`v=h0U9 ztn<*ws8ERm8PXU}1$Uvc+`k7>oE28zKNV;m&aY$KM#3z+&GQDZLZ@D#72EOt>w7c$9>su7SDMaqitSMG-~u{kj($yT z1;{_yf$M{T+U%xe&y}Qw`~@(EO&Cf9Z4v<7ZHTe@TYqQ=#h34BoHY7-41a;b8&p)A z5J@$9tK{!5)mc9bD;a^+5XIK{3Vq)%pvD0>i%>N21_Lpvf?Zn9-=B%lUs?(%7Iq$- z$ylLb^gta^?M~E4kbQrS0Oha-E&l@H9rlnqM_CMaVZgdRYlLQE+{T_46Yp<7YYRIq zwNGUWgr*Iz$w@}$JKO8NElMy9gytxDbjWo6?8PJm+z}9=cRZWSR1*O^UZ|u(MmR}u1!j=+yzWV}gmV+QPUWN9_Ubc)v`13AqmzdiAGXc!iMnS(I;$dwNN^1+AUuV@IX z^e^xvQ|#!q{-UPlDlrn7NZbawJI=3`JqT-a7#`sZGrVI?B2QfXXs)ya)3+|@w4?7O zLr5mkUduBf0n_>v!u48@V+_%qlmcC95BlUxy&9E`exuHz_u*B=Te$+um)VoiJ$RyE zJSBxDH7WAgE7updwt&8O>ly?Py}?1{B_@OqDo#Y=ALfHtUnAcJBb6prdH>S3cuyI}Vk~R-FClt9#cPNxIg8sZB6)g^i zT_AOmFE>Z2dAO>`{`IK_0Ja}J_f{m6>h}0b$6Eg9x(_R+ zg|S*(#JkT>uW?<%ZSkK{3yo*dIDwjMB0mRf$V${J$Xhgv0YDuhj`mVc$L!zSE7?l$ zy$X^*sY;c`B-6ZB{rd=+1004pdZgf>skJnSa5*Q6$fJv*QrR;P20^@bS3cWy`a|of zuNN+NcI(N-rrbjDH)-h}_f5y`n=cQ9YQtAEZw$v`rLRBIAFOZ`arJ$@P@52J(96Eo z=+P1v)!@76HLW9jC_iTZZw^>Q5yxZYC`XaMw;KQxf7*%g&6WLpiuPxP@)M749xbFc zlfB5R{p0rLps98A6S4iGUg_4Z?wO468dlNA)^!9MSlC-x^eAyvUv`$UE@VQHTP^EO z6VdeXG1u1e{-yuLzdG`^LzC5QFctYw$HDoRUUCy>b5R17{v;&~P! zum2jH1vWjtHs!BPmpnOCV4+$mJ7%Bz4A}5%gADtDc(^CKV?(WSa7$m zrzJVCPN^MsJFKV3K)TeT8Qo_316Eq`m% zZuw38&IUyywg$F(id-DF2jW;V&RnOCjrkH+6&0u~oiX!mjh3Lm(9#-M{79f~sBZUF zd`?(+uXsnHbgZJjA%7+y5l;)JByMNJpER8{fGHpYEE|mQeIlu?-D({i$5eR5Mnm{_<7GG9_5LBM2Cx&i{E*%?!;t^!f?nt-qYt#|v zmH0COYEY}x64fAgxg9~Ze`@aY+($ydQV`v5t9)&iM#=v%#z!rYY4tzGpa-o!ti>c1 z|8LvWUKmB;Q|b{s=X9Vsh`VbR|Fb}7NV$fu*Q&>q%7l<$6bHb7fF+l=m@774q}*>X zP7!`^!_r`qsDzPFmQwNP{C{`$$#na6K4minf)dp#m3o7l@Q>mvId2|xK-=VPmSa1! zn*BEcIot9+iOqP7l+cvz|7Icb^#UzB97|MP1q&!=KEu{X8UZHA0NP~4BHbLWxy~<8 zrFz9eL|HA5w^ypU;oyDK!<= zFz$w#q1@Im#|Qvu;|l*+x#-5qhWJOC#y_6__|B%)Xma=z*&#{CBdB{} zM)arvUz*06g`%Y&QLdrc-MSviEi6bRbCYm}HZ94OP3mu&Q2IyNqQI~?N9{|wUR z04H*&E#K!l2fY)5%JaR8jXjyT%edS2pK(hm0dPvu<5X}*B6htL%ikc2L$70z{jllY z;`g497_^zZxrUVU~6baT1QH(+sK}t z;D%o+GNW?lz^?csUPVIo$Oz~DR>O+J>ci!PA8C?4ZT-v^jSgoFI1O&b6z|$QCeS54*wgQBKo<{fjJvb**f>O zXlsVI#`h$kem=Xjw2VX*joB#YeX(Vn-?7gHc1MO7*WMLc{FRDI_OQxPN-5)nO#2=d zty@P@`&rX0*gF-Oq*hNQ7X8|Gy`YOn;2WbTk;01;=+pRw892H28#}}3u(FdLuA(}} zZ|o(MRg`_>bIZxiqOW-qmNt`|1M?$4Lj8vxMK{=*^;-|G3GO^*J?DQmgc!66F9rxN ze%>G~$XiFA;cZw(fJzIksPkg3gFA;V zQb}Cz3sLTsmfoLkD&}ddAG8Y7C|`m9s=o7@{Wp1clQ@rl-ASuPwC>3y#x3L;`Z#zM^eIAC{s?N>9Lj6%m*g2q(+rTL=#;T1smA<@jW*ZH{Il z3EmN#6&-0aKyD5jxfs3z7|J)%PYP@Ovx*uXk9~k-zYM^2qkJVRhVZ7~#U!j5_N={XeN# z>`fDi-Q72j8Q9z8T`Yq?G2m3awJVIri01xP7hT7lm+6AyWy}+^Q6SmaJEE}p&z0Bh zn~&LpA>+8wC%sm)F#JRmB|!1;KdmHkNAzg*#YsIRD?Xwcvf<=rBl+>eX}gGJha^vA z1GU#sE|byc{J=i7Yaa2vHdNI-Aafi8!n4f!-b2t=Q=N6W;i1F(OT{aI1G&H7!Kfjv zdGD!rFBZ;yAq7|g6=*-Xkz%xxdXEkv6K!vMn?9u)3OR63zurvcD(J{b7WFzif9mh} z@JL#Jacu3c>B3<;6kX3+MqNk2U1iJpmOW0ihO8%7CvHyYWzedK|N5OhFMC z^muD7n}6zVzZS|&I^HizK(kx=KIme*_RF0``=Iu(c7ijxw_%ucJ7Xj`vPeH{7|uth zk$*^o{*YlzO&oncIk?}zqDhmtQ;QZhW={8ot)ocmt6d3CG7SFd|Es9?oq zIJP=Z$>LgvTlFgwY@!{%+uowMxl z%Q>nk?i3o^V%Xl74Xb6DQ*Sm?YOSiwOww>A!?BNDo zt`hCzyGzKcws z&uJVByF??bVGWL&8{tXY<=+s(=?M=Vkn0;3&6ga~LL=x=h?dQsKaqZt>2EqvL2dGX zv=D2a#xnf3Usj{Rmmd)o=;)Q^t#@1U`$ra~{M*;pm4%X<3Z-3OavFO-%(F%mIX-0M z#xM03-o$FOrwSbJWarBOiy{J23P{O$D$VnYtGUmgsZ?3hmak-Cci;bWGQ*A2vzIE%Z;AR_!I|jU} zAQ_NUNS6dx-l{PlqDL;Q2NCymKFzCeV?Fzzzd>kj`W%tYFOzMO6LZ^rMs7oJI)Lt< zAPJJ<>*|UY|MSLl6{4a7qICa3AR*6shOD|+FnRHtKq9QUsU7cuQUG}!EVStLnwy&A zj9WSg#QD)ApHjuajmN4)FJMCp1cpHJ=_xsuV5Z=`S2SOdId@=MCH|eMMez2-(aok;6{+A)G>9EyX`V$r%W z#J?RG{g$Q=8ZzAm+qc%ybsVTEIr*M@onNBVRvX2v$pWbBn}T5$)Xa znj_kZL8Yjj%ef~kw>@{@`LDd0jg-080pUHh&GxP}5jwU^du!U(BbStAv$%~je?mrx z&@;lauHF>I?|Zz%^p31>vk>-z;9a>~EK5?h=x$(mTrZ?y7#{qCnMoTEy&WVt)L*Vf zb)<@F=qWsz${GqV(s6dw20b=5lw2Ztdlod6HmPq|vI4Ue_vg?!%;IWQIu6r!)i^uo zkV9&p3j({Ac&AI8wdN?QYv&iQHI_%Fm@UwCU|U`;5tcxTK+XP8=-98=SR>D?G386o6>s!S$M ztu{#OdOAq=fvQ|ZO~pCg6MfJBYuDbWaeJXLno>u7Y%`W~%(N+bnmqiz@UVI0d;je* zt=q)kuE-<%u1#6aF#?>6*%wiOS9NiXb@R80oFin|AW)SwXi2#c57{>}_Hz7=dF5(w zwEV$YT+U&~hRxJ?xPKW>J!WBM8UR%^xEeh10Ht+?A;zdU&{{Z1kR_I5X9BjT*HgH5 zeKMB4=}w&AXyYOnA*9g^_B{FAU08xz{aDGmns_xL=}Nv4JJuf<&xI~m*l72_5!Agw z7-BL_81!E%QLA4B#J@-0RTItdLIrqN^#1zum8bbb!G0uAk7k z$H)KL(bz&lY*4bEV}R&@`6)tn@8U_|JLYKZc#0`d;M;kIzVF}T-n|o!o~h@(z{VaP z8@7ZM7CAtg^Z6&)Q&~EO2wzFg{*%pOVp2mKN<3;mG;#2HtQvmgX3I;d@%Z7>nhkcL zP$`dsts3szMx@o$PxL_wwvvc|xB0KP-xH>^qsNCQOAG2U7|LxOpzZmc@+zu_%cZH!lCaNd665I70q0EB0l!#e46}F^KDCN9c(I zz>PHPlJ`#bbMUev4BwG#wwp9S6jW^c?QI%BXrZ!B|MOaVIs(A(1g((-uGgh%e0bsO z>LY&jNp_7ycFz8@X(JiC8I6(Fjo3mxp|X{wT81kzo}G%1^sRb3_craG`-RSD(Mo_qQL*!525>2Hzb!k}7C#=(T}v zGc3sjE%=Xs{dA)>@F#`fFJDFW9{P2IGEO$O*lniSr7kl8QNfy$s~Ca|{Q*hD;~UY!*K&VuviEdt_la$J7Z%16q(`G>?h3Plc%3jUtQ zEZnN>$QVc6gU1l5+R)Y;{CK6Inj~-Q^8r|6IQe)PWHG#uJD>&niCn2ws$6>%4dWlE zBzTTdsIFrfRmjA1h*~r?;zNV<>_}9qIB32TO6W*|4B!^2{pyttXf35@Bg!5h_*vb4 zXWHXDX4n|=lQ(glnTj`i-2HexN+OJlL87M&4f7gdX^TKrad8^uReDVs@oed4jSstM zOw3cgOCbRnF8!Z;n>^AqXCk)V3a4Ugvxz3=ZS>`*bMG|oeBHUPxo-M08Mx{@*>|-s zM3y}4)qMO!NEBh|BEpyZ0qWliA~4x@PlF9KUmr|GioykA)B^kniObxyPA_;riDOw7 z|K9s|zWfV#ceeNbSoGjWIvM54&vQ5N`=k|-|5pp3)lkNq7ykEF)Wt`e;g9|x%V@XY3WeJ)amtGZdHQj=aWbA-)wJEOX){V;@fV-!kBu|v8b7S%}e7WOWSeJb~BeY7CX?^|w8 z329)-ERfx3O*JJ8`jSZl$KCVEp4f zihm)_AI#3p9G%$x{9Taxgd={_APvAQ!UW*XRCGTO4G;5ca&t+v)|W&Xv!dy?6f^0* zL&ZCsyBXr)&Th2tpo7;IOcI)w_{|azxF3N>j2=Jyuv}8?DzPCq4OsN@j|8FuhHY>* zn4zs4NJt&$V59%gTzHg^@Nm{JYN46F4)}vJR!<0toTrm~vdHOCc4%nfD)#%m{8>hiEplkHXwdOe-*g;1hUk$OG$`M4X~`a!YY~&NV6_76A?SJR z>o0pK{S*JQ8}{S@g@Cl7B0qwmyli>A_jKUCFhdk}{S6&@muhnIo_G|$pPnM=9*_7G z9w1Jze6TY*QSK%I62gJ@DNL0OkKl2>7&R3C-F;*t7_*EUB1P(N2GD;$U#v39IHuni z(o484Hzr8-g8BNo!{u^z*gW#eoYL|Qx=Oa4z+jU_m)SOwA|uh{nh%k)giHF~`U963 zb9kim`tr5mi#Ah}h(){C*UbUP$O(Mg#a7Wy3_O7ZWe zj>hx6DT-M9cC)DVt(9yn{G0VF32|gKjs1jY|pC^_k|`DDbKHXimK= z?n*l^JtzM=YT&&^(;fVQe4eVKBjas+Ylcb3BMHJ#%p}#jVK;G9Hb)ecOm042lp z1yTu!O#i3~m4|%$khja6C?~54qTkkxygnSTo)p_M?!s5W#0|%MBoJ&E{tJHzVCWN} zXdw27D6iqN3?`2;K9&kF3y1G#P>k#_&DZpYdNC5x+5@Lq^V{-K((ON;X{Z94sYKR$2@NI@N2wAAQ%%^Vo`fb^>}f`$55M^#+By*6{|CSF3x zVvRwU<_9U&_LBI!o77VO+cO{=D+Lw*C1cQF=`_UEj#_tavjyqa#KXzAU$>SNriH^4PXq5>gpR)z%}5 zj2xIQbo|WG&NLlipZa?SFRc_Awlymd!ZC#z?fRjVAa~tDA8pp@KDScI$PR8)g*;qS z*8U2R*=ZXv1IN}GcVPpNLnyVdZFGe~glJnv3l7QNjrd6C?bTAtqz~9BwUr8v6?gmw zUvoVqbvC0wN?@rYxY(ex>sS@C^wmL3wQ1pYskoE%9}x7)>o8hT|D?W0abT%&YI!fT zC)zeRnYJs6@%o4*)vU~J6W;&{Krt|Q{z7fHt*)RDb8oh?r(o$V)9?ITo;;}A_%%d5 zQ-^>Yd^h@JGZx#w#Xm%V58^%vfneznsKQh^B)Lq`00Dqv{LN;XHV7YX()B@tI7aKDfa>D>|TiJi8_Z zU4)Uf7jC={c$?cjC!id?_lGUAlBSqxBl**!4pOi>$?q?19_G4SKq__%Ua9cQ2>F${ z+QD%YKNjlUIjhD`5QsyRj?AX*+T&u)>rn=wJE`t&aeS-boHuVsMsOA@l-!qFJc}p4 z9UrL~Y7TW7LEK@^g4y1Wg+Y(}uuhrz-bNmva);}zmM-yb6>PQXdq6v0rroYU>~2{+ z%;zcXd@klXF=clT3nWZ+=C=^ghf$9IAYf+twqxW>3&1UHxyR(xIZ@_I#>L*dGqkri z5U-u}CaKZy!%lx-GYBNp6kx|e0{6NUhVNrEF$v335^VfcLh+mC{gZGi^Dl2=ccW{q z?e@0mxxGoFrcQSz}@&oKTEy)d$D;lPVoo#U!?B9)4{U7jiH zZ;rIj9Ar%w>dG)3d-H2X$fiKsZ8Z&f&v?<3=<9?^jL_w;TkD%)DfoZZ+-LV^M7S}jrOkZCNUdRA77pv3r_<&9s6S5D~vKi-LA>t6c7zH8-a8#4@5o3 zCv&CZ{<1az&4~R;1{X4*_y%SmPrz3}lehgA0BEsZk}Rf_z3G~7yS=V>a(BqY@PGyO zozcGpxB)ms3vdwC4>}Y$b$;zDxY*7jE%HGzmrY9Q`%4|)LmJP6!E_vsRYdVbTjamE zNla%Sw1~-av==oNo?AcNcKzpAQ@NHS`T>YIVFzgdJ}=`Hl^x~~NrF`5tFw=Q0>6mZ zsSVQse16XMjKP+3$^QysPL(v=X}8?pU;!Kk1=V>Roh;+J6;H;O*^t9>@Ly0J|DFkS zw(m>){So%a%yKif#V0p1Ir^T@2(C~X2wg!5Dh>DCZ2EEqtyK7;pxZri*GMd8c1iJk z-2sv(g&#lG4#lUpWnlWiDLqUv36#QOutp zQH^tc_Q^+=$DU#7VSXpB z3`VexCJro|h5R<}$K7j$Skq>HnkP_A0VOPDX=}T$4z~yHYhIJrT&ZL12hr{Siv>t} zJ+6Z}sS#OcYqVCUCYtrn@cSmc>VNrHPa;x#RVGU#<$J z`|i?a*njj9IOb@*S?}9V=WpFdn{v&Xx-PGt^#$ewqE8G257!qB@K4st`8V7?-AZEi5q4z!dk}#s3Y*KzAui=-ndqwX6tJn!AgT{5$ti3!L$IW)6H?y z%RUx!v`pRRvA>?u@C||d8knk{lh`X{6y*I`=^*$`7BI*fGT@P-ty?}uo06JVZw;|( zs#$~z%vXE75rL*jrq3cFp*PwVKEASldCG;Az9f#tX|#==5m(NSq)ib+=0e1cA5juCH51=tyE>Jm;1iKO>eEzi zl4v2aNUQ>_PrBm3!HOx9au^MnJLOHQ)9F#_7jTKJT$QV|ys0!2@_CQs0h-q_ z@tI=Zt?_fs;F#7!mS-Z>>R>6XLqS!QTgjlY*dF%6@3g*RUHwilJAMr!)bQ=V+|yyX zfGWe?X?d(5%jf(1R|+|aqc+t^!`uww@q@7T)L@L$f`C1mxQ=gPeVpA{uY?|o#4Yz0 zl>9|^7y|PiQ8Hs#Vk_sa@$>#N(mO5V>mUTN!1(S^fV~l8q zWPTWyHf>t^ro@)#TMJYhK%xN~RgxRnAjJ^3;8H*zdK8%edV$E9L>&oPLJvVua5Ohm z!0*7EH)QxaUuZz4n!;z$t3F_)d--A5k+_6b5af_OKXMN2HeWkp_|WB_wTT$hlEKO? zQ1-Ur=)JubI+94TpGbD*tc3MeGJ)?ut4_BgMn;KyKttDaF9Sgk*z2hK$nu->cXO4T z%dM@qCH`k5VWNUtu>{Z(!=U5_BaEBVt+pS}t@ckgiT?QjJMF}aPpvfDyTm|(wOJ(_ za`#0f7}5l3u}ku6B(Sb2#!8GF4W*{;`x3a;S5In;a!%Sq1%!!k@P5Qjc)Gz7tb9;< z3;*XN*y)G&xYu+HtoO)MEF^ONM4{$I`On@vtH8cr8s} zRJ?s(H`TA)jSq14?_SPtKpEg^4(9D;B{=5ZU@#TIW_VnCbGk`cDvz)r(YTlXrWPD* zyHi}Sx}9wUW{K+V$(z3;u%)Y0?~8<^$*bL(q>3AEK=XtbqPlJVE4`Cm_o2$V_l+7p z^Y5LtZa<7#;3X#IVik9t)eRb&e#Jz}WW#Ee^Ka77We&=Pv)Ue`d(V-mwozf%EADOi z8;c7z6^$)(hp^Y7VslzMJWhe)3>}vj>Ns~acdw=bBs;x+eKi$usa!|VNqZ0O+!gHJ zk_$ZU{i)8SDVyx(fD+j*;j{oco^_|`})hy>PsLsiEswC$jlu_WAWK^V1GwCp#12UT)IY*%)nO^{$M$)9<-*Qfxa;5Wf9ST!QQ ztq!wU_cWYV>3H2b+bc|L0|g-^t4fD$%cswQ#*79MU8z?b>qa@h!C!=wWbQZboAgIB z`2tw^N?sAR zT-^KBYH07aSQb}-QdFQm@u^>~xlVs=$@;!&A6Roh8an$ng;D1^j$K2ulDsXSQ<@lf zJ8$jt)Mb!be}CX{_uEzDQ)lmZu<%*|Ic+L20Xq`9wpHl}Dj;lXm*L?z--~V*+_LZ6 zh@Hm~x+~qheEz7_He&0!xDUgRU);_Qk{zD!v}1S^yj#t)wo7@3Zk;r;+ISbk*l+XB zRwYGrnj8%WNnzcVUVpuP^vLtO;pn1*&Sz5N{CN=xV0EIk}hcccB$ZAeWVkctZj7gW;_Q z9(<;qS7?|VT$C>UU@I?~gNlyEj`=u9jLVv2$Vdyv^F;H&K_JK5MMI0q|=R zxVZI$W)t(jGa&?#M}H#(5r!eC?_C)w>(=UvxG3VF+wYdU;mWyXAjXtVBUW5HxZG32T?()Kq3p`TradDUAFYSXk{`Z_ozn4JAaq;IH1)FK9uh}%zp zUZr2+{Y7#M!L;uF#|rQ!?f>W>2XZOiEKd?2jK}EhjfXsMNux4zO;}$(F1Cw{f+^E# zYNZKKg(hwn`UZu6>}0b0`YOUNEJ}jz|I}8Vr>{jNXy^9i_t#7|&s$kc@17W!#rXx^ zJ@D1ER*|CJcacZiP0~_!0KvMX+2hrm!6t%Em(rH23&`Gs%Ur@ZfEw|J`*=j+M{R!~ zV$V%5+dwG#KJX@(jqPH1Un}Z{N@AoYtcyHc*VZZ58Q!*>nwqA*Yo(Kls3OsBrFtWQ za8->v{eTA_UM}m<#L@=zYBRsQoO!%i)iC^5A6r}ZJN&(Yc>cTUpEW2oo>z$p$iXWu z(NwH#Lsa0kambmWeDeU~l9sCG7#G_Dg)SQb3#EKGGl~;Sk zZ#J&>^Hmd7e0A)!N6<>1kF!~9Q`Mb3Dt*pkp=n1FvVCT03?^v-;HfVF=FL7wxB=G|ce#xn*$V_Fh8JmD%UQTZUTaAVKZI|J4 z!5?)!TDb0gm6h?H97&BcTvw^9w<>Z|fT*QA(BkHbX5{&rl4yURS7v>t-j^MRlX|>X zX3#~ZXjg$CympW4BHM{DD#lRdQonN#03k*P;Kx<>m+5=xt~t`>Hy!`e2{G}vAv3w@ z41dE=`&CvQ#dmR`JMQvlBjq!2PhO9_WyoAdSG^ZxS?Nyu%eE0yZoZG6p{2Re>6MiMX}$bcS7~gf2rse=tDKs5dASc zzVfGY@0Hvpt{?+eH25BziNH#Boe0rNe3vL3?HN)kxOOeG-|VEU9ptM z;clrxleCS?hH|lp2Sz@-1!;+l1?zGY;1JZE*(D1;O*aBr%r+G)DK>9Ps&xe}SkV`! z(-2_+MT7{%qY`<&GWXo3*<80zHpZ8`nW@c9t8N%=kZWo+@|DCn&1{sQT%{|bUHC_X zaTbOOv)$^&x8>DAxewneQ-`5Xriwda#b6Kc?fn*Tc*5(s)8*eW!VN!bt~io(Du+mV z`N);)aD?{DaP1WO zKC4x+s~3UBS&9+R;E+1wUMKi^`dvg`_fPG?p~I>Z!DxB`|ArFZvi@GsOZr9Npm#wFd>uZba$fV)s9`ot>2rUgnTZ3;)}w7hBIlBqZDzad^i78X8}FfC`QM(%4;N z^O`9#jl+DNNmK%TSFhK(djI9~%avZvjoJlObBnI!pB7LYX=!DnWR8?u<+n$JhBA|Pmq!Z~zU&?q2SN8sAiw+|g0qQH*LyYS9u;Ur%63}*gb=CS(|FLd@!WYiHgRSdSjz=)xg5x(`jq4W_cv==L;93=Yi#I zhhR)hiBjB4W?$*$g^$OG5bOM9&M)coq8{kI?Q40yt6C#MQYvX$i~zXK0s;eiig(bU z;(k%ITG)8)*?x)0dRQcDq>Ka|uc8rgrtSlVc-O10^4>KkTF@;k; zaCifBTziDr68UAmC9^N6IYaTO){-g8gt;g}k9~|nEHuR97~?%aKwA2sa*7?-W%BPZ z@jc|wOuKTlxd)bBYdMh>uMpK*|Cz7!%jA0YT=XD?$cr-B$#>6Op8_qv(r&({5d9?h zN;x3LO0#-5+?y8=6Z6yLhnM z^E4nH;H+SB)&Om}<5C4D?yjFA5$p{CWa~~+?`yZED;jT`A zDP#`mDGo92BwBR5BF~IVMx5B?F#){nGO8F@&~xqqPC9d{S>}|G}sz`#UzGmXiQD8dZ zS5F#;t7w%1HBHdWpBK@43pfS9u0g8iG8nc)4*YXppkLtoB{}WYn@#?qS|Y-cIM20m z5*M>CrthyYUVQKJC;_X#^e^PaF+?10YWEYYs#701nGjsS{mo)xb8pZ}b0;=0bk>Wj z3{N6Gbz%iq;NRV8@FFu%?rI!`esLtAplLPp+YUFfD6KuLvHhe}(K`7id{oYh#YComaL;!LQOE7aC@n~+3C z(_{I4SYglrVvJ{vk4%a3V8ZI$*7rNY8j`%k@9q=dVF zUN#ZB=F@IK+Z+TGrVGwK#>K40t(+fd8O*y)yecf^%U!2Bg}Cd%hRn%F+%D7LQa+-rMs11HSz7;7+E(DjW#P~{6%3(n zJFT!?X4>7nv^~Sx*EQMxOak`u77=<{6CKly%@8hkfDpgasdnAQn6tg$S;mGw2K~ zX?*P7gNu?*;|Tc-qled9L6ir?Z#tZd20Fx|%1vXxjFLTHh_XX!@)#b@J#%^T{oK5! z*>P7={&3RlV`nTCTNl%y18$ofO8vt=jSrcha>zGh8;0Z7e?y8%|;l|QCi=hsRsTT z>Wg*}4uj6{%SC6iRZ3bG6-#?+jWD&(c<={j4PEAz{XGI4%#ED^JLmNqP;B+EQal@J z-5_d|OB9k6^e+qaY+(_~mR|IZtutoSL`}I(09un5|K6P#0ndz=`kjoCkq^jXo7^uY365kmg zQJWFxYs-s+`w0oc-zKun%HN#bD{Ul*lO4QAN$wZ6Z_v)!N5lq&QqfXa4dI#J78c=l zT}mncek^!Il%ij0c+Q5dI0*h9n$9^o&hKg9n?{YAHnwfsX>6-;Hny$Cb{gBZ-Ed<& zX>6PCe&2I`|L!^aV4k^yJD-{RVRwR<&ABbdG;j1To&)`hN#r1~fvJ}iDIJGLhz|T? z9tXberx7&8_UMCdQf!Wf;t24O@1%o>h;`uK{H9g~2h+j68qikAxZ8Gzh*oqc&DytmJDHo4)(5)GlyIYtcGo_%S) z_!4-W*lbxn<+c&0NFb|@D>|HJ_OSxkR_-eL2?gU|7wOt=^>5Oj#BE%&G3npqJE0c0 z-nf}vgRm#gGK00xa*k)jMQo?R$N=GXa11|#^(uP?b8zeA*Cj@dm|_?XRDrp?iVGh? z%Z-4MUZQ;->(#DU+oi3+W*^vOP zf{|duYQa?XJp}XPH!d=ie~HR``_kk>i>vO-ab}YWEnAddi{hngqqfaDs{>1{yt18E zSyH|7Nd2csi^-{cJKr7Ot9&svAq5ZBABl6Qh2psH_Qqp(K2p)DIuIfL7=XWk_S;*% zg<9r+^2L>{vn8(h`**!&^uO9tzU|sRZr1l{VY_C0lrU%shrZ@8Tc1CIPRLnTHzy!! zgIjG`SRh&!8hZSI>@nr?3c>0bVBf-L*sDX_n}=HF-0{I6kki#0ck^ouv_S9`y>iPf zEC!ix;7)J}%kfX))mH+mrIm}Gv~{j6z^9aD8DJ5-?3k zF+le0iE7(5FQ)xPt;CZPG9PkU`SV2Y{<4eUJ*i#@!a1^HVz{GO*+@vx*VUFl z<$x}?v@poFO6R+|kW-Q__X_4X+$LBhGbsGVWLOWBOr~k93^5QI7_o(2V4v^gOi^3o z*{h_QzEa??%B1ZeoeEa1(z>lVmup25emmPw!nLAkRaVv>t0ecU2TvPlZ?X_h!rdit zrltvux+VPt(}&s5rW~AdA4&6b)u>L&jZYm@a+g1G zUf^hCyy}iWyA{bd*~c6l)(MEdPmG%W-p^=ec3Xj8<&es=tx6vQuBz#Mv!I;HIIsYN zRy!^GQNG9c9C%#T%Xt?zGmFP;S}Ic1tzX?`dyngtQ%tgz%Vks*nR4!MBy&Y}s<-_C zmZ569p})P7PaGG!3x=O>O7ta5wSI%a@jrY_Blk6n>+p=ur;qqMV9yOaNk9*Q^2()8 zzxR#(_$C-SVd=!PeOHMi+~@6j=D%tA$A1u_x5ppCQ@T`#K69y^s^}Ylh=nSwG}pkF z$5FA3ZW`trJ-E}O=I~ScKI|)aMuRbjV{j3;CI91fV%y!6L&5i*lvDO4>0BZP*A1^R zzBP5;Wj51_!-_OX*P9z0vuh@$jS*v7Sm{339s-QeFdiZ36@)u*9K7qyLJct&Vjx4G z?1%8ArDZJExPqq*ATdGI)B?ArxeHCDg-Hq+48~`)mn?qo7y|;3<_#7E4l`R9laLVG zKOORJApcb#*f2=GmrG1N@pyOHQF0dzkvZ|C#gCRW95g(RFl%#K3dtq~%n?@Y$GPs* zyj_B;BsrYc`{hf5+waglN{ZIMM9NKPm}O4|=Z_(mHef}(?Y~|UsCymh=?MnY(lTd& z;!~K}HFL6uY%$xE)|0`FILMKy|3x=Alndm{n-@E-FTlc_rOTd66P(ZIEw+#M84YPI zd|LPh%|Dzbh3_q&tm{5y6__YP!xE2)ha~r%sB4h^xB%U(C(#pf>XLi@3gZdwO77$_ zJxUcu8d_e?Sn$q+!HEJwone7+7F2l~^Vn?J|0W;|R{QXMEFk~a`}Nl5RP&GZ2SY{b zIPS(v>v*aG4NVBkFr3BYs{Ws;S-N-RAh2=hoR;ENVauhbQ8sO=zbka0&XNI*J^O4> zY`)u4SfpvqSD;J$iqdvOiHQ6+FIB6}9hW{?*oJ`pI3(fycxZWpnC-htL=utqJCt{# z6~=&;*3F9lg()&vA?8A(d~WXoyhdHK(Jkwyd73Fy9!uq-E6s1S-#cG7Vy!p4{L^QY zz(iirLx`sD!9RU%X>hNPil2U8bfUn1^h%Gt2y=<3nD7C>7l$R{ul?b!lPpKZ;>oUv ztRmAT;fjQC+o@LoX$z;7TuJ%~vIgp^|+G#j^jX1bT zNK+NIvp6R(kgt*hx5sX6P&CJHSeH;9xEnC=F!VwLj=%I7T$;S=R}kASqJcVTS)(!D z8&$Eevb`jYXF|yj>Ma86#=ZWr4e}Tm(;uNVTxCxwCz82?{oA(q*t1=%zuTP)rQXNx z^GtHM`s&eXwHhs81uHd&Nmc&aT zJvmI9CQGh+PCZC1dV2xbD+n*sKq& zvu9|wdG!p#kOhOoj@Me+_4emg_z0qbd$%de1|{QbI{DL12niUNc$ar5QA}J z_7x|Dp7|=ZL=fzqsX^+uJIkeZM_myh@NBgrW@dO@gGJD5D?wAp>#x8gqNtAjC4#J%3|&%01NH%Zs2^0p&f9eC$;DZ%+% zfI5S4uG*_LS=JOSzRt1|TZMa>$`Gy-K|8HJ3bWTPV#@_{+)Y-0!M!x^oy?HfD z0u$iwy5(*+L0E-i5ArP`b{Qg2h`z86C*w~YJ%QG1*8~-H>3gx4+a$q_JX(cjR#U*1 z79|405uX!|#5rO$tG1-#_X!-b89MIx7r1LMa{j}2vh<}t-$6;cU=HCk2pvHA29^h;Ic&0O!!iOpHUoW!?%^vFK#-fQ$1Db==U-D2`R38O)`mTuQ(t1?m=3)M^%j` zi)NZG%5QEq>-#$W1wQaqJJ}Iupe8LlQV+(2yxgTO8$|-7Yh%|@H%?nK} zb!bd2H+40UoKBEZkslDN4EwdZ6PF}PYkxT=w>QW2KcJiTq>Yo;x{yyEQI_T>p{jFNde(kX) zFI%~_d=>D8@EZUErISN%wo)$Zt^#8up}H%YqlbKUM$rF~*O}Ej7lHtw0SBxdYDL;4 zonDC6g$x-bfd|q*@$l5OO&Pa_KijE)ea(_#26RT7Y>P@+Y=>e+i$5X&HA$ycTn&9lK`FBfhnNtE10nX4hPtU3~oUPCtW2t%a0`hS{tF&S) z%fY4BT-E8gfK$KutqzIAuJLh~4P;*Ukd-ajJ{7fz+^1LE^j~*9u6F(AdLb(!YQ|Io zolo#2m;K42JQQ=Pq!8_XO&>I?rZ*gH@z$7Pi)L|CLkRFqNQHkYcc|xHSEZO1(nc31 zkP<|zg91mGHu+tWR3VDwn}5o>VoVXNP9&7tAGn=_hju}_)w6_yCMXJW{WJ4PWi|uEA`I41+KPHNiuB@&Ch_@({T!^`M`*J-%7Y?7=^>+;CtAd>A_N3fhx%O{D zk@lJ1uO1l1L_Mv4mNTu5>KnqQCWsqq{nvL$Sm5F9l`9-n%jz^}KGB(8pU&VW$)qp? z>nR$0XG>+Q+g+k#bwaPa3ySNhjK;#numKj(&rusKSy?kJ<6Y8J{5sl>SuA0BP;DdX|}Wu3Aa(3sz%D>|&i%agjPza2Wu zV1@XoxV+L21;X{g7u=NOXgk~dhK8dC8_3Hh%VF56Rop%Qr7tD3D$Cyq2fFv%CxOLM zDLx@6vFrEa&edkc4Z8vZo$)1{x)rKGNdtUODAlDZ6IgFwfuu+IQOXia1QT=&mg{YX zhrxAIyce;8+^}1njN6=^b#Px{VsbM^7z`gJC#Q_BCgt!HzEfB$>v@2!2FB5}$; z{Ymy1N&9P%n4>QN0%K_1l_M4sU#I(Z&H;z3G|PiMav1eu*7(%Z^^P#4 zXJiqi94@WE-p(NkO`dlVz{^qRH!Yd&o;-60`iaGOt^!zMojY!MS5UsWrzKD`*eE^XYU6g=7% zOa~^o&@z3i<6c4Bc*krrl?~*`fMB}a`xk*J!fkjG--VY_cdGBPyEMX7jJE>HI=d-~ zRMO-AjyWOYN67TZLBj;`uWYo_<0fonkuwsa_I*;$x7&pKEu#A2S@$*$lFD%0hxM>Dn(o-`%}C%`cx;*Yn9T^kw%wcYyYq{&IV&%vfRG`c3a zT_%@oXS{ZSh5@&Ez+vney9`zDo*LkmA&YWIQiO=635Qcbe}48Z9y-zc@td~IbNB)_ z4awcj7OWI4lb%axLnJMjeTd@d$=kz3i%UuPDJ-U3p>%cYFth}MGb@2T-M>YM7#&4l z{KvwsyL>scu|SY4{rE0fK~2F-o?3~w%h#%MbL+mpEbMzZvqg2ghND)#AVe;F(%ITt zI(}KLUQtwA8+SI2$R<8A6*f7!Qxb;Ix!IU}=5*R$2qPqJ2%(=XNWSK6*@Q2*`k3z_ zsgKii5g6)5jz$ruJ#QYN^*9%Lw$-|PWTl0Y7<&dZzU*VWeOP#1A$2oeaX(G3JniuE zoM~DDcp_nm*h^wYdOky%H^wCtkUvbyF$59(yX?~8?zBP;7H12z#%|Ic4Kftw69ALn zJoCLXeP?Q**o0(B5fL6(1@hYCUi@bK7;<*e?hhENYKd#>-$b6P;kK*Vw)QSghh=3o zJ9~7WQ_=_~KrB03M$Gt&t*vyC)<*i6ZvjQjw$DL(4gXy)gjWOhhW|9g3ky$to-UV#pR$`za5*^ z#ZTz-&Z?rH6Wle9e-jn04Gk?80ZV74;fDNzm?7k=$AGEuZqwYQ#UnU=G2wsVGTwzW zpje*Q`jzcd%O~c62FA5a+CPW2BW6&kGTxQ9Gb0D|L<7VX0~y<0{|!b(ODf1Ltf!(H zIXoNfDO2hBp(pS%kQ|b$UPeVlCG*axUEmf-g>@O;G(jXuLw9Fq&zJrR z@1^;GdV2o8efT@H0zqtWa1Z@YNy$shk&Zhr7ry}%*yQX5_aIAJzT_)cJOlSlUy$+X z2N>jHzbH}@^*r@?qXmlyXH0e}Q6**ayY|v~b%g%z!r#2OP<^=0H(j8CdV1O3+x9Q% zzM|UW5gPU1Lnh={*6oF zK(P;QsBAVADuU(Z&2~J$vJlm~KSL z)?3U&mqY{sV@l?@^FcRr1n*M6T)iH;K4Cj_3lW&n3Ot!FG@QVJQoml}rs&Cyu9AavZB?g;+#uVKtKJP031IPkuVB*gkWLtr_Z>?}N> zrefIVw!a-C&&Hl!HCgy_Z>d@!+A!2;xB4f9-Ab`T8?f;Hu6S~^of?-gl=TEfQoTWR zcgHP4T4R6kLVtr0tzW*kS894XtK@uXAZ7^gUsoMr)GfLm-eSDnIh;kw^)sJOuwXwC zxH8j0F~;_IzzU{leWp!@$62bD3N;mOw3-cj30NrAW%maN=CCBzG-=a2NKvmxb;-ET ztI20`OC0T61#QGIhZ}D1oD4N$U#hf~-(jqM<_9N5-AQx;9$UYAM$ucPglBg*XTWN_ z#MWlv`9H1Wl~=y0ow3YYF9&k^EgK~ue!fzVPwi%KiaU^sXdj6X_C@0|HR~(DxLgRm z3t4PD07fJWn8?F-&jz#}Wr*u&R4LEUw?YqiIh#th$U{9z*>L3t&!e%R zqAa^GWcG+m)gAxUnyru4D7ZK=n#yz8HODSodupO$6N^)F-8ofhh`C*3BSI!=64DB@9O7w z&^Pcw$qo^H69b8V;T=vDcRiRwZ*dM!2XL=xnw=1} z`wvJ2YfV~bES)zCI5^E`WS*UxDL(f!!>-lrW9tOf46-;Janz(RDm5X9jPIeN69I)# z)0WhW=F3hWD1tUy!}@uLpvGTC+oony55A(ub@#~dKPia0J6h{$+2FU7Z{RC`RADGP zeuAJ!KokE4XEwsP2rZND%b#DFfqxCMaXG&F5t6n}H?R;F6+$T43PV`M1l1cHLd58% zw5;C}1gLFrH|<+^cV$Jf^eBx;`{&Qv zNzdpudXB49sY<9g#xsf%_I_|+;VXGq+2~cQ1Q$7N2Jkhe-e5_Xq+oYXAE6XOGZJ$v zJ$iLg{xcLhPG3`+E)YuA5m!^ z;iGn+p)GV~Ytq*}z4ceOH+zYg*@lCZmn^L^Uj+!n$81{~ASEP5Mup4#+tp~8o1J*Y zgP;=A5+#<;v9uPj5ZDIaeBW7~QEW+7^n4<1ePBjgX>aoth2q79uLT8&nWS@zQ+Cjo26!iD< zOthK~fh$d`2YX=KCCF+W@pv)*>R#s0#}m`pxola_nQK=sQoWhEMdfbalfaozVn$d{#KV*EF`z|< zFMc?k9Ie?bkcuupSXmRiJNx{jwZw_DY9!$M40q%F7d*FPWhMaFuw}Z-nWH$k6a|ym zfZ)!TZnkZ1H=GGK!2PzerkY5NEL;&R#oCgXW|Qrx@muMH!`HK=hQ#yav~8t6_~Ol{ zbNLnY`E*^C8jZ<;5?F%S+A44}+P6p$j6vAYycLTIN*?lRR!&`sLpmS>L;JRIM%end3qmP(s5WNG5-vAaEl#MNXZu(9@MaX_15)0Z4G zSs4o(W&E1aOo>q_J0dP)DWA(#v7Mwu0J3*b*V|X4Jc__v_s?HI9El=vQAZ*%7*ns` z$w;ere*90bXUGL-dyILpT`5Q}vdJ&jl{YVwasY>!mgkRK zWRtWCwE@qd>Zf3Jr2SOR?ZZ|tayFQ{z zxuEA7JGp3w+s<_UW$A%kJ1AKXEyfSxj znOKcmnTmoLP#NIk_a=QdAvt>cUrY$u<13TcenYW58q&g;^e!Gv@(T`pZyrOasfQEme57Q9W8DwL{hbv> zSG)Ml?`2@woqar8b(&0urJy(IhEwJus!Ef~==-W;DD;Lm)KzX#Y$$RvwDSWVTn{|X zV!+R%mNVI3jmB*l**A*)3)GG1&c$1IIASj6z^w$%KnLKxSp(D|~REezCw{?)Cx2dXf#Z+a%p+xVW0P&+^-O ziFL%z#eS;2R=1=ZrB8kI0K&}C4^1 z_@=S=6c*Uv&P18gNo}Ps`HeaYo+!GN5ONMbLR%zdpvp7~aGZ(-Y3E{OqcXgtcA~%W zu$2z1k;0~%i!M%`<7#lXdQ}v1^R!qG-3^D1HIkz4{wq`Y3Y%*OqL96qQ=4VMBt@-~ zz#EB@#bpn&?V|^0Z4OCF&EA4FNXMky)K@!ci6*9nGU)^V-CfnLJeg$Oz~&cMcjz6O zL;Jd-kuKw(`}X_RMFL?6+x9L1z%Cj~h~AI3L--Ha5*ox3v%xz`}Ov0g{zRcQAAM^hAt|9UPcTJ_NuK zA~RDmQ2|OTk*NWz-Kifj-bSX450KfVWei~env{~{ffA+;pc*w$E(2gaW_M%PGU4qc< zbf+)=DM*F}33fPvA<5I-ZQekNUk>GB$Z_`sII~-YPF@Sobfh!CJeR@Tbc$;xL9sKQ zS7rY5p$gXB$bj%fowLTb+qxC5f;oq|vL~L?Xv6x|sjBe0Mji{;`7m89E`%jirF@h3 zld*S|9vw!=Vm$jL>OLf%KwPM`Eg}_m4)!joal9?jPX@;>nkqoVfR2a?p?_{OK#l*! z*la(P_N?%!IS#y@TPR`@9XL(Jix_5LrU$k;CM?MQ4Vi-W4iD?>hD~R7@z2ixe1I8b z)5!i!h_ky?bEM1ZbQ+YCw%Dxjf9g?8?U(srn0c?W0)CuS zn0t;s)5=(5#htf&ptWG%k9%6}SVIi-uy4 zzM1$OlPCHgfOxZ5MY6oL*#=RYTDr+mY@cu)KmiYo#?hCg{_BC+gs^N}0m4uv!tH9?EZ&~l&VtZf)TErGh~~ST4$8`(jvXRYvW?OA3qoT>ki*$Sru5HbkWfE zoUSXM((k&7ZLC2+FTpSDEHKhXygzVr29t4zY|bs|?-1%{E{m0^OL2Pjs){8V#Pd_b zyFEm~-?VTY8=zeka&-D5fB5nEJKe4=9U}h3uZt3}%@N-Wb8+CONdOPUngKVX$8C~N z8U1iChH3r}wqP}MBad!Dw_XGQzH1&V)c{pyWD1MP;xiKIJv)E>IpI;fK=cp#ld*Rg z@d^ECYc>Gm-}O5;QDX)48=UfB`w6P|FM$5#57Q*Wd$zRvV9Sy;a=@6zlhh_u`j^BDxeboA@`u~GdFNW2?*!&CB9-B23^$s1 zIGb(pzjDI~`ib8yYeT46mpt^a&07kS{{pLHN|RNX9>tAz{ZU=Bi2W|i!DgVt4=nle z{maOfirUP8*|10kL2mLL=%lKkpg*`lS<9e>+QjuRE*VRs%A+>$)=J}s<~jeoCDrWZ zx+EWqQl99rBRNN|GM99F2 zn8B1sR`LkY@mM;c)S>z3T>B0xb=8;T_P?Uk+n(!{rY_%t!coI{9LxzHzI|h}U4+Mk zpeb97lEVSiaguV^nL(N%+mRBBcNfOw@~{IlKt^>cqS+s@?3LOpPhNFI47z-vMM3oj zn_V0&yRUMmtE~_K@?^jlBtYG-Fv&vUM}2J8)*r?MRzC~c+h0f5NG49CP9w~&snE#9 zg_PnqV>v3cVT|O97#5s zg6a~c*N%emj|-~437XrJLXIe$-C@H&*{3s_r$>xP zac_8Q4&Tj;lEu*xsP!=CroSJ`D6n^3QhYUjw{-n*oe0!pE+nI@cl^hv&X6vl9pPXM z`q-S+-qD8sGNlTHOXx**I_cLP>bb+T^YM*KrD!%?MWuIeMKN8+`5lzR*R4g+_vWG@ z1wvyKDMt8=IGpQIP0>+M!HZ)qQDJ2Ag`x`s$=&9+%xTM)XWUzT?B@py^uNwt9+}z$i9iPS?&*Wp= zcBk8b|6|~F(^EuzC98I0pU6LaAa4!BdT>_a+oG@4enEm0U3OC;GcrlPvkQ$`#%s>1 zPuFeInA!v0=e%I(pTDWZft*aJla!A#d%p>O<2uysp9)DiQUb|}Vds8h$l@6}lj46e z?i)5K%BX%D9-a$nXu34?w*u+qS}iHov#>sa1OB6>YT}NT4~ryr0@KR}IYdObo!2Qr zB1X<(GOI67WA3L-nrQu#NnP5}u^CTiHoAY;Croy5*S-=oM(vsnQhvehU)60XUXc^I4>e8ghpV~#q~G38SEqQk7i z4wFfZ8BnBW#Ena!Q1XM;{q*+t9%h&wY<1+HC+m<-@3>(zJYoi^?C)s;V}lKFP&wq( z=_ny6PNy)Dhm(e%&CzI>r&9{GWR*jJuy*?>1&YU=y-g(3HPHa5CeDgJfLltLG>Mzt zdt#ohj-$zzJb2*SYp-pHtIcSDu8v98(sy`hGPYz&@Xp?)4>iN$&EV9q1;0HtCJ72K z%L}w=#fIA%G69jvk;aN5z^u^3iCe(E%%QgE^atZ{Y%9+=U8T_PhRpSR9h(%9O2 zX7~_9s4>l?w=XL+3y4WIgpkT*gCxj*uy}J@wS>`PcI4!fAldo4`VVL8DoD2<`<3kP z;00_WNQ+ln@G&AgaUO8UbiXH!Aec?mcjsw(qxYU%Zjqn#GdtNq`pcrO%a6xENGZFi z%tg1xOU#(F(LFt|R!fLo-M^u8!CP~B34)WQ&WClbhx29YAbcEoao1)WSGx|v0CAwF zJcBkVnd&hKZ%G{U9H#>ZUp6;ud#)L8Uu9bvFctGhWD=5fq`^Vm zTD+h9w2Fl!6i)luSG< zC(cBM0(A$9aTW#`PNQ+$Nfx*-Q_3dJ+)r8~{)1isx^UVSxr}9F3@FpO%`ncMhnEFV zDik(^1@)*b&cc+rrLQs-`1|H6d0eMF`(gN9L>WEp2~yAR!i9lfXLxzxS67;4e%3K% zIbUXxk)av&8F((`ep)&_WG_Hufc_Gig!fBBc&u)>)_r8_$lP0}nEa%ns(f-f;4(b<`1d5}SQf zA|jw3N2{0sK}v=ItlkA)X0pPE_1MfO#9fg zXUMEu*IX}?Nu{RYkmqj~Q&c76vh}(M0b&6FJ?}q;Dr=DWZw|%8aKz;{B;Avq`3;br z-tvJsZS_h-m5nvIr6VMrQj5LdSOWzMkq(;S>Eq!RG{IT9mnPb=;&~XNxC4P(xB(HJ#{ddHn;`* zh-EV|R&6T_XFD7?91@vL3Wi%%QmvO8REaA2&ZVvSmgwk+Z{`SNuh$5XIWWAA2l&qf zyywiVc%&7V`0#&-rO0-1(nC?)!P@85wXL4u#bgWy|$Q8sBX#RioPs!1g8POO=by zlgW-Q&wEo$sWV8*n>w<6Q=k&-nhR6kJ^660arj&yeCATjWziHZi>0n0d@Y< zJpsJCYEz+x$zLOf3-IWloCjAQeljYpjHcE8P`E1jF{$b*PYhmhBz!dChg-RBJ`Bx_TT+VJTqgy-^Zhx$sd34}vOIp^ zIXH9M>7O+$SpK{-X@^>*xo5>M4;NJV!D;KjLn3|W9$D0i1%E$mgF4H~<#-%%1Z;;@ zl_*nWBCF*v3ynRjaLsZ^nu*4B<&Nk0of@A_owJ(VlE{h>8nt~?Sms=#b{Noes##Ec zUKxVV<(@*Ru3!4MOo3B!`R7N6cG+Iqi|{X;XEN6GrjMoV7V@NC z^V~Gz-;-qISHno42na~9;QrQ0%{}GnFlN;?RcRe7w7X>+gjya$Ky|csB1ek=eI~h0@Sl3OVifZA|Cr+2)(lW|zMSnog6R z-9-L;4(lfj>5zR{<7Qm;h!cSekJGJqb1ObelGd|ZjW8A+8o{v~n@F5GT`F+JpOp6r z52ybv)0OL-VgNAN->Y|AvxVzuP;?B!W(QZKC@s<^KOkb?(kim>^&8Ls1_Y3n?VF~@ z)E1vKI8FhW{`EJ(f&$95#aH~vo`M}}xgfP3D$fWDonmV8L$G}Y~%1L;8DE<~tV4xDLS+jPO z0`BJ1x8)uYbF)S+gbsR9zGv#1pP%XD1^dULn>6i+R)GJO%bSlH(NZNz( z-l%33bUU$dCGFKKGCHnR>Rf6nF_8HMR;f~9(HSe#{k@y>^85T@9Xv6y!20ITr&qK( z6lp7+r>Eq!%6)K+ul(ZOqX)=4a|;TVE;IQT_rrU$qi2(*Fg;tZ@mp#6Eo*zL`+d93 ze)8TyN>Jimt-+zNBXkOU%24f)oTA4O#{>U4{_?8Z*C}>u5>I>?5jfSk*D~eSL>q#Q zi_qs$Y5vxL8>HmG?e zDO0C;E>cm@gGX_3Yo-mhK@y!Mnd+dN%WnO~+zeuEB17|Snh{i7vFkHWv1 zKQj9X&5PxmW>ZpRK@?@Xf&)cn#=lexcRR5Sr`GiM{vR%M{!ipqpww>~#UyIO_p@T>5e(;y7l8#N*BEW&`(b(UYXt5d#I87Vv z-LN6Kr%pFNDJNOD6jxf!oH;d6m zVs=YK&=TyrE|kwl!6N=2MGfyi;)s{7=aZ~eh=Qn1U7g3eE!l-lTYp|z%S=ydsc^Ah zcw@wW4m0}=Lr8&S%@=QarlY#>waqBIjL~`-vplt35o|;iY0%8G@On4(rvE4eiXQ#a@}`^r{<2`z z8@k~sm3_FPZbOy@%HJ`{&bdVz#Mm}O4aH!&7i=_R(4}nyp58SRlhd}h2Wo4sY$@P- zVac%_8NMu5O~Il}&Np(LlUL<{8HtQ7MzH9#sA*jim>5|TGwl{UmW52rFUvmgvgl&@b$>Js$V6-ki!~;MK z&b02@!6~WU+`AQQmeL+t*vvN5X`+4>gb&`v&Co70QG4`#;y!5^D%uA7kbGiNFj8A~ zd@T0qi9|Nx@U}xPklrJEqc<*M8nSsHXcZe$Z$4!x1yX&yGH~DZL#ada&tR&<(BS1& zf5h@ngc{W)UZ0DJGeZ1Uy5ujUpdj`781Kk5dE?7J0v4E1jljlI}9k5*i2@IZ0J_#=phF0 z%!zf~I2(fQ5XHTjW4{D!tdH%KVN_i^JHOchC1AV4IUY+-cE(!p+oiSj37uY%5>)#i znJ!(Ai9KStBU2g#=eg<|#6=4NoHtrNaj&IhpQYLzZbjDOU{R!-CSwA-027@)&!sM~ z?}SOc$dCl6ssiQU?u1d=b6%-UP~nQcgGwM*j24*2k&<8R%e$f)O-1!jU3H;*XZ)2V zOnp|g+2*KL%)vr8HGon}1DP8VT0)1s^jdblKan`01J;w^sqTjAVuoXjT+!LqQq6%~ z{rCR!pB53G-z?c{LY+PC7}tY5AOJ)27DN?_)9=pZN{P&J=^!4n4$FmO9S!aGHt_=B zT?V1UeGGaNyPO<^+)DLwWv92e-+f}C2|bn4j92x&D4Y*GbSu1|3L}TDyc}tGJJ^ed zDhc0oB2vJ%%#~pi1>>NnVyoG!NE@t&_bLpAMKvbMDa#97S9XX&KF=cR7cE;_s zClq3e8a6rNSokIcEjnBc3lL+;uF%Y6E7w|5K&t-`UrcKstK)F(?E642KejEBn!KLL zBGbs?bc^-z%s1M8_Go^hpSC1&*J*Hm4h09fQQ)?KGapB-Rg>NU>vJMm(Xc3igsiZ6 zOt;~KK+dopgIa>>u$w}6J1TB!nl`FUt+jIZeC1c)_2xBSJrHEtj*in5^DS@y04T6r z7!ad>3n_`rmHrUFrMj=u$%z-11EyKs_VpaIo+E(}=!?iwk6&UVx@3l11or#oJVYuP zTP`J8{R}2l(9F9%f%DXCra(ZR>WCw z<*Kf~e~7kvQiePz$Qz&j+pQm`Onc*#l%ct=>9-r6zOGW>_Lj;nHe`5s7$@ZW<<}h| z0`bs)8?=6QhOJdm{dXgoNP?w~;ot!`r~`3-3J^N^EB72#rOjSU8!pS*q%ifXWO9Eo zsu`Tet%@y0lJ6p7QA#T2e@4OEUmG|rR+Ny)>Qez7v7B~X2M=iwgjlCaOoaxY@(n*a zHIXkZ6HH9<2_E87jHesxiB*Gn;~pK93ZJm8hfldRY(i9Doo?$}ja9coIWu}tgm zzyzPeLBYZ!-@GqyJQKRAw;3osxM3516RtcQgcY@n(IDas(D3a` z2@eBoK_>(R|4DL@Tf=rubb2Jba*I^KdV?q;lIZ$^bYH6lCGl9$i$TGsB~CRw!uk;v zPcb^y>+Z*!N7Zjb{lA_B*$G~bUfkR>-Kz!kCedQ7pJU#O6*<{!gBGPCF1sje(=nXZWk&)3Dd1e*V1`;V4Ez=kT2? z@g2thwfB{8QGUVSO9+A>(hZ_?N`tg?iy$CNNq2XHf^;k$3rGk^vyw|n=ORl=w=^u} zg1~cspXbfT0;++W+@m09neuJ3CK`MXm{OsF^>pTAns zny8|dny6c>F>-!8Mp5WUu0zQEP^vkz&+7iLicmj#^M_4`>Gb0Zm!+ab&)QeOoJ-Lu zCr#C87pF@M*x)HtvWqO0`A(+Sjz&9zKxP=Op8%71`HO)nuaj+wHQxY5SMv z`WLHg4h9oWp0WA405Y8jz&Pwq?+L;o-4yoq}Vk zbv!uX2F)^;@mJSK2zP%}Z(SIpfu|R>QLcYJn1%P5`(F%gh4ox%tX$9^3+jl=8CF!O&GgU^V+{Xzoqn@ zMNLh22{L<~u^YGzm7N(6rLJ8h7I304Bz$`5LJJm-d(*!D)N z3x`x7D(PRJDGk2c3W+0hOZlmgq;IFm| zlmQv`1>>b)wO1yX3``?IcC0?50y--E}MW|zrkJ*2uxDjJm|!t zVw3x;Ua3bz_KDCdJ;UHdqkR%pz+A;(d$@d7yZjO}3Hkk=@H&f(g6x_5vE&zou{m-WMn?eWZbd{(ld&60dNFrwv7_Hp+kmiXR2_`8 zxK}{s8#XH%KudVSlwh$1t*lZ!DA4~@~#|YLNj{UXaL4QYp>{F?zl8D?gX01vaDu0~4 z+cSbu8~~fT^*ddOAM-dRH51YFl5O5+3md>ZIqc)=mjPH^n%S!GTo@^XOHGTo#8>@_ zp`i&T9>F-k)wLi=eGK=2s?WKmSZ+9c%7(U~)No@o-N>TyIqdhH-)rQRc_je{BPMCC zxa+GUf&JIRd(>46jRnGRH3-TW3bi{$eE802NJwO0Ku3Rgc2mY>36$jkh)S%ip3xVm z%%>lGHi6q;P~P_jE&GBjS$u--D8m!NkC`qtvN2V0x`EtHxdQcJ%Fw{8A7MNAN8jJu zE`GM9s*&(IExlO_)VP5@f3{7o(|!I+CjsvGOHTB(zDzJ*_z zy6?0ai|fh4#|B}ThX>CMxriSW5o5{ z-up6!&74N_y#?gXO043k&h^UJKBsQ8HkK49kt8QvoZ3*=g#d^+#X{Bk&-i zdw)x>R2#tL_pzH?e16e?n%rxb@^dE5s#78)ZIv(orLgE+RbV}t>61O~)lo+F%7ynI z4A1>BTb_kxs>hs_r{Tv6Z7+h{nqV&lI8s{1H2mdb1;L_~h*6^dIjh2KrIQE6~GshwK_Z&*YQ>MA?_C^UGiIlFI^F*KJqNyYWd-W3o*&(O6r= zy&{<3I<0reC{O@FkoU!N@yLvMexL!xuZC?8Y%rfP$|_Dj=yzr9aDPr!%=D764dc=% z;_IL_-$Da;_Cn5gC86B!EGO# zYocI1A<@JSrYj1CGLJIVJFJONIDxVt#m%l~7X^;3`8Vaf-j9-s6h|98%ND4pCz|hY z&aIwoipbY1H5n(Gqs(Zd5fJUsr3?;k-W~X+@&{6%@JC66wuLIrcwn1f*>6{tIyzni zF(>E!d}G5nKblkb1n`maCc=fsJ6P1$Ge};!+(nbWt@`!K@r1XH&*beHic&7Xlz~*V z#&Ro%TnVXOCxQZ!1W|K1QUC72{i9~szAyoQrx}6#hXZXC=NmUr$@VtC!;u=R>&kzF zd$vmy0(fuJlb#+{Jnl)aQ^#`>xaRfxcnFeJb9suT&$|ulz2$lusc;|vxa_X>yd^Em z{J1(RU1D#~%S5suvP^!wgS>Kg4#~FHWF`HJnqn5d()XFI4{38xK1MKLcF|nLb zyj&~e!71{430zP8#~~`0x^#U${T5{rq8Ov<(#G z)O3`U<;XF7VbqkI6;A+6Xfw>iZ8iNn{jeis2B5_&v$XuvW#JwP{uN!avm@ZvPcpGA ztaD%~2;P65UR@PLOJQQpLPgr9ppMPxH#gl1Vwux`2Nv;MbU&o22f(29x# z;EudWszskKW~y2ilOv^8IfjB=l8}r{<%jJ!=lgJa8q)F21O4~y|1@R2lwM;Q@TPaj zmqj)t-tyjF(}Il5>FOq@B?QPH0fm~3VLx{m88Q@n-_}D~{A{{)`XtZRL12x_P zxl5>SN;0&+Zf4YZcC8JXKQOr(S~hXgl?TUisW32L2#c2 z|Izegw=y*r17nl1Rd+4E919Oml#0gqu95}?(7i5DjuF^T?Wf0^z|BB>Q&a_ddm0bW zTG4$PwNm_okr}sZRPRd9KPdmDPRTDwYO1_X0Lfkqzn$;^T<4COc;YAWtA@k!fSqGj z4$;+#$PJ6)SH1N=Cgc*7d}%%zwM|(D1ON)p4o1p^Y)OBTKg1wZ;$^2^E*a5hWx5aF^CUqa7f8R>#1(DlhDXg!U0;qLl!IGGxpRs zf9pKx*edndb9_%Gw(Os82tOJi7Z?LF6K;#dJwz~C$(3ZJ+6%%jX{Ww@zq}@DNy!-j z!xMC+Xbro>dEf+va_7&!&pAi@p1_YEz8xClW94bi+W3iiyz+R{W}csyaaDEcGOnTa z^7jPK#dqDzoP3+W_8}!Z4IwjnDdvYh{71*(JZE_OiONSJEq~_}zc%oyE-fz5Sa^p2 zH2&e+JGt^yk+u=nc|`NW+^-^Qz<50lT^E)d<5GmGskW~?!w-YY3c2NklH7SQU62|7 z+hwfx>Wjze9$Q|t@~+@W$B(+KM#OVC+s_HeHu;Z7KuN{?Ey^^Dt>yWQL@qWO*=XFQ zUdOo_C^WeBzV|raZtW*`6w+92i?Kv#!eX^Pv}LtzYd7HcHNNB}OgGYmo4))b?17IV zOgkh}EAHm`_UkW);qLtJmtdX75U$rxL&N(Pb?8>x!|Hl-C&@;Ok26i)c8@MTSRm)w zfK*dsKI6`OnN`4e$`ihp~e2aSx%>e&?_%WbS;eA2Bn>h`%k7#4AZ-#R{e#SwTJd`!5dvJjl{NS%F=8DoBmvySNsE zGGfPRfgUxksioiyqv|bWwuyM#M@$|X1IR~Pil|h!ayka|CP;=YT2eX`a^S{pikp`E!&`Me;-8jl_1YAfupU7XKw!YNFByW&ca zh2n64DkAcT-(*9 zr>>tJmITu1%Oc*~IBFKp2sjoTH4oR@W3BmJIA57`vHCOk8sPf;6Uk{dvrB47!_66A zGxkZdF-+ReyXlbec2se_rG=(U)Rt+h787mIyIZxSA~UpalPJ9kc929qjM`A(07Mb#2FOizg4&;F1buU-yA?7CGmTfuv$;g z!Oe~Dy!JrPcYA0`8hhp}xqaGqFv-yRyp%6VO-9!=Xg;;sI*ka~g zR>eCwhjwrSgXqZ!WG*N0ux?9SLo-FGmxwJ95Ne_8>G(J9dP3hWh9G(}zxniFV%_P( zFo%nvI^UG`S>M6Z2N!PYTw&00N!j___G48~vDf7b?RL!7xoV+e9|#j&3iZ;_bNAAT zhksjfXSmd1b*?4f8pcO9n%FFlRXT}VTKrK{yOmB8+qF-$*~r`IY)#X#s3jb!6M3y^ z3*LwY+)@B4&ocheK}6YfL*FQ;1ZdvHh1|+6sQ0`~u{X%j)-+hoH&onyt|z}6p=LDi zaaS7G;AhKC4lt!}D#is=KwADHwYM~T#j}t5mc3i9IkzjPOE5GD`RH~k!X2k>>ySfr zQ!`=O>K$tJWf1+`)J8Q<(9#S>pk?ct22#Qo6*MHVSA$`aMeEJQ0c_U~eCQIdbq99^^Yby0Vq*jV30 zB-`4Iw7ficQwmbXU?_Ikv{6yRZ_iC1{w2|@kR-~oSZkb7B6V_TmiZl;pX{zY8wtZV z#%5n&5A4JvAtOTc^{YKa8gh!*gAS9az#(UQ`g%mk6iGh<4lf7)9v!6x33RlUSYNHw zCHnNdI~c=_52aSN-6JQPjqiK~3M-D2VCwy*YNVVv!l+xPUX-C=Ua+TM_J>V0*o~`Fuh9a?_=XR9S)rAA|osqhnz0@R%n6+A&w%Tb|}|1-(01LzY*@!|S!$ z>1AD=@ZRFcFmW)sC8g(a$k(f4t?5<$)i@dqnCo9P2tY?`7S8fb73p#M*<}4S)oDf| zqY=XtQY&O+6qKIQrtNBAxM^=aEK~V(AV&xEl=Dv8Q397O$BTlmH{i;ps^2$1etax> z`o*G*U)I)VRdBayMYpPN+dDkoPId=hl8%YJd8%KQJk+^@Ac&_2bHC#Np*?`!uA;-h z0d>#c3$sYYO|Td?ZS9oyVSBJ#*tjAsvjEmz=)9&~SGAL|v7R^AC71so`?aarBhIl6 zTn&ee-wroZb17%CcHgnnUQ%`pT&9r$wMG<^n)RF}KrN6LouY7~>XJYeLTX>j?ea)( z5rR|C7v+g%f2?^~;vS&c5nLo!yZh^!mu*dae_xUX0;QY6IK6W=wm9!K6b=7o$7-mN zNzL|mFYJwCR@^?4E^SS`=~fsE_X?vy;`*UVG$0eY(0LRxLL5E*+47mq)8(T!J%c> zw|6~M3@$8xOmUDN9es}%urBkQJ^I=-IzU&hT}Uwqvm&-X7KfZ%t%&NA@UoqA?r%w< zh2=5n3k$+&NC{GKHxHV9a^T%@d#kl(H4$h#frjQ%6YO}*br1>V!vxj`r$@Hc6GDB_ z$3@L-t3NmLiDg2JjVIPlr4n{EZun>V#ySL{jGHpE@Z$ghSV=Pue-MW;%cpKcsf&H^Ize#2=v@c zChfy=j3=VHd#nJ zx_XcX(fUJrZ*cl@pbPHjro0+DiE;}&VzwA&O<4bc$h_r!QL(Qh=0``dr%NQ3%p zJiy=nqV|cYqxVln!XW2(O9%G~f2#5Ctvz;NFTVJC*Pr`4R*brpy*n7My8dJZG|DNp zk-8015k1bixUOKe;ROx&PyD;@-(joI7PbI!CwTEqj3%oqfE8_z>bLkzr=L7=b* zY!HZy83cepF+iY4cpwnF3J4@ChY14Vll(8q|GzGFlgK<>)ni9g+~|`h*#)#6x;2Df zKCI5$3E-P=jPr3@zY<+V=e2e`SqS}0FMe@Mv^(^vVC-L~sJHZa)XbAzRKaSf3?(9e z>~fUPD$wz~Nv5k6>Xg)Qx^rpOGCSgUIKRhy?JH%qfdvX%ZoKaP+J3HUHrx})xbHK0 zr9W}^FIW6w%eSH9!wpfZDQ019Ey$(76{JzMKKd|j)_EIg?6-e*9OdM?I~K!dy&a=m zS@174e_sy4qtAU<2-KtDa8#9d4viu#;SUH#j9dT-!Ju2`_79s6w4E6_zVTA|TOA9nhMflROQG&e zND#LK3(#JQ8T8}m9R$IO_W2^%)NnrYQ&eCB7W{2#6?T3S%skw`?1vF-hUF$02nk{z zW`jtkZ5^quG*#9<4x3>PRYw&wn`z%N-mXqysY+*V6{{wG>jKZhFN`6!ssCON6Tv(U zmTIIg%teBzQ6^grs6MVMmrfca|_DEb-x PV_a2HOQGhCdBpz#xUnth18Xn472i)uaX`RYKmqhwyWY+vh=x+d*^rOoVj=Ad^~3v(cv~o7bE}x zHgp;#4ger#3jq*Nvm6rbiZ=_95gAVn&xzFGY~Om@YS-Io@hCInUPukz?)wFgGHJp2 zbBJ&K;L;tqZZqmbuGIw9W;)q=Spfrw50;rjkVoU9cL2D9rk*?Y9NPO7NA4g1z*^{( z(DGB_mA#bkuwK38%kiOGK{dX_5sEqG$7xCHSTh_| zHQ=1@9KoGCU3d9_TYHFAx-Q+h_lu$UNWHej)>OsiaSe5KXLz5Cb^2zD-rlTBjl$6G z+td7RQx9ifK}ip{M--#{s&-lwoe#~07-KCSB{p-4?N^ETGwr}GKPQc~F3A$J5txdd zTWye`|EY(sqNr}i65%C{2%HAQ^tc}=Oo-PDl@CETs1 z-s0%4M6swB;vg()8V3Dh12!0q&dq{LH87TpEa7B14m6KDq3_`xb9m*lLOOCM2cs9) zvI`%S`(lN&VT?YU(w%uqT%-ZjiId>|cz@20hv0r)4cs}eIfCG?t=~SogB||%YIhDhN~kpfY_f3_p@@L?ypeN8nYyfU`uXR`?y%bO6<_HG;R&(H zFL5fsF)7ky51Ba*PNSv6nA$XQOOi6$2LBRd^?^fLSaO~Rf5U3&pQtHQ_`J}I5TiWe z!zaN--rp88YdD6b(wr@0J|_+|T;tt05u`kte{z>C!pBnzcYm#K|>)6=-^Amg0rn{xF%@CH7&5=mmLk%lRJO>Xd#W9o$>a$#03$0i5KrM0+32)tRw!I_am@{q zVq~ED*I>!AOT)U>u;$wvqe~1f4J~quH>k+Kl%|P}DqbhXj+!7by14GO&tAGUa}_?4 z(&S*?1G!bU{ZK3b{x5VU_p~lD&F0Fxc`3vUe0t9+`0*7<8>xC=D1=6*8lLudtsL^oOb*SScD*?!&na@> zh91nkDQNTC=Y}K1L7FycMi33_d9FVe3;=LW8=;++yD`#&=K%f8bJON@^j?FYNy|=so+HSw zc)T!V{Z$jIOA{VT*}qP|onH5=?qBBj3TAG@XBo4W>F)pSaV=_@&5=(w;UdSoCP%E@ zn0C5!j`AcsEs=&LocpCaw(9d|tL~S6akDHt>B3fK<`=Dj?ML;~S@vqY6X8?v3~n!+ z7CcGC?;*pdImh?!sct%${oHU_mNEkq1LJ~CY;~M>>dP8q6FU8y#qZsD^ns0mv4O#X zL4iSlfrEhsqzKMH6Q@1b%#Gn%6zl%~YX5(2S;YSN)ZzkX-dmYHD=yw#b?sYh*1j#y z$0V34l(?&_3Z6x`elC{&=6QN?z+P+fE4z!GmBaO4|7?~&C419_!R-8&ieK5T+~wMz zZ}C3Q&-(bq{MM&?>PCIhZyCbY$E~~a$X-zQ&eZz1;akh!tSe*q_h#y;yaRu3W-@t% zy$d&MsHiOb@txt?tveEr*W8v{aDROc!?yYBzMs_6mvInl*N#grnIl~MGbJ#8X#vA& zWAWuy>-T>(d#p46>CE}dx!4P`KOH%FcKzG?udlrFb&FcG+`hLtdh&69F+PR2>;4tK zz47pT{Le2xrsw^gY3OGC=aUKFy85pl)Bna5Y%XB9mrHnKQymdKI;Vst0D#_>vj6}9 literal 0 HcmV?d00001 diff --git a/source/_images/iphonex.png b/source/_images/iphonex.png new file mode 100644 index 0000000000000000000000000000000000000000..6857f5ac77e96101ffdb8d6c196f0de4ade8f16d GIT binary patch literal 17082 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 literal 0 HcmV?d00001 diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 0000000..ff53505 --- /dev/null +++ b/source/conf.py @@ -0,0 +1,47 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +project = 'Sphinx Demo' +copyright = '2026, Xarkam' +author = 'Xarkam' +release = '0.0.1' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = ['sphinx.ext.autodoc','sphinx_rtd_theme'] + +templates_path = ['_templates'] +exclude_patterns = [] + + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'sphinx_rtd_theme' +html_static_path = ['_static'] + +html_theme_options = { + 'analytics_id': 'G-XXXXXXXXXX', # Provided by Google in your dashboard + 'analytics_anonymize_ip': False, + 'logo_only': False, + 'prev_next_buttons_location': 'bottom', + 'style_external_links': False, + 'vcs_pageview_mode': '', + # 'style_nav_header_background': 'white', + 'flyout_display': 'hidden', + 'version_selector': True, + 'language_selector': True, + # Toc options + 'collapse_navigation': True, + 'sticky_navigation': True, + 'navigation_depth': 4, + 'includehidden': True, + 'titles_only': False +} \ No newline at end of file diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 0000000..bb24ce8 --- /dev/null +++ b/source/index.rst @@ -0,0 +1,151 @@ +.. Comments section. + Please, add custom directive or links, pictures, text replacement at the end of this document + + +======================= +Jam.py V7 documentation +======================= + +Introduction +============== + + +Welcome to Jam.py! If you are new to Jam.py or no-code, low-code or more-code Web application development, this is the place to find documentation about the Jam.py V7. + +The biggest difference to Jam.py V5 is : + - :doc:`routing ` support + - Bootstrap 5 + - modern support for mobile devices (see :doc:`version 7 `). + +In addition, the complete interface for |desktop_ico| :doc:`Desktop ` or |mobile_phone_ico| :doc:`Mobile ` devices is driven by a no-code approach. +Just select what is needed for any device and off you go. + +|objectives_ico| **Objectives** + + Installing Python [1]_ and Jam.py, choosing the database and the Web server and making Application Design decisions. + +|audience_ico| **Audience** + + Web development enthusiasts or developers, with a limited or no experience with the Web development, or deployment. + +|prerequisites_ico| **Prerequisites** + + The general knowledge about the Command Line prompt, and typing the commands is required and for advanced usages some Python and JavaScript knowledge is recommended. + + +Feed the LLM +============== + +The LLMS-full.txt is released: + +- https://jampy-docs-v7.readthedocs.io/en/latest/llms-full.txt +- https://jampy-docs-v7.readthedocs.io/en/latest/llms.txt + + +The Github Jam.py repository: https://github.com/jam-py-v5/jam-py-v7 + + + +Documentation Layout Overview +================================== + +Here is an overview of the documentation layout, to +help you find out where to look for specific details: + +:doc:`Getting started ` topics describe how to install the framework, create +a new project, develop a web application step-by-step, and deploy it. + +:doc:`Programming guides` +discuss key topics and concepts at a fairly high level and provide useful +background information and explanation. + +:doc:`Business application builder ` is a detailed description of +the Application Builder used for application development and database +administration. + +:doc:`Class reference guides ` contain technical reference for +Jam.py classes APIs. + +:doc:`FAQ ` topics covers most frequently asked questions. + +:doc:`How to ` contains code examples that can be useful to quickly +accomplish common tasks. + +Please visit the +:doc:`table of contents ` or even + +`Jam.py Application Design Tips`_, for detailed steps how to build the applications or migrate from MS Access. + +.. _`Jam.py Application Design Tips`: https://jampy-application-design-tips.readthedocs.io/ + +Documentation Download +====================== + +To download this document as a single PDF, please visit https://jampy-docs-v7.readthedocs.io/_/downloads/en/latest/pdf/ + +Documentation Translations +=========================== + +|china_flag_ico| Simplified Chinese translation started at https://jampy-docs.readthedocs.io/projects/V7/zh-cn/latest + +Video Tutorials +=============== + +| If you are new to Jam.py, we highly recommend that you watch these video tutorials. +| The videos are referring to Jam.py V5. There are minimal changes to the User interface compared to V7. + +It is recommended to watch these videos with a resolution of 1080p. + + +- Tutorial 1 - `Working with files and images `__ + +- Tutorial 2 - `Working with details `__ + +- Tutorial 3 - `Users, roles, audit trail/change history `__ + +- Tutorial 4 - `Task tree `__ + +- Tutorial 5 - `Forms `__ + +- Tutorial 6 - `Form events `__ + +- Tutorial 7 - `Data aware controls `__ + +- Tutorial 8 - `Datasets `__ + +- Tutorial 9 - `Datasets Part 2 `__ + +- Tutorial 10 - `Fields and filters `__ + +- Tutorial 11 - `Client-server interactions `__ + +- Tutorial 12 - `Working with data on the server `__ + + +.. [1] Only if you have no Python installer or unsupported Python version. + + + +.. |audience_ico| image:: ./_images/audience.png + :height: 4ex + :class: no-scaled-link + +.. |objectives_ico| image:: ./_images/objectives.png + :height: 4ex + :class: no-scaled-link + +.. |prerequisites_ico| image:: ./_images/prerequisites.png + :height: 4ex + :class: no-scaled-link + +.. |desktop_ico| image:: ./_images/desktop.png + :height: 2ex + :class: no-scaled-link + +.. |mobile_phone_ico| image:: ./_images/iphonex.png + :height: 2ex + :class: no-scaled-link + +.. |china_flag_ico| image:: ./_images/china_flag.png + :height: 3ex + :class: no-scaled-link \ No newline at end of file