From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 63223 invoked by alias); 9 Oct 2018 13:18:38 -0000 Mailing-List: contact libc-locales-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-locales-owner@sourceware.org Received: (qmail 63201 invoked by uid 89); 9 Oct 2018 13:18:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,UPPERCASE_50_75 autolearn=no version=3.3.2 spammy=upload, 09102018, uppercase, transcription X-HELO: mout.kundenserver.de Subject: Re: [PATCH] Locales: Cyrillic -> ASCII transliteration table [BZ #2872] re-submission for 2.29 From: Egor Kobylkin To: Rafal Luzynski , Marko Myllynen Cc: Keld Simonsen , libc-alpha@sourceware.org, libc-locales@sourceware.org, "Dmitry V. Levin" , Volodymyr Lisivka , Carlos O'Donell , Max Kutny , danilo@gnome.org References: <41532e13-a63d-5df1-ab37-05eb4d6c8d0a@kobylkin.com> <20180412224352.GB2911@altlinux.org> <16e785f3-2e9f-ceb2-698f-dc33c91a5d5e@kobylkin.com> <20181003091949.GA21486@rap.rap.dk> <21d872b2-613e-d1f5-26c0-baa4b5721df9@kobylkin.com> <1485772360.805333.1538731225156@poczta.nazwa.pl> <69e26cab-810e-824b-3b16-b75ac44d8b0c@redhat.com> <246390048.827062.1539037422672@poczta.nazwa.pl> <4db1ce91-3184-cf45-01c5-80667fc4cf65@kobylkin.com> Openpgp: preference=signencrypt Message-ID: Date: Tue, 09 Oct 2018 13:18:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <4db1ce91-3184-cf45-01c5-80667fc4cf65@kobylkin.com> Content-Type: multipart/mixed; boundary="------------BAF1670C58EF1E126451E6B5" X-SW-Source: 2018-q4/txt/msg00027.txt.bz2 This is a multi-part message in MIME format. --------------BAF1670C58EF1E126451E6B5 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 3786 Hi, I have now implemented all the changes requested for translit_cyrillic file but started hitting what seems like a bug: - If the line ; is present in translt_cyrillic the locale compilation fails i.e. grep CYRILLIC < $testfile | LOCPATH=$workdir/compiled_locales/"$locale"/ LC_ALL="$locale".UTF-8 iconv -f UTF-8 -t ASCII//TRANSLIT is hanging frozen. - If the line ; is absent from translit_cyrillic everything works, just the transliteration of fails as expected (? is displayed) - If translit_cyrillic contains ; as the _only_ line the transliteration of works again (others as ?). Would you have any idea into what direction should I look? The new translit_cyrillic is attached. ( is % CYRILLIC CAPITAL LETTER HA) Best regards, Egor On 09.10.2018 01:35, Egor Kobylkin wrote: > On 09.10.2018 00:23, Rafal Luzynski wrote: >> 8.10.2018 14:40 Marko Myllynen wrote: >>> Hi, >>> >>> Thanks for the update. I have few mostly cosmetic comments below, >>> hopefully we'll hear from others whether they agree with this direction. >>> > > Yeah, the earlier we have feedback the more productive we are. I'd be > happy to get much feedback on this as early as possible. So please > everybody concerned please chime in. > >> >>> - No duplicates: >>> >>> % CYRILLIC SMALL LETTER IE >>> ; >>> >>> should become: >>> >>> % CYRILLIC SMALL LETTER IE >>> >>> >>> - There are few issues with the definitions: >>> >>> % CYRILLIC CAPITAL LETTER U >>> ; >>> % CYRILLIC UNDEFINED >>> ; "" >>> >>> % CYRILLIC SMALL LETTER U >>> ; >>> % CYRILLIC UNDEFINED >>> ; "" >> >> Are the duplicates here because some Cyrillic letters may have multiple >> Latin transliterations depending on the context, for example Cyrillic IE >> must be transliterated sometimes as "e", sometimes as "ie", sometimes >> as "ye" or "je"? Can we provide rules for groups of characters instead? > No, the duplicates are just by design of my line generating logic. I > have fixed (removed) them. The varying transcription between > languages/locales can not be handled in one file at all as far as I > understood. > >> >>> I wonder would it be possible to automate generation of this file so >>> that issues like the above could avoided? But perhaps that could be the >>> next step once this initial patch lands. > > I am generating the content part of the translit_cyrillc from the > LibreOffice Spreadsheet. Not sure if you had time to view it by now? > https://sourceware.org/bugzilla/attachment.cgi?id=11299 > > Anyway I have just fixed the issues identified by Marko above in that > spreadsheet. I will do the changes for the below request and then upload > the new translit_cyrillic file to the bugzilla. > > >>> - Please add the standard glibc locale header (see the existing >>> translit_* files for reference) >>> - Consider wrapping the header lines at or around column 70-72 >>> - Consider describing which characters, character ranges, or blocks are >>> supported (perhaps also describe why some of those are not included, see >>> e.g. https://en.wikipedia.org/wiki/Cyrillic_script_in_Unicode) >>> - Please remove trailing whitespaces and spaces after ; >> >> Thanks for this, Marko. While at this, in the ChangeLog and in the commit >> message these paths: >> >> * locales/aa_DJ: likewise >> >> 1. Should be a relative path starting in the root directory of glibc > source, >> that is: "* localedata/locales/aa_DJ". >> 2. Should be "Likewise." (starting with an uppercase and ending with a > dot). > > will do. > > Bests, > Egor > --------------BAF1670C58EF1E126451E6B5 Content-Type: text/plain; charset=UTF-8; name="translit_cyrillic" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="translit_cyrillic" Content-length: 17202 ZXNjYXBlX2NoYXIgLwpjb21tZW50X2NoYXIgJQoKJSBUaGlzIGZpbGUgaXMg cGFydCBvZiB0aGUgR05VIEMgTGlicmFyeSBhbmQgY29udGFpbnMgbG9jYWxl IGRhdGEuCiUgVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBkb2VzIG5v dCBjbGFpbSBhbnkgY29weXJpZ2h0IGludGVyZXN0CiUgaW4gdGhlIGxvY2Fs ZSBkYXRhIGNvbnRhaW5lZCBpbiB0aGlzIGZpbGUuICBUaGUgZm9yZWdvaW5n IGRvZXMgbm90CiUgYWZmZWN0IHRoZSBsaWNlbnNlIG9mIHRoZSBHTlUgQyBM aWJyYXJ5IGFzIGEgd2hvbGUuICBJdCBkb2VzIG5vdAolIGV4ZW1wdCB5b3Ug ZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGUgbGljZW5zZSBpZiB5b3VyIHVz ZSB3b3VsZAolIG90aGVyd2lzZSBiZSBnb3Zlcm5lZCBieSB0aGF0IGxpY2Vu c2UuCgolIFRyYW5zbGl0ZXJhdGlvbnMgb2YgY3lyaWxsaWMgbGV0dGVycyB0 byBsYXRpbiBhbmQvb3IgYXNjaWkgc3ltYm9scy4KJSBJbnNwaXJlZCBieSBJ U08gOS4xOTk1IC8gR09TVCA3Ljc5LTIwMDAuCiUgQ292ZXJzIFVuaWNvZGUg UmFuZ2UgaHR0cHM6Ly93d3cudW5pY29kZS5vcmcvY2hhcnRzL1BERi9VMDQw MC5wZGYKJSBpLmUgW1U0MDAxLVU0RjksIFUyMDE5XSBidXQgb25seSB0aGUg bGV0dGVycyBjb3ZlcmVkIGJ5IElTTyA5LjE5OTUgCiUgSXQgaW1wbGVtZW50 cyB0aGUgR09TVF83Ljc5IFN5c3RlbSBBIChMYXRpbiBTY3JpcHQpIGFzIGEg Zmlyc3QgCiUgb3B0aW9uIGFuZCBTeXN0ZW0gQiBDeXJpbGxpYyAoQVNDSUkp IGFzIGEgc2Vjb25kIG9wdGlvbi4gQ2hlY2sKJSBodHRwczovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9JU09fOSBmb3IgcmVmZXJlbmNlLiAKJSBUaGUgU3lz dGVtIEIgaXMgZXh0ZW5kZWQgZnJvbSBHT1NUXzcuNzktUnVzc2lhbiB1c2lu ZyBvcGVuIHNvdXJjZXMgCiUgb2YgdGhlIHRyYW5zbGl0ZXJhdGlvbiBtYXBw aW5ncyBhbmQgdGhlICJoL2AiIGRpYWNyaXRpY3MgbG9naWMuCgolIFVzYWdl IGV4YW1wbGVzOgolIGljb252IC1mIFVURi04IC10IElTTy04ODU5LTE1Ly9U UkFOU0xJVCBcCiUgICB8IGljb252IC1mIElTTy04ODU5LTE1IC10IFVURi04 ICMgU3lzdGVtIEEKJSBpY29udiAtZiBVVEYtOCAtdCBBU0NJSS8vVFJBTlNM SVQgIyBTeXN0ZW0gQi4KCiUgQ29udHJpYnV0aW9ucyB3ZWxjb21lIGZvciB0 aGUgcmVzdCBvZiBDeXJpbGxpYyBzY3JpcHQgaW4gVW5pY29kZQolIGh0dHBz Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0N5cmlsbGljX3NjcmlwdF9pbl9V bmljb2RlLgolIEJ1Z2ZpeCBmb3IgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mjg3Mi4KJSBHZW5lcmF0ZWQgZnJv bSBVbmljb2RlRGF0YS50eHQgd2l0aCAKJSBodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL2F0dGFjaG1lbnQuY2dpP2lkPTExMzAwLgoKTENfQ1RZ UEUKCnRyYW5zbGl0X3N0YXJ0CgolIENZUklMTElDIENBUElUQUwgTEVUVEVS IElPCjxVMDQwMT4gPFUwMENCPjsiPFUwMDU5PjxVMDA0Rj4iCiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgREpFCjxVMDQwMj4gPFUwMTEwPjsiPFUwMDQ0 PjxVMDA0QT4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgR0pFCjxVMDQw Mz4gPFUwMUY0PjsiPFUwMDQ3PjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRB TCBMRVRURVIgVUtSQUlOSUFOIElFCjxVMDQwND4gPFUwMENBPjsiPFUwMDU5 PjxVMDA2NT4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgRFpFCjxVMDQw NT4gPFUxRTkwPjsiPFUwMDVBPjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRB TCBMRVRURVIgQllFTE9SVVNTSUFOLVVLUkFJTklBTiBJCjxVMDQwNj4gPFUw MENDPjs8VTAwNDk+CiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWUkKPFUw NDA3PiA8VTAwQ0Y+OyI8VTAwNTk+PFUwMDY5PiIKJSBDWVJJTExJQyBDQVBJ VEFMIExFVFRFUiBKRQo8VTA0MDg+ICI8VTAwNEE+PFUwMzBDPiI7PFUwMDRB PgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIExKRQo8VTA0MDk+ICI8VTAw NEM+PFUwMzAyPiI7IjxVMDA0Qz48VTAwNjA+IgolIENZUklMTElDIENBUElU QUwgTEVUVEVSIE5KRQo8VTA0MEE+ICI8VTAwNEU+PFUwMzAyPiI7IjxVMDA0 RT48VTAwNjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIFRTSEUKPFUw NDBCPiA8VTAxMDY+OyI8VTAwNTQ+PFUwMDUzPjxVMDA0OD4iCiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgS0pFCjxVMDQwQz4gPFUxRTMwPjsiPFUwMDRC PjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgU0hPUlQgVQo8 VTA0MEU+IDxVMDE2Qz47IjxVMDA1NT48VTAwNjA+IgolIENZUklMTElDIENB UElUQUwgTEVUVEVSIERaSEUKPFUwNDBGPiAiPFUwMDQ0PjxVMDMwMj4iOyI8 VTAwNDQ+PFUwMDY4PiIKJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBBCjxV MDQxMD4gPFUwMDQxPgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEJFCjxV MDQxMT4gPFUwMDQyPgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIFZFCjxV MDQxMj4gPFUwMDU2PgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEdIRQo8 VTA0MTM+IDxVMDA0Nz4KJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBERQo8 VTA0MTQ+IDxVMDA0ND4KJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBJRQo8 VTA0MTU+IDxVMDA0NT4KJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBaSEUK PFUwNDE2PiA8VTAxN0Q+OyI8VTAwNUE+PFUwMDQ4PiIKJSBDWVJJTExJQyBD QVBJVEFMIExFVFRFUiBaRQo8VTA0MTc+IDxVMDA1QT4KJSBDWVJJTExJQyBD QVBJVEFMIExFVFRFUiBJCjxVMDQxOD4gPFUwMDQ5PgolIENZUklMTElDIENB UElUQUwgTEVUVEVSIFNIT1JUIEkKPFUwNDE5PiA8VTAwNEE+CiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgS0EKPFUwNDFBPiA8VTAwNEI+CiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgRUwKPFUwNDFCPiA8VTAwNEM+CiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgRU0KPFUwNDFDPiA8VTAwNEQ+CiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgRU4KPFUwNDFEPiA8VTAwNEU+CiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgTwo8VTA0MUU+IDxVMDA0Rj4KJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBQRQo8VTA0MUY+IDxVMDA1MD4KJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBFUgo8VTA0MjA+IDxVMDA1Mj4KJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBFUwo8VTA0MjE+IDxVMDA1Mz4KJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBURQo8VTA0MjI+IDxVMDA1ND4KJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBVCjxVMDQyMz4gPFUwMDU1PgolIENZUklMTElD IFVOREVGSU5FRAoiPFUwNDIzPjxVMDMwMT4iIDxVMDBEQT47IjxVMDA1NT48 VTAwNjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEVGCjxVMDQyND4g PFUwMDQ2PgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEhBCjxVMDQyNT4g PFUwMDQ4Pjs8VTAwNTg+CiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgVFNF CjxVMDQyNj4gPFUwMDQzPjsiPFUwMDQzPjxVMDA1QT4iCiUgQ1lSSUxMSUMg Q0FQSVRBTCBMRVRURVIgQ0hFCjxVMDQyNz4gPFUwMTBDPjsiPFUwMDQzPjxV MDA0OD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgU0hBCjxVMDQyOD4g PFUwMTYwPjsiPFUwMDUzPjxVMDA0OD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBM RVRURVIgU0hDSEEKPFUwNDI5PiA8VTAxNUM+OyI8VTAwNTM+PFUwMDQ4PjxV MDA0OD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgSEFSRCBTSUdOCjxV MDQyQT4gPFUwMkJBPjsiPFUwMDQxPjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQ SVRBTCBMRVRURVIgWUVSVQo8VTA0MkI+IDxVMDA1OT47IjxVMDA1OT48VTAw NjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIFNPRlQgU0lHTgo8VTA0 MkM+IDxVMDJCOT47PFUwMDYwPgolIENZUklMTElDIENBUElUQUwgTEVUVEVS IEUKPFUwNDJEPiA8VTAwQzg+OyI8VTAwNDU+PFUwMDYwPiIKJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBZVQo8VTA0MkU+IDxVMDBEQj47IjxVMDA1OT48 VTAwNTU+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIFlBCjxVMDQyRj4g PFUwMEMyPjsiPFUwMDU5PjxVMDA0MT4iCiUgQ1lSSUxMSUMgU01BTEwgTEVU VEVSIEEKPFUwNDMwPiA8VTAwNjE+CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVS IEJFCjxVMDQzMT4gPFUwMDYyPgolIENZUklMTElDIFNNQUxMIExFVFRFUiBW RQo8VTA0MzI+IDxVMDA3Nj4KJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgR0hF CjxVMDQzMz4gPFUwMDY3PgolIENZUklMTElDIFNNQUxMIExFVFRFUiBERQo8 VTA0MzQ+IDxVMDA2ND4KJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSUUKPFUw NDM1PiA8VTAwNjU+CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFpIRQo8VTA0 MzY+IDxVMDE3RT47IjxVMDA3QT48VTAwNjg+IgolIENZUklMTElDIFNNQUxM IExFVFRFUiBaRQo8VTA0Mzc+IDxVMDA3QT4KJSBDWVJJTExJQyBTTUFMTCBM RVRURVIgSQo8VTA0Mzg+IDxVMDA2OT4KJSBDWVJJTExJQyBTTUFMTCBMRVRU RVIgU0hPUlQgSQo8VTA0Mzk+IDxVMDA2QT4KJSBDWVJJTExJQyBTTUFMTCBM RVRURVIgS0EKPFUwNDNBPiA8VTAwNkI+CiUgQ1lSSUxMSUMgU01BTEwgTEVU VEVSIEVMCjxVMDQzQj4gPFUwMDZDPgolIENZUklMTElDIFNNQUxMIExFVFRF UiBFTQo8VTA0M0M+IDxVMDA2RD4KJSBDWVJJTExJQyBTTUFMTCBMRVRURVIg RU4KPFUwNDNEPiA8VTAwNkU+CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIE8K PFUwNDNFPiA8VTAwNkY+CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFBFCjxV MDQzRj4gPFUwMDcwPgolIENZUklMTElDIFNNQUxMIExFVFRFUiBFUgo8VTA0 NDA+IDxVMDA3Mj4KJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgRVMKPFUwNDQx PiA8VTAwNzM+CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFRFCjxVMDQ0Mj4g PFUwMDc0PgolIENZUklMTElDIFNNQUxMIExFVFRFUiBVCjxVMDQ0Mz4gPFUw MDc1PgolIENZUklMTElDIFVOREVGSU5FRAoiPFUwNDQzPjxVMDMwMT4iIDxV MDBGQT47IjxVMDA3NT48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRF UiBFRgo8VTA0NDQ+IDxVMDA2Nj4KJSBDWVJJTExJQyBTTUFMTCBMRVRURVIg SEEKPFUwNDQ1PiA8VTAwNjg+OzxVMDA3OD4KJSBDWVJJTExJQyBTTUFMTCBM RVRURVIgVFNFCjxVMDQ0Nj4gPFUwMDYzPjsiPFUwMDYzPjxVMDA3QT4iCiUg Q1lSSUxMSUMgU01BTEwgTEVUVEVSIENIRQo8VTA0NDc+IDxVMDEwRD47IjxV MDA2Mz48VTAwNjg+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBTSEEKPFUw NDQ4PiA8VTAxNjE+OyI8VTAwNzM+PFUwMDY4PiIKJSBDWVJJTExJQyBTTUFM TCBMRVRURVIgU0hDSEEKPFUwNDQ5PiA8VTAxNUQ+OyI8VTAwNzM+PFUwMDY4 PjxVMDA2OD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEhBUkQgU0lHTgo8 VTA0NEE+IDxVMDJCQT47IjxVMDA2MD48VTAwNjA+IgolIENZUklMTElDIFNN QUxMIExFVFRFUiBZRVJVCjxVMDQ0Qj4gPFUwMDc5PjsiPFUwMDc5PjxVMDA2 MD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFNPRlQgU0lHTgo8VTA0NEM+ IDxVMDJCOT47PFUwMDYwPgolIENZUklMTElDIFNNQUxMIExFVFRFUiBFCjxV MDQ0RD4gPFUwMEU4PjsiPFUwMDY1PjxVMDA2MD4iCiUgQ1lSSUxMSUMgU01B TEwgTEVUVEVSIFlVCjxVMDQ0RT4gPFUwMEZCPjsiPFUwMDc5PjxVMDA3NT4i CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFlBCjxVMDQ0Rj4gPFUwMEUyPjsi PFUwMDc5PjxVMDA2MT4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIElPCjxV MDQ1MT4gPFUwMEVCPjsiPFUwMDc5PjxVMDA2Rj4iCiUgQ1lSSUxMSUMgU01B TEwgTEVUVEVSIERKRQo8VTA0NTI+IDxVMDExMT47IjxVMDA2ND48VTAwNkE+ IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBHSkUKPFUwNDUzPiA8VTAxRjU+ OyI8VTAwNjc+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgVUtS QUlOSUFOIElFCjxVMDQ1ND4gPFUwMEVBPjsiPFUwMDc5PjxVMDA2NT4iCiUg Q1lSSUxMSUMgU01BTEwgTEVUVEVSIERaRQo8VTA0NTU+IDxVMUU5MT47IjxV MDA3QT48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBCWUVMT1JV U1NJQU4tVUtSQUlOSUFOIEkKPFUwNDU2PiA8VTAwRUM+OzxVMDA2OT4KJSBD WVJJTExJQyBTTUFMTCBMRVRURVIgWUkKPFUwNDU3PiA8VTAwRUY+OyI8VTAw Nzk+PFUwMDY5PiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSkUKPFUwNDU4 PiA8VTAxRjA+OzxVMDA2QT4KJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgTEpF CjxVMDQ1OT4gIjxVMDA2Qz48VTAzMDI+IjsiPFUwMDZDPjxVMDA2MD4iCiUg Q1lSSUxMSUMgU01BTEwgTEVUVEVSIE5KRQo8VTA0NUE+ICI8VTAwNkU+PFUw MzAyPiI7IjxVMDA2RT48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRF UiBUU0hFCjxVMDQ1Qj4gPFUwMTA3PjsiPFUwMDc0PjxVMDA3Mz48VTAwNjg+ IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBLSkUKPFUwNDVDPiA8VTFFMzE+ OyI8VTAwNkI+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgU0hP UlQgVQo8VTA0NUU+IDxVMDE2RD47IjxVMDA3NT48VTAwNjA+IgolIENZUklM TElDIFNNQUxMIExFVFRFUiBEWkhFCjxVMDQ1Rj4gIjxVMDA2ND48VTAzMDI+ IjsiPFUwMDY0PjxVMDA2OD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIg QklHIFlVUwo8VTA0NkE+IDxVMDFDRD47IjxVMDA0Rj48VTAwNjA+IgolIENZ UklMTElDIFNNQUxMIExFVFRFUiBCSUcgWVVTCjxVMDQ2Qj4gPFUwMUNFPjsi PFUwMDZGPjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgRklU QQo8VTA0NzI+ICI8VTAwNDY+PFUwMzAwPiI7IjxVMDA0Nj48VTAwNjg+Igol IENZUklMTElDIFNNQUxMIExFVFRFUiBGSVRBCjxVMDQ3Mz4gIjxVMDA2Nj48 VTAzMDA+IjsiPFUwMDY2PjxVMDA2OD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBM RVRURVIgSVpISVRTQQo8VTA0NzQ+IDxVMUVGMj47IjxVMDA1OT48VTAwNjg+ IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBJWkhJVFNBCjxVMDQ3NT4gPFUx RUYzPjsiPFUwMDc5PjxVMDA2OD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRU RVIgU0VNSVNPRlQgU0lHTgo8VTA0OEM+IDxVMDExQT47IjxVMDA0NT48VTAw NjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBTRU1JU09GVCBTSUdOCjxV MDQ4RD4gPFUwMTFCPjsiPFUwMDY1PjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQ SVRBTCBMRVRURVIgR0hFIFdJVEggVVBUVVJOCjxVMDQ5MD4gIjxVMDA0Nz48 VTAzMDA+IjsiPFUwMDQ3PjxVMDA2MD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVU VEVSIEdIRSBXSVRIIFVQVFVSTgo8VTA0OTE+ICI8VTAwNjc+PFUwMzAwPiI7 IjxVMDA2Nz48VTAwNjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEdI RSBXSVRIIFNUUk9LRQo8VTA0OTI+IDxVMDEyMD47IjxVMDA0Nz48VTAwNDg+ IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBHSEUgV0lUSCBTVFJPS0UKPFUw NDkzPiA8VTAxMjE+OyI8VTAwNjc+PFUwMDY4PiIKJSBDWVJJTExJQyBDQVBJ VEFMIExFVFRFUiBHSEUgV0lUSCBNSURETEUgSE9PSwo8VTA0OTQ+IDxVMDEx RT47IjxVMDA0Nz48VTAwNDg+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBH SEUgV0lUSCBNSURETEUgSE9PSwo8VTA0OTU+IDxVMDExRj47IjxVMDA2Nz48 VTAwNjg+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIFpIRSBXSVRIIERF U0NFTkRFUgo8VTA0OTY+ICI8VTAxN0Q+PFUwMzI3PiI7IjxVMDA1QT48VTAw NDg+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgWkhFIFdJVEgg REVTQ0VOREVSCjxVMDQ5Nz4gIjxVMDE3RT48VTAzMjc+IjsiPFUwMDdBPjxV MDA2OD48VTAwNjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEtBIFdJ VEggREVTQ0VOREVSCjxVMDQ5QT4gPFUwMTM2PjsiPFUwMDRCPjxVMDA2MD4i CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEtBIFdJVEggREVTQ0VOREVSCjxV MDQ5Qj4gPFUwMTM3PjsiPFUwMDZCPjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQ SVRBTCBMRVRURVIgS0EgV0lUSCBTVFJPS0UKPFUwNDlFPiAiPFUwMDRCPjxV MDMwND4iOyI8VTAwNEI+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRU RVIgS0EgV0lUSCBTVFJPS0UKPFUwNDlGPiAiPFUwMDZCPjxVMDMwND4iOyI8 VTAwNkI+PFUwMDYwPiIKJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBFTiBX SVRIIERFU0NFTkRFUgo8VTA0QTI+IDxVMUU0Nj47IjxVMDA0RT48VTAwNjA+ IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBFTiBXSVRIIERFU0NFTkRFUgo8 VTA0QTM+IDxVMUU0Nz47IjxVMDA2RT48VTAwNjA+IgolIENZUklMTElDIENB UElUQUwgTElHQVRVUkUgRU4gR0hFCjxVMDRBND4gPFUxRTQ0PjsiPFUwMDRF PjxVMDA0Nz4iCiUgQ1lSSUxMSUMgU01BTEwgTElHQVRVUkUgRU4gR0hFCjxV MDRBNT4gPFUxRTQ1PjsiPFUwMDZFPjxVMDA2Nz4iCiUgQ1lSSUxMSUMgQ0FQ SVRBTCBMRVRURVIgUEUgV0lUSCBNSURETEUgSE9PSwo8VTA0QTY+IDxVMUU1 ND47IjxVMDA1MD48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBQ RSBXSVRIIE1JRERMRSBIT09LCjxVMDRBNz4gPFUxRTU1PjsiPFUwMDcwPjxV MDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgQUJLSEFTSUFOIEhB CjxVMDRBOD4gPFUwMEQyPjsiPFUwMDRGPjxVMDA2MD4iCiUgQ1lSSUxMSUMg U01BTEwgTEVUVEVSIEFCS0hBU0lBTiBIQQo8VTA0QTk+IDxVMDBGMj47IjxV MDA2Rj48VTAwNjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEVTIFdJ VEggREVTQ0VOREVSCjxVMDRBQT4gPFUwMEM3PjsiPFUwMDQzPjxVMDA2MD4i CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEVTIFdJVEggREVTQ0VOREVSCjxV MDRBQj4gPFUwMEU3PjsiPFUwMDQzPjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQ SVRBTCBMRVRURVIgVEUgV0lUSCBERVNDRU5ERVIKPFUwNEFDPiA8VTAxNjI+ OyI8VTAwNTQ+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgVEUg V0lUSCBERVNDRU5ERVIKPFUwNEFEPiA8VTAxNjM+OyI8VTAwNzQ+PFUwMDYw PiIKJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBTVFJBSUdIVCBVCjxVMDRB RT4gPFUwMEQ5Pjs8VTAwNTU+CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFNU UkFJR0hUIFUKPFUwNEFGPiA8VTAwRjk+OzxVMDA3NT4KJSBDWVJJTExJQyBD QVBJVEFMIExFVFRFUiBIQSBXSVRIIERFU0NFTkRFUgo8VTA0QjI+IDxVMUUy OD47IjxVMDA0OD48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBI QSBXSVRIIERFU0NFTkRFUgo8VTA0QjM+IDxVMUUyOT47IjxVMDA2OD48VTAw NjA+IgolIENZUklMTElDIENBUElUQUwgTElHQVRVUkUgVEUgVFNFCjxVMDRC ND4gIjxVMDA0Mz48VTAzMDQ+IjsiPFUwMDU0PjxVMDA0Mz48VTAwNUE+Igol IENZUklMTElDIFNNQUxMIExJR0FUVVJFIFRFIFRTRQo8VTA0QjU+ICI8VTAw NjM+PFUwMzA0PiI7IjxVMDA3ND48VTAwNjM+PFUwMDdBPiIKJSBDWVJJTExJ QyBDQVBJVEFMIExFVFRFUiBTSEhBCjxVMDRCQT4gPFUxRTI0PjsiPFUwMDUz PjxVMDA0OD48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBTSEhB CjxVMDRCQj4gPFUxRTI1PjsiPFUwMDUzPjxVMDA0OD48VTAwNjA+IgolIENZ UklMTElDIENBUElUQUwgTEVUVEVSIEFCS0hBU0lBTiBDSEUKPFUwNEJDPiAi PFUwMDQzPjxVMDMwNj4iOyI8VTAwNDM+PFUwMDQ4PjxVMDA2MD4iCiUgQ1lS SUxMSUMgU01BTEwgTEVUVEVSIEFCS0hBU0lBTiBDSEUKPFUwNEJEPiAiPFUw MDYzPjxVMDMwNj4iOyI8VTAwNjM+PFUwMDY4PjxVMDA2MD4iCiUgQ1lSSUxM SUMgQ0FQSVRBTCBMRVRURVIgQUJLSEFTSUFOIENIRSBXSVRIIERFU0NFTkRF Ugo8VTA0QkU+ICI8VTAwQzc+PFUwMzA2PiI7IjxVMDA0Mz48VTAwNDg+PFUw MDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgQUJLSEFTSUFOIENIRSBX SVRIIERFU0NFTkRFUgo8VTA0QkY+ICI8VTAwRTc+PFUwMzA2PiI7IjxVMDA2 Mz48VTAwNjg+PFUwMDYwPiIKJSBDWVJJTExJQyBMRVRURVIgUEFMT0NIS0EK PFUwNEMwPiA8VTIwMjE+OzxVMDA2OT4KJSBDWVJJTExJQyBDQVBJVEFMIExF VFRFUiBaSEUgV0lUSCBCUkVWRQo8VTA0QzE+ICI8VTAwNUE+PFUwMzA2PiI7 IjxVMDA1QT48VTAwNDg+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRU RVIgWkhFIFdJVEggQlJFVkUKPFUwNEMyPiAiPFUwMDdBPjxVMDMwNj4iOyI8 VTAwN0E+PFUwMDY4PjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRU RVIgS0hBS0FTU0lBTiBDSEUKPFUwNENCPiA8VTAwQzc+OyI8VTAwNDM+PFUw MDQ4PjxVMDA2MD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEtIQUtBU1NJ QU4gQ0hFCjxVMDRDQz4gPFUwMEU3PjsiPFUwMDYzPjxVMDA2OD48VTAwNjA+ IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIEEgV0lUSCBCUkVWRQo8VTA0 RDA+IDxVMDEwMj47IjxVMDA0MT48VTAwNjA+IgolIENZUklMTElDIFNNQUxM IExFVFRFUiBBIFdJVEggQlJFVkUKPFUwNEQxPiA8VTAxMDM+OyI8VTAwNjE+ PFUwMDYwPiIKJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBBIFdJVEggRElB RVJFU0lTCjxVMDREMj4gPFUwMEM0PjsiPFUwMDQxPjxVMDA2MD4iCiUgQ1lS SUxMSUMgU01BTEwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMKPFUwNEQzPiA8 VTAwRTQ+OyI8VTAwNjE+PFUwMDYwPiIKJSBDWVJJTExJQyBDQVBJVEFMIExF VFRFUiBJRSBXSVRIIEJSRVZFCjxVMDRENj4gPFUwMTE0PjsiPFUwMDQ1PjxV MDA2MD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIElFIFdJVEggQlJFVkUK PFUwNEQ3PiA8VTAxMTU+OyI8VTAwNjU+PFUwMDYwPiIKJSBDWVJJTExJQyBD QVBJVEFMIExFVFRFUiBTQ0hXQQo8VTA0RDg+ICI8VTAwNDE+PFUwMzBCPiI7 IjxVMDA0MT48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBTQ0hX QQo8VTA0RDk+ICI8VTAwNjE+PFUwMzBCPiI7IjxVMDA2MT48VTAwNjA+Igol IENZUklMTElDIENBUElUQUwgTEVUVEVSIFpIRSBXSVRIIERJQUVSRVNJUwo8 VTA0REM+ICI8VTAwNUE+PFUwMzA0PiI7IjxVMDA1QT48VTAwNDg+PFUwMDYw PiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgWkhFIFdJVEggRElBRVJFU0lT CjxVMDRERD4gIjxVMDA3QT48VTAzMDQ+IjsiPFUwMDdBPjxVMDA2OD48VTAw NjA+IgolIENZUklMTElDIENBUElUQUwgTEVUVEVSIFpFIFdJVEggRElBRVJF U0lTCjxVMDRERT4gIjxVMDA1QT48VTAzMDg+IjsiPFUwMDVBPjxVMDA2MD4i CiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFpFIFdJVEggRElBRVJFU0lTCjxV MDRERj4gIjxVMDA3QT48VTAzMDg+IjsiPFUwMDdBPjxVMDA2MD4iCiUgQ1lS SUxMSUMgQ0FQSVRBTCBMRVRURVIgQUJLSEFTSUFOIERaRQo8VTA0RTA+IDxV MDE3OT47IjxVMDA1QT48VTAwNjA+IgolIENZUklMTElDIFNNQUxMIExFVFRF UiBBQktIQVNJQU4gRFpFCjxVMDRFMT4gPFUwMTdBPjsiPFUwMDdBPjxVMDA2 MD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJ Uwo8VTA0RTQ+IDxVMDBDRT47IjxVMDA0OT48VTAwNjA+IgolIENZUklMTElD IFNNQUxMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCjxVMDRFNT4gPFUwMEVF PjsiPFUwMDY5PjxVMDA2MD4iCiUgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIg TyBXSVRIIERJQUVSRVNJUwo8VTA0RTY+IDxVMDBENj47IjxVMDA0Rj48VTAw NjA+IgolIENZUklMTElDIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lT CjxVMDRFNz4gPFUwMEY2PjsiPFUwMDZGPjxVMDA2MD4iCiUgQ1lSSUxMSUMg Q0FQSVRBTCBMRVRURVIgQkFSUkVEIE8KPFUwNEU4PiA8VTAwRDQ+OyI8VTAw NEY+PFUwMDYwPiIKJSBDWVJJTExJQyBTTUFMTCBMRVRURVIgQkFSUkVEIE8K PFUwNEU5PiA8VTAwRjQ+OyI8VTAwNkY+PFUwMDYwPiIKJSBDWVJJTExJQyBD QVBJVEFMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTCjxVMDRGMD4gPFUwMERD PjsiPFUwMDU1PjxVMDA2MD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFUg V0lUSCBESUFFUkVTSVMKPFUwNEYxPiA8VTAwRkM+OyI8VTAwNzU+PFUwMDYw PiIKJSBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBVIFdJVEggRE9VQkxFIEFD VVRFCjxVMDRGMj4gPFUwMTcwPjsiPFUwMDU1PjxVMDA2MD4iCiUgQ1lSSUxM SUMgU01BTEwgTEVUVEVSIFUgV0lUSCBET1VCTEUgQUNVVEUKPFUwNEYzPiA8 VTAxNzE+OyI8VTAwNzU+PFUwMDYwPiIKJSBDWVJJTExJQyBDQVBJVEFMIExF VFRFUiBDSEUgV0lUSCBESUFFUkVTSVMKPFUwNEY0PiAiPFUwMDQzPjxVMDMw OD4iOyI8VTAwNDM+PFUwMDQ4PjxVMDA2MD4iCiUgQ1lSSUxMSUMgU01BTEwg TEVUVEVSIENIRSBXSVRIIERJQUVSRVNJUwo8VTA0RjU+ICI8VTAwNjM+PFUw MzA4PiI7IjxVMDA2Mz48VTAwNjg+PFUwMDYwPiIKJSBDWVJJTExJQyBDQVBJ VEFMIExFVFRFUiBZRVJVIFdJVEggRElBRVJFU0lTCjxVMDRGOD4gPFUwMTc4 PjsiPFUwMDU5PjxVMDA2MD4iCiUgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFlF UlUgV0lUSCBESUFFUkVTSVMKPFUwNEY5PiA8VTAwRkY+OyI8VTAwNzk+PFUw MDYwPiIKJSBSSUdIVCBTSU5HTEUgUVVPVEFUSU9OIE1BUksKPFUyMDE5PiA8 VTIwMzU+OzxVMDAyNz4KCnRyYW5zbGl0X2VuZAoKRU5EIExDX0NUWVBFCg== --------------BAF1670C58EF1E126451E6B5--