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.4638.1608694991235529282 for ; Tue, 22 Dec 2020 19:43:11 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=Ii11o1s6; 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 0BN3dmaR027843; Wed, 23 Dec 2020 03:42:57 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=Mj2UGtFyyZwBiLcQqSF28ii7StRv/iE13Vs+AcdZRtU=; b=Ii11o1s60rkYcE1e5lNomxOSlYDxWe+BtI0mEOl6UnXjRM4qKXsmHYLEfhykhNvBnntq 2cLXZh7qY8MeBuNe4KoGnXhazsgdDfU0bCor02KeTfqA3/TYKQ6ekGX0bjhhEXB+6AFA n01ZNYKS2nDZ3O7E8XjXRUdr5aee2F/kNKO5PfgO7L/c0gIJXp41P1HL8+82X2vJjc7J eo41lCEsXemp3gPM7CA4AdHqJ6ajdgBrnMnoBCqkfvtncanzVAQf5Awxr4kEOIbQFiD3 CG7kJiJ9HnCB/GIl1EoV9R5cb31L5rX8Gb3S6yshuQKXGay7IvuC23NR8A2w3awOOwbZ aA== Received: from g4t3426.houston.hpe.com (g4t3426.houston.hpe.com [15.241.140.75]) by mx0a-002e3701.pphosted.com with ESMTP id 35k0cn1ufa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 23 Dec 2020 03:42:55 +0000 Received: from G2W6310.americas.hpqcorp.net (g2w6310.austin.hp.com [16.197.64.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3426.houston.hpe.com (Postfix) with ESMTPS id E86A659; Wed, 23 Dec 2020 03:42:53 +0000 (UTC) Received: from G9W8454.americas.hpqcorp.net (2002:10d8:a104::10d8:a104) by G2W6310.americas.hpqcorp.net (2002:10c5:4034::10c5:4034) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 03:42:53 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (15.241.52.13) by G9W8454.americas.hpqcorp.net (16.216.161.4) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 03:42:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O7RmBpbaOK+pUfys/xqtI7yG+wYDe69qOi45QC/oxHVIuQJYsRlh+vrTNMxPDC44lAmtp4f3QifXMZ23xRbX2u5sb1VyDiA/+Es4439vJNongTmIRv7Am6rCrDN5HHY/btd++x8Ea9xtHEA3b/HWZw394kSmaTOuMOF6VPbkaPsKwUdMb/sh0k4OGzueaoSS+BFtfuwFT4IciX9tM8CwHwqoqA5Oyr4MIg4Okvl78TqGGdZvaoX6tnIaORB5RyBN7kGfbT16t8rf4Mvf8lxG1X2zciVivvd+WDDvw9D+oR/kLhqv8AFk0DUCzR0ALeFov8nUN/dnsx78OoTm0X0R8Q== 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=KdLcF6f4nxKT4icaPs+LRpMAOTKAKXy7iKJpKNtGkw4=; b=dvCqaSDiJUXq6nGujTDhrvSlE8UF4TLrGZdGEBNhhgvshsb2LM/hwIollOBEuO7SO/AA/rfwI53LnNm+30q/nw/b530Jr5efXDcjX6IO4gJoZhPw3n6oxZX/zqtCI43nio03N4EH6zMnRoqkgADsoyBTaV+SWJf4UCKmUdELiXeqKTL6mSxl1Z8P5u2G/WZGTg5Wauzrq26ypoqOclpsr80nMoI3xEqHarEzdU3YQW1vtHlDunu73K+cSR5NOO93Z8CiRSKw0tid75UaW7WIcDfMbGkSAPFWcaKxAZnNInKX9XXWzHEiN7nACmCXzrLdhKdPK5VhuroQI0VkQ50Lpg== 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 CS1PR8401MB0583.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7509::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Wed, 23 Dec 2020 03:42:51 +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 03:42:51 +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+e5YmRTCg3N6oAUjyQgACDDDCAAS12sIACCO2w Date: Wed, 23 Dec 2020 03:42:50 +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: c4008c0a-682c-4b68-bfb2-08d8a6f4d2b4 x-ms-traffictypediagnostic: CS1PR8401MB0583: 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: hhyWizoIzICAOLitQQUAxDyW8aBfsdHAr0KSyeWtR0CiL3z8wLfTeyA7rXgrJL46mpfYmdEjyAvCPFJqnv5R/9oQre3q3UwRYO32lgTgURT2Ci2Dcv2yt6IVjqTrvyyb5N2+iwAyXYuczSBdwG4EAGuDHHagPXqc5CnFZgb5gILCnokQOpcRjbZxD0kCbHaCtN6h/S2tv1CXpL6JtfUMUzC9x09Xove1eCzVUZuPFzlxCoIiqys5OZuty1l0luFdjoXRUZAWSWK3ucdqU3YTLAvcffOajXGubC/n9xbYrNL6v20FFk8EbdaP2UTgac9lzewzKkMiMgXaiqQDkHs3bBf3N+fkIHZv0f08yFPq8k8ebVuupLBPGB26nOi0T7iEEm39QUOxelZjW34UFmDUqwF0TJfwzhd/Xr3euulXyNVb0+W1gkQ+9iR9MEfQmlwjTi7D376BuC89M5UOgRBpQQ== 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)(376002)(366004)(396003)(39860400002)(346002)(52536014)(33656002)(966005)(8936002)(64756008)(66476007)(66446008)(19627235002)(66556008)(478600001)(110136005)(54906003)(76116006)(9686003)(71200400001)(2906002)(4326008)(55016002)(8676002)(83380400001)(6506007)(53546011)(316002)(86362001)(30864003)(7696005)(55236004)(66946007)(5660300002)(26005)(186003)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?TElrVzZyTy9VM2lrTjhLZTAzUWxaaG5UUEFaV0E3SlF3ZThoaXBEOFBYTXVN?= =?utf-8?B?OXpzTFQ0VjZ5NXlOYTREVTF6U0xoWFZGcGpNdlNocnRkODV1d1pTNTRqTjE2?= =?utf-8?B?NjdWaXRrZ2hQWWhHTDJWU0UxM3hkSUlHVkZIMyswMmFNNFgrSW1BL2QxdnVR?= =?utf-8?B?WS9hd0dueDhSNmw3b1J5ajFONEw2STkwckxwUmZ6WWpWbVE5N1YxMldIc0dn?= =?utf-8?B?U0p4VXIwU3pTNVJZY0dkTWxTQitLQUFnTmhnQ1ZiV0FCbFNIeTlhRTU3cDJZ?= =?utf-8?B?eURUT21obHpzTnRaT3ZwRk1SYWJ2b05jY29pWmtnZStGN3BNcE92Q0JTRTRo?= =?utf-8?B?VVJwTHZHUzVPWHlrT0g4V2ptci9xMmltZ29HcjZiQkpac0sxYXJmMUNDbGFq?= =?utf-8?B?MWNoVkFxRkRvTUloOFFUeW5ZeEl3ZWN2R3RMMW9aeEJPTFdtYWZZelp1Z0xY?= =?utf-8?B?c0FRYys2N3pIZVZ3QzNVRWFwcDBndzRQclhQSkZmODY4bWlDNm1lbk0zTFJV?= =?utf-8?B?ZG0vRHM2S0k0L0pydFc1M0NHNjN3b2dJU3BRQW5LemJnWVdCZ3kzV2FpVDFh?= =?utf-8?B?eXBPQXM4dmVCRSsraWtCVUhhRy9nN1kyUUQ1QnBBNmZ1MzE2RUlTRENxZ1RW?= =?utf-8?B?d3hJK2FMRkl0dWFoaHhoUFRncU9WMzVVRmNIZVozVmJJQkNjMkVDRklUUGc4?= =?utf-8?B?WGpCR1VXK0VySXRHS2RZTTg5K3FRamxpUHpYYVBSamhkUEdLUGd0TlRHZVBU?= =?utf-8?B?R21HdGkwQXlTc3lMWlV6UUVqd1FKOS9zTEFnSVdialdkTWNvSWNyeUM2cDl0?= =?utf-8?B?dE9UUVplV1VpNXZHbnFnZVpwbGRtK0tZeXBSbFM5QWNEWFR2NWo3NjVvbm1D?= =?utf-8?B?Vm5qTkpvS2NrWjJDWVczRTdFeUVQSkdVT1JCMytXQmhIR2JwYjlEWm0rNTRG?= =?utf-8?B?R2UxbXRGdmR1OUUvVHpNanN6cHpEemNYV3N1bGJjeHZhOWVFM2xUdnlJdU0w?= =?utf-8?B?SldTYWpXcXVYWmQvV2tHamE4Vk9CalRrLzNBM3FVbU1BMTZ4L3NLWEVlZTl3?= =?utf-8?B?NFVmMjh5VVZCbWtaN00yK2FiSVZPVW85RVVnSFRYdE5VeUhJQWZ3clZHMERv?= =?utf-8?B?TzNsYUhsekdKdlE5VUsyK1ZIMXlPQzhNSTFFRVNyb1FaTUtTRkkxK0dPak1X?= =?utf-8?B?KzdkYXlTcjJaRkVwVHRURnliTG9JeGtwNlBYWEFRK3JNWk5ISk9ldDdEaENF?= =?utf-8?B?UDZvT0pSRUFORythd1BJbHNLRVpJZWVQRUJsSjdIK1dQWUErbnR0QUZLTjdm?= =?utf-8?Q?jrUhwYJrN8QUE=3D?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: c4008c0a-682c-4b68-bfb2-08d8a6f4d2b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 03:42:50.8747 (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: RaSEV1pO36capJgySUNuCVvCzdyjisW+njIOIDJn32j6JhqvvHlhzoDgEiu9UeGct4CZIGaxtvVio+ibKna1cA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0583 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-2012230027 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 dExpYg0KPiBjbGFzcy4NClJlc3BvbnNlcyBhbGwgdG9nZXRoZXIgaW4gYmVsb3csDQo+IA0KPiA+ DQo+ID4gPg0KPiA+ID4gKiBSZWRmaXNoUGtnL0luY2x1ZGUvTGlicmFyeS9DcnRMaWIuaA0KPiA+ ID4gICArIFJlbW92ZSByZWZlcmVuY2UgdG8gTURFX0NQVV9JQTY0LiAgVGhpcyBoYXMgYmVlbiBy ZXRpcmVkIGZyb20NCj4gPiA+IHRoZQ0KPiA+ID4gZWRrMiByZXBvLg0KPiA+IE9rLg0KPiA+ID4g ICArIEkgZG8gc2VlIG9uZSByZW1haW5pbmcgcmVmZXJlbmNlIHRvIHRoaXMgaW4gdGhlIENyeXB0 b1BrZyB0aGF0IG5lZWQgdG8NCj4gYmUNCj4gPiA+ICAgICByZW1vdmVkLg0KPiA+ID4NCj4gPiA+ ICogUmVkZmlzaFBrZy9JbmNsdWRlL0xpYnJhcnkvSnNvbkxpYi5oDQo+ID4gPiAgICsgU29tZSBv ZiB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb25zIGFyZSB2ZXJ5IGJyaWVmIGFuZCBJIGNhbiBub3Qg dGVsbA0KPiA+ID4gICAgIGhvdyB0byB1c2UgdGhlIHNlcnZpY2UgZnJvbSB0aGUgZGVzY3JpcHRp b24gYW5kIG1vcmUgaW1wb3J0YW50bHksIEkNCj4gPiA+ICAgICB3b3VsZCBub3Qga25vdyBob3cg dG8gd3JpdGUgYSB1bml0IHRlc3QgdG8gdmVyaWZ5IHRoZSBleHBlY3RlZA0KPiBiZWhhdmlvci4N Cj4gPiA+ICAgICBTaW5jZSB0aGVzZSBhcmUgYSBzZXQgb2YgcHVibGljIEFQSXMgZnJvbSB0aGlz IHBhY2thZ2UgdGhhdCB5b3UNCj4gPiA+ICAgICBleHBlY3QgbW9kdWxlcy9saWJzIGZyb20gb3V0 c2lkZSBvZiBSZWRmaXNoUGtnIHRvIHVzZSwgdGhlbiBhbGwgb2YNCj4gPiA+ICAgICB0aGVzZSBw dWJsaWMgQVBJcyBtdXN0IGJlIGZ1bGx5IGRvY3VtZW50ZWQuDQo+ID4gTW9zdCBvZiB0aGUgQVBJ IGluIEpzb25MaWIgYXJlIHdyYXBwZXJzIG9mIG5hdGl2ZSBqYW5zc29uIEFQSXMuIFdlIGNhbg0K PiA+IG1lbnRpb24gdGhlIFVSTCB0byBqYW5zc29uIEFQSSByZWZlcmVuY2UgZG9jdW1lbnQgaW4g ZmlsZSBoZWFkZXIuDQo+ID4gSU5WQUxJRCBVUkkgUkVNT1ZFRA0KPiAzQV9famFuc3Nvbi5yZWFk dGhlZG8NCj4gPg0KPiBjcy5pb19lbl8yLjEzX2luZGV4Lmh0bWwmZD1Ed0lHYVEmYz1DNWI4elJR TzFtaUdtQmVWWjJMRldnJnI9Xw0KPiBTTjZGWkJONA0KPiA+IFZnaTRVbGtza3o2cVUzTllSTzAz bkhwOVA3WjVxNTlBM0UmbT12ZC0NCj4gdVB6ODY0Y3pvWUE1QzdZYVBncVhmZFBqdjRjNWtCDQo+ ID4gelR3VjYwTnZOUSZzPWFjVnpOM3g0eU5EMGprZzQ0Yko0OFpreVB5dWdqd3NZdlVHZEQ0bkpM NzQmZT0NCj4gPiBJIHdpbGwgcmV2aWV3IGFsbCBmdW5jdGlvbiBoZWFkZXIgYWdhaW4sICBwbGVh c2UgY2hlY2sgdjkgcGF0Y2ggbGF0ZXIuDQo+ID4NCj4gPiA+ICAgKyBBcmUgdGhlcmUgYW55IG9m IHRoZXNlIEFQSXMgdGhhdCBhcmUgbm90IHJlYWxseSBuZWVkZWQgYnkgbW9kdWxlcy9saWJzDQo+ ID4gPiAgICAgb3V0c2lkZSB0aGUgUmVkZmlzaFBrZz8gIEl0IHdvdWxkIGJlIGJldHRlciB0byBy ZW1vdmUgQVBJcyB0aGF0IGFyZQ0KPiA+ID4gICAgIG5vdCBuZWVkZWQgb3V0c2lkZSBSZWRmaXNo UGtnIGZyb20gdGhpcyBwdWJsaWMgaW5jbHVkZSBmaWxlLg0KPiA+ID4gICArIEEgY291cGxlIGV4 YW1wbGVzIHRoYXQgc3Rvb2Qgb3V0IGFyZToNCj4gPiA+ICAgICBKc29uRGVjcmVhc2VSZWZlcmVu Y2UoKQ0KPiA+ID4gICAgIEpzb25JbmNyZWFzZVJlZmVyZW5jZSgpDQo+ID4gPiAgICAgSnNvbk9i amVjdEl0ZXJhdG9yKCkNCj4gPiA+ICAgICBKc29uT2JqZWN0SXRlcmF0b3JWYWx1ZSgpDQo+ID4g PiAgICAgSnNvbk9iamVjdEl0ZXJhdG9yTmV4dCgpDQo+ID4gVGhlIG5hdGl2ZSBqYW5zc29uIEFQ SXMgb2YgYWxsIGFib3ZlIHdyYXBwZXJzIGFyZSB1c2VkIGluIGxpYnJlZGZpc2guDQo+ID4gU28g dGhhdCBpcyB0aGUgcG90ZW50aWFsIHVzZSBjYXNlIGZvciBvdGhlciBKU09OIGFwcGxpY2F0aW9u cy4NCj4gDQo+IENhbiB5b3UgcHJvdmlkZSBhIHBvaW50ZXIgdG8gYW4gZXhhbXBsZSBvZiB0aGlz IHVzZSBjYXNlPw0KQWdhaW4sIHRob3NlIGFyZSB1c2VkIGluIG9wZW4gc291cmNlIHByb2plY3Qg cHVibGlzaGVkIGJ5IERNVEYgdG8gYWNjZXNzIHRvIFJlZGZpc2ggc2VydmljZS4gaHR0cHM6Ly9n aXRodWIuY29tL0RNVEYvbGlicmVkZmlzaA0KTm90IHN1cmUgaWYgeW91IGNhbiBhY2Nlc3MgdG8g aXQsIEkganVzdCBjcmVhdGVkIGFuIGEgYnJhbmNoIG9mIFJlZGZpc2hMaWIgZm9yIHlvdXIgY29u dmVuaWVuY2UuIFRha2UgYSBsb29rIGF0IHRoZSBsYXN0IGNvbW1pdCBvbiBiZWxvdyBsaW5rIGlm IHlvdSBjYW4ndCBhY2Nlc3MgdG8gbGlicmVkZmlzaCBvbiBETVRGIEdpdEh1Yi4NCmh0dHBzOi8v Z2l0aHViLmNvbS9jaGFuZ2FiL2VkazIvdHJlZS9SZWRmaXNoTGliDQp5b3UgY2FuIHNlYXJjaCBh Ym92ZSBBUElzICh0aGUgbmF0aXZlIG9uZXMpIGluIHBheWxvYWQuYyBhbmQgc2VydmljZS5jLg0K DQo+IA0KPiBJIGFtIHRyeWluZyB0byBtYWtlIHN1cmUgd2UgYXJlIGRvaW5nIHRoZSByaWdodCBk ZXNpZ24gb2YgUmVkZmlzaFBrZyB3aXRoDQo+IHJlc3BlY3QgdG8gQ3J0TGliIGZvciB0aGlzIHVz ZSBjYXNlLiAgQXJlIHRoZXNlIGFyZSBKU09OIGFwcHMgdGhhdCBkbyBub3QgdXNlDQo+IEpzb25M aWIsIGJ1dCBhcmUgZXhwZWN0ZWQgdG8gYnVpbGQgaW4gYW4gRURLIElJIGJ1aWxkIGVudmlyb25t ZW50PyANCk5vLCBsaWJyZWRmaXNoIHVzZXMgbmF0aXZlIGphbnNzb24gQVBJcy4NCg0KPldvdWxk DQo+IHRoZXNlIEpTT04gYXBwcyByZXF1aXJlIG1vcmUgc3RhbmRhcmQgQyBsaWIgc2VydmljZXMg dGhhbiB0aGUgQ3J0TGliIHVzZWQgdG8NCj4gYnVpbGQgSnNvbkxpYj8gIFdoZXJlIHdvdWxkIHRo b3NlIGFkZGl0aW9uYWwgQyBsaWIgc2VydmljZXMgY29tZSBmcm9tPw0KQ3J0TGliIGlzIGNyZWF0 ZWQgZm9yIGJvdGggamFuc3NvbiBhbmQgbGlicmVkZmlzaC4gQyBzZXJ2aWNlcyBhcmUgcmVhZHkg aW4gQ3J0TGliIGZvciBib3RoIG9wZW4gc291cmNlIHByb2plY3RzLg0KPiANCj4gVGhlcmUgaXMg YSBzdGFuZGFyZCBDIGxpYiBpbiBlZGsyLWxpYmMuICBXb3VsZCB0aGF0IGJlIHJlcXVpcmVkIHRv IGJ1aWxkIHRoZQ0KPiBKU09OIGFwcHMNCk5vIHJlcXVpcmVtZW50cyBmb3IgZWRrMi1saWJjLCBh dCBsZWFzdCBmb3IgamFuc3NvbiBhbmQgbGlicmVkZmlzaC4gQW5kIGFib3ZlIHR3byBvcGVuIHNv dXJjZSBwcm9qZWN0cyBhcmUgd2hhdCB3ZSBuZWVkIGZvciBSZWRmaXNoLg0KQW55IG90aGVyIGVk azIgYmFzZWQgSlNPTiBhcHBzL2RyaXZlcnMgc2hvdWxkIHVzZSBKc29uTGliLg0KPiANCj4gSW4g b3RoZXIgdXNlcyBvZiBzdWJtb2R1bGVzIHdpdGggQyBsaWIgZGVwZW5kZW5jaWVzLCBhIG5ldyBD cnRMaWIgbGlrZSBsaWINCj4gY2xhc3Mgd2FzIG5vdCBhZGRlZCBhbmQgaW5zdGVhZCB0aGUgc3Vw cG9ydCB3YXMgYWRkZWQgZGlyZWN0bHkgdG8gdGhlIEVESyBJSQ0KPiB3cmFwcGVyIEFQSXMuIFNv bWUgZXhhbXBsZXMgYXJlOg0KPiAgICogTWRlTW9kdWxlUGtnXExpYnJhcnlcQnJvdGxpQ3VzdG9t RGVjb21wcmVzc0xpYg0KPiAgICogTWRlTW9kdWxlUGtnXFVuaXZlcnNhbFxSZWd1bGFyRXhwcmVz c2lvbkR4ZQ0KV2UgaGF2ZSB0d28gbGlicmFyaWVzIHVuZGVyIFJlZGZpc2hQa2cgcmVxdWlyZSBD UlQgbGlicmFyeS4gVG8gaGF2ZSBvbmUgaW5zdGFuY2UgZm9yIGJvdGggbWFrZXMgc2Vuc2UgdG8g bWUuDQo+IA0KPiBJZiB0aGVyZSBhcmUgdXNlIGNhc2VzIHdoZXJlIHRoZSBDcnRMaWIgd2lsbCBi ZSBhZGRlZCB0byBhbiBJTkYgb3V0c2lkZSB0aGUNCj4gUmVkZmlzaFBrZywgdGhlbiBJIHN0aWxs IHRoaW5rIHRoZSBuYW1lIG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gYmUgc3BlY2lmaWMgdG8NCj4g dGhlIEpTT04gdXNlIGNhc2UuDQpObywgQ3J0TGliIHNob3VsZG7igJl0IGJlIHB1Ymxpc2hlZCB0 byBvdXRzaWRlIFJlZGZpc2hQa2cuIFRoYXQgaXMgb25seSB1c2VkIGZvciB0aG9zZSB0d28gb3Bl biBzb3VyY2UgcHJvamVjdHMuDQoNCj4gSWYgdGhlIHVzZSBvZiBDcnRMaWIgaXMgb25seSB3aXRo aW4gdGhlIFJlZGZpc2hQa2csIHRoZW4gdGhlIExpYnJhcnkgQ2xhc3MgY2FuIGJlDQo+IGRlY2xh cmVkIGluIGEgW0xpYnJhcnlDbGFzc2VzLkNvbW1vbi5Qcml2YXRlXSBzZWN0aW9uIG9mIHRoZSBE RUMgZmlsZS4gIFNlZQ0KPiBVbml0VGVzdEZyYW1ld29ya1BrZyBmb3IgZXhhbXBsZXMuDQpJIGxp a2UgdGhpcyB3YXkuIFdpbGwgYWRvcHQgdGhpcyBtZXRob2QgYW5kIHNlbmQgdjEwIGZvciByZXZp ZXcuDQoNCj4gDQo+ID4NCj4gPiA+ICAgKyBKc29uRHVtcFN0cmluZygpDQo+ID4gPiAgICAgZnVu YyBoZWFkZXIgcGFyYW1zIGRvIG5vdCBtYXRjaCBmdW5jIHByb3RvdHlwZQ0KPiA+ID4gICAgIERv ZXMgbm90IGRlc2NyaWJlIHdobyBhbGxvY2F0ZXMgdGhlIHJldHVybiBidWZmZXIgYW5kIHdobw0K PiA+ID4gICAgIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBidWZmZXIgcmV0dXJuZWQu DQo+ID4gPiAgICAgV2hhdCBkbyBGbGFncyBkbz8gIFdoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0 d2VlbiB0aGlzDQo+ID4gPiAgICAgZnVuY3Rpb24gYW5kIEpzb25Ub1RleHQoKT8NCj4gPiBJbiBK c29uVG9UZXh0LCBpdCBvbmx5IGNvbnZlcnRzIEpTT04gYXJyYXkgYW5kIG9iamVjdCB0byB0ZXh0 LiBXZQ0KPiA+IGNvdWxkIGp1c3QgcmVtb3ZlIHRoaXMgZm9yIG5vdyBiZWNhdXNlIEkgZG9u4oCZ dCByZWFsbHkgcmVtZW1iZXIgdGhlIHJlYXNvbg0KPiB0byBjcmVhdGUgdGhpcyBmdW5jdGlvbiwg aXQgaGFzIGJlZW4gYSB3aGlsZS4gU2VlbXMgdG8gbWUgaXQgaXMgZmluZSB0byByZW1vdmUNCj4g dGhpcyBmdW5jdGlvbi4NCj4gPg0KPiA+ID4gICArIEpzb25Mb2FkQnVmZmVyKCkgLSBFcnJvciBw YXJhbSBkZXNjcmlwdGlvbiBtaXNzaW5nDQo+ID4gPiAgICsgSnNvbkFycmF5R2V0VmFsdWUoKSBk b2VzIG5vdCBkZXNjcmliZSB0aGUgY29uZGl0aW9ucyBOVUxMDQo+ID4gPiAgICAgaXMgcmV0dXJu ZWQuDQo+ID4gPiAgICsgSnNvbk9iamVjdEdldEtleXMoKS4gIFJldHVybiB0eXBlIGlzIENIQVI4 KiouICBXaGF0DQo+ID4gPiAgICAgZnVuY3Rpb24gbmVlZCB0byBiZSBjYWxsZWQgdG8gZnJlZSB0 aGUgYXJyYXk/DQo+ID4gQWxsIGFib3ZlIGFkZHJlc3NlZC4NCj4gPg0KPiA+ID4gICArIEpzb25W YWx1ZUdldEFzY2lpU3RyaW5nKCkgYW5kIEpzb25WYWx1ZUdldFVuaWNvZGVTdHJpbmcoKQ0KPiA+ ID4gICAgIGFyZSBhc3ltbWV0cmljLiAgVGhlIEFzY2lpIG9uZSBzdGF0ZXMgdGhhdCBjaGFuZ2Ug d2lsbA0KPiA+ID4gICAgIG1vZGlmeSB0aGUgb3JpZ2luYWwgc3RyaW5nLiAgVGhlIFVuaWNvZGUg b25lIHNheXMgdGhhdCB0aGUNCj4gPiA+ICAgICBjYWxsZXIgbmVlZHMgdG8gZnJlZSB0aGUgcmV0 dXJuZWQgc3RyaW5nLiAgQW55IHJlYXNvbiB3ZQ0KPiA+ID4gICAgIGNhbiBub3QgbWFrZSB0aGVt IHN5bW1ldHJpYz8NCj4gPiBKYW5zc29uIGRvZXNuJ3Qgc3VwcG9ydCBVbmljb2RlIHN0cmluZy4g VGhlIG1lbW9yeSBvZiB0aGUgdW5pY29kZQ0KPiA+IHN0cmluZyByZXR1cm5lZCBieSBKc29uVmFs dWVHZXRVbmljb2RlU3RyaW5nIElzIGFsbG9jYXRlZCBieQ0KPiBVVEY4U3RyVG9VQ1MyKCkuDQo+ ID4gID4gQWxzbywgaWYgQXNjaWkgb25lIHNob3VsZA0KPiA+ID4gICAgIG5vdCBiZSBtb2RpZmll ZCwgd2h5IGlzbuKAmXQgdGhlIHJldHVybiB0eXBlIENPTlNUPw0KPiA+IFllcy4gd2lsbCBkbyB0 aGF0Lg0KPiA+DQo+ID4gPg0KPiA+ID4gKiBSZWRmaXNoUGtnL0xpYnJhcnkvQmFzZVVjczJVdGY4 TGliL0Jhc2VVY3MyVXRmOExpYi5pbmYNCj4gPiA+ICAgKyBDaGFuZ2UgW1NvdXJjZXMuY29tbW9u XSB0byBbU291cmNlc10NCj4gPiBkb25lDQo+ID4gPiAqIFJlZGZpc2hQa2cvTGlicmFyeS9DcnRM aWIvQ3J0TGliLmluZg0KPiA+ID4gICArIERvZXMgdGhpcyBsaWIgaW5zdGFuY2UgcmVhbGx5IGRl cGVuZCBvbiBNZGVNb2R1bGVQa2c/DQo+ID4gWWVzLCBTb3J0TGliDQo+ID4gPiAgICsgSGF2ZSB5 b3UgcmV2aWV3ZWQgdGhlIG1vZHVsZSB0eXBlcyB0aGlzIGxpYiBpbnN0YW5jZSBpcw0KPiA+ID4g ICAgIGNvbXBhdGlibGUgd2l0aD8gIFdoeSBkb2VzIGl0IG5lZWQgdG8gc3VwcG9ydCBEWEVfQ09S RT8NCj4gPiA+ICAgICBBcmUgdGhlaXIgSnNvbkxpYiB1c2UgY2FzZXMgZm9yIERYRV9SVU5USU1F IGFuZCBTTU0gZHJpdmVycz8NCj4gPiA+ICAgICBJZiB0aGVyZSBhcmUgU01NIHVzZSBjYXNlcywg dGhlbiB3aHkgaXMgTU0gZXhjbHVkZWQ/DQo+ID4gV2lsbCBqdXN0IGtlZXAgRFhFX0RSVkVSLCBV RUZJX0FQUExJQ0FUSU9OIGFuZCBVRUZJX0RSSVZFUi4gVGhlc2UNCj4gYXJlDQo+ID4gbW9kdWxl IHR5cGVzIGhhdmUgcG90ZW50aWFsIHVzZSBjYXNlcyBJIGNhbiB0aGluayBvZiBub3cuDQo+ID4g Pg0KPiA+ID4gKiBSZWRmaXNoUGtnL0xpYnJhcnkvSnNvbkxpYg0KPiA+ID4gICArIFJlYWRtZS5y c3Qgc3RpbGwgaGFzIHJlZmVyZW5jZXMgdG8gSmFuc3Nvbkpzb25MaWJNYXBwaW5nLmgNCj4gPiBk b25lDQo+ID4gPiAgICsgSGF2ZSB5b3UgcmV2aWV3ZWQgdGhlIG1vZHVsZSB0eXBlcyB0aGlzIGxp YiBpbnN0YW5jZSBpcw0KPiA+ID4gICAgIGNvbXBhdGlibGUgd2l0aD8gIFdoeSBkb2VzIGl0IG5l ZWQgdG8gc3VwcG9ydCBEWEVfQ09SRT8NCj4gPiA+ICAgICBBcmUgdGhlaXIgSnNvbkxpYiB1c2Ug Y2FzZXMgZm9yIERYRV9SVU5USU1FIGFuZCBTTU0gZHJpdmVycz8NCj4gPiA+ICAgICBJZiB0aGVy ZSBhcmUgU01NIHVzZSBjYXNlcywgdGhlbiB3aHkgaXMgTU0gZXhjbHVkZWQ/DQo+ID4gQW5zd2Vy ZWQgYWJvdmUNCj4gPiA+ICAgKyBKc29uTGliLmluZiBoYXMgYSBbQnVpbGRPcHRpb25zXSBzZWN0 aW9uIHRoYXQgZGlzYWJsZXMgc29tZSB3YXJuaW5ncw0KPiB0aGF0DQo+ID4gPiAgICAgbWFrZSBt ZSBjb25jZXJuZWQgdGhhdCB0aGlzIGxpYnJhcnkgbWF5IGhhdmUgc29tZSBpc3N1ZXMgd2l0aA0K PiA+ID4gMzItYml0IGJ1aWxkcy4NCj4gPiA+ICAgICBIYXZlIHlvdSBmdWxseSB2YWxpZGF0ZWQg YWxsIDMyLWJpdCBDUFUgYnVpbGRzIGFuZCB2YWxpZGF0ZWQgdGhlDQo+IGZ1bmN0aW9uYWxpdHkN Cj4gPiA+ICAgICBvZiBhbGwgc2VydmljZXMgZnJvbSB0aGUgSnNvbkxpYiBmb3IgYWxsIHJhbmdl cyBvZiBpbnB1dCB2YWx1ZXM/DQo+ID4gWWVzLCBJQTMyIGJ1aWxkIGlzIHZhbGlkYXRlZC4gQnV0 IG5vdCB2YWxpZGF0aW5nIG9uIHRoZQ0KPiA+IGZ1bmN0aW9uYWxpdGllcyBJQTMyLiBJIGRvbid0 IGhhdmUgdGhhdCB1c2UgY2FzZSwgd2UgY2FuIGdldCBiYWNrIHRvIGZpeCB0aGUNCj4gaXNzdWUg aWYgYW55IHdoZW4gIHNvbWVvbmUgcnVucyB0aGlzIG9uIElBMzIuDQo+IA0KPiBJIGRpZCBzb21l IGxvY2FsIHRlc3Rpbmcgd2l0aCBWUzIwMTkuICBJIGZvdW5kIHRoYXQgYSBtdWNoIHNtYWxsZXIg c2V0IG9mDQo+IHdhcm5pbmcgZGlzYWJsZXMgYXJlIHJlcXVpcmVkIGZvciBJQTMyIGFuZCBYNjQg YW5kIHRoZSBzZXQgaXMgZGlmZmVyZW50IGZvcg0KPiBJQTMyIGFuZCBYNjQuICBDYW4geW91IHJl dmlldyB3aGF0IGlzIG5lZWRlZCBhbmQgbWluaW1pemUgdGhlIHJlcXVpcmVkIHNldA0KPiBvZiBl YWNoIHN1cHBvcnRlZCBhcmNoPw0KPiANCj4gICBNU0ZUOipfKl9YNjRfQ0NfRkxBR1MgPSAvd2Q0 MjQ0IC93ZDQwOTAgL3dkNDMzNA0KPiAvREhBVkVfQ09ORklHX0g9MSAvVV9XSU4zMiAvVVdJTjY0 IC9VX01TQ19WRVINCj4gICBNU0ZUOipfKl9JQTMyX0NDX0ZMQUdTID0gL3dkNDI0NCAvd2Q0MDkw IC9ESEFWRV9DT05GSUdfSD0xDQo+IC9VX1dJTjMyIC9VV0lONjQgL1VfTVNDX1ZFUg0KPiANCj4g PiA+DQo+ID4gPiAqIFJlZGZpc2hMaWJzLmRzYy5pbmMNCj4gPiA+ICAgSXQgaXMgYmV0dGVyIHRv IGFkZCBbTGlicmFyeUNsYXNzZXNdIHN0YXRlbWVudCB0byB0aGlzIGZpbGUsIHNvIGl0DQo+ID4g PiAgIGNhbiBiZSBpbmNsdWRlIGFueXdoZXJlIGluIGEgRFNDIGZpbGUuICBXaXRoIGN1cnJlbnQg aW1wbGVtZW50YXRpb24NCj4gPiA+ICAgaWYgaXQgaXMgbm90IGluY2x1ZGVkIHdpdGhpbiBhIFtM aWJyYXJ5Q2xhc3Nlc10gc2VjdGlvbiwgaXQgd2lsbA0KPiA+ID4gICBnZW5lcmF0ZSBhIGJ1aWxk IGVycm9yLg0KPiA+IEkgd2lsbCBzZXBhcmF0ZSB0aGlzIHRvIGFub3RoZXIgc2V0IG9mIHBhdGNo LiBEb27igJl0IG1peCB1cCB3aXRoIGphbnNzb24gZWRrMg0KPiBwb3J0Lg0KPiA+DQo+ID4gPllv dSBtaWdodCBhbHNvIGNvbnNpZGVyIGNoYW5naW5nIHRoZSBuYW1lDQo+ID4gPiAgIG9mIHRoaXMg ZmlsZSBpbiBjYXNlIHlvdSB3YW50IHRvIGFkZCBtb3JlIHRoYW4ganVzdCBsaWIgbWFwcGluZ3MN Cj4gPiA+ICAgdG8gdGhpcyBmaWxlIGluIHRoZSBmdXR1cmUuICBTZWUgVW5pdFRlc3RGcmFtd29y a1BrZyBmb3IgZXhhbXBsZXMuDQo+ID4gPg0KPiA+ID4gQmVzdCByZWdhcmRzLA0KPiA+ID4NCj4g PiA+IE1pa2UNCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiA+IEZyb206IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BocGUuY29tPg0KPiA+ID4gPiBTZW50 OiBUaHVyc2RheSwgRGVjZW1iZXIgMTcsIDIwMjAgNToxOSBBTQ0KPiA+ID4gPiBUbzogZGV2ZWxA ZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNy b3NvZnQuY29tPjsgQnJldCBCYXJrZWxldw0KPiA+ID4gPiA8QnJldC5CYXJrZWxld0BtaWNyb3Nv ZnQuY29tPjsgQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT47DQo+ID4gPiA+IExhc3psbyBF cnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBMZWlmIExpbmRob2xtDQo+ID4gPiA+IDxsZWlmQG51 dmlhaW5jLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+IDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT47IExpbWluZyBHYW8NCj4gPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bj47IE5pY2tsZSBXYW5nIDxuaWNrbGUud2FuZ0BocGUuY29tPjsNCj4gPiA+IFBldGVyDQo+ID4g PiA+IE8nSGFubGV5IDxwZXRlci5vaGFubGV5QGhwZS5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFtQ QVRDSCB2OCAwLzZdIGphbnNzb24gZWRrMiBwb3J0DQo+ID4gPiA+DQo+ID4gPiA+IEluIHY4LCAt IEFzc2lnbmUgcGF0Y2ggZmlsZSBvcmRlcg0KPiA+ID4gPiAgICAgICAgLSBBZGQgQWNrZWQtYnkg dGFncw0KPiA+ID4gPiBJbiB2NywgLSBSZW1vdmUgQyBSVEMgaGVhZGVyIGZpbGVzIHRvIHVuZGVy IFtJbmNsdWRlLkNvbW1vbi5Qcml2YXRlXQ0KPiA+ID4gPiAgICAgICAgICBpbiBSZWRmaXNoUGtn LmRlYy4NCj4gPiA+ID4gICAgICAgIC0gYWRkcmVzcyBjb21tZW50cyBnaXZlbiBieSBNaWtlIEtp bm5leS4NCj4gPiA+ID4gSW4gdjYsIFJlbW92ZSBKYW5zc29uSnNvbk1hcHBpbmcuaCBJbiB2NSwg bW92ZSBCYXNlVWNzMlV0ZjhMaWIgdG8NCj4gPiA+ID4gdW5kZXIgUmVkZmlzaFBrZy4NCj4gPiA+ ID4gSW4gdjQsDQo+ID4gPiA+ICAgICAgICAtIEFkZHJlc3MgcmV2aWV3IGNvbW1lbnRzDQo+ID4g PiA+ICAgICAgICAtIFNlcGVyYXRlIENSVCBmdW5jdGlvbnMgdG8gYSBpbmRpdmlkdWxlIGxpYnJh cnkgQ3J0TGliIHVuZGVyDQo+ID4gPiA+ICAgICAgICAgIFJlZGZpc2hQa2cuDQo+ID4gPiA+ICAg ICAgICAtIFNlcGVyYXRlIFVDUzItVVRGOCBmdW5jdGlvbnMgdG8gYSBpbmRpdmlkdWxlIGxpYnJh cnkNCj4gPiA+ID4gICAgICAgICAgQmFzZVVjczJVdGY4TGliIHVuZGVyIE1kZU1vZHVsZVBrZy4N Cj4gPiA+ID4NCj4gPiA+ID4gSW4gdjMsIEFkZCBqYW5zc29uIGxpYnJhcnkgYXMgdGhlIHJlcXVp cmVkIHN1Ym1vdWRsZSBpbg0KPiA+ID4gPiAgICAgICAgQ2lTZXR0aW5ncy5weSBmb3IgQ0kgdGVz dC4NCj4gPiA+ID4gSW4gdjIsIEpzb25MaWIgaXMgbW92ZWQgdG8gdW5kZXIgUmVkZmlzaFBrZy4N Cj4gPiA+ID4NCj4gPiA+ID4gZWRrMiBKU09OIGxpYnJhcnkgaXMgYmFzZWQgb24gamFuc3NvbiBv cGVuIHNvdXJjZQ0KPiA+ID4gPiAoaHR0cHM6Ly9naXRodWIuY29tL2FraGVyb24vamFuc3Nvbikg YW5kIHdyYXBwZWQgYXMgYW4gZWRrMiBsaWJyYXJ5Lg0KPiA+ID4gPiBlZGsyIEpzb25MaWIgd2ls bCBiZSB1c2VkIGJ5IGVkazIgUmVkZmlzaCBmZWF0dXJlIGRyaXZlcnMgKG5vdA0KPiA+ID4gPiBj b250cmlidXRlZCB5ZXQpIGFuZCB0aGUgZWRrMiBwb3J0IG9mIGxpYnJlZGZpc2ggbGlicmFyeSAo bm90DQo+ID4gPiA+IGNvbnRyaWJ1dGVkIHlldCkgYmFzZWQgb24gRE1URiBHaXRIdWINCj4gPiA+ ID4gKGh0dHBzOi8vZ2l0aHViLmNvbS9ETVRGL2xpYnJlZGZpc2gpLg0KPiA+ID4gPg0KPiA+ID4g PiBKYW5zc29uIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZShyZWZlciB0byBSZWFk TWUucnN0IHVuZGVyDQo+IGVkazIpLg0KPiA+ID4gPiBJdCBpcyB1c2VkIGluIHByb2R1Y3Rpb24g YW5kIGl0cyBBUEkgaXMgc3RhYmxlLiBJbiBVRUZJL0VES0lJDQo+ID4gPiA+IGVudmlyb25tZW50 LCBSZWRmaXNoIHByb2plY3QgY29uc3VtZXMgamFuc3NvbiB0byBhY2hpZXZlIEpTT04NCj4gPiA+ IG9wZXJhdGlvbnMuDQo+ID4gPiA+DQo+ID4gPiA+ICogSmFuc3NvbiB2ZXJzaW9uIG9uIGVkazI6 IDIuMTMuMQ0KPiA+ID4gPg0KPiA+ID4gPiAqIEVES0lJIGphbnNzb24gbGlicmFyeSB3cmFwcGVy Og0KPiA+ID4gPiAgICAtIEpzb25MaWIuaDoNCj4gPiA+ID4gICAgICBUaGlzIGlzIHRoZSBkZW5p Zml0aW9ucyBvZiBFREtJSSBKU09OIEFQSXMgd2hpY2ggYXJlIG1hcHBlZCB0bw0KPiA+ID4gPiAg ICAgIGphbm5zb24gZnVuY2l0b25zIGFjY29yZGluZ2x5Lg0KPiA+ID4gPg0KPiA+ID4gPiAgICAt IEphbnNzb25Kc29uTGliTWFwcGluZy5oOg0KPiA+ID4gPiAgICAgIFRoaXMgaXMgdGhlIHdyYXBw ZXIgZmlsZSB0byBtYXAgZnVuY2l0b25zIGFuZCBkZWZpbml0aW9ucyB1c2VkIGluDQo+ID4gPiA+ ICAgICAgbmF0aXZlIGphbm5zb24gYXBwbGljYXRpb25zIHRvIGVkazIgSnNvbkxpYi4gVGhpcyBh dm9pZHMgdGhlDQo+ID4gPiA+ICAgICAgbW9kaWZpY2F0aW9ucyBvbiBuYXRpdmUgamFubnNvbiBh cHBsaWNhdGlvbnMgdG8gYmUgYnVpbHQgdW5kZXINCj4gPiA+ID4gICAgICBlZGsyIGVudmlyb25t ZW50Lg0KPiA+ID4gPg0KPiA+ID4gPiAqS25vd24gaXNzdWU6DQo+ID4gPiA+ICAgQnVpbGQgZmFp bCB3aXRoIGphbnNzb24vc3JjL2xvYWQuYywgb3ZlcnJyaWRlIGFuZCBhZGQgY29kZSBpbiBsb2Fk LmMNCj4gPiA+ID4gICB0byBjb25kaXRpb25hbGx5IHVzZSBzdGRpbiBhY2NvcmRpbmcgdG8gSEFW RV9VTklTVERfSCBtYWNyby4NCj4gPiA+ID4gICBUaGUgUFIgaXMgc3VibWl0dGVkIHRvIGphbnNz b24gb3BlbiBzb3VyY2UgY29tbXVuaXR5Lg0KPiA+ID4gPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9h a2hlcm9uL2phbnNzb24vcHVsbC81NTgNCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTog QWJuZXIgQ2hhbmcgPGFibmVyLmNoYW5nQGhwZS5jb20+DQo+ID4gPiA+DQo+ID4gPiA+IENjOiBT ZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT4NCj4gPiA+ID4gQ2M6IEJyZXQg QmFya2VsZXcgPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbT4NCj4gPiA+ID4gQ2M6IEFuZHJl dyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+DQo+ID4gPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiA+ID4gPiBDYzogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5j b20+DQo+ID4gPiA+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT4NCj4gPiA+ID4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4N Cj4gPiA+ID4gQ2M6IE5pY2tsZSBXYW5nIDxuaWNrbGUud2FuZ0BocGUuY29tPg0KPiA+ID4gPiBD YzogUGV0ZXIgTydIYW5sZXkgPHBldGVyLm9oYW5sZXlAaHBlLmNvbT4NCj4gPiA+ID4NCj4gPiA+ ID4gQWJuZXIgQ2hhbmcgKDYpOg0KPiA+ID4gPiAgIFJlZGZpc2hQa2cvVWNzMlV0ZjhsaWI6IFVD UzIgdG8gVUZUOCBtYW5pcHVsYXRpb24gbGlicmFyeQ0KPiA+ID4gPiAgIGVkazI6IGphbnNzb24g c3VibW9kdWxlIGZvciBlZGsyIEpTT04gbGlicmFyeQ0KPiA+ID4gPiAgIFJlZGZpc2hQa2cvQ3J0 TGliOiBDIHJ1bnRpbWUgbGlicmFyeQ0KPiA+ID4gPiAgIFJlZGZpc2hQa2cvbGlicmFyeTogRURL MiBwb3J0IG9mIGphbnNzb24gbGlicmFyeQ0KPiA+ID4gPiAgIFJlZGZpc2hQa2c6IEFkZCBFREsy IHBvcnQgb2YgamFuc3NvbiBsaWJyYXJ5IHRvIGJ1aWxkDQo+ID4gPiA+ICAgLnB5dG9vbDogQWRk IHJlcXVpcmVkIHN1Ym1vZHVsZSBmb3IgSnNvbkxpYg0KPiA+ID4gPg0KPiA+ID4gPiAgLmdpdG1v ZHVsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArDQo+ID4gPiA+ ICAucHl0b29sL0NJU2V0dGluZ3MucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsN Cj4gPiA+ID4gIFJlYWRNZS5yc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgIDEgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9hc3NlcnQuaCAgICAgICAg ICAgICAgIHwgICAxNiArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L2Vycm5vLmgg ICAgICAgICAgICAgICAgfCAgIDE2ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQv bGltaXRzLmggICAgICAgICAgICAgICB8ICAgMTYgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNs dWRlL0NydC9tYXRoLmggICAgICAgICAgICAgICAgIHwgICAxNiArDQo+ID4gPiA+ICBSZWRmaXNo UGtnL0luY2x1ZGUvQ3J0L3N0ZGFyZy5oICAgICAgICAgICAgICAgfCAgIDE1ICsNCj4gPiA+ID4g IFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3RkZGVmLmggICAgICAgICAgICAgICB8ICAgMTYgKw0K PiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9zdGRpby5oICAgICAgICAgICAgICAgIHwg ICAxNSArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3N0ZGxpYi5oICAgICAgICAg ICAgICAgfCAgIDE2ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3RyaW5nLmgg ICAgICAgICAgICAgICB8ICAgMTYgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9z eXMvdGltZS5oICAgICAgICAgICAgIHwgICAxNSArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1 ZGUvQ3J0L3N5cy90eXBlcy5oICAgICAgICAgICAgfCAgIDE1ICsNCj4gPiA+ID4gIFJlZGZpc2hQ a2cvSW5jbHVkZS9DcnQvdGltZS5oICAgICAgICAgICAgICAgICB8ICAgMTUgKw0KPiA+ID4gPiAg UmVkZmlzaFBrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZVVjczJVdGY4TGliLmggIHwgICA2MSArDQo+ ID4gPiA+ICBSZWRmaXNoUGtnL0luY2x1ZGUvTGlicmFyeS9DcnRMaWIuaCAgICAgICAgICAgfCAg MTkxICsrKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9JbmNsdWRlL0xpYnJhcnkvSnNvbkxpYi5oICAg ICAgICAgIHwgIDc2MyArKysrKysrKysrKw0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZVVjczJV dGY4TGliL0Jhc2VVY3MyVXRmOExpYi5jIHwgIDQyMSArKysrKysrDQo+ID4gPiA+ICAuLi4vQmFz ZVVjczJVdGY4TGliL0Jhc2VVY3MyVXRmOExpYi5pbmYgICAgICAgfCAgIDMxICsNCj4gPiA+ID4g IFJlZGZpc2hQa2cvTGlicmFyeS9DcnRMaWIvQ3J0TGliLmMgICAgICAgICAgICB8ICA1OTUgKysr KysrKysrDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0xpYnJhcnkvQ3J0TGliL0NydExpYi5pbmYgICAg ICAgICAgfCAgIDM4ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvTGlicmFyeS9Kc29uTGliL0pzb25M aWIuYyAgICAgICAgICB8ICA5NjQgKysrKysrKysrKysrKysNCj4gPiA+ID4gIFJlZGZpc2hQa2cv TGlicmFyeS9Kc29uTGliL0pzb25MaWIuaW5mICAgICAgICB8ICAgODkgKysNCj4gPiA+ID4gIFJl ZGZpc2hQa2cvTGlicmFyeS9Kc29uTGliL1JlYWRtZS5yc3QgICAgICAgICB8ICAgNDAgKw0KPiA+ ID4gPiAgUmVkZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIvamFuc3NvbiAgICAgICAgICAgIHwgICAg MSArDQo+ID4gPiA+ICBSZWRmaXNoUGtnL0xpYnJhcnkvSnNvbkxpYi9qYW5zc29uX2NvbmZpZy5o ICAgfCAgIDQxICsNCj4gPiA+ID4gIC4uLi9MaWJyYXJ5L0pzb25MaWIvamFuc3Nvbl9wcml2YXRl X2NvbmZpZy5oICB8ICAgMTkgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIv bG9hZC5jICAgICAgICAgICAgIHwgMTExMSArKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAgUmVk ZmlzaFBrZy9SZWRmaXNoTGlicy5kc2MuaW5jICAgICAgICAgICAgICAgIHwgICAgMyArDQo+ID4g PiA+ICBSZWRmaXNoUGtnL1JlZGZpc2hQa2cuY2kueWFtbCAgICAgICAgICAgICAgICAgfCAgIDI1 ICsNCj4gPiA+ID4gIFJlZGZpc2hQa2cvUmVkZmlzaFBrZy5kZWMgICAgICAgICAgICAgICAgICAg ICB8ICAgMjUgKw0KPiA+ID4gPiAgUmVkZmlzaFBrZy9SZWRmaXNoUGtnLmRzYyAgICAgICAgICAg ICAgICAgICAgIHwgICAgMyArDQo+ID4gPiA+ICAzMyBmaWxlcyBjaGFuZ2VkLCA0NjE0IGluc2Vy dGlvbnMoKykgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiBSZWRmaXNoUGtnL0luY2x1ZGUv Q3J0L2Fzc2VydC5oICBjcmVhdGUgbW9kZQ0KPiA+ID4gPiAxMDA2NDQgUmVkZmlzaFBrZy9JbmNs dWRlL0NydC9lcnJuby5oICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBrZy9J bmNsdWRlL0NydC9saW1pdHMuaCAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+IFJlZGZpc2hQ a2cvSW5jbHVkZS9DcnQvbWF0aC5oICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlz aFBrZy9JbmNsdWRlL0NydC9zdGRhcmcuaCAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+IFJl ZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3RkZGVmLmggIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4g PiBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3N0ZGlvLmggIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ ID4gPiBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3N0ZGxpYi5oICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gUmVkZmlzaFBrZy9JbmNsdWRlL0NydC9zdHJpbmcuaCAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+ID4gPiA+IFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3lzL3RpbWUuaCAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+ID4gPiA+IFJlZGZpc2hQa2cvSW5jbHVkZS9DcnQvc3lzL3R5cGVzLmgNCj4g PiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRmaXNoUGtnL0luY2x1ZGUvQ3J0L3RpbWUuaCAg Y3JlYXRlIG1vZGUNCj4gPiA+ID4gMTAwNjQ0IFJlZGZpc2hQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jh c2VVY3MyVXRmOExpYi5oDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUmVkZmlzaFBrZy9J bmNsdWRlL0xpYnJhcnkvQ3J0TGliLmgNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRm aXNoUGtnL0luY2x1ZGUvTGlicmFyeS9Kc29uTGliLmgNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiA+ID4gPiBSZWRmaXNoUGtnL0xpYnJhcnkvQmFzZVVjczJVdGY4TGliL0Jhc2VVY3My VXRmOExpYi5jDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBr Zy9MaWJyYXJ5L0Jhc2VVY3MyVXRmOExpYi9CYXNlVWNzMlV0ZjhMaWIuaW5mDQo+ID4gPiA+ICBj cmVhdGUgbW9kZSAxMDA2NDQgUmVkZmlzaFBrZy9MaWJyYXJ5L0NydExpYi9DcnRMaWIuYw0KPiA+ ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvTGlicmFyeS9DcnRMaWIvQ3J0TGli LmluZg0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvTGlicmFyeS9Kc29u TGliL0pzb25MaWIuYw0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvTGli cmFyeS9Kc29uTGliL0pzb25MaWIuaW5mDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUmVk ZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIvUmVhZG1lLnJzdA0KPiA+ID4gPiAgY3JlYXRlIG1vZGUg MTYwMDAwIFJlZGZpc2hQa2cvTGlicmFyeS9Kc29uTGliL2phbnNzb24NCj4gPiA+ID4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBSZWRmaXNoUGtnL0xpYnJhcnkvSnNvbkxpYi9qYW5zc29uX2NvbmZpZy5o DQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gUmVkZmlzaFBrZy9MaWJyYXJ5 L0pzb25MaWIvamFuc3Nvbl9wcml2YXRlX2NvbmZpZy5oDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQgUmVkZmlzaFBrZy9MaWJyYXJ5L0pzb25MaWIvbG9hZC5jDQo+ID4gPiA+DQo+ID4gPiA+ IC0tDQo+ID4gPiA+IDIuMTcuMQ0KPiA+DQoNCg==