From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) by dpdk.org (Postfix) with ESMTP id 7B712378E for ; Thu, 26 May 2016 20:11:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=26690; q=dns/txt; s=iport; t=1464286317; x=1465495917; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=xcVyT/516EOMIGTGR3TLZY/dssnW5+wSgGv0C+eI25w=; b=auvKkVYxHAd2xU3yiedmAeon0deSoJpyZgusJzTcdpL42fqzDuvhnaUG YfqodFiVTaza4O6qkxd2+bhJdsJ0ZV16/AGXGJlDWYavWVELh0lVWpIWq qqSUiTyIOroCBhuGyFnZpVT0Rh6tTkDqHajcHBl3mATLHYxBHP3reWXWd c=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BQAgAOPEdX/5tdJa1cgzlWfQaDPbYmA?= =?us-ascii?q?Q2BeBcLgj2DMgIcgR04FAEBAQEBAQFlJ4RDAQEBAwEBAiAEDUUFBwQCAQYCEQM?= =?us-ascii?q?BAQEBAgIjAwICAiYKFAEICAIEAQ0FCBOIDAgOlQWdHZFeAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBHIEBiXKEHA0tgmqCWQWIBIVhilIBhX+FMoJngXBOhAGIZIYziRg?= =?us-ascii?q?BHgEBQoIGHIFLbohXAQQbH38BAQE?= X-IronPort-AV: E=Sophos;i="5.26,369,1459814400"; d="scan'208";a="278402619" Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 May 2016 18:11:30 +0000 Received: from XCH-ALN-013.cisco.com (xch-aln-013.cisco.com [173.36.7.23]) by rcdn-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id u4QIBUxH022154 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 26 May 2016 18:11:30 GMT Received: from xch-rcd-013.cisco.com (173.37.102.23) by XCH-ALN-013.cisco.com (173.36.7.23) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Thu, 26 May 2016 13:11:29 -0500 Received: from xch-rcd-013.cisco.com ([173.37.102.23]) by XCH-RCD-013.cisco.com ([173.37.102.23]) with mapi id 15.00.1104.009; Thu, 26 May 2016 13:11:29 -0500 From: "John Lo (loj)" To: "Ananyev, Konstantin" , "Wiles, Keith" , Chandrasekar Kannan CC: vpp-dev , "Zhang, Helin" , "dev@dpdk.org" Thread-Topic: [vpp-dev] VLAN packets dropped... ? Thread-Index: AQHRtfyTwQGJPALCPkakeq00JtnqfJ/IkkUAgAAD0gCAAAxjAIAAD54AgAAGdYCAAADVgIAAAx0AgAAHE4CAAI53EIAABaDggABUasCAAGD6AP//s7JQgABbtoD//7TgMIAAjEaAgAEmNzA= Date: Thu, 26 May 2016 18:11:29 +0000 Message-ID: References: <64B165E8-8209-4495-87CF-8DDD71598CBA@intel.com> <85484e414fc440cf84b93f9136df715f@XCH-RCD-013.cisco.com> <83cc2c6c2012497babde2b8fd79e49b3@XCH-RCD-013.cisco.com> <404492D5-F6DD-4E11-9007-A665ED15DE55@intel.com> <3C1BF1A6-D122-42A1-B924-E7C1F73C6B66@intel.com> <2601191342CEEE43887BDE71AB97725836B5EB20@irsmsx105.ger.corp.intel.com> <0225ffe827bc4c89acfa71593e145ec9@XCH-RCD-013.cisco.com> <2601191342CEEE43887BDE71AB97725836B5ED1E@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725836B5EDA4@irsmsx105.ger.corp.intel.com> <6a90755824944d70a5c239925eb25c73@XCH-RCD-013.cisco.com> <2601191342CEEE43887BDE71AB97725836B5F14F@irsmsx105.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB97725836B5F14F@irsmsx105.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.131.77.115] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Mailman-Approved-At: Thu, 26 May 2016 21:14:34 +0200 Subject: Re: [dpdk-dev] [vpp-dev] VLAN packets dropped... ? X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 May 2016 18:11:58 -0000 SGkgS29uc3RhbnRpbiwNCg0KVGhhbmtzIGZvciB0aGUgbGluayB0byBEUERLIGRpc2N1c3Npb24g d3J0IHRoaXMgVkxBTiBvZmZsb2FkIGZsYWcgUEtUX1JYX1ZMQU5fUEtULiAgSXQgc2VlbXMgdGhl IHByb3Bvc2FsIHdhcyB0byBkZXByZWNhdGUgUEtUX1JYX1ZMQU5fUEtUICBhbmQgaW50cm9kdWNl IHR3byBuZXcgZmxhZ3MgUEtUX1JYX1ZMQU5fU1RSSVBQRUQgYW5kIFBLVF9SWF9RSU5RX1NUUklQ UEVELiAgDQoNCkl0IHdvdWxkIGJlIGEgcmVhbGx5IGdvb2QgaWRlYSB0byBrZWVwIFBLVF9SWF9W TEFOX1BLVCB0byBpbmRpY2F0ZSBhdCBsZWFzdCBvbmUgVkxBTiB0YWcgaXMgcHJlc2VudCBvbiB0 aGUgcGFja2V0LiAgRm9yIHRoZSBjYXNlIG9mIGk0MGUgd2hlcmUgaXRzIEhXIGNhbm5vdCBkZXRl Y3QgVkxBTiB0YWcgaWYgc3RyaXAgaXMgbm90IGVuYWJsZWQsIGl0IHNob3VsZCBiZSByZWFzb25h YmxlIGZvciB0aGUgaTQwZSBEUERLIGRyaXZlciBzb2Z0d2FyZSB0byBtYWtlIGEgY2hlY2sgYW5k IHNldCB0aGlzIGZsYWcuIEkgd291bGQgdGhpbmsgDQp0aGUgb3ZlcmhlYWQgdG8gY2hlY2sgdGhl IDFzdCBldGhlcnR5cGUgZmllbGQgaW4gdGhlIE1BQyBoZWFkZXIgYWdhaW5zdCBkb3QxcSBvciBk b3QxYWQgdmFsdWVzIGluIHNvZnR3YXJlIGJlIHByZXR0eSBtaW5pbWFsLg0KDQpSZWdhcmRzLA0K Sm9obg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBBbmFueWV2LCBLb25z dGFudGluIFttYWlsdG86a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbV0gDQpTZW50OiBXZWRu ZXNkYXksIE1heSAyNSwgMjAxNiAzOjIzIFBNDQpUbzogSm9obiBMbyAobG9qKTsgV2lsZXMsIEtl aXRoOyBDaGFuZHJhc2VrYXIgS2FubmFuDQpDYzogdnBwLWRldjsgWmhhbmcsIEhlbGluOyBkZXZA ZHBkay5vcmcNClN1YmplY3Q6IFJFOiBbdnBwLWRldl0gVkxBTiBwYWNrZXRzIGRyb3BwZWQuLi4g Pw0KDQogDQo+IEkgc3VwcG9zZSB0aGlzIGhhcyB0byBkbyB3aXRoIHdoYXQgaXMgZXhwZWN0ZWQg dXNhZ2Ugb2YgdGhlIA0KPiBQS1RfUlhfVkxBTl9QS1Qgb2ZmbG9hZCBmbGFnLiBJcyBpdCBzZXQg b25seSBmb3IgVkxBTiBwYWNrZXRzIHdpdGggdGhlIA0KPiBWTEFOIHN0cmlwcGVkIG9yIHNob3Vs ZCBhbHdheXMgYmUgc2V0IGlmIFZMQU4gaXMvd2FzIHByZXNlbnQgaW4gdGhlIA0KPiByZWNlaXZl ZCBwYWNrZXQuIEl0IHNlZW1zIHRoYXQgZGlmZmVyZW50IERQREsgZHJpdmVycyBhcmUgYmVoYXZp bmcgZGlmZmVyZW50bHkgd2hpY2ggd2lsbCBtYWtlIGl0IHJlYWxseSBoYXJkIGZvciBWUFAgdG8g dGFrZSBhZHZhbnRhZ2Ugb2YgTklDIGFuZCBkcml2ZXIgb2ZmbG9hZCBjYXBhYmlsaXR5IHRvIHBy b3ZpZGUgYmV0dGVyIHBlcmZvcm1hbmNlLg0KDQpZZXMsIHRoYXQncyB0cnVlIGl4Z2JlL2lnYiBm cm9tIG9uZSBzaWRlIGFuZCBpNDBlIGRvIHJhaXNlIFBLVF9SWF9WTEFOX1BLVCBpbiBhIGRpZmZl cmVudCBtYW5uZXIuDQpUaGVyZSBpcyBhbiBhdHRlbXB0IHRvIG1ha2UgaXQgdW5pZmllZCBhY3Jv c3MgYWxsIHN1cHBvcnRlZCBkZXZpY2VzOg0KIGh0dHA6Ly9kcGRrLm9yZy9kZXYvcGF0Y2h3b3Jr L3BhdGNoLzEyOTM4Lw0KDQpUaG91Z2gsIEkgYW0gbm90IHN1cmUgaXQgd2lsbCBoZWxwIHlvdSB3 aXRoIHlvdXIgaXNzdWUuDQpBcyBJIHVuZGVyc3RhbmQsIGZvciB5b3UgdGhlIGRlc2lyZWQgYmVo YXZpb3VyIGlzOg0KSWYgaXQgaXMgYSB2bGFuIHBhY2tldCwga2VlcCB0aGUgcGFja2V0IGludGFj dCAoZG9uJ3Qgc3RyaXAgdGhlIHZsYW4pIGFuZCByYWlzZSBQS1RfUlhfVkxBTl9QSyBpbnNpZGUg bWJ1Zi0+b2xfZmxhZ3MuDQpUaGF0J3Mgd2hhdCBpeGdiZSBpcyBkb2luZyB3aXRoIHJ0ZV9ldGhf Y29uZi5yeG1vZGUuaHdfdmxhbl9zdHJpcD09MC4NCkNvcnJlY3Q/DQpBcyBmYXIgYXMgSSBrbm93 LCBpNDBlIEhXIGRvZXNuJ3QgcHJvdmlkZSBzdWNoIGFiaWxpdHkuDQppNDBlIFJlY2VpdmUgSFcg RGVzY3JpcHRvciBjYW4gb25seSBmbGFnIHdhcyBWTEFOIHRhZyBzdHJpcHBlZCBmcm9tIHRoZSBw YWNrZXQgb3Igbm90LCBidXQgaWYgc3RyaXBwaW5nIGlzIGRpc2FibGVkIGl0IHdvdWxkbid0IGlu ZGljYXRlIGluIGFueSB3YXkgaXMgVkxBTiB0YWcgaXMgcHJlc2VudCBpbnNpZGUgdGhlIHBhY2tl dCBvciBub3QuDQpJIGFtIENDLWluZyBpdCB0byBkcGRrLm9yZyBpbiBjYXNlIEkgYW0gbWlzc2lu ZyBzb21ldGhpbmcgaGVyZS4NClByb2JhYmx5IHNvbWVvbmUga25vd3MgYSB3YXkgdG8gbWFrZSBp dCB3b3JrIGluIHRoYXQgd2F5LiAgICANCktvbnN0YW50aW4NCg0KPiANCj4gSWYgVlBQIGNhbm5v dCByZWx5IG9uIG9mZmxvYWQgZmxhZ3MgZm9yIFZMQU4gc28gcGFja2V0cyBhbHdheXMgaGF2ZSB0 byBnbyB0aHJvdWdoIGV0aGVybmV0LWlucHV0IG5vZGUsIHRoZXJlIGlzIGEgcGVyZm9ybWFuY2Ug Y29zdC4NCj4gRm9yIHRoZSAxMEdFIGNhc2UsIGJlZm9yZSB0aGUgaW52ZXJzZSBwYXRjaCBvZiB0 aGUgaXhnYmUgZHJpdmVyLCAxMEdFIA0KPiBSeC12ZWN0b3IgcGF0aCByZW1vdmVkIHN1cHBvcnQg b2Ygb2ZmbG9hZCBmbGFnIHdpdGggRFBESyAxNi4wNCBhbmQgc28gDQo+IGV0aGVybmV0LWlucHV0 IG5vZGUgaXMgYWx3YXlzIHVzZWQuIFRoZSAxMEdFIElQdjQgdGhyb3VnaHB1dCByYXRlIA0KPiBk cm9wcGVkIGZyb20gNi4xN01QUFN4MiB0byA0LjkyTVBQU3gyIGZvciBiaWRpcmVjdGlvbmFsIHRy YWZmaWMgKDIgDQo+IHN0cmVhbXMgZWFjaCB3aXRoIGEgc2luZ2xlIElQIGFkZHJlc3MgYXMgZGVz dGluYXRpb24pIG9uIGEgc2luZ2xlIGNvcmUgDQo+IG9uIG15IHNlcnZlci4gS29uc3RhbnRpbiBz dWdnZXN0ZWQgYXQgdGhhdCB0aW1lIHRvIHVzZSBzY2FsYXIgbW9kZSB3aGljaCBkb2VzIHN1cHBv cnQgb2ZmbG9hZCBmbGFncyBwcm9wZXJseS4gVGhlIHNjYWxhciBtb2RlIGRpZCBieS1wYXNzIGV0 aGVybmV0LWlucHV0IGFuZCBwcm92aWRlZCB0aHJvdWdocHV0IG9mIDUuNzJNUFBTLiBXZSBlbmRl ZCB1cCBpbnZlcnNlIHBhdGNoZWQgdGhlIGl4Z2JlIGRyaXZlciB0byByZXN0b3JlIHZlY3RvciBt b2RlIG9mZmxvYWQgZmxhZyBzdXBwb3J0IGFzIHRoZSBvcmlnaW5hbCByZXN0cmljdGlvbiAodGhl IHJlYXNvbiBvZmZsb2FkIGZsYWcgc3VwcG9ydCB3YXMgcmVtb3ZlZCkgd291bGQgbm90IGFmZmVj dCBWUFAuDQo+IA0KPiBJIHRoaW5rIGZvciA0MEdFIGRyaXZlciB0byBwcm92aWRlIG9mZmxvYWQg ZmxhZyBzdXBwb3J0IGluIHZlY3RvciBtb2RlIA0KPiBidXQgbm90IGdpdmUgaW5kaWNhdGlvbiBv ZiBwcmVzZW5jZSBvZiBWTEFOIHRhZyBpcyBqdXN0IHdyb25nLiBUaGlzIG1ha2UgdGhlIG9mZmxv YWQgZmxhZyBzdXBwb3J0IHVzZWxlc3MgZm9yIFZQUC4NCj4gDQo+IFJlZ2FyZHMsDQo+IEpvaG4N Cj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuYW55ZXYsIEtvbnN0 YW50aW4gW21haWx0bzprb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tXQ0KPiBTZW50OiBXZWRu ZXNkYXksIE1heSAyNSwgMjAxNiAxMTozMCBBTQ0KPiBUbzogSm9obiBMbyAobG9qKTsgV2lsZXMs IEtlaXRoOyBDaGFuZHJhc2VrYXIgS2FubmFuDQo+IENjOiB2cHAtZGV2OyBaaGFuZywgSGVsaW4N Cj4gU3ViamVjdDogUkU6IFt2cHAtZGV2XSBWTEFOIHBhY2tldHMgZHJvcHBlZC4uLiA/DQo+IA0K PiANCj4gPg0KPiA+IEkgc2VlIHdoYXQgeW91IGFyZSBnZXR0aW5nIGF0LCBLb25zdGFudGluLiBU aGUgVlBQIGluaXQgY29kZSBkb2VzIA0KPiA+IG5vdCBlbmFibGUgVkxBTiBzdHJpcCBmb3IgSW50 ZWwgTklDcyBhcyBWTEFOIHRhZyBtdXN0IGJlIGluIHRoZSANCj4gPiBwYWNrZXQgZm9yIHN1Yi1p bnRlcmZhY2UgbG9va3VwIGJ5IGV0aGVybmV0LWlucHV0IG5vZGUuIEkgYWdyZWUgaWYgDQo+ID4g d2UgZW5hYmxlIFZMQU4gdGFnIHN0cmlwIGZvciB0aGUgaTQwZSBkcml2ZXIsIHdlIGNhbiBnZXQg YXJvdW5kIHRoaXMgDQo+ID4gcHJvYmxlbQ0KPiBidXQgdGhlbiBhbGwgcGFja2V0cyB3aWxsIGJl IGNvbnNpZGVyZWQgYXMgcmVjZWl2ZWQgb24gdGhlIG1haW4gaW50ZXJmYWNlLg0KPiANCj4gSSBz ZWUuLi4NCj4gQXMgZmFyIGFzIEkgIGtub3csIHdoZW4gVkxBTiBzdHJpcHBpbmcgaXMgZGlzYWJs ZWQsICBpNDBlIFJYRCBkb2Vzbid0IGNvbnRhaW4gaW5mb3JtYXRpb24gZG9lcyB0aGF0IHBhY2tl dCBjb250YWluIGEgVkxBTiBvciBub3QuDQo+IFNvLCBpZiBlbmFibGluZyB2bGFuIHN0cmlwcGlu ZyBpcyBub3QgYW4gb3B0aW9uIGZvciB5b3UgZ3V5cywgdGhlbiBJIA0KPiBkb24ndCBzZWUgYW55 IG90aGVyIHdheSBvbiBpNDBlIHRvIHJlY29nbmlzZSBpcyB0aGF0ICBWTEFOIHBhY2tldCBvciBu b3QsIGV4Y2VwdCB0aGVuIHBhcnNlIHRoZSBwYWNrZXQgaW4gU1cuDQo+IEhlbGluLCBwbGVhc2Ug Y29ycmVjdCBtZSBoZXJlLCBpZiBJIGFtIG1pc3Npbmcgc29tZXRoaW5nIGhlcmUuDQo+IFRoYW5r cw0KPiBLb25zdGFudGluDQo+IA0KPiA+DQo+ID4gUmVnYXJkcywNCj4gPiBKb2huDQo+ID4NCj4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEFuYW55ZXYsIEtvbnN0YW50 aW4gW21haWx0bzprb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tXQ0KPiA+IFNlbnQ6IFdlZG5l c2RheSwgTWF5IDI1LCAyMDE2IDEwOjM1IEFNDQo+ID4gVG86IEpvaG4gTG8gKGxvaik7IFdpbGVz LCBLZWl0aDsgQ2hhbmRyYXNla2FyIEthbm5hbg0KPiA+IENjOiB2cHAtZGV2DQo+ID4gU3ViamVj dDogUkU6IFt2cHAtZGV2XSBWTEFOIHBhY2tldHMgZHJvcHBlZC4uLiA/DQo+ID4NCj4gPg0KPiA+ ID4NCj4gPiA+IFNpbmNlIHRoaXMgaXMgdGhlIFhMNzEwIDQwR0UgTklDLCBJIHN1cHBvc2UgdGhl IERQREsgZHJpdmVyIGludm9sdmVkIHdvdWxkIGJlIHRoZSBpNDBlIGRyaXZlciBhbmQgbm90IGl4 Z2JlIGZvciAxMEdFIE5JQ3MuDQo+ID4NCj4gPiBZZXMsIEkgdW5kZXJzdGFuZCB0aGF0IHlvdSBh cmUgZmFjaW5nIHByb2JsZW0gb24gaTQwZSwgbm90IGl4Z2JlLg0KPiA+IEFuZCB0aGUgcHJvYmxl bSBpcyB0aGF0IGZvciBpNDBlIFBLVF9SWF9WTEFOX1BLVCBmbGFnIGlzIG5vdCBzZXQgaW4gbWJ1 Zi0+b2xfZmxhZ3MsIGNvcnJlY3Q/DQo+ID4gVGhhdCdzIHdoeSBJIGFza2VkOiBhcmUgeW91IHJ1 bm5pbmcgaXQgd2l0aCAgcnRlX2V0aF9jb25mLnJ4bW9kZS5od192bGFuX3N0cmlwPT0wIG9yIG5v dD8NCj4gPiBJZiB5ZXMsIHlvdSBjYW4gdHJ5IHdpdGggcnRlX2V0aF9jb25mLnJ4bW9kZS5od192 bGFuX3N0cmlwPTEgYW5kIHNlZSB3b3VsZCBpdCBoZWxwIHlvdS4NCj4gPg0KPiA+ID4NCj4gPiA+ IEFzIGV4cGxhaW5lZCBiZWZvcmUsIGl4Z2JlIGRyaXZlciBoYWQgdGhlIGludmVyc2UgcGF0Y2gg YWRkZWQuIEl0IA0KPiA+ID4gZG9lcyByZWNvZ25pemUgVkxBTiB0YWcgaW4gdGhlIHBhY2tldCBh bmQgc2V0IFBLVF9SWF9WTEFOX1BLVCBvZmZsb2FkIGZsYWcgIHByb3Blcmx5Og0KPiA+DQo+ID4g VGhhdCBwYXRjaCBoYXMgbm90aGluZyB0byBkbyB3aXRoIFBLVF9SWF9WTEFOX1BLVCBhbmQgaTQw ZS4NCj4gPiBTbyBJIGRvbid0IHRoaW5rIGl0IGlzIHJlbGF0ZWQgdG8gdGhhdCBwcm9ibGVtIGF0 IGFsbC4NCj4gPiBLb25zdGFudGluDQo+ID4NCj4gPiA+DQo+ID4gPiAwMDowMTowMjoxMzIzNzA6 IGRwZGstaW5wdXQNCj4gPiA+ICAgVGVuR2lnYWJpdEV0aGVybmV0NS8wLzAgcnggcXVldWUgMA0K PiA+ID4gICBidWZmZXIgMHg0NGNmZjogY3VycmVudCBkYXRhIDAsIGxlbmd0aCA5NiwgZnJlZS1s aXN0IDAsIHRvdGxlbi1uaWZiIDAsIHRyYWNlIDB4MA0KPiA+ID4gICBQS1QgTUJVRjogcG9ydCAz LCBuYl9zZWdzIDEsIHBrdF9sZW4gOTYNCj4gPiA+ICAgICBidWZfbGVuIDIxNzYsIGRhdGFfbGVu IDk2LCBvbF9mbGFncyAweDEsDQo+ID4gPiAgICAgcGFja2V0X3R5cGUgMHgyMTANCj4gPiA+ICAg ICBQYWNrZXQgT2ZmbG9hZCBGbGFncw0KPiA+ID4gICAgICAgUEtUX1JYX1ZMQU5fUEtUICgweDAw MDEpIFJYIHBhY2tldCBpcyBhIDgwMi4xcSBWTEFOIHBhY2tldA0KPiA+ID4gICAgIFBhY2tldCBU eXBlcw0KPiA+ID4gICAgICAgUlRFX1BUWVBFX0wzX0lQVjQgKDB4MDAxMCkgSVB2NCBwYWNrZXQg d2l0aG91dCBleHRlbnNpb24gaGVhZGVycw0KPiA+ID4gICAgICAgUlRFX1BUWVBFX0w0X1VEUCAo MHgwMjAwKSBVRFAgcGFja2V0DQo+ID4gPiAgIElQNDogMDA6MDA6MDA6MDA6MDA6YWEgLT4gOTA6 ZTI6YmE6NmU6ZTc6ZGMgdmxhbiAxMTAxDQo+ID4gPiAgIFVEUDogMjguMC4wLjEgLT4gMjkuMC4w LjI1NA0KPiA+ID4gICAgIHRvcyAweDAwLCB0dGwgNjQsIGxlbmd0aCA3OCwgY2hlY2tzdW0gMHg0 MGExDQo+ID4gPiAgICAgZnJhZ21lbnQgaWQgMHgwMDAwDQo+ID4gPiAgIFVEUDogNjMgLT4gNjMN Cj4gPiA+ICAgICBsZW5ndGggNTgsIGNoZWNrc3VtIDB4NWI3Ng0KPiA+ID4gMDA6MDE6MDI6MTMy MzkxOiBldGhlcm5ldC1pbnB1dA0KPiA+ID4gICBJUDQ6IDAwOjAwOjAwOjAwOjAwOmFhIC0+IDkw OmUyOmJhOjZlOmU3OmRjIHZsYW4gMTEwMQ0KPiA+ID4gMDA6MDE6MDI6MTMyNDA4OiBlcnJvci1k cm9wDQo+ID4gPiAgIGV0aGVybmV0LWlucHV0OiB1bmtub3duIHZsYW4NCj4gPiA+DQo+ID4gPiBZ b3UgY2FuIHNlZSBmcm9tIGFib3ZlIHRoZSBwYWNrZXQgd2FzIHBhc3NlZCB0byBldGhlcm5ldC1p bnB1dCANCj4gPiA+IG5vZGUgYW5kIGRyb3BwZWQgYmVjYXVzZSBzdWItaW50ZXJmYWNlIGZvciBW TEFOIDExMDEgaXMgbm90IHNldCB1cC4NCj4gPiA+DQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gSm9o bg0KPiA+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBB bmFueWV2LCBLb25zdGFudGluIFttYWlsdG86a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbV0N Cj4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDI1LCAyMDE2IDQ6NDYgQU0NCj4gPiA+IFRvOiBK b2huIExvIChsb2opOyBXaWxlcywgS2VpdGg7IENoYW5kcmFzZWthciBLYW5uYW4NCj4gPiA+IENj OiB2cHAtZGV2DQo+ID4gPiBTdWJqZWN0OiBSRTogW3ZwcC1kZXZdIFZMQU4gcGFja2V0cyBkcm9w cGVkLi4uID8NCj4gPiA+DQo+ID4gPg0KPiA+ID4gSGksDQo+ID4gPiBJIGRvbuKAmXQgdGhpbmsg cHR5cGUgcmVjb2duaXRpb24gb24gaXhnYmUgdlJYIGlzIHNvbWVob3cgcmVsYXRlZCB0byB0aGF0 Lg0KPiA+ID4gQXJlIHlvdSBndXlzIHJ1bm5pbmcgRlZMIHdpdGggcnRlX2V0aF9jb25mLnJ4bW9k ZS5od192bGFuX3N0cmlwPT0wPw0KPiA+ID4gSWYgc28sIGNhbiB5b3Ugc2V0IGl0IHRvIDEgYW5k IHNlZSB3b3VsZCBpdCBoZWxwPw0KPiA+ID4gS29uc3RhbnRpbg0KPiA+ID4NCj4gPiA+IEZyb206 IHZwcC1kZXYtYm91bmNlc0BsaXN0cy5mZC5pbw0KPiA+ID4gW21haWx0bzp2cHAtZGV2LWJvdW5j ZXNAbGlzdHMuZmQuaW9dDQo+ID4gPiBPbiBCZWhhbGYgT2YgSm9obiBMbyAobG9qKQ0KPiA+ID4g U2VudDogV2VkbmVzZGF5LCBNYXkgMjUsIDIwMTYgMTo1NiBBTQ0KPiA+ID4gVG86IFdpbGVzLCBL ZWl0aDsgQ2hhbmRyYXNla2FyIEthbm5hbg0KPiA+ID4gQ2M6IHZwcC1kZXYNCj4gPiA+IFN1Ympl Y3Q6IFJlOiBbdnBwLWRldl0gVkxBTiBwYWNrZXRzIGRyb3BwZWQuLi4gPw0KPiA+ID4NCj4gPiA+ IEkgZGlkIHB1dCBpbiBhIHJldmVyc2UgcGF0Y2gsIHByb3ZpZGVkIGJ5IERhbWphbiwgZm9yIHRo aXMgaW4gZmQuaW86DQo+ID4gPiBodHRwczovL2dlcnJpdC5mZC5pby9yLyMvYy85NDEvMS9kcGRr L2RwZGstMTYuMDRfcGF0Y2hlcy8wMDEzLVJldmUNCj4gPiA+IHJ0IC1pIHhnYmUtZml4LXBhY2tl dC10eXBlLWZyb20tdmVjdG9yLVJ4LnBhdGNoDQo+ID4gPg0KPiA+ID4gSSBrbm93IHRoaXMgZml4 ZWQgdGhlIDEwR0UgTklDIGJlaGF2aW9yLiBQZXJoYXBzIHRoZSA0MEdFIE5JQyBpcyB1c2luZyBh IGRpZmZlcmVudCBEUERLIGRyaXZlcj8NCj4gPiA+DQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gSm9o bg0KPiA+ID4NCj4gPiA+IEZyb206IFdpbGVzLCBLZWl0aCBbbWFpbHRvOmtlaXRoLndpbGVzQGlu dGVsLmNvbV0NCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIE1heSAyNCwgMjAxNiA4OjMwIFBNDQo+ID4g PiBUbzogSm9obiBMbyAobG9qKTsgQ2hhbmRyYXNla2FyIEthbm5hbg0KPiA+ID4gQ2M6IHZwcC1k ZXYNCj4gPiA+IFN1YmplY3Q6IFJlOiBbdnBwLWRldl0gVkxBTiBwYWNrZXRzIGRyb3BwZWQuLi4g Pw0KPiA+ID4NCj4gPiA+DQo+ID4gPiBUaGUgY29tbWl0IElEIGlzDQo+ID4gPg0KPiA+ID4gY29t bWl0IGQ5YTIwMDlhODEwODkwOTM2NDVmZWEyZTA0YjUxZGQzN2VkZjNlNmYNCj4gPiA+IEF1dGhv cjogS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0KPiA+ ID4gRGF0ZTrCoMKgIFR1ZSBNYXIgMjIgMTQ6MzA6MTcgMjAxNiArMDAwMA0KPiA+ID4NCj4gPiA+ IMKgwqDCoCBpeGdiZTogZml4IHBhY2tldCB0eXBlIGZyb20gdmVjdG9yIFJ4DQo+ID4gPg0KPiA+ ID4gwqDCoMKgwqBDdXJyZW50IHZlY3RvciBSWCBjYW4ndCBhbHdheXMgc2V0IHRoZSBwYWNrZXRf dHlwZSBwcm9wZXJseS4NCj4gPiA+IMKgwqDCoCBUbyBiZSBtb3JlIHNwZWNpZmljOg0KPiA+ID4g wqDCoMKgIGEpIGl0IG5ldmVyIHNldHMgUlRFX1BUWVBFX0wyX0VUSEVSDQo+ID4gPiDCoMKgwqAg YikgaXQgZG9lc24ndCBoYW5kbGUgdHVubmVsIGlwdjQvaXB2NiBjYXNlIGNvcnJlY3RseS4NCj4g PiA+IMKgwqDCoCBjKSBpdCBkb2Vzbid0IGNoZWNrIGlzIElYR0JFX1JYREFEVl9QS1RUWVBFX0VU UUYgc2V0IG9yIG5vdC4NCj4gPiA+IMKgwqDCoCBXaGlsZSBhKSBpcyBwcmV0dHkgZWFzeSB0byBm aXgsIGIpIGFuZCBjKSBhcmUgbm90IHRoYXQgDQo+ID4gPiBzdHJhaWdodGZvcndhcmQNCj4gPiA+ IMKgwqDCoCBpbiB0ZXJtcyBvZiBTSU1EIG9wcyAoc3BlY2lhbGx5IGIpLg0KPiA+ID4gwqDCoMKg IFNvIGZhciBJIHdhc24ndCBhYmxlIHRvIG1ha2UgdlJYIHN1cHBvcnQgcGFja2V0X3R5cGUgcHJv cGVybHkgDQo+ID4gPiB3aXRob3V0DQo+ID4gPiDCoMKgwqAgbm90aWNlYWJsZSBwZXJmb3JtYW5j ZSBsb3NzLg0KPiA+ID4gwqDCoMKgIFNvIGZvciBub3csIGp1c3QgcmVtb3ZlIHRoYXQgZnVuY3Rp b25hbGl0eSBmcm9tIHZlY3RvciBSWCBhbmQNCj4gPiA+IMKgwqDCoCB1cGRhdGUgZGV2X3N1cHBv cnRlZF9wdHlwZXNfZ2V0KCkuDQo+ID4gPg0KPiA+ID4gwqDCoMKgwqBGaXhlczogMzk2MjU0MTc1 ODU0ICgibWJ1ZjogcmVkZWZpbmUgcGFja2V0IHR5cGUiKQ0KPiA+ID4NCj4gPiA+IMKgwqDCoMKg U2lnbmVkLW9mZi1ieTogS29uc3RhbnRpbiBBbmFueWV2IA0KPiA+ID4gPGtvbnN0YW50aW4uYW5h bnlldkBpbnRlbC5jb20+DQo+ID4gPiDCoCDCoMKgQWNrZWQtYnk6IEN1bm1pbmcgTGlhbmcgPGN1 bm1pbmcubGlhbmdAaW50ZWwuY29tPg0KPiA+ID4NCj4gPiA+IEl0IGFwcGVhcnMgdGhlIGNoYW5n ZSB3YXMgb25seSBkb3duIHRvIHRoZSB2ZWN0b3IgdmVyc2lvbiBpbiB0aGUgUlggcm91dGluZSwg Y291bGQgbW92ZSB0byB0aGUgbm9uZS12ZWN0b3IgdmVyc2lvbiBJIGd1ZXNzLg0KPiA+ID4NCj4g PiA+IEkgd291bGQgdGhpbmsgYWRkaW5nIGEgcGF0Y2ggb3IgYWRkaW5nIHRoZSBjb2RlIHRvIFZQ UCBEUERLIGluaXQgdG8gdXNlIHRoZSBSWCBjYWxsYmFjayB0byBzZXR1cCB0aGluZ3MgY29ycmVj dGx5Lg0KPiA+ID4NCj4gPiA+IFJlZ2FyZHMsDQo+ID4gPiBLZWl0aA0KPiA+ID4NCj4gPiA+DQo+ ID4gPiBGcm9tOiA8dnBwLWRldi1ib3VuY2VzQGxpc3RzLmZkLmlvPiBvbiBiZWhhbGYgb2YgS2Vp dGggV2lsZXMgDQo+ID4gPiA8a2VpdGgud2lsZXNAaW50ZWwuY29tPg0KPiA+ID4gRGF0ZTogVHVl c2RheSwgTWF5IDI0LCAyMDE2IGF0IDc6MTkgUE0NCj4gPiA+IFRvOiAiSm9obiBMbyAobG9qKSIg PGxvakBjaXNjby5jb20+LCBDaGFuZHJhc2VrYXIgS2FubmFuIA0KPiA+ID4gPGNrYW5uYW5AY29u c29sZS50bz4NCj4gPiA+IENjOiB2cHAtZGV2IDx2cHAtZGV2QGxpc3RzLmZkLmlvPg0KPiA+ID4g U3ViamVjdDogUmU6IFt2cHAtZGV2XSBWTEFOIHBhY2tldHMgZHJvcHBlZC4uLiA/DQo+ID4gPg0K PiA+ID4NCj4gPiA+IEhlcmUgaXMgdGhlIHN0YXJ0aW5nIHRocmVhZDoNCj4gPiA+IGh0dHA6Ly9k cGRrLm9yZy9tbC9hcmNoaXZlcy9kZXYvMjAxNi1BcHJpbC8wMzc4MzcuaHRtbA0KPiA+ID4NCj4g PiA+DQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gS2VpdGgNCj4gPiA+DQo+ID4gPg0KPiA+ID4gRnJv bTogPHZwcC1kZXYtYm91bmNlc0BsaXN0cy5mZC5pbz4gb24gYmVoYWxmIG9mIEtlaXRoIFdpbGVz IA0KPiA+ID4gPGtlaXRoLndpbGVzQGludGVsLmNvbT4NCj4gPiA+IERhdGU6IFR1ZXNkYXksIE1h eSAyNCwgMjAxNiBhdCA3OjE2IFBNDQo+ID4gPiBUbzogIkpvaG4gTG8gKGxvaikiIDxsb2pAY2lz Y28uY29tPiwgQ2hhbmRyYXNla2FyIEthbm5hbiANCj4gPiA+IDxja2FubmFuQGNvbnNvbGUudG8+ DQo+ID4gPiBDYzogdnBwLWRldiA8dnBwLWRldkBsaXN0cy5mZC5pbz4NCj4gPiA+IFN1YmplY3Q6 IFJlOiBbdnBwLWRldl0gVkxBTiBwYWNrZXRzIGRyb3BwZWQuLi4gPw0KPiA+ID4NCj4gPiA+IFRo ZSBmbGFncyBpbiB0aGUgcnRlX21idWYgd2VyZSBjaGFuZ2VkIGEgYmVmb3JlIDE2LjA0LCB3aGlj aCANCj4gPiA+IHJlbW92ZWQgdGhlIHB0eXBlIHRlc3RpbmcgYW5kIHBvc3NpYmxlIHNldHRpbmcg dGhpcyBmbGFnLiBJIHRob3VnaHQgYSBwYXRjaCB0byByZXZlcnQgdGhhdCBjaGFuZ2Ugd2FzIGRv bmUsIGRpZCB0aGF0IG5vdCBoYXBwZW4uDQo+ID4gPg0KPiA+ID4gVGhlIG90aGVyIHNvbHV0aW9u IGlzIHRvIGFkZCBhbiBvcHRpb24gdG8gRFBESyB0byByZXN0b3JlIHRoZSANCj4gPiA+IHByZXZp b3VzIGJlaGF2aW9yIGZvciB0aGlzIHR5cGUgb2YgcHJvYmxlbS4gVGhlIG9ubHkgb3RoZXIgd2F5 IGlzIA0KPiA+ID4gdG8gaGF2ZSBhIGluc3RhbGxlZCBpbiB0aGUgUE1EIHRvIHNldHVwIHRoZSBm bGFncyBjb3JyZWN0bHkgZm9yIFZQUC4NCj4gPiA+IFRoaXMgd291bGQgcmVxdWlyZSBhZGRpbmcg YSByb3V0aW5lIHRvIFZQUCBhbmQgc2V0dGluZyB0aGUgY2FsbCANCj4gPiA+IGJhY2sgaW4gdGhl DQo+ID4gZHJpdmVyLg0KPiA+ID4NCj4gPiA+IEkgcmVhbGx5IHRob3VnaHQgYSBwYXRjaCB3YXMg Y3JlYXRlZCwgZG9lcyBhbnlvbmUga25vdz8NCj4gPiA+DQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4g S2VpdGgNCj4gPiA+DQo+ID4gPg0KPiA+ID4gRnJvbTogIkpvaG4gTG8gKGxvaikiIDxsb2pAY2lz Y28uY29tPg0KPiA+ID4gRGF0ZTogVHVlc2RheSwgTWF5IDI0LCAyMDE2IGF0IDY6NTMgUE0NCj4g PiA+IFRvOiBDaGFuZHJhc2VrYXIgS2FubmFuIDxja2FubmFuQGNvbnNvbGUudG8+DQo+ID4gPiBD YzogS2VpdGggV2lsZXMgPGtlaXRoLndpbGVzQGludGVsLmNvbT4sIHZwcC1kZXYgDQo+ID4gPiA8 dnBwLWRldkBsaXN0cy5mZC5pbz4NCj4gPiA+IFN1YmplY3Q6IFJFOiBbdnBwLWRldl0gVkxBTiBw YWNrZXRzIGRyb3BwZWQuLi4gPw0KPiA+ID4NCj4gPiA+IEkgYmVsaWV2ZSB0aGUgcHJvYmxlbSBp cyBkdWUgdG8gNDBHRSBEUERLIGRyaXZlciBub3QgcGFyc2luZyBWTEFOIA0KPiA+ID4gcGFja2V0 IHByb3Blcmx5IGFuZCBzZXR0aW5nIHRoZSBwYWNrZXQgb2ZmbG9hZCBmbGFnIA0KPiA+ID4gUEtU X1JYX1ZMQU5fUEtULCBjYXVzaW5nIGRwZGstaW5wdXQgbm9kZSB0byBzZW5kIHBhY2tldCBkaXJl Y3RseSANCj4gPiA+IHRvIGlwNC1pbnB1dCBpbnN0ZWFkIG9mIGV0aGVybmV0LWlucHV0LiBJZiB0 aGlzIGZsYWcgaXMgc2V0LCB0aGVuIA0KPiA+ID4gdGhlIHBhY2tldCB3aWxsIGJlIHBhc3NlZCB0 byBldGhlcm5ldC1pbnB1dCB3aGljaCB3aWxsIHRoZW4gcGFyc2UgDQo+ID4gPiB0aGUgVkxBTiB0 YWcgaW4gdGhlDQo+ID4gcGFja2V0IHRvIHBlcmZvcm0gc3ViLWludGVyZmFjZSBsb29rdXAgYW5k IGZpbmQgdGhlIHN0YXJ0IG9mIElQIA0KPiA+IGhlYWRlciBpbiB0aGUgcGFja2V0IHByb3Blcmx5 LiBGb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSB0cmFjZSBvZiBhIGNvcnJlY3RseSBtYXJrZWQgcGFj a2V0Og0KPiA+ID4NCj4gPiA+IDIzOjExOjA5Ojg1NTkxNjogZHBkay1pbnB1dA0KPiA+ID4gwqAg VGVuR2lnRTAvMC8wLzAgcnggcXVldWUgMA0KPiA+ID4gwqAgYnVmZmVyIDB4MjNmNmMwOiBjdXJy ZW50IGRhdGEgMCwgbGVuZ3RoIDExOCwgZnJlZS1saXN0IDAsIA0KPiA+ID4gdG90bGVuLW5pZmIg MCwgdHJhY2UgMHgwDQo+ID4gPiDCoCBQS1QgTUJVRjogcG9ydCAwLCBuYl9zZWdzIDEsIHBrdF9s ZW4gMTE4DQo+ID4gPiDCoMKgwqAgYnVmX2xlbiAyMTc2LCBkYXRhX2xlbiAxMTgsIG9sX2ZsYWdz IDB4MSwNCj4gPiA+IMKgwqDCoCBwYWNrZXRfdHlwZSAweDEwDQo+ID4gPiDCoMKgwqAgUGFja2V0 IE9mZmxvYWQgRmxhZ3MNCj4gPiA+IMKgwqDCoMKgwqAgUEtUX1JYX1ZMQU5fUEtUICgweDAwMDEp IFJYIHBhY2tldCBpcyBhIDgwMi4xcSBWTEFOIHBhY2tldA0KPiA+ID4gwqDCoMKgIFBhY2tldCBU eXBlcw0KPiA+ID4gwqDCoMKgwqDCoCBSVEVfUFRZUEVfTDNfSVBWNCAoMHgwMDEwKSBJUHY0IHBh Y2tldCB3aXRob3V0IGV4dGVuc2lvbiANCj4gPiA+IGhlYWRlcnMNCj4gPiA+IMKgIElQNDogNzQ6 YTA6MmY6ZTI6ZDU6MTQgLT4gOTA6ZTI6YmE6OWY6OGI6Y2MgdmxhbiAxMDENCj4gPiA+IMKgIElD TVA6IDEzMC4xLjEuMSAtPiAxMzAuMS4xLjINCj4gPiA+IMKgwqDCoCB0b3MgMHgwMCwgdHRsIDI1 NSwgbGVuZ3RoIDEwMCwgY2hlY2tzdW0gMHhhYzRiDQo+ID4gPiDCoMKgwqAgZnJhZ21lbnQgaWQg MHgwOTQ4DQo+ID4gPiDCoCBJQ01QIGVjaG9fcmVxdWVzdCBjaGVja3N1bSAweDkwMGQNCj4gPiA+ DQo+ID4gPiBIb3Bpbmcgc29tZW9uZSBmYW1pbGlhciB3aXRoIHRoZSA0MEdFIERQREsgZHJpdmVy IGNhbiBjb21tZW50IGZ1cnRoZXIuDQo+ID4gPg0KPiA+ID4gUmVnYXJkcywNCj4gPiA+IEpvaG4N Cj4gPiA+DQo+ID4gPiBGcm9tOiBDaGFuZHJhc2VrYXIgS2FubmFuIFttYWlsdG86Y2thbm5hbkBj b25zb2xlLnRvXQ0KPiA+ID4gU2VudDogVHVlc2RheSwgTWF5IDI0LCAyMDE2IDY6NTcgUE0NCj4g PiA+IFRvOiBKb2huIExvIChsb2opDQo+ID4gPiBDYzogV2lsZXMsIEtlaXRoOyB2cHAtZGV2DQo+ ID4gPiBTdWJqZWN0OiBSZTogW3ZwcC1kZXZdIFZMQU4gcGFja2V0cyBkcm9wcGVkLi4uID8NCj4g PiA+DQo+ID4gPiBZZXMuIFN1YmludGVyZmFjZSBoYXMgYmVlbiBjb25maWd1cmVkIGxpa2UgdGhp cyDCoC4uLg0KPiA+ID4NCj4gPiA+IHZwcGN0bCBzZXQgaW50ZXJmYWNlIGlwIGFkZHJlc3MgZGVs IEZvcnR5R2lnYWJpdEV0aGVybmV0ODMvMC8wIGFsbCANCj4gPiA+IHZwcGN0bCBjcmVhdGUgc3Vi IEZvcnR5R2lnYWJpdEV0aGVybmV0ODMvMC8wIDkwMCB2cHBjdGwgc2V0IA0KPiA+ID4gaW50ZXJm YWNlIGlwIGFkZHJlc3MgRm9ydHlHaWdhYml0RXRoZXJuZXQ4My8wLzAuOTAwIDYuMC4wLjEvMjQg DQo+ID4gPiB2cHBjdGwgc2V0IGludGVyZmFjZSBpcCBhZGRyZXNzIEZvcnR5R2lnYWJpdEV0aGVy bmV0ODMvMC8wLjkwMA0KPiA+ID4gNy4wLjAuMS8yNCB2cHBjdGwgc2V0IGludGVyZmFjZSBzdGF0 ZSBGb3J0eUdpZ2FiaXRFdGhlcm5ldDgzLzAvMCANCj4gPiA+IHVwIHZwcGN0bCBzZXQgaW50ZXJm YWNlIHN0YXRlIEZvcnR5R2lnYWJpdEV0aGVybmV0ODMvMC8wLjkwMCB1cCANCj4gPiA+IHZwcGN0 bCBzZXQgaXAgYXJwIHN0YXRpYw0KPiA+ID4gRm9ydHlHaWdhYml0RXRoZXJuZXQ4My8wLzAuOTAw IDcuMC4wLjIgM2M6ZmQ6ZmU6OWM6YzM6ODgNCj4gPiA+DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gUGFja2V0IDQNCj4gPiA+ DQo+ID4gPiAwMDowMjoyMzozNjY4Nzk6IGRwZGstaW5wdXQNCj4gPiA+IMKgIEZvcnR5R2lnYWJp dEV0aGVybmV0ODMvMC8wIHJ4IHF1ZXVlIDANCj4gPiA+IMKgIGJ1ZmZlciAweDEwZTZiOiBjdXJy ZW50IGRhdGEgMTQsIGxlbmd0aCA1MCwgZnJlZS1saXN0IDAsIA0KPiA+ID4gdG90bGVuLW5pZmIg MCwgdHJhY2UgMHgzDQo+ID4gPiDCoCBQS1QgTUJVRjogcG9ydCAwLCBuYl9zZWdzIDEsIHBrdF9s ZW4gNjQNCj4gPiA+IMKgIMKgIGJ1Zl9sZW4gMjE3NiwgZGF0YV9sZW4gNjQsIG9sX2ZsYWdzIDB4 MCwNCj4gPiA+IMKgIMKgIHBhY2tldF90eXBlIDB4MjkxDQo+ID4gPiDCoCDCoCBQYWNrZXQgVHlw ZXMNCj4gPiA+IMKgIMKgIMKgIFJURV9QVFlQRV9MMl9FVEhFUiAoMHgwMDAxKSBFdGhlcm5ldCBw YWNrZXQNCj4gPiA+IMKgIMKgIMKgIFJURV9QVFlQRV9MM19JUFY0X0VYVF9VTktOT1dOICgweDAw OTApIElQdjQgcGFja2V0IHdpdGggb3IgDQo+ID4gPiB3aXRob3V0IGV4dGVuc2lvbiBoZWFkZXJz DQo+ID4gPiDCoCDCoCDCoCBSVEVfUFRZUEVfTDRfVURQICgweDAyMDApIFVEUCBwYWNrZXQNCj4g PiA+IMKgIElQNDogM2M6ZmQ6ZmU6OWM6YzM6ODggLT4gM2M6ZmQ6ZmU6OWQ6YTA6MjAgdmxhbiA5 MDANCj4gPiA+IMKgIFVEUDogNi4wLjAuMiAtPiA3LjAuMC4yDQo+ID4gPiDCoCDCoCB0b3MgMHgw MCwgdHRsIDY0LCBsZW5ndGggNDYsIGNoZWNrc3VtIDB4MmRiYw0KPiA+ID4gwqAgwqAgZnJhZ21l bnQgaWQgMHgwMDAwLCBmbGFncyBET05UX0ZSQUdNRU5UDQo+ID4gPiDCoCBVRFA6IDEwMjQgLT4g MjAwMQ0KPiA+ID4gwqAgwqAgbGVuZ3RoIDI2LCBjaGVja3N1bSAweDAwMDANCj4gPiA+IDAwOjAy OjIzOjM2Njg5NDogaXA0LWlucHV0LW5vLWNoZWNrc3VtDQo+ID4gPiDCoCBJUDZfSE9QX0JZX0hP UF9PUFRJT05TOiA2NC4xNy40NS4xODggLT4gNi4wLjAuMg0KPiA+ID4gwqAgwqAgdmVyc2lvbiAw LCBoZWFkZXIgbGVuZ3RoIDEyDQo+ID4gPiDCoCDCoCB0b3MgMHg4NCwgdHRsIDAsIGxlbmd0aCAy MDQ4LCBjaGVja3N1bSAweDQwMDAgKHNob3VsZCBiZSANCj4gPiA+IDB4YWY0ZCkNCj4gPiA+IMKg IMKgIGZyYWdtZW50IGlkIDB4NDUwMCBvZmZzZXQgMzY4LCBmbGFncw0KPiA+ID4gMDA6MDI6MjM6 MzY2OTEwOiBlcnJvci1kcm9wDQo+ID4gPiDCoCBpcDQtaW5wdXQ6IGlwNCBsZW5ndGggPiBsMiBs ZW5ndGgNCj4gPiA+DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gT24g VHVlLCBNYXkgMjQsIDIwMTYgYXQgMzoxMiBQTSwgSm9obiBMbyAobG9qKSA8bG9qQGNpc2NvLmNv bT4gd3JvdGU6DQo+ID4gPiBXYXMgYSBzdWItaW50ZXJmYWNlIGNyZWF0ZWQgd2l0aCB0aGUgZXhw ZWN0ZWQgVkxBTiB0YWcgOTAwPyBBbiANCj4gPiA+IGV4YW1wbGUgb2YgY3JlYXRpbmcgYSBzdWIt aW50ZXJmYWNlIGFuZCBicmluZyBpdCB1cCB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZToNCj4gPiA+ DQo+ID4gPiBjcmVhdGUgc3ViIEdpZ2FiaXRFdGhlcm5ldDEvMC8wIDkwMCBzZXQgaW50IHN0YXRl IA0KPiA+ID4gR2lnYWJpdEV0aGVybmV0MS8wLzAgdXAgc2V0IGludCBzdGF0ZQ0KPiA+ID4gR2ln YWJpdEV0aGVybmV0MS8wLzAuOTAwIHVwDQo+ID4gPg0KPiA+ID4gUmVnYXJkcywNCj4gPiA+IEpv aG4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gRnJvbTogdnBwLWRldi1ib3VuY2VzQGxpc3RzLmZkLmlv DQo+ID4gPiBbbWFpbHRvOnZwcC1kZXYtYm91bmNlc0BsaXN0cy5mZC5pb10NCj4gPiA+IE9uIEJl aGFsZiBPZiBXaWxlcywgS2VpdGgNCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIE1heSAyNCwgMjAxNiA1 OjU5IFBNDQo+ID4gPiBUbzogQ2hhbmRyYXNla2FyIEthbm5hbjsgdnBwLWRldg0KPiA+ID4gU3Vi amVjdDogUmU6IFt2cHAtZGV2XSBWTEFOIHBhY2tldHMgZHJvcHBlZC4uLiA/DQo+ID4gPg0KPiA+ ID4gSSBhbSBzdGFydGluZyB0byB0aGluayB0aGUgdW5rbm93biBWTEFOIGlzIG5vdCBhY2NvdW50 ZWQgZm9yIGluIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBpbnB1dCBmcmFtZSBpbiB0aGUgVlBQIERQ REsgaW50ZXJmYWNlIGNvZGUuDQo+ID4gPiB2bmV0L3ZuZXQvZGV2aWNlcy9kcGRrL25vZGUuYw0K PiA+ID4NCj4gPiA+IFRoZSB2ZXJzaW9uIGFuZCBoZWFkZXIgbGVuZ3RoIGFyZSB3cm9uZyBpbiB0 aGUgb3V0cHV0IGJlbG93LCB3aGljaCANCj4gPiA+IGxlYWRzIG1lIHRvIGJlbGlldmUgdGhlIHN0 YXJ0aW5nIElQdjQgaGVhZGVyIGxvY2F0aW9uIGlzIHdyb25nLiBJIA0KPiA+ID4gaGF2ZSBub3Qg cGFyc2VkIGFsbCBvZiB0aGUgY29kZSBpbiBub2RlLmM6ZHBka19kZXZpY2VfaW5wdXQoKSB5ZXQs IA0KPiA+ID4gYnV0IEkgZG8gbm90IHRoaW5rIHRoZSBsM19vZmZzZXQgaXMgYmVpbmcgYWRqdXN0 ZWQgdG8gdGhlIGNvcnJlY3QNCj4gPiBvZmZzZXQ/Pz8/DQo+ID4gPg0KPiA+ID4gUmVnYXJkcywN Cj4gPiA+IEtlaXRoDQo+ID4gPg0KPiA+ID4NCj4gPiA+IEZyb206IDx2cHAtZGV2LWJvdW5jZXNA bGlzdHMuZmQuaW8+IG9uIGJlaGFsZiBvZiBDaGFuZHJhc2VrYXIgDQo+ID4gPiBLYW5uYW4gPGNr YW5uYW5AY29uc29sZS50bz4NCj4gPiA+IERhdGU6IFR1ZXNkYXksIE1heSAyNCwgMjAxNiBhdCAz OjQwIFBNDQo+ID4gPiBUbzogdnBwLWRldiA8dnBwLWRldkBsaXN0cy5mZC5pbz4NCj4gPiA+IFN1 YmplY3Q6IFt2cHAtZGV2XSBWTEFOIHBhY2tldHMgZHJvcHBlZC4uLiA/DQo+ID4gPg0KPiA+ID4g SGksDQo+ID4gPg0KPiA+ID4gSSB3YXMgdHJ5aW5nIHRvIHNldHVwIFZMQU4gc3ViaW50ZXJmYWNl cyB3aXRoIFZQUCBidXQgaXQgYXBwZWFycyANCj4gPiA+IHRoZSBwYWNrZXRzIGFyZSBkcm9wcGVk IGF0IGluZ3Jlc3MuwqAgSSdtIHRyaWVkIHdpdGggYm90aCANCj4gPiA+IHBrdGdlbi1kcGRrIGFu ZCB0cmV4IGZvciB0cmFmZmljIGdlbmVyYXRpb24ganVzdCB0byBydWxlIG91dCBhbnkgDQo+ID4g PiBjb3JydXB0aW9uIHdpdGgNCj4gPiBwa3QgZ2VuZXJhdGlvbi4gQnV0IGJvdGggYXJlIHByb2R1 Y2luZyB0aGUgc2FtZSBlcnJvcnMgd2l0aCB2cHAuDQo+ID4gPg0KPiA+ID4geWFtbCBmaWxlIGZy b20gdHJleC4uLg0KPiA+ID4NCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiA+ID4gW3Jvb3RAbm9kZTA0IHNjcmlwdHNdIyBjYXQgY2FwMi9pcHY0X3ZsYW4ueWFtbA0KPiA+ ID4gLSBkdXJhdGlvbiA6IDEwDQo+ID4gPiDCoCBnZW5lcmF0b3IgOg0KPiA+ID4gwqAgwqAgwqAg wqAgwqAgZGlzdHJpYnV0aW9uIDogInNlcSINCj4gPiA+IMKgIMKgIMKgIMKgIMKgIGNsaWVudHNf c3RhcnQgOiAiMTYuMC4wLjEiDQo+ID4gPiDCoCDCoCDCoCDCoCDCoCBjbGllbnRzX2VuZCDCoCA6 ICIxNi4wLjEuMjU1Ig0KPiA+ID4gwqAgwqAgwqAgwqAgwqAgc2VydmVyc19zdGFydCA6ICI0OC4w LjAuMSINCj4gPiA+IMKgIMKgIMKgIMKgIMKgIHNlcnZlcnNfZW5kIMKgIDogIjQ4LjAuMC4yNTUi DQo+ID4gPiDCoCDCoCDCoCDCoCDCoCBjbGllbnRzX3Blcl9nYiA6IDIwMQ0KPiA+ID4gwqAgwqAg wqAgwqAgwqAgbWluX2NsaWVudHMgwqAgwqA6IDEwMQ0KPiA+ID4gwqAgwqAgwqAgwqAgwqAgZHVh bF9wb3J0X21hc2sgOiAiMS4wLjAuMCINCj4gPiA+IMKgIMKgIMKgIMKgIMKgIHRjcF9hZ2luZyDC oCDCoCDCoDogMQ0KPiA+ID4gwqAgwqAgwqAgwqAgwqAgdWRwX2FnaW5nIMKgIMKgIMKgOiAxDQo+ ID4gPiDCoCBtYWMgwqAgwqAgwqAgwqA6IFsweDAsMHgwLDB4MCwweDEsMHgwLDB4MDBdDQo+ID4g PiDCoCB2bGFuIMKgIMKgIMKgIDogeyBlbmFibGUgOiAxIMKgLCDCoHZsYW4wIDogOTAwICwgdmxh bjEgOiAxMTAwIH0NCj4gPiA+IMKgIGNhcF9pbmZvIDoNCj4gPiA+IMKgIMKgIMKgLSBuYW1lOiBj YXAyL3VkcF82NEIucGNhcA0KPiA+ID4gwqAgwqAgwqAgwqBjcHMgwqAgOiAxMDAwLjANCj4gPiA+ IMKgIMKgIMKgIMKgaXBnIMKgIDogMTAwMDANCj4gPiA+IMKgIMKgIMKgIMKgcnR0IMKgIDogMTAw MDANCj4gPiA+IMKgIMKgIMKgIMKgdyDCoCDCoCA6IDQNCj4gPiA+IMKgIMKgIMKgIMKgbGltaXQg OiAyMA0KPiA+ID4gW3Jvb3RAbm9kZTA0IHNjcmlwdHNdIw0KPiA+ID4gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPg0K PiA+ID4gdnBwIHRyYWNlLi4uDQo+ID4gPg0KPiA+ID4gMDA6MDI6MjE6NTc2ODEwOiBkcGRrLWlu cHV0DQo+ID4gPiDCoCBGb3J0eUdpZ2FiaXRFdGhlcm5ldDgzLzAvMCByeCBxdWV1ZSAwDQo+ID4g PiDCoCBidWZmZXIgMHgxMGU2YjogY3VycmVudCBkYXRhIDE0LCBsZW5ndGggNTAsIGZyZWUtbGlz dCAwLCANCj4gPiA+IHRvdGxlbi1uaWZiIDAsIHRyYWNlIDB4MQ0KPiA+ID4gwqAgUEtUIE1CVUY6 IHBvcnQgMCwgbmJfc2VncyAxLCBwa3RfbGVuIDY0DQo+ID4gPiDCoCDCoCBidWZfbGVuIDIxNzYs IGRhdGFfbGVuIDY0LCBvbF9mbGFncyAweDAsDQo+ID4gPiDCoCDCoCBwYWNrZXRfdHlwZSAweDI5 MQ0KPiA+ID4gwqAgwqAgUGFja2V0IFR5cGVzDQo+ID4gPiDCoCDCoCDCoCBSVEVfUFRZUEVfTDJf RVRIRVIgKDB4MDAwMSkgRXRoZXJuZXQgcGFja2V0DQo+ID4gPiDCoCDCoCDCoCBSVEVfUFRZUEVf TDNfSVBWNF9FWFRfVU5LTk9XTiAoMHgwMDkwKSBJUHY0IHBhY2tldCB3aXRoIG9yIA0KPiA+ID4g d2l0aG91dCBleHRlbnNpb24gaGVhZGVycw0KPiA+ID4gwqAgwqAgwqAgUlRFX1BUWVBFX0w0X1VE UCAoMHgwMjAwKSBVRFAgcGFja2V0DQo+ID4gPiDCoCBJUDQ6IDNjOmZkOmZlOjljOmMzOjg4IC0+ IDNjOmZkOmZlOjlkOmEwOjIwIHZsYW4gOTAwDQo+ID4gPiDCoCBVRFA6IDE2LjAuMS4wIC0+IDQ4 LjAuMC4xMjgNCj4gPiA+IMKgIMKgIHRvcyAweDAwLCB0dGwgNjQsIGxlbmd0aCA0NiwgY2hlY2tz dW0gMHhmOTNmDQo+ID4gPiDCoCDCoCBmcmFnbWVudCBpZCAweDAwMDAsIGZsYWdzIERPTlRfRlJB R01FTlQNCj4gPiA+IMKgIFVEUDogMTAyNCAtPiAyMDAxDQo+ID4gPiDCoCDCoCBsZW5ndGggMjYs IGNoZWNrc3VtIDB4MDAwMA0KPiA+ID4gMDA6MDI6MjE6NTc2ODE3OiBpcDQtaW5wdXQtbm8tY2hl Y2tzdW0NCj4gPiA+IMKgIElQNl9IT1BfQllfSE9QX09QVElPTlM6IDY0LjE3LjI0OS42MyAtPiAx Ni4wLjEuMA0KPiA+ID4gwqAgwqAgdmVyc2lvbiAwLCBoZWFkZXIgbGVuZ3RoIDEyDQo+ID4gPiDC oCDCoCB0b3MgMHg4NCwgdHRsIDAsIGxlbmd0aCAyMDQ4LCBjaGVja3N1bSAweDQwMDAgKHNob3Vs ZCBiZSANCj4gPiA+IDB4YWY0ZCkNCj4gPiA+IMKgIMKgIGZyYWdtZW50IGlkIDB4NDUwMCBvZmZz ZXQgMzY4LCBmbGFncw0KPiA+ID4gMDA6MDI6MjE6NTc2ODI4OiBlcnJvci1kcm9wDQo+ID4gPiDC oCBpcDQtaW5wdXQ6IGlwNCBsZW5ndGggPiBsMiBsZW5ndGgNCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0K PiA+ID4NCg0K