From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web12.725.1668452396734096859 for ; Mon, 14 Nov 2022 10:59:56 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=BcSmKVYL; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668452396; x=1699988396; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=5MLo9tJh5MnmbeLELupIrzQVhKeS5EJOyDu3FRGMNoU=; b=BcSmKVYLJH9UwegZdHSHYT3oGkVfNkBQ8GiDXkwnnQrOl5ysXXK4sCM6 Npw5oKK3kyhmuKph2tisb2hsEuTCNKdbaQXXJmI9aUtr3NtC56Ha+JbmO OJFLDsRhe8KMu+v4rXa8A3gVF1Mxb6zGrhJtSbElrlNWTJWcVtzg4yb+w QgJeukEywB15G4tiQdS59nfusvZVn63054pJSJmBg8KaTZRWpOnZGuaTF Oczr8yeQ2fNalxOq+Sry8bgoa91K8tcXSaJcWNLXD87U/IA9KgdLa62Jz B8Vt4oz3RhtoGBGWOL4WlQ9n7Wh8Jis0+EfEOow894gmhp3cqHeOcOa4I Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10531"; a="338843852" X-IronPort-AV: E=Sophos;i="5.96,164,1665471600"; d="scan'208";a="338843852" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2022 10:59:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10531"; a="671680652" X-IronPort-AV: E=Sophos;i="5.96,164,1665471600"; d="scan'208";a="671680652" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 14 Nov 2022 10:59:56 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 14 Nov 2022 10:59:55 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 14 Nov 2022 10:59:55 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 14 Nov 2022 10:59:55 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 14 Nov 2022 10:59:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a875yLTZXas6BjiGIRFPoBdR9qwNuJYkgYqSxYrPY6UsTKpfxaWV0a9Yf526E5+/vKjnwTm/icUDj6zdiyvpHXXu/Nx0OzKgDu9K7DBgKAVY20UeIgqAbI4h8l2lPyNqJt1krQSLcQMuvR1LSI5GSj5zU8i6OkY8YAd0xKVBGOCwWjB1KhOkgqsUeAia2TPtRqS7eVm2jus978HADlbgW4kvym4NJd3knqNrBJaWMMsfKjwlCL2PuB5fi6sHsv9QK93HC7DGyuBo0T/y4IThBFczQDbyAnW85eSDZc4Kcpe6MCRKLtnfakzzSRBvYIwNAm1Kgnf5A2WsV9apZPqr/Q== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5MLo9tJh5MnmbeLELupIrzQVhKeS5EJOyDu3FRGMNoU=; b=mA9qR+IDnEPk09WphRQpLCL8Zy7gtzhpunBdY5QNWeG78MjNo4TOsv2Zg7n2yHy8q24Vu0pYKpSKA5qBc7tOekIOIvLb9qbOg+BqRyPjuseLYwSklfQ8kSc7PnwpkFt7wk4BS10oQV+xtUngA/KUCwOXKh/myqpfDc7B7Ol2GTItGxVOT0fGbFtA0oWjBxIpG4JhYdDOjhx9dv53wiBftH8f0wF4kVvGpExGKa+S09yqWFVXhEqb4OycBsJ6EN23iI0SCv4rBIPrN+A1Za4dtHD/dLF4umljxbiPms6XCBdcdU+dtjFC1BfQaHGAC/JZAmiXnyL9RArc5k7LkmdToA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by DS7PR11MB6200.namprd11.prod.outlook.com (2603:10b6:8:98::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.26; Mon, 14 Nov 2022 18:59:52 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde%5]) with mapi id 15.20.5813.016; Mon, 14 Nov 2022 18:59:52 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" , "abner.chang@amd.com" , Laszlo Ersek , "Kubacki, Michael" Subject: Re: [edk2-devel] [edk2-CCodingStandardsSpecification PATCH 2/2] Source Files / Spacing / Multi-line func. calls: allow condensed arguments Thread-Topic: [edk2-devel] [edk2-CCodingStandardsSpecification PATCH 2/2] Source Files / Spacing / Multi-line func. calls: allow condensed arguments Thread-Index: AQHY9wBAZJE3iufpuUuj/1UfQFjcSa48GFSwgAByDQCAAJPgEIAAf12AgAEK6SCAABDoT4AABEcAgAAH34CAAAGZwA== Date: Mon, 14 Nov 2022 18:59:52 +0000 Message-ID: References: <922996c2-e60a-80ec-6d4a-8b2e5a639c9b@redhat.com> <25893.1668303336748921539@groups.io> <17278424C4A5D78F.32003@groups.io> <7ed9dd39-71c2-f175-9ee9-f7f2f7b89e23@linux.microsoft.com> In-Reply-To: <7ed9dd39-71c2-f175-9ee9-f7f2f7b89e23@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|DS7PR11MB6200:EE_ x-ms-office365-filtering-correlation-id: 7176e938-9b0a-4ef5-f803-08dac672699c x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 89trF1pzUC1+uryWsFK9xv7tpudGgFfDv6hcKpwJdZV0Sd/t9LaKs5z3hRpncLNyID0RNuDddrEPaqTYZyv7FnkU6/9NZFNMNqJMPlFkJNRJHtiMcPqJzAvZFkZ0Y7XXPJ8crd5WfJ1FGVf9Dj//QAkPOwxUnvsIiK2A4USJhJJksg6wtWkHxqpP1sNZP2CUo2K4ED2g7HXWhclPCI+YdR4tODqDHrZU4fha/KxcZyaccCD9b05GOgXokNm5JLxNhomC2wRhdvsTNr1vLS8yBTA8Oiie3K/FawgVZOuRAO8F/bpMJZBVy/7nB+3sP86vMSG7rRf8PsFQjkMrrDNZ3UoV2pEHrdDkLhUnXQ8OSmvvIPc3e9wOm+iSS59EkoMXt+9xpuCjCBokmLB7Ogy2VhtrL5c39yLWiCRo5A58G9AQ2hLQ3k2SBO6NCxScDjvNZNclEVUK0zL6WoayDLbQcsaeBKyl+noHujvhg9LaPQT10VpJOevxkNqfrnAtvac8egAT+uEc9W+VbwRiZJS/Z3rZ9pnybrdaNEGwbEZyajTE8kaTZWrkAyS7MNUlNGOw/xWm1f13ujjTeBGAKtWX54suOrcT+CpCaB0y4y4LBYbpZhGB+GU2Mi2qDKewgI0NKpVCunz9M7OuUxyNL/o/wtAozkNLQW72XcD2UvWnL4EUnLDS85v4ObL9kBOj5FflD2OF6WMulxSnG0xnpYdR4h9lGCkNbiOsxDefCThDMb3CW7MjgW+dekVsHVii7j8oyvwbv1QmcuvkrbFJTf1uuehrFqJe2cVcjUJGy4rUtU/kau63DuwYea4Ts29S/UkOXaq+DVw2MXRmKBPMOghgvw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199015)(66476007)(66556008)(64756008)(66446008)(26005)(9686003)(76116006)(66946007)(53546011)(66899015)(33656002)(122000001)(38100700002)(2906002)(6506007)(5660300002)(71200400001)(8676002)(7696005)(478600001)(8936002)(186003)(316002)(86362001)(966005)(55016003)(110136005)(52536014)(30864003)(38070700005)(82960400001)(83380400001)(41300700001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MkVzSHk2KzZQcHk5Nk5rRUZITVBDUXQyZ3oraHVZM1F1T0x5VW5FWndIVlZv?= =?utf-8?B?Z2lOK2tXNVRIM3hFV3RjUmFUblkzU0pCK3JSTC9sSmhab292aWlaNU9YZU1Q?= =?utf-8?B?bFhqRXVGWURmQ3MzcTRuWDZObGVJOUt1SDUzYkgwWk9aL0pYeWlodG5ic2ZO?= =?utf-8?B?dG85K3lSb0NoZ0JhUFpqWUxhU1JiL2xYelJCMi9oTytsQ0FXbW1SNS9mMHRO?= =?utf-8?B?MksxNUpqdDBYVEQvNklmODFYTjA5RjNycDdpTzQvbmx3MWI3dVE2RDdmSFd1?= =?utf-8?B?Uk5XS1VFQlRFQ2trUmYyL0ZuSmlZYWxSTXA4L2hHc0I2a3lKMno2SlY5cGNK?= =?utf-8?B?amNmNndrWFZhUW1QTFFIMHQwdjVHRTQ0UWllaW9lcnFwcHdLTTVZRzd2K2Zl?= =?utf-8?B?WWVkOGtVbmgxWW1vQWJSUFJQTXFXQTVuZGFkR3owOUhERE12ZjFGaHloQWZm?= =?utf-8?B?SS9HcTNMakIyanBUTmw0RndmSUtaS1V0VkVFMWN0MHNrMHZPS3hwb0JvYk9a?= =?utf-8?B?VGZXZzJQSytLN0orUjh5NlZTa0VEdytkQnNteml5eXFVbzZBTHN6bjB6eWdP?= =?utf-8?B?MEJCNDIrSnlaTGFscStpZlBiZDRjOEVtTytuVGovNC9pWDNCVkdDWEV6dVZs?= =?utf-8?B?Smk5Ky9MQXJyRjc1V1VkL3c4NEptV015QmlFdFlrZ1d2VzM3STNhZ21WNGh0?= =?utf-8?B?Vkhra1ZtSW9Tb2NtSDRUbVF2Q3VIb0tWNUovbXhDQ0VHaSs4MVFUMWJTOTk0?= =?utf-8?B?RXJOSk4wRGhGaVlpSWxTZnVBSkg0OGpWWUlhd3FCaDhFNXYrZk4xVTR2Wkg5?= =?utf-8?B?WEFOMjBuQjJrbnhwb21kTmtmdWJkQ2ZSUmI4ZWk3MVVML3A0MnlSaXd1eWlj?= =?utf-8?B?WUhLM3JDamxUQlV3WVBzT2tSM3RGQ1gxYjJxT3poMjBZdDErS1A0NURNaHdL?= =?utf-8?B?c3BodDk5YjJnL2ZjK1o3ekMrdFlId05UZC93a1haWGxaOEdtdTdHZVV0OXFS?= =?utf-8?B?TVdKSDhXR1ZwWWlOQjV3Z1Q1NFZaejZYTENKT0xocVlBdUorTGF1aFNWZzBj?= =?utf-8?B?SDcxVzNXdHcraFlXR1dOOHhsQlBIV1BNMXVUazlpUUZ2QUdBcEJKbnk1bjFH?= =?utf-8?B?YTdOTXBBRGxzWWh2dXBkK1NROUkxZ0oxUVlnYitjRy9zQnhxSEd6SlhrN1Jo?= =?utf-8?B?YXJLMzI0NGRvTnVoQStMbFVKOCs3K0hxTEJ2d2xGUkp2TElMMG9YbHhMNWZQ?= =?utf-8?B?NzlXdGo1WEIvbkRmMUtKL014ckgzbnYvYmZpQ0Q2OU9Gbk55T3I2UlloS3ky?= =?utf-8?B?QzEyTnNkTVYyQU9uVmt6VERzRDNPWC9IS2x5VnhFRy9Hai9kTWxRQXlGbTNi?= =?utf-8?B?TVV0YlNNeHErU3NGZitQQ3Z0Zkp1aHduMDVweEVvejlydWZZZjlVQUhHYnJF?= =?utf-8?B?WE9lL0krMHhhWWdmWW1kWjlReUV5alNOZTUwZ01QR2luUjlJNzhRSWVNTi90?= =?utf-8?B?cXFWbkZWT2ttREovQ1kyUDFrd2VFU1E0MFVET0JxelMwaDluRlJXeERZa0ky?= =?utf-8?B?UklSTjRlR09nV25ZWnlxV1hLS3VIQmFzTC9IZmszT29Fb1BYdm5ieFlUeW9J?= =?utf-8?B?d3BmczloNlVUblN6d2lhNUJ5SXJ1RE5yNlhrZHdmRWlDbDNnUllTTXlBR2cy?= =?utf-8?B?QzcxQU00VDdYOTFNTVo1TnVBbUFqNE1oNTRxWFRpeEs0aWQvNzkvNTVRVTBJ?= =?utf-8?B?cXlqNnRTU091c0RXRjgxbjVsbWd5RFFoYUhtQUNmWGlVczBkalNhbEEwLzFn?= =?utf-8?B?KzBhVGxXNkhpcTBPcDBJQXkvdnJBOU1KTlRjaWZUMUpqQTdrbEdxYXFCUVRZ?= =?utf-8?B?ai81cWFCc1EvQnlFVnI4UTNFeGhvN1Y2TmdEUFQweCt5MFl3M25RTElDMVFO?= =?utf-8?B?aTlscjVPd3ByRkgyZ1lOWUZSeE5aR1QxVzJqY0ZDOU02WElIUk5uTXg2eGhr?= =?utf-8?B?T0Q1OVhVYi9Xbk8rbTdROThVNGY5bUJwSm1tQ2VDd3Y4Q2JaUGpPMEptTUFB?= =?utf-8?B?U2QvZHNKZGtTMmtGbWRMV0lxWmJ5alRoWjd5QnQveHN4dHRuOFdQVHRrZEJr?= =?utf-8?B?MjVYTHlNMS92dTNFb1dNMVZobElpWXRFNUNHRVpOOVIrWVFpZVZaS2ZzRWV2?= =?utf-8?B?dlE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7176e938-9b0a-4ef5-f803-08dac672699c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2022 18:59:52.6187 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YLy6sgQCxsxpL2hd4qQ+RKdqGfHuEPEgapfxS4Thyo62zm5p34idh4wmJlm+3dRYMDzDB3UI0NCrlOtP9B6Zgj/OxnOYu1YFvFxCeuVSrk4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6200 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWljaGFlbCwNCg0KWWVzLiBXZSBjYW4gZGlzY3VzcyBpbiBUb29scy9DSSBtZWV0aW5nIGxh dGVyIHRvZGF5LiAgTm90IGp1c3QgdGhlc2Ugc3BlY2lmaWMgaXNzdWVzDQpidXQgYWxzbyBkaXNj dXNzIHByb2Nlc3MgdG8gY29vcmRpbmF0ZSBjaGFuZ2VzIHRvIGJvdGggQ1NTIGFuZCBVbmNydXN0 aWZ5IGNvbmZpZy4NCg0KTXkgcmVjb21tZW5kYXRpb24gaXMgdG8gY2xvc2UgdGhlc2Ugb2xkZXIg aXNzdWVzIGFzICJ3aWxsIG5vdCBmaXgiLiAgVGhlIHJldmlldw0Kb2YgdGhvc2UgdG9waWNzIDUg eWVhcnMgd2VyZSBub3QgY29tcGxldGVseSByZXNvbHZlZC4gIFdlIGhhdmUgc2luY2UgYWRkZWQg dW5jcnVzdGlmeQ0Kd2l0aCBDSSBjaGVja3MuICBJZiB0aGVyZSBhcmUgc29tZSBlbGVtZW50cyBv ZiB0aGVzZSBwcmV2aW91cyB0b3BpY3MgdGhhdCB0aGUgDQpjb21tdW5pdHkgc3RpbGwgdGhpbmtz IGFyZSB2YWx1YWJsZSB0byBjb25zaWRlciwgdGhlbiB0aG9zZSBjYW4gYmUgb3BlbmVkIGluIGEg bmV3DQpCWiBhbmQgdXNlIHRoZSBwcm9jZXNzIHRoYXQgaXMgZXN0YWJsaXNoZWQgdG8gY29vcmRp bmF0ZSB0aGUgQ1NTIGFuZCB1bmNydXN0aWZ5DQpjaGFuZ2VzLiANCg0KVGhhbmtzLA0KDQpNaWtl DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTWljaGFlbCBLdWJhY2tp DQo+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMTQsIDIwMjIgMTA6NDkgQU0NCj4gVG86IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBhYm5lci5jaGFuZ0BhbWQuY29tOyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQu Y29tPjsNCj4gS3ViYWNraSwgTWljaGFlbCA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+ DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItQ0NvZGluZ1N0YW5kYXJkc1NwZWNp ZmljYXRpb24gUEFUQ0ggMi8yXSBTb3VyY2UgRmlsZXMgLyBTcGFjaW5nIC8gTXVsdGktbGluZSBm dW5jLiBjYWxsczogYWxsb3cNCj4gY29uZGVuc2VkIGFyZ3VtZW50cw0KPiANCj4gSSBzYXcgdGhv c2UsIGJ1dCB0aGV5J3JlIGZyb20gb3ZlciA1IHllYXJzIGFnbyBhbmQgdGhlIGNvbW11bml0eSBo YXMNCj4gY2hhbmdlZCBzaW5jZSB0aGVuLg0KPiANCj4gVGhpcyBpcyBhbiBpbXBhY3RmdWwgY2hh bmdlLiBJdCB3aWxsIGltcGFjdCBldmVyeSBsaW5lIG9mIGNvZGUgd3JpdHRlbi4NCj4gDQo+IEkn bSBub3Qgc3VnZ2VzdGluZyB0aGlzIGdvIHRvIHRoZSBUb29scyAmIENJIE1lZXRpbmcgYmVjYXVz ZSBvZg0KPiB1bmNydXN0aWZ5LiBJJ20gbm90IGNvbmNlcm5lZCB3aXRoIGFueSBpbXBhY3QgdG8g dW5jcnVzdGlmeS4NCj4gDQo+IFRoaXMgY2FtZSB0byBteSBhdHRlbnRpb24gYmVjYXVzZSBJIHdh cyBhZGRlZCB0byB0aHJlYWQuIEkgd291bGQgbGlrZSB0bw0KPiBzdWdnZXN0IHRoYXQgd2UgcmFp c2UgbW9yZSBhd2FyZW5lc3MgYWJvdXQgdGhpcyBjaGFuZ2UgaW4gYSBtZWV0aW5nIHdpdGgNCj4g bWVtYmVycyBvZiB0aGUgY29tbXVuaXR5IHRvIGNhcHR1cmUgYWRkaXRpb25hbCBmZWVkYmFjay4N Cj4gDQo+IEFsc28sIHRoZSBsb2dpc3RpY3MgKHVuY3J1c3RpZnkgYXNpZGUpIGFib3V0IGhvdyB0 byBleGVjdXRlIHRoaXMgY2hhbmdlDQo+IGFyZSB1bmNsZWFyIChhcyB3cml0dGVuIGluIHRoaXMg dGhyZWFkIGFuZCB0aGUgQlopIGFuZCBpdCB3b3VsZCBiZQ0KPiBlYXNpZXIvZmFzdGVyIHRvIGRp c2N1c3MgaW4gYSBjb21tdW5pdHkgY2FsbC4NCj4gDQo+IElzIHRoYXQgcG9zc2libGU/DQo+IA0K PiBUaGFua3MsDQo+IE1pY2hhZWwNCj4gDQo+IE9uIDExLzE0LzIwMjIgMToyNSBQTSwgS2lubmV5 LCBNaWNoYWVsIEQgd3JvdGU6DQo+ID4gSGkgTWljaGFlbCwNCj4gPg0KPiA+IFllcy4gIFRoZXkg aGF2ZSBiZWVuIGRpc2N1c3NlZC4gIFRoZXJlIHdlcmUgcGF0Y2hlcyBhbmQgZGlzY3Vzc2lvbiBv biBtYWlsaW5nDQo+ID4gbGlzdHMgYmFjayBpbiAyMDE3LiAgTG9uZyBiZWZvcmUgZW5hYmxpbmcg dW5jcnVzdGlmeS4gSSBwcm92aWRlZCBsaW5rcyB0bw0KPiA+IHRoZXNlIGNvbnZlcnNhdGlvbnMg aW4gdGhlIGZvbGxvd2luZyBlbWFpbCBhYm91dCBhIHdlZWsgYWdvLg0KPiA+DQo+ID4gaHR0cHM6 Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvOTYwMzgNCj4gPg0KPiA+DQo+ID4gTWlr ZQ0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGRldmVs QGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE1pY2hh ZWwgS3ViYWNraQ0KPiA+PiBTZW50OiBNb25kYXksIE5vdmVtYmVyIDE0LCAyMDIyIDEwOjA1IEFN DQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgYWJuZXIuY2hhbmdAYW1kLmNvbTsgTGFzemxvIEVyc2Vr DQo+IDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+ID4+IEt1YmFja2ksIE1pY2hhZWwgPG1pY2hhZWwu a3ViYWNraUBtaWNyb3NvZnQuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtl ZGsyLUNDb2RpbmdTdGFuZGFyZHNTcGVjaWZpY2F0aW9uIFBBVENIIDIvMl0gU291cmNlIEZpbGVz IC8gU3BhY2luZyAvIE11bHRpLWxpbmUgZnVuYy4gY2FsbHM6DQo+IGFsbG93DQo+ID4+IGNvbmRl bnNlZCBhcmd1bWVudHMNCj4gPj4NCj4gPj4gSGF2ZSB0aGVzZSBjaGFuZ2VzIGJlZW4gZGlzY3Vz c2VkIGluIGEgY29tbXVuaXR5IGZvcnVtPyBEbyB5b3UgdGhpbmsgd2UNCj4gPj4gY291bGQgdGFs ayBhYm91dCBpdCBpbiB0aGUgVGlhbm9jb3JlIFRvb2xzICYgQ0kgTWVldGluZyB0b2RheT8NCj4g Pj4NCj4gPj4gVGhhbmtzLA0KPiA+PiBNaWNoYWVsDQo+ID4+DQo+ID4+IE9uIDExLzE0LzIwMjIg MTI6MzcgUE0sIE1pY2hhZWwgS3ViYWNraSB3cm90ZToNCj4gPj4+IEknbSBjYXRjaGluZyB1cCBv biB0aGlzIHRocmVhZCBzbyBsZXQgbWUga25vdyBpZiBJIG1pc3Mgc29tZXRoaW5nLg0KPiA+Pj4N Cj4gPj4+IFVuY3J1c3RpZnkgY2FuIHBlcmZvcm0gY29udmVyc2lvbnMvZW5mb3JjZW1lbnRzIGxp a2UgYWRqdXN0aW5nIGNvZGUgdG8gPA0KPiA+Pj4gODAgY29sdW1ucy4NCj4gPj4+DQo+ID4+PiBU aGUgZWRrMiB1bmNydXN0aWZ5IGNvbmZpZ3VyYXRpb24gZmlsZSBpcyBoZXJlIGFuZCB5b3Ugd2ls bCBzZWUgdGhhdCBJDQo+ID4+PiBjb21tZW50ZWQgY29sdW1uIHdpZHRoIGVuZm9yY2VtZW50Og0K PiA+Pj4NCj4gPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rl ci8ucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hlY2svdW5jcnVzdGlmeS5jZmcjTDE5Lg0KPiA+ Pj4NCj4gPj4+DQo+ID4+PiBVbmNydXN0aWZ5IGFzaWRlLCBjb2x1bW4gd2lkdGggaXMgcGFydGlj dWxhcmx5IGRpZmZpY3VsdCB0byBhZGp1c3QNCj4gPj4+IGNvbnNpc3RlbnRseS4gQm90aCBodW1h bnMgYW5kIHRvb2xzIGhhdmUgdG8gbWFrZSBtYW55IChjb25zdGFudCkNCj4gPj4+IHNpdHVhdGlv bmFsIGRlY2lzaW9ucyBiYXNlZCBvbiBjb2RlIHN0cnVjdHVyZS4NCj4gPj4+DQo+ID4+PiBIb3dl dmVyLCBpdCBzaG91bGQgYmUgcG9zc2libGUuIEkndmUgdGFrZW4gdGhlIGN1cnJlbnQgdW5jcnVz dGlmeQ0KPiA+Pj4gY29uZmlndXJhdGlvbiBmaWxlLCBtYWRlIG1pbmltYWwgY2hhbmdlcyB0byBy ZXN0cmljdCBjb2RlIHRvIDgwIGNvbHVtbnMsDQo+ID4+PiBhbmQgcHVibGlzaGVkIHRoZSByZXN1 bHRzIGJhc2VkIG9uIHRoZSBjdXJyZW50IGVkazIgY29kZSB0cmVlIGhlcmU6DQo+ID4+Pg0KPiA+ Pj4gaHR0cHM6Ly9naXRodWIuY29tL21ha3ViYWNraS9lZGsyL3RyZWUvdW5jcnVzdGlmeV84MF9j b2x1bW5fY2hhbmdlDQo+ID4+Pg0KPiA+Pj4gWW91IGNhbiBzZWUgdGhlIEkgcmFuIHVuY3J1c3Rp ZnkgMyB0aW1lcyB0byByZWFjaCBhIG1vc3RseSBzdGVhZHkgc3RhdGUuDQo+ID4+PiBUaGUgaXNz dWUgYWZ0ZXIgdGhlIHNlY29uZCBydW4gaXMgdGhhdCB1bmNydXN0aWZ5IGlzIGNvbmZ1c2VkIGFi b3V0IHdoYXQNCj4gPj4+IHRvIGRvIHdpdGggc2luZ2xlIG1hY3JvcyB0aGF0IGV4Y2VlZCA4MCBj b2x1bW5zLg0KPiA+Pj4NCj4gPj4+IEV4YW1wbGVzOg0KPiA+Pj4gMS4NCj4gPj4+IGh0dHBzOi8v Z2l0aHViLmNvbS9tYWt1YmFja2kvZWRrMi9ibG9iL3VuY3J1c3RpZnlfODBfY29sdW1uX2NoYW5n ZS9NZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL0FjcGkzMC5oI0w3MDItI0w3MDQNCj4g Pj4+DQo+ID4+PiAyLg0KPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL21ha3ViYWNraS9lZGsyL2Js b2IvdW5jcnVzdGlmeV84MF9jb2x1bW5fY2hhbmdlL01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5U3Rh bmRhcmQvSXBtaU5ldEZuQXBwLmgjTDEwMjMtDQo+ICNMMTAzMQ0KPiA+Pj4NCj4gPj4+DQo+ID4+ PiBUaGVyZSBhcmUgb3RoZXIgY2FzZXMgdGhlcmUgYXMgd2VsbC4NCj4gPj4+DQo+ID4+PiBBbnl3 YXksIGlmIHRob3NlIHdlcmUgcmVkdWNlZCBpbiBsZW5ndGgsIEkgdGhpbmsgd2UgY291bGQgcmVh Y2ggYSBzdGVhZHkNCj4gPj4+IHN0YXRlLiBTb21lIG90aGVyIG1pbm9yIHR3ZWFrcyBtaWdodCBh bHNvIGJlIHJlcXVpcmVkLg0KPiA+Pj4NCj4gPj4+IFJlZ2FyZGluZyBmdW5jdGlvbiBjYWxscywg SSBwdXQgdG9nZXRoZXIgdGhlIGZvbGxvd2luZyBicmFuY2ggdG8NCj4gPj4+IGRlbW9uc3RyYXRl IHNvbWUgZXhhbXBsZXMgb2Ygd2hhdCBpcyBkb25lIG5vdy4NCj4gPj4+DQo+ID4+PiBJbiBzdW1t YXJ5LCBtdWx0aXBsZSBhcmd1bWVudHMgY2FuIGJlIHByb3ZpZGVkIG9uIGEgc2luZ2xlIGxpbmUg KHdpdGggbm8NCj4gPj4+IHdpZHRoIG9yIGFyZ3VtZW50IGNvdW50IG1heGltdW0pIG9yIG11bHRp cGxlIGxpbmVzLiBJZiBhIHNpbmdsZSBhcmd1bWVudA0KPiA+Pj4gaXMgbXVsdGktbGluZSwgdGhl biBhbGwgYXJndW1lbnRzIG11c3QgYmUgb24gYSB1bmlxdWUgbGluZSB0byBmb2xsb3cgdGhlDQo+ ID4+PiBtdWx0aS1saW5lIGFyZ3VtZW50IGNvbnZlbnRpb24uDQo+ID4+Pg0KPiA+Pj4gU2VlIHRo ZSB0b3AgdHdvIGNvbW1pdHMgaW4gdGhpcyBicmFuY2ggZm9yIGV4YW1wbGVzOg0KPiA+Pj4NCj4g Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9tYWt1YmFja2kvZWRrMi90cmVlL2Z1bmNfYXJnX2Zvcm1h dHRpbmdfZGVtbw0KPiA+Pj4NCj4gPj4+IEkgYWdyZWUgdW5jcnVzdGlmeSBhbmQgdGhlIHNwZWMg YmUgaW4gc3luYy4NCj4gPj4+DQo+ID4+PiBSZWdhcmRzLA0KPiA+Pj4gTWljaGFlbA0KPiA+Pj4N Cj4gPj4+IE9uIDExLzE0LzIwMjIgMTI6MDcgUE0sIE1pY2hhZWwgRCBLaW5uZXkgd3JvdGU6DQo+ ID4+Pj4gSSBkaXNhZ3JlZSB0aGF0IHRoZXkgY2FuIGNvZXhpc3QuDQo+ID4+Pj4NCj4gPj4+PiBJ ZiB1bmNydXN0aWZ5IGlzIGZvcmNpbmcgMSBhcmcgcGVyIGxpbmUsIHRoZW4gYSBkZXZlbG9wZXIg dGhhdCBmb2xsb3dzDQo+ID4+Pj4gYSBDU1MgdGhhdCBhbGxvd3MgbXVsdGlwbGUgcGVyIGxpbmUs IHRoZSBjb2RlIGNoYW5nZSB3aWxsIGJlIHJlamVjdGVkDQo+ID4+Pj4gYnkgRURLIElJIENJLg0K PiA+Pj4+DQo+ID4+Pj4gVGhlIENTUyBhbmQgVW5jcmlzdGlmeSBiZWhhdmlvciBuZWVkIHRvIGJl IGFsaWduZWQuSWYgd2Ugd2FudCBhIENTUw0KPiA+Pj4+IGNoYW5nZSB0aGF0IHJlcXVpcmVzIFVu Y3Jpc3RpZnkgY2hhbmdlcywgdGhlbiB0aGV5IGhhdmUgdG8gYmUNCj4gPj4+PiBjb29yZGluYXRl ZC4NCj4gPj4+Pg0KPiA+Pj4+IE1pa2UNCj4gPj4+Pg0KPiA+Pj4+ICpGcm9tOipkZXZlbEBlZGsy Lmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ICpPbiBCZWhhbGYgT2YNCj4gPj4+PiAq Q2hhbmcsIEFibmVyIHZpYSBncm91cHMuaW8NCj4gPj4+PiAqU2VudDoqIFN1bmRheSwgTm92ZW1i ZXIgMTMsIDIwMjIgNToxMCBQTQ0KPiA+Pj4+ICpUbzoqIGRldmVsQGVkazIuZ3JvdXBzLmlvOyBL aW5uZXksIE1pY2hhZWwgRA0KPiA+Pj4+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExh c3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+Ow0KPiA+Pj4+IEt1YmFja2ksIE1pY2hhZWwg PG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPg0KPiA+Pj4+ICpTdWJqZWN0OiogUmU6IFtl ZGsyLWRldmVsXSBbZWRrMi1DQ29kaW5nU3RhbmRhcmRzU3BlY2lmaWNhdGlvbiBQQVRDSA0KPiA+ Pj4+IDIvMl0gU291cmNlIEZpbGVzIC8gU3BhY2luZyAvIE11bHRpLWxpbmUgZnVuYy4gY2FsbHM6 IGFsbG93IGNvbmRlbnNlZA0KPiA+Pj4+IGFyZ3VtZW50cw0KPiA+Pj4+DQo+ID4+Pj4gW0FNRCBP ZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQo+ID4+Pj4NCj4gPj4+PiBGb3IgdGhpcyBjYXNl LCB3ZSBkb27igJl0IGhhdmUgdG8gdGFrZSBhbm90aGVyIGdsb2JhbCByZWZvcm1hdHRpbmcuDQo+ ID4+Pj4gVGhlc2UgdHdvIGZvcm1hdHMgY2FuIGNvZXhpc3Rpbmcgd2l0aG91dCB0aGUgY29uZmxp Y3QuIMKgV2UganVzdCBhbGxvdw0KPiA+Pj4+IHRoZSBjb25kZW5zZSBhcmd1cyBmb3JtYXQgaW4g Q1NTLiBBbHNvLCB1cGRhdGUgVW5jcnVzdGlmeSB0byBub3QNCj4gPj4+PiBmb3JjaW5nIGVhY2gg YXJndW1lbnQgYXQgaXRzIG93biBsaW5lLg0KPiA+Pj4+DQo+ID4+Pj4gVGhlIGN1cnJlbnQgVW5j cnVzdGlmeSBiZWhhdmlvciBzZWVtcyB0byBtZSBtYXRjaCB0aGUgQ0NTIHNwZWMuIEJ1dA0KPiA+ Pj4+IHRoaXMgcGF0Y2ggd2FzIHNlbnQgdG8gYWxsb3cgdGhlIG11bHRpcGxlIGFyZ3VzIGF0IHRo ZSBzYW1lIGxpbmUsDQo+ID4+Pj4gd2hpY2ggd2FzIG5vdCBwcm9wb3NlZCB0byBmaXggdGhlIGlz c3VlIGluIGN1cnJlbnQgVW5jcnVzdGlmeS4gWW91DQo+ID4+Pj4gc3VyZSB3ZSBqdXN0IGNsb3Nl IHRoaXMgaXNzdWU/DQo+ID4+Pj4NCj4gPj4+PiBBYm5lcg0KPiA+Pj4+DQo+ID4+Pj4gKkZyb206 KiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0KPiA+ Pj4+IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPj4g Kk9uIEJlaGFsZiBPZg0KPiA+Pj4+ICpNaWNoYWVsIEQgS2lubmV5IHZpYSBncm91cHMuaW8NCj4g Pj4+PiAqU2VudDoqIE1vbmRheSwgTm92ZW1iZXIgMTQsIDIwMjIgMTozNiBBTQ0KPiA+Pj4+ICpU bzoqIGRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+OyBD aGFuZywgQWJuZXINCj4gPj4+PiA8QWJuZXIuQ2hhbmdAYW1kLmNvbSA8bWFpbHRvOkFibmVyLkNo YW5nQGFtZC5jb20+PjsgTGFzemxvIEVyc2VrDQo+ID4+Pj4gPGxlcnNla0ByZWRoYXQuY29tIDxt YWlsdG86bGVyc2VrQHJlZGhhdC5jb20+PjsgS3ViYWNraSwgTWljaGFlbA0KPiA+Pj4+IDxtaWNo YWVsLmt1YmFja2lAbWljcm9zb2Z0LmNvbQ0KPiA+Pj4+IDxtYWlsdG86bWljaGFlbC5rdWJhY2tp QG1pY3Jvc29mdC5jb20+PjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPj4+PiA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20gPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+DQo+ID4+ Pj4gKlN1YmplY3Q6KiBSZTogW2VkazItZGV2ZWxdIFtlZGsyLUNDb2RpbmdTdGFuZGFyZHNTcGVj aWZpY2F0aW9uIFBBVENIDQo+ID4+Pj4gMi8yXSBTb3VyY2UgRmlsZXMgLyBTcGFjaW5nIC8gTXVs dGktbGluZSBmdW5jLiBjYWxsczogYWxsb3cgY29uZGVuc2VkDQo+ID4+Pj4gYXJndW1lbnRzDQo+ ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gKkNhdXRpb246KlRoaXMgbWVzc2FnZSBvcmln aW5hdGVkIGZyb20gYW4gRXh0ZXJuYWwgU291cmNlLiBVc2UgcHJvcGVyDQo+ID4+Pj4gY2F1dGlv biB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5n Lg0KPiA+Pj4+DQo+ID4+Pj4gV2UgZG8gbm90IHdhbnQgYW5vdGhlciBnbG9iYWwgZm9ybWF0IGNo YW5nZSBiZWNhdXNlIHRoYXQgbWFrZSBnaXQNCj4gPj4+PiBibGFtZSBkaWZmaWN1bHQgdG8gdXNl Lg0KPiA+Pj4+DQo+ID4+Pj4gQXJlIGFueSBjbGFyaWZpY2F0aW9ucyByZXF1aXJlZCB0byBkZXNj cmliZSB0aGUgY3VycmVudCBVbmNydXN0aWZ5DQo+ID4+Pj4gYmVoYXZpb3I/wqAgT3IgaXMgdGhl IGRlc2NyaXB0aW9uIGNvcnJlY3Q/DQo+ID4+Pj4NCj4gPj4+PiBJZiB0aGUgY3VycmVudCBkZXNj cmlwdGlvbiBtYXRjaGVzIFVuY3Jpc3RpZnkgYmVoYXZpb3IsIHRoZW4gSQ0KPiA+Pj4+IHJlY29t bWVuZCB3ZSBjbG9zZSB0aGlzIGlzc3VlIGFzIHdpbGwgbm90IGZpeC4NCj4gPj4+Pg0KPiA+Pj4+ IE1pa2UNCj4gPj4+Pg0KPiA+Pj4+ICpGcm9tOiogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPG1haWx0 bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4NCj4gPj4+PiA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPG1h aWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4+ICpPbiBCZWhhbGYgT2YNCj4gPj4+PiAqQ2hhbmcs IEFibmVyIHZpYSBncm91cHMuaW8NCj4gPj4+PiAqU2VudDoqIFN1bmRheSwgTm92ZW1iZXIgMTMs IDIwMjIgMTI6NDUgQU0NCj4gPj4+PiAqVG86KiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20NCj4gPj4+PiA8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPj47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+Pj4gPG1haWx0bzpkZXZlbEBlZGsyLmdy b3Vwcy5pbz47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20NCj4gPj4+PiA8bWFpbHRv OmxlcnNla0ByZWRoYXQuY29tPj47IEt1YmFja2ksIE1pY2hhZWwNCj4gPj4+PiA8bWljaGFlbC5r dWJhY2tpQG1pY3Jvc29mdC5jb20gPG1haWx0bzptaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0LmNv bT4+DQo+ID4+Pj4gKlN1YmplY3Q6KiBSZTogW2VkazItZGV2ZWxdIFtlZGsyLUNDb2RpbmdTdGFu ZGFyZHNTcGVjaWZpY2F0aW9uIFBBVENIDQo+ID4+Pj4gMi8yXSBTb3VyY2UgRmlsZXMgLyBTcGFj aW5nIC8gTXVsdGktbGluZSBmdW5jLiBjYWxsczogYWxsb3cgY29uZGVuc2VkDQo+ID4+Pj4gYXJn dW1lbnRzDQo+ID4+Pj4NCj4gPj4+PiBbQU1EIE9mZmljaWFsIFVzZSBPbmx5IC0gR2VuZXJhbF0N Cj4gPj4+Pg0KPiA+Pj4+IFVuY3J1c3RpZnkgY2FuIGZpeCB0aGUgZmlyc3QgYXJndW1lbnQgdGhh dCBpcyBub3QgYXQgdGhlIGluZGVudCB3aXRoDQo+ID4+Pj4gdHdvIHNwYWNlLiBJdCBhbHNvIGNh biBmaXggdGhlIGZpcnN0IGFyZ3VtZW50IHRoYXQgaXMgbm90IGF0IHRoZSBuZXcNCj4gPj4+PiBs aW5lLg0KPiA+Pj4+DQo+ID4+Pj4gQnV0IGl0IGFsc28gbWFrZXMgZWFjaCBhcmd1bWVudCBhIG5l dyBsaW5lIGlmIG11bHRpcGxlIGFyZ3MgYXJlDQo+ID4+Pj4gY29uZGVuc2VkIGluIG9uZSBsaW5l LiBUaGF0IGlzIHdoYXQgd2UgaGF2ZSB0byB1cGRhdGUgVW5jcnVzdGlmeSBpZiB3ZQ0KPiA+Pj4+ IGhhdmUgdGhpcyBwYXRjaCBtZXJnZWQgdG8gQ0NTLg0KPiA+Pj4+DQo+ID4+Pj4gK01pY2hhZWwg S3ViYWNraSBpbiBsb29wLg0KPiA+Pj4+DQo+ID4+Pj4gQWJuZXINCj4gPj4+Pg0KPiA+Pj4+ICpG cm9tOiogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tDQo+ID4+ Pj4gPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+DQo+ID4+Pj4gKlNlbnQ6KiBT dW5kYXksIE5vdmVtYmVyIDEzLCAyMDIyIDk6NTggQU0NCj4gPj4+PiAqVG86KiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPjsgQ2hhbmcsIEFibmVyDQo+ ID4+Pj4gPEFibmVyLkNoYW5nQGFtZC5jb20gPG1haWx0bzpBYm5lci5DaGFuZ0BhbWQuY29tPj47 IExhc3psbyBFcnNlaw0KPiA+Pj4+IDxsZXJzZWtAcmVkaGF0LmNvbSA8bWFpbHRvOmxlcnNla0By ZWRoYXQuY29tPj47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4+Pj4gPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tIDxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPiA+Pj4+ICpT dWJqZWN0OiogUkU6IFtlZGsyLWRldmVsXSBbZWRrMi1DQ29kaW5nU3RhbmRhcmRzU3BlY2lmaWNh dGlvbiBQQVRDSA0KPiA+Pj4+IDIvMl0gU291cmNlIEZpbGVzIC8gU3BhY2luZyAvIE11bHRpLWxp bmUgZnVuYy4gY2FsbHM6IGFsbG93IGNvbmRlbnNlZA0KPiA+Pj4+IGFyZ3VtZW50cw0KPiA+Pj4+ DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ICpDYXV0aW9uOipUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRl ZCBmcm9tIGFuIEV4dGVybmFsIFNvdXJjZS4gVXNlIHByb3Blcg0KPiA+Pj4+IGNhdXRpb24gd2hl biBvcGVuaW5nIGF0dGFjaG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCj4g Pj4+Pg0KPiA+Pj4+IElzIHRoaXMgZXhhY3RseSB3aGF0IFVuY3J1c3RpZnkgZG9lcyBub3c/DQo+ ID4+Pj4NCj4gPj4+PiBNaWtlDQo+ID4+Pj4NCj4gPj4+PiAqRnJvbToqIGRldmVsQGVkazIuZ3Jv dXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+DQo+ID4+Pj4gPGRldmVsQGVkazIu Z3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+PiAqT24gQmVoYWxmIE9mDQo+ ID4+Pj4gKkNoYW5nLCBBYm5lciB2aWEgZ3JvdXBzLmlvDQo+ID4+Pj4gKlNlbnQ6KiBTYXR1cmRh eSwgTm92ZW1iZXIgMTIsIDIwMjIgNTozNiBQTQ0KPiA+Pj4+ICpUbzoqIExhc3psbyBFcnNlayA8 bGVyc2VrQHJlZGhhdC5jb20gPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4+Ow0KPiA+Pj4+IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+DQo+ID4+Pj4g KlN1YmplY3Q6KiBSZTogW2VkazItZGV2ZWxdIFtlZGsyLUNDb2RpbmdTdGFuZGFyZHNTcGVjaWZp Y2F0aW9uIFBBVENIDQo+ID4+Pj4gMi8yXSBTb3VyY2UgRmlsZXMgLyBTcGFjaW5nIC8gTXVsdGkt bGluZSBmdW5jLiBjYWxsczogYWxsb3cgY29uZGVuc2VkDQo+ID4+Pj4gYXJndW1lbnRzDQo+ID4+ Pj4NCj4gPj4+PiBIaSBhbGwsDQo+ID4+Pj4gQXMgd2UgYXJlIGdvaW5nIHRvIHJlbGVhc2UgQ0NT IDIuMywgd2Ugd291bGQgbGlrZSB0byBhZGRyZXNzIHNvbWUNCj4gPj4+PiBwZW5kaW5nIGlzc3Vl cyBvZiBDQ1MuIEZvciB0aGlzLCBJIHRoaW5rIHdlIGNhbiwNCj4gPj4+PiAtIFN0aWxsIGtlZXAg dGhlIG9uZSBsaW5lIHBlciBhcmd1bWVudCBzdHlsZSBpbiBDQ1MgYWx0aG91Z2ggdGhlDQo+ID4+ Pj4gbXVsdGktYXJndW1lbnRzIGluIHRoZSBvbmUgbGluZSBzdHlsZSBjYW4gY292ZXIgdGhpcy4g VGhpcyBhdm9pZHMNCj4gPj4+PiBjb25mdXNpb24gZnJvbSByZWFkZXJzIGFuZCBxdWVzdGlvbnMg YWJvdXQgaWYgdGhleSBjYW4gZG8gdGhlIG9uZS1saW5lDQo+ID4+Pj4gcGVyIGFyZ3VtZW50IHN0 eWxlLg0KPiA+Pj4+IC0gSWYgdGhlIGFyZ3VtZW50cyBhcmUgaW4gZGlmZmVyZW50IGxpbmVzLCB0 aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZQ0KPiA+Pj4+IGluZGVudGVkIHdpdGggdHdvIHNwYWNl cyBmcm9tIHRoZSBzdGFydCBvZiB0aGUgZnVuY3Rpb24gbmFtZSBvciB0aGUNCj4gPj4+PiBtZW1i ZXIgZnVuY3Rpb24gbmFtZS4NCj4gPj4+PiBIb3cgaXMgdGhpcz8NCj4gPj4+Pg0KPiA+Pj4+IEFi bmVyDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4NCj4g Pj4NCj4gPj4NCj4gPj4NCj4gPg0KPiANCj4gDQo+IA0KPiANCg0K