From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM05-BY2-obe.outbound.protection.outlook.com (mail-by2nam05olkn081f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe52::81f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A7E6B21A00ACB for ; Wed, 28 Jun 2017 12:35:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OPJ9Fdp19qDquFJrZjR1ASGvlaYG882UNU1OMSi4sz4=; b=lRkcp7I0WiUgU8o7CkiQnTtcyD/5q8WxOzlyliF3cUOBSzAkdE6M9nz5poglg6SHFwddgenVL2UapFnnQLleDEBvdhTp1mkM/sQ5HIR0d+Iz3nYwMSdWc999aUo78TfhAwX9/IbZt08ZXaNXSD1H2c9JVEzmZcWaLXAAecImaJWOMJnWSZ9JzBysI46aqKSAmavkKVPFQSlklMSE/nQ3Wa/wt59WpcC+lmT7HFTuy7D5hvKroQuAJ20kxbir8Q6hWHMAaUhRsu4ATm0diIIBHj7vTu5xwDwSN4hh0RiS58Fy2qUwXE6K+JirpQbc8ADcvqoX333M7M8ZAi8cBo7FFQ== Received: from DM3NAM05FT005.eop-nam05.prod.protection.outlook.com (10.152.98.51) by DM3NAM05HT036.eop-nam05.prod.protection.outlook.com (10.152.98.225) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.20; Wed, 28 Jun 2017 19:37:04 +0000 Received: from DM5PR11MB1578.namprd11.prod.outlook.com (10.152.98.55) by DM3NAM05FT005.mail.protection.outlook.com (10.152.98.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.9 via Frontend Transport; Wed, 28 Jun 2017 19:37:04 +0000 Received: from DM5PR11MB1578.namprd11.prod.outlook.com ([10.172.37.22]) by DM5PR11MB1578.namprd11.prod.outlook.com ([10.172.37.22]) with mapi id 15.01.1220.014; Wed, 28 Jun 2017 19:37:04 +0000 From: Amit kumar To: Andrew Fish CC: TVKR , "edk2-devel@lists.01.org" Thread-Topic: [edk2] DisconnectController API not working. Thread-Index: AQHS75hjMKsTgloZWkq+l7R4P4v3bKI6Nw6AgAAYw1KAAAibgIAADuSAgAAdtICAAAmhzYAAAIcAgAAAudGAAAIgAIAAAq+LgAADOMKAABH3gIAAAf0AgAAAtQA= Date: Wed, 28 Jun 2017 19:37:04 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=hotmail.com; x-incomingtopheadermarker: OriginalChecksum:6E73BC98072E5B0574879FA953AAD3F5F12657F0BA096D3238F1879E6B4AB89C; UpperCasedChecksum:B605F192F4F66FBA64ADC705ACE87DA72B95A97D66DA2A67043FCDDFA22FB1FD; SizeAsReceived:8336; Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [zTB2hcsSPi2ctSu7kwd5srvNEwgLBWVM] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM3NAM05HT036; 7://+wlfmCXkbaXohQ4wY4qBEKj9Rsg3pwZk3uvLx8HNnQ1BRVJLuV11817veIV8oFBOX9DhhJrbWPwEFGIOxCVHkvc5h1mNrJoHqlbNm5/B6pp8/mtUDw7SQWLFjScTRXWKqLAJcW2H14es64hfkLSCncWBGOzqjfGs6eUEDNql0Lu2KD9eiXzDdszHj9FmUyjmBwfG52m2yw+NDc4uCAppLyQHdZVMh2Jxq9qlibRi9OXILFf31QpY9PRiveFRyVxacvWULAc7EjnHO4gGlV65Be1OLVSmm+3J4uYNcHy+lmP3OuQFeRZU0NIDs4FZKZcqVPsfUrpD42SDWQ1zhYJxfHb0WC0SuN2GCUzl/BkmJu2lOdczIO0LxH2RPbqI4f+QrPnx8Hj+hLwx47T+sYxnVUT1yJhdSYnItvq1w5AKqktBCIwkS1hnmd/lQ8u1l0nxed2SSE01n7KmCGqpShm9GT+nVQ6DuBHvj0Yog77PdXIkMiRpwU42pFB50GvTvY7+t6wwx+gQNgAXUFM2L6K+/voSWhZd/1xJVctlTzo6/kQCARi0lsOJgZrCT4rppkBkib+kK9pyZ8/N3/bx1QLdMtWFz+zVUeUSadCqvpaccr36Xl/kLNHnS2qZzgTyz5LsAiRL32v0M8FdsOVAAz2EhsxbId02kyULljNRG11UrzegHNg0xNgTJnAfMvPns7RViv4jR0ZLCgciHpr9ubT98NlMl1vhmzNmawwlSzaHDjfLpXkiae6g/pj/DTug2OqJMgPqBmE97iJDZ9mPT8Pg== x-incomingheadercount: 46 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI; SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:DM3NAM05HT036; H:DM5PR11MB1578.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:; x-ms-traffictypediagnostic: DM3NAM05HT036: x-ms-office365-filtering-correlation-id: 7619e9f3-5fef-4f8a-57d5-08d4be5d0d7f x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(300000503095)(300135400095)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322274)(1601125374)(1603101448)(1701031045)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM3NAM05HT036; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:DM3NAM05HT036; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM3NAM05HT036; x-forefront-prvs: 03524FBD26 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2017 19:37:04.3966 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3NAM05HT036 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: DisconnectController API not working. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 19:35:48 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SnVzdCBhIGZpbmFsIGNoZWNrLA0KWW91IHVzZWQgdGhpcw0KDQogICAgZ0JTLT5EaXNjb25uZWN0 Q29udHJvbGxlciAoDQogICAgIENvbnZlcnRIYW5kbGVJbmRleFRvSGFuZGxlICgweDE3NSksDQog ICAgIENvbnZlcnRIYW5kbGVJbmRleFRvSGFuZGxlICgweDE3NiksDQogICAgIE5VTEwpOw0KDQpu b3QgdGhpcw0KDQogICAgZ0JTLT5EaXNjb25uZWN0Q29udHJvbGxlciAoDQogICAgIENvbnZlcnRI YW5kbGVJbmRleFRvSGFuZGxlICgxNzUpLA0KICAgICBDb252ZXJ0SGFuZGxlSW5kZXhUb0hhbmRs ZSAoMTc2KSwNCiAgICAgTlVMTCk7DQoNCnJpZ2h0ID8NCg0KQW1pdA0KDQpPbiBKdW4gMjksIDIw MTcsIGF0IDE6MDQgQU0sIEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb208bWFpbHRvOmFmaXNo QGFwcGxlLmNvbT4+IHdyb3RlOg0KDQoNCk9uIEp1biAyOCwgMjAxNywgYXQgMTI6MjcgUE0sIFRW S1IgPHRyZXNrbzFAZ21haWwuY29tPG1haWx0bzp0cmVza28xQGdtYWlsLmNvbT4+IHdyb3RlOg0K DQpUcmllZCBpdCwgc3RpbGwgbm8gbHVjayA6KA0KDQpUaGVyZSBpcyBzb21ldGhpbmcgaW4gdGhl IFNoZWxsIHRoYXQgbWFrZXMgdGhlIGluLWJ1aWx0IGRpc2Nvbm5lY3Qgd2l0aG91dA0KYW55IGlz c3VlcyBidXQgd2hlbiB0aGUgc2FtZSBEaXNjb25uZWN0Q29udHJvbGxlciBpcyBjYWxsZWQgZnJv bSBhbg0KYXBwbGljYXRpb24gaXMgZmFpbHMuDQoNCg0KSXQgaXMgbW9yZSBsaWtlbHkgeW91IGFy ZSBkb2luZyBzb21ldGhpbmcgd3JvbmcuDQoNClVzaW5nIEhhbmRsZUluZGV4IGlzIHJpc2t5IGFz IGl0IGlzIG1vcmUgYWJvdXQgVXNlciBJbnRlcmZhY2UgdGhhbiByZWFsaXR5LiBIYXZlIHlvdSB0 cmllZCBwcmludGluZyBvdXQgdGhlIEVGSV9IQU5ETEUgdmFsdWVzIHlvdSBhcmUgcGFzc2luZyBp bnRvIGdCUy0+RGlzY29ubmVjdENvbnRyb2xsZXIoKT8gVGhlIHNob3VsZCBtYXRjaCB0aGUgdmFs dWVzIHlvdSBnZXQgd2hlbiB5b3UgZHVtcCBhIHNwZWNpZmljIGhhbmRsZSBpbiB0aGUgc2hlbGwu IFRoZSBFRklfSEFORExFIHZhbHVlIGlzIG5vdCBnb2luZyB0byBjaGFuZ2UsIGl0IGlzIG9ubHkg Z29pbmcgdG8gZ2V0IHJlbW92ZWQgaWYgYWxsIHByb3RvY29scyBvbiB0aGF0IGhhbmRsZSBhcmUg dW5pbnN0YWxsZWQuDQoNClNvIGZvciBleGFtcGxlLg0KMTc2OiA3MjE5RTc5OA0KDQpJZiB5b3Ug dXNlZCAxNzggYXQgdGhlIFNoZWxsIHlvdSB3b3VsZCBleHBlY3QgdG8gc2VlIDcyMTlFNzk4IHBy aW50ZWQgb3V0IGFzIHRoZSBoYW5kbGUgdmFsdWUuDQoNClRoYW5rcywNCg0KQW5kcmV3IEZpc2gN Cg0KVGhhbmtzDQoNCk9uIFdlZCwgSnVuIDI4LCAyMDE3IGF0IDE6MjMgUE0sIEFtaXQga3VtYXIg PGFrYW1pdDkxQGhvdG1haWwuY29tPG1haWx0bzpha2FtaXQ5MUBob3RtYWlsLmNvbT4+IHdyb3Rl Og0KDQoNCg0KRUZJX1NUQVRVUw0KRUZJQVBJDQpVZWZpTWFpbiAoDQpJTiBFRklfSEFORExFICAg ICAgICBJbWFnZUhhbmRsZSwNCklOIEVGSV9TWVNURU1fVEFCTEUgICpTeXN0ZW1UYWJsZQ0KKQ0K ew0KICBFRklfU1RBVFVTIFN0YXR1czsNCg0KDQogICAgZ0JTLT5EaXNjb25uZWN0Q29udHJvbGxl ciAoDQogICAgIENvbnZlcnRIYW5kbGVJbmRleFRvSGFuZGxlICgweDE3NSksDQogICAgIENvbnZl cnRIYW5kbGVJbmRleFRvSGFuZGxlICgweDE3NiksDQogICAgIE5VTEwpOw0KIHJldHVybiAoU3Rh dHVzKTsNCg0KfQ0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKkZyb206KiBl ZGsyLWRldmVsIDxlZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRl dmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnPj4gb24gYmVoYWxmIG9mIEFtaXQNCmt1bWFyIDxha2Ft aXQ5MUBob3RtYWlsLmNvbTxtYWlsdG86YWthbWl0OTFAaG90bWFpbC5jb20+Pg0KKlNlbnQ6KiBX ZWRuZXNkYXksIEp1bmUgMjgsIDIwMTcgMTE6NDE6NTMgUE0NCipUbzoqIFRWS1INCipDYzoqIGVk azItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCipT dWJqZWN0OiogUmU6IFtlZGsyXSBEaXNjb25uZWN0Q29udHJvbGxlciBBUEkgbm90IHdvcmtpbmcu DQoNClRyeSB0aGlzOyBqdXN0IGEgcXVpY2sgdGhpbmcNCg0KDQoNCg0KRUZJX1NUQVRVUw0KRUZJ QVBJDQpVZWZpTWFpbiAoDQpJTiBFRklfSEFORExFICAgICAgICBJbWFnZUhhbmRsZSwNCklOIEVG SV9TWVNURU1fVEFCTEUgICpTeXN0ZW1UYWJsZQ0KKQ0Kew0KICBFRklfU1RBVFVTIFN0YXR1czsN Cg0KDQogICAgZ0JTLT5EaXNjb25uZWN0Q29udHJvbGxlciAoDQogICAgIENvbnZlcnRIYW5kbGVJ bmRleFRvSGFuZGxlICgxNzUpLA0KICAgICBDb252ZXJ0SGFuZGxlSW5kZXhUb0hhbmRsZSAoMTc2 KSwNCiAgICAgTlVMTCk7DQogcmV0dXJuIChTdGF0dXMpOw0KDQp9DQoNCg0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCkZyb206IFRWS1IgPHRyZXNrbzFAZ21haWwuY29tPG1haWx0 bzp0cmVza28xQGdtYWlsLmNvbT4+DQpTZW50OiBXZWRuZXNkYXksIEp1bmUgMjgsIDIwMTcgMTE6 MzE6NDYgUE0NClRvOiBBbWl0IGt1bWFyDQpDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFp bHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KU3ViamVjdDogUmU6IFtlZGsyXSBEaXNjb25u ZWN0Q29udHJvbGxlciBBUEkgbm90IHdvcmtpbmcuDQoNClllcywgdGhlIHNoZWxsJ3MgaW4tYnVp bHQgY29tbWFuZCBkaXNjb25uZWN0IChkaXNjb25uZWN0IDE3NSAxNzYpIHdvcmtlZA0KYnV0IERp c2Nvbm5lY3RDb250cm9sbGVyIGNhbGwgZnJvbSB0aGUgYXBwbGljYXRpb24gc3RpbGwgZGlkIG5v dCB3b3JrLg0KDQpPbiBXZWQsIEp1biAyOCwgMjAxNyBhdCAxMjo1NiBQTSwgQW1pdCBrdW1hciA8 YWthbWl0OTFAaG90bWFpbC5jb208bWFpbHRvOmFrYW1pdDkxQGhvdG1haWwuY29tPjxtYWlsdG86 DQpha2FtaXQ5MUBob3RtYWlsLmNvbTxtYWlsdG86YWthbWl0OTFAaG90bWFpbC5jb20+Pj4gd3Jv dGU6DQoNCm9rYXksIG9zIHRlbGwgbWUgLCBkaWQgeW91IHRyeSAgImRpc2Nvbm5lY3QgMTc1IDE3 NiIgaW4gVUVGSSBzaGVsbCA/DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpG cm9tOiBUVktSIDx0cmVza28xQGdtYWlsLmNvbTxtYWlsdG86dHJlc2tvMUBnbWFpbC5jb20+PG1h aWx0bzp0cmVza28xQGdtYWlsLmNvbT4+DQpTZW50OiBXZWRuZXNkYXksIEp1bmUgMjgsIDIwMTcg MTE6MjE6MzQgUE0NCg0KVG86IEFtaXQga3VtYXINCkNjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9y ZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+PG1haWx0bzplZGsyLWRldmVsQGxpc3Rz LjAxLm9yZz4NClN1YmplY3Q6IFJlOiBbZWRrMl0gRGlzY29ubmVjdENvbnRyb2xsZXIgQVBJIG5v dCB3b3JraW5nLg0KDQpTb3JyeSwgSSB3YXNuJ3QgY2xlYXIgaW4gbXkgbGFzdCBlbWFpbC4gTm8g aXQgZGlkIG5vdCBoYW5nLiBUaGUgJ3JlY29ubmVjdA0KLXInIGNvbW1hbmQgY29tcGxldGVkIHN1 Y2Nlc3NmdWxseSAobm8gZXJyb3JzIHJlcG9ydGVkIG9uIHNjcmVlbikuDQoNCk9uIFdlZCwgSnVu IDI4LCAyMDE3IGF0IDEyOjUwIFBNLCBBbWl0IGt1bWFyIDxha2FtaXQ5MUBob3RtYWlsLmNvbTxt YWlsdG86YWthbWl0OTFAaG90bWFpbC5jb20+PG1haWx0bzoNCmFrYW1pdDkxQGhvdG1haWwuY29t PG1haWx0bzpha2FtaXQ5MUBob3RtYWlsLmNvbT4+PiB3cm90ZToNCg0KRGlkIGl0IGhhbmcgPw0K DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJvbTogVFZLUiA8dHJlc2tvMUBn bWFpbC5jb208bWFpbHRvOnRyZXNrbzFAZ21haWwuY29tPjxtYWlsdG86dHJlc2tvMUBnbWFpbC5j b20+Pg0KU2VudDogV2VkbmVzZGF5LCBKdW5lIDI4LCAyMDE3IDEwOjQ1OjEzIFBNDQpUbzogQW1p dCBrdW1hcg0KQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxp c3RzLjAxLm9yZz48bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQpTdWJqZWN0OiBS ZTogW2VkazJdIERpc2Nvbm5lY3RDb250cm9sbGVyIEFQSSBub3Qgd29ya2luZy4NCg0KVGhhbmtz IGZvciB0aGUgc3VnZ2VzdGlvbiBBbWl0LiBJIHRyaWVkIHRoZSByZWNvbm5lY3QgLXIgYnV0IGl0 IGRvZXNuJ3QNCnNlZW0gdG8gaGVscC4NCg0KT24gV2VkLCBKdW4gMjgsIDIwMTcgYXQgMTA6Mjkg QU0sIEFtaXQga3VtYXIgPGFrYW1pdDkxQGhvdG1haWwuY29tPG1haWx0bzpha2FtaXQ5MUBob3Rt YWlsLmNvbT48bWFpbHRvOg0KYWthbWl0OTFAaG90bWFpbC5jb208bWFpbHRvOmFrYW1pdDkxQGhv dG1haWwuY29tPj4+IHdyb3RlOg0KSGkgVHJlc2tvLA0KSSBsb29rcyBsaWtlIHRoZXJlIGlzIG5v IHByb2JsZW0gd2l0aCB5b3VyIGltcGxlbWVudGF0aW9uLCBhcyB3YXMgdGhlIGNhc2UNCndpdGgg bWUuDQpJIGNhbiBzdWdnZXN0IHlvdSBhIHF1aWNrIHRyaWNrIGhlcmUsIGlmIGl0IHdvbuKAmXQg d29yayBJIHdpbGwgaGVscCB5b3UNCmZ1cnRoZXIgd2hpY2ggbWlnaHQgdGFrZSBhIHdoaWxlLg0K Rm9sbG93IHRoZSBzdGVwcyBiZWxvdy4NCjEuIEdvIHRvIHJlZmkgc2hlbGwNCjIuIFJlY29ubmVj dCAtcg0KMy4gSWYgdGhlIHN5c3l0ZW0gaGFuZ3MuDQo0LiBUcnkgdG8gdXBkYXRlIHlvdXIgQklP Uy9VRUZJIHRvIGxhdGVzdCAoYXMgSSBoYWQgbm90aWNlZCB0aGUgZWFyaWxlcg0KQklPUy9VRUZJ IGhhZCBzb21lIHNvbWUgcHJvYmxlbSB3aGljaCBub3JtYWxseSBnZXRzIGZpeGVkIHdpdGggdXBk YXRlcykuDQo1LiBBZnRlciB1cGRhdGUgb25jZSBhZ2FpbiB0cnkgIFJlY29ubmVjdCAtci4NCjYu IElmIHRoZXJlcyBhIG5vIGhhbmcgcmVzdGFydCB0aGUgc3lzdGVtIGFuZCBub3cgeW91IGNhbiB0 cnkgeW91ciBhcHAgb3INCmp1c3QgZ2l2ZSBkaXNjb25uZWN0IDxDb250cm9sbGVySGFuZGVJbmRl eD4gaW4gdWVmaSBzaGVsbC4NCjcuIElmIHN0aWxsIEkgZG9lc27igJl0IHdvcmsgeW91IGNhbiBw aW5nIG1lIEkgbWlnaHQgc3VnZ2VzdCB0aGUgb3RoZXIgd2F5DQphcm91bmQuDQoNCkFtaXQNCg0K T24gSnVuIDI4LCAyMDE3LCBhdCA4OjA1IFBNLCBUVktSIDx0cmVza28xQGdtYWlsLmNvbTxtYWls dG86dHJlc2tvMUBnbWFpbC5jb20+PG1haWx0bzp0cmVzDQprbzFAZ21haWwuY29tPG1haWx0bzpr bzFAZ21haWwuY29tPj4+IHdyb3RlOg0KDQpIaSBBbWl0LA0KDQpIZXJlIGlzIHRoZSBvdXRwdXQu IEl0IGlzIHRoZSBjYWxsICdnQlMtPkRpc2Nvbm5lY3RDb250cm9sbGVyDQooQ29udHJvbGxlckhh bmRsZSwgTlVMTCwgTlVMTCknICh3aGVyZSBDb250cm9sbGVySGFuZGxlPTcyMTlFQTk4KSB0aGF0 DQpkb2Vzbid0IHNlZW0gdG8gY29ycmVjdGx5IHdvcmsuDQoNCkZTMDpcPiBkcml2ZXJzDQpPdXRw dXQgVHJ1bmNhdGVkLi4NCjE3NiAwNzA0MjIwMCBCIFkgWSAgIDEgICAxIEludGVsKFIpIFBSTy8x MDAwIDcuMy4xOCBQQ0ktRQ0KUGNpUm9vdCgweDApL1BjaSgweDIsMHgzKS9QY2koMHgwLDB4MCkv T2Zmc2V0KDB4MUQyMDAsMHgzRTlGRikNCjE3OCAwNzA0MjIwMCBCIFkgWSAgIDEgICAxIEludGVs KFIpIFBSTy8xMDAwIDcuMy4xOCBQQ0ktRQ0KUGNpUm9vdCgweDApL1BjaSgweDIsMHgzKS9QY2ko MHgwLDB4MSkvT2Zmc2V0KDB4MUQyMDAsMHgzRTlGRikNCg0KRlMwOlw+IGRoIDE3NiAtZCAtdg0K MTc2OiA3MjE5RTc5OA0KRHJpdmVyVmVyc2lvbg0KMHgwMDAyMDAyOA0KRWZpRHJpdmVySGVhbHRo UHJvdG9jb2xHdWlkDQpEcml2ZXJDb25maWd1cmF0aW9uDQpEcml2ZXJEaWFnbm9zdGljczINCkNv bXBvbmVudE5hbWUyDQpEcml2ZXJEaWFnbm9zdGljcw0KQ29tcG9uZW50TmFtZQ0KRHJpdmVyQmlu ZGluZw0KSW1hZ2VEZXZpY2VQYXRoDQpMb2FkZWRJbWFnZQ0KICAgUmV2aXNpb24uLi4uLi46IDB4 MDAwMDEwMDANCiAgIFBhcmVudEhhbmRsZS4uOiA3MkI3MEExOA0KICAgU3lzdGVtVGFibGUuLi46 IDc4OEZFRjE4DQogICBEZXZpY2VIYW5kbGUuLjogNzIxOUVBOTgNCiAgIEZpbGVQYXRoLi4uLi4u OiA3MjE5RTk5OA0KICAgT3B0aW9uc1NpemUuLi46IDANCiAgIExvYWRPcHRpb25zLi4uOiA8bnVs bCBzdHJpbmc+DQogICBJbWFnZUJhc2UuLi4uLjogNzc2QTAwMDANCiAgIEltYWdlU2l6ZS4uLi4u OiA1NTVFMA0KICAgQ29kZVR5cGUuLi4uLi46IEVmaUJvb3RTZXJ2aWNlc0NvZGUNCiAgIERhdGFU eXBlLi4uLi4uOiBFZmlCb290U2VydmljZXNEYXRhDQogICBVbmxvYWQuLi4uLi4uLjogNzc2QTA3 MDgNCg0KICAgQ2hpbGRbMTc2XSAgICAgICAgOiBJbnRlbChSKSBQUk8vMTAwMCA3LjMuMTggUENJ LUUNCiBEcml2ZXIgSW1hZ2UgTmFtZSAgOiBPZmZzZXQoMHgxRDIwMCwweDNFOUZGKQ0KIERyaXZl ciBWZXJzaW9uICAgICA6IDA3MDMxODAwDQogRHJpdmVyIFR5cGUgICAgICAgIDogQnVzDQogQ29u ZmlndXJhdGlvbiAgICAgIDogWUVTDQogRGlhZ25vc3RpY3MgICAgICAgIDogWUVTDQogQ2hpbGQg Q29udHJvbGxlcnMgIDoNCiAgIEN0cmxbMTc1XSAgICAgICAgIDogUGNpUm9vdCgweDApL1BjaSgw eDIsMHgzKS9QY2koMHgwLDB4MCkNCiAgIENoaWxkWzIxOV0gICAgICAgIDogSW50ZWwgRXRoZXJu ZXQgU2VydmVyIEFkYXB0ZXIgSTM1MC1UMg0KDQoNCkZTMDpcPiBkaCAxNzUgLWQgLXYNCjE3NTog NzIxOUVBOTgNClVua25vd25EZXZpY2UNClVua25vd25EZXZpY2UNCkJ1c1NwZWNpZmljRHJpdmVy T3ZlcnJpZGUNCkxvYWRGaWxlMg0KUENJSU8NCkRldmljZVBhdGgNClBjaVJvb3QoMHgwKS9QY2ko MHgyLDB4MykvUGNpKDB4MCwweDApDQogQ29udHJvbGxlciBOYW1lICAgIDogUGNpUm9vdCgweDAp L1BjaSgweDIsMHgzKS9QY2koMHgwLDB4MCkNCiBEZXZpY2UgUGF0aCAgICAgICAgOiBQY2lSb290 KDB4MCkvUGNpKDB4MiwweDMpL1BjaSgweDAsMHgwKQ0KIENvbnRyb2xsZXIgVHlwZSAgICA6IEJV Uw0KIENvbmZpZ3VyYXRpb24gICAgICA6IE5PDQogRGlhZ25vc3RpY3MgICAgICAgIDogTk8NCiBN YW5hZ2VkIGJ5ICAgICAgICAgOg0KICAgRHJ2WzE3Nl0gICAgICAgICAgOiBJbnRlbChSKSBQUk8v MTAwMCA3LjMuMTggUENJLUUNCiBQYXJlbnQgQ29udHJvbGxlcnMgOg0KICAgUGFyZW50Wzc1XSAg ICAgICA6IFBjaVJvb3QoMHgwKQ0KIENoaWxkIENvbnRyb2xsZXJzICA6DQogICBDaGlsZFsyMTld ICAgICAgICA6IEludGVsIEV0aGVybmV0IFNlcnZlciBBZGFwdGVyIEkzNTAtVDINCg0KDQpUaGFu a3MNCg0KT24gV2VkLCBKdW4gMjgsIDIwMTcgYXQgOTowNyBBTSwgQW1pdCBrdW1hciA8YWthbWl0 OTFAaG90bWFpbC5jb208bWFpbHRvOmFrYW1pdDkxQGhvdG1haWwuY29tPjxtYWlsdG86YQ0Ka2Ft aXQ5MUBob3RtYWlsLmNvbTxtYWlsdG86a2FtaXQ5MUBob3RtYWlsLmNvbT4+PiB3cm90ZToNCg0K SGkgVHJlc2tvLA0KDQpIaSBBbWl0LA0KDQpJIGFtIHNlZWluZyB0aGUgZXhhY3Qgc2FtZSBpc3N1 ZSBvbiBteSBzeXN0ZW0gd2l0aCBEaXNjb25uZWN0Q29udHJvbGxlci4NClRoZSBzaGVsbCBjb21t YW5kICdkaXNjb25uZWN0JyB3b3JrcyBidXQgd2hlbiBJIHVzZSB0aGUNCmdCUy0+RGlzY29ubmVj dENvbnRyb2xsZXIgPmNhbGwgZnJvbSBteSBhcHBsaWNhdGlvbiBpdCBkb2Vzbid0IHNlZW0gdG8N CnJlYWxseSBkaXNjb25uZWN0IHRoZSBzYW1lIGNvbnRyb2xsZXIgKGV2ZW4gdGhvdWdoIHRoZSBj YWxsIHJldHVybnMNClNVQ0NFU1MpIGFuZCBpdCBzdGlsbCBhcHBlYXJzIHRvIGJlIG1hbmFnZWQg YnkgPmRyaXZlci4gSSBldmVuIGNoZWNrZWQgdGhlDQpDb250cm9sbGVySGFuZGxlIHBhc3NlZCBh bmQgaXQgbG9va3MgY29ycmVjdC4gV2VyZSB5b3UgYWJsZSB0byByZXNvbHZlIHRoaXMNCmV2ZW50 dWFsbHk/DQoNCg0KWWVzIGkgd2FzIGFibGUgdG8gcmVzb2x2ZSBpdC4gSXQgbWlnaHQgYmUgaGVs cGZ1bCBpZiB5b3UgY2FuIHRlbGwgbWUgdGhlDQpvdXRwdXQgb2YgZGggLWQgPGhhbmRsZT4gY29t bWFuZC4NCg0KVGhhbmtzDQoNCkFtaXQNCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KRnJvbTogVFZLUiA8dHJlc2tvMUBnbWFpbC5jb208bWFpbHRvOnRyZXNrbzFAZ21haWwu Y29tPjxtYWlsdG86dHJlc2tvMUBnbWFpbC5jb20+Pg0KU2VudDogV2VkbmVzZGF5LCBKdW5lIDI4 LCAyMDE3IDY6MDY6MTEgUE0NClRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmc+PG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz47DQph a2FtaXQ5MUBob3RtYWlsLmNvbTxtYWlsdG86YWthbWl0OTFAaG90bWFpbC5jb20+PG1haWx0bzph a2FtaXQ5MUBob3RtYWlsLmNvbT4NCg0KU3ViamVjdDogUmU6IFtlZGsyXSBEaXNjb25uZWN0Q29u dHJvbGxlciBBUEkgbm90IHdvcmtpbmcuDQoNCkJUVywgSSBwb3J0ZWQgdGhlIGRpc2Nvbm5lY3Qg Y29kZSAodW5kZXIgU2hlbGxQa2dcTGlicmFyeVxVZWZpU2hlbGxEcml2ZXIxQ29tbWFuZHNMaWIp DQp0byBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24gYW5kIGl0IGZhaWxzIHRvby4gTG9va3MgbGlr ZSB0aGVyZSBpcyBzb21ldGhpbmcNCmVsc2UgaW4gdGhlIHNoZWxsIGFwcCB0aGF0IGlzIHRha2lu ZyBjYXJlIG9mIHByb3Blcmx5IGRpc2Nvbm5lY3RpbmcgdGhlDQpjb250cm9sbGVyLg0KDQpUaGFu a3MNCg0KT24gVHVlLCBKdW4gMjcsIDIwMTcgYXQgNTo1NCBQTSwgVFZLUiA8dHJlc2tvMUBnbWFp bC5jb208bWFpbHRvOnRyZXNrbzFAZ21haWwuY29tPjxtYWlsdG86dHJlcw0Ka28xQGdtYWlsLmNv bTxtYWlsdG86a28xQGdtYWlsLmNvbT4+PiB3cm90ZToNCkhpIEFtaXQsDQoNCkkgYW0gc2VlaW5n IHRoZSBleGFjdCBzYW1lIGlzc3VlIG9uIG15IHN5c3RlbSB3aXRoIERpc2Nvbm5lY3RDb250cm9s bGVyLg0KVGhlIHNoZWxsIGNvbW1hbmQgJ2Rpc2Nvbm5lY3QnIHdvcmtzIGJ1dCB3aGVuIEkgdXNl IHRoZQ0KZ0JTLT5EaXNjb25uZWN0Q29udHJvbGxlciBjYWxsIGZyb20gbXkgYXBwbGljYXRpb24g aXQgZG9lc24ndCBzZWVtIHRvDQpyZWFsbHkgZGlzY29ubmVjdCB0aGUgc2FtZSBjb250cm9sbGVy IChldmVuIHRob3VnaCB0aGUgY2FsbCByZXR1cm5zDQpTVUNDRVNTKSBhbmQgaXQgc3RpbGwgYXBw ZWFycyB0byBiZSBtYW5hZ2VkIGJ5IGRyaXZlci4gSSBldmVuIGNoZWNrZWQgdGhlDQpDb250cm9s bGVySGFuZGxlIHBhc3NlZCBhbmQgaXQgbG9va3MgY29ycmVjdC4gV2VyZSB5b3UgYWJsZSB0byBy ZXNvbHZlIHRoaXMNCmV2ZW50dWFsbHk/DQoNCg0KVGhhbmtzDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzIGF0 IGxpc3RzLjAxLm9yZzxodHRwOi8vbGlzdHMuMDEub3JnPjwNCmh0dHBzOi8vbGlzdHMuMDEub3Jn L21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbD5dIE9uIEJlaGFsZiBPZiBBbWl0IGt1bWFyDQpT ZW50OiBUdWVzZGF5LCBBcHJpbCA0LCAyMDE3IDEyOjA3IEFNDQpUbzogVGlhbiwgRmVuZyA8ZmVu Zy50aWFuIGF0IGludGVsLmNvbTxodHRwOi8vaW50ZWwuY29tPjxodHRwczovL2xpc3RzLjAxLg0K b3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbD4+DQpDYzogZWRrMi1kZXZlbCBhdCBsaXN0 cy4wMS5vcmc8aHR0cDovL2xpc3RzLjAxLm9yZz48aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1h bi9saXN0aW5mby9lZGsyLQ0KZGV2ZWw+DQpTdWJqZWN0OiBSZTogW2VkazJdIERpc2Nvbm5lY3RD b250cm9sbGVyIEFQSSBub3Qgd29ya2luZy4NCg0KTm8gaSBhbSBub3QgdHJ5aW5nIHRvIGRpc2Nv bm5lY3QgVVNCIGNvbnRyb2xsZXIgaW4gdXNlLg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXw0KRnJvbTogVGlhbiwgRmVuZyA8ZmVuZy50aWFuIGF0IGludGVsLmNvbTxodHRwOi8v aW50ZWwuY29tPjxodHRwczovL2xpc3RzLjAxLg0Kb3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1k ZXZlbD4+DQpTZW50OiBXZWRuZXNkYXksIEFwcmlsIDUsIDIwMTcgODoyMTozNiBBTQ0KVG86IEFu ZHJldyBGaXNoOyBBbWl0IGt1bWFyDQpDYzogZWRrMi1kZXZlbCBhdCBsaXN0cy4wMS5vcmc8aHR0 cDovL2xpc3RzLjAxLm9yZz48aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9l ZGsyLQ0KZGV2ZWw+OyBUaWFuLCBGZW5nDQpTdWJqZWN0OiBSRTogW2VkazJdIERpc2Nvbm5lY3RD b250cm9sbGVyIEFQSSBub3Qgd29ya2luZy4NCg0KS3VtYXIsDQoNCkRvICJtYXAgLXIiIGF0IGZp cnN0IHBsZWFzZS4NCg0KDQpQUzogZm9yIHRoZSBpc3N1ZSB5b3UgZW5jb3VudGVyLCBhcmUgeW91 IHRyeWluZyB0byBkaXNjb25uZWN0IHRoZSB1c2INCmNvbnRyb2xsZXIgaW4gdXNlPyBQbGVhc2Ug bm90ZSBhdCB0aGlzIHRpbWUgeW91IGFyZSByZWFkaW5nIHRoZSBmaWxlIGZyb20NCnVzYiBrZXku IEl0IG1lYW5zIHRoZSBkaXNjb25uZWN0IHdpbGwgbmV2ZXIgc3VjY2VlZC4NCg0KVGhhbmtzDQpG ZW5nDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBlZGsyLWRldmVsIFttYWls dG86ZWRrMi1kZXZlbC1ib3VuY2VzIGF0IGxpc3RzLjAxLm9yZzxodHRwOi8vbGlzdHMuMDEub3Jn PjwNCmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbD5dIE9u IEJlaGFsZiBPZiBBbmRyZXcNCkZpc2gNClNlbnQ6IFR1ZXNkYXksIEFwcmlsIDQsIDIwMTcgMTI6 MDcgQU0NClRvOiBBbWl0IGt1bWFyIDxha2FtaXQ5MSBhdCBob3RtYWlsLmNvbTxodHRwOi8vaG90 bWFpbC5jb20+PGh0dHBzOi8vbGlzdHMuMDEuDQpvcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRl dmVsPj4NCkNjOiBlZGsyLWRldmVsIGF0IGxpc3RzLjAxLm9yZzxodHRwOi8vbGlzdHMuMDEub3Jn PjxodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItDQpkZXZlbD4NClN1 YmplY3Q6IFJlOiBbZWRrMl0gRGlzY29ubmVjdENvbnRyb2xsZXIgQVBJIG5vdCB3b3JraW5nLg0K DQoNCk9uIEFwciAzLCAyMDE3LCBhdCAyOjU4IEFNLCBBbWl0IGt1bWFyIDxha2FtaXQ5MSBhdCBo b3RtYWlsLmNvbTxodHRwOi8vaG90bWFpbC5jb20+PA0KaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFp bG1hbi9saXN0aW5mby9lZGsyLWRldmVsPj4gd3JvdGU6DQoNCkhpIEFuZHJldyAsDQoNCkkgZGlk IHNvbWUgdGVzdGluZyBhbmQgZm91bmQgb3V0LCBzYW1lIGNvZGUgd29ya3MgZmluZSBvbiBTZXJ2 ZXIgYm9hcmRzDQpidXQgaXQgZmFpbHMgb24gZGVza3RvcCBib2FyZHMuDQoNCg0KU2VydmVycyB0 ZW5kIHRvIGNvbm5lY3QgbGVzcyB0aGluZ3MgYXMgaXQgY2FuIHRha2UgYSBsb25nIHRpbWUuDQoN CkkgSGF2ZSBkb3VibGUgY2hlY2tlZCB0aGUgQ29udHJvbGxlckhhbmRsZSBieSBwcmludGluZyBp dHMgaGFuZGxlIGluZGV4DQp1c2luZyBDb252ZXJ0SGFuZGxlVG9IYW5kbGVJbmRleChDb250cm9s bGVySGFuZGxlKSwgdGhlICBDb250cm9sbGVySGFuZGxlDQpsb29rcyBjb3JyZWN0Lg0KDQoNCkkg aGF2ZSBvbmUgbmV3IHF1ZXJ5Ow0KDQppIGhhdmUgbWFkZSBhIHN0YXJ0dXAubnNoIGZpbGUgaW4g d2hpY2ggaSBhbSBpc3N1aW5nIGxvYWQgZHJpdmVyLmVmaSAsIGkNCmFtIGdldHRpbmcgZmlsZSBu b3QgZm91bmQuDQoNCmkgaGF2ZSBhbHNvIHRyaWVkIHVzaW5nIGxvYWQgZnMwOmRyaXZlci5lZmks IGFuZCBhZ2FpbiBpIGdldCAgZmlsZSBub3QNCmZvdW5kLiAgSSBoYXZlIGJlZW4gdHJ5aW5nIHRv IHJ1biB0aGlzIHNjcmlwdCBmcm9tIGludGVybmFsIHNoZWxsIGFzIHdlbGwNCmFzIHVzYiBzaGVs bC4NCg0KDQpEb2VzIHRoYXQgY29tbWFuZCB3b3JrIGlmIHlvdSBib290IHRoZSBzaGVsbD8NCg0K VGhhbmtzLA0KDQpBbmRyZXcgRmlzaA0KDQoNClJlZ2FyZHMNCg0KQW1pdCBLdW1hcg0KDQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJvbTogYWZpc2ggYXQgYXBwbGUuY29tPGh0 dHA6Ly9hcHBsZS5jb20+PGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRr Mi0NCmRldmVsPiA8YWZpc2ggYXQgYXBwbGUuY29tPGh0dHA6Ly9hcHBsZS5jb20+PGh0dHBzOi8v bGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi0NCmRldmVsPj4gb24gYmVoYWxmIG9m IEFuZHJldyBGaXNoDQo8YWZpc2ggYXQgYXBwbGUuY29tPGh0dHA6Ly9hcHBsZS5jb20+PGh0dHBz Oi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbD4+DQpTZW50OiBGcmlk YXksIE1hcmNoIDMxLCAyMDE3IDEwOjQyOjA4IFBNDQpUbzogQW1pdCBrdW1hcg0KQ2M6IGVkazIt ZGV2ZWwgYXQgbGlzdHMuMDEub3JnPGh0dHA6Ly9saXN0cy4wMS5vcmc+PGh0dHBzOi8vbGlzdHMu MDEuDQpvcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsPg0KU3ViamVjdDogUmU6IFtlZGsy XSBEaXNjb25uZWN0Q29udHJvbGxlciBBUEkgbm90IHdvcmtpbmcuDQoNCg0KT24gTWFyIDMxLCAy MDE3LCBhdCA1OjI2IEFNLCBBbWl0IGt1bWFyIDxha2FtaXQ5MSBhdCBob3RtYWlsLmNvbTxodHRw Oi8vaG90bWFpbC5jb20+PA0KaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9l ZGsyLWRldmVsPjxtYWlsdG86YWthbWl0OTEgYXQNCmhvdG1haWwuY29tPGh0dHA6Ly9ob3RtYWls LmNvbT48aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsPj4+ IHdyb3RlOg0KDQoNCkhpICwNCg0KSSBhbSB0cnlpbmcgdG8gZGlzY29ubmVjdCBhIGNvbnRyb2xs ZXIgZnJvbSB0aGUgdXNiIG1hc3Mgc3RvcmFnZQ0KZHJpdmVyLCBmb3Igd2hpY2ggaSBhbSB1c2lu Zw0KDQpTdGF0dXMgPSBnQlMtPkRpc2Nvbm5lY3RDb250cm9sbGVyICgNCiAgQ29udHJvbGxlckhh bmRsZSwNCiAgTlVMTCwNCiAgTlVMTA0KICApOw0KDQphZnRlciB0aGUgY2FsbCBpIGdldCBTdGF0 dXMgPSBTVUNDRVNTICwgYnV0IHdoZW4gaSBydW4gZHJpdmVycyBjb21tYW5kDQppbiBzaGVsbCwg aSBmaW5kIGl0IHN0aWxsIGJlaW5nIG1hbmdlZCBieSB0aGUgc2FtZSBvbGQgZHJpdmVyIGhhbmRs ZS4NCkFsdGhvdWdoIHdoZW4gaSBydW4gZGlzY29ubmVjdCBjb21tYW5kIGZyb20gc2hlbGwgKGUu ZyBkaXNjb25uZWN0IDE2Mw0KLi4ub3V0cHV0IGRpc2Nvbm5lY3QoMTYzLDAsMCk6U3RhdHVzID0g U1VDQ0VTUykgaXQgd29ya3MgYXMgZXhwZWN0ZWQgYW5kDQpkZXRhY2hlcyB0aGUgY29udHJvbGxl ciBmcm9tIHRoZSBkcml2ZXIuDQpDYW4gc29tZSBib2R5IHBvaW50IG1lIG91dCB3aGF0IGNvdWxk IGJlIHRoZSByZWFzb24uDQoNCkFtaXQsDQoNCkl0IGlzIGFsd2F5cyBnb29kIHRvIGRvdWJsZSBj aGVjayB5b3UgYXJlIHVzaW5nIHRoZSByaWdodA0KQ29udHJvbGxlckhhbmRsZS4NCg0KU2VxdWVu Y2Ugb2YgZXZlbnRzIG1hdHRlcnMuIFRoZXJlIGFyZSBib290IGZsb3dzIGFuZCBTaGVsbCBjb21t YW5kcyB0aGF0DQpkbyBDb25uZWN0Q29udHJvbGxlci4NCn4vd29yay9zcmMvZWRrMi9TaGVsbFBr ZyhtYXN0ZXIpPmdpdCBncmVwIENvbm5lY3RDb250cm9sbGVyDQpMaWJyYXJ5L1VlZmlTaGVsbERl YnVnMUNvbW1hbmRzTGliL0xvYWRQY2lSb20uYzo0MDI6DQpnQlMtPkNvbm5lY3RDb250cm9sbGVy IChIYW5kbGVCdWZmZXJbSW5kZXhdLCBOVUxMLCBOVUxMLCBUUlVFKTsNCkxpYnJhcnkvVWVmaVNo ZWxsRHJpdmVyMUNvbW1hbmRzTGliL0Nvbm5lY3QuYzo1NDogICAgICAgIFN0YXR1cyA9DQpnQlMt PkNvbm5lY3RDb250cm9sbGVyIChIYW5kbGUsIE5VTEwsIFJlbWFpbmluZ0RldmljZVBhdGgsIEZB TFNFKTsNCkxpYnJhcnkvVWVmaVNoZWxsRHJpdmVyMUNvbW1hbmRzTGliL0Nvbm5lY3QuYzo5NToN CmdCUy0+Q29ubmVjdENvbnRyb2xsZXIgKFJvb3RCcmlkZ2VIYW5kbGVCdWZmZXJbUm9vdEJyaWRn ZUluZGV4XSwgTlVMTCwNCk5VTEwsIEZBTFNFKTsNCkxpYnJhcnkvVWVmaVNoZWxsRHJpdmVyMUNv bW1hbmRzTGliL0Nvbm5lY3QuYzoxMTY6Q29ubmVjdENvbnRyb2xsZXJzICgNCkxpYnJhcnkvVWVm aVNoZWxsRHJpdmVyMUNvbW1hbmRzTGliL0Nvbm5lY3QuYzoxNTA6ICAvLyBUaGlzIGlzIHdoZXJl IHdlDQpjYWxsIHRoZSBnQlMtPkNvbm5lY3RDb250cm9sbGVyIGZ1bmN0aW9uLg0KTGlicmFyeS9V ZWZpU2hlbGxEcml2ZXIxQ29tbWFuZHNMaWIvQ29ubmVjdC5jOjE1ODogICAgICBTdGF0dXMgPQ0K Z0JTLT5Db25uZWN0Q29udHJvbGxlcigqSGFuZGxlV2Fsa2VyLCBEcml2ZXJIYW5kbGVMaXN0LCBO VUxMLCBSZWN1cnNpdmUpOw0KTGlicmFyeS9VZWZpU2hlbGxEcml2ZXIxQ29tbWFuZHNMaWIvQ29u bmVjdC5jOjE2NzogICAgU3RhdHVzID0NCmdCUy0+Q29ubmVjdENvbnRyb2xsZXIoQ29udHJvbGxl ckhhbmRsZSwgRHJpdmVySGFuZGxlTGlzdCwgTlVMTCwNClJlY3Vyc2l2ZSk7DQpMaWJyYXJ5L1Vl ZmlTaGVsbERyaXZlcjFDb21tYW5kc0xpYi9Db25uZWN0LmM6Mjk4Og0KU3RhdHVzID0gZ0JTLT5D b25uZWN0Q29udHJvbGxlciAoDQpMaWJyYXJ5L1VlZmlTaGVsbERyaXZlcjFDb21tYW5kc0xpYi9D b25uZWN0LmM6MzU0OkNvbnZlcnRBbmRDb25uZWN0Q29uDQp0cm9sbGVycyAoDQpMaWJyYXJ5L1Vl ZmlTaGVsbERyaXZlcjFDb21tYW5kc0xpYi9Db25uZWN0LmM6MzkxOiAgcmV0dXJuDQooQ29ubmVj dENvbnRyb2xsZXJzKEhhbmRsZTEsIEhhbmRsZTIsIFJlY3Vyc2l2ZSwgT3V0cHV0LCAoQk9PTEVB TikoSGFuZGxlMg0KIT0gTlVMTCAmJiBIYW5kbGUxICE9IE5VTEwpKSk7DQpMaWJyYXJ5L1VlZmlT aGVsbERyaXZlcjFDb21tYW5kc0xpYi9Db25uZWN0LmM6NTM2OiAgICAgICAgICBTdGF0dXMgPQ0K Q29udmVydEFuZENvbm5lY3RDb250cm9sbGVycyhIYW5kbGUxLCBIYW5kbGUyLCBTaGVsbENvbW1h bmRMaW5lR2V0RmxhZyhQYWNrYWdlLA0KTCItciIpLCAoQk9PTEVBTikoQ291bnQhPTApKTsNCkxp YnJhcnkvVWVmaVNoZWxsRHJpdmVyMUNvbW1hbmRzTGliL0RydkNmZy5jOjQ5MjogIEVGSV9IQU5E TEUNCkNvbm5lY3RDb250cm9sbGVyQ29udGV4dE92ZXJyaWRlWzJdOw0KTGlicmFyeS9VZWZpU2hl bGxEcml2ZXIxQ29tbWFuZHNMaWIvRHJ2Q2ZnLmM6NTE0Og0KQ29ubmVjdENvbnRyb2xsZXJDb250 ZXh0T3ZlcnJpZGVbMF0gID0gRHJpdmVySW1hZ2VIYW5kbGU7DQpMaWJyYXJ5L1VlZmlTaGVsbERy aXZlcjFDb21tYW5kc0xpYi9EcnZDZmcuYzo1MTU6DQpDb25uZWN0Q29udHJvbGxlckNvbnRleHRP dmVycmlkZVsxXSAgPSBOVUxMOw0KTGlicmFyeS9VZWZpU2hlbGxEcml2ZXIxQ29tbWFuZHNMaWIv RHJ2Q2ZnLmM6NTE2Og0KZ0JTLT5Db25uZWN0Q29udHJvbGxlciAoQ29udHJvbGxlckhhbmRsZSwg Q29ubmVjdENvbnRyb2xsZXJDb250ZXh0T3ZlcnJpZGUsDQpOVUxMLCBUUlVFKTsNCkxpYnJhcnkv VWVmaVNoZWxsTGV2ZWwyQ29tbWFuZHNMaWIvTG9hZC5jOjUyOiAgICBTdGF0dXMgPQ0KZ0JTLT5D b25uZWN0Q29udHJvbGxlciAoSGFuZGxlQnVmZmVyW0luZGV4XSwgTlVMTCwgTlVMTCwgVFJVRSk7 DQoNCg0KVGhhbmtzLA0KDQpBbmRyZXcgRmlzaA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXw0KZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCmVkazItZGV2 ZWwgYXQgbGlzdHMuMDEub3JnPGh0dHA6Ly9saXN0cy4wMS5vcmc+PGh0dHBzOi8vbGlzdHMuMDEu b3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi0NCmRldmVsPjxtYWlsdG86ZWRrMi1kZXZlbCBhdCBs aXN0cy4wMS5vcmc8aHR0cDovL2xpc3RzLjAxLm9yZz48aHR0cHM6Ly9saXN0cy4wMS4NCm9yZy9t YWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWw+Pg0KaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1h bi9saXN0aW5mby9lZGsyLWRldmVsDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQplZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KZWRrMi1kZXZlbCBhdCBs aXN0cy4wMS5vcmc8aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLQ0K ZGV2ZWw+DQpodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwN Cg0KDQoNCg0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCmVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQplZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxt YWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQpodHRwczovL2xpc3RzLjAxLm9yZy9tYWls bWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCmVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQplZGsyLWRldmVsQGxp c3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQpodHRwczovL2xpc3Rz LjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg0K