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 9613E741FF; Fri, 6 Aug 2021 15:19:59 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 9613E741FF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1628252399; bh=qPPwwli5JoJsf/axHS20C8pZDf10m6YFFQ4X11Z1wec=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=DQefH4DzOnLZKvLf+FVTMdVC2jb6nfNOg3MZMu5btmzqLANt7vSpN5/HWwZucMwtB jv51gt1VICBZayv1jjIG82FD97ud2VupQXp1VgWrvQE3fNqOwpzpbGF1c+nokrDVMT N2+qNBfP7SEv9HgAoTQaQHpwUdCJvIkVkmRc2E0g= Received: from f221.i.mail.ru (f221.i.mail.ru [94.100.185.74]) (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 7B65C741FF for ; Fri, 6 Aug 2021 15:19:57 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 7B65C741FF Received: by f221.i.mail.ru with local (envelope-from ) id 1mBypO-0001Ql-R9; Fri, 06 Aug 2021 15:19:55 +0300 Received: by e.mail.ru with HTTP; Fri, 06 Aug 2021 15:19:54 +0300 To: imeevma@tarantool.org MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16282323820827207625 X-SenderField-Remind: 0 Date: Fri, 06 Aug 2021 15:19:54 +0300 X-Priority: 3 (Normal) Message-ID: <1628252394.61368563@f221.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--8f208A5f3643636084059D15551bA4421628252394" In-Reply-To: References: X-7564579A: 78E4E2B564C1792B X-77F55803: 119C1F4DF6A9251C771EFB8797C310D1DC453ED895685E6182F00C413D5028428FD872164937FA4CCA81A9041F37BD90EC8D899A16E4BBF90B28433D5CA0772B3EF00DBE9CB189BF X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE75873E3253787E214D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD269176DF2183F8FC7C0C579B1C3ABE6C709C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE75D1285FE9E48A518EA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BBCA57AF85F7723F21CB1BE50DEF131DDC1E1554C30DC18CFCC7F00164DA146DAFE8445B8C89999728AA50765F7900637F6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F790063783E00425F71A4181389733CBF5DBD5E9B5C8C57E37DE458B9E9CE733340B9D5F3BBE47FD9DD3FB595F5C1EE8F4F765FC72CEEB2601E22B093A03B725D353964B0B7D0EA88DDEDAC722CA9DD8327EE4930A3850AC1BE2E7352B32DCB92A8600C6C4224003CC83647689D4C264860C145E X-C1DE0DAB: 0D63561A33F958A53F83D7052A4DCFB0FD97583F232E3D9535BBBEC03EB85BD5BDC6A1CF3F042BAD6DF99611D93F60EF3033054805BDE987699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D346AD04FDA812EEFF1C9E1D6B72F8C3AA032F64361668C197AFA1EF49A7FE5A74E57FB3F72ECB9B8631D7E09C32AA3244CA3DEEF4D670C6556C21876B9081715C25595C85A795C7BAEFACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhP1fSw6HxaLQCyzSX5hPCYQ== X-Mailru-MI: 800 X-Mailru-Sender: 11C2EC085EDE56FA38FD4C59F7EFE407F95D62D41B05CB60284C8B7616B6EE0BE14992FEB2D5E32406CD02445D2D9C8FA2BFD6D8330F0C2D9CE2F3699138560A25CF5D700281E479093DA5C00B83CE84589FE50571090824AFFEEB0FABBF54C967EA787935ED9F1B X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v2_6/6=5D_sql=3A_remove_u?= =?utf-8?q?nused_MEM_cast_functions?= 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: Vitaliia Ioffe via Tarantool-patches Reply-To: =?UTF-8?B?Vml0YWxpaWEgSW9mZmU=?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--8f208A5f3643636084059D15551bA4421628252394 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIHRlYW0swqAKwqAKUUEgTEdUTQrCoArCoAotLQpWaXRhbGlpYSBJb2ZmZQrCoArCoCAKPtCf 0Y/RgtC90LjRhtCwLCA2INCw0LLQs9GD0YHRgtCwIDIwMjEsIDk6NDYgKzAzOjAwINC+0YIgTWVy Z2VuIEltZWV2IHZpYSBUYXJhbnRvb2wtcGF0Y2hlcyA8dGFyYW50b29sLXBhdGNoZXNAZGV2LnRh cmFudG9vbC5vcmc+Ogo+wqAKPlRoaXMgcGF0Y2ggcmVtb3ZlcyBmdW5jdGlvbnMgdGhhdCBiZWNv bWUgdW51c2VkIGR1ZSB0byBjaGFuZ2VzIG9mCj5pbXBsaWNpdCBhbmQgZXhwbGljaXQgY2FzdCBy dWxlcy4KPgo+Q2xvc2VzICM0NDcwCj4tLS0KPsKgc3JjL2JveC9zcWwvbWVtLmMgfCA4MiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+wqBzcmMvYm94L3NxbC9tZW0u aCB8IDYgLS0tCj7CoHNyYy9ib3gvc3FsL3ZkYmUuaCB8IDIgKy0KPsKgc3JjL2JveC9zcWwvdmRi ZWF1eC5jIHwgNiArLS0KPsKgc3JjL2JveC9zcWwvd2hlcmVleHByLmMgfCA0ICstCj7CoDUgZmls ZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA5NiBkZWxldGlvbnMoLSkKPgo+ZGlmZiAtLWdp dCBhL3NyYy9ib3gvc3FsL21lbS5jIGIvc3JjL2JveC9zcWwvbWVtLmMKPmluZGV4IGU2NTRjYWM0 MS4uZDFlZjkyYTg2IDEwMDY0NAo+LS0tIGEvc3JjL2JveC9zcWwvbWVtLmMKPisrKyBiL3NyYy9i b3gvc3FsL21lbS5jCj5AQCAtMTI5Myw4OCArMTI5Myw2IEBAIG1lbV9jYXN0X2ltcGxpY2l0KHN0 cnVjdCBNZW0gKm1lbSwgZW51bSBmaWVsZF90eXBlIHR5cGUpCj7CoCByZXR1cm4gLTE7Cj7CoH0K PsKgCj4taW50Cj4tbWVtX2Nhc3RfaW1wbGljaXRfb2xkKHN0cnVjdCBNZW0gKm1lbSwgZW51bSBm aWVsZF90eXBlIHR5cGUpCj4tewo+LSBpZiAobWVtLT50eXBlID09IE1FTV9UWVBFX05VTEwpCj4t IHJldHVybiAwOwo+LSBzd2l0Y2ggKHR5cGUpIHsKPi0gY2FzZSBGSUVMRF9UWVBFX1VOU0lHTkVE Ogo+LSBpZiAobWVtLT50eXBlID09IE1FTV9UWVBFX1VJTlQpCj4tIHJldHVybiAwOwo+LSBpZiAo bWVtLT50eXBlID09IE1FTV9UWVBFX0RPVUJMRSkKPi0gcmV0dXJuIGRvdWJsZV90b191aW50X3By ZWNpc2UobWVtKTsKPi0gaWYgKG1lbS0+dHlwZSA9PSBNRU1fVFlQRV9TVFIpCj4tIHJldHVybiBz dHJfdG9fdWludChtZW0pOwo+LSByZXR1cm4gLTE7Cj4tIGNhc2UgRklFTERfVFlQRV9TVFJJTkc6 Cj4tIGlmICgobWVtLT50eXBlICYgKE1FTV9UWVBFX1NUUiB8IE1FTV9UWVBFX0JJTikpICE9IDAp Cj4tIHJldHVybiAwOwo+LSBpZiAoKG1lbS0+dHlwZSAmIChNRU1fVFlQRV9JTlQgfCBNRU1fVFlQ RV9VSU5UKSkgIT0gMCkKPi0gcmV0dXJuIGludF90b19zdHIwKG1lbSk7Cj4tIGlmIChtZW0tPnR5 cGUgPT0gTUVNX1RZUEVfRE9VQkxFKQo+LSByZXR1cm4gZG91YmxlX3RvX3N0cjAobWVtKTsKPi0g aWYgKG1lbS0+dHlwZSA9PSBNRU1fVFlQRV9VVUlEKQo+LSByZXR1cm4gdXVpZF90b19zdHIwKG1l bSk7Cj4tIHJldHVybiAtMTsKPi0gY2FzZSBGSUVMRF9UWVBFX0RPVUJMRToKPi0gaWYgKG1lbS0+ dHlwZSA9PSBNRU1fVFlQRV9ET1VCTEUpCj4tIHJldHVybiAwOwo+LSBpZiAoKG1lbS0+dHlwZSAm IChNRU1fVFlQRV9JTlQgfCBNRU1fVFlQRV9VSU5UKSkgIT0gMCkKPi0gcmV0dXJuIGludF90b19k b3VibGUobWVtKTsKPi0gaWYgKG1lbS0+dHlwZSA9PSBNRU1fVFlQRV9TVFIpCj4tIHJldHVybiBi aW5fdG9fc3RyKG1lbSk7Cj4tIHJldHVybiAtMTsKPi0gY2FzZSBGSUVMRF9UWVBFX0lOVEVHRVI6 Cj4tIGlmICgobWVtLT50eXBlICYgKE1FTV9UWVBFX0lOVCB8IE1FTV9UWVBFX1VJTlQpKSAhPSAw KQo+LSByZXR1cm4gMDsKPi0gaWYgKG1lbS0+dHlwZSA9PSBNRU1fVFlQRV9TVFIpCj4tIHJldHVy biBzdHJfdG9faW50KG1lbSk7Cj4tIGlmIChtZW0tPnR5cGUgPT0gTUVNX1RZUEVfRE9VQkxFKQo+ LSByZXR1cm4gZG91YmxlX3RvX2ludF9wcmVjaXNlKG1lbSk7Cj4tIHJldHVybiAtMTsKPi0gY2Fz ZSBGSUVMRF9UWVBFX0JPT0xFQU46Cj4tIGlmIChtZW0tPnR5cGUgPT0gTUVNX1RZUEVfQk9PTCkK Pi0gcmV0dXJuIDA7Cj4tIHJldHVybiAtMTsKPi0gY2FzZSBGSUVMRF9UWVBFX1ZBUkJJTkFSWToK Pi0gaWYgKG1lbS0+dHlwZSA9PSBNRU1fVFlQRV9CSU4pCj4tIHJldHVybiAwOwo+LSBpZiAobWVt LT50eXBlID09IE1FTV9UWVBFX1VVSUQpCj4tIHJldHVybiB1dWlkX3RvX2JpbihtZW0pOwo+LSBy ZXR1cm4gLTE7Cj4tIGNhc2UgRklFTERfVFlQRV9OVU1CRVI6Cj4tIGlmIChtZW1faXNfbnVtKG1l bSkpCj4tIHJldHVybiAwOwo+LSBpZiAobWVtLT50eXBlID09IE1FTV9UWVBFX1NUUikKPi0gcmV0 dXJuIG1lbV90b19udW1iZXIobWVtKTsKPi0gcmV0dXJuIC0xOwo+LSBjYXNlIEZJRUxEX1RZUEVf TUFQOgo+LSBpZiAobWVtLT50eXBlID09IE1FTV9UWVBFX01BUCkKPi0gcmV0dXJuIDA7Cj4tIHJl dHVybiAtMTsKPi0gY2FzZSBGSUVMRF9UWVBFX0FSUkFZOgo+LSBpZiAobWVtLT50eXBlID09IE1F TV9UWVBFX0FSUkFZKQo+LSByZXR1cm4gMDsKPi0gcmV0dXJuIC0xOwo+LSBjYXNlIEZJRUxEX1RZ UEVfU0NBTEFSOgo+LSBpZiAoKG1lbS0+dHlwZSAmIChNRU1fVFlQRV9NQVAgfCBNRU1fVFlQRV9B UlJBWSkpICE9IDApCj4tIHJldHVybiAtMTsKPi0gcmV0dXJuIDA7Cj4tIGNhc2UgRklFTERfVFlQ RV9VVUlEOgo+LSBpZiAobWVtLT50eXBlID09IE1FTV9UWVBFX1VVSUQpCj4tIHJldHVybiAwOwo+ LSBpZiAobWVtLT50eXBlID09IE1FTV9UWVBFX1NUUikKPi0gcmV0dXJuIHN0cl90b191dWlkKG1l bSk7Cj4tIGlmIChtZW0tPnR5cGUgPT0gTUVNX1RZUEVfQklOKQo+LSByZXR1cm4gYmluX3RvX3V1 aWQobWVtKTsKPi0gcmV0dXJuIC0xOwo+LSBkZWZhdWx0Ogo+LSBicmVhazsKPi0gfQo+LSByZXR1 cm4gLTE7Cj4tfQo+LQo+wqBpbnQKPsKgbWVtX2Nhc3RfaW1wbGljaXRfbnVtYmVyKHN0cnVjdCBN ZW0gKm1lbSwgZW51bSBmaWVsZF90eXBlIHR5cGUpCj7CoHsKPmRpZmYgLS1naXQgYS9zcmMvYm94 L3NxbC9tZW0uaCBiL3NyYy9ib3gvc3FsL21lbS5oCj5pbmRleCA0ZjYxY2JhYjAuLjk2ODFmYzcz NiAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvc3FsL21lbS5oCj4rKysgYi9zcmMvYm94L3NxbC9tZW0u aAo+QEAgLTc0MCwxMiArNzQwLDYgQEAgbWVtX2Nhc3RfZXhwbGljaXQoc3RydWN0IE1lbSAqbWVt LCBlbnVtIGZpZWxkX3R5cGUgdHlwZSk7Cj7CoGludAo+wqBtZW1fY2FzdF9pbXBsaWNpdChzdHJ1 Y3QgTWVtICptZW0sIGVudW0gZmllbGRfdHlwZSB0eXBlKTsKPsKgCj4tLyoqCj4tICogQ29udmVy dCB0aGUgZ2l2ZW4gTUVNIHRvIGdpdmVuIHR5cGUgYWNjb3JkaW5nIHRvIGxlZ2FjeSBpbXBsaWNp dCBjYXN0IHJ1bGVzLgo+LSAqLwo+LWludAo+LW1lbV9jYXN0X2ltcGxpY2l0X29sZChzdHJ1Y3Qg TWVtICptZW0sIGVudW0gZmllbGRfdHlwZSB0eXBlKTsKPi0KPsKgLyoqCj7CoMKgKiBDYXN0IE1F TSB3aXRoIG51bWVyaWMgdmFsdWUgdG8gZ2l2ZW4gbnVtZXJpYyB0eXBlLiBEb2Vzbid0IGZhaWwu IFRoZSByZXR1cm4KPsKgwqAqIHZhbHVlIGlzIDwgMCBpZiB0aGUgb3JpZ2luYWwgdmFsdWUgaXMg bGVzcyB0aGFuIHRoZSByZXN1bHQsID4gMCBpZiB0aGUKPmRpZmYgLS1naXQgYS9zcmMvYm94L3Nx bC92ZGJlLmggYi9zcmMvYm94L3NxbC92ZGJlLmgKPmluZGV4IDExOGYxY2Q4My4uYmUxMTJjNzJk IDEwMDY0NAo+LS0tIGEvc3JjL2JveC9zcWwvdmRiZS5oCj4rKysgYi9zcmMvYm94L3NxbC92ZGJl LmgKPkBAIC0yNjYsNyArMjY2LDcgQEAgc3FsICpzcWxWZGJlRGIoVmRiZSAqKTsKPsKgdm9pZCBz cWxWZGJlU2V0U3FsKFZkYmUgKiwgY29uc3QgY2hhciAqeiwgaW50IG4pOwo+wqB2b2lkIHNxbFZk YmVTd2FwKFZkYmUgKiwgVmRiZSAqKTsKPsKgVmRiZU9wICpzcWxWZGJlVGFrZU9wQXJyYXkoVmRi ZSAqLCBpbnQgKiwgaW50ICopOwo+LXNxbF92YWx1ZSAqc3FsVmRiZUdldEJvdW5kVmFsdWUoVmRi ZSAqLCBpbnQsIHU4KTsKPitzcWxfdmFsdWUgKnNxbFZkYmVHZXRCb3VuZFZhbHVlKFZkYmUgKiwg aW50KTsKPsKgY2hhciAqc3FsVmRiZUV4cGFuZFNxbChWZGJlICosIGNvbnN0IGNoYXIgKik7Cj7C oAo+wqAvKioKPmRpZmYgLS1naXQgYS9zcmMvYm94L3NxbC92ZGJlYXV4LmMgYi9zcmMvYm94L3Nx bC92ZGJlYXV4LmMKPmluZGV4IDRhMWZkYjYzNy4uNjFiZTdiNDg5IDEwMDY0NAo+LS0tIGEvc3Jj L2JveC9zcWwvdmRiZWF1eC5jCj4rKysgYi9zcmMvYm94L3NxbC92ZGJlYXV4LmMKPkBAIC0yMzIz LDE3ICsyMzIzLDE1IEBAIHNxbFZkYmVEYihWZGJlICogdikKPsKgwqAqIFRoZSByZXR1cm5lZCB2 YWx1ZSBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIgdXNpbmcgc3FsVmFsdWVGcmVlKCkuCj7C oMKgKi8KPsKgc3FsX3ZhbHVlICoKPi1zcWxWZGJlR2V0Qm91bmRWYWx1ZShWZGJlICogdiwgaW50 IGlWYXIsIHU4IGFmZikKPitzcWxWZGJlR2V0Qm91bmRWYWx1ZShzdHJ1Y3QgVmRiZSAqdiwgaW50 IGlWYXIpCj7CoHsKPsKgIGFzc2VydChpVmFyID4gMCk7Cj7CoCBpZiAodikgewo+wqAgTWVtICpw TWVtID0gJnYtPmFWYXJbaVZhciAtIDFdOwo+wqAgaWYgKCFtZW1faXNfbnVsbChwTWVtKSkgewo+ wqAgc3FsX3ZhbHVlICpwUmV0ID0gc3FsVmFsdWVOZXcodi0+ZGIpOwo+LSBpZiAocFJldCkgewo+ KyBpZiAocFJldCAhPSBOVUxMKQo+wqAgbWVtX2NvcHkocFJldCwgcE1lbSk7Cj4tIG1lbV9jYXN0 X2ltcGxpY2l0X29sZChwUmV0LCBhZmYpOwo+LSB9Cj7CoCByZXR1cm4gcFJldDsKPsKgIH0KPsKg IH0KPmRpZmYgLS1naXQgYS9zcmMvYm94L3NxbC93aGVyZWV4cHIuYyBiL3NyYy9ib3gvc3FsL3do ZXJlZXhwci5jCj5pbmRleCBmZTczMjllYTguLjY4NDlmMTNlYyAxMDA2NDQKPi0tLSBhL3NyYy9i b3gvc3FsL3doZXJlZXhwci5jCj4rKysgYi9zcmMvYm94L3NxbC93aGVyZWV4cHIuYwo+QEAgLTMw OSw5ICszMDksNyBAQCBsaWtlX29wdGltaXphdGlvbl9pc192YWxpZChQYXJzZSAqcFBhcnNlLCBF eHByICpwRXhwciwgRXhwciAqKnBwUHJlZml4LAo+wqAgaWYgKG9wID09IFRLX1ZBUklBQkxFKSB7 Cj7CoCBWZGJlICpwUmVwcmVwYXJlID0gcFBhcnNlLT5wUmVwcmVwYXJlOwo+wqAgaW50IGlDb2wg PSBwUmlnaHQtPmlDb2x1bW47Cj4tIHBWYWwgPQo+LSBzcWxWZGJlR2V0Qm91bmRWYWx1ZShwUmVw cmVwYXJlLCBpQ29sLAo+LSBGSUVMRF9UWVBFX1NDQUxBUik7Cj4rIHBWYWwgPSBzcWxWZGJlR2V0 Qm91bmRWYWx1ZShwUmVwcmVwYXJlLCBpQ29sKTsKPsKgIGlmIChwVmFsICE9IE5VTEwgJiYgbWVt X2lzX3N0cihwVmFsKSkgewo+wqAgaWYgKG1lbV9hc19zdHIwKHBWYWwpID09IE5VTEwpCj7CoCBy ZXR1cm4gLTE7Cj4tLQo+Mi4yNS4xCsKg ----ALT--8f208A5f3643636084059D15551bA4421628252394 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkgdGVhbSwmbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2Pjxk aXY+UUEgTEdUTTwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2IGRh dGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdl dD0iY29udGVudCI+PGRpdj4tLTxicj5WaXRhbGlpYSBJb2ZmZTwvZGl2PjwvZGl2PjwvZGl2Pjxk aXY+Jm5ic3A7PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVy LWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7 Ij7Qn9GP0YLQvdC40YbQsCwgNiDQsNCy0LPRg9GB0YLQsCAyMDIxLCA5OjQ2ICswMzowMCDQvtGC IE1lcmdlbiBJbWVldiB2aWEgVGFyYW50b29sLXBhdGNoZXMgJmx0O3RhcmFudG9vbC1wYXRjaGVz QGRldi50YXJhbnRvb2wub3JnJmd0Ozo8YnI+Jm5ic3A7PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJq cy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTYyODIzMjM4MjA4 MjcyMDc2MjVfQk9EWSI+VGhpcyBwYXRjaCByZW1vdmVzIGZ1bmN0aW9ucyB0aGF0IGJlY29tZSB1 bnVzZWQgZHVlIHRvIGNoYW5nZXMgb2Y8YnI+aW1wbGljaXQgYW5kIGV4cGxpY2l0IGNhc3QgcnVs ZXMuPGJyPjxicj5DbG9zZXMgIzQ0NzA8YnI+LS0tPGJyPiZuYnNwO3NyYy9ib3gvc3FsL21lbS5j IHwgODIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+Jm5ic3A7 c3JjL2JveC9zcWwvbWVtLmggfCA2IC0tLTxicj4mbmJzcDtzcmMvYm94L3NxbC92ZGJlLmggfCAy ICstPGJyPiZuYnNwO3NyYy9ib3gvc3FsL3ZkYmVhdXguYyB8IDYgKy0tPGJyPiZuYnNwO3NyYy9i b3gvc3FsL3doZXJlZXhwci5jIHwgNCArLTxicj4mbmJzcDs1IGZpbGVzIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgOTYgZGVsZXRpb25zKC0pPGJyPjxicj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9z cWwvbWVtLmMgYi9zcmMvYm94L3NxbC9tZW0uYzxicj5pbmRleCBlNjU0Y2FjNDEuLmQxZWY5MmE4 NiAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC9zcWwvbWVtLmM8YnI+KysrIGIvc3JjL2JveC9zcWwv bWVtLmM8YnI+QEAgLTEyOTMsODggKzEyOTMsNiBAQCBtZW1fY2FzdF9pbXBsaWNpdChzdHJ1Y3Qg TWVtICptZW0sIGVudW0gZmllbGRfdHlwZSB0eXBlKTxicj4mbmJzcDsgcmV0dXJuIC0xOzxicj4m bmJzcDt9PGJyPiZuYnNwOzxicj4taW50PGJyPi1tZW1fY2FzdF9pbXBsaWNpdF9vbGQoc3RydWN0 IE1lbSAqbWVtLCBlbnVtIGZpZWxkX3R5cGUgdHlwZSk8YnI+LXs8YnI+LSBpZiAobWVtLSZndDt0 eXBlID09IE1FTV9UWVBFX05VTEwpPGJyPi0gcmV0dXJuIDA7PGJyPi0gc3dpdGNoICh0eXBlKSB7 PGJyPi0gY2FzZSBGSUVMRF9UWVBFX1VOU0lHTkVEOjxicj4tIGlmIChtZW0tJmd0O3R5cGUgPT0g TUVNX1RZUEVfVUlOVCk8YnI+LSByZXR1cm4gMDs8YnI+LSBpZiAobWVtLSZndDt0eXBlID09IE1F TV9UWVBFX0RPVUJMRSk8YnI+LSByZXR1cm4gZG91YmxlX3RvX3VpbnRfcHJlY2lzZShtZW0pOzxi cj4tIGlmIChtZW0tJmd0O3R5cGUgPT0gTUVNX1RZUEVfU1RSKTxicj4tIHJldHVybiBzdHJfdG9f dWludChtZW0pOzxicj4tIHJldHVybiAtMTs8YnI+LSBjYXNlIEZJRUxEX1RZUEVfU1RSSU5HOjxi cj4tIGlmICgobWVtLSZndDt0eXBlICZhbXA7IChNRU1fVFlQRV9TVFIgfCBNRU1fVFlQRV9CSU4p KSAhPSAwKTxicj4tIHJldHVybiAwOzxicj4tIGlmICgobWVtLSZndDt0eXBlICZhbXA7IChNRU1f VFlQRV9JTlQgfCBNRU1fVFlQRV9VSU5UKSkgIT0gMCk8YnI+LSByZXR1cm4gaW50X3RvX3N0cjAo bWVtKTs8YnI+LSBpZiAobWVtLSZndDt0eXBlID09IE1FTV9UWVBFX0RPVUJMRSk8YnI+LSByZXR1 cm4gZG91YmxlX3RvX3N0cjAobWVtKTs8YnI+LSBpZiAobWVtLSZndDt0eXBlID09IE1FTV9UWVBF X1VVSUQpPGJyPi0gcmV0dXJuIHV1aWRfdG9fc3RyMChtZW0pOzxicj4tIHJldHVybiAtMTs8YnI+ LSBjYXNlIEZJRUxEX1RZUEVfRE9VQkxFOjxicj4tIGlmIChtZW0tJmd0O3R5cGUgPT0gTUVNX1RZ UEVfRE9VQkxFKTxicj4tIHJldHVybiAwOzxicj4tIGlmICgobWVtLSZndDt0eXBlICZhbXA7IChN RU1fVFlQRV9JTlQgfCBNRU1fVFlQRV9VSU5UKSkgIT0gMCk8YnI+LSByZXR1cm4gaW50X3RvX2Rv dWJsZShtZW0pOzxicj4tIGlmIChtZW0tJmd0O3R5cGUgPT0gTUVNX1RZUEVfU1RSKTxicj4tIHJl dHVybiBiaW5fdG9fc3RyKG1lbSk7PGJyPi0gcmV0dXJuIC0xOzxicj4tIGNhc2UgRklFTERfVFlQ RV9JTlRFR0VSOjxicj4tIGlmICgobWVtLSZndDt0eXBlICZhbXA7IChNRU1fVFlQRV9JTlQgfCBN RU1fVFlQRV9VSU5UKSkgIT0gMCk8YnI+LSByZXR1cm4gMDs8YnI+LSBpZiAobWVtLSZndDt0eXBl ID09IE1FTV9UWVBFX1NUUik8YnI+LSByZXR1cm4gc3RyX3RvX2ludChtZW0pOzxicj4tIGlmICht ZW0tJmd0O3R5cGUgPT0gTUVNX1RZUEVfRE9VQkxFKTxicj4tIHJldHVybiBkb3VibGVfdG9faW50 X3ByZWNpc2UobWVtKTs8YnI+LSByZXR1cm4gLTE7PGJyPi0gY2FzZSBGSUVMRF9UWVBFX0JPT0xF QU46PGJyPi0gaWYgKG1lbS0mZ3Q7dHlwZSA9PSBNRU1fVFlQRV9CT09MKTxicj4tIHJldHVybiAw Ozxicj4tIHJldHVybiAtMTs8YnI+LSBjYXNlIEZJRUxEX1RZUEVfVkFSQklOQVJZOjxicj4tIGlm IChtZW0tJmd0O3R5cGUgPT0gTUVNX1RZUEVfQklOKTxicj4tIHJldHVybiAwOzxicj4tIGlmICht ZW0tJmd0O3R5cGUgPT0gTUVNX1RZUEVfVVVJRCk8YnI+LSByZXR1cm4gdXVpZF90b19iaW4obWVt KTs8YnI+LSByZXR1cm4gLTE7PGJyPi0gY2FzZSBGSUVMRF9UWVBFX05VTUJFUjo8YnI+LSBpZiAo bWVtX2lzX251bShtZW0pKTxicj4tIHJldHVybiAwOzxicj4tIGlmIChtZW0tJmd0O3R5cGUgPT0g TUVNX1RZUEVfU1RSKTxicj4tIHJldHVybiBtZW1fdG9fbnVtYmVyKG1lbSk7PGJyPi0gcmV0dXJu IC0xOzxicj4tIGNhc2UgRklFTERfVFlQRV9NQVA6PGJyPi0gaWYgKG1lbS0mZ3Q7dHlwZSA9PSBN RU1fVFlQRV9NQVApPGJyPi0gcmV0dXJuIDA7PGJyPi0gcmV0dXJuIC0xOzxicj4tIGNhc2UgRklF TERfVFlQRV9BUlJBWTo8YnI+LSBpZiAobWVtLSZndDt0eXBlID09IE1FTV9UWVBFX0FSUkFZKTxi cj4tIHJldHVybiAwOzxicj4tIHJldHVybiAtMTs8YnI+LSBjYXNlIEZJRUxEX1RZUEVfU0NBTEFS Ojxicj4tIGlmICgobWVtLSZndDt0eXBlICZhbXA7IChNRU1fVFlQRV9NQVAgfCBNRU1fVFlQRV9B UlJBWSkpICE9IDApPGJyPi0gcmV0dXJuIC0xOzxicj4tIHJldHVybiAwOzxicj4tIGNhc2UgRklF TERfVFlQRV9VVUlEOjxicj4tIGlmIChtZW0tJmd0O3R5cGUgPT0gTUVNX1RZUEVfVVVJRCk8YnI+ LSByZXR1cm4gMDs8YnI+LSBpZiAobWVtLSZndDt0eXBlID09IE1FTV9UWVBFX1NUUik8YnI+LSBy ZXR1cm4gc3RyX3RvX3V1aWQobWVtKTs8YnI+LSBpZiAobWVtLSZndDt0eXBlID09IE1FTV9UWVBF X0JJTik8YnI+LSByZXR1cm4gYmluX3RvX3V1aWQobWVtKTs8YnI+LSByZXR1cm4gLTE7PGJyPi0g ZGVmYXVsdDo8YnI+LSBicmVhazs8YnI+LSB9PGJyPi0gcmV0dXJuIC0xOzxicj4tfTxicj4tPGJy PiZuYnNwO2ludDxicj4mbmJzcDttZW1fY2FzdF9pbXBsaWNpdF9udW1iZXIoc3RydWN0IE1lbSAq bWVtLCBlbnVtIGZpZWxkX3R5cGUgdHlwZSk8YnI+Jm5ic3A7ezxicj5kaWZmIC0tZ2l0IGEvc3Jj L2JveC9zcWwvbWVtLmggYi9zcmMvYm94L3NxbC9tZW0uaDxicj5pbmRleCA0ZjYxY2JhYjAuLjk2 ODFmYzczNiAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC9zcWwvbWVtLmg8YnI+KysrIGIvc3JjL2Jv eC9zcWwvbWVtLmg8YnI+QEAgLTc0MCwxMiArNzQwLDYgQEAgbWVtX2Nhc3RfZXhwbGljaXQoc3Ry dWN0IE1lbSAqbWVtLCBlbnVtIGZpZWxkX3R5cGUgdHlwZSk7PGJyPiZuYnNwO2ludDxicj4mbmJz cDttZW1fY2FzdF9pbXBsaWNpdChzdHJ1Y3QgTWVtICptZW0sIGVudW0gZmllbGRfdHlwZSB0eXBl KTs8YnI+Jm5ic3A7PGJyPi0vKio8YnI+LSAqIENvbnZlcnQgdGhlIGdpdmVuIE1FTSB0byBnaXZl biB0eXBlIGFjY29yZGluZyB0byBsZWdhY3kgaW1wbGljaXQgY2FzdCBydWxlcy48YnI+LSAqLzxi cj4taW50PGJyPi1tZW1fY2FzdF9pbXBsaWNpdF9vbGQoc3RydWN0IE1lbSAqbWVtLCBlbnVtIGZp ZWxkX3R5cGUgdHlwZSk7PGJyPi08YnI+Jm5ic3A7LyoqPGJyPiZuYnNwOyZuYnNwOyogQ2FzdCBN RU0gd2l0aCBudW1lcmljIHZhbHVlIHRvIGdpdmVuIG51bWVyaWMgdHlwZS4gRG9lc24ndCBmYWls LiBUaGUgcmV0dXJuPGJyPiZuYnNwOyZuYnNwOyogdmFsdWUgaXMgJmx0OyAwIGlmIHRoZSBvcmln aW5hbCB2YWx1ZSBpcyBsZXNzIHRoYW4gdGhlIHJlc3VsdCwgJmd0OyAwIGlmIHRoZTxicj5kaWZm IC0tZ2l0IGEvc3JjL2JveC9zcWwvdmRiZS5oIGIvc3JjL2JveC9zcWwvdmRiZS5oPGJyPmluZGV4 IDExOGYxY2Q4My4uYmUxMTJjNzJkIDEwMDY0NDxicj4tLS0gYS9zcmMvYm94L3NxbC92ZGJlLmg8 YnI+KysrIGIvc3JjL2JveC9zcWwvdmRiZS5oPGJyPkBAIC0yNjYsNyArMjY2LDcgQEAgc3FsICpz cWxWZGJlRGIoVmRiZSAqKTs8YnI+Jm5ic3A7dm9pZCBzcWxWZGJlU2V0U3FsKFZkYmUgKiwgY29u c3QgY2hhciAqeiwgaW50IG4pOzxicj4mbmJzcDt2b2lkIHNxbFZkYmVTd2FwKFZkYmUgKiwgVmRi ZSAqKTs8YnI+Jm5ic3A7VmRiZU9wICpzcWxWZGJlVGFrZU9wQXJyYXkoVmRiZSAqLCBpbnQgKiwg aW50ICopOzxicj4tc3FsX3ZhbHVlICpzcWxWZGJlR2V0Qm91bmRWYWx1ZShWZGJlICosIGludCwg dTgpOzxicj4rc3FsX3ZhbHVlICpzcWxWZGJlR2V0Qm91bmRWYWx1ZShWZGJlICosIGludCk7PGJy PiZuYnNwO2NoYXIgKnNxbFZkYmVFeHBhbmRTcWwoVmRiZSAqLCBjb25zdCBjaGFyICopOzxicj4m bmJzcDs8YnI+Jm5ic3A7LyoqPGJyPmRpZmYgLS1naXQgYS9zcmMvYm94L3NxbC92ZGJlYXV4LmMg Yi9zcmMvYm94L3NxbC92ZGJlYXV4LmM8YnI+aW5kZXggNGExZmRiNjM3Li42MWJlN2I0ODkgMTAw NjQ0PGJyPi0tLSBhL3NyYy9ib3gvc3FsL3ZkYmVhdXguYzxicj4rKysgYi9zcmMvYm94L3NxbC92 ZGJlYXV4LmM8YnI+QEAgLTIzMjMsMTcgKzIzMjMsMTUgQEAgc3FsVmRiZURiKFZkYmUgKiB2KTxi cj4mbmJzcDsmbmJzcDsqIFRoZSByZXR1cm5lZCB2YWx1ZSBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBj YWxsZXIgdXNpbmcgc3FsVmFsdWVGcmVlKCkuPGJyPiZuYnNwOyZuYnNwOyovPGJyPiZuYnNwO3Nx bF92YWx1ZSAqPGJyPi1zcWxWZGJlR2V0Qm91bmRWYWx1ZShWZGJlICogdiwgaW50IGlWYXIsIHU4 IGFmZik8YnI+K3NxbFZkYmVHZXRCb3VuZFZhbHVlKHN0cnVjdCBWZGJlICp2LCBpbnQgaVZhcik8 YnI+Jm5ic3A7ezxicj4mbmJzcDsgYXNzZXJ0KGlWYXIgJmd0OyAwKTs8YnI+Jm5ic3A7IGlmICh2 KSB7PGJyPiZuYnNwOyBNZW0gKnBNZW0gPSAmYW1wO3YtJmd0O2FWYXJbaVZhciAtIDFdOzxicj4m bmJzcDsgaWYgKCFtZW1faXNfbnVsbChwTWVtKSkgezxicj4mbmJzcDsgc3FsX3ZhbHVlICpwUmV0 ID0gc3FsVmFsdWVOZXcodi0mZ3Q7ZGIpOzxicj4tIGlmIChwUmV0KSB7PGJyPisgaWYgKHBSZXQg IT0gTlVMTCk8YnI+Jm5ic3A7IG1lbV9jb3B5KHBSZXQsIHBNZW0pOzxicj4tIG1lbV9jYXN0X2lt cGxpY2l0X29sZChwUmV0LCBhZmYpOzxicj4tIH08YnI+Jm5ic3A7IHJldHVybiBwUmV0Ozxicj4m bmJzcDsgfTxicj4mbmJzcDsgfTxicj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9zcWwvd2hlcmVleHBy LmMgYi9zcmMvYm94L3NxbC93aGVyZWV4cHIuYzxicj5pbmRleCBmZTczMjllYTguLjY4NDlmMTNl YyAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC9zcWwvd2hlcmVleHByLmM8YnI+KysrIGIvc3JjL2Jv eC9zcWwvd2hlcmVleHByLmM8YnI+QEAgLTMwOSw5ICszMDksNyBAQCBsaWtlX29wdGltaXphdGlv bl9pc192YWxpZChQYXJzZSAqcFBhcnNlLCBFeHByICpwRXhwciwgRXhwciAqKnBwUHJlZml4LDxi cj4mbmJzcDsgaWYgKG9wID09IFRLX1ZBUklBQkxFKSB7PGJyPiZuYnNwOyBWZGJlICpwUmVwcmVw YXJlID0gcFBhcnNlLSZndDtwUmVwcmVwYXJlOzxicj4mbmJzcDsgaW50IGlDb2wgPSBwUmlnaHQt Jmd0O2lDb2x1bW47PGJyPi0gcFZhbCA9PGJyPi0gc3FsVmRiZUdldEJvdW5kVmFsdWUocFJlcHJl cGFyZSwgaUNvbCw8YnI+LSBGSUVMRF9UWVBFX1NDQUxBUik7PGJyPisgcFZhbCA9IHNxbFZkYmVH ZXRCb3VuZFZhbHVlKHBSZXByZXBhcmUsIGlDb2wpOzxicj4mbmJzcDsgaWYgKHBWYWwgIT0gTlVM TCAmYW1wOyZhbXA7IG1lbV9pc19zdHIocFZhbCkpIHs8YnI+Jm5ic3A7IGlmIChtZW1fYXNfc3Ry MChwVmFsKSA9PSBOVUxMKTxicj4mbmJzcDsgcmV0dXJuIC0xOzxicj4tLTxicj4yLjI1LjE8L2Rp dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj4mbmJzcDs8L2Rpdj48L0JPRFk+ PC9IVE1MPgo= ----ALT--8f208A5f3643636084059D15551bA4421628252394--