From 1f63d871cf749d01a1ec6bd1e80c1e6dedce11a3 Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Thu, 26 Jun 2025 16:25:17 +0000 Subject: [PATCH 1/7] UAS RPL - Perubahan kecil untuk PR --- class-diagram.puml | 0 out/class-diagram/class-diagram.png | Bin 0 -> 7341 bytes .../sequence-create-item.png | Bin 0 -> 14972 bytes out/sequence-login/sequence-login.png | Bin 0 -> 19713 bytes sequence-create-item.puml | 0 sequence-login.puml | 0 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 class-diagram.puml create mode 100644 out/class-diagram/class-diagram.png create mode 100644 out/sequence-create-item/sequence-create-item.png create mode 100644 out/sequence-login/sequence-login.png create mode 100644 sequence-create-item.puml create mode 100644 sequence-login.puml diff --git a/class-diagram.puml b/class-diagram.puml new file mode 100644 index 00000000..e69de29b diff --git a/out/class-diagram/class-diagram.png b/out/class-diagram/class-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..213360c32e208f6a90640e3e8636c45475aedaca GIT binary patch literal 7341 zcmcI}by$?$);Ay}EsQjhA~kdj-Cfe%64EW*C5;Lwt&~a*NDnd85CS3%GQf~SNW;)C zKF>MlyUukz-}l%1{d3=I-z)asYp=cb`tAGmb1h{;JZd~NG&Dk06$M>1G<5EJdIT5a z{`oo7SvZtrd5YyX15Hju%|*VofWjEBe5)yCb|&&`$F z&cn@rbcp`m%;T5(#=iglj)s13Cm_!)O;#I&k0f^gm~&&GpUZ?K`OG?jK`BOsq&a)h z%k5`=j(=-Eeqb12iuqEAmwo&md1yyPY1vVOOKLnw$Gt`Y@K{j+G~0gziO7lj6_6Y~4Qdz1 z*Q8lFJD+#fGzs*wLvGsSQm4Bq6j^+1KDZSgqoL8zsVd0o2UzaqKYV9lkQrwIWMaY- zoc$(T)r^)qRpHi~jVXtX%bF0!qCm|UV=aeE{j4iOm~AAHkVrkozX8!Dp@NT#N12Ys zkJZgWA}7NTBZ^1OqJoS5rt=P>nV%=N3HRBr2&(b^eA#(wSS7IAHrCM-zTZ;gJQIi? zLqc_sRV#}NmP!Z24q&M2Byjx`VOA8`x%$j?k7+R%m`^0WB0V1a6`ti(TrsM{pqLcQ zD@+-udDf5PXoDDePez@o*RtS15+YaJ@u_rtq8|x=;z>(XkU-ZxP0pS)B+4V;L;=3b zkuMLnBaN@E7wots_f<@UMZ-tkun>UggMfqgAzXt ziXMyzl|LjBYeCO836{unVNW{S1eK2GQT$kV2y(@;JQ2Aj9L-Ob{dN9uHjHTWl^K>6 z>3Bb5->>+KZ!L5)CJnn0%v1(*M3&)5$ z8YM_q3!$Wrw6xWtpfvc_+X7_ghE&dnE6`QP$1K2ppG0E_wtUslkHFq?n^|3nTV)9- zMg{b?asl+|`|@K*2%1!PwYnE|1;vVf)-#)O1LMJMi)I^K;k6F|cuCo-ful;)BlS)T z+}(5%m4&@H0sMx`9^qY!A@9v7MzB|^ETSRf2n;rYjq>+5Y~)_QhCNw>JCk@!+o%>& z?;dI&an%Jqt3D5|%1dqZ{1Kt&MQeY}QO$MLGn3*p?JGUv_4=dWp+m7J)C6{&IZ%A3fQQXx24#R4nt{sK-gZwLO zWF#rhT=_v!3;eIa1~R(Wb9i7@9u2x0_`V9JR1#W*I~(}yn3taOB{cGUdD=&DK+#A5 zYpWbGW3G^(HC(qyG!Qlwf=e*Cc@lCv@c7Ldi!-)NHXJKi(_GS*^X;r3!{)?81ZEHz z3DJSrX`zIL8(c{u!__*%2Px5XOAq!B|8nFTX*>49wGfDL!zg+US>_|qIpNO-Pl>$O zW$V3He)usp)k&TVP*}E?n($dKud9A7@j56o~kWgCUmy zAz>na$iYulWwXH=Pq7-HrHx_LA1~Qsj)q2`$h?j=5ByPS4)V<(xbgl)+MH6-JY6NA zwQnc!yii9y(W=+dwS~aZL@1zl0kcaI5%~P4IN8-JiHJ6Ts1l?_DyjTSfBxZ_V)I0+ z>ok<&{I?kdx_Q8N22U97Av(APKWZ~PdN0yK-*koEJASk>M&8j}cTMv9G^NViQ7$ue zx{2!rIqQ=cXmyU%GV(Kmjv(&}T7siSyEYWEFE2_%538Ssc1`GDiBpQ7N2?OQ z0}W*25U$H-D_U;#W_S)qrxg?yV61FUvu7GjMPNG>>3j! z=zMI{Rz2)>MhOv-@+aEClQO>IoM$K8zm2JWNxV=s^o(UcJg@73qg){kHmTU$L#5{s zVnG!hzP51vg1~!;TO#_YvaQ53V4ICkTo5n}2_sh?o{$j`qe^n)?oYen=Cq3RVYPYo z8R0(2^{zSubDPNPdSS>bFLs)@k%u$(s25xMr@iat z)OF4cC3W=jl)pKlGMk^OkS%2T;)3@3y@A51i22=>?}49F8I<3+cG_?<%+AbqkK;O z;k1 z?0qUUtub989r^Zmu-2}+J=(>;bT^L()Blg|;@;k2FnNwu`4Sv9qW^;?(!2xxO&#TrTtHjSgZ7wpqg4t*4}Y@dG|HwDyM#0w8L@$0)wE){ z@eY0LbZK^We>N+=jNvBRt`aWn@B5007C}WXDTOI0yoN?vx`54zQjWICepo2xejt(( zVMm#c%OCplhLZG3mrCaLof_EZB9U!uod(37#3!i*miI2Y;=MDb9XK9XT$ywiF5_8M zs7XM*n@VGpisQ4FEz@q@7Xb74VGQJ9u;VdaKKbVoWy?qx@+e!o>+EdCIiVxT<2BrM z!9R#rBTeLc%IKcTyiaRW`#ZHmVRIkBvj*u<%E(t~J&nq?Ax@L=lcH>PU_!SieK&?x z^{P~v3%BHVB4owNHp7gwp0BQN6t0JjYPFpvSvjKFi(xcksZf?65GmPpKQnJ?3Jf9B z2`)YfQyx+Y);eKr4N?LF?pKR;BNue?Py&KiBN5v-vy2#9vHNI2uj@FrGdsz$;w)rn zCU!dbz5$R{(>(+`j8{0)*;mD!c$u{tcqN~;|~z52Cr$#$g#Qe&LJmu8;e)BjoP&&K{dN z5HtA+jO1h*LQuIFdaZO?<*bW(@EK?+`#maS3dc z%Gr&+mP!fVwCD*nqIk}rcqB;+-@3HN-e)@Lew`9rYv?dt?W6A(c?mo_T3r1z3^VFh zovTnf3!WvbF4)C&AQjJHW<(7ia^?AI^TidMZBT{VRrJAp=1jJ*R%oH)1E9 zroO$m`0Rq}g$=$x{biU0K=2_Cq$WXRq0-(kLkGif@`V=M>FaChd)#32ilR?fL7=ku z;7i(S;jT*rc=kRIyI5p?XxM>#`-F2MCMvY$_HxU2!<}HM0pw+^A|V9{JnrSSR+|jM z7pakO7ZP~0nsr|zTE$b3WHU9fgjzeSFO%gyWfM@(`%nKIPDro&{x7p-Lu9k4YWkfE zp6_TvK4q)voIJI6)HxwWX>453rBqqMTx_f;-q@0>B;HVVlzB%D9tTt3itiq$1L|dT zcWY+Dhc=E6UVK-RAZ297%Xs+a6Nw4KJ%RPVK=6{3e!jD0(+LXW_w@WNVaTOFK%NF)M5kcS$c|10hO1uhBuv50H z$hli>KhF-{mwY!aIwp7W9)rEQoAYh$#Mr?|ZSjTn=$HOJW2dP)tixT?SM*JRL4LB~ zHm!2R;1~qF!V?;X;$5Ai7a#4(bX@LjuN5lXp5Qyu;Yw^GWg^2X2|y3?1f4lVj`e(? zlqAg^>1X_XBuTb(tG(-ym5Gn=YYB-y*^Yub$AIINQeuxBY!LV;d;_lQM*fd7iSH)pP;~fKePNIno68|);BoGy^25(&E1$h(Aw}al&8^n8)Hb^xb?p4A zVFwJu5Fymm%ptYVuHjj-Bt96KXI$*#MI>ikwvePrSJI_UiZugKF+A8VX@y zXP$T2)%^vr#`^%3jD6ShWe4)q{&2x*t>h$wl}&AeLh~Kj&Gd8WP>P`Qo71ub{w(LmUW}rv1n9#y$096)#?Rp|4U6# zs`;#^(;|W%mEun2Ti6>FaJcQ0S%Ggl_bAxuglMg0(UJDV}4)IoJ* zk%3t2IRMa}`e_hp#**w687Dg3e!8PTS!v0N%C4)=W4hkag+RkZ7-F2nOLYNqCr|$q zr8`!Mmr{DT05x#R{O8rLsVO>3x(On5fA}P7~LIcTaZ+Kn#siMQ8eWKwP@5Sku=h`^ofw)Sw&U^Oom@WDkU4`+UP3~X3m^7nZ zzqM@+y(PkFiOSFoUbF-4f$&t9Ik}XZN7@HHQ6BOug#FkPysqp|9C`37v7OB~)f2)L zfb8@1;Zjjom8}G0bz+aijT=fU`+9O(Eh5aSTG5(N!etu5rl*$QU0CWRW41&l-!PRY zO>c#pZ(FOIBo)^_HMD7py@Y?;T$sk9l!3>_J`vhZ0WXnYy+ zu5BbuRlSLS!Jv`#qo#KaAbKAf1FHpN9{NTul+{A-y$?hHDtuZ1mL$(jE{$Ig_CKn$CZl_-c0UKsb%+P9UXd zTPL{+Gf!Gt`0=&uQ@9RSUygcynO>qD6$+RExMzxd`}&2_8lVEc)h$Q9Ll|R+sf)!M z-{?kp}|Kk$x|H}IOwC}IDkGFYiaX2c^8)YzKe|P+fn>#1Yrst6R=FW;S zNT~t94uQ@_sF@|g?h>9ETTgu%F9{&QmW~NFTs{4ri^sUF3sf{4u|;&)2?B2Tb3FLAwiVZXq-QDCF6~?wA0W;h&1LsN=Ie-}xe8wP!20-+~ zufP~ejpzSv@43*J;T~!Syop7*^=<#gY=Di1y^Yr-WXIQF_4KB2Vf zXFdhy+cxV^Wlu+-eFT;_0=4jvd7FZ6v`wiMV!}$H!y@chx&&tzo1oY!=&ZFiWFM2Z z5re1hP)2YzfR5YCVFr=y`XO2Nb=CHBM_M?J@#Cu0(tScj^LKttrZ&sJRXzy zmNIM8e?nX64K=@#Yz}1YPwpyX2G0o+IDW6*F_8$BC=0{b-~652(`W@-YxC0Uo}$fz zkwNpqe%0v=Bne$GN@^X1OKI4U6oj&(O}C?=XeHN6zZYTn$+Y%Y*uWwO`M z@3TOwfI1J@S-4T9qUsE~o!<=K_v=SS-d{Wr^;TT_=5=ioBy;%M0;3P6i~8n_1IbxC zB08V57)nxKal`5=4wIAw<^w7sia6;4FG>1(SK+ZVan|zi*9F~(^?+Lt?Jp{U0}qKJRLmb| zX?F`5*SqJkf-C-&^qn1h=O#_`XNGRx;IT_Z!#d)$eKvZo-Zs=*TP$_SRu-haHIX7- za=ZX(eEG%E6?F5+CDncEgtWqejO%AB4t(|8w8gu~2t4!^vV2W=Q|I#K9h1SP(V}H< zmLbtW8wYcZPr}bt@7Aqczm%hXDP4|fxq4O9mMRD#iao{R--irk7GoY|H65(C*0JC` zSLY}RVDq=Tkh}JLY`LO(+6J1i``{tYb^L6&6GoV6hGm@X@!aPmMmv5EGwB<-8n`r) zBlzZuNGPvXTin1RdA5?IV&^TSv_Nh5zd@zaA`IE_=q%XVTW73E^9Wk-FP~$2s>%JAAU*o zST`@xf@Z|yIzaDQ;*4PQHxeqY-kU z1trlTbnjczT7)q$<|(p8HkXOm$1lDFvSlj!qH;F$Gb2Ibg? zS@+pIsl8Vc_HfdvI`8Lh>_=j~!3yLnqbBbMS|o)Akz%f>cz4}3Q8<-{G-VrCzg%a#htt*8jdr4&v;q@-_rtFw jw(b90sNuiu+z~V2wRnz7a7Wz#H$+oa)KaLHvyS>7_pUg+ literal 0 HcmV?d00001 diff --git a/out/sequence-create-item/sequence-create-item.png b/out/sequence-create-item/sequence-create-item.png new file mode 100644 index 0000000000000000000000000000000000000000..f8064c562c5d5a153b58602440b58a4e74adb11c GIT binary patch literal 14972 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 LxL+vt`1$_=3kg27 literal 0 HcmV?d00001 diff --git a/out/sequence-login/sequence-login.png b/out/sequence-login/sequence-login.png new file mode 100644 index 0000000000000000000000000000000000000000..4d695a10ef67a82124aebc1d002f054da967b2b3 GIT binary patch literal 19713 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 literal 0 HcmV?d00001 diff --git a/sequence-create-item.puml b/sequence-create-item.puml new file mode 100644 index 00000000..e69de29b diff --git a/sequence-login.puml b/sequence-login.puml new file mode 100644 index 00000000..e69de29b From 6cc9637e455bfa9d796a9984b9fa8b5b112923d5 Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Thu, 26 Jun 2025 18:49:02 +0000 Subject: [PATCH 2/7] jut upload --- app.py | 47 ++- class-diagram.puml | 15 + evaluasi/blackbox/uas-selenium.side | 625 ++++++++++++++++++++++++++++ sequence-create-item.puml | 13 + sequence-login.puml | 17 + templates/create.html | 13 + templates/dashboard.html | 9 + templates/login.html | 12 + templates/logout.html | 8 + templates/success.html | 8 + 10 files changed, 760 insertions(+), 7 deletions(-) create mode 100644 evaluasi/blackbox/uas-selenium.side create mode 100644 templates/create.html create mode 100644 templates/dashboard.html create mode 100644 templates/login.html create mode 100644 templates/logout.html create mode 100644 templates/success.html diff --git a/app.py b/app.py index 36721a06..6b1b5844 100644 --- a/app.py +++ b/app.py @@ -1,14 +1,47 @@ -import os -from flask import Flask +from flask import Flask, render_template, request, redirect, url_for, session + app = Flask(__name__) +app.secret_key = 'rahasia' # untuk session + +# Data login dummy +USER_CREDENTIALS = { + 'admin': 'admin' +} @app.route("/") -def main(): - return "Welcome!" +def index(): + return render_template("login.html") + +@app.route("/login", methods=["POST"]) +def login(): + username = request.form["username"] + password = request.form["password"] + if username in USER_CREDENTIALS and USER_CREDENTIALS[username] == password: + session['user'] = username + return redirect(url_for('dashboard')) + return "Login gagal! Coba lagi" + +@app.route("/dashboard") +def dashboard(): + if 'user' not in session: + return redirect(url_for('index')) + return render_template("dashboard.html") + +@app.route("/create", methods=["GET", "POST"]) +def create(): + if 'user' not in session: + return redirect(url_for('index')) + if request.method == "POST": + nama = request.form["nama"] + jumlah = request.form["jumlah"] + print(f"Data disimpan: {nama}, jumlah: {jumlah}") + return render_template("success.html") + return render_template("create.html") -@app.route('/how are you') -def hello(): - return 'I am good, how about you?' +@app.route("/logout") +def logout(): + session.pop('user', None) + return render_template("logout.html") if __name__ == "__main__": app.run(host="0.0.0.0", port=8080) diff --git a/class-diagram.puml b/class-diagram.puml index e69de29b..e46d58b2 100644 --- a/class-diagram.puml +++ b/class-diagram.puml @@ -0,0 +1,15 @@ +@startuml class-diagram +class User { + +id: int + +name: str + +login() +} + +class Item { + +id: int + +title: str + +create() +} + +User --> Item : owns +@enduml diff --git a/evaluasi/blackbox/uas-selenium.side b/evaluasi/blackbox/uas-selenium.side new file mode 100644 index 00000000..a52d2189 --- /dev/null +++ b/evaluasi/blackbox/uas-selenium.side @@ -0,0 +1,625 @@ +{ + "id": "b6f5b0ea-1f4c-4e00-a373-1fdf8efb1747", + "version": "2.0", + "name": "SIMPLE1 Testing", + "url": "https://silver-parakeet-x54r5qr7g7w736px4-8080.app.github.dev", + "tests": [{ + "id": "9edbfa02-12fe-4b5c-902c-72d75861ca5d", + "name": "login_test", + "commands": [{ + "id": "1aef9bd0-04f5-41cd-b6bf-335e6b6c4feb", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" + }, { + "id": "8d75a26c-c793-4066-a290-cd21fa2f72ef", + "comment": "", + "command": "setWindowSize", + "target": "1366x728", + "targets": [], + "value": "" + }, { + "id": "928df4c9-8d32-4459-afcd-8ad49806ea19", + "comment": "", + "command": "click", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "fa932cb9-4836-4a33-ac82-1e82349df0f3", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "7c36f01f-cb34-4a50-8379-96ca57ab36ff", + "comment": "", + "command": "click", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "e944b6e0-181c-4244-af22-77c586fe13c3", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "admin" + }, { + "id": "3ba92c2d-6421-4d53-88cc-4efa0b365531", + "comment": "", + "command": "click", + "target": "css=input:nth-child(7)", + "targets": [ + ["css=input:nth-child(7)", "css:finder"], + ["xpath=//input[@value='Login']", "xpath:attributes"], + ["xpath=//input[3]", "xpath:position"] + ], + "value": "" + }] + }, { + "id": "6bd07edd-76d1-4b5d-80f7-98641fec0596", + "name": "create_item_test", + "commands": [{ + "id": "98da64a2-a57c-4055-8b93-2681b8d7e3ba", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" + }, { + "id": "d2199e2b-d0a1-48aa-a132-1449b3adc674", + "comment": "", + "command": "setWindowSize", + "target": "1366x728", + "targets": [], + "value": "" + }, { + "id": "5330a3a9-8293-493c-a7dd-d1d81e8a3346", + "comment": "", + "command": "click", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "419d21ba-ed57-4ff0-8e84-a7d21c4ed547", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "9ba342a2-2a28-42a8-9b48-1febebe1f7e9", + "comment": "", + "command": "click", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "3eb9d451-4529-439d-9c56-b212dcf006af", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "admin" + }, { + "id": "e44e42e6-5f7b-424b-a7b3-108e4ccce53c", + "comment": "", + "command": "click", + "target": "css=input:nth-child(7)", + "targets": [ + ["css=input:nth-child(7)", "css:finder"], + ["xpath=//input[@value='Login']", "xpath:attributes"], + ["xpath=//input[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "8d8cf86f-df19-4385-98f0-b8196ce7d0e5", + "comment": "", + "command": "click", + "target": "linkText=Tambah Item", + "targets": [ + ["linkText=Tambah Item", "linkText"], + ["css=a:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Tambah Item')]", "xpath:link"], + ["xpath=//a[contains(@href, '/create')]", "xpath:href"], + ["xpath=//a", "xpath:position"], + ["xpath=//a[contains(.,'Tambah Item')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "a125e371-3612-4df1-b308-e4de2ba7ccd3", + "comment": "", + "command": "click", + "target": "name=nama", + "targets": [ + ["name=nama", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='nama']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "6c88f017-bf4c-4b1d-8f44-78eceddc0c2f", + "comment": "", + "command": "type", + "target": "name=nama", + "targets": [ + ["name=nama", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='nama']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "AK" + }, { + "id": "135849bd-825f-4005-8dc8-78a17281c323", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "df34a74e-b450-4d3a-aede-ad7417fb33b2", + "comment": "", + "command": "click", + "target": "name=nama", + "targets": [ + ["name=nama", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='nama']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "2754addb-56a3-4540-ad46-25e7dd870b44", + "comment": "", + "command": "click", + "target": "name=nama", + "targets": [ + ["name=nama", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='nama']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "840e1f1f-1559-4e2d-8a77-13b452504225", + "comment": "", + "command": "type", + "target": "name=nama", + "targets": [ + ["name=nama", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='nama']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "AK47" + }, { + "id": "e2e7817d-986f-46fe-86ea-cb0f97e974ba", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "a85351c0-dd96-4f77-a835-1d8a60273c2f", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "1" + }, { + "id": "4e702c41-f9dd-4118-8549-ca4d206c818f", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "ab221411-91b9-44d9-9c35-e5d3d47e8a61", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "2" + }, { + "id": "55e2dfef-350b-4cf2-8673-097815c84632", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "ffd33956-4a98-4518-b72d-328aa6d047af", + "comment": "", + "command": "doubleClick", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "11b6188e-7c29-4936-9919-df646256a452", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "3" + }, { + "id": "e9f45ab0-61b9-485f-bac8-9d5a36d5fd36", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "1f989a86-5851-4c84-86b4-ffb9af92079b", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "4" + }, { + "id": "fcb799e4-78ba-4608-811e-2627f794e3be", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "8b83c198-3124-497f-8ae9-a42dafcd20ff", + "comment": "", + "command": "doubleClick", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "e9b7c9fc-ea31-421a-aea0-194d9db33876", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "5" + }, { + "id": "b8619677-c028-4b96-968c-4d099ea677d1", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "0661b429-b0de-4211-a382-063cd4a95c2a", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "6" + }, { + "id": "3ee3750f-a343-4532-a8a9-5590a4b79e28", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "8f1a1888-63a0-4824-a565-d72c37527af8", + "comment": "", + "command": "doubleClick", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "d50378ad-b155-4645-9efc-34d6c5b07da9", + "comment": "", + "command": "type", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "7" + }, { + "id": "82cea457-77bc-4ce8-b92b-999451a48fc5", + "comment": "", + "command": "click", + "target": "name=jumlah", + "targets": [ + ["name=jumlah", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='jumlah']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "21a68c6c-4a2d-4f17-b21f-a777ba50140e", + "comment": "", + "command": "click", + "target": "css=input:nth-child(7)", + "targets": [ + ["css=input:nth-child(7)", "css:finder"], + ["xpath=//input[@value='Simpan']", "xpath:attributes"], + ["xpath=//input[3]", "xpath:position"] + ], + "value": "" + }] + }, { + "id": "1f07243c-bf49-43fd-b3ac-d86e69fdb1f4", + "name": "logout_test", + "commands": [{ + "id": "bc8003cc-f209-4b6c-89c7-122bfddff04c", + "comment": "", + "command": "open", + "target": "/", + "targets": [], + "value": "" + }, { + "id": "dbfea89f-ba37-42a0-bba8-f9705f3cda61", + "comment": "", + "command": "setWindowSize", + "target": "1366x728", + "targets": [], + "value": "" + }, { + "id": "7623d107-72c4-4610-bef4-b3b272bf48c4", + "comment": "", + "command": "click", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "15c59ef5-1733-470a-9d6e-34345a29b7d6", + "comment": "", + "command": "type", + "target": "name=username", + "targets": [ + ["name=username", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='username']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "admin" + }, { + "id": "13520970-2424-43ee-a2d4-3e6209d51203", + "comment": "", + "command": "click", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "" + }, { + "id": "263f307a-78fc-4487-9e5f-5ccaa656cee6", + "comment": "", + "command": "type", + "target": "name=password", + "targets": [ + ["name=password", "name"], + ["css=input:nth-child(4)", "css:finder"], + ["xpath=//input[@name='password']", "xpath:attributes"], + ["xpath=//input[2]", "xpath:position"] + ], + "value": "admin" + }, { + "id": "27e76ce1-b560-467c-85ac-9db30e1f643c", + "comment": "", + "command": "click", + "target": "css=html", + "targets": [ + ["css=html", "css:finder"], + ["xpath=//html", "xpath:position"] + ], + "value": "" + }, { + "id": "c125c66e-ba54-4c05-8ac3-12b08fdde642", + "comment": "", + "command": "click", + "target": "css=input:nth-child(7)", + "targets": [ + ["css=input:nth-child(7)", "css:finder"], + ["xpath=//input[@value='Login']", "xpath:attributes"], + ["xpath=//input[3]", "xpath:position"] + ], + "value": "" + }, { + "id": "35fcc320-45f2-4d4d-b600-41320524a4c4", + "comment": "", + "command": "click", + "target": "linkText=Tambah Item", + "targets": [ + ["linkText=Tambah Item", "linkText"], + ["css=a:nth-child(2)", "css:finder"], + ["xpath=//a[contains(text(),'Tambah Item')]", "xpath:link"], + ["xpath=//a[contains(@href, '/create')]", "xpath:href"], + ["xpath=//a", "xpath:position"], + ["xpath=//a[contains(.,'Tambah Item')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "5a69d304-b0ce-4065-9aaf-3f619d435e44", + "comment": "", + "command": "click", + "target": "name=nama", + "targets": [ + ["name=nama", "name"], + ["css=input:nth-child(1)", "css:finder"], + ["xpath=//input[@name='nama']", "xpath:attributes"], + ["xpath=//input", "xpath:position"] + ], + "value": "" + }, { + "id": "1768bc91-ccad-486d-bba5-ee7288bdbc85", + "comment": "", + "command": "click", + "target": "linkText=Kembali", + "targets": [ + ["linkText=Kembali", "linkText"], + ["css=a", "css:finder"], + ["xpath=//a[contains(text(),'Kembali')]", "xpath:link"], + ["xpath=//a[contains(@href, '/dashboard')]", "xpath:href"], + ["xpath=//a", "xpath:position"], + ["xpath=//a[contains(.,'Kembali')]", "xpath:innerText"] + ], + "value": "" + }, { + "id": "3ed174a4-f3ea-41c1-a35c-bc563b82ecfa", + "comment": "", + "command": "click", + "target": "linkText=Logout", + "targets": [ + ["linkText=Logout", "linkText"], + ["css=a:nth-child(4)", "css:finder"], + ["xpath=//a[contains(text(),'Logout')]", "xpath:link"], + ["xpath=//a[contains(@href, '/logout')]", "xpath:href"], + ["xpath=//a[2]", "xpath:position"], + ["xpath=//a[contains(.,'Logout')]", "xpath:innerText"] + ], + "value": "" + }] + }], + "suites": [{ + "id": "a575cc2d-40b7-4bf0-a3b9-67967b3f538a", + "name": "Default Suite", + "persistSession": false, + "parallel": false, + "timeout": 300, + "tests": ["9edbfa02-12fe-4b5c-902c-72d75861ca5d"] + }], + "urls": ["https://silver-parakeet-x54r5qr7g7w736px4-8080.app.github.dev/"], + "plugins": [] +} \ No newline at end of file diff --git a/sequence-create-item.puml b/sequence-create-item.puml index e69de29b..cb54285a 100644 --- a/sequence-create-item.puml +++ b/sequence-create-item.puml @@ -0,0 +1,13 @@ +@startuml sequence-create-item +actor User +participant "Create Item Page" as ItemPage +participant "routes.py" as Route +participant "models.py" as ItemModel + +User -> ItemPage : open form +User -> ItemPage : input item data +ItemPage -> Route : POST /create +Route -> ItemModel : save new item +ItemModel --> Route : success +Route --> ItemPage : show confirmation +@enduml diff --git a/sequence-login.puml b/sequence-login.puml index e69de29b..5448d3c5 100644 --- a/sequence-login.puml +++ b/sequence-login.puml @@ -0,0 +1,17 @@ +@startuml sequence-login +actor User +participant "Login Page" as LoginPage +participant "routes.py" as Route +participant "models.py" as UserModel + +User -> LoginPage : open form +User -> LoginPage : input username & password +LoginPage -> Route : POST /login +Route -> UserModel : validate_user() +UserModel --> Route : user exists or not +alt valid + Route --> LoginPage : redirect to dashboard +else invalid + Route --> LoginPage : show error +end +@enduml diff --git a/templates/create.html b/templates/create.html new file mode 100644 index 00000000..298be61a --- /dev/null +++ b/templates/create.html @@ -0,0 +1,13 @@ + + +Buat Item + +

Form Buat Item

+
+ Nama:

+ Jumlah:

+ +
+ Kembali + + diff --git a/templates/dashboard.html b/templates/dashboard.html new file mode 100644 index 00000000..acf528da --- /dev/null +++ b/templates/dashboard.html @@ -0,0 +1,9 @@ + + +Dashboard + +

Selamat datang, {{ session['user'] }}

+ Tambah Item
+ Logout + + diff --git a/templates/login.html b/templates/login.html new file mode 100644 index 00000000..5688ce83 --- /dev/null +++ b/templates/login.html @@ -0,0 +1,12 @@ + + +Login + +

Login

+
+ Username:

+ Password:

+ +
+ + diff --git a/templates/logout.html b/templates/logout.html new file mode 100644 index 00000000..73d70704 --- /dev/null +++ b/templates/logout.html @@ -0,0 +1,8 @@ + + +Logout + +

Anda telah logout

+ Login kembali + + diff --git a/templates/success.html b/templates/success.html new file mode 100644 index 00000000..d66fef20 --- /dev/null +++ b/templates/success.html @@ -0,0 +1,8 @@ + + +Berhasil + +

Item berhasil disimpan!

+ Kembali ke Dashboard + + From db48c984108d8d847e063f914ce68efd7b946ae9 Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Sat, 28 Jun 2025 12:31:09 +0000 Subject: [PATCH 3/7] Menambahkan struktur folder evaluasi dan dokumentasi usability study --- .../uml/class-diagram.puml | 0 .../uml/sequence-create-item.puml | 0 .../uml/sequence-login.puml | 0 evaluasi/blackbox/hasil-blackbox.md | 18 ++++++++++++++++++ 4 files changed, 18 insertions(+) rename class-diagram.puml => docs/uml/class-diagram.puml (100%) rename sequence-create-item.puml => docs/uml/sequence-create-item.puml (100%) rename sequence-login.puml => docs/uml/sequence-login.puml (100%) create mode 100644 evaluasi/blackbox/hasil-blackbox.md diff --git a/class-diagram.puml b/docs/uml/class-diagram.puml similarity index 100% rename from class-diagram.puml rename to docs/uml/class-diagram.puml diff --git a/sequence-create-item.puml b/docs/uml/sequence-create-item.puml similarity index 100% rename from sequence-create-item.puml rename to docs/uml/sequence-create-item.puml diff --git a/sequence-login.puml b/docs/uml/sequence-login.puml similarity index 100% rename from sequence-login.puml rename to docs/uml/sequence-login.puml diff --git a/evaluasi/blackbox/hasil-blackbox.md b/evaluasi/blackbox/hasil-blackbox.md new file mode 100644 index 00000000..eef52b93 --- /dev/null +++ b/evaluasi/blackbox/hasil-blackbox.md @@ -0,0 +1,18 @@ +# Hasil Black-Box Testing – UAS RPL + +### ✅ Test 1 – Login +- Input: admin / admin +- Expected: Masuk dashboard +- Result: ✅ Pass + +### ✅ Test 2 – Tambah Item +- Input: "Item Baru" +- Expected: Redirect ke halaman sukses +- Result: ✅ Pass + +### ✅ Test 3 – Logout +- Action: Klik tombol logout +- Expected: Redirect ke login +- Result: ✅ Pass + +### File Selenium IDE: `uas-blackbox.side` From 43bdd1003d0a918c8f2e4ff7ff0ab392d9938528 Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Sat, 28 Jun 2025 13:07:24 +0000 Subject: [PATCH 4/7] Menambahkan laporan usability study (SUS) --- evaluasi/sus/laporan-sus.md | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 evaluasi/sus/laporan-sus.md diff --git a/evaluasi/sus/laporan-sus.md b/evaluasi/sus/laporan-sus.md new file mode 100644 index 00000000..5c5d287c --- /dev/null +++ b/evaluasi/sus/laporan-sus.md @@ -0,0 +1,39 @@ +# 📊 Laporan Usability (SUS) – SIMPLE1 App + +## 🔗 URL Aplikasi +https://farewell23-8080.app.github.dev + +## 🧾 Jumlah Responden +5 responden + +## 📈 Rata-rata Skor SUS +**75.0** + +## 🎯 Interpretasi Skor SUS +**Good** (masuk dalam kategori 70–84) + +--- + +## 📋 Penjelasan Skor + +- Pertanyaan ganjil dihitung dengan rumus: Skor = Jawaban - 1 +- Pertanyaan genap dihitung dengan rumus: Skor = 5 - Jawaban +- Total skor dikali 2.5 → menghasilkan skor SUS dari 0–100 + +--- + +## 📎 Rangkuman Pendapat Responden +- Mayoritas pengguna merasa aplikasi **mudah digunakan** +- Navigasi dianggap cukup jelas +- Ada saran tampilan dapat dibuat **lebih modern** + +--- + +## 📊 Rekomendasi Perbaikan +- Tambahkan indikator validasi input +- Perjelas feedback setelah submit data +- Gunakan warna atau icon untuk memperjelas aksi tombol + +--- + +*Laporan ini disusun sebagai bagian dari UAS Rekayasa Perangkat Lunak 2025.* From 5dfba6fcbff794d35e9dab761d0b0b0cf50b80ac Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Sat, 28 Jun 2025 13:14:42 +0000 Subject: [PATCH 5/7] Menambahkan laporan SUS berdasarkan hasil responden --- evaluasi/sus/laporan-sus.md | 45 +++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/evaluasi/sus/laporan-sus.md b/evaluasi/sus/laporan-sus.md index 5c5d287c..d0d19afb 100644 --- a/evaluasi/sus/laporan-sus.md +++ b/evaluasi/sus/laporan-sus.md @@ -1,39 +1,34 @@ -# 📊 Laporan Usability (SUS) – SIMPLE1 App +# Laporan Usability (SUS) – SIMPLE1 App ## 🔗 URL Aplikasi https://farewell23-8080.app.github.dev ## 🧾 Jumlah Responden -5 responden +3 orang -## 📈 Rata-rata Skor SUS -**75.0** +## 📈 Skor Per Responden +- R1: 30.0 +- R2: 50.0 +- R3: 30.0 -## 🎯 Interpretasi Skor SUS -**Good** (masuk dalam kategori 70–84) +## 📊 Rata-rata Skor SUS +**36.67** ---- - -## 📋 Penjelasan Skor - -- Pertanyaan ganjil dihitung dengan rumus: Skor = Jawaban - 1 -- Pertanyaan genap dihitung dengan rumus: Skor = 5 - Jawaban -- Total skor dikali 2.5 → menghasilkan skor SUS dari 0–100 - ---- - -## 📎 Rangkuman Pendapat Responden -- Mayoritas pengguna merasa aplikasi **mudah digunakan** -- Navigasi dianggap cukup jelas -- Ada saran tampilan dapat dibuat **lebih modern** +## 🎯 Interpretasi +**Poor** (pengguna merasa cukup sulit atau tidak nyaman menggunakan aplikasi) --- -## 📊 Rekomendasi Perbaikan -- Tambahkan indikator validasi input -- Perjelas feedback setelah submit data -- Gunakan warna atau icon untuk memperjelas aksi tombol +## 📝 Catatan Tambahan +- Beberapa responden kemungkinan merasa: + - Navigasi membingungkan + - Antarmuka kurang intuitif + - Validasi atau feedback tidak jelas +- Aplikasi masih perlu **peningkatan signifikan** dalam kemudahan penggunaan --- -*Laporan ini disusun sebagai bagian dari UAS Rekayasa Perangkat Lunak 2025.* +## 📌 Rekomendasi +- Tambahkan feedback visual saat login / tambah data +- Perbaiki struktur navigasi +- Gunakan ikon, label, dan warna yang konsisten From b3fcd91eae025f6afcea35315f017432002e7700 Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Sat, 28 Jun 2025 13:18:27 +0000 Subject: [PATCH 6/7] Menambahkan analisis etika & lisensi MIT --- evaluasi/lisensi.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 evaluasi/lisensi.md diff --git a/evaluasi/lisensi.md b/evaluasi/lisensi.md new file mode 100644 index 00000000..0f7c7600 --- /dev/null +++ b/evaluasi/lisensi.md @@ -0,0 +1,24 @@ +# Evaluasi Etika & Lisensi – UAS RPL + +## 🔍 Lisensi Proyek Asal +Proyek SIMPLE1 menggunakan lisensi **MIT License**, yang bersifat permisif. + +## ✅ Aksi Perubahan +- Dilakukan perubahan ringan pada kode +- Ditambahkan file dokumentasi & pengujian (.puml, .side, .md) +- Tidak menghapus atau mengganti lisensi asli + +## ✅ Kompatibilitas Lisensi +Semua perubahan yang dilakukan **kompatibel dengan MIT License**, karena: +- Lisensi tidak melarang modifikasi +- Hanya mengharuskan mencantumkan lisensi MIT yang asli +- Proyek tidak digunakan untuk tujuan komersial atau distribusi ulang besar-besaran + +## ✅ Etika +- Perubahan disimpan dalam fork yang jelas +- Penulis asli tetap dicantumkan +- Tidak ada pelanggaran hak cipta + +--- + +📌 Dengan demikian, proyek hasil modifikasi tetap sah dan sesuai dengan etika penggunaan perangkat lunak open-source. From f66f12f3bb1112bb7b123cef6b0caf2bb085fc8e Mon Sep 17 00:00:00 2001 From: Farewell23 Date: Sat, 28 Jun 2025 14:50:41 +0000 Subject: [PATCH 7/7] Menambahkan laporan SUS dan grafik sus_score_chart.png --- evaluasi/sus/sus_score_chart.png | Bin 0 -> 71992 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 evaluasi/sus/sus_score_chart.png diff --git a/evaluasi/sus/sus_score_chart.png b/evaluasi/sus/sus_score_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..4399b3d322638fc447658683bdeb0b4c971e9965 GIT binary patch literal 71992 zcmeFZc{rBq+ctbtsYvD$6-hEvk)lu}DO1J>Nh-4pkxUIjC1k3k$vlP(nWHkMB2zLC zl`&+B@a|`8t>?F%?RmcM@Ar?_wym_n?Y_?IJdb0aj>}&|?Jzwp2Q7s{p+BOmc$`9^ zk*83WeP2a`f4Oma=QVuV>vTxpNz3l6lZ&Z?IYrgf$==$|$=c#H_eFCDM+-aKU81{1 zcL{T!cXG0Klok`S`LAyfwR1Qp_F<}c3NNzSUipM0g|fMf{6}T`(OH&4MWGx~JfQ9R zaJb#&q*n8i+?d`y)95vt!cU&@-{kLFccIb0Cn4F=>Puk3YiR>R8SCWi)aZ-njT$Z6 z4U&73n(}j>trFa$p&dTFY1NfZuHP?B4l*lKvr|9+*4y11eECP-w?{|cRn>ZQI(9t6 z2M;6De?A&{X!30-|M`C=O&v4Jb-(|7SZ<<`|Ih#VB{Z4-zb|7w{;yh=9re!3$USm; z`{9GS?XS71q5g1_m-buMZj$B|_WIQy!M^j1a(0&LecXJ-!-soIudP&8S3i9AEFb07 zyLW4vnwrkHq;Gi`71jOy`)qxycKex~8?aHvzSnI%bLI@UkPsaW4UPD&UDpBv=s6@U zuj?6KS}`@)_{mu-_})Fg%QK@}_U_$q|Ni|Tm00p!K0YfrB+gULojbQjM&|V^?+@IX zBMu95&c`BmtLjgWkC)~<4^_9Hs|?!Wck32QIK$?Beo6rxiNbQ`)vVXAUtd*Y)s&+7 z{dMBK-9J|9M5Uw%w-vZBT)1$d^4&W{TU*gLr+2)2_pYm}i`(7q{(}dD`H6~(iq6!_ zxbev?W|)4qx}$;ra>(+8Sw7Yxcb6X>Z%w=wd_uOX^9TtgmrYC!H6KpaP3;;Qx|L>B zP}bgF)HcyLzVu|cw))j8dEt{UHAWVm8x`E}n4j)$%X17;=4A`F`}l-v-~RpG-@f_c zXL`c)jO*e)bKD9HtXN!_zwrIzmNyj@diou0Z5ual-aIxvtrQ_@)HO0fzjdqe-DaH^ zXKTxT{ruM7M89zlW2gJifI9|?F~uz{`fD~xYug%`FVoWTh+0O8J{+i|tsUBypWErl zx$Eq^1nr{O{=UAh%HXXnC0=qoTeoUzYirwHQczHkuxeUk)0%Yvzvkmpg_ZgS2D&FM zt7uKjCi1MiWol}A#cgWv>7}1v&$s7G&P|WdUA{aY;b1K!B-HZx^HZHfpq@0V#Yr{fAuOE#N6-bf8i)3bICXJls z*EDkY_I{I3*GkI9y$;Ji#i=IWWxDk3!{dscx3{qG5~gK$-d{8GqqAaRekQ}NQ+Cgu zJzd}HqQh*Dnjhh1R_0~q-M+oI`?c>Lw@H4_-{XfThd;A8etnnN#1yx!LhaZwY?tMW zi}QBEM)|B;58rvykf^oy^bJ41tn%?0d`(eO!@*%EpXvi`+p*{~9Q+CjuN{W&R-Msl zFSH!*t719!aF3?>m;x_zX;~Td?%liDIWMKuYj9b7juM#os)AJfANXXyLYdW z11~JRCSLuq?p&yyvwn{C2DL}~1ajXuG_YQ|a^-t_fz-Zz`%YO|30c=vRh432+v7%_ z%y(L?_uSY=ThK$mCiX#cVb@uEd+{6eoYNB=3fgr2-@f(Ej`s@Ya!EU_ijsD&&tJr) zoqBtdjdtkr@bW@0&HIOYxAslAeKz)5aDMsn zC4b6?+S)^>PxIJz76*)t+2`4yGToDL5%pYJn4yhtYWRvn@YxS%H%v%xY;r&=&qh;I z6N|oXw{2Tx-33L(m>qvwUc&n%{(-!-;kG;$?6L^M_3Z3^fpUxb16naW!K-p|a=y3a z?UHsGy}h*X!wZ${HOlHZwtrE|S-t89l2&6qZ|U-!L-=zzw_3c8&K|wB*`xt=+s&-)5xH@!Q(z(RQKSH1nEp{d^|@j@{M?PF#+Tj;@z3 zmEzLPD()Q8)m?XoOYV+Q!9^WInZ&a~G9rOk@ivyOr%#`{P7i-RT4NqfS6W({Z+kEm zE2?K!(rFy`;@k(G{ripdcS}fwayskWANcCv;E?YA%OTGh`*yb5mkY%(*@?@{%#0M4 z+6R)agSIGWXlQujNSZdM8M)4mJuSCMxV?G5oA$kAR10bok14jz`&_wGYTmyu&or+| zKU@32Qs$zjCKGmozg@|~x(ypPl+7h1@c*9vVs}r2nAs_t@JIxiKgtNYwIb?5BU+p)3Rly0+M!9sQ8$DiLh zdz@bH;^bj$=I;LfZMk=-sGn5}%x~b3c1k$8_Ez;VDVO1v9lYDNt*$|<)6Y2VgA=$@ zNl9sJW~SnK$>L4b$lVr=cLp0W&5x!S=Bk-ym7|ZaDfwz|3s$~f>@nYiqODaqKR(mx zRkP6U@8{Q0N?C;~)uea$(Xrnr?@hdFWSp}HA0J;uJ4qPcoQn1 zm6i6Pt?i^OZBo*44UH#3kI(#`9Z%26Y06hqrQWVB!yg%bZmg@6eV=Q3TRv)4!}mgp zqU4F=$C*VU7t#HS+Y7eg9a_WQ5$CRv#)x9v+@&95L3L>2~dUVaZvmp%uFS zoSvQ@4$MG;WYRW1KD5xIwo!qBfp-iP=8}f9_N`mD?)&E#+W|SY_r0V_5 zk|}Q>?c~XmUH$#BjOT^#+p1}qm*iUhbU83H+RmnQTKn6op!ypOTxsc}x{Vk|j zm&I3-1=BG&c5Ka~eV4Aje7Wb$xpUF!>5O>$33|^rqX8!mSCtnQ?%U@!xe8~tva(WM zO>OP%fB-bIwWxA{8_`EX_&8J}wLgWbQX8+o>k$_dQz_Ei;3zuZL3yiQF?ihFeIKqe zC_MZ|R+hw5)c{T@rJrAGHA_4_QintZ1rMG%!%KcUzS#HmYgtp%IshGoFF7_sIxd%D zjti8%eocyhOnf|fXV?Q3-c-xD*WD6oliR&}U2t%)@{uD4+}xz!)&6J$imO>Y4Z?CJG!=RV5{0X>ne?MfWprZ4xUR+ZLQEl$pbpmV#^O>ASnSywNJ7 zPrNv*@!y0m*&(&IdkQd{v?5!WmZp2(riCG&MvSKKt(8Q_ThQ z5(cLQBaJAutg&jL=au~eM^sfk1S&4t+sor@GOb^~Jq4i0OW@CbQSkb)7E~hmJr=6x z-ThsAE>8>Fw!M5hS#EEEGR?l@^m4$u*hbZ>z6@NavB-No<|G^(9cx6aEG=&~r5bMK z=B6mzSR*j=Rr@pVL&+@`DayQe4b_ewRlvT)dvI!aHmEoKuttqaS1Z(JJEhQd{Gh4l z?!KxJ*SSfHJoEPU_PQ76)R(VVk+{k4n2Ji-kCLT30DOYW<5m0=d9tiO zGnYy0~8_=mq_m>rg|Y*4l+I&tDe zORjqn&R)f8Oxgm!YC1!>o}uPFvFa(?qBzj|YyW0~Mo9h=lt6oh!C%*-|!v z(%%K3c=amva7Pg*wvNKVgIDW4A|))YN_Ds{!xh(kzxRM+=NZ2?)!J(-8Is(+goaRK z${6H+b4&3&QGYBuJ2&*4?UA)Q-kCqkcKh+3Lv8ua$!$L#-u+ODmiO_wiCpT{ALrgb zEJgXWUznSsjo#qf1szv282$#CdVPKr4(- z^~weY9L63~I_}e-&+YO2?dns?@MPAas4-d3tgkZIL8`wY!}K-HZ7#XZhXXgKiqBH9 z1~LO0mZEPajAvM0%~WqZ8hhL)uiPp!^V`Pt>wO9EKxq+(3?IVn6w9XfTKu*B#@bD! z;Oemdrrf;d%emY76|h-jk{7Bs`)+G?^ttGr zbrf9=qmiq2oEHX};HeHoZ;N6(l9gs##5cv?-Ny zurYbNupZwL#}gJ77Wa0V)9R+^KgBPi1airh>zR1?pl260L_TbMnvk$cZt3@~aN!d? zGcJ$CO{t6LM`e7vDuD8Lod3uzY*M@t&^&2OCce*c?CpA!u94hM(U~6x;fg$^;1oN~ zz2A7U$W15JT?{ac91Gc{-;Stu$sQ^Bal_vkOiWC0ZdcbVqgfL~r)#mR{p9B#*R;u>mX?-R=qdx# zp`onD9?KeyaMDNawkgB@?6W-?CN3dyJv&T-!|81F?!zOJu7K2W>G z+4f!P$vozoa1pJ!U%PkiJiga$2%yOITa*hBU=(fO(|5pJ;x3~neK_;cIcTL4jtU71 zmSN$?`y))M`y2T2URH5(a^@9sY-46-76&6F3zfXvYG|zcwL{G{8v47JOK#u3{jtQ$ zD{p5jpM|K1m>2`jyDZ?INNz_%gSNSs$JC(CyN7$V?5=TNx^!u_FGM}vyk?zg)YGS1 zWaqwbefL1}=)kv_Gqi`zQHf2>%%Ufj`q~Rzc39N&0sZu{HYqIn(aNt2?}woxVCm${MRY_T0U6^<{cPlbMaj4*p(yuLbBP%jz9JwS6#Jo! zi`te0iN*GgjtZcigu$B{0VePryXXB>!S^(P!uiIeu(gKzQ?0pnfuM<1wE~;j*nBjj zl}sBFG}$H2Gd_^8c=meT;$xg5Gqmfn%wv47fB*Vf7k!waaJtnBFLAA&b2KdbOcnEQ z&_ahHEaDFLS$o2-u!Wf7oWPP?C;C>SS6&!w5IC9V5L-4kGxEhZ)i77EVF|U(?BkOI zc#GGRc@N@Bae+5RzU0=dU^uR&wFA3jxFsXH?Su1)y?gi0_S_N!5~WZG$^fFH;^N}! zcE1}Ea$%zHh!5u!DHp)){JHNzR|tb92ybvuux+2`;_tm`k7WaJP_@{z!?C{VvcHzg zTpad}j*f1%Y0~{{af$Ml^ToEIi=%AJF)y@IMqG)p2oSBd;%ywzc^R3!X4T~y6gDqNl?+Uh18Uk zkFiJBI}Owys@$X{Jr?}n!ObtZcD-Gt*Y-Gmy`3(*V+WIo`}hjLRwLVmiaVQL6Ij^v zYi{l|?#B7f;-a?i)c23w0PQ8J%}e)RJKsmi#5YyeIm4@)I@6Ck*s;ZKRZBK9gYx3eYCUZ|}nlBO)Svf$mRz zc(fl-*f%0#J$leJz=3G+9?9JoUP^7YS?^;_+yh_SGRizqa zm(|A}4eMA1$gPO8@iFDZE_8=2J9cPpaXsGp^V z&gC{eoH#XZ5(i#f?a@hjyW~qG5749V0y`AVF=!EHue_=H@5m+rN>fu)Gcq!IJfo-2^={a{FOYNN;ZRdm(=6CycsG--=q6cI(#v3(`^+GGk>~9`Uq+Mf0gYO4&JZ{&OU)R@||=^X~_6 zBdi+AAH;wV-4i#xTE_Bg+ugf&?NN~)N;}iakGr>EZ~6uXGPprrfK>XuT{ZkdZ}}Dp z32k$=0AR#7<>ja$6h+*@yLv(~Vj(oUw?b1OD z{fzN9zg2zA5oI;CasbZj&hctdWhiK5n`XD_o(AYqxyF_Bd-9XIgVz$?rz!r0ZSxw-tJAMC11+`V@-tmk$Fy~hhCZ7H%cr~e9 zQnnkRBx{URctL?^W4$OpKBI+}l)OL)W5Hj9v4}M-Ep64RRgB>wAt5zUaY>V`>t5AF z+2!*QP3PCMwLWxbD-9NjjE+!$j-BDvy6Y_xLF`w|=pEUj0M1>g6j} z)~LFeoj*@%gx(42Rw&m#g{)Aqv}L?^n3b>b8HiR1nY+I8!rEEhDizk$?rYhB<3MP|6E0{d5ZN z92)-oqNTv)d07eicn_-Ln@GE2|J5vfm8uo1Dd>mg=t#*$9%SPJud_KEM=eMxUx}@f z@U?pt5f|JnNUg_;tg7km?iPHUFDm0QU37V-YjDsYbtKsWJO7q(k(((_^`48v_YU4Y zuhY}pn*m7rd#c$4qL_t``b0A;D#^XQj(ju>n{VS+bm5mB9KCmwuw$&lUWjP7u(^v{ z?Sf{1{p!YF%h5A4&VAU-%gdXPZF2GA?u)}MR}_5LnnHMTIB>wc`i|cK_ITJ=1#p!E z5XIB20f{xm%V3TiIB-C}#Iq=U6#R%I+q5O!lp{c2P$sGwc(jq0HN2_7#ZK5DOZnvq z4rb~-xgIJj?>Ei6{Y^7)#>5IdwP*h>Z z&<#O>ov&9iu&{*4P1?^%ic{CCD+Kx&S8HoRkb;h%9i+u0B9huxC;~a8Ea3_;JxqsP z&kwNi%ha~Ly0WZhlVoF@DyPrVw+Cuc-}?HlL)z#;cWB9X7J^b5-{c7ancN#R%W;Tu zX4RnrV$OYEQ6?n??M|P*3KC^D*pMi`GpWrchG3nlknOZX&>zA3eTDSWDvP#n12(*B z@hMJckQ_j%9Tcd|F%=Mc#sKQ9ik3dbt4l62rKkXLZkF=|OkV>=%`GQq(rxj3e&$Dw zNQBF$m*~*5fKfjEs9Uc(Iu>Kqf5lpnlDhq|`&DpYMxyb9C)oFv)9>?`%PRBW!fW9) zngWH4jg7gkPEF;2sG^^Bo(WQiJtP2d1U4zV4%RqfLG|Ak;s3VJa8`GI{g_O4UQ283K)$2g$qoNiajU4GeJ@f{YsmV^5%_V zc6`5pVVo01@e^-ttn)zq3P383kxx)4tUC%%=%@K_m8Yep9fK|@bi3=){79})*sj>D zva*A3-n{9;-GRQNbn#+N{RfxN7D4#M+BEXu7y&5mbWc+qa6_&AOA*|E*3K@l+4!>R(86<*65~Wl zC0RjmYl0@hlsSGpzJEW_;S1!I^ot_~rgPT_-;CT%k20auS?p1l=XmaALBWtw8l4TQ z7J(6{_A4}g=ia(~8*asNh(=e2nxEI~uQGwYNXO+d$&_Q)ndb5-1;!SSxVXl>I9^Ff zHq^S8muE!DcLxPA#!B(9Ff)(U9p*B{sR^sT|3oxcdAXdNT(^=ZsM=;(cd+7BZH1Ru zU^;|FmM1AfoF+8g)z$S0kS6UH?5Y%T>Nuceo!04<44W%Oa)C*DrLo7UGxUX}bgCft zH0GZ;i&{|U7Y-)vBXHv2!GnzJ*2Q^VTPnHht|&jQ`aLu>)N-|VXjFK``}b?n`4jC+ zP{Lpe9c2F%YXKA&y0BF5^f;5s+K9LzzFeMukkwZYLFF4Ch<}{4MldNEq#a_Q*y68m zTqg@Is+w|ab`G6c*zM4#yoEx|+F8g2Ee)pW4fLRAs9SJrpX%B?Pp-a`IWak@i0c<> zvjh6qe{nWo?3GfLlVj_h9Lv@$fd{*7ZsvBl(fRoJKq(VI1-74`wjsZwKU5DDiNIu_ z*3`xe$y&G(XFog&0N5Rm?OWupg{!qy>Gmsl7ZRHX4&%6A{i6@pw_y8`hFRVIs!r*W z7Lkce;SA1B)QD;7>+`3G9TA*^Fi=`uO-nXF!Nn1%VJpSN#Ih$2H_(vcr8OHtw;fL`vD|RwiBm zczC$y!olrTS5=Q4>lzqXt*)+qn|%j0>RW`ENjY#V+oNX@DzOBHpDY_=TiKqDvRDg#MANIvbXi8Q1$HvAgJ^qXh>l18V6CtK|d1-=ZyTDgE$Mr1C9aG>^ z%BMQ6yY&{fR&HB>k?LKEh`8F?$;^3J<4+P263UlHp{nrDEHz`rI=z`B|cn_$y8<31Ky#3RSDY_Z6ZmijrA^!v9v*#Ak}cATSz z*5<0J)oA57y7}p8J3rNiojrAmA|)mDGB3{*IG*ASu>khpAyYv)ihjXG5$a{jlD9D$ zHbLBBRq8wvdz_e`DEoU{$DXuFcEBRt;W6h#iehz%uZrK>(>PjX*sx$1f1AN3)t%Rn zYmoYz29A%96B>B>^l3pOy+f;$p-T7x?sw1sDA9XxPXcN))_Pr>f5wX!uknt>J%7(i zNAP}v1&&=KU*fqyj%GKM9fvPq{9<8LjONk2DsmZV0hwEOC7JQwK$f7xwU>SkJaI1f zu`6XPgI)_$5o*-j<{LOTo*BZ_sE?)dT$s`$muWi>Ud+hJnat?U&#A~CxjtSnl-~RN zuA;k{3)M}@H{+yo8dCK*Tle*wFxjB|GO@GsucrtcsZX)A+@_PYVL@klzlgA~BFbvh z(%~e7&r5W&va*me6k-PpL8^g!qc4s=ozR|K$T?L?O;#DIYGrlx@s>wHLEhJ|FEpIXsAEWCRzXB3Fnb^xu zR}6t&XZzo`1g2Zq!Liqkjcm`0=L89oB7CExV{=?wocN9%!377HH*UO*uc<`$I*+z( zAP4IHu5{Yg0d4V^e#$9FL`_HR1};t&)M#kw>R!RZrd6QjcK3P z;>iJ)(Q4Z}x)OGm4ponuL`kV`+PIN8hC~2zkP>}eR>mEy4BI1lq~!s8%~#kJfq<5R zytE}~0kQETiF7f?EwUSp>gcU(P#agu$4=}HYdE3vOJwo{KuDiMGNh`tXlWIoN69)p zKXJr~s7zbRfEw;J)I<-$eh|!61Et{Jy?gw9+9zJxKRw7idXtD>D1vW+%g0eYc=qi( zX=|BNkHAVgfFem8phBfh42)$x9WGG#tbO|dzl?)Y)Q>xvUNaEoP4ks)w9n@6b%wD+ zhtl~P(z{^pB7_oYI`2?P*RfO30ILEt;5P8A-MHt~43~QSj~~B#@)F$sL$}sZ$w$#&MdX7O zBJ5qm=Yo`H!ifo)+wV$hUR)YvFVZ0PXI-+M*hZO)$Mm;{sRRcFQS|hhE%)cd5o_Cr zQiO~B z`z6K26ErVfCyEM))`3x)iA1e<@ypZJ$USKHF0nun3#u{4hYyZe(n3srPNyBJH2Z!x z3ABa)*lpK+eS5)GAzQpfMQ0rh0RI83AWA=)>3QdONvAC=Rxew&EYCtvXukca1%(%) ziYTM5PF9qy8Vg8lIaaryx}dt4&dH+ZjXxCctdoyo5kz^4Rg*j`!49MJP?DSwFM50< z2YmX+Z4R(%l+<@wh42>%N}hF--M{g^1Nu8o$B;lOxEkLd z()a?oLoh{aY9=>3TjyT0oV2vTkl9gQX5t&!8Wp)sWu>VbRWrLbznL*qC~Y#!usZaZlwK4p#O|+O`Et{e=4Y#S z;*i1f?rVyTi8%!wUfL2%75sG%HOcBVOhbLnGj|TT9S($KtFwEh{5btR-BbgT^@f65JMX@$~9I!%qU2=T0=T)SW$h*527U?C9x*uF_?xfeVm~^R{25 z>M!+AimTc?bT@y*x;|$0o6{L5ZEt@3sIh$ca_tj_ZSC#-%8^`a<37j zs<+WXVWR<-mxtw*F1m9kGya|s-m9You@x)($G94l_WZpEII3^3iT8-3qT==P3gH5E zB!MK-dd=A-Em@(Uj@3$au97OV>nQX`iS30Vpee+zr=h_ek^B~&FM39WFJuc0hM(nn zuUcBz;qWNr+O`vwKd+4rv>FuslVGWbjwQtIHou%|cbAyBxN6n*Rs0O>5xUckO*m(% zEccLs;)Ic0Hc@lWHqE-zgr(#KDXYjibb;)avNAi_>OINni(}Z z1}_u#@YSLskG%Q#*x0Im?~Ls1M*cciWo19zPq!^j;}pXhEoci3M11e#B}&X+SBcuV z1;Fm>*RLGSI@1NqC{X*f!x`x4LgqWDy>SYxHl@^j_)u|^P3XG0O{#Tt|HgS zz*^!0?xJ&|c$mI#cGlI0^W|VAEUMtGhx?k)2v3;0We#dgKO7kuvFfXh!JQCD(PHBk zjI5l2bl{+#q!$hq5WDWWIiz;T5lKZQFzS#v>T3#%N{dgL8u)bB_7@1h^08wnO=gyZ z2yr2F6CQJur6f>Cy&kGS z8884_+uKv9jdX^K}*r#sy1A;uuLb8C8 z`uW61>!N)RjzPUOr`6)r=>vP$d-+*k^U*!X8>i5=!rZP(@7beoO3UHpwIo=3f{}|W z5FVPqu@&+D1Y7q_Vn>WkP3aiOg3gT&IAfhx(5=({9H4&m=usbmp51mGDbxEFN$~UK z6)DIwf)$bz+qgy8&bd)zGv0i;iZv~9^^E>CB3B$ecsoQF9x2W6qr#_h6 z#7#pMsjumht82q|Chl$d7e{WIc>X$+_8d@X!{SWI5&>+2GcR&-!Xw@IrKHwN*|up6 z-2=7_;-u1KviYfl;2eKnOv36;I}yX2>j=8E<-^<-I%cjDylmxKZh|$8E_H5#t>_TF z|4I)<$sDo6Cx{t23{`uEAAJ`orEVc^Xap((#Y9{G$B!S+oue9U$nLH|B&sFPF&@zw zs3x+1fjVsLdN`LwWqJKS+6#Q)FmsEEsYjayY?4_AxULQ{82fP`nt9hAM z=h%F?@#G2j@3Gem93R@f;Ci4HAMU;}iqccl{^8Xt3es0OZTX0czyf7SOiX0koQtRm zaekrk^*7DW&L$M*nIKNO49i^#2%KTrC>U_}d-y&{bjs6tQ;^r#rEDLzP9>0x3z3YF zIUsJp$(QyAq9gAUJDdo7i|RNrV8a*K{|<*abi$BxDMfS9UyG~&bWB0_`jRY!m5Hvy z4y*2Na~Oj3MV#oc`G>L|2Bxf*&hGD3;v$6r z8L7$pCIp8R=xB;3GC^NIJQkBG+M=;9O8>LPYOA~OwfOt=J|k|Dt-hoLhJE7QpZKOF z=RQ~QrspPNZCSX=(xt^2xnmC`R%8FMDnX}W?Sh=S$9+~D=#;yS7lG>F$co~92nK=w z)8pp?A?dyD?BoKsgA)*OH2*%#Pw4U8C|j%6t__dOc>@QnJ1)GqvbOduNMZ&+0~DHQ zRPXa&aztR9kvx>CN+LuIuz`(esO0yhnUthy=z-dO%yaxk8@Pd$^*ShX&3+wD4vw3q zuWt~w{8~wgoI$qbwqrZA^!5E%?>wvu)UZU4_gKl6EDIJ~|8fvur@@BR z9UUD|_PhfE0_ zDQj0(W4Dnwh}y$FSFqoNmLKDgvQ1%h6%^v!%PR%jS7P zsu(wI3P?{E$1UUlr@es`A@OIj7I9q6V6r$!IrR4Qh+iDmN930Ykqqx!x9Ajkm?kDB zh(u}KS!`r_Qv&fbcZ7Zi7np>qU;*LoKW$U?fnsqQ!5D(UK%RYY#g*;LAx#i92Kh;E zi1UAthSnf>Lt17|*rxlMMEd|Ut)D^}WJ1i;L8`P-wZ0A7E&<}W_XL`Ec+T74z#V2c z3VrnG4%FJyD8qjK{=smUJBz=gX2pJ4+L>+J&Vify7A3-G28oglIGS(Kp;9F5#UU=` z1#blUVVCpV7kBJFH6)6b)>fpKI|?8eUi{G^;!Z=7YNMlfWL!oQ8jI0l%%GSPFQ=~P zvJ1IyD3XdWi~8cmRE{1cUN51RK9T)+Ga-@1Y7tPm{g7Zf4Uw@dAL->&aJ5&_(jI(n zT!d`kw!RetxTyrOAiF?vo)Cw_PkMmQ&W;xRsNN*0bMcH4kYU%?uet+{17C8*!bOb) zCma9v87+QcXZ3(NmqRwD;QbS;8e8c+WRA8hXT-N&dM(M4d~;XVDIfV5fO1(R&jmMS z>u*9)xQ!CMs)lUFqRUc*A8pD}$;Q5__Fy<)_U6rUobuG3b%5ETe*?c4xw#c6d<4m_ z9zrc{N;z>&(yB>bc-?D6pHWt5w=zPA=|-CNA|>WJlpdrA`fZ2dla5wC!S-#0vb8yAt_%4wMhd`X<`-LC>#ai@@q zA!09r9vMyp$4Ny0bOt*bli++EcnuL8!)yygQMAmU(>QFsR{!Y}vDkjk_6E|Hj(dAk zX6NT?0(fqNs=|$2K`F~Js9w~CxVZz&qhYOgC@Fo|nSF~N?mc)wj2@(>`d2YAFa$<4 zRU}%K-`;>EXE5C{<=ErH?FD+3LT4;3XwC^%JQ+}!lVaTQKpvtTFL<35l$&) zq=nPN32NfYD<3_ob?H+YI_WG9QXOpLfIBBxpkyUFv+zPzM+&~bL(vV11R~^weG(Ed z!=MO!mL7rj?y?aoHHuhm{5hst_`ewR)g9o5I7EwxoyX@%AqQFENc^&8z0-^+Qdmui-@MKv_uJ zL;$PB)N4<$)IA`0NYq>hM&jk;3pX_8Wqyi1137UO7Mmx6Oa3vY1WXY&C4&u!Azt|T zRTUc4(NuQ^;vaSt?xk77?hQ&)z3oHO^($AXkodg<7GMS~0fRf*K6x~_k*Hj^Abndr zblHY%E)^9OiE)XZeCZ9{q8p{da$B7w(lfx4;`Uwgh?$lc*fkj#8k)fvhgez$;~PIt zPsA@Y7R!K_WUdSYNVm|)ArKh#_TEzDDg60f20fq*`Q~xxeZ_a z(&dO6ksK@JY9=%d?fcgbW6b9D>t!Uxi|AA%ZMt>@Fkv@I&1RTYkm`co82#kQlQs{G zP52?r!Ho+5fxyfVhj&lbzO`%DB2DEH)M&}lVRH~J=~g2 zhvupG%d4WcmY#+0m^^Z4sq6=cl?tR_3W?YiKA(3F=QyT_N}nCN^$~CJX$q#@P?3Ca z*UWJD1ecT`fuR4cM@xM+o^@2jAnO%u8-n5ygj)gIo9(Lx)Y=2kE5t1u_??DZG^2Zq zta19^;?f8dgAGtvwy24&^5qL>v{Jx9d3kSxrEk@q?@4whK{Hw`zunz14bZv6~cXWb2NoJVUiR40&5^B zENlh7j+g@M1Tq$P0BtJ!(YF&^Fj2NjOLGA0A68PLfjN2#{smqqujGJpyE}Pc<}I`$Xq&DG`gM(t z8Yh~q`zv@4xT&nF>Z8bW1+K(k^K%BkQVc!lwEJssK^wyq5uyXAyPME5$%G>`b22Rn zR1)i+cC)vO|~&S4N9Z1gC-r8?5+d84WDm26BXTMx|CTHQkbu zlG4@Fa~1bM_p_7S-xeKI+&hpkkOfu{3@d}10=RG<`Wt+mxLm35PxbXAI};NVvnrar zz$x5ZgzS+ceNjyvl&_09fqVDZ$#MV=6CWAzO2p}Kv`J~UJRiWL9z|BcdrRD^&2S2I;hCNp5b50WWHCJrhn_;{hJUDFm^ zK_Si^=tg7GD5Mrslu|(X1K?o*lXdB)3Q!PFK~yu?w%vWKiwfaOe+XjSqM~a-s);G` z{JEI%EftVzMQY@P>P>qcCK_3Ex|B$ZGR$Yq9-N|NNoON*DWb9Jlo{&nF4w9B{+RMgd< zPjvZe3%(`(BLLZ|A%h%ie*k#!a|T$-hYlX3#ykjdlnEt+o|}^10X3Lp`pO(&Tzmwt z1GL})F2h^~#TypfR=C)PIo4N#nU<{n^9zF)dyGa^9PI7Ab91F2l&`e2vm;!jWNEQL z*BOE8k&R{%6s)DHISeGSpOukZG9nBcy*tXNl2ARs}_dscEFM zgbU^B3ZxNOL8PB1u<2vgkKjy4EDdUNXuStAXa9Um(l6td^j73K0G%`aq_J8cGrBjM zafI3f<5o1c?6jZIYN0JA+jIT1f*6^4;71k2(S>db18BL%KIUksk!+*AAUK7dV_jG3 zcQSCvY8x1b)mMa7o$7wfkxVTzv$CGgK{WKUnPx7SFBb{c!;6!oBC==*p6COMwbvL}FDANapglsL;JvZr_=@2_a@g5!?cBo0#vimG8xD(yJ zt=PjbH4{P)M>ro7#%{wzA0E$7zT)9`dC6y&>LbUo21$EX#8d=xV06dSEi%yA4IP~^{?iK+kT zI?^F-CxFGk1`xiw*7Ik!pWR84M3?_?gD(gj<#0$B^ew)pEPfLIk0qDIq-Fbvl^ z6`U64ek9asR#CCv^zi}32d7K$$Em;n7PI*dC6Njp&!>6tPCmb3n$srv@sP9THOVX# z0VCYL2J=&=UQt&5=Y$M|;^@iC!x6jQ4B5zXBn0EsnQP5!2Ad4sIFj#nYyWe5@pkgRk;xl@vyh&V!4&>j&db;|irIfT1gkQK0fC%<4ir95 zuEv>?N88Vh zi9*Fxz;JcmRJg1yvQjl7M`L~<65l;Ck~(yjG5FCxOZ)Fd#yS%wHjMt)j_Y_7=N%-cVU|4n7Ue_`1;@=ZT zO)tT;N-!xY-W`7+MhfQ~!w7NzpVt9kt{I%h`SdxT+Cx7;jXY;S1sEI4DP)kRwpP`& zgs?wM@X-#%9v3JN{Sj5i435&eq}4hKI=zNlb3{2z}93K{`d9P*eN;iYlH2Xa|ka6S2H54KM;%3Kd*h04>@^GW&H-uMD zfg^(GV$pbHWsOapR#OoCCrOrO!Px`Md zG;SVp#;*XeKNenc%pPL(S0oW*5<`Vi*bB$dFCYN(?T66)yD;E`?|%xFveEVIe}0Fe z7{fB|FnfRm%j5!lQD<`y$XVXWG=_irNs=cfG(e^fBBwg>^CvP@2}69rk3vx7ypdA- z{&Ji47bIj3f*t@dL!ZGsU%u^KC3ebxHH0J@v~*zXgGe8wMIOw)jmQ%PuL6DtpaO;;kqCD3y)ASY1`cWc;PIbuevRY@cAx`x+B?SIi z4TLX)(479qS<;lLI_`L@(d15DE!6k`OYITd48lfNb2J=375O}wK7H3w(sMrRg3<-qh0 z+&rooo%rL=-~K!kWwoN)l|OmCzqVDqRr7Nb(qBStcS%a3mx?@)vb#f~)(9E{C|;@( z;q@SQ0Z*k^zx4Yj*^NQqFo;y5&SybJMx*+UifiEPbK}Noz-Q96;7OlCZUjVrtGGBL zl<@>7LuBFnAe<)ZOoPpyhuj+*n8<*=`Ak{>e30@ui-%|GzrEokW3n5Sl@S@B#xQyy zWDQdsk4Cp;u1F|@I$VJ{i};CN|J1kseyW6DTMt~lc5NJ^)Kni!B1fUR-rIFza1I|nFOj9>HYp)f1vj}-5(3_uTGoLL`LLE zEThR8;}jS&CWFFA%-uq!qz9t)_b<86?-(4B{0!cG0r>#R+tNT(EhM=Pwv2xJ=1XQa z5W82vLxEs72O{MC)N^6ZVG2Z^u5=Zk7%Vof^z3Z5ocZ~AGZg+kE~6VsU=^{(jY!;v zSr&lilr1ggzmspK=l-Xf@g&)zM7bj5?9-1Sqrr4Z?T~gLN!R_hZF};%4zI>5ui3D3 zx%`E+Akb`|o#=Rnk*lDP;js`pPl`8c7ctImE6xETB@eQGU+VocOYqlkNMccu+wd4? zl!Uk6f`8c$)NjLx?Ml#21w0&psFN6nz_cbC#3Rj@_v!ihp220*bbVF=%L;bbx^T!6 z7yg!KKw%XieE?p9Tz>=`0ShIQ%}}_X_kC74UjzT1JfZ>-T6$32Ll_moOi>pAc5@C{ zXo#G!FxFvbkkj+G0)QRuI+EQ?9)@7Q(fr5&g11Q;woteoydD$Z2|+lBK?j|jB%orW zanc?>d>G?KB=2+{ojrDGEnBckY}pX@NV2e=o8f?m3Zg(X@)yQZ$wbo7c|4tn7%hku zlX*YTeq9dxEhGOfJkD2fF2-6bm4BtyVKddN*r7rc8Ymhrqiv;VnHkW8;hv<`+st)c zV?fh;mM)9)fPr@6!(smt)1$PuHnqM&i1@|UtyxF4y z<4y{G6dPjbSnZy%!GQx*|4?q=EbS>G3!OqWu+o694o#Zk^X&&T$l54^jN3%7H{+S|ZI4DG0}q_--g45TjSaKOnO^AgC9{x(;9g%sL7$wPagGoa`XZ z`zZ`j5o_iG5-^C8ksxMJa>;Oj{rzJ!ILMgjTn0-OLyIdZ;1%6CRAi2U3Al2v<5v>O z5|@+|nK_#;4QbK`y8+LZ+C)M)&~9!ZMhErBB+UrU!S{|L8E9}YwP-L~ye08BQiY7@ zuyTvD%buP=h*Jr_M-% z5MEN)hd2<>h(V*3we=cAHe$a(x*?$EqLHMj3fKK(d=X|O1*lS^8YRt!To2%k!_fZy z`-uRIF)3QW;N6%D&ai40B}44|D1NJOK)U%}=nJQbZ<#{&V>N_+pDDSkp#`j$fH%0Fi~kS zjZlI1<#Tc!NyoXkRKT3N?g6Z%O%p|Vf@4CSwo=bIiCRjY2eAVqk^5Z7DELBZ6U8qh zV+VxC>tvJ#`ey~|u=s@@Me=AJcpNC#ui%me1qV|>lNw!Y4A9!;%S;z9IXsNAM|E;KkymiV+S_1nds8HO#hT zgWQ^xBn1H+bGF*~HVC-_-)k47Va)J&@@{P(49UZJWJLVq0JJ;ro-W^{f#m9%Uli7F zOsk>HW1+}YO&-N>cjyW^m7#`27J}iCPVU8ygm9)GduJsDz>7@IXw$r;@Yh~A{s5OP zJKMFaaB*&koHFQLWNtF`i?(LaE4ZJ;dPZTsfN(5iI-QpCYRu`D;hd8}JQDgk8ZI3C z1#>-j(0j-%I*6raOUdN7wBhf;nJRY8(?127{ZT|$5Th4^D^QdU|2^q}t0$od+5_tUzC|YnF zo}};pYchh&iNXzG%>n9J{alD6L(A>*z=FgMAdc8*=hhsXTbMyKLx`C~De$rxP##E@ zj5hkA<<>s{Q7}(~o9Fn-f5GoH&m!W1ir8f?TKiBDWN;de(MtrKfs1s)VIeCjDcv}^ znbC%bd6?WNL#Ygg-IaL~wwV3NCwmUeV)|A)+{MvR%PoyfwMK^rU>)gzHy9p+G_tKP zi~qSzSn$6d(1L(c-ltrhx8vFZNJqy%_Pj|T<{zPu@FPfg5X}^^4avwQnL5KzArb3| zew!x^$=Ij)cw$ytZ&-)1o17{?oo6Tt1eyK=1i1!80T@7ye2U=V1C4zD5~wv($6KwQ zlSIlgjfXS6=y{l1=Do9V?^Sp_WXz3Na^gwPQm{?U5asFb7#36gvVHn!icx`XzhBtR zJ5w-rZ{x`?=D!fl5Zp9C#-h42PMet#eHD{h=Nosc;`}o}61B~vdXluy_!4=1*K#>9 z`Ku_Nl{R+p@Q55BRy<3MN>hqsg^1Bg^brMqGuW+#?`vyCW?W-)BRZZZ5pNx`@(K!` zfcWpu-DrmkHTYp@yxA85uCCzfd_lXSsc@wuA5F;kbya{p3CLCi?ste?uCOC1fA2*b`tL=wFOVT4bIE&myF!oL`t(;f;kv@*V|=L|iatcMX#X zpn~>=V8SHeXTTMY6!taR8u#(H>k%`#qRd-{8CsI(m9VH^j$L>S#~;=&EghZD?_FWP zWI(FkVO9<43UL^ysI3?{r=U*5>7iSyfLP)QfZK`B}fZE}6_FUvGZUH&%D;^+4^$@+#hCDvn zHEZ6G8Al-PZgBFK7e^i(TqI>ZYIc@*9?(~Zav`Wc;aQ^DgOI*1APSGZ*I z)DsFBS1OyvBhx7IaMAGOKuQ-dPygn_?VPpSDt;n8xdG3^iT8E8k9;z3;b`;o$JGux z3oaCIV0WFNUY)SJOIrtzUDLhGU3BI#Gi*o%*d!@k@NN6Qk_R+WY3zHDEXYz7p)>cx z+Ro0zrXumkALdhqkrHUH`L;An1Al1de-Tcxz~p2h@&rlBDh7rMbfW&8h_*3Nv2zN@ zk|0=PIC?>a`Gj8R@BBVjL>e|^%;SlPKIzaDx^Xov; zwOhAtjgg?M#eDz*g3kJzwA?~VAuBdYci{Odq2a$E8$qwo937{e!UImne*V1n__2wP zxsE_pKS?oQ=9S-r;U^L?m{l?T+}UaJ^j*5?YZ3u^@^S&wln!6acWxlA(v~g>poZ9y z69pGj?bWI~0znnX(`oiSMlh0u8&_qKr;7m+2-Y<7{goX2Yg;+r0E;9IoA_$Hyvqr> zKryFKfSJpHH8sHVq35nXQib_B_)u4fdWB#t;&i$k+yYQR18`a(hm)r-;)yUp_FLN! z(7~wna>|;```C$kitWn!Jh%Ey={7 zvOPnE1P6VKK0!SHlbDq*!@fuJ>BR&z>A8588AQ7qNMw}3#fLHrQc4iMc&s*xhxnOF zMjtmQzhq{EBsd9BAvqHSL6J|`1SJ%3&Nt|Ftk=?_!AcuZ<3c|qQli1E;GMI;b*6<# zgwjUP9>h3SB_>R?3hSpodEd9}kLne3SF9$Vd4%s-^?#ExCnt&)roWVZ_aXD@VDu{} zL{lM<2n{0m{{Nxux&wOL-}aMiLS{olAwtP0MFSBTi3VC)k`(Qvf}8?HE+ipD6@K_uoLVv9ZH8N-t1)z{Y(>Or`;Ukmh7D9L<#+jIonXd_YXEDgXRg)4#X z=wWn{4Mzo+-V7Z%8NG2EmYBX)5pq2U&VWXVS0rSKj)7l2h&pz`2B5yDDKlNR5aj{Y z5yM@(uG@8jb9xfuuJqiXrLe+gIaG?PUL~{+StGsipZEPNZQE{+%s(pX_Oe36@ z32LAZs2?1t1p-Kw#F^;yHv!3gI0YU=BLKY>_WB{jl%W2ljP0qpeuO3!&jB!Jka`R7 z9#N#5rk8yX0*@7tv%3f9Z~{;R71_}Ri35-gy`ER#Si=9u=kyMq(A3y?4^Mr|{PlF* z6en)%4ERkYAS6vSQ86UWvn=}bSIRTc0)8Kn7^0s;fG|TJXWq4|{tMCPdpMMP*uF#s zfbuT6Nea?8Y#4*$PE>`4-&cGCf>x3brgR>C6iT2Hf~to;AQYx~2wnoqIdjPU8l8#FXRD)Ps0Ypw@2jyeznVQKdV z!>L9KGO5$PeYMHMltWbd-^`o!;L)S7OlUf>Weg3k)=pQSV+1jZ+UXkvHsuC#WOiRn zdl|R^w6VU=$;-gKC+dfXgzOnVl)E|(=l?^T!XP_d7HkE018?$AmmYT-tV6^t7p0S#zj_vO~8zJZSyi@(b{rgK}!tN1z@Z%G~ zhrRrG&{7bqj=I8INCgMI|j zU7q>dM?!CAR^`5z{!vjDq2I$VJh^v|0fWcJ>y?+d=z;~~8LAu!Bpi&`PJ6TO6LB0} zsenQe^hrTdF)=w=1RP1^G^E@?i5-v+G?{FJIM9P02vnhm#OzRZI|5ef>}8ZtzX>f8 zfSeOtcvP{~u3fs-#_;OZ1P@27&&{5)PdQ}q&#bq(48L{gy$bR^N_&$`9s*}VpQn5y z)OoI=Gz7+a*1=)p4p#4gdZP!QK|bKPl2`^2HnY$oOH)(L57u6*dYiT$SS8N} zV3i*}V84zzDfrXth4hjhU&`eL=BIQUgOy2e9g3%LcnI{yfsgfSM%x~!^nuJcfFVK2 z(w9?3;@Io;n@6C&PSj8JPys+8@h1zdiZ@p))SwUHW@EB=SUOpnz3g|7N3#*?n12uc zy0zt|?1fNUjt%zs5C$rsDPMDD?JNjH4ZggK+(?zj-UW|F=Mz8m>|gsS&a<>YJ&E|Hc#5hFU$>bx-4)GY4qmmPk6idAUL8;3wH>(sP0 zfTcH^W{bl1KK^Z*H;MokLQ0bfOw{`QJq{AQx4L`jk^rKO!|-DkXYMUgP!I(0%Yv{$ z=r;7Tib8Tn0VUiONz$S;r;IuQ2!bF!=o2*#TN}Y<2ClJy?*@s&#Ps_{)LqNbJV%0e zxz)i460O08AVMJsraKGvA>F&027;*eY8~`xjD)W|)PjNn54s${);HEobK#|qBj{hC z+VVwQRsu`4E^G2Ht8EJXStIbZ2?v2SXw2f@y^RV~cGY7^{}0M-6G*-efdX-Oca#6kIE zXJ91-;F5}VyNqgaQr1ZQy(LlSqq^$fzu1j*GqGqK3^3rKBS&g%eU1!lxIyd8i3@AxhWech7*5d5?>Flnqj!{*MYMIwTynMrEug$X$hliWR3Ho?OPKsHG z_EA<9l|5ZEfmagp?oqDGOT_K166kS-F}W0ApKY*-Szq(-fRtBhaOmL zLu7EEid=v29bGERL{3H&D*~Rw(Vw(35McOy@P_ItU=6Bg1s^>ItIK}!<^Uzj0$c-n z>P=9KX?_Ljr+XY6piQGd$Hq8&6pG!P43%wgsG_bnK&c5wo4GRYT5>#1M{q%HjcCLK zAffQ{5FHBC&w>CC_^Ra9OUTzDQLE}F7>Lf~u;2bPVkA^TNPreSlS<%_;p#^aI?kL^ z1n9{HI%8G&+Vi^oP*npVd_z^;IyE&KVsQ)Ul%FYDw28n3;aH9KCffQUwDq-cW7PlE z)7@%7i4VLcFdY13|AKHZw6vR8&NN4SAgI~o0EM}U){S%({)aK!fkDvFGomI$!cKvYRWTe@M{s}xRTju;t~ zyjm07t&rh;oQNOnh!#Tqoa<0QT-F$jk|FwYP|#W*D#c&9^SQogFj zCD3@0zK`88Q635CAInDd4N3|P`K|*%!ZFmJvD@7I+U+z-L5ZBbW(~2r zN%|Iid2UjE0Bv}V;ucm8X@zv=P5W9c zxRD8H8@`9mkgE71NFbq5%cJ132%u@M9LjXBAPa|%jH_^;!0g_10A<_*#aie=66}C2 zh(<(Z`#|j5A0N$A2n!-s6`Z(Icpr@*klz6p`T^Llb|sS|mxGrJe|@BnL#%1e3&kV0 zje=k@R8u%+2rfMZE0Ltg!Xb=Jj2!gVFdn1wV?e zy|k=sUMZu4bC)5y2vL2p|JRF-6olUiNgzE()NmQ<#YD@UpFboEY0d`2fJl$3{z^zD z0OZS4&_W6giDym*C9vxzPrO!@?I<)G!~L5sgTJvkU`PUyLoQz)#Q;#Bk+2IP>%ju- zy{!Ujn%*Q{*!PLtd)%&s5fQQEvNwGG*10afGnnTKlAQPOEw&X(*Y6PqbnLq#?sER|s4xunAEg^F|jIk&7*x9{#_W0K( zKUt`}Vwz)%r}*Q4?(k^cBuI)+94afPQT_5NC(F#&(OE8Xl3^f&D~00jaGxm?k5Tyx zT3#N=M;t^~&j%_-0UWZ%oCIL6Q{aFA zDN;)Y#MR{NK6@a)945NlGot>3&+wllH%=iiw)8E=TstC)V+FHRJx*a}Kfdll4i%5j zqrI6|iny!fEH()kCI?UhP$dL&-`IoDp!S<0)%u!xHa8^``f z_~66Ex`E6hlLyysdajaB$;W9_`G57HJVYv>`KU8%7nlfd#-FPh#W+=DZAX&*WV>8q8aL{&0IAweHsD>+JIxk}-VWFb*&9=lbTYHoG2J!=f})I3}XWe3oO< z<+@DyLOBJj=Qw{R@U$pD7G&p19icfkwY4nRghRtEBossJLBT)21F|L&>vv9>*<)>8 zHhV?(oGBuD;Q0JsQ5GiyMk2!yH@5|13>+w>%G8&p9z#L@O_cU%#3eBtG} z)B9@&mq^g{czokWH~M7-*P}rFA-*se;iBeN6?7;~ zl+-^C%<|C>M47#YL?Y7j%?jiBC4)(IjRj0gI@fgDFQPyTUQB8>WQ3X4;RHlLnN2icA^(_^5= zgho&Fsy7xQx<~TQc)$S?7R(Sgi0I^<`!M?n>&TECFR1gHFyA36=vX|2&?`dZ_iiLh zp0|3+#3puYuUfrf00S(J#G^y2&{H;wLCEp>?JZI8;SRZ?ZoolqrAmblTYpbqp2s>x>0oWi^HjgK92$+Qi@-8Z2$v3&MKLd59pqcD9CAwJ8zK?5v^ zRa5*_Ut!b|CN+$}?SaZOm_Z;g)LvFj&VS!^C`=8FS<|4R9A{Aduj_E)>#@L(qi(&l zUhcU{?Ej9~<_Z9>n+4eQpbd0tssyu9s&cw?@uH5sn3D2BePmJ0dbOp>H6MQ42*iTe z@ShM$g7vo9)aGktrO9M@=kW+L)!+ID21=%2w3bBcBA~htEWDIAdQC)L|GQp%8)5qc3qZBdw%}k8c4Hut z2U2oyD9-4pJl4{IlsI@*25_`>q{GR|8*=bu;1jXot%Epwa(=7eWv4haQ-O zyan(SW*9mhJalMgiQ??pYk4@vg2QlfmBzb|KVRnHKG;I|;UErP2?ELeieS0R;1hogP$jkV)5qnqk z?e8~+XlSawW^*YZATna1ava6wzdnAAU}^&fNGP61;3c5n0au)o^*~%SycirT3a;js z57zV=p!PVDc^PL>fZTt^FfEZZS;t#gT}xqw^og8B4`S6ch0s6t(dytK;SdR002zlWC#a=S^ zWswttfQ8W&K)WB*-n(~C+=5@-G7GQqwsXtQDQ#26dXbD4sq2APy6il>J=CGb;Jva< z@{olj&0LhGHMf33GK6+lY-@;w%sLyf5U3-mmtet$Fx2lv=`sx`EifOOH+28C%!i9d zBVMoYA9GRx5!WDws*H)#ltU!@EuKKijK$r4asXVcLGNUg03B^Z%N;}|kgjOn18@II z?;Qvbd}x7S$BEGjZAuatvo&NTXoxof{~DHn^+F@#4t2nA5=K7a39{rpF0N$$<5XA zsIlBwtOr*~azF%vTb%= zn*KFw?xSZ8;_&H@=a}AJSfH~_)q^J}A=F?&RFlwWkT zGYCUeoz+Z*cNu=aYb+S10A;u4%^K^q4JBf`i|9IYb4$}|82~EXq1+bwzZ(+9;<&21 zhk*C?;mC1m2pqzDw;4*{3`LKN#ZEQc5rO~2LV&57-*N#uIA{=;32EP+=&Q`Ig;)4s4;2f@sf@bP z)*B>Uz&)+Z6(lU1TD${p02pXAzXt^j@PhYaWRothzDieMp^JdJmTBiu&4O2XC(xK0 z^ySFQtgNu&uZT%dOBpM7@wSjBohwB*-ObT6lJK{JdL5Y>&FHqk6k7$T~zLf?fdh_mPP#>9NE&*;7Otbp58Gu~%|y?|cH zqCr|*hGu4Bla}5^p(Lpa-G*Q_O`VNtR5_MDM~^Pk)eX2=j2Lcs(aRe;G9Oytf(yS_)Bv;ha_@Q^&dRsd?WjI9f zUCU7>IamO0(T2Of#TP;%n$NTrPF0lDBRvI#%~2tGkzsZNj+$L=YH2y-r`fdXW_oXr zPVLN0PdhqgCNw2#PaJYIA|)Yh&O*rp8el|EBRV(u+Swo$G7M3_hXh#s?LCj&0c#5bqYrwo(FMCEsILGLmvcKr4v10n@&A>IINtVmd)>$XhrD8_r3Z zk0ICsOU`Uqa&$$}%$J^a>oh_v{U=6Fg!|7#ZDah{F@C1dqXOTr9E1q}iw9ydkcixZ zyJbj({w8_}hWiLioOqanbMVk7C_IUe`#7TlGDlzxfK>6GC8l1->wJ)0=(_JlO)5=h% z_yS%ZlueHu8RAi{91EK8a8g7%lr$bT7exNB4PmHZEMq<*YFAAks;j4mN*UmItSY1=+)ukPmhE?9VkCv z_l&=~^ZL-V<*I?3=9_1JsywatTz2UR+j+0b18kUzpmNEr*H%pr*u;5$nv1P?lfwB( z>-9A$YCA8VUU71m^T!>H3V!lpn_7AsH1lLzo|uQ-Ol_9+YjuyQG+G|m>3KUcxopj< zRS}H=$hR~vZ+hISwD;3gDBFJtK<*;mqTtsxV`f9Zo4tW=SfL1FS$1vBd44Ujr$IAQ z7DKk9CcnCNtU=fQ`D)F5Q60U4okR0JWhgA`w9U!MIkh^sARv8~I6I90MKX2Ruzqb#j8AzR!aktRu-OXj`cK2-E>E>HL@9mXa3{<)h zYCW(4`C~#(WU}`RLloHG&|3gG>O-&oGQfyC^r&8?odR`P8-!bVDiC z_Zal8RTY2Kvg#rCRIQT7Rr9akuXzAKs3F=izy>}5dA_u^@)4v$WA#~!pbu0Fz+4rb zf2VDG1{D;it?_@9*MiY4G}9RUsmqVh@b9R`HezrhK__R&i09g_H zrON-tjc*ZW*Y01j(BSbnwP|V{8=g(7i8|L1A^rKLfA5f%`%G=QSfID*o97KNg`W#G zs?_4g;!)Kq{g&vdgpBBN4N`3DRPKF~UnZtu52Y_^I%F771H@ADGazz6x~R-O;GPG? zzV5F{&nF21kWJB2ib#)|A+7~PdqqsIKolJWo)Y(r z)ffgcMfZsjo94Rjs&2K|vo`{d)#C%=)uMQLc-|EL786llp{j`8)41(KD{7LYJjcO+ zV{CKZ=P0E)ERBfzXNtq`qRj~W0*&<-15ckmfL|ODtcJvbr%O1M#Ak@p2b;(+)GZ0t z)LET0&|_%)I>crf2G#UaBRt^M)toLttVD|+`PP&a>G|_ti}(IgHc{8}KY4P>KuNj; z+TwQVW@9rPQmzO0LbEW9+AC>37`kQ-L80R+azC^}E+-N9va}QEupH6Ul)2X#7Ea1E z=Zv_#!mB5gfm5pV!5-r-k-gzDu%VVQl{ic`MHd!!rdJvuV%-^c)lSyYaXtSpF^Q0C zaFA3#^Kb}O^yuYZYJ@xsE=Xfb5jEZ#_x5zZ#azmqc|c+5aPHc5&cLS`2*N_;)fy9g zg;Lco=eEm&%~TohH)x`N<)Wy zH&ude2Jt==&S{8I%w7B1Fx*G;gwrF&o}7NJD*%Ot%1;n0=uwywsfWVk=4;)0y1F!? z+UCg_#~TpZOSWlkX>L9k9v-e`DVi%obiWC<4h|FbF`QoghAY$tg;N}CZBG|XAL~W^ zMTUEkprflDKnRX0#|-cF=@^N(Gwydu*fV0f5dtIZl}Y-F=xaoDiGjS>VKfueP!=cu z>Qk`d3?V-=F%UY<(Jtmlk~XI}-MTrMhi53P=!rtLkliR*p>h?<7PB5ao-t|t$|ROP zdlF5xaVieuxSM|AaEAE0&#%Krqai?iHU=hT6NTPn-g(`mA1OVZu6$Bis%}PN5%&NF z;7}D>jAtB|KvyUC$8Jsry|7RVk5PS&L;3BQ!(Y4OPqSYgbZM`6;rVbaU0=M`W8U5? z?d)Rv3T(fTOIrwBA>nC*5t<7{D-hs7O?nUc*87;>MIw&iu81O4#_>b9%lVsuuxhxE zLD1U>Z9!85$?d>xE2AM1JgP(3&B1631Scm0Aw*SBCai@##$atM319OI(Nfm9!NXiz zN)#bzbrEvCOu-w+U5el9<)23;mkRandohyp;mC(8GC9Vt<-W0DO!Fl1nSRrG z3o~^bk_BdUMw-ejHdT4@^o!Nm)8?VuKWT{V&bD}b>zGWV#9wE}WRBOEEHQ7<)431t zJ?-hfZ#cxJXvC0$>kD6es(4j#OL|{joI%vdgusM`EfyunU95{N6G)%50`LoIEvQ&n zSU}uT(E)6Rw}@{mE;YEArF51wcw^AZu5ag%mRsj(YGRjz_-!>(@*dJ`eGQQ2f`J?qR-X;s&2lkr~~r>X=5F%p?0S0p{e86)>lZJJsTw}!$1jgmV*lb%Y&~N3 z745AWC8rz)3NPm?ctcNn4#DNG=M)^2W6TU_R=u;6|Ft(`^5{$aeRCCN-gb0b(4Wfg z1Ez+m?5Epfm?X!VYvEbfx7-=)`Z0HnfYP> z7V|Vj9{33>?WI+A9zVl}W9Z9STn!OmW^9R@IfP^0)vIbn$z0C{ndBFw_q0GCy{JY3 zP}QygyjX5->z7N1(7fL@4RM%Pa99YvC&v=fT5dFD$)rgQ9yOT<0)3w8-F3UIA9Bek zW6K8Yt50e=|H5TDx|z}omN2rA0;q_6y}qct6GJHWuFD?cJeamq-!d~yWhpd-Sie7WWBeLBj@XlkE25hlN404Ku~nJ@zwrrCM)l13%^frvp9&MvmYw@OYPY)|&|DSsyFttD4#Jmz9f_^%99i}?R+QnL=icIhKNr8m z9w_%-Tn~o{#zrQbK|&{R=V#)U4G7(07H-9X6>Yjd+HJ1B(}zQ!A(wE;p>Sqt*GHLb zbrpdLM}*v*#t%PK&?TVM(f?h_YX;wEa>A25Tsn)&dL~+0TH+K$JEmIPJu+NPzC{D| z>-i!gVAl%_5wLq{@%%fQ39Xu)0W70gJE-kjV6U#T#ACc-gKw=&b#5TDx?26plEK0Z zqZE@bkdR&j3AhmwiNbQ=;)s-^=ALf=BO-VANh$8 zshRVB&}XGNbR-^C9LvhV5x~*Sqy%S=aQz zBi}a5EXEtVx2P#&T*VWE9-CqmfSMo-kR|Ef{-o`}q_mrQWt`0;JH`pmlplU3dsDlI zzPXZ_{m9SP*TWid+xuArN84ByN_hypM-RdY;8mV)d!iKGx@!%xxnzn_C)(}&`eHd< zIyNCe1xz-FPld&e#;Jvcg>BCr)5d|KaNN@q=&=GQM|Vof28F2gw-l-Qw82reijMYn zO#61pOVPc=z92Jmk^w|-_kFpg($yTUcmn9B)w4uddwcuP6uijLC^hUg_jwEl!#Ic1 zmdA1LLRA~O@snFxTD%k#ai-ep9n<-_xzQkf3^l1ms6f0akxKZ?wcBaA`94euk11*$ zz$j_;?bzJIqZI?CEw=`}Ad*~DON_fb-i^_xOOD=aB$B2&;HK)m6EzPl`(WR#z%Y;a zIAKAr6rlgpve=;rTT2T4E{iICm*@0+fwdb0^WtFV;E)9fvjQ8-y9B?avZ5rYMLR}W z`3vZQF`ccPjFOtRp9ABuV2N(gIkLOkWB39b241=N40{vLEFxkA6hd87Q{Q5N+4F$5 z@=57D0s;c++S-#8JKw!90@bq6Bpsdl_7H;d3j;V*j3jt5kgk zR9O##ZA;ZC87rxo5F)_&$TKT$;j2W4Y{fS`PTjklI-?xZJ4;Mmw?lBHDd~l)1m0ax zSlD#8t_q=S{<5~LXZ4Fg%AKPyy7J8?H8SRNM`2GPG=4R`p$vBDRcUEj=44bGj>foD z&1%Y-g=fszSNiQT-l|0HWRJ_Mf4uU<0r07xH7{Je2)!Rv0dL_@WTKz;?z0yujSoh! z_7OM>eiDAkVe6Z`yi7!j32o=0NRxq%_OYMtqEDov*!IPVgw#4qG~~3swM;0Xd)*3& zV+s&zqwh-a@fUQ*w?T@z9Jjl!3*PW0Ki+a`Zfw{qSnen9=k%(K@MsCkkLl#9tA6%y z)A|8+M~bZO&cWnmk)W<9MZvw5CpV|L?5%EDF-b4>*^9~8h)r=Zu9kP_rQrt1q-S9B z-^|2FrgLK^>F!yIL5X|rrg46j{cVBptx;XoYVJopJ%Kei72GZLv$?R&wca-H*bqS{ zVL@Dz8l0gVD?*QqApDq~!@Fq^=jT@uu-70HGW^i8LTe7@N_O8)_nQ@+DAHu+E&K7@ zqL1f{b4uNjY3jH%oK5el(o*aUlSzHN{26|o-)X2E*?PuzF_|lTlU@FMuI zQ|W%dn&4p5v-Ia3I5u+lY(VqV(a-S{Ajckp(^kmsal9HLW%zUCs~?uoYX6{SRgBM3 zFW7R4;*c8gd}Y1N3$exwZ!X3jVxE(EHZyP8@57#&d*3&ibKdUJq8i_gD33c?ZgXO-(UA?cXA=gIqax?vONZ;kX&^MT>g zpFxTor*eap_EM-LEIO*=P_NS9#W@E8`7SwNHzuFg*~XEYd(%6aCtv+6JqTZ9VbImc zIdwcrha>ov#*%5Y;OdJH*6p(N^t!=C4`$@j8^%+XKJ%Zy#@^F^algR2MJYgxwc9$6 z<8lA5N}q{WWcKqF+3%p`SC{da`ZFL*xYzgKHrW)KX2o)ONm(w>_2w|i_?$M&*sjcv zZcw>|IrS3nYKsLuI?VdoPG6qa(eR1ENzAE@{VqqQ3?E^~U%{XhSyp`L3)sIrx)d49 z$%GiH+pnQLV6MCAH0+h}8!q8tKVo3^R<`F!Q|#;e&hh}oh{uyTre4MB-_G~=nmA}8 zdnH;JM8AmNrpHRN#t0FdR9e_S7Lt7}jo!(gp64_#+Kdq%$JY^iqiD~0*$va}IakrX zGQGh;rtQ~d*}wGL>c94f_mL}{skxiF{ln?z+M|ZhUgzm|6+EwVX!y;*lF|GCHlzup95_|JZV(UxpRaYvhLJu(Zaez(O&;;c2t1HqcpzF*nzg%=MP z!G6mlT=I(ch5Q9_VG9xY!=rDios{{eW5qvr$bWHHzxKy9)y0ewUwwo@pVx~0LRrH< zcEeWj#ktr8tJY`-(qaT#F{^(jL;t~e1oithcB{Z*tTh)rPe&6Lwl=h+DB-QwIiYWdHNX zuJPN#G2?Xj*;ClogB|U@>7T#GuJM0!&P+{J*mG7LYck+e|F3f2`8VGeRxqN3+92=H>0v}npBd*>OVIC zd*2+F@>sV@Vf7z&UE71bAd~c;_A#9M%USY&3mE@-^za3k!6| zAuBsd6Eq;x1VDQBD8;Tuf>MkD8pS;1WqrmyZ!;!$IV2Wlr!}3}ozdI%qIcKVQlu}& z7{=3t2|(GJ+Ika&I^SlO>y&lmPxOhismf_faPLe=tPZ;<-SG{auFbcMR)Df3BY_S; zHs}p(e`=Q8t$Ri6LVm2(dq+6>nPMEbx9#i>f_K0Hu9~W()!)Vf&}l~0ods1)A?PE| z?tX`%1rrcw?uJClB80a_m{Ek3NKIKsr%1~u4h_3)ZP|)~Xp_b7A|U0*#E%n@{m7ze~@zz%s*6gV~oAGlbJuFbo5P)-U>SFt@RSlJVUx75q&I$IMT= zLJyaU*ROJKSM590gYS^wQluDtlAfJ<$|w1Tcb|F6I!jy2Ppy$amzYpb;}I$I+>k|W z?+@Jl7R!FYdwb234vh5oXS?0zLtP&kSGM53U0okWyTAR?C@K<^oGe%RJw72*Dtq#s zcdcjV=uAX7D7hx)1!g0hI4o4_WBpwAQ^u`qLF7W2MpBgLJ7!;FFRiq5q>{5QrY|gU z!x%jkWAg8r})6_ z@HoB!*aibJf2)HR@0`12;Kuax=S^dp1Zl;Nok!JNYc@4K67|^?YkEEK`b4b?NF$#{27 zioM?yZvl|o4JK4rSnhYsMAp?hj6|gEb`t)fj?V+~{+2chG14w=jTza8>KDKrD=U-t z?87J$7Kn(1$#k|(+925P1xPW~Q;_AYDN<8t$FIM6^CrW`tvQ&|7U@Dq9Ehggp0eI! z(5zBHQ(%BYp}93wXjPEln+IYnvS0j@qz+@-PD`ibQ=!v7mJk}P*7nzdJ+Y4i!F7}n z$=7qez3u*A&ps9rkY`llHy5Y0)FcpyWhOE|JU31_MgSaL_x+uHfnG2g=0rpQbWcKF za`DUjoo^zbowPxDmy7-L!vIVIKO?&VfN}P)=IaY9cgMcy$gD+5aPDp4&Bs!}elsrh zItCUX$~Hn2z3%%K{AVLg{yAJvAIs0MTFr5r@`@7g*hX z@kR4Mu(c&-K&-t{)-`6|$|n-9a`VKHo1K|h6cg{(bSc}m#$fZ^cNHe>0bko}x4N&l z{TOT2?B;KgaoB!0pyJThZ;iIjaZ4_}exwkkS{8WLcB`bCVmQ}}nMNgY)1E9eTF(F7 zam$v5Dr>Hbl>vjJ>+Zg5$oVQ;)$}R0CqTcuRp!`2BU_7Lt^&R-*Q@q+wZ8U$Zr;7s z7+&1!xq0f6?tpxqn^)8%c4iztm7f~xG}L+Ytt7*T?p@jLyXJLydM;{yxx4~^tG$NC z_0A^w)?!<0bd2JK9ClwSJ^A>qXHkJ-x0BLMShL|f=#bH^&1)AAr!|d$03%oc{7M(8Q=W+}hFFU{EO0s_L!Xknll@`c5C! zc>sR};I(Vdi0gtzjqmUCr$QksHKF}HS1V*>yfAs`nc!}aD@{!|C)-tY7N^RMW7o&z z&@5OYfJ7F-1u(XO6S4cBtnsocv_umP5KmgQO7 zLBrX5Xx2C{KsF?ktQclGu3fB}z$0s8a(uGv?Pkp63@rU|P>8LJlY(HJAcOvP|8X&60u0s~ML&{^ zGVW??B0oH{v@J^}3*RLO*(ayMCjHY~LN2HlHCxuFe^5Z(p|G+WDo+0K=xDCFAy^Ca z5rpUMyT0G?RY6Q|WMr|NFbhievs!nn5@yja&OBYiR9YBxZVlM`@x1lN^JZC)!cNa~ z#S9e+6nxa&zJk`=-3lCBW&E+s8557)Ld28U{_$c(NrRhXSB-YM^QBzJbRU;WQON2- zF~I5b)g$HcMOH=SX+BH7t}1q}y%AaswF4uBa%D9=bQUTuSVVgn-Ac@K1%zFJ zVoceNxxUi~bH$wq%}iCOI6l8z&AsFG^v)8zj;2>WZm|n)qOEvY%C}1m#U|;O97|>C zjOEr+Ey60fI_$)EIP7)0xFy2K&h&f%((HC4ybrCo7O7f$3^3-FLXd|~CnPrjb>dHN z%anwNRnAC`T1w$0$tHltCewrYdf71CWUn!7t%4SKGGIA%O~1lw%LG(#+u@Fx%}x1snD|1L_zIT_PIvM_~>m!RS5$m393 zb-puth2nb;PT;z2D^Qy>I+k6FE~)7R*9?UqZwgC83xN9@ zB+E3`Mx>=FNPtblMnsjT)x2RRX6>}Fpfh+2p>j3>xQSnGKPg9dMQKf=@xux|=jza= zvfl2pCcGU*)YN<;u3hu$=;(NhszSx4zz&VB_80EbU01ZXY9CEwPvm8E>WZrW^i$2!xftP3F(8cAP{+TFf{ zkLySh&aG~|BS~r-W^bhmG|tiF0a?aV9OR>kU@Mfzm!6v)`6%};WJMxj^h!O-q`TkIjZx9`+LW$8$4nBWOnY{ z8K2xs#TIUEn6od3&nW5tGtJJQ__x3ems_Q$r>CsEVBtbb`*b!oglgd3XBFT=AwV@V z`(&|dNM*_YnulNGQo^P<3*$i>drtjpsII6jX;Mbv3*H|y6{LOcx?S0bY({=5d-^?| zuC`=um$`MWP|mucwj$zl#ctXzU=!-EB+6g3~rS( z@p!|%@&Lo7ozv0dK%2y~?bA2*h2IdogMWgM7XP7TQ@#UT{4s9np+LJP+yzH z2N_q&^yuSLDrMQ*7&X>;6cwFT*5qbE^pMHR*akMA0+GttAR{)SBGD7$FxJXR0QY zYo~W;YG_)@*UW#hWSlz+UBNg=sN+0w-X`~Q-+#a{R@*aUxvg_oi)HGRe)Vswl62>F zEV0){xW5u@5@<{j4_kkUFR(2`jF>=0OP;%T7r1Alu7OyDTmgjXzB~098)4IHqm@KN z=!hkvFkDD(*q$S1I?Qj8?2+Th#xXt8BNIKS3kb9=%b(5^hr zKQW0AX~xSF`?AC)VA<6%YKq-<^vavwy>OF$E?0ZqN>;+x;9oHqI;T{lDG7u|yC-`8 zHz)2fgl!i?H;@2#?O<_K%GF2^()z(LF}qD0*}Wxfv60^+0KrO$!*v*A>9p^0F`1N* zA%>AaY>4*Bt;ksHiX54Cn?FmkD12{^9kot&nD2ys)@;*B2aozjnBOTq-xPcAGP&a#OHXgx?fevk&8OrgA5?9aYjGhXM{!&g#B@kFB&~U=Wb? zqcEo`JBn!*LkZy%jN%C6D zF(cqPR6gpD04MQy6ub9!Hi(=!)cuZH zN-=@qQ=q$oAecOxZ=0-ER>r}m>=#srB6T<>J@q~dc^vlc>qDWQxx)`Vuuxc!@zL0O z*aB3f zWaLq>2{RB|jE9(t`(&F(QxFsHvol!4{;Ke6Y(HICEOXa|O2z8wbEydQbjQ1Cf54_{ zk-!VlKKT<0uKBa%5>Av3bL5oX$tX8q;naZ%Al3U54PmPrGm(|5etSf}CY5AmzBXFt z!k>HaG-8PlhbEOnD9r~vT4iM8M3|zYIwj`l%A=37hsF?LEYs0UBQ#lS?CLZ+16Ecx za%cf}#Je(kW1#BPbkfIVY8r4Tm38aZC7AVj)!U+RI@|0~6bGDQj5B%b)8&1A!E(0& zq{|lp_o;Y+YpgtQ+SC5P8NAEHuCGrj40@^zf^OWfRLSn!OwKo9#4*2N4~YgMHZ;a0 zA_`b`+xO0YzDN|jC{PFBokWc89PmYN_T04A)P}mm_w3y(`J63eDq+Kpd)hxdjvu({ zln@`tz2fQ-L2)jH!=nWF2$xv`bWqB@rz;Vy-xW6>jymRPzuXrJ)${x%TE+;om->8T zdiRfx@kd^~|GKoxv|y5c>7SBYz^~tLujQlBMe7tHi~{=@iGHQMDdOB@P4ypv#3i zUaoxT(;_Y|UJiD_tW>x6`-ddU&u8z{mkXOyAHf@)9@ym@^)e9a+nnlbU%f?$C{YQC z4ImmDVf?r^tP9R?ZGMVU+Q{07V<>)5sfY@qsEblO*T3)ryS;@42%#OlBdQbOa8#`P zp7;0A#`Q(3wTz${5hEm~F>{1{E&hv4s*o}1o*;lp9VInxwSf~h&KPe5(5>jBb-`$j z{Ly`tIFC|_rU2<7nv#~bvQLMD0W?S$*0)4RmGoAUgd7_`}2UtrB6e&WI%@L7+7TTK-el0 zE4+_!j#?y);4Xoj-x8dnR}iJZ2}Nj4$Xd~okLzSgGzt|O?{PYsxCmF&U;kOR8@29_ zYRBoq35bsfkv3{;{J_mkS0d2=qE+%txYX2Fwo4Vhp7c3mbv|yPww}GFc_)H|`ks62 z(kV?3kz;rEl16=zkQeLfnEAxkXoIV7{0D2IqPqCYq0i>|hXkL6x0Ap#}lHrUKy*ZhF3` z0?Z={jz_H>S$Y55cl&3Vn-)F++r#93N0t%5Gb$o1>sK}1DCBV+F=!$Mq7Lpos1JO} zTG01s{-Mr4s#G2V_kR|}f7ffBpUzie^wo|<>aZ2hiVGM1^rUPlGb&z+HTG8gp!xj0 zYV-GE(y$v`QYevA&GC4Q`B9X}|18*|!u#3pu;UxV_ty*09AM7Bd>L+8a`?&9{eO$` z{zJ9-l3?pdU!XEeL`1MtT-qKA5rZ})ps%3*=z^dO(+-ZBAO-r^ZHubTY|8cK1O@1S zucKF6bNa&W5vGgGAGkP&&6jI@T!S|#JR9VDrhkZ;)qEB|j?F+x9glay&wN zL(t~gS)0`4{T#*%XOG$~$a_S_hlTo2Tb!l3+Mny-T+CF`8SwN3efQ0nfo}~5+i7J} z{hf7)Nz%YY!~TGY=r$8T&cv{=H=n_WB#?u!;#kqXfSC7n1*Hj!9j|=KJw?4eS%#Un zV~VI7sDxSY0;e2)R4hd!b4NAq6bsk`Syc)%;QD_$LrU`ja?LwDl6Ne~JuqTeWnI^n zyv1@7?4Ekb*@7nqW`R`dYO`~<10oP~CT5|fJz?*005h+o*x&Og4bA3K63OS9d#X!T zY2)aE9~_IQe-u*bxh$fSsQxP1xbY`dL+2lH11>iT5<}Rc?1xty1tyOLYyaA)@%X!;8u%`BJh zZ6zk77$BELh?`$~k76GuqvO~>YYr7=*U?|!nTKCu{cBRuyuKs% zE*D3xk1HCwCZS<$G{Mtse#kC`~N+-c+1m(2bAmAuB+wSz&^dtpg@{0j*i#B{_f>)oClc3l_C$&_%)s{~ zQOd#}SZYWJnFJ99us}&nx?Co`eH{=K3h6M1O+HL5FzsD85NPvGW1-H?giOb1YX}D) zwkLnFCT|XTzAK37L`3)s@j)0EA#t(x4qxiP@u zII&^V0N91`@;@RjoYbu!ZmOYdd_||spNM?*No|koj&RCZs85e`EZuAN(@r=c>4v+nMa4Wn&s+N)1!AB)c$0<9wYwC7b= z?Qelus9Y#y3|cRn=`ZJFeB&nddQ$%OsbSRpE<18SoT zx_1&ez+0i?vvQzLvYk001V{l~UT|{6@BBr``Eqj2^eaO){ie@d7HpLXjf@nB6bL`@ z6bRd~27>S3lGKury4AfZ8&ftMP1gR$xa&1NLties4C7mHLxn!c|6LUp`mp{L*%Bhyut8WMJ7#p^|;3v@EyL7=fjEMqftg>?^n! z$WI%x`$Ll}1%`k~cd;wQsG>i8sz}i8vb3gJgI>AP<}jHR@Uy7yoH;CHwXg3s zcCGgj!X6vRGgsKH^==szkl_bbW+cy21kjsIGxc(+J!YdjW-J@w0meauw}VKKe}{3x z#ZO44qGlCeYfD?9e3n7GDq5Gs(op5dLXl(=>{ju_)1!OD-a0zI?}gbC*%S#5-tE;d)8FEISkqZkg9cyC;CoNYtgw()b@`tg1&#mykeU; zeNpVsBwh_wvxMNsNJ+yU*iXlU3jUc!)~8#~fJ3HJXNa8p)h zOLz2-@MO65x>8Bx*{DNN6GUM57qi9U(!S#mnjU|6F+tyv$-jsS{PY5e)qmCo0X6_m zk+g(7P!o`b%lqoRh-r>c5Lcy^G~h@EUTDaHLoVhf6f%nq_!9_w6gGF+zE==Ouk3n=zTEwUR3`>fqMi} z2h{Ynbj+J`^7|aj_x0foXgdWYaBtwYHU9zc3~?B7oqRX82xZ+m#o>@Hp%puGm=_fP z_o&IZw10)!+}3x1oC%JgYLllY#7MGGYlwg6YL)omFd`cA^T=W;EVmSNL?Z@39ixO2 zhuY_f@(&P;P7+;td`5S}oZWlZ1ihdtJX>joo-c9lnm)>;%X%+Dl?H#|g<@6N(rZ`E z{tMPGfXK_Yb4g^0$Pc}xaOVttQe zNCsvB24nTu=1j!U@Lk+&e_&v5*QXsIg2B`ycB0}cT0Gs+n6jp5-1N0?Pc|876Ru3{ zZ>EZidh!Ch|9?EbhUabU-83ezv83wF&j@{om6bQ1fZ)G14L5{bK&ZJSw~&Z-mfxH( z($C)fZa|T#Dch(7<;D}9o`fY5SLJN?JL-N5{XjIX@}Of9M_WPk3vC4xu$)@9bZs6_ zLnj(Jd*H=qqI!GT8~E(H@$Mik{0CHQlJvs*nA4q;*)7=D% zplG9Yf3kCg*<-n-In*V9FJ>ogK&t@ zn0O{hf0eAh<;#H#HuQ>-bF?B}GoM5c@}fPDA^&3SvjBM*hYJY(JZZv4=iGgK*v&iX z61^senjnvnJagTVNg*AOS|Omr^2TM4#JhzXI?=jpkM!%nT}L}`b;9j~;hb^C?zf^; zh5apZ#k*I@U{zFGDVh$Zdx6pyqPTR6<5vF8lzTe^tL&BImdB^%^$VRyEr2e-Kc}@) znGqUsnLU4qb^Lp)z?s)cU+j755`ex6;CR;^kuEI*8y#P;IQ3v~+_^rU$x;m=QB-R< zj;kl0Elt!->HUsR-4QG08IyCB9z;*gf%5c+jn6nXJng(u6jU`~;U^ew6*8KvwoW+4 zLB2>f#ODcT0bErE%UpZ#EzbdP7M(q7TPW($mq^neyVt z`Htu0)(PK8=?^R5OR&F609uklgV^`#=M`$L z+kX3mHD7r?_p9`%zZ6|Xw9v1|5c@e0P!VY%Uq*klk!e&NP@KL4Mq04;O%h!vNf9nx zsyB?!J>Z-N7f5W4);EvJN%O681g2hEsKXCfb5R#oz8gY;?@_O)?F0$)Y+qAF#d6X^ z=^6$KrPlZYZxW1z1r%ulnXNdwlkm@)y9bG`v2uh2rY)jpO2MH8pDi+LJsA2-L_M=- zPkW=^jq5b!d!MLGV2yC9h%j(r>~n8u0{^(>jV{2Pyvh+E0$IDy?K({;DWAm~G)wQ~Iz-6;_PbV28hyGlb(ADRgDsJB&E`%-k+h z(e`DkAgwqPnEm6kx73-y7o#&_NR9Vzj#!O|Lu$L^*sn_q|Im66yA7PKq!(m9_R6&gY#TPxuWFQgWo7XNf#Te&?qYZf zZK2nXG{%*20QxnrKkaH|F|)MZ+EMbh|LPX83cjcl{jYBEzq-XgmD~T-Eq+QppalK@ z$d~+xPkl)m`d{55kv;!U(JjsrkjLskN)rL?~EnFv40)fY#;k z%yNgU`7`&krzk44|4*ukGpsi24dhwrm#FQtOpTY;% zmh`{r^Jm!x{9Jnx#pG3V3)U6ZZ7&$}`&;r#3F1*~f-j|LT(ZmMklx#>G?PbX-~0uf zFJfFnJ;pEVu{nNRGIZbzxI1Ol5ExZ)iq=u3Mw9&n5cPt20rdfd5Ng>x8;)irWgIKe(;4X)keqbCUS;CVzYqgUc*o3zhMK9D_1k)pOCtsfL6 zYtf(@C2Ej>F^qXH^Nfzm+T0K3hAmnNcw(5kWR8h@MY0?2tOUM0@FtnMi^L6UXc>_l zQ6N8ICnXOMTt+eGDdaynqpyu!#KtWJ{g|B%1EY zpXR0df?}NkE5K*yx@j?oJS>+K@-YB`N_if6p}!#H zl?U31!qc73(;GmQO0Cg$?mDRHhAJ*?$R1owqPha&A!MjHL$1&wB9saY03^JE?D1Y| zRlFQNORIcD7*>=W*9-deXi>uHN5b~;fVJYFof7Q~umDw)51o{Dh&3&nEvpU#$QE|U zA#Vdn6g>FzeTJG>Nd1j6SZ>D~Oyc0c18^b|F(QA49r|&iauOezVW*$^dK?)2o zEGM2igiZ-hofJzu8Kz^BpOj$&wBiWp%@b0lK&mjc4k9uPK4VS*^m6j@$p!5-P|>1` zE^qG$P}6$%fw!5|aZ{ymMB45X_nl9v9$&3tPJJaP1%a1HHt9XeH%h{zD$TBR@#t-+ zP#`*yX#EFQo=@2A+B9!DBIMO~Kp_YO3x4!OBbCbmny0W=CR8RqX{>0Tp$`x*u%22f zp^s?XKWPA1@Q5oXh;&x5Bw3*{@%!9YCq8S>vky|@oayQ&1>^AI1~Z`3$HYMhz`rQ$ z-b5P0F|9F0;?x6|SV=n7VBW)=}DIf0@ErNHT&P>{poz=G4g_^ii)*c%7Y$whQK-LN&Aj`9f z(dYCjGRPR@Lg@vsVB!d%Q(wH;hmEyA`*Uhxlkwj>%zrQ5P(;WF%X|9$M_i@euO;Yt ztdj|p#9@7qg4`6Er*CM;D?wk!bzt=RPdizN&Q{nWNZI9?K9wCF9uQxYu>LOrq4K9# zwajf`=1+$WCHN74HWIuc?Cn{)z>|U)h3%){LuvF*5W>1PMK1=sZHcL;lb5E?tq%Zz zCp?)T?!xz}vklrCXcH(5!q`HTXgA;q2uO+?kpeoUzDbgrnwt3)3S3aVJ%;!g?PSCp z7M3*oD}2-gd|M3Hg}cDd#_EeCnJ^yb)Qs(bGmgAMwBUo@in_9$+pj-~7JS2->CqPs zruvh>qYn?MQ~$pFI>9>$SVsSmURo^Nlc+ z8uIb5A$yqgUCy7;t=TWc_Xs6?4Z>g`B(CMl6%-T*=b-SkD|?!Hkwd3=D>E@AymSeI z_4QO&&%Bki3_lp>nPm4d?PD{4Z0)##y0W2pXsUon?auEscx8}qr@1g4bu)z#QcB!@ zZFmHW5TR6M58)=5gITo??U}AJWH4=*_w7Zxs9{p#Ju%7XNZDuSuSz=gFWKfrt==3I zuT0J2nNV0Aq0v*mbr9hsNz%a=G)#7$CY>_M(-rv>>1|O`Dn=!>>W=plNCKm^hxsr)b^eI+e1;-UtUajbP{8kG?&?&;@HN}Aui4BVESXyJ#7&@&<=eaG z{T8j+^vS7?)e92yoow6bNZ@oeIH2+`M8-JG$e5`^#79}65`G3wwsp``p5?T>- zw9x~cEvE!jQqEgrrMORB*NW8m5z!}CSTVv0>aXe@3PSsLvOlWK_>a68KdtvaEeRoE zKsJOf5veOHj@2+NRxti7Vgd_>Lq;D=!6rpWC-v_yqqf^kxUzPlg zKq_auhkOPv`vR!;!Rd6Cee0*YivV}k#~ZE@&ZSD$#Al$AyGl|2yCkEZLC*dj&OW|q z#zXYg&0itafPwtbn^#|YL~vvOm-<60f}xgzPty#zHfrjIaEGZ_FP%d6vij7fcK(Hi18Tw*f}d} z_;?t6ynBCcs*ksL#)cDo74np?qL7qI1T9gc2DUZ%_r3C2s@omd_*!3hO26k@#suy7DHMG-(ocHkRinkeO+NQNC~|NgpoQ}{*p zaEpehjNfmVf^_wg*Yk48oyqWk1#gRY_}_ZW*ck+QcD7T$UqlS2-#Mj#cKH;%)>#&mzxy2Zst2ArG;i%0(jTBl-X1|r_~SQbb)i1&szOs9w@WE(YA`<` z>FHM3y2BZWG7>bZ8?^??8oc*PT2|S`pJx1+$uttN+Qvqe#(ofRl!F?~@)t{KdQ$SM zKZ$yI#2Jjoxt8*$0$rI{DN>yHuqIo01MG!?4bS9>6DRh-gKWjk#1O(lPMOiC4k#en@j(tDI_;ZaI$k~bLN;>Zpq_3o4BWe zuUHZ@9dD*s%bdNp+Hs-3&L*aHiuBg9_^5J5gzj1B4Ij&`^z71-qclq&O%F}$!_ zOJSr;e{SZuSZ;R!&vcT#`pCC+mliWZ=cS=mS9SJm?yVvrBeBkEj-HW7C{JrNGaRo2 zAfp(2NuL0f7sJ&W}aRx>=4c(Ze`^{Br@_~Kd?-mOwXweMS<+nx=H8Ltt6 z!Jm76=(bg`_ml0>c$}q~mp@#qD&nudkF3byrP5yYW1R0}BjM+7oSvS(VIuF@)b70X zL?;xit*frI$4KRXaP6Qoy~(ep$ySOhIM&@!(dv;TZvNsWf&Lba(t*$Q6=JruS2a{K zF89~;elIU36@D(t+U9*g$#~~xug+?Cm__^fr)3?jeLllDJaHtq_75Ct#F}U`;LIB##BS?KDV2({nt}1O4`fxr^JTSQe_kk#=&kJ zt+H2@40pa?S|&Cnukk!Gy~aK8F^#)uVx&*C@kM3IK+TRF)8k4h&CxQ#@AKgJN?H_% z6=$L+O+?2jgnCV@@cH)-dk`RspjA8A)S>Y#@s$&+Qyv?K-x9Ltq>sL;`_00Lg400k zzd3vx3alH%P_Me>8nr23TAjw0CCqvK$zN7!Z0r$4Xx(h=#UYW^BsjCFdw#|H6W(0q z2u4LQ8`hch$Vo0IMlbqJGex6I%r-m=(jXXGGemSV0b&-gqC!lWp(%s({C3H+uc;3d zcVpP^SyNkUvi&g;j-_YO$v7mUt4Qo0=Om7I_r|Fgo+1x8lX!E6^%3bX6f@}!Q}9D< zBdWQsVZzvks=4viA1_DT%UtIv$_0m`bo5+Q)f|UHI6a8Cgtadjat9(4Zv%H7aJrIn z0On4|+sug8-U@#(YZR|V1k!3u(NDA;1Rs%jQo!<-(*2?t{ za?%jLErL2#p#6cyf(MyGL)_*_UyrCLh{;Z+S$1mT)=D4o*}_Yw-G2*NyITO=MF8L1y#BuKkp)UaHL2sFu^&cIxa zU`)94FCw)1c7TxPZ94Pz7kR1}su5E-m=h=WwiE8BIVh5aFMs{%>GZe1O*F{~X&aL1 z7Q}xOW_TXc&9r$*r}xz?p1Z7m=h4jmy~N_{=M_gT0UKP~x3QcLGu}DL>G-yc3<*Iq zmiV2a=L1{8_rJMHxf95g7)u)sp2SyfVsoN3)T&dLISnUWqaj^lVcnZgpBAuuTTcEJ zF>(phmV}a*a^@mTN%Fu(gH|Uzvg}mR-Yp~~ln6Aqh=~4RiATH;!)|G~5$F>0+Q8z4 znW!6Sz!EEv)!(0zP7hp_pxqncH)sHO@mHQlOV{{YpJ*ZNDd-rS{3mfz9=R;I8;^x{ zdl(W638MZp8ObH01%e7!GP2%Mw^q)Gu&O;l7ps!W@n)sDG7}Y?AY8 zvFRl;=!eWqw5{@gu~I?7KTQi+n>ozn3dqzKVt+tvfhi4MZF*jfm} zNQ%fIk;K6dBrjunqDNCzZ;gU@lnLx!o=h-IA0^U2>z`qxvN0~B&CO%$QuWr2M$chY z#s;gKR?2~y3}hiHRZ;9OZK!(U_o=NpD{CMFT4@^+u=6BQG6!86v!_6{rB6B2H3>C0 zthHGq^W0g|g>K>G*uS?jwU7*ZB1@J$U4Np{8|ta!mz?T4TC^(fw_hrQ)Dd4XiROjl zuNO{m$1?j@VG0S6r9ePKg3J40rq^mV)r%j{<~>OyVq>)P)$ARir7|{eg@&yjfOBy0 z56VBkh-&turuhIaFUeZ}40n}-G&c^$L;szhH*#0n>)M&vYmd?GKhbCc=`EBkajKq+ zLVHqc-H8v?hhap-X?q{cq_c%M%ir}zq<%HTGkuWrsv+yN&Ip7J@`vC<;u*mVZ{uV7 zljEI112?tjNECTSu*TqDys;>|VNls2~^7JBr4VIj^{Z<*7=b%>j(8yd?<@NfoX7b|E<=NTVuA+G7oaPy=@ zq9CPHB2oBakhUuT`0QUea@`mfTva94M5MVIN5Q!$*e-oEeVqX^NhLKHOoY{$I`*i7 z7k?ozB)eM%GJRqeN&G*ty_}Yl=!}jJMh4AarB=?Td|}A==rbZ1p^W}6UBV1+<01Do zYv^ey{ncUBMOWlM~|`wreuE(nm!im80&U#?742 z(CV9E_q}g~G3)>AeXRQ%wZ!93g=|{-+DzVT_EvdqqHnM{bj_uQwhUjfydHIR9XLHt z=c}_W>_J`@J3A-Gouu9cj@Au`1qlk8N(Mm~^Vq6rUb&@OS%&#jzVv!Erg+>nm0bH& z41$m6-A6lIl}8BJU&+cE4bw+4!M(J@?t*zCzK3{XPbU6=dByVQ&Lw48 z^;owET)6K(X94Zjxxu!*>^p6b5gV`6vrn1Y-$U`$uyL8R&~rAyC7hBmNNZO2Ve3R; zh-V$+3h8!>5#7Z$Ha5?E1$IM-?d|%tW}OS&s!mYnJkGsBO(!H%U0})E=tR-{F7+^r zsHB_3VkB?(g|9h|fuT{IsJ+k5*7hx$s1taZkDp%@X!fn%p%8=VKm7Td3G~kjEA7qn zpP}EinMM2?npri(^r;we={h+%F=2pH40`aa`=i({RS4kj*4EY|LIn)vqAd2M5th^M z?H04|IC1;-ZSPQ&lZS&GN0{YHFVGnl3znKF%2m>j&ei%}3kr%y<4c<7x~zJ(bq!i=(XkEAzrU6xrnoZV5)$g_S(cGa zi)ngh&sjtcz^^UwWUo`_{=m2 zsJy~&lN(~7qhl@bf@DJv4bYWRv{jZ8?Zjs0c%PcNc_JoVrx-PCJFBAu4#E$ndE@sn zv`(F~YmVL-D`r8Q%4fIT=9W!NOf)+AZS&pkZ6>x34&vJt$&h5o9ghF-!;jqh*l5Js ztr{M*J3U+pxSTJERF*U!NI<#j>OcgY;a(w`DA_WT=L$-V!!cT_}gk z;eRM(`eNte)!$2}zp(GID*F1R+OUw$d6=y?rWyNl>qED?aM2uws0toBsgAk0<_ zp(Ees|7t&ssoKzA{U68lrL_o&W!P!nfUO2}&|PE+H!4Rmxl#0_Sx~0Cqsx&=V{N$Q>NJhpUhDxqQ6-TW8KU2TFr~tyIZntrnnbv-?dVj zmXQOQYb2^V?@({=?{Z;f;}Njj<$mckf%ZpBrK-^qH%i%XBp?Du@5KYlrB`U1Hj6sF z&p>V>xqkinP2%F&wW1LJS3tsZMko+Y7Shn`n;&VTvCO9~A=i8zKmXCwr%xX^bO=#B z+`t{|yL)|2>4rduN=i#_aO1%oTEw*Fsz0mL@<+pXu&UK(K&_=%baBZc48RpNIW zs^DAk@$m}zD092v`I^2%$x8lvS)pl~fWwH| z5DY{#s$x||@HK_Trf6nc_vHuCq}T5&^uW~^!f03pv!b&syMkZ7JT*Q(Ui|3MZbb2t zCr^%Q9 zR)9WLwDDK{-ugs8DQ8L6yK}deTpQRxJEovsxY!{`XwIBDDQAkmoAzBHGVhHDL&n;% z$w`QTAL?z`u%QPb$HNy7++AR;*piV$aNToGWghgn%e3hAuPC9^AN1riB2hcq{s`~-3U^O`}bcm$?RZC z)vuD_;NUQ5N{b~Qfm!ann>NW}Kdh88d!(l*m+3Ua$^$sya^=)lGxl5fi4zVe zr}sWg-or1{mf)s-_<4B_`~Q!hTe}%%Ky~~ggAIG?!_R|`V;?xd_{CONBpx4r{x5#S z%dc+Tym|k@1L^r+ePsX>3XeMk$T`NplSQ0DV-_3YmyOA~M`P<$Qw`R0a&k@~v8{Ar zn7iGedZQJdFoPiZaxOhZ-%{UR5oyQ`Bogf6)*FR|74O}q|SF8WXfco4S=| za~FN{jT|0DO(u-_vGaCgzS33hF2utMgziYF_ziKgd0eGPl-2Cit$q2GuwMBZ2~@B` z8XzPEL3VlL&K*8km1G?ch~4i&0J!~(8@Y*Qhfh*&deR;s!*GD^;$To4bKBemKr zd4;Gab-!IyaMB*cRg(NAcliumxhQcS1qu7xkMu@jth(%R4UNE-X}E>dz$7FT$xjy| z#}4P|9AGyg7~i7+Wnw;=X|#FGng=EUP=h*R@WKSFEr(DEN8Pj@#O10Fa13a%V?PS0Haqkp+j?xzLf`hIO*I1=k-we0bvI$q3v9O`H~05G=>w zldO;gAkO;jurlx{BQ{hKB!9t=F!G^h(XD)Zv8kH+`jJ{%T0^OihmRZrgSoVWlQcJ;zpV6~6|O=Ask~a4#q<+|0{+kb@&F z{{@l(eOysvzH@%fIP!&#H*dPZeXK$k=!UOv1pKlZ-K|D?m9Zf8>*CaF;&2x7BH#r% zO+^*%MbetAI1|;-Qhejr0)pk-~>og+b!N4!V&w_B<9AAmASwZ zk)#!7;=A5H#6t>(;^JaFL8YGBSoY`fl0olCk{nK|#zqS|3fp0v6ozneP)Ry-8Mkx5 z>=5oobH+@pNQmr?@j^GDral}I8A$;~%}=^p?Ao;p$74DI-I;B-Q=I8e_(~;4!elf@ zHB_m?5XeTV#2{<+;FQv!Qg=Ih`zS0H+{WWLR8FX=#ULZ-0uq&FI~crs^c3>fvn4Cf zo;mZRr9~b0Rq5EVt6SBxLWhPdJ32cLdV{67NMd@deFBcA27D2(J39@*cE-_|l2wOG zDtY?!;66__IT@LY++Bd}FogL=ZM^0{d5lL+&Q7>gY2y{wy}Z2ORQRpZk!?^A;HMP5`|p%>6vYt`1lT^#z3M&GWFg! zJT(Ird5y@+QgLW7GBQSD19rFO=bv|U^zrwPM(*&`NH{ttM-7o)!OScHC_v}2=eV;O z=5kbkJ;n%OS^`ja@|l!rI*^D7w`L}9{rL}lf1D zY_pJg#7+i@T4W>r=TMXIq!3|CAUx!$9ue|)&dTwqkwU#%IH++0H;p`sB zr{^gQhHQ%m(4>g=ox8aS;ANrbTN`p6(x)LMVD1YI4Q0_i4acy3tind+(2sM=;$kXL zXzB{?>pCFU261^MQiWJIPVd(}J<%ZVvOKjw&y88|a2(UBRk~XoYH}THVpY@Q8Z|h9 zg{fqi-2+A)j;bL$vu4yHPvz_`o^9Kb8hib5`hmh*xe?(kx#-@M9=^Vrb_jK_KPVwv z4DR*3n>UyEGOm@yPO1Tn9zCp?YT#qewqnIPDJd!c!6L*~XyDZ=eGWffv~XcmuJd|l zXS!jQs~?c{CLI&MaYhzWz-P{)X zi%m>U8X_4>)qq`FF6I#$rQ~Bd8aO@=l8PrC1{rwhWT^;*MZJBim+cU^f0!N+Zw=p* z+LNcESF*9ipqQ0CzIX30OV~tDiRj`BHP_Ds8IgpH3{jl*DpQM=EUCS;e4YCo7v!<< zAT~`6J-+@*LGT@Mn*-hmq1wr7jwy7MUcfRm@b^}_6PaMrl4Y0?-JO%0JB$f#^?mO! zosOjs4yOi=QGo!wi+b~jdG_l!)*XgQI59oh#dVVDh`cevcj9G%a=5o&-*8khI}brj zJ9z@3t_xv5g*o21DGjG#dP5O2mMRFr$*l3ZWr2l*$j;eHNE#xtb>zcF2F9{?-#$Z} zenJ{j$QY1ZtXEg|-ps>OcrQbNZlB-%ovQZ`E^qauS`KW`8Z#}zNoqi!%%?}ExnBhuBdnu4h5=x!#LUs&9TpM_;v^URD34Mz>8Jn2!ti&h#;F~ zNs*qo+~L%zyAaddO-T42vjcZq-#Q(&a`ozyolZ*p4VEaW+B4wrvV^~^24zGDP0N%y zqC{f1QDl}>A+n0&efBjw<2&*U+uS?PrvhcE_juLSrO&3i<>rn~a>cBRX60Em&tcpx zgA8rE&U|ie?g$)+iU;?|4!=_x>*(lEG{)l~kp|W9J$T55!4`9MT~cy#s@*#s;}>Vy@)d$g|7iRUgESwRv=oFeoKWgMgZ!eeu#qLS*$$c^-2 z4IsJq@GmndngLS7yFdRt4`*y2vL5g41WjQRJ%(i?G@-yZuNlB?W1gc!ZjLi<=yvPg zlOF8iikK=RZ*QMP4&YpeQIa53`ZO%%JpbDT?DG%=hQ@$vr-l95?OUS?e!|96Rgboh zSD0)-seat>kZy#ZZp~;~frgZ>1ld0iZr9HvPJ_}O&CSgzmR-j&sPKAmD6T46vac~! z(DU89cXzz^rJJ;DcY1GIP*lW=LkzWab&7r!!sJ$29G^Ie1D>sJXlPiHt5oB-IWAD) zc}Rv-q`Vts$aioOAat;$C)s6S8*1Sz#P(ooZQaA;h;AG zMqoH1DiMzT2_QowNhPa?RHWm6U_*#+H*7~fE#L{D(%32%aH8TbE;#d>JaFpYMSrP| zrHUC{ma}Y}qGr;!_%+ie{i5*sh1BOi7zUa{zWsfairQT~KNu}Bp+2)zMW>$VvzFa;lrrmNP83HGu9Sp>4eC+ELgDM z7;aQ=-Wz)|+(RajOG-*p({b46+4QQdY6+^+2Bn?f;#1XlXKE!QQllXYJd=W<9#&Z7 zArjh!-?od2i7Dd_TZ&rOG;sT{sjEbFCml{3p+^vm@b;nmD)Ae*xi_M+uJn=MhY_Pj zY#E&P+}nu+rEq$qkeF5X4RUA>H(soN+f-Dv4-@W$8X@OO%PcBFTSDQ)i8CT5j#AX) zZ}^a-86q-5oZ%D7%c?^{a$zdYHxCw}1K!9ChR|;1UAy*PEoaR$on*NgiKjRD6tLW|`noV!RR)!cGa6wQ!tXeRjeNHW3i=@3N0UwSlVmhL ze_90>EYpf3UkM0JY9T^>75=r)?c0$kuq0qQ?B?O2fVL938bqFr>(=c?cIX{f$|HN| z&3Vl zcVZ;^JO{Rc|GDf&-sKYz5YyJCg?HCSx#%aT>&ab=!U$=;JofYp$5C~k8#f|CL-*hV zQVZV=4OOERq|kRB=%~B$e4qJljlg(!%gV|wT(BVFb~dnB*r|o!cr>6NRcwy-{KvL{au|QV2eB*_){c~6aR6sM@YS`#(zJHvT{GN zMFhC$G|nf;ltO{husY<_%LjdU(lfh=t!-c+{?erdWUeZn^W5dk%=)E9W;Ql;NPC3r zem{d{CX1}N5>p6H96PoKsQ`I`$f*}DS)zFIq%YDCwe}b6tl+C~k7ChF6j~<~?sV~U`dO3lO@yD4!;xdXnB=0rhM>)~tk^zdE zusg9a-83EpO}hc`RpWzGZ3Z+@jXc##eA3#gnQK2>3G^=pBM+WbRaN~;e>EY3OKx$d zPaTkztpI8eiPiperdX{+sl$l%kG#%*zI${{odrQ20%Dc-cH|i0Pc*Z&NGiX-Sx73E zws!E_){@^Yb~{{7VIKJNe+ukuk49Haua}#=FZI*CLQwj{AOGVw|9_7fk#F*!-lG3A d-y(qi^(AGE(&errVdNrZ_a503_rs|l{};IcjxYcK literal 0 HcmV?d00001