From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 29 Jun 2021 07:10:48 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1ly61H-0007Cp-TD for lore@lore.pengutronix.de; Tue, 29 Jun 2021 07:10:48 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1ly61H-0007XM-Dh; Tue, 29 Jun 2021 07:10:47 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ly5zo-0005eY-Uo; Tue, 29 Jun 2021 07:09:17 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1ly5zo-0005cU-F1; Tue, 29 Jun 2021 07:09:16 +0200 Received: from mol by dude03.red.stw.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1ly5zo-00AaZv-C8; Tue, 29 Jun 2021 07:09:16 +0200 From: Michael Olbrich To: ptxdist@pengutronix.de Date: Tue, 29 Jun 2021 07:09:16 +0200 Message-Id: <20210629050916.2523844-1-m.olbrich@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210616155631.12180-1-rhi@pengutronix.de> References: <20210616155631.12180-1-rhi@pengutronix.de> MIME-Version: 1.0 Subject: Re: [ptxdist] [APPLIED] doc: dev manual: propagate two subsections to sections X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Roland Hieber Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false VGhhbmtzLCBhcHBsaWVkIGFzIDlhNjMxZDc0MzVlZjdkMDEyYmRjY2M0MzU0ZDM3YzQ0Njg3M2Y0 ZTQuCgpNaWNoYWVsCgpbc2VudCBmcm9tIHBvc3QtcmVjZWl2ZSBob29rXQoKT24gVHVlLCAyOSBK dW4gMjAyMSAwNzowOToxNiArMDIwMCwgUm9sYW5kIEhpZWJlciA8cmhpQHBlbmd1dHJvbml4LmRl PiB3cm90ZToKPiBUaGUgIkFkZGluZyBuZXcgcGFja2FnZXMiIHNlY3Rpb24gaGFzIGJlY29tZSBx dWl0ZSBsb25nIGFscmVhZHksIHRvIHRoZQo+IHBvaW50IHRoYXQgc29tZSBoZWFkaW5ncyBoYXZl IHJlYWNoZWQgbGV2ZWwgZml2ZSBhbmQgbm8gbG9uZ2VyIG1ha2UgaXQKPiBpbnRvIHRoZSB0YWJs ZSBvZiBjb250ZW50cy4gVGhlIHN1YnNlY3Rpb25zICJBZHZhbmNlZCBydWxlIGZpbGVzIiBhbmQK PiAiUGF0Y2hpbmcgcGFja2FnZXMiIGFyZSBhbHNvIG5vdCBvbmx5IHJlbGV2YW50IGZvciBuZXcg cGFja2FnZXMsIHNvCj4gcHJvcGFnYXRlIHRoZW0gdG8gdGhlaXIgb3duIHNlY3Rpb25zLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IFJvbGFuZCBIaWViZXIgPHJoaUBwZW5ndXRyb25peC5kZT4KPiBNZXNz YWdlLUlkOiA8MjAyMTA2MTYxNTU2MzEuMTIxODAtMS1yaGlAcGVuZ3V0cm9uaXguZGU+Cj4gU2ln bmVkLW9mZi1ieTogTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+Cj4g Cj4gZGlmZiAtLWdpdCBhL2RvYy9kZXZfYWRkX25ld19wa2dzLnJzdCBiL2RvYy9kZXZfYWRkX25l d19wa2dzLnJzdAo+IGluZGV4IDBkYmM3YTI2NmVhOC4uMzUwNjQzNmQ3OGVjIDEwMDY0NAo+IC0t LSBhL2RvYy9kZXZfYWRkX25ld19wa2dzLnJzdAo+ICsrKyBiL2RvYy9kZXZfYWRkX25ld19wa2dz LnJzdAo+IEBAIC02NDgsNjkyICs2NDgsMyBAQCByZXBvc2l0b3J5IGFuZCBpdHMgY29udGVudC4g SXQgY29udGFpbnMgYSBsaXN0IG9mIGtub3duIGxpY2Vuc2VzIGJhc2VkIG9uIHRoZWlyCj4gIFNQ RFggaWRlbnRpZmllci4gVGhlIGNvbnRlbnQgaXMgd2l0aG91dCBmb3JtYXR0aW5nIHRvIHNpbXBs aWZ5IHRleHQgc2VhcmNoLgo+ICAKPiAgICAgaHR0cHM6Ly9naXRodWIuY29tL3NwZHgvbGljZW5z ZS1saXN0LWRhdGEvdHJlZS9tYXN0ZXIvdGV4dAo+IC0KPiAtQWR2YW5jZWQgUnVsZSBGaWxlcwo+ IC1+fn5+fn5+fn5+fn5+fn5+fn5+Cj4gLQo+IC1UaGUgcHJldmlvdXMgZXhhbXBsZSBvbiBob3cg dG8gY3JlYXRlIGEgcnVsZSBmaWxlIHNvbWV0aW1lcyB3b3JrcyBhcwo+IC1zaG93biBhYm92ZS4g QnV0IG1vc3Qgb2YgdGhlIHRpbWUgc291cmNlIGFyY2hpdmVzIGFyZSBub3QgdGhhdCBzaW1wbGUu Cj4gLUluIHRoaXMgc2VjdGlvbiB3ZSB3YW50IHRvIGdpdmUgdGhlIHVzZXIgYSBtb3JlIGRldGFp bGVkIHNlbGVjdGlvbiBob3cKPiAtdGhlIHBhY2thZ2Ugd2lsbCBiZSBidWlsdC4KPiAtCj4gLUFk ZGluZyBTdGF0aWMgQ29uZmlndXJlIFBhcmFtZXRlcnMKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl5eXgo+IC0KPiAtVGhlIGBgY29uZmlndXJlYGAgc2NyaXB0cyBvZiB2YXJpb3Vz IHNvdXJjZSBhcmNoaXZlcyBwcm92aWRlIGFkZGl0aW9uYWwKPiAtcGFyYW1ldGVycyB0byBlbmFi bGUgb3IgZGlzYWJsZSBmZWF0dXJlcywgb3IgdG8gY29uZmlndXJlIHRoZW0gaW4gYQo+IC1zcGVj aWZpYyB3YXkuCj4gLQo+IC1XZSBhc3N1bWUgdGhlIGBgY29uZmlndXJlYGAgc2NyaXB0IG9mIG91 ciBgYGZvb2BgIGV4YW1wbGUgKHJlZmVyIHRvCj4gLXNlY3Rpb24gOnJlZjpgZm9vX2V4YW1wbGVg KSBzdXBwb3J0cyB0d28gYWRkaXRpb25hbCBwYXJhbWV0ZXJzOgo+IC0KPiAtLSAgKiotLWVuYWJs ZS1kZWJ1ZyoqOiBNYWtlIHRoZSBwcm9ncmFtIG1vcmUgbm9pc3kuIEl04oCZcyBkaXNhYmxlZCBi eQo+IC0gICBkZWZhdWx0Lgo+IC0KPiAtLSAgKiotLXdpdGgtYmFyKio6IEFsc28gYnVpbGQgdGhl IHNwZWNpYWwgZXhlY3V0YWJsZSAqKmJhcioqLiBCdWlsZGluZwo+IC0gICB0aGlzIGV4ZWN1dGFi bGUgaXMgYWxzbyBkaXNhYmxlZCBieSBkZWZhdWx0Lgo+IC0KPiAtV2Ugbm93IHdhbnQgdG8gZm9y d2FyZCB0aGVzZSBvcHRpb25zIHRvIHRoZSBgYGNvbmZpZ3VyZWBgIHNjcmlwdCB3aGVuIGl0Cj4g LXJ1bnMgaW4gdGhlICpwcmVwYXJlKiBzdGFnZS4gVG8gZG8gc28sIHdlIG11c3QgYWdhaW4gb3Bl biB0aGUgcnVsZSBmaWxlCj4gLXdpdGggb3VyIGZhdm91cml0ZSBlZGl0b3IgYW5kIG5hdmlnYXRl IHRvIHRoZSAqcHJlcGFyZSogc3RhZ2UgZW50cnkuCj4gLQo+IC1QVFhkaXN0IHVzZXMgdGhlIHZh cmlhYmxlIGBgRk9PX0NPTkZfT1BUYGAgYXMgdGhlIGxpc3Qgb2YgcGFyYW1ldGVycyB0bwo+IC1i ZSBnaXZlbiB0byBgYGNvbmZpZ3VyZWBgLgo+IC0KPiAtQ3VycmVudGx5IHRoaXMgdmFyaWFibGUg aXMgY29tbWVudGVkIG91dCBhbmQgZGVmaW5lZCB0bzoKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiBt YWtlCj4gLQo+IC0gICAgIyBGT09fQ09ORl9PUFQgOj0gJChDUk9TU19BVVRPQ09ORl9VU1IpCj4g LQo+IC1UaGUgdmFyaWFibGUgYGBDUk9TU19BVVRPQ09ORl9VU1JgYCBpcyBwcmVkZWZpbmVkIGJ5 IFBUWGRpc3QgYW5kCj4gLWNvbnRhaW5zIGFsbCBiYXNpYyBwYXJhbWV0ZXJzIHRvIGluc3RydWN0 IGBgY29uZmlndXJlYGAgdG8gcHJlcGFyZSBmb3IgYQo+IC0qKmNyb3NzKiogY29tcGlsZSBlbnZp cm9ubWVudC4KPiAtCj4gLVRvIHVzZSB0aGUgdHdvIGFkZGl0aW9uYWwgbWVudGlvbmVkIGBgY29u ZmlndXJlYGAgcGFyYW1ldGVycywgd2UgY29tbWVudAo+IC1pbiB0aGlzIGxpbmUgYW5kIHN1cHBs ZW1lbnQgdGhpcyBleHByZXNzaW9uIGFzIGZvbGxvd3M6Cj4gLQo+IC0uLiBjb2RlLWJsb2NrOjog bWFrZQo+IC0KPiAtICAgIEZPT19DT05GX09QVCA6PSBcCj4gLSAgICAgICAgJChDUk9TU19BVVRP Q09ORl9VU1IpIFwKPiAtICAgICAgICAtLWVuYWJsZS1kZWJ1ZyBcCj4gLSAgICAgICAgLS13aXRo LWJhcgo+IC0KPiAtLi4gbm90ZTo6IFdlIHJlY29tbWVuZCB0byB1c2UgdGhpcyBmb3JtYXQgd2l0 aCBlYWNoIHBhcmFtZXRlciBvbiBhIGxpbmUgb2YKPiAtIGl0cyBvd24uIFRoaXMgZm9ybWF0IGlz IGVhc2llciB0byByZWFkIGFuZCBhIGRpZmYgc2hvd3MgbW9yZSBleGFjdGx5IGFueQo+IC0gY2hh bmdlLgo+IC0KPiAtVG8gZG8gYSBmYXN0IGNoZWNrIGlmIHRoaXMgYWRkaXRpb24gd2FzIHN1Y2Nl c3NmdWwsIHdlIHJ1bjoKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiB0ZXh0Cj4gLQo+IC0gICAgJCBw dHhkaXN0IHByaW50IEZPT19DT05GX09QVAo+IC0gICAgLS1wcmVmaXg9L3VzciAtLXN5c2NvbmZk aXI9L2V0YyAtLWhvc3Q9fHB0eGRpc3RDb21waWxlck5hbWV8IC0tYnVpbGQ9aTY4Ni1ob3N0LWxp bnV4LWdudSAtLWVuYWJsZS1kZWJ1ZyAtLXdpdGgtYmFyCj4gLQo+IC0uLiBub3RlOjogSXQgZGVw ZW5kcyBvbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHBsYXRmb3JtIGFuZCBpdHMgYXJjaGl0ZWN0 dXJlCj4gLSB3aGF0IGNvbnRlbnQgdGhpcyB2YXJpYWJsZSB3aWxsIGhhdmUuIFRoZSBjb250ZW50 IHNob3duIGFib3ZlIGlzIGFuCj4gLSBleGFtcGxlIGZvciBhIHRhcmdldC4KPiAtCj4gLU9yIHJl LWJ1aWxkIHRoZSBwYWNrYWdlIHdpdGggdGhlIG5ldyBzZXR0aW5nczoKPiAtCj4gLS4uIGNvZGUt YmxvY2s6OiB0ZXh0Cj4gLQo+IC0gICAgJCBwdHhkaXN0IGRyb3AgZm9vIHByZXBhcmUKPiAtICAg ICQgcHR4ZGlzdCB0YXJnZXRpbnN0YWxsIGZvbwo+IC0KPiAtQWRkaW5nIER5bmFtaWMgQ29uZmln dXJlIFBhcmFtZXRlcnMKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPiAt Cj4gLVNvbWV0aW1lcyBpdCBtYWtlcyBzZW5zZSB0byBhZGQgdGhpcyBraW5kIG9mIHBhcmFtZXRl cnMgb24gZGVtYW5kIG9ubHk7Cj4gLWVzcGVjaWFsbHkgYSBwYXJhbWV0ZXIgbGlrZSBgYC0tZW5h YmxlLWRlYnVnYGAuIFRvIGxldCB0aGUgdXNlciBkZWNpZGUKPiAtaWYgdGhpcyBwYXJhbWV0ZXIg aXMgdG8gYmUgdXNlZCBvciBub3QsIHdlIG11c3QgYWRkIGEgbWVudSBlbnRyeS4gU28sCj4gLWxl dOKAmXMgZXhwYW5kIG91ciBtZW51LiBIZXJlIGlzIGl0cyBjdXJyZW50IGNvbnRlbnQ6Cj4gLQo+ IC0uLiBjb2RlLWJsb2NrOjoga2NvbmZpZwo+IC0KPiAtICAgICMjIFNFQ1RJT049cHJvamVjdF9z cGVjaWZpYwo+IC0KPiAtICAgIGNvbmZpZyBGT08KPiAtICAgICAgICAgICAgdHJpc3RhdGUKPiAt ICAgICAgICAgICAgcHJvbXB0ICJmb28iCj4gLSAgICAgICAgICAgIGhlbHAKPiAtICAgICAgICAg ICAgICBGSVhNRQo+IC0KPiAtV2XigJlsbCBhZGQgdHdvIG1lbnUgZW50cmllcywgb25lIGZvciBl YWNoIG9wdGlvbmFsIHBhcmFtZXRlciB3ZSB3YW50IHRvCj4gLWFkZCBvbiBkZW1hbmQgdG8gdGhl IGBgY29uZmlndXJlYGAgcGFyYW1ldGVyczoKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiBrY29uZmln Cj4gLQo+IC0gICAgIyMgU0VDVElPTj1wcm9qZWN0X3NwZWNpZmljCj4gLQo+IC0gICAgY29uZmln IEZPTwo+IC0gICAgICAgICAgIHRyaXN0YXRlCj4gLSAgICAgICAgICAgcHJvbXB0ICJmb28iCj4g LSAgICAgICAgICAgaGVscAo+IC0gICAgICAgICAgICAgRklYTUUKPiAtCj4gLSAgICBpZiBGT08K PiAtICAgIGNvbmZpZyBGT09fREVCVUcKPiAtICAgICAgICAgICBib29sCj4gLSAgICAgICAgICAg cHJvbXB0ICJhZGQgZGVidWcgbm9pc2UiCj4gLQo+IC0gICAgY29uZmlnIEZPT19CQVIKPiAtICAg ICAgICAgICBib29sCj4gLSAgICAgICAgICAgcHJvbXB0ICJidWlsZCBiYXIiCj4gLQo+IC0gICAg ZW5kaWYKPiAtCj4gLS4uIGltcG9ydGFudDo6IEFsd2F5cyBmb2xsb3cgdGhlIHJ1bGUgdG8gZXh0 ZW5kIHRoZSBiYXNlIG5hbWUgYnkgYSBzdWJvcHRpb24KPiAtICBuYW1lIGFzIHRoZSB0cmFpbGlu ZyBwYXJ0IG9mIHRoZSB2YXJpYWJsZSBuYW1lLiBUaGlzIGdpdmVzIFBUWGRpc3QgdGhlIGFiaWxp dHkKPiAtICB0byBkZXRlY3QgYSBjaGFuZ2UgaW4gdGhlIHBhY2thZ2XigJlzIHNldHRpbmdzICh2 aWEgbWVudWNvbmZpZykgdG8gZm9yY2UgaXRzCj4gLSAgcmVidWlsZCBvbiBkZW1hbmQuCj4gLQo+ IC1UbyBtYWtlIHVzYWdlIG9mIHRoZSBuZXcgbWVudSBlbnRyaWVzLCB3ZSBtdXN0IGNoZWNrIHRo ZW0gaW4gdGhlIHJ1bGUKPiAtZmlsZSBhbmQgYWRkIHRoZSBjb3JyZWN0IHBhcmFtZXRlcnM6Cj4g LQo+IC0uLiBjb2RlLWJsb2NrOjogbWFrZQo+IC0KPiAtICAgICMKPiAtICAgICMgYXV0b2NvbmYK PiAtICAgICMKPiAtICAgIEZPT19DT05GX09QVCA6PSBcCj4gLSAgICAgICAgJChDUk9TU19BVVRP Q09ORl9VU1IpIFwKPiAtICAgICAgICAtLSQoY2FsbCBwdHgvZW5kaXMsIFBUWENPTkZfRk9PX0RF QlVHKS1kZWJ1ZyBcCj4gLSAgICAgICAgLS0kKGNhbGwgcHR4L3d3bywgUFRYQ09ORl9GT09fQkFS KS1iYXIKPiAtCj4gLS4uIGltcG9ydGFudDo6IFBsZWFzZSBub3RlIHRoZSBsZWFkaW5nIGBgUFRY Q09ORl9gYCBmb3IgZWFjaCBkZWZpbmUuIFdoaWxlIEtjb25maWcgaXMKPiAtICB1c2luZyBgYEZP T19CQVJgYCwgdGhlIHJ1bGUgZmlsZSBtdXN0IHVzZSBgYFBUWENPTkZfRk9PX0JBUmBgIGluc3Rl YWQuCj4gLQo+IC0uLiBub3RlOjogUmVmZXIgOnJlZjpgUnVsZSBGaWxlIE1hY3JvIFJlZmVyZW5j ZSA8cGFyYW1fbWFjcm9zPmAgZm9yIGZ1cnRoZXIKPiAtICAgZGV0YWlscyBhYm91dCB0aGVzZSBz cGVjaWFsIGtpbmQgb2Ygb3B0aW9uIG1hY3JvcyAoZS5nLiBgYHB0eC8uLi5gYCkuCj4gLQo+IC1J dCBpcyBhIGdvb2QgcHJhY3RpY2UgdG8gYWx3YXlzIGFkZCBib3RoIHNldHRpbmdzLCBlLmcuIGBg LS1kaXNhYmxlLWRlYnVnYGAKPiAtZXZlbiBpZiB0aGlzIGlzIHRoZSBkZWZhdWx0IGNhc2UuIFNv bWV0aW1lcyBgYGNvbmZpZ3VyZWBgIHRyaWVzIHRvIGd1ZXNzCj4gLXNvbWV0aGluZyBhbmQgdGhl IGJpbmFyeSByZXN1bHQgbWlnaHQgZGlmZmVyIGRlcGVuZGluZyBvbiB0aGUgYnVpbGQKPiAtb3Jk ZXIuIEZvciBleGFtcGxlIHNvbWUga2luZCBvZiBwYWNrYWdlIHdvdWxkIGFsc28gYnVpbGQgc29t ZSBYIHJlbGF0ZWQKPiAtdG9vbHMsIGlmIFggbGlicmFyaWVzIGFyZSBmb3VuZC4gSW4gdGhpcyBj YXNlIGl0IGRlcGVuZHMgb24gdGhlIGJ1aWxkCj4gLW9yZGVyLCBpZiB0aGUgWCByZWxhdGVkIHRv b2xzIGFyZSBidWlsdCBvciBub3QuIEFsbCB0aGUgYXV0b2NoZWNrCj4gLWZlYXR1cmVzIGFyZSBw cm9ibGVtYXRpYyBoZXJlLiBTbywgaWYgd2UgZG8gbm90IHdhbnQgYGBjb25maWd1cmVgYCB0bwo+ IC1ndWVzcyBpdHMgc2V0dGluZ3Mgd2UgKiptdXN0IGRpc2FibGUgZXZlcnl0aGluZyB3ZSBkbyBu b3Qgd2FudCoqLgo+IC0KPiAtVG8gc3VwcG9ydCB0aGlzIHByb2Nlc3MsIFBUWGRpc3Qgc3VwcGxp ZXMgYSBoZWxwZXIgc2NyaXB0LCBsb2NhdGVkIGF0Cj4gLWBgL3BhdGgvdG8vcHR4ZGlzdC9zY3Jp cHRzL2NvbmZpZ3VyZS1oZWxwZXIucHlgYCB0aGF0IGNvbXBhcmVzIHRoZSBjb25maWd1cmUKPiAt b3V0cHV0IHdpdGggdGhlIHNldHRpbmdzIGZyb20gYGBGT09fQ09ORl9PUFRgYDoKPiAtCj4gLS4u IGNvZGUtYmxvY2s6OiB0ZXh0Cj4gLQo+IC0gICAgJCAvb3B0L3B0eGRpc3QtMjAxNy4wNi4wL3Nj cmlwdHMvY29uZmlndXJlLWhlbHBlci5weSAtcCBsaWJzaWdyb2sKPiAtICAgIC0tLSBydWxlcy9s aWJzaWdyb2subWFrZQo+IC0gICAgKysrIGxpYnNpZ3Jvay0wLjUuMAo+IC0gICAgQEAgLTQsMyAr NCw3NCBAQAo+IC0gICAgIAktLWxpYmRpcj0vdXNyL2xpYgo+IC0gICAgIAktLWJ1aWxkPXg4Nl82 NC1ob3N0LWxpbnV4LWdudQo+IC0gICAgIAktLWhvc3Q9YXJtLXY3YS1saW51eC1nbnVlYWJpaGYK PiAtICAgICsJLS1lbmFibGUtd2FybmluZ3M9bWlufG1heHxmYXRhbHxubwo+IC0gICAgKwktLWRp c2FibGUtbGFyZ2VmaWxlCj4gLSAgICArCS0tZW5hYmxlLWFsbC1kcml2ZXJzCj4gLSAgICArCS0t ZW5hYmxlLWFnaWxlbnQtZG1tCj4gLSAgICBbLi4uXQo+IC0gICAgKwktLWVuYWJsZS1ydWJ5Cj4g LSAgICArCS0tZW5hYmxlLWphdmEKPiAtICAgICsJLS13aXRob3V0LWxpYnNlcmlhbHBvcnQKPiAt ICAgICsJLS13aXRob3V0LWxpYmZ0ZGkKPiAtICAgICsJLS13aXRob3V0LWxpYnVzYgo+IC0gICAg KwktLXdpdGhvdXQtbGlicmV2aXNhCj4gLSAgICArCS0td2l0aG91dC1saWJncGliCj4gLSAgICAr CS0td2l0aG91dC1saWJpZWVlMTI4NAo+IC0gICAgKwktLXdpdGgtam5pLWluY2x1ZGUtcGF0aD1E SVItTElTVAo+IC0KPiAtSW4gdGhpcyBleGFtcGxlLCBtYW55IGNvbmZpZ3VyZSBvcHRpb25zIGZy b20gbGlic2lncm9rIChtYXJrZWQgd2l0aCBgYCtgYCkKPiAtYXJlIG5vdCB5ZXQgcHJlc2VudCBp biBgYExJQlNJR1JPS19DT05GX09QVGBgIGFuZCBtdXN0IGJlIGFkZGVkLCBwb3NzaWJseSBhbHNv Cj4gLWJ5IHByb3ZpZGluZyBtb3JlIGR5bmFtaWMgb3B0aW9ucyBpbiB0aGUgcGFja2FnZSBkZWZp bml0aW9uLgo+IC0KPiAtSWYgc29tZSBwYXJ0cyBvZiBhIHBhY2thZ2UgYXJlIGJ1aWx0IG9uIGRl bWFuZCBvbmx5LCB0aGV5IG11c3QgYWxzbyBiZQo+IC1pbnN0YWxsZWQgb24gZGVtYW5kIG9ubHku IEJlc2lkZXMgdGhlICpwcmVwYXJlKiBzdGFnZSwgd2UgYWxzbyBtdXN0Cj4gLW1vZGlmeSBvdXIg KnRhcmdldGluc3RhbGwqIHN0YWdlOgo+IC0KPiAtLi4gY29kZS1ibG9jazo6IG1ha2UKPiAtCj4g LSAgICAJQCQoY2FsbCBpbnN0YWxsX2NvcHksIGZvbywgMCwgMCwgMDc1NSwgJChGT09fRElSKS9m b28sIC91c3IvYmluL2ZvbykKPiAtCj4gLSAgICBpZmRlZiBQVFhDT05GX0ZPT19CQVIKPiAtICAg IAlAJChjYWxsIGluc3RhbGxfY29weSwgZm9vLCAwLCAwLCAwNzU1LCAkKEZPT19ESVIpL2Jhciwg L3Vzci9iaW4vYmFyKQo+IC0gICAgZW5kaWYKPiAtCj4gLSAgICAJQCQoY2FsbCBpbnN0YWxsX2Zp bmlzaCwgZm9vKQo+IC0gICAgCUAkKGNhbGwgdG91Y2gpCj4gLQo+IC1Ob3cgd2UgY2FuIHBsYXkg d2l0aCBvdXIgbmV3IG1lbnUgZW50cmllcyBhbmQgY2hlY2sgaWYgdGhleSBhcmUgd29ya2luZwo+ IC1hcyBleHBlY3RlZDoKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiB0ZXh0Cj4gLQo+IC0gICAgJCBw dHhkaXN0IG1lbnVjb25maWcKPiAtICAgICQgcHR4ZGlzdCB0YXJnZXRpbnN0YWxsIGZvbwo+IC0K PiAtV2hlbmV2ZXIgd2UgY2hhbmdlIGEgKkZPTyogcmVsYXRlZCBtZW51IGVudHJ5LCBQVFhkaXN0 IHNob3VsZCBkZXRlY3QgaXQKPiAtYW5kIHJlLWJ1aWxkIHRoZSBwYWNrYWdlIHdoZW4gYSBuZXcg YnVpbGQgaXMgc3RhcnRlZC4KPiAtCj4gLS4uIF9leHRlcm5hbF9kZXBlbmRlbmNpZXM6Cj4gLQo+ IC1NYW5hZ2luZyBFeHRlcm5hbCBDb21waWxlIFRpbWUgRGVwZW5kZW5jaWVzCj4gLV5eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPiAtCj4gLVdoaWxlIHJ1bm5pbmcg dGhlIHByZXBhcmUgc3RhZ2UsIGl0IGNvdWxkIGhhcHBlbiB0aGF0IGl0IGZhaWxzIGR1ZSB0byBh Cj4gLW1pc3NpbmcgZXh0ZXJuYWwgZGVwZW5kZW5jeS4KPiAtCj4gLUZvciBleGFtcGxlOgo+IC0K PiAtLi4gY29kZS1ibG9jazo6IHRleHQKPiAtCj4gLSAgICBjaGVja2luZyB3aGV0aGVyIHpsaWIg ZXhpc3RzLi4uLmZhaWxlZAo+IC0KPiAtSW4gdGhpcyBleGFtcGxlLCBvdXIgbmV3IHBhY2thZ2Ug ZGVwZW5kcyBvbiB0aGUgY29tcHJlc3Npb24gbGlicmFyeQo+IC0qemxpYiouIFBUWGRpc3QgY29t ZXMgd2l0aCBhIHRhcmdldCAqemxpYiouIEFsbCB3ZSBuZWVkIHRvIGRvIGluIHRoaXMKPiAtY2Fz ZSBpcyB0byBkZWNsYXJlIHRoYXQgb3VyIG5ldyBwYWNrYWdlICpmb28qIGRlcGVuZHMgb24gKnps aWIqLiBUaGlzCj4gLWtpbmQgb2YgZGVwZW5kZW5jeSBpcyBtYW5hZ2VkIGluIHRoZSBtZW51IGZp bGUgb2Ygb3VyIG5ldyBwYWNrYWdlIGJ5Cj4gLXNpbXBseSBhZGRpbmcgdGhlIGBgc2VsZWN0IFpM SUJgYCBsaW5lLiBBZnRlciB0aGlzIGFkZGl0aW9uIG91ciBtZW51Cj4gLWZpbGUgbG9va3MgbGlr ZToKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiBrY29uZmlnCj4gLQo+IC0gICAgIyMgU0VDVElPTj1w cm9qZWN0X3NwZWNpZmljCj4gLQo+IC0gICAgY29uZmlnIEZPTwo+IC0gICAgICAgICAgIHRyaXN0 YXRlCj4gLSAgICAgICAgICAgc2VsZWN0IFpMSUIKPiAtICAgICAgICAgICBwcm9tcHQgImZvbyIK PiAtICAgICAgICAgICBoZWxwCj4gLSAgICAgICAgICAgICBGSVhNRQo+IC0KPiAtICAgIGlmIEZP Two+IC0gICAgY29uZmlnIEZPT19ERUJVRwo+IC0gICAgICAgICAgIGJvb2wKPiAtICAgICAgICAg ICBwcm9tcHQgImFkZCBkZWJ1ZyBub2lzZSIKPiAtCj4gLSAgICBjb25maWcgRk9PX0JBUgo+IC0g ICAgICAgICAgIGJvb2wKPiAtICAgICAgICAgICBwcm9tcHQgImJ1aWxkIGJhciIKPiAtCj4gLSAg ICBlbmRpZgo+IC0KPiAtUFRYZGlzdCBub3cgYnVpbGRzIHRoZSAqemxpYiogZmlyc3QgYW5kIG91 ciBuZXcgcGFja2FnZSB0aGVyZWFmdGVyLgo+IC0KPiAtUmVmZXIgOnJlZjpgZXh0ZXJuYWxfZGVw ZW5kZW5jaWVzX3ZhcmlhbnRzYCBmb3IgbW9yZSBzcGVjaWZpYyBkZXBlbmRlbmN5Cj4gLWRlc2Ny aXB0aW9uLgo+IC0KPiAtTWFuYWdpbmcgRXh0ZXJuYWwgQ29tcGlsZSBUaW1lIERlcGVuZGVuY2ll cyBvbiBEZW1hbmQKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl4KPiAtCj4gLUl0IGlzIGdvb2QgcHJhY3RpY2UgdG8gYWRkIG9ubHkgdGhvc2Ug ZGVwZW5kZW5jaWVzIHRoYXQgYXJlIHJlYWxseQo+IC1yZXF1aXJlZCBmb3IgdGhlIGN1cnJlbnQg Y29uZmlndXJhdGlvbiBvZiB0aGUgcGFja2FnZS4gSWYgdGhlIHBhY2thZ2UKPiAtcHJvdmlkZXMg dGhlIGZlYXR1cmVzICpmb28qIGFuZCAqYmFyKiBhbmQgaXRzIGBgY29uZmlndXJlYGAgcHJvdmlk ZXMKPiAtc3dpdGNoZXMgdG8gZW5hYmxlL2Rpc2FibGUgdGhlbSBpbmRlcGVuZGVudGx5LCB3ZSBj YW4gYWxzbyBhZGQKPiAtZGVwZW5kZW5jaWVzIG9uIGRlbWFuZC4gTGV04oCZcyBhc3N1bWUgZmVh dHVyZSAqZm9vKiBuZWVkcyB0aGUgY29tcHJlc3Npb24KPiAtbGlicmFyeSAqbGlieiogYW5kICpi YXIqIG5lZWRzIHRoZSBYTUwyIGxpYnJhcnkgKmxpYnhtbDIqLiBUaGVzZQo+IC1saWJyYXJpZXMg YXJlIG9ubHkgcmVxdWlyZWQgYXQgcnVuLXRpbWUgaWYgdGhlIGNvcnJlc3BvbmRpbmcgZmVhdHVy ZSBpcwo+IC1lbmFibGVkLiBUbyBhZGQgdGhlc2UgZGVwZW5kZW5jaWVzIG9uIGRlbWFuZCwgdGhl IG1lbnUgZmlsZSBsb29rcyBsaWtlOgo+IC0KPiAtLi4gY29kZS1ibG9jazo6IGtjb25maWcKPiAt Cj4gLSAgICAjIyBTRUNUSU9OPXByb2plY3Rfc3BlY2lmaWMKPiAtCj4gLSAgICBjb25maWcgRk9P Cj4gLSAgICAgICAgICAgdHJpc3RhdGUKPiAtICAgICAgICAgICBzZWxlY3QgWkxJQiBpZiBGT09f Rk9PCj4gLSAgICAgICAgICAgc2VsZWN0IExJQlhNTDIgaWYgRk9PX0JBUgo+IC0gICAgICAgICAg IHByb21wdCAiZm9vIgo+IC0gICAgICAgICAgIGhlbHAKPiAtICAgICAgICAgICAgIEZJWE1FCj4g LQo+IC0gICAgaWYgRk9PCj4gLSAgICBjb25maWcgRk9PX0RFQlVHCj4gLSAgICAgICAgICAgYm9v bAo+IC0gICAgICAgICAgIHByb21wdCAiYWRkIGRlYnVnIG5vaXNlIgo+IC0KPiAtICAgIGNvbmZp ZyBGT09fRk9PCj4gLSAgICAgICAgICAgYm9vbAo+IC0gICAgICAgICAgIHByb21wdCAiYnVpbGQg Zm9vIgo+IC0KPiAtICAgIGNvbmZpZyBGT09fQkFSCj4gLSAgICAgICAgICAgYm9vbAo+IC0gICAg ICAgICAgIHByb21wdCAiYnVpbGQgYmFyIgo+IC0KPiAtICAgIGVuZGlmCj4gLQo+IC0uLiBpbXBv cnRhbnQ6OiBEbyBub3QgYWRkIHRoZXNlIGBgc2VsZWN0YGAgc3RhdGVtZW50cyB0byB0aGUgY29y cmVzcG9uZGluZyBtZW51IGVudHJ5Lgo+IC0gIFRoZXkgbXVzdCBiZWxvbmcgdG8gdGhlIG1haW4g bWVudSBlbnRyeSBvZiB0aGUgcGFja2FnZSB0byBlbnN1cmUgdGhhdAo+IC0gIHRoZSBjYWxjdWxh dGlvbiBvZiB0aGUgZGVwZW5kZW5jaWVzIGJldHdlZW4gdGhlIHBhY2thZ2VzIGlzIGRvbmUgaW4g YQo+IC0gIGNvcnJlY3QgbWFubmVyLgo+IC0KPiAtTWFuYWdpbmcgRXh0ZXJuYWwgUnVudGltZSBE ZXBlbmRlbmNpZXMKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPiAt Cj4gLVNvbWUgcGFja2FnZXMgYXJlIGJ1aWxkaW5nIGFsbCBvZiB0aGVpciBjb21wb25lbnRzIGFu ZCBhbHNvIGluc3RhbGxpbmcKPiAtdGhlbSBpbnRvIHRoZSB0YXJnZXTigJlzIHN5c3Jvb3QuIEJ1 dCBvbmx5IHRoZWlyICp0YXJnZXRpbnN0YWxsKiBzdGFnZQo+IC1kZWNpZGVzIHdoaWNoIHBhcnRz IGFyZSBjb3BpZWQgdG8gdGhlIHJvb3QgZmlsZXN5c3RlbS4gU28sIGNvbXBpbGluZyBhbmQKPiAt bGlua2luZyBvZiBvdXIgcGFja2FnZSB3aWxsIHdvcmssIGJlY2F1c2UgZXZlcnl0aGluZyByZXF1 aXJlZCBpcyBmb3VuZAo+IC1pbiB0aGUgdGFyZ2V04oCZcyBzeXNyb290Lgo+IC0KPiAtSW4gb3Vy IGV4YW1wbGUgdGhlcmUgaXMgYSBoaWRkZW4gZGVwZW5kZW5jeSB0byB0aGUgbWF0aCBsaWJyYXJ5 Cj4gLWBgbGlibWBgLiBPdXIgbmV3IHBhY2thZ2Ugd2FzIGJ1aWx0IHN1Y2Nlc3NmdWxseSwgYmVj YXVzZSB0aGUgbGlua2VyIHdhcwo+IC1hYmxlIHRvIGxpbmsgb3VyIGJpbmFyaWVzIGFnYWluc3Qg dGhlIGBgbGlibWBgIGZyb20gdGhlIHRvb2xjaGFpbi4gQnV0Cj4gLWluIHRoaXMgY2FzZSB0aGUg YGBsaWJtYGAgbXVzdCBhbHNvIGJlIGF2YWlsYWJsZSBpbiB0aGUgdGFyZ2V04oCZcyByb290Cj4g LWZpbGVzeXN0ZW0gdG8gZnVsZmlsbCB0aGUgcnVuLXRpbWUgZGVwZW5kZW5jeTogV2UgaGF2ZSB0 byBmb3JjZSBQVFhkaXN0IHRvCj4gLWluc3RhbGwgYGBsaWJtYGAuIGBgbGlibWBgIGlzIHBhcnQg b2YgdGhlICpnbGliYyogcGFja2FnZSwgYnV0IGlzIG5vdAo+IC1pbnN0YWxsZWQgYnkgZGVmYXVs dCAodG8ga2VlcCB0aGUgcm9vdCBmaWxlc3lzdGVtIHNtYWxsKS4gU28sIGl0ICoqZG9lcwo+IC1u b3QqKiBoZWxwIHRvIHNlbGVjdCB0aGUgYGBHTElCQ2BgIHN5bWJvbCwgdG8gZ2V0IGEgYGBsaWJt YGAgYXQgcnVuLXRpbWUuCj4gLQo+IC1UaGUgY29ycmVjdCBzb2x1dGlvbiBoZXJlIGlzIHRvIGFk ZCBhIGBgc2VsZWN0IExJQkNfTWBgIHRvIG91ciBtZW51Cj4gLWZpbGUuIFdpdGggYWxsIHRoZSBh ZGRpdGlvbnMgYWJvdmUgaXQgbm93IGxvb2tzIGxpa2U6Cj4gLQo+IC0uLiBjb2RlLWJsb2NrOjog a2NvbmZpZwo+IC0KPiAtICAgICMjIFNFQ1RJT049cHJvamVjdF9zcGVjaWZpYwo+IC0KPiAtICAg IGNvbmZpZyBGT08KPiAtICAgICAgICAgICB0cmlzdGF0ZQo+IC0gICAgICAgICAgIHNlbGVjdCBa TElCIGlmIEZPT19GT08KPiAtICAgICAgICAgICBzZWxlY3QgTElCWE1MMiBpZiBGT09fQkFSCj4g LSAgICAgICAgICAgc2VsZWN0IExJQkNfTQo+IC0gICAgICAgICAgIHByb21wdCAiZm9vIgo+IC0g ICAgICAgICAgIGhlbHAKPiAtICAgICAgICAgICAgIEZJWE1FCj4gLQo+IC0gICAgaWYgRk9PCj4g LSAgICBjb25maWcgRk9PX0RFQlVHCj4gLSAgICAgICAgICAgYm9vbAo+IC0gICAgICAgICAgIHBy b21wdCAiYWRkIGRlYnVnIG5vaXNlIgo+IC0KPiAtICAgIGNvbmZpZyBGT09fRk9PCj4gLSAgICAg ICAgICAgYm9vbAo+IC0gICAgICAgICAgIHByb21wdCAiYnVpbGQgZm9vIgo+IC0KPiAtICAgIGNv bmZpZyBGT09fQkFSCj4gLSAgICAgICAgICAgYm9vbAo+IC0gICAgICAgICAgIHByb21wdCAiYnVp bGQgYmFyIgo+IC0KPiAtICAgIGVuZGlmCj4gLQo+IC0uLiBub3RlOjogVGhlcmUgYXJlIG90aGVy IHBhY2thZ2VzIGFyb3VuZCwgdGhhdCBkbyBub3QgaW5zdGFsbCBldmVyeXRoaW5nIGJ5Cj4gLSAg ZGVmYXVsdC4gSWYgb3VyIG5ldyBwYWNrYWdlIG5lZWRzIHNvbWV0aGluZyBzcGVjaWFsLCB3ZSBt dXN0IHRha2UgYSBsb29rCj4gLSAgaW50byB0aGUgbWVudSBvZiB0aGUgb3RoZXIgcGFja2FnZSBo b3cgdG8gZm9yY2UgdGhlIHJlcXVpcmVkIGNvbXBvbmVudHMKPiAtICB0byBiZSBpbnN0YWxsZWQg YW5kIGFkZCB0aGUgY29ycmVzcG9uZGluZyBgYHNlbGVjdHNgYCB0byBvdXIgb3duIG1lbnUKPiAt ICBmaWxlLiBJbiB0aGlzIGNhc2UgaXQgZG9lcyBub3QgaGVscCB0byBlbmFibGUgdGhlIHJlcXVp cmVkIHBhcnRzIGluIG91cgo+IC0gIHByb2plY3QgY29uZmlndXJhdGlvbiwgYmVjYXVzZSB0aGlz IGhhcyBubyBlZmZlY3Qgb24gdGhlIGJ1aWxkIG9yZGVyIQo+IC0KPiAtTWFuYWdpbmcgUGxhaW4g TWFrZWZpbGUgUGFja2FnZXMKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPiAt Cj4gLU1hbnkgcGFja2FnZXMgYXJlIHN0aWxsIGNvbWluZyB3aXRoIGEgcGxhaW4gYGBNYWtlZmls ZWBgLiBUaGUgdXNlciBoYXMKPiAtdG8gYWRhcHQgaXQgdG8gbWFrZSBpdCB3b3JrIGluIGEgY3Jv c3MgY29tcGlsZSBlbnZpcm9ubWVudCBhcyB3ZWxsLgo+IC1QVFhkaXN0IGNhbiBhbHNvIGhhbmRs ZSB0aGlzIGtpbmQgb2YgcGFja2FnZXMuIFdlIG9ubHkgaGF2ZSB0byBzcGVjaWZ5Cj4gLWEgc3Bl Y2lhbCAqcHJlcGFyZSogYW5kICpjb21waWxlKiBzdGFnZS4KPiAtCj4gLVN1Y2ggcGFja2FnZXMg b2Z0ZW4gaGF2ZSBubyBzcGVjaWFsIG5lZWQgZm9yIGFueSBraW5kIG9mIHByZXBhcmF0aW9uLiBJ bgo+IC10aGlzIHdlIG11c3QgaW5zdHJ1Y3QgUFRYZGlzdCB0byBkbyBub3RoaW5nIGluIHRoZSAq cHJlcGFyZSogc3RhZ2U6Cj4gLQo+IC0uLiBjb2RlLWJsb2NrOjogbWFrZQo+IC0KPiAtICAgIEZP T19DT05GX1RPT0wgOj0gTk8KPiAtCj4gLVRvIGNvbXBpbGUgdGhlIHBhY2thZ2UsIHdlIGNhbiB1 c2UgYGBtYWtlYGBcIOKAmXMgZmVhdHVyZSB0byBvdmVyd3JpdGUKPiAtdmFyaWFibGVzIHVzZWQg aW4gdGhlIGBgTWFrZWZpbGVgYC4gV2l0aCB0aGlzIGZlYXR1cmUgd2UgY2FuIHN0aWxsIHVzZQo+ IC10aGUgb3JpZ2luYWwgYGBNYWtlZmlsZWBgIGJ1dCB3aXRoIG91ciBvd24gKGNyb3NzIGNvbXBp bGUpIHNldHRpbmdzLgo+IC0KPiAtTW9zdCBvZiB0aGUgdGltZSB0aGUgZ2VuZXJpYyBjb21waWxl IHJ1bGUgY2FuIGJlIHVzZWQsIG9ubHkgYSBmZXcKPiAtc2V0dGluZ3MgYXJlIHJlcXVpcmVkLiBG b3IgYSB3ZWxsIGRlZmluZWQgYGBNYWtlZmlsZWBgIGl0IGlzIHN1ZmZpY2llbnQgdG8KPiAtc2V0 IHVwIHRoZSBjb3JyZWN0IGNyb3NzIGNvbXBpbGUgZW52aXJvbm1lbnQgZm9yIHRoZSAqY29tcGls ZSogc3RhZ2U6Cj4gLQo+IC0uLiBjb2RlLWJsb2NrOjogbWFrZQo+IC0KPiAtICAgIEZPT19NQUtF X0VOViA6PSAkKENST1NTX0VOVikKPiAtCj4gLWBgbWFrZWBgIHdpbGwgYmUgY2FsbGVkIGluIHRo aXMgY2FzZSB3aXRoOgo+IC0KPiAtYGAkKEZPT19NQUtFX0VOVikgJChNQUtFKSAtQyAkKEZPT19E SVIpICQoRk9PX01BS0VfT1BUKWBgCj4gLQo+IC1TbywgaW4gdGhlIHJ1bGUgZmlsZSBvbmx5IHRo ZSB0d28gdmFyaWFibGVzIGBgRk9PX01BS0VfRU5WYGAgYW5kCj4gLWBgRk9PX01BS0VfT1BUYGAg bXVzdCBiZSBzZXQsIHRvIGZvcndhcmQgdGhlIHJlcXVpcmVkIHNldHRpbmdzIHRvIHRoZQo+IC1w YWNrYWdl4oCZcyBidWlsZHN5c3RlbS4gSWYgdGhlIHBhY2thZ2UgY2Fubm90IGJlIGJ1aWx0IGlu IHBhcmFsbGVsLCB3ZQo+IC1jYW4gYWxzbyBhZGQgdGhlIGBgRk9PX01BS0VfUEFSwqA6PcKgTk9g YC4gYGBZRVNgYCBpcyB0aGUgZGVmYXVsdC4KPiAtCj4gLU1hbmFnaW5nIENNYWtlL1FNYWtlL01l c29uIFBhY2thZ2VzCj4gLV5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCj4gLQo+ IC1CdWlsZGluZyBwYWNrYWdlcyB0aGF0IHVzZSBgYGNtYWtlYGAsIGBgcW1ha2VgYCBvciBgYG1l c29uYGAgaXMgbXVjaCBsaWtlCj4gLWJ1aWxkaW5nIHBhY2thZ2VzIHdpdGggYW4gYXV0b3Rvb2xz IGJhc2VkIGJ1aWxkc3lzdGVtLiBXZSBuZWVkIHRvIHNwZWNpZnkKPiAtdGhlIGNvbmZpZ3VyYXRp b24gdG9vbDoKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gLQo+IC0gICAgRk9PX0NPTkZf VE9PTCA6PSBjbWFrZQo+IC0KPiAtb3IKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gLQo+ IC0gICAgRk9PX0NPTkZfVE9PTCA6PSBxbWFrZQo+IC0KPiAtb3IgcmVzcGVjdGl2ZWx5Cj4gLQo+ IC0uLiBjb2RlLWJsb2NrOjogbWFrZQo+IC0KPiAtICAgIEZPT19DT05GX1RPT0wgOj0gbWVzb24K PiAtCj4gLUFuZCBwcm92aWRlIHRoZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gVGhl IHN5bnRheCBpcyBkaWZmZXJlbnQgc28KPiAtUFRYZGlzdCBwcm92aWRlcyBhZGRpdGlvbmFsIG1h Y3JvcyB0byBzaW1wbGlmeSBjb25maWd1cmFibGUgZmVhdHVyZXMuCj4gLUZvciBgYGNtYWtlYGAg dGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0eXBpY2FsbHkgbG9vayBsaWtlIHRoaXM6Cj4gLQo+ IC0uLiBjb2RlLWJsb2NrOjogbWFrZQo+IC0KPiAtICAgIEZPT19DT05GX09QVCA6PSBcCj4gLSAg ICAJJChDUk9TU19DTUFLRV9VU1IpIFwKPiAtICAgIAktREJVSUxEX1RFU1RTOkJPT0w9T0ZGIFwK PiAtICAgIAktREVOQUJMRV9CQVI6Qk9PTD0kKGNhbGwgcHR4L29ub2ZmLCBQVFhDT05GX0ZPT19C QVIpCj4gLQo+IC1Gb3IgYGBxbWFrZWBgIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgdHlwaWNh bGx5IGxvb2sgbGlrZSB0aGlzOgo+IC0KPiAtLi4gY29kZS1ibG9jazo6IG1ha2UKPiAtCj4gLSAg ICBGT09fQ09ORl9PUFQgOj0gXAo+IC0gICAgCSQoQ1JPU1NfUU1BS0VfT1BUKSBcCj4gLSAgICAJ UFJFRklYPS91c3IKPiAtCj4gLUFuZCBmb3IgYGBtZXNvbmBgIHRoZSBjb25maWd1cmF0aW9uIG9w dGlvbnMgdHlwaWNhbGx5IGxvb2sgbGlrZSB0aGlzOgo+IC0KPiAtLi4gY29kZS1ibG9jazo6IG1h a2UKPiAtCj4gLSAgICBGT09fQ09ORl9PUFQgOj0gXAo+IC0gICAgCSQoQ1JPU1NfTUVTT05fVVNS KSBcCj4gLSAgICAJLURiYXI9JChjYWxsIHB0eC90cnVlZmFsc2UsUFRYQ09ORl9GT09fQkFSKQo+ IC0KPiAtUGxlYXNlIG5vdGUgdGhhdCBjdXJyZW50bHkgb25seSBob3N0IGFuZCB0YXJnZXQgYGBj bWFrZWBgXC9gYG1lc29uYGAgcGFja2FnZXMKPiAtYW5kIG9ubHkgdGFyZ2V0IGBgcW1ha2VgYCBw YWNrYWdlcyBhcmUgc3VwcG9ydGVkLgo+IC0KPiAtTWFuYWdpbmcgUHl0aG9uIFBhY2thZ2VzCj4g LV5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgo+IC0KPiAtQXMgd2l0aCBhbnkgb3RoZXIgcGFja2Fn ZSwgdGhlIGNvcnJlY3QgY29uZmlndXJhdGlvbiB0b29sIG11c3QgYmUgc2VsZWN0ZWQKPiAtZm9y IFB5dGhvbiBwYWNrYWdlczoKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gLQo+IC0gICAg Rk9PX0NPTkZfVE9PTCA6PSBweXRob24KPiAtCj4gLS4uIG5vdGU6OiBGb3IgUHl0aG9uMyBwYWNr YWdlcyB0aGUgdmFsdWUgbXVzdCBiZSBgYHB5dGhvbjNgYC4KPiAtCj4gLU5vIE1ha2VmaWxlcyBh cmUgdXNlZCB3aGVuIGJ1aWxkaW5nIFB5dGhvbiBwYWNrYWdlcyBzbyB0aGUgdXN1YWwgYGBtYWtl YGAKPiAtYW5kIGBgbWFrZSBpbnN0YWxsYGAgZm9yIHRoZSAqY29tcGlsZSogYW5kICppbnN0YWxs KiBzdGFnZXMgY2Fubm90IGJlIHVzZWQuCj4gLVBUWGRpc3Qgd2lsbCBjYWxsIGBgcHl0aG9uIHNl dHVwLnB5IGJ1aWxkYGAgYW5kIGBgcHl0aG9uIHNldHVwLnB5IGluc3RhbGxgYAo+IC1pbnN0ZWFk Lgo+IC0KPiAtLi4gbm90ZTo6ICpGT08qIGlzIHN0aWxsIHRoZSBuYW1lIG9mIG91ciBleGFtcGxl IHBhY2thZ2UuIEl0IG11c3QgYmUKPiAtICByZXBsYWNlZCBieSB0aGUgcmVhbCBwYWNrYWdlIG5h bWUuCj4gLQo+IC0KPiAtLi4gX3BhdGNoaW5nX3BhY2thZ2VzOgo+IC0KPiAtUGF0Y2hpbmcgUGFj a2FnZXMKPiAtfn5+fn5+fn5+fn5+fn5+fn4KPiAtCj4gLVRoZXJlIGNhbiBiZSB2YXJpb3VzIHJl YXNvbnMgd2h5IGEgcGFja2FnZSBtdXN0IGJlIHBhdGNoZWQ6Cj4gLQo+IC0tICBQYWNrYWdlIGlz IGJyb2tlbiBmb3IgY3Jvc3MgY29tcGlsZSBlbnZpcm9ubWVudHMKPiAtCj4gLS0gIFBhY2thZ2Ug aXMgYnJva2VuIHdpdGhpbiBhIHNwZWNpZmljIGZlYXR1cmUKPiAtCj4gLS0gIFBhY2thZ2UgaXMg dnVsbmVyYWJsZSBhbmQgbmVlZHMgc29tZSBmaXhlcwo+IC0KPiAtLSAgb3IgYW55dGhpbmcgZWxz ZSAodGhpcyBjYXNlIGlzIHRoZSBtb3N0IGNvbW1vbiBvbmUpCj4gLQo+IC1JZGVhbGx5LCB0aG9z ZSBwcm9ibGVtcyBzaG91bGQgYmUgYWRkcmVzc2VkIGluIHRoZSBvcmlnaW5hbCBwcm9qZWN0LAo+ IC1zbyBhbnkgcGF0Y2hlcyB5b3UgYWRkIHRvIHlvdXIgQlNQIG9yIHRvIFBUWGRpc3Qgc2hvdWxk IGFsc28gYmUgc3VibWl0dGVkIHVwc3RyZWFtLgo+IC1UaGUgdXBzdHJlYW0gcHJvamVjdCBjYW4g b2Z0ZW4gcHJvdmlkZSBiZXR0ZXIgZmVlZGJhY2ssIHRoZXkgY2FuIGludGVncmF0ZSB5b3VyCj4g LXBhdGNoIGludG8gYSBuZXcgcmVsZWFzZSwgYW5kIGFsc28gbWFpbnRhaW4geW91ciBjaGFuZ2Vz IGFzIHBhcnQgb2YgdGhlIHByb2plY3QuCj4gLVRoaXMgd2F5IHdlIG1ha2Ugc3VyZSB0aGF0IGFs bCBhZHZhbnRhZ2VzIG9mIHRoZSBvcGVuIHNvdXJjZSBpZGVhIHdvcmsgZm9yIHVzOwo+IC1hbmQg eW91ciBwYXRjaCBjYW4gYmUgcmVtb3ZlZCBhZ2FpbiBsYXRlciB3aGVuIGEgbmV3IHJlbGVhc2Ug b2YgdGhlIHByb2plY3QgaXMKPiAtaW50ZWdyYXRlZCBpbnRvIHlvdXIgQlNQIG9yIGludG8gUFRY ZGlzdC4KPiAtCj4gLVBUWGRpc3QgaGFuZGxlcyBwYXRjaGluZyBhdXRvbWF0aWNhbGx5Lgo+IC1B ZnRlciBleHRyYWN0aW5nIHRoZSBhcmNoaXZlIG9mIGEgcGFja2FnZSwgUFRYZGlzdCBjaGVja3Mg Zm9yIHRoZSBleGlzdGVuY2Ugb2YKPiAtYSBwYXRjaCBkaXJlY3RvcnkgbmFtZWQgbGlrZSBpdHMg YGA8UEtHPl9QQVRDSEVTYGAgdmFyaWFibGUsIG9yLCBpZiB0aGlzIHZhcmlhYmxlCj4gLWlzIG5v dCBzZXQsIGxpa2UgaXRzIGBgPFBLRz5gYCB2YXJpYWJsZS4KPiAtVGhlIHBhdGNoIGRpcmVjdG9y eSBpcyB0aGVuIHNlYXJjaGVkIGluIGFsbCBsb2NhdGlvbnMgbGlzdGVkIGJ5IHRoZQo+IC1gYFBU WERJU1RfUEFUSF9QQVRDSEVTYGAgdmFyaWFibGUsIGFuZCB0aGUgZmlyc3Qgb25lIGZvdW5kIGlz IHVzZWQuCj4gLVRha2UgYW4gZXhlbXBsYXJ5IHBhY2thZ2UgYGBmb29gYCB3aXRoIHZlcnNpb24g YGAxLjEuMGBgOgo+IC1UaGUgdmFyaWFibGUgYGBGT09gYCB3aWxsIGhhdmUgdGhlIHZhbHVlIGBg Zm9vLTEuMS4wYGAsIHNvIFBUWGRpc3Qgd2lsbCBsb29rIGZvcgo+IC1hIHBhdGNoIGRpcmVjdG9y eSBuYW1lZCBgYGZvby0xLjEuMGBgIGluIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgo+IC0KPiAt Iy4gdGhlIGN1cnJlbnQgbGF5ZXI6Cj4gLQo+IC0gICBhLiBwcm9qZWN0IChgYC4vcGF0Y2hlcy9m b28tMS4xLjBgYCkKPiAtICAgYi4gcGxhdGZvcm0gKGBgLi9jb25maWdzL3xwdHhkaXN0UGxhdGZv cm1Db25maWdEaXJ8L3BhdGNoZXMvZm9vLTEuMS4wYGApCj4gLQo+IC0jLiBhbnkgOnJlZjpgYmFz ZSBsYXllcnMgPGxheWVycy1pbi1wdHhkaXN0PmAsCj4gLSAgIGFwcGx5aW5nIHRoZSBzYW1lIHNl YXJjaCBvcmRlciBhcyBhYm92ZSBmb3IgZWFjaCBsYXllciByZWN1cnNpdmVseQo+IC0KPiAtIy4g cHR4ZGlzdCAoYGA8cHR4ZGlzdC9pbnN0YWxsYXRpb24vcGF0aD4vcGF0Y2hlcy9mb28tMS4xLjBg YCkKPiAtCj4gLVRoZSBwYXRjaGVzIGZyb20gdGhlIGZpcnN0IGxvY2F0aW9uIGZvdW5kIGFyZSB1 c2VkLiBOb3RlOiBEdWUgdG8gdGhpcwo+IC1zZWFyY2ggb3JkZXIsIGEgUFRYZGlzdCBwcm9qZWN0 IGNhbiByZXBsYWNlIGdsb2JhbCBwYXRjaGVzIGZyb20gdGhlCj4gLVBUWGRpc3QgaW5zdGFsbGF0 aW9uLiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgYSBwcm9qZWN0IHN0aWNrcyB0byBhCj4gLXNwZWNp ZmljIFBUWGRpc3QgcmV2aXNpb24gYnV0IGZpeGVzIGZyb20gYSBtb3JlIHJlY2VudCByZXZpc2lv biBvZgo+IC1QVFhkaXN0IHNob3VsZCBiZSB1c2VkLgo+IC0KPiAtUFRYZGlzdCB1c2VzIHRoZSB1 dGlsaXRpZXMgKmdpdCosICpwYXRjaCogb3IgKnF1aWx0KiB0byB3b3JrIHdpdGgKPiAtcGF0Y2hl cyBvciBwYXRjaCBzZXJpZXMuIFdlIHJlY29tbWVuZCAqZ2l0KiwgYXMgaXQgY2FuIG1hbmFnZSBw YXRjaAo+IC1zZXJpZXMgaW4gYSB2ZXJ5IGVhc3kgd2F5Lgo+IC0KPiAtQ3JlYXRpbmcgYSBQYXRj aCBTZXJpZXMgZm9yIGEgUGFja2FnZQo+IC1eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eCj4gLQo+IC1UbyBjcmVhdGUgYSBwYXRjaCBzZXJpZXMgZm9yIHRoZSBmaXJzdCB0aW1l LCB3ZSBjYW4gcnVuIHRoZSBmb2xsb3dpbmcKPiAtc3RlcHMuIFdlIGFyZSBzdGlsbCB1c2luZyBv dXIgKmZvby0xLjEuMCogZXhhbXBsZSBwYWNrYWdlIGhlcmU6Cj4gLQo+IC1Vc2luZyBRdWlsdAo+ IC0iIiIiIiIiIiIiIgo+IC0KPiAtV2UgY3JlYXRlIGEgc3BlY2lhbCBkaXJlY3RvcnkgZm9yIHRo ZSBwYXRjaCBzZXJpZXMgaW4gdGhlIGxvY2FsIHByb2plY3QKPiAtZGlyZWN0b3J5Ogo+IC0KPiAt Li4gY29kZS1ibG9jazo6IHRleHQKPiAtCj4gLSAgICAkIG1rZGlyIC1wIHBhdGNoZXMvZm9vLTEu MS4wCj4gLQo+IC1QVFhkaXN0IGV4cGVjdHMgYSBgYHNlcmllc2BgIGZpbGUgaW4gdGhlIHBhdGNo IGRpcmVjdG9yeSBhbmQgYXQgbGVhc3QKPiAtb25lIHBhdGNoLiBPdGhlcndpc2UgaXQgZmFpbHMu IER1ZSB0byB0aGUgZmFjdCB0aGF0IHdlIGRvIG5vdCBoYXZlIGFueQo+IC1wYXRjaCBjb250ZW50 IHlldCwgd2XigJlsbCBzdGFydCB3aXRoIGEgZHVtbXkgZW50cnkgaW4gdGhlIGBgc2VyaWVzYGAg ZmlsZQo+IC1hbmQgYW4gZW1wdHkgYGBwYXRjaGBgIGZpbGUuCj4gLQo+IC0uLiBjb2RlLWJsb2Nr OjogdGV4dAo+IC0KPiAtICAgICQgdG91Y2ggcGF0Y2hlcy9mb28tMS4xLjAvZHVtbXkKPiAtICAg ICQgZWNobyBkdW1teSA+IHBhdGNoZXMvZm9vLTEuMS4wL3Nlcmllcwo+IC0KPiAtTmV4dCBpcyB0 byBleHRyYWN0IHRoZSBwYWNrYWdlIChpZiBhbHJlYWR5IGRvbmUsIHdlIG11c3QgcmVtb3ZlIGl0 Cj4gLWZpcnN0KToKPiAtCj4gLS4uIGNvZGUtYmxvY2s6OiB0ZXh0Cj4gLQo+IC0gICAgJCBwdHhk aXN0IGV4dHJhY3QgZm9vCj4gLQo+IC1UaGlzIHdpbGwgZXh0cmFjdCB0aGUgYXJjaGl2ZSBhbmQg Y3JlYXRlIGEgc3ltYm9saWMgbGluayBpbiB0aGUgYnVpbGQKPiAtZGlyZWN0b3J5IHBvaW50aW5n IHRvIG91ciBsb2NhbCBwYXRjaCBkaXJlY3RvcnkuIFdvcmtpbmcgdGhpcyB3YXkgd2lsbAo+IC1l bnN1cmUgdGhhdCB3ZSBkbyBub3QgbG9zZSBvdXIgY3JlYXRlZCBwYXRjaGVzIGlmIHdlIGVudGVy Cj4gLWBgcHR4ZGlzdCBjbGVhbiBmb29gYCBieSBhY2NpZGVudC4gSW4gb3VyIGNhc2UgdGhlIHBh dGNoZXMgYXJlIHN0aWxsCj4gLXByZXNlbnQgaW4gYGBwYXRjaGVzL2Zvby0xLjEuMGBgIGFuZCBj YW4gYmUgdXNlZCB0aGUgbmV4dCB0aW1lIHdlCj4gLWV4dHJhY3QgdGhlIHBhY2thZ2UgYWdhaW4u Cj4gLQo+IC1BbGwgd2UgaGF2ZSB0byBkbyBub3cgaXMgdG8gZG8gdGhlIG1vZGlmaWNhdGlvbiB3 ZSBuZWVkIHRvIG1ha2UgdGhlCj4gLXBhY2thZ2Ugd29yay4gV2UgY2hhbmdlIGludG8gdGhlIGJ1 aWxkIGRpcmVjdG9yeSBhbmQgdXNlIHF1aWx0XyB0bwo+IC1jcmVhdGUgbmV3IHBhdGNoZXMsIGFk ZCBmaWxlcyB0byByZXNwZWN0aXZlIHBhdGNoZXMsIG1vZGlmeSB0aGVzZSBmaWxlcwo+IC1hbmQg cmVmcmVzaCB0aGUgcGF0Y2hlcyB0byBzYXZlIG91ciBjaGFuZ2VzLgo+IC1TZWUgdGhlICpxdWls dCogZG9jdW1lbnRhdGlvbiAoYGBtYW4gMSBxdWlsdGBgKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4K PiAtCj4gLS4uIG5vdGU6OiBGb3IgcGF0Y2hlcyB0aGF0IGFyZSBpbnRlbmRlZCBmb3IgUFRYZGlz dCB1cHN0cmVhbSB1c2UgdGhlIGdpdAo+IC0gIHdvcmtmbG93IGRlc2NyaWJlZCBiZWxvdyB0byBn ZXQgcHJvcGVyIHBhdGNoIGhlYWRlcnMuCj4gLQo+IC0uLiBfcXVpbHQ6IGh0dHA6Ly9zYXZhbm5h aC5ub25nbnUub3JnL3Byb2plY3RzL3F1aWx0Cj4gLQo+IC1Vc2luZyBHaXQKPiAtIiIiIiIiIiIi Cj4gLQo+IC1DcmVhdGUgdGhlIHBhdGNoIGRpcmVjdG9yeSBsaWtlIGFib3ZlIGZvciAqcXVpbHQq LAo+IC1idXQgb25seSBhZGQgYW4gZW1wdHkgc2VyaWVzIGZpbGU6Cj4gLQo+IC0uLiBjb2RlLWJs b2NrOjogdGV4dAo+IC0KPiAtICAgICQgbWtkaXIgLXAgcGF0Y2hlcy9mb28tMS4xLjAKPiAtICAg ICQgdG91Y2ggcGF0Y2hlcy9mb28tMS4xLjAvc2VyaWVzCj4gLQo+IC1UaGVuIGV4dHJhY3QgdGhl IHBhY2thZ2Ugd2l0aCBhbiBhZGRpdGlvbmFsIGNvbW1hbmQgbGluZSBzd2l0Y2g6Cj4gLQo+IC0u LiBjb2RlLWJsb2NrOjogdGV4dAo+IC0KPiAtICAgICQgcHR4ZGlzdCAtLWdpdCBleHRyYWN0IGZv bwo+IC0KPiAtVGhlIGVtcHR5IHNlcmllcyBmaWxlIG1ha2VzIFBUWGRpc3QgY3JlYXRlIGEgR2l0 IHJlcG9zaXRvcnkgaW4gdGhlCj4gLXJlc3BlY3RpdmUgcGFja2FnZSBidWlsZCBkaXJlY3Rvcnks Cj4gLWFuZCBpbXBvcnQgdGhlIHBhY2thZ2Ugc291cmNlIGFzIHRoZSBmaXJzdCBjb21taXQuCj4g LQo+IC0uLiBub3RlOjogT3B0aW9uYWxseSwgeW91IGNhbiBlbmFibGUgdGhlIHNldHRpbmcgKkRl dmVsb3BlciBPcHRpb25zIOKGkgo+IC0gIHVzZSBnaXQgdG8gYXBwbHkgcGF0Y2hlcyogaW4gYHB0 eGRpc3Qgc2V0dXBgIHRvIGdldCB0aGlzIGJlaGF2aW91cgo+IC0gIGFzIGEgZGVmYXVsdCBmb3Ig ZXZlcnkgcGFja2FnZS4KPiAtICBIb3dldmVyLCBub3RlIHRoYXQgdGhpcyBzZXR0aW5nIGlzIG1l YW50IGZvciBkZXZlbG9wbWVudCBvbmx5LCBhbmQgY2FuIGxlYWQKPiAtICB0byBmYWlsdXJlcyDi gJMgc29tZSBwYWNrYWdlcyB0cnkgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGJlaW5nIGNvbXBp bGVkIGZyb20KPiAtICBhIEdpdCBzb3VyY2UgdHJlZSwgYW5kIGJlaGF2ZSBkaWZmZXJlbnRseSBp biB0aGF0IGNhc2UuCj4gLQo+IC1UaGVuIHlvdSBjYW4gY2hhbmdlIGludG8gdGhlIHBhY2thZ2Ug YnVpbGQgZGlyZWN0b3J5Cj4gLShgYHBsYXRmb3JtLTxuYW1lPi9idWlsZC10YXJnZXQvZm9vLTEu MS4wYGApLAo+IC1wYXRjaCB0aGUgcmVxdWlyZWQgc291cmNlIGZpbGVzLAo+IC1hbmQgbWFrZSBH aXQgY29tbWl0cyBvbiB0aGUgd2F5Lgo+IC1UaGUgR2l0IGhpc3Rvcnkgc2hvdWxkIG5vdyBsb29r IHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4gLQo+IC0uLiBjb2RlLWJsb2NrOjogdGV4dAo+IC0KPiAt ICAgICQgZ2l0IGxvZyAtLW9uZWxpbmUgLS1kZWNvcmF0ZQo+IC0gICAgKiBkZjM0M2U4MjE4NTEg KEhFQUQgLT4gbWFzdGVyKSBNYWtlZmlsZTogZG9uJ3QgYnVpbGQgdGhlIHRlc3RzCj4gLSAgICAq IDY1YTM2MGMyYmQ2MCBzdHJmcnkuYzogZnJvYm5pY2F0ZSB0aGUgZXhjdXNhdG9yCj4gLSAgICAq IGZkYzMxNWY2ODQ0YyAodGFnOiBmb29iYXItMS4xLjAsIHRhZzogYmFzZSkgaW5pdGlhbCBjb21t aXQKPiAtCj4gLUZpbmFsbHksIGNhbGwgYGBnaXQgcHR4LXBhdGNoZXNgYCB0byB0cmFuc2Zvcm0g dGhvc2UgR2l0IGNvbW1pdHMgaW50byB0aGUgcGF0Y2gKPiAtc2VyaWVzIGluIHRoZSBgYHBhdGNo ZXMvZm9vLTEuMS4wYGAgZm9sZGVyLgo+IC1UaGlzIHdheSB0aGV5IGRvbid0IGdldCBsb3N0IHdo ZW4gY2xlYW5pbmcgdGhlIHBhY2thZ2UuCj4gLQo+IC0uLiBub3RlOjogUFRYZGlzdCB3aWxsIG9u bHkgY3JlYXRlIGEgR2l0IHJlcG9zaXRvcnkgZm9yIHBhY2thZ2VzIHdpdGgKPiAtICBwYXRjaGVz LiAgVG8gdXNlIEdpdCB0byBnZW5lcmF0ZSB0aGUgZmlyc3QgcGF0Y2gsIGNyZWF0ZSBhbiBlbXB0 eSBzZXJpZXMKPiAtICBmaWxlIGBgcGF0Y2hlcy9mb29iYXItMS4xLjAvc2VyaWVzYGAgYmVmb3Jl IGV4dHJhY3RpbmcgdGhlIHBhY2thZ2VzLiBUaGlzCj4gLSAgd2lsbCB0ZWxsIFBUWGRpc3QgdG8g dXNlIEdpdCBhbnl3YXlzIGFuZCBgYGdpdCBwdHgtcGF0Y2hlc2BgIHdpbGwgcHV0IHRoZQo+IC0g IHBhdGNoZXMgdGhlcmUuCj4gLQo+IC1Cb3RoIGFwcHJvYWNoZXMgKEdpdCBhbmQgcXVpbHQpIGFy ZSBub3Qgc3VpdGFibGUgZm9yIG1vZGlmeWluZyBmaWxlcwo+IC10aGF0IGFyZSBhdXRvZ2VuZXJh dGVkIGluIGF1dG90b29scy1iYXNlZCBidWlsZHN5c3RlbXMuCj4gLVJlZmVyIHRvIHRoZSBzZWN0 aW9uIDpyZWY6YGNvbmZpZ3VyZV9yZWJ1aWxkYCBvbiBob3cgUFRYZGlzdCBjYW4KPiAtaGFuZGxl IHRoaXMgc3BlY2lhbCB0YXNrLgo+IC0KPiAtQWRkaW5nIE1vcmUgUGF0Y2hlcyB0byBhIFBhY2th Z2UKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KPiAtCj4gLUlmIHdlIHdhbnQg dG8gYWRkIG1vcmUgcGF0Y2hlcyB0byBhbiBhbHJlYWR5IHBhdGNoZWQgcGFja2FnZSwgd2UgY2Fu IHVzZQo+IC1uZWFybHkgdGhlIHNhbWUgd2F5IGFzIGNyZWF0aW5nIHBhdGNoZXMgZm9yIHRoZSBm aXJzdCB0aW1lLiBCdXQgaWYgdGhlCj4gLXBhdGNoIHNlcmllcyBjb21lcyBmcm9tIHRoZSBQVFhk aXN0IG1haW4gaW5zdGFsbGF0aW9uLCB3ZSBkbyBub3QgaGF2ZQo+IC13cml0ZSBwZXJtaXNzaW9u cyB0byB0aGVzZSBkaXJlY3RvcmllcyAoZG8gTkVWRVIgd29yayBvbiB0aGUgbWFpbgo+IC1pbnN0 YWxsYXRpb24gZGlyZWN0b3JpZXMsIE5FVkVSLCBORVZFUiwgTkVWRVIpLiBEdWUgdG8gdGhlIHNl YXJjaCBvcmRlcgo+IC1pbiB3aGljaCBQVFhkaXN0IHNlYXJjaGVzIGZvciBwYXRjaGVzIGZvciBh IHNwZWNpZmljIHBhY2thZ2UsIHdlIGNhbgo+IC1jb3B5IHRoZSBnbG9iYWwgcGF0Y2ggc2VyaWVz IHRvIG91ciBsb2NhbCBwcm9qZWN0IGRpcmVjdG9yeS4gTm93IHdlIGhhdmUKPiAtdGhlIHBlcm1p c3Npb25zIHRvIGFkZCBtb3JlIHBhdGNoZXMgb3IgbW9kaWZ5IHRoZSBleGlzdGluZyBvbmVzLiBB bHNvCj4gLSpxdWlsdCogYW5kICpnaXQqIGFyZSBvdXIgZnJpZW5kcyBoZXJlIHRvIG1hbmFnZSB0 aGUgcGF0Y2ggc2VyaWVzLgo+IC0KPiAtSWYgd2UgdGhpbmsgdGhhdCBvdXIgbmV3IHBhdGNoZXMg YXJlIHZhbHVhYmxlIGFsc28gZm9yIG90aGVycywgb3IgdGhleQo+IC1maXggYW4gZXJyb3IsIGl0 IGNvdWxkIGJlIGEgZ29vZCBpZGVhIHRvIHNlbmQgdGhlc2UgcGF0Y2hlcyB0byBQVFhkaXN0Cj4g LW1haW5saW5lLCBhbmQgdG8gdGhlIHVwc3RyZWFtIHByb2plY3QgdG9vLgo+IC0KPiAtCj4gLS4u IF9jb25maWd1cmVfcmVidWlsZDoKPiAtCj4gLU1vZGlmeWluZyBBdXRvdG9vbGl6ZWQgUGFja2Fn ZXMKPiAtXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgo+IC0KPiAtQXV0b3Rvb2xpemVk IHBhY2thZ2VzIGFyZSB2ZXJ5IHBpY2t5IHdoZW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZmls ZXMKPiAtZ2V0IHBhdGNoZWQuIFRoZSBwYXRjaCBvcmRlciBpcyB2ZXJ5IGltcG9ydGFudCBpbiB0 aGlzIGNhc2UgYW5kCj4gLXNvbWV0aW1lcyBpdCBldmVuIGZhaWxzIGFuZCBub2JvZHkga25vd3Mg d2h5Lgo+IC0KPiAtVG8gaW1wcm92ZSBhIHBhY2thZ2XigJlzIGF1dG90b29scy1iYXNlZCBidWls ZCBzeXN0ZW0sIFBUWGRpc3QgY29tZXMgd2l0aAo+IC1pdHMgb3duIHByb2plY3QgbG9jYWwgYXV0 b3Rvb2xzIHRvIHJlZ2VuZXJhdGUgdGhlIGF1dG90b29scyB0ZW1wbGF0ZQo+IC1maWxlcywgaW5z dGVhZCBvZiBwYXRjaGluZyB0aGVtLiBXaXRoIHRoaXMgZmVhdHVyZSwgb25seSB0aGUgdGVtcGxh dGUKPiAtZmlsZXMgbXVzdCBiZSBwYXRjaGVkLCB0aGUgcmVxdWlyZWQgYGBjb25maWd1cmVgYCBz Y3JpcHQgYW5kIHRoZQo+IC1gYE1ha2VmaWxlLmluYGAgZmlsZXMgYXJlIHJlZ2VuZXJhdGVkIGlu IHRoZSBmaW5hbCBzdGFnZXMgb2YgdGhlCj4gLSpwcmVwYXJlKiBzdGVwLgo+IC0KPiAtVGhpcyBm ZWF0dXJlIHdvcmtzIGxpa2UgdGhlIHJlZ3VsYXIgcGF0Y2hpbmcgbWVjaGFuaXNtLiBUaGUgb25s eQo+IC1kaWZmZXJlbmNlIGlzIHRoZSBhZGRpdGlvbmFsIGBgYXV0b2dlbi5zaGBgIGZpbGUgaW4g dGhlIHBhdGNoIGRpcmVjdG9yeS4KPiAtSWYgaXQgZXhpc3RzIGFuZCBoYXMgZXhlY3V0aW9uIHBl cm1pc3Npb25zLCBpdCB3aWxsIGJlIGNhbGxlZCBhZnRlciB0aGUKPiAtcGFja2FnZSB3YXMgcGF0 Y2hlZCAod2hpbGUgdGhlICpleHRyYWN0KiBzdGFnZSBpcyBydW5uaW5nKS4KPiAtCj4gLUl0cyBj b250ZW50IGRlcGVuZHMgb24gZGV2ZWxvcGVyIG5lZWRzOyBmb3IgdGhlIG1vc3Qgc2ltcGxlIGNh c2UgdGhlCj4gLWNvbnRlbnQgY2FuIGJlOgo+IC0KPiAtLi4gY29kZS1ibG9jazo6IGJhc2gKPiAt Cj4gLSAgICAjIS9iaW4vYmFzaAo+IC0KPiAtICAgIGFjbG9jYWwgJEFDTE9DQUxfRkxBR1MKPiAt Cj4gLSAgICBsaWJ0b29saXplIFwKPiAtICAgICAgICAgICAgLS1mb3JjZSBcCj4gLSAgICAgICAg ICAgIC0tY29weQo+IC0KPiAtICAgIGF1dG9yZWNvbmYgXAo+IC0gICAgICAgICAgICAtLWZvcmNl IFwKPiAtICAgICAgICAgICAgLS1pbnN0YWxsIFwKPiAtICAgICAgICAgICAgLS13YXJuaW5ncz1j cm9zcyBcCj4gLSAgICAgICAgICAgIC0td2FybmluZ3M9c3ludGF4IFwKPiAtICAgICAgICAgICAg LS13YXJuaW5ncz1vYnNvbGV0ZSBcCj4gLSAgICAgICAgICAgIC0td2FybmluZ3M9dW5zdXBwb3J0 ZWQKPiAtCj4gLS4uIG5vdGU6OiBJbiB0aGlzIHdheSBub3QgeWV0IGF1dG90b29saXplZCBwYWNr YWdlIGNhbiBiZSBhdXRvdG9vbGl6ZWQuIFdlCj4gLSAganVzdCBoYXZlIHRvIGFkZCB0aGUgY29t bW9uIGF1dG90b29sIHRlbXBsYXRlIGZpbGVzIChgYGNvbmZpZ3VyZS5hY2BgCj4gLSAgYW5kIGBg TWFrZWZpbGUuYW1gYCBmb3IgZXhhbXBsZSkgdmlhIGEgcGF0Y2ggc2VyaWVzIHRvIHRoZSBwYWNr YWdlCj4gLSAgc291cmNlIGFuZCB0aGUgYGBhdXRvZ2VuLnNoYGAgdG8gdGhlIHBhdGNoIGRpcmVj dG9yeS4KPiBkaWZmIC0tZ2l0IGEvZG9jL2Rldl9hZHZhbmNlZF9ydWxlX2ZpbGVzLnJzdCBiL2Rv Yy9kZXZfYWR2YW5jZWRfcnVsZV9maWxlcy5yc3QKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uNzk0YmQxNDhjYmFlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2Rv Yy9kZXZfYWR2YW5jZWRfcnVsZV9maWxlcy5yc3QKPiBAQCAtMCwwICsxLDQ2MyBAQAo+ICsqKioq KioqKioqKioqKioqKioqCj4gK0FkdmFuY2VkIFJ1bGUgRmlsZXMKPiArKioqKioqKioqKioqKioq KioqKgo+ICsKPiArVGhlIHByZXZpb3VzIGV4YW1wbGUgb24gaG93IHRvIGNyZWF0ZSBhIHJ1bGUg ZmlsZSBzb21ldGltZXMgd29ya3MgYXMKPiArc2hvd24gYWJvdmUuIEJ1dCBtb3N0IG9mIHRoZSB0 aW1lIHNvdXJjZSBhcmNoaXZlcyBhcmUgbm90IHRoYXQgc2ltcGxlLgo+ICtJbiB0aGlzIHNlY3Rp b24gd2Ugd2FudCB0byBnaXZlIHRoZSB1c2VyIGEgbW9yZSBkZXRhaWxlZCBzZWxlY3Rpb24gaG93 Cj4gK3RoZSBwYWNrYWdlIHdpbGwgYmUgYnVpbHQuCj4gKwo+ICtBZGRpbmcgU3RhdGljIENvbmZp Z3VyZSBQYXJhbWV0ZXJzCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAr Cj4gK1RoZSBgYGNvbmZpZ3VyZWBgIHNjcmlwdHMgb2YgdmFyaW91cyBzb3VyY2UgYXJjaGl2ZXMg cHJvdmlkZSBhZGRpdGlvbmFsCj4gK3BhcmFtZXRlcnMgdG8gZW5hYmxlIG9yIGRpc2FibGUgZmVh dHVyZXMsIG9yIHRvIGNvbmZpZ3VyZSB0aGVtIGluIGEKPiArc3BlY2lmaWMgd2F5Lgo+ICsKPiAr V2UgYXNzdW1lIHRoZSBgYGNvbmZpZ3VyZWBgIHNjcmlwdCBvZiBvdXIgYGBmb29gYCBleGFtcGxl IChyZWZlciB0bwo+ICtzZWN0aW9uIDpyZWY6YGZvb19leGFtcGxlYCkgc3VwcG9ydHMgdHdvIGFk ZGl0aW9uYWwgcGFyYW1ldGVyczoKPiArCj4gKy0gICoqLS1lbmFibGUtZGVidWcqKjogTWFrZSB0 aGUgcHJvZ3JhbSBtb3JlIG5vaXN5LiBJdOKAmXMgZGlzYWJsZWQgYnkKPiArICAgZGVmYXVsdC4K PiArCj4gKy0gICoqLS13aXRoLWJhcioqOiBBbHNvIGJ1aWxkIHRoZSBzcGVjaWFsIGV4ZWN1dGFi bGUgKipiYXIqKi4gQnVpbGRpbmcKPiArICAgdGhpcyBleGVjdXRhYmxlIGlzIGFsc28gZGlzYWJs ZWQgYnkgZGVmYXVsdC4KPiArCj4gK1dlIG5vdyB3YW50IHRvIGZvcndhcmQgdGhlc2Ugb3B0aW9u cyB0byB0aGUgYGBjb25maWd1cmVgYCBzY3JpcHQgd2hlbiBpdAo+ICtydW5zIGluIHRoZSAqcHJl cGFyZSogc3RhZ2UuIFRvIGRvIHNvLCB3ZSBtdXN0IGFnYWluIG9wZW4gdGhlIHJ1bGUgZmlsZQo+ ICt3aXRoIG91ciBmYXZvdXJpdGUgZWRpdG9yIGFuZCBuYXZpZ2F0ZSB0byB0aGUgKnByZXBhcmUq IHN0YWdlIGVudHJ5Lgo+ICsKPiArUFRYZGlzdCB1c2VzIHRoZSB2YXJpYWJsZSBgYEZPT19DT05G X09QVGBgIGFzIHRoZSBsaXN0IG9mIHBhcmFtZXRlcnMgdG8KPiArYmUgZ2l2ZW4gdG8gYGBjb25m aWd1cmVgYC4KPiArCj4gK0N1cnJlbnRseSB0aGlzIHZhcmlhYmxlIGlzIGNvbW1lbnRlZCBvdXQg YW5kIGRlZmluZWQgdG86Cj4gKwo+ICsuLiBjb2RlLWJsb2NrOjogbWFrZQo+ICsKPiArICAgICMg Rk9PX0NPTkZfT1BUIDo9ICQoQ1JPU1NfQVVUT0NPTkZfVVNSKQo+ICsKPiArVGhlIHZhcmlhYmxl IGBgQ1JPU1NfQVVUT0NPTkZfVVNSYGAgaXMgcHJlZGVmaW5lZCBieSBQVFhkaXN0IGFuZAo+ICtj b250YWlucyBhbGwgYmFzaWMgcGFyYW1ldGVycyB0byBpbnN0cnVjdCBgYGNvbmZpZ3VyZWBgIHRv IHByZXBhcmUgZm9yIGEKPiArKipjcm9zcyoqIGNvbXBpbGUgZW52aXJvbm1lbnQuCj4gKwo+ICtU byB1c2UgdGhlIHR3byBhZGRpdGlvbmFsIG1lbnRpb25lZCBgYGNvbmZpZ3VyZWBgIHBhcmFtZXRl cnMsIHdlIGNvbW1lbnQKPiAraW4gdGhpcyBsaW5lIGFuZCBzdXBwbGVtZW50IHRoaXMgZXhwcmVz c2lvbiBhcyBmb2xsb3dzOgo+ICsKPiArLi4gY29kZS1ibG9jazo6IG1ha2UKPiArCj4gKyAgICBG T09fQ09ORl9PUFQgOj0gXAo+ICsgICAgICAgICQoQ1JPU1NfQVVUT0NPTkZfVVNSKSBcCj4gKyAg ICAgICAgLS1lbmFibGUtZGVidWcgXAo+ICsgICAgICAgIC0td2l0aC1iYXIKPiArCj4gKy4uIG5v dGU6OiBXZSByZWNvbW1lbmQgdG8gdXNlIHRoaXMgZm9ybWF0IHdpdGggZWFjaCBwYXJhbWV0ZXIg b24gYSBsaW5lIG9mCj4gKyBpdHMgb3duLiBUaGlzIGZvcm1hdCBpcyBlYXNpZXIgdG8gcmVhZCBh bmQgYSBkaWZmIHNob3dzIG1vcmUgZXhhY3RseSBhbnkKPiArIGNoYW5nZS4KPiArCj4gK1RvIGRv IGEgZmFzdCBjaGVjayBpZiB0aGlzIGFkZGl0aW9uIHdhcyBzdWNjZXNzZnVsLCB3ZSBydW46Cj4g Kwo+ICsuLiBjb2RlLWJsb2NrOjogdGV4dAo+ICsKPiArICAgICQgcHR4ZGlzdCBwcmludCBGT09f Q09ORl9PUFQKPiArICAgIC0tcHJlZml4PS91c3IgLS1zeXNjb25mZGlyPS9ldGMgLS1ob3N0PXxw dHhkaXN0Q29tcGlsZXJOYW1lfCAtLWJ1aWxkPWk2ODYtaG9zdC1saW51eC1nbnUgLS1lbmFibGUt ZGVidWcgLS13aXRoLWJhcgo+ICsKPiArLi4gbm90ZTo6IEl0IGRlcGVuZHMgb24gdGhlIGN1cnJl bnRseSBzZWxlY3RlZCBwbGF0Zm9ybSBhbmQgaXRzIGFyY2hpdGVjdHVyZQo+ICsgd2hhdCBjb250 ZW50IHRoaXMgdmFyaWFibGUgd2lsbCBoYXZlLiBUaGUgY29udGVudCBzaG93biBhYm92ZSBpcyBh bgo+ICsgZXhhbXBsZSBmb3IgYSB0YXJnZXQuCj4gKwo+ICtPciByZS1idWlsZCB0aGUgcGFja2Fn ZSB3aXRoIHRoZSBuZXcgc2V0dGluZ3M6Cj4gKwo+ICsuLiBjb2RlLWJsb2NrOjogdGV4dAo+ICsK PiArICAgICQgcHR4ZGlzdCBkcm9wIGZvbyBwcmVwYXJlCj4gKyAgICAkIHB0eGRpc3QgdGFyZ2V0 aW5zdGFsbCBmb28KPiArCj4gK0FkZGluZyBEeW5hbWljIENvbmZpZ3VyZSBQYXJhbWV0ZXJzCj4g Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKwo+ICtTb21ldGltZXMgaXQg bWFrZXMgc2Vuc2UgdG8gYWRkIHRoaXMga2luZCBvZiBwYXJhbWV0ZXJzIG9uIGRlbWFuZCBvbmx5 Owo+ICtlc3BlY2lhbGx5IGEgcGFyYW1ldGVyIGxpa2UgYGAtLWVuYWJsZS1kZWJ1Z2BgLiBUbyBs ZXQgdGhlIHVzZXIgZGVjaWRlCj4gK2lmIHRoaXMgcGFyYW1ldGVyIGlzIHRvIGJlIHVzZWQgb3Ig bm90LCB3ZSBtdXN0IGFkZCBhIG1lbnUgZW50cnkuIFNvLAo+ICtsZXTigJlzIGV4cGFuZCBvdXIg bWVudS4gSGVyZSBpcyBpdHMgY3VycmVudCBjb250ZW50Ogo+ICsKPiArLi4gY29kZS1ibG9jazo6 IGtjb25maWcKPiArCj4gKyAgICAjIyBTRUNUSU9OPXByb2plY3Rfc3BlY2lmaWMKPiArCj4gKyAg ICBjb25maWcgRk9PCj4gKyAgICAgICAgICAgIHRyaXN0YXRlCj4gKyAgICAgICAgICAgIHByb21w dCAiZm9vIgo+ICsgICAgICAgICAgICBoZWxwCj4gKyAgICAgICAgICAgICAgRklYTUUKPiArCj4g K1dl4oCZbGwgYWRkIHR3byBtZW51IGVudHJpZXMsIG9uZSBmb3IgZWFjaCBvcHRpb25hbCBwYXJh bWV0ZXIgd2Ugd2FudCB0bwo+ICthZGQgb24gZGVtYW5kIHRvIHRoZSBgYGNvbmZpZ3VyZWBgIHBh cmFtZXRlcnM6Cj4gKwo+ICsuLiBjb2RlLWJsb2NrOjoga2NvbmZpZwo+ICsKPiArICAgICMjIFNF Q1RJT049cHJvamVjdF9zcGVjaWZpYwo+ICsKPiArICAgIGNvbmZpZyBGT08KPiArICAgICAgICAg ICB0cmlzdGF0ZQo+ICsgICAgICAgICAgIHByb21wdCAiZm9vIgo+ICsgICAgICAgICAgIGhlbHAK PiArICAgICAgICAgICAgIEZJWE1FCj4gKwo+ICsgICAgaWYgRk9PCj4gKyAgICBjb25maWcgRk9P X0RFQlVHCj4gKyAgICAgICAgICAgYm9vbAo+ICsgICAgICAgICAgIHByb21wdCAiYWRkIGRlYnVn IG5vaXNlIgo+ICsKPiArICAgIGNvbmZpZyBGT09fQkFSCj4gKyAgICAgICAgICAgYm9vbAo+ICsg ICAgICAgICAgIHByb21wdCAiYnVpbGQgYmFyIgo+ICsKPiArICAgIGVuZGlmCj4gKwo+ICsuLiBp bXBvcnRhbnQ6OiBBbHdheXMgZm9sbG93IHRoZSBydWxlIHRvIGV4dGVuZCB0aGUgYmFzZSBuYW1l IGJ5IGEgc3Vib3B0aW9uCj4gKyAgbmFtZSBhcyB0aGUgdHJhaWxpbmcgcGFydCBvZiB0aGUgdmFy aWFibGUgbmFtZS4gVGhpcyBnaXZlcyBQVFhkaXN0IHRoZSBhYmlsaXR5Cj4gKyAgdG8gZGV0ZWN0 IGEgY2hhbmdlIGluIHRoZSBwYWNrYWdl4oCZcyBzZXR0aW5ncyAodmlhIG1lbnVjb25maWcpIHRv IGZvcmNlIGl0cwo+ICsgIHJlYnVpbGQgb24gZGVtYW5kLgo+ICsKPiArVG8gbWFrZSB1c2FnZSBv ZiB0aGUgbmV3IG1lbnUgZW50cmllcywgd2UgbXVzdCBjaGVjayB0aGVtIGluIHRoZSBydWxlCj4g K2ZpbGUgYW5kIGFkZCB0aGUgY29ycmVjdCBwYXJhbWV0ZXJzOgo+ICsKPiArLi4gY29kZS1ibG9j azo6IG1ha2UKPiArCj4gKyAgICAjCj4gKyAgICAjIGF1dG9jb25mCj4gKyAgICAjCj4gKyAgICBG T09fQ09ORl9PUFQgOj0gXAo+ICsgICAgICAgICQoQ1JPU1NfQVVUT0NPTkZfVVNSKSBcCj4gKyAg ICAgICAgLS0kKGNhbGwgcHR4L2VuZGlzLCBQVFhDT05GX0ZPT19ERUJVRyktZGVidWcgXAo+ICsg ICAgICAgIC0tJChjYWxsIHB0eC93d28sIFBUWENPTkZfRk9PX0JBUiktYmFyCj4gKwo+ICsuLiBp bXBvcnRhbnQ6OiBQbGVhc2Ugbm90ZSB0aGUgbGVhZGluZyBgYFBUWENPTkZfYGAgZm9yIGVhY2gg ZGVmaW5lLiBXaGlsZSBLY29uZmlnIGlzCj4gKyAgdXNpbmcgYGBGT09fQkFSYGAsIHRoZSBydWxl IGZpbGUgbXVzdCB1c2UgYGBQVFhDT05GX0ZPT19CQVJgYCBpbnN0ZWFkLgo+ICsKPiArLi4gbm90 ZTo6IFJlZmVyIDpyZWY6YFJ1bGUgRmlsZSBNYWNybyBSZWZlcmVuY2UgPHBhcmFtX21hY3Jvcz5g IGZvciBmdXJ0aGVyCj4gKyAgIGRldGFpbHMgYWJvdXQgdGhlc2Ugc3BlY2lhbCBraW5kIG9mIG9w dGlvbiBtYWNyb3MgKGUuZy4gYGBwdHgvLi4uYGApLgo+ICsKPiArSXQgaXMgYSBnb29kIHByYWN0 aWNlIHRvIGFsd2F5cyBhZGQgYm90aCBzZXR0aW5ncywgZS5nLiBgYC0tZGlzYWJsZS1kZWJ1Z2Bg Cj4gK2V2ZW4gaWYgdGhpcyBpcyB0aGUgZGVmYXVsdCBjYXNlLiBTb21ldGltZXMgYGBjb25maWd1 cmVgYCB0cmllcyB0byBndWVzcwo+ICtzb21ldGhpbmcgYW5kIHRoZSBiaW5hcnkgcmVzdWx0IG1p Z2h0IGRpZmZlciBkZXBlbmRpbmcgb24gdGhlIGJ1aWxkCj4gK29yZGVyLiBGb3IgZXhhbXBsZSBz b21lIGtpbmQgb2YgcGFja2FnZSB3b3VsZCBhbHNvIGJ1aWxkIHNvbWUgWCByZWxhdGVkCj4gK3Rv b2xzLCBpZiBYIGxpYnJhcmllcyBhcmUgZm91bmQuIEluIHRoaXMgY2FzZSBpdCBkZXBlbmRzIG9u IHRoZSBidWlsZAo+ICtvcmRlciwgaWYgdGhlIFggcmVsYXRlZCB0b29scyBhcmUgYnVpbHQgb3Ig bm90LiBBbGwgdGhlIGF1dG9jaGVjawo+ICtmZWF0dXJlcyBhcmUgcHJvYmxlbWF0aWMgaGVyZS4g U28sIGlmIHdlIGRvIG5vdCB3YW50IGBgY29uZmlndXJlYGAgdG8KPiArZ3Vlc3MgaXRzIHNldHRp bmdzIHdlICoqbXVzdCBkaXNhYmxlIGV2ZXJ5dGhpbmcgd2UgZG8gbm90IHdhbnQqKi4KPiArCj4g K1RvIHN1cHBvcnQgdGhpcyBwcm9jZXNzLCBQVFhkaXN0IHN1cHBsaWVzIGEgaGVscGVyIHNjcmlw dCwgbG9jYXRlZCBhdAo+ICtgYC9wYXRoL3RvL3B0eGRpc3Qvc2NyaXB0cy9jb25maWd1cmUtaGVs cGVyLnB5YGAgdGhhdCBjb21wYXJlcyB0aGUgY29uZmlndXJlCj4gK291dHB1dCB3aXRoIHRoZSBz ZXR0aW5ncyBmcm9tIGBgRk9PX0NPTkZfT1BUYGA6Cj4gKwo+ICsuLiBjb2RlLWJsb2NrOjogdGV4 dAo+ICsKPiArICAgICQgL29wdC9wdHhkaXN0LTIwMTcuMDYuMC9zY3JpcHRzL2NvbmZpZ3VyZS1o ZWxwZXIucHkgLXAgbGlic2lncm9rCj4gKyAgICAtLS0gcnVsZXMvbGlic2lncm9rLm1ha2UKPiAr ICAgICsrKyBsaWJzaWdyb2stMC41LjAKPiArICAgIEBAIC00LDMgKzQsNzQgQEAKPiArICAgICAJ LS1saWJkaXI9L3Vzci9saWIKPiArICAgICAJLS1idWlsZD14ODZfNjQtaG9zdC1saW51eC1nbnUK PiArICAgICAJLS1ob3N0PWFybS12N2EtbGludXgtZ251ZWFiaWhmCj4gKyAgICArCS0tZW5hYmxl LXdhcm5pbmdzPW1pbnxtYXh8ZmF0YWx8bm8KPiArICAgICsJLS1kaXNhYmxlLWxhcmdlZmlsZQo+ ICsgICAgKwktLWVuYWJsZS1hbGwtZHJpdmVycwo+ICsgICAgKwktLWVuYWJsZS1hZ2lsZW50LWRt bQo+ICsgICAgWy4uLl0KPiArICAgICsJLS1lbmFibGUtcnVieQo+ICsgICAgKwktLWVuYWJsZS1q YXZhCj4gKyAgICArCS0td2l0aG91dC1saWJzZXJpYWxwb3J0Cj4gKyAgICArCS0td2l0aG91dC1s aWJmdGRpCj4gKyAgICArCS0td2l0aG91dC1saWJ1c2IKPiArICAgICsJLS13aXRob3V0LWxpYnJl dmlzYQo+ICsgICAgKwktLXdpdGhvdXQtbGliZ3BpYgo+ICsgICAgKwktLXdpdGhvdXQtbGliaWVl ZTEyODQKPiArICAgICsJLS13aXRoLWpuaS1pbmNsdWRlLXBhdGg9RElSLUxJU1QKPiArCj4gK0lu IHRoaXMgZXhhbXBsZSwgbWFueSBjb25maWd1cmUgb3B0aW9ucyBmcm9tIGxpYnNpZ3JvayAobWFy a2VkIHdpdGggYGArYGApCj4gK2FyZSBub3QgeWV0IHByZXNlbnQgaW4gYGBMSUJTSUdST0tfQ09O Rl9PUFRgYCBhbmQgbXVzdCBiZSBhZGRlZCwgcG9zc2libHkgYWxzbwo+ICtieSBwcm92aWRpbmcg bW9yZSBkeW5hbWljIG9wdGlvbnMgaW4gdGhlIHBhY2thZ2UgZGVmaW5pdGlvbi4KPiArCj4gK0lm IHNvbWUgcGFydHMgb2YgYSBwYWNrYWdlIGFyZSBidWlsdCBvbiBkZW1hbmQgb25seSwgdGhleSBt dXN0IGFsc28gYmUKPiAraW5zdGFsbGVkIG9uIGRlbWFuZCBvbmx5LiBCZXNpZGVzIHRoZSAqcHJl cGFyZSogc3RhZ2UsIHdlIGFsc28gbXVzdAo+ICttb2RpZnkgb3VyICp0YXJnZXRpbnN0YWxsKiBz dGFnZToKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gKwo+ICsgICAgCUAkKGNhbGwgaW5z dGFsbF9jb3B5LCBmb28sIDAsIDAsIDA3NTUsICQoRk9PX0RJUikvZm9vLCAvdXNyL2Jpbi9mb28p Cj4gKwo+ICsgICAgaWZkZWYgUFRYQ09ORl9GT09fQkFSCj4gKyAgICAJQCQoY2FsbCBpbnN0YWxs X2NvcHksIGZvbywgMCwgMCwgMDc1NSwgJChGT09fRElSKS9iYXIsIC91c3IvYmluL2JhcikKPiAr ICAgIGVuZGlmCj4gKwo+ICsgICAgCUAkKGNhbGwgaW5zdGFsbF9maW5pc2gsIGZvbykKPiArICAg IAlAJChjYWxsIHRvdWNoKQo+ICsKPiArTm93IHdlIGNhbiBwbGF5IHdpdGggb3VyIG5ldyBtZW51 IGVudHJpZXMgYW5kIGNoZWNrIGlmIHRoZXkgYXJlIHdvcmtpbmcKPiArYXMgZXhwZWN0ZWQ6Cj4g Kwo+ICsuLiBjb2RlLWJsb2NrOjogdGV4dAo+ICsKPiArICAgICQgcHR4ZGlzdCBtZW51Y29uZmln Cj4gKyAgICAkIHB0eGRpc3QgdGFyZ2V0aW5zdGFsbCBmb28KPiArCj4gK1doZW5ldmVyIHdlIGNo YW5nZSBhICpGT08qIHJlbGF0ZWQgbWVudSBlbnRyeSwgUFRYZGlzdCBzaG91bGQgZGV0ZWN0IGl0 Cj4gK2FuZCByZS1idWlsZCB0aGUgcGFja2FnZSB3aGVuIGEgbmV3IGJ1aWxkIGlzIHN0YXJ0ZWQu Cj4gKwo+ICsuLiBfZXh0ZXJuYWxfZGVwZW5kZW5jaWVzOgo+ICsKPiArTWFuYWdpbmcgRXh0ZXJu YWwgQ29tcGlsZSBUaW1lIERlcGVuZGVuY2llcwo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Cj4gKwo+ICtXaGlsZSBydW5uaW5nIHRoZSBwcmVwYXJlIHN0YWdl LCBpdCBjb3VsZCBoYXBwZW4gdGhhdCBpdCBmYWlscyBkdWUgdG8gYQo+ICttaXNzaW5nIGV4dGVy bmFsIGRlcGVuZGVuY3kuCj4gKwo+ICtGb3IgZXhhbXBsZToKPiArCj4gKy4uIGNvZGUtYmxvY2s6 OiB0ZXh0Cj4gKwo+ICsgICAgY2hlY2tpbmcgd2hldGhlciB6bGliIGV4aXN0cy4uLi5mYWlsZWQK PiArCj4gK0luIHRoaXMgZXhhbXBsZSwgb3VyIG5ldyBwYWNrYWdlIGRlcGVuZHMgb24gdGhlIGNv bXByZXNzaW9uIGxpYnJhcnkKPiArKnpsaWIqLiBQVFhkaXN0IGNvbWVzIHdpdGggYSB0YXJnZXQg KnpsaWIqLiBBbGwgd2UgbmVlZCB0byBkbyBpbiB0aGlzCj4gK2Nhc2UgaXMgdG8gZGVjbGFyZSB0 aGF0IG91ciBuZXcgcGFja2FnZSAqZm9vKiBkZXBlbmRzIG9uICp6bGliKi4gVGhpcwo+ICtraW5k IG9mIGRlcGVuZGVuY3kgaXMgbWFuYWdlZCBpbiB0aGUgbWVudSBmaWxlIG9mIG91ciBuZXcgcGFj a2FnZSBieQo+ICtzaW1wbHkgYWRkaW5nIHRoZSBgYHNlbGVjdCBaTElCYGAgbGluZS4gQWZ0ZXIg dGhpcyBhZGRpdGlvbiBvdXIgbWVudQo+ICtmaWxlIGxvb2tzIGxpa2U6Cj4gKwo+ICsuLiBjb2Rl LWJsb2NrOjoga2NvbmZpZwo+ICsKPiArICAgICMjIFNFQ1RJT049cHJvamVjdF9zcGVjaWZpYwo+ ICsKPiArICAgIGNvbmZpZyBGT08KPiArICAgICAgICAgICB0cmlzdGF0ZQo+ICsgICAgICAgICAg IHNlbGVjdCBaTElCCj4gKyAgICAgICAgICAgcHJvbXB0ICJmb28iCj4gKyAgICAgICAgICAgaGVs cAo+ICsgICAgICAgICAgICAgRklYTUUKPiArCj4gKyAgICBpZiBGT08KPiArICAgIGNvbmZpZyBG T09fREVCVUcKPiArICAgICAgICAgICBib29sCj4gKyAgICAgICAgICAgcHJvbXB0ICJhZGQgZGVi dWcgbm9pc2UiCj4gKwo+ICsgICAgY29uZmlnIEZPT19CQVIKPiArICAgICAgICAgICBib29sCj4g KyAgICAgICAgICAgcHJvbXB0ICJidWlsZCBiYXIiCj4gKwo+ICsgICAgZW5kaWYKPiArCj4gK1BU WGRpc3Qgbm93IGJ1aWxkcyB0aGUgKnpsaWIqIGZpcnN0IGFuZCBvdXIgbmV3IHBhY2thZ2UgdGhl cmVhZnRlci4KPiArCj4gK1JlZmVyIDpyZWY6YGV4dGVybmFsX2RlcGVuZGVuY2llc192YXJpYW50 c2AgZm9yIG1vcmUgc3BlY2lmaWMgZGVwZW5kZW5jeQo+ICtkZXNjcmlwdGlvbi4KPiArCj4gK01h bmFnaW5nIEV4dGVybmFsIENvbXBpbGUgVGltZSBEZXBlbmRlbmNpZXMgb24gRGVtYW5kCj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKwo+ ICtJdCBpcyBnb29kIHByYWN0aWNlIHRvIGFkZCBvbmx5IHRob3NlIGRlcGVuZGVuY2llcyB0aGF0 IGFyZSByZWFsbHkKPiArcmVxdWlyZWQgZm9yIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2Yg dGhlIHBhY2thZ2UuIElmIHRoZSBwYWNrYWdlCj4gK3Byb3ZpZGVzIHRoZSBmZWF0dXJlcyAqZm9v KiBhbmQgKmJhciogYW5kIGl0cyBgYGNvbmZpZ3VyZWBgIHByb3ZpZGVzCj4gK3N3aXRjaGVzIHRv IGVuYWJsZS9kaXNhYmxlIHRoZW0gaW5kZXBlbmRlbnRseSwgd2UgY2FuIGFsc28gYWRkCj4gK2Rl cGVuZGVuY2llcyBvbiBkZW1hbmQuIExldOKAmXMgYXNzdW1lIGZlYXR1cmUgKmZvbyogbmVlZHMg dGhlIGNvbXByZXNzaW9uCj4gK2xpYnJhcnkgKmxpYnoqIGFuZCAqYmFyKiBuZWVkcyB0aGUgWE1M MiBsaWJyYXJ5ICpsaWJ4bWwyKi4gVGhlc2UKPiArbGlicmFyaWVzIGFyZSBvbmx5IHJlcXVpcmVk IGF0IHJ1bi10aW1lIGlmIHRoZSBjb3JyZXNwb25kaW5nIGZlYXR1cmUgaXMKPiArZW5hYmxlZC4g VG8gYWRkIHRoZXNlIGRlcGVuZGVuY2llcyBvbiBkZW1hbmQsIHRoZSBtZW51IGZpbGUgbG9va3Mg bGlrZToKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiBrY29uZmlnCj4gKwo+ICsgICAgIyMgU0VDVElP Tj1wcm9qZWN0X3NwZWNpZmljCj4gKwo+ICsgICAgY29uZmlnIEZPTwo+ICsgICAgICAgICAgIHRy aXN0YXRlCj4gKyAgICAgICAgICAgc2VsZWN0IFpMSUIgaWYgRk9PX0ZPTwo+ICsgICAgICAgICAg IHNlbGVjdCBMSUJYTUwyIGlmIEZPT19CQVIKPiArICAgICAgICAgICBwcm9tcHQgImZvbyIKPiAr ICAgICAgICAgICBoZWxwCj4gKyAgICAgICAgICAgICBGSVhNRQo+ICsKPiArICAgIGlmIEZPTwo+ ICsgICAgY29uZmlnIEZPT19ERUJVRwo+ICsgICAgICAgICAgIGJvb2wKPiArICAgICAgICAgICBw cm9tcHQgImFkZCBkZWJ1ZyBub2lzZSIKPiArCj4gKyAgICBjb25maWcgRk9PX0ZPTwo+ICsgICAg ICAgICAgIGJvb2wKPiArICAgICAgICAgICBwcm9tcHQgImJ1aWxkIGZvbyIKPiArCj4gKyAgICBj b25maWcgRk9PX0JBUgo+ICsgICAgICAgICAgIGJvb2wKPiArICAgICAgICAgICBwcm9tcHQgImJ1 aWxkIGJhciIKPiArCj4gKyAgICBlbmRpZgo+ICsKPiArLi4gaW1wb3J0YW50OjogRG8gbm90IGFk ZCB0aGVzZSBgYHNlbGVjdGBgIHN0YXRlbWVudHMgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbWVudSBl bnRyeS4KPiArICBUaGV5IG11c3QgYmVsb25nIHRvIHRoZSBtYWluIG1lbnUgZW50cnkgb2YgdGhl IHBhY2thZ2UgdG8gZW5zdXJlIHRoYXQKPiArICB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGRlcGVu ZGVuY2llcyBiZXR3ZWVuIHRoZSBwYWNrYWdlcyBpcyBkb25lIGluIGEKPiArICBjb3JyZWN0IG1h bm5lci4KPiArCj4gK01hbmFnaW5nIEV4dGVybmFsIFJ1bnRpbWUgRGVwZW5kZW5jaWVzCj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKwo+ICtTb21lIHBhY2thZ2Vz IGFyZSBidWlsZGluZyBhbGwgb2YgdGhlaXIgY29tcG9uZW50cyBhbmQgYWxzbyBpbnN0YWxsaW5n Cj4gK3RoZW0gaW50byB0aGUgdGFyZ2V04oCZcyBzeXNyb290LiBCdXQgb25seSB0aGVpciAqdGFy Z2V0aW5zdGFsbCogc3RhZ2UKPiArZGVjaWRlcyB3aGljaCBwYXJ0cyBhcmUgY29waWVkIHRvIHRo ZSByb290IGZpbGVzeXN0ZW0uIFNvLCBjb21waWxpbmcgYW5kCj4gK2xpbmtpbmcgb2Ygb3VyIHBh Y2thZ2Ugd2lsbCB3b3JrLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgcmVxdWlyZWQgaXMgZm91bmQKPiAr aW4gdGhlIHRhcmdldOKAmXMgc3lzcm9vdC4KPiArCj4gK0luIG91ciBleGFtcGxlIHRoZXJlIGlz IGEgaGlkZGVuIGRlcGVuZGVuY3kgdG8gdGhlIG1hdGggbGlicmFyeQo+ICtgYGxpYm1gYC4gT3Vy IG5ldyBwYWNrYWdlIHdhcyBidWlsdCBzdWNjZXNzZnVsbHksIGJlY2F1c2UgdGhlIGxpbmtlciB3 YXMKPiArYWJsZSB0byBsaW5rIG91ciBiaW5hcmllcyBhZ2FpbnN0IHRoZSBgYGxpYm1gYCBmcm9t IHRoZSB0b29sY2hhaW4uIEJ1dAo+ICtpbiB0aGlzIGNhc2UgdGhlIGBgbGlibWBgIG11c3QgYWxz byBiZSBhdmFpbGFibGUgaW4gdGhlIHRhcmdldOKAmXMgcm9vdAo+ICtmaWxlc3lzdGVtIHRvIGZ1 bGZpbGwgdGhlIHJ1bi10aW1lIGRlcGVuZGVuY3k6IFdlIGhhdmUgdG8gZm9yY2UgUFRYZGlzdCB0 bwo+ICtpbnN0YWxsIGBgbGlibWBgLiBgYGxpYm1gYCBpcyBwYXJ0IG9mIHRoZSAqZ2xpYmMqIHBh Y2thZ2UsIGJ1dCBpcyBub3QKPiAraW5zdGFsbGVkIGJ5IGRlZmF1bHQgKHRvIGtlZXAgdGhlIHJv b3QgZmlsZXN5c3RlbSBzbWFsbCkuIFNvLCBpdCAqKmRvZXMKPiArbm90KiogaGVscCB0byBzZWxl Y3QgdGhlIGBgR0xJQkNgYCBzeW1ib2wsIHRvIGdldCBhIGBgbGlibWBgIGF0IHJ1bi10aW1lLgo+ ICsKPiArVGhlIGNvcnJlY3Qgc29sdXRpb24gaGVyZSBpcyB0byBhZGQgYSBgYHNlbGVjdCBMSUJD X01gYCB0byBvdXIgbWVudQo+ICtmaWxlLiBXaXRoIGFsbCB0aGUgYWRkaXRpb25zIGFib3ZlIGl0 IG5vdyBsb29rcyBsaWtlOgo+ICsKPiArLi4gY29kZS1ibG9jazo6IGtjb25maWcKPiArCj4gKyAg ICAjIyBTRUNUSU9OPXByb2plY3Rfc3BlY2lmaWMKPiArCj4gKyAgICBjb25maWcgRk9PCj4gKyAg ICAgICAgICAgdHJpc3RhdGUKPiArICAgICAgICAgICBzZWxlY3QgWkxJQiBpZiBGT09fRk9PCj4g KyAgICAgICAgICAgc2VsZWN0IExJQlhNTDIgaWYgRk9PX0JBUgo+ICsgICAgICAgICAgIHNlbGVj dCBMSUJDX00KPiArICAgICAgICAgICBwcm9tcHQgImZvbyIKPiArICAgICAgICAgICBoZWxwCj4g KyAgICAgICAgICAgICBGSVhNRQo+ICsKPiArICAgIGlmIEZPTwo+ICsgICAgY29uZmlnIEZPT19E RUJVRwo+ICsgICAgICAgICAgIGJvb2wKPiArICAgICAgICAgICBwcm9tcHQgImFkZCBkZWJ1ZyBu b2lzZSIKPiArCj4gKyAgICBjb25maWcgRk9PX0ZPTwo+ICsgICAgICAgICAgIGJvb2wKPiArICAg ICAgICAgICBwcm9tcHQgImJ1aWxkIGZvbyIKPiArCj4gKyAgICBjb25maWcgRk9PX0JBUgo+ICsg ICAgICAgICAgIGJvb2wKPiArICAgICAgICAgICBwcm9tcHQgImJ1aWxkIGJhciIKPiArCj4gKyAg ICBlbmRpZgo+ICsKPiArLi4gbm90ZTo6IFRoZXJlIGFyZSBvdGhlciBwYWNrYWdlcyBhcm91bmQs IHRoYXQgZG8gbm90IGluc3RhbGwgZXZlcnl0aGluZyBieQo+ICsgIGRlZmF1bHQuIElmIG91ciBu ZXcgcGFja2FnZSBuZWVkcyBzb21ldGhpbmcgc3BlY2lhbCwgd2UgbXVzdCB0YWtlIGEgbG9vawo+ ICsgIGludG8gdGhlIG1lbnUgb2YgdGhlIG90aGVyIHBhY2thZ2UgaG93IHRvIGZvcmNlIHRoZSBy ZXF1aXJlZCBjb21wb25lbnRzCj4gKyAgdG8gYmUgaW5zdGFsbGVkIGFuZCBhZGQgdGhlIGNvcnJl c3BvbmRpbmcgYGBzZWxlY3RzYGAgdG8gb3VyIG93biBtZW51Cj4gKyAgZmlsZS4gSW4gdGhpcyBj YXNlIGl0IGRvZXMgbm90IGhlbHAgdG8gZW5hYmxlIHRoZSByZXF1aXJlZCBwYXJ0cyBpbiBvdXIK PiArICBwcm9qZWN0IGNvbmZpZ3VyYXRpb24sIGJlY2F1c2UgdGhpcyBoYXMgbm8gZWZmZWN0IG9u IHRoZSBidWlsZCBvcmRlciEKPiArCj4gK01hbmFnaW5nIFBsYWluIE1ha2VmaWxlIFBhY2thZ2Vz Cj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKwo+ICtNYW55IHBhY2thZ2Vz IGFyZSBzdGlsbCBjb21pbmcgd2l0aCBhIHBsYWluIGBgTWFrZWZpbGVgYC4gVGhlIHVzZXIgaGFz Cj4gK3RvIGFkYXB0IGl0IHRvIG1ha2UgaXQgd29yayBpbiBhIGNyb3NzIGNvbXBpbGUgZW52aXJv bm1lbnQgYXMgd2VsbC4KPiArUFRYZGlzdCBjYW4gYWxzbyBoYW5kbGUgdGhpcyBraW5kIG9mIHBh Y2thZ2VzLiBXZSBvbmx5IGhhdmUgdG8gc3BlY2lmeQo+ICthIHNwZWNpYWwgKnByZXBhcmUqIGFu ZCAqY29tcGlsZSogc3RhZ2UuCj4gKwo+ICtTdWNoIHBhY2thZ2VzIG9mdGVuIGhhdmUgbm8gc3Bl Y2lhbCBuZWVkIGZvciBhbnkga2luZCBvZiBwcmVwYXJhdGlvbi4gSW4KPiArdGhpcyB3ZSBtdXN0 IGluc3RydWN0IFBUWGRpc3QgdG8gZG8gbm90aGluZyBpbiB0aGUgKnByZXBhcmUqIHN0YWdlOgo+ ICsKPiArLi4gY29kZS1ibG9jazo6IG1ha2UKPiArCj4gKyAgICBGT09fQ09ORl9UT09MIDo9IE5P Cj4gKwo+ICtUbyBjb21waWxlIHRoZSBwYWNrYWdlLCB3ZSBjYW4gdXNlIGBgbWFrZWBgXCDigJlz IGZlYXR1cmUgdG8gb3ZlcndyaXRlCj4gK3ZhcmlhYmxlcyB1c2VkIGluIHRoZSBgYE1ha2VmaWxl YGAuIFdpdGggdGhpcyBmZWF0dXJlIHdlIGNhbiBzdGlsbCB1c2UKPiArdGhlIG9yaWdpbmFsIGBg TWFrZWZpbGVgYCBidXQgd2l0aCBvdXIgb3duIChjcm9zcyBjb21waWxlKSBzZXR0aW5ncy4KPiAr Cj4gK01vc3Qgb2YgdGhlIHRpbWUgdGhlIGdlbmVyaWMgY29tcGlsZSBydWxlIGNhbiBiZSB1c2Vk LCBvbmx5IGEgZmV3Cj4gK3NldHRpbmdzIGFyZSByZXF1aXJlZC4gRm9yIGEgd2VsbCBkZWZpbmVk IGBgTWFrZWZpbGVgYCBpdCBpcyBzdWZmaWNpZW50IHRvCj4gK3NldCB1cCB0aGUgY29ycmVjdCBj cm9zcyBjb21waWxlIGVudmlyb25tZW50IGZvciB0aGUgKmNvbXBpbGUqIHN0YWdlOgo+ICsKPiAr Li4gY29kZS1ibG9jazo6IG1ha2UKPiArCj4gKyAgICBGT09fTUFLRV9FTlYgOj0gJChDUk9TU19F TlYpCj4gKwo+ICtgYG1ha2VgYCB3aWxsIGJlIGNhbGxlZCBpbiB0aGlzIGNhc2Ugd2l0aDoKPiAr Cj4gK2BgJChGT09fTUFLRV9FTlYpICQoTUFLRSkgLUMgJChGT09fRElSKSAkKEZPT19NQUtFX09Q VClgYAo+ICsKPiArU28sIGluIHRoZSBydWxlIGZpbGUgb25seSB0aGUgdHdvIHZhcmlhYmxlcyBg YEZPT19NQUtFX0VOVmBgIGFuZAo+ICtgYEZPT19NQUtFX09QVGBgIG11c3QgYmUgc2V0LCB0byBm b3J3YXJkIHRoZSByZXF1aXJlZCBzZXR0aW5ncyB0byB0aGUKPiArcGFja2FnZeKAmXMgYnVpbGRz eXN0ZW0uIElmIHRoZSBwYWNrYWdlIGNhbm5vdCBiZSBidWlsdCBpbiBwYXJhbGxlbCwgd2UKPiAr Y2FuIGFsc28gYWRkIHRoZSBgYEZPT19NQUtFX1BBUsKgOj3CoE5PYGAuIGBgWUVTYGAgaXMgdGhl IGRlZmF1bHQuCj4gKwo+ICtNYW5hZ2luZyBDTWFrZS9RTWFrZS9NZXNvbiBQYWNrYWdlcwo+ICs9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsKPiArQnVpbGRpbmcgcGFja2Fn ZXMgdGhhdCB1c2UgYGBjbWFrZWBgLCBgYHFtYWtlYGAgb3IgYGBtZXNvbmBgIGlzIG11Y2ggbGlr ZQo+ICtidWlsZGluZyBwYWNrYWdlcyB3aXRoIGFuIGF1dG90b29scyBiYXNlZCBidWlsZHN5c3Rl bS4gV2UgbmVlZCB0byBzcGVjaWZ5Cj4gK3RoZSBjb25maWd1cmF0aW9uIHRvb2w6Cj4gKwo+ICsu LiBjb2RlLWJsb2NrOjogbWFrZQo+ICsKPiArICAgIEZPT19DT05GX1RPT0wgOj0gY21ha2UKPiAr Cj4gK29yCj4gKwo+ICsuLiBjb2RlLWJsb2NrOjogbWFrZQo+ICsKPiArICAgIEZPT19DT05GX1RP T0wgOj0gcW1ha2UKPiArCj4gK29yIHJlc3BlY3RpdmVseQo+ICsKPiArLi4gY29kZS1ibG9jazo6 IG1ha2UKPiArCj4gKyAgICBGT09fQ09ORl9UT09MIDo9IG1lc29uCj4gKwo+ICtBbmQgcHJvdmlk ZSB0aGUgY29ycmVjdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIFRoZSBzeW50YXggaXMgZGlmZmVy ZW50IHNvCj4gK1BUWGRpc3QgcHJvdmlkZXMgYWRkaXRpb25hbCBtYWNyb3MgdG8gc2ltcGxpZnkg Y29uZmlndXJhYmxlIGZlYXR1cmVzLgo+ICtGb3IgYGBjbWFrZWBgIHRoZSBjb25maWd1cmF0aW9u IG9wdGlvbnMgdHlwaWNhbGx5IGxvb2sgbGlrZSB0aGlzOgo+ICsKPiArLi4gY29kZS1ibG9jazo6 IG1ha2UKPiArCj4gKyAgICBGT09fQ09ORl9PUFQgOj0gXAo+ICsgICAgCSQoQ1JPU1NfQ01BS0Vf VVNSKSBcCj4gKyAgICAJLURCVUlMRF9URVNUUzpCT09MPU9GRiBcCj4gKyAgICAJLURFTkFCTEVf QkFSOkJPT0w9JChjYWxsIHB0eC9vbm9mZiwgUFRYQ09ORl9GT09fQkFSKQo+ICsKPiArRm9yIGBg cW1ha2VgYCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHR5cGljYWxseSBsb29rIGxpa2UgdGhp czoKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gKwo+ICsgICAgRk9PX0NPTkZfT1BUIDo9 IFwKPiArICAgIAkkKENST1NTX1FNQUtFX09QVCkgXAo+ICsgICAgCVBSRUZJWD0vdXNyCj4gKwo+ ICtBbmQgZm9yIGBgbWVzb25gYCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHR5cGljYWxseSBs b29rIGxpa2UgdGhpczoKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiBtYWtlCj4gKwo+ICsgICAgRk9P X0NPTkZfT1BUIDo9IFwKPiArICAgIAkkKENST1NTX01FU09OX1VTUikgXAo+ICsgICAgCS1EYmFy PSQoY2FsbCBwdHgvdHJ1ZWZhbHNlLFBUWENPTkZfRk9PX0JBUikKPiArCj4gK1BsZWFzZSBub3Rl IHRoYXQgY3VycmVudGx5IG9ubHkgaG9zdCBhbmQgdGFyZ2V0IGBgY21ha2VgYFwvYGBtZXNvbmBg IHBhY2thZ2VzCj4gK2FuZCBvbmx5IHRhcmdldCBgYHFtYWtlYGAgcGFja2FnZXMgYXJlIHN1cHBv cnRlZC4KPiArCj4gK01hbmFnaW5nIFB5dGhvbiBQYWNrYWdlcwo+ICs9PT09PT09PT09PT09PT09 PT09PT09PT0KPiArCj4gK0FzIHdpdGggYW55IG90aGVyIHBhY2thZ2UsIHRoZSBjb3JyZWN0IGNv bmZpZ3VyYXRpb24gdG9vbCBtdXN0IGJlIHNlbGVjdGVkCj4gK2ZvciBQeXRob24gcGFja2FnZXM6 Cj4gKwo+ICsuLiBjb2RlLWJsb2NrOjogbWFrZQo+ICsKPiArICAgIEZPT19DT05GX1RPT0wgOj0g cHl0aG9uCj4gKwo+ICsuLiBub3RlOjogRm9yIFB5dGhvbjMgcGFja2FnZXMgdGhlIHZhbHVlIG11 c3QgYmUgYGBweXRob24zYGAuCj4gKwo+ICtObyBNYWtlZmlsZXMgYXJlIHVzZWQgd2hlbiBidWls ZGluZyBQeXRob24gcGFja2FnZXMgc28gdGhlIHVzdWFsIGBgbWFrZWBgCj4gK2FuZCBgYG1ha2Ug aW5zdGFsbGBgIGZvciB0aGUgKmNvbXBpbGUqIGFuZCAqaW5zdGFsbCogc3RhZ2VzIGNhbm5vdCBi ZSB1c2VkLgo+ICtQVFhkaXN0IHdpbGwgY2FsbCBgYHB5dGhvbiBzZXR1cC5weSBidWlsZGBgIGFu ZCBgYHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsYGAKPiAraW5zdGVhZC4KPiArCj4gKy4uIG5vdGU6 OiAqRk9PKiBpcyBzdGlsbCB0aGUgbmFtZSBvZiBvdXIgZXhhbXBsZSBwYWNrYWdlLiBJdCBtdXN0 IGJlCj4gKyAgcmVwbGFjZWQgYnkgdGhlIHJlYWwgcGFja2FnZSBuYW1lLgo+IGRpZmYgLS1naXQg YS9kb2MvZGV2X21hbnVhbC5yc3QgYi9kb2MvZGV2X21hbnVhbC5yc3QKPiBpbmRleCBjMjMyY2M5 MTQyOGEuLmU5YTg4YzFhOTdmNSAxMDA2NDQKPiAtLS0gYS9kb2MvZGV2X21hbnVhbC5yc3QKPiAr KysgYi9kb2MvZGV2X21hbnVhbC5yc3QKPiBAQCAtMTEsNiArMTEsOCBAQCBUaGlzIGNoYXB0ZXIg c2hvd3MgYWxsIChvciBtb3N0KSBvZiB0aGUgZGV0YWlscyBvZiBob3cgUFRYZGlzdCB3b3Jrcy4K PiAgCj4gICAgIGRldl9kaXJfaGllcmFyY2h5Cj4gICAgIGRldl9hZGRfbmV3X3BrZ3MKPiArICAg ZGV2X2FkdmFuY2VkX3J1bGVfZmlsZXMKPiArICAgZGV2X3BhdGNoaW5nCj4gICAgIGRldl9hZGRf YmluX29ubHlfZmlsZXMKPiAgICAgZGV2X2NyZWF0ZV9uZXdfcGtnX3RlbXBsYXRlcwo+ICAgICBk ZXZfbGF5ZXJzX2luX3B0eGRpc3QKPiBkaWZmIC0tZ2l0IGEvZG9jL2Rldl9wYXRjaGluZy5yc3Qg Yi9kb2MvZGV2X3BhdGNoaW5nLnJzdAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw MDAwMDAwMDAwLi5lMzY5MGRmZTFiNDgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZG9jL2Rldl9w YXRjaGluZy5yc3QKPiBAQCAtMCwwICsxLDIyNiBAQAo+ICsuLiBfcGF0Y2hpbmdfcGFja2FnZXM6 Cj4gKwo+ICsqKioqKioqKioqKioqKioqKgo+ICtQYXRjaGluZyBQYWNrYWdlcwo+ICsqKioqKioq KioqKioqKioqKgo+ICsKPiArVGhlcmUgY2FuIGJlIHZhcmlvdXMgcmVhc29ucyB3aHkgYSBwYWNr YWdlIG11c3QgYmUgcGF0Y2hlZDoKPiArCj4gKy0gIFBhY2thZ2UgaXMgYnJva2VuIGZvciBjcm9z cyBjb21waWxlIGVudmlyb25tZW50cwo+ICsKPiArLSAgUGFja2FnZSBpcyBicm9rZW4gd2l0aGlu IGEgc3BlY2lmaWMgZmVhdHVyZQo+ICsKPiArLSAgUGFja2FnZSBpcyB2dWxuZXJhYmxlIGFuZCBu ZWVkcyBzb21lIGZpeGVzCj4gKwo+ICstICBvciBhbnl0aGluZyBlbHNlICh0aGlzIGNhc2UgaXMg dGhlIG1vc3QgY29tbW9uIG9uZSkKPiArCj4gK0lkZWFsbHksIHRob3NlIHByb2JsZW1zIHNob3Vs ZCBiZSBhZGRyZXNzZWQgaW4gdGhlIG9yaWdpbmFsIHByb2plY3QsCj4gK3NvIGFueSBwYXRjaGVz IHlvdSBhZGQgdG8geW91ciBCU1Agb3IgdG8gUFRYZGlzdCBzaG91bGQgYWxzbyBiZSBzdWJtaXR0 ZWQgdXBzdHJlYW0uCj4gK1RoZSB1cHN0cmVhbSBwcm9qZWN0IGNhbiBvZnRlbiBwcm92aWRlIGJl dHRlciBmZWVkYmFjaywgdGhleSBjYW4gaW50ZWdyYXRlIHlvdXIKPiArcGF0Y2ggaW50byBhIG5l dyByZWxlYXNlLCBhbmQgYWxzbyBtYWludGFpbiB5b3VyIGNoYW5nZXMgYXMgcGFydCBvZiB0aGUg cHJvamVjdC4KPiArVGhpcyB3YXkgd2UgbWFrZSBzdXJlIHRoYXQgYWxsIGFkdmFudGFnZXMgb2Yg dGhlIG9wZW4gc291cmNlIGlkZWEgd29yayBmb3IgdXM7Cj4gK2FuZCB5b3VyIHBhdGNoIGNhbiBi ZSByZW1vdmVkIGFnYWluIGxhdGVyIHdoZW4gYSBuZXcgcmVsZWFzZSBvZiB0aGUgcHJvamVjdCBp cwo+ICtpbnRlZ3JhdGVkIGludG8geW91ciBCU1Agb3IgaW50byBQVFhkaXN0Lgo+ICsKPiArUFRY ZGlzdCBoYW5kbGVzIHBhdGNoaW5nIGF1dG9tYXRpY2FsbHkuCj4gK0FmdGVyIGV4dHJhY3Rpbmcg dGhlIGFyY2hpdmUgb2YgYSBwYWNrYWdlLCBQVFhkaXN0IGNoZWNrcyBmb3IgdGhlIGV4aXN0ZW5j ZSBvZgo+ICthIHBhdGNoIGRpcmVjdG9yeSBuYW1lZCBsaWtlIGl0cyBgYDxQS0c+X1BBVENIRVNg YCB2YXJpYWJsZSwgb3IsIGlmIHRoaXMgdmFyaWFibGUKPiAraXMgbm90IHNldCwgbGlrZSBpdHMg YGA8UEtHPmBgIHZhcmlhYmxlLgo+ICtUaGUgcGF0Y2ggZGlyZWN0b3J5IGlzIHRoZW4gc2VhcmNo ZWQgaW4gYWxsIGxvY2F0aW9ucyBsaXN0ZWQgYnkgdGhlCj4gK2BgUFRYRElTVF9QQVRIX1BBVENI RVNgYCB2YXJpYWJsZSwgYW5kIHRoZSBmaXJzdCBvbmUgZm91bmQgaXMgdXNlZC4KPiArVGFrZSBh biBleGVtcGxhcnkgcGFja2FnZSBgYGZvb2BgIHdpdGggdmVyc2lvbiBgYDEuMS4wYGA6Cj4gK1Ro ZSB2YXJpYWJsZSBgYEZPT2BgIHdpbGwgaGF2ZSB0aGUgdmFsdWUgYGBmb28tMS4xLjBgYCwgc28g UFRYZGlzdCB3aWxsIGxvb2sgZm9yCj4gK2EgcGF0Y2ggZGlyZWN0b3J5IG5hbWVkIGBgZm9vLTEu MS4wYGAgaW4gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6Cj4gKwo+ICsjLiB0aGUgY3VycmVudCBs YXllcjoKPiArCj4gKyAgIGEuIHByb2plY3QgKGBgLi9wYXRjaGVzL2Zvby0xLjEuMGBgKQo+ICsg ICBiLiBwbGF0Zm9ybSAoYGAuL2NvbmZpZ3MvfHB0eGRpc3RQbGF0Zm9ybUNvbmZpZ0RpcnwvcGF0 Y2hlcy9mb28tMS4xLjBgYCkKPiArCj4gKyMuIGFueSA6cmVmOmBiYXNlIGxheWVycyA8bGF5ZXJz LWluLXB0eGRpc3Q+YCwKPiArICAgYXBwbHlpbmcgdGhlIHNhbWUgc2VhcmNoIG9yZGVyIGFzIGFi b3ZlIGZvciBlYWNoIGxheWVyIHJlY3Vyc2l2ZWx5Cj4gKwo+ICsjLiBwdHhkaXN0IChgYDxwdHhk aXN0L2luc3RhbGxhdGlvbi9wYXRoPi9wYXRjaGVzL2Zvby0xLjEuMGBgKQo+ICsKPiArVGhlIHBh dGNoZXMgZnJvbSB0aGUgZmlyc3QgbG9jYXRpb24gZm91bmQgYXJlIHVzZWQuIE5vdGU6IER1ZSB0 byB0aGlzCj4gK3NlYXJjaCBvcmRlciwgYSBQVFhkaXN0IHByb2plY3QgY2FuIHJlcGxhY2UgZ2xv YmFsIHBhdGNoZXMgZnJvbSB0aGUKPiArUFRYZGlzdCBpbnN0YWxsYXRpb24uIFRoaXMgY2FuIGJl IHVzZWZ1bCBpZiBhIHByb2plY3Qgc3RpY2tzIHRvIGEKPiArc3BlY2lmaWMgUFRYZGlzdCByZXZp c2lvbiBidXQgZml4ZXMgZnJvbSBhIG1vcmUgcmVjZW50IHJldmlzaW9uIG9mCj4gK1BUWGRpc3Qg c2hvdWxkIGJlIHVzZWQuCj4gKwo+ICtQVFhkaXN0IHVzZXMgdGhlIHV0aWxpdGllcyAqZ2l0Kiwg KnBhdGNoKiBvciAqcXVpbHQqIHRvIHdvcmsgd2l0aAo+ICtwYXRjaGVzIG9yIHBhdGNoIHNlcmll cy4gV2UgcmVjb21tZW5kICpnaXQqLCBhcyBpdCBjYW4gbWFuYWdlIHBhdGNoCj4gK3NlcmllcyBp biBhIHZlcnkgZWFzeSB3YXkuCj4gKwo+ICtDcmVhdGluZyBhIFBhdGNoIFNlcmllcyBmb3IgYSBQ YWNrYWdlCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiArCj4gK1Rv IGNyZWF0ZSBhIHBhdGNoIHNlcmllcyBmb3IgdGhlIGZpcnN0IHRpbWUsIHdlIGNhbiBydW4gdGhl IGZvbGxvd2luZwo+ICtzdGVwcy4gV2UgYXJlIHN0aWxsIHVzaW5nIG91ciAqZm9vLTEuMS4wKiBl eGFtcGxlIHBhY2thZ2UgaGVyZToKPiArCj4gK1VzaW5nIFF1aWx0Cj4gKy0tLS0tLS0tLS0tCj4g Kwo+ICtXZSBjcmVhdGUgYSBzcGVjaWFsIGRpcmVjdG9yeSBmb3IgdGhlIHBhdGNoIHNlcmllcyBp biB0aGUgbG9jYWwgcHJvamVjdAo+ICtkaXJlY3Rvcnk6Cj4gKwo+ICsuLiBjb2RlLWJsb2NrOjog dGV4dAo+ICsKPiArICAgICQgbWtkaXIgLXAgcGF0Y2hlcy9mb28tMS4xLjAKPiArCj4gK1BUWGRp c3QgZXhwZWN0cyBhIGBgc2VyaWVzYGAgZmlsZSBpbiB0aGUgcGF0Y2ggZGlyZWN0b3J5IGFuZCBh dCBsZWFzdAo+ICtvbmUgcGF0Y2guIE90aGVyd2lzZSBpdCBmYWlscy4gRHVlIHRvIHRoZSBmYWN0 IHRoYXQgd2UgZG8gbm90IGhhdmUgYW55Cj4gK3BhdGNoIGNvbnRlbnQgeWV0LCB3ZeKAmWxsIHN0 YXJ0IHdpdGggYSBkdW1teSBlbnRyeSBpbiB0aGUgYGBzZXJpZXNgYCBmaWxlCj4gK2FuZCBhbiBl bXB0eSBgYHBhdGNoYGAgZmlsZS4KPiArCj4gKy4uIGNvZGUtYmxvY2s6OiB0ZXh0Cj4gKwo+ICsg ICAgJCB0b3VjaCBwYXRjaGVzL2Zvby0xLjEuMC9kdW1teQo+ICsgICAgJCBlY2hvIGR1bW15ID4g cGF0Y2hlcy9mb28tMS4xLjAvc2VyaWVzCj4gKwo+ICtOZXh0IGlzIHRvIGV4dHJhY3QgdGhlIHBh Y2thZ2UgKGlmIGFscmVhZHkgZG9uZSwgd2UgbXVzdCByZW1vdmUgaXQKPiArZmlyc3QpOgo+ICsK PiArLi4gY29kZS1ibG9jazo6IHRleHQKPiArCj4gKyAgICAkIHB0eGRpc3QgZXh0cmFjdCBmb28K PiArCj4gK1RoaXMgd2lsbCBleHRyYWN0IHRoZSBhcmNoaXZlIGFuZCBjcmVhdGUgYSBzeW1ib2xp YyBsaW5rIGluIHRoZSBidWlsZAo+ICtkaXJlY3RvcnkgcG9pbnRpbmcgdG8gb3VyIGxvY2FsIHBh dGNoIGRpcmVjdG9yeS4gV29ya2luZyB0aGlzIHdheSB3aWxsCj4gK2Vuc3VyZSB0aGF0IHdlIGRv IG5vdCBsb3NlIG91ciBjcmVhdGVkIHBhdGNoZXMgaWYgd2UgZW50ZXIKPiArYGBwdHhkaXN0IGNs ZWFuIGZvb2BgIGJ5IGFjY2lkZW50LiBJbiBvdXIgY2FzZSB0aGUgcGF0Y2hlcyBhcmUgc3RpbGwK PiArcHJlc2VudCBpbiBgYHBhdGNoZXMvZm9vLTEuMS4wYGAgYW5kIGNhbiBiZSB1c2VkIHRoZSBu ZXh0IHRpbWUgd2UKPiArZXh0cmFjdCB0aGUgcGFja2FnZSBhZ2Fpbi4KPiArCj4gK0FsbCB3ZSBo YXZlIHRvIGRvIG5vdyBpcyB0byBkbyB0aGUgbW9kaWZpY2F0aW9uIHdlIG5lZWQgdG8gbWFrZSB0 aGUKPiArcGFja2FnZSB3b3JrLiBXZSBjaGFuZ2UgaW50byB0aGUgYnVpbGQgZGlyZWN0b3J5IGFu ZCB1c2UgcXVpbHRfIHRvCj4gK2NyZWF0ZSBuZXcgcGF0Y2hlcywgYWRkIGZpbGVzIHRvIHJlc3Bl Y3RpdmUgcGF0Y2hlcywgbW9kaWZ5IHRoZXNlIGZpbGVzCj4gK2FuZCByZWZyZXNoIHRoZSBwYXRj aGVzIHRvIHNhdmUgb3VyIGNoYW5nZXMuCj4gK1NlZSB0aGUgKnF1aWx0KiBkb2N1bWVudGF0aW9u IChgYG1hbiAxIHF1aWx0YGApIGZvciBtb3JlIGluZm9ybWF0aW9uLgo+ICsKPiArLi4gbm90ZTo6 IEZvciBwYXRjaGVzIHRoYXQgYXJlIGludGVuZGVkIGZvciBQVFhkaXN0IHVwc3RyZWFtIHVzZSB0 aGUgZ2l0Cj4gKyAgd29ya2Zsb3cgZGVzY3JpYmVkIGJlbG93IHRvIGdldCBwcm9wZXIgcGF0Y2gg aGVhZGVycy4KPiArCj4gKy4uIF9xdWlsdDogaHR0cDovL3NhdmFubmFoLm5vbmdudS5vcmcvcHJv amVjdHMvcXVpbHQKPiArCj4gK1VzaW5nIEdpdAo+ICstLS0tLS0tLS0KPiArCj4gK0NyZWF0ZSB0 aGUgcGF0Y2ggZGlyZWN0b3J5IGxpa2UgYWJvdmUgZm9yICpxdWlsdCosCj4gK2J1dCBvbmx5IGFk ZCBhbiBlbXB0eSBzZXJpZXMgZmlsZToKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiB0ZXh0Cj4gKwo+ ICsgICAgJCBta2RpciAtcCBwYXRjaGVzL2Zvby0xLjEuMAo+ICsgICAgJCB0b3VjaCBwYXRjaGVz L2Zvby0xLjEuMC9zZXJpZXMKPiArCj4gK1RoZW4gZXh0cmFjdCB0aGUgcGFja2FnZSB3aXRoIGFu IGFkZGl0aW9uYWwgY29tbWFuZCBsaW5lIHN3aXRjaDoKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiB0 ZXh0Cj4gKwo+ICsgICAgJCBwdHhkaXN0IC0tZ2l0IGV4dHJhY3QgZm9vCj4gKwo+ICtUaGUgZW1w dHkgc2VyaWVzIGZpbGUgbWFrZXMgUFRYZGlzdCBjcmVhdGUgYSBHaXQgcmVwb3NpdG9yeSBpbiB0 aGUKPiArcmVzcGVjdGl2ZSBwYWNrYWdlIGJ1aWxkIGRpcmVjdG9yeSwKPiArYW5kIGltcG9ydCB0 aGUgcGFja2FnZSBzb3VyY2UgYXMgdGhlIGZpcnN0IGNvbW1pdC4KPiArCj4gKy4uIG5vdGU6OiBP cHRpb25hbGx5LCB5b3UgY2FuIGVuYWJsZSB0aGUgc2V0dGluZyAqRGV2ZWxvcGVyIE9wdGlvbnMg 4oaSCj4gKyAgdXNlIGdpdCB0byBhcHBseSBwYXRjaGVzKiBpbiBgcHR4ZGlzdCBzZXR1cGAgdG8g Z2V0IHRoaXMgYmVoYXZpb3VyCj4gKyAgYXMgYSBkZWZhdWx0IGZvciBldmVyeSBwYWNrYWdlLgo+ ICsgIEhvd2V2ZXIsIG5vdGUgdGhhdCB0aGlzIHNldHRpbmcgaXMgbWVhbnQgZm9yIGRldmVsb3Bt ZW50IG9ubHksIGFuZCBjYW4gbGVhZAo+ICsgIHRvIGZhaWx1cmVzIOKAkyBzb21lIHBhY2thZ2Vz IHRyeSB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmUgYmVpbmcgY29tcGlsZWQgZnJvbQo+ICsgIGEg R2l0IHNvdXJjZSB0cmVlLCBhbmQgYmVoYXZlIGRpZmZlcmVudGx5IGluIHRoYXQgY2FzZS4KPiAr Cj4gK1RoZW4geW91IGNhbiBjaGFuZ2UgaW50byB0aGUgcGFja2FnZSBidWlsZCBkaXJlY3RvcnkK PiArKGBgcGxhdGZvcm0tPG5hbWU+L2J1aWxkLXRhcmdldC9mb28tMS4xLjBgYCksCj4gK3BhdGNo IHRoZSByZXF1aXJlZCBzb3VyY2UgZmlsZXMsCj4gK2FuZCBtYWtlIEdpdCBjb21taXRzIG9uIHRo ZSB3YXkuCj4gK1RoZSBHaXQgaGlzdG9yeSBzaG91bGQgbm93IGxvb2sgc29tZXRoaW5nIGxpa2Ug dGhpczoKPiArCj4gKy4uIGNvZGUtYmxvY2s6OiB0ZXh0Cj4gKwo+ICsgICAgJCBnaXQgbG9nIC0t b25lbGluZSAtLWRlY29yYXRlCj4gKyAgICAqIGRmMzQzZTgyMTg1MSAoSEVBRCAtPiBtYXN0ZXIp IE1ha2VmaWxlOiBkb24ndCBidWlsZCB0aGUgdGVzdHMKPiArICAgICogNjVhMzYwYzJiZDYwIHN0 cmZyeS5jOiBmcm9ibmljYXRlIHRoZSBleGN1c2F0b3IKPiArICAgICogZmRjMzE1ZjY4NDRjICh0 YWc6IGZvb2Jhci0xLjEuMCwgdGFnOiBiYXNlKSBpbml0aWFsIGNvbW1pdAo+ICsKPiArRmluYWxs eSwgY2FsbCBgYGdpdCBwdHgtcGF0Y2hlc2BgIHRvIHRyYW5zZm9ybSB0aG9zZSBHaXQgY29tbWl0 cyBpbnRvIHRoZSBwYXRjaAo+ICtzZXJpZXMgaW4gdGhlIGBgcGF0Y2hlcy9mb28tMS4xLjBgYCBm b2xkZXIuCj4gK1RoaXMgd2F5IHRoZXkgZG9uJ3QgZ2V0IGxvc3Qgd2hlbiBjbGVhbmluZyB0aGUg cGFja2FnZS4KPiArCj4gKy4uIG5vdGU6OiBQVFhkaXN0IHdpbGwgb25seSBjcmVhdGUgYSBHaXQg cmVwb3NpdG9yeSBmb3IgcGFja2FnZXMgd2l0aAo+ICsgIHBhdGNoZXMuICBUbyB1c2UgR2l0IHRv IGdlbmVyYXRlIHRoZSBmaXJzdCBwYXRjaCwgY3JlYXRlIGFuIGVtcHR5IHNlcmllcwo+ICsgIGZp bGUgYGBwYXRjaGVzL2Zvb2Jhci0xLjEuMC9zZXJpZXNgYCBiZWZvcmUgZXh0cmFjdGluZyB0aGUg cGFja2FnZXMuIFRoaXMKPiArICB3aWxsIHRlbGwgUFRYZGlzdCB0byB1c2UgR2l0IGFueXdheXMg YW5kIGBgZ2l0IHB0eC1wYXRjaGVzYGAgd2lsbCBwdXQgdGhlCj4gKyAgcGF0Y2hlcyB0aGVyZS4K PiArCj4gK0JvdGggYXBwcm9hY2hlcyAoR2l0IGFuZCBxdWlsdCkgYXJlIG5vdCBzdWl0YWJsZSBm b3IgbW9kaWZ5aW5nIGZpbGVzCj4gK3RoYXQgYXJlIGF1dG9nZW5lcmF0ZWQgaW4gYXV0b3Rvb2xz LWJhc2VkIGJ1aWxkc3lzdGVtcy4KPiArUmVmZXIgdG8gdGhlIHNlY3Rpb24gOnJlZjpgY29uZmln dXJlX3JlYnVpbGRgIG9uIGhvdyBQVFhkaXN0IGNhbgo+ICtoYW5kbGUgdGhpcyBzcGVjaWFsIHRh c2suCj4gKwo+ICsKPiArQWRkaW5nIE1vcmUgUGF0Y2hlcyB0byBhIFBhY2thZ2UKPiArPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiArCj4gK0lmIHdlIHdhbnQgdG8gYWRkIG1vcmUg cGF0Y2hlcyB0byBhbiBhbHJlYWR5IHBhdGNoZWQgcGFja2FnZSwgd2UgY2FuIHVzZQo+ICtuZWFy bHkgdGhlIHNhbWUgd2F5IGFzIGNyZWF0aW5nIHBhdGNoZXMgZm9yIHRoZSBmaXJzdCB0aW1lLiBC dXQgaWYgdGhlCj4gK3BhdGNoIHNlcmllcyBjb21lcyBmcm9tIHRoZSBQVFhkaXN0IG1haW4gaW5z dGFsbGF0aW9uLCB3ZSBkbyBub3QgaGF2ZQo+ICt3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGVzZSBk aXJlY3RvcmllcyAoZG8gTkVWRVIgd29yayBvbiB0aGUgbWFpbgo+ICtpbnN0YWxsYXRpb24gZGly ZWN0b3JpZXMsIE5FVkVSLCBORVZFUiwgTkVWRVIpLiBEdWUgdG8gdGhlIHNlYXJjaCBvcmRlcgo+ ICtpbiB3aGljaCBQVFhkaXN0IHNlYXJjaGVzIGZvciBwYXRjaGVzIGZvciBhIHNwZWNpZmljIHBh Y2thZ2UsIHdlIGNhbgo+ICtjb3B5IHRoZSBnbG9iYWwgcGF0Y2ggc2VyaWVzIHRvIG91ciBsb2Nh bCBwcm9qZWN0IGRpcmVjdG9yeS4gTm93IHdlIGhhdmUKPiArdGhlIHBlcm1pc3Npb25zIHRvIGFk ZCBtb3JlIHBhdGNoZXMgb3IgbW9kaWZ5IHRoZSBleGlzdGluZyBvbmVzLiBBbHNvCj4gKypxdWls dCogYW5kICpnaXQqIGFyZSBvdXIgZnJpZW5kcyBoZXJlIHRvIG1hbmFnZSB0aGUgcGF0Y2ggc2Vy aWVzLgo+ICsKPiArSWYgd2UgdGhpbmsgdGhhdCBvdXIgbmV3IHBhdGNoZXMgYXJlIHZhbHVhYmxl IGFsc28gZm9yIG90aGVycywgb3IgdGhleQo+ICtmaXggYW4gZXJyb3IsIGl0IGNvdWxkIGJlIGEg Z29vZCBpZGVhIHRvIHNlbmQgdGhlc2UgcGF0Y2hlcyB0byBQVFhkaXN0Cj4gK21haW5saW5lLCBh bmQgdG8gdGhlIHVwc3RyZWFtIHByb2plY3QgdG9vLgo+ICsKPiArCj4gKy4uIF9jb25maWd1cmVf cmVidWlsZDoKPiArCj4gK01vZGlmeWluZyBBdXRvdG9vbGl6ZWQgUGFja2FnZXMKPiArPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsKPiArQXV0b3Rvb2xpemVkIHBhY2thZ2VzIGFy ZSB2ZXJ5IHBpY2t5IHdoZW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZmlsZXMKPiArZ2V0IHBh dGNoZWQuIFRoZSBwYXRjaCBvcmRlciBpcyB2ZXJ5IGltcG9ydGFudCBpbiB0aGlzIGNhc2UgYW5k Cj4gK3NvbWV0aW1lcyBpdCBldmVuIGZhaWxzIGFuZCBub2JvZHkga25vd3Mgd2h5Lgo+ICsKPiAr VG8gaW1wcm92ZSBhIHBhY2thZ2XigJlzIGF1dG90b29scy1iYXNlZCBidWlsZCBzeXN0ZW0sIFBU WGRpc3QgY29tZXMgd2l0aAo+ICtpdHMgb3duIHByb2plY3QgbG9jYWwgYXV0b3Rvb2xzIHRvIHJl Z2VuZXJhdGUgdGhlIGF1dG90b29scyB0ZW1wbGF0ZQo+ICtmaWxlcywgaW5zdGVhZCBvZiBwYXRj aGluZyB0aGVtLiBXaXRoIHRoaXMgZmVhdHVyZSwgb25seSB0aGUgdGVtcGxhdGUKPiArZmlsZXMg bXVzdCBiZSBwYXRjaGVkLCB0aGUgcmVxdWlyZWQgYGBjb25maWd1cmVgYCBzY3JpcHQgYW5kIHRo ZQo+ICtgYE1ha2VmaWxlLmluYGAgZmlsZXMgYXJlIHJlZ2VuZXJhdGVkIGluIHRoZSBmaW5hbCBz dGFnZXMgb2YgdGhlCj4gKypwcmVwYXJlKiBzdGVwLgo+ICsKPiArVGhpcyBmZWF0dXJlIHdvcmtz IGxpa2UgdGhlIHJlZ3VsYXIgcGF0Y2hpbmcgbWVjaGFuaXNtLiBUaGUgb25seQo+ICtkaWZmZXJl bmNlIGlzIHRoZSBhZGRpdGlvbmFsIGBgYXV0b2dlbi5zaGBgIGZpbGUgaW4gdGhlIHBhdGNoIGRp cmVjdG9yeS4KPiArSWYgaXQgZXhpc3RzIGFuZCBoYXMgZXhlY3V0aW9uIHBlcm1pc3Npb25zLCBp dCB3aWxsIGJlIGNhbGxlZCBhZnRlciB0aGUKPiArcGFja2FnZSB3YXMgcGF0Y2hlZCAod2hpbGUg dGhlICpleHRyYWN0KiBzdGFnZSBpcyBydW5uaW5nKS4KPiArCj4gK0l0cyBjb250ZW50IGRlcGVu ZHMgb24gZGV2ZWxvcGVyIG5lZWRzOyBmb3IgdGhlIG1vc3Qgc2ltcGxlIGNhc2UgdGhlCj4gK2Nv bnRlbnQgY2FuIGJlOgo+ICsKPiArLi4gY29kZS1ibG9jazo6IGJhc2gKPiArCj4gKyAgICAjIS9i aW4vYmFzaAo+ICsKPiArICAgIGFjbG9jYWwgJEFDTE9DQUxfRkxBR1MKPiArCj4gKyAgICBsaWJ0 b29saXplIFwKPiArICAgICAgICAgICAgLS1mb3JjZSBcCj4gKyAgICAgICAgICAgIC0tY29weQo+ ICsKPiArICAgIGF1dG9yZWNvbmYgXAo+ICsgICAgICAgICAgICAtLWZvcmNlIFwKPiArICAgICAg ICAgICAgLS1pbnN0YWxsIFwKPiArICAgICAgICAgICAgLS13YXJuaW5ncz1jcm9zcyBcCj4gKyAg ICAgICAgICAgIC0td2FybmluZ3M9c3ludGF4IFwKPiArICAgICAgICAgICAgLS13YXJuaW5ncz1v YnNvbGV0ZSBcCj4gKyAgICAgICAgICAgIC0td2FybmluZ3M9dW5zdXBwb3J0ZWQKPiArCj4gKy4u IG5vdGU6OiBJbiB0aGlzIHdheSBub3QgeWV0IGF1dG90b29saXplZCBwYWNrYWdlIGNhbiBiZSBh dXRvdG9vbGl6ZWQuIFdlCj4gKyAganVzdCBoYXZlIHRvIGFkZCB0aGUgY29tbW9uIGF1dG90b29s IHRlbXBsYXRlIGZpbGVzIChgYGNvbmZpZ3VyZS5hY2BgCj4gKyAgYW5kIGBgTWFrZWZpbGUuYW1g YCBmb3IgZXhhbXBsZSkgdmlhIGEgcGF0Y2ggc2VyaWVzIHRvIHRoZSBwYWNrYWdlCj4gKyAgc291 cmNlIGFuZCB0aGUgYGBhdXRvZ2VuLnNoYGAgdG8gdGhlIHBhdGNoIGRpcmVjdG9yeS4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB0eGRpc3QgbWFpbGlu ZyBsaXN0CnB0eGRpc3RAcGVuZ3V0cm9uaXguZGUKVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtYWls IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiIHRvIHB0eGRpc3QtcmVxdWVzdEBwZW5ndXRyb25p eC5kZQo=