From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 3C14070C99; Thu, 2 Sep 2021 20:59:37 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3C14070C99 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1630605577; bh=+Jl2VZNtA9LFWG6KxdaHJBCtn4hP2sHpaaCQwLPJnMo=; h=To:Cc:Date:In-Reply-To:References:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=HA1Jf0zW9h/1mlJtNfXi80Rn+FBVp0Jp4QB9KtkRc7liVtWObp3zzot912UxDLnUn 9d5EDVRqj1CYsys/WeuosW/1mYn01ZnYUvWuJNq0Debhj1eDfzkiW76LO1GEfnJ0It 1KjE7/l0TN9hOra+M83+7SzyWTxI4SA2snUbTYhY= Received: from f386.i.mail.ru (f386.i.mail.ru [185.5.136.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id A841B70C99 for ; Thu, 2 Sep 2021 20:59:36 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A841B70C99 Received: by f386.i.mail.ru with local (envelope-from ) id 1mLqzt-0002cM-W3; Thu, 02 Sep 2021 20:59:34 +0300 Received: by e.mail.ru with HTTP; Thu, 02 Sep 2021 20:59:33 +0300 To: =?UTF-8?B?SWdvciBNdW5raW4=?= Cc: v.shpilevoy@tarantool.org, tarantool-patches@dev.tarantool.org MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16305976901924663803 X-SenderField-Remind: 0 Date: Thu, 02 Sep 2021 20:59:33 +0300 X-Priority: 3 (Normal) Message-ID: <1630605573.465905120@f386.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--555767c4eFdB9Be42a9CEa7B44cBaE2c1630605573" In-Reply-To: <20210902152255.GT5743@tarantool.org> References: <3453bc40af586cf4242863f1307f72fe5c5a408a.1628713520.git.babinoleg@mail.ru> <20210902152255.GT5743@tarantool.org> X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251CBD96587A9CE222177204E17E61241474CA6907D9482896F98FD872164937FA4CCC25A460D2161E873EDC4CE22ED50FC614EFABD0339DCD8D0089553A91EA1E3D X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE78D10D7EFBA2F59B3D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD269176DF2183F8FC7C08D182E101C1D8075C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE72E2D36A15E1833D8EA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BBCA57AF85F7723F20F9B01CC84A52DC9031EB0BB5C8249AFCC7F00164DA146DAFE8445B8C89999728AA50765F7900637F6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F7900637F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8BEB1A37DF9DABAA8F75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A213B5FB47DCBC3458834459D11680B50540DB433069324B1E81EC45A68E169AC4 X-C1DE0DAB: 0D63561A33F958A5AB1AA0051C883E7F6B99313904680D4525BA5C2C96056A92BDC6A1CF3F042BAD6DF99611D93F60EFCCE3E035A672CDEE699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34D75CEA0D7A80616E9EFFDC2AA85D88530DDDF82A0999542929C715ABB18210A629C6FE558D86B7021D7E09C32AA3244C7DF8E346B6B4CBB7E3034E688359D0586C24832127668422FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDht26qnlShrSUBSM90AdaWQg== X-Mailru-MI: 1000000400800 X-Mailru-Sender: 583F1D7ACE8F49BD1042885CEC987B6B1CE1686C6A16D0993EDC4CE22ED50FC6FA3A5A6D86471CC306CD02445D2D9C8FA2BFD6D8330F0C2D52CFCCE780E3CD899E6F1D7E72A3EAB4093DA5C00B83CE844E30AD2C116090084C994F938BAD770067EA787935ED9F1B X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_3/4=5D_fiber=3A_keep_refe?= =?utf-8?q?rence_to_userdata_if_fiber_created_once?= X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: =?utf-8?b?0JHQsNCx0LjQvSDQntC70LXQsyB2aWEgVGFyYW50b29sLXBhdGNoZXM=?= Reply-To: =?UTF-8?B?0JHQsNCx0LjQvSDQntC70LXQsw==?= Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--555767c4eFdB9Be42a9CEa7B44cBaE2c1630605573 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 ClRoYW5rcyBmb3IgeW91ciByZXZpZXcuIFNlZSBteSBhbnN3ZXJzIGJlbG93LgoKwqAgCj7Qp9C1 0YLQstC10YDQsywgMiDRgdC10L3RgtGP0LHRgNGPIDIwMjEsIDE4OjQ4ICswMzowMCDQvtGCIEln b3IgTXVua2luIDxpbXVuQHRhcmFudG9vbC5vcmc+Ogo+wqAKPk9sZWcsCj4KPlRoYW5rcyBmb3Ig dGhlIHBhdGNoISBBZGRpdGlvbmFsbHkgdGhhbmsgeW91IGZvciBwdXJnaW5nIHRoaXMgbWVtb2l6 ZQo+aGVsbDogbm93IGV2ZXJ5dGhpbmcgaXMgbXVjaCBjbGVhcmVyIGFuZCB0aGUgcGxhdGZvcm0g cGVyZm9ybWFuY2UKPmJlY29tZXMgYmV0dGVyLiBUaGUgY2hhbmdlcyBhcmUgT0sgaW4gZ2VuZXJh bCwgYnV0IHBsZWFzZSBjb25zaWRlciBteQo+Y29tbWVudHMgYmVsb3cuCj4KPk9uIDExLjA4LjIx LCAgb2xlZ3Jva0B0YXJhbnRvb2wub3JnIHdyb3RlOgo+PiBGcm9tOiBPbGVnIEJhYmluIDwgYmFi aW5vbGVnQG1haWwucnUgPgo+Pgo+PiBUaGlzIHBhdGNoIHJld29ya3MgYXBwcm9hY2ggdG8gZmli ZXIgbWFuYWdlbWVudCBpbiBMdWEuIEJlZm9yZQo+PiB0aGlzIHBhdGNoIGVhY2ggYWN0aW9uIHRo YXQgc2hvdWxkIHJldHVybiBmaWJlciBsZWQgdG8gbmV3Cj4+IHVzZXJkYXRhIGNyZWF0aW9uIHRo YXQgd2FzIHF1aXRlIHNsb3cgYW5kIG1hZGUgR0Mgc3VmZmVyLiBUaGlzCj4+IHBhdGNoIGludHJv ZHVjZXMgbmV3IGZpZWxkIGluIHN0cnVjdCBmaWJlciB0byBzdG9yZSBhIHJlZmVyZW5jZSB0bwo+ PiB1c2VyZGF0YSB0aGF0IHdhcyBjcmVhdGVkIG9uY2UgZm9yIGEgZmliZXIuIEl0IGFsbG93cyBz cGVlZHVwCj4+IG9wZXJhdGlvbnMgYXMgZmliZXIuc2VsZigpIGFuZCBmaWJlci5pZCgpLgo+PiBT aW1wbGUgYmVuY2htYXJrIHNob3dzIHRoYXQgYWNjZXNzIHRvIGZpYmVyIHN0b3JhZ2UgaXMgZmFz dGVyIGluCj4+IHR3byB0aW1lcywgZmliZXIuZmluZCgpIC0gMi0zIHRpbWVzIGFuZCBmaWJlci5u ZXcvY3JlYXRlIGZ1bmN0aW9ucwo+PiBkb24ndCBoYXZlIGFueSBjaGFuZ2VzLgo+PiAtLS0KPj4g c3JjL2xpYi9jb3JlL2ZpYmVyLmggfCA1ICsrCj4+IHNyYy9sdWEvZmliZXIuYyB8IDExMCArKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IDIgZmlsZXMgY2hhbmdl ZCwgNDIgaW5zZXJ0aW9ucygrKSwgNzMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9z cmMvbGliL2NvcmUvZmliZXIuaCBiL3NyYy9saWIvY29yZS9maWJlci5oCj4+IGluZGV4IDU5Mzg0 N2RmNy4uM2U5NjYzYTFhIDEwMDY0NAo+PiAtLS0gYS9zcmMvbGliL2NvcmUvZmliZXIuaAo+PiAr KysgYi9zcmMvbGliL2NvcmUvZmliZXIuaAo+PiBAQCAtNjIzLDYgKzYyMywxMSBAQCBzdHJ1Y3Qg ZmliZXIgewo+PiAqIFNob3VsZCBub3QgYmUgdXNlZCBpbiBvdGhlciBmaWJlcnMuCj4+ICovCj4+ IHN0cnVjdCBsdWFfU3RhdGUgKnN0YWNrOwo+PiArIC8qKgo+PiArICogT3B0aW9uYWwgcmVmZXJl bmNlIHRvIHVzZXJkYXRhCj4+ICsgKiByZXByZXNlbnRlZCBjdXJyZW50IGZpYmVyIGluIEx1YS4K Pj4gKyAqLwo+PiArIGludCByZWY7Cj4KPkkgc2VlIHlvdSBkaWRuJ3QgZHJhdyBjb25jbHVzaW9u cyBmcm9tIHlvdXIgZmlyc3QgcGF0Y2ggOikKPkkgcHJvcG9zZSB0byBuYW1lIHRoaXMgZmllbGQg PGZpZF9yZWY+LCBzbyBvbmUgY2xlYXJseSB1bmRlcnN0YW5kIHdoYXQKPmlzIHN0b3JlZCBpbiB0 aGF0IHVzZXJkYXRhLCBhbmQgbm8gYWRkaXRpb25hbCBwYXRjaGVzIHdpdGggcmVuYW1lIGFyZQo+ bmVjZXNzYXJ5IGluIGZ1dHVyZS4KwqAKR29vZCBwb2ludC4gRml4ZWQuCsKgCj4KPj4gLyoqCj4+ ICogT3B0aW9uYWwgZmliZXIuc3RvcmFnZSBMdWEgcmVmZXJlbmNlLgo+PiAqLwo+PiBkaWZmIC0t Z2l0IGEvc3JjL2x1YS9maWJlci5jIGIvc3JjL2x1YS9maWJlci5jCj4+IGluZGV4IDU1NzVmMjA3 OS4uMjY4ZGRmOWNjIDEwMDY0NAo+PiAtLS0gYS9zcmMvbHVhL2ZpYmVyLmMKPj4gKysrIGIvc3Jj L2x1YS9maWJlci5jCj4+IEBAIC04NywyNyArODcsMzEgQEAgbHVhTF90ZXN0Y2FuY2VsKHN0cnVj dCBsdWFfU3RhdGUgKkwpCj4+IHN0YXRpYyBjb25zdCBjaGFyICpmaWJlcmxpYl9uYW1lID0gImZp YmVyIjsKPj4KPgo+PHNuaXBwZWQ+Cj4KPj4gK3N0YXRpYyBpbnQKPj4gK2xib3hfZmliZXJfb25f c3RvcChzdHJ1Y3QgdHJpZ2dlciAqdHJpZ2dlciwgdm9pZCAqZXZlbnQpCj4+IHsKPgo+PHNuaXBw ZWQ+Cj4KPj4gKyBzdHJ1Y3QgZmliZXIgKmYgPSAoc3RydWN0IGZpYmVyICopIGV2ZW50Owo+PiAr IGludCBzdG9yYWdlX3JlZiA9IGYtPnN0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmOwo+PiArIGlmIChz dG9yYWdlX3JlZiA+IDApIHsKPgo+SSBkb24ndCBsaWtlIHRoaXMuIEF0IGZpcnN0LCA8bHVhTF91 bnJlZj4gaGFuZGxlIHRoaXMgY2FzZSB1bmRlcm5lYXQsIHNvCj5pZiB0aGVyZSBpcyBpbnZhbGlk IHJlZmVyZW5jZSBvciBMVUFfUkVGTklMIC8gTFVBX05PUkVGLCBldmVyeXRoaW5nCj53b3JrcyBm aW5lLiBCdXQgdGhlIHdvcnN0IHBhcnQgaXMgbm90IHRoZSByZWR1bmRhbmN5LCBidXQgY29tcGFy aW5nCj48c3RvcmFnZV9yZWY+IHdpdGggc29tZSBtYWdpYyBudW1iZXJzLiBMdWEgcHJvdmlkZXMg bm8gZ3VhcmFudGVlcwo+TFVBX1JFRk5JTCAvIExVQV9OT1JFRiB2YWx1ZXMgYXJlIG5vdCBjaGFu Z2VkIGJldHdlZW4gdGhlIHBhcnRpY3VsYXIKPnZlcnNpb25zLiBEbyBub3QgcmVseSBvbiB0aGUg aW50ZXJuYWwgY29uc3RhbnRzIG91dHNpZGUgb2YgTHVhSklUCj5zb3VyY2VzLiBQbGVhc2UgZHJv cCBib3RoIGFzc2VydGlvbnMgYW5kIHRoaXMgcGFydGljdWxhciA8aWY+IGNvbmRpdGlvbi4KwqAK SSBhZ3JlZSBhbmQgSeKAmWxsIGZpeCBpdC4gSSB0aGluayB0aGUgbWFpbiBpc3N1ZSBoZXJlIHRo YXQgd2UgZGlkbuKAmXQKYXNzaWduIGFsbCByZWZzIHRvIE5PUkVGIGFuZMKgc3VjaCB2YWx1ZXMg d2FzIGluaXRpYWxseSBmaWxsZWQgd2l0aCBtZW1zZXQoMCkuCkN1cnJlbnRseSBpdCBzaG91bGQg YmUgbW9yZSBjbGVhci4KwqAKPj4gKyBsdWFMX3VucmVmKHRhcmFudG9vbF9MLCBMVUFfUkVHSVNU UllJTkRFWCwgc3RvcmFnZV9yZWYpOwo+PiArIGYtPnN0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmID0g TFVBX05PUkVGOwo+PiArIH0KPj4gKyBpbnQgcmVmID0gZi0+c3RvcmFnZS5sdWEucmVmOwo+PiAr IGFzc2VydChyZWYgPiAwKTsKPj4gKyBsdWFMX3VucmVmKHRhcmFudG9vbF9MLCBMVUFfUkVHSVNU UllJTkRFWCwgcmVmKTsKPj4gKyBmLT5zdG9yYWdlLmx1YS5yZWYgPSBMVUFfTk9SRUY7Cj4+ICsg dHJpZ2dlcl9jbGVhcih0cmlnZ2VyKTsKPj4gKyBmcmVlKHRyaWdnZXIpOwo+PiArIHJldHVybiAw Owo+PiB9Cj4+Cj4+IC8qKgo+PiBAQCAtMTE2LDQyICsxMjAsMjYgQEAgbGJveF9jcmVhdGVfd2Vh a190YWJsZShzdHJ1Y3QgbHVhX1N0YXRlICpMLCBjb25zdCBjaGFyICpuYW1lKQo+PiBzdGF0aWMg dm9pZAo+PiBsYm94X3B1c2hmaWJlcihzdHJ1Y3QgbHVhX1N0YXRlICpMLCBzdHJ1Y3QgZmliZXIg KmYpCj4+IHsKPgo+PHNuaXBwZWQ+Cj4KPj4gKyBpbnQgcmVmID0gZi0+c3RvcmFnZS5sdWEucmVm Owo+PiArIGlmIChyZWYgPD0gMCkgewo+Cj5BZ2FpbiwgZG8gbm90IHJlbHkgb24gdGhlIGludGVy bmFsIHZhbHVlcy4gSnVzdCBjb21wYXJlIHJlZiB3aXRoCj5MVUFfTk9SRUYgKGNvbXBhcmlzb24g d2l0aCBMVUFfUkVGTklMIGlzIG5vdCByZXF1aXJlZCwgc2luY2UgdGhpcyBpcwo+cGFydGljdWxh ciB2YWx1ZSB3aGVuIG5pbCBzbG90IGlzIHVzZWQgaW4gPGx1YUxfcmVmPikuCkZpeGVkIGFzIHdl bGwuIFRoYW5rcy4KwqAKPgo+PiArIHN0cnVjdCB0cmlnZ2VyICp0ID0gKHN0cnVjdCB0cmlnZ2Vy ICopbWFsbG9jKHNpemVvZigqdCkpOwo+PiArIGlmICh0ID09IE5VTEwpIHsKPj4gKyBkaWFnX3Nl dChPdXRPZk1lbW9yeSwgc2l6ZW9mKCp0KSwgIm1hbGxvYyIsICJ0Iik7Cj4+ICsgbHVhVF9lcnJv cihMKTsKPj4gKyB9Cj4+ICsgdHJpZ2dlcl9jcmVhdGUodCwgbGJveF9maWJlcl9vbl9zdG9wLCBO VUxMLCAodHJpZ2dlcl9mMCkgZnJlZSk7Cj4+ICsgdHJpZ2dlcl9hZGQoJmYtPm9uX3N0b3AsIHQp Owo+PiArCj4+ICsgdWludDY0X3QgZmlkID0gZi0+ZmlkOwo+PiAvKiBjcmVhdGUgYSBuZXcgdXNl cmRhdGEgKi8KPj4gdWludDY0X3QgKnB0ciA9IGx1YV9uZXd1c2VyZGF0YShMLCBzaXplb2YoKnB0 cikpOwo+PiAqcHRyID0gZmlkOwo+PiBsdWFMX2dldG1ldGF0YWJsZShMLCBmaWJlcmxpYl9uYW1l KTsKPj4gbHVhX3NldG1ldGF0YWJsZShMLCAtMik7Cj4+IC0gLyogbWVtb2l6ZSBpdCAqLwo+PiAt IGx1YV9zZXR0YWJsZShMLCAtMyk7Cj4+IC0gbHVhTF9wdXNodWludDY0KEwsIGZpZCk7Cj4+IC0g LyogZ2V0IGl0IGJhY2sgKi8KPj4gLSBsdWFfZ2V0dGFibGUoTCwgLTIpOwo+PiArIHJlZiA9IGx1 YUxfcmVmKEwsIExVQV9SRUdJU1RSWUlOREVYKTsKPj4gKyBmLT5zdG9yYWdlLmx1YS5yZWYgPSBy ZWY7Cj4+IH0KPj4gKyBsdWFfcmF3Z2V0aShMLCBMVUFfUkVHSVNUUllJTkRFWCwgcmVmKTsKPj4g fQo+Pgo+PiBzdGF0aWMgc3RydWN0IGZpYmVyICoKPgo+PHNuaXBwZWQ+Cj4KPj4gLS0KPj4gMi4z Mi4wCj4+Cj4KPi0tCj5CZXN0IHJlZ2FyZHMsCj5JTQrCoApEaWZmOgpkaWZmIC0tZ2l0IGEvc3Jj L2xpYi9jb3JlL2ZpYmVyLmMgYi9zcmMvbGliL2NvcmUvZmliZXIuYwppbmRleCA1ODhiNzg1MDQu LjM5YjY3Zjk0MCAxMDA2NDQKLS0tIGEvc3JjL2xpYi9jb3JlL2ZpYmVyLmMKKysrIGIvc3JjL2xp Yi9jb3JlL2ZpYmVyLmMKQEAgLTMyLDYgKzMyLDcgQEAKwqAKwqAjaW5jbHVkZSA8dHJpdmlhL2Nv bmZpZy5oPgrCoCNpbmNsdWRlIDx0cml2aWEvdXRpbC5oPgorI2luY2x1ZGUgPGxhdXhsaWIuaD4K wqAjaW5jbHVkZSA8ZXJybm8uaD4KwqAjaW5jbHVkZSA8c3RkaW8uaD4KwqAjaW5jbHVkZSA8c3Rk bGliLmg+CkBAIC04OTUsNiArODk2LDggQEAgZmliZXJfcmVjeWNsZShzdHJ1Y3QgZmliZXIgKmZp YmVyKQrCoMKgwqAgwqBmaWJlci0+ZiA9IE5VTEw7CsKgwqDCoCDCoGZpYmVyLT53YWl0X3BhZCA9 IE5VTEw7CsKgwqDCoCDCoG1lbXNldCgmZmliZXItPnN0b3JhZ2UsIDAsIHNpemVvZihmaWJlci0+ c3RvcmFnZSkpOworwqDCoCDCoGZpYmVyLT5zdG9yYWdlLmx1YS5zdG9yYWdlX3JlZiA9IExVQV9O T1JFRjsKK8KgwqAgwqBmaWJlci0+c3RvcmFnZS5sdWEuZmlkX3JlZiA9IExVQV9OT1JFRjsKwqDC oMKgIMKgdW5yZWdpc3Rlcl9maWQoZmliZXIpOwrCoMKgwqAgwqBmaWJlci0+ZmlkID0gMDsKwqDC oMKgIMKgcmVnaW9uX2ZyZWUoJmZpYmVyLT5nYyk7CkBAIC0xMjM2LDYgKzEyMzksOCBAQCBmaWJl cl9uZXdfZXgoY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgc3RydWN0IGZpYmVyX2F0dHIgKmZpYmVy X2F0dHIsCsKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmV0dXJuIE5VTEw7CsKgwqDCoCDCoMKgwqAg wqB9CsKgwqDCoCDCoMKgwqAgwqBtZW1zZXQoZmliZXIsIDAsIHNpemVvZihzdHJ1Y3QgZmliZXIp KTsKK8KgwqAgwqDCoMKgIMKgZmliZXItPnN0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmID0gTFVBX05P UkVGOworwqDCoCDCoMKgwqAgwqBmaWJlci0+c3RvcmFnZS5sdWEuZmlkX3JlZiA9IExVQV9OT1JF RjsKwqAKwqDCoMKgIMKgwqDCoCDCoGlmIChmaWJlcl9zdGFja19jcmVhdGUoZmliZXIsICZjb3Jk KCktPnNsYWJjLArCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgwqAgwqAgZmliZXJf YXR0ci0+c3RhY2tfc2l6ZSkpIHsKZGlmZiAtLWdpdCBhL3NyYy9saWIvY29yZS9maWJlci5oIGIv c3JjL2xpYi9jb3JlL2ZpYmVyLmgKaW5kZXggM2U5NjYzYTFhLi4yZDQ0NDM1NDQgMTAwNjQ0Ci0t LSBhL3NyYy9saWIvY29yZS9maWJlci5oCisrKyBiL3NyYy9saWIvY29yZS9maWJlci5oCkBAIC02 MjUsOSArNjI1LDkgQEAgc3RydWN0IGZpYmVyIHsKwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBzdHJ1 Y3QgbHVhX1N0YXRlICpzdGFjazsKwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKioKwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqAgKiBPcHRpb25hbCByZWZlcmVuY2UgdG8gdXNlcmRhdGEKLcKgwqAgwqDC oMKgIMKgwqDCoCDCoCAqIHJlcHJlc2VudGVkIGN1cnJlbnQgZmliZXIgaW4gTHVhLgorwqDCoCDC oMKgwqAgwqDCoMKgIMKgICogcmVwcmVzZW50ZWQgY3VycmVudCBmaWJlciBpZCBpbiBMdWEuCsKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgICovCi3CoMKgIMKgwqDCoCDCoMKgwqAgwqBpbnQgcmVmOwor wqDCoCDCoMKgwqAgwqDCoMKgIMKgaW50IGZpZF9yZWY7CsKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg LyoqCsKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgICogT3B0aW9uYWwgZmliZXIuc3RvcmFnZSBMdWEg cmVmZXJlbmNlLgrCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2x1 YS9maWJlci5jIGIvc3JjL2x1YS9maWJlci5jCmluZGV4IDgzYTZiNDg1MC4uYWIwZTg5NWViIDEw MDY0NAotLS0gYS9zcmMvbHVhL2ZpYmVyLmMKKysrIGIvc3JjL2x1YS9maWJlci5jCkBAIC04OCw3 ICs4OCw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpmaWJlcmxpYl9uYW1lID0gImZpYmVyIjsKwqAK wqAvKioKwqAgKiBUcmlnZ2VyIGludm9rZWQgd2hlbiB0aGUgZmliZXIgaGFzIHN0b3BwZWQgZXhl Y3V0aW9uIG9mIGl0cwotICogY3VycmVudCByZXF1ZXN0LiBPbmx5IHB1cnBvc2UgLSBkZWxldGUg c3RvcmFnZS5sdWEucmVmIGFuZAorICogY3VycmVudCByZXF1ZXN0LiBPbmx5IHB1cnBvc2UgLSBk ZWxldGUgc3RvcmFnZS5sdWEuZmlkX3JlZiBhbmQKwqAgKiBzdG9yYWdlLmx1YS5zdG9yYWdlX3Jl ZiBrZWVwaW5nIGEgcmVmZXJlbmNlIG9mIEx1YQrCoCAqIGZpYmVyIGFuZCBmaWJlci5zdG9yYWdl IG9iamVjdHMuIFVubGlrZSBMdWEgc3RhY2ssCsKgICogTHVhIGZpYmVyIHN0b3JhZ2UgbWF5IGJl IGNyZWF0ZWQgbm90IG9ubHkgZm9yIGZpYmVycyBib3JuIGZyb20KQEAgLTEwMSwxNCArMTAxLDEx IEBAIGxib3hfZmliZXJfb25fc3RvcChzdHJ1Y3QgdHJpZ2dlciAqdHJpZ2dlciwgdm9pZCAqZXZl bnQpCsKgewrCoMKgwqAgwqBzdHJ1Y3QgZmliZXIgKmYgPSBldmVudDsKwqDCoMKgIMKgaW50IHN0 b3JhZ2VfcmVmID0gZi0+c3RvcmFnZS5sdWEuc3RvcmFnZV9yZWY7Ci3CoMKgIMKgaWYgKHN0b3Jh Z2VfcmVmID4gMCkgewotwqDCoCDCoMKgwqAgwqBsdWFMX3VucmVmKHRhcmFudG9vbF9MLCBMVUFf UkVHSVNUUllJTkRFWCwgc3RvcmFnZV9yZWYpOwotwqDCoCDCoMKgwqAgwqBmLT5zdG9yYWdlLmx1 YS5zdG9yYWdlX3JlZiA9IExVQV9OT1JFRjsKLcKgwqAgwqB9Ci3CoMKgIMKgaW50IHJlZiA9IGYt PnN0b3JhZ2UubHVhLnJlZjsKLcKgwqAgwqBhc3NlcnQocmVmID4gMCk7CivCoMKgIMKgbHVhTF91 bnJlZih0YXJhbnRvb2xfTCwgTFVBX1JFR0lTVFJZSU5ERVgsIHN0b3JhZ2VfcmVmKTsKK8KgwqAg wqBmLT5zdG9yYWdlLmx1YS5zdG9yYWdlX3JlZiA9IExVQV9OT1JFRjsKK8KgwqAgwqBpbnQgcmVm ID0gZi0+c3RvcmFnZS5sdWEuZmlkX3JlZjsKwqDCoMKgIMKgbHVhTF91bnJlZih0YXJhbnRvb2xf TCwgTFVBX1JFR0lTVFJZSU5ERVgsIHJlZik7Ci3CoMKgIMKgZi0+c3RvcmFnZS5sdWEucmVmID0g TFVBX05PUkVGOworwqDCoCDCoGYtPnN0b3JhZ2UubHVhLmZpZF9yZWYgPSBMVUFfTk9SRUY7CsKg wqDCoCDCoHRyaWdnZXJfY2xlYXIodHJpZ2dlcik7CsKgwqDCoCDCoGZyZWUodHJpZ2dlcik7CsKg wqDCoCDCoHJldHVybiAwOwpAQCAtMTIwLDggKzExNyw4IEBAIGxib3hfZmliZXJfb25fc3RvcChz dHJ1Y3QgdHJpZ2dlciAqdHJpZ2dlciwgdm9pZCAqZXZlbnQpCsKgc3RhdGljIHZvaWQKwqBsYm94 X3B1c2hmaWJlcihzdHJ1Y3QgbHVhX1N0YXRlICpMLCBzdHJ1Y3QgZmliZXIgKmYpCsKgewotwqDC oCDCoGludCByZWYgPSBmLT5zdG9yYWdlLmx1YS5yZWY7Ci3CoMKgIMKgaWYgKHJlZiA8PSAwKSB7 CivCoMKgIMKgaW50IHJlZiA9IGYtPnN0b3JhZ2UubHVhLmZpZF9yZWY7CivCoMKgIMKgaWYgKHJl ZiA9PSBMVUFfTk9SRUYpIHsKwqDCoMKgIMKgwqDCoCDCoHN0cnVjdCB0cmlnZ2VyICp0ID0gbWFs bG9jKHNpemVvZigqdCkpOwrCoMKgwqAgwqDCoMKgIMKgaWYgKHQgPT0gTlVMTCkgewrCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoGRpYWdfc2V0KE91dE9mTWVtb3J5LCBzaXplb2YoKnQpLCAibWFsbG9j IiwgInQiKTsKQEAgLTEzNyw3ICsxMzQsNyBAQCBsYm94X3B1c2hmaWJlcihzdHJ1Y3QgbHVhX1N0 YXRlICpMLCBzdHJ1Y3QgZmliZXIgKmYpCsKgwqDCoCDCoMKgwqAgwqBsdWFMX2dldG1ldGF0YWJs ZShMLCBmaWJlcmxpYl9uYW1lKTsKwqDCoMKgIMKgwqDCoCDCoGx1YV9zZXRtZXRhdGFibGUoTCwg LTIpOwrCoMKgwqAgwqDCoMKgIMKgcmVmID0gbHVhTF9yZWYoTCwgTFVBX1JFR0lTVFJZSU5ERVgp OwotwqDCoCDCoMKgwqAgwqBmLT5zdG9yYWdlLmx1YS5yZWYgPSByZWY7CivCoMKgIMKgwqDCoCDC oGYtPnN0b3JhZ2UubHVhLmZpZF9yZWYgPSByZWY7CsKgwqDCoCDCoH0KwqDCoMKgIMKgbHVhX3Jh d2dldGkoTCwgTFVBX1JFR0lTVFJZSU5ERVgsIHJlZik7CsKgfQrCoArCoArCoAotLQpPbGVnIEJh YmluCsKg ----ALT--555767c4eFdB9Be42a9CEa7B44cBaE2c1630605573 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+VGhhbmtzIGZvciB5b3VyIHJldmlldy4gU2VlIG15IGFuc3dlcnMg YmVsb3cuPGJyPjxicj4mbmJzcDs8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNv bGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij7Qp9C10YLQstC1 0YDQsywgMiDRgdC10L3RgtGP0LHRgNGPIDIwMjEsIDE4OjQ4ICswMzowMCDQvtGCIElnb3IgTXVu a2luICZsdDtpbXVuQHRhcmFudG9vbC5vcmcmZ3Q7Ojxicj4mbmJzcDs8ZGl2IGlkPSIiPjxkaXYg Y2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNjMw NTk3NjkwMTkyNDY2MzgwM19CT0RZIj5PbGVnLDxicj48YnI+VGhhbmtzIGZvciB0aGUgcGF0Y2gh IEFkZGl0aW9uYWxseSB0aGFuayB5b3UgZm9yIHB1cmdpbmcgdGhpcyBtZW1vaXplPGJyPmhlbGw6 IG5vdyBldmVyeXRoaW5nIGlzIG11Y2ggY2xlYXJlciBhbmQgdGhlIHBsYXRmb3JtIHBlcmZvcm1h bmNlPGJyPmJlY29tZXMgYmV0dGVyLiBUaGUgY2hhbmdlcyBhcmUgT0sgaW4gZ2VuZXJhbCwgYnV0 IHBsZWFzZSBjb25zaWRlciBteTxicj5jb21tZW50cyBiZWxvdy48YnI+PGJyPk9uIDExLjA4LjIx LCA8YSBocmVmPSIvY29tcG9zZT9Ubz1vbGVncm9rQHRhcmFudG9vbC5vcmciPm9sZWdyb2tAdGFy YW50b29sLm9yZzwvYT4gd3JvdGU6PGJyPiZndDsgRnJvbTogT2xlZyBCYWJpbiAmbHQ7PGEgaHJl Zj0iL2NvbXBvc2U/VG89YmFiaW5vbGVnQG1haWwucnUiPmJhYmlub2xlZ0BtYWlsLnJ1PC9hPiZn dDs8YnI+Jmd0Ozxicj4mZ3Q7IFRoaXMgcGF0Y2ggcmV3b3JrcyBhcHByb2FjaCB0byBmaWJlciBt YW5hZ2VtZW50IGluIEx1YS4gQmVmb3JlPGJyPiZndDsgdGhpcyBwYXRjaCBlYWNoIGFjdGlvbiB0 aGF0IHNob3VsZCByZXR1cm4gZmliZXIgbGVkIHRvIG5ldzxicj4mZ3Q7IHVzZXJkYXRhIGNyZWF0 aW9uIHRoYXQgd2FzIHF1aXRlIHNsb3cgYW5kIG1hZGUgR0Mgc3VmZmVyLiBUaGlzPGJyPiZndDsg cGF0Y2ggaW50cm9kdWNlcyBuZXcgZmllbGQgaW4gc3RydWN0IGZpYmVyIHRvIHN0b3JlIGEgcmVm ZXJlbmNlIHRvPGJyPiZndDsgdXNlcmRhdGEgdGhhdCB3YXMgY3JlYXRlZCBvbmNlIGZvciBhIGZp YmVyLiBJdCBhbGxvd3Mgc3BlZWR1cDxicj4mZ3Q7IG9wZXJhdGlvbnMgYXMgZmliZXIuc2VsZigp IGFuZCBmaWJlci5pZCgpLjxicj4mZ3Q7IFNpbXBsZSBiZW5jaG1hcmsgc2hvd3MgdGhhdCBhY2Nl c3MgdG8gZmliZXIgc3RvcmFnZSBpcyBmYXN0ZXIgaW48YnI+Jmd0OyB0d28gdGltZXMsIGZpYmVy LmZpbmQoKSAtIDItMyB0aW1lcyBhbmQgZmliZXIubmV3L2NyZWF0ZSBmdW5jdGlvbnM8YnI+Jmd0 OyBkb24ndCBoYXZlIGFueSBjaGFuZ2VzLjxicj4mZ3Q7IC0tLTxicj4mZ3Q7IHNyYy9saWIvY29y ZS9maWJlci5oIHwgNSArKzxicj4mZ3Q7IHNyYy9sdWEvZmliZXIuYyB8IDExMCArKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPiZndDsgMiBmaWxlcyBjaGFuZ2Vk LCA0MiBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMoLSk8YnI+Jmd0Ozxicj4mZ3Q7IGRpZmYg LS1naXQgYS9zcmMvbGliL2NvcmUvZmliZXIuaCBiL3NyYy9saWIvY29yZS9maWJlci5oPGJyPiZn dDsgaW5kZXggNTkzODQ3ZGY3Li4zZTk2NjNhMWEgMTAwNjQ0PGJyPiZndDsgLS0tIGEvc3JjL2xp Yi9jb3JlL2ZpYmVyLmg8YnI+Jmd0OyArKysgYi9zcmMvbGliL2NvcmUvZmliZXIuaDxicj4mZ3Q7 IEBAIC02MjMsNiArNjIzLDExIEBAIHN0cnVjdCBmaWJlciB7PGJyPiZndDsgKiBTaG91bGQgbm90 IGJlIHVzZWQgaW4gb3RoZXIgZmliZXJzLjxicj4mZ3Q7ICovPGJyPiZndDsgc3RydWN0IGx1YV9T dGF0ZSAqc3RhY2s7PGJyPiZndDsgKyAvKio8YnI+Jmd0OyArICogT3B0aW9uYWwgcmVmZXJlbmNl IHRvIHVzZXJkYXRhPGJyPiZndDsgKyAqIHJlcHJlc2VudGVkIGN1cnJlbnQgZmliZXIgaW4gTHVh Ljxicj4mZ3Q7ICsgKi88YnI+Jmd0OyArIGludCByZWY7PGJyPjxicj5JIHNlZSB5b3UgZGlkbid0 IGRyYXcgY29uY2x1c2lvbnMgZnJvbSB5b3VyIGZpcnN0IHBhdGNoIDopPGJyPkkgcHJvcG9zZSB0 byBuYW1lIHRoaXMgZmllbGQgJmx0O2ZpZF9yZWYmZ3Q7LCBzbyBvbmUgY2xlYXJseSB1bmRlcnN0 YW5kIHdoYXQ8YnI+aXMgc3RvcmVkIGluIHRoYXQgdXNlcmRhdGEsIGFuZCBubyBhZGRpdGlvbmFs IHBhdGNoZXMgd2l0aCByZW5hbWUgYXJlPGJyPm5lY2Vzc2FyeSBpbiBmdXR1cmUuPC9kaXY+PC9k aXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5H b29kIHBvaW50LiBGaXhlZC48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PGJsb2NrcXVvdGUg c3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGlu ZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ci PjxkaXY+PGRpdj48YnI+Jmd0OyAvKio8YnI+Jmd0OyAqIE9wdGlvbmFsIGZpYmVyLnN0b3JhZ2Ug THVhIHJlZmVyZW5jZS48YnI+Jmd0OyAqLzxicj4mZ3Q7IGRpZmYgLS1naXQgYS9zcmMvbHVhL2Zp YmVyLmMgYi9zcmMvbHVhL2ZpYmVyLmM8YnI+Jmd0OyBpbmRleCA1NTc1ZjIwNzkuLjI2OGRkZjlj YyAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9zcmMvbHVhL2ZpYmVyLmM8YnI+Jmd0OyArKysgYi9zcmMv bHVhL2ZpYmVyLmM8YnI+Jmd0OyBAQCAtODcsMjcgKzg3LDMxIEBAIGx1YUxfdGVzdGNhbmNlbChz dHJ1Y3QgbHVhX1N0YXRlICpMKTxicj4mZ3Q7IHN0YXRpYyBjb25zdCBjaGFyICpmaWJlcmxpYl9u YW1lID0gImZpYmVyIjs8YnI+Jmd0Ozxicj48YnI+Jmx0O3NuaXBwZWQmZ3Q7PGJyPjxicj4mZ3Q7 ICtzdGF0aWMgaW50PGJyPiZndDsgK2xib3hfZmliZXJfb25fc3RvcChzdHJ1Y3QgdHJpZ2dlciAq dHJpZ2dlciwgdm9pZCAqZXZlbnQpPGJyPiZndDsgezxicj48YnI+Jmx0O3NuaXBwZWQmZ3Q7PGJy Pjxicj4mZ3Q7ICsgc3RydWN0IGZpYmVyICpmID0gKHN0cnVjdCBmaWJlciAqKSBldmVudDs8YnI+ Jmd0OyArIGludCBzdG9yYWdlX3JlZiA9IGYtJmd0O3N0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmOzxi cj4mZ3Q7ICsgaWYgKHN0b3JhZ2VfcmVmICZndDsgMCkgezxicj48YnI+SSBkb24ndCBsaWtlIHRo aXMuIEF0IGZpcnN0LCAmbHQ7bHVhTF91bnJlZiZndDsgaGFuZGxlIHRoaXMgY2FzZSB1bmRlcm5l YXQsIHNvPGJyPmlmIHRoZXJlIGlzIGludmFsaWQgcmVmZXJlbmNlIG9yIExVQV9SRUZOSUwgLyBM VUFfTk9SRUYsIGV2ZXJ5dGhpbmc8YnI+d29ya3MgZmluZS4gQnV0IHRoZSB3b3JzdCBwYXJ0IGlz IG5vdCB0aGUgcmVkdW5kYW5jeSwgYnV0IGNvbXBhcmluZzxicj4mbHQ7c3RvcmFnZV9yZWYmZ3Q7 IHdpdGggc29tZSBtYWdpYyBudW1iZXJzLiBMdWEgcHJvdmlkZXMgbm8gZ3VhcmFudGVlczxicj5M VUFfUkVGTklMIC8gTFVBX05PUkVGIHZhbHVlcyBhcmUgbm90IGNoYW5nZWQgYmV0d2VlbiB0aGUg cGFydGljdWxhcjxicj52ZXJzaW9ucy4gRG8gbm90IHJlbHkgb24gdGhlIGludGVybmFsIGNvbnN0 YW50cyBvdXRzaWRlIG9mIEx1YUpJVDxicj5zb3VyY2VzLiBQbGVhc2UgZHJvcCBib3RoIGFzc2Vy dGlvbnMgYW5kIHRoaXMgcGFydGljdWxhciAmbHQ7aWYmZ3Q7IGNvbmRpdGlvbi48L2Rpdj48L2Rp dj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2Pkkg YWdyZWUgYW5kIEnigJlsbCBmaXggaXQuIEkgdGhpbmsgdGhlIG1haW4gaXNzdWUgaGVyZSB0aGF0 IHdlIGRpZG7igJl0PC9kaXY+PGRpdj5hc3NpZ24gYWxsIHJlZnMgdG8gTk9SRUYgYW5kJm5ic3A7 c3VjaCB2YWx1ZXMgd2FzIGluaXRpYWxseSBmaWxsZWQgd2l0aCBtZW1zZXQoMCkuPC9kaXY+PGRp dj5DdXJyZW50bHkgaXQgc2hvdWxkIGJlIG1vcmUgY2xlYXIuPC9kaXY+PGRpdj4mbmJzcDs8L2Rp dj48ZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsg bWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVs cGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXY+Jmd0OyArIGx1YUxfdW5yZWYodGFyYW50b29s X0wsIExVQV9SRUdJU1RSWUlOREVYLCBzdG9yYWdlX3JlZik7PGJyPiZndDsgKyBmLSZndDtzdG9y YWdlLmx1YS5zdG9yYWdlX3JlZiA9IExVQV9OT1JFRjs8YnI+Jmd0OyArIH08YnI+Jmd0OyArIGlu dCByZWYgPSBmLSZndDtzdG9yYWdlLmx1YS5yZWY7PGJyPiZndDsgKyBhc3NlcnQocmVmICZndDsg MCk7PGJyPiZndDsgKyBsdWFMX3VucmVmKHRhcmFudG9vbF9MLCBMVUFfUkVHSVNUUllJTkRFWCwg cmVmKTs8YnI+Jmd0OyArIGYtJmd0O3N0b3JhZ2UubHVhLnJlZiA9IExVQV9OT1JFRjs8YnI+Jmd0 OyArIHRyaWdnZXJfY2xlYXIodHJpZ2dlcik7PGJyPiZndDsgKyBmcmVlKHRyaWdnZXIpOzxicj4m Z3Q7ICsgcmV0dXJuIDA7PGJyPiZndDsgfTxicj4mZ3Q7PGJyPiZndDsgLyoqPGJyPiZndDsgQEAg LTExNiw0MiArMTIwLDI2IEBAIGxib3hfY3JlYXRlX3dlYWtfdGFibGUoc3RydWN0IGx1YV9TdGF0 ZSAqTCwgY29uc3QgY2hhciAqbmFtZSk8YnI+Jmd0OyBzdGF0aWMgdm9pZDxicj4mZ3Q7IGxib3hf cHVzaGZpYmVyKHN0cnVjdCBsdWFfU3RhdGUgKkwsIHN0cnVjdCBmaWJlciAqZik8YnI+Jmd0OyB7 PGJyPjxicj4mbHQ7c25pcHBlZCZndDs8YnI+PGJyPiZndDsgKyBpbnQgcmVmID0gZi0mZ3Q7c3Rv cmFnZS5sdWEucmVmOzxicj4mZ3Q7ICsgaWYgKHJlZiAmbHQ7PSAwKSB7PGJyPjxicj5BZ2Fpbiwg ZG8gbm90IHJlbHkgb24gdGhlIGludGVybmFsIHZhbHVlcy4gSnVzdCBjb21wYXJlIHJlZiB3aXRo PGJyPkxVQV9OT1JFRiAoY29tcGFyaXNvbiB3aXRoIExVQV9SRUZOSUwgaXMgbm90IHJlcXVpcmVk LCBzaW5jZSB0aGlzIGlzPGJyPnBhcnRpY3VsYXIgdmFsdWUgd2hlbiBuaWwgc2xvdCBpcyB1c2Vk IGluICZsdDtsdWFMX3JlZiZndDspLjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90 ZT48L2Rpdj48ZGl2PkZpeGVkIGFzIHdlbGwuIFRoYW5rcy48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2 PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBt YXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1oZWxw ZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj48YnI+Jmd0OyArIHN0cnVjdCB0cmlnZ2VyICp0 ID0gKHN0cnVjdCB0cmlnZ2VyICopbWFsbG9jKHNpemVvZigqdCkpOzxicj4mZ3Q7ICsgaWYgKHQg PT0gTlVMTCkgezxicj4mZ3Q7ICsgZGlhZ19zZXQoT3V0T2ZNZW1vcnksIHNpemVvZigqdCksICJt YWxsb2MiLCAidCIpOzxicj4mZ3Q7ICsgbHVhVF9lcnJvcihMKTs8YnI+Jmd0OyArIH08YnI+Jmd0 OyArIHRyaWdnZXJfY3JlYXRlKHQsIGxib3hfZmliZXJfb25fc3RvcCwgTlVMTCwgKHRyaWdnZXJf ZjApIGZyZWUpOzxicj4mZ3Q7ICsgdHJpZ2dlcl9hZGQoJmFtcDtmLSZndDtvbl9zdG9wLCB0KTs8 YnI+Jmd0OyArPGJyPiZndDsgKyB1aW50NjRfdCBmaWQgPSBmLSZndDtmaWQ7PGJyPiZndDsgLyog Y3JlYXRlIGEgbmV3IHVzZXJkYXRhICovPGJyPiZndDsgdWludDY0X3QgKnB0ciA9IGx1YV9uZXd1 c2VyZGF0YShMLCBzaXplb2YoKnB0cikpOzxicj4mZ3Q7ICpwdHIgPSBmaWQ7PGJyPiZndDsgbHVh TF9nZXRtZXRhdGFibGUoTCwgZmliZXJsaWJfbmFtZSk7PGJyPiZndDsgbHVhX3NldG1ldGF0YWJs ZShMLCAtMik7PGJyPiZndDsgLSAvKiBtZW1vaXplIGl0ICovPGJyPiZndDsgLSBsdWFfc2V0dGFi bGUoTCwgLTMpOzxicj4mZ3Q7IC0gbHVhTF9wdXNodWludDY0KEwsIGZpZCk7PGJyPiZndDsgLSAv KiBnZXQgaXQgYmFjayAqLzxicj4mZ3Q7IC0gbHVhX2dldHRhYmxlKEwsIC0yKTs8YnI+Jmd0OyAr IHJlZiA9IGx1YUxfcmVmKEwsIExVQV9SRUdJU1RSWUlOREVYKTs8YnI+Jmd0OyArIGYtJmd0O3N0 b3JhZ2UubHVhLnJlZiA9IHJlZjs8YnI+Jmd0OyB9PGJyPiZndDsgKyBsdWFfcmF3Z2V0aShMLCBM VUFfUkVHSVNUUllJTkRFWCwgcmVmKTs8YnI+Jmd0OyB9PGJyPiZndDs8YnI+Jmd0OyBzdGF0aWMg c3RydWN0IGZpYmVyICo8YnI+PGJyPiZsdDtzbmlwcGVkJmd0Ozxicj48YnI+Jmd0OyAtLTxicj4m Z3Q7IDIuMzIuMDxicj4mZ3Q7PGJyPjxicj4tLTxicj5CZXN0IHJlZ2FyZHMsPGJyPklNPC9kaXY+ PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5EaWZm OjwvZGl2PjxkaXY+ZGlmZiAtLWdpdCBhL3NyYy9saWIvY29yZS9maWJlci5jIGIvc3JjL2xpYi9j b3JlL2ZpYmVyLmM8YnI+aW5kZXggNTg4Yjc4NTA0Li4zOWI2N2Y5NDAgMTAwNjQ0PGJyPi0tLSBh L3NyYy9saWIvY29yZS9maWJlci5jPGJyPisrKyBiL3NyYy9saWIvY29yZS9maWJlci5jPGJyPkBA IC0zMiw2ICszMiw3IEBAPGJyPiZuYnNwOzxicj4mbmJzcDsjaW5jbHVkZSAmbHQ7dHJpdmlhL2Nv bmZpZy5oJmd0Ozxicj4mbmJzcDsjaW5jbHVkZSAmbHQ7dHJpdmlhL3V0aWwuaCZndDs8YnI+KyNp bmNsdWRlICZsdDtsYXV4bGliLmgmZ3Q7PGJyPiZuYnNwOyNpbmNsdWRlICZsdDtlcnJuby5oJmd0 Ozxicj4mbmJzcDsjaW5jbHVkZSAmbHQ7c3RkaW8uaCZndDs8YnI+Jm5ic3A7I2luY2x1ZGUgJmx0 O3N0ZGxpYi5oJmd0Ozxicj5AQCAtODk1LDYgKzg5Niw4IEBAIGZpYmVyX3JlY3ljbGUoc3RydWN0 IGZpYmVyICpmaWJlcik8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2ZpYmVyLSZndDtmID0g TlVMTDs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2ZpYmVyLSZndDt3YWl0X3BhZCA9IE5V TEw7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDttZW1zZXQoJmFtcDtmaWJlci0mZ3Q7c3Rv cmFnZSwgMCwgc2l6ZW9mKGZpYmVyLSZndDtzdG9yYWdlKSk7PGJyPismbmJzcDsmbmJzcDsgJm5i c3A7ZmliZXItJmd0O3N0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmID0gTFVBX05PUkVGOzxicj4rJm5i c3A7Jm5ic3A7ICZuYnNwO2ZpYmVyLSZndDtzdG9yYWdlLmx1YS5maWRfcmVmID0gTFVBX05PUkVG Ozxicj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7dW5yZWdpc3Rlcl9maWQoZmliZXIpOzxicj4m bmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ZmliZXItJmd0O2ZpZCA9IDA7PGJyPiZuYnNwOyZuYnNw OyZuYnNwOyAmbmJzcDtyZWdpb25fZnJlZSgmYW1wO2ZpYmVyLSZndDtnYyk7PGJyPkBAIC0xMjM2 LDYgKzEyMzksOCBAQCBmaWJlcl9uZXdfZXgoY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgc3RydWN0 IGZpYmVyX2F0dHIgKmZpYmVyX2F0dHIsPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJz cDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO3JldHVybiBOVUxMOzxicj4mbmJzcDsm bmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO308YnI+Jm5ic3A7Jm5ic3A7Jm5i c3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDttZW1zZXQoZmliZXIsIDAsIHNpemVvZihzdHJ1 Y3QgZmliZXIpKTs8YnI+KyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Zmli ZXItJmd0O3N0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmID0gTFVBX05PUkVGOzxicj4rJm5ic3A7Jm5i c3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtmaWJlci0mZ3Q7c3RvcmFnZS5sdWEuZmlkX3Jl ZiA9IExVQV9OT1JFRjs8YnI+Jm5ic3A7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJz cDsmbmJzcDsgJm5ic3A7aWYgKGZpYmVyX3N0YWNrX2NyZWF0ZShmaWJlciwgJmFtcDtjb3JkKCkt Jmd0O3NsYWJjLDxicj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNw OyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGZpYmVyX2F0dHItJmd0O3N0YWNrX3NpemUpKSB7PGJyPmRpZmYgLS1naXQgYS9zcmMvbGli L2NvcmUvZmliZXIuaCBiL3NyYy9saWIvY29yZS9maWJlci5oPGJyPmluZGV4IDNlOTY2M2ExYS4u MmQ0NDQzNTQ0IDEwMDY0NDxicj4tLS0gYS9zcmMvbGliL2NvcmUvZmliZXIuaDxicj4rKysgYi9z cmMvbGliL2NvcmUvZmliZXIuaDxicj5AQCAtNjI1LDkgKzYyNSw5IEBAIHN0cnVjdCBmaWJlciB7 PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5i c3A7ICZuYnNwO3N0cnVjdCBsdWFfU3RhdGUgKnN0YWNrOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsg Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsvKio8YnI+Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7 ICogT3B0aW9uYWwgcmVmZXJlbmNlIHRvIHVzZXJkYXRhPGJyPi0mbmJzcDsmbmJzcDsgJm5ic3A7 Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgKiByZXByZXNlbnRlZCBjdXJy ZW50IGZpYmVyIGluIEx1YS48YnI+KyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5i c3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyAqIHJlcHJlc2VudGVkIGN1cnJlbnQgZmliZXIgaWQgaW4g THVhLjxicj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNw OyZuYnNwOyAmbmJzcDsgKi88YnI+LSZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5i c3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2ludCByZWY7PGJyPismbmJzcDsmbmJzcDsgJm5ic3A7Jm5i c3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtpbnQgZmlkX3JlZjs8YnI+Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7 LyoqPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7 Jm5ic3A7ICZuYnNwOyAqIE9wdGlvbmFsIGZpYmVyLnN0b3JhZ2UgTHVhIHJlZmVyZW5jZS48YnI+ Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsg Jm5ic3A7ICovPGJyPmRpZmYgLS1naXQgYS9zcmMvbHVhL2ZpYmVyLmMgYi9zcmMvbHVhL2ZpYmVy LmM8YnI+aW5kZXggODNhNmI0ODUwLi5hYjBlODk1ZWIgMTAwNjQ0PGJyPi0tLSBhL3NyYy9sdWEv ZmliZXIuYzxicj4rKysgYi9zcmMvbHVhL2ZpYmVyLmM8YnI+QEAgLTg4LDcgKzg4LDcgQEAgc3Rh dGljIGNvbnN0IGNoYXIgKmZpYmVybGliX25hbWUgPSAiZmliZXIiOzxicj4mbmJzcDs8YnI+Jm5i c3A7LyoqPGJyPiZuYnNwOyAqIFRyaWdnZXIgaW52b2tlZCB3aGVuIHRoZSBmaWJlciBoYXMgc3Rv cHBlZCBleGVjdXRpb24gb2YgaXRzPGJyPi0gKiBjdXJyZW50IHJlcXVlc3QuIE9ubHkgcHVycG9z ZSAtIGRlbGV0ZSBzdG9yYWdlLmx1YS5yZWYgYW5kPGJyPisgKiBjdXJyZW50IHJlcXVlc3QuIE9u bHkgcHVycG9zZSAtIGRlbGV0ZSBzdG9yYWdlLmx1YS5maWRfcmVmIGFuZDxicj4mbmJzcDsgKiBz dG9yYWdlLmx1YS5zdG9yYWdlX3JlZiBrZWVwaW5nIGEgcmVmZXJlbmNlIG9mIEx1YTxicj4mbmJz cDsgKiBmaWJlciBhbmQgZmliZXIuc3RvcmFnZSBvYmplY3RzLiBVbmxpa2UgTHVhIHN0YWNrLDxi cj4mbmJzcDsgKiBMdWEgZmliZXIgc3RvcmFnZSBtYXkgYmUgY3JlYXRlZCBub3Qgb25seSBmb3Ig ZmliZXJzIGJvcm4gZnJvbTxicj5AQCAtMTAxLDE0ICsxMDEsMTEgQEAgbGJveF9maWJlcl9vbl9z dG9wKHN0cnVjdCB0cmlnZ2VyICp0cmlnZ2VyLCB2b2lkICpldmVudCk8YnI+Jm5ic3A7ezxicj4m bmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7c3RydWN0IGZpYmVyICpmID0gZXZlbnQ7PGJyPiZuYnNw OyZuYnNwOyZuYnNwOyAmbmJzcDtpbnQgc3RvcmFnZV9yZWYgPSBmLSZndDtzdG9yYWdlLmx1YS5z dG9yYWdlX3JlZjs8YnI+LSZuYnNwOyZuYnNwOyAmbmJzcDtpZiAoc3RvcmFnZV9yZWYgJmd0OyAw KSB7PGJyPi0mbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2x1YUxfdW5yZWYo dGFyYW50b29sX0wsIExVQV9SRUdJU1RSWUlOREVYLCBzdG9yYWdlX3JlZik7PGJyPi0mbmJzcDsm bmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2YtJmd0O3N0b3JhZ2UubHVhLnN0b3JhZ2Vf cmVmID0gTFVBX05PUkVGOzxicj4tJm5ic3A7Jm5ic3A7ICZuYnNwO308YnI+LSZuYnNwOyZuYnNw OyAmbmJzcDtpbnQgcmVmID0gZi0mZ3Q7c3RvcmFnZS5sdWEucmVmOzxicj4tJm5ic3A7Jm5ic3A7 ICZuYnNwO2Fzc2VydChyZWYgJmd0OyAwKTs8YnI+KyZuYnNwOyZuYnNwOyAmbmJzcDtsdWFMX3Vu cmVmKHRhcmFudG9vbF9MLCBMVUFfUkVHSVNUUllJTkRFWCwgc3RvcmFnZV9yZWYpOzxicj4rJm5i c3A7Jm5ic3A7ICZuYnNwO2YtJmd0O3N0b3JhZ2UubHVhLnN0b3JhZ2VfcmVmID0gTFVBX05PUkVG Ozxicj4rJm5ic3A7Jm5ic3A7ICZuYnNwO2ludCByZWYgPSBmLSZndDtzdG9yYWdlLmx1YS5maWRf cmVmOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7bHVhTF91bnJlZih0YXJhbnRvb2xfTCwg TFVBX1JFR0lTVFJZSU5ERVgsIHJlZik7PGJyPi0mbmJzcDsmbmJzcDsgJm5ic3A7Zi0mZ3Q7c3Rv cmFnZS5sdWEucmVmID0gTFVBX05PUkVGOzxicj4rJm5ic3A7Jm5ic3A7ICZuYnNwO2YtJmd0O3N0 b3JhZ2UubHVhLmZpZF9yZWYgPSBMVUFfTk9SRUY7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJz cDt0cmlnZ2VyX2NsZWFyKHRyaWdnZXIpOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ZnJl ZSh0cmlnZ2VyKTs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO3JldHVybiAwOzxicj5AQCAt MTIwLDggKzExNyw4IEBAIGxib3hfZmliZXJfb25fc3RvcChzdHJ1Y3QgdHJpZ2dlciAqdHJpZ2dl ciwgdm9pZCAqZXZlbnQpPGJyPiZuYnNwO3N0YXRpYyB2b2lkPGJyPiZuYnNwO2xib3hfcHVzaGZp YmVyKHN0cnVjdCBsdWFfU3RhdGUgKkwsIHN0cnVjdCBmaWJlciAqZik8YnI+Jm5ic3A7ezxicj4t Jm5ic3A7Jm5ic3A7ICZuYnNwO2ludCByZWYgPSBmLSZndDtzdG9yYWdlLmx1YS5yZWY7PGJyPi0m bmJzcDsmbmJzcDsgJm5ic3A7aWYgKHJlZiAmbHQ7PSAwKSB7PGJyPismbmJzcDsmbmJzcDsgJm5i c3A7aW50IHJlZiA9IGYtJmd0O3N0b3JhZ2UubHVhLmZpZF9yZWY7PGJyPismbmJzcDsmbmJzcDsg Jm5ic3A7aWYgKHJlZiA9PSBMVUFfTk9SRUYpIHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNw OyZuYnNwOyZuYnNwOyAmbmJzcDtzdHJ1Y3QgdHJpZ2dlciAqdCA9IG1hbGxvYyhzaXplb2YoKnQp KTs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtpZiAodCA9 PSBOVUxMKSB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7 Jm5ic3A7Jm5ic3A7ICZuYnNwO2RpYWdfc2V0KE91dE9mTWVtb3J5LCBzaXplb2YoKnQpLCAibWFs bG9jIiwgInQiKTs8YnI+QEAgLTEzNyw3ICsxMzQsNyBAQCBsYm94X3B1c2hmaWJlcihzdHJ1Y3Qg bHVhX1N0YXRlICpMLCBzdHJ1Y3QgZmliZXIgKmYpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJz cDsmbmJzcDsmbmJzcDsgJm5ic3A7bHVhTF9nZXRtZXRhdGFibGUoTCwgZmliZXJsaWJfbmFtZSk7 PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7bHVhX3NldG1l dGF0YWJsZShMLCAtMik7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsg Jm5ic3A7cmVmID0gbHVhTF9yZWYoTCwgTFVBX1JFR0lTVFJZSU5ERVgpOzxicj4tJm5ic3A7Jm5i c3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtmLSZndDtzdG9yYWdlLmx1YS5yZWYgPSByZWY7 PGJyPismbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2YtJmd0O3N0b3JhZ2Uu bHVhLmZpZF9yZWYgPSByZWY7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDt9PGJyPiZuYnNw OyZuYnNwOyZuYnNwOyAmbmJzcDtsdWFfcmF3Z2V0aShMLCBMVUFfUkVHSVNUUllJTkRFWCwgcmVm KTs8YnI+Jm5ic3A7fTxicj4mbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7 PC9kaXY+PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRhaW5lciI+PGRpdiBkYXRhLXNp Z25hdHVyZS13aWRnZXQ9ImNvbnRlbnQiPjxkaXY+LS08YnI+T2xlZyBCYWJpbjwvZGl2PjwvZGl2 PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--555767c4eFdB9Be42a9CEa7B44cBaE2c1630605573--