From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23561 invoked by alias); 30 Apr 2012 18:09:09 -0000 Received: (qmail 23544 invoked by uid 22791); 30 Apr 2012 18:09:07 -0000 X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-yx0-f169.google.com (HELO mail-yx0-f169.google.com) (209.85.213.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 30 Apr 2012 18:08:52 +0000 Received: by yenm8 with SMTP id m8so1785589yen.0 for ; Mon, 30 Apr 2012 11:08:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=wv75Pnugeqr1Q9I+Z0SdNJbZrv1otaKWKHVmKljHFlI=; b=hK3DL13dPz0GpsnRQqWT7HzCjh6ay1vZwo4dQfnXMAxAcF81//HBLFTtzbGjKRkOYR y8y6cgH5a2Q2+cbJ7K+FoQq0q7305wNbsczv9Lo1ZQydZPJjaRUbZBZxbH+WSiCQm0/+ fSthAIvbdhXtZCgj25K8bOpizeBvWBpK5+V6JzglqiUnWe9R2eZMe760sr1sKpmjUyvk lG8Ie/D1Q8whxS7M9OGAnSMGC00dv15NIvfninnQMOCuTL1eydd8JliZTrzgwJLkA7/C XU1QR2PymN0vN4M1u/k13AQi6CYR+piSJHleBbTZ5LVx3jsjk+PnFWuKSEE+49sXDNgE 463w== Received: by 10.50.140.71 with SMTP id re7mr11065930igb.67.1335809331800; Mon, 30 Apr 2012 11:08:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.50.140.71 with SMTP id re7mr11065919igb.67.1335809331651; Mon, 30 Apr 2012 11:08:51 -0700 (PDT) Received: by 10.231.0.130 with HTTP; Mon, 30 Apr 2012 11:08:51 -0700 (PDT) In-Reply-To: <878vhh2bhp.fsf@fleche.redhat.com> References: <87r4v941bu.fsf@fleche.redhat.com> <20120427194254.GQ10958@adacore.com> <878vhh2bhp.fsf@fleche.redhat.com> Date: Mon, 30 Apr 2012 18:43:00 -0000 Message-ID: Subject: Re: Script to compare pubnames, gdb index as produced by gold and gdb index as produced by gdb From: Sterling Augustine To: Tom Tromey Cc: Joel Brobecker , Doug Evans , gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=e89a8f83a351b364d504bee9582a X-System-Of-Record: true X-Gm-Message-State: ALoCoQnoo3fvmIGqr6x68hnrPGv3I5rD5S8zmeyI80tebrajbD2ZXhAl38BNH0VSl5+KWrXN+5U1HaY0/C1azxZUrRTIwJI4yAyt0LWACd2WBnHUvJEkbCuM8uaDH+xg3iINE7ejpULe3+L1O0w4YKGZYz7Mm7XVYw== Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-04/txt/msg01083.txt.bz2 --e89a8f83a351b364d504bee9582a Content-Type: text/plain; charset=ISO-8859-1 Content-length: 595 On Fri, Apr 27, 2012 at 12:58 PM, Tom Tromey wrote: > Joel> I don't have a preference, but ISTR that we were generally in favor > Joel> of fewer ChangeLog files. > > Yes, please, I'd prefer no new ones. > They are a pain to deal with and I don't think separate ones add much value. Alright then. I have committed the following patch which creates a new gdb/contrib directory and populates it with test_pubnames_and_indexes.py. Sterling 2012-04-26 Sterling Augustine * contrib: New directory. * contrib/test_pubnames_and_indexes.py: New file. --e89a8f83a351b364d504bee9582a Content-Type: application/octet-stream; name="test_pubnames.patch" Content-Disposition: attachment; filename="test_pubnames.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h1nudtmb0 Content-length: 9362 SW5kZXg6IGNvbnRyaWIvdGVzdF9wdWJuYW1lc19hbmRfaW5kZXhlcy5weQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBjb250cmliL3Rlc3Rf cHVibmFtZXNfYW5kX2luZGV4ZXMucHkKZGlmZiAtTiBjb250cmliL3Rlc3Rf cHVibmFtZXNfYW5kX2luZGV4ZXMucHkKLS0tIC9kZXYvbnVsbAkxIEphbiAx OTcwIDAwOjAwOjAwIC0wMDAwCisrKyBjb250cmliL3Rlc3RfcHVibmFtZXNf YW5kX2luZGV4ZXMucHkJMzAgQXByIDIwMTIgMTg6MDQ6MDYgLTAwMDAKQEAg LTAsMCArMSwyMDcgQEAKKyMhIC91c3IvYmluL2VudiBweXRob24KKworIyBD b3B5cmlnaHQgKEMpIDIwMTEtMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgorIwor IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKworIyBUaGlzIHByb2dyYW0gcmVxdWlyZXMgcmVh ZGVsZiwgZ2RiIGFuZCBvYmpjb3B5LiAgVGhlIGRlZmF1bHQgdmFsdWVzIGFy ZSBnZGIKKyMgZnJvbSB0aGUgYnVpbGQgdHJlZSBhbmQgb2JqY29weSBhbmQg cmVhZGVsZiBmcm9tICRQQVRILiAgVGhleSBtYXkgYmUKKyMgb3ZlcnJpZGRl biBieSBzZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBHREIsIFJFQURF TEYgYW5kIE9CSkNPUFkKKyMgcmVzcGVjdGl2ZWx5LiAgV2UgYXNzdW1lIHRo ZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBlaXRoZXIgJG9iai9nZGIgb3IKKyMg JG9iai9nZGIvdGVzdHN1aXRlLgorIworIyBFeGFtcGxlIHVzYWdlOgorIwor IyBiYXNoJCBjZCAkb2JqZGlyL2dkYi90ZXN0c3VpdGUKKyMgYmFzaCQgcHl0 aG9uIHRlc3RfcHVibmFtZXNfYW5kX2luZGV4ZXMucHkgPGJpbmFyeV9uYW1l PgorCisiIiJ0ZXN0X3B1Ym5hbWVzX2FuZF9pbmRleGVzLnB5CisKK1Rlc3Qg dGhhdCB0aGUgZ2RiX2luZGV4IHByb2R1Y2VkIGJ5IGdvbGQgaXMgaWRlbnRp Y2FsIHRvIHRoZSBnZGJfaW5kZXgKK3Byb2R1Y2VkIGJ5IGdkYiBpdHNlbGYu CisKK0Z1cnRoZXIgY2hlY2sgdGhhdCB0aGUgcHVibmFtZXMgYW5kIHB1YnR5 cGVzIHByb2R1Y2VkIGJ5IGdjYyBhcmUgaWRlbnRpY2FsCit0byB0aG9zZSB0 aGF0IGdkYiBwcm9kdWNlcy4KKworRmluYWxseSwgY2hlY2sgdGhhdCBhbGwg c3RyaW5ncyBhcmUgY2Fub25pY2FsaXplZCBpZGVudGljYWxseS4KKyIiIgor CitfX2F1dGhvcl9fID0gJ3NhdWd1c3RpbmVAZ29vZ2xlLmNvbSAoU3Rlcmxp bmcgQXVndXN0aW5lKScKKworaW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2Vz cworaW1wb3J0IHN5cworCitPQkpDT1BZID0gTm9uZQorUkVBREVMRiA9IE5v bmUKK0dEQiA9IE5vbmUKKworZGVmIGdldF9wdWJfaW5mbyhmaWxlbmFtZSwg cmVhZGVsZl9vcHRpb24pOgorICAiIiJQYXJzZSBhbmQgcmV0dXJuIGFsbCB0 aGUgcHVibmFtZXMgb3IgcHVidHlwZXMgcHJvZHVjZWQgYnkgcmVhZGVsZiB3 aXRoIHRoZQorICBnaXZlbiBvcHRpb24uCisgICIiIgorICByZWFkZWxmID0g c3VicHJvY2Vzcy5Qb3BlbihbUkVBREVMRiwgJy0tZGVidWctZHVtcD0nICsg cmVhZGVsZl9vcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmaWxlbmFtZV0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUp CisgIHB1Ym5hbWVzID0gW10KKworICBpbl9saXN0ID0gRmFsc2U7CisgIGZv ciBsaW5lIGluIHJlYWRlbGYuc3Rkb3V0OgorICAgIGZpZWxkcyA9IGxpbmUu c3BsaXQoTm9uZSwgMSkKKyAgICBpZiAobGVuKGZpZWxkcykgPT0gMiBhbmQg ZmllbGRzWzBdID09ICdPZmZzZXQnCisgICAgICAgIGFuZCBmaWVsZHNbMV0u c3RyaXAoKSA9PSAnTmFtZScpOgorICAgICAgaW5fbGlzdCA9IFRydWUKKyAg ICAjIEVpdGhlciBhIGJsYW5rLWxpbmUgb3IgYSBuZXcgTGVuZ3RoIGZpZWxk IHRlcm1pbmF0ZXMgdGhlIGN1cnJlbnQgc2VjdGlvbi4KKyAgICBlbGlmIChs ZW4oZmllbGRzKSA9PSAwIG9yIGZpZWxkc1swXSA9PSAnTGVuZ3RoOicpOgor ICAgICAgaW5fbGlzdCA9IEZhbHNlOworICAgIGVsaWYgKGluX2xpc3QpOgor ICAgICAgcHVibmFtZXMuYXBwZW5kKGZpZWxkc1sxXS5zdHJpcCgpKQorCisg IHJlYWRlbGYud2FpdCgpCisgIHJldHVybiBwdWJuYW1lcworCisKK2RlZiBn ZXRfZ2RiX2luZGV4KGZpbGVuYW1lKToKKyAgIiIiVXNlIHJlYWRlbGYgdG8g ZHVtcCB0aGUgZ2RiIGluZGV4IGFuZCBjb2xsZWN0IHRoZSB0eXBlcyBhbmQg bmFtZXMiIiIKKyAgcmVhZGVsZiA9IHN1YnByb2Nlc3MuUG9wZW4oW1JFQURF TEYsICctLWRlYnVnLWR1bXA9Z2RiX2luZGV4JywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZpbGVuYW1lXSwgc3Rkb3V0PXN1YnByb2Nlc3Mu UElQRSkKKyAgaW5kZXhfc3ltYm9scyA9IFtdCisgIHN5bWJvbF90YWJsZV9z dGFydGVkID0gRmFsc2UKKyAgZm9yIGxpbmUgaW4gcmVhZGVsZi5zdGRvdXQ6 CisgICAgaWYgKGxpbmUgPT0gJ1N5bWJvbCB0YWJsZTpcbicpOgorICAgICAg c3ltYm9sX3RhYmxlX3N0YXJ0ZWQgPSBUcnVlOworICAgIGVsaWYgKHN5bWJv bF90YWJsZV9zdGFydGVkKToKKyAgICAgICMgUmVhZGVsZiBwcmludHMgZ2Ri LWluZGV4IGxpbmVzIGZvcm1hdHRlZCBsaWtlIHNvOgorICAgICAgIyBbICA0 XSB0d286OmMyPGRvdWJsZT46OmMyOiAwCisgICAgICAjIFNvIHRha2UgdGhl IHN0cmluZyBiZXR3ZWVuIHRoZSBmaXJzdCBjbG9zZSBicmFja2V0IGFuZCB0 aGUgbGFzdCBjb2xvbi4KKyAgICAgIGluZGV4X3N5bWJvbHMuYXBwZW5kKGxp bmVbbGluZS5maW5kKCddJykgKyAyOiBsaW5lLnJmaW5kKCc6JyldKQorCisg IHJlYWRlbGYud2FpdCgpCisgIHJldHVybiBpbmRleF9zeW1ib2xzCisKKwor ZGVmIENoZWNrU2V0cyhsaXN0MCwgbGlzdDEsIG5hbWUwLCBuYW1lMSk6Cisg ICIiIlJlcG9ydCBhbnkgc2V0d2lzZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRo ZSB0d28gbGlzdHMiIiIKKworICBpZiBsZW4obGlzdDApID09IDAgb3IgbGVu KGxpc3QxKSA9PSAwOgorICAgIHJldHVybiBGYWxzZQorCisgIGRpZmZlcmVu Y2UwID0gc2V0KGxpc3QwKSAtIHNldChsaXN0MSkKKyAgaWYgbGVuKGRpZmZl cmVuY2UwKSAhPSAwOgorICAgIHByaW50ICJFbGVtZW50cyBpbiAiICsgbmFt ZTAgKyAiIGJ1dCBub3QgIiArIG5hbWUxICsgIjogKCIsCisgICAgcHJpbnQg bGVuKGRpZmZlcmVuY2UwKSwKKyAgICBwcmludCAiKSIKKyAgICBmb3IgZWxl bWVudCBpbiBkaWZmZXJlbmNlMDoKKyAgICAgIHByaW50ICIgICIgKyBlbGVt ZW50CisKKyAgZGlmZmVyZW5jZTEgPSBzZXQobGlzdDEpIC0gc2V0KGxpc3Qw KQorICBpZiBsZW4oZGlmZmVyZW5jZTEpICE9IDA6CisgICAgcHJpbnQgIkVs ZW1lbnRzIGluICIgKyBuYW1lMSArICIgYnV0IG5vdCAiICsgbmFtZTAgKyAi OiAoIiwKKyAgICBwcmludCBsZW4oZGlmZmVyZW5jZTEpLAorICAgIHByaW50 ICIpIgorICAgIGZvciBlbGVtZW50IGluIGRpZmZlcmVuY2UxOgorICAgICAg cHJpbnQgIiAgIiArIGVsZW1lbnQKKworICBpZiAobGVuKGRpZmZlcmVuY2Uw KSAhPSAwIG9yIGxlbihkaWZmZXJlbmNlMSkgIT0gMCk6CisgICAgcmV0dXJu IFRydWUKKworICBwcmludCBuYW1lMCArICIgYW5kICIgKyBuYW1lMSArICIg YXJlIGlkZW50aWNhbC4iCisgIHJldHVybiBGYWxzZQorCisKK2RlZiBmaW5k X2V4ZWN1dGFibGVzKCk6CisgICIiIkZpbmQgdGhlIGNvcGllcyBvZiByZWFk ZWxmLCBvYmpjb3B5IGFuZCBnZGIgdG8gdXNlLiIiIgorICAjIEV4ZWN1dGFi bGUgZmluZGluZyBsb2dpYyBmb2xsb3dzIGNjLXdpdGgtaW5kZXguc2gKKyAg Z2xvYmFsIFJFQURFTEYKKyAgUkVBREVMRiA9IG9zLmdldGVudignUkVBREVM RicpCisgIGlmIFJFQURFTEYgaXMgTm9uZToKKyAgICBSRUFERUxGID0gJ3Jl YWRlbGYnCisgIGdsb2JhbCBPQkpDT1BZCisgIE9CSkNPUFkgPSBvcy5nZXRl bnYoJ09CSkNPUFknKQorICBpZiBPQkpDT1BZIGlzIE5vbmU6CisgICAgT0JK Q09QWSA9ICdvYmpjb3B5JworCisgIGdsb2JhbCBHREIKKyAgR0RCID0gb3Mu Z2V0ZW52KCdHREInKQorICBpZiAoR0RCIGlzIE5vbmUpOgorICAgIGlmIG9z LnBhdGguaXNmaWxlKCcuL2dkYicpIGFuZCBvcy5hY2Nlc3MoJy4vZ2RiJywg b3MuWF9PSyk6CisgICAgICBHREIgPSAnLi9nZGInCisgICAgZWxpZiBvcy5w YXRoLmlzZmlsZSgnLi4vZ2RiJykgYW5kIG9zLmFjY2VzcygnLi4vZ2RiJywg b3MuWF9PSyk6CisgICAgICBHREIgPSAnLi4vZ2RiJworICAgIGVsaWYgb3Mu cGF0aC5pc2ZpbGUoJy4uLy4uL2dkYicpIGFuZCBvcy5hY2Nlc3MoJy4uLy4u L2dkYicsIG9zLlhfT0spOgorICAgICAgR0RCID0gJy4uLy4uL2dkYicKKyAg ICBlbHNlOgorICAgICAgIyBQdW50IGFuZCB1c2UgdGhlIGdkYiBpbiB0aGUg cGF0aC4KKyAgICAgIEdEQiA9ICdnZGInCisKKworZGVmIG1haW4oYXJndik6 CisgICIiIlRoZSBtYWluIHN1YnByb2dyYW0uIiIiCisgIGlmIGxlbihhcmd2 KSAhPSAyOgorICAgIHByaW50ICJVc2FnZTogdGVzdF9wdWJuYW1lc19hbmRf aW5kZXhlcy5weSA8ZmlsZW5hbWU+IgorICAgIHN5cy5leGl0KDIpCisKKyAg ZmluZF9leGVjdXRhYmxlcygpOworCisgICMgR2V0IHRoZSBpbmRleCBwcm9k dWNlZCBieSBHb2xkLS1JdCBzaG91bGQgaGF2ZSBiZWVuIGJ1aWx0IGludG8g dGhlIGJpbmFyeS4KKyAgZ29sZF9pbmRleCA9IGdldF9nZGJfaW5kZXgoYXJn dlsxXSkKKworICAjIENvbGxlY3QgdGhlIHB1Ym5hbWVzIGFuZCB0eXBlcyBs aXN0CisgIHB1YnNfbGlzdCA9IGdldF9wdWJfaW5mbyhhcmd2WzFdLCAicHVi bmFtZXMiKQorICBwdWJzX2xpc3QgPSBwdWJzX2xpc3QgKyBnZXRfcHViX2lu Zm8oYXJndlsxXSwgInB1YnR5cGVzIikKKworICAjIEdlbmVyYXRlIGEgLmdk Yl9pbmRleCB3aXRoIGdkYgorICBnZGJfaW5kZXhfZmlsZSA9IGFyZ3ZbMV0g KyAnLmdkYi1nZW5lcmF0ZWQtaW5kZXgnCisgIHN1YnByb2Nlc3MuY2hlY2tf Y2FsbChbT0JKQ09QWSwgJy0tcmVtb3ZlLXNlY3Rpb24nLCAnLmdkYl9pbmRl eCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgYXJndlsxXSwgZ2RiX2lu ZGV4X2ZpbGVdKQorICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoW0dEQiwgJy1i YXRjaCcsICctbngnLCBnZGJfaW5kZXhfZmlsZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAnLWV4JywgJ3NhdmUgZ2RiLWluZGV4ICcgKyBvcy5wYXRo LmRpcm5hbWUoYXJndlsxXSksCisgICAgICAgICAgICAgICAgICAgICAgICAg Jy1leCcsICdxdWl0J10pCisgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbT0JK Q09QWSwgJy0tYWRkLXNlY3Rpb24nLAorICAgICAgICAgICAgICAgICAgICAg ICAgICcuZ2RiX2luZGV4PScgKyBnZGJfaW5kZXhfZmlsZSArICcuZ2RiLWlu ZGV4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICBnZGJfaW5kZXhfZmls ZV0pCisgIGdkYl9pbmRleCA9IGdldF9nZGJfaW5kZXgoZ2RiX2luZGV4X2Zp bGUpCisgIG9zLnJlbW92ZShnZGJfaW5kZXhfZmlsZSkKKyAgb3MucmVtb3Zl KGdkYl9pbmRleF9maWxlICsgJy5nZGItaW5kZXgnKQorCisgIGZhaWxlZCA9 IEZhbHNlCisgIGdkYl9pbmRleC5zb3J0KCkKKyAgZ29sZF9pbmRleC5zb3J0 KCkKKyAgcHVic19saXN0LnNvcnQoKQorCisgICMgRmluZCB0aGUgZGlmZmVy ZW5jZXMgYmV0d2VlbiB0aGUgdmFyaW91cyBpbmRpY2VzLgorICBpZiBsZW4o Z29sZF9pbmRleCkgPT0gMDoKKyAgICBwcmludCAiR29sZCBpbmRleCBpcyBl bXB0eSIKKyAgICBmYWlsZWQgfD0gVHJ1ZQorCisgIGlmIGxlbihnZGJfaW5k ZXgpID09IDA6CisgICAgcHJpbnQgIkdkYiBpbmRleCBpcyBlbXB0eSIKKyAg ICBmYWlsZWQgfD0gVHJ1ZQorCisgIGlmIGxlbihwdWJzX2xpc3QpID09IDA6 CisgICAgcHJpbnQgIlB1YnMgbGlzdCBpcyBlbXB0eSIKKyAgICBmYWlsZWQg fD0gVHJ1ZQorCisgIGZhaWxlZCB8PSBDaGVja1NldHMoZ2RiX2luZGV4LCBn b2xkX2luZGV4LCAiZ2RiIGluZGV4IiwgImdvbGQgaW5kZXgiKQorICBmYWls ZWQgfD0gQ2hlY2tTZXRzKHB1YnNfbGlzdCwgZ29sZF9pbmRleCwgInB1YnMg bGlzdCIsICJnb2xkIGluZGV4IikKKyAgZmFpbGVkIHw9IENoZWNrU2V0cyhw dWJzX2xpc3QsIGdkYl9pbmRleCwgInB1YnMgbGlzdCIsICJnZGIgaW5kZXgi KQorCisgIGlmIGZhaWxlZDoKKyAgICBwcmludCAiVGVzdCBmYWlsZWQiCisg ICAgc3lzLmV4aXQoMSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18n OgorICBtYWluKHN5cy5hcmd2KQo= --e89a8f83a351b364d504bee9582a--