diff options
-rwxr-xr-x | file.c | 57 | ||||
-rwxr-xr-x | include/asterisk/file.h | 3 | ||||
-rwxr-xr-x | sounds/vm-Family.gsm | 8 | ||||
-rwxr-xr-x | sounds/vm-Friends.gsm | 4 | ||||
-rwxr-xr-x | sounds/vm-INBOX.gsm | bin | 0 -> 1716 bytes | |||
-rwxr-xr-x | sounds/vm-Old.gsm | bin | 0 -> 1386 bytes | |||
-rwxr-xr-x | sounds/vm-Work.gsm | bin | 0 -> 1485 bytes | |||
-rwxr-xr-x | sounds/vm-and.gsm | 6 | ||||
-rwxr-xr-x | sounds/vm-changeto.gsm | 8 | ||||
-rwxr-xr-x | sounds/vm-delete.gsm | bin | 0 -> 3762 bytes | |||
-rwxr-xr-x | sounds/vm-first.gsm | bin | 0 -> 1617 bytes | |||
-rwxr-xr-x | sounds/vm-for.gsm | bin | 0 -> 1155 bytes | |||
-rwxr-xr-x | sounds/vm-helpexit.gsm | bin | 0 -> 5445 bytes | |||
-rwxr-xr-x | sounds/vm-incorrect.gsm | bin | 2442 -> 3927 bytes | |||
-rwxr-xr-x | sounds/vm-last.gsm | bin | 0 -> 1089 bytes | |||
-rwxr-xr-x | sounds/vm-next.gsm | bin | 0 -> 3993 bytes | |||
-rwxr-xr-x | sounds/vm-onefor.gsm | bin | 0 -> 2178 bytes | |||
-rwxr-xr-x | sounds/vm-opts.gsm | bin | 0 -> 11880 bytes | |||
-rwxr-xr-x | sounds/vm-press.gsm | bin | 0 -> 1089 bytes | |||
-rwxr-xr-x | sounds/vm-prev.gsm | 6 | ||||
-rwxr-xr-x | sounds/vm-repeat.gsm | bin | 0 -> 3465 bytes | |||
-rwxr-xr-x | sounds/vm-saved.gsm | 7 | ||||
-rwxr-xr-x | sounds/vm-savedto.gsm | bin | 0 -> 2013 bytes | |||
-rwxr-xr-x | sounds/vm-savefolder.gsm | bin | 0 -> 4092 bytes | |||
-rwxr-xr-x | sounds/vm-savemessage.gsm | bin | 0 -> 3399 bytes | |||
-rwxr-xr-x | sounds/vm-tocancel.gsm | bin | 0 -> 2607 bytes | |||
-rwxr-xr-x | sounds/vm-toforward.gsm | bin | 0 -> 5313 bytes | |||
-rwxr-xr-x | sounds/vm-undelete.gsm | bin | 0 -> 4092 bytes |
28 files changed, 98 insertions, 1 deletions
@@ -146,7 +146,7 @@ int ast_stopstream(struct ast_channel *tmp) if (!tmp->stream) return 0; tmp->stream->fmt->close(tmp->stream); - if (ast_set_write_format(tmp, tmp->oldwriteformat)) + if (tmp->oldwriteformat && ast_set_write_format(tmp, tmp->oldwriteformat)) ast_log(LOG_WARNING, "Unable to restore format back to %d\n", tmp->oldwriteformat); return 0; } @@ -192,6 +192,45 @@ int ast_writestream(struct ast_filestream *fs, struct ast_frame *f) } } +static int copy(char *infile, char *outfile) +{ + int ifd; + int ofd; + int res; + int len; + char buf[4096]; + if ((ifd = open(infile, O_RDONLY)) < 0) { + ast_log(LOG_WARNING, "Unable to open %s in read-only mode\n", infile); + return -1; + } + if ((ofd = open(outfile, O_WRONLY | O_TRUNC | O_CREAT, 0600)) < 0) { + ast_log(LOG_WARNING, "Unable to open %s in write-only mode\n", outfile); + close(ifd); + return -1; + } + do { + len = read(ifd, buf, sizeof(buf)); + if (len < 0) { + ast_log(LOG_WARNING, "Read failed on %s: %s\n", infile, strerror(errno)); + close(ifd); + close(ofd); + unlink(outfile); + } + if (len) { + res = write(ofd, buf, len); + if (res != len) { + ast_log(LOG_WARNING, "Write failed on %s (%d of %d): %s\n", outfile, res, len, strerror(errno)); + close(ifd); + close(ofd); + unlink(outfile); + } + } + } while(len); + close(ifd); + close(ofd); + return 0; +} + static char *build_filename(char *filename, char *ext) { char *fn; @@ -210,6 +249,7 @@ static char *build_filename(char *filename, char *ext) #define ACTION_DELETE 2 #define ACTION_RENAME 3 #define ACTION_OPEN 4 +#define ACTION_COPY 5 static int ast_filehelper(char *filename, char *filename2, char *fmt, int action) { @@ -265,6 +305,16 @@ static int ast_filehelper(char *filename, char *filename2, char *fmt, int action } else ast_log(LOG_WARNING, "Out of memory\n"); break; + case ACTION_COPY: + nfn = build_filename(filename2, ext); + if (nfn) { + res = copy(fn, nfn); + if (res) + ast_log(LOG_WARNING, "copy(%s,%s) failed: %s\n", fn, nfn, strerror(errno)); + free(nfn); + } else + ast_log(LOG_WARNING, "Out of memory\n"); + break; case ACTION_OPEN: if ((ret < 0) && ((chan->writeformat & f->format))) { ret = open(fn, O_RDONLY); @@ -343,6 +393,11 @@ int ast_filerename(char *filename, char *filename2, char *fmt) return ast_filehelper(filename, filename2, fmt, ACTION_RENAME); } +int ast_filecopy(char *filename, char *filename2, char *fmt) +{ + return ast_filehelper(filename, filename2, fmt, ACTION_COPY); +} + int ast_streamfile(struct ast_channel *chan, char *filename, char *preflang) { /* This is a fairly complex routine. Essentially we should do diff --git a/include/asterisk/file.h b/include/asterisk/file.h index 5e424358b..95c77f6b7 100755 --- a/include/asterisk/file.h +++ b/include/asterisk/file.h @@ -59,6 +59,9 @@ int ast_filerename(char *oldname, char *newname, char *fmt); /* Delete a given file in a given format, or if fmt is NULL, then do so for all */ int ast_filedelete(char *filename, char *fmt); +/* Copy a given file in a given format, or if fmt is NULL, then do so for all */ +int ast_filecopy(char *oldname, char *newname, char *fmt); + /* Wait for a stream to stop or for any one of a given digit to arrive, Returns 0 if the stream finishes, the character if it was interrupted, and -1 on error */ char ast_waitstream(struct ast_channel *c, char *breakon); diff --git a/sounds/vm-Family.gsm b/sounds/vm-Family.gsm new file mode 100755 index 000000000..0e64ea6be --- /dev/null +++ b/sounds/vm-Family.gsm @@ -0,0 +1,8 @@ +جPbDUaȹDAǓHO֝!:QbxmVկƢW@a0v)qJ,[s֜G +AȑaYbo\āil' i`Yd Zl훐ؒndF,~[g"أ5cnf9kFVcG$H<TI
fYנ]Ab5B>a&ށ_Kקơl]Ţxv^Tw&I6עK[VDm`6ӁJ_Ƣ;h6FO~D*NIJأZu<聖`{A$Yi8mXbn E|º\#d扞f6MͽV&ca[DV,&nTO$&SquoRZs +sHFA]u +lpu'eshوuG*rK7'sJԥxGc4LM;$brjsCNHHNW+^vI s*اy;^ +D{qLJhqF8Gr4{'nqj$Hqf'p($():֢rr +I$F.zƳ[~X(fAžs#gܐc#dnM|ߣ!sMs|(#q$i{[̺ESq.q;W"l,jqC( qDS`ٮq䕹$qcOZ$Ƨwg=9Zq:뮉#aq&mq&eJcGV%2(֠;tsM
UsS:0qe +8"d<sώ%.DvsPܕFgf"ZbJmȥʘnUOtɘeasJE1 +[L:"5]pkG4pUG#kؘSscs/I#Dgqh#asZxk\p
D=:#"QM&ufq@ub:1+ʭTi7.sYlŃs!F*sAĹYzK,{aq"L J#܁{'\PkVX۵U
CSe,FL74c6u@ztaR"ٞ*abdʠ%[tY֢Q=aP#g 9$r@Fm Fm
\ No newline at end of file diff --git a/sounds/vm-Friends.gsm b/sounds/vm-Friends.gsm new file mode 100755 index 000000000..45ea8b7da --- /dev/null +++ b/sounds/vm-Friends.gsm @@ -0,0 +1,4 @@ +)`PC[uo[ԝH-^,ebhע[UCiۘks jGlM֜ٶ3]AyqBӒ8alՆ[/[7#B5RiZ="I[q֘qy6Zt婽df-ptYUVZkkQ#baH9P$V#˛ށCVB$[U"HKPٚږA\)+v5#֫UsEAm̡.dK<:Hܔ%DNz)SZ7dkSf'aZ +ܚhXfwIuhHC!U_MR3+9R"`k5A]עa!^kضtRe}pȁk{NHZm&`iΡYRTX+vf,h:V\᪡*ؒ.!$t@ݞP]ס(dam`ƺ5at霭Yߜ-[(EX栒J.qr.čqBޢ ^"lҠޢ&vTG}u"nngGEm]إv +6Ԟm%8`ֲ~DT*EN"ѷcZBe4_[Rlq^uٛtsd!ɯLPWqiWf8presuDmr|Ǫsq軰qbsu3֯rfsE+A}s6'Bs2qHR/iVsQsk/%s<T.Ƚ צ+[sBdq)(4ts㖭 6-Fs(ؐ<qEbqȫd碑ql4HҝlFIf"X8$q'|qGQo +zr3o&=U"oG3֢b<f/zH:DدE0s( k!;H6#e6ڤ1tרd:ϐ֞DmBOm#BkH\DdT&tmiD+l4q6ڥYqU$Ib`m"'_T,o¨2[o[jB{^Mܣn\8eUaޢ`ۍ}[clBvusr[9t[qLebP$jȔNzOo#L+q$VOp(RPviU Zٮml6i2_Zñ-q{mփ4l㭑OYֵX"DfT[|²#lym˞骈W#;(_zܢҁV&qi2*Jv19̘ոzbZҁRAyס#d;6Yԁl"]e\za:Y$T@[.$| K%K$ K%Id
\ No newline at end of file diff --git a/sounds/vm-INBOX.gsm b/sounds/vm-INBOX.gsm Binary files differnew file mode 100755 index 000000000..d1984cdf4 --- /dev/null +++ b/sounds/vm-INBOX.gsm diff --git a/sounds/vm-Old.gsm b/sounds/vm-Old.gsm Binary files differnew file mode 100755 index 000000000..dd6704d38 --- /dev/null +++ b/sounds/vm-Old.gsm diff --git a/sounds/vm-Work.gsm b/sounds/vm-Work.gsm Binary files differnew file mode 100755 index 000000000..38c2f7563 --- /dev/null +++ b/sounds/vm-Work.gsm diff --git a/sounds/vm-and.gsm b/sounds/vm-and.gsm new file mode 100755 index 000000000..1e248eb57 --- /dev/null +++ b/sounds/vm-and.gsm @@ -0,0 +1,6 @@ +ҐrPIkXb +-HX"C
6D&gКh9cCJ⮈B$00҆n'+Z!b][b,һbaӍT3іT`Ք<gR1K{##Eՙ#"N6{ǻ#s+`Fuى[E]/[DyGBu)W͙@חiQ}*dʊ9l:ө̿sݩKF`aYX1)g;_Z#@UWXB0ٍeڢ<܇RuvX[Ӵᤢ5 +29wbx+aUQk,q[+)ܕj8뼢D$X
%xtݥ]:ڣU\Uj\фc~/]oki\jˋbQeDU+AlU-ƗaYlfpj4{F7\f6G|QԡzoZbZRO4W5}^4ݰ#{H~fnGҁ\XޣaZaʧgʴf4&\v&ZF\&O[w&]";=>ؠXfNLz2h
3T?ےц8+ZInQr/=QYwdb*37[K"ZAB)(:Rwc4¥`E"סUyCe"dn/beJ0T_ +j¥$TH? +5:ATR1kN¬m6v>B +/wbzSoyۃiZs[$AuTtwPNj$Z~M`eC:ґWjkҥ!"UgQ] 9ݤ?*S9gpV&gi/iDʒi-RngHˑDi:g2r5s3ύ(
C`gA#iƛ~.u֞s:gQώ'du[ip&wgi [676rϓۑg5,i1( !qȓ\ ztvli&gQSjƌQoc4gȜq{.k1q7iQ-SkK#D`c{jkmjſkz.ȩױ^6mSh,$&m\Hͮr&mRG,E$P6ڮj#29PjLP{#쵩oo8m Ԥy|խoi2 q+Vm7?to[*ʕnE4¥GN[jңznߛF)[%];-܆n$&lǿQQ"؆7ڦBrU5m$O8$"}2k&GJmC% mnG `3ïsŇ5̌jEy$k0(_܋c܄NnZ
4pg`ΫIu6`{"4{:cd%!dr:l.Tݓ܋v[BP[Щ8+Ԟbig9N%iDCǧkCS ehԤuh_ͳDܭ~-#BnJ,ƗUĦ8jWb5\p%֜©,~C֛XάҡYc]Zp6ѤԢ acAeBG+bZe:`vS<T}"ԭۑY7YuE$jKѧ$jeנXSV=֛!~-@obHbaIAYʢm5;BUO* vI$
\ No newline at end of file diff --git a/sounds/vm-changeto.gsm b/sounds/vm-changeto.gsm new file mode 100755 index 000000000..49963634b --- /dev/null +++ b/sounds/vm-changeto.gsm @@ -0,0 +1,8 @@ +6PiIT#n7kJb(G`rA["ӴìYnIi_ajIքb(r}YbrQٟ!"j*bLx!/Kur![deV5㪢cS:}!
J5S[˘TT}wDvh[v(&d))Z&%f#_2"C㱙bA+٠aȢop$ՂJKzYc(ʃם nKD@xb1qמzRƔڣHR}3ƢGSk(]dLg8Uee(X+۩)ȥR5oW];Il-\GzIjm43zgsBD%t%W4pjaԨ# +2"8N?iܢ-4bI켮"Pn[[OvMrxO9jZ[Q`p]kĨ[Go3j[8feeiJ{[N8[
Sk$MӘun][3ͷ"_Zo#- +xY仡湳ibVn[[YJ)?f\ k9Kܑ+VTrӰn[Y(KI8Z1nW Uj*quBi&tRECUe^m&a~1$ᒧ(Y ֫Ul9CTٕIj;/V}=FTĔ_]飭XJEg_dhCa1ܢ'q*` -+T'甥4-,m7zЏSԴ5Mi)ڰJ0ϛ:pZ-s{~jfg>3eE
Vrc0. +UmP߭ި)gcQISͩ
WZ9`
c)[]dZj]dwZƢAYULnKoZer٧X9$Xrn\YulElVԝb%b¨g!tb(yb\#诜MGϵ·Rb嗓t&\g#&DƥGmL%5V&eVKaaWcFCFc|ju2ai-6:ha^b(`sbVaCR$_i_iE-Vzvנj]-N]n;nF]ʩcS8]x̜#Z&4]ܪ(g]LV\xp2DIuYU)'Z͢l;BĨsI9;\ ͩdgzc\SӸز`aF_'OkflaYyO[Y֘o8N]Zgi→BGoYdߒdK&jKk9JMf5)@SiI$@e)\JUZ:-ĎjS&r0A>h Һa,)2䧷ocf]$[ڪlr.lÅyEbU!qFR9)؋;3EuKƢYzȸnKhQnN9XI"mʚfm$&Yw\7fWh^Q,Z['vB![ӤWF:p۱(xY ++f; ӣW(F&W%WBI.|W>ړ;ӤW#ʺϭhUE?+ +-ԠXW$]2t&KJXc.K`GYcDNhWB5&"/B̐ȃ:^Y2 ݬTln{%t!bɷC5@Du:כ\yŧx$q*?U<8QK>؎t---'(ia|5\4^!k1qlA6+ߌrՑ#
E,©#j3`yaF!P=QhPu +{$&rl+p7KFv8h[-$ģ3Z֧idhA@%EgmyH$ۧ'fXdqj(#0'-ISc?$*YPHzB˖F(/\#iTҀFVǵ#6Gb"XUPS5<#+; +r*nuȕcZWnV%2Sגd٭]٦lލX\?bŻm%lFsY$GeD0О5 m݊ٔd㝳Ԃ'q7C!Ir*{d"eTQԂFڞ'+;Hޝ+_YjT4ޭ`xƉ
\ No newline at end of file diff --git a/sounds/vm-delete.gsm b/sounds/vm-delete.gsm Binary files differnew file mode 100755 index 000000000..ba15d85b7 --- /dev/null +++ b/sounds/vm-delete.gsm diff --git a/sounds/vm-first.gsm b/sounds/vm-first.gsm Binary files differnew file mode 100755 index 000000000..795ed9add --- /dev/null +++ b/sounds/vm-first.gsm diff --git a/sounds/vm-for.gsm b/sounds/vm-for.gsm Binary files differnew file mode 100755 index 000000000..0f5881379 --- /dev/null +++ b/sounds/vm-for.gsm diff --git a/sounds/vm-helpexit.gsm b/sounds/vm-helpexit.gsm Binary files differnew file mode 100755 index 000000000..ecce17422 --- /dev/null +++ b/sounds/vm-helpexit.gsm diff --git a/sounds/vm-incorrect.gsm b/sounds/vm-incorrect.gsm Binary files differindex 486a9b8b4..8b78becf3 100755 --- a/sounds/vm-incorrect.gsm +++ b/sounds/vm-incorrect.gsm diff --git a/sounds/vm-last.gsm b/sounds/vm-last.gsm Binary files differnew file mode 100755 index 000000000..5fe7b7f51 --- /dev/null +++ b/sounds/vm-last.gsm diff --git a/sounds/vm-next.gsm b/sounds/vm-next.gsm Binary files differnew file mode 100755 index 000000000..7786bf6ff --- /dev/null +++ b/sounds/vm-next.gsm diff --git a/sounds/vm-onefor.gsm b/sounds/vm-onefor.gsm Binary files differnew file mode 100755 index 000000000..71b9c65d8 --- /dev/null +++ b/sounds/vm-onefor.gsm diff --git a/sounds/vm-opts.gsm b/sounds/vm-opts.gsm Binary files differnew file mode 100755 index 000000000..3e9006dfc --- /dev/null +++ b/sounds/vm-opts.gsm diff --git a/sounds/vm-press.gsm b/sounds/vm-press.gsm Binary files differnew file mode 100755 index 000000000..35507909f --- /dev/null +++ b/sounds/vm-press.gsm diff --git a/sounds/vm-prev.gsm b/sounds/vm-prev.gsm new file mode 100755 index 000000000..de964a73c --- /dev/null +++ b/sounds/vm-prev.gsm @@ -0,0 +1,6 @@ +ibP&GD,uꦄv2P)so(Dلס*RJa4e`\Ă!Кޛ بzg\ơJ%2ځ*\\a!b25_Xґ$ew[H-#;[6ʒwxbfkP\̤>bBjB 8݃Y"sw}ˡzآE <d]ם`3mR|ⰒUBb6B9ۊa6lU-5k9"飒daے32/dJ)aZ_JjX^\ܡ<iG$uNЋ ڜVKeCҲA$bЁ:TM¡lbWRGSߛآtuZUSlۺ2ښ5fYԒu^"3ɽp+i9Y)ۜзbH%Ѓތ={V:Xu!%mP6c$-ӼfGœm(ɠIXbgQȃuKܳ0֫%^aǦY]&ni7UJ4a7D7l]ō+$eel6jdž)(foɨMٚ:Pg(bH(fWGVRGՠ7(P(7s8,IanjjJɤ+GBզm9b}e +j̻Iqhm[Qʛ%{VBDxY#[ɚ_PN'),Zv'm"JdɨZ mundo圄v;l^wnE9Q̖i(1K9-&5
%v "¹ս ]c%\FCF:zݜȾ7\اR;R`;¬ہ\گtץz¨$a)$ВTӱ5إˬ^.Lkc&-ΡcA5}!Ycw)a*fTQN=k ]CJo:Y`^rʎXufȸXҫRG4DHDnzlYD yȜ3K=ld :JWe$>[IW/]Vm$C=`O)˥8cUU̔5ү-ScT-bC <jUd\[#U&C$[0eBψfUС5UVQWC)\WxWp9ViWft;Y&+5Yedp['_h})%_Pk{a%T:~7 %g):Vԩ:j65q(k)H1o(eʇl/yx%sfbfsJsk0yִE+!u♢muEdRmb&.'ꤹ|6NzB5alބ)2Xv +s3]ףdu/4͔nrŨ6օ9 [Ds\c#$6L"nM5cvW`ȣٵrv'aDj].&a'1/,bncpÉn!턣+&CgYY¥JFHPO,gY&[^ťZe&JoH76K"^gDrh)fTԐ0o&G"mZ辧.8߃r$:&1Cʥݱ[tQ6a^`y{A<QhQTOm5T!G~v\"5kϛ5u8ܒQ'j8a+sŤBsh=.)FW/թiw%etAzZxz-GuڥU;ԟn,"y B'Qx,쁺EVaBlUtgP'r,1"&_cf.jMJp4Բ'$f&Y77AjKIIr,#MImCrƣVJ~a"nCdGy"0QJ#!ymxȢ#Rw2iFI}Q]xb4RWɭ
Y_)eS%fm_KHq(fhf_,qF#y_%/3#hF]E(sF4kB`qW[(YG`ǎRվ[FKbW5Jڰ(r'ž-\ocZ_*a%lV]caZ쪶16Cg_CGO-Ȣ#iܼ+KJta!kbA!hbheGe#\+_E'!Y~dK=V߂Rdm'*kUZ*ivMg*td!w'.vƥ̅ڞyi#V}I<,7ZvH$5~#*kٜqf@ܖȗiȆQ-7Xevqiq7gRu&TYhV&hѷ XXۍX$2ZŌפyٵ8*D܍k%yb.(%yEn,S%hHPi^Gjdnj.Y~+ިic1;AlKحnlFx=Xּi?\+D]1)ڒ烽+fX͞Έ7#@$4He*;=ɢúrz] Q8u'z`+lŲn s"ʹG6~1~ՠjcQgkzQ⠣8ӎ(U +"d=iͯEEqD&<@ W\vQjRfwv XؑMA#R8Ȫq2hYԩv]IՋJI[HتpدeFU5֩-9iv͆m$w&FKZ'Z<CF)!Dej'؛g*֤]~u;oaFTتiYFRtZ +LނS(DhmڨD`PSf-^~h'3櫮[+YZꈦ*nfX iI')`ze$Ȼ8dr֓F%tMGrݴbu$B+^*kʣۘCe^ck&DY,{e#
rr6&fw&B5ߠ7w婙i>w#~*f[CZݩw).1)hЧwc^D;7{]Y|#<*WDKsB2aVi#k#Kء2TY%䉨⡵u`YĞBG&ؚYpVIFh'$nWЁhdli)m!wAb%JoE\5[ag79h!Z鉨tFt%#ݶcPMԤ,#JQ +쎅+vҪʢNI#']}bXLԔIpCJ.[&CvdB:pZa7MiqRW0aUp4j$%~v])EZ&ٟ]aZQBlTǝ桫=㘢""$סiajA8Yh*TTh$"נek䝒[n9oSoOLKvb!fᲃiۼHhZ<s&ס%#e䁰6mV:fYA$&-"V&v;ӮJٜ6u& ӓ&Ρӎ窡GTECZ2`ZWu)S-NMPJdX'AfHtPY 1Qsa0])gY`CoaؠaZێtǛ
lڍݛ"+{l!eKdU@4Y#
\ No newline at end of file diff --git a/sounds/vm-repeat.gsm b/sounds/vm-repeat.gsm Binary files differnew file mode 100755 index 000000000..b1b62aa7b --- /dev/null +++ b/sounds/vm-repeat.gsm diff --git a/sounds/vm-saved.gsm b/sounds/vm-saved.gsm new file mode 100755 index 000000000..04f3656e0 --- /dev/null +++ b/sounds/vm-saved.gsm @@ -0,0 +1,7 @@ +ܙP)~XU{CH̀R#`4r˔T +#!ʶMu-IWڢdK~j+BT&,iU83mցTybcN1BQ&P
:SoyZk6g"lj2S%NmyWvcA=E\ඡHRيP"G6.H'ZBb*$쁒o2֛YH*^8k"FXA.T[YcQo³5tY>f^@fC6Jڂ\SPAe{<&XæjXǃ8&uGlj'
),,ng$-6<٩@Љ_K/wl~V2)cg,4d`ؘ$.:moVOv1eoʈ %PnM~~;Jϒ%٭aHr%=X1òx6e( c5RZU &Ѯ{:3QJ٨k~kfk"ŨxLjcj,XCYHꚲ!"S ^:r5,zX%ctU%L`T!r~ZI hm.X_THܴJa*{ipsi#kkgźgt9dԡi'$Ae46og4 c3*iؔbcl3:3
is6۱m[I8Sf4qsi98kSTmkM]dFY8DV {6mTmpr&j}ޯRpovUU֠[|R)$qQG$NDN,r9Ruq7>"Stp'hqQ\yν{N(עC2{nG_lF&wof$CrN&ORēF.;7eD#J7=NXV܉2omԌWl +aJ>}-JH + jS8mIpvC:$UۊK4y/; b.-ĸdlt9#f[Xv! asbܢ!# +{5"6qƣy٬Z +Z[s)|Txvu)KUqۢabVCچ(#|#T"ȍ(]"Nj5`%)RQhmS%p:ZcJy52],ȩ܂ybaIeXΪVPtU%٩r]oLb+sd/7G=[QU#U&Xݪ:4toأbxETrD~GHerGnS:7{·0ؠ¥VZiH&LBZYQuC4(R6v +쾁ӜM[Ң8n%B&&w!Y)*h؞!ba"Qj#kxlzFEjפˡ[^? ez̒c9c%b~mHߊDb[ӷ\Hi8lǤ(>ށĦ_ZcԊ"w N")2ɿ#(Qޢy!\lThosA]3S$IWb9ҵAן*עXR)"to!=TOB(mZRP"ta%TttgB.ܠT0؉FzURdQ-Ll┑B[ԖY +PIVjWd'*n5 m
\ No newline at end of file diff --git a/sounds/vm-savedto.gsm b/sounds/vm-savedto.gsm Binary files differnew file mode 100755 index 000000000..00e96cae8 --- /dev/null +++ b/sounds/vm-savedto.gsm diff --git a/sounds/vm-savefolder.gsm b/sounds/vm-savefolder.gsm Binary files differnew file mode 100755 index 000000000..dbc9d072f --- /dev/null +++ b/sounds/vm-savefolder.gsm diff --git a/sounds/vm-savemessage.gsm b/sounds/vm-savemessage.gsm Binary files differnew file mode 100755 index 000000000..7d06542e1 --- /dev/null +++ b/sounds/vm-savemessage.gsm diff --git a/sounds/vm-tocancel.gsm b/sounds/vm-tocancel.gsm Binary files differnew file mode 100755 index 000000000..a53289ac4 --- /dev/null +++ b/sounds/vm-tocancel.gsm diff --git a/sounds/vm-toforward.gsm b/sounds/vm-toforward.gsm Binary files differnew file mode 100755 index 000000000..627d52eec --- /dev/null +++ b/sounds/vm-toforward.gsm diff --git a/sounds/vm-undelete.gsm b/sounds/vm-undelete.gsm Binary files differnew file mode 100755 index 000000000..7496f0647 --- /dev/null +++ b/sounds/vm-undelete.gsm |