From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 86CAB386486B for ; Tue, 15 Jun 2021 21:49:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 86CAB386486B Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15FLgGl9029184; Tue, 15 Jun 2021 21:49:42 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 395x06hfkc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jun 2021 21:49:42 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 15FLfFOW141297; Tue, 15 Jun 2021 21:49:41 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by aserp3030.oracle.com with ESMTP id 396watpv6v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jun 2021 21:49:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JuxZN2g7w6qvOUbtyck/ai9jhAv6TuHMe6Mx7SR7h/sV54gMJXRf7A0BTaewdBOpzn5Ad9H1ql1587dweQ7kZN9q9/05M2UwHRP5HnaWnCia2XCjM4TaBRzei2Nteu54lO402T3kzxPRaze90HqRKjBTcMiOFSmELg38s154OkabTtAOSqZFCwxSTun3x+cXnodQAPLIIAP2976ltaHPecRQcqrUYW0SXWMCuBEFU4JNeZP5L5Z+PJPeiubwfLj921pdLcal83V8BRSUOP0hCpJBI6JtNaPtqF12N34LeX2pImq4o+drxwNWGy8U0H4fqWmdSf00GG9q/jaTbldHMQ== 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=IPRaXh6z5b16H0THsGdNGu8nAWJeSuPUMQZ3LaAbQlA=; b=l/kDd/lnGSi51ZkSlcw2s9N3mRjotu8vxZ0js8eWBAmKNTjw3kNatSy7j/+5Rl6hPgYZk5zkeGcGRxK/dVXZs/b3tXyFA+ppfYSBg57scSWqHHZF8flxCGlaqHrJ6E/KZze+55ZgbOlyHaEaq1kr+ZUTypUiM1rrPOJKRJ/Cm1yRJ48j68MzFUBZLMhPQvhxX0GhpqbkedXJ9mBT2RKEkqjLRcX2cvqCdU7veJJjLhbruMgvGcbYjN3JcUwBMT+kOHbUKVYwHUPznbD5EiXtuHqAh/IXHrYJjxR/dTB3oHzuW0J7viQLmI53gTP7XG4a6iOg2bb3AknQlDrY3pS2aw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB5033.namprd10.prod.outlook.com (2603:10b6:610:c0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16; Tue, 15 Jun 2021 21:49:38 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f47b:b4a3:b49c:95f5]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f47b:b4a3:b49c:95f5%3]) with mapi id 15.20.4242.016; Tue, 15 Jun 2021 21:49:38 +0000 From: Qing Zhao To: Richard Biener CC: Kees cook , richard Sandiford , gcc-patches Qing Zhao via Subject: Re: [PATCH][version 3]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [PATCH][version 3]add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXR1Kuy/D2g4SciEWtZxHW0ZO4nqr1sxUAgBg4uYCAAOrYgIAATU2AgAS82oCAAWNQAIAAjemA Date: Tue, 15 Jun 2021 21:49:37 +0000 Message-ID: <25A77D77-5251-46EC-8E46-2F19B8BC510A@oracle.com> References: <52959802-6AF1-4BFC-B984-3BC495C535BD@ORACLE.COM> <41B59ACD-94E9-45A4-9BB5-84154FAB6DAE@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-originating-ip: [2601:444:200:16b:8880:6e59:5b76:424d] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 790f51e9-6f80-4ea2-8ff6-08d930477909 x-ms-traffictypediagnostic: CH0PR10MB5033: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: t4sfxxPQMY7Ua6JAb5rKxkwP2bLcTVpA/RkapqNcPA50O5jnZZbQx6Gtr7kyK/HbTDw1w7G7PZ1kDKpw/pPIcxoMcgRNl6jKuPUa9pWs8o27vLP0fMQ2HfPiAexVhJ/cB9PXO+M66DueSHuxOTadH6uk5+71tKX75P7bwxY21Km9O03HmGV4Pdks5b0CMY153LDtx+qNHelGE+CljWEFPZVBxCkjC2tmRYwVihX8AcjNXLmZZnXOyHFO84CJJ+4yx3kDpAgnYNogsa63S/nppSe1ufplNeA4WE/U7yvd1I4NBRjIV4oj/mCyT+7cMpsJ415ATtJ4KeulXM+Zt7JwQf59fLHc9yWVvIYw0jXuYaZZD79FV88AL7cJ8y+YN605Mw3I21KSFUmL87DCQcCYW79LH27We4Q5IoYdK+Gbp9ygL69kELUvyYPyYesFtJNJSoNfIJ9mqs0FTHNm2jaQIlxyiBufDbZtgh7IkLBQNvX7m+R7H2WVKjdaXv36DBSzNWEBVkHrI3icQV1OmHGoJSR420jfdrxxDXZrBpqLynn0gFxsftIm6km2IwoNwk3n62tIeS3EJtBgdLjNgQNDo4Lha1xfAEljm8fTOeuoxyrqfMGn0bX05UHhX4l7tD6HyEF1ZLGMNoRR621HUY6sOCQ56STJPAjvDXjhhcmjQuk= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(376002)(136003)(366004)(346002)(396003)(39860400002)(6486002)(71200400001)(2906002)(2616005)(44832011)(91956017)(66946007)(186003)(4326008)(8936002)(5660300002)(316002)(76116006)(53546011)(6506007)(54906003)(6916009)(66556008)(66446008)(66476007)(64756008)(8676002)(6512007)(83380400001)(86362001)(33656002)(478600001)(36756003)(122000001)(38100700002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ako2UDlOcE9LM1J5aVRQdjd5dzFqN3B5MjRlTjR2TFRnK1RvU3BjY2NuNllk?= =?utf-8?B?V1Z5V3hyWkhtWFNxVDh6ZXl1L3dOV0NwN2x1WDR6cEVsMTNIeWdHUCtHN1U1?= =?utf-8?B?UldXWkpGU1ZnRk8xN01hbGFPOXlxNmhyUWVFbGFsenhQb0VoUDlSaDdOMTlT?= =?utf-8?B?UktRRjQ3SlVsdmlDQ1dpY1pvWlZFYmNNNDBlbE9SOEVyeDd2NUFZMlFPWUc5?= =?utf-8?B?Yzh5QnBXUkVjN0JyMnJTc2tpUStBZFJkREtXQUxQaWo3MjBJem9EYmo5eklZ?= =?utf-8?B?S2c2UnR1cXJ4WTZCUm93RzR0ZzVpdjViSWVxRll1SFJrZC8xeGVHUkNWek0w?= =?utf-8?B?MlFSaEw0M2lobjhOM3lRbkVDOEFXeXN0ZWkzVmk3SWxFMTRvcCtBZjJ1bDVh?= =?utf-8?B?Sm1FdDArSGhCd0d3ZmZraDZYNGowTzZDeSsrR2JGRVRHa1pPWU10akVlYUty?= =?utf-8?B?bTd3NVFaYWxEYkxYM1FIazZuODBVY1VkdEhGMWtjMmJsSU5ZeDd1WXFmcG9Q?= =?utf-8?B?OW1ERUxzK0lKNFlCZ0QwQWgrN0hLbmZvdis0RHdDM0J1UGszdEoySTNLc2c5?= =?utf-8?B?blJ6MjhLckxWOVdsam5PWjZiTEl1eGF2eGpMQlNRdGxWMDNrd1pNeXVPNjI3?= =?utf-8?B?bklLQ0hHSTB2THkzM3VqRG4yaFNuWlJCY3JEcEJ6eWJSTUFtSW5abW1MREdD?= =?utf-8?B?UmlybytQUXNJK2hBdEFHczBndnBJeGd2RWxrcTRBMm9rUUs3S3lRdHdYSzlO?= =?utf-8?B?VEJHcWZWUWlIUFZ0MldsL05odjZMT3lERXpMUmJ3VFBnUWcyWExydDVWc3Ry?= =?utf-8?B?Uk9JK3JaT2lOWkxwZFRUdTVNTHplVFZ0UURMckV5bDQydVdMZ29HRWNRdlFs?= =?utf-8?B?aWdVaDM3TFgxWlZ3VC93WG13Vlp2YjRlWlA2elR2OTQ0cGJFcmJsYVVyK3NK?= =?utf-8?B?STlHcjBXWDh6ekFsQ0NZZlNvanJBaEhKdXdxN1BJdHlvSnNyL2svVDVXcmdC?= =?utf-8?B?QTFJUzljQkkvd21OT1BCL1I2bjlWRCt3K09NbGk2UnhPRWtGTEMxZk1WMUV6?= =?utf-8?B?dkxvdlR1K3diM1ArQWU1ZmljWU9ZZ29xK0xqSDZCa0NXZ3UrZ0h1Z0RUb3dR?= =?utf-8?B?bU1hZ3BDa2VwVTFNM0tVaTk3V2FMSW8zQkhIVWlzblNIQnh4SE0yYUt6cmNI?= =?utf-8?B?SEVGRjhxdzhUWUlFWFNqaGRrci85NnphNWR2VWJ4ZG1QZ0lqYjh2TG9QRFIv?= =?utf-8?B?UmpoQURFMEgrNzJWcUZ3TlpiRmg1NDdwcWxFYnk0eks3cHNlbitlR0ZjV2RY?= =?utf-8?B?dCtUSlpiaG9QNm1hcWdaZC9NRjJrV09nV1JVbFB0SHV0ZjQrSDkvc1Erd0J0?= =?utf-8?B?SFlFbXlxVWNXY2FvR2VFdGVZM01PSXRKbFVHakQ5eVVGZlhhSkRYTnVmVTF1?= =?utf-8?B?TWR3bktjZmt1dFBNUXNXTmRvUVIwODNnN2diMFE0YkZFc0REaGpJVnN1bHc4?= =?utf-8?B?SVFkcDg2YkdiVWpvUXhOMWJQWVFYN2IzVHlsdGRlRGlnQ2laZHhzekl2YTU3?= =?utf-8?B?ckxiWmRnQlZxKzJJdUQ0RnBWaUt5d3hEdFNZTHVGUnV4bU14b0w1U01mQlBm?= =?utf-8?B?MFJKZHRaenprdko2OVdJaU5RUUROL0FNZ0xXVDlQZEtXTUdQMWl4cFhXaU5k?= =?utf-8?B?R0VkbGZkalY0MUhaRlRvejgrcU96Z282QmtCcWlpRHZwZW4xeUdlOXlUaHBv?= =?utf-8?B?VW5vc1hBdGhkTENLUzl4MW5BVWcwaG9PQk5MOU1qNTBheGZRamRLUlBueXpY?= =?utf-8?B?RVlGbHZPNmM3QTVPTGJtNG9QcDNKZms1QW02Tkd0VWVpSzZIWm5vSjdUZmxt?= =?utf-8?Q?p1qy7NNACaJfm?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <0D06BFEB22746D4D94BA55700B3C8B91@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 790f51e9-6f80-4ea2-8ff6-08d930477909 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2021 21:49:37.8986 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IGJgm9BKuGJAyH2mD17J8aacU/tZUZgW3gliX/k1ctD7T9xxdIrDTyXf/oeWQG+V+KIv0WQPOCFMMSwialjRpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5033 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10016 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106150133 X-Proofpoint-ORIG-GUID: uWivfLrSTF62V2Y4aG9JTre2bK58tNxv X-Proofpoint-GUID: uWivfLrSTF62V2Y4aG9JTre2bK58tNxv X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jun 2021 21:49:51 -0000 SGksIFJpY2hhcmQsDQoNCg0KPiBPbiBKdW4gMTUsIDIwMjEsIGF0IDg6MjEgQU0sIFJpY2hhcmQg QmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4gd3JvdGU6DQo+PiANCj4+IA0KPj4gKy8qIEV4cGFu ZCB0aGUgSUZOX0RFRkVSUkVEX0lOSVQgZnVuY3Rpb24gYWNjb3JkaW5nIHRvIGl0cyBzZWNvbmQN Cj4+IGFyZ3VtZW50LiAgKi8NCj4+ICtzdGF0aWMgdm9pZA0KPj4gK2V4cGFuZF9ERUZFUlJFRF9J TklUIChpbnRlcm5hbF9mbiwgZ2NhbGwgKnN0bXQpDQo+PiArew0KPj4gKyAgdHJlZSB2YXIgPSBn aW1wbGVfY2FsbF9saHMgKHN0bXQpOw0KPj4gKyAgdHJlZSBpbml0ID0gTlVMTF9UUkVFOw0KPj4g KyAgZW51bSBhdXRvX2luaXRfdHlwZSBpbml0X3R5cGUNCj4+ICsgICAgPSAoZW51bSBhdXRvX2lu aXRfdHlwZSkgVFJFRV9JTlRfQ1NUX0xPVyAoZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAxKSk7DQo+ PiArDQo+PiArICBzd2l0Y2ggKGluaXRfdHlwZSkNCj4+ICsgICAgew0KPj4gKyAgICBkZWZhdWx0 Og0KPj4gKyAgICAgIGdjY191bnJlYWNoYWJsZSAoKTsNCj4+ICsgICAgY2FzZSBBVVRPX0lOSVRf UEFUVEVSTjoNCj4+ICsgICAgICBpbml0ID0gYnVpbGRfcGF0dGVybl9jc3RfZm9yX2F1dG9faW5p dCAoVFJFRV9UWVBFICh2YXIpKTsNCj4+ICsgICAgICBleHBhbmRfYXNzaWdubWVudCAodmFyLCBp bml0LCBmYWxzZSk7DQo+PiArICAgICAgYnJlYWs7DQo+PiArICAgIGNhc2UgQVVUT19JTklUX1pF Uk86DQo+PiArICAgICAgaW5pdCA9IGJ1aWxkX3plcm9fY3N0IChUUkVFX1RZUEUgKHZhcikpOw0K Pj4gKyAgICAgIGV4cGFuZF9hc3NpZ25tZW50ICh2YXIsIGluaXQsIGZhbHNlKTsNCj4+ICsgICAg ICBicmVhazsNCj4+ICsgICAgfQ0KPj4gDQo+PiBJIHRoaW5rIGFjdHVhbGx5IGJ1aWxkaW5nIGJ1 aWxkX3BhdHRlcm5fY3N0X2Zvcl9hdXRvX2luaXQgY2FuIGdlbmVyYXRlDQo+PiBtYXNzaXZlIGdh cmJhZ2UgYW5kIGZvciBiaWcgYXV0byB2YXJzIGNvZGUgc2l6ZSBpcyBhbHNvIGEgY29uY2VybiBh bmQNCj4+IGlkZWFsbHkgb24geDg2IHlvdSdkIHByb2R1Y2UgcmVwIG1vdnEuICBTbyBJIGRvbid0 IHRoaW5rIGdvaW5nDQo+PiB2aWEgZXhwYW5kX2Fzc2lnbm1lbnQgaXMgZ29vZC4gIEluc3RlYWQg eW91IHBvc3NpYmx5IHdhbnQgdG8gbG93ZXINCj4+IC5ERUZFUlJFRF9JTklUIHRvIE1FTXMgZm9s bG93aW5nIGV4cGFuZF9idWlsdGluX21lbXNldCBhbmQNCj4+IGV2ZW50dWFsbHkgZW5oYW5jZSB0 aGF0IHRvIGFsbG93IHN0b3JpbmcgcGllY2VzIGxhcmdlciB0aGFuIGEgYnl0ZS4NCj4+IA0KPj4g RHVlIHRvIOKAnEJPT0xFQU5fVFlQReKAnSBhbmQg4oCcUE9JTlRFUl9UWVBF4oCdLCB3ZSBjYW5u b3QgYWx3YXlzIGhhdmUgYQ0KPj4gcmVwZWF0ZWQgYnl0ZS1wYXR0ZXJuIGZvciB2YXJpYWJsZXMg dGhhdCBpbmNsdWRlIEJPT0xFQU5fVFlQRSBPciBQb2ludGVyDQo+PiB0eXBlcy4gVGhlcmVmb3Jl LCBsb3dlcmluZyB0aGUgLkRFRkVSUkVEX0lOSVQgZm9yIOKAnFBBVFRFUk7igJ0NCj4+IGluaXRp YWxpemF0aW9uIHRocm91Z2gg4oCcbWVtc2V04oCdIGlzIG5vdCBhbHdheXMgcG9zc2libGUuDQo+ PiANCj4+IExldCBtZSBrbm93IGlmIEkgbWlzcyBhbnl0aGluZyBpbiB0aGUgYWJvdmUuIERvIHlv dSBoYXZlIG90aGVyIHN1Z2dlc3Rpb25zPw0KPj4gDQo+PiBUaGUgbWFpbiBwb2ludCBpcyB0aGF0 IHlvdSBuZWVkIHRvIGF2b2lkIGJ1aWxkaW5nIHRoZSBleHBsaWNpdCBpbml0aWFsaXplcg0KPj4g b25seSB0byBoYXZlIGl0IGNvbnN1bWVkIGJ5IGFzc2lnbm1lbnQgZXhwYW5zaW9uLiAgSWYgeW91 IHdhbnQgdG8ga2VlcA0KPj4gYWxsIHRoZSBzaW5naW5nIGFuZCBkYW5jaW5nIChhcyBvcHBvc2Vk IHRvIG1heWJlIGluaXRpYWxpemluZyB3aXRoIGENCj4+IDB4MSBieXRlIHBhdHRlcm4pIHRoZW4g SSB0aGluayBmb3IgZWZmaWNpZW5jeSB5b3Ugc3RpbGwgd2FudCB0bw0KPj4gYmxvY2staW5pdGlh bGl6ZSB0aGUgdmFyaWFibGUgYW5kIHRoZW4gb25seSBmaXh1cCB0aGUgc3BlY2lhbCBmaWVsZHMu DQo+PiANCj4+IFllcywgdGhpcyBpcyBhIGdvb2QgaWRlYS4NCj4+IA0KPj4gV2UgY2FuIG1lbXNl dCB0aGUgd2hvbGUgc3RydWN0dXJlIHdpdGggcmVwZWF0ZWQgcGF0dGVybiDigJwweEFB4oCdIGZp cnN0LA0KPj4gVGhlbiBtaXh1cCBCT09MRUFOX1RZUEUgYW5kIFBPSU5URVIgVFlQRSBmb3IgMzIt Yml0IHBsYXRmb3JtLg0KPj4gVGhhdCBtaWdodCBiZSBtb3JlIGVmZmljaWVudC4NCj4+IA0KPj4g SG93ZXZlciwgYWZ0ZXIgbW9yZSBjb25zaWRlcmF0aW9uLCBJIGZlZWwgdGhhdCB0aGlzIG1pZ2h0 IGJlIGEgbW9yZSANCj4+IGdlbmVyYWwgb3B0aW1pemF0aW9uIGZvciDigJxzdG9yZV9jb25zdHJ1 Y3RvcuKAnSBpdHNlbGY6DQo+PiANCj4+IEkuZSwgIGlmIHRoZSDigJxjb25zdHJ1Y3RvcuKAnSBp bmNsdWRlcyByZXBlYXRlZCBieXRlIHZhbHVlIOKAnDB4QUHigJ0gb3IgYW55IG90aGVyIHZhbHVl IG92ZXIgYSBjZXJ0YWluIHRocmVzaG9sZCwNCj4+IGkuZSwgNzAlIG9mIHRoZSB0b3RhbCBzaXpl LCB0aGVuIHdlIG1pZ2h0IG5lZWQgdG8gdXNlIGEgY2FsbCB0byBtZW1zZXQgZmlyc3QsIGFuZCB0 aGVuIGVtaXQgc29tZSBhZGRpdGlvbmFsIHNpbmdsZQ0KPj4gZmllbGQgc3RvcmVzICB0byBmaXgg dXAgdGhlIGZpZWxkcyB0aGF0IGhhdmUgZGlmZmVyZW50IGluaXRpYWxpemF0aW9uIHZhbHVlcz8N Cj4+IA0KPj4gSnVzdCBsaWtlIHRoZSBjdXJyZW50IGhhbmRsaW5nIG9mIOKAnHplcm9lc+KAnSBp biB0aGUgY3VycmVudCDigJxzdG9yZV9jb25zdHJ1Y3RvcuKAnSwgaWYg4oCcemVyb2Vz4oCdIG9j Y3VweSBtb3N0IG9mIHRoZSBjb25zdHJ1Y3RvciwgdGhlbg0KPj4g4oCcQ2xlYXIgdGhlIHdob2xl IHN0cnVjdHVyZeKAnSBmaXJzdCwgdGhlbiBlbWl0IGFkZGl0aW9uYWwgc2luZ2xlIGZpZWxkIHN0 b3JpZXMgdG8gZml4IHVwIG90aGVyIGZpZWxkcyB0aGF0IGRvIG5vdCBob2xkIHplcm9zLg0KPj4g DQo+PiBTbywgSSB0aGluayB0aGF0IGl0IG1pZ2h0IGJlIGJldHRlciB0byBrZWVwIHRoZSBjdXJy ZW50IA0KPj4g4oCcZXhwYW5kX2Fzc2lnbm1lbnTigJ0gZm9yIOKAnFBhdHRlcm4gaW5pdGlhbGl6 YXRpb27igJ0gYXMgaXQgaXMgaW4gdGhpcyBwYXRjaC4NCj4+IA0KPj4gQW5kIHRoZW4sIGxhdGVy IHdlIGNhbiBhZGQgYSBzZXBhcmF0ZSBwYXRjaCB0byBhZGQgdGhpcyBtb3JlIGdlbmVyYWwgDQo+ PiBvcHRpbWl6YXRpb24gaW4g4oCcc3RvcmVfY29uc3RydWN0b3LigJ0gdG8gaW1wcm92ZSB0aGUg cnVuIHRpbWUgcGVyZm9ybWFuY2UgDQo+PiBhbmQgY29kZSBzaXplIGluIGdlbmVyYWw/DQo+PiAN Cj4+IFdoYXTigJlzIHlvdXIgb3BpbmlvbiBvbiB0aGlzPw0KPiANCj4gTXkgcG9pbnQgaXMgdGhh dCBfYnVpbGRpbmdfIHRoZSBjb25zdHJ1Y3RvciBpcyB3aGF0IHdlIHdhbnQgdG8gYXZvaWQNCj4g c2luY2UgdGhhdCBpbnZvbHZlcyBhIGxvdCBvZiBvdmVyaGVhZCBtZW1vcnktd2lzZSwgaXQgYWxz byByZXF1aXJlcw0KPiB5ZXQgYW5vdGhlciBjb21wbGV4IHN0cnVjdHVyZSBmaWVsZCB3YWxrIHdp dGggbXVjaCByb29tIGZvciBlcnJvcnMuDQoNClNvLCB5b3UgbWVhbiBJIHNob3VsZCBjb21wbGV0 ZWx5IGdldCByaWQgb2YgdGhlIG5ldyBhZGRlZCByb3V0aW5lIA0K4oCcYnVpbGRfcGF0dGVybl9j c3RfZm9yX2F1dG9faW5pdOKAnSwgc2luY2UgaXQgYnVpbHQgY29uc3RydWN0b3JzIGZvciBSRUNP UkQsDQpVTklPTiwgYW5kIEFSUkFZIHR5cGVzLiAgQW5kIHRoZSBjdXJyZW50IFJUTCBleHBhbnNp b24gb2YgY29uc3RydWN0b3IgDQphc3NpZ25tZW50IGlzIG5vdCBlZmZpY2llbnQgZW5vdWdoIGZv ciBwYXR0ZXJuIGluaXRpYWxpemF0aW9uIHB1cnBvc2U/IA0KDQo+IA0KPiBCbG9jay1pbml0aWFs aXppbmcgdGhlIG9iamVjdCBpcyBzbyBtdWNoIGVhc2llciBhbmQgbW9yZSBlZmZpY2llbnQuDQo+ IEltcGxlbWVudGluZyBibG9jayBpbml0aWFsaXphdGlvbiB3aXRoIGEgYmxvY2sgc2l6ZSBkaWZm ZXJlbnQgZnJvbQ0KPiBhIHNpbmdsZSBieXRlIHNob3VsZCBiZSBhbHNvIHJlYXNvbmFibHkgcG9z c2libGUuICBJIG1lYW4gdGhlcmUncw0KPiB3bWVtc2V0IChub3QgaW4gR0NDKSwgc28gc3VjaCBi bG9jayBpbml0aWFsaXphdGlvbiB3b3VsZCBoYXZlIG90aGVyDQo+IHVzZXMgYXMgd2VsbC4NCg0K SWYgdGhlIHBhdHRlcm4gb2YgdGhlIHZhbHVlIHRoYXQgaXMgdXNlZCB0byBpbml0aWFsaXplIGlz IHJlcGVhdGFibGUsIHRoZW4gDQpCbG9jay1pbml0aWFsaXppbmcgaXMgaWRlYWwuIEhvd2V2ZXIs IFNpbmNlIHRoZSBwYXR0ZXJucyBvZiB0aGUgdmFsdWVzIHRoYXQNCmFyZSB1c2VkIHRvIGluaXRp YWxpemUgbWlnaHQgbm90IGJlIGNvbXBsZXRlbHkgcmVwZWF0YWJsZSBkdWUgdG8gQk9PTEVBTiAo MCksDQpQT0lOVEVSX1RZUEUgYXQgMzItYml0IHBsYXRmb3JtICgweDAwMDAwMEFBKSBhbmQgRkxP QVRJTkcgVFlQRSAoTmFOKSwgDQpBZnRlciBibG9jayBpbml0aWFsaXppbmcgb2YgdGhlIHdob2xl IG9iamVjdCwgd2Ugc3RpbGwgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBmaXggdXAgDQpzdG9yZXMg b2YgdGhlc2UgZGlmZmVyZW50IHBhdHRlcm5zIHRvIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkcy4g DQoNCkZvciBzb21lIG9mIHRoZSBvYmplY3RzIHdob3NlIG1vc3QgZmllbGRzIGFyZSBCT09MRUFO LCBQT0lOVEVSX1RZUEUsIA0KcnIgRkxPQVRJTkdfVFlQRSwgcGF0dGVybiAgaW5pdGlhbGl6aW5n IGxpa2VlIHRoaXMgbWlnaHQgYmUgbGVzcyBlZmZpY2llbnQuIERvIHlvdSANCmFncmVlIG9uIHRo aXM/DQoNCg0KPiANCj4gSSdtIGdvaW5nIHRvIHJlcGVhdGVkbHkgcG9pbnQgYXQgdGhvc2UgbGFy Z2UgY2h1bmtzIG9mIGNvZGUgdGhhdA0KPiBoYW5kbGUgcGFkZGluZyBhbmQgYnVpbGRpbmcgdGhl IENUT1IgLSBJIGRvbid0IGV2ZW4gd2FudCB0byByZXZpZXcNCj4gdGhlbSA7KSAgVGhleSBzaG91 bGQgbm90IGV4aXN0DQoNClNvLCBqdXN0IHdhbnQgdG8gY29uZmlybSAtOiksICBkbyB5b3UgbWVh biB0byBjb21wbGV0ZWx5IGRlbGV0ZSB0aGUgcm91dGluZSANCuKAnGJ1aWxkX3BhdHRlcm5fY3N0 X2Zvcl9hdXRvX2luaXTigJ0/IEFuZCB0aGVuIHVzZSB0aGUgYXBwcm9hY2ggeW91IHN1Z2dlc3Rl ZCBiZWxvdw0KdG8gcmVwbGFjZSB0aGlzIHBhcnQgb2Ygd29yaz8NCg0KPiAodGh1cyBhbHNvIG15 IHN1Z2dlc3Rpb24gdG8gc3BsaXQgb3V0DQo+IHBhZGRpbmcgaGFuZGxpbmcgLSBub3cgd2UgY2Fu IGFsc28gc3BsaXQgb3V0IHBhdHRlcm4gaW5pdCBoYW5kbGluZywNCj4gbWF5YmUgc29tZWJvZHkg ZWxzZSBmZWVscyBsaWtlIHJldmlld2luZyBhbmQgYXBwcm92aW5nIHRoaXMsIHdobyBrbm93cyku DQoNCkkgYW0gb2theSB3aXRoIGZ1cnRoZXIgc3BsaXR0aW5nIHBhdHRlcm4gaW5pdGlhbGl6YXRp b24gcGFydCB0byBhIHNlcGFyYXRlIHBhdGNoLiBUaGVuIHdlIHdpbGwNCmhhdmUgNCBpbmRlcGVu ZGVudCBwYXRjaGVzIGluIHRvdGFsOg0KDQoxLiAtZmF1dG8tdmFyLWluaXQ9emVybyBhbmQgYWxs IHRoZSBoYW5kbGluZyBpbiBvdGhlciBwYXNzZXMgdG8gdGhlIG5ldyBhZGRlZCBjYWxsIHRvIC5E RUZFUlJFRF9JTklULg0KMi4gQWRkIC1mYXV0by12YXItaW5pdD1wYXR0ZXJuIA0KMy4gQWRkIC1m YXV0by12YXItaW5pdC1wYWRkaW5nDQo0LiBBZGQgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQgZm9y IENMQU5HIGNvbXBhdGliaWxpdHkuIA0KDQpBcmUgdGhlIGFib3ZlIHRoZSBjb3JyZWN0IHVuZGVy c3RhbmRpbmc/DQoNCj4gDQo+IE5vdywgd2hhdCB5b3UgX2NvdWxkXyB0cnkgaXMgZG8gc3RoIGxp a2UNCj4gDQo+ICB0cmVlIGFyID0gYnVpbGRfYXJyYXlfdHlwZSAodWludF9wdHJfdHlwZV9ub2Rl LCBzaXplX3R5cGVfbm9kZSwgZmFsc2UpOw0KPiAgdHJlZSByYW5nZSA9IGJ1aWxkMiAoUkFOR0Vf RVhQUiwgc2l6ZV90eXBlX25vZGUsDQo+ICAgICAgICAgICAgICAgICAgICAgICBzaXplX3plcm9f bm9kZSwgYnVpbGRfaW50X2NzdCAoc2l6ZV90eXBlX25vZGUsIA0KPiBzaXplLWluLXdvcmRzKSk7 DQo+ICB0cmVlIHBhdHRlcm4gPSBidWlsZF9pbnRfY3N0ICh1aW50X3B0cl90eXBlX25vZGUsIDB4 ZGVhZGJlZWYpOw0KPiAgY3RvciA9IGJ1aWxkX2NvbnN0cnVjdG9yX3NpbmdsZSAoYXIsIHJhbmdl LCBwYXR0ZXJuKTsNCj4gIGN0b3IgPSBidWlsZDEgKFZJRVdfQ09OVkVSVF9FWFBSLCB0eXBlLCBj dG9yKTsNCg0KDQpTbywgdGhlIGFib3ZlIHdpbGwgYmUgdXNlZCB0byByZXBsYWNlIHRoZSBmb2xs b3dpbmcgb3JpZ2luYWwgY29kZSBpbiBteSBwYXRjaDoNCg0KPj4gKyAgICBjYXNlIEFVVE9fSU5J VF9QQVRURVJOOg0KPj4gKyAgICAgIGluaXQgPSBidWlsZF9wYXR0ZXJuX2NzdF9mb3JfYXV0b19p bml0IChUUkVFX1RZUEUgKHZhcikpOw0KPj4gKyAgICAgIGV4cGFuZF9hc3NpZ25tZW50ICh2YXIs IGluaXQsIGZhbHNlKTsNCj4+ICsgICAgICBicmVhazsNCg0KPw0KDQo+IA0KPiB0aHVzIGJ1aWxk IGEgcmFuZ2UtaW5pdCBDVE9SIG9mIGFuIGFycmF5IG9mIHBvaW50ZXItc2l6ZWQgZWxlbWVudHMN Cj4gYnV0IGRvIHRoZSBhY3R1YWwgYXNzaWdubWVudCB0byB0aGUgdGFyZ2V0IG9iamVjdCBieSB2 aWV3aW5nIHRoYXQNCj4gYXMgdGhlIHRhcmdldCBvYmplY3RzIHR5cGUuICANCg0KT2theS4NCg0K U28sIGZvciBhIHRhcmdldCBvYmplY3QgdGhhdCBpcyBzbWFsbGVyIHRoYW4gYSB3b3JkLCBmb3Ig ZXhhbXBsZSwgQk9PTEVBTiwgDQpDSEFSIG9yIHNob3J0LCBpcyB0aGUgYWJvdmUgc3RpbGwgd29y a2luZz8NCg0KPiBUaGF0IHNob3VsZCBibG9jay1pbml0aWFsaXplIHdpdGgNCj4gYSB1aW50X3B0 cl90eXBlX25vZGUgc2l6ZWQgcGF0dGVybiAoYnV0IGxpa2VseSBsZXNzIGVmZmljaWVudCB0aGFu DQo+IHNwZWNpYWwgYmxvY2sgaW5pdCB3b3VsZCBkbykuDQo+IA0KPiBOb3Qgc3VyZSB3aGF0IHBy b2JsZW1zIHlvdSB3aWxsIHJ1biBpbnRvIHRoaXMsIHlvdSdsbCBoYXZlIHRvIHRyeS4NCg0KSSB3 aWxsIHRyeSB0aGlzLg0KDQpUaGFua3MgYSBsb3QgZm9yIHlvdXIgc3VnZ2VzdGlvbnMuDQoNClFp bmcNCj4gDQo+IFJpY2hhcmQuDQoNCg==