From 73c7f31db7781406868b3b13f0a7525b1459710f Mon Sep 17 00:00:00 2001 From: Eric Lassauge Date: Mon, 5 Jun 2017 13:39:23 +0200 Subject: [PATCH] release_2.879-FR --- AntiVirus.cc | 4 + IniDBBuilderPackage.cc | 6 + LogFile.cc | 5 + Makefile.am | 5 +- PickView.cc | 53 +++++ bootstrap.sh | 4 +- check-nd.bmp | Bin 0 -> 106 bytes choose.cc | 16 ++ crypto.cc | 51 ++++- cygpackage.cc | 10 + cygwin-setup_fr.ico | Bin 0 -> 65847 bytes cygwin-terminal_fr.ico | Bin 0 -> 55052 bytes cygwin_fr.ico | Bin 0 -> 56020 bytes desktop.cc | 15 ++ download.cc | 4 + geturl.cc | 20 ++ ini.cc | 24 +++ install.cc | 111 ++++++++++ localdir.cc | 4 + main.cc | 22 ++ msg.cc | 4 + net.cc | 4 + nio-file.cc | 4 + nio-http.cc | 7 + nio-ie5.cc | 4 + package_message.h | 5 + package_meta.cc | 39 ++++ postinstall.cc | 4 + prereq.cc | 16 ++ propsheet.cc | 5 + res.rc | 573 ++++++++++++++++++++++++++++++++++++++++++++++++- resource.h | 5 + root.cc | 22 ++ sec-pubkey.h | 14 ++ site.cc | 11 + source.cc | 5 + splash.cc | 16 ++ threebar.cc | 11 + 38 files changed, 1087 insertions(+), 16 deletions(-) create mode 100644 check-nd.bmp create mode 100644 cygwin-setup_fr.ico create mode 100644 cygwin-terminal_fr.ico create mode 100644 cygwin_fr.ico create mode 100644 sec-pubkey.h diff --git a/AntiVirus.cc b/AntiVirus.cc index 876eb02..46bcc74 100644 --- a/AntiVirus.cc +++ b/AntiVirus.cc @@ -31,7 +31,11 @@ /* XXX: Split this into observer and model classes */ /* Default is to leave well enough alone */ +#ifdef LANG_FR +static BoolOption DisableVirusOption (false, 'A', "disable-buggy-antivirus", "Inhibe les anti-virus buggés à l'exécution."); +#else static BoolOption DisableVirusOption (false, 'A', "disable-buggy-antivirus", "Disable known or suspected buggy anti virus software packages during execution."); +#endif static bool KnownAVIsPresent = false; static bool AVRunning = true; diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc index ad1cc88..aecb0d8 100644 --- a/IniDBBuilderPackage.cc +++ b/IniDBBuilderPackage.cc @@ -56,9 +56,15 @@ IniDBBuilderPackage::buildVersion (const std::string& aVersion) { char old_vers[256]; snprintf (old_vers, sizeof old_vers, +#ifdef LANG_FR + "Ce fichier ini correspond à une version plus récente de setup-FR-%s.exe. " + "Si vous avez des problèmes lors de l'installation, téléchargez " + "la dernière version depuis http://lassauge.free.fr/cygwin/setup-FR-%s.exe", +#else "The current ini file is from a newer version of setup-%s.exe. " "If you have any trouble installing, please download a fresh " "version from http://www.cygwin.com/setup-%s.exe", +#endif is_64bit ? "x86_64" : "x86", is_64bit ? "x86_64" : "x86"); _feedback.warning(old_vers); diff --git a/LogFile.cc b/LogFile.cc index 6590023..469b65b 100644 --- a/LogFile.cc +++ b/LogFile.cc @@ -33,8 +33,13 @@ #include "String++.h" #include "getopt++/BoolOption.h" +#ifdef LANG_FR +static BoolOption VerboseOutput (false, 'v', "verbose", + "Affichages verbeux"); +#else static BoolOption VerboseOutput (false, 'v', "verbose", "Verbose output"); +#endif using namespace std; diff --git a/Makefile.am b/Makefile.am index d4c8472..8cb0ee2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -128,6 +128,7 @@ inilint_SOURCES = \ crypto.cc \ crypto.h \ cyg-pubkey.h \ + sec-pubkey.h \ cygpackage.cc \ cygpackage.h \ desktop.cc \ @@ -273,7 +274,7 @@ inilint_SOURCES = \ csu_util/version_compare.cc \ csu_util/version_compare.h -GITVER := $(shell cd $(srcdir) && git describe --match release_\* --abbrev=6 --dirty || "N/A") +GITVER := $(shell cd $(srcdir) && git describe --match release_\* --abbrev=6 --dirty || echo "N/A") VER := $(subst release_,,$(GITVER)) ARCH := @ARCH@ @@ -288,7 +289,7 @@ setup_version.c : Makefile res.o: @SETUP@.exe.manifest .rc.o: - $(AM_V_GEN)$(WINDRES) --include-dir $(srcdir) -o $@ $< + $(AM_V_GEN)$(WINDRES) -DLANG_FR --include-dir $(srcdir) -o $@ $< setup-src: @ver=setup-$(VER);\ diff --git a/PickView.cc b/PickView.cc index 222bcb8..1bed491 100644 --- a/PickView.cc +++ b/PickView.cc @@ -30,6 +30,30 @@ using namespace std; +#ifdef LANG_FR +static PickView::Header pkg_headers[] = { + {"Actuel", 0, 0, true}, + {"Nouveau", 0, 0, true}, + {"Bin?", 0, 0, false}, + {"Src?", 0, 0, false}, + {"Catégories", 0, 0, true}, + {"Taille", 0, 0, true}, + {"Paquet", 0, 0, true}, + {0, 0, 0, false} +}; + +static PickView::Header cat_headers[] = { + {"Catégorie", 0, 0, true}, + {"Actuel", 0, 0, true}, + {"Nouveau", 0, 0, true}, + {"Bin?", 0, 0, false}, + {"Src?", 0, 0, false}, + {"Taille", 0, 0, true}, + {"Paquet", 0, 0, true}, + {0, 0, 0, false} +}; + +#else static PickView::Header pkg_headers[] = { {"Current", 0, 0, true}, {"New", 0, 0, true}, @@ -51,6 +75,7 @@ static PickView::Header cat_headers[] = { {"Package", 0, 0, true}, {0, 0, 0, false} }; +#endif ATOM PickView::WindowClassAtom = 0; @@ -229,6 +254,20 @@ PickView::mode_caption (views mode) { switch (mode) { +#ifdef LANG_FR + case views::PackageFull: + return "Tout"; + case views::PackagePending: + return "En attente"; + case views::PackageKeeps: + return "À jour"; + case views::PackageSkips: + return "Non installé"; + case views::PackageUserPicked: + return "Choisi"; + case views::Category: + return "Categorie"; +#else case views::PackageFull: return "Full"; case views::PackagePending: @@ -241,6 +280,7 @@ PickView::mode_caption (views mode) return "Picked"; case views::Category: return "Category"; +#endif default: return ""; } @@ -477,8 +517,13 @@ PickView::init_headers (HDC dc) } // ensure that the new_col is wide enough for all the labels +#ifdef LANG_FR + const char *captions[] = { "Désinstalle", "Passe", "Réinstalle", "Récupère", + "Source", "Garde", NULL }; +#else const char *captions[] = { "Uninstall", "Skip", "Reinstall", "Retrieve", "Source", "Keep", NULL }; +#endif for (int i = 0; captions[i]; i++) note_width (headers, dc, captions[i], HMARGIN + SPIN_WIDTH, new_col); @@ -877,9 +922,17 @@ PickView::paint (HWND hwnd) if (contents.itemcount () == 0) { +#ifdef LANG_FR + static const char *msg = "Rien à Installer/Mettre à jour"; +#else static const char *msg = "Nothing to Install/Update"; +#endif if (source == IDC_SOURCE_DOWNLOAD) +#ifdef LANG_FR + msg = "Rien à télécharger"; +#else msg = "Nothing to Download"; +#endif TextOut (hdc, x + HMARGIN, y, msg, strlen (msg)); } diff --git a/bootstrap.sh b/bootstrap.sh index f21206d..e48c17d 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -62,7 +62,7 @@ else exit 1 fi -echo "running configure" -$srcdir/configure -C --build=$build --host=$host "$@" +echo "configure to be run in the build dir" +#$srcdir/configure -C --build=$build --host=$host "$@" exit $? diff --git a/check-nd.bmp b/check-nd.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a5d3aa668b55cd0c06ab54e92875135d066f5484 GIT binary patch literal 106 zcmZ?r&0>H6J0PV2#N1HK$iN7e&;gQ1_#hZ8044ta|IhIM0RzK#D9(0ZV906!;sX#Y O&A`C$7sv)-kU9YVDitpP literal 0 HcmV?d00001 diff --git a/choose.cc b/choose.cc index 1bc4c0b..c5f7d15 100644 --- a/choose.cc +++ b/choose.cc @@ -58,11 +58,19 @@ #include "UserSettings.h" #include "getopt++/BoolOption.h" +#ifdef LANG_FR +static BoolOption UpgradeAlsoOption (false, 'g', "upgrade-also", "Mettre à jour les paquets installés"); +static BoolOption CleanOrphansOption (false, 'o', "delete-orphans", "Supprimer les paquets orphelins"); +static BoolOption ForceCurrentOption (false, 'f', "force-current", "Choisir la version courante pour tous les paquets"); +static BoolOption PruneInstallOption (false, 'Y', "prune-install", "Vider l'installation pour n'avoir que les paquets demandés"); +static BoolOption MirrorOption (false, 'm', "mirror-mode", "Ne pas faire les contrôles de disponibilité lors de l'installation depuis un dossier local (il faut que ce dossier soit un vrai miroir !"); +#else static BoolOption UpgradeAlsoOption (false, 'g', "upgrade-also", "also upgrade installed packages"); static BoolOption CleanOrphansOption (false, 'o', "delete-orphans", "remove orphaned packages"); static BoolOption ForceCurrentOption (false, 'f', "force-current", "select the current version for all packages"); static BoolOption PruneInstallOption (false, 'Y', "prune-install", "prune the installation to only the requested packages"); static BoolOption MirrorOption (false, 'm', "mirror-mode", "Skip availability check when installing from local directory (requires local directory to be clean mirror!)"); +#endif using namespace std; @@ -284,9 +292,17 @@ ChooserPage::OnInit () ClearBusy (); if (source == IDC_SOURCE_DOWNLOAD) +#ifndef LANG_FR setPrompt("Select packages to download "); +#else + setPrompt("Sélectionnez les paquets à télécharger "); +#endif else +#ifndef LANG_FR setPrompt("Select packages to install "); +#else + setPrompt("Sélectionnez les paquets à installer "); +#endif createListview (); AddTooltip (IDC_CHOOSE_KEEP, IDS_TRUSTKEEP_TOOLTIP); diff --git a/crypto.cc b/crypto.cc index a606283..bda1a1a 100644 --- a/crypto.cc +++ b/crypto.cc @@ -31,6 +31,7 @@ #include "geturl.h" #define CRYPTODEBUGGING (0) +#define SECONDKEY (1) #if CRYPTODEBUGGING #define ERRKIND __asm__ __volatile__ (".byte 0xcc"); note @@ -41,6 +42,18 @@ #endif /* CRYPTODEBUGGING */ /* Command-line options for specifying and controlling extra keys. */ +#ifdef LANG_FR +static StringArrayOption ExtraKeyOption ('K', "pubkey", + "URL d'une clé publique supplémentaire (format gpg)"); + +static StringArrayOption SexprExtraKeyOption ('S', "sexpr-pubkey", + "Clé publique supplémentaire au format s-expr"); + +static BoolOption UntrustedKeysOption (false, 'u', "untrusted-keys", + "Utiliser les clés non-fiables du fichier last-extrakeys"); +static BoolOption KeepUntrustedKeysOption (false, 'U', "keep-untrusted-keys", + "Utiliser les clés non-fiables et les garder"); +#else static StringArrayOption ExtraKeyOption ('K', "pubkey", "URL of extra public key file (gpg format)"); @@ -51,12 +64,20 @@ static BoolOption UntrustedKeysOption (false, 'u', "untrusted-keys", "Use untrusted keys from last-extrakeys"); static BoolOption KeepUntrustedKeysOption (false, 'U', "keep-untrusted-keys", "Use untrusted keys and retain all"); +#endif /* Embedded public half of Cygwin DSA signing key. */ static const char *cygwin_pubkey_sexpr = #include "cyg-pubkey.h" ; +#if SECONDKEY +/* Embedded public half of second DSA signing key. */ +static const char *second_pubkey_sexpr = +#include "sec-pubkey.h" +; +#endif + /* S-expr template for DSA pubkey. */ static const char *dsa_pubkey_templ = "(public-key (dsa (p %m) (q %m) (g %m) (y %m)))"; @@ -433,6 +454,9 @@ verify_ini_file_sig (io_stream *ini_file, io_stream *ini_sig_file, HWND owner) { /* DSA public key in s-expr format. */ gcry_sexp_t dsa_key; +#if SECONDKEY + gcry_sexp_t dsa_key_second; +#endif /* Data returned from packet walker. */ struct sig_data sigdat; @@ -463,9 +487,23 @@ verify_ini_file_sig (io_stream *ini_file, io_stream *ini_sig_file, HWND owner) #if CRYPTODEBUGGING char sexprbuf[GPG_KEY_SEXPR_BUF_SIZE]; n = gcry_sexp_sprint (dsa_key, GCRYSEXP_FMT_ADVANCED, sexprbuf, GPG_KEY_SEXPR_BUF_SIZE); - msg ("key:%d\n'%s'", n, sexprbuf); + msg ("key0:%d\n'%s'", n, sexprbuf); #endif /* CRYPTODEBUGGING */ +#if SECONDKEY + /* Next build the second built-in key. */ + rv = gcry_sexp_new (&dsa_key_second, second_pubkey_sexpr, strlen (second_pubkey_sexpr), 1); + if (rv != GPG_ERR_NO_ERROR) + { + ERRKIND (owner, IDS_CRYPTO_ERROR, rv, "while creating second pubkey s-expr."); + } + + #if CRYPTODEBUGGING + n = gcry_sexp_sprint (dsa_key_second, GCRYSEXP_FMT_ADVANCED, sexprbuf, GPG_KEY_SEXPR_BUF_SIZE); + msg ("key1:%d\n'%s'", n, sexprbuf); + #endif /* CRYPTODEBUGGING */ +#endif + /* Next we should extract the keys from the last-extrakeys file, and flush it; we'll only return them to it if they get used. OTOH, should we do this at all? The extrakeys @@ -628,6 +666,14 @@ verify_ini_file_sig (io_stream *ini_file, io_stream *ini_sig_file, HWND owner) // Well, we're actually there! Try it against the main key. rv = gcry_pk_verify (dsa_sig, dsa_hash, dsa_key); +#if SECONDKEY + // And now try it against the second key. + if (rv != GPG_ERR_NO_ERROR) + { + MESSAGE ("Testing second pubkey\n"); + rv = gcry_pk_verify (dsa_sig, dsa_hash, dsa_key_second); + } +#endif // If not that, try any supplied on the commandline. if (rv != GPG_ERR_NO_ERROR) { @@ -676,6 +722,9 @@ verify_ini_file_sig (io_stream *ini_file, io_stream *ini_sig_file, HWND owner) } // Discard the temp data then. +#if SECONDKEY + gcry_sexp_release (dsa_key_second); +#endif gcry_sexp_release (dsa_key); if (sigdat.dsa_mpi_r) gcry_mpi_release (sigdat.dsa_mpi_r); diff --git a/cygpackage.cc b/cygpackage.cc index 56c1da8..6ee687e 100644 --- a/cygpackage.cc +++ b/cygpackage.cc @@ -66,6 +66,11 @@ cygpackage::createInstance (const std::string& pkgname, temp->name = pkgname; temp->type = newtype; temp->setCanonicalVersion (version); +#ifdef LANG_FR +#if 0 + fprintf(stdout,"name='%s' filename='%s' ",pkgname.cstr_oneuse(), filename.cstr_oneuse()); +#endif +#endif return packageversion(temp); } @@ -97,6 +102,11 @@ cygpackage::setCanonicalVersion (const std::string& version) packagev = "0"; vendor = version; } +#ifdef LANG_FR +#if 0 + fprintf(stdout," Version='%s' pVersion='%s' Vendor='%s'\n",version.cstr_oneuse(),packagev.cstr_oneuse(), vendor.cstr_oneuse()); +#endif +#endif } cygpackage::~cygpackage () diff --git a/cygwin-setup_fr.ico b/cygwin-setup_fr.ico new file mode 100644 index 0000000000000000000000000000000000000000..a5a7e8236cf3933d4d6c8de0357951193332cb73 GIT binary patch literal 65847 zcmeEv2|QKZ_xHKxq(~}_G^nTLDr-@QDh@>c?QD#YzArUf9MTUx$M%-&Ib5trq z^Pr+xxOcy6ogBZLhw?oC;r;#I&wDQ+w9kI&a!wY4|E_cvVwZ{hcWsj2vV0p5n6mo8n3pGD*I4e>KRzt^11AN3R# z4jUaGZ)#fjCXu2zEQ)dz1lB|;%8O8xFpwLYqJ-f3F_4|mCW>;$>rgs+!F{dwbNc;| z6NsJy@xo(@)f9y)Y7d%=8?-LD_X zkd`JHGBPBCqDV$U0?9~ABN-VPZN%YZkknKTIUCO*QdA~cqMS!Ith)T>ki)s~+9~;r;ttnwibdU9jM%XLDFAk}WJua-p8wbLU7d@SdBS`x9kk zi~vnW;8)Qc+OP8(THHm$xzEKE}JqoZRS z;x4WnhcY_t

s$;6QR4WR7w{-mxqiHjF%4wv3c#W|Fd!5>i%H_7jzql#!h5GO~G1 z89CyZ_2rObkiY4U9h0x+%olHy{g3Ad)6ehK>&Np21V|c1wd5>b{9$20pvKHOe@szU zRhg!&qC8Dm`Cp_0pVib=rY&7DaWXtc1fTikJrVNoa6^q}5duvE2k;+!ALP@<|BvT4 z=ggbeuqx#05c;Op|KK-Z0e?N6)k)z{#OIJ(W8Qv^SWSRuX;HK`p3C%-@25&YoCL72; z?hdl6*`#F)cYWRLy6IKYcYDW*rt~#r1q>Ja<@2wF)AFIRDbBEW(qt8x*R+cm5f5^Z zxPCZHj=puRJN&}sn$4qwN46I3UDMA|o#uyMMx8z%+E-&Ek(9qbEYgmf(Hct`mz;aTUG2~yTWsFhbXQIykPnzz&EqkSm{h5Ymbv@gak`Rjsf zf-bH{(7yh1bRr+xKd1);ESx-j+Qb=u%$zi1=8Q=*X7CYwo;_#gqCvZ~(yv`>PESw& ziLPHuZ$5K6y&0mKCKko!jUSvxbe6Hn_AQAy5#h1cF^O|WVJ(*C<_qqvT}vJf7{I&V zzdv0Ejia?5b|?MUb?CohW75GJu!)Rd2I&R;mlTyj21#U*0pc0FZF+gc%gft}TDMO4 ztcy$Bqgk`)Ivx%fK<+@_d#6tyatG?TbK?fN1OETcojX5KX~`Xue&Y`5NtKep;)P_0 zL@^mZsE8;}yw&XLl=~t&CNw~4(wITCq;z$AKpki9>FAJ0qeqj6g9np`a&n|nT%6oX zPbc?o-zN9&-TR5kZr>xB?0aOGR5{U{S4s@lroBICbK!JG&IxUJrUd<5_%HV6%^#;) zT0;BH%;rVd+xtWxIuwF>b=tupI4UeGI4UwSI4UaYCyI=W3JwpC3O;fuD%jY_PCFsV zdH_7At$#rMf&PbTpd2U;B}qBLS4ecQMaf|YL=)uzr6`c2D#hXm{vbSuYm_QnXYPaF z;BT4d;4|^r=wRf5<^ugH4uh|mLx9C%p^l^9{~x2)Is}+XTT3A*djMg(js`;Z$NV=F zJ`>)@SHf(?fq=vQDiFG6O z1RCk<>q`Oy19?CsARvJF`}-3wcX#6L>Pm`~=a7Pl6G@?x5-B`-loZ~&MIfvvMMXuV zAit2@xL!zRj4LIE8_$pvC)}ZabK>ISMh+i7+(ypM&O93%8>}BjJ#?K|Hy&a@vL{cT zff%duU2cO(*ej=|qfz#|YwO+7#<=#SbH!AHE$* zJZL#Uy<8Y?@PG*Na1gLp&7Dh%T4PLzFUg%h|0HD~pHis5wDk55D!EOvvu+c;Rr$o$ zDwG^`w;|TncEruiot8bwo#6rT^L|wMqt4cIx&Z9l@bGXR5P@^z1Z_{(FC|6ezYg{L z@7hhEFCw<~w#3HPhQ^07wX(7TvPRzv^}3Oxz`HBxjf;y5KM(x%^H)uu!`P}NGBT1E z5fMS)oE-A-AXTcWq=>Knko{IfIb|-{d14RoJsvjkK{1^g)wh#(Kn@GO4(HvoTxjWyXHWk>YBtRPexMf$`^ z6O~9+ViaIPJdSyjAkRSJb?g{9>Uos7x&Mm?1LZoK_MJR}+yT^-?$)S_Udhbod+1-VBxc`s^ zwgSbum#2ssdJNBVvjCeq(2GUmH1S;YK8 zlU-!RlNCfYQ=o0Y2b98j7^<+G+hz zZ%bTU94|IDmY@vWe0=^|Kj^tpu_^IL^(FfvY>7M65g8CpLW4tye}F&n_4gxwetzHs zPY@sY{qf_+`FY@hU+=VjsJkU0A%PbkA5V}6cX&qo_CEzSb}{-Ki9U6jghhmtu<$VQ z!(W7e&-~%Huzr3Xyg`nwa^Qh4=(K*QyXEZJvpgVzJh(%Dz_0&lp#NzQvn7B{$3hz+ zk4V^Fkr8Lew#~65GAaP{>@fJx5Sj<3ajScGatr!b$a;}m&<7&r<=rBeF5ZG%N*=_Ed89X$ zLxxKilD%fR#KrY6-H*1m2M=tZ)B2&_mgMAQ-h~Sn2=Z_aax6j64_yWQeG0Mo0|^Q8 zutyJ43H?uHMFpv>tfc9|gG!Q{RS9wMJz}7Jn>gAL5x8H|I_kE0G@ zUDz+7Z$kY*{t5~TNHN_PmXZ>P=P@S1Ya9-Tpd8VUV%vk?ML)p97y~QYzkh!l8%+I> zi;K?6%4*8b&u@EHUS1wu7d``gC$Y7)CE&wod%`~I28<&x4&l$U;WgwB`*7@c(D$N^ zfPFW?d06}U@iWL-5Nv5S)`vMY)GNe-m@r3$%R@g@|^)s;$me7WD zedrg^mQjz;PO%M4OiZRhe@%}i+XMh7@ErOh$_>VhJmdrAfbrdJ7{`>Cmy^49?-Izz zkp~YRkeZqrg6+g#e;VX7@%N~^pvMICiMAv3C4irYcF12R|2ce5e*|0+nVFeQIj#1^ z-@g1jJbd_&Zhz)JloiV4I>d!oV%^yOh#%yR{=5nFC=kX!terb|@>kt<4m=CO{WGC{ z0(#Ka4()lsF(bAI)WwB%Y6clKqs%dvd+pja+IG-xP(G*!Xa}f=P_Gi`&|hTFFu*5+ zd-yEm0owuUXaXL%sOOA6fGl{RbCu9msX$jy_DIMFVrTqEYrFG6e?MV8YuB!2s{2cc z^#gt;CZ~XhA;5zn=pzhAZ@xu+Xw}K4($dne@Y#-e2+ACF0sRJIZ}s6#h#STd+wnfI z9hRAy8S|4)OVD9jAE6xtp#GoofWV6i$m9^zoe6D!5_C}z>g|p7GuWZsn^EVW?qIA0 zdoxiBK&t! z14T(P)JRcsNaP^Lfi!ZUzAT^;x?UWV<6MzGP#5zQa3_7BogiT@;opfEzGx;p_z%BF z{lzgi%%;(~2ps?aI}qkYkSF8~c|>0M5B!XCCdljXo;`ammX?;*0$K&M`oBt&l9Kc@ zu>93I^L@K=6@1nb7Z+cQytVR(yz*l}-;WsOCQh7aX=rFzZDC>Y2Fcvq{0;ak>(jJp)225_dU|>^ZQQu=4HD#bXj;F1{TqhxcYlZ0tXWe% zYSbtUj^tW-MV^@hZMzrHSh(*5_;oJkYA{!VggGOO(J(GV!k7)?A3un_LLe6v4smlE z!TlIN@e{@?4B6X;63e}Q5dXQ-u^Z-4FqiNyr7^~x$@i@f(vFp~6tg&MW2V(Cwf*cSBVi}Be_=$-DuU=u3#ma0lTqc8PsHT!F z8)J#B%?ZdwIYM5>n$GL-<%F2r3|->*945*=`1o(@Yv3BAKf^#LoIv*6j%1H<7Un_D zX={@VzWG%gKhXqZ7&gSS48QHmE0@_sWfB{5>p!TsAe&4Yo_ty4HSfgZZ4AnoZ`<$R>S-vS98xyNw2lXG0!8mpE8o0zMt+c)lb4 zwY9Y|uIb;(E5H51CE71Z0scJ@SF~V^kHn9`9pe2g7$@U+5$CiSx#QejF<1~-s@-ty)2+;d)Q?h`Sf{EJ79B;_h9LCzAMG)?1OGQytf2YFHelqBb7UzSHxfV4RUgR9;P?{rGe2@PKk_t~CqX*o zbc{GUxPi?&(BnPE@3iI-`E!~-VL<+kjEpeeZSVW}aR|aVa0}#FTQJw!9)kzyPiOp} zH8iAsDt}&y$$4Uq3-fF^UdAyemi(XjbD<0lrX85JK>lHjxD}Y?w_ASR@tg&98eqN@ z$Dj-b#DTi>EB@mRHxomz?PP1D39f}_YL9^*2hK0>>l5-1 zeWxMv*q&+r&oCa^1i5C+H`C*21_$brC&=wr@?Ym?Kom14lCjw%$oN=AvM_ux(GN5v zmcG`+#rr5Z=5>tjKd=w!2m`haKL-A`0DWtLIKY6P*N)DikJ5uY2Z;M-F)%Chnf@ z^lz{o+P4MT1@g~e0Q+u%xhMUOc;>%`{A0eE$#pY0P?vti|2g2_6Xbg0q%S#o8T97e zakAv&Y$E+!fJi=oH6Dc&>5&2DRUy(hQId>`9YK^Ml!JISY?COROYi-a zMfx^~kijo|k`dK?$><0D$%woCh}>-%GB~d<8F^_mSroE@*m&BvVc^#%@S|PkAMz43 z|NIzGkABC$7x+x{Y|FC@tYN~d22~_ zKHN$4atw%0;s&B0Vnp_NTM_qGUxoUF{4*H94|SP;7-Qmm1)X2v$8a2c$FJmn9Q^+N za2qo9<|Lw8KZzJLts&M;7R2d`Epd7SG1`4wvOn8~>`k&J2g2>iK|g2W<_)=I$Zhib zC$yvXJ{NpZ3(ULzR{ueMdXSrG!Tb#1_z8nI=trmg8yOK>A4g(VU{3aaFe67^9VWK- z?1^QjEwN0rBX*HaiYM_Z#i~6Zq3E^A9-|oG)pc1HiVxcK8+l z@mn?%_Y8*Cxr7ee0{l^z_y<3)2f3~m z%oDZ8-~;`CXYxM}@^^*#?clJGzx3No4A_1w)E)zaqocL}U(^Eg_rKL2JtCp=k*}J+k$yc%&#*zunqiR+o9LMQC80F8j9e-PZKW%|A=5O@}`N#Pt%u%<;fMfU@u-2q<$Pn@X=H3c$>dL*5bR>*zc?g8|zD zV~GgBPy%aRs&Gvfu8D&&V7_MXY2y8Ab~&a692%X9^_7OzK@=#XpaMZ$Z4>r;!T@KN*_lY(js}6;J!$~2e;;S=k^egb(wp3sNl zTocYY;v7#$g!53${1)Ot-VrP65XM9pzo8z1OmL2UGxeJT{LVb6vmT#`?T&L-*cK=o zdJF@)5A8_jnRe~kMUXJ(g!8YME5Mi?>%}}H;=#6K=D<2C5hMBtycgwyaSuM{0O%&x zgU>=dU;}TV|5f=7`xMB!7v%mpOwOrwo~})HFjqv&6z2o6Z4eXsX&jT|SPA(@9?<5{ zUorgi&*L)ZhzE5P+Y5O_IWuE>JV#8-93%M88;~26{2l-JJdmsIY`NKYDH*+YH+ZabexRhJl%bM+}G&`9eQ{^RMj* z=OvMMv{@wP9Bl#h3Gtxp(f2_7b_Hwz440uc%z?@@;dc@xj%sK*;Kk5|9 z5@n3|`3dzN`A1zt`$Zc;KiXdQ==Z=6b7AcAuSFeQL;%lHhI-ziP9p}apI?voZGj&H z>J#EX{*fot7qlNFJjZrG+echjqJE+5(ciY0J=zfH&TGh>&*&oCZMT8`Ny77Q;5-Ck zU~IV~42(T6HjNmNf8-6ZqwORAsPia$e)*$*@yi}{4)q>ok3I?f=cVo2x3{fdZ)30v zCs4m7)Kw1{S^z_vKWdMGu?OTC+X8WbpW*@jXYkv{aQ|b_zsDed9?G3*gI~!WeHZkR z&CqA<>H@1B-U4kP0re?Ey~eDhfOf033e+ zZ3Qg8fQ19}1n3jsT*uT6GFJuq$jF{w@6lg^ulx$W@-*~gi%?d~@BTMStQYw130M?> z_hlgKVNCtNw+7h5xAr~?l02@Jq)So@+sRO_wXmfO%g3$d%hnPu{n(H-7arvZ z^bgl*;d~(a>;D%Bu`mRuogNHkv|(HagLBfj_Xr8sVf-f%!#83;EQkr)5;1mk;B}nC z#@}IoCk50S2-juy{SPJN9Wfvl#Dv%oV|y9kXOs`NFZw}QVPRoKC^dkV1FdW&O(_3U z2zg!xq#-0Egji&O5F27dto$-Sy+A#|n0SDgn3$5RtSlSW!F}JhZ5tQzBV1Uc(MGVB zl0L`M(9ne8g6qtkZI zTgq$jGFNii#>BwpNUY6)`gho}*k)S4IG-!n%mBkayw2cmek}()%3YGrivu z#y>pBiTy;7SEKLQvuhV`i@rW@`_`>LkqLZ;bs{`tW8*dg+42~|>mXSOqioXY={xD^5aLFz-wqP3P3Yq zUbY_cONfci+hXpPAx6dT5~Fjo8}VJ`o$Bka`|!1qPwhwM1~c^-ZgjF zkGzqXn(m}!0d3T_E{r+H64xdnwO-=_{yM}2gxET2fAj@t6X+j?0x5#rUSfU`+q@(E z%v=brPYZ{fSRU-RV#8WPHsWtjI2Q(c{JV<(kOLd`hW%?jWgj695r@5MGD2*!-|PXr z&mff?aoJC_w6qDt+dr)*W3V&p<3I+8|21G54?gLRZI8i=`1#M_GZ*&JyaG(afpCo`=A6*~w?Fu8pg-ir;oU~z=>OX0joQn= z9PGOUb76py|D6|1`{VjeoIflA-7mtqUC6&;4&+yqpI=0L+>2liv4CF7iEBEMaBgmx zR3Yd^KAAkcfCTwgL0&U~KtDqJgLar{8MNvG;(q~P(f4#kM{2;h49X#TcF?kYgbVQc&!ZH&vX~&BJaYy>fI+#=o~2KK|7LzG4~THfVH^=#CG?6lAM$Yw(m$*txxF3vw7Rz?nt4&Z!*DXclJ1pK(izZ~8bl7oJZ z&-T;dycF8M90}x5@$4DB9}e^Joza~;6~ymY1?j`ON4NC~^}FO;{5=v81e+5q|n0l;4ic`GjBukNM~UZuB{n;oT)UbDdG7>rz{-NG zU#~~&IL?0|Zk!LpK9GMMVf%HR{Pgz+zyzdC67z}#C6 z;Psu@{=dMV4)*^T`iI5vP6G55zy|?cqzQa7^kb$3*0s|Fxp0C6F%nJNwi(mD4c7=@ zpU)6~e~&UiLhKBFEEzpu^uHB9V*XXzGcuv&1NBzJJOdZ!c{-8-UN-~Ye}}&o`X>X> z0q+yue_4NmbEpjAS|B8BVC?t;e8%-J&~$^&H6W&B(8^yqkT#W6jS^*NiEw-^!0N3iBPjYT9=U>!EdLi`Fv z1d}P!JElKT4p~UH_*f7RPj3?96$tv^Mcj{pKk$Tiw($7|emS5|VEh6y-kPcxS>fkO!=>clY?QzMkJE z7#T2n0Odcz5Byfa9Li7Yy;0{;21tnCqKo*q>g%_TAA?9t@F}7cr9omzIMHriMEW!f zklxJ{y_Q}23q^Xp0eMt`3}9V;&vYoS2oUMZfz`Cq*WPOed?4=@ZAJM__I0 zu}hx-LuR%pkcBNX$)C+CWMShhGUw|=GW+{DGQDLu>HSQcuyRF6KiGR= z@99MA0pk}KzliPMY7<;oU;elCA7VTjKjLJtGbPFZ*MW2u|2BB<7{-hN!H_oz2qq#o z;XOcgEYh!8gbZx%M#eM`AZpE%$;RfDWPh_Macy=WCz?D6tkNKfh@60TNAbVIsl5zZW$};jLyT7ib3*ujAsRnZGBUvR3>FZ}b;bUT z0YAo!k--t9M{+;X^BF}ZeIH8id$4LTCr6u|NI(nh9VKD3UF?2&fUM2iLNw3llVxst z#O~N366G640#5joW6)3HzJkvBNyaBKJ^{*qj34G9>Gk@EogoH4$fnEqO<)h&nTXRw z?)(HYvw0NpXg)+Dxq;+7i6UXV0AgHgPF80akX5H)&xgl0;sNhSIu#H>f=*(r1bY#H zFb+my;-&WZ`Qt}M4^Reh&V@Bfe_Q`yoKppJv2FVmP~VXlJpkE|U0rPdT}CEkS%e-* z0gdJ~r4#ciOR_3WpR9<`Cx*w(Nq~PK?H6&)sNYF=M^3=M_C#ZT4cF}9x<4c)X6#H3 z*gx|3k%%AOUGul`LyTJm^SShX2W)H9cLqPofX0t&zJD|RseH&-+{tg(`heIO;`a%REwuLus0ZLD zx$v&Vzuo>2<5s~Mv!C{>@XG<$B(}$&D=PX^{)-LyuPn#`=D|C3^9B!r{C7TK!@9#? zQCd2O9CPE4aYNZeYw>LoeLA0_|hv5J2!n@vZ@6Jzq$C*4J=Du-HKkk9);{1m*&E);1 z1v$jp;yyWlE(PKpCt_l33i?5>ou_Sq(FMjYFnZ8x6I|H4|BvzG`cuS;?Ty690M9Mq zow3!B!@&0#S0cgt=YQJw!!LusG5>-1`R6~Fygv)_{^N(_k>hR;$?51Q*k^A`ukUB{ zfzbngdw}zQgdcnp-Tt@+8u2rP_!$|Xoa12K?j!gc0afsK6&}Iv0ZzI$J ze6Ikkm*t=9=;)k({-d`*2F!!Cl3*r%-cLA_^b^S-_&)2s=BaeQiQ@`>88C7{{t!Rx zf%x0)55Bqz)^+`~--urqPzLyUH`qW4tbwkE{ZfzQp*Gz;0N0FT(y@0_6NHl4_XF$BC5a-RKeaW)B*GdZG`h5pc{W@{$qqR z?#C)1LnRBr7vz&amCHzCLIv;<4exB;136?1IwrzCl8Kc%k^#u$AK`}>uL|+w8g#_} zD;Z#HxC?Rt9LVoi!=A1CINt&G-bSz=upH)y?!o*|`}do-|6E>vkNA4tBeFtw$b`Yg z#LcOaq_eM)L(X=@*mwt>6UI1!8Ba6uQfD#%yWl!FIQ;GQ2TWD4HnRm}K(BYl^_fVx z#uR1JUM~3A3EmUp2=PuN+;bXa_7j0035UEf&Lbc(F%JJ{yoMAT7eTIGk07Dp$6$`Y zoSx^v*bCz)9D8>bH=$hkpNlajJf91B&@SU=-gOA|Rlz#p7TiaHYik+emq&Y9pbSt( z$X{eD78)P$fxNUQ$Q_qX7?GI5^{mdyKFnf*t25Bf>mYlXkXJs7y|A7zg9;J6IsjkbV&AdY{5 zCoaSR9}yIc13H8Km+SD%T-a~W0&B+G_A_B$h}hB3;InaW9nM#w55{>d+;4{j_0aF` z0l!PnLt;)Ib5R(NVxNS46^?aKmdHD^cjQ+k;>0!T$OFn5bp&l6V;p=ouEW53ao-=T zBckUCkyp^8X1JdA7l55yfVQTfZH3_3hA3-TFHi3k%Y}VPxZefm?r~oRwjc6~JfY5E z+>She{m}2)N14ET+Gw6oPWZkh%tvBw0%d@0#NbDL_#H8Ip&c;ojO~Cj#XLXk1)|^K zkIzTl!)N1tC})^gTnBStLIMI^nf{_EkS{$?gxC=$?v+FQsB_F-Pi8*{u35r;K`1NK z6(rotfjl5ioX5erIOGpY)Em@I#E%=xk z{Xp#KS5P;wsbQT2tE>3o8MJml+hzmq7L)_x!u>^z3>f^(z8wBNQfS9$yJ)v~AN~$8 zppBxgppEkDe^>A`c8-1r<%YjU%-9biZuCv~d`1RX5BSq&(7me&X4CZfj$l8fP`|Wh1l=$prY8Xv5Xj6R=zQR(NTV0dNre)HP_v&W8K284-U~GZW1;!@Or(#>7UgL8+B9t|@G2+AfFm^zB;5CdVI%|8zKS1C7 zCt%0*PXFitJ)&&@eJ|=O`T^v-BRfDnKwr?2KSX)d!qiMJW-#J@H)yA z+Zg>B)`|DvXVeYsFFI>`^!aG_=pV43LC_GF{3Go6BjAtzE!4|__Q$=ZZ8E^NVfaRW z*pVLa`$UuhBL~z8ydUx5GZ}x1*RY+jy%}9&+8yzCrR@IwD-jL%2AhqmWoOoY5MV>vwkrw7Do^iP3@Re(PN=sEJ(DgzuJG=m+` zdzP6#fzbn$0fP-?z{mk*fjST401d#P3wodneb_p%xAhq3FxZ)xzoWKC+d=<<*pXVX zH)Bi;akefp{a@96ewhIeKj{+a=`@go4d?-f(S_E20skHZw<8&#J}^3g`0@D=!-{}x zg`u5Az%Ha1z5hFH57?VA4+Qe08w=v>uB`Lphu5WZLBSte20%YqfL#z|&{hw~pbyyX zTJQ?|H=Wl=z0LV0MJi50&X^Z$Hp_4|YNS%@7y|^Z}nv z56S?qAn3ppru{pzd&JJfdf=Dv?_Pa|aS-ln!M__I0Arp170kb?1oVOe+!VAg1-J!) z+GGOXb%)QIK>l#gTj;L+9 zfEne2`|yQ;Xr1S03T#Rk>}fsrGaa=(=zcSfYXSRd{2jzNwC#cJ^FQW4;v8iGGN8a- zD6kKjXV3#-AU(w2uD_@Mz7t?Chj?@d-VA!rf`0x#0&7>9gmIw&;I@LkfXDRr5a)8i z-kYG0Uy9FxevW_7R#zYWA9El0gFui0=G>cbd;|W@0htGzr)?a3-hT|1f5IqWK7%nn zlotWJFqDFjJH@||@=qT3ANLy=*X{?MABBtqeiqol|2PJCS->w3`n?4drTYI%x+#7u z2i}hsb7)`E!5++s|D|-qAFv2%UvlueAR$ayOR*X#QD`eHC82D9QWe|oU<1Adf{^bG za629icpH{-bU_*%ew6T{2>N*1T4Hf@@#0vX!f&WH8B>|i!(s|rrh)0 z*Uk*FZ+u*-(r{4n_!Tzy-Li2n#horhQEOIq->dGL(@ix|Y_Tc#U!X%H~Qox=g z?ViK)mzw;@d2=F1c-$zC_;$5kbB{{uk8=DJ`-ixZ`py07H+LRZfBaZf&bDFCva#R9 z2k974<6I>)Wj;B{`-VK$yA*b+WsJt_U?H{p4W;uW)5@n7-B4+HEJ=(5-ERoU{SZd< zRMCiMBO8h>)MBNU6(q}x2`EI{QPmUOp7^^Av3_->N7mI(F~MdJuN3C!9qdlGU)Izj zs|A|LPV)DctIjau6jBArbH^BEnv+q^rWX`vafJL!jLvsPgm%1^^Eo$&WG2QO9C!CM7?P?E-@;;_FzrP_wP2c$t z{!7qNvrEc62W_7H=!PY6@HgVBUEAyZ(2&bmXvc``6smR>^qGvSs zy(RmGqU5)QnQpx;gj3WlMV!9~H_qxd>t)2?lH{`^9KBX))bw@F8FKYowT;8dv3_AU zUdIIIQw_C;B%d6TYtc^&tLt&Nk4Tc!Is@yCuK5Cuds`&bd9g>%4RvlgDlfLFeCoST zHQ$RZkFf4%l2@m^?mfOxt)rt!jf?H(t2J(>|7<6jLlwT8m-l~5H5h5UUi&`nTXisK zy!kg4$8$!ttFq14JL}HQ7_nxlW1l-h_RFY+cSF-DHhXA2tM;reXLiqo6UVC;j7eKA zE7Q=j%t$Nx*&`s$DVR@8xK-isO#U%I3nYx7}NDr?doe_VeyCqN)}pU-lgDH$&X zhv$lIrc}Ds+Jn`Ra#e2m*V*-{s|+*A+lwXlR;SMpUn9#A7GWQqRie^tnwhMaZ1(87 z>0mRXq~;G#n>g2wrLWU*oO0|$k0hHtXZ8CyPVDB?@Ob{P56{i*>ehR`tGc#lbKbGR zGSsNiqi}7->PhZE$O9(SR+N!f|!Z}lYD-1g}}cFX58s>*4@THb>=U-k-f z;90$Wm{J$g03s9f8IeO}_sDXMi+^Yq^aAYCkD4$;!ca7N>c&22+3JI398H2os=H1Q zQ}oqZW|n>Kw93JJ2cCQAI`i`V*6r>E;ZAlmbwfQ zxHI;uJm4rEuJqX9>w|6D8gcP;*CBn~cbuQbz%kKl1+J>g7uNsyeD%yaTR&!HvHJSb*X+P=Db zdtNA|YJ%CU8&sl7Qnv)fnCkkgi+PI;<@%O|Qv2iLum4%`Ww5i<-7$)V2D#mPN3T}w z>(2e6aMC1bmaczys%-gy;@O|y6bYn`lA2X+QPY=`e0G09GH4gH_+W zdsk%Jm?d}KO5u}whMR!#(A9CN^ToVhym)aMh8WH!K_^-F7l>UG=V<$u>2Ye-zn6Hq z_0CaBHkPvx;pdyG9v1tgYoN)Oej16r;RKL55dQ!RCFjtE)&X zVb^V}7uPQC-fNtA#FCrOci(3_u#IJph|Qh4Y?YLdfh@<*w=ALZ;luM~`?#A&r|b{A z(Ji%~*wEE7IoGUx*&8O5^j3d6jg@Nsd|?umXfECO$CLY%*wBjpM?RcYET{)sN6}ft>H;-rkxHNL!MyQ3_AXvLyQ^vBFx=*T7 zgIs=tMcwO1=O;~^wXNTJf1{#1Pp$Hwe^ea0CF9(nl;usjW4l`f$yG^jaeuP=lqlO= z_ujJaw!Fk4whbAH?`znq-*P6}f9PS<7wQ|y*-^;N>9=Wq-0ES0OGPHKTP9oO&908@ zmnA7nHU!E7tm96;t}x zHQ~T?i^mC9|Hw#KbpPVE6+u$Fg`+=1hke)i_+a0%yVOd*{Tcq&l0$nAeBb9qpW@gF z6|Y{xUx8Ek!28A~o4DcAWt`J&zS*a&9{b3@XzS1=WwXSK#+VxL7B1^OJ?)~()kyXA z-B$aJOi?V5cdnW@hHD=Fy>Qz?R_*y4?=#P+e2I&$Sm$nVnB_b_Wk#>BZy)TL1hqp; zvaX7AtkqrB#d@uLAiruvwnN<6q{n*ftPOjPtR0vdSJ%|7q%bN&S}5}7`{yz8>yHZ0 zeA-agV`ibCz}y($YV|R8C83tp-}@}_;ZB?=@u|Yo;xy6xF0+=1g%F zQ(t_ve&4+8P5uuK8kB!3bk2F+hvg6uGe+F0blDhglz}X}`Aeb$H*vaobqmLT{CWvW zNkY(PFVDT?I}zHKd9?TFJFt*t+|u$?4Vjz*a4dbr4^N=t<;BD);k(tL87uBTdb@wy zpv0tTEeGC!n)}PjFTo<0H8R#`u~=`&RFJRT^1y z<5Tf$(tPepb}?WU7brZld?xwmVx;S1q`T4I$Zim4 zpJmmqyfi0y+b{Rln}>=xo(Z!SpHXEoFZSh*J|S1c^(`!pdw6+On)^=6^|Jqb>d9z` zgbT!m&W3;8hW6{N-lP!Stsq&Nl6ICl9Nm51<1F#!-D1|O-;}t_wwY0o?D1v=%Wvoe zr;7qBdU^K>iZM}o{Dhs|{nYVwMg2G~g8JinS}n`fQY;t{<;#xQ2uhp`8Y8N8YPkC zsNl9=H#Prh%X)XK+NC${d^Y>uuqz~nHE{B?V^gTF5J9lXD=*%wJj&wRBg?1$>&?2Y z@?5sy&nb?>7ah|#HonONGk!lo3Qf%l+Ee#jyGxbW|`I4aVXuroZ2byITlP`a4 za%&JhJk3pbrj21ivfJHNY^(anWt95OIYUn?ia8DPe|Y2Bg)M!hz6`k0^Xf%v+aJY3 zI@w|~7gQ`8V>fZ=GavL$s=b6BleFjl>-9t&UF7U#>+R}o=G|Q|rSzjj?T0+M`t>?G zS5r=%GCUKdU{XF68pebQtsS&a!oWGjJCp6Jr|MQKI*H0sdi5EOgv9iw70HV3&Qk04 zJ=9#{6RY5M=iPT*mE}7A(Py;c5^h|-e*UD9?pPUdsRg%FdOrI2M~%+hFM;oBQcoS< zCKO}h4}m}eZW`v+v3Yf*GDUiw*!Uuf(zmzgST1v=flS;LFy?^yNmpl75f--(?8ZlF`ShO!E@8tu^kX7Yt ztS#jn>Lfoxg?uj|Eju-4V4{o~)4>IYCTd#1es3RH}6CJ4?N}2UdSlR|&uJ)an7(%xFV= z*2K3p(N!l_6odsjsJskvwzW@Ioab}eUQNn=AZN-sQxT}{>ig?;4G^$?EiNfBFPmC) z@4A7rAA3m3Nz3k=dOl7(S?i*??rcVIOt*~{{j9DU>54?lL@6XEK2^UvsbGcw^Obj0 z#Zr*8hcN>6Donb|2r=*?9?s2`Al}nbBzX@jK^`2s#s3h#wVlcxx+ z*Mii4^ygFY@n0u3)$h%8Hc?PBFnDtB&qi)-%%B$g=IAf(hCwf8omlUfQ*+B^*5wfW zV{^Z1Z&KW_OdDU4mty5WAZHZBsJuGN4=fZJoxa)#xK(~`?wp(zAQBTB)vxUIj83m zAEnu|-3{}OWhhBpN=b=4bxIJzll)U*vD&-t6nKd3amW>tS#U5)LD^>ncLFts`?>t! zH{+@6%w!y;oFE)iT`=a+%~$Lb>yAX`YFc|N6n7Y3;goskNz%ewD=LJG`8tGc>*WBt@^Y-aD>xJV`3<$PV(_lCj=`AT{#Rn)$$D!C?7e4wQv zLSAg8_OzjHPx??6+%FZPFK!!O8U#6T^_%0}qCO`-R?VBn-kZK_on|9f_TbtXss6;mJkDhWW9!p0FE-Qb#!^}kp*2ws=T5&SshXsxe zo_$0|@yOkTwZpv^&()N9b^X}p3u0MH0-r=uUt3Czm)xOuHCnJZR95B%Z+Tyir%1Mt z+SLJb3(m>k(SrA4ZN6~79!4>j%DrV425j#YZ~eK-AU`j!`{X{Er6m!K%P(?vij}^r zW!Fgx`Y+U!IbCi7YwMsIF(+zc#U#+73l}D(etozD-dN}urLZ_!%Qf%m*C1=nF*X-< z9M|@5-1D-+NqdST7}(c~;oP@I-ezUgB@cnpFZoB#K|1BoT@&AfpXJ21Rm^&NSX1_k zjD6xKC6C;R=fi7fXLP@OGE{D%TH~0W8gb{unwpxFl$0Fz{^6+=CsaNa#=CBI&0h`n z@9%p-N8;8NY0%%@ORbe10-CyO^jmX3RJ<}Uyu!S;s++dynur*acNcWtmQxMSCptX% z#`BzC5J0&_)ynZ6%gIn#@$qh^xdWuChe+&6({`>&*r1t}Ia$`eCsli1OxAz0ZC+V^ zvd6JwJx54)tDJLu1dQ$xGH9F56|=$6B#=8;sUQnOhHKRULe`?$|~-w#KI8d#rB z%B-(A(VWx$Pws=7=)$rD;g$^tq3X|HzYg=$P%EE$b`yID0EQK{Gj~4|0|j_kS^2J) z;FY)>gTM_duR~PG8$7enao?31`{w;M182yNkED2CHjNv2SH?Xjc1~!&Xxy!LEp+8_?{Czr+*0z` zxxA@l_+ojk-d5l0%yD{YOC6QIFB-pMrOHwkRXy&h^M`ASeU|oWh*2ALBIEPtsrk<* zFI=?fc1?{}aq)7S$-ROzUM;+vRr+mRkFin4Mc$!ZM|q77hUb&eS8K*&Gk9G z0!Bt#6#IS}^z}pc?&I$385sDvtdJ6ztk>|IdIwK5{_xxu|uG;&S;#)O87Lp+R9T;-oL<4rQV?S|AGuZjE|8mfU-QwlZjS8Qib|I3 z7pVokJ{%bIdhY;bW#w1z-Ytk*Ef6iUYSk(j^{YZ^p|raC*yYR9XR`bDC~&LdHAR2g zE~@tJsn?r}y%uQRvwgoOyz-4rxk%(l*}0J`uZ|2|UJxJuu(y+JRO*Pt12Ep&bbVcs zYwWHa(M0cYvf}X2<@0<-EcVG>a~8TH2;IJ3zc}lyz18@BA@&fVL+3w9Rn_a-wOKcl zC9;%`-`WCKZUYBjzwY-fFxqnQ!Jc~_rVIM6+&Fx$w#@VWRCr=!&>Od{ zZF-~Whyx2Vm#V9~D(?oXSDH5M@axwmHoUp(*AHA;K7Yc=rzc;ji0Y{i8S&OE^Ic*2 z#PJE0Z;Ty%Z*8gWpQ7h4xJ;Yc^gVxVX+_1iF$Kv_3Y$yDIVz|Rl2KhMIlxcYSvhgq z#_>j9-Li7;eIJ=n^;KB^L-0AuanFn=5x(jb`)q`xHeYc4{@uz~V`O1T$vjP&y_S|) zQ(PB@8}r+vA1&a&F-<-zDXceQS>7FGgr!JeEN zSRdSb>auxpt3P_mUH!^9bGW} zQIcYJ@UTtSlQv8++`3f+GyoQ2C@t&#-L~3teq1j_$7sWGQ`RmLlqsKTp7tSkAZfh4 zNN(rbsmpo-W>_nv9=YjJ>aCY-}Tv9S*O2AS0`fg|4<)0&}H?@v{Z-v`!AbJj2aX4a$rs4kvrw(pL$VpdTG|v#Nw8&ejGaO zOGJz2D;woFhwXjxa2Gk{p0YIZN(u^-|ngGKXdzv3bC0F z4pvToR9q8d618DM<=fGH-PQb!>~HK1h&igGD6+)o?SVO&$&N{bg-STkJsHT32rs#k z_w+;knj*&|a<5(EvxaRaw2Qk$)1AJLVt7^CT95`4R9auBd8OGAL63$4gkY$3hp3yIh2gu3h5M~nxgtXn2)Aemgj&CH7V zB7NXx_Moi;KBQfXQi$-4T0Is90x$!3L-V4=Ld!$e7e2AfoO0OXc=`sm>v;NGS(~=S z$2&=Fb~w0htY1WY{5v_&&x1?l-|S0Y8Wf`@iV+Fl1}Rr3o=9VIsI$mWE!)Q6)P3vC)_`J zU`|h6|D6kSrU<{7;#&4ew3~{}H|;4D1bn^MUoqn*LPDcx;wH~9_aoyRO{XV7-s|=2 z*B98&;{90jP3~w4M-0($l6*SYe6Er4`IQRy(=;Pj&IMlLR>P84r=0~mf<&~n-OXv$C&VpxZ4#64T#4oz}&X()^M?(K?qjephVJ#qof0Fs+IVDl!vej)n4_C77;k#2+~h0;4HcqdH{kmD%5uH_18WaI zva0`d;iZ?r70X_y|l9Sk12u!il`^f$5l6f4*#+yML*6>K3};dHg%6!k&*=TIqPRW zn6<+g65vM+6q^Q}9B(yk_Us+s-k93k#H~)2oW43gz+rDq!aJ={}#G zo(H3Aux=jPdyGvsaB_uH%K=~uK+V&f6ZuBte_7tSKA6Fp>VX=Te~!h$lV>UVpM(=R z@;=o%ef_AhB!4X?ffHzo5A1;@4^K~^+5NlrURp6yJMd)c={0^KFZ&t5HB6It5#zvG z!~*PPpj5-kYqTd7LZq*wr!S)|%f-q7e)s*VJpSm0G=lRsB|-8pR{0ua<54gbd5n2gC5dH zoo{UNhZ~^w3+z5a&-K!ZsweHeaj?L1f(-uCS=uiavbN(%>46h_OFIsRNfj}R9+=~G zjmp&ZCZJdUbLCqr8Weo)_%!LU%mtaUd*Y4MXQoO z2!P_*!{(mfm5gJ+ZU8={s@82T(`5H*a|Tj>I;yd*?g5sR3u>SZ2$cx&k9rh zDY6s+qhb~9<1dh{&9c#9@!pV+df5cin0~VY>UCLDe%|S4Dn#hd-!s>-8h8bp=+op| zFRuH~PG(lxo{WSR!IM&nd=PU&uSYnq=iCX*+|10r!@2UAg@rHxzP6sWO)TpYnTVef zueh245SC)lQRcV#m8Zzv_keCyz1y3nw2)1k`2X7k4seI|CY@<+at_E?=C~v=tK31euihL_`Ds{!#n*`hK@vV5q3FeMY}}?4E$={x#ZTb~>}k4p*d^ql(_P1<|G( zJOshhgOuic%=O-|)UcCesc{{&Q0ImB&S2lK@ZI-q1ix%v7`fl6uXF-TU}ZH|?NPia z5I8Q!CnrBUI-&t@%42GB?dYVf$QrW!`z1 z4lJ#5Zr{;DH5)6d$+^e)D&!hnH@(GL4U&$&LAs1G33$6(313glWPs)SO8|oHYorej zrwas11lCzeMg{>;3X1dRr{3;4U~+|^dqrW-^Y%USKm0qn$O5D-2(`*Pa#--|>BIOq z%HIC|)Zt1N!m`px9w2owe#mS3(U17@SO%NP>T`SHCuqgr%fGpX#gc0}`yD{|y6Itn zi~wlzCB405udlBj{-x@_9X%b<4Bt#rf*Hr2n#*i9K&%6Pkg+fe9gxV|WkM++?KoOg zH?r1y)lz|84xr8p%_OYs`I$gnGVmq>E6WNd7MWRDKgY*onJ#u+y_3GgE8)1`tvbe7 zUj-lGl1jJh{WV(Zsk_|rkEWE(%1^k!WDqIc(&A|$Rm1?e{(qtskbYlocPUw)frta# z!d~NNR=zvq!b~9ASfdYAw-_4$}|0(P8Z2njPI^=RVIWN zO(yy7aEMu8$2q2uV^s}tV{T8n8?G+_U9TE)wYv?M7A8QHq5;)D6jKH2r^B#n*Rb&t zN+HwVHKU{%7fW%-Jr8!0F|z62Lj_rpgc`Y@!Ww)radX244r_d3;=$=@$bYNi#JB9s z_7Mi=TBuaL68*317*qZF*ZcMIkbF~m>riNGJSi6)6%}+&B?Hdq1RcPK-|eY-8N|P{ zz}?tkd(JcdlU$25d~yfyimus}F@;ifP&bKfOE}=u8h^4fyFM;`klv@cF!H|Gpy0Ja zho=u=l`l@(giFU0<)OI!(#;OH@u-X;d&a&DeaG@glA3Wob%#%V*63BXlqp4hrVclUOIHnkKKi8t}dP??%yU$ z`|_ypC$AnBLYBTP0?m5cJp5$~TlO!;$qilyQp1Lm6{+d0SKhTZbYGQLHLIW?ieCDu zVbY3UYFHTDe+@r0u^s@OIsxzZ0RgshX-6Rz7NAmfdNIV6Z&eJ+`GPi6p)ixDTL8xH z^*1xyf5CHFvG0jTg_I-7~lT{Y8ghuw7`-;0X zfdIL22$~z-y0f1!0Xv?rI53Iw6d@B$a%j-PY(}Joqz0}Tw_TA6dO?8iD$xb3ENZz% znWD^Opf5SixxWU$=yJm~)Hu2N`F&bxbJ|b>@@8v5Y>DFlv>cbfMZ$hPoPOHz3)u^rFiTsJxE1N-hNDY&=wE`3ddG)-_b=g(6tb6{ zJp$#>Ci_MRBBTFk3jM`L%aM+@dQw9;>I}T~zBVo7te}YRH30^X03frmyzr;V17!1y z|0Adhye@j4;3Qiom?BWE7Rm+P}#^y#crXf3G=k1s~!(IV)dVT}&+pm$4&mpe4*9>1_a z!A&+owKZPvi!p{pTxYGAlgU>KajkPsSQxhktY8Nkgk13Nf267bUG|tTIhW*_&M}4Q z!G?8ZaWe{5C_2jbA=Q)S2Nf%zv(ZtKNT7E?^tehJ<{6tlrQ;G zhb~hI*v}W?h7oGh!#2lessd?>c<+vL)%hAMXHPnv1g)T26Yw^PuP*(u8TfH*%6)M)a zv$Q#F*V@W7Qwm!eDYt7)?RK@%E*R(w{;g?i=Y`I_&zzKGG_3Y{Z@{*BHh^yZ4Qrs6 zuB1`d!e~0$qUpt!y2~*3=MQl_F<-DILl__^=jW3)x3vNK`SSI@lE1VlREStc2|g92 zj_I><%s8lAQ0Z5J{w^ipfLfMp$Y+){Ar6j^%1U}g6%_!L`UXV;(i?!X82x7^7_FBuR>5eI(x;DAm!mp2IboON}~fO_xC0=v&F zRz2p_vpOCH<;WQP16&PVW)%!=tuhu^B{I>#bpq(S2lMc>M$*}dZCIAhGnAaHuP$uBH9GsnbaADXMohy7_ z&!GJ0Z`!TC&Esy9O4U##3}SgQX4x`E(*UA0W`N+ov$F&632DF~lT?%R^yC2o9l@Ga zB!-5V+b(b{J(A8#Jk%!}^}&ghC{6w>>PtZhev*TzJcAesDT~^mAUsX!+okgU2C zMPPq3BO z)o>m9$Nf6&kLx^MbH11vHH<7c_7|C-;9Ckg__W1dlX*3Wl=_&Uwg@u1D;hITb}=Y> z7vTcziS-670$3P0P!Mfa5?GvRZTE4YF;fDe zLUG&mURegN6o+6tAw3L1plI_bOC2H=ghVcbI5H;^!HihQ(hENEMstCTzYLL;IPCby zmW65h5@Br%?<`8%;wW8>mgh) zA(>O=tbA-i|7A6NdIC$NUumMqM_V7QJD1>c*jzwXcUCNI@6b6VLbX#h34@2%H z27Z3xBa~a`fH%sXHMlpC^WA2Sb+In3VZXfZ{zv&{n6W$^Hr@7Rw9?sl#A}^J@kUk#u@76PN}lval@>lBVLu>B{%1ta z%&1|5;S?1WHwUAz{P1g`o+zBRRf z&HMF<^FQkp(Cq;;TFdvX7M~RU$MZV=k82VFnFLUo6vdd;=>?7$IzpT0(NhN-Xwa+> z1WpZpIT#MC5?}h<_uWNzfXKA_5KQfHDk<Ocf=5toMxQ(|F1d_Vyh zP9Pfwj>OKcE(h&C8p5zF_vP3N>DJP46d3mT5L}iBnniaKK$-k`T;CgS&K@O685Bpv z0~8xkczB=;>CDAK{Vz5)QwmZZijMj0rv3Y8-hXlMI!9#cHkcq;8YuZBj!}sJjaj5h zMMM5OPIQJbpy^_4Vj$tq#MR0Ak-^_&8=Q9U&8Lg)g>VS>Mneh$xO0a7J9>C{BDm}p|5L0pjQ#nxT?nRxXqWrz zZGQHj4@0N#gtf^M@#CeEU^}~XGgU5`d4JeW1mTwg%%}9;xxq1PK0GESl3P3;sWRzS$Xa74xOPcWf$HzPDPrcbE z=H^hW#9mwrA&>|hCQSk$ECMR?CUCC&2UfAAeop2IV8qB}WIuoJK5Fb z4!X!Y(F&%hcM_d>tte*lK60m@BHMDY}G4`Sp^O8x?(LejaIy_7a6Ed!fYkOMvA(%!?s1=+p0;%J zAZ&kjL{$-zDmun4#y|B}yjVFKQ1caL$+VP$!UhM@werHy;WEH2#MpzWx)8;5yPF@k zzx_N0KRrTl(Yd8u>?Qm!iz9_+7z#wc z0STOX$)n2Q$x#XxzX!Rmp zWNHkmlTKGzrj_S+T2;fd% zGs3BETSl*G;?&Z;UhL)<&CS9KR+QkS{#12fYy9U7YH0zLa{8+D^0E(}Jp_JKV0Yuo z29cktLmmn3RS)O6Tkc)rfr^8Mg9}2!2uzfhP@pM9bCBHTsgu|f2_Q6ZBYFJp@*n5K z!ovE`b$Yrz#)ugbuOyA8+kc|;;iz$;UmyU`omF)fCPv$8jQ2LS2?-w%7t3y z2~j^1Vrbh!$ph5Oc9Y%97(2>0In^*<~CTJo0YOvWJV?aF5s9_v7m`FrWk6CEQ>( zjOJU_U=T4-l8!+u%mSp+Z~{7JIN?>%HTq(NAHB_1&ibQ^|3jy9WlE~4g2JB146;|8 z)KU3!&jKrm=NATw&pOk*n&D!w5X9fG)4gEB-)PkS&v}_I+X3Nx9?)Tm@L?Hu6vlL$ z3or;54`vBPpO{MkO%u=1ElG$(cdl8AXaaicMOhg(tH5-J2UCdz&KbGBw77p&HMS9O zQogCv`x<*1(#n>x)1@o6Gi@J!`wDnznhdpw0Rw6-lwfjEL9`~OFj6_V$N6El=ZIc( zevXJkaSX4w593)h@njX_?Rl)*3BU=H9fLExfc6juP@qKWA`WKkl9fm&_`Y6 z=}~zzHdM{zX*i6hf>#Q8vUl>>WV9yDU^jDEZ?Qh$1Og_)Oo;`(rj0b+CbGHy>p4pZ zCea&CHwU?xu$ftb_sRdn9=j?0Kx&mefbw5%IxPf5U4f_=He9-eI0SLj0w(>#s)XjG z-vhd@n<0=b`}p_G0s#&KR<|*@-Ld~^wm|&pbR(2P9>RzWoYd1uK!fYUQV|RSrjLO0 zq_C+8E5p!ZrPv+jaouy^1mU0?*WyR?oXx?$2BJauuK2(`+~&uPn5*YqHJ0vT zD6Q3L!*T7_9tzUe#ba4f+Jv;`IPkYiFC~bOA7g~z3`fM?YaS0Tl+}i?$9sne4mR+^ zSYcVbzk(7j-r~p-%*aiGPBmYw_!MkO%%-mc_hO~Y_+6As3`fhEi+WL}_ z$3v07VdljqQ@-P=ruUV2a9=QE=da_BFiT~4TRB>j#GNoL27&tBw+W+2Q@DycBDy|o zsTziY{{Hp*l3FLw&|hZVQp^!?_{L%rTOUGnp&Q75bQuVm0c6&Gr4f#Vgaj~i04L|I zZ{)Pc=Tv;x-byVuuv@fA`KMiRra|VKWN|~8xX_FnZQ+IlLJxMY_oLcbQ?Ny#3YP{b z6*6cIHB0*j5_0;AgX_|Z}!IFmtt2{QDkW*R@5XeWRrhu zqzxnojr6Y!(xJFfqCTk@OStS0v5vv-F=Ayq7SbU;05cvzK;jvQDT=3C_^!VLL>XXD z)*a{Mxck!2CH$Es*@%up-5hZSUQPHmb2_lmgl85kVFYD1Qkwa+@x9Moj`;8kOcu?EM1yBfL$szZD&pd zmFC2eT8;He1`{yPJZk@@z6X=RMT&>LFmNAy;A;su28;BC>Ze->KK@Gq_HQz^%kEvi zGxp6Ve?vH(wb75o#KBv&`e_GFE$YG zxHVy2!gLB7`;?~1(OXr8fLM8=JioRUb9=lb0mQMjDE61RARVwGpMVWD`$F>fxwnx1k5XrqtsH*5sZ&EvL-Qs`(e2ehA+{+&8OdY?r z3vD=xG_Gp^o?|2opXLw#w#;pWLf?`S|i4AG1{a#GY^5whlRq;r|t1Y&+mr}@)#%=+$R_G z*yxqEaN1@7I1|C!K56xf4@MOcvq*N?3s|TH;1k+S$23xNqD%P_?R~Y6KPzEZzFfv= z@e>4b2styuY+moxbMU6c80f?Ez+tp9nr_r@JlCYvv3&RwbJevVk@;eG>A-~0{iq9r zk;ebHyH);aQpXEPdzzywOv>hu>2}!Rhdl5^eXQvqS3CNtpJMr&b?9gj5JXh z=t!?aZ8m=@_&kg?Rq%vM#1yTX@d2K=^~V6%RaLKh`*|U0jbo`Q_Nde^CoG&Hkj_*L zb#MjQ$oj(d1ZsaVX^u^&8nUQfE+$VaUxFTeeA}(i;e@Td70&8TcIR!EXZ#)eKV+m% zOxDq~SUT`n1)3ANe*F&5zy2%!0x>ZPi7>ITL~@BBcntQ)9e22ethHPHiaO)JV^To_ zsT?&8^Pe3b=<`^&#O~uTf8<)P3W9zNU)fbSe(C7(=_a>5(T-n)31g)5T3C+pzNWU0 zB4@fO)FBYfn2z9e2oZ%L?QeA#p19ozPFYHRcvy2j#e zd&F?uy(BWd=)6~#Vf|y?H&$bZO;`;21G{m$)iWFJed*`l!uwkvsj+ZV^l_h8+n+$5 z0jZRnD$79zPcI}jQMzk6h_r(&&m0HSIsyeJRhP9A3hQr-hS$$}8U1Jo{LdBmmsN>* zqd({Qlh0utGO1TyyXQJ(mRS`{9dvX76H{dlzXqeE3+)fvC4G>~M(azO>_Er9tpg(& ztOa}_OSnd&Y&kMDiQ?r85zMAst3#ap-yGeNNx#X`YEqzqk!cil8$bmMe1Cji$>ENM zJA{`_nWYFi)&&$vq_i6Sm3yUI4$Hox;@<=ZD?$r1R$R6SpBl$DmYP++ zX#X3u>1Ms9?rf_c(mM8sDRwk@n&+jNA|4n#amk%j+PXa%8~JBhnD+UAv0l2qfz+l0 z3yC5OZ8juzI*M1l!6djp7_PcAOxr=8FVezWNe^vwRWO)V`V;*~ahZ`O<9KXzmyqIS|;sI};;Zu}~UkhU?Exm);lQ5jFgYV^#Y9EP(!51Y?CY z9)A)wiR`q;vvPAMB|9YUN`UA{-Dj8ed_)2Ccw;n5Z#zZ281A{ZwI6UXTD?-Dq2vPn zB;=;+TWy40ztAV56F#|Z`1?Kbd~;V>P>J44%8iSBTQrCPccj(vgMq|p_WVrz-mbF#_tM}*Xa zZwHxAOh>~%C!!Wm-X$_QjZP>>-ZwKmm(hMzV%w?(j|G*nfJX<$NZo${xi?8JHhmoU zh07cVvLW<%Kh$1%!Jxxx4t&MB;lLK~>!Ph&lJcM&G4uxz-C{F(QSVo(Q3EAxwZW`y zBx0dAFpYBj=KMGt@hEBEk1LfR%xR08;HPZ~b?0r1(VtUn==r%aF90 z&?s#F%d)%s9opVEtCIwwxXX`iMJoDn?)Za*{DBJxQUVSkV4V44Itdvh{!vXC`NP3@ zr6sfdG9poOa+Q5H_B(dz1hT>Tak}_%vR_cgaQI=Avz9zhV?^JjNu`rpC8UUv*ur?_ z#Dl>>n5vp>^Zj~Y1C}lUMK9g*3-wp@mljr%6yufGI<77zZg=BAx@<1{AGfNIT4;HC z(I9qu)9MD~rplCudt>3qq~$O8U2dS^1N=o(RBjU{csY?y8@%L52~mqA)TGD;)o{~8 zR#WX`nZD`OF}Cirs?iGyM&c|#3>oSBt@$i9;v9mX6i;Aqn712#9zHA2=UU!a<(hDD zGu1HOZB8fxTZ_+_r8w!EpFNi(5POz$jde9G{^4YpR+g0*3o(X4Ex<5!u*ojlnfj39 zp8H|?k)~>w!S2h!JEd<#1Sd&tWrz&Ac*B;5tL*TS470I^qxSRH4C~*RajmME!azr! z-j)}F#4Jn_wf9gCnn94@pIQUDYi+0upA(Br&F?IT1+R!{%F)bR9f^lysYcQ)G3Ivg z8<_j~T|R23+(zml$x4RP3{r>%fxb6JSw$NCIsJ3H@->vDMq^ol;L?7sKH}ca$}zg1 z$zN9_q{)6PE*u>u-2DeEl4mB^{qNfGy*Cut{E+x>-Cqhs1vJ-0%T}2{VLU0$343EEv^Zmml1R}!X9R)J1%r{ml948)p`*;B z%n4c{hma3SLP{z6S$*oOkFF&)!l3#uRxhkn@TNXVUh zBWW!{2qA}%t07T-V~`-f)0GekogR~{;CiRKk4u(Wej!>H&go=mFh2jG8Fy?&mCxe5 z2veH&lMjiVS?+IO*lz;Ck3GR0YZ`&jv&Z z5nxiwCQ@KPQBp^0hMIqj{DK25@tdJA6gm=QPu7W>;pk7aEn5^yX_Vsyg@FEsqEVi( zC3?p9GU^2{y&|fvViv+1duuMBor0=bp=}DEx(qI=%09KasY2fGLivnztI6!>eQ^#b z2X={i7;YQVMWx|TK^I0ZtYFGmop!A)bHd(VUe0hPXS{GHVYMv!svHq!Bo#a=12$bc3IW)hQmo8X3n?;G|_lBeNM8t+XME3a>*NS>qR5O`Kph+qBC0 zzF`Wa_yUCKp{;~KX;$oTFn9_}g`#+@9FHWb^buJx+oDi`VnOUsZphc)`53K{GqF{Q z*N(&yY-BKzsAW;uFhj((tW^s|!)+@QDI_Q`sr4wmHbYmFP$~pNyqH`){-IeX;tE?h3Yu$T7?h-oR2?>Aq?+c3Bi4Au!ZbH?X%Se&4?h` z%G36vSt6I)cu$GYz}z2!OGfV>q<`I+x*j3EeZ4cLkV`1EPn}UfXb7?&=5NI5aYL0H zvDzSWKi9)gY8sSYX^NZt!nc@fi zzTGPUu`ygy;sDTYd*o;RDh3dACN>=m1XedV3~s!HIu$~zAND2@F1}l}S*;ocPOFN< zK-ItP23ngu4xMI@qWK7#1^F!aD;}Q;^b~|4CQFwbHwZ~IiStwAV{N;Kl7IQH8nMh+~@lCt2Yt&qYy=-qE4?2lE$nq4n|7oXxB_^zwtv4 zzZK8=28&0aK^KO)O35NsF26x2B!Z!Fs!CVE6w)69xQfLjxQH3d6~aeT5tHnl0;Jdw zA-ME#qtVDe-!`Bt&uAE9D7kAoP>7aJD*Q(6vw6KOVRvZJx0aXvPl&!kv7`k+=}}J0 zqQICV5;c&(EQeCh7B-NJHdxUut|1)^;|E{eNi==cVA_ZMrxrugqY9}k3Kpkwu}`ZX zy7@zW_u~#z*?2)Mi91RY*B=W60YlXDh{%J3i$mENbv=xkf}O<~#ljKc2sIUgz&M1J z4=A4{tNlbowf59&=wPZuOWCPM5~C24* zhOoa*Apkkt!o+fmnx-t?53>Qv|?>iAK-!wS_< z34tw8Nr*z&4CV>6)xr)IH}@U+UWIwm#XF2|trbWQLc~@4Op$fgugV{Ho8u|YqcHN% ziq+i*TLY`!%=RDaFJ+QY#;Qad4Eoi$+vRvJeChg@x+7gl_k5VzKSl7CdLMI8OH{LG zjB>cq`%XNp!VFX;!!}rRM70uJYs)-XsHKFsr%*Ad zUWt-5npPyEo)zM(4dvVgqf^dmP{>-TXShBR3WW^MW-1Fm>Hz=EoTqcCJh9UU`KlBJ z*Rnh@PcW<_Y0hhR5Nlbb06t1iHK~uBCs7%UG`689DrZ=LF&M*}Cf6;9w`PfU}EYcgI+@E17DgN1P!Z z97}LaozEf^6^c8oZwETXuc^aQ6_+0Q+06J)u81MI$O$%gClGeh|G-RpJ5W;xU)+K& zS^Fh{d#<$#0lA4GDAlmMIXP}(oIWF58y(u0i^D^g*>u4~0T&boqLXN3)C~_RHYMN7 zJR4uK5jwfic1lq)z@9%9q$7DYv@30W8Z)_QynnRXx9Ob-ts;ufZT)qb>B2Maft=H7 z6ruqC_I@|XHIiH{e9}9&e*c8iB8~BK4?M*_eVIv@B{)ftAP>-G|uXcof6iRV`#OHseb%%7 zRay9tu;--E+3KMUX-N-U zTQPJ}OD6@wnv|5&cSd1Vd6C%QMDXrML`eY!w!zi;sx;Fx_h&Hw;ZKrnZ8rB}Xr*@f zt!C(G)Pik!Q5U%AqA~842>JkYC+pJ> z9`L1|Y}4xm|K69D5AOs&hIx36`6rat&j0P7KXd8lPpP*L2J4b*M#FuNG((kIk6{Ihy(haz8@O%N82QcZ9cTh{Y=u1w1CU__sE=&u5yz*ND+Y`6(-75QLq#p zPLcKT3cNwQ$FEGel+6;Q>a*-+7_)OTR*(fmaQ&z^6<*^|+9~drzGtZQMuFYqzZ~Hq z9I5Yc1GcHPu6T2`hKjH$yp%HWm>;yt8Nx*o#SdjL!W%xy^!>?6OnYeRj>Y!$7b00) z;=*FB^q=i`6<5VY?LQfa!^e@;kkQEs2@!Wy>=~Jx7+&V?NKxs1?rrF4jELDHrqJ@+ z+S#H|4W%Skr3kt}N;_caWJqQgeEumWo~z`5HNG{#By9w1Z-CK5 zTSXEg4ZBf19Voxa&d}D#lxyj0C*aPfsEkdoT0$8?AH^U~CyrB?2>WngFI%d4vuFCW zY(-%$;A6oN62}-=hXgZS*i&xfK6gT=v1;|zl6u$kMA*0 z2XqB~7a}gtBSN22@#rEcmHc4QpeUI1IW<#o7EGjSrXg`2>`AeRMp!l4yDc}1cU|>S z!pS!j)wW+{Z=f-&6(#!#FKZ*qzXpk2I6MpOw~g>fTq#vVd}s|7$O3z?{v|9aw#AlA zW0%lepz~IeWm4IBFB!>)Dx_A@} zpF3;${>Yl#_Z)Y?VQWV1{1nT#esgk_@D{#X3>a29^+Q)$pk{Gx){IdNb4{w{dNW$%)=5R+mivVU+4$QAUoL) zM70Ic_(|H@(#nR7qE;-g7ptmKl1k8z#rF+y4bzCuFB^k@A*@*`cipUNY$?{JpE&bY zDe~j7mBXFwvF(8SE2V1smoCBMF$ovjmADZQxnAc#dUmRW%UHi$ZTBSf-ovHGjy2N5 zie)IMk2TJ6pY~$2cii2RCAR5?cafMMGZ0@v+0gpwBu<#!_5ArSTERMYLbrJ^7%CSe z#R-VQD8IS%|LH>+6^_8M?y7v}S|0VX%XL-##vqN4nKD0*FI9yoNxd#1jzcN6oOH4G zbb#X`Kg&6{n4cF`<+5@+JGrxZgfiofsk+34E-K%#$2I!x{=Vfg(ej-(E$iONO;%sh zgL9B-Sjsz{tg<|Ff@F6qN4PKI{0Y{gt-n~`BnyYR%3GOj;A8h_!phXx$$qoQ*wv`| z^8kfXA^jQ|`X#DU4?*!9?8YT(pY3>G>cx6?l+r~%`UqFHmuV!P_>AZB%Ibu6Kys&X zDIIcbqytJ!El>@lj|ct>lZdGkT5fr4M>O&RMZZX81hQy0CfZ%XbEp2A*pWiZP z&uxDMJ@Cr^9goMrS@I5iJffSrhGv0(=9}S_YhMl=V`iMAc}uqycvLJtm-PzSY#D4T z7b_5e{x)dWd=U&PqV7;-{flp@b8UGf7Urs3TpXT-*~U7E3)Y16i(yK#khV0v;Z$8K z2M`UV@p(5{Mwiuc7#yGMA{=C_EN91fPqpZlF9ky(`fi>e5T`!)qE1VD?=~9Co|FU= zd!t1>do@1Noyi6zbf5CHI~*CIjSYO-ga!)L2ou4}sHbn{S2ZK^_&_&IjHAKny~V#i zjXZ7*B;nuw#x`4Fr@TIF&RP1TW>p=)Tl+?>5L;1uvdL{bNe5RRoBCuZ{Q4f`NU1_q z!+8DYBl~FKn_$1j zgp3|D*TW$22YR|T`k^`s2qs-Ksa`TORyOztvxerJ)%qn|E_5vfWfv5E^tuIs8$SLeX%Rhn*ePImL_9=R_=#eD{~I@EHB_ z>6H^IdGF=4O|Y`=uuHyrNkx0VCAj)GsJR?*L^-tQ=rBmWsVVtr15vq;*Lwe9zoTOE zs@W&@ahq7gb30TMFN{6@3Xa^MGP4Q>y`!BoD>yOSqgW$>?_KzWC4M(MTc^U?D z9xoskL=5>LFusFkrvBg22IC?~I||z`&Nhypjts@|`~Q$Mk&RmuDZl+x-_I~di~kO; z**_8se9a7a9d{BrrCm7BkTZ{C|CVNm+OCgMICm`uUuAs2)xgt9H9ce&_Tf!gXwv4K z&hzXmkw#ljl1`5XF(SIFY)}8zq8c+xZUizkGhai^>O11}WH)cQAty~8*)}|dxLl~F zy^Us;Zk>h`4t;1a(`TN!ZKYUtDZP1@P=&&5*yfFyrMs@!A7fVcB4=OY{l7Wk-U?T~ z$iISg8XXt)Qcf`|j^T7PU{t5?ps2MEwlcdgwcdWEJ!tz8B2SE3%Fpf53P5#w7_K!k3?p+RckHvmzCTs&e=@sN2V4JL!|%x%#8IBM>_%+)fMe6lY%T;?YWIz z%MyQlQJ%XMv`z?Arr7rKWZB9WLsSCpKRzx8aZ~u?aDUK3NK!ZU;eHIbx`!Pi{2iK! z;zMgja~>@aGji;M!(&F8kG7Av#di43A}Sk&70wGLrl)^K+Zn?-nhVBi#BkRxcg2(#`CL9+yHJxI zx&FgFp{&w9?A8)QbBQc!u>gYa_-M%|35y zaP*inBi+=f?*ksLcIl5qu#9|Ysu#t4HfhNOxTQ>{C8?zD*YfH5L}pWpoE2U?RigNI zHLf}w=TIX?G|@QmF;9eWZMSi~|Ki=LoeQQwb(syRmEoKofjDfZYn2HJEcYN@(CpDI zJIw4A_~|#_vi0U>V+Hf2&peaAT@u ztaFmvwRt5N{6x_AZh~usL(`Ct(wF{b$XZdApBg!nfUvZ8LbL{JJ^Tx1_d0H~mrW;g zcQ)?>voaGE3sSCkSUWx?vx0m~aM6d1Rrz@NISaaqriG3ulCx9AXv2Be64+6vu6@lB za14mIKZ-`yT)$n9{I}xqlH0KqwTm5j%)6{ zn>uRGDtt{BjsQ)vd!Ih#&Zoc&9grYlgQ;zxlHS^pmg3 z5ySkRo%-f-7-pwRleq~S>OK!$XNli10BXcEUlp}*|JKKl(r(HD1*PMqssABZy6<3v zZZrcfr8~&5Lty3XZ@;xarq1q#1@Z@p(4Fber6j(1%6KKAZ}yY^hybEa_dRJeT9sgF zB9EIsX-$4gHaD^iqUNBmGu}RuLFvP;I{x9cv<9nttx1E&vGA=OiuFse!|lf2qRZ9? zR1Xs0&ph0S*;`=ru3p7~ujn85Gb&=#s&+9#F=5$3rK;i>k+|}bXa0*-gL_`tiDip4 z>m_5!k)Nk8@>Z6b`INdGMO0Q-XNPTQOzW?C8=kS+lvAEQ3x_Pk{|0GGNX%GN`;qIS z!<$sSKXnhFaKfloJ*RzI3o=6sJmhRNMqf;xc;WW_w6;gRthg_20!tw*5v!q5LJl{( zuyJPaRhen)bicJ;AU?&0_=K;aH^9lb?R=rWW3~O{k@Z~8R^ZHiz1=^1D(^1B=-U7K zywAmKR^eKf19f|R&d4l(R>c4Yw8%reyy4`POriXQESiZzj`pO+G7*-F^OPh_gqA8Q zHMd@`k2Z*Tj^j>i`QqEsYXsD5R7$f83YCJvv0C}YRjM5gOr*h}&Nxb4D%3JVRr+*sgRpm0slb0{^n0l>+Kowln>D;hQ6s zTxot;0h^_{3-KEG#6d*(@Q)Ut)_r4%@*PwBx}Qm{)}NDV<|w-`2!fD8WRv`l?m5z5 zA-{aKTb`%U&%~ZmZhwfaozGYqz_5}n-=U(w9$P?*cHelOs7lZFp*AAU+J7g)tII9= zAUE;NW3frFw!VkFdR6#<*vdvkZfs<=&d~B%!Kc;}i*lg%e<5kv~6wB7n#a3Cec=XGcF9mKeDb!{3VC!msa`}?4g~eGvY?JDd z_Yny%=YDNiXSxjcTlQb#Rb!t90e;rxk4mue8m|J%eIJQK2d@}oBr*&SVU3X?;?vfg zx}QFo1A$*zOM7mNRsE34L!crZU1&b++)$1*Uw`|tckON4LI}iwf%KDF{ZgeSgO}00 z`Z&Mwap|m;4GVJJEjGKY1C0qwPOnoyA2|v+(r?1;h`TOOkGOP5#l@3X36{Iav~A17 zbcC>E^+KmDZ!&%$vr4j&3kuDdK5^y}9v&W_+W~~7`vMxcngtklWoKs>uhlNmu2!qn z7C^C^-tS7jZoivtj;I+ogRm9@oht`=Ns>2_!x;h(S<0eDC7(e6t*cWyeohvr`|8de zerYeLAqoZFaJuY+xi4px)Gc{E1TF`<|L#5UBOl`gXJN|wIiwh)gu5=xbVNnyft*&Q zV6SCo7#I{J`){6?fRGRvxvd#MsajwFa{5c|U2jY?{;7ZUO<8K4gi5_xu0N}?a)NXf z3|a|VDm_>#U#A1fi$}7 z4GxncrZBU$Cx<{+;oy^mALIlPUWGxg$w)6>jj}m*9MYWi?2}qrT6rIqX7Ba0?746KQ&j91^*z-wnl-O ze&*CDWKk+KhBx_=r#oEmeF=SLeFRh{DstrCduptrD!=6|{C?}H&l|6BBXY{M`Fv4i z%y@MnaGfgO07Yhjlg;FHHhhuR8=Q-PsCsJbM)jdXK5BF0g&)v`+5DDrGW~De9e*6s zOioU?+@0v%ovsbPy*~fmzXoQfJ+lyj%T=eY*`EW(?T#rx$(*y*rt$j9qEh<`36&T@ z)n_o%k#qP#t%jXO2+Clc6$_WkT_X{r$m_oBCGM*FJ{RIE?})F@(A}vk*4$fp=QqG* z1K2SR@C{p;fuv@Yo8x?5S6!;s@BcI^?}+?^&gVq8SeSNjqcw#xepv|*4fc3)bTo_a zym&jVHbnr}7ZC{j5& zw#8k{vIIbxXZ;MP@<$aHtzLMu+Em54szxDCr7(qHhEr@i6-aUBa3a}2{ZB>b9S`*% z$MLgg5#?lWiR?Wyk|PbjQuZo)omKV-kvdtCag>#;G7mW-E_+0Wqr=6Ov(KKtk3a8m zckb)^`F!5*_viinyq>T7#;Q+eZm)Rxyx-etgp-d%rE~KL0L(fIK;}RjlJ%U9#cyd$ z0?a;e;F*{G{UfQ=AtHMlYjI!d2mWTM!KUdo^%ZD8dV+*|cA36eDOyp?cl=hA?VwIA zRSE5EwqRM^=M)R?+wm6Ows&f9%OTtu6wi<^h`}CpIraNY&0j;?1a<9Ig3t{h57NiyR61HWd9aVR$y=YUlN;QG~b3W{E*N@jQ3#eTTsrebQ(fLbvd9@1t z29?08g-NYQk2-Y;T=_3DJ(DoCg3BB6+k`sl582u$>#UdNhWCEZUB-tpS>aL8dQ^X9 z<8<#A0tNui2pJD;=h~yGz(I7NS_BtLl8rGd8{2?xX}Gl3Vaoq()edRIq(5VC-?}g{ zSa>VDJtX`B{V%pQfkm(De}`b12D1m2ZR{zE?~O}dFe%NEmYXFVC=rB!gtkl{LOivH zYrja*?Mwbg1~^y(VV1+%{H4`}WG!9J_$v#-GS(u~wP}=;r!IVsL*cu=nDE^i-&M^s zUN=zwxC8~gExeg5ub=?PSB{R3F+i>a20TtL8c0w{&04~g%3EyLNemuJZ3uQ&b2oPz zK}jm3%@bU3?{MWgS82n5TnihW?nL!u#hp&!0ic=Y$^c zVE%2*iKp&42{5GuMyKDEnx+3n+3tkD9(#>i?ay3c>{I+;$4cnEr|6VWz7RT}$UTQa zq-GCU=ima6Y&wEVd}tS*0q6$unwtFpxd-Aiud}@iuh_QQATi*YFf5*(wfSG~7LC32 ziwBkiVe$sZOalM<`CpQ-@@9_waR~aduze;@U%lg~H zHJ6R~8|c&L{GU(TDF%^ReINh;zrXh&C&|l?!c<@S?{q!k4bp$vItZqTjZPI@j>2Y2r+y4ED`$7RWE&c8ZD^9L<6CdRnO)1>Erqk zmG|N*Iew-R_sbG4ihlKn{y3e4-izEJDtb31b{y{xhpn}ML;2Epxa8VFTs|=m*iYo< zy_=g{3r~jHg{5R|4x;no)B^J@##7xjQ9x(rJK0@75VVcq!Eh|Z8@MiGBsKp*zISzc=r3#;cl zFJMZKUVFMv9dJd~>zh)}O63S-2sg`o{b}7K^|-Tp$;H=)SpC#36~UmR`o#AapYhcw zk4ftUXLpYfPCCal7YKWi&*mABp{rnR=@G4H zxG99@+zueirX+eygpEr{^n>$JdX@L$yG*%X1UHJChc6h^rq=mQ~nGeok8MSYre+mLbaT-a`*ha z(9@Yfs17j5aZ}F0jveMVoK(sd4AL_vlq&rcw|_xLCr?qMdOAPGmWTdW2uZBXE%~%t zF0s{;bv1+0s=;$^zANc$4(Pu)??)a8-S5K;0xyD$X9xcv#T~!TdBxCt@W9em4%~1t zwo#zv2!6;K^&*KYUqmNFaxDVWxg6GKrM}Mz%*Rkwp{B)=w8LAEM;$E{1rX-ohY#Q< z#p;v~^n~uR$?bAe{KYDiz z9u0JY?5L}RLDbKoGB3ZO{i2xn9pXvM_ZDCuaZ;ts*w%ex8#}4{R_;7EZvWz<3J{yZFcC#vx{;~Lz6{h}v#l!A41}xoFlKGs#-8jvruYJP^ zx9P~8J0Css{!GiDp@GXvV_&dMoO?Xs+YipBv~9>gQQ)_z&OB>u|AzS<*|sIYyVCL| zrRPoiT(LJj%s<#@UlHURR(wKES`fwQh<_XL-fPvtNM%kqvtVLMfGEPiUhH?)0!Ub% zcywM@*9{=)?FS$P0HCB>i)idq7GzkQ12afaHnb)9S^a9^(~&43gDqKTXFCq>d|*$5?1IZO$!w z;b=<1yND!lz3G{>v0e1L_mNwyrI7^e-4}=tT&B5c3jH$D8-@JG2{K`GO!R`Be0+gL8$a{yPYC>mtC4a3NRy3X{W{BQ0BX=qNY)wLAYeck1?;S| zEnmKHwRw5_)e$cNVm>YIOO-H0>~&YTut4qQH{;acL0B%9wQKhY?5xre`yXq9F6$%99KyjS~mc|IRiaMu5 zyCTsp`vCuw`ELfDJs<9ziyvdR8U>*sf72H6w$3`bZn*}mOrZ6=!Ai}e<`*jyx!-p* zDs#+MrSZ)rva#oQ7rHl1q`W<}=jl#~WxN>k#=UHCKJsMuqV|#hkFF;j&P=<@YUxD3 z;0R<}@UqWdw+dRf>^>k-`UCTdAX^%+;|^^@?*tsZd$a9zy>&=$&-q<> zI7Eyh8-b_`A9cpLdZ>GjCrc)Ibi#SMF&K@uAL_tw#BQ$xdS=*^l|9uPif1Zxvf69K zTg|pd_j$@kms5EaHY7geaqe5SLA4!PNv%vFe!9+IlOi-rOFI16Z9DcthHb(C)mOjC z+S%Rx<=mXZ(zg0`2tX%(6-()lmGbCBd*ivW=2Pl-I?n|hYmCrSWiLf?l=<-OX3)I} zcs^jExMg;eN8$+-Q5SH#MYBo@)-0~uHf>A)4G56*=rxB3Kq4J>Le3`w)RBM+K8$^L zrm=(n#335Lp9e=ibBu1Vv;QfAGIM>gp8f3N1f!JBzS8$S&b~g$1hbT{nZjFo=lN9I z3zM~b0W$aFxH~`v0u#8&jlY?F3kZVBzx)KQ8pfQW{w~${HwF`KsI&uChM@{d)pFY5 z2i^)%sLaTDfpWFkrQ{efT^Wh0`o7`Y7s}OYmuji?~urOC;paxjLzzMX=HPb&Iy6T%dkLS58heBu!6;2e92LG zJI*A3kMk%0k;PlmgNFN(33{OC)Jwu7lgIwM^Th|R{Wdcb&QnVM?_T91$?nDEV)4nt zsAEY#jX$382?L>~E8lF{)gA3m+J>Decf^;rTj8kf*6d)5S7Jj~H>eUj)R^=W#_2~p zqJs2;j0Bm8JunHfSjvuB&(EUpY%b^1yYftFMo#J>cGcLkq6~CBewN-L&nL+mU~~) z%`Q(HanMs#v0USSw2Y=szaqQ%+IPd`ls!KFV`frCy2+TKAxc&S14!i>VWb{$3rowT zKW=~?5r8I@u7v#6BDNO!Sq4|vNMUPdm8;#viv{a8uOoJz-WfF`v%5ThP#IBhtG&Wr zr7C5yLsqK8G7)JIkcZ@+Ryu!>vI<{-rQ&HZZ~%n_pq~G#v0$&9tL7hH9lqkBd3r?t z3XIr@UOp|!l~zfwUdzCDbKW=2vs1Ggm+F7iOPDxXst^#pUw&7*(QVnXz5Vy5B~8RW zboN+hX1kp-ddttcmk1Z@zVgeRzId<21vyt%ikv^%C-Wv+myZJiAjl^bWIBP$#Tt&}9yXW{cO)XzFAi6_y@RKug4w|DMs4Si@SuwxfE_ob$n z=I$G_x6u+dHmtP(`=CV)l{i3?E>f(}8GTU7;d97vV9uqpS1IaC5A^g&9mjJ9az^d+ zid}e2ryHX_CaHgyKPO4p`+d%Z(}<@RdYz+cyggfMbKM|+4GY~U4GED0TEMo;WE=un{20x@q*|zXq3>5&#~Kq zu_HBXDp+dk(DXWcbmHA^Pw@Qp&-U|w(2y;;;U_L#E8FvOE3#UT^3IFqlHxu>(_xRN zOg!i1#XGv6?C9qc{h9`cBmyZ%HaGolHq+=12M=0HW7FtYh{~9LO{~F_9VLXTS91Lc zXPNR%PwPb{^8;Mm=eJE+P7au<6}6vSvE5)K)t$_xI5hBh1!7N_cep8mrBfEZx(#O| z*XS&{=cq0oWv}FXcVjx|-FU{|h0w27Iql0+-lY|N23M#^(BBGR{ zlRR!_cB4VTbR)Kuju8>s(`}Kb)1kk~NCt`G4He`#T{8ETP)1d347W8_M8;g^=a-b zINS7N;Klc<+Y6cF9B2A@ku%5No82TkKGQJPxfLasEF5I@NJMK_0JXA@#mDzA_<>5| z@hTW$v|*3s)aap935B7C&4uWQ)AKwx_d5Q*DX6TXzRu)oiw+B(n{>&~3-09pEnDY- ztqQB1JZX<#JIteT5c3g%HK5|~<>+^uY~l<9{w>!EoRUhmMF)hv+y$Bu-FXJF4HuR3 z65!cyS~q^K^7C#7#23?8F{jT&+!jNTn>vgL&rUv`e#qVk zTZfY#d1!&A(dO<7?x{N*4!_`PXyxh!t z#eOV$r+)6N*0S;jbodXfF&P;dW6|+cjd7QegNw{fI+Av|aMXX@`^3-@q+Jvq{g7Vp;M)w%^I63G)Ai9} zlYzcW8I_@2wOUmTjZi(~eRbbd<#X45{`y$YFl<8Au70P8g!=t1A`0a-;L_%*z(yVr zO>Wrrqo1Ii{-Zi*iXeEh#1xoc&3FmCF~-fx{s23u46|OcCLOCTs}W>~%u{?3z4ih@ zpdTVz7pF7ETxS$q*BnZ`|M;IO!q?`Zk;DVe_+B^$(mR=&jspl*+kk{QZwcCYn8pRWehEt7EBV4bsFYBw~HFhWx|v zEUx}GDng^O9Se+t2C-HK2JvQB6T~E-@$X+-dFUdD!ME#B2VK{!v4KLgtPlh0MrW3jD!vppXeBaqO^OIa0%OUm*t z7!uZ#gG*}B!BGJ1t)2N2*$KD7CQha5(PIN=?oX#&W-}a`Gc@4*Oa39X3~hYr>#-k9HZ`|BTJeZV}aB(3Xu1s)xjTiPT-3&1@q=a&l`71pQ>?7G5qtVZ; zlAoAQBM4W*`O5OHPB9hV=K?oDnSu8Kc&kC@@6rx0)Lw!pMd8 z+^h)7-2vykwF)jHTbLT<>}*iHn14)9w{p3jy5v^uXN)wR_!!dHb;x>-n(soRY3wCF zED(*0!Z?VhkN*N`ZPQ<>3EOON+ z%JkeTeI)9e-_W{t)5;q0x(8B_^Eb_p+VNQN_=s;hf?k2&%n~ayQ=<37{c(G7PKtfK zj|bP{wkhpr25#PY&M02p&Sr16snanlU%cFmM~ zT{7K!v^!Z6XS$wa(8i!5l(l7_kAb-*h%eWLXYbnOiyH>kgk4gtr=Sw?ATbqMd(b$e zhL;5x7IMCWkIRe5QJD1-5?UVqvg1+sS0=YBR3#!beyA$(+v9nCtXKJAP@D3DQ&ZH4 zfcHQ)NR{Iv63C2M!Vx13opAoK;3uhD0+mvU>t3|>^AjRFrhBkhRWAq$1%+cS9Du-i ztVUs4k9O(ga8-bm=b3ikV3$u zHgaNXtvW|df+ggnhO;Zr^}gpfoqIXw&PEV>@6#bx!C%4j4d<(s7?7sx30`(Q5L~xi bKczUF^h%7*weSNL>=4+E+Xhv7_A&nhqG)7o literal 0 HcmV?d00001 diff --git a/cygwin-terminal_fr.ico b/cygwin-terminal_fr.ico new file mode 100644 index 0000000000000000000000000000000000000000..17cd76a89ab037ba7ddbb1efdb6d1985f1259c8e GIT binary patch literal 55052 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


$#(;(9qC{Le_E+Oaq%s(t(StP5TUP9(h>uwW$U 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�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 BG(i9W literal 0 HcmV?d00001 diff --git a/cygwin_fr.ico b/cygwin_fr.ico new file mode 100644 index 0000000000000000000000000000000000000000..98e519b04660ae540a0e73b8c504528f91297239 GIT binary patch literal 56020 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 UTJC8tJ05NOmEQc~|DTHTKL?78HUIzs literal 0 HcmV?d00001 diff --git a/desktop.cc b/desktop.cc index 24908f8..c688190 100644 --- a/desktop.cc +++ b/desktop.cc @@ -41,9 +41,15 @@ #include "getopt++/BoolOption.h" #include "LogFile.h" +#ifdef LANG_FR +static BoolOption NoShortcutsOption (false, 'n', "no-shortcuts", "Pas de création de raccourcis de bureau et de menu"); +static BoolOption NoStartMenuOption (false, 'N', "no-startmenu", "Pas de création de raccourci de menu"); +static BoolOption NoDesktopOption (false, 'd', "no-desktop", "Pas de création de raccourci de bureau"); +#else static BoolOption NoShortcutsOption (false, 'n', "no-shortcuts", "Disable creation of desktop and start menu shortcuts"); static BoolOption NoStartMenuOption (false, 'N', "no-startmenu", "Disable creation of start menu shortcut"); static BoolOption NoDesktopOption (false, 'd', "no-desktop", "Disable creation of desktop shortcut"); +#endif /* Lines starting with '@' are conditionals - include 'N' for NT, '5' for Win95, '8' for Win98, '*' for all, like this: @@ -165,7 +171,11 @@ save_icon (std::string &iconpath, const char *resource_name) HRSRC rsrc = FindResource (NULL, resource_name, "FILE"); if (rsrc == NULL) { +#ifndef LANG_FR fatal ("FindResource failed"); +#else + fatal ("Echec de FindResource"); +#endif } HGLOBAL res = LoadResource (NULL, rsrc); char *data = (char *) LockResource (res); @@ -251,8 +261,13 @@ load_dialog (HWND h) header_string = eget (h, IDC_STATIC_HEADER_TITLE, header_string); if (message_string == NULL) message_string = eget (h, IDC_STATIC_HEADER, message_string); +#ifdef LANG_FR + eset (h, IDC_STATIC_HEADER_TITLE, "Installation terminée"); + eset (h, IDC_STATIC_HEADER, "Montre l'état de l'installation en mode téléchargement seulement."); +#else eset (h, IDC_STATIC_HEADER_TITLE, "Installation complete"); eset (h, IDC_STATIC_HEADER, "Shows installation status in download-only mode."); +#endif } else { diff --git a/download.cc b/download.cc index 80615f3..c78a864 100644 --- a/download.cc +++ b/download.cc @@ -198,7 +198,11 @@ do_download_thread (HINSTANCE h, HWND owner) total_download_bytes = 0; total_download_bytes_sofar = 0; +#ifdef LANG_FR + Progress.SetText1 ("Recherche de paquets à télécharger..."); +#else Progress.SetText1 ("Checking for packages to download..."); +#endif Progress.SetText2 (""); Progress.SetText3 (""); diff --git a/geturl.cc b/geturl.cc index 1c1d1c6..e41afea 100644 --- a/geturl.cc +++ b/geturl.cc @@ -64,10 +64,17 @@ init_dialog (const string &url, int length) string::size_type divide = url.find_last_of('/'); max_bytes = length; +#ifdef LANG_FR + Progress.SetText1("Télécharge..."); + Progress.SetText2((url.substr(divide + 1) + " depuis " + + url.substr(0, divide)).c_str()); + Progress.SetText3("Connexion..."); +#else Progress.SetText1("Downloading..."); Progress.SetText2((url.substr(divide + 1) + " from " + url.substr(0, divide)).c_str()); Progress.SetText3("Connecting..."); +#endif Progress.SetBar1(0); start_tics = GetTickCount (); } @@ -93,14 +100,23 @@ progress (int bytes) { int perc = (int)(100.0 * ((double)bytes) / (double)max_bytes); Progress.SetBar1(bytes, max_bytes); +#ifdef LANG_FR + sprintf (buf, "%d %% (%dk/%dk) %03.1f ko/s", + perc, bytes / 1000, max_bytes / 1000, kbps); +#else sprintf (buf, "%d %% (%dk/%dk) %03.1f kB/s", perc, bytes / 1000, max_bytes / 1000, kbps); +#endif if (total_download_bytes > 0) Progress.SetBar2(total_download_bytes_sofar + bytes, total_download_bytes); } else +#ifdef LANG_FR + sprintf (buf, "%d %2.1f ko/s", bytes, kbps); +#else sprintf (buf, "%d %2.1f kB/s", bytes, kbps); +#endif Progress.SetText3(buf); } @@ -223,7 +239,11 @@ get_url_to_file (const string &_url, { const char *err = strerror (errno); if (!err) +#ifdef LANG_FR + err = "(erreur inconnue)"; +#else err = "(unknown error)"; +#endif fatal (owner, IDS_ERR_OPEN_WRITE, _filename.c_str(), err); } diff --git a/ini.cc b/ini.cc index 82990a2..f6c1394 100644 --- a/ini.cc +++ b/ini.cc @@ -61,7 +61,11 @@ std::string ini_setup_version; IniList setup_ext_list (setup_exts, setup_exts + (sizeof(setup_exts) / sizeof(*setup_exts))); +#ifdef LANG_FR +static BoolOption NoVerifyOption (false, 'X', "no-verify", "Ne pas vérifier les signatures de setup.ini"); +#else static BoolOption NoVerifyOption (false, 'X', "no-verify", "Don't verify setup.ini signatures"); +#endif extern int yyparse (); @@ -74,7 +78,11 @@ public: { Progress.SetText2 (""); Progress.SetText3 (""); +#ifndef LANG_FR Progress.SetText4 ("Progress:"); +#else + Progress.SetText4 ("Avancement :"); +#endif } virtual void progress (unsigned long const pos, unsigned long const max) { @@ -98,7 +106,11 @@ public: } virtual void iniName (const std::string& name) { +#ifdef LANG_FR + Progress.SetText1 ("Analyse..."); +#else Progress.SetText1 ("Parsing..."); +#endif Progress.SetText2 (name.c_str ()); Progress.SetText3 (""); } @@ -108,15 +120,27 @@ public: } virtual void warning (const std::string& message)const { +#ifdef LANG_FR + mbox (0, message.c_str (), "attention", 0); +#else mbox (0, message.c_str (), "Warning", 0); +#endif } virtual void error (const std::string& message)const { +#ifdef LANG_FR + mbox (0, message.c_str (), "Erreurs d'analyse", 0); +#else mbox (0, message.c_str (), "Parse Errors", 0); +#endif } virtual ~ GuiParseFeedback () { +#ifdef LANG_FR + Progress.SetText4 ("Paquet :"); +#else Progress.SetText4 ("Package:"); +#endif } private: unsigned int lastpct; diff --git a/install.cc b/install.cc index 79ddd20..8a555b2 100644 --- a/install.cc +++ b/install.cc @@ -70,9 +70,15 @@ static long long int total_bytes_sofar = 0; static int package_bytes = 0; extern BoolOption IncludeSource; +#ifdef LANG_FR +static BoolOption NoReplaceOnReboot (false, 'r', "no-replaceonreboot", + "Inhibe le remplacement des fichiers " + "au prochain redémarrage."); +#else static BoolOption NoReplaceOnReboot (false, 'r', "no-replaceonreboot", "Disable replacing in-use files on next " "reboot."); +#endif struct std_dirs_t { const char *name; @@ -153,7 +159,11 @@ static void chksum_one (const packagemeta &pkg, const packagesource& pkgsource); void Installer::preremoveOne (packagemeta & pkg) { +#ifdef LANG_FR + Progress.SetText1 ("Lancement du script de pré-désinstallation..."); +#else Progress.SetText1 ("Running preremove script..."); +#endif Progress.SetText2 (pkg.name.c_str()); Log (LOG_BABBLE) << "Running preremove script for " << pkg.name << endLog; const unsigned numexts = 4; @@ -165,7 +175,11 @@ Installer::preremoveOne (packagemeta & pkg) void Installer::uninstallOne (packagemeta & pkg) { +#ifdef LANG_FR + Progress.SetText1 ("Désinstalle..."); +#else Progress.SetText1 ("Uninstalling..."); +#endif Progress.SetText2 (pkg.name.c_str()); Log (LOG_PLAIN) << "Uninstalling " << pkg.name << endLog; pkg.uninstall (); @@ -205,7 +219,11 @@ LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam) { case HCBT_ACTIVATE: hWnd = (HWND)wParam; if (GetDlgItem(hWnd, IDCANCEL) != NULL) +#ifdef LANG_FR + SetDlgItemText(hWnd, IDCANCEL, "Continuer"); +#else SetDlgItemText(hWnd, IDCANCEL, "Continue"); +#endif UnhookWindowsHookEx(hMsgBoxHook); } return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam); @@ -256,20 +274,36 @@ FileInuseDlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) break; // show the dialog the way it is in the resource case 1: +#ifdef LANG_FR + SetDlgItemText (hwndDlg, IDRETRY, "&Tuer les processus"); + SetDlgItemText (hwndDlg, IDC_FILE_INUSE_HELP, + "Choisir «Recommencer» pour ré-essayer, " + "choisir «Tuer» pour tuer les processus et ré-essayer, ou " + "choisir «Continuer» pour poursuivre (le fichier sera mis à jour après un redémarrage)."); +#else SetDlgItemText (hwndDlg, IDRETRY, "&Kill Processes"); SetDlgItemText (hwndDlg, IDC_FILE_INUSE_HELP, "Select 'Retry' to retry, " "Select 'Kill' to kill processes and retry, or " "select 'Continue' to go on anyway (the file will be updated after a reboot)."); +#endif break; default: case 2: +#ifdef LANG_FR + SetDlgItemText (hwndDlg, IDRETRY, "&Tuer les processus"); + SetDlgItemText (hwndDlg, IDC_FILE_INUSE_HELP, + "Choisir «Recommencer» pour ré-essayer, " + "choisir «Tuer» pour forcer la fin des processus et ré-essayer, ou " + "choisir «Continuer» pour poursuivre (le fichier sera mis à jour après un redémarrage)."); +#else SetDlgItemText (hwndDlg, IDRETRY, "&Kill Processes"); SetDlgItemText (hwndDlg, IDC_FILE_INUSE_HELP, "Select 'Retry' to retry, " "select 'Kill' to forcibly kill all processes and retry, or " "select 'Continue' to go on anyway (the file will be updated after a reboot)."); +#endif } } return TRUE; // automatically set focus, please @@ -361,7 +395,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, { if (!source.Canonical()) return; +#ifdef LANG_FR + Progress.SetText1 ("Installation"); +#else Progress.SetText1 ("Installing"); +#endif Progress.SetText2 ((pkgm.name + "-" + ver.Canonical_version()).c_str()); io_stream *pkgfile = NULL; @@ -369,7 +407,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, if (!source.Cached() || !io_stream::exists (source.Cached ()) || !(pkgfile = io_stream::open (source.Cached (), "rb", 0))) { +#ifdef LANG_FR + note (NULL, IDS_ERR_OPEN_READ, source.Cached (), "Fichier inexistant"); +#else note (NULL, IDS_ERR_OPEN_READ, source.Cached (), "No such file"); +#endif ++errors; return; } @@ -413,7 +455,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, else { note (NULL, IDS_ERR_OPEN_READ, source.Cached (), +#ifdef LANG_FR + "Format tar invalide on non supporté"); +#else "Invalid or unsupported tar format"); +#endif ++errors; } delete try_decompress; @@ -425,7 +471,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, /* Not a compressed tarball, not a plain tarball, give up. */ delete pkgfile; note (NULL, IDS_ERR_OPEN_READ, source.Cached (), +#ifdef LANG_FR + "Format de fichier non reconnu"); +#else "Unrecognisable file format"); +#endif ++errors; return; } @@ -526,7 +576,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, // listed processes, or just ignore the problem and schedule the file to be // replaced after a reboot FileInuseDlgData dlg_data; +#ifdef LANG_FR + std::string msg = "Incapable d'extraire /" + fn; +#else std::string msg = "Unable to extract /" + fn; +#endif dlg_data.msg = msg.c_str (); dlg_data.processlist = plm.c_str (); dlg_data.iteration = iteration; @@ -541,6 +595,15 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, // All we can offer the user is a generic "retry or ignore" choice and a chance // to fix the problem themselves char msg[fn.size() + 300]; +#ifdef LANG_FR + sprintf (msg, + "Incapable d'extraire /%s\r\n" + "Le fichier est utilisé ou une autre erreur est survenue.\r\n" + "Arrêtez tous les processus Cygwin et sélectionnez «Recommencer», ou\r\n" + "«Continuer» pour poursuivre (il faudra redémarrer).\r\n", + fn.c_str()); + rc = MessageBox (owner, msg, "Erreur à l'écriture du fichier", +#else sprintf (msg, "Unable to extract /%s\r\n\r\n" "The file is in use or some other error occurred.\r\n\r\n" @@ -549,6 +612,7 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, fn.c_str()); rc = MessageBox (owner, msg, "Error writing file", +#endif MB_RETRYCONTINUE | MB_ICONWARNING | MB_TASKMODAL); } } @@ -611,7 +675,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, { char msg[fn.size() + 300]; sprintf (msg, +#ifdef LANG_FR + "Impossible d'extraire /%s -- paquet corrompu ?\r\n", +#else "Unable to extract /%s -- corrupt package?\r\n", +#endif fn.c_str()); // XXX: We should offer the option to retry, @@ -622,7 +690,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, // and ignore all errors is mis-implemented at present // to only apply to errors arising from a single archive, // so we degenerate to the continue option. +#ifdef LANG_FR + mbox (owner, msg, "Erreur extraction fichier", +#else mbox (owner, msg, "File extraction error", +#endif MB_OK | MB_ICONWARNING | MB_TASKMODAL); } @@ -668,21 +740,38 @@ check_for_old_cygwin (HWND owner) char msg[sizeof (buf) + 132]; sprintf (msg, +#ifdef LANG_FR + "Une ancienne version de cygwin1.dll a été trouvée ici :\r\n%s\r\nEffacer ?", +#else "An old version of cygwin1.dll was found here:\r\n%s\r\nDelete?", +#endif buf); switch (MessageBox +#ifdef LANG_FR + (owner, msg, "Qu'est-ce que ça fait là ?", +#else (owner, msg, "What's that doing there?", +#endif MB_YESNO | MB_ICONQUESTION | MB_TASKMODAL)) { case IDYES: if (!DeleteFile (buf)) { +#ifdef LANG_FR + sprintf (msg, "Impossible de supprimer le fichier %s.\r\n" + "La DLL est peut être utilisée par une autre application ?\r\n" + "Vous devriez effacer la vieille version de cygwin1.dll\r\n" + "dès que possible.", buf); + mbox (owner, buf, "Impossible d'effacer le fichier", + MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL); +#else sprintf (msg, "Couldn't delete file %s.\r\n" "Is the DLL in use by another application?\r\n" "You should delete the old version of cygwin1.dll\r\n" "at your earliest convenience.", buf); mbox (owner, buf, "Couldn't delete file", MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL); +#endif } break; default: @@ -733,7 +822,12 @@ do_install_thread (HINSTANCE h, HWND owner) packagedb db; /* Calculate the amount of data to md5sum */ +#ifdef LANG_FR + Progress.SetText1("Calcul..."); +#else Progress.SetText1("Calculating..."); +#endif + long long int md5sum_total_bytes = 0; for (packagedb::packagecollection::iterator i = db.packages.begin (); i != db.packages.end (); ++i) @@ -865,8 +959,13 @@ do_install_thread (HINSTANCE h, HWND owner) { const char *err = strerror (temperr); if (!err) +#ifdef LANG_FR + err = "(erreur inconnue)"; + fatal (owner, IDS_ERR_OPEN_WRITE, "Base de données des paquets", +#else err = "(unknown error)"; fatal (owner, IDS_ERR_OPEN_WRITE, "Package Database", +#endif err); } @@ -953,9 +1052,15 @@ sha512_one (const packagemeta &pkg, const packagesource& pkgsource) Log (LOG_BABBLE) << "Checking SHA512 for " << fullname << endLog; +#ifdef LANG_FR + Progress.SetText1 ((std::string ("Vérification SHA512 pour ") + + pkg.name).c_str ()); + Progress.SetText4 ("Avancement :"); +#else Progress.SetText1 ((std::string ("Checking SHA512 for ") + pkg.name).c_str ()); Progress.SetText4 ("Progress:"); +#endif Progress.SetBar1 (0); unsigned char buffer[64 * 1024]; @@ -1005,9 +1110,15 @@ md5_one (const packagemeta &pkg, const packagesource& pkgsource) Log (LOG_BABBLE) << "Checking MD5 for " << fullname << endLog; +#ifdef LANG_FR + Progress.SetText1 ((std::string ("Vérification MD5 pour ") + + pkg.name).c_str ()); + Progress.SetText4 ("Avancement :"); +#else Progress.SetText1 ((std::string ("Checking MD5 for ") + pkg.name).c_str ()); Progress.SetText4 ("Progress:"); +#endif Progress.SetBar1 (0); unsigned char buffer[64 * 1024]; diff --git a/localdir.cc b/localdir.cc index 4a7ce2a..abbab09 100644 --- a/localdir.cc +++ b/localdir.cc @@ -46,7 +46,11 @@ #include "threebar.h" extern ThreeBarProgressPage Progress; +#ifdef LANG_FR +static StringOption LocalDirOption ("", 'l', "local-package-dir", "Dossier local pour les paquets", false); +#else static StringOption LocalDirOption ("", 'l', "local-package-dir", "Local package directory", false); +#endif static ControlAdjuster::ControlInfo LocaldirControlsInfo[] = { { IDC_LOCALDIR_GRP, CP_STRETCH, CP_TOP }, diff --git a/main.cc b/main.cc index fe1d6c1..2123fc8 100644 --- a/main.cc +++ b/main.cc @@ -87,6 +87,16 @@ using namespace std; HINSTANCE hinstance; +#ifdef LANG_FR +static StringOption Arch ("", 'a', "arch", "Architecture à installer (x86_64 ou x86)", false); +static BoolOption UnattendedOption (false, 'q', "quiet-mode", "Assistant sans messages"); +static BoolOption PackageManagerOption (false, 'M', "package-manager", "Mode assistant sélection seulement"); +static BoolOption NoAdminOption (false, 'B', "no-admin", "Ne pas vérifier et forcer à installer en tant qu'administrateur"); +static BoolOption WaitOption (false, 'W', "wait", "Attendre le process fils en mode élévation"); +static BoolOption HelpOption (false, 'h', "help", "Affiche l'aide"); +static StringOption SetupBaseNameOpt ("setup", 'i', "ini-basename", "Utiliser un nom de base différent, p.ex. \"toto\", au lieu de \"setup\"", false); +BoolOption UnsupportedOption (false, '0', "allow-unsupported-windows", "Autoriser les vieilles versions de Windows"); +#else static StringOption Arch ("", 'a', "arch", "architecture to install (x86_64 or x86)", false); static BoolOption UnattendedOption (false, 'q', "quiet-mode", "Unattended setup mode"); static BoolOption PackageManagerOption (false, 'M', "package-manager", "Semi-attended chooser-only mode"); @@ -95,6 +105,7 @@ static BoolOption WaitOption (false, 'W', "wait", "When elevating, wait for elev static BoolOption HelpOption (false, 'h', "help", "print help"); static StringOption SetupBaseNameOpt ("setup", 'i', "ini-basename", "Use a different basename, e.g. \"foo\", instead of \"setup\"", false); BoolOption UnsupportedOption (false, '0', "allow-unsupported-windows", "Allow old, unsupported Windows versions"); +#endif std::string SetupBaseName; static void inline @@ -214,6 +225,10 @@ WinMain (HINSTANCE h, snprintf(locale, sizeof locale, ".%u", GetACP()); setlocale(LC_ALL, locale); +#ifdef LANG_FR /* A Bit ugly but to be debugged wrt to above 2 lines */ + SetThreadLocale(MAKELCID(MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH),SORT_DEFAULT)); +#endif + char **_argv; int argc; for (argc = 0, _argv = __argv; *_argv; _argv++) @@ -248,10 +263,17 @@ WinMain (HINSTANCE h, else { char buff[80 + ((string) Arch).size ()]; +#ifdef LANG_FR + sprintf (buff, "Option invalide pour --arch : « %s »", + ((string) Arch).c_str ()); + fprintf (stderr, "*** %s\n", buff); + mbox (NULL, buff, "Option invalide", MB_ICONEXCLAMATION | MB_OK); +#else sprintf (buff, "Invalid option for --arch: \"%s\"", ((string) Arch).c_str ()); fprintf (stderr, "*** %s\n", buff); mbox (NULL, buff, "Invalid option", MB_ICONEXCLAMATION | MB_OK); +#endif exit (1); } diff --git a/msg.cc b/msg.cc index 403e78a..356916e 100644 --- a/msg.cc +++ b/msg.cc @@ -55,7 +55,11 @@ mbox (HWND owner, const char *buf, const char *name, int type) return 0; } } +#ifdef LANG_FR + return MessageBox (owner, buf, "Assistant Cygwin", type); +#else return MessageBox (owner, buf, "Cygwin Setup", type); +#endif } static int diff --git a/net.cc b/net.cc index 903f096..cf20e74 100644 --- a/net.cc +++ b/net.cc @@ -35,7 +35,11 @@ #include "ConnectionSetting.h" extern ThreeBarProgressPage Progress; +#ifdef LANG_FR +static StringOption ProxyOption ("", 'p', "proxy", "Proxy HTTP/FTP (serveur:port)", false); +#else static StringOption ProxyOption ("", 'p', "proxy", "HTTP/FTP proxy (host:port)", false); +#endif static int rb[] = { IDC_NET_IE5, IDC_NET_DIRECT, IDC_NET_PROXY, IDC_NET_DIRECT_LEGACY, 0 }; static bool doing_loading = false; diff --git a/nio-file.cc b/nio-file.cc index e69f1ff..0a469be 100644 --- a/nio-file.cc +++ b/nio-file.cc @@ -39,7 +39,11 @@ NetIO (Purl) { const char *err = strerror (errno); if (!err) +#ifdef LANG_FR + err = "(erreur inconnue)"; +#else err = "(unknown error)"; +#endif note (NULL, IDS_ERR_OPEN_READ, path, err); } } diff --git a/nio-http.cc b/nio-http.cc index 413ee7f..49a6efc 100644 --- a/nio-http.cc +++ b/nio-http.cc @@ -21,6 +21,9 @@ #include #include +#include "setup_version.h" +#include "ini.h" + #include "resource.h" #include "state.h" #include "simpsock.h" @@ -117,6 +120,10 @@ retry_get: else s->printf ("Host: %s:%d\r\n", host, port); + // User agent loosely based on RFC2616 + s->printf ("User-Agent: Setup.exe/%s (Cygwin; Windows; %s)\r\n",(setup_version[0] ? setup_version : "unknown"),is_64bit ? "64 bit" : "32 bit"); + + if (net_user && net_passwd) s->printf ("Authorization: Basic %s\r\n", base64_encode (net_user, net_passwd)); diff --git a/nio-ie5.cc b/nio-ie5.cc index 7708d4c..19930f8 100644 --- a/nio-ie5.cc +++ b/nio-ie5.cc @@ -92,7 +92,11 @@ try_again: char buf[2000]; DWORD e, l = sizeof (buf); InternetGetLastResponseInfo (&e, buf, &l); +#ifdef LANG_FR + mbox (0, buf, "Erreur Internet", MB_OK); +#else mbox (0, buf, "Internet Error", MB_OK); +#endif } else { diff --git a/package_message.h b/package_message.h index 7ff7d15..b11982c 100644 --- a/package_message.h +++ b/package_message.h @@ -33,7 +33,12 @@ public: { if (unattended_mode || !id.length () || UserSettings::instance().get (id.c_str ())) /* No message or already seen */; + +#ifdef LANG_FR + else if (MessageBox (NULL, message.c_str (), "Alerte Assistant Cygwin", +#else else if (MessageBox (NULL, message.c_str (), "Setup Alert", +#endif MB_OKCANCEL | MB_ICONSTOP | MB_SETFOREGROUND | MB_TOPMOST) != IDCANCEL) UserSettings::instance().set (id.c_str (), "1"); diff --git a/package_meta.cc b/package_meta.cc index b35b554..f688cc4 100644 --- a/package_meta.cc +++ b/package_meta.cc @@ -47,10 +47,17 @@ using namespace std; using namespace std; +#ifdef LANG_FR +static StringArrayOption DeletePackageOption ('x', "remove-packages", "Spécifie les paquests à désinstaller"); +static StringArrayOption DeleteCategoryOption ('c', "remove-categories", "Spécifie les catégories à désinstaller"); +static StringArrayOption PackageOption ('P', "packages", "Spécifie les paquets à installer"); +static StringArrayOption CategoryOption ('C', "categories", "Spécifie les categories à installer"); +#else static StringArrayOption DeletePackageOption ('x', "remove-packages", "Specify packages to uninstall"); static StringArrayOption DeleteCategoryOption ('c', "remove-categories", "Specify categories to uninstall"); static StringArrayOption PackageOption ('P', "packages", "Specify packages to install"); static StringArrayOption CategoryOption ('C', "categories", "Specify entire categories to install"); +#endif bool hasManualSelections = 0; /*****************/ @@ -74,13 +81,29 @@ packagemeta::_actions::caption () switch (_value) { case 0: +#ifndef LANG_FR return "Default"; +#else + return "Défaut"; +#endif case 1: +#ifndef LANG_FR return "Install"; +#else + return "Installe"; +#endif case 2: +#ifndef LANG_FR return "Reinstall"; +#else + return "Réinstalle"; +#endif case 3: +#ifndef LANG_FR return "Uninstall"; +#else + return "Désinstalle"; +#endif } // Pacify GCC: (all case options are checked above) return 0; @@ -382,16 +405,32 @@ std::string packagemeta::action_caption () const { if (!desired && installed) +#ifdef LANG_FR + return "Désinstalle"; +#else return "Uninstall"; +#endif else if (!desired) +#ifdef LANG_FR + return "Passe"; +#else return "Skip"; +#endif else if (desired == installed && desired.picked()) +#ifdef LANG_FR + return packagedb::task == PackageDB_Install ? "Réinstalle" : "Récupère"; +#else return packagedb::task == PackageDB_Install ? "Reinstall" : "Retrieve"; +#endif else if (desired == installed && desired.sourcePackage() && desired.sourcePackage().picked()) /* FIXME: Redo source should come up if the tarball is already present locally */ return "Source"; else if (desired == installed) /* and neither src nor bin */ +#ifdef LANG_FR + return "Garde"; +#else return "Keep"; +#endif else return desired.Canonical_version (); } diff --git a/postinstall.cc b/postinstall.cc index 2d8e73c..7f139eb 100644 --- a/postinstall.cc +++ b/postinstall.cc @@ -147,7 +147,11 @@ private: static std::string do_postinstall_thread (HINSTANCE h, HWND owner) { +#ifndef LANG_FR Progress.SetText1 ("Running..."); +#else + Progress.SetText1 ("Exécution ..."); +#endif Progress.SetText2 (""); Progress.SetText3 (""); Progress.SetBar1 (0, 1); diff --git a/prereq.cc b/prereq.cc index eb8e21f..9e20344 100644 --- a/prereq.cc +++ b/prereq.cc @@ -93,11 +93,19 @@ PrereqPage::OnNext () { // breakage imminent! danger, danger int res = MessageBox (h, +#ifdef LANG_FR + "Les paquets suivants sont requis en dépendance des paquets à installer. " + "Nous vous recommandons de laisser l'assistant les installer" + "\r\n\r\n" + "Voulez vous continuer ? ", + "ATTENTION - Paquets nécessaires non sélectionnés", +#else "The listed packages are required for packages depending on them to " "work. We strongly recommend that you allow Setup to select them." "\r\n\r\n" "Are you sure you want to proceed without these packages?", "WARNING - Required Packages Not Selected", +#endif MB_YESNO | MB_ICONEXCLAMATION | MB_DEFBUTTON2); if (res == IDNO) return -1; @@ -173,7 +181,11 @@ PrereqChecker::isMet () { packagedb db; +#ifdef LANG_FR + Progress.SetText1 ("Vérification des dépendances..."); +#else Progress.SetText1 ("Checking prerequisites..."); +#endif Progress.SetText2 (""); Progress.SetText3 (""); @@ -277,7 +289,11 @@ PrereqChecker::getUnmetString (std::string &s) s = s + i->first->name + "\t(" + i->first->trustp (false, theTrust).Canonical_version () + ")\r\n\t" + i->first->SDesc () +#ifdef LANG_FR + + "\r\n\tRequis par : "; +#else + "\r\n\tRequired by: "; +#endif for (unsigned int j = 0; j < i->second.size(); j++) { s += i->second[j]->name; diff --git a/propsheet.cc b/propsheet.cc index 9328281..a9fa708 100644 --- a/propsheet.cc +++ b/propsheet.cc @@ -161,8 +161,13 @@ static LRESULT CALLBACK PropSheetWndProc (HWND hwnd, UINT uMsg, break; areyousure: if (MessageBox(hwnd, +#ifdef LANG_FR + "Voulez-vous vraiment quitter l'assistant ? Les téléchargements ou installations en cours seront annulés.", + "Quitter l'assistant Cygwin ?", MB_YESNO) == IDNO) +#else "Are you sure you want to exit setup? Any current download or installation will be aborted.", "Exit Cygwin Setup?", MB_YESNO) == IDNO) +#endif return 0; break; case WM_SIZE: diff --git a/res.rc b/res.rc index 96dcf00..31c8678 100644 --- a/res.rc +++ b/res.rc @@ -14,6 +14,12 @@ #define SETUP_HEADICON_X (SETUP_STANDARD_DIALOG_W - 27) +#ifndef LANG_FR +///////////////////////////////////////////////////////////////////////////// +// +// English (en_US) resources +// + LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US ///////////////////////////////////////////////////////////////////////////// @@ -458,17 +464,6 @@ END ///////////////////////////////////////////////////////////////////////////// // -// Manifest -// - -#ifdef __x86_64__ -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup64.exe.manifest" -#else -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup.exe.manifest" -#endif - -///////////////////////////////////////////////////////////////////////////// -// // Icon // @@ -575,3 +570,559 @@ BEGIN IDS_ELEVATED "Hand installation over to elevated child process." IDS_INSTALLEDB_VERSION "Unknown INSTALLED.DB version" END + +#else + +///////////////////////////////////////////////////////////////////////////// +// +// French (fr_FR) resources +// + +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_SOURCE DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_CHILD | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Choisissez le type d'installation" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "&Installer depuis Internet\n(les fichiers téléchargés seront gardés pour une réutilisation ultérieure)", + IDC_SOURCE_NETINST, "Button", + BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP | BS_MULTILINE + | BS_TOP, + 71, 60, 200, 30 + CONTROL "&Télécharger sans installer", + IDC_SOURCE_DOWNLOAD, "Button", + BS_AUTORADIOBUTTON | WS_TABSTOP, + 71, 90, 200, 10 + CONTROL "Installer depuis un dossier &local",IDC_SOURCE_LOCALDIR,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP, + 71,120,200,10 + ICON IDI_CYGWIN, IDC_HEADICON, SETUP_HEADICON_X, 0, 21, 20 + CONTROL "", IDC_HEADSEPARATOR, "Static", SS_BLACKFRAME | SS_SUNKEN, + 0, 28, SETUP_STANDARD_DIALOG_W, 1 + LTEXT "Choisissez la source du téléchargement",IDC_STATIC_HEADER_TITLE, + 7, 0, 258, 8, NOT WS_GROUP + LTEXT "Choisissez si vous installez ou téléchargez depuis Internet, ou installez des fichiers depuis un dossier local.", + IDC_SOURCE_SUBTEXT, + 21, 9, 239, 16, NOT WS_GROUP +END + +IDD_VIRUS DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_CHILD | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Inhiber l'Anti-Virus ?" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "&Inhiber l'anti-virus",IDC_DISABLE_AV,"Button", + BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,101,69,115,10 + CONTROL "&Laisser l'anti-virus tranquille",IDC_LEAVE_AV,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,101,84,115,10 + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + LTEXT "Choisissez si vous inhibez votre anti-virus pendant l'installation.",IDC_STATIC_HEADER_TITLE,7,0, + 258,8,NOT WS_GROUP + LTEXT "Certains anti-virus, notamment McAfee, génèrent un écran bleu sur Windows XP lors de l'installation de Cygwin.", + IDC_STATIC,21,9,239,16,NOT WS_GROUP + LTEXT "Un anti-virus problématique a été détecté. L'assistant Cygwin peut l'inhiber pendant le processus d'installation, et le revalider à la fin de l'installation.", + IDC_STATIC,21,32,239,24,NOT WS_GROUP +END + +IDD_LOCAL_DIR DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_CHILD | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Sélection du dossier local des paquets" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Sélection du dossier local des paquets",IDC_STATIC_HEADER_TITLE, + 7,0,258,8,NOT WS_GROUP + LTEXT "",IDC_LOCAL_DIR_DESC,21,9,248,16,NOT WS_GROUP + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + GROUPBOX "Dossier local des paquets",IDC_LOCALDIR_GRP,5,35,330,35 + EDITTEXT IDC_LOCAL_DIR,13,47,270,14,ES_AUTOHSCROLL | WS_TABSTOP + PUSHBUTTON "Par&courir...",IDC_LOCAL_DIR_BROWSE,285,47,44,14,WS_TABSTOP +END + +IDD_ROOT DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_CHILD | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Choix du dossier d'installation" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Sélection du dossier racine", IDC_STATIC_HEADER_TITLE, + 7,0,258,8,NOT WS_GROUP + LTEXT "Sélectionnez le dossier où installer Cygwin. " + "Choisissez également des paramètres d'installation.", + IDC_ROOTDIR_SUBTEXT,21,9,239,16,NOT WS_GROUP + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + + GROUPBOX "Dossier racine", IDC_ROOTDIR_GRP,5,35,330,35 + EDITTEXT IDC_ROOT_DIR,15,47,270,14,ES_AUTOHSCROLL | WS_TABSTOP + PUSHBUTTON "Pa&rcourir...",IDC_ROOT_BROWSE,285,47,44,14,WS_TABSTOP + + GROUPBOX "Installer pour",IDC_INSTALLFOR_GRP,5,76,330,101 + CONTROL "&Tout le monde (RECOMMANDÉ)",IDC_ROOT_SYSTEM,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP,13,89,130,8 + CONTROL "Juste &Moi",IDC_ROOT_USER,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,13,130,130,8 + LTEXT "Cygwin sera disponible pour tous les utilisateurs", + IDC_ALLUSERS_TEXT,25,101,300,28 + LTEXT "Cygwin sera disponible pour tous les utilisateurs " + "mais les icones et les menus uniquement pour l'utilisateur " + "en cours. Ne sélectionner que si vous n'avez pas les droits " + "administrateur ou en cas de besoin spécifique.", + IDC_JUSTME_TEXT,25,140,300,32 +END + +IDD_SITE DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_CONTROLPARENT +CAPTION "Assistant Cygwin - Choix site(s) de téléchargement" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + LISTBOX IDC_URL_LIST,66,45,185,110,LBS_NOINTEGRALHEIGHT | + LBS_EXTENDEDSEL | WS_VSCROLL | WS_HSCROLL | WS_GROUP | + WS_TABSTOP + LTEXT "Sites disponibles :",IDC_STATIC,66,34,183,8,NOT + WS_GROUP + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + LTEXT "Choisissez un site dans cette liste, ou ajoutez vos propres sites à la liste.", + IDC_STATIC,21,9,239,16,NOT WS_GROUP + LTEXT "Choisissez un site de téléchargement",IDC_STATIC_HEADER_TITLE,7,0,258, + 8,NOT WS_GROUP + EDITTEXT IDC_EDIT_USER_URL,65,160,185,14,ES_AUTOHSCROLL | WS_GROUP + LTEXT "URL perso :",IDC_SITE_USERURL,15,162,45,8,NOT WS_GROUP + PUSHBUTTON "Ajouter",IDC_BUTTON_ADD_URL,255,160,50,14 +END + +IDD_NET DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_CHILD | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Sélection du type de connexion" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Connexion &directe",IDC_NET_DIRECT,"Button", + BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,60,55,73,10 + CONTROL "Utiliser les paramètres &IE",IDC_NET_IE5,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,60,70,106,10 + CONTROL "Utiliser le &proxy HTTP/FTP :",IDC_NET_PROXY,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,60,85,112,10 + EDITTEXT IDC_PROXY_HOST,120,105,120,12,ES_AUTOHSCROLL | + WS_DISABLED | WS_GROUP + EDITTEXT IDC_PROXY_PORT,120,125,30,12,ES_AUTOHSCROLL | + WS_DISABLED + GROUPBOX "",IDC_STATIC,60,95,185,50 + RTEXT "&Serveur proxy",IDC_STATIC,65,105,50,12,SS_CENTERIMAGE | + NOT WS_GROUP + RTEXT "Por&t",IDC_STATIC,85,125,30,12,SS_CENTERIMAGE | NOT + WS_GROUP + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + LTEXT "L'assistant a besoin de savoir comment vous désirez le connecter à Internet. Choisissez un paramètre approprié ci-dessous.", + IDC_STATIC,21,9,239,16,NOT WS_GROUP + LTEXT "Sélectionnez votre connexion Internet", + IDC_STATIC_HEADER_TITLE,7,0,258,8,NOT WS_GROUP +END + +IDD_INSTATUS DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_CHILD | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Installation...",IDC_INS_ACTION,45,55,205,8,SS_ENDELLIPSIS + LTEXT "(PAQUET)",IDC_INS_PKG,45,70,205,8,SS_ENDELLIPSIS + LTEXT "(FICHIER)",IDC_INS_FILE,45,85,205,10,SS_ENDELLIPSIS + CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32", + PBS_SMOOTH | WS_BORDER,95,130,155,10 + CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32", + PBS_SMOOTH | WS_BORDER,95,115,155,10 + CONTROL "Progress1",IDC_INS_PPROGRESS,"msctls_progress32", + PBS_SMOOTH | WS_BORDER,95,100,155,10 + LTEXT "Paquet :",IDC_INS_BL_PACKAGE,45,100,50,8,NOT WS_GROUP + LTEXT "Total  :",IDC_INS_BL_TOTAL,45,115,50,8,NOT WS_GROUP + LTEXT "Disque :",IDC_INS_BL_DISK,45,130,50,8,NOT WS_GROUP + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + LTEXT "Cette page affiche l'avancement du téléchargement ou de l'installation.", + IDC_STATIC,21,9,239,16,NOT WS_GROUP + LTEXT "Avancement",IDC_STATIC_HEADER_TITLE,7,0,258,8,NOT WS_GROUP +END + +IDD_PROXY_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Authentification proxy requise" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_CYGWIN,IDC_HEADICON,5,5,21,20 + LTEXT "ID &Utilisateur",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL + LTEXT "&Mot de passe",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Authentification proxy requise",IDC_STATIC,65,10,145,10 + DEFPUSHBUTTON "&OK",IDOK,100,75,45,15,WS_DISABLED + PUSHBUTTON "Annule",IDCANCEL,165,75,45,15 +END + +IDD_NET_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Authentification serveur requise" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_CYGWIN,IDC_HEADICON,5,5,21,20 + LTEXT "&Identifiant",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL + LTEXT "&Mot de passe",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Authentification serveur requise",IDC_STATIC,65,10,145,10 + DEFPUSHBUTTON "&OK",IDOK,100,75,45,15,WS_DISABLED + PUSHBUTTON "Annule",IDCANCEL,165,75,45,15 +END + +IDD_SPLASH DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin" +FONT 8, "MS Shell Dlg" +BEGIN +// CONTROL "",IDC_STATIC,"Static",SS_WHITERECT,0,0,95,178 + LTEXT "Programme Assistant Cygwin-FR", + IDC_STATIC_WELCOME_TITLE,115,1,195,24 + LTEXT "Cet assistant est utilisé pour l'installation initiale " + "de l'environnement Cygwin ainsi que pour ses mises à jour." + " Pensez à vous rappeler où vous l'avez enregistré.\r\n\r\n" + "Les pages suivantes vont vous guider durant l'installation. " + "Notez que Cygwin inclus un grand nombre de paquets " + "destinés à de multiples usages. Nous ne pourrons installer " + "par défaut qu'un jeu de paquets de base. Vous pourrez toujours " + "redémarrer ce programme ultérieurement pour ajouter, enlever ou " + "mettre à jour des paquets.",IDC_SPLASH_TEXT,115,25,195,85 + ICON IDI_CYGWIN,IDC_SPLASH_ICON,4,6,0,0,SS_ICON | SS_REALSIZEIMAGE + LTEXT "Version (inconnue)",IDC_VERSION,115,117,195,10 + LTEXT "Copyright 2000-2015",IDC_SPLASH_COPYR,115,130,195,8 + LTEXT "http://www.cygwin.com/",IDC_SPLASH_URL,115,142,90,8 + LTEXT "Version française ®2004-2017 E. Lassauge ",IDC_SPLASH_FR_COPYR,115,154,195,8 + LTEXT "http://lassauge.free.fr/cygwin/",IDC_SPLASH_FR_URL,115,166,195,8 +END + +IDD_DESKTOP DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - État de l'installation et création des icônes" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Créer une icône sur le &bureau",IDC_ROOT_DESKTOP,"Button", + BS_AUTOCHECKBOX,108,78,110,8 + CONTROL "Ajouter une icône au menu &Démarrer",IDC_ROOT_MENU,"Button", + BS_AUTOCHECKBOX,108,93,140,8 + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN,0,28, + SETUP_STANDARD_DIALOG_W,1 + LTEXT "Indiquez à l'assistant si vous voulez créer des icônes pour un accès aisé à Cygwin.", + IDC_STATIC,21,9,239,16,NOT WS_GROUP + LTEXT "Création des icônes",IDC_STATIC_HEADER_TITLE,7,0,258,8,NOT + WS_GROUP + CONTROL "",IDC_DESKTOP_SEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN, + 0,155,SETUP_STANDARD_DIALOG_W,1 + LTEXT "État de l'installation",IDC_STATUS_HEADER,7,160,258,8,NOT WS_GROUP + LTEXT "Installation de Cygwin terminée avec succès.",IDC_STATUS, + 21,169,239,16,NOT WS_GROUP +END + +IDD_FTP_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Authentification FTP requise" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_CYGWIN,IDC_HEADICON,5,5,21,20 + LTEXT "ID &Utilisateur",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL + LTEXT "&Mot de passe",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Authentification FTP requise",IDC_STATIC,65,10,145,10 + DEFPUSHBUTTON "&OK",IDOK,100,75,45,15,WS_DISABLED + PUSHBUTTON "Annule",IDCANCEL,165,75,45,15 +END + +// Width for Keep/Prev/Curr/Exp buttons. +#define SETUP_KPCE_W (30) + +// Right-aligned controls. +#define SETUP_EXP_X (SETUP_STANDARD_DIALOG_W - SETUP_KPCE_W - 7) +#define SETUP_CURR_X (SETUP_EXP_X - SETUP_KPCE_W - 5) +#define SETUP_KEEP_X (SETUP_CURR_X - SETUP_KPCE_W - 5) + +// Left-aligned controls. +#define SETUP_VIEW_X (7) +#define SETUP_VIEW_W (20) +#define SETUP_VIEWLIST_X (SETUP_VIEW_X + SETUP_VIEW_W + 2) +#define SETUP_VIEWLIST_W (60) +#define SETUP_SEARCH_X (SETUP_VIEWLIST_X + SETUP_VIEWLIST_W + 2) +#define SETUP_SEARCH_W (32) +#define SETUP_SEARCHTEXT_X (SETUP_SEARCH_X + SETUP_SEARCH_W + 2) +#define SETUP_SEARCHTEXT_W (60) +#define SETUP_CLEAR_X (SETUP_SEARCHTEXT_X + SETUP_SEARCHTEXT_W + 2) +#define SETUP_CLEAR_W (30) + + +IDD_CHOOSE DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_3DLOOK | WS_CHILD | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "Assistant Cygwin - Sélection des paquets" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Voir", IDC_CHOOSE_VIEWCAPTION, SETUP_VIEW_X, 33, + SETUP_VIEW_W, 10 + COMBOBOX IDC_CHOOSE_VIEW, SETUP_VIEWLIST_X, 30, SETUP_VIEWLIST_W, 84, + CBS_DROPDOWNLIST + RTEXT "&Chercher", IDC_STATIC, SETUP_SEARCH_X, 30, SETUP_SEARCH_W, + 12, SS_CENTERIMAGE, WS_EX_RIGHT + EDITTEXT IDC_CHOOSE_SEARCH_EDIT, SETUP_SEARCHTEXT_X, 30, + SETUP_SEARCHTEXT_W, 12 + PUSHBUTTON "&Efface", IDC_CHOOSE_CLEAR_SEARCH, SETUP_CLEAR_X, 30, + SETUP_CLEAR_W, 12 + CONTROL "&Garde",IDC_CHOOSE_KEEP,"Button",BS_AUTORADIOBUTTON | + WS_GROUP | WS_TABSTOP, SETUP_KEEP_X, 30, SETUP_KPCE_W, 14 + CONTROL "&Actu.", IDC_CHOOSE_CURR, "Button", BS_AUTORADIOBUTTON, + SETUP_CURR_X, 30, SETUP_KPCE_W, 14 + CONTROL "E&xp.", IDC_CHOOSE_EXP, "Button", BS_AUTORADIOBUTTON, + SETUP_EXP_X, 30, SETUP_KPCE_W, 14 + CONTROL "", IDC_HEADSEPARATOR, "Static", SS_BLACKFRAME | SS_SUNKEN, + 0, 28, SETUP_STANDARD_DIALOG_W, 1 + CONTROL "", IDC_LISTVIEW_POS, "Static", SS_BLACKFRAME | NOT + WS_VISIBLE, 7, 45, SETUP_STANDARD_DIALOG_W - 14, 122 + CONTROL "&Cache les paquets obsolètes", IDC_CHOOSE_HIDE, + "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 167, 160, 14 + ICON IDI_CYGWIN, IDC_HEADICON, SETUP_HEADICON_X, 0, 21, 20 + LTEXT "Sélectionnez les paquets que vous voulez installer.", + IDC_CHOOSE_INST_TEXT, 21, 9, 239, 16, NOT WS_GROUP + LTEXT "Sélection des paquets",IDC_STATIC_HEADER_TITLE,7,0,258,8, + NOT WS_GROUP +END + +IDD_PREREQ DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_3DLOOK | WS_CHILD | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "Assistant Cygwin - Résolution des dépendances" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN, + 0,28,SETUP_STANDARD_DIALOG_W,1 + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + LTEXT "Dépendances non résolues",IDC_STATIC_HEADER_TITLE + ,7,0,258,8,NOT WS_GROUP + LTEXT "Les paquets suivants sont requis mais non sélectionnés" + ,IDC_STATIC,21,9,239,16,NOT WS_GROUP + CONTROL "&Installer ces paquets pour résoudre les dépendances (RECOMMANDÉ)" + ,IDC_PREREQ_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, + 7,187,227,14 + EDITTEXT IDC_PREREQ_EDIT,7,45,304,143,WS_VSCROLL | WS_HSCROLL | + ES_LEFT | ES_MULTILINE | ES_READONLY | ES_AUTOHSCROLL | + ES_AUTOVSCROLL + +END + +IDD_DROPPED DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_W, 142 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Utiliser les sites miroirs éliminés ?" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Attention :",IDC_STATIC,7,8,40,8 + LTEXT "Un ou plusieurs miroirs sélectionnés ne sont plus " + "dans la liste officielle des miroirs Cygwin. " + "Certains paquets peuvent manquer ou ne pas être à jour.\n" + "Ceci concerne le(s) miroir(s) suivant(s) :", + IDC_STATIC,47,8,263,32 + EDITTEXT IDC_DROP_MIRRORS,7,40,303,40,WS_VSCROLL | WS_HSCROLL | + ES_LEFT | ES_MULTILINE | ES_READONLY | ES_AUTOHSCROLL | + ES_AUTOVSCROLL + LTEXT "Si vous avez des problèmes à l'installation pensez à " + "n'utiliser que les miroirs officiels.\n\n" + "Voulez-vous continuer avec ce(s) miroir(s) ?", + IDC_STATIC,7,88,303,24 + CONTROL "&Ne plus me prévenir pour ce(s) miroir(s)", + IDC_DROP_NOWARN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, + 7,120,213,15 + PUSHBUTTON "&Oui",IDYES,220,120,45,15 + DEFPUSHBUTTON "&Non",IDNO,265,120,45,15 + +END + +IDD_POSTINSTALL DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_W, 142 +STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_CHILD | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +CAPTION "Assistant Cygwin - Lancement des scripts post-installation" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "",IDC_HEADSEPARATOR,"Static",SS_BLACKFRAME | SS_SUNKEN, + 0,28,SETUP_STANDARD_DIALOG_W,1 + ICON IDI_CYGWIN,IDC_HEADICON,SETUP_HEADICON_X,0,21,20 + LTEXT "Erreurs dans les scripts",IDC_STATIC_HEADER_TITLE + ,7,0,258,8,NOT WS_GROUP + LTEXT "Ceci n'indique pas forcément que les paquets concernés" + "ne fonctionneront pas, mais consultez " + "/var/log/setup.log.full avant de reporter un problème.", + IDC_STATIC,21,9,239,16,NOT WS_GROUP + EDITTEXT IDC_POSTINSTALL_EDIT,7,41,303,112,WS_VSCROLL | WS_HSCROLL | + ES_LEFT | ES_MULTILINE | ES_READONLY | ES_AUTOHSCROLL | + ES_AUTOVSCROLL +END + +IDD_FILE_INUSE DIALOG DISCARDABLE 0, 0, SETUP_STANDARD_DIALOG_DIMS +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "Détection d'un fichier en cours d'utilisation" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_WARNING,IDC_HEADICON,10,10 + LTEXT "Impossible d'extraire %s", + IDC_FILE_INUSE_MSG,33,10,234,8,SS_PATHELLIPSIS + LTEXT "Ce fichier est en cours d'utilisation par : ", + IDC_STATIC,33,28,234,8 + EDITTEXT IDC_FILE_INUSE_EDIT,33,40,234,32,WS_VSCROLL | + ES_LEFT | ES_MULTILINE | ES_READONLY | + ES_AUTOVSCROLL | NOT WS_TABSTOP + LTEXT "Choisir 'Recommencer' pour recommencer, " + "Choisir 'Stop' pour arrêter les process et recommencer, ou " + "Choisir 'Continuer' pour procéder (un reboot sera nécessaire).", + IDC_FILE_INUSE_HELP,33,80,234,24,NOT WS_GROUP + PUSHBUTTON "&Recommencer",IDIGNORE,45,112,55,15 + DEFPUSHBUTTON "&Stop",IDRETRY,111,112,55,1 + PUSHBUTTON "&Continuer",IDCONTINUE,177,112,55,15 +END + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_CYGWIN_SETUP ICON DISCARDABLE "cygwin-setup_fr.ico" +IDI_CYGWIN ICON DISCARDABLE "cygwin_fr.ico" +IDI_CYGWIN_TERMINAL ICON DISCARDABLE "cygwin-terminal_fr.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// FILE +// + +CYGWIN-SETUP.ICON FILE DISCARDABLE "cygwin-setup_fr.ico" +CYGWIN.ICON FILE DISCARDABLE "cygwin_fr.ico" +CYGWIN-TERMINAL.ICON FILE DISCARDABLE "cygwin-terminal_fr.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_SPIN BITMAP DISCARDABLE "choose-spin.bmp" +IDB_CHECK_YES BITMAP DISCARDABLE "check-yes.bmp" +IDB_CHECK_NO BITMAP DISCARDABLE "check-no.bmp" +IDB_CHECK_NA BITMAP DISCARDABLE "check-nd.bmp" +IDB_TREE_PLUS BITMAP DISCARDABLE "tree-plus.bmp" +IDB_TREE_MINUS BITMAP DISCARDABLE "tree-minus.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ROOT_SLASH "Attention : nous recommandons de ne PAS utiliser la racine du disque dur comme racine de Cygwin. Continuer quand même ?" + IDS_ROOT_SPACE "Vous ne devriez pas utiliser un chemin racine qui inclus des espaces dans les noms de dossiers. Continuer quand même ?" + IDS_MIRROR_LST "http://cygwin.com/mirrors.lst" + IDS_ERR_OPEN_WRITE "Impossible d'ouvrir %s en écriture : %s" + IDS_SETUPINI_MISSING "Impossible de récupérer %s depuis « %s »" + IDS_OLD_SETUPINI "Ce fichier setup.ini est plus ancien que celui utilisé lors de la dernière installation de Cygwin. Continuer quand même ?" + IDS_NOTHING_INSTALLED "Rien à installer" + IDS_INSTALL_COMPLETE "Installation terminée" + IDS_REBOOT_REQUIRED "Les fichiers en cours d'utilisation ont été remplacés. Vous devriez redémarrer dès que possible pour activer ces versions. Cygwin pourrait fonctionner de façon incorrecte jusqu'au redémarrage." + IDS_ERR_OPEN_READ "Impossible d'ouvrir %s en lecture : %s" + IDS_ROOT_ABSOLUTE "Le dossier d'installation doit être absolu, avec à la fois un identificateur de lecteur et une barre oblique au début : C:\\Cygwin" + IDS_DOWNLOAD_COMPLETE "Téléchargement terminé" + IDS_NOLOGFILE "Impossible d'ouvrir le fichier de trace %s en écriture" + IDS_UNINSTALL_COMPLETE "Désinstallation terminée" + IDS_WININET "Impossible de trouver ou de charger les DLLs de Internet Explorer 5" + IDS_ERR_CHDIR "Impossible de changer le dossier vers %s : %s [%.8x]" + IDS_OLD_SETUP_VERSION "Cet assistant est en version %s, mais setup.ini indique que la version %s est disponible.\nVous devriez le mettre à jour pour avoir les dernière fonctionnalitées et corrections de bogues." + IDS_DOWNLOAD_INCOMPLETE "Téléchargement incomplet. Recommencer ?" + IDS_INSTALL_ERROR "Erreur d'installation (%s), Continuer avec les autres paquets ?" + IDS_INSTALL_INCOMPLETE "Installation incomplète. Vérifiez %s pour les détails" + IDS_CORRUPT_PACKAGE "Le fichier du paquet %s a une copie locale altérée, supprimez la et recommencez." + IDS_SKIP_PACKAGE "%s\nVoulez-vous passer ce paquet ?" + IDS_WINDOW_INIT_BADMSG "Erreur Fatale : message windows %u inopiné reçu trop tôt lors de l'initialisation de la fenêtre." + IDS_UNCAUGHT_EXCEPTION "Erreur Fatale  : Exception non traitée\nThread: %s\nType: %s\nMessage: %s" + IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO "Erreur Fatale  : Exception non traitée\nThread: %s\nType: %s\nMessage: %s\nAppErrNo: %d" + IDS_TRUSTKEEP_TOOLTIP "Garde tous les paquets à la version installée. " + "Ceci est équivalent à demander à l'assistant de ne faire aucun changement " + "aux paquets." + IDS_TRUSTCURR_TOOLTIP "Sélectionne globalement la version qui est actuellement " + "considérée comme la plus stable (RECOMMANDÉ)." + IDS_TRUSTEXP_TOOLTIP "Sélectionne globalement la version qui est considérée " + "comme expérimentale ou pour test par le mainteneur du paquet." + IDS_VIEWBUTTON_TOOLTIP "Itérer les différentes vues des paquets. Ceci détermine" + " quels paquets seront montrés dans la vue de sélection ci-dessous.\r\n" + "\r\n" + "Catégorie : regroupe par catégorie de paquets. Cliquez sur '+' pour étendre.\r\n" + "\r\n" + "Tout : montre tous les paquets.\r\n" + "\r\n" + "En attente : montre uniquement les paquets à ajouter, enlever ou mettre à jour. " + "Ceci montre ce que l'assistant est sur le point de modifier " + "lors de l'appui sur 'Suivant'.\r\n" + "\r\n" + "À jour : montre les paquets installés qui ne nécessitent pas d'action.\r\n" + "\r\n" + "Non installé : montre les paquets non installés ou qui ne sont pas " + "sélectionnés pour installation." + "\r\n" + "Choisi : montre les paquets installés qui ont été sélectionnés, et non installés " + "pour résoudre une dépendance." + IDS_HIDEOBS_TOOLTIP "L'assistant cachera les paquets des catégories dont " + "le nom commence par '_'. Ces paquets sont vides et sont des emplacements " + "pour des paquets éliminés ou renommés, ou encore des paquets " + "d'infrastructure gérés automatiquement." + IDS_SIG_INVALID "Erreur pour le miroir : la signature de Setup.ini %s de %s est impossible à vérifier.\nLe miroir est peut-être corrompu ? Setup.ini rejeté." + IDS_CRYPTO_ERROR "Erreur interne : librairie gcrypt erreur %d %s" + IDS_SEARCH_TOOLTIP "Chercher cette valeur dans les noms des paquets." + IDS_LOCAL_DIR_DOWNLOAD "Choisir un dossier pour enregistrer les fichiers " + "téléchargés. Ce dossier sera créé s'il n'existe pas." + IDS_LOCAL_DIR_INSTALL "Choisir un dossier où l'assistant ira chercher les " + "fichiers téléchargés." + IDS_MAYBE_MKDIR "Dossier %s absent, voulez-cous le créer ?" + IDS_CANT_MKDIR "Impossible de créer le dossier %s, désolé. (Disque plein ou uniquement en lecture ?)" + IDS_NO_LOCALDIR "Dossier local des paquets %s absent.\nVoulez-vous que setup-FR-%s.exe efface les paquets\n" + "Mais il n'y aura rien à installer\n\nChoisir OK si c'est ce que vous voulez\nou Annuler pour choisir un autre dossier." + IDS_ELEVATED "Passer l'installation au process Administrateur." + IDS_INSTALLEDB_VERSION "Version de INSTALLED.DB inconnue" +END + +#endif // French (fr_FR) resources + +///////////////////////////////////////////////////////////////////////////// +// +// Manifest +// + +#ifdef __x86_64__ +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup64.exe.manifest" +#else +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "setup.exe.manifest" +#endif diff --git a/resource.h b/resource.h index a2add84..edd20c1 100644 --- a/resource.h +++ b/resource.h @@ -175,3 +175,8 @@ #define IDC_FILE_INUSE_MSG 591 #define IDC_FILE_INUSE_HELP 592 #define IDC_NET_DIRECT_LEGACY 593 + +#ifdef LANG_FR + #define IDC_SPLASH_FR_URL 600 + #define IDC_SPLASH_FR_COPYR 601 +#endif diff --git a/root.cc b/root.cc index e339d89..324a24c 100644 --- a/root.cc +++ b/root.cc @@ -40,7 +40,11 @@ using namespace std; +#ifdef LANG_FR +StringOption RootOption ("", 'R', "root", "Dossier racine de l'installation", false); +#else StringOption RootOption ("", 'R', "root", "Root installation directory", false); +#endif static ControlAdjuster::ControlInfo RootControlsInfo[] = { { IDC_ROOTDIR_GRP, CP_STRETCH, CP_TOP }, @@ -107,7 +111,11 @@ browse (HWND h) memset (&bi, 0, sizeof (bi)); bi.hwndOwner = h; bi.pszDisplayName = name; +#ifdef LANG_FR + bi.lpszTitle = "Choisissez le dossier racine de l'installation"; +#else bi.lpszTitle = "Select an installation root directory"; +#endif bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = browse_cb; pidl = SHBrowseForFolder (&bi); @@ -213,6 +221,19 @@ directory_contains_wrong_version (HWND h) /* Forestall mixing. */ const char *setup_ver = is_64bit ? "64" : "32"; const char *inst_ver = is_64bit ? "32" : "64"; +#ifdef LANG_FR + snprintf (text, sizeof text, + "Vous essayez d'installer une version %s bits de Cygwin dans un dossier\n" + "qui contient une version %s bits de Cygwin. Si vous insistez, vous aller\n" + "casser l'installation existante.\n\n" + "Utilisez http://lassauge.free.fr/cygwin/setup-FR-%s.exe pour mettre à jour \n" + "votre installation %s bits de Cygwin, ou choisissez un autre dossier\n" + "pour votre installation %s bits.", + setup_ver, inst_ver, + is_64bit ? "x86" : "x86_64", + inst_ver, setup_ver); + mbox (h, text, "Erreur CPU cible", MB_OK); +#else snprintf (text, sizeof text, "You're trying to install a %s bit version of Cygwin into a directory\n" "containing a %s bit version of Cygwin. Continuing to do so would\n" @@ -224,6 +245,7 @@ directory_contains_wrong_version (HWND h) is_64bit ? "x86" : "x86_64", inst_ver, setup_ver); mbox (h, text, "Target CPU mismatch", MB_OK); +#endif return 1; } diff --git a/sec-pubkey.h b/sec-pubkey.h new file mode 100644 index 0000000..d48f526 --- /dev/null +++ b/sec-pubkey.h @@ -0,0 +1,14 @@ + +/* Autogenerated from: lassauge.pub + * by: ./gpg-key-to-s-expr.sh + * at: Fri Oct 24 13:58:21 2008 */ + +"(public-key " + "(dsa " + "(p #00b6007883a3a60cae36b7ba6577607ecc44e37a07592185cf33e2c2b3336cdf5f6bb8825d29f03de775c0c1b8776667f23a7817220b883ca88f02a308f9b285d558f56606cef41b1775578f2fd740987fe4e171e2575aebecbd3f6d2ff7cf1d6f1f2c456d5a4c09a16c22a4c0abdc1bd34bd0e14f85a06636f29f36db168d46d7#) " + "(q #00b3ae2ff5143522fe501b8a68f30dfde44a91644d#) " + "(g #08bfa4c476695c78d7398b7526fe21df0b64f2a7472c838d21aca009cd11e7d1ddb41af9823c54693c778fa1863eaadddf7daf030e928865f2474873514aad335839c68c7835fa3c1ad0d3e2a7728ac440e58371177f2c438b1ff577004260eb7e7d3055018eee85c6c163890c461c3e2d71a45d4df32850bcaa44903aba17a4#) " + "(y #2252acc47600644271b4bcf93d9b98161b95008c91a906af65011ee771a706c211604aec354df4486aa942cc5366e2a71c83eca84de86fd8345e1b16e3386d923ad9c26534046c442ccae2c56ba7bc595b6ad69a8dd07b8fb037e637c9fb1ec8196dfa510233b7d0b617a93352f0dc1b13a9edeb43b935fa80d27ce800612d9d#)" + ")" +")" + diff --git a/site.cc b/site.cc index b05657b..bd4a5d8 100644 --- a/site.cc +++ b/site.cc @@ -94,9 +94,15 @@ SiteList cached_site_list; /* Stale selected sites to warn about and add to cache */ SiteList dropped_site_list; +#ifdef LANG_FR +StringArrayOption SiteOption('s', "site", "Site de téléchargement"); + +BoolOption OnlySiteOption(false, 'O', "only-site", "Ignorer tous les sites sauf pour -s"); +#else StringArrayOption SiteOption('s', "site", "Download site"); BoolOption OnlySiteOption(false, 'O', "only-site", "Ignore all sites except for -s"); +#endif extern BoolOption UnsupportedOption; SiteSetting::SiteSetting (): saved (false) @@ -425,8 +431,13 @@ do_download_site_info_thread (void *p) { // Error: Couldn't download the site info. // Go back to the Net setup page. +#ifdef LANG_FR + mbox (h, TEXT ("Impossible d'avoir la liste des sites.\n") + TEXT("Vérifiez que vos paramètres réseau sont corrects et réessayez."), +#else mbox (h, TEXT ("Can't get list of download sites.\n") TEXT("Make sure your network settings are correct and try again."), +#endif NULL, MB_OK); // Tell the progress page that we're done downloading diff --git a/source.cc b/source.cc index 42b565e..a958b57 100644 --- a/source.cc +++ b/source.cc @@ -33,8 +33,13 @@ #include "getopt++/BoolOption.h" +#ifdef LANG_FR +static BoolOption DownloadOption (false, 'D', "download", "Télécharger depuis internet"); +static BoolOption LocalOption (false, 'L', "local-install", "Installer depuis un répertoire local"); +#else static BoolOption DownloadOption (false, 'D', "download", "Download from internet"); static BoolOption LocalOption (false, 'L', "local-install", "Install from local directory"); +#endif static int rb[] = { IDC_SOURCE_NETINST, IDC_SOURCE_DOWNLOAD, IDC_SOURCE_LOCALDIR, 0 }; diff --git a/splash.cc b/splash.cc index 265c3eb..71e3808 100644 --- a/splash.cc +++ b/splash.cc @@ -25,8 +25,13 @@ static ControlAdjuster::ControlInfo SplashControlsInfo[] = { { IDC_SPLASH_TEXT, CP_STRETCH, CP_STRETCH }, { IDC_SPLASH_ICON, CP_LEFT, CP_BOTTOM }, { IDC_VERSION, CP_LEFT, CP_BOTTOM }, +#ifndef LANG_FR { IDC_SPLASH_COPYR, CP_LEFT, CP_BOTTOM }, { IDC_SPLASH_URL, CP_LEFT, CP_BOTTOM }, +#else + { IDC_SPLASH_FR_COPYR, CP_LEFT, CP_BOTTOM }, + { IDC_SPLASH_FR_URL, CP_LEFT, CP_BOTTOM }, +#endif {0, CP_LEFT, CP_TOP} }; @@ -45,9 +50,20 @@ void SplashPage::OnInit () { std::string ver = "Setup.exe version "; +#ifdef LANG_FR + ver += (setup_version[0] ? setup_version : "[inconnue]"); + ver += is_64bit ? " (64 bits)" : " (32 bits)"; +#else ver += (setup_version[0] ? setup_version : "[unknown]"); ver += is_64bit ? " (64 bit)" : " (32 bit)"; +#endif SetDlgItemFont(IDC_VERSION, "Arial", 10, FW_BOLD); ::SetWindowText (GetDlgItem (IDC_VERSION), ver.c_str()); makeClickable (IDC_SPLASH_URL, "http://www.cygwin.com"); +#ifdef LANG_FR + std::string url = "http://lassauge.free.fr/cygwin/"; + url += is_64bit ? "x86_64" : "x86"; + url += "/release"; + makeClickable (IDC_SPLASH_FR_URL, url); +#endif } diff --git a/threebar.cc b/threebar.cc index cadf3e7..9aea964 100644 --- a/threebar.cc +++ b/threebar.cc @@ -111,8 +111,15 @@ ThreeBarProgressPage::SetBar2 (long long progress, long long max) { int percent = (int) (100.0 * ((double) progress) / (double) max); SendMessage (ins_iprogress, PBM_SETPOS, (WPARAM) percent, 0); +#ifdef LANG_FR + std::string sp = stringify(percent); + std::string s="Assistant Cygwin - "; + s += sp; + s += "%"; +#else std::string s = stringify(percent); s += "% - Cygwin Setup"; +#endif GetOwner ()->SetWindowText (s.c_str()); } @@ -197,7 +204,11 @@ ThreeBarProgressPage::OnMessageApp (UINT uMsg, WPARAM wParam, LPARAM lParam) } else { +#ifdef LANG_FR + fatal("Sortie non attendue du thread de téléchargement", NO_ERROR); +#else fatal("Unexpected fallthrough from the download thread", NO_ERROR); +#endif } break; } -- 2.12.3 From cb34c4459fb56879a46bba8937de4f9cd67f8fc9 Mon Sep 17 00:00:00 2001 From: Eric Lassauge Date: Mon, 5 Jun 2017 14:36:11 +0200 Subject: [PATCH] Removed errenous translation --- res.rc | 1 - 1 file changed, 1 deletion(-) diff --git a/res.rc b/res.rc index 31c8678..ada91c2 100644 --- a/res.rc +++ b/res.rc @@ -1059,7 +1059,6 @@ BEGIN IDS_DOWNLOAD_COMPLETE "Téléchargement terminé" IDS_NOLOGFILE "Impossible d'ouvrir le fichier de trace %s en écriture" IDS_UNINSTALL_COMPLETE "Désinstallation terminée" - IDS_WININET "Impossible de trouver ou de charger les DLLs de Internet Explorer 5" IDS_ERR_CHDIR "Impossible de changer le dossier vers %s : %s [%.8x]" IDS_OLD_SETUP_VERSION "Cet assistant est en version %s, mais setup.ini indique que la version %s est disponible.\nVous devriez le mettre à jour pour avoir les dernière fonctionnalitées et corrections de bogues." IDS_DOWNLOAD_INCOMPLETE "Téléchargement incomplet. Recommencer ?" -- 2.12.3 From e2d410cb78be7ba5e38c0002ae656d0eeea41cfb Mon Sep 17 00:00:00 2001 From: Eric Lassauge Date: Mon, 5 Jun 2017 15:16:44 +0200 Subject: [PATCH] Corrected FR ico file --- cygwin_fr.ico | Bin 56020 -> 155900 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/cygwin_fr.ico b/cygwin_fr.ico index 98e519b04660ae540a0e73b8c504528f91297239..b1e4f28455e9c930c4dd35369801d56697c4dfa0 100644 GIT binary patch literal 155900 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 z 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 LEnOvL67>H762mh^ delta 30333 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 T9sO5W?mwe)jfet8BJ2MHC@^Q4 -- 2.12.3 From d29093b3595e281950511695c1e35c911c845ed0 Mon Sep 17 00:00:00 2001 From: Eric Lassauge Date: Tue, 20 Jun 2017 11:30:18 +0200 Subject: [PATCH] release_2.880-FR: updated some translations --- install.cc | 4 ++++ main.cc | 12 ++++++++++++ mount.cc | 6 ++++++ netio.cc | 4 ++++ nio-file.cc | 4 ---- res.rc | 2 +- 6 files changed, 27 insertions(+), 5 deletions(-) diff --git a/install.cc b/install.cc index dfc3f68..b08fc36 100644 --- a/install.cc +++ b/install.cc @@ -406,7 +406,11 @@ Installer::installOne (packagemeta &pkgm, const packageversion &ver, if (!source.Cached()) { +#ifdef LANG_FR + note (NULL, IDS_ERR_OPEN_READ, source.Canonical (), "Fichier inconnu"); +#else note (NULL, IDS_ERR_OPEN_READ, source.Canonical (), "Unknown filename"); +#endif ++errors; return; } diff --git a/main.cc b/main.cc index fe7c925..88f70f9 100644 --- a/main.cc +++ b/main.cc @@ -167,10 +167,17 @@ main_display () if (res) { char buf[256]; +#ifdef LANG_FR + sprintf (buf, "CoCreateInstance : échec avec erreur 0x%x.\n" + "L'assistant ne sera pas capable de créer les icônes\n" + "Cygwin dans le menu Démarrer ou sur le bureau.", (int) res); + mbox (NULL, buf, "Assistant Cygwin", MB_OK); +#else sprintf (buf, "CoCreateInstance failed with error 0x%x.\n" "Setup will not be able to create Cygwin Icons\n" "in the Start Menu or on the Desktop.", (int) res); mbox (NULL, buf, "Cygwin Setup", MB_OK); +#endif } // Init window class lib @@ -323,8 +330,13 @@ WinMain (HINSTANCE h, /* Check if Cygwin works on this Windows version */ if (!UnsupportedOption && (OSMajorVersion () < 6)) { +#ifdef LANG_FR + mbox (NULL, "Cygwin n'est pas supporté pour cette version de Windows", + "Assistant Cygwin", MB_ICONEXCLAMATION | MB_OK); +#else mbox (NULL, "Cygwin is not supported on this Windows version", "Cygwin Setup", MB_ICONEXCLAMATION | MB_OK); +#endif Logger ().exit (1, false); } diff --git a/mount.cc b/mount.cc index f261ce0..f7b76df 100644 --- a/mount.cc +++ b/mount.cc @@ -132,9 +132,15 @@ create_install_root () } while (rv == ERROR_ACCESS_DENIED); if (rv != ERROR_SUCCESS) +#ifdef LANG_FR + mbox (NULL, "Impossible de créer la clé de registre\n" + "pour enregistrer le chemin d'installation", + "Assistant Cygwin", MB_OK | MB_ICONWARNING); +#else mbox (NULL, "Couldn't create registry key\n" "to store installation path", "Cygwin Setup", MB_OK | MB_ICONWARNING); +#endif RegCloseKey (key); // The mount table is already in the right shape at this point. diff --git a/netio.cc b/netio.cc index cf634c1..8ab6fd2 100644 --- a/netio.cc +++ b/netio.cc @@ -161,7 +161,11 @@ NetIO::open (char const *url, bool cachable) rv = new NetIO_File (url); break; default: +#ifdef LANG_FR + mbox (NULL, "Protocole non géré par le gestionnaire d'URL", "Assistant Cygwin", MB_OK); +#else mbox (NULL, "Protocol not handled by legacy URL handler", "Cygwin Setup", MB_OK); +#endif } } diff --git a/nio-file.cc b/nio-file.cc index 3e2309a..fce1b2c 100644 --- a/nio-file.cc +++ b/nio-file.cc @@ -40,11 +40,7 @@ NetIO (Purl) { const char *err = strerror (errno); if (!err) -#ifdef LANG_FR - err = "(erreur inconnue)"; -#else err = "(unknown error)"; -#endif Log (LOG_BABBLE) << "Can't open " << path << " for reading: " << err << endLog; } } diff --git a/res.rc b/res.rc index ada91c2..5519496 100644 --- a/res.rc +++ b/res.rc @@ -712,7 +712,7 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL "Connexion &directe",IDC_NET_DIRECT,"Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,60,55,73,10 - CONTROL "Utiliser les paramètres &IE",IDC_NET_IE5,"Button", + CONTROL "Utiliser les paramètres &Système",IDC_NET_IE5,"Button", BS_AUTORADIOBUTTON | WS_TABSTOP,60,70,106,10 CONTROL "Utiliser le &proxy HTTP/FTP :",IDC_NET_PROXY,"Button", BS_AUTORADIOBUTTON | WS_TABSTOP,60,85,112,10 -- 2.12.3