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 BE3EA383B839 for ; Wed, 30 Jun 2021 19:04:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BE3EA383B839 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15UIpgcl029015; Wed, 30 Jun 2021 19:04:19 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 39gha49sa2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 30 Jun 2021 19:04:19 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 15UJ1juw107754; Wed, 30 Jun 2021 19:04:18 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168]) by userp3030.oracle.com with ESMTP id 39dsc217hv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 30 Jun 2021 19:04:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=odISc7alRriDlulk2ZoCofkwYFzt4j5iXHnNq4wmJbyw4+UuJwxBGYyBND/AqYX0o13lETN6r8LNycZA1H6549zGkuqJOiQmDZz3LxlAiAMYSHJhTVdha301rjCxyEp2Ythg04scXr0ei5CcrazwBUdTtIOwIgv9NomZV7gm5fvTLL/Bowgbo3Hd1sQNHSb3tdYnbJW+22KdAoXu3d+Tknc0oyUP99SiHt0DIIQOuPsqT5vzOxLfkIarjsz8GYVzJ8XSNcxRshzTGPPzMIzqTaM+C/wEnXUPGngOzyBl6pr7MAi/8EZlzq+9DXhytm0RQQewFYrJ2fnUW6FJS0yH4Q== 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=qVV+8rrxV5RSCtGhWfrz54hP58HNk1kUTlgeENgKYH8=; b=fxOrrk8zPEvzmKXN0xN6qdi2SjXPcBU8fOLQLEPP/64HaP3FvIs2Mb4+X3fvIPn8zHXYkkF3MtSQmJ6Mngz468MlIXJYG//8n7m73LBTg/Zv1efKWIeSHvRowmBxfL3N2IxvA0TCWwPY04oj7PE69+CV15tRhbRqjtSVs+89XUjGPKv1utrZ4sfS9BMXMPONrhGyhk4bphmAeoK0hKCLA0oBuANF4g/WKHbrmfGmelzpPmZojthPZkZHcwPeiDUUkFLevqXNz4PoEgF93ZZUwQNoAzMs5JbXONUni7bStfwR0D6R3eN1hUiOTE6ySSPvp8e7TlfEy+Ua2KScTeuTIg== 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 CH0PR10MB5322.namprd10.prod.outlook.com (2603:10b6:610:c1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18; Wed, 30 Jun 2021 19:04:15 +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 19:04:15 +0000 From: Qing Zhao To: Richard Biener , Andrew Pinski 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+gIAACMAAgAAPzAA= Date: Wed, 30 Jun 2021 19:04:15 +0000 Message-ID: References: <004A0552-4D2E-48F4-8474-5902E462D77B@oracle.com> <495DF61E-8E9A-4A0F-A6FC-AD470B7EDADA@suse.de> 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: c0248440-9b0c-489a-406f-08d93bf9dac7 x-ms-traffictypediagnostic: CH0PR10MB5322: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: s5yb/JXECBczs3SszBwnvXKCCyngctvCli0LkPM5TXm7WpZohl2uKuT+kT1JAWnhzqpi3mXU1XMhYux6A14eRhLzWpthCojObyas3mtVDO1KoO6liFTHV8QFZgXm6OoaQ7+iiUGIqzm/IGhMOuzyS60YmCbCcY3BHrpYtJi0Gz9O08eMvJvp+kKpQTBbrkf86NXbAYn7xjoaXVResB2JmUHW+lMwJ/VlpT+XSBnL/X+CECxvAQsHaRkqYDp74/ur+mIsWqxCbA6QcVgx7VQaO6eUqM5KEvYqWdRf+svP+qWIgZNTK4frcICZHfT7h2J2YHyjChtxt2mlFKYqp1RuCI5W5CJKyMqKnaxRGqzaIuYmunO0jhdQfH1FaoRvWQbQnnY0bx6D+pZ9Wz2W4H0E0kxnHYp79GFXeNTQkngfkRF6XfT/5Jqi4yxfWzib8SlyUWBA6khK0kOV5uE6912wVdr6rFlxJewLCTcQjEEOkDryPWgxh8fJ/e7M22pCnxZKHpexf+4U4Rv5m/NEgOK/F+jdEnvr5plzLNneaHFcgnFGYrEsETPMAXQELWkP74RY/D09CUN0jdRYtNKX0RlHCrAkZacbhkrW9CZXoB3+ZmqhAl7BakQYETGV6F0rKMQR0iDZka8wIeAJimxv/V/izE7UscSIw5Hv5XRKPb2oFZbKt3MLY/2TL+KTxWmhuuCJMAAd9tJKSWN1dSXTZoZsGM030PTGVOqueNwazk90JX5ziDT571ifaYOlQNx2pfrCvIEt/7Onyzd3lOQubIfBfWdMeBTvt/gVzyhr28meMhuv0Y5jBT3yNy3Dk7BDodUy83rFj4MlXsyQlySVLJ46RHaWgfI1DlxxqEHe0mdLU88= 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)(376002)(396003)(39860400002)(86362001)(33656002)(110136005)(54906003)(316002)(66476007)(6512007)(5660300002)(2906002)(4326008)(66946007)(478600001)(6506007)(64756008)(66556008)(53546011)(66446008)(91956017)(76116006)(6486002)(122000001)(186003)(166002)(44832011)(8676002)(83380400001)(2616005)(8936002)(66574015)(36756003)(71200400001)(38100700002)(142923001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cFdKQjF1cGc2c2hEbC8xRDcyWnhPdWV1YjJIOTliRzlnQndpNnkvS1FqK3dO?= =?utf-8?B?b0dGcGVZc1FOT1ltb05ZcWUwZC9sQXhRVmwyclpNVDBSUmlUR1l1TVdJeDZU?= =?utf-8?B?QXJPRTBFUzZXK0Y4V3FEVjRoUmdFU042U0RoVUFQRjJIMUh1cTBlV3pnMGV3?= =?utf-8?B?aDRWeUl1QzV3a0hjV09RbmkvZVBnS0h3dytRdVBCRFFoS1VEVStMYlY4NTVH?= =?utf-8?B?d0pYSHdJTUwyTjhEeDN0aVUzZGdwc3hwSHU3dFdLaFkwWTdpVXk4TEcya3VO?= =?utf-8?B?NTAyY0ovK2VzbndaM2hJQTRDb0hOdmxCMDJ3UFJqSUVKeC9jaGJHS2xGMEhl?= =?utf-8?B?VXhhQXZVMlJVZytNcTdMV2hLaTh2OFBFeHM4U1plb3lVU2hydG9jRzA0anFa?= =?utf-8?B?eUZTSnZwaEV4S2JwYlVnNXk5aGR3WkJRMmlaaEU5bnIyTzBWN2xOdXlvTjNI?= =?utf-8?B?SytwTUVaaUtvL1htdmtZcHhldno0Nms5anpOQ2hWZUczN1h6eVJFazlicS9I?= =?utf-8?B?UEplRnhPRmJKL3FMT0Q5TjlQRG0zQ3A0TnVZYkMzVVZRcWROWmpSeXgra3Zz?= =?utf-8?B?b1FySEluVDVCNTJQeEp0b1g2cmxsbzZPRzBGd2tPMkNsNHBIdDZRYTlGendJ?= =?utf-8?B?b245ZDl1a0NOOHNIOVdtbWxpbW1MUUZucUJqZ1YveGw1UjB4WGVKTEVUTmVV?= =?utf-8?B?eGkzalJhaVpNR2pabmhzR1VQYTR6clAzMUlhYjIybnVDeE5zbVErbnNGaGdX?= =?utf-8?B?YUdvZWx5TkZucDljWFg4WW12TlBiN2dlVGk5aTBKRzFUMUlDYTBMRy9wbUFB?= =?utf-8?B?czlQTDdyNDl0eHlubm8ramhrOUpiMFdtV2x0MUNSWmllOVBEM0xSUHU3cUVB?= =?utf-8?B?enp3K0VWVGFYdG1JKytKMFFQUzRIUE9yb3JVOGlIT3JWOU5Pd2xScUpQQjRM?= =?utf-8?B?Q2d0SC8vcHEvZnpKMWpLeW1DVDVzeDFkQlNOcHAzOFpUMG5kam9Zb0w4RGtw?= =?utf-8?B?UUdBbWdIWDZRelhYSk5qdklqVXd5MEZPZUZremhqL2M3eG9uVjFyMlJCbGxx?= =?utf-8?B?YTZZMmJDUXJ3eWlSLzZGOGhISUd0azErbXpvT0twa1JqMis5cnBWVHloRXkz?= =?utf-8?B?WStRczBscXVPYTBBc01lQUpzaERWcGpuSHZxeHF1cDJSY2Nzdi9qQi9uZHA1?= =?utf-8?B?TGt0ZDhtdWZEbEdxUWlhVDd4eU5MUFR4bGZVazVJSmtDVmh5Q1pGSUg4L0h4?= =?utf-8?B?bXJsclQ4aDlPNkJFUmhxWlF1ZExTdDh1MFVya25ONUVNZnNvempQaVNhYUgz?= =?utf-8?B?ek9sV1I3ZmhON0pnaTJxbSt4QitlNFVReHBBS1VXcVZGTGVVOFRVVkFQZnEw?= =?utf-8?B?bUo5dXNDVmwwZTM5M1RoMUludmgzaW1uNjlMK3E3Z3RFdXhBZ01tYmRYZW5a?= =?utf-8?B?YzVCMGQ2Z1gvcGlVR0R2TGpZamdFZm1pajBtYnR6bkR5bW9pOHNwK3BPWUtP?= =?utf-8?B?MEJ3ZmVLTkRtL1djOHZPNW85YUsyc0tJOEJya0VZR0UwM052VjdTeVZZN0Zr?= =?utf-8?B?WmdtdmNMajFJVitTV1dGL0QvNTBBN2ZqUjl3dE8vQ1lRSUxSU0NMQ1hVektx?= =?utf-8?B?aEQ2K0Q2NWVuSkRiakZ2Wjc4SWpldS9LWWEvcmQ5bjhVZnlybDdyTDRGYTZx?= =?utf-8?B?ZlRVVXFqRms0WWdyNU9BS1VpVE1QZ0RqVUhTa05YM0pTaXFQaE8xdnh5Z0lj?= =?utf-8?B?VWRBMDlxNFViMkV0U0J0Y3gyWThiNmkyamVDWDUzdEtEY0ROU2FRTGVLakov?= =?utf-8?B?YWR1TzZQcXB4UHhzLzBwd0MzN2FGWmkzanoxbWx0aEY5ZVEzdHRtblE3cXRU?= =?utf-8?Q?a9ajOO08oFeFU?= 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: c0248440-9b0c-489a-406f-08d93bf9dac7 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2021 19:04:15.1479 (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: rebM1nHdX7HRpb7O83WLaOwX9uOCTxK6NEzkxP36ZhWwEE6PaSI7opz2UHYaXDVUdELgmcruHSaurQrojuiiCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5322 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10031 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106300106 X-Proofpoint-ORIG-GUID: O9dDrgAOGApqdmDr_VzeCT2t0W0-iYS3 X-Proofpoint-GUID: O9dDrgAOGApqdmDr_VzeCT2t0W0-iYS3 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 19:04:28 -0000 SGksDQoNCkkgY2FtZSB1cCB3aXRoIHRoZSBmb2xsb3dpbmcgc21hbGwgdGVzdGluZyBjYXNlIGFu ZCBjb21waWxlIGl0IFdJVEhPVVQgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQgb3B0aW9uLCB0aGUg c2FtZSBwcm9ibGVtOg0KDQpbcWluemhhb0Bsb2NhbGhvc3QgZ2NjXSQgY2F0IHQxLmMNCmV4dGVy biB2b2lkIGJhciAoaW50KTsNCmV4dGVybiBpbnQgQVJUX0lOSVQoaW50LCBpbnQpOw0Kdm9pZCBm b28gKGludCBhKQ0Kew0KICBpbnQgaTsNCiAgZm9yIChpID0gMDsgaSA8IGE7IGkrKykgew0KICAg IGlmIChfX2V4dGVuc2lvbl9fKHtpbnQgc2l6ZTI7DQpzaXplMiA9IEFSVF9JTklUIChzaXplMiwg Mik7DQpzaXplMiA9IDQ7DQpzaXplMiA+IDU7fSkpDQogICAgYmFyIChhKTsNCiAgfQ0KfQ0KDQoN CldpdGggL2hvbWUvcWluemhhby9Xb3JrL0dDQy9nY2NfYnVpbGRfZGVidWcvZ2NjL3hnY2MgLUIv aG9tZS9xaW56aGFvL1dvcmsvR0NDL2djY19idWlsZF9kZWJ1Zy9nY2MvIC1zdGQ9Yzk5ICAgLW02 NCAgLW1hcmNoPW5hdGl2ZSAgdDEuYyAtZmR1bXAtdHJlZS1hbGwgIC1PMQ0KDQoqKioqKnRoZSBm dWxsIGR1bXAgZm9yIOKAnFNTQeKAnToNCg0KOzsgRnVuY3Rpb24gZm9vIChmb28sIGZ1bmNkZWZf bm89MCwgZGVjbF91aWQ9MjIzOSwgY2dyYXBoX3VpZD0xLCBzeW1ib2xfb3JkZXI9MCkNCg0Kdm9p ZCBmb28gKGludCBhKQ0Kew0KICBpbnQgc2l6ZTI7DQogIGludCBpOw0KICBfQm9vbCBfMTsNCiAg aW50IF8xMzsNCg0KICA8YmIgMj4gOg0KICBpXzYgPSAwOw0KICBnb3RvIDxiYiA2PjsgW0lOVl0N Cg0KICA8YmIgMz4gOg0KICBzaXplMl8xMSA9IEFSVF9JTklUIChzaXplMl8zLCAyKTsNCiAgc2l6 ZTJfMTIgPSA0Ow0KICBfMSA9IHNpemUyXzEyID4gNTsNCiAgXzEzID0gKGludCkgXzE7DQogIGlm IChfMTMgIT0gMCkNCiAgICBnb3RvIDxiYiA0PjsgW0lOVl0NCiAgZWxzZQ0KICAgIGdvdG8gPGJi IDU+OyBbSU5WXQ0KDQogIDxiYiA0PiA6DQogIGJhciAoYV85KEQpKTsNCg0KICA8YmIgNT4gOg0K ICBpXzE1ID0gaV8yICsgMTsNCg0KICA8YmIgNj4gOg0KICAjIGlfMiA9IFBISSA8aV82KDIpLCBp XzE1KDUpPg0KICAjIHNpemUyXzMgPSBQSEkgPHNpemUyXzcoRCkoMiksIHNpemUyXzEyKDUpPg0K ICBpZiAoaV8yIDwgYV85KEQpKQ0KICAgIGdvdG8gPGJiIDM+OyBbSU5WXQ0KICBlbHNlDQogICAg Z290byA8YmIgNz47IFtJTlZdDQoNCiAgPGJiIDc+IDoNCiAgcmV0dXJuOw0KDQp9DQoNCkluIHRo ZSBhYm92ZSwgd2Ugc2VlIHRoYXQg4oCcIyBzaXplMl8zID1QSEkgPHNpemUyXzcoRCkoMiksIHNp emUyXzEyKDUpPuKAnSB3YXMgbW92ZWQgb3V0IG9mIHRoZSBibG9jayBzY29wZSBmb3Igc2l6ZTIu DQoNCioqKioqKlRoZXJlZm9yZSwgYWZ0ZXIg4oCcQ0NQMeKAnToNCg0KOzsgRnVuY3Rpb24gZm9v IChmb28sIGZ1bmNkZWZfbm89MCwgZGVjbF91aWQ9MjIzOSwgY2dyYXBoX3VpZD0xLCBzeW1ib2xf b3JkZXI9MCkNCg0KRm9sZGluZyBwcmVkaWNhdGUgMCAhPSAwIHRvIDANClJlbW92aW5nIGJhc2lj IGJsb2NrIDQNCk1lcmdpbmcgYmxvY2tzIDMgYW5kIDUNCnZvaWQgZm9vIChpbnQgYSkNCnsNCiAg aW50IHNpemUyOw0KICBpbnQgaTsNCg0KICA8YmIgMj4gOg0KICBnb3RvIDxiYiA0PjsgW0lOVl0N Cg0KICA8YmIgMz4gOg0KICBzaXplMl8xMSA9IEFSVF9JTklUICg0LCAyKTsNCiAgaV8xNSA9IGlf MiArIDE7DQoNCiAgPGJiIDQ+IDoNCiAgIyBpXzIgPSBQSEkgPDAoMiksIGlfMTUoMyk+DQogIGlm IChpXzIgPCBhXzkoRCkpDQogICAgZ290byA8YmIgMz47IFtJTlZdDQogIGVsc2UNCiAgICBnb3Rv IDxiYiA1PjsgW0lOVl0NCg0KICA8YmIgNT4gOg0KICByZXR1cm47DQoNCn0NCg0KVGhlIGNvbnN0 YW50IOKAnDTigJ0gaXMgcHJvcGFnYXRlZCB0byB0aGUgY2FsbCB0byDigJxBUlRfSU5JVOKAnS4N Cg0KVGhpcyBsb29rcyBpbmNvcnJlY3QuIFJpZ2h0Pw0KDQpRaW5nDQoNCk9uIEp1biAzMCwgMjAy MSwgYXQgMTowNyBQTSwgUWluZyBaaGFvIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2Nj LmdudS5vcmc8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPj4gd3JvdGU6DQoNCg0KDQpP biBKdW4gMzAsIDIwMjEsIGF0IDEyOjM2IFBNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1 c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPj4gd3JvdGU6DQoNCk9uIEp1bmUgMzAsIDIw MjEgNzoyMDoxOCBQTSBHTVQrMDI6MDAsIEFuZHJldyBQaW5za2kgPHBpbnNraWFAZ21haWwuY29t PG1haWx0bzpwaW5za2lhQGdtYWlsLmNvbT4+IHdyb3RlOg0KT24gV2VkLCBKdW4gMzAsIDIwMjEg YXQgODo0NyBBTSBRaW5nIFpoYW8gdmlhIEdjYy1wYXRjaGVzDQo8Z2NjLXBhdGNoZXNAZ2NjLmdu dS5vcmc8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPj4gd3JvdGU6DQoNCkkgY2FtZSB1 cCB3aXRoIGEgdmVyeSBzaW1wbGUgdGVzdGluZyBjYXNlIHRoYXQgY2FuIHJlcGVhdCB0aGUgc2Ft ZQ0KaXNzdWU6DQoNCltxaW56aGFvQGxvY2FsaG9zdCBnY2NdJCBjYXQgdC5jDQpleHRlcm4gdm9p ZCBiYXIgKGludCk7DQp2b2lkIGZvbyAoaW50IGEpDQp7DQppbnQgaTsNCmZvciAoaSA9IDA7IGkg PCBhOyBpKyspIHsNCiAgaWYgKF9fZXh0ZW5zaW9uX18oe2ludCBzaXplMjsNCiAgICAgIHNpemUy ID0gNDsNCiAgICAgIHNpemUyID4gNTt9KSkNCiAgYmFyIChhKTsNCn0NCn0NCg0KWW91IHNob3Vs ZCBzaG93IHRoZSBmdWxsIGR1bXAsDQpXaGF0IHdlIGhhdmUgaXMgdGhlIGZvbGxvd2luZzoNCg0K DQoNCnNpemUyXzMgPSBQSEkgPHNpemUyXzEoRCksIHNpemUyXzEzPg0KPGJiIDM+IDoNCg0Kc2l6 ZTJfMTIgPSAuREVGRVJSRURfSU5JVCAoc2l6ZTJfMywgMik7DQpzaXplMl8xMyA9IDQ7DQoNClNv IENDUCBkZWNpZGVzIHRvIHByb3BhZ2F0ZSA0IGludG8gdGhlIFBISSBhbmQgdGhlbiBkZWNpZGVz IHNpemUyXzEoRCkNCmlzIHVuZGVmaW5lZCBzbyBzaXplMl8zIGlzIHRoZW4gY29uc2lkZXJlZCA0 IGFuZCBwcm9wYWdhdGVzIGl0IGludG8NCnRoZSAuREVGRVJSRURfSU5JVC4NCg0KV2hpY2ggbWVh bnMgdGhlIERFRkVSRURfSU5JVCBpcyBpbnNlcnRlZCBhdCB0aGUgd3JvbmcgcGxhY2UuDQoNClRo ZW4sIHdoZXJlIGlzIHRoZSBjb3JyZWN0IHBsYWNlIGZvciDigJwuREVGRVJSRURfSU5JVChzaXpl MiwyKT8NCg0KVGhlIHZhcmlhYmxlIOKAnHNpemUy4oCdIGlzIGEgYmxvY2sgc2NvcGUgdmFyaWFi bGUgd2hpY2ggaXMgZGVjbGFyZWQgaW5zaWRlIHRoZSDigJxpZuKAnSBjb25kaXRpb246DQoNCmlm IChfX2V4dGVuc2lvbl9fKHtpbnQgc2l6ZTI7DQogICAgICBzaXplMiA9IDQ7DQogICAgICBzaXpl MiA+IDU7fSkpDQoNClNvLCBpdOKAmXMgcmVhc29uYWJsZSB0byBpbnNlcnQgdGhlIGluaXRpYWxp emF0aW9uIGluc2lkZSB0aGlzIGJsb2NrIGFuZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgZGVjbGFy YXRpb24sIFRoaXMgaXMgd2hhdCB0aGUgcGF0Y2ggY3VycmVudGx5IGRvZXM6DQoNCioqKioqVGhl IGZ1bGwgZHVtcCBvZiDigJxnaW1wbGXigJ0gcGhhc2UgaXM6DQoNCnZvaWQgZm9vIChpbnQgYSkN CnsNCmludCBELjIyNDA7DQppbnQgaTsNCg0KaSA9IC5ERUZFUlJFRF9JTklUIChpLCAyKTsNCmkg PSAwOw0KZ290byA8RC4yMjQ0PjsNCjxELjIyNDM+Og0Kew0KICBpbnQgc2l6ZTI7DQoNCiAgc2l6 ZTIgPSAuREVGRVJSRURfSU5JVCAoc2l6ZTIsIDIpOw0KICBzaXplMiA9IDQ7DQogIF8xID0gc2l6 ZTIgPiA1Ow0KICBELjIyNDAgPSAoaW50KSBfMTsNCn0NCmlmIChELjIyNDAgIT0gMCkgZ290byA8 RC4yMjQ2PjsgZWxzZSBnb3RvIDxELjIyNDc+Ow0KPEQuMjI0Nj46DQpiYXIgKGEpOw0KPEQuMjI0 Nz46DQppID0gaSArIDE7DQo8RC4yMjQ0PjoNCmlmIChpIDwgYSkgZ290byA8RC4yMjQzPjsgZWxz ZSBnb3RvIDxELjIyNDE+Ow0KPEQuMjI0MT46DQp9DQoNCkhvd2V2ZXIsIEkgc3VzcGVjdCB0aGF0 IHRoZSBTU0EgcGhhc2UgbW92ZWQgdGhlIOKAnHNpemUy4oCdIG91dCBvZiBpdHMgYmxvY2sgc2Nv cGUgYXMgZm9sbG93aW5nOg0KDQoqKioqKipUaGUgZnVsbCDigJxTU0HigJ0gZHVtcCBpczoNCg0K OzsgRnVuY3Rpb24gZm9vIChmb28sIGZ1bmNkZWZfbm89MCwgZGVjbF91aWQ9MjIzNiwgY2dyYXBo X3VpZD0xLCBzeW1ib2xfb3JkZXI9MCkNCg0Kdm9pZCBmb28gKGludCBhKQ0Kew0KaW50IHNpemUy Ow0KaW50IGk7DQpfQm9vbCBfMTsNCmludCBfMTQ7DQoNCjxiYiAyPiA6DQppXzcgPSAuREVGRVJS RURfSU5JVCAoaV82KEQpLCAyKTsNCmlfOCA9IDA7DQpnb3RvIDxiYiA2PjsgW0lOVl0NCg0KPGJi IDM+IDoNCnNpemUyXzEyID0gLkRFRkVSUkVEX0lOSVQgKHNpemUyXzMsIDIpOw0Kc2l6ZTJfMTMg PSA0Ow0KXzEgPSBzaXplMl8xMyA+IDU7DQpfMTQgPSAoaW50KSBfMTsNCmlmIChfMTQgIT0gMCkN CiAgZ290byA8YmIgND47IFtJTlZdDQplbHNlDQogIGdvdG8gPGJiIDU+OyBbSU5WXQ0KDQo8YmIg ND4gOg0KYmFyIChhXzExKEQpKTsNCg0KPGJiIDU+IDoNCmlfMTYgPSBpXzIgKyAxOw0KDQo8YmIg Nj4gOg0KIyBpXzIgPSBQSEkgPGlfOCgyKSwgaV8xNig1KT4NCiMgc2l6ZTJfMyA9IFBISSA8c2l6 ZTJfOShEKSgyKSwgc2l6ZTJfMTMoNSk+DQppZiAoaV8yIDwgYV8xMShEKSkNCiAgZ290byA8YmIg Mz47IFtJTlZdDQplbHNlDQogIGdvdG8gPGJiIDc+OyBbSU5WXQ0KDQo8YmIgNz4gOg0KcmV0dXJu Ow0KDQp9DQoNCkluIHRoZSBhYm92ZSwgd2UgY2FuIHNlZSB0aGF0IOKAnCAjIHNpemUyXzMgPSBQ SEkgPHNpemUyXzkoRCkoMiksIHNpemUyXzEzKDUpPuKAnSAgaXMgb3V0c2lkZSBvZiBpdHMgYmxv Y2sgc2NvcGUgYWxyZWFkeS4NCuKAnHNpemUy4oCdIHNob3VsZCBub3QgYmUgaW4gdGhlIHNhbWUg c2NvcGUgYXMg4oCcSSIgLg0KDQpUaGlzIGxvb2tzIGluY29ycmVjdCBTU0EgdHJhbnNmb3JtYXRp b24gdG8gbWUuDQoNCldoYXQgZG8geW91IHRoaW5rPw0KDQpRaW5nDQoNCg0KUmljaGFyZC4NCg0K VGhhbmtzLA0KQW5kcmV3DQoNCg0KDQpbcWluemhhb0Bsb2NhbGhvc3QgZ2NjXSQNCi9ob21lL3Fp bnpoYW8vV29yay9HQ0MvZ2NjX2J1aWxkX2RlYnVnL2djYy94Z2NjDQotQi9ob21lL3FpbnpoYW8v V29yay9HQ0MvZ2NjX2J1aWxkX2RlYnVnL2djYy8gLXN0ZD1jOTkgICAtbTY0DQotbWFyY2g9bmF0 aXZlIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8gdC5jIC1mZHVtcC10cmVlLWFsbCAgLU8x DQp0LmM6IEluIGZ1bmN0aW9uIOKAmGZvb+KAmToNCnQuYzoxMToxOiBlcnJvcjog4oCYREVGRkVS RURfSU5JVOKAmSBjYWxscyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBMSFMgYXMNCnRoZSBmaXJzdCBh cmd1bWVudA0KIDExIHwgfQ0KICAgIHwgXg0Kc2l6ZTJfMTIgPSAuREVGRVJSRURfSU5JVCAoNCwg Mik7DQpkdXJpbmcgR0lNUExFIHBhc3M6IGNjcA0KZHVtcCBmaWxlOiBhLXQuYy4wMzJ0LmNjcDEN CnQuYzoxMToxOiBpbnRlcm5hbCBjb21waWxlciBlcnJvcjogdmVyaWZ5X2dpbXBsZSBmYWlsZWQN CjB4MTQzZWU0NyB2ZXJpZnlfZ2ltcGxlX2luX2NmZyhmdW5jdGlvbiosIGJvb2wpDQogICAgICAu Li8uLi9sYXRlc3RfZ2NjL2djYy90cmVlLWNmZy5jOjU1MDENCjB4MTIyZDc5OSBleGVjdXRlX2Z1 bmN0aW9uX3RvZG8NCiAgICAgIC4uLy4uL2xhdGVzdF9nY2MvZ2NjL3Bhc3Nlcy5jOjIwNDINCjB4 MTIyYzc0YiBkb19wZXJfZnVuY3Rpb24NCiAgICAgIC4uLy4uL2xhdGVzdF9nY2MvZ2NjL3Bhc3Nl cy5jOjE2ODcNCjB4MTIyZDk4NiBleGVjdXRlX3RvZG8NCiAgICAgIC4uLy4uL2xhdGVzdF9nY2Mv Z2NjL3Bhc3Nlcy5jOjIwOTYNClBsZWFzZSBzdWJtaXQgYSBmdWxsIGJ1ZyByZXBvcnQsDQp3aXRo IHByZXByb2Nlc3NlZCBzb3VyY2UgaWYgYXBwcm9wcmlhdGUuDQpQbGVhc2UgaW5jbHVkZSB0aGUg Y29tcGxldGUgYmFja3RyYWNlIHdpdGggYW55IGJ1ZyByZXBvcnQuDQpTZWUgPGh0dHBzOi8vZ2Nj LmdudS5vcmcvYnVncy8+IGZvciBpbnN0cnVjdGlvbnMuDQoNCkluIHRoaXMgdGVzdGluZyBjYXNl LCBib3RoIOKAnEnigJ0gYW5kIOKAnHNpemUy4oCdIGFyZSBhdXRvIHZhcnMgdGhhdCBhcmUgbm90 DQppbml0aWFsaXplZCBhdCBkZWNsYXJhdGlvbiBidXQgYXJlIGluaXRpYWxpemVkIGxhdGVyIGJ5 IGFzc2lnbm1lbnQuDQpIb3dldmVyLCDigJxJ4oCdIGRvZXNu4oCZdCBoYXZlIGFueSBpc3N1ZSwg YnV0IOKAnHNpemUy4oCdIGhhcyBzdWNoIGlzc3VlLg0KDQoqKioqKirigJxzc2HigJ0gZHVtcDoN Cg0KPGJiIDI+IDoNCmlfNyA9IC5ERUZFUlJFRF9JTklUIChpXzYoRCksIDIpOw0KaV84ID0gMDsN CmdvdG8gPGJiIDY+OyBbSU5WXQ0KDQo8YmIgMz4gOg0Kc2l6ZTJfMTIgPSAuREVGRVJSRURfSU5J VCAoc2l6ZTJfMywgMik7DQpzaXplMl8xMyA9IDQ7DQoNCioqKioqKuKAnWNjcDHigJ0gZHVtcDoN Cg0KPGJiIDI+IDoNCmlfNyA9IC5ERUZFUlJFRF9JTklUIChpXzYoRCksIDIpOw0KZ290byA8YmIg ND47IFtJTlZdDQoNCjxiYiAzPiA6DQpzaXplMl8xMiA9IC5ERUZFUlJFRF9JTklUICg0LCAyKTsN Cg0KU28sIEkgYW0gd29uZGVyaW5nOiAgSXMgaXQgcG9zc2libGUgdGhhdCDigJxzc2HigJ0gcGhh c2UgaGF2ZSBhIGJ1ZyA/DQoNClFpbmcNCg0KT24gSnVuIDMwLCAyMDIxLCBhdCA5OjM5IEFNLCBS aWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRl Pj4NCndyb3RlOg0KDQpPbiBXZWQsIDMwIEp1biAyMDIxLCBRaW5nIFpoYW8gd3JvdGU6DQoNCg0K DQpPbiBKdW4gMzAsIDIwMjEsIGF0IDI6NDYgQU0sIFJpY2hhcmQgQmllbmVyDQo8cmd1ZW50aGVy QHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPjxtYWlsdG86cmd1ZW50aGVyQHN1c2Uu ZGU+PiB3cm90ZToNCg0KT24gV2VkLCAzMCBKdW4gMjAyMSwgUWluZyBaaGFvIHdyb3RlOg0KDQpI aSwNCg0KSSBhbSB0ZXN0aW5nIHRoZSA0dGggcGF0Y2ggb2YgLWZ0cml2aWFsLWF1dG8tdmFyLWlu aXQgd2l0aCBDUFUyMDE3DQp0b2RheSwgYW5kIGZvdW5kIHRoZSBmb2xsb3dpbmcgaXNzdWVzOg0K DQoqKioqSW4gdGhlIGR1bXAgZmlsZSBvZiDigJwqdC5pLjAzMXQub2Jqc3ox4oCdLCB3ZSBoYXZl Og0KDQo8YmIgMz4gOg0KX19zMV9sZW5fMjE3ID0gLkRFRkVSUkVEX0lOSVQgKF9fczFfbGVuXzE3 NiwgMik7DQpfX3MyX2xlbl8yMTggPSAuREVGRVJSRURfSU5JVCAoX19zMl9sZW5fMTc3LCAyKTsN Cg0KSSBsb29rcyBsaWtlIHRoaXMgLkRFRkVSUkVEX0lOSVQgaW5pdGlhbGl6ZXMgYW4gYWxyZWFk eQ0KaW5pdGlhbGl6ZWQNCnZhcmlhYmxlLg0KDQpZZXMuDQoNCkZvciBjYXNlcyBsaWtlIHRoZSBm b2xsb3dpbmc6DQoNCmludCBzMl9sZW47DQpzMl9sZW4gPSA0Ow0KDQppLmUsIHRoZSBpbml0aWFs aXphdGlvbiBpcyBub3QgYXQgdGhlIGRlY2xhcmF0aW9uLg0KDQpXZSBjYW5ub3QgYXZvaWQgaW5p dGlhbGl6YXRpb24gZm9yIHN1Y2ggY2FzZXMuDQoNCkJ1dCBJJ2QgaGF2ZSBleHBlY3RlZA0KDQpz Ml9sZW4gPSAuREVGRVJSRURfSU5JVCAoczJfbGVuLCAwKTsNCnMyX2xlbiA9IDQ7DQoNCmZyb20g dGhlIGFib3ZlIC0gdGh1cyB0aGUgZGVmZXJyZWQgaW5pdCBfYmVmb3JlXyB0aGUgZmlyc3QNCiJ1 c2UiIHdoaWNoIGlzIHRoZSBleHBsaWNpdCBpbml0LiAgSG93IGRvZXMgdGhlIG90aGVyIG9yZGVy DQpoYXBwZW4gdG8gbWF0ZXJpYWxpemU/ICBBcyBzYWlkLCBJIGJlbGlldmUgaXQgc2hvdWxkbid0 Lg0KDQpJJ2QgZXhwZWN0IHRvIG9ubHkgZXZlciBzZWUgZGVmYXVsdCBkZWZpbml0aW9uIFNTQSBu YW1lcw0KYXMgZmlyc3QgYXJndW1lbnQgdG8gLkRFRkVSUkVEX0lOSVQuDQoNCllvdSBtZWFuIHNv bWV0aGluZyBsaWtlOg0KX19zMl9sZW5fMjE4ID0gLkRFRkVSUkVEX0lOSVQgKF9fczJfbGVuLCAy KTsNCg0KTm8sDQoNCl9fczJfbGVuXzIxOCA9IC5ERUZFUlJFRF9JTklUIChfX3MyX2xlbl8yMTco RCksIDIpOw0KDQo/DQoNCg0KX19zMl9sZW5fMjE5ID0gNzsNCmlmIChfX3MyX2xlbl8yMTkgPD0g MykNCmdvdG8gPGJiIDQ+OyBbSU5WXQ0KZWxzZQ0KZ290byA8YmIgOT47IFtJTlZdDQoNCjxiYiA0 PiA6DQpfMSA9IChsb25nIHVuc2lnbmVkIGludCkgaV8xNzU7DQoNCg0KKioqKkhvd2V2ZXIsIGFm dGVyIOKAnGNjcOKAnSwgaW4g4oCcdC5pLjAzMnQuY2NwMeKAnSwgd2UgaGF2ZToNCg0KPGJiIDM+ IDoNCl9fczFfbGVuXzIxNyA9IC5ERUZFUlJFRF9JTklUIChfX3MxX2xlbl8xNzYsIDIpOw0KX19z Ml9sZW5fMjE4ID0gLkRFRkVSUkVEX0lOSVQgKDcsIDIpOw0KXzM2ID0gKGxvbmcgdW5zaWduZWQg aW50KSBpXzE3NTsNCl8zNyA9IF8zNiAqIDg7DQpfMzggPSBhcmd2XzIyMChEKSArIF8zNzsNCg0K DQpMb29rcyBsaWtlIHRoYXQgdGhlIG9wdGltaXphdGlvbiDigJxjY3DigJ0gcmVwbGFjZWQgdGhl IGZpcnN0IGFyZ3VtZW50DQpvZiB0aGUgY2FsbCAuREVGRVJSRURfSU5JVCB3aXRoIHRoZSBjb25z dGFudCA3Lg0KVGhpcyBzaG91bGQgYmUgYXZvaWRlZC4NCg0KKE5PVEUsIHRoaXMgaXNzdWUgZXhp c3RlZCBpbiB0aGUgcHJldmlvdXMgcGF0Y2hlcywgaG93ZXZlciwgb25seQ0KZXhwb3NlZCB3aXRo IHRoaXMgdmVyc2lvbiBzaW5jZSBJIGFkZGVkIG1vcmUgdmVyaWZpY2F0aW9uDQpjb2RlIGluIHRy ZWUtY2ZnLmMgdG8gdmVyaWZ5IHRoZSBjYWxsIHRvIC5ERUZFUlJFRF9JTklUKS4NCg0KSSBhbSB3 b25kZXJpbmcgd2hhdOKAmXMgdGhlIGJlc3Qgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtPw0KDQpJ IHRoaW5rIHlvdSBoYXZlIHRvIHRyYWNlIHdoZXJlIHRoaXMgImJvZ3VzIiAuREVGRVJSRURfSU5J VCBjb21lcw0KZnJvbQ0Kb3JpZ2luYWxseS4gIE9yIGFsdGVybmF0aXZlbHksIGlmIHRoaXMgaXMg dW5hdm9pZGFibGUsDQoNClRoaXMgaXMgdW5hdm9pZGFibGUsIEkgYmVsaWV2ZS4NCg0KSSBzZWUg YnV0IGRvbid0IGJlbGlldmUgaXQgeWV0IDspDQoNCmFkZCAiY29uc3RhbnQNCmZvbGRpbmciIG9m IC5ERUZFUlJFRF9JTklUIHNvIHRoYXQgZGVmZXJlZCBpbml0IG9mIGFuIGluaXRpYWxpemVkDQpv YmplY3QgYmVjb21lcyB0aGUgb2JqZWN0IGl0c2VsZiwgdGh1cyByZXRhaW4gdGhlIHByZXZpb3Vz IC0NCmV2ZW50dWFsbHkNCnBhcnRpYWwgLSBpbml0aWFsaXphdGlvbiBvbmx5Lg0KDQpJZiB0aGlz IGFkZGl0aW9uYWwgLkRFRkVSUkVEX0lOSVQgd2lsbCBiZSBrZXB0IHRpbGwgUlRMIGV4cGFuc2lv bg0KcGhhc2UsIHRoZW4gaXQgd2lsbCBiZWNvbWUgYSByZWFsIGluaXRpYWxpemF0aW9uOg0KDQpp LmUuDQoNCnMyX2xlbiA9IDA7ICAgIC8vLkRFRkVSUkVEX0lOSVQgZXhwYW5kZWQNCnMyX2xlbiA9 IDQ7ICAgIC8vIHRoZSBvcmlnaW5hbCBpbml0aWFsaXphdGlvbg0KDQpUaGVuIHRoZSBmaXJzdCBp bml0aWFsaXphdGlvbiB3aWxsIGJlIGVsaW1pbmF0ZWQgYnkgY3VycmVudCBSVEwNCm9wdGltaXph dGlvbiBlYXNpbHksIHJpZ2h0Pw0KDQpXZWxsLCBpbiB5b3VyIGV4YW1wbGUgYWJvdmUgaXQncyBl ZmZlY3RpdmVseSBlbGltaWF0ZWQgYnkgR0lNUExFDQpvcHRpbWl6YXRpb24uICBJSVJDIHlvdSdy ZSB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQgb2YNCi5ERUZFUlJFRF9JTklUDQpmb3IgZGlhZ25v c3RpYyBwdXJwb3NlcyBvbmx5LCBjb3JyZWN0Pw0KDQpSaWNoYXJkLg0KDQpRaW5nDQoNCg0KUmlj aGFyZC4NCg0KQ2FuIHdlIGFkZCBhbnkgYXR0cmlidXRlIHRvIHRoZSBpbnRlcm5hbCBmdW5jdGlv biBhcmd1bWVudCB0bw0KcHJldmVudCBsYXRlciBvcHRpbWl6YXRpb25zIHRoYXQgbWlnaHQgYXBw bGllZCBvbiBpdD8NCk9yIGp1c3QgdXBkYXRlIOKAnGNjcOKAnSBwaGFzZSB0byBzcGVjaWFsbHkg aGFuZGxlIGNhbGxzIHRvDQouREVGRVJSRURfSU5JVD8gKE5vdCBzdXJlIHdoZXRoZXIgdGhlcmUg YXJlIG90aGVyIHBoYXNlcyBoYXZlIHRoZQ0KU2FtZSBpc3N1ZT8pDQoNCkxldCBtZSBrbm93IGlm IHlvdSBoYXZlIGFueSBzdWdnZXN0aW9uLg0KDQpUaGFua3MgYSBsb3QgZm9yIHlvdXIgaGVscC4N Cg0KUWluZw0KDQotLQ0KUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPG1haWx0bzpy Z3VlbnRoZXJAc3VzZS5kZT48bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPj4NClNVU0UgU29mdHdh cmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwgTWF4ZmVsZHN0cmFzc2UgNSwgOTA0MDkNCk51ZXJu YmVyZywNCkdlcm1hbnk7IEdGOiBGZWxpeCBJbWVuZMO2cmZmZXI7IEhSQiAzNjgwOSAoQUcgTnVl cm5iZXJnKQ0KDQoNCg0KLS0NClJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZTxtYWls dG86cmd1ZW50aGVyQHN1c2UuZGU+Pg0KU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBH bWJILCBNYXhmZWxkc3RyYXNzZSA1LCA5MDQwOQ0KTnVlcm5iZXJnLA0KR2VybWFueTsgR0Y6IEZl bGl4IEltZW5kw7ZyZmZlcjsgSFJCIDM2ODA5IChBRyBOdWVybmJlcmcpDQoNCg==