From 59ed61ae9bd0d9239dd346eb0a3116a3c7a52a70 Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Mon, 16 Jan 2023 13:59:11 +0100 Subject: [PATCH 1/5] refs #4253 Translation & UI fixes --- Dockerfile | 2 +- debian/changelog | 2 +- debian/control | 2 +- forms/account/conf/index.js | 18 ++++--- forms/ecomerce/confirm/index.js | 22 ++++----- forms/ecomerce/confirm/ui.xml | 3 -- js/hedera/app.js | 4 +- js/hedera/gui.js | 25 +++++----- js/vn/json-connection.js | 7 ++- js/vn/lot-iface.js | 51 +++++++++---------- package.json | 2 +- pages/update-browser/firefox.png | Bin 0 -> 81689 bytes pages/update-browser/locale/ca.yml | 2 + pages/update-browser/locale/en.yml | 2 + pages/update-browser/locale/es.yml | 2 + pages/update-browser/locale/fr.yml | 2 + pages/update-browser/locale/mn.yml | 2 - pages/update-browser/locale/pt.yml | 2 + pages/update-browser/style.css | 57 +++++++++++++++------ pages/update-browser/ui.php | 27 +++++++--- pages/update-browser/update-browser.png | Bin 63808 -> 0 bytes reports/recover-password/locale/en.json | 4 -- reports/recover-password/locale/en.yml | 2 + reports/recover-password/locale/es.json | 4 -- reports/recover-password/locale/es.yml | 2 + reports/recover-password/locale/fr.json | 4 -- reports/recover-password/locale/fr.yml | 2 + reports/recover-password/locale/pt.json | 4 -- reports/recover-password/locale/pt.yml | 2 + reports/recover-password/ui.php | 6 +-- rest/client/supplant.php | 4 +- rest/core/locale/ca.json | 5 -- rest/core/locale/ca.yml | 2 + rest/core/locale/en.json | 5 -- rest/core/locale/en.yml | 2 + rest/core/locale/es.json | 7 --- rest/core/locale/es.yml | 2 + rest/core/locale/fr.json | 5 -- rest/core/locale/fr.yml | 2 + rest/core/locale/pt.json | 5 -- rest/core/locale/pt.yml | 2 + rest/core/query.php | 63 +++++++++--------------- rest/image/locale/en.json | 29 ----------- rest/image/locale/en.yml | 27 ++++++++++ rest/image/locale/es.json | 29 ----------- rest/image/locale/es.yml | 27 ++++++++++ rest/image/locale/pt.json | 29 ----------- rest/image/locale/pt.yml | 27 ++++++++++ rest/misc/locale/es.json | 6 --- rest/misc/locale/es.yml | 4 ++ rest/misc/mail.php | 6 +-- web/rest-service.php | 15 ++++-- web/unavailable.html | 3 +- 53 files changed, 288 insertions(+), 282 deletions(-) create mode 100644 pages/update-browser/firefox.png delete mode 100644 pages/update-browser/locale/mn.yml delete mode 100644 pages/update-browser/update-browser.png delete mode 100644 reports/recover-password/locale/en.json create mode 100644 reports/recover-password/locale/en.yml delete mode 100644 reports/recover-password/locale/es.json create mode 100644 reports/recover-password/locale/es.yml delete mode 100644 reports/recover-password/locale/fr.json create mode 100644 reports/recover-password/locale/fr.yml delete mode 100644 reports/recover-password/locale/pt.json create mode 100644 reports/recover-password/locale/pt.yml delete mode 100644 rest/core/locale/ca.json create mode 100644 rest/core/locale/ca.yml delete mode 100644 rest/core/locale/en.json create mode 100644 rest/core/locale/en.yml delete mode 100644 rest/core/locale/es.json create mode 100644 rest/core/locale/es.yml delete mode 100644 rest/core/locale/fr.json create mode 100644 rest/core/locale/fr.yml delete mode 100644 rest/core/locale/pt.json create mode 100644 rest/core/locale/pt.yml delete mode 100644 rest/image/locale/en.json create mode 100644 rest/image/locale/en.yml delete mode 100644 rest/image/locale/es.json create mode 100644 rest/image/locale/es.yml delete mode 100644 rest/image/locale/pt.json create mode 100644 rest/image/locale/pt.yml delete mode 100644 rest/misc/locale/es.json create mode 100644 rest/misc/locale/es.yml diff --git a/Dockerfile b/Dockerfile index e6a0fc4c..5e89dc24 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,9 +33,9 @@ RUN curl -sL https://apt.verdnatura.es/conf/verdnatura.gpg | apt-key add - \ > /etc/apt/sources.list.d/vn.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ + php-apcu \ php-image-text \ php-text-captcha \ - php-apcu \ php-zip \ hedera-web \ cron diff --git a/debian/changelog b/debian/changelog index 87edd34d..f4f50393 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -hedera-web (22.48.5) stable; urgency=low +hedera-web (22.48.6) stable; urgency=low * Initial Release. diff --git a/debian/control b/debian/control index 46b92b74..99dddf1b 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Vcs-Git: https://gitea.verdnatura.es/verdnatura/hedera-web Package: hedera-web Architecture: all Depends: apache2 | httpd, nodejs, php-cli, php-vn-lib, php-apcu, php-imap, php-soap, libphp-phpmailer, php-gd, php-pear -Suggests: php-text-captcha, php-zip, cron +Suggests: php-image-text, php-text-captcha, php-zip, cron Section: misc Priority: optional Description: Verdnatura's web page diff --git a/forms/account/conf/index.js b/forms/account/conf/index.js index 1cd8855a..ee0f4d48 100644 --- a/forms/account/conf/index.js +++ b/forms/account/conf/index.js @@ -32,15 +32,18 @@ export default new Class({ var newPassword = this.$.newPassword.value; var repeatedPassword = this.$.repeatPassword.value; - if (newPassword == '' && repeatedPassword == '') - throw new Error(_('Passwords empty')); - if (newPassword !== repeatedPassword) - throw new Error(_('Passwords doesn\'t match')); + try { + if (newPassword == '' && repeatedPassword == '') + throw new Error(_('Passwords empty')); + if (newPassword !== repeatedPassword) + throw new Error(_('Passwords doesn\'t match')); + } catch (err) { + return Htk.Toast.showError(err.message); + } var verificationToken = this.hash.$.verificationToken; var params = {newPassword}; - let err; try { if (verificationToken) { params.verificationToken = verificationToken; @@ -51,8 +54,7 @@ export default new Class({ await this.conn.patch( `Accounts/${userId}/changePassword`, params); } - } catch(e) { - err = e; + } catch(err) { Htk.Toast.showError(err.message); if (this.hash.$.verificationToken) @@ -65,8 +67,8 @@ export default new Class({ this.$.changePassword.hide(); this.hash.unset('verificationToken'); + await this.conn.open(this.gui.user.name, newPassword); Htk.Toast.showMessage(_('Password changed!')); - this.$.userForm.refresh(); } ,onPassInfoClick() { diff --git a/forms/ecomerce/confirm/index.js b/forms/ecomerce/confirm/index.js index db1e9f78..918112a6 100644 --- a/forms/ecomerce/confirm/index.js +++ b/forms/ecomerce/confirm/index.js @@ -106,25 +106,23 @@ export default new Class({ Vn.Node.addClass(this.$[id], 'selected'); }, - disableButtons(disable) { - this.$.modify.disabled = disable; - this.$.confirm.disabled = disable; - }, - onModifyClick() { window.history.back(); }, async onConfirmClick() { this.disableButtons(true); - await this.$.confirmQuery.execute(); - }, - - onConfirm(query, resultSet) { - this.disableButtons(false); - - if (resultSet.fetchResult()) + try { + await this.conn.execQuery('CALL myBasket_confirm'); this.$.successDialog.show(); + } finally { + this.disableButtons(false); + } + }, + + disableButtons(disable) { + this.$.modify.disabled = disable; + this.$.confirm.disabled = disable; }, async onDialogResponse() { diff --git a/forms/ecomerce/confirm/ui.xml b/forms/ecomerce/confirm/ui.xml index c9deba20..8e31ea3f 100644 --- a/forms/ecomerce/confirm/ui.xml +++ b/forms/ecomerce/confirm/ui.xml @@ -23,9 +23,6 @@ tmp.orderTax; - - CALL myBasket_confirm -

Order summary

diff --git a/js/hedera/app.js b/js/hedera/app.js index 6e7ba1c2..290fca02 100644 --- a/js/hedera/app.js +++ b/js/hedera/app.js @@ -222,8 +222,8 @@ module.exports = new Class({ Htk.Toast.showError(_('You don\'t have enough privileges')); else { switch (err.exception) { - case 'UserDisabled': - case 'OutdatedVersion': + case 'UserDisabledError': + case 'OutdatedVersionError': return; } if (err.statusCode == 401) diff --git a/js/hedera/gui.js b/js/hedera/gui.js index 60c8f130..9f391b75 100644 --- a/js/hedera/gui.js +++ b/js/hedera/gui.js @@ -50,19 +50,16 @@ module.exports = new Class({ this.doc.body.appendChild(this.node); Htk.Toast.pushTop(this.$.formHolder); + await this.refreshUserData(); + Vn.Node.setText(this.$.userName, this.user.nickname); + const resultSet = await this._conn.execQuery( - 'SELECT id, name, nickname FROM account.myUser;' - +'SELECT defaultForm FROM config;' + 'SELECT defaultForm FROM config;' +'SELECT url FROM imageConfig;' +'SELECT dbproduccion FROM vn.config;' +'SELECT productionDomain, testDomain FROM config;' ); - // Retrieving the user name - - this.user = resultSet.fetchObject(); - Vn.Node.setText(this.$.userName, this.user.nickname); - // Retrieving configuration parameters Vn.Config.defaultForm = resultSet.fetchValue(); @@ -119,6 +116,12 @@ module.exports = new Class({ Htk.Toast.showWarning(_('By using this site you accept cookies')); } } + + ,async refreshUserData() { + const resultSet = await this._conn.execQuery( + 'SELECT id, name, nickname FROM account.myUser'); + this.user = resultSet.fetchObject(); + } ,async hide() { if (!this._shown) @@ -474,11 +477,8 @@ module.exports = new Class({ this._conn.token = json; sessionStorage.setItem('supplantUser', supplantUser); - const resultSet = await this._conn.execQuery( - 'SELECT nickname FROM account.myUser'); - - const userName = resultSet.fetchValue(); - Vn.Node.setText(this.$.supplanted, userName); + await this.refreshUserData(); + Vn.Node.setText(this.$.supplanted, this.user.nickname); this.$.supplant.classList.toggle('show', true); await this.loadMenu(); } @@ -492,6 +492,7 @@ module.exports = new Class({ sessionStorage.removeItem('supplantUser'); this.$.supplant.classList.toggle('show', false); + await this.refreshUserData(); await this.loadMenu(); this._onFormChange(); } diff --git a/js/vn/json-connection.js b/js/vn/json-connection.js index 12013dc6..6a088aaa 100644 --- a/js/vn/json-connection.js +++ b/js/vn/json-connection.js @@ -50,9 +50,8 @@ module.exports = new Class({ if (user !== null && user !== undefined) { params = { - user: user, - password: pass, - remember: remember + user, + password: pass }; } else params = null; @@ -261,7 +260,7 @@ module.exports = new Class({ if (exception) { exception = exception .replace(/\\/g, '.') - .replace(/Exception$/, '') + .replace(/Exception$/, 'Error') .replace(/^Vn\.Web\./, ''); err.exception = exception; diff --git a/js/vn/lot-iface.js b/js/vn/lot-iface.js index 2678e9af..4c4f1b96 100644 --- a/js/vn/lot-iface.js +++ b/js/vn/lot-iface.js @@ -1,4 +1,3 @@ - /** * Holds a plain key-value javascript object and monitorizes changes over it. */ @@ -10,14 +9,14 @@ module.exports = new Class({ */ params: { type: Object - } + }, /** * Shortcut for params property. */ - ,$: { + $: { type: Object - } - } + } + }, /** * Gets a value from the lot. @@ -25,9 +24,9 @@ module.exports = new Class({ * @param {string} field The field name * @return {*} The field value */ - ,get(field) { - return this.params[field]; - } + get(field) { + return this.params[field]; + }, /** * Sets a value on the lot. @@ -35,49 +34,51 @@ module.exports = new Class({ * @param {string} field The field name * @param {*} value The new field value */ - ,set(field, value) { - var params = {}; - params[field] = value; - this.assign(params); - } - + set(field, value) { + this.assign({[field]: value}); + }, + + unset(field) { + this.assign({[field]: undefined}); + }, + /** * Returns an array with the lot keys. * * @return {Array} The lot keys */ - ,keys() {} + keys() {}, /** * Emits the 'change' signal on the lot. * * @param {Object} changes The changed params and its values */ - ,changed(changes) { - this.emit('change', changes); - } + changed(changes) { + this.emit('change', changes); + }, /** * Copies all values from another lot. * * @param {Object} object The source object */ - ,assign() {} + assign() {}, /** * Copies all values from another lot. * * @param {LotIface} lot The source lot */ - ,assignLot(lot) { - this.assign(lot.$); - } + assignLot(lot) { + this.assign(lot.$); + }, /** * Resets all values. */ - ,reset() { - this.params = {}; - } + reset() { + this.params = {}; + } }); \ No newline at end of file diff --git a/package.json b/package.json index 11df0f03..759c3369 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hedera-web", - "version": "22.48.5", + "version": "22.48.6", "description": "Verdnatura web page", "license": "GPL-3.0", "repository": { diff --git a/pages/update-browser/firefox.png b/pages/update-browser/firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..2d25601a473fcbf4f2b81052e1bce5af2e493041 GIT binary patch literal 81689 zcmeFYWl&t*wl><`G|;%aHSX^2?vfDP-CaVU(ctdECBXs&4-Ua0KyXMP1cHP>aA^D^ zdEdRy-uHf0w@%eL_t);K?&>w?7|$Hz88Uly%@w1ip@@M>iV6S#FqD<#bN~Qg=;J#X zg7i3|H2Z}V0H9|K)O+TwW8nvN_jI#$aJGSZ2e{inZTuZ<0RaD%@;rkEa$!&Thj*y# zz($1eKKs`c_E#cAIo4_Wdzl%zHJ3a&vT}f5!N|xZU#{HzA zNZ;T33D~+3nW}LY;HU2RsT_L&l_f{Z`_g(3lO5-H#W_0#bTlMuBT%lY1Fo-L#`x-I zMvq~-1;t%vmt z8)Xqgc%Q2uV@JHUzHNX!DQ+l@SYPdMFq7?~&6KY3K8lR}yh)dKuxy~H2DYI@83Ud8-8jb;Yx0{EB zA^3}O;5b_Y`k9=iE8zjQZ&XUjrbT#EY+}J<^h@`YFy@W9$hcxsPpBhxhE{khF*}%{ z0jH?1d^mlR4pf}p_I@NA?}_z0`TX3vXZ}3V56uL_X*#@;7OW|9f> zsj$3H*NMw`8c4!FZ>;)uzDmmDS;KzKGyX=~RRvY{))~jf1w*&e;R3+N8K>5@z(Xtd z$-WfiuarUN@g#P+0fd4-o0e@0tx_ad>l*eN=AW8b4d)BM-~DV^_5HdTAy9sdY7Yc&Z}OZTbG{(oK#%sFcvG>`eNGgx{3^#v>Xk#2iZkjN?G2 zaYY59P!RA&)9h4?Fxz$`gjC9LG%(qUGFi%T6=IKLNLub}FqXuA3Beb%yJ~G4d~o}o zCvz!CdpYHCQ(fWmX*v++Mz5G*p0O(FQj_c*M#`$BczekCkfeCx7t7sqJtxI;-RCu3 zeD!SC^VL?h1XEq@BX(QH&zI<=3s5R(kC?ZEPupyCU0Y;wymmUSC%v|Whij`>n@9E= z4C|~_+Pn^oWK<24Cz7=oY4_c98!(`bfO9 z5h$o@((nJRkc{NpaNJqQ(e8a6mU}2Tj+^nsW8NUfhr_ByWKSHq_A_4aexl;*D{Q|l zEs>4BW$AkF&XPIH*Lx#je75g%*v8zg5Tz|8-f@+CaLujP@;@s;8Jojhtaov7Y!md{ zVXIQ}nLW7ZMq9UhHCCwH(3~Ws`O!}5$BQU8> zYP?WS&yL79Z?X{V_>ekgLZP8aeTC>a1DIeS@f{K*Z)zE12)qieNZ!eZo!=v=c?{^* zdWaV<3pcmr`ZhY*r0zwdq2gLt&cz=X^^Npq!T6yW8%8hp3@rRm8HmPe6~(t{iqBu1 z98!*3Fj4Ec4TAJF(>b6E!y8S-t#~|+WnM1RY%7rwq>DR-jNxc+u^QS9R-pE^yo;Gh zLh-2;5mTNbL5u}HUR`}YVY4K1^`qu^n`$>m<k-l2k;G zzMbX2?{3bUUCHK=d+lkEKK?zK1w*m|Z4!-MuZc&v&C(&iSV$sU@z6Y~By@OikYR=%&ry)T z=;5OtS>W~1^@zyMVqO@qq5!JQ zCmj!pFkv}AR@MB+39+bZb|(|)&o1dy=2(NtjjQwH63ba)4sXE{w9Se|9 zxJ+_v6O&$|EfH5%spPc&#SbPFH?;=;A~!)UqW593SCgC3FUKJ1iQ)C9CFpQAKJ=Yq znYiq{EzzGU>u5FULpVj@%mNmUjXJxyuX zUV}6Pd}1T|lL@bG`+6<6{NpD#ALLs@a{-Z_T`XGPvDo5|wrkc9lFL(6GCq}71_kJW zJz^B70xzg`W1_PWwmOr;UdjdGSh8qUq>H#UfBX<7?3v~JMdqYSJ(wy}2$D@$Ja>Tm ziLJtHW*wIrpETC@gfNw-(pdFE?-we*Jasf7cB*@a+8Rluhz@62pgsZW7jPYpm2$rZ zDjMiihQVwkc8_|TH3i|LH1^gPbuBJp#oXq%eeLN2C#Qrl5UBuw*Xi*Y$FP8Hw&6bf zEP+k>MB3-c3BOWiWT>2I;}f1fV3GWMH?y)g#DHrut<%OlZfGCZBQTnzpTzCf5Nw!#VPFrqUr34|?VEAMvSIM}~B-pb?s3hE-wxV1>f$gy=6q{h~?#t2-6}B9ck@E>$I(X+qubZ)-WObcf&RXtc9pT#T_gJpBE5|eVwL! zd&x&agjPotV_x)Sgs;@Yy2*2ZQce!NCfV{zoN3Xq0bydCKCMKdrMROcQpXz(ZUE8+ za=Nj6gHPyXrb!sKTQE{3VC_`tKC1L(UM2Au;+7H@_QMc0k-VrBCL5MEHnJ=(K70LK zZ?N}>jDT^3N|&T{WXjB5a4iwCc?^%xvh=qo1sP`Do8ahp%lh+>ThrYlNxSxBM zQWAK#Z#*DKd75Jjnka{J@jT7 zX*0yud#_LnyU=9EpZRGSOJF`Wuh9TA^Kv^TazbN5mG# z<23?gDKa4GBu{TmhEOf3wiltVLT2t-E3b4Q;`Y=ojTYVE{;ZmY20Mq zQuUm_vJW!B>(a#>O}CFB+d>$KIF82Rq$~W(aY71RFKSh}#PgtDG&tFh>&@!l+DKgy~3JHTAaAUBE{nKa(l_z_@B0Xt6)&u^m3^;5#gR@@1{6lxS zXr9c+AYl~Y)@GWuDia<54GmfHEgkSk{}VyZ&rmW!1)g7C>weuJMkiDoCxk16O(4b| zA~yKtSRdf%?gfDFT$yX7fhe6-s!Rf9R0^Z8O_8d2>ZNRVDP+VgYvWhflwIU| zE!7fZ9{#nrA|KFY@yiV4S7{5ssW)W>3aWI_MJh+?^d-gunBMU-Za%AO8|5K46cjrzgm4wP5r_Y^=x8eb2XnMpKm5cA2N4`-i-x$^Q>vx5GC59uAFH4C zckL8+W`mhif00}crgDyF*ydJtW|SZe)| zo-qyfnDxdyKxvLv!-I%TFHD9yA&w17I*$>b{+%j=iIqKx1jA&DJua*-+y#d|O=;(A3Snzt8PM}C@{c046$ zijevN_%dqJ{4xMX_$8nsV_zOY8gmY*`Sq{a(4SHft8)~kzfvyb4RfjzE_0;4lRj%b znUvLkiG=JGN~z(E#!zEgi|$m}O*hIo4IsZ!L0nWbad20IW|HP77!Ir<=u@mIsZnGW zTm!I~~*iIP?ckyRthnu-XlV|9_P>P}gXjsDH3G}&uPLJ_iSCuL}iDVVQu#-4Rz(9X?{H?A_nvfQYbr6W_y!O5MMzs@6WF%Uc~b}! zjVq^mrvqCoz{Thr2Y|F9JLD*5N!N5L3jdT_5lo_iZ$W-BKPv5g&6Eh0DitM3VPWUMno;&i*pmSn;?IQSwRl#nKH!dO z;R1ET+lX;BRT-g5$Y}IGXL`#jkv9B_A@*k1l#VVIlI;a8DAAQvIUTd#H<6>M7tq+c zA;M>o+P+L&;3u^AKh^pNw0LbX<|>ugt6=C%L71CXau^TlZHL%(pyX#&Z+m@TqkkL= z2*|0ofaCnM*WzE%MY<@7@qJy~#_aPlc__9FV7=M&j=gHX^$4d6y~Z;v=Cw%W&Q1iO zC7w!_w^Y0$-IMszw$8;he_@n^S*PL&EP4Mj^>^N#T6{~~7RqytOP zK74UCke=N-Np37zfevFZPkP1WhSuNSdMB`wNE1&>n!Msx$ew*yr?T8A1 zg`UvqGn?py6>U@}67ryCX%qKwVa4@-Ydzuf&c+`Gyb#GIYVMo|%~(Q)r8JZ8@J6&w z`}KH|8H#O6kZzT3U#TE0Gm@ceYRTpp%IduQf^anCT$F(%6V4X)E))S^f+iDzkjUjM z{|y9s5-Okms&Gc#ebE~UDN{X)Eg;aJ*x2xTKBCL9qxj7zZIfhH@_biR1Ia-QcE-vt zC~N;fpRg2h&LW(Q`-LIj*?GkaNIC}lFfZvjyw7?&Moe~b{Is-VqmL*|&!vXji?;LUNb>ZiD2L*|nP$+#2PpLtA=S`~}1#4(DM4 zOW{P(iZ=+^7w^Ts=s$TES40t^nURJ`)U&|K%N~<)ac(?Tsk7@+(r*dD;AxF>mS0Cp zNq#w2r)|M^a={VGw?gv72n;ct3EkxuDSKs6KkCFA?`ApIH`ga$78hS%TEJ*8gt`!a zY@tqEoAwqjvClT0b2*qhVPvP`HI$P*mUfKW_i7U!`a0Z^@s%Sja;vZH*>_yyKtyIG zf&QThgqL%)p1JRB1Bn^$!GzkhG8DZ02pqk<7zW()0&h?gdGqB}l$$}_hzI<|@Ca6t zxNuJi!xNYUDdR#vY|0)5mjW^7b$HpOLV|m7evtGNF>-l14dUCMCwQYeJSr+b(KB%e zA)Vmx8E~~Bi;u8CT zDk1qg$I)aPSWU3Q(~?S8H6XQf`U-L>`B&(&4sbFVfg(|XP^vkch;@QG1blY+$bn=Gwx_jaDC@!T^qki5oi3RmFIucX>TQCf^iNrssTtWvE1nfaAC@PD2Zp zBE`j_ZTE1r_6RV-_f{@CG%B}pM8nFx&t+Ozy6-D&O<;SnLD!><}EnOZ)q*_H*{Hq;I8QR(8H8z%poq$q zR~d;anM(z9HiZ!=+AUy*a$E3azE*b5y8ZdF`U)!aB{5>QJ^H#d>KbK`_Z}c>u*3bs zWS1-$Bn#e%WDOlML`=g;kX26@2@)pwnyN*mHKAk}#NlX=mqgaTZ(?2jO;t<=B^E&@ zlklMnnC_u68QS~GP?t7pUwRGO@$F*T1;G}e`Diu237~OhLShG%6N+d1I_EQ4F$4t8 z121{66SPE+aN(UzGOvmpTwFox5Grulf@>wwoBnCok0^7*fcdLpT>jYgHOXw;WMcof zhL=AG@CF)V2rFD_{ExA+m{}0UVuh<(^~H(S>^`9;Equx&eV*A=D~ro6hTM4NjGr6W z$HcEF6hU65fPHG>izUr(19bc}gIgT2nh$12B3_rCw;=M=>YAd!Hb6v_A}LKyI(C^u z=%0dH>;DY1|JME_AhN`Z^d>LIKv^npf4y2F+_GdI%iw-bE?Ir)82jt+<&>?7JK;!K z+1(R+$QfgSpyi!@GT9oDq4bP$0f`0%in@Kutpg>P>FlH?qo&pA~8 zVlAYT%Y;-vsWjYPOHmgAbgkWg(Na-Uecyb}=;v`cjmv)VARZQ}((QXrDp8m-eUV;W zmHWii6N~GW+_Vgo-&kbvvqI`Y*wfsIp@6uMH0!VxZUI2+?ZOtst+KH){+EDX3dakI z^WoA=iPp@{I6}9Zop31eB;1iqrkBkk_`D4XkuPCDN@vKk zwC(-ZiIP*d+2*B;>|8z(c+ct7b(&NI%`+*?FjtrfnTL$6?BQW}^01%!2VH#cNrHZk zXFJszt?+MX9T)5=3YXcqG$Fo`$M{BCz5lz?=_-KmKxifySLFnA8ilGT5vbctF11WF zp-=ts=O;NAQsX!4=FX$kD%TZF+1wAQ< zG_MW&V%TlV{E#+(YaQjqsB~&wo|)jT(Vc3Q(RfPEw38;eTgm+NF~rvqQAse5Y7x?C zS7R(~PhD8MV5Ba7_ld5f*=WmN+ZF8TUjd&ch_bLuo$Fs%InW4uLo&d{xKNvsdl>-< z&#vf+vVHrqk=(RG&d%bFsR%P%?qH*HMRH=e_bI<4(g3=+s5edc!Vu@Oxw8N&AdTS3 z54uJH26q0ZoJXj1RN0ZU39X9ghZg~<%~TE5$nTjKN;rULRg8LAEV8fYBy1=}gx~nm z5t-#)u-7%VUdTAD;<@E~p<88nug1+98RcTl9jHbaIs+X06}>pr2ZFlgW{M@hTY0MP zNW1So&+HcTu)y#}c)H5?_H$ieVSkxO(}HK8SF`g>#t;(5$L|WhHPSp4R_^axTscCK zZ`nRoJQZrL?W{^7YO&T}Zj&1%dTVN}X$jhSQ8}8^gsyVjw+ND-Q<`BgKELIy;?s?{ z5i@&{Atlx2YwFw9q+3h6tYPRkKGNvAAr6qBr*$l>^`lyO{8RdRae!d%Cj~F8ir^n+R4A9YkO7_K1`IM!yqe~4$b&1J?LG7#(=;`*-CA~kSTMC4;9%w&nIm_ zD-rr~+2tQOXzjM0l$P3sAu>EnIGwArxG-)I<%@QK0Yf=B0^K!6bfoX$8n#h3yjIG$ zOE=-OrJ#}x<^B?yyY&aGQ1T%?sR^` ztR8(K`Wu-*balt8#Vm^xh&v&QZ?Ps=3_h|F%_Ol3EP-cE3cVLIuQoAaFLrcfKlce` z(Zv4ctRu{yrYIx@#uw1U7!P9JW7=2YXOJY(gX{%zm9JEYH+43>Q(dw3$i#-+Rho!u z48KJe4>UJws-;L=seKbHp+Q+-zbSL)e_7A`!6cDT#XWzE(p}cbvh>jX!6=r@aelZoS#y&?Tl?UvRJUHKVzIbGRWPsOXa;m3*wsG}%1?JyDYuvWby2 z7jj+)p@o`VZWUn{VsN|$83OmqLF0iMCoEBLcv|v}x!C5x$ee&Fe%6J6@4@F_qv}fF zMD#*(G4)LG;^He=JEyFN14pUk4}1PvGerv!8D*EZTlk&y0}~BXD}lWuS{l=rGiqii zT#K6vVJwz-tWHrX{Og(~6fT#t-|B+h=eXBe8HMoK&5+N-1Ybk=OGF}zDMSoAcAEu{ zAfUO|?^E+a`9K|j)N;x+Insxb&I-Y5Q#BzyE$oz_tZ+UAdu5wnNY-GVg?Ye`>xW-O zxQSSH$vAQJ-9Ps~6Vh3BSsvgt8}eul&v!Oe0)Qo=nfpp|2sC${KepZrsBMK2={q4- zmzhRn`mOm=os>Ieh!!`-Xk>(w8)uwh{W7c~Ge4JP`WltrjSjiJ1!2Cihb*vN=Qr*Ee z@L{;9@rh)26+WH1-oDcJ1s@3{@#c~CSK~#l{-3*$T;T#xH%EO8KEIxAvlolH%`TGq z=g5WGIgW3|K9%GLunWJP+Pam9g^%2Yn;?dk5-wfJOH}0(I)dhRV(xZs6e(ZzlTYJ} zYFoZ&RqUj2IX^{It912WUO}q5iB|HXa10%wRw3%?jLb^87<+O{dXyr5e_`tainV4` z>Y;xbyYjU-ip`19aqvAtJ^6OUy=f8|gTm5CMJnEjIvN8I%))28dF{TPRYi0tN;*UgMp1+QJYEBF}d@e(oRtf;?E@;RD=&Q``# zn;iT5UfWDZOnCN&@(}I!?3oQI7A>GjAbrH0sJezavg#;$R^(=v$rGGBd1X1@6I8X( zRD6>*rOSNoHM=~0vMm*et|6Cd)zRE6Q&sB_P$zq9Z($&Q|1I?w^USs-|1}-D^z+#! z8LLW49^5`{oD?B{m(2If)dUJC`l2%ka9bG5d(o9yEBp6o`z1j*oa%zD6-LEJSS)_) zvvDH-iIi1G2)iSrz9VW>( z(IEECJy%*2OP?{BRfUr0Pi4-G#?LZSAhHqq4J|gwp47TCLdy2W zBw9|L`0)<{AF}EOF9Ap%IV*#v-H82c9h%JR_j7~lZfX8=YrNKUNL{8r6yaZZ?$skx zoMsG-D&0`*S6c@uyMajs22V|O9#qM=o0`^&0(B}a_s8YC*qG(^OB8aG$IEJ^*L9-% zQON0(@tayiunUV$#fW8mJU3!l?0oc_4g>6`Fc(qk9J*eV;K6B1G|$wvK6ZJMRzr97 zw&Zgo(EEQNgQFK-esf1vaC39{$^D^!CsMV4;$=}Wjnom1oWuAO?FfwlLXb4#Xs&x# zGV}MR{?>P+!4W3U9> ziJ zQ%zaU=jka#r~Jbdqg^8*ENuk){Z}=G?z?rv5A%1}$eHLWhLXpxVDu`I;)je@Qs;}6 z?3Ei^7ruq^$|I%o+{$^OCX5^_lbAffAr=)D#20KQ`bIqBlwKFW0JIFYL5=D!VogIHXxLCq#o}+vS|CRj=pB)8e8*ro0+fwR-3`i%jjcW4$I0wkq zYaXzZb6xH>`aG*Y-IX(DIWq7qxB124+sL9GA&*RgN6 zW?Bwki$_yeBrihxaa>g1fo^N1qZY?uY|W70#7^2UgJIABhN^!0WovEf+>W+eF`wE* zU}h8$qY5(4eJ0m+*(!v!-t*%5N|cIY`eHdQLeHt`)%G=l1A5a!8}5mn z6c)OQGNESKRPApoIBPbyApWC^L7LOfy!@63$3r3WZzDCYKkFXLw=uX#S(r8>6%9dt z8H=JH=_v{v!aU@q_Ira4w4pxQ7HP&L*hC$&78+#jNyEOD`S@?zn{@;!zCOdYH)?UDR3~Z{F(*SxO zd3Y+zlE>>%`}E;l(byZrY1x%iF_xqS=RTUNdVbsmTdS9L=d6fnK#5SHKJO1SYtVw_ zChy6c0i36q_#0ju%HbSJw{3QFQ>xIGvLTf&5U4g zA2pYD$-YmL-=)vg!PkO|+h9P$h-a@U?)ggq087H*@eJEDbu|$yHx~{IYd1?94u2Q- z$1`pKfS9DeyM>jLjW^WN#?HZ2oaV5jhX(3kEl#7)ug<0JE^A}&pcLq7qZ_E9XBFsV zC2UP2DS;~HFY*ZBV&iQA^>=Z0^%C(Hr}={`^7#GtFeeT4kBGOEIL$M4EvT%Urwx>k zgO7uYUEbfpmxo3I6)NUwZ7ZT9r|>t#RSKQ_)USGgNyqgtw*x| zP14)J_P@ybH`{*C{Bh@B4S7`mC+@#V|HJn`!jDqw>LPM(RzAPYQg8?WYGv~q z>Jgm7;SopB%EpS@*2b1yfX7mZoln44h+Wu9kc<5>%GSJG+}7NdTzvlmq3P-Hn3WdJ z|7z85DC`@aB-Y}0o<0Kn z8GrOeMAp;B!rRSL&&|zQoaVPl(BGQ>oK}Aj`j4HDSbt4f*;}~U**tcSzti;};|~9qRIue1<`v+wuwdur;pb)N z;}^7K7ZSFzV7KJ6w6@~n<>nUnI~D$k?&W6d?PuX>BW?G{<0Ds(>G_8%DAS)nG5@iO&I6@zKcAT+(NcIkF{dUE%4}~mDOXiT3cGO+w$7j z^705-a9i36{=3ot11<`Sa0~ta=pr|tg&?=BEjt&NwZ&r<^4qdo*a$yXArCK?m5`tn z50B+vRro&`#ouYq|L-n}asKZ7|HxZ0&i_|t|0VD*Tg7Aa{~CMTf*yA?&VO!cf2YNx zz5ko9zbop0a|tN)Ka2dg`27!E|Do%@#lU|{_&?e8AG-cq4E(o*|C3$+V|1bZ*G;jF z>*H@(zsFl%%qNw<9}`2eR8^D%hyg?aqTn|eZy!fc+?5Qx001<+-)|rwH;?#n5ZPN< zT^@M{h>gm_=07WQ3;;j@%5u_r{ww=00y^oQ1YDdJRPFuhnC#}^Vnvv!M@N`I{~*A% z4~38pDjCPb%IU>-1WRoYTDdEiFd@Ytwc4x2v##SNQveMzULccXhZ_9Kf8O!4^D9+X zzSmx!;q{v6XYrlkJMLAJ->-AA!<$aB^(?dCtF8aX$D)wocg;|<;Dn?>GL3}ZAaFJ# z2=119!uw+?)~r|(G5D%EF8o3D4Q@0c?AQa_6k!_8yc?-kA;k9<_Z}aBl-@P5J3pP zcm94NK(m+gQT+;~2vp)l?M?u30$}#$U1Z|IT942epUY0C!5)2WPQ&XZ$9{nqF@=zA z7=k+j1p>TzqBG&VLfu(d=vP~dlc@J(8aPlx1nCEmx!XZ-CNsEqtS7q%bKA>dY|1i3 zp^Nc1X$N9pE#Rl;)Vqp+i%$^fN1*u!2wf-A`ionVbGp9;xG3bZLU(7)&suxC&W8ga zMenbry@7S2qr*r;KTbT8A5qxWdwyBVFlEAae?n`T)_NF#Wl@NRoUYPrNpC78d-@7( z4pHEb@e!o~cKSC+F(tk%Dh#V1(*TS;2qyq=IWJ(lR=2k?1R<}*|B@pI=Hbdjw@OX> z0VjOiMo2P4Vx6SC*}(auQxu2uK+Q)Aw-zyF0Y5b>p+!mjJTL~r!3+GKUxP$IpN6F^ zb0vTN4%2uYML&Yjd#tc-KuHpa>5bb2b8jK9mRb{WXdCPy$Z~zE`**BPoNjP?@xdFO z*!kf#7aS8v>s~ERy_jN95u%9jJI;0GKM@HAb0LJ)g1@N&q#1zLPmzrB5Eg09Xp1yY z3pI~EZi)Rd{Bs__RLB7n`~pjEIGoxLdU#F7ezYi1Mho3lzn$=qP}=_s%opr_VhrBs zfQsM-IQeHchDr+RH#Nk`B*U4)%!?nM{Eaq*kR1o>Mk|@WLV<49E#d4QQcpw_X`Xlu zXWi9p{(&M@1wHfIAO~-#V84}1VF}*;BmyFHzy^2W%H)ks)tomZ|K*}HWW9_867EKL z0#G=dH33f>(?hPGN1F>is0QF3jdS)WkcAaWdZ2WdaVM zXMWZkW{=aqeh6RQ{D<^jG@w9S1B&k^Cq;!Mv`3te<}PK2?D#?o`z#CU!5|q>lNI?F zd6DktKdewJ+}R@FCJ%J1;0#KWqRMQ~N2EuB-$zKU+R2j_N+q0m%LUP|;!egw0g3K9> zBp4o>PHAMRW^I1F&KVj+L@o}P=GmdWa9}UJUm=+C%d@ITqoD7WGKL zE(G&pgtsVV%yPXXF!33~P?;MhB>=l!)P)pwP!5%(ZE6qGU*bm~O3^^nuyrrMc@sjX z18nS|4W@!0VZDI81C7*9!1CGwPs{5Kx7%oQu*?0FuNClBv)UTM){e^!9qBNO}(+VOjlE4uEm^qP4_W>!|Qvt8_-4SF7 z%$^)<{rK7_hd+Q$EksxrM2C+FBrqd9mre&*I_wXe; z|GuE#>t&okZfO@zjOx`V{=56Cn-T{$a&uSnk!(b+TgnsN=3 zg19Zs0D;6nK@JZGF{=ch?N~qc&t`oESznuvP|5>_(x$>3-fg?+q~NK!e6HW(6{3<# z0^gn{YiNV)Pd9=h`WCNJN^Rk+W50|2z_=P;O$sUjhN=K;`ZuzaT4JJ%N|c>HjK1*9 z)SF{IA_6?5U`w3_LEhnN!|8)}M<_$Ie|OQk`~ftfcx)s$@F!f>BSxt&yO6yx$e1(D z@Q;r|ulIbq=GGi1;)OL{-rRdFdzh|eEYijYW4Qjmv4uQW^j4(MKh@b#PU zepAI>CI$Q|W6UfE7VKc5qq<>M91>AUXRUAavgLbxjLL!jff)uyB*41RSuE~9_m;h)xfXI+X zdY;kW&wg9I-#h)C?xJBtTqtytK&U5T`00oUd+(&K*3b_h#M&1X*4DNJTS&o^A5l;= zD};be$4vNk#pEUfSmfVy6@Pc^Mc*^fFJoz@$Pl3P>DvQxXDg^MJB1$N0SzUB9n3DY zrr6k3n$Z6Zj#Ofj`$5f}9*oOhuw-4V`=P$qEap$$+|)>&Nkx10CA0(d36pK_JSPcp z^FX)z{*%W`D&QHwq8Q%3=w_5Q18f_QK4JrpDY9%O1-6~VP`vIj+oi!`E1 z5DQE5C2fBw)EVd>C&}Bfd-&pp8rZ-75zuZ}q%w!(05TL0sX#Hb29W#^zL67g$0b<^ z+~j6H6humMctBc|OiK=W7ht^2ow7xYwwOUsA-S&B#rO)aB3F-|vFrI5gT-lyMYkjU z%1dwy2J!8wOkdWNS>ipsXBy8eCRraq9!ia)GhbM2;*DrY3eE>U)zYIN82tk2^i-%9 zlF#%|kDt8OJn#ljx!ait2L;zzk5Ne>s1-=lqPU1=@6psUA#tdFAw za=p8dK3k|&pwk3tIhs_bTFu=Guh{70=K)I`NS{@os2jS4*u5j#si2k8S&&w#7p}Id zOp6!V%GT|bth?3C26%Q3Vbq|8FP4y-OkBRbK=|23&Zn^ckn|k)+6nEG(H%(TL=GE~ z{paJ8&%BQ72i%8Kb=(hkheBl_=@3MyJuBN6XYbeJOy84jo@Mx!8D%<*Dl1rIU5hlD zh|JK@eCB#CYig;2&-+u(LPd4A=0J`xcP9aX&eXMw7>c@vxV-}}kd@TDStGuwUU&{F zMFyBXBQ~EoV&1JbO;9Q@Mh49jxEaVj@kd>fKSX+mE<;|?Y9YY>kQe&Q_u1z>?q^Y6 z)+F>|FSXGL{boEwSkL*Y8F6-20=zP?5s6Ci3kLma&){3i=IN02RC)2;x?pti=0lp~ z)1r$Fb&&MOv|bK>j4z(aQp9$TLo3e2~5-dPJL6s$q*EsUW!Yqw^G^<)fgcZBU#RLCBhRs0Lx;o=zk zj;v+DkUUJ-8NT|C&$>NH->-KmPieS_dxgEArM(k#hjB&Y2-J^%Of`JE-OKi2JYu$9mIaQ@p(H}p2^{{QSlXt9%$w6CI zD&o#1D?|piL4a`SXNVY#WH>FZ%rTlLH&3ya2k)cwP1)8CW^v^K5R`Sw$FcUjl zlhd+2vNV!#^4kSqrU22l9d4{92`jGuuWUf>XK-|wU)V9<*XC>7l?Nm<*>!Q?JVLf4 z5gt-^lIOwWJ>zFkiM4HH^=B)i(*!BeR`LN!iM9brBM%yuPY)&JcK~35nWoeU9rjxf zI}phX+Bzm-hv$jWNgO>I)5maV-2R-i!MBD2mmhCXY=$Y*%t!%D;Oj!UUziydm;)18(d zM@30qO!u@HKM3-8^hTRx;wN;oWB7nV3pEjB?>XMEP#c=}G`Jsir|g@WlHtC40N(Va zjX;jq3jwx;&T0<|HdA@W+4q=i*Tycd6?r~RFraG-j(y7lh>f?_U1PBKjK1-Rx5Hfz z$qoTrBlRS3nOX*ZK0q^hcY=44Kyw zEXc->9ArMsjiau>+)0jG2jB|E$U9a8-L~G~zIGNS?h5~^pkK-Ks1M5^^2)_i6PuZo|wLK5%RAIK;)!f$TY?y|hv5);q8y z^Dk~zbt(5&ow8;>!o$iVMvb19xUEYXfdO>SOP`J3kIv9Yk$(1oWncTkPml6t1GQo% z<>_xJK*y~BhL#@P)8{(qqkhw)eo4AnIa%TMiM(WtZ!1u@o%RZwh9NVCYS}In&gR*f zK65LD5tNH#dlF-WS7SP0yWrQ2o&m^E*tP(WB3i|p`Ku2cjCH;l0fvXsM<^q(eiDS6 zfRByu`de{;KLuq@`y0+<9n5+`GEaS%ypBG~%H01NE7gh#PGo}9C`}*;qJCMzuFR=U zK3VfXdFU~ffrRrXkl_3(kZQRXa|ZOdY-AZ|WsZCkL~BC_v+^WKeWtQ$5`RY_i;B`7 zJvEQ|yauIci6&x$POpFJhzgVQc^eg$=k!3a?6f4@Bzomb**#WVoN9Z|XViOA&twU0 zl_DCyHe>7iJx>{ZAvA(xoQMr|?77kq4~-U5BsUpyNePa+TNV7!U3)I2tS9)watQ3a zgs|Tz+pb7KCb^=bYo8r$Tt~QS^)z4YTfJ~j33lcNrKv@W$R2#6fpwa~9CxGojI{e` zgLW*krW<~WYEWz;YvAFon;$3nF;4|#9fRQ|k>j6Qw?rY1UT=xQf25A%U$$IHRPM{M zxX@avtrd6Q^t@#%Z9OB^>;FmvSwks8o~eP9m)Wo!bIAz_aVQrNY9fB?wZ1_vhpcY!y39@&kq{byGAyFzPFAuJ8UILb@F}L7yxDGEQl|O}?KZV+WQ_+^pl@%FXE3{~Cu9W(5~6 zQN0;}7)K=yT8$9UE=7Tp?Wp8`o{V0T6Y3q&Qn=F?1AcW`C16Vj4xK|?%qAxbv z^K-#)+Bjdu!`={R#ld1XK%GVlWWx^7JJa62IAvc(c94@w&h9qp`9A=QKy<(Nr7LHn zBrZcFz5zk=AVJB7V3|Z9!TcD#@(<%LGpMT+0kqoQFwh|nrp^&yM~BWF^9XD~XA{_4 z>7$$vgst8QG6vUJj@RZP)?JPTy&(?sr-e;14aDioStwAgryhf}eKrD-mKF5hP0QWf~C(fT!?fyKVCy zoxij);IFPa9_8R_gyOFNlv}|=X|Yt(i9kZ~)8kSKs>PEbup~7T$TmqVVdcBLMZ=?X z#t1mY`p*D%*S-OFw^8J2O2_UL&@`_``+gacO<@8U$#!JEP6)*b=q`Pd|8P{{1dqBm zKwo5F5DWpr!3gQ6DB%tK=xIBpJhW4i0DoYwUi1xq8DaJ4cKV~~){@=j1>6He*s*QW zBASNbZQE~$zqqm&rQrV|6h8#flDhS;k{P+bla&ZKhK&C_E=eE?_lFt}&_I>#9c3XM z=hgz=TqMA2^a8S7qnb6Fvs-Cax6#!1J3IiFhm++o6b1FfwjIU+k_6Dky-55uB5@Ai zc0_Rulzb~Bu2GznsR(c>Lb_N!dRq6+c025JB)}hBTt?r(XHcr1sU5$WCoPqWz?6bO zcFV+>d!4xXW+IfqHu=8)u!8uDs}`Xgd=HWMD2RGn^*|E3SHlH}K%$CRK0hu=fN&t1 z@c?JGj4fcC(Z@e6Q^y)SW`}f>Lw3okBd}%yr5sDbQ?SJd9D#Ckyryl`9>8 z5}!mRSkr+wFpL;q0x+bU+6n|dNFiM&A3c52&U8EMR3yOfUmT!&>jfwczpXypMa^j@ z!)h|Ke~=O^cFCD+*M|wS5%HLxJO1pd0F~e*l!9ME&`Dqp5;2dCiGYU?lwKZh_|Mnu z9fIf}aN|T;hp#&-X46tAt=^?+Ri_Y4CZXgRRcWaXc6leRY^NeI0?r#F7y|;x!StCQ zPc#wb;8MP8&7$Jo0Iq|?^~Ny=5IBoMe1{)9eYPioQC{*rO9Z-y&O&+kV*p1^@J_q2 zv=m8Xr;@UZ2zXYVgvQbXIJAP2xB#K}E(i<2ptkN$X1;$XMDQ}=@s}BdAdG-!eE?@? zzu2yctm;~%W&6mCynAGTzvcDB^>4B4VewAP>>_8306FUj*d3=BZ35^_21-6J#3Gc# zukam56$%uKh5s`I$(I7C8edaD;CO`izI^QTJv<4FrU&0Qcm&GBUjVo}=>Zr&z6~hT zh9ueI32BxRp$}Wdw6P<*&L2+#ch-M}L+F1+0 zDPu=%28Z%PrOotB%^KpQx6ryQEyY?k=_gH=GOhX4$FKy!9RYF9=`oBc0U$pCG}{0K zbPOuth5Y-YqJrMQ&mj38%dQE8)fD1C`SH`|c@h{6FW@5!_C#gqG7z_Oa@imPlN6jm zUvjw1NT!n}Y6eQ*%rU{Z)umAtlkCE8{WCz?@V8H0X?$o2wbrNeK5=j z2_Ub8L^=+J;#^dMv-svCa%)gL%ma}4I>50-4I>a%AjJ3h@zdt+$hX7}PXheGMU$y( z=xY#i&(sUSIw1*3{oE=Gxw<4$a>w;;0|=f!s^9bDs|0^?^-+k#Pe61Sm`F?e%tHjy zK?Jt+QHdeMa{Q5iprv3-P&myJPXtV5GLDdIKz&+p81~i_2_Pr;Ao;Yo7qeSNa>_pJ zu5Dlk`saxeu!{gXwD9wI5Lw;LTrQafO3rji2ydyXCftPW5XXCV|n z1hB|zRTUuuQyQ|?5%AXWMgsgl^96|Z0@U={4CyD!ayNlK%j!?{BvLAiTcAqr&v6#A z!5(8^N6Y|l2b$B;M?nsdcT6Z7Z2~AJ16kq&G#%yOD}4K!{8hlr>mm8d=8wUNif#}H zs}SH@{OBvDdlD!@0PkBYs5Ja`gta$-Eyu}OUI8VyNn`*~!OCLoira_3G<(FwA^fq` z5h6Mtfw&CdDGBXfTD%kWd*qD~B#EGg@#Y8gltX|Qx8#(x8NXRUP^(OnVfD8FLMFjD z%X?r4qOoo843a=?^DqE+?Tky$Pi#YW5Z0>q4S7-n{vCt>+C*>=D#0iD_iJ($l8Hq> zmZ;$hFkViaa$Ooa3L$-sA3d$#lR#d@uB*BRQSI;AnLuRM^<65~xRGhphrgSbHiQh9DfL_l)fk$~h7pm_;h-0T`^lZwpjn^X@$ z0eiFOPiox&(o;>F`z5%g9`*a!ybBu6JX>55zu=9F16(zQVY69Km^eDA-TSPQ2qas$6xEXIGzY#sST5x_@QPeMdrM?h}@5L!KuB1B+~5vT;9zOQv7l=Ej&>>{h4 z8d}QC;4!UZ4bU7Fu`s68IW2XUm2Vyc+ckW3z6`tO9KhWoB5l-Vp7*$*uV{@h zO116_%0gBh)J6o3n?k>_BZ&AA{^Z<3NXj2xJrxoCI|6z&fFNNtN;G=Z6(9mvuoy5h zhEyV;G9bnm3xr}f03tCI#+ELbC(SbzL^G^>vrV+Epv;=R#)c=HBR$mGYeM z7zB_#e$TBeN|14wHu$LZC>sZ+b81@Mt0wbbRM zQ2KjQr6F<<3uW)mDSM>=dtM^IXcIt=*Ej_qBXJ%|;v~NDs8l8q`}~9v^AFSjaZ)~0 zo+C^~fUohRr!4d&(2{``%tToGB7pwRr5~i!3y`IKL`r2ble+;{%O&T7TgRJ)KOa1F z1|s?v1f2*bO123e0TH;;N2Ns?YTuN-#=zKJe+inVWty>Nrmm9|puc7tIcb$=%ycQq{?~ssos2xKx?-g54zj|L}wV23?5g^5b7*zr&A_I{nK7ekN#U&^Q z*?ImFPb0=J5(!+1_Ta7GeNTjRDL-<`gmF&-{DDO!isDa!c;As(_onMd+2mlYriEPw zGRc5=3WQvd{ry%?MI^2O;kb6=GRuuN+C;z>B540jhQzpW1^D~31%R1$`Gg!&hAnW6 z^hR-cWu#oADpk2gm2Z^&65wnzor?(IAR$ujIm!TI%Qh`?VSSrCQ_y$^A%M2=un?8t zQ+(SoscEBP@lR@q`AUGRiT+KtEUo&-9)l1U@*^il%8 z?Ce1Qi?#npTL&fu%pxQacLhOhPIb6@ju7$OO`D>rLd3J~_~B9gPd~Ewh@c#!I#|K* zrU!9dv_+l|KB5TpxSVENQ7>H=1UnIz%2G*ro9NX5QN=XiV8ph>Oo*4${+h6 z=WW5Qb4p?TFDS?8p1m2pGhasEwDstp_6+(aKZ5T5hY>_CgJ^60_e%VxWPBhQAE`dJ zy`~ZiwMoFXU+rnquYYrUl{8Y{pZBrj`12g2?OYWlfRV~TNe_lm;~!x#{!2ReS3^!* zd+_9gQ4-gJ&;{$MU^@a!{1#PtIxYP9#&JOc^1X|RO0~Bjs(l57$O+PE0B!^PJj9W@ zpALv17S~`)`BZw}(?fLvIJAV2K8=9R2M}5-E!g{Tu7M52*3~qlG_@ zcYQf1k_!;XivUCkna0dc$drD}Z5)!1^D_*|NBgX%9D`(_t9c^@d;}tSG=N|5`wk5e z&;=m83)~<8+kQt&8X__Xt0@mPw^etd^c#>AfW;2k+3>$s-5vK)Y zFM1qP=iY<9$$vmlS`VU{E}y7!jwYA5UQ@G~NSQaF%0hPtbs7T#C}JxUB7}4?O5$1ok61sZ%EJ`mM-W)m7)GB6Ba!{Q2M{

Rs9sh%Z=N7NzPH2;^()ckU=!_nER#0q-Cot6030=4)|qBR2G%j14nSgTPln z=x$qSuv_;d@d%nR0QJ~Zk3g_xTWWhc#0)7vj^Tk%(fNPa?p=g_wDPuqK~v&5I+7ty z0n=J$F$188sE%SP43lAX+7zF(?QOS0UeSm%(-~RW4(-ZO0)k46uGs^ax&ITGvFAOQ zJo9FR<>x^(JPIB`P&WWn55Q%OlfxQ!TJ;9{5;?pI%l>WOrTLlWG3J$$iW0!cWFYf- zMvcFXt@15&@HN9$Z{Uw7?S+c?JqSIvLr-3gT0!7F80NLK=oioLk|a=j*FGdF)z?r| z`zFApbl}ga>lc=Ma>fUW5kZVCz5jy^Q;vb4i3VynGI^RA5yI^n7bODXHozyOA?UAZ z-vI!}m!UfJ4m$t#?b1c)M=Nd-OrkH2qczOpOlENcgQgHDR6&^%mcASO^8r7NNri-+ z9CSiZC;_4*QJFD_SqDFc*?ZrCNi%Om7_C<%qoPF6xBxgO5g-GE3&jW&k3oBElc+k4 z5s+OG7&8K}TtDs1t04@@voR3=kXHYilakO$B}C#U2ymPWZArx;^HU^$8CCfnTJ+1> zE++?xFrH39d@&fMwjtq?Z1PAy=5rP)DD5*+vyg033bk)MT_6t7v-u44Y@s%3DcKH0 zdXOOw02u%>1mdv%?>MOcyA}df0Z0|mEz%H_&Y+?dT+$PNCAGm{7$=TtZ-_7iFuX0V zfgc=vdkKW4!?o~r0G-J!_5dhq+xt2Ja0BdhfOmkuQ|ieE{`T1+2RaZK?0!`NF=ibI ziJAmJjZ23ihXn?n?7_oNF2$qez0o`GRP3?pkC?sJ@6a>h9#AltPa0BXK4N#>j4dO{ zlxbA!oE=h+RpxPICRt@C2hg+OA(-T#rh`+S_&|pQfD8htzf?wv{ti`fEr5i@&I7e7 z^@Tr0AlA0-NHz>mn*`T#WB^o4^}kvK428f@R3{4<`)q!G!V@qaYtj%ui+Ff1 zde^O+#`?Ga;UTw>90lO621X$Ke1 zHYzPeLd_~tPE4m|g#A^_Jme|NU49#;?*1DD(FSN~oldL08MC> z*!un)@5w6-QHKQ3nGBSGGz{}UVNiaUR$h|`avZ+>@EBm+jUl;~ z_Wb3#U55lN*z-_|;$MJde=$%l3fMWeDI^oA0Pg~OlL%PXUyBey!i#7=Zrt3p5E!li zTg$*;2^fy_42xW3zyM(Y@$kWP{;l_q9r)iSB=ht*j{b^Sya_B8Ga(eDN<2CNxa1!< z_-Drlpjr5K(5FJT13QR;3lV~g444_BEHQD(ddy#aCuZ+?6-t$-4XMaM1VnW&l98Ui zNe<0F3&^dSKe_kqiV+ZHAmd141S27UoZHuHGd5u`KAsM``lh5LbYck+{TzahK}Lu~ zKlcjB#QZr_V-esQWc)gM_f0<-?ce)954uG#Fei>nf6bsbgT*WY2_{|I zA<_ZA2m#~|4krPJ>?}}(1G1?hg%I+PK~qwqkkLDD6Bexb19o5XOO$&a11L_95fC-5 zgB*H$0(2FPf+*$u6bL@2nZKRJ2-3W`u_gdj)~fNZF;II2t^Ac%cp2Y*EKy(d0Yvnv z)}7}(d`Im7V-srf1X}RR8+U3Fh|gO}qFjAF!rJAa#-y-q67=nmY)tvce66Xiw{z~5 zV{v#6V@3qf_bEl45H|M!Tgr7w2~KH>j6MO9YQLgUp@w1k zc5IHnL5KfJ+d97g#HCabw`zrBr0>`nt7<+k`8TM>r_!RU2XA$adm zPw5;~;KYn6uAM5tW~FTi7hx6XgP1<`{RjSDADgAXnBh4gOo(Jy2oDQ^DtDqjQ0N3 zsHby}c>^)|H%kNs@jF4hIK9iKYj!}&|I^-|)if^g|2!Q^mH$h1@|ZTUD>)24(Qelm zV4}4MM)nYMHYQeR@8vdGi5TeL2<-MeFl#-~HPn7zvzsVr8JK%U@*975+0EV6YUvHN zIQ(7A!QX?$Zf$5!5`YHM9TEVMK_mvj5|n+lBq*}ZiXi2!L>386`BS&k47z3=RjY?j z!~Y@mXxeWk3s$4R%rV4G-KXn&9Sy2?>-g&1m;aO zRz#q_pCr&d0L)qk%v=wYs_Kn51qc>*2>!v92i$sCEe?MY%i!yP*b5+`N;YliYI`r_ zlz>!#R{@$d5Y(-IZiA}|{$zrG2Iwc;wj6&ZDUjhXvLbu6-eQu0OZuYL_a+Nb5D_>Q zSbygf-1x=QaPtp7jF;D~2FoyMa0Kk00pJ>%#07`|=5>qoSsX|+kdV^x6!z}8iG5KA z1VEh=05`BSq`yWaw2`yH0ar=X_!j`G`D7*}Pg)&j<{}jDFQ`(U5|5y)*z1Wi-5d!X(aOy1lit_YyRiu|tMUv?vX=YX4M z*5crEG8VsJrlX1KEi&3l7AZ=WN&u8e0J`;0hD8jE^>2cI<1-YiUj=>>^c6cj3F@xD zC61R`aS~2|zxy2MugR?ep1x)-etXGV@y8p^!|>KQdTVKLy_KF7 z+zo5nytdPZ#&AX}ZKTaBK>EyLpx~HJ*D-cL0G*5LlTZ>L=9`b#X9GyS1CpOl9fqaG zm+adSh~A2TmhNPp051daU$v#uJi}iogC)_~ECEjW;q$)7MIM}HUF9SKj3E)QVF{81 zCT#$AdjY6a1wcphKOB;4sKvJrxG5TngI8AL;J1>+yBXBmmUxnuvTD*>2>@vXV3U8E z);~1sU;PYXBNSu+zY4(Z!?u41GW?mOE(A^PN+X2kagi3|q1JaHjSTY0L(n{<>I-Gu z`>lg<-R1Acx+hKo%X0fVAgQz#XScMY79p}J%MhHybCB{l%Y#T8RSBC1!}&ajP6?p6 z7tr2UKxZJ-X9u(7&0yS6*!oY93{ONrALR#+jdltWkmoIpD2U$&pszS!7Xauy@dfLC zGXUNh6EL)Yr>lzOsLC`V;4vfuScrfDl(z!2*8$Tut-z$sGqZlvEBC)?RvZUkj#+%0 zL3_2)iRu$GNv~C4Q*$9(P%zn0iBi%-Rqa1%O_SEzhLpg%zAZGsZ$URF|5Ux-`lkXv zQ8pncP8or;<7<0G=$Hr)6V~4`8P|ROFL2Lq&d2cJ?(N^d*-t8QeWnbTPgv)w4zCV{ zQDhi4^?TN(8qI?syG#XSNJE?**WhhQ0IgL)L?7W>j&EfH1^ZrIgXC*a&(*R|pSSUr z?E%p%Ky>(MV)dA12g!Hsvzo%{)$K-V1yee=XHl4IyF69MuD`@S%-2OmS|~=IK5G3x z10)zR-G#069t?=<=$waQ9sF+$Viw0rDLxN~z3X_?*6GRAx0`@044vNqtOVFAAZPRX{j4Cl8*o_d&L&bBg3`V@Q9NJajUC>ksiwSG|}e2ZJ9%? zBpq;rX(k`|B9@*0Q%s)ye;}&Xud`U#+Z9mWIsyxPjI{FDeBHGTl&riWbqBVAP=x}- zSuq1GzF5T&zn+%=;y;^D#P=S*7j*@EXKaRJyT2AF+2ugcovk%{AoSUq}AtX zmcRL!^?eF#=#Gyq>nVUe^z9aCQ!2}?-)(!DNd8 z0QURAOi4|os8TTjB(DsV1nOmo=rw%Z@pZ>@NDe{bch)Ae*5@oSg7(7_LV6!RxVExG zl7KvS--v{K4_K*?%gpy5rT9RR`hku-jVvO-&QAoyAtF9Y_LP47y6-D4vHhOL!`l?aIRI0FE#3Ow=4xw!VSbMfNS$JEcYNC~#G#o9LGVK&V_Ela4V z2a&Z8S4_Z#)T2=kkS+tMD@2I*AfkQ%2oAhPvgB(43PPz$hW0cku&j%R3Ya$hYqoQ6S$9 zG=d+6Q$k%De1;U1x!;WUjFdb^g9wm^2zYdefH|88SfZ!@Rvh(;f5E(!Pk{utftd&_ z?5UFVxyQO(ql3pf{*c*c?lI1dqEbcg`RCW6M}O4t23?1V33(czDQgu@Ur zGnK4)04B)mfnQF<4}=m|Pz_6J7@T@qYWwt4GCkFlj~bo?6D5;JEWeW)P$pZ;3Dw%S z5Q6#%noOj{3(QJtw2I8M32O-=0L=7JG9@)Y_YQ~<4+OaH+skm<|DK28>g+}!-@Jw? zsp+Gj#$ULOz@eF&#g}Hw2qyiQHR*~oJc=9^eqI^KJU&5tp)6j_H=Ia37!QMSQ^Klu z)CaKZytP*ufp`c1>F8*OAc6R=_YWZC+X3`;9Q5rtJ^&P|4n~K8;$4*pZ1o2U5tPc0 zVC6Ai#NJ0e1PYbx9+2i8BrJV18_1{?U?T<4j2X0I0IjgAur%&be^PtQfT3q3*>s>p z#{o5@Vf0c)$wExwA#GcqAez}JdOmhz+D&6`VrZPTOc{i-YUzCC=OtIZ-4;r0&!n((61$= zyb<6y)fI7B|7=C@lR>o44nYD0>_H^|Ldp5d2KC&{-A1U}=dKPOCq$5N>5ccbKCd10 zi=xMI@R6U#k~Q~3gofFTnp)_>E&*GyM~7!)HlQRS=DE7Xt6=r;z% zTQK7YmOsk4;M=m0F^8R1521aGCK)8Wf;6i>K?Jt+QKRV|C1)*bX{e18`Rui`aQ%Or zgH46APkzj!q+9!J0KV?klR+M2 z2Ynbp=vGQ8SrtPzTSTb!2o~c@uNW|d9d78lmnOd-zGEz|~M>?v5ELgz?)MspHCd%F+; zozFL(*iD3oA$grWFl=6cX`X`efr8G$P;J_FB>^IyNRVeM=^+`QKAQ1?P6NdSgT7WP zfE+Pz=b!1dqwOT4tPcxj z$9aRYdEx*mE5LyWX)VV*#EjqP0QZ!5vGJs!8R!a6*}fzY#HWLJUbdAy2JwN81H}b{ zzIl(;>4|J7B7lnsY+5WVM8L|tgeDO@kNsC(g8h!U6Cz{-;FVZ`5y(X%ZPbhn7%84G zdl4z;k<7GI)#5jSUe6{1nYF)7jIp%;K(j?dQp42>)W}WilCcGQwyxexLOU+D8KOENBocKLuR!f0s)cdWh(NjSv>>uY z7P3wCvd)$_lBYKPsSnqG^R?KxahY3=aT0(_>Pcx*XA1`BeVqCk#t&@^XlKnl=p+u{ z0&+n|LeO%=d>5KUW6mn*oX$q`g;1=7=qx}y8lJ$xAh}{h09_cYkwfz7Fz7oPwE?*c z(nd-IIVO~`jR-gg5wM#G8t)V0MeKXfB{*R1?-e2dY$>3v`T{kD)0lNB35NA=NIts2 z4m10Q$;>oTdK1CY=`?X4n^F+;S^)b{frLt7>hY#$(2nU@<|CL^KO6eJiy&;WkhM*> zSxrn@22t~!8}IAG_5X1eHg8^%V#Tw&^JhZpp=5BTDK+M9A(7!>q)9)iX{fI5rzSp) zfB@=0R2M>e8;0Z`nK7(++L@@I))kcjpd01zReZw=+NLBBzxlv`MEsXvDi_n_N7&r0 z<6y2Uf}c0AyQ2|7%BV`oDHa?%h=B7Ef$}~fUc}M^{|U?1-U<;(s0CnJ?;kZ8Lm>ht zYD+lO4)(&V8dj}x&5BP3lIz(_0lA(di#O2zoDFwPz>VKO3xh-R+yIp&-K4gAp!Re=>u?*} zu$!DMCi2QtsnSp$0>~wpE3pAOO;k$}q~p|BV)=15 zASlbWHLn_RP_+3(K^R(KtXB}5Ub{gEO+sNkR-jgO>7GDx2u}M{vJUdb$!13aM_tV# zizfj~cVqn;(5-qq5orH2W)1^svQQH8-Mxj9v4Q3>JpG$lxZ_u6BUW1BYcqar1!Oib zPP4{~b{Dl(|C{%TW>sVixwl~g^XSMx`f~(9uY<%>%=W~e{H{h~mPH9s_-ej+RUusO zcxbVF^MNG_2YH&EVwe2rqEvk)c zpfxlD*>z{@hml==00<3)h~nSHwSCsG8!}=5WRQk= z-{mEMw40jHk63O%2@44j$@`g|yQ1umn1Nb+#l>HJa_iW80*rkCxzcS_k1*(4^gV^U zl#YRApH?J>F-{+KdIV^D1Z?pLpn3#s*HaVwcXcBLh&EyVUSGmdulzoGCT~$B8q(qc z?b?Fmpqb>)Yo?h(s|{cxNTWT3y)}d)6%pHCPxKp7pVwy@m_}y8$s;9p&^#tquuo8e zlan5SV#gEofjDNM*g_8WATbPY!z>`vxUPPVhXwBb&N4jt$jSBJNXzHvbUogg<>QcN z)l^Sc;5Sb%qr6fOT)l-X>9M)-F}3tu{UA4gUIM_qhzoUtfMOvplDk1hQ6Kj0xaMMBMZoQz8xr4gQ>vzqq|||ejCtLc?No2hv{uv?x!pZKh>fqi-m4+ zk(}3W%6*e|Us>;+j$|P7`}A;$Me=Yt-I1V7Zy*3Lc+neX{`BI@p2|gA9nBby-?+R- zgw7&XSOdzAJ3A#GbSEK{m`RHS$(iF926-HSJ3?rArnXZkvny8eu?YXBk~0*Ngk zQ3W*)mL-8@1SxwUt7TLNdoVmW4MQ7yG5GRiYsEsytM=*1G^tpu)8V>U52 zW)?&Fcm4R7mAS{Q=Ov~r-+(o5ybP7-$qZmM+?2eaOh({5@Ae=#b+k+ZP^2NsAtliW z2%vdI_13_RlUbIGqS$`6M=N-Jh1-@Y0x(fPB-kBPpz11)%H(`YCx0p^8-^lNd`?d#H3`pW4onume)pxN7mj>$|-pA(YNCEYmdjk%RQ~nHvwOp zjHSvO%KcG)jrBe_Z2lWirw^FGPkEke%3FyWCNCLq8-8qLV9WbvRwN?^MU1{>>oNb- z>oIll)d-@E2C%3IY3tNU4V5nh%Mh~KgTalnvGLCf@Y0iW@Zz7QhX{=3m&aN%i>;E)r(ihu{*UaixjM@npq#`tkgGSL8;GKSgbmVp$l5a9kASW5l6 zq8tdFN&*Z3RcsnMllJ@FPsW4)`>g0<6;YdJtB;+yXgfS8#$at?w z00MT8Dw%FF3PeCTr8r8FydrFT`8eEp(;M*A19QPrC~{DHzho3nk;?$$Zj{74VtK>|y~OJFD@Ai>NKr5G#E{T&wU z^!1hyS29$^6uVBNL zzoC`4%2AIAT)1pjp9pH717S)b4ZdhrPjU{(C}a%fh%1bGEFon-$eY1rxiA(|XebvV+FSMv=>?Qdg-A;^*; zL~xWIXc;~U!pMV9mYKaSsT!(RL*$k@U>tMHa3}41*4=x;;G?~G?xv*}l8ezh^F>6J z7aOut3hFqcjs$`Pi7LYKOX!>S0A}oUJLVm63udl(0bO$$TL-&Q+Z2Igi>(5HYrwk4 zW@7fT7tvLDR-5IVYHM~X?N}e%PJG_?=dtkZ^%d4YN?sXAeJ)}kl7MuFPSOsA(zatv zg5=9DzVylAQ73_m4xDi)3Hdjm#(Q&FhaCi13j=TwpvE>N0%Q|GUJ^+V0i_cG@)7}b zB(mwUc}Uc}`nBM6-Le#76DCc)0dp2ShoR~mY}zmp%)$uJwu!(B#>TA2L`O}>kTb2f zzfj~IvTT<~!BpfaTU+TYGO+#zx~BukI}H|ta*8U(HX(o#1F`!Mk{4Ra>C!LaUJS=qUwrA4PmC%F zRL@!^L>Qk(LLLsa%EVf1LivEh27qIdos;IF?8rpmay>0XfGnUPBy^L6C&I;UzO;-d z^>tQ9ImRe=J%~B;uEWG>6}+^54u%IS(89t-8zS9$RxJDGK7|@cZl`5xSw;qkY1u?p zLo+!pQoUx>xxm(v4DIw3qh_d@Bt$rfz9|o5xBYIz?uR{w${rCmukS}~V+fY*J#Buv8>N~3jrsvbs-|HD zVe{WPEqaVn@Yw3kQ8HLubf0;;kOmB@#C2~AX-)`R@2%9VB7y+n*^6E~H@cO9HiG=XtV^cBf!1d^^JgaM!DTRf05Vo8+ zt(c3lJ%+4w)IwxKZtof?-do-_)B->yZVmIx=MAKPRqbU)2_(LC@ug43qecQ3?mugp z5b^s!2=mD|qfs49BbRtaBL9pz5fpqcQi#CnsH}->>bZH1=sRA}CUWHB^YK}Y!!vIgo@h79`%oQU*B5rO631ZU= zAP1%>phw9V4Xb?Gc&+wQ3F~fMfMHsQiF-VbAlj4!cO%Gc9eR`{WROHy+K4H;--~&N z-iPk_5jMUs8P)X>;sJrp!!xkQet&@AVdyh`Z5G}r1dCyje%M7O>>!%a2o`6wpHG`Z zKmfWL`0VrsI0q3py}-#BsDAt6uRXPXR7jxu7l)CEs&6JCkAqob-bv86kT#!l-(%JO zVJwND$a~FWV$&VYO9a-tJZT&zKA#=OYHBxZ`7AYUM=k%Fwow<;gG2_dg{K;!_ZhCId8PKRy%gk%;3Q!9kaiTH~C zTXId{<$I@M!*ly%;)0h@?s*nkt}N%X`t=u-feG3T%Lt>*n7aFYn7isBgfsi_(i0Q$ z@`JtTnp?q?>Gy*q^0kqmyaIO)3qN&xa#;5cl5%-1sx*|a05Xgo>uDySI|hk*pgnnw za%O0O;JWVt5D5_Oz4%`rzkO6l;Nk;klt{>r1DM}&rSE8H_-T^SsOkC0so!sBA|QhZ zkU<1aSJp-ZltKhZ(Qy?baQ+7FsxKinqkqE9n7im!bock;r42Js9WLoWo9J_+cnPFV z%WB_D1T&CKjyR#B^Cuj&Z0{g3M8+z`ky|!Ptq4yVJ*mqtJH7<09K;edegu5>T>MAaVXvj3F~nse+D^n8*=W z&!|5@4(|;Dpa_FoR^XvOz8(+Wy&OXW6}K&*Ix5ZT;Z}}6Ck(4()v%Fy!MeDrZ>w(S zDoC^E@RJJ>SSM*_X-N@R`kh*5Jk)z4g?&}*{pRbj`@!Fa2nOLUZ$)<3%9h+{D@4|>qxBNSxTI}$qUEVxe0kB_LcVbq($`#XS93()3bS+9|TUw|cZJDm{tmvwn@;7d#0BQ}ObKDUdQS za_Pz94XDbwKEK%B4n~bPSc18(9z>MP`bmo$B$m&-QU?{%o;;%mO#E3{BK5JDVg7`cT4$dv1 zjE2@fYAK-@1;R)HWR>tl^RLm9Cv5x$R6pB-?6Y-&Y=X-r7ulM4Q9(bDiV*?Z2#wRz zPV>rm0ElWRS02QyIlsp2x$7V?6`Nj~1lg=QPT+^qeuC_c+42!WGEpTvm~4p~7@0$4 zW^~!ECzm9WNF}ucE7t@z+&crqv=CDk+z$~96`v(C)Fi-+eA)t)SFK4*_9auIFJ&28eT25N9-$ z8gB+dy0?2G#|MV0&x*w)Y9tfxd@<9srdF=!ZEyo;(3> z+Xcv|lfqC8Y?Z)34cJ<1%muI};3j|*g3_o;CK%Wo0$pYh`0-gKzFt7tAc=%W2+y@~{%2HW_d+||Jt z<&2@Rka!waa|B=_1JfCp+4z4yfGz-~#x{kjfD6_wG|y>7KqUbBLSSMUm|O;WBcK$t z$3wCsPN3eTWRYw#^;SmDug&?v2@gwEW*k-FXpieO%a}Jk zG6`F23ovc*y%6DmB}fT(uOaTJ*>GcUPUF5AA|ST(rb=W3K1g)I&68gfwUg(|Z90;R?UEG>tLN~rNw7k};X$2%f{_%(+HB8cA!@PVTq^c`^@ zpivqUBdFfPV+sQ^B`_-nCNR*&7K=YGz;`(6()E3)5o0I|pf?02Re%X)pd8jOs2UrZ zgpxtQaFnvb4kqj%0;CW@nya6O2#OS?8D==q0DAgv$L{lgh3Rt!FkG98EgSpmJ&9by zUvdzF7WlQLe^Lq=AO{&Z$yja6O)2LqyZA|MBD(3}NvMYNFm>Tw5Msz-<#VwKS}IA9 z`Iy`HR~LXG0JS1IzN^KACABTB&S1pz2yz5?O`uQPUj3&+0@UyZ99<$(_nT2^Okmu5 z@s}UFu_HN1zGh_?1+`lt?l3|Lk1?sz(fi3NFd-2dLHHMqcf6O$eB7S z)n%iXhk=)dfZ-a9#`?M>WE)PSc_Owc=r#hUWJV7;I+)rlRLbx&$Z=C<$VM`rh8Led z0}tGDBA$749^zV%(D>7J{*kAJx>8Kdc?C#>joISWv(|pP^*`oDTOf1XC!-Y|XpKs2 z^sNsi_Wa8`u=tou+gU@*x$!<#8cOY7gnDe?c>xRw{e6V=Ydcl<&v@*#*tvL&z?sN^ z{Ku$1FHlbr4caOEyp{h#Y*9y3J7hJ!}{{n+{9H1u{t>e)XYyiqg;@K-@KA zaNZGm{x{ioN(@Y_)!Vre74$l&SgL3zl2B&A$w3y9fh{#){SdHuYh!*evWL@{v4mEv zha7#FV5CQydT*MnQ6LSN9NKGQ@>%j+OF0!Uu6rdOyyql5{qX!28DtSca=;Uh9vQGj z!_^A@81{D1#ysc5zuN&~d(gN&Jxr8i?Dw|+!`y?u+2}Wv7xa-0_RhC70KZ8DTZIES zIRivT(C#4>*kPYrkoK8*fSyu32Eo8og9NGs9wz0QB=_)&jBtatYVt8`tS+S$*A5hx zgD%={)`=we)c}b?GR%lH{4vt{`y{a2FfeNv=#}+vKN5Lov?ZaUL}K$a1l1*?iDjVw z|8w`I!IGrcb=bL?Rd4Or%XH67Pj}CT84NHO5C%z@02hEDLCd5_NrXtzAzN|;9pUf~ zJHkQJ5*^`iShQry`fLBu4@Ed+hfFd^0wPV)AZc&`Ko9_LK#;#1v14X1z+m=XW_o@5 ztE&92f8=(*``w$FRqwqX$c<=BzgJaRTjpKPIrrR^vfP*yZ88{ARzTYhQ;$?!@7!f+ zkncH7wad!h>MSY9Ooa}L=nzn`_5@_$YRt*ymnHAUV`;IP*K7s z^l=8FQ;%hzhAh{c4^Z?;vWVXK&Ui++@$4m>eqx68d%hLJhC_lq&zk{c^-I7Cm-5k> z!$pzxbJsNUJUh4hDt^oHlwmGb;yx^9fSmNiEL9H8(j}`3hcx)R-g$v#>=wWEtN-ey zH|9zL#m~Pt%kuD_0{p{sk-pz8Sbt4Soh*P$2f+CQU^R3T(u;HhhlPatbpMMCtbu@W z25c+=r&mhZ>ZC|V>d86ji3YM!u*or51~UzSw9sE!aY}fmpIMp|i1x5{;>)=B$j9-( zL$^@yxhfgt>9s^K`GYu!JHuhLcrr+@A&U?f19-aI;`H2MC$KRAVL!u-7azub-*Xkq zYnSJMfjY~5yJckconcE=`Y&Jnnm%0C_4Q_X$N{`7`mR}#hisJ^`oGR&=DHs__k(>uLW%P~ zx(B>v7ucA_8P|Iab8=$ckL@AZx<>Z7;{o&BMgW#`;KDla#67?R8^H2Xivxz@r97ME#m&J3*`>^q|{JnmT_PMg`2F~91f8f0z{4elh zKl{Jo(%YU#HV$B-CScZYty$z!Z!4zuEpruMS@`#~rzTa$6Q`p*KFQNJK5pF+*j)hG z9EeKhOyadQ&)=G7um~VKFRkOtzx4~4?mwX3g!-GDSg}<_`}te{MttA;&zOOGi#7tu zbE^4J$bOFGyEkrcex~^RhW=T7DS-bzlAqP%Wn8izBa>nTe?=IhyEZy`edxJep3I;e zqwIV6kKRXfbprq7ofl4k_@4rF!ZqYOv?aqKP2a3zEOS};U)(GGy61i!Z#E=!L~xP5 zUrxaK7&yBMtSy%}PK)^<7^{6x;2c3Tvs2|K`OCsxIpq{E04pXq*kToWvpuY>e+8Ew z`8du!FvZr^gV@_yLnQs2yE{msA{x{gbg5s`?wYDZLo%Ry>kWzg8m;@ zmM^M(1Z>ZQ%~c^$_s==XnVTK*7q?hdKRV!{KF+{9He2WQKpSco`f)m(`t}^a+BAKQ zfrjlDn1>(+fPe#J^y|O+uU;w!cLD$&2jjF^r4Op$2UP6l{m2gvCWb5?v&6t#w}5;0 zh5ptnv7LXjLA-T7cHo7=yjaW49TmU(7CV-ZX8=x)frm~4Pn-oVo&wgFE7N^deFdir zkd;_dZpO-$XjUOot_1b^MHQc%E2@)79*4BcsJjAI=4|SiS#}-gAO4s4z%Tq0te@MC zEBD^+z^dxWXsW2K!r>gFxu4nsNh)X(qQ}{ow^&E1j#EERln?^p`G5Nqt~~eC;>ECC zReI+m>(9Nfk`^7>Y5|-HMmK=|Dm>|4D6N2*>@EkYW6&Ky=P_0MNzO(6dZkN%M9rKy zlkxoVVMv0`=t)e%+FWoD81DiwP6F-10lov`>B`pgz(i95Cgb@6_IEub#EU1HK9|U) z5pZq=cU~an6S+^OE#wTaMM&SqEc62dko700)4Y^FtbaXnkN5Z9LjaxvQ=YKbwP?BCfYeCbSb5yf zaX(nML9I|6@LUA}*H(b_16#)2VXZ%?yN&*9X{CW=TGu*I@_2n0V+ja(NyghjJmmP| z@vAwox(3|42FwDmJt_b0>;tnxRV;c{rQ@AW9B)h^W0;85=T=J!qd_+o-!sP-9vKz} z^07oE4{~A!II#+>EdhB}oytpi;VVCl>Fy}1sHxKCw}+zk?Nn8H`LZNT!{R=*v0Zzd z=Ge7dGdhN{1y`O#(dQCDLDdWaQFRkXyQf)7MfK)4ajfkZPvGf4{(JbopL?O4D3)(t zNlx8Z-`Q~+iZgk?GetQ+u&uo=RbtLz2E-RsXy&k=GI2$${;aIi+liKte;I zoujDa2NJ}ckQ4jR5y!9tmhzH2c=#0X_WOXx?*lHJ0ZyL)mX_L1!E52sRS{_zM?p7i zeFx&U0HZ4qbiI0pKn71LsczCzi_uQ2p6_<9&GcZu33`xDLIz8ClG5tCi~RLE+vv+z|2APNZlNDd2Fur!v6!-!-&q(K zFG#KMY=sQb-}Zhva(X9!PyQb^Q^4$m&aw`Ul{|dV_=lUE~THYB0RP}mR-&WbnzxMv2uK2DW>ESn4FAcu8yT>fcOOUl^G8F8#^N063CiZNyPzLNzv>9a z9`LsCr#z(BvFHkRl^)HeLE-wKmmw=UtT|IZ< z`REGv^L7P&)p}1-Vx%^>$JGsRi#5B6Mq44*{~cxJ-?g!^xL)X@gMx)*0%!ty^;a%y ziC`0X(Ng+;xFZo@gx8+?kMQL`{2_#piEE6LWKbTS5yS01Z{TtU)iJvG0uh$WqgUr& zd%s$WYE)iPx83p+Dg(9ZA!EZ>-I+Z9hfm?bcm4oQU-*=73zWqBV4p`C+ixmv`JIT{ zh=DT`U~jdupO&wi9jKM;r7aq2?pyb01$rVQA&5e$mt%+ zr)W#UV(tgVee0id2F^|lHI8@#!NUCw{;88Q(2AW7 zm5`_Mfx%xGyhAK-tCB^=&M+OvLv%pQCk#~!S@+Fo1*7aOy~Hs8+z(`6dICV!IS~xi zjvZS-$HIw#ZV~wU`r(5;6oJD-<_#7lfftpF_S`ntOaTk+Kl>+~r`?ahXO&z$qL8gX zBZG&<8?ZxEvhjHnwr;!+pZv{V#LmsNI9NyAotPAc9y&dIGO)>G`x0aMyef_jSvwUC zjjE)~l-eZM&wKe(58{oNK4=j5Fs8PC(We_?PDsy)QyjUO}(kWQg*3eF2P!du>n?2%>odF^RDb@E4bwmtC zu1y*ov z&I5EPhse?NqhkifQw`~^p+_YoFEcCIj4aC(aXYbbd2wogVJLw(QVq%bqErZt=yCqn ztwJbs0?!DH$B!;h4^0GgEQx?-0A5@LCqraM2?h12AdXDVc{jTO{TM^WX>|blzE&b& zgG}s71U2s5l?XZpeD=29flvO|D| z?h5K%P|%QLkU+jDjY*>*csJ)7C9Bfs;Z=Vkb8R@Z$8l*j@9PB40XP$#Eq4v#Ii^Ig zOTbGffZ9`ju3*nju;YOVVn85XI7lCYHyE5~*vCk9Wv6|O8TOzK8xz7VG(^Vh8lDJt zx1Pc$KKhUG>a!OWIv{2NtO;8y8PKp~;2*=|3sPE5o4&>O$>JFS5$rX_Z#C`-FF>*B z90&*p8J_!#A4W0Tu!|h-``cy5fbQGs^W(&{w4Uy?jOYpOomLZ8qR`L|btf7lQE*q% z0)SD`QS4MQ;%K6{9w4Ln5`oPjyaj7{UlO1P0b2G0(orM=y8DUXRtA3MWCcfbKtkLX ztcL`Bz6%8Ifag9`H{c`!cLBP-A1NHzN(9tFB0_A%A|q*#{j+#sJ9oYpfBunQ!OP!x zuu|%fWBO{OiwHAde%sK`bDrhezo;E>B^_O!j0*h_x$ zqZ$`Ia4@%ODDk;5dU%dOtN@+IgqQl@phv*SeHGB%!1|9V5xkLsUptxl+$@Uw^CG5l zJb$Nf7;bxw+g-s2RyR6S-#ASaBCL{J5Q&6_`hkN@_s;MHd?nkt}( zpe4UMhyyAORstoKG6rm5kmLE!{2)THYMkqq zX&-EB=|pA5zWo?~xto6pD?$O>Cj5jDF# zN+&BWv(sG1f6j77C;Q-_har_gUa&oOtp6AiK>+AV-X?-RvUr|gKZGDYu5Mru3E^}( zov+hixhy%J^?B*QY$XC7kO(xlfWAbK=}l}{8O&x&`7Fs@(otDkugTi4$ef3MAh!tmZxjmfCpgtL%M>Flliy_TprjB z41$*WIt~frgdX{*V>2+A5T;~-dRHRgu!L8h|A+X0{;&TE*I&EGxRyN?kSE{lP6pDl z*-8fb@iFI+E~$xBK13<<5Cv*g!IS0`jOyM)56FvOgz5GOFMaj>U>-TVkoXSRvX*8? zR%-D8Ym&`U{xK4JL4L zblkvU@&7?d!o%}B)DBz&yB-wfSWD|fz;+@iruX3KFa9$A_&5F`wr;HpSjRSjGZi~D ze=gt=#*9trhIMxP`6-GRK_=7@*e){OwbfeDn|mu{SWauw3+rxPiky z2X}D?oI){Xl^=Z7kjoL!9Ekwf+kO(C`r}{2C;#AY;NW2F6TE${py)^jok}2>YNDYK zQQXmM`KsL!B-7YtDz}a31XD$MGK_1|4C4!p(p4|X%t<4Dq9kpEa2$e#E0{wvJ=uI|56M=&P zn>eWSo>6Kel?XVj;OZ;CfZzYk{~2HZ{8K23EVX%X6+d1w@E{(VTNc_45jjv4q-mT% zO3O|H9bJLu0g}d?lX-*W@~)R+%`&|Fm8ZaA*{)X2#R7(~p1q4fW8}th2*9ZWo6`zL zum(As@p_15cc3gzR@|Aq^f_KZLF1ydiuP1PCV@`=GMxx2>Y0v?5t;|+q2&xP4CI*e zdjYH`n5<>$R-Y+@4B*gV9EW~0x@d3hA|`Xrb5w_<9R@$M0)BW@I*;bs5KApP=?j*T ziQK@2Geb?`dY8@&a2WNT!&;i-8raDSo#Oi>v4IV%1Eu(h+!jO0*JRQlO-za+$KKA9 z_}Z6#5nuYNe;?C>5n5w8<-OF-=T1bfy-aKfZhM_F|42d2D+CI>rG-b zP}mR@;=obD0s~l`0!snd&$|s1y`{>!NlJ`aIkjfcW{6Bi4W*acq|0s?04>jATW~fE z@JPAra%^SIEH`1ZTB-!!aWvisbsnpf11PK{@KBQ+qyuDEB8WcwBM#DJB%`BD1R_Au zjDZ(&@a@yU!@Ho>gW*?Gk|3NQ-5coV3E)`JVbpkzzCdqXU!69%l)hdWVQ8L2&{jN* zWlZ)S!3)p-UHtW5y&pHPp9Zs74i9pjfVD-mG^L~(i&r}X>|{X3Cb8B6I$rKYjcUYl z8g&zk*yu&o6UUD+s5G@%jhSOx*uDZ?Y{0<7e~&2S#K-@N`hOPD?;xpP}d1l zhxIjifRBoq$)B?rWn^{&AY1?_i#)^0Dh-UP{x}msk{FKYIiMaJ0J_QGtu^q2%b~HodS=dtx$=z*t2n*0HyH30vDwU~A_BwztnymB!{8u%x(SoDGtz0C(Y^j2g~k&QNBpD=& zX%dKtV_*5`SZX;9i@m_j@-<2dFp?E>_5SMDP^XNRXKywq#H%Abnn(qgD_=X0gTM6< zR!@G@@wI287(v|W!D<+|XF-@;MOgsrQ{eVecLi@=2v!A6YM-%&hGa2eY#dYhn4SH? zB@`6W>nMVO)ODtJD3JP6l4Ut?5@_-<+ykPeq!YM&`j>L%7cM1o1S>%IB?25KNDts4 z1}6dxTz6?D93b180nd!V_nZbUOh6m^t%=q^g}XqCn#wO1PgA&IIrRG?lCVPV;T%#x;?`6 z*WQf>H@=zT+ELJVprO9|vQd}-DagHXP$mI=4fnx4ofRA<-B7~;=o3nD1Zk==0`Kb7 z5B$yXLUcPtD4*!6h~lo>C=S}#$EhkaryNsW18_6$1V$ht-0xz)9#)Tziu+AZ1Rc+b zA!K%Gc}zC|zO@8CwE{da1)bWhJi)&UyMgG07Gg5J%BsACr}i5Rk2nZVJbNzsTmehpHEGqM%|u*BUuoq?b{N!X+BYhB2xY<2{Bs* z^NwT?!|W}d4@n+75K(+Q7BR8x5}-(EPluD~;;^Z|!eO@L3Oo~U+*Tw3joV-2A6^}$6N0P;QI>DxdYJhq@3=%o87=%DxLw!rnfUF1OMdU60ThP zVZ8X#_u$*#c^KDkpAtczn&s}z8boD>+^Tn|so=RlYAyVjcPTmVvWVDql>V%z$2?Wsl?wj%pa>#1uHl=G+zBQB2k6N(7yC zaR8(eEx8;GmI@%Bbv!pK^&3a8B~Gl=-o2yyF+brp77^C6jRX#&aghUj&%)&Io0SL# zOH}RPKKJv0LAx{1O8~#J0zSD0oGpM;6VU3k^$9<0H_){(ejXK17cA665_8Bgou0?l zYwyQ%-}-($^W3Ajv%QAES-kI;DhP)-f<-Jji?_D5y};{`N8# z`-t1BU&%sQ(5|#tGDw5CkgbaS!cqZJlC_iu4rfX;9RcYUljl|VCR_FmeiWvnruTOv*D~=Sb3kH=i3Zog95{Zw=A#YW} z;Q<^0h(K$TQgvd!C#{~7x3emCIU=8l(%57tLCvco!!n&nl0Yc3HGnpJKH$wv1aLL} z3nu~$c^=uyru+zn0=QiOw+WmrgI89;rx~72%29d<`!Aqf7 z#pdSs;kj@BD8BsFci`I1vf{4;KV`DgkHV7TsX{EI0$Ld;iBMlv z*^zd-3aC_FFf}e8B~+;HL;58JoE6(^W@9QUU(zT5pK3`m=ISUR%>F#=V);OiCX- z6mtS;pGCd`$m9rAMNVAG&D{j0pN3MJf;-*|aSvH+-kxDrLjN%*z}XrRtqmrB?`k42 z0yY-t9(t2VA8%lg%{7z|3Sh4Q?E$z7Fy-KE1z6+q?=s3kmob%V^YTy@AtMH@PaN`n z9yQQVO}`Hdh1p45z4k$T`D^dT*PeM4yL(Gu%9<)aK1V64h$yN?0qvbr<`3>r;R%|T zNE{ccyJ|lq2_-d`ub9Fm0T;DjJxRf#E#XubUVO@sf_bW-?m$E`FpyI3AW96C`iHrZ za@J2AbrzNXQcM`fL5(b)IN}MUs)&uwLMBIwh;a^t>#ttIBkvf2FhlQbfO#^iA}f+{ zvZ~g#%(H%~P^yG(t@L!u)C~=3UOG|RaFPgECnw9cqrSveidGuh1>agKq1ui^x6etH z&#|IT4-E<^sp>EYSveFOB>|q|G{AW>WUz<|=({2jz)uV~oP@Nyqo|9g02Bwn7J%)T z6pg;@dl`7bXoUx^_4x9XRG#L=}O$k$~kRc71S6u_k&VpmOqK3otC!BuR z4Xmbi^q69P58 zM#u!Yx|Kv6lf`wsUE5DP98V>csD$dyk!VZHdTKR^l&!dk;n9W~T* zT!{elb`Sb_=YfLe>?pj)L%~TS=OR2ZO@9h6G3VIYd^bMxg};r@{Phz!I2g5Rgy^K! z7ngl~v8<7V!5JxAbs{672rFYE!z*8P8deKWirQ>*pz4GuR)RDiR|LopNe1zpK_d%I zwB#xFE}X?GONz;thf?K_WPW&PU@w9>&5 z#6*tGd&NDa;t|9yi_xr9-t3Kr`Ffe}+@891X9K!?g3!*YfElzlZB;=W3m@V*YmmjR zi!mjFCTpOqEu_qWGQtd}v$u~`5(qd6rYw1e|Gy=IAvpgK32A2s03Vvt&p+k?lF`LA z{W_t{rf2c=b3cba`SbVT=FK%QvdB+1wkC*GJ`zWdt{qDK=H7p~dK`l)IXahO{&qQjVnrPO?NQhy!rJ_V2goF=I zX2%GQflx&GH=k^n5H@dK#JLBQ3eMHj8}{Oz9f7M4Rc}0$_R_m!=V{59H}T*fQaQ($ zkH$~I;(U-D4S`PVwW^@xTIEhSgj=_N0RQh_{9SzY>laXPZUlKH z%M=lvB1Jy?Vhh0J0U}J_=>}w=k4a$#`y}v`s19RUg^@&rYD4g4CH{(N7%jTErH)^d zh{s}NG0Yz}0r1wi`sE(Or)zAt$t1A^kX z(D8l1Ewvj`6_DpHTK*Yfnc_}>1J=0^CgwveAl|G*035wl#8BlB7I-|oL^Dw1Jdg34 zx;=z-JooLN!|(mk2XOP&TKW5o#W~KE{d#R%oQXpR5HbVVPiKBR#TW)T9M$gRbP^Y7khKLzCsN*x^nryM~iZ$V`eV6lM3 zfrQvn4e9>ZfOo9wh6hyNw6PCRVXJ_2lF=@@uy(Z=Q^Evij(~c;SOCNsmQ^Q!fH4;t z-4&?kSQ9}{Vi;mGfkP0+81h=h#gce49l<^T@#kRw5KmWjIB_ z(q_QOtbN$HSlFW12pt`SK@KM!IVnjhMdT%sTyUfC7eNZQW^aOU1IMcibTSa`MlAOQ z2;4oc_N!xMatPG0n-)W4q})4+V+#svH-d$tn6rqLyp&zywHt(K)J)YYymNH}97dqr zS^NWv!FAT%nsZ(yg-#E$KPpPe^_0@;n8}8BRHeb*$w_G?%_fJUo-=3AiQR7br^R(y zQ_S4a0VIiwO@jxAOeTyeNdkEYBZWhKmnVWDRlPxY9Sh-`bO12t36j^JF^*>+0AXwU zo%sDf`3Ly&*B&Ube|6$X)3n5{Hr1UZbQ<>*8TBu)GnH#5dR!G;0o}E6Re-A z&d&SpI8_M2Ui7wiYX!x01zEo7EQ-;Im>s2$K5yAiDCW5qfaL&8@cj&70CN|f}!w`RmC56A3%odH+~qu{rf+U@4RrjwQ(Sa{7ncqYZyreDSgdQ zPY3FB1Ekd`6hWft1{D_YkcL#r8O2x7Phz^$kqjE*SPozbRw5dtO1Uz*BcQJ86LPq@ zouy}?B9p~XBC~lt$3abhr5wp#7@@Pej^Q6R`PTjIB}@+P!+80cAEY@rvYR2qL`XS< zB#2kv`SKLl8rut9U{}pNKt39gNPSzz=L3n$v{m zCIg`|YM=#K6DAIg*3JM6--&N#Pe8!Cy>tlPUYO^1YI5uFOEodue4J z6&}WvuPg2#$NNbRkdd?8O?nNnx~9rIk94_K?2W787QVZ3&_xpg22KbM!TA>@eEXm& zSY3rUlL9%Wa(zZv7A%zE^0g1)|NQO0h1XwS6NYZy7(c5JT~7$t8p=$C>UhAY*TS7_ zWsdDRlUAF_MW#tq3k8=Pfq^~8+Y7ssfu7=QJ&NkDqxLT%am}@fAQq@dxTv+6Xx|s9 ztpc3dV6&zsx%Dp6_@9Ya001BWNklf1KjbsR}fU)aTtNTdFDVk*uT&2hLhEh zU08om-9ZO=Y_>ZDj0>@p#~oxz`PC#}Q8ecQ7ycpld@UDHu|f7q=!SfbT%HuH#8Var z;7%?(lfo_1#|V_Hm*m;*m^tJ`c^D`MMfbjep@AK9CK_Eq4)G8gGF^OR2V@=O<#!Zu25i|8aI6^OSg>gf_C~>+g=!1Q zCD)#NHf&daH7rsE`&OaGXU%5MA!Y>%V6wl2bflP&PVcf!EOdDdC6JzBy4Z*vXEr8o z?)+8Cn&@x?Y^WR6RhlGdWrl2R$JmL`ArDPB0&%_t^jL&CWoi!?Shza)@QGj%ONx1{BBG%(EVg6@a}d70vQTk*;0|(kI4pGQ_V?r0Kl-LRWZ zL32~q3W`X9V9neFv)x%}cuzyTtcJxPW(IT}!`9|tV`^BU32~X&(<b0VI%{2dtM+NR&!iIllcy6C#v<{Ubd2>8<9b$cS~7l z0tI!*LltZzZ|9I1{2{{~q%?1L)=w4y4iY#B2ONOu{yN4hTfQpiZYP4iKze8&AZtQ+ zU`0RAV3?;KniAZd14CdTX6)`ihTr*v596hm*HzK1w;pk_ki`Hkk*+bZyo=*Xqp?QP zqYnrj>J9@lRVtr|__d985YG#9N<6c%+kj!?w(KaGL}!-d>keEjwvA@tv&88sBC2-_ zrA(AUD%5cgI%kG{%jzM5l-TfdE1!QlSw|v?B6eIOyvgFwfz>!(LrAf2&KWdwJb~cR z3}jn4CkilwOpXFK0ZRq46Wd4@!?BouFk_z+Vt5-& zJl$WRUU}x-Oaz#dpuL+uKtq&2(Pw0+hbEa}1u+~Jn$1q*Pd@SU_{P&`DiuK$a5A0x zS;$1~fN!0z_J*SPyP%5NNaky*%QISa)HJL_+Vtn!C~y)RnkynvN*BeHVpV=?8wgS0NG4k>-yX= z5^tv+3?;9b+?}a9i8>t(HG_2llVqO&ZvqIj-Q|oq15rqsk3K%&O-Tee-U;Ekc>>JW z)yyzJ^KZjKj4{6a^v~jxfB7InK(p+H8=W+}FpmzD+;Q!*mfwJ5*n@@;Z`O)QTg5_= zJ10f&BdJ4@z{5I{$EqVO=_K*IoI(ktl`D*h$7s9vdcJ_fanuyFF!nM{734x4j=?Na zxOO|l<|Fw8pH70R>Z8w(V*=UUJjN(y+FW155PEwUr-BYBXpAxEmBz#VQk>%9W5uzVJ(;hVl6DPg`q-#N>E$@x7)gm*F`E}H9rw`)WGpvL9@xs z()U}?pTjZ04dt+9fvjG$Rf8mjB8ly4aVTRWv?;UcW`=>4Du^l-khdq^g^)Og5xKD7 z4#x_@{Fxox-}vnNAfb^~84a*|P>D#}N;ftk&R1XaOxf9OAe;J~&`@Yd^AQavz_#So zP)+yBN!usi#qER>$R>;e#a@nLx{T5C?1+N+5hVhPfWgo*H#+It^l|!g!6YW{RH{`A20Q$&bx2Q4ZGBeu5U#m`liMGJtk{n*cXldsNgZL2~ zV;;%rU6q9%5*|9p+9Y5SSSc*TJi?cr{+sy5)AtxkF>e}J!Z93|>`t#qN$Ak?=xmq` z%2t{?2;$TgFBVR;q&AV2NI2Rj%c6@YHSQEQ_{s7&#SK{dUYX*U-GLdmuAXGRUm|X+ zdrspav2M6pte>Q6C&H-NvR$DF6OwY2=FtVi#>KYP5Y!T87O?FiB zZ0rP<(LD?C5EzVgk#oUAfaQS5>RQjvZlxx9(KX>Hjs_%#sM9jZ-#%f2<2G2r(7W_I zA7f1nzd?+^fiT%$#p=mLhPwt3q24iu1l4&HK_7uUFX4Nb!7%R_1%Um$)H)LeErz+X z^-lcJpT84DP}a}UIVFD<6eFt@j_$}gyD(1jvtd2NCQ98tGFd@Sl(LqHl_d?Z)2N=< z?hDAFxhW3z2_>$V!F0ZVr+bPljoQF(13( zITghT$m&zvFUwh+=j>qI16)IOKxY-~J3E2u9~lo=GpTk3dkMnP;V0z&`V`svmNVc+ zhDxmmNtB6!D^4IufYyMRj8h8wv6UT+DbD~!3={KSo$qHmE9K}sVa`M_N07#XDxkwW z$D27A<{g6>*w26yhGfiug#xeOufF`_xPD{V;C{q{a%HdVQ-@X{$eb>r12S^ed}N3f z*x1#oH%_S#t=<=j83e!@Y4I15K+Zn%qFpR`!?I@LU zMt<+@3hJ{e{yz9e2Wc5ExSA0lrI@mzq1Ys@ANm5A5qLXE0!*U`@pMAK+GJ}P9CA=T zo4?Y&8!Di|T||d+2n+HAhn;88+(sZ^H;)w(9k9^NTkpmvKl5;-NU<(u=CtZ-3con`bJ7P;1a)X>Y1hD2YX>bHINfPh3%53YCL@0} zbNOTpf*S6aiJ6={eK<fc#jbj11K6QdTa!Cf25 z26P9EM4rhyUj)nO(5m+J^HAc2m7UrHt?W7kFPz0R#vWxoI9LB%^eKMY&yadmdAft3 zfDBjDP5@yCz!n3iagbwnu!g18%>{jbjw2Ba?IH#$hmNvKz#Qr!D}iliHnXozDh^Bd z>t}utTRS5q|4f%=kRWDF+LSb5SSE) zr&s~AOV*{D% z7o;CIE|8tQmGVet`_%;%bxaP=vShR(MQywG3$R?hvSojc0T492;W7OKYhojzxb`JyeM*Ow?O;z&hDf5^cNm#4%1=3CNOzj-KBF- z`nlL-1}L@>FsqL=eXz6&h$-NhM0S^mP)fG3Od5pPm?G{6sGgS~YMzG@ILdJPlorzP zFRa!Wj!YEDiKvOxJmyr{pv~okaa!F=NQslVf;yon5KblsPE|t8YS9h1q;*EX%E~V6 zh47SO{wAqwIcbtn!grI`_5B#$Iz|{UiasCFy;)2I=3SqD(U$9l`_$Y+?BY0)s3_YsWuR#PAq~Hj`)wD#fzy05bM%_BY%oE_j9v& zCOt>kOd^ysR#&dT|B~5ucx9_2=zwZi2^6~QqJw@ZWKcb1H!8_gFQr>EGhlT77C^H& zX?dH$x{^c`gN$pw$Q%wJ?KsHeSrR=%_4oo4a5zXifqXe&Hoey5_1zI>2dfybY%i$B znWIX^kbpcSc??ZBI2xW{C_L2H6#&3y4xEEOAAka@YX=6d&hD&0{oX^h(y%;7gX8=u zC7*JSZ~GEcb2toC`AGb{_4$cA^Xj(RCPGTxT*%3+`wj1E1^2Mj&kGYUs}j|ThaF?R zz9P(B>yj+j+2qGlqMeXbhh0Yo9d$1FwGLY z*5-b@P4Yk_PO;{ix&fvM^rv{~_Wu+By3*7s0hsKqr(Xyg*qwCVVk2X-aRP7${@3|C z>oFb2VdDg2j`;y@?t0PVOk(t)y2t2^1ufyoG1nIhd8 zT>iYVb_5?K>0yj+$D1a)^Z#}y#q3qWQoTHiY+6m*F^HVm7i^*0`*iw%~M@P zQEswMlK^MeAWRG~ zc?ymJj_UIzBYxDHr+P_DyUNj0wkQUh*<8M3$+nZ*r1i8Td}>JME}k}mpzL{olqlv1 zB1$HWMUo)VX*5ZPg+-uB5)8)ab6X%xjY(mGxj~HKCj=9Z>L8M>;}m&1%a9CYp;Zvk zFleZOflk~pCX%ha0UbkQnjB_MHvtjAvs`T)ta-uI3dOgTwom7Z6S$5$UJ@X@0;U4s zF#v>v9Mk=EEU(?ceA~YkQ2`m2ii^rYu|OqmO-CO_`7@L>mQuZ&BhWc&{e7aXRfLmk zFJXCkhQ0lzZk{Y=hQ&;Q8f2j=xHIB)i3#P{zJ?e}=hlWoNlh6U2t_kf5D~0oRs8X1 zM{*a87z~Rhgp=7DGRaKKbWsKfir*2U30>6WY&r{(q|q)97uW=`)~__Y1E<_iWKrF0 zJBx?Ov;?#c;3O)4YJQ(4mZz`&fE-&jfNXCmS2g4%34o`$BaN;5TIvq`UDZl?-oM5# zmuV(TtH}HYfP?1e037VDcjNm}wjaV9909MunDcp#kSE}Q7(WkqUWMV&8zV6(m;$+@ z(Ka4_U@L+(t?rmf!iF`rFW>;KF>8Z2V2J~V#A!0tl$UBVW=3Ga4zR?t_5T!Z&+PIE z=Kmtai+Vfgy2-zaMXc#|Kf4P$?J(~>xdsf`rT9=gL);= zHZp+Iy~1jMEQXLd7K?KFU8fK^gYtmWr>~U(B2bLACpdqCM;kv2P9RtufsNGwk|+EG!d`rdhVlw9 zUaX&Xl=3E2fbjwWkJRVNbZe>HFR--N0h8d6rf^3f2R#g7d}Qztl<~_Df?GVM0QikD z==7diRY+C0Il+Z7bV~?aP z3hacdg7em&@3;WyrRaCF3_l)&<6=2fd)*;Xj`(GfN<(`2=0vcXa`_X{hzD2MvxQKPDhM<7T+L#2Jo z=;9loeB!`3d23^qs}QD1nb8LCl=MQxRNU z7a|w0fv{_1(=Oyw1^PirgJSqYCWT;Y{&|+AJU~#DPzC=a6_QL&V2m!@EQiASU>vRQ zPl`I#nX*;b#sB8nD22Ps+}(Dq$qWM296|h;+n9tMHwjeP=v(DFgEpE>?yR6F#sjeL zMH9im#~hY09+W^92;zq#jn#1ifv+yN_@m+n#-rPK$6Icgfj^xY;r6eIG27gMN!m&* zoYPJMb&yX2E8+wo6G0Tbf+DdI4RBdq3tK^%VI~7u_0zwg2_pAfAs_xyO z-a{NWNx>(Yc{*-v7Pv8zQv+K@#m?$B29TZIMSkXno#5OdF^`nxG(NC%-PfOe!)>rJ z!eI@F3E~^%bSxr{6u5zv?4UadQ1)%KJ8jCiG^rq=!zg+d3F?^hc{-FgM-C4SQAjP= z70|U2us=3%U`9rJcW9Kw4Dh2Y;*&tDq(~^NP?4Lp(yyXMJB?oUb%%_xLHdG zMHs6}ltpFFAtiua-BB=;flCBS=!9*;myL=$shT?=B7+K#-d}QTBeArSO$&-M9>Z#? zSa(d(XD+9?gZi1HT4cOD!?`oh#z8%3QrMc}rH-FrD1~GqVOw!jBZjja95O}ll09+j zKtl`ytxqs|;A)jw*s1Wzz+AZ_F*r%W`+G1F&yiO7HMEnCgtLmRoF>8YZZD%~c>q1etjjHA!r{L@aXwxv9uJ7 zz;CO@Ea6`in4%!fDI}pQBqxvVivX3k!V8cDZ=ptD02<#;t0#BCWYbqECM@UGU#|mhOMgijouT?yN zN+9smKWuOn#_R1&5^+Ka2i4GQ15xn;6Q97m7y}yh2fz&y8`*RSC>o0gH8kh&YXM}k6qjx6!@bdPJ&T6 zh7>BXf}l}BOKrJJeCLW%-ynhc=&hcp0(1n!AHk6=P* z&;%?aA*2(&z=eP0WN(|mz}*~)NuCGmJE>n}NFLupM)8nXlz6K3m5;pTHDuX#`5eL1 z?URCWNO1zNlZb|ZWMHcw8;ow?VBGwkS=fVA*H>GQkX0E2#27vJ2C|iHwdX*SBGjY# zXJ=l35-i`G6$q8o)jNinVA?vcb5^0P9bU@+(eL$j0;3s#Z^%GMAcRSV{oNCGV4WK> z!2-!+QJAMMf%H`6)@wNSt^lBI0^eBGnm>SnJln*-_xNk(N0|hEbFRcv&>*TbBS%rA z%8y7*N9~hX$O+=K?dA1QS4gYus%np6n2^FZoF;>~dgde%KqdmV=OHu!E8ja9DVb^{ z!88#d=?>zWKlmiIHSZv#|Jom@jWZ#dEdZy9A|#(td%rAaT)gmY5YJK=Cv+%#JR>;| z{t11sNj#Sj4#w4xm^6Y@!QUdys^5<;+(v%#rcJP-PYE=XEH>g2$79Sq&EsKFv1}+c zowKUGo?$W|px_sx*&{m%Pyx`_6QwW{_U>$y3y_Z_5ge6r=$LqduGi29Yw?_%gLR?? z057kUgqKPLgc+WE@atF}2Q%=Srh>YV;CQ)+J0zy1f=%QLCSYL^%3uRq=ag(lk1D3s zxhvR7K}+dyTKd1BUoWR*t(?9M91oVcGKy;zY>r>o!_Dd>YQ~Gl-Ae~?lz3QY4oJvAN&%js!cz?;Sn#E(;=vK0G z+ZdgDJ%z-$XAsPsU{*??&Loj`P<${FpFx_e?3SP8DcP4ir#QgZdy~M$JO7+P^bC|j z2mlW5tRNKQ`4l}zAqT~rY97qN6C4RVbQmeApH%2(2EM&&&SKqr`fGUWrA;&NqjOF` zO^LEH2xG)Bj3Q`ZV)+o&IuuqNcL8zbjuc}z2xnOK*A_`@5ZtjWw0%!Xv%o9u?rV z)pc^++ew1=g#uH@9hc-|0ei7MTvxx38Q;MKFZXu>02ui*6s^yxdWmU%dtjkh+G(6^3@4~+ zVm2tO8c6_bar8KVvg#7#F%s!2r&xG|-79%$%4dWG@`wVlTB;HyE2C=)Ng{~hB36S$ zaTfx6CL&P?h1f!a(}6f>`;4H6z;t3jTnJR(Wnh^^fGlG?`pCDCVZS5TqsRV%hQUYy zJ$^w#CqG#R&$1R_l!S4taE)~Pv^vGo!>@s|sSV+1+l7V6V()KS@$-IeJZIWjkav6- zl3YZ47oNv5?F>o+AbJ6yJ85PCz1_q-9LEA(0Tbwr9DI9C zeGlcg{JDJ-t^fca07*naROCZnz{&O5pujKZRxDVkh77?RY0hm0PsdPKg3|}P(~$c2 zNTym{$x*_v2w*wsi`YA;fuMp0eq!j0V;&$xD;i_2p#IF6J$YzwCyK$2FO%x5AfYJ5 zhiEX!?lK%cBl`SWc`(qiMOd8!ORG~{y8rV|Rj<`So@bD#`mGrQohTYISn~%0`#)H2 zxB!m003-QSua}krmL9zf8t;m0(SdNHXJK_69@k+_4g)CY z>-+}K1|Z0?#QWZU1*zwx!3Dr^IwqJnHX__UC`FH|lsPtki#2Tq9KmX8xD{(hQb{D0ZfFt} zyVekKpqK9hs)I;L!VhDRHHopMt7^Nk|_>n8f zRyXZHi!PFto$1}an8DpHqNt#tgj*n=g8-QwOzVWoIsgO|_)`Ag{%#ls2hnH-(3i+q zK*|MSckAQ=a?k-#$ziMN3RmfzMg1=Gup#@-~MGRjYE=;*t2q{ zc>Q4;)Ra1gl?;@fYF}ATyV!noYzs42nteHeEQ6KkFrq4&OXvfpLMYgL0Ss8hA+*~Z z<;Xpm<2a$=E~`U`{vA>~4c$QmR`|c>UPALd$|+G!Afwn!E|SJ3-y1+VY$lG{9hBv@mNCYUypDY1X2%3Bx~-ut+<(Xr7`j(V z^8UE(R4gS>Td|26i(HO?lg}Mf9PpQPNN|(DrOjVsM)uV**HThE?%rBQDDvZ%gW{Ov zphK(iLEXd=bp_~n9R+~r*MQjw+H>U6xzFNz9=>GiRMBwc*fFjwM zC3I$~p@KiToJdnSC6X1XeEQ5TF5dUa7VhzQfKKB$YogdoAe_QPMq=P12k(tzcqo~u zrDk?u^w4#TPQT&6ChX(NZ?~TkUWOAS(Hg^V4+OgEP7r281{?_0m zP)!bhnSe8B z@#F9M8pb)Nfxjc@+pv(O7UDY(2>R6;(M!JIcl7N~PM4Nq3ejbbo{#8g!@zH|%Yvsay9uY$BU z6VQj(!-1|$8ws)Oel{xk0Kgb38$vR}wuz8`3p|5ywmn}GK=C4wy=KBifv|IDqs_Rz zvdTFIt$MkIBjO2;3mzKM74$laT3Q4Cq$J0V6r2SU*%k*ANoK=Z3^qV!T}7ZIApF2s20N<5laV zx(0Dufa5RZObbWHY7gB8HrYj1S%7RL9#25r37tM=)WXM%lxpp!R6YJxsm`;J^}D~`Gj(X!Tz02z+xxolF5wKKN&N^5SMXBSL*a-$?{YHx30?3{3=)@~7qm^bnIaXEXHpO;>;r zSG6$A;MBCO=M^NAMdB62>{Q{R+hFeJ30QR_68Z_8$WQx{g(UFJxs`Jqa7R8u}t9Hc>vvhQm;j{UIi(S$009CVUTV_OCA6~e*YbeFTNZn z0O*R`c@EQ$r3Xeb$>NSlV*m&l!rnNV0kW=r)(O$tIS_4@lb;vwV;5hvuJo)o6j1&- z0%m%0xDIN&H&0X(#K%?LFTfKVH9U0GUBRGfrqbBA_4=0s0dG1tmG;_}FA9iGsm7H2)4M9xmmRTEzrrLv^DPfb1B8f{xT$ zMozqfjHIBGT+r^NHW>`0>K{m`D)_vBgz8e|lMM7Kq07-V>2S)72QS{l#d|-I2IWA8 zO$6dS!vQ^0zh2;n;{qD1hQj_D!ek_T^y5{Rqw{yLbm^sX?}3HYdzyaN8p4pMx?9KC zPbMm{go80KB~XVsoEtyD?tMwl5fu0i#(a6fB!I61blm`p00w3UId*qWV$iag!zhR5 z=_HOC9y*e);1G$#_#NHJfEP}yr4fv`UHCZO_tx)h7;(njO$g_a=JoR~uvYQ=4VU9W|IDy?ej@K!4Ob{14>oLbrcOw8s z=Wmw@fC@*aj}G;Zng!@w?Z^r;GQ5x6VXo@?*j;iQLCK$0U^4b4Sm;MHB=#9>)gqrc zlK?Sx0s5TB3xI*0TN_}`FxV!!YcOgkR*ppjdIvl-h^SpOm>&gk9G^_|oiX^vhIkxf zl;6bP{Jy`$iRI#W5`n7V=S~DcC4vxh0i+3LiMzwW%Y!Y^Y+#eXX%(LAMzEk4$z6m5 z--i{|Fb(2hkjmcUI{bx1cM+yb zD0WxGBKGpXOAp?}^2HZR2*{On(m+TDh5=lkqR2uYeA79ej=%?*y>lQ~645yMkm+wk zu`(>sK6deG@9OSN0uSE)rwqzJ0buI!0vrh2w@)g$=rPDa=iv#4KJKXCp?SK3d5Gg4 zu7NfIe)cpVyqq%H#Rs4IV?1(p7f09*DCy|HL{LLCBCu2Qb5Mk_0}pAt19AVv0-Do6 z8B0UO@K>lHB^cGW*4sB#a)^f7>{XK?nTUpC_$H^Ep`B2b0xB7TL+BWK3(?9mv{{`JckipT{sC;M}C?> zS3F(-01h^nF`29l2L%tSeg`EI8rBue^LP-lS964y&qT*Mwf+tK z!Vi7{OQUeKi6AVJ2-IV1%+ultLX6*AT|pCk1+SokV{9T9NlFaWPjC{4l(>d;?m-i| z(pExs271sALBdQVDu61)98_2$|*I6(j?AVqU zN%0)GdqY_l{}AvAY}~j=74#+R6vX3{l_f_brT6X zx&oTx@#^=1K+mj{veD+40Z%>jF?{H$%OK$HCjt#MB#D4q+7MQjX zp{}-J&JIM$16moR6+<$B!!f99-$MiK7*JIl%vFMFVzNzen^Vz-F&t~l2_;iywc!i^ z-ud_|xODF0#ze5A>34SlbU1~YGY6FN3CWBAl~B;mO8GWM1y-JT1xsfyx93oR?*uC0 zAaJ*A+!|uDR77xQ47|tI|D5LFyXHmTWxaFYpbOl3+K4;>_Lp#Dlfv2-8< z8iMWqSv|*W`xLmyKr1t>zWqgvPF+K7J+AiYrn3#u#4ddGPB3))u5lZ8%0R8oBJ3_l zQ^KZ2b+leGz8`f>2iMP2&=z+1(_L3{HvGcR|Dv2%jd=kQ)i=*FY~4APR^)dD=9z~wgG(g40y8C-0jTzSMeXe|1($}hr5^v5G4Y#5`m>O^57v>3Zf9~ zWYARpaJc~;+#CIV2O!U^%TFLxN@!G^fb8(*=JTW4duPNr1v@1o~><-F9!S zVLDwpgdFq;d4fgUJddO+m_rWQNgVeiH>0zlHwbw89$;2~wFTaB@elB`?|B{>@!d%T zA%H?X1XfnS6p_P{Fm~V}oj8oiV+yHf5%kn?$JR5;S12W5L-hMNDTKtDHBID#=M$v(2XM6iAnhi!L0~J*efa*Hc-O#Y{G)YrqDq5E;{P}R$TO_2?Y1|N)|FDMF_l_I z68|9m7=5fEj~nf#aAKUR-=6d`*&+i|DHVJ`NLHF!dZ)=K&&R)gUTTkM(TWdJ- zKUH_#{FmZRvA#Bm)X5C-IPqSoE?KGX9I^FkS{qBUYejr|kh z{sGRM__7aMCK$K=Bn=s(F6x+U$4*#-V(Bq>nJ|9f3bN5bdNRPep2)twtuut+3sj^0K53_^Z)LnSC6CyE5}V%PM`{FkGlmJ))T7Q zmP>JDrQUD?A>OB~iEd|au+{149STtUm#w)4P{8}2`Z_M0{=h>uOhs5t~r73JM~%oXCM3|PAt!kClNSaL(z0G8w78FF@sQ7 zw_$iP5VBI@bi4FH^&0P6>-0w~e{!(UJ7 z;q$$-0sSOz`W*hUnXtbEKFHHxFZp^4Ru10lV(UFJ3i>17;e%ebcb?1qmsdVefM-tt z{9dz75iQAVl4Et_0C_$;CYWb|$GLEn1JNu3XZaoC_gi*l~wXS5Q?kjb%^&WIx~QAYV80Y z{(+C+>L2oEhVBz6>C0UwbZbjUHRiQ*YRUs?lSIRk`pC-M89_$_?+ zJ0h~GBo1>-R=Y%MGW5fUGvXwHDs1u{_2$y#L; z#2i3_xUhnE%7##z8mzWdWScj7Y!ltccq z7mLUZNUaXS@Cjg3b+j}CPVE7s!r&CTDst|YZ+7nIMTfO?7a`0&N+C4sFvHeTTXZ;E z(0qFtL=(c~bua~9#*F`Z$Q7H-dx;0+pC^z#f~+db-P@};I9NRfcTfz6hmK=NY#s$s z-*XR^gAO=`!)4G6z!y&-TsaE_LZ08kPkryd!B0GO`3U`m^toWzOjtZYWF=ut8P~s8 za#9LTGC*H42#KszT1F?(7S!B;v*F9#EntkGmLEkxGUY2QtN~-HIkL8pu}!*-24gpZ zT$U4>g!;p8`zGFY|3^VwIBFjY>Y?uW0B@5RQ)&WdT1Ho2!P*4a*hi%QkAgY%Krwv* zz3W=m*3#BCrjF+{r-v&jXlJ=p?rDD|AemTZW6M~~J-|<51wMue2KmP1^IqG(y!`$t zA-omfALxUGz(9c!*4B5DR;O+CX#wSp_c&S*ra20TXNZDl9*C$5qMBEUL}k#twgg^Z z0&VOgA8p}@^H*?t`*FN{WBvHhAT|_0mO6(m=*3ZO$j7UF%Vw+2R)_aUAl_D@s9r;qwKZ~ z>zI;9#2R$(uLbWUk2T;F5Rfx)@&H(wscWAcIH(8iaUTQ!H6)56Hm*^M&ug+^B=y>v zFuSn24r7aMR@5PP-IwJ`8NKOANftZ=h2&> z4?Pke70^2$QA?+Td;>h$K3Uc>>nmLgBh#B#2 zfaqAVNlATztl_q14ncbxG2_xbckokB{U(;Ot2P1bdI4D-Ko{JDj>n}-VlbWor}j(u zCxLKy06E*C;7R5PIyQn0g_uIB%IhSA55@?)BVz&>sZDiAr-xZhK@-ECCo1p~3jW;C zD>Pf|vd%vX&`T~+qfmi6H%}pi+zw!GCOmW$a?n0_>8K&1Ar=%}$0>m9t1Af4-4D!i zY^*+wU;MG(#P>dY>v$7E#1mNXP>c7+TtQG1oqjTC$kia_rol`IiE73isEU(Qs=^7$ zU&}Tkw!cPvTx~SR&h7)&o5JEGmRd-t$5v}O&#v#{!|(cCY%D#S24WNXK@a>x-D;xX z4Va1h0>Ij|gnuZs=da~TYF)$J)xD4{AN8c3ULqLc3FK`StKLVkwF(q5Y$ON7NRi@X z4UJjKpjb7;DEJR>fSsXNXTHcK{mZK#m=eMzfPV;Ta7;rP1fZB@7%c(I%LhI)|6K)Pmy$>y2LRp35f0XXvjR2;_ufC&-g|xX`qtWepL42et^6ugXYV!beb)Cr@AJIV z4;;s#lb7T0srGD>g$#K}1#pt@l^G=8x?a5Fkcmd8Al3@26wOI59Fwz$q#4Oj3&Rx2 zM`wCWnXJR66qFTlv63+aV?UA@5~K_uHts`j)j?7#ZY9eIz+$tD=l}3WamnIm)GV4@ z`NxnOREJ49F3Qg;lE3-7oc-gGbjTs$kjD`vm)xUENveRBaM8uXB)i!1z)GVV>t--k7Kng0$V;5~1M38#?D6OU0lBuM$ zh!BP}qqKgI^ZDh1Iit08*2+3#4;hmomS-5a3dIEG>peX8v7f@Fi=VO&h4)D{&YA&O z8o}9^1uPjv473Np;yMs(@{is`4xUb+w)L7f06uSyuP>v>7mW3^p-xuXz<{(uuZ(4o zE}vPli^w(L21-EqPVR?g1&y{^`K3%>CPa5I#1l<4G+nc#7vc2jCG6aJTmtV=djM%z zf*j}|Rs%1ip$g+zjTFsSj)Qi-;g?0yFLt71CF-br#A9)C@d8hh!p?vNF z=YZ=xvZpij6b}=4Z8yXd&R}WB*YKjB?4wzKKK}OG7eVk0fncP4(s1FpoUT#!3ui4Q zSOzm9)yrqShlTXvY2+ExP#Wf}`5`fg$>>%Amaj-sDyIy_to_<)Y=lRTFtK{PUWLj- z&!44_LDGzZ@q28(C$ok0HIbcz8FRHhp7%qa#zS{}G|L3C=DU-T;b#w?`aJ8LV;De< zfrV}w12C>h+B$<}E$TbK{_wCw+n6lRh5TM#KsoPqmTZc;KQm!)x;1>xNm;w&Cr%48 z6KkwOUgxZuNa;IaB>X6H(O6n2+0z_&w!_wkj%dO-5Of+eZ+C!%odVm zk!khqu^nqXs|B-ta^)q26>{0=YSCh_y!&vTM?DvH0UT<9TTQff-iJp&_i-XRr%fOa2P*hsU0 z$YPYO5|8aY%7VOk8DWOZW0Q_3(Ac}=DRLZ25UX=YPPH=oDD}fqL>*}zlSOJGhYTh4 z9$Li)zpVDE4;(GB1f#NR_XkeDhC%WB2()6=)hxz?6T+zzi(rnWwHYvmGFToe7&Oj3 zwn*R?;elgYHk2=m$ajt+nM8myfJ{9`^yMbR*Dpbv@5l3={Ac*LPr7T$lgT_mV_~*` zkd5R>BiDn+G?GMw@JmH{AX%_E+R`TTXflx8a$0WztqzxwTU3iIe_xngOQE-()-tHF z8U?lGMXEmOeTuUEJB==$f90oe#m7H3K;kP%KjEXRfEQR?2D9 zjDQx-zS#hjQy<`xnAjbJc1gXCnFNDV?eTXhOFASyt1MlcMzWH;KH>O2#tj+?JizCe z>F%N{FrH-jzO?xhD+GQ#z*j1$MRyQk=9}!bv(FEsp&!VK2TwMJVP!IG zX9;9FCYgsW1@Ktv0xDnM+DQ~@fY)FMtTG5W_$zlHmCq%&&lpuwkB>?J-qT*kFJAfA zxNPZ@4h8^s$4+a36*<@fVAKc5K~(}UH%R55NWj_$%;|j>^v-RLrSCZBzT^lTTbxl} zfSL$mqlv-sIW3HvHQO|j6kJ_F$M2ELIUJym->JRgeP7yC5cq@c-;0+upOOIL*<)5= z>4TvqWT4lrV{Tysk@Qd)k?@HNy(R&Xl0{;n647R408Ib}v`)bNEubFZ(qcn=I{*M6 z07*naRLlMekJv}}?gRU9dcBTK*{l+g8w^x~s7pMKMXP5nXhvC4%GoHn|i--%E!eZnRAn%Yz+HuG~O5B8i zMv^vuYxLdOJ>Hl@8G}xeKJPH*g#7nxat|?_*+n||4W+8yu_bV~CS8)Oau5tSAk(QK zm!l0p;C^)Z<*&Z&&b3Vi0RVVu>!}C9$#VhhvRZtLA>;%|sD^fXT`~S-)zc?wCbw0r zAW-WMojVW|a|nnfIKjZY4kZ8`iNR;u*tzeUc>EPdaeDPq+<&UAv|gL7Oaza{Yf)t7 zpguf+;EN%^JeCZ$!Paz5ayEv`0702GAZyx+aVIq;6dH4|0ss(!@z`BQ@Z5*L7rWYD zEok78!w~Y$A+dyrf%#sV`yc5B*`~>B;dpi#X>w@!mY`(ID=2*Y1k57nKFWZB`#N-%fP-zc=a1rXkGTVL&Aqt$fgKo#%>V)^c7J%Uzahv;i@4UOrgz)K$-4k)GJBBaqua$Soxx%TLUj;g{thpiTnM zc+lPW*~{LE`P#h!vJL{Jpupos&u+V)N@@PaB-dF8U~HhvFRNYmz5`{J*Hl*WfzDMABkunr zgO^5biPX`2{G>8CP0Jg)9<}xWdmnTRah&MUN;Qqt6ll%YjNdccX@AjUz55k8KIi&n z&yjl`&wI{uSw0s5Vh zi$P?#ji!>SJp8wup4$|u=U)@D1@qKok^44@?2fn7*@C-8yt8#YEb1^{Rkpo2B+nZFlLc+7q1V=wMI zu>irF$O>FB19n9XGKH0NP}F1|IpC{GLsC(X?8Up9$H6{3KnV^j0bf?fPf9H?Ajb%l zbEWS;s&fJ_xcnoytaBS8^gSNCN9F;tY#%^P54Fw%koK#KRQhT4vs^^TJ zryjt^9@rJQMUKovZZ_gtGh+~q&^x*W?$)))mGUI2Hj-`4;w+alYy%H4z;(4(-SU+Q z-K%M^ftNoM-2X7Z<7U}%2Xq@7U@$0R?A~_@bFDSg3w5!AiM{_#WCfwu_nyP`**1Y0 zIF8|YLjPeke5Ly|yyu@Di$kYd;7vsW3o|g7g3kdU)m}NeIhp}sOZQPGV_q`JOlZ%syj3y%H?5KqpEZD=eCDN89U00j%+;{amBCHGMlBZpI8kL>s7bsJy?D1wny2A3*gUW<|NUm(HhDY#S9*$#GI`eNqf%>c&+ z8z6akscZmXEbLmxjvc2#G^F1KD`1n(Z#F9^b9~T!<(zw#%)lFe2#gyf|m zANc;`@$KVVAQ2fJBEfX25LP*Ek?$1UU;A3DF@aI)sEsjL<_oAz;9yA;Wh~cv`00zj zi6`#-gyj9_>HZ!z5R~~snelJ+fo76s{OI1h&EqCGJZsXvn84V9$NM&qm7fJxpMy}1 z-^OgL$7eqb*5=SZv^aJaiKLWOr?*e4`btuE(2%hZS=bbC92??CYrk{LJ(H}O+BBCS zBYr?oy?sW{FK5S)-bz;cec0LpxrPSm z`!X3VqnrTe>_g;w5cB}L`n@qn=pUO03(~|48W$Xzeg>I@LGG)icLo@Lcf?5e79{xo zq^l;L<`R5q`{`XkbO8Q8VC^SlFCH6xz+SJ8_Iz(#L`GIGZI(gfb1faz6|D9JeZ%?* z1z$@#Co!YZUBzX57k*^!2pZJEf&K#e9AQg0xf`YYqOD7%E=!DeXDc}}`v+;>z8oiz zXC44jIw@;|;xSJ9e8R#pJb&Nqc+#$qU_QP-YdBUYm*3IOdHh;rwneB7WuLizn(j&Z z_u>lVYR?Mm&zxl_y$nctKw1G@%C87^F+JzLaJMM80;+4R5C*5`k(_R2&wvIV<`l8v z^J48o#OnSmr#LXcw2nUi*V^yia&Sugd3xJ{&i)@D?tPKLd)?`x*#y>6qm1+!6qsA= zVfUU>AQI9|vNdRIeSInt&$*foT1M6>AQJ`2RN4Cp8aU9u5}#c85qz$<3u{{q27m+T zJ;uc5BeU8A-fSXAW_==TW0ogX|~_E;RTH*JqYk zVtwfO*As`#BYh}c;*mS+Ib{=v#N(1?bVtjT%4wB!u>3AD<%K{zu9`qSxN!m$#8ZTb+5ZYKSopo zno6m84lA(s*_c5(=(H<_edj2`E^^Nk!VG+#kni5y>>wh6<@hij*ZKw?-#m*3&EZHg zhu*dT0|z58`U+*Qsl9{rv{HG-FKbo7dhwW)7Ah5pwMgJc7LMV$mwX;Sx#z>!)BIMN z_NjY=UIq~Po2x-f10AUgjU@H@n}baAw|dXM%HBu?Cs*Zfu#DwI1B-{8^US;Em{^&N z%u2%8LGMHdVzps(PnPEblfKpn_JK0;Y;e2Z*2Mt7S$oZU@1DjAm`U{RK_qCk*&n(?xU6>0t*6>Nv`m#2?*PBvo-I6qV4J)KiHizsxAk)$$)e9H1p5TKNib_$-Wj8sGx58H8G zK`~ZoH@?|>9R7agq4-*N5gQzBauB)XVlf)Wk@g;GnM0cFgVf$ON#NnF6+CJ29z3G+ zRdj0iA;Q3veI^BhaWHoHbA(j#X$*$dy|NKy)u`$NdwiKZ#(T0J=8{x&Kp{5}>Bb(g zXB=6xgFNv9r^I8srdfN!OxQTI17fwQjzqC!{190bI3*JZ%I|};dmbL&LqBWdV4O_&Z^WZ!8r zgJ6xH{ZC9ucEBJEYE2v-T!A~*ABiulUV?iEE%dfAAgEeDdB8#a^+W&~U_7|Kh9`FJ z$D!D*3vN;Z4!8R^9+7y?g3mr z_Z?i^_%>?MYMSP0c=aA2aP8xIZDjcC!ys?OInqpsl*3`YeO%2#a}6^WJO^tAJ!hJr zOKvhgD{1S%ehx7X2FFq>E3)+YQN4ckXVyJ^HBhVqP@fY1#o7%wzi)=Z=hR~Zj|2Dr z7T``^Y{10^C>Gdr$qHJ{t{(`tJ1Zy~FDN24O%)6R;|3w;3}pwyg&|^si0e3&?8Cj? zhvGXM7vqlgoj8=V&}G743qiqFC^nLK>cnUgdWeuPHia>y4mP7kX*SQEsD~>WXK-obBra|o!`}M$u~2&e zF}kU@Pd{-ZLbqjgC7g6gQvydIjeMCeRkONkZtGi8gPc$YsVLWg*%pDWdt0a zk{Wb=OB}-Zyo|x>95(J>N}T|m1w??{CYq#_&{4d=sLLD2Y{-(>L;$#lgr8sky_-KU z6US!8Y~azv{l8=Ij-qTpZbRK%=wr{GGl(Lg3Um#%MJZByt_<$q~5I_u$ zhmJ%PBjE;ClD#-NxCo~POE@`L#IeCVPWD?kB-&UNHEeK%9*?{IOMmq0O;$2?YQ$(l zpcN(99c^Gwt&5%UDt6S?up>T$<=P1>#z)bPP9mZ{B53Wo9zw!$ORI}VH`PfkuF=o!A@LECMQdXlNf9F?F9F0 z*=0rpUn1%BM(#hE8QGTo#vKtN=^mIrgI@A8^*?;?`m}9yZPp+FioV5&-Ud#7W9+OG zjT>>P|JQ9pMxeWA>p0bz$ByN*SsE6Qm7|ZLWYm^Iecj)70%q%o(ZaPhVY9Vt&{_xt zwU2PLVhCybklXS>_AsZ=LL&E^IpKyvJ*ur2BMC9%I-ujHG~kcQh=9q(+6K z=UR~cdn5}BBzt`W55FrCT7Fk$?_cs=uUnRu90##Z;jyZKU+m;#RR7-Fle zL+Y3@8tVBm+rJ;*cNenK$;Ai)y?I{~IGc>(l~~|t(aZ%J(!pPK?DhQf;^nmc_Tx9!yk6q~AJZnZa zv>BY?olMFO*x|HU&TBijm04KWhi=eVGm26bE;s^H+G}O}YbDMayvZZGeBj_1SmPUY z>8?;6UN@5GOR`#}OAc9y0s+b9_^{0@W=qR$7kZG^1TJTP)_!-kj;C@1H@3`wa8?%Q z06I%R$8dY&2Bl!j!BmKyN2W&zpW z)9%&f^($Y6i=QGYpZcR3z>!^EF zVBYbTYdDP|xvvML^DBl%g-G+pBcU2_{ZBMB{G&g_nUtfv=KK7<-ZwtWO_uYNaQm42 z=XVvW8QsowmLv`Mv3bC`$VFPqX0o#|vc+Juj-y6T2J*8xg@F!bpferxkI!M021=UU zBDs&*c#eQPKY%QcDp`IlQm-MV6G+6bG+ux6;aS?|P3z=!>6zCsBYr0keOacAWSN{} zpMylo#Ms_OjAO?aAVeeu=VUHG#_Qu~0K?kcibv9u-U`>3)6M#RfYE%4Z4amXp6zfcP+oMO3|9kllZ01?^SUJEiC z-dS5@OaC6N789wWZB0U5;XcAt-n7q?_HVcJU*v@ z;Qz$~zH{bcJvMne(0SRjz=K-=wB!leTUZNM&-cWE3D96_Tj}K4;MJTx|7GV4#8~umF~}1@;0gOMbrVcvl*zFJ09p4dtbF z8i8e3{XsxKA?tjS%3nutnAEPJ^0C=_{9PU-Khb!@Y+1mj zG66|}`UD}m)fO}(g`UcEEMoz3zZL>v^-LWnPtSolvU>mdtblS@fh)+Td3iRkR`Dnu z9=Ox{#*CSP?|dcBX*+M8=Wab#^Nc282ps5{JH7EdFWlyN`@DS@TPVsJVE6WI=PJS^ z1gZZPHZL7H9=qip1ewpU;n~A--=uo(aP3Rdy_3XjbarBS#$<-T=J(M(wg|CSSEVV% zW|6XH39470F$e7$N(*!KIcMep625^3{J>^ddGs@wB|K|pP`bVJjM+gUhT!qg$>U82rJ$DZ zzR7W1;Z?}xg1-nnH!L1H<+NOw3L|iN@_r9pWe8-eur1bW$ihT=XBN;syg1(1NdJ^u zMSy^am3~3vef7{B+4~D+#c6yy2FbG;Z@zhTQ{3{c0D+gbo^~7%a{xaTMvTQBB!s1$BL8R8-&h_Y};~LpKcF9U?iTfQW!d2*S`UAPUkm zJ0UO#u;cXzFGKWFc~_St7=0vI~0C-f@!4u9D= zJ~Ig|b~Lu7=!wMLksjY6JNg%AHQH1)Qv&$O2#+Hp+BC{Wi27gaZH_YL^F3d}PPFvb z=ediBnceTQr*Gcg{briEl2z^=JSMT(JC98ipLMqVIsSZ*n})iSA})CsR9R^CH6z*h zoo<E)z zY3daL8NboA3(cqf_>iAP?icbk3`X(oIo_XmNF!rsO-JIZ>Kr8tqpnumcHkbZ{ z%{=T~$q%k!G;W-S+c&gj*u`(WYiJo5&tu1=d%t^f%xJ^xBG?T*U}Qda5YoFYX3Osl zyC%^;_sMZdY-zl=j~N{bVN+~nL^fzA&GL`{Nn;p4i9PAF`~+=MkGoGeS#e6k!^u37 z`()g2@KKlJV`jMU`Y=uwt*b4Z#+O55{+Jr#9sGw}%6w|qnZeY6>FAU(tTX{X(L@7t z7u%~)5w9WZdpXG=;TG*@i<@LAqoDrwyFi^iRPT*&LquU-K8@ePlnM;7Y=vEOiB}0e zJG=9h-187OvsoOmdG&J%q~6Lbr`a9iKw4h5fx(WPRH*% zLfeI@6h&E2M1Edv_#Y}$bZ{%+-ZEzi)20QhI?!l?$?S<1(V~hNN2mod8!r-B2W1am zh6_(9=cJ4h-G9Tc<5HTj6rU$3U?xxD*7-EsA4iuKrSxi#L=v2Ec5*SKJl1=tNjfSW zb?t1gLsB|i+*0cAT2atjH*TiWEBy~1#7gD8J zS@umCHdI>tUna8~;9NM;#>4nh(k(;CtI_CHj2qxby1zS%6$D=TJ71a)S#iWujZ0fA z!mU^*(=8eID(!UI0hSXHI(c7T4Sl*JyFl1yK?V}@P}zfEW&np@0h&jCm8MjwRA}2` z*M}j5X7K4dw$c`HPlVIZmUZ~L($(2RD_=p2^b)ZGSBqB7$|zRVz6ydMr86`6+52}l zW@=Ul(#8Rv&R&fCENGqu3FGmkg|IPWkRHp%NVPoqL?6prqiTX=BYML%f`sJ9Ot&9d z4s5C;18X)Ujz=%tJgV5AKs2}oNW^u`?-3IWNagmm4>cCgvfbgXhB9Ch8{lH@9qT`! zEgFe)uJG2AlRv{W?dkAfwG8=wArhA;`j6fZL+Qd{_ijaDqFTuM<3mnKaG&yP7~SiB zqnB}1llnEgQaV#!*=Wy%+y)OfFr2}X{2ij10CjB7@B?I8{;Nj|er!Km-liW{5_Cir(22DQoV(nbIVjS7$C9sSas)S%kQKw?0g zU`YHt_C#(nlrIhfx&!C)b5AE*l&xq{VxH(@P}wI$UK=K;h|X*Dac;F8Sm zkNeh5oi;xV<%I{SuTUcX%9U_f4>>O#1Uyv>Q~zBj^Y*ryfXRg7cf{s&ujGicKEQ#i zD=qDX1}-jD`T{yr@y-PL2rUP)mnd0Jjk_4& zG8iy|pGUXxdZcl+)6|gkR}f`&2XhVH4Mj_@4gGXtU+h!B}Khkp;GIL(3i+RWtHclv}R;`)IW~na? z+9oV0UHWgcn?i5PTwK0CyV|4*D4$P(Kq^*p=B7DD{$y?tI1h$bo9BKv9!nNVz ziTAr+pQ~>Eu%JcGG^AEt&dPHy^y-zjW9HvY3;kYq2L^zQY*lkCmh-uuJ+mXv{ z5dcV4s$iLbQMW^D}nyZC0w{3lIk=&G(OM(d)b*wHPv- zwst^R*u2)Nc-^^QykGkc-WT^_!WWFWKV~_m*VGbLbfzl6*>E#CFyUeRd%JuetSaYS zh50J<0QOWW?VXcXVRmsroYMZBLV8Bh>)d+sqf*Yaq?n)$5fSxO} z038igW6XVd;(=3+mIz~QE#m%d)q<+EZQCch*8@PZ%I;$NG|dcO^1G~B>L0O8DHOxz z1fy4z`7`>$MSM?qJ+Dl$ws zfBJmfS)ujSR5-`KeES1h#^4cVgZ$u~4mHWL-S(bRps(=DuT!z_%reJ+0K%R z0?gE>$Vudt6!z^IBa^Au;#Y2${2JXQB1f`ltFPu&vMEnF$?kC8A4X0MR{LN)E(E-R zvBRzx?NT;Z-_!;Haz<0ZDUTE#6jJC)B#jl224^zUA5U{#D|Ur6Rx@+<{WnaTbKb@` zOTjEZ9?b)bL%7iivI<3)RfS{ysoHI#6}n8B)BtR8&2Y0#`nl6O#KaNgr3Y|8IbNn!;~V%ZqCP@$fQ*se6F7vnrUd zUZzXR2sb4c_03)s1OE)=c(#z>>uWKj`tuw)Z~yxzX$V$;Zhse z%iiBl+ihMR_D|R)UhgLIFi2o@?29a4msXWf^KZCo2|6e5=m|5^j_>om6{n-J=5G}A z52$QCIc)QvOp=L|PIVc6zgh@+@q$BWn@KWAbIEj#UD86$q71|6QZoIj_uV0@1m%*h z^efflt9{FbgwvO|c#8MlpMHHPeyjwz5dy@=*<`yE(=jBA)A5SEiN<#&%z=*iGX- zL|8}N@u$vH-se~PL>lLG+LuN<;C;E~r+YhhJ8!*BNT*Oe#d8s@qb15xOFhfvm_&UC7jOW4s?zen z14$|J85^Y%Ni+VX%ib~R=k7gn7lDcP!ZV5;V$>r z{d>h-M`6BX`b4K+@EPR(j8V#zDh7L#RDg7R6#+;pIm+s~xI5h9&$XH_LOhT( zyS8Gl+ye>kiDOlOZZ<-Hxv!v?z5T@v=zU-e3@e0{Dw$NaN4@M{^FrN?!n!PvUKqFg!3l!jaL%p~X4^toqW-zogbO6DTzK*cGfuGN1V~ zk9o5c?Pg|TZs36)(0y1q07#JKMKmT|3RAZHXfjzjd)2AmdFI5kb z9$Aync~yy73q6oCi2FWGRl&`#qY`78_8(h|M`qiL6CIz*DH%SOG0B&d;^(9F?zksM z?Q4+2ajv-LQWw#-&*#_VMa1Y#Jj`*j*c_|L&m??GnzmIlva(x9{tE7t*TK!jD8kWb zZ1BO=EIG5W@nNJ={~6T)7w>I>b+NYMr>nY_;9r*Yr5nO903OqGB|;URgI?1l)hLvK z*dUh^DC5=(S&8I*baZK*V1#q`Q^QrWjMMDwU6`^}fLfjl-w4x2PO@nj${_H_gr6gI z!Ws!#Xb33|43x47b^yBFqnrHolH1`LP*$U&OBQeTKxoG2(jyyLA_17`mR^0CbpAMo zaNqUjkHWcSees6$e<((;9agVD0T1;u9%+}6L$=KBGs2K@e+e*e?+^ zgNUYW0VyxaU*wCw`ApW=GavJ19LiH$W@fo`eZBzQctfVNp^Ab*GO5ly9k6^ziOH46 zJ%5pa*OdKzC3EVZGN>DK)a(e#D1`|K>A1|uN!3bK9tE!(9r0!)*s91o#rKNu}k|cc!Na=Z(`1VvA9An65w2#g*^kN98R#T(A z5h&{PY*zVu8t*d^l1GmK0HE|%*Jh{#RkYa82LMo{AzGEv&RYlN&!MW(CWBg*=eQ!k;-j^Y#egKqi?Q5IWRI2yN(WFo=l} z36Jt&dnq2i=6&&Ir6Bk0zK-T2JE#Q==3w^ao2rcw3I>SQF%dpIZ4rEelVkjbd+tv3 z<15+7^4HcG)!(SBy=#JK~)KUg--F#w5LFdbuAEzJGqD&Z><>n-Tw?TEVbEA9CDq?D5g9`?yaUxN0< zwo3sIvJgiq4HQo!z`E2puZq-bRbUp)JZ;u7JlsFbbg#Ipw@vp*(%vhne~4b&vMRnZ zf6H9(>MX-n+`$-Q$_krQdj~EXD^ZSAN}rhb9uZG z+pZ|4iXaHPlJR;jBmRm99Dk{-E{aHsQ>Y^(oAeI2^QhX*rI={7vBwiD9r1Be zGwtsPW5N1{aDgFBePqAFJ;OQYm;!MTR2GjMjna*5J4sSJr=iHH3*udF46~QclW;Q3@Hjfuj1ff+9E%LGQ_wr>+-T4*%K;jak68OAD{a zu$?!6luQW&3NYwHZIa;OyV`XJa#baA(in6kL2p8W!8Wlhl+g$q%5vvpWpEBUS&m6@_7Wgx-^ zJLt;uaEd)7AM@dXV+O=QJ0U7j=Z5dG>FlExG#8lSX%$b$NK}!!@s3sQ!))a4z44`^6~**su(0O#Iyx-?FKlsX4r**9!_4sSCWOEf@XFv1b?;$%P3l{LjF`}0ph&0=O)C&}(j*@2eQ~~m? z-{(#K)u6IlKLME}Hg)QxWd~#s;@>@3Y&adC*Y2;2@?@mY2_V3wQ0Z>*i}S?tlMpA) zYr|K#ZLeu>MY#1KF_d@I>C-D!44Rv)oe6#;7QXYIav6jy=%C}JaM_qx;~+Hf6wgqI ziUyDh`im}e^J}RLX|SXFzu3fijdvv{3t*6_y@0**Z*|OMb2`k zC)id6Pd1IlC;8D7Q*36dYpxZ-O^{t_lk4Pm9RkBTj-{Oi!V0kTSVscbSHj35y<0t- zMJMOZt4(wFj)Kaw+L`WbYLeNc_aP0nMvPZQIYIH1{VDO^7a5IkX0_Cam(P-m{(OB^ za&#`=jg07`ITm~5ad0?ldVR+lc6ty70RmcUeI9eIu9cz=1>r3xWj@ak=*Pe72;w}B z4B$fAZ@J+TPef23xW=F1Xi1+t6uh2QCHlbM*Z+(h;m*k)QByR&D*9$x@RvvvBwUqD zsC=U?peX(Ha)PwY<~lnL_1jD^OdbqKQ5~DqiJpX?Y+Lyx9Bj(Tx{>@Ymiv2Vyc1e> z{6}Sjq=(K5he(nPt8_&jQh7ZGW9h#m(ZWfwNnh$&{IzYV{HqXqq2!GVE(fjapm0VU zxO|447-%?V}ds zSpzLYEu14P-a`e(q9X%NeoLvXZqxCg?v;%(`=$EE&P|ROx56vcZ~%bCvQ0jUL6JT8 zJ7m?NMVcFiJGK)dkE_FTHW=Mj7I?=9y8>2NFe&1T+bk&AmbEv#}cv=JgA z#%>pYmwMck@%qUI!|Wwymm8(~ZHJqY?iYga@y-IDDJ}$|C&6JVqT*k(oN5T45#C+R zsS=Svs=U?ZI_!fp$pP4Y+rh7b#$6;v&_50{@FBGkYLVX6jKVyqN5dSNo~J zuRB^zYb|u2FUlI|KaNx)@q`c(Q)|+b8wgy5!pl-ve|eBCtf>spoCWw$AH56(i?1@_ z#3^3P$7%i8pW2`+NQXoO@k+2F`TMAjvcB*F)hWIB+l|VhG-?`VPd)6`jhV0FXOo_- zE$^EVOPT>oF0WUX-0c7c^^t4Hy30uWtipP->GJ607aiCce!5zXr)?pB^X{Aqx|w3o zP*}|qK*|k;a0pq+6qQ^#0i$982I9CEY zd-VtFBW|tfMhr*R54}Jhx1~P^eX2%Xb5pXTdF~urn(8E#|5jpD`J{^bq*vG8fs)qQ zwiI&*l*hM8weH+6UQ(_&N;DE74FSkpzl=$x5DvYG*Kt@Eg!e>TRwla&x6FN6a|RI^6%QmQ7<15TIg z@=V@$u#?SoeqphzDTJmt3DcXeB^H@$>1P;d$qPCd9HVVwmc<9Qg^B)Sl!d2_L+R_^ zPgry1^yKFrDL4!%u+dgAIyJKtiv#MlwTt=UswV)*jKZY1PFV9W&O`6_$D#AyHxJHC z=&C^&qlMtu8LHQvT(47A2)a{MSqKKynS^luXC3%DnOJQBX`gV+(}cm8#cdf>h^PZ} zL_RR^=HXLOK@d#Jmgp-mQUIu)ZCBp-oH4@cbJWxnorx(E!wIKM-_pb+#(v*ABYIYE zf0#|JqV>MuHRo1Eodapb{o%HRR89CtnnUJy%B|1(R#fgjGOs6wlywsOrZQMkVClnJ zYX;Rh=G5ODn%EL-dz*XBa)JHv_+H+u;j`Ba@q{)u2@*@7?ZYZyXS=5a68GKWwOt$9 z=p(DTRa{{~+N0+A%S)HYFKCoRNvXM-zX8mSgdolz?#3T5dXS#WO*#FE ztg1#9*YRdhNp~gvnU&7NnHS8VJD=PoL03$|T>!UwDvM!dH@4S#l7rodYx$nb{C62a zHn&JL9GV2-SwOBUo9}*to>I=jL#M3fThJ(wA;Bk%7HvzQ?O-+Q;COh!g_PHWk+2*|Q&u)jAeEMi_ zAMkhZ@hmGp8#s}N#~28ZB(aySoHsYoim+BT@SS zV@f3Zlt{bDsPSH7jgXjL3LPj~{~+Z#4*VC!hgls7A0!9iq+RS4(D^SBd# z{cjD0I==Kk+S>_ly)1?~w-_Ov@1O(XDJLS(;x97{SZK;9NI5nHNXX}Sv&MI(aEsM; z!R=AMwG^k%|DbBN20o=K*f?G?M=h2e+K~cq*VZBZ#(Vjtz$3_>jWIXxXvkF<%(_(j z()2w~{(^s1N~j=wmI~3z3!(@i&ApVstK3FM6KKyXy4y{R8YXm6FLY9f~Un^nb z8v*{tZLYEcN7m#Php+`ay&ch4Xrv`7Yy9gBFf4m=wOTbUK7@>!S>hve#l%=!@K*)s z!d0-0I$vr~?uR=8f{uC7D$4p!oK*bI7>c{R_~t;H$1k`D!@bxwSD83F9A*YoYU=-^ zmR1$YCX`J0+7o%Hj9`;p#dTH{AQ%`>Y9V_|edO-XlkbeXOEkJO92hIRej^$oES^J2 zyCRjMK%`O*M4bh=IXvplc{sOPEqn1o;`k5j#EvGM2-Bp;ppN&JF_nsIEw(kioB1QW z#qp{?{@)ys!X3zQN*_FMMD0|2qIzj+$X!z;_xJbc&pVH&KGVY7EyP=Cw5`bK!~m@> z^e5II>zlaDA- zNgWjW`?5Nmq#6-cq37lF#Y;S}LZ+Zk&}S~yx4AzKQK&4d`W~`=(M9Jjn_d9E*=_so zrR@IFH0Ki`z|d$=7H3BS=V9|xz8mM_ddXWvp@>b(r%*l>sD2If{CPU<8U`a$+L)zh z|2wsd{5g;#m#0;=vxmW`{UCXyFZSRucAG z13P!x_13-3KSWo`4vXzggCbtv6^jzAr)btu&WIphlNA5|3z?j&h|H`r+A<5M0uq$8W@q+ub*tz z$8%3J5PtW#^dW6a%=fzX{}!#9FM>7{BO+WuV69m-FX=x$ys}xpGDUd(eg>sGox!Y? zV|(^Nm+An{Bz0eo=76CdJYIBetqz>Ykzog8quxI}^8u8gq8~QR#N91Q=C-(}frVj< zPJBw1@$>N1;qh>(;5<#&gKU5P3Hy;@cLxp=^_r!e`>u8EgB|TU%$aVL^)DIxWp_Yd z;#B;VYgy;@063F>+Z(%}S1LUNLIS_`ca;zCrJq@2@cx{XBD+fjq*lbgtiiA5rft87 zP|^axk%0|erW$M-bbv9x5dz`Zjdz- z|JWsH;!1pw=PdyfV?JaEZGRQ_bmOo&3;}=xewS!p`oWd!H%{WGmNSVVqw0vw-Neq- zL)4)w@{$G};4N-I(yFK0LwBy3V7UgOYcZ{@hp6PBY7c)Q)W@dJ2I`^f=!hMLnN=@9 zL|5!sWYk2X(3b2mV_3CJxG55(DE#H*3#&^hzs+Sl-j~p8_qwDUdD+YVi`g&#L5Y=rj`Zp!1to?aW6)}G zDi;~l1b-(*8T&oFMq-}$sC;vchgy`~j5DuKnL9es1TDBSsSvAY
w)hio9mGXL(jA`|`zUZb#kVzY1i*{4NUj znGEZM>5&1bkT1VsC*`$+{zb#di8VUJYXb%6UX-%uO>jM24E?KknOta3P9@99-VXr4 zjfLx!sS5 z0q-`Fdkos`3Aoe-)G4<1K9jrJEucX#TtxX_hcqWqP>A|t+sg7tR8H6ARN4rY(2Tf1 zYd)zYgRJLk%nP4HYnOtgchfu3vUg_1uWM#R;$Dvvtk`K>KHYb zi>mx=l7s8}1}@A^RnOfxJBT92tStZE%BKsM9=F$KFYp7OS*95-8PJ5ngx^_TjM%{n zg*(OAE4DQ-b3lLh!V*P|1gS@br7Psu^D6R@A}VD7>O9Z$^x(U2h;V(Pg&GL_;tkf5 zV1*YRy1v>_TPgiN;P+=$okDZW6=n8xxUa>JLbfB&-I9(w~eVSX9^6>GGWIcp zqx8)5mKYmHzM)Q`q`k_HhwkWn=)q6mGY~nMhUB>FRGV>$uACS9oAeoLFMlsKPozY+ zr_36grwU(d<#)=!QyV`POg02f3s=_1TXU{{26~;QOz9r|rxixUe8)dz;B}~n6QSpG zT`HLg7c?J)*=b#XBa3`hmcLXKUR)lDue^~*@?=IYEN?J-Rxa(!T-yJgk{cbX*`W-t z>x>WswnlOW!Qw7N%>zAXH>+=#6^+c@f zR=6};(=oLM8qArw)ugxf%#?}8yzkBBbrwbwoe#n0gAYj2>|u=zA`g#o^^sdGVUEF8 zcCY*LNf=IThx+!{p*RBa3aJC85LLW9(i(bRjQGcZywU4srmyX2p8Q*Rd#83KSs)*^ zrUu%QFW;l=ekk>m5piu(Lg3Og{ss^oE`J>=;gR3suG4?!A~R`u(pIym5lN;3W&pg1 zLyv*aA+UVVfl|ynKkxNJQ;S=GvRl3d$G4%dS}A8w$RUlmN;;-I?EEN=2QhkQ((>SS zqaXY&4c*b`PtP?IU-RU*{WOyQ20Oqdi`S;WpbYdv_9jVp(65v~f~^)F|H)xo%f&`* zLRPCLo}wPELVoZWaKMcg<16Tl;Kx768_s?BkH%*r)*Bx=@}*YieN1$%6dHn;r@WGq z>HrjtVGhj26T;q|6-@02d48T3guiR9{%^ai;3A-g3Q{`{)=LezwgDu9Tf30)XsnBo zo4Zsu%emQc8e6D>I=_|8?#T%?AQ-?0_(z4Vg-_6DZ^lBDJ2kGLZ`(U2Pya{2gC8Ka1G=*9iqs~n*I77SdpTj7pa$L^O(9J(nW-b97`0DyEI(>0I&^~BN}G~ zOsW{3IEXK47UW@zIy)LZTloK*`tM+P`_tWKg7P-34>w1=blV@ zruF}583`htp~~VyQ~(XZ%lBcI;Q&$aaVbI(5*G|$106`Bn<4OGl}63`(Lk6uWKwpB z2rYxw2VW||$uZs(*x$f|V8Y;hd^BJiQxu_UyX3mQ@;{!Nc=)2TK1U&GDETDt5=HZh zDfUDWPf2%q4y?pQL9fU)=)?UPk|BKhrTdsfv*L|Mp?gG~)Ux^xAdx9i1vE z7J*fz#A}e+#@KSYg5F7R>6=6ExeF75Zo{Oi8bnfr%l6?})NssKj%1KV9KWM@clfAD kZ~OfF>i_RM`g-pM>h{j1i}{_B5a9OF(bU(dQA36OA4H^ua{vGU literal 0 HcmV?d00001 diff --git a/pages/update-browser/locale/ca.yml b/pages/update-browser/locale/ca.yml index 6dc920c4..469ac938 100644 --- a/pages/update-browser/locale/ca.yml +++ b/pages/update-browser/locale/ca.yml @@ -1,2 +1,4 @@ UpdateYourBrowser: Actualitza el teu navegador ContinueAnyway: Continuar igualment +BrowserVersionNotCompatible: El vostre navegador no és compatible amb aquesta versió de la pàgina web +PushHereToInstallFirefox: Clica aquí per instal·lar Firefox diff --git a/pages/update-browser/locale/en.yml b/pages/update-browser/locale/en.yml index 3660ead7..645930b3 100644 --- a/pages/update-browser/locale/en.yml +++ b/pages/update-browser/locale/en.yml @@ -1,2 +1,4 @@ UpdateYourBrowser: Upgrade your browser ContinueAnyway: Continue anyway +BrowserVersionNotCompatible: Your browser is not compatible with this version of the website +PushHereToInstallFirefox: Click here to install Firefox diff --git a/pages/update-browser/locale/es.yml b/pages/update-browser/locale/es.yml index 39adff07..a2c5219d 100644 --- a/pages/update-browser/locale/es.yml +++ b/pages/update-browser/locale/es.yml @@ -1,2 +1,4 @@ UpdateYourBrowser: Actualiza tu navegador ContinueAnyway: Continuar de todos modos +BrowserVersionNotCompatible: Tu navegador no es compatible con esta versión de la página web +PushHereToInstallFirefox: Pulsa aquí para instalar Firefox diff --git a/pages/update-browser/locale/fr.yml b/pages/update-browser/locale/fr.yml index 8500ff28..83d75eee 100644 --- a/pages/update-browser/locale/fr.yml +++ b/pages/update-browser/locale/fr.yml @@ -1,2 +1,4 @@ UpdateYourBrowser: Mettez à jour votre navigateur ContinueAnyway: Continuer +BrowserVersionNotCompatible: Votre navigateur n'est pas compatible avec cette version du site +PushHereToInstallFirefox: Cliquez ici pour installer Firefox diff --git a/pages/update-browser/locale/mn.yml b/pages/update-browser/locale/mn.yml deleted file mode 100644 index 3660ead7..00000000 --- a/pages/update-browser/locale/mn.yml +++ /dev/null @@ -1,2 +0,0 @@ -UpdateYourBrowser: Upgrade your browser -ContinueAnyway: Continue anyway diff --git a/pages/update-browser/locale/pt.yml b/pages/update-browser/locale/pt.yml index 37048a27..e3ea26bf 100644 --- a/pages/update-browser/locale/pt.yml +++ b/pages/update-browser/locale/pt.yml @@ -1,2 +1,4 @@ UpdateYourBrowser: Atualize seu navegador ContinueAnyway: Continuar de todas maneiras +BrowserVersionNotCompatible: Seu navegador não é compatível com esta versão do site +PushHereToInstallFirefox: Clique aqui para instalar o Firefox diff --git a/pages/update-browser/style.css b/pages/update-browser/style.css index 8fff05e8..299b3465 100644 --- a/pages/update-browser/style.css +++ b/pages/update-browser/style.css @@ -1,26 +1,53 @@ -* -{ +* { font-family: 'Roboto'; } -img -{ - position: absolute; - margin-top: -200px; - margin-left: -200px; - top: 50%; - left: 50%; +.box { + text-align: center; + margin: 0 auto; + max-width: 380px; + padding: 40px; + padding-bottom: 60px; } -#continue -{ - position: absolute; +.logo { + padding: 5px; + max-width: 100%; +} +h2 { + font-weight: normal; + font-size: 22px; +} +.browser-logo { + display: block; + margin: 30px auto; + height: 120px; +} +.download { + display: block; +} +.bottom { + position: fixed; bottom: 0; left: 0; right: 0; margin: 1em; text-align: center; + color: white; } -a -{ - color: #444; +.continue { + color: white; + background-color: #8cc63f; + padding: 5px; + border-radius: 3px; +} +.continue:hover { + text-decoration: none; + background-color: #7eb239; +} +a { + color: #6a1; border-width: 0; + text-decoration: none; +} +a:hover { + text-decoration: underline; } diff --git a/pages/update-browser/ui.php b/pages/update-browser/ui.php index b5faeb43..aad4f191 100644 --- a/pages/update-browser/ui.php +++ b/pages/update-browser/ui.php @@ -2,20 +2,35 @@ - + Verdnatura -

- - <?=s('UpdateYourBrowser')?> + -
- + diff --git a/pages/update-browser/update-browser.png b/pages/update-browser/update-browser.png deleted file mode 100644 index 7be696915b659299649b32eae8113b80bc0091d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63808 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 +

- +

- + diff --git a/rest/client/supplant.php b/rest/client/supplant.php index 4ef83402..87715601 100644 --- a/rest/client/supplant.php +++ b/rest/client/supplant.php @@ -10,7 +10,7 @@ class Supplant extends Vn\Web\JsonRequest { 'SELECT id FROM account.user WHERE `name` = #', [$_REQUEST['supplantUser']] ); - +/* $isClient = $db->getValue( 'SELECT COUNT(*) > 0 FROM vn.client WHERE id = #', [$userId] @@ -24,7 +24,7 @@ class Supplant extends Vn\Web\JsonRequest { ); if ($hasAccount) throw new Web\ForbiddenException(s('The user is not impersonable')); - +*/ return $this->service->createToken($_REQUEST['supplantUser']); } } diff --git a/rest/core/locale/ca.json b/rest/core/locale/ca.json deleted file mode 100644 index 3bc546a6..00000000 --- a/rest/core/locale/ca.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "InvalidAction": "Acció invàlida" - - ,"EmptyQuery": "Consulta buida" -} diff --git a/rest/core/locale/ca.yml b/rest/core/locale/ca.yml new file mode 100644 index 00000000..fd0c7306 --- /dev/null +++ b/rest/core/locale/ca.yml @@ -0,0 +1,2 @@ +InvalidAction: Acció invàlida +EmptyQuery: Consulta buida diff --git a/rest/core/locale/en.json b/rest/core/locale/en.json deleted file mode 100644 index 75f9e384..00000000 --- a/rest/core/locale/en.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "InvalidAction": "Invalid action" - - ,"EmptyQuery": "Empty query" -} diff --git a/rest/core/locale/en.yml b/rest/core/locale/en.yml new file mode 100644 index 00000000..9418df77 --- /dev/null +++ b/rest/core/locale/en.yml @@ -0,0 +1,2 @@ +InvalidAction: Invalid action +EmptyQuery: Empty query diff --git a/rest/core/locale/es.json b/rest/core/locale/es.json deleted file mode 100644 index f33bd628..00000000 --- a/rest/core/locale/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "InvalidAction": "Acción inválida" - ,"EmptyQuery": "Consulta vacía" - ,"Invalid password": "Contraseña inválida" - ,"Password does not meet requirements": - "La nueva contraseña no reune los requisitos de seguridad necesarios" -} diff --git a/rest/core/locale/es.yml b/rest/core/locale/es.yml new file mode 100644 index 00000000..b795f758 --- /dev/null +++ b/rest/core/locale/es.yml @@ -0,0 +1,2 @@ +InvalidAction: Acción inválida +EmptyQuery: Consulta vacía diff --git a/rest/core/locale/fr.json b/rest/core/locale/fr.json deleted file mode 100644 index a9a18625..00000000 --- a/rest/core/locale/fr.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "InvalidAction": "Action non valide" - - ,"EmptyQuery": "Requête vide" -} diff --git a/rest/core/locale/fr.yml b/rest/core/locale/fr.yml new file mode 100644 index 00000000..d34f2b44 --- /dev/null +++ b/rest/core/locale/fr.yml @@ -0,0 +1,2 @@ +InvalidAction: Action non valide +EmptyQuery: Requête vide diff --git a/rest/core/locale/pt.json b/rest/core/locale/pt.json deleted file mode 100644 index 90823f48..00000000 --- a/rest/core/locale/pt.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "InvalidAction": "Ação Inválida" - - ,"EmptyQuery": "Consulta vazía" -} diff --git a/rest/core/locale/pt.yml b/rest/core/locale/pt.yml new file mode 100644 index 00000000..e1e7d8a5 --- /dev/null +++ b/rest/core/locale/pt.yml @@ -0,0 +1,2 @@ +InvalidAction: Ação Inválida +EmptyQuery: Consulta vazía diff --git a/rest/core/query.php b/rest/core/query.php index fb09ab27..4d398e93 100644 --- a/rest/core/query.php +++ b/rest/core/query.php @@ -22,53 +22,34 @@ class Query extends Vn\Web\JsonRequest { function run($db) { $results = []; + $db->multiQuery($_REQUEST['sql']); - try { - $db->multiQuery($_REQUEST['sql']); + do { + $result = $db->storeResult(); - do { - $result = $db->storeResult(); + if ($result !== FALSE) { + $results[] = $this->transformResult($result); + $result->free(); + } else + $results[] = TRUE; + } + while ($db->moreResults() && $db->nextResult()); - if ($result !== FALSE) { - $results[] = $this->transformResult($result); - $result->free(); - } else - $results[] = TRUE; + if ($db->checkWarnings() + &&($result = $db->query('SHOW WARNINGS'))) { + $sql = 'SELECT `description`, @warn `code` + FROM `message` WHERE `code` = @warn'; + + while ($row = $result->fetch_object()) { + if ($row->Code == 1265 + &&($warning = $db->getObject($sql))) + trigger_error("{$warning->code}: {$warning->description}", E_USER_WARNING); + else + trigger_error("{$row->Code}: {$row->Message}", E_USER_WARNING); } - while ($db->moreResults() && $db->nextResult()); - - // Checks for warnings - - if ($db->checkWarnings() - &&($result = $db->query('SHOW WARNINGS'))) { - $sql = 'SELECT `description`, @warn `code` - FROM `message` WHERE `code` = @warn'; - - while ($row = $result->fetch_object()) { - if ($row->Code == 1265 - &&($warning = $db->getObject($sql))) - trigger_error("{$warning->code}: {$warning->description}", E_USER_WARNING); - else - trigger_error("{$row->Code}: {$row->Message}", E_USER_WARNING); - } - } - - // Checks for errors - - $db->checkError(); - } catch (Vn\Db\Exception $e) { - if ($e->getCode() == 1644) { - $dbMessage = $e->getMessage(); - $sql = 'SELECT `description` FROM `message` WHERE `code` = #'; - $message = $db->getValue($sql, [$dbMessage]); - - if ($message) - throw new Lib\UserException($message, $dbMessage); - } - - throw $e; } + $db->checkError(); return $results; } diff --git a/rest/image/locale/en.json b/rest/image/locale/en.json deleted file mode 100644 index 4ce990a4..00000000 --- a/rest/image/locale/en.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "Cant lock cache": "The cache could not be blocked" - ,"Bad file format": "Unrecognized file format" - ,"File not choosed": "You have not selected any file" - ,"Permission denied": "You are not allowed to upload the file" - ,"File upload error": "Failed to upload the file, check that size is not too large" - ,"File save error": "Failed to save the file: %s" - ,"File size error": "The file must be no longer than %.2f MB" - ,"Bad file name": "The file name must contain only lowercase letters, digits or the '_' character" - ,"Bad collection name": "Invalid collection name" - ,"Collection not exists": "Collection does not exist" - ,"Unreferenced file": "The file is not referenced by the database" - ,"Cannot update matching id": "Cannot update matching id" - ,"Com error": "Error communicating with the server" - ,"Image open error": "Error opening the image file" - ,"Operation disabled": "Operation disabled for security" - ,"Image added": "Image added correctly" - - ,"ErrIniSize": "File exceeds the upload_max_filesize directive in php.ini" - ,"ErrFormSize": "File exceeds the MAX_FILE_SIZE specified in the HTML form" - ,"ErrPartial": "File was partially uploaded" - ,"ErrNoFile": "No file was uploaded" - ,"ErrNoTmpDir": "Missing a temporary folder" - ,"ErrCantWrite": "Failed to write file to disk" - ,"ErrExtension": "File upload stopped by extension" - ,"ErrDefault": "Unknown upload error" - - ,"Sync complete": "Synchronization complete" -} diff --git a/rest/image/locale/en.yml b/rest/image/locale/en.yml new file mode 100644 index 00000000..4a18391e --- /dev/null +++ b/rest/image/locale/en.yml @@ -0,0 +1,27 @@ +Cant lock cache: The cache could not be blocked +Bad file format: Unrecognized file format +File not choosed: You have not selected any file +Permission denied: You are not allowed to upload the file +File upload error: Failed to upload the file, check that size is not too large +File save error: 'Failed to save the file: %s' +File size error: The file must be no longer than %.2f MB +Bad file name: 'The file name must contain only lowercase letters, digits or the ''_'' character' +Bad collection name: Invalid collection name +Collection not exists: Collection does not exist +Unreferenced file: The file is not referenced by the database +Cannot update matching id: Cannot update matching id +Com error: Error communicating with the server +Image open error: Error opening the image file +Operation disabled: Operation disabled for security +Image added: Image added correctly + +ErrIniSize: File exceeds the upload_max_filesize directive in php.ini +ErrFormSize: File exceeds the MAX_FILE_SIZE specified in the HTML form +ErrPartial: File was partially uploaded +ErrNoFile: No file was uploaded +ErrNoTmpDir: Missing a temporary folder +ErrCantWrite: Failed to write file to disk +ErrExtension: File upload stopped by extension +ErrDefault: Unknown upload error + +Sync complete: Synchronization complete diff --git a/rest/image/locale/es.json b/rest/image/locale/es.json deleted file mode 100644 index 181acc65..00000000 --- a/rest/image/locale/es.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "Cant lock cache": "La caché no pudo ser bloqueada" - ,"Bad file format": "Formato de archivo no reconocido" - ,"File not choosed": "No has seleccionado ningún archivo" - ,"Permission denied": "No tienes permiso para subir el fichero" - ,"File upload error": "Error al subir el fichero, comprueba que su tamaño no sea demasiado grande" - ,"File save error": "Error al guardar el fichero: %s" - ,"File size error": "El fichero no debe ocupar más de %.2f MB" - ,"Bad file name": "El nombre del archivo solo debe contener letras minúsculas, dígitos o el carácter '_'" - ,"Bad collection name": "Nombre de colección no válido" - ,"Collection not exists": "La colección no existe" - ,"Unreferenced file": "El archivo no está referenciado por la base de datos" - ,"Cannot update matching id": "No es posible actualizar los ítems con id coincidente" - ,"Com error": "Error en la comunicación con el servidor" - ,"Image open error": "Error al abrir el archivo de imagen" - ,"Operation disabled": "Operación deshabilitada por seguridad" - ,"Image added": "Imagen añadida correctamente" - - ,"ErrIniSize": "File exceeds the upload_max_filesize directive in php.ini" - ,"ErrFormSize": "File exceeds the MAX_FILE_SIZE specified in the HTML form" - ,"ErrPartial": "File was partially uploaded" - ,"ErrNoFile": "No file was uploaded" - ,"ErrNoTmpDir": "Missing a temporary folder" - ,"ErrCantWrite": "Failed to write file to disk" - ,"ErrExtension": "File upload stopped by extension" - ,"ErrDefault": "Unknown upload error" - - ,"Sync complete": "Sincronización completada" -} diff --git a/rest/image/locale/es.yml b/rest/image/locale/es.yml new file mode 100644 index 00000000..54bdcee4 --- /dev/null +++ b/rest/image/locale/es.yml @@ -0,0 +1,27 @@ +Cant lock cache: La caché no pudo ser bloqueada +Bad file format: Formato de archivo no reconocido +File not choosed: No has seleccionado ningún archivo +Permission denied: No tienes permiso para subir el fichero +File upload error: Error al subir el fichero, comprueba que su tamaño no sea demasiado grande +File save error: 'Error al guardar el fichero: %s' +File size error: El fichero no debe ocupar más de %.2f MB +Bad file name: 'El nombre del archivo solo debe contener letras minúsculas, dígitos o el carácter ''_''' +Bad collection name: Nombre de colección no válido +Collection not exists: La colección no existe +Unreferenced file: El archivo no está referenciado por la base de datos +Cannot update matching id: No es posible actualizar los ítems con id coincidente +Com error: Error en la comunicación con el servidor +Image open error: Error al abrir el archivo de imagen +Operation disabled: Operación deshabilitada por seguridad +Image added: Imagen añadida correctamente + +ErrIniSize: File exceeds the upload_max_filesize directive in php.ini +ErrFormSize: File exceeds the MAX_FILE_SIZE specified in the HTML form +ErrPartial: File was partially uploaded +ErrNoFile: No file was uploaded +ErrNoTmpDir: Missing a temporary folder +ErrCantWrite: Failed to write file to disk +ErrExtension: File upload stopped by extension +ErrDefault: Unknown upload error + +Sync complete: Sincronización completada diff --git a/rest/image/locale/pt.json b/rest/image/locale/pt.json deleted file mode 100644 index 52f2936c..00000000 --- a/rest/image/locale/pt.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "Cant lock cache": "O cache não pôde ser bloqueado" - ,"Bad file format": "Formato de arquivo inválido" - ,"File not choosed": "Não selecionastes nenhum arquivo" - ,"Permission denied": "Não estas autorizado a subir o arquivo" - ,"File upload error": "Erro ao subir o arquivo, verifique o tamanho" - ,"File save error": "Erro ao salvar o arquivo: %s" - ,"File size error": "O arquivo não deve ser maior que: %.2f MB" - ,"Bad file name": "O nome do arquivo deve conter somente letras minusculas, numeros ou '_' " - ,"Bad collection name": "Nome de coleção inválido" - ,"Collection not exists": "Coleção não existe" - ,"Unreferenced file": "O arquivo não é referenciado pelo banco de dados" - ,"Cannot update matching id": "Não é possível atualizar os itens com id coincidente" - ,"Com error": "Erro de comunicação com o servidor" - ,"Image open error": "Erro ao abrir a imagem" - ,"Operation disabled": "Operação desativada por segurança" - ,"Image added": "Imagem adicionada corretamente" - - ,"ErrIniSize": "Arquivo supera o tamanho maximo de protocolo em php.ini" - ,"ErrFormSize": "Arquivo supera o tamanho maximo de protocolo em HTML form" - ,"ErrPartial": "Arquivo subido parcialmente" - ,"ErrNoFile": "Nenhum arquivo subido" - ,"ErrNoTmpDir": "Falta a pasta de arquivo temporal" - ,"ErrCantWrite": "Erro ao gravar arquivo no disco" - ,"ErrExtension": "Erro de extensão do arquivo" - ,"ErrDefault": "Erro desconhecido ao subir arquivo" - - ,"Sync complete": "Sincronização completa" -} diff --git a/rest/image/locale/pt.yml b/rest/image/locale/pt.yml new file mode 100644 index 00000000..a4986bf0 --- /dev/null +++ b/rest/image/locale/pt.yml @@ -0,0 +1,27 @@ +Cant lock cache: O cache não pôde ser bloqueado +Bad file format: Formato de arquivo inválido +File not choosed: Não selecionastes nenhum arquivo +Permission denied: Não estas autorizado a subir o arquivo +File upload error: Erro ao subir o arquivo, verifique o tamanho +File save error: 'Erro ao salvar o arquivo: %s' +File size error: O arquivo não deve ser maior que %.2f MB +Bad file name: 'O nome do arquivo deve conter somente letras minusculas, numeros ou ''_''' +Bad collection name: Nome de coleção inválido +Collection not exists: Coleção não existe +Unreferenced file: O arquivo não é referenciado pelo banco de dados +Cannot update matching id: Não é possível atualizar os itens com id coincidente +Com error: Erro de comunicação com o servidor +Image open error: Erro ao abrir a imagem +Operation disabled: Operação desativada por segurança +Image added: Imagem adicionada corretamente + +ErrIniSize: Arquivo supera o tamanho maximo de protocolo em php.ini +ErrFormSize: Arquivo supera o tamanho maximo de protocolo em HTML form +ErrPartial: Arquivo subido parcialmente +ErrNoFile: Nenhum arquivo subido +ErrNoTmpDir: Falta a pasta de arquivo temporal +ErrCantWrite: Erro ao gravar arquivo no disco +ErrExtension: Erro de extensão do arquivo +ErrDefault: Erro desconhecido ao subir arquivo + +Sync complete: Sincronização completa diff --git a/rest/misc/locale/es.json b/rest/misc/locale/es.json deleted file mode 100644 index c6fa7ca3..00000000 --- a/rest/misc/locale/es.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "An automated message could not be delivered": "Un mensaje automatizado no se ha podido entregar" - ,"Notification from IT department about problem.": "Desde el departamento de informática te enviamos este correo porque ha habido un problema al intentar entregar un correo automatizado." - ,"If you have questions, resend this email to cau@verdnatura.es.": "Si tienes dudas, reenvia este correo a cau@verdnatura.es." - ,"The response from the remote server was:": "La respuesta del servidor remoto ha sido:" -} \ No newline at end of file diff --git a/rest/misc/locale/es.yml b/rest/misc/locale/es.yml new file mode 100644 index 00000000..6e5a631e --- /dev/null +++ b/rest/misc/locale/es.yml @@ -0,0 +1,4 @@ +automatedMessageNotDelivered: Un mensaje automatizado no se ha podido entregar +ITProblemNotification: Desde el departamento de informática te enviamos este correo porque ha habido un problema al intentar entregar un correo automatizado. +ifQuestionsResendEmailToIT: Si tienes dudas, reenvia este correo a cau@verdnatura.es. +'The response from the remote server was:': 'La respuesta del servidor remoto ha sido:' diff --git a/rest/misc/mail.php b/rest/misc/mail.php index 6e075932..a2955200 100644 --- a/rest/misc/mail.php +++ b/rest/misc/mail.php @@ -48,13 +48,13 @@ class Mail extends Vn\Lib\Method { if ($row->replyTo) { Vn\Lib\Locale::set('es'); $errorMsg = - '

'. s('Notification from IT department about problem.') .'

' - .'

'. s('If you have questions, resend this email to cau@verdnatura.es.') .'

' + '

'. s('ITProblemNotification') .'

' + .'

'. s('ifQuestionsResendEmailToIT') .'

' .'

'. $status .'

'; $errorMail = $mailer->createObject($row->replyTo, $errorMsg, - s('An automated message could not be delivered') + s('automatedMessageNotDelivered') ); $errorMail->AddStringAttachment( $mail->getSentMIMEMessage(), diff --git a/web/rest-service.php b/web/rest-service.php index aa32e1cb..dac5ca9e 100644 --- a/web/rest-service.php +++ b/web/rest-service.php @@ -50,9 +50,18 @@ class RestService extends Service { try { $res = $method->run($methodDb); - } catch (Db\Exception $e) { - if ($e->getCode() == 1644) - throw new UserException(s($e->getMessage())); + } catch (\Vn\Db\Exception $e) { + if ($e->getCode() == 1644) { + $eMessage = $e->getMessage(); + $tMessage = $db->getValue( + 'SELECT `description` FROM `message` WHERE `code` = #', + [$eMessage] + ); + if (!$tMessage) $tMessage = $eMessage; + throw new Lib\UserException($tMessage, $eMessage); + } + + throw $e; } if ($method::SECURITY == Security::DEFINER) diff --git a/web/unavailable.html b/web/unavailable.html index 47efb70e..325f7f19 100644 --- a/web/unavailable.html +++ b/web/unavailable.html @@ -3,6 +3,7 @@ + Not available - Verdnatura From be43a38b38fa4aadd0e45d97eb81e772e5ea059a Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Mon, 16 Jan 2023 14:18:07 +0100 Subject: [PATCH 2/5] refs #3971 Order confirm style fixes --- debian/changelog | 2 +- forms/ecomerce/basket/style.scss | 141 +++++++++++------------ forms/ecomerce/basket/ui.xml | 2 +- forms/ecomerce/checkout/style.scss | 101 ++++++++--------- forms/ecomerce/checkout/ui.xml | 2 +- forms/ecomerce/confirm/style.scss | 174 +++++++++++++++-------------- forms/ecomerce/confirm/ui.xml | 2 +- forms/ecomerce/invoices/ui.xml | 2 +- forms/ecomerce/orders/ui.xml | 2 +- forms/ecomerce/ticket/style.scss | 147 ++++++++++++------------ forms/ecomerce/ticket/ui.xml | 2 +- package.json | 2 +- 12 files changed, 292 insertions(+), 287 deletions(-) diff --git a/debian/changelog b/debian/changelog index f4f50393..b95bdcef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -hedera-web (22.48.6) stable; urgency=low +hedera-web (22.48.7) stable; urgency=low * Initial Release. diff --git a/forms/ecomerce/basket/style.scss b/forms/ecomerce/basket/style.scss index f46a077c..7019b65a 100644 --- a/forms/ecomerce/basket/style.scss +++ b/forms/ecomerce/basket/style.scss @@ -1,76 +1,77 @@ -.basket .head { - border-bottom: 1px solid #DDD; -} -.basket .head p { - font-weight: bold; - margin: 0; - padding: 0; - font-size: 1.4rem; - text-align: right; -} -.basket .form > p { - margin: 0; - font-size: 1.4rem; - color: white; - text-align: right; -} +.hedera-basket { + .head { + border-bottom: 1px solid #DDD; + } + .head p { + font-weight: bold; + margin: 0; + padding: 0; + font-size: 1.4rem; + text-align: right; + } + .form > p { + margin: 0; + font-size: 1.4rem; + color: white; + text-align: right; + } -/* Lines */ + /* Lines */ -.basket .line { - display: flex; - align-items: center; - gap: 12px; - margin: 10px 0; - height: 80px; -} -.basket .line:first-child { - margin-top: 0; -} -.basket .line:last-child { - margin-bottom: 0; -} -.basket .line > .delete { - margin: 0 -8px; -} -.basket .line > .photo { - flex: none; - border-radius: 50%; - width: 68px; - height: 68px; - gap: 0; -} -.basket .line > .info { - flex: 1; - overflow: hidden; -} -.basket .line > .info > * { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} -.basket .line > .info > h2 { - font-size: 1rem; - font-weight: normal; - margin: 0; -} -.basket .line > .info > p { - margin: 0; -} -.basket .line > .info > .tags { - color: #777; -} -.basket .line .subtotal { - float: right; -} + .line { + display: flex; + align-items: center; + gap: 12px; + margin: 10px 0; + height: 80px; + } + .line:first-child { + margin-top: 0; + } + .line:last-child { + margin-bottom: 0; + } + .line > .delete { + margin: 0 -8px; + } + .line > .photo { + flex: none; + border-radius: 50%; + width: 68px; + height: 68px; + gap: 0; + } + .line > .info { + flex: 1; + overflow: hidden; + } + .line > .info > * { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + .line > .info > h2 { + font-size: 1rem; + font-weight: normal; + margin: 0; + } + .line > .info > p { + margin: 0; + } + .line > .info > .tags { + color: #777; + } + .line .subtotal { + float: right; + } -/* Fields */ + /* Fields */ -.basket td.available-exceeded input { - background-color: #FCC; + td.available-exceeded input { + background-color: #FCC; + } + .icon > img { + border-radius: 50%; + } } -.basket .icon > img { - border-radius: 50%; -} - diff --git a/forms/ecomerce/basket/ui.xml b/forms/ecomerce/basket/ui.xml index fd23a819..f6859c49 100644 --- a/forms/ecomerce/basket/ui.xml +++ b/forms/ecomerce/basket/ui.xml @@ -16,7 +16,7 @@ tip="_Checkout" on-click="this.hash.setAll({form: 'ecomerce/confirm'})"/>
-
+

diff --git a/forms/ecomerce/checkout/style.scss b/forms/ecomerce/checkout/style.scss index cb95cfab..84448043 100644 --- a/forms/ecomerce/checkout/style.scss +++ b/forms/ecomerce/checkout/style.scss @@ -1,54 +1,55 @@ -.checkout .bar { - margin-bottom: 16px; -} +.hedera-checkout { + .bar { + margin-bottom: 16px; + } -/* Step */ + /* Step */ -.answers button, -.answers p, -.radio > div { - font-size: 1.2rem; + .answers button, + .answers p, + .radio > div { + font-size: 1.2rem; + } + .answers .htk-select { + max-width: 15em; + margin: 0 auto; + font-size: 1.4rem; + } + .answers p { + margin: 0.3em 0; + } + .target { + max-width: 28em; + margin: 0 auto; + } + .address { + border-radius: 0.1em; + padding: 0.6em 1.4em; + } + .address.selected { + background-color: rgba(1, 1, 1, .1); + } + .address:hover { + cursor: pointer; + background-color: rgba(1, 1, 1, .05); + } + .address p.consignee { + font-weight: bold; + } + .radio { + max-width: 20em; + margin: 0 auto; + } + .radio > div { + padding: 0.5em; + } + .thin-calendar { + max-width: 24em; + margin: 0 auto; + box-shadow: none; + } + .htk-assistant .thin { + float: right; + } } -.answers .htk-select { - max-width: 15em; - margin: 0 auto; - font-size: 1.4rem; -} -.answers p { - margin: 0.3em 0; -} -.target { - max-width: 28em; - margin: 0 auto; -} -.address { - border-radius: 0.1em; - padding: 0.6em 1.4em; -} -.address.selected { - background-color: rgba(1, 1, 1, .1); -} -.address:hover { - cursor: pointer; - background-color: rgba(1, 1, 1, .05); -} -.address p.consignee { - font-weight: bold; -} -.radio { - max-width: 20em; - margin: 0 auto; -} -.radio > div { - padding: 0.5em; -} -.thin-calendar { - max-width: 24em; - margin: 0 auto; - box-shadow: none; -} -.htk-assistant .thin { - float: right; -} - diff --git a/forms/ecomerce/checkout/ui.xml b/forms/ecomerce/checkout/ui.xml index f9a32719..a62d37cc 100644 --- a/forms/ecomerce/checkout/ui.xml +++ b/forms/ecomerce/checkout/ui.xml @@ -54,7 +54,7 @@ tip="_Cancel" on-click="onCancelClick"/>

-
+
table { - border-collapse: collapse; -} -.confirm td { - padding: .15em 0; -} -.confirm .sum-total > td { - border-top: solid 1px #DDD; - font-weight: bold; -} -.confirm .currency { - text-align: right; -} -.confirm .credit-info { - display: none; -} -.confirm .exceeded-info { - display: none; - color: #E53935; -} + .debt-info { + padding: 0; + } + .debt-info > table { + border-collapse: collapse; + } + td { + padding: .15em 0; + } + .sum-total > td { + border-top: solid 1px #DDD; + font-weight: bold; + } + .currency { + text-align: right; + } + .credit-info { + display: none; + } + .exceeded-info { + display: none; + color: #E53935; + } -/* Pay */ + /* Pay */ -.confirm .amount-selector, -.confirm .pay-methods > div { - display: none; -} -.confirm .pay-methods > div { - margin: .3em 0; -} -.confirm .pay-methods > div > label > input[type=radio] { - margin: 0; - margin-right: .5em; - vertical-align: middle; -} -.confirm .pay-methods > div > div { - padding: .5em 1.5em; - display: none; -} -.confirm .pay-methods > div.selected > div { - display: block; -} -.confirm .transfer-account { - margin-top: .5em; -} -.confirm .transfer-account > p { - margin: .1em 0; -} + .amount-selector, + .pay-methods > div { + display: none; + } + .pay-methods > div { + margin: .3em 0; + } + .pay-methods > div > label > input[type=radio] { + margin: 0; + margin-right: .5em; + vertical-align: middle; + } + .pay-methods > div > div { + padding: .5em 1.5em; + display: none; + } + .pay-methods > div.selected > div { + display: block; + } + .transfer-account { + margin-top: .5em; + } + .transfer-account > p { + margin: .1em 0; + } -.confirm .payment > div { - margin-bottom: 1.4em; + .payment > div { + margin-bottom: 1.4em; + } + .payment > .button-bar { + display: flex; + justify-content: space-between; + margin-bottom: 0; + margin-top: 32px; + } + .payment > .button-bar button{ + font-size: 1.2rem; + border-radius: 2rem; + padding: .5rem 1rem; + margin: 0; + } + .modify-order { + border: 1px solid #1a1a1a; + } + .modify-order:hover { + color: white; + background-color: #1a1a1a; + } + .confirm-order { + border: 1px solid #8cc63f; + background-color: #8cc63f; + color: white; + } + .confirm-order:hover { + background-color: transparent; + color: #6b5; + } } -.confirm .payment > .button-bar { - display: flex; - justify-content: space-between; - margin-bottom: 0; - margin-top: 32px; -} -.confirm .payment > .button-bar button{ - font-size: 1.2rem; - border-radius: 2rem; - padding: .5rem 1rem; - margin: 0; -} -.confirm .modify-order { - border: 1px solid #1a1a1a; -} -.confirm .modify-order:hover { - color: white; - background-color: #1a1a1a; -} -.confirm .confirm-order { - border: 1px solid #8cc63f; - background-color: #8cc63f; - color: white; -} -.confirm .confirm-order:hover { - background-color: transparent; - color: #6b5; -} \ No newline at end of file diff --git a/forms/ecomerce/confirm/ui.xml b/forms/ecomerce/confirm/ui.xml index 8e31ea3f..7e30892b 100644 --- a/forms/ecomerce/confirm/ui.xml +++ b/forms/ecomerce/confirm/ui.xml @@ -27,7 +27,7 @@

Order summary

-
+
diff --git a/forms/ecomerce/invoices/ui.xml b/forms/ecomerce/invoices/ui.xml index e69a3ce7..aa6244a0 100644 --- a/forms/ecomerce/invoices/ui.xml +++ b/forms/ecomerce/invoices/ui.xml @@ -2,7 +2,7 @@

Invoices

-
+
diff --git a/forms/ecomerce/orders/ui.xml b/forms/ecomerce/orders/ui.xml index 9d83e3c5..395f4275 100644 --- a/forms/ecomerce/orders/ui.xml +++ b/forms/ecomerce/orders/ui.xml @@ -34,7 +34,7 @@ tip="_ShoppingBasket" on-click="onBasketClick"/>
-
+
div > div { - margin: 15px 0; -} -.ticket .head > div > div:first-child { - margin: 0; -} -.ticket .head p { - margin: 3px 0; -} -.ticket .head p.important { - font-size: 1.2rem; - font-weight: bold; -} -.ticket .total { - text-align: right; -} -.ticket .packages { - margin-top: 14px; - padding-top: 14px; - border-top: 1px solid #DDD; - display: block; -} + .head { + padding: 0; + padding-bottom: 3px; + border-bottom: 1px solid #DDD; + margin-bottom: 1px; + } + .head > div > div { + margin: 15px 0; + } + .head > div > div:first-child { + margin: 0; + } + .head p { + margin: 3px 0; + } + .head p.important { + font-size: 1.2rem; + font-weight: bold; + } + .total { + text-align: right; + } + .packages { + margin-top: 14px; + padding-top: 14px; + border-top: 1px solid #DDD; + display: block; + } -/* Lines */ + /* Lines */ -.ticket .line { - display: flex; - align-items: center; - gap: 12px; - margin: 10px 0; - height: 80px; + .line { + display: flex; + align-items: center; + gap: 12px; + margin: 10px 0; + height: 80px; + } + .line:last-child { + margin-bottom: 0; + } + .line > .photo { + flex: none; + border-radius: 50%; + width: 68px; + height: 68px; + gap: 0; + } + .line > .info { + flex: 1; + overflow: hidden; + } + .line > .info > * { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + .line > .info > h2 { + font-size: 1rem; + font-weight: normal; + margin-bottom: 2px; + } + .line > .info > p { + margin: 0; + } + .line > .info > .tags { + color: #777; + } + .line > .info .discount { + color: green; + } + .line > .info > .subtotal { + float: right; + } } -.ticket .line:last-child { - margin-bottom: 0; -} -.ticket .line > .photo { - flex: none; - border-radius: 50%; - width: 68px; - height: 68px; - gap: 0; -} -.ticket .line > .info { - flex: 1; - overflow: hidden; -} -.ticket .line > .info > * { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} -.ticket .line > .info > h2 { - font-size: 1rem; - font-weight: normal; - margin-bottom: 2px; -} -.ticket .line > .info > p { - margin: 0; -} -.ticket .line > .info > .tags { - color: #777; -} -.ticket .line > .info .discount { - color: green; -} -.ticket .line > .info > .subtotal { - float: right; -} - diff --git a/forms/ecomerce/ticket/ui.xml b/forms/ecomerce/ticket/ui.xml index c31e5f4e..4fb8f231 100644 --- a/forms/ecomerce/ticket/ui.xml +++ b/forms/ecomerce/ticket/ui.xml @@ -14,7 +14,7 @@ tip="_Print delivery note" on-click="this.onPrintClick()"/>
-
+
#{{ticket.id}}
diff --git a/package.json b/package.json index 759c3369..9972b374 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hedera-web", - "version": "22.48.6", + "version": "22.48.7", "description": "Verdnatura web page", "license": "GPL-3.0", "repository": { From c463e967ca4cef5fbe177aee803c80daba9a3b0f Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Mon, 16 Jan 2023 16:57:48 +0100 Subject: [PATCH 3/5] refs #3971 Form input locking when loading --- debian/changelog | 2 +- forms/account/conf/index.js | 75 ++++++++++++++++++--------------- forms/account/conf/ui.xml | 6 ++- forms/ecomerce/confirm/index.js | 9 +--- js/vn/node.js | 71 +++++++++++++++---------------- package.json | 2 +- 6 files changed, 83 insertions(+), 82 deletions(-) diff --git a/debian/changelog b/debian/changelog index b95bdcef..59a72583 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -hedera-web (22.48.7) stable; urgency=low +hedera-web (22.48.8) stable; urgency=low * Initial Release. diff --git a/forms/account/conf/index.js b/forms/account/conf/index.js index ee0f4d48..c603b618 100644 --- a/forms/account/conf/index.js +++ b/forms/account/conf/index.js @@ -28,46 +28,53 @@ export default new Class({ } ,async onPassModifyClick() { - var oldPassword = this.$.oldPassword.value; - var newPassword = this.$.newPassword.value; - var repeatedPassword = this.$.repeatPassword.value; - + const form = this.$.changePassword.node; + Vn.Node.disableInputs(form); try { - if (newPassword == '' && repeatedPassword == '') - throw new Error(_('Passwords empty')); - if (newPassword !== repeatedPassword) - throw new Error(_('Passwords doesn\'t match')); - } catch (err) { - return Htk.Toast.showError(err.message); - } + const oldPassword = this.$.oldPassword.value; + const newPassword = this.$.newPassword.value; + const repeatedPassword = this.$.repeatPassword.value; - var verificationToken = this.hash.$.verificationToken; - var params = {newPassword}; - - try { - if (verificationToken) { - params.verificationToken = verificationToken; - await this.conn.send('user/restore-password', params); - } else { - let userId = this.gui.user.id; - params.oldPassword = oldPassword; - await this.conn.patch( - `Accounts/${userId}/changePassword`, params); + try { + if (newPassword == '' && repeatedPassword == '') + throw new Error(_('Passwords empty')); + if (newPassword !== repeatedPassword) + throw new Error(_('Passwords doesn\'t match')); + } catch (err) { + return Htk.Toast.showError(err.message); } - } catch(err) { - Htk.Toast.showError(err.message); + + const verificationToken = this.hash.$.verificationToken; + const params = {newPassword}; - if (this.hash.$.verificationToken) - this.$.newPassword.select(); - else - this.$.oldPassword.select(); + try { + if (verificationToken) { + params.verificationToken = verificationToken; + await this.conn.send('user/restore-password', params); + } else { + let userId = this.gui.user.id; + params.oldPassword = oldPassword; + await this.conn.patch( + `Accounts/${userId}/changePassword`, params); + } + } catch(err) { + Htk.Toast.showError(err.message); - return; + if (verificationToken) + this.$.newPassword.select(); + else + this.$.oldPassword.select(); + + return; + } + + this.hash.unset('verificationToken'); + await this.conn.open(this.gui.user.name, newPassword); + this.$.changePassword.hide(); + } finally { + Vn.Node.disableInputs(form, false); } - - this.$.changePassword.hide(); - this.hash.unset('verificationToken'); - await this.conn.open(this.gui.user.name, newPassword); + Htk.Toast.showMessage(_('Password changed!')); } diff --git a/forms/account/conf/ui.xml b/forms/account/conf/ui.xml index cc60d89a..86d7c29b 100644 --- a/forms/account/conf/ui.xml +++ b/forms/account/conf/ui.xml @@ -89,11 +89,13 @@ + placeholder="_New password" + autocomplete="new-password"/> + placeholder="_Repeat password" + autocomplete="new-password"/>