From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/40906 Path: main.gmane.org!not-for-mail From: Ami Fischman Newsgroups: gmane.emacs.gnus.general Subject: oort 0.04 mishandling digest Date: Wed, 19 Dec 2001 10:35:22 -0800 Organization: Gnus Information Center Sender: owner-ding@hpc.uh.edu Message-ID: <81r8pr83dh.fsf@zion.bpnetworks.com> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: main.gmane.org 1035176389 3445 80.91.224.250 (21 Oct 2002 04:59:49 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 04:59:49 +0000 (UTC) Return-Path: Original-Received: (qmail 229 invoked from network); 19 Dec 2001 19:28:41 -0000 Original-Received: from malifon.math.uh.edu (mail@129.7.128.13) by mastaler.com with SMTP; 19 Dec 2001 19:28:41 -0000 Original-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 16GmN2-00080C-00; Wed, 19 Dec 2001 13:27:16 -0600 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 19 Dec 2001 13:27:05 -0600 (CST) Original-Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [129.7.128.2]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id NAA14825 for ; Wed, 19 Dec 2001 13:26:57 -0600 (CST) Original-Received: (from tibbs@localhost) by epithumia.math.uh.edu (8.11.2/8.11.1) id fBJJR4c08485 for ding@hpc.uh.edu; Wed, 19 Dec 2001 13:27:04 -0600 Original-Received: from sclp3.sclp.com (qmailr@sclp3.sclp.com [209.196.61.66]) by sina.hpc.uh.edu (8.9.3/8.9.3) with SMTP id MAA14682 for ; Wed, 19 Dec 2001 12:32:07 -0600 (CST) Original-Received: (qmail 28864 invoked by alias); 19 Dec 2001 18:32:13 -0000 Original-Received: (qmail 28852 invoked from network); 19 Dec 2001 18:32:11 -0000 Original-Received: from quimby.gnus.org (HELO quimby2.netfonds.no) (195.204.10.66) by gnus.org with SMTP; 19 Dec 2001 18:32:11 -0000 Original-Received: from news by quimby2.netfonds.no with local (Exim 3.12 #1 (Debian)) id 16Glfz-0006ke-00 for ; Wed, 19 Dec 2001 19:42:47 +0100 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 1662 Original-NNTP-Posting-Host: zion.bpnetworks.com Original-X-Trace: quimby2.netfonds.no 1008787367 25955 207.199.66.114 (19 Dec 2001 18:42:47 GMT) Original-X-Complaints-To: usenet@quimby2.netfonds.no Original-NNTP-Posting-Date: 19 Dec 2001 18:42:47 GMT Mail-Copies-To: nobody User-Agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i686-pc-linux-gnu) Cancel-Lock: sha1:xzExzPFg2ta6JzErp0Stt4B/5Aw= Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:40906 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:40906 --=-=-= Every so often (~1/5 of the time), a digest from a mailing list will not be processed correctly by C-d (gnus-summary-enter-digest-group). What happens usually is that only one digested email will show up. I'm attaching an example digest (bugtraq, from today) where if I hit C-d on the message, I get only one digested message show up in the nndoc buffer. In this case it's the "Exim" related message. This is with cvs oort (up to date as of now), and gnu emacs 21.1. Any help appreciated, -- Ami Fischman usenet@fischman.org --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=x Content-Transfer-Encoding: base64 RnJvbSBub2JvZHkgV2VkIERlYyAxOSAxMDoyNzoyMiAyMDAxClJlY2VpdmVkOiAocW1haWwgNTkx MyBpbnZva2VkIGZyb20gbmV0d29yayk7IDE5IERlYyAyMDAxIDEwOjI1OjIyIC0wODAwClJlY2Vp dmVkOiBmcm9tIGxpc3RzLnNlY3VyaXR5Zm9jdXMuY29tIChsaXN0cy5zZWN1cml0eWZvY3VzLmNv bSBbNjYuMzguMTUxLjE5XSkKCWJ5IG91dGdvaW5nLnNlY3VyaXR5Zm9jdXMuY29tIChQb3N0Zml4 KSB3aXRoIFFNUVAKCWlkIDdFMDREOEY1NUE7IFdlZCwgMTkgRGVjIDIwMDEgMDk6NDk6MzYgLTA3 MDAgKE1TVCkKUHJlY2VkZW5jZTogYnVsawpMaXN0LUlkOiA8YnVndHJhcS5saXN0LWlkLnNlY3Vy aXR5Zm9jdXMuY29tPgpMaXN0LVBvc3Q6IDxtYWlsdG86YnVndHJhcUBzZWN1cml0eWZvY3VzLmNv bT4KTGlzdC1IZWxwOiA8bWFpbHRvOmJ1Z3RyYXEtZGlnZXN0LWhlbHBAc2VjdXJpdHlmb2N1cy5j b20+Ckxpc3QtVW5zdWJzY3JpYmU6IDxtYWlsdG86YnVndHJhcS1kaWdlc3QtdW5zdWJzY3JpYmVA c2VjdXJpdHlmb2N1cy5jb20+Ckxpc3QtU3Vic2NyaWJlOiA8bWFpbHRvOmJ1Z3RyYXEtZGlnZXN0 LXN1YnNjcmliZUBzZWN1cml0eWZvY3VzLmNvbT4KTWFpbGluZy1MaXN0OiBjb250YWN0IGJ1Z3Ry YXEtaGVscEBzZWN1cml0eWZvY3VzLmNvbTsgcnVuIGJ5IGV6bWxtCkRhdGU6IDE5IERlYyAyMDAx IDE2OjU0OjA4IC0wMDAwCk1lc3NhZ2UtSUQ6IDwxMDA4NzgwODQ4LjI4NjcuZXptbG1Ac2VjdXJp dHlmb2N1cy5jb20+CkZyb206IGJ1Z3RyYXEtZGlnZXN0LWhlbHBAc2VjdXJpdHlmb2N1cy5jb20K RGVsaXZlcmVkLVRvOiByZXNwb25kZXIgZm9yIGJ1Z3RyYXEtZGlnZXN0QHNlY3VyaXR5Zm9jdXMu Y29tClRvOiBidWd0cmFxQHNlY3VyaXR5Zm9jdXMuY29tCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRl bnQtVHlwZTogbXVsdGlwYXJ0L2RpZ2VzdDsgYm91bmRhcnk9aGZmZmpkbGFramZoZW5tYWthY24K U3ViamVjdDogYnVndHJhcSBEaWdlc3QgMTkgRGVjIDIwMDEgMTY6NTQ6MDggLTAwMDAgSXNzdWUg MTU2CkxpbmVzOiAyNjkwCgoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKCgpidWd0cmFxIERpZ2VzdCAxOSBEZWMgMjAwMSAx Njo1NDowOCAtMDAwMCBJc3N1ZSAxNTYKClRvcGljcyAobWVzc2FnZXMgMjk0NyB0aHJvdWdoIDI5 NjUpOgoKTWljcm9zb2Z0IFNlY3VyaXR5IE5vdGlmaWNhdGlvbiBTZXJ2aWNlCgkyOTQ3IGJ5OiBN aWNyb3NvZnQKCkhvc3RpbmcuY29tIENyb3NzIFNpdGUgU2NyaXB0aW5nCgkyOTQ4IGJ5OiBFIE0K Ck1ES1NBLTIwMDE6MDkzIC0ga2VyYmVyb3MgdXBkYXRlCgkyOTQ5IGJ5OiBNYW5kcmFrZSBMaW51 eCBTZWN1cml0eSBUZWFtCgpTb21lIGFuYWx5c2lzIG9mIE1pY3Jvc29mdCBTUUwgU2VydmVyIDIw MDAgc3RvcmVkIHByb2NlZHVyZSBlbmNyeXB0aW9uCgkyOTUwIGJ5OiBzaG9lYm95CgpSZTogTVNJ RSBtYXkgZG93bmxvYWQgYW5kIHJ1biBwcm9nYW1zIGF1dG9tYXRpY2FsbHkgLSBOT1QgU08gRkFT VAoJMjk1MSBieTogamVsbWVyCgkyOTUzIGJ5OiBHZW9yZ2kgR3VuaW5za2kKClJlOiBaeXhlbCBQ cmVzdGlnZSA2ODEgYW5kIDE2MDAgKHBvc3NpYmx5IG90aGVyPykgcmVtb3RlIERvUwoJMjk1MiBi eTogUHJ6ZW15c2xhdyBGcmFzdW5lawoKUmU6IElJUyA1LjAgQ29udGVudCBMZW5ndGggRE9TIHZ1 bG5lcmFiaWxpdHkKCTI5NTQgYnk6IEVyaWMgTWFpd2FsZAoKd21jdWJlLWdkayBpcyB2dWxuZXJh YmxlIHRvIGEgbG9jYWwgZXhwbG9pdAoJMjk1NSBieTogY29yZWNvZGUuY29yZWNvZGUuYXRoLmN4 CgpBa3RpdmF0ZSBTaG9wcGluZyBTeXN0ZW0gQ3Jvc3MgU2l0ZSBTY3JpcHRpbmcgVnVsbmVyYWJp bGl0eQoJMjk1NiBieTogVGFtZXIgU2FoaW4KCkZUUFhRIGRlZmF1bHQgaW5zdGFsbCByZWFkL3dy aXRlIGNhcGFiaWxpdGllcwoJMjk1NyBieTogQnJpY2UgQ2FybHNvbgoKUHJvRlRQRCAtIFByb2Js ZW1zIGluIGZpbGUgZ2xvYmJpbmcsIGdpdmVzIHNlZ21lbnRhdGlvbiBmYXVsdC4KCTI5NTggYnk6 IE1hdHRpYXMgXwoJMjk2MiBieTogRWRzZWwgQWRhcAoKTUFHSUMgRW50ZXJwcmlzZSBNdWx0aXBs ZSBWdWxuZXJhYmlsaXRpZXMKCTI5NTkgYnk6IFN0ZXBoYW4gSG9sdHdpc2NoCgpQSFBOdWtlIDUg Q3Jvc3MgU2NyaXB0aW5nCgkyOTYwIGJ5OiBSZXBsdWdnZSBcW1JvZFxdCgpSZTogd2VibWluIDAu OTEgLi4vLi4gcHJvYmxlbQoJMjk2MSBieTogTWFyayB2YW4gUmVpam4KCkhQIFNlY3VyZSBPUyBT b2Z0d2FyZSBmb3IgTGludXggc2VjdXJpdHkgYnVsbGV0aW5zIGRpZ2VzdAoJMjk2MyBieTogSVQg UmVzb3VyY2UgQ2VudGVyCgpbcGgxMEBjdXMuY2FtLmFjLnVrOiBbRXhpbV0gUG90ZW50aWFsIHNl Y3VyaXR5IHByb2JsZW1dCgkyOTY0IGJ5OiBUYWJvciBKLiBXZWxscwoKSVJNIFNlY3VyaXR5IEFk dmlzb3J5IDAwMjogTmV0d2FyZSBXZWIgU2VydmVyIFNvdXJjZSBEaXNjbG9zdXJlCgkyOTY1IGJ5 OiBJUk0gU2VjdXJpdHkgQWR2aXNvcmllcwoKQWRtaW5pc3RyaXZpYToKClRvIHN1YnNjcmliZSB0 byB0aGUgZGlnZXN0LCBlLW1haWw6Cgk8YnVndHJhcS1kaWdlc3Qtc3Vic2NyaWJlQHNlY3VyaXR5 Zm9jdXMuY29tPgoKVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGUgZGlnZXN0LCBlLW1haWw6Cgk8YnVn dHJhcS1kaWdlc3QtdW5zdWJzY3JpYmVAc2VjdXJpdHlmb2N1cy5jb20+CgpUbyBwb3N0IHRvIHRo ZSBsaXN0LCBlLW1haWw6Cgk8YnVndHJhcUBzZWN1cml0eWZvY3VzLmNvbT4KCgotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCgotLWhmZmZqZGxha2pmaGVubWFrYWNuCkNvbnRlbnQtVHlwZTogbWVzc2FnZS9yZmM4MjIK Q29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0iYnVndHJhcV8yOTQ3LmV6bSIK ClJlcGx5LVRvOiA8M18yMjQzMl9BRTdGNTQ3Ni0xNDVFLTQ1NUUtOTA5NS04MDdERjUyNzhBRUNf VVNATmV3c2xldHRlcnMuTWljcm9zb2Z0LmNvbT4KRnJvbTogIk1pY3Jvc29mdCIgPDBfMjI0MzJf QUU3RjU0NzYtMTQ1RS00NTVFLTkwOTUtODA3REY1Mjc4QUVDX1VTQE5ld3NsZXR0ZXJzLk1pY3Jv c29mdC5jb20+ClRvOiA8YnVndHJhcUBzZWN1cml0eWZvY3VzLmNvbT4KU3ViamVjdDogTWljcm9z b2Z0IFNlY3VyaXR5IE5vdGlmaWNhdGlvbiBTZXJ2aWNlCkRhdGU6IE1vbiwgMTcgRGVjIDIwMDEg MTI6MTQ6NTcgLTA4MDAKTWVzc2FnZS1JRDogPGNmZjY3MDFjMTg3MzckN2Y1MGZlNTAkOGZlOGM5 MGFAdGttc2Z0ZGRzcTA0PgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh aW47CgljaGFyc2V0PSJpc28tODg1OS0xIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90 ZWQtcHJpbnRhYmxlCgotLS0tLUJFR0lOIFBHUCBTSUdORUQgTUVTU0FHRS0tLS0tCgotIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KVGl0bGU6ICAgICAgMTMgRGVjZW1iZXIgMjAwMSBDdW11bGF0aXZlIFBhdGNoIGZv ciBJRQpEYXRlOiAgICAgICAxMyBEZWNlbWJlciAyMDAxClNvZnR3YXJlOiAgIEludGVybmV0IEV4 cGxvcmVyCkltcGFjdDogICAgIFJ1biBDb2RlIG9mIGFuIEF0dGFja2VyJ3MgQ2hvaWNlCk1heCBS aXNrOiAgIENyaXRpY2FsCkJ1bGxldGluOiAgIE1TMDEtMDU4CgpNaWNyb3NvZnQgZW5jb3VyYWdl cyBjdXN0b21lcnMgdG8gcmV2aWV3IHRoZSBTZWN1cml0eSBCdWxsZXRpbiBhdDo9MjAKaHR0cDov L3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvYnVsbGV0aW4vTVMwMS0wNTguYXNw LgotIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCklzc3VlOgo9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKVGhpcyBpcyBhIGN1 bXVsYXRpdmUgcGF0Y2ggdGhhdCwgd2hlbiBpbnN0YWxsZWQsIGVsaW1pbmF0ZXMgYWxsPTIwCnBy ZXZpb3VzbHkgZGlzY3Vzc2VkIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBhZmZlY3RpbmcgSUUg NS41IGFuZApJRSA2LiBJbiBhZGRpdGlvbiwgaXQgZWxpbWluYXRlcyB0aHJlZSBuZXdseSBkaXNj b3ZlcmVkCnZ1bG5lcmFiaWxpdGllcy49MjAKCiAtIFRoZSBmaXJzdCB2dWxuZXJhYmlsaXR5IGlu dm9sdmVzIGEgZmxhdyBpbiB0aGUgaGFuZGxpbmcgb2YgdGhlCiAgIENvbnRlbnQtRGlzcG9zaXRp b24gYW5kIENvbnRlbnQtVHlwZSBoZWFkZXIgZmllbGRzIGluIGFuIEhUTUwuCiAgIHN0cmVhbS4g VGhlc2UgZmllbGRzLCB0aGUgaG9zdGluZyBVUkwsIGFuZCB0aGUgaG9zdGVkIGZpbGUgZGF0YT0y MAogICBkZXRlcm1pbmUgaG93IGEgZmlsZSBpcyBoYW5kbGVkIHVwb24gZG93bmxvYWQgaW4gSW50 ZXJuZXQKICAgRXhwbG9yZXIuIEEgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSBleGlzdHMgYmVjYXVz ZSwgaWYgYW4KICAgYXR0YWNrZXIgYWx0ZXJlZCB0aGUgSFRNTCBoZWFkZXIgaW5mb3JtYXRpb24g aW4gYSBjZXJ0YWluIHdheSwKICAgaXQgY291bGQgYmUgcG9zc2libGUgdG8gbWFrZSBJRSBiZWxp ZXZlIHRoYXQgYW4gZXhlY3V0YWJsZSBmaWxlCiAgIHdhcyBhY3R1YWxseSBhIGRpZmZlcmVudCB0 eXBlIG9mIGZpbGUgLS0gb25lIHRoYXQgaXQgaXMKICAgYXBwcm9wcmlhdGUgdG8gc2ltcGx5IG9w ZW4gd2l0aG91dCBhc2tpbmcgdGhlIHVzZXIgZm9yCiAgIGNvbmZpcm1hdGlvbi4gVGhpcyBjb3Vs ZCBlbmFibGUgdGhlIGF0dGFja2VyIHRvIGNyZWF0ZSBhIHdlYgogICBwYWdlIG9yIEhUTUwgbWFp bCB0aGF0LCB3aGVuIG9wZW5lZCwgd291bGQgYXV0b21hdGljYWxseSBydW4gYW4KICAgZXhlY3V0 YWJsZSBvbiB0aGUgdXNlcidzIHN5c3RlbS4gVGhpcyB2dWxuZXJhYmlsaXR5IGFmZmVjdHM9MjAK ICAgSUUgNi4wIG9ubHkuIEl0IGRvZXMgbm90IGFmZmVjdCBJRSA1LjUuCgogLSBUaGUgc2Vjb25k IHZ1bG5lcmFiaWxpdHkgaXMgYSBuZXdseSBkaXNjb3ZlcmVkIHZhcmlhbnQgb2YgdGhlCiAgICJG cmFtZSBEb21haW4gVmVyaWZpY2F0aW9uIiB2dWxuZXJhYmlsaXR5IGRpc2N1c3NlZCBpbiBNaWNy b3NvZnQKICAgU2VjdXJpdHkgQnVsbGV0aW4gTVMwMS0wMTUuIFRoZSB2dWxuZXJhYmlsaXR5IGNv dWxkIGVuYWJsZSBhCiAgIG1hbGljaW91cyB3ZWIgc2l0ZSBvcGVyYXRvciB0byBvcGVuIHR3byBi cm93c2VyIHdpbmRvd3MsIG9uZSBpbgogICB0aGUgd2ViIHNpdGUncyBkb21haW4gYW5kIHRoZSBv dGhlciBvbiB0aGUgdXNlcidzIGxvY2FsIGZpbGUKICAgc3lzdGVtLCBhbmQgdG8gcGFzcyBpbmZv cm1hdGlvbiBmcm9tIHRoZSBsYXR0ZXIgdG8gdGhlIGZvcm1lci4KICAgVGhpcyBjb3VsZCBlbmFi bGUgdGhlIHdlYiBzaXRlIG9wZXJhdG9yIHRvIHJlYWQsIGJ1dCBub3QgY2hhbmdlLAogICBhbnkg ZmlsZSBvbiB0aGUgdXNlcidzIGxvY2FsIGNvbXB1dGVyIHRoYXQgY291bGQgYmUgb3BlbmVkIGlu IGEKICAgYnJvd3NlciB3aW5kb3cuIFRoaXMgdnVsbmVyYWJpbHR5IGFmZmVjdHMgYm90aCBJRSA1 LjUgYW5kIDYuMC49MjAKCiAtIFRoZSB0aGlyZCB2dWxuZXJhYmlsaXR5IGludm9sdmVzIGEgZmxh dyByZWxhdGVkIHRvIHRoZSBkaXNwbGF5PTIwCiAgIG9mIGZpbGUgbmFtZXMgaW4gdGhlIEZpbGUg RG93bmxvYWQgZGlhbG9ndWUgYm94LiBXaGVuIGEgZmlsZQogICBkb3dubG9hZCBpcyBpbml0aWF0 ZWQsIGEgZGlhbG9ndWUgcHJvdmlkZXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUuCiAgIEhvd2V2ZXIs IGluIHNvbWUgY2FzZXMsIGl0IHdvdWxkIGJlIHBvc3NpYmxlIGZvciBhbiBhdHRhY2tlciB0bwog ICBtaXNyZXByZXNlbnQgdGhlIG5hbWUgb2YgdGhlIGZpbGUgaW4gdGhlIGRpYWxvZ3VlLiBUaGlz IGNvdWxkIGJlCiAgIGludm9rZWQgZnJvbSBhIHdlYiBwYWdlIG9yIGluIGFuIEhUTUwgZW1haWwg aW4gYW4gYXR0ZW1wdCB0bwogICBmb29sIHVzZXJzIGludG8gYWNjZXB0aW5nIHVuc2FmZSBmaWxl IHR5cGVzIGZyb20gYSB0cnVzdGVkCiAgIHNvdXJjZS4gVGhpcyB2dWxuZXJhYmlsdHkgYWZmZWN0 cyBib3RoIElFIDUuNSBhbmQgNi4wLgoKTWl0aWdhdGluZyBGYWN0b3JzOgo9M0Q9M0Q9M0Q9M0Q9 M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKRmlsZSBFeGVj dXRpb24gVnVsbmVyYWJpbGl0eTo9MjAKCiAtIFRoZSB2dWxuZXJhYmlsaXR5IGNvdWxkIG5vdCBi ZSBleHBsb2l0ZWQgaWYgRmlsZSBEb3dubG9hZHMgaGF2ZQogICBiZWVuIGRpc2FibGVkIGluIHRo ZSBTZWN1cml0eSBab25lIGZyb20gd2hpY2ggdGhlIGZpbGUgaXMgYmVpbmcKICAgcmVjZWl2ZWQu IEluIG1vc3QgYXR0ZW1wdHMgdG8gbWFsaWNpb3VzbHkgZXhwbG9pdCB0aGlzPTIwCiAgIHZ1bG5l cmFiaWxpdHkgdGhlIGZpbGUgd291bGQgYmUgcmVjZWl2ZWQgZnJvbSB0aGUgSW50ZXJuZXQgb3IK ICAgSW50cmFuZXQgem9uZS4gVGhlcmVmb3JlLCBkaXNhYmxpbmcgRmlsZSBEb3dubG9hZHMgaW4g dGhlc2Ugem9uZXMKICAgY2FuIHByb3RlY3QgY3VzdG9tZXJzLiBUaGlzIGlzIG5vdCB0aGUgZGVm YXVsdCBzZXR0aW5nIGZvciBlaXRoZXIKICAgb2YgdGhlc2Ugem9uZSwgaG93ZXZlci49MjAKCiAt IFRoaXMgYWZmZWN0cyBJRSA2LjAgb25seS49MjAKCkZyYW1lIERvbWFpbiBWZXJpZmljYXRpb24g VmFyaWFudDo9MjAKIC0gVGhlIHZ1bG5lcmFiaWxpdHkgY291bGQgb25seSBiZSB1c2VkIHRvIHZp ZXcgZmlsZXMuIEl0IGNvdWxkIG5vdAogICBiZSB1c2VkIHRvIGNyZWF0ZSwgZGVsZXRlLCBtb2Rp Znkgb3IgZXhlY3V0ZSB0aGVtLj0yMAoKIC0gVGhlIHZ1bG5lcmFiaWxpdHkgd291bGQgb25seSBh bGxvdyBhbiBhdHRhY2tlciB0byByZWFkIGZpbGVzIHRoYXQKICAgY2FuIGJlIGNhbiBiZSBvcGVu ZWQgaW4gYSBicm93c2VyIHdpbmRvdywgc3VjaCBhcyBpbWFnZSBmaWxlcywKICAgSFRNTCBmaWxl cyBhbmQgdGV4dCBmaWxlcy4gT3RoZXIgZmlsZSBmaWxlIHR5cGVzLCBzdWNoIGFzIGJpbmFyeQog ICBmaWxlcywgZXhlY3V0YWJsZSBmaWxlcywgV29yZCBkb2N1bWVudHMsIGFuZCBzbyBmb3J0aCwg Y291bGQgbm90PTIwCiAgIGJlIHJlYWQuPTIwCgogLSBUaGUgYXR0YWNrZXIgd291bGQgaGF2ZSB0 byBoYXZlIGtub3dsZWRnZSBvZiB0aGUgZXhhY3QgZmlsZSBuYW1lCiAgIGFuZCBsb2NhdGlvbiBp biBvdGhlciB0byBzdWNjZXNzZnVsbHkgcmVhZCB0aGUgZmlsZSBvbiB0aGUKICAgbG9jYWwgc3lz dGVtLgoKRmlsZSBOYW1lIFNwb29maW5nIFZ1bG5lcmFiaWxpdHk6PTIwCiAtIFRoZSBkZXRlcm1p bmF0aW9uIG9uIGNob29zaW5nIHRvIGFjY2VwdCBhIGZpbGUgZG93bmxvYWQgZnJvbSBhbgogICBJ bnRlcm5ldCBzaXRlIHNob3VsZCBhbHdheXMgYmUgYmFzZWQgb24gdGhlIHRydXN0d29ydGhpbmVz cyBvZgogICB0aGUgc291cmNlIGFuZCBub3Qgb24gdGhlIGZpbGUgdHlwZS4gRmlsZSBkb3dubG9h ZHMgc2hvdWxkIG5ldmVyCiAgIGJlIGFjY2VwdGVkIGZyb20gYW4gdW50cnVzdGVkIHNvdXJjZSwg bm8gbWF0dGVyIGhvdyBoYXJtbGVzcyB0aGUKICAgdHlwZSBtYXkgYXBwZWFyIHRvIGJlLgoKUmlz ayBSYXRpbmc6Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAogLSBJbnRlcm5l dCBzeXN0ZW1zOiBDcml0aWNhbAogLSBJbnRyYW5ldCBzeXN0ZW1zOiBDcml0aWNhbAogLSBDbGll bnQgc3lzdGVtczogQ3JpdGljYWwKClBhdGNoIEF2YWlsYWJpbGl0eToKPTNEPTNEPTNEPTNEPTNE PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNECiAtIEEgcGF0Y2ggaXMg YXZhaWxhYmxlIHRvIGZpeCB0aGlzIHZ1bG5lcmFiaWxpdHkuIFBsZWFzZSByZWFkIHRoZT0yMAog ICBTZWN1cml0eSBCdWxsZXRpbiBhdAogICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5l dC9zZWN1cml0eS9idWxsZXRpbi9tczAxLTA1OC5hc3AKICAgZm9yIGluZm9ybWF0aW9uIG9uIG9i dGFpbmluZyB0aGlzIHBhdGNoLgoKQWNrbm93bGVkZ21lbnQ6Cj0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAogLSBKb3VrbyBQeW5ub25lbiBvZiBPeSBPbmxpbmUg U29sdXRpb25zIEx0ZAogICAoaHR0cDovL3d3dy5zb2x1dGlvbnMuZmkvaW5kZXguY2dpLz9sYW5n PTNEZW5nKQoKLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRIRSBJTkZPUk1BVElPTiBQUk9WSURFRCBJTiBUSEUg TUlDUk9TT0ZUIEtOT1dMRURHRSBCQVNFIElTPTIwClBST1ZJREVEICJBUyBJUyIgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORC4gTUlDUk9TT0ZUIERJU0NMQUlNUwpBTEw9MjAKV0FSUkFOVElF UywgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFRIRT0yMApXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu CklOIE5PIEVWRU5UPTIwClNIQUxMIE1JQ1JPU09GVCBDT1JQT1JBVElPTiBPUiBJVFMgU1VQUExJ RVJTIEJFIExJQUJMRSBGT1IgQU5ZCkRBTUFHRVM9MjAKV0hBVFNPRVZFUiBJTkNMVURJTkcgRElS RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgQ09OU0VRVUVOVElBTCwKTE9TUyBPRj0yMApCVVNJ TkVTUyBQUk9GSVRTIE9SIFNQRUNJQUwgREFNQUdFUywgRVZFTiBJRiBNSUNST1NPRlQgQ09SUE9S QVRJT04gT1IKSVRTPTIwClNVUFBMSUVSUyBIQVZFIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lC SUxJVFkgT0YgU1VDSCBEQU1BR0VTLiBTT01FClNUQVRFUyBETz0yMApOT1QgQUxMT1cgVEhFIEVY Q0xVU0lPTiBPUiBMSU1JVEFUSU9OIE9GIExJQUJJTElUWSBGT1IgQ09OU0VRVUVOVElBTApPUj0y MApJTkNJREVOVEFMIERBTUFHRVMgU08gVEhFIEZPUkVHT0lORyBMSU1JVEFUSU9OIE1BWSBOT1Qg QVBQTFkuCgotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQpWZXJzaW9uOiBQR1AgNy4xCgpp UUVWQXdVQlBCbUFlbzBaU1JReEEvVXJBUUU1T1FmL1FSbjRQY2F5MkN6Y0FKSWZMNWVtbDNTUUtl My96MWovCmNndDFKUGJrK0Rzb0lzNENoajVvNFQ0UVZLRnc2UDh3NnlYd3NTTC9mZTBmM2NCL2hX ck5PdStCZ296UFE4VmUKZGhWbW11dDJZUkE5KzVCZkFqdjJQVHpRbDlGVnJXUXc0ZDFmZXVlcVlI QktsUzhzSTNlUFF5dE5naXRob2FjSwppQ3FMeURZU0dsZ1pCMUNTUFZVQ2JZRE1DVDJMak9qaVA3 MEtaU0xVMkR3NTM1R0FQcDF0SGlEL3hJYWxGQWRjCjdlc0U1RnFaakEyODVISTBsZXRJT09YNWVO djZVYUxRYW92Tk1uMGdxaXp5QXUyam9QSzhZTi9ZMmFMOERyangKTEZZbmc1MUdIWXlPazVMV0pV bU5GMVYxK3YyOXNpQ3ZPS0JXOFB1ZG8wSGllN2U0cCsra0R3PTNEPTNECj0zRDVJb0cKLS0tLS1F TkQgUEdQIFNJR05BVFVSRS0tLS0tCgo9MEQKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKWW91IGhhdmUgcmVjZWl2ZWQg dGhpcyBlLW1haWwgYnVsbGV0aW4gYXMgYSByZXN1bHQgb2YgeW91ciBzdWJzY3JpcHRpb24gPQp0 byB0aGUgTWljcm9zb2Z0IFByb2R1Y3QgU2VjdXJpdHkgTm90aWZpY2F0aW9uICAgU2VydmljZS4g IEZvciBtb3JlID0KaW5mb3JtYXRpb24gb24gdGhpcyBzZXJ2aWNlLCBwbGVhc2UgdmlzaXQgPQpo dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9zZWN1cml0eS9ub3RpZnkuYXNwLgoKVG8g dmVyaWZ5IHRoZSBkaWdpdGFsIHNpZ25hdHVyZSBvbiB0aGlzIGJ1bGxldGluLCBwbGVhc2UgZG93 bmxvYWQgb3VyID0KUEdQIGtleSBhdCBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9z ZWN1cml0eS9ub3RpZnkuYXNwLgoKVG8gY2FuY2VsIHlvdXIgc3Vic2NyaXB0aW9uLCBjbGljayBv biB0aGUgZm9sbG93aW5nIGxpbmsgPQptYWlsdG86MV8yMjQzMl9BRTdGNTQ3Ni0xNDVFLTQ1NUUt OTA5NS04MDdERjUyNzhBRUNfVVNATmV3c2xldHRlcnMuTWljcm9zPQpvZnQuY29tP3N1YmplY3Q9 M0RVTlNVQlNDUklCRSB0byBjcmVhdGUgYW4gdW5zdWJzY3JpYmUgZS1tYWlsLgoKVG8gc3RvcCBh bGwgZS1tYWlsIG5ld3NsZXR0ZXJzIGZyb20gbWljcm9zb2Z0LmNvbSwgY2xpY2sgb24gdGhlID0K Zm9sbG93aW5nIGxpbmsgPQptYWlsdG86Ml8yMjQzMl9BRTdGNTQ3Ni0xNDVFLTQ1NUUtOTA5NS04 MDdERjUyNzhBRUNfVVNATmV3c2xldHRlcnMuTWljcm9zPQpvZnQuY29tP3N1YmplY3Q9M0RTVE9Q TUFJTCB0byBjcmVhdGUgYW4gdW5zdWJzY3JpYmUgZS1tYWlsLiAgWW91IGNhbiA9Cm1hbmFnZSBh bGwgeW91ciBNaWNyb3NvZnQuY29tIGNvbW11bmljYXRpb24gcHJlZmVyZW5jZXMgZnJvbSA9Cmh0 dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9taXNjL3Vuc3Vic2NyaWJlLmh0bQoKRm9yIHNlY3VyaXR5 LXJlbGF0ZWQgaW5mb3JtYXRpb24gYWJvdXQgTWljcm9zb2Z0IHByb2R1Y3RzLCBwbGVhc2UgIHZp c2l0ID0KdGhlIE1pY3Jvc29mdCBTZWN1cml0eSBBZHZpc29yIHdlYiBzaXRlIGF0ID0KaHR0cDov L3d3dy5taWNyb3NvZnQuY29tL3NlY3VyaXR5LgoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250 ZW50LVR5cGU6IG1lc3NhZ2UvcmZjODIyCkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmls ZW5hbWU9ImJ1Z3RyYXFfMjk0OC5lem0iCgpGcm9tOiAiRSBNIiA8cmRua3Rya0Bob3RtYWlsLmNv bT4KVG86IGJ1Z3RyYXFAc2VjdXJpdHlmb2N1cy5jb20KU3ViamVjdDogSG9zdGluZy5jb20gQ3Jv c3MgU2l0ZSBTY3JpcHRpbmcKRGF0ZTogTW9uLCAxNyBEZWMgMjAwMSAxNjo1NjoyMiAtMDgwMApN aW1lLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGZvcm1hdD1mbG93ZWQK TWVzc2FnZS1JRDogPEYxODRPbUt1MnJocktJaEdoVDAwMDAwM2NkNEBob3RtYWlsLmNvbT4KCklz c3VlIC0KCk1vc3QgVmFyaWFibGVzIHBhc3NlZCB0byB0aGUgd2VibWFpbCBzY3JpcHQgdXNlZCBi eSBob3N0aW5nLmNvbSAoZm9ybWVybHkgCkNUU05ldCkgZXhlY3V0ZSBzY3JpcHQgd2l0aCBsb2Nh bCBzZXJ2ZXIgY29udGV4dC4KCgpVUkwgIDogd2VibWFpbC5jdHMuY29tCgpFeGFtcGxlIDoKCmh0 dHA6Ly93ZWJtYWlsLmN0cy5jb20vd2VibWFpbC5jZ2k/X0lEPTxTQ1JJUFQ+ZG9jdW1lbnQud3Jp dGUoIkFsbCUyMFlvdXIlMjBXZWJtYWlsJTIwaXMlMjBCZWxvbmclMjB0byUyMFVzIik7PC9TQ1JJ UFQ+CgoKVmVuZG9yIFN0YXR1cyA6IENvbnRhY3RlZCAxMi4xMy4wMSAtIE9ubHkgYXV0b21hdGVk IHJlcGx5LgoKRXJpYyBNY0NhcnR5CnJkbmt0cmtAaG90bWFpbC5jb20KCgoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN U04gUGhvdG9zIGlzIHRoZSBlYXNpZXN0IHdheSB0byBzaGFyZSBhbmQgcHJpbnQgeW91ciBwaG90 b3M6IApodHRwOi8vcGhvdG9zLm1zbi5jb20vc3VwcG9ydC93b3JsZHdpZGUuYXNweAoKCi0taGZm ZmpkbGFramZoZW5tYWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpDb250ZW50LURp c3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NDkuZXptIgoKRGF0ZTogMTgg RGVjIDIwMDEgMDQ6MjE6MDAgLTAwMDAKTWVzc2FnZS1JRDogPDIwMDExMjE4MDQyMTAwLjI2MDk2 LnFtYWlsQGxvZ2FuLmRhbmVuLm5ldD4KRnJvbTogTWFuZHJha2UgTGludXggU2VjdXJpdHkgVGVh bSA8c2VjdXJpdHlAbGludXgtbWFuZHJha2UuY29tPgpUbzogYnVndHJhcUBzZWN1cml0eWZvY3Vz LmNvbQpTdWJqZWN0OiBNREtTQS0yMDAxOjA5MyAtIGtlcmJlcm9zIHVwZGF0ZQoKLS0tLS1CRUdJ TiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEExCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCiAg ICAgICAgICAgICAgICBNYW5kcmFrZSBMaW51eCBTZWN1cml0eSBVcGRhdGUgQWR2aXNvcnkKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCgpQYWNrYWdlIG5hbWU6ICAgICAgICAgICBrZXJiZXJvcwpEYXRlOiAgICAg ICAgICAgICAgICAgICBEZWNlbWJlciAxN3RoLCAyMDAxCkFkdmlzb3J5IElEOiAgICAgICAgICAg IE1ES1NBLTIwMDE6MDkzCgpBZmZlY3RlZCB2ZXJzaW9uczogICAgICA4LjEKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCgpQcm9ibGVtIERlc2NyaXB0aW9uOgoKIEEgYnVmZmVyIG92ZXJmbG93IGV4aXN0cyBpbiB0 aGUgdGVsbmV0IHBvcnRpb24gb2YgS2VyYmVyb3MgdGhhdCBjb3VsZAogcHJvdmlkZSByb290IGFj Y2VzcyB0byBsb2NhbCB1c2Vycy4gIE1ES1NBLTIwMDE6MDY4IHByb3ZpZGVkIGEgc2ltaWxhcgog Zml4IHRvIHRoZSBub3JtYWwgdGVsbmV0IHBhY2thZ2VzLCBidXQgdGhlIEtlcmJlcml6ZWQgZXF1 aXZhbGVudCB3YXMKIG5vdCB1cGRhdGVkIHByZXZpb3VzbHkuCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKUmVm ZXJlbmNlczoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwoKUGxlYXNlIHZlcmlmeSB0aGUgdXBkYXRlIHByaW9y IHRvIHVwZ3JhZGluZyB0byBlbnN1cmUgdGhlIGludGVncml0eSBvZgp0aGUgZG93bmxvYWRlZCBw YWNrYWdlLiAgWW91IGNhbiBkbyB0aGlzIHdpdGggdGhlIGNvbW1hbmQ6CgogIHJwbSAtLWNoZWNr c2lnIHBhY2thZ2UucnBtCgpZb3UgY2FuIGdldCB0aGUgR1BHIHB1YmxpYyBrZXkgb2YgdGhlIE1h bmRyYWtlIExpbnV4IFNlY3VyaXR5IFRlYW0gYXQ6CgogIGh0dHBzOi8vd3d3Lm1hbmRyYWtlc2Vj dXJlLm5ldC9SUE0tR1BHLUtFWVMKCklmIHlvdSB1c2UgTWFuZHJha2VVcGRhdGUsIHRoZSB2ZXJp ZmljYXRpb24gb2YgbWQ1IGNoZWNrc3VtIGFuZCBHUEcKc2lnbmF0dXJlIGlzIHBlcmZvcm1lZCBh dXRvbWF0aWNhbGx5IGZvciB5b3UuCgpNYW5kcmFrZSBMaW51eCA4LjE6CjRkMTFkZGUxOTcxMjg5 YzZjNTNjNjExMzViNmM3Y2UyICA4LjEvUlBNUy9mdHAtY2xpZW50LWtyYjUtMS4yLjItMTUuMW1k ay5pNTg2LnJwbQpmYjRhM2NjMzQ4ODQ4ZTQwZTFlNjU1NjNkYTA0YzcwMSAgOC4xL1JQTVMvZnRw LXNlcnZlci1rcmI1LTEuMi4yLTE1LjFtZGsuaTU4Ni5ycG0KMDM2MDcxZjM5YWNiN2I2NTVlYTg4 NWIyZjJhNjRhMmEgIDguMS9SUE1TL2tyYjUtZGV2ZWwtMS4yLjItMTUuMW1kay5pNTg2LnJwbQoz OWYyNTE0NDMzZjI1NzY3MTU5OTg1ODk5MGU2MGYyOCAgOC4xL1JQTVMva3JiNS1saWJzLTEuMi4y LTE1LjFtZGsuaTU4Ni5ycG0KZGVlZTIzZjg5Y2I1YzhmZmUyYTA3ODM2MGJlOTg2NmYgIDguMS9S UE1TL2tyYjUtc2VydmVyLTEuMi4yLTE1LjFtZGsuaTU4Ni5ycG0KMTRlZTBhOTEyYTc4NjNmZjM0 MDIxYTkzNjA2ZTEwMmMgIDguMS9SUE1TL2tyYjUtd29ya3N0YXRpb24tMS4yLjItMTUuMW1kay5p NTg2LnJwbQo5YzljNzUzYTE4ZmZjNTFkOTZjODVlMGFkMGZjMTlhYiAgOC4xL1JQTVMvdGVsbmV0 LWNsaWVudC1rcmI1LTEuMi4yLTE1LjFtZGsuaTU4Ni5ycG0KMDgyMmY1ZDE1YTU0OWE4Y2E0ZTRk Mzk2ZjI5M2M3YjYgIDguMS9SUE1TL3RlbG5ldC1zZXJ2ZXIta3JiNS0xLjIuMi0xNS4xbWRrLmk1 ODYucnBtCjkzOGEwNTE3NzgxMGY4NTJhMjJlYzVkZWZmMjQ0MDliICA4LjEvU1JQTVMva3JiNS0x LjIuMi0xNS4xbWRrLnNyYy5ycG0KCk1hbmRyYWtlIExpbnV4IDguMSAoSUE2NCk6CjQ0MzUzMjZk ZTEzMzkxMzUxMDVlMmRhZWU2YzZiYzkyICBpYTY0LzguMS9SUE1TL2Z0cC1jbGllbnQta3JiNS0x LjIuMi0xNS4xbWRrLmlhNjQucnBtCjk3ZjAxMWEzYjJkNzBlNzRhN2VhODBiZDE5ODZhYzVkICBp YTY0LzguMS9SUE1TL2Z0cC1zZXJ2ZXIta3JiNS0xLjIuMi0xNS4xbWRrLmlhNjQucnBtCjc0YWI5 ZWM2MDBkZWVmYTEwMjZlYzE1NjUxOGI5MDMzICBpYTY0LzguMS9SUE1TL2tyYjUtZGV2ZWwtMS4y LjItMTUuMW1kay5pYTY0LnJwbQo4NTlmMTZkMzJkNTM1ZmQwYTMzYjYyYzkxYzYwNzJlNCAgaWE2 NC84LjEvUlBNUy9rcmI1LWxpYnMtMS4yLjItMTUuMW1kay5pYTY0LnJwbQoyZDc1ZjQ3ZWJjN2Uz MjVhNTJlMmY5NGVkOGYxMjEyZiAgaWE2NC84LjEvUlBNUy9rcmI1LXNlcnZlci0xLjIuMi0xNS4x bWRrLmlhNjQucnBtCjQ2MzhhZWQyZTQwOTQ5MDI4NTQ2YWVhZjg0MjlmMmI5ICBpYTY0LzguMS9S UE1TL2tyYjUtd29ya3N0YXRpb24tMS4yLjItMTUuMW1kay5pYTY0LnJwbQo1YjI1NjkxMDJlNWJh MzU4OTdjZGZlY2YzOTMxM2MwZCAgaWE2NC84LjEvUlBNUy90ZWxuZXQtY2xpZW50LWtyYjUtMS4y LjItMTUuMW1kay5pYTY0LnJwbQo2MjY4ZDAwNzZjZDFkOWFkOTI1YzllODI2ZjdmMjQ2MyAgaWE2 NC84LjEvUlBNUy90ZWxuZXQtc2VydmVyLWtyYjUtMS4yLjItMTUuMW1kay5pYTY0LnJwbQo5Mzhh MDUxNzc4MTBmODUyYTIyZWM1ZGVmZjI0NDA5YiAgaWE2NC84LjEvU1JQTVMva3JiNS0xLjIuMi0x NS4xbWRrLnNyYy5ycG0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpCdWcgSURzIGZpeGVkIChzZWUgaHR0cHM6 Ly9xYS5tYW5kcmFrZXNvZnQuY29tIGZvciBtb3JlIGluZm9ybWF0aW9uKToKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwoKQmVmb3JlIGFwcGx5aW5nIHRoaXMgdXBkYXRlLCBtYWtlIHN1cmUgYWxsIHByZXZpb3Vz bHkgcmVsZWFzZWQgdXBkYXRlcwpyZWxldmFudCB0byB5b3VyIHN5c3RlbSBoYXZlIGJlZW4gYXBw bGllZC4gIFRvIHVwZ3JhZGUgYXV0b21hdGljYWxseSwgCnVzZSBNYW5kcmFrZVVwZGF0ZS4KCklm IHlvdSB3YW50IHRvIHVwZ3JhZGUgbWFudWFsbHksIGRvd25sb2FkIHRoZSB1cGRhdGVkIHBhY2th Z2UgZnJvbSBvbmUKb2Ygb3VyIEZUUCBzZXJ2ZXIgbWlycm9ycyBhbmQgdXBncmFkZSB3aXRoICJy cG0gLUZ2aCAqLnJwbSIuCgpZb3UgY2FuIGRvd25sb2FkIHRoZSB1cGRhdGVzIGRpcmVjdGx5IGZy b20gb25lIG9mIHRoZSBtaXJyb3Igc2l0ZXMKbGlzdGVkIGF0OgoKICBodHRwOi8vd3d3LmxpbnV4 LW1hbmRyYWtlLmNvbS9lbi9mdHAucGhwMy4KClVwZGF0ZWQgcGFja2FnZXMgYXJlIGF2YWlsYWJs ZSBpbiB0aGUgInVwZGF0ZXMvW3Zlcl0vUlBNUy8iIGRpcmVjdG9yeS4KRm9yIGV4YW1wbGUsIGlm IHlvdSBhcmUgbG9va2luZyBmb3IgYW4gdXBkYXRlZCBSUE0gcGFja2FnZSBmb3IKTWFuZHJha2Ug TGludXggOC4xLCBsb29rIGZvciBpdCBpbiAidXBkYXRlcy84LjEvUlBNUy8iLiAgVXBkYXRlZCBz b3VyY2UKUlBNcyBhcmUgYXZhaWxhYmxlIGFzIHdlbGwsIGJ1dCB5b3UgZ2VuZXJhbGx5IGRvIG5v dCBuZWVkIHRvIGRvd25sb2FkCnRoZW0uCgpQbGVhc2UgYmUgYXdhcmUgdGhhdCBzb21ldGltZXMg aXQgdGFrZXMgdGhlIG1pcnJvcnMgYSBmZXcgaG91cnMgdG8KdXBkYXRlLgoKWW91IGNhbiB2aWV3 IG90aGVyIHNlY3VyaXR5IGFkdmlzb3JpZXMgZm9yIE1hbmRyYWtlIExpbnV4IGF0OgoKICBodHRw Oi8vd3d3LmxpbnV4LW1hbmRyYWtlLmNvbS9lbi9zZWN1cml0eS8KCklmIHlvdSB3YW50IHRvIHJl cG9ydCB2dWxuZXJhYmlsaXRpZXMsIHBsZWFzZSBjb250YWN0CgogIHNlY3VyaXR5QGxpbnV4LW1h bmRyYWtlLmNvbQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KCk1hbmRyYWtlIExpbnV4IGhhcyBzZXZlcmFsIHNl Y3VyaXR5LXJlbGF0ZWQgbWFpbGluZyBsaXN0IHNlcnZpY2VzIHRoYXQKYW55b25lIGNhbiBzdWJz Y3JpYmUgdG8uICBJbmZvcm1hdGlvbiBvbiB0aGVzZSBsaXN0cyBjYW4gYmUgb2J0YWluZWQgYnkK dmlzaXRpbmc6CgogIGh0dHA6Ly93d3cubWFuZHJha2VzZWN1cmUubmV0L2VuL21saXN0LnBocApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KClR5cGUgQml0cy9LZXlJRCAgICAgRGF0ZSAgICAgICBVc2VyIElECnB1 YiAgMTAyNEQvMjI0NThBOTggMjAwMC0wNy0xMCBMaW51eCBNYW5kcmFrZSBTZWN1cml0eSBUZWFt CiAgPHNlY3VyaXR5QGxpbnV4LW1hbmRyYWtlLmNvbT4KCgotIC0tLS0tQkVHSU4gUEdQIFBVQkxJ QyBLRVkgQkxPQ0stLS0tLQpWZXJzaW9uOiBHbnVQRyB2MS4wLjUgKEdOVS9MaW51eCkKQ29tbWVu dDogRm9yIGluZm8gc2VlIGh0dHA6Ly93d3cuZ251cGcub3JnCgptUUdpQkRscDU5NFJCQUMydERv ekkzWmdRc0U3WHd4dXJKQ0pyWDBMNXZ4N1NEQnlSNUdIRGRXZWtHaGRpZGF5Ckw0bmZVYXgrU2VS OVNDb0NnVGdQVzF4Qjh2dFFjOC9zaW5KbE1qcDkxOTdhMmlLTTBGT2NQbGtwYTNIY09kdDcKV0tK cVFobE1ySHZSY3NpdnpjZ3FqSDQ0R0JCSklUNnN5Z1VGOGswbFU2WW5NSGo1TVBjL05HV3Q4d0Nn OXZLbwpQMGw1UVZBRlNzSHRxY1U5VzhjYzd3TUVBSnpRc0FsbnZQWERCZkJMRUg2dTdwdFdGZHAw R3ZiU3VHMndSYVBsCmh5bkh2UmlFMDFadndiSlpYc1BzS20xejd1Vm9XK05rbktMdW5XS0I1YXhy TlhESHhDWUpCelkzalRlRmpzcXgKUEZaa0lFQVFwaExUa2VYWGVsQWpRNXU5dEVzaFBzd0V0TXZK dlVnTmlBZmJ6SGZQWW1xOEQ2eDV4T3cxSXlTZwoyZS9MQkFDeHIyVUpZQ0NCMkJaM3A1MDhtQUIw UnB1TEd1a3ErN1VXaU9penkra1Nza0lCZzJPN3NRa1ZZL0NzCml5R0VvNFh2WHFaRk1ZMzlSQmRm bTJHWStXQi81TkZpVE9ZSlJLamZwclA2SzFZYnRzbWN0c1g4ZEcrZm9Lc0QKTExGczdPdVZmYXlk TFFZcDFpaU42RCtMSkRTTVBNOC9MQ1d6WnNncjlFS0o4TlhpeXJRNlRHbHVkWGdnVFdGdQpaSEpo YTJVZ1UyVmpkWEpwZEhrZ1ZHVmhiU0E4YzJWamRYSnBkSGxBYkdsdWRYZ3RiV0Z1WkhKaGEyVXVZ Mjl0ClBvaFdCQk1SQWdBV0JRSTVhZWZlQkFzS0JBTURGUU1DQXhZQ0FRSVhnQUFLQ1JDYXFORFFJ a1dLbUs2TEFLQ3kKL05JbkRzYU1TSStXSHdycXV3QzVQWnJjblFDZUkrdjNnVURzTmZRZmlLQnZR U0FOdTFoZHVscUlSZ1FRRVFJQQpCZ1VDT3ROVkdRQUtDUkJaNXczdW0wcEFKSldRQUtEVW9MNUhl K21LYmZyTWFUdXlVNWxtUnlKMGZ3Q2dvRkFQCldkdlFsdS9rRmpwaEY3NDBYZU93dE9xSVJnUVFF UUlBQmdVQ091OEE2UUFLQ1JCeW5EbmI5bHEzQ25wakFKNHcKUGswU0VFOVU0cjQwSXhXcHdMVSt3 cldWdWdDZEZmU1BsbFBwWlJDaWFDN0h3YkZjZkV4Um1QYTVBUTBFT1dubgo3eEFFQU9RbFRWWTRU aU5vNVYvaVAwSjF4bnFqcWxxWnNVN3lFQktvL2daejYvK2h4NzVSVVJlMWViaUo5Rjc3CjlGUWJw SjlFcHoxS0xTWHZxOTc0cm5WYjgxM3p1R2RtZ0Z5aytyeUEvclRSMlJROGgrRW9Oa3dtQVR6UnhC WFYKSmI1N2ZGUWp4T3U0ZU5qWkF0ZklJL1lYYjB1eVhYcmRyNWRsSi8zZVhyY080cDBYQUFNRkJB Q0N4bzZaMjY5cworQTR2OEM2VWkxMmFhck9RY0NEbFY4Y1ZHOUxreWF0VTNGTlRsbmFzcXdvNkVr YVA1NzI0NDh3ZUpXd042U0NYClZsK3hPWUxpSzBoTC82SmIvTzlBZ3c3NXlVVmRrK1JNTTJJNGZO RWkreTRobWZNaDJzaUJ2OHlFa0V2WmpUY2wKM1Rwa1RmellreTg1dHU0MzN3bUthTEZPdjBXakJG U2lrb2hHQkJnUkFnQUdCUUk1YWVmdkFBb0pFSnFvME5BaQpSWXFZaWQwQW9KZ2VXelhyRWRJQ2xC T1NXNVE2RnpxSkp5YXFBS0MwWTlZSTNVRmxFNHpTSUdqY0ZsTEpFSkdYCmxBPT0KPTBhaFEKLSAt LS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgotLS0tLUJFR0lOIFBHUCBTSUdOQVRV UkUtLS0tLQpWZXJzaW9uOiBHbnVQRyB2MS4wLjYgKEdOVS9MaW51eCkKQ29tbWVudDogRm9yIGlu Zm8gc2VlIGh0dHA6Ly93d3cuZ251cGcub3JnCgppRDhEQlFFOEhqN1VtcWpRMENKRmlwZ1JBajZP QUpvQ1JDQXM4dGtDRVdaaTBsTC8xWWZQRVVTcy9RQ2d2VFdpCkhRVWNjcG9HejRxR0lDWVJ0dnBB R3FvPQo9VG9HZAotLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0KCi0taGZmZmpkbGFramZoZW5t YWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpDb250ZW50LURpc3Bvc2l0aW9uOiBp bmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NTAuZXptIgoKRGF0ZTogTW9uLCAxNyBEZWMgMjAw MSAxODo0MDo0NiArMDAwMCAoR01UKQpGcm9tOiBzaG9lYm95IDxzaG9lYm95QGFkZXF1YWN5Lm9y Zz4KVG86IDxidWd0cmFxQHNlY3VyaXR5Zm9jdXMuY29tPgpTdWJqZWN0OiBTb21lIGFuYWx5c2lz IG9mIE1pY3Jvc29mdCBTUUwgU2VydmVyIDIwMDAgc3RvcmVkIHByb2NlZHVyZSBlbmNyeXB0aW9u Ck1lc3NhZ2UtSUQ6IDwyMDAxMTIxNzE2NDI1MC5CNzcwMzAtMTAwMDAwQGFkZXF1YWN5Lm9yZz4K TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBURVhUL1BMQUlOOyBjaGFyc2V0PVVTLUFT Q0lJCgpJdCdzIHdlbGwga25vd24gdGhhdCB0aGUgc3RvcmVkIHByb2NlZHVyZSBlbmNyeXB0aW9u IGluIFNRTCBTZXJ2ZXIKMjAwMCBoYXMgYmVlbiBjcmFja2VkLCBidXQgSSd2ZSBiZWVuIHVuYWJs ZSB0byBmaW5kIGEgZGlzY3Vzc2lvbiBvZiB0aGUKYWxnb3JpdGhtIHVzZWQgYW5kIHdoYXQgaXRz IHdlYWtuZXNzZXMgYXJlLiAgSSBkaWQgc29tZSBkaWdnaW5nIGFuZCBmb3VuZAp0aGF0IG5vdCBv bmx5IGNhbiB0aGUga2V5IGJlIHJldHJpZXZlZCBieSBhbnlvbmUgd2l0aCBzYSBwcml2aWxlZ2Vz ICAoYXMKZE9NTkFSIGhhcyBzbyBhcHRseSBkZW1vbnN0cmF0ZWQgd2l0aCBoaXMgZFNRTFNSVkQg dXRpbGl0eSksIGJ1dCB0aGUgYWxnb3JpdGhtCmlzIGluY29ycmVjdGx5IGltcGxlbWVudGVkLCBt YWtpbmcgYm90aCBrZXkgcmV0cmlldmFsIGFuZCBzYSBwcml2aWxlZ2VzCnVubmVjY2Vzc2FyeS4K ClNvIGhlcmUncyBob3cgc3RvcmVkIHByb2NlZHVyZSAoYW5kIHZpZXcgYW5kIHRyaWdnZXIpIGVu Y3J5cHRpb24gd29ya3Mgb24KU1FMIFNlcnZlciAyMDAwOgoxLiAgVGFrZSB0aGUgdGhlIGRhdGFi YXNlJ3MgR1VJRCAoZ2VuZXJhdGVkIHdoZW4gdGhlIGRiIGlzIGNyZWF0ZWQpLCB0aGUKb2JqZWN0 IGlkIChmcm9tIHN5c29iamVjdHMpIGFuZCB0aGUgY29saWQgKGZyb20gc3lzY29tbWVudHMpIGFu ZApjb25jYXRlbmF0ZSB0aGVtLgoyLiAgSGFzaCB0aGUga2V5IHVzaW5nIFNIQS4KMy4gIFVzZSB0 aGUgU0hBIGhhc2ggYXMgYW4gUkM0IGtleSwgZ2VuZXJhdGUgYSBzZXF1ZW5jZSBvZiBieXRlcyBl cXVhbCBpbgpsZW5ndGggdG8gdGhlIHN0b3JlZCBwcm9jZWR1cmUgdGV4dC4KNC4gIFhPUiB0aGlz IHN0cmVhbSBvZiBieXRlcyBhZ2FpbnN0IHRoZSBzdG9yZWQgcHJvY2VkdXJlIHRleHQuCgpUaGlz IGlzIGEgYml0IHNob3J0IG9uIGRldGFpbCBhbmQgaXMgYmFzZWQgb24gYSBkaW1seSByZW1lbWJl cmVkCmNvbnZlcnNhdGlvbiB3aXRoIGFuIE1TIGVtcGxveWVlIEkgYnVtbWVkIGEgY2lnYXJldHRl IG9mZiB3aGlsZSB2aXNpdGluZwp0aGUgY2FtcHVzLCBzbyBpdCBtYXkgbm90IGJlIDEwMCAlIGFj Y3VyYXRlLgoKQW55d2F5LCB0aGVyZSBhcmUgMiB3YXlzIHRvIHNldCBhYm91dCByZWNvdmVyaW5n IHRoZSBwbGFpbnRleHQuICBPbmUgaXMgdG8KcmV0cmlldmUgdGhlIGNvbXBvbmVudHMgb2YgdGhl IGtleSAodGhlIGd1aWQgaXMgcmV0cmlldmFibGUgdGhyb3VnaCBkYmNjCmRiaW5mbywgYnV0IHlv dSBoYXZlIHRvIGJlIHNhIHRvIHJ1biB0aGF0IGNvbW1hbmQpIGFuZCB0aGlzIGlzIHRoZQphcHBy b2FjaCB0YWtlbiBieSBkU1FMU1JWRC4KClRoZSBzZWNvbmQgb3B0aW9uIGlzIHRvIGZpbmQgYSB3 YXkgdG8gZW5jcnlwdCB5b3VyIG93biBwbGFpbnRleHQgd2l0aCB0aGUKc2FtZSBrZXkuICBJZiB5 b3UgY2FuIGRvIHRoaXMsIHRoZSBlbmNyeXB0aW9uIGFsZ29yaXRobSBkZWdlbmVyYXRlcyB0bwpz aW1wbGUgWE9SIGVuY3J5cHRpb24gd2l0aCBhIHJldXNhYmxlIHBhZC4KCkl0IHR1cm5zIG91dCB0 aGF0IGl0J3MgdHJpdmlhbCB0byBkbyB0aGlzIHRoYW5rcyB0byB0aGUgIkFMVEVSIFBST0NFRFVS RSIKc3RhdGVtZW50LiAgS2luZCBvZiBtYWtlcyB5b3Ugd29uZGVyIHdoeSBNaWNyb3NvZnQgY2hv c2UgdG8gd2FzdGUgY3B1IGN5Y2xlcwp3aXRoIFNIQSBhbmQgUkM0IHNpbmNlIGl0IGRvZXNuJ3Qg YnV5IGFueSBleHRyYSBzZWN1cml0eS4KCkFueXdheSwgaGVyZSdzIHNvbWUgc2FtcGxlIGNvZGU6 CgpTRVQgTk9DT1VOVCBPTgpDUkVBVEUgVEFCTEUgI3RlbXBjb21tZW50cyAoCiAgIElEIGludCBQ UklNQVJZIEtFWSBOT1QgTlVMTAogICxjdGV4dCBudmFyY2hhcig0MDAwKSBOT1QgTlVMTAopCkdP CkNSRUFURSBQUk9DRURVUkUgYm9iCiAgIFdJVEggRU5DUllQVElPTgpBUwpQUklOVCAnSSBlbmNy eXB0ZWQgdGhpcyBwcm9jZWR1cmUgYW5kIGZvcmdvdCB0byBjaGVjayB0aGUgc291cmNlIGludG8g Y3ZzIScKUFJJTlQgJ05vdyBJIGRvbicndCB3b3JrIGhlcmUgYW55IG1vcmUgYW5kIHlvdSBjYW4n J3QgZmluZCBtZSEnCkdPCgpJTlNFUlQgSU5UTyAjdGVtcGNvbW1lbnRzClNFTEVDVCAxLCBjdGV4 dCBGUk9NIHN5c2NvbW1lbnRzIFdIRVJFIGlkID0gb2JqZWN0X2lkKCdib2InKQpHTwpBTFRFUiBQ Uk9DRURVUkUgYm9iCiAgIFdJVEggRU5DUllQVElPTgpBUwotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCnByaW50ICdJIGtub3cgYSBzZWNyZXQuJwpHTwoKSU5TRVJU IElOVE8gI3RlbXBjb21tZW50cwpTRUxFQ1QgMiwgY3RleHQgRlJPTSBzeXNjb21tZW50cyBXSEVS RSBpZCA9IG9iamVjdF9pZCgnYm9iJykKR08KCkRFQ0xBUkUgQG9yaWdjcnlwdHN0ciBudmFyY2hh cig0MDAwKQogICxAb3JpZ3BsYWluc3RyIG52YXJjaGFyKDQwMDApCiAgLEBrbm93bnBsYWluc3Ry IG52YXJjaGFyKDQwMDApCiAgLEBrbm93bmNyeXB0c3RyIG52YXJjaGFyKDQwMDApCgpERUNMQVJF IEBsZW5ndGggaW50CiAgLEBjb3VudGVyIGludAoKU0VMRUNUIEBvcmlnY3J5cHRzdHIgPSBjdGV4 dCBGUk9NICN0ZW1wY29tbWVudHMgV0hFUkUgSUQgPSAxClNFTEVDVCBAa25vd25jcnlwdHN0ciA9 IGN0ZXh0IEZST00gI3RlbXBjb21tZW50cyBXSEVSRSBJRCA9IDIKU0VMRUNUIEBrbm93bnBsYWlu c3RyID0gTidDUkVBVEUgUFJPQ0VEVVJFIGJvYgogICBXSVRIIEVOQ1JZUFRJT04KQVMKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KcHJpbnQgJydJIGtub3cg YSBzZWNyZXQuJycKJwpzZXQgQGxlbmd0aCA9IGRhdGFsZW5ndGgoQG9yaWdjcnlwdHN0cikKc2V0 IEBvcmlncGxhaW5zdHIgPSByZXBsaWNhdGUoTidBJywgKEBsZW5ndGggLyAyKSkKc2V0IEBjb3Vu dGVyID0gMQp3aGlsZSAoQGNvdW50ZXIgPD0gKEBsZW5ndGggLyAyKSkKYmVnaW4KICAgU0VMRUNU IEBvcmlncGxhaW5zdHIgPSBzdHVmZihAb3JpZ3BsYWluc3RyLCBAY291bnRlciwgMSwKICAgICAg TkNIQVIoVU5JQ09ERShzdWJzdHJpbmcoQG9yaWdjcnlwdHN0ciwgQGNvdW50ZXIsIDEpKSBeCiAg ICAgIChVTklDT0RFKHN1YnN0cmluZyhAa25vd25jcnlwdHN0ciwgQGNvdW50ZXIsIDEpKSBeCiAg ICAgICAgIFVOSUNPREUoc3Vic3RyaW5nKEBrbm93bnBsYWluc3RyLCBAY291bnRlciwgMSkpKSkp CiAgIHNldCBAY291bnRlciA9IEBjb3VudGVyICsgMQplbmQKc2VsZWN0IEBvcmlncGxhaW5zdHIK ZXhlYygnZHJvcCBwcm9jZWR1cmUgYm9iJykKZXhlYyhAb3JpZ3BsYWluc3RyKQpHTwpkcm9wIHRh YmxlICN0ZW1wY29tbWVudHMKR08KCk5vdGUgdGhhdCBhdCB0aGUgZW5kIEkgcmVwbGFjZSB0aGUg c2Vjb25kIHZlcnNpb24gb2YgdGhlIGJvYiBwcm9jZWR1cmUKd2l0aAp0aGUgb3JpZ2luYWwuICBJ ZiB5b3UncmUgdXNpbmcgdGhpcyBhcHByb2FjaCBvbiBhIHByb2R1Y3Rpb24gY29kZSwgZG9uJ3QK bGVhdmUgdGhhdCBvdXQuCgotLVNob2Vib3kKUmFuZGFsIFNjaHdhcnR6IGlzIG15IGJpdGNoOgpo dHRwOi8vc2xhc2hkb3Qub3JnL2NvbW1lbnRzLnBsP3NpZD0xMTU0NyZjaWQ9MzA4NjU5CgoKLS1o ZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IG1lc3NhZ2UvcmZjODIyCkNvbnRlbnQt RGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9ImJ1Z3RyYXFfMjk1MS5lem0iCgpGcm9tOiAi amVsbWVyIiA8amVsbWVyQGt1cGVydXMueHM0YWxsLm5sPgpUbzogPGJ1Z3RyYXFAc2VjdXJpdHlm b2N1cy5jb20+ClN1YmplY3Q6IFJFOiBNU0lFIG1heSBkb3dubG9hZCBhbmQgcnVuIHByb2dhbXMg YXV0b21hdGljYWxseSAtIE5PVCBTTyBGQVNUCkRhdGU6IFR1ZSwgMTggRGVjIDIwMDEgMTc6NDA6 MTQgKzAxMDAKTWVzc2FnZS1JRDogPDAwMDAwMWMxODdlMiRhZWEwYjE5MCQ1ODAxYThjMEBwbHV0 bz4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOwoJY2hhcnNldD0i dXMtYXNjaWkiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKCkhlcmUncyBhbm90aGVy IHdheSB0byBnbyBhYm91dCBpdCAod2l0aG91dCB0aGUgdXNlIG9mIG1odG1sIGZpbGVzKQoKICBw YWNrYWdlIG5sLnhzNGFsbC5rdXBlcnVzLmV4cGxvaXRzOwogIAogIGltcG9ydCBqYXZheC5zZXJ2 bGV0Lmh0dHAuSHR0cFNlcnZsZXQ7CiAgaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2Vy dmxldFJlcXVlc3Q7CiAgaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3Bv bnNlOwogIGltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRFeGNlcHRpb247CiAgaW1wb3J0IGph dmEuaW8uSU9FeGNlcHRpb247CiAgaW1wb3J0IGphdmEuaW8uUHJpbnRXcml0ZXI7CiAgCiAgcHVi bGljIGNsYXNzIFNwb29mSXQgZXh0ZW5kcyBIdHRwU2VydmxldCB7CiAgCiAgICAgIHByb3RlY3Rl ZCB2b2lkIGRvR2V0KEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0LApIdHRwU2VydmxldFJlc3Bv bnNlIHJlc3BvbnNlKSB0aHJvd3MgU2VydmxldEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gewogIAog ICAgICAgICAgcmVzcG9uc2Uuc2V0Q29udGVudFR5cGUoImFwcGxpY2F0aW9uL2h0YSIpOwogICAg ICAgICAgcmVzcG9uc2Uuc2V0U3RhdHVzKDIwMSk7CiAgCiAgICAgICAgICBQcmludFdyaXRlciBv dXQgPSByZXNwb25zZS5nZXRXcml0ZXIoKTsKICAgICAgICAgIG91dC53cml0ZSgidGhpcyBpcyBh IGh0YSIpOwogIAogICAgICB9CiAgCiAgICAgIHByb3RlY3RlZCB2b2lkIGRvUG9zdChIdHRwU2Vy dmxldFJlcXVlc3QgcmVxdWVzdCwKSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgdGhyb3dz IFNlcnZsZXRFeGNlcHRpb24sIElPRXhjZXB0aW9uIHsKICAgICAgICAgIHN1cGVyLmRvR2V0KHJl cXVlc3QsIHJlc3BvbnNlKTsKICAgICAgfQogIH0KCk9uY2UgdGhlIHVzZXIgY2xpY2tzIG9uIG9w ZW4gdGhlIGh0YSBmaWxlIGlzIHN0YXJ0ZWQgYWNjb3JkaW5nIHRvIGl0cwptaW1lIHR5cGUKQXBw bGljYXRpb24vaHRhLiBhbGwgdGhlIHRpbWUgdGhlIHVzZXIgaXMgdGhpbmtpbmcgaXQgaXMgYWN0 dWFsbHkgYSAudHh0CmZpbGUKCk9uIGllIDUuNSB0aGlzIHdvcmtzIGV2ZW4gd2l0aG91dCB0aGUg cmVzcG9uc2UgY29kZSBzZXQgdG8gMjAwCk9uIGllIDYgd2l0aCBhbGwgcGF0Y2hlcyBpbiBwbGFj ZSBpbmNsdWRpbmcgdGhlIGxhdGVzdCAnbWVnYSBwYWNrIDopJwp5b3UgaGF2ZSB0byBzZXQgdGhl CmNvbnRlbnQgdHlwZSB0byBzb21ldGhpbmcgb3RoZXIgdGhlbiAyMDAgb3IgdGhlIGh0YSBleHRl bnNpb24gd2lsbCBzaG93CgpBIHdvcmtpbmcgZXhhbXBsZSBpcyBhdmFpbGFibGUgYXQKCmh0dHA6 Ly9rdXBlcnVzLnhzNGFsbC5ubC9taWNyb3NvZnQudHh0CgoKCgotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQpGcm9tOiBodHRwLWVxdWl2QGV4Y2l0ZS5jb20gW21haWx0bzpodHRwLWVxdWl2QGV4 Y2l0ZS5jb21dIApTZW50OiB6b25kYWcgMTYgZGVjZW1iZXIgMjAwMSAxOjMwClRvOiBidWd0cmFx QHNlY3VyaXR5Zm9jdXMuY29tClN1YmplY3Q6IFJlOiBNU0lFIG1heSBkb3dubG9hZCBhbmQgcnVu IHByb2dhbXMgYXV0b21hdGljYWxseSAtIE5PVCBTTwpGQVNUCgpTYXR1cmRheSwgRGVjZW1iZXIg MTUsIDIwMDEKCiJKb3VrbyBQeW5ub25lbiIgPGpvdWtvQHNvbHV0aW9ucy5maT4gd3JvdGUgaW4g bWVzc2FnZSAKICAKPiBWRU5ET1IgU1RBVFVTCj4gCj4gTWljcm9zb2Z0IHdhcyBpbml0aWFsbHkg Y29udGFjdGVkIG9uIE5vdmVtYmVyIDE5dGggd2l0aCB0aGUKaW5mb3JtYXRpb24KPiByZWdhcmRp bmcgdGhlICJmaWxlIGV4dGVuc2lvbiBzcG9vZmluZyIgcHJvYmxlbS4gVGhlIFNlY3VyaXR5IFdh cm5pbmcKPiBkaWFsb2dzIG9mIElFNSBjb3VsZCBiZSBieXBhc3NlZCB3aXRoIHRoYXQgZXhwbG9p dCwgYnV0IHRoZQoiYXV0b21hdGljYWxseQo+IHN0YXJ0IGFuIC5leGUiIHZhcmlhdGlvbiBvZiB0 aGUgdnVsbmVyYWJpbGl0eSB3YXNuJ3Qga25vd24gYXQgdGhlCnRpbWUuCj4gTWljcm9zb2Z0IGRp ZG4ndCBjb25zaWRlciB0aGUgZmlsZSBleHRlbnNpb24gc3Bvb2ZpbmcgcHJvYmxlbSBhCnNlY3Vy aXR5Cj4gdnVsbmVyYWJpbGl0eS4gVGhlIGNvbXBhbnkgd2FzIGluZm9ybWVkIGFib3V0IHRoZSBu ZXcgdmFyaWF0aW9uIG9uCj4gTm92ZW1iZXIgMjd0aCBhbmQgc3RhcnRlZCB3b3JraW5nIG9uIGEg cGF0Y2ggdG8gY29ycmVjdCB0aGUgZmxhdy4gVGhlCj4gcGF0Y2ggaXMgbm93IG91dCBhbmQgZG93 bmxvYWRhYmxlIG9uIE1pY3Jvc29mdCdzIHNpdGUgYXQKPiAKPiBodHRwOi8vd3d3Lm1pY3Jvc29m dC5jb20vdGVjaG5ldC9zZWN1cml0eS9idWxsZXRpbi9NUzAxLTA1OC5hc3AKClNoZSBhbmQgaGVy IGJldGEgdGVhbSBmb3Jnb3QgYWJvdXQgKnRoZSogbW9zdCBpbXBvcnRhbnQgQ29udGVudC1UeXBl OiAKCkNsZWFybHkgd2hhdCB0aGlzIHNvLWNhbGxlZCAicGF0Y2giIGRvZXMgaXMgY29udmVydCBh bGwgZW1iZWRkZWQgZmlsZQp0eXBlcwppbiBNSFRNTCBkb2N1bWVudHMgdmlld2VkIGluIHBhdGNo ZWQgSW50ZXJuZXQgRXhwbG9yZXIgNiBpbnRvICouVE1QCmZpbGVzLgpQcmV2aW91c2x5IGFsbCBm aWxlIHR5cGVzIGFuZCBmaWxlIG5hbWVzIHdlcmUgcmV0YWluZWQgYW5kIGlmIGFjY2VwdGVkCndv dWxkCnJ1bi4KCldoYXQgdGhhdCBtZWFucyBpcyB3aGVuIHByb21wdGVkIGZvciAnb3BlbmluZyBv ciBzYXZpbmcnLCBbc2NyZWVuIHNob3Q6Cmh0dHA6Ly93d3cubWFsd2FyZS5jb20vZHVtYmxvYWQu anBnIDE0S0JdLCBpZiB5b3VyIGhhbmQgc2hvdWxkIHNsaXAgb3IKaWYKeW91IGRvIG5vdCBrbm93 IGFueSBiZXR0ZXIgYW5kIHNlbGVjdCAnb3BlbicsIGJlY2F1c2UgdGhlIGZpbGUgZXh0ZW5zaW9u CmlzCiouVE1QLCB5b3Ugd2lsbCBiZSBhc2tlZCAnd2hhdCBkbyB5b3Ugd2FudCB0byBvcGVuIHRo ZSBmaWxlIHdpdGgnCihzY3JlZW4Kc2hvdDogaHR0cDovL3d3dy5tYWx3YXJlLmNvbS9zZXNhbWUu anBnIDIwS0IpIHdoaWNoIGRvZXMgaW5kZWVkIGtpbGwgYW55CmFjY2lkZW50YWwgb3IgcnVubmlu ZyBvZiB0aGUgZmlsZS4KCldvcmtpbmcgZXhhbXBsZToKCltvcGVuIGluIElFNiAicGF0Y2hlZCJd CgpodHRwOi8vd3d3Lm1hbHdhcmUuY29tL2JhZG1hbi56aXAgMTFLQgoKQmVmb3JlIHRoZSBwYXRj aCBhbmQgdW5kZXIgYW4gTVRITUwgZmlsZSBzaXR1YXRlZCBvbiB0aGUgd2ViIHNpdGUgYW5kCnZp ZXdlZAp3aXRoIEludGVybmV0IEV4cGxvcmVyIDYsIHlvdSB3b3VsZCBiZSBpbiBhIHBvc2l0aW9u IHRvIG1hbmlwdWxhdGUgdGhlCmZpbGUKZXh0ZW5zaW9uIGFuZCBkb3dubG9hZCBib3ggYXMgZGlz cGxheWVkIGhlcmU6IApbc2NyZWVuIHNob3Q6IGh0dHA6Ly93d3cubWFsd2FyZS5jb20vb2huby5q cGcgMjdLQl0gCgpOb3cgd2l0aCB0aGUgc28tY2FsbGVkICJwYXRjaCIsIHJlZ2FyZGxlc3Mgb2Yg dGhlIGZpbGVuYW1lPSJtYWx3YXJlLmV4ZSIKb3IKdGhlIENvbnRlbnQtVHlwZTogaW1hZ2UvZ2lm OyBjb21iaW5hdGlvbiwgZXZlcnl0aGluZyBpcyBlZmZlY3RpdmVseQpjb252ZXJ0ZWQgdG8gYSAq LlRNUCBmaWxlIGluIHRoZSBUZW1wb3JhcnkgSW50ZXJuZXQgRmlsZS4gQXR0ZW1wdGluZyB0bwpv cGVuCnRoZSAqLlRNUCwgZGVwZW5kaW5nIG9uIHdoYXQgaXQgaXMgd2lsbCBlaXRoZXIgYnJpbmcg dXAgdGhlICd3aGF0IGRvIHlvdQp3YW50IHRvIG9wZW4gdGhlIGZpbGUgd2l0aCcgYm94LCBvciBk aXNwbGF5IHRoZSBmaWxlIGFzIHBsYWluIHRleHQuCgpEYW5nZXJvdXMgZmlsZXMgc3VjaCBhcyAq LmV4ZSBvciAqLnNjciBvciAqLmJhdCBzaW1wbHkgd2lsbCBub3QgcnVuIGlmCnlvdQplbGVjdCB0 byBydW4gdGhlIGZpbGUgdGhyb3VnaCB0aGUgSW50ZXJuZXQgRXhwbG9yZXIgNiBwYXRjaGVkIGJy b3dzZXIuClNvdW5kcyBnb29kLgoKVW5mb3J0dW5hdGVseSwgd2hpbGUgc2hlIGRpZCBhIGZhaXJs eSByZWFzb25hYmxlIGpvYiBvbiB0aGlzIHNvLWNhbGxlZAoicGF0Y2giIHNoZSBmb3Jnb3Qgb25l IG9mIHRoZSBtb3N0IGltcG9ydGFudCBjb250ZW50LXR5cGVzLiBIZXIgdmVyeSBvd24KaW52ZW50 aW9uLiBUaGUgb25lIGFuZCBvbmx5OgoKQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9odGE7CgpX ZSBhcmUgc3RpbGwgYWJsZSB0byBpbnZva2UgYSBkb3dubG9hZCwgdGhhdCBpZiBhY2NlcHRlZCB3 aWxsIGV4ZWN1dGUKb3VyCm1hbHdhcmUgb24gdGhlIHRhcmdldCBjb21wdXRlciwgdGhyb3VnaCB0 aGUgInBhdGNoZWQiIEludGVybmV0IEV4cGxvcmVyCjYuCgpUaGlzIG5ld2x5IGZvdW5kIGNyZWF0 aW9uIG9mIGRvd25sb2FkIGZpbGUgY29udmVyc2lvbiB0aHJvdWdoIE1IVE1MIHRvCmdlbmVyaWMg Ki5UTVAgZmlsZSBuYW1lIG9uIHRoZSBkb3dubG9hZCBib3ggY291cGxlZCB3aXRoIHRoZSAnc3Vw cG9zZWQnCnNlY3VyaXR5IG9mIHRoaXMgc28tY2FsbGVkICJwYXRjaCIgd2lsbCBtb3N0IGRlZmlu aXRlbHkgeWllbGQgcGxlbnR5IG9mCnF1aWNrIHByZXk6CgpXb3JraW5nIEV4YW1wbGU6Cgpbc2Vs ZiBleHBsYW5hdG9yeSBpbmNsdWRlcyBoYXJtbGVzcyAqLmV4ZSwgb3BlbiBpbiBJRTYgInBhdGNo ZWQiXQoKaHR0cDovL3d3dy5tYWx3YXJlLmNvbS9kdW1ibG9hZC56aXAgNEtCCgpOb3RlczoKCjEu IFdlIG5vdGUgdGhhdCB0aGlzIHBhdGNoIGhhcyB6ZXJvIGVmZmVjdCBvbiBPdXRsb29rIEV4cHJl c3MgNiBhbmQgdGhlCmFiaWxpdHkgdG8gInNwb29mIiBmaWxlIG5hbWVzIFtzZWU6Cmh0dHA6Ly93 d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMyNzFdLgpDb21pbmcgdXAgMTcgbW9udGhzIGFuZCBj b3VudGluZyBub3cuCjIuIFdvcmtob3JzZTogV2luZG93cyA5OCBhbmQgSW50ZXJuZXQgRXhwbG9y ZXIgNi4wLjI2MDAgYW5kIHRoaXMKc28tY2FsbGVkCiJwYXRjaCIuCjMuIFNlYXNvbnMgR3JlZXRp bmdzIHRvIEV2ZXJ5b25lLiBZZWFoIHlvdSB0b28sIGluY29tcGV0ZW50IHNsb2JzLgoKRW5kIENh bGwKCi0tLQpodHRwOi8vd3d3Lm1hbHdhcmUuY29tCgoKCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCl9fX19f XwpTZW5kIGEgZnJpZW5kIHlvdXIgQnVkZHkgQ2FyZCBhbmQgc3RheSBpbiBjb250YWN0IGFsd2F5 cyB3aXRoIEV4Y2l0ZQpNZXNzZW5nZXIKaHR0cDovL21lc3Nlbmdlci5leGNpdGUuY29tCgoKCgoK Ci0taGZmZmpkbGFramZoZW5tYWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpDb250 ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NTMuZXptIgoKTWVz c2FnZS1JRDogPDNDMUY4NjcyLkFDODBGRkVEQGd1bmluc2tpLmNvbT4KRGF0ZTogVHVlLCAxOCBE ZWMgMjAwMSAyMDowOTo1NCArMDIwMApGcm9tOiBHZW9yZ2kgR3VuaW5za2kgPGd1bmluc2tpQGd1 bmluc2tpLmNvbT4KUmVwbHktVG86IGd1bmluc2tpQGd1bmluc2tpLmNvbQpNSU1FLVZlcnNpb246 IDEuMApUbzogamVsbWVyIDxqZWxtZXJAa3VwZXJ1cy54czRhbGwubmw+CkNDOiBidWd0cmFxQHNl Y3VyaXR5Zm9jdXMuY29tClN1YmplY3Q6IFJlOiBNU0lFIG1heSBkb3dubG9hZCBhbmQgcnVuIHBy b2dhbXMgYXV0b21hdGljYWxseSAtIE5PVCBTTyBGQVNUCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFp bjsgY2hhcnNldD11cy1hc2NpaQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CgpqZWxt ZXIgd3JvdGU6Cj4gCj4gSGVyZSdzIGFub3RoZXIgd2F5IHRvIGdvIGFib3V0IGl0ICh3aXRob3V0 IHRoZSB1c2Ugb2YgbWh0bWwgZmlsZXMpCj4gCj4gICBwYWNrYWdlIG5sLnhzNGFsbC5rdXBlcnVz LmV4cGxvaXRzOwo+IAo+ICAgaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldDsK PiAgIGltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Owo+ICAgaW1w b3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlOwo+ICAgaW1wb3J0IGph dmF4LnNlcnZsZXQuU2VydmxldEV4Y2VwdGlvbjsKPiAgIGltcG9ydCBqYXZhLmlvLklPRXhjZXB0 aW9uOwo+ICAgaW1wb3J0IGphdmEuaW8uUHJpbnRXcml0ZXI7Cj4gCj4gICBwdWJsaWMgY2xhc3Mg U3Bvb2ZJdCBleHRlbmRzIEh0dHBTZXJ2bGV0IHsKPiAKPiAgICAgICBwcm90ZWN0ZWQgdm9pZCBk b0dldChIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCwKPiBIdHRwU2VydmxldFJlc3BvbnNlIHJl c3BvbnNlKSB0aHJvd3MgU2VydmxldEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gewo+IAo+ICAgICAg ICAgICByZXNwb25zZS5zZXRDb250ZW50VHlwZSgiYXBwbGljYXRpb24vaHRhIik7Cj4gICAgICAg ICAgIHJlc3BvbnNlLnNldFN0YXR1cygyMDEpOwo+IAo+ICAgICAgICAgICBQcmludFdyaXRlciBv dXQgPSByZXNwb25zZS5nZXRXcml0ZXIoKTsKPiAgICAgICAgICAgb3V0LndyaXRlKCJ0aGlzIGlz IGEgaHRhIik7Cj4gCj4gICAgICAgfQo+IAo+ICAgICAgIHByb3RlY3RlZCB2b2lkIGRvUG9zdChI dHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCwKPiBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNl KSB0aHJvd3MgU2VydmxldEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gewo+ICAgICAgICAgICBzdXBl ci5kb0dldChyZXF1ZXN0LCByZXNwb25zZSk7Cj4gICAgICAgfQo+ICAgfQo+IAo+IE9uY2UgdGhl IHVzZXIgY2xpY2tzIG9uIG9wZW4gdGhlIGh0YSBmaWxlIGlzIHN0YXJ0ZWQgYWNjb3JkaW5nIHRv IGl0cwo+IG1pbWUgdHlwZQo+IEFwcGxpY2F0aW9uL2h0YS4gYWxsIHRoZSB0aW1lIHRoZSB1c2Vy IGlzIHRoaW5raW5nIGl0IGlzIGFjdHVhbGx5IGEgLnR4dAo+IGZpbGUKPiAKPiBPbiBpZSA1LjUg dGhpcyB3b3JrcyBldmVuIHdpdGhvdXQgdGhlIHJlc3BvbnNlIGNvZGUgc2V0IHRvIDIwMAo+IE9u IGllIDYgd2l0aCBhbGwgcGF0Y2hlcyBpbiBwbGFjZSBpbmNsdWRpbmcgdGhlIGxhdGVzdCAnbWVn YSBwYWNrIDopJwo+IHlvdSBoYXZlIHRvIHNldCB0aGUKPiBjb250ZW50IHR5cGUgdG8gc29tZXRo aW5nIG90aGVyIHRoZW4gMjAwIG9yIHRoZSBodGEgZXh0ZW5zaW9uIHdpbGwgc2hvdwo+IAo+IEEg d29ya2luZyBleGFtcGxlIGlzIGF2YWlsYWJsZSBhdAo+IAo+IGh0dHA6Ly9rdXBlcnVzLnhzNGFs bC5ubC9taWNyb3NvZnQudHh0Cj4gCgpBIG1vZGlmaWNhdGlvbiBpbiBwZXJsIHdoaWNoIGRvbid0 IG5lZWQgcGxheWluZyB3aXRoIDIwMCBpczoKLi4uCnByaW50ICJDb250ZW50LXR5cGU6IGFwcGxp Y2F0aW9uL2h0YVxuIjsKcHJpbnQgIkNvbnRlbnQtZGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5h bWU9XCJyZWFkbWUudHh0XCJcbiI7Ci4uLm1vcmUgc3R1ZmYuLi4KVGhpcyB3b3JrcyBvbiB0aGUg c28gY2FsbGVkICJwYXRjaGVkIiBJRSA2LjAuCgpWZW5kb3Igc3RhdHVzOgptaWNyb3NvZnQgd2Fz IGluZm9ybWVkIG9uIDE1LkRlY2VtYmVyLjIwMDEuCjIgZGF5cyBsYXRlciB0aGV5IHByZXRlbmRl ZCB0aGV5IGhhdmUgbm90IHJlY2VpdmVkIHRoZSBwZXJsIGF0dGFjaG1lbnQKSSBzZW50IHRvIHRo ZW0gYW5kIGFsc28gY2MnZWQgdG8gbXlzZWxmIChhbmQgc3VyZSwgSSByZWNlaXZlZCBteSBhdHRh Y2htZW50KS4KSGF2ZSBub3QgaGVhcmQgZnJvbSB0aGVtIHNpbmNlIHRoZW4uCgpEaXNjbGFpbWVy OgpUaGUgaW5mb3JtYXRpb24gaW4gdGhpcyBhZHZpc29yeSBpcyBiZWxpZXZlZCB0byBiZSB0cnVl IGJhc2VkIG9uCmV4cGVyaW1lbnRzIHRob3VnaCBpdCBtYXkgYmUgZmFsc2UuClRoZSBvcGluaW9u cyBleHByZXNzZWQgaW4gdGhpcyBhZHZpc29yeSBhbmQgcHJvZ3JhbSBhcmUgbXkgb3duIGFuZApu b3Qgb2YgYW55IGNvbXBhbnkuIFRoZSB1c3VhbCBzdGFuZGFyZCBkaXNjbGFpbWVyIGFwcGxpZXMs CmVzcGVjaWFsbHkgdGhlIGZhY3QgdGhhdCBHZW9yZ2kgR3VuaW5za2kgaXMgbm90IGxpYWJsZSBm b3IgYW55IGRhbWFnZXMKY2F1c2VkIGJ5IGRpcmVjdCBvciAgaW5kaXJlY3QgdXNlIG9mIHRoZSBp bmZvcm1hdGlvbiBvciBmdW5jdGlvbmFsaXR5CnByb3ZpZGVkIGJ5IHRoaXMgYWR2aXNvcnkgb3Ig cHJvZ3JhbS4gR2VvcmdpIEd1bmluc2tpIGJlYXJzIG5vCnJlc3BvbnNpYmlsaXR5IGZvciBjb250 ZW50IG9yIG1pc3VzZSBvZiB0aGlzIGFkdmlzb3J5IG9yIHByb2dyYW0gb3IKYW55IGRlcml2YXRp dmVzIHRoZXJlb2YuCgpHZW9yZ2kgR3VuaW5za2kKaHR0cDovL3d3dy5ndW5pbnNraS5jb20KCi0t aGZmZmpkbGFramZoZW5tYWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpDb250ZW50 LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NTIuZXptIgoKTWVzc2Fn ZS1JZDogPDIwMDExMjE4MTgxMS5mQklJQm1rMDA5MTdAbWFpbGhvc3QuZnJlZWJzZC5sdWJsaW4u cGw+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsKICBjaGFyc2V0PSJpc28tODg1OS0yIgpGcm9t OiBQcnplbXlzbGF3IEZyYXN1bmVrIDx2ZW5nbGluQGZyZWVic2QubHVibGluLnBsPgpUbzogYnVn dHJhcUBzZWN1cml0eWZvY3VzLmNvbQpTdWJqZWN0OiBSZTogWnl4ZWwgUHJlc3RpZ2UgNjgxIGFu ZCAxNjAwIChwb3NzaWJseSBvdGhlcj8pIHJlbW90ZSBEb1MKRGF0ZTogVHVlLCAxOCBEZWMgMjAw MSAxOToxMTo0OCArMDEwMApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiA4Yml0CgpPbiBGcmlkYXkgMTQgRGVjZW1iZXIgMjAwMSAxMjowOCwgUHJ6ZW15c2xhdyBG cmFzdW5layB3cm90ZToKPiBUaGUgd29ya2Fyb3VuZCBpcyB0byBzd2l0Y2ggb2ZmIHJvdXRpbmcg YW5kIHB1dCBkZXZpY2UgaW4gYnJpZGdpbmcgbW9kZS4KPiBaeXhlbCBzdXBwb3J0IGhhcyBiZWVu IG5vdGlmaWVkLCBJIHdvbid0IHJlbGVhc2UgZGV0YWlscyBvZiBhdHRhY2ssIHVudGlsCj4gWnlO T1Mgd2lsbCBiZSBwYXRjaGVkLgoKSSBoYXZlbid0IHJlY2VpdmVkIGFueSByZXNwb25zZSBmcm9t IFp5eGVsIGhlbHBkZXNrIHNvIHRpbWUgdG8gcHVibGlzaCB0aGUgCmRldGFpbHMuCgpbKl0gRmly c3QgdnVsbmVyYWJpbGl0eQoKUDY4MS8xNjAwIFNEU0wgbW9kdWxlIHJlc3RhcnRzIHdoZW4gaXQg cmVjZWl2ZXMgSVAgcGFja2V0cyB3aXRoIGlwX2xlbiA8IHJlYWwgCnBhY2tldCBzaXplLiBSZXN5 bmNocm9uaXppbmcgb2YgU0RTTCB0YWtlcyBhYm91dCAyLTMgbWludXRlcy4KCkhvdyB0byByZXBl YXQ6IFsxXQoKIyBpcHRlc3QgLWQgZnhwMCAtMSAtcCA2IC1nIHgueC54LnggeS55LnkueQoKWypd IFNlY29uZCB2dWxuZXJhYmlsaXR5CgpQNjgxIChub3QgdGVzdGVkIG9uIFAxNjAwKSBkZXZpY2Ug Y3Jhc2hlcyB3aGVuIGl0IHJlY2VpdmVzIGZyYWdtZW50ZWQgcGFja2V0IAp3aGljaCBpcyBsb25n ZXIgdGhhbiA2NGsgYWZ0ZXIgcmVhc3NlbWJseS4gVGhpcyBpcyBhbiBvbGQgYXR0YWNrIGtub3du IGFzIApwaW5nIG9mIGRlYXRoLgoKSG93IHRvIHJlcGVhdDogWzFdCgojIGlwdGVzdCAtZCBmeHAw IC0xIC1wIDggLWcgeC54LngueCB5LnkueS55CgpbKl0gRGV0YWlscwoKQm90aCBjcmFzaGVzIGNh biBiZSB0cmlnZ2VyZWQgb25seSB3aGVuIElQIHBhY2tldCBpcyB0YXJnZXRlZCB0byBaeXhlbCBy b3V0ZXIgCmFuZCBjb21lcyBmcm9tIFNEU0wgV0FOIGludGVyZmFjZS4gRGV2aWNlIHdvbid0IGNy YXNoIGlmIGl0IHdvcmtzIGluIGJyaWRnaW5nIAptb2RlIG9yIHBhY2tldCBpcyBvbmx5IGZvcndh cmRlZCwgbm90IHByb2Nlc3NlZC4KClsqXSBXb3JrYXJvdW5kCgpQdXQgZGV2aWNlIGluIGJyaWRn aW5nIG1vZGUgb3IgZmlsdGVyIEFMTCBpbmNvbWluZyB0cmFmZmljLiBQYWNrZXQgZmlsdGVycyBp biAKWnlOT1MgKldJTEwgTk9UKiBwcmV2ZW50IGZyb20gYXR0YWNrLCB0cmFmZmljIG11c3QgYmUg YmxvY2tlZCBiZWZvcmUgaXQgCnJlYWNoZXMgUDY4MS9QMTYwMCBkZXZpY2UuCgpJIGhhdmVuJ3Qg Z290IGFjY2VzcyB0byBzZXJpYWwgY29uc29sZSBvZiBQNjgxLiBDYW4gc29tZW9uZSBzZW5kIG1l IGFuIG91dHB1dCAKYWZ0ZXIgc2Vjb25kIGF0dGFjaz8gUHJvYmFibHkgWnlOT1MgY3Jhc2hlcyB3 aXRoIHNvbWUga2luZCBvZiBwYWdlIGZhdWx0LgoKWzFdIElwdGVzdCBhcHBsaWNhdGlvbiBjb21l cyBmcm9tIGlwZmlsdGVyIHBhY2thZ2UgYnkgRGFycmVuIFJlZWQuIAoKLS0gCiogRmlkbzogMjo0 ODAvMTI0ICoqIFdXVzogaHR0cDovL3d3dy5mcmFzdW5lay5jb20vICoqIE5JQy1IREw6IFBNRjkt UklQRSAqCiogSW5ldDogcHJ6ZW15c2xhd0BmcmFzdW5lay5jb20gKiogUEdQOiBENDg2ODQ5MDQ2 ODVERjQzRUE5M0FGQTEzQkUxNzBCRiAqCgotLWhmZmZqZGxha2pmaGVubWFrYWNuCkNvbnRlbnQt VHlwZTogbWVzc2FnZS9yZmM4MjIKQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFt ZT0iYnVndHJhcV8yOTU0LmV6bSIKCkRhdGU6IFR1ZSwgMTggRGVjIDIwMDEgMTM6NTk6MDEgLTA1 MDAgKEVTVCkKRnJvbTogRXJpYyBNYWl3YWxkIDxlbWFpd2FsZEBmcmVkLm5ldD4KVG86IDxidWd0 cmFxQHNlY3VyaXR5Zm9jdXMuY29tPgpTdWJqZWN0OiBSZTogSUlTIDUuMCBDb250ZW50IExlbmd0 aCBET1MgdnVsbmVyYWJpbGl0eQpNZXNzYWdlLUlEOiA8UGluZS5HU08uNC4zMi4wMTEyMTgxMzU1 NTcwLjk5MTktMTAwMDAwQHNoZWxsLnhlY3UubmV0PgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50 LVR5cGU6IFRFWFQvUExBSU47IGNoYXJzZXQ9VVMtQVNDSUkKCldlIGhhdmUgYmVlbiB0ZXN0aW5n IHRoZSBzY3JpcHQgcG9zdGVkIGJ5IE1yLiBIZXJuYW5kZXogb24gYW4gSUlTIDUuMApzeXN0ZW0g cnVubmlvbiBvdmVyIFdpbjJrIFNQMS4gV2UgY2FuIGdldCB0aGUgY29ubmVjdGlvbnMgdG8gZXhp c3QKYnV0IGFmdGVyIGEgdGltZSwgdGhleSB0aW1lIG91dCBhbmQgY2xvc2UuIFRoZXJlIGRvZXMg bm90IGFwcGVhciB0bwpiZSBhbnkgZGV0ZXJpb3JhdGlvbiBpbiB0aGUgc3lzdGVtIHBlcmZvcm1h bmNlLgoKQW55b25lIGhhdmUgYW55IG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyB0aGF0IG1heSBp bmRpY2F0ZSBob3cgdGhlCkRPUyBhY3R1YWxseSBvY2N1cnM/ICBJcyBpdCBhIGNlcnRhaW4gbnVt YmVyIG9mIG9wZW4gY29ubmVjdGlvbnMgaW4KYSBzaG9ydCBwZXJpb2Qgb2YgdGltZT8KCkFsc28s IGRvZXMgYW55b25lIGhhdmUgYW55IGluZm9ybWF0aW9uIGFzIHRvIHdoZXRoZXIgdGhlIGNvbnRl bnQtbGVuZ3RoCnBhcmFtZXRlciBnZXRzIG1hbmdsZWQgdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMg b3IgaXMgdGhpcyBET1Mgb25seQpsaWtlbHkgaW4gYSByZWFsIGF0dGFjay4KCkVyaWMKCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQpFcmljIE1haXdhbGQsIENJU1NQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZW1haXdhbGRAZnJlZC5uZXQKQ2hpZWYgVGVjaG5vbG9neSBPZmZpY2VyICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMzAxLTk3Ny02OTY2CkZvcnRyZXggVGVjaG5vbG9naWVzLCBJ bmMuICAgICAgICAgICAgICAgICAgICAgICAgICAgR2FpdGhlcnNidXJnLCBNRAotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KCgoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IG1lc3NhZ2UvcmZjODIy CkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9ImJ1Z3RyYXFfMjk1NS5lem0i CgpEYXRlOiBUdWUsIDE4IERlYyAyMDAxIDE0OjU0OjM0ICswMTAwIChDRVQpCk1lc3NhZ2UtSWQ6 IDwyMDAxMTIxODEzNTQuZkJJRHNZSDA0Njg3QGVsZXZhdGlvbi56dWhhdXNlLnN0b2VydC5uZXQ+ ClRvOiBGcmVlQlNELWduYXRzLXN1Ym1pdEBmcmVlYnNkLm9yZwpTdWJqZWN0OiB3bWN1YmUtZ2Rr IGlzIHZ1bG5lcmFibGUgdG8gYSBsb2NhbCBleHBsb2l0IApGcm9tOiAiY29yZWNvZGVAY29yZWNv ZGUuYXRoLmN4IiA8Y29yZWNvZGVAY29yZWNvZGUuYXRoLmN4PgpSZXBseS1UbzogImNvcmVjb2Rl QGNvcmVjb2RlLmF0aC5jeCIgPGNvcmVjb2RlQGNvcmVjb2RlLmF0aC5jeD4KQ2M6IGJ1Z3RyYXFA c2VjdXJpdHlmb2N1cy5jb20sIHJvYmtsaS04QHN0dWRlbnQubHV0aC5zZSwgdGltZWNvcEBqYXBh bi5jby5qcCwKICB2dWxuLXdhdGNoQHZ1bG53YXRjaC5vcmcKCgo+U3VibWl0dGVyLUlkOgljdXJy ZW50LXVzZXJzCj5PcmlnaW5hdG9yOgljb3JlY29kZQo+T3JnYW5pemF0aW9uOgkKPkNvbmZpZGVu dGlhbDoJbm8gCj5TeW5vcHNpczoJd21jdWJlLWdkayBpcyB2dWxuZXJhYmxlIHRvIGEgbG9jYWwg ZXhwbG9pdCAKPlNldmVyaXR5Ogljcml0aWNhbCAKPlByaW9yaXR5OgloaWdoIAo+Q2F0ZWdvcnk6 CXBvcnRzIAo+Q2xhc3M6CQlzdy1idWcgCj5SZWxlYXNlOglGcmVlQlNEIDQuNC1TVEFCTEUgaTM4 Ngo+RW52aXJvbm1lbnQ6ClN5c3RlbTogRnJlZUJTRCBlbGV2YXRpb24uenVoYXVzZS5zdG9lcnQu bmV0IDQuNC1TVEFCTEUgRnJlZUJTRCA0LjQtU1RBQkxFICMzOiBUaHUgRGVjIDEzIDE2OjA4OjAy IENFVCAyMDAxIGNvcmVjb2RlQGVsZXZhdGlvbi56dWhhdXNlLnN0b2VydC5uZXQ6L3Vzci9vYmov dXNyL3NyYy9zeXMvRUxFVkFUSU9OIGkzODYKCgoJCj5EZXNjcmlwdGlvbjoKd21jdWJlLWdkayBp cyB2dWxuZXJhYmxlIHRvIGEgbG9jYWwgZXhwbG9pdCByZXN1bHRpbmcgaW4gcHJpb3JpdHkgZWxl dmF0aW9uICh0byBnaWQga21lbSkKCnNlZTogaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9h cmNoaXZlLzEvMjQ2MDMzCgoJCj5Ib3ctVG8tUmVwZWF0OgptYWtlICYgaW5zdGFsbCB3bWN1YmUt Z2RrCgkKPkZpeDoKCnRoZXJlIG1pZ2h0IHN0aWxsIGJlIHNvbWUgcHJvYmxlbXMgYXMgaSBkaWRu J3QgaGF2ZSBtdWNoIHRpbWUgdG8gYXVkaXQgdGhlIHNvdXJjZSBjb2RlLgpiZXR0ZXIgdGhhbiBu b3RoaW5nCgpkaWZmIC1ydU4gd21jdWJlLWdkay5vbGQvTWFrZWZpbGUgd21jdWJlLWdkay9NYWtl ZmlsZQotLS0gd21jdWJlLWdkay5vbGQvTWFrZWZpbGUJVHVlIERlYyAgNCAwMjowMDo0MyAyMDAx CisrKyB3bWN1YmUtZ2RrL01ha2VmaWxlCVR1ZSBEZWMgMTggMTQ6NDE6MzkgMjAwMQpAQCAtNyw2 ICs3LDcgQEAKIAogUE9SVE5BTUU9CXdtY3ViZQogUE9SVFZFUlNJT049CTAuOThwMQorUE9SVFJF VklTSU9OPQkxCiBDQVRFR09SSUVTPQlzeXN1dGlscyB3aW5kb3dtYWtlcgogTUFTVEVSX1NJVEVT PQlodHRwOi8vd3d3Lm5lLmpwL2FzYWhpL2xpbnV4L3RpbWVjb3Avc29mdHdhcmUvCiBQS0dOQU1F U1VGRklYPQktZ2RrCmRpZmYgLXJ1TiB3bWN1YmUtZ2RrLm9sZC9maWxlcy9wYXRjaC13bWN1YmUu YyB3bWN1YmUtZ2RrL2ZpbGVzL3BhdGNoLXdtY3ViZS5jCi0tLSB3bWN1YmUtZ2RrLm9sZC9maWxl cy9wYXRjaC13bWN1YmUuYwlUaHUgQXVnIDMwIDA2OjI0OjI1IDIwMDEKKysrIHdtY3ViZS1nZGsv ZmlsZXMvcGF0Y2gtd21jdWJlLmMJVHVlIERlYyAxOCAxNDozODo0MiAyMDAxCkBAIC0xLDEwICsx LDczIEBACi0tLS0gd21jdWJlLmMub3JpZwlUaHUgQXVnIDE2IDEzOjA0OjM4IDIwMDEKLSsrKyB3 bWN1YmUuYwlUaHUgQXVnIDE2IDEzOjA1OjAwIDIwMDEKLUBAIC0zOCw3ICszOCw2IEBACi0gI2lu Y2x1ZGUgPG1hdGguaD4KKy0tLSB3bWN1YmUuYy5vcmlnCVR1ZSBBdWcgMjggMTI6MDg6MTMgMjAw MQorKysrIHdtY3ViZS5jCVR1ZSBEZWMgMTggMTQ6Mzc6MjUgMjAwMQorQEAgLTM5LDcgKzM5LDYg QEAKICAKKyAjaWZkZWYgTElOVVgKICAvKiBmb3Jnb3R0ZW4gaW5jbHVkZXMgKi8KIC0jaW5jbHVk ZSA8Z2V0b3B0Lmg+CiAgI2luY2x1ZGUgPGRpcmVudC5oPgorICNlbmRpZgogIAotICNpbmNsdWRl IDxzeXMvd2FpdC5oPgorQEAgLTc3OCw3ICs3NzcsNyBAQAorIAluZXd4IC09IENIQVJfV0lEVEg7 CisgICAgIH0KKyAKKy0gICAgc3ByaW50ZihidWYsICIlMDJpJSUiLCBudW0pOworKyAgICBzbnBy aW50ZihidWYsIDUsICIlMDJpJSUiLCBudW0pOworICAgICBmb3IgKGkgPSAwOyAoYyA9IGJ1Zltp XSk7IGkrKykgeworIAlpZiAoYyA9PSAnJScpCisgCSAgICBjb3B5X3hwbV9hcmVhKDYwLCAwLCA3 LCA5LCBuZXd4LCB5KTsKK0BAIC0xMjUwLDcgKzEyNDksNyBAQAorIAlleGl0KDApOworICAgICB9 CisgCistICAgIGZzY2FuZihmcCwgIiVzIiwgdG1wKTsKKysgICAgZnNjYW5mKGZwLCAiJTYzcyIs IHRtcCk7CisgCisgICAgIGlmIChzdHJjbXAodG1wLCAiV01DVUJFX0NPT1JESU5BVEVTIikgIT0g MCkgeworIAlwcmludGYKK0BAIC0xMjU5LDcgKzEyNTgsNyBAQAorIAlleGl0KDApOworICAgICB9 CisgCistICAgIGZzY2FuZihmcCwgIiVzIiwgdG1wKTsKKysgICAgZnNjYW5mKGZwLCAiJTYzcyIs IHRtcCk7CisgICAgIGNvdW50ZXIgPSBhdG9pKHRtcCk7CisgCisgICAgIHdoaWxlICgoc3RyY21w KHRtcCwgIldNQ1VCRV9MSU5FUyIpICE9IDApCitAQCAtMTI4MCw3ICsxMjc5LDcgQEAKKyAJICAg IGZjbG9zZShmcCk7CisgCSAgICBleGl0KDApOworIAl9CistCWZzY2FuZihmcCwgIiVzIiwgdG1w KTsKKysJZnNjYW5mKGZwLCAiJTYzcyIsIHRtcCk7CisgCisgCWlmIChmZW9mKGZwKSkgeworIAkg ICAgcHJpbnRmCitAQCAtMTM5OCw3ICsxMzk3LDcgQEAKKyAgICAgY2hhciBjcHVpZFs2XTsKKyAg ICAgY2hhciBjaGVja19jcHVbNl07CisgCistICAgIHNwcmludGYoY2hlY2tfY3B1LCAiY3B1JWQi LCB3aGljaF9jcHUpOworKyAgICBzbnByaW50ZihjaGVja19jcHUsIDYsICJjcHUlZCIsIHdoaWNo X2NwdSk7CisgCisgICAgIGlmICgoZnAgPSBmb3BlbigiL3Byb2Mvc3RhdCIsICJyYiIpKSA9PSBO VUxMKSB7CisgCXBlcnJvcigiL3Byb2Mvc3RhdCByZXF1aXJlZCBmb3IgdGhpcyBzeXN0ZW0iKTsK K0BAIC0xNDA5LDcgKzE0MDgsNyBAQAorIAlyZXR1cm4gMDsKKyAKKyAgICAgZm9yIChpID0gLTI7 IGkgPCB3aGljaF9jcHU7IGkrKykgeworLQlmc2NhbmYoZnAsICIlcyIsIGNwdWlkKTsKKysJZnNj YW5mKGZwLCAiJTVzIiwgY3B1aWQpOworICAgICB9CisgCisgICAgIGlmIChzdHJjbXAoY2hlY2tf Y3B1LCBjcHVpZCkgIT0gMCkgeworQEAgLTE0MzEsNyArMTQzMCw3IEBACisgICAgIGZwID0gZm9w ZW4oIi9wcm9jL3N0YXQiLCAicnQiKTsKKyAKKyAgICAgZm9yIChpID0gLTI7IGkgPCB3aGljaF9j cHU7IGkrKykgeworLQlmc2NhbmYoZnAsICIlcyAlZCAlZCAlZCAlZCIsIGNwdWlkLCAmY3B1LCAm bmljZSwgJnN5c3RlbSwgJmlkbGUpOworKwlmc2NhbmYoZnAsICIlNXMgJWQgJWQgJWQgJWQiLCBj cHVpZCwgJmNwdSwgJm5pY2UsICZzeXN0ZW0sICZpZGxlKTsKKyAgICAgfQorIAorICAgICBmY2xv c2UoZnApOwoKCQoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IG1lc3NhZ2Uv cmZjODIyCkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9ImJ1Z3RyYXFfMjk1 Ni5lem0iCgpNZXNzYWdlLUlEOiA8MDAxMDAxYzE4N2NiJDBhODFlM2MwJGNlOWMyYmQ1QHRzPgpS ZXBseS1UbzogIlRhbWVyIFNhaGluIiA8dHNAc2VjdXJpdHlvZmZpY2UubmV0PgpGcm9tOiAiVGFt ZXIgU2FoaW4iIDx0c0BzZWN1cml0eW9mZmljZS5uZXQ+ClRvOiA8YnVndHJhcUBzZWN1cml0eWZv Y3VzLmNvbT4KU3ViamVjdDogQWt0aXZhdGUgU2hvcHBpbmcgU3lzdGVtIENyb3NzIFNpdGUgU2Ny aXB0aW5nIFZ1bG5lcmFiaWxpdHkKRGF0ZTogVHVlLCAxOCBEZWMgMjAwMSAxNTo1MTowNSArMDIw MApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47CgljaGFyc2V0PSJp c28tODg1OS0xIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CgotLS0tLUJFR0lOIFBH UCBTSUdORUQgTUVTU0FHRS0tLS0tCkhhc2g6IFNIQTEKCkFrdGl2YXRlIFNob3BwaW5nIFN5c3Rl bSBDcm9zcyBTaXRlIFNjcmlwdGluZyBWdWxuZXJhYmlsaXR5CgpUeXBlOgpDcm9zcyBTaXRlIFNj cmlwdGluZwoKUmVsZWFzZSBEYXRlOgpEZWNlbWJlciAxOCwgMjAwMQoKUHJvZHVjdCAvIFZlbmRv cjoKQWt0aXZhdGUgaXMgYSBjb21wbGV0ZSwgZW5kLXRvLWVuZCBlLWNvbW1lcmNlIHNvbHV0aW9u IGFpbWVkIGF0IExpbnV4CmFuZCBvdGhlciBVbmljZXMuIEFrdGl2YXRlIGlzIHRhcmdldGVkIGF0 IHNtYWxsIHRvIG1lZGl1bSBzaXplZApidXNpbmVzc2VzIG9yIGNoYXJpdGllcyB3aG8gd2FudCB0 byBhY2NlcHQgY3JlZGl0IGNhcmQgcGF5bWVudHMgb3Zlcgp0aGUgd2ViLgoKaHR0cDovL3d3dy5h bGxlbi1rZXVsLmNvbS9ha3RpdmF0ZS8KClN1bW1hcnk6CkNyb3NzIFNpdGUgU2NyaXB0aW5nLCBt b3N0IGR5bmFtaWMgd2Vic2l0ZXMgYXJlIHN0aWxsIG5vdCBmaWx0ZXJpbmcKdXNlciBpbnB1dC4g VGhpcyBsZXRzIHJlbW90ZSBzaXRlcyBhY2Nlc3MgdG8gd3JpdGUgc2NyaXB0cyBvbgp2dWxuZXJh YmxlIHNpdGVzICYgYXBwbGljYXRpb24sIHN0ZWFsaW5nIGNvb2tpZXMsIHBlcmZvcm1pbmcgYWN0 aW9ucwpvbiBiZWhhbGYgb2YgdXNlciBvciBtb2RpZnlpbmcgbG9vayBvZiBjb250ZW50IG9uIHNp dGUuCgpodHRwczovL2hvc3QvYWt0aXZhdGUvY2dpLWJpbi9jYXRneS5jZ2k/a2V5PTAmY2FydG5h bWU9YXhhMjAwMTM1MDIyNTUxCjA4OSZkZXNjPTxJTUclMjBoZWlnaHQ9NDclMjBzcmM9Imh0dHA6 Ly93d3cudGFtZXJzYWhpbi5uZXQvaW1hZ2VzL3RpdGwKZS5naWYiJTIwd2lkdGg9NDA2JTIwYm9y ZGVyPTA+CgpodHRwczovL2hvc3QvYWt0aXZhdGUvY2dpLWJpbi9jYXRneS5jZ2k/a2V5PTAmY2Fy dG5hbWU9YXhhMjAwMTM1MDIyNTUxCjA4OSZkZXNjPTxzY3JpcHQ+YWxlcnQoZG9jdW1lbnQuZG9t YWluKTwvc2NyaXB0PgoKVGVzdGVkOgpBa3RpdmF0ZSAxLjAzCgpWdWxuZXJhYmxlOgpBa3RpdmF0 ZSAxLjAzIChBbmQgbWF5IGJlIG90aGVyKQoKRGlzY2xhaW1lcjoKaHR0cDovL3d3dy5zZWN1cml0 eW9mZmljZS5uZXQgaXMgbm90IHJlc3BvbnNpYmxlIGZvciB0aGUgbWlzdXNlIG9yCmlsbGVnYWwg dXNlIG9mIGFueSBvZiB0aGUgaW5mb3JtYXRpb24gYW5kL29yIHRoZSBzb2Z0d2FyZSBsaXN0ZWQg b24KdGhpcyBzZWN1cml0eSBhZHZpc29yeS4KCkF1dGhvcjoKVGFtZXIgU2FoaW4KdHNAc2VjdXJp dHlvZmZpY2UubmV0Cmh0dHA6Ly93d3cuc2VjdXJpdHlvZmZpY2UubmV0CgpUYW1lciBTYWhpbgpo dHRwOi8vd3d3LnNlY3VyaXR5b2ZmaWNlLm5ldApQR1AgS2V5IElEOiAweDJCNUVEQ0IwIEZpbmdl cnByaW50OgpCOTZBIDVERkMgRTBEOSBENjE1IDhEMjggN0ExQiBCQjhCIEE0NTMgMkI1RSBEQ0Iw CgotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQpWZXJzaW9uOiBQR1BmcmVld2FyZSA2LjUu MyBmb3Igbm9uLWNvbW1lcmNpYWwgdXNlIDxodHRwOi8vd3d3LnBncC5jb20+CgppUUEvQXdVQlBC OHRxYnVMcEZNclh0eXdFUUprdHdDZmZZSHJlTFd1c25YOVlNdTlVSURVS09ONjgxUUFuaVZLCkJ6 ZWpBZ2FEY205S1Q2N29nZk1aRDc1ego9YkVaaQotLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0K CgoKCgoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IG1lc3NhZ2UvcmZjODIy CkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9ImJ1Z3RyYXFfMjk1Ny5lem0i CgpGcm9tOiAiQnJpY2UgQ2FybHNvbiIgPHR1Y2sxNjdAaG90bWFpbC5jb20+ClRvOiBidWd0cmFx QHNlY3VyaXR5Zm9jdXMuY29tClN1YmplY3Q6IEZUUFhRIGRlZmF1bHQgaW5zdGFsbCByZWFkL3dy aXRlIGNhcGFiaWxpdGllcwpEYXRlOiBUdWUsIDE4IERlYyAyMDAxIDIyOjU4OjAyIC0wNTAwCk1p bWUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgZm9ybWF0PWZsb3dlZApN ZXNzYWdlLUlEOiA8RjEzM21OVGY4NkQzUmVxZERCYzAwMDA3MjNhQGhvdG1haWwuY29tPgoKRlRQ WFEgZGVmYXVsdCBpbnN0YWxsIHJlYWQvd3JpdGUgY2FwYWJpbGl0aWVzCmJ5IEJyaWNlIENhcmxz b24KCgoqKioqClN5c3RlbQoqKioqCmZ0cFhRIGJ5IHd3dy5kYXRhd2l6YXJkLm5ldAoKKioqKgpQ cm9ibGVtCioqKioKVXBvbiBkZWZhdWx0IHNldHVwLiBUaHJvdWdoIGFub255bW91cyBhbmQgdGhy b3VnaCB0aGUgdXNlciBuYW1lIGFuZCBwYXNzIG9mIAp0ZXN0IHlvdSBoYXZlIHJlYWQvd3JpdGUg Y2FwYWJpbGl0aWVzIHRvIGRyaXZlIGM6CgoqKioqClZlbmRvciBOb3RpZmljYXRpb24gRGF0ZS4K KioqKgoKRGVjZW1iZXIgNCwgMjAwMQoKKioqKgpWZW5kb3IgUmVzcG9uc2UgdG8gZW1haWwuCioq KioKCkhpIEJyaWNlLCBZZXMsIHRob3NlIElEcyBhcmUgY29uZmlndXJlZCBieSBkZWZhdWx0IHRv IGhhdmUgYWNjZXNzIGZvciB0aGUgCkM6XCBkcml2ZSBmb3IgdGhlIHB1cnBvc2Ugb2YgYW4gYWRt aW5pc3RyYXRvciB0ZXN0aW5nIHRoZSBzZXJ2ZXIuIFdlIGFzc3VtZSAKdGhhdCBldmVyeSByZXNw b25zaWJsZSBhZG1pbmlzdHJhdG9yIHdpbGwgcnVuIHRoZSBzZXJ2ZXIgZmlyc3QgaW4gYSB0ZXN0 IAplbnZpcm9ubWVudCwgYW5kIG5vdCBpbiBhIHByb2R1Y3Rpb24gc2V0dGluZywgb3Igb24gYW4g SVAgdGhhdCBpcyBleHBvc2VkIHRvIAp0aGUgaW50ZXJuZXQuIEFkbWluaXN0cmF0b3JzIHNob3Vs ZCBvYnZpb3VzbHkgY2hhbmdlIHRoZSBhY2Nlc3MgZm9yIGJvdGggb2YgCnRoZXNlIGFjY291bnRz IGFuZC9vciBjaGFuZ2UgdGhlIFVzZXIgSURzIGJlZm9yZSBwdXR0aW5nIGl0IGludG8gYSAKcHJv ZHVjdGlvbiBlbnZpcm9ubWVudC4gQXMgYSByZXN1bHQgb2YgeW91ciBlbWFpbCBob3dldmVyLCB3 ZSB3aWxsIGNoYW5nZSAKdGhlIGRlZmF1bHQgYWNjZXNzIGZvciB0aGUgYW5vbnltb3VzIHVzZXIg dG8gYmUgcmVhZCBvbmx5LCBhcyB3ZWxsIGFzIHBvc3QgYSAKbWVzc2FnZSBhdCB0aGUgZW5kIG9m IHRoZSBpbnN0YWxsIG5vdGluZyB0aGUgZGVmYXVsdCBhY2Nlc3MgZm9yIHRoZSB0ZXN0IAp1c2Vy cy4gU2luY2VyZWx5LCBSYWhpbQoKUmFoaW0gTWF3amkgRGlyZWN0b3IsCkFwcGxpY2F0aW9ucyBE ZXZlbG9wbWVudApEYXRhV2l6YXJkIFRlY2hub2xvZ2llcwpQaG9uZTogKDQxNikgMzg1LTk3NDEs IHgxMDEzCkZheDogKDQxNikgMzg1LTk3ODQKcm1hd2ppQGRhdGF3aXphcmQubmV0IHd3dy5kYXRh d2l6YXJkLm5ldAoKLS0tZW5kIHZlbmRvciByZXNwb25zZQoKKioqKgpFbm91Z2ggU2FpZCEKKioq KgoKCi0tIEJyaWNlIENhcmxzb24KLS0gdHVjazE2N0Bob3RtYWlsLmNvbQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR2V0 IHlvdXIgRlJFRSBkb3dubG9hZCBvZiBNU04gRXhwbG9yZXIgYXQgaHR0cDovL2V4cGxvcmVyLm1z bi5jb20vaW50bC5hc3AuCgoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IG1l c3NhZ2UvcmZjODIyCkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9ImJ1Z3Ry YXFfMjk1OC5lem0iCgpGcm9tOiAiTWF0dGlhcyBfIiA8c3VycmUxQGhvdG1haWwuY29tPgpUbzog YnVndHJhcUBzZWN1cml0eWZvY3VzLmNvbQpTdWJqZWN0OiBQcm9GVFBEIC0gUHJvYmxlbXMgaW4g ZmlsZSBnbG9iYmluZywgZ2l2ZXMgc2VnbWVudGF0aW9uIGZhdWx0LgpEYXRlOiBXZWQsIDE5IERl YyAyMDAxIDE0OjIyOjQwICswMTAwCk1pbWUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgZm9ybWF0PWZsb3dlZApNZXNzYWdlLUlEOiA8RjEyM0ZKTWY4VG0zdjY0MFphMDAw MDAwNmVhQGhvdG1haWwuY29tPgoKU1VNTUFSWQo9PT09PT09CkEgcHJvYmxlbSBpbiBoYW5kbGlu ZyBmaWxlIGdsb2JiaW5nIGV4aXN0cyBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFByb0ZUUEQK MS4yLjQgKGJ1dCBpdJJzIGZpeGVkIGluIHRoZSBDYW5kaWRhdGUgdmVyc2lvbjogMS4yLjVyYzEp LiBUaGlzCmlzIHZlcnkgc2ltaWxhciB0byB0aGUgd3UtZnRwZCBidWcgKJNscyB+e5QpIGFuZCBv Y2N1cnMgd2hlbiB5b3UgaXNzdWUKdGhlIGNvbW1hbmQ6IGxzIC8vLy8vLy8vLy8vICgxMSBvciBt b3JlIJEvkikuIEkgaGF2ZW6SdCBmaWd1cmVkIG91dCBpZgppdJJzIGV4cGxvaXRhYmxlLiBUaGF0 knMgd2h5IEkgcG9zdCBpdCB0byB5b3UgZ3V5cy4gOi0pCgpBRkZFQ1RFRCBWRVJTSU9OUwo9PT09 PT09PT09PT09PT09PQpQcm9GVFBEIDEuMi40ClByb0ZUUEQgMS4yLjJyYzMKKE90aGVycyBtYXkg YmUgYWZmZWN0ZWQgYXMgd2VsbC4pCgpTWVNURU1TCj09PT09PT0KVGhpcyBpcyB0ZXN0ZWQgb24g U2xhY2t3YXJlIDguCgpJTVBBQ1QKPT09PT09ClRoZSBmdHBkLWNoaWxkIGRpZXMgd2l0aCBzaWdu YWwgMTEgKFNFR1YpLCBidXQgdGhlIHNlcnZlciBzdGF5cyB1cC4KVGhlIHF1ZXN0aW9uIGlzIGlm IGl0knMgcG9zc2libGUgdG8gZG8gc29tZXRoaW5nIG5hc3R5IHdpdGggdGhpcyE/CgpERVRBSUxT Cj09PT09PT0KVGhlIFNlZ21lbnRhdGlvbiBGYXVsdCBvY2N1cnMgd2hlbiB0aGUgc2VydmVyIHRy aWVzIHRvIGZyZWUgYQp1bmFsbG9jYXRlZCBtZW1vcnkgd2l0aCBhIGZyZWUoKS1mdW5jdGlvbiBh bmQgaXQgY291bGQgYmUgYSBoZWFwCmNvcnJ1cHRpb24gdnVsbmVyYWJpbGl0eS4gSXSScyBpbiB0 aGUgZmlsZSBsaWIvZ2xpYmMtZ2xvYi5jIGluIGZ1bmN0aW9uCnZvaWQgZ2xvYmZyZWUgKHBnbG9i KSB0aGUgU0VHViBvY2N1cnMuCgpIZXJlIGlzIGhvdyBJIHRlc3RlZCBpdC4KTG9naW4gYXMgZnRw KGFub255bW91cykgYW5kIGlzc3VlIHRoZSBjb21tYW5kOgpmdHA+IGxzIC8vLy8vLy8vLy8vCjIw MCBQT1JUIGNvbW1hbmQgc3VjY2Vzc2Z1bC4KMTUwIE9wZW5pbmcgQVNDSUkgbW9kZSBkYXRhIGNv bm5lY3Rpb24gZm9yIGZpbGUgbGlzdC4KNDIxIFNlcnZpY2Ugbm90IGF2YWlsYWJsZSwgcmVtb3Rl IHNlcnZlciBoYXMgY2xvc2VkIGNvbm5lY3Rpb24KZnRwPgoKQW5kIHRoZSBkZWJ1ZyBtZXNzYWdl cyByZWFkcyAocHJvZnRwZCAtbiAtZCA1KToKZGlzcGF0Y2hpbmcgUFJFX0NNRCBjb21tYW5kICdM SVNUIC8vLy8vLy8vLy8vJyB0byBtb2RfY29yZQpkaXNwYXRjaGluZyBDTUQgY29tbWFuZCAnTElT VCAvLy8vLy8vLy8vLycgdG8gbW9kX2xzCmFjdGl2ZSBkYXRhIGNvbm5lY3Rpb24gb3BlbmVkIC0g bG9jYWwgOiAxMjcuMC4wLjE6MjAKYWN0aXZlIGRhdGEgY29ubmVjdGlvbiBvcGVuZWQgLSByZW1v dGUgOiAxMjcuMC4wLjE6MTI4NgppbiBkaXJfY2hlY2tfZnVsbCgpOiBwYXRoID0gJy8nLCBmdWxs cGF0aCA9ICcvaG9tZS9mdHAvJy4KUHJvRlRQRCB0ZXJtaW5hdGluZyAoc2lnbmFsIDExKQoKVkVO RE9SIFJFU1BPTlNFCj09PT09PT09PT09PT09PQpUaGlzIHByb2JsZW0gaGFzIGJlZW4gcmVwb3J0 ZWQgdG8gUHJvRlRQRCBCdWcgVHJhY2tpbmcgU3lzdGVtLiBJdCBoYXMKYWxzbyBiZWVuIHJlcG9y dGVkIHRvIHNlY3VyaXR5QHByb2Z0cGQub3JnIHdoZXJlIHRoZXkgYXNrZWQgbWUgdG8gd2FpdApw b3N0aW5nIHRoaXMgdW50aWwgdGhleSByZWxlYXNlIHZlcnNpb24gMS4yLjVyYzEuCgpTT0xVVElP Tgo9PT09PT09PQpVcGdyYWRlIHRvIHZlcnNpb24gMS4yLjVyYzEuCgpSRUZFUkVOQ0VTCj09PT09 PT09PT0KUHJvRlRQRCAoR2V0IHRoZSBsYXRlc3QgdmVyc2lvbikKaHR0cDovL3d3dy5wcm9mdHBk Lm9yZwoKUHJvRlRQRCBCdWcgVHJhY2tpbmcgU3lzdGVtIChXaGVyZSBpdCB3YXMgZmlyc3QgcmVw b3J0ZWQpOgpodHRwOi8vYnVncy5wcm9mdHBkLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNgoKSW5m b3JtYXRpb24gYWJvdXQgdGhlIHd1LWZ0cGQgcHJvYmxlbToKaHR0cDovL3d3dy5jb3Jlc3QuY29t CgpDT01NRU5UUwo9PT09PT09PQpUaGlzIGlzIG15IGZpcnN0IHBvc3QgdG8gQnVndHJhcSwgYmUg bmljZSB0byBtZS4uLgoKUmVnYXJkcywKTWF0dGlhcwoKc3VycmUxQGhvdG1haWwuY29tCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSm9pbiB0aGUgd29ybGSScyBsYXJnZXN0IGUtbWFpbCBzZXJ2aWNlIHdpdGggTVNOIEhv dG1haWwuIApodHRwOi8vd3d3LmhvdG1haWwuY29tCgoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpD b250ZW50LVR5cGU6IG1lc3NhZ2UvcmZjODIyCkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsg ZmlsZW5hbWU9ImJ1Z3RyYXFfMjk2Mi5lem0iCgpEYXRlOiBXZWQsIDE5IERlYyAyMDAxIDExOjI1 OjU5IC0wNTAwCkZyb206IEVkc2VsIEFkYXAgPGVkc2VsQGFkYXAub3JnPgpUbzogTWF0dGlhcyBf IDxzdXJyZTFAaG90bWFpbC5jb20+CkNjOiBidWd0cmFxQHNlY3VyaXR5Zm9jdXMuY29tClN1Ympl Y3Q6IFJlOiBQcm9GVFBEIC0gUHJvYmxlbXMgaW4gZmlsZSBnbG9iYmluZywgZ2l2ZXMgc2VnbWVu dGF0aW9uIGZhdWx0LgpNZXNzYWdlLUlEOiA8MjAwMTEyMTkxMTI1NTkuRDcwMzhAYWRhcC5vcmc+ Ck1pbWUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28t ODg1OS0xCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCk9uIFdlZCwgRGVjIDE5LCAy MDAxIGF0IDAyOjIyOjQwUE0gKzAxMDAsIE1hdHRpYXMgXyB3cm90ZToKPiAxLjIuNCAoYnV0IGl0 knMgZml4ZWQgaW4gdGhlIENhbmRpZGF0ZSB2ZXJzaW9uOiAxLjIuNXJjMSkuIFRoaXMKPiBpcyB2 ZXJ5IHNpbWlsYXIgdG8gdGhlIHd1LWZ0cGQgYnVnICiTbHMgfnuUKSBhbmQgb2NjdXJzIHdoZW4g eW91IGlzc3VlCj4gdGhlIGNvbW1hbmQ6IGxzIC8vLy8vLy8vLy8vICgxMSBvciBtb3JlIJEvkiku IEkgaGF2ZW6SdCBmaWd1cmVkIG91dCBpZgo+IGl0knMgZXhwbG9pdGFibGUuIFRoYXSScyB3aHkg SSBwb3N0IGl0IHRvIHlvdSBndXlzLiA6LSkKPiAKPiBBRkZFQ1RFRCBWRVJTSU9OUwo+ID09PT09 PT09PT09PT09PT09Cj4gUHJvRlRQRCAxLjIuNAo+IFByb0ZUUEQgMS4yLjJyYzMKPiAoT3RoZXJz IG1heSBiZSBhZmZlY3RlZCBhcyB3ZWxsLikKPiAKPiBTWVNURU1TCj4gPT09PT09PQo+IFRoaXMg aXMgdGVzdGVkIG9uIFNsYWNrd2FyZSA4LgoKSSB0ZXN0ZWQgdGhpcyBvbiBEZWJpYW4gMi4yIHdp dGggcHJvZnRwZCAxLjIuMHByZTEwIGFuZCBpdCBkb2Vzbid0IHNlZW0KdG8gYmUgdnVsbmVyYWJs ZS4KCi0taGZmZmpkbGFramZoZW5tYWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpD b250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NTkuZXptIgoK TWVzc2FnZS1JRDogPDNDMUU2ODEzLjUwODA5QGltbXV0ZWMuY29tPgpEYXRlOiBNb24sIDE3IERl YyAyMDAxIDEzOjQ4OjAzIC0wODAwCkZyb206IFN0ZXBoYW4gSG9sdHdpc2NoIDxzaEBpbW11dGVj LmNvbT4KTUlNRS1WZXJzaW9uOiAxLjAKVG86IGJ1Z3RyYXFAc2VjdXJpdHlmb2N1cy5jb20KU3Vi amVjdDogTUFHSUMgRW50ZXJwcmlzZSBNdWx0aXBsZSBWdWxuZXJhYmlsaXRpZXMKQ29udGVudC1U eXBlOiBtdWx0aXBhcnQvbWl4ZWQ7CiBib3VuZGFyeT0iLS0tLS0tLS0tLS0tMDkwNDA4MDcwNDA5 MDIwMjA2MDYwMzA2IgoKLS0tLS0tLS0tLS0tLS0wOTA0MDgwNzA0MDkwMjAyMDYwNjAzMDYKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOwogbmFtZT0iU0EtTUFHSUMtMDAxLTAyLnR4dC5hc2MiCkNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5l OwogZmlsZW5hbWU9IlNBLU1BR0lDLTAwMS0wMi50eHQuYXNjIgoKLS0tLS1CRUdJTiBQR1AgU0lH TkVEIE1FU1NBR0UtLS0tLQpIYXNoOiBTSEExCgogICAgICAgICAgICAgICAgICAgICAgICAKaW1t dXRlYyBTZWN1cml0eSBBZHZpc29yeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCklE OiAgICAgICBTQS1NQUdJQy0wMDEKRGF0ZTogICAgIDIwMDEvMTIvMTcKVmVyc2lvbjogIDAuMgoK TWFnaWMgRW50ZXJwcmlzZSBtdWx0aXBsZSB2dWxuZXJhYmlsaXRpZXMKCgoKQWZmZWN0ZWQgU29m dHdhcmUvU3lzdGVtOgo9PT09PT09PT09PT09PT09PT09PT09PT09CgogIFZlbmRvciAgICA6IE1h Z2ljIFNvZnR3YXJlIChodHRwOi8vd3d3Lm1hZ2ljc29mdHdhcmUuY29tKQogIFByb2R1Y3QgICA6 IE1hZ2ljIEVudGVycHJpc2UgRWRpdGlvbgogIFZlcnNpb24gICA6IDguMzAtNSBhbmQgcHJpb3Is IDkueCBub3QgZnVsbHkgdGVzdGVkCiAgUGxhdGZvcm0gIDogU29sYXJpcywgTGludXgsIEFJWCwg SFAvVVgsIFNDTywgRGlnaXRhbCBVbml4LCBBUy80MDAsIE5UCgoKVnVsbmVyYWJpbGl0eSBUeXBl czoKPT09PT09PT09PT09PT09PT09PT0KCiAgTWVtb3J5IENvcnJ1cHRpb24gICAgICAgOiByZW1v dGUvbG9jYWwKICBTaGVsbCBDb21tYW5kIEV4ZWN1dGlvbiA6IGxvY2FsCiAgVGVtcG9yYXJ5IEZp bGUgSGFuZGxpbmcgOiBsb2NhbAogIEluc2VjdXJlIFBlcm1pc3Npb25zICAgIDogbG9jYWwgKGZp bGVzeXN0ZW0pCgoKUHJvZHVjdCBEZXNjcmlwdGlvbjoKPT09PT09PT09PT09PT09PT09PT0KCiAg VGhlIE1hZ2ljIEVudGVycHJpc2UgRWRpdGlvbiBWZXJzaW9uIDggaXMgYSBtdWx0aS1wbGF0Zm9y bSwgZmxleGlibGUKICBhcHBsaWNhdGlvbiB3aGljaCBzdXBwb3J0cyB3ZWxsIGtub3duIHdlYiBi cm93c2Vycywgd2ViIHNlcnZlcnMsCiAgYXBwbGljYXRpb24gc2VydmVycyBhbmQgZGF0YWJhc2Vz LiBNYWdpYyB2OCBnaXZlcyBhIGRldmVsb3BlciB0aGUgCiAgYWJpbGl0eSB0byBjcmVhdGUgcG9y dGFibGUgYW5kIHNjYWxhYmxlIGNsaWVudC0vc2VydmVyLWJhc2VkIG9yIAogIHdlYi1iYXNlZCBh cHBsaWNhdGlvbnMuCgogIE1hZ2ljIGlzIHVzZWQgYnkgaW1wb3J0YW50IGVDb21tZXJjZSBzaXRl cywgcGF5bWVudCBzeXN0ZW1zLCBiYW5rcywgYmlnCiAgYXV0b21vYmlsZSBjb21wYW5pZXMgYW5k IGV2ZW4gb24gZ292ZXJubWVudCBzZXJ2ZXJzLgoKClZ1bG5lcmFiaWxpdHkgRGVzY3JpcHRpb246 Cj09PT09PT09PT09PT09PT09PT09PT09PT09CgogIFNlcnZlcmFsIHNlY3VyaXR5IGhvbGVzIHdl cmUgZm91bmQgaW4gTWFnaWMgRW50ZXJwcmlzZSBFZGl0aW9uIFZlcnNpb24gOAogIChTb2xhcmlz KSB3aGlsZSBkb2luZyBhIHBlbmV0cmF0aW9uIHRlc3QgZm9yIGEgY3VzdG9tZXIuCiAgSW4gZGVw dGggYW5hbHlzaXMgd2FzIHBlcmZvcm1lZCBmb3IgdGhlIExpbnV4IHZlcnNpb24uIFZlcnNpb24g OSB3YXMgbm90CiAgZnVsbHkgdGVzdGVkLCBidXQgYXQgbGVhc3Qgc29tZSBpc3N1ZXMgd2VyZSBh bHNvIHZlcmlmaWVkIGZvciBWZXJzaW9uIDkuCgogIGEuKSAgTWVtb3J5IENvcnJ1cHRpb246IHJl bW90ZQoKICBUaGUgQ0dJIGV4ZWN1dGFibGUgJ21ncnFjZ2knIGlzIHVzZWQgYXMgYSBraW5kIG9m IGdhdGV3YXkgdG8gaGFuZGxlIAogIGRpZmZlcmVudCB0YXNrcy4KICAKICBtZ3JxY2dpIHJlYWRz IGRpZmZlcmVudCB2YXJpYWJsZXMgZnJvbSB0aGUgUVVFUllfU1RSSU5HIGVudmlyb25tZW50CiAg dmFyaWFibGUsIHdoaWNoIGlzIHNldCBieSB0aGUgSFRUUCBzZXJ2ZXIuCiAgVGhlIG5hbWVzIG9m IHRoZSB2YXJpYWJsZXM6CgogICAgKyBBUFBOQU1FCiAgICArIFBSR05BTUUKICAgICsgQVJHVU1F TlRTCiAgICArIFBhZ2VJRAogICAgKyBtZ2FjdGlvbgogICAgKyBIX1Nob3BJRAogICAgKyBIX1NJ RAogICAgKyBIX1dJRAogICAgKyBIX0lORgogICAgKyBhbmQgbXVjaCBtb3JlCgogIFRoZSB2YXJp YWJsZSBkYXRhIGlzIGNvcGllZCBpbnRvIGxvY2FsIHZhcmlhYmxlcyB1c2luZyB0aGUgbm9uLWJv dW5kCiAgY2hlY2tpbmcgbGlicmFyeSBmdW5jdGlvbiBzdHJjcHkoMykuCiAgVGhpcyBjYW4gYmUg ZWFzaWx5IHZlcmlmaWVkIGJ5IHRyaWdnZXJpbmcgdGhlIG92ZXJmbG93IHVzaW5nIGEgc3RhbmRh cnQgCiAgd2ViIGJyb3dzZXIuIE92ZXJ3cml0aW5nIHRoZSBtZW1vcnkgZm9yIEFQUE5BTUUgYnl0 ZXdpc2UgcmVzdWx0cyBpbiAKICBvdmVyd3JpdGluZyBQUkdOQU1FIGlucHV0IHVudGlsIGFuIGlu dGVybmFsIHNlcnZlciBlcnJvciBvY2N1cnMuCgogIEF0dGFjaGVkIGx0cmFjZSBvdXRwdXQgKGNv bW1lbnRzIGluY2x1ZGVkIGluIFtdKToKCiAgICBbLi4uXQogCiAgICAxNzowMDowMy43Njk1MDkg WzA4MDQ5Nzk0XSBnZXRlbnYoIlJFUVVFU1RfTUVUSE9EIikgPSAiR0VUIgogICAgMTc6MDA6MDMu NzY5NjgwIFswODA0OTdhZV0gc3RyY21wKCJHRVQiLCAiUE9TVCIpICA9IC05CiAgICAxNzowMDow My43Njk4MTcgWzA4MDQ5N2NlXSBzdHJjbXAoIkdFVCIsICJHRVQiKSAgID0gMAoKCiAgICBbUVVF UllfU1RSSU5HIHJlYWQgYW5kIHNwbGl0dGVkIHVwXQoKICAgIDE3OjAwOjAzLjc2OTk0MiBbMDgw NDk5MTVdIGdldGVudigiUVVFUllfU1RSSU5HIikgPQogICAgIkFQUE5BTUU9dGVzdCZQUkdOQU1F PUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCiAgICBBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUEKICAgIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFBQUFBIgogICAgMTc6MDA6 MDMuNzcwNjg3IFswODA0OWI4MV0gc3RyY2hyKCJBUFBOQU1FPXRlc3QmUFJHTkFNRT1BQUFBQUFB QUFBQUFBCiAgICBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKICAgIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIKICAgICwnPScpID0gIj10ZXN0 JlBSR05BTUU9QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQog ICAgQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBCiAgICBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKICAgIEFBQUFBQUFBQUFBQUFBQUEiCiAg ICAxNzowMDowMy43NzI0NDMgWzA4MDQ5YmI3XSBzdHJjaHIoInRlc3QmUFJHTkFNRT1BQUFBQUFB QUFBQUFBQUFBQUFBQUEKICAgIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCiAgICBBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIsCiAgICAnJicpID0gIiZQUkdO QU1FPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEK ICAgIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCiAgICBBQUFBQUFBQUFBIgogICAgMTc6 MDA6MDMuNzczNzEzIFswODA0OWRmM10gbWFsbG9jKDgpICAgICAgICAgICAgICA9IDB4MDgwNzc0 NTgKICAgIDE3OjAwOjAzLjc3MzgxMSBbMDgwNDlkMzBdIHJlYWxsb2MoTlVMTCwgOCkgICAgICAg PSAweDA4MDc3NDY4CiAgICAxNzowMDowMy43NzM5MjkgWzA4MDQ5ZGYzXSBtYWxsb2MoNikgICAg ICAgICAgICAgID0gMHgwODA3NzQ3OAoKCiAgICBbdmFyaWFibGUgbmFtZSBzZXBlcmF0ZWQgZnJv bSB2YXJpYWJsZSBkYXRhXQoKICAgIDE3OjAwOjAzLjc3NDAyNSBbMDgwNDliODFdIHN0cmNocigi UFJHTkFNRT1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCiAgICBB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUEKICAgIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIsCiAg ICAnPScpID0gIj1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUEKICAgIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCiAgICBBQSIK ICAgIDE3OjAwOjAzLjc3NjM1MyBbMDgwNDliYjddIHN0cmNocigiQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQQogICAgQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCiAgICBBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKICAgIEFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiLAogICAgJyYnKSA9IE5VTEwKICAgIDE3OjAwOjAz Ljc3NzAxNSBbMDgwNDliZjBdIHN0cmxlbigweGJmZmZmYTJhLCAweDA4MDQ5OGY4LCAweDQwMDE0 Y2U0LAogICAgMHgwODA3NzQ1OCwgMHgwODA2MTNkOCkgPSAyMDAKICAgIDE3OjAwOjAzLjc3NzE1 NyBbMDgwNDlkZjNdIG1hbGxvYyg4KSAgICAgICAgICAgICAgPSAweDA4MDc3NDg4CiAgICAxNzow MDowMy43NzcyNTMgWzA4MDQ5ZDMwXSByZWFsbG9jKDB4MDgwNzc0NjgsIDE2KSA9IDB4MDgwNzc0 OTgKICAgIDE3OjAwOjAzLjc3Nzk3NCBbMDgwNDlkZjNdIG1hbGxvYygyMDIpICAgICAgICAgICAg PSAweDA4MDc3NGIwCiAgICAxNzowMDowMy43NzgwNzcgWzA4MDRhY2RmXSBtYWxsb2MoMzIpICAg ICAgICAgICAgID0gMHgwODA3NzU4MAogICAgMTc6MDA6MDMuNzc4MTkxIFswODA0YWNmNF0gbWVt c2V0KDB4MDgwNzc1ODAsICdcMDAwJywgMzIpID0gMHgwODA3NzU4MAoKCiAgICBbdmFyaWFibGUg bmFtZSBtYWRlIHVwcGVyIGNhc2VdCgogICAgMTc6MDA6MDMuNzc4MzAyIFswODA0ZGNlY10gdG91 cHBlcignQScpICAgICAgICAgICA9ICdBJwogICAgMTc6MDA6MDMuNzc4NDEzIFswODA0ZGNmZF0g dG91cHBlcignQycpICAgICAgICAgICA9ICdDJwogICAgMTc6MDA6MDMuNzc4NTIxIFswODA0ZGQx Y10gdG91cHBlcignQScpICAgICAgICAgICA9ICdBJwogICAgMTc6MDA6MDMuNzc4Nzg1IFswODA0 ZGQyZF0gdG91cHBlcignQycpICAgICAgICAgICA9ICdDJwogICAgMTc6MDA6MDMuNzc4ODkyIFsw ODA0ZGNlY10gdG91cHBlcignQScpICAgICAgICAgICA9ICdBJwogICAgMTc6MDA6MDMuNzc4OTk5 IFswODA0ZGNmZF0gdG91cHBlcignQScpICAgICAgICAgICA9ICdBJwogICAgMTc6MDA6MDMuNzc5 MTA3IFswODA0ZGNlY10gdG91cHBlcignUCcpICAgICAgICAgICA9ICdQJwogICAgMTc6MDA6MDMu Nzc5MjEzIFswODA0ZGNmZF0gdG91cHBlcignUCcpICAgICAgICAgICA9ICdQJwogICAgMTc6MDA6 MDMuNzc5MzIwIFswODA0ZGNlY10gdG91cHBlcignUCcpICAgICAgICAgICA9ICdQJwogICAgMTc6 MDA6MDMuNzc5NDI3IFswODA0ZGNmZF0gdG91cHBlcignUCcpICAgICAgICAgICA9ICdQJwogICAg MTc6MDA6MDMuNzc5NTM0IFswODA0ZGNlY10gdG91cHBlcignTicpICAgICAgICAgICA9ICdOJwog ICAgMTc6MDA6MDMuNzc5NjQxIFswODA0ZGNmZF0gdG91cHBlcignTicpICAgICAgICAgICA9ICdO JwogICAgMTc6MDA6MDMuNzc5NzQ4IFswODA0ZGNlY10gdG91cHBlcignQScpICAgICAgICAgICA9 ICdBJwogICAgMTc6MDA6MDMuNzc5ODU0IFswODA0ZGNmZF0gdG91cHBlcignQScpICAgICAgICAg ICA9ICdBJwogICAgMTc6MDA6MDMuNzc5OTYyIFswODA0ZGNlY10gdG91cHBlcignTScpICAgICAg ICAgICA9ICdNJwogICAgMTc6MDA6MDMuNzgwMDY4IFswODA0ZGNmZF0gdG91cHBlcignTScpICAg ICAgICAgICA9ICdNJwogICAgMTc6MDA6MDMuNzgwMTc1IFswODA0ZGNlY10gdG91cHBlcignRScp ICAgICAgICAgICA9ICdFJwogICAgMTc6MDA6MDMuNzgwMzAwIFswODA0ZGNmZF0gdG91cHBlcign RScpICAgICAgICAgICA9ICdFJwogICAgMTc6MDA6MDMuNzgwNDA4IFswODA0ZGQxY10gdG91cHBl cignXDAwMCcpICAgICAgICA9ICdcMDAwJwogICAgMTc6MDA6MDMuNzgwNTE3IFswODA0ZGQyZF0g dG91cHBlcignXDAwMCcpICAgICAgICA9ICdcMDAwJwoKCiAgICBbQVBQTkFNRSBjb250ZW50IGNv cGllZCBpbnRvIHN0YWNrIG1lbW9yeSBXSVRIT1VUIGxlbmd0aCBjaGVja2luZ10KCiAgICAxNzow MDowMy43ODA2MjYgWzA4MDRhZTU2XSBzdHJjcHkoMHhiZmZmZWU2OCwgInRlc3QiKSA9IDB4YmZm ZmVlNjgKCgogICAgW3ZhcmlhYmxlIG5hbWUgdG8gdXBwZXIgY2FzZV0KCiAgICAxNzowMDowMy44 MzU2NDcgWzA4MDRkY2VjXSB0b3VwcGVyKCdQJykgICAgICAgICAgID0gJ1AnCiAgICAxNzowMDow My44MzU4MjggWzA4MDRkY2ZkXSB0b3VwcGVyKCdDJykgICAgICAgICAgID0gJ0MnCiAgICAxNzow MDowMy44MzU5MzYgWzA4MDRkZDFjXSB0b3VwcGVyKCdQJykgICAgICAgICAgID0gJ1AnCiAgICAx NzowMDowMy44MzYwNDMgWzA4MDRkZDJkXSB0b3VwcGVyKCdDJykgICAgICAgICAgID0gJ0MnCiAg ICAxNzowMDowMy44MzYxNTAgWzA4MDRkY2VjXSB0b3VwcGVyKCdQJykgICAgICAgICAgID0gJ1An CiAgICAxNzowMDowMy44MzYyNTcgWzA4MDRkY2ZkXSB0b3VwcGVyKCdQJykgICAgICAgICAgID0g J1AnCiAgICAxNzowMDowMy44MzYzNjQgWzA4MDRkY2VjXSB0b3VwcGVyKCdSJykgICAgICAgICAg ID0gJ1InCiAgICAxNzowMDowMy44MzY0NzEgWzA4MDRkY2ZkXSB0b3VwcGVyKCdSJykgICAgICAg ICAgID0gJ1InCiAgICAxNzowMDowMy44MzY1NzcgWzA4MDRkY2VjXSB0b3VwcGVyKCdHJykgICAg ICAgICAgID0gJ0cnCiAgICAxNzowMDowMy44MzY2ODQgWzA4MDRkY2ZkXSB0b3VwcGVyKCdHJykg ICAgICAgICAgID0gJ0cnCiAgICAxNzowMDowMy44Mzc2NDUgWzA4MDRkY2VjXSB0b3VwcGVyKCdO JykgICAgICAgICAgID0gJ04nCiAgICAxNzowMDowMy44Mzc3NjYgWzA4MDRkY2ZkXSB0b3VwcGVy KCdOJykgICAgICAgICAgID0gJ04nCiAgICAxNzowMDowMy44Mzc4NzMgWzA4MDRkY2VjXSB0b3Vw cGVyKCdBJykgICAgICAgICAgID0gJ0EnCiAgICAxNzowMDowMy44Mzc5ODAgWzA4MDRkY2ZkXSB0 b3VwcGVyKCdBJykgICAgICAgICAgID0gJ0EnCiAgICAxNzowMDowMy44MzgxMDMgWzA4MDRkY2Vj XSB0b3VwcGVyKCdNJykgICAgICAgICAgID0gJ00nCiAgICAxNzowMDowMy44MzgyMTAgWzA4MDRk Y2ZkXSB0b3VwcGVyKCdNJykgICAgICAgICAgID0gJ00nCiAgICAxNzowMDowMy44MzgzMTcgWzA4 MDRkY2VjXSB0b3VwcGVyKCdFJykgICAgICAgICAgID0gJ0UnCiAgICAxNzowMDowMy44Mzg0MjMg WzA4MDRkY2ZkXSB0b3VwcGVyKCdFJykgICAgICAgICAgID0gJ0UnCiAgICAxNzowMDowMy44Mzg1 MzAgWzA4MDRkZDFjXSB0b3VwcGVyKCdcMDAwJykgICAgICAgID0gJ1wwMDAnCiAgICAxNzowMDow My44Mzg2MzkgWzA4MDRkZDJkXSB0b3VwcGVyKCdcMDAwJykgICAgICAgID0gJ1wwMDAnCgoKICAg IFtQUkdOQU1FIGNvbnRlbnQgY29waWVkIGludG8gc3RhY2sgbWVtb3J5IFdJVEhPVVQgbGVuZ3Ro IGNoZWNraW5nXQogICAgW0JVRkZFUiBPVkVSRkxPVyB0cmlnZ2VyZWQgaGVyZV0KCiAgICAxNzow MDowMy44Mzg3NDggWzA4MDRhZTcwXSBzdHJjcHkoMHhiZmZmZWU0OCwKICAgICJBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QQogICAgQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBCiAgICBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiKQogICAgPSAweGJmZmZlZTQ4CgoKICAgIFtz ZWdtZW50YXRpb24gZmF1bHQgb2NjdXJpbmddCgogICAgMTc6MDA6MDMuODM5NDA5IFswODA0OTdm NV0gZ2V0ZW52KCJIVFRQX0NPT0tJRSIpICA9IE5VTEwKICAgIDE3OjAwOjAzLjgzOTU0NSBbMDgw NDlhYzBdIGdldGVudigiUkVNT1RFX0FERFIiKSAgPSBOVUxMCiAgICAxNzowMDowMy44Mzk2ODcg WzA4MDVhZmY0XSBtZW1zZXQoMHgwODA3NmU2OCwgJ1wwMDAnLCAxMjApID0gCiAgICAweDA4MDc2 ZTY4CiAgICAxNzowMDowMy44Mzk4MDEgWzA4MDUzOTcxXSBzdHJjcHkoMHgwODA3NzMzNCwgIm90 YWt1IikgPSAweDA4MDc3MzM0CiAgICAxNzowMDowMy44Mzk5MjAgWzA4MDRjZGI3XSBtYWxsb2Mo MTUwOCkgICAgICAgICAgID0gMHgwODA3NzVhOAogICAgMTc6MDA6MDMuODQwMDE4IFswODA0Y2Fk MF0gbWVtY3B5KDB4MDgwNzc1YjAsICJcMDAxXDAwMSIsIDE1MDApID0KICAgIDB4MDgwNzc1YjAK ICAgIDE3OjAwOjAzLjg0MDE2MCBbMDgwNTJmMDBdIHN0cmxlbigweGJmZmZlZGM4LCAweDA4MDQ5 YWI0LCAweGJmZmZlZTAwLAogICAgMHhiZmZmZWRjOCwgMHgwODA3NzViMCkgPSAwCiAgICAxNzow MDowMy44NDAzMDggWzA4MDUyZjViXSBzdHJsZW4oMHhiZmZmZWQ0OCwgMHgwODA0OWFiNCwgMHhi ZmZmZWUwMCwKICAgIDB4YmZmZmVkNDgsIDB4MDgwNzc1YjApID0gMAogICAgMTc6MDA6MDMuODQw NDQwIFswODA1MTlkNV0gbWVtY3B5KDB4MDgwNzZlNjAsICJcMDAxXDAwMSIsIDE1MDApID0KICAg IDB4MDgwNzZlNjAKICAgIDE3OjAwOjAzLjg0MDU3NyBbMDgwNGNlZjBdIGZyZWUoMHgwODA3NzVh OCkgICAgICAgPSA8dm9pZD4KICAgIDE3OjAwOjAzLjg0MDY3MiBbMDgwNGI1MmNdIG1lbXNldCgw eGJmZmZlZWY4LCAnXDAwMCcsIDE2KSA9IDB4YmZmZmVlZjgKICAgIDE3OjAwOjAzLjg0MDc4MiBb MDgwNGI1NGNdIG1hbGxvYygyMDApICAgICAgICAgICAgPSAweDA4MDc3NWE4CiAgICAxNzowMDow My44NDEzNjQgWzA4MDRhZmU2XSAtLS0gU0lHU0VHViAoU2VnbWVudGF0aW9uIGZhdWx0KSAtLS0K ICAgIDE3OjAwOjAzLjg0MTg5MCBbZmZmZmZmZmZdICsrKyBraWxsZWQgYnkgU0lHU0VHViArKysK CgogIFRoZSBHTlUgRGVidWdnZXIgb3V0cHV0OgogICAgICAKICAgIFsuLi5dCgogICAgU3RhcnRp bmcgcHJvZ3JhbTogL3Vzci9sb2NhbC9odHRwZC9jZ2ktYmluL21ncnFjZ2kKICAgIChubyBkZWJ1 Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi4obm8gZGVidWdnaW5nIHN5bWJvbHMgZm91bmQpLi4uKG5v CiAgICBkZWJ1Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi4KICAgIChubyBkZWJ1Z2dpbmcgc3ltYm9s cyBmb3VuZCkuLi4KICAgIFByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRh dGlvbiBmYXVsdC4KICAgIDB4MDgwNGIxMDMgaW4gc3RyY3B5ICgpCiAgICAoZ2RiKSBpbmZvIHN0 YWNrCiAgICAjMCAgMHgwODA0YjEwMyBpbiBzdHJjcHkgKCkKICAgICMxICAweDQxNDE0MTQxIGlu ID8/ICgpCiAgICAjMiAgMHgwODA0YTQ0MCBpbiBzdHJjcHkgKCkKICAgICMzICAweDA4MDQ5YjE4 IGluIHN0cmNweSAoKQogICAgIzQgIDB4NDE0MTQxNDEgaW4gPz8gKCkKICAgCiAgICBbLi4uXQoK ICBTb21lIGNoYXJhY3RlcnMgY291bGQgbm90IGJlIHVzZWQgd2hpbGUgb3ZlcmZsb3dpbmcgdGhl IGludGVybmFsCiAgYnVmZmVycywgYmVjYXVzZSB0aGV5IGhhdmUgb3RoZXIgbWVhbmluZ3MgaW4g dGhlIENHSSBjb250ZXh0IG9yIGFyZSAKICBmaWx0ZXJlZC4KICBDaGFyYWN0ZXJzIHRoYXQgY291 bGQgbm90IGJlIHVzZWQ6CgogICAgKyAweDAwCiAgICArIDB4MDkKICAgICsgMHgwQQogICAgKyAw eDBCCiAgICArIDB4MEMKICAgICsgMHgwRAogICAgKyAweDIwCiAgICArIDB4MjMKICAgICsgMHgy NQogICAgKyAweDI2CgoKICBiLikgTWVtb3J5IENvcnJ1cHRpb246IGxvY2FsCgogIFRoZSBMaW51 eCBSUE0gY29tZXMgd2l0aCBvbmUgc2V0dWlkIHJvb3QgYXBwbGljYXRpb246CgogICAgKyAvdXNy L21hZ2ljYWRtL3NlcnZlcnMvbWdkaXNwYXRjaAoKICBUaGVyZSBzZWVtIHRvIGJlIHNlcnZlcmFs IGJ1ZmZlciBvdmVyZmxvd3MgaW4gdGhlIGNvZGUgb2YgbWdkaXNwYXRjaC4KICBPbmUgZXhhbXBs ZSBvZiBtaXNzaW5nIGJvdW5kcyBjaGVja2luZyBvY2N1cnMgdmVyeSBlYXJseSBpbiB0aGUgcHJv Z3JhbQogIGNvZGUgd2hpbGUgcmVhZGluZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBjYWxsZWQg TUdESVNQQVRDSF9MT0cuCiAgVGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciBpcyBhYm91dCAzMDAwIGJ5 dGVzIGJpZywgc28gYW4gYXR0YWNrZXIgaGFzIAogIGVub3VnaCBzcGFjZSBmb3Igc3R1ZmZpbmcg dGhlIHNoZWxsY29kZSBpbiBhbmQgZXhlY3V0ZSBhcmJpdHJhcnkgCiAgY29tbWFuZHMuCgogIGx0 cmFjZSBvdXRwdXQ6CiAKICAgIFsuLi5dCgogICAgZ2V0ZW52KCJNR0RJU1BBVENIX0xPRyIpICAg ICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAiQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUEiLi4uCiAgICBzdHJjcHkoMHhiZmZmZDg3YywgIkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBIi4uLikgPSAKICAgIDB4YmZmZmQ4N2MKICAgIGdldGVudigiTUdfRE9TX0NMSUVO VFMiIDx1bmZpbmlzaGVkIC4uLj4KICAgIC0tLSBTSUdTRUdWIChTZWdtZW50YXRpb24gZmF1bHQp IC0tLQogICAgKysrIGtpbGxlZCBieSBTSUdTRUdWICsrKwoKCiAgVGhlIEdOVSBEZWJ1Z2dlciBv dXRwdXQ6OgogICAgCiAgICBbLi4uXQogICAgICAKICAgIChnZGIpIHIgNzgKICAgIFN0YXJ0aW5n IHByb2dyYW06IC4vbWdkaXNwYXRjaCA3OAogICAgKG5vIGRlYnVnZ2luZyBzeW1ib2xzIGZvdW5k KS4uLihubyBkZWJ1Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi4KICAgIChubyBkZWJ1Z2dpbmcgc3lt Ym9scyBmb3VuZCkuLi4obm8gZGVidWdnaW5nIHN5bWJvbHMgZm91bmQpLi4uCiAgICBQcm9ncmFt IHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuCiAgICAweDQwMDhk NjNiIGluIGdldGVudiAoKSBmcm9tIC9saWIvbGliYy5zby42CiAgICAoZ2RiKSBidAogICAgIzAg IDB4NDAwOGQ2M2IgaW4gZ2V0ZW52ICgpIGZyb20gL2xpYi9saWJjLnNvLjYKICAgICMxICAweDA4 MDRkZWM4IGluIHN0cmNweSAoKQogICAgIzIgIDB4NDE0MTQxNDEgaW4gPz8gKCkKICAgICAKICAg IFsuLi5dCgoKICBjLikgVGVtcG9yYXJ5IEZpbGUgSGFuZGxpbmcKCiAgU29tZSBzaGVsbCBzY3Jp cHQgZmlsZXMgaW5jbHVkZWQgaW4gdGhlIExpbnV4IFJQTSAocHJvYmFibHkgYXBwbGllcwogIHRv IG90aGVyIHZlcnNpb25zIGFzIHdlbGwpIGRvIGluc2VjdXJlIHRlbXBvcmFyeSBmaWxlIGhhbmRs aW5nLCAKICBhbGxvd2luZyBzeW1saW5rIGF0dGFja3MsIHJlcGxhY2luZyBpbmZvcm1hdGlvbiBh bmQgZXhlY3V0aW9uIAogIG9mIGNvbW1hbmRzLgoKICBUaGlzIGxpc3QgaW5jbHVkZXMgc2hlbGwg c2NyaXB0IG5hbWVzIGFuZCB0aGUgYXBwcm9wcmlhdGUgbGluZXM6CgogICAgKyAvdXNyL21hZ2lj YWRtL2FwaS9ta3VzZXJwcm9jOjQwOnRtcGZpbGU9L3RtcC9tZy4kJAogICAgKyAvdXNyL21hZ2lj YWRtL3NiaW4vbWdybnQ6NDI6JEFXSyAtRj0gJy9eW14jXS8ge2lmIChORiA+IDApIHByaW50CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwb3J0ICIgJDF9JyAkTUFHSUNfSE9N RS9ldGMvbWdlbnYgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3RtcC9tZyQk CiAgICArIC91c3IvbWFnaWNhZG0vc2Jpbi9tZ3JudDo0MzouIC90bXAvbWckJAogICAgKyAvdXNy L21hZ2ljYWRtL3NiaW4vbWdybnQ6NDQ6cm0gLWYgL3RtcC9tZyQkCiAgICArIC91c3IvbWFnaWNh ZG0vc2Jpbi9tZ3JudDo2MzokQVdLIC1GPSAnL15bXiNdLyB7aWYgKE5GID4gMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ICJleHBvcnQgIiAkMX0nICRFbnZVc2VyRmls ZSA+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3RtcC9tZ3UkJAogICAgKyAv dXNyL21hZ2ljYWRtL3NiaW4vbWdybnQ6NjQ6LiAvdG1wL21ndSQkCiAgICArIC91c3IvbWFnaWNh ZG0vc2Jpbi9tZ3JudDo2NTpybSAvdG1wL21ndSQkCiAgICArIC91c3IvbWFnaWNhZG0vc2VydmVy cy9tZ2RhdGFzcnZyLnNjOjUxOiRBV0sgLUY9ICcvXlteI10vIHtpZiAoTkYgPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKSBwcmludCAiZXhwb3J0ICIgJDF9 JyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE1BR0lDX0hP TUUvZXRjL21nZW52ID4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC90bXAvbWckJAogICAgKyAvdXNyL21hZ2ljYWRtL3NlcnZlcnMvbWdkYXRhc3J2ci5zYzo1 MjouIC90bXAvbWckJAogICAgKyAvdXNyL21hZ2ljYWRtL3NlcnZlcnMvbWdkYXRhc3J2ci5zYzo1 MzpybSAtZiAvdG1wL21nJCQKICAgICsgL3Vzci9tYWdpY2FkbS9zZXJ2ZXJzL21nZGF0YXNydnIu c2M6NzU6JEFXSyAtRj0gJy9eW14jXS8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAge2lmIChORiA+IDApIHByaW50ICJleHBvcnQgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgJDF9JyAkRW52VXNlckZpbGUgPiAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3RtcC9tZ3UkJAogICAgKyAv dXNyL21hZ2ljYWRtL3NlcnZlcnMvbWdkYXRhc3J2ci5zYzo3NjouIC90bXAvbWd1JCQKICAgICsg L3Vzci9tYWdpY2FkbS9zZXJ2ZXJzL21nZGF0YXNydnIuc2M6Nzc6cm0gL3RtcC9tZ3UkJAoKCiAg ZC4pIEluc2VjdXJlIFBlcm1pc3Npb25zCiAgICAKICBUaGUgUlBNIGZpbGUgaW5zdGFsbHMgc29t ZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgZ3JvdXAgJ3VzZXJzJyAKICB3cml0ZWFibGUuCiAgVGhp cyBpbmNsdWRlcyB0aGUgTWFnaWMgQWRtaW4gaG9tZSBkaXJlY3RvcnkgL3Vzci9tYWdpY2FkbSAo YSBtYWdpY2FkbQogIGFjY291bnQgaXMgY3JlYXRlZCBpbiAvZXRjL3Bhc3N3ZCksIHRoZSBsaWNl bnNlIGRpcmVjdG9yeSBhbmQgdmFyaW91cwogIGV4ZWN1dGFibGVzLgogIFRoZSBsaXN0IG9mIGdy b3VwIHdyaXRlYWJsZSBleGVjdXRhYmxlczoKICAKICAgICsgL3Vzci9tYWdpY2FkbS9iaW4vbWFn aWNybnQKICAgICsgL3Vzci9tYWdpY2FkbS9iaW4vbWRpbmZvcm1peAogICAgKyAvdXNyL21hZ2lj YWRtL2Jpbi9tZG1zc3FsCiAgICArIC91c3IvbWFnaWNhZG0vYmluL21kb3JhY2xlCiAgICArIC91 c3IvbWFnaWNhZG0vYmluL21nY2lyY3ZyCiAgICArIC91c3IvbWFnaWNhZG0vYmluL21nY2lzYW0K ICAgICsgL3Vzci9tYWdpY2FkbS9iaW4vbWdpbmZvcm1peAogICAgKyAvdXNyL21hZ2ljYWRtL2Jp bi9tZ21lbW9yeQogICAgKyAvdXNyL21hZ2ljYWRtL2Jpbi9tZ29yYWNsZQogICAgKyAvdXNyL21h Z2ljYWRtL2Jpbi9tZ3RjcAogICAgKyAvdXNyL21hZ2ljYWRtL2Jyb2tlci9tZ3JxY21kbAogICAg KyAvdXNyL21hZ2ljYWRtL2Jyb2tlci9tZ3JxbXJiCiAgICArIC91c3IvbWFnaWNhZG0vY2dpYmlu L21ncnFjZ2kKICAgICsgL3Vzci9tYWdpY2FkbS9zZXJ2ZXJzL21nZGF0YXNydnIKCiAgVGhpcyBh bGxvd3MgYW4gYXR0YWNrZXIgdG8gcmVwbGFjZSB0aGVzZSB3cml0ZWFibGUgZXhlY3V0ZWFibGVz IHRvIGdhaW4KICBoaWdoZXIgcHJpdmlsZWdlcyBhbmQgZXZlbiBhbnkgb3RoZXIgZmlsZSB0byBl eHBsb2l0IHRydXN0ZWQgCiAgaW5mb3JtYXRpb24uCgoKICBlLikgTWlzY2VsbGFuZW91cwogICAg CiAgVGhlIHN5bWJvbHMgdGhhdCBhcmUgZXhwb3J0ZWQgYnkgdGhlIGV4ZWN1dGFibGVzIGFuZCBi eSB0aGUKICBNYWdpYy1SZXF1ZXN0IEFQSSBsaWJyYXJ5IHJldmVhbCwgdGhhdCB0aGVyZSBhcmUg ZXZlbiBtb3JlIGluc2VjdXJlIEMtCiAgbGlicmFyeSBmdW5jdGlvbnMgbGlrZSBzeXN0ZW0oMyks IHN0cmNweSgzKSwgc3RyY2F0KDMpIGFuZCBzcHJpbnRmKDMpCiAgYW5kIGFsaWtlLgoKClZlbmRv ciBSZXNwb25zZToKPT09PT09PT09PT09PT09PQoKICBWZW5kb3IgY29udGFjdGVkIGF0IDExLjEy LjIwMDEgYWNjb3JkaW5nIHRvICdGdWxsIERpc2Nsb3N1cmUgUG9saWN5IDIuMCcsCiAgaG93ZXZl ciB3ZSBnb3Qgbm8gYXBwcm9wcmlhdGUgcmVzcG9uc2UuCgoKU29sdXRpb24vRml4Ogo9PT09PT09 PT09PT09CgogIG5vbmUgeWV0CgoKQ29udGFjdDoKPT09PT09PT0KCiAgaW1tdXRlYyBHbWJICiAg TWVuZGVsc3RyLiAxMQogIDQ4MTQ5IE11ZW5zdGVyCiAgR2VybWFueQoKICBpbmZvQGltbXV0ZWMu Y29tCiAgaHR0cDovL3d3dy5pbW11dGVjLmNvbQogIFBob25lOiArKzQ5ICgwKSAyNTEvOTgwLTEy MzAKICBGYXg6ICAgKys0OSAoMCkgMjUxLzk4MC0xMjMxCgoKQXV0aG9yczoKPT09PT09PT0KCiAg VGhvbWFzIEJpZWdlIDx0YkBpbW11dGVjLmNvbT4KICBTdGVwaGFuIEhvbHR3aXNjaCA8c2hAaW1t dXRlYy5jb20+CgoKRGlzY2xhaW1lcjoKPT09PT09PT09PT0KCiBUaGlzIGFkdmlzb3J5IGRvZXMg bm90IGNsYWltIHRvIGJlIGNvbXBsZXRlIG9yIHRvIGJlIHVzYWJsZSBmb3IgYW55IAogcHVycG9z ZS4gRXNwZWNpYWxseSBpbmZvcm1hdGlvbiBvbiB0aGUgdnVsbmVyYWJsZSBzeXN0ZW1zIG1heSBi ZQogaW5hY2N1cmF0ZSBvciB3cm9uZy4gUG9zc2libGUgc3VwcGxpZWQgZXhwbG9pdCBjb2RlIGlz IG5vdCB0byBiZSB1c2VkCiBmb3IgbWFsaWNpb3VzIHB1cnBvc2VzLCBidXQgZm9yIGVkdWNhdGlv bmFsIHB1cnBvc2VzIG9ubHkuCgoKQ29weXJpZ2h0czoKPT09PT09PT09PT0KIAogQ29weXJpZ2h0 IChjKSAyMDAxLCBpbW11dGVjIEdtYkgKCiBSZWRpc3RyaWJ1dGlvbiB3aXRob3V0IG1vZGlmaWNh dGlvbiBpcyBwZXJtaXR0ZWQuCiBSZWRpc3RyaWJ1dGlvbiB3aXRoIG1vZGlmaWNhdGlvbiBpcyBw ZXJtaXR0ZWQgaWYgdGhlIGNvcHlyaWdodCBub3RpY2UsCiBkaXNjbGFpbWVyIGFuZCBhdXRob3Jz IG5vdGljZSBhcmUgcmV0YWluZWQuCgotLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQpWZXJz aW9uOiBHbnVQRyB2MS4wLjYgKElSSVg2NCkKQ29tbWVudDogRm9yIGluZm8gc2VlIGh0dHA6Ly93 d3cuZ251cGcub3JnCgppRVlFQVJFQ0FBWUZBandlWTJrQUNna1FoTVhPRHhEY041SlhSUUNlSzla Y3AwYkVYakN0V1BKOUV5K2tMdDNWCmtEOEFvSnRKWU5MRFJnamFQMllPTzV3Q2srRzYrU2JsCj01 YkJlCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQoKLS0tLS0tLS0tLS0tLS0wOTA0MDgwNzA0 MDkwMjAyMDYwNjAzMDYtLQoKCi0taGZmZmpkbGFramZoZW5tYWthY24KQ29udGVudC1UeXBlOiBt ZXNzYWdlL3JmYzgyMgpDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0 cmFxXzI5NjAuZXptIgoKU3ViamVjdDogUEhQTnVrZSA1IENyb3NzIFNjcmlwdGluZwpGcm9tOiAi UmVwbHVnZ2UgXFtSb2RcXSIgPHJlcGx1Z2dlQGFsY29ob2xpY28ub3JnPgpUbzogYnVndHJhcUBz ZWN1cml0eWZvY3VzLmNvbQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogN2JpdApEYXRlOiAxNyBEZWMgMjAwMSAxMzozMDozOCArMDEwMApNZXNzYWdl LUlkOiA8MTAwODU5MjIzOC4zMjQyMy4zOC5jYW1lbEBwdW1hLnRydXN0aXguY29tPgpNaW1lLVZl cnNpb246IDEuMAoKVGhpcyBpcyBhIGZvcndhcmQgb2YgZnJvZy1tQG4gcG9zdGluZyB0byBWdWxu LURldi4KCgpIZXJlIGEgZmV3IGhvbGVzIHRoYXQgaSd2ZSBmb3VuZCBpbiBQSFBOdWtlLgogICAg IDUgIkNyb3NzIFNpdGUgU2NyaXB0aW5nIi4KCiAgICAgaHR0cDovL3BocG51a2Uub3JnL21vZHVs ZXMucGhwPwogICAgIG5hbWU9RG93bmxvYWRzJmRfb3A9dmlld2Rvd25sb2FkZGV0YWlscyZsaWQ9 MAogICAgIDImdHRpdGxlPVtKQVZBU0NSSVBUXQoKICAgICBodHRwOi8vcGhwbnVrZS5vcmcvbW9k dWxlcy5waHA/CiAgICAgbmFtZT1Eb3dubG9hZHMmZF9vcD1yYXRlZG93bmxvYWQmbGlkPTExOCZ0 dGl0bGUKICAgICA9W0pBVkFTQ1JJUFRdCgogICAgIGh0dHA6Ly9waHBudWtlLm9yZy9tb2R1bGVz LnBocD8KICAgICBvcD1tb2Rsb2FkJm5hbWU9TWVtYmVyc19MaXN0JmZpbGU9aW5kZXgmbGV0dGVy CiAgICAgPVtKQVZBU0NSSVBUXQoKICAgICBodHRwOi8vcGhwbnVrZS5vcmcvc3VibWl0LnBocD9z dWJqZWN0PQogICAgIFtKQVZBU0NSSVBUXSZzdG9yeT1bSkFWQVNDUklQVF0mc3RvcnlleHQ9CiAg ICAgW0pBVkFTQ1JJUFRdJm9wPVByZXZpZXcKCiAgICAgaHR0cDovL3BocG51a2Uub3JnL3VzZXIu cGhwP29wPXVzZXJpbmZvJnVuYW1lPQogICAgIFtKQVZBU0NSSVBUXQoKCiAgICAgYW5kIC9hZG1p bi5waHA/dXBsb2FkPUdvISB3aG8ncyB0aGUgc2FtZSB0aGF0IAogICAgIHVwbG9hZD0xIC4KCiAg ICAgZnJvZy1tQG4KCi0tCi8qIApSb2RyaWdvIEd1dGllcnJleiA8cm9kcmlnb0B0cnVzdGl4LmNv bT4KVHJ1c3RpeCBBUyAtIGh0dHA6Ly93d3cudHJ1c3RpeC5jb20gCiovCgoKLS1oZmZmamRsYWtq Zmhlbm1ha2FjbgpDb250ZW50LVR5cGU6IG1lc3NhZ2UvcmZjODIyCkNvbnRlbnQtRGlzcG9zaXRp b246IGlubGluZTsgZmlsZW5hbWU9ImJ1Z3RyYXFfMjk2MS5lem0iCgpEYXRlOiBXZWQsIDE5IERl YyAyMDAxIDEyOjE5OjEyICswMTAwCk1lc3NhZ2UtSWQ6IDwyMDAxMTIxOTExMTkuTUFBMTU0ODFA b2JlbGl4LmVkdXAudHVkZWxmdC5ubD4KVG86IGJ1Z3RyYXFAc2VjdXJpdHktZm9jdXMuY29tClN1 YmplY3Q6IFJlOiB3ZWJtaW4gMC45MSAuLi8uLiBwcm9ibGVtCkZyb206IE1hcmsgdmFuIFJlaWpu IDxtYXJrQGVkdXAudHVkZWxmdC5ubD4KCkhlbGxvIGFsbCwKCkhhZCB0byBkb3VibGVjaGVjayB0 aGlzLCBiZWluZyBhIHJhYmlkIHdlYm1pbiBwcm9tb3Rlci4KTm8sIHlvdSBjYW5ub3QgYWNjZXNz IHRoZSBVUkwgd2l0aG91dCBmaXJzdCBsb2dnaW5nIGluLiBTbyBmYXIgc28gZ29vZC4gClNlY29u ZCwgd2l0aGluIHdlYm1pbiBpdCBpcyBwb3NzaWJsZSB0byByZXN0cmljdCB1c2VycywgYW5kIHRo aXMgYnVnIGlzIHN0aWxsIApyZXN0cmljdGVkIGJ5IHRoZSB3ZWJtaW4gQUNMIHN5c3RlbS4KSSB3 YXMgTk9UIGFibGUgdG8gcmVhZCB0aGUgc2hhZG93IGZpbGUgd2l0aG91dCBoYXZpbmcgYWNjZXNz IHRvIHRoZSAKbW9kdWxlICJCb290dXAgYW5kIFNodXRkb3duIi4gCgpXaXRoIHRoaXMgbW9kdWxl IHlvdSBjYW4gY29udHJvbCB0aGUgY29tcGxldGUgaW5pdCBwcm9jZXNzLCByZWJvb3QsIGhhbHQg ZXRjIApldGMgc28gaXQgd2lsbCBwcm9iYWJseSBiZSBvbmx5IGFjY2Vzc2libGUgYnkgdHJ1c3Rl ZCB1c2Vycy4uLgoKR3JlZXR6LAoKTWFyawoKS0YgPGRvdHNsYXNoQHNub3NvZnQuY29tPiBzYWlk OiAKCj4gT24gMC44NSAgSSB3YXMgc2ltcGx5IHByb21wdGVkIGZvciB0aGUgdXNlciBhbmQgcGFz c3dvcmQuLi4gSSBoYXZlIG9uZQo+IHF1ZXN0aW9uIHdlcmUgeW91IGFscmVhZHkgCj4gbG9nZ2Vk IGludG8gd2VibWluIHByaW9yIHRvIHR5cGluZyB0aGlzIHVybD8gSSB3YW50IHRvIGtub3cgaWYg aXQgZmlyc3QKPiByZXF1aXJlcyBhdXRoZW50aWNhdGlvbiB0byAKPiBhY2Nlc3MgdGhlIGNnaSBz Y3JpcHRzLi4uIEkgc3VzcGVjdCBpdCBkb2VzIGFuZCB0aGF0IHlvdXIgY3JlZGVudGlhbHMKPiB3 ZXJlIGNhY2hlZD8KPiAtS0YKPiAKPiAiQS4gUmFtb3MiIHdyb3RlOgo+ID4gCj4gPiAgICAgICAg IEhlbGxvLAo+ID4gCj4gPiAgICAgICAgIEkgZmluZCBidWcgb24gd2VibWluIDAuOTEuCjxTTklQ Pgo+ID4gCmh0dHA6Ly93d3cuZG9tYWluLmNvbToxMDAwMC9zZXJ2ZXJzL2xpbmsuY2dpLzEwMDgz NDE0ODAvaW5pdC9lZGl0X2FjdGlvbi5jZ2k/CjArLi4vLi4vLi4vLi4vLi4vZXRjL3NoYWRvdwo+ ID4gCj4gPiBUaGUgcHJvYmxlbSByZXNpZGUgb24gaW5pdC9lZGl0X2FjdGlvbi5jZ2k6Cj4gPiA8 c25pcD4KPiA+ICAgICAgICAgb3BlbihGSUxFLCAkZmlsZSk7Cj4gPiAgICAgICAgIHdoaWxlKDxG SUxFPikgewo+ID4gICAgICAgICAgICAgICAgICRkYXRhIC49ICRfOwo+ID4gICAgICAgICAgICAg ICAgIGlmICgvXlxzKihbJyJdPykoW2Etel0rKVwxXCkvaSkgewo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgJGhhc2FyZ3skMn0rKzsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiA+ ICAgICAgICAgICAgICAgICB9Cj4gPiAgICAgICAgIGNsb3NlKEZJTEUpOwoKCi0taGZmZmpkbGFr amZoZW5tYWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpDb250ZW50LURpc3Bvc2l0 aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NjMuZXptIgoKRGF0ZTogV2VkLCAxOSBE ZWMgMjAwMSAwMzo0NjozOCAtMDgwMCAoUFNUKQpNZXNzYWdlLUlkOiA8MjAwMTEyMTkxMTQ2LkRB QTI4OTU2QHVzLXN1cHBvcnQuZXh0ZXJuYWwuaHAuY29tPgpTdWJqZWN0OiBIUCBTZWN1cmUgT1Mg U29mdHdhcmUgZm9yIExpbnV4IHNlY3VyaXR5IGJ1bGxldGlucyBkaWdlc3QKRnJvbTogc3VwcG9y dF9mZWVkYmFja0B1cy1zdXBwb3J0LmV4dGVybmFsLmhwLmNvbSAoSVQgUmVzb3VyY2UgQ2VudGVy ICkKVG86IG5vYm9keUB1cy1zdXBwb3J0LmV4dGVybmFsLmhwLmNvbQpSZXBseS1Ubzogc3VwcG9y dF9mZWVkYmFja0B1cy1zdXBwb3J0LmV4dGVybmFsLmhwLmNvbQoKCiAgICAgICAgICAgICAgICAg ICAgICAgIEhQIFN1cHBvcnQgSW5mb3JtYXRpb24gRGlnZXN0cwoKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpvICBTZWN1cml0eSBCdWxsZXRpbiBEaWdlc3QgU3BsaXQKICAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCgogICBUaGUgc2VjdXJpdHkgYnVsbGV0aW5zIGRpZ2VzdCBoYXMgYmVl biBzcGxpdCBpbnRvIG11bHRpcGxlIGRpZ2VzdHMKICAgYmFzZWQgb24gdGhlIG9wZXJhdGluZyBz eXN0ZW0gKEhQLVVYLCBNUEUvaVgsIGFuZCBIUCBTZWN1cmUgT1MgCiAgIFNvZnR3YXJlIGZvciBM aW51eCkuICBZb3Ugd2lsbCBjb250aW51ZSB0byByZWNlaXZlIGFsbCBzZWN1cml0eQogICBidWxs ZXRpbiBkaWdlc3RzIHVubGVzcyB5b3UgY2hvb3NlIHRvIHVwZGF0ZSB5b3VyIHN1YnNjcmlwdGlv bnMuICAKICAgCiAgIFRvIHVwZGF0ZSB5b3VyIHN1YnNjcmlwdGlvbnMsIHVzZSB5b3VyIGJyb3dz ZXIgdG8gYWNjZXNzIHRoZQogICBJVCBSZXNvdXJjZSBDZW50ZXIgb24gdGhlIFdvcmxkIFdpZGUg V2ViIGF0OgoKICAgICBodHRwOi8vd3d3Lml0cmVzb3VyY2VjZW50ZXIuaHAuY29tLwoKICAgVW5k ZXIgdGhlIE1haW50ZW5hbmNlIGFuZCBTdXBwb3J0IE1lbnUsIGNsaWNrIG9uIHRoZSAibW9yZS4u LiIgbGluay4KICAgVGhlbiB1c2UgdGhlICdsb2dpbicgbGluayBhdCB0aGUgbGVmdCBzaWRlIG9m IHRoZSBzY3JlZW4gdG8gbG9naW4KICAgdXNpbmcgeW91ciBJVCBSZXNvdXJjZSBDZW50ZXIgVXNl ciBJRCBhbmQgUGFzc3dvcmQuCgogICBVbmRlciB0aGUgbm90aWZpY2F0aW9ucyBzZWN0aW9uIChu ZWFyIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UpLCBzZWxlY3QKICAgU3VwcG9ydCBJbmZvcm1hdGlv biBEaWdlc3RzLgoKICAgVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHRvIGEgc3BlY2lmaWMg c2VjdXJpdHkgYnVsbGV0aW4gZGlnZXN0LCAKICAgc2VsZWN0IG9yIHVuc2VsZWN0IHRoZSBjaGVj a2JveCBiZXNpZGUgaXQuIFRoZW4gY2xpY2sgdGhlIAogICAiVXBkYXRlIFN1YnNjcmlwdGlvbnMi IGJ1dHRvbiBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLgoKbyAgSVQgUmVzb3VyY2UgQ2VudGVy IFdvcmxkIFdpZGUgV2ViIFNlcnZpY2UKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBJZiB5b3Ugc3Vic2NyaWJlZCB0aHJvdWdoIHRoZSBJ VCBSZXNvdXJjZSBDZW50ZXIgYW5kIHdvdWxkCiAgIGxpa2UgdG8gYmUgUkVNT1ZFRCBmcm9tIHRo aXMgbWFpbGluZyBsaXN0LCBhY2Nlc3MgdGhlCiAgIElUIFJlc291cmNlIENlbnRlciBvbiB0aGUg V29ybGQgV2lkZSBXZWIgYXQ6CgogICAgIGh0dHA6Ly93d3cuaXRyZXNvdXJjZWNlbnRlci5ocC5j b20vCgogICBMb2dpbiB1c2luZyB5b3VyIElUIFJlc291cmNlIENlbnRlciBVc2VyIElEIGFuZCBQ YXNzd29yZC4KICAgVGhlbiBzZWxlY3QgU3VwcG9ydCBJbmZvcm1hdGlvbiBEaWdlc3RzIChsb2Nh dGVkIHVuZGVyCiAgIE1haW50ZW5hbmNlIGFuZCBTdXBwb3J0KS4gIFlvdSBtYXkgdGhlbiB1bnN1 YnNjcmliZSBmcm9tIHRoZQogICBhcHByb3ByaWF0ZSBkaWdlc3QuCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KCgwKRGlnZXN0IE5hbWU6ICBkYWlseSBIUCBTZWN1cmUgT1MgU29mdHdhcmUgZm9yIExp bnV4IHNlY3VyaXR5IGJ1bGxldGlucyBkaWdlc3QKICAgIENyZWF0ZWQ6ICBXZWQgRGVjIDE5ICAz OjAwOjAzIFBTVCAyMDAxCgpUYWJsZSBvZiBDb250ZW50czoKCkRvY3VtZW50IElEICAgICAgVGl0 bGUKLS0tLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0tLQpIUFNCVEwwMTEyLTAwNyAgIFNlY3VyaXR5 IHZ1bG5lcmFiaWxpdHkgaW4gaHBseC1zZW5kbWFpbApIUFNCVEwwMTEyLTAwOSAgIFNlY3VyaXR5 IHZ1bG5lcmFiaWxpdHkgaW4gR2hvc3RzY3JpcHQgbHByIExQUm5nIHByaW50aW5nCkhQU0JUTDAx MTItMDA4ICAgVXBkYXRlZCBnbGliYyBwYWNrYWdlcyBhcmUgYXZhaWxhYmxlCgpUaGUgZG9jdW1l bnRzIGFyZSBsaXN0ZWQgYmVsb3cuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgwKRG9jdW1lbnQg SUQ6ICBIUFNCVEwwMTEyLTAwNwpEYXRlIExvYWRlZDogIDIwMDExMjE4CiAgICAgIFRpdGxlOiAg U2VjdXJpdHkgdnVsbmVyYWJpbGl0eSBpbiBocGx4LXNlbmRtYWlsCgpURVhUCgoKCgoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgICBIRVdMRVRULVBBQ0tBUkQgQ09NUEFOWSBTRUNVUklUWSBCVUxMRVRJTjogIzAwNwogICAg T3JpZ2luYWxseSBpc3N1ZWQ6IDE4IERlY2VtYmVyICcwMQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBpbmZvcm1hdGlv biBpbiB0aGUgZm9sbG93aW5nIFNlY3VyaXR5IEJ1bGxldGluIHNob3VsZCBiZSBhY3RlZAp1cG9u IGFzIHNvb24gYXMgcG9zc2libGUuICBIZXdsZXR0LVBhY2thcmQgQ29tcGFueSB3aWxsIG5vdCBi ZQpsaWFibGUgZm9yIGFueSBjb25zZXF1ZW5jZXMgdG8gYW55IGN1c3RvbWVyIHJlc3VsdGluZyBm cm9tIGN1c3RvbWVyJ3MKZmFpbHVyZSB0byBmdWxseSBpbXBsZW1lbnQgaW5zdHJ1Y3Rpb25zIGlu IHRoaXMgU2VjdXJpdHkgQnVsbGV0aW4gYXMKc29vbiBhcyBwb3NzaWJsZS4KCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpQUk9C TEVNOiAgU2VjdXJpdHkgdnVsbmVyYWJpbGl0eSBpbiBocGx4LXNlbmRtYWlsLgoKUExBVEZPUk06 IEFueSBzeXN0ZW0gcnVubmluZyBIUCBTZWN1cmUgT1Mgc29mdHdhcmUgZm9yIExpbnV4IFJlbGVh c2UgMS4wCgpEQU1BR0U6ICAgUG90ZW50aWFsIGZvciBsb2NhbCB1c2VycyB0byBnYWluIHVuYXV0 aG9yaXplZCByb290IGFjY2Vzcy4KClNPTFVUSU9OOiBBcHBseSB0aGUgYXBwcm9wcmlhdGUgcGF0 Y2guCgpNQU5VQUwgQUNUSU9OUzogTm9uZQoKQVZBSUxBQklMSVRZOiBUaGUgcGF0Y2ggaXMgYXZh aWxhYmxlIG5vdy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBBLiBCYWNrZ3JvdW5kCiAKICAgaHBseC1zZW5kbWFpbC0xLjAt MSBpcyBiYXNlZCB1cG9uIChwdWJsaWNseSBhdmFpbGFibGUpIAogICBTZW5kbWFpbCB2ZXJzaW9u IDguMTEuNiB3aGljaCBoYXMgYW4gaW5wdXQgdmFsaWRhdGlvbiBmbGF3IAogICBpbiBwYXJ0IG9m IGl0cyBkZWJ1Z2dpbmcgY29kZS4gVGhpcyBmbGF3IGNvdWxkIGJlIGV4cGxvaXRlZCAKICAgYnkg YW4gYXR0YWNrZXIgd2hvIGFscmVhZHkgaGFzIGxvY2FsIGFjY2VzcyB0byBhIHN5c3RlbSAKICAg YW5kIHdhbnRzIHRvIGdhaW4gcm9vdCBwcml2aWxlZ2VzLiAgVGhpcyBmbGF3IGlzIGZpeGVkIGlu IAogICBocGx4LXNlbmRtYWlsLTEuMS0xLCB3aGljaCBpcyBiYXNlZCB1cG9uIFNlbmRtYWlsIHY4 LjEyLjEuCgogQi4gRml4aW5nIHRoZSBwcm9ibGVtCiAKICAgIEFwcGx5IHRoZSBmb2xsb3dpbmcg cGF0Y2g6CiAgICAgICAKICAgICAgICBIUFRMXzAwMDA3CiAgICAKICAgIFRoaXMgcGF0Y2ggaXMg YXZhaWxhYmxlIGFzIGZvbGxvd3M6IC0KCiAgICBVc2UgeW91ciBicm93c2VyIHRvIGFjY2VzcyB0 aGUgSFAgSVQgUmVzb3VyY2UgQ2VudGVyIHBhZ2UKICAgIGF0OgoKICAgICAgIGh0dHA6Ly9pdHJj LmhwLmNvbQoKICAgIFVzZSB0aGUgJ0xvZ2luJyB0YWIgYXQgdGhlIGxlZnQgc2lkZSBvZiB0aGUg c2NyZWVuIHRvIGxvZ2luCiAgICB1c2luZyB5b3VyIElEIGFuZCBwYXNzd29yZC4gIFVzZSB5b3Vy IGV4aXN0aW5nIGxvZ2luIG9yIHRoZQogICAgIlJlZ2lzdGVyIiBidXR0b24gYXQgdGhlIGxlZnQg dG8gY3JlYXRlIGEgbG9naW4uIFJlbWVtYmVyIHRvIHNhdmUgdGhlCiAgICBVc2VyIElEIGFzc2ln bmVkIHRvIHlvdSwgYW5kIHlvdXIgcGFzc3dvcmQuIFRoaXMgbG9naW4gcHJvdmlkZXMKICAgIGFj Y2VzcyB0byBtYW55IHVzZWZ1bCBhcmVhcyBvZiB0aGUgSVRSQy4KCiAgICBVbmRlciB0aGUgIk1h aW50ZW5hbmNlIGFuZCBTdXBwb3J0IiBzZWN0aW9uLCBzZWxlY3QgIkluZGl2aWR1YWwgUGF0Y2hl cyIuCgogICAgSW4gdGhlIGZpZWxkIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgbGFiZWxlZCAi cmV0cmlldmUgYSBzcGVjaWZpYyBwYXRjaAogICAgYnkgZW50ZXJpbmcgdGhlIHBhdGNoIG5hbWUi LCBlbnRlciB7eyBQYXRjaCBudW1iZXIgKHMpIH19CgogICAgRm9yIGluc3RydWN0aW9ucyBvbiBp bnN0YWxsaW5nIHRoZSBwYXRjaCwgcGxlYXNlIHNlZSB0aGUgaW5zdGFsbCB0ZXh0IGZpbGUKICAg IGluY2x1ZGVkIGluIHRoZSBwYXRjaC4KCgogQy4gVG8gc3Vic2NyaWJlIHRvIGF1dG9tYXRpY2Fs bHkgcmVjZWl2ZSBmdXR1cmUgTkVXIEhQIFNlY3VyaXR5CiAgICBCdWxsZXRpbnMgZnJvbSB0aGUg SFAgSVQgUmVzb3VyY2UgQ2VudGVyIHZpYSBlbGVjdHJvbmljCiAgICBtYWlsLCBkbyB0aGUgZm9s bG93aW5nOgoKICAgIFVzZSB5b3VyIGJyb3dzZXIgdG8gYWNjZXNzIHRvIHRoZSBIUCBJVCBSZXNv dXJjZSBDZW50ZXIgcGFnZQogICAgYXQ6CgogICAgICAgaHR0cDovL2l0cmMuaHAuY29tCgogICAg VXNlIHRoZSAnTG9naW4nIHRhYiBhdCB0aGUgbGVmdCBzaWRlIG9mIHRoZSBzY3JlZW4gdG8gbG9n aW4KICAgIHVzaW5nIHlvdXIgSUQgYW5kIHBhc3N3b3JkLiAgVXNlIHlvdXIgZXhpc3RpbmcgbG9n aW4gb3IgdGhlCiAgICAiUmVnaXN0ZXIiIGJ1dHRvbiBhdCB0aGUgbGVmdCB0byBjcmVhdGUgYSBs b2dpbi4gUmVtZW1iZXIgdG8gCiAgICBzYXZlIHRoZSBVc2VyIElEIGFzc2lnbmVkIHRvIHlvdSwg YW5kIHlvdXIgcGFzc3dvcmQuIFRoaXMKICAgIGxvZ2luIHByb3ZpZGVzIGFjY2VzcyB0byBtYW55 IHVzZWZ1bCBhcmVhcyBvZiB0aGUgSVRSQy4gIAoKICAgIEluIHRoZSBsZWZ0bW9zdCBmcmFtZSBz ZWxlY3QgIk1haW50ZW5hbmNlIGFuZCBTdXBwb3J0Ii4KCiAgICBVbmRlciB0aGUgIk5vdGlmaWNh dGlvbnMiIHNlY3Rpb24gKG5lYXIgdGhlIGJvdHRvbSBvZgogICAgdGhlIHBhZ2UpLCBzZWxlY3Qg IlN1cHBvcnQgSW5mb3JtYXRpb24gRGlnZXN0cyIuCgogICAgVG8gLXN1YnNjcmliZS0gdG8gZnV0 dXJlIEhQIFNlY3VyaXR5IEJ1bGxldGlucyBvciBvdGhlcgogICAgVGVjaG5pY2FsIERpZ2VzdHMs IGNsaWNrIHRoZSBjaGVjayBib3ggKGluIHRoZSBsZWZ0IGNvbHVtbikKICAgIGZvciB0aGUgYXBw cm9wcmlhdGUgZGlnZXN0IGFuZCB0aGVuIGNsaWNrIHRoZSAiVXBkYXRlCiAgICBTdWJzY3JpcHRp b25zIiBidXR0b24gYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZS4KCiAgICBvcgoKICAgIFRvIC1y ZXZpZXctIGJ1bGxldGlucyBhbHJlYWR5IHJlbGVhc2VkLCBzZWxlY3QgdGhlIGxpbmsKICAgIChp biB0aGUgbWlkZGxlIGNvbHVtbikgZm9yIHRoZSBhcHByb3ByaWF0ZSBkaWdlc3QuCgogRC4gVG8g cmVwb3J0IG5ldyBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMsIHNlbmQgZW1haWwgdG8KCiAgICBz ZWN1cml0eS1hbGVydEBocC5jb20KCiAgICBQbGVhc2UgZW5jcnlwdCBhbnkgZXhwbG9pdCBpbmZv cm1hdGlvbiB1c2luZyB0aGUKICAgIHNlY3VyaXR5LWFsZXJ0IFBHUCBrZXksIGF2YWlsYWJsZSBm cm9tIHlvdXIgbG9jYWwga2V5CiAgICBzZXJ2ZXIuIFlvdSBtYSBhbHNvIGdldCB0aGUgc2VjdXJp dHktYWxlcnQgUEdQIGtleSBieSAKICAgIHNlbmRpbmcgYSBtZXNzYWdlIHdpdGggYSAtc3ViamVj dC0gKG5vdCBib2R5KSBvZiAKICAgICdnZXQga2V5JyAobm8gcXVvdGVzKSB0byBzZWN1cml0eS1h bGVydEBocC5jb20uCgogICAgUGVybWlzc2lvbiBpcyBncmFudGVkIGZvciBjb3B5aW5nIGFuZCBj aXJjdWxhdGluZyB0aGlzCiAgICBCdWxsZXRpbiB0byBIZXdsZXR0LVBhY2thcmQgKEhQKSBjdXN0 b21lcnMgKG9yIHRoZSBJbnRlcm5ldAogICAgY29tbXVuaXR5KSBmb3IgdGhlIHB1cnBvc2Ugb2Yg YWxlcnRpbmcgdGhlbSB0byBwcm9ibGVtcywKICAgIGlmIGFuZCBvbmx5IGlmLCB0aGUgQnVsbGV0 aW4gaXMgbm90IGVkaXRlZCBvciBjaGFuZ2VkIGluCiAgICBhbnkgd2F5LCBpcyBhdHRyaWJ1dGVk IHRvIEhQLCBhbmQgcHJvdmlkZWQgc3VjaCByZXByb2R1Y3Rpb24KICAgIGFuZC9vciBkaXN0cmli dXRpb24gaXMgcGVyZm9ybWVkIGZvciBub24tY29tbWVyY2lhbCBwdXJwb3Nlcy4KCiAgICBBbnkg b3RoZXIgdXNlIG9mIHRoaXMgaW5mb3JtYXRpb24gaXMgcHJvaGliaXRlZC4gSFAgaXMgbm90CiAg ICBsaWFibGUgZm9yIGFueSBtaXN1c2Ugb2YgdGhpcyBpbmZvcm1hdGlvbiBieSBhbnkgdGhpcmQg cGFydHkuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KLS0tLS1FbmQgb2YgRG9jdW1lbnQgSUQ6ICBIUFNCVEwwMTEyLTAwNy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoMCkRvY3VtZW50IElEOiAgSFBT QlRMMDExMi0wMDkKRGF0ZSBMb2FkZWQ6ICAyMDAxMTIxOAogICAgICBUaXRsZTogIFNlY3VyaXR5 IHZ1bG5lcmFiaWxpdHkgaW4gR2hvc3RzY3JpcHQgbHByIExQUm5nIHByaW50aW5nCgpURVhUCgoK CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgICBIRVdMRVRULVBBQ0tBUkQgQ09NUEFOWSBTRUNVUklUWSBCVUxMRVRJTjog IzAwOQogICAgT3JpZ2luYWxseSBpc3N1ZWQ6IDE3IERlY2VtYmVyICcwMQotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBp bmZvcm1hdGlvbiBpbiB0aGUgZm9sbG93aW5nIFNlY3VyaXR5IEJ1bGxldGluIHNob3VsZCBiZSBh Y3RlZAp1cG9uIGFzIHNvb24gYXMgcG9zc2libGUuICBIZXdsZXR0LVBhY2thcmQgQ29tcGFueSB3 aWxsIG5vdCBiZQpsaWFibGUgZm9yIGFueSBjb25zZXF1ZW5jZXMgdG8gYW55IGN1c3RvbWVyIHJl c3VsdGluZyBmcm9tIHRoZSAKY3VzdG9tZXIncyBmYWlsdXJlIHRvIGZ1bGx5IGltcGxlbWVudCBp bnN0cnVjdGlvbnMgaW4gdGhpcyBTZWN1cml0eSAKQnVsbGV0aW4gYXMgc29vbiBhcyBwb3NzaWJs ZS4KCkJlY2F1c2UgdGhlIHZ1bG5lcmFiaWxpdHkgZG9lcyBub3QgcmVxdWlyZSBhIEhld2xldHQt UGFja2FyZCBTZWN1cmUgT1MKMS4wIHBhdGNoIG9yIHJlLXBhY2thZ2luZyBvZiB0aGUgUlBNIGFm ZmVjdGVkIGJ5IHRoZSBhZHZpc29yeSwgdGhlClJQTXMgaGF2ZSBub3QgYmVlbiBwcm9kdWNlZCBv ciB0ZXN0ZWQgYnkgSGV3bGV0dC1QYWNrYXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClBST0JMRU06ICBTZWN1cml0eSB2 dWxuZXJhYmlsaXR5IGluIEdob3N0c2NyaXB0IGxwciBMUFJuZyBwcmludGluZwoKUExBVEZPUk06 IEFueSBzeXN0ZW0gcnVubmluZyBIUCBTZWN1cmUgT1Mgc29mdHdhcmUgZm9yIExpbnV4IFJlbGVh c2UgMS4wCgpEQU1BR0U6ICAgUG90ZW50aWFsIHJlYWQgYWNjZXNzIHRvIGluYXBwcm9wcmlhdGUg ZmlsZXMKClNPTFVUSU9OOiBBcHBseSB0aGUgYXBwcm9wcmlhdGUgUlBNcyAoc2VlIHNlY3Rpb24g QiBiZWxvdykKCk1BTlVBTCBBQ1RJT05TOiBOb25lCgpBVkFJTEFCSUxJVFk6IFRoZSBSUE1zIGFy ZSBhdmFpbGFibGUgbm93LgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBBLiBCYWNrZ3JvdW5kCgogICAgQSB2dWxuZXJhYmls aXR5IGV4aXN0cyBpbiBHaG9zdHNjcmlwdCBscHIgTFBSbmcgcHJpbnRpbmcgdGhhdCBjb3VsZAog ICAgYmUgZXhwbG9pdGVkIHRvIGdhaW4gcmVhZCBhY2Nlc3MgdG8gaW5hcHByb3ByaWF0ZSBmaWxl cy4KCiBCLiBGaXhpbmcgdGhlIHByb2JsZW0KCiAgICBIZXdsZXR0LVBhY2thcmQgcmVjb21tZW5k cyB0aGF0IGN1c3RvbWVycyBkb3dubG9hZCB0aGUgUlBNcyAKICAgIGxpc3RlZCBpbiB0aGUgZm9s bG93aW5nIFJlZCBIYXQgU2VjdXJpdHkgQWR2aXNvcnk6CiAgICAyMDAxLTEyLTE0IHByaW50dG9v bCAoUkhTQS0yMDAxLTExMikgUHJpbnRpbmcgZXhwb3NlcyBzeXN0ZW0gZmlsZXMgdG8gcmVhZGlu ZyAgIAogICAgaHR0cDovL3d3dy5yZWRoYXQuY29tL3N1cHBvcnQvZXJyYXRhL1JIU0EtMjAwMS0x MTIuaHRtbAoKCiAgICBUbyBpbnN0YWxsIHRoZSBzZWN1cml0eSBhZHZpc29yeSBSUE1zLCB1c2Ug dGhlIGZvbGxvd2luZyBzZXF1ZW5jZQogICAgb2YgY29tbWFuZHM6CgogICAgMS4gSWYgeW91IHVz ZSB0aGUgdHJpcHdpcmUgcHJvZHVjdCwgd2UgcmVjb21tZW5kIHRoYXQgeW91IHJ1biBhIAogICAg ICAgYSBjb25zaXN0ZW5jeSBjaGVjayBhbmQgZml4IGFueSB2aW9sYXRpb25zIGJlZm9yZSBpbnN0 YWxsaW5nCiAgICAgICB0aGUgc2VjdXJpdHkgYWR2aXNvcnkgUlBNLiAKCiAgICAgICAgICAgdHJp cHdpcmUgLS1jaGVjayAtLWludGVyYWN0aXZlCgogICAgMi4gSW5zdGFsbCB0aGUgYWR2aXNvcnkg UlBNIGZyb20gdGhlIHJvb3QgYWNjb3VudC4KCiAgICAgICAgICAgcnBtIC1GIDxhZHZpc29yeSBS UE0gbmFtZT4KCiAgICAzLiBVcGRhdGUgdGhlIHRyaXB3aXJlIGRhdGFiYXNlCgogICAgICAgICAg IHRyaXB3aXJlIC0tY2hlY2sgLS1pbnRlcmFjdGl2ZQoKCgogICAgTk9URToKICAgIFRoZSBycG0g LXEgPHBhY2thZ2UgbmFtZT4gY29tbWFuZCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhl CiAgICBwcm9kdWN0IGlzIGluc3RhbGxlZC4gSGV3bGV0dC1QYWNrYXJkIHJlY29tbWVuZHMgYXBw bHlpbmcgdGhlCiAgICBzZWN1cml0eSBhZHZpc29yeSBmaXhlcyB0byBpbnN0YWxsZWQgcGFja2Fn ZXMgb25seS4gVGhlIC1GIG9wdGlvbgogICAgdG8gdGhlIFJQTSBpbnN0YWxsZXIgd2lsbCBvbmx5 IGFwcGx5IHRoZSBmaXggaWYgdGhlIHBhY2thZ2UgaXMKICAgIGN1cnJlbnRseSBpbnN0YWxsZWQg b24gdGhlIHN5c3RlbS4gRGVwZW5kZW50IFJQTXMgY2FuIGJlIGZvdW5kIGJ5CiAgICB1c2luZyB0 aGUgIkZpbmQgTGF0ZXN0IFJQTXMiIHNlYXJjaCBmYWNpbGl0eSBhdAogICAgaHR0cDovL3d3dy5y ZWRoYXQuY29tL2FwcHMvZG93bmxvYWQuIFRvIGZpbmQgdGhlIGxhdGVzdCBkZXBlbmRlbnQgCiAg ICBSUE0gZW50ZXIgdGhlIFJQTSdzIG5hbWUgaW4gdGhlICJCeSBLZXl3b3JkIiBib3guCiAgICAK CiBDLiBUbyBzdWJzY3JpYmUgdG8gYXV0b21hdGljYWxseSByZWNlaXZlIGZ1dHVyZSBORVcgSFAg U2VjdXJpdHkKICAgIEJ1bGxldGlucyBmcm9tIHRoZSBIUCBJVCBSZXNvdXJjZSBDZW50ZXIgdmlh IGVsZWN0cm9uaWMKICAgIG1haWwsIGRvIHRoZSBmb2xsb3dpbmc6CgogICAgVXNlIHlvdXIgYnJv d3NlciB0byBhY2Nlc3MgdGhlIEhQIElUIFJlc291cmNlIENlbnRlciBwYWdlCiAgICBhdDoKCiAg ICAgICBodHRwOi8vaXRyYy5ocC5jb20KCiAgICBVc2UgdGhlICdMb2dpbicgdGFiIGF0IHRoZSBs ZWZ0IHNpZGUgb2YgdGhlIHNjcmVlbiB0byBsb2dpbgogICAgdXNpbmcgeW91ciBJRCBhbmQgcGFz c3dvcmQuICBVc2UgeW91ciBleGlzdGluZyBsb2dpbiBvciB0aGUKICAgICJSZWdpc3RlciIgYnV0 dG9uIGF0IHRoZSBsZWZ0IHRvIGNyZWF0ZSBhIGxvZ2luLiBSZW1lbWJlciB0bwogICAgc2F2ZSB0 aGUgVXNlciBJRCBhc3NpZ25lZCB0byB5b3UsIGFuZCB5b3VyIHBhc3N3b3JkLiBUaGlzCiAgICBs b2dpbiBwcm92aWRlcyBhY2Nlc3MgdG8gbWFueSB1c2VmdWwgYXJlYXMgb2YgdGhlIElUUkMuCgog ICAgSW4gdGhlIGxlZnRtb3N0IGZyYW1lIHNlbGVjdCAiTWFpbnRlbmFuY2UgYW5kIFN1cHBvcnQi LgoKICAgIFVuZGVyIHRoZSAiTm90aWZpY2F0aW9ucyIgc2VjdGlvbiAobmVhciB0aGUgYm90dG9t IG9mCiAgICB0aGUgcGFnZSksIHNlbGVjdCAiU3VwcG9ydCBJbmZvcm1hdGlvbiBEaWdlc3RzIi4K CiAgICBUbyAtc3Vic2NyaWJlLSB0byBmdXR1cmUgSFAgU2VjdXJpdHkgQnVsbGV0aW5zIG9yIG90 aGVyCiAgICBUZWNobmljYWwgRGlnZXN0cywgY2xpY2sgdGhlIGNoZWNrIGJveCAoaW4gdGhlIGxl ZnQgY29sdW1uKQogICAgZm9yIHRoZSBhcHByb3ByaWF0ZSBkaWdlc3QgYW5kIHRoZW4gY2xpY2sg dGhlICJVcGRhdGUKICAgIFN1YnNjcmlwdGlvbnMiIGJ1dHRvbiBhdCB0aGUgYm90dG9tIG9mIHRo ZSBwYWdlLgoKICAgIG9yCgogICAgVG8gLXJldmlldy0gYnVsbGV0aW5zIGFscmVhZHkgcmVsZWFz ZWQsIHNlbGVjdCB0aGUgbGluawogICAgKGluIHRoZSBtaWRkbGUgY29sdW1uKSBmb3IgdGhlIGFw cHJvcHJpYXRlIGRpZ2VzdC4KCiBELiBUbyByZXBvcnQgbmV3IHNlY3VyaXR5IHZ1bG5lcmFiaWxp dGllcywgc2VuZCBlbWFpbCB0bwoKICAgIHNlY3VyaXR5LWFsZXJ0QGhwLmNvbQoKICAgIFBsZWFz ZSBlbmNyeXB0IGFueSBleHBsb2l0IGluZm9ybWF0aW9uIHVzaW5nIHRoZQogICAgc2VjdXJpdHkt YWxlcnQgUEdQIGtleSwgYXZhaWxhYmxlIGZyb20geW91ciBsb2NhbCBrZXkKICAgIHNlcnZlci4g WW91IG1heSBhbHNvIGdldCB0aGUgc2VjdXJpdHktYWxlcnQgUEdQIGtleSBieQogICAgc2VuZGlu ZyBhIG1lc3NhZ2Ugd2l0aCBhIC1zdWJqZWN0LSAobm90IGJvZHkpIG9mCiAgICAnZ2V0IGtleScg KG5vIHF1b3RlcykgdG8gc2VjdXJpdHktYWxlcnRAaHAuY29tLgoKICAgIFBlcm1pc3Npb24gaXMg Z3JhbnRlZCBmb3IgY29weWluZyBhbmQgY2lyY3VsYXRpbmcgdGhpcwogICAgQnVsbGV0aW4gdG8g SGV3bGV0dC1QYWNrYXJkIChIUCkgY3VzdG9tZXJzIChvciB0aGUgSW50ZXJuZXQKICAgIGNvbW11 bml0eSkgZm9yIHRoZSBwdXJwb3NlIG9mIGFsZXJ0aW5nIHRoZW0gdG8gcHJvYmxlbXMsCiAgICBp ZiBhbmQgb25seSBpZiwgdGhlIEJ1bGxldGluIGlzIG5vdCBlZGl0ZWQgb3IgY2hhbmdlZCBpbgog ICAgYW55IHdheSwgaXMgYXR0cmlidXRlZCB0byBIUCwgYW5kIHByb3ZpZGVkIHN1Y2ggcmVwcm9k dWN0aW9uCiAgICBhbmQvb3IgZGlzdHJpYnV0aW9uIGlzIHBlcmZvcm1lZCBmb3Igbm9uLWNvbW1l cmNpYWwgcHVycG9zZXMuCgogICAgQW55IG90aGVyIHVzZSBvZiB0aGlzIGluZm9ybWF0aW9uIGlz IHByb2hpYml0ZWQuIEhQIGlzIG5vdAogICAgbGlhYmxlIGZvciBhbnkgbWlzdXNlIG9mIHRoaXMg aW5mb3JtYXRpb24gYnkgYW55IHRoaXJkIHBhcnR5LgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLS0tRW5kIG9mIERvY3Vt ZW50IElEOiAgSFBTQlRMMDExMi0wMDktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKDApEb2N1bWVudCBJRDogIEhQU0JUTDAxMTItMDA4CkRhdGUgTG9hZGVkOiAgMjAwMTEy MTgKICAgICAgVGl0bGU6ICBVcGRhdGVkIGdsaWJjIHBhY2thZ2VzIGFyZSBhdmFpbGFibGUKClRF WFQKCgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KICAgIEhFV0xFVFQtUEFDS0FSRCBDT01QQU5ZIFNFQ1VSSVRZIEJVTExF VElOOiAjMDA4CiAgICBPcmlnaW5hbGx5IGlzc3VlZDogMTcgRGVjZW1iZXIgJzAxCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK VGhlIGluZm9ybWF0aW9uIGluIHRoZSBmb2xsb3dpbmcgU2VjdXJpdHkgQnVsbGV0aW4gc2hvdWxk IGJlIGFjdGVkCnVwb24gYXMgc29vbiBhcyBwb3NzaWJsZS4gIEhld2xldHQtUGFja2FyZCBDb21w YW55IHdpbGwgbm90IGJlCmxpYWJsZSBmb3IgYW55IGNvbnNlcXVlbmNlcyB0byBhbnkgY3VzdG9t ZXIgcmVzdWx0aW5nIGZyb20gdGhlIApjdXN0b21lcidzIGZhaWx1cmUgdG8gZnVsbHkgaW1wbGVt ZW50IGluc3RydWN0aW9ucyBpbiB0aGlzIFNlY3VyaXR5IApCdWxsZXRpbiBhcyBzb29uIGFzIHBv c3NpYmxlLgoKQmVjYXVzZSB0aGUgdnVsbmVyYWJpbGl0eSBkb2VzIG5vdCByZXF1aXJlIGEgSGV3 bGV0dC1QYWNrYXJkIFNlY3VyZSBPUwoxLjAgcGF0Y2ggb3IgcmUtcGFja2FnaW5nIG9mIHRoZSBS UE0gYWZmZWN0ZWQgYnkgdGhlIGFkdmlzb3J5LCB0aGUKUlBNcyBoYXZlIG5vdCBiZWVuIHByb2R1 Y2VkIG9yIHRlc3RlZCBieSBIZXdsZXR0LVBhY2thcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KUFJPQkxFTTogIFNlY3Vy aXR5IHZ1bG5lcmFiaWxpdHkgaW4gZ2xpYmMuCgpQTEFURk9STTogQW55IHN5c3RlbSBydW5uaW5n IEhQIFNlY3VyZSBPUyBzb2Z0d2FyZSBmb3IgTGludXggUmVsZWFzZSAxLjAKCkRBTUFHRTogICBQ b3RlbnRpYWwgcmVtb3RlIGV4ZWN1dGlvbiBvZiBjb21tYW5kcyBieSBhbiBpbnRydWRlcgoKU09M VVRJT046IEFwcGx5IHRoZSBhcHByb3ByaWF0ZSBSUE1zIChzZWUgc2VjdGlvbiBCIGJlbG93KQoK TUFOVUFMIEFDVElPTlM6IE5vbmUKCkFWQUlMQUJJTElUWTogVGhlIFJQTXMgYXJlIGF2YWlsYWJs ZSBub3cuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIEEuIEJhY2tncm91bmQKCiAgICBBIHZ1bG5lcmFiaWxpdHkgZXhpc3Rz IGluIGdsaWJjIHRoYXQgY291bGQgYmUgdXNlZCBieSBhbiBpbnRydWRlcgogICAgdG8gY2F1c2Ug YSBkZW5pYWwgb2Ygc2VydmljZSAoY3Jhc2gpIG9yIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUu CgogQi4gRml4aW5nIHRoZSBwcm9ibGVtCgogICAgSGV3bGV0dC1QYWNrYXJkIHJlY29tbWVuZHMg dGhhdCBjdXN0b21lcnMgZG93bmxvYWQgdGhlIFJQTXMgCiAgICBsaXN0ZWQgaW4gdGhlIGZvbGxv d2luZyBSZWQgSGF0IFNlY3VyaXR5IEFkdmlzb3J5OgogICAgMjAwMS0xMi0xNCBnbGliYy1kZXZl bCAoUkhTQS0yMDAxLTE2MCkgVXBkYXRlZCBnbGliYyBwYWNrYWdlcyBhcmUgYXZhaWxhYmxlICAK ICAgIGh0dHA6Ly93d3cucmVkaGF0LmNvbS9zdXBwb3J0L2VycmF0YS9SSFNBLTIwMDEtMTYwLmh0 bWwKCgogICAgVG8gaW5zdGFsbCB0aGUgc2VjdXJpdHkgYWR2aXNvcnkgUlBNcywgdXNlIHRoZSBm b2xsb3dpbmcgc2VxdWVuY2UKICAgIG9mIGNvbW1hbmRzOgoKICAgIDEuIElmIHlvdSB1c2UgdGhl IHRyaXB3aXJlIHByb2R1Y3QsIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBydW4gYSAKICAgICAgIGEg Y29uc2lzdGVuY3kgY2hlY2sgYW5kIGZpeCBhbnkgdmlvbGF0aW9ucyBiZWZvcmUgaW5zdGFsbGlu ZwogICAgICAgdGhlIHNlY3VyaXR5IGFkdmlzb3J5IFJQTS4gCgogICAgICAgICAgIHRyaXB3aXJl IC0tY2hlY2sgLS1pbnRlcmFjdGl2ZQoKICAgIDIuIEluc3RhbGwgdGhlIGFkdmlzb3J5IFJQTSBm cm9tIHRoZSByb290IGFjY291bnQuCgogICAgICAgICAgIHJwbSAtRiA8YWR2aXNvcnkgUlBNIG5h bWU+CgogICAgMy4gVXBkYXRlIHRoZSB0cmlwd2lyZSBkYXRhYmFzZQoKICAgICAgICAgICB0cmlw d2lyZSAtLWNoZWNrIC0taW50ZXJhY3RpdmUKCgoKICAgIE5PVEU6CiAgICBUaGUgcnBtIC1xIDxw YWNrYWdlIG5hbWU+IGNvbW1hbmQgY2FuIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZQogICAg cHJvZHVjdCBpcyBpbnN0YWxsZWQuIEhld2xldHQtUGFja2FyZCByZWNvbW1lbmRzIGFwcGx5aW5n IHRoZQogICAgc2VjdXJpdHkgYWR2aXNvcnkgZml4ZXMgdG8gaW5zdGFsbGVkIHBhY2thZ2VzIG9u bHkuIFRoZSAtRiBvcHRpb24KICAgIHRvIHRoZSBSUE0gaW5zdGFsbGVyIHdpbGwgb25seSBhcHBs eSB0aGUgZml4IGlmIHRoZSBwYWNrYWdlIGlzCiAgICBjdXJyZW50bHkgaW5zdGFsbGVkIG9uIHRo ZSBzeXN0ZW0uIERlcGVuZGVudCBSUE1zIGNhbiBiZSBmb3VuZCBieQogICAgdXNpbmcgdGhlICJG aW5kIExhdGVzdCBSUE1zIiBzZWFyY2ggZmFjaWxpdHkgYXQKICAgIGh0dHA6Ly93d3cucmVkaGF0 LmNvbS9hcHBzL2Rvd25sb2FkLiBUbyBmaW5kIHRoZSBsYXRlc3QgZGVwZW5kZW50IAogICAgUlBN IGVudGVyIHRoZSBSUE0ncyBuYW1lIGluIHRoZSAiQnkgS2V5d29yZCIgYm94LgogICAgCgogQy4g VG8gc3Vic2NyaWJlIHRvIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSBmdXR1cmUgTkVXIEhQIFNlY3Vy aXR5CiAgICBCdWxsZXRpbnMgZnJvbSB0aGUgSFAgSVQgUmVzb3VyY2UgQ2VudGVyIHZpYSBlbGVj dHJvbmljCiAgICBtYWlsLCBkbyB0aGUgZm9sbG93aW5nOgoKICAgIFVzZSB5b3VyIGJyb3dzZXIg dG8gYWNjZXNzIHRoZSBIUCBJVCBSZXNvdXJjZSBDZW50ZXIgcGFnZQogICAgYXQ6CgogICAgICAg aHR0cDovL2l0cmMuaHAuY29tCgogICAgVXNlIHRoZSAnTG9naW4nIHRhYiBhdCB0aGUgbGVmdCBz aWRlIG9mIHRoZSBzY3JlZW4gdG8gbG9naW4KICAgIHVzaW5nIHlvdXIgSUQgYW5kIHBhc3N3b3Jk LiAgVXNlIHlvdXIgZXhpc3RpbmcgbG9naW4gb3IgdGhlCiAgICAiUmVnaXN0ZXIiIGJ1dHRvbiBh dCB0aGUgbGVmdCB0byBjcmVhdGUgYSBsb2dpbi4gUmVtZW1iZXIgdG8KICAgIHNhdmUgdGhlIFVz ZXIgSUQgYXNzaWduZWQgdG8geW91LCBhbmQgeW91ciBwYXNzd29yZC4gVGhpcwogICAgbG9naW4g cHJvdmlkZXMgYWNjZXNzIHRvIG1hbnkgdXNlZnVsIGFyZWFzIG9mIHRoZSBJVFJDLgoKICAgIElu IHRoZSBsZWZ0bW9zdCBmcmFtZSBzZWxlY3QgIk1haW50ZW5hbmNlIGFuZCBTdXBwb3J0Ii4KCiAg ICBVbmRlciB0aGUgIk5vdGlmaWNhdGlvbnMiIHNlY3Rpb24gKG5lYXIgdGhlIGJvdHRvbSBvZgog ICAgdGhlIHBhZ2UpLCBzZWxlY3QgIlN1cHBvcnQgSW5mb3JtYXRpb24gRGlnZXN0cyIuCgogICAg VG8gLXN1YnNjcmliZS0gdG8gZnV0dXJlIEhQIFNlY3VyaXR5IEJ1bGxldGlucyBvciBvdGhlcgog ICAgVGVjaG5pY2FsIERpZ2VzdHMsIGNsaWNrIHRoZSBjaGVjayBib3ggKGluIHRoZSBsZWZ0IGNv bHVtbikKICAgIGZvciB0aGUgYXBwcm9wcmlhdGUgZGlnZXN0IGFuZCB0aGVuIGNsaWNrIHRoZSAi VXBkYXRlCiAgICBTdWJzY3JpcHRpb25zIiBidXR0b24gYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFn ZS4KCiAgICBvcgoKICAgIFRvIC1yZXZpZXctIGJ1bGxldGlucyBhbHJlYWR5IHJlbGVhc2VkLCBz ZWxlY3QgdGhlIGxpbmsKICAgIChpbiB0aGUgbWlkZGxlIGNvbHVtbikgZm9yIHRoZSBhcHByb3By aWF0ZSBkaWdlc3QuCgogRC4gVG8gcmVwb3J0IG5ldyBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMs IHNlbmQgZW1haWwgdG8KCiAgICBzZWN1cml0eS1hbGVydEBocC5jb20KCiAgICBQbGVhc2UgZW5j cnlwdCBhbnkgZXhwbG9pdCBpbmZvcm1hdGlvbiB1c2luZyB0aGUKICAgIHNlY3VyaXR5LWFsZXJ0 IFBHUCBrZXksIGF2YWlsYWJsZSBmcm9tIHlvdXIgbG9jYWwga2V5CiAgICBzZXJ2ZXIuIFlvdSBt YXkgYWxzbyBnZXQgdGhlIHNlY3VyaXR5LWFsZXJ0IFBHUCBrZXkgYnkKICAgIHNlbmRpbmcgYSBt ZXNzYWdlIHdpdGggYSAtc3ViamVjdC0gKG5vdCBib2R5KSBvZgogICAgJ2dldCBrZXknIChubyBx dW90ZXMpIHRvIHNlY3VyaXR5LWFsZXJ0QGhwLmNvbS4KCiAgICBQZXJtaXNzaW9uIGlzIGdyYW50 ZWQgZm9yIGNvcHlpbmcgYW5kIGNpcmN1bGF0aW5nIHRoaXMKICAgIEJ1bGxldGluIHRvIEhld2xl dHQtUGFja2FyZCAoSFApIGN1c3RvbWVycyAob3IgdGhlIEludGVybmV0CiAgICBjb21tdW5pdHkp IGZvciB0aGUgcHVycG9zZSBvZiBhbGVydGluZyB0aGVtIHRvIHByb2JsZW1zLAogICAgaWYgYW5k IG9ubHkgaWYsIHRoZSBCdWxsZXRpbiBpcyBub3QgZWRpdGVkIG9yIGNoYW5nZWQgaW4KICAgIGFu eSB3YXksIGlzIGF0dHJpYnV0ZWQgdG8gSFAsIGFuZCBwcm92aWRlZCBzdWNoIHJlcHJvZHVjdGlv bgogICAgYW5kL29yIGRpc3RyaWJ1dGlvbiBpcyBwZXJmb3JtZWQgZm9yIG5vbi1jb21tZXJjaWFs IHB1cnBvc2VzLgoKICAgIEFueSBvdGhlciB1c2Ugb2YgdGhpcyBpbmZvcm1hdGlvbiBpcyBwcm9o aWJpdGVkLiBIUCBpcyBub3QKICAgIGxpYWJsZSBmb3IgYW55IG1pc3VzZSBvZiB0aGlzIGluZm9y bWF0aW9uIGJ5IGFueSB0aGlyZCBwYXJ0eS4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0tLUVuZCBvZiBEb2N1bWVudCBJ RDogIEhQU0JUTDAxMTItMDA4LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Ci0taGZmZmpkbGFramZoZW5tYWthY24KQ29udGVudC1UeXBlOiBtZXNzYWdlL3JmYzgyMgpDb250 ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJidWd0cmFxXzI5NjQuZXptIgoKRGF0 ZTogV2VkLCAxOSBEZWMgMjAwMSAwOTo0NjozNCAtMDUwMApGcm9tOiAiVGFib3IgSi4gV2VsbHMi IDx0d2VsbHNAZnNja2l0Lm5ldD4KVG86IGJ1Z3RyYXFAc2VjdXJpdHlmb2N1cy5jb20KU3ViamVj dDogW3BoMTBAY3VzLmNhbS5hYy51azogW0V4aW1dIFBvdGVudGlhbCBzZWN1cml0eSBwcm9ibGVt XQpNZXNzYWdlLUlEOiA8MjAwMTEyMTkxNDQ2MzMuR0EyMjc2MEBmc2NraXQubmV0PgpNaW1lLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKCkZv cndhcmRlZCBmcm9tIHRoZSBleGltLXVzZXJzIG1haWxpbmcgbGlzdAoKLS0tLS0gRm9yd2FyZGVk IG1lc3NhZ2UgZnJvbSBQaGlsaXAgSGF6ZWwgPHBoMTBAY3VzLmNhbS5hYy51az4gLS0tLS0KCkZy b206IFBoaWxpcCBIYXplbCA8cGgxMEBjdXMuY2FtLmFjLnVrPgpUbzogIDxleGltLXVzZXJzQGV4 aW0ub3JnPiwgIDxleGltLWFubm91bmNlQGV4aW0ub3JnPgpTdWJqZWN0OiBbRXhpbV0gUG90ZW50 aWFsIHNlY3VyaXR5IHByb2JsZW0KWC1CZWVuVGhlcmU6IGV4aW0tdXNlcnNAZXhpbS5vcmcKRGF0 ZTogV2VkLCAxOSBEZWMgMjAwMSAxNDozNTo0MSArMDAwMCAoR01UKQoKSW1wb3J0YW50LiBQbGVh c2UgcmVhZC4KCkFtb25nc3Qgb3RoZXIgdGhpbmdzLCBFeGltIDMuMzQgYW5kIEV4aW0gMy45NTIg KGFscGhhIGZvciBFeGltIDQpLCB3aGljaCBJIGhhdmUKanVzdCBwdXQgb250byB0aGUgcHJpbWFy eSBmdHAgc2l0ZSwgY29udGFpbiBhIGZpeCBmb3IgYSBwb3RlbnRpYWwgc2VjdXJpdHkKcHJvYmxl bS4gUGxlYXNlIGNoZWNrIHdoZXRoZXIgdGhpcyBjb3VsZCBhZmZlY3QgeW91LCBhbmQgaWYgc28s IGVpdGhlciB1cGdyYWRlCnRvIHRoZSBuZXcgcmVsZWFzZSwgb3IgYXBwbHkgb25lIG9mIHRoZSBw YXRjaGVzIGJlbG93LgoKVGhlIHByb2JsZW0gZXhpc3RzIG9ubHkgaW4gdGhlIGNhc2Ugb2YgYSBy dW4gdGltZSBjb25maWd1cmF0aW9uIHdoaWNoIGRpcmVjdHMKb3Igcm91dGVzIGFuIGFkZHJlc3Mg dG8gYSBwaXBlIHRyYW5zcG9ydCB3aXRob3V0IGNoZWNraW5nIHRoZSBsb2NhbCBwYXJ0IG9mIHRo ZQphZGRyZXNzIGluIGFueSB3YXkuIFRoaXMgZG9lcyBub3QgYXBwbHksIGZvciBleGFtcGxlLCB0 byBwaXBlcyBydW4gZnJvbSBhbGlhcwpvciBmb3J3YXJkIGZpbGVzLCBiZWNhdXNlIHRoZSBsb2Nh bCBwYXJ0IGlzIGNoZWNrZWQgdG8gZW5zdXJlIHRoYXQgaXQgaXMgdGhlCm5hbWUgb2YgYW4gYWxp YXMgb3Igb2YgYSBsb2NhbCB1c2VyLgoKT25lIGtpbmQgb2YgY29uZmlndXJhdGlvbiB3aGVyZSB0 aGlzIG1heSBhcHBseSBpcyBvbmUgd2hlcmUgYWxsIGluY29taW5nIG1haWwKaXMgc2VudCBzdHJh aWdodCB0byBhIHZpcnVzIGNoZWNrZXIgYnkgbWVhbnMgb2YgYSBwaXBlLCB3aXRob3V0IGluc3Bl Y3RpbmcgdGhlCmxvY2FsIHBhcnRzIG9mIGFkZHJlc3Nlcy4gSG93ZXZlciwgaWYgcmVjZWl2ZXJf dmVyaWZ5IGlzIHR1cm5lZCBvbiwgYW5kIHRoZQpkaXJlY3Rvci9yb3V0ZXIgdGhhdCBpcyB1c2Vk IGZvciB0aGUgcGlwZSBoYXMgbm9fdmVyaWZ5IHNldCwgdGhlcmUgbWF5IG5vdCBiZQphbiBleHBv c3VyZSwgYmVjYXVzZSB0aGUgbG9jYWwgcGFydHMgYXJlIHByb2JhYmx5IGNoZWNrZWQgYnkgdGhl IHZlcmlmaWNhdGlvbgpwcm9jZXNzIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG5vdCBjaGVja2VkIGF0 IGRlbGl2ZXJ5IHRpbWUgYmVmb3JlIGJlaW5nIHNlbnQgdG8KdGhlIHBpcGUuCgpUaGUgYnVnIGlz IHByb3Zva2VkIGJ5IHJvdXRpbmcvZGlyZWN0aW5nIGFuIGFkZHJlc3Mgd2hvc2UgbG9jYWwgcGFy dCBiZWdpbnMKd2l0aCBhIHBpcGUgc3ltYm9sICh2ZXJ0aWNhbCBiYXIpIHRvIGEgcGlwZSB0cmFu c3BvcnQuIFRoYXQgaXMgd2h5IGFueQpjb25maWd1cmF0aW9uIGluIHdoaWNoIGxvY2FsIHBhcnRz IGFyZSBmaXJzdCBjaGVja2VkIGluIHNvbWUgd2F5IGlzIG5vdApub3JtYWxseSB2dWxuZXJhYmxl IChhIGxvY2FsIHBhcnQgc3RhcnRpbmcgd2l0aCBhIHBpcGUgc3ltYm9sIGlzIG5vcm1hbGx5Cmlu dmFsaWQpLiBUaGUgRXhpbSA0IGRlZmF1bHQgY29uZmlndXJhdGlvbiBibG9ja3MgbG9jYWwgcGFy dHMgdGhhdCBjb250YWluIGFueQpvZiB0aGUgY2hhcmFjdGVycyBAJSEvfCBhdCBTTVRQIHRpbWUs IGFzIGl0IGhhcHBlbnMuCgpUaGUgYnVnJ3MgZWZmZWN0IGlzIHRoYXQsIGluc3RlYWQgb2Ygb2Jl eWluZyB0aGUgY29ycmVjdCBwaXBlIGNvbW1hbmQsIGEgYnJva2VuCkV4aW0gcnVucyB0aGUgY29t bWFuZCBlbmNvZGVkIGluIHRoZSBsb2NhbCBwYXJ0LgoKSWYgeW91IGRvIG5vdCB3YW50IHRvIHVw Z3JhZGUgdG8gRXhpbSAzLjM0LCBoZXJlIGFyZSB0d28gcGF0Y2hlcyBmb3IgZWFybGllcgp2ZXJz aW9ucy4gVGhlIGZpeCBpcyB2ZXJ5IHNpbXBsZS4gVGhlIGJ1ZyB3YXMgYSBiaXQgb2YgaWRpb3Rp YyBzdHVwaWRpdHkgb24gbXkKcGFydC4gQXBvbG9naWVzIGZvciB0aGUgaW5jb252ZW5pZW5jZS4g TXkgdGhhbmtzIHRvIFBhdHJpY2UgRm91cm5pZXIgZm9yCmRpc2NvdmVyaW5nIGFuZCByZXBvcnRp bmcgdGhpcyBwcm9ibGVtLCBhbmQga2VlcGluZyBvbiBhdCBtZSB3aGVuIGF0IGZpcnN0IEkKZGlk IG5vdCBiZWxpZXZlIGhpbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhpcyBwYXRjaCBpcyBmb3Ig dmVyc2lvbiAzLjMzLiBJdCBzaG91bGQgYWxzbyB3b3JrIG9uIGFsbCBwcmV2aW91cyB2ZXJzaW9u cwpiYWNrIHRvIDMuMjAuCgoqKiogZXhpbS0zLjMzL3NyYy90cmFuc3BvcnRzL3BpcGUuYyBXZWQg QXVnIDE1IDEyOjA5OjEzIDIwMDEKLS0tIHRyYW5zcG9ydHMvcGlwZS5jCVRodSBEZWMgMTMgMTA6 MjU6MjEgMjAwMQoqKioqKioqKioqKioqKioKKioqIDQ4Nyw0OTMgKioqKgogIHBvaW50ZWQgdG8g YnkgYWRkci0+bG9jYWxfcGFydDsgaXQgc3RhcnRzIHdpdGggdGhlIHBpcGUgc3ltYm9sLiBJbiBv dGhlciBjYXNlcywKICB0aGUgY29tbWFuZCBpcyBzdXBwbGllZCBhcyBvbmUgb2YgdGhlIHBpcGUg dHJhbnNwb3J0J3Mgb3B0aW9ucy4gKi8KCiEgaWYgKGFkZHItPmxvY2FsX3BhcnRbMF0gPT0gJ3wn KQogICAgewogICAgY21kID0gYWRkci0+bG9jYWxfcGFydCArIDE7CiAgICB3aGlsZSAoaXNzcGFj ZSgodXNjaGFyKSpjbWQpKSBjbWQrKzsKLS0tIDQ4Nyw0OTMgLS0tLQogIHBvaW50ZWQgdG8gYnkg YWRkci0+bG9jYWxfcGFydDsgaXQgc3RhcnRzIHdpdGggdGhlIHBpcGUgc3ltYm9sLiBJbiBvdGhl ciBjYXNlcywKICB0aGUgY29tbWFuZCBpcyBzdXBwbGllZCBhcyBvbmUgb2YgdGhlIHBpcGUgdHJh bnNwb3J0J3Mgb3B0aW9ucy4gKi8KCiEgaWYgKHRlc3RmbGFnKGFkZHIsYWZfcGZyKSAmJiBhZGRy LT5sb2NhbF9wYXJ0WzBdID09ICd8JykKICAgIHsKICAgIGNtZCA9IGFkZHItPmxvY2FsX3BhcnQg KyAxOwogICAgd2hpbGUgKGlzc3BhY2UoKHVzY2hhcikqY21kKSkgY21kKys7Ci0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoaXMgcGF0Y2ggaXMgZm9yIHZlcnNpb25z IGJlZm9yZSAzLjIwLiBJdCBzaG91bGQgd29yayBhdCBsZWFzdCBhcyBmYXIgYmFjayBhcwpyZWxl YXNlIDMuMTIgKHdoaWNoIHdhcyByZWxlYXNlIG9uIERlY2VtYmVyIDgsIDE5OTkpLiBJdCBtYXkg d29yayBvbiBlYXJsaWVyCnJlbGVhc2VzIC0gaWYgbm90LCBpdCBpcyBzdWNoIGEgc2ltcGxlIHBh dGNoIHRoYXQgeW91IHNob3VsZCBiZSBhYmxlIHRvIGZpZ3VyZQpvdXQgd2hhdCB0byBjaGFuZ2Ug YnkgaGFuZC4KCioqKiBzcmMvdHJhbnNwb3J0cy9waXBlLmMgV2VkIEF1ZyAxNSAxMjowOToxMyAy MDAxCi0tLSB0cmFuc3BvcnRzL3BpcGUuYwlUaHUgRGVjIDEzIDEwOjI1OjIxIDIwMDEKKioqKioq KioqKioqKioqCioqKiA0ODcsNDkzICoqKioKICBwb2ludGVkIHRvIGJ5IGFkZHItPmxvY2FsX3Bh cnQ7IGl0IHN0YXJ0cyB3aXRoIHRoZSBwaXBlIHN5bWJvbC4gSW4gb3RoZXIgY2FzZXMsCiAgdGhl IGNvbW1hbmQgaXMgc3VwcGxpZWQgYXMgb25lIG9mIHRoZSBwaXBlIHRyYW5zcG9ydCdzIG9wdGlv bnMuICovCgohIGlmIChhZGRyLT5sb2NhbF9wYXJ0WzBdID09ICd8JykKICAgIHsKICAgIGNtZCA9 IGFkZHItPmxvY2FsX3BhcnQgKyAxOwogICAgd2hpbGUgKGlzc3BhY2UoKHVzY2hhcikqY21kKSkg Y21kKys7Ci0tLSA0ODcsNDkzIC0tLS0KICBwb2ludGVkIHRvIGJ5IGFkZHItPmxvY2FsX3BhcnQ7 IGl0IHN0YXJ0cyB3aXRoIHRoZSBwaXBlIHN5bWJvbC4gSW4gb3RoZXIgY2FzZXMsCiAgdGhlIGNv bW1hbmQgaXMgc3VwcGxpZWQgYXMgb25lIG9mIHRoZSBwaXBlIHRyYW5zcG9ydCdzIG9wdGlvbnMu ICovCgohIGlmIChhZGRyLT5wZnIgJiYgYWRkci0+bG9jYWxfcGFydFswXSA9PSAnfCcpCiAgICB7 CiAgICBjbWQgPSBhZGRyLT5sb2NhbF9wYXJ0ICsgMTsKICAgIHdoaWxlIChpc3NwYWNlKCh1c2No YXIpKmNtZCkpIGNtZCsrOwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKLS0KUGhpbGlwIEhhemVsICAg ICAgICAgICAgVW5pdmVyc2l0eSBvZiBDYW1icmlkZ2UgQ29tcHV0aW5nIFNlcnZpY2UsCnBoMTBA Y3VzLmNhbS5hYy51ayAgICAgIENhbWJyaWRnZSwgRW5nbGFuZC4gUGhvbmU6ICs0NCAxMjIzIDMz NDcxNC4KCgotLQoKIyMgTGlzdCBkZXRhaWxzIGF0IGh0dHA6Ly93d3cuZXhpbS5vcmcvbWFpbG1h bi9saXN0aW5mby9leGltLXVzZXJzIEV4aW0gZGV0YWlscyBhdCBodHRwOi8vd3d3LmV4aW0ub3Jn LyAjIwoKCgotLS0tLSBFbmQgZm9yd2FyZGVkIG1lc3NhZ2UgLS0tLS0KCi0tIAotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpUYWJvciBKLiBXZWxscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0d2Vs bHNAZnNja2l0Lm5ldApGc2NrIEl0ISAgICAgICAgICAgICAgICAgSnVzdCBhbm90aGVyIHZpY3Rp bSBvZiB0aGUgYW1iaWVudCBtb3JhbGl0eQoKLS1oZmZmamRsYWtqZmhlbm1ha2FjbgpDb250ZW50 LVR5cGU6IG1lc3NhZ2UvcmZjODIyCkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5h bWU9ImJ1Z3RyYXFfMjk2NS5lem0iCgpTdWJqZWN0OiBJUk0gU2VjdXJpdHkgQWR2aXNvcnkgMDAy OiBOZXR3YXJlIFdlYiBTZXJ2ZXIgU291cmNlIERpc2Nsb3N1cmUKRnJvbTogSVJNIFNlY3VyaXR5 IEFkdmlzb3JpZXMgPGFkdmlzb3JpZXNAaXJtcGxjLmNvbT4KVG86IEJ1Z3RyYXEgPGJ1Z3RyYXFA c2VjdXJpdHlmb2N1cy5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgpDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA3Yml0CkRhdGU6IDE5IERlYyAyMDAxIDExOjQ0OjI1ICswMDAwCk1lc3Nh Z2UtSWQ6IDwxMDA4NzYyMjY1Ljg1NzcuNDIuY2FtZWxAanViZWk+Ck1pbWUtVmVyc2lvbjogMS4w CgotLS0tLUJFR0lOIFBHUCBTSUdORUQgTUVTU0FHRS0tLS0tCkhhc2g6IFNIQTEKCj0tPS09LT0t PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09 LT0tPS0KSVJNIFNlY3VyaXR5IEFkdmlzb3J5IE5vLiAwMDIKCk5ldHdhcmUgV2ViIFNlcnZlciA1 LjEgU2FtcGxlIFBhZ2UgU291cmNlIERpc2Nsb3N1cmUKClZ1bG5lcmFibGl0eSBUeXBlIC8gSW1w b3J0YW5jZTogSW5mb3JtYXRpb24gTGVha2FnZSAvIEhpZ2gKClByb2JsZW0gZGlzY292ZXJlZDog Tm92ZW1iZXIgMTh0aCAyMDAxClZlbmRvciBjb250YWN0ZWQ6IE5vdmVtYmVyIDIwdGggMjAwMSwg Tm92ZW1iZXIgMjl0aCAyMDAxCkFkdmlzb3J5IHB1Ymxpc2hlZDogRGVjZW1iZXIgMTF0aCAyMDAx Cj0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS09LT0tPS09LT0tPS0KCkFic3RyYWN0Ogp+fn5+fn5+fn4KCk5vdmVsbCdzIE5ldHdhcmUgNS4x IGlzIHNoaXBwZWQgd2l0aCBhIFdlYiBTZXJ2ZXIgdGhhdCBpcyBpbnN0YWxsZWQgYnkKZGVmYXVs dCBhbmQgY29udGFpbnMgdmFyaW91cyBzYW1wbGUgd2ViIHBhZ2VzLiBUaGVyZSBpcyBhICJ2aWV3 Y29kZSIKYXBwbGljYXRpb24gdGhhdCBpcyBydW4gdGhyb3VnaCBhIE5ldHdhcmUgTG9hZGFibGUg TW9kdWxlIChOTE0pLCB3aGljaAphbGxvd3MgdGhlIHNvdXJjZSBjb2RlIG9mIGEgZGVmYXVsdCB3 ZWIgcGFnZSB0byBiZSB2aWV3ZWQuIEhvd2V2ZXIsIHRoZQpOTE0gaGFzIHRoZSBzYW1wbGUgcGFn ZSBuYW1lIHBhc3NlZCB0byBpdCB0aHJvdWdoIGEgVVJMIGNvbnRhaW5pbmcgdGhlCnBhdGggdG8g dGhlIGZpbGUuIEl0IGlzIHBvc3NpYmxlIHRvIGFsdGVyIHRoZSBVUkwgdG8gcGVybWl0IHRoZSBj b250ZW50cyAKb2YgYW55IGZpbGUgb24gdGhlIHN5c3RlbSB0byBiZSB2aWV3ZWQgZXZlbiB0aG9z ZSBzaXR1YXRlZCBvdXRzaWRlIHRoZSAKd2ViIHJvb3QuIFVzaW5nIHRoaXMgbWV0aG9kIGl0IGlz IHBvc3NpYmxlIHRvIHZpZXcgaW1wb3J0YW50IApjb25maWd1cmF0aW9uIGZpbGVzIGluY2x1ZGlu ZyB0aGUgYXV0b2V4ZWMubmNmIGZpbGUgd2hpY2ggY29udGFpbnMgdGhlCnJlbW90ZSBjb25zb2xl IHBhc3N3b3JkLgoKRGVzY3JpcHRpb246Cn5+fn5+fn5+fn5+fgoKTmV0d2FyZSBpcyBhbiBPcGVy YXRpbmcgU3lzdGVtIGRldmVsb3BlZCBieSBOb3ZlbGwKKGh0dHA6Ly93d3cubm92ZWxsLmNvbSkg YW5kIGlzIHVzZWQgYnkgbWFueSBvcmdhbmlzYXRpb25zIGZvciB1c2VyIGZpbGUKYW5kIHByaW50 IHNoYXJpbmcuIFZlcnNpb24gNS4xIG9mIHRoZSBOZXR3YXJlIE9wZXJhdGluZyBzeXN0ZW0gY29t ZXMKd2l0aCBhIHdlYiBzZXJ2ZXIgdGhhdCB3aWxsIGJlIGluc3RhbGxlZCBieSBkZWZhdWx0LgpJ bmNsdWRlZCBvbiB0aGUgd2ViIHNlcnZlciBhcmUgYSB3aWRlIHZhcmlldHkgb2Ygc2FtcGxlIHBh Z2VzIHRoYXQKZGVtb25zdHJhdGUgdGhlIGZsZXhpYmlsaXR5IGFuZCBmZWF0dXJlcyBvZiB0aGUg cHJvZHVjdC4gSG93ZXZlciwgb25lCnNhbXBsZSBwYWdlIHVzZXMgYSBOZXR3YXJlIExvYWRhYmxl IE1vZHVsZSAoTkxNKSBjYWxsZWQgc2V3c2UubmxtIHRvCmNhbGwgYSBzY3JpcHQgY2FsbGVkIHZp ZXdjb2RlLmpzZS4gVGhlIHZpZXdjb2RlLmpzZSBmaWxlIGlzIGRlc2lnbmVkIHRvCmJlIHVzZWQg dG8gZGlzcGxheSB0aGUgc291cmNlIGNvZGUgb2Ygc2FtcGxlIGZpbGVzIGNhbGxlZCBodHRwbGlz dC5odG0KYW5kIGh0dHBsaXN0LmpzZS4gVGhlc2UgZmlsZSBuYW1lcyBhcmUgcGFzc2VkIGFzIHBh cmFtZXRlcnMgdG8gdGhlIE5MTQp0aHJvdWdoIGEgVVJMIHN1Y2ggYXMgKFVSTCBtYXkgd3JhcCk6 CgpodHRwOi8vMTAuMC4yNS41L2xjZ2kvc2V3c2UubmxtP3N5czovbm92b255eC9zdWl0ZXNwb3Qv ZG9jcy9zZXdzZS92aWV3Y29kZS5qc2UraHR0cGxpc3QvaHR0cGxpc3QuaHRtK2h0dHBsaXN0L2h0 dHBsaXN0LmpzZQoKVGhlIGFwcGxpY2F0aW9uIGNoZWNrcyB0aGUgZmlsZXMgYmVpbmcgcmVxdWVz dGVkIGJ5IHJlcXVpcmluZyB0aGF0IHRoZQpodHRwbGlzdCBkaXJlY3RvcnkgaXMgc3BlY2lmaWVk IGluIHRoZSBwYXRoIHRvIHRoZSBmaWxlcyB0byBiZSB2aWV3ZWQuCkhvd2V2ZXIsIGl0IGlzIHBv c3NpYmxlIHRvIHRyYXZlcnNlIGRpcmVjdG9yaWVzIHVzaW5nIC8uLi8gYWZ0ZXIKaHR0cGxpc3Qu IFRoZSBzZXdzZS5ubG0gbW9kdWxlIHJ1bnMgd2l0aCBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHdo ZXJlYnkKaXQgcG9zc2libGUgdG8gdHJhdmVyc2UgdG8gYW55IGZpbGUgb24gdGhlIGZpbGUgc3lz dGVtIGFuZCB2aWV3IHRoZQpjb250ZW50cy4KVGhlcmUgYXJlIG1hbnkgZmlsZXMgdGhhdCBtYXkg YmUgb2YgaW50ZXJlc3QgdG8gYW4gYXR0YWNrZXIgYW5kIHRoZXNlCmluY2x1ZGU6CgpTWVM6XEVU Q1xORVRJTkZPLkNGRyAJCS0gQ2FuIGNvbnRhaW4gYSBjb3B5IG9mIHRoZSByY29uc29sZSAKCQkJ CSAgcGFzc3dvcmQKU1lTOlxTWVNURU1cQVVUT0VYRUMuTkNGIAktIENvbnRhaW5zIHRoZSByY29u c29sZSBwYXNzd29yZApTWVM6XEVUQ1xGVFBBVURJVC5MT0cgCQktIENvbnRhaW5zIHZhbGlkIHVz ZXJuYW1lcyBmb3IgcGFzc3dvcmQgCgkJCQkgIGd1ZXNzaW5nIGF0dGVtcHRzCgpBbiBhdHRhY2tl ciBjb3VsZCB1c2UgdGhlIGluZm9ybWF0aW9uIGdhaW5lZCB0byBsYXVjaCBmdXJ0aGVyIGF0dGFj a3Mgb3IKdG8gZ2FpbiBjb25zb2xlIGFjY2VzcyB1c2luZyB0aGUgcmNvbnNvbGUgcGFzc3dvcmQu CkFuIGV4YW1wbGUgb2YgdGhlIFVSTCB1c2VkIHRvIHZpZXcgdGhlIGF1dG9leGVjLm5jZiBpcyAo VVJMIG1heSB3cmFwKToKCmh0dHA6Ly8xMC4wLjI1LjUvbGNnaS9zZXdzZS5ubG0/c3lzOi9ub3Zv bnl4L3N1aXRlc3BvdC9kb2NzL3Nld3NlL3ZpZXdjb2RlLmpzZStodHRwbGlzdCtodHRwbGlzdC8u Li8uLi8uLi8uLi8uLi9zeXN0ZW0vYXV0b2V4ZWMubmNmCgpUaGVyZSBhcmUgTm92ZWxsIGJlc3Qg cHJhY3RpY2VzIHdoaWNoIGluY2x1ZGUgZW5jcnlwdGluZyB0aGUgcmNvbnNvbGUKcGFzc3dvcmQg aW4gdGhlIGF1dG9leGVjLm5jZiBmaWxlLiBIb3dldmVyLCB0aGVyZSBhcmUgdG9vbHMgYXZhaWxh YmxlCndoaWNoIGNhbiBiZSB1c2VkIHRvIGJyZWFrIHRoaXMgZW5jcnlwdGlvbi4gQW5vdGhlciBO b3ZlbGwKcmVjb21tZW5kYXRpb24gaXMgdG8gdXNlIGEgQ29uc29sZSBTY3JlZW5zYXZlciB3aGlj aCByZXF1aXJlcyB0aGUgYWRtaW4KcGFzc3dvcmQgdG8gYmUgZW50ZXJlZCBhZnRlciBhIHJjb25z b2xlIGNvbm5lY3Rpb24gaGFzIGJlZW4gbWFkZS4KVGhpcyBpc3N1ZSBpcyBzaW1pbGFyIHRvIHRo ZSBwcm9ibGVtIGRpc2NvdmVyZWQgd2l0aCB0aGUgY29udmVydC5iYXMKc2NyaXB0IHRoYXQgc2hp cHBlZCB3aXRoIE5ldHdhcmUgV2ViIFNlcnZlciB2ZXJzaW9uIDIuMC4gVGhpcyBwcmV2aW91cwpp c3N1ZSBpcyByZWNvcmRlZCBhcyBCdWd0cmFxIElEIDIwMjUgYW5kIENWRS0xOTk5LTAxNzUuCgpU ZXN0ZWQgVmVyc2lvbnM6Cn5+fn5+fiB+fn5+fn5+fn4KTmV0d2FyZSBXZWIgU2VydmVyIDUuMSAK ClRlc3RlZCBPcGVyYXRpbmcgU3lzdGVtczoKfn5+fn5+IH5+fn5+fn5+fiB+fn5+fn5+fgpOZXR3 YXJlIE9wZXJhdGluZyBTeXN0ZW0gdmVyc2lvbiA1LjEKClZlbmRvciAmIFBhdGNoIEluZm9ybWF0 aW9uOgp+fn5+fn4gfiB+fn5+fiB+fn5+fn5+fn5+fn4KVGhlIHZlbmRvciBvZiB0aGlzIHByb2R1 Y3QsIE5vdmVsbCwgd2FzIGNvbnRhY3RlZCB2aWEgZW1haWwgdXNpbmcgdGhlIAphZGRyZXNzIGxp c3RlZCBhcyB0aGVpciAnY29tbXVuaXR5IHJlbGF0aW9ucycgb24gMjB0aCBOb3ZlbWJlciAyMDAx LiAKV2hlbiBubyByZXBseSB3YXMgcmVjZWl2ZWQgdG8gdGhpcyBlbWFpbCBhZnRlciBuaW5lIGRh eXMsIGFub3RoZXIKZW1haWwgd2FzIHNlbnQgb24gMjl0aCBOb3ZlbWJlciAyMDAxIHRvIHRoZSBz YW1lIGFkZHJlc3MsIGFuZCBjb3BpZWQgCnRvICdzZWN1cmVAbm92ZWxsLmNvbScuIE5vIHJlcGx5 IGZyb20gZWl0aGVyIGFkZHJlc3MgaGFkIGJlZW4gcmVjZWl2ZWQgCmFzIG9mIERlY2VtYmVyIDEx dGggMjAwMSwgYW5kIHRoZXJlZm9yZSB0aGUgdnVsbmVyYWJpbGl0eSAKaXMgYmVpbmcgcmVsZWFz ZWQgdG8gQnVndHJhcS4KICAKCldvcmthcm91bmRzOgp+fn5+fn5+fn5+fn4KQSB3b3JrYXJvdW5k IGludm9sdmVzIHJlbW92aW5nIGFsbCBzYW1wbGUgd2ViIHBhZ2VzIGFuZCBzYW1wbGUgTkxNcy4K CgpDcmVkaXRzOgp+fn5+fn5+fgpSZXNlYXJjaCAmIEFkdmlzb3J5OiBNYXJ0eW4gUnVrcyAobWFy dHluLnJ1a3NAaXJtcGxjLmNvbSkKClRoYW5rczogCUItcjAwdCAoYnIwMHRAaXJtcGxjLmNvbSkK CSAJTWFjYXZpdHkgKG1hY2F2aXR5QGlybXBsYy5jb20pCgkJbW9ycGhzdGEgKG1vcnBoQGlybXBs Yy5jb20pCgkJQmx1bnQgKGJsdW50QGlybXBsYy5jb20pCgkJQW50IChhbnRAaXJtcGxjLmNvbSkK CQlTaGx1ZyAoc2hsdWdAaXJtcGxjLmNvbSkKCQlpbmRpZzAgKGluZGlnMEB0YWxrMjEuY29tKQoK CgpEaXNjbGFpbWVyOgp+fn5+fn5+fn5+fgpBbGwgaW5mb3JtYXRpb24gaW4gdGhpcyBhZHZpc29y eSBpcyBwcm92aWRlZCBvbiBhbiAnYXMgaXMnCmJhc2lzIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwuIEluZm9ybWF0aW9uIFJpc2sgTWFuYWdlbWVudApQbGMgaXMgbm90IHJlc3Bv bnNpYmxlIGZvciBhbnkgcmlza3Mgb3Igb2NjdXJyZW5jZXMgY2F1c2VkCmJ5IHRoZSBhcHBsaWNh dGlvbiBvZiB0aGlzIGluZm9ybWF0aW9uLgoKQSBjb3B5IG9mIHRoaXMgYWR2aXNvcnkgbWF5IGJl IGZvdW5kIGF0Cmh0dHA6Ly93d3cuaXJtcGxjLmNvbS9hZHZpc29yaWVzCgpUaGUgUEdQIGtleSB1 c2VkIHRvIHNpZ24gSVJNIGFkdmlzb3JpZXMgY2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIGFib3Zl ClVSTCwgb3IgZnJvbSBrZXlzZXJ2ZXIubmV0IGFuZCBpdHMgbWlycm9ycy4KCj0tPS09LT0tPS09 LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t PS0KSW5mb3JtYXRpb24gUmlzayBNYW5hZ2VtZW50IFBsYy4gCmh0dHA6Ly93d3cuaXJtcGxjLmNv bSwgaW5mb0Bpcm1wbGMuY29tCjIyIEJ1Y2tpbmdoYW0gR2F0ZSAKTG9uZG9uIApTVzFFIDZMQgor NDQgKDApMjA3IDgwOCA2NDIwCgoKCgoKLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVy c2lvbjogR251UEcgdjEuMC42IChHTlUvTGludXgpCkNvbW1lbnQ6IEZvciBpbmZvIHNlZSBodHRw Oi8vd3d3LmdudXBnLm9yZwoKaUVZRUFSRUNBQVlGQWp3WjNOc0FDZ2tRRHhUWU5TSk1jZ1dHRlFD ZU5BUFVybmZGd05PU29URWpzQmhldWtWVgo2VGtBbmpIMGJXcWtOVEExQU1KMjFBY2VwUTFUVnp3 Uwo9UUNPKwotLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0KCgotLWhmZmZqZGxha2pmaGVubWFr YWNuLS0KCg== --=-=-=--