From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 2094 invoked from network); 9 Apr 2021 09:54:32 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Apr 2021 09:54:32 -0000 Content-Type: multipart/mixed; boundary="===============2598971199245985412==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_Portaudio_19=2E7=2E0?= To: ml@inbox.vuxu.org From: prez Reply-to: ml@inbox.vuxu.org Message-ID: Date: Fri, 09 Apr 2021 11:54:29 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============2598971199245985412== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHByZXogYWdhaW5zdCBtYXN0ZXIgb24gdGhl IHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3ByZXovdm9pZC1w YWNrYWdlcyBwb3J0YXVkaW8KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9wdWxsLzMwMTA4CgpQb3J0YXVkaW8gMTkuNy4wCjwhLS0gTWFyayBpdGVtcyB3aXRoIFt4 XSB3aGVyZSBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIEdlbmVyYWwNCi0gWyBdIFRoaXMgaXMgYSBu ZXcgcGFja2FnZSBhbmQgaXQgY29uZm9ybXMgdG8gdGhlIFtxdWFsaXR5IHJlcXVpcmVtZW50c10o aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9N YW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVudHMpDQoNCiMjIyMgSGF2ZSB0aGUgcmVzdWx0cyBv ZiB0aGUgcHJvcG9zZWQgY2hhbmdlcyBiZWVuIHRlc3RlZD8NCi0gWyBdIEkgdXNlIHRoZSBwYWNr YWdlcyBhZmZlY3RlZCBieSB0aGUgcHJvcG9zZWQgY2hhbmdlcyBvbiBhIHJlZ3VsYXIgYmFzaXMg YW5kIGNvbmZpcm0gdGhpcyBQUiB3b3JrcyBmb3IgbWUNCi0gW3hdIEkgZ2VuZXJhbGx5IGRvbid0 IHVzZSB0aGUgYWZmZWN0ZWQgcGFja2FnZXMgYnV0IGJyaWVmbHkgdGVzdGVkIHRoaXMgUFINCg0K PCEtLQ0KSWYgR2l0SHViIENJIGNhbm5vdCBiZSB1c2VkIHRvIHZhbGlkYXRlIHRoZSBidWlsZCBy ZXN1bHQgKGZvciBleGFtcGxlLCBpZiB0aGUNCmJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIHNldmVy YWwgaG91cnMpLCBtYWtlIHN1cmUgdG8NCltza2lwIENJXShodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51 b3VzLWludGVncmF0aW9uKS4NCldoZW4gc2tpcHBpbmcgQ0ksIHVuY29tbWVudCBhbmQgZmlsbCBv dXQgdGhlIGZvbGxvd2luZyBzZWN0aW9uLg0KTm90ZTogZm9yIGJ1aWxkcyB0aGF0IGFyZSBsaWtl bHkgdG8gY29tcGxldGUgaW4gbGVzcyB0aGFuIDIgaG91cnMsIGl0IGlzIG5vdA0KYWNjZXB0YWJs ZSB0byBza2lwIENJLg0KLS0+DQo8IS0tIA0KIyMjIyBEb2VzIGl0IGJ1aWxkIGFuZCBydW4gc3Vj Y2Vzc2Z1bGx5PyANCihQbGVhc2UgY2hvb3NlIGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5k LCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4gTW9yZSBhcmUgYmV0dGVy LikNCi0gW3hdIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0 dXJlLCAoeDg2XzY0LW11c2wpDQotIFsgXSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhl c2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRzKToNCiAgLSBb IF0gYWFyY2g2NC1tdXNsDQogIC0gWyBdIGFybXY3bA0KICAtIFsgXSBhcm12NmwtbXVzbA0KLS0+ DQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zMDEwOC5wYXRjaCBpcyBhdHRhY2hlZA== --===============2598971199245985412== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-portaudio-30108.patch" RnJvbSAwYTg5YzY5M2VmZmQ1ODMzNWY2Mjg0OTdkNzg2MjYzYzAxZWRjYTE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBwcmV6IDxwcmV6QG5hdGlvbmFsLnNoaXRwb3N0aW5nLmFnZW5j eT4KRGF0ZTogRnJpLCA5IEFwciAyMDIxIDExOjIzOjA1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAw MS8yMl0gcG9ydGF1ZGlvOiB1cGRhdGUgdG8gMTkuNy4wLgoKLS0tCiBjb21tb24vc2hsaWJzICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIC4uLi9wb3J0YXVkaW8vcGF0 Y2hlcy9hdWRhY2l0eS1jb21wYXQucGF0Y2ggICB8IDM0NCAtLS0tLS0tCiBzcmNwa2dzL3BvcnRh dWRpby9wYXRjaGVzL3NuZGlvLnBhdGNoICAgICAgICAgfCA4ODMgLS0tLS0tLS0tLS0tLS0tLS0t CiBzcmNwa2dzL3BvcnRhdWRpby90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDggKy0K IDQgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxMjMzIGRlbGV0aW9ucygtKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcG9ydGF1ZGlvL3BhdGNoZXMvYXVkYWNpdHktY29tcGF0 LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wb3J0YXVkaW8vcGF0Y2hlcy9zbmRp by5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IDI5NmI5M2U1ZjIyYi4uZGRiMzJjODRhY2EzIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTE3NTcsOCArMTc1Nyw4IEBAIGxpYnhtbHNlYzEtZ2NyeXB0 LnNvLjEgeG1sc2VjMS0xLjIuMzFfMgogbGlieG1sc2VjMS1nbnV0bHMuc28uMSB4bWxzZWMxLTEu Mi4zMV8yCiBsaWJlZml2YXIuc28uMSBsaWJlZml2YXItMzFfMQogbGliZWZpYm9vdC5zby4xIGxp YmVmaXZhci0zMV8xCi1saWJwb3J0YXVkaW8uc28uMiBwb3J0YXVkaW8tMTkuMjAxNDAxMzBfMQot bGlicG9ydGF1ZGlvY3BwLnNvLjAgcG9ydGF1ZGlvLWNwcC0xOS4yMDE0MDEzMF8xCitsaWJwb3J0 YXVkaW8uc28uMiBwb3J0YXVkaW8tMTkuNy4wXzEKK2xpYnBvcnRhdWRpb2NwcC5zby4wIHBvcnRh dWRpby1jcHAtMTkuNy4wXzEKIGxpYmRhci5zby42MDAwIGxpYmRhci0yLjYuNl8xCiBsaWJkYXI2 NC5zby42MDAwIGxpYmRhci0yLjYuNl8xCiBsaWJweXRob24zLnNvIHB5dGhvbjMtMy45LjJfMgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9wb3J0YXVkaW8vcGF0Y2hlcy9hdWRhY2l0eS1jb21wYXQucGF0 Y2ggYi9zcmNwa2dzL3BvcnRhdWRpby9wYXRjaGVzL2F1ZGFjaXR5LWNvbXBhdC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWYzYjdhNDgyNDE5Li4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9wb3J0YXVkaW8vcGF0Y2hlcy9hdWRhY2l0eS1jb21wYXQucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwzNDQgKzAsMCBAQAotU291cmNlOiBodHRwczovL2dpdC5zYXZhbm5haC5n bnUub3JnL2NnaXQvZ3VpeC5naXQvdHJlZS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9wb3J0YXVkaW8t YXVkYWNpdHktY29tcGF0LnBhdGNoCi1VcHN0cmVhbTogTm8KLVJlYXNvbjogQXVkYWNpdHkgbmVl ZHMgUGFfR2V0U3RyZWFtSG9zdEFwaVR5cGUgdG8gdXNlIHN5c3RlbSB3aWRlIHBvcnRhdWRpbwot Ci0KLWRpZmYgLS1naXQgY29uZmlndXJlLmluIGNvbmZpZ3VyZS5pbgotaW5kZXggMTM4MTZmYi4u ODNjMjM5YSAxMDA2NDQKLS0tLSBjb25maWd1cmUuaW4KLSsrKyBjb25maWd1cmUuaW4KLUBAIC00 MjAsNiArNDIwLDcgQEAgY2FzZSAiJHtob3N0X29zfSIgaW4KLSAgICAgICAgICAgICAgICAgICAg RExMX0xJQlM9IiRETExfTElCUyAtbG9zc2F1ZGlvIgotICAgICAgICAgICAgICAgICAgICBMSUJT PSIkTElCUyAtbG9zc2F1ZGlvIgotICAgICAgICAgICAgZmkKLSsgICAgICAgICAgIElOQ0xVREVT PSIkSU5DTFVERVMgcGFfdW5peF9vc3MuaCIKLSAgICAgICAgICAgIEFDX0RFRklORShQQV9VU0Vf T1NTLDEpCi0gICAgICAgICBmaQotIAotZGlmZiAtLWdpdCBpbmNsdWRlL3BhX3VuaXhfb3NzLmgg aW5jbHVkZS9wYV91bml4X29zcy5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MC4uNjRlMDRjYgotLS0tIC9kZXYvbnVsbAotKysrIGluY2x1ZGUvcGFfdW5peF9vc3MuaAotQEAg LTAsMCArMSwxMDQgQEAKLSsjaWZuZGVmIFBBX1VOSVhfT1NTX0gKLSsjZGVmaW5lIFBBX1VOSVhf T1NTX0gKLSsKLSsvKgotKyAqICRJZDogcG9ydGF1ZGlvLnBhdGNoLHYgMS4xMCAyMDA5LTA2LTMw IDA0OjUyOjU5IGxsdWNpdXMgRXhwICQKLSsgKiBQb3J0QXVkaW8gUG9ydGFibGUgUmVhbC1UaW1l IEF1ZGlvIExpYnJhcnkKLSsgKiBPU1Mtc3BlY2lmaWMgZXh0ZW5zaW9ucwotKyAqCi0rICogQ29w eXJpZ2h0IChjKSAxOTk5LTIwMDAgUm9zcyBCZW5jaW5hIGFuZCBQaGlsIEJ1cmsKLSsgKgotKyAq IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy c29uIG9idGFpbmluZwotKyAqIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMKLSsgKiAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLAotKyAqIGluY2x1ZGluZyB3aXRob3V0IGxp bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsCi0rICogcHVi bGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBT b2Z0d2FyZSwKLSsgKiBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLAotKyAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25k aXRpb25zOgotKyAqCi0rICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKLSsgKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1 YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLSsgKgotKyAqIEFueSBwZXJzb24g d2lzaGluZyB0byBkaXN0cmlidXRlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIFNvZnR3YXJlIGlzCi0r ICogcmVxdWVzdGVkIHRvIHNlbmQgdGhlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIG9yaWdpbmFsIGRl dmVsb3BlciBzbyB0aGF0Ci0rICogdGhleSBjYW4gYmUgaW5jb3Jwb3JhdGVkIGludG8gdGhlIGNh bm9uaWNhbCB2ZXJzaW9uLgotKyAqCi0rICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCi0rICogRVhQUkVTUyBPUiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCi0rICogTUVS Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G UklOR0VNRU5ULgotKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI VCBIT0xERVJTIEJFIExJQUJMRSBGT1IKLSsgKiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRgotKyAqIENPTlRSQUNULCBUT1JUIE9S IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTgotKyAqIFdJ VEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRX QVJFLgotKyAqCi0rICovCi0rCi0rLyoqIEBmaWxlCi0rICogT1NTLXNwZWNpZmljIFBvcnRBdWRp byBBUEkgZXh0ZW5zaW9uIGhlYWRlciBmaWxlLgotKyAqLwotKwotKyNpZmRlZiBfX2NwbHVzcGx1 cwotK2V4dGVybiAiQyIgewotKyNlbmRpZgotKwotK2NvbnN0IGNoYXIgKlBhT1NTX0dldFN0cmVh bUlucHV0RGV2aWNlKCBQYVN0cmVhbSAqcyApOwotKwotK2NvbnN0IGNoYXIgKlBhT1NTX0dldFN0 cmVhbU91dHB1dERldmljZSggUGFTdHJlYW0gKnMgKTsKLSsKLSsjaWZkZWYgX19jcGx1c3BsdXMK LSt9Ci0rI2VuZGlmCi0rCi0rI2VuZGlmCi0rI2lmbmRlZiBQQV9VTklYX09TU19ICi0rI2RlZmlu ZSBQQV9VTklYX09TU19ICi0rCi0rLyoKLSsgKiAkSWQ6IHBvcnRhdWRpby5wYXRjaCx2IDEuMTAg MjAwOS0wNi0zMCAwNDo1Mjo1OSBsbHVjaXVzIEV4cCAkCi0rICogUG9ydEF1ZGlvIFBvcnRhYmxl IFJlYWwtVGltZSBBdWRpbyBMaWJyYXJ5Ci0rICogT1NTLXNwZWNpZmljIGV4dGVuc2lvbnMKLSsg KgotKyAqIENvcHlyaWdodCAoYykgMTk5OS0yMDAwIFJvc3MgQmVuY2luYSBhbmQgUGhpbCBCdXJr Ci0rICoKLSsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKLSsgKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQg YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzCi0rICogKHRoZSAiU29mdHdhcmUiKSwgdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwKLSsgKiBpbmNsdWRpbmcg d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl LAotKyAqIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsCi0rICogYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKLSsgKiBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKLSsgKgotKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCi0rICogaW5jbHVkZWQgaW4gYWxsIGNv cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi0rICoKLSsgKiBB bnkgcGVyc29uIHdpc2hpbmcgdG8gZGlzdHJpYnV0ZSBtb2RpZmljYXRpb25zIHRvIHRoZSBTb2Z0 d2FyZSBpcwotKyAqIHJlcXVlc3RlZCB0byBzZW5kIHRoZSBtb2RpZmljYXRpb25zIHRvIHRoZSBv cmlnaW5hbCBkZXZlbG9wZXIgc28gdGhhdAotKyAqIHRoZXkgY2FuIGJlIGluY29ycG9yYXRlZCBp bnRvIHRoZSBjYW5vbmljYWwgdmVyc2lvbi4KLSsgKgotKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAotKyAqIEVYUFJFU1Mg T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP RgotKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4KLSsgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SCi0rICogQU5ZIENMQUlNLCBEQU1BR0VT IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YKLSsgKiBDT05UUkFD VCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ T04KLSsgKiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO IFRIRSBTT0ZUV0FSRS4KLSsgKgotKyAqLwotKwotKy8qKiBAZmlsZQotKyAqIE9TUy1zcGVjaWZp YyBQb3J0QXVkaW8gQVBJIGV4dGVuc2lvbiBoZWFkZXIgZmlsZS4KLSsgKi8KLSsKLSsjaWZkZWYg X19jcGx1c3BsdXMKLStleHRlcm4gIkMiIHsKLSsjZW5kaWYKLSsKLStjb25zdCBjaGFyICpQYU9T U19HZXRTdHJlYW1JbnB1dERldmljZSggUGFTdHJlYW0gKnMgKTsKLSsKLStjb25zdCBjaGFyICpQ YU9TU19HZXRTdHJlYW1PdXRwdXREZXZpY2UoIFBhU3RyZWFtICpzICk7Ci0rCi0rI2lmZGVmIF9f Y3BsdXNwbHVzCi0rfQotKyNlbmRpZgotKwotKyNlbmRpZgotZGlmZiAtLWdpdCBpbmNsdWRlL3Bh X3dpbl9kcy5oIGluY2x1ZGUvcGFfd2luX2RzLmgKLWluZGV4IDVkMzg2NDEuLmJhMWMyNDUgMTAw NjQ0Ci0tLS0gaW5jbHVkZS9wYV93aW5fZHMuaAotKysrIGluY2x1ZGUvcGFfd2luX2RzLmgKLUBA IC04Niw2ICs4NiwyMSBAQCB0eXBlZGVmIHN0cnVjdCBQYVdpbkRpcmVjdFNvdW5kU3RyZWFtSW5m b3sKLSAKLSB9UGFXaW5EaXJlY3RTb3VuZFN0cmVhbUluZm87Ci0gCi0rLyoqIFJldHJpZXZlIHRo ZSBHVUlEIG9mIHRoZSBpbnB1dCBkZXZpY2UuCi0rCi0rIEBwYXJhbSBzdHJlYW0gVGhlIHN0cmVh bSB0byBxdWVyeS4KLSsKLSsgQHJldHVybiBBIHBvaW50ZXIgdG8gdGhlIEdVSUQsIG9yIE5VTEwg aWYgbm9uZS4KLSsqLwotK0xQR1VJRCBQYVdpbkRTX0dldFN0cmVhbUlucHV0R1VJRCggUGFTdHJl YW0qIHMgKTsKLSsKLSsvKiogUmV0cmlldmUgdGhlIEdVSUQgb2YgdGhlIG91dHB1dCBkZXZpY2Uu Ci0rCi0rIEBwYXJhbSBzdHJlYW0gVGhlIHN0cmVhbSB0byBxdWVyeS4KLSsKLSsgQHJldHVybiBB IHBvaW50ZXIgdG8gdGhlIEdVSUQsIG9yIE5VTEwgaWYgbm9uZS4KLSsqLwotK0xQR1VJRCBQYVdp bkRTX0dldFN0cmVhbU91dHB1dEdVSUQoIFBhU3RyZWFtKiBzICk7Ci0gCi0gCi0gI2lmZGVmIF9f Y3BsdXNwbHVzCi1kaWZmIC0tZ2l0IGluY2x1ZGUvcG9ydGF1ZGlvLmggaW5jbHVkZS9wb3J0YXVk aW8uaAotaW5kZXggOGE5NGFhZi4uOWM4YTI5NSAxMDA2NDQKLS0tLSBpbmNsdWRlL3BvcnRhdWRp by5oCi0rKysgaW5jbHVkZS9wb3J0YXVkaW8uaAotQEAgLTExOTcsNiArMTE5NywxNSBAQCBzaWdu ZWQgbG9uZyBQYV9HZXRTdHJlYW1SZWFkQXZhaWxhYmxlKCBQYVN0cmVhbSogc3RyZWFtICk7Ci0g c2lnbmVkIGxvbmcgUGFfR2V0U3RyZWFtV3JpdGVBdmFpbGFibGUoIFBhU3RyZWFtKiBzdHJlYW0g KTsKLSAKLSAKLSsvKiogUmV0cmlldmUgdGhlIGhvc3QgdHlwZSBoYW5kbGluZyBhbiBvcGVuIHN0 cmVhbS4KLSsKLSsgQHJldHVybiBSZXR1cm5zIGEgbm9uLW5lZ2F0aXZlIHZhbHVlIHJlcHJlc2Vu dGluZyB0aGUgaG9zdCBBUEkgdHlwZQotKyBoYW5kbGluZyBhbiBvcGVuIHN0cmVhbSBvciwgYSBQ YUVycm9yQ29kZSAod2hpY2ggYXJlIGFsd2F5cyBuZWdhdGl2ZSkKLSsgaWYgUG9ydEF1ZGlvIGlz IG5vdCBpbml0aWFsaXplZCBvciBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZC4KLSsqLwotK1BhSG9z dEFwaVR5cGVJZCBQYV9HZXRTdHJlYW1Ib3N0QXBpVHlwZSggUGFTdHJlYW0qIHN0cmVhbSApOwot KwotKwotIC8qIE1pc2NlbGxhbmVvdXMgdXRpbGl0aWVzICovCi0gCi0gCi1kaWZmIC0tZ2l0IHNy Yy9jb21tb24vcGFfZnJvbnQuYyBzcmMvY29tbW9uL3BhX2Zyb250LmMKLWluZGV4IDE4OGNlZTku LjUyZjQ0YTYgMTAwNjQ0Ci0tLS0gc3JjL2NvbW1vbi9wYV9mcm9udC5jCi0rKysgc3JjL2NvbW1v bi9wYV9mcm9udC5jCi1AQCAtMTI1Nyw4ICsxMjU3LDEwIEBAIFBhRXJyb3IgUGFfT3BlblN0cmVh bSggUGFTdHJlYW0qKiBzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhvc3RBcGlJbnB1dFBhcmFtZXRlcnNQdHIsIGhvc3RBcGlPdXRwdXRQYXJhbWV0ZXJzUHRyLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVSYXRlLCBmcmFtZXNQZXJC dWZmZXIsIHN0cmVhbUZsYWdzLCBzdHJlYW1DYWxsYmFjaywgdXNlckRhdGEgKTsKLSAKLS0gICAg aWYoIHJlc3VsdCA9PSBwYU5vRXJyb3IgKQotKyAgICBpZiggcmVzdWx0ID09IHBhTm9FcnJvciAp IHsKLSAgICAgICAgIEFkZE9wZW5TdHJlYW0oICpzdHJlYW0gKTsKLSsgICAgICAgIFBBX1NUUkVB TV9SRVAoKnN0cmVhbSktPmhvc3RBcGlUeXBlID0gaG9zdEFwaS0+aW5mby50eXBlOwotKyAgICB9 Ci0gCi0gCi0gICAgIFBBX0xPR0FQSSgoIlBhX09wZW5TdHJlYW0gcmV0dXJuZWQ6XG4iICkpOwot QEAgLTE3NzAsNiArMTc3MiwzMiBAQCBzaWduZWQgbG9uZyBQYV9HZXRTdHJlYW1Xcml0ZUF2YWls YWJsZSggUGFTdHJlYW0qIHN0cmVhbSApCi0gICAgIHJldHVybiByZXN1bHQ7Ci0gfQotIAotK1Bh SG9zdEFwaVR5cGVJZCBQYV9HZXRTdHJlYW1Ib3N0QXBpVHlwZSggUGFTdHJlYW0qIHN0cmVhbSAp Ci0rewotKyAgICBQYUVycm9yIGVycm9yID0gUGFVdGlsX1ZhbGlkYXRlU3RyZWFtUG9pbnRlcigg c3RyZWFtICk7Ci0rICAgIFBhSG9zdEFwaVR5cGVJZCByZXN1bHQ7Ci0rCi0rI2lmZGVmIFBBX0xP R19BUElfQ0FMTFMKLSsgICAgUGFVdGlsX0RlYnVnUHJpbnQoIlBhX0dldFN0cmVhbUhvc3RBcGlU eXBlIGNhbGxlZDpcbiIgKTsKLSsgICAgUGFVdGlsX0RlYnVnUHJpbnQoIlx0UGFTdHJlYW0qIHN0 cmVhbTogMHglcFxuIiwgc3RyZWFtICk7Ci0rI2VuZGlmCi0rCi0rICAgIGlmKCBlcnJvciA9PSBw YU5vRXJyb3IgKQotKyAgICB7Ci0rICAgICAgICByZXN1bHQgPSBQQV9TVFJFQU1fUkVQKHN0cmVh bSktPmhvc3RBcGlUeXBlOwotKyAgICB9Ci0rICAgIGVsc2UKLSsgICAgewotKyAgICAgICAgcmVz dWx0ID0gKFBhSG9zdEFwaVR5cGVJZCkgZXJyb3I7Ci0rICAgIH0KLSsKLSsjaWZkZWYgUEFfTE9H X0FQSV9DQUxMUwotKyAgICBQYVV0aWxfRGVidWdQcmludCgiUGFfR2V0U3RyZWFtSG9zdEFwaVR5 cGUgcmV0dXJuZWQ6XG4iICk7Ci0rICAgIFBhVXRpbF9EZWJ1Z1ByaW50KCJcdFBhRXJyb3I6ICVk ICggJXMgKVxuXG4iLCByZXN1bHQsIFBhX0dldEVycm9yVGV4dCggcmVzdWx0ICkgKTsKLSsjZW5k aWYKLSsKLSsgICAgcmV0dXJuIHJlc3VsdDsKLSt9Ci0gCi0gUGFFcnJvciBQYV9HZXRTYW1wbGVT aXplKCBQYVNhbXBsZUZvcm1hdCBmb3JtYXQgKQotIHsKLWRpZmYgLS1naXQgc3JjL2NvbW1vbi9w YV9zdHJlYW0uYyBzcmMvY29tbW9uL3BhX3N0cmVhbS5jCi1pbmRleCAwM2EwZWU2Li5jNDM3NmY5 IDEwMDY0NAotLS0tIHNyYy9jb21tb24vcGFfc3RyZWFtLmMKLSsrKyBzcmMvY29tbW9uL3BhX3N0 cmVhbS5jCi1AQCAtOTMsNiArOTMsOCBAQCB2b2lkIFBhVXRpbF9Jbml0aWFsaXplU3RyZWFtUmVw cmVzZW50YXRpb24oIFBhVXRpbFN0cmVhbVJlcHJlc2VudGF0aW9uICpzdHJlYW1SZQotICAgICBz dHJlYW1SZXByZXNlbnRhdGlvbi0+c3RyZWFtSW5mby5pbnB1dExhdGVuY3kgPSAwLjsKLSAgICAg c3RyZWFtUmVwcmVzZW50YXRpb24tPnN0cmVhbUluZm8ub3V0cHV0TGF0ZW5jeSA9IDAuOwotICAg ICBzdHJlYW1SZXByZXNlbnRhdGlvbi0+c3RyZWFtSW5mby5zYW1wbGVSYXRlID0gMC47Ci0rCi0r ICAgIHN0cmVhbVJlcHJlc2VudGF0aW9uLT5ob3N0QXBpVHlwZSA9IDA7Ci0gfQotIAotIAotZGlm ZiAtLWdpdCBzcmMvY29tbW9uL3BhX3N0cmVhbS5oIHNyYy9jb21tb24vcGFfc3RyZWFtLmgKLWlu ZGV4IDY3OGUyYWQuLjcwNTcyYzcgMTAwNjQ0Ci0tLS0gc3JjL2NvbW1vbi9wYV9zdHJlYW0uaAot KysrIHNyYy9jb21tb24vcGFfc3RyZWFtLmgKLUBAIC0xNTIsNiArMTUyLDcgQEAgdHlwZWRlZiBz dHJ1Y3QgUGFVdGlsU3RyZWFtUmVwcmVzZW50YXRpb24gewotICAgICBQYVN0cmVhbUZpbmlzaGVk Q2FsbGJhY2sgKnN0cmVhbUZpbmlzaGVkQ2FsbGJhY2s7Ci0gICAgIHZvaWQgKnVzZXJEYXRhOwot ICAgICBQYVN0cmVhbUluZm8gc3RyZWFtSW5mbzsKLSsgICAgUGFIb3N0QXBpVHlwZUlkIGhvc3RB cGlUeXBlOwotIH0gUGFVdGlsU3RyZWFtUmVwcmVzZW50YXRpb247Ci0gCi0gCi1kaWZmIC0tZ2l0 IHNyYy9ob3N0YXBpL2Fsc2EvcGFfbGludXhfYWxzYS5jIHNyYy9ob3N0YXBpL2Fsc2EvcGFfbGlu dXhfYWxzYS5jCi1pbmRleCA1ODRjZGU4Li41NThmYjNkIDEwMDY0NAotLS0tIHNyYy9ob3N0YXBp L2Fsc2EvcGFfbGludXhfYWxzYS5jCi0rKysgc3JjL2hvc3RhcGkvYWxzYS9wYV9saW51eF9hbHNh LmMKLUBAIC02MjEsNiArNjIxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QKLSAgICAgU3RyZWFtRGlyZWN0 aW9uIHN0cmVhbURpcjsKLSAKLSAgICAgc25kX3BjbV9jaGFubmVsX2FyZWFfdCAqY2hhbm5lbEFy ZWFzOyAgLyogTmVlZGVkIGZvciBjaGFubmVsIGFkYXB0aW9uICovCi0rICAgIGludCBjYXJkOwot IH0gUGFBbHNhU3RyZWFtQ29tcG9uZW50OwotIAotIC8qIEltcGxlbWVudGF0aW9uIHNwZWNpZmlj IHN0cmVhbSBzdHJ1Y3R1cmUgKi8KLUBAIC0xODczLDYgKzE4NzQsNyBAQCBzdGF0aWMgUGFFcnJv ciBQYUFsc2FTdHJlYW1Db21wb25lbnRfSW5pdGlhbGl6ZSggUGFBbHNhU3RyZWFtQ29tcG9uZW50 ICpzZWxmLCBQYQotIHsKLSAgICAgUGFFcnJvciByZXN1bHQgPSBwYU5vRXJyb3I7Ci0gICAgIFBh U2FtcGxlRm9ybWF0IHVzZXJTYW1wbGVGb3JtYXQgPSBwYXJhbXMtPnNhbXBsZUZvcm1hdCwgaG9z dFNhbXBsZUZvcm1hdCA9IHBhTm9FcnJvcjsKLSsgICAgc25kX3BjbV9pbmZvX3QqIHBjbUluZm87 Ci0gICAgIGFzc2VydCggcGFyYW1zLT5jaGFubmVsQ291bnQgPiAwICk7Ci0gCi0gICAgIC8qIE1h a2Ugc3VyZSB0aGluZ3MgaGF2ZSBhbiBpbml0aWFsIHZhbHVlICovCi1AQCAtMTkwMCw2ICsxOTAy LDkgQEAgc3RhdGljIFBhRXJyb3IgUGFBbHNhU3RyZWFtQ29tcG9uZW50X0luaXRpYWxpemUoIFBh QWxzYVN0cmVhbUNvbXBvbmVudCAqc2VsZiwgUGEKLSAgICAgc2VsZi0+ZGV2aWNlID0gcGFyYW1z LT5kZXZpY2U7Ci0gCi0gICAgIFBBX0VOU1VSRSggQWxzYU9wZW4oICZhbHNhQXBpLT5iYXNlSG9z dEFwaVJlcCwgcGFyYW1zLCBzdHJlYW1EaXIsICZzZWxmLT5wY20gKSApOwotKwotKyAgICBzbmRf cGNtX2luZm9fYWxsb2NhKCAmcGNtSW5mbyApOwotKyAgICBzZWxmLT5jYXJkID0gc25kX3BjbV9p bmZvX2dldF9jYXJkKCBwY21JbmZvICk7Ci0gICAgIHNlbGYtPm5mZHMgPSBhbHNhX3NuZF9wY21f cG9sbF9kZXNjcmlwdG9yc19jb3VudCggc2VsZi0+cGNtICk7Ci0gCi0gICAgIFBBX0VOU1VSRSgg aG9zdFNhbXBsZUZvcm1hdCA9IFBhVXRpbF9TZWxlY3RDbG9zZXN0QXZhaWxhYmxlRm9ybWF0KCBH ZXRBdmFpbGFibGVGb3JtYXRzKCBzZWxmLT5wY20gKSwgdXNlclNhbXBsZUZvcm1hdCApICk7Ci1A QCAtNDYwNSw5ICs0NjEwLDcgQEAgUGFFcnJvciBQYUFsc2FfR2V0U3RyZWFtSW5wdXRDYXJkKCBQ YVN0cmVhbSogcywgaW50KiBjYXJkICkKLSAgICAgLyogWFhYOiBNb3JlIGRlc2NyaXB0aXZlIGVy cm9yPyAqLwotICAgICBQQV9VTkxFU1MoIHN0cmVhbS0+Y2FwdHVyZS5wY20sIHBhRGV2aWNlVW5h dmFpbGFibGUgKTsKLSAKLS0gICAgYWxzYV9zbmRfcGNtX2luZm9fYWxsb2NhKCAmcGNtSW5mbyAp OwotLSAgICBQQV9FTlNVUkUoIGFsc2Ffc25kX3BjbV9pbmZvKCBzdHJlYW0tPmNhcHR1cmUucGNt LCBwY21JbmZvICkgKTsKLS0gICAgKmNhcmQgPSBhbHNhX3NuZF9wY21faW5mb19nZXRfY2FyZCgg cGNtSW5mbyApOwotKyAgICAqY2FyZCA9IHN0cmVhbS0+Y2FwdHVyZS5jYXJkOwotIAotIGVycm9y OgotICAgICByZXR1cm4gcmVzdWx0OwotQEAgLTQ2MjQsOSArNDYyNyw3IEBAIFBhRXJyb3IgUGFB bHNhX0dldFN0cmVhbU91dHB1dENhcmQoIFBhU3RyZWFtKiBzLCBpbnQqIGNhcmQgKQotICAgICAv KiBYWFg6IE1vcmUgZGVzY3JpcHRpdmUgZXJyb3I/ICovCi0gICAgIFBBX1VOTEVTUyggc3RyZWFt LT5wbGF5YmFjay5wY20sIHBhRGV2aWNlVW5hdmFpbGFibGUgKTsKLSAKLS0gICAgYWxzYV9zbmRf cGNtX2luZm9fYWxsb2NhKCAmcGNtSW5mbyApOwotLSAgICBQQV9FTlNVUkUoIGFsc2Ffc25kX3Bj bV9pbmZvKCBzdHJlYW0tPnBsYXliYWNrLnBjbSwgcGNtSW5mbyApICk7Ci0tICAgICpjYXJkID0g YWxzYV9zbmRfcGNtX2luZm9fZ2V0X2NhcmQoIHBjbUluZm8gKTsKLSsgICAgKmNhcmQgPSBzdHJl YW0tPnBsYXliYWNrLmNhcmQ7Ci0gCi0gZXJyb3I6Ci0gICAgIHJldHVybiByZXN1bHQ7Ci1kaWZm IC0tZ2l0IHNyYy9ob3N0YXBpL2NvcmVhdWRpby9wYV9tYWNfY29yZV9ibG9ja2luZy5jIHNyYy9o b3N0YXBpL2NvcmVhdWRpby9wYV9tYWNfY29yZV9ibG9ja2luZy5jCi1pbmRleCA2NzljNmJhLi5h NjllMDg1IDEwMDY0NAotLS0tIHNyYy9ob3N0YXBpL2NvcmVhdWRpby9wYV9tYWNfY29yZV9ibG9j a2luZy5jCi0rKysgc3JjL2hvc3RhcGkvY29yZWF1ZGlvL3BhX21hY19jb3JlX2Jsb2NraW5nLmMK LUBAIC02Niw2ICs2Niw5IEBACi0gI2lmZGVmIE1PU1hfVVNFX05PTl9BVE9NSUNfRkxBR19CSVRT Ci0gIyBkZWZpbmUgT1NBdG9taWNPcjMyKCBhLCBiICkgKCAoKihiKSkgfD0gKGEpICkKLSAjIGRl ZmluZSBPU0F0b21pY0FuZDMyKCBhLCBiICkgKCAoKihiKSkgJj0gKGEpICkKLSsjZWxpZiBNQUNf T1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDw9IE1BQ19PU19YX1ZFUlNJT05fMTBfMwotKyMgZGVm aW5lIE9TQXRvbWljT3IzMiggYSwgYiApIEJpdE9yQXRvbWljKCBhLCAoVUludDMyICopIGIgKQot KyMgZGVmaW5lIE9TQXRvbWljQW5kMzIoIGEsIGIgKSBCaXRBbmRBdG9taWMoIGEsIChVSW50MzIg KikgYiApCi0gI2Vsc2UKLSAjIGluY2x1ZGUgPGxpYmtlcm4vT1NBdG9taWMuaD4KLSAjZW5kaWYK LWRpZmYgLS1naXQgc3JjL2hvc3RhcGkvb3NzL3BhX3VuaXhfb3NzLmMgc3JjL2hvc3RhcGkvb3Nz L3BhX3VuaXhfb3NzLmMKLWluZGV4IDUxZTk2MzAuLmYyNTdkODAgMTAwNjQ0Ci0tLS0gc3JjL2hv c3RhcGkvb3NzL3BhX3VuaXhfb3NzLmMKLSsrKyBzcmMvaG9zdGFwaS9vc3MvcGFfdW5peF9vc3Mu YwotQEAgLTIwNDMsMyArMjA0MywyNiBAQCBlcnJvcjoKLSAjZW5kaWYKLSB9Ci0gCi0rY29uc3Qg Y2hhciAqUGFPU1NfR2V0U3RyZWFtSW5wdXREZXZpY2UoIFBhU3RyZWFtKiBzICkKLSt7Ci0rICAg IFBhT3NzU3RyZWFtICpzdHJlYW0gPSAoUGFPc3NTdHJlYW0qKXM7Ci0rCi0rICAgIGlmKCBzdHJl YW0tPmNhcHR1cmUgKQotKyAgICB7Ci0rICAgICAgcmV0dXJuIHN0cmVhbS0+Y2FwdHVyZS0+ZGV2 TmFtZTsKLSsgICAgfQotKwotKyAgIHJldHVybiBOVUxMOwotK30KLSsKLStjb25zdCBjaGFyICpQ YU9TU19HZXRTdHJlYW1PdXRwdXREZXZpY2UoIFBhU3RyZWFtKiBzICkKLSt7Ci0rICAgIFBhT3Nz U3RyZWFtICpzdHJlYW0gPSAoUGFPc3NTdHJlYW0qKXM7Ci0rCi0rICAgIGlmKCBzdHJlYW0tPnBs YXliYWNrICkKLSsgICAgewotKyAgICAgIHJldHVybiBzdHJlYW0tPnBsYXliYWNrLT5kZXZOYW1l OwotKyAgICB9Ci0rCi0rICAgcmV0dXJuIE5VTEw7Ci0rfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9w b3J0YXVkaW8vcGF0Y2hlcy9zbmRpby5wYXRjaCBiL3NyY3BrZ3MvcG9ydGF1ZGlvL3BhdGNoZXMv c25kaW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlNDNlM2ZjZWRkMy4u MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcG9ydGF1ZGlvL3BhdGNoZXMvc25kaW8ucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw4ODMgKzAsMCBAQAotZGlmZiAtLWdpdCBNYWtlZmlsZS5pbiBN YWtlZmlsZS5pbgotaW5kZXggNWUxYTc2NC4uMjc0N2Y3MyAxMDA2NDQKLS0tLSBNYWtlZmlsZS5p bgotKysrIE1ha2VmaWxlLmluCi1AQCAtNDQsNyArNDQsNyBAQCBQQUxJQiA9IGxpYnBvcnRhdWRp by5sYQotIFBBSU5DID0gaW5jbHVkZS9wb3J0YXVkaW8uaAotIAotIFBBX0xERkxBR1MgPSAkKExE RkxBR1MpICQoU0hBUkVEX0ZMQUdTKSAtcnBhdGggJChsaWJkaXIpIC1uby11bmRlZmluZWQgXAot LQkgICAgIC1leHBvcnQtc3ltYm9scy1yZWdleCAiKFBhfFBhTWFjQ29yZXxQYUphY2t8UGFBbHNh fFBhQXNpb3xQYU9TUylfLioiIFwKLSsJICAgICAtZXhwb3J0LXN5bWJvbHMtcmVnZXggIihQYXxQ YU1hY0NvcmV8UGFKYWNrfFBhQWxzYXxQYUFzaW98UGFPU1N8UGFTbmRpbylfLioiIFwKLSAJICAg ICAtdmVyc2lvbi1pbmZvICQoTFRfQ1VSUkVOVCk6JChMVF9SRVZJU0lPTik6JChMVF9BR0UpCi0g Ci0gQ09NTU9OX09CSlMgPSBcCi1AQCAtMTQ2LDYgKzE0Niw3IEBAIFNSQ19ESVJTID0gXAotIAlz cmMvaG9zdGFwaS9kc291bmQgXAotIAlzcmMvaG9zdGFwaS9qYWNrIFwKLSAJc3JjL2hvc3RhcGkv b3NzIFwKLSsJc3JjL2hvc3RhcGkvc25kaW8gXAotIAlzcmMvaG9zdGFwaS93YXNhcGkgXAotIAlz cmMvaG9zdGFwaS93ZG1rcyBcCi0gCXNyYy9ob3N0YXBpL3dtbWUgXAotZGlmZiAtLWdpdCBjb25m aWd1cmUuaW4gY29uZmlndXJlLmluCi1pbmRleCA4M2MyMzlhLi5kYjExZDY1IDEwMDY0NAotLS0t IGNvbmZpZ3VyZS5pbgotKysrIGNvbmZpZ3VyZS5pbgotQEAgLTI0LDYgKzI0LDEwIEBAIEFDX0FS R19XSVRIKGFsc2EsCi0gICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1hbHNhXSwg W0VuYWJsZSBzdXBwb3J0IGZvciBBTFNBIEA8OkBhdXRvZGV0ZWN0QDo+QF0pLAotICAgICAgICAg ICAgIFt3aXRoX2Fsc2E9JHdpdGh2YWxdKQotIAotK0FDX0FSR19XSVRIKHNuZGlvLAotKyAgICAg ICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtc25kaW9dLCBbRW5hYmxlIHN1cHBvcnQgZm9y IHNuZGlvIEA8OkBhdXRvZGV0ZWN0QDo+QF0pLAotKyAgICAgICAgICAgIFt3aXRoX3NuZGlvPSR3 aXRodmFsXSkKLSsKLSBBQ19BUkdfV0lUSChqYWNrLAotICAgICAgICAgICAgIEFTX0hFTFBfU1RS SU5HKFstLXdpdGgtamFja10sIFtFbmFibGUgc3VwcG9ydCBmb3IgSkFDSyBAPDpAYXV0b2RldGVj dEA6PkBdKSwKLSAgICAgICAgICAgICBbd2l0aF9qYWNrPSR3aXRodmFsXSkKLUBAIC0xMjAsNiAr MTI0LDEwIEBAIGhhdmVfYWxzYT1ubwotIGlmIHRlc3QgIngkd2l0aF9hbHNhIiAhPSAieG5vIjsg dGhlbgotICAgICBBQ19DSEVDS19MSUIoYXNvdW5kLCBzbmRfcGNtX29wZW4sIGhhdmVfYWxzYT15 ZXMsIGhhdmVfYWxzYT1ubykKLSBmaQotK2hhdmVfc25kaW89bm8KLStpZiB0ZXN0ICJ4JHdpdGhf c25kaW8iICE9ICJ4bm8iOyB0aGVuCi0rICAgIEFDX0NIRUNLX0xJQihzbmRpbywgc2lvX29wZW4s IGhhdmVfc25kaW89eWVzLCBoYXZlX3NuZGlvPW5vKQotK2ZpCi0gaGF2ZV9hc2locGk9bm8KLSBp ZiB0ZXN0ICJ4JHdpdGhfYXNpaHBpIiAhPSAieG5vIjsgdGhlbgotICAgICBBQ19DSEVDS19MSUIo aHBpLCBIUElfU3ViU3lzQ3JlYXRlLCBoYXZlX2FzaWhwaT15ZXMsIGhhdmVfYXNpaHBpPW5vLCAt bG0pCi1AQCAtNDA2LDYgKzQxNCwxMyBAQCBjYXNlICIke2hvc3Rfb3N9IiBpbgotICAgICAgICAg ICAgQUNfREVGSU5FKFBBX1VTRV9BTFNBLDEpCi0gICAgICAgICBmaQotIAotKyAgICAgICAgaWYg W1sgIiRoYXZlX3NuZGlvIiA9ICJ5ZXMiIC1hICIkd2l0aF9zbmRpbyIgIT0gIm5vIiBdXSA7IHRo ZW4KLSsgICAgICAgICAgICBETExfTElCUz0iJERMTF9MSUJTIC1sc25kaW8iCi0rICAgICAgICAg ICAgTElCUz0iJExJQlMgLWxzbmRpbyIKLSsgICAgICAgICAgICBPVEhFUl9PQkpTPSIkT1RIRVJf T0JKUyBzcmMvaG9zdGFwaS9zbmRpby9wYV9zbmRpby5vIgotKyAgICAgICAgICAgIEFDX0RFRklO RShQQV9VU0VfU05ESU8sMSkKLSsgICAgICAgIGZpCi0rCi0gICAgICAgICBpZiBbWyAiJGhhdmVf amFjayIgPSAieWVzIiBdICYmIFsgIiR3aXRoX2phY2siICE9ICJubyIgXV0gOyB0aGVuCi0gICAg ICAgICAgICBETExfTElCUz0iJERMTF9MSUJTICRKQUNLX0xJQlMiCi0gICAgICAgICAgICBDRkxB R1M9IiRDRkxBR1MgJEpBQ0tfQ0ZMQUdTIgotQEAgLTUxMCw2ICs1MjUsNyBAQCBjYXNlICIkdGFy Z2V0X29zIiBpbgotICAgICAgICAgOzsKLSAgICAgICopCi0gCUFDX01TR19SRVNVTFQoWwotKyAg U25kaW8gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gJGhhdmVfc25kaW8KLSAgIE9TUyAuLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uICRoYXZlX29zcwotICAgSkFDSyAuLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4gJGhhdmVfamFjawotIF0pCi1kaWZmIC0tZ2l0IGluY2x1ZGUvcG9ydGF1ZGlvLmggaW5j bHVkZS9wb3J0YXVkaW8uaAotaW5kZXggOWM4YTI5NS4uZTUzNWEwMiAxMDA2NDQKLS0tLSBpbmNs dWRlL3BvcnRhdWRpby5oCi0rKysgaW5jbHVkZS9wb3J0YXVkaW8uaAotQEAgLTI4Nyw3ICsyODcs OCBAQCB0eXBlZGVmIGVudW0gUGFIb3N0QXBpVHlwZUlkCi0gICAgIHBhV0RNS1M9MTEsCi0gICAg IHBhSkFDSz0xMiwKLSAgICAgcGFXQVNBUEk9MTMsCi0tICAgIHBhQXVkaW9TY2llbmNlSFBJPTE0 Ci0rICAgIHBhQXVkaW9TY2llbmNlSFBJPTE0LAotKyAgICBwYVNuZGlvPTE1Ci0gfSBQYUhvc3RB cGlUeXBlSWQ7Ci0gCi0gCi1kaWZmIC0tZ2l0IHNyYy9ob3N0YXBpL3NuZGlvL3BhX3NuZGlvLmMg c3JjL2hvc3RhcGkvc25kaW8vcGFfc25kaW8uYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDAwMDAwMDAuLjcyNWVmNDcKLS0tLSAvZGV2L251bGwKLSsrKyBzcmMvaG9zdGFwaS9zbmRpby9w YV9zbmRpby5jCi1AQCAtMCwwICsxLDc2OCBAQAotKy8qCi0rICogQ29weXJpZ2h0IChjKSAyMDA5 IEFsZXhhbmRyZSBSYXRjaG92IDxhbGV4QGNhb3VhLm9yZz4KLSsgKgotKyAqIFBlcm1pc3Npb24g dG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFu eQotKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJv dmlkZWQgdGhhdCB0aGUgYWJvdmUKLSsgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p c3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLgotKyAqCi0rICogVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5U SUVTCi0rICogV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJ RUQgV0FSUkFOVElFUyBPRgotKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8g RVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SCi0rICogQU5ZIFNQRUNJQUwsIERJ UkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUwot KyAqIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklU UywgV0hFVEhFUiBJTiBBTgotKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBP VEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCi0rICogT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLSsgKi8KLSsj aW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSsjaW5jbHVkZSA8 cG9sbC5oPgotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsjaW5j bHVkZSA8c3RkbGliLmg+Ci0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHNuZGlvLmg+ Ci0rCi0rI2luY2x1ZGUgInBhX3V0aWwuaCIKLSsjaW5jbHVkZSAicGFfaG9zdGFwaS5oIgotKyNp bmNsdWRlICJwYV9zdHJlYW0uaCIKLSsjaW5jbHVkZSAicGFfcHJvY2Vzcy5oIgotKyNpbmNsdWRl ICJwYV9hbGxvY2F0aW9uLmgiCi0rCi0rI2lmIDAKLSsjZGVmaW5lIERQUiguLi4pIGRvIHsgZnBy aW50ZihzdGRlcnIsIF9fVkFfQVJHU19fKTsgfSB3aGlsZSAoMCkKLSsjZWxzZQotKyNkZWZpbmUg RFBSKC4uLikgZG8ge30gd2hpbGUgKDApCi0rI2VuZGlmCi0rCi0rLyoKLSsgKiBwZXItc3RyZWFt IGRhdGEKLSsgKi8KLSt0eXBlZGVmIHN0cnVjdCBQYVNuZGlvU3RyZWFtCi0rewotKwlQYVV0aWxT dHJlYW1SZXByZXNlbnRhdGlvbiBiYXNlOwotKwlQYVV0aWxCdWZmZXJQcm9jZXNzb3IgYnVmcHJv YzsJLyogZm9ybWF0IGNvbnZlcnNpb24gKi8KLSsJc3RydWN0IHNpb19oZGwgKmhkbDsJCS8qIGhh bmRsZSBmb3IgZGV2aWNlIGkvbyAqLwotKwlzdHJ1Y3Qgc2lvX3BhciBwYXI7CQkvKiBjdXJyZW50 IGRldmljZSBwYXJhbWV0ZXJzICovCQotKwl1bnNpZ25lZCBtb2RlOwkJCS8qIFNJT19QTEFZLCBT SU9fUkVDIG9yIGJvdGggKi8KLSsJaW50IHN0b3BwZWQ7CQkJLyogc3RvcCByZXF1ZXN0ZWQgb3Ig bm90IHN0YXJ0ZWQgKi8KLSsJaW50IGFjdGl2ZTsJCQkvKiB0aHJlYWQgaXMgcnVubmluZyAqLwot Kwl1bnNpZ25lZCBsb25nIGxvbmcgcmVhbHBvczsJLyogZnJhbWUgbnVtYmVyIGgvdyBpcyBwcm9j ZXNzaW5nICovCi0rCWNoYXIgKnJidWYsICp3YnVmOwkJLyogYm91bmNlIGJ1ZmZlcnMgZm9yIGNv bnZlcnNpb25zICovCi0rCXVuc2lnbmVkIGxvbmcgbG9uZyBycG9zLCB3cG9zOwkvKiBieXRlcyBy ZWFkL3dyaXR0ZW4gKi8KLSsJcHRocmVhZF90IHRocmVhZDsJCS8qIHRocmVhZCBvZiB0aGUgY2Fs bGJhY2sgaW50ZXJmYWNlICovCi0rfSBQYVNuZGlvU3RyZWFtOwotKwotKy8qCi0rICogYXBpICJj bGFzcyIgZGF0YSwgY29tbW9uIHRvIGFsbCBzdHJlYW1zCi0rICovCi0rdHlwZWRlZiBzdHJ1Y3Qg UGFTbmRpb0hvc3RBcGlSZXByZXNlbnRhdGlvbgotK3sKLSsJUGFVdGlsSG9zdEFwaVJlcHJlc2Vu dGF0aW9uIGJhc2U7Ci0rCVBhVXRpbFN0cmVhbUludGVyZmFjZSBjYWxsYmFjazsKLSsJUGFVdGls U3RyZWFtSW50ZXJmYWNlIGJsb2NraW5nOwotKwkvKgotKwkgKiBzbmRpbyBoYXMgbm8gZGV2aWNl IGRpc2NvdmVyeSBtZWNoYW5pc20gYW5kIFBvcnRBdWRpbyBoYXMKLSsJICogbm8gd2F5IG9mIGFj Y2VwdGluZyByYXcgZGV2aWNlIHN0cmluZ3MgZnJvbSB1c2Vycy4KLSsJICogTm9ybWFsbHkgd2Ug anVzdCBleHBvc2UgdGhlIGRlZmF1bHQgZGV2aWNlLCB3aGljaCBjYW4gYmUKLSsJICogY2hhbmdl ZCB2aWEgdGhlIEFVRElPREVWSUNFIGVudmlyb25tZW50IHZhcmlhYmxlLCBidXQgd2UKLSsJICog YWxzbyBhbGxvdyBzcGVjaWZ5aW5nIGEgbGlzdCBvZiB1cCB0byAxNiBkZXZpY2VzIHZpYSB0aGUK LSsJICogUEFfU05ESU9fQVVESU9ERVZJQ0VTIGVudmlyb25tZW50IHZhcmlhYmxlLgotKwkgKgot KwkgKiBFeGFtcGxlOgotKwkgKiBQQV9TTkRJT19BVURJT0RFVklDRVM9ZGVmYXVsdDpzbmQvMC5t b25pdG9yOnNuZEByZW1vdGUvMAotKwkgKi8KLSsjZGVmaW5lIFBBX1NORElPX0FVRElPREVWSUNF U19NQVgJMTYKLSsJUGFEZXZpY2VJbmZvIGRldmljZV9pbmZvW1BBX1NORElPX0FVRElPREVWSUNF U19NQVhdOwotKwlQYURldmljZUluZm8gKmluZm9zW1BBX1NORElPX0FVRElPREVWSUNFU19NQVhd OwotKwljaGFyICphdWRpb2RldmljZXM7Ci0rfSBQYVNuZGlvSG9zdEFwaVJlcHJlc2VudGF0aW9u OwotKwotKy8qCi0rICogY2FsbGJhY2sgaW52b2tlZCB3aGVuIGJsb2NrcyBhcmUgcHJvY2Vzc2Vk IGJ5IHRoZSBoYXJkd2FyZQotKyAqLwotK3N0YXRpYyB2b2lkCi0rc25kaW9Pbk1vdmUodm9pZCAq YWRkciwgaW50IGRlbHRhKQotK3sKLSsJUGFTbmRpb1N0cmVhbSAqcyA9IChQYVNuZGlvU3RyZWFt ICopYWRkcjsKLSsKLSsJcy0+cmVhbHBvcyArPSBkZWx0YTsKLSt9Ci0rCi0rLyoKLSsgKiBjb252 ZXJ0IFBBIGVuY29kaW5nIHRvIHNuZGlvIGVuY29kaW5nLCByZXR1cm4gdHJ1ZSBvbiBzdWNjZXNz Ci0rICovCi0rc3RhdGljIGludAotK3NuZGlvU2V0Rm10KHN0cnVjdCBzaW9fcGFyICpzaW8sIFBh U2FtcGxlRm9ybWF0IGZtdCkKLSt7Ci0rCXN3aXRjaCAoZm10ICYgfnBhTm9uSW50ZXJsZWF2ZWQp IHsKLSsJY2FzZSBwYUludDMyOgotKwkJc2lvLT5zaWcgPSAxOwotKwkJc2lvLT5iaXRzID0gMzI7 Ci0rCQlicmVhazsKLSsJY2FzZSBwYUludDI0OgotKwkJc2lvLT5zaWcgPSAxOwotKwkJc2lvLT5i aXRzID0gMjQ7Ci0rCQlzaW8tPmJwcyA9IDM7CS8qIHBhSW50MjQgaXMgcGFja2VkIGZvcm1hdCAq LwotKwkJYnJlYWs7Ci0rCWNhc2UgcGFJbnQxNjoKLSsJY2FzZSBwYUZsb2F0MzI6Ci0rCQlzaW8t PnNpZyA9IDE7Ci0rCQlzaW8tPmJpdHMgPSAxNjsKLSsJCWJyZWFrOwotKwljYXNlIHBhSW50ODoK LSsJCXNpby0+c2lnID0gMTsKLSsJCXNpby0+Yml0cyA9IDg7Ci0rCQlicmVhazsKLSsJY2FzZSBw YVVJbnQ4OgotKwkJc2lvLT5zaWcgPSAwOwotKwkJc2lvLT5iaXRzID0gODsKLSsJCWJyZWFrOwot KwlkZWZhdWx0OgotKwkJRFBSKCJzbmRpb1NldEZtdDogJXg6IHVuc3VwcG9ydGVkXG4iLCBmbXQp OwotKwkJcmV0dXJuIDA7Ci0rCX0KLSsJc2lvLT5sZSA9IFNJT19MRV9OQVRJVkU7Ci0rCXJldHVy biAxOwotK30KLSsKLSsvKgotKyAqIGNvbnZlcnQgc25kaW8gZW5jb2RpbmcgdG8gUEEgZW5jb2Rp bmcsIHJldHVybiB0cnVlIG9uIHN1Y2Nlc3MKLSsgKi8KLStzdGF0aWMgaW50Ci0rc25kaW9HZXRG bXQoc3RydWN0IHNpb19wYXIgKnNpbywgUGFTYW1wbGVGb3JtYXQgKmZtdCkKLSt7Ci0rCWlmICgo c2lvLT5icHMgKiA4ICE9IHNpby0+Yml0cyAmJiAhc2lvLT5tc2IpIHx8Ci0rCSAgICAoc2lvLT5i cHMgPiAxICYmIHNpby0+bGUgIT0gU0lPX0xFX05BVElWRSkpIHsKLSsJCURQUigic25kaW9HZXRG bXQ6IGJpdHMgPSAldSwgbGUgPSAldSwgbXNiID0gJXUsIGJwcyA9ICV1XG4iLAotKwkJICAgIHNp by0+Yml0cywgc2lvLT5sZSwgc2lvLT5tc2IsIHNpby0+YnBzKTsKLSsJCXJldHVybiAwOwotKwl9 Ci0rCi0rCXN3aXRjaCAoc2lvLT5iaXRzKSB7Ci0rCWNhc2UgMzI6Ci0rCQlpZiAoIXNpby0+c2ln KQotKwkJCXJldHVybiAwOwotKwkJKmZtdCA9IHBhSW50MzI7Ci0rCQlicmVhazsKLSsJY2FzZSAy NDoKLSsJCWlmICghc2lvLT5zaWcpCi0rCQkJcmV0dXJuIDA7Ci0rCQkqZm10ID0gKHNpby0+YnBz ID09IDMpID8gcGFJbnQyNCA6IHBhSW50MzI7Ci0rCQlicmVhazsKLSsJY2FzZSAxNjoKLSsJCWlm ICghc2lvLT5zaWcpCi0rCQkJcmV0dXJuIDA7Ci0rCQkqZm10ID0gcGFJbnQxNjsKLSsJCWJyZWFr OwotKwljYXNlIDg6Ci0rCQkqZm10ID0gc2lvLT5zaWcgPyBwYUludDggOiBwYVVJbnQ4OwotKwkJ YnJlYWs7Ci0rCWRlZmF1bHQ6Ci0rCQlEUFIoInNuZGlvR2V0Rm10OiAldTogdW5zdXBwb3J0ZWRc biIsIHNpby0+Yml0cyk7Ci0rCQlyZXR1cm4gMDsKLSsJfQotKwlyZXR1cm4gMTsKLSt9Ci0rCi0r LyoKLSsgKiBJL08gbG9vcCBmb3IgY2FsbGJhY2sgaW50ZXJmYWNlCi0rICovCi0rc3RhdGljIHZv aWQgKgotK3NuZGlvVGhyZWFkKHZvaWQgKmFyZykKLSt7Ci0rCVBhU25kaW9TdHJlYW0gKnMgPSAo UGFTbmRpb1N0cmVhbSAqKWFyZzsKLSsJUGFTdHJlYW1DYWxsYmFja1RpbWVJbmZvIHRpOwotKwl1 bnNpZ25lZCBjaGFyICpkYXRhOwotKwl1bnNpZ25lZCB0b2RvLCByYmxrc3osIHdibGtzejsKLSsJ aW50IG4sIHJlc3VsdDsKLSsJCi0rCXJibGtzeiA9IHMtPnBhci5yb3VuZCAqIHMtPnBhci5yY2hh biAqIHMtPnBhci5icHM7Ci0rCXdibGtzeiA9IHMtPnBhci5yb3VuZCAqIHMtPnBhci5wY2hhbiAq IHMtPnBhci5icHM7Ci0rCQotKwlEUFIoInNuZGlvVGhyZWFkOiBtb2RlID0gJXgsIHJvdW5kID0g JXUsIHJibGtzeiA9ICV1LCB3Ymxrc3ogPSAldVxuIiwKLSsJICAgIHMtPm1vZGUsIHMtPnBhci5y b3VuZCwgcmJsa3N6LCB3Ymxrc3opOwotKwkKLSsJd2hpbGUgKCFzLT5zdG9wcGVkKSB7Ci0rCQlp ZiAocy0+bW9kZSAmIFNJT19SRUMpIHsKLSsJCQl0b2RvID0gcmJsa3N6OwotKwkJCWRhdGEgPSBz LT5yYnVmOwotKwkJCXdoaWxlICh0b2RvID4gMCkgewotKwkJCQluID0gc2lvX3JlYWQocy0+aGRs LCBkYXRhLCB0b2RvKTsKLSsJCQkJaWYgKG4gPT0gMCkgewotKwkJCQkJRFBSKCJzbmRpb1RocmVh ZDogc2lvX3JlYWQgZmFpbGVkXG4iKTsKLSsJCQkJCWdvdG8gZmFpbGVkOwotKwkJCQl9Ci0rCQkJ CXRvZG8gLT0gbjsKLSsJCQkJZGF0YSArPSBuOwotKwkJCX0KLSsJCQlzLT5ycG9zICs9IHMtPnBh ci5yb3VuZDsKLSsJCQl0aS5pbnB1dEJ1ZmZlckFkY1RpbWUgPSAKLSsJCQkgICAgKGRvdWJsZSlz LT5yZWFscG9zIC8gcy0+cGFyLnJhdGU7Ci0rCQl9Ci0rCQlpZiAocy0+bW9kZSAmIFNJT19QTEFZ KSB7Ci0rCQkJdGkub3V0cHV0QnVmZmVyRGFjVGltZSA9Ci0rCQkJICAgIChkb3VibGUpKHMtPnJl YWxwb3MgKyBzLT5wYXIuYnVmc3opIC8gcy0+cGFyLnJhdGU7Ci0rCQl9Ci0rCQl0aS5jdXJyZW50 VGltZSA9IHMtPnJlYWxwb3MgLyAoZG91YmxlKXMtPnBhci5yYXRlOwotKwkJUGFVdGlsX0JlZ2lu QnVmZmVyUHJvY2Vzc2luZygmcy0+YnVmcHJvYywgJnRpLCAwKTsKLSsJCWlmIChzLT5tb2RlICYg U0lPX1BMQVkpIHsKLSsJCQlQYVV0aWxfU2V0T3V0cHV0RnJhbWVDb3VudCgmcy0+YnVmcHJvYywg cy0+cGFyLnJvdW5kKTsKLSsJCQlQYVV0aWxfU2V0SW50ZXJsZWF2ZWRPdXRwdXRDaGFubmVscygm cy0+YnVmcHJvYywKLSsJCQkgICAgMCwgcy0+d2J1Ziwgcy0+cGFyLnBjaGFuKTsKLSsJCX0KLSsJ CWlmIChzLT5tb2RlICYgU0lPX1JFQykgewotKwkJCVBhVXRpbF9TZXRJbnB1dEZyYW1lQ291bnQo JnMtPmJ1ZnByb2MsIHMtPnBhci5yb3VuZCk7Ci0rCQkJUGFVdGlsX1NldEludGVybGVhdmVkSW5w dXRDaGFubmVscygmcy0+YnVmcHJvYywKLSsJCQkgICAgMCwgcy0+cmJ1Ziwgcy0+cGFyLnJjaGFu KTsKLSsJCX0KLSsJCXJlc3VsdCA9IHBhQ29udGludWU7Ci0rCQluID0gUGFVdGlsX0VuZEJ1ZmZl clByb2Nlc3NpbmcoJnMtPmJ1ZnByb2MsICZyZXN1bHQpOwotKwkJaWYgKG4gIT0gcy0+cGFyLnJv dW5kKSB7Ci0rCQkJRFBSKCJzbmRpb1RocmVhZDogJWQgPCAldSBmcmFtZXMsIHJlc3VsdCA9ICVk XG4iLAotKwkJCSAgICBuLCBzLT5wYXIucm91bmQsIHJlc3VsdCk7Ci0rCQl9Ci0rCQlpZiAocmVz dWx0ICE9IHBhQ29udGludWUpIHsKLSsJCQlicmVhazsKLSsJCX0KLSsJCWlmIChzLT5tb2RlICYg U0lPX1BMQVkpIHsKLSsJCQluID0gc2lvX3dyaXRlKHMtPmhkbCwgcy0+d2J1Ziwgd2Jsa3N6KTsK LSsJCQlpZiAobiA8IHdibGtzeikgewotKwkJCQlEUFIoInNuZGlvVGhyZWFkOiBzaW9fd3JpdGUg ZmFpbGVkXG4iKTsKLSsJCQkJZ290byBmYWlsZWQ7Ci0rCQkJfQotKwkJCXMtPndwb3MgKz0gcy0+ cGFyLnJvdW5kOwotKwkJfQotKwl9Ci0rIGZhaWxlZDoKLSsJcy0+YWN0aXZlID0gMDsKLSsJRFBS KCJzbmRpb1RocmVhZDogZG9uZVxuIik7Ci0rfQotKwotK3N0YXRpYyBQYUVycm9yCi0rT3BlblN0 cmVhbShzdHJ1Y3QgUGFVdGlsSG9zdEFwaVJlcHJlc2VudGF0aW9uICpob3N0QXBpLAotKyAgICBQ YVN0cmVhbSAqKnN0cmVhbSwKLSsgICAgY29uc3QgUGFTdHJlYW1QYXJhbWV0ZXJzICppbnB1dFBh ciwKLSsgICAgY29uc3QgUGFTdHJlYW1QYXJhbWV0ZXJzICpvdXRwdXRQYXIsCi0rICAgIGRvdWJs ZSBzYW1wbGVSYXRlLAotKyAgICB1bnNpZ25lZCBsb25nIGZyYW1lc1BlckJ1ZmZlciwKLSsgICAg UGFTdHJlYW1GbGFncyBzdHJlYW1GbGFncywKLSsgICAgUGFTdHJlYW1DYWxsYmFjayAqc3RyZWFt Q2FsbGJhY2ssCi0rICAgIHZvaWQgKnVzZXJEYXRhKQotK3sKLSsJUGFTbmRpb0hvc3RBcGlSZXBy ZXNlbnRhdGlvbiAqc25kaW9Ib3N0QXBpID0gKFBhU25kaW9Ib3N0QXBpUmVwcmVzZW50YXRpb24g Kilob3N0QXBpOwotKwlQYVNuZGlvU3RyZWFtICpzOwotKwlQYUVycm9yIGVycjsKLSsJc3RydWN0 IHNpb19oZGwgKmhkbDsKLSsJc3RydWN0IHNpb19wYXIgcGFyOwotKwl1bnNpZ25lZCBtb2RlOwot KwlpbnQgaW5jaCwgb25jaDsKLSsJUGFTYW1wbGVGb3JtYXQgaWZtdCwgb2ZtdCwgc2lvZm10Owot Kwljb25zdCBjaGFyICpkZXY7Ci0rCi0rCURQUigiT3BlblN0cmVhbTpcbiIpOwotKwotKwltb2Rl ID0gMDsKLSsJaW5jaCA9IG9uY2ggPSAwOwotKwlpZm10ID0gb2ZtdCA9IDA7Ci0rCXNpb19pbml0 cGFyKCZwYXIpOwotKwotKwlpZiAob3V0cHV0UGFyICYmIG91dHB1dFBhci0+Y2hhbm5lbENvdW50 ID4gMCkgewotKwkJaWYgKG91dHB1dFBhci0+ZGV2aWNlID49IHNuZGlvSG9zdEFwaS0+YmFzZS5p bmZvLmRldmljZUNvdW50KSB7Ci0rCQkJRFBSKCJPcGVuU3RyZWFtOiAlZDogYmFkIG91dHB1dCBk ZXZpY2VcbiIsIG91dHB1dFBhci0+ZGV2aWNlKTsKLSsJCQlyZXR1cm4gcGFJbnZhbGlkRGV2aWNl OwotKwkJfQotKwkJaWYgKG91dHB1dFBhci0+aG9zdEFwaVNwZWNpZmljU3RyZWFtSW5mbykgewot KwkJCURQUigiT3BlblN0cmVhbTogb3V0cHV0IHNwZWNpZmljIGluZm9cbiIpOwotKwkJCXJldHVy biBwYUluY29tcGF0aWJsZUhvc3RBcGlTcGVjaWZpY1N0cmVhbUluZm87Ci0rCQl9Ci0rCQlpZiAo IXNuZGlvU2V0Rm10KCZwYXIsIG91dHB1dFBhci0+c2FtcGxlRm9ybWF0KSkgewotKwkJCXJldHVy biBwYVNhbXBsZUZvcm1hdE5vdFN1cHBvcnRlZDsKLSsJCX0KLSsJCW9mbXQgPSBvdXRwdXRQYXIt PnNhbXBsZUZvcm1hdDsKLSsJCW9uY2ggPSBwYXIucGNoYW4gPSBvdXRwdXRQYXItPmNoYW5uZWxD b3VudDsKLSsJCW1vZGUgfD0gU0lPX1BMQVk7Ci0rCX0KLSsJaWYgKGlucHV0UGFyICYmIGlucHV0 UGFyLT5jaGFubmVsQ291bnQgPiAwKSB7Ci0rCQlpZiAoaW5wdXRQYXItPmRldmljZSA+PSBzbmRp b0hvc3RBcGktPmJhc2UuaW5mby5kZXZpY2VDb3VudCkgewotKwkJCURQUigiT3BlblN0cmVhbTog JWQ6IGJhZCBpbnB1dCBkZXZpY2VcbiIsIGlucHV0UGFyLT5kZXZpY2UpOwotKwkJCXJldHVybiBw YUludmFsaWREZXZpY2U7Ci0rCQl9Ci0rCQlpZiAoaW5wdXRQYXItPmhvc3RBcGlTcGVjaWZpY1N0 cmVhbUluZm8pIHsKLSsJCQlEUFIoIk9wZW5TdHJlYW06IGlucHV0IHNwZWNpZmljIGluZm9cbiIp OwotKwkJCXJldHVybiBwYUluY29tcGF0aWJsZUhvc3RBcGlTcGVjaWZpY1N0cmVhbUluZm87Ci0r CQl9Ci0rCQlpZiAoIXNuZGlvU2V0Rm10KCZwYXIsIGlucHV0UGFyLT5zYW1wbGVGb3JtYXQpKSB7 Ci0rCQkJcmV0dXJuIHBhU2FtcGxlRm9ybWF0Tm90U3VwcG9ydGVkOwotKwkJfQotKwkJaWZtdCA9 IGlucHV0UGFyLT5zYW1wbGVGb3JtYXQ7Ci0rCQlpbmNoID0gcGFyLnJjaGFuID0gaW5wdXRQYXIt PmNoYW5uZWxDb3VudDsKLSsJCW1vZGUgfD0gU0lPX1JFQzsKLSsJfQotKwlwYXIucmF0ZSA9IHNh bXBsZVJhdGU7Ci0rCWlmIChmcmFtZXNQZXJCdWZmZXIgIT0gcGFGcmFtZXNQZXJCdWZmZXJVbnNw ZWNpZmllZCkKLSsJCXBhci5yb3VuZCA9IGZyYW1lc1BlckJ1ZmZlcjsKLSsKLSsJRFBSKCJPcGVu U3RyZWFtOiBtb2RlID0gJXgsIHRyeWluZyByYXRlID0gJXVcbiIsIG1vZGUsIHBhci5yYXRlKTsK LSsKLSsJaWYgKG91dHB1dFBhcikgewotKwkJZGV2ID0gc25kaW9Ib3N0QXBpLT5kZXZpY2VfaW5m b1tvdXRwdXRQYXItPmRldmljZV0ubmFtZTsKLSsJfSBlbHNlIGlmIChpbnB1dFBhcikgewotKwkJ ZGV2ID0gc25kaW9Ib3N0QXBpLT5kZXZpY2VfaW5mb1tpbnB1dFBhci0+ZGV2aWNlXS5uYW1lOwot Kwl9IGVsc2UgewotKwkJcmV0dXJuIHBhVW5hbnRpY2lwYXRlZEhvc3RFcnJvcjsKLSsJfQotKwlo ZGwgPSBzaW9fb3BlbihkZXYsIG1vZGUsIDApOwotKwlpZiAoaGRsID09IE5VTEwpCi0rCQlyZXR1 cm4gcGFVbmFudGljaXBhdGVkSG9zdEVycm9yOwotKwlpZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFy KSkgewotKwkJc2lvX2Nsb3NlKGhkbCk7Ci0rCQlyZXR1cm4gcGFVbmFudGljaXBhdGVkSG9zdEVy cm9yOwotKwl9Ci0rCWlmICghc2lvX2dldHBhcihoZGwsICZwYXIpKSB7Ci0rCQlzaW9fY2xvc2Uo aGRsKTsKLSsJCXJldHVybiBwYVVuYW50aWNpcGF0ZWRIb3N0RXJyb3I7Ci0rCX0KLSsJaWYgKCFz bmRpb0dldEZtdCgmcGFyLCAmc2lvZm10KSkgewotKwkJc2lvX2Nsb3NlKGhkbCk7Ci0rCQlyZXR1 cm4gcGFTYW1wbGVGb3JtYXROb3RTdXBwb3J0ZWQ7Ci0rCX0KLSsJaWYgKChtb2RlICYgU0lPX1JF QykgJiYgcGFyLnJjaGFuICE9IGlucHV0UGFyLT5jaGFubmVsQ291bnQpIHsKLSsJCURQUigiT3Bl blN0cmVhbTogcmNoYW4oJXUpICE9ICVkXG4iLCBwYXIucmNoYW4sIGlucHV0UGFyLT5jaGFubmVs Q291bnQpOwotKwkJc2lvX2Nsb3NlKGhkbCk7Ci0rCQlyZXR1cm4gcGFJbnZhbGlkQ2hhbm5lbENv dW50OwotKwl9Ci0rCWlmICgobW9kZSAmIFNJT19QTEFZKSAmJiBwYXIucGNoYW4gIT0gb3V0cHV0 UGFyLT5jaGFubmVsQ291bnQpIHsKLSsJCURQUigiT3BlblN0cmVhbTogcGNoYW4oJXUpICE9ICVk XG4iLCBwYXIucGNoYW4sIG91dHB1dFBhci0+Y2hhbm5lbENvdW50KTsKLSsJCXNpb19jbG9zZSho ZGwpOwotKwkJcmV0dXJuIHBhSW52YWxpZENoYW5uZWxDb3VudDsKLSsJfQotKwlpZiAoKGRvdWJs ZSlwYXIucmF0ZSA8IHNhbXBsZVJhdGUgKiAwLjk5NSB8fAotKwkgICAgKGRvdWJsZSlwYXIucmF0 ZSA+IHNhbXBsZVJhdGUgKiAxLjAwNSkgewotKwkJRFBSKCJPcGVuU3RyZWFtOiByYXRlKCV1KSAh PSAlZ1xuIiwgcGFyLnJhdGUsIHNhbXBsZVJhdGUpOwotKwkJc2lvX2Nsb3NlKGhkbCk7Ci0rCQly ZXR1cm4gcGFJbnZhbGlkU2FtcGxlUmF0ZTsKLSsJfQotKwkKLSsJcyA9IChQYVNuZGlvU3RyZWFt ICopUGFVdGlsX0FsbG9jYXRlTWVtb3J5KHNpemVvZihQYVNuZGlvU3RyZWFtKSk7Ci0rCWlmIChz ID09IE5VTEwpIHsKLSsJCXNpb19jbG9zZShoZGwpOwotKwkJcmV0dXJuIHBhSW5zdWZmaWNpZW50 TWVtb3J5OwotKwl9Ci0rCVBhVXRpbF9Jbml0aWFsaXplU3RyZWFtUmVwcmVzZW50YXRpb24oJnMt PmJhc2UsIAotKwkgICAgc3RyZWFtQ2FsbGJhY2sgPyAmc25kaW9Ib3N0QXBpLT5jYWxsYmFjayA6 ICZzbmRpb0hvc3RBcGktPmJsb2NraW5nLAotKwkgICAgc3RyZWFtQ2FsbGJhY2ssIHVzZXJEYXRh KTsKLSsJRFBSKCJpbmNoID0gJWQsIG9uY2ggPSAlZCwgaWZtdCA9ICV4LCBvZm10ID0gJXhcbiIs IAotKwkgICAgaW5jaCwgb25jaCwgaWZtdCwgb2ZtdCk7Ci0rCWVyciA9IFBhVXRpbF9Jbml0aWFs aXplQnVmZmVyUHJvY2Vzc29yKCZzLT5idWZwcm9jLAotKwkgICAgaW5jaCwgaWZtdCwgc2lvZm10 LAotKwkgICAgb25jaCwgb2ZtdCwgc2lvZm10LAotKwkgICAgc2FtcGxlUmF0ZSwKLSsJICAgIHN0 cmVhbUZsYWdzLAotKwkgICAgZnJhbWVzUGVyQnVmZmVyLAotKwkgICAgcGFyLnJvdW5kLAotKwkg ICAgcGFVdGlsRml4ZWRIb3N0QnVmZmVyU2l6ZSwgCi0rCSAgICBzdHJlYW1DYWxsYmFjaywgdXNl ckRhdGEpOwotKwlpZiAoZXJyKSB7Ci0rCQlEUFIoIk9wZW5TdHJlYW06IFBhVXRpbF9Jbml0aWFs aXplQnVmZmVyUHJvY2Vzc29yIGZhaWxlZFxuIik7Ci0rCQlQYVV0aWxfRnJlZU1lbW9yeShzKTsK LSsJCXNpb19jbG9zZShoZGwpOwotKwkJcmV0dXJuIGVycjsKLSsJfQotKwlpZiAobW9kZSAmIFNJ T19SRUMpIHsKLSsJCXMtPnJidWYgPSBtYWxsb2MocGFyLnJvdW5kICogcGFyLnJjaGFuICogcGFy LmJwcyk7Ci0rCQlpZiAocy0+cmJ1ZiA9PSBOVUxMKSB7Ci0rCQkJRFBSKCJPcGVuU3RyZWFtOiBm YWlsZWQgdG8gYWxsb2NhdGUgcmJ1ZlxuIik7Ci0rCQkJUGFVdGlsX0ZyZWVNZW1vcnkocyk7Ci0r CQkJc2lvX2Nsb3NlKGhkbCk7Ci0rCQkJcmV0dXJuIHBhSW5zdWZmaWNpZW50TWVtb3J5OwotKwkJ fQotKwl9Ci0rCWlmIChtb2RlICYgU0lPX1BMQVkpIHsKLSsJCXMtPndidWYgPSBtYWxsb2MocGFy LnJvdW5kICogcGFyLnBjaGFuICogcGFyLmJwcyk7Ci0rCQlpZiAocy0+d2J1ZiA9PSBOVUxMKSB7 Ci0rCQkJRFBSKCJPcGVuU3RyZWFtOiBmYWlsZWQgdG8gYWxsb2NhdGUgd2J1ZlxuIik7Ci0rCQkJ ZnJlZShzLT5yYnVmKTsKLSsJCQlQYVV0aWxfRnJlZU1lbW9yeShzKTsKLSsJCQlzaW9fY2xvc2Uo aGRsKTsKLSsJCQlyZXR1cm4gcGFJbnN1ZmZpY2llbnRNZW1vcnk7Ci0rCQl9Ci0rCX0JCi0rCXMt PmJhc2Uuc3RyZWFtSW5mby5pbnB1dExhdGVuY3kgPSAwOwotKwlzLT5iYXNlLnN0cmVhbUluZm8u b3V0cHV0TGF0ZW5jeSA9IChtb2RlICYgU0lPX1BMQVkpID8KLSsJICAgIChkb3VibGUpKHBhci5i dWZzeiArIFBhVXRpbF9HZXRCdWZmZXJQcm9jZXNzb3JPdXRwdXRMYXRlbmN5RnJhbWVzKCZzLT5i dWZwcm9jKSkgLyAoZG91YmxlKXBhci5yYXRlIDogMDsKLSsJcy0+YmFzZS5zdHJlYW1JbmZvLnNh bXBsZVJhdGUgPSBwYXIucmF0ZTsKLSsJcy0+YWN0aXZlID0gMDsKLSsJcy0+c3RvcHBlZCA9IDE7 Ci0rCXMtPm1vZGUgPSBtb2RlOwotKwlzLT5oZGwgPSBoZGw7Ci0rCXMtPnBhciA9IHBhcjsKLSsJ KnN0cmVhbSA9IHM7CQotKwlEUFIoIk9wZW5TdHJlYW06IGRvbmVcbiIpOwotKwlyZXR1cm4gcGFO b0Vycm9yOwotK30KLSsKLStzdGF0aWMgUGFFcnJvcgotK0Jsb2NraW5nUmVhZFN0cmVhbShQYVN0 cmVhbSAqc3RyZWFtLCB2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIG51bUZyYW1lcykKLSt7Ci0r CVBhU25kaW9TdHJlYW0gKnMgPSAoUGFTbmRpb1N0cmVhbSAqKXN0cmVhbTsKLSsJdW5zaWduZWQg biwgcmVzLCB0b2RvOwotKwl2b2lkICpidWY7Ci0rCQotKwl3aGlsZSAobnVtRnJhbWVzID4gMCkg ewotKwkJbiA9IHMtPnBhci5yb3VuZDsKLSsJCWlmIChuID4gbnVtRnJhbWVzKQotKwkJCW4gPSBu dW1GcmFtZXM7Ci0rCQlidWYgPSBzLT5yYnVmOwotKwkJdG9kbyA9IG4gKiBzLT5wYXIucmNoYW4g KiBzLT5wYXIuYnBzOwotKwkJd2hpbGUgKHRvZG8gPiAwKSB7Ci0rCQkJcmVzID0gc2lvX3JlYWQo cy0+aGRsLCBidWYsIHRvZG8pOwotKwkJCWlmIChyZXMgPT0gMCkKLSsJCQkJcmV0dXJuIHBhVW5h bnRpY2lwYXRlZEhvc3RFcnJvcjsKLSsJCQlidWYgPSAoY2hhciAqKWJ1ZiArIHJlczsKLSsJCQl0 b2RvIC09IHJlczsKLSsJCX0KLSsJCXMtPnJwb3MgKz0gbjsKLSsJCVBhVXRpbF9TZXRJbnB1dEZy YW1lQ291bnQoJnMtPmJ1ZnByb2MsIG4pOwotKwkJUGFVdGlsX1NldEludGVybGVhdmVkSW5wdXRD aGFubmVscygmcy0+YnVmcHJvYywgMCwgcy0+cmJ1Ziwgcy0+cGFyLnJjaGFuKTsKLSsJCXJlcyA9 IFBhVXRpbF9Db3B5SW5wdXQoJnMtPmJ1ZnByb2MsICZkYXRhLCBuKTsKLSsJCWlmIChyZXMgIT0g bikgewotKwkJCURQUigiQmxvY2tpbmdSZWFkU3RyZWFtOiBjb3B5SW5wdXQ6ICV1ICE9ICV1XG4i KTsKLSsJCQlyZXR1cm4gcGFVbmFudGljaXBhdGVkSG9zdEVycm9yOwotKwkJfQotKwkJbnVtRnJh bWVzIC09IG47Ci0rCX0KLSsJcmV0dXJuIHBhTm9FcnJvcjsKLSt9Ci0rCi0rc3RhdGljIFBhRXJy b3IKLStCbG9ja2luZ1dyaXRlU3RyZWFtKFBhU3RyZWFtKiBzdHJlYW0sIGNvbnN0IHZvaWQgKmRh dGEsIHVuc2lnbmVkIGxvbmcgbnVtRnJhbWVzKQotK3sKLSsJUGFTbmRpb1N0cmVhbSAqcyA9IChQ YVNuZGlvU3RyZWFtICopc3RyZWFtOwotKwl1bnNpZ25lZCBuLCByZXM7Ci0rCi0rCXdoaWxlIChu dW1GcmFtZXMgPiAwKSB7Ci0rCQluID0gcy0+cGFyLnJvdW5kOwotKwkJaWYgKG4gPiBudW1GcmFt ZXMpCi0rCQkJbiA9IG51bUZyYW1lczsKLSsJCVBhVXRpbF9TZXRPdXRwdXRGcmFtZUNvdW50KCZz LT5idWZwcm9jLCBuKTsKLSsJCVBhVXRpbF9TZXRJbnRlcmxlYXZlZE91dHB1dENoYW5uZWxzKCZz LT5idWZwcm9jLCAwLCBzLT53YnVmLCBzLT5wYXIucGNoYW4pOwotKwkJcmVzID0gUGFVdGlsX0Nv cHlPdXRwdXQoJnMtPmJ1ZnByb2MsICZkYXRhLCBuKTsKLSsJCWlmIChyZXMgIT0gbikgewotKwkJ CURQUigiQmxvY2tpbmdXcml0ZVN0cmVhbTogY29weU91dHB1dDogJXUgIT0gJXVcbiIpOwotKwkJ CXJldHVybiBwYVVuYW50aWNpcGF0ZWRIb3N0RXJyb3I7Ci0rCQl9Ci0rCQlyZXMgPSBzaW9fd3Jp dGUocy0+aGRsLCBzLT53YnVmLCBuICogcy0+cGFyLnBjaGFuICogcy0+cGFyLmJwcyk7Ci0rCQlp ZiAocmVzID09IDApCi0rCQkJcmV0dXJuIHBhVW5hbnRpY2lwYXRlZEhvc3RFcnJvcjsJCQotKwkJ cy0+d3BvcyArPSBuOwotKwkJbnVtRnJhbWVzIC09IG47Ci0rCX0KLSsJcmV0dXJuIHBhTm9FcnJv cjsKLSt9Ci0rCi0rc3RhdGljIHNpZ25lZCBsb25nCi0rQmxvY2tpbmdHZXRTdHJlYW1SZWFkQXZh aWxhYmxlKFBhU3RyZWFtICpzdHJlYW0pCi0rewotKwlQYVNuZGlvU3RyZWFtICpzID0gKFBhU25k aW9TdHJlYW0gKilzdHJlYW07Ci0rCXN0cnVjdCBwb2xsZmQgcGZkOwotKwlpbnQgbiwgZXZlbnRz OwotKwotKwluID0gc2lvX3BvbGxmZChzLT5oZGwsICZwZmQsIFBPTExJTik7Ci0rCXdoaWxlIChw b2xsKCZwZmQsIG4sIDApIDwgMCkgewotKwkJaWYgKGVycm5vID09IEVJTlRSKQotKwkJCWNvbnRp bnVlOwotKwkJcGVycm9yKCJwb2xsIik7Ci0rCQlhYm9ydCgpOwotKwl9Ci0rCWV2ZW50cyA9IHNp b19yZXZlbnRzKHMtPmhkbCwgJnBmZCk7Ci0rCWlmICghKGV2ZW50cyAmIFBPTExJTikpCi0rCQly ZXR1cm4gMDsKLSsKLSsJcmV0dXJuIHMtPnJlYWxwb3MgLSBzLT5ycG9zOwotK30KLSsKLStzdGF0 aWMgc2lnbmVkIGxvbmcKLStCbG9ja2luZ0dldFN0cmVhbVdyaXRlQXZhaWxhYmxlKFBhU3RyZWFt ICpzdHJlYW0pCi0rewotKwlQYVNuZGlvU3RyZWFtICpzID0gKFBhU25kaW9TdHJlYW0gKilzdHJl YW07Ci0rCXN0cnVjdCBwb2xsZmQgcGZkOwotKwlpbnQgbiwgZXZlbnRzOwotKwotKwluID0gc2lv X3BvbGxmZChzLT5oZGwsICZwZmQsIFBPTExPVVQpOwotKwl3aGlsZSAocG9sbCgmcGZkLCBuLCAw KSA8IDApIHsKLSsJCWlmIChlcnJubyA9PSBFSU5UUikKLSsJCQljb250aW51ZTsKLSsJCXBlcnJv cigicG9sbCIpOwotKwkJYWJvcnQoKTsKLSsJfQotKwlldmVudHMgPSBzaW9fcmV2ZW50cyhzLT5o ZGwsICZwZmQpOwotKwlpZiAoIShldmVudHMgJiBQT0xMT1VUKSkKLSsJCXJldHVybiAwOwotKwot KwlyZXR1cm4gcy0+cGFyLmJ1ZnN6IC0gKHMtPndwb3MgLSBzLT5yZWFscG9zKTsKLSt9Ci0rCi0r c3RhdGljIFBhRXJyb3IKLStCbG9ja2luZ1dhaXRFbXB0eSggUGFTdHJlYW0gKnN0cmVhbSApCi0r ewotKwlQYVNuZGlvU3RyZWFtICpzID0gKFBhU25kaW9TdHJlYW0gKilzdHJlYW07Ci0rCi0rCS8q Ci0rCSAqIGRyYWluIHBsYXliYWNrIGJ1ZmZlcnM7IHNuZGlvIGFsd2F5cyBkb2VzIGl0IGluIGJh Y2tncm91bmQKLSsJICogYW5kIHRoZXJlIGlzIG5vIHdheSB0byB3YWl0IGZvciBjb21wbGV0aW9u Ci0rCSAqLwotKwlEUFIoIkJsb2NraW5nV2FpdEVtcHR5OiBzPSVkLCBhPSVkXG4iLCBzLT5zdG9w cGVkLCBzLT5hY3RpdmUpOwotKwotKwlyZXR1cm4gcGFOb0Vycm9yOwotK30KLSsKLStzdGF0aWMg UGFFcnJvcgotK1N0YXJ0U3RyZWFtKFBhU3RyZWFtICpzdHJlYW0pCi0rewotKwlQYVNuZGlvU3Ry ZWFtICpzID0gKFBhU25kaW9TdHJlYW0gKilzdHJlYW07Ci0rCXVuc2lnbmVkIHByaW1lcywgd2Js a3N6OwotKwlpbnQgZXJyOwotKwotKwlEUFIoIlN0YXJ0U3RyZWFtOiBzPSVkLCBhPSVkXG4iLCBz LT5zdG9wcGVkLCBzLT5hY3RpdmUpOwotKwotKwlpZiAoIXMtPnN0b3BwZWQpIHsKLSsJCURQUigi U3RhcnRTdHJlYW06IGFscmVhZHkgc3RhcnRlZFxuIik7Ci0rCQlyZXR1cm4gcGFOb0Vycm9yOwot Kwl9Ci0rCXMtPnN0b3BwZWQgPSAwOwotKwlzLT5hY3RpdmUgPSAxOwotKwlzLT5yZWFscG9zID0g MDsKLSsJcy0+d3BvcyA9IDA7Ci0rCXMtPnJwb3MgPSAwOwotKwlQYVV0aWxfUmVzZXRCdWZmZXJQ cm9jZXNzb3IoJnMtPmJ1ZnByb2MpOwotKwlpZiAoIXNpb19zdGFydChzLT5oZGwpKQotKwkJcmV0 dXJuIHBhVW5hbnRpY2lwYXRlZEhvc3RFcnJvcjsKLSsKLSsJLyoKLSsJICogc2VuZCBhIGNvbXBs ZXRlIGJ1ZmZlciBvZiBzaWxlbmNlCi0rCSAqLwotKwlpZiAocy0+bW9kZSAmIFNJT19QTEFZKSB7 Ci0rCQl3Ymxrc3ogPSBzLT5wYXIucm91bmQgKiBzLT5wYXIucGNoYW4gKiBzLT5wYXIuYnBzOwot KwkJbWVtc2V0KHMtPndidWYsIDAsIHdibGtzeik7Ci0rCQlmb3IgKHByaW1lcyA9IHMtPnBhci5i dWZzeiAvIHMtPnBhci5yb3VuZDsgcHJpbWVzID4gMDsgcHJpbWVzLS0pCi0rCQkJcy0+d3BvcyAr PSBzaW9fd3JpdGUocy0+aGRsLCBzLT53YnVmLCB3Ymxrc3opOwotKwl9Ci0rCWlmIChzLT5iYXNl LnN0cmVhbUNhbGxiYWNrKSB7Ci0rCQllcnIgPSBwdGhyZWFkX2NyZWF0ZSgmcy0+dGhyZWFkLCBO VUxMLCBzbmRpb1RocmVhZCwgcyk7Ci0rCQlpZiAoZXJyKSB7Ci0rCQkJRFBSKCJTbmRpb1N0YXJ0 U3RyZWFtOiBjb3VsZG4ndCBjcmVhdGUgdGhyZWFkXG4iKTsKLSsJCQlyZXR1cm4gcGFVbmFudGlj aXBhdGVkSG9zdEVycm9yOwotKwkJfQotKwkJRFBSKCJTdGFydFN0cmVhbTogc3RhcnRlZC4uLlxu Iik7Ci0rCX0KLSsJcmV0dXJuIHBhTm9FcnJvcjsKLSt9Ci0rCi0rc3RhdGljIFBhRXJyb3IKLStT dG9wU3RyZWFtKFBhU3RyZWFtICpzdHJlYW0pCi0rewotKwlQYVNuZGlvU3RyZWFtICpzID0gKFBh U25kaW9TdHJlYW0gKilzdHJlYW07Ci0rCXZvaWQgKnJldDsKLSsJaW50IGVycjsKLSsKLSsJRFBS KCJTdG9wU3RyZWFtOiBzPSVkLCBhPSVkXG4iLCBzLT5zdG9wcGVkLCBzLT5hY3RpdmUpOwotKwot KwlpZiAocy0+c3RvcHBlZCkgewotKwkJRFBSKCJTdGFydFN0cmVhbTogYWxyZWFkeSBzdGFydGVk XG4iKTsKLSsJCXJldHVybiBwYU5vRXJyb3I7Ci0rCX0KLSsJcy0+c3RvcHBlZCA9IDE7Ci0rCWlm IChzLT5iYXNlLnN0cmVhbUNhbGxiYWNrKSB7Ci0rCQllcnIgPSBwdGhyZWFkX2pvaW4ocy0+dGhy ZWFkLCAmcmV0KTsKLSsJCWlmIChlcnIpIHsKLSsJCQlEUFIoIlNuZGlvU3RvcDogY291bGRuJ3Qg am9pbiB0aHJlYWRcbiIpOwotKwkJCXJldHVybiBwYVVuYW50aWNpcGF0ZWRIb3N0RXJyb3I7Ci0r CQl9Ci0rCX0KLSsJaWYgKCFzaW9fc3RvcChzLT5oZGwpKQotKwkJcmV0dXJuIHBhVW5hbnRpY2lw YXRlZEhvc3RFcnJvcjsKLSsJcmV0dXJuIHBhTm9FcnJvcjsKLSt9Ci0rCi0rc3RhdGljIFBhRXJy b3IKLStDbG9zZVN0cmVhbShQYVN0cmVhbSAqc3RyZWFtKQotK3sKLSsJUGFTbmRpb1N0cmVhbSAq cyA9IChQYVNuZGlvU3RyZWFtICopc3RyZWFtOwotKwotKwlEUFIoIkNsb3NlU3RyZWFtOlxuIik7 Ci0rCi0rCWlmICghcy0+c3RvcHBlZCkKLSsJCVN0b3BTdHJlYW0oc3RyZWFtKTsKLSsKLSsJaWYg KHMtPm1vZGUgJiBTSU9fUkVDKQotKwkJZnJlZShzLT5yYnVmKTsKLSsJaWYgKHMtPm1vZGUgJiBT SU9fUExBWSkKLSsJCWZyZWUocy0+d2J1Zik7Ci0rCXNpb19jbG9zZShzLT5oZGwpOwotKyAgICAg ICAgUGFVdGlsX1Rlcm1pbmF0ZVN0cmVhbVJlcHJlc2VudGF0aW9uKCZzLT5iYXNlKTsKLSsJUGFV dGlsX1Rlcm1pbmF0ZUJ1ZmZlclByb2Nlc3Nvcigmcy0+YnVmcHJvYyk7Ci0rCVBhVXRpbF9GcmVl TWVtb3J5KHMpOwotKwlyZXR1cm4gcGFOb0Vycm9yOwotK30KLSsKLStzdGF0aWMgUGFFcnJvcgot K0Fib3J0U3RyZWFtKFBhU3RyZWFtICpzdHJlYW0pCi0rewotKwlEUFIoIkFib3J0U3RyZWFtOlxu Iik7Ci0rCi0rCXJldHVybiBTdG9wU3RyZWFtKHN0cmVhbSk7Ci0rfQotKwotK3N0YXRpYyBQYUVy cm9yCi0rSXNTdHJlYW1TdG9wcGVkKFBhU3RyZWFtICpzdHJlYW0pCi0rewotKwlQYVNuZGlvU3Ry ZWFtICpzID0gKFBhU25kaW9TdHJlYW0gKilzdHJlYW07Ci0rCi0rCS8vRFBSKCJJc1N0cmVhbVN0 b3BwZWQ6IHM9JWQsIGE9JWRcbiIsIHMtPnN0b3BwZWQsIHMtPmFjdGl2ZSk7Ci0rCi0rCXJldHVy biBzLT5zdG9wcGVkOwotK30KLSsKLStzdGF0aWMgUGFFcnJvcgotK0lzU3RyZWFtQWN0aXZlKFBh U3RyZWFtICpzdHJlYW0pCi0rewotKwlQYVNuZGlvU3RyZWFtICpzID0gKFBhU25kaW9TdHJlYW0g KilzdHJlYW07Ci0rCi0rCS8vRFBSKCJJc1N0cmVhbUFjdGl2ZTogcz0lZCwgYT0lZFxuIiwgcy0+ c3RvcHBlZCwgcy0+YWN0aXZlKTsKLSsKLSsJcmV0dXJuIHMtPmFjdGl2ZTsKLSt9Ci0rCi0rc3Rh dGljIFBhVGltZQotK0dldFN0cmVhbVRpbWUoUGFTdHJlYW0gKnN0cmVhbSkKLSt7Ci0rCVBhU25k aW9TdHJlYW0gKnMgPSAoUGFTbmRpb1N0cmVhbSAqKXN0cmVhbTsKLSsKLSsJcmV0dXJuIChkb3Vi bGUpcy0+cmVhbHBvcyAvIHMtPmJhc2Uuc3RyZWFtSW5mby5zYW1wbGVSYXRlOwotK30KLSsKLStz dGF0aWMgUGFFcnJvcgotK0lzRm9ybWF0U3VwcG9ydGVkKHN0cnVjdCBQYVV0aWxIb3N0QXBpUmVw cmVzZW50YXRpb24gKmhvc3RBcGksCi0rICAgIGNvbnN0IFBhU3RyZWFtUGFyYW1ldGVycyAqaW5w dXRQYXIsCi0rICAgIGNvbnN0IFBhU3RyZWFtUGFyYW1ldGVycyAqb3V0cHV0UGFyLAotKyAgICBk b3VibGUgc2FtcGxlUmF0ZSkKLSt7Ci0rCXJldHVybiBwYUZvcm1hdElzU3VwcG9ydGVkOwotK30K LSsKLStzdGF0aWMgdm9pZAotK1Rlcm1pbmF0ZShzdHJ1Y3QgUGFVdGlsSG9zdEFwaVJlcHJlc2Vu dGF0aW9uICpob3N0QXBpKQotK3sKLSsJUGFTbmRpb0hvc3RBcGlSZXByZXNlbnRhdGlvbiAqc25k aW9Ib3N0QXBpOwotKwlzbmRpb0hvc3RBcGkgPSAoUGFTbmRpb0hvc3RBcGlSZXByZXNlbnRhdGlv biAqKWhvc3RBcGk7Ci0rCWZyZWUoc25kaW9Ib3N0QXBpLT5hdWRpb2RldmljZXMpOwotKwlQYVV0 aWxfRnJlZU1lbW9yeShob3N0QXBpKTsKLSt9Ci0rCi0rc3RhdGljIHZvaWQKLStJbml0RGV2aWNl SW5mbyhQYURldmljZUluZm8gKmluZm8sIFBhSG9zdEFwaUluZGV4IGhvc3RBcGlJbmRleCwgY29u c3QgY2hhciAqbmFtZSkKLSt7Ci0rCWluZm8tPnN0cnVjdFZlcnNpb24gPSAyOwotKwlpbmZvLT5u YW1lID0gbmFtZTsKLSsJaW5mby0+aG9zdEFwaSA9IGhvc3RBcGlJbmRleDsKLSsJaW5mby0+bWF4 SW5wdXRDaGFubmVscyA9IDEyODsKLSsJaW5mby0+bWF4T3V0cHV0Q2hhbm5lbHMgPSAxMjg7Ci0r CWluZm8tPmRlZmF1bHRMb3dJbnB1dExhdGVuY3kgPSAwLjAxOwotKwlpbmZvLT5kZWZhdWx0TG93 T3V0cHV0TGF0ZW5jeSA9IDAuMDE7Ci0rCWluZm8tPmRlZmF1bHRIaWdoSW5wdXRMYXRlbmN5ID0g MC41OwotKwlpbmZvLT5kZWZhdWx0SGlnaE91dHB1dExhdGVuY3kgPSAwLjU7Ci0rCWluZm8tPmRl ZmF1bHRTYW1wbGVSYXRlID0gNDgwMDA7Ci0rfQotKwotK1BhRXJyb3IKLStQYVNuZGlvX0luaXRp YWxpemUoUGFVdGlsSG9zdEFwaVJlcHJlc2VudGF0aW9uICoqaG9zdEFwaSwgUGFIb3N0QXBpSW5k ZXggaG9zdEFwaUluZGV4KQotK3sKLSsJUGFTbmRpb0hvc3RBcGlSZXByZXNlbnRhdGlvbiAqc25k aW9Ib3N0QXBpOwotKwlQYURldmljZUluZm8gKmluZm87Ci0rCXN0cnVjdCBzaW9faGRsICpoZGw7 Ci0rCWNoYXIgKmF1ZGlvZGV2aWNlczsKLSsJY2hhciAqZGV2aWNlOwotKwlzaXplX3QgZGV2aWNl Q291bnQ7Ci0rCi0rCURQUigiUGFTbmRpb19Jbml0aWFsaXplOiBpbml0aWFsaXppbmcuLi5cbiIp OwotKwotKwlpZiAoKGhkbD1zaW9fb3BlbihTSU9fREVWQU5ZLCBTSU9fUExBWSwgMSkpID09IE5V TEwpCi0rCQlyZXR1cm4gcGFOb0Vycm9yOwotKwlzaW9fY2xvc2UoaGRsKTsKLSsJLyogdW51c2Fi bGUgQVBJcyBzaG91bGQgcmV0dXJuIHBhTm9FcnJvciBhbmQgYSBOVUxMIGhvc3RBcGkgKi8KLSsJ Kmhvc3RBcGkgPSBOVUxMOwotKwotKwlzbmRpb0hvc3RBcGkgPSBQYVV0aWxfQWxsb2NhdGVNZW1v cnkoc2l6ZW9mKFBhU25kaW9Ib3N0QXBpUmVwcmVzZW50YXRpb24pKTsKLSsJaWYgKHNuZGlvSG9z dEFwaSA9PSBOVUxMKQotKwkJcmV0dXJuIHBhTm9FcnJvcjsKLSsKLSsJLy8gQWRkIGRlZmF1bHQg ZGV2aWNlCi0rCWluZm8gPSAmc25kaW9Ib3N0QXBpLT5kZXZpY2VfaW5mb1swXTsKLSsJSW5pdERl dmljZUluZm8oaW5mbywgaG9zdEFwaUluZGV4LCBTSU9fREVWQU5ZKTsKLSsJc25kaW9Ib3N0QXBp LT5pbmZvc1swXSA9IGluZm87Ci0rCWRldmljZUNvdW50ID0gMTsKLSsKLSsJLy8gQWRkIGFkZGl0 aW9uYWwgZGV2aWNlcyBhcyBzcGVjaWZpZWQgaW4gdGhlIFBBX1NORElPX0FVRElPREVWSUNFUwot KwkvLyBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyBhIGNvbG9uIHNlcGFyYXRlZCBsaXN0Ci0rCXNu ZGlvSG9zdEFwaS0+YXVkaW9kZXZpY2VzID0gTlVMTDsKLSsJYXVkaW9kZXZpY2VzID0gZ2V0ZW52 KCJQQV9TTkRJT19BVURJT0RFVklDRVMiKTsKLSsJaWYgKGF1ZGlvZGV2aWNlcyAhPSBOVUxMKSB7 Ci0rCQlzbmRpb0hvc3RBcGktPmF1ZGlvZGV2aWNlcyA9IHN0cmR1cChhdWRpb2RldmljZXMpOwot KwkJaWYgKHNuZGlvSG9zdEFwaS0+YXVkaW9kZXZpY2VzID09IE5VTEwpCi0rCQkJcmV0dXJuIHBh Tm9FcnJvcjsKLSsKLSsJCWF1ZGlvZGV2aWNlcyA9IHNuZGlvSG9zdEFwaS0+YXVkaW9kZXZpY2Vz OwotKwkJd2hpbGUgKChkZXZpY2UgPSBzdHJzZXAoJmF1ZGlvZGV2aWNlcywgIjoiKSkgIT0gTlVM TCAmJgotKwkJCWRldmljZUNvdW50IDwgUEFfU05ESU9fQVVESU9ERVZJQ0VTX01BWCkgewotKwkJ CWlmICgqZGV2aWNlID09ICdcMCcpCi0rCQkJCWNvbnRpbnVlOwotKwkJCWluZm8gPSAmc25kaW9I b3N0QXBpLT5kZXZpY2VfaW5mb1tkZXZpY2VDb3VudF07Ci0rCQkJSW5pdERldmljZUluZm8oaW5m bywgaG9zdEFwaUluZGV4LCBkZXZpY2UpOwotKwkJCXNuZGlvSG9zdEFwaS0+aW5mb3NbZGV2aWNl Q291bnRdID0gaW5mbzsKLSsJCQlkZXZpY2VDb3VudCsrOwotKwkJfQotKwl9Ci0rCi0rCSpob3N0 QXBpID0gJnNuZGlvSG9zdEFwaS0+YmFzZTsKLSsJKCpob3N0QXBpKS0+aW5mby5zdHJ1Y3RWZXJz aW9uID0gMTsKLSsJKCpob3N0QXBpKS0+aW5mby50eXBlID0gcGFTbmRpbzsKLSsJKCpob3N0QXBp KS0+aW5mby5uYW1lID0gInNuZGlvIjsKLSsJKCpob3N0QXBpKS0+aW5mby5kZXZpY2VDb3VudCA9 IGRldmljZUNvdW50OwotKwkoKmhvc3RBcGkpLT5pbmZvLmRlZmF1bHRJbnB1dERldmljZSA9IDA7 Ci0rCSgqaG9zdEFwaSktPmluZm8uZGVmYXVsdE91dHB1dERldmljZSA9IDA7Ci0rCSgqaG9zdEFw aSktPmRldmljZUluZm9zID0gc25kaW9Ib3N0QXBpLT5pbmZvczsKLSsJKCpob3N0QXBpKS0+VGVy bWluYXRlID0gVGVybWluYXRlOwotKwkoKmhvc3RBcGkpLT5PcGVuU3RyZWFtID0gT3BlblN0cmVh bTsKLSsJKCpob3N0QXBpKS0+SXNGb3JtYXRTdXBwb3J0ZWQgPSBJc0Zvcm1hdFN1cHBvcnRlZDsK LSsJCi0rCVBhVXRpbF9Jbml0aWFsaXplU3RyZWFtSW50ZXJmYWNlKCZzbmRpb0hvc3RBcGktPmJs b2NraW5nLAotKwkgICAgQ2xvc2VTdHJlYW0sCi0rCSAgICBTdGFydFN0cmVhbSwKLSsJICAgIFN0 b3BTdHJlYW0sCi0rCSAgICBBYm9ydFN0cmVhbSwKLSsJICAgIElzU3RyZWFtU3RvcHBlZCwKLSsJ ICAgIElzU3RyZWFtQWN0aXZlLAotKwkgICAgR2V0U3RyZWFtVGltZSwKLSsJICAgIFBhVXRpbF9E dW1teUdldENwdUxvYWQsCi0rCSAgICBCbG9ja2luZ1JlYWRTdHJlYW0sCi0rCSAgICBCbG9ja2lu Z1dyaXRlU3RyZWFtLAotKwkgICAgQmxvY2tpbmdHZXRTdHJlYW1SZWFkQXZhaWxhYmxlLAotKwkg ICAgQmxvY2tpbmdHZXRTdHJlYW1Xcml0ZUF2YWlsYWJsZSk7Ci0rCi0rCVBhVXRpbF9Jbml0aWFs aXplU3RyZWFtSW50ZXJmYWNlKCZzbmRpb0hvc3RBcGktPmNhbGxiYWNrLAotKwkgICAgQ2xvc2VT dHJlYW0sCi0rCSAgICBTdGFydFN0cmVhbSwKLSsJICAgIFN0b3BTdHJlYW0sCi0rCSAgICBBYm9y dFN0cmVhbSwKLSsJICAgIElzU3RyZWFtU3RvcHBlZCwKLSsJICAgIElzU3RyZWFtQWN0aXZlLAot KwkgICAgR2V0U3RyZWFtVGltZSwKLSsJICAgIFBhVXRpbF9EdW1teUdldENwdUxvYWQsCi0rCSAg ICBQYVV0aWxfRHVtbXlSZWFkLAotKwkgICAgUGFVdGlsX0R1bW15V3JpdGUsCi0rCSAgICBQYVV0 aWxfRHVtbXlHZXRSZWFkQXZhaWxhYmxlLAotKwkgICAgUGFVdGlsX0R1bW15R2V0V3JpdGVBdmFp bGFibGUpOwotKwotKwlEUFIoIlBhU25kaW9fSW5pdGlhbGl6ZTogZG9uZVxuIik7Ci0rCXJldHVy biBwYU5vRXJyb3I7Ci0rfQotZGlmZiAtLWdpdCBzcmMvb3MvdW5peC9wYV91bml4X2hvc3RhcGlz LmMgc3JjL29zL3VuaXgvcGFfdW5peF9ob3N0YXBpcy5jCi1pbmRleCBhOWI0YTA1Li5mMTBjZWQx IDEwMDY0NAotLS0tIHNyYy9vcy91bml4L3BhX3VuaXhfaG9zdGFwaXMuYwotKysrIHNyYy9vcy91 bml4L3BhX3VuaXhfaG9zdGFwaXMuYwotQEAgLTQ0LDYgKzQ0LDcgQEAKLSAKLSBQYUVycm9yIFBh SmFja19Jbml0aWFsaXplKCBQYVV0aWxIb3N0QXBpUmVwcmVzZW50YXRpb24gKipob3N0QXBpLCBQ YUhvc3RBcGlJbmRleCBpbmRleCApOwotIFBhRXJyb3IgUGFBbHNhX0luaXRpYWxpemUoIFBhVXRp bEhvc3RBcGlSZXByZXNlbnRhdGlvbiAqKmhvc3RBcGksIFBhSG9zdEFwaUluZGV4IGluZGV4ICk7 Ci0rUGFFcnJvciBQYVNuZGlvX0luaXRpYWxpemUoIFBhVXRpbEhvc3RBcGlSZXByZXNlbnRhdGlv biAqKmhvc3RBcGksIFBhSG9zdEFwaUluZGV4IGluZGV4ICk7Ci0gUGFFcnJvciBQYU9TU19Jbml0 aWFsaXplKCBQYVV0aWxIb3N0QXBpUmVwcmVzZW50YXRpb24gKipob3N0QXBpLCBQYUhvc3RBcGlJ bmRleCBpbmRleCApOwotIC8qIEFkZGVkIGZvciBJUklYLCBQaWV0ZXIsIG9jdCAyLCAyMDAzOiAq LwotIFBhRXJyb3IgUGFTR0lfSW5pdGlhbGl6ZSggUGFVdGlsSG9zdEFwaVJlcHJlc2VudGF0aW9u ICoqaG9zdEFwaSwgUGFIb3N0QXBpSW5kZXggaW5kZXggKTsKLUBAIC01Nyw2ICs1OCwxMCBAQCBQ YUVycm9yIFBhU2tlbGV0b25fSW5pdGlhbGl6ZSggUGFVdGlsSG9zdEFwaVJlcHJlc2VudGF0aW9u ICoqaG9zdEFwaSwgUGFIb3N0QXBpSQotIAotIFBhVXRpbEhvc3RBcGlJbml0aWFsaXplciAqcGFI b3N0QXBpSW5pdGlhbGl6ZXJzW10gPQotICAgICB7Ci0rI2lmZGVmIFBBX1VTRV9TTkRJTwotKwkg ICAgUGFTbmRpb19Jbml0aWFsaXplLAotKyNlbmRpZgotKwotICNpZmRlZiBfX2xpbnV4X18KLSAK LSAjaWYgUEFfVVNFX0FMU0EKLS0tIAotMi4yNy4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9y dGF1ZGlvL3RlbXBsYXRlIGIvc3JjcGtncy9wb3J0YXVkaW8vdGVtcGxhdGUKaW5kZXggNzAzMmY4 ZGE5ZDQxLi5hYTQ5ZTJkODJmZTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcG9ydGF1ZGlvL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcG9ydGF1ZGlvL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncG9ydGF1ZGlvJwogcGtnbmFtZT1wb3J0YXVkaW8KLXZlcnNpb249 MTkwNjAwLjIwMTYxMDMwCi1yZXZpc2lvbj02Cit2ZXJzaW9uPTE5LjcuMAorcmV2aXNpb249MQog d3Jrc3JjPXBvcnRhdWRpbwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2Fy Z3M9Ii0tZW5hYmxlLWN4eCAtLXdpdGgtamFjayAkKHZvcHRfZW5hYmxlIHNuZGlvKSIKQEAgLTEx LDggKzExLDggQEAgc2hvcnRfZGVzYz0iUG9ydGFibGUgY3Jvc3MtcGxhdGZvcm0gYXVkaW8gSS9P IGxpYnJhcnkiCiBtYWludGFpbmVyPSLDiXJpY28gTm9ndWVpcmEgPGVyaWNvbnJAZGlzcm9vdC5v cmc+IgogbGljZW5zZT0iTUlUIgogaG9tZXBhZ2U9Imh0dHA6Ly93d3cucG9ydGF1ZGlvLmNvbSIK LWRpc3RmaWxlcz0iaHR0cDovL3d3dy4ke3BrZ25hbWV9LmNvbS9hcmNoaXZlcy9wYV9zdGFibGVf diR7dmVyc2lvbiUuKn1fJHt2ZXJzaW9uIyoufS50Z3oiCi1jaGVja3N1bT1mNWEyMWQ3ZGNkNmVl ODQzOTc0NDZmYTFmYTFhMDY3NWJiMmU4YTRhNmRjZWI0MzA1YTg0MDQ2OThkOGQxNTEzCitkaXN0 ZmlsZXM9Imh0dHA6Ly9maWxlcy5wb3J0YXVkaW8uY29tL2FyY2hpdmVzL3BhX3N0YWJsZV92MTkw NzAwXzIwMjEwNDA2LnRneiIKK2NoZWNrc3VtPTQ3ZWZiZjQyYzc3YzE5YTA1ZDIyZTYyN2Q0Mjg3 M2U5OTFlYzBjMTM1NzIxOWMwZDc0Y2U2YTI5NDhjYjJkZWYKIGRpc2FibGVfcGFyYWxsZWxfYnVp bGQ9eWVzCiAKICMgc25kaW8gZGlzYWJsZWQgYnkgZGVmYXVsdDogbm9uLXVwc3RyZWFtIHBhdGNo CgpGcm9tIGE3ZjBlZWJmNzkzMWNlMmVlMmVjNTQwNjI4NDY5ZWE4ZDliZDczODggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdl bmN5PgpEYXRlOiBGcmksIDkgQXByIDIwMjEgMTE6NDA6MjYgKzAyMDAKU3ViamVjdDogW1BBVENI IDAyLzIyXSBPcGVuQ1BOOiBidW1wIGZvciBwb3J0YXVkbyAxOS43LjAKCi0tLQogc3JjcGtncy9P cGVuQ1BOL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcGVuQ1BOL3RlbXBsYXRlIGIvc3Jj cGtncy9PcGVuQ1BOL3RlbXBsYXRlCmluZGV4IGVlNjdkYmFmZjAxYy4uOTNhYTg5MjA1NmIzIDEw MDY0NAotLS0gYS9zcmNwa2dzL09wZW5DUE4vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9PcGVuQ1BO L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnT3BlbkNQTicK IHBrZ25hbWU9T3BlbkNQTgogdmVyc2lvbj01LjIuMAotcmV2aXNpb249MgorcmV2aXNpb249Mwog YnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogY29u ZmlndXJlX2FyZ3M9Ii1ET0NQTl9CVU5ETEVfR1NISFM9Tk9ORSAtRE9DUE5fQlVORExFX1RDREFU QT1PTgoKRnJvbSA5MmI1OWIzZmFlN2U4YmYxZjQzZmVhZDA2YzZlMDM5OWQ2MWYwOGQyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBwcmV6IDxwcmV6QG5hdGlvbmFsLnNoaXRwb3N0aW5n LmFnZW5jeT4KRGF0ZTogRnJpLCA5IEFwciAyMDIxIDExOjQwOjU0ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwMy8yMl0gYnV0dDogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0KIHNyY3BrZ3Mv YnV0dC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYnV0dC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv YnV0dC90ZW1wbGF0ZQppbmRleCAwYWQxYWQ5MGUxMTQuLjFhNmJlZmI0OTFjYyAxMDA2NDQKLS0t IGEvc3JjcGtncy9idXR0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYnV0dC90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2J1dHQnCiBwa2duYW1lPWJ1dHQKIHZl cnNpb249MC4xLjI5Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29u ZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZmx0ay1k ZXZlbCBwb3J0YXVkaW8tZGV2ZWwgbGFtZS1kZXZlbCBsaWJ2b3JiaXMtZGV2ZWwgbGlib2dnLWRl dmVsCgpGcm9tIGZhOTdlNGQ2ZWUyZjBmNWRmMTE3ZDMwMjQzOTY4MmU5MjY0NTFiMTkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBvc3Rpbmcu YWdlbmN5PgpEYXRlOiBGcmksIDkgQXByIDIwMjEgMTE6NDA6NTggKzAyMDAKU3ViamVjdDogW1BB VENIIDA0LzIyXSBjc291bmQ6IGJ1bXAgZm9yIHBvcnRhdWRvIDE5LjcuMAoKLS0tCiBzcmNwa2dz L2Nzb3VuZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3NvdW5kL3RlbXBsYXRlIGIvc3Jj cGtncy9jc291bmQvdGVtcGxhdGUKaW5kZXggYjRjNjc2MzJjYThhLi5mMDJmOTdiYzYzMjUgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvY3NvdW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY3NvdW5kL3Rl bXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3NvdW5kJwogcGtn bmFtZT1jc291bmQKIHZlcnNpb249Ni4xNS4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9IgogIC1ETFVBX01PRFVMRV9JTlNUQUxMX0RJ Uj0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2xpYi9sdWEvNS4xCgpGcm9tIDZiZDY5YjUzNDFhN2Iz OTY3OTA1MmNiMTRkZjRhM2I0Zjc2NzU0ZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRlOiBGcmksIDkgQXBy IDIwMjEgMTE6NDE6MDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDA1LzIyXSBmbGRpZ2k6IGJ1bXAg Zm9yIHBvcnRhdWRvIDE5LjcuMAoKLS0tCiBzcmNwa2dzL2ZsZGlnaS90ZW1wbGF0ZSB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZmxkaWdpL3RlbXBsYXRlIGIvc3JjcGtncy9mbGRpZ2kvdGVtcGxhdGUKaW5k ZXggMDk4ZDA0MzFjNDk3Li4wMWM5ZmViYWI1ZDcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmxkaWdp L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZmxkaWdpL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnZmxkaWdpJwogcGtnbmFtZT1mbGRpZ2kKIHZlcnNpb249NC4x LjEzCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBo b3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZmx0ay1kZXZlbCBsaWJz YW1wbGVyYXRlLWRldmVsIHBvcnRhdWRpby1kZXZlbCBwdWxzZWF1ZGlvLWRldmVsCgpGcm9tIDY3 ZDAxYmI2NmEyZTU5Njc4OGRjNDhiYWYwZGJiYzhlNzkzOWE5NzQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRl OiBGcmksIDkgQXByIDIwMjEgMTE6NDE6MDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDA2LzIyXSBm bWl0OiBidW1wIGZvciBwb3J0YXVkbyAxOS43LjAKCi0tLQogc3JjcGtncy9mbWl0L3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9mbWl0L3RlbXBsYXRlIGIvc3JjcGtncy9mbWl0L3RlbXBsYXRl CmluZGV4IDI0NmRjZWI1OTRkMy4uZWJjZWFhNDNmZmMzIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Zt aXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9mbWl0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnZm1pdCcKIHBrZ25hbWU9Zm1pdAogdmVyc2lvbj0xLjIuMTQK LXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPXFtYWtlCiBjb25maWd1cmVfYXJn cz0iQ09ORklHKz1hY3NfcXQgQ09ORklHKz0kKHZvcHRfaWYgYWxzYSBhY3NfYWxzYSkKICBDT05G SUcrPSQodm9wdF9pZiBqYWNrIGFjc19qYWNrKSBDT05GSUcrPSQodm9wdF9pZiBwb3J0YXVkaW8g YWNzX3BvcnRhdWRpbykiCgpGcm9tIDdiMGIyZjk0ZTVkMzY1MGMwNGJiMDc1Mjg2MzBmNGI5ZmMw OTg2YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHByZXogPHByZXpAbmF0aW9uYWwu c2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRlOiBGcmksIDkgQXByIDIwMjEgMTE6NDE6MTUgKzAyMDAK U3ViamVjdDogW1BBVENIIDA3LzIyXSBndXZjdmlldzogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4w CgotLS0KIHNyY3BrZ3MvZ3V2Y3ZpZXcvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2d1dmN2 aWV3L3RlbXBsYXRlIGIvc3JjcGtncy9ndXZjdmlldy90ZW1wbGF0ZQppbmRleCA0NDdiMjdhZWNm NTAuLjIzYmFiNmRhN2EzOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9ndXZjdmlldy90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2d1dmN2aWV3L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnZ3V2Y3ZpZXcnCiBwa2duYW1lPWd1dmN2aWV3CiB2ZXJzaW9uPTIuMC42Ci1y ZXZpc2lvbj0yCityZXZpc2lvbj0zCiB3cmtzcmM9IiR7cGtnbmFtZX0tc3JjLSR7dmVyc2lvbn0i CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXN0 YXRpYyAtLWRpc2FibGUtZGViaWFuLW1lbnUiCgpGcm9tIDkzN2Y4MTlmMWZjMDMxZTg1N2E0Nzg3 ZjEwYTcxZTc2MzdmNjJhOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHByZXogPHBy ZXpAbmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRlOiBGcmksIDkgQXByIDIwMjEgMTE6 NDE6MjEgKzAyMDAKU3ViamVjdDogW1BBVENIIDA4LzIyXSBoYXRhcmk6IGJ1bXAgZm9yIHBvcnRh dWRvIDE5LjcuMAoKLS0tCiBzcmNwa2dzL2hhdGFyaS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvaGF0YXJpL3RlbXBsYXRlIGIvc3JjcGtncy9oYXRhcmkvdGVtcGxhdGUKaW5kZXggZTA1ZTc3 OTYxZDYwLi4yYjVkZTlmOWY2YzQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaGF0YXJpL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvaGF0YXJpL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnaGF0YXJpJwogcGtnbmFtZT1oYXRhcmkKIHZlcnNpb249Mi4zLjEKLXJldmlz aW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWcgcHl0aG9uMyIKIG1ha2VkZXBlbmRzPSJTREwyLWRldmVsIGxpYnBuZy1kZXZlbCBw b3J0YXVkaW8tZGV2ZWwgemxpYi1kZXZlbCIKCkZyb20gMmJkZDFkYWQxYzc4ODJiZGEzZDRjMjcw NGU5NDc0MGMzOGFlNWMzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcHJleiA8cHJl ekBuYXRpb25hbC5zaGl0cG9zdGluZy5hZ2VuY3k+CkRhdGU6IEZyaSwgOSBBcHIgMjAyMSAxMTo0 MToyOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMjJdIGxpYm9wZW5tcHQ6IGJ1bXAgZm9yIHBv cnRhdWRvIDE5LjcuMAoKLS0tCiBzcmNwa2dzL2xpYm9wZW5tcHQvdGVtcGxhdGUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2xpYm9wZW5tcHQvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYm9wZW5tcHQvdGVtcGxh dGUKaW5kZXggZDliYTE4NzlmZjQxLi5kNDYxMzk3YWM2YTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv bGlib3Blbm1wdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpYm9wZW5tcHQvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdsaWJvcGVubXB0JwogcGtnbmFtZT1s aWJvcGVubXB0CiB2ZXJzaW9uPTAuNS43Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiB3cmtzcmM9 ImxpYm9wZW5tcHQtJHt2ZXJzaW9ufStyZWxlYXNlLmF1dG90b29scyIKIGJ1aWxkX3N0eWxlPWdu dS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIkKHZvcHRfd2l0aCBwdWxzZWF1ZGlvKSAkKHZv cHRfd2l0aCBzZGwyKQoKRnJvbSBhNDI0YjBhNDY0MzM5YTk2NjI0MmYwZjZkMWMyMjAyYWRkN2Q5 NjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBwcmV6IDxwcmV6QG5hdGlvbmFsLnNo aXRwb3N0aW5nLmFnZW5jeT4KRGF0ZTogRnJpLCA5IEFwciAyMDIxIDExOjQxOjM0ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxMC8yMl0gbG1tczogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0K IHNyY3BrZ3MvbG1tcy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG1tcy90ZW1wbGF0ZSBi L3NyY3BrZ3MvbG1tcy90ZW1wbGF0ZQppbmRleCAzZWM0ZWIwNjhjOTEuLjE1YjY3YThmMjIyYyAx MDA2NDQKLS0tIGEvc3JjcGtncy9sbW1zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbG1tcy90ZW1w bGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xtbXMnCiBwa2duYW1l PWxtbXMKIHZlcnNpb249MS4yLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGFyY2hzPSJ+YXJt djYqIgogd3Jrc3JjPSR7cGtnbmFtZX0KIGJ1aWxkX3N0eWxlPWNtYWtlCgpGcm9tIGZlMzFkMDRl MTdmMTcwZmU0ZWU4M2ZkNGI3YTQyMTNlOTQ5YmEyNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRlOiBGcmks IDkgQXByIDIwMjEgMTE6NDE6NDYgKzAyMDAKU3ViamVjdDogW1BBVENIIDExLzIyXSBtYW1lOiBi dW1wIGZvciBwb3J0YXVkbyAxOS43LjAKCi0tLQogc3JjcGtncy9tYW1lL3RlbXBsYXRlIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9tYW1lL3RlbXBsYXRlIGIvc3JjcGtncy9tYW1lL3RlbXBsYXRlCmluZGV4 IGJjNDk4ZDgyODYzYS4uYzMzYjdjNzc5MTAwIDEwMDY0NAotLS0gYS9zcmNwa2dzL21hbWUvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9tYW1lL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnbWFtZScKIHBrZ25hbWU9bWFtZQogdmVyc2lvbj0wMjI5Ci1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiB3cmtzcmM9Im1hbWUtbWFtZSR7dmVyc2lvbn0iCiBob3N0bWFrZWRl cGVuZHM9InBrZy1jb25maWcgcHl0aG9uMyBxdDUtaG9zdC10b29scyB0YXIgeHogd2hpY2giCiBt YWtlZGVwZW5kcz0iU0RMMl90dGYtZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBnbG0gbGliZ29tcC1k ZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsCgpGcm9tIDVlNmFjNzVmODRkYTZhY2M0MDQ3MDRjNmYy MzhkYjZjMDM2YjQzNjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHByZXogPHByZXpA bmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRlOiBGcmksIDkgQXByIDIwMjEgMTE6NDE6 NTEgKzAyMDAKU3ViamVjdDogW1BBVENIIDEyLzIyXSBtaXh4eDogYnVtcCBmb3IgcG9ydGF1ZG8g MTkuNy4wCgotLS0KIHNyY3BrZ3MvbWl4eHgvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21p eHh4L3RlbXBsYXRlIGIvc3JjcGtncy9taXh4eC90ZW1wbGF0ZQppbmRleCA0ZGU2MjBmZDYwMzgu LjY4NDFjYTEzMjJjZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9taXh4eC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL21peHh4L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbWl4eHgnCiBwa2duYW1lPW1peHh4CiB2ZXJzaW9uPTIuMi40Ci1yZXZpc2lvbj04CityZXZp c2lvbj05CiB3cmtzcmM9Im1peHh4LXJlbGVhc2UtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPXNj b25zCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcHJvdG9idWYiCgpGcm9tIGZlZjNjNzFk OGI1YzEwMDAwZDc3OTYxZjNkOGMxNDg5YjY2OTE5OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBvc3RpbmcuYWdlbmN5PgpEYXRlOiBGcmks IDkgQXByIDIwMjEgMTE6NDE6NTQgKzAyMDAKU3ViamVjdDogW1BBVENIIDEzLzIyXSBtdW1ibGU6 IGJ1bXAgZm9yIHBvcnRhdWRvIDE5LjcuMAoKLS0tCiBzcmNwa2dzL211bWJsZS90ZW1wbGF0ZSB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbXVtYmxlL3RlbXBsYXRlIGIvc3JjcGtncy9tdW1ibGUvdGVtcGxh dGUKaW5kZXggM2EwZGNhMzJkOWVkLi5kNTc4YTUxMWQ0N2UgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv bXVtYmxlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbXVtYmxlL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbXVtYmxlJwogcGtnbmFtZT1tdW1ibGUKIHZlcnNp b249MS4zLjQKLXJldmlzaW9uPTUKK3JldmlzaW9uPTYKIGJ1aWxkX3N0eWxlPXFtYWtlCiBjb25m aWd1cmVfYXJncz0iQ09ORklHKz1idW5kbGVkLWNlbHQgQ09ORklHKz1uby1idW5kbGVkLW9wdXMg Q09ORklHKz1uby11cGRhdGUKICBDT05GSUcrPW5vLWJ1bmRsZWQtc3BlZXggQ09ORklHKz1uby1n MTUgQ09ORklHKz1uby14ZXZpZSBDT05GSUcrPXB1bHNlYXVkaW8KCkZyb20gOWIzNDlkOWYwY2Rm ZGZjYzZjMWMxNmZmZmMxNTk4MjgwNzRiNzJjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogcHJleiA8cHJlekBuYXRpb25hbC5zaGl0cG9zdGluZy5hZ2VuY3k+CkRhdGU6IEZyaSwgOSBB cHIgMjAyMSAxMTo0MjowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjJdIG11c2VzY29yZTog YnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0KIHNyY3BrZ3MvbXVzZXNjb3JlL3RlbXBsYXRl IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9tdXNlc2NvcmUvdGVtcGxhdGUgYi9zcmNwa2dzL211c2VzY29y ZS90ZW1wbGF0ZQppbmRleCA5YmMyOWNmMzMwNzguLmZkZTg0ZjU4ZjQzNiAxMDA2NDQKLS0tIGEv c3JjcGtncy9tdXNlc2NvcmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tdXNlc2NvcmUvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtdXNlc2NvcmUnCiBwa2du YW1lPW11c2VzY29yZQogdmVyc2lvbj0zLjYuMgotcmV2aXNpb249MQorcmV2aXNpb249Mgogd3Jr c3JjPSJNdXNlU2NvcmUtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogbWFr ZV9idWlsZF9hcmdzPSJQUkVGSVg9L3VzciBVU0VfU1lTVEVNX0ZSRUVUWVBFPU9OIEJVSUxEX1dF QkVOR0lORT1PRkYKCkZyb20gZWQxMjEzM2E0NTY0ZWQxZDc0YTNhODU3YTkzN2NiMDM5YTMyYzZi MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcHJleiA8cHJlekBuYXRpb25hbC5zaGl0 cG9zdGluZy5hZ2VuY3k+CkRhdGU6IEZyaSwgOSBBcHIgMjAyMSAxMTo0MjoxMCArMDIwMApTdWJq ZWN0OiBbUEFUQ0ggMTUvMjJdIG9jdGF2ZTogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0K IHNyY3BrZ3Mvb2N0YXZlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vY3RhdmUvdGVtcGxh dGUgYi9zcmNwa2dzL29jdGF2ZS90ZW1wbGF0ZQppbmRleCA4YTkyZWQ2OGQ1MzIuLjFiOTA1Zjgz YzkzMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9vY3RhdmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9v Y3RhdmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvY3Rh dmUnCiBwa2duYW1lPW9jdGF2ZQogdmVyc2lvbj01LjIuMAotcmV2aXNpb249MgorcmV2aXNpb249 MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9IiAtLXdpdGgtYmxh cz1vcGVuYmxhcyAtLXdpdGgtbGFwYWNrPW9wZW5ibGFzIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJs IGdjYy1mb3J0cmFuIHBrZy1jb25maWcgZ251cGxvdCIKCkZyb20gZGE2ZTRmZjIzYzJhOTVmZWY3 OTVkMjRiNmQ5ZGY5ZTJiMDM1NjE4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcHJl eiA8cHJlekBuYXRpb25hbC5zaGl0cG9zdGluZy5hZ2VuY3k+CkRhdGU6IEZyaSwgOSBBcHIgMjAy MSAxMTo0MjoxOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMjJdIHB5dGhvbjMtUHlBdWRpbzog YnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0KIHNyY3BrZ3MvcHl0aG9uMy1QeUF1ZGlvL3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLVB5QXVkaW8vdGVtcGxhdGUgYi9zcmNw a2dzL3B5dGhvbjMtUHlBdWRpby90ZW1wbGF0ZQppbmRleCA5ZDBmODUwYmQyNGYuLjhmOWRlNmNi YmFjZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9weXRob24zLVB5QXVkaW8vdGVtcGxhdGUKKysrIGIv c3JjcGtncy9weXRob24zLVB5QXVkaW8vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdweXRob24zLVB5QXVkaW8nCiBwa2duYW1lPXB5dGhvbjMtUHlBdWRpbwog dmVyc2lvbj0wLjIuMTEKLXJldmlzaW9uPTUKK3JldmlzaW9uPTYKIHdya3NyYz0iUHlBdWRpby0k e3ZlcnNpb259IgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3RtYWtlZGVwZW5kcz0i cHl0aG9uMy1zZXR1cHRvb2xzIgoKRnJvbSBjYzAxMzYzZDBiY2ZmYjBjMWQzMTQ0ODQ0NDUxY2Fi YmNlOGE5NTIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBwcmV6IDxwcmV6QG5hdGlv bmFsLnNoaXRwb3N0aW5nLmFnZW5jeT4KRGF0ZTogRnJpLCA5IEFwciAyMDIxIDExOjQyOjI2ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAxNy8yMl0gc29uaWMtdmlzdWFsaXNlcjogYnVtcCBmb3IgcG9y dGF1ZG8gMTkuNy4wCgotLS0KIHNyY3BrZ3Mvc29uaWMtdmlzdWFsaXNlci90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvc29uaWMtdmlzdWFsaXNlci90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc29uaWMt dmlzdWFsaXNlci90ZW1wbGF0ZQppbmRleCA0ZGFhNTYwNjBlZWEuLjFjM2VjZDhhMzg2MCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9zb25pYy12aXN1YWxpc2VyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv c29uaWMtdmlzdWFsaXNlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3NvbmljLXZpc3VhbGlzZXInCiBwa2duYW1lPXNvbmljLXZpc3VhbGlzZXIKIHZlcnNp b249NC4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJl CiBidWlsZF9oZWxwZXI9cW1ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBjYXBucHJv dG8tZGV2ZWwiCgpGcm9tIDcwZTgyYmE3Y2I5MzI3MWMwMzU5MDgzMGJjY2VmZDExYmJmMjJmODIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHByZXogPHByZXpAbmF0aW9uYWwuc2hpdHBv c3RpbmcuYWdlbmN5PgpEYXRlOiBGcmksIDkgQXByIDIwMjEgMTE6NDI6MzEgKzAyMDAKU3ViamVj dDogW1BBVENIIDE4LzIyXSBzcG90aWZ5ZDogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0K IHNyY3BrZ3Mvc3BvdGlmeWQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Nwb3RpZnlkL3Rl bXBsYXRlIGIvc3JjcGtncy9zcG90aWZ5ZC90ZW1wbGF0ZQppbmRleCA0NTIzNTZjM2M4YWUuLjQx ZGU4MzU1NDM4OCAxMDA2NDQKLS0tIGEvc3JjcGtncy9zcG90aWZ5ZC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3Nwb3RpZnlkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnc3BvdGlmeWQnCiBwa2duYW1lPXNwb3RpZnlkCiB2ZXJzaW9uPTAuMy4yCi1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jYXJnbwogY29uZmlndXJlX2FyZ3M9Ii0tbm8t ZGVmYXVsdC1mZWF0dXJlcyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gNzYw YWI3OThjMDQyMGI1NGNiMzdmOWUxYWIyMjZjZjU0YTRiMTUwNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogcHJleiA8cHJlekBuYXRpb25hbC5zaGl0cG9zdGluZy5hZ2VuY3k+CkRhdGU6 IEZyaSwgOSBBcHIgMjAyMSAxMTo0MjozNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjJdIHdv cmR3YXJ2aTogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4wCgotLS0KIHNyY3BrZ3Mvd29yZHdhcnZp L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93b3Jkd2FydmkvdGVtcGxhdGUgYi9zcmNwa2dz L3dvcmR3YXJ2aS90ZW1wbGF0ZQppbmRleCA0NDBiYTYxYmZlN2IuLjk3MTk0MGExZWI4ZiAxMDA2 NDQKLS0tIGEvc3JjcGtncy93b3Jkd2FydmkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy93b3Jkd2Fy dmkvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd3b3Jkd2Fy dmknCiBwa2duYW1lPXdvcmR3YXJ2aQogdmVyc2lvbj0xLjAuMgotcmV2aXNpb249MQorcmV2aXNp b249MgogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxlCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25m aWciCiBtYWtlZGVwZW5kcz0icG9ydGF1ZGlvLWRldmVsIGd0aystZGV2ZWwgbGlidm9yYmlzLWRl dmVsIGFsc2EtbGliLWRldmVsIgoKRnJvbSBhMmQ4MTg3YTMzMmVlNjU5MDUyMzU2ZGU3ODcxNWI1 ODExODAwY2E2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBwcmV6IDxwcmV6QG5hdGlv bmFsLnNoaXRwb3N0aW5nLmFnZW5jeT4KRGF0ZTogRnJpLCA5IEFwciAyMDIxIDExOjQyOjQwICsw MjAwClN1YmplY3Q6IFtQQVRDSCAyMC8yMl0geGF2YTogYnVtcCBmb3IgcG9ydGF1ZG8gMTkuNy4w CgotLS0KIHNyY3BrZ3MveGF2YS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveGF2YS90ZW1w bGF0ZSBiL3NyY3BrZ3MveGF2YS90ZW1wbGF0ZQppbmRleCBmYTE2ZjExOWUyNDAuLmY3Y2YzMzZh YzdmNiAxMDA2NDQKLS0tIGEvc3JjcGtncy94YXZhL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGF2 YS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hhdmEnCiBw a2duYW1lPXhhdmEKIHZlcnNpb249MC42LjMuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBwa2ctY29u ZmlnIgogbWFrZWRlcGVuZHM9IlNETDItZGV2ZWwgaW5pcGFyc2VyLWRldmVsIG5jdXJzZXMtZGV2 ZWwgc25kaW8tZGV2ZWwgcG9ydGF1ZGlvLWRldmVsIgoKRnJvbSAzMDBkZWI4MjdmMjQ0NWNkOGNk NGIwZDg0MWE2NWY4NmM4YTUwY2IxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBwcmV6 IDxwcmV6QG5hdGlvbmFsLnNoaXRwb3N0aW5nLmFnZW5jeT4KRGF0ZTogRnJpLCA5IEFwciAyMDIx IDExOjQyOjQ2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMS8yMl0geG91cm5hbHBwOiBidW1wIGZv ciBwb3J0YXVkbyAxOS43LjAKCi0tLQogc3JjcGtncy94b3VybmFscHAvdGVtcGxhdGUgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3hvdXJuYWxwcC90ZW1wbGF0ZSBiL3NyY3BrZ3MveG91cm5hbHBwL3RlbXBs YXRlCmluZGV4IDFmNzVlN2U5M2VkYS4uOGI4MDAwZmM0NmM4IDEwMDY0NAotLS0gYS9zcmNwa2dz L3hvdXJuYWxwcC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3hvdXJuYWxwcC90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hvdXJuYWxwcCcKIHBrZ25hbWU9eG91 cm5hbHBwCiB2ZXJzaW9uPTEuMC4yMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5 bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBnZXR0ZXh0IgogbWFrZWRlcGVu ZHM9ImxpYnhtbDItZGV2ZWwgbGliY3BwdW5pdC1kZXZlbCBwb3BwbGVyLWdsaWItZGV2ZWwgZ3Rr KzMtZGV2ZWwKCkZyb20gOGFmZjY1YWZhNTgyZGQyMTRhMWIxZmIwMWU4OTc1MDkxMjdmM2U1NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcHJleiA8cHJlekBuYXRpb25hbC5zaGl0cG9z dGluZy5hZ2VuY3k+CkRhdGU6IEZyaSwgOSBBcHIgMjAyMSAxMTo0Mjo1MyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMjIvMjJdIHp5bmFkZHN1YmZ4OiBidW1wIGZvciBwb3J0YXVkbyAxOS43LjAKCi0t LQogc3JjcGtncy96eW5hZGRzdWJmeC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvenluYWRk c3ViZngvdGVtcGxhdGUgYi9zcmNwa2dzL3p5bmFkZHN1YmZ4L3RlbXBsYXRlCmluZGV4IDA0ZTcy NDEwYWY4Mi4uOWFjMmQ0MjcwOWJlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3p5bmFkZHN1YmZ4L3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvenluYWRkc3ViZngvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICd6eW5hZGRzdWJmeCcKIHBrZ25hbWU9enluYWRkc3ViZngK IHZlcnNpb249My4wLjUKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIGJ1aWxkX3N0eWxlPWNtYWtl CiBidWlsZF9oZWxwZXI9cWVtdQogY29uZmlndXJlX2FyZ3M9Ii1ERGVmYXVsdE91dHB1dD1qYWNr IC1ERGVmYXVsdElucHV0PWphY2sgLURHdWlNb2R1bGU9Zmx0ayIK --===============2598971199245985412==--