From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/96838 Path: news.gmane.org!.POSTED!not-for-mail From: Jean-Pierre Delange Newsgroups: gmane.comp.tex.context Subject: TwoColumns in two different languages, with alternate text on even and odd page. Date: Fri, 18 Nov 2016 13:16:28 +0100 (CET) Message-ID: <447192002.77375463.1479471388176.JavaMail.root@spooler6-g27.priv.proxad.net> References: <20161115163940.GF3755204@phare.normalesup.org> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Trace: blaine.gmane.org 1479471425 8635 195.159.176.226 (18 Nov 2016 12:17:05 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 18 Nov 2016 12:17:05 +0000 (UTC) To: Mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Fri Nov 18 13:17:00 2016 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c7i6G-0001L9-RD for gctc-ntg-context-518@m.gmane.org; Fri, 18 Nov 2016 13:17:00 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id C310C1E72E; Fri, 18 Nov 2016 13:16:44 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qMCgw382sYQM; Fri, 18 Nov 2016 13:16:43 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [IPv6:::1]) by zapf.ntg.nl (Postfix) with ESMTP id 4663F1E741; Fri, 18 Nov 2016 13:16:43 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 389C41E6D5 for ; Fri, 18 Nov 2016 13:16:42 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vIETpOeRoKfX for ; Fri, 18 Nov 2016 13:16:40 +0100 (CET) Original-Received: from smtp6-g21.free.fr (smtp6-g21.free.fr [212.27.42.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 4F0051E6BF for ; Fri, 18 Nov 2016 13:16:30 +0100 (CET) Original-Received: from spooler6-g27.priv.proxad.net (unknown [172.20.243.236]) by smtp6-g21.free.fr (Postfix) with ESMTP id B91067801D2 for ; Fri, 18 Nov 2016 13:16:29 +0100 (CET) In-Reply-To: <20161115163940.GF3755204@phare.normalesup.org> X-Originating-IP: [86.246.129.43] X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Linux)/7.2.0-GA2598) X-Authenticated-User: adeimantos@free.fr X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.16 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.org gmane.comp.tex.context:96838 Archived-At: SGkgQXJ0aHVyIGFuZCBIYW5zLAoKSSBtYWtlIGEgc3RhdGVtZW50IG9uIGEgcGFydCBvZiB0aGUg QXJ0aHVyJ3MgcmVwbHkgKCIgdGhlcmUgYXJlIG5vIHJlYWwtbGlmZSBleGFtcGxlcyBvZiBkb2N1 bWVudHMgdGhhdCB1c2UgaXQiKSA6IGluIGZhY3QsIHRoZXJlIGFyZSByYXJlIGV4YW1wbGVzIG9m IHN1Y2ggcHJpbnRpbmcgbWF0ZXJpYWxzIDogc2Nob2xhciBlZGl0aW5nIGFuZCBwcmludGluZyBv ZiBBbmNpZW50IHRleHRzIGFyZSBtYWlubHkgKGlmIEkgYW0gcmlnaHQpIHN1Y2ggcHJpbnRpbmcg bWF0ZXJpYWwgKGluY2x1ZGluZyBBbmNpZW50IEFybWVuaWFuIG9yIEdlb3JnaWFuIGxpdHVyZ2lj IGh5bW5zKS4gCgpBbiBleGFtcGxlIG9mIHN1Y2ggYSBib29rIDogb24gdGhlIGV2ZW4gcGFnZSB5 b3UgcmVhZCBhICd0d29jb2x1bW5zJyB0ZXh0IChzYXkgOiBHcmVlayB0ZXh0IHdpdGggaXRzIExh dGluIHRyYW5zbGF0aW9uKSB3aXRoIHRoZXJlIG93biBwYWdlIHNldHRpbmcsIGluY2x1ZGluZyBT dGVwaGFudXMgYXBwYXJhdHVzIGluIHRoZSBmb290ZXIsIGFuZCBzZXZlcmFsIGxldmVscyBvZiBm b290bm90ZXMgd2l0aGluIHRoZSBzYW1lIGZvb3Rlci4gQ29tbWVudGFyaWVzIChpbiBFbmdsaXNo LCBGcmVuY2gsIEdlcm1hbiwgdXN3KSBhbmQgdGhlIGxpa2UgYXJlIG9uIHRoZSBvZGQgcGFnZS4g VGhlIGF2ZXJhZ2UgKG9yIHJlZ3VsYXIpIHNpdHVhdGlvbiBzZWVtcyB0byBiZSBsZXNzIGNvbXBs aWNhdGVkIDogR3JlZWsgb3IgTGF0aW4gdGV4dCBvbiB0aGUgZXZlbiBwYWdlIGFuZCB0cmFuc2xh dGlvbiBvbiB0aGUgb2RkIHBhZ2UuIFdpdGggUGFibG8gUm9kcmlndWV6IGhlbHAgKGFjdHVhbGx5 LCB0aGlzIGlzIG1haW5seSBQYWJsbydzIHdvcmspIEkgaGF2ZSB0cmllZCB0byBmaWd1cmUgc3Vj aCBhIGdvYWwuIEJ1dCBiZWZvcmUgc2V0dGluZyB1cCB0aGUgZXZlbi9vZGQgcGFnZSwgdGhlcmUg aXMgYW4gaXNzdWUgd2hpY2ggb25lIGhhcyB0byBmaXg6IHRoZSB0ZXh0IG9uIHR3byBjb2x1bW5z IGlzIHdlbGwgZml0dGVkIG9uIHRoZSBmaXJzdCBwYWdlLCBidXQgbm90IG9uIHRoZSBmb2xsb3dp bmcgcGFnZXMuIEhvdyB0byBmaXggdGhpcyBpc3N1ZSB3aXRoIEdyZWVrIHRleHQgb24gdGhlIGxl ZnQgY29sdW1uIGFuZCBMYXRpbiBUZXh0IG9uIHRoZSByaWdodCBvbmUgPyBTZWUgdGhlIG1pc21h dGNoIGJldHdlZW4gdGV4dHMgb24gdGhlIHNlY29uZCBwYWdlIGluIHRoZSBzYW1wbGUgYmVsb3cg LgpUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIHJlbWFya3MgYW5kIGFkdmljZXMuCkpQCgpc c2V0dXBsYW5ndWFnZVthZ3JdW3BhdHRlcm5zPXthZ3IsbGF9XQogICAgXG1haW5sYW5ndWFnZVth Z3JdICUgR3JlZWsgYXMgbWFpbiBsYW5ndWFnZQogXGRlZmluZWZhbGxiYWNrZmFtaWx5IFttYWlu ZmFjZV0gW3NlcmlmXSBbR0ZTIERpZG90XSBbcHJlc2V0PXJhbmdlOmdyZWVrXQogICAgXGRlZmlu ZWZvbnRmYW1pbHkgW21haW5mYWNlXSBbc2VyaWZdIFtUZVggR3lyZSBQYWdlbGxhXQogICAgXHNl dHVwbGF5b3V0W2hlYWRlcj0yY20sIGZvb3Rlcj0yY21dCiAgXHNldHVwbm90ZXNbY29tcHJlc3M9 eWVzXQogICAgXHNldHVwbm90YXRpb25zW2FsdGVybmF0aXZlPXNlcnJpZWRdCiAgICBcZGVmaW5l bGluZW5vdGVbYU5vdGVdCiAgICBcZGVmaW5lbGluZW5vdGVbYk5vdGVdW249Ml0KICAgIFxkZWZp bmVsaW5lbm90ZVtjTm90ZV1bbj0zXQogICAgXGRlZmluZWxpbmVub3RlW2ROb3RlXVtwYXJhZ3Jh cGg9eWVzXQogICAgXGRlZlxBTm90ZSMxIzJ7IzFcYU5vdGV7IzFdICMyfX0KICAgIFxkZWZcQk5v dGUjMSMyeyMxXGJOb3RleyMxXSAjMn19CiAgICBcZGVmXENOb3RlIzEjMnsjMVxjTm90ZXsjMV0g IzJ9fQogICAgXGRlZlxETm90ZSMxIzJ7IzFcZE5vdGV7IzFdICMyfX0KICAgIFxzZXR1cGFsaWdu W2h6LCBoYW5naW5nXQogICAgXHNldHVwdG9sZXJhbmNlW3N0cmljdF0KICAgIFxzZXR1cGxpbmVu dW1iZXJpbmdbc3RlcD01LCBsb2NhdGlvbj1pbnJpZ2h0LCBkaXN0YW5jZT0xZXgsCiAgICAgYWxp Z249Y2VudGVyLCB3aWR0aD0wLjVlbV0KICAgIFxkZWZpbmVtYXJnaW5kYXRhW1N0ZXBoYW51c11b bG9jYXRpb249aW5uZXIsIGRpc3RhbmNlPTJleCwKICAgICBzdHlsZT1cZW1dCiAgICBcc2V0dXBi b2R5Zm9udFttYWluZmFjZSwgNy44cHRdCiAgICUgXGRlZmluZWNvbHVtbnNldFtleGFtcGxlXVtu PTIsIGJhbGFuY2U9eWVzXQogICAgXHN0YXJ0dGV4dAogICAgXHN0YXJ0XGZyICUgc29tZSB0ZXh0 IGluIEZyZW5jaAogICAgRMOpZmluaXIgdW4gYGFwcGFyYXQgY3JpdGlxdWUnIGV0IGxlIG1ldHRy ZSBlbiBwYWdlIGF2ZWMgdW4KICAgIHRyYWl0ZW1lbnQgZGUgdGV4dGUgY291cmFudCBlc3QgdW4g dsOpcml0YWJsZSBjYXNzZS10w6p0ZS4gTGFUZVggZXQKICAgIENvblRlWHQgb2ZmcmVudCBkZXMg b3V0aWxzIGQnYXV0b21hdGlzYXRpb24gZW5jb3JlIGFzc2V6IG1hbCBjb25udXMKICAgIGRhbnMg bGEgY29tbXVuYXV0w6kgZGVzIMOpZGl0ZXVycywgbm90YW1tZW50IGRhbnMgbCfDqWRpdGlvbgog ICAgc2F2YW50ZSwgcG91ciBsYSBjb2xsYXRpb24gZXQgbGEgY29tcGFyYWlzb24gZGUgdGV4dGVz CiAgICBtw6lkacOpdmF1eC5ccGFyCiAgICBcc3RvcAogICAgXGJsYW5rCiAgICBcc3RhcnRcZW4g JSBzb21lIHRleHQgaW4gRW5nbGlzaAogICAge1xlbSBJdCBpcyBub3QgdmVyeSBlYXN5IHRvIGRl ZmluZSBhIGBjcml0aWN1cyBhcHBhcmF0dXMnIHdpdGggc29tZSBjdXJyZW50IHRvb2xzIChsaWtl IE1pY3Jvc29mdCBPZmZpY2UgV29yZCBvciBMaWJyZU9mZmljZSkuIE1heWJlIFxDb25UZVh0IG9m ZmVycyBzb21lIHdheXMgdGhhdCBzZWVtIGVhc2llciwgaW4gb3JkZXIgdG8gaW1wcm92ZSBjbGVh ciBhbmQgcHJlY2lzZSBwcmludGluZy59CiAgICAgIFxzdG9wCgoKXGRvcmVjdXJzZXs0fXtcc3Rh cnRjb2x1bW5zW249MiwgYmFsYW5jZT15ZXNdCiAgICBcU3RlcGhhbnVzezFhfSDhvYnOvM+Ozr3P hc68zrEgzrvOrc6zzrXPhM6xzrkg4b2nzr0g4b2Ezr3Ov868zrEgzrzPjM69zr/OvSDOus6/zrnO vc+Mzr0sIOG9gSDOtOG9siDOus6xz4ThvbAgz4TOv+G9lM69zr/OvM6xIM67z4zOs86/z4Igz4Th v4bPgiDOv+G9kM+Dzq/Osc+CIOG8lc+EzrXPgc6/z4IsIM6/4by3zr/OvSDOtuG/t86/zr0g4b2F IM+EzrUg4byEzr3OuM+Bz4nPgM6/z4IgzrrOseG9tiDPhOG9uCDOs861zrPPgc6xzrzOvM6tzr3O v8694oCiIM+Ezr/Pjc+Ez4nOvSDOs+G9sM+BIOG9hM69zr/OvM6xIM68z4zOvc6/zr0gzrrOv865 zr3PjM69LCDhvYEgzrThvbIgzrrOsc+E4b2wIM+Ezr/hvZTOvc6/zrzOsSDOu8+MzrPOv8+CIM+E 4b+Gz4Igzr/hvZDPg86vzrHPgiDhvJXPhM61z4HOv8+C4oCiIOG8kOG9sM69IM6z4b2wz4Eg4byA z4DOv860zrnOtOG/tyDPhM65z4Igz4TOryDhvJDPg8+EzrnOvSDOseG9kM+E4b+2zr0g4byRzrrO sc+Ezq3PgeG/syDPhOG9uCDOtuG/tOG/syDOteG8ts69zrHOuSwg4by0zrTOuc6/zr0g4byRzrrO sc+Ezq3Pgc6/z4UgzrvPjM6zzr/OvSDhvIDPgM6/zrTPjs+DzrXOuS4gz4PPhc69z47Ovc+FzrzO sSDOtOG9siDOu86tzrPOtc+EzrHOuSDhvafOvSDPhM+MIM+EzrUg4b2Ezr3Ov868zrEgzrrOv865 zr3hvbjOvSDOus6x4b22IOG9gSDOus6xz4ThvbAgz4TOv+G9lM69zr/OvM6xIM67z4zOs86/z4Ig z4Thv4bPgiDOv+G9kM+Dzq/Osc+CIOG9gSDOseG9kM+Ez4zPgiwgzr/hvLfOv869IM624b+3zr/O vSDhvYUgz4TOtSDhvITOvc64z4HPic+Azr/PgiDOus6x4b22IOG9gSDOss6/4b+mz4LigKIgz4TO v8+Nz4TPic69IM6z4b2wz4Eg4byRzrrOrM+EzrXPgc6/zr0gzrrOv865zr3hv7cg4b2Azr3PjM68 zrHPhM65IM+Az4HOv8+DzrHOs86/z4HOtc+NzrXPhM6xzrkgzrbhv7fOv869LCDOus6x4b22IOG9 gSDOu8+MzrPOv8+CIM604b2yIM+E4b+Gz4Igzr/hvZDPg86vzrHPgiDhvYEgzrHhvZDPhM+Mz4Li gKIg4byQ4b2wzr0gzrPhvbDPgSDhvIDPgM6/zrTOuc604b+3IM+EzrnPgiDPhOG9uM69IOG8kc66 zrHPhM6tz4HOv8+FIM67z4zOs86/zr0gz4TOryDhvJDPg8+EzrnOvSDOseG9kM+E4b+2zr0g4byR zrrOsc+Ezq3PgeG/syDPhOG9uCDOtuG/tOG/syDOteG8ts69zrHOuSwgz4ThvbjOvSDOseG9kM+E 4b24zr0gzrvPjM6zzr/OvSDhvIDPgM6/zrTPjs+DzrXOuS4gIAoKICAgIFxjb2x1bW4KCiAgICBc c3RhcnRsaW5lbnVtYmVyaW5nW2NvbnRpbnVlXQogICAgQWVxdWl2b2NhIGRpY3VudHVyIHF1b3J1 bSBcQ05vdGV7bm9tZW59e2ZpcnN0IG5vdGV9IHNvbHVtCiAgICBjb21tdW5lIGVzdCwgc2VjdW5k dW0gbm9tZW4gdmVybyBcQU5vdGV7c3Vic3RhbnRpYWV9e3NlY29uZCBub3RlfQogICAgXEFOb3Rl e3JhdGlvfXtzZWNvbmQgbm90ZX0gZGl2ZXJzYSwgdXQgYW5pbWFsCiAgICBcRE5vdGV7aG9tb317 dGhpcmQgbm90ZX0gZXQgcXVvZCBwaW5naXR1ci4gSG9ydW0gZW5pbSBzb2x1bSBub21lbiBjb21t dW5lIGVzdCwgc2VjdW5kdW0gbm9tZW4gdmVybyBzdWJzdGFudGlhZSByYXRpbyBkaXZlcnNhOyBz aSBlbmltIHF1aXMgYXNzaWduZXQgcXVpZCBlc3QgdXRyaXF1ZSBlb3J1bSBxdW8gc2ludCBhbmlt YWxpYSwgcHJvcHJpYW0gYXNzaWduYWJpdCB1dHJpdXNxdWUgcmF0aW9uZW0uIFVuaXZvY2EgdmVy byBkaWN1bnR1ciBxdW9ydW0gZXQgbm9tZW4gY29tbXVuZSBlc3QgZXQgc2VjdW5kdW0gbm9tZW4g ZWFkZW0gc3Vic3RhbnRpYWUgcmF0aW8sIHV0IGFuaW1hbCBob21vIGF0cXVlIGJvcy4KCiAgICBc c3RvcGxpbmVudW1iZXJpbmcKCiAgICBcc3RvcGNvbHVtbnN9CiAgICBcc3RvcHRleHQKCgoKLS0t LS0gTWFpbCBvcmlnaW5hbCAtLS0tLQpEZTogIkFydGh1ciBSZXV0ZW5hdWVyIiA8YXJ0aHVyLnJl dXRlbmF1ZXJAbm9ybWFsZXN1cC5vcmc+CsOAOiAiTWFpbGluZyBsaXN0IGZvciBDb25UZVh0IHVz ZXJzIiA8bnRnLWNvbnRleHRAbnRnLm5sPgpFbnZvecOpOiBNYXJkaSAxNSBOb3ZlbWJyZSAyMDE2 IDE3OjM5OjQwCk9iamV0OiBSZTogW05URy1jb250ZXh0XSBXcnRpdGluZyBpbiB0d28gbGFuZ3Vh Z2VzCgo+IDIpIFNlY29uZCBzaXR1YXRpb24gOiB5b3Ugd2FudCB0byBwcmludCBhIHRyYW5zbGF0 aW9uIG9uIHRoZSBzYW1lIHBhZ2UgKHNheSB0aGUgZXZlbiBwYWdlKSBhcyB0aGUgb3JpZ2luYWwg R3JlZWsgdGV4dCwgd2l0aCB0aGUgY29tbWVudGFyeSAob3Igd2hhdGV2ZXIpIG9uIHRoZSBvZGQg cGFnZS4gSSBmZWFyIHRoZXJlIGlzIG5vIHdheSB0byBkbyB0aGlzIGF0IHRoZSB0aW1lICh0aGF0 IHdhcyBpbXBvc3NpYmxlIHdpdGggQ1RYIGVhcmx5IGluIDIwMTYpLiBJIGRpZG4ndCByZXRyeSB0 aGVzZSBmb3JtZXIgd2Vla3MuLi4KCiAgQWN0dWFsbHksIHRoZXJlIGhhcyBiZWVuLCBmb3IgcXVp dGUgYSBsb25nIHRpbWUsIGEgbWVjaGFuaXNtIGNhbGxlZApzdHJlYW1zIGluIENvblRlWHQgdGhh dCBhaW1lZCBhdCBkb2luZyBleGFjdGx5IHRoYXQuICBJdOKAmXMgaW5jb21wbGV0ZQphbmQgdGhl cmUgYXJlIG5vIHJlYWwtbGlmZSBleGFtcGxlcyBvZiBkb2N1bWVudHMgdGhhdCB1c2UgaXQsIGJ1 dCBJIGtub3cKdGhhdCBIYW5zIGlzIHJlYWR5IHRvIGxvb2sgaW50byBpdCBhZ2FpbiBwcm92aWRl ZCBzb21lb25lIGNvbWVzIHVwIHdpdGgKYSBzZW5zaWJsZSB1c2UgY2FzZSwgYW5kIHNvbWUgZGV0 YWlscyBvZiB3aGF0IHNob3VsZCBiZSBhY2hpZXZlZC4KCglCZXN0LAoKCQlBcnRodXIKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVzdCB0byBv dGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1haWxsaXN0 IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9saXN0aW5m by9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAvIGh0dHA6 Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGhn L2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRnYXJkZW4u bmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CklmIHlvdXIgcXVlc3Rpb24gaXMgb2YgaW50ZXJlc3QgdG8gb3RoZXJzIGFzIHdlbGwsIHBsZWFz ZSBhZGQgYW4gZW50cnkgdG8gdGhlIFdpa2khCgptYWlsbGlzdCA6IG50Zy1jb250ZXh0QG50Zy5u bCAvIGh0dHA6Ly93d3cubnRnLm5sL21haWxtYW4vbGlzdGluZm8vbnRnLWNvbnRleHQKd2VicGFn ZSAgOiBodHRwOi8vd3d3LnByYWdtYS1hZGUubmwgLyBodHRwOi8vY29udGV4dC5hYW5oZXQubmV0 CmFyY2hpdmUgIDogaHR0cHM6Ly9iaXRidWNrZXQub3JnL3BoZy9jb250ZXh0LW1pcnJvci9jb21t aXRzLwp3aWtpICAgICA6IGh0dHA6Ly9jb250ZXh0Z2FyZGVuLm5ldApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw==