From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (EUR02-VE1-obe.outbound.protection.outlook.com [40.107.2.49]) by mx.groups.io with SMTP id smtpd.web10.11477.1606835224143239183 for ; Tue, 01 Dec 2020 07:07:05 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=c8nd4qOv; spf=pass (domain: arm.com, ip: 40.107.2.49, mailfrom: samer.el-haj-mahmoud@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g4ufye4bh9NOSnR7OhMdA+q0se1DSoWj4uz81UIQFZY=; b=c8nd4qOvBVMK2xGhiViOWhywURO8JKBL5gTS/pssdXBoE7uGXnr7q73XbRnVku90ZQ/VQk5eZCskDLcPmaLZLLgafblkzg5rq2MsEGxY07bJKBDeuJq93bi+Mmf6rWtXG0OZIiu1WRrtNOdqd8Ce5CyhLnob/SWBpd889ALnNOg= Received: from DB6PR0601CA0023.eurprd06.prod.outlook.com (2603:10a6:4:7b::33) by DBBPR08MB6060.eurprd08.prod.outlook.com (2603:10a6:10:20a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.22; Tue, 1 Dec 2020 15:07:00 +0000 Received: from DB5EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:7b:cafe::fc) by DB6PR0601CA0023.outlook.office365.com (2603:10a6:4:7b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.20 via Frontend Transport; Tue, 1 Dec 2020 15:07:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT043.mail.protection.outlook.com (10.152.20.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.26 via Frontend Transport; Tue, 1 Dec 2020 15:06:59 +0000 Received: ("Tessian outbound 39646a0fd094:v71"); Tue, 01 Dec 2020 15:06:59 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1244601f00a8acf3 X-CR-MTA-TID: 64aa7808 Received: from 008db696a10f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 88AF1DE6-29D9-4C00-A321-B8BE0F2E87BC.1; Tue, 01 Dec 2020 15:06:38 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 008db696a10f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 01 Dec 2020 15:06:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aJinXJDPWNtis+vjUh9FLvxzRli8mdPTYyKEPgml6IDsmo5gil2JPMe6rgbCC6gWeRRGIzzqQKEk6TJWlASor0a8+ZNpwDFgR0jE1qKlxTBaHENEgZvZNnSoZGVKjxeO+giTM1s3bkcvQ00Yo1WeDQr6ZiEaK4Q7GZPECh388Z8ansVc4j6SFuKnsb7BcD6CeLEHBr9M0ac8qRpeL+EEIkg+IOnrX+lYok3ZP5Xe4DsSMtfEKL7gvm1xqqUOXFw5xO3MDPrGr0xDv8cwhcMj7reME6Gw1wPWMViSUuikJFgyEEkvVdtDbt+fsBmA3IxKJM+fbmzngHCIHOkqwHp17Q== 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=g4ufye4bh9NOSnR7OhMdA+q0se1DSoWj4uz81UIQFZY=; b=nVUuuspyXzzadE0ghghU9i+3f7b6ahkggoREgRsOfqJ/rfybDiL+XAV1CE+UKPYAb9ojdlMwPjyRkp6FKNfvGpaegynrM3L+/O0Kgr2ShUZSruVAxxJmMExF7flGwnfITXdtGfQooJ30Yv98JnDKmRqEu+ZClCZPfZNobYhHOXFQdOTXmx/M8hYsHG8Iox1gLyDkQxmVScDnIl9grTQbi9gBWEYLOn13VxTAUkoaQMoEBA42oSTwNBf90fBbA96PjAZHIjqE8IcfXesgRy5QlcohX5CM6OkkO9XURHTDy9IU50wUQhPmiahvhT0YRRALEVA8QbTpWtHNRJNhL4wxaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g4ufye4bh9NOSnR7OhMdA+q0se1DSoWj4uz81UIQFZY=; b=c8nd4qOvBVMK2xGhiViOWhywURO8JKBL5gTS/pssdXBoE7uGXnr7q73XbRnVku90ZQ/VQk5eZCskDLcPmaLZLLgafblkzg5rq2MsEGxY07bJKBDeuJq93bi+Mmf6rWtXG0OZIiu1WRrtNOdqd8Ce5CyhLnob/SWBpd889ALnNOg= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DB8PR08MB4140.eurprd08.prod.outlook.com (2603:10a6:10:a8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17; Tue, 1 Dec 2020 15:06:35 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::a1f1:ccfd:b17f:a490]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::a1f1:ccfd:b17f:a490%5]) with mapi id 15.20.3611.031; Tue, 1 Dec 2020 15:06:35 +0000 From: "Samer El-Haj-Mahmoud" To: "devel@edk2.groups.io" , "nhi@os.amperecomputing.com" CC: Open Source Submission , Ray Ni , Leif Lindholm , Michael D Kinney , Ard Biesheuvel , KuoHsiang Chou , Samer El-Haj-Mahmoud Subject: Re: [edk2-devel] [PATCH v2 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver Thread-Topic: [edk2-devel] [PATCH v2 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver Thread-Index: AQHWwnbdOp2YqTe5ZUS/a/RSZboMtqnhwswhgACc9sA= Date: Tue, 1 Dec 2020 15:06:34 +0000 Message-ID: References: <164A7B60D848FBA1.30699@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; x-originating-ip: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: bbebaa34-5659-4a80-6057-08d8960ac0b6 x-ms-traffictypediagnostic: DB8PR08MB4140:|DBBPR08MB6060: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:330;OLM:330; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 9HZt4GP0htm/eMF+wzQa97+8w25Ky9gD4bMvBOz8JfbahJ+TSwPt31ElYgRjP6BH1jzBPu/c7NTqyyaVtqgfqF8+pdGndlpg/1KYUGKb5l2t9CuaN3zFagR8ln3YnVJDx3GnuinJ3jBXplI/4zfYjFKTTDe0px7RcbBdnf/LRGppa6bZ5i6VwB0CfdVdM8ojNobEdWpRXnePhPLaLffLSaeSG5rATbkYWipKsA4/iTN6AQvY8rbHAQmQhAsKy2EfnMxOjq9Ewi5qm+tyR6mrPeEhcMDq2aZDXb3L7k1imF/TPL2ZJhI+O/qoaCpDx+q0YEbt/S2N5e1awMKOiCQ1ChmAcjYgMNX5ZOmVQWVaeaHd2mtjtYd3Am8fAy8BmXtxzko+rPyriLDsCxOXdUfiLw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(396003)(366004)(376002)(39860400002)(30864003)(966005)(9686003)(7696005)(66446008)(64756008)(66556008)(66476007)(66946007)(76116006)(478600001)(52536014)(16799955002)(5660300002)(26005)(83380400001)(53546011)(6506007)(76236003)(55016002)(166002)(186003)(33656002)(4326008)(15188155005)(54906003)(19627235002)(8936002)(8676002)(110136005)(316002)(2906002)(71200400001)(86362001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?YsUL0yNPhIJqC+hC1VqM2kt7WbjMLcDkzIBamQg3Jl90hS3bi9qq15xEueAt?= =?us-ascii?Q?kQTq6AA2e0FTCGFWLQ7S2OCfcnOPdxc31+49dXFyf4FfAMYO1xyDByqxZQWx?= =?us-ascii?Q?2/W7yTwYdnNVI3MUPCfFNqtoxKmWBQiqrbqgR+xNbZngEzxch0KM2KwGUxmq?= =?us-ascii?Q?+i0JmIAGKVpfjuV56ZUFHL9CXkiWXHovZPIYmaoHlq52RU9Fa58KtfD1WE+k?= =?us-ascii?Q?Eqb+sFA7FPinvpHlt+xBkK0As5gKxS67jgTU5ORNJlGjdwuXgxircfygXEzE?= =?us-ascii?Q?+bhVa6mbM908w18/TTD3YY9+6yaUIMeXp1jTBsohgViZRqKW2FDFVsf43Yfc?= =?us-ascii?Q?RZlK7BCcGbz2GKArVyUTJDX38T59v2jyfBPVDsXT7UD3SUkkkvJKpAoYpURX?= =?us-ascii?Q?D9hcXNeE9OK1mKyb1iVnN0aqhLJ1sdJwR3kgW03Q4APN+M2xj9Bj2dt3FTAY?= =?us-ascii?Q?7kPx2vWMCTMcZ0tGB7Lb/LqcKIx/Mh5sN4oHjlwRVdthtoY02StO+h86wOpb?= =?us-ascii?Q?tBK8iluP7aeYWWSPviX1Gd769O8wnu4ILIW4Tq274W+lm9x3WfMnWkVKLha0?= =?us-ascii?Q?pCyuLzS9SoTxTERpmX7vd4tVLmE9p4ep0Ptw30DfNRhKR9JITitB30+vPhQE?= =?us-ascii?Q?FkcTAU7x2W7j/n4L2dWigSPznJg64FqWeN1Obx6cABtJIku3Kaq9sQ2v0fPy?= =?us-ascii?Q?vhEfoJSPdQYHGJ+rFdFV0HCNnX2SHkXppN2Sp2j7f6zafsTaSULEumPO7BfX?= =?us-ascii?Q?3rVsorT9fFFh/5XIrI64/SAxIyh5Ki/ghy4HxN6WT/vLohKbKZxmAZNTNEN4?= =?us-ascii?Q?e9HMIbVr3BCBAvublEIPhEsuMFhpMJc+0T/GS2ICEotuRdu1DSi9DTIJqCAF?= =?us-ascii?Q?sWDQG6LbTxk1Q/Kk7bU4du/wZ1vzrnFLDZH3GZr07Prg/kzsmFqAQwZS9FEv?= =?us-ascii?Q?CM120u9r17TgQtW0WCUTdiAHwLXoFT33LKqWsWi0q20=3D?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4140 Original-Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 02bb50c4-7511-439c-6d03-08d8960ab1e9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sCFFxx5yPTh9qhEIGUoAUvl2rI2SOMBayuQVrlX2C6QMtJKVMNGDvLmsH2npI9DTSBkTOd9BTQ3wJ5tNDDc8k92OB4Q7RR7MZmlUL+WKZQO2ZPB++pbnTjy/+nyRc6BycipA2Go9uVnGuqYqJ2/6gHz5ShzQ8rptr14kPpjmlXIEmF+h+XxbuHVd804Fmvt04FN+wbvpsZrpkTuoJLXoaQkbMubxGXIgwc4f2VJ1y225+jZMktlodZSFF6iAE3H8uuOcYHVC3asRcptnpEg3SdGCpJcmYUJDfD5fFb5zxDTanmDas22sqxk1AdZmYWLcnvmDS8tYfMgb62l8eDq4h/KXEAFf31ir+GoUXsnZOviu2m3xA9hLRvWO+EVeP2dI7PxoCwOoZtO5AU8hpw4gZXP9RCdj5U6uXUkxgykprmW30lrgBzEpmpXA0eMx19zMPv6RdkpGooew9Oj+UrPJ49xMYwCx1AV/z2rvIgaKJu0= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(39860400002)(346002)(396003)(376002)(46966005)(86362001)(9686003)(83380400001)(166002)(55016002)(110136005)(52536014)(47076004)(82740400003)(81166007)(8936002)(336012)(186003)(30864003)(53546011)(82310400003)(70206006)(356005)(6506007)(70586007)(478600001)(19627235002)(76236003)(16799955002)(316002)(966005)(33656002)(15188155005)(54906003)(2906002)(5660300002)(4326008)(7696005)(8676002)(26005)(579004)(559001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2020 15:06:59.9872 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bbebaa34-5659-4a80-6057-08d8960ac0b6 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6060 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_DB7PR08MB326021D04DC17EE2D7B32C1D90F40DB7PR08MB3260eurp_" --_000_DB7PR08MB326021D04DC17EE2D7B32C1D90F40DB7PR08MB3260eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Just a couple of suggestions: * Change the file name from uefi_2500_800.efi to follow the EDK2 file = naming convention. Maybe something like AspeedAst2500Gop.efi (what is the= "800" in the original name?) * Change the INF file GopDxe.inf to be more meaningful (maybe AspeedAs= t2500Gop.inf ?). I assume that ASpeedGopBinPkg is kept generic to allow pla= cing more GOP drivers for different ASPEED models in that folder in the fut= ure? With that, Reviewed-By: Samer El-Haj-Mahmoud > From: devel@edk2.groups.io On Behalf Of Nhi Pham vi= a groups.io Sent: Tuesday, December 1, 2020 12:52 AM To: devel@edk2.groups.io; Nhi Pham OS Cc: Open Source Submission ; Ray Ni ; Leif Lindholm ; Michael D Kinney ; Ard Biesheuvel ; KuoHsiang Chou <= kuohsiang_chou@aspeedtech.com> Subject: Re: [edk2-devel] [PATCH v2 1/1] Drivers/ASpeed: Add ASpeed AST250= 0 GOP driver Hi Ard, Samer, Could you ack this PATCH v2? The change's just to fix Samer's comment abou= t UGA info in the GopDxe.inf. Thanks, Nhi ________________________________ From: devel@edk2.groups.io > on behalf of Nhi Pham via groups.io > Sent: Tuesday, November 24, 2020 10:32 PM To: devel@edk2.groups.io > Cc: Open Source Submission >; Nhi Pham OS >; Ray Ni >; L= eif Lindholm >; Michael D Kinne= y >; Ard Bies= heuvel >; KuoHsiang C= hou > Subject: [edk2-devel] [PATCH v2 1/1] Drivers/ASpeed: Add ASpeed AST2500 GO= P driver This is the AArch64 binary provided by ASpeed for AST2500 Gop driver version 1.10.00. Cc: Ray Ni > Cc: Leif Lindholm > Cc: Michael D Kinney > Cc: Ard Biesheuvel > Signed-off-by: KuoHsiang Chou > Signed-off-by: Nhi Pham > --- Drivers/ASpeed/ASpeedGopBinPkg/GopDxe.inf | 24 ++++++++++= +++++++++ Drivers/ASpeed/ASpeedGopBinPkg/AArch64/uefi_2500_800.efi | Bin 0 -> 42880= bytes Drivers/ASpeed/License.txt | 25 ++++++++++= ++++++++++ 3 files changed, 49 insertions(+) diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/GopDxe.inf b/Drivers/ASpeed/AS= peedGopBinPkg/GopDxe.inf new file mode 100644 index 000000000000..ed48e2efe1a5 --- /dev/null +++ b/Drivers/ASpeed/ASpeedGopBinPkg/GopDxe.inf @@ -0,0 +1,24 @@ +## @file +# Component description file for ASPEED Graphics Controller Driver. +# +# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+# Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the = BSD License +# which accompanies this distribution. The full text of the license may = be found at +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR I= MPLIED. +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D GopDxe + FILE_GUID =3D 7F81D838-F91D-4C44-8552-8FB912122FDD + MODULE_TYPE =3D UEFI_DRIVER + VERSION_STRING =3D 1.1 + +[Binaries.AArch64] + PE32|AArch64/uefi_2500_800.efi|* diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/uefi_2500_800.efi b/Dr= ivers/ASpeed/ASpeedGopBinPkg/AArch64/uefi_2500_800.efi new file mode 100644 index 0000000000000000000000000000000000000000..4b36e189b3a15abe2c160b948a= 1e221d4b0fd8e8 GIT binary patch literal 42880 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 literal 0 HcmV?d00001 diff --git a/Drivers/ASpeed/License.txt b/Drivers/ASpeed/License.txt new file mode 100644 index 000000000000..3dc49d3aff4f --- /dev/null +++ b/Drivers/ASpeed/License.txt @@ -0,0 +1,25 @@ +Copyright (c) 2020, ASPEED Technology Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -- 2.17.1 IMPORTANT NOTICE: The contents of this email and any attachments are confi= dential and may also be privileged. If you are not the intended recipient, = please notify the sender immediately and do not disclose the contents to an= y other person, use it for any purpose, or store or copy the information in= any medium. Thank you. --_000_DB7PR08MB326021D04DC17EE2D7B32C1D90F40DB7PR08MB3260eurp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Just a couple of suggestions:

 

  • Change the file name from uefi_2500_800.efi to follow the EDK2 file = naming convention. Maybe something like AspeedAst2500Gop.efi   (w= hat is the “800” in the original name?)
  • Ch= ange the INF file GopDxe.inf to be more meaningful (maybe AspeedAst2500Gop.= inf ?). I assume that ASpeedGopBinPkg is kept generic to allow placing more= GOP drivers for different ASPEED models in that folder in the future?

 

With that,

 

Reviewed-By: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>

 

 

 

From: devel@edk2.groups.io <devel@edk2.gr= oups.io> On Behalf Of Nhi Pham via groups.io
Sent: Tuesday, December 1, 2020 12:52 AM
To: devel@edk2.groups.io; Nhi Pham OS <nhi@os.amperecomputing.co= m>
Cc: Open Source Submission <patches@amperecomputing.com>; Ray= Ni <ray.ni@intel.com>; Leif Lindholm <leif@nuviainc.com>; Mich= ael D Kinney <michael.d.kinney@intel.com>; Ard Biesheuvel <Ard.Bie= sheuvel@arm.com>; KuoHsiang Chou <kuohsiang_chou@aspeedtech.com> Subject: Re: [edk2-devel] [PATCH v2 1/1] Drivers/ASpeed: Add ASpeed= AST2500 GOP driver

 

Hi Ard, Samer,

 

Could you ack this PATCH v2? The change's just to fix = Samer's comment about UGA info in the GopDxe.inf.

 

Thanks,

Nhi


From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf o= f Nhi Pham via groups.io <nhi=3Dos.amperecomputing.com@groups.io>
Sent: Tuesday, November 24, 2020 10:32 PM
To: devel@edk2.groups.io <devel@edk2.groups.io><= br> Cc: Open Source Submission <patches@amperecomputing.com>; Nhi Pham OS <nhi@os.amperecomputing.com>; Ray = Ni <ray.ni@intel.com>; Leif Lindholm <leif@nuviainc.com<= /a>>; Michael D Kinney <michael.d.kinney@intel.com>; Ard Biesheuvel <ard.biesheuvel@arm.com>; KuoHsiang Chou <kuohsiang_chou@= aspeedtech.com>
Subject: [edk2-devel] [PATCH v2 1/1] Drivers/ASpeed: Add ASpeed AST= 2500 GOP driver

 

This is the AArch64 = binary provided by ASpeed for AST2500 Gop driver
version 1.10.00.

Cc: Ray Ni <ray.ni@intel.com>= ;
Cc: Leif Lindholm <leif@nuviainc.c= om>
Cc: Michael D Kinney <mic= hael.d.kinney@intel.com>
Cc: Ard Biesheuvel <ard.biesh= euvel@arm.com>

Signed-off-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
Signed-off-by: Nhi Pham <= nhi@os.amperecomputing.com>
---
 Drivers/ASpeed/ASpeedGopBinPkg/GopDxe.inf    &nb= sp;           |  24 = +++++++++++++++++++
 Drivers/ASpeed/ASpeedGopBinPkg/AArch64/uefi_2500_800.efi | Bin 0 -&g= t; 42880 bytes
 Drivers/ASpeed/License.txt       =             &nb= sp;           |  25 = ++++++++++++++++++++
 3 files changed, 49 insertions(+)

diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/GopDxe.inf b/Drivers/ASpeed/AS= peedGopBinPkg/GopDxe.inf
new file mode 100644
index 000000000000..ed48e2efe1a5
--- /dev/null
+++ b/Drivers/ASpeed/ASpeedGopBinPkg/GopDxe.inf
@@ -0,0 +1,24 @@
+## @file
+#  Component description file for ASPEED Graphics Controller Driver.=
+#
+#  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved= .<BR>
+#  Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.&l= t;BR>
+#
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of= the BSD License
+#  which accompanies this distribution. The full text of the license= may be found at
+#  http:/= /opensource.org/licenses/bsd-license.php
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS I= S" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS= OR IMPLIED.
+#
+##
+
+[Defines]
+  INF_VERSION         &= nbsp;          =3D 0x00010005<= br> +  BASE_NAME         &nb= sp;            =3D G= opDxe
+  FILE_GUID         &nb= sp;            =3D 7= F81D838-F91D-4C44-8552-8FB912122FDD
+  MODULE_TYPE         &= nbsp;          =3D UEFI_DRIVER=
+  VERSION_STRING        &nbs= p;        =3D 1.1
+
+[Binaries.AArch64]
+  PE32|AArch64/uefi_2500_800.efi|*
diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/uefi_2500_800.efi b/Dr= ivers/ASpeed/ASpeedGopBinPkg/AArch64/uefi_2500_800.efi
new file mode 100644
index 0000000000000000000000000000000000000000..4b36e189b3a15abe2c160b948a= 1e221d4b0fd8e8
GIT binary patch
literal 42880
zcmdtL3w%`7wLiYkIg<w@gdrp$glHxKHB3cf2qCdT&P;fz2<arKRcmJQfJBfy2ns= ^w
zB%#$Bt3>ey-e!WL5`Mi}3dQtAfY$1@wIx{F+xFJU1GS}BMO27b^8bF%BRLsDtG)OC
z`TRb=3Dk>fdg?X}lld+oK?UVH6*POiUM{L4S>UoJUZuxNo06&=3Dbj08bx?D@2T= phew47
zjyJM2q*cPqp9^<h;Xm!UVZ4~|%nPKQ7l4lj4m}H=3Dkdci0{?QQrMc5S$mFpW=3D7H!ts<= br> zY29t~TtfJ-s0cI!0Ha*g$A|AWG@%O7bwz#U>Y8$cSBq!f?LXjo?dgBzd9Ya=3DJyk4r zpNkO#A1R{aDIvC<!u|W=3D%z?l~5zcg>4uq71j%|R4l!+bZV$^|C#p-U9Ywc1>-y= A$*
zlxJD(go3V6J3rni?LMVQ9hwk1>CtLufe@>XM2Hg7=3D>d&w(9(`8S-{N?DIz= B{IfCT|
z0y`Z}Wr;e_`?P2!u3r?q`7!8@PZHZiswj5JA}3Kk^MmD9S`s-zyx47}gQ$<`#{W{B
zy-H$71n^vcR<aI_*Sa%8N^K|+ZJ305&I~%G%Z1)9@^c&bVLcy<Ge59+ya_O= 9b;4{#
z>rNCOd>8^fw)^9ap517((RNdIR(mOfIjEDgdQq31=3Dgcskt+d5+&+iPLe~)s(K= Pk06
zsaki_AC%hfBTXL3*FKZ>Yhkn}gweLr7H#Rb2JJ&A*Y%%Dt>+@Gd*|<z+NW%^= Z%a1%
zeV<8NgRIv=3D)}LB+nX<Oh7VY$I(w^AS0X$1S!8euKcGS`IhEhvCX-X6cR-UCd)Sd50=
zB0&hPTh}8+KKk)3((cE`L^vtGE}41;y_`tBlsY0GPzRn)qAp4uy?vs!@j-{PA2NxM
zHD4F>L{-il2&Jh59-;XnlGOnjcSY8^`xU7*h<xhwEa}XFo@RA}Uv2hLCr`zA_BI= OW
z<-O{Lv}m>Nl=3D8@S*1Hq+IJQDhS{zQwy$_cL8q|Ni9k+PEmpU-0$mST3j-D=3D;cb`= Tb
zLe;v-H`_9>O4)sGsu<{*DF)6ca>r@P2spt>VxOz({%&pTb07L;G4P2L;b= gs=3DBgFvQ
z8JejMZ19TKKJekW*8%xX?&wE3tF6?tM6@p<>C6HDSaqOBNpw4|*4x}&UM5&= lt;}D{&GM
zjeN>P&j)V`<Zb282K=3DLmXAZFL#ztf8vF_exsnu`N_$dC&0oN;vQ^HvN6g= 1l%A}3E4
z`z1;14m~ZkK9L}{si1@Bd_V8cN%_L1`CQ_~`cRGNwD1l<M?<r~E6PM+T!ob6j!IK+ zyM&mn=3DK)qWNo@1a6X-vYuo?HVd1#j;_8kI`lz-X-;>@&X)B(1mXQRVu^-FT3= *v2-q
zO(o-?3&1UiGGK4So;jc@YJL#B`$10~EA}z}V(`u~r*XH&Y65hAZkWzn>7Zp_en= _29
z=3D=3Dg7z`<dblTn78{6Q%YQq$$hvyB*GG@L1L>TKyTKb?TiCXGNLRdi*YjbHz@!U+W= f9
z!JE_2M)k+K&CJ)p8+po}VDQu(##3?_PgdIEsb{~z6M66-M1Q$4{$5gQpGLYLawlIE
zUg#J2YF`JvE|*%%nndf7I)^g?{B)W9-5{O$!DR5Y*R1~|jFBL0K^OQ8Tn?H)RcaqZ
z9t?H@X;Me2vlWqs-W~!y>T85#j7!Ql0=3DPNQ7mRCn0&FS!R@Xhq`j{;CQHS6B3wT0= 5
zAB+@rhcG6ouVrzDZd*D_9q^-`X&9Tms5h|2;p_u_>Hv9>rWrcoLYm|DV~kUd*VE= -*
zjKxBXMU2@ak}+l#NuT#PPHAIkb7*J0lGyJ*?$GBW%MNh-)9&=3D#Zs=3DPT_}5-A`b~`x=
zIj8y@PCx1oAfK}EV=3DkkuqMf3RS^%A-d_O_|YB6UH++xbM2lh&XUCq#LJ!9E}QXx)+ z(0=3DuMiZlHx*y-;pS=3Dqop1zgH)R!AIWTPvW)k<T0QXkX!QQrF7Mhx_sqw1@h%W1`qL<= br> z9p%JsgWpfad-kePBB%Jz2G8V^Jog^qoGZc3By_Y_IGlE#LlI{VTw(D%#pGGsb{@~c
zJ>Yqs)-C_Lk`+OofvfYZ89es{98QPHGj-4ESMvG;*|1gYbM}2YWHyxldxvfxt^O#7
z4m92deF3kd^}T>Tv)+)B6lSl@zQ?@n^&7h5IOcHf!gXq+*c}=3D#1`1)5Xrn)b+$@_= g
z5qg?uw%=3DvWgH}3d+Jv4bjd}20l=3DD9gIb4ge@|0401ZnNx48JI&+u>9lqSKGNfR= 6Nh
z74k4`S*YBw+pPOoSlyGu>bBBW-O^)5-LJB)HpO}9I_S+4O6@a9QwL6MwE1hM&jSC&l= t;
zEyZcRL%({uo^z$;|Fw-3+X&A{)_mUBiEhf6IJ2t0<$D5okBkY{TjiMdJn<a~@v@= j0
zFXXB@YcYO%pufbi%ECWze+zig=3D#%twgE{uRX24yjpZ$e?^Krb=3D$F%$e-1TvKA%54g
ze$=3D(oc|O0Zkr&SICgOh%e!m91(fGX)@PEW_BX}7s6h|qu-oZ8>^@@FZ4azl+r%Wd= 5
z^6YJk&Yn+R&}PE64-P)gXZ9)6hmlSbX{&mo+EOqs-FhDu3f*>HsE({r>= ;i801q(|C~
zpy|h4OF75u<6~k6$Js{02M6_fJxJe$bO`;#asi~*GT%&-&JLu>TL`?3;42d= Sh<>oz
z?-jv%tNmlxR?G>#xJZ}sDHG4sD}+Z4!+HlBedopi7OnZ3qFaY>y;nPDodLWNaQQ1+ zhT-=3D;Q~x3H$Jl7}DcS!`+%VX?#2Y(|CyN(-eS~@JFwOU8!U{*i{*$ozBVlh4wqPXe
z*Muz`3HuMimXCz}oUj{4!nz1sY=3Dd>Z=3D=3D%|1jU!-NeLo=3DHH8wo7<9mQnu8n}= RPjvk|
zB4wj5T06#w1SuB%a>UTfo#;c(dzODq{k%a6`huYG=3Dyx5?1dR1<9Oo!QI;8vW$kT+#=
z-G=3De)85}I34=3D4GDd3YB2X(H)%A!F>L9LvzIu>AeV3vzzm1m6pO0Ow~5hxz2E5je= er
zgOga!nz!j=3DTRa>F4%c0Gp)G6&`TrQ>qS35_b2!_>wlsrQBi03^ozQS`JZa= toSX0$~
zK1tr^^JYF@pLA=3Do4lf5>e&?GyzmmMyclg<7>u)1&<u^>&= ;_k7+<cGZ8Cc)iUg>_y+<
zr=3DPAb0gUuWe+8Z!LEi(~X+m1n2pb4lWxrXr+&zi10&U{m$}*_$5b7Dilhd;I-&a= mp;S-i
zR>%9Ej^`si@Zdq+!+0Wl|GdR;nMA_=3Di$(mKa-!aT(uF_jW_xF%oRLm)+t(_VJSf9U zAw$ZIwv}acJ;3^(vdckv_-sRTncpNQWKSkPrmRWdjkGq{mdocRIVt;`85gi{Xuo4o
zPex#<9-sWc!4Y*iNYk_#q{F&sGq$0gzekI0Zy-&0586guIs=3D%9*L>UJ#e= ^>8waH?Y
z1YINzTY2Amz>~xlpPcxpPd>U+r$O595*{~fI|h)JwJkm&y_73m4*ZHHUk2*8X#I= )#
zo3{8Q2lD)Thv07lu5L5taO$)cYv{Bk18eSTjJaR8h0?DfL-23e!k1CLG5UU;XXa&4
zu7F8nhG9GZdY|vd!~?7hx=3DfykdjK&1*5SIv8(T4+f**2BvA(i%Z9}-di-PrgNMr0U z-CoR3&jQANG25y4OFLjz`ulhm=3D6pceTJ{8e!}hd37L73o-J#ylXSVvh%y0M+)T3{M zMw6^|N+$1=3D|9yl-s-4tDOUBKFjRl@E47-Q0IKUjkunmO8qpS_qKv)uB5yN<1k(|AT z@D!A{=3D|weQlB)R*FE_?D`N_B@SYHl!Bj6T48KTK|8)29e$^wl;aQVj_^*51*cNkX|
z&-jV~Yq}Ub*x*YE%Rv3N4&z=3D!*rmX;!R8a@2Hw|(@d^mL0(dsqRfJ^&@3vv= Q*@Wc+
z&j!mP>?+`u4&!|ZFv*8GQyPZJa<Kjq!fzUe9fl6N0Aqh=3DV2oMv;CM^{oa= vf#gO4|P
zL4VqC{zR4m?ToE0!)2B~Uq8;IRrcYdBgRw|;q%l^(t8l}c>gcl8*TkhUjL4@JM*kD
zMIV8E)|;lqb9{Xq1sycka3gfEO!EzFRP=3Dd(F&WMie+8{@T|7=3D$m@bA03)96v5*DV5=
zZxR-!i$@6?MHgQqJWLl~2JC!Ye7?R5aO$EghILeSwb%cUaL@VrxQ}#fdPjYH0kCj=3D
z>>w;mA9oQJrjJ3w!t`+mVPX3C7-3=3Dhh@i%K`uG50VfuJ4V58|{BjAnD$EJJl9nvGY=
z`MLUy#Q!SB?IC0Cr4E$E2J6=3DmpSqg;s4oe+OI^{&H1u^1^3Etp?$fvkKOHG%r;QhN z&qs<9>OAodYt6pNC|3^LMEI1amC0`Eu|-El-mR?L^krCvup3z~_+ffyMxsvN2N= =3Dse
z_jl;AjYfvn;=3D9hw`}8yDI@XTT-9}mBf0gt%MHge88P7RhY;8;_P{b<mJ7FjMhXKsP zpCGo!`5s#Zv-bmjP?qZseL7f@93>{a3V(^bFczq{DI>`}6Eshw%mA)4xL%47vkTDn zD#YK3cREe;ktXx(ys~XB@)OqHDS#cmExFi|o7a(+P2Lj$=3Dl%9k+8k%*{e*4CdS*~g
zT6Oy2$5IaBPQLeNJeI;XJ%Kj8i8j3@OLgsM2TSsi_XgW!lOg%~6tTT<zCH$Qr#vaf
z>kt#Xo1|jztp<<eiLxM{e*+HF9`G1$w~ix^^@Q84w+M$`h1;$FB;2%He$XS`7ufb= N
zyY*|cPRobYV^13kcaN}Niq!h^Ncdn8!~Ox=3DY54~~WnDI3fO(yON%6zJ3&;9C;*Ega z=3DX-&8@Np;u^4Nv6OMWT0aXfq&XK+ZrcM-mHbU(uGBeBf(Fq(Ui?h>!)G%b0{= ;y&M2
zz?p6~<<n)}?}i@OdD;QIpy<+l$3xin;5^`fKCmqJD*j@YTZnSn-w`i}9&Yyo= D4T)t
zN|-EU-REVwI=3D~yHVZ0`!<%WoO3+5G$Y|3OM@gPr&@AbrsZ1)jnr}s6$r3uiF1x-V= ^
zhvjGLZv>p{fBU+ZzEI=3DcT6gbwExvE87H{?AB;c|hJud?DRs_;DB0p54=3DDVakz5Q0+<= br> z8C#w@I4Aca$^&?QC2Nl5%UV3k@M&j*c18d^!>2~ObRM(J`fkViobs`Bpn&= i+(TV+$
zPQryq$!5A2X^Un$aP&4|ZtYTxeLeCf$Duvk&)CR4J<;(x`8+7{dk(7kVzTCIk8= sYh
z{6Er~20EY*dzQ8;5x$y`(O2*n_RCs|#m^MrNLOI*0rt&;CF$iR>gD7=3DeZ$xF_iy@= |
z<3)U9?t)|6<}E$u6<W$iuq7&FPrrXR>|<M;sMC;E@ytF+j}{X=3Do1= `i7*D-!K$y2;)
z+6007{=3D3tPUC~`B!F$9Mu}LXbvccCTWr_qmCHhcGZ>$z?^;0?WccYEm=3Di~Z`>m^= Gb
zf%S;<qaMb}D3d|Rfik&+GC|ut$S*^itIf1sC$`yOhhwz(X3%-af|+!uqU`;EbwQ6p<= br> z2cRbhAY<%%rmdIjsw7d;i?qe3g7TYL-oz2GgT(z1_H*z@DElL`Y^<oOhJ5_M4*}i>= ;
zxJBbI+P#J}zz^%&_Y=3Djb$!b3NCNAsqf~IQHCXQ9!k8;|@YF^rBN?qXGV2MSu4Eiz^ zb=3D^d|mhO+!;uYB1V!-;OVOh&#wD_ffvAzsE6F-;bO#bQXvrR%s?r`3TUjW=3D*j4P|2=
z%UBkD(hJ=3Dzair9@M~jj&?Da8U`sLHUo&UAJekJQejLL*z?G^Nu0miXz!MK+G8e!= %d
zl5pxN$K8#D+w3dm)orTs``kulc#Q>n9e+LGjlu@QI9SZG(lCr`yh7sHU|j3XBh7T1
zZT`9$GZ}@SS)>WL#p8UW(;T9%9eqNZZ^32J?#pCd=3D9nh@j}AlDdVeE*7_xkmFvu_j z8HR*wj-AE~gZ7o}&?ig3gt$1{>Mxh%9AVRr*l78Y7YUnYm)&I03yPO=3DhiP4;= )3S8T
z;`Qe`pK87u>6}BppTT@#^$q*PYU2mMqrJCmip2IJEw8^g-h#bDTA)GN)Sc}%9$j+Y
zkgc`T{R40$8{HE~L(hGL+2@Sk0NxleTz`+5mK)-R>i-2`R{dodcXu;w=3D{tBb^j(aQ z1M#+4<)XKC%j!>kPnzk+APXV5=3DWNE!hwRnx{?_S@vTnQ6vcy2zO`<a`5BDn02h= jOB
zqEl$N9}ydbANOB~4KB>Dq1VI)mFwpnQohFcY@3uHj5T!<^(jHb=3D&`pwco{D2Z= x3SM
zcW{rC-}MmoBKolJiFia1dtKa<4`9D00{b1k$FQdj-=3D}}7u_qrKi~Koir++N=3Df3Y{`<= br> z!oI8vwj%-bKgQky<31Te_|k-Yy9S;67&sqYrVhkGkJ=3D?Mo4DL}w)B_%c`4+Qj`0n= f
zF&5?OB*Y^Jfx|M~kLYQZT4SLXlrzUk&))}2*4++S;Cu(_>zEUV_{vpc!1edR{p= l!!
zwMF;3GP$)Rs5rTvAWjH0ICdIkbpz?3j-19wb;BX}_oUefTYW$lov@`F_WML@P)>VE
zLq2`opcl_$)eXTW{oWZooc0p^{lSHzZX5Q*B=3DB?RwPJvM>LSl*uPVg8B=3DVJQJWn*A<= br> z{eb(gQU}H(9m2j|g5E~N%gUwJ-a@IBI>Ws+>@n^SeF^(b*xUEtEIQAPBQ4{+kNErG zzI8X#4@h#SL!QrI{y^QnHr%cF;pvTD%!86K55m_ur+~j`b>KLBg~(X!$8Pc-JNV1A
zmpriX^i?r8b$6lv&neIm;Bfxrl^zXwAurt}zLI{mC@%1ey8F<td{%!YJH`6I8RBIK<= br> zb%U!y%`X-4b;2RO;>Wt}KJ;U$h_35$h>~c?w^T$hucTCstdquy5;;Qa4t%IMDYH^7 z*2ojiIu~)o*t#Cf1;p|6D^4^JI7xMw!wgz#VqK7UHzn5jb^L@nmm*58BA%L3rva~2
zTwE8_@005q!A~0Ubb4<nPQ`pqhwmyJ@{So+`d5ncGsscL`<CJyFrRzAqc}gobGk#_ zPyk*f@(wv<VE=3DRq%4Td)oZN$FIqA6KJYkk=3De@=3D0}Yn5}x4VOc`<AC40S#jdbo= KX(v
za{kN04LOH!y*-MPYp=3Dt=3D717cTJ`462<PKlQ*b|4ZhuAvyhE(0Z=3D`rV2`Zw8%X}|E= y
zzAnf0HNZG#gK|QPaA4j5{yv`RppS_0A;gqy!upVgUp_&%e<;5U<q#upZHpHtu`g= J{
zah!qqkNG*Q$DD@<7s(>tqQQLPVXZt|Z-Sc7dE1V|a=3DBI=3DE5yk|rk~>3sC9oR= 8}x_x
zUO!x30&lG2G;ruk@R_hvNbCIi#7X)*dVOZz-;hUnSh(*Z&3c&r9iGXTMOTJj6= 9R0g
z?pKEEri@tT&<3qL%HsV}gLi#A+RvZa`in8Jk8#F`ZSKW<LBF)mte5@J1OJ9Lk$h= -~
zQ>85tbz?A&Xp7QPMIHU=3Dq5g_a9qKRgV$mc$J`>i9b<S%x`t6uYhUk-~D~z= T<+`!a<
zA)27^I%tpw`qF7vi#qNfy$fDgz8%j)JPDCK5xSbDiaI~|PScQ&`*8k6+0^~vbXvB4
z&IoNcbns%R?r?rMFHMly9=3D6A9uZ(oxIK;|runfX57lN;CmJFwZ#~|WpAt^ey5jv7# z>cAG3Lz~DC;RX-zZ)`Fk?t{QPuV0(bpSw?^e?LP1GKTYsBDLy$f*20@tp*LA0b_iq
z>-O}#gDXTG_eC`D6$P6ti7D{~SdU2}HU3>^Tgo>P_hkAZ#yZ8M_;&#N7Gm{;= G1l3G
z{`j>R9}^=3D*#*CH5$6Wq(rTBeGj`<bVMsbL>r(-?va;li{`h>QW2NK0src2S= +rEgLu
zzAHt?ybPT0Mu@LmE5%(GjjI{4&j+Dzt3cyn#K|w+6gj2wB2nC<NcpRP*N*3h5KHZe<= br> zlJXBD9YFeZNr~}Aim&v<NcqRdh_4(0{C!+Y<+zw~5f#%f<e2xRsOzSK<}= akEnD@qe
z@~0y|eS(O8eaw{jYXMIeaqepY>lrWQdsyE@DgV7mp8RO!MH5$=3D690O{l=3Dyg*IW$JX<= br> z+!ycenIz@6!(R1F0dATnza6si;Y#1+C{B;{xnGx3<F5c+k4TPx{UVRM-L?4GAxUzt
zAx`vC_jje__y>{qK>Ffi=3D?P2S4@|xudCBps08dXwdct+?Yw_HZCgtBh=3D2~|&= ;c$hwU
z;jzD-68V|q7Q5d)E%KeQg~v{UnRgOId{8)ZdoJ_jr~4;or<1SCq<p6DV|_@cuTP0j zcP@4l9$<c<l>hD`PyRc2jvkj9-xDk1(?ztqXOWb@EA!f89>BdKDSp>9ue;= |uDgVV(
zr@IlbEr2;P=3DDW*rZ%!?AzfT@-l=3D5qw%iQS~i{f`2pmmFs|4u}d`<=3D5Q{}Ah1Cgs1= J
zv-nsK^g%dM;@=3D(=3D`T9ETeXPIUH*A;(djG6s*bK|A{}kyEa6-VL4(oOu=3D{~az@m>W= E
z^&CE#`^fG7Je=3Dj#^_=3D*Jkw-nZbiD7BQ5W;dU{8LC{Jzt}FfU;H2|GIs%K+>}!U= l(7
zy;x7~0n8fzTwgxIw8<-G$#_0<Oa;Z_T=3DFl_FC5o|Tl|v`mVE+cU1-AyAFA2(p-j6?=
zT#jkRSoD|zZ1$b36E<QS;`Ov0+aeQM{31D5JZsF`+VhGtK_s*^W1VjC+8d?CZ$i1|
z$YI!F!0sX~)1Ea&Yw@KfZQVvfH&_qjIIzF@>1c;skrMC0T3a|$i{VF|H<yw= |8E9DT
z;@*rsK5`s3ig6JMb5{xI^(ql=3DeP15!;y%nez#hYuZt}(XGaa}W4W$$H^yH!R$USW0
zvc3s8H%wo}eug0fz9oI#QqDV=3D7be0VsetYpXQz{}Kkjh%;d&FXF`Q9q-7Gs!(nhi^ z^z%#Mw|8OQVfjY*eu*y4H*2NgSEVPwHX@E9K(}DAsN;UYez`4WmS1r)y;g49&bfu~
z;uiLg)_qV;ST!BKd>Q(w9Q{%O8S85YoJreH9^ynReF^%3@V|!iL_b%IHro9$OE+9-
zBj<U}jX}<lD&|1k1=3DeYdpEA~_`*U2s+2$F2Y%q?8GwsbQhIPaX*n5QehG7|i{= RJ=3D$
zwpziwp*b>#*7S!F$6<W4hh^f2%j^XFPlS1gVNHPjjxd{^mI2mHm`zW;fc=3DUv$j8#v=
z48UFi%u35hH^-^@R*abKISklA;8^>ELweYZSgbh@TX9&(Xj^DAbbT}Gn4<Uh*dC= <&
znCAE}@%I34L=3D1EkS`XT3p)AKuI{aIUo<$3L8zX6joj0X_#x;}|eb4jiQ=3Dv2cXGJUf<= br> zHyyB`Fy4Lm4bDi=3D#<<LPAChohN>7{T5Un)yA&2iiv@e%&{x-4WWt0n= 5$xhD!t=3DoH(
zT-%Pcp??!QzJs_rpE+LG{%4Tp`By$4fo}5N13mo=3DaQ3$@BgmZb?J~5BWmyN|zeTLx
zo_-ba2&24#b7NS3{1AO3e-YBybKTI0wKB`$^&jlNs2e22aha|F54_(GJdO>^o?= `F!
zy!9wz3muVMmu|*78ZxARH4Sp@f-FPmYx{bXG5hd!EX(iwEG;j*>^~}}*NHVS`)udm
z($=3D%SUYtu}og>P@URiNt#JxNCe#~2FlW4*^46zZ(b~Y*iyTDil_V*s=3DIHtX3yY2S2<= br> zJT<x43%w}A9>^bIL#(}U+C<u1%hp<Tg-B~q<R2fT&L?#2lq1Hnp2M&= gt;2{>kT%t+m$I
zWyH09n0!aH)h64aK3OYT!^<Ex)EQpRJX7N4enX@94&p$vyJ?<NU(fuBZGbLFfU|= FZ
zk96Za%)fxqN3i_pbX9F-+~GHr3wW_;k`8HF_Vkr7dOx$#v+RmR>ow4VyeDA1Pe`x5
zC|-r1>)Iry=3DysZQnCCnj$86QtM+ZSm<iy2?rie}p_CpJXy%!6{xj@IW!Co8%wr3RB=
zvo=3D_0irVS=3D?43D1xKpltzlD3MBkWnBV!o$>v+RXZE9Ii=3D%M|1Nlq;}~pl$JU?T&a= mp;N*
zshCqfDpXoS2iNb_9-MTBb7~0X62-(8D_(}P8r?jLLR$hGw9lAZWqqyvKIb+k-qV1s
z2+$tMVt_b=3D3B-_iKAZEV3pDW7;D^@O=3DAP*}oE;xT-IVV%#Df%EGWxttD61A@ex8Qd
ziGqviSFi?iq^kK-@vhls;aIg8>GV{!Gaxc^6_=3DWS1h%pfzO*t;%_ogQJ)NAZWE$xs zu$|PWM&Zg8fFW+Us#iaEE4x|0tkIT;4YD71huFaV$BbyP!OQap$s)fAYr>3FkzX(k<= br> zS0?=3D6Sg{ZFboW7b9aUv{UI)(R3r9?;kWZFFz5)0hk*Kc^aZkJ~+1i5VUPW=3DggX>*f<= br> z$8q)J+KRpSSnN^FK>k;-jvE^+T@U4-9r>Hmyth8WzDtxSLHrH#qMHBmrU_GCy;>B= P
ziZQFa+BZ`oqOo^_bT;HWK2(~gbd~14eMf419O5%8oRMzjgVMZLkuG<RagPDL_s5C&<= br> zYsdU1B~6N4H9dX2+xPX@DbbDJOnFs|i5Y~9-_e>=3Du8Dg!1+g^Hzdr@*tqEgM?{u!$ zQ1&3|U78-}-lcsjWsQi7nU3<)$GxuOwTbDgwgCRBP_8Q&vv5`PT&yX;8~N= LniuDIB
z%zwWBhA%S%GK{<&?TJl`f2#^-O$mccu~w`Ti$!bC>A{jqfvcboGtnoP>HQ%#= T!Ma>
zhCZPG^EUPsLrSFHck~m}g^1U69X5sba2ED_W+SfrG2-t1`hHk~9^;VVw}X%P?_v(4
zk3l<0SgRgmH~nSe!ya>-q>1!Z7%L?_^WF|$&$2&5zDU@d&$=3Dh#= d>QJFe++FnDB}$E
z#K%%XSX1@u>yu$Vn!!g)7#}=3D;h5eRz)=3DgX9!!oev;k@9ygTc$tduqdT<&d3= 1``9+x
z&aaZLbN;c=3DMxn3CEO@a6hp$9=3DSn%sF0AF+gxF-zGI!WuxHh9lQv}N;fTO`=3D75MZ= = =3Dl
z0`jur$htkZY^{x_OwvkNa9$fSEO=3DNOQZE2cx&Yi62DjQU)&~DVZGi3NJVc#1rk}= Sn
z`u>;jm#9yTun|LZz8OQe<}zz9em3;rBj}NYi~KCWe84+m#E-YT-$<d}Gku#0?=3D= |n~
zz`x3TMvVAztV6!i7AdYgWa$lKj8>f(KST2b&sc+B*2(p`Rqtgct^dHCv{|Reg#FyS<= br> z6Mm8T+=3DY7*#sTqe!Lv2zV1J~Jwvq5}5)S@_>y4B|k?6MSiZyAxfV;&v&O#S+= u4BBw
znnOmcqYA}QmbY~OEc%Rfe8;3k-V)8{CvC8kCf+s^MjA2Z^FubgcT7Bet}PU;_tEbN
ztMkt$4*J#fVQ`+=3Dgl)3Xdc%b2?_hvO^7ftytGD6(hY7RlTs2Cah<EFCRoKe?(S(%( zM%t9a0TXt!iO2rbWe*!^(bxT)ur}>B%Pld>Q9egZ82x(EW*u!N%%Y`^!YlVNiJxyP z_o4~QvB4e)qcwxHprh8=3D8~QWcyP&<YzY~yyab>l4qe<gp&?V2T_f8W= w888d4&V(hH
z^^+e<SGi{AJ`c-QnfX144^J|m{|$HIcG=3D#WahiFLnRy|cZDRSGO!y&`k20UXZQ^u= &
zHkiYB0`WM0;AdfOo7h46Ke#<7k1>R{bCMp*Ae_9yrsz1&;hC^~=3DcN2w@yuAqX= yb$L
z7I&p6&NjY#NZDZx1>dEke^OhDJXvv0G~c<P9k6`oj}!&#KdIw5{KPW6= 4}55s>_nVo
z;BdR_?4KkC{u4f7AKtb1<DKi!B*nQ|7AFFD&y#bi<y-GeR)E`<!uj%3oGCvJ= K0-<a
zVn`#`I_zJ|23dRA>|@5xPJ@q66h}uS&ksS~*c-?R$iwd@!Vf;tg*jUNM9OM(AU5|G<= br> zDeKSJ|D~U>wn-fI_b$qZFFJd+BK9TV!k*8*H*p0P;#@!8A5UK*cBDV0b|U8ANtm7v
z;@q`8{S4yQW_lLz{T*s&7t+v?Zod2K2OZX@B0a*-)%R7+SPy&!>h5WrS=3DQwY= pPaUq
z@3@?XANdLV!83}({Y!K2`a<m#?@L)d(O84_NLkO=3D+F5q3@op@2sZEwosMyPt(5{0r z-c`Y#r-U{Q;yInqXb;Y0t~vxiTY4UQMT)d4fM@@ws_wrBV)1?>)~xAx-`0h7F83aK
z&9k-#^!2)MZ~jyaT#i2R<Br(HKFU&CDt5?EKvvKd>ScO@-15V-v^83H!$L8= zxi>05
z8gimeiz3mASly&9tPLo;3$77{;sElnjzETd_x|i!$L@1qGURv``tlj%_$l;d0Q&MV=
z^z0KQ5;_#sak^L?ICG;qu<oD8*3~a%N%7$4cTyJ5_gFgAhV!+H=3DZKP=3DIbz=3D=3DT-= qo1
z97|KuP9%#bwzoxLPP23g@k1B%gR<_GC%2Re>4Z?_)~eZ}q)|?3VcUoElZNwin4j1p zV)b?1iFap-5|7|sH{P#B?4f54_TwR6m3=3DV>{ahdh+G23FVG-dtCkOugPTavu<782?=
zAN(cWn6yJX=3DQ-AR&U<X5lGqaZvKZ(o6a)E6(rc&Xq?SiPk86jGF)1x?%9CIF= 1o=3D~H
zChtf=3DU!4Z;k0HMZaacdvCYB`bpe}K3Jhk@g4^w{%tCSrso*Ua#c&q?%%JNMZ7a0G5 zl@w^$pTd4TV>Ok~DG%%t)=3DNIVd)$RKNT`Fhr5t%>iqukG6?jQ-4RveLvBGGPPk5S0=
zI6-*%)r*f6Iz)aMU|yulR;A~qJ4I_c_GjTwv~E<ATi%i<oybs<TAs$a>1)7qK= qPeF
zjKRaKzfp)etiS)uc<&hPO}Ftv-pEgnGNpq$%6jE9n~#-Om95wLaVEx>Z;GBcbp%= gk
z>&p|S0Ip1&3cmC<0N-1CQE|q6k=3DFws>krWDGVtJas2`d<pg+Mwp= }_;%kM*F0HDE$V
zI1ffU{dwN1De+i?n(an9`r>%Kjv-n2^T?yOB1Ny4@}f+Bgu2;hjp#pViL@gFeN~G7
zpp7g=3DKS@nbb|-7NCN^%TekX5vvRhJC?JZRjPvm7iv0YMD?=3D4W0^yinv^SL)iiKEz$
zIeN2_(6S%<|1XJPF3xcuh3t>!E0dr*ldxC8x)j}xa@_YpU%!iSe-`tUB#d|o`@aIP zjRj6Ko-+mSpl$6g1&n1R3Fn@Ga|_bszYlue2$%x8Wf)JyDZ}_KHt`R8;WNrxyO){i
zjKUOmBhuHI>0WPwTT-@mFEZ1OQCktWOLiBU=3D@#67iuRY8V^_tv6_8Z`-;rS4UBy`D z9&~vW;`(^@#~{v+Gw9{2a0jr5($gk76H%V|dR_w7ZO)70%b^E;mvD<%k9#cg^*qFq<= br> z1o~4Xd)(#dM<En9=3Dd#dB8Q;>tTs}wIAV4<+n)?wy;dta2d;)UCrdtASEBR9}25= C>)
zyi-r~psyX+w?MpM0?q+V*n&DxcYO1vr+4(<<JhrfQ-VGo8y)Jy<(rar@Ep$}= d=3DiOg
zco<9D@|pM8@wIX*dHfm1Ncs@mbL{vkxs_u@GGWJ8;yWl9C-rQPZV!@md*Fb)ESo?c
z3QH8!TX?K|6Y2*K0paM#z!;!i2tbD9f%RK;lO}YjwLqD4;xO7f6=3DUbCs6!vSz->4A z+VYvf(?`&4@<cr$PaklcfgkUZq#g6Y3&&0y`YauD-&DjwrXfaR^qIq= r7*jrCH15Ln
zF5TAX;{|p^f*g%DC5_r9w&w`i#Wv}71?^$m*rs;aI=3DxNchi&3mW_#GKn_-tiusL= j7
zq?p`N23(IarA5Hb90T8N&@sy75|hte(4VQ`aSL>47j)<um&3g!w$MF)y=3D= (m&z`q1-
z(c1)^UC<?-V}2$Xd%Do4Ezqa=3DRjxd&&n8*2YozRSzC6chk1U(>J3RL+;= =3DGQSw3Bm*
zF~^fH#_CkuNBA)2w>8eLosYSe=3De?i{3eFN?t-$qG`rbh&{g^;J<|0kB9(oDiU= UG<m
z#>2Qr3q5XL{;b+r0iP*=3D`M+!@?%zQikNyCBhabXkr~I3s<MI-DhX*?Dg^qij#+bkT=
z6T^S7))so*&GONAVGAsO%JK#1S7GiPpicnX1Ajp3pg%zWk^aCLn?EoBf1nQMZ#WL$
z#rIQ!^edZ(ztcg#QlNjjc1g93Q?d8_n3RRMB)%OnrGxmoZ_p=3D>ri~MInYp4QAs4>o=
zY{NGwfNwBaJh|OJ9`hLDT2mY<&I-cUq#api`3J-Ef2KbF8~(v?e)5oikO_al?jJm#<= br> z4P81YkMIxJZp%j?f4ZN5IX!KR;U~aHD<Q8c`~>oJC>dvi;2+Repg%!BVfKy5JIE*= f
zgs0#$yeTKc4kfp21kYK}jhj#3bL^^B@GF4xl#<etZ2A(+pU-)>ZP*?Jp8MbP5t_cB zkI-cE5%4}z>r=3D|)mNebQB)9azN0@gZ9|2?G!ahRk{{=3DpR!NdQCkH9{puF0^QcK<= -Y
zKbQ>vAb+B!`v;TZAGl2aU~<-z+g<Pv-jb6~@VRpo|DY580eu6=3D{V08dWcUcIi#= kI6
z;5`29z~JMbh4}_w1MI0G-yl`@4Q>L=3D?i-XKUG}s=3DqY2}m{=3DqU6M=3Dmt{f$PllVX= xs2
zEHcxUKTv3<4S!&=3DyTDA}i~CE^aZ4`r1scPAfhN-z(BKR3eKarTY@VmEd;#X`d8RK= w
ze@(^wZutUwp3N7aPbaXy_m6x5@-u*a6v}UojlX~07fAkJ@dfSxFYM0>jPuXy1GN7G
zA0UJ^i41#!GoL5Cm@nxIl%Ni4J`48+_#TYi7kCfpGVl_>987&ag!#4!b89pAN%X!_<= br> z+|8Ify_hRAY(Bsi_y8XG0Hd|#AI<%Zqs;wWk8tj%z2TZ95^EC9`~8YBZn2*^i9R^z
z{cnJ`Ch*32U+2r5_jkHvw-@t1cwEo9`WwJ$Ca!JX-<j;y=3DY72`nD>7LJWEdYd7t~n=
z*1XTUN6h>1O<dshi_ZHv*XO3cUn)eWODMX}On=3D$W`2})E+(JLw$ul<aC46cu;v= }iK
zJ4L64cPZ5bd>;vLp4WGo`K8D!1-vv_bdCXhsGMli%Zbm7av_!nj*9uTG?jF*{)Eqq
zG1jU31z~X{#@=3Dz3lJOPn$15G{aPEj>P2>Jx)5y6#g!Pesg;d*vy-WE<tp9<= _cN93!
zKiVsf1`$UJB93$nF{A^yG<?TO2*y#wstmMML+t5Ylz|)uLX3wXjr#!OCLF_R32ZHV
zn*hF(LLWZEA&h7EIj(5YSq8YV=3DbGeZTu;Cc<M~!U%5qMEOt3zJ%)<9l!(vSKI= 2zl}
z_|lwz((d4GQf>ProFiE#WsL{!DYM;=3Dpxtbzgm!Yjn6acLtn1kxzJq)k@g6_M+i9=3Dd<= br> z`bmap4Px!mcsJsN@GaBL*b#laE}Tad4fh;_k7dM*BE`O5oK0;{U`$cQUh~9`tkZZG
z6m=3Dy+E_$5~tj$r*Wly6FWySnP$d~@*HaxTZqmk;sW5DOR6`XBx-vAlXN2mTfRQhY!
zuk9198g!ogzX{&kfq(c}V?L42;G7HIWyuJ6&ZLLbGqCF|jd5b29d!zvRng$zGJYjM=
zXVg7y_QO!D%7|yuFHQ)FR`tZ7(|<Aivr~gk?(O(9#K7`8+1a%l@Jq30&Tr@7T>!= ;}
zc!*a5kDAZVvFSK-fO%zZd=3DC+MY%}w`F5~?hfp22^kr%j@?Zmjka}T~rB|&Co864lB z1D+`Z_5)+HD(DhVHhoer)|H+xpZnXVOrINZTK#*d&9G|<eEw#mT~>@3d+CV(V!t= 1K
z^~UY8Q)B;wU#ssmwhMZ|`dn-eWH%K19fc<KmFH%#NYck?2>bSLV9ok{&<$ND= InyKY
z-LvbZtQE*_GI0dPGTQYT<ImVgED2sKIXx!ct-xWMc}CERNps)pYK$YRE$k2DY(4A7
zSxx9B-qk<Rg*9ZgSw|Q6z`A^Ya0%7|QTXoLQmGc7Mcx*$<?mzubr?s;-?>!Enu|Q= F
zW%YKrz@r~NQI9gagS5$~daYD@2)G$brJ`)$Ej<r6X9zd67<LJ`y`Xy;@T{{L{4VRz zd#q>|<BOJz?fnMb_u&vyg4ZFA%0g~Q6Y`06@E~JOap6*hc#Zw*5MB9Gaq-MWI`-= )V
z;!EkcxbEgzBne}p4}G*5ZO~A@Od$S+e7*yt>xUA3l<Pv`;Jd6H$05&9A=3DcO`c= t?AA
z9%}{GP{FUtV280c=3DnixUwDv(C8J}!bp(mjXiTU{6s4MqH>@yha(#+iN;kyI+c_QEq zD$%-5YUu{9z+R%x!;zSyR^L)jd)G<>eRoL%{Tn5m8<Pg!Zk7h#xmVKnWkbzlS|P8= w
zp(A5jF-GQwl(DUl)!b0wSbn>3Zm4-I;vmc)+lp^!B0r`T=3DQ@xdgU?}TbE&I5cf~m= c
zZOMV2?pNnaMbrU#p;Yu^<nbL3#2Rk*V~z+F#<qs0VjSX~x=3D?dWYY6Mq5Z-AE-6A?e=
zd?&aR_o(^1*{`7}d3Pvk!R|ivYbZ+D&3Doym)89W&hP}6T|j=3Doq5SM)Z16~= oE+;kF
zl#|1AjB*Mf4LjWlef%rG^QOzrHog;<$XM6o8_%*B(B~txF@!d17}G(tv#UVL3SgXN
zc%|AVv@_v4+4%@?pEBiP$Mw&XveF@w!yd`WeNR8$b1S(9_5%1@N5KzWEoJHYu1Zeq
zd+Kwcy-gOc)F*k7?DRsH3SD^ru-veVD!%hPh;KcHu>Q86KkI>BY8VSAp|4i_f^Gb7 z)PXkbqn)tg41YL>_v83oMd%vqv&!o4Uz>6=3D_UZXvj&O6Y>T70Ox*#X= o1MSO@@gmHt
zS4g$o_grq~hubXmD%dRGHO-TpGl9c>Zu0UAKI?q(Eak|t{x^IdhcdB`bB;U2mGw6E
zz~ABiiq+0Tb4Sk0oSUvR`SIiIX)(Tm$-bd3(_Zncsg;Io^fcauz}eG@9hU)*ve9xR
zXJ7@|=3Da6bCCxQCxGPCM-U9JukUnM(H&j9x?SqIvc<2Q9Fm<RiY`Oo`hsrG&am= p;D!E&Ck
z$=3D;$vo*icSE|lkZ>w@gs$3eHQmWo0s3!3_w67r+#3G9(|F5qKxf7dD-$^-xK_j<3A=
zijJ~u<b}(=3D9adJ%k(`YaG0yX)qQfjZR<urseG*rT;tTQq+b|j-$geR8_2)`O-$Ne#=
zm_D=3D*a%#B{jh}_l=3D*oufq@evdQc=3D*PvCouI+GkQ-2>Y)WqQyGxw#%OdS>n6iW= !X~E
zw@q3-pe3Qd&?mk_kU4qO&ng1OZv&i1-#in=3DeNOA_A^VN*H$56wU+8klc?fo= )X{J=3Dm
zy?E|j(&zsDhr-Evev7)3s4IBBK^C)VThe01NxTnLascB38+0x3%UaXKq!X`T-60gU
zQv;9KuV_8!b)CSw3?(d!cU>PR4=3D13XEu`TTC&@ScYQ7gsznbmS#}m#}4V_O6^XIJ= d
zJhT~Qwzll!Sicmqn})VzN=3D5UKce9z#v4q&@QU73DH)D#N`(2ly-N4-m+*!cWpgS1v zZo7~2U3@>ruJ;RV^-=3DG|RLLo2LjNw2iZYPLcCw!(%$-e;BlW+JG;B7V{*|9)k&nP= b
z0_ME#ZIB0bfIdIYZRq`L8~3wGcbO@_0mzSOo-IQ0*K|F#_VSyDeMH)2ervY^zDf^l
zF#2SlWru$UyJ|h_<MW8&Q|h{c^G7_VPWcAGC*D^(p-qvTE~gQTg8uEd`p7!}v&= 3vi
znb{7sZ#LVP0yueP8?7@)M*9*w=3D7BHDg85&@Gtaha&?Vs%NAIGX&kbTONQ5m= -=3Dy(`=3D
z+~f&*b~Fea+GVWiI{2L$`eEVx*xO|J$r9erPD5K<iIUSFuWcXd=3DOdyuRp%4ub<= ;y^I
z)ZL4^z(;E@&RCQn-7^vM+9W+by{`s!lJ66MZ$Nv=3DKhNglyOR1hjp^%dL7vfWV}4*=3D=
z)_KLRqyL`3^)#;E;j*78?@vSAd`SK>*3Am`&LcXWM|__8(T}xJ2xIFQ`k*UOD)L+m<= br> zJ26Qr;<td9w+`zg*4sE%b|yU_pMh^Num%0@{jDg%{G6YGIc6KvZwSuU`Msbu?HRNU
zWzt(Eykl*Ax1RlWsR<8km7GT&ko3O;Fa~hFe78|v#<;TZ(jStX&A@|?*4+j= Fhq#$0
z4bOv;^XV4J`HlM}=3Di87E{I+g>o1ONc&TN|tyzv{*2duO?|5<71Vh-oSL$3;b{= #yyW
z;5ezMhx-D*6t!NY*>>xjP`YlKwu8E;>jcLk_Dgy&E_lX+;{rUmxexvd(pbN&= amp;8nUI<
zSQ_PgDbK}lox(cpwp+x)*TA>Ad*dYM#mKwioTPtKoBA600OZ_fymQb8o#noB1l}d0
ztW=3D!e>B2lrJjYh{2jBa!{Y?a{`}tjuMy#17oZ;sBg|Ps{Vz!Uaealwbc;+0yZ}nMY znm!WG^E?TCaz%-K3N8<Ig5NIy&0N%DtZi_n$r{gyx!j3&sZL?c`Q@(sE}XX-I5= ()<
zCE9JyNy%d3YaGK;LRVhF-w<Cj&lnnGIJpDwgKmRe*dM(8OdfT(3v|+mhZrMcc3i(~<= br> z^NQ9jki*Z;4(`*i2GVp}=3Ds^6(@fvl-qOHPygFfnaVC*G!oWwU6G|+BD{GkW_4bKDh
zLzeG@rb=3DB4JNG_-Z-rTL0`*52>F~jI{U{uMCs;q%hB^_uf^R8f94Z|z<J^s{zjK2z=
zQkG{5{O@s6?M~!vNy0aQv7ggFN!h(6$+KJU=3DShy;)XRR@85w7WI6hXvR*ZPhrqDb)
ztT>ML)d-vmbF}v1Y*HWWL0_TL+K2T@p9AlOT_-yG*NTDTcOi|nO8=3Dz7-F?ddn<VY-=
zpEQ4WU!iEF-G6(d7<gwhY{4XLZqF2LF23hDw{NO8xBoJ2?(r{abKjn+&3$JU(v#%f<= br> zd>2Wd3s5Izu;R1D$MD|qMDj^JgI<&z#9DPM?pOonw>iW~%0CikAcSzV?84gf= 6UbSY
zpE-}PujrR^Tv6XJuJZRsOHSBHcklN_YYh4e-^u7~zdeu_xLD+2PS~%HU7U%fK3leO
z@Q8A>e-&)<5v8>s@}Pa}hdlZrkA4O1r#vVJ$ly5SMtQLPmOS2utk}kW$c62B= 2Xgyo
zGJ!v0tZz}L(WVHT8H)g44)`RIIP(;RGf&aG&s_&vkh6w0Gj$}?ECv|k{MfYFP= r~*-
zk*s#AV(r6+MOAL^Ms?sVIqihk*|xnG<zk?tx$DKgD@~o^nCJt})6ipW41ALr@J(J3
zwXr<wCExup=3DPu~7Pb9RZ^aC$6RqFg1#%&1pi+epu&ZHfmKn7f=3D<4pGe= zJWGyqpapm
zHtA!0%<hH%(+ipKyaC7f2Ur*TA$t)Czv)W&{;^W+2RM__2fRMu-2j<Q0B*F6Mt&= gt;UK
zp|jCoUy=3Ds;+S#5B8ZnadEuQZHUI=3D)(pwS-Ll^?{Kpm%CSt8ihjW-a2co76{KLfn6r
zytavfLG*L)O31Vgd5C9i#{O-8jXKbWb#dQiQs-vHaiR};cLZ`eHPzF3x~eL-XBA>v
z(Z{yeDDa~)w{)lFh?A#f>HeUK`1dw(5^XL?%M>RO(<q6TMFP)N&BXO7^uU7{= ?tbid
z>@;~3i23)Ld|^N6{<MAKq(GeYdFXxG^YB&q40=3DH)VpEzp8N_=3Db6Cs<l{= {uWcr@e@A
zfjeXBY5n44G|T-=3Doa~Lo{UveIk62b(7wE)@656M<Ea{}+H%?xZPBP9#8KiBMPHN-v zy%fgrmq;gr7m1Qr%r*pZ_KodRagOa}?471<LAg}G9*|DDT)6vzkGc*r@0ZA%VtjWc
ztqU|!XWA>$N&gJop8|dc&ZiOY4Zx7soC$acW$=3Dxc7XUvkuiM*+F@0KA_a4yi= oA=3D@!
zDx~k(`+fcX^}XNI@0<3%fcx*{o93LB@7kM#GpbLBGjlQuIL{@!*-kN4On~mL`Yzf*
z_+RmNOTPNS*B_>y_BN{n*LLN#Tq~&qe?^~Ap3SiTedhDON^cqHox!-^8S#feZyVy`<= br> z-@tR9yzb#%dE?&A7)v*b$G1}-L>JBvOcN&;qra#RH!IQ(ODFoM56}zhD$Wbt|1= oF)
z=3De0RE8||eY)d0r6Bm8~XJ-q*&&=3DsjYjBk_NKS|oO_cZGJOy01U^W<mBq&g= t;dkpyg5&u
zz31Vll=3D>mqy~?JCH_5I!38wtgFCag{DZhMEetnSN?T}xwq;+yF@rbN-Qihh?J}({o zy`}-TPREcN`{of-ZklqBZhIo|Jrzya{O~S($AY%Vk8cv}!uJ9<;d@^9jxRj6665lz
zvv)tt@pTHZpFfG(IZr8@_nuNFzUIYP+XZ|~v<X7KuUk{Z{egSbhtr(uN#@NGk8G#E
zcrR?<F_c}4JlNp`8U7A@MIU9y=3DMd}%eWc^JV1Bz%47^_|2Fl@Uzh8>?QEyQJQwM55=
zgZ;V|wy|fWI*=3Dly*ZfEq$8>F98#%G182r!<N$^)T!yYdbDJ`>{k8J-T@KJxR2Y= crD
zj^Xy3712_OHsS1DE53`-`nb}t_X_ZG^`)7)sh5g5pIx#z_bCPXbQjJ$!B#C34{gUm
zJB*z>hsMF@m483ve?R2E(9~PX|C^@#5oh0j`qOm}U;1a^JO%yzUD{1^-oZNcJzU3e
zy$^ZBqTZ4(s5{o!^GNCjj+LILg?{cr!#lzpFCnD)E+X4wukURoqV)st_eFKgYGbjj
zjh2p`!r$uR{LlV8gV-w0%DerDDfE|fT#0QFSBqkQifCoOe-G(MrY}|VS7zXSCPm+K
z$?q@6JQ9QFE7W}ILTDnMv(@}V*stOHq5fR`Jw)gbp0C3Dif@Wq#C|*d^FU)3V!qIc
ze)#Oy{R?gTN8{)F6U07$lJRYVO1xjc0`gsn_xg3dz&m2yx?cAk6Hd1O2zYS+3p`l1
zV7^Vh^rhLC)A0AEv@`0%680VnFn8StTZfU@+W2GPymY<)4DEDVf;h>!CIo*ta(%@a zj-9vQ|9LQ{P&VY3yq5o36p_y-!6)@&gl+(jW3dYKXiM9zd0)4ql4(cf`}MgF^RmEv=
zLmIT5b~=3D~-LKNK?M#Heh77fLqf%!0mIhW<J*OM@+zV<m<=3DZDeiAHk1fh#wX6= @o4;f
z3f=3DtXVNsM7M#t{U;JYkCJPDjPAWs)xfG5&>8+<YDU~l)^2Sx4VaM({pZGuV1j= yrx7
z*f)P7oV25CgB_RkJ&V59Z8PSqkbLKd9^j-Wv~BOX7k&rqc@O<H_<b&+= Z4W&pu#ReY
z_<-=3Dw!8@KfzlXmE2-`znu<u^X&x-O|AIj05_hQ}HgL!YNqbncrhWviyr@It)-= $S@#
z-YgKxU%5^QLbqs3OO^2_nsL^HF?>F|RD7ds>O<Q@m@oU~wGY4F0{$K+Pthm)H;aM= K
z;OnJx-v)M;{+=3DwxzvgkI?&yKPSOJ^YcbTVCLF}LhzG4XH0u|^f&w9{SybV3&= ;Jn<gv
z$bZ0xJqtc*8{USFa;|s}HiL7^+0E)ee~UV>RiwOzZ?)$99P~n{3*WLB5F)iDgu2pE
z*A$#7u<Cg_RedA_G7PWl1Jv~b>iPh*SqJN4ovgbTH2XkP9-F$O7c>zY-2X@Hby_r= g
z6=3D#Qn{hV-`J4WF>6MXlB9^U61aKxwX;5sRUzW5`2=3DMnTqk;lED7tUK8+ER(Xk4G8z<= br> zf@V6}O&QB*_gNcFwwY}wkCuGbn*3RE<@`l@#}UK9oY_6j<dyQ=3D0=3Dne&= 2-f#q)EUsm
z--aCcIp)}xg=3DoQE-R$=3De^Lk54If1#oBpYR?3=3DZzY8SD6d=3Du|n*a+O1`tTy62@%>= ;gm
zSp2ZRmzq4WkFB=3D84V}Y#pRJqYuqOCyu;k}s5Th0;CpccpkPdJA;j@Dy`keJNV~-@f
ze`c9=3DokIKU`t>^M<5|^T;@<bTI<VOheNuvN-w$05wHW%`B!sTd)C<ZR?= _BRcOW!3-
zpHs{_>~?iDJNDvdgOi@ZISMOI@gw*T0&gC-<GVf?H;CHx$m<1d#`-+?#sK3a= Y!}Cl
zggU-$mUW@;CP`VjTuZ_S*@p4EziXRt9>P0+Wo@E%1@M|i;?5y1d?+2)|A=3Dq~@NK@b zps2kCc+9(75wEG^kLlm>d0$EC2!hvB#q+U8u>fo9g;-lJ!rFQ<*4B)dMi}dFGj?w= 7
z^SK$vVoagjth)<7+V`=3Dx)m{`?`u^2k;VfW%Sl_}|bTfWz-=3DF^k`ox(2U=3D+qn6#4&= lt;W
z#W=3Dk^eqqJI8RxymR?j}jAozmFYD~mBw^3wWf;`X2{M_Kbi>!9!%P-<h1msb-KFJhL=
z?e4YfyCBow%4+9w+-I5PLg0V1clL>=3DVIRBx56WUMD&qxF8;5-AD($2m8^N9kV<= ;T3~
zUFR3=3DV7#N7aXQ3d1m2s`V>!0=3Duq~(fPT@o&uAgY*cR$+W+KoD&#NO52BI_= j1|B&Cu
zrV3~9_EUM}_YLq{f_u~mesgqw)#p%lJKFkFQPhjFpO;^ph1dBF=3Daqa~vS%!jXF?cf
z72xS`gxL2s>Y!c=3D@Wby~{0(%dm*Q!W6~H%mdVemmx`6Yi5qQ|QHSxOI(RaXW`nhoa z061!@a3&)5$Nu=3DWS;p#*-RKWB2%Q3c2IkHV<a5j%y1g$?la-bp^jj02OU=3DJSRS= x-Y
z786fMJhK7YmM+9~F4(CN@!2D$o>8aG_v^oB)@$nVetZ+S)&m=3DJI8W4m8+m@jP58|= K
zf26T58p1pF7)$zhmMDvKe51xCgd2NIBgTuhPc{p_@)Nc?sKZ@|D@kJzUz#my8(0V4
z?bZ;Z^WPI)tVN1^?pHwP^!L1n=3Dt9>lp10WOVeIW!Ulz3i{C%d3S)$gDJnAd=3D%>!= c%
zo?ZC6azkT`ZKpoQ81D?$h0zKf5w(Y~r+YX{)Lw7WVjMbwK0o&85O;W7^NJDsbQ}vj
z6A4?o58s;KUam<y3UL-o;F)=3DWjZ@yx$BS9FVN3LLdAco;9b(@ylMmWG$N=3DYrW(}SF<= br> zaUBv_681=3DYFBe6bz?**_?(mtSu7g59XR&jJ$hru4o8?6P9R|w8+Rw7vqe$2zeSBN7 zPqQDnPf30I3-oX^;;$k2?9-~s^Bh%E^QdcQVHX&ijTAD@1Hm4`x8Lj#-wOhtc$Gqa
z?Ppb&<b4V}wtcLpxOjoDq;$c;Yf2aRe9L^U%;JVX!@9Muxvop<r;imgt7`73oVl= UA
zw7jZv&CJS*RoOGIuc$0qwQ}Z?>azMk{f3##D_2y{udlwdvVOsuhWZUfHPvexW`+Z&l= t;
zC>QDH)iGWFBkGzYjNfIrjTP{`Y`;PLkUt6+-gVWhD`qaMZK$qU<Ey!Y9QhV3S>P#= N
zP`aqFFeh)O$KxwpoSQQe#Zz3gV8Q%F^?}-|>hiVo*H_LwA2NS|cln~3o^=3Dg1iz?TE z@$)cD{zhSH1Uu)I3#$vHGc&!*mVxP|(=3D)T?&b@N_bW!MYRRz|%ynzZ=3DarMeI= =3D!$y8
z8}#25Pni#2@K$Y>v+iH8`2QOEGbSJZQ@LGVQ&G8=3D{Q{F;Bo^Sm`NAa@iFy$bwW3N= ?
zi*m6RkRnkiuEE_SD)gKNQ3)LJPs_~*R<*d(#I9Vk^2?QL1a6~g;TP)g<tqd8>jQU= z
z_5Y~|maS{3UDq%=3Dp|IiU4XmxazVeQm`VAPcGjFb}uR-cY41n6odJss@^sZa6qO#sK
zcdjcl^Uj*;3YUAjD{H#z(o0=3DS(CCIL*E}SJ`Fu67veqvQ`z>Fx#5Kc}x%`@?B}=3DE9<= br> z^uFY}a{6fP{D<rn*4$AWs3*U}9L}#?+fa>xfN^e;P9MptD6UyoUtW2E%uJK>8Q{n= D
zIoLn1y6NJJlCbkL9p-};)^$lB^OB0`SK<D-jcR4tx|Qg(;)aR^_4PC7n@M!q!kYR!
z0u8QkIgFxJVbZ3p_SV!i6j#>YSzTVawj@xtx{`Wvp$t^E@|rsWD=3DQZV)>N#nJg>= ;@?
z#U<y%yv66iJ|Am_o_bcVt|{01o1BdT15-s{X)SBX5}BUWFqC&xu4!;x>ar!+;nS= (s
zS;AKtSZ$P;=3DhE+DxQ^oLyDLABUbw!PUQ?jHb!!@`@2DJA*cZs7yrC@NJ*(T`&4Y-3 z<M;VwIlq!UToh=3Diq7;Wy%Nwd!S2tAa7IY~r>3MYxqn?*#4TO1fU27q>niZ~0PU= `a)
z+;C0dg3=3D;S$>P!?-?EZrh0B&e^spdSfva6v>$9@5uEYgfqKiDdiJz}kmaZE91= !scQ
z5SfwkR<Eh3UbFH%uD=3D*%)BuY5z*w{n)-aq;J?A`VQGHEAO?l1gQHw0CX{cVYVd1(p z<uqdFmGxDwtX|ttuWS5ynM(tAoZm$T!IIk5RNPrtiX}DWtIjJ~R9{_FU)`|5hBITH
zj)^g`U_~__eU+;#F+Wu36wF*S*vwtNrg{xjC9oQOJpyHzfTz4}U3EQjN8^(kFq%LJ
zzag-C-T4i3j}9(gS6f?C-%wexB(P@XI&0|Lr>oB~C^!*9CTkj~L)HVjIy2LpxOCUI<= br> zzG2x4W294qskWFlbR%NJGwg411E{V12WX?yu@^qC(>T7fuFRg5Gdp)qUcSd$IDf&y<= br> z)^8Ik#FOUz1@r#0dH<7n|Jb}oKWN}jH1C&~_bbhNzlrBD)7P2zo6LKadEa2(?=3D$b= )
z%=3D^EY_dVu)zj;4m-hXZ0|6tzx%=3D`Q1ebBr|J!J41Z{9C5@0Xi*k9jXK@3)!vRpxzz
zdB4}ZKVsgWG4KC;+>fdf*Q{x%tX~tLUAeKk0{+j{u332^bK&a1%C*pld*J_MUFq6H<= br> z)yUIt*;)E6FUy*4GKY|fW2nz`*QQNyuq-NB>w&K8)pT+7nsuvJyI=3DvJP4mP!F>= ;b60
z;^Z;Ud|nA#gzv33)a%AGGqZ59$9H8eeKkX$rc;%&glBDeb@dR|h^$Mp^48C|Br9j=3D zf7$CV$;xKRcnH4>04iph|I4Xxx%hY$|A(Bsn>cQUTSLR1m6c<)$!P5mA2x26)mN{= C
zH@Dgx8#>qUutulFCPAo_+{lKFPNjHVIeeP6;>JKdEZ0ic@-?g0)ZDekwP^K*+NvSw zeAv8(O4q_b^=3DhuIEaV$uE6<0TlYU7}jjQ;M!0OdQ=3DvXDg9hx6#2*7q?u?7#Vre0jL<= br> z=3D1y443OE_{u-nihv3$*1%XkSc>P&*{MFBJJf@@N-K^SwcNyOlUGfHJSY@UF#@4{5= ;
zt6Z!5xogD@HLKTQRw%5guU}W&U?mqqi$KzKePu;;K<NK>;WIsJR?<47riC@@= )>H_O
zE+W_b$~DzGoMdZj)~qErt~;<QfZ*_Y70B1DYtYNBZ3xix!ey!_uTWGoU8b94aZTa%
zMJDGZ3rnm=3DYeF0nOgUZqhHChmt{W=3Dr*J2_R#g*mj^cm`g>YCO1^oQkdp;=3D<Vn= hLhs
zXbqTz$68t8%FNE64tLH<&4M>!A}*|6T{$FwYn~8XP}JAlQH?py=3D&a9Y6m= *xV`p)IK
zIqPR-`zr4Uz_rkqOY^JmtX^AFZw$82PYWXfa@8jrW0B-CAjS-13?6Hqu~u5H(v?N!
z6{QQS*H>0}8uV~SDFD|8)>q%L?hee&<?wzCGDZ<-(a=3DiiyoqIKlCvY}= ^V`VU&ABks
zjyA((tZ1fVDToSD8>UKK7cp{;_Lym`0&NBV1^l_@qSLnC{K8@Yi-wV0SY5xi!H|$?<= br> z9*44^dNpe*M&v=3DO)~#;Pmjc66{XMW~SlPM_Ogt{REbB6uq?xWOp?bqbpcjU+z{cw$ z$<3MW8ojXV^02ZfVR;}%32O#gT)DomDo|fivm9OvWNvbS>gUaK<xCfD#OkP5V9QV= *
zGG}ATS6o%Sq5*uJ&(uGw0!*TU&!>u(X$B{zB3epe(*^K2tVC9cFQiGM7P2^;`;= SM9
zRrWj<U15r@&s2GwR)@HqOPx0qDop7iR!+k<bhOge=3DF#-uZP0*Ik+mMnp|A<= ;tSBZGv
z8r=3DyVeL}ZsbXd_58XcB5f~QgZgc0Mwl9k!y%0PX2)d+<1)Q(ygR?4srhMBaK+a@g=3D<= br> zL!VnQESrM@!(z7)g0vAA8l4aK(0bMIn-FL<RvK4hEM^ToXRQw)o?ztAHm*R#2)DrJ
zTwQS1@YLTib2<DQgd{2}VDLZR9AN}GSiZ2PcEgD9mk^)i#HMP;KJ^5zx&Jq-Q&= x1e
zuDNkc!5!Tb9?TcPSF7v4eC58sEv`S?wP1I~M>m~w#Qb*f*1K>2&v$E=3D{qPU#_= GDf1
zdcqCP2Y!;<_P6;DKmY8k&5awrdHG#;J9~cn#)Rz)#n#IT4qY$ye!S$Rs$EOI^S8b8<= br> z3X0_If8Oog`lqRR*FJXk?mz!V`^xPt(=3DUJG(~n;Byp(rWN7X|w<p=3DJaeCzW`)k`10<= br> z{9A8sC^>V{o-2dNh5J&j-_;d6=3DF*GX>e{cIa!c8x;IF{o&+zik|NkpSI7= 4i~K_mY1
za7ab}IT7(6<(GH8zv9V=3D>gfUp39Mi3#mTaY#54jX3OOi5+!PTfA`ZPYJK8ZO8fSHP=
zh_Pzi%msB%9;zb}KEAcoU;gB$cmG9f)$57I9;tBR!n;5Q9n=3Ds6om9|?1f8hJ=3Dx8y<<= br> zptHb6XS^eAko0P!g;23!qvE*>S1)M2NP2iCtK)I8X)fStQCQ#c8P_ork2omK7Y@X?
zka&U#$b@*cxZJ=3Daj}|?=3DQ>4?g@K|o^D0t&cye^ZTigXZHRv5iFz{sD<= en4I_ZujB3
zl#JoB_yham5U#9$f=3D61!bD4PL&(E|;&uRzGo9k`zn|N6!US=3D2`&cy3@nj= Df`c)l7}
z8ZMlP5?A1IkRX08<tEvMJM%Bam5GZq9oCkTLntn!nNPR}*Oj=3De@*+YwTu3ut#kCq2 z&Y2A5tC24b<>Ne{*okYFEnjo^b^6RJ#KrPoHuGJ$-w-ie|4gKp<I2ay`lsQp= Ms6A6
zZw}G{TvwU-myeQvr<E^b(;3fNRNfGOUZl6-%EM*R7ZI)@`fOJTuGwZj>4)bpvhq#( z!H8l0NcXF_@LrHkpXI~zS6TUH`K^&DBlx=3Du`D`coWBKs>N349aycRVq|7(%A9T(e= e
zwU1*^gZ`?3X}GpPkNmhmUf?ETaZxu{A|;nDD{5NacrZ;Y8%O;YPd)fhX4+$&PY()7
zRvZxtQF-}SefjFS^YF)~##8YzJmbV*pEO=3DX8bxE~=3D@lX4FD-9nigz4+=3DM|Ooq0h1r z;|HgrXdH`{Xv0PS`oLS6>N^gr*2t*nF=3DJz5$Hn1OFXm7E*NgrSYGqN~rUfI6vEl+d z-+>S*Q_7MiB?%YpRV{29@rsas0@t%)c=3D3Q;gNr!AMsE)AT)6O0r<aI3>1{Rb)n= cSI
zT=3D?$P2)qe^k)Hl@;~QSW?dJdVoBjw&1;U*u+y!oYzg`r$-HC2@fdH5(WCDPE!gLgT z<-R}^B#MFpcVePDvA|uB=3Dq^ASC4hxOKqN(w(~Bko6?jC_OQIOdfDB6mgak2=3Dt&= >bl
zOf0~Ei3K3aC){w2!awQ*Yy6Fl9}y7|9UUDL6B8E~H(|nrgoK3T<mA-URF}&&ZQ= 3-f
zBWBE)k)55LmzSs0FK~*2G*K`UT=3D3t_0+CjLb5LlDEyD&KJtHlx;Ig!WnP~-c(h3Ur zZ%#ql%!0Jb3PxtwprdEZm{D-$jDp-51y{`|DB!=3DV3TEUM%(${(WQGkodIrv3Mv2ro
zk(ww{Q~56uGj*znN*$SDgN~jN7neFAE;TVOH90OdmH(1c;}TQjCZvwcut7)9NJvOc
zN=3DQvkNKHvdP36Co)P&^JgrwAw88+zX8M+tZj26yV;dJs}EdER|{;IKaWQGkodPa1# zb8NITHrg2%?R4^AoHIJs89mlHGQ$QPJtHQ@85`pq7vmfs<8<=3DhcxTKwXH2YfWQGko=
zdWJbt&%eP|bNtia;8?GNoxceeZ69vBUEs6J#N&Lf;cBqqAxrQg9(_2{<J`0!7e= A6n
zdY9mtCWV)s9^|UqEPK5uP7|f$C7bkINUON+veipGm^~ejZlsEf(**sBali{9jhlYq
zCQjoDngGs2^Kp&lU;P5`ED)v*BrO-NJn)f%i*>RMlW@^acA-MzRU!Q%E>9TVM8I= e#
zL%>mO^z3$=3DZKWSYdMfA<?<S<5$7Q$U#KZgF|4-Om>WGHEKy!s3*J%B95= ^&YTqn>2q
z!uxl6zoKjPzF>C}58s~E=3D@C!G^$`%*|8~4X%ro(*pS=3DDahKFq3Z+-%dY0v@o1N|bL<= br> zzt(jCH(fUqa34ct;J~NU>#Rj`3Sqc-LpSQ<ivG^!?<kL!DJ#pRJIkf_R!U7}(#sX= n
zwlYbp5F4@GTqZV^i3iKXs$y+rhPXXLT)#xydY6`YjW*{REp36eXtj1prIzRSX0Oz4
zzeDr53PF><{}sA7NhaO-Lv;B^(mAHsP8HW^;~h;GZ#Uw9_`PJ_jnwe}=3DX;IkD)au|=
zCSExFuO{50r(J*^_2rBH&=3Dm0`uAFC$YpM6jEIW-+!UO-mA8ZRh0(V6PHV#JnX+rn` zuMIvQd@-2SUe!_CvA#p=3DxUXYt#}ggFj^{gG?0Bi8tK*f9-*o)GBh>M3#|Ir}I>esn=
zJ<dJJdt7@m_hjwK+oSGTyr*c-O?&)%s`k|GS-(fybKjn=3Dd!E<>!dqdpaZ{= gL{9Ms<
kcnBIcPuq3huHdfccfGjlrCnXSUfK1VUBBOj-1C0_AJBKq+5i9m

literal 0
HcmV?d00001

diff --git a/Drivers/ASpeed/License.txt b/Drivers/ASpeed/License.txt
new file mode 100644
index 000000000000..3dc49d3aff4f
--- /dev/null
+++ b/Drivers/ASpeed/License.txt
@@ -0,0 +1,25 @@
+Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer= .
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer= in
+   the documentation and/or other materials provided with the +   distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT N= OT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
--
2.17.1





IMPORTANT NOTICE: The contents of this email and any attachments are confi= dential and may also be privileged. If you are not the intended recipient, = please notify the sender immediately and do not disclose the contents to an= y other person, use it for any purpose, or store or copy the information in any medium. Thank you. --_000_DB7PR08MB326021D04DC17EE2D7B32C1D90F40DB7PR08MB3260eurp_--