Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rubes-006Pf7-4u for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Apr 2024 17:22:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ruber-005ij4-51 for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Apr 2024 17:22:49 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rubeq-005iiw-9o for pgsql-hackers@lists.postgresql.org; Wed, 10 Apr 2024 17:22:48 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rubej-002DN6-FS for pgsql-hackers@lists.postgresql.org; Wed, 10 Apr 2024 17:22:46 +0000 Received: from [172.30.2.66] (unknown [172.30.2.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: d.koval@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id B1F9EE20E6E; Wed, 10 Apr 2024 20:22:37 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1712769757; bh=PZ+hOg3kFLOwtAAH+ERc7NGHYbrpEXrkke28LnDDGaU=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=x0GfbZqlgjnPbs3Hq8fSwOt0brrgCizXZYBVjVX6OWxK/ZwWtTy8x7oQNslJO9cot IUl/HFjPijOzafraTM4FF26+5yj/RVFGRwOW+1Fn0x4GNwkstFpWnA+nA++bBf3Npf eJsCkj1McfIx3FetMQ4bqTcYoObvU22bxgBx09sAuGIvXh7pmp07aeD2hYdtWzM9+N ciT8EsOMULThQPQm2Nxb0VDcXRjMoUgNN1lrq3PdnQJvMB4JIMUbV1bk4toEP60hE+ TymzTY6H1uUcadqdUDH+FhqYo8DU/9WA32va2x3vZsMDSjZguWC+yiqnTMtv4nPqBH rzNrc/SiWmR4g== Content-Type: multipart/mixed; boundary="------------ZOWiI3TYwDCsFuKvTjMn7z58" Message-ID: <86bfd241-a58c-479a-9a72-2c67a02becf8@postgrespro.ru> Date: Wed, 10 Apr 2024 20:22:35 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Alexander Lakhin , Alexander Korotkov Cc: PostgreSQL Hackers , Richard Guo References: <171085858750.2046434.12246066729700037354.pgcf@coridan.postgresql.org> <909e16b4-9eda-435c-b033-8294ae4adc05@postgrespro.ru> <3a4b9c1c-3edf-4e29-9629-b4113aefb0f3@postgrespro.ru> <28ed1ee0-749d-9838-955e-abff42fc44be@gmail.com> Content-Language: en-US From: Dmitry Koval In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------ZOWiI3TYwDCsFuKvTjMn7z58 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi! Alexander Korotkov, thanks for the commit of previous fix. Alexander Lakhin, thanks for the problem you found. There are two corrections attached to the letter: 1) v1-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch - fix for the problem [1]. 2) v1-0002-Fixes-for-english-text.patch - fixes for English text (comments, error messages etc.). Links: [1] https://www.postgresql.org/message-id/dbc8b96c-3cf0-d1ee-860d-0e491da20485%40gmail.com -- With best regards, Dmitry Koval Postgres Professional: http://postgrespro.com --------------ZOWiI3TYwDCsFuKvTjMn7z58 Content-Type: text/plain; charset=UTF-8; name="v1-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch" Content-Disposition: attachment; filename*0="v1-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAzYzQ0M2E1N2MzMzRjNzRlOTIxOGZkNGUyZjFjZWQ0NWU2ZDQxNDFkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTg6NTQ6MDUgKzAzMDAKU3ViamVjdDog W1BBVENIIHYxIDEvMl0gRml4IGZvciBTUExJVC9NRVJHRSBwYXJ0aXRpb25zIG9mIHRlbXBv cmFyeSB0YWJsZQoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAg ICAgICAgICAgfCAxMSArKysrLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNt ZC5jICAgICAgICAgICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0 aXRpb25fbWVyZ2Uub3V0IHwgMzIgKysrKysrKysrKysrKysrKystLQogc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IHwgMjkgKysrKysrKysrKysrKysr KysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwgICAgICB8IDI0 ICsrKysrKysrKysrKystCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQu c3FsICAgICAgfCAyMyArKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNl cnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMK aW5kZXggOGE5OGEwYWY0OC4uM2RhOWY2Mzg5ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVj bWRzLmMKQEAgLTIxMTQ1LDE3ICsyMTE0NSwxOSBAQCBtb3ZlU3BsaXRUYWJsZVJvd3MoUmVs YXRpb24gcmVsLCBSZWxhdGlvbiBzcGxpdFJlbCwgTGlzdCAqcGFydGxpc3QsIExpc3QgKm5l d1BhcgogICogY3JlYXRlUGFydGl0aW9uVGFibGU6IGNyZWF0ZSB0YWJsZSBmb3IgYSBuZXcg cGFydGl0aW9uIHdpdGggZ2l2ZW4gbmFtZQogICogKG5ld1BhcnROYW1lKSBsaWtlIHRhYmxl IChtb2RlbFJlbE5hbWUpCiAgKgotICogRW11bGF0ZXMgY29tbWFuZDogQ1JFQVRFIFRBQkxF IDxuZXdQYXJ0TmFtZT4gKExJS0UgPG1vZGVsUmVsTmFtZT4KKyAqIEVtdWxhdGVzIGNvbW1h bmQ6IENSRUFURSBbVEVNUF0gVEFCTEUgPG5ld1BhcnROYW1lPiAoTElLRSA8bW9kZWxSZWxO YW1lPgogICogSU5DTFVESU5HIEFMTCBFWENMVURJTkcgSU5ERVhFUyBFWENMVURJTkcgSURF TlRJVFkpCiAgKi8KIHN0YXRpYyB2b2lkCi1jcmVhdGVQYXJ0aXRpb25UYWJsZShSYW5nZVZh ciAqbmV3UGFydE5hbWUsIFJhbmdlVmFyICptb2RlbFJlbE5hbWUsCitjcmVhdGVQYXJ0aXRp b25UYWJsZShSZWxhdGlvbiByZWwsIFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwgUmFuZ2VWYXIg Km1vZGVsUmVsTmFtZSwKIAkJCQkJIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4 dCkKIHsKIAlDcmVhdGVTdG10ICpjcmVhdGVTdG10OwogCVRhYmxlTGlrZUNsYXVzZSAqdGxj OwogCVBsYW5uZWRTdG10ICp3cmFwcGVyOwogCisJbmV3UGFydE5hbWUtPnJlbHBlcnNpc3Rl bmNlID0gcmVsLT5yZF9yZWwtPnJlbHBlcnNpc3RlbmNlOworCiAJY3JlYXRlU3RtdCA9IG1h a2VOb2RlKENyZWF0ZVN0bXQpOwogCWNyZWF0ZVN0bXQtPnJlbGF0aW9uID0gbmV3UGFydE5h bWU7CiAJY3JlYXRlU3RtdC0+dGFibGVFbHRzID0gTklMOwpAQCAtMjEyOTEsNyArMjEyOTMs NyBAQCBBVEV4ZWNTcGxpdFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJ bmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJU2luZ2xlUGFydGl0aW9uU3BlYyAqc3BzID0g KFNpbmdsZVBhcnRpdGlvblNwZWMgKikgbGZpcnN0KGxpc3RwdHIpOwogCQlSZWxhdGlvbglu ZXdQYXJ0UmVsOwogCi0JCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHNwcy0+bmFtZSwgcGFyZW50 TmFtZSwgY29udGV4dCk7CisJCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHJlbCwgc3BzLT5uYW1l LCBwYXJlbnROYW1lLCBjb250ZXh0KTsKIAogCQkvKiBPcGVuIHRoZSBuZXcgcGFydGl0aW9u IGFuZCBhY3F1aXJlIGV4Y2x1c2l2ZSBsb2NrIG9uIGl0LiAqLwogCQluZXdQYXJ0UmVsID0g dGFibGVfb3BlbnJ2KHNwcy0+bmFtZSwgQWNjZXNzRXhjbHVzaXZlTG9jayk7CkBAIC0yMTQ5 MSw3ICsyMTQ5Myw4IEBAIEFURXhlY01lcmdlUGFydGl0aW9ucyhMaXN0ICoqd3F1ZXVlLCBB bHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJbWVyZ2VQYXJ0TmFtZSA9 IG1ha2VSYW5nZVZhcihnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2Uo cmVsKSksCiAJCQkJCQkJCQkgdG1wUmVsTmFtZSwgLTEpOwogCX0KLQljcmVhdGVQYXJ0aXRp b25UYWJsZShtZXJnZVBhcnROYW1lLAorCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHJlbCwKKwkJ CQkJCSBtZXJnZVBhcnROYW1lLAogCQkJCQkJIG1ha2VSYW5nZVZhcihnZXRfbmFtZXNwYWNl X25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSksCiAJCQkJCQkJCQkgIFJlbGF0aW9u R2V0UmVsYXRpb25OYW1lKHJlbCksIC0xKSwKIAkJCQkJCSBjb250ZXh0KTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfdXRpbGNtZC5jCmluZGV4IGNlYmEwNjk5MDUuLmVmMWEyYTk3YzAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtMzQzMCw3ICszNDMwLDcgQEAg Y2hlY2tQYXJ0aXRpb24oUmVsYXRpb24gcmVsLCBPaWQgcGFydFJlbE9pZCkKIAlpZiAocGFy dFJlbC0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04pCiAJCWVyZXBvcnQo RVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCi0JCQkJ IGVycm1zZygiXCIlc1wiIGlzIG5vdCBhIHRhYmxlIiwKKwkJCQkgZXJybXNnKCJcIiVzXCIg aXMgbm90IGEgb3JkaW5hcnkgdGFibGUiLAogCQkJCQkJUmVsYXRpb25HZXRSZWxhdGlvbk5h bWUocGFydFJlbCkpKSk7CiAKIAlpZiAoIXBhcnRSZWwtPnJkX3JlbC0+cmVsaXNwYXJ0aXRp b24pCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9t ZXJnZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5v dXQKaW5kZXggNjBlYWNmNmJmMy4uYzY5YTcxN2FhYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dApAQCAtMjUsOSArMjUsOSBAQCBB TFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIy LCBzYWxlc19tYXIyMDIyLCBzYWxlc19mZQogRVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1l ICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKIExJTkUgMTogLi4uZSBNRVJHRSBQQVJU SVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIyLCBzYWxlc19mZWIyLi4uCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgotLS0gRVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGEgdGFibGUKKy0t IEVSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhIG9yZGluYXJ5IHRhYmxlCiBBTFRF UiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBz YWxlc19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAy MjsKLUVSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhIHRhYmxlCitFUlJPUjogICJz YWxlc19hcHIyMDIyIiBpcyBub3QgYSBvcmRpbmFyeSB0YWJsZQogLS0gRVJST1I6ICBpbnZh bGlkIHBhcnRpdGlvbnMgb3JkZXIsIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY2FuIG5v dCBiZSBtZXJnZWQKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVzX2phbjIwMjIg YW5kIHNhbGVzX21hcjIwMjIpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJU SVRJT05TIChzYWxlc19qYW4yMDIyLCBzYWxlc19tYXIyMDIyKSBJTlRPIHNhbGVzX2phbl9t YXIyMDIyOwpAQCAtNzQ2LDQgKzc0NiwzMiBAQCBEUk9QIFRBQkxFIHQzOwogRFJPUCBUQUJM RSB0MjsKIERST1AgVEFCTEUgdDE7CiAtLQorLS0gVHJ5IHRvIE1FUkdFIHBhcnRpdGlvbnMg b2YgdGVtcG9yYXJ5IHRhYmxlLgorLS0KK0NSRUFURSBURU1QIFRBQkxFIHQgKGkgaW50KSBQ QVJUSVRJT04gQlkgUkFOR0UgKGkpOworQ1JFQVRFIFRFTVAgVEFCTEUgdHBfMF8xIFBBUlRJ VElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpOworQ1JFQVRFIFRFTVAgVEFC TEUgdHBfMV8yIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOwor U0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dldF9l eHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJPTSBw Z19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBXSEVS RSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFzcwor ICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9p ZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRhbG9n LnRleHQ7CisgIG9pZCAgIHwgICAgICAgIHBnX2dldF9leHByICAgICAgICAgfCByZWxwZXJz aXN0ZW5jZSAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLQorIHRwXzBfMSB8IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpIHwgdAor IHRwXzFfMiB8IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpIHwgdAorKDIgcm93cykKKwor QUxURVIgVEFCTEUgdCBNRVJHRSBQQVJUSVRJT05TICh0cF8wXzEsIHRwXzFfMikgSU5UTyB0 cF8wXzI7CistLSBQYXJ0aXRpb24gc2hvdWxkIGJlIHRlbXBvcmFyeS4KK1NFTEVDVCBjLm9p ZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBh cnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5w Z19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBp LmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkg cGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFV TFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0OworICBv aWQgICB8ICAgICAgICBwZ19nZXRfZXhwciAgICAgICAgIHwgcmVscGVyc2lzdGVuY2UgCist LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0K KyB0cF8wXzIgfCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgyKSB8IHQKKygxIHJvdykKKwor RFJPUCBUQUJMRSB0OworLS0KIERST1AgU0NIRU1BIHBhcnRpdGlvbnNfbWVyZ2Vfc2NoZW1h OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3Bs aXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0 CmluZGV4IDI2YTBkMDk5NjkuLjNkMjIwODNlNDEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5vdXQKQEAgLTE0MjcsNCArMTQyNywzMyBA QCBFUlJPUjogIHJlbGF0aW9uICJ0MXBhIiBpcyBub3QgYSBwYXJ0aXRpb24gb2YgcmVsYXRp b24gInQyIgogRFJPUCBUQUJMRSB0MjsKIERST1AgVEFCTEUgdDE7CiAtLQorLS0gVHJ5IHRv IFNQTElUIHBhcnRpdGlvbiBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQorQ1JFQVRFIFRFTVAg VEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEVNUCBU QUJMRSB0cF8wXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMik7 CitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0 X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9N IHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdI RVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNz CisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMu b2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFs b2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJlbHBl cnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tCisgdHBfMF8yIHwgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMikgfCB0 CisoMSByb3cpCisKK0FMVEVSIFRBQkxFIHQgU1BMSVQgUEFSVElUSU9OIHRwXzBfMiBJTlRP CisgIChQQVJUSVRJT04gdHBfMF8xIEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpLAorICAg UEFSVElUSU9OIHRwXzFfMiBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKSk7CistLSBQYXJ0 aXRpb25zIHNob3VsZCBiZSB0ZW1wb3JhcnkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cu cmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lk KSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdf Y2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQg aS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdf Z2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBn X2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAg cGdfZ2V0X2V4cHIgICAgICAgICB8IHJlbHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdHBfMF8xIHwgRk9S IFZBTFVFUyBGUk9NICgwKSBUTyAoMSkgfCB0CisgdHBfMV8yIHwgRk9SIFZBTFVFUyBGUk9N ICgxKSBUTyAoMikgfCB0CisoMiByb3dzKQorCitEUk9QIFRBQkxFIHQ7CistLQogRFJPUCBT Q0hFTUEgcGFydGl0aW9uX3NwbGl0X3NjaGVtYTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9w YXJ0aXRpb25fbWVyZ2Uuc3FsCmluZGV4IDlhZmVkNzAzNjUuLmNjZTVmZmEyOWYgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbApAQCAtMjgsNyArMjgs NyBAQCBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19yYW5n ZSBERUZBVUxUOwogCiAtLSBFUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2Zl YjIwMjIiIGFscmVhZHkgdXNlZAogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFS VElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMjAyMikg SU5UTyBzYWxlc19mZWJfbWFyX2FwcjIwMjI7Ci0tLSBFUlJPUjogICJzYWxlc19hcHIyMDIy IiBpcyBub3QgYSB0YWJsZQorLS0gRVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGEg b3JkaW5hcnkgdGFibGUKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElP TlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVzX2FwcjIwMjIpIElOVE8g c2FsZXNfZmViX21hcl9hcHIyMDIyOwogLS0gRVJST1I6ICBpbnZhbGlkIHBhcnRpdGlvbnMg b3JkZXIsIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY2FuIG5vdCBiZSBtZXJnZWQKIC0t IChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVzX2phbjIwMjIgYW5kIHNhbGVzX21hcjIw MjIpCkBAIC00NDQsNSArNDQ0LDI3IEBAIERST1AgVEFCTEUgdDM7CiBEUk9QIFRBQkxFIHQy OwogRFJPUCBUQUJMRSB0MTsKIAorLS0KKy0tIFRyeSB0byBNRVJHRSBwYXJ0aXRpb25zIG9m IHRlbXBvcmFyeSB0YWJsZS4KKy0tCitDUkVBVEUgVEVNUCBUQUJMRSB0IChpIGludCkgUEFS VElUSU9OIEJZIFJBTkdFIChpKTsKK0NSRUFURSBURU1QIFRBQkxFIHRwXzBfMSBQQVJUSVRJ T04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxKTsKK0NSRUFURSBURU1QIFRBQkxF IHRwXzFfMiBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKTsKKwor U0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dldF9l eHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJPTSBw Z19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBXSEVS RSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFzcwor ICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9p ZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRhbG9n LnRleHQ7CisKK0FMVEVSIFRBQkxFIHQgTUVSR0UgUEFSVElUSU9OUyAodHBfMF8xLCB0cF8x XzIpIElOVE8gdHBfMF8yOworCistLSBQYXJ0aXRpb24gc2hvdWxkIGJlIHRlbXBvcmFyeS4K K1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRf ZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00g cGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hF UkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MK KyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5v aWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxv Zy50ZXh0OworCitEUk9QIFRBQkxFIHQ7CisKIC0tCiBEUk9QIFNDSEVNQSBwYXJ0aXRpb25z X21lcmdlX3NjaGVtYTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRp dGlvbl9zcGxpdC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQu c3FsCmluZGV4IDYyNWIwMWRkZDEuLjVkYzJmYzM5Y2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbApAQCAtODQ0LDUgKzg0NCwyOCBAQCBBTFRFUiBU QUJMRSB0MiBTUExJVCBQQVJUSVRJT04gdDFwYSBJTlRPCiBEUk9QIFRBQkxFIHQyOwogRFJP UCBUQUJMRSB0MTsKIAorLS0KKy0tIFRyeSB0byBTUExJVCBwYXJ0aXRpb24gb2YgdGVtcG9y YXJ5IHRhYmxlLgorLS0KK0NSRUFURSBURU1QIFRBQkxFIHQgKGkgaW50KSBQQVJUSVRJT04g QlkgUkFOR0UgKGkpOworQ1JFQVRFIFRFTVAgVEFCTEUgdHBfMF8yIFBBUlRJVElPTiBPRiB0 IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDIpOworCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFs b2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMu b2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywg cGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBB TkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cu cGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6 OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKworQUxURVIgVEFCTEUg dCBTUExJVCBQQVJUSVRJT04gdHBfMF8yIElOVE8KKyAgKFBBUlRJVElPTiB0cF8wXzEgRk9S IFZBTFVFUyBGUk9NICgwKSBUTyAoMSksCisgICBQQVJUSVRJT04gdHBfMV8yIEZPUiBWQUxV RVMgRlJPTSAoMSkgVE8gKDIpKTsKKworLS0gUGFydGl0aW9ucyBzaG91bGQgYmUgdGVtcG9y YXJ5LgorU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBn X2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAg RlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQor ICBXSEVSRSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdj bGFzcworICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5k LCBjLm9pZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19j YXRhbG9nLnRleHQ7CisKK0RST1AgVEFCTEUgdDsKKwogLS0KIERST1AgU0NIRU1BIHBhcnRp dGlvbl9zcGxpdF9zY2hlbWE7Ci0tIAoyLjQwLjEud2luZG93cy4xCgo= --------------ZOWiI3TYwDCsFuKvTjMn7z58 Content-Type: text/plain; charset=UTF-8; name="v1-0002-Fixes-for-english-text.patch" Content-Disposition: attachment; filename="v1-0002-Fixes-for-english-text.patch" Content-Transfer-Encoding: base64 RnJvbSBlY2JjYmY2MjJhZTU0YmZlZWU3YjkyNzU5MDU4YTExNzE2OWRjYTViIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTk6NTU6MTggKzAzMDAKU3ViamVjdDog W1BBVENIIHYxIDIvMl0gRml4ZXMgZm9yIGVuZ2xpc2ggdGV4dAoKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl90YWJsZS5zZ21sICAgICAgICAgICAgIHwgIDYgKy0tCiBzcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgICAgfCAxOCArKystLS0tCiBz cmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCAgNiArLS0K IHNyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMgICAgICAgICB8IDI4ICsr KysrLS0tLS0tCiBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvcGFydGl0aW9uLW1lcmdlLnNw ZWMgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uu b3V0IHwgMTQgKysrLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9z cGxpdC5vdXQgfCA1MCArKysrKysrKystLS0tLS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9wYXJ0aXRpb25fbWVyZ2Uuc3FsICAgICAgfCAxMiArKy0tLQogc3JjL3Rlc3QvcmVncmVz cy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbCAgICAgIHwgNDIgKysrKysrKystLS0tLS0tLQog MTAgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sIGIvZG9jL3NyYy9zZ21sL2RkbC5z Z21sCmluZGV4IDAwZjQ0ZjU2ZmEuLjAyNmJmZmY3MGYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9kZGwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKQEAgLTQzODcsNyAr NDM4Nyw3IEBAIEFMVEVSIElOREVYIG1lYXN1cmVtZW50X2NpdHlfaWRfbG9nZGF0ZV9rZXkK ICAgICAgYSBzaW5nbGUgcGFydGl0aW9uIHVzaW5nIHRoZQogICAgICA8bGluayBsaW5rZW5k PSJzcWwtYWx0ZXJ0YWJsZS1tZXJnZS1wYXJ0aXRpb25zIj48Y29tbWFuZD5BTFRFUiBUQUJM RSAuLi4gTUVSR0UgUEFSVElUSU9OUzwvY29tbWFuZD48L2xpbms+LgogICAgICBUaGlzIGZl YXR1cmUgc2ltcGxpZmllcyB0aGUgbWFuYWdlbWVudCBvZiBwYXJ0aXRpb25lZCB0YWJsZXMg YnkgYWxsb3dpbmcKLSAgICAgYWRtaW5pc3RyYXRvcnMgdG8gY29tYmluZSBwYXJ0aXRpb25z IHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgYXMKKyAgICAgdXNlcnMgdG8gY29tYmluZSBw YXJ0aXRpb25zIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgYXMKICAgICAgc2VwYXJhdGUg ZW50aXRpZXMuICBJdCdzIGltcG9ydGFudCB0byBub3RlIHRoYXQgdGhpcyBvcGVyYXRpb24g aXMgbm90CiAgICAgIHN1cHBvcnRlZCBmb3IgaGFzaC1wYXJ0aXRpb25lZCB0YWJsZXMgYW5k IGFjcXVpcmVzIGFuCiAgICAgIDxsaXRlcmFsPkFDQ0VTUyBFWENMVVNJVkU8L2xpdGVyYWw+ IGxvY2ssIHdoaWNoIGNvdWxkIGltcGFjdCBoaWdoLWxvYWQKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf dGFibGUuc2dtbAppbmRleCA4ZjViZjE4NWRkLi5mZTM2ZmY4MmU1IDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Jl Zi9hbHRlcl90YWJsZS5zZ21sCkBAIC0xMTc1LDcgKzExNzUsNyBAQCBXSVRIICggTU9EVUxV UyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBs YWNlYWJsZT4sIFJFTQogICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICA8bGlzdGl0ZW0+ CiAgICAgICAgIDxwYXJhPgotICAgICAgICAgRm9yIHJhbmdlLXBhcnRpdGlvbmVkIHRhYmxl cyBpcyBuZWNlc3NhcnkgdGhhdCB0aGUgcmFuZ2VzCisgICAgICAgICBGb3IgcmFuZ2UtcGFy dGl0aW9uZWQgdGFibGVzIGl0IGlzIG5lY2Vzc2FyeSB0aGF0IHRoZSByYW5nZXMKICAgICAg ICAgIG9mIHRoZSBwYXJ0aXRpb25zIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w YXJ0aXRpb25fbmFtZTE8L3JlcGxhY2VhYmxlPiwKICAgICAgICAgIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5wYXJ0aXRpb25fbmFtZTI8L3JlcGxhY2VhYmxlPiBbLCAuLi5d IGNhbgogICAgICAgICAgYmUgbWVyZ2VkIGludG8gb25lIHJhbmdlIHdpdGhvdXQgc3BhY2Vz IGFuZCBvdmVybGFwcyAob3RoZXJ3aXNlIGFuIGVycm9yCkBAIC0xMTg1LDEwICsxMTg1LDEw IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1l cmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgICAgPC9saXN0aXRlbT4KICAg ICAgICA8bGlzdGl0ZW0+CiAgICAgICAgIDxwYXJhPgotICAgICAgICAgRm9yIGxpc3QtcGFy dGl0aW9uZWQgdGFibGVzIHRoZSB2YWx1ZXMgbGlzdHMgb2YgYWxsIHBhcnRpdGlvbnMKKyAg ICAgICAgIEZvciBsaXN0LXBhcnRpdGlvbmVkIHRhYmxlcyB0aGUgdmFsdWUgbGlzdHMgb2Yg YWxsIHBhcnRpdGlvbnMKICAgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5wYXJ0aXRpb25fbmFtZTE8L3JlcGxhY2VhYmxlPiwKICAgICAgICAgIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wYXJ0aXRpb25fbmFtZTI8L3JlcGxhY2VhYmxlPiBbLCAu Li5dIGFyZQotICAgICAgICAgY29tYmluZWQgYW5kIGZvcm0gYSBsaXN0IG9mIHZhbHVlcyBv ZiBwYXJ0aXRpb24KKyAgICAgICAgIGNvbWJpbmVkIGFuZCBmb3JtIHRoZSBsaXN0IG9mIHZh bHVlcyBvZiBwYXJ0aXRpb24KICAgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wYXJ0aXRpb25fbmFtZTwvcmVwbGFjZWFibGU+LgogICAgICAgICA8L3BhcmE+CiAg ICAgICAgPC9saXN0aXRlbT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Rh YmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXggM2Rh OWY2Mzg5ZC4uYzQ0ZDljMWRiNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAg LTIwODg4LDcgKzIwODg4LDcgQEAgR2V0QXR0cmlidXRlU3RvcmFnZShPaWQgYXR0dHlwaWQs IGNvbnN0IGNoYXIgKnN0b3JhZ2Vtb2RlKQogfQogCiAvKgotICogU3RydWN0IHdpdGggY29u dGV4dCBvZiBuZXcgcGFydGl0aW9uIGZvciBpbnNlcnQgcm93cyBmcm9tIHNwbGl0ZWQgcGFy dGl0aW9uCisgKiBTdHJ1Y3Qgd2l0aCBjb250ZXh0IG9mIG5ldyBwYXJ0aXRpb24gZm9yIGlu c2VydGluZyByb3dzIGZyb20gc3BsaXQgcGFydGl0aW9uCiAgKi8KIHR5cGVkZWYgc3RydWN0 IFNwbGl0UGFydGl0aW9uQ29udGV4dAogewpAQCAtMjA5NDUsNyArMjA5NDUsNyBAQCBkZWxl dGVTcGxpdFBhcnRpdGlvbkNvbnRleHQoU3BsaXRQYXJ0aXRpb25Db250ZXh0ICpwYywgaW50 IHRpX29wdGlvbnMpCiAgKgogICogTmV3IHBhcnRpdGlvbnMgZGVzY3JpcHRpb246CiAgKiBw YXJ0bGlzdDogbGlzdCBvZiBwb2ludGVycyB0byBTaW5nbGVQYXJ0aXRpb25TcGVjIHN0cnVj dHVyZXMuCi0gKiBuZXdQYXJ0UmVsczogbGlzdCBvZiBSZWxhdGlvbidzLgorICogbmV3UGFy dFJlbHM6IGxpc3Qgb2YgUmVsYXRpb25zLgogICogZGVmYXVsdFBhcnRPaWQ6IG9pZCBvZiBE RUZBVUxUIHBhcnRpdGlvbiwgZm9yIHRhYmxlIHJlbC4KICAqLwogc3RhdGljIHZvaWQKQEAg LTIxMDMwLDcgKzIxMDMwLDcgQEAgbW92ZVNwbGl0VGFibGVSb3dzKFJlbGF0aW9uIHJlbCwg UmVsYXRpb24gc3BsaXRSZWwsIExpc3QgKnBhcnRsaXN0LCBMaXN0ICpuZXdQYXIKIAogCS8q CiAJICogTWFwIGNvbXB1dGluZyBmb3IgbW92aW5nIGF0dHJpYnV0ZXMgb2Ygc3BsaXQgcGFy dGl0aW9uIHRvIG5ldyBwYXJ0aXRpb24KLQkgKiAoZm9yIGZpcnN0IG5ldyBwYXJ0aXRpb24g YnV0IG90aGVyIG5ldyBwYXJ0aXRpb25zIGNhbiB1c2UgdGhlIHNhbWUKKwkgKiAoZm9yIGZp cnN0IG5ldyBwYXJ0aXRpb24sIGJ1dCBvdGhlciBuZXcgcGFydGl0aW9ucyBjYW4gdXNlIHRo ZSBzYW1lCiAJICogbWFwKS4KIAkgKi8KIAlwYyA9IChTcGxpdFBhcnRpdGlvbkNvbnRleHQg KikgbGZpcnN0KGxpc3RfaGVhZChwYXJ0Q29udGV4dHMpKTsKQEAgLTIxMDg1LDcgKzIxMDg1 LDcgQEAgbW92ZVNwbGl0VGFibGVSb3dzKFJlbGF0aW9uIHJlbCwgUmVsYXRpb24gc3BsaXRS ZWwsIExpc3QgKnBhcnRsaXN0LCBMaXN0ICpuZXdQYXIKIAogCQlpZiAodHVwbGVfbWFwKQog CQl7Ci0JCQkvKiBOZWVkIHRvIHVzZSBtYXAgZm9yIGNvcHkgYXR0cmlidXRlcy4gKi8KKwkJ CS8qIE5lZWQgdG8gdXNlIG1hcCB0byBjb3B5IGF0dHJpYnV0ZXMuICovCiAJCQlpbnNlcnRz bG90ID0gZXhlY3V0ZV9hdHRyX21hcF9zbG90KHR1cGxlX21hcC0+YXR0ck1hcCwgc3Jjc2xv dCwgcGMtPmRzdHNsb3QpOwogCQl9CiAJCWVsc2UKQEAgLTIxMjQ1LDcgKzIxMjQ1LDcgQEAg QVRFeGVjU3BsaXRQYXJ0aXRpb24oTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAq dGFiLCBSZWxhdGlvbiByZWwsCiAJCQlSYW5nZVZhckdldEFuZENoZWNrQ3JlYXRpb25OYW1l c3BhY2Uoc3BzLT5uYW1lLCBOb0xvY2ssIE5VTEwpOwogCiAJCS8qCi0JCSAqIFRoaXMgd291 bGQgZmFpbCBsYXRlciBvbiBhbnl3YXksIGlmIHRoZSByZWxhdGlvbiBhbHJlYWR5IGV4aXN0 cy4KKwkJICogVGhpcyB3b3VsZCBmYWlsIGxhdGVyIG9uIGFueXdheSBpZiB0aGUgcmVsYXRp b24gYWxyZWFkeSBleGlzdHMuCiAJCSAqIEJ1dCBieSBjYXRjaGluZyBpdCBoZXJlIHdlIGNh biBlbWl0IGEgbmljZXIgZXJyb3IgbWVzc2FnZS4KIAkJICovCiAJCWV4aXN0aW5nX3JlbGlk ID0gZ2V0X3JlbG5hbWVfcmVsaWQocmVsbmFtZSwgbmFtZXNwYWNlSWQpOwpAQCAtMjEzMTIs NyArMjEzMTIsNyBAQCBBVEV4ZWNTcGxpdFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBBbHRl cmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJU2luZ2xlUGFydGl0aW9uU3Bl YyAqc3BzID0gKFNpbmdsZVBhcnRpdGlvblNwZWMgKikgbGZpcnN0KGxpc3RwdHIpOwogCQlS ZWxhdGlvbgluZXdQYXJ0UmVsID0gKFJlbGF0aW9uKSBsZmlyc3QobGlzdHB0cjIpOwogCi0J CS8qIHdxdWV1ZSA9IE5VTEw6IHZlcmlmaWNhdGlvbiBmb3IgZWFjaCBjbG9uZWQgY29uc3Ry YWludCBpcyBub3QgbmVlZC4gKi8KKwkJLyogd3F1ZXVlID0gTlVMTDogdmVyaWZpY2F0aW9u IGZvciBlYWNoIGNsb25lZCBjb25zdHJhaW50IGlzIG5vdCBuZWVkZWQuICovCiAJCWF0dGFj aFBhcnRpdGlvblRhYmxlKE5VTEwsIHJlbCwgbmV3UGFydFJlbCwgc3BzLT5ib3VuZCk7CiAJ CS8qIEtlZXAgdGhlIGxvY2sgdW50aWwgY29tbWl0LiAqLwogCQl0YWJsZV9jbG9zZShuZXdQ YXJ0UmVsLCBOb0xvY2spOwpAQCAtMjEzODYsNyArMjEzODYsNyBAQCBtb3ZlTWVyZ2VkVGFi bGVzUm93cyhSZWxhdGlvbiByZWwsIExpc3QgKm1lcmdpbmdQYXJ0aXRpb25zTGlzdCwKIAog CQkJaWYgKHR1cGxlX21hcCkKIAkJCXsKLQkJCQkvKiBOZWVkIHRvIHVzZSBtYXAgZm9yIGNv cHkgYXR0cmlidXRlcy4gKi8KKwkJCQkvKiBOZWVkIHRvIHVzZSBtYXAgdG8gY29weSBhdHRy aWJ1dGVzLiAqLwogCQkJCWluc2VydHNsb3QgPSBleGVjdXRlX2F0dHJfbWFwX3Nsb3QodHVw bGVfbWFwLT5hdHRyTWFwLCBzcmNzbG90LCBkc3RzbG90KTsKIAkJCX0KIAkJCWVsc2UKQEAg LTIxNDg4LDcgKzIxNDg4LDcgQEAgQVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExpc3QgKip3cXVl dWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCS8qIENyZWF0ZSB0 YWJsZSBmb3IgbmV3IHBhcnRpdGlvbiwgdXNlIHBhcnRpdGlvbmVkIHRhYmxlIGFzIG1vZGVs LiAqLwogCWlmIChpc1NhbWVOYW1lKQogCXsKLQkJLyogQ3JlYXRlIHBhcnRpdGlvbiB0YWJs ZSB3aXRoIGdlbmVyYXRlZCB0ZW1wYXJhcnkgbmFtZS4gKi8KKwkJLyogQ3JlYXRlIHBhcnRp dGlvbiB0YWJsZSB3aXRoIGdlbmVyYXRlZCB0ZW1wb3JhcnkgbmFtZS4gKi8KIAkJc3ByaW50 Zih0bXBSZWxOYW1lLCAibWVyZ2UtJXUtJVgtdG1wIiwgUmVsYXRpb25HZXRSZWxpZChyZWwp LCBNeVByb2NQaWQpOwogCQltZXJnZVBhcnROYW1lID0gbWFrZVJhbmdlVmFyKGdldF9uYW1l c3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKSwKIAkJCQkJCQkJCSB0bXBS ZWxOYW1lLCAtMSk7CkBAIC0yMTUxMiw3ICsyMTUxMiw3IEBAIEFURXhlY01lcmdlUGFydGl0 aW9ucyhMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJl bCwKIAogCS8qCiAJICogQXR0YWNoIGEgbmV3IHBhcnRpdGlvbiB0byB0aGUgcGFydGl0aW9u ZWQgdGFibGUuIHdxdWV1ZSA9IE5VTEw6Ci0JICogdmVyaWZpY2F0aW9uIGZvciBlYWNoIGNs b25lZCBjb25zdHJhaW50IGlzIG5vdCBuZWVkLgorCSAqIHZlcmlmaWNhdGlvbiBmb3IgZWFj aCBjbG9uZWQgY29uc3RyYWludCBpcyBub3QgbmVlZGVkLgogCSAqLwogCWF0dGFjaFBhcnRp dGlvblRhYmxlKE5VTEwsIHJlbCwgbmV3UGFydFJlbCwgY21kLT5ib3VuZCk7CiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCmluZGV4IGVmMWEyYTk3YzAuLjgyYjZiYTdmYzYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtMzQ5Miw3ICszNDkyLDcg QEAgdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9yU3BsaXQoQ3JlYXRlU3RtdENvbnRleHQgKmN4 dCwgUGFydGl0aW9uQ21kICpwYXJ0Y21kKQogICogdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9y TWVyZ2UKICAqCQlBbmFseXplIHRoZSBBTFRFUiBUQUJMTEUgLi4uIE1FUkdFIFBBUlRJVElP TlMgY29tbWFuZAogICoKLSAqIERvZXMgc2ltcGxlIGNoZWNrcyBmb3IgbWVyZ2VkIHBhcnRp dGlvbnMuIENhbGN1bGF0ZXMgYm91bmQgb2YgcmVzdWx0CisgKiBEb2VzIHNpbXBsZSBjaGVj a3MgZm9yIG1lcmdlZCBwYXJ0aXRpb25zLiBDYWxjdWxhdGVzIGJvdW5kIG9mIHJlc3VsdGlu ZwogICogcGFydGl0aW9uLgogICovCiBzdGF0aWMgdm9pZApAQCAtMzUzNyw3ICszNTM3LDcg QEAgdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9yTWVyZ2UoQ3JlYXRlU3RtdENvbnRleHQgKmN4 dCwgUGFydGl0aW9uQ21kICpwYXJ0Y21kKQogCQkJaWYgKGVxdWFsKG5hbWUsIG5hbWUyKSkK IAkJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVf VEFCTEUpLAotCQkJCQkJIGVycm1zZygicGFydGl0aW9uIHdpdGggbmFtZSBcIiVzXCIgYWxy ZWFkeSB1c2VkIiwgbmFtZS0+cmVsbmFtZSkpLAorCQkJCQkJIGVycm1zZygicGFydGl0aW9u IHdpdGggbmFtZSBcIiVzXCIgaXMgYWxyZWFkeSB1c2VkIiwgbmFtZS0+cmVsbmFtZSkpLAog CQkJCQkJcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLCBuYW1lMi0+bG9jYXRpb24p KTsKIAkJfQogCkBAIC0zNTUxLDcgKzM1NTEsNyBAQCB0cmFuc2Zvcm1QYXJ0aXRpb25DbWRG b3JNZXJnZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBQYXJ0aXRpb25DbWQgKnBhcnRjbWQp CiAJCXBhcnRPaWRzID0gbGFwcGVuZF9vaWQocGFydE9pZHMsIHBhcnRPaWQpOwogCX0KIAot CS8qIEFsbG9jYXRlIGJvdW5kIG9mIHJlc3VsdCBwYXJ0aXRpb24uICovCisJLyogQWxsb2Nh dGUgYm91bmQgb2YgcmVzdWx0aW5nIHBhcnRpdGlvbi4gKi8KIAlBc3NlcnQocGFydGNtZC0+ Ym91bmQgPT0gTlVMTCk7CiAJcGFydGNtZC0+Ym91bmQgPSBtYWtlTm9kZShQYXJ0aXRpb25C b3VuZFNwZWMpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFy dGJvdW5kcy5jIGIvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYwppbmRl eCBjMGM0OWIwYTBiLi4xYzgzOTZlODNjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJ0 aXRpb25pbmcvcGFydGJvdW5kcy5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9w YXJ0Ym91bmRzLmMKQEAgLTMyMTQsNyArMzIxNCw3IEBAIGNoZWNrX25ld19wYXJ0aXRpb25f Ym91bmQoY2hhciAqcmVsbmFtZSwgUmVsYXRpb24gcGFyZW50LAogCQkJCQkJUGFydGl0aW9u UmFuZ2VEYXR1bSAqZGF0dW07CiAKIAkJCQkJCS8qCi0JCQkJCQkgKiBQb2ludCB0byBwcm9i bGVtYXRpYyBrZXkgaW4gdGhlIGxvd2VyIGRhdHVtcyBsaXN0OworCQkJCQkJICogUG9pbnQg dG8gcHJvYmxlbWF0aWMga2V5IGluIHRoZSBsaXN0IG9mIGxvd2VyIGRhdHVtczsKIAkJCQkJ CSAqIGlmIHdlIGhhdmUgZXF1YWxpdHksIHBvaW50IHRvIHRoZSBmaXJzdCBvbmUuCiAJCQkJ CQkgKi8KIAkJCQkJCWRhdHVtID0gY21wdmFsID09IDAgPyBsaW5pdGlhbChzcGVjLT5sb3dl cmRhdHVtcykgOgpAQCAtNDk4NiwxMCArNDk4NiwxMCBAQCBzYXRpc2ZpZXNfaGFzaF9wYXJ0 aXRpb24oUEdfRlVOQ1RJT05fQVJHUykKICAqIFRoaXMgaXMgYSBoZWxwZXIgZnVuY3Rpb24g Zm9yIGNoZWNrX3BhcnRpdGlvbnNfZm9yX3NwbGl0KCkgYW5kCiAgKiBjYWxjdWxhdGVfcGFy dGl0aW9uX2JvdW5kX2Zvcl9tZXJnZSgpLgogICogVGhpcyBmdW5jdGlvbiBjb21wYXJlcyB1 cHBlciBib3VuZCBvZiBmaXJzdF9ib3VuZCBhbmQgbG93ZXIgYm91bmQgb2YKLSAqIHNlY29u ZF9ib3VuZC4gVGhlc2UgYm91bmRzIHNob3VsZCBiZSBlcXVhbCBleGNlcHQgY2FzZQorICog c2Vjb25kX2JvdW5kLiBUaGVzZSBib3VuZHMgc2hvdWxkIGJlIGVxdWFsIGV4Y2VwdCB3aGVu CiAgKiAiZGVmYXVsdFBhcnQgPT0gdHJ1ZSIgKHRoaXMgbWVhbnMgdGhhdCBvbmUgb2Ygc3Bs aXQgcGFydGl0aW9ucyBpcyBERUZBVUxUKS4KICAqIEluIHRoaXMgY2FzZSB1cHBlciBib3Vu ZCBvZiBmaXJzdF9ib3VuZCBjYW4gYmUgbGVzcyB0aGFuIGxvd2VyIGJvdW5kIG9mCi0gKiBz ZWNvbmRfYm91bmQgYmVjYXVzZSBzcGFjZSBiZXR3ZWVuIG9mIHRoZXNlIGJvdW5kcyB3aWxs IGJlIGluY2x1ZGVkIGluCisgKiBzZWNvbmRfYm91bmQgYmVjYXVzZSBzcGFjZSBiZXR3ZWVu IHRoZXNlIGJvdW5kcyB3aWxsIGJlIGluY2x1ZGVkIGluCiAgKiBERUZBVUxUIHBhcnRpdGlv bi4KICAqCiAgKiBwYXJlbnQ6CQkJcGFydGl0aW9uZWQgdGFibGUKQEAgLTQ5OTgsNyArNDk5 OCw3IEBAIHNhdGlzZmllc19oYXNoX3BhcnRpdGlvbihQR19GVU5DVElPTl9BUkdTKQogICog c2Vjb25kX25hbWU6CQluYW1lIG9mIHNlY29uZCBwYXJ0aXRpb24KICAqIHNlY29uZF9ib3Vu ZDoJYm91bmQgb2Ygc2Vjb25kIHBhcnRpdGlvbgogICogZGVmYXVsdFBhcnQ6CQl0cnVlIGlm IG9uZSBvZiBzcGxpdCBwYXJ0aXRpb25zIGlzIERFRkFVTFQKLSAqIHBzdGF0ZToJCQlwb2lu dGVyIHRvIFBhcnNlU3RhdGUgc3RydWN0IGZvciBkZXRlcm1pbmUgZXJyb3IgcG9zaXRpb24K KyAqIHBzdGF0ZToJCQlwb2ludGVyIHRvIFBhcnNlU3RhdGUgc3RydWN0IGZvciBkZXRlcm1p bmluZyBlcnJvciBwb3NpdGlvbgogICovCiBzdGF0aWMgdm9pZAogY2hlY2tfdHdvX3BhcnRp dGlvbnNfYm91bmRzX3JhbmdlKFJlbGF0aW9uIHBhcmVudCwKQEAgLTUwMjAsNyArNTAyMCw3 IEBAIGNoZWNrX3R3b19wYXJ0aXRpb25zX2JvdW5kc19yYW5nZShSZWxhdGlvbiBwYXJlbnQs CiAJc2Vjb25kX2xvd2VyID0gbWFrZV9vbmVfcGFydGl0aW9uX3Jib3VuZChrZXksIC0xLCBz ZWNvbmRfYm91bmQtPmxvd2VyZGF0dW1zLCB0cnVlKTsKIAogCS8qCi0JICogbG93ZXIxPWZh bHNlICh0aGUgc2Vjb25kIHRvIGxhc3QgYXJndW1lbnQpIGZvciBjb3JyZWN0IGNvbXBhcmlz b24gbG93ZXIKKwkgKiBsb3dlcjE9ZmFsc2UgKHRoZSBzZWNvbmQgdG8gbGFzdCBhcmd1bWVu dCkgZm9yIGNvcnJlY3QgY29tcGFyaXNvbiBvZiBsb3dlcgogCSAqIGFuZCB1cHBlciBib3Vu ZHMuCiAJICovCiAJY21wdmFsID0gcGFydGl0aW9uX3Jib3VuZF9jbXAoa2V5LT5wYXJ0bmF0 dHMsCkBAIC01MTQwLDcgKzUxNDAsNyBAQCBnZXRfcGFydGl0aW9uX2JvdW5kX3NwZWMoT2lk IHBhcnRPaWQsIFJhbmdlVmFyICpuYW1lKQogICoKICAqIChmdW5jdGlvbiBmb3IgQlkgUkFO R0UgcGFydGl0aW9uaW5nKQogICoKLSAqIENoZWNrcyB0aGF0IGJvdW5kcyBvZiBuZXcgcGFy dGl0aW9uICJzcGVjIiBpcyBpbnNpZGUgYm91bmRzIG9mIHNwbGl0CisgKiBDaGVja3MgdGhh dCBib3VuZHMgb2YgbmV3IHBhcnRpdGlvbiAic3BlYyIgYXJlIGluc2lkZSBib3VuZHMgb2Yg c3BsaXQKICAqIHBhcnRpdGlvbiAod2l0aCBPaWQgc3BsaXRQYXJ0T2lkKS4gSWYgZmlyc3Q9 dHJ1ZSAodGhpcyBtZWFucyB0aGF0ICJzcGVjIiBpcwogICogdGhlIGZpcnN0IG9mIG5ldyBw YXJ0aXRpb25zKSB0aGVuIGxvd2VyIGJvdW5kIG9mICJzcGVjIiBzaG91bGQgYmUgZXF1YWwg KG9yCiAgKiBncmVhdGVyIHRoYW4gb3IgZXF1YWwgaW4gY2FzZSBkZWZhdWx0UGFydD10cnVl KSB0byBsb3dlciBib3VuZCBvZiBzcGxpdApAQCAtNTI3NCw3ICs1Mjc0LDcgQEAgY2hlY2tf cGFydGl0aW9uX2JvdW5kc19mb3Jfc3BsaXRfcmFuZ2UoUmVsYXRpb24gcGFyZW50LAogICoK ICAqIChmdW5jdGlvbiBmb3IgQlkgTElTVCBwYXJ0aXRpb25pbmcpCiAgKgotICogQ2hlY2tz IHRoYXQgYm91bmRzIG9mIG5ldyBwYXJ0aXRpb24gaXMgaW5zaWRlIGJvdW5kcyBvZiBzcGxp dCBwYXJ0aXRpb24KKyAqIENoZWNrcyB0aGF0IGJvdW5kcyBvZiBuZXcgcGFydGl0aW9uIGFy ZSBpbnNpZGUgYm91bmRzIG9mIHNwbGl0IHBhcnRpdGlvbgogICogKHdpdGggT2lkIHNwbGl0 UGFydE9pZCkuCiAgKgogICogcGFyZW50OgkJCXBhcnRpdGlvbmVkIHRhYmxlCkBAIC01NDQ1 LDggKzU0NDUsOCBAQCBjaGVja19wYXJlbnRfdmFsdWVzX2luX25ld19wYXJ0aXRpb25zKFJl bGF0aW9uIHBhcmVudCwKIAlBc3NlcnQoa2V5LT5zdHJhdGVneSA9PSBQQVJUSVRJT05fU1RS QVRFR1lfTElTVCk7CiAKIAkvKgotCSAqIFNwZWNpYWwgcHJvY2Vzc2luZyBmb3IgTlVMTCB2 YWx1ZS4gU2VhcmNoIE5VTEwtdmFsdWUgaWYgaXQgY29udGFpbnMKLQkgKiBzcGxpdCBwYXJ0 aXRpb24gKHBhcnRPaWQpLgorCSAqIFNwZWNpYWwgcHJvY2Vzc2luZyBmb3IgTlVMTCB2YWx1 ZS4gU2VhcmNoIE5VTEwgdmFsdWUgaWYgdGhlIHNwbGl0CisJICogcGFydGl0aW9uIChwYXJ0 T2lkKSBjb250YWlucyBpdC4KIAkgKi8KIAlpZiAocGFydGl0aW9uX2JvdW5kX2FjY2VwdHNf bnVsbHMoYm91bmRpbmZvKSAmJgogCQlwYXJ0ZGVzYy0+b2lkc1tib3VuZGluZm8tPm51bGxf aW5kZXhdID09IHBhcnRPaWQpCkBAIC01NDYxLDcgKzU0NjEsNyBAQCBjaGVja19wYXJlbnRf dmFsdWVzX2luX25ld19wYXJ0aXRpb25zKFJlbGF0aW9uIHBhcmVudCwKIAogCS8qCiAJICog U2VhcmNoIGFsbCB2YWx1ZXMgb2Ygc3BsaXQgcGFydGl0aW9uIHdpdGggcGFydE9pZCBpbiBQ YXJ0aXRpb25EZXNjIG9mCi0JICogcGFydGl0aW9uZGUgdGFibGUuCisJICogcGFydGl0aW9u ZWQgdGFibGUuCiAJICovCiAJZm9yIChpID0gMDsgaSA8IGJvdW5kaW5mby0+bmRhdHVtczsg aSsrKQogCXsKQEAgLTU0OTgsNyArNTQ5OCw3IEBAIGNoZWNrX3BhcmVudF92YWx1ZXNfaW5f bmV3X3BhcnRpdGlvbnMoUmVsYXRpb24gcGFyZW50LAogCiAJCWVyZXBvcnQoRVJST1IsCiAJ CQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKLQkJCQkg ZXJybXNnKCJuZXcgcGFydGl0aW9ucyBub3QgaGF2ZSB2YWx1ZSAlcyBidXQgc3BsaXQgcGFy dGl0aW9uIGhhcyIsCisJCQkJIGVycm1zZygibmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUg dmFsdWUgJXMgYnV0IHNwbGl0IHBhcnRpdGlvbiBoYXMiLAogCQkJCQkJc2VhcmNoTnVsbCA/ ICJOVUxMIiA6IGdldF9saXN0X3BhcnR2YWx1ZV9zdHJpbmcobm90Rm91bmRWYWwpKSkpOwog CX0KIH0KQEAgLTU3MTQsNyArNTcxNCw3IEBAIGNoZWNrX3BhcnRpdGlvbnNfZm9yX3NwbGl0 KFJlbGF0aW9uIHBhcmVudCwKIAkJCWlmIChlcXVhbChzcHMtPm5hbWUsIHNwczItPm5hbWUp KQogCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FU RV9UQUJMRSksCi0JCQkJCQkgZXJybXNnKCJuYW1lIFwiJXNcIiBhbHJlYWR5IHVzZWQiLCBz cHMyLT5uYW1lLT5yZWxuYW1lKSksCisJCQkJCQkgZXJybXNnKCJuYW1lIFwiJXNcIiBpcyBh bHJlYWR5IHVzZWQiLCBzcHMyLT5uYW1lLT5yZWxuYW1lKSksCiAJCQkJCQlwYXJzZXJfZXJy cG9zaXRpb24ocHN0YXRlLCBzcHMyLT5uYW1lLT5sb2NhdGlvbikpOwogCQl9CiAJfQpAQCAt NTgwNSwxNCArNTgwNSwxNCBAQCBjYWxjdWxhdGVfcGFydGl0aW9uX2JvdW5kX2Zvcl9tZXJn ZShSZWxhdGlvbiBwYXJlbnQsCiAJCQkJfQogCiAJCQkJLyoKLQkJCQkgKiBMb3dlciBib3Vu ZCBvZiBmaXJzdCBwYXJ0aXRpb24gaXMgYSBsb3dlciBib3VuZCBvZiBtZXJnZWQKKwkJCQkg KiBMb3dlciBib3VuZCBvZiBmaXJzdCBwYXJ0aXRpb24gaXMgdGhlIGxvd2VyIGJvdW5kIG9m IG1lcmdlZAogCQkJCSAqIHBhcnRpdGlvbi4KIAkJCQkgKi8KIAkJCQlzcGVjLT5sb3dlcmRh dHVtcyA9CiAJCQkJCSgoUGFydGl0aW9uQm91bmRTcGVjICopIGxpc3RfbnRoKGJvdW5kcywg bG93ZXJfYm91bmRzWzBdLT5pbmRleCkpLT5sb3dlcmRhdHVtczsKIAogCQkJCS8qCi0JCQkJ ICogVXBwZXIgYm91bmQgb2YgbGFzdCBwYXJ0aXRpb24gaXMgYSB1cHBlciBib3VuZCBvZiBt ZXJnZWQKKwkJCQkgKiBVcHBlciBib3VuZCBvZiBsYXN0IHBhcnRpdGlvbiBpcyB0aGUgdXBw ZXIgYm91bmQgb2YgbWVyZ2VkCiAJCQkJICogcGFydGl0aW9uLgogCQkJCSAqLwogCQkJCXNw ZWMtPnVwcGVyZGF0dW1zID0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVj cy9wYXJ0aXRpb24tbWVyZ2Uuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0 aXRpb24tbWVyZ2Uuc3BlYwppbmRleCBlYzQ4NzMyYzU4Li5kYzJiOWQzNDQ1IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvcGFydGl0aW9uLW1lcmdlLnNwZWMKKysr IGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3BhcnRpdGlvbi1tZXJnZS5zcGVjCkBAIC0z OCw3ICszOCw3IEBAIHN0ZXAgczJzCXsgU0VMRUNUICogRlJPTSB0cGFydDsgfQogCiAKICMg czIgaW5zZXJ0cyByb3cgaW50byB0YWJsZS4gczEgc3RhcnRzIE1FUkdFIFBBUlRJVElPTlMg dGhlbgotIyBzMiB0cnlpbmcgdG8gdXBkYXRlIGluc2VydGVkIHJvdyBhbmQgd2FpdHMgdW50 aWwgczEgZmluaXNoZWQKKyMgczIgaXMgdHJ5aW5nIHRvIHVwZGF0ZSBpbnNlcnRlZCByb3cg YW5kIHdhaXRzIHVudGlsIHMxIGZpbmlzaGVzCiAjIE1FUkdFIG9wZXJhdGlvbi4KIAogcGVy bXV0YXRpb24gczJiIHMyaSBzMmMgczFiIHMxbWVyZyBzMmIgczJ1IHMxYyBzMmMgczJzCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKaW5k ZXggYzY5YTcxN2FhYS4uNmUyNTM2NTEyNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dApAQCAtMjAsMTkgKzIwLDE5IEBAIENSRUFU RSBUQUJMRSBzYWxlc19hcHJfMSBQQVJUSVRJT04gT0Ygc2FsZXNfYXByMjAyMiBGT1IgVkFM VUVTIEZST00gKCcyMDIyLTA0LTAxCiBDUkVBVEUgVEFCTEUgc2FsZXNfYXByXzIgUEFSVElU SU9OIE9GIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNC0xNScpIFRP ICgnMjAyMi0wNS0wMScpOwogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgQVRUQUNIIFBBUlRJ VElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAo JzIwMjItMDUtMDEnKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9G IHNhbGVzX3JhbmdlIERFRkFVTFQ7Ci0tLSBFUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUg InNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBwYXJ0aXRpb24gd2l0 aCBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBhbHJlYWR5IHVzZWQKIEFMVEVSIFRBQkxFIHNh bGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIw MjIsIHNhbGVzX2ZlYjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIyMDIyOwotRVJST1I6 ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKK0VS Uk9SOiAgcGFydGl0aW9uIHdpdGggbmFtZSAic2FsZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1 c2VkCiBMSU5FIDE6IC4uLmUgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2Fs ZXNfbWFyMjAyMiwgc2FsZXNfZmViMi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KIC0tIEVSUk9SOiAgInNhbGVz X2FwcjIwMjIiIGlzIG5vdCBhIG9yZGluYXJ5IHRhYmxlCiBBTFRFUiBUQUJMRSBzYWxlc19y YW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIyLCBz YWxlc19hcHIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAyMjsKIEVSUk9SOiAgInNh bGVzX2FwcjIwMjIiIGlzIG5vdCBhIG9yZGluYXJ5IHRhYmxlCi0tLSBFUlJPUjogIGludmFs aWQgcGFydGl0aW9ucyBvcmRlciwgcGFydGl0aW9uICJzYWxlc19tYXIyMDIyIiBjYW4gbm90 IGJlIG1lcmdlZAorLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVz X21hcjIwMjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRp dGlvbiAic2FsZXNfamFuMjAyMiIKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVz X2phbjIwMjIgYW5kIHNhbGVzX21hcjIwMjIpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBN RVJHRSBQQVJUSVRJT05TIChzYWxlc19qYW4yMDIyLCBzYWxlc19tYXIyMDIyKSBJTlRPIHNh bGVzX2phbl9tYXIyMDIyOwogRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNh bGVzX21hcjIwMjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBh cnRpdGlvbiAic2FsZXNfamFuMjAyMiIKLS0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25z IG9yZGVyLCBwYXJ0aXRpb24gInNhbGVzX2phbjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCist LSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfamFuMjAyMiIgY29u ZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19k ZWMyMDIxIgogLS0gKHNwYWNlIGJldHdlZW4gc2VjdGlvbnMgc2FsZXNfZGVjMjAyMSBhbmQg c2FsZXNfamFuMjAyMikKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElP TlMgKHNhbGVzX2RlYzIwMjEsIHNhbGVzX2phbjIwMjIsIHNhbGVzX2ZlYjIwMjIpIElOVE8g c2FsZXNfZGVjX2phbl9mZWIyMDIyOwogRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRp b24gInNhbGVzX2phbjIwMjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZp b3VzIHBhcnRpdGlvbiAic2FsZXNfZGVjMjAyMSIKQEAgLTUyLDcgKzUyLDcgQEAgU0VMRUNU IGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBjLnJlbGtpbmQsIGluaGRldGFjaHBlbmRp bmcsIHBnX2NhdGFsb2cucGdfZ2UKIAogRFJPUCBUQUJMRSBzYWxlc19yYW5nZTsKIC0tCi0t LSBBZGQgcm93cyBpbnRvIHBhcnRpdGlvbmVkIHRhYmxlIHRoZW4gbWVyZ2UgcGFydGl0aW9u cworLS0gQWRkIHJvd3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZSwgdGhlbiBtZXJnZSBwYXJ0 aXRpb25zCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9pZCBJTlQs IHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2Rh dGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJM RSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBGT1IgVkFMVUVTIEZS T00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBAIC0xNjIsNyArMTYyLDcg QEAgU0VMRUNUICogRlJPTSBzYWxlc19vdGhlcnM7CiAgICAgICAgICAgMTQgfCBTbWl0aCAg ICAgICAgIHwgICAgICAgICAgNTEwIHwgMDUtMDQtMjAyMgogKDEgcm93KQogCi0tLSBVc2Ug aW5kZXhzY2FuIGZvciB0ZXN0IGluZGV4ZXMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3Rp bmcgaW5kZXhlcwogU0VUIGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogU0VMRUNUICogRlJPTSBz YWxlc19mZWJfbWFyX2FwcjIwMjIgd2hlcmUgc2FsZXNfZGF0ZSA+ICcyMDIyLTAxLTAxJzsK ICBzYWxlc21hbl9pZCB8IHNhbGVzbWFuX25hbWUgfCBzYWxlc19hbW91bnQgfCBzYWxlc19k YXRlIApAQCAtNzA0LDcgKzcwNCw3IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfYWxsOwogICAg ICAgICAgIDEzIHwgR2FuZGkgICAgICAgICB8IFdhcnNhdyAgICAgIHwgICAgICAgICAgMTUw IHwgMDMtMDgtMjAyMgogKDEwIHJvd3MpCiAKLS0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3Qg aW5kZXhlcyBhZnRlciBtZXJnZSBwYXJ0aXRpb25zCistLSBVc2UgaW5kZXhzY2FuIGZvciB0 ZXN0aW5nIGluZGV4ZXMgYWZ0ZXIgbWVyZ2luZyBwYXJ0aXRpb25zCiBTRVQgZW5hYmxlX3Nl cXNjYW4gPSBPRkY7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2FsbCBXSEVSRSBzYWxlc19zdGF0 ZSA9ICdXYXJzYXcnOwogIHNhbGVzbWFuX2lkIHwgc2FsZXNtYW5fbmFtZSB8IHNhbGVzX3N0 YXRlIHwgc2FsZXNfYW1vdW50IHwgc2FsZXNfZGF0ZSAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dCBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dAppbmRleCAzZDIyMDgzZTQxLi44NzQx N2I3Nzk2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlv bl9zcGxpdC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25f c3BsaXQub3V0CkBAIC00Myw3ICs0Myw3IEBAIEVSUk9SOiAgZW1wdHkgcmFuZ2UgYm91bmQg c3BlY2lmaWVkIGZvciBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIiCiBMSU5FIDM6ICAgIFBB UlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBU Ty4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KIERFVEFJTDogIFNwZWNpZmllZCBsb3dlciBib3VuZCAoJzAzLTAxLTIwMjInKSBp cyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdXBwZXIgYm91bmQgKCcwMi0wMS0yMDIyJyku Ci0tLUVSUk9SOiAgbGlzdCBvZiBzcGxpdCBwYXJ0aXRpb25zIHNob3VsZCBjb250YWlucyBh dCBsZWFzdCB0d28gaXRlbXMKKy0tRVJST1I6ICBsaXN0IG9mIHNwbGl0IHBhcnRpdGlvbnMg c2hvdWxkIGNvbnRhaW4gYXQgbGVhc3QgdHdvIGl0ZW1zCiBBTFRFUiBUQUJMRSBzYWxlc19y YW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBB UlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBU TyAoJzIwMjItMTAtMDEnKSk7CiBFUlJPUjogIGxpc3Qgb2YgbmV3IHBhcnRpdGlvbnMgc2hv dWxkIGNvbnRhaW4gYXQgbGVhc3QgdHdvIGl0ZW1zCkBAIC01NSwyMSArNTUsMjEgQEAgQUxU RVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXBy MjAyMiBJTlRPCiBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfZmVi MjAyMiIgaXMgbGVzcyB0aGFuIGxvd2VyIGJvdW5kIG9mIHNwbGl0IHBhcnRpdGlvbgogTElO RSAyOiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIy LTAxLTAxJykgVE8uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi0tLSBFUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAy MiIgYWxyZWFkeSB1c2VkCistLSBFUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAy MiIgaXMgYWxyZWFkeSB1c2VkCiAtLSAoV2UgY2FuIGNyZWF0ZSBwYXJ0aXRpb24gd2l0aCB0 aGUgc2FtZSBuYW1lIGFzIHNwbGl0IHBhcnRpdGlvbiwgYnV0IGNhbid0IGNyZWF0ZSB0d28g cGFydGl0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5n ZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJ VElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0w MScpIFRPICgnMjAyMi0wMy0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXBy MjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyks CiAgICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0 LTAxJykgVE8gKCcyMDIyLTA1LTAxJykpOwotRVJST1I6ICBuYW1lICJzYWxlc19mZWJfbWFy X2FwcjIwMjIiIGFscmVhZHkgdXNlZAorRVJST1I6ICBuYW1lICJzYWxlc19mZWJfbWFyX2Fw cjIwMjIiIGlzIGFscmVhZHkgdXNlZAogTElORSAzOiAgICBQQVJUSVRJT04gc2FsZXNfZmVi X21hcl9hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMuLi4KICAgICAgICAgICAg ICAgICAgICAgIF4KLS0tIEVSUk9SOiAgbmFtZSAic2FsZXNfZmViMjAyMiIgYWxyZWFkeSB1 c2VkCistLSBFUlJPUjogIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGlzIGFscmVhZHkgdXNlZAog QUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJf YXByMjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZS T00gKCcyMDIyLTAyLTAxJykgVE8gKCcyMDIyLTAzLTAxJyksCiAgICBQQVJUSVRJT04gc2Fs ZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0 LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcy MDIyLTA0LTAxJykgVE8gKCcyMDIyLTA1LTAxJykpOwotRVJST1I6ICBuYW1lICJzYWxlc19m ZWIyMDIyIiBhbHJlYWR5IHVzZWQKK0VSUk9SOiAgbmFtZSAic2FsZXNfZmViMjAyMiIgaXMg YWxyZWFkeSB1c2VkCiBMSU5FIDM6ICAgIFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBW QUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTy4uLgogICAgICAgICAgICAgICAgICAgICAg XgogLS0gRVJST1I6ICAic2FsZXNfZmViX21hcl9hcHIyMDIyIiBpcyBub3QgYSBwYXJ0aXRp b25lZCB0YWJsZQpAQCAtODYsNyArODYsNyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBT UExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KIEVSUk9SOiAgdXBw ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19hcHIyMDIyIiBpcyBncmVhdGVyIHRoYW4g dXBwZXIgYm91bmQgb2Ygc3BsaXQgcGFydGl0aW9uCiBMSU5FIDQ6IC4uLiBzYWxlc19hcHIy MDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDYtMC4uLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLS0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19t YXIyMDIyIiBpcyBub3QgZXF1YWxzIHRvIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRp dGlvbgorLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX21hcjIw MjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAi c2FsZXNfZmViMjAyMiIKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElP TiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIw MjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0wMy0wMScpLAog ICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0w MScpIFRPICgnMjAyMi0wNC0wMScpLApAQCAtOTYsNyArOTYsNyBAQCBMSU5FIDM6ICAgIFBB UlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBU Ty4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KIC0tIFRlc3RzIGZvciBzcGFjZXMgYmV0d2VlbiBwYXJ0aXRpb25zLCB0aGVtIHNo b3VsZCBiZSBleGVjdXRlZCB3aXRob3V0IERFRkFVTFQgcGFydGl0aW9uCiBBTFRFUiBUQUJM RSBzYWxlc19yYW5nZSBERVRBQ0ggUEFSVElUSU9OIHNhbGVzX290aGVyczsKLS0tIEVSUk9S OiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIiBpcyBub3QgZXF1 YWxzIHRvIGxvd2VyIGJvdW5kIG9mIHNwbGl0IHBhcnRpdGlvbgorLS0gRVJST1I6ICBsb3dl ciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIG5vdCBlcXVhbCB0byBs b3dlciBib3VuZCBvZiBzcGxpdCBwYXJ0aXRpb24KIEFMVEVSIFRBQkxFIHNhbGVzX3Jhbmdl IFNQTElUIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElU SU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMicpIFRPICgn MjAyMi0wMy0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBG Uk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAyMi0wNC0wMScpLApAQCAtMTkxLDcgKzE5MSw3 IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfb3RoZXJzOwogCiBEUk9QIFRBQkxFIHNhbGVzX3Jh bmdlIENBU0NBREU7CiAtLQotLS0gQWRkIHNwbGl0IHBhcnRpdGlvbiB0aGVuIGFkZCByb3dz IGludG8gcGFydGl0aW9uZWQgdGFibGUKKy0tIEFkZCBzcGxpdCBwYXJ0aXRpb24sIHRoZW4g YWRkIHJvd3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZQogLS0KIENSRUFURSBUQUJMRSBzYWxl c19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBz YWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIERBVEUpIFBBUlRJVElPTiBCWSBSQU5HRSAo c2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfamFuMjAyMiBQQVJUSVRJT04gT0Yg c2FsZXNfcmFuZ2UgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMS0wMScpIFRPICgnMjAyMi0w Mi0wMScpOwpAQCAtMzk0LDcgKzM5NCw3IEBAIExJTkUgMTogU0VMRUNUICogRlJPTSBzYWxl c19qYW5fZmViMjAyMjsKICAgICAgICAgICAgICAgICAgICAgICBeCiBEUk9QIFRBQkxFIHNh bGVzX2RhdGUgQ0FTQ0FERTsKIC0tCi0tLSBUZXN0OiBzcGxpdCBERUZBVUxUIHBhcnRpdGlv bjsgdXNpbmcgYSBpbmRleCBvbiBwYXJ0aXRpb24ga2V5OyBjaGVjayBpbmRleCBhZnRlciBz cGxpdAorLS0gVGVzdDogc3BsaXQgREVGQVVMVCBwYXJ0aXRpb247IHVzZSBhbiBpbmRleCBv biBwYXJ0aXRpb24ga2V5OyBjaGVjayBpbmRleCBhZnRlciBzcGxpdAogLS0KIENSRUFURSBU QUJMRSBzYWxlc19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNI QVIoMzApLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIERBVEUpIFBBUlRJVElPTiBC WSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfamFuMjAyMiBQQVJU SVRJT04gT0Ygc2FsZXNfcmFuZ2UgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMS0wMScpIFRP ICgnMjAyMi0wMi0wMScpOwpAQCAtNDQxLDcgKzQ0MSw3IEBAIEFMVEVSIFRBQkxFIHNhbGVz X3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAgUEFSVElUSU9O IHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAy Mi0wNC0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9N ICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpLAogICAgUEFSVElUSU9OIHNhbGVz X290aGVycyBERUZBVUxUKTsKLS0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3QgaW5kZXhlcwor LS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdGluZyBpbmRleGVzCiBTRVQgZW5hYmxlX2luZGV4 c2NhbiA9IE9OOwogU0VUIGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogU0VMRUNUICogRlJPTSBz YWxlc19mZWIyMDIyIHdoZXJlIHNhbGVzX2RhdGUgPiAnMjAyMi0wMS0wMSc7CkBAIC01MDMs NyArNTAzLDcgQEAgU0VMRUNUICogRlJPTSBwZ19pbmRleGVzIFdIRVJFIHRhYmxlbmFtZSA9 ICdzYWxlc19vdGhlcnMnIGFuZCBzY2hlbWFuYW1lID0gJ3BhcnQKIAogRFJPUCBUQUJMRSBz YWxlc19yYW5nZSBDQVNDQURFOwogLS0KLS0tIFRlc3Q6IHNvbWUgY2FzZXMgZm9yIHNwbGl0 IERFRkFVTFQgcGFydGl0aW9uIChkaWZmZXJlbnQgYm91bmRzKQorLS0gVGVzdDogc29tZSBj YXNlcyBmb3Igc3BsaXR0aW5nIERFRkFVTFQgcGFydGl0aW9uIChkaWZmZXJlbnQgYm91bmRz KQogLS0KIENSRUFURSBUQUJMRSBzYWxlc19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxl c21hbl9uYW1lIFZBUkNIQVIoMzApLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIElO VCkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxl c19vdGhlcnMgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIERFRkFVTFQ7CkBAIC01MzcsNyAr NTM3LDcgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVz X290aGVycyBJTlRPCiBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNf ZXJyb3IiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlv biAic2FsZXNfZGVjMjAyMiIKIExJTkUgMzogICAgUEFSVElUSU9OIHNhbGVzX2Vycm9yIEZP UiBWQUxVRVMgRlJPTSAoMjAyMTEyMTApIFRPICgyMDIxLi4uCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLS0tIHNhbGVzX2Vycm9yIGlu dGVyc2VjdHMgd2l0aCBzYWxlc19kZWMyMDIyIChleGFjdCB0aGUgc2FtZSBib3VuZHMpCist LSBzYWxlc19lcnJvciBpbnRlcnNlY3RzIHdpdGggc2FsZXNfZGVjMjAyMiAoZXhhY3RseSB0 aGUgc2FtZSBib3VuZHMpCiAtLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAi c2FsZXNfZXJyb3IiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBh cnRpdGlvbiAic2FsZXNfZGVjMjAyMiIKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElU IFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIw MjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKQEAgLTU1NSw3 ICs1NTUsNyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2Fs ZXNfb3RoZXJzIElOVE8KIEVSUk9SOiAgYW55IHBhcnRpdGlvbiBpbiB0aGUgbGlzdCBzaG91 bGQgYmUgREVGQVVMVCBiZWNhdXNlIHNwbGl0IHBhcnRpdGlvbiBpcyBERUZBVUxUCiBMSU5F IDI6ICAgKFBBUlRJVElPTiBzYWxlc19kZWMyMDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMTEy MDEpIFRPICgyMC4uLgogICAgICAgICAgICAgICAgICAgICAgXgotLS0gbm8gZXJyb3I6IGJv dW5kcyBvZiBzYWxlc19ub2Vycm9yIGJldHdlZW4gc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNf ZmViMjAyMgorLS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9yIGFyZSBiZXR3 ZWVuIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVzX2ZlYjIwMjIKIEFMVEVSIFRBQkxFIHNhbGVz X3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9O IHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAx KSwKICAgIFBBUlRJVElPTiBzYWxlc19ub2Vycm9yIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAx MTApIFRPICgyMDIyMDEyMCksCkBAIC01NjQsNyArNTY0LDcgQEAgQUxURVIgVEFCTEUgc2Fs ZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiBEUk9QIFRBQkxF IHNhbGVzX3JhbmdlOwogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9pZCBJ TlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVz X2RhdGUgSU5UKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRB QkxFIHNhbGVzX290aGVycyBQQVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2UgREVGQVVMVDsKLS0t IG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9lcnJvciBlcXVhbHMgdG8gbG93ZXIgYW5k IHVwcGVyIGJvdW5kcyBvZiBzYWxlc19kZWMyMDIyIGFuZCBzYWxlc19mZWIyMDIyCistLSBu byBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJyb3IgYXJlIGVxdWFsIHRvIGxvd2VyIGFu ZCB1cHBlciBib3VuZHMgb2Ygc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgogQUxU RVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRP CiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAx KSBUTyAoMjAyMjAxMDEpLAogICAgUEFSVElUSU9OIHNhbGVzX25vZXJyb3IgRk9SIFZBTFVF UyBGUk9NICgyMDIxMDEwMSkgVE8gKDIwMjEwMjAxKSwKQEAgLTYyOSw3ICs2MjksNyBAQCBJ TlNFUlQgSU5UTyBzYWxlc19yYW5nZSBWQUxVRVMgKDEsIDEwLCAnMjAyMi0wMy0xMScpOwog RFJPUCBUQUJMRSBzYWxlc19yYW5nZSBDQVNDQURFOwogRFJPUCBUQUJMRSBzYWxlc21hbnMg Q0FTQ0FERTsKIC0tCi0tLSBUZXN0OiBzcGxpdCBwYXJ0aXRpb24gb24gcGFydGl0aW9uZWQg dGFibGUgaW4gY2FzZSBleGlzdHMgRk9SRUlHTiBLRVkgcmVmZXJlbmNlIGZyb20gYW5vdGhl ciB0YWJsZQorLS0gVGVzdDogc3BsaXQgcGFydGl0aW9uIG9uIHBhcnRpdGlvbmVkIHRhYmxl IGluIGNhc2Ugb2YgZXhpc3RpbmcgRk9SRUlHTiBLRVkgcmVmZXJlbmNlIGZyb20gYW5vdGhl ciB0YWJsZQogLS0KIENSRUFURSBUQUJMRSBzYWxlc21hbnMoc2FsZXNtYW5faWQgSU5UIFBS SU1BUlkgS0VZLCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApKSBQQVJUSVRJT04gQlkgUkFO R0UgKHNhbGVzbWFuX2lkKTsKIENSRUFURSBUQUJMRSBzYWxlcyAoc2FsZXNtYW5faWQgSU5U IFJFRkVSRU5DRVMgc2FsZXNtYW5zKHNhbGVzbWFuX2lkKSwgc2FsZXNfYW1vdW50IElOVCwg c2FsZXNfZGF0ZSBEQVRFKTsKQEAgLTc3MCwxMSArNzcwLDExIEBAIERST1AgVEFCTEUgc2Fs ZXNtYW5zIENBU0NBREU7CiBEUk9QIEZVTkNUSU9OIGFmdGVyX2luc2VydF9yb3dfdHJpZ2dl cigpOwogLS0KIC0tIFRlc3Q6IHNwbGl0IHBhcnRpdGlvbiB3aXRjaCBpZGVudGl0eSBjb2x1 bW4KLS0tIElmIHNwbGl0IHBhcnRpdGlvbiBjb2x1bW4gaXMgaWRlbnRpdHktY29sdW1uLCBj b2x1bW5zIG9mIG5ldyBwYXJ0aXRpb25zIGFyZSBpZGVudGl0eS1jb2x1bW5zIHRvby4KKy0t IElmIHNwbGl0IHBhcnRpdGlvbiBjb2x1bW4gaXMgaWRlbnRpdHkgY29sdW1uLCBjb2x1bW5z IG9mIG5ldyBwYXJ0aXRpb25zIGFyZSBpZGVudGl0eSBjb2x1bW5zIHRvby4KIC0tCiBDUkVB VEUgVEFCTEUgc2FsZXNtYW5zKHNhbGVzbWFuX2lkIElOVCBHRU5FUkFURUQgQUxXQVlTIEFT IElERU5USVRZIFBSSU1BUlkgS0VZLCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApKSBQQVJU SVRJT04gQlkgUkFOR0UgKHNhbGVzbWFuX2lkKTsKIENSRUFURSBUQUJMRSBzYWxlc21hbnMx XzIgUEFSVElUSU9OIE9GIHNhbGVzbWFucyBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKTsK LS0tIENyZWF0ZSBuZXcgcGFydGl0aW9uIHdpdGggaWRlbnRpdHktY29sdW1uOgorLS0gQ3Jl YXRlIG5ldyBwYXJ0aXRpb24gd2l0aCBpZGVudGl0eSBjb2x1bW46CiBDUkVBVEUgVEFCTEUg c2FsZXNtYW5zMl81KHNhbGVzbWFuX2lkIElOVCBOT1QgTlVMTCwgc2FsZXNtYW5fbmFtZSBW QVJDSEFSKDMwKSk7CiBBTFRFUiBUQUJMRSBzYWxlc21hbnMgQVRUQUNIIFBBUlRJVElPTiBz YWxlc21hbnMyXzUgRk9SIFZBTFVFUyBGUk9NICgyKSBUTyAoNSk7CiBJTlNFUlQgSU5UTyBz YWxlc21hbnMgKHNhbGVzbWFuX25hbWUpIFZBTFVFUyAoJ1BvaXJvdCcpOwpAQCAtNzkzLDcg Kzc5Myw3IEBAIFNFTEVDVCBhdHRuYW1lLCBhdHRpZGVudGl0eSwgYXR0Z2VuZXJhdGVkIEZS T00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dG51bSA+IDAgQU5ECiAgc2FsZXNtYW5fbmFtZSB8 ICAgICAgICAgICAgIHwgCiAoMiByb3dzKQogCi0tLSBTcGxpdCBwYXJ0aXRpb24gaGFzIGlk ZW50aXR5LWNvbHVtbjoKKy0tIFNwbGl0IHBhcnRpdGlvbiBoYXMgaWRlbnRpdHkgY29sdW1u OgogU0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19h dHRyaWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAnc2FsZXNtYW5zMl81 Jzo6cmVnY2xhc3M6Om9pZDsKICAgICBhdHRuYW1lICAgIHwgYXR0aWRlbnRpdHkgfCBhdHRn ZW5lcmF0ZWQgCiAtLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LQpAQCAtMTA2Myw4ICsxMDYzLDggQEAgTElORSAyOiAuLi5zX3dlc3QgRk9SIFZBTFVFUyBJ TiAoJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnLCBOVUxMKSwKIERST1AgVEFCTEUg c2FsZXNfbGlzdDsKIC0tCiAtLSBUZXN0OiB0d28gc3BlY2lmaWMgZXJyb3JzIGZvciBCWSBM SVNUIHBhcnRpdGlvbmluZzoKLS0tICAgKiBuZXcgcGFydGl0aW9ucyBub3QgaGFzIE5VTEwg dmFsdWUgdGhhdCBzcGxpdCBwYXJ0aXRpb24gaGFzLgotLS0gICAqIG5ldyBwYXJ0aXRpb25z IG5vdCBoYXMgYSB2YWx1ZSB0aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCistLSAgICogbmV3 IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgTlVMTCB2YWx1ZSwgd2hpY2ggc3BsaXQgcGFydGl0 aW9uIGhhcy4KKy0tICAgKiBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSBhIHZhbHVlIHRo YXQgc3BsaXQgcGFydGl0aW9uIGhhcy4KIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfbGlzdAog KHNhbGVzbWFuX2lkIElOVCwKQEAgLTEwNzUsMTggKzEwNzUsMTggQEAgQ1JFQVRFIFRBQkxF IHNhbGVzX2xpc3QKIFBBUlRJVElPTiBCWSBMSVNUIChzYWxlc19zdGF0ZSk7CiBDUkVBVEUg VEFCTEUgc2FsZXNfbm9yZCBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElO ICgnSGVsc2lua2knLCAnU3QuIFBldGVyc2J1cmcnLCAnT3NsbycpOwogQ1JFQVRFIFRBQkxF IHNhbGVzX2FsbCBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnV2Fy c2F3JywgJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnLCAnQmVqaW5nJywgJ0Jlcmxp bicsICdEZWxoaScsICdLeWl2JywgJ1ZsYWRpdm9zdG9rJywgTlVMTCk7Ci0tLSBFUlJPUjog IG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlv biBoYXMKKy0tIEVSUk9SOiAgbmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgdmFsdWUgTlVM TCBidXQgc3BsaXQgcGFydGl0aW9uIGhhcwogQUxURVIgVEFCTEUgc2FsZXNfbGlzdCBTUExJ VCBQQVJUSVRJT04gc2FsZXNfYWxsIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc193ZXN0IEZP UiBWQUxVRVMgSU4gKCdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJyksCiAgICBQQVJU SVRJT04gc2FsZXNfZWFzdCBGT1IgVkFMVUVTIElOICgnQmVqaW5nJywgJ0RlbGhpJywgJ1Zs YWRpdm9zdG9rJyksCiAgICBQQVJUSVRJT04gc2FsZXNfY2VudHJhbCBGT1IgVkFMVUVTIElO ICgnV2Fyc2F3JywgJ0JlcmxpbicsICdLeWl2JykpOwotRVJST1I6ICBuZXcgcGFydGl0aW9u cyBub3QgaGF2ZSB2YWx1ZSBOVUxMIGJ1dCBzcGxpdCBwYXJ0aXRpb24gaGFzCi0tLSBFUlJP UjogIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlICdLeWl2JyBidXQgc3BsaXQgcGFy dGl0aW9uIGhhcworRVJST1I6ICBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSB2YWx1ZSBO VUxMIGJ1dCBzcGxpdCBwYXJ0aXRpb24gaGFzCistLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25z IGRvIG5vdCBoYXZlIHZhbHVlICdLeWl2JyBidXQgc3BsaXQgcGFydGl0aW9uIGhhcwogQUxU RVIgVEFCTEUgc2FsZXNfbGlzdCBTUExJVCBQQVJUSVRJT04gc2FsZXNfYWxsIElOVE8KICAg KFBBUlRJVElPTiBzYWxlc193ZXN0IEZPUiBWQUxVRVMgSU4gKCdMaXNib24nLCAnTmV3IFlv cmsnLCAnTWFkcmlkJyksCiAgICBQQVJUSVRJT04gc2FsZXNfZWFzdCBGT1IgVkFMVUVTIElO ICgnQmVqaW5nJywgJ0RlbGhpJywgJ1ZsYWRpdm9zdG9rJyksCiAgICBQQVJUSVRJT04gc2Fs ZXNfY2VudHJhbCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0JlcmxpbicsIE5VTEwpKTsK LUVSUk9SOiAgbmV3IHBhcnRpdGlvbnMgbm90IGhhdmUgdmFsdWUgJ0t5aXYnIGJ1dCBzcGxp dCBwYXJ0aXRpb24gaGFzCitFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZh bHVlICdLeWl2JyBidXQgc3BsaXQgcGFydGl0aW9uIGhhcwogRFJPUCBUQUJMRSBzYWxlc19s aXN0OwogLS0KIC0tIFRlc3Q6IEJZIExJU1QgcGFydGl0aW9uaW5nLCBTUExJVCBQQVJUSVRJ T04gd2l0aCBkYXRhCkBAIC0xMTc0LDcgKzExNzQsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVz X2NlbnRyYWw7CiAgICAgICAgICAgMTMgfCBHYW5kaSAgICAgICAgIHwgV2Fyc2F3ICAgICAg fCAgICAgICAgICAxNTAgfCAwMy0wOC0yMDIyCiAoNCByb3dzKQogCi0tLSBVc2UgaW5kZXhz Y2FuIGZvciB0ZXN0IGluZGV4ZXMgYWZ0ZXIgc3BsaXQgcGFydGl0aW9uCistLSBVc2UgaW5k ZXhzY2FuIGZvciB0ZXN0aW5nIGluZGV4ZXMgYWZ0ZXIgc3BsaXR0aW5nIHBhcnRpdGlvbgog U0VUIGVuYWJsZV9pbmRleHNjYW4gPSBPTjsKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsK IFNFTEVDVCAqIEZST00gc2FsZXNfY2VudHJhbCBXSEVSRSBzYWxlc19zdGF0ZSA9ICdXYXJz YXcnOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdl LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKaW5kZXgg Y2NlNWZmYTI5Zi4uYzk2MTIwYTRhZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvcGFydGl0aW9uX21lcmdlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0 aXRpb25fbWVyZ2Uuc3FsCkBAIC0yNiwxNCArMjYsMTQgQEAgQUxURVIgVEFCTEUgc2FsZXNf cmFuZ2UgQVRUQUNIIFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAo JzIwMjItMDQKIAogQ1JFQVRFIFRBQkxFIHNhbGVzX290aGVycyBQQVJUSVRJT04gT0Ygc2Fs ZXNfcmFuZ2UgREVGQVVMVDsKIAotLS0gRVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJz YWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKKy0tIEVSUk9SOiAgcGFydGl0aW9uIHdpdGgg bmFtZSAic2FsZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBBTFRFUiBUQUJMRSBzYWxl c19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIy LCBzYWxlc19mZWIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAyMjsKIC0tIEVSUk9S OiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhIG9yZGluYXJ5IHRhYmxlCiBBTFRFUiBUQUJM RSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxlc19t YXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAyMjsKLS0t IEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25zIG9yZGVyLCBwYXJ0aXRpb24gInNhbGVzX21h cjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCistLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBh cnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2Yg cHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIgogLS0gKHNwYWNlIGJldHdlZW4g c2VjdGlvbnMgc2FsZXNfamFuMjAyMiBhbmQgc2FsZXNfbWFyMjAyMikKIEFMVEVSIFRBQkxF IHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2phbjIwMjIsIHNhbGVzX21h cjIwMjIpIElOVE8gc2FsZXNfamFuX21hcjIwMjI7Ci0tLSBFUlJPUjogIGludmFsaWQgcGFy dGl0aW9ucyBvcmRlciwgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIiBjYW4gbm90IGJlIG1l cmdlZAorLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX2phbjIw MjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAi c2FsZXNfZGVjMjAyMSIKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVzX2RlYzIw MjEgYW5kIHNhbGVzX2phbjIwMjIpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQ QVJUSVRJT05TIChzYWxlc19kZWMyMDIxLCBzYWxlc19qYW4yMDIyLCBzYWxlc19mZWIyMDIy KSBJTlRPIHNhbGVzX2RlY19qYW5fZmViMjAyMjsKIApAQCAtNDgsNyArNDgsNyBAQCBTRUxF Q1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIGMucmVsa2luZCwgaW5oZGV0YWNocGVu ZGluZywgcGdfY2F0YWxvZy5wZ19nZQogRFJPUCBUQUJMRSBzYWxlc19yYW5nZTsKIAogLS0K LS0tIEFkZCByb3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUgdGhlbiBtZXJnZSBwYXJ0aXRp b25zCistLSBBZGQgcm93cyBpbnRvIHBhcnRpdGlvbmVkIHRhYmxlLCB0aGVuIG1lcmdlIHBh cnRpdGlvbnMKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElO VCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNf ZGF0ZSBEQVRFKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRB QkxFIHNhbGVzX2phbjIwMjIgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMg RlJPTSAoJzIwMjItMDEtMDEnKSBUTyAoJzIwMjItMDItMDEnKTsKQEAgLTk2LDcgKzk2LDcg QEAgU0VMRUNUICogRlJPTSBzYWxlc19qYW4yMDIyOwogU0VMRUNUICogRlJPTSBzYWxlc19m ZWJfbWFyX2FwcjIwMjI7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX290aGVyczsKIAotLS0gVXNl IGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzCistLSBVc2UgaW5kZXhzY2FuIGZvciB0ZXN0 aW5nIGluZGV4ZXMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIAogU0VMRUNUICogRlJP TSBzYWxlc19mZWJfbWFyX2FwcjIwMjIgd2hlcmUgc2FsZXNfZGF0ZSA+ICcyMDIyLTAxLTAx JzsKQEAgLTQxNSw3ICs0MTUsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVzX2xpc3Q7CiBTRUxF Q1QgKiBGUk9NIHNhbGVzX25vcmQ7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2FsbDsKIAotLS0g VXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzIGFmdGVyIG1lcmdlIHBhcnRpdGlvbnMK Ky0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRlciBtZXJnaW5nIHBh cnRpdGlvbnMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIAogU0VMRUNUICogRlJPTSBz YWxlc19hbGwgV0hFUkUgc2FsZXNfc3RhdGUgPSAnV2Fyc2F3JzsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCmluZGV4IDVkYzJmYzM5Y2QuLjc2MzY5OWM1 YWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbApAQCAt NDIsNyArNDIsNyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04g c2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgIFBBUlRJVElPTiBzYWxlc19tYXIyMDIy IEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDItMDEnKSwKICAg IFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEn KSBUTyAoJzIwMjItMDUtMDEnKSk7CiAKLS0tRVJST1I6ICBsaXN0IG9mIHNwbGl0IHBhcnRp dGlvbnMgc2hvdWxkIGNvbnRhaW5zIGF0IGxlYXN0IHR3byBpdGVtcworLS1FUlJPUjogIGxp c3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBzaG91bGQgY29udGFpbiBhdCBsZWFzdCB0d28gaXRl bXMKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19mZWJf bWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVF UyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0xMC0wMScpKTsKIApAQCAtNTIsMTQg KzUyLDE0IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxl c19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAyMi0wNC0wMScpLAogICAgUEFS VElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNC0wMScpIFRP ICgnMjAyMi0wNS0wMScpKTsKIAotLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWJfbWFyX2Fw cjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWJfbWFyX2Fw cjIwMjIiIGlzIGFscmVhZHkgdXNlZAogLS0gKFdlIGNhbiBjcmVhdGUgcGFydGl0aW9uIHdp dGggdGhlIHNhbWUgbmFtZSBhcyBzcGxpdCBwYXJ0aXRpb24sIGJ1dCBjYW4ndCBjcmVhdGUg dHdvIHBhcnRpdGlvbnMgd2l0aCB0aGUgc2FtZSBuYW1lKQogQUxURVIgVEFCTEUgc2FsZXNf cmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAgIChQ QVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjIt MDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWJfbWFy X2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAyMi0wNC0w MScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAy Mi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpKTsKIAotLS0gRVJST1I6ICBuYW1lICJzYWxl c19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKKy0tIEVSUk9SOiAgbmFtZSAic2FsZXNfZmViMjAy MiIgaXMgYWxyZWFkeSB1c2VkCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJU SVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19m ZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEn KSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjIt MDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKQEAgLTc3LDcgKzc3LDcgQEAgQUxURVIgVEFC TEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJ TlRPCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIy LTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfYXByMjAy MiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAxJykgVE8gKCcyMDIyLTA2LTAxJykpOwog Ci0tLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIg aXMgbm90IGVxdWFscyB0byB1cHBlciBib3VuZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24KKy0t IEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19tYXIyMDIyIiBjb25m bGljdHMgd2l0aCB1cHBlciBib3VuZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2Zl YjIwMjIiCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNf ZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBW QUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJ VElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAo JzIwMjItMDQtMDEnKSwKQEAgLTg2LDcgKzg2LDcgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFu Z2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAtLSBUZXN0 cyBmb3Igc3BhY2VzIGJldHdlZW4gcGFydGl0aW9ucywgdGhlbSBzaG91bGQgYmUgZXhlY3V0 ZWQgd2l0aG91dCBERUZBVUxUIHBhcnRpdGlvbgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2Ug REVUQUNIIFBBUlRJVElPTiBzYWxlc19vdGhlcnM7CiAKLS0tIEVSUk9SOiAgbG93ZXIgYm91 bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIiBpcyBub3QgZXF1YWxzIHRvIGxvd2Vy IGJvdW5kIG9mIHNwbGl0IHBhcnRpdGlvbgorLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBw YXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIG5vdCBlcXVhbCB0byBsb3dlciBib3VuZCBv ZiBzcGxpdCBwYXJ0aXRpb24KIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJ VElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2Zl YjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMicpIFRPICgnMjAyMi0wMy0wMScp LAogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0w My0wMScpIFRPICgnMjAyMi0wNC0wMScpLApAQCAtMTMzLDcgKzEzMyw3IEBAIFNFTEVDVCAq IEZST00gc2FsZXNfb3RoZXJzOwogRFJPUCBUQUJMRSBzYWxlc19yYW5nZSBDQVNDQURFOwog CiAtLQotLS0gQWRkIHNwbGl0IHBhcnRpdGlvbiB0aGVuIGFkZCByb3dzIGludG8gcGFydGl0 aW9uZWQgdGFibGUKKy0tIEFkZCBzcGxpdCBwYXJ0aXRpb24sIHRoZW4gYWRkIHJvd3MgaW50 byBwYXJ0aXRpb25lZCB0YWJsZQogLS0KIENSRUFURSBUQUJMRSBzYWxlc19yYW5nZSAoc2Fs ZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBzYWxlc19hbW91bnQg SU5ULCBzYWxlc19kYXRlIERBVEUpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7 CiBDUkVBVEUgVEFCTEUgc2FsZXNfamFuMjAyMiBQQVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2Ug Rk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMS0wMScpIFRPICgnMjAyMi0wMi0wMScpOwpAQCAt MjE5LDcgKzIxOSw3IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfamFuX2ZlYjIwMjI7CiBEUk9Q IFRBQkxFIHNhbGVzX2RhdGUgQ0FTQ0FERTsKIAogLS0KLS0tIFRlc3Q6IHNwbGl0IERFRkFV TFQgcGFydGl0aW9uOyB1c2luZyBhIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNoZWNrIGlu ZGV4IGFmdGVyIHNwbGl0CistLSBUZXN0OiBzcGxpdCBERUZBVUxUIHBhcnRpdGlvbjsgdXNl IGFuIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNoZWNrIGluZGV4IGFmdGVyIHNwbGl0CiAt LQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9pZCBJTlQsIHNhbGVzbWFu X25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgREFURSkg UEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19q YW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBGT1IgVkFMVUVTIEZST00gKCcyMDIy LTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBAIC0yNTAsNyArMjUwLDcgQEAgQUxURVIg VEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAg ICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAx JykgVE8gKCcyMDIyLTA1LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIERFRkFV TFQpOwogCi0tLSBVc2UgaW5kZXhzY2FuIGZvciB0ZXN0IGluZGV4ZXMKKy0tIFVzZSBpbmRl eHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcwogU0VUIGVuYWJsZV9pbmRleHNjYW4gPSBPTjsK IFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIApAQCAtMjcwLDcgKzI3MCw3IEBAIFNFTEVD VCAqIEZST00gcGdfaW5kZXhlcyBXSEVSRSB0YWJsZW5hbWUgPSAnc2FsZXNfb3RoZXJzJyBh bmQgc2NoZW1hbmFtZSA9ICdwYXJ0CiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENBU0NBREU7 CiAKIC0tCi0tLSBUZXN0OiBzb21lIGNhc2VzIGZvciBzcGxpdCBERUZBVUxUIHBhcnRpdGlv biAoZGlmZmVyZW50IGJvdW5kcykKKy0tIFRlc3Q6IHNvbWUgY2FzZXMgZm9yIHNwbGl0dGlu ZyBERUZBVUxUIHBhcnRpdGlvbiAoZGlmZmVyZW50IGJvdW5kcykKIC0tCiBDUkVBVEUgVEFC TEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFS KDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBJTlQpIFBBUlRJVElPTiBCWSBS QU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElP TiBPRiBzYWxlc19yYW5nZSBERUZBVUxUOwpAQCAtMjk5LDcgKzI5OSw3IEBAIEFMVEVSIFRB QkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAg UEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIyMDIwMSkgVE8g KDIwMjIwMzAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgREVGQVVMVCk7CiAKLS0t IHNhbGVzX2Vycm9yIGludGVyc2VjdHMgd2l0aCBzYWxlc19kZWMyMDIyIChleGFjdCB0aGUg c2FtZSBib3VuZHMpCistLSBzYWxlc19lcnJvciBpbnRlcnNlY3RzIHdpdGggc2FsZXNfZGVj MjAyMiAoZXhhY3RseSB0aGUgc2FtZSBib3VuZHMpCiAtLSBFUlJPUjogIGxvd2VyIGJvdW5k IG9mIHBhcnRpdGlvbiAic2FsZXNfZXJyb3IiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5k IG9mIHByZXZpb3VzIHBhcnRpdGlvbiAic2FsZXNfZGVjMjAyMiIKIEFMVEVSIFRBQkxFIHNh bGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElU SU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIw MTAxKSwKQEAgLTMxMyw3ICszMTMsNyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJ VCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KICAgIFBBUlRJVElPTiBzYWxlc19qYW4y MDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAxMDEpIFRPICgyMDIyMDIwMSksCiAgICBQQVJU SVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjIwMjAxKSBUTyAoMjAy MjAzMDEpKTsKIAotLS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9yIGJldHdl ZW4gc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgorLS0gbm8gZXJyb3I6IGJvdW5k cyBvZiBzYWxlc19ub2Vycm9yIGFyZSBiZXR3ZWVuIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVz X2ZlYjIwMjIKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxl c19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBG Uk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19ub2Vy cm9yIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAxMTApIFRPICgyMDIyMDEyMCksCkBAIC0zMjUs NyArMzI1LDcgQEAgRFJPUCBUQUJMRSBzYWxlc19yYW5nZTsKIENSRUFURSBUQUJMRSBzYWxl c19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBz YWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIElOVCkgUEFSVElUSU9OIEJZIFJBTkdFIChz YWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNh bGVzX3JhbmdlIERFRkFVTFQ7CiAKLS0tIG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9l cnJvciBlcXVhbHMgdG8gbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBvZiBzYWxlc19kZWMyMDIy IGFuZCBzYWxlc19mZWIyMDIyCistLSBubyBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJy b3IgYXJlIGVxdWFsIHRvIGxvd2VyIGFuZCB1cHBlciBib3VuZHMgb2Ygc2FsZXNfZGVjMjAy MiBhbmQgc2FsZXNfZmViMjAyMgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFS VElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBG T1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAxMDEpLAogICAgUEFSVElUSU9O IHNhbGVzX25vZXJyb3IgRk9SIFZBTFVFUyBGUk9NICgyMDIxMDEwMSkgVE8gKDIwMjEwMjAx KSwKQEAgLTM3Miw3ICszNzIsNyBAQCBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENBU0NBREU7 CiBEUk9QIFRBQkxFIHNhbGVzbWFucyBDQVNDQURFOwogCiAtLQotLS0gVGVzdDogc3BsaXQg cGFydGl0aW9uIG9uIHBhcnRpdGlvbmVkIHRhYmxlIGluIGNhc2UgZXhpc3RzIEZPUkVJR04g S0VZIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgdGFibGUKKy0tIFRlc3Q6IHNwbGl0IHBhcnRp dGlvbiBvbiBwYXJ0aXRpb25lZCB0YWJsZSBpbiBjYXNlIG9mIGV4aXN0aW5nIEZPUkVJR04g S0VZIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgdGFibGUKIC0tCiBDUkVBVEUgVEFCTEUgc2Fs ZXNtYW5zKHNhbGVzbWFuX2lkIElOVCBQUklNQVJZIEtFWSwgc2FsZXNtYW5fbmFtZSBWQVJD SEFSKDMwKSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc21hbl9pZCk7CiBDUkVBVEUgVEFC TEUgc2FsZXMgKHNhbGVzbWFuX2lkIElOVCBSRUZFUkVOQ0VTIHNhbGVzbWFucyhzYWxlc21h bl9pZCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgREFURSk7CkBAIC00NzAsMTIg KzQ3MCwxMiBAQCBEUk9QIEZVTkNUSU9OIGFmdGVyX2luc2VydF9yb3dfdHJpZ2dlcigpOwog CiAtLQogLS0gVGVzdDogc3BsaXQgcGFydGl0aW9uIHdpdGNoIGlkZW50aXR5IGNvbHVtbgot LS0gSWYgc3BsaXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0eS1jb2x1bW4sIGNvbHVt bnMgb2YgbmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5LWNvbHVtbnMgdG9vLgorLS0gSWYg c3BsaXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0eSBjb2x1bW4sIGNvbHVtbnMgb2Yg bmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5IGNvbHVtbnMgdG9vLgogLS0KIENSRUFURSBU QUJMRSBzYWxlc21hbnMoc2FsZXNtYW5faWQgSU5UIEdFTkVSQVRFRCBBTFdBWVMgQVMgSURF TlRJVFkgUFJJTUFSWSBLRVksIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpIFBBUlRJVElP TiBCWSBSQU5HRSAoc2FsZXNtYW5faWQpOwogCiBDUkVBVEUgVEFCTEUgc2FsZXNtYW5zMV8y IFBBUlRJVElPTiBPRiBzYWxlc21hbnMgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMik7Ci0t LSBDcmVhdGUgbmV3IHBhcnRpdGlvbiB3aXRoIGlkZW50aXR5LWNvbHVtbjoKKy0tIENyZWF0 ZSBuZXcgcGFydGl0aW9uIHdpdGggaWRlbnRpdHkgY29sdW1uOgogQ1JFQVRFIFRBQkxFIHNh bGVzbWFuczJfNShzYWxlc21hbl9pZCBJTlQgTk9UIE5VTEwsIHNhbGVzbWFuX25hbWUgVkFS Q0hBUigzMCkpOwogQUxURVIgVEFCTEUgc2FsZXNtYW5zIEFUVEFDSCBQQVJUSVRJT04gc2Fs ZXNtYW5zMl81IEZPUiBWQUxVRVMgRlJPTSAoMikgVE8gKDUpOwogCkBAIC00ODQsNyArNDg0 LDcgQEAgSU5TRVJUIElOVE8gc2FsZXNtYW5zIChzYWxlc21hbl9uYW1lKSBWQUxVRVMgKCdJ dmFub3YnKTsKIAogU0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQg RlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAnc2Fs ZXNtYW5zJzo6cmVnY2xhc3M6Om9pZDsKIFNFTEVDVCBhdHRuYW1lLCBhdHRpZGVudGl0eSwg YXR0Z2VuZXJhdGVkIEZST00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dG51bSA+IDAgQU5EIGF0 dHJlbGlkID0gJ3NhbGVzbWFuczFfMic6OnJlZ2NsYXNzOjpvaWQ7Ci0tLSBTcGxpdCBwYXJ0 aXRpb24gaGFzIGlkZW50aXR5LWNvbHVtbjoKKy0tIFNwbGl0IHBhcnRpdGlvbiBoYXMgaWRl bnRpdHkgY29sdW1uOgogU0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0 ZWQgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAn c2FsZXNtYW5zMl81Jzo6cmVnY2xhc3M6Om9pZDsKIAogQUxURVIgVEFCTEUgc2FsZXNtYW5z IFNQTElUIFBBUlRJVElPTiBzYWxlc21hbnMyXzUgSU5UTwpAQCAtNjMxLDggKzYzMSw4IEBA IERST1AgVEFCTEUgc2FsZXNfbGlzdDsKIAogLS0KIC0tIFRlc3Q6IHR3byBzcGVjaWZpYyBl cnJvcnMgZm9yIEJZIExJU1QgcGFydGl0aW9uaW5nOgotLS0gICAqIG5ldyBwYXJ0aXRpb25z IG5vdCBoYXMgTlVMTCB2YWx1ZSB0aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCi0tLSAgICog bmV3IHBhcnRpdGlvbnMgbm90IGhhcyBhIHZhbHVlIHRoYXQgc3BsaXQgcGFydGl0aW9uIGhh cy4KKy0tICAgKiBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSBOVUxMIHZhbHVlLCB3aGlj aCBzcGxpdCBwYXJ0aXRpb24gaGFzLgorLS0gICAqIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBo YXZlIGEgdmFsdWUgdGhhdCBzcGxpdCBwYXJ0aXRpb24gaGFzLgogLS0KIENSRUFURSBUQUJM RSBzYWxlc19saXN0CiAoc2FsZXNtYW5faWQgSU5ULApAQCAtNjQ1LDEzICs2NDUsMTMgQEAg UEFSVElUSU9OIEJZIExJU1QgKHNhbGVzX3N0YXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19u b3JkIFBBUlRJVElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxVRVMgSU4gKCdIZWxzaW5raScs ICdTdC4gUGV0ZXJzYnVyZycsICdPc2xvJyk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfYWxsIFBB UlRJVElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxVRVMgSU4gKCdXYXJzYXcnLCAnTGlzYm9u JywgJ05ldyBZb3JrJywgJ01hZHJpZCcsICdCZWppbmcnLCAnQmVybGluJywgJ0RlbGhpJywg J0t5aXYnLCAnVmxhZGl2b3N0b2snLCBOVUxMKTsKIAotLS0gRVJST1I6ICBuZXcgcGFydGl0 aW9ucyBub3QgaGF2ZSB2YWx1ZSBOVUxMIGJ1dCBzcGxpdCBwYXJ0aXRpb24gaGFzCistLSBF UlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0 IHBhcnRpdGlvbiBoYXMKIEFMVEVSIFRBQkxFIHNhbGVzX2xpc3QgU1BMSVQgUEFSVElUSU9O IHNhbGVzX2FsbCBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfd2VzdCBGT1IgVkFMVUVTIElO ICgnTGlzYm9uJywgJ05ldyBZb3JrJywgJ01hZHJpZCcpLAogICAgUEFSVElUSU9OIHNhbGVz X2Vhc3QgRk9SIFZBTFVFUyBJTiAoJ0JlamluZycsICdEZWxoaScsICdWbGFkaXZvc3Rvaycp LAogICAgUEFSVElUSU9OIHNhbGVzX2NlbnRyYWwgRk9SIFZBTFVFUyBJTiAoJ1dhcnNhdycs ICdCZXJsaW4nLCAnS3lpdicpKTsKIAotLS0gRVJST1I6ICBuZXcgcGFydGl0aW9ucyBub3Qg aGF2ZSB2YWx1ZSAnS3lpdicgYnV0IHNwbGl0IHBhcnRpdGlvbiBoYXMKKy0tIEVSUk9SOiAg bmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgdmFsdWUgJ0t5aXYnIGJ1dCBzcGxpdCBwYXJ0 aXRpb24gaGFzCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0IFNQTElUIFBBUlRJVElPTiBzYWxl c19hbGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xp c2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAgIFBBUlRJVElPTiBzYWxlc19lYXN0 IEZPUiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGknLCAnVmxhZGl2b3N0b2snKSwKQEAg LTcwMyw3ICs3MDMsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVzX2Vhc3Q7CiBTRUxFQ1QgKiBG Uk9NIHNhbGVzX25vcmQ7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2NlbnRyYWw7CiAKLS0tIFVz ZSBpbmRleHNjYW4gZm9yIHRlc3QgaW5kZXhlcyBhZnRlciBzcGxpdCBwYXJ0aXRpb24KKy0t IFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRlciBzcGxpdHRpbmcgcGFy dGl0aW9uCiBTRVQgZW5hYmxlX2luZGV4c2NhbiA9IE9OOwogU0VUIGVuYWJsZV9zZXFzY2Fu ID0gT0ZGOwogCi0tIAoyLjQwLjEud2luZG93cy4xCgo= --------------ZOWiI3TYwDCsFuKvTjMn7z58--