From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 28E6D383B43E for ; Thu, 1 Jul 2021 15:42:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 28E6D383B43E Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 161FbR4h019330; Thu, 1 Jul 2021 15:42:53 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 39grmattkg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 Jul 2021 15:42:53 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 161FZxp2024814; Thu, 1 Jul 2021 15:42:52 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam08lp2040.outbound.protection.outlook.com [104.47.73.40]) by aserp3020.oracle.com with ESMTP id 39dv2am98p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 Jul 2021 15:42:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CU9OiMwvxSWKsiJa+rmSLP4IDb45GQfsuFKELQkTCPdJWzp/xbwaGu39FCZsWZhe5MSj6Dt9JroXsy9C8qW72OcpT28bioZEtWCsqVKJHM1iRiZx/ECBcZ7phSnKItyd6umrwaUKI4Wtj8Ip5R8u2ihxtd1Xdnsl1akLKw4GU53TH1zO77ZYtkj/l8nl+OuTPrEY6CvT4V1bkTkAFXTaEqveuMRGs1u0+qFQ+7ANKcl4KlJ+PREMlVp9bA+QrJDf7jqbj+l/pYNlFP3uzIEDyRX66FDNNDS1A8pKTvsKo+pz6qTOXVIELf3m1ajPKH7P3oEntAkrXGGd4TmMmxGJJg== 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=a5XGQJNzlEJsJ2eBtHF1M0qrPR6POdV+VmTCZZx7b1E=; b=LKTyZxVPhts0OX9+HaCsRw71A9l4vu2N8B5FWqcQ0lBfchoq8/ejV3IBoJ2jeqeA++V4iPJLse2TZFl7kSYMm2qvpdt7ON0kzQm1frgggmOWYstQooFBUsEhNj2i4jIOdNRCJtBPGo9foTficG88vknBDoPLJ4mX2Z6/xcRNklMdsRURVmJLBXNSeapl4FJfXL6o2sVXocruSP8HqNZOMdI6Cz00eD2ovRznnzy1xXrebEAOBL7gwdqJ5pCYTuEceDBtw8S0hhliNCG2pjt6p2CkkEyLkt9Nzw/7rM7rYZOipGngyNu8pRo1bfMoTniLw6LF/dbmXFPoIGeVpwzLIQ== 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 CH2PR10MB3973.namprd10.prod.outlook.com (2603:10b6:610:11::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22; Thu, 1 Jul 2021 15:42:50 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::40d3:31ef:73a8:802]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::40d3:31ef:73a8:802%3]) with mapi id 15.20.4287.023; Thu, 1 Jul 2021 15:42:50 +0000 From: Qing Zhao To: Michael Matz CC: Richard Sandiford , gcc-patches Qing Zhao via , kees cook Subject: Re: HELP!! How to inhibit optimizations applied to .DEFERRED_INIT argument? Thread-Topic: HELP!! How to inhibit optimizations applied to .DEFERRED_INIT argument? Thread-Index: AQHXbUTVmnpx/al1a0SprcMo6IK5c6ssLX2AgABph4CAAAnjAIAAEdSAgAAbIACAAAR+gIAACMAAgAAOY4CAAARQgIAAwf8AgAB0XACAAAawSIAACJyAgAARgIA= Date: Thu, 1 Jul 2021 15:42:50 +0000 Message-ID: References: <004A0552-4D2E-48F4-8474-5902E462D77B@oracle.com> <495DF61E-8E9A-4A0F-A6FC-AD470B7EDADA@suse.de> <4A5C3A75-A927-4680-A6C5-82A44670B0DC@suse.de> <347052B2-1E12-4425-B047-403FDA56AC4C@oracle.com> <012695E0-171C-4F9A-ABCF-0FF7E8159278@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:15ed:692d:cda8:3c71] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d34231e7-4bdd-44bf-5239-08d93ca6e207 x-ms-traffictypediagnostic: CH2PR10MB3973: 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: xyUXJSkBkXrvgqAWb3XmyTAmjKwiogwX5BnICXDFDDkxXne8aD+horOL0fUvf2xgUEqVRbEP9a21TPncFJoCjfpWqIGCpAMuo3NQ2/x/g54cT62yOBqxXwMJAvhr6hkO+2aQVDZLjctasnF0rf9gyYE+CQGSjvmkwGlKB5bWmOLzcf+/bNGXJSA2YXSJfoxama0mjITFf4HD/FMuAunvDXV3SKKsZCam+Kwb+rXifJRXOrSSw/Oy/vM5WHtamAHHxzrNOyd32VbjM41KeUUujBNjRr6bSc16rbl8dtUlaBe3f3JzWdP/z+XetlGdtE2UycmBDRr+pBi0jNu24LLzzh85GO5iL/3Sj60C5lZEwBr8otPn2DrvN23kpuvtdnWgUa2+qCC5cQFSRHhegKc1E5HOEioVID6fHnhWMFixg50PTZ/83LdLnc5iN7qWvVKCXhDmrICJqdiCwfvS3ynONAyqNkDpOXkb+CwmDklB5bXr7kS4CHQOfJwRW7Q6bcPjYQX97vlV98RhzAk0RXzqBkLzDTcXPD42RAFaIeTP0a+KrlDvFFVelK7zKcMbEKb+6TGN5UgAkj4V0/10YXjXCqHQi/9OV4fUUi5tMZAcOlbAeBA7qvc855WXazcjbg6sEg05GAgVr5NXWyCErwjvnXo2+JeHxu6FmGziXhgmM220pLTiybDEm6JjixOTFS1TNqdgbhx7KIshZuk4+5lBrtqxxvL9S0jrDdJj8aDmKaM= 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:(366004)(346002)(136003)(39860400002)(376002)(396003)(66556008)(6486002)(64756008)(66946007)(91956017)(4326008)(66446008)(2906002)(2616005)(36756003)(54906003)(38100700002)(316002)(86362001)(33656002)(76116006)(122000001)(53546011)(8936002)(186003)(71200400001)(6512007)(5660300002)(6916009)(66476007)(83380400001)(6506007)(44832011)(478600001)(8676002)(142923001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NDFIdmVSdEkyN2pvTENWV25VMC83SGw5cG5EN3VmaS9KWjkycjIveWFvZ1gv?= =?utf-8?B?SytueVN2MVZuS3pidENzRGt0VkVxQllLVlEyc2tvMkZhMzltVlVHRUpWdEZB?= =?utf-8?B?UGFVRGg1U1lKU28vS1RUdTRXZmpVc050dnJPQ1VEKzI1RVFaUEdXNzRwZ3F1?= =?utf-8?B?NFpRQTRiWlE4SjV6WnBXbG5TaTBiTHlPQ0dzZk40dnkyeE16TVA0azNJeGhZ?= =?utf-8?B?cG5qSFdJQ3BsZEs2Qkw0WDN0d0dqbm9FY2hhMWpOaFhua1lvRG1WeVZsMWgw?= =?utf-8?B?aEVsSGhWS2xDd1MvdldHVHFyc05jc2dwMExwaGxxUEo2MWpYNnN5MTRXVGha?= =?utf-8?B?OTdQU1V2am1BUVNkTjhuYk1iMk9ZbTd1SjlSWHdsN0s0MXBuNEVheUtCMG9u?= =?utf-8?B?QUVuaWpwM0VDajhIQzlqbnFzZ1A5c1pSQU9SUlY1RC9yVmpJT1cxZHR5ZVJY?= =?utf-8?B?WWFDOW8wVlIwM0t4LzM3L0JENFgrb2lGOVF4QUZzbjZsOVZKSnVRZkxib0JV?= =?utf-8?B?WVo5K3hoK3FuRE44MjV0UXJYb1VqWFN5WTVFbXdSZ2ZLWVpBZGgyNG40U2Ji?= =?utf-8?B?ampNZGxlUnEvK3ZYVW1CZS9LTm5DMWlyQmpncHArendMK0ZQZkcrMzI3OXQx?= =?utf-8?B?NHI5bUVEdTc0czV1OFpYd3ZKZVhxSlhIaUtCcFJycGhmZ2xIQ0tkc3c3V3g5?= =?utf-8?B?cGxYOUxQSHY0aCtHa3NZaDlUalZXRHFtMis5V3BKRG9lbkMxRzIyQ29ESlc5?= =?utf-8?B?bWsydklsWW90d3BGazdXTkRyeERiSndRM1hxdThueTdGOGc0a0lIRzJaYjRm?= =?utf-8?B?emdNcU92VURrMEVTQzNFWDhCMTRhbG5FVkFkVVlLeUZKSVRFSy9haWQ2TzZk?= =?utf-8?B?cVJoaWlEUGxrZm05M1czZ1R2VThUeVZ3RGtYeEkzQnNPYWdhS3daSStKMG1E?= =?utf-8?B?WGduSm80cGk3aE1OK2JGc2tkL0xQMjYwbUw0SU56RnJkeUFPblNuWXA1WWR3?= =?utf-8?B?RER1SXY4b1VyNkF5VzFMVkJwOHdISldCUis3YWc5d1ZGU0RZUkZOZ3pPK1BY?= =?utf-8?B?VHNMTDIweDhJZzhGODEvcUs3NHQ1ZmVySmkwVnlScFhzSWxHYnpKM2ZjV3Zr?= =?utf-8?B?WE9WczBUZkNpOG5TV1hUQ25UVU9NbkV2bVcvSzlDbVpXSUFMLzUvKzh0SUhF?= =?utf-8?B?MXBJRGRJclFucnVIK2FxR3FDWk82cEhzeU1uUmw2V1B4UUl5Yk5RTWYvMjFU?= =?utf-8?B?SXc5UERXVEZFMUxGVDlBY1JwWk0vb1AvTDZ0dVBPSlpzcUpzbVc5c252dkxP?= =?utf-8?B?YlQwdVZBU0k1STVXYytndVVFY2Q5TmlSdVI0TnBuYlFhQm5vZ2NDNzh0bXJZ?= =?utf-8?B?U0ZQSTgrTDdndjdoUStoUU1WQ1piSHg1YUdkVUdSNS9DcnpxVHBNemVqNVBq?= =?utf-8?B?YUVFY3luRjhET21WdHovMlJQbldUSFcyY3I2Qy9mM1ViYnBMTlFzZjAzOHJs?= =?utf-8?B?K1pHS3dhYTRtd003WTR0Vi81OUo0UENlTjdrRHJSTUIwUVdsNUoya0YwOU51?= =?utf-8?B?Z2xjUHdNTGJMaWxKOTl3Y0cySkdqSHphVzZJZ0RMZGorZlpBUldCUG1sK285?= =?utf-8?B?WU5aQ2dMd2d6QkVkTlNnWitxM09scXhOcHRDeS9kRlBZUzE1YmJ1L05hQ3Bu?= =?utf-8?B?Vm83R2x6NVJLVUc0Y0VFNmFsSEpYVU9QdlNyVlVHa25vRnlUOXREQU01MFF2?= =?utf-8?B?TFEwa0FKVjRERUhYeGJKM0hWZEZwcm42MVArd1Z5YVd3ak9CK1FIYzVaV283?= =?utf-8?B?dXFadzF6dGExY3ZhMGhUQ1ErY1BGelZsaFVCSWxTYlpxcFF3cXdYczBHSXZx?= =?utf-8?Q?1fpxT8+dIJedY?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: 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: d34231e7-4bdd-44bf-5239-08d93ca6e207 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2021 15:42:50.1515 (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: v8YcCSCfOWeH9w217disEi8awDE1bGq5oR6xiPLuRD6kRm+vwX9fa3G4WJlL632KAm8+lXKZ8Jk0ECGluoJm1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB3973 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10032 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107010094 X-Proofpoint-GUID: GcWFG5GPcs1fMA92iLR0gv9HYpbtfu_Y X-Proofpoint-ORIG-GUID: GcWFG5GPcs1fMA92iLR0gv9HYpbtfu_Y X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, PLING_QUERY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Thu, 01 Jul 2021 15:42:58 -0000 SGksIE1pY2hhZWwsDQoNCj4gT24gSnVsIDEsIDIwMjEsIGF0IDk6NDAgQU0sIE1pY2hhZWwgTWF0 eiA8bWF0ekBzdXNlLmRlPiB3cm90ZToNCj4gDQo+IEhlbGxvLA0KPiANCj4gSSBoYXZlbid0IGZv bGxvd2VkIHRoaXMgdGhyZWFkIHRvbyBjbG9zZWx5LCBpbiBwYXJ0aWN1bGFyIEkgaGF2ZW4ndCBz ZWVuIA0KPiB3aHkgdGhlIGN1cnJlbnQgZm9ybSBvZiB0aGUgLkRFRkVSUkVEX0lOSVQgY2FsbCB3 YXMgY2hvc2VuIG9yIHN1Z2dlc3RlZCwgDQo+IGJ1dCBpdCB0cmlnZ2VyZWQgbXkgIndlbGwsIHRo YXQncyBvYnZpb3VzbHkgd3JvbmciIGd1dCBmZWVsaW5nOyBzbyBzb3JyeSANCj4gZm9yIHN0YXRp bmcgc29tZXRoaW5nIHdoaWNoIG1pZ2h0IGJlIG9idmlvdXMgdG8gdGhyZWFkIHBhcnRpY2lwYW50 cyBoZXJlLiAgDQo+IEFueXdheToNCj4gDQo+IE9uIFRodSwgMSBKdWwgMjAyMSwgUmljaGFyZCBT YW5kaWZvcmQgdmlhIEdjYy1wYXRjaGVzIHdyb3RlOg0KPiANCj4+Pj4gSXQncyBub3QgYSBidWcg aW4gU1NBLCBpdCdzIGF0IG1vc3QgYSBtaXNzZWQgb3B0aW1pemF0aW9uIHRoZXJlLg0KPj4+IA0K Pj4+IEkgc3RpbGwgdGhpbmsgdGhhdCBTU0EgY2Fubm90IGhhbmRsZSBibG9jay1zY29wZWQgdmFy aWFibGUgY29ycmVjdGx5IA0KPj4+IGluIHRoaXMgY2FzZSwgaXQgc2hvdWxkIG5vdCBtb3ZlIHRo ZSB2YXJpYWJsZSBvdXQgc2lkZSBvZiB0aGUgYmxvY2sgDQo+Pj4gc2NvcGUuIC06KQ0KPj4+IA0K Pj4+PiBCdXQgd2l0aCAtZnRyaXZpYWwtYXV0by12YXItaW5pdCBpdCBiZWNvbWVzIGEgY29ycmVj dG5lc3MgaXNzdWUuDQo+PiANCj4+IEkgbWlnaHQgaGF2ZSBsb3N0IHRyYWNrIG9mIHdoYXQg4oCc aXTigJ0gaXMgaGVyZS4gIERvIHlvdSBtZWFuIHRoZSANCj4+IHByb2dhdGlvbiwgb3IgdGhlIGZh Y3QgdGhhdCB3ZSBoYXZlIGEgUEhJIGluIHRoZSBmaXJzdCBwbGFjZT8NCj4+IA0KPj4gRm9yOg0K Pj4gDQo+PiB1bnNpZ25lZCBpbnQNCj4+IGYgKGludCBuKQ0KPj4gew0KPj4gIHVuc2lnbmVkIGlu dCByZXMgPSAwOw0KPj4gIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSArPSAxKQ0KPj4gICAgew0K Pj4gICAgICB1bnNpZ25lZCBpbnQgZm9vOw0KPj4gICAgICBmb28gKz0gMTsNCj4gDQo+IE5vdGUg dGhhdCBoZXJlIGZvbyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQuICBUaGF0IGlzIHRoZSB0aGluZyBm cm9tIHdoaWNoIA0KPiBldmVyeXRoaW5nIGVsc2UgZm9sbG93cy4gIEdhcmJhZ2UgaW4sIGdhcmJh Z2Ugb3V0LiAgSXQgbWFrZXMgbm90IHRvbyBtdWNoIA0KPiBzZW5zZSB0byBhcmd1ZSB0aGF0IHRo ZSBnZW5lcmF0ZWQgUEhJIG5vZGUgb24gdGhpcyBsb29wIChnZW5lcmF0ZWQgYmVjYXVzZSANCj4g b2YgdGhlIGV4cG9zZWQtdXB3YXJkIHVzZSBvZiBmb28pIGlzIHdyb25nLCBvciByaWdodCwgb3Ig c2hvdWxkIGJldHRlciBiZSANCj4gc29tZXRoaW5nIGVsc2UuICBUaGUgaW5wdXQgcHJvZ3JhbSB3 YXMgYnJva2VuLCBzbyBhbnl0aGluZyBtYWtlcyBzZW5zZS4NCg0KWWVzLCB0aGUgUEhJIG5vZGUg d2FzIGdlbmVyYXRlZCBiZWNhdXNlIG9mIHRoZSBleHBvc2VkLXVwd2FyZCB1c2Ugb2Yg4oCcZm9v 4oCdLg0KdGhpcyBtYWtlcyBzZW5zZS4NCg0KSG93ZXZlciwgdGhlIFBISSBub2RlIHNob3VsZCBu b3QgYmUgcHV0IG91dCBvZiB0aGUgbGl2ZSBzY29wZSBvZiDigJxmb2/igJ0sIHRoaXMgaXMgd3Jv bmcuDQoNCklNTywgZXZlbiB0aG91Z2ggdGhlcmUgaXMgdW5pbml0aWFsaXplZCB2YXJpYWJsZSwg aXTigJlzIG5vdCB0aGUgZXhjdXNlIHRoYXQgY29tcGlsZXIgc2hvdWxkDQpub3QgbWFpbnRhaW4g Y29ycmVjdCB2YXJpYWJsZSBzY29wZXMuDQoNCg0KPiANCj4gVGhhdCBpcyB0aGUgc2FtZSB3aXRo IFFpbmdzIHNob3J0ZXIgdGVzdGNhc2U6DQo+IA0KPiAgNiAgIGZvciAoaSA9IDA7IGkgPCBhOyBp KyspIHsNCj4gIDcgICAgIGlmIChfX2V4dGVuc2lvbl9fKHtpbnQgc2l6ZTI7DQo+ICA4ICAgICAg ICAgc2l6ZTIgPSBBUlRfSU5JVCAoc2l6ZTIsIDIpOw0KPiANCj4gVW5pbml0aWFsaXplZCB1c2Ug b2Ygc2l6ZTIgcmlnaHQgdGhlcmUuICBBbmQgaXQncyB0aGUgc2FtZSBmb3IgdGhlIHVzZSBvZiAN Cj4gLkRFRkVSUkVEX0lOSVQgYXMgdGhlIHBhdGNoIGRvZXM6DQo+IA0KPiB7DQo+ICBpbnQgc2l6 ZTI7DQo+ICBzaXplMiA9IC5ERUZFUlJFRF9JTklUIChzaXplMiwgMik7DQo+ICBzaXplMiA9IDQ7 DQo+ICBfMSA9IHNpemUyID4gNTsNCj4gIEQuMjI0MCA9IChpbnQpIF8xOw0KPiB9DQo+IA0KPiBB cmd1bWVudCBvZiB0aGUgcHNldWRvLWZ1bmN0aW9uLWNhbGwgdG8gLkRFRkVSUkVEX0lOSVQgdW5p bml0aWFsaXplZCAtPiANCj4gYm9vbS4NCj4gDQo+IFlvdSBjYW4ndCBzb2x2ZSBhbnkgb2YgdGhp cyBieSBmaWRkbGluZyB3aXRoIGhvdyBTU0EgcmV3cml0aW5nIGJlaGF2ZXMgYXQgDQo+IGEgbGFy Z2Ugc2NhbGUuICBZb3UgbmVlZCB0byBjaGFuZ2UgdGhpcyBhbmQgb25seSB0aGlzIHNwZWNpZmlj IA0KPiBpbnRlcnByZXRhdGlvbiBvZiBhIHVzZS4gIE9yIHByZWZlcnJhYmx5IG5vdCBnZW5lcmF0 ZSBpdCB0byBzdGFydCB3aXRoLg0KPiANCj4+IElNTyB0aGUgZm9vXzMgUEhJIG1ha2VzIG5vIHNl bnNlLiAgZm9vIGRvZXNuJ3QgbGl2ZSBiZXlvbmQgaXRzIGJsb2NrLA0KPj4gc28gdGhlcmUgc2hv dWxkIGJlIG5vIGxvb3AtY2FycmllZCBkZXBlbmRlbmN5IGhlcmUuDQo+PiANCj4+IFNvIHllYWgs IGlmIOKAnGl04oCdIG1lYW50IHRoYXQgdGhlIGZhY3QgdGhhdCB2YXJpYWJsZXMgbGl2ZSB0b28g bG9uZywNCj4+IHRoZW4gSSBhZ3JlZSB0aGF0IGJlY29tZXMgYSBjb3JyZWN0bmVzcyBpc3N1ZSB3 aXRoIHRoaXMgZmVhdHVyZSwNCj4+IHJhdGhlciB0aGFuIGp1c3QgYW4gb2RkIHF1aXJrLiAgQ291 bGQgd2Ugc29sdmUgaXQgYnkgaW5zZXJ0aW5nDQo+PiBhIGNsb2JiZXIgYXQgdGhlIGVuZCBvZiB0 aGUgdmFyaWFibGUncyBzY29wZSwgb3Igc29tZXRoaW5nIGxpa2UgdGhhdD8NCj4gDQo+IEl0IHdv dWxkIHBvc3NpYmx5IG1ha2UgR0NDIG5vdCBnZW5lcmF0ZSBhIFBISSBvbiB0aGlzIGJyb2tlbiBp bnB1dCwgeWVzLiAgDQo+IEJ1dCB3aHkgd291bGQgdGhhdCBiZSBhbiBpbXByb3ZlbWVudD8NCg0K QmVpbmcgYWRkaW5nIENsb2JiZXJzIGF0IHRoZSBlbmQgb2YgdGhlIHZhcmlhYmxl4oCZcyBzY29w ZSwgdGhlIGNvbXBpbGVyIHdpbGwga2VlcCB0aGUgY29ycmVjdA0KVmFyaWFibGUgc2NvcGUgZHVy aW5nIHRoaXMgc3RhZ2UsIGFuZCBwcmV2ZW50IGFueSBtb3JlIGluY29ycmVjdCB0cmFuc2Zvcm1h dGlvbiBmcm9tIGhhcHBlbmluZy4NCklNTyAgdGhpcyBzaG91bGQgYmUgYSBuaWNlIGltcHJvdmVt ZW50LiAgLTopDQoNClRoYW5rcy4NCg0KUWluZw0KPiANCj4+PiBBZ3JlZWQsIEkgaGF2ZSBtYWRl IHN1Y2ggY2hhbmdlIHllc3RlcmRheSwgYW5kIHRoaXMgd29yayBhcm91bmQgdGhlIA0KPj4+IGN1 cnJlbnQgaXNzdWUuDQo+Pj4gDQo+Pj4gdGVtcCA9IC5ERUZFUlJFRF9JTklUICh0ZW1wL1dJVEhf U0laRV9FWFBSKHRlbXApLCBpbml0X3R5cGUpDQo+Pj4gDQo+Pj4gVG86DQo+Pj4gDQo+Pj4gdGVt cCA9IC5ERUZFUlJFRF9JTklUIChTSVpFX29mX3RlbXAsIGluaXRfdHlwZSkNCj4+IA0KPj4gSSB0 aGluayB3ZSdyZSBnb2luZyByb3VuZCBpbiBjaXJjbGVzIGhlcmUgdGhvdWdoLiAgVGhlIHBvaW50 IG9mIGhhdmluZw0KPj4gdGhlIHVuZGVmaW5lZCBpbnB1dCB3YXMgc28gdGhhdCB3ZSB3b3VsZCBj b250aW51ZSB0byB3YXJuIGFib3V0IHVuZGVmaW5lZA0KPj4gaW5wdXRzLiAgVGhlIGFib3ZlIGlz c3VlIGRvZXNuJ3Qgc2VlbSBsaWtlIGEgZ29vZCBqdXN0aWZpY2F0aW9uIGZvcg0KPj4gZHJvcHBp bmcgdGhhdC4NCj4gDQo+IElmIHlvdSB3YW50IHRvIHJlbHkgb24gdGhlIHVuZGVmaW5lZCB1c2Ug Zm9yIGVycm9yIHJlcG9ydGluZyB0aGVuIHlvdSBtdXN0IA0KPiBvbmx5IGdlbmVyYXRlIGFuIHVu ZGVmaW5lZCB1c2Ugd2hlbiB0aGVyZSB3YXMgb25lIGJlZm9yZSwgeW91IGNhbid0IGp1c3QgDQo+ IGluc2VydCBuZXcgdW5kZWZpbmVkIHVzZXMuICBJIGRvbid0IHNlZSBob3cgaXQgY291bGQgYmUg b3RoZXJ3aXNlLCBhcyBzb29uIA0KPiBhcyB5b3UgaW50cm9kdWNlIG5ldyB1bmRlZmluZWQgdXNl cyB5b3UgY2FuIGFuZCB3aWxsIHJ1biBpbnRvIEdDQyBtYWtpbmcgDQo+IHVzZSBvZiB0aGUgdW5k ZWZpbmVkbmVzcywgbm90IGp1c3QgdGhpcyBwYXJ0aWN1bGFyIGlzc3VlIHdpdGggbGlmZXRpbWUg YW5kIA0KPiBQSEkgbm9kZXMgd2hpY2ggbWlnaHQgYmUgInNvbHZlZCIgYnkgY2xvYmJlcnMuDQo+ IA0KPiBJIHRoaW5rIGl0J3MgYSBjaGlja2VuIGVnZyBwcm9ibGVtOiB5b3UgY2FuJ3QgYWRkIHVu ZGVmaW5lZCB1c2VzLCBmb3IgDQo+IHdoaWNoIHlvdSBuZWVkIHRvIGtub3cgaWYgdGhlcmUgd2Fz IG9uZSwgYnV0IHRoZSBmYWNpbGl0eSBpcyBzdXBwb3NlZCB0byANCj4gaGVscCBkZXRlY3Rpbmcg aWYgdGhlcmUgaXMgb25lIHRvIHN0YXJ0IHdpdGguDQo+IA0KPiANCj4gQ2lhbywNCj4gTWljaGFl bC4NCg0K