From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 67872 invoked by alias); 9 Nov 2016 09:52:00 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 67835 invoked by uid 89); 9 Nov 2016 09:51:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=activated, connected, hrb, gmbh X-HELO: mail.marco.de Received: from mail.marco.de (HELO mail.marco.de) (93.104.246.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 09 Nov 2016 09:51:48 +0000 Received: from mailbox.marco.de (mailbox [10.1.2.4]) by mail.marco.de (Postfix) with ESMTP id B6347762169 for ; Wed, 9 Nov 2016 10:51:45 +0100 (CET) Received: from [10.1.1.1] (hera.dachau.marco.de [10.1.1.1]) (Authenticated sender: leo) by mailbox.marco.de (Postfix) with ESMTPSA for ; Wed, 9 Nov 2016 10:51:45 +0100 (CET) Subject: Re: embedded system and "target remote" To: gdb@sourceware.org References: <5821A95F.2060408@marco.de> From: Matthias Pfaller Message-ID: <5822F1B0.6040403@marco.de> Date: Wed, 09 Nov 2016 09:52:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms080901080302010507050903" X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00012.txt.bz2 This is a cryptographically signed message in MIME format. --------------ms080901080302010507050903 Content-Type: multipart/mixed; boundary="------------010406080706030305060900" This is a multi-part message in MIME format. --------------010406080706030305060900 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 1125 Hi, I have done a patch that hands down thread information to remote.c. As this is the first time I had a look at the gdb sources I'm pretty sure my code is not suitable for integration... The patch has (at least) the following problems: - the thread id is needed in bp_target_info because this is what remote.c will get. Because of this I now have the thread id in three places (bp_location.thread, bp_location.overlay_target_info.thread and bp_location.target_info.thread). - there is no way to turn this off (I have no idea how this would normally be handled) - I have extended the Z0/Z1/z0/z1 to provide an additional parameter (the thread id) when target_info.thread is >=3D 0. regards, Matthias PS: The stub code will hopefully follow in a couple of days. --=20 Matthias Pfaller Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8131 5161 41 Hans-B=C3=B6ckler-Str. 2, D 85221 Dachau Fax +49 8131 5161 66 http://www.marco.de/ Email leo@marco.de Gesch=C3=A4ftsf=C3=BChrer Martin Reuter HRB 171775 Amtsgericht = M=C3=BCnchen --------------010406080706030305060900 Content-Type: text/plain; charset=UTF-8; name="gdb-patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gdb-patch" Content-length: 5991 LS0tIC4uL29yaWcvZ2RiL2JyZWFrcG9pbnQuYworKysgLi9nZGIvYnJlYWtw b2ludC5jCkBAIC03MjY3LDcgKzcyNjcsOCBAQAogICAgIC8qIFdlIGNvbXBh cmUgYnBfbG9jYXRpb24ubGVuZ3RoIGluIG9yZGVyIHRvIGNvdmVyIHJhbmdl ZCBicmVha3BvaW50cy4gICovCiAgICAgcmV0dXJuIChicmVha3BvaW50X2Fk ZHJlc3NfbWF0Y2ggKGxvYzEtPnBzcGFjZS0+YXNwYWNlLCBsb2MxLT5hZGRy ZXNzLAogCQkJCSAgICAgbG9jMi0+cHNwYWNlLT5hc3BhY2UsIGxvYzItPmFk ZHJlc3MpCi0JICAgICYmIGxvYzEtPmxlbmd0aCA9PSBsb2MyLT5sZW5ndGgp OworCSAgICAmJiBsb2MxLT5sZW5ndGggPT0gbG9jMi0+bGVuZ3RoCisJICAg ICYmIGxvYzEtPnRocmVhZCA9PSBsb2MyLT50aHJlYWQpOwogfQogCiBzdGF0 aWMgdm9pZApAQCAtNzM1NCw2ICs3MzU1LDEwIEBACiAgIGxvYy0+Y29uZF9i eXRlY29kZSA9IE5VTEw7CiAgIGxvYy0+c2hsaWJfZGlzYWJsZWQgPSAwOwog ICBsb2MtPmVuYWJsZWQgPSAxOworICBsb2MtPnRocmVhZCA9IG93bmVyLT50 aHJlYWQ7CisgIGxvYy0+dGFyZ2V0X2luZm8udGhyZWFkID0gb3duZXItPnRo cmVhZDsKKyAgbG9jLT5vdmVybGF5X3RhcmdldF9pbmZvLnRocmVhZCA9IG93 bmVyLT50aHJlYWQ7CisgIGxvYy0+dGhyZWFkID0gb3duZXItPnRocmVhZDsK IAogICBzd2l0Y2ggKG93bmVyLT50eXBlKQogICAgIHsKQEAgLTg5ODQsNiAr ODk4OSw5IEBACiAgIGNvcHktPmxvYy0+bGluZV9udW1iZXIgPSBvcmlnLT5s b2MtPmxpbmVfbnVtYmVyOwogICBjb3B5LT5sb2MtPnN5bXRhYiA9IG9yaWct PmxvYy0+c3ltdGFiOwogICBjb3B5LT5sb2MtPmVuYWJsZWQgPSBsb2NfZW5h YmxlZDsKKyAgY29weS0+bG9jLT50aHJlYWQgPSBvcmlnLT5sb2MtPnRocmVh ZDsKKyAgY29weS0+bG9jLT50YXJnZXRfaW5mby50aHJlYWQgPSBvcmlnLT5s b2MtPnRocmVhZDsKKyAgY29weS0+bG9jLT5vdmVybGF5X3RhcmdldF9pbmZv LnRocmVhZCA9IG9yaWctPmxvYy0+dGhyZWFkOwogICBjb3B5LT5mcmFtZV9p ZCA9IG9yaWctPmZyYW1lX2lkOwogICBjb3B5LT50aHJlYWQgPSBvcmlnLT50 aHJlYWQ7CiAgIGNvcHktPnBzcGFjZSA9IG9yaWctPnBzcGFjZTsKQEAgLTkz MDIsNiArOTMxMCw5IEBACiAJewogCSAgaW5pdF9yYXdfYnJlYWtwb2ludCAo YiwgZ2RiYXJjaCwgc2FsLCB0eXBlLCBvcHMpOwogCSAgYi0+dGhyZWFkID0g dGhyZWFkOworCSAgYi0+bG9jLT50aHJlYWQgPSB0aHJlYWQ7CisJICBiLT5s b2MtPnRhcmdldF9pbmZvLnRocmVhZCA9IHRocmVhZDsKKwkgIGItPmxvYy0+ b3ZlcmxheV90YXJnZXRfaW5mby50aHJlYWQgPSB0aHJlYWQ7CiAJICBiLT50 YXNrID0gdGFzazsKIAogCSAgYi0+Y29uZF9zdHJpbmcgPSBjb25kX3N0cmlu ZzsKQEAgLTk2NTUsNiArOTY2NiwxMCBAQAogICAqdGFzayA9IDA7CiAgICpy ZXN0ID0gTlVMTDsKIAorICAvKiBkZWZhdWx0IHRvIGN1cnJlbnQgdGhyZWFk IG9uIG5vbi1zdG9wIHRhcmdldHMgKi8KKyAgaWYgKHRhcmdldF9pc19ub25f c3RvcF9wICgpKQorICAgICp0aHJlYWQgPSBpbmZlcmlvcl90aHJlYWQgKCkt Pmdsb2JhbF9udW07CisKICAgd2hpbGUgKHRvayAmJiAqdG9rKQogICAgIHsK ICAgICAgIGNvbnN0IGNoYXIgKmVuZF90b2s7CkBAIC05OTQ2LDYgKzk5NjEs OSBAQAogCSAgICB9CiAJICBiLT5jb25kX3N0cmluZyA9IGNvbmRfc3RyaW5n OwogCSAgYi0+dGhyZWFkID0gdGhyZWFkOworCSAgYi0+bG9jLT50aHJlYWQg PSB0aHJlYWQ7CisJICBiLT5sb2MtPnRhcmdldF9pbmZvLnRocmVhZCA9IHRo cmVhZDsKKwkgIGItPmxvYy0+b3ZlcmxheV90YXJnZXRfaW5mby50aHJlYWQg PSB0aHJlYWQ7CiAJfQogCiAgICAgICAvKiBDcmVhdGUgYSBwcml2YXRlIGNv cHkgb2YgYW55IGV4dHJhIHN0cmluZy4gICovCi0tLSAuLi9vcmlnL2dkYi9i cmVha3BvaW50LmgKKysrIC4vZ2RiL2JyZWFrcG9pbnQuaApAQCAtMjc5LDYg KzI3OSw5IEBACiAgIC8qIEZsYWcgdGhhdCBpcyB0cnVlIGlmIHRoZSBicmVh a3BvaW50IHNob3VsZCBiZSBsZWZ0IGluIHBsYWNlIGV2ZW4KICAgICAgd2hl biBHREIgaXMgbm90IGNvbm5lY3RlZC4gICovCiAgIGludCBwZXJzaXN0Owor CisgIC8qIFRocmVhZCBpZGVudGlmaWVyIGZvciB3aGljaCB0aGlzIGJyZWFr cG9pbnQgc2hvdWxkIGJlIGFjdGl2YXRlZCAqLworICBpbnQgdGhyZWFkOwog fTsKIAogLyogR0RCIG1haW50YWlucyB0d28gdHlwZXMgb2YgaW5mb3JtYXRp b24gYWJvdXQgZWFjaCBicmVha3BvaW50IChvcgpAQCAtMzk5LDcgKzQwMiw4 IEBACiAgIGNoYXIgZHVwbGljYXRlOwogCiAgIC8qIElmIHdlIHNvbWVkYXkg c3VwcG9ydCByZWFsIHRocmVhZC1zcGVjaWZpYyBicmVha3BvaW50cywgdGhl bgotICAgICB0aGUgYnJlYWtwb2ludCBsb2NhdGlvbiB3aWxsIG5lZWQgYSB0 aHJlYWQgaWRlbnRpZmllci4gICovCisgICAgIHRoZSBicmVha3BvaW50IGxv Y2F0aW9uIHdpbGwgbmVlZCBhIHRocmVhZCBpZGVudGlmaWVyLiAqLworICBp bnQgdGhyZWFkOwogCiAgIC8qIERhdGEgZm9yIHNwZWNpZmljIGJyZWFrcG9p bnQgdHlwZXMuICBUaGVzZSBjb3VsZCBiZSBhIHVuaW9uLCBidXQKICAgICAg c2ltcGxpY2l0eSBpcyBtb3JlIGltcG9ydGFudCB0aGFuIG1lbW9yeSB1c2Fn ZSBmb3IgYnJlYWtwb2ludHMuICAqLwotLS0gLi4vb3JpZy9nZGIvcmVtb3Rl LmMKKysrIC4vZ2RiL3JlbW90ZS5jCkBAIC05MzAwLDcgKzkzMDAsMTIgQEAK ICAgICAgIGFkZHIgPSAoVUxPTkdFU1QpIHJlbW90ZV9hZGRyZXNzX21hc2tl ZCAoYWRkcik7CiAgICAgICBwICs9IGhleG51bXN0ciAocCwgYWRkcik7CiAg ICAgICB4c25wcmludGYgKHAsIGVuZGJ1ZiAtIHAsICIsJWQiLCBicHNpemUp OwotCisgICAgICBwICs9IHN0cmxlbihwKTsKKyAgICAgIGlmIChicF90Z3Qt PnRocmVhZCA+PSAwKQorICAgICAgICB7CisJICAqKHArKykgPSAnLCc7CisJ ICB3cml0ZV9wdGlkIChwLCBlbmRidWYsIGdsb2JhbF90aHJlYWRfaWRfdG9f cHRpZCAoYnBfdGd0LT50aHJlYWQpKTsKKyAgICAgICAgfQogICAgICAgaWYg KHJlbW90ZV9zdXBwb3J0c19jb25kX2JyZWFrcG9pbnRzIChvcHMpKQogCXJl bW90ZV9hZGRfdGFyZ2V0X3NpZGVfY29uZGl0aW9uIChnZGJhcmNoLCBicF90 Z3QsIHAsIGVuZGJ1Zik7CiAKQEAgLTkzNTgsNiArOTM2MywxMiBAQAogICAg ICAgYWRkciA9IChVTE9OR0VTVCkgcmVtb3RlX2FkZHJlc3NfbWFza2VkIChi cF90Z3QtPnBsYWNlZF9hZGRyZXNzKTsKICAgICAgIHAgKz0gaGV4bnVtc3Ry IChwLCBhZGRyKTsKICAgICAgIHhzbnByaW50ZiAocCwgZW5kYnVmIC0gcCwg IiwlZCIsIGJwX3RndC0+cGxhY2VkX3NpemUpOworICAgICAgcCArPSBzdHJs ZW4ocCk7CisgICAgICBpZiAoYnBfdGd0LT50aHJlYWQgPj0gMCkKKyAgICAg ICAgeworCSAgKihwKyspID0gJywnOworCSAgd3JpdGVfcHRpZCAocCwgZW5k YnVmLCBnbG9iYWxfdGhyZWFkX2lkX3RvX3B0aWQgKGJwX3RndC0+dGhyZWFk KSk7CisgICAgICAgIH0KIAogICAgICAgcHV0cGt0IChycy0+YnVmKTsKICAg ICAgIGdldHBrdCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDApOwpAQCAt OTYxOSw2ICs5NjMwLDEyIEBACiAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19t YXNrZWQgKGFkZHIpOwogICBwICs9IGhleG51bXN0ciAocCwgKFVMT05HRVNU KSBhZGRyKTsKICAgeHNucHJpbnRmIChwLCBlbmRidWYgLSBwLCAiLCV4Iiwg YnBzaXplKTsKKyAgcCArPSBzdHJsZW4ocCk7CisgIGlmIChicF90Z3QtPnRo cmVhZCA+PSAwKQorICAgIHsKKyAgICAgICoocCsrKSA9ICcsJzsKKyAgICAg IHdyaXRlX3B0aWQgKHAsIGVuZGJ1ZiwgZ2xvYmFsX3RocmVhZF9pZF90b19w dGlkIChicF90Z3QtPnRocmVhZCkpOworICAgIH0KIAogICBpZiAocmVtb3Rl X3N1cHBvcnRzX2NvbmRfYnJlYWtwb2ludHMgKHNlbGYpKQogICAgIHJlbW90 ZV9hZGRfdGFyZ2V0X3NpZGVfY29uZGl0aW9uIChnZGJhcmNoLCBicF90Z3Qs IHAsIGVuZGJ1Zik7CkBAIC05Njc1LDYgKzk2OTIsMTIgQEAKICAgYWRkciA9 IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYnBfdGd0LT5wbGFjZWRfYWRkcmVz cyk7CiAgIHAgKz0gaGV4bnVtc3RyIChwLCAoVUxPTkdFU1QpIGFkZHIpOwog ICB4c25wcmludGYgKHAsIGVuZGJ1ZiAgLSBwLCAiLCV4IiwgYnBfdGd0LT5w bGFjZWRfc2l6ZSk7CisgIHAgKz0gc3RybGVuKHApOworICBpZiAoYnBfdGd0 LT50aHJlYWQgPj0gMCkKKyAgICB7CisgICAgICAqKHArKykgPSAnLCc7Cisg ICAgICB3cml0ZV9wdGlkIChwLCBlbmRidWYsIGdsb2JhbF90aHJlYWRfaWRf dG9fcHRpZCAoYnBfdGd0LT50aHJlYWQpKTsKKyAgICB9CiAKICAgcHV0cGt0 IChycy0+YnVmKTsKICAgZ2V0cGt0ICgmcnMtPmJ1ZiwgJnJzLT5idWZfc2l6 ZSwgMCk7Cg== --------------010406080706030305060900-- --------------ms080901080302010507050903 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature Content-length: 5897 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG 9w0BBwEAAKCCC88wggXiMIIDyqADAgECAhBrp4p9CteI1lEK+Vnk57ThMA0G CSqGSIb3DQEBCwUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENv bSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT aWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTAeFw0xNTEyMTYwMTAwMDVaFw0zMDEyMTYwMTAwMDVaMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFy dENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRD b20gQ2xhc3MgMSBDbGllbnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC9fdr3w6J9g/Zbgv3bW1+uHht1wLUZr5gkrLtXedg17AkefMyU GwrQdvwObhajcVmnKVxhrUwkZPXRAwZZosRHfEIi5FH7x6SV/8Sp5lZEuiMn vMFG2MzLA84J6Ws5T4NfXZ0qn4TPgnr3X2vPVS51M7Ua9nIJgn8jvTra4eyy QzxvuA/GZwKg7VQfDCmCS+kICslYYWgXOMt2xlsSslxLce0CGWRsT8EpMyt1 iDflSjXZIsE7m1uTyHaKZspMLyIyz6mySu8j8BWWHpChNNeTrFuhVfrOAyDP FJVUvKZCLKBhibTLloyy+LatoWELrjdI4a8StZY8+dIR9t4APXGzAgMBAAGj ggFkMIIBYDAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0lBBYwFAYIKwYBBQUHAwIG CCsGAQUFBwMEMBIGA1UdEwEB/wQIMAYBAf8CAQAwMgYDVR0fBCswKTAnoCWg I4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMGYGCCsGAQUF BwEBBFowWDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Auc3RhcnRzc2wuY29t MDAGCCsGAQUFBzAChiRodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0cy9j YS5jcnQwHQYDVR0OBBYEFCSBbDlhvkkPj7cbRivJKLUnSG1oMB8GA1UdIwQY MBaAFE4L7xqkQFulF2mHMMo0aEPQQa7yMD8GA1UdIAQ4MDYwNAYEVR0gADAs MCoGCCsGAQUFBwIBFh5odHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kw DQYJKoZIhvcNAQELBQADggIBAIvj94fsAYuErQ8BAluc4SMnIwS9NPBwAm5S H9uh2NCXTq7im61g7F1LIiNI/+wq37fUuaMbz4g7VarKQTgf8ubs0p7NZWcI e7Bvem2AWaXBsxsaRTYw5kG3DN8pd1hSEUuFoTa7DmNeFe8tiK1BrL3rbA/m 48jp4AiFXgvxprJrW7izsyetOrRHPbkW4Y07v29MdhaPv3u1JELyszXqOzjI Yo4sWlC8iDQXwgSW/ntvWy2n4LuiaozlCfXl149tKeqvwlvrla2Yklue/quW p9j9ou4T/OY0CXMuY+B8wNK0ohd2D4ShgFlMSjzAFRoHGKF81snTr2d1A7Ew 02oF6UQyCkC2aNNsK5cWOojBar5c7HplX9aHYUCZouxIeU28SONJAxnATgR4 cJ2jrpmYSz/kliUJ46S6UpVDo/ebn9c6PaM/XtDYCCaM/7XX6wc3s++sbQ7C tCn1Ax7df6ufQbwyO0V+oFa9H0KAsjHMzcwk3EV2B2NLatidKE/m7G+rB9m+ FlVgIiSp0mGlg43QO9Kh1+JqvTCIzv2bJJkmPMLQJNuKKwHNL8F4GGp6jbAV +WL+LDeGfVcq8DHS3LrD+xyYEXQBiqZEdiPVOMxLDSUCXsDO0uCWpaNQ8j6y 6S9p0xE/Ga0peVLadVHhqf9nXqKaxnr358VgfrxzUIrvOaOjMIIF5TCCBM2g AwIBAgIQIHbHM980Evwjct9SmnLqQjANBgkqhkiG9w0BAQsFADB1MQswCQYD VQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3Rh cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0 Q29tIENsYXNzIDEgQ2xpZW50IENBMB4XDTE2MDYyMDEyMDEzNVoXDTE5MDky MDEyMDEzNVowNDEVMBMGA1UEAwwMbGVvQG1hcmNvLmRlMRswGQYJKoZIhvcN AQkBFgxsZW9AbWFyY28uZGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK AoICAQDSGmyTfoERpWTylzlGjS7CTXsKVjXq8HMfxPECInX4297aDGrZdVgY cLUqYDtQV7/U7v/NLwoVpiPu3vnJZwqNz6A1iyH+pIF2+RIBg6PMOAtZHfbD JyDqOsbPfS07aW+R+ZJBaMKX5XTONtJREmnfSuimz+xRkqG5iTUs7oqh69hl +uytf4yUq7OxBF8c4n/zvDO5FY7tcELpSSHUXvafU4MfkvuLqjR9ZMGf3b3+ cEMwCJ5ahWV58JecIE9cgrp6g/ZY5nRjARNdR89xgTGF08hKGWC4lBssiVCD Qu+gAMB9z/rJJ3JWeWAj3VJeWDrDHpWleH55mUNGGORKb/yDdOKwUtju8xqJ X16xS6bCME7f7BMlhrMDGupGYlAQLRrYp8hwq+Y17Hcy541q6kn44X7OnjFX schwiDJfcJ0zh8/26JR76sPEGZV+VHBPV1nO07IQoZz20X5fTHD8PVZXkorZ oKWCbopmQEUE9dvn9nImyINCt1E2qDLRVHKXJucbdpthpN+wAwMA8N4d5jgR nfOqdZ7Gu8h1GfM0Mj01mKvfyi/1nNWHopR8vTZ+uV062iGl5YLeAJFk2kqL b/hG9EHk+F0T4reeQsMLtk1H35M7kS8PlObXc4OlSGD/oDrb+jGfAqbueMhD xfxr83o6kup1Qpi/0rVkgv5FCj2dSwIDAQABo4IBsDCCAawwDgYDVR0PAQH/ BAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAJBgNVHRME AjAAMB0GA1UdDgQWBBTn0WEZECQdirz6o75Ym30HEzJfTzAfBgNVHSMEGDAW gBQkgWw5Yb5JD4+3G0YrySi1J0htaDBvBggrBgEFBQcBAQRjMGEwJAYIKwYB BQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTA5BggrBgEFBQcwAoYt aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc2NhLmNsaWVudDEuY3J0 MDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nj YS1jbGllbnQxLmNybDAXBgNVHREEEDAOgQxsZW9AbWFyY28uZGUwIwYDVR0S BBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEcGA1UdIARAMD4wPAYL KwYBBAGBtTcBAgUwLTArBggrBgEFBQcCARYfaHR0cHM6Ly93d3cuc3RhcnRz c2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAQEAHev1G7qoycMr1K9q l8W+3BYh1AtFbT3SmTZLdHevy9XcWbd5x34WxjrrNC07L38bRKy7et3lXXpi bhTqfgweEUz3S7QK0oorFJ9lcN8IHc4NrH7E/JpTG6xkOP1KdlzpH4jYWQfK uOUSmw8hzaF1Jdz80ul4W5iPvRDPcKe1N5Zqjbh28rN91Cy7KszX8PoKzNa3 Rwpqix6v5XPnY02dPCkEgKntxRGfyF0Wr9oURy5XtXLTXA4gYIZW+t+9QX49 XpbJgpQHkzS8XuyMaE/0xdPywYzKVCByhzlIYwRekuENaOzuQFW6YRsYSRos 3kPEBQ+dShUt99yFAQIROUCLvzGCBOwwggToAgEBMIGJMHUxCzAJBgNVBAYT AklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENv bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20g Q2xhc3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8I3LfUppy6kIwDQYJYIZIAWUD BAIDBQCgggIzMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN AQkFMQ8XDTE2MTEwOTA5NTE0NFowTwYJKoZIhvcNAQkEMUIEQKyjwLdRwVOd kiHUe5ERW7wB8ccAMjSDOh3yEiIMEOIkXq7vw2j9pGYP3pM40u84ETlVjEyP RRKIwueHcU5OkFEwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJ YIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG 9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBmgYJKwYBBAGCNxAE MYGMMIGJMHUxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu MSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEj MCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8 I3LfUppy6kIwgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklM MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xh c3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8I3LfUppy6kIwDQYJKoZIhvcNAQEB BQAEggIAFMBMJyU7DSw697X5PZBqyZ41tDC3aukgki6lGN0VKWvW3bZE2J7d T4DDm3PkXTE8HYhflrYsBiMU+A1kIN0XhhPa8nMKv9aVsI8sJRasDfujcjDQ JpUCuazOxKoiJV+Ig8sSS4QvjC2+vIxrAW0suGH2Dz6JLB5AOV/ZUP2DkWQw DC4bUtt6KoQlA4yXbwpJNzyPPidldUNhT/uj3+anMTYmXTxlKxbLetbdM3Ew JplM2NmSt3uxuNsNztDQM1rWbYqbibyAeQbf4jAt2tW4FQllCtq9MMd1QHkk XM01BC8INlGXFcN3IG4SnLaROzbsx/gOVRpAkblwCV02cz+4YGBOHTqcUvEx oqDk4XNdQbdEGDabWlHXDYkXZfKhEOLbuNzYzduqdDcjBnFB7wRJ36S/KVDJ r2hRasbpDnJhTFVKtIYYMs4yvcxCMOqiey821mmERtDXreG+WaHI56afj1di 82LwP6DeldL19Ck1al3VyedC/rbGWCvRQxz9w72j2/X9/jrAQhN4NpFkzzAV dP9oaVkpY3Qmc+3jXhYCKb0ZP7deNatM2FMPGhYHAap0LlJr+8SlrSPQ23BW HAeKq0BNuoAOzeqZd6VQDjJggI5K78YYbjHWZabmODYB6yLZIBm9ZMya9+cy cDsIOuBULeFHsuYqJRWmXhCs0NljuCQAAAAAAAA= --------------ms080901080302010507050903--