From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: nathaniel.l.desimone@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by groups.io with SMTP; Thu, 30 May 2019 22:37:36 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 May 2019 22:37:35 -0700 X-ExtLoop1: 1 Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by orsmga003.jf.intel.com with ESMTP; 30 May 2019 22:37:35 -0700 Received: from orsmsx114.amr.corp.intel.com ([169.254.8.116]) by ORSMSX108.amr.corp.intel.com ([169.254.2.171]) with mapi id 14.03.0415.000; Thu, 30 May 2019 22:37:35 -0700 From: "Nate DeSimone" To: "Chiu, Chasel" , "devel@edk2.groups.io" CC: "Ma, Maurice" , "Zeng, Star" Subject: Re: [PATCH v2] IntelFsp2Pkg/SplitFspBin.py: Support rebasing 1.x binary. Thread-Topic: [PATCH v2] IntelFsp2Pkg/SplitFspBin.py: Support rebasing 1.x binary. Thread-Index: AQHVFqRBWqKdSHR1W0Ky06zkDG8ORqaEuJ2A Date: Fri, 31 May 2019 05:37:34 +0000 Message-ID: References: <20190530045750.5600-1-chasel.chiu@intel.com> In-Reply-To: <20190530045750.5600-1-chasel.chiu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.19.0.190512 x-originating-ip: [10.251.156.232] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IE5hdGUgRGVTaW1vbmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNv bT4NCg0K77u/T24gNS8yOS8xOSwgOTo1OCBQTSwgIkNoaXUsIENoYXNlbCIgPGNoYXNlbC5jaGl1 QGludGVsLmNvbT4gd3JvdGU6DQoNCiAgICBSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3Jl Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOA0KICAgIA0KICAgIFN1cHBvcnQgcmViYXNpbmcgRlNQ IDEueCBiaW5hcnkuDQogICAgRlNQIDEueCBoYXMgc2luZ2xlIGNvbXBvbmVudCBpbiBiaW5hcnkg c28gbm90IHN1cHBvcnRlZA0KICAgIGJ5IHNwbGl0IGNvbW1hbmQgYW5kIHJlYmFzZSBjYW4gYmUg ZG9uZSB3aXRoIHRoZSBzYW1lDQogICAgY29tbWFuZCBmb3IgcmViYXNpbmcgRlNQLVQgY29tcG9u ZW50IGluIEZTUCAyLnggaW1hZ2UuDQogICAgDQogICAgVGVzdDogYm90aCBGU1AgMi54IChLYWJ5 bGFrZSkgYW5kIEZTUCAxLnggKEJyb2Fkd2VsbERFKSBiaW5hcnkNCiAgICAgICAgICBjYW4gYmUg cmViYXNlZCBzdWNjZXNzZnVsbHkuDQogICAgDQogICAgQ2M6IE1hdXJpY2UgTWEgPG1hdXJpY2Uu bWFAaW50ZWwuY29tPg0KICAgIENjOiBOYXRlIERlU2ltb25lIDxuYXRoYW5pZWwubC5kZXNpbW9u ZUBpbnRlbC5jb20+DQogICAgQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCiAg ICBTaWduZWQtb2ZmLWJ5OiBDaGFzZWwgQ2hpdSA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPg0KICAg IC0tLQ0KICAgICBJbnRlbEZzcDJQa2cvVG9vbHMvU3BsaXRGc3BCaW4ucHkgICAgICAgICAgICAg ICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKy0tLS0tLS0tDQogICAgIEludGVsRnNwMlBrZy9U b29scy9Vc2VyTWFudWFscy9TcGxpdEZzcEJpblVzZXJNYW51YWwubWQgfCA0NyArKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAyIGZpbGVzIGNoYW5n ZWQsIDM4IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQ0KICAgIA0KICAgIGRpZmYgLS1n aXQgYS9JbnRlbEZzcDJQa2cvVG9vbHMvU3BsaXRGc3BCaW4ucHkgYi9JbnRlbEZzcDJQa2cvVG9v bHMvU3BsaXRGc3BCaW4ucHkNCiAgICBpbmRleCAyNDU4MjMxZDA5Li4xNWM4YmViZWUyIDEwMDY0 NA0KICAgIC0tLSBhL0ludGVsRnNwMlBrZy9Ub29scy9TcGxpdEZzcEJpbi5weQ0KICAgICsrKyBi L0ludGVsRnNwMlBrZy9Ub29scy9TcGxpdEZzcEJpbi5weQ0KICAgIEBAIC0xLDYgKzEsNiBAQA0K ICAgICAjIyBAIEZzcFRvb2wucHkNCiAgICAgIw0KICAgIC0jIENvcHlyaWdodCAoYykgMjAxNSAt IDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCiAgICAr IyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQogICAgICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCiAgICAgIw0KICAgICAjIw0KICAgIEBAIC0xNCwxMiArMTQsMTIgQEAgaW1w b3J0IGFyZ3BhcnNlDQogICAgIGZyb20gICBjdHlwZXMgaW1wb3J0ICoNCiAgICAgDQogICAgICIi Ig0KICAgIC1UaGlzIHV0aWxpdHkgc3VwcG9ydHMgc29tZSBvcGVyYXRpb25zIGZvciBJbnRlbCBG U1AgMi4wIGltYWdlLg0KICAgICtUaGlzIHV0aWxpdHkgc3VwcG9ydHMgc29tZSBvcGVyYXRpb25z IGZvciBJbnRlbCBGU1AgMS54LzIueCBpbWFnZS4NCiAgICAgSXQgc3VwcG9ydHM6DQogICAgLSAg ICAtIERpc3BsYXkgRlNQIDIuMCBpbmZvcm1hdGlvbiBoZWFkZXINCiAgICAtICAgIC0gU3BsaXQg RlNQIDIuMCBpbWFnZSBpbnRvIGluZGl2aWR1YWwgRlNQLVQvTS9TL08gY29tcG9uZW50DQogICAg LSAgICAtIFJlYmFzZSBGU1AgMi4wIGNvbXBvbmVudHMgdG8gYSBkaWZmZXJlbnQgYmFzZSBhZGRy ZXNzDQogICAgLSAgICAtIEdlbmVyYXRlIEZTUCBtYXBwaW5nIEMgaGVhZGVyIGZpbGUNCiAgICAr ICAgIC0gRGlzcGxheSBGU1AgMS54LzIueCBpbmZvcm1hdGlvbiBoZWFkZXINCiAgICArICAgIC0g U3BsaXQgRlNQIDIueCBpbWFnZSBpbnRvIGluZGl2aWR1YWwgRlNQLVQvTS9TL08gY29tcG9uZW50 DQogICAgKyAgICAtIFJlYmFzZSBGU1AgMS54LzIueCBjb21wb25lbnRzIHRvIGEgZGlmZmVyZW50 IGJhc2UgYWRkcmVzcw0KICAgICsgICAgLSBHZW5lcmF0ZSBGU1AgMS54LzIueCBtYXBwaW5nIEMg aGVhZGVyIGZpbGUNCiAgICAgIiIiDQogICAgIA0KICAgICBDb3B5UmlnaHRIZWFkZXJGaWxlID0g IiIiLyoNCiAgICBAQCAtNTAwLDggKzUwMCw2IEBAIGNsYXNzIEZpcm13YXJlRGV2aWNlOg0KICAg ICANCiAgICAgICAgICAgICBmaWggPSBOb25lDQogICAgICAgICAgICAgZm9yIGZzcCBpbiBzZWxm LkZzcExpc3Q6DQogICAgLSAgICAgICAgICAgIGlmIGZzcC5GaWguSGVhZGVyUmV2aXNpb24gPCAz Og0KICAgIC0gICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJFUlJPUjogRlNQIDEueCBp cyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgdG9vbCAhIikNCiAgICAgICAgICAgICAgICAgaWYgbm90 IGZpaDoNCiAgICAgICAgICAgICAgICAgICAgIGZpaCA9IGZzcC5GaWgNCiAgICAgICAgICAgICAg ICAgZWxzZToNCiAgICBAQCAtNzEzLDYgKzcxMSw4IEBAIGRlZiBTcGxpdEZzcEJpbiAoZnNwZmls ZSwgb3V0ZGlyLCBuYW1ldGVtcGxhdGUpOg0KICAgICAgICAgZmQuUGFyc2VGc3AgKCkNCiAgICAg DQogICAgICAgICBmb3IgZnNwIGluIGZkLkZzcExpc3Q6DQogICAgKyAgICAgICAgaWYgZnNwLkZp aC5IZWFkZXJSZXZpc2lvbiA8IDM6DQogICAgKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigi RVJST1I6IEZTUCAxLnggaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc3BsaXQgY29tbWFuZCAhIikN CiAgICAgICAgICAgICBmdHlwZSA9IGZzcC5UeXBlDQogICAgICAgICAgICAgaWYgbm90IG5hbWV0 ZW1wbGF0ZToNCiAgICAgICAgICAgICAgICAgbmFtZXRlbXBsYXRlID0gZnNwZmlsZQ0KICAgIEBA IC03NDIsNiArNzQyLDExIEBAIGRlZiBSZWJhc2VGc3BCaW4gKEZzcEJpbmFyeSwgRnNwQ29tcG9u ZW50LCBGc3BCYXNlLCBPdXRwdXREaXIsIE91dHB1dEZpbGUpOg0KICAgICANCiAgICAgICAgICAg ICBmb3VuZCA9IEZhbHNlDQogICAgICAgICAgICAgZm9yIGZzcCBpbiBmZC5Gc3BMaXN0Og0KICAg ICsgICAgICAgICAgICAjIElzIHRoaXMgRlNQIDEueCBzaW5nbGUgYmluYXJ5Pw0KICAgICsgICAg ICAgICAgICBpZiBmc3AuRmloLkhlYWRlclJldmlzaW9uIDwgMzoNCiAgICArICAgICAgICAgICAg ICAgIGZvdW5kID0gVHJ1ZQ0KICAgICsgICAgICAgICAgICAgICAgZnR5cGUgPSAnWCcNCiAgICAr ICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICAgICAgIGZ0eXBlID0gZnNwLlR5cGUu bG93ZXIoKQ0KICAgICAgICAgICAgICAgICBpZiBmdHlwZSA9PSBmc3Bjb21wOg0KICAgICAgICAg ICAgICAgICAgICAgZm91bmQgPSBUcnVlDQogICAgZGlmZiAtLWdpdCBhL0ludGVsRnNwMlBrZy9U b29scy9Vc2VyTWFudWFscy9TcGxpdEZzcEJpblVzZXJNYW51YWwubWQgYi9JbnRlbEZzcDJQa2cv VG9vbHMvVXNlck1hbnVhbHMvU3BsaXRGc3BCaW5Vc2VyTWFudWFsLm1kDQogICAgaW5kZXggMDY0 ZTBhYzg0NS4uMDZkODdiYmIyZSAxMDA2NDQNCiAgICAtLS0gYS9JbnRlbEZzcDJQa2cvVG9vbHMv VXNlck1hbnVhbHMvU3BsaXRGc3BCaW5Vc2VyTWFudWFsLm1kDQogICAgKysrIGIvSW50ZWxGc3Ay UGtnL1Rvb2xzL1VzZXJNYW51YWxzL1NwbGl0RnNwQmluVXNlck1hbnVhbC5tZA0KICAgIEBAIC0x LDY4ICsxLDcxIEBADQogICAgLSMgU3BsaXRGc3BCaW4ucHkgaXMgYSBweXRob24gc2NyaXB0IHRv IHN1cHBvcnQgc29tZSBvcGVyYXRpb25zIG9uIEludGVsIEZTUCAyLjAgaW1hZ2UuDQogICAgKyMg U3BsaXRGc3BCaW4ucHkgaXMgYSBweXRob24gc2NyaXB0IHRvIHN1cHBvcnQgc29tZSBvcGVyYXRp b25zIG9uIEludGVsIEZTUCAxLngvMi54IGltYWdlLg0KICAgICANCiAgICAgSXQgc3VwcG9ydHM6 DQogICAgIA0KICAgIC0tIFNwbGl0IEludGVsIEZTUCAyLjAgaW1hZ2UgaW50byBpbmRpdmlkdWFs IEZTUC1UL00vUy9PIGNvbXBvbmVudA0KICAgICstIFNwbGl0IEludGVsIEZTUCAyLnggaW1hZ2Ug aW50byBpbmRpdmlkdWFsIEZTUC1UL00vUy9PIGNvbXBvbmVudA0KICAgICANCiAgICAtLSBSZWJh c2UgSW50ZWwgRlNQIDIuMCBjb21wb25lbnRzIHRvIGRpZmZlcmVudCBiYXNlIGFkZHJlc3Nlcw0K ICAgICstIFJlYmFzZSBJbnRlbCBGU1AgMS54LzIueCBjb21wb25lbnRzIHRvIGRpZmZlcmVudCBi YXNlIGFkZHJlc3Nlcw0KICAgICANCiAgICAtLSBHZW5lcmF0ZSBJbnRlbCBGU1AgMi4wIEMgaGVh ZGVyIGZpbGUNCiAgICArLSBHZW5lcmF0ZSBJbnRlbCBGU1AgMS54LzIueCBDIGhlYWRlciBmaWxl DQogICAgIA0KICAgIC0tIERpc3BsYXkgSW50ZWwgRlNQIDIuMCBpbmZvcm1hdGlvbiBoZWFkZXIg Zm9yIGVhY2ggRlNQIGNvbXBvbmVudA0KICAgICstIERpc3BsYXkgSW50ZWwgRlNQIDEueC8yLngg aW5mb3JtYXRpb24gaGVhZGVyIGZvciBlYWNoIEZTUCBjb21wb25lbnQNCiAgICAgDQogICAgLSMj IFNwbGl0IEludGVsIEZTUCAyLjAgaW1hZ2UNCiAgICArIyMgU3BsaXQgSW50ZWwgRlNQIDIueCBp bWFnZQ0KICAgICANCiAgICAtVG8gc3BsaXQgaW5kaXZpZHVhbCBGU1AgY29tcG9uZW50IGluIElu dGVsIEZTUCAyLjAgaW1hZ2UsIHRoZSBmb2xsb3dpbmcNCiAgICArRlNQIDEueCBpbWFnZSBpcyBu b3Qgc3VwcG9ydGVkIGJ5IHNwbGl0IGNvbW1hbmQuDQogICAgK1RvIHNwbGl0IGluZGl2aWR1YWwg RlNQIGNvbXBvbmVudCBpbiBJbnRlbCBGU1AgMi54IGltYWdlLCB0aGUgZm9sbG93aW5nDQogICAg IGNvbW1hbmQgY2FuIGJlIHVzZWQ6DQogICAgIA0KICAgICAgICAqKnB5dGhvbiBTcGxpdEZzcEJp bi5weSBzcGxpdCBbLWhdIC1mIEZTUEJJTkFSWSBbLW8gT1VUUFVURElSXSBbLW4gTkFNRVRFTVBM QVRFXSoqDQogICAgIA0KICAgIC1Gb3IgZXhhbXBsZTogIA0KICAgICtGb3IgZXhhbXBsZToNCiAg ICAgDQogICAgICAgIGBweXRob24gU3BsaXRGc3BCaW4ucHkgc3BsaXQgLWYgRlNQLmJpbmANCiAg ICAgDQogICAgICAgIEl0IHdpbGwgY3JlYXRlIEZTUF9ULmJpbiwgRlNQX00uYmluIGFuZCBGU1Bf Uy5iaW4gaW4gY3VycmVudCBkaXJlY3RvcnkuDQogICAgIA0KICAgIC0jIyBSZWJhc2UgSW50ZWwg RlNQIDIuMCBjb21wb25lbnRzDQogICAgKyMjIFJlYmFzZSBJbnRlbCBGU1AgMS54LzIueCBjb21w b25lbnRzDQogICAgIA0KICAgIC1UbyByZWJhc2Ugb25lIG9yIG11bHRpcGxlIEZTUCBjb21wb25l bnRzIGluIEludGVsIEZTUCAyLjAgaW1hZ2UsIHRoZSBmb2xsb3dpbmcNCiAgICArVG8gcmViYXNl IG9uZSBvciBtdWx0aXBsZSBGU1AgY29tcG9uZW50cyBpbiBJbnRlbCBGU1AgMS54LzIueCBpbWFn ZSwgdGhlIGZvbGxvd2luZw0KICAgICBjb21tYW5kIGNhbiBiZSB1c2VkOg0KICAgICANCiAgICAg ICAgKipweXRob24gU3BsaXRGc3BCaW4ucHkgcmViYXNlIFstaF0gLWYgRlNQQklOQVJZIC1jIHt0 LG0scyxvfSBbe3QsbSxzLG99IC4uLl0gLWIgRlNQQkFTRSBbRlNQQkFTRSAuLi5dIFstbyBPVVRQ VVRESVJdIFstbiBPVVRQVVRGSUxFXSoqDQogICAgIA0KICAgIC1Gb3IgZXhhbXBsZTogIA0KICAg ICtGb3IgZXhhbXBsZToNCiAgICAgDQogICAgLSAgIGBweXRob24gU3BsaXRGc3BCaW4ucHkgcmVi YXNlIC1mIEZTUC5iaW4g4oCTYyB0IOKAk2IgMHhGRkYwMDAwMCDigJNuIEZTUF9uZXcuYmluYA0K ICAgICsgICBgcHl0aG9uIFNwbGl0RnNwQmluLnB5IHJlYmFzZSAtZiBGU1AuYmluIC1jIHQgLWIg MHhGRkYwMDAwMCAtbiBGU1BfbmV3LmJpbmANCiAgICAgDQogICAgICAgIEl0IHdpbGwgcmViYXNl IEZTUC1UIGNvbXBvbmVudCBpbnNpZGUgRlNQLmJpbiB0byBuZXcgYmFzZSAweEZGRjAwMDAwIGFu ZCBzYXZlIHRoZQ0KICAgIC0gICByZWJhc2VkIEludGVsIEZTUCAyLjAgaW1hZ2UgaW50byBmaWxl IEZTUF9uZXcuYmluLg0KICAgICsgICByZWJhc2VkIEludGVsIEZTUCAyLnggaW1hZ2UgaW50byBm aWxlIEZTUF9uZXcuYmluLg0KICAgICsgICBGb3IgRlNQIDEueCBpbWFnZSB0aGVyZSBpcyBvbmx5 IG9uZSBjb21wb25lbnQgaW4gYmluYXJ5IHNvIGFib3ZlIGNvbW1hbmQgYWxzbw0KICAgICsgICB3 b3JrcyBmb3IgRlNQIDEueCBpbWFnZS4NCiAgICAgDQogICAgLSAgIGBweXRob24gU3BsaXRGc3BC aW4ucHkgcmViYXNlIC1mIEZTUC5iaW4g4oCTYyB0IG0g4oCTYiAweEZGRjAwMDAwIDB4RkVGODAw MDAg4oCTbiBGU1BfbmV3LmJpbmANCiAgICArICAgYHB5dGhvbiBTcGxpdEZzcEJpbi5weSByZWJh c2UgLWYgRlNQLmJpbiAtYyB0IG0gLWIgMHhGRkYwMDAwMCAweEZFRjgwMDAwIC1uIEZTUF9uZXcu YmluYA0KICAgICANCiAgICAgICAgSXQgd2lsbCByZWJhc2UgRlNQLVQgYW5kIEZTUC1NIGNvbXBv bmVudHMgaW5zaWRlIEZTUC5iaW4gdG8gbmV3IGJhc2UgMHhGRkYwMDAwMA0KICAgIC0gICBhbmQg MHhGRUY4MDAwMCByZXNwZWN0aXZlbHksIGFuZCBzYXZlIHRoZSByZWJhc2VkIEludGVsIEZTUCAy LjAgaW1hZ2UgaW50byBmaWxlIA0KICAgICsgICBhbmQgMHhGRUY4MDAwMCByZXNwZWN0aXZlbHks IGFuZCBzYXZlIHRoZSByZWJhc2VkIEludGVsIEZTUCAyLnggaW1hZ2UgaW50byBmaWxlDQogICAg ICAgIEZTUF9uZXcuYmluIGZpbGUuDQogICAgIA0KICAgIC0jIyBHZW5lcmF0ZSBJbnRlbCBGU1Ag Mi4wIEMgaGVhZGVyIGZpbGUNCiAgICArIyMgR2VuZXJhdGUgSW50ZWwgRlNQIDEueC8yLnggQyBo ZWFkZXIgZmlsZQ0KICAgICANCiAgICAtVG8gZ2VuZXJhdGUgSW50ZWwgRlNQIDIuMCBDIGhlYWRl ciBmaWxlLCB0aGUgZm9sbG93aW5nIGNvbW1hbmQgY2FuIGJlIHVzZWQ6DQogICAgK1RvIGdlbmVy YXRlIEludGVsIEZTUCAxLngvMi54IEMgaGVhZGVyIGZpbGUsIHRoZSBmb2xsb3dpbmcgY29tbWFu ZCBjYW4gYmUgdXNlZDoNCiAgICAgDQogICAgICAgICoqUHl0aG9uIFNwbGl0RnNwQmluLnB5IGdl bmhkciBbLWhdIC1mIEZTUEJJTkFSWSBbLW8gT1VUUFVURElSXSBbLW4gSEZJTEVOQU1FXSoqDQog ICAgIA0KICAgIC1Gb3IgZXhhbXBsZTogIA0KICAgICtGb3IgZXhhbXBsZToNCiAgICAgDQogICAg LSAgIGBweXRob24gU3BsaXRGc3BCaW4ucHkgZ2VuaGRyIC1mIEZTUC5iaW4g4oCTbiBGU1AuaGAN CiAgICArICAgYHB5dGhvbiBTcGxpdEZzcEJpbi5weSBnZW5oZHIgLWYgRlNQLmJpbiAtbiBGU1Au aGANCiAgICAgDQogICAgICAgIEl0IHdpbGwgY3JlYXRlIHRoZSBDIGhlYWRlciBmaWxlIEZTUC5o IGNvbnRhaW5pbmcgdGhlIGltYWdlIElELCByZXZpc2lvbiwgb2Zmc2V0DQogICAgICAgIGFuZCBz aXplIGZvciBlYWNoIGluZGl2aWR1YWwgRlNQIGNvbXBvbmVudC4NCiAgICAgDQogICAgLSMjIERp c3BsYXkgSW50ZWwgRlNQIDIuMCBpbmZvcm1hdGlvbiBoZWFkZXINCiAgICArIyMgRGlzcGxheSBJ bnRlbCBGU1AgMS54LzIueCBpbmZvcm1hdGlvbiBoZWFkZXINCiAgICAgDQogICAgLVRvIGRpc3Bs YXkgSW50ZWwgRlNQIDIuMCBpbmZvcm1hdGlvbiBoZWFkZXJzLCB0aGUgZm9sbG93aW5nIGNvbW1h bmQgY2FuIGJlIHVzZWQ6DQogICAgK1RvIGRpc3BsYXkgSW50ZWwgRlNQIDEueC8yLnggaW5mb3Jt YXRpb24gaGVhZGVycywgdGhlIGZvbGxvd2luZyBjb21tYW5kIGNhbiBiZSB1c2VkOg0KICAgICAN CiAgICAgICAgKipQeXRob24gU3BsaXRGc3BCaW4ucHkgaW5mbyBbLWhdIC1mIEZTUEJJTkFSWSoq DQogICAgIA0KICAgIC1Gb3IgZXhhbXBsZTogIA0KICAgICtGb3IgZXhhbXBsZToNCiAgICAgDQog ICAgICAgIGBweXRob24gU3BsaXRGc3BCaW4ucHkgaW5mbyAtZiBGU1AuYmluYA0KICAgICANCiAg ICAtLSANCiAgICAyLjEzLjMud2luZG93cy4xDQogICAgDQogICAgDQoNCg==