From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34]) by sourceware.org (Postfix) with ESMTPS id 2CC413858D20 for ; Thu, 14 Sep 2023 14:10:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2CC413858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp85t1694700615tf1mzxk1 Received: from TABLET-POE6JQHH ( [36.36.17.183]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 14 Sep 2023 22:10:14 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: IcCSTr/hHjNXa+mumUVBFxJ//tyFZ9JY8ONd5rqh+87mvZJGigwBthtHTDtm7 eb46VyWiLGU/ICMWsjyvUE5c9X2lmWW2X8w9hIlBgP/XPrNMKsTZXesW6oiZnZy5F26Ba68 8fEUz5Gbic8bmjIJMuFSAit16128DW7CROZkYd/yjXK9p0d4CbCbMQy9BPb4IofgoacbJrS F0lzTQDCaHT7frMhUtgWyHwDVekknSJB5jnBSTWFxs1n1ZpPaKaHAMbf+3Lp0USzW8rFqPh 3jc3vNmO2fujisVjvDD8T4VtONrTXD7w3K5602+9w56hfLf5sAgBOc6zFnt+hyq32mvGjNV 2jwIP1lDKF4MgnBg8zGSYytdUnKNi7GVJcTNszcazjvY1/Mfttu6b+6h0zf4DdbwpCHO+KF f4Mm7MJQfC+Vns5lSddqW1zR4L+Ioj8r X-QQ-GoodBg: 2 X-BIZMAIL-ID: 9986444810391976854 Date: Thu, 14 Sep 2023 22:10:14 +0800 From: =?GB2312?B?1tO+09Xc?= To: =?GB2312?B?tqHA1ruq?= , gcc-patches Cc: kito.cheng , rdapp.gcc , palmer , "Jeff Law" , =?GB2312?B?tqHA1ruq?= Subject: Re: [PATCH 1/2] RISC-V: Cleanup redundant reduction patterns after refactor vector mode References: <20230913123117.3580126-1-lehua.ding@rivai.ai> X-Priority: 3 X-GUID: CA147012-C564-43A9-A0A2-3538143A4DF9 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <4C32C76DC1D052BA+202309142210138950084@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart700067607216_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,CHARSET_FARAWAY_HEADER,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart700067607216_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciBjbGVhbmluZyB1cC4NCkxHVE0uDQoNCg0KDQpqdXpoZS56 aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogTGVodWEgRGluZw0KRGF0ZTogMjAy My0wOS0xMyAyMDozMQ0KVG86IGdjYy1wYXRjaGVzDQpDQzoganV6aGUuemhv bmc7IGtpdG8uY2hlbmc7IHJkYXBwLmdjYzsgcGFsbWVyOyBqZWZmcmV5YWxh dzsgbGVodWEuZGluZw0KU3ViamVjdDogW1BBVENIIDEvMl0gUklTQy1WOiBD bGVhbnVwIHJlZHVuZGFudCByZWR1Y3Rpb24gcGF0dGVybnMgYWZ0ZXIgcmVm YWN0b3IgdmVjdG9yIG1vZGUNClRoaXMgcGF0Y2ggY2xlYW51cHMgcmVkdW5k YW50IHJlZHVjdGlvbiBwYXR0ZXJucyBhZnRlciBKdXpoZSBjaGFuZ2UgdmVj dG9yIG1vZGUNCmZyb20gZml4ZWQtc2l6ZSB0byBzY2FsYWJsZS1zaXplLiBG b3IgZXhhbXBsZSwgd2hldGhlciBpdCBpcyB6dmwzMmIsIHp2bDY0YiwNCnp2 bDEyOGIsIFJWVk0xU0kgaW5kaWNhdGVzIHRoYXQgaXQgb2NjdXBpZXMgYSB2 ZWN0b3IgcmVnaXN0ZXIuIFRoZXJlZm9yZSwgaXQgaXMNCmVhc3kgdG8gbWFw IHZlY3RvciBtb2RlcyB0byBMTVVMMSB2ZWN0b3IgbW9kZXMgd2l0aCBkZWZp bmVfbW9kZV9hdHRyIHdpdGhvdXQNCmNyZWF0aW5nIGEgc2VwYXJhdGUgcGF0 dGVybiBmb3IgZWFjaCBMTVVMMSBNb2RlLiBGb3IgZXhhbXBsZSwgdGhpcyBw YXRjaCBjYW4NCmNvbWJpbmUgZm91ciBwYXR0ZXJucyAoQHByZWRfcmVkdWNf PHJlZHVjPjxWUUk6bW9kZT48VlFJX0xNVUwxOm1vZGU+LA0KQHByZWRfcmVk dWNfPHJlZHVjPjxWSEk6bW9kZT48VkhJX0xNVUwxOm1vZGU+DQpAcHJlZF9y ZWR1Y188cmVkdWM+PFZTSTptb2RlPjxWU0lfTE1VTDE6bW9kZT4sDQpAcHJl ZF9yZWR1Y188cmVkdWM+PFZESTptb2RlPjxWRElfTE1VTDE6bW9kZT4pIHRv IGEgc2luZ2xlIHBhdHRlcm4NCkBwcmVkX3JlZHVjXzxyZWR1Yz48bW9kZT4u DQogDQpnY2MvQ2hhbmdlTG9nOg0KIA0KKiBjb25maWcvcmlzY3YvcmlzY3Yt di5jYyAoZXhwYW5kX3JlZHVjdGlvbik6IEFkanVzdCBjYWxsLg0KKiBjb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjOiBBZGp1 c3QgY2FsbC4NCiogY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQ6 IE5ldyBpdGVyYXRvcnMgYW5kIGF0dHJzLg0KKiBjb25maWcvcmlzY3YvdmVj dG9yLm1kIChAcHJlZF9yZWR1Y188cmVkdWM+PFZRSTptb2RlPjxWUUlfTE1V TDE6bW9kZT4pOg0KUmVtb3ZlZC4NCihAcHJlZF9yZWR1Y188cmVkdWM+PFZI STptb2RlPjxWSElfTE1VTDE6bW9kZT4pOiBSZW1vdmVkLg0KKEBwcmVkX3Jl ZHVjXzxyZWR1Yz48VlNJOm1vZGU+PFZTSV9MTVVMMTptb2RlPik6IFJlbW92 ZWQuDQooQHByZWRfcmVkdWNfPHJlZHVjPjxWREk6bW9kZT48VkRJX0xNVUwx Om1vZGU+KTogUmVtb3ZlZC4NCihAcHJlZF9yZWR1Y188cmVkdWM+PG1vZGU+ KTogQWRkZWQuDQooQHByZWRfd2lkZW5fcmVkdWNfcGx1czx2X3N1PjxWUUk6 bW9kZT48VkhJX0xNVUwxOm1vZGU+KTogUmVtb3ZlZC4NCihAcHJlZF93aWRl bl9yZWR1Y19wbHVzPHZfc3U+PFZISTptb2RlPjxWU0lfTE1VTDE6bW9kZT4p OiBSZW1vdmVkLg0KKEBwcmVkX3dpZGVuX3JlZHVjX3BsdXM8dl9zdT48bW9k ZT4pOiBBZGRlZC4NCihAcHJlZF93aWRlbl9yZWR1Y19wbHVzPHZfc3U+PFZT STptb2RlPjxWRElfTE1VTDE6bW9kZT4pOiBSZW1vdmVkLg0KKEBwcmVkX3Jl ZHVjXzxyZWR1Yz48VkhGOm1vZGU+PFZIRl9MTVVMMTptb2RlPik6IFJlbW92 ZWQuDQooQHByZWRfcmVkdWNfPHJlZHVjPjxWU0Y6bW9kZT48VlNGX0xNVUwx Om1vZGU+KTogUmVtb3ZlZC4NCihAcHJlZF9yZWR1Y188cmVkdWM+PFZERjpt b2RlPjxWREZfTE1VTDE6bW9kZT4pOiBSZW1vdmVkLg0KKEBwcmVkX3JlZHVj X3BsdXM8b3JkZXI+PFZIRjptb2RlPjxWSEZfTE1VTDE6bW9kZT4pOiBSZW1v dmVkLg0KKEBwcmVkX3JlZHVjX3BsdXM8b3JkZXI+PFZTRjptb2RlPjxWU0Zf TE1VTDE6bW9kZT4pOiBSZW1vdmVkLg0KKEBwcmVkX3JlZHVjX3BsdXM8b3Jk ZXI+PG1vZGU+KTogQWRkZWQuDQooQHByZWRfcmVkdWNfcGx1czxvcmRlcj48 VkRGOm1vZGU+PFZERl9MTVVMMTptb2RlPik6IFJlbW92ZWQuDQooQHByZWRf d2lkZW5fcmVkdWNfcGx1czxvcmRlcj48VkhGOm1vZGU+PFZTRl9MTVVMMTpt b2RlPik6IFJlbW92ZWQuDQooQHByZWRfd2lkZW5fcmVkdWNfcGx1czxvcmRl cj48VlNGOm1vZGU+PFZERl9MTVVMMTptb2RlPik6IFJlbW92ZWQuDQooQHBy ZWRfd2lkZW5fcmVkdWNfcGx1czxvcmRlcj48bW9kZT4pOiBBZGRlZC4NCiAN Ci0tLQ0KZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjICAgICAgICAgICAg ICAgICAgIHwgICA0ICstDQouLi4vcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0 aW5zLWJhc2VzLmNjICAgICAgfCAgMTUgKy0NCmdjYy9jb25maWcvcmlzY3Yv dmVjdG9yLWl0ZXJhdG9ycy5tZCAgICAgICAgICB8ICA0NyArKy0NCmdjYy9j b25maWcvcmlzY3YvdmVjdG9yLm1kICAgICAgICAgICAgICAgICAgICB8IDM2 OSArKystLS0tLS0tLS0tLS0tLS0NCjQgZmlsZXMgY2hhbmdlZCwgMTAxIGlu c2VydGlvbnMoKyksIDMzNCBkZWxldGlvbnMoLSkNCiANCmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXYuY2MNCmluZGV4IDc2ZTYwOTRmNDViLi42OGIzNmQ5ZGM0 ZiAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0K KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQpAQCAtMzIzMCw3 ICszMjMwLDcgQEAgZXhwYW5kX3JlZHVjdGlvbiAocnR4X2NvZGUgY29kZSwg cnR4ICpvcHMsIHJ0eCBpbml0LCByZWR1Y3Rpb25fdHlwZSB0eXBlKQ0KPSBj b2RlX2Zvcl9wcmVkX3JlZHVjX3BsdXMgKHR5cGUgPT0gcmVkdWN0aW9uX3R5 cGU6OlVOT1JERVJFRA0KICAgICAgPyBVTlNQRUNfVU5PUkRFUkVEDQogICAg ICA6IFVOU1BFQ19PUkRFUkVELA0KLSAgICAgdm1vZGUsIG0xX21vZGUpOw0K KyAgICAgdm1vZGUpOw0KICAgICAgIGlmICh0eXBlID09IHJlZHVjdGlvbl90 eXBlOjpNQVNLX0xFTl9GT0xEX0xFRlQpDQp7DQogIHJ0eCBtYXNrID0gb3Bz WzNdOw0KQEAgLTMyNDMsNyArMzI0Myw3IEBAIGV4cGFuZF9yZWR1Y3Rpb24g KHJ0eF9jb2RlIGNvZGUsIHJ0eCAqb3BzLCBydHggaW5pdCwgcmVkdWN0aW9u X3R5cGUgdHlwZSkNCiAgICAgfQ0KICAgZWxzZQ0KICAgICB7DQotICAgICAg aW5zbl9jb2RlIGljb2RlID0gY29kZV9mb3JfcHJlZF9yZWR1YyAoY29kZSwg dm1vZGUsIG0xX21vZGUpOw0KKyAgICAgIGluc25fY29kZSBpY29kZSA9IGNv ZGVfZm9yX3ByZWRfcmVkdWMgKGNvZGUsIHZtb2RlKTsNCiAgICAgICBlbWl0 X3ZsbWF4X2luc24gKGljb2RlLCBSRURVQ0VfT1AsIHJlZHVjX29wcyk7DQog ICAgIH0NCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZl Y3Rvci1idWlsdGlucy1iYXNlcy5jYyBiL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjDQppbmRleCBlZTIxOGEwMzAx Ny4uYzU0ZWE2ZjA1NjAgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5jYw0KKysrIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MNCkBA IC0xNTQxLDggKzE1NDEsNyBAQCBwdWJsaWM6DQogICBydHggZXhwYW5kIChm dW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUNCiAgIHsNCi0g ICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKA0KLSAgICAgIGNvZGVfZm9y X3ByZWRfcmVkdWMgKENPREUsIGUudmVjdG9yX21vZGUgKCksIGUucmV0X21v ZGUgKCkpKTsNCisgICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKGNvZGVf Zm9yX3ByZWRfcmVkdWMgKENPREUsIGUudmVjdG9yX21vZGUgKCkpKTsNCiAg IH0NCn07DQpAQCAtMTU1NSw5ICsxNTU0LDggQEAgcHVibGljOg0KICAgcnR4 IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRl DQogICB7DQotICAgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuIChjb2RlX2Zv cl9wcmVkX3dpZGVuX3JlZHVjX3BsdXMgKFVOU1BFQywNCi0gICAgICBlLnZl Y3Rvcl9tb2RlICgpLA0KLSAgICAgIGUucmV0X21vZGUgKCkpKTsNCisgICAg cmV0dXJuIGUudXNlX2V4YWN0X2luc24gKA0KKyAgICAgIGNvZGVfZm9yX3By ZWRfd2lkZW5fcmVkdWNfcGx1cyAoVU5TUEVDLCBlLnZlY3Rvcl9tb2RlICgp KSk7DQogICB9DQp9Ow0KQEAgLTE1NzYsNyArMTU3NCw3IEBAIHB1YmxpYzoN CiAgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZlKSBjb25zdCBv dmVycmlkZQ0KICAgew0KICAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAo DQotICAgICAgY29kZV9mb3JfcHJlZF9yZWR1Y19wbHVzIChVTlNQRUMsIGUu dmVjdG9yX21vZGUgKCksIGUucmV0X21vZGUgKCkpKTsNCisgICAgICBjb2Rl X2Zvcl9wcmVkX3JlZHVjX3BsdXMgKFVOU1BFQywgZS52ZWN0b3JfbW9kZSAo KSkpOw0KICAgfQ0KfTsNCkBAIC0xNTk0LDkgKzE1OTIsOCBAQCBwdWJsaWM6 DQogICBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qg b3ZlcnJpZGUNCiAgIHsNCi0gICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24g KGNvZGVfZm9yX3ByZWRfd2lkZW5fcmVkdWNfcGx1cyAoVU5TUEVDLA0KLSAg ICAgIGUudmVjdG9yX21vZGUgKCksDQotICAgICAgZS5yZXRfbW9kZSAoKSkp Ow0KKyAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoDQorICAgICAgY29k ZV9mb3JfcHJlZF93aWRlbl9yZWR1Y19wbHVzIChVTlNQRUMsIGUudmVjdG9y X21vZGUgKCkpKTsNCiAgIH0NCn07DQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kIGIvZ2NjL2NvbmZpZy9yaXNj di92ZWN0b3ItaXRlcmF0b3JzLm1kDQppbmRleCBlNzBhOWJjNWM3NC4uZGVi ODljYmNlZGMgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rv ci1pdGVyYXRvcnMubWQNCisrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9y LWl0ZXJhdG9ycy5tZA0KQEAgLTY3MSw2ICs2NzEsMTUgQEANCiAgIFJWVk04 U0kgUlZWTTRTSSBSVlZNMlNJIFJWVk0xU0kgKFJWVk1GMlNJICJUQVJHRVRf TUlOX1ZMRU4gPiAzMiIpDQpdKQ0KKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBW Rl9IUyBbDQorICAoUlZWTThIRiAiVEFSR0VUX1pWRkgiKSAoUlZWTTRIRiAi VEFSR0VUX1pWRkgiKSAoUlZWTTJIRiAiVEFSR0VUX1pWRkgiKQ0KKyAgKFJW Vk0xSEYgIlRBUkdFVF9aVkZIIikgKFJWVk1GMkhGICJUQVJHRVRfWlZGSCIp DQorICAoUlZWTUY0SEYgIlRBUkdFVF9aVkZIICYmIFRBUkdFVF9NSU5fVkxF TiA+IDMyIikNCisNCisgIChSVlZNOFNGICJUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMzIiKSAoUlZWTTRTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikg KFJWVk0yU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpDQorICAoUlZW TTFTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk1GMlNGICJU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4g MzIiKQ0KK10pDQorDQooZGVmaW5lX21vZGVfaXRlcmF0b3IgVl9WTFNJX1FI UyBbDQogICBSVlZNOFFJIFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIFJWVk1G MlFJIFJWVk1GNFFJIChSVlZNRjhRSSAiVEFSR0VUX01JTl9WTEVOID4gMzIi KQ0KQEAgLTEyMzcsMzIgKzEyNDYsMzIgQEANCiAgIChSVlZNMkRGICJUQVJH RVRfVkVDVE9SX0VMRU5fRlBfNjQiKSAoUlZWTTFERiAiVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzY0IikNCl0pDQotKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZR SV9MTVVMMSBbDQotICBSVlZNMVFJDQotXSkNCisoZGVmaW5lX21vZGVfYXR0 ciBWX0xNVUwxIFsNCisgIChSVlZNOFFJICJSVlZNMVFJIikgKFJWVk00UUkg IlJWVk0xUUkiKSAoUlZWTTJRSSAiUlZWTTFRSSIpIChSVlZNMVFJICJSVlZN MVFJIikgKFJWVk1GMlFJICJSVlZNMVFJIikgKFJWVk1GNFFJICJSVlZNMVFJ IikgKFJWVk1GOFFJICJSVlZNMVFJIikNCi0oZGVmaW5lX21vZGVfaXRlcmF0 b3IgVkhJX0xNVUwxIFsNCi0gIFJWVk0xSEkNCi1dKQ0KKyAgKFJWVk04SEkg IlJWVk0xSEkiKSAoUlZWTTRISSAiUlZWTTFISSIpIChSVlZNMkhJICJSVlZN MUhJIikgKFJWVk0xSEkgIlJWVk0xSEkiKSAoUlZWTUYySEkgIlJWVk0xSEki KSAoUlZWTUY0SEkgIlJWVk0xSEkiKQ0KLShkZWZpbmVfbW9kZV9pdGVyYXRv ciBWU0lfTE1VTDEgWw0KLSAgUlZWTTFTSQ0KLV0pDQorICAoUlZWTThTSSAi UlZWTTFTSSIpIChSVlZNNFNJICJSVlZNMVNJIikgKFJWVk0yU0kgIlJWVk0x U0kiKSAoUlZWTTFTSSAiUlZWTTFTSSIpIChSVlZNRjJTSSAiUlZWTTFTSSIp DQotKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZESV9MTVVMMSBbDQotICAoUlZW TTFESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikNCi1dKQ0KKyAgKFJWVk04 REkgIlJWVk0xREkiKSAoUlZWTTRESSAiUlZWTTFESSIpIChSVlZNMkRJICJS VlZNMURJIikgKFJWVk0xREkgIlJWVk0xREkiKQ0KLShkZWZpbmVfbW9kZV9p dGVyYXRvciBWSEZfTE1VTDEgWw0KLSAgKFJWVk0xSEYgIlRBUkdFVF9aVkZI IikNCi1dKQ0KKyAgKFJWVk04SEYgIlJWVk0xSEYiKSAoUlZWTTRIRiAiUlZW TTFIRiIpIChSVlZNMkhGICJSVlZNMUhGIikgKFJWVk0xSEYgIlJWVk0xSEYi KSAoUlZWTUYySEYgIlJWVk0xSEYiKSAoUlZWTUY0SEYgIlJWVk0xSEYiKQ0K LShkZWZpbmVfbW9kZV9pdGVyYXRvciBWU0ZfTE1VTDEgWw0KLSAgKFJWVk0x U0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpDQorICAoUlZWTThTRiAi UlZWTTFTRiIpIChSVlZNNFNGICJSVlZNMVNGIikgKFJWVk0yU0YgIlJWVk0x U0YiKSAoUlZWTTFTRiAiUlZWTTFTRiIpIChSVlZNRjJTRiAiUlZWTTFTRiIp DQorDQorICAoUlZWTThERiAiUlZWTTFERiIpIChSVlZNNERGICJSVlZNMURG IikgKFJWVk0yREYgIlJWVk0xREYiKSAoUlZWTTFERiAiUlZWTTFERiIpDQpd KQ0KLShkZWZpbmVfbW9kZV9pdGVyYXRvciBWREZfTE1VTDEgWw0KLSAgKFJW Vk0xREYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCIpDQorKGRlZmluZV9t b2RlX2F0dHIgVl9FWFRfTE1VTDEgWw0KKyAgKFJWVk04UUkgIlJWVk0xSEki KSAoUlZWTTRRSSAiUlZWTTFISSIpIChSVlZNMlFJICJSVlZNMUhJIikgKFJW Vk0xUUkgIlJWVk0xSEkiKSAoUlZWTUYyUUkgIlJWVk0xSEkiKSAoUlZWTUY0 UUkgIlJWVk0xSEkiKSAoUlZWTUY4UUkgIlJWVk0xSEkiKQ0KKw0KKyAgKFJW Vk04SEkgIlJWVk0xU0kiKSAoUlZWTTRISSAiUlZWTTFTSSIpIChSVlZNMkhJ ICJSVlZNMVNJIikgKFJWVk0xSEkgIlJWVk0xU0kiKSAoUlZWTUYySEkgIlJW Vk0xU0kiKSAoUlZWTUY0SEkgIlJWVk0xU0kiKQ0KKw0KKyAgKFJWVk04U0kg IlJWVk0xREkiKSAoUlZWTTRTSSAiUlZWTTFESSIpIChSVlZNMlNJICJSVlZN MURJIikgKFJWVk0xU0kgIlJWVk0xREkiKSAoUlZWTUYyU0kgIlJWVk0xREki KQ0KKw0KKyAgKFJWVk04SEYgIlJWVk0xU0YiKSAoUlZWTTRIRiAiUlZWTTFT RiIpIChSVlZNMkhGICJSVlZNMVNGIikgKFJWVk0xSEYgIlJWVk0xU0YiKSAo UlZWTUYySEYgIlJWVk0xU0YiKSAoUlZWTUY0SEYgIlJWVk0xU0YiKQ0KKw0K KyAgKFJWVk04U0YgIlJWVk0xREYiKSAoUlZWTTRTRiAiUlZWTTFERiIpIChS VlZNMlNGICJSVlZNMURGIikgKFJWVk0xU0YgIlJWVk0xREYiKSAoUlZWTUYy U0YgIlJWVk0xREYiKQ0KXSkNCihkZWZpbmVfbW9kZV9hdHRyIFZJTkRFWCBb DQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQgYi9n Y2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KaW5kZXggNThlNjU5ZTVjZDQu LmI2YzhlNjNiMGIyIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi92 ZWN0b3IubWQNCisrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kDQpA QCAtNzcyNSwyNjUgKzc3MjUsNzggQEANCjs7IC0gMTQuNCBWZWN0b3IgV2lk ZW5pbmcgRmxvYXRpbmctUG9pbnQgUmVkdWN0aW9uIEluc3RydWN0aW9ucw0K OzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLTs7IEZv ciByZWR1Y3Rpb24gb3BlcmF0aW9ucywgd2Ugc2hvdWxkIGhhdmUgc2VwZXJh dGUgcGF0dGVybnMgZm9yDQotOzsgZGlmZmVyZW50IHR5cGVzLiBGb3IgZWFj aCB0eXBlLCB3ZSB3aWxsIGNvdmVyIE1JTl9WTEVOID09IDMyLCBNSU5fVkxF TiA9PSA2NA0KLTs7IGFuZCB0aGUgTUlOX1ZMRU4gPj0gMTI4IGZyb20gdGhl IHdlbGwgZGVmaW5lZCBpdGVyYXRvcnMuDQotOzsgU2luY2UgcmVkdWN0aW9u IG5lZWQgTE1VTCA9IDEgc2NhbGFyIG9wZXJhbmQgYXMgdGhlIGlucHV0IG9w ZXJhbmQNCi07OyBhbmQgdGhleSBhcmUgZGlmZmVyZW50Lg0KLQ0KLTs7IElu dGVnZXIgUmVkdWN0aW9uIGZvciBRSQ0KLShkZWZpbmVfaW5zbiAiQHByZWRf cmVkdWNfPHJlZHVjPjxWUUk6bW9kZT48VlFJX0xNVUwxOm1vZGU+Ig0KLSAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6VlFJX0xNVUwxICAgICAgICAgIDAgInJl Z2lzdGVyX29wZXJhbmQiICAgICAgIj12ciwgICAgIHZyIikNCi0gKHVuc3Bl YzpWUUlfTE1VTDENCi0gICBbKHVuc3BlYzo8VlFJOlZNPg0KLSAgICAgWyht YXRjaF9vcGVyYW5kOjxWUUk6Vk0+ICAgICAgMSAidmVjdG9yX21hc2tfb3Bl cmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5k ICAgICAgICAgICAgICAgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiICAg ckssICAgcksiKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAg ICAgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0K LSAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgICAgNyAiY29uc3Rf aW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAgIChyZWc6 U0kgVkxfUkVHTlVNKQ0KLSAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0g VU5TUEVDX1ZQUkVESUNBVEUpDQotICAgIChhbnlfcmVkdWM6VlFJDQotICAg ICAgKHZlY19kdXBsaWNhdGU6VlFJDQotICAgICAgICAodmVjX3NlbGVjdDo8 VkVMPg0KLSAobWF0Y2hfb3BlcmFuZDpWUUlfTE1VTDEgNCAicmVnaXN0ZXJf b3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAocGFyYWxsZWwgWyhj b25zdF9pbnQgMCldKSkpDQotICAgICAgKG1hdGNoX29wZXJhbmQ6VlFJICAg ICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2 ciIpKQ0KLSAgICAobWF0Y2hfb3BlcmFuZDpWUUlfTE1VTDEgICAgICAgMiAi dmVjdG9yX21lcmdlX29wZXJhbmQiICAiICAgdnUsICAgIDAiKV0gVU5TUEVD X1JFRFVDKSldDQotICAiVEFSR0VUX1ZFQ1RPUiINCi0gICJ2cmVkPHJlZHVj Pi52c1x0JTAsJTMsJTQlcDEiDQotICBbKHNldF9hdHRyICJ0eXBlIiAidmly ZWQiKQ0KLSAgIChzZXRfYXR0ciAibW9kZSIgIjxWUUk6TU9ERT4iKV0pDQot DQotOzsgSW50ZWdlciBSZWR1Y3Rpb24gZm9yIEhJDQotKGRlZmluZV9pbnNu ICJAcHJlZF9yZWR1Y188cmVkdWM+PFZISTptb2RlPjxWSElfTE1VTDE6bW9k ZT4iDQotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSElfTE1VTDEgICAgICAg ICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiPXZyLCAgICAgdnIiKQ0K LSAodW5zcGVjOlZISV9MTVVMMQ0KLSAgIFsodW5zcGVjOjxWSEk6Vk0+DQot ICAgICBbKG1hdGNoX29wZXJhbmQ6PFZISTpWTT4gICAgICAxICJ2ZWN0b3Jf bWFza19vcGVyYW5kIiAgICJ2bVdjMSx2bVdjMSIpDQotICAgICAgKG1hdGNo X29wZXJhbmQgICAgICAgICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJh bmQiICIgICBySywgICBySyIpDQotICAgICAgKG1hdGNoX29wZXJhbmQgICAg ICAgICAgICAgICA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwg ICAgaSIpDQotICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgICA3 ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQotICAg ICAgKHJlZzpTSSBWTF9SRUdOVU0pDQotICAgICAgKHJlZzpTSSBWVFlQRV9S RUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCi0gICAgKGFueV9yZWR1YzpW SEkNCi0gICAgICAodmVjX2R1cGxpY2F0ZTpWSEkNCi0gICAgICAgICh2ZWNf c2VsZWN0OjxWRUw+DQotIChtYXRjaF9vcGVyYW5kOlZISV9MTVVMMSA0ICJy ZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpDQotIChwYXJh bGxlbCBbKGNvbnN0X2ludCAwKV0pKSkNCi0gICAgICAobWF0Y2hfb3BlcmFu ZDpWSEkgICAgICAgICAgIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAg IHZyLCAgIHZyIikpDQotICAgIChtYXRjaF9vcGVyYW5kOlZISV9MTVVMMSAg ICAgICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAgMCIp XSBVTlNQRUNfUkVEVUMpKV0NCi0gICJUQVJHRVRfVkVDVE9SIg0KLSAgInZy ZWQ8cmVkdWM+LnZzXHQlMCwlMywlNCVwMSINCi0gIFsoc2V0X2F0dHIgInR5 cGUiICJ2aXJlZCIpDQotICAgKHNldF9hdHRyICJtb2RlIiAiPFZISTpNT0RF PiIpXSkNCi0NCi07OyBJbnRlZ2VyIFJlZHVjdGlvbiBmb3IgU0kNCi0oZGVm aW5lX2luc24gIkBwcmVkX3JlZHVjXzxyZWR1Yz48VlNJOm1vZGU+PFZTSV9M TVVMMTptb2RlPiINCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZTSV9MTVVM MSAgICAgICAgICAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9dnIsICAg ICB2ciIpDQotICh1bnNwZWM6VlNJX0xNVUwxDQotICAgWyh1bnNwZWM6PFZT STpWTT4NCi0gICAgIFsobWF0Y2hfb3BlcmFuZDo8VlNJOlZNPiAgICAgIDEg InZlY3Rvcl9tYXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2MxIikNCi0gICAg ICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICAgIDUgInZlY3Rvcl9sZW5n dGhfb3BlcmFuZCIgIiAgIHJLLCAgIHJLIikNCi0gICAgICAobWF0Y2hfb3Bl cmFuZCAgICAgICAgICAgICAgIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAg IiAgICBpLCAgICBpIikNCi0gICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAg ICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBp IikNCi0gICAgICAocmVnOlNJIFZMX1JFR05VTSkNCi0gICAgICAocmVnOlNJ IFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KLSAgICAoYW55 X3JlZHVjOlZTSQ0KLSAgICAgICh2ZWNfZHVwbGljYXRlOlZTSQ0KLSAgICAg ICAgKHZlY19zZWxlY3Q6PFZFTD4NCi0gKG1hdGNoX29wZXJhbmQ6VlNJX0xN VUwxIDQgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAgIHZyLCAgIHZyIikN Ci0gKHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpKQ0KLSAgICAgIChtYXRj aF9vcGVyYW5kOlZTSSAgICAgICAgICAgMyAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAiICAgdnIsICAgdnIiKSkNCi0gICAgKG1hdGNoX29wZXJhbmQ6VlNJ X0xNVUwxICAgICAgIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1 LCAgICAwIildIFVOU1BFQ19SRURVQykpXQ0KLSAgIlRBUkdFVF9WRUNUT1Ii DQotICAidnJlZDxyZWR1Yz4udnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRf YXR0ciAidHlwZSIgInZpcmVkIikNCi0gICAoc2V0X2F0dHIgIm1vZGUiICI8 VlNJOk1PREU+IildKQ0KLQ0KLTs7IEludGVnZXIgUmVkdWN0aW9uIGZvciBE SQ0KLShkZWZpbmVfaW5zbiAiQHByZWRfcmVkdWNfPHJlZHVjPjxWREk6bW9k ZT48VkRJX0xNVUwxOm1vZGU+Ig0KLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 VkRJX0xNVUwxICAgICAgICAgIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAg Ij12ciwgICAgIHZyIikNCi0gKHVuc3BlYzpWRElfTE1VTDENCi0gICBbKHVu c3BlYzo8VkRJOlZNPg0KLSAgICAgWyhtYXRjaF9vcGVyYW5kOjxWREk6Vk0+ ICAgICAgMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAidm1XYzEsdm1XYzEi KQ0KKzs7IEludGVnZXIgUmVkdWN0aW9uICh2cmVkKHN1bXxtYXh1fG1heHxt aW51fG1pbnxhbmR8b3J8eG9yKS52cykNCisoZGVmaW5lX2luc24gIkBwcmVk X3JlZHVjXzxyZWR1Yz48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFu ZDo8Vl9MTVVMMT4gICAgICAgICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAiPXZyLCAgICAgdnIiKQ0KKyAodW5zcGVjOjxWX0xNVUwxPg0KKyAgIFso dW5zcGVjOjxWTT4NCisgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+ICAgICAg ICAgIDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2MxIikN CiAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgICA1ICJ2ZWN0b3Jf bGVuZ3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQogICAgIChtYXRjaF9v cGVyYW5kICAgICAgICAgICAgICAgNiAiY29uc3RfaW50X29wZXJhbmQiICAg ICAiICAgIGksICAgIGkiKQ0KICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAg ICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBp IikNCiAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQogICAgIChyZWc6U0kgVlRZ UEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQotICAgIChhbnlfcmVk dWM6VkRJDQotICAgICAgKHZlY19kdXBsaWNhdGU6VkRJDQorICAgIChhbnlf cmVkdWM6VkkNCisgICAgICAodmVjX2R1cGxpY2F0ZTpWSQ0KICAgICAgICh2 ZWNfc2VsZWN0OjxWRUw+DQotIChtYXRjaF9vcGVyYW5kOlZESV9MTVVMMSA0 ICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpDQorICht YXRjaF9vcGVyYW5kOjxWX0xNVUwxPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAg ICAgICIgICB2ciwgICB2ciIpDQoocGFyYWxsZWwgWyhjb25zdF9pbnQgMCld KSkpDQotICAgICAgKG1hdGNoX29wZXJhbmQ6VkRJICAgICAgICAgICAzICJy ZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpKQ0KLSAgICAo bWF0Y2hfb3BlcmFuZDpWRElfTE1VTDEgICAgICAgMiAidmVjdG9yX21lcmdl X29wZXJhbmQiICAiICAgdnUsICAgIDAiKV0gVU5TUEVDX1JFRFVDKSldDQor ICAgICAgKG1hdGNoX29wZXJhbmQ6VkkgICAgICAgICAgIDMgInJlZ2lzdGVy X29wZXJhbmQiICAgICAgIiAgIHZyLCAgIHZyIikpDQorICAgIChtYXRjaF9v cGVyYW5kOjxWX0xNVUwxPiAgICAgICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFu ZCIgICIgICB2dSwgICAgMCIpXSBVTlNQRUNfUkVEVUMpKV0NCiAgICJUQVJH RVRfVkVDVE9SIg0KICAgInZyZWQ8cmVkdWM+LnZzXHQlMCwlMywlNCVwMSIN CiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2aXJlZCIpDQotICAgKHNldF9hdHRy ICJtb2RlIiAiPFZESTpNT0RFPiIpXSkNCi0NCi07OyBJbnRlZ2VyIFJlZHVj dGlvbiBXaWRlbiBmb3IgUUksIEhJID0gUUkgb3AgSEkNCi0oZGVmaW5lX2lu c24gIkBwcmVkX3dpZGVuX3JlZHVjX3BsdXM8dl9zdT48VlFJOm1vZGU+PFZI SV9MTVVMMTptb2RlPiINCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZISV9M TVVMMSAgICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiPSZ2ciwmdnIi KQ0KLSAodW5zcGVjOlZISV9MTVVMMQ0KLSAgIFsodW5zcGVjOjxWUUk6Vk0+ DQotICAgICBbKG1hdGNoX29wZXJhbmQ6PFZRSTpWTT4gMSAidmVjdG9yX21h c2tfb3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAgICAgIChtYXRjaF9v cGVyYW5kICAgICAgICAgIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiAg IHJLLCAgIHJLIikNCi0gICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICA2 ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQotICAg ICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgNyAiY29uc3RfaW50X29wZXJh bmQiICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAgIChyZWc6U0kgVkxfUkVH TlVNKQ0KLSAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpDQotICAgIChtYXRjaF9vcGVyYW5kOlZRSSAgICAgICAgMyAi cmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAgICAo bWF0Y2hfb3BlcmFuZDpWSElfTE1VTDEgIDQgInJlZ2lzdGVyX29wZXJhbmQi ICAgICAgIiAgIHZyLCAgIHZyIikNCi0gICAgKG1hdGNoX29wZXJhbmQ6VkhJ X0xNVUwxICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAg MCIpXSBXUkVEVUMpKV0NCi0gICJUQVJHRVRfVkVDVE9SIg0KLSAgInZ3cmVk c3VtPHZfc3U+LnZzXHQlMCwlMywlNCVwMSINCi0gIFsoc2V0X2F0dHIgInR5 cGUiICJ2aXdyZWQiKQ0KLSAgIChzZXRfYXR0ciAibW9kZSIgIjxWUUk6TU9E RT4iKV0pDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KLTs7 IEludGVnZXIgUmVkdWN0aW9uIFdpZGVuIGZvciBISSwgU0kgPSBISSBvcCBT SQ0KLShkZWZpbmVfaW5zbiAiQHByZWRfd2lkZW5fcmVkdWNfcGx1czx2X3N1 PjxWSEk6bW9kZT48VlNJX0xNVUwxOm1vZGU+Ig0KLSAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VlNJX0xNVUwxICAgICAwICJyZWdpc3Rlcl9vcGVyYW5kIiAg ICAgICI9JnZyLCZ2ciIpDQotICh1bnNwZWM6VlNJX0xNVUwxDQotICAgWyh1 bnNwZWM6PFZISTpWTT4NCi0gICAgIFsobWF0Y2hfb3BlcmFuZDo8VkhJOlZN PiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICJ2bVdjMSx2bVdjMSIpDQot ICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgNSAidmVjdG9yX2xlbmd0 aF9vcGVyYW5kIiAiICAgckssICAgcksiKQ0KLSAgICAgIChtYXRjaF9vcGVy YW5kICAgICAgICAgIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBp LCAgICBpIikNCi0gICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICA3ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQorOzsgSW50 ZWdlciBSZWR1Y3Rpb24gU3VtIFdpZGVuICh2d3JlZHN1bVt1XS52cykNCiso ZGVmaW5lX2luc24gIkBwcmVkX3dpZGVuX3JlZHVjX3BsdXM8dl9zdT48bW9k ZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vl9FWFRfTE1VTDE+ICAg ICAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9JnZyLCZ2ciIpDQorICh1 bnNwZWM6PFZfRVhUX0xNVUwxPg0KKyAgIFsodW5zcGVjOjxWTT4NCisgICAg IFsobWF0Y2hfb3BlcmFuZDo8Vk0+ICAgICAgICAgMSAidmVjdG9yX21hc2tf b3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KKyAgICAgIChtYXRjaF9vcGVy YW5kICAgICAgICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIg ICBySywgICBySyIpDQorICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAg ICAgIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBpIikN CisgICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICAgNyAiY29uc3Rf aW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KICAgICAocmVnOlNJ IFZMX1JFR05VTSkNCiAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQ RUNfVlBSRURJQ0FURSkNCi0gICAgKG1hdGNoX29wZXJhbmQ6VkhJICAgICAg ICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpDQot ICAgIChtYXRjaF9vcGVyYW5kOlZTSV9MTVVMMSAgNCAicmVnaXN0ZXJfb3Bl cmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAgICAobWF0Y2hfb3BlcmFu ZDpWU0lfTE1VTDEgIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgIiAgIHZ1 LCAgICAwIildIFdSRURVQykpXQ0KKyAgICAobWF0Y2hfb3BlcmFuZDpWSV9R SFMgICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwg ICB2ciIpDQorICAgIChtYXRjaF9vcGVyYW5kOjxWX0VYVF9MTVVMMT4gIDQg InJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAgIHZyLCAgIHZyIikNCisgICAg KG1hdGNoX29wZXJhbmQ6PFZfRVhUX0xNVUwxPiAgMiAidmVjdG9yX21lcmdl X29wZXJhbmQiICAiICAgdnUsICAgIDAiKV0gV1JFRFVDKSldDQogICAiVEFS R0VUX1ZFQ1RPUiINCiAgICJ2d3JlZHN1bTx2X3N1Pi52c1x0JTAsJTMsJTQl cDEiDQogICBbKHNldF9hdHRyICJ0eXBlIiAidml3cmVkIikNCi0gICAoc2V0 X2F0dHIgIm1vZGUiICI8VkhJOk1PREU+IildKQ0KKyAgIChzZXRfYXR0ciAi bW9kZSIgIjxNT0RFPiIpXSkNCi07OyBJbnRlZ2VyIFJlZHVjdGlvbiBXaWRl biBmb3IgU0ksIERJID0gU0kgb3AgREkNCi0oZGVmaW5lX2luc24gIkBwcmVk X3dpZGVuX3JlZHVjX3BsdXM8dl9zdT48VlNJOm1vZGU+PFZESV9MTVVMMTpt b2RlPiINCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZESV9MTVVMMSAgICAg MCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiPSZ2ciwmdnIiKQ0KLSAodW5z cGVjOlZESV9MTVVMMQ0KLSAgIFsodW5zcGVjOjxWU0k6Vk0+DQotICAgICBb KG1hdGNoX29wZXJhbmQ6PFZTSTpWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFu ZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kICAg ICAgICAgIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiAgIHJLLCAgIHJL IikNCi0gICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICA2ICJjb25zdF9p bnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQotICAgICAgKG1hdGNo X29wZXJhbmQgICAgICAgICAgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAi ICAgIGksICAgIGkiKQ0KLSAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KLSAg ICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp DQotICAgIChtYXRjaF9vcGVyYW5kOlZTSSAgICAgICAgMyAicmVnaXN0ZXJf b3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAgICAobWF0Y2hfb3Bl cmFuZDpWRElfTE1VTDEgIDQgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAg IHZyLCAgIHZyIikNCi0gICAgKG1hdGNoX29wZXJhbmQ6VkRJX0xNVUwxICAy ICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAgMCIpXSBXUkVE VUMpKV0NCi0gICJUQVJHRVRfVkVDVE9SIg0KLSAgInZ3cmVkc3VtPHZfc3U+ LnZzXHQlMCwlMywlNCVwMSINCi0gIFsoc2V0X2F0dHIgInR5cGUiICJ2aXdy ZWQiKQ0KLSAgIChzZXRfYXR0ciAibW9kZSIgIjxWU0k6TU9ERT4iKV0pDQot DQotOzsgRmxvYXQgUmVkdWN0aW9uIGZvciBIRg0KLShkZWZpbmVfaW5zbiAi QHByZWRfcmVkdWNfPHJlZHVjPjxWSEY6bW9kZT48VkhGX0xNVUwxOm1vZGU+ Ig0KLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkhGX0xNVUwxICAgICAgICAg IDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj12ciwgICAgIHZyIikNCi0g KHVuc3BlYzpWSEZfTE1VTDENCi0gICBbKHVuc3BlYzo8VkhGOlZNPg0KLSAg ICAgWyhtYXRjaF9vcGVyYW5kOjxWSEY6Vk0+ICAgICAgMSAidmVjdG9yX21h c2tfb3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAgICAgIChtYXRjaF9v cGVyYW5kICAgICAgICAgICAgICAgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5k IiAiICAgckssICAgcksiKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kICAgICAg ICAgICAgICAgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAg IGkiKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgICAgNyAi Y29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAg IChyZWc6U0kgVkxfUkVHTlVNKQ0KLSAgICAgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQotICAgIChhbnlfcmVkdWM6VkhG DQotICAgICAgKHZlY19kdXBsaWNhdGU6VkhGDQotICAgICAgICAodmVjX3Nl bGVjdDo8VkVMPg0KLSAobWF0Y2hfb3BlcmFuZDpWSEZfTE1VTDEgNCAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAocGFyYWxs ZWwgWyhjb25zdF9pbnQgMCldKSkpDQotICAgICAgKG1hdGNoX29wZXJhbmQ6 VkhGICAgICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2 ciwgICB2ciIpKQ0KLSAgICAobWF0Y2hfb3BlcmFuZDpWSEZfTE1VTDEgICAg ICAgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAiICAgdnUsICAgIDAiKV0g VU5TUEVDX1JFRFVDKSldDQotICAiVEFSR0VUX1ZFQ1RPUiINCi0gICJ2ZnJl ZDxyZWR1Yz4udnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRfYXR0ciAidHlw ZSIgInZmcmVkdSIpDQotICAgKHNldF9hdHRyICJtb2RlIiAiPFZIRjpNT0RF PiIpXSkNCi0NCi07OyBGbG9hdCBSZWR1Y3Rpb24gZm9yIFNGDQotKGRlZmlu ZV9pbnNuICJAcHJlZF9yZWR1Y188cmVkdWM+PFZTRjptb2RlPjxWU0ZfTE1V TDE6bW9kZT4iDQotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU0ZfTE1VTDEg ICAgICAgICAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9dnIsICAgICB2 ciIpDQotICAgICAgKHVuc3BlYzpWU0ZfTE1VTDENCi0gWyh1bnNwZWM6PFZT RjpWTT4NCi0gICBbKG1hdGNoX29wZXJhbmQ6PFZTRjpWTT4gICAgICAgMSAi dmVjdG9yX21hc2tfb3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAgICAo bWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiICIgICBySywgICBySyIpDQotICAgIChtYXRjaF9vcGVyYW5k ICAgICAgICAgICAgICAgIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAg ICBpLCAgICBpIikNCi0gICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAg ICAgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0K LSAgICAocmVnOlNJIFZMX1JFR05VTSkNCi0gICAgKHJlZzpTSSBWVFlQRV9S RUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCi0gKGFueV9yZWR1YzpWU0YN Ci0gICAgICh2ZWNfZHVwbGljYXRlOlZTRg0KLSAgICAgICAodmVjX3NlbGVj dDo8VkVMPg0KLSAobWF0Y2hfb3BlcmFuZDpWU0ZfTE1VTDEgNCAicmVnaXN0 ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAocGFyYWxsZWwg Wyhjb25zdF9pbnQgMCldKSkpDQotICAgICAobWF0Y2hfb3BlcmFuZDpWU0Yg ICAgICAgICAgIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAgIHZyLCAg IHZyIikpDQotIChtYXRjaF9vcGVyYW5kOlZTRl9MTVVMMSAgICAgICAgMiAi dmVjdG9yX21lcmdlX29wZXJhbmQiICAiICAgdnUsICAgIDAiKV0gVU5TUEVD X1JFRFVDKSldDQotICAiVEFSR0VUX1ZFQ1RPUiINCi0gICJ2ZnJlZDxyZWR1 Yz4udnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRfYXR0ciAidHlwZSIgInZm cmVkdSIpDQotICAgKHNldF9hdHRyICJtb2RlIiAiPFZTRjpNT0RFPiIpXSkN Ci0NCi07OyBGbG9hdCBSZWR1Y3Rpb24gZm9yIERGDQotKGRlZmluZV9pbnNu ICJAcHJlZF9yZWR1Y188cmVkdWM+PFZERjptb2RlPjxWREZfTE1VTDE6bW9k ZT4iDQotICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWREZfTE1VTDEgICAgICAg ICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiPXZyLCAgICAgdnIiKQ0K LSAodW5zcGVjOlZERl9MTVVMMQ0KLSAgIFsodW5zcGVjOjxWREY6Vk0+DQot ICAgICBbKG1hdGNoX29wZXJhbmQ6PFZERjpWTT4gICAgICAxICJ2ZWN0b3Jf bWFza19vcGVyYW5kIiAgICJ2bVdjMSx2bVdjMSIpDQorOzsgRmxvYXQgUmVk dWN0aW9uICh2ZnJlZChtYXh8bWluKS52cykNCisoZGVmaW5lX2luc24gIkBw cmVkX3JlZHVjXzxyZWR1Yz48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3Bl cmFuZDo8Vl9MTVVMMT4gICAgICAgICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAiPXZyLCAgICAgdnIiKQ0KKyAodW5zcGVjOjxWX0xNVUwxPg0KKyAg IFsodW5zcGVjOjxWTT4NCisgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+ICAg ICAgICAgIDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2Mx IikNCiAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgICA1ICJ2ZWN0 b3JfbGVuZ3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQogICAgIChtYXRj aF9vcGVyYW5kICAgICAgICAgICAgICAgNiAiY29uc3RfaW50X29wZXJhbmQi ICAgICAiICAgIGksICAgIGkiKQ0KICAgICAobWF0Y2hfb3BlcmFuZCAgICAg ICAgICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAg ICBpIikNCiAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQogICAgIChyZWc6U0kg VlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQotICAgIChhbnlf cmVkdWM6VkRGDQotICAgICAgKHZlY19kdXBsaWNhdGU6VkRGDQorICAgIChh bnlfZnJlZHVjOlZGDQorICAgICAgKHZlY19kdXBsaWNhdGU6VkYNCiAgICAg ICAodmVjX3NlbGVjdDo8VkVMPg0KLSAobWF0Y2hfb3BlcmFuZDpWREZfTE1V TDEgNCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0K KyAobWF0Y2hfb3BlcmFuZDo8Vl9MTVVMMT4gNCAicmVnaXN0ZXJfb3BlcmFu ZCIgICAgICAiICAgdnIsICAgdnIiKQ0KKHBhcmFsbGVsIFsoY29uc3RfaW50 IDApXSkpKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kOlZERiAgICAgICAgICAg MyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKSkNCi0g ICAgKG1hdGNoX29wZXJhbmQ6VkRGX0xNVUwxICAgICAgIDIgInZlY3Rvcl9t ZXJnZV9vcGVyYW5kIiAgIiAgIHZ1LCAgICAwIildIFVOU1BFQ19SRURVQykp XQ0KKyAgICAgIChtYXRjaF9vcGVyYW5kOlZGICAgICAgICAgICAgMyAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKSkNCisgICAgKG1h dGNoX29wZXJhbmQ6PFZfTE1VTDE+ICAgICAgIDIgInZlY3Rvcl9tZXJnZV9v cGVyYW5kIiAgIiAgIHZ1LCAgICAwIildIFVOU1BFQ19SRURVQykpXQ0KICAg IlRBUkdFVF9WRUNUT1IiDQogICAidmZyZWQ8cmVkdWM+LnZzXHQlMCwlMywl NCVwMSINCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZnJlZHUiKQ0KLSAgIChz ZXRfYXR0ciAibW9kZSIgIjxWREY6TU9ERT4iKV0pDQotDQotOzsgRmxvYXQg T3JkZXJlZCBSZWR1Y3Rpb24gU3VtIGZvciBIRg0KLShkZWZpbmVfaW5zbiAi QHByZWRfcmVkdWNfcGx1czxvcmRlcj48VkhGOm1vZGU+PFZIRl9MTVVMMTpt b2RlPiINCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZIRl9MTVVMMSAgICAg ICAgICAgIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj12cix2ciIpDQot ICh1bnNwZWM6VkhGX0xNVUwxDQotICAgWyh1bnNwZWM6VkhGX0xNVUwxDQot ICAgICBbKHVuc3BlYzo8VkhGOlZNPg0KLSAgICAgICBbKG1hdGNoX29wZXJh bmQ6PFZIRjpWTT4gICAgICAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICJ2 bVdjMSx2bVdjMSIpDQotICAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAg ICAgICAgIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiAgIHJLLCAgIHJL IikNCi0gICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgICAgNiAi Y29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAg ICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgICA3ICJjb25zdF9pbnRf b3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQotICAgICAgICAobWF0Y2hf b3BlcmFuZCAgICAgICAgICAgICAgIDggImNvbnN0X2ludF9vcGVyYW5kIiAg ICAgIiAgICBpLCAgICBpIikNCi0gICAgICAgIChyZWc6U0kgVkxfUkVHTlVN KQ0KLSAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQotICAgICAgICAo cmVnOlNJIEZSTV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCi0gICAg ICAocGx1czpWSEYNCi0gICAgICAgICh2ZWNfZHVwbGljYXRlOlZIRg0KLSAg ICAgICAgICAodmVjX3NlbGVjdDo8VkVMPg0KLSAgICAgICAgICAgIChtYXRj aF9vcGVyYW5kOlZIRl9MTVVMMSA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAg ICIgICB2ciwgICB2ciIpDQotICAgICAgICAgICAgKHBhcmFsbGVsIFsoY29u c3RfaW50IDApXSkpKQ0KLSAgICAgICAgKG1hdGNoX29wZXJhbmQ6VkhGICAg ICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2 ciIpKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kOlZIRl9MTVVMMSAgICAgICAy ICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAgMCIpXSBVTlNQ RUNfUkVEVUMpXSBPUkRFUikpXQ0KLSAgIlRBUkdFVF9WRUNUT1IiDQotICAi dmZyZWQ8b3JkZXI+c3VtLnZzXHQlMCwlMywlNCVwMSINCi0gIFsoc2V0X2F0 dHIgInR5cGUiICJ2ZnJlZDxvcmRlcj4iKQ0KLSAgIChzZXRfYXR0ciAibW9k ZSIgIjxWSEY6TU9ERT4iKQ0KLSAgIChzZXQgKGF0dHIgImZybV9tb2RlIikN Ci0gKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X2ZybV9tb2RlIChv cGVyYW5kc1s4XSkiKSldKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RF PiIpXSkNCi07OyBGbG9hdCBPcmRlcmVkIFJlZHVjdGlvbiBTdW0gZm9yIFNG DQotKGRlZmluZV9pbnNuICJAcHJlZF9yZWR1Y19wbHVzPG9yZGVyPjxWU0Y6 bW9kZT48VlNGX0xNVUwxOm1vZGU+Ig0KLSAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VlNGX0xNVUwxICAgICAgICAgICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAiPXZyLHZyIikNCi0gKHVuc3BlYzpWU0ZfTE1VTDENCi0gICBbKHVu c3BlYzpWU0ZfTE1VTDENCi0gICAgIFsodW5zcGVjOjxWU0Y6Vk0+DQotICAg ICAgIFsobWF0Y2hfb3BlcmFuZDo8VlNGOlZNPiAgICAgIDEgInZlY3Rvcl9t YXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2MxIikNCis7OyBGbG9hdCBPcmRl cmVkIFJlZHVjdGlvbiBTdW0gKHZmcmVkW291XXN1bS52cykNCisoZGVmaW5l X2luc24gIkBwcmVkX3JlZHVjX3BsdXM8b3JkZXI+PG1vZGU+Ig0KKyAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6PFZfTE1VTDE+ICAgICAgICAgICAwICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICI9dnIsdnIiKQ0KKyAodW5zcGVjOjxWX0xN VUwxPg0KKyAgIFsodW5zcGVjOjxWX0xNVUwxPg0KKyAgICAgWyh1bnNwZWM6 PFZNPg0KKyAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAgICAgICAgICAx ICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICJ2bVdjMSx2bVdjMSIpDQogICAg ICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgICA1ICJ2ZWN0b3JfbGVu Z3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQogICAgICAgKG1hdGNoX29w ZXJhbmQgICAgICAgICAgICAgICA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAg ICIgICAgaSwgICAgaSIpDQogICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAg ICAgICAgICA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAg aSIpDQpAQCAtNzk5MSw5MyArNzgwNCw0MSBAQA0KICAgICAgIChyZWc6U0kg VkxfUkVHTlVNKQ0KICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKQ0KICAg ICAgIChyZWc6U0kgRlJNX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0K LSAgICAgIChwbHVzOlZTRg0KLSAgICAgICAgKHZlY19kdXBsaWNhdGU6VlNG DQorICAgICAgKHBsdXM6VkYNCisgICAgICAgICh2ZWNfZHVwbGljYXRlOlZG DQogICAgICAgICAodmVjX3NlbGVjdDo8VkVMPg0KLSAgICAgICAgICAgICht YXRjaF9vcGVyYW5kOlZTRl9MTVVMMSA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAg ICAgICIgICB2ciwgICB2ciIpDQorICAgICAgICAgICAgKG1hdGNoX29wZXJh bmQ6PFZfTE1VTDE+IDQgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIiAgIHZy LCAgIHZyIikNCiAgICAgICAgICAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDAp XSkpKQ0KLSAgICAgICAgKG1hdGNoX29wZXJhbmQ6VlNGICAgICAgICAgICAz ICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpKQ0KLSAg ICAgIChtYXRjaF9vcGVyYW5kOlZTRl9MTVVMMSAgICAgICAyICJ2ZWN0b3Jf bWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAgMCIpXSBVTlNQRUNfUkVEVUMp XSBPUkRFUikpXQ0KKyAgICAgICAgKG1hdGNoX29wZXJhbmQ6VkYgICAgICAg ICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIp KQ0KKyAgICAgIChtYXRjaF9vcGVyYW5kOjxWX0xNVUwxPiAgICAgICAyICJ2 ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAgMCIpXSBVTlNQRUNf UkVEVUMpXSBPUkRFUikpXQ0KICAgIlRBUkdFVF9WRUNUT1IiDQogICAidmZy ZWQ8b3JkZXI+c3VtLnZzXHQlMCwlMywlNCVwMSINCiAgIFsoc2V0X2F0dHIg InR5cGUiICJ2ZnJlZDxvcmRlcj4iKQ0KLSAgIChzZXRfYXR0ciAibW9kZSIg IjxWU0Y6TU9ERT4iKQ0KLSAgIChzZXQgKGF0dHIgImZybV9tb2RlIikNCi0g KHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X2ZybV9tb2RlIChvcGVy YW5kc1s4XSkiKSldKQ0KLQ0KLTs7IEZsb2F0IE9yZGVyZWQgUmVkdWN0aW9u IFN1bSBmb3IgREYNCi0oZGVmaW5lX2luc24gIkBwcmVkX3JlZHVjX3BsdXM8 b3JkZXI+PFZERjptb2RlPjxWREZfTE1VTDE6bW9kZT4iDQotICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWREZfTE1VTDEgICAgICAgICAgICAwICJyZWdpc3Rl cl9vcGVyYW5kIiAgICAgICI9dnIsdnIiKQ0KLSAodW5zcGVjOlZERl9MTVVM MQ0KLSAgIFsodW5zcGVjOlZERl9MTVVMMQ0KLSAgICAgWyh1bnNwZWM6PFZE RjpWTT4NCi0gICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWREY6Vk0+ICAgICAg MSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAg ICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgICA1ICJ2ZWN0b3Jf bGVuZ3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQotICAgICAgICAobWF0 Y2hfb3BlcmFuZCAgICAgICAgICAgICAgIDYgImNvbnN0X2ludF9vcGVyYW5k IiAgICAgIiAgICBpLCAgICBpIikNCi0gICAgICAgIChtYXRjaF9vcGVyYW5k ICAgICAgICAgICAgICAgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAg IGksICAgIGkiKQ0KLSAgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAg ICAgICA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIp DQotICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCi0gICAgICAgIChyZWc6 U0kgVlRZUEVfUkVHTlVNKQ0KLSAgICAgICAgKHJlZzpTSSBGUk1fUkVHTlVN KV0gVU5TUEVDX1ZQUkVESUNBVEUpDQotICAgICAgKHBsdXM6VkRGDQotICAg ICAgICAodmVjX2R1cGxpY2F0ZTpWREYNCi0gKHZlY19zZWxlY3Q6PFZFTD4N Ci0gICAgKG1hdGNoX29wZXJhbmQ6VkRGX0xNVUwxIDQgInJlZ2lzdGVyX29w ZXJhbmQiICAgICAgIiAgIHZyLCAgIHZyIikNCi0gICAgKHBhcmFsbGVsIFso Y29uc3RfaW50IDApXSkpKQ0KLSAgICAgICAgKG1hdGNoX29wZXJhbmQ6VkRG ICAgICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwg ICB2ciIpKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kOlZERl9MTVVMMSAgICAg ICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2dSwgICAgMCIpXSBV TlNQRUNfUkVEVUMpXSBPUkRFUikpXQ0KLSAgIlRBUkdFVF9WRUNUT1IiDQot ICAidmZyZWQ8b3JkZXI+c3VtLnZzXHQlMCwlMywlNCVwMSINCi0gIFsoc2V0 X2F0dHIgInR5cGUiICJ2ZnJlZDxvcmRlcj4iKQ0KLSAgIChzZXRfYXR0ciAi bW9kZSIgIjxWREY6TU9ERT4iKQ0KLSAgIChzZXQgKGF0dHIgImZybV9tb2Rl IikNCi0gKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X2ZybV9tb2Rl IChvcGVyYW5kc1s4XSkiKSldKQ0KLQ0KLTs7IEZsb2F0IFdpZGVuIFJlZHVj dGlvbiBmb3IgSEYsIGFrYSBTRiA9IEhGIG9wIFNGDQotKGRlZmluZV9pbnNu ICJAcHJlZF93aWRlbl9yZWR1Y19wbHVzPG9yZGVyPjxWSEY6bW9kZT48VlNG X0xNVUwxOm1vZGU+Ig0KLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlNGX0xN VUwxICAgICAgIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj0mdnIsICZ2 ciIpDQotICh1bnNwZWM6VlNGX0xNVUwxDQotICAgWyh1bnNwZWM6VlNGX0xN VUwxDQotICAgICBbKHVuc3BlYzo8VkhGOlZNPg0KLSAgICAgICBbKG1hdGNo X29wZXJhbmQ6PFZIRjpWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAi dm1XYzEsdm1XYzEiKQ0KLSAgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAg ICAgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiICAgckssICAgcksiKQ0K LSAgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAgICAgNiAiY29uc3RfaW50 X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAgICAgKG1hdGNo X29wZXJhbmQgICAgICAgICAgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAi ICAgIGksICAgIGkiKQ0KLSAgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAg ICAgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0K LSAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQotICAgICAgICAocmVnOlNJ IFZUWVBFX1JFR05VTSkNCi0gICAgICAgIChyZWc6U0kgRlJNX1JFR05VTSld IFVOU1BFQ19WUFJFRElDQVRFKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kOlZI RiAgICAgICAgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAg dnIiKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kOlZTRl9MTVVMMSAgNCAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KLSAgICAgICht YXRjaF9vcGVyYW5kOlZTRl9MTVVMMSAgMiAidmVjdG9yX21lcmdlX29wZXJh bmQiICAiICAgdnUsICAgIDAiKV0gVU5TUEVDX1dSRURVQ19TVU0pXSBPUkRF UikpXQ0KLSAgIlRBUkdFVF9WRUNUT1IiDQotICAidmZ3cmVkPG9yZGVyPnN1 bS52c1x0JTAsJTMsJTQlcDEiDQotICBbKHNldF9hdHRyICJ0eXBlIiAidmZ3 cmVkPG9yZGVyPiIpDQotICAgKHNldF9hdHRyICJtb2RlIiAiPFZIRjpNT0RF PiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikNCiAgICAoc2V0 IChhdHRyICJmcm1fbW9kZSIpDQooc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9y OjpnZXRfZnJtX21vZGUgKG9wZXJhbmRzWzhdKSIpKV0pDQotOzsgRmxvYXQg V2lkZW4gUmVkdWN0aW9uIGZvciBTRiwgYWthIERGID0gU0YgKiBERg0KLShk ZWZpbmVfaW5zbiAiQHByZWRfd2lkZW5fcmVkdWNfcGx1czxvcmRlcj48VlNG Om1vZGU+PFZERl9MTVVMMTptb2RlPiINCi0gIFsoc2V0IChtYXRjaF9vcGVy YW5kOlZERl9MTVVMMSAgICAgICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAiPSZ2ciwgJnZyIikNCi0gKHVuc3BlYzpWREZfTE1VTDENCi0gICBbKHVu c3BlYzpWREZfTE1VTDENCi0gICAgIFsodW5zcGVjOjxWU0Y6Vk0+DQotICAg ICAgIFsobWF0Y2hfb3BlcmFuZDo8VlNGOlZNPiAgMSAidmVjdG9yX21hc2tf b3BlcmFuZCIgICAidm1XYzEsdm1XYzEiKQ0KLSAgICAgICAgKG1hdGNoX29w ZXJhbmQgICAgICAgICAgIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiAg IHJLLCAgIHJLIikNCi0gICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAg ICA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQot ICAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgNyAiY29uc3RfaW50 X29wZXJhbmQiICAgICAiICAgIGksICAgIGkiKQ0KLSAgICAgICAgKG1hdGNo X29wZXJhbmQgICAgICAgICAgIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAg IiAgICBpLCAgICBpIikNCis7OyBGbG9hdCBXaWRlbiBSZWR1Y3Rpb24gU3Vt ICh2ZndyZWRbb3Vdc3VtLnZzKQ0KKyhkZWZpbmVfaW5zbiAiQHByZWRfd2lk ZW5fcmVkdWNfcGx1czxvcmRlcj48bW9kZT4iDQorICBbKHNldCAobWF0Y2hf b3BlcmFuZDo8Vl9FWFRfTE1VTDE+ICAgICAgIDAgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgIj0mdnIsICZ2ciIpDQorICh1bnNwZWM6PFZfRVhUX0xNVUwx PiANCisgICBbKHVuc3BlYzo8Vl9FWFRfTE1VTDE+IA0KKyAgICAgWyh1bnNw ZWM6PFZNPg0KKyAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAgICAgICAg IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2MxIikNCisg ICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgICA1ICJ2ZWN0b3Jf bGVuZ3RoX29wZXJhbmQiICIgICBySywgICBySyIpDQorICAgICAgICAobWF0 Y2hfb3BlcmFuZCAgICAgICAgICAgICAgNiAiY29uc3RfaW50X29wZXJhbmQi ICAgICAiICAgIGksICAgIGkiKQ0KKyAgICAgICAgKG1hdGNoX29wZXJhbmQg ICAgICAgICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBp LCAgICBpIikNCisgICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAg ICA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQog ICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQogICAgICAgKHJlZzpTSSBWVFlQ RV9SRUdOVU0pDQogICAgICAgKHJlZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVD X1ZQUkVESUNBVEUpDQotICAgICAgKG1hdGNoX29wZXJhbmQ6VlNGICAgICAg ICAgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0K LSAgICAgIChtYXRjaF9vcGVyYW5kOlZERl9MTVVMMSAgIDQgInJlZ2lzdGVy X29wZXJhbmQiICAgICAgIiAgIHZyLCAgIHZyIikNCi0gICAgICAobWF0Y2hf b3BlcmFuZDpWREZfTE1VTDEgICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIg ICIgICB2dSwgICAgMCIpXSBVTlNQRUNfV1JFRFVDX1NVTSldIE9SREVSKSld DQorICAgICAgKG1hdGNoX29wZXJhbmQ6VkZfSFMgICAgICAgICAgMyAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KKyAgICAgICht YXRjaF9vcGVyYW5kOjxWX0VYVF9MTVVMMT4gIDQgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgIiAgIHZyLCAgIHZyIikNCisgICAgICAobWF0Y2hfb3BlcmFu ZDo8Vl9FWFRfTE1VTDE+ICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIg ICB2dSwgICAgMCIpXSBVTlNQRUNfV1JFRFVDX1NVTSldIE9SREVSKSldDQog ICAiVEFSR0VUX1ZFQ1RPUiINCiAgICJ2ZndyZWQ8b3JkZXI+c3VtLnZzXHQl MCwlMywlNCVwMSINCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZndyZWQ8b3Jk ZXI+IikNCi0gICAoc2V0X2F0dHIgIm1vZGUiICI8VlNGOk1PREU+IikNCisg ICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQ0KICAgIChzZXQgKGF0dHIg ImZybV9tb2RlIikNCihzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9m cm1fbW9kZSAob3BlcmFuZHNbOF0pIikpXSkNCi0tIA0KMi4zNi4zDQogDQo= ------=_001_NextPart700067607216_=------