From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-2.9 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id B45121F85E for ; Thu, 12 Jul 2018 12:19:05 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=Dtz6 EYcSiosOt9lqeWYEAcDn+ABjHauxaCCbkO6RfHuO7pdDfBxLdX2Xdw8cicOBS/kG wvWM3fNicpohAQl0fNJfGZ2vB6eGKa3FJB3bFLWYVLoh6Cx279aO4xrUX9xVL2ZR sc+mO0om4J30/KkAu4eybKxclvQTs4DXGo80aiA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=eoWaskw7lT FUiSEojsgiXbB3ie4=; b=MSLkpznEDEUTpSpSCT5qq95p0oBrPF9J6n3JJEU1US TR6KT/xEsAuTEqjSI0U7YXKEy81Y2Ny7lcEIH9cItO4f5p7I7HkNrPt0KUgZ3DYz NOBYnlYKRQ/j67WR5oXJKsBoukp2yuQoYQGzFdRY336WO7FBSYkdwRqRKDmCxSl0 o= Received: (qmail 83056 invoked by alias); 12 Jul 2018 12:19:02 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 83030 invoked by uid 89); 12 Jul 2018 12:19:02 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mx1.redhat.com Subject: Re: [PATCH v8 1/8] nptl: Add C11 threads thrd_* functions To: Adhemerval Zanella , Szabolcs Nagy , libc-alpha@sourceware.org Cc: nd@arm.com References: <1517591084-11347-1-git-send-email-adhemerval.zanella@linaro.org> <1517591084-11347-2-git-send-email-adhemerval.zanella@linaro.org> <23dd1909-5ec2-34b7-9672-827251a4be65@redhat.com> <176c958e-45d6-c1fc-49e4-4eca813d460f@linaro.org> <0566f5a5-f56c-7dd9-5ba6-91c67d9633e9@arm.com> <1fdcdd41-5160-f6db-e585-9775e5b581c3@linaro.org> From: Florian Weimer Message-ID: Date: Thu, 12 Jul 2018 14:18:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <1fdcdd41-5160-f6db-e585-9775e5b581c3@linaro.org> Content-Type: multipart/mixed; boundary="------------EDD999A663D23A459666B6C6" This is a multi-part message in MIME format. --------------EDD999A663D23A459666B6C6 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 07/11/2018 06:24 PM, Adhemerval Zanella wrote: > > > On 11/07/2018 12:49, Szabolcs Nagy wrote: >> On 10/07/18 20:26, Adhemerval Zanella wrote: >>> >>> >>> On 06/07/2018 09:46, Florian Weimer wrote: >>>> On 02/02/2018 06:04 PM, Adhemerval Zanella wrote: >>>>> @@ -139,7 +139,9 @@ libpthread-routines = nptl-init vars events version pt-interp \ >>>>>                  pthread_mutex_getprioceiling \ >>>>>                  pthread_mutex_setprioceiling \ >>>>>                  pthread_setname pthread_getname \ >>>>> -              pthread_setattr_default_np pthread_getattr_default_np >>>>> +              pthread_setattr_default_np pthread_getattr_default_np \ >>>>> +              thrd_create thrd_current thrd_detach thrd_equal \ >>>> >>>> thrd_current should live in libc, not in libpthread.  Same for thrd_equal, I suppose.  You should just duplicate the comparison, seeing that we haven't done that particular cleanup for pthread_equal yet. >>>> >>>> Not sure about thrd_sleep and thrd_yield, but I lean towards libc there as well. >>> >>> Right, I added all four symbols (thrd_current, thrd_equal, thrd_sleep, and >>> thrd_yield) to libc on my personal branch [1] (the change is just to move >>> the objects from libpthread-routines to routines rule in nptl/Makefile). >>> I also adjusted the abilist patch with the change. >>> >> >> the abilist patch seems to add >> sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist >> i think you can drop that (and update the ChangeLog). > > Thanks for catching this up, I fixed on my personal c11 thread branch. I still see the attached ABI diffs. There is also a new linknamespace failure on hppa: [initial] thrd_create -> [libpthread.a(thrd_create.o)] __pthread_create_2_1 -> [libpthread.a(pthread_create.o)] mprotect That should be easy to fix. I'll post a separate patch for that. Thanks, Florian --------------EDD999A663D23A459666B6C6 Content-Type: text/plain; charset=UTF-8; name="abi-diffs.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="abi-diffs.txt" PT0+IC9ob21lL2JtZy9idWlsZC9nbGliY3MvaTY4Ni1nbnUvZ2xpYmMvaHVyZC9jaGVjay1h YmktbGliaHVyZHVzZXIub3V0IDw9PQotLS0gLi4vc3lzZGVwcy9tYWNoL2h1cmQvbGliaHVy ZHVzZXIuYWJpbGlzdAkyMDE4LTA3LTA1IDA2OjEwOjQ5LjI0MzI0ODkxNiAtMDQwMAorKysg L2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9pNjg2LWdudS9nbGliYy9odXJkL2xpYmh1cmR1c2Vy LnN5bWxpc3QJMjAxOC0wNy0xMiAwNzozODoxNy40MDUyMDQ3OTcgLTA0MDAKQEAgLTAsMCAr MSw2MTEgQEAKK0Jhc2UgX1NfbXNnX3NlcnZlciBGCitCYXNlIF9TX21zZ19zZXJ2ZXJfcm91 dGluZXMgRCAweDY0CitCYXNlIF9fYXV0aF9nZXRpZHMgRgorQmFzZSBfX2F1dGhfbWFrZWF1 dGggRgorQmFzZSBfX2F1dGhfc2VydmVyX2F1dGhlbnRpY2F0ZSBGCitCYXNlIF9fYXV0aF91 c2VyX2F1dGhlbnRpY2F0ZSBGCitCYXNlIF9fYnNzX3N0YXJ0IEJhc2UgZyA/IEQgLmJzcyAw MDAwMDAwMAorQmFzZSBfX2NyYXNoX2R1bXBfdGFzayBGCitCYXNlIF9fZGlyX2xpbmsgRgor QmFzZSBfX2Rpcl9sb29rdXAgRgorQmFzZSBfX2Rpcl9ta2RpciBGCitCYXNlIF9fZGlyX21r ZmlsZSBGCitCYXNlIF9fZGlyX25vdGljZV9jaGFuZ2VzIEYKK0Jhc2UgX19kaXJfcmVhZGRp ciBGCitCYXNlIF9fZGlyX3JlbmFtZSBGCitCYXNlIF9fZGlyX3JtZGlyIEYKK0Jhc2UgX19k aXJfdW5saW5rIEYKK0Jhc2UgX19leGVjX2V4ZWMgRgorQmFzZSBfX2V4ZWNfZXhlY19wYXRo cyBGCitCYXNlIF9fZXhlY19pbml0IEYKK0Jhc2UgX19leGVjX3NldGV4ZWNkYXRhIEYKK0Jh c2UgX19leGVjX3N0YXJ0dXBfZ2V0X2luZm8gRgorQmFzZSBfX2ZpbGVfY2hhdXRob3IgRgor QmFzZSBfX2ZpbGVfY2hlY2tfYWNjZXNzIEYKK0Jhc2UgX19maWxlX2NoZmxhZ3MgRgorQmFz ZSBfX2ZpbGVfY2htb2QgRgorQmFzZSBfX2ZpbGVfY2hvd24gRgorQmFzZSBfX2ZpbGVfZXhl YyBGCitCYXNlIF9fZmlsZV9leGVjX3BhdGhzIEYKK0Jhc2UgX19maWxlX2dldF9mc19vcHRp b25zIEYKK0Jhc2UgX19maWxlX2dldF9zdG9yYWdlX2luZm8gRgorQmFzZSBfX2ZpbGVfZ2V0 X3RyYW5zbGF0b3IgRgorQmFzZSBfX2ZpbGVfZ2V0X3RyYW5zbGF0b3JfY250bCBGCitCYXNl IF9fZmlsZV9nZXRjb250cm9sIEYKK0Jhc2UgX19maWxlX2dldGZoIEYKK0Jhc2UgX19maWxl X2dldGxpbmtub2RlIEYKK0Jhc2UgX19maWxlX2xvY2sgRgorQmFzZSBfX2ZpbGVfbG9ja19z dGF0IEYKK0Jhc2UgX19maWxlX25vdGljZV9jaGFuZ2VzIEYKK0Jhc2UgX19maWxlX3JlcGFy ZW50IEYKK0Jhc2UgX19maWxlX3NldF9zaXplIEYKK0Jhc2UgX19maWxlX3NldF90cmFuc2xh dG9yIEYKK0Jhc2UgX19maWxlX3N0YXRmcyBGCitCYXNlIF9fZmlsZV9zeW5jIEYKK0Jhc2Ug X19maWxlX3N5bmNmcyBGCitCYXNlIF9fZmlsZV91dGltZW5zIEYKK0Jhc2UgX19maWxlX3V0 aW1lcyBGCgo9PT4gL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9pNjg2LWdudS9nbGliYy9tYWNo L2NoZWNrLWFiaS1saWJtYWNodXNlci5vdXQgPD09Ci0tLSAuLi9zeXNkZXBzL21hY2gvbGli bWFjaHVzZXIuYWJpbGlzdAkyMDE4LTA3LTA1IDA2OjEwOjQ5LjI1NDI0OTIwNyAtMDQwMAor KysgL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9pNjg2LWdudS9nbGliYy9tYWNoL2xpYm1hY2h1 c2VyLnN5bWxpc3QJMjAxOC0wNy0xMiAwNzozNjo0NS44Mzc2NTgxMDAgLTA0MDAKQEAgLTAs MCArMSwzMTkgQEAKK0Jhc2UgX1NfZXhjX3NlcnZlciBGCitCYXNlIF9TX2V4Y19zZXJ2ZXJf cm91dGluZXMgRCAweDQKK0Jhc2UgX19ic3Nfc3RhcnQgQmFzZSBnID8gRCAuYnNzIDAwMDAw MDAwCitCYXNlIF9fZGVmYXVsdF9wYWdlcl9pbmZvIEYKK0Jhc2UgX19kZWZhdWx0X3BhZ2Vy X29iamVjdF9jcmVhdGUgRgorQmFzZSBfX2RlZmF1bHRfcGFnZXJfb2JqZWN0X3BhZ2VzIEYK K0Jhc2UgX19kZWZhdWx0X3BhZ2VyX29iamVjdHMgRgorQmFzZSBfX2RlZmF1bHRfcGFnZXJf cGFnaW5nX2ZpbGUgRgorQmFzZSBfX2RlZmF1bHRfcGFnZXJfcmVnaXN0ZXJfZmlsZXNlcnZl ciBGCitCYXNlIF9fZGV2aWNlX2Nsb3NlIEYKK0Jhc2UgX19kZXZpY2VfZ2V0X3N0YXR1cyBG CitCYXNlIF9fZGV2aWNlX21hcCBGCitCYXNlIF9fZGV2aWNlX29wZW4gRgorQmFzZSBfX2Rl dmljZV9vcGVuX3JlcXVlc3QgRgorQmFzZSBfX2RldmljZV9yZWFkIEYKK0Jhc2UgX19kZXZp Y2VfcmVhZF9pbmJhbmQgRgorQmFzZSBfX2RldmljZV9yZWFkX3JlcXVlc3QgRgorQmFzZSBf X2RldmljZV9yZWFkX3JlcXVlc3RfaW5iYW5kIEYKK0Jhc2UgX19kZXZpY2Vfc2V0X2ZpbHRl ciBGCitCYXNlIF9fZGV2aWNlX3NldF9zdGF0dXMgRgorQmFzZSBfX2RldmljZV93cml0ZSBG CitCYXNlIF9fZGV2aWNlX3dyaXRlX2luYmFuZCBGCitCYXNlIF9fZGV2aWNlX3dyaXRlX3Jl cXVlc3QgRgorQmFzZSBfX2RldmljZV93cml0ZV9yZXF1ZXN0X2luYmFuZCBGCitCYXNlIF9f ZXhjZXB0aW9uX3JhaXNlIEYKK0Jhc2UgX19nc3luY19yZXF1ZXVlIEYKK0Jhc2UgX19nc3lu Y193YWl0IEYKK0Jhc2UgX19nc3luY193YWtlIEYKK0Jhc2UgX19ob3N0X2FkanVzdF90aW1l IEYKK0Jhc2UgX19ob3N0X2dldF9ib290X2luZm8gRgorQmFzZSBfX2hvc3RfZ2V0X3RpbWUg RgorQmFzZSBfX2hvc3RfaW5mbyBGCitCYXNlIF9faG9zdF9rZXJuZWxfdmVyc2lvbiBGCitC YXNlIF9faG9zdF9wcm9jZXNzb3Jfc2V0X3ByaXYgRgorQmFzZSBfX2hvc3RfcHJvY2Vzc29y X3NldHMgRgorQmFzZSBfX2hvc3RfcHJvY2Vzc29ycyBGCitCYXNlIF9faG9zdF9yZWJvb3Qg RgorQmFzZSBfX2hvc3Rfc2V0X3RpbWUgRgorQmFzZSBfX2kzODZfZ2V0X2dkdCBGCitCYXNl IF9faTM4Nl9nZXRfbGR0IEYKK0Jhc2UgX19pMzg2X2lvX3Blcm1fY3JlYXRlIEYKK0Jhc2Ug X19pMzg2X2lvX3Blcm1fbW9kaWZ5IEYKK0Jhc2UgX19pMzg2X3NldF9nZHQgRgorQmFzZSBf X2kzODZfc2V0X2xkdCBGCitCYXNlIF9fbWFjaF9ub3RpZnlfbmV3X3Rhc2sgRgorQmFzZSBf X21hY2hfcG9ydF9hbGxvY2F0ZV9uYW1lX3JwYyBGCitCYXNlIF9fbWFjaF9wb3J0X2FsbG9j YXRlX3JwYyBGCgo9PT4gL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9tNjhrLWxpbnV4LWdudS1j b2xkZmlyZS9nbGliYy9lbGYvY2hlY2stYWJpLWxpYmMub3V0IDw9PQotLS0gLi4vc3lzZGVw cy91bml4L3N5c3YvbGludXgvbTY4ay9jb2xkZmlyZS9saWJjLmFiaWxpc3QJMjAxOC0wNy0x MCAwODoxNTo1My41MzUyMjc2MTMgLTA0MDAKKysrIC9ob21lL2JtZy9idWlsZC9nbGliY3Mv bTY4ay1saW51eC1nbnUtY29sZGZpcmUvZ2xpYmMvbGliYy5zeW1saXN0CTIwMTgtMDctMTIg MDc6NTQ6MTcuMTI2OTg5Nzc4IC0wNDAwCkBAIC0xMjIsMCArMTIzLDQgQEAgR0xJQkNfMi4y OCBzdGF0eCBGCitHTElCQ18yLjI4IHRocmRfY3VycmVudCBGCitHTElCQ18yLjI4IHRocmRf ZXF1YWwgRgorR0xJQkNfMi4yOCB0aHJkX3NsZWVwIEYKK0dMSUJDXzIuMjggdGhyZF95aWVs ZCBGCgo9PT4gL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9tNjhrLWxpbnV4LWdudS1jb2xkZmly ZS9nbGliYy9ucHRsL2NoZWNrLWFiaS1saWJwdGhyZWFkLm91dCA8PT0KLS0tIC4uL3N5c2Rl cHMvdW5peC9zeXN2L2xpbnV4L202OGsvY29sZGZpcmUvbGlicHRocmVhZC5hYmlsaXN0CTIw MTgtMDctMTIgMDc6MTQ6MjQuMzc2MTY1ODk4IC0wNDAwCisrKyAvaG9tZS9ibWcvYnVpbGQv Z2xpYmNzL202OGstbGludXgtZ251LWNvbGRmaXJlL2dsaWJjL25wdGwvbGlicHRocmVhZC5z eW1saXN0CTIwMTgtMDctMTIgMDc6NDQ6MTkuMjg1NjgzNzg0IC0wNDAwCkBAIC0yMyArMjIs MCBAQCBHTElCQ18yLjI4IHRocmRfY3JlYXRlIEYKLUdMSUJDXzIuMjggdGhyZF9jdXJyZW50 IEYKQEAgLTI1ICsyMywwIEBAIEdMSUJDXzIuMjggdGhyZF9kZXRhY2ggRgotR0xJQkNfMi4y OCB0aHJkX2VxdWFsIEYKQEAgLTI4LDIgKzI1LDAgQEAgR0xJQkNfMi4yOCB0aHJkX2pvaW4g RgotR0xJQkNfMi4yOCB0aHJkX3NsZWVwIEYKLUdMSUJDXzIuMjggdGhyZF95aWVsZCBGCgo9 PT4gL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9tNjhrLWxpbnV4LWdudS1jb2xkZmlyZS1zb2Z0 L2dsaWJjL2VsZi9jaGVjay1hYmktbGliYy5vdXQgPD09Ci0tLSAuLi9zeXNkZXBzL3VuaXgv c3lzdi9saW51eC9tNjhrL2NvbGRmaXJlL2xpYmMuYWJpbGlzdAkyMDE4LTA3LTEwIDA4OjE1 OjUzLjUzNTIyNzYxMyAtMDQwMAorKysgL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9tNjhrLWxp bnV4LWdudS1jb2xkZmlyZS1zb2Z0L2dsaWJjL2xpYmMuc3ltbGlzdAkyMDE4LTA3LTEyIDA3 OjU5OjQyLjM2NTkzNDk2MCAtMDQwMApAQCAtMTIyLDAgKzEyMyw0IEBAIEdMSUJDXzIuMjgg c3RhdHggRgorR0xJQkNfMi4yOCB0aHJkX2N1cnJlbnQgRgorR0xJQkNfMi4yOCB0aHJkX2Vx dWFsIEYKK0dMSUJDXzIuMjggdGhyZF9zbGVlcCBGCitHTElCQ18yLjI4IHRocmRfeWllbGQg RgoKPT0+IC9ob21lL2JtZy9idWlsZC9nbGliY3MvbTY4ay1saW51eC1nbnUtY29sZGZpcmUt c29mdC9nbGliYy9ucHRsL2NoZWNrLWFiaS1saWJwdGhyZWFkLm91dCA8PT0KLS0tIC4uL3N5 c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvY29sZGZpcmUvbGlicHRocmVhZC5hYmlsaXN0 CTIwMTgtMDctMTIgMDc6MTQ6MjQuMzc2MTY1ODk4IC0wNDAwCisrKyAvaG9tZS9ibWcvYnVp bGQvZ2xpYmNzL202OGstbGludXgtZ251LWNvbGRmaXJlLXNvZnQvZ2xpYmMvbnB0bC9saWJw dGhyZWFkLnN5bWxpc3QJMjAxOC0wNy0xMiAwNzo0NTozOC4xMDIyNjkzOTIgLTA0MDAKQEAg LTIzICsyMiwwIEBAIEdMSUJDXzIuMjggdGhyZF9jcmVhdGUgRgotR0xJQkNfMi4yOCB0aHJk X2N1cnJlbnQgRgpAQCAtMjUgKzIzLDAgQEAgR0xJQkNfMi4yOCB0aHJkX2RldGFjaCBGCi1H TElCQ18yLjI4IHRocmRfZXF1YWwgRgpAQCAtMjgsMiArMjUsMCBAQCBHTElCQ18yLjI4IHRo cmRfam9pbiBGCi1HTElCQ18yLjI4IHRocmRfc2xlZXAgRgotR0xJQkNfMi4yOCB0aHJkX3lp ZWxkIEYKCj09PiAvaG9tZS9ibWcvYnVpbGQvZ2xpYmNzL21pcHNlbC1saW51eC1nbnUtbmFu MjAwOC1zb2Z0L2dsaWJjL2VsZi9jaGVjay1hYmktbGliYy5vdXQgPD09Ci0tLSAuLi9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHMzMi9ub2ZwdS9saWJjLmFiaWxpc3QJMjAx OC0wNy0xMCAwODoxNTo1My41MzYyMjc2MzggLTA0MDAKKysrIC9ob21lL2JtZy9idWlsZC9n bGliY3MvbWlwc2VsLWxpbnV4LWdudS1uYW4yMDA4LXNvZnQvZ2xpYmMvbGliYy5zeW1saXN0 CTIwMTgtMDctMTIgMDg6MDU6NDguODc1MzE1NDQ5IC0wNDAwCkBAIC0xOTYzLDAgKzE5NjQs NCBAQCBHTElCQ18yLjI4IHN0YXR4IEYKK0dMSUJDXzIuMjggdGhyZF9jdXJyZW50IEYKK0dM SUJDXzIuMjggdGhyZF9lcXVhbCBGCitHTElCQ18yLjI4IHRocmRfc2xlZXAgRgorR0xJQkNf Mi4yOCB0aHJkX3lpZWxkIEYKCj09PiAvaG9tZS9ibWcvYnVpbGQvZ2xpYmNzL21pcHNlbC1s aW51eC1nbnUtc29mdC9nbGliYy9lbGYvY2hlY2stYWJpLWxpYmMub3V0IDw9PQotLS0gLi4v c3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzMzIvbm9mcHUvbGliYy5hYmlsaXN0 CTIwMTgtMDctMTAgMDg6MTU6NTMuNTM2MjI3NjM4IC0wNDAwCisrKyAvaG9tZS9ibWcvYnVp bGQvZ2xpYmNzL21pcHNlbC1saW51eC1nbnUtc29mdC9nbGliYy9saWJjLnN5bWxpc3QJMjAx OC0wNy0xMiAwODowNzoyNi4yMzQ1Mjc0NzggLTA0MDAKQEAgLTE5NjMsMCArMTk2NCw0IEBA IEdMSUJDXzIuMjggc3RhdHggRgorR0xJQkNfMi4yOCB0aHJkX2N1cnJlbnQgRgorR0xJQkNf Mi4yOCB0aHJkX2VxdWFsIEYKK0dMSUJDXzIuMjggdGhyZF9zbGVlcCBGCitHTElCQ18yLjI4 IHRocmRfeWllbGQgRgoKPT0+IC9ob21lL2JtZy9idWlsZC9nbGliY3MvbWlwcy1saW51eC1n bnUtbmFuMjAwOC1zb2Z0L2dsaWJjL2VsZi9jaGVjay1hYmktbGliYy5vdXQgPD09Ci0tLSAu Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHMzMi9ub2ZwdS9saWJjLmFiaWxp c3QJMjAxOC0wNy0xMCAwODoxNTo1My41MzYyMjc2MzggLTA0MDAKKysrIC9ob21lL2JtZy9i dWlsZC9nbGliY3MvbWlwcy1saW51eC1nbnUtbmFuMjAwOC1zb2Z0L2dsaWJjL2xpYmMuc3lt bGlzdAkyMDE4LTA3LTEyIDA4OjAzOjUzLjM5NDI2NTc3NSAtMDQwMApAQCAtMTk2MywwICsx OTY0LDQgQEAgR0xJQkNfMi4yOCBzdGF0eCBGCitHTElCQ18yLjI4IHRocmRfY3VycmVudCBG CitHTElCQ18yLjI4IHRocmRfZXF1YWwgRgorR0xJQkNfMi4yOCB0aHJkX3NsZWVwIEYKK0dM SUJDXzIuMjggdGhyZF95aWVsZCBGCgo9PT4gL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9taXBz LWxpbnV4LWdudS1zb2Z0L2dsaWJjL2VsZi9jaGVjay1hYmktbGliYy5vdXQgPD09Ci0tLSAu Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHMzMi9ub2ZwdS9saWJjLmFiaWxp c3QJMjAxOC0wNy0xMCAwODoxNTo1My41MzYyMjc2MzggLTA0MDAKKysrIC9ob21lL2JtZy9i dWlsZC9nbGliY3MvbWlwcy1saW51eC1nbnUtc29mdC9nbGliYy9saWJjLnN5bWxpc3QJMjAx OC0wNy0xMiAwODowNDo0My43MjUwMzY4MzAgLTA0MDAKQEAgLTE5NjMsMCArMTk2NCw0IEBA IEdMSUJDXzIuMjggc3RhdHggRgorR0xJQkNfMi4yOCB0aHJkX2N1cnJlbnQgRgorR0xJQkNf Mi4yOCB0aHJkX2VxdWFsIEYKK0dMSUJDXzIuMjggdGhyZF9zbGVlcCBGCitHTElCQ18yLjI4 IHRocmRfeWllbGQgRgoKPT0+IC9ob21lL2JtZy9idWlsZC9nbGliY3MvcG93ZXJwYy1saW51 eC1nbnUtc29mdC9nbGliYy9lbGYvY2hlY2stYWJpLWxpYmMub3V0IDw9PQotLS0gLi4vc3lz ZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvbm9mcHUvbGliYy5hYmls aXN0CTIwMTgtMDctMTAgMDg6MTU6NTMuNTM3MjI3NjYzIC0wNDAwCisrKyAvaG9tZS9ibWcv YnVpbGQvZ2xpYmNzL3Bvd2VycGMtbGludXgtZ251LXNvZnQvZ2xpYmMvbGliYy5zeW1saXN0 CTIwMTgtMDctMTIgMDg6MDc6MDkuNzg2OTg0ODQ5IC0wNDAwCkBAIC0xOTk1LDAgKzE5OTYs NCBAQCBHTElCQ18yLjI4IHN0YXR4IEYKK0dMSUJDXzIuMjggdGhyZF9jdXJyZW50IEYKK0dM SUJDXzIuMjggdGhyZF9lcXVhbCBGCitHTElCQ18yLjI4IHRocmRfc2xlZXAgRgorR0xJQkNf Mi4yOCB0aHJkX3lpZWxkIEYKCj09PiAvaG9tZS9ibWcvYnVpbGQvZ2xpYmNzL3Bvd2VycGMt bGludXgtZ251c3BlLWU1MDB2MS9nbGliYy9lbGYvY2hlY2stYWJpLWxpYmMub3V0IDw9PQot LS0gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvbm9mcHUv bGliYy5hYmlsaXN0CTIwMTgtMDctMTAgMDg6MTU6NTMuNTM3MjI3NjYzIC0wNDAwCisrKyAv aG9tZS9ibWcvYnVpbGQvZ2xpYmNzL3Bvd2VycGMtbGludXgtZ251c3BlLWU1MDB2MS9nbGli Yy9saWJjLnN5bWxpc3QJMjAxOC0wNy0xMiAwODowNzoxMS44NzUwNTM3MzcgLTA0MDAKQEAg LTE5OTUsMCArMTk5Niw0IEBAIEdMSUJDXzIuMjggc3RhdHggRgorR0xJQkNfMi4yOCB0aHJk X2N1cnJlbnQgRgorR0xJQkNfMi4yOCB0aHJkX2VxdWFsIEYKK0dMSUJDXzIuMjggdGhyZF9z bGVlcCBGCitHTElCQ18yLjI4IHRocmRfeWllbGQgRgoKPT0+IC9ob21lL2JtZy9idWlsZC9n bGliY3MvcG93ZXJwYy1saW51eC1nbnVzcGUvZ2xpYmMvZWxmL2NoZWNrLWFiaS1saWJjLm91 dCA8PT0KLS0tIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMy L25vZnB1L2xpYmMuYWJpbGlzdAkyMDE4LTA3LTEwIDA4OjE1OjUzLjUzNzIyNzY2MyAtMDQw MAorKysgL2hvbWUvYm1nL2J1aWxkL2dsaWJjcy9wb3dlcnBjLWxpbnV4LWdudXNwZS9nbGli Yy9saWJjLnN5bWxpc3QJMjAxOC0wNy0xMiAwODowNzozMy43MjQ3NzQ1OTMgLTA0MDAKQEAg LTE5OTUsMCArMTk5Niw0IEBAIEdMSUJDXzIuMjggc3RhdHggRgorR0xJQkNfMi4yOCB0aHJk X2N1cnJlbnQgRgorR0xJQkNfMi4yOCB0aHJkX2VxdWFsIEYKK0dMSUJDXzIuMjggdGhyZF9z bGVlcCBGCitHTElCQ18yLjI4IHRocmRfeWllbGQgRgo= --------------EDD999A663D23A459666B6C6--