From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web08.5086.1608698413361272462 for ; Tue, 22 Dec 2020 20:40:13 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=oWLICE2P; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=0626e1097a=abner.chang@hpe.com) Received: from pps.filterd (m0148663.ppops.net [127.0.0.1]) by mx0a-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0BN4d1v3027918; Wed, 23 Dec 2020 04:40:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=DkwmM/eera32oryIkaYxl/uhho/EfBVxE+JGlgBvp2A=; b=oWLICE2PbLyr7rY8xBdHsm2CCWaNfkE0PgXU7o1kkl3Uj8q13ENXfs9Kt0vI4uDQsJG1 z1+tm62/f0uNnwIttWx4oCXH1BCGUOMLadjlCIRTR+HPBGh9ouzsGYEkbe8pUzRqUKRc nSJiCn0zxicN3xsTFY6i3ojuq7fe89hq/7zlTzIETEX/kAwydXAFhJZt+LH1CqxlRJDg urDmymWSU4ENpmZcQI1DHjOJsy8VzodCNBrTjCdmqx8PKLUeuOhhiZL4m4dTXCaouZsx DEjq/OuKSychqupRe4kI2tsO+m406ZE0+VDn/VIUbYvylHghT1ugJJAwBPp3SmFroGoh eA== Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com [15.233.44.27]) by mx0a-002e3701.pphosted.com with ESMTP id 35k0cn22h8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 23 Dec 2020 04:40:01 +0000 Received: from G1W8108.americas.hpqcorp.net (g1w8108.austin.hp.com [16.193.72.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g2t2354.austin.hpe.com (Postfix) with ESMTPS id 2B8C19D; Wed, 23 Dec 2020 04:40:00 +0000 (UTC) Received: from G1W8108.americas.hpqcorp.net (2002:10c1:483c::10c1:483c) by G1W8108.americas.hpqcorp.net (2002:10c1:483c::10c1:483c) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 04:40:00 +0000 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (15.241.52.11) by G1W8108.americas.hpqcorp.net (16.193.72.60) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 04:39:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jmu8vRO7vJj17db8Vlx/woNwwRfdYHjrtk+ovz6ZmGWyo6iiaCIDH7ODB/VWXc34k6mgYUvgvExLzEdwTiNArg5GpeSynRWUHZh4L3Vj3+X4RudJECK05cKEXwjZK7c5Ts27nJsoey5OrgHsivuMPfr/4cd2oxmdRQ5Y6sjKw1saDcpY/9J9VJKvpm/MUAHpxuml4PESmPKVqnr01MRtZsNAl/NQEhGXMTV+Jl3B97L/hJSwRGWrjy/aTvmQq++1iImHJHgjH/A3fuLtBWje7cZAQD2d60YUQrN1W+HENGgg4VNprhdrkb8N+v88zHRG4OSmHGCl17URE2rEmPFD0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2bYXjh9EaYn+Emd+e6z1qv4IsufHVuRdNHofgSWY3h8=; b=lR3+Xs4AQ3H1TCvBkugQmbYW88jFmeMl3LG3Warz7Rb/yApRy/f4iP9OmtFDL7FPz7CmPkwElSypBW1A4QLYH9ITBjWST/Dku6jY/gh3RVhEDd4kVDHGp4pGCLFNvubC4YpO3bJ+2awSFUlU60mgw1pRvfrnPQvdMn+zvfAkyWtIgOrhY2uRu5OoTho0FUnmz+9lgG/2O9+dYtYNNZUmut/HddOZfrgnCKs+m00QjdzsTU6eivfbHERVK16EimpLrkJoL1n/KxLRojlgRRatrP+jXiClSUBjxGk/vVD+ENj2TaKIycrWYaEibGDSxs2aatqcWURMfBvqNIecSOPNpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7508::16) by CS1PR8401MB0422.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:750f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.29; Wed, 23 Dec 2020 04:39:53 +0000 Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::a094:ed67:fb40:340e]) by CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::a094:ed67:fb40:340e%10]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 04:39:53 +0000 From: "Abner Chang" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: Sean Brogan , Bret Barkelew , Andrew Fish , Laszlo Ersek , Leif Lindholm , Liming Gao , "Wang, Nickle (HPS SW)" , "O'Hanley, Peter (EXL)" Subject: Re: [PATCH v8 0/6] jansson edk2 port Thread-Topic: [PATCH v8 0/6] jansson edk2 port Thread-Index: AQHW1N4KALZdXXzZjU+e5YmRTCg3N6oAUjyQgACDDDCAAS12sIACG79Q Date: Wed, 23 Dec 2020 04:39:53 +0000 Message-ID: References: <20201217131839.3762-1-abner.chang@hpe.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=hpe.com; x-originating-ip: [165.225.116.159] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 89304bf7-d0c0-49ab-904b-08d8a6fccacb x-ms-traffictypediagnostic: CS1PR8401MB0422: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9MJOxwWgcX9lVzaTkSUVfv6B5GG/nEOIrdz8SvKPZ2zbI+HX/sAwTtFoYBaZ0jyqbhzW1sOuGW7v92pQtUK0FFAeUZUYh4bsXrp5IcSCizipN8wiz8dRFg2tx8PKlJ6SMu2E4NEeq4fwRiyO8yfzLG9u9QanpZoKsRwmuAT1eELCqqzsu75xpq2sTpMAz9ELMLnnSgVgZHtCFFVviLSclhheQS90dTI/ePcyHVMSkrj6S5MFyNsy/U95mOnM7TMPwVRjzkdmLXgqlqQi22lp1tRbzqZ7q0r7zWyHOPEivRMYaUQMoTbMuplyc3A/64gFoEdc+dP8K8NFv5Sq5ZY1Dl9BobbsZ8w+kI10mN7fwjF4r3znnJReww4eLRYAxT85XI/xXpsUjkRKcz88NDUW69ePgXpTWIyakWUipOzBvXNwPodJh9wOtF4g+FGISAtCPk+m1VwH+6wyyH+h2j/aMg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(136003)(346002)(39860400002)(376002)(366004)(396003)(19627235002)(4326008)(186003)(6506007)(55016002)(54906003)(110136005)(7696005)(86362001)(966005)(26005)(478600001)(2906002)(55236004)(66946007)(316002)(8676002)(33656002)(53546011)(64756008)(76116006)(66556008)(66476007)(9686003)(30864003)(5660300002)(8936002)(83380400001)(71200400001)(66446008)(52536014)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?UnRSdC9Bc3dueC9TdUNwOGZZTXZncXp3ZTZRQS9JNzBtd3lpUXQ5eDg5bytx?= =?utf-8?B?QXJ5S1JKRE82a1diSUV3Z1Z5ZjV4R2Z0WElZdnR0Qm9ydCtXUjkwT1A0cFc1?= =?utf-8?B?dGtFWTJzd05KVjFTREw2NWthUlFkN1g3ZThBbXY5ZjRQRlBYSU1VRVB1ZXF6?= =?utf-8?B?NmxuMGh5OE0yeHVoYmJjcWZqb2lwbTh3NUVkU0VnWFYzKzJXdWQySnBJb0ZB?= =?utf-8?B?dHdIbE1tejB0VmlLNkVjY2JkZjFtaTh0RUFvcTlFRjFkNWc1TStPVVV4bTRj?= =?utf-8?B?cXpNU3c3YTV6OC9TUm5nUTlZUlVzMGduditrNnhudVl2a1ZCYjVsMXFmQmpl?= =?utf-8?B?V2QxWEhDaW1EWTVrZzdLZkRsMFc0QnZKdEVjL0xwUmZVNGlGd3NUcG9MRFhs?= =?utf-8?B?dTdEeEtiL1FLTEJUUEhZRW93SXRJZXhGc2pRNTJvaml2aFpTYkQvUjIxS2Fi?= =?utf-8?B?VFpoMVhTSWw0blQwWkVrS0wwMFBrblRhQlNXVEFkVXpYUkVEQnNhZldKcTcy?= =?utf-8?B?Z2VEUVR4bUZqKzBmNWZyQTJ4ek12c0RiWTBTMWN5U2dwWjVGRitOckpRZnlS?= =?utf-8?B?cnR4NUlHM0xaTktaTDdkS1dMdzN3UDlZVjRBT3FGZzZDTnI0bG5PWktFNURp?= =?utf-8?B?UENta284bVpWL2dJR0FMV2szTlFVVCtqTzdCWTFlMnpwRE9HbmpTSGk2eUIr?= =?utf-8?B?eUpSYkZKQzdEbU14eGc0Q2hDZk5jVmJxRFViVjZOaFRmbU5ySlY0am9zTEtV?= =?utf-8?B?OWRkR3ZTNTU1ZmdHQWlvejVxdExjSENBa0hEREJuVWxoR1pKclZHalJPTEpL?= =?utf-8?B?MXdoNmZtT2ZiMXhUSXNlQjlFQm03aUVRSTE4SUhwOW1ZdENVUS9GQWNyQlFw?= =?utf-8?B?WHFRYkY0VHc0bmhHRS94c1VJRVZVcmtOeVVoZldTK0gxNGgyYlk5bE5MRGtH?= =?utf-8?B?ajdpK1dNVFY1VHVqU0FkNGEwN1NndTN6M2dUaVRycUQwbGh4NE53dFZSM3Fw?= =?utf-8?B?M3NUL3YwQTNQYm9aNjdscGlHWnFzVGtaME4vNkQwbVdZVEFFYUFBSERUTCtw?= =?utf-8?B?cE53YUJON3RvQTR3SThMSlBENThnb1IwM1FZaDR0bGM4TGtGcHZ5V3pXVVpC?= =?utf-8?B?OTdWTnJFSUZhM3NmWUNtcG5UU3k3V2h0QXlMV2VVKzQwZkp3UXR3dzNRUHRq?= =?utf-8?B?b3R4aXZBSEM3RlZndUx0NjhFajZUUGZRNEJSdFJsdkpoVHIrcjUvRFlScmla?= =?utf-8?B?RFdmU0c5OVlxZXBEWXl5M01vR25aeWJuZ1Bma3QzdHdDdmxkUXFZMEx4RTk2?= =?utf-8?Q?dk9k3a7dtlhOM=3D?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 89304bf7-d0c0-49ab-904b-08d8a6fccacb X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 04:39:53.5363 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: j78R7QYewyOdkY7mRy3SxcoMN3d6t1CpORFzuaYWBEYn8eK0ljcnO5AbpuPLCb7Fr/MoY05fMwDBt5rTgvKhHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0422 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343,18.0.737 definitions=2020-12-23_01:2020-12-21,2020-12-23 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 bulkscore=0 mlxscore=0 clxscore=1015 adultscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012230035 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lubmV5LCBNaWNoYWVs IEQgW21haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbV0NCj4gU2VudDogV2VkbmVzZGF5 LCBEZWNlbWJlciAyMywgMjAyMCAyOjE0IEFNDQo+IFRvOiBDaGFuZywgQWJuZXIgKEhQUyBTVy9G VyBUZWNobm9sb2dpc3QpIDxhYm5lci5jaGFuZ0BocGUuY29tPjsNCj4gZGV2ZWxAZWRrMi5ncm91 cHMuaW87IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g Q2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsgQnJldCBCYXJrZWxl dw0KPiA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tPjsgQW5kcmV3IEZpc2ggPGFmaXNoQGFw cGxlLmNvbT47IExhc3psbw0KPiBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBMZWlmIExpbmRo b2xtIDxsZWlmQG51dmlhaW5jLmNvbT47IExpbWluZyBHYW8NCj4gPGdhb2xpbWluZ0BieW9zb2Z0 LmNvbS5jbj47IFdhbmcsIE5pY2tsZSAoSFBTIFNXKQ0KPiA8bmlja2xlLndhbmdAaHBlLmNvbT47 IE8nSGFubGV5LCBQZXRlciAoRVhMKSA8cGV0ZXIub2hhbmxleUBocGUuY29tPg0KPiBTdWJqZWN0 OiBSRTogW1BBVENIIHY4IDAvNl0gamFuc3NvbiBlZGsyIHBvcnQNCj4gDQo+IEhpIEFibmVyLA0K PiANCj4gQSBmZXcgY29tbWVudHMgYmVsb3cuDQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+IA0KPiBN aWtlDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogQ2hhbmcs IEFibmVyIChIUFMgU1cvRlcgVGVjaG5vbG9naXN0KSA8YWJuZXIuY2hhbmdAaHBlLmNvbT4NCj4g PiBTZW50OiBNb25kYXksIERlY2VtYmVyIDIxLCAyMDIwIDEyOjE3IEFNDQo+ID4gVG86IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4gZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPiBDYzogU2VhbiBCcm9nYW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5j b20+OyBCcmV0IEJhcmtlbGV3DQo+ID4gPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbT47IEFu ZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBMYXN6bG8NCj4gPiBFcnNlayA8bGVyc2VrQHJl ZGhhdC5jb20+OyBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT47IExpbWluZw0KPiA+ IEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgV2FuZywgTmlja2xlIChIUFMgU1cpDQo+ ID4gPG5pY2tsZS53YW5nQGhwZS5jb20+OyBPJ0hhbmxleSwgUGV0ZXIgKEVYTCkNCj4gPHBldGVy Lm9oYW5sZXlAaHBlLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIHY4IDAvNl0gamFuc3Nv biBlZGsyIHBvcnQNCj4gPg0KPiA+IE1pa2UsIHJlc3BvbnNlIGluIGJlbG93LiBBbHNvIHY5IGlz IHNlbnQuDQo+ID4NCj4gPiBUaGFua3MgZm9yIHJldmlldyB0aGlzIGluIGRldGFpbC4NCj4gPiBB Ym5lcg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTog S2lubmV5LCBNaWNoYWVsIEQgW21haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbV0NCj4g PiA+IFNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMjEsIDIwMjAgMzo0MyBBTQ0KPiA+ID4gVG86IENo YW5nLCBBYm5lciAoSFBTIFNXL0ZXIFRlY2hub2xvZ2lzdCkgPGFibmVyLmNoYW5nQGhwZS5jb20+ Ow0KPiA+ID4gZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+IENjOiBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5A bWljcm9zb2Z0LmNvbT47IEJyZXQgQmFya2VsZXcNCj4gPiA+IDxCcmV0LkJhcmtlbGV3QG1pY3Jv c29mdC5jb20+OyBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPjsNCj4gTGFzemxvDQo+ID4g PiBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5j LmNvbT47IExpbWluZw0KPiA+ID4gR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBXYW5n LCBOaWNrbGUgKEhQUyBTVykNCj4gPiA+IDxuaWNrbGUud2FuZ0BocGUuY29tPjsgTydIYW5sZXks IFBldGVyIChFWEwpDQo+IDxwZXRlci5vaGFubGV5QGhwZS5jb20+DQo+ID4gPiBTdWJqZWN0OiBS RTogW1BBVENIIHY4IDAvNl0gamFuc3NvbiBlZGsyIHBvcnQNCj4gPiA+DQo+ID4gPiBIaSBBYm5l ciwNCj4gPiA+DQo+ID4gPiBUaGUgaW5jbHVkZSBwYXRoIGluIHRoZSBbSW5jbHVkZS5Db21tb24u UHJpdmF0ZV0gc2VjdGlvbiBzaG91bGQgbm90DQo+ID4gPiBiZSBpbiB0aGUgc2FtZSBmaWxlIHBh dGggYXMgdGhlIFtJbmNsdWRlXSBzZWN0aW9uLiAgVGhpcyBhbGxvd3MNCj4gPiA+IHByaXZhdGUg aW5jbHVkZSBmaWxlcyB0byBiZSBhY2Nlc3NlZC4NCj4gPiA+DQo+ID4gPiBJbnN0ZWFkLCB5b3Ug c2hvdWxkIGNyZWF0ZSBhIG5ldyB0b3AgbGV2ZWwgcGFja2FnZSBkaXJlY3RvcnkgY2FsbGVkDQo+ ID4gPiBQcml2YXRlSW5jbHVkZSBhbmQgcHV0IGFsbCBub24tcHVibGljIGluY2x1ZGUgY29udGVu dCBpbiB0aGF0DQo+ID4gPiBkaXJlY3RvcnkuICBUaGUgVW5pdFRlc3RGcmFtZXdvcmtQa2cgaXMg YSBnb29kIHJlZmVyZW5jZSB0aGF0DQo+ID4gPiBkZW1vbnN0cmF0ZXMgdGhpcyBkZXNpZ24gcGF0 dGVybi4NCj4gPiBZZXMsIHRoaXMgbG9va3MgYmV0dGVyLiBBbGwgQ3J0IGhlYWRlciBmaWxlcyBh bmQgQ3J0TGliLmggd2lsbCBiZSBtb3ZlZCB0bw0KPiB1bmRlciBQcml2YXRlSW5jbHVkZS4NCj4g PiA+DQo+ID4gPiBUaGUgbGlicmFyeSBjbGFzcyBuYW1lIENydExpYiBpcyB2ZXJ5IGdlbmVyaWMg YW5kIHRoZSBsaWJyYXJ5IGNsYXNzDQo+ID4gPiBpcyBpbiB0aGUgcHVibGljIGluY2x1ZGVzIHNv IGl0IGlzIGV4cG9ydGVkIGFzIGEgcHVibGljIGludGVyZmFjZSBmcm9tIHRoZQ0KPiBSZWRmaXNo UGtnLg0KPiA+ID4gVGhpcyBDcnRMaWIgaW1wbGVtZW50YXRpb24gYXBwZWFycyB0byBiZSB0dW5l ZCB0byBzdXBwb3J0IHRoZQ0KPiA+ID4gZGVwZW5kZW5jaWVzIGZvciB0aGUgamFuc3NvbiBzdWJt b2R1bGUuICBJIHJlY29tbWVuZCBjaGFuZ2luZyB0aGUNCj4gPiA+IGxpYnJhcnkgY2xhc3MgbmFt ZSBhbmQgdGhlIGxpYnJhcnkgaW5zdGFuY2UgbmFtZSBzbyBpdCBpcyBjbGVhciB0aGF0DQo+ID4g PiB0aGlzIENydExpYiBpcyBvbmx5IGZvciBqYW5zc29uLg0KPiA+ID4gUGVyaGFwcyAnSmFuc3Nv bkNydExpYicuDQo+ID4gVGhlIENydExpYiBpcyBub3QgdXNlZCBieSBqYW5uc29uIGxpYiwgbGli cmVkZmlzaCBhcyB3ZWxsDQo+ID4gKGh0dHBzOi8vZ2l0aHViLmNvbS9ETVRGL2xpYnJlZGZpc2gp LiBTbyBKYW5zc29uQ3J0TGliIGlzIG5vdCBhIGdvb2QNCj4gbmFtaW5nLCB3aWxsIGtlZXAgdGhh dCBhcyBpdC4NCj4gPg0KPiA+ID5BbHNvLCBkb2VzIHRoaXMgbGlicmFyeSBjbGFzcyAoQ3J0TGli LmgpIG5lZWQgdG8gYmUgIGV4cG9ydGVkIGZyb20NCj4gPiA+UmVkZmlzaFBrZyBhcyBhIHB1Ymxp YyBpbnRlcmZhY2U/DQo+ID4gTm8sIGl0IHdpbGwgYmUgbW92ZWQgdG8gdW5kZXIgUHJpdmF0ZUlu Y2x1ZGUuDQo+ID4NCj4gPiBJZiBDcnRMaWIuaCBpcyBkZWZpbmVkIGFzIGEgcHJpdmF0ZSBsaWJy YXJ5IGFuZCBDcnRMaWIuaCBpcyBpbg0KPiA+IFByaXZhdGVJbmNsdWRlIHdoaWNoIGlzIG5vdCBl eHBvc2VkIHRvIG90aGVyIHBhY2thZ2VzLCB0aGVuIHdoeSBkbyB3ZQ0KPiBjYXJlIGFib3V0IHRo ZSBuYW1pbmcgb2YgQ3J0TGliIGlzIHRvbyBnZW5lcmljPyBXaGljaCBpcyB0aGUgcHJpdmF0ZSBs aWJyYXJ5DQo+IHVuZGVyIFJlZGZpc2hQa2cuDQo+ID4gTW92ZSB0aG9zZSBoZWFkZXIgZmlsZXMg dG8gdW5kZXIgUHJpdmF0ZUluY2x1ZGUgc2VlbXMgY2xlYXIgdG8gcGVvcGxlDQo+ID4gdGhhdCBD cnRMaWIgaXMgb25seSBmb3IgUmVkZmlzaFBrZy4gSSB0aGluayB3ZSBkb27igJl0IGhhdmUgdG8g Y2hhbmdlIHRoZQ0KPiBuYW1pbmcgaW4gdGhpcyBjYXNlLg0KPiANCj4gSW4gZ2VuZXJhbCBJIGFn cmVlLCBidXQgdGhlcmUgaXMgb25lIHBsYWNlIHdoZXJlIHRoZSBsaWIgbWFwcGluZyBoYXMgd2lk ZXINCj4gc2NvcGUsIGFuZCB0aGF0IGlzIGluIGEgcGxhdGZvcm0gRFNDIGZpbGUuICBUaGUgbGli IGNsYXNzIG5hbWUgQ3J0TGliIGhhcyB0byBiZQ0KPiBsaXN0ZWQgaW4gdGhlIERTQyBmaWxlLiAg SWYgbW9yZSB0aGFuIG9uZSBwYWNrYWdlIGRlZmluZXMgYSBsaWJyYXJ5IGNsYXNzIGNhbGxlZA0K PiBDcnRMaWIsIHRoZW4gdGhlIGxhc3QgbWFwcGluZyB1c2VkIHdpbGwgYmUgdXNlZCBmb3IgYWxs IG1vZHVsZXMgaWYgaXQgaXMgbGlzdGVkIGluDQo+IHRoZSBbTGlicmFyeUNsYXNzZXNdIHNlY3Rp b24gb2YgdGhlIERTQyBmaWxlLiAgVGhlIG9ubHkgd2FzIHRvIGhhbmRsZSB0aGlzIHR5cGUNCj4g b2YgbmFtZSBjb2xsaXNpb24gaXMgdG8gdXNlIGEgbW9kdWxlIHNjb3BlZCBsaWJyYXJ5IG1hcHBp bmcgaW4gdGhlDQo+IDxMaWJyYXJ5Q2xhc3Nlcz4gc2VjdGlvbiBvZiBlYWNoIGluZGl2aWR1YWwg bW9kdWxlIHRoYXQgdXNlcyBhIENydExpYi4gIEkgYW0NCj4gb25seSB0cnlpbmcgdG8gYXZvaWQg dGhlIHBvdGVudGlhbCBmb3IgZnV0dXJlIG5hbWUgY29sbGlzaW9ucyBmb3IgYSBsaWJyYXJ5DQo+ IGNsYXNzL2luc3RhbmNlIHRoYXQgaXMgc3BlY2lmaWMgdG8gdGhlIEpTT04gdXNlIGNhc2UuDQo+ IA0KPiBXZSByZWNvZ25pemUgdGhhdCBzZXZlcmFsIG1vZHVsZXMgaW4gZWRrMiBoYXZlIHRoaXMg dHlwZSBvZiBnYXNrZXQgYmV0d2Vlbg0KPiBhbiBFREsgSUkgZW52IGFuZCBhIHN0YW5kYXJkIEMg bGliLiAgV2UgbWF5IGZpbmQgYSB3ZSB0byBpbXBsZW1lbnQgYSBtb3JlDQo+IGdlbmVyaWMgZ2Fz a2V0IGFuZCByZXRpcmUgdGhlIHVzZSBvZiB0aGUgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgb25l cy4gIFRoaXMgaXMNCj4gYW5vdGhlciByZWFzb24gdG8gdXNlIGFuIGltcGxlbWVudGF0aW9uIHNw ZWNpZmljIG5hbWUgaW4gdGhpcyB1c2UgY2FzZSBhbmQNCj4gYmUgYWJsZSB0byBpbnRyb2R1Y2Ug YSBtb3JlIGdlbmVyaWMgbmFtZSBpbiB0aGUgZnV0dXJlLg0KPiANCj4gQW5vdGhlciBjb21tZW50 IGJlbG93IHRvIHNlZSBpZiB0aGVyZSBpcyBhIHdheSB0byBhdm9pZCBpbnRyb2R1Y2luZyBhIENy dExpYg0KPiBjbGFzcy4NCj4gDQo+ID4NCj4gPiA+DQo+ID4gPiAqIFJlZGZpc2hQa2cvSW5jbHVk ZS9MaWJyYXJ5L0NydExpYi5oDQo+ID4gPiAgICsgUmVtb3ZlIHJlZmVyZW5jZSB0byBNREVfQ1BV X0lBNjQuICBUaGlzIGhhcyBiZWVuIHJldGlyZWQgZnJvbQ0KPiA+ID4gdGhlDQo+ID4gPiBlZGsy IHJlcG8uDQo+ID4gT2suDQo+ID4gPiAgICsgSSBkbyBzZWUgb25lIHJlbWFpbmluZyByZWZlcmVu Y2UgdG8gdGhpcyBpbiB0aGUgQ3J5cHRvUGtnIHRoYXQgbmVlZCB0bw0KPiBiZQ0KPiA+ID4gICAg IHJlbW92ZWQuDQo+ID4gPg0KPiA+ID4gKiBSZWRmaXNoUGtnL0luY2x1ZGUvTGlicmFyeS9Kc29u TGliLmgNCj4gPiA+ICAgKyBTb21lIG9mIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbnMgYXJlIHZl cnkgYnJpZWYgYW5kIEkgY2FuIG5vdCB0ZWxsDQo+ID4gPiAgICAgaG93IHRvIHVzZSB0aGUgc2Vy dmljZSBmcm9tIHRoZSBkZXNjcmlwdGlvbiBhbmQgbW9yZSBpbXBvcnRhbnRseSwgSQ0KPiA+ID4g ICAgIHdvdWxkIG5vdCBrbm93IGhvdyB0byB3cml0ZSBhIHVuaXQgdGVzdCB0byB2ZXJpZnkgdGhl IGV4cGVjdGVkDQo+IGJlaGF2aW9yLg0KPiA+ID4gICAgIFNpbmNlIHRoZXNlIGFyZSBhIHNldCBv ZiBwdWJsaWMgQVBJcyBmcm9tIHRoaXMgcGFja2FnZSB0aGF0IHlvdQ0KPiA+ID4gICAgIGV4cGVj dCBtb2R1bGVzL2xpYnMgZnJvbSBvdXRzaWRlIG9mIFJlZGZpc2hQa2cgdG8gdXNlLCB0aGVuIGFs bCBvZg0KPiA+ID4gICAgIHRoZXNlIHB1YmxpYyBBUElzIG11c3QgYmUgZnVsbHkgZG9jdW1lbnRl ZC4NCj4gPiBNb3N0IG9mIHRoZSBBUEkgaW4gSnNvbkxpYiBhcmUgd3JhcHBlcnMgb2YgbmF0aXZl IGphbnNzb24gQVBJcy4gV2UgY2FuDQo+ID4gbWVudGlvbiB0aGUgVVJMIHRvIGphbnNzb24gQVBJ IHJlZmVyZW5jZSBkb2N1bWVudCBpbiBmaWxlIGhlYWRlci4NCj4gPiBJTlZBTElEIFVSSSBSRU1P VkVEDQo+IDNBX19qYW5zc29uLnJlYWR0aGVkbw0KPiA+DQo+IGNzLmlvX2VuXzIuMTNfaW5kZXgu aHRtbCZkPUR3SUdhUSZjPUM1Yjh6UlFPMW1pR21CZVZaMkxGV2cmcj1fDQo+IFNONkZaQk40DQo+ ID4gVmdpNFVsa3NrejZxVTNOWVJPMDNuSHA5UDdaNXE1OUEzRSZtPXZkLQ0KPiB1UHo4NjRjem9Z QTVDN1lhUGdxWGZkUGp2NGM1a0INCj4gPiB6VHdWNjBOdk5RJnM9YWNWek4zeDR5TkQwamtnNDRi SjQ4Wmt5UHl1Z2p3c1l2VUdkRDRuSkw3NCZlPQ0KPiA+IEkgd2lsbCByZXZpZXcgYWxsIGZ1bmN0 aW9uIGhlYWRlciBhZ2FpbiwgIHBsZWFzZSBjaGVjayB2OSBwYXRjaCBsYXRlci4NCj4gPg0KPiA+ ID4gICArIEFyZSB0aGVyZSBhbnkgb2YgdGhlc2UgQVBJcyB0aGF0IGFyZSBub3QgcmVhbGx5IG5l ZWRlZCBieSBtb2R1bGVzL2xpYnMNCj4gPiA+ICAgICBvdXRzaWRlIHRoZSBSZWRmaXNoUGtnPyAg SXQgd291bGQgYmUgYmV0dGVyIHRvIHJlbW92ZSBBUElzIHRoYXQgYXJlDQo+ID4gPiAgICAgbm90 IG5lZWRlZCBvdXRzaWRlIFJlZGZpc2hQa2cgZnJvbSB0aGlzIHB1YmxpYyBpbmNsdWRlIGZpbGUu DQo+ID4gPiAgICsgQSBjb3VwbGUgZXhhbXBsZXMgdGhhdCBzdG9vZCBvdXQgYXJlOg0KPiA+ID4g ICAgIEpzb25EZWNyZWFzZVJlZmVyZW5jZSgpDQo+ID4gPiAgICAgSnNvbkluY3JlYXNlUmVmZXJl bmNlKCkNCj4gPiA+ICAgICBKc29uT2JqZWN0SXRlcmF0b3IoKQ0KPiA+ID4gICAgIEpzb25PYmpl Y3RJdGVyYXRvclZhbHVlKCkNCj4gPiA+ICAgICBKc29uT2JqZWN0SXRlcmF0b3JOZXh0KCkNCj4g PiBUaGUgbmF0aXZlIGphbnNzb24gQVBJcyBvZiBhbGwgYWJvdmUgd3JhcHBlcnMgYXJlIHVzZWQg aW4gbGlicmVkZmlzaC4NCj4gPiBTbyB0aGF0IGlzIHRoZSBwb3RlbnRpYWwgdXNlIGNhc2UgZm9y IG90aGVyIEpTT04gYXBwbGljYXRpb25zLg0KPiANCj4gQ2FuIHlvdSBwcm92aWRlIGEgcG9pbnRl ciB0byBhbiBleGFtcGxlIG9mIHRoaXMgdXNlIGNhc2U/DQo+IA0KPiBJIGFtIHRyeWluZyB0byBt YWtlIHN1cmUgd2UgYXJlIGRvaW5nIHRoZSByaWdodCBkZXNpZ24gb2YgUmVkZmlzaFBrZyB3aXRo DQo+IHJlc3BlY3QgdG8gQ3J0TGliIGZvciB0aGlzIHVzZSBjYXNlLiAgQXJlIHRoZXNlIGFyZSBK U09OIGFwcHMgdGhhdCBkbyBub3QgdXNlDQo+IEpzb25MaWIsIGJ1dCBhcmUgZXhwZWN0ZWQgdG8g YnVpbGQgaW4gYW4gRURLIElJIGJ1aWxkIGVudmlyb25tZW50PyAgV291bGQNCj4gdGhlc2UgSlNP TiBhcHBzIHJlcXVpcmUgbW9yZSBzdGFuZGFyZCBDIGxpYiBzZXJ2aWNlcyB0aGFuIHRoZSBDcnRM aWIgdXNlZCB0bw0KPiBidWlsZCBKc29uTGliPyAgV2hlcmUgd291bGQgdGhvc2UgYWRkaXRpb25h bCBDIGxpYiBzZXJ2aWNlcyBjb21lIGZyb20/DQo+IA0KPiBUaGVyZSBpcyBhIHN0YW5kYXJkIEMg bGliIGluIGVkazItbGliYy4gIFdvdWxkIHRoYXQgYmUgcmVxdWlyZWQgdG8gYnVpbGQgdGhlDQo+ IEpTT04gYXBwcy4NCj4gDQo+IEluIG90aGVyIHVzZXMgb2Ygc3VibW9kdWxlcyB3aXRoIEMgbGli IGRlcGVuZGVuY2llcywgYSBuZXcgQ3J0TGliIGxpa2UgbGliDQo+IGNsYXNzIHdhcyBub3QgYWRk ZWQgYW5kIGluc3RlYWQgdGhlIHN1cHBvcnQgd2FzIGFkZGVkIGRpcmVjdGx5IHRvIHRoZSBFREsg SUkNCj4gd3JhcHBlciBBUElzLiBTb21lIGV4YW1wbGVzIGFyZToNCj4gICAqIE1kZU1vZHVsZVBr Z1xMaWJyYXJ5XEJyb3RsaUN1c3RvbURlY29tcHJlc3NMaWINCj4gICAqIE1kZU1vZHVsZVBrZ1xV bml2ZXJzYWxcUmVndWxhckV4cHJlc3Npb25EeGUNCj4gDQo+IElmIHRoZXJlIGFyZSB1c2UgY2Fz ZXMgd2hlcmUgdGhlIENydExpYiB3aWxsIGJlIGFkZGVkIHRvIGFuIElORiBvdXRzaWRlIHRoZQ0K PiBSZWRmaXNoUGtnLCB0aGVuIEkgc3RpbGwgdGhpbmsgdGhlIG5hbWUgbmVlZHMgdG8gYmUgY2hh bmdlZCB0byBiZSBzcGVjaWZpYyB0bw0KPiB0aGUgSlNPTiB1c2UgY2FzZS4NCkNydExpYiBzaG91 bGQgbm90IGJlIGFkZGVkIHRvIElORiBvdXRzaWRlIFJlZGZpc2hQa2csIGJ1dCBpdCB3aWxsIGJl IGFkZGVkIHRvIHBsYXRmb3JtIERTQyBmaWxlLg0KPiANCj4gSWYgdGhlIHVzZSBvZiBDcnRMaWIg aXMgb25seSB3aXRoaW4gdGhlIFJlZGZpc2hQa2csIHRoZW4gdGhlIExpYnJhcnkgQ2xhc3MgY2Fu IGJlDQo+IGRlY2xhcmVkIGluIGEgW0xpYnJhcnlDbGFzc2VzLkNvbW1vbi5Qcml2YXRlXSBzZWN0 aW9uIG9mIHRoZSBERUMgZmlsZS4gIFNlZQ0KPiBVbml0VGVzdEZyYW1ld29ya1BrZyBmb3IgZXhh bXBsZXMNCkJlY2F1c2UgQ3J0TGliLCBKc29uTGliIGFuZCBvdGhlciBSZWRmaXNoUGtnIG1vZHVs ZXMgd2lsbCBiZSBpbmNsdWRlZCBpbiBvdGhlciBwYWNrYWdlIGRzYyBmaWxlIChlLmcuIEVtdWxh dG9yUGtnKS4NCldoYXQgaWYgaW4gRW11bGF0b3JQa2cgb25lIENydExpYiBsaWJyYXJ5Y2xhc3Mg bWFwcyB0byB0aGUgcHJpdmF0ZSBvbmUgdW5kZXIgUmVkZmlzaFBrZywgYnV0IGFub3RoZXIgd2l0 aCB0aGUgc2FtZSBuYW1lIGlzIHRoZSBwdWJsaWMgbGlicmFyeSBwcm92aWRlZCBieSBvdGhlciBw YWNrYWdlIChlLmcuIE1kZU1vZHVsZVBrZykgYW5kIHVzZWQgYnkgbW9kdWxlcyBvdGhlciB0aGFu IFJlZGZpc2hQa2c/DQpJcyBlZGsyIGJ1aWxkIHRvb2wgdGhhdCBzbWFydCB0byBsaW5rIHRoZSBw cml2YXRlIENydExpYiBmb3IgUmVkZmlzaFBrZyBtb2R1bGVzIGFuZCBhbGwgb3RoZXIgbm9uIFJl ZGZpc2hQa2cgbW9kdWxlcyBhcmUgbGlua2VkIHdpdGggdGhlIHB1YmxpYyBvbmU/DQoNCkFibmVy DQoNCj4gDQo+ID4NCj4gPiA+ICAgKyBKc29uRHVtcFN0cmluZygpDQo+ID4gPiAgICAgZnVuYyBo ZWFkZXIgcGFyYW1zIGRvIG5vdCBtYXRjaCBmdW5jIHByb3RvdHlwZQ0KPiA+ID4gICAgIERvZXMg bm90IGRlc2NyaWJlIHdobyBhbGxvY2F0ZXMgdGhlIHJldHVybiBidWZmZXIgYW5kIHdobw0KPiA+ ID4gICAgIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBidWZmZXIgcmV0dXJuZWQuDQo+ ID4gPiAgICAgV2hhdCBkbyBGbGFncyBkbz8gIFdoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biB0aGlzDQo+ID4gPiAgICAgZnVuY3Rpb24gYW5kIEpzb25Ub1RleHQoKT8NCj4gPiBJbiBKc29u VG9UZXh0LCBpdCBvbmx5IGNvbnZlcnRzIEpTT04gYXJyYXkgYW5kIG9iamVjdCB0byB0ZXh0LiBX ZQ0KPiA+IGNvdWxkIGp1c3QgcmVtb3ZlIHRoaXMgZm9yIG5vdyBiZWNhdXNlIEkgZG9u4oCZdCBy ZWFsbHkgcmVtZW1iZXIgdGhlIHJlYXNvbg0KPiB0byBjcmVhdGUgdGhpcyBmdW5jdGlvbiwgaXQg aGFzIGJlZW4gYSB3aGlsZS4gU2VlbXMgdG8gbWUgaXQgaXMgZmluZSB0byByZW1vdmUNCj4gdGhp cyBmdW5jdGlvbi4NCj4gPg0KPiA+ID4gICArIEpzb25Mb2FkQnVmZmVyKCkgLSBFcnJvciBwYXJh bSBkZXNjcmlwdGlvbiBtaXNzaW5nDQo+ID4gPiAgICsgSnNvbkFycmF5R2V0VmFsdWUoKSBkb2Vz IG5vdCBkZXNjcmliZSB0aGUgY29uZGl0aW9ucyBOVUxMDQo+ID4gPiAgICAgaXMgcmV0dXJuZWQu DQo+ID4gPiAgICsgSnNvbk9iamVjdEdldEtleXMoKS4gIFJldHVybiB0eXBlIGlzIENIQVI4Kiou ICBXaGF0DQo+ID4gPiAgICAgZnVuY3Rpb24gbmVlZCB0byBiZSBjYWxsZWQgdG8gZnJlZSB0aGUg YXJyYXk/DQo+ID4gQWxsIGFib3ZlIGFkZHJlc3NlZC4NCj4gPg0KPiA+ID4gICArIEpzb25WYWx1 ZUdldEFzY2lpU3RyaW5nKCkgYW5kIEpzb25WYWx1ZUdldFVuaWNvZGVTdHJpbmcoKQ0KPiA+ID4g ICAgIGFyZSBhc3ltbWV0cmljLiAgVGhlIEFzY2lpIG9uZSBzdGF0ZXMgdGhhdCBjaGFuZ2Ugd2ls bA0KPiA+ID4gICAgIG1vZGlmeSB0aGUgb3JpZ2luYWwgc3RyaW5nLiAgVGhlIFVuaWNvZGUgb25l IHNheXMgdGhhdCB0aGUNCj4gPiA+ICAgICBjYWxsZXIgbmVlZHMgdG8gZnJlZSB0aGUgcmV0dXJu ZWQgc3RyaW5nLiAgQW55IHJlYXNvbiB3ZQ0KPiA+ID4gICAgIGNhbiBub3QgbWFrZSB0aGVtIHN5 bW1ldHJpYz8NCj4gPiBKYW5zc29uIGRvZXNuJ3Qgc3VwcG9ydCBVbmljb2RlIHN0cmluZy4gVGhl IG1lbW9yeSBvZiB0aGUgdW5pY29kZQ0KPiA+IHN0cmluZyByZXR1cm5lZCBieSBKc29uVmFsdWVH ZXRVbmljb2RlU3RyaW5nIElzIGFsbG9jYXRlZCBieQ0KPiBVVEY4U3RyVG9VQ1MyKCkuDQo+ID4g ID4gQWxzbywgaWYgQXNjaWkgb25lIHNob3VsZA0KPiA+ID4gICAgIG5vdCBiZSBtb2RpZmllZCwg d2h5IGlzbuKAmXQgdGhlIHJldHVybiB0eXBlIENPTlNUPw0KPiA+IFllcy4gd2lsbCBkbyB0aGF0 Lg0KPiA+DQo+ID4gPg0KPiA+ID4gKiBSZWRmaXNoUGtnL0xpYnJhcnkvQmFzZVVjczJVdGY4TGli L0Jhc2VVY3MyVXRmOExpYi5pbmYNCj4gPiA+ICAgKyBDaGFuZ2UgW1NvdXJjZXMuY29tbW9uXSB0 byBbU291cmNlc10NCj4gPiBkb25lDQo+ID4gPiAqIFJlZGZpc2hQa2cvTGlicmFyeS9DcnRMaWIv Q3J0TGliLmluZg0KPiA+ID4gICArIERvZXMgdGhpcyBsaWIgaW5zdGFuY2UgcmVhbGx5IGRlcGVu ZCBvbiBNZGVNb2R1bGVQa2c/DQo+ID4gWWVzLCBTb3J0TGliDQo+ID4gPiAgICsgSGF2ZSB5b3Ug cmV2aWV3ZWQgdGhlIG1vZHVsZSB0eXBlcyB0aGlzIGxpYiBpbnN0YW5jZSBpcw0KPiA+ID4gICAg IGNvbXBhdGlibGUgd2l0aD8gIFdoeSBkb2VzIGl0IG5lZWQgdG8gc3VwcG9ydCBEWEVfQ09SRT8N Cj4gPiA+ICAgICBBcmUgdGhlaXIgSnNvbkxpYiB1c2UgY2FzZXMgZm9yIERYRV9SVU5USU1FIGFu ZCBTTU0gZHJpdmVycz8NCj4gPiA+ICAgICBJZiB0aGVyZSBhcmUgU01NIHVzZSBjYXNlcywgdGhl biB3aHkgaXMgTU0gZXhjbHVkZWQ/DQo+ID4gV2lsbCBqdXN0IGtlZXAgRFhFX0RSVkVSLCBVRUZJ X0FQUExJQ0FUSU9OIGFuZCBVRUZJX0RSSVZFUi4gVGhlc2UNCj4gYXJlDQo+ID4gbW9kdWxlIHR5 cGVzIGhhdmUgcG90ZW50aWFsIHVzZSBjYXNlcyBJIGNhbiB0aGluayBvZiBub3cuDQo+ID4gPg0K PiA+ID4gKiBSZWRmaXNoUGtnL0xpYnJhcnkvSnNvbkxpYg0KPiA+ID4gICArIFJlYWRtZS5yc3Qg c3RpbGwgaGFzIHJlZmVyZW5jZXMgdG8gSmFuc3Nvbkpzb25MaWJNYXBwaW5nLmgNCj4gPiBkb25l DQo+ID4gPiAgICsgSGF2ZSB5b3UgcmV2aWV3ZWQgdGhlIG1vZHVsZSB0eXBlcyB0aGlzIGxpYiBp bnN0YW5jZSBpcw0KPiA+ID4gICAgIGNvbXBhdGlibGUgd2l0aD8gIFdoeSBkb2VzIGl0IG5lZWQg dG8gc3VwcG9ydCBEWEVfQ09SRT8NCj4gPiA+ICAgICBBcmUgdGhlaXIgSnNvbkxpYiB1c2UgY2Fz ZXMgZm9yIERYRV9SVU5USU1FIGFuZCBTTU0gZHJpdmVycz8NCj4gPiA+ICAgICBJZiB0aGVyZSBh cmUgU01NIHVzZSBjYXNlcywgdGhlbiB3aHkgaXMgTU0gZXhjbHVkZWQ/DQo+ID4gQW5zd2VyZWQg YWJvdmUNCj4gPiA+ICAgKyBKc29uTGliLmluZiBoYXMgYSBbQnVpbGRPcHRpb25zXSBzZWN0aW9u IHRoYXQgZGlzYWJsZXMgc29tZSB3YXJuaW5ncw0KPiB0aGF0DQo+ID4gPiAgICAgbWFrZSBtZSBj b25jZXJuZWQgdGhhdCB0aGlzIGxpYnJhcnkgbWF5IGhhdmUgc29tZSBpc3N1ZXMgd2l0aA0KPiA+ ID4gMzItYml0IGJ1aWxkcy4NCj4gPiA+ICAgICBIYXZlIHlvdSBmdWxseSB2YWxpZGF0ZWQgYWxs IDMyLWJpdCBDUFUgYnVpbGRzIGFuZCB2YWxpZGF0ZWQgdGhlDQo+IGZ1bmN0aW9uYWxpdHkNCj4g PiA+ICAgICBvZiBhbGwgc2VydmljZXMgZnJvbSB0aGUgSnNvbkxpYiBmb3IgYWxsIHJhbmdlcyBv ZiBpbnB1dCB2YWx1ZXM/DQo+ID4gWWVzLCBJQTMyIGJ1aWxkIGlzIHZhbGlkYXRlZC4gQnV0IG5v dCB2YWxpZGF0aW5nIG9uIHRoZQ0KPiA+IGZ1bmN0aW9uYWxpdGllcyBJQTMyLiBJIGRvbid0IGhh dmUgdGhhdCB1c2UgY2FzZSwgd2UgY2FuIGdldCBiYWNrIHRvIGZpeCB0aGUNCj4gaXNzdWUgaWYg YW55IHdoZW4gIHNvbWVvbmUgcnVucyB0aGlzIG9uIElBMzIuDQo+IA0KPiBJIGRpZCBzb21lIGxv Y2FsIHRlc3Rpbmcgd2l0aCBWUzIwMTkuICBJIGZvdW5kIHRoYXQgYSBtdWNoIHNtYWxsZXIgc2V0 IG9mDQo+IHdhcm5pbmcgZGlzYWJsZXMgYXJlIHJlcXVpcmVkIGZvciBJQTMyIGFuZCBYNjQgYW5k IHRoZSBzZXQgaXMgZGlmZmVyZW50IGZvcg0KPiBJQTMyIGFuZCBYNjQuICBDYW4geW91IHJldmll dyB3aGF0IGlzIG5lZWRlZCBhbmQgbWluaW1pemUgdGhlIHJlcXVpcmVkIHNldA0KPiBvZiBlYWNo IHN1cHBvcnRlZCBhcmNoPw0KPiANCj4gICBNU0ZUOipfKl9YNjRfQ0NfRkxBR1MgPSAvd2Q0MjQ0 IC93ZDQwOTAgL3dkNDMzNA0KPiAvREhBVkVfQ09ORklHX0g9MSAvVV9XSU4zMiAvVVdJTjY0IC9V X01TQ19WRVINCj4gICBNU0ZUOipfKl9JQTMyX0NDX0ZMQUdTID0gL3dkNDI0NCAvd2Q0MDkwIC9E SEFWRV9DT05GSUdfSD0xDQo+IC9VX1dJTjMyIC9VV0lONjQgL1VfTVNDX1ZFUg0KPiANCj4gPiA+ DQo+ID4gPiAqIFJlZGZpc2hMaWJzLmRzYy5pbmMNCj4gPiA+ICAgSXQgaXMgYmV0dGVyIHRvIGFk ZCBbTGlicmFyeUNsYXNzZXNdIHN0YXRlbWVudCB0byB0aGlzIGZpbGUsIHNvIGl0DQo+ID4gPiAg IGNhbiBiZSBpbmNsdWRlIGFueXdoZXJlIGluIGEgRFNDIGZpbGUuICBXaXRoIGN1cnJlbnQgaW1w bGVtZW50YXRpb24NCj4gPiA+ICAgaWYgaXQgaXMgbm90IGluY2x1ZGVkIHdpdGhpbiBhIFtMaWJy YXJ5Q2xhc3Nlc10gc2VjdGlvbiwgaXQgd2lsbA0KPiA+ID4gICBnZW5lcmF0ZSBhIGJ1aWxkIGVy cm9yLg0KPiA+IEkgd2lsbCBzZXBhcmF0ZSB0aGlzIHRvIGFub3RoZXIgc2V0IG9mIHBhdGNoLiBE b27igJl0IG1peCB1cCB3aXRoIGphbnNzb24gZWRrMg0KPiBwb3J0Lg0KPiA+DQo+ID4gPllvdSBt aWdodCBhbHNvIGNvbnNpZGVyIGNoYW5naW5nIHRoZSBuYW1lDQo+ID4gPiAgIG9mIHRoaXMgZmls ZSBpbiBjYXNlIHlvdSB3YW50IHRvIGFkZCBtb3JlIHRoYW4ganVzdCBsaWIgbWFwcGluZ3MNCj4g PiA+ICAgdG8gdGhpcyBmaWxlIGluIHRoZSBmdXR1cmUuICBTZWUgVW5pdFRlc3RGcmFtd29ya1Br ZyBmb3IgZXhhbXBsZXMuDQo+ID4gPg0KPiA+ID4gQmVzdCByZWdhcmRzLA0KPiA+ID4NCj4gPiA+ IE1pa2UNCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ IEZyb206IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BocGUuY29tPg0KPiA+ID4gPiBTZW50OiBU aHVyc2RheSwgRGVjZW1iZXIgMTcsIDIwMjAgNToxOSBBTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPiA+ID4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3Nv ZnQuY29tPjsgQnJldCBCYXJrZWxldw0KPiA+ID4gPiA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQu Y29tPjsgQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT47DQo+ID4gPiA+IExhc3psbyBFcnNl ayA8bGVyc2VrQHJlZGhhdC5jb20+OyBMZWlmIExpbmRob2xtDQo+ID4gPiA+IDxsZWlmQG51dmlh aW5jLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+IDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT47IExpbWluZyBHYW8NCj4gPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47 IE5pY2tsZSBXYW5nIDxuaWNrbGUud2FuZ0BocGUuY29tPjsNCj4gPiA+IFBldGVyDQo+ID4gPiA+ IE8nSGFubGV5IDxwZXRlci5vaGFubGV5QGhwZS5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFtQQVRD SCB2OCAwLzZdIGphbnNzb24gZWRrMiBwb3J0DQo+ID4gPiA+DQo+ID4gPiA+IEluIHY4LCAtIEFz c2lnbmUgcGF0Y2ggZmlsZSBvcmRlcg0KPiA+ID4gPiAgICAgICAgLSBBZGQgQWNrZWQtYnkgdGFn cw0KPiA+ID4gPiBJbiB2NywgLSBSZW1vdmUgQyBSVEMgaGVhZGVyIGZpbGVzIHRvIHVuZGVyIFtJ bmNsdWRlLkNvbW1vbi5Qcml2YXRlXQ0KPiA+ID4gPiAgICAgICAgICBpbiBSZWRmaXNoUGtnLmRl Yy4NCj4gPiA+ID4gICAgICAgIC0gYWRkcmVzcyBjb21tZW50cyBnaXZlbiBieSBNaWtlIEtpbm5l eS4NCj4gPiA+ID4gSW4gdjYsIFJlbW92ZSBKYW5zc29uSnNvbk1hcHBpbmcuaCBJbiB2NSwgbW92 ZSBCYXNlVWNzMlV0ZjhMaWIgdG8NCj4gPiA+ID4gdW5kZXIgUmVkZmlzaFBrZy4NCj4gPiA+ID4g SW4gdjQsDQo+ID4gPiA+ICAgICAgICAtIEFkZHJlc3MgcmV2aWV3IGNvbW1lbnRzDQo+ID4gPiA+ ICAgICAgICAtIFNlcGVyYXRlIENSVCBmdW5jdGlvbnMgdG8gYSBpbmRpdmlkdWxlIGxpYnJhcnkg Q3J0TGliIHVuZGVyDQo+ID4gPiA+ICAgICAgICAgIFJlZGZpc2hQa2cuDQo+ID4gPiA+ICAgICAg ICAtIFNlcGVyYXRlIFVDUzItVVRGOCBmdW5jdGlvbnMgdG8gYSBpbmRpdmlkdWxlIGxpYnJhcnkN Cj4gPiA+ID4gICAgICAgICAgQmFzZVVjczJVdGY4TGliIHVuZGVyIE1kZU1vZHVsZVBrZy4NCj4g PiA+ID4NCj4gPiA+ID4gSW4gdjMsIEFkZCBqYW5zc29uIGxpYnJhcnkgYXMgdGhlIHJlcXVpcmVk IHN1Ym1vdWRsZSBpbg0KPiA+ID4gPiAgICAgICAgQ2lTZXR0aW5ncy5weSBmb3IgQ0kgdGVzdC4N Cj4gPiA+ID4gSW4gdjIsIEpzb25MaWIgaXMgbW92ZWQgdG8gdW5kZXIgUmVkZmlzaFBrZy4NCj4g PiA+ID4NCj4gPiA+ID4gZWRrMiBKU09OIGxpYnJhcnkgaXMgYmFzZWQgb24gamFuc3NvbiBvcGVu IHNvdXJjZQ0KPiA+ID4gPiAoaHR0cHM6Ly9naXRodWIuY29tL2FraGVyb24vamFuc3NvbikgYW5k IHdyYXBwZWQgYXMgYW4gZWRrMiBsaWJyYXJ5Lg0KPiA+ID4gPiBlZGsyIEpzb25MaWIgd2lsbCBi ZSB1c2VkIGJ5IGVkazIgUmVkZmlzaCBmZWF0dXJlIGRyaXZlcnMgKG5vdA0KPiA+ID4gPiBjb250 cmlidXRlZCB5ZXQpIGFuZCB0aGUgZWRrMiBwb3J0IG9mIGxpYnJlZGZpc2ggbGlicmFyeSAobm90 DQo+ID4gPiA+IGNvbnRyaWJ1dGVkIHlldCkgYmFzZWQgb24gRE1URiBHaXRIdWINCj4gPiA+ID4g KGh0dHBzOi8vZ2l0aHViLmNvbS9ETVRGL2xpYnJlZGZpc2gpLg0KPiA+ID4gPg0KPiA+ID4gPiBK YW5zc29uIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZShyZWZlciB0byBSZWFkTWUu cnN0IHVuZGVyDQo+IGVkazIpLg0KPiA+ID4gPiBJdCBpcyB1c2VkIGluIHByb2R1Y3Rpb24gYW5k IGl0cyBBUEkgaXMgc3RhYmxlLiBJbiBVRUZJL0VES0lJDQo+ID4gPiA+IGVudmlyb25tZW50LCBS ZWRmaXNoIHByb2plY3QgY29uc3VtZXMgamFuc3NvbiB0byBhY2hpZXZlIEpTT04NCj4gPiA+IG9w ZXJhdGlvbnMuDQo+ID4gPiA+DQo+ID4gPiA+ICogSmFuc3NvbiB2ZXJzaW9uIG9uIGVkazI6IDIu MTMuMQ0KPiA+ID4gPg0KPiA+ID4gPiAqIEVES0lJIGphbnNzb24gbGlicmFyeSB3cmFwcGVyOg0K PiA+ID4gPiAgICAtIEpzb25MaWIuaDoNCj4gPiA+ID4gICAgICBUaGlzIGlzIHRoZSBkZW5pZml0 aW9ucyBvZiBFREtJSSBKU09OIEFQSXMgd2hpY2ggYXJlIG1hcHBlZCB0bw0KPiA+ID4gPiAgICAg IGphbm5zb24gZnVuY2l0b25zIGFjY29yZGluZ2x5Lg0KPiA+ID4gPg0KPiA+ID4gPiAgICAtIEph bnNzb25Kc29uTGliTWFwcGluZy5oOg0KPiA+ID4gPiAgICAgIFRoaXMgaXMgdGhlIHdyYXBwZXIg ZmlsZSB0byBtYXAgZnVuY2l0b25zIGFuZCBkZWZpbml0aW9ucyB1c2VkIGluDQo+ID4gPiA+ICAg ICAgbmF0aXZlIGphbm5zb24gYXBwbGljYXRpb25zIHRvIGVkazIgSnNvbkxpYi4gVGhpcyBhdm9p ZHMgdGhlDQo+ID4gPiA+ICAgICAgbW9kaWZpY2F0aW9ucyBvbiBuYXRpdmUgamFubnNvbiBhcHBs aWNhdGlvbnMgdG8gYmUgYnVpbHQgdW5kZXINCj4gPiA+ID4gICAgICBlZGsyIGVudmlyb25tZW50 Lg0KPiA+ID4gPg0KPiA+ID4gPiAqS25vd24gaXNzdWU6DQo+ID4gPiA+ICAgQnVpbGQgZmFpbCB3 aXRoIGphbnNzb24vc3JjL2xvYWQuYywgb3ZlcnJyaWRlIGFuZCBhZGQgY29kZSBpbiBsb2FkLmMN Cj4gPiA+ID4gICB0byBjb25kaXRpb25hbGx5IHVzZSBzdGRpbiBhY2NvcmRpbmcgdG8gSEFWRV9V TklTVERfSCBtYWNyby4NCj4gPiA+ID4gICBUaGUgUFIgaXMgc3VibWl0dGVkIHRvIGphbnNzb24g b3BlbiBzb3VyY2UgY29tbXVuaXR5Lg0KPiA+ID4gPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ha2hl cm9uL2phbnNzb24vcHVsbC81NTgNCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogQWJu ZXIgQ2hhbmcgPGFibmVyLmNoYW5nQGhwZS5jb20+DQo+ID4gPiA+DQo+ID4gPiA+IENjOiBTZWFu IEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT4NCj4gPiA+ID4gQ2M6IEJyZXQgQmFy a2VsZXcgPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbT4NCj4gPiA+ID4gQ2M6IEFuZHJldyBG aXNoIDxhZmlzaEBhcHBsZS5jb20+DQo+ID4gPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0By ZWRoYXQuY29tPg0KPiA+ID4gPiBDYzogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+ DQo+ID4gPiA+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT4NCj4gPiA+ID4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4g PiA+ID4gQ2M6IE5pY2tsZSBXYW5nIDxuaWNrbGUud2FuZ0BocGUuY29tPg0KPiA+ID4gPiBDYzog UGV0ZXIgTydIYW5sZXkgPHBldGVyLm9oYW5sZXlAaHBlLmNvbT4NCj4gPiA+ID4NCj4gPiA+ID4g QWJuZXIgQ2hhbmcgKDYpOg0KPiA+ID4gPiAgIFJlZGZpc2hQa2cvVWNzMlV0ZjhsaWI6IFVDUzIg dG8gVUZUOCBtYW5pcHVsYXRpb24gbGlicmFyeQ0KPiA+ID4gPiAgIGVkazI6IGphbnNzb24gc3Vi bW9kdWxlIGZvciBlZGsyIEpTT04gbGlicmFyeQ0KPiA+ID4gPiAgIFJlZGZpc2hQa2cvQ3J0TGli OiBDIHJ1bnRpbWUgbGlicmFyeQ0KPiA+ID4gPiAgIFJlZGZpc2hQa2cvbGlicmFyeTogRURLMiBw b3J0IG9mIGphbnNzb24gbGlicmFyeQ0KPiA+ID4gPiAgIFJlZGZpc2hQa2c6IEFkZCBFREsyIHBv cnQgb2YgamFuc3NvbiBsaWJyYXJ5IHRvIGJ1aWxkDQo+ID4gPiA+ICAgLnB5dG9vbDogQWRkIHJl cXVpcmVkIHN1Ym1vZHVsZSBmb3IgSnNvbkxpYg0KPiA+ID4gPg0KPiA+ID4gPiAgLmdpdG1vZHVs ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArDQo+ID4gPiA+ICAu cHl0b29sL0NJU2V0dGluZ3MucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsNCj4g PiA+ID4gIFJlYWRNZS5yc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg IDEgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9hc3NlcnQuaCAgICAgICAgICAg ICAgIHwgICAxNiArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L2Vycm5vLmggICAg ICAgICAgICAgICAgfCAgIDE2ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvbGlt aXRzLmggICAgICAgICAgICAgICB8ICAgMTYgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRl L0NydC9tYXRoLmggICAgICAgICAgICAgICAgIHwgICAxNiArDQo+ID4gPiA+ICBSZWRmaXNoUGtn L0luY2x1ZGUvQ3J0L3N0ZGFyZy5oICAgICAgICAgICAgICAgfCAgIDE1ICsNCj4gPiA+ID4gIFJl ZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3RkZGVmLmggICAgICAgICAgICAgICB8ICAgMTYgKw0KPiA+ ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9zdGRpby5oICAgICAgICAgICAgICAgIHwgICAx NSArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3N0ZGxpYi5oICAgICAgICAgICAg ICAgfCAgIDE2ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3RyaW5nLmggICAg ICAgICAgICAgICB8ICAgMTYgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9zeXMv dGltZS5oICAgICAgICAgICAgIHwgICAxNSArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUv Q3J0L3N5cy90eXBlcy5oICAgICAgICAgICAgfCAgIDE1ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cv SW5jbHVkZS9DcnQvdGltZS5oICAgICAgICAgICAgICAgICB8ICAgMTUgKw0KPiA+ID4gPiAgUmVk ZmlzaFBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZVVjczJVdGY4TGliLmggIHwgICA2MSArDQo+ID4g PiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUvTGlicmFyeS9DcnRMaWIuaCAgICAgICAgICAgfCAgMTkx ICsrKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0xpYnJhcnkvSnNvbkxpYi5oICAgICAg ICAgIHwgIDc2MyArKysrKysrKysrKw0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZVVjczJVdGY4 TGliL0Jhc2VVY3MyVXRmOExpYi5jIHwgIDQyMSArKysrKysrDQo+ID4gPiA+ICAuLi4vQmFzZVVj czJVdGY4TGliL0Jhc2VVY3MyVXRmOExpYi5pbmYgICAgICAgfCAgIDMxICsNCj4gPiA+ID4gIFJl ZGZpc2hQa2cvTGlicmFyeS9DcnRMaWIvQ3J0TGliLmMgICAgICAgICAgICB8ICA1OTUgKysrKysr KysrDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0xpYnJhcnkvQ3J0TGliL0NydExpYi5pbmYgICAgICAg ICAgfCAgIDM4ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvTGlicmFyeS9Kc29uTGliL0pzb25MaWIu YyAgICAgICAgICB8ICA5NjQgKysrKysrKysrKysrKysNCj4gPiA+ID4gIFJlZGZpc2hQa2cvTGli cmFyeS9Kc29uTGliL0pzb25MaWIuaW5mICAgICAgICB8ICAgODkgKysNCj4gPiA+ID4gIFJlZGZp c2hQa2cvTGlicmFyeS9Kc29uTGliL1JlYWRtZS5yc3QgICAgICAgICB8ICAgNDAgKw0KPiA+ID4g PiAgUmVkZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIvamFuc3NvbiAgICAgICAgICAgIHwgICAgMSAr DQo+ID4gPiA+ICBSZWRmaXNoUGtnL0xpYnJhcnkvSnNvbkxpYi9qYW5zc29uX2NvbmZpZy5oICAg fCAgIDQxICsNCj4gPiA+ID4gIC4uLi9MaWJyYXJ5L0pzb25MaWIvamFuc3Nvbl9wcml2YXRlX2Nv bmZpZy5oICB8ICAgMTkgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIvbG9h ZC5jICAgICAgICAgICAgIHwgMTExMSArKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAgUmVkZmlz aFBrZy9SZWRmaXNoTGlicy5kc2MuaW5jICAgICAgICAgICAgICAgIHwgICAgMyArDQo+ID4gPiA+ ICBSZWRmaXNoUGtnL1JlZGZpc2hQa2cuY2kueWFtbCAgICAgICAgICAgICAgICAgfCAgIDI1ICsN Cj4gPiA+ID4gIFJlZGZpc2hQa2cvUmVkZmlzaFBrZy5kZWMgICAgICAgICAgICAgICAgICAgICB8 ICAgMjUgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9SZWRmaXNoUGtnLmRzYyAgICAgICAgICAgICAg ICAgICAgIHwgICAgMyArDQo+ID4gPiA+ICAzMyBmaWxlcyBjaGFuZ2VkLCA0NjE0IGluc2VydGlv bnMoKykgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0 L2Fzc2VydC5oICBjcmVhdGUgbW9kZQ0KPiA+ID4gPiAxMDA2NDQgUmVkZmlzaFBrZy9JbmNsdWRl L0NydC9lcnJuby5oICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBrZy9JbmNs dWRlL0NydC9saW1pdHMuaCAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+IFJlZGZpc2hQa2cv SW5jbHVkZS9DcnQvbWF0aC5oICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBr Zy9JbmNsdWRlL0NydC9zdGRhcmcuaCAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+IFJlZGZp c2hQa2cvSW5jbHVkZS9DcnQvc3RkZGVmLmggIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiBS ZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3N0ZGlvLmggIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4g PiBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3N0ZGxpYi5oICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiA+ID4gUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9zdHJpbmcuaCAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+ID4gPiA+IFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3lzL3RpbWUuaCAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+ID4gPiA+IFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3lzL3R5cGVzLmgNCj4gPiA+ ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3RpbWUuaCAgY3Jl YXRlIG1vZGUNCj4gPiA+ID4gMTAwNjQ0IFJlZGZpc2hQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VV Y3MyVXRmOExpYi5oDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUmVkZmlzaFBrZy9JbmNs dWRlL0xpYnJhcnkvQ3J0TGliLmgNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRmaXNo UGtnL0luY2x1ZGUvTGlicmFyeS9Kc29uTGliLmgNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiA+ID4gPiBSZWRmaXNoUGtnL0xpYnJhcnkvQmFzZVVjczJVdGY4TGliL0Jhc2VVY3MyVXRm OExpYi5jDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBrZy9M aWJyYXJ5L0Jhc2VVY3MyVXRmOExpYi9CYXNlVWNzMlV0ZjhMaWIuaW5mDQo+ID4gPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQgUmVkZmlzaFBrZy9MaWJyYXJ5L0NydExpYi9DcnRMaWIuYw0KPiA+ID4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvTGlicmFyeS9DcnRMaWIvQ3J0TGliLmlu Zg0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvTGlicmFyeS9Kc29uTGli L0pzb25MaWIuYw0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvTGlicmFy eS9Kc29uTGliL0pzb25MaWIuaW5mDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUmVkZmlz aFBrZy9MaWJyYXJ5L0pzb25MaWIvUmVhZG1lLnJzdA0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTYw MDAwIFJlZGZpc2hQa2cvTGlicmFyeS9Kc29uTGliL2phbnNzb24NCj4gPiA+ID4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBSZWRmaXNoUGtnL0xpYnJhcnkvSnNvbkxpYi9qYW5zc29uX2NvbmZpZy5oDQo+ ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBrZy9MaWJyYXJ5L0pz b25MaWIvamFuc3Nvbl9wcml2YXRlX2NvbmZpZy5oDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgUmVkZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIvbG9hZC5jDQo+ID4gPiA+DQo+ID4gPiA+IC0t DQo+ID4gPiA+IDIuMTcuMQ0KPiA+DQoNCg==