From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx1.redhat.com ([209.132.183.28]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gNUmQ-0003S7-Ih for kexec@lists.infradead.org; Fri, 16 Nov 2018 03:26:51 +0000 Subject: Re: [PATCH 1/2 v6] x86/kexec_file: add e820 entry in case e820 type string matches to io resource name References: <20181114072926.13312-1-lijiang@redhat.com> <20181114072926.13312-2-lijiang@redhat.com> <20181114112600.GD13926@zn.tnic> <9eb61523-7a08-24c4-ac15-050537bd9203@redhat.com> <20181115103959.GB26448@zn.tnic> From: lijiang Message-ID: Date: Fri, 16 Nov 2018 11:25:55 +0800 MIME-Version: 1.0 In-Reply-To: <20181115103959.GB26448@zn.tnic> Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Borislav Petkov , Bjorn Helgaas Cc: bhe@redhat.com, x86@kernel.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, mingo@redhat.com, tglx@linutronix.de, dyoung@redhat.com, akpm@linux-foundation.org 5ZyoIDIwMTjlubQxMeaciDE15pelIDE4OjM5LCBCb3Jpc2xhdiBQZXRrb3Yg5YaZ6YGTOgo+ICsg Qmpvcm4uCj4gCj4gT24gVGh1LCBOb3YgMTUsIDIwMTggYXQgMDE6NDQ6MDdQTSArMDgwMCwgbGlq aWFuZyB3cm90ZToKPj4gQXQgcHJlc2VudCwgdGhlIHVwc3RyZWFtIGtlcm5lbCBkb2VzIG5vdCBw YXNzIHRoZSBlODIwIHJlc2VydmVkIHJhbmdlcyB0byB0aGUKPj4gc2Vjb25kIGtlcm5lbCwgd2hp Y2ggbWlnaHQgY2F1c2UgdHdvIHByb2JsZW1zOgo+Pgo+PiBUaGUgZmlyc3Qgb25lIGlzIHRoZSBN TUNPTkZJRyBpc3N1ZSwgdGhlIFBDSSBNTUNPTkZJRyhleHRlbmRlZCBtb2RlKSByZXF1aXJlcwo+ PiB0aGUgcmVzZXJ2ZWQgcmVnaW9uIG90aGVyd2lzZSBpdCBmYWxscyBiYWNrIHRvIGxlZ2FjeSBt b2RlLCB3aGljaCBtaWdodCBsZWFkIHRvCj4+IHRoZSBob3QtcGx1ZyBkZXZpY2UgY291bGQgbm90 IGJlIHJlY29nbml6ZWQgaW4ga2R1bXAga2VybmVsLgo+IAo+IFdlbGwsIHRoaXMgc3RpbGwgZG9l c24ndCBleHBsYWluIGl0IGZ1bGx5LiBMZXQncyBsb29rIGF0IGEgYm94Ogo+IAo+IFsgICAgMC4w MDAwMDBdIGU4MjA6IEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKPiBbICAgIDAuMDAw MDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDAwMDA5OTdm Zl0gdXNhYmxlCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDA5 OTgwMC0weDAwMDAwMDAwMDAwOWZmZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1l ODIwOiBbbWVtIDB4MDAwMDAwMDAwMDBlMDAwMC0weDAwMDAwMDAwMDAwZmZmZmZdIHJlc2VydmVk Cj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDEwMDAwMC0weDAw MDAwMDAwNjU2NDJmZmZdIHVzYWJsZQo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAw eDAwMDAwMDAwNjU2NDMwMDAtMHgwMDAwMDAwMDY3ZmI4ZmZmXSByZXNlcnZlZAo+IFsgICAgMC4w MDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjdmYjkwMDAtMHgwMDAwMDAwMDY4OWU4 ZmZmXSBBQ1BJIE5WUwo+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAw Njg5ZTkwMDAtMHgwMDAwMDAwMDY4YmY1ZmZmXSBBQ1BJIGRhdGEKPiBbICAgIDAuMDAwMDAwXSBC SU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4YmY2MDAwLTB4MDAwMDAwMDA2ZjdmZmZmZl0gdXNh YmxlCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2ZjgwMDAwMC0w eDAwMDAwMDAwOGZmZmZmZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBb bWVtIDB4MDAwMDAwMDBmZDAwMDAwMC0weDAwMDAwMDAwZmU3ZmZmZmZdIHJlc2VydmVkCj4gWyAg ICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDBmZWMwMDAwMC0weDAwMDAwMDAw ZmVjMDBmZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAw MDAwMDBmZWM4MDAwMC0weDAwMDAwMDAwZmVkMDBmZmZdIHJlc2VydmVkCj4gWyAgICAwLjAwMDAw MF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDBmZjgwMDAwMC0weDAwMDAwMDAxMDA3ZmZmZmZd IHJlc2VydmVkCj4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDEwMDgw MDAwMC0weDAwMDAwMDYwM2ZmZmZmZmZdIHVzYWJsZQo+IAo+IHRoaXMgb25lIGhhcyA4IHJlc2Vy dmVkIHJlZ2lvbnMuIERvZXMgdGhhdCBtZWFuIHRoYXQgd2UgbmVlZCB0byBwYXNzCj4gdGhlbSAq YWxsKiA4IHRvIHRoZSBzZWNvbmQga2VybmVsIHNvIHRoYXQgTU1DT05GSUcgd29ya3M/Cj4gCj4g T3IgaXMgaXQgb25seSBvbmUgcmVzZXJ2ZWQgcmVnaW9uIHdoaWNoIGlzIG5lZWRlZCBmb3IgTU1D T05GSUc/Cj4gCgpPbiBteSBtYWNoaW5lLCB0aGUgcGNpIG1tY29uZmlnIHJlZ2lvblttZW0gMHg4 MDAwMDAwMC0weDhmZmZmZmZmXSByZXNlcnZlZCBpbiBlODIwLgpUaGlzIGFkZHJlc3MgcmFuZ2Ug YmVsb25ncyB0byB0aGUgZTgyMCByZXNlcnZlZCByZWdpb25bbWVtIDB4MDAwMDAwMDA3ODAwMDAw MC0KMHgwMDAwMDAwMDhmZmZmZmZmXS4KCktlcm5lbCBvdXRwdXRzIHRoZSBmb2xsb3dpbmcgbG9n OgoKWyAgICAwLjAwMDAwMF0gQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOgpbICAgIDAu MDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDAwMDA4 YmZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAw OGMwMDAtMHgwMDAwMDAwMDAwMDlmZmZmXSByZXNlcnZlZApbICAgIDAuMDAwMDAwXSBCSU9TLWU4 MjA6IFttZW0gMHgwMDAwMDAwMDAwMGUwMDAwLTB4MDAwMDAwMDAwMDBmZmZmZl0gcmVzZXJ2ZWQK WyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDEwMDAwMC0weDAwMDAw MDAwMjk5MjBmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAw MDAwMDI5OTIxMDAwLTB4MDAwMDAwMDAyOTkyMWZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0g QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAyOTkyMjAwMC0weDAwMDAwMDAwNjIyNzhmZmZdIHVz YWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyMjc5MDAwLTB4 MDAwMDAwMDA2MjM3OGZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVt IDB4MDAwMDAwMDA2MjM3OTAwMC0weDAwMDAwMDAwNjIzOGJmZmZdIEFDUEkgZGF0YQpbICAgIDAu MDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyMzhjMDAwLTB4MDAwMDAwMDA2MjM4 Y2ZmZl0gQUNQSSBOVlMKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2 MjM4ZDAwMC0weDAwMDAwMDAwNjI0MGJmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4 MjA6IFttZW0gMHgwMDAwMDAwMDYyNDBjMDAwLTB4MDAwMDAwMDA2MjY0YmZmZl0gcmVzZXJ2ZWQK WyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjY0YzAwMC0weDAwMDAw MDAwNjI2NmRmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAw MDAwMDYyNjZlMDAwLTB4MDAwMDAwMDA2MjZjZGZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0g QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjZjZTAwMC0weDAwMDAwMDAwNjI3OGRmZmZdIHVz YWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyNzhlMDAwLTB4 MDAwMDAwMDA2Mjc4ZWZmZl0gQUNQSSBkYXRhClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21l bSAweDAwMDAwMDAwNjI3OGYwMDAtMHgwMDAwMDAwMDYyODA3ZmZmXSB1c2FibGUKWyAgICAwLjAw MDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjgwODAwMC0weDAwMDAwMDAwNjI4MGFm ZmZdIEFDUEkgZGF0YQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYy ODBiMDAwLTB4MDAwMDAwMDA2MjgwY2ZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIEJJT1MtZTgy MDogW21lbSAweDAwMDAwMDAwNjI4MGQwMDAtMHgwMDAwMDAwMDYyODBkZmZmXSBBQ1BJIGRhdGEK WyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjgwZTAwMC0weDAwMDAw MDAwNjI4NmFmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAw MDAwMDYyODZiMDAwLTB4MDAwMDAwMDA2Mjg2ZWZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0g QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2Mjg2ZjAwMC0weDAwMDAwMDAwNjgyZjhmZmZdIHVz YWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4MmY5MDAwLTB4 MDAwMDAwMDA2OGIwNWZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVt IDB4MDAwMDAwMDA2OGIwNjAwMC0weDAwMDAwMDAwNjhiMDlmZmZdIEFDUEkgTlZTClsgICAgMC4w MDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjhiMGEwMDAtMHgwMDAwMDAwMDY4YjFh ZmZmXSByZXNlcnZlZApbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4 YjFiMDAwLTB4MDAwMDAwMDA2OGIxZGZmZl0gQUNQSSBOVlMKWyAgICAwLjAwMDAwMF0gQklPUy1l ODIwOiBbbWVtIDB4MDAwMDAwMDA2OGIxZTAwMC0weDAwMDAwMDAwNzFkMWRmZmZdIHVzYWJsZQpb ICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDcxZDFlMDAwLTB4MDAwMDAw MDA3MWQyZGZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAw MDAwMDA3MWQyZTAwMC0weDAwMDAwMDAwNzFkM2RmZmZdIEFDUEkgTlZTClsgICAgMC4wMDAwMDBd IEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNzFkM2UwMDAtMHgwMDAwMDAwMDcxZDRkZmZmXSBB Q1BJIGRhdGEKWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3MWQ0ZTAw MC0weDAwMDAwMDAwNzdmZmZmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFtt ZW0gMHgwMDAwMDAwMDc4MDAwMDAwLTB4MDAwMDAwMDA4ZmZmZmZmZl0gcmVzZXJ2ZWQKWyAgICAw LjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDBmZWQ4MDAwMC0weDAwMDAwMDAwZmVk ODBmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAx MDAwMDAwMDAtMHgwMDAwMDAwODdlZmZmZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gQklPUy1l ODIwOiBbbWVtIDB4MDAwMDAwMDg3ZjAwMDAwMC0weDAwMDAwMDA4N2ZmZmZmZmZdIHJlc2VydmVk CgouLi4uLi4KWyAgICAwLjA4MjY0OV0gUENJOiBNTUNPTkZJRyBmb3IgZG9tYWluIDAwMDAgW2J1 cyAwMC1mZl0gYXQgW21lbSAweDgwMDAwMDAwLTB4OGZmZmZmZmZdIChiYXNlIDB4ODAwMDAwMDAp ClsgICAgMC4wODM2MTBdIFBDSTogTU1DT05GSUcgYXQgW21lbSAweDgwMDAwMDAwLTB4OGZmZmZm ZmZdIHJlc2VydmVkIGluIEU4MjAKLi4uLi4uCgoKRm9yIHRoZSBwY2kgbW1jb25maWcgaXNzdWUs IGl0IHNob3VsZCBiZSBnb29kIGVub3VnaCB0aGF0IHRoZSBlODIwIHJlc2VydmVkIHJlZ2lvbgpb bWVtIDB4MDAwMDAwMDA3ODAwMDAwMC0weDAwMDAwMDAwOGZmZmZmZmZdIGlzIG9ubHkgcGFzc2Vk IHRvIHRoZSBzZWNvbmQga2VybmVsLCBidXQKdGhlIHBjaSBtbWNvbmZpZyByZWdpb24gaXMgbm90 IHRoZSBzYW1lIGluIGFub3RoZXIgbWFjaGluZS4KCkluIGFkZGl0aW9uLCBpdCBoYXMgbW9yZSBz ZXJpb3VzIHByb2JsZW1zIHRoYXQga2R1bXAgY291bGQgbm90IHdvcmsgaW4gc29tZSBtYWNoaW5l LiAKCj4gQmpvcm4sIGRvIHlvdSBrbm93IHdoYXQgdGhlIGRldGVjdGlvbiBsb2dpYyBzaG91bGQg YmUgdG8gbWFwIHRoZSBjb3JyZWN0Cj4gcmVzZXJ2ZWQgcmVnaW9uIChvciByZWdpb25zKSBmb3Ig TU1DT05GSUc/Cj4gCj4gTm93LCBldmVuIGlmIHdlIGRvbid0IG1hcCB0aGF0IHJlc2VydmVkIHJl Z2lvbiBhbmQgTU1DT05GSUcgZmFsbHMgYmFjawo+IHRvIGxlZ2FjeSBtb2RlLCB3aHkgaXMgdGhh dCBhIHByb2JsZW0gZm9yIHRoZSBrZHVtcCBrZXJuZWw/IFdoeSBkb2VzCj4gdGhlIGtkdW1wIGtl cm5lbCBuZWVkIHRoZSBob3RwbHVnIGRldmljZT8gV2hhdCB3b3VsZCBiZSB0aGUgdXNlIGNhc2U/ Cj4gSG90cGx1ZyBhIFNBVEEgZHJpdmUgdG8gc3RvcmUgdGhlIG1lbW9yeSBkdW1wIHRvIGl0IC4u LiBvcj8KPiAKCkEgc2ltcGxlIGNhc2UsIGhvdHBsdWcgYSBwY2kgbmV0d29yayBjYXJkIGFuZCB1 c2UgdGhlIHNzaC9uZnMgdG8gZHVtcCB0aGUgdm1jb3JlLgpJZiB0aGUgcGNpIG1tY29uZmlnIHJl Z2lvbiBpcyBub3QgcmVzZXJ2ZWQgaW4ga2R1bXAga2VybmVsLCB0aGUgcGNpIGhvdHBsdWcgZGV2 aWNlCmNvdWxkIG5vdCBiZSByZWNvZ25pemVkLiBTbyB0aGUgcGNpIG5ldHdvcmsgY2FyZCB3b24n dCB3b3JrLgoKPj4gQW5vdGhlciBvbmUgaXMgdGhhdCB0aGUgZTgyMCByZXNlcnZlZCByYW5nZXMg ZG8gbm90IHNldHVwIGluIGtkdW1wIGtlcm5lbCwgd2hpY2gKPj4gY291bGQgY2F1c2Uga2R1bXAg Y2FuJ3Qgd29yayBpbiBzb21lIG1hY2hpbmVzLiBUbyBrbm93IG1vcmUgaW5mb3JtYXRpb24sIHBs ZWFzZQo+PiByZWZlciB0byB0aGUgW1BBVENIIDIvMiB2Nl0gcGF0Y2ggbG9nLgo+IAo+IFlhaCwg SSBzdGlsbCBkb24ndCB1bmRlcnN0YW5kICp3aHkqIHdlIG5lZWQgdGhlIHJlc2VydmVkIHJhbmdl cyBpbiB0aGUKPiBzZWNvbmQga2VybmVsLiBPbmNlIHdlJ3ZlIGZpZ3VyZWQgb3V0IHRoZSAqd2h5 KiB3ZSBjYW4gbG9vayBhdCB0aGUgKmhvdyouCj4gCgpIZXJlLCB0aGVyZSBpcyBhbiBleGFtcGxl IGFib3V0IFNNRSBrZHVtcC4gTWF5YmUgaXQgY2FuIGhlbHAgdG8gYmV0dGVyIHVuZGVyc3RhbmQu CgpUaGUgZTgyMCByZXNlcnZlZCByYW5nZXMgZG8gbm90IHNldHVwIGluIGtkdW1wIGtlcm5lbCwg d2hpY2ggd2lsbCBjYXVzZSBzb21lCmZ1bmN0aW9ucyB0aGF0IHJlbGF0ZWQgdG8gdGhlIGU4MjAg cmVzZXJ2ZWQgcmFuZ2VzIHRvIGJlY29tZSBpbnZhbGlkLgogICAgCmVhcmx5X21lbXJlbWFwKCkt PgplYXJseV9tZW1yZW1hcF9wZ3Byb3RfYWRqdXN0KCktPgptZW1yZW1hcF9zaG91bGRfbWFwX2Rl Y3J5cHRlZCgpLT4KZTgyMF9fZ2V0X2VudHJ5X3R5cGUoKQoKUGxlYXNlIGZvY3VzIG9uIHRoZXNl IGZ1bmN0aW9ucywgZWFybHlfbWVtcmVtYXBfcGdwcm90X2FkanVzdCgpIGFuZAptZW1yZW1hcF9z aG91bGRfbWFwX2RlY3J5cHRlZCgpLgoKSW4gdGhlIGZpcnN0IGtlcm5lbCwgdGhlc2UgcmFuZ2Vz IHNpdCBpbiBlODIwIHJlc2VydmVkIHJhbmdlcywgc28gdGhlCm1lbXJlbWFwX3Nob3VsZF9tYXBf ZGVjcnlwdGVkKCkgd2lsbCByZXR1cm4gdHJ1ZSwgdGhhdCBpcyB0byBzYXksIHRoZQpyZXNlcnZl ZCBtZW1vcnkgaXMgZGVjcnlwdGVkLCB0aGVuIHRoZSBlYXJseV9tZW1yZW1hcF9wZ3Byb3RfYWRq dXN0KCkKd2lsbCBjYWxsIHRoZSBwZ3Byb3RfZGVjcnlwdGVkKCkgdG8gY2xlYXIgdGhlIG1lbW9y eSBlbmNyeXB0aW9uIG1hc2suCgpJbiB0aGUgc2Vjb25kIGtlcm5lbCwgYmVjYXVzZSB0aGUgZTgy MCByZXNlcnZlZCByYW5nZXMgYXJlIG5vdCBwYXNzZWQKdG8gdGhlIHNlY29uZCBrZXJuZWwsIHRo ZXNlIHJhbmdlcyBkb24ndCBzaXQgaW4gdGhlIGU4MjAgcmVzZXJ2ZWQgcmFuZ2VzLApzbyB0aGUg bWVtcmVtYXBfc2hvdWxkX21hcF9kZWNyeXB0ZWQoKSB3aWxsIHJldHVybiBmYWxzZSwgdGhhdCBp cyB0byBzYXksCnRoZSByZXNlcnZlZCBtZW1vcnkgaXMgZW5jcnlwdGVkLCBhbmQgdGhlbiB0aGUg ZWFybHlfbWVtcmVtYXBfcGdwcm90XwphZGp1c3QoKSB3aWxsIGFsc28gY2FsbCB0aGUgcGdwcm90 X2VuY3J5cHRlZCgpIHRvIHNldCB0aGUgbWVtb3J5IGVuY3J5cHRpb24KbWFzay4KCkluIGZhY3Qs IGluIHRoZSBzZWNvbmQga2VybmVsLCB0aGUgZTgyMCByZXNlcnZlZCBtZW1vcnkgaXMgc3RpbGwg ZGVjcnlwdGVkLgpPYnZpb3VzbHksIGl0IGhhcyBnb25lIHdyb25nLiBTbywgdGhpcyBpc3N1ZSBt dXN0IGJlIGZpeGVkLCBvdGhlcndpc2Uga2R1bXAKd29uJ3Qgd29yayBpbiB0aGlzIGNhc2UuCgpU aGUgZTgyMCByZXNlcnZlZCByYW5nZSBpcyB1c2VmdWwgaW4ga2R1bXAga2VybmVsLCBzbyBpdCBp cyBuZWNlc3NhcnkgdG8KcGFzcyB0aGUgZTgyMCByZXNlcnZlZCByYW5nZXMgdG8ga2R1bXAga2Vy bmVsLgoKSG9wZSB0aGlzIGlzIGhlbHBmdWwuCgpUaGFua3MsCkxpYW5ibwoKPiBUaHguCj4gCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprZXhlYyBtYWls aW5nIGxpc3QKa2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tleGVjCg==