From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web12.15741.1591196557483281221 for ; Wed, 03 Jun 2020 08:02:37 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=0423a65dac=abner.chang@hpe.com) Received: from pps.filterd (m0148664.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 053F1bhS032311; Wed, 3 Jun 2020 15:02:35 GMT Received: from g4t3425.houston.hpe.com (g4t3425.houston.hpe.com [15.241.140.78]) by mx0b-002e3701.pphosted.com with ESMTP id 31ed4f0kjq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 03 Jun 2020 15:02:34 +0000 Received: from G9W8453.americas.hpqcorp.net (exchangepmrr1.us.hpecorp.net [16.216.160.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3425.houston.hpe.com (Postfix) with ESMTPS id C628ACE; Wed, 3 Jun 2020 15:02:32 +0000 (UTC) Received: from G9W8453.americas.hpqcorp.net (2002:10d8:a0d3::10d8:a0d3) by G9W8453.americas.hpqcorp.net (2002:10d8:a0d3::10d8:a0d3) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 3 Jun 2020 15:02:32 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (15.241.52.10) by G9W8453.americas.hpqcorp.net (16.216.160.211) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 3 Jun 2020 15:02:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LvESJz1I1wi/4vIy3SG417Q8xxaSB+qW+luuSE0kGZ+S2de5Ve/0ZMo55P0BJ3U5JDHUqQ6ziojdKHfnbGIULmOAliDI+9PID64mY8DpdShHqpB631T/qz/VqBPuy44G7UcWc6oy3MC3s2PjXsaBhnalwFQcviyjs3V+GU7zvGyhALbvx6Etg7M6MntesMhjzWG+bRKk5YNtgMDUVfaUdnfRCVJIKU+opuRCijuhJaAF6Q4jr5Wxy2xwAxCXH7oBPT3DnKj+7SWTJ/9aF0rZHEw/mZ3r0JOHAu8t5vgIr+IwpF7TJHPQa/cfGYE1MrpCNQ1WUZQzWbr9poXSoAZjKQ== 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=h7/2Gx8wjarVACTtB2MEcNJlM1DI3Wp6DB2E+aP0lYA=; b=G/6mlm/vDKF9F0HfIdJ94qeZasZkhOh6CKjTzXFwPAbjf7GA6daO25ia32tNBWI+4fHVUvenTALQtDDKHVqJqxugbI8h++gCDF4vrMz8DN5mYedigR888SsbRPJLrC1QZrFkDBN0xXSHpxjyvo8r20NKO0YpjVpi8w22ZsCfDwwj1gkadAmvrpIaCngqo2JpOK+A+D/cHlluXMEgUQIP3O9eXBpSuZL5HBS/o/DeGQ795OP9fCmBxgZNQ8wOEcMaNCCPu6bMOUB/9C5f0/DEBllI4NppbgwVL7muRAH40ysRRSlehnPg2G/9JeTMnx1yMwnW74CwjY0Ii3Eq3zxcTQ== 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 TU4PR8401MB1182.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7714::14) by TU4PR8401MB0991.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7713::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3045.17; Wed, 3 Jun 2020 15:02:29 +0000 Received: from TU4PR8401MB1182.NAMPRD84.PROD.OUTLOOK.COM ([fe80::29a3:bff2:a760:1f07]) by TU4PR8401MB1182.NAMPRD84.PROD.OUTLOOK.COM ([fe80::29a3:bff2:a760:1f07%9]) with mapi id 15.20.3045.022; Wed, 3 Jun 2020 15:02:29 +0000 From: "Abner Chang" To: "Schaefer, Daniel (DualStudy)" , Sean Brogan , "Kinney, Michael D" , Bret Barkelew , "Ard Biesheuvel (ard.biesheuvel@linaro.org)" , "Zimmer, Vincent" , Leif Lindholm CC: "devel@edk2.groups.io" Subject: Re: [edk2-devel] Where to put RISC-V packages Thread-Topic: [edk2-devel] Where to put RISC-V packages Thread-Index: AQHWOZ4sLQ77nncveUmtVLmiD8ixHqjG93Eg Date: Wed, 3 Jun 2020 15:02:29 +0000 Message-ID: References: <20200515133937.29909-1-daniel.schaefer@hpe.com> <20200520114336.GK1923@vanye> <6f0d755e-4e69-5080-ef69-caf7259ce9ee@hpe.com> <27d3bf55-eb2e-75e1-e5fa-17af59e105aa@hpe.com> <20200528115449.GE1923@vanye> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: hpe.com; dkim=none (message not signed) header.d=none;hpe.com; dmarc=none action=none header.from=hpe.com; x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 30ffcb9f-4c42-4d62-cf16-08d807cf22f0 x-ms-traffictypediagnostic: TU4PR8401MB0991: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04238CD941 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: q70AFQiejH29f6D1mBKP4K1MRI8Tye9BfF/m3b79H26l+w4xpEUhPTBrXrfXbQGYRCiJ4N0jfF5TTh4Cafx0AUWuIbOW71R7cNvDu4i8+ihUiR6QIQmthuiRHVVXp6r2CiRvICtOoxTAytSsYYthLqsVwtXEblj4KjLUtaGRYmhBWu4uKF231So58+biFWLbYFblnMUPRIULhDRRNVjh8B0YsgIuCoY8Fded8TRS6xxwb6l7KxtwWbMUWtCMnD1GE+8bXFtlK4MctKmXYmXhoH7yPc3Tz8i+G/fe2KEN5Xnmvl8ppJo9nHPmnRf/kB3E0lpQp8nKN4rYNJG7agT5P8lNak268e++s2WtOsE1j9ybn8V+X+z4QN43L/hMBioP x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TU4PR8401MB1182.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFTY:;SFS:(376002)(346002)(366004)(396003)(136003)(39860400002)(110136005)(9686003)(316002)(52536014)(186003)(53546011)(6506007)(86362001)(7696005)(478600001)(26005)(30864003)(64756008)(76116006)(66946007)(66476007)(66556008)(55016002)(71200400001)(2906002)(5660300002)(33656002)(8936002)(4326008)(66446008)(83380400001)(8676002)(921003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: hJ6ZjxJFSFlGCS2grjyrok8XjSJANTEt/KZ4LHqmkLSFZWaaFAlywsz2cIiYs1HZRDrCBxl7EwbWX1iUBufhK55+xD5ny2k77Z211gUJzzS/qMdtkEATvtDdmloSFExafQ/AeD6Mv4Z6Iaok7KP21FLiZNuP+1QaszSlmJjFDg/NmjyEjuJ8yX/pJ281LBMJ63gE4SZXQHizNscLCzo05uiILyBEGiBLDJYF2bdnbKn3my3dGuM1XcEu6i2WGG0XyWQ5VA6bflsC8LD4OgQ38xTnu8YLBpVN3Nyvxkwlz4O02A/pCnDZV7gYDgjVdZMez7GZ5HDjhdSY+GfepF24kToaMbtypN1CvMteKaWiNMXqWcQr030ZRtjPH7VC3su2poKwx9Y3x5ACecL8wG9cOg3LYWldHetsF6cjo8oYCTCEUaUu0XDd6a4zBzZAMg51Jw3Hd+M+6NSaPy+Q+n19AwLlTgkvBrTZuHfUQ28LOBfq65G1UXWVgkQT+PVs8fuj X-MS-Exchange-CrossTenant-Network-Message-Id: 30ffcb9f-4c42-4d62-cf16-08d807cf22f0 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2020 15:02:29.7587 (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: qqpfSlL8DR6+OqFUbQLvXyIy0ss+Dowle9K8aLkk2zyrGIozBwUKftEaj+/NY9TDs2XfKkPhsrYRrY9hPPRyKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TU4PR8401MB0991 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.216,18.0.687 definitions=2020-06-03_13:2020-06-02,2020-06-03 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 mlxlogscore=999 clxscore=1015 cotscore=-2147483648 mlxscore=0 lowpriorityscore=0 spamscore=0 adultscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030120 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU2NoYWVmZXIsIERhbmll bCAoRHVhbFN0dWR5KQ0KPiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMywgMjAyMCA3OjU3IFBNDQo+ IFRvOiBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT47IEtpbm5leSwgTWlj aGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IENoYW5nLCBBYm5lciAoSFBT IFNXL0ZXIFRlY2hub2xvZ2lzdCkNCj4gPGFibmVyLmNoYW5nQGhwZS5jb20+OyBCcmV0IEJhcmtl bGV3IDxCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+Ow0KPiBBcmQgQmllc2hldXZlbCAoYXJk LmJpZXNoZXV2ZWxAbGluYXJvLm9yZykgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+Ow0KPiBa aW1tZXIsIFZpbmNlbnQgPHZpbmNlbnQuemltbWVyQGludGVsLmNvbT47IExlaWYgTGluZGhvbG0N Cj4gPGxlaWZAbnV2aWFpbmMuY29tPg0KPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gU3Vi amVjdDogW2VkazItZGV2ZWxdIFdoZXJlIHRvIHB1dCBSSVNDLVYgcGFja2FnZXMNCj4gDQo+IEhp IGFsbCwNCj4gDQo+IChDQyBlZGsyIGRldmVsIE1MIC0gc2hvdWxkbid0IGJlIGEgcHJpdmF0ZSBk aXNjdXNzaW9uIGFnYWluKQ0KPiANCj4gbGV0IG1lIHRyeSB0byBzdW1tYXJpemUgdGhlIHBvaW50 cyBvZiBlYWNoOg0KPiANCj4gLSBlZGsyLXBsYXRmb3JtcyBpc24ndCBhIGxlc3Mgc3RhYmxlIGVk azIgcGVyIHNlDQo+IC0gZWRrMi1wbGF0Zm9ybXMgY2FuIGJlIHVzZWQgZm9yIGFyY2hpdGVjdHVy YWwgZGVjaXNpb25zIHRoYXQgYXJlIG5vdA0KPiAgICBzdGFibGUgeWV0IGFuZCB0aGVyZWZvcmUg ZGlmZmVyZW50IHBsYXRmb3JtcyBtaWdodCBpbXBsZW1lbnQgdGhlbQ0KPiAgICBkaWZmZXJlbnRs eQ0KPiAtIFN0aWxsIHdlJ2QgcmF0aGVyIHB1dCB1bnN0YWJsZSB0aGluZ3MgaW4gZWRrMi1wbGF0 Zm9ybXMgZm9yIG5vdw0KPiAtIEluIHRoZSBmdXR1cmUgQ1BVIEluaXQgc2hvdWxkbid0IGJlIHRv dGFsbHkgc2VwYXJhdGUgcGFja2FnZXMgYnV0IHRoZQ0KPiAgICBvdmVybGFwcGluZyBjb2RlIHNo b3VsZCBiZSBjb21iaW5lZCBpbg0KPiAgICBVZWZpQ3B1UGtnL01kZVBrZy9NZGVNb2R1bGVQa2cv Li4uDQo+ICAgIC0gVGhpcyBhcHBsaWVzIHRvIFJJU0MtViwgYXMgd2VsbCBhcyBBUk0NCj4gICAg LSBVZWZpQ3B1UGtnIGlzIHRvbyB4ODYgZm9jdXNlZA0KPiAgICAgIC0+IG5lZWRzIGxvdHMgb2Yg d29yayBhbmQgUklTQy1WIHNob3VsZG4ndCB3YWl0IGZvciB0aGF0DQo+IC0gUklTQy1WIGNoYW5n ZXMgc2hvdWxkIHByZWZlcmFibHkgYmUgaW50ZWdyYXRlZCBpbnRvIGV4aXN0aW5nIHBhY2thZ2Vz DQo+ICAgIGluc3RlYWQgb2YgYnVpbGRpbmcgYW4gZW50aXJlbHkgc2VwYXJhdGUgaGllcmFyY2h5 DQo+ICAgIC0+IFdlIGhhdmUgZG9uZSB0aGlzLiBGb3IgZXhhbXBsZSBEeGVJcGwgaXMgbm93IGlu IGVkazIgaW4NCj4gICAgICAgTWRlTW9kdWxlUGtnLg0KPiANCj4gSSBob3BlIGV2ZXJ5b25lIGNh biBhZ3JlZSB3aXRoIHRoaXMgc3VtbWFyeS4NCj4gSSBzdWdnZXN0IHRoYXQgd2UgZG8gdGhlIGZv bGxvd2luZzoNCj4gDQo+IC0gTWVyZ2UgYWxsIG9mIHRoZSBSSVNDLVYgY29kZSB0byBlZGsyLXBs YXRmb3Jtcw0KQWdyZWUuIFRoaXMgaXMgdGhlIGZpcnN0IHN0ZXAgYWZ0ZXIgdGhvc2UgbmV3IGNo YW5nZXMgZ2V0ICJSZXZpZXdlZC1ieSIuDQo+IC0gRXZhbHVhdGUgdGhlIHBhY2thZ2VzIGluZGl2 aWR1YWxseSBhbmQgbW92ZSB0aGVtIHRvIGVkazIgb25lIGJ5IG9uZSwNCj4gICAgb3IgdG8gbWVy Z2UgdGhlbSBpbnRvIGV4aXN0aW5nIGVkazIgcGFja2FnZXMNCj4gLSBJbiB0aGUgZW5kIGluIGVk azItcGxhdGZvcm1zIHNob3VsZCBvbmx5IHJlbWFpbiBjb2RlIGZvciBzcGVjaWZpYw0KPiAgICBw bGF0Zm9ybXMsIGxpa2UgdGhlIFNpRml2ZSBVbmxlYXNoZWQgYm9hcmQuIE5vIGdlbmVyaWMgUklT Qy1WIGNvZGUsDQo+ICAgIHJpZ2h0Pw0KSSBhZ3JlZSB3aXRoIGFib3ZlLiBCdXQgdGhvc2UgYXJj aGl0ZWN0dXJlLXNwZWNpZmljIGRyaXZlcnMgbWF5IHN0aWxsIHN0YXkgaW4gdGhlaXIgb3duIHBh Y2thZ2UuDQo+IA0KPiBJJ20gbm90IGV4cGVyaWVuY2VkIGVub3VnaCB3aXRoIEVESzIgdG8gZXZh bHVhdGUgd2hldGhlciBwYWNrYWdlcyBtaWdodA0KPiBmaXQgaW50byBFREsyIGRpcmVjdGx5LiBN YXliZSB3ZSBzaG91bGQgaGF2ZSBhIGNhbGwgYW5kIGhhdmUgYSBsb29rIGF0IGVhY2ggb24NCj4g aW5kaXZpZHVhbGx5PyBCZWxvdyBJIGxvb2tlZCBpbnRvIHRoZSBsaWJyYXJpZXMgYW5kIGRyaXZl cnMgb2YgZXZlcnkgcGFja2FnZQ0KPiB0aGF0IHdlIHdhbnQgdG8gdXBzdHJlYW0gd2l0aCBvdXIg YnJhbmNoLiBJIGRlc2NyaWJlLCB3aGF0IHRoZXkgZG8gYW5kIGlmDQo+IHRoZXkgYXJlIHBsYXRm b3JtIHNwZWNpZmljLiBUaGVuIEkgaXNzdWUgbXkgZ3Vlc3MgZm9yIHdoZXJlIGl0IHdvdWxkIGJl bG9uZy4NCj4gSSBob3BlIHRoYXQgZ2l2ZXMgZXZlcnlvbmUgYSBiaXQgbW9yZSBpbnNpZ2h0IGlu dG8gYWxsIG9mIHRoZSBjb2RlIHdlJ2QgbGlrZSB0bw0KPiBtZXJnZS4NCj4gDQo+IEFnYWluOiBX b3VsZCBpdCBiZSBva2F5IHRvIG1lcmdlIGV2ZXJ5dGhpbmcgYXMgaXMgaW50byBlZGsyLXBsYXRm b3Jtcy4NCj4gKER4ZUlwbA0KPiB3YXMgcHJldmlvdXNseSBtZXJnZWQgaW50byBlZGsyKS4gQW5k IHRoZW4gc2xvd2x5IG1pZ3JhdGUgdGhlbSBvdmVyIGludG8NCj4gZWRrMj8NCj4gT3Igc2hvdWxk IGJlIGV2YWx1YXRlIGVhY2ggcGFja2FnZSBpbmRpdmlkdWFsbHkgbm93IGluc3RlYWQgb2YgbWVy Z2luZw0KPiBldmVyeXRoaW5nIGF0IG9uY2UuDQo+IA0KPiAtIFBsYXRmb3JtL1JJU0MtVi9QbGF0 Zm9ybVBrZw0KPiAgICAtIEZpcm13YXJlQ29udGV4dFByb2Nlc3NvclNwZWNpZmljTGliDQo+ICAg ICAgVGFrZSBwcm9jZXNzb3JzIHNwZWNpZmljIGRhdGEgZnJvbSBTTUJJT1MgYW5kIHB1dCBpbiBI T0INCj4gICAgICA9PiBlZGsyDQo+ICAgIC0gT3BlbnNiaVBsYXRmb3JtTGliTnVsbA0KPiAgICAg IE51bGwgbGlicmFyeSBmb3IgcGxhdGZvcm0gcHJvdmlkZWQgT3BlblNCSSBmdW5jdGlvbnMuDQo+ ICAgICAgVGhvc2UgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIGluIHRoZSBTaUZpdmUgZGlyZWN0b3Jp ZXMNCj4gICAgICA9PiBlZGsyDQo+ICAgIC0gUGxhdGZvcm1Cb290TWFuYWdlckxpYg0KPiAgICAg IEknbSBub3Qgc3VyZSB3aHkgdGhpcyBpcyB0aGVyZS4gSXQgZG9lc24ndCBsb29rIFJJU0MtViBz cGVjaWZpYy4NCj4gICAgICBjYzogQWJuZXINCj4gICAgICA9PiA/Pz8NCj4gICAgLSBQbGF0Zm9y bU1lbW9yeVRlc3RMaWJOdWxsDQo+ICAgICAgU2FtZSBhcyBhYm92ZQ0KPiAgICAgID0+ID8/Pw0K PiAgICAtIFBsYXRmb3JtVXBkYXRlUHJvZ3Jlc3NMaWJOdWxsDQo+ICAgICAgU2FtZSBhcyBhYm92 ZQ0KPiAgICAgID0+ID8/Pw0KPiAgICAtIFJpc2NWUGxhdGZvcm1UZW1wTWVtb3J5SW5pdExpYk51 bGwNCj4gICAgICBJbml0aWFsaXplIHRlbXBvcmFyeSBSQU0gb24gc3RhY2suIFNhbWUgb24gZXZl cnkgUklTQy1WIENQVQ0KPiAgICAgIERlcGVuZHMgb24gcGxhdGZvcm0ncyBQQ0QgdmFsdWVzDQo+ ICAgICAgPT4gZWRrMg0KPiAgICAtIFNlYw0KPiAgICAgIFNFQyBQaGFzZSwgc2FtZSBmb3IgZXZl cnkgUklTQy1WIENQVQ0KPiAgICAgID0+IGVkazINCj4gLSBTaWxpY29uL1JJU0MtVi9Qcm9jZXNz b3JQa2cNCj4gICAgLSBQZWlTZXJ2aWNlc1RhYmxlUG9pbnRlckxpYk9wZW5TYmkNCj4gICAgICBT YXZpbmcvbG9hZGluZyBQZWlTZXJ2aWNlc1RhYmxlIGluIFJJU0MtViBzY3JhdGNoIHNwYWNlIHdp dGggT3BlblNCSQ0KPiAgICAgIE9uIGV2ZXJ5IFJJU0MtViBDUFUNCj4gICAgICA9PiBlZGsyDQo+ ICAgIC0gUmlzY1ZDcHVMaWINCj4gICAgICBBU00gZnVuY3Rpb25zIHRvIHJlYWQgUklTQy1WIENT UnMgb24gZXZlcnkgUklTQy1WIENQVQ0KPiAgICAgIEZvciBVZWZpQ3B1UGtnPw0KPiAgICAgID0+ IGVkazINCj4gICAgLSBSaXNjVkVkazJTYmlMaWINCj4gICAgICBXcmFwcGVyIGxpYnJhcnkgdG8g Y2FsbCB0aGUgU0JJIGVjYWxscyBvbiBldmVyeSBSSVNDLVYgQ1BVDQo+ICAgICAgPT4gZWRrMg0K PiAgICAtIFJpc2NWRXhjZXB0aW9uTGliDQo+ICAgICAgQ3B1RXhjZXB0aW9uSGFuZGxlckxpYiBp bXBsZW1lbnRhdGlvbiBmb3IgUklTQy1WDQo+ICAgICAgQ3VycmVudGx5IG9ubHkgdXNlcyBDU1Ig YWNjZXNzZXMNCj4gICAgICBjYyBBYm5lcjogV2lsbCB0aGlzIGJlIHBsYXRmb3JtIHNwZWNpZmlj IHdpdGggdGhlIENMSUMgcHJvcG9zYWxzPw0KPiAgICAgID0+IGVkazIvZWRrMi1wbGF0Zm9ybXM/ Pw0KPiAgICAtIFJpc2NWT3BlbnNiaUxpYg0KPiAgICAgIE9wZW5TQkkgbGlicmFyeQ0KPiAgICAg IE5lZWRzIHRvIGJlIGNhbGxlZCBpbiBlYXJseSBpbml0IG9uIGV2ZXJ5IFJJU0MtViBDUFUNCj4g ICAgICA9PiBlZGsyPw0KPiAgICAtIFJpc2NWUGxhdGZvcm1UaW1lckxpYk51bGwsUmlzY1ZUaW1l ckxpYg0KPiAgICAgIFRpbWVyTGliIGltcGxlbWVudGF0aW9uIGZvciBSSVNDLVYNCj4gICAgICBE ZXBlbmRzIG9uIHBsYXRmb3JtIHNwZWNpZmljIFBDRHMgb25seQ0KPiAgICAgID0+IGVkazI/DQo+ ICAgIC0gQ3B1RHhlDQo+ICAgICAgUHJvZHVjZXM6IGdFZmlDcHVBcmNoUHJvdG9jb2xHdWlkDQo+ ICAgICAgV291bGQgZ28gaW50byBVZWZpQ3B1UGtnDQo+ICAgICAgPT4gZWRrMg0KPiAgICAtIFNt Ymlvc0R4ZQ0KPiAgICAgIENyZWF0ZSBTTUJJT1MgZW50cmllcyB0eXBlIDQsIHR5cGUgNyBhbmQg dHlwZSA0NA0KPiAgICAgIFZhbHVlcyBuZWVkIHRvIGJlIHNldCBieSBwbGF0Zm9ybQ0KPiAgICAg ID0+IGVkazItcGxhdGZvcm1zDQpZZXMsIHdlIHdpbGwgaGF2ZSB0byByZXZpZXcgYWJvdmUgbW9k dWxlcyBhbmQgbW92ZSB0aG9zZSB0byBVZWZpQ3B1UGtnL01kZVBrZy9NZGVNb2R1bGVQa2cgYXMg bWFueSBhcyB3ZSBjYW4uIEJ1dCBJIGd1ZXNzIHNvbWUgbWF5YmUgc3RpbGwgaGF2ZSB0byBzdGF5 IGluIFJpc2NWUGtnIHVuZGVyIGVkazIsIHVubGVzcyB3ZSBjYW4gbW92ZSB0aG9zZSBSSVNDLVYg c3BlY2lmaWMgZGVmaW5pdGlvbnMgdG8gTWRlUGtnL0luY2x1ZGUuIFdlIGNhbiBkaXNjdXNzIHRo aXMgbGF0ZXIgYW5kIGNyZWF0ZSBhbm90aGVyIGJyYW5jaCBhcyBQT0MgY29kZSBiYXNlZCBvbiBl ZGsyL2VkazItcGxhdGZvcm0gUklTQy1WIHBvcnQuDQo+IA0KPiBBbGwgcGFja2FnZXMgdW5kZXIg ZWRrMi1wbGF0Zm9ybXMve1NpbGljb24sUGxhdGZvcm19L1NpRml2ZS8gYXJlIG5vdA0KPiBpbmNs dWRlZCBoZXJlLCBhcyB0aGV5IGFyZSBvYnZpb3VzbHkgcGxhdGZvcm0gc3BlY2lmaWMgYW5kIG5l ZWQgdG8gZ28gaW50bw0KPiBlZGsyLXBsYXRmb3Jtcy4NCj4gDQo+IFRoYW5rcywNCj4gRGFuaWVs DQo+IA0KPiANCj4gDQo+IE9uIDUvMjkvMjAgNzoyNSBBTSwgU2VhbiBCcm9nYW4gd3JvdGU6DQo+ ID4gU29ycnkgd2FzIGp1c3QgZ2V0dGluZyB0byB0aGlzLsKgIFlvdSBndXlzIGFyZSBmYXN0LsKg IFRoaXMgaXMgbW9zdGx5IHRvDQo+ID4gRGFuaWVs4oCZcyBvcmlnaW5hbCBlbWFpbCBidXQgSSB0 aGluayBpdCBsaW5lcyB1cCB3aXRoIEFibmVy4oCZcyBxdWVzdGlvbnMNCj4gPiBhbmQgTWlrZeKA mXMgcmVzcG9uc2UuDQo+ID4NCj4gPiBEYW5pZWwsDQo+ID4NCj4gPiBJIHRoaW5rIGJvdGggTWlr ZSBhbmQgQnJldCBzYWlkIG1vc3QgZXZlcnl0aGluZyBuZWVkZWQgYnV0IEknbGwNCj4gPiBjbGFy aWZ5IGp1c3QgaW4gY2FzZS4NCj4gPg0KPiA+IEkgZG9uJ3QgdGhpbmsgdGhlIGNvbnZlcnNhdGlv bnMgYmVsb3cgKERhbmllbHMpIGlzIGFjY3VyYXRlIGZvciBteQ0KPiA+IGNvbmNlcm5zIGFib3V0 IFJpc2NWIHN1cHBvcnQgb3IgbXkgdmlldyBvZiBlZGsyLXBsYXRmb3Jtcy4NCj4gPg0KPiA+IElu IG15IHZpZXcgRWRrMiBwYWNrYWdlcyBhcmUgYmVzdCB3aGVuIHRoZXkgYXJlIGZ1bmN0aW9uYWxp dHkgYmFzZWQuDQo+ID4gVGhpcyBhbGxvd3MgZm9yIHByb3BlciBjb2RlIGJhc2UgbGF5ZXJpbmcg YW5kIG1ha2VzIHN1cmUgdGhhdA0KPiA+IGFic3RyYWN0aW9ucyBhcmUgY3JlYXRlZCBpbiBhIHdh eSB0aGF0IHdpbGwgZmFjaWxpdGF0ZSBjcm9zcyBwbGF0Zm9ybQ0KPiA+IGNvcmUgZGV2ZWxvcG1l bnQuwqAgRm9yIHBhY2thZ2VzIHRoYXQgYXJlIGJhc2VkIG9uIG90aGVyDQo+ID4gY2hhcmFjdGVy aXN0aWNzLCBsaWtlIGFyY2hpdGVjdHVyZSwgZGVwZW5kZW5jaWVzIGF0IHRoZSBwYWNrYWdlIGxl dmVsDQo+ID4gdXN1YWxseSBiZWNvbWUgdGFuZ2xlZCBhbmQgYnJpdHRsZSB3aGljaCBzbG93bHkg bGVha3Mgb3V0IGludG8gdGhlDQo+ID4gcmVzdCBvZiB0aGUgY29kZSBiYXNlIGFuZCB0aGVuIG1h a2VzIHRoZSBlbnRpcmUgcmVwb3NpdG9yeSBoYXJkZXIgdG8gd29yaw0KPiB3aXRoLg0KPiA+DQo+ ID4gRm9yIHRoYXQgcmVhc29uIEkgYWR2b2NhdGVkIHRoYXQgdGhlIFJpc2NWIHN1cHBvcnQgYmUg aW50ZWdyYXRlZCBpbnRvDQo+ID4gdGhlIGFwcHJvcHJpYXRlIHBhY2thZ2VzIGFuZCBtb2R1bGVz LsKgIFdoZXJlIHRoZXJlIGlzIHVuaXF1ZQ0KPiA+IGZ1bmN0aW9uYWxpdHkgdGhhdCB0aGVuIG5l ZWRzIHRvIGJlIGV2YWx1YXRlZCB0byBkZXRlcm1pbmUgaWYgaXRzIGNvcmUNCj4gPiBmdW5jdGlv bmFsaXR5IG9yIHBsYXRmb3JtIGZ1bmN0aW9uYWxpdHkuIERlcGVuZGluZyBvbiB0aGF0IGl0IHdv dWxkDQo+ID4gdGhlbiBsYW5kIGluIHRoZSBhcHByb3ByaWF0ZSBlZGsyIHBhY2thZ2Ugb3Igc29t ZXRoaW5nIGluIGVkazItcGxhdGZvcm1zLg0KPiA+DQo+ID4gVGhhbmtzDQo+ID4NCj4gPiBTZWFu DQo+ID4NCj4gPiAqRnJvbToqIEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbT4NCj4gPiAqU2VudDoqIFRodXJzZGF5LCBNYXkgMjgsIDIwMjAgMTA6MTggUE0NCj4g PiAqVG86KiBDaGFuZywgQWJuZXIgKEhQUyBTVy9GVyBUZWNobm9sb2dpc3QpIDxhYm5lci5jaGFu Z0BocGUuY29tPjsNCj4gPiBCcmV0IEJhcmtlbGV3IDxCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5j b20+OyBTY2hhZWZlciwgRGFuaWVsDQo+ID4gKER1YWxTdHVkeSkgPGRhbmllbC5zY2hhZWZlckBo cGUuY29tPjsgU2VhbiBCcm9nYW4NCj4gPiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT47IEFy ZCBCaWVzaGV1dmVsDQo+ID4gKGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcpIDxhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnPjsgWmltbWVyLA0KPiA+IFZpbmNlbnQgPHZpbmNlbnQuemltbWVyQGlu dGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KPiA+ICpDYzoqIExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPg0KPiA+ICpT dWJqZWN0OiogW0VYVEVSTkFMXSBSRTogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjIgMC8zXSBO ZXcgUklTQy1WDQo+ID4gUGF0Y2hlcyAtIFdoeSBpbiBlZGsyLXBsYXRmb3Jtcw0KPiA+DQo+ID4g QWJuZXIsDQo+ID4NCj4gPiBUaGUgYXJjaGl0ZWN0dXJhbCBSSVNDViBDUFUgY29udGVudCB0aGF0 IGRvZXMgbm90IGNoYW5nZSBiZXR3ZWVuIFJJU0NWDQo+ID4gQ1BVIGltcGxlbWVudGF0aW9ucyB3 b3VsZCBiZSBhIGNhbmRpZGF0ZSBmb3IgTWRlUGtnLCBNZGVNb2R1bGVQa2csDQo+IG9yDQo+ID4g VWVmaUNwdVBrZy7CoCBXZSB3b3VsZCBuZWVkIHRvIGRvIGFub3RoZXIgcmV2aWV3IG9mIHRoZSBj b250ZW50IGFsb25nDQo+ID4gd2l0aCB0aGUgQVJNL0FBUkNINjQgY29udGVudCB0byBzZWUgaG93 IGJlc3QgdG8gb3JnYW5pemUgdGhlIENQVQ0KPiA+IHJlbGF0ZWQgY29udGVudCBmb3Igbm93IGFu ZCBmdXR1cmUuDQo+ID4NCj4gPiBSSVNDViBwbGF0Zm9ybSBjb250ZW50IHdvdWxkIHN0aWxsIG5l ZWQgdG8gZ28gaW50byBlZGsyLXBsYXRmb3Jtcy4NCj4gPiBOb24tYXJjaGl0ZWN0dXJhbCBSSVND ViBDUFUgY29udGVudCB3b3VsZCBhbHNvIG5lZWQgdG8gZ28gaW50bw0KPiA+IGVkazItcGxhdGZv cm1zLg0KPiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4gKkZyb206KiBDaGFuZywgQWJuZXIgKEhQUyBT Vy9GVyBUZWNobm9sb2dpc3QpIDxhYm5lci5jaGFuZ0BocGUuY29tDQo+ID4gPG1haWx0bzphYm5l ci5jaGFuZ0BocGUuY29tPj4NCj4gPiAqU2VudDoqIFRodXJzZGF5LCBNYXkgMjgsIDIwMjAgMTA6 MDEgUE0NCj4gPiAqVG86KiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20NCj4gPiA8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IEJyZXQgQmFy a2VsZXcNCj4gPiA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tIDxtYWlsdG86QnJldC5CYXJr ZWxld0BtaWNyb3NvZnQuY29tPj47DQo+ID4gU2NoYWVmZXIsIERhbmllbCAoRHVhbFN0dWR5KSA8 ZGFuaWVsLnNjaGFlZmVyQGhwZS5jb20NCj4gPiA8bWFpbHRvOmRhbmllbC5zY2hhZWZlckBocGUu Y29tPj47IFNlYW4gQnJvZ2FuDQo+ID4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29mdC5jb20gPG1haWx0 bzpzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPj47DQo+IEFyZA0KPiA+IEJpZXNoZXV2ZWwgKGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gPiA8bWFpbHRvOmFyZC5iaWVzaGV1dmVsQGxpbmFy by5vcmc+KSA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZw0KPiA+IDxtYWlsdG86YXJkLmJpZXNo ZXV2ZWxAbGluYXJvLm9yZz4+OyBaaW1tZXIsIFZpbmNlbnQNCj4gPiA8dmluY2VudC56aW1tZXJA aW50ZWwuY29tIDxtYWlsdG86dmluY2VudC56aW1tZXJAaW50ZWwuY29tPj4NCj4gPiAqQ2M6KiBM ZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbSA8bWFpbHRvOmxlaWZAbnV2aWFpbmMuY29t Pj4NCj4gPiAqU3ViamVjdDoqIFJFOiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MiAwLzNdIE5l dyBSSVNDLVYgUGF0Y2hlcyAtDQo+ID4gV2h5IGluIGVkazItcGxhdGZvcm1zDQo+ID4NCj4gPiAq RnJvbToqIEtpbm5leSwgTWljaGFlbCBEIFttYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b21dDQo+ID4gKlNlbnQ6KiBGcmlkYXksIE1heSAyOSwgMjAyMCAxMjozNiBQTQ0KPiA+ICpUbzoq IEJyZXQgQmFya2VsZXcgPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbQ0KPiA+IDxtYWlsdG86 QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tPj47IFNjaGFlZmVyLCBEYW5pZWwgKER1YWxTdHVk eSkNCj4gPiA8ZGFuaWVsLnNjaGFlZmVyQGhwZS5jb20gPG1haWx0bzpkYW5pZWwuc2NoYWVmZXJA aHBlLmNvbT4+OyBTZWFuDQo+ID4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tDQo+ IDxtYWlsdG86c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT4+Ow0KPiA+IEFyZCBCaWVzaGV1dmVs IChhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnDQo+ID4gPG1haWx0bzphcmQuYmllc2hldXZlbEBs aW5hcm8ub3JnPikgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gPiA8bWFpbHRvOmFyZC5i aWVzaGV1dmVsQGxpbmFyby5vcmc+PjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20gPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+Ow0K PiA+IFppbW1lciwgVmluY2VudCA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tDQo+ID4gPG1haWx0 bzp2aW5jZW50LnppbW1lckBpbnRlbC5jb20+Pg0KPiA+ICpDYzoqIExlaWYgTGluZGhvbG0gPGxl aWZAbnV2aWFpbmMuY29tIDxtYWlsdG86bGVpZkBudXZpYWluYy5jb20+PjsNCj4gPiBDaGFuZywg QWJuZXIgKEhQUyBTVy9GVyBUZWNobm9sb2dpc3QpIDxhYm5lci5jaGFuZ0BocGUuY29tDQo+ID4g PG1haWx0bzphYm5lci5jaGFuZ0BocGUuY29tPj4NCj4gPiAqU3ViamVjdDoqIFJFOiBbRVhURVJO QUxdIFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDAvM10gTmV3IFJJU0MtVg0KPiA+IFBhdGNo ZXMgLSBXaHkgaW4gZWRrMi1wbGF0Zm9ybXMNCj4gPg0KPiA+IFdlIGRpZCBhIGNvbW11bml0eSBy ZXZpZXcgbWVldGluZy7CoCBJIHJlY2FsbCBBcmQgYW5kIFZpbmNlbnQgYmVpbmcNCj4gcHJlc2Vu dC4NCj4gPg0KPiA+IFdlIGRpc2N1c3MgdGhlIENQVSBleGVjdXRpb24gbW9kZSBmb3IgUEVJIGFu ZCBEWEUgYW5kIHRoZXJlIHdhcyBhDQo+ID4gZGlzY3Vzc2lvbiB0aGF0IFJJU0NWIGhhcyAyIG1v ZGVzIGFuZCB0aGV5IHdhbnQgZmxleGliaWxpdHkgdG8gdXNlDQo+ID4gYm90aC7CoCBUaGlzIGNo b2ljZSBpcyBub3QgZGVmaW5lZCBpbiB0aGUgUEkgc3BlYyB5ZXQuwqAgV2Ugc3VnZ2VzdGVkDQo+ ID4gdGhhdCBpdCBjb3VsZCBmb2xsb3cgdGhlIEFSTS9UaHVtYiBtb2RlbCBhbmQgUklTQ1YgY291 bGQgY2hvb3NlIGENCj4gPiBzaW5nbGUgbW9kZSBmb3IgYWxsIFBFSU1zIGFuZCBEWEUgZHJpdmVy cyBhbmQgY2hvb3NlIHRvIGdvIGludG8gdGhlDQo+ID4gb3RoZXIgbW9kZSBpbiB0aGUgbW9kdWxl IGltcGxlbWVudGF0aW9uIGFzIG5lZWRlZC4NCj4gPg0KPiA+ICovW0FibmVyXSBZZXMuIHdlIGRv bmUgdGhpcyBhcyB3ZSBkaXNjdXNzZWQgaW4gdGhlIGNvbW11bml0eSBtZWV0aW5nLg0KPiA+IFRo b3NlIGNvZGUgYXJlIGJlbG9uZyB0byBSaXNjVipwa2cgYW5kIGN1cnJlbnRseSBsYXkgb24NCj4g PiBkZXZlbC1yaXNjdnBsYXRmb21zIHdoaWNoIExlaWYgaXMgcmV2aWV3aW5nIG5vdy4vKg0KPiA+ DQo+ID4gR2l2ZW4gdGhhdCB0aGVzZSBmdW5kYW1lbnRhbCBDUFUgZXhlY3V0aW9uIG1vZGUgZGVz aWduIGNob2ljZXMgd2VyZQ0KPiA+IHN0aWxsIGluIGZsdXgsIGl0IGRpZCBub3Qgc2VlbSBsaWtl IGl0IHdhcyByZWFkeSBmb3IgZWRrMiB5ZXQuDQo+ID4NCj4gPiAqL1tBYm5lcl0gVGhlIGN1cnJl bnQgaW1wbGVtZW50YXRpb24gaXMgUEVJL0RYRSBhcmUgaW4gdGhlIHNhbWUNCj4gPiBtb2RlLi8q DQo+ID4NCj4gPiBlZGsyLXN0YWdpbmcgb3IgYW4gZWRrMi1wbGF0Zm9ybXMgYnJhbmNoIHNlZW1l ZCBtb3JlIGFwcHJvcHJpYXRlIHVudGlsDQo+ID4gYWxsIHRoYXQgd2FzIHdvcmtlZCBvdXQuDQo+ ID4NCj4gPiAqL1tBYm5lcl0gU2VlbXMgbGlrZSB0aGF0IHdvcmsgaXMgZG9uZS4gTWF5YmUgSSBo YXZlIHRvIHJldmlldyBQSS9VRUZJDQo+ID4gc3BlYyBmb3IgdGhlIG5lY2Vzc2FyeSBjaGFuZ2Vz Li8qDQo+ID4NCj4gPiBlZGsyLXBsYXRmb3Jtcy9tYXN0ZXIgc2VlbWVkIG9rIGFzIHdlbGwgaWYg ZGlmZmVyZW50IFJJU0NWIENQVSBtb2Rlcw0KPiA+IHdvdWxkIGJlIHVzZWQgZm9yIGRpZmZlcmVu dCBwbGF0Zm9ybSBzb2x1dGlvbnMgdW50aWwgYSB1bmlmaWVkDQo+ID4gYXBwcm9hY2ggYnkgdGhl IFJJU0NWIHZlbmRvcnMgY291bGQgYmUgZGV0ZXJtaW5lZMKgIE9uY2UgdGhhdCB3YXMNCj4gPiBz b2xpZGlmaWVkLCBwcm9tb3RpbmcgdG8gZWRrMiB3b3VsZCBiZSBwb3NzaWJsZS4NCj4gPg0KPiA+ ICovW0FibmVyXSB0aGlzIG1lYW5zIFJpY3NWUGtnIGFuZCBSaWNzVlBsYXRmb3JtUGtnIGV2ZW50 dWFsbHkgd2lsbCBiZQ0KPiA+IGxvY2F0ZWQgaW4gZWRrMiBidXQgbm90IGVkazItcGxhdGZvcm1z IGlmIGFib3ZlIGlzc3VlcyBhcmUgYWRkcmVzc2VkPw0KPiA+IFdlIGRvbuKAmXQgaGF2ZSB0byBj b25zaWRlciBVZWZpQ3B1UGtnIGZvciBlYWNoIGFyY2ggbm93PyBXZSBhcmUgZ29vZA0KPiA+IHdp dGggdGhpcyB0aG91Z2guLyoNCj4gPg0KPiA+IEhvcGVmdWxseSB0aGlzIGNsYXJpZmllcyBmb3Ig TGVpZiB3aHkgdGhlcmUgd2FzIHNvbWUgcmVzaXN0YW5jZSB0bw0KPiA+IGVkazIgcmVwbyByaWdo dCBub3cuwqAgU3RpbGwgb24gZGVjayBmb3IgdGhlIGZ1dHVyZS4NCj4gPg0KPiA+IE1pa2UNCj4g Pg0KPiA+ICpGcm9tOiogQnJldCBCYXJrZWxldyA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29t DQo+ID4gPG1haWx0bzpCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+Pg0KPiA+ICpTZW50Oiog VGh1cnNkYXksIE1heSAyOCwgMjAyMCA4OjExIFBNDQo+ID4gKlRvOiogRGFuaWVsIFNjaGFlZmVy IDxkYW5pZWwuc2NoYWVmZXJAaHBlLmNvbQ0KPiA+IDxtYWlsdG86ZGFuaWVsLnNjaGFlZmVyQGhw ZS5jb20+PjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20gPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+Ow0KPiBTZWFuDQo+ID4gQnJv Z2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tDQo+IDxtYWlsdG86c2Vhbi5icm9nYW5AbWlj cm9zb2Z0LmNvbT4+DQo+ID4gKkNjOiogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20g PG1haWx0bzpsZWlmQG51dmlhaW5jLmNvbT4+Ow0KPiA+IENoYW5nLCBBYm5lciAoSFBTIFNXL0ZX IFRlY2hub2xvZ2lzdCkgPGFibmVyLmNoYW5nQGhwZS5jb20NCj4gPiA8bWFpbHRvOmFibmVyLmNo YW5nQGhwZS5jb20+Pg0KPiA+ICpTdWJqZWN0OiogUkU6IFtFWFRFUk5BTF0gUmU6IFtlZGsyLWRl dmVsXSBbUEFUQ0ggdjIgMC8zXSBOZXcgUklTQy1WDQo+ID4gUGF0Y2hlcyAtIFdoeSBpbiBlZGsy LXBsYXRmb3Jtcw0KPiA+DQo+ID4gSSB0aGluayBTZWFuIGhhcyBoaXMgb3duIGZlZWRiYWNrLCBi dXQgbXkgcmVzcG9uc2UgdG8gQWJuZXIgd2FzIHRoYXQNCj4gPiB0aGF0IEkgZGlkbuKAmXQgbGlr ZSB0aGUgaWRlYSBvZiBjb250aW51aW5nIGEgcGF0dGVybiBvZiBzZXBhcmF0ZQ0KPiA+IHBhY2th Z2VzIGZvciBzaWduaWZpY2FudCBwb3J0aW9ucyBvZiB0aGUgQ1BVIGluaXQuIFRoZXJlIGhhdmUg YmVlbiBhDQo+ID4gZmV3IHRpbWVzIHdoZXJlIGl0IGhhcyBjcmVhdGVkIHVubmVjZXNzYXJ5IGRp dmVyZ2VuY2UgdGhhdCBtYWRlIGl0DQo+ID4gdmVyeSBkaWZmaWN1bHQgdG8gd3JpdGUgY3Jvc3Mt YXJjaGl0ZWN0dXJlIGNvZGUuIEksIHBlcnNvbmFsbHksIHdhc27igJl0DQo+ID4gZmlnaHRpbmcg dGhlIGNvZGUgbGFuZGluZyBpbiBlZGsyIChleGNlcHQgZm9yIFJpc2NWUGxhdGZvcm0sIGJlY2F1 c2UNCj4gPiBpdCBoYWQgcGxhdGZvcm0gaW4gdGhlIG5hbWUpLCBidXQgSSB3YXMgaW5xdWlyaW5n IHRvIHNlZSB3aGV0aGVyIGl0DQo+ID4gbWFkZSBtb3JlIHNlbnNlIHRvIGJyZWFrIHRoaW5ncyB1 cCBhbW9uZyBNZGUsIFVlZmlDcHUsIGFuZCBhIGNvdXBsZQ0KPiA+IG90aGVyIHBhY2thZ2VzIHRv IGVuY291cmFnZSBhZGhlcmluZyB0byBzaW1pbGFyIHBhdHRlcm5zIGFuZA0KPiA+IGludGVyZmFj ZXMgYmV0d2VlbiBhbGwgdGhlIGRpZmZlcmVudCBhcmNoaXRlY3R1cmVzLiBJ4oCZdmUgcHJldmlv dXNseQ0KPiA+IHdvbmRlcmVkIG9wZW5seSB3aGV0aGVyIGl0IG1hZGUgc2Vuc2UgdG8gZG8gdGhl IHNhbWUgd2l0aCB0aGUgQXJtDQo+IHBhY2thZ2VzLg0KPiA+DQo+ID4gSeKAmWxsIGJlIGhvbmVz dCBhYm91dCBub3QgYmVpbmcgc3VwZXIgZmFtaWxpYXIgd2l0aCB0aGUgUklTQ1YgY29kZSBhbmQN Cj4gPiBpdCB3b3VsZCBiZSBlYXN5IGZvciBtZSB0byBqdXN0IHNocnVnIGFuZCBzYXkgcHV0IGl0 IHdoZXJldmVyLCBidXQgSQ0KPiA+IGtub3cgdGhhdCBhcmNoaXRlY3R1cmUgbW9iaWxpdHkvYWdp bGl0eSBpcyBpbXBvcnRhbnQgZm9yIHVzIGFuZA0KPiA+IHdvdWxkbuKAmXQgYmUgc3VycHJpc2Vk IGlmIEkgaGFkIHRvIHVzZSBSSVNDViBpbiB0aGUgZnV0dXJlLCBhbmQgc28NCj4gPiB3YW50ZWQg dG8gbWFrZSBzdXJlIHRoYXQgaXQgd2FzIGFzIGNsb3NlIHRvIHdoYXQgSSB3YXMgZmFtaWxpYXIg d2l0aCBhcw0KPiBwb3NzaWJsZS4NCj4gPg0KPiA+IC0gQnJldA0KPiA+DQo+ID4gKkZyb206ICpE YW5pZWwgU2NoYWVmZXIgPG1haWx0bzpkYW5pZWwuc2NoYWVmZXJAaHBlLmNvbT4NCj4gPiAqU2Vu dDogKlRodXJzZGF5LCBNYXkgMjgsIDIwMjAgODo0NCBBTQ0KPiA+ICpUbzogKktpbm5leSwgTWlj aGFlbCBEIDxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBCcmV0DQo+ID4gQmFy a2VsZXcgPG1haWx0bzpCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+OyBTZWFuIEJyb2dhbg0K PiA+IDxtYWlsdG86c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT4NCj4gPiAqQ2M6ICpMZWlmIExp bmRob2xtIDxtYWlsdG86bGVpZkBudXZpYWluYy5jb20+OyBDaGFuZywgQWJuZXIgKEhQUw0KPiA+ IFNXL0ZXDQo+ID4gVGVjaG5vbG9naXN0KSA8bWFpbHRvOmFibmVyLmNoYW5nQGhwZS5jb20+DQo+ ID4gKlN1YmplY3Q6ICpbRVhURVJOQUxdIFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDAvM10g TmV3IFJJU0MtVg0KPiA+IFBhdGNoZXMNCj4gPiAtIFdoeSBpbiBlZGsyLXBsYXRmb3Jtcw0KPiA+ DQo+ID4gSGkgTWlrZSwgQnJldCBhbmQgU2VhbiwNCj4gPg0KPiA+IHlvdSBoYXZlIHByZXZpb3Vz bHkgZXhwcmVzc2VkIGNvbmNlcm4gYWJvdXQgbWVyZ2luZyBIUEUncyBSSVNDLVYgY29kZQ0KPiA+ IGludG8gZWRrMiBhbmQgc3VnZ2VzdGVkIG1lcmdpbmcgaXQgaW50byBlZGsyLXBsYXRmb3Jtcy4g QXBwYXJlbnRseSB5b3UNCj4gPiBkaXNjdXNzZWQgdGhpcyB3aXRoIEFibmVyIGluIGEgcHJpdmF0 ZSBlbWFpbCB0aHJlYWQuIEFjY29yZGluZyB0byB0aGF0DQo+ID4gaW5mb3JtYXRpb24gSSB0cmll ZCB0byBzdW1tYXJpemUgeW91ciBwb2ludHMgaW4gYW4gZW1haWwgb24gdGhlIGVkazIgTUwuDQo+ ID4gSSBob3BlIEkgZ290IGl0IHJpZ2h0Lg0KPiA+DQo+ID4gQXMgeW91IGNhbiBzZWUsIHdlIGhh dmUgZm9sbG93ZWQgdGhhdCBzdWdnZXN0aW9uIGFuZCBzZW50IHRoZSBuZXcNCj4gPiBwYXRjaGVz IHJlcXVpcmVkIGZvciB0aGF0IHRvIHRoZSBNTC4NCj4gPg0KPiA+IExlaWYsIGFuZCBJLCBhcmUg c3RpbGwgbm90IGNvbnZpbmNlZCBpdCdzIHRoZSByaWdodCBjaG9pY2UgdG8gbm90DQo+ID4gaW5j bHVkZSBpdCBpbiBlZGsyIHByb3Blci4NCj4gPiBXZSB3b3VsZCBhcHByZWNpYXRlIGlmIHlvdSBj b3VsZCBhZGRyZXNzIHRoZSBjb25jZXJucyBMZWlmIGhhcw0KPiA+IG1lbnRpb25lZCBpbiB0aGUg YmVsb3cgZW1haWwgb24gdGhlIHB1YmxpYyBNTC4NCj4gPg0KPiA+IFRoYW5rcyENCj4gPiBEYW5p ZWwNCj4gPg0KPiA+IE9uIDUvMjgvMjAgMTo1NCBQTSwgTGVpZiBMaW5kaG9sbSB3cm90ZToNCj4g PiAgPiBIaSBBYm5lciwNCj4gPiAgPg0KPiA+ICA+IFNvcnJ5LCBJIHNob3VsZCBoYXZlIGZvbGxv d2VkIHVwIG9uIHRoaXMgc29vbmVyLg0KPiA+ICA+DQo+ID4gID4gT24gVGh1LCBNYXkgMjEsIDIw MjAgYXQgMDY6NTk6MjAgKzAwMDAsIENoYW5nLCBBYm5lciAoSFBTIFNXL0ZXDQo+ID4gVGVjaG5v bG9naXN0KSB3cm90ZToNCj4gPiAgPj4+IE9uIDUvMjAvMjAgNjowNyBQTSwgRGFuaWVsIFNjaGFl ZmVyIHdyb3RlOg0KPiA+ICA+Pj4+IHBsZWFzZSByZXBseSBoZXJlLCBmaXhlZCBNaWtlJ3MgZW1h aWwgYWRkcmVzcywgc29ycnkuLi4NCj4gPiAgPj4+Pg0KPiA+ICA+Pj4+IE9uIDUvMjAvMjAgNjow MyBQTSwgRGFuaWVsIFNjaGFlZmVyIHdyb3RlOg0KPiA+ICA+Pj4+PiBPbiA1LzIwLzIwIDE6NDMg UE0sIExlaWYgTGluZGhvbG0gd3JvdGU6DQo+ID4gID4+Pj4+PiBPbiBGcmksIE1heSAxNSwgMjAy MCBhdCAxNTozOTozNCArMDIwMCwgRGFuaWVsIFNjaGFlZmVyIHdyb3RlOg0KPiA+ICA+Pj4+Pj4+ IFByZXZpb3VzbHkgd2UgaGFkIHR3byBwYWNrYWdlcyBqdXN0IGZvciBSSVNDLVYgb24gb3VyIGVk azINCj4gYnJhbmNoOg0KPiA+ICA+Pj4+Pj4+wqAgwqDCoCBSaXNjVlBrZyBhbmQgUmlzY1ZQbGF0 Zm9ybVBrZyAgPj4+Pj4+PiBUaGV5IGFyZSBub3cgdW5kZXINCj4gPiA+Pj4+Pj4+wqAgwqDCoCBQ bGF0Zm9ybS9SSVNDLVYvUGxhdGZvcm1Qa2cgYW5kDQo+ID4gU2lsaWNvbi9SSVNDLVYvUHJvY2Vz c29yUGtnIGluICA+Pj4+Pj4+IGVkazItcGxhdGZvcm1zLg0KPiA+ICA+Pj4+Pj4NCj4gPiAgPj4+ Pj4+IFVuZGVyc3Rvb2QuIEkgdG9vayBteSBleWUgb2ZmIHRoZSBiYWxsIHRoZXJlIGZvciBhIHdo aWxlLCBidXQNCj4gPiBJJ20gYSAgPj4+Pj4+IGJpdCBjb25mdXNlZCBhcyB0byB3aHkgUmlzY1ZQ a2cgaXNuJ3QgZ29pbmcgaW50byBFREsyLg0KPiA+IFRoYXQgaXMgdmVyeSAgPj4+Pj4+IGNvdW50 ZXJpbnR1aXRpdmUuIEFuZCBjbGVhcmx5IGl0IHdpbGwgbmVlZA0KPiA+IHJldmlzaXRpbmcgaWYg d2UgYXJlIHRvICA+Pj4+Pj4gYWRkIGZpcnN0LWNsYXNzIENJIGNoZWNrcyBsaWtlIHRob3NlIHdl IGRvIHdpdGgNCj4gT3ZtZlBrZy9Bcm1WaXJ0UGtnLg0KPiA+ICA+Pj4+Pg0KPiA+ICA+Pj4+PiBZ ZXMsIEkgdW5kZXJzdGFuZCB5b3VyIGNvbmNlcm4uIFBlcnNvbmFsbHkgSSdkIGxpa2UgaXQgYWxz byB0bw0KPiA+IGJlIGluICA+Pj4+PiBFREsyIHN0cmFpZ2h0IGF3YXksIGhvd2V2ZXIgTWlrZSwg QnJldCBhbmQgU2VhbiBoYXZlDQo+ID4gcmFpc2VkIHZhbGlkICA+Pj4+PiBjb25jZXJuczoNCj4g PiAgPg0KPiA+ICA+IENhbiB5b3UgcG9pbnQgbWUgdG8gdGhlIGNvbnZlcnNhdGlvbiBJIGhhdmUg bWlzc2VkPw0KPiA+ICA+DQo+ID4gID4+Pj4+IDEuIFJJU0MtViBpcyB2ZXJ5IG5ldyBhbmQgcG90 ZW50aWFsbHkgdW5zdGFibGUgLSBpdCdzIHF1aWNrZXINCj4gPiB0byBtYWtlICA+Pj4+PiBjaGFu Z2VzIGluIGVkazItcGxhdGZvcm1zLg0KPiA+ICA+DQo+ID4gID4gSSBkb24ndCBzZWUgdGhpcyBh cyBhIHZhbGlkIGFyZ3VtZW50Lg0KPiA+ICA+IEl0J3Mgbm90IGVkazItdW5zdGFibGUsIGl0IGlz IGVkazItcGxhdGZvcm1zLg0KPiA+ICA+DQo+ID4gID4gZWRrMi1wbGF0Zm9ybXMgZXhpc3RzIGJl Y2F1c2UgdGhlcmUgdXNlZCB0byBiZSBzdHJvbmcgZmVlbGluZ3MNCj4gPiBhZ2FpbnN0ICA+IGhv bGRpbmcgKnJlYWwqIHBsYXRmb3JtcyBpbiBlZGsyLCB3aXRoIGVkazIgYmVpbmcNCj4gPiBvcmln aW5hbGx5IGludGVuZGVkICA+IG9ubHkgYXMgYSBjb2RlIGxpYnJhcnkgZm9yIElCVi9JU1YgdG8g Y2hlcnJ5LXBpY2sgZnJvbS4NCj4gPiAgPg0KPiA+ICA+IEJ1dCBmdW5kYW1lbnRhbGx5LCBpZiBj b2RlIGlzIHRvbyBpbW1hdHVyZSB0byBnbyBpbnRvIHRoZSBtYXN0ZXIgID4NCj4gPiBicmFuY2gg b2YgZWRrMiwgaXQgaXMgdG9vIGltbWF0dXJlIHRvIGdvIGludG8gdGhlIG1hc3RlciBicmFuY2gg b2YgID4NCj4gPiBlZGsyLXBsYXRmb3Jtcy4gSWYgd2Ugd2FudCBlZGsyLW1pZ2h0LWJlLWEtYml0 LXNoYWt5LWJ1dC13aG8tY2FyZXMsDQo+ID4gID4gdGhlbiBzb21lb25lIHdpbGwgaGF2ZSB0byBj cmVhdGUgaXQuDQo+ID4gID4NCj4gPiAgPj4+Pj4gMi4gSWYgd2UgZGVmaW5lIG5ldyBpbnRlcmZh Y2VzIGFuZCBsaWJyYXJpZXMgaW4gZWRrMiwgd2UgY2FuJ3QNCj4gPiByZW1vdmUgID4+Pj4+IHRo ZW0gZWFzaWx5IGJlY2F1c2UgaXQgd291bGQgYmUgYSBiYWNrd2FyZHMtaW5jb21wYXRpYmxlDQo+ IGNoYW5nZS4NCj4gPiAgPj4+Pj4gZWRrMi1wbGF0Zm9ybXMgaXNuJ3QgcXVpdGUgYXMgc3RyaWN0 Lg0KPiA+ICA+DQo+ID4gID4gWWVzIGl0IGlzLg0KPiA+ICA+IFRoZSBvbmx5IHRoaW5nIG1ha2lu ZyBpdCBsZXNzIHN0cmljdCBpcyBpdHMgY29udGVudHMgLSBwbGF0Zm9ybQ0KPiA+IHBvcnRzICA+ IGFuZCBkZXZpY2UgZHJpdmVycy4gVGhlIGNoYW5nZXMgdGVuZCB0byBiZSBzZWxmLWNvbnRhaW5l ZC4NCj4gPiBXaGVyZSB0aGV5ICA+IGFyZSBub3QsIHRoZXkgbmVlZCB0byBiZSBjYXJlZnVsbHkg bWFuYWdlZC4NCj4gPiAgPg0KPiA+ICA+Pj4+PiAzLiBMb25nLXRlcm0sIEkgdGhpbmsgbWFueSBh Z3JlZSwgd2Ugc2hvdWxkIGFpbSB0byBtb3ZlIG11Y2ggb2YNCj4gPiB0aGUgID4+Pj4+IFJJU0Mt ViBjb2RlIGludG8gVWVmaUNwdVBrZyBhbmQgT3ZtZlBrZy4gTWlrZSBtZW50aW9uZWQNCj4gPiB0 aGF0IHdvdWxkICA+Pj4+PiBuZWVkIGNvb3JkaW5hdGlvbiB3aXRoIEFSTSBtYWludGFpbmVycyBi ZWNhdXNlIGl0DQo+ID4gbWlnaHQgbWFrZSBzZW5zZSB0byAgPj4+Pj4gbW92ZSB0aGVpciBjb2Rl IHRoZXJlIGFzIHdlbGwuDQo+ID4gID4NCj4gPiAgPiBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGFu eSBuZWVkIHRvIHRpZSB0aGUgdHdvIHRvZ2V0aGVyLg0KPiA+ICA+IFllcywgVWVmaUNwdVBrZyBz aG91bGQgYmUgYSBnZW5lcmljIHBsYWNlIHdoZXJlIG5vdCBvbmx5IHg4Ng0KPiA+IHN1cHBvcnQg ID4gY2FuIGJlIGNvbnRhaW5lZCwgYnV0IHRoZSBwYXRocyBmb3IgQVJNKiBhbmQgUklTQy1WIGlu dG8NCj4gPiB0aGVyZSBkbyBub3QgID4gaGF2ZSBhbnkgaW50ZXJkZXBlbmRlbmNpZXMuDQo+ID4N Cg==