From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f179.i.mail.ru (f179.i.mail.ru [128.140.171.88]) (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 8B24A469719 for ; Wed, 26 Feb 2020 14:16:21 +0300 (MSK) From: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= MIME-Version: 1.0 Date: Wed, 26 Feb 2020 14:16:20 +0300 Reply-To: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= Message-ID: <1582715780.115016077@f179.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--85eC7c5795067B04714E7D725aE4a1Ed1582715780" In-Reply-To: <20200226101819.GA15433@atlas> References: <20200226101819.GA15433@atlas> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v4_3/4=5D_replication=3A_i?= =?utf-8?q?mplement_an_instance_id_filter_for_relay?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?S29uc3RhbnRpbiBPc2lwb3Y=?= Cc: kirichenkoga@gmail.com, tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org ----ALT--85eC7c5795067B04714E7D725aE4a1Ed1582715780 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CgoKwqAgCj7QodGA0LXQtNCwLCAyNiDRhNC10LLRgNCw0LvRjyAyMDIwLCAxMzoxOCArMDM6MDAg 0L7RgiBLb25zdGFudGluIE9zaXBvdiA8a29zdGphLm9zaXBvdkBnbWFpbC5jb20+Ogo+wqAKPgo+ R2VuZXJhbGx5IEkgdGhpbmsgeW91J3JlIG9uIHRyYWNrIHdpdGggdGhlc2Ugc2VyaWVzLgo+Cj5J IGJlbGlldmUgaXQgd2lsbCBhbHNvIGJlIHBvc3NpYmxlIHRvIHVzZSB0aGlzIGZpbHRlciB0byBu b3Qgc2VuZAo+cmVjb3JkcyB0d2ljZSBpbiBhIGZ1bGwgbWVzaC4gRS5nLiB5b3UgY291bGQgYWRk IGEgZm9sbG93IHVwIHBhdGNoCj53aGljaCBleGNsdWRlcyBmcm9tIHRoZSBzdWJzY3JpcHRpb24g cGVlcnMgdG8gd2hpY2ggd2UgaGF2ZSBhCj5kaXJlY3QgY29ubmVjdGlvbiwgdGhpcyB3aWxsIGVh c2lseSBzb2x2ZSB0aGUgZnVsbC1tZXNoCj5yZXBsaWNhdGlvbiB0cmFmZmljIGV4cGxvc2lvbiBp c3N1ZSwgdGhlIHJlcGxpY2Egd2lsbCBvbmx5IGdldCB0aGUKPmNoYW5nZXMgZGlyZWN0bHkgZnJv bSB0aGUgcGVlcnMuCsKgCk9rYXksIHdpbGwgZG8uCsKgCj4KPlBsZWFzZSBzb2xpY2l0IGEgZGV0 YWlsZWQgcmV2aWV3Lgo+Cj4qIHNlcmdlcGV0cmVua28gPCBzZXJnZXBldHJlbmtvQHRhcmFudG9v bC5vcmcgPiBbMjAvMDIvMjYgMTM6MDBdOgo+wqAKPj4gKyB1bnNpZ25lZCBpbnQgbWFwX3NpemUg PSBfX2J1aWx0aW5fcG9wY291bnQoaWRfbWFzayk7Cj4+ICsgaWYgKG1hcF9zaXplKSB7Cj4+ICsg c2l6ZSArPSBtcF9zaXplb2ZfYXJyYXkobWFwX3NpemUpICsgbWFwX3NpemUgKgo+PiArIG1wX3Np emVvZl91aW50KFZDTE9DS19NQVgpOwo+PiArIH0KPkJldHRlcjptYXNrX3NpemUuCj4KPkJlc2lk ZXMsIHRoaXMgaXMgcGVyaGFwcyBub3QgaWRfbWFzaywgYnV0IGlkX2ZpbHRlci4gVGhlCj5kaWZm ZXJlbmNlIGlzIHRoYXQgbWFzayBpcyBzb21ldGhpbmcgaW5jbHVzaXZlLCBpLmUuIGlmIHlvdSdy ZSBpbgo+dGhlIG1hc2ssIHlvdSBnZXQgdGhlIHJlY29yZHMsIHdoaWxlIGZpbHRlciBpcwo+c29t ZXRoaW5nIGV4Y2x1c2l2ZSwgaWYgeW91J3JlIG5vdCBpbiB0aGUgbWFzaywgeW91IGRvbid0IGdl dCB0aGUKPnJlY29yZHMuCsKgCk9rYXksCgpzL2lkX21hc2svaWRfZmlsdGVyCnMvbWFwX3NpemUv bWFza19zaXplCsKgCmRpZmYgLS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3NyYy9ib3gvYm94LmNj CmluZGV4IDIzMmQ3ODYxYi4uOTQyNjdjNzRlIDEwMDY0NAotLS0gYS9zcmMvYm94L2JveC5jYwor KysgYi9zcmMvYm94L2JveC5jYwpAQCAtMTc4Nyw5ICsxNzg3LDkgQEAgYm94X3Byb2Nlc3Nfc3Vi c2NyaWJlKHN0cnVjdCBldl9pbyAqaW8sIHN0cnVjdCB4cm93X2hlYWRlciAqaGVhZGVyKQrCoCB1 aW50MzJfdCByZXBsaWNhX3ZlcnNpb25faWQ7CsKgIHZjbG9ja19jcmVhdGUoJnJlcGxpY2FfY2xv Y2spOwrCoCBib29sIGFub247Ci0gdW5zaWduZWQgaW50IGlkX21hc2s7CisgdW5zaWduZWQgaW50 IGlkX2ZpbHRlcjsKwqAgeHJvd19kZWNvZGVfc3Vic2NyaWJlX3hjKGhlYWRlciwgTlVMTCwgJnJl cGxpY2FfdXVpZCwgJnJlcGxpY2FfY2xvY2ssCi0gJnJlcGxpY2FfdmVyc2lvbl9pZCwgJmFub24s ICZpZF9tYXNrKTsKKyAmcmVwbGljYV92ZXJzaW9uX2lkLCAmYW5vbiwgJmlkX2ZpbHRlcik7CsKg CsKgIC8qIEZvcmJpZCBjb25uZWN0aW9uIHRvIGl0c2VsZiAqLwrCoCBpZiAodHRfdXVpZF9pc19l cXVhbCgmcmVwbGljYV91dWlkLCAmSU5TVEFOQ0VfVVVJRCkpCkBAIC0xODcyLDcgKzE4NzIsNyBA QCBib3hfcHJvY2Vzc19zdWJzY3JpYmUoc3RydWN0IGV2X2lvICppbywgc3RydWN0IHhyb3dfaGVh ZGVyICpoZWFkZXIpCsKgICogaW5kZWZpbml0ZWx5KS4KwqAgKi8KwqAgcmVsYXlfc3Vic2NyaWJl KHJlcGxpY2EsIGlvLT5mZCwgaGVhZGVyLT5zeW5jLCAmcmVwbGljYV9jbG9jaywKLSByZXBsaWNh X3ZlcnNpb25faWQsIGlkX21hc2spOworIHJlcGxpY2FfdmVyc2lvbl9pZCwgaWRfZmlsdGVyKTsK fQrCoAp2b2lkCmRpZmYgLS1naXQgYS9zcmMvYm94L2lwcm90b19jb25zdGFudHMuaCBiL3NyYy9i b3gvaXByb3RvX2NvbnN0YW50cy5oCmluZGV4IDgxNGFkYTMwMy4uZjlkNDEzYTMxIDEwMDY0NAot LS0gYS9zcmMvYm94L2lwcm90b19jb25zdGFudHMuaAorKysgYi9zcmMvYm94L2lwcm90b19jb25z dGFudHMuaApAQCAtMTI1LDcgKzEyNSw3IEBAIGVudW0gaXByb3RvX2tleSB7CsKgIElQUk9UT19T VE1UX0lEID0gMHg0MywKwqAgLyogTGVhdmUgYSBnYXAgYmV0d2VlbiBTUUwga2V5cyBhbmQgYWRk aXRpb25hbCByZXF1ZXN0IGtleXMgKi8KwqAgSVBST1RPX1JFUExJQ0FfQU5PTiA9IDB4NTAsCi0g SVBST1RPX0lEX01BU0sgPSAweDUxLAorIElQUk9UT19JRF9GSUxURVIgPSAweDUxLArCoCBJUFJP VE9fS0VZX01BWAp9OwrCoApkaWZmIC0tZ2l0IGEvc3JjL2JveC9yZWxheS5jYyBiL3NyYy9ib3gv cmVsYXkuY2MKaW5kZXggODc5MzBhMDA2Li5kYzg5YjkwZTIgMTAwNjQ0Ci0tLSBhL3NyYy9ib3gv cmVsYXkuY2MKKysrIGIvc3JjL2JveC9yZWxheS5jYwpAQCAtMTA5LDcgKzEwOSw3IEBAIHN0cnVj dCByZWxheSB7CsKgIHN0cnVjdCB2Y2xvY2sgcmVjdl92Y2xvY2s7CsKgIC8qKiBSZXBsaWNhdG9p biBzbGF2ZSB2ZXJzaW9uLiAqLwrCoCB1aW50MzJfdCB2ZXJzaW9uX2lkOwotIHVuc2lnbmVkIGlu dCBpZF9tYXNrOworIHVuc2lnbmVkIGludCBpZF9maWx0ZXI7CsKgIC8qKgrCoCAqIExvY2FsIHZj bG9jayBhdCB0aGUgbW9tZW50IG9mIHN1YnNjcmliZSwgdXNlZCB0byBjaGVjawrCoCAqIGRhdGFz ZXQgb24gdGhlIG90aGVyIHNpZGUgYW5kIHNlbmQgbWlzc2luZyBkYXRhIHJvd3MgaWYgYW55LgpA QCAtNjc4LDcgKzY3OCw3IEBAIHJlbGF5X3N1YnNjcmliZV9mKHZhX2xpc3QgYXApCnZvaWQKcmVs YXlfc3Vic2NyaWJlKHN0cnVjdCByZXBsaWNhICpyZXBsaWNhLCBpbnQgZmQsIHVpbnQ2NF90IHN5 bmMsCsKgIHN0cnVjdCB2Y2xvY2sgKnJlcGxpY2FfY2xvY2ssIHVpbnQzMl90IHJlcGxpY2FfdmVy c2lvbl9pZCwKLSB1bnNpZ25lZCBpbnQgcmVwbGljYV9pZF9tYXNrKQorIHVuc2lnbmVkIGludCBy ZXBsaWNhX2lkX2ZpbHRlcikKewrCoCBhc3NlcnQocmVwbGljYS0+YW5vbiB8fCByZXBsaWNhLT5p ZCAhPSBSRVBMSUNBX0lEX05JTCk7CsKgIHN0cnVjdCByZWxheSAqcmVsYXkgPSByZXBsaWNhLT5y ZWxheTsKQEAgLTcwNyw3ICs3MDcsNyBAQCByZWxheV9zdWJzY3JpYmUoc3RydWN0IHJlcGxpY2Eg KnJlcGxpY2EsIGludCBmZCwgdWludDY0X3Qgc3luYywKwqAgdmNsb2NrX2NvcHkoJnJlbGF5LT50 eC52Y2xvY2ssIHJlcGxpY2FfY2xvY2spOwrCoCByZWxheS0+dmVyc2lvbl9pZCA9IHJlcGxpY2Ff dmVyc2lvbl9pZDsKwqAKLSByZWxheS0+aWRfbWFzayA9IHJlcGxpY2FfaWRfbWFzazsKKyByZWxh eS0+aWRfZmlsdGVyID0gcmVwbGljYV9pZF9maWx0ZXI7CsKgCsKgIGludCByYyA9IGNvcmRfY29z dGFydCgmcmVsYXktPmNvcmQsICJzdWJzY3JpYmUiLArCoCDCoCDCoCDCoCByZWxheV9zdWJzY3Jp YmVfZiwgcmVsYXkpOwpAQCAtNzY4LDcgKzc2OCw3IEBAIHJlbGF5X3NlbmRfcm93KHN0cnVjdCB4 c3RyZWFtICpzdHJlYW0sIHN0cnVjdCB4cm93X2hlYWRlciAqcGFja2V0KQrCoCBwYWNrZXQtPmJv ZHljbnQgPSAwOwrCoCB9CsKgIC8qIENoZWNrIGlmIHRoZSByb3dzIGZyb20gdGhlIGluc3RhbmNl IGFyZSBmaWx0ZXJlZC4gKi8KLSBpZiAoMSA8PCBwYWNrZXQtPnJlcGxpY2FfaWQgJiByZWxheS0+ aWRfbWFzaykKKyBpZiAoMSA8PCBwYWNrZXQtPnJlcGxpY2FfaWQgJiByZWxheS0+aWRfZmlsdGVy KQrCoCByZXR1cm47CsKgIC8qCsKgICogV2UncmUgZmVlZGluZyBhIFdBTCwgdGh1cyByZXNwb25k aW5nIHRvIEZJTkFMIEpPSU4gb3IgU1VCU0NSSUJFCmRpZmYgLS1naXQgYS9zcmMvYm94L3JlbGF5 LmggYi9zcmMvYm94L3JlbGF5LmgKaW5kZXggMjU1ZDI5ZDkwLi42ZTdlZWJhYjEgMTAwNjQ0Ci0t LSBhL3NyYy9ib3gvcmVsYXkuaAorKysgYi9zcmMvYm94L3JlbGF5LmgKQEAgLTEyNSw2ICsxMjUs NiBAQCByZWxheV9maW5hbF9qb2luKGludCBmZCwgdWludDY0X3Qgc3luYywgc3RydWN0IHZjbG9j ayAqc3RhcnRfdmNsb2NrLAp2b2lkCnJlbGF5X3N1YnNjcmliZShzdHJ1Y3QgcmVwbGljYSAqcmVw bGljYSwgaW50IGZkLCB1aW50NjRfdCBzeW5jLArCoCBzdHJ1Y3QgdmNsb2NrICpyZXBsaWNhX3Zj bG9jaywgdWludDMyX3QgcmVwbGljYV92ZXJzaW9uX2lkLAotIHVuc2lnbmVkIGludCByZXBsaWNh X2lkX21hc2spOworIHVuc2lnbmVkIGludCByZXBsaWNhX2lkX2ZpbHRlcik7CsKgCiNlbmRpZiAv KiBUQVJBTlRPT0xfUkVQTElDQVRJT05fUkVMQVlfSF9JTkNMVURFRCAqLwpkaWZmIC0tZ2l0IGEv c3JjL2JveC94cm93LmMgYi9zcmMvYm94L3hyb3cuYwppbmRleCBlZTc4ZWQyNGQuLjEwZWRiZjZh OCAxMDA2NDQKLS0tIGEvc3JjL2JveC94cm93LmMKKysrIGIvc3JjL2JveC94cm93LmMKQEAgLTEx OTUsMTMgKzExOTUsMTMgQEAgeHJvd19lbmNvZGVfc3Vic2NyaWJlKHN0cnVjdCB4cm93X2hlYWRl ciAqcm93LArCoCDCoCDCoCDCoCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqcmVwbGljYXNldF91dWlk LArCoCDCoCDCoCDCoCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCwKwqAgwqAg wqAgwqAgY29uc3Qgc3RydWN0IHZjbG9jayAqdmNsb2NrLCBib29sIGFub24sCi0gwqAgwqAgwqAg dW5zaWduZWQgaW50IGlkX21hc2spCisgwqAgwqAgwqAgdW5zaWduZWQgaW50IGlkX2ZpbHRlcikK ewrCoCBtZW1zZXQocm93LCAwLCBzaXplb2YoKnJvdykpOwrCoCBzaXplX3Qgc2l6ZSA9IFhST1df Qk9EWV9MRU5fTUFYICsgbXBfc2l6ZW9mX3ZjbG9jayh2Y2xvY2spOwotIHVuc2lnbmVkIGludCBt YXBfc2l6ZSA9IF9fYnVpbHRpbl9wb3Bjb3VudChpZF9tYXNrKTsKLSBpZiAobWFwX3NpemUpIHsK LSBzaXplICs9IG1wX3NpemVvZl9hcnJheShtYXBfc2l6ZSkgKyBtYXBfc2l6ZSAqCisgdW5zaWdu ZWQgaW50IGZpbHRlcl9zaXplID0gX19idWlsdGluX3BvcGNvdW50KGlkX2ZpbHRlcik7CisgaWYg KGZpbHRlcl9zaXplKSB7Cisgc2l6ZSArPSBtcF9zaXplb2ZfYXJyYXkoZmlsdGVyX3NpemUpICsg ZmlsdGVyX3NpemUgKgrCoCBtcF9zaXplb2ZfdWludChWQ0xPQ0tfTUFYKTsKwqAgfQrCoCBjaGFy ICpidWYgPSAoY2hhciAqKSByZWdpb25fYWxsb2MoJmZpYmVyKCktPmdjLCBzaXplKTsKQEAgLTEy MTAsNyArMTIxMCw3IEBAIHhyb3dfZW5jb2RlX3N1YnNjcmliZShzdHJ1Y3QgeHJvd19oZWFkZXIg KnJvdywKwqAgcmV0dXJuIC0xOwrCoCB9CsKgIGNoYXIgKmRhdGEgPSBidWY7Ci0gZGF0YSA9IG1w X2VuY29kZV9tYXAoZGF0YSwgbWFwX3NpemUgPyA2IDogNSk7CisgZGF0YSA9IG1wX2VuY29kZV9t YXAoZGF0YSwgZmlsdGVyX3NpemUgPyA2IDogNSk7CsKgIGRhdGEgPSBtcF9lbmNvZGVfdWludChk YXRhLCBJUFJPVE9fQ0xVU1RFUl9VVUlEKTsKwqAgZGF0YSA9IHhyb3dfZW5jb2RlX3V1aWQoZGF0 YSwgcmVwbGljYXNldF91dWlkKTsKwqAgZGF0YSA9IG1wX2VuY29kZV91aW50KGRhdGEsIElQUk9U T19JTlNUQU5DRV9VVUlEKTsKQEAgLTEyMjEsMTEgKzEyMjEsMTEgQEAgeHJvd19lbmNvZGVfc3Vi c2NyaWJlKHN0cnVjdCB4cm93X2hlYWRlciAqcm93LArCoCBkYXRhID0gbXBfZW5jb2RlX3VpbnQo ZGF0YSwgdGFyYW50b29sX3ZlcnNpb25faWQoKSk7CsKgIGRhdGEgPSBtcF9lbmNvZGVfdWludChk YXRhLCBJUFJPVE9fUkVQTElDQV9BTk9OKTsKwqAgZGF0YSA9IG1wX2VuY29kZV9ib29sKGRhdGEs IGFub24pOwotIGlmIChtYXBfc2l6ZSkgewotIGRhdGEgPSBtcF9lbmNvZGVfdWludChkYXRhLCBJ UFJPVE9fSURfTUFTSyk7Ci0gZGF0YSA9IG1wX2VuY29kZV9hcnJheShkYXRhLCBtYXBfc2l6ZSk7 CisgaWYgKGZpbHRlcl9zaXplKSB7CisgZGF0YSA9IG1wX2VuY29kZV91aW50KGRhdGEsIElQUk9U T19JRF9GSUxURVIpOworIGRhdGEgPSBtcF9lbmNvZGVfYXJyYXkoZGF0YSwgZmlsdGVyX3NpemUp OwrCoCBzdHJ1Y3QgYml0X2l0ZXJhdG9yIGl0OwotIGJpdF9pdGVyYXRvcl9pbml0KCZpdCwgJmlk X21hc2ssIHNpemVvZihpZF9tYXNrKSwKKyBiaXRfaXRlcmF0b3JfaW5pdCgmaXQsICZpZF9maWx0 ZXIsIHNpemVvZihpZF9maWx0ZXIpLArCoCDCoCB0cnVlKTsKwqAgZm9yIChzaXplX3QgaWQgPSBi aXRfaXRlcmF0b3JfbmV4dCgmaXQpOyBpZCA8IFZDTE9DS19NQVg7CsKgIMKgIMKgIGlkID0gYml0 X2l0ZXJhdG9yX25leHQoJml0KSkgewpAQCAtMTI0NCw3ICsxMjQ0LDcgQEAgaW50Cnhyb3dfZGVj b2RlX3N1YnNjcmliZShzdHJ1Y3QgeHJvd19oZWFkZXIgKnJvdywgc3RydWN0IHR0X3V1aWQgKnJl cGxpY2FzZXRfdXVpZCwKwqAgwqAgwqAgwqAgc3RydWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQs IHN0cnVjdCB2Y2xvY2sgKnZjbG9jaywKwqAgwqAgwqAgwqAgdWludDMyX3QgKnZlcnNpb25faWQs IGJvb2wgKmFub24sCi0gwqAgwqAgwqAgdW5zaWduZWQgaW50ICppZF9tYXNrKQorIMKgIMKgIMKg IHVuc2lnbmVkIGludCAqaWRfZmlsdGVyKQp7CsKgIGlmIChyb3ctPmJvZHljbnQgPT0gMCkgewrC oCBkaWFnX3NldChDbGllbnRFcnJvciwgRVJfSU5WQUxJRF9NU0dQQUNLLCAicmVxdWVzdCBib2R5 Iik7CkBAIC0xMjYyLDggKzEyNjIsOCBAQCB4cm93X2RlY29kZV9zdWJzY3JpYmUoc3RydWN0IHhy b3dfaGVhZGVyICpyb3csIHN0cnVjdCB0dF91dWlkICpyZXBsaWNhc2V0X3V1aWQsCsKgCsKgIGlm IChhbm9uKQrCoCAqYW5vbiA9IGZhbHNlOwotIGlmIChpZF9tYXNrKQotICppZF9tYXNrID0gMDsK KyBpZiAoaWRfZmlsdGVyKQorICppZF9maWx0ZXIgPSAwOwrCoCBkID0gZGF0YTsKwqAgdWludDMy X3QgbWFwX3NpemUgPSBtcF9kZWNvZGVfbWFwKCZkKTsKwqAgZm9yICh1aW50MzJfdCBpID0gMDsg aSA8IG1hcF9zaXplOyBpKyspIHsKQEAgLTEzMjEsMTkgKzEzMjEsMTkgQEAgeHJvd19kZWNvZGVf c3Vic2NyaWJlKHN0cnVjdCB4cm93X2hlYWRlciAqcm93LCBzdHJ1Y3QgdHRfdXVpZCAqcmVwbGlj YXNldF91dWlkLArCoCB9CsKgICphbm9uID0gbXBfZGVjb2RlX2Jvb2woJmQpOwrCoCBicmVhazsK LSBjYXNlIElQUk9UT19JRF9NQVNLOgotIGlmIChpZF9tYXNrID09IE5VTEwpCisgY2FzZSBJUFJP VE9fSURfRklMVEVSOgorIGlmIChpZF9maWx0ZXIgPT0gTlVMTCkKwqAgZ290byBza2lwOwrCoCBp ZiAobXBfdHlwZW9mKCpkKSAhPSBNUF9BUlJBWSkgewpkZWNvZGVfZXJyOiB4cm93X29uX2RlY29k ZV9lcnIoZGF0YSwgZW5kLCBFUl9JTlZBTElEX01TR1BBQ0ssCi0gwqAgImludmFsaWQgaWRfbWFz ayIpOworIMKgICJpbnZhbGlkIGlkX2ZpbHRlciIpOwrCoCByZXR1cm4gLTE7CsKgIH0KwqAgdWlu dDMyX3QgbGVuID0gbXBfZGVjb2RlX2FycmF5KCZkKTsKwqAgZm9yKHVpbnQzMl90IGkgPSAwOyBp IDwgbGVuOyArK2kpIHsKwqAgaWYgKG1wX3R5cGVvZigqZCkgIT0gTVBfVUlOVCkKwqAgZ290byBk ZWNvZGVfZXJyOwotICppZF9tYXNrIHw9IDEgPDwgbXBfZGVjb2RlX3VpbnQoJmQpOworICppZF9m aWx0ZXIgfD0gMSA8PCBtcF9kZWNvZGVfdWludCgmZCk7CsKgIH0KwqAgYnJlYWs7CsKgIGRlZmF1 bHQ6IHNraXA6CmRpZmYgLS1naXQgYS9zcmMvYm94L3hyb3cuaCBiL3NyYy9ib3gveHJvdy5oCmlu ZGV4IGFiNWZjOTQ0YS4uOGU1NzE2YjMwIDEwMDY0NAotLS0gYS9zcmMvYm94L3hyb3cuaAorKysg Yi9zcmMvYm94L3hyb3cuaApAQCAtMzIyLDcgKzMyMiw3IEBAIHhyb3dfZW5jb2RlX3JlZ2lzdGVy KHN0cnVjdCB4cm93X2hlYWRlciAqcm93LArCoCAqIEBwYXJhbSBpbnN0YW5jZV91dWlkIEluc3Rh bmNlIHV1aWQuCsKgICogQHBhcmFtIHZjbG9jayBSZXBsaWNhdGlvbiBjbG9jay4KwqAgKiBAcGFy YW0gYW5vbiBXaGV0aGVyIGl0IGlzIGFuIGFub255bW91cyBzdWJzY3JpYmUgcmVxdWVzdCBvciBu b3QuCi0gKiBAcGFyYW0gaWRfbWFzayBBIExpc3Qgb2YgcmVwbGljYSBpZHMgdG8gc2tpcCByb3dz IGZyb20KKyAqIEBwYXJhbSBpZF9maWx0ZXIgQSBMaXN0IG9mIHJlcGxpY2EgaWRzIHRvIHNraXAg cm93cyBmcm9tCsKgICrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB3aGVuIGZlZWRp bmcgYSByZXBsaWNhLgrCoCAqCsKgICogQHJldHZhbMKgIDAgU3VjY2Vzcy4KQEAgLTMzMyw3ICsz MzMsNyBAQCB4cm93X2VuY29kZV9zdWJzY3JpYmUoc3RydWN0IHhyb3dfaGVhZGVyICpyb3csCsKg IMKgIMKgIMKgIGNvbnN0IHN0cnVjdCB0dF91dWlkICpyZXBsaWNhc2V0X3V1aWQsCsKgIMKgIMKg IMKgIGNvbnN0IHN0cnVjdCB0dF91dWlkICppbnN0YW5jZV91dWlkLArCoCDCoCDCoCDCoCBjb25z dCBzdHJ1Y3QgdmNsb2NrICp2Y2xvY2ssIGJvb2wgYW5vbiwKLSDCoCDCoCDCoCB1bnNpZ25lZCBp bnQgaWRfbWFzayk7CisgwqAgwqAgwqAgdW5zaWduZWQgaW50IGlkX2ZpbHRlcik7CsKgCi8qKgrC oCAqIERlY29kZSBTVUJTQ1JJQkUgY29tbWFuZC4KQEAgLTM0Myw3ICszNDMsNyBAQCB4cm93X2Vu Y29kZV9zdWJzY3JpYmUoc3RydWN0IHhyb3dfaGVhZGVyICpyb3csCsKgICogQHBhcmFtW291dF0g dmNsb2NrLgrCoCAqIEBwYXJhbVtvdXRdIHZlcnNpb25faWQuCsKgICogQHBhcmFtW291dF0gYW5v biBXaGV0aGVyIGl0IGlzIGFuIGFub255bW91cyBzdWJzY3JpYmUuCi0gKiBAcGFyYW1bb3V0XSBp ZF9tYXNrIEEgbGlzdCBvZiBpZHMgdG8gc2tpcCByb3dzIGZyb20gd2hlbgorICogQHBhcmFtW291 dF0gaWRfZmlsdGVyIEEgbGlzdCBvZiBpZHMgdG8gc2tpcCByb3dzIGZyb20gd2hlbgrCoCAqIMKg IMKgIMKgIMKgIMKgIMKgIGZlZWRpbmcgcmVwbGljYS4KwqAgKgrCoCAqIEByZXR2YWzCoCAwIFN1 Y2Nlc3MuCkBAIC0zNTMsNyArMzUzLDcgQEAgaW50Cnhyb3dfZGVjb2RlX3N1YnNjcmliZShzdHJ1 Y3QgeHJvd19oZWFkZXIgKnJvdywgc3RydWN0IHR0X3V1aWQgKnJlcGxpY2FzZXRfdXVpZCwKwqAg wqAgwqAgwqAgc3RydWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsIHN0cnVjdCB2Y2xvY2sgKnZj bG9jaywKwqAgwqAgwqAgwqAgdWludDMyX3QgKnZlcnNpb25faWQsIGJvb2wgKmFub24sCi0gwqAg wqAgwqAgdW5zaWduZWQgaW50ICppZF9tYXNrKTsKKyDCoCDCoCDCoCB1bnNpZ25lZCBpbnQgKmlk X2ZpbHRlcik7CsKgCi8qKgrCoCAqIEVuY29kZSBKT0lOIGNvbW1hbmQuCkBAIC04MjcsMTAgKzgy NywxMCBAQCB4cm93X2VuY29kZV9zdWJzY3JpYmVfeGMoc3RydWN0IHhyb3dfaGVhZGVyICpyb3cs CsKgIGNvbnN0IHN0cnVjdCB0dF91dWlkICpyZXBsaWNhc2V0X3V1aWQsCsKgIGNvbnN0IHN0cnVj dCB0dF91dWlkICppbnN0YW5jZV91dWlkLArCoCBjb25zdCBzdHJ1Y3QgdmNsb2NrICp2Y2xvY2ss IGJvb2wgYW5vbiwKLSB1bnNpZ25lZCBpbnQgaWRfbWFzaykKKyB1bnNpZ25lZCBpbnQgaWRfZmls dGVyKQp7CsKgIGlmICh4cm93X2VuY29kZV9zdWJzY3JpYmUocm93LCByZXBsaWNhc2V0X3V1aWQs IGluc3RhbmNlX3V1aWQsCi0gwqAgdmNsb2NrLCBhbm9uLCBpZF9tYXNrKSAhPSAwKQorIMKgIHZj bG9jaywgYW5vbiwgaWRfZmlsdGVyKSAhPSAwKQrCoCBkaWFnX3JhaXNlKCk7Cn0KwqAKQEAgLTg0 MCwxMSArODQwLDExIEBAIHhyb3dfZGVjb2RlX3N1YnNjcmliZV94YyhzdHJ1Y3QgeHJvd19oZWFk ZXIgKnJvdywKwqAgc3RydWN0IHR0X3V1aWQgKnJlcGxpY2FzZXRfdXVpZCwKwqAgc3RydWN0IHR0 X3V1aWQgKmluc3RhbmNlX3V1aWQsIHN0cnVjdCB2Y2xvY2sgKnZjbG9jaywKwqAgdWludDMyX3Qg KnJlcGxpY2FfdmVyc2lvbl9pZCwgYm9vbCAqYW5vbiwKLSB1bnNpZ25lZCBpbnQgKmlkX21hc2sp CisgdW5zaWduZWQgaW50ICppZF9maWx0ZXIpCnsKwqAgaWYgKHhyb3dfZGVjb2RlX3N1YnNjcmli ZShyb3csIHJlcGxpY2FzZXRfdXVpZCwgaW5zdGFuY2VfdXVpZCwKwqAgwqAgdmNsb2NrLCByZXBs aWNhX3ZlcnNpb25faWQsIGFub24sCi0gwqAgaWRfbWFzaykgIT0gMCkKKyDCoCBpZF9maWx0ZXIp ICE9IDApCsKgIGRpYWdfcmFpc2UoKTsKfQo+Cj4KPi0tCj5Lb25zdGFudGluIE9zaXBvdiwgTW9z Y293LCBSdXNzaWEgCsKgCsKgCi0tClNlcmdlwqBQZXRyZW5rbwrCoA== ----ALT--85eC7c5795067B04714E7D725aE4a1Ed1582715780 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+PGJyPjxicj4mbmJzcDs8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVy LWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7 Ij7QodGA0LXQtNCwLCAyNiDRhNC10LLRgNCw0LvRjyAyMDIwLCAxMzoxOCArMDM6MDAg0L7RgiBL b25zdGFudGluIE9zaXBvdiAmbHQ7a29zdGphLm9zaXBvdkBnbWFpbC5jb20mZ3Q7Ojxicj4mbmJz cDs8ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PHN0eWxl IHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU4MjcxMjMwMzEx OTE3NDAwMjhfQk9EWSI+PGJyPkdlbmVyYWxseSBJIHRoaW5rIHlvdSdyZSBvbiB0cmFjayB3aXRo IHRoZXNlIHNlcmllcy48YnI+PGJyPkkgYmVsaWV2ZSBpdCB3aWxsIGFsc28gYmUgcG9zc2libGUg dG8gdXNlIHRoaXMgZmlsdGVyIHRvIG5vdCBzZW5kPGJyPnJlY29yZHMgdHdpY2UgaW4gYSBmdWxs IG1lc2guIEUuZy4geW91IGNvdWxkIGFkZCBhIGZvbGxvdyB1cCBwYXRjaDxicj53aGljaCBleGNs dWRlcyBmcm9tIHRoZSBzdWJzY3JpcHRpb24gcGVlcnMgdG8gd2hpY2ggd2UgaGF2ZSBhPGJyPmRp cmVjdCBjb25uZWN0aW9uLCB0aGlzIHdpbGwgZWFzaWx5IHNvbHZlIHRoZSBmdWxsLW1lc2g8YnI+ cmVwbGljYXRpb24gdHJhZmZpYyBleHBsb3Npb24gaXNzdWUsIHRoZSByZXBsaWNhIHdpbGwgb25s eSBnZXQgdGhlPGJyPmNoYW5nZXMgZGlyZWN0bHkgZnJvbSB0aGUgcGVlcnMuPC9kaXY+PC9kaXY+ PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5Pa2F5 LCB3aWxsIGRvLjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0i Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAw IDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48 ZGl2Pjxicj5QbGVhc2Ugc29saWNpdCBhIGRldGFpbGVkIHJldmlldy48YnI+PGJyPiogc2VyZ2Vw ZXRyZW5rbyAmbHQ7PGEgaHJlZj0iL2NvbXBvc2U/VG89c2VyZ2VwZXRyZW5rb0B0YXJhbnRvb2wu b3JnIj5zZXJnZXBldHJlbmtvQHRhcmFudG9vbC5vcmc8L2E+Jmd0OyBbMjAvMDIvMjYgMTM6MDBd Ojxicj4mbmJzcDs8ZGl2IGNsYXNzPSJtYWlsLXF1b3RlLWNvbGxhcHNlIj4mZ3Q7ICsgdW5zaWdu ZWQgaW50IG1hcF9zaXplID0gX19idWlsdGluX3BvcGNvdW50KGlkX21hc2spOzxicj4mZ3Q7ICsg aWYgKG1hcF9zaXplKSB7PGJyPiZndDsgKyBzaXplICs9IG1wX3NpemVvZl9hcnJheShtYXBfc2l6 ZSkgKyBtYXBfc2l6ZSAqPGJyPiZndDsgKyBtcF9zaXplb2ZfdWludChWQ0xPQ0tfTUFYKTs8YnI+ Jmd0OyArIH08L2Rpdj48YnI+QmV0dGVyOm1hc2tfc2l6ZS48YnI+PGJyPkJlc2lkZXMsIHRoaXMg aXMgcGVyaGFwcyBub3QgaWRfbWFzaywgYnV0IGlkX2ZpbHRlci4gVGhlPGJyPmRpZmZlcmVuY2Ug aXMgdGhhdCBtYXNrIGlzIHNvbWV0aGluZyBpbmNsdXNpdmUsIGkuZS4gaWYgeW91J3JlIGluPGJy PnRoZSBtYXNrLCB5b3UgZ2V0IHRoZSByZWNvcmRzLCB3aGlsZSBmaWx0ZXIgaXM8YnI+c29tZXRo aW5nIGV4Y2x1c2l2ZSwgaWYgeW91J3JlIG5vdCBpbiB0aGUgbWFzaywgeW91IGRvbid0IGdldCB0 aGU8YnI+cmVjb3Jkcy48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+ PGRpdj4mbmJzcDs8L2Rpdj48ZGl2Pk9rYXksPGJyPjxicj5zL2lkX21hc2svaWRfZmlsdGVyPGJy PnMvbWFwX3NpemUvbWFza19zaXplPGJyPiZuYnNwOzxwPmRpZmYgLS1naXQgYS9zcmMvYm94L2Jv eC5jYyBiL3NyYy9ib3gvYm94LmNjPC9wPjxwPmluZGV4IDIzMmQ3ODYxYi4uOTQyNjdjNzRlIDEw MDY0NDwvcD48cD4tLS0gYS9zcmMvYm94L2JveC5jYzwvcD48cD4rKysgYi9zcmMvYm94L2JveC5j YzwvcD48cD5AQCAtMTc4Nyw5ICsxNzg3LDkgQEAgYm94X3Byb2Nlc3Nfc3Vic2NyaWJlKHN0cnVj dCBldl9pbyAqaW8sIHN0cnVjdCB4cm93X2hlYWRlciAqaGVhZGVyKTwvcD48cD4mbmJzcDsgdWlu dDMyX3QgcmVwbGljYV92ZXJzaW9uX2lkOzwvcD48cD4mbmJzcDsgdmNsb2NrX2NyZWF0ZSgmYW1w O3JlcGxpY2FfY2xvY2spOzwvcD48cD4mbmJzcDsgYm9vbCBhbm9uOzwvcD48cD4tIHVuc2lnbmVk IGludCBpZF9tYXNrOzwvcD48cD4rIHVuc2lnbmVkIGludCBpZF9maWx0ZXI7PC9wPjxwPiZuYnNw OyB4cm93X2RlY29kZV9zdWJzY3JpYmVfeGMoaGVhZGVyLCBOVUxMLCAmYW1wO3JlcGxpY2FfdXVp ZCwgJmFtcDtyZXBsaWNhX2Nsb2NrLDwvcD48cD4tICZhbXA7cmVwbGljYV92ZXJzaW9uX2lkLCAm YW1wO2Fub24sICZhbXA7aWRfbWFzayk7PC9wPjxwPisgJmFtcDtyZXBsaWNhX3ZlcnNpb25faWQs ICZhbXA7YW5vbiwgJmFtcDtpZF9maWx0ZXIpOzwvcD48cD4mbmJzcDs8L3A+PHA+Jm5ic3A7IC8q IEZvcmJpZCBjb25uZWN0aW9uIHRvIGl0c2VsZiAqLzwvcD48cD4mbmJzcDsgaWYgKHR0X3V1aWRf aXNfZXF1YWwoJmFtcDtyZXBsaWNhX3V1aWQsICZhbXA7SU5TVEFOQ0VfVVVJRCkpPC9wPjxwPkBA IC0xODcyLDcgKzE4NzIsNyBAQCBib3hfcHJvY2Vzc19zdWJzY3JpYmUoc3RydWN0IGV2X2lvICpp bywgc3RydWN0IHhyb3dfaGVhZGVyICpoZWFkZXIpPC9wPjxwPiZuYnNwOyAqIGluZGVmaW5pdGVs eSkuPC9wPjxwPiZuYnNwOyAqLzwvcD48cD4mbmJzcDsgcmVsYXlfc3Vic2NyaWJlKHJlcGxpY2Es IGlvLSZndDtmZCwgaGVhZGVyLSZndDtzeW5jLCAmYW1wO3JlcGxpY2FfY2xvY2ssPC9wPjxwPi0g cmVwbGljYV92ZXJzaW9uX2lkLCBpZF9tYXNrKTs8L3A+PHA+KyByZXBsaWNhX3ZlcnNpb25faWQs IGlkX2ZpbHRlcik7PC9wPjxwPn08L3A+PHA+Jm5ic3A7PC9wPjxwPnZvaWQ8L3A+PHA+ZGlmZiAt LWdpdCBhL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oIGIvc3JjL2JveC9pcHJvdG9fY29uc3Rh bnRzLmg8L3A+PHA+aW5kZXggODE0YWRhMzAzLi5mOWQ0MTNhMzEgMTAwNjQ0PC9wPjxwPi0tLSBh L3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oPC9wPjxwPisrKyBiL3NyYy9ib3gvaXByb3RvX2Nv bnN0YW50cy5oPC9wPjxwPkBAIC0xMjUsNyArMTI1LDcgQEAgZW51bSBpcHJvdG9fa2V5IHs8L3A+ PHA+Jm5ic3A7IElQUk9UT19TVE1UX0lEID0gMHg0Myw8L3A+PHA+Jm5ic3A7IC8qIExlYXZlIGEg Z2FwIGJldHdlZW4gU1FMIGtleXMgYW5kIGFkZGl0aW9uYWwgcmVxdWVzdCBrZXlzICovPC9wPjxw PiZuYnNwOyBJUFJPVE9fUkVQTElDQV9BTk9OID0gMHg1MCw8L3A+PHA+LSBJUFJPVE9fSURfTUFT SyA9IDB4NTEsPC9wPjxwPisgSVBST1RPX0lEX0ZJTFRFUiA9IDB4NTEsPC9wPjxwPiZuYnNwOyBJ UFJPVE9fS0VZX01BWDwvcD48cD59OzwvcD48cD4mbmJzcDs8L3A+PHA+ZGlmZiAtLWdpdCBhL3Ny Yy9ib3gvcmVsYXkuY2MgYi9zcmMvYm94L3JlbGF5LmNjPC9wPjxwPmluZGV4IDg3OTMwYTAwNi4u ZGM4OWI5MGUyIDEwMDY0NDwvcD48cD4tLS0gYS9zcmMvYm94L3JlbGF5LmNjPC9wPjxwPisrKyBi L3NyYy9ib3gvcmVsYXkuY2M8L3A+PHA+QEAgLTEwOSw3ICsxMDksNyBAQCBzdHJ1Y3QgcmVsYXkg ezwvcD48cD4mbmJzcDsgc3RydWN0IHZjbG9jayByZWN2X3ZjbG9jazs8L3A+PHA+Jm5ic3A7IC8q KiBSZXBsaWNhdG9pbiBzbGF2ZSB2ZXJzaW9uLiAqLzwvcD48cD4mbmJzcDsgdWludDMyX3QgdmVy c2lvbl9pZDs8L3A+PHA+LSB1bnNpZ25lZCBpbnQgaWRfbWFzazs8L3A+PHA+KyB1bnNpZ25lZCBp bnQgaWRfZmlsdGVyOzwvcD48cD4mbmJzcDsgLyoqPC9wPjxwPiZuYnNwOyAqIExvY2FsIHZjbG9j ayBhdCB0aGUgbW9tZW50IG9mIHN1YnNjcmliZSwgdXNlZCB0byBjaGVjazwvcD48cD4mbmJzcDsg KiBkYXRhc2V0IG9uIHRoZSBvdGhlciBzaWRlIGFuZCBzZW5kIG1pc3NpbmcgZGF0YSByb3dzIGlm IGFueS48L3A+PHA+QEAgLTY3OCw3ICs2NzgsNyBAQCByZWxheV9zdWJzY3JpYmVfZih2YV9saXN0 IGFwKTwvcD48cD52b2lkPC9wPjxwPnJlbGF5X3N1YnNjcmliZShzdHJ1Y3QgcmVwbGljYSAqcmVw bGljYSwgaW50IGZkLCB1aW50NjRfdCBzeW5jLDwvcD48cD4mbmJzcDsgc3RydWN0IHZjbG9jayAq cmVwbGljYV9jbG9jaywgdWludDMyX3QgcmVwbGljYV92ZXJzaW9uX2lkLDwvcD48cD4tIHVuc2ln bmVkIGludCByZXBsaWNhX2lkX21hc2spPC9wPjxwPisgdW5zaWduZWQgaW50IHJlcGxpY2FfaWRf ZmlsdGVyKTwvcD48cD57PC9wPjxwPiZuYnNwOyBhc3NlcnQocmVwbGljYS0mZ3Q7YW5vbiB8fCBy ZXBsaWNhLSZndDtpZCAhPSBSRVBMSUNBX0lEX05JTCk7PC9wPjxwPiZuYnNwOyBzdHJ1Y3QgcmVs YXkgKnJlbGF5ID0gcmVwbGljYS0mZ3Q7cmVsYXk7PC9wPjxwPkBAIC03MDcsNyArNzA3LDcgQEAg cmVsYXlfc3Vic2NyaWJlKHN0cnVjdCByZXBsaWNhICpyZXBsaWNhLCBpbnQgZmQsIHVpbnQ2NF90 IHN5bmMsPC9wPjxwPiZuYnNwOyB2Y2xvY2tfY29weSgmYW1wO3JlbGF5LSZndDt0eC52Y2xvY2ss IHJlcGxpY2FfY2xvY2spOzwvcD48cD4mbmJzcDsgcmVsYXktJmd0O3ZlcnNpb25faWQgPSByZXBs aWNhX3ZlcnNpb25faWQ7PC9wPjxwPiZuYnNwOzwvcD48cD4tIHJlbGF5LSZndDtpZF9tYXNrID0g cmVwbGljYV9pZF9tYXNrOzwvcD48cD4rIHJlbGF5LSZndDtpZF9maWx0ZXIgPSByZXBsaWNhX2lk X2ZpbHRlcjs8L3A+PHA+Jm5ic3A7PC9wPjxwPiZuYnNwOyBpbnQgcmMgPSBjb3JkX2Nvc3RhcnQo JmFtcDtyZWxheS0mZ3Q7Y29yZCwgInN1YnNjcmliZSIsPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyByZWxheV9zdWJzY3JpYmVfZiwgcmVsYXkpOzwvcD48cD5AQCAtNzY4LDcgKzc2 OCw3IEBAIHJlbGF5X3NlbmRfcm93KHN0cnVjdCB4c3RyZWFtICpzdHJlYW0sIHN0cnVjdCB4cm93 X2hlYWRlciAqcGFja2V0KTwvcD48cD4mbmJzcDsgcGFja2V0LSZndDtib2R5Y250ID0gMDs8L3A+ PHA+Jm5ic3A7IH08L3A+PHA+Jm5ic3A7IC8qIENoZWNrIGlmIHRoZSByb3dzIGZyb20gdGhlIGlu c3RhbmNlIGFyZSBmaWx0ZXJlZC4gKi88L3A+PHA+LSBpZiAoMSAmbHQ7Jmx0OyBwYWNrZXQtJmd0 O3JlcGxpY2FfaWQgJmFtcDsgcmVsYXktJmd0O2lkX21hc2spPC9wPjxwPisgaWYgKDEgJmx0OyZs dDsgcGFja2V0LSZndDtyZXBsaWNhX2lkICZhbXA7IHJlbGF5LSZndDtpZF9maWx0ZXIpPC9wPjxw PiZuYnNwOyByZXR1cm47PC9wPjxwPiZuYnNwOyAvKjwvcD48cD4mbmJzcDsgKiBXZSdyZSBmZWVk aW5nIGEgV0FMLCB0aHVzIHJlc3BvbmRpbmcgdG8gRklOQUwgSk9JTiBvciBTVUJTQ1JJQkU8L3A+ PHA+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvcmVsYXkuaCBiL3NyYy9ib3gvcmVsYXkuaDwvcD48cD5p bmRleCAyNTVkMjlkOTAuLjZlN2VlYmFiMSAxMDA2NDQ8L3A+PHA+LS0tIGEvc3JjL2JveC9yZWxh eS5oPC9wPjxwPisrKyBiL3NyYy9ib3gvcmVsYXkuaDwvcD48cD5AQCAtMTI1LDYgKzEyNSw2IEBA IHJlbGF5X2ZpbmFsX2pvaW4oaW50IGZkLCB1aW50NjRfdCBzeW5jLCBzdHJ1Y3QgdmNsb2NrICpz dGFydF92Y2xvY2ssPC9wPjxwPnZvaWQ8L3A+PHA+cmVsYXlfc3Vic2NyaWJlKHN0cnVjdCByZXBs aWNhICpyZXBsaWNhLCBpbnQgZmQsIHVpbnQ2NF90IHN5bmMsPC9wPjxwPiZuYnNwOyBzdHJ1Y3Qg dmNsb2NrICpyZXBsaWNhX3ZjbG9jaywgdWludDMyX3QgcmVwbGljYV92ZXJzaW9uX2lkLDwvcD48 cD4tIHVuc2lnbmVkIGludCByZXBsaWNhX2lkX21hc2spOzwvcD48cD4rIHVuc2lnbmVkIGludCBy ZXBsaWNhX2lkX2ZpbHRlcik7PC9wPjxwPiZuYnNwOzwvcD48cD4jZW5kaWYgLyogVEFSQU5UT09M X1JFUExJQ0FUSU9OX1JFTEFZX0hfSU5DTFVERUQgKi88L3A+PHA+ZGlmZiAtLWdpdCBhL3NyYy9i b3gveHJvdy5jIGIvc3JjL2JveC94cm93LmM8L3A+PHA+aW5kZXggZWU3OGVkMjRkLi4xMGVkYmY2 YTggMTAwNjQ0PC9wPjxwPi0tLSBhL3NyYy9ib3gveHJvdy5jPC9wPjxwPisrKyBiL3NyYy9ib3gv eHJvdy5jPC9wPjxwPkBAIC0xMTk1LDEzICsxMTk1LDEzIEBAIHhyb3dfZW5jb2RlX3N1YnNjcmli ZShzdHJ1Y3QgeHJvd19oZWFkZXIgKnJvdyw8L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNvbnN0IHN0cnVjdCB0dF91dWlkICpyZXBsaWNhc2V0X3V1aWQsPC9wPjxwPiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCw8 L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNvbnN0IHN0cnVjdCB2Y2xvY2sgKnZj bG9jaywgYm9vbCBhbm9uLDwvcD48cD4tICZuYnNwOyAmbmJzcDsgJm5ic3A7IHVuc2lnbmVkIGlu dCBpZF9tYXNrKTwvcD48cD4rICZuYnNwOyAmbmJzcDsgJm5ic3A7IHVuc2lnbmVkIGludCBpZF9m aWx0ZXIpPC9wPjxwPns8L3A+PHA+Jm5ic3A7IG1lbXNldChyb3csIDAsIHNpemVvZigqcm93KSk7 PC9wPjxwPiZuYnNwOyBzaXplX3Qgc2l6ZSA9IFhST1dfQk9EWV9MRU5fTUFYICsgbXBfc2l6ZW9m X3ZjbG9jayh2Y2xvY2spOzwvcD48cD4tIHVuc2lnbmVkIGludCBtYXBfc2l6ZSA9IF9fYnVpbHRp bl9wb3Bjb3VudChpZF9tYXNrKTs8L3A+PHA+LSBpZiAobWFwX3NpemUpIHs8L3A+PHA+LSBzaXpl ICs9IG1wX3NpemVvZl9hcnJheShtYXBfc2l6ZSkgKyBtYXBfc2l6ZSAqPC9wPjxwPisgdW5zaWdu ZWQgaW50IGZpbHRlcl9zaXplID0gX19idWlsdGluX3BvcGNvdW50KGlkX2ZpbHRlcik7PC9wPjxw PisgaWYgKGZpbHRlcl9zaXplKSB7PC9wPjxwPisgc2l6ZSArPSBtcF9zaXplb2ZfYXJyYXkoZmls dGVyX3NpemUpICsgZmlsdGVyX3NpemUgKjwvcD48cD4mbmJzcDsgbXBfc2l6ZW9mX3VpbnQoVkNM T0NLX01BWCk7PC9wPjxwPiZuYnNwOyB9PC9wPjxwPiZuYnNwOyBjaGFyICpidWYgPSAoY2hhciAq KSByZWdpb25fYWxsb2MoJmFtcDtmaWJlcigpLSZndDtnYywgc2l6ZSk7PC9wPjxwPkBAIC0xMjEw LDcgKzEyMTAsNyBAQCB4cm93X2VuY29kZV9zdWJzY3JpYmUoc3RydWN0IHhyb3dfaGVhZGVyICpy b3csPC9wPjxwPiZuYnNwOyByZXR1cm4gLTE7PC9wPjxwPiZuYnNwOyB9PC9wPjxwPiZuYnNwOyBj aGFyICpkYXRhID0gYnVmOzwvcD48cD4tIGRhdGEgPSBtcF9lbmNvZGVfbWFwKGRhdGEsIG1hcF9z aXplID8gNiA6IDUpOzwvcD48cD4rIGRhdGEgPSBtcF9lbmNvZGVfbWFwKGRhdGEsIGZpbHRlcl9z aXplID8gNiA6IDUpOzwvcD48cD4mbmJzcDsgZGF0YSA9IG1wX2VuY29kZV91aW50KGRhdGEsIElQ Uk9UT19DTFVTVEVSX1VVSUQpOzwvcD48cD4mbmJzcDsgZGF0YSA9IHhyb3dfZW5jb2RlX3V1aWQo ZGF0YSwgcmVwbGljYXNldF91dWlkKTs8L3A+PHA+Jm5ic3A7IGRhdGEgPSBtcF9lbmNvZGVfdWlu dChkYXRhLCBJUFJPVE9fSU5TVEFOQ0VfVVVJRCk7PC9wPjxwPkBAIC0xMjIxLDExICsxMjIxLDEx IEBAIHhyb3dfZW5jb2RlX3N1YnNjcmliZShzdHJ1Y3QgeHJvd19oZWFkZXIgKnJvdyw8L3A+PHA+ Jm5ic3A7IGRhdGEgPSBtcF9lbmNvZGVfdWludChkYXRhLCB0YXJhbnRvb2xfdmVyc2lvbl9pZCgp KTs8L3A+PHA+Jm5ic3A7IGRhdGEgPSBtcF9lbmNvZGVfdWludChkYXRhLCBJUFJPVE9fUkVQTElD QV9BTk9OKTs8L3A+PHA+Jm5ic3A7IGRhdGEgPSBtcF9lbmNvZGVfYm9vbChkYXRhLCBhbm9uKTs8 L3A+PHA+LSBpZiAobWFwX3NpemUpIHs8L3A+PHA+LSBkYXRhID0gbXBfZW5jb2RlX3VpbnQoZGF0 YSwgSVBST1RPX0lEX01BU0spOzwvcD48cD4tIGRhdGEgPSBtcF9lbmNvZGVfYXJyYXkoZGF0YSwg bWFwX3NpemUpOzwvcD48cD4rIGlmIChmaWx0ZXJfc2l6ZSkgezwvcD48cD4rIGRhdGEgPSBtcF9l bmNvZGVfdWludChkYXRhLCBJUFJPVE9fSURfRklMVEVSKTs8L3A+PHA+KyBkYXRhID0gbXBfZW5j b2RlX2FycmF5KGRhdGEsIGZpbHRlcl9zaXplKTs8L3A+PHA+Jm5ic3A7IHN0cnVjdCBiaXRfaXRl cmF0b3IgaXQ7PC9wPjxwPi0gYml0X2l0ZXJhdG9yX2luaXQoJmFtcDtpdCwgJmFtcDtpZF9tYXNr LCBzaXplb2YoaWRfbWFzayksPC9wPjxwPisgYml0X2l0ZXJhdG9yX2luaXQoJmFtcDtpdCwgJmFt cDtpZF9maWx0ZXIsIHNpemVvZihpZF9maWx0ZXIpLDwvcD48cD4mbmJzcDsgJm5ic3A7IHRydWUp OzwvcD48cD4mbmJzcDsgZm9yIChzaXplX3QgaWQgPSBiaXRfaXRlcmF0b3JfbmV4dCgmYW1wO2l0 KTsgaWQgJmx0OyBWQ0xPQ0tfTUFYOzwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyBpZCA9IGJp dF9pdGVyYXRvcl9uZXh0KCZhbXA7aXQpKSB7PC9wPjxwPkBAIC0xMjQ0LDcgKzEyNDQsNyBAQCBp bnQ8L3A+PHA+eHJvd19kZWNvZGVfc3Vic2NyaWJlKHN0cnVjdCB4cm93X2hlYWRlciAqcm93LCBz dHJ1Y3QgdHRfdXVpZCAqcmVwbGljYXNldF91dWlkLDwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgc3RydWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsIHN0cnVjdCB2Y2xvY2sgKnZj bG9jayw8L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHVpbnQzMl90ICp2ZXJzaW9u X2lkLCBib29sICphbm9uLDwvcD48cD4tICZuYnNwOyAmbmJzcDsgJm5ic3A7IHVuc2lnbmVkIGlu dCAqaWRfbWFzayk8L3A+PHA+KyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB1bnNpZ25lZCBpbnQgKmlk X2ZpbHRlcik8L3A+PHA+ezwvcD48cD4mbmJzcDsgaWYgKHJvdy0mZ3Q7Ym9keWNudCA9PSAwKSB7 PC9wPjxwPiZuYnNwOyBkaWFnX3NldChDbGllbnRFcnJvciwgRVJfSU5WQUxJRF9NU0dQQUNLLCAi cmVxdWVzdCBib2R5Iik7PC9wPjxwPkBAIC0xMjYyLDggKzEyNjIsOCBAQCB4cm93X2RlY29kZV9z dWJzY3JpYmUoc3RydWN0IHhyb3dfaGVhZGVyICpyb3csIHN0cnVjdCB0dF91dWlkICpyZXBsaWNh c2V0X3V1aWQsPC9wPjxwPiZuYnNwOzwvcD48cD4mbmJzcDsgaWYgKGFub24pPC9wPjxwPiZuYnNw OyAqYW5vbiA9IGZhbHNlOzwvcD48cD4tIGlmIChpZF9tYXNrKTwvcD48cD4tICppZF9tYXNrID0g MDs8L3A+PHA+KyBpZiAoaWRfZmlsdGVyKTwvcD48cD4rICppZF9maWx0ZXIgPSAwOzwvcD48cD4m bmJzcDsgZCA9IGRhdGE7PC9wPjxwPiZuYnNwOyB1aW50MzJfdCBtYXBfc2l6ZSA9IG1wX2RlY29k ZV9tYXAoJmFtcDtkKTs8L3A+PHA+Jm5ic3A7IGZvciAodWludDMyX3QgaSA9IDA7IGkgJmx0OyBt YXBfc2l6ZTsgaSsrKSB7PC9wPjxwPkBAIC0xMzIxLDE5ICsxMzIxLDE5IEBAIHhyb3dfZGVjb2Rl X3N1YnNjcmliZShzdHJ1Y3QgeHJvd19oZWFkZXIgKnJvdywgc3RydWN0IHR0X3V1aWQgKnJlcGxp Y2FzZXRfdXVpZCw8L3A+PHA+Jm5ic3A7IH08L3A+PHA+Jm5ic3A7ICphbm9uID0gbXBfZGVjb2Rl X2Jvb2woJmFtcDtkKTs8L3A+PHA+Jm5ic3A7IGJyZWFrOzwvcD48cD4tIGNhc2UgSVBST1RPX0lE X01BU0s6PC9wPjxwPi0gaWYgKGlkX21hc2sgPT0gTlVMTCk8L3A+PHA+KyBjYXNlIElQUk9UT19J RF9GSUxURVI6PC9wPjxwPisgaWYgKGlkX2ZpbHRlciA9PSBOVUxMKTwvcD48cD4mbmJzcDsgZ290 byBza2lwOzwvcD48cD4mbmJzcDsgaWYgKG1wX3R5cGVvZigqZCkgIT0gTVBfQVJSQVkpIHs8L3A+ PHA+ZGVjb2RlX2VycjogeHJvd19vbl9kZWNvZGVfZXJyKGRhdGEsIGVuZCwgRVJfSU5WQUxJRF9N U0dQQUNLLDwvcD48cD4tICZuYnNwOyAiaW52YWxpZCBpZF9tYXNrIik7PC9wPjxwPisgJm5ic3A7 ICJpbnZhbGlkIGlkX2ZpbHRlciIpOzwvcD48cD4mbmJzcDsgcmV0dXJuIC0xOzwvcD48cD4mbmJz cDsgfTwvcD48cD4mbmJzcDsgdWludDMyX3QgbGVuID0gbXBfZGVjb2RlX2FycmF5KCZhbXA7ZCk7 PC9wPjxwPiZuYnNwOyBmb3IodWludDMyX3QgaSA9IDA7IGkgJmx0OyBsZW47ICsraSkgezwvcD48 cD4mbmJzcDsgaWYgKG1wX3R5cGVvZigqZCkgIT0gTVBfVUlOVCk8L3A+PHA+Jm5ic3A7IGdvdG8g ZGVjb2RlX2Vycjs8L3A+PHA+LSAqaWRfbWFzayB8PSAxICZsdDsmbHQ7IG1wX2RlY29kZV91aW50 KCZhbXA7ZCk7PC9wPjxwPisgKmlkX2ZpbHRlciB8PSAxICZsdDsmbHQ7IG1wX2RlY29kZV91aW50 KCZhbXA7ZCk7PC9wPjxwPiZuYnNwOyB9PC9wPjxwPiZuYnNwOyBicmVhazs8L3A+PHA+Jm5ic3A7 IGRlZmF1bHQ6IHNraXA6PC9wPjxwPmRpZmYgLS1naXQgYS9zcmMvYm94L3hyb3cuaCBiL3NyYy9i b3gveHJvdy5oPC9wPjxwPmluZGV4IGFiNWZjOTQ0YS4uOGU1NzE2YjMwIDEwMDY0NDwvcD48cD4t LS0gYS9zcmMvYm94L3hyb3cuaDwvcD48cD4rKysgYi9zcmMvYm94L3hyb3cuaDwvcD48cD5AQCAt MzIyLDcgKzMyMiw3IEBAIHhyb3dfZW5jb2RlX3JlZ2lzdGVyKHN0cnVjdCB4cm93X2hlYWRlciAq cm93LDwvcD48cD4mbmJzcDsgKiBAcGFyYW0gaW5zdGFuY2VfdXVpZCBJbnN0YW5jZSB1dWlkLjwv cD48cD4mbmJzcDsgKiBAcGFyYW0gdmNsb2NrIFJlcGxpY2F0aW9uIGNsb2NrLjwvcD48cD4mbmJz cDsgKiBAcGFyYW0gYW5vbiBXaGV0aGVyIGl0IGlzIGFuIGFub255bW91cyBzdWJzY3JpYmUgcmVx dWVzdCBvciBub3QuPC9wPjxwPi0gKiBAcGFyYW0gaWRfbWFzayBBIExpc3Qgb2YgcmVwbGljYSBp ZHMgdG8gc2tpcCByb3dzIGZyb208L3A+PHA+KyAqIEBwYXJhbSBpZF9maWx0ZXIgQSBMaXN0IG9m IHJlcGxpY2EgaWRzIHRvIHNraXAgcm93cyBmcm9tPC9wPjxwPiZuYnNwOyAqJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyB3aGVuIGZlZWRpbmcgYSByZXBsaWNhLjwvcD48cD4mbmJzcDsgKjwvcD48cD4mbmJz cDsgKiBAcmV0dmFsJm5ic3A7IDAgU3VjY2Vzcy48L3A+PHA+QEAgLTMzMyw3ICszMzMsNyBAQCB4 cm93X2VuY29kZV9zdWJzY3JpYmUoc3RydWN0IHhyb3dfaGVhZGVyICpyb3csPC9wPjxwPiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqcmVwbGljYXNldF91 dWlkLDwvcD48cD4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29uc3Qgc3RydWN0IHR0X3V1 aWQgKmluc3RhbmNlX3V1aWQsPC9wPjxwPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjb25z dCBzdHJ1Y3QgdmNsb2NrICp2Y2xvY2ssIGJvb2wgYW5vbiw8L3A+PHA+LSAmbmJzcDsgJm5ic3A7 ICZuYnNwOyB1bnNpZ25lZCBpbnQgaWRfbWFzayk7PC9wPjxwPisgJm5ic3A7ICZuYnNwOyAmbmJz cDsgdW5zaWduZWQgaW50IGlkX2ZpbHRlcik7PC9wPjxwPiZuYnNwOzwvcD48cD4vKio8L3A+PHA+ Jm5ic3A7ICogRGVjb2RlIFNVQlNDUklCRSBjb21tYW5kLjwvcD48cD5AQCAtMzQzLDcgKzM0Myw3 IEBAIHhyb3dfZW5jb2RlX3N1YnNjcmliZShzdHJ1Y3QgeHJvd19oZWFkZXIgKnJvdyw8L3A+PHA+ Jm5ic3A7ICogQHBhcmFtW291dF0gdmNsb2NrLjwvcD48cD4mbmJzcDsgKiBAcGFyYW1bb3V0XSB2 ZXJzaW9uX2lkLjwvcD48cD4mbmJzcDsgKiBAcGFyYW1bb3V0XSBhbm9uIFdoZXRoZXIgaXQgaXMg YW4gYW5vbnltb3VzIHN1YnNjcmliZS48L3A+PHA+LSAqIEBwYXJhbVtvdXRdIGlkX21hc2sgQSBs aXN0IG9mIGlkcyB0byBza2lwIHJvd3MgZnJvbSB3aGVuPC9wPjxwPisgKiBAcGFyYW1bb3V0XSBp ZF9maWx0ZXIgQSBsaXN0IG9mIGlkcyB0byBza2lwIHJvd3MgZnJvbSB3aGVuPC9wPjxwPiZuYnNw OyAqICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGZlZWRpbmcgcmVw bGljYS48L3A+PHA+Jm5ic3A7ICo8L3A+PHA+Jm5ic3A7ICogQHJldHZhbCZuYnNwOyAwIFN1Y2Nl c3MuPC9wPjxwPkBAIC0zNTMsNyArMzUzLDcgQEAgaW50PC9wPjxwPnhyb3dfZGVjb2RlX3N1YnNj cmliZShzdHJ1Y3QgeHJvd19oZWFkZXIgKnJvdywgc3RydWN0IHR0X3V1aWQgKnJlcGxpY2FzZXRf dXVpZCw8L3A+PHA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHN0cnVjdCB0dF91dWlkICpp bnN0YW5jZV91dWlkLCBzdHJ1Y3QgdmNsb2NrICp2Y2xvY2ssPC9wPjxwPiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB1aW50MzJfdCAqdmVyc2lvbl9pZCwgYm9vbCAqYW5vbiw8L3A+PHA+LSAm bmJzcDsgJm5ic3A7ICZuYnNwOyB1bnNpZ25lZCBpbnQgKmlkX21hc2spOzwvcD48cD4rICZuYnNw OyAmbmJzcDsgJm5ic3A7IHVuc2lnbmVkIGludCAqaWRfZmlsdGVyKTs8L3A+PHA+Jm5ic3A7PC9w PjxwPi8qKjwvcD48cD4mbmJzcDsgKiBFbmNvZGUgSk9JTiBjb21tYW5kLjwvcD48cD5AQCAtODI3 LDEwICs4MjcsMTAgQEAgeHJvd19lbmNvZGVfc3Vic2NyaWJlX3hjKHN0cnVjdCB4cm93X2hlYWRl ciAqcm93LDwvcD48cD4mbmJzcDsgY29uc3Qgc3RydWN0IHR0X3V1aWQgKnJlcGxpY2FzZXRfdXVp ZCw8L3A+PHA+Jm5ic3A7IGNvbnN0IHN0cnVjdCB0dF91dWlkICppbnN0YW5jZV91dWlkLDwvcD48 cD4mbmJzcDsgY29uc3Qgc3RydWN0IHZjbG9jayAqdmNsb2NrLCBib29sIGFub24sPC9wPjxwPi0g dW5zaWduZWQgaW50IGlkX21hc2spPC9wPjxwPisgdW5zaWduZWQgaW50IGlkX2ZpbHRlcik8L3A+ PHA+ezwvcD48cD4mbmJzcDsgaWYgKHhyb3dfZW5jb2RlX3N1YnNjcmliZShyb3csIHJlcGxpY2Fz ZXRfdXVpZCwgaW5zdGFuY2VfdXVpZCw8L3A+PHA+LSAmbmJzcDsgdmNsb2NrLCBhbm9uLCBpZF9t YXNrKSAhPSAwKTwvcD48cD4rICZuYnNwOyB2Y2xvY2ssIGFub24sIGlkX2ZpbHRlcikgIT0gMCk8 L3A+PHA+Jm5ic3A7IGRpYWdfcmFpc2UoKTs8L3A+PHA+fTwvcD48cD4mbmJzcDs8L3A+PHA+QEAg LTg0MCwxMSArODQwLDExIEBAIHhyb3dfZGVjb2RlX3N1YnNjcmliZV94YyhzdHJ1Y3QgeHJvd19o ZWFkZXIgKnJvdyw8L3A+PHA+Jm5ic3A7IHN0cnVjdCB0dF91dWlkICpyZXBsaWNhc2V0X3V1aWQs PC9wPjxwPiZuYnNwOyBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCwgc3RydWN0IHZjbG9j ayAqdmNsb2NrLDwvcD48cD4mbmJzcDsgdWludDMyX3QgKnJlcGxpY2FfdmVyc2lvbl9pZCwgYm9v bCAqYW5vbiw8L3A+PHA+LSB1bnNpZ25lZCBpbnQgKmlkX21hc2spPC9wPjxwPisgdW5zaWduZWQg aW50ICppZF9maWx0ZXIpPC9wPjxwPns8L3A+PHA+Jm5ic3A7IGlmICh4cm93X2RlY29kZV9zdWJz Y3JpYmUocm93LCByZXBsaWNhc2V0X3V1aWQsIGluc3RhbmNlX3V1aWQsPC9wPjxwPiZuYnNwOyAm bmJzcDsgdmNsb2NrLCByZXBsaWNhX3ZlcnNpb25faWQsIGFub24sPC9wPjxwPi0gJm5ic3A7IGlk X21hc2spICE9IDApPC9wPjxwPisgJm5ic3A7IGlkX2ZpbHRlcikgIT0gMCk8L3A+PHA+Jm5ic3A7 IGRpYWdfcmFpc2UoKTs8L3A+PHA+fTwvcD48L2Rpdj48ZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJi b3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAg MTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2Pjxk aXY+PGJyPjxicj4tLTxicj5Lb25zdGFudGluIE9zaXBvdiwgTW9zY293LCBSdXNzaWE8L2Rpdj48 L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+Jm5ic3A7PGRpdj4mbmJzcDs8L2Rpdj48ZGl2 IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdp ZGdldD0iY29udGVudCI+PGRpdj4tLTxicj5TZXJnZSZuYnNwO1BldHJlbmtvPC9kaXY+PC9kaXY+ PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48L2Rpdj48L0JPRFk+PC9IVE1MPgo= ----ALT--85eC7c5795067B04714E7D725aE4a1Ed1582715780--