From e34a70334f576d26719617c8fdf3fb89ddb22570 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 12 Nov 2012 04:32:59 +0000 Subject: [PATCH] thar be clock theme fun... in e17. warning: new strings for intl due to having to make date a config option. SVN revision: 79130 --- data/themes/Makefile.am | 13 + data/themes/default.edc | 2 +- data/themes/edc/clock.edc | 447 ++++++++++++++++++++++++++++++- data/themes/img/digit_0.png | Bin 0 -> 6398 bytes data/themes/img/digit_1.png | Bin 0 -> 5242 bytes data/themes/img/digit_2.png | Bin 0 -> 6487 bytes data/themes/img/digit_3.png | Bin 0 -> 6214 bytes data/themes/img/digit_4.png | Bin 0 -> 6145 bytes data/themes/img/digit_5.png | Bin 0 -> 6594 bytes data/themes/img/digit_6.png | Bin 0 -> 6728 bytes data/themes/img/digit_7.png | Bin 0 -> 5856 bytes data/themes/img/digit_8.png | Bin 0 -> 6313 bytes data/themes/img/digit_9.png | Bin 0 -> 6103 bytes data/themes/img/digit_am.png | Bin 0 -> 1292 bytes data/themes/img/digit_na.png | Bin 0 -> 4209 bytes data/themes/img/digit_pm.png | Bin 0 -> 1724 bytes src/modules/clock/e_mod_config.c | 8 + src/modules/clock/e_mod_main.c | 80 ++++-- src/modules/clock/e_mod_main.h | 1 + 19 files changed, 522 insertions(+), 29 deletions(-) create mode 100644 data/themes/img/digit_0.png create mode 100644 data/themes/img/digit_1.png create mode 100644 data/themes/img/digit_2.png create mode 100644 data/themes/img/digit_3.png create mode 100644 data/themes/img/digit_4.png create mode 100644 data/themes/img/digit_5.png create mode 100644 data/themes/img/digit_6.png create mode 100644 data/themes/img/digit_7.png create mode 100644 data/themes/img/digit_8.png create mode 100644 data/themes/img/digit_9.png create mode 100644 data/themes/img/digit_am.png create mode 100644 data/themes/img/digit_na.png create mode 100644 data/themes/img/digit_pm.png diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index d757a19fd..5d7b574ce 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -146,6 +146,19 @@ img/clock_ss7.png \ img/clock_ss.png \ img/darken_rounded_square.png \ img/diagonal_stripes.png \ +img/digit_0.png \ +img/digit_1.png \ +img/digit_2.png \ +img/digit_3.png \ +img/digit_4.png \ +img/digit_5.png \ +img/digit_6.png \ +img/digit_7.png \ +img/digit_8.png \ +img/digit_9.png \ +img/digit_am.png \ +img/digit_na.png \ +img/digit_pm.png \ img/dot_pattern.png \ img/downlight_glow.png \ img/eth.png \ diff --git a/data/themes/default.edc b/data/themes/default.edc index c6ea30a5d..046172678 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -43,7 +43,7 @@ collections { #include "edc/O/battery.edc" #include "edc/O/border.edc" #include "edc/O/border_icons.edc" -#include "edc/O/clock.edc" +//#include "edc/O/clock.edc" #include "edc/O/colors.edc" #include "edc/O/conf_gad.edc" #include "edc/O/cpufreq.edc" diff --git a/data/themes/edc/clock.edc b/data/themes/edc/clock.edc index 31c86f6ea..c3354d4c9 100644 --- a/data/themes/edc/clock.edc +++ b/data/themes/edc/clock.edc @@ -1,9 +1,447 @@ -#if 0 group { name: "e/modules/clock/digital"; -} -#endif + min: 64 16; + max: 512 128; + images.image: "digit_na.png" COMP; + images.image: "digit_0.png" COMP; + images.image: "digit_1.png" COMP; + images.image: "digit_2.png" COMP; + images.image: "digit_3.png" COMP; + images.image: "digit_4.png" COMP; + images.image: "digit_5.png" COMP; + images.image: "digit_6.png" COMP; + images.image: "digit_7.png" COMP; + images.image: "digit_8.png" COMP; + images.image: "digit_9.png" COMP; + images.image: "digit_am.png" COMP; + images.image: "digit_pm.png" COMP; + images.image: "hole_tiny.png" COMP; + script { + public do_seconds, do_24h, do_date; + new tick_timer; + + valset(id, v) { + if ((v >= 0) && (v <= 9)) { + new buf[20]; + snprintf(buf, 20, "%i", v); + set_state(id, buf, 0.0); + } else { + set_state(id, "default", 0.0); + } + } + apvalset(id, pm) { + if (pm) set_state(id, "active", 0.0); + else set_state(id, "default", 0.0); + } + evalsize() { + new do24h, dosec, v[14], i, tot, mul; + new parts[] = { + PART:"hours1", PART:"hours1", + PART:"hours2", PART:"hours2", + PART:"mins1", PART:"mins1", + PART:"mins2", PART:"mins2", + PART:"secs1", PART:"secs1", + PART:"secs2", PART:"secs2", + PART:"ampm", PART:"ampm" + }; + + mul = 4; + if (get_int(do_date)) { + mul = 3; + } + + for (i = 0; i < 14; i += 2) { + custom_state(parts[i], "default", 0.0); + } + v[0] = 0; v[1] = 2; v[2] = 2; v[3] = 4; // hrs + v[4] = 5; v[5] = 7; v[6] = 7; v[7] = 9; // mins + tot = 9; + + dosec = get_int(do_seconds); + do24h = get_int(do_24h); + if ((dosec) && (!do24h)) { // sec + ampm + tot += 7; + v[8] = 10; v[9] = 12; v[10] = 12; v[11] = 14; + v[12] = 14; v[13] = 16; + } + else if ((dosec) && (do24h)) { // sec + - + tot += 5; + v[8] = 10; v[9] = 12; v[10] = 12; v[11] = 14; + v[12] = 0; v[13] = 0; + } + else if ((!dosec) && (!do24h)) { // - + ampm + tot += 2; + v[8] = 0; v[9] = 0; v[10] = 0; v[11] = 0; + v[12] = 9; v[13] = 11; + } + else if ((!dosec) && (do24h)) { // - + - + tot += 0; + v[8] = 0; v[9] = 0; v[10] = 0; v[11] = 0; + v[12] = 0; v[13] = 0; + } + for (i = 0; i < 14; i += 2) { + set_state_val(parts[i], STATE_REL1, + float(v[i]) / float(tot), 0.0); + set_state_val(parts[i + 1], STATE_REL2, + float(v[i + 1]) / float(tot), 1.0); + } + for (i = 0; i < 14; i += 2) { + set_state(parts[i], "custom", 0.0); + } + set_min_size(tot * mul, 16); + set_max_size(tot * 8 * mul, 128); + emit("e,state,sizing,changed", ""); + } + reset() { + new tim; + + evalsize(); + tim = get_int(tick_timer); + if (tim) { + cancel_timer(tim); + set_int(tick_timer, 0); + } + clock_cb(0); + } + + public clock_cb(val) { + new year, month, day, yearday, weekday, hour, minute; + new Float:second; + new v, dosec, do24h, tim; + + date(year, month, day, yearday, weekday, hour, minute, second); + dosec = get_int(do_seconds); + dosec = 1; + if (dosec) { + v = round(second); + tim = timer(1.0 - (second - v), "clock_cb", 1); + // set seconds to v + valset(PART:"s0", v / 10); + valset(PART:"s1", v % 10); + } + else { + tim = timer(60.0 - (second), "clock_cb", 1); + } + set_int(tick_timer, tim); + + // set minutes to minute + valset(PART:"m0", minute / 10); + valset(PART:"m1", minute % 10); + + // set hours to hour + do24h = get_int(do_24h); + if (do24h) { + valset(PART:"h0", hour / 10); + valset(PART:"h1", hour % 10); + } + else { + new pm; + + // if 12 or later, its pm + if (hour >= 12) { + pm = 1; + // if we are after 12 (1, 2, 3 etc.) then mod by 12 + if (hour > 12) hour = hour % 12; + } + else { + pm = 0; + // make after midnight be 12:XX AM :) + if (hour == 0) hour = 12; + } + valset(PART:"h0", hour / 10); + valset(PART:"h1", hour % 10); + apvalset(PART:"ap", pm); + } + } + } + parts { + part { name: "secclip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "hidden" 0.0; + visible: 0; + } + } + part { name: "ampmclip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "hidden" 0.0; + visible: 0; + } + } + // XXX: hours1/2, mins1/2, secs1/2 and ampm SHOULD be spacers... but + // if they are calculations go weird. this shouldnt happen, but does. + part { name: "timearea"; type: RECT; + description { state: "default" 0.0; + visible: 0; + } + description { state: "date" 0.0; + inherit: "default" 0.0; + rel2.relative: 1.0 0.0; + rel2.offset: -1 4; + rel2.to_y: "e.text.today"; + } + } + part { name: "hours1"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (0/16) 0.0; + rel2.relative: (2/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "hours2"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (2/16) 0.0; + rel2.relative: (4/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "mins1"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (5/16) 0.0; + rel2.relative: (7/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "mins2"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (7/16) 0.0; + rel2.relative: (9/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "secs1"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (10/16) 0.0; + rel2.relative: (12/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "secs2"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (12/16) 0.0; + rel2.relative: (14/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "ampm"; type: RECT; + description { state: "default" 0.0; + rel1.relative: (14/16) 0.0; + rel2.relative: (16/16) 1.0; + rel1.to: "timearea"; + rel2.to: "timearea"; + visible: 0; + } + } + part { name: "c00"; + description { state: "default" 0.0; + rel1.to: "hours2"; + rel1.relative: 1.0 0.5; + rel1.offset: 0 -2; + rel2.to: "mins1"; + rel2.relative: 0.0 0.5; + rel2.offset: 0 -2; + align: 0.5 1.0; + FIXED_SIZE(4, 4) + image.normal: "hole_tiny.png"; + } + } + part { name: "c01"; + description { state: "default" 0.0; + rel1.to: "hours2"; + rel1.relative: 1.0 0.5; + rel1.offset: 0 1; + rel2.to: "mins1"; + rel2.relative: 0.0 0.5; + rel2.offset: 0 1; + align: 0.5 0.0; + FIXED_SIZE(4, 4) + image.normal: "hole_tiny.png"; + } + } + part { name: "c10"; + clip_to: "secclip"; + description { state: "default" 0.0; + rel1.to: "mins2"; + rel1.relative: 1.0 0.5; + rel1.offset: 0 -2; + rel2.to: "secs1"; + rel2.relative: 0.0 0.5; + rel2.offset: 0 -2; + align: 0.5 1.0; + FIXED_SIZE(4, 4) + image.normal: "hole_tiny.png"; + } + } + part { name: "c11"; + clip_to: "secclip"; + description { state: "default" 0.0; + rel1.to: "mins2"; + rel1.relative: 1.0 0.5; + rel1.offset: 0 1; + rel2.to: "secs1"; + rel2.relative: 0.0 0.5; + rel2.offset: 0 1; + align: 0.5 0.0; + FIXED_SIZE(4, 4) + image.normal: "hole_tiny.png"; + } + } +#define DIGIT(_NAME, _TO) \ + part { name: _NAME; \ + description { state: "default" 0.0; \ + rel1.to: _TO; rel2.to: _TO; \ + aspect: (52/72) (52/72); aspect_preference: BOTH; \ + image.normal: "digit_na.png"; \ + } \ + description { state: "0" 0.0; inherit: "default" 0.0; image.normal: "digit_0.png"; } \ + description { state: "1" 0.0; inherit: "default" 0.0; image.normal: "digit_1.png"; } \ + description { state: "2" 0.0; inherit: "default" 0.0; image.normal: "digit_2.png"; } \ + description { state: "3" 0.0; inherit: "default" 0.0; image.normal: "digit_3.png"; } \ + description { state: "4" 0.0; inherit: "default" 0.0; image.normal: "digit_4.png"; } \ + description { state: "5" 0.0; inherit: "default" 0.0; image.normal: "digit_5.png"; } \ + description { state: "6" 0.0; inherit: "default" 0.0; image.normal: "digit_6.png"; } \ + description { state: "7" 0.0; inherit: "default" 0.0; image.normal: "digit_7.png"; } \ + description { state: "8" 0.0; inherit: "default" 0.0; image.normal: "digit_8.png"; } \ + description { state: "9" 0.0; inherit: "default" 0.0; image.normal: "digit_9.png"; } \ + } +#define DIGITC(_NAME, _TO, _CLIP) \ + part { name: _NAME; \ + clip_to: _CLIP; \ + description { state: "default" 0.0; \ + rel1.to: _TO; rel2.to: _TO; \ + aspect: (52/72) (52/72); aspect_preference: BOTH; \ + image.normal: "digit_na.png"; \ + } \ + description { state: "0" 0.0; inherit: "default" 0.0; image.normal: "digit_0.png"; } \ + description { state: "1" 0.0; inherit: "default" 0.0; image.normal: "digit_1.png"; } \ + description { state: "2" 0.0; inherit: "default" 0.0; image.normal: "digit_2.png"; } \ + description { state: "3" 0.0; inherit: "default" 0.0; image.normal: "digit_3.png"; } \ + description { state: "4" 0.0; inherit: "default" 0.0; image.normal: "digit_4.png"; } \ + description { state: "5" 0.0; inherit: "default" 0.0; image.normal: "digit_5.png"; } \ + description { state: "6" 0.0; inherit: "default" 0.0; image.normal: "digit_6.png"; } \ + description { state: "7" 0.0; inherit: "default" 0.0; image.normal: "digit_7.png"; } \ + description { state: "8" 0.0; inherit: "default" 0.0; image.normal: "digit_8.png"; } \ + description { state: "9" 0.0; inherit: "default" 0.0; image.normal: "digit_9.png"; } \ + } +#define TAG(_NAME, _TO, _CLIP) \ + part { name: _NAME; \ + clip_to: _CLIP; \ + description { state: "default" 0.0; \ + rel1.to: _TO; rel2.to: _TO; \ + aspect: (48/31) (48/31); aspect_preference: BOTH; \ + image.normal: "digit_am.png"; \ + } \ + description { state: "active" 0.0; \ + inherit: "default" 0.0; \ + image.normal: "digit_pm.png"; \ + } \ + } + + DIGIT ("h0", "hours1") + DIGIT ("h1", "hours2") + DIGIT ("m0", "mins1") + DIGIT ("m1", "mins2") + DIGITC("s0", "secs1", "secclip") + DIGITC("s1", "secs2", "secclip") + TAG("ap", "ampm", "ampmclip") +#undef TAG +#undef DIGIT + + part { name: "e.text.today"; type: TEXT; + effect: GLOW; + description { state: "default" 0.0; + rel1.relative: 0.0 1.0; + rel1.offset: 0 1; + rel2.offset: -1 1; + align: 0.5 1.0; + color: 51 153 255 255; + color2: 51 153 255 24; + color3: 51 153 255 18; + text { font: "Sans"; size: 8; + text_class: "module_small"; + align: 0.5 0.5; + min: 0 1; + } + fixed: 0 1; + } + } + + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + } + programs { + program { + signal: "load"; source: ""; + script { + clock_cb(0); + } + } + program { + signal: "e,state,date,on"; source: "e"; + script { + set_int(do_date, 1); + set_state(PART:"timearea", "date", 0.0); + reset(); + } + } + program { + signal: "e,state,date,off"; source: "e"; + script { + set_int(do_date, 0); + set_state(PART:"timearea", "default", 0.0); + reset(); + } + } + program { + signal: "e,state,seconds,on"; source: "e"; + script { + set_int(do_seconds, 1); + set_state(PART:"secclip", "default", 0.0); + reset(); + } + } + program { + signal: "e,state,seconds,off"; source: "e"; + script { + set_int(do_seconds, 0); + set_state(PART:"secclip", "hidden", 0.0); + reset(); + } + } + program { + signal: "e,state,24h,on"; source: "e"; + script { + set_int(do_24h, 1); + set_state(PART:"ampmclip", "hidden", 0.0); + reset(); + } + } + program { + signal: "e,state,24h,off"; source: "e"; + script { + set_int(do_24h, 0); + set_state(PART:"ampmclip", "default", 0.0); + reset(); + } + } + } +} -#if 1 group { name: "e/modules/clock/main"; images { image: "hole_tiny.png" COMP; @@ -240,7 +678,6 @@ group { name: "e/modules/clock/main"; } } } -#endif group { name: "e/modules/clock/calendar/dayname"; parts { diff --git a/data/themes/img/digit_0.png b/data/themes/img/digit_0.png new file mode 100644 index 0000000000000000000000000000000000000000..5913ef263e731270614cc0eb7fd5ad35f4197541 GIT binary patch literal 6398 zcmV9&fS7!%Rg&_g;#8)R zNhnt(;|dch@z~LfD?^IGV;eL!!xDSIjscrhvRNb{B(*?Nt6Sab50b^T0HGh9sfU$Rp5uOf_4yWaJ-twF#01d#j{Io6OR|3Y~1y-7dy8t`@ ze#>xEa6J99CI|%}X&Ey8za}_(r=Zxc$cktIkp++kP)J7(KqdtxQg%#gd<-B2PzMmC zBTB)w0(;wRtqEv+e0<1t-D?2H;n*#t?6~M?k>9~TZe1_uX1?V`2iegex3>{18M8PTpYb?m7U}yyt5uH^^ zJ#gg6kyESL?W_eTj^hs-V}`7?u-3j2jBo{WJcl`s$B1Vb_j1hoIqvlg@Q#6P!pn6t z#y~^>0i<>MI(P?ori1y}&E$1nVEheprZV%gl?(H*CbU|HBy9{OCFw-BfMNg<=Nyc& zUZvEv0RH-I0Sd#=7ec`IeK5w`z+_zJ<$UH9vdk~!d7-!8-7vbHx!E2fN?*V#v6|lK zJ=`z!i~fl|N(N@t!toanI*Y`GASO5%OGrx%qf7%7W7b-dQbKF3*0Niy^@Za&v-Ns? zq*|@!YV{hc)dN-!6A?tx2^BJ$`?*}##u6(Ij5s}GSAe_4CKzK3q?AaKjJB1^vNc-YTd&s-tx3e&2+e*Py*9|F z{_?k=^SLqQi>n@+EuzXw-cqoU6#Ow5TNo&5P`hWD<5Wz-v!_}fY$(=0x%0;j-pCH zQ6*3Z_6EViU%J>kpG!PPtfdHKS3F4VIxUWv|;OHkaL6Py8DfXD)w&Zph3p}zxg62R${p(Own z05wvfgpOqJkN@G8q&!nh>WfQERwEl%&t`Xjaj)Aw{MT^&gN@M6z&QtTr^vd_+wSB# z^LT#@gskBo#kE!a=nxJ-Jb(RX~eWDFiWpK&oaeh zE%T<{1OmX+?!5RsfXEn4Q4}7@`EH(!rdZiWdq4j51Mx#&?p4o!`w~iOb+dGQKdg=z zYna75HUs&-3oWtU__42Dk+S491@CGs@wZ~fEFA4IwYiH}X>i;b+U0XE4+@t+MAj@E z+edM=;&g902B4g3GMNfcTf1XoNGIVZj4@D3p;*Xw7^D3pi4P9_=_`*1-}=a?e)X}d zO;kxtTn%hoDVy^2FNNTi2*^%e3)V4|Wu<{JedfRwHeBpXqwSh3@iijb%DNLhe#dp> zWQxf3j%LTMYAkW#5-6!ooBG)~l0it}Ql$lq0YJ4oCN^oUKdrTPrIg5KvoOZ=N-5{# zDExl?&Wk6hcIHMSV^VQl$)FrlQV&dh{)~yMv%Gf#BG-l7Mc0Ee-D4!YQuLGmbafhS z-L`GX>VQ^TcPOrm^3vvUckmLgd7TXwjIGSPLg2F`gD5$8e>PRhO=fzHF`qTY_;DN` z%w#gK)Qb>}Bf}o}|x%`Vzv7{u3$S)lf zxvuA$2Kieq1F~JC7OX?Q`m@3Hf&*V87`Onk>iA>3SgvOiyn@f&Y?B>jDly zr=X=qw6p<$t$lr0$r$rbwbq3=j*sW_`9}eK%vuYrHF|q{{WpS%DGWnPBD2>QWJo89 zbd)#)+n)#UK>Cs(3cVmFE*!Q|<#Sr=jwDG=2_gPo2yu(nI-`_ACX>M%!6XR7&>F4p z+qh}-Su3MSs}rM>NaeTR@-l!E09G`c)3pUG+cjvzrQsBi*L1t}T#mQQpB&?&#QZ`( zFK&Dt(Bjl_GD*U`+)U|;KRzuDp0-9a81)&YRJSo^mWb}j=kwQTt$U@E^Sj)t+jiHhK61S@DZ)#fRYIb&Pc$TbWyGW*q3h2!E+nH7%3e{4>u-3ZmJJmEml%goQL@703tu>6Xs^d6~9fs95UC*Kv)Jp&W9XHlM;dQK% zfMIL7TrKX<`>@8aWO>wRC7SyeAp|uI)LQE}jt^HVmHQVK7XIhl+}wX_ z<{8eMIrGfI!UEOnbx0{;j9E#Zc%HYyTK$`sU!AT&34mCi-oHpmwE?Ixm$tUgp_QP} zmSAtDaXkQoywC@`a0Iq;3g{g_LA5h^25YQVmVt;10c$j@HB2dmD2g77qUdKylIS;t zQr>uPNs|1KG4@gzhBp&YS2ml4QVK)_*LA@;z=Z=9ly?Sy^E<`-A3XfLI{HYbI`O1| z-;o092Y|uUMyGWS?c77G-Q}7Lxd4iydrM;?FTDl;Gp4?f2N}x%;+(^1MM^1BNoq1E5D`T8 z2mqAY(#&hRTx+g6FY-MguK=6WU>2t=F%dSBf5vL1NGh2K!C|dExUjJB^K+d$K@cQK zlI+dpa`ONnr3B|3jw2|M3A9o~){w5uju;to%5*N0(STQgXt-RijUBe0QfR7$EC7hE z221Ldhr755b08wEHMB7cp6mHasrfjL?|-{F^5NlOk8{4kT8khE&em!*Fvj4yUK-jJ zS!0MZMvf360EpKmShmI1b(I3z0lAxZfC$iYFL!_l#%MC&Cp_2f(MCs66n&>ssi?OL zh;x3vwN@Bora9+(;yB*l3@nc0z#2`)XtLIjSw4{?YS_{ONVG-iHN|OjG#JWn04r{S zQL!Sjq)5zroQ8}s6eW6Zxm;d;CuI-L`DD7#zEZE(O%z2BHor@f1VRWXB?%z1I+3i< z2l2XM$+p>gPDzs2QJQ3>5Ri3wr?r;F20uCPtFu$TLcMG_1#}nyCMG5}ugtM9fKnQs z>%Cqki_h)7@il6n)D(rbein$AVHx*`zyR_jiC2dI-PDus6v@!gP=~d)WUUS6=jRtD zCMG78QeRkkfnMSMD2^Z;hY^7pFppUcefCK6lBmtrRRJ}>u<1%20f3tNKMge^d`D}; zED0ofSxdx>wTzf>i3sZ0k6Qt) z6vbLWwKLRO>r5G%ON|g2Z~?6?nW(y>{*B9bzf*>U5W{JOqeCfmtx}2wLGWnv`}#L7 z-z`9!i5OE#Gw%3)qo669GAwGZ%dW)`wbVfavwQ-eM!}1_zV8fQevl2l?+I-!lfm*w zYj?iqvbX9-SmU!L{W+kNQuTWMzQx7Gp972uAs~b0k6HpV;M$6egmC?4bt8HCVWgt9 zS#YM+7^1ccwE|GnvoF4`io4EpJ3jKSkM(@)zaG&Yqd(MIlS-oBuKmRYAKtcY8$VYh zV`F0zMAVZigXLPS_O0dR<%8R{ZENJp8-*_`C9wm!dNNcQ5Je8z>%H{Z zqsy&%z*d)YR+&G|&D9jMnh0P{=U`J1_NNsF4}jS6Zx2jQ-}Tu&!OK(JOG;{NplA)UDu5PlpM#|9){tSDF_Q-8o;n6Fl@Z|!Q8~vI(>ot zPH9t4rC=Fjq~;C8*)7mnB`RHeszWJd%&-ZkR?$K?c zWAn-ugmh9j)fvA9(5eifjiDGoXk=6oS+BTaP^Q$!gg3>6?~-r?jKg7#ZMu}>G$g*1 zvJn|MUm4AOLNj6FI1bV>{fYrnO1Rkqhj0WFzRQH?u}rD2^`#gYRg4TxYlY)YfcD?U zXy+bkpF<(V)fr?v2L1PZ98TvD0CWR*1i<06LbsHz33~r+%mTpVTD&{yaiN*C?f)o1UJ2cw}TG3*ZX?`VuK;JU=_gg~K=ei+z6yUhRx>d%(WkZkBc;^& zN~y3`tKHpLUtU)TDN`r6Zr$n&AwCD7Pbz(u`nP|Zan8UUk>0zQJ}XNqOmh}i+4|WT zFi}oz)N8FnXp=n>KtR^iD5=j;OZW!xJ^-C*MZB3x;`RT&<07ThtxBoxIF4s)wc1~m z%jH+wnl6S@V6%*|&sb|WNhz09rtfbD|M;PV30E-TIqAJS(`SLgr3Rp+K4(;%0JPLn zy0Pn3!CNyf5qX8v6fIBN@`=HgYc2pV0^n?#2#o6AykeIO>sJ|VD2l>ghGF5#+Yh8pZ^`D)R2_25?lA~(Xad>0N{eV0*>#dy$~bmv!EBIz&VGBmZwb;CcHE- z(^`vKRr;hp*c#~~f9$vRnfm-JCDnvf-1-u(2hdGMcLeu*{5ly`uhGULO!SY2zdHX9 ztAS~zxjfHfN~uvPWj!+d?$O&%RGaxg=J+mivwk{PuLt0ePGGCkutq1QK0j+@B>gS# zKhzrGT06E@lPt}^5a-`}^OTWsV1mWt`t&bauh~s18jl|SSHCA~3%fOOB$>YNkK8`} z+*^oJSZj+)sVEG?yGL(7wbYW_%)rff%*|!fG}Z3LB6=KhX7saU*hYFZuifLtlRCL~~obnqYMt zr&+~QVHp1H)<0i9+g9x;FgKTBUM>gVMgW4WhCcNS$eP5Ir;qBm9`kJ1q0~0BTB9Ie zqrtW5c45cW|K>p*RqMKP`j~p{XP~$W`QrDWquMZaZ0Rgs_vcS{efY~sOR3Ol2bD4d ztu^8}esJ_ZFU__kHS++vm|w{Ae9uMzmjHl1{R=P^!qm?mQ(-00Nl-8B{Pa_+EvRqR z8ndz3ySiaVl%VGEnH}#mjEHgnPLM0Q9vyWJPjabj!cz$qV1T zQ7f4y6v6UiR~~5tQvlEfppR!dI(g^N4gkW|&%#Xa16duJ^7JtoRw7Z_{B&Xa$CuV} zw^bQx3l0)M(0${7c}PW-swqz&L{bI(4&>f@3%Hl-1n?yQn^I6+seyj-#2uyNrM+KJ zN?$CcVnkrVb>rSI{=I3*pRa%cut{`}?quA_k_@31}nP2L2@@$yub6_2V0I&_frvQArnSE6+es@Fi;(gaC zLq%m#g>Vaw2{ggoEV1pvEv2k zn(8vs&w`SAnzT1YF21%um_KnwLmb|C)7QSoy#aL)x1({4$P(ku z6U_iIbnCs3pV|8-*W?K(`YANfI7JZ&UrUu>;nMc^o%tUEsKX? zmye*?Y}?!$0f135j?Nr@%8}(W-q7v``)~N_lc`p0x|%(gru21FP$MHFUvBvOn|rnm z_kHdcvu>_4ubsjMbPT`OD|Bt*oU?N+OQygmsV~ijv#-2RaMU7X5I_bIsi3XR8Q`1| z=ltl@)YP}%5kpZFP5ZvTjdM-_V<1Z~$`Dx+4w0-&tCGkVp3!n~_GeycW1rVOw9Uzu z`h^fH-HGiWjA^);j;eEV>Ez2?R_61?rdhOIq!Z}(uwyK$JqZ9B}7Z#&H4wKTl{zdOwFHraZs<2K?q_PEVDY_*m%otB^f ze;kNf16cb}wbj}ve{+wltplv}-m3w6Lrv#5?oi=5fLludzw4j>3zQEM0x zdu&|SdFSt(bLY+s$)QM!l&A+^GDXR<96MIxI8mH!nuk+$9k+H6Y}_`RrcK+;q74wB zX%__+$+o-b0=tF1fw9{*g`2d^({|$|juY4ECXL-ncI3#m?1 zt_Co36~R~l5dfF}1^@xT04V=`#X*^?1jYd<04V04LM{~okOIg6gsTB6x=L#70F(f< z0cg*E13&^`9zZPz81nC{FQJi7 zm7ud@Kh@c>W17u35Rwd>5rhTMiw32t6Cs3ekB*L>xFiXsY5Hzv?h_G+$i;yHV4~O* z%C^;-;%2qn8C3?}4s|8K0WBNeNfSpSLoy{HoC-;Um3;nUR|aLRg)yclgzy0Xe|brO z8jVKLIfr7g2xC?@wJ3@JV@hhwQ1E_}fiId!OU}im#kCe%+DNolz3)&THd<@POrbCa zRU!&2K0`#{y~lDFUl5S@{yS-!-YFv8=Q|(AF?xD>AR@5V8WG+iip>J!#25q#GlJks z^YhRgkTC{H-A~%gbIhS^)%RQI25WH4Id_7H008ICokOWqLQ6{v;y7M>CJ`Y?5>?e7 zUvV!tG&J;!*4no)vsKj{MAQvqL2!rT>+by0x;y_T0oVrM{@4BMuLF4b+=HKv!=Z=% zg9G;(s76tA#uzi|oYO*~@cEgUnch;VbeF1HV+>Rkb8~ab%n#IRwHL0am)o{&+wKs; zTZpK@%sT z1yy|kz<=!M=rBZNnv$v2YDz>8)a&&ZmbJ4>1v4@-az_Z^y+q`Q=tk!p8)GO0`tG_< zeES-GBc7qdot31EgqV+fP*6P z)4~68VtiQ-Ri8xm?AH+HC)NZ;=A3m3O?l1W*9Sg#;tYV7RrPrQVvO0y%muccC{lE^gw)Y`6T!M<>O8=7^Kl#|v+I=@)3!%H3_U4>BrK%IE z8d+=Ch7dqR6>II=uLz)_p`o&>zA4WbPN-_Ph&XHQ;XLt#G3LC0==k2Q?8WauD8R0} z4iP8dkQTUQ{j2Lg{=n0Xzxn0u@bx>H*)GjSipAnf%p3}Z!W1(%@^kMV8XAf&8<4g3 zmzddv5PWNEYpkj;#+)(6Ff(g2C3*c3M!(mcKJ`~`laRsmTnh&R*C!!`wrb}c|KrE$ zqo3I-v&ZgWW*b6)_kJ-OP*wKc|095;rKKeaAt*CP#+dhC36$lnU}lbV(94hf+yWRv<})-J4JnmM2b+M1=;i6@>2u!u zAFC>g#bO~>`Eq}M|Jqdpvew=rA|N88s$I-njpO*7szOyKMC4q4T`vIC|L#L;vX>sc zn|;ot4h%Z<&`r#2DFpaz0Sv2ouv{*iB{|zOxd!ZK<~o2j zB64}&xchQcZc{D+$=}=|=iJ(6T|z|1L_|eo$K0P?H%Mm>{wf9E9!%kM#|J+9BmeXl z-XbA^>AD7Sr5p6hV-R6WM992HBS}P~mWMWM>YEgi9U=l|hN>P0fT^h|CZa>C3g=wY zYYeO!kTIr|OJGg@#-6v<_B37f#KgozmSy`y#Dc@G1RuHt=4|I(_x*i%@}754eX63R zP88Q~Lm2%&gb759-~*B*5!W^N@HM~ty_Z1Q2SvmZ5sWdIoSf7pCBwm`YcR%?FGoT# zfHeRdGf$0=kDoEdtjixXk(Uuq5)l(o;P3PY}^uzSj19O{?P+M8pE< z0dSm%nnv4`tKsl~G!^ zF>z*Yp!%2Z-9c%+hndwF0}(-?PSnE9Y{t_MJ$s#aGmAzkp-?EqL+U){WUb468) z0J2l3PR$!*evXI+opW_#?Ku%a@L3zv0#zU!TocTadxEoiYchHK`j90XM1+ks)hLQC zSQ+OwRRGYw5*=VykkBlEw!BU`V~kmszv=O#NgY5hmPvcGlfyD9+sbHZ^!8V;!JxDB>c zd1CxK|9P|X9z`e?3OPn0ieRmUwH8El^T^0ZVRUr#TO%VQLqxPECnwjhL`+62sKi|U z-ILo?PtJ|O7z1Vo5vhon!1DN(KR&y62}^q3qjk$WW;TEHi$59ri@Ua&A&jSK`tYTaEj0d8!9co11oe7jVt#%e#u&tLyeO^QUQsHQ zNL7P~OaUlgj+ZN2Yfp+uP}Lm(Os;0f;yCUmq9jR@ug=ZQg-ZpL?EODOBH~!&Wb5!d z|2$38{Y}poMG=~LU0xpzh)A&3p1iEoM^($#+6ECF$!mLLS$4KqEDkWUCQ0((?Ck8! zYPda}J~9jdY73+NpL~>)B>7JBT$W{U&LM=bSoAUTn6!zDSmVB6q7DGs_R(rO+z5Ucu zI}(w|7_%*Jnq8KJDymwr);a(ZLJ(%YX=G&Nt*chI>7(lbz!_~1$^3001XHiqA74T@ zztuUnDYsczYoV$I08Ul;awOCaz=%j8H_{)bY5GXcp6(eL8M$ROfTVi5cOhS*4S_hTbp4@e3L{!Vwu$isga5X-0Jn{d zjFg>oKf2gnX&8O1SF&1%sLTc8*${XC-IhQ4$(hDIJ8YI^i+px2o&O7fLJ0rX7*onK zg^q!Nfy&s}*!*f#F3N$mdG8;Yot;$xn4X?KP_Ne?A|mnLzbl0BTlLT1xN*f`dTKw? z17CTosDRa^E${xr`v-piC*$?c-?%Y^@LNmUpWgeUlarJCthGN?)hT04TQgB6qH9*m z`uP02G&MDKZt1z{>FI;jYW0g*mQ95a)@Swk-<-eqhTF4;f9DOrls&@Bk0QMK1ezs> z>*#;BJpNSI{Jl5ap4I1nGla0d>5@YTwKPp1%83#&#vBAt$=6Z^(0jpjZ8<=lot^Jg z)qViA_V)H~Rjbw47-W`Zb0YE#0OOqN7p9G2_Vi7B=%MQ{d#uB7)&uK)KD_iOX!ZnP z3$VU=!1(!K)9GS*_NALBYphch0dNw)8WBN~BwwAGnOUTl+uGXNt+lsXYt>qNn3-vQ ze*VC!I(Vu&51_|6_oo8`1G5)YCt?#gLj(tt)Vk={z9Bntw7anB%}cyN0HyO~VXCW7 zD@$UE%{zV|B2+4sk5(#`rMK@85tH)?nwJrmu5x)1*CZvnR_cNm<07nc@FBow9z=3x?ah^&Fi&7-vu3`|qH-&WAAGXf*!ze0;><;9y@qT96uJn%XkI zT3#--)|RZbv#RQ%DB20&ydx>Kdv;zIy#FOOQJLb>xsLaJ?m(%3*XGv+)P-cXZ`V}v z$ftjq$#?n?##4>|rdq8got>TMD>8R7bBne1+>&<7{Az9JRBj(G7xi^RLqqO7o$=j1 zO+G|Kg_O;6Yk%#lUoZ9Vs=WqGV;T|?s4FG(%>B1eqq;E=SGjZeZ?}B*Xl#S5>bw#(;<>t+m}z6zu}=6aZ}BzTJq(o`snO)`ZMs1D`$g9DvUA zq&vCua3;*0+!R<&+b!?;a^HvVn_Gqg*cC!plZTgjlh;$#msSO6e0==mrcIm3S{p@C zR2PwMRlRj+Xy~VL9D|uZ6haswBC4nUp)LRQ+$$F%Nu+uP#u$jNmsreH;myDLVCTR2 zy_scNp#@dFRaJYUC_0gMKcK2plarH^tDYnYAsmgOXe5r~4fT5cl(lwK6h-f1<}F0D z(R<%$G#X#N=D*LJUM^6}-0_@IHC%k#C%)fy{T)*)5HvRvQ9FQ6=iCc9j{#ME@v>Ty zMD$G}QX-1uIL`7!^;02){w&L;YPH%IW@l$lE&EcA{s@}Y7RdPRd!B8({*KAzt{)yA zE{Vu)RqczS=nOL>?}i6e-FI1lrl+TqEX$r#RYXxVXsz8$L=__Hsnu$KRjpPps5VNO z4Wr)&oj%YE(rCH%17|OSBECaJdWu6`uQAN8`JHaC?|L-6c^O@z(b&Oe4mX zl^)fms@E7}b{b=jGjkF`K$@lyk$;$(naQpQAOPwS%XzV9O;nQN!0eXixrcf;BR-(yPc7kt3BZQHtyG1up7s;TNYGb2e7F!SEI zxw!)uv(Od2-0<-5^+a@wF-E=jMpaQRmtn0vVy(SFRVzgF@!GvNd<9Y56|(d$jao|5 z)_6Em*?aCUNX zaz6mHw6s`Ny)CDOC641mA%qdYY*3)r7NW8Cjy13HQ~!IbS--Q#u749WnavH}LB^i! zl9T(k@sS_Ao2#dHu}`~#4@wly7-L4g_nJ#)Zyd*uRjbuYn(JOk<%V-&;)&)T8jZ%j za=ARk%pWS1O2tyCqyS#_-ZzZ3gRUTh+4w8NQGF(HC!cn%|Lu^R($(WnAe`Lyi(DHQ zs!f(CZ4d_^g!z~VpUAQd<#HL``-jssJ&>m9B{NFP_74XJ20q=a<Ne8RplM!}DzNrSR9)$Z=@#op5e zGzQk%SB@Mx^5s=YC`po&#bWW=^G#bddpX{Fc<+%c%!QIGl#WFu9*@OsicE2>OR9sm z*tWpfgf#VOa?UpzlfGU(cfDtA1;^$+%*+yC1} zuGBiN#_klG&lI#^VKYZ%Ns}tgIf@#9M&1CH|KE3~G`H0xSlCYE^XHfxK$d?PS9oX2 z6_?NwDgA70h&m6bfBjq5&I9ZX$JN|a_%nC>KT%IvvRwtNkljcxv5jQ0~10V|^2Oyswvn}A9mfvY|B?b@z2mmzFW00O} zf@=bMUEDe^pz-nX5!ZF!C4?9O#PW4g$>r@TD9?eD@r2`haIzUVz7OU5B2(%{wrfZ@ znGQ%N1EG9KtZZ~JM>&frl&Pgy&jrkK)n?B3TAzK@=P9oMefk`x5 zZ9$g6#8OHj1bVgB?*;I{>jD%6fv+4#_)x@bWp~mpWAEhD$}Z zbE8s9rOyyVw7RY4b0tRzsbr?uuQJ7cTj*P`OA`mEF*l9aZ9oMfCn^#;OxVN*1R^3% zbRvw_`h0Y&^Zmok7N={q+Gwp_&(}lk1hMe~t8x)J`H0+-=p5aa9o%xQaI@=#5R#c! zz*uXMBnjd;K4&LM0%Oc;05dbBOvO}63ID2(%tWW3`)d48f7MGtrGca#P*RVV z7G@KY-Z$R#=`;J!XDFOCz^K%c`$Athv7x7@K|Pk#G7 z-w;yGq*f~epv~moVL%9MyYq(td?uT-`~KJUV)4|q*6ZBjWC|q~3Y6+vy!Wg9lI_Rc z?u~m$%HyUX5H#xS3|{{5#((pJBLL)%olL8Na@MeZPHK`%0D4o-{Fa?LIG()nILKO9 zYvJ{dvOc}LY?An?&YOSZ>q4qU0JRnqY|Px@N_yWDRGr9$|L0Th)Ajix3GX;7e~LRt zHoC>0ZBluzF$RhmQc72Lj9g8|SRDi>Gnf6s<9+Y{y@^y}7y$3s$*=KK&KlhD02ESD z8vt-GRZg#fAxKDQlN|Zp85>mgWv;*ft3s+1Enwo*=MYuS1OSli`BE7D(*w7gBJ2d{v%L2Rb?pQQTyUUdppczAHKW7)XZ@U1M-Mh7&V=aDsJokmK4s zS$!l0vXpxMC>1vizzCak!o=H69OdIEoN)y?tfNGGonJ3(zxzb=*l(Axcsz@wK5G|G zy_77TEi0v9tp$^XKK$KIX8I_AzLch1N~3HCC0F52Q+JA~xZOju2XnSI3-(ILY7>0uY^S0is*Omf9b`c?{rfL{^1ia3q)U3rrSK9RG0mSD!f4_`0&FR|$_DZm|SAc zbCW*33(O2}>_%{P;-r~=sVqnz=cH~pscY#MPNy6>C-xd2AKze%`4ACFW6Wf+SnM>$ z_;DN^*zkMPKd%4xw`>K|9hSjlIT6etA%&YM9ZhClE|#vlZv)4TT=Mdx(5H7nu6y%` zg>v=+sHEZ?r8>2ee#kXUbqT=x?bJS(q8d=>hto3_C#QEG=4fexb-*>IGy-AYHMp5)g{ZF=B3etC5qlJzmii5g=4ik#1A;q;C`yJ2H z;;92}-#Ad{2Sqj5>3stL-j+V>rr4?0OhC4ANTsZ70=nGJ9RUD%BiF#rA3b4%#W}>) zMb=?V*35t`@#67yZD9JWwg1Xm>qk*^!1KI_hx}{?oqH%p!zH*s*VE~OpVrS^hmZD zgeIUYfUBu|VmZ$0+yLmt5=GT{DR7o`q?u`kEKPxlCAdEY(_yXsWn)YsilXEBeEx9& zzd%I7T6?0mx7U9Sm>?i)?St8DR)C2?mPBdzc>s;<_&fKQ#Zwa?9m>uP%OO_zgiN`V zZ4tSZRA07bp{gbG9I>^jWy{gC2~?e$gjDMyOHS|j5w4ysfV2g~%RAUkV1xo5GfFR^S00D(d9ZZ(Ib(?3SfBaKq zGMRg#C{os10LVFxb00GoUDt){y2@I6ClLu|hEfWJLIK5Mv96Tbq_w`m7&Bz8g%AQn z1lRN1OJYK}`O{56DNP;cE0f6h{y^ds*dA82+X&BHzlAj{EGTI|SK0FSlBa&!)dp1)7< zj-8Aav;-ibs2WHU8o@*WLXN6ka=G{dA;40qX5J#S)(FG!M`0K~9mlb0Dsp6x0XUuN zc`G13$84v%)GB(hFwp`?6HM3%K$F$$mI(w)DPgUJ)|$1}&{{uUsZ^e92eV4OZ$e7B zvk`;`5}m;Hvr@UfV(Ga?co}l@dEpm}lmxfwqd&NQnf(^DcnYM$gzB@q04$_{;+AOp zwJCTL)Jo*aI=0qElF3{6qf7gk5kRm90LB<-tz*}9ePhgl`T6;Oyjb1Y@+b8Kz{B%@ zxMdJR4ronoHe1X{znC{NTXc#;n?$Z>+|C|a4!eYejq8b-J9^R^%FF^Nr}@`wQWj^e zX4L5DXokox2%!>(^$k+V4rXpzs(H`z)}`sd-@ncpxokZ3*{pQjJ`2Z7*bQKvb;WFF z(Ju{+isHcKL?on?&_{m&Q5-O~eEbD6acCD$Cuw>grjkS#swuR}epX6(mWVVnZv`My z(|gkMymiKyFbu=5EiEnSi?L}tcJfNc!kl<&8!JC63Ij`{zy8FN&W7veW!LByr*mY7 zlu9)VB}|s}sa-GF>daZ8ywhBrp!0F(f`FJgE2RvKF~_X6f|(J=@wD&z8?Ch*hT(&i zN@ek4z+gFSY&y)WAiZ7srJOtZ)|&JS>j&=o%$2Ixe_8XPHQfN!W)7IjnG=@zsEDhJ zwl*VLjX`@E>q3B*lRMALH!Gw0e7>8AL>PuYESJm2E=t6N1e7aVa;*{|#zm&1n7#ZS z0pK?PytDb8L>mwhi*VtfT|9Y+!ljyQ%zD(Ak14E}c0=%b0EGYwN~ytSOm48h|TXzgM{Ib`#DWe}NZI?6<*URoBZ6 zp&OFJg-+68eXYKca{-z{A;dTl9cJc0YpsM3C>D$1%*@QiHpi6oi;l>4xM>M$9nBxT zLKFwqyPMvAWm>^`^&yf?{K2h%mQkFuOBL4ymB2>Th!i}q*$m=+Yc;_xhC@YWcBPaG z0BNnsT6@*_`1sWq0mcQ875N@tmWFZwh5&37Lfoc$Hr=4QHk=E_>cB3%@^td-15>xZU00<&-l~T}JKN&^Qqp1(NZG3$Ex(k$&vj93& z$4E|fjTQln0{9g$y;BIGRL5}Z*H7EI!%rcYpAPqZbKC|?4IS31I;t;%ERoR;m;k2B z*CN=tfY}~S&1Z(0&uFcmu2d?_%#_dP?*Q^|94E5teVFxYnSs8j=nY&GKn^l?nquxm@1cXfz%&#!!;zTcSgc{YvnKca5}EU0aL%BhJXx zBmQM~-2z|}Rj0sAki`KADJ_79?AhnO7(96IRvRqVY`7G#4&o#VkF5X1zMpj6{P8`^ zSP()KQkv?4CQ$^tau0)P3u( zM`@9N5Wwx;=C{992q^)8s*}t2E)Ik=f8@)_i~oBuKDFx#8&*TsK?oftNgOUw$0gqc zU_0OO2`oMFM=t?*Z%Rv*hz8!M$VIg5fb{zH>;1E5&&F-~a%SPlKl|(8nZLX>Bh<}F z6kTKXf9Do=VxM)#ZfH0gu79`4_icw?Ty`394ZL^~g7lI(^sOI9<&y=9Yl7o?4ZtZ* zf?m?GP1t#Gwzo=dI~j^ELKPl~E%?ZUA=9965F)EXQ&Le^ozCek2FNgR;p zdMka^bafKZ6#$l$QZFP)5=~A{{n_#tS8)@@A`$D z^h-ri>|c-K@D2;sQ**Yp=>vM<k?Y#s^O5g;E86=tu7CeOeGpc!i{og*bKM~!z^6`~`p<2W@=0diAf=p3YZ0|K z>W2~`MAZ@#5jqzC;>L}uboYh;T$09Pcds%ka4g>c$dAmKXV2KP&k2r}>dZKl?0-my zKm7fBVD-8riDzP2__7eMjn76$M@NWg9e_v(QB6<3F+fBV0YV5VD=ZzUl-k|~W*ER$ z0KW@h$11mY62Pa;?4em(KDk5-#|j+RLgnXAgx~+&yD16#k|bUT8uc$NP8->|9Hz?Om?_g&vqQ=<%=j0-$_KhLWq(OVv(7VBng=LnR2;Yzo_(~P1ITkFZ#RR z{|Bf){pVK^S&=;dH*hb#1EOQta&78cvNZfi%9YtPGztL3;osly=~tfkpiYtzV+;Y1 z%5kEB|8Q2XKTpUt|6j(05EwGXdP0axrBeH?u_DnLmN;;_MxNR6nX*_b!E@Fai)jum zZ4=77U*>xiHRb@LfrF1QI!BLib;7tCuaDH=_PLZR5dafD__6Nf)K5NSwCPHWsR`*E zb)?urjOto5dXTcnjLlN20RX41rC1v)qBsFd_wfz?Zl7+M99eZNTCTyJZU7qr{3d`R znPjC6V(Rn9^ow6#GP8%g=-Dsas9%0GlU8Cx_|Uzh@tNm7rY(A7RtwIR|N6^LrXV35 z3BMGiqWqd2egBigLb{hjDn}?cWaTYd;W&{Y2ifjDoBm+xaLcr@T5T+5wMmj@j8;tj z%Lh^?3jdOuQGf9vP@^&<>r*E|T*KVqe(B{z{L(`oMzr*>oqn+pPaSv{Nne?4=ZT(s z{^C)8aGP5`^<;_Tn&WhhQYyyhtoSE?zTTYPeLtK`UP)CW4fmWN_kEpUnLv+Z1s9_vg>88d#b{4eVB!1zO7Apvh>%jQ%#Z?r*1Bo3A*EcI zQEkqvHe)nvEgZ*z+Vl=&*Ka?c>6ilW`v88Nx`<|5#Xf(ZV7bQIBmL*Qqu09$o!5U9 zUao|e*2+0k!CGr1Nz(KmE7v7S0MNQAX!inZ?jzEWDh#&|Mi!9ucYtVi3 z{Xpj!xHNJxU77G={1Bp9Ym4*>XhYPwfl`M2Ep>X$ElHx)?A=0sPODPSf7nU#$xsrXK$Z0DDt&nQeK~ zr1b&3YV)Op-@6%p?`Hgz7q=OOrPLtQ+6Dku<&aG;Y7RFv0L--y3H?7_+#)?m%Udn& zZT)l0SZ#Ib)^~!OR?m!|&uSgpF|7l-?X4AYo?NJPDoeBt3jVwRp+#TL8H;I+=frsu xyw?ATpEH`Sq{{`d?g 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 T@jBOq00000NkvXXu0mjf<~h}r literal 0 HcmV?d00001 diff --git a/data/themes/img/digit_5.png b/data/themes/img/digit_5.png new file mode 100644 index 0000000000000000000000000000000000000000..61d5909f20d7fe336991689d2454b0994b8cef90 GIT binary patch literal 6594 zcmV;z89nBSP)ikYUND3?vX6h!r4_v5jq<7`$U!c#$P*b8BsNtC!brt>rG?ojF3xk^nLQ z(g0F1FwrEbUo;pS1Cani0CfO<{M|N5YiWSujmHyD0Vn`yi$^Zr=ll`@nOG`5fC_+O zJQ`rsrfrt(+{)}(0Syli_q(op6JvZJ`il*K<8dTfT$b%hvi!0vAG&rWAH4c9mTYPL zkF;=B1!Y^C`cvLI_&_W%8A}g~N+=A&>y0tD5K$+QWe^TyPT;Uw#bxE0r02DbvZ?*< z8AZuC7-O(@eyuh>8DpnDt+gPc^8&*dgJ@e(a8_RTDFBZ(X+>j6oLxe`?eoU;OwQa%`lp+{hy z+(~kgX>+~y<>_Smx|YJFw~eMpZ7z2{6NL>1Ua5s6{T=dC3kozA4F#&J+ra4oa{f0=l1+l78li@f! zph~4Ov1yzAt5}pSfGmJ+04o7}+=eB{y${1wr$Avfh-SuSpd*Dub|SUu?nl$B-Z9a* zN$|qgZv%kT=HGe%%PyJMfP+u=)SvyU_b?T-Fa~fTz!`@bdm>8T@ISwx0&ppDp6ExpQpM2x$_*#1bz>;Qc{|{O{RXHgA$|x6t8w+E&(560Hn0VDUUhb!DH-GNCj5|dDrvWn4`^xckj+*IxZt&1&epObdmy?RR;bwQMu;vQr z<-*I%Nf|ka%B@tJ$}sMgWmIR8)I~9L?LDn;-}-u!KT^#qcRr5wl!U@3zj&oQ^85|F z|0>t%-wdy71kuai25EUPeffue$b{4I52vYusZIm{5IuR13SarouW1=|8?AaF5_`$| zZ}P5-9x~%EY-J|eES%)ejFjz$)F5Llqm`1%Y5m{JfAg=OZ(1+rY@rWdDxmP`KVKye zJbpKcgy#%i#gi+xz?8>9q&3g=?n$kD`*^GdK|I37uwg|btR#XLzIKCf7v#Hpq*QpJyRONmy#ybw}1H8 zwG6wBNY=6&?mXo%tY3sRvc?O`W|}b$CUQA>}7zT$@$t0{L6$Jjj7N;i< z)c$;QElAxFOBakGV~GYi=ZtfHKx-9ftv5!`e)a0JfjBP-1<(C;+SI1+uwcv?xbkI| z%(XWTQhf%{QO)ffnTjRTtlJnK9v;wIe}IU%)_Odb%Vmr)UKB-pW@cud9vK}V)l$7${ z00fy#rl_?p8e;|+WAAyZfEbK?y9HxT@48n>h3(ACq)#18wZY1ISx>x@Y4!*8zq_T! z$nb7MHW@0t$4h4R8_Sp?8|ie<_BJmX1{3cyhJ;d@MN%>;Wh#D1jEJn(`tP;YHEV5; zG3F=MS}?|bFYIvvixbDyUO&EElU93x4pa4pkce zkhUxvS?5s8%FX*(A|uF23DdIbfsXFJ0Wf~2VUD9L=aI3@4?;?$(mPLuI$G~57K}85kI7zfeF7!R+;9!N|!RgJo?zzbt*)pVO^#utca%v;q+Fwe6kq z$nzgD%xP0z%VgV4pM43|+=)zg(xy9;?Za>DfTa)EWNXs6IZv^K6KckIq5pw&HXi|u z0Swymmt*zYX^g2e#@e;khlxmV&Tm`{kh7?TBXbd$U{1bk2Ey$WE&ZbTJW=SMvKG+g z6RV@0-yD{&ZNJ)xWQ+0IPqx4Ji#zqtzIhi4gKbP}q&*jis=r|i1E9z!BdSIjPp12~ zJkrw9?FX;^(|XG|BTK65!}pI3tlYu?(D)zr?iNC9W{e#MunNE>0Pa8UXd3`yoV9~- z#=TS;PEzo6d+Ibm`JO4(xAC|=_FSjh`_P>R4ri?^O6~9Yvp3Aa$L~a;e}FsbT9Ra* za|TO>n2HEtUE4%i7B0Q~NBK*Cty;VHjytWJP8+EN^W3TA$}NotN5tLT05%ID5^+@C zao!SYN`4Dq49rP-ELjMd<1N(RdiL_WN|ni7L&PZUkS*p;^l7)VG@bO!X45rXBa9FU3aqFhE+q&F|CtZs}C`ruO&0$(&D_FQ- zK!)rb2NK*#3a4v?0Z23*Cq4F)b)8w@A!Az?m%o=mjtfpbVhS3(F3ndg403fQa;kSUCoOaWDOn5U#L* zCvx2_%_mUl7}pcKR)UKpOXgvY{S+|rG#-J7PD{HN?z7ecMuN#ItebAjZ22#jC)U1u z1Aw6zR2zV7{`%i5G2x^E#)$09c}b`_hGX2}V4Q;s#kkXZYGTrd-2W)7oe%4%G7(=b z0UMM;Yvhbo!5majwMIo0lm-Zlb2sI3FYWR~F3D0Y875o@+ySfs$UwdRJ>jmtVHCh0 z0Jx{Y^`+O{HXA(lxs)Xh3v;qTS)I4af$_w=?g$B>r*S|XcnlQPe$E9jZpknDx^#So zRJ04(t}))e<`B>K%{uwsntuIzcW}m7=(Zj-bH_HgRLk<}bgOWaJx-yw9d0Tigah)6 zh<1Gs-pI|PqGR~?V^D~m{fo8CO%{x-b0*w50BqAXdq&dUS(LBOJC-l+hVRZy+tx>aMFRAjx38!WG zF6Jhm$Zz??4*^WaDR?<%W$FNY3QCHCl8S#h?HZQMMes7#DfF_KUq54UfG<)^A}f8*0!6FBx_tS*XVkG5 zi&h0QYWl!4MnwnQbm5>ZPrRAl{L$?IN->CFfrK=4M9>k%`xJoCf9`KIS5?Waekt^8 zyXq7BDpWo??Ks|3ynB5>M6hI__C5%%>lg7%XB*G<1}xRm61xv4UQ28#5}HqUb>MQw zj#5;s%6*UcdhEyF4-fu$hpx}PC`?qAvxjHI@+x z773pD$`GjtWb_-oANb3!$e{jHQ#w{P#jzrXd6D;RBq9QZRhZH-!CQycxyvr`dAhYF zu6np0q-6IHc}_G!Nq7=Ny+!rGK$YEZ=^HSOlNw_N+XCz`kfvsk|0(14v= zndPKLK$^(tJzm$ETK{j||IbvN^r>>9CMR~EbTe&xkzanwU-7n8`NXR0yICS%h)X$M zqu|yoCB8@v(^{jfRe^D=@=R2hkTsTI($%FCGW4sDcHe#Po@TP|T>1Wj$JIZ-P?K)} z(7``_xQ*(wlBy>If97aCJoLiDWQLe(9pHUVeSqXI}hCgA{2(#I%yg zCRpukyx5W|XPggMYhjEzTK(e4X60Az)KS2#3XKgby6yT;zsM^`=H%1?X@ZImk$|-p zYU~L(og*t^38l|u?f5y$7Xg4AtZf0{SZiM=qjwptFROlW3)m)=)~_Iy^jl)dd#fMi^t4S!=tMQmR&~eRt@OPd)=nmg%rJnt1(sQh|bS z_S#g-Znt}#CL(|gsB$6!U~Q~&-ok=4KS#xES**iWDRoFG_4MrQ?9b};`VOtNRZ87F zJUo2;+O=z!Tw7hUX3eOz_GV*DT1t7OTCILE+UbeFL<4J71pTBn*cctFq^hncCLvus&rK;;U3}HuFL2o022XVg#|qlY)PB~W2`j>6f9r9JaPQ^@u>NDxm-S~l=_== zI(@3bIzv#*eHq|V+@Fh3n31J<4XR2ZoQFDP<0yr55v|Hw{Lq}4se^>FVSGl}pAnkOHv^dKy>-9!%iT$wwxRYF{ zYD)s7l&T0JI?tASEHK5s5aLa1?UN*21%}l73z^7Uz5yfEEB5A;gifv9T|m3)txBXwn#Shf->d zF~<77|F79>_QqI3KeE=|q?CH`*s)^|4-O8d0DJ_1jH2j-=XnE+F?9UiowYO^+4uc_D3{B%pX-chRNNC*g&7LU zt9ZVri%Li44`;h!jT~?0ESf8Z=aSI#^JbefZD^LrW#inhRZQ5qp`j32-4-XIj zs#5Akt+lP!>yJ!NPw%ML>-r29u3)W&=Xp#iwNgr1i@}sn(P!LYOt_5{JEaahx)F(7 z8$_~TWgXU9xXU*I+{B@QY!F$|K3umR6MO8j|&DTDFCD>D78{$;tFTQ zH3R0v%iLNE%LI73t(75MPtz5&}B)dQQ{TEOe92Em^`%R~9#c#MH?;1{auIl8| zyWSR;KC*F+f2#L%?UvgzhU`a_((AR>WUYm8oUrH9sYP%-II5QSxF-qN45Uj9;N z;Hr&k*LF@u!&rvons+Le$b2&nlbSoRXvx)wM$;@$WYd{|0fYB7lBM%+SNck1P>gL%<8 z-07{kVYA-%aKZ!?5D}8=ZU=?s$GMvt127j8mS-eq&LtrRfXf%QUF~)bC!N79u-3wq zk2Cl)n??VXYxId%-*2Y(T^y77?a`Bec5!t0`K_9Gw`7UA#FkHg$4TV{geO?4C5WY& zk0sj?|8F^!$Je{dHw}2hH@{sUcr0g1$6&36Gq?rZ%j|Y?-QS3r*@f!1WNzC6py2WU zwZ{0xwRGh9*HR-lU0wHQ8O`j2EgcsktZZ_YZEDryKT8AlF>~yvCVKP7my?&ZCfPmK ze*6FVk=L;@RowrByba2(=vd9-CPFVx4RQclXzs{GuymKxfB6da>bJQGD)T{T#|Yf+ z(Mg`j-UDDVR=3(>)S0tr1McycppLzGmCbZ17S-?9mC1VMqFa9@JlqC-YPj8NCz)_R&$u`mOQ&+CF2jo1k zZ`p>8Hki8tumj-UsO6&F&K>4*_YRN>=bJ7FNUgsE%**cPiR?Wwn3M6^IismQC!n2M znccL_!ba7V1Yw+H;mNq>DV%)IS9Im%38$t1{kf~RI^oOT0!6j?q>XWoxi{NYFxAdm zhrqL4V5wF(eV2gya}c?nm9{bts!f6B4#R}iQ~8Y{0`C|>cK8Nmg3{wow&NSInoTzu zg6LcA@UFGp)-P^`tYwKO7AmdLfF-}Z@grf+>O6RxL9#}OTU zX`U1$2}T--Yq4M)mOHTA1J8CLF>pCVy3N<+6DQ@~2lq!aVudFqLYaV<7XT}ydY|}KF0nmj4xnMwN0k$xDW@qBe7J#w~-dnJ51;|?l zbOvAxug4bc^IGuzt$_H20y+o4MYmrRi01A80VHC4ntR@uegFUf07*qoM6N<$f=*D- AhyVZp literal 0 HcmV?d00001 diff --git a/data/themes/img/digit_6.png b/data/themes/img/digit_6.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0af99c3515c9381d5b997a467ce3f7205bb162 GIT binary patch literal 6728 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 literal 0 HcmV?d00001 diff --git a/data/themes/img/digit_9.png b/data/themes/img/digit_9.png new file mode 100644 index 0000000000000000000000000000000000000000..5509c057c63102a25c1bfffbaf227eb367b96c50 GIT binary patch literal 6103 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 literal 0 HcmV?d00001 diff --git a/data/themes/img/digit_am.png b/data/themes/img/digit_am.png new file mode 100644 index 0000000000000000000000000000000000000000..a77956332465f40f0beada50632a1ff7a997ccb2 GIT binary patch literal 1292 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 AssI20 literal 0 HcmV?d00001 diff --git a/data/themes/img/digit_pm.png b/data/themes/img/digit_pm.png new file mode 100644 index 0000000000000000000000000000000000000000..03b731d2a3220abda81901d37bb3f2e94389e222 GIT binary patch literal 1724 zcmV;t21EIYP)H5}yF(s{OoklGVk%CAO4Mp5kqyVX+s47yGhdu;}|DgO2^r25k zAXMN1kSYs`5J)Ye1w>SoLg_XkY3itrku~b zZk+En!$alJFgdtn_-FZ9z`Ba49N`Oq4-^G_`Ie`E0W^?go?8B=f)pG`_h)f&43_fr zZD}w(7__Oehov^dY37=H^eZYR%bYEWTiqHQR6!-_fg;HBb zqXYZ__$Bb6D3=J$Dd4B^g;%E05&nTEjS8wS3I2+B1K=LuUf@X^g{PDM{LZ6Pr}*$U zF9Y8b12qLd2CSDk`DqB%`w6et7m05z5H}Yv>mRtk%D_{=^CIxL2y~CUPbaq)h}W(X zHRe4Vg{OfNz=Oc29XMg5@O0Fe_u|%dl9fvU4*_Gs!*|Z(wp5ip#JNk~Jb(B7Mk5d9 zv%pt{VO2u124L-Gve98PRpM#jIB-DVxQ)W6qsF|a!zS(?p%Y{?qMws{Qzf$N*EZ?4 z;>)i+Vv@+mFO_Y#RrP1Sq`i^)gHDPBcno-5LMY8BcP&+(*is_+%v0Z1L3JF!M&Yrj zF|TykM3pD7omF>R;G|ZS=K(SWEW29qmA|6fYoQ8i3toA=p~L1|)z}XD$tO)Ja zk*zgy=%lNJvQc;}EBwfzlUe?5QQh`2uPW!Y4oWY*H3i_`_ql7una8gIBuoFAwAKvO zvZ$a+Y3`&o!6-Ux(tGD+)qCeuX+HL179;I$cjP=217zMUztFOL^wbs~fi|~yX zELell5hm$c9k*@VY4!g3i-y1d=u1v}5Q#v#kM(Yg5;vvSNppRi){VU?u#K735xTXA zxxMtZO}ZPz-L}9jDdMT{y?p8d-E61VH(ffP1A_RNppPkLd~MBUozi$|w&#>+f` zw4-1abRUIxc+<-fJasL41vjnwamb-T_a6$>OuoHVS_R&~}6_M?|sk)y<3 z@plZ)S`gctx&I>8T8dMTA_pxU7n6(ytcfg.show_seconds)); e_widget_frametable_object_append(of, ob, 0, 6, 1, 1, 1, 1, 0, 0); + + rg = e_widget_radio_group_new(&(cfdata->cfg.show_date)); + ob = e_widget_radio_add(evas, _("No Date"), 0, rg); + e_widget_frametable_object_append(of, ob, 0, 7, 1, 1, 1, 1, 0, 0); + ob = e_widget_radio_add(evas, _("Words"), 1, rg); + e_widget_frametable_object_append(of, ob, 0, 8, 1, 1, 1, 1, 0, 0); + ob = e_widget_radio_add(evas, _("Numbers"), 2, rg); + e_widget_frametable_object_append(of, ob, 0, 9, 1, 1, 1, 1, 0, 0); e_widget_table_object_append(tab, of, 0, 0, 1, 1, 1, 1, 1, 1); diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c index 1a7802d94..7d3a2ce5c 100644 --- a/src/modules/clock/e_mod_main.c +++ b/src/modules/clock/e_mod_main.c @@ -20,7 +20,7 @@ struct _Instance int madj; char year[8]; - char month[32]; + char month[64]; const char *daynames[7]; unsigned char daynums[7][6]; Eina_Bool dayweekends[7][6]; @@ -78,6 +78,35 @@ _clear_timestrs(Instance *inst) } } +static void +_todaystr_eval(Instance *inst, char *buf, int bufsz) +{ + if (!inst->cfg->show_date) + { + buf[0] = 0; + } + else + { + struct timeval timev; + struct tm *tm; + time_t tt; + + tzset(); + gettimeofday(&timev, NULL); + tt = (time_t)(timev.tv_sec); + tm = localtime(&tt); + if (tm) + { + if (inst->cfg->show_date == 1) + strftime(buf, bufsz, "%a, %e %b, %Y", (const struct tm *)tm); + else if (inst->cfg->show_date == 2) + strftime(buf, bufsz, "%a, %x", (const struct tm *)tm); + } + else + buf[0] = 0; + } +} + static void _time_eval(Instance *inst) { @@ -283,16 +312,12 @@ _clock_popup_new(Instance *inst) Evas *evas; Evas_Object *o, *oi; Evas_Coord mw = 128, mh = 128; - char todaystr[32]; - time_t t; - struct tm *tm; - - t = time(NULL); - tm = localtime(&t); - strftime(todaystr, sizeof(todaystr) - 1, "%a, %x", tm); + char todaystr[128]; if (inst->popup) return; + _todaystr_eval(inst, todaystr, sizeof(todaystr) - 1); + inst->madj = 0; _time_eval(inst); @@ -310,6 +335,10 @@ _clock_popup_new(Instance *inst) else e_theme_edje_object_set(oi, "base/theme/modules/clock", "e/modules/clock/main"); + if (inst->cfg->show_date) + edje_object_signal_emit(oi, "e,state,date,on", "e"); + else + edje_object_signal_emit(oi, "e,state,date,off", "e"); if (inst->cfg->digital_24h) edje_object_signal_emit(oi, "e,state,24h,on", "e"); else @@ -434,24 +463,23 @@ e_int_clock_instances_redo(void) { Eina_List *l; Instance *inst; - char todaystr[32]; - time_t t; - struct tm *tm; - - t = time(NULL); - tm = localtime(&t); - strftime(todaystr, sizeof(todaystr) - 1, "%a, %x", tm); + char todaystr[128]; EINA_LIST_FOREACH(clock_instances, l, inst) { Evas_Object *o = inst->o_clock; + _todaystr_eval(inst, todaystr, sizeof(todaystr) - 1); if (inst->cfg->digital_clock) e_theme_edje_object_set(o, "base/theme/modules/clock", "e/modules/clock/digital"); else e_theme_edje_object_set(o, "base/theme/modules/clock", "e/modules/clock/main"); + if (inst->cfg->show_date) + edje_object_signal_emit(o, "e,state,date,on", "e"); + else + edje_object_signal_emit(o, "e,state,date,off", "e"); if (inst->cfg->digital_24h) edje_object_signal_emit(o, "e,state,24h,on", "e"); else @@ -464,7 +492,7 @@ e_int_clock_instances_redo(void) edje_object_part_text_set(o, "e.text.today", todaystr); edje_object_message_signal_process(o); _eval_instance_size(inst); - + if (inst->o_popclock) { o = inst->o_popclock; @@ -475,6 +503,10 @@ e_int_clock_instances_redo(void) else e_theme_edje_object_set(o, "base/theme/modules/clock", "e/modules/clock/main"); + if (inst->cfg->show_date) + edje_object_signal_emit(o, "e,state,date,on", "e"); + else + edje_object_signal_emit(o, "e,state,date,off", "e"); if (inst->cfg->digital_24h) edje_object_signal_emit(o, "e,state,24h,on", "e"); else @@ -591,17 +623,13 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) Evas_Object *o; E_Gadcon_Client *gcc; Instance *inst; - char todaystr[32]; - time_t t; - struct tm *tm; - - t = time(NULL); - tm = localtime(&t); - strftime(todaystr, sizeof(todaystr) - 1, "%a, %x", tm); + char todaystr[128]; inst = E_NEW(Instance, 1); inst->cfg = _conf_item_get(id); + _todaystr_eval(inst, todaystr, sizeof(todaystr) - 1); + o = edje_object_add(gc->evas); edje_object_signal_callback_add(o, "e,state,sizing,changed", "*", _clock_sizing_changed_cb, inst); @@ -611,6 +639,10 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) else e_theme_edje_object_set(o, "base/theme/modules/clock", "e/modules/clock/main"); + if (inst->cfg->show_date) + edje_object_signal_emit(o, "e,state,date,on", "e"); + else + edje_object_signal_emit(o, "e,state,date,off", "e"); if (inst->cfg->digital_24h) edje_object_signal_emit(o, "e,state,24h,on", "e"); else @@ -710,6 +742,7 @@ _conf_item_get(const char *id) ci->digital_clock = 0; ci->digital_24h = 0; ci->show_seconds = 1; + ci->show_date = 0; clock_config->items = eina_list_append(clock_config->items, ci); e_config_save_queue(); @@ -804,6 +837,7 @@ e_modapi_init(E_Module *m) E_CONFIG_VAL(D, T, digital_clock, INT); E_CONFIG_VAL(D, T, digital_24h, INT); E_CONFIG_VAL(D, T, show_seconds, INT); + E_CONFIG_VAL(D, T, show_date, INT); conf_edd = E_CONFIG_DD_NEW("Config", Config); #undef T diff --git a/src/modules/clock/e_mod_main.h b/src/modules/clock/e_mod_main.h index 38f3c988a..d844b589b 100644 --- a/src/modules/clock/e_mod_main.h +++ b/src/modules/clock/e_mod_main.h @@ -30,6 +30,7 @@ struct _Config_Item int digital_clock; int digital_24h; int show_seconds; + int show_date; }; void e_int_config_clock_module(E_Container *con, Config_Item *ci);