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 35F29383F40B for ; Wed, 30 Jun 2021 17:45:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 35F29383F40B Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15UHQRvx010462; Wed, 30 Jun 2021 17:45:25 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 39gb2t22ef-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 30 Jun 2021 17:45:24 +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 15UHQ9L8167121; Wed, 30 Jun 2021 17:45:24 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by aserp3030.oracle.com with ESMTP id 39dt9hk3k8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 30 Jun 2021 17:45:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ELgdh4K0SSw0hsNmBQiOt6KAjhLK2n9E8ETv7m2lVg0vsYNEC9zDX671ek77OoGwDGxmYe+qIytLSXJXQVSPGYNce0reXYTJoDNUYTollWvNTPPeyKCYV4iZyGaV760vlH1fnmMmXaxoYKVfm1J4in9BffPKYXFH1Jv+Igh6F52Uyn8zjffu2ykrQL5NIs7JPsCmp6yDK8dGdjTNUfrwKH7VbHt7aIRVmagBj+PQu+789GQtjNDlH58baDEzI/JtGMwbAunIcICEnbkTR/RY8JHNjNwFQqfHY7juSZHS82/kJWd/5C8CdRCTZkFZJUBl+bmWkm/wDHnfyGSzkl8FmA== 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=z2HB/MExBK9aJRkBnlfZm6kByTGOrKgaklvnQSxSK7E=; b=FkQUhWxo8thVC+0007LCY3qeqe2nrSO/vf49vywl5CCLtaVsANHWUMm7CJeL1gpsUQt71exRm3rsDE+iSIBH78kSf53Svp/16BzPEtfvjB9M3qiosgCJNqEZZG6lYoh0Qq6g1ZMiwcKbt5yS4Y5qObyo4rYoUytXbWFQYLxNSx75jjXSTCRB91DkvLrCyCl3bq0br4fyWsMETo232DUgeiERhGSrw99sc9LYdh/R5yTDQCWiGz+nSgDthNGvUb5p0IPAHRPGqOL4nZOiiIEI8sPwbXEj0YsYaL2k8bVk+5d5SPJstFPh83V8f1/4x+0pWqccgY0sUZb6VDSgoqOkbw== 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 CH2PR10MB4181.namprd10.prod.outlook.com (2603:10b6:610:ac::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20; Wed, 30 Jun 2021 17:45:21 +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; Wed, 30 Jun 2021 17:45:21 +0000 From: Qing Zhao To: Andrew Pinski CC: Richard Biener , 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/al1a0SprcMo6IK5c6ssLX2AgABph4CAAAnjAIAAEdSAgAAbIACAAAcAgA== Date: Wed, 30 Jun 2021 17:45:21 +0000 Message-ID: References: <004A0552-4D2E-48F4-8474-5902E462D77B@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:852a:24f4:63d7:5896] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9e298bf4-9bc0-451c-543c-08d93beed56a x-ms-traffictypediagnostic: CH2PR10MB4181: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QNax+BwTjaEBpObrbrwUtWy358r8h2r+1OWZW8RxHyE3wU/Jm1Uk7dCEdu8uZ2eT9BKlb0005DkJUqKLIdqZahmnb48C9qr6HI50hzLkInHM9EXjiUUdrm5204LskoF/rRcSBnwdQNOS9uQnrjErPj5wCOrLZk0U33CftqOyRFq/AnRrO/HkOgDKjYCVDQnB7bvJw4sEJFI9xeB70l9VEhFjExVt17qwDp70pR3FaWlMAJBKpZLX5ByYNTQI8d8cEEaP/QhMeJjTwTN4sgotm5r3lucC32yfWzM66oAwLd7Z0PrB5hYZ9M3mA0ZWZtyO6iH3qo23nZgvVYTIfgVgmYIpNIEPgx9w4KYjftJ3G5EzvSIKitTB2QtvecsmEgmfWFHQBHw/TVVXqLNgiMH7PwT3MBW83LuiJZrS9lOeQUd9BnTMiyEYS7VhE39qPPVeEOcCYYKoJI6w6z7c6mpFm+vbwr6ChHOIo38suMiQmh3NaJFF7AIAbCzKUnYGk2SUW0TNB2i8QPpcmI2BLhqtZGADyFDXI/NClTdVWKoKr1VUmk7HQCNRrCrUX0aQLTijTgDY006lqUBcpHb3XGYlmFS16w5I8zT31Iv6MitOCjIJ3W2WwIcsYlfUaq/zawDHfP+x/qfM4Up3pOPtHvrzEPNCV1zlld0DmLMEDGocfg2UwK2BW+9eEmvg5tLwHGKEWsLGdpaLTi79H/97lZBFJzPrqEkWHt5JNZpCroApfBFAGQkPRANSNB+fKcR+ftMiDtXIVQ1wtK5quW99s51YlDTX1eVg/EXfUvJ54Z+8vjb0MuI32C2MWeDfNnKdjpGSvfWXTXsAxSvpt9EA0mprV2y+XXOYyT2d8qEEiC3SfvQ= 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:(396003)(39860400002)(376002)(136003)(346002)(366004)(64756008)(316002)(53546011)(66946007)(6506007)(86362001)(83380400001)(6486002)(66556008)(44832011)(66476007)(122000001)(6916009)(5660300002)(2906002)(76116006)(166002)(66446008)(36756003)(91956017)(33656002)(54906003)(71200400001)(8936002)(4326008)(2616005)(8676002)(38100700002)(478600001)(186003)(66574015)(6512007)(142923001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dHQ4bzdPSHl3MHRjUmtMQTZod09GRW9yOUVhN0daMUpBM3dyVjRoUy9rQTNL?= =?utf-8?B?dmdjRFZLVG96T1o1aUc5bm0yMUxZRTk3Ump3d2ZLano0ZjdIVlNsQ3d6U1Ez?= =?utf-8?B?K01RVHZjMERnTEZCN2ovZTlKNXJIRll1UGpPM3diKzVBZ25IYWhNZFJ3Mndw?= =?utf-8?B?TW5vNnh1dTVPSDFMeEc1ekh3b0UwTHFmTGxuUTRpSnBTZ2ZpUk01UkwyZy9x?= =?utf-8?B?cFhla2pMWURQZzNKeDhhNk5FL2QwLytnUGNWVTJiNnZESlNqRENkYjhBRWVr?= =?utf-8?B?M1NJeG1hcGlQOC9nV0VoL21UUlFQNkVrK1ZRUHZ3QWRwK05SOEUwSE92OUJP?= =?utf-8?B?eUZLZW8yTlJtS2k4RCtBS1AvQm9QWTZjWllEQXlQTkFERTZ6YXlkQ0NmL3Bj?= =?utf-8?B?WVYzUkRWMkFZbGJ1eEl1d1F3R3hQNEl5aldWM1dIQ1BnVStIT2xoRUlSSTRx?= =?utf-8?B?OVhJRmZhYmszS2c5MTJPRjd6ZmtxNkQrWUpkNGxDM2Y0MzlZNDRLK1NmUG9p?= =?utf-8?B?czI4MS91N0FBZ1FzN01iUTBUSmtTZVJ0VGxqTzAvVklKaEtXdS9OOU9Lc29I?= =?utf-8?B?T2hJZEFnbWlMUEN4Ym9TSGExc000aVdnR0FuNTE5UmdCTC9uTmp1SXNPamJp?= =?utf-8?B?OHFGY0tEMHp2cXpTaDlhNG5KclVrZTZDWkxpbDByOG91UjZxOTZRTUZsTzV2?= =?utf-8?B?cGZoZjdMUlY3dERaa25vSTlTcm1mUGRUYm83cTBnT0MyUlA3b0dwckxPRE1B?= =?utf-8?B?MDdPV2d1dTdPa2FLWkJ3SXRwSld6VUhmOWlyNmNzOTUxZGdkQm1RR3RRSDZk?= =?utf-8?B?cEg2MWpDV29EZjhKalBhOGVxOFNRQ2Iva0svdVJUQ2hoaVdSUVZMMHdPWXFu?= =?utf-8?B?UFlCbWIrd1lvZW5Fb28wcXlTT3RsenpvTGdOdmdma0FjNUJWZHY2R3FpMkZ6?= =?utf-8?B?M0E2ZXVZRVp5UXFmcWEyTVRWZHlJUXMvVENTNy9PbGdlZlZELzhaQzJuVU9F?= =?utf-8?B?SXBGSEpkQkpaV3NkS0pCWkN4NDNmVGlUSWRHL2NTTVBuVTJMY2F2YXFjVzFQ?= =?utf-8?B?bDNIaytsMlAveXNtdHMwVmRUTE5USkVJVWdzL2c5NnFLNC9DZ1lRYnU3TjlC?= =?utf-8?B?NG1tckR0OENwUkdWYndaZU80NTVOeC9oNXprSlE5bHVwdEhKTEFpd0M5aGwx?= =?utf-8?B?cUxwUlJlV2ZBQjBBVXNIb3BjT1BqYUZuUktwYlYreGhKNnQ4VktxTy92ZTQx?= =?utf-8?B?bXNDQzJUcE93OFU1UlNETkV3YndUaVhBZzdiSlRHS0JSWXlSN1Z0ZlFyUU9X?= =?utf-8?B?ZlN5UjdrWVUveWI5dE4vcW0wR1RnejBXRGEya21lMUx4emU1ODgvcFRETFl2?= =?utf-8?B?R2JKR3AvVkQ2UG8wOWNYNkpYSE5qZ3dFbW9TTllGRXFTYXZmalRwT0VyelRk?= =?utf-8?B?UXNEYjk3SDNhdmh3ZmpMbENQcEJ0QTFBSDlpRXdaYmllaFVVSzVRZHlaL1pm?= =?utf-8?B?eWRyZzd0U3k3V2pqV01Nc0V0S3ozc2tPRk1Od1NBdXR5Vk1kWHgwNTllVUVw?= =?utf-8?B?N0ptbG9UeHo5dlZ3TElSQmNPSmtZS3VFL1EvMURYSFB2d0VDQ1B2S0NxNkJk?= =?utf-8?B?VlNtdnpjYUVQMWRjUkpWRWV0anBEWUlJQlpGaktQZTg5UGJFSHpLbjRPNFcz?= =?utf-8?B?eTREMDUwVjVIdmNWSWhuZHNKb2szbHh1WlViVGNDbDhSWXUzSkNSU1RRNlIx?= =?utf-8?B?czNMR3VpZTJMMWR4Q29DRko1SzhqZXFtY2d0RkcyV1kwTWc4M3VMYks3eTVH?= =?utf-8?B?Vkl5U3NMMzZ5aXpEdlVKZUZhRHROYkZFdGZ0RWdwNW96dDM1Qlh3TkZwSnQz?= =?utf-8?Q?pDTkJht9lBhaD?= x-ms-exchange-transport-forked: True 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: 9e298bf4-9bc0-451c-543c-08d93beed56a X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2021 17:45:21.7629 (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: FEVd4DdqWZY1k/5ZJri24DlVrQHUlQutMfg+1y2+wMMxMRHuij7cFODMHNSbUJVReIusKZc5wVxTuKVWqtFNOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4181 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10031 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 mlxlogscore=999 phishscore=0 spamscore=0 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106300097 X-Proofpoint-GUID: s-vbyjiQOog_kPWXUyI31pxJg8ZIbofr X-Proofpoint-ORIG-GUID: s-vbyjiQOog_kPWXUyI31pxJg8ZIbofr X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, KAM_SHORT, PLING_QUERY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: Wed, 30 Jun 2021 17:45:30 -0000 DQpIaSwgQW5kcmV3LA0KDQpUaGFua3MgYSBsb3QgZm9yIHlvdXIgZXhwbGFuYXRpb24uDQoNCk9u IEp1biAzMCwgMjAyMSwgYXQgMTI6MjAgUE0sIEFuZHJldyBQaW5za2kgPHBpbnNraWFAZ21haWwu Y29tPG1haWx0bzpwaW5za2lhQGdtYWlsLmNvbT4+IHdyb3RlOg0KDQpPbiBXZWQsIEp1biAzMCwg MjAyMSBhdCA4OjQ3IEFNIFFpbmcgWmhhbyB2aWEgR2NjLXBhdGNoZXMNCjxnY2MtcGF0Y2hlc0Bn Y2MuZ251Lm9yZzxtYWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+PiB3cm90ZToNCg0KSSBj YW1lIHVwIHdpdGggYSB2ZXJ5IHNpbXBsZSB0ZXN0aW5nIGNhc2UgdGhhdCBjYW4gcmVwZWF0IHRo ZSBzYW1lIGlzc3VlOg0KDQpbcWluemhhb0Bsb2NhbGhvc3QgZ2NjXSQgY2F0IHQuYw0KZXh0ZXJu IHZvaWQgYmFyIChpbnQpOw0Kdm9pZCBmb28gKGludCBhKQ0Kew0KIGludCBpOw0KIGZvciAoaSA9 IDA7IGkgPCBhOyBpKyspIHsNCiAgIGlmIChfX2V4dGVuc2lvbl9fKHtpbnQgc2l6ZTI7DQogICAg ICAgc2l6ZTIgPSA0Ow0KICAgICAgIHNpemUyID4gNTt9KSkNCiAgIGJhciAoYSk7DQogfQ0KfQ0K DQpZb3Ugc2hvdWxkIHNob3cgdGhlIGZ1bGwgZHVtcCwNCg0KRm9yIHRoZSBhYm92ZSBzbWFsbCB0 ZXN0aW5nIGNhc2U6DQoNCioqKioqVGhlIGZ1bGwgZHVtcCBvZiDigJxnaW1wbGXigJ0gcGhhc2Ug aXM6DQoNCnZvaWQgZm9vIChpbnQgYSkNCnsNCiAgaW50IEQuMjI0MDsNCiAgaW50IGk7DQoNCiAg aSA9IC5ERUZFUlJFRF9JTklUIChpLCAyKTsNCiAgaSA9IDA7DQogIGdvdG8gPEQuMjI0ND47DQog IDxELjIyNDM+Og0KICB7DQogICAgaW50IHNpemUyOw0KDQogICAgc2l6ZTIgPSAuREVGRVJSRURf SU5JVCAoc2l6ZTIsIDIpOw0KICAgIHNpemUyID0gNDsNCiAgICBfMSA9IHNpemUyID4gNTsNCiAg ICBELjIyNDAgPSAoaW50KSBfMTsNCiAgfQ0KICBpZiAoRC4yMjQwICE9IDApIGdvdG8gPEQuMjI0 Nj47IGVsc2UgZ290byA8RC4yMjQ3PjsNCiAgPEQuMjI0Nj46DQogIGJhciAoYSk7DQogIDxELjIy NDc+Og0KICBpID0gaSArIDE7DQogIDxELjIyNDQ+Og0KICBpZiAoaSA8IGEpIGdvdG8gPEQuMjI0 Mz47IGVsc2UgZ290byA8RC4yMjQxPjsNCiAgPEQuMjI0MT46DQp9DQoNCioqKioqVGhlIGZ1bGwg ZHVtcCBvZiDigJxzc2HigJ0gcGhhc2UgaXM6DQoNCg0KOzsgRnVuY3Rpb24gZm9vIChmb28sIGZ1 bmNkZWZfbm89MCwgZGVjbF91aWQ9MjIzNiwgY2dyYXBoX3VpZD0xLCBzeW1ib2xfb3JkZXI9MCkN Cg0Kdm9pZCBmb28gKGludCBhKQ0Kew0KICBpbnQgc2l6ZTI7DQogIGludCBpOw0KICBfQm9vbCBf MTsNCiAgaW50IF8xNDsNCg0KICA8YmIgMj4gOg0KICBpXzcgPSAuREVGRVJSRURfSU5JVCAoaV82 KEQpLCAyKTsNCiAgaV84ID0gMDsNCiAgZ290byA8YmIgNj47IFtJTlZdDQoNCiAgPGJiIDM+IDoN CiAgc2l6ZTJfMTIgPSAuREVGRVJSRURfSU5JVCAoc2l6ZTJfMywgMik7DQogIHNpemUyXzEzID0g NDsNCiAgXzEgPSBzaXplMl8xMyA+IDU7DQogIF8xNCA9IChpbnQpIF8xOw0KICBpZiAoXzE0ICE9 IDApDQogICAgZ290byA8YmIgND47IFtJTlZdDQogIGVsc2UNCiAgICBnb3RvIDxiYiA1PjsgW0lO Vl0NCg0KICA8YmIgND4gOg0KICBiYXIgKGFfMTEoRCkpOw0KDQogIDxiYiA1PiA6DQogIGlfMTYg PSBpXzIgKyAxOw0KDQogIDxiYiA2PiA6DQogICMgaV8yID0gUEhJIDxpXzgoMiksIGlfMTYoNSk+ DQogICMgc2l6ZTJfMyA9IFBISSA8c2l6ZTJfOShEKSgyKSwgc2l6ZTJfMTMoNSk+DQogIGlmIChp XzIgPCBhXzExKEQpKQ0KICAgIGdvdG8gPGJiIDM+OyBbSU5WXQ0KICBlbHNlDQogICAgZ290byA8 YmIgNz47IFtJTlZdDQoNCiAgPGJiIDc+IDoNCiAgcmV0dXJuOw0KDQp9DQoNCg0KKioqKioqVGhl IGZ1bGwgZHVtcCBvZiB0aGUg4oCcY2NwMeKAnSBwaGFzZSBpczoNCg0KDQo7OyBGdW5jdGlvbiBm b28gKGZvbywgZnVuY2RlZl9ubz0wLCBkZWNsX3VpZD0yMjM2LCBjZ3JhcGhfdWlkPTEsIHN5bWJv bF9vcmRlcj0wKQ0KDQpGb2xkaW5nIHByZWRpY2F0ZSAwICE9IDAgdG8gMA0KUmVtb3ZpbmcgYmFz aWMgYmxvY2sgNA0KTWVyZ2luZyBibG9ja3MgMyBhbmQgNQ0KDQoNCg0KRU1FUkdFTkNZIERVTVA6 DQoNCnZvaWQgZm9vIChpbnQgYSkNCnsNCiAgaW50IHNpemUyOw0KICBpbnQgaTsNCg0KICA8YmIg Mj4gOg0KICBpXzcgPSAuREVGRVJSRURfSU5JVCAoaV82KEQpLCAyKTsNCiAgZ290byA8YmIgND47 IFtJTlZdDQoNCiAgPGJiIDM+IDoNCiAgc2l6ZTJfMTIgPSAuREVGRVJSRURfSU5JVCAoNCwgMik7 DQogIGlfMTYgPSBpXzIgKyAxOw0KDQogIDxiYiA0PiA6DQogICMgaV8yID0gUEhJIDwwKDIpLCBp XzE2KDMpPg0KICBpZiAoaV8yIDwgYV8xMShEKSkNCiAgICBnb3RvIDxiYiAzPjsgW0lOVl0NCiAg ZWxzZQ0KICAgIGdvdG8gPGJiIDU+OyBbSU5WXQ0KDQogIDxiYiA1PiA6DQogIHJldHVybjsNCg0K fQ0KDQoNCg0KV2hhdCB3ZSBoYXZlIGlzIHRoZSBmb2xsb3dpbmc6DQoNCnNpemUyXzMgPSBQSEkg PHNpemUyXzEoRCksIHNpemUyXzEzPg0KICA8YmIgMz4gOg0KDQpzaXplMl8xMiA9IC5ERUZFUlJF RF9JTklUIChzaXplMl8zLCAyKTsNCnNpemUyXzEzID0gNDsNCg0KU28gQ0NQIGRlY2lkZXMgdG8g cHJvcGFnYXRlIDQgaW50byB0aGUgUEhJIGFuZCB0aGVuIGRlY2lkZXMgc2l6ZTJfMShEKQ0KaXMg dW5kZWZpbmVkIHNvIHNpemUyXzMgaXMgdGhlbiBjb25zaWRlcmVkIDQgYW5kIHByb3BhZ2F0ZXMg aXQgaW50bw0KdGhlIC5ERUZFUlJFRF9JTklULg0KDQpPa2F5LCBub3cgSSB1bmRlcnN0YW5kLg0K DQpTbywgYm90aCBTU0EgYW5kIENDUCBkbyBjb3JyZWN0bHk/DQoNCklzIHRoZXJlIHNpbXBsZSBz b2x1dGlvbiB0byBhdm9pZCBDQ1AgZnJvbSBwcm9wYWdhdGluZyA0IGludG8gLkRFRkVSUkVEX0lO SVQ/DQoNCnRoYW5rcy4NCg0KUWluZw0KDQpUaGFua3MsDQpBbmRyZXcNCg0KDQoNCltxaW56aGFv QGxvY2FsaG9zdCBnY2NdJCAvaG9tZS9xaW56aGFvL1dvcmsvR0NDL2djY19idWlsZF9kZWJ1Zy9n Y2MveGdjYyAtQi9ob21lL3FpbnpoYW8vV29yay9HQ0MvZ2NjX2J1aWxkX2RlYnVnL2djYy8gLXN0 ZD1jOTkgICAtbTY0ICAtbWFyY2g9bmF0aXZlIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8g dC5jIC1mZHVtcC10cmVlLWFsbCAgLU8xDQp0LmM6IEluIGZ1bmN0aW9uIOKAmGZvb+KAmToNCnQu YzoxMToxOiBlcnJvcjog4oCYREVGRkVSRURfSU5JVOKAmSBjYWxscyBzaG91bGQgaGF2ZSB0aGUg c2FtZSBMSFMgYXMgdGhlIGZpcnN0IGFyZ3VtZW50DQogIDExIHwgfQ0KICAgICB8IF4NCnNpemUy XzEyID0gLkRFRkVSUkVEX0lOSVQgKDQsIDIpOw0KZHVyaW5nIEdJTVBMRSBwYXNzOiBjY3ANCmR1 bXAgZmlsZTogYS10LmMuMDMydC5jY3AxDQp0LmM6MTE6MTogaW50ZXJuYWwgY29tcGlsZXIgZXJy b3I6IHZlcmlmeV9naW1wbGUgZmFpbGVkDQoweDE0M2VlNDcgdmVyaWZ5X2dpbXBsZV9pbl9jZmco ZnVuY3Rpb24qLCBib29sKQ0KICAgICAgIC4uLy4uL2xhdGVzdF9nY2MvZ2NjL3RyZWUtY2ZnLmM6 NTUwMQ0KMHgxMjJkNzk5IGV4ZWN1dGVfZnVuY3Rpb25fdG9kbw0KICAgICAgIC4uLy4uL2xhdGVz dF9nY2MvZ2NjL3Bhc3Nlcy5jOjIwNDINCjB4MTIyYzc0YiBkb19wZXJfZnVuY3Rpb24NCiAgICAg ICAuLi8uLi9sYXRlc3RfZ2NjL2djYy9wYXNzZXMuYzoxNjg3DQoweDEyMmQ5ODYgZXhlY3V0ZV90 b2RvDQogICAgICAgLi4vLi4vbGF0ZXN0X2djYy9nY2MvcGFzc2VzLmM6MjA5Ng0KUGxlYXNlIHN1 Ym1pdCBhIGZ1bGwgYnVnIHJlcG9ydCwNCndpdGggcHJlcHJvY2Vzc2VkIHNvdXJjZSBpZiBhcHBy b3ByaWF0ZS4NClBsZWFzZSBpbmNsdWRlIHRoZSBjb21wbGV0ZSBiYWNrdHJhY2Ugd2l0aCBhbnkg YnVnIHJlcG9ydC4NClNlZSA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWdzLz4gZm9yIGluc3RydWN0 aW9ucy4NCg0KSW4gdGhpcyB0ZXN0aW5nIGNhc2UsIGJvdGgg4oCcSeKAnSBhbmQg4oCcc2l6ZTLi gJ0gYXJlIGF1dG8gdmFycyB0aGF0IGFyZSBub3QgaW5pdGlhbGl6ZWQgYXQgZGVjbGFyYXRpb24g YnV0IGFyZSBpbml0aWFsaXplZCBsYXRlciBieSBhc3NpZ25tZW50Lg0KSG93ZXZlciwg4oCcSeKA nSBkb2VzbuKAmXQgaGF2ZSBhbnkgaXNzdWUsIGJ1dCDigJxzaXplMuKAnSBoYXMgc3VjaCBpc3N1 ZS4NCg0KKioqKioq4oCcc3Nh4oCdIGR1bXA6DQoNCiA8YmIgMj4gOg0KIGlfNyA9IC5ERUZFUlJF RF9JTklUIChpXzYoRCksIDIpOw0KIGlfOCA9IDA7DQogZ290byA8YmIgNj47IFtJTlZdDQoNCiA8 YmIgMz4gOg0KIHNpemUyXzEyID0gLkRFRkVSUkVEX0lOSVQgKHNpemUyXzMsIDIpOw0KIHNpemUy XzEzID0gNDsNCg0KKioqKioq4oCdY2NwMeKAnSBkdW1wOg0KDQogPGJiIDI+IDoNCiBpXzcgPSAu REVGRVJSRURfSU5JVCAoaV82KEQpLCAyKTsNCiBnb3RvIDxiYiA0PjsgW0lOVl0NCg0KIDxiYiAz PiA6DQogc2l6ZTJfMTIgPSAuREVGRVJSRURfSU5JVCAoNCwgMik7DQoNClNvLCBJIGFtIHdvbmRl cmluZzogIElzIGl0IHBvc3NpYmxlIHRoYXQg4oCcc3Nh4oCdIHBoYXNlIGhhdmUgYSBidWcgPw0K DQpRaW5nDQoNCk9uIEp1biAzMCwgMjAyMSwgYXQgOTozOSBBTSwgUmljaGFyZCBCaWVuZXIgPHJn dWVudGhlckBzdXNlLmRlPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4+IHdyb3RlOg0KDQpPbiBX ZWQsIDMwIEp1biAyMDIxLCBRaW5nIFpoYW8gd3JvdGU6DQoNCg0KDQpPbiBKdW4gMzAsIDIwMjEs IGF0IDI6NDYgQU0sIFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZTxtYWlsdG86cmd1 ZW50aGVyQHN1c2UuZGU+PG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4+IHdyb3RlOg0KDQpPbiBX ZWQsIDMwIEp1biAyMDIxLCBRaW5nIFpoYW8gd3JvdGU6DQoNCkhpLA0KDQpJIGFtIHRlc3Rpbmcg dGhlIDR0aCBwYXRjaCBvZiAtZnRyaXZpYWwtYXV0by12YXItaW5pdCB3aXRoIENQVTIwMTcgdG9k YXksIGFuZCBmb3VuZCB0aGUgZm9sbG93aW5nIGlzc3VlczoNCg0KKioqKkluIHRoZSBkdW1wIGZp bGUgb2Yg4oCcKnQuaS4wMzF0Lm9ianN6MeKAnSwgd2UgaGF2ZToNCg0KPGJiIDM+IDoNCl9fczFf bGVuXzIxNyA9IC5ERUZFUlJFRF9JTklUIChfX3MxX2xlbl8xNzYsIDIpOw0KX19zMl9sZW5fMjE4 ID0gLkRFRkVSUkVEX0lOSVQgKF9fczJfbGVuXzE3NywgMik7DQoNCkkgbG9va3MgbGlrZSB0aGlz IC5ERUZFUlJFRF9JTklUIGluaXRpYWxpemVzIGFuIGFscmVhZHkgaW5pdGlhbGl6ZWQNCnZhcmlh YmxlLg0KDQpZZXMuDQoNCkZvciBjYXNlcyBsaWtlIHRoZSBmb2xsb3dpbmc6DQoNCmludCBzMl9s ZW47DQpzMl9sZW4gPSA0Ow0KDQppLmUsIHRoZSBpbml0aWFsaXphdGlvbiBpcyBub3QgYXQgdGhl IGRlY2xhcmF0aW9uLg0KDQpXZSBjYW5ub3QgYXZvaWQgaW5pdGlhbGl6YXRpb24gZm9yIHN1Y2gg Y2FzZXMuDQoNCkJ1dCBJJ2QgaGF2ZSBleHBlY3RlZA0KDQpzMl9sZW4gPSAuREVGRVJSRURfSU5J VCAoczJfbGVuLCAwKTsNCnMyX2xlbiA9IDQ7DQoNCmZyb20gdGhlIGFib3ZlIC0gdGh1cyB0aGUg ZGVmZXJyZWQgaW5pdCBfYmVmb3JlXyB0aGUgZmlyc3QNCiJ1c2UiIHdoaWNoIGlzIHRoZSBleHBs aWNpdCBpbml0LiAgSG93IGRvZXMgdGhlIG90aGVyIG9yZGVyDQpoYXBwZW4gdG8gbWF0ZXJpYWxp emU/ICBBcyBzYWlkLCBJIGJlbGlldmUgaXQgc2hvdWxkbid0Lg0KDQpJJ2QgZXhwZWN0IHRvIG9u bHkgZXZlciBzZWUgZGVmYXVsdCBkZWZpbml0aW9uIFNTQSBuYW1lcw0KYXMgZmlyc3QgYXJndW1l bnQgdG8gLkRFRkVSUkVEX0lOSVQuDQoNCllvdSBtZWFuIHNvbWV0aGluZyBsaWtlOg0KX19zMl9s ZW5fMjE4ID0gLkRFRkVSUkVEX0lOSVQgKF9fczJfbGVuLCAyKTsNCg0KTm8sDQoNCl9fczJfbGVu XzIxOCA9IC5ERUZFUlJFRF9JTklUIChfX3MyX2xlbl8yMTcoRCksIDIpOw0KDQo/DQoNCg0KX19z Ml9sZW5fMjE5ID0gNzsNCmlmIChfX3MyX2xlbl8yMTkgPD0gMykNCiBnb3RvIDxiYiA0PjsgW0lO Vl0NCmVsc2UNCiBnb3RvIDxiYiA5PjsgW0lOVl0NCg0KPGJiIDQ+IDoNCl8xID0gKGxvbmcgdW5z aWduZWQgaW50KSBpXzE3NTsNCg0KDQoqKioqSG93ZXZlciwgYWZ0ZXIg4oCcY2Nw4oCdLCBpbiDi gJx0LmkuMDMydC5jY3Ax4oCdLCB3ZSBoYXZlOg0KDQo8YmIgMz4gOg0KX19zMV9sZW5fMjE3ID0g LkRFRkVSUkVEX0lOSVQgKF9fczFfbGVuXzE3NiwgMik7DQpfX3MyX2xlbl8yMTggPSAuREVGRVJS RURfSU5JVCAoNywgMik7DQpfMzYgPSAobG9uZyB1bnNpZ25lZCBpbnQpIGlfMTc1Ow0KXzM3ID0g XzM2ICogODsNCl8zOCA9IGFyZ3ZfMjIwKEQpICsgXzM3Ow0KDQoNCkxvb2tzIGxpa2UgdGhhdCB0 aGUgb3B0aW1pemF0aW9uIOKAnGNjcOKAnSByZXBsYWNlZCB0aGUgZmlyc3QgYXJndW1lbnQgb2Yg dGhlIGNhbGwgLkRFRkVSUkVEX0lOSVQgd2l0aCB0aGUgY29uc3RhbnQgNy4NClRoaXMgc2hvdWxk IGJlIGF2b2lkZWQuDQoNCihOT1RFLCB0aGlzIGlzc3VlIGV4aXN0ZWQgaW4gdGhlIHByZXZpb3Vz IHBhdGNoZXMsIGhvd2V2ZXIsIG9ubHkgZXhwb3NlZCB3aXRoIHRoaXMgdmVyc2lvbiBzaW5jZSBJ IGFkZGVkIG1vcmUgdmVyaWZpY2F0aW9uDQpjb2RlIGluIHRyZWUtY2ZnLmMgdG8gdmVyaWZ5IHRo ZSBjYWxsIHRvIC5ERUZFUlJFRF9JTklUKS4NCg0KSSBhbSB3b25kZXJpbmcgd2hhdOKAmXMgdGhl IGJlc3Qgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtPw0KDQpJIHRoaW5rIHlvdSBoYXZlIHRvIHRy YWNlIHdoZXJlIHRoaXMgImJvZ3VzIiAuREVGRVJSRURfSU5JVCBjb21lcyBmcm9tDQpvcmlnaW5h bGx5LiAgT3IgYWx0ZXJuYXRpdmVseSwgaWYgdGhpcyBpcyB1bmF2b2lkYWJsZSwNCg0KVGhpcyBp cyB1bmF2b2lkYWJsZSwgSSBiZWxpZXZlLg0KDQpJIHNlZSBidXQgZG9uJ3QgYmVsaWV2ZSBpdCB5 ZXQgOykNCg0KYWRkICJjb25zdGFudA0KZm9sZGluZyIgb2YgLkRFRkVSUkVEX0lOSVQgc28gdGhh dCBkZWZlcmVkIGluaXQgb2YgYW4gaW5pdGlhbGl6ZWQNCm9iamVjdCBiZWNvbWVzIHRoZSBvYmpl Y3QgaXRzZWxmLCB0aHVzIHJldGFpbiB0aGUgcHJldmlvdXMgLSBldmVudHVhbGx5DQpwYXJ0aWFs IC0gaW5pdGlhbGl6YXRpb24gb25seS4NCg0KSWYgdGhpcyBhZGRpdGlvbmFsIC5ERUZFUlJFRF9J TklUIHdpbGwgYmUga2VwdCB0aWxsIFJUTCBleHBhbnNpb24gcGhhc2UsIHRoZW4gaXQgd2lsbCBi ZWNvbWUgYSByZWFsIGluaXRpYWxpemF0aW9uOg0KDQppLmUuDQoNCnMyX2xlbiA9IDA7ICAgIC8v LkRFRkVSUkVEX0lOSVQgZXhwYW5kZWQNCnMyX2xlbiA9IDQ7ICAgIC8vIHRoZSBvcmlnaW5hbCBp bml0aWFsaXphdGlvbg0KDQpUaGVuIHRoZSBmaXJzdCBpbml0aWFsaXphdGlvbiB3aWxsIGJlIGVs aW1pbmF0ZWQgYnkgY3VycmVudCBSVEwgb3B0aW1pemF0aW9uIGVhc2lseSwgcmlnaHQ/DQoNCldl bGwsIGluIHlvdXIgZXhhbXBsZSBhYm92ZSBpdCdzIGVmZmVjdGl2ZWx5IGVsaW1pYXRlZCBieSBH SU1QTEUNCm9wdGltaXphdGlvbi4gIElJUkMgeW91J3JlIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVu dCBvZiAuREVGRVJSRURfSU5JVA0KZm9yIGRpYWdub3N0aWMgcHVycG9zZXMgb25seSwgY29ycmVj dD8NCg0KUmljaGFyZC4NCg0KUWluZw0KDQoNClJpY2hhcmQuDQoNCkNhbiB3ZSBhZGQgYW55IGF0 dHJpYnV0ZSB0byB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gYXJndW1lbnQgdG8gcHJldmVudCBsYXRl ciBvcHRpbWl6YXRpb25zIHRoYXQgbWlnaHQgYXBwbGllZCBvbiBpdD8NCk9yIGp1c3QgdXBkYXRl IOKAnGNjcOKAnSBwaGFzZSB0byBzcGVjaWFsbHkgaGFuZGxlIGNhbGxzIHRvIC5ERUZFUlJFRF9J TklUPyAoTm90IHN1cmUgd2hldGhlciB0aGVyZSBhcmUgb3RoZXIgcGhhc2VzIGhhdmUgdGhlDQpT YW1lIGlzc3VlPykNCg0KTGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IHN1Z2dlc3Rpb24uDQoN ClRoYW5rcyBhIGxvdCBmb3IgeW91ciBoZWxwLg0KDQpRaW5nDQoNCi0tDQpSaWNoYXJkIEJpZW5l ciA8cmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPjxtYWlsdG86cmd1 ZW50aGVyQHN1c2UuZGU+Pg0KU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJILCBN YXhmZWxkc3RyYXNzZSA1LCA5MDQwOSBOdWVybmJlcmcsDQpHZXJtYW55OyBHRjogRmVsaXggSW1l bmTDtnJmZmVyOyBIUkIgMzY4MDkgKEFHIE51ZXJuYmVyZykNCg0KDQoNCi0tDQpSaWNoYXJkIEJp ZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPj4NClNVU0Ug U29mdHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwgTWF4ZmVsZHN0cmFzc2UgNSwgOTA0MDkg TnVlcm5iZXJnLA0KR2VybWFueTsgR0Y6IEZlbGl4IEltZW5kw7ZyZmZlcjsgSFJCIDM2ODA5IChB RyBOdWVybmJlcmcpDQoNCg==