From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: =?UTF-8?B?S29uc3RhbnRpbiBCZWx5YXZza2l5?= Subject: =?UTF-8?B?UmU6IFt0YXJhbnRvb2wtcGF0Y2hlc10gUmU6IFtQQVRDSF0gcmVwbGljYXRp?= =?UTF-8?B?b246IGZpeCBidWcgd2l0aCByZWFkLW9ubHkgcmVwbGljYSBhcyBhIGJvb3Rz?= =?UTF-8?B?dHJhcCBsZWFkZXI=?= MIME-Version: 1.0 Date: Fri, 13 Apr 2018 14:13:34 +0300 Reply-To: =?UTF-8?B?S29uc3RhbnRpbiBCZWx5YXZza2l5?= Message-ID: <1523618014.437515532@f371.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--HRlPDMyhuU5i1piP8DHo7B1u9MlfUBcP1523618014" In-Reply-To: <20180413085459.x2zuxqufp73r7cmi@esperanza> References: <20180411160227.51871-1-k.belyavskiy@tarantool.org> <20180413085459.x2zuxqufp73r7cmi@esperanza> To: tarantool-patches@freelists.org, =?UTF-8?B?VmxhZGltaXIgRGF2eWRvdg==?= , =?UTF-8?B?Z2Vvcmd5?= List-ID: ----ALT--HRlPDMyhuU5i1piP8DHo7B1u9MlfUBcP1523618014 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 UGxlYXNlIHRha2UgYSBsb29rIGF0IG5ld2VyIHZlcnNpb24uCgo+0J/Rj9GC0L3QuNGG0LAsIDEz INCw0L/RgNC10LvRjyAyMDE4LCAxMTo1NSArMDM6MDAg0L7RgiBWbGFkaW1pciBEYXZ5ZG92IDx2 ZGF2eWRvdi5kZXZAZ21haWwuY29tPjoKPgo+T24gV2VkLCBBcHIgMTEsIDIwMTggYXQgMDc6MDI6 MjdQTSArMDMwMCwgS29uc3RhbnRpbiBCZWx5YXZza2l5IHdyb3RlOgo+PiB0aWNrZXQ6ICBodHRw czovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvMzI1Nwo+PiBicmFuY2g6 ICBodHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9jb21wYXJlL2doLTMyNTct Zml4LWJ1Zy13aXRoLXJvLXJlcGxpY2EtYXMtYS1sZWFkZXIKPj4gCj4+IFdoZW4gYm9vdHN0cmFw cGluZyBhIG5ldyBjbHVzdGVyLCBlYWNoIHJlcGxpY2EgZnJvbSByZXBsaWNhc2V0IGNhbgo+PiBi ZSBjaG9zZW4gYXMgYSBsZWFkZXIsIGJ1dCBpZiBpdCBpcyAncmVhZC1vbmx5JywgYm9vdHN0cmFw IHdpbGwKPj4gZmFpbGVkIHdpdGggYW4gZXJyb3IuCj4+IEZpeGVkIGl0IGJ5IGVsaW1pbmF0aW5n IHJlYWQtb25seSByZXBsaWNhcyBmcm9tIHZvdGluZyBieSBhZGRpbmcKPj4gYWNjZXNzIHJpZ2h0 cyBpbmZvcm1hdGlvbiB0byBJUFJPVE9fUkVRVUVTVF9WT1RFIHJlcGx5Lgo+PiAKPj4gQ2xvc2Vz ICMzMjU3Cj4+IC0tLQo+PiAgc3JjL2JveC9hcHBsaWVyLmNjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAzICstCj4+ICBzcmMvYm94L2FwcGxpZXIuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKwo+PiAgc3JjL2JveC9pcHJvdG8uY2MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDExICsrKy0tCj4+ICBzcmMvYm94L2lwcm90b19jb25zdGFudHMuYyAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KPj4gIHNyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oICAg ICAgICAgICAgICAgICAgICAgfCAgMSArCj4+ICBzcmMvYm94L3JlcGxpY2F0aW9uLmNjICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDggKysrKwo+PiAgc3JjL2JveC94cm93LmMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKystLS0KPj4gIHNyYy9ib3gveHJv dy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1NCArKysrKysrKysrKysrKysr KystLS0tLQo+PiAgdGVzdC9yZXBsaWNhdGlvbi9yZXBsaWNhX3V1aWRfcm8ubHVhICAgICAgICAg ICB8IDMzICsrKysrKysrKysrKysrCj4+ICB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2FfdXVpZF9y bzEubHVhICAgICAgICAgIHwgIDEgKwo+PiAgdGVzdC9yZXBsaWNhdGlvbi9yZXBsaWNhX3V1aWRf cm8yLmx1YSAgICAgICAgICB8ICAxICsKPj4gIHRlc3QvcmVwbGljYXRpb24vcmVwbGljYXNldF9y b19tb3N0bHkucmVzdWx0ICAgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgdGVz dC9yZXBsaWNhdGlvbi9yZXBsaWNhc2V0X3JvX21vc3RseS50ZXN0Lmx1YSB8IDMwICsrKysrKysr KysrKysKPj4gIDEzIGZpbGVzIGNoYW5nZWQsIDIxMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlv bnMoLSkKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2FfdXVp ZF9yby5sdWEKPj4gIGNyZWF0ZSBtb2RlIDEyMDAwMCB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2Ff dXVpZF9ybzEubHVhCj4+ICBjcmVhdGUgbW9kZSAxMjAwMDAgdGVzdC9yZXBsaWNhdGlvbi9yZXBs aWNhX3V1aWRfcm8yLmx1YQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvcmVwbGljYXRpb24v cmVwbGljYXNldF9yb19tb3N0bHkucmVzdWx0Cj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9y ZXBsaWNhdGlvbi9yZXBsaWNhc2V0X3JvX21vc3RseS50ZXN0Lmx1YQo+PiAKPj4gZGlmZiAtLWdp dCBhL3NyYy9ib3gvYXBwbGllci5jYyBiL3NyYy9ib3gvYXBwbGllci5jYwo+PiBpbmRleCA5YWE5 NTFjMzQuLmIzYTEzMjYwZCAxMDA2NDQKPj4gLS0tIGEvc3JjL2JveC9hcHBsaWVyLmNjCj4+ICsr KyBiL3NyYy9ib3gvYXBwbGllci5jYwo+PiBAQCAtMjIzLDcgKzIyMyw4IEBAIGFwcGxpZXJfY29u bmVjdChzdHJ1Y3QgYXBwbGllciAqYXBwbGllcikKPj4gIAkJaWYgKHJvdy50eXBlICE9IElQUk9U T19PSykKPj4gIAkJCXhyb3dfZGVjb2RlX2Vycm9yX3hjKCZyb3cpOwo+PiAgCQl2Y2xvY2tfY3Jl YXRlKCZhcHBsaWVyLT52Y2xvY2spOwo+PiAtCQl4cm93X2RlY29kZV92Y2xvY2tfeGMoJnJvdywg JmFwcGxpZXItPnZjbG9jayk7Cj4+ICsJCXhyb3dfZGVjb2RlX3JlcXVlc3Rfdm90ZV94Yygmcm93 LCAmYXBwbGllci0+dmNsb2NrLAo+PiArCQkJCQkgICAgJmFwcGxpZXItPnJlYWRfb25seSk7Cj4+ ICAJfQo+PiAKPj4gIAlhcHBsaWVyX3NldF9zdGF0ZShhcHBsaWVyLCBBUFBMSUVSX0NPTk5FQ1RF RCk7Cj4+IGRpZmYgLS1naXQgYS9zcmMvYm94L2FwcGxpZXIuaCBiL3NyYy9ib3gvYXBwbGllci5o Cj4+IGluZGV4IGYyNWQ2Y2IyNi4uZjQ3Y2YzMzBmIDEwMDY0NAo+PiAtLS0gYS9zcmMvYm94L2Fw cGxpZXIuaAo+PiArKysgYi9zcmMvYm94L2FwcGxpZXIuaAo+PiBAQCAtOTUsNiArOTUsOCBAQCBz dHJ1Y3QgYXBwbGllciB7Cj4+ICAJdWludDMyX3QgdmVyc2lvbl9pZDsKPj4gIAkvKiogUmVtb3Rl IHZjbG9jayBhdCB0aW1lIG9mIGNvbm5lY3QuICovCj4+ICAJc3RydWN0IHZjbG9jayB2Y2xvY2s7 Cj4+ICsJLyoqIFJlbW90ZSBhY2Nlc3MgcmlnaHRzLCB0cnVlIGlmIHJlYWQtb25seSwgZGVmYXVs dDogZmFsc2UgKi8KPgo+VGhlIGNvbW1lbnQgaXMgbWlzbGVhZGluZyBJTU8gYXMgdGhpcyB2YXJp YWJsZSBkb2Vzbid0IGhhdmUgYW55dGhpbmcKPnRvIGRvIHdpdGggYWNjZXNzIHJpZ2h0cy4gSXQg anVzdCBtZWFucyB0aGF0IHRoZSBtYXN0ZXIgaXMgcnVubmluZyBpbgo+cmVhZC1vbmx5IG1vZGUu IFBsZWFzZSBmaXguIApGaXhlZApSZW1vdGUgcGVlciBtb2RlLCB0cnVlIGlmIHJlYWQtb25seSwg ZGVmYXVsdDogZmFsc2UKPgo+Cj4+ICsJYm9vbCByZWFkX29ubHk7Cj4KPkknZCBjYWxsIGl0IG1h c3Rlcl9pc19ybywgYmVjYXVzZSBpdCdzIG5vdCB0aGUgYXBwbGllciB3aGljaCBpcyByZWFkCj5v bmx5IC0gaXQncyB0aGUgbWFzdGVyLiAKcmVtb3RlX2lzX3JvCj4KPgo+PiAgCS8qKiBSZW1vdGUg YWRkcmVzcyAqLwo+PiAgCXVuaW9uIHsKPj4gIAkJc3RydWN0IHNvY2thZGRyIGFkZHI7Cj4+IGRp ZmYgLS1naXQgYS9zcmMvYm94L2lwcm90by5jYyBiL3NyYy9ib3gvaXByb3RvLmNjCj4+IGluZGV4 IGRiNTgyMDgwNi4uNTE5NzBiYjI4IDEwMDY0NAo+PiAtLS0gYS9zcmMvYm94L2lwcm90by5jYwo+ PiArKysgYi9zcmMvYm94L2lwcm90by5jYwo+PiBAQCAtNjAsNiArNjAsOCBAQAo+PiAgI2luY2x1 ZGUgImlwcm90b19jb25zdGFudHMuaCIKPj4gICNpbmNsdWRlICJybWVhbi5oIgo+PiAgI2luY2x1 ZGUgImVycmluai5oIgo+PiArI2luY2x1ZGUgImFwcGxpZXIuaCIKPj4gKyNpbmNsdWRlICJjZmcu aCIKPj4gCj4+ICAvKiBUaGUgbnVtYmVyIG9mIGlwcm90byBtZXNzYWdlcyBpbiBmbGlnaHQgKi8K Pj4gIGVudW0geyBJUFJPVE9fTVNHX01BWCA9IDc2OCB9Owo+PiBAQCAtMTM1Miw2ICsxMzU0LDcg QEAgdHhfcHJvY2Vzc19taXNjKHN0cnVjdCBjbXNnICptKQo+PiAgCQlnb3RvIGVycm9yOwo+PiAK Pj4gIAl0cnkgewo+PiArCQlib29sIHJlYWRfb25seSA9IGZhbHNlOwo+PiAgCQlzd2l0Y2ggKG1z Zy0+aGVhZGVyLnR5cGUpIHsKPj4gIAkJY2FzZSBJUFJPVE9fQVVUSDoKPj4gIAkJCWJveF9wcm9j ZXNzX2F1dGgoJm1zZy0+YXV0aCk7Cj4+IEBAIC0xMzYzLDkgKzEzNjYsMTEgQEAgdHhfcHJvY2Vz c19taXNjKHN0cnVjdCBjbXNnICptKQo+PiAgCQkJCQkgICA6OnNjaGVtYV92ZXJzaW9uKTsKPj4g IAkJCWJyZWFrOwo+PiAgCQljYXNlIElQUk9UT19SRVFVRVNUX1ZPVEU6Cj4+IC0JCQlpcHJvdG9f cmVwbHlfdmNsb2NrX3hjKG91dCwgbXNnLT5oZWFkZXIuc3luYywKPj4gLQkJCQkJICAgICAgIDo6 c2NoZW1hX3ZlcnNpb24sCj4+IC0JCQkJCSAgICAgICAmcmVwbGljYXNldC52Y2xvY2spOwo+Cj4+ ICsJCQlyZWFkX29ubHkgPSBjZmdfZ2V0aSgicmVhZF9vbmx5Iik7Cj4KPldlIGhhdmUgYm94X2lz X3JvKCkgZm9yIHRoaXMsIHdoaWNoIGFsc28gdGFrZXMgaW50byBhY2NvdW50ICJvcnBoYW4iCj5t b2RlLiAKTm8sIGR1cmluZyBib290c3RyYXAgaXQgaXMgaW4gIm9ycGhhbiIgbW9kZS4gU28gdGhp cyB3aWxsIGFjdHVhbGx5IGNyYXNoIGl0LgpBbHNvIGFmdGVyIGJvb3RzdHJhcCB3ZSBzaG91bGQg dXNlIGEgbm9kZSB3aXRoIHRoZSBtb3N0IHJlY2VudCB2Y2xvY2suCj4KPgo+PiArCQkJaXByb3Rv X3JlcGx5X3JlcXVlc3Rfdm90ZV94YyhvdXQsIG1zZy0+aGVhZGVyLnN5bmMsCj4+ICsJCQkJCQkg ICAgIDo6c2NoZW1hX3ZlcnNpb24sCj4+ICsJCQkJCQkgICAgICZyZXBsaWNhc2V0LnZjbG9jaywK Pj4gKwkJCQkJCSAgICAgcmVhZF9vbmx5KTsKPgo+Tml0OiB5b3UgZG9uJ3QgbmVlZCBhbiBleHRy YSB2YXJpYWJsZSBoZXJlIC0gbGV0J3MgcGFzcyBib3hfaXNfcm8oKQo+ZGlyZWN0bHkgdG8gaXBy b3RvX3JlcGx5X3JlcXVlc3Rfdm90ZV94YygpLiAKVG8gYmUgaG9uZXN0LCBJIGRvbid0IHRoaW5r IGl0J3MgbmVjZXNzYXJ5LgppcHJvdG9fcmVwbHlfcmVxdWVzdF92b3RlX3hjIGp1c3QgcGFzcyBh bGwgcGFyYW1ldGVycyB0b8KgCmlwcm90b19yZXBseV9yZXF1ZXN0X3ZvdGUKYW5kIGl0IGNvbnN0 cnVjdCByZXBseSBmcm9tIHRoZXNlIHBhcmFtcy4KU28gaXQgd2lsbCBjcmVhdGUgYSBtaXhlZCBs b2dpYyB0aGVuIHNvbWUgcGFyYW1zIGFyZSBnZXQgaW50ZXJuYWxseSwgb3RoZXJzCmZyb20gaW5w dXQuCkxldCdzIGxlYXZlIGl0IGFzIGlzLgo+Cj4+ICAJCQlicmVhazsKPj4gIAkJZGVmYXVsdDoK Pj4gIAkJCXVucmVhY2hhYmxlKCk7Cj4+IGRpZmYgLS1naXQgYS9zcmMvYm94L2lwcm90b19jb25z dGFudHMuYyBiL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5jCj4+IGluZGV4IGNkN2IxZDAzYi4u ZWFiYTYyNTllIDEwMDY0NAo+PiAtLS0gYS9zcmMvYm94L2lwcm90b19jb25zdGFudHMuYwo+PiAr KysgYi9zcmMvYm94L2lwcm90b19jb25zdGFudHMuYwo+PiBAQCAtNDAsMTAgKzQwLDEwIEBAIGNv bnN0IHVuc2lnbmVkIGNoYXIgaXByb3RvX2tleV90eXBlW0lQUk9UT19LRVlfTUFYXSA9Cj4+ICAJ CS8qIDB4MDQgKi8JTVBfRE9VQkxFLCAvKiBJUFJPVE9fVElNRVNUQU1QICovCj4+ICAJCS8qIDB4 MDUgKi8JTVBfVUlOVCwgICAvKiBJUFJPVE9fU0NIRU1BX1ZFUlNJT04gKi8KPj4gIAkJLyogMHgw NiAqLwlNUF9VSU5ULCAgIC8qIElQUk9UT19TRVJWRVJfVkVSU0lPTiAqLwo+PiArCQkvKiAweDA3 ICovCU1QX1VJTlQsICAgLyogSVBST1RPX1NFUlZFUl9SRUFET05MWSAqLwo+PiAgCS8qIH19fSAq Lwo+PiAKPj4gIAkvKiB7e3sgdW51c2VkICovCj4+IC0JCS8qIDB4MDcgKi8JTVBfVUlOVCwKPj4g IAkJLyogMHgwOCAqLwlNUF9VSU5ULAo+PiAgCQkvKiAweDA5ICovCU1QX1VJTlQsCj4+ICAJCS8q IDB4MGEgKi8JTVBfVUlOVCwKPj4gZGlmZiAtLWdpdCBhL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50 cy5oIGIvc3JjL2JveC9pcHJvdG9fY29uc3RhbnRzLmgKPj4gaW5kZXggOTUxODQyNDg1Li5hYWUw MDQ1ODQgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oCj4+ICsrKyBi L3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oCj4+IEBAIC01OCw2ICs1OCw3IEBAIGVudW0gaXBy b3RvX2tleSB7Cj4+ICAJSVBST1RPX1RJTUVTVEFNUCA9IDB4MDQsCj4+ICAJSVBST1RPX1NDSEVN QV9WRVJTSU9OID0gMHgwNSwKPj4gIAlJUFJPVE9fU0VSVkVSX1ZFUlNJT04gPSAweDA2LAo+PiAr CUlQUk9UT19TRVJWRVJfUkVBRE9OTFkgPSAweDA3LAo+Cj5JUFJPVE9fU0VSVkVSX0lTX1JPLCBt YXkgYmU/IApPaywgZml4ZWQuCj4KPgo+PiAgCS8qIExlYXZlIGEgZ2FwIGZvciBvdGhlciBrZXlz IGluIHRoZSBoZWFkZXIuICovCj4+ICAJSVBST1RPX1NQQUNFX0lEID0gMHgxMCwKPj4gIAlJUFJP VE9fSU5ERVhfSUQgPSAweDExLAo+PiBkaWZmIC0tZ2l0IGEvc3JjL2JveC9yZXBsaWNhdGlvbi5j YyBiL3NyYy9ib3gvcmVwbGljYXRpb24uY2MKPj4gaW5kZXggYjFjODRkMzZjLi40MjNkZTJjODgg MTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvcmVwbGljYXRpb24uY2MKPj4gKysrIGIvc3JjL2JveC9y ZXBsaWNhdGlvbi5jYwo+PiBAQCAtNjg1LDYgKzY4NSwxNCBAQCByZXBsaWNhc2V0X2xlYWRlcih2 b2lkKQo+PiAgCXJlcGxpY2FzZXRfZm9yZWFjaChyZXBsaWNhKSB7Cj4+ICAJCWlmIChyZXBsaWNh LT5hcHBsaWVyID09IE5VTEwpCj4+ICAJCQljb250aW51ZTsKPj4gKwkJLyoqCj4+ICsJCSAqIFdo aWxlIGJvb3RzdHJhcHBpbmcgYSBuZXcgY2x1c3RlciwKPj4gKwkJICogcmVhZC1vbmx5IHJlcGxp Y2FzIHNob3VsZG4ndCBiZSBjb25zaWRlcmVkCj4+ICsJCSAqIGFzIGEgbGVhZGVyLgo+PiArCQkg Ki8KPj4gKwkJaWYgKHJlcGxpY2EtPmFwcGxpZXItPnJlYWRfb25seSAmJgo+PiArCQkgICAgcmVw bGljYS0+YXBwbGllci0+dmNsb2NrLnNpZ25hdHVyZSA9PSAwKQo+PiArCQkJY29udGludWU7Cj4K PldoYXQgaWYgeW91J3JlIGFkZGluZyBhIG5ldyByZXBsaWNhIHRvIGFuIGV4aXN0aW5nIGNsdXN0 ZXIgc29tZSBub2RlcyBvZgo+d2hpY2ggYXJlIHJlYWQgb25seT8gQUZBSVUgeW91IHdhbnQgdG8g Y2hvb3NlIGFuIHJ3IHJlcGxpY2EgaW4gdGhpcyBjYXNlCj5hcyB3ZWxsLiAKTm8sIHdlIGltcHJv dmUgb25seSBvbmUgY2FzZTogYm9vdHN0cmFwcGluZyBhIG5ldyBjbHVzdGVyIChhbmQgZG8gbm90 IGNoYW5nZSBvdGhlcnMpLgpJbiBvdGhlciBjYXNlcyBpdCdzIG1vcmUgZGlmZmljdWx0wqBhbmQg bWF5IGJlIHdlIG5lZWQgdG8gZGV2ZWxvcCBhIHNwZWNpZmljwqBwcm90b2NvbAp0byBzb2x2ZSBp dCBpbiBnZW5lcmFsIGNhc2UuIEJ1dCBpdCdzIGEgY2FzZSBmb3IgYSBuZXcgdGlja2V0Lgo+Cj4K Pj4gIAkJaWYgKGxlYWRlciA9PSBOVUxMKSB7Cj4+ICAJCQlsZWFkZXIgPSByZXBsaWNhOwo+PiAg CQkJY29udGludWU7Cj4KPj4gZGlmZiAtLWdpdCBhL3Rlc3QvcmVwbGljYXRpb24vcmVwbGljYXNl dF9yb19tb3N0bHkudGVzdC5sdWEgYi90ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2FzZXRfcm9fbW9z dGx5LnRlc3QubHVhCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMC4u NTM5Y2E1YTEzCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvdGVzdC9yZXBsaWNhdGlvbi9yZXBs aWNhc2V0X3JvX21vc3RseS50ZXN0Lmx1YQo+PiBAQCAtMCwwICsxLDMwIEBACj4+ICstLSBnaC0z MjU3IGNoZWNrIGJvb3RzdHJhcCB3aXRoIHJlYWQtb25seSByZXBsaWNhIGluIGNsdXN0ZXIuCj4+ ICstLSBPbGQgYmVoYXZpb3VyOiBmYWlsZWQsIHNpbmNlIHJlYWQtb25seSBpcyBjaG9zZW4gYnkg dXVpZC4KPj4gK3Rlc3RfcnVuID0gcmVxdWlyZSgndGVzdF9ydW4nKS5uZXcoKQo+PiArCj4+ICtT RVJWRVJTID0geydyZXBsaWNhX3V1aWRfcm8xJywgJ3JlcGxpY2FfdXVpZF9ybzInfQo+PiArCj4+ ICt1dWlkID0gcmVxdWlyZSgndXVpZCcpCj4+ICt1dWlkMSA9IHV1aWQubmV3KCkKPj4gK3V1aWQy ID0gdXVpZC5uZXcoKQo+PiArZnVuY3Rpb24gc29ydF9jbXAoYSwgYikgcmV0dXJuIGEudGltZV9s b3cgPiBiLnRpbWVfbG93IGFuZCB0cnVlIG9yIGZhbHNlIGVuZAo+PiArZnVuY3Rpb24gc29ydCh0 KSB0YWJsZS5zb3J0KHQsIHNvcnRfY21wKSByZXR1cm4gdCBlbmQKPj4gK1VVSUQgPSBzb3J0KHt1 dWlkMSwgdXVpZDJ9LCBzb3J0X2NtcCkKPgo+SSBkb24ndCB0aGluayB5b3UgcmVhbGx5IG5lZWQg dG8gc2V0IFVVSUQgZXhwbGljaXRseS4gSWYgeW91IGRvbid0LCB0aGUKPnRlc3Qgd2lsbCBmYWls IHF1aXRlIG9mdGVuIGFueXdheS4gCkl0J3MgdG8gbWFrZSBpdCAxMDAlIHJlcHJvZHVjaWJsZS4g SW4gb3RoZXIgY2FzZXMgaXQncyBhIHByb2JhYmlsaXR5IHRlc3QgKG5vdCBnb29kKS4KPgo+Cj4+ ICsKPj4gK2NyZWF0ZV9jbHVzdGVyX2NtZDEgPSAnY3JlYXRlIHNlcnZlciAlcyB3aXRoIHNjcmlw dD0icmVwbGljYXRpb24vJXMubHVhIicKPj4gK2NyZWF0ZV9jbHVzdGVyX2NtZDIgPSAnc3RhcnQg c2VydmVyICVzIHdpdGggYXJncz0iJXMiLCB3YWl0X2xvYWQ9RmFsc2UsIHdhaXQ9RmFsc2UnCj4+ ICsKPj4gK3Rlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnOyciKQo+PiArZnVuY3Rpb24g Y3JlYXRlX2NsdXN0ZXJfdXVpZChzZXJ2ZXJzLCB1dWlkcykKPj4gKyAgICBmb3IgaSwgbmFtZSBp biBpcGFpcnMoc2VydmVycykgZG8KPj4gKyAgICAgICAgdGVzdF9ydW46Y21kKGNyZWF0ZV9jbHVz dGVyX2NtZDE6Zm9ybWF0KG5hbWUsIG5hbWUpKQo+PiArICAgICAgICB0ZXN0X3J1bjpjbWQoY3Jl YXRlX2NsdXN0ZXJfY21kMjpmb3JtYXQobmFtZSwgdXVpZHNbaV0pKQo+PiArICAgIGVuZAo+PiAr ZW5kOwo+PiArdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICcnIik7Cj4+ICsKPj4gKy0t IERlcGxveSBhIGNsdXN0ZXIuCj4+ICtjcmVhdGVfY2x1c3Rlcl91dWlkKFNFUlZFUlMsIFVVSUQp Cj4+ICt0ZXN0X3J1bjp3YWl0X2Z1bGxtZXNoKFNFUlZFUlMpCj4+ICstLSBDbGVhbnVwLgo+PiAr dGVzdF9ydW46ZHJvcF9jbHVzdGVyKFNFUlZFUlMpCj4KCgpCZXN0IHJlZ2FyZHMsCktvbnN0YW50 aW4gQmVseWF2c2tpeQprLmJlbHlhdnNraXlAdGFyYW50b29sLm9yZwo= ----ALT--HRlPDMyhuU5i1piP8DHo7B1u9MlfUBcP1523618014 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPlBsZWFzZSB0YWtlIGEgbG9vayBhdCBuZXdlciB2ZXJzaW9uLjxicj48YnI+ PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46 MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+CgnQn9GP0YLQvdC40YbQsCwgMTMg0LDQv9GA0LXQ u9GPIDIwMTgsIDExOjU1ICswMzowMCDQvtGCIFZsYWRpbWlyIERhdnlkb3YgJmx0O3ZkYXZ5ZG92 LmRldkBnbWFpbC5jb20mZ3Q7Ojxicj48YnI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxw ZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTUyMzYwOTcxMjAwMDAwMDAw MDBfQk9EWSI+T24gV2VkLCBBcHIgMTEsIDIwMTggYXQgMDc6MDI6MjdQTSArMDMwMCwgS29uc3Rh bnRpbiBCZWx5YXZza2l5IHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmd0OyB0aWNrZXQ6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFy YW50b29sL2lzc3Vlcy8zMjU3IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL3Rh cmFudG9vbC90YXJhbnRvb2wvaXNzdWVzLzMyNTc8L2E+PGJyPgomZ3Q7IGJyYW5jaDogPGEgaHJl Zj0iaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvY29tcGFyZS9naC0zMjU3 LWZpeC1idWctd2l0aC1yby1yZXBsaWNhLWFzLWEtbGVhZGVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0 cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvY29tcGFyZS9naC0zMjU3LWZpeC1i dWctd2l0aC1yby1yZXBsaWNhLWFzLWEtbGVhZGVyPC9hPjxicj4KJmd0OyA8YnI+CiZndDsgV2hl biBib290c3RyYXBwaW5nIGEgbmV3IGNsdXN0ZXIsIGVhY2ggcmVwbGljYSBmcm9tIHJlcGxpY2Fz ZXQgY2FuPGJyPgomZ3Q7IGJlIGNob3NlbiBhcyBhIGxlYWRlciwgYnV0IGlmIGl0IGlzICdyZWFk LW9ubHknLCBib290c3RyYXAgd2lsbDxicj4KJmd0OyBmYWlsZWQgd2l0aCBhbiBlcnJvci48YnI+ CiZndDsgRml4ZWQgaXQgYnkgZWxpbWluYXRpbmcgcmVhZC1vbmx5IHJlcGxpY2FzIGZyb20gdm90 aW5nIGJ5IGFkZGluZzxicj4KJmd0OyBhY2Nlc3MgcmlnaHRzIGluZm9ybWF0aW9uIHRvIElQUk9U T19SRVFVRVNUX1ZPVEUgcmVwbHkuPGJyPgomZ3Q7IDxicj4KJmd0OyBDbG9zZXMgIzMyNTc8YnI+ CiZndDsgLS0tPGJyPgomZ3Q7ICBzcmMvYm94L2FwcGxpZXIuY2MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDMgKy08YnI+CiZndDsgIHNyYy9ib3gvYXBwbGllci5oICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArPGJyPgomZ3Q7ICBzcmMvYm94L2lwcm90by5jYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrLS08YnI+CiZndDsgIHNyYy9ib3gvaXBy b3RvX2NvbnN0YW50cy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLTxicj4KJmd0OyAgc3Jj L2JveC9pcHJvdG9fY29uc3RhbnRzLmggICAgICAgICAgICAgICAgICAgICB8ICAxICs8YnI+CiZn dDsgIHNyYy9ib3gvcmVwbGljYXRpb24uY2MgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCAr KysrPGJyPgomZ3Q7ICBzcmMvYm94L3hyb3cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMjkgKysrKysrKysrKy0tLTxicj4KJmd0OyAgc3JjL2JveC94cm93LmggICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDU0ICsrKysrKysrKysrKysrKysrKy0tLS0tPGJyPgom Z3Q7ICB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2FfdXVpZF9yby5sdWEgICAgICAgICAgIHwgMzMg KysrKysrKysrKysrKys8YnI+CiZndDsgIHRlc3QvcmVwbGljYXRpb24vcmVwbGljYV91dWlkX3Jv MS5sdWEgICAgICAgICAgfCAgMSArPGJyPgomZ3Q7ICB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2Ff dXVpZF9ybzIubHVhICAgICAgICAgIHwgIDEgKzxicj4KJmd0OyAgdGVzdC9yZXBsaWNhdGlvbi9y ZXBsaWNhc2V0X3JvX21vc3RseS5yZXN1bHQgICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysr KysrPGJyPgomZ3Q7ICB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2FzZXRfcm9fbW9zdGx5LnRlc3Qu bHVhIHwgMzAgKysrKysrKysrKysrKzxicj4KJmd0OyAgMTMgZmlsZXMgY2hhbmdlZCwgMjEyIGlu c2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKTxicj4KJmd0OyAgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3QvcmVwbGljYXRpb24vcmVwbGljYV91dWlkX3JvLmx1YTxicj4KJmd0OyAgY3JlYXRlIG1v ZGUgMTIwMDAwIHRlc3QvcmVwbGljYXRpb24vcmVwbGljYV91dWlkX3JvMS5sdWE8YnI+CiZndDsg IGNyZWF0ZSBtb2RlIDEyMDAwMCB0ZXN0L3JlcGxpY2F0aW9uL3JlcGxpY2FfdXVpZF9ybzIubHVh PGJyPgomZ3Q7ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9yZXBsaWNhdGlvbi9yZXBsaWNhc2V0 X3JvX21vc3RseS5yZXN1bHQ8YnI+CiZndDsgIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3JlcGxp Y2F0aW9uL3JlcGxpY2FzZXRfcm9fbW9zdGx5LnRlc3QubHVhPGJyPgomZ3Q7IDxicj4KJmd0OyBk aWZmIC0tZ2l0IGEvc3JjL2JveC9hcHBsaWVyLmNjIGIvc3JjL2JveC9hcHBsaWVyLmNjPGJyPgom Z3Q7IGluZGV4IDlhYTk1MWMzNC4uYjNhMTMyNjBkIDEwMDY0NDxicj4KJmd0OyAtLS0gYS9zcmMv Ym94L2FwcGxpZXIuY2M8YnI+CiZndDsgKysrIGIvc3JjL2JveC9hcHBsaWVyLmNjPGJyPgomZ3Q7 IEBAIC0yMjMsNyArMjIzLDggQEAgYXBwbGllcl9jb25uZWN0KHN0cnVjdCBhcHBsaWVyICphcHBs aWVyKTxicj4KJmd0OyAgCQlpZiAocm93LnR5cGUgIT0gSVBST1RPX09LKTxicj4KJmd0OyAgCQkJ eHJvd19kZWNvZGVfZXJyb3JfeGMoJmFtcDtyb3cpOzxicj4KJmd0OyAgCQl2Y2xvY2tfY3JlYXRl KCZhbXA7YXBwbGllci0mZ3Q7dmNsb2NrKTs8YnI+CiZndDsgLQkJeHJvd19kZWNvZGVfdmNsb2Nr X3hjKCZhbXA7cm93LCAmYW1wO2FwcGxpZXItJmd0O3ZjbG9jayk7PGJyPgomZ3Q7ICsJCXhyb3df ZGVjb2RlX3JlcXVlc3Rfdm90ZV94YygmYW1wO3JvdywgJmFtcDthcHBsaWVyLSZndDt2Y2xvY2ss PGJyPgomZ3Q7ICsJCQkJCSAgICAmYW1wO2FwcGxpZXItJmd0O3JlYWRfb25seSk7PGJyPgomZ3Q7 ICAJfTxicj4KJmd0OyAgPGJyPgomZ3Q7ICAJYXBwbGllcl9zZXRfc3RhdGUoYXBwbGllciwgQVBQ TElFUl9DT05ORUNURUQpOzxicj4KJmd0OyBkaWZmIC0tZ2l0IGEvc3JjL2JveC9hcHBsaWVyLmgg Yi9zcmMvYm94L2FwcGxpZXIuaDxicj4KJmd0OyBpbmRleCBmMjVkNmNiMjYuLmY0N2NmMzMwZiAx MDA2NDQ8YnI+CiZndDsgLS0tIGEvc3JjL2JveC9hcHBsaWVyLmg8YnI+CiZndDsgKysrIGIvc3Jj L2JveC9hcHBsaWVyLmg8YnI+CiZndDsgQEAgLTk1LDYgKzk1LDggQEAgc3RydWN0IGFwcGxpZXIg ezxicj4KJmd0OyAgCXVpbnQzMl90IHZlcnNpb25faWQ7PGJyPgomZ3Q7ICAJLyoqIFJlbW90ZSB2 Y2xvY2sgYXQgdGltZSBvZiBjb25uZWN0LiAqLzxicj4KJmd0OyAgCXN0cnVjdCB2Y2xvY2sgdmNs b2NrOzxicj4KJmd0OyArCS8qKiBSZW1vdGUgYWNjZXNzIHJpZ2h0cywgdHJ1ZSBpZiByZWFkLW9u bHksIGRlZmF1bHQ6IGZhbHNlICovPGJyPjxicj4KVGhlIGNvbW1lbnQgaXMgbWlzbGVhZGluZyBJ TU8gYXMgdGhpcyB2YXJpYWJsZSBkb2Vzbid0IGhhdmUgYW55dGhpbmc8YnI+CnRvIGRvIHdpdGgg YWNjZXNzIHJpZ2h0cy4gSXQganVzdCBtZWFucyB0aGF0IHRoZSBtYXN0ZXIgaXMgcnVubmluZyBp bjxicj4KcmVhZC1vbmx5IG1vZGUuIFBsZWFzZSBmaXguPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ PC9ibG9ja3F1b3RlPkZpeGVkPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGZvbnQtc2l6ZTogMTFweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1m YW1pbHk6IE1lbmxvOyBjb2xvcjogIzI2YjQxYjsgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjQ5Yzsi IGRhdGEtbWNlLXN0eWxlPSJtYXJnaW4tYm90dG9tOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFs OyBmb250LXNpemU6IDExcHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBNZW5s bzsgY29sb3I6ICMyNmI0MWI7IGJhY2tncm91bmQtY29sb3I6ICNmZWY0OWM7Ij48c3BhbiBzdHls ZT0iZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm8tY29tbW9uLWxpZ2F0dXJlczsiIGRhdGEtbWNl LXN0eWxlPSJmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBuby1jb21tb24tbGlnYXR1cmVzOyI+UmVt b3RlIHBlZXIgbW9kZSwgdHJ1ZSBpZiByZWFkLW9ubHksIGRlZmF1bHQ6IGZhbHNlPC9zcGFuPjwv cD48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdp bjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhl bHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTIzNjA5NzEyMDAwMDAw MDAwMF9CT0RZIj48YnI+PGJyPgomZ3Q7ICsJYm9vbCByZWFkX29ubHk7PGJyPjxicj4KSSdkIGNh bGwgaXQgbWFzdGVyX2lzX3JvLCBiZWNhdXNlIGl0J3Mgbm90IHRoZSBhcHBsaWVyIHdoaWNoIGlz IHJlYWQ8YnI+Cm9ubHkgLSBpdCdzIHRoZSBtYXN0ZXIuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ PC9ibG9ja3F1b3RlPnJlbW90ZV9pc19ybzxicj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxl ZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48 ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2 IGlkPSJzdHlsZV8xNTIzNjA5NzEyMDAwMDAwMDAwMF9CT0RZIj48YnI+PGJyPgomZ3Q7ICAJLyoq IFJlbW90ZSBhZGRyZXNzICovPGJyPgomZ3Q7ICAJdW5pb24gezxicj4KJmd0OyAgCQlzdHJ1Y3Qg c29ja2FkZHIgYWRkcjs8YnI+CiZndDsgZGlmZiAtLWdpdCBhL3NyYy9ib3gvaXByb3RvLmNjIGIv c3JjL2JveC9pcHJvdG8uY2M8YnI+CiZndDsgaW5kZXggZGI1ODIwODA2Li41MTk3MGJiMjggMTAw NjQ0PGJyPgomZ3Q7IC0tLSBhL3NyYy9ib3gvaXByb3RvLmNjPGJyPgomZ3Q7ICsrKyBiL3NyYy9i b3gvaXByb3RvLmNjPGJyPgomZ3Q7IEBAIC02MCw2ICs2MCw4IEBAPGJyPgomZ3Q7ICAjaW5jbHVk ZSAiaXByb3RvX2NvbnN0YW50cy5oIjxicj4KJmd0OyAgI2luY2x1ZGUgInJtZWFuLmgiPGJyPgom Z3Q7ICAjaW5jbHVkZSAiZXJyaW5qLmgiPGJyPgomZ3Q7ICsjaW5jbHVkZSAiYXBwbGllci5oIjxi cj4KJmd0OyArI2luY2x1ZGUgImNmZy5oIjxicj4KJmd0OyAgPGJyPgomZ3Q7ICAvKiBUaGUgbnVt YmVyIG9mIGlwcm90byBtZXNzYWdlcyBpbiBmbGlnaHQgKi88YnI+CiZndDsgIGVudW0geyBJUFJP VE9fTVNHX01BWCA9IDc2OCB9Ozxicj4KJmd0OyBAQCAtMTM1Miw2ICsxMzU0LDcgQEAgdHhfcHJv Y2Vzc19taXNjKHN0cnVjdCBjbXNnICptKTxicj4KJmd0OyAgCQlnb3RvIGVycm9yOzxicj4KJmd0 OyAgPGJyPgomZ3Q7ICAJdHJ5IHs8YnI+CiZndDsgKwkJYm9vbCByZWFkX29ubHkgPSBmYWxzZTs8 YnI+CiZndDsgIAkJc3dpdGNoIChtc2ctJmd0O2hlYWRlci50eXBlKSB7PGJyPgomZ3Q7ICAJCWNh c2UgSVBST1RPX0FVVEg6PGJyPgomZ3Q7ICAJCQlib3hfcHJvY2Vzc19hdXRoKCZhbXA7bXNnLSZn dDthdXRoKTs8YnI+CiZndDsgQEAgLTEzNjMsOSArMTM2NiwxMSBAQCB0eF9wcm9jZXNzX21pc2Mo c3RydWN0IGNtc2cgKm0pPGJyPgomZ3Q7ICAJCQkJCSAgIDo6c2NoZW1hX3ZlcnNpb24pOzxicj4K Jmd0OyAgCQkJYnJlYWs7PGJyPgomZ3Q7ICAJCWNhc2UgSVBST1RPX1JFUVVFU1RfVk9URTo8YnI+ CiZndDsgLQkJCWlwcm90b19yZXBseV92Y2xvY2tfeGMob3V0LCBtc2ctJmd0O2hlYWRlci5zeW5j LDxicj4KJmd0OyAtCQkJCQkgICAgICAgOjpzY2hlbWFfdmVyc2lvbiw8YnI+CiZndDsgLQkJCQkJ ICAgICAgICZhbXA7cmVwbGljYXNldC52Y2xvY2spOzxicj48YnI+CiZndDsgKwkJCXJlYWRfb25s eSA9IGNmZ19nZXRpKCJyZWFkX29ubHkiKTs8YnI+PGJyPgpXZSBoYXZlIGJveF9pc19ybygpIGZv ciB0aGlzLCB3aGljaCBhbHNvIHRha2VzIGludG8gYWNjb3VudCAib3JwaGFuIjxicj4KbW9kZS48 L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+Tm8sIGR1cmluZyBib290c3RyYXAg aXQgaXMgaW4gIm9ycGhhbiIgbW9kZS4gU28gdGhpcyB3aWxsIGFjdHVhbGx5IGNyYXNoIGl0Ljxi cj5BbHNvIGFmdGVyIGJvb3RzdHJhcCB3ZSBzaG91bGQgdXNlIGEgbm9kZSB3aXRoIHRoZSBtb3N0 IHJlY2VudCB2Y2xvY2suPGJyPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29s aWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXYgaWQ9IiI+ PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxl XzE1MjM2MDk3MTIwMDAwMDAwMDAwX0JPRFkiPjxicj48YnI+CiZndDsgKwkJCWlwcm90b19yZXBs eV9yZXF1ZXN0X3ZvdGVfeGMob3V0LCBtc2ctJmd0O2hlYWRlci5zeW5jLDxicj4KJmd0OyArCQkJ CQkJICAgICA6OnNjaGVtYV92ZXJzaW9uLDxicj4KJmd0OyArCQkJCQkJICAgICAmYW1wO3JlcGxp Y2FzZXQudmNsb2NrLDxicj4KJmd0OyArCQkJCQkJICAgICByZWFkX29ubHkpOzxicj48YnI+Ck5p dDogeW91IGRvbid0IG5lZWQgYW4gZXh0cmEgdmFyaWFibGUgaGVyZSAtIGxldCdzIHBhc3MgYm94 X2lzX3JvKCk8YnI+CmRpcmVjdGx5IHRvIGlwcm90b19yZXBseV9yZXF1ZXN0X3ZvdGVfeGMoKS48 L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+VG8gYmUgaG9uZXN0LCBJIGRvbid0 IHRoaW5rIGl0J3MgbmVjZXNzYXJ5Ljxicj5pcHJvdG9fcmVwbHlfcmVxdWVzdF92b3RlX3hjIGp1 c3QgcGFzcyBhbGwgcGFyYW1ldGVycyB0byZuYnNwOzxicj5pcHJvdG9fcmVwbHlfcmVxdWVzdF92 b3RlPGJyPmFuZCBpdCBjb25zdHJ1Y3QgcmVwbHkgZnJvbSB0aGVzZSBwYXJhbXMuPGJyPlNvIGl0 IHdpbGwgY3JlYXRlIGEgbWl4ZWQgbG9naWMgdGhlbiBzb21lIHBhcmFtcyBhcmUgZ2V0IGludGVy bmFsbHksIG90aGVyczxicj5mcm9tIGlucHV0Ljxicj5MZXQncyBsZWF2ZSBpdCBhcyBpcy48Ymxv Y2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4 OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBq cy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTIzNjA5NzEyMDAwMDAwMDAwMF9C T0RZIj48YnI+CiZndDsgIAkJCWJyZWFrOzxicj4KJmd0OyAgCQlkZWZhdWx0Ojxicj4KJmd0OyAg CQkJdW5yZWFjaGFibGUoKTs8YnI+CiZndDsgZGlmZiAtLWdpdCBhL3NyYy9ib3gvaXByb3RvX2Nv bnN0YW50cy5jIGIvc3JjL2JveC9pcHJvdG9fY29uc3RhbnRzLmM8YnI+CiZndDsgaW5kZXggY2Q3 YjFkMDNiLi5lYWJhNjI1OWUgMTAwNjQ0PGJyPgomZ3Q7IC0tLSBhL3NyYy9ib3gvaXByb3RvX2Nv bnN0YW50cy5jPGJyPgomZ3Q7ICsrKyBiL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5jPGJyPgom Z3Q7IEBAIC00MCwxMCArNDAsMTAgQEAgY29uc3QgdW5zaWduZWQgY2hhciBpcHJvdG9fa2V5X3R5 cGVbSVBST1RPX0tFWV9NQVhdID08YnI+CiZndDsgIAkJLyogMHgwNCAqLwlNUF9ET1VCTEUsIC8q IElQUk9UT19USU1FU1RBTVAgKi88YnI+CiZndDsgIAkJLyogMHgwNSAqLwlNUF9VSU5ULCAgIC8q IElQUk9UT19TQ0hFTUFfVkVSU0lPTiAqLzxicj4KJmd0OyAgCQkvKiAweDA2ICovCU1QX1VJTlQs ICAgLyogSVBST1RPX1NFUlZFUl9WRVJTSU9OICovPGJyPgomZ3Q7ICsJCS8qIDB4MDcgKi8JTVBf VUlOVCwgICAvKiBJUFJPVE9fU0VSVkVSX1JFQURPTkxZICovPGJyPgomZ3Q7ICAJLyogfX19ICov PGJyPgomZ3Q7ICA8YnI+CiZndDsgIAkvKiB7e3sgdW51c2VkICovPGJyPgomZ3Q7IC0JCS8qIDB4 MDcgKi8JTVBfVUlOVCw8YnI+CiZndDsgIAkJLyogMHgwOCAqLwlNUF9VSU5ULDxicj4KJmd0OyAg CQkvKiAweDA5ICovCU1QX1VJTlQsPGJyPgomZ3Q7ICAJCS8qIDB4MGEgKi8JTVBfVUlOVCw8YnI+ CiZndDsgZGlmZiAtLWdpdCBhL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oIGIvc3JjL2JveC9p cHJvdG9fY29uc3RhbnRzLmg8YnI+CiZndDsgaW5kZXggOTUxODQyNDg1Li5hYWUwMDQ1ODQgMTAw NjQ0PGJyPgomZ3Q7IC0tLSBhL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oPGJyPgomZ3Q7ICsr KyBiL3NyYy9ib3gvaXByb3RvX2NvbnN0YW50cy5oPGJyPgomZ3Q7IEBAIC01OCw2ICs1OCw3IEBA IGVudW0gaXByb3RvX2tleSB7PGJyPgomZ3Q7ICAJSVBST1RPX1RJTUVTVEFNUCA9IDB4MDQsPGJy PgomZ3Q7ICAJSVBST1RPX1NDSEVNQV9WRVJTSU9OID0gMHgwNSw8YnI+CiZndDsgIAlJUFJPVE9f U0VSVkVSX1ZFUlNJT04gPSAweDA2LDxicj4KJmd0OyArCUlQUk9UT19TRVJWRVJfUkVBRE9OTFkg PSAweDA3LDxicj48YnI+CklQUk9UT19TRVJWRVJfSVNfUk8sIG1heSBiZT88L2Rpdj48L2Rpdj48 L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+T2ssIGZpeGVkLjxicj48YmxvY2txdW90ZSBzdHlsZT0i Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAw IDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+ PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTIzNjA5NzEyMDAwMDAwMDAwMF9CT0RZIj48YnI+PGJyPgom Z3Q7ICAJLyogTGVhdmUgYSBnYXAgZm9yIG90aGVyIGtleXMgaW4gdGhlIGhlYWRlci4gKi88YnI+ CiZndDsgIAlJUFJPVE9fU1BBQ0VfSUQgPSAweDEwLDxicj4KJmd0OyAgCUlQUk9UT19JTkRFWF9J RCA9IDB4MTEsPGJyPgomZ3Q7IGRpZmYgLS1naXQgYS9zcmMvYm94L3JlcGxpY2F0aW9uLmNjIGIv c3JjL2JveC9yZXBsaWNhdGlvbi5jYzxicj4KJmd0OyBpbmRleCBiMWM4NGQzNmMuLjQyM2RlMmM4 OCAxMDA2NDQ8YnI+CiZndDsgLS0tIGEvc3JjL2JveC9yZXBsaWNhdGlvbi5jYzxicj4KJmd0OyAr KysgYi9zcmMvYm94L3JlcGxpY2F0aW9uLmNjPGJyPgomZ3Q7IEBAIC02ODUsNiArNjg1LDE0IEBA IHJlcGxpY2FzZXRfbGVhZGVyKHZvaWQpPGJyPgomZ3Q7ICAJcmVwbGljYXNldF9mb3JlYWNoKHJl cGxpY2EpIHs8YnI+CiZndDsgIAkJaWYgKHJlcGxpY2EtJmd0O2FwcGxpZXIgPT0gTlVMTCk8YnI+ CiZndDsgIAkJCWNvbnRpbnVlOzxicj4KJmd0OyArCQkvKio8YnI+CiZndDsgKwkJICogV2hpbGUg Ym9vdHN0cmFwcGluZyBhIG5ldyBjbHVzdGVyLDxicj4KJmd0OyArCQkgKiByZWFkLW9ubHkgcmVw bGljYXMgc2hvdWxkbid0IGJlIGNvbnNpZGVyZWQ8YnI+CiZndDsgKwkJICogYXMgYSBsZWFkZXIu PGJyPgomZ3Q7ICsJCSAqLzxicj4KJmd0OyArCQlpZiAocmVwbGljYS0mZ3Q7YXBwbGllci0mZ3Q7 cmVhZF9vbmx5ICZhbXA7JmFtcDs8YnI+CiZndDsgKwkJICAgIHJlcGxpY2EtJmd0O2FwcGxpZXIt Jmd0O3ZjbG9jay5zaWduYXR1cmUgPT0gMCk8YnI+CiZndDsgKwkJCWNvbnRpbnVlOzxicj48YnI+ CldoYXQgaWYgeW91J3JlIGFkZGluZyBhIG5ldyByZXBsaWNhIHRvIGFuIGV4aXN0aW5nIGNsdXN0 ZXIgc29tZSBub2RlcyBvZjxicj4Kd2hpY2ggYXJlIHJlYWQgb25seT8gQUZBSVUgeW91IHdhbnQg dG8gY2hvb3NlIGFuIHJ3IHJlcGxpY2EgaW4gdGhpcyBjYXNlPGJyPgphcyB3ZWxsLjwvZGl2Pjwv ZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT5Obywgd2UgaW1wcm92ZSBvbmx5IG9uZSBjYXNl OiBib290c3RyYXBwaW5nIGEgbmV3IGNsdXN0ZXIgKGFuZCBkbyBub3QgY2hhbmdlIG90aGVycyku PGJyPkluIG90aGVyIGNhc2VzIGl0J3MgbW9yZSBkaWZmaWN1bHQmbmJzcDthbmQgbWF5IGJlIHdl IG5lZWQgdG8gZGV2ZWxvcCBhIHNwZWNpZmljJm5ic3A7cHJvdG9jb2w8YnI+IHRvIHNvbHZlIGl0 IGluIGdlbmVyYWwgY2FzZS4gQnV0IGl0J3MgYSBjYXNlIGZvciBhIG5ldyB0aWNrZXQuPGJyPjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEw cHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXYgaWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVy IGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxlXzE1MjM2MDk3MTIwMDAwMDAwMDAw X0JPRFkiPjxicj48YnI+CiZndDsgIAkJaWYgKGxlYWRlciA9PSBOVUxMKSB7PGJyPgomZ3Q7ICAJ CQlsZWFkZXIgPSByZXBsaWNhOzxicj4KJmd0OyAgCQkJY29udGludWU7PGJyPjxicj4KJmd0OyBk aWZmIC0tZ2l0IGEvdGVzdC9yZXBsaWNhdGlvbi9yZXBsaWNhc2V0X3JvX21vc3RseS50ZXN0Lmx1 YSBiL3Rlc3QvcmVwbGljYXRpb24vcmVwbGljYXNldF9yb19tb3N0bHkudGVzdC5sdWE8YnI+CiZn dDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+CiZndDsgaW5kZXggMDAwMDAwMDAwLi41MzljYTVh MTM8YnI+CiZndDsgLS0tIC9kZXYvbnVsbDxicj4KJmd0OyArKysgYi90ZXN0L3JlcGxpY2F0aW9u L3JlcGxpY2FzZXRfcm9fbW9zdGx5LnRlc3QubHVhPGJyPgomZ3Q7IEBAIC0wLDAgKzEsMzAgQEA8 YnI+CiZndDsgKy0tIGdoLTMyNTcgY2hlY2sgYm9vdHN0cmFwIHdpdGggcmVhZC1vbmx5IHJlcGxp Y2EgaW4gY2x1c3Rlci48YnI+CiZndDsgKy0tIE9sZCBiZWhhdmlvdXI6IGZhaWxlZCwgc2luY2Ug cmVhZC1vbmx5IGlzIGNob3NlbiBieSB1dWlkLjxicj4KJmd0OyArdGVzdF9ydW4gPSByZXF1aXJl KCd0ZXN0X3J1bicpLm5ldygpPGJyPgomZ3Q7ICs8YnI+CiZndDsgK1NFUlZFUlMgPSB7J3JlcGxp Y2FfdXVpZF9ybzEnLCAncmVwbGljYV91dWlkX3JvMid9PGJyPgomZ3Q7ICs8YnI+CiZndDsgK3V1 aWQgPSByZXF1aXJlKCd1dWlkJyk8YnI+CiZndDsgK3V1aWQxID0gdXVpZC5uZXcoKTxicj4KJmd0 OyArdXVpZDIgPSB1dWlkLm5ldygpPGJyPgomZ3Q7ICtmdW5jdGlvbiBzb3J0X2NtcChhLCBiKSBy ZXR1cm4gYS50aW1lX2xvdyAmZ3Q7IGIudGltZV9sb3cgYW5kIHRydWUgb3IgZmFsc2UgZW5kPGJy PgomZ3Q7ICtmdW5jdGlvbiBzb3J0KHQpIHRhYmxlLnNvcnQodCwgc29ydF9jbXApIHJldHVybiB0 IGVuZDxicj4KJmd0OyArVVVJRCA9IHNvcnQoe3V1aWQxLCB1dWlkMn0sIHNvcnRfY21wKTxicj48 YnI+CkkgZG9uJ3QgdGhpbmsgeW91IHJlYWxseSBuZWVkIHRvIHNldCBVVUlEIGV4cGxpY2l0bHku IElmIHlvdSBkb24ndCwgdGhlPGJyPgp0ZXN0IHdpbGwgZmFpbCBxdWl0ZSBvZnRlbiBhbnl3YXku PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPkl0J3MgdG8gbWFrZSBpdCAxMDAl IHJlcHJvZHVjaWJsZS4gSW4gb3RoZXIgY2FzZXMgaXQncyBhIHByb2JhYmlsaXR5IHRlc3QgKG5v dCBnb29kKS48YnI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1 N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdiBpZD0iIj48ZGl2IGNs YXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTUyMzYw OTcxMjAwMDAwMDAwMDBfQk9EWSI+PGJyPjxicj4KJmd0OyArPGJyPgomZ3Q7ICtjcmVhdGVfY2x1 c3Rlcl9jbWQxID0gJ2NyZWF0ZSBzZXJ2ZXIgJXMgd2l0aCBzY3JpcHQ9InJlcGxpY2F0aW9uLyVz Lmx1YSInPGJyPgomZ3Q7ICtjcmVhdGVfY2x1c3Rlcl9jbWQyID0gJ3N0YXJ0IHNlcnZlciAlcyB3 aXRoIGFyZ3M9IiVzIiwgd2FpdF9sb2FkPUZhbHNlLCB3YWl0PUZhbHNlJzxicj4KJmd0OyArPGJy PgomZ3Q7ICt0ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIik8YnI+CiZndDsgK2Z1 bmN0aW9uIGNyZWF0ZV9jbHVzdGVyX3V1aWQoc2VydmVycywgdXVpZHMpPGJyPgomZ3Q7ICsgICAg Zm9yIGksIG5hbWUgaW4gaXBhaXJzKHNlcnZlcnMpIGRvPGJyPgomZ3Q7ICsgICAgICAgIHRlc3Rf cnVuOmNtZChjcmVhdGVfY2x1c3Rlcl9jbWQxOmZvcm1hdChuYW1lLCBuYW1lKSk8YnI+CiZndDsg KyAgICAgICAgdGVzdF9ydW46Y21kKGNyZWF0ZV9jbHVzdGVyX2NtZDI6Zm9ybWF0KG5hbWUsIHV1 aWRzW2ldKSk8YnI+CiZndDsgKyAgICBlbmQ8YnI+CiZndDsgK2VuZDs8YnI+CiZndDsgK3Rlc3Rf cnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnJyIpOzxicj4KJmd0OyArPGJyPgomZ3Q7ICstLSBE ZXBsb3kgYSBjbHVzdGVyLjxicj4KJmd0OyArY3JlYXRlX2NsdXN0ZXJfdXVpZChTRVJWRVJTLCBV VUlEKTxicj4KJmd0OyArdGVzdF9ydW46d2FpdF9mdWxsbWVzaChTRVJWRVJTKTxicj4KJmd0OyAr LS0gQ2xlYW51cC48YnI+CiZndDsgK3Rlc3RfcnVuOmRyb3BfY2x1c3RlcihTRVJWRVJTKTxicj48 YnI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPgo8YnI+Cjxicj5CZXN0IHJl Z2FyZHMsPGJyPktvbnN0YW50aW4gQmVseWF2c2tpeTxicj5rLmJlbHlhdnNraXlAdGFyYW50b29s Lm9yZzxicj48L0JPRFk+PC9IVE1MPgo= ----ALT--HRlPDMyhuU5i1piP8DHo7B1u9MlfUBcP1523618014--