From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/82652 Path: news.gmane.org!not-for-mail From: =?utf-8?B?SWRyaXMgU2FtYXdpIEhhbWlkINin2K/YsdmK2LMgICDYs9mF2KfZiNmKIA==?= =?utf-8?B?2K3Yp9mF2K8=?= Newsgroups: gmane.comp.tex.context Subject: Commutative diagrams in tikz-cd: for wiki Date: Sat, 25 May 2013 16:40:37 -0600 Organization: csu Message-ID: Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=----------PO069JVY5PnxzHUSSGOHNQ X-Trace: ger.gmane.org 1369521696 13582 80.91.229.3 (25 May 2013 22:41:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 May 2013 22:41:36 +0000 (UTC) Cc: =?utf-8?Q?Flor=C3=AAncio_Neves?= , Mojca Miklavec To: ntg-context@ntg.nl Original-X-From: ntg-context-bounces@ntg.nl Sun May 26 00:41:37 2013 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UgN9c-0002BW-4V for gctc-ntg-context-518@m.gmane.org; Sun, 26 May 2013 00:41:36 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 28316101F0; Sun, 26 May 2013 00:41:35 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id GNKfzQdSDZ0P; Sun, 26 May 2013 00:41:32 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [IPv6:::1]) by balder.ntg.nl (Postfix) with ESMTP id 340FC101E5; Sun, 26 May 2013 00:41:32 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 8D363101E5 for ; Sun, 26 May 2013 00:41:30 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 76x2nMQYXkCE for ; Sun, 26 May 2013 00:41:25 +0200 (CEST) Original-Received: from filter2-ams.mf.surf.net (filter2-ams.mf.surf.net [192.87.102.70]) by balder.ntg.nl (Postfix) with ESMTP id D33C4101E0 for ; Sun, 26 May 2013 00:41:14 +0200 (CEST) Original-Received: from estes.ACNS.ColoState.EDU (estes.acns.colostate.edu [129.82.100.46]) by filter2-ams.mf.surf.net (8.14.3/8.14.3/Debian-9.4) with ESMTP id r4PMfCG3015314 for ; Sun, 26 May 2013 00:41:13 +0200 Original-Received: from jansen.ColoState.EDU (jansen.acns.colostate.edu [129.82.100.132]) by estes.ACNS.ColoState.EDU (8.13.8/8.12.11) with ESMTP id r4PMeu53021238; Sat, 25 May 2013 16:40:56 -0600 Original-Received: from ishamid-pc ([184.21.117.108]) (authenticated bits=0) by jansen.ColoState.EDU (8.13.1/8.13.1) with ESMTP id r4PMecMB029988 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO); Sat, 25 May 2013 16:40:51 -0600 User-Agent: Opera Mail/12.15 (Win32) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.10.8626, 1.0.431, 0.0.0000 definitions=2013-05-25_03:2013-05-24,2013-05-25,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=1 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=6.0.2-1211240000 definitions=main-1305250292 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=129.82.100.46; country=US; region=CO; city=Fort Collins; postalcode=80523; latitude=40.4555; longitude=-105.4648; metrocode=751; areacode=970; http://maps.google.com/maps?q=40.4555,-105.4648&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 0QJEmFcVO - e0ae93c645e4 - 20130526 (trained as not-spam) X-Scanned-By: CanIt (www . roaringpenguin . com) on 192.87.102.70 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.14 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-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:82652 Archived-At: ------------PO069JVY5PnxzHUSSGOHNQ Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable Dear gang, With a couple of modifications I got tikz-cd (a package to make = commutative diagrams for categories and toposes etc. by Flor=C3=AAncio N= eves) = working in mkiv: http://texdoc.net/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.pdf It depends on the tikz module, already supported in mkiv. The tikz-cd module is attached, and here is a sample file: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D \usemodule[tikz] \usetikzlibrary{commute} \starttext \starttikzcd %[ampersand replacement=3D\&] A \arrow{rd} \arrow[yshift=3D0.5ex]{r}{\phi} \& B \\ \& C \stoptikzcd \starttikzcd %[ampersand replacement=3D\&] A \arrow[yshift=3D1.5ex]{r} \arrow[yshift=3D0.0ex]{r} \& B \arrow[xshift=3D0.7ex]{d} \arrow[xshift=3D-0.7ex]{d} \\ \& C \stoptikzcd \stoptext =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D A couple of things: 1 I had to comment out line 396 of pgfsys-pdftex.def in the tikz module,= = or else I'd get an undefined control sequence. It's not needed anyway = since that's pdftex. 2 In tikzlibrarycommute.code.tex, line 395 I had to add the option ampersand replacement=3D\& to avoid a TeX error. So you'll have to use '\&' instead of '&' for matr= ix = arrays. 3 Some LaTeX-specific stuff is commented, and support is added for \starttikzcd \stoptikzcd so we get a ConTeXt environment. I'm hoping someone can volunteer to place this on the wiki, perhaps even= = set it up on the modules page, with an indication of its proper place in= = the texmf-modules tree etc. Any other improvements will also be appreciated. Enjoy! Best wishes Idris -- = Professor Idris Samawi Hamid Department of Philosophy Colorado State University Fort Collins, CO 80523 ------------PO069JVY5PnxzHUSSGOHNQ Content-Disposition: attachment; filename=tikzlibrarycommute.code.tex Content-Type: application/x-tex; name="tikzlibrarycommute.code.tex" Content-Transfer-Encoding: Base64 JSBDb3B5cmlnaHQgMjAxMSwgMjAxMiBieSBGbG9yw6puY2lvIE5ldmVzCiUKJSBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQolIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiUgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKJSAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgoKJSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKJSBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgolIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKJSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgoKJSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQolIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgoKJSBcUHJvdmlkZXNQYWNrYWdle3Rpa3otY2R9WzIwMTIvMTIvMzAgdjAu M2MgQ29tbXV0YXRpdmUgZGlhZ3JhbXMgd2l0aCB0aWt6Ll0KJSBcUmVxdWlyZVBh Y2thZ2V7dGlren1bMjAxMC8xMC8xM10gJSBwZ2YgdmVyc2lvbiAyLjEwIHJlcXVp cmVkCgpcdXNldGlremxpYnJhcnl7bWF0cml4fQoKXG5ld2lmXGlmdGlremNkQG1h dGhtb2RlCgpccGdmcWtleXN7L3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXN9ewog IC5zZWFyY2ggYWxzbz17L3Rpa3p9LAogIGFycm93cy8uc3R5bGU9ewogICAgL3Rp a3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvZXZlcnkgYXJyb3cvLmFwcGVuZCBzdHls ZT17IzF9fSwKICBsYWJlbHMvLnN0eWxlPXsKICAgIC90aWt6L2NvbW11dGF0aXZl IGRpYWdyYW1zL2V2ZXJ5IGxhYmVsLy5hcHBlbmQgc3R5bGU9eyMxfX0sCiAgZGlh Z3JhbXMvLnN0eWxlPXsKICAgIC90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2V2 ZXJ5IGRpYWdyYW0vLmFwcGVuZCBzdHlsZT17IzF9fSwKICBkZXNjcmlwdGlvbi8u c3R5bGU9ewogICAgL3Rpa3ovYW5jaG9yPWNlbnRlciwKICAgIC90aWt6L2ZpbGw9 XHBnZmtleXN2YWx1ZW9mey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2JhY2tn cm91bmQgY29sb3J9fSwKICBjcm9zc2luZyBvdmVyLy5zdHlsZT17CiAgICAvdGlr ei9wcmVhY3Rpb249ewogICAgICAvdGlrei9kcmF3PVxwZ2ZrZXlzdmFsdWVvZnsv dGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9iYWNrZ3JvdW5kIGNvbG9yfSwKICAg ICAgL3Rpa3ovYXJyb3dzPS0sCiAgICAgIC90aWt6L2xpbmUgd2lkdGg9XHBnZmtl eXN2YWx1ZW9mey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2Nyb3NzaW5nIG92 ZXIgY2xlYXJhbmNlfX19LAogIHJvdyBzZXAvLmNvZGU9e1x0aWt6Y2RAc2Vwe3Jv d317IzF9fSwKICBjb2x1bW4gc2VwLy5jb2RlPXtcdGlremNkQHNlcHtjb2x1bW59 eyMxfX0sCiAgbWF0aCBtb2RlLy5pcyBpZj10aWt6Y2RAbWF0aG1vZGUsCiAgbWF0 cml4IG9mIG1hdGggbm9kZXMgbWF5YmUvLnN0eWxlPXslCiAgICAvdGlrei9tYXRy aXggb2Ygbm9kZXMsCiAgICAvdGlrei9ub2Rlcz17CiAgICAgIGV4ZWN1dGUgYXQg YmVnaW4gbm9kZT1caWZ0aWt6Y2RAbWF0aG1vZGUkXGZpLCAlJAogICAgICBleGVj dXRlIGF0IGVuZCBub2RlPVxpZnRpa3pjZEBtYXRobW9kZSRcZml9fSwgJSQKICBh cnJvdyBzdHlsZS8uaXMgY2hvaWNlfQoKJSBnZW5lcmljIGFycm93IHRpcCBzZWxl Y3Rpb24gc3R5bGVzClxwZ2ZrZXlzZGVmey90aWt6L2NvbW11dGF0aXZlIGRpYWdy YW1zL2Fycm93IHN0eWxlL2dlbmVyaWN9eyUKICBccGdmcWtleXN7L3Rpa3ovY29t bXV0YXRpdmUgZGlhZ3JhbXN9ewogICAgcmlnaHRhcnJvdy8uc3R5bGU9ey90aWt6 L2Fycm93cz0tIzEgdG99LAogICAgUmlnaHRhcnJvdy8uc3R5bGU9ewogICAgICAv dGlrei9hcnJvd3M9LSMxIGltcGxpZXMsCiAgICAgIC90aWt6L2NvbW11dGF0aXZl IGRpYWdyYW1zL2RvdWJsZSBsaW5lfSwKICAgIGxlZnRhcnJvdy8uc3R5bGU9ey90 aWt6L2Fycm93cz0jMSB0by19LAogICAgTGVmdGFycm93Ly5zdHlsZT17CiAgICAg IC90aWt6L2Fycm93cz0jMSBpbXBsaWVzLSwKICAgICAgL3Rpa3ovY29tbXV0YXRp dmUgZGlhZ3JhbXMvZG91YmxlIGxpbmV9LAogICAgbGVmdHJpZ2h0YXJyb3cvLnN0 eWxlPXsvdGlrei9hcnJvd3M9IzEgdG8tIzEgdG99LAogICAgTGVmdHJpZ2h0YXJy b3cvLnN0eWxlPXsKICAgICAgL3Rpa3ovYXJyb3dzPSMxIGltcGxpZXMtIzEgaW1w bGllcywKICAgICAgL3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvZG91YmxlIGxp bmV9LAogICAgbWFwc3RvLy5zdHlsZT17L3Rpa3ovYXJyb3dzPSMxIHwtIzEgdG99 LCV8CiAgICBtYXBzZnJvbS8uc3R5bGU9ey90aWt6L2Fycm93cz0jMSB0by0jMSB8 fSwlfAogICAgaG9va3JpZ2h0YXJyb3cvLnN0eWxlPXsvdGlrei9hcnJvd3M9IzEg cmlnaHQgaG9vay0jMSB0b30sCiAgICBob29rbGVmdGFycm93Ly5zdHlsZT17L3Rp a3ovYXJyb3dzPSMxIHRvLSMxIGxlZnQgaG9va30sCiAgICByaWdodGhhcnBvb251 cC8uc3R5bGU9ey90aWt6L2Fycm93cz0tIzEgbGVmdCB0b30sCiAgICByaWdodGhh cnBvb25kb3duLy5zdHlsZT17L3Rpa3ovYXJyb3dzPS0jMSByaWdodCB0b30sCiAg ICBsZWZ0aGFycG9vbnVwLy5zdHlsZT17L3Rpa3ovYXJyb3dzPSMxIHJpZ2h0IHRv LX0sCiAgICBsZWZ0aGFycG9vbmRvd24vLnN0eWxlPXsvdGlrei9hcnJvd3M9IzEg bGVmdCB0by19LAogICAgcmlnaHRhcnJvd3RhaWwvLnN0eWxlPXsvdGlrei9hcnJv d3M9IzEgdG8gcmV2ZXJzZWQtIzEgdG99LAogICAgbGVmdGFycm93dGFpbC8uc3R5 bGU9ey90aWt6L2Fycm93cz0jMSB0by0jMSB0byByZXZlcnNlZH0sCiAgICB0d29o ZWFkcmlnaHRhcnJvdy8uc3R5bGU9ey90aWt6L2Fycm93cz0tIzEgZG91YmxlIHRv fSwKICAgIHR3b2hlYWRsZWZ0YXJyb3cvLnN0eWxlPXsvdGlrei9hcnJvd3M9IzEg ZG91YmxlIHRvLX0sCiAgICBtYXBzIHRvLy5jb2RlPXtccGdmc2V0YXJyb3dzc3Rh cnR7IzEgfH19LCV8CiAgICBob29rLy5jb2RlPXtccGdmc2V0YXJyb3dzc3RhcnR7 IzEgcmlnaHQgaG9va319LAogICAgdHdvIGhlYWRzLy5jb2RlPXtccGdmc2V0YXJy b3dzZW5keyMxIGRvdWJsZSB0b319LAogICAgdGFpbC8uY29kZT17XHBnZnNldGFy cm93c3N0YXJ0eyMxIHRvIHJldmVyc2VkfX19fQoKXHBnZnFrZXlzey90aWt6L2Nv bW11dGF0aXZlIGRpYWdyYW1zfXsKICBkYXNoLy5zdHlsZT17L3Rpa3ovYXJyb3dz PS19LAogIGRhc2hyaWdodGFycm93Ly5zdHlsZT17CiAgICAvdGlrei9jb21tdXRh dGl2ZSBkaWFncmFtcy9yaWdodGFycm93LAogICAgL3Rpa3ovY29tbXV0YXRpdmUg ZGlhZ3JhbXMvZGFzaGVkfSwKICBkYXNobGVmdGFycm93Ly5zdHlsZT17CiAgICAv dGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9sZWZ0YXJyb3csCiAgICAvdGlrei9j b21tdXRhdGl2ZSBkaWFncmFtcy9kYXNoZWR9LAogIGVxdWFsLy5zdHlsZT17CiAg ICAvdGlrei9hcnJvd3M9LSwKICAgIC90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1z L2RvdWJsZSBsaW5lfSwKICBlcXVhbHMvLnN0eWxlPXsvdGlrei9jb21tdXRhdGl2 ZSBkaWFncmFtcy9lcXVhbH0sCiAgcmlnaHRzcXVpZ2Fycm93Ly5zdHlsZT17CiAg ICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9yaWdodGFycm93LAogICAgL3Rp a3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvc3F1aWdnbHl9LAogIGxlZnRzcXVpZ2Fy cm93Ly5zdHlsZT17CiAgICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9sZWZ0 YXJyb3csCiAgICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9zcXVpZ2dseX0s CiAgbGVmdHJpZ2h0c3F1aWdhcnJvdy8uc3R5bGU9ewogICAgL3Rpa3ovY29tbXV0 YXRpdmUgZGlhZ3JhbXMvbGVmdHJpZ2h0YXJyb3csCiAgICAvdGlrei9jb21tdXRh dGl2ZSBkaWFncmFtcy9zcXVpZ2dseX0sCiAgc3F1aWdnbHkvLmNvZGU9eyUKICAg IFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIHRpa3pAbGlicmFyeUBkZWNvcmF0aW9u cy5wYXRobW9ycGhpbmdAbG9hZGVkXGVuZGNzbmFtZVxwZ2Z1dGlsQGVtcHR5JQog ICAgXGVsc2VcUGFja2FnZUVycm9ye3Rpa3otY2R9e1lvdSBuZWVkIHRvIHNheSAl CiAgICAgIFxzdHJpbmdcdXNldGlremxpYnJhcnl7ZGVjb3JhdGlvbnMucGF0aG1v cnBoaW5nfSB0byB1c2Ugc3F1aWdnbHkgYXJyb3dzfXt9XGZpJQogICAgXHBnZmtl eXNhbHNvewogICAgICAvdGlrei9kZWNvcmF0ZSwKICAgICAgL3Rpa3ovZGVjb3Jh dGlvbj17CiAgICAgICAgemlnemFnLAogICAgICAgIHNlZ21lbnQgbGVuZ3RoPTku MjVccGdmbGluZXdpZHRoLAogICAgICAgIGFtcGxpdHVkZT0xLjlccGdmbGluZXdp ZHRoLAogICAgICAgIHBvc3Q9bGluZXRvLCBwb3N0IGxlbmd0aD02XHBnZmxpbmV3 aWR0aCwKICAgICAgICBwcmU9bGluZXRvLCBwcmUgbGVuZ3RoPTZccGdmbGluZXdp ZHRoLAogICAgICAgICMxfX19fQoKJSBUaGUgQ29tcHV0ZXIgTW9kZXJuIGFycm93 IHN0eWxlClxwZ2ZrZXlzZGVmey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2Fy cm93IHN0eWxlL2NvbXB1dGVyIG1vZGVybn17JQogIFxwZ2Zxa2V5c3svdGlrei9j b21tdXRhdGl2ZSBkaWFncmFtc317CiAgICBhcnJvdyBzdHlsZS9nZW5lcmljPXtj bX0sCiAgICBkZWZhdWx0IGFycm93Ly5zdHlsZT17CiAgICAgIC90aWt6L2xpbmUg am9pbj1yb3VuZCwKICAgICAgL3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvcmln aHRhcnJvdywKICAgICAgL3Rpa3ovbGluZSB3aWR0aD0wLjA5MjlleH0sCiAgICBk b3VibGUgbGluZS8uc3R5bGU9ewogICAgICAvdGlrei9kb3VibGU9XHBnZmtleXN2 YWx1ZW9mey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2JhY2tncm91bmQgY29s b3J9LAogICAgICAvdGlrei9kb3VibGUgZGlzdGFuY2U9My42NDNccGdmbGluZXdp ZHRofSwKICAgIGRhc2hlZC8uc3R5bGU9ey90aWt6L2Rhc2ggcGF0dGVybj17b24g N1xwZ2ZsaW5ld2lkdGggb2ZmIDRccGdmbGluZXdpZHRofX19fQoKJSBUaGUgdGlr eiBhcnJvdyBzdHlsZQpccGdma2V5c2RlZnsvdGlrei9jb21tdXRhdGl2ZSBkaWFn cmFtcy9hcnJvdyBzdHlsZS90aWt6fXslCiAgXGV4cGFuZGFmdGVyXGlmeFxjc25h bWUgdGlrekBsaWJyYXJ5QGFycm93c0Bsb2FkZWRcZW5kY3NuYW1lXHBnZnV0aWxA ZW1wdHklCiAgXGVsc2VcUGFja2FnZUVycm9ye3Rpa3otY2R9e1lvdSBuZWVkIHRv IHNheSBcc3RyaW5nXHVzZXRpa3psaWJyYXJ5e2Fycm93c30gJQogICAgdG8gdXNl IHRoZSBgdGlreicgYXJyb3cgc3R5bGV9e31cZmkKICBccGdmcWtleXN7L3Rpa3ov Y29tbXV0YXRpdmUgZGlhZ3JhbXN9ewogICAgYXJyb3cgc3R5bGUvZ2VuZXJpYz17 XHBnZnV0aWxAZmlyc3RvZm9uZX0sCiAgICBkZWZhdWx0IGFycm93Ly5zdHlsZT17 L3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvcmlnaHRhcnJvd30sCiAgICByaWdo dGFycm93Ly5zdHlsZT17L3Rpa3ovYXJyb3dzPS0+fSwKICAgIGxlZnRhcnJvdy8u c3R5bGU9ey90aWt6L2Fycm93cz08LX0sCiAgICBsZWZ0cmlnaHRhcnJvdy8uc3R5 bGU9ey90aWt6L2Fycm93cz08LT59LAogICAgbWFwc3RvLy5zdHlsZT17L3Rpa3ov YXJyb3dzPXwtPn0sJXwKICAgIG1hcHNmcm9tLy5zdHlsZT17L3Rpa3ovYXJyb3dz PTwtfH0sJXwKICAgIGhvb2tyaWdodGFycm93Ly5zdHlsZT17L3Rpa3ovYXJyb3dz PXJpZ2h0IGhvb2stPn0sCiAgICBob29rbGVmdGFycm93Ly5zdHlsZT17L3Rpa3ov YXJyb3dzPTwtbGVmdCBob29rfSwKICAgIHJpZ2h0YXJyb3d0YWlsLy5zdHlsZT17 L3Rpa3ovYXJyb3dzPT4tPn0sCiAgICBsZWZ0YXJyb3d0YWlsLy5zdHlsZT17L3Rp a3ovYXJyb3dzPTwtPH0sCiAgICB0d29oZWFkcmlnaHRhcnJvdy8uc3R5bGU9ey90 aWt6L2Fycm93cz0tPj59LAogICAgdHdvaGVhZGxlZnRhcnJvdy8uc3R5bGU9ey90 aWt6L2Fycm93cz08PC19LCAlPj4KICAgIHR3byBoZWFkcy8uY29kZT17XHBnZnNl dGFycm93c2VuZHtcY3NuYW1lIHRpa3pAc3BlY2lhbEBhcnJvd0BlbmQ+PlxlbmRj c25hbWV9fSwKICAgIHRhaWwvLmNvZGU9e1xwZ2ZzZXRhcnJvd3NzdGFydHtcY3Nu YW1lIHRpa3pAc3BlY2lhbEBhcnJvd0BzdGFydD5cZW5kY3NuYW1lfX0sCiAgICBk YXNoZWQvLnN0eWxlPXsvdGlrei9kYXNoZWR9LAogICAgZG91YmxlIGxpbmUvLnN0 eWxlPXsKICAgICAgL3Rpa3ovZG91YmxlIGVxdWFsIHNpZ24gZGlzdGFuY2UsCiAg ICAgIC90aWt6L2RvdWJsZT1ccGdma2V5c3ZhbHVlb2Z7L3Rpa3ovY29tbXV0YXRp dmUgZGlhZ3JhbXMvYmFja2dyb3VuZCBjb2xvcn19fX0KCiUgRGVmYXVsdCBzZXR0 aW5ncwpccGdmcWtleXN7L3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXN9ewogIGV2 ZXJ5IGFycm93Ly5zdHlsZT17CiAgICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFt cy8uY2QsCiAgICBAZW5hYmxlcXVvdGVzLAogICAgL3Rpa3ovZHJhdywKICAgIGRl ZmF1bHQgYXJyb3d9LAogIGV2ZXJ5IGxhYmVsLy5zdHlsZT17CiAgICAvdGlrei9j b21tdXRhdGl2ZSBkaWFncmFtcy8uY2QsCiAgICAvdGlrei9hdXRvLAogICAgL3Rp a3ovZm9udD1cZXZlcnltYXRoXGV4cGFuZGFmdGVye1x0aGVcZXZlcnltYXRoXHNj cmlwdHN0eWxlfSwKICAgIC90aWt6L2lubmVyIHNlcD0wLjVleH0sCiAgZXZlcnkg ZGlhZ3JhbS8uc3R5bGU9ewogICAgL3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMv LmNkLAogICAgL3Rpa3ovY2VsbHM9ey90aWt6L25vZGVzPXsvdGlrei9zaGFwZT17 YXN5bW1ldHJpY2FsIHJlY3RhbmdsZX19fSwKICAgIHJvdyBzZXA9bm9ybWFsLAog ICAgY29sdW1uIHNlcD1ub3JtYWwsCiAgICAvdGlrei9iYXNlbGluZT0wcHR9LAog IDEtcm93IGRpYWdyYW0vLnN0eWxlPXsvdGlrei9iYXNlbGluZT0oIzEuYmFzZSl9 LAogIG1hdGggbW9kZT10cnVlLAogIGNlbnRlciB5c2hpZnQvLmluaXRpYWw9dGlr emNkYXhpcywKICByb3cgc2VwL2h1Z2UvLmluaXRpYWw9MTBleCwKICByb3cgc2Vw L2xhcmdlLy5pbml0aWFsPTcuNWV4LAogIHJvdyBzZXAvbm9ybWFsLy5pbml0aWFs PTVleCwKICByb3cgc2VwL3NjcmlwdHNpemUvLmluaXRpYWw9My43NWV4LAogIHJv dyBzZXAvc21hbGwvLmluaXRpYWw9Mi41ZXgsCiAgcm93IHNlcC90aW55Ly5pbml0 aWFsPTEuMjVleCwKICBjb2x1bW4gc2VwL2h1Z2UvLmluaXRpYWw9MTJleCwKICBj b2x1bW4gc2VwL2xhcmdlLy5pbml0aWFsPTlleCwKICBjb2x1bW4gc2VwL25vcm1h bC8uaW5pdGlhbD02ZXgsCiAgY29sdW1uIHNlcC9zY3JpcHRzaXplLy5pbml0aWFs PTQuNWV4LAogIGNvbHVtbiBzZXAvc21hbGwvLmluaXRpYWw9M2V4LAogIGNvbHVt biBzZXAvdGlueS8uaW5pdGlhbD0xLjVleCwKICBhcnJvdyBzdHlsZT1jb21wdXRl ciBtb2Rlcm4sCiAgY3Jvc3Npbmcgb3ZlciBjbGVhcmFuY2UvLmluaXRpYWw9MS41 ZXgsCiAgYmFja2dyb3VuZCBjb2xvci8uaW5pdGlhbD13aGl0ZX0KCiUgcGdmbWF0 aCBmdW5jdGlvbnMgdG8gb2J0YWluIG1hdGggZm9udGRpbWVucwpccGdmbWF0aGRl Y2xhcmVmdW5jdGlvbnt0aWt6Y2RheGlzfXswfXslCiAgXGJlZ2luZ3JvdXAlCiAg ICAkXHJlbGF4JCUgdXBkYXRlIGZvbnRkaW1lbnMKICAgIFxwZ2Z1dGlsQGlmdW5k ZWZpbmVke3VtX2F4aXM6Tn0lIGNoZWNrIGlmIGB1bmljb2RlLW1hdGgnIGlzIHVz ZWQKICAgICAge1xwZ2ZAeD1cdGhlXGZvbnRkaW1lbjIyXHRleHRmb250MlxyZWxh eH0lCiAgICAgIHtccGdmQHg9XGV4cGFuZGFmdGVyXHRoZVxjc25hbWUgdW1fYXhp czpOXGVuZGNzbmFtZVx0ZXh0c3R5bGV9JQogICAgXHBnZm1hdGhyZXR1cm5ccGdm QHglCiAgXGVuZGdyb3VwfQoKXHBnZm1hdGhkZWNsYXJlZnVuY3Rpb257dGlremNk cnVsZX17MH17JQogIFxiZWdpbmdyb3VwJQogICAgJFxyZWxheCQlCiAgICBccGdm dXRpbEBpZnVuZGVmaW5lZHt1bV9mcmFjdGlvbl9ydWxlOk59JQogICAgICB7XHBn ZkB4PVx0aGVcZm9udGRpbWVuOFx0ZXh0Zm9udDNccmVsYXh9JQogICAgICB7XHBn ZkB4PVxleHBhbmRhZnRlclx0aGVcY3NuYW1lIHVtX2ZyYWN0aW9uX3J1bGU6Tlxl bmRjc25hbWVcdGV4dHN0eWxlfSUKICAgIFxwZ2ZtYXRocmV0dXJuXHBnZkB4JQog IFxlbmRncm91cH0KCiUgVGhlIHNoYXBlIHVzZWQgaW5zaWRlIG1hdHJpY2VzClxw Z2ZkZWNsYXJlc2hhcGV7YXN5bW1ldHJpY2FsIHJlY3RhbmdsZX0gewogIFxpbmhl cml0c2F2ZWRhbmNob3JzW2Zyb209e3JlY3RhbmdsZX1dCiAgXGluaGVyaXRhbmNo b3JbZnJvbT17cmVjdGFuZ2xlfV17YmFzZX0KICBcaW5oZXJpdGFuY2hvcltmcm9t PXtyZWN0YW5nbGV9XXtub3J0aH0KICBcaW5oZXJpdGFuY2hvcltmcm9tPXtyZWN0 YW5nbGV9XXtzb3V0aH0KICBcaW5oZXJpdGFuY2hvcltmcm9tPXtyZWN0YW5nbGV9 XXtiYXNlIHdlc3R9CiAgXGluaGVyaXRhbmNob3JbZnJvbT17cmVjdGFuZ2xlfV17 bm9ydGggd2VzdH0KICBcaW5oZXJpdGFuY2hvcltmcm9tPXtyZWN0YW5nbGV9XXtz b3V0aCB3ZXN0fQogIFxpbmhlcml0YW5jaG9yW2Zyb209e3JlY3RhbmdsZX1de2Jh c2UgZWFzdH0KICBcaW5oZXJpdGFuY2hvcltmcm9tPXtyZWN0YW5nbGV9XXtub3J0 aCBlYXN0fQogIFxpbmhlcml0YW5jaG9yW2Zyb209e3JlY3RhbmdsZX1de3NvdXRo IGVhc3R9CiAgXGluaGVyaXRhbmNob3JbZnJvbT17cmVjdGFuZ2xlfV17bWlkfQog IFxpbmhlcml0YW5jaG9yW2Zyb209e3JlY3RhbmdsZX1de21pZCB3ZXN0fQogIFxp bmhlcml0YW5jaG9yW2Zyb209e3JlY3RhbmdsZX1de21pZCBlYXN0fQogIFxpbmhl cml0YmFja2dyb3VuZHBhdGhbZnJvbT17cmVjdGFuZ2xlfV0KICBcYW5jaG9ye2Nl bnRlcn17XHBnZkBhbmNob3JAcmVjdGFuZ2xlQGNlbnRlclxwZ2ZtYXRoc2V0bGVu Z3RoXHBnZkB5JQogICAge1xwZ2ZrZXlzdmFsdWVvZnsvdGlrei9jb21tdXRhdGl2 ZSBkaWFncmFtcy9jZW50ZXIgeXNoaWZ0fX19CiAgXGFuY2hvcnt3ZXN0fXtccGdm QGFuY2hvckByZWN0YW5nbGVAd2VzdFxwZ2ZtYXRoc2V0bGVuZ3RoXHBnZkB5JQog ICAge1xwZ2ZrZXlzdmFsdWVvZnsvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9j ZW50ZXIgeXNoaWZ0fX19CiAgXGFuY2hvcntlYXN0fXtccGdmQGFuY2hvckByZWN0 YW5nbGVAZWFzdFxwZ2ZtYXRoc2V0bGVuZ3RoXHBnZkB5JQogICAge1xwZ2ZrZXlz dmFsdWVvZnsvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9jZW50ZXIgeXNoaWZ0 fX19CiAgXGFuY2hvcntyZWFsIGNlbnRlcn17XHBnZkBhbmNob3JAcmVjdGFuZ2xl QGNlbnRlcn0KICBcYW5jaG9ye3JlYWwgd2VzdH17XHBnZkBhbmNob3JAcmVjdGFu Z2xlQHdlc3R9CiAgXGFuY2hvcntyZWFsIGVhc3R9e1xwZ2ZAYW5jaG9yQHJlY3Rh bmdsZUBlYXN0fQogIFxhbmNob3Jib3JkZXJ7JQogICAgXHBnZm1hdGhzZXRsZW5n dGhccGdmdXRpbEB0ZW1wZGltYSUKICAgICAge1xwZ2ZrZXlzdmFsdWVvZnsvdGlr ei9jb21tdXRhdGl2ZSBkaWFncmFtcy9jZW50ZXIgeXNoaWZ0fX0lCiAgICBccGdm QHhiPVxwZ2ZAeCUgeGIveWIgaXMgdGFyZ2V0CiAgICBccGdmQHliPVxwZ2ZAeSUK ICAgIFxzb3V0aHdlc3QlCiAgICBccGdmQHhhPVxwZ2ZAeCUgeGEveWEgaXMgc2UK ICAgIFxwZ2ZAeWE9XHBnZkB5JQogICAgXG5vcnRoZWFzdCUKICAgIFxhZHZhbmNl XHBnZkB4IGJ5LVxwZ2ZAeGElCiAgICBcYWR2YW5jZVxwZ2ZAeSBieS1ccGdmQHlh JQogICAgXHBnZkB4Yz0uNVxwZ2ZAeCUgeC95IGlzIGhhbGYgd2lkdGgvaGVpZ2h0 CiAgICBccGdmQHljPS41XHBnZkB5JQogICAgXGFkdmFuY2VccGdmQHhhIGJ5XHBn ZkB4YyUgeGEveWEgYmVjb21lcyBjZW50ZXIKICAgIFxhZHZhbmNlXHBnZkB5YSBi eVxwZ2ZAeWMlCiAgICBcaWZkaW1ccGdmQHliPjBwdCUKICAgICAgXG5vcnRoZWFz dCUKICAgICAgXHBnZkB5Yz1ccGdmQHklCiAgICAgIFxhZHZhbmNlXHBnZkB5YyBi eS1ccGdmdXRpbEB0ZW1wZGltYSUKICAgIFxlbHNlJQogICAgICBcc291dGh3ZXN0 JQogICAgICBccGdmQHljPS1ccGdmQHklCiAgICAgIFxhZHZhbmNlXHBnZkB5YyBi eVxwZ2Z1dGlsQHRlbXBkaW1hJQogICAgXGZpCiAgICBcZWRlZlxwZ2ZAbWFyc2hh bHslCiAgICAgIFxub2V4cGFuZFxwZ2Zwb2ludGJvcmRlcnJlY3RhbmdsZQogICAg ICB7XG5vZXhwYW5kXHBnZnFwb2ludHtcdGhlXHBnZkB4Yn17XHRoZVxwZ2ZAeWJ9 fQogICAgICB7XG5vZXhwYW5kXHBnZnFwb2ludHtcdGhlXHBnZkB4Y317XHRoZVxw Z2ZAeWN9fSUKICAgIH0lCiAgICBccGdmQHByb2Nlc3N7XHBnZkBtYXJzaGFsfSUK ICAgIFxhZHZhbmNlXHBnZkB4IGJ5XHBnZkB4YSUKICAgIFxhZHZhbmNlXHBnZkB5 IGJ5XHBnZnV0aWxAdGVtcGRpbWElCiAgfSUKfSUKCiUgVGhlIGFycm93IGNvbW1h bmRzClxkZWZcdGlremNkQGFycm93eyUKICBcYmVnaW5ncm91cCUgCiAgXHBnZnV0 aWxAaWZuZXh0Y2hhclt7XHRpa3pjZEBhckBnZXRkaXJ9e1x0aWt6Y2RAYXJAZ2V0 ZGlyW119fQoKXGRlZlx0aWt6Y2RAYXJAZ2V0ZGlyWyMxXSMyeyUKICBcY0BwZ2ZA Y291bnRhXHBnZm1hdHJpeGN1cnJlbnRyb3clCiAgXGNAcGdmQGNvdW50YlxwZ2Zt YXRyaXhjdXJyZW50Y29sdW1uJQogIFx0aWt6Y2RAcGFyc2UjMlxyZWxheCUKICBc dG9rc0BcZXhwYW5kYWZ0ZXJ7XHRpa3pjZEBzYXZlZHBhdGhzXHBhdGhbL3Rpa3ov Y29tbXV0YXRpdmUgZGlhZ3JhbXMvZXZlcnkgYXJyb3csIzFdfSUKICBcZ2xvYmFs XGVkZWZcdGlremNkQHNhdmVkcGF0aHN7JQogICAgXHRoZVx0b2tzQCUKICAgIChc dGlrem1hdHJpeG5hbWUtXHRoZVxwZ2ZtYXRyaXhjdXJyZW50cm93LVx0aGVccGdm bWF0cml4Y3VycmVudGNvbHVtblxub2V4cGFuZFx0aWt6Y2RAc3RhcnRhbmNob3Ip IHRvIH0lCiAgXHBnZnV0aWxAaWZuZXh0Y2hhclt7XHRpa3pjZEBhckBnZXRsYWJl bH17XHBnZnV0aWxAaWZuZXh0Y2hhclxiZ3JvdXB7XHRpa3pjZEBhckBnZXRsYWJl bFtdfXtcdGlremNkQGFyQGZpbmFsfX19CgpcZGVmXHRpa3pjZEBhckBnZXRsYWJl bFsjMV0jMnslCiAgXGV4cGFuZGFmdGVyXGdsb2JhbFxleHBhbmRhZnRlclxkZWZc ZXhwYW5kYWZ0ZXJcdGlremNkQHNhdmVkcGF0aHNcZXhwYW5kYWZ0ZXJ7XHRpa3pj ZEBzYXZlZHBhdGhzJQogICAgbm9kZVsvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFt cy9ldmVyeSBsYWJlbCwjMV17XHRpa3pjZEBtYXRobWF5YmV7IzJ9fX0lCiAgXHBn ZnV0aWxAaWZuZXh0Y2hhclt7XHRpa3pjZEBhckBnZXRsYWJlbH17XHBnZnV0aWxA aWZuZXh0Y2hhclxiZ3JvdXB7XHRpa3pjZEBhckBnZXRsYWJlbFtdfXtcdGlremNk QGFyQGZpbmFsfX19CgpcZGVmXHRpa3pjZEBhckBmaW5hbHslCiAgXHRva3NAXGV4 cGFuZGFmdGVye1x0aWt6Y2RAc2F2ZWRwYXRoc30lCiAgXGdsb2JhbFxlZGVmXHRp a3pjZEBzYXZlZHBhdGhzeyUKICAgIFx0aGVcdG9rc0AlCiAgICAoXHRpa3ptYXRy aXhuYW1lLVx0aGVcY0BwZ2ZAY291bnRhLVx0aGVcY0BwZ2ZAY291bnRiXG5vZXhw YW5kXHRpa3pjZEBlbmRhbmNob3IpOyB9JQogIFxlbmRncm91cH0lIHJlc3RvcmUg cGdmIGNvdW50ZXJzCgpcZGVmXHRpa3pjZEB4YXIjMXtccGdmdXRpbEBpZm5leHRj aGFyW3tcdGlremNkQEB4YXJ7IzF9fXtcdGlremNkQGFycm93W117IzF9fX0KClxk ZWZcdGlremNkQEB4YXIjMVsjMl17XHRpa3pjZEBhcnJvd1sjMl17IzF9fQoKXGRl Zlx0aWt6Y2RAcGFyc2UjMXslIFBhcnNlciBmb3IgYXJyb3cgZGlyZWN0aW9uIGFy Z3VtZW50CiAgXGRlZlx0aWt6Y2RAdGVtcHtcdGlremNkQHBhcnNlfSUKICBcaWZ4 IzFyXGFkdmFuY2VcY0BwZ2ZAY291bnRiIGJ5MVxlbHNlJQogICBcaWZ4IzFkXGFk dmFuY2VcY0BwZ2ZAY291bnRhIGJ5MVxlbHNlJQogICAgXGlmeCMxbFxhZHZhbmNl XGNAcGdmQGNvdW50YiBieS0xXGVsc2UlCiAgICAgXGlmeCMxdVxhZHZhbmNlXGNA cGdmQGNvdW50YSBieS0xXGVsc2UlCiAgICAgIFxpZngjMVxyZWxheFxsZXRcdGlr emNkQHRlbXBcZW1wdHklCiAgICAgICBcZWxzZVxQYWNrYWdlRXJyb3J7dGlrei1j ZH17QXJyb3cgZGlyZWN0aW9uIGFyZ3VtZW50IG11c3QgY29udGFpbiAlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSB0aGUgY2hhcmFjdGVy cyB1LCBkLCBsLCByfXt9XGZpXGZpXGZpXGZpXGZpJQogIFx0aWt6Y2RAdGVtcH0K CiUgYHF1b3RlcycgbGlicmFyeSBzdXBwb3J0ClxkZWZcdGlremNkQHBhc3NxdW90 ZXMjMXtcdGlrenNldHtldmVyeSB0by8uYXBwZW5kIHN0eWxlPXsjMX19fQoKXHBn ZnFrZXlzey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zfXsKICBAZW5hYmxlcXVv dGVzLy5zdHlsZT17CiAgICAvaGFuZGxlcnMvZmlyc3QgY2hhciBzeW50YXgvdGhl IGNoYXJhY3RlciAiLy5pbml0aWFsPVx0aWt6Y2RAcGFzc3F1b3RlcywKICAgIC90 aWt6L2VkZ2UgcXVvdGVzIG1lYW4vLnRyeT17JQogICAgICBlZGdlIG5vZGU9e25v ZGUgWy90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2V2ZXJ5IGxhYmVsLCMjMl17 XHRpa3pjZEBtYXRobWF5YmV7IyMxfX19fX19CgolIGBzdGFydCBhbmNob3InLCBg ZW5kIGFuY2hvcicsIGFuZCBgc2hpZnQnIGtleXMKXGRlZlx0aWt6Y2RAc2V0YW5j aG9yIzFbIzJdIzNccmVsYXh7JQogIFxpZnhccmVsYXgjMlxyZWxheFxlbHNlJQog ICAgXHBnZnFrZXlzey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zfXtAIzF0cmFu c2Zvcm0vLmFwcGVuZCBzdHlsZT17IzJ9LEBzaGlmdGFibGV0b3BhdGh9JQogIFxm aSUKICBcaWZ4XHJlbGF4IzNccmVsYXglCiAgICBcZXhwYW5kYWZ0ZXJcbGV0XGNz bmFtZSB0aWt6Y2RAIzFhbmNob3JcZW5kY3NuYW1lXGVtcHR5JQogIFxlbHNlJQog ICAgXGV4cGFuZGFmdGVyXGRlZlxjc25hbWUgdGlremNkQCMxYW5jaG9yXGVuZGNz bmFtZXsuIzN9JQogIFxmaX0KClxwZ2Zxa2V5c3svdGlrei9jb21tdXRhdGl2ZSBk aWFncmFtc317CiAgQHNoaWZ0YWJsZXRvcGF0aC8uc3R5bGU9ewogICAgL3Rpa3ov ZXhlY3V0ZSBhdCBiZWdpbiB0bz17JQogICAgICBcYmVnaW5ncm91cCUKICAgICAg ICBcZGVmXHRpa3pAdG9ub2Rlc3tjb29yZGluYXRlW3Bvcz0wLGNvbW11dGF0aXZl IGRpYWdyYW1zL0BzdGFydHRyYW5zZm9ybS8udHJ5XSh0aWt6Y2RAbm9kZWEpICUK ICAgICAgICAgICAgICAgICAgICAgICAgICBjb29yZGluYXRlW3Bvcz0xLGNvbW11 dGF0aXZlIGRpYWdyYW1zL0BlbmR0cmFuc2Zvcm0vLnRyeV0odGlremNkQG5vZGVi KX0lCiAgICAgICAgXHBhdGggKFx0aWt6dG9zdGFydCkgXHRpa3pAdG9AcGF0aDsl CiAgICAgIFxlbmRncm91cCUKICAgICAgXGRlZlx0aWt6dG9zdGFydHt0aWt6Y2RA bm9kZWF9JQogICAgICBcZGVmXHRpa3p0b3RhcmdldHt0aWt6Y2RAbm9kZWJ9JQog ICAgICBcdG9rc0BcZXhwYW5kYWZ0ZXJ7XHRpa3pAdG9AcGF0aH0lCiAgICAgIFxl ZGVmXHRpa3pAdG9AcGF0aHsodGlremNkQG5vZGVhKSBcdGhlXHRva3NAfQogICAg fSwKICAgIC90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL0BzaGlmdGFibGV0b3Bh dGgvLmNvZGU9e319LAogIHN0YXJ0IGFuY2hvci8uY29kZT17JQogICAgXHBnZnV0 aWxAaWZuZXh0Y2hhclt7XHRpa3pjZEBzZXRhbmNob3J7c3RhcnR9fXtcdGlremNk QHNldGFuY2hvcntzdGFydH1bXX0jMVxyZWxheH0sJV0KICBlbmQgYW5jaG9yLy5j b2RlPXslCiAgICBccGdmdXRpbEBpZm5leHRjaGFyW3tcdGlremNkQHNldGFuY2hv cntlbmR9fXtcdGlremNkQHNldGFuY2hvcntlbmR9W119IzFccmVsYXh9LCVdCiAg c3RhcnQgYW5jaG9yPSwKICBlbmQgYW5jaG9yPSwKICBzaGlmdCBsZWZ0Ly5zdHls ZT17CiAgICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9Ac2hpZnRhYmxldG9w YXRoLAogICAgL3Rpa3ovZXhlY3V0ZSBhdCBiZWdpbiB0bz17JQogICAgICBccGdm cG9pbnRub3JtYWxpc2VkeyUKICAgICAgICBccGdmcG9pbnRkaWZme1xwZ2Zwb2lu dGFuY2hvcnt0aWt6Y2RAbm9kZWJ9e2NlbnRlcn19e1xwZ2Zwb2ludGFuY2hvcnt0 aWt6Y2RAbm9kZWF9e2NlbnRlcn19fSUKICAgICAgXHBnZmdldGxhc3R4eXtcdGlr emNkQHh9e1x0aWt6Y2RAeX0lCiAgICAgIFxwZ2ZtYXRocGFyc2V7KCMxKS8xcHR9 JQogICAgICBcY29vcmRpbmF0ZSAodGlremNkQG5vZGVhKSBhdCAoW3NoaWZ0PXso XHBnZm1hdGhyZXN1bHQqXHRpa3pjZEB5LC1ccGdmbWF0aHJlc3VsdCpcdGlremNk QHgpfV10aWt6Y2RAbm9kZWEpOyUKICAgICAgXGNvb3JkaW5hdGUgKHRpa3pjZEBu b2RlYikgYXQgKFtzaGlmdD17KFxwZ2ZtYXRocmVzdWx0Klx0aWt6Y2RAeSwtXHBn Zm1hdGhyZXN1bHQqXHRpa3pjZEB4KX1ddGlremNkQG5vZGViKTt9fSwKICBzaGlm dCByaWdodC8uc3R5bGU9ewogICAgL3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMv c2hpZnQgbGVmdD17LSgjMSl9fSwKICB0cmFuc2Zvcm0gbm9kZXMvLnN0eWxlPXsK ICAgIC90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL0BzaGlmdGFibGV0b3BhdGgs CiAgICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy9Ac3RhcnR0cmFuc2Zvcm0v LmFwcGVuZCBzdHlsZT17IzF9LAogICAgL3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3Jh bXMvQGVuZHRyYW5zZm9ybS8uYXBwZW5kIHN0eWxlPXsjMX19LAogIHNoaWZ0Ly5z dHlsZT17CiAgICAvdGlrei9zaGlmdD17IzF9LCUgd2UgbmVlZCB0aGlzIGZvciBs YWJlbHMgdG8gcmVjZWl2ZSBhIHNoaWZ0CiAgICAvdGlrei9jb21tdXRhdGl2ZSBk aWFncmFtcy90cmFuc2Zvcm0gbm9kZXM9ey90aWt6L3NoaWZ0PXsjMX19fSwKICB4 c2hpZnQvLnN0eWxlPXsKICAgIC90aWt6L3hzaGlmdD17IzF9LAogICAgL3Rpa3ov Y29tbXV0YXRpdmUgZGlhZ3JhbXMvdHJhbnNmb3JtIG5vZGVzPXsvdGlrei94c2hp ZnQ9eyMxfX19LAogIHlzaGlmdC8uc3R5bGU9ewogICAgL3Rpa3oveXNoaWZ0PXsj MX0sCiAgICAvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy90cmFuc2Zvcm0gbm9k ZXM9ey90aWt6L3lzaGlmdD17IzF9fX19CgolIFRoZSBgdGlremNkJyBlbnZpcm9u bWVudApcZGVmXHRpa3pjZHtccGdmdXRpbEBpZm5leHRjaGFyW3tcdGlremNkQH17 XHRpa3pjZEBbXX19CgpcZGVmXHRpa3pjZEBbIzFdeyUKICBcdGlrenBpY3R1cmVb L3Rpa3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvZXZlcnkgZGlhZ3JhbSwjMV0lCiAg XGRlZlxhcnJvd3tcdGlremNkQGFycm93fSUKICBcZGVmXGFye1x0aWt6Y2RAYXJy b3d9JQogIFxkZWZccmFye1x0aWt6Y2RAeGFye3J9fSUKICBcZGVmXGxhcntcdGlr emNkQHhhcntsfX0lCiAgXGRlZlxkYXJ7XHRpa3pjZEB4YXJ7ZH19JQogIFxkZWZc dWFye1x0aWt6Y2RAeGFye3V9fSUKICBcZGVmXHVyYXJ7XHRpa3pjZEB4YXJ7dXJ9 fSUKICBcZGVmXHVsYXJ7XHRpa3pjZEB4YXJ7dWx9fSUKICBcZGVmXGRyYXJ7XHRp a3pjZEB4YXJ7ZHJ9fSUKICBcZGVmXGRsYXJ7XHRpa3pjZEB4YXJ7ZGx9fSUKICBc Z2xvYmFsXGxldFx0aWt6Y2RAc2F2ZWRwYXRoc1xlbXB0eQogIFxtYXRyaXhbL3Rp a3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvbWF0cml4IG9mIG1hdGggbm9kZXMgbWF5 YmUsCgkgICAgIGFtcGVyc2FuZCByZXBsYWNlbWVudD1cJl0lIGFkZGVkIHRvIGZp eCBhcHBhcmVudCBpbmNvbXBhdGliaWxpdHkgd2l0aCBDb25UZVh0CiAgXGJncm91 cH0KClxkZWZcZW5kdGlremNkeyUKICBcdG9rc0BcZXhwYW5kYWZ0ZXJ7XHRpa3pj ZEBzYXZlZHBhdGhzfSUKICBcZ2xvYmFsXGVkZWZcdGlremNkQHNhdmVkcGF0aHN7 JQogICAgXG5vZXhwYW5kXHRpa3pzZXR7Y29tbXV0YXRpdmUgZGlhZ3JhbXMvXHRo ZVxwZ2ZtYXRyaXhjdXJyZW50cm93LXJvdyBkaWFncmFtLy50cnk9XHRpa3ptYXRy aXhuYW1lfSUKICAgIFx0aGVcdG9rc0B9JQogIFxwZ2ZtYXRyaXhlbmRyb3dcZWdy b3VwOyUKICBcdGlremNkQHNhdmVkcGF0aHMlCiAgXGVuZHRpa3pwaWN0dXJlfQoK XGRlZlx0aWt6Y2RAbWF0aG1heWJlIzF7XGlmdGlremNkQG1hdGhtb2RlJFxyZWxh eCAjMSRcZWxzZSMxXGZpfQoKXGRlZlx0aWt6Y2RAc2VwIzEjMnsKICBccGdma2V5 c2lmZGVmaW5lZHsvdGlrei9jb21tdXRhdGl2ZSBkaWFncmFtcy8jMSBzZXAvIzJ9 JQogICAge1xwZ2ZrZXlzYWxzb3svdGlrei8jMSBzZXA9XHBnZmtleXN2YWx1ZW9m ey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zLyMxIHNlcC8jMn19fSUKICAgIHtc cGdma2V5c2Fsc297L3Rpa3ovIzEgc2VwPSMyfX19CgolIENvbXB1dGVyIG1vZGVy biBhcnJvdyB0aXBzClxwZ2ZhcnJvd3NkZWNsYXJle2NtIHRvfXtjbSB0b30Kewog IFxwZ2ZhcnJvd3NsZWZ0ZXh0ZW5key01LjgzM1xwZ2ZsaW5ld2lkdGh9CiAgXHBn ZmFycm93c3JpZ2h0ZXh0ZW5kezAuNVxwZ2ZsaW5ld2lkdGh9Cn0KewogIFxwZ2Z1 dGlsQHRlbXBkaW1hPVxwZ2ZsaW5ld2lkdGgKICBccGdmc2V0ZGFzaHt9eyswcHR9 CiAgXHBnZnNldHJvdW5kY2FwCiAgXHBnZnNldHJvdW5kam9pbgogIFxwZ2ZwYXRo bW92ZXRve1xwZ2ZxcG9pbnR7LTUuMzMzXHBnZnV0aWxAdGVtcGRpbWF9ezZccGdm dXRpbEB0ZW1wZGltYX19CiAgXHBnZnBhdGhjdXJ2ZXRvCiAge1xwZ2ZxcG9pbnR7 LTQuMlxwZ2Z1dGlsQHRlbXBkaW1hfXsyLjVccGdmdXRpbEB0ZW1wZGltYX19CiAg e1xwZ2ZxcG9pbnR7LTIuMTMzXHBnZnV0aWxAdGVtcGRpbWF9ezAuNlxwZ2Z1dGls QHRlbXBkaW1hfX0KICB7XHBnZnBvaW50b3JpZ2lufQogIFxwZ2ZwYXRoY3VydmV0 bwogIHtccGdmcXBvaW50ey0yLjEzM1xwZ2Z1dGlsQHRlbXBkaW1hfXstMC42XHBn ZnV0aWxAdGVtcGRpbWF9fQogIHtccGdmcXBvaW50ey00LjJccGdmdXRpbEB0ZW1w ZGltYX17LTIuNVxwZ2Z1dGlsQHRlbXBkaW1hfX0KICB7XHBnZnFwb2ludHstNS4z MzNccGdmdXRpbEB0ZW1wZGltYX17LTZccGdmdXRpbEB0ZW1wZGltYX19CiAgXHBn ZnVzZXBhdGhxc3Ryb2tlCn0KClxwZ2ZhcnJvd3NkZWNsYXJle2NtIGltcGxpZXN9 e2NtIGltcGxpZXN9CnsKICBccGdmbWF0aHNldGxlbmd0aHtccGdmdXRpbEB0ZW1w ZGltYX17LTAuNzI5XHBnZmxpbmV3aWR0aCsuMjUqXHBnZmlubmVybGluZXdpZHRo fQogIFxwZ2ZhcnJvd3NsZWZ0ZXh0ZW5ke1xwZ2Z1dGlsQHRlbXBkaW1hfQogIFxw Z2ZtYXRoc2V0bGVuZ3Roe1xwZ2Z1dGlsQHRlbXBkaW1hfXsxLjA5NFxwZ2ZsaW5l d2lkdGgtLjI1KlxwZ2Zpbm5lcmxpbmV3aWR0aH0KICBccGdmYXJyb3dzcmlnaHRl eHRlbmR7XHBnZnV0aWxAdGVtcGRpbWF9Cn0KewogIFxwZ2ZtYXRoc2V0bGVuZ3Ro e1xwZ2Z1dGlsQHRlbXBkaW1ifXsuNVxwZ2ZsaW5ld2lkdGgtLjUqXHBnZmlubmVy bGluZXdpZHRofQogIFxwZ2Z1dGlsQHRlbXBkaW1hXHBnZmxpbmV3aWR0aAogIFxw Z2ZzZXRsaW5ld2lkdGh7XHBnZnV0aWxAdGVtcGRpbWJ9CiAgXHBnZnNldGRhc2h7 fXsrMHB0fQogIFxwZ2ZzZXRyb3VuZGNhcAogIFxwZ2ZzZXRyb3VuZGpvaW4KICBc cGdmcGF0aG1vdmV0b3tccGdmcXBvaW50ey0wLjU0MlxwZ2Z1dGlsQHRlbXBkaW1h fXsxLjE0MlxwZ2Z1dGlsQHRlbXBkaW1hfX0KICBccGdmcGF0aGN1cnZldG8KICB7 XHBnZnFwb2ludHstMC4yNDdccGdmdXRpbEB0ZW1wZGltYX17MC40NzZccGdmdXRp bEB0ZW1wZGltYX19CiAge1xwZ2ZxcG9pbnR7MC4yOVxwZ2Z1dGlsQHRlbXBkaW1h fXswLjExNFxwZ2Z1dGlsQHRlbXBkaW1hfX0KICB7XHBnZnFwb2ludHswLjg0NFxw Z2Z1dGlsQHRlbXBkaW1hfXswcHR9fQogIFxwZ2ZwYXRoY3VydmV0bwogIHtccGdm cXBvaW50ezAuMjlccGdmdXRpbEB0ZW1wZGltYX17LTAuMTE0XHBnZnV0aWxAdGVt cGRpbWF9fQogIHtccGdmcXBvaW50ey0wLjI0N1xwZ2Z1dGlsQHRlbXBkaW1hfXst MC40NzZccGdmdXRpbEB0ZW1wZGltYX19CiAge1xwZ2ZxcG9pbnR7LTAuNTQyXHBn ZnV0aWxAdGVtcGRpbWF9ey0xLjE0MlxwZ2Z1dGlsQHRlbXBkaW1hfX0KICBccGdm dXNlcGF0aHFzdHJva2UKfQoKXHBnZmFycm93c2RlY2xhcmV7Y20gYm9sZCB0b317 Y20gYm9sZCB0b30KewogIFxwZ2ZhcnJvd3NsZWZ0ZXh0ZW5key00LjA1NVxwZ2Zs aW5ld2lkdGh9CiAgXHBnZmFycm93c3JpZ2h0ZXh0ZW5kezAuNVxwZ2ZsaW5ld2lk dGh9Cn0KewogIFxwZ2Z1dGlsQHRlbXBkaW1hPTAuNjY3XHBnZmxpbmV3aWR0aAog IFxwZ2ZzZXRkYXNoe317KzBwdH0KICBccGdmc2V0cm91bmRjYXAKICBccGdmc2V0 cm91bmRqb2luCiAgXHBnZnBhdGhtb3ZldG97XHBnZnFwb2ludHstNS4zMzNccGdm dXRpbEB0ZW1wZGltYX17NlxwZ2Z1dGlsQHRlbXBkaW1hfX0KICBccGdmcGF0aGN1 cnZldG8KICB7XHBnZnFwb2ludHstNC4yXHBnZnV0aWxAdGVtcGRpbWF9ezIuNVxw Z2Z1dGlsQHRlbXBkaW1hfX0KICB7XHBnZnFwb2ludHstMi4xMzNccGdmdXRpbEB0 ZW1wZGltYX17MC42XHBnZnV0aWxAdGVtcGRpbWF9fQogIHtccGdmcG9pbnRvcmln aW59CiAgXHBnZnBhdGhjdXJ2ZXRvCiAge1xwZ2ZxcG9pbnR7LTIuMTMzXHBnZnV0 aWxAdGVtcGRpbWF9ey0wLjZccGdmdXRpbEB0ZW1wZGltYX19CiAge1xwZ2ZxcG9p bnR7LTQuMlxwZ2Z1dGlsQHRlbXBkaW1hfXstMi41XHBnZnV0aWxAdGVtcGRpbWF9 fQogIHtccGdmcXBvaW50ey01LjMzM1xwZ2Z1dGlsQHRlbXBkaW1hfXstNlxwZ2Z1 dGlsQHRlbXBkaW1hfX0KICBccGdmdXNlcGF0aHFzdHJva2UKfQoKXHBnZmFycm93 c2RlY2xhcmV7Y20gbGVmdCB0b317Y20gbGVmdCB0b30KewogIFxwZ2ZhcnJvd3Ns ZWZ0ZXh0ZW5key01LjgzM1xwZ2ZsaW5ld2lkdGh9CiAgXHBnZmFycm93c3JpZ2h0 ZXh0ZW5kezAuNVxwZ2ZsaW5ld2lkdGh9Cn0KewogIFxwZ2Z1dGlsQHRlbXBkaW1h PVxwZ2ZsaW5ld2lkdGgKICBccGdmc2V0ZGFzaHt9eyswcHR9CiAgXHBnZnNldHJv dW5kY2FwCiAgXHBnZnNldHJvdW5kam9pbgogIFxwZ2ZwYXRobW92ZXRve1xwZ2Zx cG9pbnR7LTUuMzMzXHBnZnV0aWxAdGVtcGRpbWF9ezZccGdmdXRpbEB0ZW1wZGlt YX19CiAgXHBnZnBhdGhjdXJ2ZXRvCiAge1xwZ2ZxcG9pbnR7LTQuMlxwZ2Z1dGls QHRlbXBkaW1hfXsyLjVccGdmdXRpbEB0ZW1wZGltYX19CiAge1xwZ2ZxcG9pbnR7 LTIuMTMzXHBnZnV0aWxAdGVtcGRpbWF9ezAuNlxwZ2Z1dGlsQHRlbXBkaW1hfX0K ICB7XHBnZnBvaW50b3JpZ2lufQogIFxwZ2Z1c2VwYXRocXN0cm9rZQp9CgpccGdm YXJyb3dzZGVjbGFyZXtjbSByaWdodCB0b317Y20gcmlnaHQgdG99CnsKICBccGdm YXJyb3dzbGVmdGV4dGVuZHstNS44MzNccGdmbGluZXdpZHRofQogIFxwZ2ZhcnJv d3NyaWdodGV4dGVuZHswLjVccGdmbGluZXdpZHRofQp9CnsKICBccGdmdXRpbEB0 ZW1wZGltYT1ccGdmbGluZXdpZHRoCiAgXHBnZnNldGRhc2h7fXsrMHB0fQogIFxw Z2ZzZXRyb3VuZGNhcAogIFxwZ2ZzZXRyb3VuZGpvaW4KICBccGdmcGF0aG1vdmV0 b3tccGdmcG9pbnRvcmlnaW59CiAgXHBnZnBhdGhjdXJ2ZXRvCiAge1xwZ2ZxcG9p bnR7LTIuMTMzXHBnZnV0aWxAdGVtcGRpbWF9ey0wLjZccGdmdXRpbEB0ZW1wZGlt YX19CiAge1xwZ2ZxcG9pbnR7LTQuMlxwZ2Z1dGlsQHRlbXBkaW1hfXstMi41XHBn ZnV0aWxAdGVtcGRpbWF9fQogIHtccGdmcXBvaW50ey01LjMzM1xwZ2Z1dGlsQHRl bXBkaW1hfXstNlxwZ2Z1dGlsQHRlbXBkaW1hfX0KICBccGdmdXNlcGF0aHFzdHJv a2UKfQoKXHBnZmFycm93c2RlY2xhcmV7Y20gfH17Y20gfH0KewogIFxwZ2ZhcnJv d3NsZWZ0ZXh0ZW5key0wLjVccGdmbGluZXdpZHRofQogIFxwZ2ZhcnJvd3NyaWdo dGV4dGVuZHswLjVccGdmbGluZXdpZHRofQp9CnsKICBccGdmc2V0ZGFzaHt9eysw cHR9CiAgXHBnZnNldHJvdW5kY2FwCiAgXHBnZnBhdGhtb3ZldG97XHBnZnFwb2lu dHswcHR9ey00XHBnZmxpbmV3aWR0aH19CiAgXHBnZnBhdGhsaW5ldG97XHBnZnFw b2ludHswcHR9ezRccGdmbGluZXdpZHRofX0KICBccGdmdXNlcGF0aHFzdHJva2UK fQoKXHBnZmFycm93c2RlY2xhcmV7Y20gbGVmdCBob29rfXtjbSBsZWZ0IGhvb2t9 CnsKICBccGdmYXJyb3dzbGVmdGV4dGVuZHstMC41XHBnZmxpbmV3aWR0aH0KICBc cGdmYXJyb3dzcmlnaHRleHRlbmR7My41XHBnZmxpbmV3aWR0aH0KfQp7CiAgXHBn ZnNldGRhc2h7fXsrMHB0fQogIFxwZ2ZzZXRyb3VuZGNhcAogIFxwZ2ZwYXRobW92 ZXRve1xwZ2ZxcG9pbnR7MHB0fXs0LjY2N1xwZ2ZsaW5ld2lkdGh9fQogIFxwZ2Zw YXRoY3VydmV0bwogICAge1xwZ2ZxcG9pbnR7NFxwZ2ZsaW5ld2lkdGh9ezQuNjY3 XHBnZmxpbmV3aWR0aH19CiAgICB7XHBnZnFwb2ludHs0XHBnZmxpbmV3aWR0aH17 MHB0fX0KICAgIHtccGdmcG9pbnRvcmlnaW59CiAgXHBnZnVzZXBhdGhxc3Ryb2tl Cn0KClxwZ2ZhcnJvd3NkZWNsYXJle2NtIHJpZ2h0IGhvb2t9e2NtIHJpZ2h0IGhv b2t9CnsKICBccGdmYXJyb3dzbGVmdGV4dGVuZHstMC41XHBnZmxpbmV3aWR0aH0K ICBccGdmYXJyb3dzcmlnaHRleHRlbmR7My41XHBnZmxpbmV3aWR0aH0KfQp7CiAg XHBnZnNldGRhc2h7fXsrMHB0fQogIFxwZ2ZzZXRyb3VuZGNhcAogIFxwZ2ZwYXRo bW92ZXRve1xwZ2ZxcG9pbnR7MHB0fXstNC42NjdccGdmbGluZXdpZHRofX0KICBc cGdmcGF0aGN1cnZldG8KICAgIHtccGdmcXBvaW50ezRccGdmbGluZXdpZHRofXst NC42NjdccGdmbGluZXdpZHRofX0KICAgIHtccGdmcXBvaW50ezRccGdmbGluZXdp ZHRofXswcHR9fQogICAge1xwZ2Zwb2ludG9yaWdpbn0KICBccGdmdXNlcGF0aHFz dHJva2UKfQoKXHBnZmFycm93c2RlY2xhcmV7Y20gb317Y20gb30KewogIFxwZ2Zh cnJvd3NsZWZ0ZXh0ZW5keystLjVccGdmbGluZXdpZHRofQogIFxwZ2ZhcnJvd3Ny aWdodGV4dGVuZHs3LjE2N1xwZ2ZsaW5ld2lkdGh9Cn0KewogIFxwZ2ZwYXRoY2ly Y2xle1xwZ2ZxcG9pbnR7My4zMzNccGdmbGluZXdpZHRofXswcHR9fXszLjMzM1xw Z2ZsaW5ld2lkdGh9CiAgXHBnZnVzZXBhdGhxc3Ryb2tlCn0KClxwZ2ZhcnJvd3Nk ZWNsYXJle2NtICp9e2NtICp9CnsKICBccGdmYXJyb3dzbGVmdGV4dGVuZHsrLS41 XHBnZmxpbmV3aWR0aH0KICBccGdmYXJyb3dzcmlnaHRleHRlbmR7Ny4xNjdccGdm bGluZXdpZHRofQp9CnsKICBccGdmcGF0aGNpcmNsZXtccGdmcXBvaW50ezMuMzMz XHBnZmxpbmV3aWR0aH17MHB0fX17My4zMzNccGdmbGluZXdpZHRofQogIFxwZ2Z1 c2VwYXRocWZpbGxzdHJva2UKfQoKXHBnZmFycm93c2RlY2xhcmV7Y20gY2FwfXtj bSBjYXB9CnsKICBccGdmYXJyb3dzbGVmdGV4dGVuZHsrMHB0fQogIFxwZ2ZhcnJv d3NyaWdodGV4dGVuZHsrXHBnZmxpbmV3aWR0aH0KfQp7CiAgXHBnZnNldGRhc2h7 fXsrMHB0fQogIFxwZ2ZzZXRyb3VuZGNhcAogIFxwZ2ZwYXRobW92ZXRve1xwZ2Zw b2ludG9yaWdpbn0KICBccGdmcGF0aGxpbmV0b3tccGdmcXBvaW50ezAuNVxwZ2Zs aW5ld2lkdGh9ezBwdH19CiAgXHBnZnVzZXBhdGhxc3Ryb2tlCn0KClxwZ2ZhcnJv d3NkZWNsYXJle2NtIGltcGxpZXMgY2FwfXtjbSBpbXBsaWVzIGNhcH0KewogIFxw Z2ZtYXRoc2V0bGVuZ3Roe1xwZ2Z1dGlsQHRlbXBkaW1hfXsuNVxwZ2ZsaW5ld2lk dGgtLjUqXHBnZmlubmVybGluZXdpZHRofQogIFxwZ2ZhcnJvd3NsZWZ0ZXh0ZW5k eyswcHR9CiAgXHBnZmFycm93c3JpZ2h0ZXh0ZW5keytccGdmdXRpbEB0ZW1wZGlt YX0KfQp7CiAgXHBnZm1hdGhzZXRsZW5ndGh7XHBnZnV0aWxAdGVtcGRpbWF9ey41 XHBnZmxpbmV3aWR0aC0uNSpccGdmaW5uZXJsaW5ld2lkdGh9CiAgXHBnZm1hdGhz ZXRsZW5ndGh7XHBnZnV0aWxAdGVtcGRpbWJ9ey41XHBnZmxpbmV3aWR0aC0uNSpc cGdmdXRpbEB0ZW1wZGltYX0KICBccGdmc2V0bGluZXdpZHRoe1xwZ2Z1dGlsQHRl bXBkaW1hfQogIFxwZ2ZzZXRkYXNoe317KzBwdH0KICBccGdmc2V0cm91bmRjYXAK ICBccGdmcGF0aG1vdmV0b3tccGdmcXBvaW50ezBwdH17KzFccGdmdXRpbEB0ZW1w ZGltYn19CiAgXHBnZnBhdGhsaW5ldG97XHBnZnFwb2ludHswLjVccGdmdXRpbEB0 ZW1wZGltYX17KzFccGdmdXRpbEB0ZW1wZGltYn19CiAgXHBnZnBhdGhtb3ZldG97 XHBnZnFwb2ludHswcHR9ey0xXHBnZnV0aWxAdGVtcGRpbWJ9fQogIFxwZ2ZwYXRo bGluZXRve1xwZ2ZxcG9pbnR7MC41XHBnZnV0aWxAdGVtcGRpbWF9ey0xXHBnZnV0 aWxAdGVtcGRpbWJ9fQogIFxwZ2Z1c2VwYXRocXN0cm9rZQp9CgpccGdmYXJyb3dz ZGVjbGFyZXJldmVyc2Vke2NtIHRvIHJldmVyc2VkfXtjbSB0byByZXZlcnNlZH17 Y20gdG99e2NtIHRvfQpccGdmYXJyb3dzZGVjbGFyZXJldmVyc2Vke2NtIGxlZnQg dG8gcmV2ZXJzZWR9e2NtIGxlZnQgdG8gcmV2ZXJzZWR9e2NtIGxlZnQgdG99e2Nt IGxlZnQgdG99ClxwZ2ZhcnJvd3NkZWNsYXJlcmV2ZXJzZWR7Y20gcmlnaHQgdG8g cmV2ZXJzZWR9e2NtIHJpZ2h0IHRvIHJldmVyc2VkfXtjbSByaWdodCB0b317Y20g cmlnaHQgdG99CgpccGdmYXJyb3dzZGVjbGFyZWRvdWJsZXtjbSBkb3VibGUgdG99 e2NtIGRvdWJsZSB0b317Y20gdG99e2NtIHRvfQpccGdmYXJyb3dzZGVjbGFyZWRv dWJsZXtjbSBkb3VibGUgdG8gcmV2ZXJzZWR9e2NtIGRvdWJsZSB0byByZXZlcnNl ZH17Y20gdG8gcmV2ZXJzZWR9e2NtIHRvIHJldmVyc2VkfQoKJSBGb250IGFycm93 cyAoZXhwZXJpbWVudGFsKQpccGdma2V5c2RlZnsvdGlrei9jb21tdXRhdGl2ZSBk aWFncmFtcy9lbmFibGUgZm9udCBhcnJvd3N9eyUKICAlIEEgbGl0dGxlIHN1cmdl cnkgb24gcGdmJ3MgYXJyb3cgc2VsZWN0aW9uIGNvbW1hbmRzCiAgXHBnZnV0aWxA aWZ1bmRlZmluZWR7dGlremNkQG9yaWdAcGdmc2V0YXJyb3dzZW5kfSUKICAgIHtc bGV0XHRpa3pjZEBvcmlnQHBnZnNldGFycm93c2VuZFxwZ2ZzZXRhcnJvd3NlbmQK ICAgICBcbGV0XHRpa3pjZEBvcmlnQHBnZnNldGFycm93c3N0YXJ0XHBnZnNldGFy cm93c3N0YXJ0CiAgICAgXGRlZlxwZ2ZzZXRhcnJvd3NlbmQjIzF7JQogICAgICAg XHBnZnV0aWxAaWZ1bmRlZmluZWR7dGlremNkQGFycm93c0BjbWRAIyMxfSUKICAg ICAgICAge1x0aWt6Y2RAb3JpZ0BwZ2ZzZXRhcnJvd3NlbmR7IyMxfX0KICAgICAg ICAge1x0aWt6Y2RAYXJyb3dzZXR7ZW5kfXsjIzF9fX0lCiAgICAgXGRlZlxwZ2Zz ZXRhcnJvd3NzdGFydCMjMXslCiAgICAgICBccGdmdXRpbEBpZnVuZGVmaW5lZHt0 aWt6Y2RAYXJyb3dzQGNtZEAjIzF9JQogICAgICAgICB7XHRpa3pjZEBvcmlnQHBn ZnNldGFycm93c3N0YXJ0eyMjMX19CiAgICAgICAgIHtcdGlremNkQGFycm93c2V0 e3N0YXJ0fXsjIzF9fX19JQogICAge319CgpccGdmcWtleXN7L3Rpa3ovY29tbXV0 YXRpdmUgZGlhZ3JhbXMvZm9udCBhcnJvd3N9ewogIGRvdWJsZSBkaXN0YW5jZS8u c3RvcmUgaW49e1x0aWt6Y2Rmb250YXJyb3dzZG91YmxlZGlzdGFuY2V9LAogIGRl Y2xhcmUgaGVhZC8uY29kZSBuIGFyZ3M9ezR9e1x0aWt6Y2RAYXJyb3dzZGVjbGFy ZXsjMX17IzJ9eyMzfXsjNH17XGlmdHJ1ZX19LAogIGRlY2xhcmUgdGFpbC8uY29k ZSBuIGFyZ3M9ezR9e1x0aWt6Y2RAYXJyb3dzZGVjbGFyZXsjMX17IzJ9eyMzfXsj NH17XGlmZmFsc2V9fX0KCiUgIzEgPSBuYW1lCiUgIzIgPSBjb21tYW5kCiUgIzMg PSBheGlzIGhlaWdodAolICM0ID0gd2lkdGggb2YgY2xpcCBib3gKJSAjNSA9IFxp ZnRydWUgZm9yIGhlYWQsIFxpZmZhbHNlIGZvciB0YWlsClxkZWZcdGlremNkQGFy cm93c2RlY2xhcmUjMSMyIzMjNCM1eyUKICBcZXhwYW5kYWZ0ZXJcZGVmXGNzbmFt ZSB0aWt6Y2RAYXJyb3dzQGNtZEAjMVxlbmRjc25hbWV7IzJ9JQogIFxleHBhbmRh ZnRlclxkZWZcY3NuYW1lIHRpa3pjZEBhcnJvd3NAaWZoZWFkQCMxXGVuZGNzbmFt ZXsjNX0lCiAgXGV4cGFuZGFmdGVyXGRlZlxjc25hbWUgdGlremNkQGFycm93c0Bh eGhlaWdodEAjMVxlbmRjc25hbWV7IzN9JQogIFxleHBhbmRhZnRlclxkZWZcY3Nu YW1lIHRpa3pjZEBhcnJvd3NAbGVuZ3RoQCMxXGVuZGNzbmFtZXsjNH19CgolIFNl bGVjdCB0aGUgcGRmVGVYIG9yIGdlbmVyaWMgYmFja2VuZCBhY2NvcmRpbmcgdG8g cGdmJ3Mgc2V0dGluZy4KJQolIFRoZSBnZW5lcmljIGJhY2tlbmQgdXNlcyBhIHJl Y3RhbmdsZSB0byBjbGlwIHRoZSBmb250IGdseXBoLCBhbmQgdGhlCiUgcGRmVGVY IGJhY2tlbmQgdXNlcyB0aGUgZm9udCBnbHlwaCBhcyB0aGUgY2xpcHBpbmcgcGF0 aCBmb3IgYSBiaWcKJSBibGFjayBib3guICBUaGUgbGF0dGVyIG1ldGhvZCBzZWVt cyB0byB0cmljayBwZGYgdmlld2VycyBhbmQKJSBwcmludGVycyB0byB0cmVhdCB0 aGUgcmVzdWx0aW5nIGFycm93IHRpcCBhcyBhIGdyYXBoaWMgZWxlbWVudAolIGlu c3RlYWQgb2YgdGV4dCwgbWFraW5nIHRoZSB0cmFuc2l0aW9uIGJldHdlZW4gbGlu ZSBhbmQgYXJyb3cgdGlwCiUgbGVzcyBub3RpY2VhYmxlLgpcZGVmXHRpa3pjZEB0 ZW1we3BnZnN5cy1wZGZ0ZXguZGVmfQpcaWZ4XHBnZnN5c2RyaXZlclx0aWt6Y2RA dGVtcAogIFxkZWZcdGlremNkQGFycm93c2V0e1x0aWt6Y2RAYXJyb3dzZXRAcGRm dGV4fQpcZWxzZQogIFxkZWZcdGlremNkQGFycm93c2V0e1x0aWt6Y2RAYXJyb3dz ZXRAZ2VuZXJpY30KXGZpCgolICMxIGBzdGFydCcgb3IgYGVuZCcKJSAjMiBhcnJv dyBuYW1lClxkZWZcdGlremNkQGFycm93c2V0QHBkZnRleCMxIzJ7JQogIFxleHBh bmRhZnRlclxkZWZcY3NuYW1lIHBnZkAjMWFycm93XGVuZGNzbmFtZXslCiAgICBc cGdmaW50ZXJydXB0cGF0aCUKICAgIFxwZ2ZAcmVsZXZhbnRmb3JwaWN0dXJlc2l6 ZWZhbHNlJQogICAgXHBnZnRyYW5zZm9ybXJlc2V0JQogICAgXHBnZnN5c0BiZWdp bnNjb3BlJQogICAgXHBnZm1hdGhzZXRsZW5ndGhtYWNyb1x0aWt6Y2RAbGVue1xj c25hbWUgdGlremNkQGFycm93c0BsZW5ndGhAIzJcZW5kY3NuYW1lfSUKICAgIFxz ZXRib3hccGdmdXRpbEB0ZW1wYm94YT1caGJveHtccGdmaW50ZXJydXB0cGljdHVy ZSAlCiAgICAgICAgICAgICAgICAgXGNzbmFtZSB0aWt6Y2RAYXJyb3dzQGNtZEAj MlxlbmRjc25hbWVcZW5kcGdmaW50ZXJydXB0cGljdHVyZX0lCiAgICBcY3NuYW1l IHRpa3pjZEBhcnJvd3NAaWZoZWFkQCMyXGVuZGNzbmFtZSUKICAgICAgXHBnZnRy YW5zZm9ybXhzaGlmdHtcdGlremNkQGxlbi1cd2RccGdmdXRpbEB0ZW1wYm94YX0l CiAgICBcZWxzZSUKICAgICAgXHBnZnRyYW5zZm9ybXJvdGF0ZXsxODB9JQogICAg ICBccGdmdHJhbnNmb3JteHNoaWZ0ey1cdGlremNkQGxlbn0lCiAgICBcZmklCiAg ICBccGdmdHJhbnNmb3JteXNoaWZ0ey1cY3NuYW1lIHRpa3pjZEBhcnJvd3NAYXho ZWlnaHRAIzJcZW5kY3NuYW1lfSUKICAgIFxwZGZsaXRlcmFsezcgVHJ9JQogICAg XHBnZmxvd2xldmVsc3luY2NtXGNvcHlccGdmdXRpbEB0ZW1wYm94YSUKICAgIFxj c25hbWUgdGlremNkQGFycm93c0BpZmhlYWRAIzJcZW5kY3NuYW1lXGVsc2UlCiAg ICAgICBccGdmdHJhbnNmb3JteHNoaWZ0e1x0aWt6Y2RAbGVuLVx3ZFxwZ2Z1dGls QHRlbXBib3hhfSUKICAgIFxmaSUKICAgIFxwZ2ZwYXRocmVjdGFuZ2xle1xwZ2Zw b2ludHswcHR9ey0xZXh9fXtccGdmcG9pbnR7LVx0aWt6Y2RAbGVufXszZXh9fSUK ICAgIFxwZ2Z1c2VwYXRocWZpbGwlCiAgICBccGdmc3lzQGVuZHNjb3BlJQogICAg XGVuZHBnZmludGVycnVwdHBhdGh9JQogIFxleHBhbmRhZnRlclxkZWZcY3NuYW1l IHBnZkBzaG9ydGVuQCMxXGVuZGNzbmFtZXslCiAgICBccGdmbWF0aHNldGxlbmd0 aFxwZ2ZAeGF7XGNzbmFtZSB0aWt6Y2RAYXJyb3dzQGxlbmd0aEAjMlxlbmRjc25h bWV9JQogICAgXGFkdmFuY2VccGdmQHggYnlccGdmQHhhfX0lCgolICMxIGBzdGFy dCcgb3IgYGVuZCcKJSAjMiBhcnJvdyBuYW1lClxkZWZcdGlremNkQGFycm93c2V0 QGdlbmVyaWMjMSMyeyUKICBcZXhwYW5kYWZ0ZXJcZGVmXGNzbmFtZSBwZ2ZAIzFh cnJvd1xlbmRjc25hbWV7JQogICAgXHBnZmludGVycnVwdHBhdGglCiAgICBccGdm QHJlbGV2YW50Zm9ycGljdHVyZXNpemVmYWxzZSUKICAgIFxwZ2Z0cmFuc2Zvcm1y ZXNldCUKICAgIFxwZ2ZzeXNAYmVnaW5zY29wZSUKICAgIFxwZ2ZtYXRoc2V0bGVu Z3RobWFjcm9cdGlremNkQGxlbntcY3NuYW1lIHRpa3pjZEBhcnJvd3NAbGVuZ3Ro QCMyXGVuZGNzbmFtZX0lCiAgICBccGdmcGF0aHJlY3RhbmdsZXtccGdmcG9pbnR7 MHB0fXstMS41ZXh9fXtccGdmcG9pbnR7XHRpa3pjZEBsZW59ezNleH19JQogICAg XHBnZnVzZXBhdGhxY2xpcCUKICAgIFxjc25hbWUgdGlremNkQGFycm93c0BpZmhl YWRAIzJcZW5kY3NuYW1lJQogICAgICBccGdmdHJhbnNmb3JteHNoaWZ0e1x0aWt6 Y2RAbGVufSUKICAgIFxlbHNlJQogICAgICBccGdmdHJhbnNmb3Jtcm90YXRlezE4 MH0lCiAgICAgIFxwZ2Z0cmFuc2Zvcm14c2hpZnR7LVx0aWt6Y2RAbGVufSUKICAg IFxmaSUKICAgIFxwZ2Z0cmFuc2Zvcm15c2hpZnR7LVxjc25hbWUgdGlremNkQGFy cm93c0BheGhlaWdodEAjMlxlbmRjc25hbWV9JQogICAgXHBnZnRleHRbXGNzbmFt ZSB0aWt6Y2RAYXJyb3dzQGlmaGVhZEAjMlxlbmRjc25hbWUgcmlnaHRcZWxzZSBs ZWZ0XGZpLGJhc2VdJQogICAgICAgICAgICB7XGNzbmFtZSB0aWt6Y2RAYXJyb3dz QGNtZEAjMlxlbmRjc25hbWV9JQogICAgXHBnZnN5c0BlbmRzY29wZSUKICAgIFxl bmRwZ2ZpbnRlcnJ1cHRwYXRofSUKICBcZXhwYW5kYWZ0ZXJcZGVmXGNzbmFtZSBw Z2ZAc2hvcnRlbkAjMVxlbmRjc25hbWV7JQogICAgXHBnZm1hdGhzZXRsZW5ndGhc cGdmQHhhe1xjc25hbWUgdGlremNkQGFycm93c0BsZW5ndGhAIzJcZW5kY3NuYW1l fSUKICAgIFxhZHZhbmNlXHBnZkB4IGJ5XHBnZkB4YX19JQoKJSBUaGUgYXJndW1l bnRzIGZvciBgZGVjbGFyZSBoZWFkJyBhbmQgYGRlY2xhcmUgdGFpbCcgYXJlIDEu IG5hbWUgb2YKJSB0aGUgYXJyb3cgdGlwLCAyLiBUZVggY29tbWFuZCBjb3JyZXNw b25kaW5nIHRvIGFuIGFycm93LCAzLiBkaXN0YW5jZQolIGZyb20gYmFzZWxpbmUg dG8gYXJyb3cgc3RlbSwgNC4gd2lkdGggb2YgdGhlIGNsaXAgYm94LCB3aGljaCBz aG91bGQKJSBiZSBiaWcgZW5vdWdoIHRvIGNvbnRhaW4gdGhlIHdob2xlIHRpcC4K XHBnZnFrZXlzey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2ZvbnQgYXJyb3dz fXsKICBkb3VibGUgZGlzdGFuY2U9ezMuOFxwZ2ZsaW5ld2lkdGh9LAogIGRlY2xh cmUgaGVhZD17bWF0aCB0b317JFx0byR9e3Rpa3pjZGF4aXN9ezFleH0sCiAgZGVj bGFyZSBoZWFkPXttYXRoIHRvIHJldmVyc2VkfXskXGxlZnRhcnJvd3RhaWwkfXt0 aWt6Y2RheGlzfXsxZXh9LAogIGRlY2xhcmUgdGFpbD17bWF0aCBjYXB9eyRcdG8k fXt0aWt6Y2RheGlzfXsxZXh9LAogIGRlY2xhcmUgdGFpbD17bWF0aCB8fXskXG1h cHN0byR9e3Rpa3pjZGF4aXN9ezFleH0sJXwKICBkZWNsYXJlIGhlYWQ9e21hdGgg b317JFxtdWx0aW1hcCR9e3Rpa3pjZGF4aXN9ezEuNGV4fSwKICBkZWNsYXJlIGhl YWQ9e21hdGggaW1wbGllc317JFxSaWdodGFycm93JH17dGlremNkYXhpc317MS40 ZXh9LAogIGRlY2xhcmUgdGFpbD17bWF0aCBpbXBsaWVzIGNhcH17JFxSaWdodGFy cm93JH17dGlremNkYXhpc317MWV4fSwKICBkZWNsYXJlIGhlYWQ9e21hdGggbGVm dCBob29rfXskXGhvb2tsZWZ0YXJyb3ckfXt0aWt6Y2RheGlzfXsxZXh9LAogIGRl Y2xhcmUgdGFpbD17bWF0aCByaWdodCBob29rfXskXGhvb2tyaWdodGFycm93JH17 dGlremNkYXhpc317MWV4fSwKICBkZWNsYXJlIGhlYWQ9e21hdGggZG91YmxlIHRv fXskXHR3b2hlYWRyaWdodGFycm93JH17dGlremNkYXhpc317MS40ZXh9LAogIGRl Y2xhcmUgaGVhZD17bWF0aCBsZWZ0IHRvfXskXHJpZ2h0aGFycG9vbnVwJH17dGlr emNkYXhpc317MWV4fSwKICBkZWNsYXJlIGhlYWQ9e21hdGggcmlnaHQgdG99eyRc cmlnaHRoYXJwb29uZG93biR9e3Rpa3pjZGF4aXN9ezFleH0sCn0KCiUgVGhlIGBt YXRoIGZvbnQnIGFycm93IHN0eWxlClxwZ2ZrZXlzey90aWt6L2NvbW11dGF0aXZl IGRpYWdyYW1zL2Fycm93IHN0eWxlL21hdGggZm9udC8uc3R5bGU9ewogICAgL3Rp a3ovY29tbXV0YXRpdmUgZGlhZ3JhbXMvLmNkLAogICAgZW5hYmxlIGZvbnQgYXJy b3dzLAogICAgYXJyb3cgc3R5bGUvZ2VuZXJpYz17bWF0aH0sCiAgICBkZWZhdWx0 IGFycm93Ly5zdHlsZT17CiAgICAgIC90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1z L3JpZ2h0YXJyb3csCiAgICAgIC90aWt6L2xpbmUgd2lkdGg9dGlremNkcnVsZX0s CiAgICBkb3VibGUgbGluZS8uc3R5bGU9ewogICAgICAvdGlrei9kb3VibGU9XHBn ZmtleXN2YWx1ZW9mey90aWt6L2NvbW11dGF0aXZlIGRpYWdyYW1zL2JhY2tncm91 bmQgY29sb3J9LAogICAgICAvdGlrei9kb3VibGUgZGlzdGFuY2U9XHRpa3pjZGZv bnRhcnJvd3Nkb3VibGVkaXN0YW5jZX0sCiAgICBkYXNoZWQvLnN0eWxlPXsvdGlr ei9kYXNoIHBhdHRlcm49b24gMC44ZXggb2ZmIDAuNGV4fSwKICAgIHNxdWlnZ2x5 Ly5kZWZhdWx0PXtwcmUgbGVuZ3RoPTFleCxwb3N0IGxlbmd0aD0xZXh9fX0KClxs ZXRcc3RhcnR0aWt6Y2Q9XHRpa3pjZApcbGV0XHN0b3B0aWt6Y2Q9XGVuZHRpa3pj ZCAgIAogICAgClxlbmRpbnB1dAo= ------------PO069JVY5PnxzHUSSGOHNQ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ------------PO069JVY5PnxzHUSSGOHNQ--