From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: vincent.zimmer@intel.com) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by groups.io with SMTP; Mon, 05 Aug 2019 07:11:28 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Aug 2019 07:11:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,350,1559545200"; d="scan'208";a="192428860" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by fmsmga001.fm.intel.com with ESMTP; 05 Aug 2019 07:11:29 -0700 Received: from orsmsx106.amr.corp.intel.com ([169.254.1.52]) by ORSMSX105.amr.corp.intel.com ([169.254.2.226]) with mapi id 14.03.0439.000; Mon, 5 Aug 2019 07:11:27 -0700 From: "Vincent Zimmer" To: "Yao, Jiewen" , "devel@edk2.groups.io" , Felix Polyudov , "infosec@edk2.groups.io" Subject: Re: [tianocore-docs EDK_II_Secure_Coding_Guide PATCH] Add Appendix: Threat Mode for EDK II. Thread-Topic: [tianocore-docs EDK_II_Secure_Coding_Guide PATCH] Add Appendix: Threat Mode for EDK II. Thread-Index: AQHVS2ITnLMqFV6lj0GUgjbsf30+e6bsltJQ Date: Mon, 5 Aug 2019 14:11:26 +0000 Message-ID: <76DE84138CBE89489874B70B432D8F9BDA194B34@ORSMSX106.amr.corp.intel.com> References: <20190805074733.2876-1-jiewen.yao@intel.com> In-Reply-To: <20190805074733.2876-1-jiewen.yao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTNjNzcyMDYtY2UyNi00Zjc5LWFkZjEtMDBjOTA2NWU3ZjFjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoibnN4VmhOajY3M0s4RVFrWmJvblhoeGlUQzBJSTdzRlpoWG5CdmxLVnF6Z0lLUmljaVpkaXFmRkRFNWlFM2JWYiJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhpcyBsb29rcyBnb29kLiANCkhlbHBzIGFkZHJlc3Mgc29tZSBvZiB0aGUgY29uY2VybnMgYnJv dWdodCB1cCBpbiBldmFsdWF0aW5nIHNlY3VyZSBjb2RpbmcgZ3VpZGVsaW5lcyBmb3IgYWx0ZXJu YXRlIGZlYXR1cmUgaW1wbGVtZW50YXRpb25zLCB0b28uDQoNClJldmlld2VkLWJ5OiBWaW5jZW50 IFppbW1lciA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tPiANCg0KLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCkZyb206IFlhbywgSmlld2VuIA0KU2VudDogTW9uZGF5LCBBdWd1c3QgNSwgMjAx OSAxMjo0OCBBTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogWmltbWVyLCBWaW5jZW50 IDx2aW5jZW50LnppbW1lckBpbnRlbC5jb20+DQpTdWJqZWN0OiBbdGlhbm9jb3JlLWRvY3MgRURL X0lJX1NlY3VyZV9Db2RpbmdfR3VpZGUgUEFUQ0hdIEFkZCBBcHBlbmRpeDogVGhyZWF0IE1vZGUg Zm9yIEVESyBJSS4NCg0KVGhpcyBwYXRjaCBhZGRzICJUaHJlYXQgbW9kZWwgZm9yIEVESyBJSSIg YXMgdGhlIGFwcGVuZGl4IHNlY3Rpb24NCg0Kb2YgIkVESyBJSSBzZWN1cmUgY29kaW5nIGd1aWRl IiBkb2N1bWVudC4NCg0KDQoNClRoZSB0aHJlYXQgbW9kZWwgZGlzY3Vzc2VkIGhlcmUgaXMgYSBn ZW5lcmFsIGd1aWRlIGFuZCBzZXJ2ZXMgYXMgdGhlIGJhc2VsaW5lIG9mDQoNCnRoZSBFREsgSUkg ZmlybXdhcmUuIEZvciBlYWNoIHNwZWNpZmljIGZlYXR1cmUgaW4gRURLIElJIGZpcm13YXJlLCB0 aGVyZSBtaWdodCBiZQ0KDQphZGRpdGlvbmFsIGZlYXR1cmUtYmFzZWQgdGhyZWF0IG1vZGVscyBp biBhZGRpdGlvbiB0byB0aGUgZ2VuZXJhbCB0aHJlYXQgbW9kZWwuDQoNCg0KDQpUaGUgZnVsbCBn aXRib29rIGNhbiBiZSBhbHNvIGF2YWlhYmxlIGF0DQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9qeWFv MS9FREtfSUlfU2VjdXJlX0NvZGluZ19HdWlkZS90cmVlL1RocmVhdF9tb2RlbC4NCg0KDQoNCkNj OiBWaW5jZW50IFppbW1lciA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tPg0KU2lnbmVkLW9mZi1i eTogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQoNClJldmlld2VkLWJ5OiBWaW5j ZW50IFppbW1lciA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tPg0KDQoNCi0tLQ0KIFNVTU1BUlku bWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrDQogYXBwZW5kaXhf dGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvUkVBRE1FLm1kICAgIHwgNzAgKysrKysrKysrKysrKysr KysrKw0KIC4uLi9hc3NldF9ib290X2Zsb3cubWQgICAgICAgICAgICAgICAgICAgICAgICB8IDYz ICsrKysrKysrKysrKysrKysrDQogLi4uL2Fzc2V0X2J1aWxkX3Rvb2wubWQgICAgICAgICAgICAg ICAgICAgICAgIHwgMzkgKysrKysrKysrKysNCiAuLi4vYXNzZXRfZmxhc2hfY29udGVudC5tZCAg ICAgICAgICAgICAgICAgICAgfCA1OSArKysrKysrKysrKysrKysrDQogLi4uL2Fzc2V0X21hbmFn ZW1lbnRfbW9kZS5tZCAgICAgICAgICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrDQogLi4u L2Fzc2V0X3MzX3Jlc3VtZS5tZCAgICAgICAgICAgICAgICAgICAgICAgIHwgNjEgKysrKysrKysr KysrKysrKw0KIDcgZmlsZXMgY2hhbmdlZCwgMzU2IGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9k ZSAxMDA2NDQgYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvUkVBRE1FLm1kDQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGFwcGVuZGl4X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lpL2Fzc2V0X2Jv b3RfZmxvdy5tZA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9y X2Vka19paS9hc3NldF9idWlsZF90b29sLm1kDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFwcGVuZGl4 X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lpL2Fzc2V0X2ZsYXNoX2NvbnRlbnQubWQNCiBjcmVhdGUg bW9kZSAxMDA2NDQgYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvYXNzZXRfbWFuYWdl bWVudF9tb2RlLm1kDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFwcGVuZGl4X3RocmVhdF9tb2RlbF9m b3JfZWRrX2lpL2Fzc2V0X3MzX3Jlc3VtZS5tZA0KDQpkaWZmIC0tZ2l0IGEvU1VNTUFSWS5tZCBi L1NVTU1BUlkubWQNCmluZGV4IGRjMjJmMWUuLmQ1NmRlZTMgMTAwNjQ0DQotLS0gYS9TVU1NQVJZ Lm1kDQorKysgYi9TVU1NQVJZLm1kDQpAQCAtMzgsNiArMzgsMTIgQEANCiAgICogW1NNTV0oc2Vj dXJlX2NvZGluZ19ndWlkZWxpbmVzX2ludGVsX3BsYXRmb3Jtcy9zbW0ubWQpDQogICAqIFtJbnRl bMKuIEJvb3QgR3VhcmRdKHNlY3VyZV9jb2RpbmdfZ3VpZGVsaW5lc19pbnRlbF9wbGF0Zm9ybXMv aW50ZWxfYm9vdF9ndWFyZC5tZCkNCiAgICogW0ludGVswq4gQmlvcyBHdWFyZF0oc2VjdXJlX2Nv ZGluZ19ndWlkZWxpbmVzX2ludGVsX3BsYXRmb3Jtcy9pbnRlbF9iaW9zX2d1YXJkLm1kKQ0KKyog W0FwcGVuZGl4IC0gVGhyZWF0IE1vZGVsIGZvciBFREsgSUldKGFwcGVuZGl4X3RocmVhdF9tb2Rl bF9mb3JfZWRrX2lpL1JFQURNRS5tZCkNCisgICogW0Fzc2V0OiBGbGFzaCBDb250ZW50XShhcHBl bmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9hc3NldF9mbGFzaF9jb250ZW50Lm1kKQ0KKyAg KiBbQXNzZXQ6IEJvb3QgRmxvd10oYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvYXNz ZXRfYm9vdF9mbG93Lm1kKQ0KKyAgKiBbQXNzZXQ6IFMzIFJlc3VtZV0oYXBwZW5kaXhfdGhyZWF0 X21vZGVsX2Zvcl9lZGtfaWkvYXNzZXRfczNfcmVzdW1lLm1kKQ0KKyAgKiBbQXNzZXQ6IE1hbmFn ZW1lbnQgTW9kZV0oYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvYXNzZXRfbWFuYWdl bWVudF9tb2RlLm1kKQ0KKyAgKiBbQXNzZXQ6IEJ1aWxkIFRvb2xdKGFwcGVuZGl4X3RocmVhdF9t b2RlbF9mb3JfZWRrX2lpL2Fzc2V0X2J1aWxkX3Rvb2wubWQpDQogKiBbUmVmZXJlbmNlc10ocmVm ZXJlbmNlcy5tZCkNCiAgICogW0Jvb2tzIGFuZCBQYXBlcnMgXShyZWZlcmVuY2VzLm1kI2Jvb2tz LWFuZC1wYXBlcnMpDQogICAqIFtXZWIgXShyZWZlcmVuY2VzLm1kI3dlYikNCmRpZmYgLS1naXQg YS9hcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9SRUFETUUubWQgYi9hcHBlbmRpeF90 aHJlYXRfbW9kZWxfZm9yX2Vka19paS9SRUFETUUubWQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwLi42YzRhYzE2DQotLS0gL2Rldi9udWxsDQorKysgYi9hcHBlbmRpeF90aHJl YXRfbW9kZWxfZm9yX2Vka19paS9SRUFETUUubWQNCkBAIC0wLDAgKzEsNzAgQEANCis8IS0tLSBA ZmlsZQ0KDQorICBSRUFETUUubWQgZm9yIGFwcGVuZGl4X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lp IGZvciBFREsgSUkgU2VjdXJlIENvZGluZyBHdWlkZQ0KDQorDQoNCisgIENvcHlyaWdodCAoYykg MjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KDQorDQoN CisgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIChvcmlnaW5hbCBkb2N1bWVudCBm b3JtKSBhbmQgJ2NvbXBpbGVkJw0KDQorICBmb3JtcyAoY29udmVydGVkIHRvIFBERiwgZXB1Yiwg SFRNTCBhbmQgb3RoZXIgZm9ybWF0cykgd2l0aCBvciB3aXRob3V0DQoNCisgIG1vZGlmaWNhdGlv biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh cmUgbWV0Og0KDQorDQoNCisgIDEpIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSAob3Jp Z2luYWwgZG9jdW1lbnQgZm9ybSkgbXVzdCByZXRhaW4gdGhlDQoNCisgICAgIGFib3ZlIGNvcHly aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nDQoN CisgICAgIGRpc2NsYWltZXIgYXMgdGhlIGZpcnN0IGxpbmVzIG9mIHRoaXMgZmlsZSB1bm1vZGlm aWVkLg0KDQorDQoNCisgIDIpIFJlZGlzdHJpYnV0aW9ucyBpbiBjb21waWxlZCBmb3JtICh0cmFu c2Zvcm1lZCB0byBvdGhlciBEVERzLCBjb252ZXJ0ZWQgdG8NCg0KKyAgICAgUERGLCBlcHViLCBI VE1MIGFuZCBvdGhlciBmb3JtYXRzKSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0 DQoNCisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp bmcgZGlzY2xhaW1lciBpbiB0aGUNCg0KKyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCg0KKw0KDQorICBUSElT IERPQ1VNRU5UQVRJT04gSVMgUFJPVklERUQgQlkgVElBTk9DT1JFIFBST0pFQ1QgIkFTIElTIiBB TkQgQU5ZIEVYUFJFU1MgT1INCg0KKyAgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRg0KDQorICBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ TUVELiBJTiBOTw0KDQorICBFVkVOVCBTSEFMTCBUSUFOT0NPUkUgUFJPSkVDVCAgQkUgTElBQkxF IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCg0KKyAgU1BFQ0lBTCwgRVhF TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J VEVEIFRPLA0KDQorICBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsNCg0KKyAgT1IgQlVTSU5FU1MgSU5URVJS VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksDQoN CisgIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SDQoNCisgIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V VCBPRiBUSEUgVVNFIE9GIFRISVMgRE9DVU1FTlRBVElPTiwgRVZFTiBJRg0KDQorICBBRFZJU0VE IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCg0KKw0KDQorLS0+DQoNCisNCg0K KyMgQXBwZW5kaXg6VGhyZWF0IE1vZGVsIGZvciBFREsgSUkgeyNhcHBlbmRpeC10aHJlYXQtbW9k ZWwtZm9yLWVkay1paX0NCg0KK1RoaXMgY2hhcHRlciBwcm92aWRlcyB0aGUgYmFzaWMgYXNzdW1w dGlvbnMgZm9yIHRoZSB0aHJlYXQgbW9kZWwgb2YgRURLIElJIGZpcm13YXJlLiBUaGUgdGhyZWF0 IG1vZGVsIGRpc2N1c3NlZCBoZXJlIGlzIGEgZ2VuZXJhbCBndWlkZSBhbmQgc2VydmVzIGFzIHRo ZSBiYXNlbGluZSBvZiB0aGUgRURLIElJIGZpcm13YXJlLiBGb3IgZWFjaCBzcGVjaWZpYyBmZWF0 dXJlIGluIEVESyBJSSBmaXJtd2FyZSwgdGhlcmUgbWlnaHQgYmUgYWRkaXRpb25hbCBmZWF0dXJl LWJhc2VkIHRocmVhdCBtb2RlbHMgaW4gYWRkaXRpb24gdG8gdGhlIGdlbmVyYWwgdGhyZWF0IG1v ZGVsLg0KDQorDQoNCitJbiBbVUVGSSBUaHJlYXQgTW9kZWxdKGh0dHBzOi8vdWVmaS5vcmcvc2l0 ZXMvZGVmYXVsdC9maWxlcy9yZXNvdXJjZXMvSW50ZWwtVUVGSS1UaHJlYXRNb2RlbC5wZGYpLCB3 ZSBkaXNjdXNzZWQgdGhlIGFzc2V0LCB0aHJlYXQgYW5kIG1pdGlnYXRpb24uIEhlcmUgd2Ugd2ls bCByZXZpc2l0IHRoZXNlIGl0ZW1zIGFuZCBiYXNlZCB1cG9uIFtTVFJJREVdKGh0dHBzOi8vZW4u d2lraXBlZGlhLm9yZy93aWtpL1NUUklERV8oc2VjdXJpdHkpKS4NCg0KKw0KDQorfCBUaHJlYXQg fCBEZXNpcmVkIFByb3BlcnR5IHwNCg0KK3wgLS0tIHwgLS0tIHwNCg0KK3wgU3Bvb2ZpbmcgfCBB dXRoZW50aWNhdGlvbiB8DQoNCit8IFRhbXBlcmluZyB8IEludGVncml0eSB8DQoNCit8IFJlcHVk aWF0aW9uIHwgTm9uLVJlcHVkaWF0aW9uIHwNCg0KK3wgSW5mb3JtYXRpb24gRGlzY2xvc3VyZSB8 IENvbmZpZGVudGlhbGl0eSB8DQoNCit8IERlbmlhbCBvZiBTZXJ2aWNlIHwgQXZhaWxhYmlsaXR5 IHwNCg0KK3wgRWxldmF0aW9uIG9mIFByaXZpbGVnZSB8IEF1dGhvcml6YXRpb24gfA0KDQorDQoN CitJbiBFREsgSUkgZmlybXdhcmUsIHRoZSBkZW5pYWwgb2Ygc2VydmljZSBjYW4gYmUgdGVtcG9y YXJ5IGluIHRoZSBjdXJyZW50IGJvb3QsIG9yIHBlcm1hbmVudCBpbiB3aGljaCBjYXNlIHRoZSBz eXN0ZW0gbmV2ZXIgYm9vdCBhZ2Fpbi4gVGhlIGxhdHRlciBpcyBtb3JlIHNlcmlvdXMgYW5kIGl0 IGlzIG5hbWVkIGFzIHBlcm1hbmVudCBkZW5pYWwgb2Ygc2VydmljZSAoUERvUykuDQoNCisNCg0K K1dlIHdpbGwgY29uc2lkZXIgdGhlIGJlbG93IGFkdmVyc2FyeSBmb3IgdGhlIEVESyBJSSBmaXJt d2FyZToNCg0KKw0KDQorfCBBZHZlcnNhcnkgfCBDYXBhYmlsaXR5IHwNCg0KK3wgLS0tIHwgLS0t IHwNCg0KK3wgTmV0d29yayBBdHRhY2tlciB8IFRoZSBhdHRhY2tlciBtYXkgY29ubmVjdCB0byB0 aGUgc3lzdGVtIGJ5IG5ldHdvcmsgaW4gb3JkZXIgdG8gZWF2ZXNkcm9wLCBpbnRlcmNlcHQsIG1h c3F1ZXJhZGUsIG9yIG1vZGlmeSB0aGUgbmV0d29yayBwYWNrZXQuIHwNCg0KK3wgVW5wcml2aWxl Z2VkIFNvZnR3YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2VyIG1heSBydW4gcmluZy0zIHNvZnR3 YXJlIGluIGFuIE9TIGFwcGxpY2F0aW9uIGxheWVyLiBUaGUgYXR0YWNrZXIgbWF5IHBlcmZvcm0g YSBzb2Z0d2FyZSBiYXNlZCBzaWRlIGNoYW5uZWwgYXR0YWNrIChzdWNoIGFzIHVzaW5nIGNhY2hl IHRpbWluZykuIHwNCg0KK3wgU3lzdGVtIFNvZnR3YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2Vy IG1heSBydW4gcmluZy0wIHNvZnR3YXJlIGluIHRoZSBPUyBrZXJuZWwgb3IgaHlwZXJ2aXNvciwg b3IgcnVuIDNyZCBwYXJ0eSBmaXJtd2FyZSBjb2RlIGluIGZpcm13YXJlIGJvb3QgcGhhc2UuIFRo ZSBhdHRhY2tlciBtYXkgcGVyZm9ybSB0aGUgc29mdHdhcmUgYmFzZWQgc2lkZSBjaGFubmVsIGF0 dGFjayAoc3VjaCBhcyB1c2luZyBjYWNoZSB0aW1pbmcsIHBlcmZvcm1hbmNlIGNvdW50ZXJzLCBi cmFuY2ggaW5mb3JtYXRpb24sIG9yIHBvd2VyIHN0YXR1cykuIHwNCg0KK3wgU2ltcGxlIEhhcmR3 YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2VyIG1heSB0b3VjaCB0aGUgcGxhdGZvcm0gaGFyZHdh cmUgKHN1Y2ggYXMgcG93ZXIgYnV0dG9uIG9yIGp1bXBlcikgYW5kIGF0dGFjaC9yZW1vdmUgYSBz aW1wbGUgbWFsaWNpb3VzIGRldmljZSAoc3VjaCBhcyBoYXJkd2FyZSBkZWJ1Z2dlciwgUENJIExl YWNoIHRvIHRoZSBleHRlcm5hbCBwb3J0LCBQQ0lFIGNhcmQgdG8gdGhlIFBDSUUgc2xvdCwgbWVt b3J5IERJTU0sIE5JQyBjYWJsZSwgaGFyZCBkcml2ZSwga2V5Ym9hcmQsIFVTQiBkZXZpY2UsIEJs dWV0b290aCBkZXZpY2UpLiBUaGUgYXR0YWNrZXIgbWF5IGhpamFjayB0aGUgc2ltcGxlIHN5c3Rl bSBidXMgKHN1Y2ggYXMgdGhlIFNQSSBidXMgb3IgSTJDIGJ1cykuIHwNCg0KK3wgU2tpbGxlZCBI YXJkd2FyZSBBdHRhY2tlciB8IFRoZSBhdHRhY2tlciBtYXkgaGlqYWNrIHRoZSBjb21wbGV4IHN5 c3RlbSBidXMgKHN1Y2ggYXMgbWVtb3J5IGJ1cywgb3IgUENJIGV4cHJlc3MgYnVzKS4gVGhlIGF0 dGFja2VyIG1heSBwZXJmb3JtIHRoZSBoYXJkd2FyZSBiYXNlZCBzaWRlIGNoYW5uZWwgYXR0YWNr LCBzdWNoIGFzIHBvd2VyIGFuYWx5c2lzLCB0aGVybWFsIGFuYWx5c2lzLCBvciBlbGVjdHJvbWFn bmV0aWMgYW5hbHlzaXMuIFRoZSBhdHRhY2tlciBtYXkgcGVyZm9ybSBhIGdsaXRjaCBhdHRhY2su IHwNCg0KKw0KDQorV2Ugd2lsbCBjb25zaWRlciB0aGUgYmVsb3cgbWl0aWdhdGlvbnMgZm9yIHRo ZSBFREtJSSBmaXJtd2FyZToNCg0KKw0KDQorfCBNaXRpZ2F0aW9uIHwgT2JqZWN0aXZlIHwNCg0K K3wgLS0tIHwgLS0tIHwNCg0KK3wgUHJvdGVjdGlvbiB8IFRoZSBtaXRpZ2F0aW9uIGlzIHRvIHBy ZXZlbnQgc3VjaCBhbiBhdHRhY2sgZm9yIGRhbWFnaW5nIHRoZSBzeXN0ZW0uIHwNCg0KK3wgRGV0 ZWN0aW9uIHwgVGhlIG1pdGlnYXRpb24gaXMgdG8gZGV0ZWN0IGlmIHRoZSBzeXN0ZW0gaXMgdW5k ZXIgYXR0YWNrLiB8DQoNCit8IFJlY292ZXJ5IHwgVGhlIG1pdGlnYXRpb24gaXMgdG8gcmVjb3Zl ciB0aGUgc3lzdGVtIGlmIGl0IGlzIHVuZGVyIGF0dGFjay4gfA0KDQorDQoNCisqIEFzc2V0OiBG bGFzaCBDb250ZW50DQoNCisqIEFzc2V0OiBCb290IEZsb3cNCg0KKyogQXNzZXQ6IFMzIFJlc3Vt ZQ0KDQorKiBBc3NldDogTWFuYWdlbWVudCBNb2RlDQoNCisqIEFzc2V0OiBCdWlsZCBUb29sDQoN CmRpZmYgLS1naXQgYS9hcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9hc3NldF9ib290 X2Zsb3cubWQgYi9hcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9hc3NldF9ib290X2Zs b3cubWQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4wZDEzMmM2DQotLS0g L2Rldi9udWxsDQorKysgYi9hcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9hc3NldF9i b290X2Zsb3cubWQNCkBAIC0wLDAgKzEsNjMgQEANCis8IS0tLSBAZmlsZQ0KDQorICBhc3NldF9m bGFzaF9jb250ZW50Lm1kIGZvciBhcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paSBmb3Ig RURLIElJIFNlY3VyZSBDb2RpbmcgR3VpZGUNCg0KKw0KDQorICBDb3B5cmlnaHQgKGMpIDIwMTks IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCg0KKw0KDQorICBS ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQgZm9ybSkg YW5kICdjb21waWxlZCcNCg0KKyAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhUTUwg YW5kIG90aGVyIGZvcm1hdHMpIHdpdGggb3Igd2l0aG91dA0KDQorICBtb2RpZmljYXRpb24sIGFy ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l dDoNCg0KKw0KDQorICAxKSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgKG9yaWdpbmFs IGRvY3VtZW50IGZvcm0pIG11c3QgcmV0YWluIHRoZQ0KDQorICAgICBhYm92ZSBjb3B5cmlnaHQg bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZw0KDQorICAg ICBkaXNjbGFpbWVyIGFzIHRoZSBmaXJzdCBsaW5lcyBvZiB0aGlzIGZpbGUgdW5tb2RpZmllZC4N Cg0KKw0KDQorICAyKSBSZWRpc3RyaWJ1dGlvbnMgaW4gY29tcGlsZWQgZm9ybSAodHJhbnNmb3Jt ZWQgdG8gb3RoZXIgRFREcywgY29udmVydGVkIHRvDQoNCisgICAgIFBERiwgZXB1YiwgSFRNTCBh bmQgb3RoZXIgZm9ybWF0cykgbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KDQor ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp c2NsYWltZXIgaW4gdGhlDQoNCisgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQoNCisNCg0KKyAgVEhJUyBET0NV TUVOVEFUSU9OIElTIFBST1ZJREVEIEJZIFRJQU5PQ09SRSBQUk9KRUNUICJBUyBJUyIgQU5EIEFO WSBFWFBSRVNTIE9SDQoNCisgIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YNCg0KKyAgTUVSQ0hBTlRBQklM SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g SU4gTk8NCg0KKyAgRVZFTlQgU0hBTEwgVElBTk9DT1JFIFBST0pFQ1QgIEJFIExJQUJMRSBGT1Ig QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsDQoNCisgIFNQRUNJQUwsIEVYRU1QTEFS WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU TywNCg0KKyAgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7DQoNCisgIE9SIEJVU0lORVNTIElOVEVSUlVQVElP TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLA0KDQorICBX SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg TkVHTElHRU5DRSBPUg0KDQorICBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg VEhFIFVTRSBPRiBUSElTIERPQ1VNRU5UQVRJT04sIEVWRU4gSUYNCg0KKyAgQURWSVNFRCBPRiBU SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQoNCisNCg0KKy0tPg0KDQorDQoNCisjIyBB c3NldDogQm9vdCBGbG93IHsjYXNzZXQtYm9vdC1mbG93fQ0KDQorDQoNCitUaGUgbWFpbiBzeXN0 ZW0gZmlybXdhcmUgd29yayBpcyB0byBpbml0aWFsaXplIHRoZSBzaWxpY29uIGFuZCB0aGVuIHRy YW5zZmVyIGNvbnRyb2wgdG8gYW4gb3BlcmF0aW5nIHN5c3RlbS4gQmVjYXVzZSB0aGUgZmlybXdh cmUgaXMgYWxtb3N0IHRoZSBmaXJzdCBjb21wb25lbnQgcnVubmluZyBvbiB0aGUgc3lzdGVtLCBh bm90aGVyIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBzeXN0ZW0gZmlybXdhcmUgaXMgdG8gbWFpbnRh aW4gdGhlIHNlY3VyZSBib290IGNoYWluIChkZWZpbmVkIGluIFVFRkkgc3BlY2lmaWNhdGlvbikg YW5kIHRoZSB0cnVzdGVkIGJvb3QgY2hhaW4gKGRlZmluZWQgYnkgVENHKS4NCg0KKw0KDQorSGVy ZSB0aGUgc2VjdXJlIGJvb3QgY2hhaW4gbWVhbnMgdGhhdCB0aGUgZmlyc3QgZW50aXR5IG5lZWRz IHRvIHZlcmlmeSBpZiB0aGUgc2Vjb25kIGVudGl0eSBpcyBnb29kIGJlZm9yZSBydW5uaW5nIGl0 LCBub3QgcnVuIHRoZSBzZWNvbmQgZW50aXR5IGlmIHRoZSB2ZXJpZmljYXRpb24gZmFpbHMuIFRo ZSB0cnVzdGVkIGJvb3QgY2hhaW4gbWVhbnMgdGhhdCB0aGUgZmlyc3QgZW50aXR5IG5lZWRzIHRv IG1lYXN1cmUgdGhlIHNlY29uZCBlbnRpdHkgYmVmb3JlIHJ1bm5pbmcgaXQgYW5kIHRoZW4gYWx3 YXlzIHJ1biB0aGUgc2Vjb25kIGVudGl0eS4gVGhlIGF0dGVzdGF0aW9uIG1heSBoYXBwZW4gbGF0 ZXIuIFRoZSBzeXN0ZW0gZmlybXdhcmUgbmVlZHMgdG8gbWFpbnRhaW4gYm90aCBib290IGZsb3dz IGNhcmVmdWxseS4gVGhlIHZlcmlmaWNhdGlvbiBhbmQgbWVhc3VyZW1lbnQgbXVzdCBub3QgYmUg YnlwYXNzZWQuDQoNCisNCg0KK0luIGFkZGl0aW9uLCB0aGUgc3lzdGVtIGZpcm13YXJlIG1heSBu ZWVkIHRvIGF1dGhlbnRpY2F0ZSB0aGUgZW5kIHVzZXIsIHRvIGRldGVybWluZSBpZiB0aGUgdXNl ciBpcyBhdXRob3JpemVkIHRvIHBlcmZvcm0gc29tZSBhY3Rpb24uIEZvciBleGFtcGxlLCB0aGUg dXNlciBtYXkgYmUgYXNrZWQgdG8gaW5wdXQgYSBoYXJkIGRyaXZlciBwYXNzd29yZCB0byBjb250 aW51ZSB0aGUgYm9vdC4gT3IgdGhlIHVzZXIgbWF5IGJlIGFza2VkIHRvIGlucHV0IGFuIGFkbWlu aXN0cmF0b3IgcGFzc3dvcmQgdG8gZW50ZXIgYSBzZXR1cCBwYWdlLiBUaG9zZSBhY3Rpb25zIG11 c3Qgbm90IGJlIGJ5cGFzc2VkIGFzIHdlbGwuDQoNCisNCg0KK3wgVGhyZWF0IHwgRXhhbXBsZSB8 DQoNCit8IC0tLSB8IC0tLSB8DQoNCit8IFNwb29maW5nIHwgSWYgdGhlIGZpcm13YXJlIG5lZWRz IHRvIGF1dGhlbnRpY2F0ZSB0aGUgdXNlciwgdGhlIGF0dGFja2VyIG1heSBzcG9vZiB0aGUgaWRl bnRpdHksIG9yIGJ5cGFzcyB0aGUgYXV0aGVudGljYXRpb24gY2hlY2suIHwNCg0KK3wgVGFtcGVy aW5nIHwgVGhlIGF0dGFja2VyIG1heSB3YW50IHRvIG1vZGlmeSB0aGUgc2VjdXJlIGJvb3QgbG9n aWMgb3IgdHJ1c3RlZCBib290IGxvZ2ljIChlaXRoZXIgY29kZSBvciBjb25maWd1cmF0aW9uIGRh dGEpIHRvIGJ5cGFzcyB0aGUgdmVyaWZpY2F0aW9uIG9yIG1lYXN1cmVtZW50LiB8DQoNCit8IFJl cHVkaWF0aW9uIHwgTi9BIHwNCg0KK3wgSW5mb3JtYXRpb24gRGlzY2xvc3VyZSB8IFRoZSB1c2Vy IGlkZW50aXR5IGFuZCBkZXZpY2UgcGFzc3dvcmQgYXJlIHNlY3JldCBpbmZvcm1hdGlvbi4gVGhl IGF0dGFja2VyIG1heSB3YW50IHRvIHN0ZWFsIHRoZW0uIHwNCg0KK3wgRGVuaWFsIG9mIFNlcnZp Y2UgfCBUaGUgYXR0YWNrZXIgbWF5IG1vZGlmeSB0aGUgc2VjdXJlIGJvb3QgY29uZmlndXJhdGlv biBkYXRhIHRvIGNhdXNlIGEgc3lzdGVtIGNyYXNoIGR1cmluZyB2ZXJpZmljYXRpb24uIHwNCg0K K3wgRWxldmF0aW9uIG9mIFByaXZpbGVnZSB8IElmIHRoZSBhdHRhY2tlciBieXBhc3NlcyB0aGUg dXNlciBhdXRoZW50aWNhdGlvbiwgaGUgb3Igc2hlIG1heSBlbnRlciBmaXJtd2FyZSBzZXR1cCBw YWdlIHRvIG1vZGlmeSB0aGUgY29uZmlndXJhdGlvbi5JZiB0aGUgYXR0YWNrZXIgYnlwYXNzZXMg dGhlIHNlY3VyZSBib290IHZlcmlmaWNhdGlvbiwgaGUgb3Igc2hlIG1heSBydW4gdGhlIHVuYXV0 aG9yaXplZCAzcmQgcGFydCBjb2RlIGluIHRoZSByaW5nLTAgZW52aXJvbm1lbnQuIHwNCg0KKw0K DQorDQoNCisNCg0KK3wgQWR2ZXJzYXJ5IHwgRXhhbXBsZSB8DQoNCit8IC0tLSB8IC0tLSB8DQoN Cit8IE5ldHdvcmsgQXR0YWNrZXIgfCBUaGUgYXR0YWNrZXIgbWF5IHNlbmQgbWFsZm9ybWVkIG5l dHdvcmsgcGFja2V0cyB0byBpbmplY3QgY29kZSBpbnRvIHRoZSBzeXN0ZW0uPEJSPlRoZSBhdHRh Y2tlciBtYXkgc2VuZCBhIGJhZCBVRUZJIGltYWdlIHRvIGJ5cGFzcyBvciBicmVhayB0aGUgc2Vj dXJlIGJvb3QgbG9naWMuIHwNCg0KK3wgVW5wcml2aWxlZ2VkIFNvZnR3YXJlIEF0dGFja2VyIHwg VGhlIGF0dGFja2VyIG1heSB3cml0ZSBhIG1hbGZvcm1lZCBVRUZJIGF1dGhlbnRpY2F0ZWQgdmFy aWFibGUgdG8gYnJlYWsgdGhlIHNlY3VyZSBib290IGNvbmZpZ3VyYXRpb24uIHwNCg0KK3wgU3lz dGVtIFNvZnR3YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2VyIG1heSBzZW5kIGEgY29tbWFuZCB0 byB0aGUgaXNvbGF0ZWQgZXhlY3V0aW9uIGVudmlyb25tZW50IGluIG9yZGVyIHRvIG1vZGlmeSB0 aGUgc2VjdXJlIGJvb3QgY29uZmlndXJhdGlvbi48QlI+VGhlIGF0dGFja2VyIG1heSBlbmFibGUg YSBzaWRlIGNoYW5uZWwgdG8gZ2V0IHNlY3JldHMgZnJvbSBtZW1vcnkuIHwNCg0KK3wgU2ltcGxl IEhhcmR3YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2VyIG1heSBhdHRhY2ggUENJIExlYWNoIHRv IHBlcmZvcm0gRE1BIGF0dGFjayB0byByZWFkIHRoZSBzZWNyZXQgZnJvbSBtZW1vcnksIG9yIHdy aXRlIHRoZSBjb2RlIHJlZ2lvbiB0byBieXBhc3MgdGhlIHZlcmlmaWNhdGlvbi4gfA0KDQorfCBT a2lsbGVkIEhhcmR3YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2VyIG1heSBoaWphY2sgdGhlIG1l bW9yeSBidXMgdG8gcmVhZCBzZWNyZXRzIGZyb20gbWVtb3J5LCBvciB3cml0ZSB0aGUgY29kZSBy ZWdpb24gdG8gYnlwYXNzIHRoZSB2ZXJpZmljYXRpb24uIHwNCg0KKw0KDQorfCBNaXRpZ2F0aW9u IHwgRXhhbXBsZSB8DQoNCit8IC0tLSB8IC0tLSB8DQoNCit8IFByb3RlY3Rpb24gfCBEbyBjaGVj ayBmb3IgdW50cnVzdGVkIGV4dGVybmFsIGlucHV0IGJlZm9yZSB1c2UgKHN1Y2ggYXMgbmV0d29y ayBwYWNrZXQsIG9wdGlvbiBST00sIE9TIGxvYWRlciwgYW5kIFVFRkkgYXV0aGVudGljYXRlZCB2 YXJpYWJsZSkuIERvIG5vdCBydW4gYW55IHVudHJ1c3RlZCAzcmQgcGFydCBjb2RlIGJlZm9yZSB2 ZXJpZmljYXRpb24uPEJSPklmIHRoZSBzZWNyZXQgaXMgZ2VuZXJhdGVkLCBpdCBtdXN0IGJlIGNs ZWFyZWQgYWZ0ZXIgdXNlIChzdWNoIGFzIHRlbXBvcmFyeSBpbnB1dCBmcm9tIEhJSSkuIElmIHRo ZSBzZWNyZXQgbmVlZHMgdG8gYmUgc3RvcmVkLCB0aGUgY2hvaWNlIGluY2x1ZGVzOiB0byBzYXZl IHNlY3JldCB0byBoYXJkd2FyZSBkaXJlY3RseSAoc3VjaCBhcyBPUEFMIHBhc3N3b3JkKSwgdG8g c2F2ZSBoYXNoIHBsdXMgc2FsdCB0byBhIFVFRkkgdmFyaWFibGUgKHN1Y2ggYXMgdXNlciBwYXNz d29yZCksIHRvIHNhdmUgdGhlIHNlY3JldCBpbiBhbiBpc29sYXRlZCBlbnZpcm9ubWVudCAoc3Vj aCBhcyBUUE0gTU9SMikuIFNpZGUgY2hhbm5lbCBwcmV2ZW50aW9uIG11c3QgYmUgYXBwbGllZCBp biB0aGlzIGNhc2UuPEJSPkRNQSBwcm90ZWN0aW9uIG11c3QgYmUgZW5hYmxlZC4gTWVtb3J5IGVu Y3J5cHRpb24gbXVzdCBiZSB1c2VkIGlmIHRoZSBtZW1vcnkgYnVzIGF0dGFjayBpcyBpbiBzY29w ZS4gfA0KDQorfCBEZXRlY3Rpb24gfCBOL0EgfA0KDQorfCBSZWNvdmVyeSB8IE4vQSB8DQoNCmRp ZmYgLS1naXQgYS9hcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9hc3NldF9idWlsZF90 b29sLm1kIGIvYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvYXNzZXRfYnVpbGRfdG9v bC5tZA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmQyNThhMTANCi0tLSAv ZGV2L251bGwNCisrKyBiL2FwcGVuZGl4X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lpL2Fzc2V0X2J1 aWxkX3Rvb2wubWQNCkBAIC0wLDAgKzEsMzkgQEANCis8IS0tLSBAZmlsZQ0KDQorICBhc3NldF9i dWlsZF90b29sLm1kIGZvciBhcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paSBmb3IgRURL IElJIFNlY3VyZSBDb2RpbmcgR3VpZGUNCg0KKw0KDQorICBDb3B5cmlnaHQgKGMpIDIwMTksIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCg0KKw0KDQorICBSZWRp c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQgZm9ybSkgYW5k ICdjb21waWxlZCcNCg0KKyAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhUTUwgYW5k IG90aGVyIGZvcm1hdHMpIHdpdGggb3Igd2l0aG91dA0KDQorICBtb2RpZmljYXRpb24sIGFyZSBw ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoN Cg0KKw0KDQorICAxKSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgKG9yaWdpbmFsIGRv Y3VtZW50IGZvcm0pIG11c3QgcmV0YWluIHRoZQ0KDQorICAgICBhYm92ZSBjb3B5cmlnaHQgbm90 aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZw0KDQorICAgICBk aXNjbGFpbWVyIGFzIHRoZSBmaXJzdCBsaW5lcyBvZiB0aGlzIGZpbGUgdW5tb2RpZmllZC4NCg0K Kw0KDQorICAyKSBSZWRpc3RyaWJ1dGlvbnMgaW4gY29tcGlsZWQgZm9ybSAodHJhbnNmb3JtZWQg dG8gb3RoZXIgRFREcywgY29udmVydGVkIHRvDQoNCisgICAgIFBERiwgZXB1YiwgSFRNTCBhbmQg b3RoZXIgZm9ybWF0cykgbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KDQorICAg ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns YWltZXIgaW4gdGhlDQoNCisgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQoNCisNCg0KKyAgVEhJUyBET0NVTUVO VEFUSU9OIElTIFBST1ZJREVEIEJZIFRJQU5PQ09SRSBQUk9KRUNUICJBUyBJUyIgQU5EIEFOWSBF WFBSRVNTIE9SDQoNCisgIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YNCg0KKyAgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g Tk8NCg0KKyAgRVZFTlQgU0hBTEwgVElBTk9DT1JFIFBST0pFQ1QgIEJFIExJQUJMRSBGT1IgQU5Z IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsDQoNCisgIFNQRUNJQUwsIEVYRU1QTEFSWSwg T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywN Cg0KKyAgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7DQoNCisgIE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLA0KDQorICBXSEVU SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH TElHRU5DRSBPUg0KDQorICBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF IFVTRSBPRiBUSElTIERPQ1VNRU5UQVRJT04sIEVWRU4gSUYNCg0KKyAgQURWSVNFRCBPRiBUSEUg UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQoNCisNCg0KKy0tPg0KDQorDQoNCisjIyBBc3Nl dDogQnVpbGQgVG9vbCB7I2Fzc2V0LWJ1aWxkLXRvb2x9DQoNCisNCg0KK0luIDE5ODMsIEtlbiBU aG9tcHNvbiByZWNlaXZlZCB0aGUgVHVyaW5nIEF3YXJkIHdpdGggRGVubmlzIFJpdGNoaWUuIFRo ZXJlIGhlIGRlbGl2ZXJlZCBhIHNwZWVjaCAtIFtSZWZsZWN0aW9ucyBvbiBUcnVzdGluZyBUcnVz dF0oaHR0cHM6Ly93d3cuYXJjaGl2ZS5lY2UuY211LmVkdS9+Z2FuZ2VyLzcxMi5mYWxsMDIvcGFw ZXJzL3A3NjEtdGhvbXBzb24ucGRmKSwgYW5kIGRlbW9uc3RyYXRlZCBob3cgdG8gaW5qZWN0IGEg VHJvamFuIEhvcnNlIGludG8gdGhlIGNvbXBpbGVyLiBBZnRlcndhcmQgdGhlIGNvbXBpbGVyIGdl bmVyYXRlZCBhIGJ1Z2d5IGJpbmFyeS4gSXQgaXMgbm90IGltcG9zc2libGUuDQoNCisNCg0KK1Ro aXMgaXMgbm90IGEgdHJhZGl0aW9uYWwgYXR0YWNrIHRvIHRoZSBmaW5hbCBzeXN0ZW0sIGJ1dCBp dCByZXByZXNlbnRzIGFuIGF0dGFjayB0byB0aGUgdG9vbCBjaGFpbiBpbiB0aGUgYnVpbGQgZW52 aXJvbm1lbnQuDQoNCisNCg0KK1RoZSBtaXRpZ2F0aW9uIGlzOiBvbmx5IHRydXN0IHRoZSB0b29s IGNoYWluIGZyb20gYSB0cnVzdGVkIHNvdXJjZSB3aXRoIHRoZSBzb3VyY2UgY29kZSwgYW5kIHBy b3RlY3QgdGhlIHRvb2wgY2hhaW4gaW4gdGhlIGJ1aWxkIGVudmlyb25tZW50Lg0KDQorDQoNCmRp ZmYgLS1naXQgYS9hcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vka19paS9hc3NldF9mbGFzaF9j b250ZW50Lm1kIGIvYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvYXNzZXRfZmxhc2hf Y29udGVudC5tZA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmJiN2MzYzgN Ci0tLSAvZGV2L251bGwNCisrKyBiL2FwcGVuZGl4X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lpL2Fz c2V0X2ZsYXNoX2NvbnRlbnQubWQNCkBAIC0wLDAgKzEsNTkgQEANCis8IS0tLSBAZmlsZQ0KDQor ICBhc3NldF9mbGFzaF9jb250ZW50Lm1kIGZvciBhcHBlbmRpeF90aHJlYXRfbW9kZWxfZm9yX2Vk a19paSBmb3IgRURLIElJIFNlY3VyZSBDb2RpbmcgR3VpZGUNCg0KKw0KDQorICBDb3B5cmlnaHQg KGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCg0K Kw0KDQorICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1l bnQgZm9ybSkgYW5kICdjb21waWxlZCcNCg0KKyAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVw dWIsIEhUTUwgYW5kIG90aGVyIGZvcm1hdHMpIHdpdGggb3Igd2l0aG91dA0KDQorICBtb2RpZmlj YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnMgYXJlIG1ldDoNCg0KKw0KDQorICAxKSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg KG9yaWdpbmFsIGRvY3VtZW50IGZvcm0pIG11c3QgcmV0YWluIHRoZQ0KDQorICAgICBhYm92ZSBj b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu Zw0KDQorICAgICBkaXNjbGFpbWVyIGFzIHRoZSBmaXJzdCBsaW5lcyBvZiB0aGlzIGZpbGUgdW5t b2RpZmllZC4NCg0KKw0KDQorICAyKSBSZWRpc3RyaWJ1dGlvbnMgaW4gY29tcGlsZWQgZm9ybSAo dHJhbnNmb3JtZWQgdG8gb3RoZXIgRFREcywgY29udmVydGVkIHRvDQoNCisgICAgIFBERiwgZXB1 YiwgSFRNTCBhbmQgb3RoZXIgZm9ybWF0cykgbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly aWdodA0KDQorICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQoNCisgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90 aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQoNCisNCg0KKyAg VEhJUyBET0NVTUVOVEFUSU9OIElTIFBST1ZJREVEIEJZIFRJQU5PQ09SRSBQUk9KRUNUICJBUyBJ UyIgQU5EIEFOWSBFWFBSRVNTIE9SDQoNCisgIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YNCg0KKyAgTUVS Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT Q0xBSU1FRC4gSU4gTk8NCg0KKyAgRVZFTlQgU0hBTEwgVElBTk9DT1JFIFBST0pFQ1QgIEJFIExJ QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsDQoNCisgIFNQRUNJQUws IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg TElNSVRFRCBUTywNCg0KKyAgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7DQoNCisgIE9SIEJVU0lORVNTIElO VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ LA0KDQorICBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUg0KDQorICBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIERPQ1VNRU5UQVRJT04sIEVWRU4gSUYNCg0KKyAgQURW SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQoNCisNCg0KKy0tPg0KDQor DQoNCisjIyBBc3NldDogRmxhc2ggQ29udGVudCB7I2Fzc2V0LWZsYXNoLWNvbnRlbnR9DQoNCisN Cg0KK05JU1QgW1NQIDgwMC0xNDddKGh0dHBzOi8vbnZscHVicy5uaXN0Lmdvdi9uaXN0cHVicy9M ZWdhY3kvU1AvbmlzdHNwZWNpYWxwdWJsaWNhdGlvbjgwMC0xNDcucGRmKSBhbmQgW1NQIDgwMC0x NDdCXShodHRwczovL252bHB1YnMubmlzdC5nb3YvbmlzdHB1YnMvU3BlY2lhbFB1YmxpY2F0aW9u cy9OSVNULlNQLjgwMC0xNDdCLnBkZikgcHJvdmlkZSBzeXN0ZW0gZmlybXdhcmUgcHJvdGVjdGlv biBndWlkZWxpbmVzLCBpbmNsdWRpbmcgdGhlIGRldGFpbGVkIGluZm9ybWF0aW9uIG9uIHN5c3Rl bSBmaXJtd2FyZSBwcm90ZWN0aW9uIGFuZCB1cGRhdGUuIE5JU1QgW1NQIDgwMC0xOTNdKGh0dHBz Oi8vbnZscHVicy5uaXN0Lmdvdi9uaXN0cHVicy9TcGVjaWFsUHVibGljYXRpb25zL05JU1QuU1Au ODAwLTE5My5wZGYpIHByb3ZpZGVzIHBsYXRmb3JtIGZpcm13YXJlIHJlc2lsaWVuY3kgZ3VpZGVs aW5lcy4gSXQgZXh0ZW5kcyBwcm90ZWN0aW9uIHRvIDMgcHJpbmNpcGxlczogcHJvdGVjdGlvbiwg ZGV0ZWN0aW9uLCBhbmQgcmVjb3ZlcnkuIEl0IGFsc28gZW5sYXJnZXMgdGhlIHNjb3BlIGZyb20g c3lzdGVtIGZpcm13YXJlIChCSU9TKSB0byBhbGwgdGhlIGZpcm13YXJlIG9uIHRoZSBwbGF0Zm9y bS4NCg0KKw0KDQorVGhlIGZsYXNoIGNvbnRlbnQgaGVyZSBpbmNsdWRlcyBib3RoIGZpcm13YXJl IGNvZGUgKHN1Y2ggYXMgUEVJLCBEWEUsIFNNTSBldGMpIGFuZCBmaXJtd2FyZSBkYXRhIChzdWNo IGFzIFVFRkkgdmFyaWFibGVzLCBNaWNyb2NvZGUsIGV0YykuDQoNCisNCg0KK3wgVGhyZWF0IHwg RXhhbXBsZSB8DQoNCit8IC0tLSB8IC0tLSB8DQoNCit8IFNwb29maW5nIHwgTi9BIHwNCg0KK3wg VGFtcGVyaW5nIHwgSWYgdGhlIGZpcm13YXJlIGlzIG5vdCBwcm90ZWN0ZWQgb3IgbG9ja2VkLCB0 aGUgYXR0YWNrZXIgbWlnaHQgbW9kaWZ5IHRoZSBmaXJtd2FyZSBkaXJlY3RseS48QlI+SWYgdGhl IGZpcm13YXJlIHVwZGF0ZSBwcm9jZXNzIGlzIG5vdCBhdXRoZW50aWNhdGVkLCB0aGUgYXR0YWNr ZXIgbWlnaHQgc2VuZCBhIG1hbGljaW91cyBmaXJtd2FyZSB1cGRhdGUgaW1hZ2UgZm9yIHVwZGF0 ZS4gfA0KDQorfCBSZXB1ZGlhdGlvbiB8IE4vQSB8DQoNCit8IEluZm9ybWF0aW9uIERpc2Nsb3N1 cmUgfCBJZiB0aGUgc3lzdGVtIHNvZnR3YXJlIHN0b3JlcyB0aGUgc2VjcmV0IGluIHRoZSBmaXJt d2FyZSwgdGhlIGF0dGFja2VyIG1heSByZWFkIHRoZSBmaXJtd2FyZSBjb250ZW50IGFuZCBnZXQg dGhlIHNlY3JldC4gfA0KDQorfCBEZW5pYWwgb2YgU2VydmljZSB8IElmIHRoZSBhdHRhY2tlciBj YW4gbW9kaWZ5IHRoZSBmaXJtd2FyZSBjb250ZW50IChjb2RlIG9yIGRhdGEpIGFuZCBjYXVzZSB0 aGUgZmlybXdhcmUgY3Jhc2gsIHRoZSBzeXN0ZW0gbWlnaHQgbm8gbG9uZ2VyIGJvb3QuIEl0IGJl Y29tZXMgYSBwZXJtYW5lbnQgZGVuaWFsIG9mIHNlcnZpY2UuIHwNCg0KK3wgRWxldmF0aW9uIG9m IFByaXZpbGVnZSB8IElmIHRoZSBhdHRhY2tlciBjYW4gbW9kaWZ5IHRoZSBmaXJtd2FyZSBjb250 ZW50IChjb2RlIG9yIGRhdGEpIGFuZCBzdG9yZSBhIFRyb2phbiBpbiBmaXJtd2FyZSwgdGhlIFRy b2phbiBtYXkgaGlkZSBpdHNlbGYgYW5kIGdhaW4gdGhlIGhpZ2hlciBwcml2aWxlZ2UuIHwNCg0K Kw0KDQorfCBBZHZlcnNhcnkgfCBFeGFtcGxlIHwNCg0KK3wgLS0tIHwgLS0tIHwNCg0KK3wgTmV0 d29yayBBdHRhY2tlciB8IElmIHRoZSBuZXR3b3JrIGlzIGVuYWJsZWQgYmVmb3JlIFNNTSBsb2Nr IGFuZCBmbGFzaCBsb2NrLCB0aGUgYXR0YWNrZXIgbWF5IHNlbmQgbWFsLWZvcm1lZCBuZXR3b3Jr IHBhY2tldHMuIHwNCg0KK3wgVW5wcml2aWxlZ2VkIFNvZnR3YXJlIEF0dGFja2VyIHwgVGhlIGF0 dGFja2VyIG1heSB0cmlnZ2VyIGEgZmlybXdhcmUgdXBkYXRlLCBvciB3cml0ZSB0aGUgVUVGSSB2 YXJpYWJsZS4gfA0KDQorfCBTeXN0ZW0gU29mdHdhcmUgQXR0YWNrZXIgfCBUaGUgYXR0YWNrZXIg bWF5IGFjY2VzcyBhIHNpbGljb24gcmVnaXN0ZXIgdG8gdW5sb2NrIHRoZSBmbGFzaCBhY2Nlc3Mg cmVnaXN0ZXIuPEJSPlRoZSBhdHRhY2tlciBtYXkgY3JlYXRlIGEgcmFjZSBjb25kaXRpb24gdG8g YnJlYWsgdGhlIGZsYXNoIHdyaXRlIHByb3RlY3Rpb24gb3IgZmxhc2ggdXBkYXRlIGF1dGhlbnRp Y2F0aW9uLiB8DQoNCit8IFNpbXBsZSBIYXJkd2FyZSBBdHRhY2tlciB8IFRoZSBhdHRhY2tlciBt YXkgcHJlc3MgdGhlIHBvd2VyIGJ1dHRvbiBkdXJpbmcgZmxhc2ggdXBkYXRlIG9yIHJlY292ZXJ5 LCBvciBzZXQgYSBqdW1wZXIgdG8gbW9kaWZ5IHRoZSBzeXN0ZW0gYm9vdCBtb2RlIGZyb20gbm9y bWFsIGJvb3QgdG8gcmVjb3Zlcnkgb3IgZXZlbiBtYW51ZmFjdHVyaW5nIG1vZGUuPEJSPlRoZSBh dHRhY2tlciBtYXkgYXR0YWNoIFBDSSBMZWFjaCB0byBwZXJmb3JtIERNQSBhdHRhY2sgZHVyaW5n IGZsYXNoIHVwZGF0ZSBvciByZWNvdmVyeS48QlI+VGhlIGF0dGFja2VyIG1heSBoaWphY2sgdGhl IFNQSSBidXMgdG8gcmVhZCBvciB3cml0ZSB0byB0aGUgY2hpcCBkYXRhLiB8DQoNCit8IFNraWxs ZWQgSGFyZHdhcmUgQXR0YWNrZXIgfCBOL0EgfA0KDQorDQoNCit8IE1pdGlnYXRpb24gfCBFeGFt cGxlIHwNCg0KK3wgLS0tIHwgLS0tIHwNCg0KK3wgUHJvdGVjdGlvbiB8IEZvciB0aGUgY29kZSBy ZWdpb24sIHRoZSBmbGFzaCB3cml0ZSBwcm90ZWN0aW9uIG11c3QgYWx3YXlzIGJlIGFwcGxpZWQu IER1cmluZyB0aGUgZmxhc2ggdXBkYXRlLCB0aGUgbmV3IGZpcm13YXJlIGltYWdlIG11c3QgYmUg YXV0aGVudGljYXRlZCBhbmQgdGhlIHZlcnNpb24gbXVzdCBiZSBjaGVja2VkIHRvIHByZXZlbnQg YSByb2xsYmFjayBhdHRhY2suIEluIG9yZGVyIHRvIG1pdGlnYXRlIFRpbWUtb2YtY2hlY2svVGlt ZS1vZi11c2UgKFRPQy9UT1UpIGF0dGFja3MsIHRoZSBuZXcgaW1hZ2UgbXVzdCBiZSBjb3BpZWQg dG8gYSBzZWN1cmUgZW52aXJvbm1lbnQgYmVmb3JlIHRoZSBjaGVjay4gVGhlIERNQSBwcm90ZWN0 aW9uIG11c3QgYmUgZW5hYmxlZCBkdXJpbmcgZmxhc2ggdXBkYXRlLjxCUj5Gb3IgdGhlIGRhdGEg cmVnaW9uLCB0aGUgVUVGSSBhdXRoZW50aWNhdGVkIHZhcmlhYmxlIHdyaXRlIG11c3QgaGFwcGVu IGluIGFuIGlzb2xhdGVkIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC4gVGhlIGF1dGhlbnRpY2F0ZWQg dmFyaWFibGUgZGF0YSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQgYW5kIHRoZSByb2xsYmFjayBwcm90 ZWN0aW9uIG11c3QgYmUgYXBwbGllZC4gSnVzdCBhcyBpbiBjb2RlIHJlZ2lvbiBwcm90ZWN0aW9u LCBpbiBvcmRlciB0byBtaXRpZ2F0ZSBUT0MvVE9VIGF0dGFjaywgbmV3IHZhcmlhYmxlIGNvbnRl bnQgbXVzdCBiZSBjb3BpZWQgdG8gYSBzZWN1cmUgZW52aXJvbm1lbnQgYmVmb3JlIHRoZSBjaGVj ayBhbmQgRE1BIHByb3RlY3Rpb24gbXVzdCBiZSBhcHBsaWVkIHRvIHRoaXMgZW52aXJvbm1lbnQu IEluIGFkZGl0aW9uLCB0aGUgc2VjcmV0IG11c3Qgbm90IGJlIHNhdmVkIHRvIHRoZSBmaXJtd2Fy ZSBjb2RlIG9yIGRhdGEgcmVnaW9uLiB8DQoNCit8IERldGVjdGlvbiB8IFRoZSBkZXRlY3Rpb24g aGFwcGVucyBpbiB0aGUgbmV4dCBib290LjxCUj5Gb3IgdGhlIGNvZGUgcmVnaW9uLCB0aGUgaW5k dXN0cnkgbWF5IGhhdmUgZGlmZmVyZW50IHNvbHV0aW9ucyB0byBtYWtlIHN1cmUgdGhlIGluaXRp YWwgYm9vdCBjb2RlIGlzIHVubW9kaWZpZWQsIHN1Y2ggYXMgUHJvamVjdCBDZXJiZXJ1cywgSW50 ZWzCriBCb290IEd1YXJkLCBldGMuPEJSPkZvciB0aGUgZGF0YSByZWdpb24sIHRoZSBVRUZJIHZh cmlhYmxlIGRyaXZlciBuZWVkcyB0byBkZXRlY3QgaWYgdGhlIHZhcmlhYmxlIHJlZ2lvbiBpcyBt b2RpZmllZCB3aXRob3V0IHVzaW5nIFVFRkkgdmFyaWFibGUgc2VydmljZXMuIHwNCg0KK3wgUmVj b3ZlcnkgfCBJZiBzb21ldGhpbmcgd3JvbmcgaXMgZGV0ZWN0ZWQsIHRoZSBlbnRpdHkgd2hpY2gg ZGV0ZWN0cyB0aGUgZmFpbHVyZSBuZWVkcyB0byBzdGFydCB0aGUgcmVjb3ZlcnkgcHJvY2Vzcywg YW5kIHRoZSByZWNvdmVyeSBkYXRhIG11c3QgYmUgaW4gYSBrbm93biBnb29kIGFuZCBzZWN1cmUg Y29uZmlndXJhdGlvbiBhbmQgYmUgZGVsaXZlcmVkIGZyb20gYSB0cnVzdGVkIGFuZCBhbHdheXMg YXZhaWxhYmxlIHNvdXJjZS4gfA0KDQpkaWZmIC0tZ2l0IGEvYXBwZW5kaXhfdGhyZWF0X21vZGVs X2Zvcl9lZGtfaWkvYXNzZXRfbWFuYWdlbWVudF9tb2RlLm1kIGIvYXBwZW5kaXhfdGhyZWF0X21v ZGVsX2Zvcl9lZGtfaWkvYXNzZXRfbWFuYWdlbWVudF9tb2RlLm1kDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMC4uZDUwMjhiNw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvYXBwZW5k aXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkvYXNzZXRfbWFuYWdlbWVudF9tb2RlLm1kDQpAQCAt MCwwICsxLDU4IEBADQorPCEtLS0gQGZpbGUNCg0KKyAgYXNzZXRfZmxhc2hfY29udGVudC5tZCBm b3IgYXBwZW5kaXhfdGhyZWF0X21vZGVsX2Zvcl9lZGtfaWkgZm9yIEVESyBJSSBTZWN1cmUgQ29k aW5nIEd1aWRlDQoNCisNCg0KKyAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQoNCisNCg0KKyAgUmVkaXN0cmlidXRpb24gYW5k IHVzZSBpbiBzb3VyY2UgKG9yaWdpbmFsIGRvY3VtZW50IGZvcm0pIGFuZCAnY29tcGlsZWQnDQoN CisgIGZvcm1zIChjb252ZXJ0ZWQgdG8gUERGLCBlcHViLCBIVE1MIGFuZCBvdGhlciBmb3JtYXRz KSB3aXRoIG9yIHdpdGhvdXQNCg0KKyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQoNCisNCg0KKyAgMSkg UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIChvcmlnaW5hbCBkb2N1bWVudCBmb3JtKSBt dXN0IHJldGFpbiB0aGUNCg0KKyAgICAgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcNCg0KKyAgICAgZGlzY2xhaW1lciBhcyB0 aGUgZmlyc3QgbGluZXMgb2YgdGhpcyBmaWxlIHVubW9kaWZpZWQuDQoNCisNCg0KKyAgMikgUmVk aXN0cmlidXRpb25zIGluIGNvbXBpbGVkIGZvcm0gKHRyYW5zZm9ybWVkIHRvIG90aGVyIERURHMs IGNvbnZlcnRlZCB0bw0KDQorICAgICBQREYsIGVwdWIsIEhUTUwgYW5kIG90aGVyIGZvcm1hdHMp IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCg0KKyAgICAgbm90aWNlLCB0aGlz IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0K DQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0 aCB0aGUgZGlzdHJpYnV0aW9uLg0KDQorDQoNCisgIFRISVMgRE9DVU1FTlRBVElPTiBJUyBQUk9W SURFRCBCWSBUSUFOT0NPUkUgUFJPSkVDVCAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KDQor ICBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg SU1QTElFRCBXQVJSQU5USUVTIE9GDQoNCisgIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PDQoNCisgIEVWRU5U IFNIQUxMIFRJQU5PQ09SRSBQUk9KRUNUICBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS RUNULCBJTkNJREVOVEFMLA0KDQorICBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sDQoNCisgIFBST0NVUkVN RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP UiBQUk9GSVRTOw0KDQorICBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwNCg0KKyAgV0hFVEhFUiBJTiBDT05UUkFD VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1INCg0K KyAgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBE T0NVTUVOVEFUSU9OLCBFVkVOIElGDQoNCisgIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G IFNVQ0ggREFNQUdFLg0KDQorDQoNCistLT4NCg0KKw0KDQorIyMgQXNzZXQ6IE1hbmFnZW1lbnQg TW9kZSB7I2Fzc2V0LW1hbmFnZW1lbnQtbW9kZX0NCg0KKw0KDQorTWFuYWdlbWVudCBtb2RlIGlz IGEgc3BlY2lhbCBzeXN0ZW0gZXhlY3V0aW9uIGVudmlyb25tZW50LiBYODYgc3lzdGVtcyBoYXZl IHN5c3RlbSBtYW5hZ2VtZW50IG1vZGUgKFNNTSksIGFuZCBBUk0gaGFzIEFSTSBUcnVzdFpvbmUu IFRoZSBmaXJtd2FyZSBjb2RlIGluIG1hbmFnZW1lbnQgbW9kZSBpcyBjb25zaWRlcmVkIGFzIGEg c2VjdXJlIHdvcmxkIGFuZCBoYXZpbmcgaGlnaCBwcml2aWxlZ2UuDQoNCisNCg0KK3wgVGhyZWF0 IHwgRXhhbXBsZSB8DQoNCit8IC0tLSB8IC0tLSB8DQoNCit8IFNwb29maW5nIHwgTi9BIHwNCg0K K3wgVGFtcGVyaW5nIHwgVGhlIGF0dGFja2VyIG1heSB1cGRhdGUgdGhlIG1hbmFnZW1lbnQgbW9k ZSBtZW1vcnkgdG8gaW5qZWN0IGNvZGUgb3IgZGF0YS4gfA0KDQorfCBSZXB1ZGlhdGlvbiB8IE4v QSB8DQoNCit8IEluZm9ybWF0aW9uIERpc2Nsb3N1cmUgfCBUaGUgbWFuYWdlbWVudCBtb2RlIG1h eSBjb250YWluIGEgc2VjcmV0IChzdWNoIGFzIHBhc3N3b3JkLCBUUE0gTU9SMiBlbnRyb3B5KSwg b3IgaXRzIG93biBpbmZvcm1hdGlvbiAoY29kZSBhbmQgZGF0YSBzdHJ1Y3R1cmUgbG9jYXRpb24p LiBUaGlzIGluZm9ybWF0aW9uIG1heSBiZSBleHBvc2VkIHRvIG5vcm1hbCB3b3JsZC4gfA0KDQor fCBEZW5pYWwgb2YgU2VydmljZSB8IFRoZSBtYW5hZ2VtZW50IG1vZGUgb25seSBoYXMgbGltaXRl ZCByZXNvdXJjZSAoc3VjaCBhcyBtZW1vcnkpLiBUaGUgYXR0YWNrZXIgbWF5IHNlbmQgY29tbWFu ZCB0byBtYW5hZ2VtZW50IG1vZGUgY29kZSB0byBtYWtlIGl0IHJ1biBvdXQgb2YgcmVzb3VyY2Uu IHwNCg0KK3wgRWxldmF0aW9uIG9mIFByaXZpbGVnZSB8IFRoZSBhdHRhY2tlciBtYXkgZ2FpbiB1 bmF1dGhvcml6ZWQgZXhlY3V0aW9uIHJpZ2h0cyBpbiBtYW5hZ2VtZW50IG1vZGUuIEZvciBleGFt cGxlLCBpZiB0aGUgbWFuYWdlbWVudCBjb2RlIGNhbGxzIHRoZSBub3JtYWwgd29ybGQgY29kZSwg dGhlIGF0dGFja2VyIG1heSByZXBsYWNlIHRoZSBvcmlnaW5hbCBjb2RlIHdpdGggbWFsaWNpb3Vz IGNvZGUgdG8gZ2FpbiB0aGUgcHJpdmlsZWdlLjxCUj5UaGUgYXR0YWNrZXIgbWF5IGNvbnN0cnVj dCBhIGNvbmZ1c2VkLWRlcHV0eSBhdHRhY2sgZm9yIG1hbmFnZW1lbnQgbW9kZS4gRm9yIGV4YW1w bGUsIHRoZSBPUyBrZXJuZWwgbWF5IHNlbmQgYSBjb21tYW5kIHRvIG1hbmFnZW1lbnQgbW9kZSB0 byBsZXQgaXQgbW9kaWZ5IHRoZSBoeXBlcnZpc29yIG1lbW9yeSBvciBtYW5hZ2VtZW50IG1vZGUg bWVtb3J5LiB8DQoNCisNCg0KK3wgQWR2ZXJzYXJ5IHwgRXhhbXBsZSB8DQoNCit8IC0tLSB8IC0t LSB8DQoNCit8IE5ldHdvcmsgQXR0YWNrZXIgfCBOL0EgfA0KDQorfCBVbnByaXZpbGVnZWQgU29m dHdhcmUgQXR0YWNrZXIgfCBOL0EgfA0KDQorfCBTeXN0ZW0gU29mdHdhcmUgQXR0YWNrZXIgfCBU aGUgYXR0YWNrZXIgbWF5IHRha2UgYWR2YW50YWdlIG9mIGFuIGltcGxlbWVudGF0aW9uIGZsYXcg aW4gdGhlIG1hbmFnZW1lbnQgbW9kZSBjb2RlIHRvIHJlYWQgb3IgbW9kaWZ5IHRoZSBtYW5hZ2Vt ZW50IG1vZGUgY29udGVudCwgb3IgY29udGVudCBvZiBhIGhpZ2hlciBwcml2aWxlZ2UgZW52aXJv bm1lbnQsIHN1Y2ggYXMgYSBoeXBlcnZpc29yLjxCUj5UaGUgYXR0YWNrZXIgbWF5IHVzZSBhIHNp ZGUgY2hhbm5lbCB0byBzdGVhbCBhIHNlY3JldCBpbiB0aGUgbWFuYWdlbWVudCBtb2RlIG1lbW9y eS4gfA0KDQorfCBTaW1wbGUgSGFyZHdhcmUgQXR0YWNrZXIgfCBOL0EgfA0KDQorfCBTa2lsbGVk IEhhcmR3YXJlIEF0dGFja2VyIHwgTi9BIHwNCg0KKw0KDQorfCBNaXRpZ2F0aW9uIHwgRXhhbXBs ZSB8DQoNCit8IC0tLSB8IC0tLSB8DQoNCit8IFByb3RlY3Rpb24gfCBUaGUgbWFuYWdlbWVudCBt b2RlIGNvZGUgbXVzdCBsb2NrIHRoZSBtYW5hZ2VtZW50IG1vZGUgYWZ0ZXIgaXQgaXMgY29uc3Ry dWN0ZWQsIG5vIGxhdGVyIHRoYW4gM3JkIHBhcnQgY29kZSBydW5uaW5nLjxCUj5UaGUgbWFuYWdl bWVudCBtb2RlIGNvZGUgbXVzdCBub3QgY2FsbCBvdXQgdG8gdGhlIG5vcm1hbCB3b3JsZCBjb2Rl LjxCUj5UaGUgc3lzdGVtIG11c3QgcmVtb3ZlIHVubmVjZXNzYXJ5IG1hbmFnZW1lbnQgbW9kZSBo YW5kbGVycy48QlI+VGhlIHJlcXVpcmVkIG1hbmFnZW1lbnQgbW9kZSBoYW5kbGVyIG11c3QgY2hl Y2sgdGhlIHVudHJ1c3RlZCBleHRlcm5hbCBpbnB1dCwgaW5jbHVkaW5nIHRoZSBjb21tdW5pY2F0 aW9uIGJ1ZmZlciwgdGhlIHBvaW50ZXIgaW5zaWRlIG9mIHRoZSBjb21tdW5pY2F0aW9uIGJ1ZmZl ciwgdGhlIGdlbmVyYWwgcHVycG9zZSByZWdpc3RlciBzZXJ2ZWQgYXMgY29tbXVuaWNhdGlvbiBi dWZmZXIgcG9pbnRlciwgdGhlIGhhcmR3YXJlIGJhc2UgYWRkcmVzcyByZWdpc3Rlci4gVGhlIGNo ZWNrZWQgY29udGVudCBtdXN0IGJlIGNvcGllZCBpbnRvIG1hbmFnZW1lbnQgbW9kZSBtZW1vcnkg dG8gcHJldmVudCBUT0MvVE9VLjxCUj5UaGUgbWFuYWdlbWVudCBtb2RlIGhhbmRsZXIgbXVzdCBw cmV2ZW50IHVuYXV0aG9yaXplZCBhY2Nlc3MgdG8gaXRzZWxmIGFuZCBoaWdoIHByaXZpbGVnZWQg Y29udGVudCBzdWNoIGFzIGh5cGVydmlzb3Igb3IgT1Mga2VybmVsIG1lbW9yeS48QlI+VGhlIG1h bmFnZW1lbnQgbW9kZSBoYW5kbGVyIG11c3QgcHJldmVudCBzaWRlIGNoYW5uZWwgYXR0YWNrcyBm b3IgdGhlIHNlY3JldC48QlI+VGhlIG1hbmFnZW1lbnQgbW9kZSBoYW5kbGVyIG11c3Qgbm90IGFs bG9jYXRlIG1vcmUgcmVzb3VyY2VzIHRvIHNlcnZlIHRoZSByZXF1ZXN0LiBJZiBhZGRpdGlvbmFs IHNvdXJjZXMgYXJlIGFsbG9jYXRlZCwgdGhleSBtdXN0IGJlIGZyZWVkIGJlZm9yZSB0aGUgaGFu ZGxlciByZXR1cm4gdG8gdGhlIG5vcm1hbCB3b3JsZC4gfA0KDQorfCBEZXRlY3Rpb24gfCBOL0Eg fA0KDQorfCBSZWNvdmVyeSB8IE4vQSB8DQoNCisNCg0KZGlmZiAtLWdpdCBhL2FwcGVuZGl4X3Ro cmVhdF9tb2RlbF9mb3JfZWRrX2lpL2Fzc2V0X3MzX3Jlc3VtZS5tZCBiL2FwcGVuZGl4X3RocmVh dF9tb2RlbF9mb3JfZWRrX2lpL2Fzc2V0X3MzX3Jlc3VtZS5tZA0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAuLmM1MTQ0NjANCi0tLSAvZGV2L251bGwNCisrKyBiL2FwcGVuZGl4 X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lpL2Fzc2V0X3MzX3Jlc3VtZS5tZA0KQEAgLTAsMCArMSw2 MSBAQA0KKzwhLS0tIEBmaWxlDQoNCisgIGFzc2V0X2ZsYXNoX2NvbnRlbnQubWQgZm9yIGFwcGVu ZGl4X3RocmVhdF9tb2RlbF9mb3JfZWRrX2lpIGZvciBFREsgSUkgU2VjdXJlIENvZGluZyBHdWlk ZQ0KDQorDQoNCisgIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KDQorDQoNCisgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g c291cmNlIChvcmlnaW5hbCBkb2N1bWVudCBmb3JtKSBhbmQgJ2NvbXBpbGVkJw0KDQorICBmb3Jt cyAoY29udmVydGVkIHRvIFBERiwgZXB1YiwgSFRNTCBhbmQgb3RoZXIgZm9ybWF0cykgd2l0aCBv ciB3aXRob3V0DQoNCisgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0 IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Og0KDQorDQoNCisgIDEpIFJlZGlzdHJp YnV0aW9ucyBvZiBzb3VyY2UgY29kZSAob3JpZ2luYWwgZG9jdW1lbnQgZm9ybSkgbXVzdCByZXRh aW4gdGhlDQoNCisgICAgIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nDQoNCisgICAgIGRpc2NsYWltZXIgYXMgdGhlIGZpcnN0 IGxpbmVzIG9mIHRoaXMgZmlsZSB1bm1vZGlmaWVkLg0KDQorDQoNCisgIDIpIFJlZGlzdHJpYnV0 aW9ucyBpbiBjb21waWxlZCBmb3JtICh0cmFuc2Zvcm1lZCB0byBvdGhlciBEVERzLCBjb252ZXJ0 ZWQgdG8NCg0KKyAgICAgUERGLCBlcHViLCBIVE1MIGFuZCBvdGhlciBmb3JtYXRzKSBtdXN0IHJl cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQoNCisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCg0KKyAgICAg ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp c3RyaWJ1dGlvbi4NCg0KKw0KDQorICBUSElTIERPQ1VNRU5UQVRJT04gSVMgUFJPVklERUQgQlkg VElBTk9DT1JFIFBST0pFQ1QgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCg0KKyAgSU1QTElF RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg V0FSUkFOVElFUyBPRg0KDQorICBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTw0KDQorICBFVkVOVCBTSEFMTCBU SUFOT0NPUkUgUFJPSkVDVCAgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D SURFTlRBTCwNCg0KKyAgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KDQorICBQUk9DVVJFTUVOVCBPRiBT VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU UzsNCg0KKyAgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksDQoNCisgIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SDQoNCisgIE9USEVS V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgRE9DVU1FTlRB VElPTiwgRVZFTiBJRg0KDQorICBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB TUFHRS4NCg0KKw0KDQorLS0+DQoNCisNCg0KKyMjIEFzc2V0OiBTMyBSZXN1bWUgeyNhc3NldC1z My1yZXN1bWV9DQoNCisNCg0KK1MzIHJlc3VtZSBpcyBhIHNwZWNpYWwgYm9vdCBmbG93LiBJdCBp cyBkZWZpbmVkIGJ5IEFDUEkgc3BlY2lmaWNhdGlvbi4gRHVyaW5nIFMzIHJlc3VtZSwgdGhlIHN5 c3RlbSByZXN0b3JlcyB0aGUgY29uZmlndXJhdGlvbiBmcm9tIGEgbm9ybWFsIGJvb3QgYW5kIGp1 bXBzIHRvIE9TIHdha2luZyB2ZWN0b3IuDQoNCisNCg0KK0FsbCBwcm90ZWN0aW9uIGFwcGxpZWQg dG8gdGhlIG5vcm1hbCBib290IG11c3QgYWxzbyBiZSBhcHBsaWVkIGluIFMzIHJlc3VtZS4NCg0K Kw0KDQorfCBUaHJlYXQgfCBFeGFtcGxlIHwNCg0KK3wgLS0tIHwgLS0tIHwNCg0KK3wgU3Bvb2Zp bmcgfCBOL0EgfA0KDQorfCBUYW1wZXJpbmcgfCBUaGUgYXR0YWNrZXIgbWF5IHRyeSB0byBtb2Rp ZnkgdGhlIFMzIGNvbmZpZ3VyYXRpb24sIGFsc28ga25vd24gYXMgUzMgYm9vdCBzY3JpcHQuIHwN Cg0KK3wgUmVwdWRpYXRpb24gfCBOL0EgfA0KDQorfCBJbmZvcm1hdGlvbiBEaXNjbG9zdXJlIHwg SWYgdGhlIHMzIGNvbmZpZ3VyYXRpb24gaW5jbHVkZXMgYSBzZWNyZXQgKHN1Y2ggYXMgSEREIHBh c3N3b3JkKSwgdGhlIGF0dGFja2VyIG1heSB3YW50IHRvIHN0ZWFsIHRoZSBzZWNyZXQuIHwNCg0K K3wgRGVuaWFsIG9mIFNlcnZpY2UgfCBUaGUgYXR0YWNrZXIgbWF5IGRlc3Ryb3kgdGhlIFMzIGNv bmZpZ3VyYXRpb24gdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20gYm9vdGluZy4gfA0KDQorfCBF bGV2YXRpb24gb2YgUHJpdmlsZWdlIHwgVGhlIGF0dGFja2VyIG1heSBkaXNhYmxlIHRoZSBwcm90 ZWN0aW9ucyBzdG9yZWQgaW4gdGhlIFMzIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyByZWdpc3RlciBs b2NrLiB8DQoNCisNCg0KKw0KDQorDQoNCit8IEFkdmVyc2FyeSB8IEV4YW1wbGUgfA0KDQorfCAt LS0gfCAtLS0gfA0KDQorfCBOZXR3b3JrIEF0dGFja2VyIHwgTi9BIHwNCg0KK3wgVW5wcml2aWxl Z2VkIFNvZnR3YXJlIEF0dGFja2VyIHwgVGhlIGF0dGFja2VyIG1heSB3cml0ZSBhIG1hbGZvcm1l ZCBVRUZJIHZhcmlhYmxlIHRvIGJyZWFrIHRoZSBTMyBjb25maWd1cmF0aW9uLiB8DQoNCit8IFN5 c3RlbSBTb2Z0d2FyZSBBdHRhY2tlciB8IFRoZSBhdHRhY2tlciBtYXkgc2VuZCBhIGNvbW1hbmQg dG8gdGhlIGlzb2xhdGVkIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCB0byBtb2RpZnkgdGhlIFMzIGNv bmZpZ3VyYXRpb24uIElmIHRoZXJlIGlzIGEgc2VjcmV0IHNhdmVkIGluIHRoZSBpc29sYXRlZCBl bnZpcm9ubWVudCwgdGhlIGF0dGFja2VyIG1heSBzZW5kIGEgY29tbWVuZCB0byBnZXQgdGhlIHNl Y3JldCwgb3IgdXNlIGEgc2lkZSBjaGFubmVsIHRvIHN0ZWFsIHRoZSBzZWNyZXQuIHwNCg0KK3wg U2ltcGxlIEhhcmR3YXJlIEF0dGFja2VyIHwgTi9BIHwNCg0KK3wgU2tpbGxlZCBIYXJkd2FyZSBB dHRhY2tlciB8IE4vQSB8DQoNCisNCg0KK3wgTWl0aWdhdGlvbiB8IEV4YW1wbGUgfA0KDQorfCAt LS0gfCAtLS0gfA0KDQorfCBQcm90ZWN0aW9uIHwgVGhlIFMzIGNvbmZpZ3VyYXRpb24gZGF0YSBt dXN0IGJlIHNhdmVkIHRvIGEgc2VjdXJlIHBsYWNlLiBGb3IgZXhhbXBsZSwgZW1iZWRkZWQgaW50 byByZWFkIG9ubHkgY29kZSByZWdpb24sIGEgcmVhZCBvbmx5IHZhcmlhYmxlLCBhbiBpc29sYXRl ZCBleGVjdXRpb24gZW52aXJvbm1lbnQsIG9yIGEgbG9jayBib3guPEJSPklmIHRoZSBTMyBjb25m aWd1cmF0aW9uIGRhdGEgaXMgc2VjcmV0LCB0aGVuIGl0IG11c3QgYmUgc2F2ZWQgaW4gYW4gaXNv bGF0ZWQgZXhlY3V0aW9uIGVudmlyb25tZW50IG9yIGEgbG9jayBib3ggdG8gcHJldmVudCB1bmF1 dGhvcml6ZWQgcmVhZHMuIHwNCg0KK3wgRGV0ZWN0aW9uIHwgTi9BIHwNCg0KK3wgUmVjb3Zlcnkg fCBOL0EgfA0KDQotLSANCjIuMTkuMi53aW5kb3dzLjENCg0K