From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD07BC31E5B for ; Mon, 17 Jun 2019 20:23:54 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A7AF720863 for ; Mon, 17 Jun 2019 20:23:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A7AF720863 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hcyA7-00014G-OB; Mon, 17 Jun 2019 20:23:31 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hcyA6-00014B-LP for xen-devel@lists.xenproject.org; Mon, 17 Jun 2019 20:23:30 +0000 X-Inumbo-ID: c42ba666-913d-11e9-8980-bc764e045a96 Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id c42ba666-913d-11e9-8980-bc764e045a96; Mon, 17 Jun 2019 20:23:28 +0000 (UTC) Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@citrix.com; spf=Pass smtp.mailfrom=Andrew.Cooper3@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of andrew.cooper3@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="andrew.cooper3@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of Andrew.Cooper3@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="Andrew.Cooper3@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: ZJF5xHudCEkdtfT6HRRqoAka1lUf5VXizptVI9xjkZYJjSW8umzi2/if0cr4DxXclfD4IJmH6l NsZybaszhYXxSocJVXIpRLofPT9YIXiyiKTbClhmIACbOtq4RmoA61PKr3G5QehrXtQc54bAol D1rezf2i+k1Mol1IgKOoYNcIInEuXyaG3YykrMk1e2Wg5OxFaJIfjCUdQPw1hO1fUyeu22+WWt dufcNN2Vhez7FGw14GBF9HgpgR8PLFW6Ga5KFloH+Klh7f1/oQJZFkN9l6v3v1Hyfd7TSnfI+2 ugU= X-SBRS: 2.7 X-MesageID: 1834298 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.63,386,1557201600"; d="scan'208";a="1834298" From: Andrew Cooper To: Jan Beulich , xen-devel References: <5D024C500200007800237DD8@prv1-mh.provo.novell.com> <5D024E170200007800237DFD@prv1-mh.provo.novell.com> Openpgp: preference=signencrypt Autocrypt: addr=andrew.cooper3@citrix.com; prefer-encrypt=mutual; keydata= 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 6+ahAA== Message-ID: <46a59018-ba3c-5ab2-5ad0-854ca5e1313a@citrix.com> Date: Mon, 17 Jun 2019 21:23:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <5D024E170200007800237DFD@prv1-mh.provo.novell.com> Content-Language: en-GB X-ClientProxiedBy: AMSPEX02CAS02.citrite.net (10.69.22.113) To AMSPEX02CL02.citrite.net (10.69.22.126) Subject: Re: [Xen-devel] [PATCH 1/9] AMD/IOMMU: use bit field for extended feature register X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Brian Woods , Suravee Suthikulpanit Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMTMvMDYvMjAxOSAxNDoyMiwgSmFuIEJldWxpY2ggd3JvdGU6Cj4gVGhpcyBhbHNvIHRha2Vz IGNhcmUgb2Ygc2V2ZXJhbCBvZiB0aGUgc2hpZnQgdmFsdWVzIHdyb25nbHkgaGF2aW5nIGJlZW4K PiBzcGVjaWZpZWQgYXMgaGV4IHJhdGhlciB0aGFuIGRlYy4KPgo+IFRha2UgdGhlIG9wcG9ydHVu aXR5IGFuZCBhZGQgZnVydGhlciBmaWVsZHMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGlj aCA8amJldWxpY2hAc3VzZS5jb20+Cj4KPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h bWQvaW9tbXVfZGV0ZWN0LmMKPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t bXVfZGV0ZWN0LmMKPiBAQCAtNjAsNDMgKzYwLDcyIEBAIHN0YXRpYyBpbnQgX19pbml0IGdldF9p b21tdV9jYXBhYmlsaXRpZXMKPiAgCj4gIHZvaWQgX19pbml0IGdldF9pb21tdV9mZWF0dXJlcyhz dHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKPiAgewo+IC0gICAgdTMyIGxvdywgaGlnaDsKPiAtICAg IGludCBpID0gMCA7Cj4gLSAgICBzdGF0aWMgY29uc3QgY2hhciAqX19pbml0ZGF0YSBmZWF0dXJl X3N0cltdID0gewo+IC0gICAgICAgICItIFByZWZldGNoIFBhZ2VzIENvbW1hbmQiLCAKPiAtICAg ICAgICAiLSBQZXJpcGhlcmFsIFBhZ2UgU2VydmljZSBSZXF1ZXN0IiwgCj4gLSAgICAgICAgIi0g WDJBUElDIFN1cHBvcnRlZCIsIAo+IC0gICAgICAgICItIE5YIGJpdCBTdXBwb3J0ZWQiLCAKPiAt ICAgICAgICAiLSBHdWVzdCBUcmFuc2xhdGlvbiIsIAo+IC0gICAgICAgICItIFJlc2VydmVkIGJp dCBbNV0iLAo+IC0gICAgICAgICItIEludmFsaWRhdGUgQWxsIENvbW1hbmQiLCAKPiAtICAgICAg ICAiLSBHdWVzdCBBUElDIHN1cHBvcnRlZCIsIAo+IC0gICAgICAgICItIEhhcmR3YXJlIEVycm9y IFJlZ2lzdGVycyIsIAo+IC0gICAgICAgICItIFBlcmZvcm1hbmNlIENvdW50ZXJzIiwgCj4gLSAg ICAgICAgTlVMTAo+IC0gICAgfTsKPiAtCj4gICAgICBBU1NFUlQoIGlvbW11LT5tbWlvX2Jhc2Ug KTsKPiAgCj4gICAgICBpZiAoICFpb21tdV9oYXNfY2FwKGlvbW11LCBQQ0lfQ0FQX0VGUlNVUF9T SElGVCkgKQo+ICAgICAgewo+IC0gICAgICAgIGlvbW11LT5mZWF0dXJlcyA9IDA7Cj4gKyAgICAg ICAgaW9tbXUtPmZlYXR1cmVzLnJhdyA9IDA7Cj4gICAgICAgICAgcmV0dXJuOwo+ICAgICAgfQo+ ICAKPiAtICAgIGxvdyA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBJT01NVV9FWFRfRkVBVFVS RV9NTUlPX09GRlNFVCk7Cj4gLSAgICBoaWdoID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIElP TU1VX0VYVF9GRUFUVVJFX01NSU9fT0ZGU0VUICsgNCk7Cj4gLQo+IC0gICAgaW9tbXUtPmZlYXR1 cmVzID0gKCh1NjQpaGlnaCA8PCAzMikgfCBsb3c7Cj4gKyAgICBpb21tdS0+ZmVhdHVyZXMucmF3 ID0KPiArICAgICAgICByZWFkcShpb21tdS0+bW1pb19iYXNlICsgSU9NTVVfRVhUX0ZFQVRVUkVf TU1JT19PRkZTRVQpOwo+ICAKPiAgICAgIHByaW50aygiQU1ELVZpOiBJT01NVSBFeHRlbmRlZCBG ZWF0dXJlczpcbiIpOwo+ICAKPiAtICAgIHdoaWxlICggZmVhdHVyZV9zdHJbaV0gKQo+ICsjZGVm aW5lIE1BU0soZmxkKSAoKHVuaW9uIGFtZF9pb21tdV9leHRfZmVhdHVyZXMpeyAuZmxkcy5mbGQg PSB+MCB9KS5yYXcKPiArI2RlZmluZSBGRUFUKGZsZCwgc3RyKSBkbyB7IFwKPiArICAgIGlmICgg TUFTSyhmbGQpICYgKE1BU0soZmxkKSAtIDEpICkgXAo+ICsgICAgICAgIHByaW50ayggIi0gIiBz dHIgIjogJSN4XG4iLCBpb21tdS0+ZmVhdHVyZXMuZmxkcy5mbGQpOyBcCj4gKyAgICBlbHNlIGlm ICggaW9tbXUtPmZlYXR1cmVzLnJhdyAmIE1BU0soZmxkKSApIFwKPiArICAgICAgICBwcmludGso ICItICIgc3RyICJcbiIpOyBcCj4gK30gd2hpbGUgKCBmYWxzZSApCj4gKwo+ICsgICAgRkVBVChw cmVmX3N1cCwgICAgICAgICAgICJQcmVmZXRjaCBQYWdlcyBDb21tYW5kIik7Cj4gKyAgICBGRUFU KHBwcl9zdXAsICAgICAgICAgICAgIlBlcmlwaGVyYWwgUGFnZSBTZXJ2aWNlIFJlcXVlc3QiKTsK PiArICAgIEZFQVQoeHRfc3VwLCAgICAgICAgICAgICAieDJBUElDIik7Cj4gKyAgICBGRUFUKG54 X3N1cCwgICAgICAgICAgICAgIk5YIGJpdCIpOwo+ICsgICAgRkVBVChnYXBwaV9zdXAsICAgICAg ICAgICJHdWVzdCBBUElDIFBoeXNpY2FsIFByb2Nlc3NvciBJbnRlcnJ1cHQiKTsKPiArICAgIEZF QVQoaWFfc3VwLCAgICAgICAgICAgICAiSW52YWxpZGF0ZSBBbGwgQ29tbWFuZCIpOwo+ICsgICAg RkVBVChnYV9zdXAsICAgICAgICAgICAgICJHdWVzdCBBUElDIik7Cj4gKyAgICBGRUFUKGhlX3N1 cCwgICAgICAgICAgICAgIkhhcmR3YXJlIEVycm9yIFJlZ2lzdGVycyIpOwo+ICsgICAgRkVBVChw Y19zdXAsICAgICAgICAgICAgICJQZXJmb3JtYW5jZSBDb3VudGVycyIpOwo+ICsgICAgRkVBVCho YXRzLCAgICAgICAgICAgICAgICJIb3N0IEFkZHJlc3MgVHJhbnNsYXRpb24gU2l6ZSIpOwo+ICsK PiArICAgIGlmICggaW9tbXUtPmZlYXR1cmVzLmZsZHMuZ3Rfc3VwICkKPiAgICAgIHsKPiAtICAg ICAgICBpZiAoIGFtZF9pb21tdV9oYXNfZmVhdHVyZShpb21tdSwgaSkgKQo+IC0gICAgICAgICAg ICBwcmludGsoICIgJXNcbiIsIGZlYXR1cmVfc3RyW2ldKTsKPiAtICAgICAgICBpKys7Cj4gKyAg ICAgICAgRkVBVChnYXRzLCAgICAgICAgICAgIkd1ZXN0IEFkZHJlc3MgVHJhbnNsYXRpb24gU2l6 ZSIpOwo+ICsgICAgICAgIEZFQVQoZ2x4X3N1cCwgICAgICAgICJHdWVzdCBDUjMgUm9vdCBUYWJs ZSBMZXZlbCIpOwo+ICsgICAgICAgIEZFQVQocGFzX21heCwgICAgICAgICJNYXhpbXVtIFBBU0lE Iik7Cj4gICAgICB9Cj4gKwo+ICsgICAgRkVBVChzbWlmX3N1cCwgICAgICAgICAgICJTTUkgRmls dGVyIFJlZ2lzdGVyIik7Cj4gKyAgICBGRUFUKHNtaWZfcmMsICAgICAgICAgICAgIlNNSSBGaWx0 ZXIgUmVnaXN0ZXIgQ291bnQiKTsKPiArICAgIEZFQVQoZ2FtX3N1cCwgICAgICAgICAgICAiR3Vl c3QgVmlydHVhbCBBUElDIE1vZGVzIik7Cj4gKyAgICBGRUFUKGR1YWxfcHByX2xvZ19zdXAsICAg IkR1YWwgUFBSIExvZyIpOwo+ICsgICAgRkVBVChkdWFsX2V2ZW50X2xvZ19zdXAsICJEdWFsIEV2 ZW50IExvZyIpOwo+ICsgICAgRkVBVChzYXRfc3VwLCAgICAgICAgICAgICJTZWN1cmUgQVRTIik7 Cj4gKyAgICBGRUFUKHVzX3N1cCwgICAgICAgICAgICAgIlVzZXIgLyBTdXBlcnZpc29yIFBhZ2Ug UHJvdGVjdGlvbiIpOwo+ICsgICAgRkVBVChkZXZfdGJsX3NlZ19zdXAsICAgICJEZXZpY2UgVGFi bGUgU2VnbWVudGF0aW9uIik7Cj4gKyAgICBGRUFUKHBwcl9lYXJseV9vZl9zdXAsICAgIlBQUiBM b2cgT3ZlcmZsb3cgRWFybHkgV2FybmluZyIpOwo+ICsgICAgRkVBVChwcHJfYXV0b19yc3Bfc3Vw LCAgICJQUFIgQXV0b21hdGljIFJlc3BvbnNlIik7Cj4gKyAgICBGRUFUKG1hcmNfc3VwLCAgICAg ICAgICAgIk1lbW9yeSBBY2Nlc3MgUm91dGluZyBhbmQgQ29udHJvbCIpOwo+ICsgICAgRkVBVChi bGtfc3RvcF9tcmtfc3VwLCAgICJCbG9jayBTdG9wTWFyayBNZXNzYWdlIik7Cj4gKyAgICBGRUFU KHBlcmZfb3B0X3N1cCAsICAgICAgIlBlcmZvcm1hbmNlIE9wdGltaXphdGlvbiIpOwo+ICsgICAg RkVBVChtc2lfY2FwX21taW9fc3VwLCAgICJNU0kgQ2FwYWJpbGl0eSBNTUlPIEFjY2VzcyIpOwo+ ICsgICAgRkVBVChnaW9fc3VwLCAgICAgICAgICAgICJHdWVzdCBJL08gUHJvdGVjdGlvbiIpOwo+ ICsgICAgRkVBVChoYV9zdXAsICAgICAgICAgICAgICJIb3N0IEFjY2VzcyIpOwo+ICsgICAgRkVB VChlcGhfc3VwLCAgICAgICAgICAgICJFbmhhbmNlZCBQUFIgSGFuZGxpbmciKTsKPiArICAgIEZF QVQoYXR0cl9md19zdXAsICAgICAgICAiQXR0cmlidXRlIEZvcndhcmQiKTsKPiArICAgIEZFQVQo aGRfc3VwLCAgICAgICAgICAgICAiSG9zdCBEaXJ0eSIpOwo+ICsgICAgRkVBVChpbnZfaW90bGJf dHlwZV9zdXAsICJJbnZhbGlkYXRlIElPVExCIFR5cGUiKTsKPiArICAgIEZFQVQodmlvbW11X3N1 cCwgICAgICAgICAiVmlydHVhbGl6ZWQgSU9NTVUiKTsKPiArICAgIEZFQVQodm1fZ3VhcmRfaW9f c3VwLCAgICAiVk1HdWFyZCBJL08gU3VwcG9ydCIpOwo+ICsgICAgRkVBVCh2bV90YWJsZV9zaXpl LCAgICAgICJWTSBUYWJsZSBTaXplIik7Cj4gKyAgICBGRUFUKGdhX3VwZGF0ZV9kaXNfc3VwLCAg Ikd1ZXN0IEFjY2VzcyBCaXQgVXBkYXRlIERpc2FibGUiKTsKPiArCj4gKyN1bmRlZiBGRUFUCj4g KyN1bmRlZiBNQVNLCj4gIH0KClNvIHRoaXMgaXMgZmluZSwgYnV0IGRvZXMgY29tZSB3aXRoIGEg ZG93bnNpZGUuwqAgVGhpcyBpcyB0aGUgbG9nIGZyb20gYQpSb21lIHN5c3RlbToKCihYRU4pIFvC oMKgIDE3LjkyODIyNV0gQU1ELVZpOiBJT01NVSBFeHRlbmRlZCBGZWF0dXJlczoKKFhFTikgW8Kg wqAgMTcuOTg4MjY0XSAtIFBlcmlwaGVyYWwgUGFnZSBTZXJ2aWNlIFJlcXVlc3QKKFhFTikgW8Kg wqAgMTguMDQ4MDgyXSAtIHgyQVBJQwooWEVOKSBbwqDCoCAxOC4xMDQ3MzVdIC0gTlggYml0CihY RU4pIFvCoMKgIDE4LjE2MDc1MV0gLSBJbnZhbGlkYXRlIEFsbCBDb21tYW5kCihYRU4pIFvCoMKg IDE4LjIxODExNl0gLSBHdWVzdCBBUElDCihYRU4pIFvCoMKgIDE4LjI3MzY2MF0gLSBQZXJmb3Jt YW5jZSBDb3VudGVycwooWEVOKSBbwqDCoCAxOC4zMjk4NjhdIC0gSG9zdCBBZGRyZXNzIFRyYW5z bGF0aW9uIFNpemU6IDB4MgooWEVOKSBbwqDCoCAxOC4zODczNjNdIC0gR3Vlc3QgQWRkcmVzcyBU cmFuc2xhdGlvbiBTaXplOiAwCihYRU4pIFvCoMKgIDE4LjQ0NDQ0Nl0gLSBHdWVzdCBDUjMgUm9v dCBUYWJsZSBMZXZlbDogMHgxCihYRU4pIFvCoMKgIDE4LjUwMTAwNl0gLSBNYXhpbXVtIFBBU0lE OiAweGYKKFhFTikgW8KgwqAgMTguNTU1NzUzXSAtIFNNSSBGaWx0ZXIgUmVnaXN0ZXI6IDB4MQoo WEVOKSBbwqDCoCAxOC42MTA3NzNdIC0gU01JIEZpbHRlciBSZWdpc3RlciBDb3VudDogMHgyCihY RU4pIFvCoMKgIDE4LjY2NjExNl0gLSBHdWVzdCBWaXJ0dWFsIEFQSUMgTW9kZXM6IDB4MQooWEVO KSBbwqDCoCAxOC43MjEwMzZdIC0gRHVhbCBQUFIgTG9nOiAweDIKKFhFTikgW8KgwqAgMTguNzc0 MjM3XSAtIER1YWwgRXZlbnQgTG9nOiAweDIKKFhFTikgW8KgwqAgMTguODI3MTY0XSAtIFVzZXIg LyBTdXBlcnZpc29yIFBhZ2UgUHJvdGVjdGlvbgooWEVOKSBbwqDCoCAxOC44ODEzNzRdIC0gRGV2 aWNlIFRhYmxlIFNlZ21lbnRhdGlvbjogMHgzCihYRU4pIFvCoMKgIDE4LjkzNDk0OV0gLSBQUFIg TG9nIE92ZXJmbG93IEVhcmx5IFdhcm5pbmcKKFhFTikgW8KgwqAgMTguOTg4MTg2XSAtIFBQUiBB dXRvbWF0aWMgUmVzcG9uc2UKKFhFTikgW8KgwqAgMTkuMDQwMTkzXSAtIE1lbW9yeSBBY2Nlc3Mg Um91dGluZyBhbmQgQ29udHJvbDogMHgxCihYRU4pIFvCoMKgIDE5LjA5Mzc3MF0gLSBCbG9jayBT dG9wTWFyayBNZXNzYWdlCihYRU4pIFvCoMKgIDE5LjE0NTMwMF0gLSBQZXJmb3JtYW5jZSBPcHRp bWl6YXRpb24KKFhFTikgW8KgwqAgMTkuMTk2NjAzXSAtIE1TSSBDYXBhYmlsaXR5IE1NSU8gQWNj ZXNzCihYRU4pIFvCoMKgIDE5LjI0Nzc1NF0gLSBHdWVzdCBJL08gUHJvdGVjdGlvbgooWEVOKSBb wqDCoCAxOS4yOTc4MTFdIC0gSG9zdCBBY2Nlc3MKKFhFTikgW8KgwqAgMTkuMzQ2Mzk2XSAtIEVu aGFuY2VkIFBQUiBIYW5kbGluZwooWEVOKSBbwqDCoCAxOS4zOTU2NDddIC0gQXR0cmlidXRlIEZv cndhcmQKKFhFTikgW8KgwqAgMTkuNDQzOTg2XSAtIFZpcnR1YWxpemVkIElPTU1VCihYRU4pIFvC oMKgIDE5LjQ5MTgyOF0gLSBWTUd1YXJkIEkvTyBTdXBwb3J0CihYRU4pIFvCoMKgIDE5LjUzOTQw NF0gLSBWTSBUYWJsZSBTaXplOiAweDIKKFhFTikgW8KgwqAgMTkuNTg5ODM3XSBBTUQtVmk6IElP TU1VIEV4dGVuZGVkIEZlYXR1cmVzOgooWEVOKSBbwqDCoCAxOS42Mzc4MjldIC0gUGVyaXBoZXJh bCBQYWdlIFNlcnZpY2UgUmVxdWVzdAooWEVOKSBbwqDCoCAxOS42ODU2MDddIC0geDJBUElDCihY RU4pIFvCoMKgIDE5LjczMDIzMV0gLSBOWCBiaXQKKFhFTikgW8KgwqAgMTkuNzc0MTk1XSAtIElu dmFsaWRhdGUgQWxsIENvbW1hbmQKKFhFTikgW8KgwqAgMTkuODE5NTI4XSAtIEd1ZXN0IEFQSUMK KFhFTikgW8KgwqAgMTkuODYzMDI3XSAtIFBlcmZvcm1hbmNlIENvdW50ZXJzCihYRU4pIFvCoMKg IDE5LjkwNzE2NV0gLSBIb3N0IEFkZHJlc3MgVHJhbnNsYXRpb24gU2l6ZTogMHgyCihYRU4pIFvC oMKgIDE5Ljk1MjU3OF0gLSBHdWVzdCBBZGRyZXNzIFRyYW5zbGF0aW9uIFNpemU6IDAKKFhFTikg W8KgwqAgMTkuOTk3NTg4XSAtIEd1ZXN0IENSMyBSb290IFRhYmxlIExldmVsOiAweDEKKFhFTikg W8KgwqAgMjAuMDQyMDU3XSAtIE1heGltdW0gUEFTSUQ6IDB4ZgooWEVOKSBbwqDCoCAyMC4wODQ3 MzJdIC0gU01JIEZpbHRlciBSZWdpc3RlcjogMHgxCihYRU4pIFvCoMKgIDIwLjEyNzY0OF0gLSBT TUkgRmlsdGVyIFJlZ2lzdGVyIENvdW50OiAweDIKKFhFTikgW8KgwqAgMjAuMTcwOTEwXSAtIEd1 ZXN0IFZpcnR1YWwgQVBJQyBNb2RlczogMHgxCihYRU4pIFvCoMKgIDIwLjIxMzcwMl0gLSBEdWFs IFBQUiBMb2c6IDB4MgooWEVOKSBbwqDCoCAyMC4yNTQ3NjVdIC0gRHVhbCBFdmVudCBMb2c6IDB4 MgooWEVOKSBbwqDCoCAyMC4yOTU1NjddIC0gVXNlciAvIFN1cGVydmlzb3IgUGFnZSBQcm90ZWN0 aW9uCihYRU4pIFvCoMKgIDIwLjMzNzYyNl0gLSBEZXZpY2UgVGFibGUgU2VnbWVudGF0aW9uOiAw eDMKKFhFTikgW8KgwqAgMjAuMzc5MDQyXSAtIFBQUiBMb2cgT3ZlcmZsb3cgRWFybHkgV2Fybmlu ZwooWEVOKSBbwqDCoCAyMC40MjAwOTRdIC0gUFBSIEF1dG9tYXRpYyBSZXNwb25zZQooWEVOKSBb wqDCoCAyMC40NTk4OTBdIC0gTWVtb3J5IEFjY2VzcyBSb3V0aW5nIGFuZCBDb250cm9sOiAweDEK KFhFTikgW8KgwqAgMjAuNTAxMjQ4XSAtIEJsb2NrIFN0b3BNYXJrIE1lc3NhZ2UKKFhFTikgW8Kg wqAgMjAuNTQwNTc3XSAtIFBlcmZvcm1hbmNlIE9wdGltaXphdGlvbgooWEVOKSBbwqDCoCAyMC41 Nzk4NzZdIC0gTVNJIENhcGFiaWxpdHkgTU1JTyBBY2Nlc3MKKFhFTikgW8KgwqAgMjAuNjE5MzA5 XSAtIEd1ZXN0IEkvTyBQcm90ZWN0aW9uCihYRU4pIFvCoMKgIDIwLjY1ODA0MV0gLSBIb3N0IEFj Y2VzcwooWEVOKSBbwqDCoCAyMC42OTU5MzddIC0gRW5oYW5jZWQgUFBSIEhhbmRsaW5nCihYRU4p IFvCoMKgIDIwLjczNTI3Nl0gLSBBdHRyaWJ1dGUgRm9yd2FyZAooWEVOKSBbwqDCoCAyMC43NzM4 MzBdIC0gVmlydHVhbGl6ZWQgSU9NTVUKKFhFTikgW8KgwqAgMjAuODEyMzM1XSAtIFZNR3VhcmQg SS9PIFN1cHBvcnQKKFhFTikgW8KgwqAgMjAuODUwODY4XSAtIFZNIFRhYmxlIFNpemU6IDB4Mgoo WEVOKSBbwqDCoCAyMC44OTI1NDNdIEFNRC1WaTogSU9NTVUgRXh0ZW5kZWQgRmVhdHVyZXM6CihY RU4pIFvCoMKgIDIwLjkzMjA4N10gLSBQZXJpcGhlcmFsIFBhZ2UgU2VydmljZSBSZXF1ZXN0CihY RU4pIFvCoMKgIDIwLjk3MTc1Nl0gLSB4MkFQSUMKKFhFTikgW8KgwqAgMjEuMDA4NjgxXSAtIE5Y IGJpdAooWEVOKSBbwqDCoCAyMS4wNDUyNzldIC0gSW52YWxpZGF0ZSBBbGwgQ29tbWFuZAooWEVO KSBbwqDCoCAyMS4wODM1NjddIC0gR3Vlc3QgQVBJQwooWEVOKSBbwqDCoCAyMS4xMjA0MTBdIC0g UGVyZm9ybWFuY2UgQ291bnRlcnMKKFhFTikgW8KgwqAgMjEuMTU4Mzg2XSAtIEhvc3QgQWRkcmVz cyBUcmFuc2xhdGlvbiBTaXplOiAweDIKKFhFTikgW8KgwqAgMjEuMTk3OTU2XSAtIEd1ZXN0IEFk ZHJlc3MgVHJhbnNsYXRpb24gU2l6ZTogMAooWEVOKSBbwqDCoCAyMS4yMzc0MzNdIC0gR3Vlc3Qg Q1IzIFJvb3QgVGFibGUgTGV2ZWw6IDB4MQooWEVOKSBbwqDCoCAyMS4yNzY3MDldIC0gTWF4aW11 bSBQQVNJRDogMHhmCihYRU4pIFvCoMKgIDIxLjMxNDUzOF0gLSBTTUkgRmlsdGVyIFJlZ2lzdGVy OiAweDEKKFhFTikgW8KgwqAgMjEuMzUyODQ0XSAtIFNNSSBGaWx0ZXIgUmVnaXN0ZXIgQ291bnQ6 IDB4MgooWEVOKSBbwqDCoCAyMS4zOTE3MjhdIC0gR3Vlc3QgVmlydHVhbCBBUElDIE1vZGVzOiAw eDEKKFhFTikgW8KgwqAgMjEuNDMwNjE0XSAtIER1YWwgUFBSIExvZzogMHgyCihYRU4pIFvCoMKg IDIxLjQ2ODE1MF0gLSBEdWFsIEV2ZW50IExvZzogMHgyCihYRU4pIFvCoMKgIDIxLjUwNTgzM10g LSBVc2VyIC8gU3VwZXJ2aXNvciBQYWdlIFByb3RlY3Rpb24KKFhFTikgW8KgwqAgMjEuNTQ1Mjcw XSAtIERldmljZSBUYWJsZSBTZWdtZW50YXRpb246IDB4MwooWEVOKSBbwqDCoCAyMS41ODQ1Mzhd IC0gUFBSIExvZyBPdmVyZmxvdyBFYXJseSBXYXJuaW5nCihYRU4pIFvCoMKgIDIxLjYyMzkyOF0g LSBQUFIgQXV0b21hdGljIFJlc3BvbnNlCihYRU4pIFvCoMKgIDIxLjY2MjU2NF0gLSBNZW1vcnkg QWNjZXNzIFJvdXRpbmcgYW5kIENvbnRyb2w6IDB4MQooWEVOKSBbwqDCoCAyMS43MDMyNjhdIC0g QmxvY2sgU3RvcE1hcmsgTWVzc2FnZQooWEVOKSBbwqDCoCAyMS43NDI0MTVdIC0gUGVyZm9ybWFu Y2UgT3B0aW1pemF0aW9uCihYRU4pIFvCoMKgIDIxLjc4MTY5Ml0gLSBNU0kgQ2FwYWJpbGl0eSBN TUlPIEFjY2VzcwooWEVOKSBbwqDCoCAyMS44MjExNTldIC0gR3Vlc3QgSS9PIFByb3RlY3Rpb24K KFhFTikgW8KgwqAgMjEuODU5OTE2XSAtIEhvc3QgQWNjZXNzCihYRU4pIFvCoMKgIDIxLjg5Nzgx MV0gLSBFbmhhbmNlZCBQUFIgSGFuZGxpbmcKKFhFTikgW8KgwqAgMjEuOTM2ODE4XSAtIEF0dHJp YnV0ZSBGb3J3YXJkCihYRU4pIFvCoMKgIDIxLjk3NTM4N10gLSBWaXJ0dWFsaXplZCBJT01NVQoo WEVOKSBbwqDCoCAyMi4wMTM4OThdIC0gVk1HdWFyZCBJL08gU3VwcG9ydAooWEVOKSBbwqDCoCAy Mi4wNTI0NDhdIC0gVk0gVGFibGUgU2l6ZTogMHgyCihYRU4pIFvCoMKgIDIyLjA5NDE0MF0gQU1E LVZpOiBJT01NVSBFeHRlbmRlZCBGZWF0dXJlczoKKFhFTikgW8KgwqAgMjIuMTMzNjg1XSAtIFBl cmlwaGVyYWwgUGFnZSBTZXJ2aWNlIFJlcXVlc3QKKFhFTikgW8KgwqAgMjIuMTczMzYzXSAtIHgy QVBJQwooWEVOKSBbwqDCoCAyMi4yMTAyODddIC0gTlggYml0CihYRU4pIFvCoMKgIDIyLjI0Njg4 OF0gLSBJbnZhbGlkYXRlIEFsbCBDb21tYW5kCihYRU4pIFvCoMKgIDIyLjI4NTE3Nl0gLSBHdWVz dCBBUElDCihYRU4pIFvCoMKgIDIyLjMyMjAwOF0gLSBQZXJmb3JtYW5jZSBDb3VudGVycwooWEVO KSBbwqDCoCAyMi4zNTk5OTRdIC0gSG9zdCBBZGRyZXNzIFRyYW5zbGF0aW9uIFNpemU6IDB4Mgoo WEVOKSBbwqDCoCAyMi4zOTk1NTJdIC0gR3Vlc3QgQWRkcmVzcyBUcmFuc2xhdGlvbiBTaXplOiAw CihYRU4pIFvCoMKgIDIyLjQzOTAyOF0gLSBHdWVzdCBDUjMgUm9vdCBUYWJsZSBMZXZlbDogMHgx CihYRU4pIFvCoMKgIDIyLjQ3ODMwN10gLSBNYXhpbXVtIFBBU0lEOiAweGYKKFhFTikgW8KgwqAg MjIuNTE2MTMzXSAtIFNNSSBGaWx0ZXIgUmVnaXN0ZXI6IDB4MQooWEVOKSBbwqDCoCAyMi41NTQ0 NDFdIC0gU01JIEZpbHRlciBSZWdpc3RlciBDb3VudDogMHgyCihYRU4pIFvCoMKgIDIyLjU5MzM0 NV0gLSBHdWVzdCBWaXJ0dWFsIEFQSUMgTW9kZXM6IDB4MQooWEVOKSBbwqDCoCAyMi42MzIyMjFd IC0gRHVhbCBQUFIgTG9nOiAweDIKKFhFTikgW8KgwqAgMjIuNjY5NzY2XSAtIER1YWwgRXZlbnQg TG9nOiAweDIKKFhFTikgW8KgwqAgMjIuNzA3NDU1XSAtIFVzZXIgLyBTdXBlcnZpc29yIFBhZ2Ug UHJvdGVjdGlvbgooWEVOKSBbwqDCoCAyMi43NDY4OTZdIC0gRGV2aWNlIFRhYmxlIFNlZ21lbnRh dGlvbjogMHgzCihYRU4pIFvCoMKgIDIyLjc4NjE2MV0gLSBQUFIgTG9nIE92ZXJmbG93IEVhcmx5 IFdhcm5pbmcKKFhFTikgW8KgwqAgMjIuODI1NTUyXSAtIFBQUiBBdXRvbWF0aWMgUmVzcG9uc2UK KFhFTikgW8KgwqAgMjIuODY0MjExXSAtIE1lbW9yeSBBY2Nlc3MgUm91dGluZyBhbmQgQ29udHJv bDogMHgxCihYRU4pIFvCoMKgIDIyLjkwNDkxN10gLSBCbG9jayBTdG9wTWFyayBNZXNzYWdlCihY RU4pIFvCoMKgIDIyLjk0NDA3NV0gLSBQZXJmb3JtYW5jZSBPcHRpbWl6YXRpb24KKFhFTikgW8Kg wqAgMjIuOTgzMzYwXSAtIE1TSSBDYXBhYmlsaXR5IE1NSU8gQWNjZXNzCihYRU4pIFvCoMKgIDIz LjAyMjgxNV0gLSBHdWVzdCBJL08gUHJvdGVjdGlvbgooWEVOKSBbwqDCoCAyMy4wNjE1NDhdIC0g SG9zdCBBY2Nlc3MKKFhFTikgW8KgwqAgMjMuMDk5NDM3XSAtIEVuaGFuY2VkIFBQUiBIYW5kbGlu ZwooWEVOKSBbwqDCoCAyMy4xMzg0NjFdIC0gQXR0cmlidXRlIEZvcndhcmQKKFhFTikgW8KgwqAg MjMuMTc3MDA4XSAtIFZpcnR1YWxpemVkIElPTU1VCihYRU4pIFvCoMKgIDIzLjIxNTUyM10gLSBW TUd1YXJkIEkvTyBTdXBwb3J0CihYRU4pIFvCoMKgIDIzLjI1NDA0M10gLSBWTSBUYWJsZSBTaXpl OiAweDIKKFhFTikgW8KgwqAgMjMuMjk1NzA1XSBBTUQtVmk6IElPTU1VIEV4dGVuZGVkIEZlYXR1 cmVzOgooWEVOKSBbwqDCoCAyMy4zMzUyNTBdIC0gUGVyaXBoZXJhbCBQYWdlIFNlcnZpY2UgUmVx dWVzdAooWEVOKSBbwqDCoCAyMy4zNzQ5NDFdIC0geDJBUElDCihYRU4pIFvCoMKgIDIzLjQxMTg2 MF0gLSBOWCBiaXQKKFhFTikgW8KgwqAgMjMuNDQ4NDYwXSAtIEludmFsaWRhdGUgQWxsIENvbW1h bmQKKFhFTikgW8KgwqAgMjMuNDg2NzQ4XSAtIEd1ZXN0IEFQSUMKKFhFTikgW8KgwqAgMjMuNTIz NTY5XSAtIFBlcmZvcm1hbmNlIENvdW50ZXJzCihYRU4pIFvCoMKgIDIzLjU2MTU2NF0gLSBIb3N0 IEFkZHJlc3MgVHJhbnNsYXRpb24gU2l6ZTogMHgyCihYRU4pIFvCoMKgIDIzLjYwMTEyN10gLSBH dWVzdCBBZGRyZXNzIFRyYW5zbGF0aW9uIFNpemU6IDAKKFhFTikgW8KgwqAgMjMuNjQwNTg0XSAt IEd1ZXN0IENSMyBSb290IFRhYmxlIExldmVsOiAweDEKKFhFTikgW8KgwqAgMjMuNjc5ODg1XSAt IE1heGltdW0gUEFTSUQ6IDB4ZgooWEVOKSBbwqDCoCAyMy43MTc2ODldIC0gU01JIEZpbHRlciBS ZWdpc3RlcjogMHgxCihYRU4pIFvCoMKgIDIzLjc1NTk5NF0gLSBTTUkgRmlsdGVyIFJlZ2lzdGVy IENvdW50OiAweDIKKFhFTikgW8KgwqAgMjMuNzk0ODk3XSAtIEd1ZXN0IFZpcnR1YWwgQVBJQyBN b2RlczogMHgxCihYRU4pIFvCoMKgIDIzLjgzMzc2Nl0gLSBEdWFsIFBQUiBMb2c6IDB4MgooWEVO KSBbwqDCoCAyMy44NzEzMTldIC0gRHVhbCBFdmVudCBMb2c6IDB4MgooWEVOKSBbwqDCoCAyMy45 MDkwMDhdIC0gVXNlciAvIFN1cGVydmlzb3IgUGFnZSBQcm90ZWN0aW9uCihYRU4pIFvCoMKgIDIz Ljk0ODQzNF0gLSBEZXZpY2UgVGFibGUgU2VnbWVudGF0aW9uOiAweDMKKFhFTikgW8KgwqAgMjMu OTg3Njk4XSAtIFBQUiBMb2cgT3ZlcmZsb3cgRWFybHkgV2FybmluZwooWEVOKSBbwqDCoCAyNC4w MjcwOTldIC0gUFBSIEF1dG9tYXRpYyBSZXNwb25zZQooWEVOKSBbwqDCoCAyNC4wNjU3NDhdIC0g TWVtb3J5IEFjY2VzcyBSb3V0aW5nIGFuZCBDb250cm9sOiAweDEKKFhFTikgW8KgwqAgMjQuMTA2 NDM4XSAtIEJsb2NrIFN0b3BNYXJrIE1lc3NhZ2UKKFhFTikgW8KgwqAgMjQuMTQ1NTkxXSAtIFBl cmZvcm1hbmNlIE9wdGltaXphdGlvbgooWEVOKSBbwqDCoCAyNC4xODQ4OTNdIC0gTVNJIENhcGFi aWxpdHkgTU1JTyBBY2Nlc3MKKFhFTikgW8KgwqAgMjQuMjI0MzQ1XSAtIEd1ZXN0IEkvTyBQcm90 ZWN0aW9uCihYRU4pIFvCoMKgIDI0LjI2MzA3Nl0gLSBIb3N0IEFjY2VzcwooWEVOKSBbwqDCoCAy NC4zMDA5NzRdIC0gRW5oYW5jZWQgUFBSIEhhbmRsaW5nCihYRU4pIFvCoMKgIDI0LjMzOTk4Ml0g LSBBdHRyaWJ1dGUgRm9yd2FyZAooWEVOKSBbwqDCoCAyNC4zNzg1MjhdIC0gVmlydHVhbGl6ZWQg SU9NTVUKKFhFTikgW8KgwqAgMjQuNDE3MDQxXSAtIFZNR3VhcmQgSS9PIFN1cHBvcnQKKFhFTikg W8KgwqAgMjQuNDU1NTg0XSAtIFZNIFRhYmxlIFNpemU6IDB4MgooWEVOKSBbwqDCoCAyNC40OTcy NjBdIEFNRC1WaTogSU9NTVUgRXh0ZW5kZWQgRmVhdHVyZXM6CihYRU4pIFvCoMKgIDI0LjUzNjc5 NF0gLSBQZXJpcGhlcmFsIFBhZ2UgU2VydmljZSBSZXF1ZXN0CihYRU4pIFvCoMKgIDI0LjU3NjQ2 OV0gLSB4MkFQSUMKKFhFTikgW8KgwqAgMjQuNjEzMzk1XSAtIE5YIGJpdAooWEVOKSBbwqDCoCAy NC42NDk5OTZdIC0gSW52YWxpZGF0ZSBBbGwgQ29tbWFuZAooWEVOKSBbwqDCoCAyNC42ODgyOTRd IC0gR3Vlc3QgQVBJQwooWEVOKSBbwqDCoCAyNC43MjUxNDJdIC0gUGVyZm9ybWFuY2UgQ291bnRl cnMKKFhFTikgW8KgwqAgMjQuNzYzMTI3XSAtIEhvc3QgQWRkcmVzcyBUcmFuc2xhdGlvbiBTaXpl OiAweDIKKFhFTikgW8KgwqAgMjQuODAyNzA3XSAtIEd1ZXN0IEFkZHJlc3MgVHJhbnNsYXRpb24g U2l6ZTogMAooWEVOKSBbwqDCoCAyNC44NDIxNzJdIC0gR3Vlc3QgQ1IzIFJvb3QgVGFibGUgTGV2 ZWw6IDB4MQooWEVOKSBbwqDCoCAyNC44ODE0NTldIC0gTWF4aW11bSBQQVNJRDogMHhmCihYRU4p IFvCoMKgIDI0LjkxOTI4OF0gLSBTTUkgRmlsdGVyIFJlZ2lzdGVyOiAweDEKKFhFTikgW8KgwqAg MjQuOTU3NTgzXSAtIFNNSSBGaWx0ZXIgUmVnaXN0ZXIgQ291bnQ6IDB4MgooWEVOKSBbwqDCoCAy NC45OTY0OTZdIC0gR3Vlc3QgVmlydHVhbCBBUElDIE1vZGVzOiAweDEKKFhFTikgW8KgwqAgMjUu MDM1MzY0XSAtIER1YWwgUFBSIExvZzogMHgyCihYRU4pIFvCoMKgIDI1LjA3MjkwOF0gLSBEdWFs IEV2ZW50IExvZzogMHgyCihYRU4pIFvCoMKgIDI1LjExMDU4OF0gLSBVc2VyIC8gU3VwZXJ2aXNv ciBQYWdlIFByb3RlY3Rpb24KKFhFTikgW8KgwqAgMjUuMTUwMDM3XSAtIERldmljZSBUYWJsZSBT ZWdtZW50YXRpb246IDB4MwooWEVOKSBbwqDCoCAyNS4xODkyOTBdIC0gUFBSIExvZyBPdmVyZmxv dyBFYXJseSBXYXJuaW5nCihYRU4pIFvCoMKgIDI1LjIyODY5Nl0gLSBQUFIgQXV0b21hdGljIFJl c3BvbnNlCihYRU4pIFvCoMKgIDI1LjI2NzM0OF0gLSBNZW1vcnkgQWNjZXNzIFJvdXRpbmcgYSBp biBYZW5uZCBDb250cm9sOiAweDEKKFhFTikgW8KgwqAgMjUuMzA4MDQ1XSAtIEJsb2NrIFN0b3BN YXJrIE1lc3NhZ2UKKFhFTikgW8KgwqAgMjUuMzQ3MTk5XSAtIFBlcmZvcm1hbmNlIE9wdGltaXph dGlvbgooWEVOKSBbwqDCoCAyNS4zODY0ODRdIC0gTVNJIENhcGFiaWxpdHkgTU1JTyBBY2Nlc3MK KFhFTikgW8KgwqAgMjUuNDI1OTUwXSAtIEd1ZXN0IEkvTyBQcm90ZWN0aW9uCihYRU4pIFvCoMKg IDI1LjQ2NDY4MF0gLSBIb3N0IEFjY2VzcwooWEVOKSBbwqDCoCAyNS41MDI1ODBdIC0gRW5oYW5j ZWQgUFBSIEhhbmRsaW5nCihYRU4pIFvCoMKgIDI1LjU0MTU4OF0gLSBBdHRyaWJ1dGUgRm9yd2Fy ZAooWEVOKSBbwqDCoCAyNS41ODAxNDVdIC0gVmlydHVhbGl6ZWQgSU9NTVUKKFhFTikgW8KgwqAg MjUuNjE4NjQ3XSAtIFZNR3VhcmQgSS9PIFN1cHBvcnQKKFhFTikgW8KgwqAgMjUuNjU3MTk2XSAt IFZNIFRhYmxlIFNpemU6IDB4MgooWEVOKSBbwqDCoCAyNS42OTg4ODNdIEFNRC1WaTogSU9NTVUg RXh0ZW5kZWQgRmVhdHVyZXM6CihYRU4pIFvCoMKgIDI1LjczODQyMF0gLSBQZXJpcGhlcmFsIFBh Z2UgU2VydmljZSBSZXF1ZXN0CihYRU4pIFvCoMKgIDI1Ljc3ODA4NF0gLSB4MkFQSUMKKFhFTikg W8KgwqAgMjUuODE1MDEwXSAtIE5YIGJpdAooWEVOKSBbwqDCoCAyNS44NTE2MDNdIC0gSW52YWxp ZGF0ZSBBbGwgQ29tbWFuZAooWEVOKSBbwqDCoCAyNS44ODk5MDddIC0gR3Vlc3QgQVBJQwooWEVO KSBbwqDCoCAyNS45MjY3NTZdIC0gUGVyZm9ybWFuY2UgQ291bnRlcnMKKFhFTikgW8KgwqAgMjUu OTY0NzQyXSAtIEhvc3QgQWRkcmVzcyBUcmFuc2xhdGlvbiBTaXplOiAweDIKKFhFTikgW8KgwqAg MjYuMDA0MzEyXSAtIEd1ZXN0IEFkZHJlc3MgVHJhbnNsYXRpb24gU2l6ZTogMAooWEVOKSBbwqDC oCAyNi4wNDM3ODddIC0gR3Vlc3QgQ1IzIFJvb3QgVGFibGUgTGV2ZWw6IDB4MQooWEVOKSBbwqDC oCAyNi4wODMwNjRdIC0gTWF4aW11bSBQQVNJRDogMHhmCihYRU4pIFvCoMKgIDI2LjEyMDkwM10g LSBTTUkgRmlsdGVyIFJlZ2lzdGVyOiAweDEKKFhFTikgW8KgwqAgMjYuMTU5MjE1XSAtIFNNSSBG aWx0ZXIgUmVnaXN0ZXIgQ291bnQ6IDB4MgooWEVOKSBbwqDCoCAyNi4xOTgxMjldIC0gR3Vlc3Qg VmlydHVhbCBBUElDIE1vZGVzOiAweDEKKFhFTikgW8KgwqAgMjYuMjM3MDE1XSAtIER1YWwgUFBS IExvZzogMHgyCihYRU4pIFvCoMKgIDI2LjI3NDU2NV0gLSBEdWFsIEV2ZW50IExvZzogMHgyCihY RU4pIFvCoMKgIDI2LjMxMjIzMV0gLSBVc2VyIC8gU3VwZXJ2aXNvciBQYWdlIFByb3RlY3Rpb24K KFhFTikgW8KgwqAgMjYuMzUxNjcyXSAtIERldmljZSBUYWJsZSBTZWdtZW50YXRpb246IDB4Mwoo WEVOKSBbwqDCoCAyNi4zOTA5NDldIC0gUFBSIExvZyBPdmVyZmxvdyBFYXJseSBXYXJuaW5nCihY RU4pIFvCoMKgIDI2LjQzMDM0M10gLSBQUFIgQXV0b21hdGljIFJlc3BvbnNlCihYRU4pIFvCoMKg IDI2LjQ2OTAwNl0gLSBNZW1vcnkgQWNjZXNzIFJvdXRpbmcgYW5kIENvbnRyb2w6IDB4MQooWEVO KSBbwqDCoCAyNi41MDk3MTFdIC0gQmxvY2sgU3RvcE1hcmsgTWVzc2FnZQooWEVOKSBbwqDCoCAy Ni41NDg4NjddIC0gUGVyZm9ybWFuY2UgT3B0aW1pemF0aW9uCihYRU4pIFvCoMKgIDI2LjU4ODE1 OV0gLSBNU0kgQ2FwYWJpbGl0eSBNTUlPIEFjY2VzcwooWEVOKSBbwqDCoCAyNi42Mjc2MjddIC0g R3Vlc3QgSS9PIFByb3RlY3Rpb24KKFhFTikgW8KgwqAgMjYuNjY2MzU1XSAtIEhvc3QgQWNjZXNz CihYRU4pIFvCoMKgIDI2LjcwNDI1M10gLSBFbmhhbmNlZCBQUFIgSGFuZGxpbmcKKFhFTikgW8Kg wqAgMjYuNzQzMjcxXSAtIEF0dHJpYnV0ZSBGb3J3YXJkCihYRU4pIFvCoMKgIDI2Ljc4MTgyOF0g LSBWaXJ0dWFsaXplZCBJT01NVQooWEVOKSBbwqDCoCAyNi44MjAzNDFdIC0gVk1HdWFyZCBJL08g U3VwcG9ydAooWEVOKSBbwqDCoCAyNi44NTg4NzRdIC0gVk0gVGFibGUgU2l6ZTogMHgyCihYRU4p IFvCoMKgIDI2LjkwMDU0OV0gQU1ELVZpOiBJT01NVSBFeHRlbmRlZCBGZWF0dXJlczoKKFhFTikg W8KgwqAgMjYuOTQwMDk1XSAtIFBlcmlwaGVyYWwgUGFnZSBTZXJ2aWNlIFJlcXVlc3QKKFhFTikg W8KgwqAgMjYuOTc5NzY5XSAtIHgyQVBJQwooWEVOKSBbwqDCoCAyNy4wMTY2ODZdIC0gTlggYml0 CihYRU4pIFvCoMKgIDI3LjA1MzI4N10gLSBJbnZhbGlkYXRlIEFsbCBDb21tYW5kCihYRU4pIFvC oMKgIDI3LjA5MTU4Ml0gLSBHdWVzdCBBUElDCihYRU4pIFvCoMKgIDI3LjEyODQzMl0gLSBQZXJm b3JtYW5jZSBDb3VudGVycwooWEVOKSBbwqDCoCAyNy4xNjY0MThdIC0gSG9zdCBBZGRyZXNzIFRy YW5zbGF0aW9uIFNpemU6IDB4MgooWEVOKSBbwqDCoCAyNy4yMDU5NzFdIC0gR3Vlc3QgQWRkcmVz cyBUcmFuc2xhdGlvbiBTaXplOiAwCihYRU4pIFvCoMKgIDI3LjI0NTQ0MF0gLSBHdWVzdCBDUjMg Um9vdCBUYWJsZSBMZXZlbDogMHgxCihYRU4pIFvCoMKgIDI3LjI4NDcxNF0gLSBNYXhpbXVtIFBB U0lEOiAweGYKKFhFTikgW8KgwqAgMjcuMzIyNTQzXSAtIFNNSSBGaWx0ZXIgUmVnaXN0ZXI6IDB4 MQooWEVOKSBbwqDCoCAyNy4zNjA4NDddIC0gU01JIEZpbHRlciBSZWdpc3RlciBDb3VudDogMHgy CihYRU4pIFvCoMKgIDI3LjM5OTc2OF0gLSBHdWVzdCBWaXJ0dWFsIEFQSUMgTW9kZXM6IDB4MQoo WEVOKSBbwqDCoCAyNy40Mzg2NTZdIC0gRHVhbCBQUFIgTG9nOiAweDIKKFhFTikgW8KgwqAgMjcu NDc2MjA5XSAtIER1YWwgRXZlbnQgTG9nOiAweDIKKFhFTikgW8KgwqAgMjcuNTEzODg5XSAtIFVz ZXIgLyBTdXBlcnZpc29yIFBhZ2UgUHJvdGVjdGlvbgooWEVOKSBbwqDCoCAyNy41NTMzMzFdIC0g RGV2aWNlIFRhYmxlIFNlZ21lbnRhdGlvbjogMHgzCihYRU4pIFvCoMKgIDI3LjU5MjU5NV0gLSBQ UFIgTG9nIE92ZXJmbG93IEVhcmx5IFdhcm5pbmcKKFhFTikgW8KgwqAgMjcuNjMyMDAzXSAtIFBQ UiBBdXRvbWF0aWMgUmVzcG9uc2UKKFhFTikgW8KgwqAgMjcuNjcwNjU1XSAtIE1lbW9yeSBBY2Nl c3MgUm91dGluZyBhbmQgQ29udHJvbDogMHgxCihYRU4pIFvCoMKgIDI3LjcxMTM1MV0gLSBCbG9j ayBTdG9wTWFyayBNZXNzYWdlCihYRU4pIFvCoMKgIDI3Ljc1MDUyNV0gLSBQZXJmb3JtYW5jZSBP cHRpbWl6YXRpb24KKFhFTikgW8KgwqAgMjcuNzg5ODExXSAtIE1TSSBDYXBhYmlsaXR5IE1NSU8g QWNjZXNzCihYRU4pIFvCoMKgIDI3LjgyOTI2N10gLSBHdWVzdCBJL08gUHJvdGVjdGlvbgooWEVO KSBbwqDCoCAyNy44NjgwMDVdIC0gSG9zdCBBY2Nlc3MKKFhFTikgW8KgwqAgMjcuOTA1ODg5XSAt IEVuaGFuY2VkIFBQUiBIYW5kbGluZwooWEVOKSBbwqDCoCAyNy45NDQ4OTZdIC0gQXR0cmlidXRl IEZvcndhcmQKKFhFTikgW8KgwqAgMjcuOTgzNDQ1XSAtIFZpcnR1YWxpemVkIElPTU1VCihYRU4p IFvCoMKgIDI4LjAyMTk1Nl0gLSBWTUd1YXJkIEkvTyBTdXBwb3J0CihYRU4pIFvCoMKgIDI4LjA2 MDQ5NF0gLSBWTSBUYWJsZSBTaXplOiAweDIKKFhFTikgW8KgwqAgMjguMjg0ODc5XSBBTUQtVmk6 IERpc2FibGVkIEhBUCBtZW1vcnkgbWFwIHNoYXJpbmcgd2l0aCBJT01NVQooWEVOKSBbwqDCoCAy OC4zMjY4NTZdIEFNRC1WaTogSU9NTVUgMCBFbmFibGVkLgooWEVOKSBbwqDCoCAyOC4zNjYwMTFd IEFNRC1WaTogSU9NTVUgMSBFbmFibGVkLgooWEVOKSBbwqDCoCAyOC40MDUxNDJdIEFNRC1WaTog SU9NTVUgMiBFbmFibGVkLgooWEVOKSBbwqDCoCAyOC40NDQxNTBdIEFNRC1WaTogSU9NTVUgMyBF bmFibGVkLgooWEVOKSBbwqDCoCAyOC40ODMwNjJdIEFNRC1WaTogSU9NTVUgNCBFbmFibGVkLgoo WEVOKSBbwqDCoCAyOC41MjE5MjNdIEFNRC1WaTogSU9NTVUgNSBFbmFibGVkLgooWEVOKSBbwqDC oCAyOC41NjA3OThdIEFNRC1WaTogSU9NTVUgNiBFbmFibGVkLgooWEVOKSBbwqDCoCAyOC41OTk1 MjhdIEFNRC1WaTogSU9NTVUgNyBFbmFibGVkLgooWEVOKSBbwqDCoCAyOC42NDUzODJdIEkvTyB2 aXJ0dWFsaXNhdGlvbiBlbmFibGVkCihYRU4pIFvCoMKgIDI4LjY4NDAzNF3CoCAtIERvbTAgbW9k ZTogUmVsYXhlZAooWEVOKSBbwqDCoCAyOC43MjIwNjNdIEludGVycnVwdCByZW1hcHBpbmcgZW5h YmxlZAoKR2l2ZW4gdGhhdCB0aGUgZXhwZWN0ZWQgY2FzZSBpcyB0aGF0IGFsbCBJT01NVXMgYXJl IGlkZW50aWNhbCwgaG93IGFib3V0Cm9ubHkgcHJpbnRpbmcgdGhlIGRldGFpbHMgZm9yIElPTU1V MCwgYW5kIGVsaWRpbmcgcHJpbnRpbmcgZm9yIGZ1cnRoZXIKSU9NTVVzIHdoaWNoIGhhdmUgYW4g aWRlbnRpY2FsIGZlYXR1cmVzZXQ/Cgo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2 bS9hbWQtaW9tbXUtZGVmcy5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2Ft ZC1pb21tdS1kZWZzLmgKPiBAQCAtMzQ2LDI2ICszNDYsNTcgQEAgc3RydWN0IGFtZF9pb21tdV9k dGUgewo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX1BBU01BWF9TSElGVCAgICAgICAgICAg ICAgICAgIDB4MAo+IC0jZGVmaW5lIElPTU1VX0VYVF9GRUFUVVJFX1BBU01BWF9NQVNLICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMUYKPiArdW5pb24gYW1kX2lvbW11X2V4dF9mZWF0dXJlcyB7 Cj4gKyAgICB1aW50NjRfdCByYXc7Cj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAgIHVuc2lnbmVk IGludCBwcmVmX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBwcHJfc3VwOjE7Cj4gKyAg ICAgICAgdW5zaWduZWQgaW50IHh0X3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBueF9z dXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgZ3Rfc3VwOjE7Cj4gKyAgICAgICAgdW5zaWdu ZWQgaW50IGdhcHBpX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBpYV9zdXA6MTsKPiAr ICAgICAgICB1bnNpZ25lZCBpbnQgZ2Ffc3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGhl X3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBwY19zdXA6MTsKPiArICAgICAgICB1bnNp Z25lZCBpbnQgaGF0czoyOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBnYXRzOjI7Cj4gKyAgICAg ICAgdW5zaWduZWQgaW50IGdseF9zdXA6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgc21pZl9z dXA6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgc21pZl9yYzozOwo+ICsgICAgICAgIHVuc2ln bmVkIGludCBnYW1fc3VwOjM7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGR1YWxfcHByX2xvZ19z dXA6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgOjI7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50 IGR1YWxfZXZlbnRfbG9nX3N1cDoyOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBzYXRfc3VwOjE7 Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBwYXNf bWF4OjU7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IHVzX3N1cDoxOwo+ICsgICAgICAgIHVuc2ln bmVkIGludCBkZXZfdGJsX3NlZ19zdXA6MjsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgcHByX2Vh cmx5X29mX3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBwcHJfYXV0b19yc3Bfc3VwOjE7 Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IG1hcmNfc3VwOjI7Cj4gKyAgICAgICAgdW5zaWduZWQg aW50IGJsa19zdG9wX21ya19zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgcGVyZl9vcHRf c3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IG1zaV9jYXBfbW1pb19zdXA6MTsKPiArICAg ICAgICB1bnNpZ25lZCBpbnQgOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IGdpb19zdXA6MTsK PiArICAgICAgICB1bnNpZ25lZCBpbnQgaGFfc3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50 IGVwaF9zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgYXR0cl9md19zdXA6MTsKPiArICAg ICAgICB1bnNpZ25lZCBpbnQgaGRfc3VwOjE7Cj4gKyAgICAgICAgdW5zaWduZWQgaW50IDoxOwo+ ICsgICAgICAgIHVuc2lnbmVkIGludCBpbnZfaW90bGJfdHlwZV9zdXA6MTsKPiArICAgICAgICB1 bnNpZ25lZCBpbnQgdmlvbW11X3N1cDoxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCB2bV9ndWFy ZF9pb19zdXA6MTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgdm1fdGFibGVfc2l6ZTo0Owo+ICsg ICAgICAgIHVuc2lnbmVkIGludCBnYV91cGRhdGVfZGlzX3N1cDoxOwo+ICsgICAgICAgIHVuc2ln bmVkIGludCA6MjsKPiArICAgIH0gZmxkczsKPiArfTsKCkknZCBzdWdnZXN0IGJvb2wgZm9yIHNp bmdsZSBiaXRmaWVsZHMuwqAgV2UndmUgYmVlbiBiaXR0ZW4gbXVsdGlwbGUgdGltZXMKYnkgIngg PSAoeSAmIDB4ODApIiB0eXBlIGJ1Z3MsIHdoaWNoIHRydW5jYXRlIHRvIDAgdXNpbmcgdW5zaWdu ZWQgaW50CmJpdGZpZWxkcywgYnV0IGNvcnJlY3RseSBiZWNvbWUgMSBnaXZlbiBib29sIGJpdGZp ZWxkcy4KCn5BbmRyZXcKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=