From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-40131.protonmail.ch (mail-40131.protonmail.ch [185.70.40.131]) by mx.groups.io with SMTP id smtpd.web09.5323.1581681329468902018 for ; Fri, 14 Feb 2020 03:55:30 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@protonmail.com header.s=default header.b=UgRdLgHh; spf=pass (domain: protonmail.com, ip: 185.70.40.131, mailfrom: vit9696@protonmail.com) Date: Fri, 14 Feb 2020 11:55:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=default; t=1581681327; bh=mZAoGTLvv2OkABBwSMIsPzXUwrAOdbEBcFbK0e9SJx4=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:Feedback-ID: From; b=UgRdLgHhwHsLpjk48UENghbapo+l5i4aKgv8Sfi5Ly/5nNHEWwYhlNR4KL358jHoK oZ1KRGepL/l7hpLTA5kzb/vkcVvfxs+13EDgqEH/r0q4uokC0p2r1lWhbp47wvEhLb 8x/WmCj3rPf4piGaGQOOv3G9Hd/N9tNLJa4Hcr88= To: devel@edk2.groups.io, "Gao, Liming" From: "Vitaly Cheptsov" Reply-To: vit9696 Subject: Re: [PATCH 1/1] ShellPkg: Add support for input with separately reported modifiers Message-ID: <5kNpoOQqbYv1ILD0wgOgQWFk1nCLPZbQKTBUS-yJLh81Czy06ajZ60Vi3tc95UH2zWHZKlrABCUjqYfoCtFcUfnNxA62jpqfzj83vgCkhm8=@protonmail.com> In-Reply-To: <20200210101811.18741-2-vit9696@protonmail.com> References: <20200210101811.18741-1-vit9696@protonmail.com> <20200210101811.18741-2-vit9696@protonmail.com> Feedback-ID: p9QuX-L1wMgUm6nrSvNrf8juLupNs0VSnzXGVXuYDxlEahFdWtaedWDMB9zpwGDklGt7kzs1-RBc0cqz327Gcg==:Ext:ProtonMail MIME-Version: 1.0 X-Spam-Status: No, score=-0.7 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,FREEMAIL_REPLYTO_END_DIGIT,HTML_MESSAGE shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mail.protonmail.ch Content-Type: multipart/alternative; boundary="b1_7634b6e34d48598a28fd65df5a73c2d7" --b1_7634b6e34d48598a28fd65df5a73c2d7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 UmVwbHlpbmcgYXMgcGVyIExpbWluZydzIHJlcXVlc3QgZm9yIHRoaXMgdG8gYmUgbWVyZ2VkIGlu dG8gZWRrMi1zdGFibGUyMDIwMDIuCgpPbiBNb24sIEZlYiAxMCwgMjAyMCBhdCAxMzoxOCwgVml0 YWx5IENoZXB0c292IDx2aXQ5Njk2QHByb3Rvbm1haWwuY29tPiB3cm90ZToKCj4gUkVGOiBodHRw czovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI1MTAKPgo+IFNvbWUg ZmlybXdhcmVzOgo+IC0gUmVwb3J0IFNoaWZ0IG1vZGlmaWVyIGV2ZW4gd2hlbiB0aGV5IHJlcG9y dCB1cHBlci1jYXNlIHVuaWNvZGUgbGV0dGVyLgo+IC0gUmVwb3J0IEN0cmwgbW9kaWZpZXIgd2l0 aCAic2hpZnRlZCIgVW5pQ2hhciAoaS5lLiBYIC0gJ0EnICsgMSkuCj4KPiBUaGlzIGNoYW5nZSBw cm92aWRlcyBzdXBwb3J0IGZvciB0aGVzZSBmaXJtd2FyZXMgcHJlc2VydmluZyB0aGUgY29tcGF0 aWJpbGl0eQo+IHdpdGggdGhlIHByZXZpb3VzIGlucHV0IGhhbmRsaW5nLgo+Cj4gU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBCZWx5YWV2IDx1c3Jzc2UyQGljbG91ZC5jb20+Cj4gUmV2aWV3ZWQtYnk6 IFZpdGFseSBDaGVwdHNvdiA8dml0OTY5NkBwcm90b25tYWlsLmNvbT4KPiAtLS0KPiBTaGVsbFBr Zy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0VkaXQvTWFpblRleHRFZGl0b3Iu YyB8IDM3ICsrKysrKysrKysrKysrLS0tLS0tCj4gU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxE ZWJ1ZzFDb21tYW5kc0xpYi9FZGl0SW5wdXRCYXIuYyB8IDI4ICsrKysrKysrKystLS0tLQo+IFNo ZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdE1lbnVCYXIuYyB8 IDYgKysrKwo+IFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvSGV4 RWRpdC9NYWluSGV4RWRpdG9yLmMgfCAxMSArKystLS0KPiA0IGZpbGVzIGNoYW5nZWQsIDU4IGlu c2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL1NoZWxsUGtnL0xp YnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdC9NYWluVGV4dEVkaXRvci5jIGIv U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9FZGl0L01haW5UZXh0 RWRpdG9yLmMKPiBpbmRleCBkZjUzMGYxMTE5Li45NjE1YTRkZmJkIDEwMDY0NAo+IC0tLSBhL1No ZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdC9NYWluVGV4dEVk aXRvci5jCj4gKysrIGIvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xp Yi9FZGl0L01haW5UZXh0RWRpdG9yLmMKPiBAQCAtMTM4MSw4ICsxMzgxLDggQEAgTWFpbkNvbW1h bmREaXNwbGF5SGVscCAoCj4gY29udGludWU7Cj4gfQo+Cj4gLSBpZiAoKChLZXlEYXRhLktleVN0 YXRlLktleVNoaWZ0U3RhdGUgJiBFRklfU0hJRlRfU1RBVEVfVkFMSUQpID09IDApIHx8Cj4gLSAo S2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlID09IEVGSV9TSElGVF9TVEFURV9WQUxJRCkp IHsKPiArIGlmICgoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIEVGSV9TSElGVF9T VEFURV9WQUxJRCkgPT0gMCkKPiArIHx8IChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUg PT0gRUZJX1NISUZUX1NUQVRFX1ZBTElEKSkgewo+IC8vCj4gLy8gRm9yIGNvbnNvbGVzIHRoYXQg ZG9uJ3Qgc3VwcG9ydC9yZXBvcnQgc2hpZnQgc3RhdGUsCj4gLy8gQ1RSTCtXIGlzIHRyYW5zbGF0 ZWQgdG8gTCdXJyAtIEwnQScgKyAxLgo+IEBAIC0xMzkwLDE0ICsxMzkwLDE3IEBAIE1haW5Db21t YW5kRGlzcGxheUhlbHAgKAo+IGlmIChLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSBMJ1cnIC0g TCdBJyArIDEpIHsKPiBicmVhazsKPiB9Cj4gLSB9IGVsc2UgaWYgKCgoS2V5RGF0YS5LZXlTdGF0 ZS5LZXlTaGlmdFN0YXRlICYgRUZJX1NISUZUX1NUQVRFX1ZBTElEKSAhPSAwKSAmJgo+IC0gKChL ZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgJiAoRUZJX0xFRlRfQ09OVFJPTF9QUkVTU0VE IHwgRUZJX1JJR0hUX0NPTlRST0xfUFJFU1NFRCkpICE9IDApICYmCj4gLSAoKEtleURhdGEuS2V5 U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIH4oRUZJX1NISUZUX1NUQVRFX1ZBTElEIHwgRUZJX0xFRlRf Q09OVFJPTF9QUkVTU0VEIHwgRUZJX1JJR0hUX0NPTlRST0xfUFJFU1NFRCkpID09IDApKSB7Cj4g KyB9IGVsc2UgaWYgKCgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICYgRUZJX1NISUZU X1NUQVRFX1ZBTElEKSAhPSAwKQo+ICsgJiYgKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3Rh dGUgJiAoRUZJX0xFRlRfQ09OVFJPTF9QUkVTU0VEIHwgRUZJX1JJR0hUX0NPTlRST0xfUFJFU1NF RCkpICE9IDApCj4gKyAmJiAoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIH4oRUZJ X1NISUZUX1NUQVRFX1ZBTElEIHwgRUZJX0xFRlRfQ09OVFJPTF9QUkVTU0VEIHwgRUZJX1JJR0hU X0NPTlRST0xfUFJFU1NFRCkpID09IDApKSB7Cj4gLy8KPiAvLyBGb3IgY29uc29sZXMgdGhhdCBz dXBwb3J0cy9yZXBvcnRzIHNoaWZ0IHN0YXRlLAo+IC8vIG1ha2Ugc3VyZSB0aGF0IG9ubHkgQ09O VFJPTCBzaGlmdCBrZXkgaXMgcHJlc3NlZC4KPiArIC8vIEZvciBzb21lIGNvbnNvbGVzIHRoYXQg cmVwb3J0IHNoaWZ0IHN0YXRlLAo+ICsgLy8gQ1RSTCtXIGlzIHN0aWxsIHRyYW5zbGF0ZWQgdG8g TCdXJyAtIEwnQScgKyAxLgo+IC8vCj4gLSBpZiAoKEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09 ICd3JykgfHwgKEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09ICdXJykpIHsKPiArIGlmICgoS2V5 RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gTCd3JykgfHwgKEtleURhdGEuS2V5LlVuaWNvZGVDaGFy ID09IEwnVycpCj4gKyB8fCAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gTCd3JyAtIEwnYScg KyAxKSB8fCAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gTCdXJyAtIEwnQScgKyAxKSkgewo+ IGJyZWFrOwo+IH0KPiB9Cj4gQEAgLTE4MzQsNyArMTgzNyw4IEBAIE1haW5FZGl0b3JLZXlJbnB1 dCAoCj4gRUZJX0tFWV9EQVRBIEtleURhdGE7Cj4gRUZJX1NUQVRVUyBTdGF0dXM7Cj4gRUZJX1NJ TVBMRV9QT0lOVEVSX1NUQVRFIE1vdXNlU3RhdGU7Cj4gLSBCT09MRUFOIE5vU2hpZnRTdGF0ZTsK PiArIEJPT0xFQU4gTm9Nb2RpZmllclN0YXRlOwo+ICsgQk9PTEVBTiBTaGlmdE9ubHlTdGF0ZTsK Pgo+IGRvIHsKPgo+IEBAIC0xODg2LDE3ICsxODkwLDI4IEBAIE1haW5FZGl0b3JLZXlJbnB1dCAo Cj4gLy8KPiBTdGF0dXNCYXJTZXRSZWZyZXNoKCk7Cj4gLy8KPiAtIC8vIE5vU2hpZnRTdGF0ZTog VFJVRSB3aGVuIG5vIHNoaWZ0IGtleSBpcyBwcmVzc2VkLgo+ICsgLy8gTm9Nb2RpZmllclN0YXRl OiBUUlVFIHdoZW4gbm8gbW9kaWZpZXIga2V5IGlzIHByZXNzZWQuCj4gLy8KPiAtIE5vU2hpZnRT dGF0ZSA9ICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICYgRUZJX1NISUZUX1NUQVRF X1ZBTElEKSA9PSAwKSB8fCAoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlID09IEVGSV9T SElGVF9TVEFURV9WQUxJRCk7Cj4gKyBOb01vZGlmaWVyU3RhdGUgPSAoKEtleURhdGEuS2V5U3Rh dGUuS2V5U2hpZnRTdGF0ZSAmIEVGSV9TSElGVF9TVEFURV9WQUxJRCkgPT0gMCkKPiArIHx8IChL ZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgPT0gRUZJX1NISUZUX1NUQVRFX1ZBTElEKTsK PiArIC8vCj4gKyAvLyBTaGlmdE9ubHlTdGF0ZTogVFJVRSB3aGVuIG5vIG1vZGlmaWVyIGtleSBl eGNlcHQgU2hpZnQgaXMgcHJlc3NlZC4KPiArIC8vCj4gKyBTaGlmdE9ubHlTdGF0ZSA9ICgoS2V5 RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICYgRUZJX1NISUZUX1NUQVRFX1ZBTElEKSA9PSAw KQo+ICsgfHwgKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUKPiArICYgfihFRklfU0hJ RlRfU1RBVEVfVkFMSUQgfCBFRklfTEVGVF9TSElGVF9QUkVTU0VEIHwgRUZJX1JJR0hUX1NISUZU X1BSRVNTRUQpKSA9PSAwKTsKPiAvLwo+IC8vIGRpc3BhdGNoIHRvIGRpZmZlcmVudCBjb21wb25l bnRzJyBrZXkgaGFuZGxpbmcgZnVuY3Rpb24KPiAvLwo+IGlmIChFRklfTk9UX0ZPVU5EICE9IE1l bnVCYXJEaXNwYXRjaENvbnRyb2xIb3RLZXkoJktleURhdGEpKSB7Cj4gU3RhdHVzID0gRUZJX1NV Q0NFU1M7Cj4gLSB9IGVsc2UgaWYgKE5vU2hpZnRTdGF0ZSAmJiAoKEtleURhdGEuS2V5LlNjYW5D b2RlID09IFNDQU5fTlVMTCkgfHwgKChLZXlEYXRhLktleS5TY2FuQ29kZSA+PSBTQ0FOX1VQKSAm JiAoS2V5RGF0YS5LZXkuU2NhbkNvZGUgPD0gU0NBTl9QQUdFX0RPV04pKSkpIHsKPiArIH0gZWxz ZSBpZiAoKFNoaWZ0T25seVN0YXRlICYmIChLZXlEYXRhLktleS5TY2FuQ29kZSA9PSBTQ0FOX05V TEwpKQo+ICsgfHwgKE5vTW9kaWZpZXJTdGF0ZSAmJiAoS2V5RGF0YS5LZXkuU2NhbkNvZGUgPj0g U0NBTl9VUCkgJiYgKEtleURhdGEuS2V5LlNjYW5Db2RlIDw9IFNDQU5fUEFHRV9ET1dOKSkpIHsK PiArIC8vCj4gKyAvLyBhbHBoYW51bWVyaWMga2V5cyB3aXRoIG9yIHdpdGhvdXQgc2hpZnQsIG9y IGFycm93IGtleXMgd2l0aG91dCBzaGlmdAo+ICsgLy8KPiBTdGF0dXMgPSBGaWxlQnVmZmVySGFu ZGxlSW5wdXQgKCZLZXlEYXRhLktleSk7Cj4gLSB9IGVsc2UgaWYgKE5vU2hpZnRTdGF0ZSAmJiAo S2V5RGF0YS5LZXkuU2NhbkNvZGUgPj0gU0NBTl9GMSkgJiYgKEtleURhdGEuS2V5LlNjYW5Db2Rl IDw9IFNDQU5fRjEyKSkgewo+ICsgfSBlbHNlIGlmIChOb01vZGlmaWVyU3RhdGUgJiYgKEtleURh dGEuS2V5LlNjYW5Db2RlID49IFNDQU5fRjEpICYmIChLZXlEYXRhLktleS5TY2FuQ29kZSA8PSBT Q0FOX0YxMikpIHsKPiBTdGF0dXMgPSBNZW51QmFyRGlzcGF0Y2hGdW5jdGlvbktleSAoJktleURh dGEuS2V5KTsKPiB9IGVsc2Ugewo+IFN0YXR1c0JhclNldFN0YXR1c1N0cmluZyAoTCJVbmtub3du IENvbW1hbmQiKTsKPiBkaWZmIC0tZ2l0IGEvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1 ZzFDb21tYW5kc0xpYi9FZGl0SW5wdXRCYXIuYyBiL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxs RGVidWcxQ29tbWFuZHNMaWIvRWRpdElucHV0QmFyLmMKPiBpbmRleCAzNWIwYjcwMWU4Li5kMDUz MDU5MjIwIDEwMDY0NAo+IC0tLSBhL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29t bWFuZHNMaWIvRWRpdElucHV0QmFyLmMKPiArKysgYi9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVs bERlYnVnMUNvbW1hbmRzTGliL0VkaXRJbnB1dEJhci5jCj4gQEAgLTEzMCw2ICsxMzAsOCBAQCBJ bnB1dEJhclJlZnJlc2ggKAo+IFVJTlROIEV2ZW50SW5kZXg7Cj4gVUlOVE4gQ3Vyc29yUm93Owo+ IFVJTlROIEN1cnNvckNvbDsKPiArIEJPT0xFQU4gU2hpZnRQcmVzc2VkOwo+ICsgQk9PTEVBTiBN b2RpZmllcnNQcmVzc2VkOwo+Cj4gLy8KPiAvLyB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgo+IEBA IC0xODAsMTcgKzE4MiwyMyBAQCBJbnB1dEJhclJlZnJlc2ggKAo+IGlmIChFRklfRVJST1IgKFN0 YXR1cykpIHsKPiBjb250aW51ZTsKPiB9Cj4gLSBpZiAoKChLZXlEYXRhLktleVN0YXRlLktleVNo aWZ0U3RhdGUgJiBFRklfU0hJRlRfU1RBVEVfVkFMSUQpICE9IDApICYmCj4gLSAoS2V5RGF0YS5L ZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICE9IEVGSV9TSElGVF9TVEFURV9WQUxJRCkpIHsKPiAtIC8v Cj4gLSAvLyBTaGlmdCBrZXkgcHJlc3NlZC4KPiAtIC8vCj4gKyBNb2RpZmllcnNQcmVzc2VkID0g KChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgJiBFRklfU0hJRlRfU1RBVEVfVkFMSUQp ICE9IDApCj4gKyAmJiAoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICE9IEVGSV9TSElG VF9TVEFURV9WQUxJRCk7Cj4gKwo+ICsgLy8KPiArIC8vIFRSVUUgaWYgU2hpZnQgaXMgcHJlc3Nl ZCBhbmQgbm8gb3RoZXIgbW9kaWZpZXJzIGFyZSBwcmVzc2VkCj4gKyAvLwo+ICsgU2hpZnRQcmVz c2VkID0gTW9kaWZpZXJzUHJlc3NlZCAmJgo+ICsgKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0 U3RhdGUgJgo+ICsgfihFRklfU0hJRlRfU1RBVEVfVkFMSUQgfCBFRklfTEVGVF9TSElGVF9QUkVT U0VEIHwgRUZJX1JJR0hUX1NISUZUX1BSRVNTRUQpKSA9PSAwKTsKPiArCj4gKyBpZiAoTW9kaWZp ZXJzUHJlc3NlZCAmJiAhU2hpZnRQcmVzc2VkKSB7Cj4gY29udGludWU7Cj4gfQo+IC8vCj4gLy8g cHJlc3NlZCBFU0MKPiAvLwo+IC0gaWYgKEtleURhdGEuS2V5LlNjYW5Db2RlID09IFNDQU5fRVND KSB7Cj4gKyBpZiAoIU1vZGlmaWVyc1ByZXNzZWQgJiYgS2V5RGF0YS5LZXkuU2NhbkNvZGUgPT0g U0NBTl9FU0MpIHsKPiBTaXplID0gMDsKPiBTdGF0dXMgPSBFRklfTk9UX1JFQURZOwo+IGJyZWFr Owo+IEBAIC0xOTgsOSArMjA2LDEwIEBAIElucHV0QmFyUmVmcmVzaCAoCj4gLy8KPiAvLyByZXR1 cm4gcHJlc3NlZAo+IC8vCj4gLSBpZiAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gQ0hBUl9M SU5FRkVFRCB8fCBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSBDSEFSX0NBUlJJQUdFX1JFVFVS Tikgewo+ICsgaWYgKCFNb2RpZmllcnNQcmVzc2VkCj4gKyAmJiAoS2V5RGF0YS5LZXkuVW5pY29k ZUNoYXIgPT0gQ0hBUl9MSU5FRkVFRCB8fCBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSBDSEFS X0NBUlJJQUdFX1JFVFVSTikpIHsKPiBicmVhazsKPiAtIH0gZWxzZSBpZiAoS2V5RGF0YS5LZXku VW5pY29kZUNoYXIgPT0gQ0hBUl9CQUNLU1BBQ0UpIHsKPiArIH0gZWxzZSBpZiAoIU1vZGlmaWVy c1ByZXNzZWQgJiYgS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gQ0hBUl9CQUNLU1BBQ0UpIHsK PiAvLwo+IC8vIGJhY2tzcGFjZQo+IC8vCj4gQEAgLTIxMyw3ICsyMjIsOCBAQCBJbnB1dEJhclJl ZnJlc2ggKAo+Cj4gfQo+IH0KPiAtIH0gZWxzZSBpZiAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIg PD0gMTI3ICYmIEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID49IDMyKSB7Cj4gKyB9IGVsc2UgaWYg KCghTW9kaWZpZXJzUHJlc3NlZCB8fCBTaGlmdFByZXNzZWQpCj4gKyAmJiBLZXlEYXRhLktleS5V bmljb2RlQ2hhciA8PSAxMjcgJiYgS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPj0gMzIpIHsKPiAv Lwo+IC8vIFZBTElEIEFTQ0lJIGNoYXIgcHJlc3NlZAo+IC8vCj4gZGlmZiAtLWdpdCBhL1NoZWxs UGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdE1lbnVCYXIuYyBiL1No ZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdE1lbnVCYXIuYwo+ IGluZGV4IGNhOGJjNTA2ZDkuLmVhYmJmM2M1NzEgMTAwNjQ0Cj4gLS0tIGEvU2hlbGxQa2cvTGli cmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9FZGl0TWVudUJhci5jCj4gKysrIGIvU2hl bGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9FZGl0TWVudUJhci5jCj4g QEAgLTE5MCwxMSArMTkwLDE3IEBAIE1lbnVCYXJEaXNwYXRjaENvbnRyb2xIb3RLZXkgKAo+IC8v Cj4gLy8gRm9yIGNvbnNvbGVzIHRoYXQgc3VwcG9ydHMvcmVwb3J0cyBzaGlmdCBzdGF0ZSwKPiAv LyBtYWtlIHN1cmUgb25seSBDT05UUk9MIGlzIHByZXNzZWQuCj4gKyAvLyBGb3Igc29tZSBjb25z b2xlcyB0aGF0IHJlcG9ydCBzaGlmdCBzdGF0ZSwKPiArIC8vIEN0cmwrQSBpcyBzdGlsbCB0cmFu c2xhdGVkIHRvIDEgKFVuaWNvZGVDaGFyKS4KPiAvLwo+IGlmICgoS2V5RGF0YS0+S2V5LlVuaWNv ZGVDaGFyID49IEwnQScpICYmIChLZXlEYXRhLT5LZXkuVW5pY29kZUNoYXIgPD0gTCdaJykpIHsK PiBDb250cm9sSW5kZXggPSBLZXlEYXRhLT5LZXkuVW5pY29kZUNoYXIgLSBMJ0EnICsgMTsKPiB9 IGVsc2UgaWYgKChLZXlEYXRhLT5LZXkuVW5pY29kZUNoYXIgPj0gTCdhJykgJiYgKEtleURhdGEt PktleS5Vbmljb2RlQ2hhciA8PSBMJ3onKSkgewo+IENvbnRyb2xJbmRleCA9IEtleURhdGEtPktl eS5Vbmljb2RlQ2hhciAtIEwnYScgKyAxOwo+ICsgfSBlbHNlIGlmICgoS2V5RGF0YS0+S2V5LlVu aWNvZGVDaGFyID49IEwnQScgLSBMJ0EnICsgMSkgJiYgKEtleURhdGEtPktleS5Vbmljb2RlQ2hh ciA8PSBMJ1onIC0gTCdBJyArIDEpKSB7Cj4gKyBDb250cm9sSW5kZXggPSBLZXlEYXRhLT5LZXku VW5pY29kZUNoYXI7Cj4gKyB9IGVsc2UgaWYgKChLZXlEYXRhLT5LZXkuVW5pY29kZUNoYXIgPj0g TCdhJyAtIEwnYScgKyAxKSAmJiAoS2V5RGF0YS0+S2V5LlVuaWNvZGVDaGFyIDw9IEwneicgLSBM J3onICsgMSkpIHsKPiArIENvbnRyb2xJbmRleCA9IEtleURhdGEtPktleS5Vbmljb2RlQ2hhcjsK PiB9Cj4gfQo+IGlmICgoU0NBTl9DT05UUk9MX1ogPCBDb250cm9sSW5kZXgpCj4gZGlmZiAtLWdp dCBhL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvSGV4RWRpdC9N YWluSGV4RWRpdG9yLmMgYi9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRz TGliL0hleEVkaXQvTWFpbkhleEVkaXRvci5jCj4gaW5kZXggYTAwZGY0OWQzOC4uMzk0ZTUzMWMx NiAxMDA2NDQKPiAtLS0gYS9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRz TGliL0hleEVkaXQvTWFpbkhleEVkaXRvci5jCj4gKysrIGIvU2hlbGxQa2cvTGlicmFyeS9VZWZp U2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9IZXhFZGl0L01haW5IZXhFZGl0b3IuYwo+IEBAIC0xMzcs MTQgKzEzNywxNyBAQCBITWFpbkNvbW1hbmREaXNwbGF5SGVscCAoCj4gaWYgKEtleURhdGEuS2V5 LlVuaWNvZGVDaGFyID09IEwnVycgLSBMJ0EnICsgMSkgewo+IGJyZWFrOwo+IH0KPiAtIH0gZWxz ZSBpZiAoKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgJiBFRklfU0hJRlRfU1RBVEVf VkFMSUQpICE9IDApICYmCj4gLSAoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIChF RklfTEVGVF9DT05UUk9MX1BSRVNTRUQgfCBFRklfUklHSFRfQ09OVFJPTF9QUkVTU0VEKSkgIT0g MCkgJiYKPiAtICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICYgfihFRklfU0hJRlRf U1RBVEVfVkFMSUQgfCBFRklfTEVGVF9DT05UUk9MX1BSRVNTRUQgfCBFRklfUklHSFRfQ09OVFJP TF9QUkVTU0VEKSkgPT0gMCkpIHsKPiArIH0gZWxzZSBpZiAoKChLZXlEYXRhLktleVN0YXRlLktl eVNoaWZ0U3RhdGUgJiBFRklfU0hJRlRfU1RBVEVfVkFMSUQpICE9IDApCj4gKyAmJiAoKEtleURh dGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIChFRklfTEVGVF9DT05UUk9MX1BSRVNTRUQgfCBF RklfUklHSFRfQ09OVFJPTF9QUkVTU0VEKSkgIT0gMCkKPiArICYmICgoS2V5RGF0YS5LZXlTdGF0 ZS5LZXlTaGlmdFN0YXRlICYgfihFRklfU0hJRlRfU1RBVEVfVkFMSUQgfCBFRklfTEVGVF9DT05U Uk9MX1BSRVNTRUQgfCBFRklfUklHSFRfQ09OVFJPTF9QUkVTU0VEKSkgPT0gMCkpIHsKPiAvLwo+ IC8vIEZvciBjb25zb2xlcyB0aGF0IHN1cHBvcnRzL3JlcG9ydHMgc2hpZnQgc3RhdGUsCj4gLy8g bWFrZSBzdXJlIHRoYXQgb25seSBDT05UUk9MIHNoaWZ0IGtleSBpcyBwcmVzc2VkLgo+ICsgLy8g Rm9yIHNvbWUgY29uc29sZXMgdGhhdCByZXBvcnQgc2hpZnQgc3RhdGUsCj4gKyAvLyBDVFJMK1cg aXMgc3RpbGwgdHJhbnNsYXRlZCB0byBMJ1cnIC0gTCdBJyArIDEuCj4gLy8KPiAtIGlmICgoS2V5 RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gJ3cnKSB8fCAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIg PT0gJ1cnKSkgewo+ICsgaWYgKChLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSAndycpIHx8IChL ZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSAnVycpCj4gKyB8fCAoS2V5RGF0YS5LZXkuVW5pY29k ZUNoYXIgPT0gTCd3JyAtIEwnYScgKyAxKSB8fCAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0g TCdXJyAtIEwnQScgKyAxKSkgewo+IGJyZWFrOwo+IH0KPiB9Cj4gLS0KPiAyLjIxLjEgKEFwcGxl IEdpdC0xMjIuMyk= --b1_7634b6e34d48598a28fd65df5a73c2d7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 ICAgIDxkaXY+PHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoODAsIDgwLCA5Nyk7Ij5SZXBs eWluZyBhcyBwZXIgTGltaW5nJ3MgcmVxdWVzdCBmb3IgdGhpcyB0byBiZSBtZXJnZWQgaW50byZu YnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYig1MSwgNTEsIDUxKTsgY29s b3I6IHJnYig1MSwgNTEsIDUxKTsgZm9udC1mYW1pbHk6ICZxdW90O0hlbHZldGljYSBOZXVlJnF1 b3Q7LCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IC13ZWJr aXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXNp emUtYWRqdXN0OiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij5l ZGsyLXN0YWJsZTIwMjAwMi48Y2FyZXQ+PC9jYXJldD48L3NwYW4+PGJyPjwvZGl2PjxkaXY+PGJy PjwvZGl2Pk9uIE1vbiwgRmViIDEwLCAyMDIwIGF0IDEzOjE4LCBWaXRhbHkgQ2hlcHRzb3YgJmx0 OzxhIGhyZWY9Im1haWx0bzp2aXQ5Njk2QHByb3Rvbm1haWwuY29tIiBjbGFzcz0iIj52aXQ5Njk2 QHByb3Rvbm1haWwuY29tPC9hPiZndDsgd3JvdGU6PGJsb2NrcXVvdGUgY2xhc3M9InByb3Rvbm1h aWxfcXVvdGUiIHR5cGU9ImNpdGUiPiAgUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5v cmcvc2hvd19idWcuY2dpP2lkPTI1MTA8YnI+PGJyPlNvbWUgZmlybXdhcmVzOjxicj4tIFJlcG9y dCBTaGlmdCBtb2RpZmllciBldmVuIHdoZW4gdGhleSByZXBvcnQgdXBwZXItY2FzZSB1bmljb2Rl IGxldHRlci48YnI+LSBSZXBvcnQgQ3RybCBtb2RpZmllciB3aXRoICJzaGlmdGVkIiBVbmlDaGFy IChpLmUuIFggLSAnQScgKyAxKS48YnI+PGJyPlRoaXMgY2hhbmdlIHByb3ZpZGVzIHN1cHBvcnQg Zm9yIHRoZXNlIGZpcm13YXJlcyBwcmVzZXJ2aW5nIHRoZSBjb21wYXRpYmlsaXR5PGJyPndpdGgg dGhlIHByZXZpb3VzIGlucHV0IGhhbmRsaW5nLjxicj48YnI+U2lnbmVkLW9mZi1ieTogTWljaGFl bCBCZWx5YWV2ICZsdDt1c3Jzc2UyQGljbG91ZC5jb20mZ3Q7PGJyPlJldmlld2VkLWJ5OiBWaXRh bHkgQ2hlcHRzb3YgJmx0O3ZpdDk2OTZAcHJvdG9ubWFpbC5jb20mZ3Q7PGJyPi0tLTxicj4gU2hl bGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9FZGl0L01haW5UZXh0RWRp dG9yLmMgICB8IDM3ICsrKysrKysrKysrKysrLS0tLS0tPGJyPiBTaGVsbFBrZy9MaWJyYXJ5L1Vl ZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0VkaXRJbnB1dEJhci5jICAgICAgICAgIHwgMjggKysr KysrKysrKy0tLS0tPGJyPiBTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRz TGliL0VkaXRNZW51QmFyLmMgICAgICAgICAgIHwgIDYgKysrKzxicj4gU2hlbGxQa2cvTGlicmFy eS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9IZXhFZGl0L01haW5IZXhFZGl0b3IuYyB8IDEx ICsrKy0tLTxicj4gNCBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlv bnMoLSk8YnI+PGJyPmRpZmYgLS1naXQgYS9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVn MUNvbW1hbmRzTGliL0VkaXQvTWFpblRleHRFZGl0b3IuYyBiL1NoZWxsUGtnL0xpYnJhcnkvVWVm aVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdC9NYWluVGV4dEVkaXRvci5jPGJyPmluZGV4IGRm NTMwZjExMTkuLjk2MTVhNGRmYmQgMTAwNjQ0PGJyPi0tLSBhL1NoZWxsUGtnL0xpYnJhcnkvVWVm aVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdC9NYWluVGV4dEVkaXRvci5jPGJyPisrKyBiL1No ZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdC9NYWluVGV4dEVk aXRvci5jPGJyPkBAIC0xMzgxLDggKzEzODEsOCBAQCBNYWluQ29tbWFuZERpc3BsYXlIZWxwICg8 YnI+ICAgICAgIGNvbnRpbnVlOzxicj4gICAgIH08YnI+IDxicj4tICAgIGlmICgoKEtleURhdGEu S2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RBVEVfVkFMSUQpID09IDAp IHx8PGJyPi0gICAgICAgIChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgPT0gRUZJX1NI SUZUX1NUQVRFX1ZBTElEKSkgezxicj4rICAgIGlmICgoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hp ZnRTdGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RBVEVfVkFMSUQpID09IDApPGJyPisgICAgICB8fCAo S2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlID09IEVGSV9TSElGVF9TVEFURV9WQUxJRCkp IHs8YnI+ICAgICAgIC8vPGJyPiAgICAgICAvLyBGb3IgY29uc29sZXMgdGhhdCBkb24ndCBzdXBw b3J0L3JlcG9ydCBzaGlmdCBzdGF0ZSw8YnI+ICAgICAgIC8vIENUUkwrVyBpcyB0cmFuc2xhdGVk IHRvIEwnVycgLSBMJ0EnICsgMS48YnI+QEAgLTEzOTAsMTQgKzEzOTAsMTcgQEAgTWFpbkNvbW1h bmREaXNwbGF5SGVscCAoPGJyPiAgICAgICBpZiAoS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0g TCdXJyAtIEwnQScgKyAxKSB7PGJyPiAgICAgICAgIGJyZWFrOzxicj4gICAgICAgfTxicj4tICAg IH0gZWxzZSBpZiAoKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgJmFtcDsgRUZJX1NI SUZUX1NUQVRFX1ZBTElEKSAhPSAwKSAmYW1wOyZhbXA7PGJyPi0gICAgICAgICAgICAgICAoKEtl eURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmYW1wOyAoRUZJX0xFRlRfQ09OVFJPTF9QUkVT U0VEIHwgRUZJX1JJR0hUX0NPTlRST0xfUFJFU1NFRCkpICE9IDApICZhbXA7JmFtcDs8YnI+LSAg ICAgICAgICAgICAgICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICZhbXA7IH4oRUZJ X1NISUZUX1NUQVRFX1ZBTElEIHwgRUZJX0xFRlRfQ09OVFJPTF9QUkVTU0VEIHwgRUZJX1JJR0hU X0NPTlRST0xfUFJFU1NFRCkpID09IDApKSB7PGJyPisgICAgfSBlbHNlIGlmICgoKEtleURhdGEu S2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RBVEVfVkFMSUQpICE9IDAp PGJyPisgICAgICAgICAgICAmYW1wOyZhbXA7ICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0 YXRlICZhbXA7IChFRklfTEVGVF9DT05UUk9MX1BSRVNTRUQgfCBFRklfUklHSFRfQ09OVFJPTF9Q UkVTU0VEKSkgIT0gMCk8YnI+KyAgICAgICAgICAgICZhbXA7JmFtcDsgKChLZXlEYXRhLktleVN0 YXRlLktleVNoaWZ0U3RhdGUgJmFtcDsgfihFRklfU0hJRlRfU1RBVEVfVkFMSUQgfCBFRklfTEVG VF9DT05UUk9MX1BSRVNTRUQgfCBFRklfUklHSFRfQ09OVFJPTF9QUkVTU0VEKSkgPT0gMCkpIHs8 YnI+ICAgICAgIC8vPGJyPiAgICAgICAvLyBGb3IgY29uc29sZXMgdGhhdCBzdXBwb3J0cy9yZXBv cnRzIHNoaWZ0IHN0YXRlLDxicj4gICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb25seSBDT05UUk9M IHNoaWZ0IGtleSBpcyBwcmVzc2VkLjxicj4rICAgICAgLy8gRm9yIHNvbWUgY29uc29sZXMgdGhh dCByZXBvcnQgc2hpZnQgc3RhdGUsPGJyPisgICAgICAvLyBDVFJMK1cgaXMgc3RpbGwgdHJhbnNs YXRlZCB0byBMJ1cnIC0gTCdBJyArIDEuPGJyPiAgICAgICAvLzxicj4tICAgICAgaWYgKChLZXlE YXRhLktleS5Vbmljb2RlQ2hhciA9PSAndycpIHx8IChLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9 PSAnVycpKSB7PGJyPisgICAgICBpZiAoKEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09IEwndycp IHx8IChLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSBMJ1cnKTxicj4rICAgICAgICB8fCAoS2V5 RGF0YS5LZXkuVW5pY29kZUNoYXIgPT0gTCd3JyAtIEwnYScgKyAxKSB8fCAoS2V5RGF0YS5LZXku VW5pY29kZUNoYXIgPT0gTCdXJyAtIEwnQScgKyAxKSkgezxicj4gICAgICAgICBicmVhazs8YnI+ ICAgICAgIH08YnI+ICAgICB9PGJyPkBAIC0xODM0LDcgKzE4MzcsOCBAQCBNYWluRWRpdG9yS2V5 SW5wdXQgKDxicj4gICBFRklfS0VZX0RBVEEgICAgICAgICAgICAgIEtleURhdGE7PGJyPiAgIEVG SV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOzxicj4gICBFRklfU0lNUExFX1BPSU5URVJf U1RBVEUgIE1vdXNlU3RhdGU7PGJyPi0gIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgTm9TaGlm dFN0YXRlOzxicj4rICBCT09MRUFOICAgICAgICAgICAgICAgICAgIE5vTW9kaWZpZXJTdGF0ZTs8 YnI+KyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICBTaGlmdE9ubHlTdGF0ZTs8YnI+IDxicj4g ICBkbyB7PGJyPiA8YnI+QEAgLTE4ODYsMTcgKzE4OTAsMjggQEAgTWFpbkVkaXRvcktleUlucHV0 ICg8YnI+ICAgICAgICAgLy88YnI+ICAgICAgICAgU3RhdHVzQmFyU2V0UmVmcmVzaCgpOzxicj4g ICAgICAgICAvLzxicj4tICAgICAgICAvLyBOb1NoaWZ0U3RhdGU6IFRSVUUgd2hlbiBubyBzaGlm dCBrZXkgaXMgcHJlc3NlZC48YnI+KyAgICAgICAgLy8gTm9Nb2RpZmllclN0YXRlOiBUUlVFIHdo ZW4gbm8gbW9kaWZpZXIga2V5IGlzIHByZXNzZWQuPGJyPiAgICAgICAgIC8vPGJyPi0gICAgICAg IE5vU2hpZnRTdGF0ZSA9ICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICZhbXA7IEVG SV9TSElGVF9TVEFURV9WQUxJRCkgPT0gMCkgfHwgKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRT dGF0ZSA9PSBFRklfU0hJRlRfU1RBVEVfVkFMSUQpOzxicj4rICAgICAgICBOb01vZGlmaWVyU3Rh dGUgPSAoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RB VEVfVkFMSUQpID09IDApPGJyPisgICAgICAgICAgICAgICAgICAgICAgICB8fCAoS2V5RGF0YS5L ZXlTdGF0ZS5LZXlTaGlmdFN0YXRlID09IEVGSV9TSElGVF9TVEFURV9WQUxJRCk7PGJyPisgICAg ICAgIC8vPGJyPisgICAgICAgIC8vIFNoaWZ0T25seVN0YXRlOiBUUlVFIHdoZW4gbm8gbW9kaWZp ZXIga2V5IGV4Y2VwdCBTaGlmdCBpcyBwcmVzc2VkLjxicj4rICAgICAgICAvLzxicj4rICAgICAg ICBTaGlmdE9ubHlTdGF0ZSA9ICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlICZhbXA7 IEVGSV9TSElGVF9TVEFURV9WQUxJRCkgPT0gMCk8YnI+KyAgICAgICAgICAgICAgICAgICAgICAg IHx8ICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRlPGJyPisgICAgICAgICAgICAgICAg ICAgICAgICAgICZhbXA7IH4oRUZJX1NISUZUX1NUQVRFX1ZBTElEIHwgRUZJX0xFRlRfU0hJRlRf UFJFU1NFRCB8IEVGSV9SSUdIVF9TSElGVF9QUkVTU0VEKSkgPT0gMCk7PGJyPiAgICAgICAgIC8v PGJyPiAgICAgICAgIC8vIGRpc3BhdGNoIHRvIGRpZmZlcmVudCBjb21wb25lbnRzJyBrZXkgaGFu ZGxpbmcgZnVuY3Rpb248YnI+ICAgICAgICAgLy88YnI+ICAgICAgICAgaWYgKEVGSV9OT1RfRk9V TkQgIT0gTWVudUJhckRpc3BhdGNoQ29udHJvbEhvdEtleSgmYW1wO0tleURhdGEpKSB7PGJyPiAg ICAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7PGJyPi0gICAgICAgIH0gZWxzZSBpZiAoTm9T aGlmdFN0YXRlICZhbXA7JmFtcDsgKChLZXlEYXRhLktleS5TY2FuQ29kZSA9PSBTQ0FOX05VTEwp IHx8ICgoS2V5RGF0YS5LZXkuU2NhbkNvZGUgJmd0Oz0gU0NBTl9VUCkgJmFtcDsmYW1wOyAoS2V5 RGF0YS5LZXkuU2NhbkNvZGUgJmx0Oz0gU0NBTl9QQUdFX0RPV04pKSkpIHs8YnI+KyAgICAgICAg fSBlbHNlIGlmICgoU2hpZnRPbmx5U3RhdGUgJmFtcDsmYW1wOyAoS2V5RGF0YS5LZXkuU2NhbkNv ZGUgPT0gU0NBTl9OVUxMKSk8YnI+KyAgICAgICAgICAgICAgICB8fCAoTm9Nb2RpZmllclN0YXRl ICZhbXA7JmFtcDsgKEtleURhdGEuS2V5LlNjYW5Db2RlICZndDs9IFNDQU5fVVApICZhbXA7JmFt cDsgKEtleURhdGEuS2V5LlNjYW5Db2RlICZsdDs9IFNDQU5fUEFHRV9ET1dOKSkpIHs8YnI+KyAg ICAgICAgICAvLzxicj4rICAgICAgICAgIC8vIGFscGhhbnVtZXJpYyBrZXlzIHdpdGggb3Igd2l0 aG91dCBzaGlmdCwgb3IgYXJyb3cga2V5cyB3aXRob3V0IHNoaWZ0PGJyPisgICAgICAgICAgLy88 YnI+ICAgICAgICAgICBTdGF0dXMgPSBGaWxlQnVmZmVySGFuZGxlSW5wdXQgKCZhbXA7S2V5RGF0 YS5LZXkpOzxicj4tICAgICAgICB9IGVsc2UgaWYgKE5vU2hpZnRTdGF0ZSAmYW1wOyZhbXA7IChL ZXlEYXRhLktleS5TY2FuQ29kZSAmZ3Q7PSBTQ0FOX0YxKSAmYW1wOyZhbXA7IChLZXlEYXRhLktl eS5TY2FuQ29kZSAmbHQ7PSBTQ0FOX0YxMikpIHs8YnI+KyAgICAgICAgfSBlbHNlIGlmIChOb01v ZGlmaWVyU3RhdGUgJmFtcDsmYW1wOyAoS2V5RGF0YS5LZXkuU2NhbkNvZGUgJmd0Oz0gU0NBTl9G MSkgJmFtcDsmYW1wOyAoS2V5RGF0YS5LZXkuU2NhbkNvZGUgJmx0Oz0gU0NBTl9GMTIpKSB7PGJy PiAgICAgICAgICAgU3RhdHVzID0gTWVudUJhckRpc3BhdGNoRnVuY3Rpb25LZXkgKCZhbXA7S2V5 RGF0YS5LZXkpOzxicj4gICAgICAgICB9IGVsc2Ugezxicj4gICAgICAgICAgIFN0YXR1c0JhclNl dFN0YXR1c1N0cmluZyAoTCJVbmtub3duIENvbW1hbmQiKTs8YnI+ZGlmZiAtLWdpdCBhL1NoZWxs UGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdElucHV0QmFyLmMgYi9T aGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0VkaXRJbnB1dEJhci5j PGJyPmluZGV4IDM1YjBiNzAxZTguLmQwNTMwNTkyMjAgMTAwNjQ0PGJyPi0tLSBhL1NoZWxsUGtn L0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvRWRpdElucHV0QmFyLmM8YnI+Kysr IGIvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9FZGl0SW5wdXRC YXIuYzxicj5AQCAtMTMwLDYgKzEzMCw4IEBAIElucHV0QmFyUmVmcmVzaCAoPGJyPiAgIFVJTlRO ICAgICAgICAgICAgICAgICAgIEV2ZW50SW5kZXg7PGJyPiAgIFVJTlROICAgICAgICAgICAgICAg ICAgIEN1cnNvclJvdzs8YnI+ICAgVUlOVE4gICAgICAgICAgICAgICAgICAgQ3Vyc29yQ29sOzxi cj4rICBCT09MRUFOICAgICAgICAgICAgICAgICBTaGlmdFByZXNzZWQ7PGJyPisgIEJPT0xFQU4g ICAgICAgICAgICAgICAgIE1vZGlmaWVyc1ByZXNzZWQ7PGJyPiA8YnI+ICAgLy88YnI+ICAgLy8g dmFyaWFibGUgaW5pdGlhbGl6YXRpb248YnI+QEAgLTE4MCwxNyArMTgyLDIzIEBAIElucHV0QmFy UmVmcmVzaCAoPGJyPiAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgezxicj4gICAgICAgY29u dGludWU7PGJyPiAgICAgfTxicj4tICAgIGlmICgoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRT dGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RBVEVfVkFMSUQpICE9IDApICZhbXA7JmFtcDs8YnI+LSAg ICAgICAgKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAhPSBFRklfU0hJRlRfU1RBVEVf VkFMSUQpKSB7PGJyPi0gICAgICAvLzxicj4tICAgICAgLy8gU2hpZnQga2V5IHByZXNzZWQuPGJy Pi0gICAgICAvLzxicj4rICAgIE1vZGlmaWVyc1ByZXNzZWQgPSAoKEtleURhdGEuS2V5U3RhdGUu S2V5U2hpZnRTdGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RBVEVfVkFMSUQpICE9IDApPGJyPisgICAg ICAgICAgICAgICAgICAgICZhbXA7JmFtcDsgKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0 ZSAhPSBFRklfU0hJRlRfU1RBVEVfVkFMSUQpOzxicj4rPGJyPisgICAgLy88YnI+KyAgICAvLyBU UlVFIGlmIFNoaWZ0IGlzIHByZXNzZWQgYW5kIG5vIG90aGVyIG1vZGlmaWVycyBhcmUgcHJlc3Nl ZDxicj4rICAgIC8vPGJyPisgICAgU2hpZnRQcmVzc2VkID0gTW9kaWZpZXJzUHJlc3NlZCAmYW1w OyZhbXA7PGJyPisgICAgICAgICAgICAgICAgICAgKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0 U3RhdGUgJmFtcDs8YnI+KyAgICAgICAgICAgICAgICAgICAgIH4oRUZJX1NISUZUX1NUQVRFX1ZB TElEIHwgRUZJX0xFRlRfU0hJRlRfUFJFU1NFRCB8IEVGSV9SSUdIVF9TSElGVF9QUkVTU0VEKSkg PT0gMCk7PGJyPis8YnI+KyAgICBpZiAoTW9kaWZpZXJzUHJlc3NlZCAmYW1wOyZhbXA7ICFTaGlm dFByZXNzZWQpIHs8YnI+ICAgICAgIGNvbnRpbnVlOzxicj4gICAgIH08YnI+ICAgICAvLzxicj4g ICAgIC8vIHByZXNzZWQgRVNDPGJyPiAgICAgLy88YnI+LSAgICBpZiAoS2V5RGF0YS5LZXkuU2Nh bkNvZGUgPT0gU0NBTl9FU0MpIHs8YnI+KyAgICBpZiAoIU1vZGlmaWVyc1ByZXNzZWQgJmFtcDsm YW1wOyBLZXlEYXRhLktleS5TY2FuQ29kZSA9PSBTQ0FOX0VTQykgezxicj4gICAgICAgU2l6ZSAg ICA9IDA7PGJyPiAgICAgICBTdGF0dXMgID0gRUZJX05PVF9SRUFEWTs8YnI+ICAgICAgIGJyZWFr Ozxicj5AQCAtMTk4LDkgKzIwNiwxMCBAQCBJbnB1dEJhclJlZnJlc2ggKDxicj4gICAgIC8vPGJy PiAgICAgLy8gcmV0dXJuIHByZXNzZWQ8YnI+ICAgICAvLzxicj4tICAgIGlmIChLZXlEYXRhLktl eS5Vbmljb2RlQ2hhciA9PSBDSEFSX0xJTkVGRUVEIHx8IEtleURhdGEuS2V5LlVuaWNvZGVDaGFy ID09IENIQVJfQ0FSUklBR0VfUkVUVVJOKSB7PGJyPisgICAgaWYgKCFNb2RpZmllcnNQcmVzc2Vk PGJyPisgICAgICAmYW1wOyZhbXA7IChLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSBDSEFSX0xJ TkVGRUVEIHx8IEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09IENIQVJfQ0FSUklBR0VfUkVUVVJO KSkgezxicj4gICAgICAgYnJlYWs7PGJyPi0gICAgfSBlbHNlIGlmIChLZXlEYXRhLktleS5Vbmlj b2RlQ2hhciA9PSBDSEFSX0JBQ0tTUEFDRSkgezxicj4rICAgIH0gZWxzZSBpZiAoIU1vZGlmaWVy c1ByZXNzZWQgJmFtcDsmYW1wOyBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSBDSEFSX0JBQ0tT UEFDRSkgezxicj4gICAgICAgLy88YnI+ICAgICAgIC8vIGJhY2tzcGFjZTxicj4gICAgICAgLy88 YnI+QEAgLTIxMyw3ICsyMjIsOCBAQCBJbnB1dEJhclJlZnJlc2ggKDxicj4gPGJyPiAgICAgICAg IH08YnI+ICAgICAgIH08YnI+LSAgICB9IGVsc2UgaWYgKEtleURhdGEuS2V5LlVuaWNvZGVDaGFy ICZsdDs9IDEyNyAmYW1wOyZhbXA7IEtleURhdGEuS2V5LlVuaWNvZGVDaGFyICZndDs9IDMyKSB7 PGJyPisgICAgfSBlbHNlIGlmICgoIU1vZGlmaWVyc1ByZXNzZWQgfHwgU2hpZnRQcmVzc2VkKTxi cj4rICAgICAgICAgICAgJmFtcDsmYW1wOyBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciAmbHQ7PSAx MjcgJmFtcDsmYW1wOyBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciAmZ3Q7PSAzMikgezxicj4gICAg ICAgLy88YnI+ICAgICAgIC8vIFZBTElEIEFTQ0lJIGNoYXIgcHJlc3NlZDxicj4gICAgICAgLy88 YnI+ZGlmZiAtLWdpdCBhL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNM aWIvRWRpdE1lbnVCYXIuYyBiL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFu ZHNMaWIvRWRpdE1lbnVCYXIuYzxicj5pbmRleCBjYThiYzUwNmQ5Li5lYWJiZjNjNTcxIDEwMDY0 NDxicj4tLS0gYS9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0Vk aXRNZW51QmFyLmM8YnI+KysrIGIvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21t YW5kc0xpYi9FZGl0TWVudUJhci5jPGJyPkBAIC0xOTAsMTEgKzE5MCwxNyBAQCBNZW51QmFyRGlz cGF0Y2hDb250cm9sSG90S2V5ICg8YnI+ICAgICAvLzxicj4gICAgIC8vIEZvciBjb25zb2xlcyB0 aGF0IHN1cHBvcnRzL3JlcG9ydHMgc2hpZnQgc3RhdGUsPGJyPiAgICAgLy8gbWFrZSBzdXJlIG9u bHkgQ09OVFJPTCBpcyBwcmVzc2VkLjxicj4rICAgIC8vIEZvciBzb21lIGNvbnNvbGVzIHRoYXQg cmVwb3J0IHNoaWZ0IHN0YXRlLDxicj4rICAgIC8vIEN0cmwrQSBpcyBzdGlsbCB0cmFuc2xhdGVk IHRvIDEgKFVuaWNvZGVDaGFyKS48YnI+ICAgICAvLzxicj4gICAgIGlmICgoS2V5RGF0YS0mZ3Q7 S2V5LlVuaWNvZGVDaGFyICZndDs9IEwnQScpICZhbXA7JmFtcDsgKEtleURhdGEtJmd0O0tleS5V bmljb2RlQ2hhciAmbHQ7PSBMJ1onKSkgezxicj4gICAgICAgQ29udHJvbEluZGV4ID0gS2V5RGF0 YS0mZ3Q7S2V5LlVuaWNvZGVDaGFyIC0gTCdBJyArIDE7PGJyPiAgICAgfSBlbHNlIGlmICgoS2V5 RGF0YS0mZ3Q7S2V5LlVuaWNvZGVDaGFyICZndDs9IEwnYScpICZhbXA7JmFtcDsgKEtleURhdGEt Jmd0O0tleS5Vbmljb2RlQ2hhciAmbHQ7PSBMJ3onKSkgezxicj4gICAgICAgQ29udHJvbEluZGV4 ID0gS2V5RGF0YS0mZ3Q7S2V5LlVuaWNvZGVDaGFyIC0gTCdhJyArIDE7PGJyPisgICAgfSBlbHNl IGlmICgoS2V5RGF0YS0mZ3Q7S2V5LlVuaWNvZGVDaGFyICZndDs9IEwnQScgLSBMJ0EnICsgMSkg JmFtcDsmYW1wOyAoS2V5RGF0YS0mZ3Q7S2V5LlVuaWNvZGVDaGFyICZsdDs9IEwnWicgLSBMJ0En ICsgMSkpIHs8YnI+KyAgICAgIENvbnRyb2xJbmRleCA9IEtleURhdGEtJmd0O0tleS5Vbmljb2Rl Q2hhcjs8YnI+KyAgICB9IGVsc2UgaWYgKChLZXlEYXRhLSZndDtLZXkuVW5pY29kZUNoYXIgJmd0 Oz0gTCdhJyAtIEwnYScgKyAxKSAmYW1wOyZhbXA7IChLZXlEYXRhLSZndDtLZXkuVW5pY29kZUNo YXIgJmx0Oz0gTCd6JyAtIEwneicgKyAxKSkgezxicj4rICAgICAgQ29udHJvbEluZGV4ID0gS2V5 RGF0YS0mZ3Q7S2V5LlVuaWNvZGVDaGFyOzxicj4gICAgIH08YnI+ICAgfTxicj4gICBpZiAoKFND QU5fQ09OVFJPTF9aICZsdDsgQ29udHJvbEluZGV4KTxicj5kaWZmIC0tZ2l0IGEvU2hlbGxQa2cv TGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9IZXhFZGl0L01haW5IZXhFZGl0b3Iu YyBiL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvSGV4RWRpdC9N YWluSGV4RWRpdG9yLmM8YnI+aW5kZXggYTAwZGY0OWQzOC4uMzk0ZTUzMWMxNiAxMDA2NDQ8YnI+ LS0tIGEvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9IZXhFZGl0 L01haW5IZXhFZGl0b3IuYzxicj4rKysgYi9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVn MUNvbW1hbmRzTGliL0hleEVkaXQvTWFpbkhleEVkaXRvci5jPGJyPkBAIC0xMzcsMTQgKzEzNywx NyBAQCBITWFpbkNvbW1hbmREaXNwbGF5SGVscCAoPGJyPiAgICAgICBpZiAoS2V5RGF0YS5LZXku VW5pY29kZUNoYXIgPT0gTCdXJyAtIEwnQScgKyAxKSB7PGJyPiAgICAgICAgIGJyZWFrOzxicj4g ICAgICAgfTxicj4tICAgIH0gZWxzZSBpZiAoKChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3Rh dGUgJmFtcDsgRUZJX1NISUZUX1NUQVRFX1ZBTElEKSAhPSAwKSAmYW1wOyZhbXA7PGJyPi0gICAg ICAgICAgICAgICAoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmYW1wOyAoRUZJX0xF RlRfQ09OVFJPTF9QUkVTU0VEIHwgRUZJX1JJR0hUX0NPTlRST0xfUFJFU1NFRCkpICE9IDApICZh bXA7JmFtcDs8YnI+LSAgICAgICAgICAgICAgICgoS2V5RGF0YS5LZXlTdGF0ZS5LZXlTaGlmdFN0 YXRlICZhbXA7IH4oRUZJX1NISUZUX1NUQVRFX1ZBTElEIHwgRUZJX0xFRlRfQ09OVFJPTF9QUkVT U0VEIHwgRUZJX1JJR0hUX0NPTlRST0xfUFJFU1NFRCkpID09IDApKSB7PGJyPisgICAgfSBlbHNl IGlmICgoKEtleURhdGEuS2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmYW1wOyBFRklfU0hJRlRfU1RB VEVfVkFMSUQpICE9IDApPGJyPisgICAgICAgICAgICAmYW1wOyZhbXA7ICgoS2V5RGF0YS5LZXlT dGF0ZS5LZXlTaGlmdFN0YXRlICZhbXA7IChFRklfTEVGVF9DT05UUk9MX1BSRVNTRUQgfCBFRklf UklHSFRfQ09OVFJPTF9QUkVTU0VEKSkgIT0gMCk8YnI+KyAgICAgICAgICAgICZhbXA7JmFtcDsg KChLZXlEYXRhLktleVN0YXRlLktleVNoaWZ0U3RhdGUgJmFtcDsgfihFRklfU0hJRlRfU1RBVEVf VkFMSUQgfCBFRklfTEVGVF9DT05UUk9MX1BSRVNTRUQgfCBFRklfUklHSFRfQ09OVFJPTF9QUkVT U0VEKSkgPT0gMCkpIHs8YnI+ICAgICAgIC8vPGJyPiAgICAgICAvLyBGb3IgY29uc29sZXMgdGhh dCBzdXBwb3J0cy9yZXBvcnRzIHNoaWZ0IHN0YXRlLDxicj4gICAgICAgLy8gbWFrZSBzdXJlIHRo YXQgb25seSBDT05UUk9MIHNoaWZ0IGtleSBpcyBwcmVzc2VkLjxicj4rICAgICAgLy8gRm9yIHNv bWUgY29uc29sZXMgdGhhdCByZXBvcnQgc2hpZnQgc3RhdGUsPGJyPisgICAgICAvLyBDVFJMK1cg aXMgc3RpbGwgdHJhbnNsYXRlZCB0byBMJ1cnIC0gTCdBJyArIDEuPGJyPiAgICAgICAvLzxicj4t ICAgICAgaWYgKChLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9PSAndycpIHx8IChLZXlEYXRhLktl eS5Vbmljb2RlQ2hhciA9PSAnVycpKSB7PGJyPisgICAgICBpZiAoKEtleURhdGEuS2V5LlVuaWNv ZGVDaGFyID09ICd3JykgfHwgKEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09ICdXJyk8YnI+KyAg ICAgICAgfHwgKEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09IEwndycgLSBMJ2EnICsgMSkgfHwg KEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID09IEwnVycgLSBMJ0EnICsgMSkpIHs8YnI+ICAgICAg ICAgYnJlYWs7PGJyPiAgICAgICB9PGJyPiAgICAgfTxicj4tLSA8YnI+Mi4yMS4xIChBcHBsZSBH aXQtMTIyLjMpPGJyPjxicj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9k aXY+ --b1_7634b6e34d48598a28fd65df5a73c2d7--