From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-obe.outbound.protection.outlook.com (mail-cusazon11020015.outbound.protection.outlook.com [52.101.61.15]) by sourceware.org (Postfix) with ESMTPS id 2C20A3858C60 for ; Tue, 9 Nov 2021 04:24:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2C20A3858C60 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CA8U/KcIGeunrHIZdO04ukbDdEHoFmENWLszkp/8+EpHB0UI8xP8e2rAqv0BPohQOHeXbZk1iUfAjoTF9Y9dUhJ3M+r+cud56jacbtxWkw2ikm3rYUxm5vnJBaDxCpxUW8PjFCM25iwj5PM2iQV2WNYU8jctOUoIisDsjkCpFk3TPsvxzaU9x31I5GbQlHGivHe8sygvKWPryxVj4MwR0dM07bPWxHHsHNJbumwZZCHifz8uJ8Yo7riEoI1NinZtSAFIb6bfBUywhVa0AWTvBOa+SwBRn7Gftwd8Umg+sAHGIrJIj4hb6EH6+r/tu4zIz6E0SRBFTzi6M+I88cbuuw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aF6OYSpE5GITSMSEyUu04T0mawNPHTwhu62mYO7DmGg=; b=AiAlBEZgttwXaEFmL+8yE09d+1D5nR1jgKVj4Zbl5cQ8G7bDfiW98PhfAd1oiqTbdLLXuY5YKDWKsd9NgX5nFOumEvvGyl5QOgeegSjl9++vHb0KWKwFvy5ph2TRlNrDVgQj1Ukxxa3Jn0xzd/cBir1X5pXuxmAVnyO8dc8qZ+NZ/eKSqnqzQr9VdoV5YHj8/XAB37fuUu8YZcFXlx4tPqUlPmuOYIH7IBtlV4Ps3ZvRV7fpO0+rv0H0VOBQ6mjZEDSxmkqAuTXovhsQ/Mjpi+Ve1YCDDkZNoz6ndpksksz2PuHk6x9iJ3363VwCtMzoCHTrOJ41OGejno9h5A2VlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none Received: from BN6PR21MB0162.namprd21.prod.outlook.com (2603:10b6:404:94::8) by BN6PR21MB0787.namprd21.prod.outlook.com (2603:10b6:404:11c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.3; Tue, 9 Nov 2021 04:24:23 +0000 Received: from BN6PR21MB0162.namprd21.prod.outlook.com ([fe80::1198:6681:a1ca:85b9]) by BN6PR21MB0162.namprd21.prod.outlook.com ([fe80::1198:6681:a1ca:85b9%4]) with mapi id 15.20.4713.004; Tue, 9 Nov 2021 04:24:17 +0000 From: Navid Rahimi To: "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH] PR tree-optimization/102232 Adding a missing pattern to match.pd Thread-Topic: [PATCH] PR tree-optimization/102232 Adding a missing pattern to match.pd Thread-Index: AQHX1NSYUqHeu1GsQEaW+y6J8F2KnKv6mTJf Date: Tue, 9 Nov 2021 04:24:17 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2021-11-09T04:24:16.905Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2603f671-77be-4948-6dec-08d9a338cb60 x-ms-traffictypediagnostic: BN6PR21MB0787: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eaAbr+sMcCxAeXN/Yxt31vHVgmeLP7UVWIGkLeQyF6lGvslkjY7F0SGS5OxZwihlG3GRJo7n4SGg85z76zamrJXmcjDuEa/oH51x8Jzxfn2GpP4ThLsFwzFBbMN0EOCygmkPxp0WcpQVzCyFC0woWQfXzp1RN+sq30NXXURCvTXNFA0bNhk6HKuyrd8bFB8v7w9N7Uzvd7VB2BUJJ7EWPiD5qAn6ZchKu8i5Dn7TjfAmJAXL54VsoseibO/mRd6sJzuvOUihmYBf51XieSyS2J5nKocwQX/ky1L1B5vocRDESbS13lQIJQ+DXXOapJBPvrHoFTvo8oAiKtdpgUPdUOtEVZdUpI3gq11cMAJIgEdMrYuybiUW87iQBEz0oq8zdk409MTazlYkbtBQxs4IRPYmPrlRUVLYXwKUddmoevjwAf2kVFcmFDJG5PqytNeONtvdFA5Ei8sYC71cwrP+73ErXMaLsMH8QbhAbDhkCWNgXdW2N+X94oofEJLJYmfls6+cSwMTr8sd/uyoaYYt6JnCsRJ5MupVH2sZclMqdIckOEJGwBSS2K/1vwlE5q7HuFOdl+VuyNek/MqbVkU4luLocPA+F0ijHudjF8tNBP+PeVW89TfyIbU0u5ZPyAbIARuk+kNC5wiqydbpXHHfhJ4paRIe9K+cq19n6fEgcQsdG75dLjKFpDHLobF96mXevXRg27DeDJ2iC+28LX/XlzYSn5uT3WV8MaM7UpEkcQEjH1jFQIWCHGMQd8s6HaORxmM0VpdVSoTdQt91MLt3DRiGM+jfo6yZ6K8GV47lmac= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR21MB0162.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(6916009)(52536014)(66446008)(66556008)(64756008)(66476007)(316002)(966005)(66946007)(8936002)(10290500003)(2906002)(33656002)(508600001)(86362001)(76116006)(122000001)(38100700002)(38070700005)(91956017)(8990500004)(71200400001)(8676002)(82950400001)(83380400001)(82960400001)(99936003)(5660300002)(53546011)(6506007)(9686003)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?2Omdynsnqafx/QjHVHf87ElGK9Feff1YT2ZTKJHoFkJbRdEowBZ9lBZLoXph?= =?us-ascii?Q?jaRFyDEuuHD9CxT6o2HLygDv62avn7iuw8Mu9ZAdOhD/ZE3DwzHIMOAbu5Iy?= =?us-ascii?Q?bhzEns3eWMISgzYA2paWknNDUM+Bj8VwGfRbShD6AArZ3XG8UEDw6oyFNZ+5?= =?us-ascii?Q?XPFkOcqfeNFcPybdvecbCI6haanaEW2KAf0El/yqfnQknBZTDF2wwVWc3x41?= =?us-ascii?Q?C7PA25EuOPP32v8orM8sQCaCmV+0BUAVnIildFAdQvvzctJZhI4qqFeJggH6?= =?us-ascii?Q?x57qlEnt7+UZzadLByLpka/FaQk3l/xGxv4gcPj/9zm1opaUI3BoKHIQYWQm?= =?us-ascii?Q?rdzJojqL/h6tdfnN7+DzPYLGFCj3e/haCnv8hmGHSUTtPFdZYrR1dIRxoSvu?= =?us-ascii?Q?+hdPrIox7Unjcjw1YjbvDb0kM/OqRBdHQnE5L0cdsQsFUgpTWxXaoKYmqCbM?= =?us-ascii?Q?BzWTusAIwYSKVf+jjxuASMdXq6L2SM9kf964JxXF7ucJ5GaECX4HnVKkeapa?= =?us-ascii?Q?JzIOshEwyXC2C+KgCYlCVsQHTVdzUCvOL4f69yQ59MNSA4qTHElS2Gx0U5YF?= =?us-ascii?Q?FIIJmlP5vcU+c/zzOf3rXDLAL4b+W4p2efWNuAPxVsQK/GugfWV8dfOhdY7S?= =?us-ascii?Q?ULl+qe1FcOnVteZyQkS2ML0k2Dae/yIHNkGRkypmgOZNcsEk0v0rD599moK8?= =?us-ascii?Q?zfr6x9st2PWYrUTP316P5LxIKLNhLUYHdr1vmy5OyVCNmEd3V6397IRcIVCp?= =?us-ascii?Q?PX+ywghWBWtLQOQdgms95s9wQNEgIytwvnNu1MmJzUH32pnm/ndejwui+wAD?= =?us-ascii?Q?tMGPg7ux6dnSNeYZDDj6/F9JjjS/Pi+jSmXkZTm+N2WMQ3k61Bly6+lAFxLw?= =?us-ascii?Q?em2yrCxy93ArXjgpUDlDvOkwP42DS8t4XPcGeqQLBtIcZ09dB9xu5O3qViZs?= =?us-ascii?Q?+eClWd+qj1kri6EcG6s1t/DCpas3kK+YbK9Qwpz2Cp7irKOe4AXzVmVHKV8B?= =?us-ascii?Q?IJY/JenvjKRu9LkaopgFm7x+/czEWHhiQCPaMqNvJLJ6TGq5LPq1Zwl7PT0u?= =?us-ascii?Q?VPIO/E+XZLafUC7MrnDWw2XqnT3QB+/cKhi9Lbl2U31dey2K0OgYpAsfNNBR?= =?us-ascii?Q?Ie3XtChJh6fy46gMkCkb+AFSi1FvyzMva9DQL9yhQPU/NyzdAWMqYlMXS2to?= =?us-ascii?Q?SgOX79t8DVylv308+p4p5T4VqTYjf23+JSlS3IUpmA0esGNqFLWfW+0Aa0XV?= =?us-ascii?Q?6bGmyv3z1Z9+86XrcGDQqQwriiL/A8TvVNzkJ0maAY+rXisytFmYJfVC4qWn?= =?us-ascii?Q?2s8rexbaZnLekRMCdKb4wPLJ9nxPWJahkSJJIq0X+1Wwi8p+FRM57hcEr2vq?= =?us-ascii?Q?FgPpHuyHBh2IhyNcvUlJt7uyyzmKswz60EIqK3hsq126whLnbPk7ZYAKyyA3?= =?us-ascii?Q?1sxRuNn5acqxvsfsQdBZ2SFFiN5fAMqCSz37mnBW4oSV/rnIPufHVIPFqclw?= =?us-ascii?Q?oxt1HCnHcSe/dkoqF3m4oQOR2oTAd79O2dvLsQnqZ0YB6FeWWl68rUzXQBAU?= =?us-ascii?Q?gimjc/KlBYlMOSbdZ4MDVJ6q6JR+a4Q4TCEe/1WCEJqX2ro+jWy6XWW4lT3K?= =?us-ascii?Q?G0yFVrxAUsrl9HCI4WQ4ZkWfNAN2D0OTJYvmM6cs4cxV?= Content-Type: multipart/mixed; boundary="_002_BN6PR21MB0162F4E5CE7A6E5383E7E7FCA3929BN6PR21MB0162namp_" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN6PR21MB0162.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2603f671-77be-4948-6dec-08d9a338cb60 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2021 04:24:17.3836 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Tr1Q9Krr31pl7iHzucAFQm4OkFIgqkdfSTmShkWgDcWnWgN7CMgDiDTFwwX+qydX3/RNatRTxZZjeso+qJsKV0LuhpFGkKJJg7hxF7ZMe4Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR21MB0787 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=no 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: Tue, 09 Nov 2021 04:24:30 -0000 --_002_BN6PR21MB0162F4E5CE7A6E5383E7E7FCA3929BN6PR21MB0162namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Sorry, a last minute update via my editor changed the MIME type to applicat= ion/octet-stream. You can find the patch with correct MIME (text/x-diff) at= tached to this email. (Same file and content, fixed MIME). Best wishes, Navid. ________________________________________ From: Gcc-patches on behalf of Navid Rahimi via Gcc-patches Sent: Monday, November 8, 2021 20:11 To: gcc-patches@gcc.gnu.org Subject: [EXTERNAL] [PATCH] PR tree-optimization/102232 Adding a missing pa= ttern to match.pd Hi GCC community, This patch will add the missed pattern described in bug 102232 [1] to the m= atch.pd. The testcase will test whether the multiplication and division has= been removed from the code or not. The correctness proof for this pattern = is here [2] in case anyone is curious. PR tree-optimization/102232 * match.pd (x * (1 + y / x) - y) -> (x - y % x): New optimization. * gcc.dg/tree-ssa/pr102232.c: testcase for this optimization. 1) https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgcc.= gnu.org%2Fbugzilla%2Fshow_bug.cgi%3Fid%3D102232&data=3D04%7C01%7Cnavidr= ahimi%40microsoft.com%7Cded0a3258b594204129608d9a3371763%7C72f988bf86f141af= 91ab2d7cd011db47%7C1%7C0%7C637720279311390932%7CUnknown%7CTWFpbGZsb3d8eyJWI= joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sd= ata=3DAaXdpyn%2BNQ2BizC6FILJfL3B8WV84v5FuLuU1d8MJxU%3D&reserved=3D0 2) https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Faliv= e2.llvm.org%2Fce%2Fz%2F2VScjD&data=3D04%7C01%7Cnavidrahimi%40microsoft.= com%7Cded0a3258b594204129608d9a3371763%7C72f988bf86f141af91ab2d7cd011db47%7= C1%7C0%7C637720279311400927%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ= QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3D3zM4awjl2Lxh= sfMd1VAOjH4JQ9621Q7Mg61gEB2Su%2Bk%3D&reserved=3D0 Best wishes, Navid. --_002_BN6PR21MB0162F4E5CE7A6E5383E7E7FCA3929BN6PR21MB0162namp_ Content-Type: application/octet-stream; name="0001-PR-tree-optimization-102232.patch" Content-Description: 0001-PR-tree-optimization-102232.patch Content-Disposition: attachment; filename="0001-PR-tree-optimization-102232.patch"; size=2454; creation-date="Tue, 09 Nov 2021 04:22:49 GMT"; modification-date="Tue, 09 Nov 2021 04:22:49 GMT" Content-Transfer-Encoding: base64 RnJvbSA3YzJhYmIwZWFiMDU3NjZhYjg3OTA2NmIwMDBjMTNkZTgyN2UzYjNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXZpZCBSYWhpbWkgPG5hdmlkcmFoaW1pQG1pY3Jvc29mdC5j b20+CkRhdGU6IE1vbiwgOCBOb3YgMjAyMSAxMzo1NzoxOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hd IFBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMjIzMgoKCSogbWF0Y2gucGQgKHggKiAoMSArIHkgLyB4 KSAtIHkpIC0+ICh4IC0geSAlIHgpOiBOZXcgb3B0aW1pemF0aW9uLgoJKiBnY2MuZGcvdHJlZS1z c2EvcHIxMDIyMzIuYzogdGVzdGNhc2UgZm9yIHRoaXMgb3B0aW1pemF0aW9uLgotLS0KIGdjYy9t YXRjaC5wZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrCiBnY2MvdGVzdHN1 aXRlL2djYy5kZy90cmVlLXNzYS9wcjEwMjIzMi5jIHwgNTIgKysrKysrKysrKysrKysrKysrKysr KysrCiAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjEwMjIzMi5jCgpkaWZmIC0tZ2l0IGEv Z2NjL21hdGNoLnBkIGIvZ2NjL21hdGNoLnBkCmluZGV4IDcxY2Y2ZjlkZjBhLi4zN2MwMWU3OWQ5 NyAxMDA2NDQKLS0tIGEvZ2NjL21hdGNoLnBkCisrKyBiL2djYy9tYXRjaC5wZApAQCAtMTI5NSw2 ICsxMjk1LDEzIEBAIERFRklORV9JTlRfQU5EX0ZMT0FUX1JPVU5EX0ZOIChSSU5UKQogIChiaXRf eG9yIChiaXRfaW9yOmMgKGJpdF9ub3QgQDApIEAxKSAoYml0X2lvcjpjIEAwIChiaXRfbm90IEAx KSkpCiAgKGJpdF94b3IgQDAgQDEpKQogCisvKiB4ICogKDEgKyB5IC8geCkgLSB5IC0+IHggLSB5 ICUgeCAqLworKHNpbXBsaWZ5CisgKG1pbnVzIChtdWx0OmNzIEAwIChwbHVzOmNzIGludGVnZXJf b25lcCAodHJ1bmNfZGl2OnMgQDEgQDApKSkgQDEpCisgKGlmIChJTlRFR1JBTF9UWVBFX1AgKFRS RUVfVFlQRSAoQDApKQorICAgICAgJiYgdHlwZXNfbWF0Y2ggKEAwLCBAMSkpCisgIChtaW51cyBA MCAodHJ1bmNfbW9kIEAxIEAwKSkpKQorCiAvKiAoKHggJiB5KSAtICh4IHwgeSkpIC0gMSAtPiB+ KHggXiB5KSAqLwogKHNpbXBsaWZ5CiAgKHBsdXMgKG5vcF9jb252ZXJ0MT8gKG1pbnVzQDIgKG5v cF9jb252ZXJ0Mj8gKGJpdF9hbmQ6YyBAMCBAMSkpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy5kZy90cmVlLXNzYS9wcjEwMjIzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdHJlZS1z c2EvcHIxMDIyMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTc0 ODVjZjI0ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNz YS9wcjEwMjIzMi5jCkBAIC0wLDAgKzEsNTIgQEAKKy8qIFBSIHRyZWUtb3B0aW1pemF0aW9uLzEw MjIzMiAqLworLyogeyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1vcHRpb25zICItTzMgLWZkdW1w LXRyZWUtb3B0aW1pemVkIiB9ICovCisKK2ludCBfX2F0dHJpYnV0ZV9fICgobm9pcGEpKSBmb28g KGludCBhLCBpbnQgYikKK3sKKyAgcmV0dXJuIGIgKiAoMSArIGEgLyBiKSAtIGE7Cit9CisKK2lu dAorbWFpbiAodm9pZCkKK3sKKyAgLy8gZmV3IHJhbmRvbWx5IGdlbmVyYXRlZCB0ZXN0IGNhc2Vz CisgIGlmIChmb28gKDcxODU2MDM0LCAyMzgpICE9IDIxMikKKyAgICB7CisgICAgICByZXR1cm4g MTsKKyAgICB9CisgIGlmIChmb28gKDcxODU2MDM0LCAxMDkwOSkgIT0gMTU0OSkKKyAgICB7Cisg ICAgICByZXR1cm4gMTsKKyAgICB9CisgIGlmIChmb28gKDIwMzUwLCAxNzQ0KSAhPSA1NzgpCisg ICAgeworICAgICAgcmV0dXJuIDE7CisgICAgfQorICBpZiAoZm9vICg0NDQ4MTMsIDg4NTYzKSAh PSA4NjU2NSkKKyAgICB7CisgICAgICByZXR1cm4gMTsKKyAgICB9CisgIGlmIChmb28gKDExMjIz NywgNjMwMDQpICE9IDEzNzcxKQorICAgIHsKKyAgICAgIHJldHVybiAxOworICAgIH0KKyAgaWYg KGZvbyAoNjgyNjgzODYsIDc4NzExNikgIT0gMjEwNzA2KQorICAgIHsKKyAgICAgIHJldHVybiAx OworICAgIH0KKyAgaWYgKGZvbyAoLTQ0NDgxMywgODg1NjMpICE9IDkwNTYxKQorICAgIHsKKyAg ICAgIHJldHVybiAxOworICAgIH0KKyAgaWYgKGZvbyAoLTY4MjY4Mzg2LCA3ODcxMTYpICE9IDEz NjM1MjYpCisgICAgeworICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgIHJldHVybiAwOworfQor CisvKiBWZXJpZnkgdGhhdCBtdWx0aXBsaWNhdGlvbiBhbmQgZGl2aXNpb24gaGFzIGJlZW4gcmVt b3ZlZC4gICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIgXFwqICIgIm9w dGltaXplZCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIgLyAi ICJvcHRpbWl6ZWQiIH0gfSAqLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuMjUu MQoK --_002_BN6PR21MB0162F4E5CE7A6E5383E7E7FCA3929BN6PR21MB0162namp_--