failure notice

Joel Sherrill joel@rtems.org
Tue Jun 27 19:41:00 GMT 2017


Messages have to be in ASCII format and under 100KB.

I think you tripped the no HTML rule.

--joel

On 6/27/2017 2:35 PM, Aditya Upadhyay wrote:
> Hello All,
> 
> Is this the correct to send a patch ? I am attaching a single patch
> for previously individual sent patches. I am requesting you to please
> review the same and suggest me needed modification.
> 
> Thanks Gedare and Corinna  for helping me to understand the single
> patch generation from several patches.
> 
> Regards,
> Aditya Upadhyay
> 
> On Wed, Jun 28, 2017 at 1:02 AM,  <MAILER-DAEMON@sourceware.org> wrote:
>> Hi. This is the qmail-send program at sourceware.org.
>> I'm afraid I wasn't able to deliver your message to the following addresses.
>> This is a permanent error; I've given up. Sorry it didn't work out.
>>
>> <newlib@sourceware.org>:
>> Invalid mime type "text/html" detected in message text or
>> attachment.  Please send plain text messages only.
>> See http://sourceware.org/lists.html#sourceware-list-info for more information.
>> Contact newlib-owner@sourceware.org if you have questions about this. (#5.7.2)
>>
>> --- Below this line is a copy of the message.
>>
>> Return-Path: <aadit0402@gmail.com>
>> Received: (qmail 108984 invoked by uid 89); 27 Jun 2017 19:32:46 -0000
>> Authentication-Results: sourceware.org; auth=none
>> X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org
>> X-Virus-Found: No
>> X-Spam-SWARE-Status: No, score=3.9 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1674
>> X-Spam-Status: No, score=3.9 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2
>> X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org
>> X-Spam-Level: ***
>> X-HELO: mail-io0-f174.google.com
>> Received: from mail-io0-f174.google.com (HELO mail-io0-f174.google.com) (209.85.223.174)
>>   by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Jun 2017 19:32:45 +0000
>> Received: by mail-io0-f174.google.com with SMTP id z62so23678602ioi.3
>>          for <newlib@sourceware.org>; Tue, 27 Jun 2017 12:32:44 -0700 (PDT)
>> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
>>          d=gmail.com; s=20161025;
>>          h=mime-version:in-reply-to:references:from:date:message-id:subject:to;
>>          bh=mUJ4+KvyjRtm6UBXlN+dpwpTbT7ZyEznvXaQMTj/eWo=;
>>          b=V/aQFT5v5tUD3eHPoHqMhMaPBaQyM1r1rT0+bffRYSliiPA5pXyN7zu/LaW1Z4hOOe
>>           b+irsJfU1jJfF9PEmEzm5haqYmq/ZzNye/BCYmI211jLMUrLxggvSjr1GeUU6Zrkhmb1
>>           z4WQvgTE/nF8v2ikbCOzlbCH/qSYK86neTtcKsvjaEMbVo9wYvSANvp6dNAQVNNpd+qz
>>           WywQgGHG33xPLKXRJmp0KoyZ9e0X+6Lj9Vi4S0a5vdcHttqoj7W6iE7ApMPTEDbayla9
>>           CMCD32wIp2zXUfQl1KKQgboi/8Q8OsOsvR6H2tQVRHd+srdHkzlCyzknYaVheyGQFF1K
>>           Y0qQ==
>> X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
>>          d=1e100.net; s=20161025;
>>          h=x-gm-message-state:mime-version:in-reply-to:references:from:date
>>           :message-id:subject:to;
>>          bh=mUJ4+KvyjRtm6UBXlN+dpwpTbT7ZyEznvXaQMTj/eWo=;
>>          b=KR6lb0mXbBlO8s8vg/v6ez+2J+Zm6vTZr7EqjdVGboBZqNDB0CFx19+KjHBylcqbXO
>>           oSmqjaAPcwB0XR7/WFGc1+E6rUQIZgzOb9NbQsuNX26lncPBkkQSBa0JeOmir2FuVrWi
>>           49ApzfDr0p62ci5s9Z+AQjQwlfagacP57rn0PLQGLY3rAvUJYfk9WW485leAbFn9Q9h7
>>           0sAMQkYeip6A76nkbf2uKYyK0mfgxroQQms3G7Z7j0Xtu9CYeWgSJ8ZyWBHQyAQj3ooC
>>           Bp/aXfYZHYR/500bbJB4ndkc4mlz5SclrGBxJ4lh9yhvHj+toEs8fCm28KfIL1Y0kpgA
>>           jeuA==
>> X-Gm-Message-State: AKS2vOyPLTnIWjx4MsQ53man9upWhR9/EHXrC3tuIVhUFMwd2xgSY+yj
>>          wqRcfHbVrLTLM1/lcS/nxl4gTD+aYw==
>> X-Received: by 10.107.170.80 with SMTP id t77mr8263100ioe.77.1498591963149;
>>   Tue, 27 Jun 2017 12:32:43 -0700 (PDT)
>> MIME-Version: 1.0
>> Received: by 10.79.4.203 with HTTP; Tue, 27 Jun 2017 12:32:42 -0700 (PDT)
>> In-Reply-To: <20170626120421.GK6201@calimero.vinschen.de>
>> References: <CAMZxAxdTsVZ7nz4iQ3qw3WofaPVV4zh99W79cr9K4gkC4x8dWg@mail.gmail.com>
>>   <20170626120421.GK6201@calimero.vinschen.de>
>> From: Aditya Upadhyay <aadit0402@gmail.com>
>> Date: Wed, 28 Jun 2017 01:02:42 +0530
>> Message-ID: <CAMZxAxf6e8V7YE1sbauiSH+czesS-bkyrrmuD14XFzw1UGJS+w@mail.gmail.com>
>> Subject: Re: Adding some long double complex methods from NetBSD
>> To: newlib@sourceware.org, Gedare Bloom <gedare@rtems.org>
>> Content-Type: multipart/mixed; boundary="001a11415d58a0bfbb0552f6215b"
>>
>> --001a11415d58a0bfbb0552f6215b
>> Content-Type: multipart/alternative; boundary="001a11415d58a0bfb50552f62159"
>>
>> --001a11415d58a0bfb50552f62159
>> Content-Type: text/plain; charset="UTF-8"
>>
>> Hello All,
>>
>> Is this the correct to send a patch ? I am attaching a single patch for
>> previously individual sent patches. I am requesting you to please review
>> the same and suggest me needed modification.
>>
>> Thanks Gedare and Corinna  for helping me to understand the single patch
>> generation from several patches.
>>
>> Regards,
>> Aditya Upadhyay
>>
>> On Mon, Jun 26, 2017 at 5:34 PM, Corinna Vinschen <vinschen@redhat.com>
>> wrote:
>>
>>> On Jun 26 14:43, Aditya Upadhyay wrote:
>>>> Hello Developers,
>>>>
>>>> I have ported some of the long double complex methods from NetBSD. I
>>>> am requesting you to please review the patch and suggest me needed
>>>> modification.
>>>
>>> Uhm... patch *series*?  Clumping all patches together into a single
>>> one wasn't quite what I meant :}
>>>
>>>
>>> Corinna
>>>
>>> --
>>> Corinna Vinschen
>>> Cygwin Maintainer
>>> Red Hat
>>>
>>
>> --001a11415d58a0bfb50552f62159
>> Content-Type: text/html; charset="UTF-8"
>> Content-Transfer-Encoding: quoted-printable
>>
>> <div dir=3D"ltr"><div><div><div><div>Hello All,<br><br></div>Is this the co=
>> rrect to send a patch ? I am attaching a single patch for previously indivi=
>> dual sent patches. I am requesting you to please review the same and sugges=
>> t me needed modification.<br><br></div>Thanks Gedare and Corinna=C2=A0 for =
>> helping me to understand the single patch generation from several patches. =
>> <br><br></div>Regards,<br></div>Aditya Upadhyay<br></div><div class=3D"gmai=
>> l_extra"><br><div class=3D"gmail_quote">On Mon, Jun 26, 2017 at 5:34 PM, Co=
>> rinna Vinschen <span dir=3D"ltr"><<a href=3D"mailto:vinschen@redhat.com"=
>>   target=3D"_blank">vinschen@redhat.com</a>></span> wrote:<br><blockquote=
>>   class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
>> d;padding-left:1ex"><span class=3D"">On Jun 26 14:43, Aditya Upadhyay wrote=
>> :<br>
>> > Hello Developers,<br>
>> ><br>
>> > I have ported some of the long double complex methods from NetBSD. I<b=
>> r>
>> > am requesting you to please review the patch and suggest me needed<br>
>> > modification.<br>
>> <br>
>> </span>Uhm... patch *series*?=C2=A0 Clumping all patches together into a si=
>> ngle<br>
>> one wasn't quite what I meant :}<br>
>> <span class=3D"HOEnZb"><font color=3D"#888888"><br>
>> <br>
>> Corinna<br>
>> <br>
>> --<br>
>> Corinna Vinschen<br>
>> Cygwin Maintainer<br>
>> Red Hat<br>
>> </font></span></blockquote></div><br></div>
>>
>> --001a11415d58a0bfb50552f62159--
>> --001a11415d58a0bfbb0552f6215b
>> Content-Type: application/octet-stream;
>>          name=Adding_long_double_complex_methods
>> Content-Disposition: attachment;
>>          filename=Adding_long_double_complex_methods
>> Content-Transfer-Encoding: base64
>> X-Attachment-Id: f_j4fyyghp1
>>
>> ZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0gYi9uZXdsaWIvbGli
>> bS9jb21wbGV4L01ha2VmaWxlLmFtCmluZGV4IDQwMjA1M2YuLmRlMmZjYTkgMTAwNjQ0Ci0tLSBh
>> L25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0KKysrIGIvbmV3bGliL2xpYm0vY29tcGxl
>> eC9NYWtlZmlsZS5hbQpAQCAtMTAsNyArMTAsOSBAQCBzcmMgPSBjYWJzLmMgY2Fjb3MuYyBjYWNv
>> c2guYyBjYXJnLmMgY2FzaW4uYyBjYXNpbmguYyBcCiAgICAgICBjcG93LmMgY3Byb2ouYyAgY3Jl
>> YWwuYyAgXAogICAgICAgY3Npbi5jIGNzaW5oLmMgY3NxcnQuYyBjdGFuLmMgY3RhbmguYwogCi1s
>> c3JjID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1hZ2wuYyBjY29zaGwuYworbHNyYyA9IGNhYnNsLmMg
>> Y3JlYWxsLmMgY2ltYWdsLmMgY2Nvc2hsLmMgY2Fjb3NobC5jIFwgCisgICAgICAgY2xvZ2wuYyBj
>> c3FydGwuYyBjYXJnbC5jIGNwcm9qbC5jIGNleHBsLmMgY2VwaGVzX3N1YnJsLmNcCisgICAgICAg
>> Y2Fjb3NsLmMgY2Nvc2wuYwogCiBmc3JjID0JY2Fic2YuYyBjYXNpbmYuYyBjY29zZi5jIGNpbWFn
>> Zi5jIGNwcm9qZi5jICBcCiAgICAgICAgIGNzcXJ0Zi5jIGNhY29zZi5jIGNhc2luaGYuYyBjY29z
>> aGYuYyBjbG9nZi5jIGNsb2cxMGYuYyBcCkBAIC00Myw0ICs0NSw0IEBAIENIQVBURVJTID0gY29t
>> cGxleC50ZXgKIAogIyBBIHBhcnRpYWwgZGVwZW5kZW5jeSBsaXN0LgogCi0kKGxpYl9hX09CSkVD
>> VFMpOiAkKHNyY2RpcikvLi4vLi4vbGliYy9pbmNsdWRlL2NvbXBsZXguaCAkKHNyY2RpcikvY2Vw
>> aGVzX3N1YnIuaCAkKHNyY2RpcikvY2VwaGVzX3N1YnJmLmgKKyQobGliX2FfT0JKRUNUUyk6ICQo
>> c3JjZGlyKS8uLi8uLi9saWJjL2luY2x1ZGUvY29tcGxleC5oICQoc3JjZGlyKS9jZXBoZXNfc3Vi
>> ci5oICQoc3JjZGlyKS9jZXBoZXNfc3VicmYuaCAkKHNyY2RpcikvY2VwaGVzX3N1YnJsLmgKZGlm
>> ZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jIGIvbmV3bGliL2xpYm0vY29t
>> cGxleC9jYWNvc2hsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0ZTAw
>> NgotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jCkBAIC0w
>> LDAgKzEsNDUgQEAKKy8qICROZXRCU0Q6IGNhY29zaGwuYyx2IDEuMSAyMDE0LzEwLzEwIDAwOjQ4
>> OjE4IGNocmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDA3IFRoZSBO
>> ZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU
>> aGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIHdyaXR0ZW4gYnkgU3RlcGhlbiBMLiBN
>> b3NoaWVyLgorICogSXQgaXMgcmVkaXN0cmlidXRlZCBieSB0aGUgTmV0QlNEIEZvdW5kYXRpb24g
>> YnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
>> c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
>> Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
>> b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
>> c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
>> IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
>> YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
>> CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
>> IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
>> cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
>> UkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFORCBDT05UUklC
>> VVRPUlMKKyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
>> LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
>> RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
>> UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgRk9VTkRBVElPTiBP
>> UiBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
>> Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
>> UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
>> VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
>> T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
>> SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
>> TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
>> U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
>> QURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
>> bmNsdWRlIDxjb21wbGV4Lmg+CisKK2xvbmcgZG91YmxlIGNvbXBsZXgKK2NhY29zaGwobG9uZyBk
>> b3VibGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKworI2lmIDAgLyog
>> ZG9lcyBub3QgZ2l2ZSB0aGUgcHJpbmNpcGFsIHZhbHVlICovCisJdyA9IEkgKiBjYWNvc2woeik7
>> CisjZWxzZQorCXcgPSBjbG9nbCh6ICsgY3NxcnRsKHogKyAxKSAqIGNzcXJ0bCh6IC0gMSkpOwor
>> I2VuZGlmCisJcmV0dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2Nh
>> Y29zbC5jIGIvbmV3bGliL2xpYm0vY29tcGxleC9jYWNvc2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0
>> NAppbmRleCAwMDAwMDAwLi42YTA1YzhjCi0tLSAvZGV2L251bGwKKysrIGIvbmV3bGliL2xpYm0v
>> Y29tcGxleC9jYWNvc2wuYwpAQCAtMCwwICsxLDQ1IEBACisvKiAkTmV0QlNEOiBjYWNvc2wuYyx2
>> IDEuMSAyMDE0LzEwLzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29w
>> eXJpZ2h0IChjKSAyMDA3IFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICogQWxsIHJpZ2h0
>> cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIHdy
>> aXR0ZW4gYnkgU3RlcGhlbiBMLiBNb3NoaWVyLgorICogSXQgaXMgcmVkaXN0cmlidXRlZCBieSB0
>> aGUgTmV0QlNEIEZvdW5kYXRpb24gYnkgcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoKKyAq
>> IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
>> b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
>> dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
>> b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
>> IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
>> aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
>> ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
>> b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
>> aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
>> LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFU
>> SU9OLCBJTkMuIEFORCBDT05UUklCVVRPUlMKKyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
>> T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8s
>> IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
>> UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
>> SEFMTCBUSEUgRk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
>> IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
>> IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
>> T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
>> RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
>> UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
>> T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
>> T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
>> SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNV
>> Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxjb21wbGV4Lmg+CisjaW5jbHVkZSA8bWF0aC5o
>> PgorI2luY2x1ZGUgImNlcGhlc19zdWJybC5oIgorCitsb25nIGRvdWJsZSBjb21wbGV4CitjYWNv
>> c2wobG9uZyBkb3VibGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKwor
>> CXcgPSBjYXNpbmwoeik7CisJdyA9IChNX1BJXzJMIC0gY3JlYWxsKHcpKSAtIGNpbWFnbCh3KSAq
>> IEk7CisJcmV0dXJuIHc7Cit9CisKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Fy
>> Z2wuYyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2FyZ2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
>> bmRleCAwMDAwMDAwLi5kMjg4NWE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmV3bGliL2xpYm0vY29t
>> cGxleC9jYXJnbC5jCkBAIC0wLDAgKzEsMTggQEAKKy8qICROZXRCU0Q6IGNhcmdsLmMsdiAxLjEg
>> MjAxNC8xMC8xMCAwMDo0ODoxOCBjaHJpc3RvcyBFeHAgJCAqLworCisvKgorICogUHVibGljIGRv
>> bWFpbi4KKyAqLworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1ZGUgPG1hdGguaD4KKwor
>> bG9uZyBkb3VibGUKK2NhcmdsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sgICAgIAorICAgICAg
>> ICNpZmRlZiBfTERCTF9FUV9EQkwKKyAgICAgICAgIHJldHVybiBjYXJnICh6KTsKKyAgICAgICAj
>> ZWxzZQorICAgICAgICAgcmV0dXJuIGF0YW4ybCAoaW1hZyAoeiksIHJlYWwgKHopKTsKKyAgICAg
>> ICAjZW5kaWYKK30KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJtL2NvbXBsZXgvY2Nvc2wuYyBiL25l
>> d2xpYi9saWJtL2NvbXBsZXgvY2Nvc2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
>> MDAwLi5jMzEwZjQwCi0tLSAvZGV2L251bGwKKysrIGIvbmV3bGliL2xpYm0vY29tcGxleC9jY29z
>> bC5jCkBAIC0wLDAgKzEsNDUgQEAKKy8qICROZXRCU0Q6IGNjb3NsLmMsdiAxLjEgMjAxNC8xMC8x
>> MCAwMDo0ODoxOCBjaHJpc3RvcyBFeHAgJCAqLworCisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAw
>> NyBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
>> KgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSB3cml0dGVuIGJ5IFN0ZXBo
>> ZW4gTC4gTW9zaGllci4KKyAqIEl0IGlzIHJlZGlzdHJpYnV0ZWQgYnkgdGhlIE5ldEJTRCBGb3Vu
>> ZGF0aW9uIGJ5IHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
>> biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
>> IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
>> Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
>> Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
>> bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
>> ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
>> cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
>> bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
>> ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
>> IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQg
>> Q09OVFJJQlVUT1JTCisgKiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
>> UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKKyAqIFRPLCBUSEUgSU1QTElFRCBX
>> QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
>> CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5E
>> QVRJT04gT1IgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
>> RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
>> IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
>> ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
>> T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
>> TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
>> VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
>> KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
>> VkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
>> LworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlICJj
>> ZXBoZXNfc3VicmwuaCIKKworbG9uZyBkb3VibGUgY29tcGxleAorY2Nvc2wobG9uZyBkb3VibGUg
>> Y29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggdzsKKwlsb25nIGRvdWJsZSBjaCwg
>> c2g7CisKKwlfY2Noc2hsKGNpbWFnbCh6KSwgJmNoLCAmc2gpOworCXcgPSBjb3NsKGNyZWFsbCh6
>> KSkgKiBjaCAtIChzaW5sKGNyZWFsbCh6KSkgKiBzaCkgKiBJOworCXJldHVybiB3OworfQpkaWZm
>> IC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jZXBoZXNfc3VicmwuYyBiL25ld2xpYi9saWJt
>> L2NvbXBsZXgvY2VwaGVzX3N1YnJsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
>> MC4uOGFmMTFkZgotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2VwaGVz
>> X3N1YnJsLmMKQEAgLTAsMCArMSwxMjggQEAKKy8qICROZXRCU0Q6IGNlcGhlc19zdWJybC5jLHYg
>> MS4yIDIwMTQvMTAvMTAgMTQ6MDY6NDAgY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5
>> cmlnaHQgKGMpIDIwMDcgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisgKiBBbGwgcmlnaHRz
>> IHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgd3Jp
>> dHRlbiBieSBTdGVwaGVuIEwuIE1vc2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRo
>> ZSBOZXRCU0QgRm91bmRhdGlvbiBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgorICog
>> UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
>> ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
>> aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
>> bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
>> bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
>> bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
>> IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
>> bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
>> b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
>> CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJ
>> T04sIElOQy4gQU5EIENPTlRSSUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBP
>> UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywg
>> VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
>> IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
>> QUxMIFRIRSBGT1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
>> RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
>> Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
>> Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
>> LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
>> IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
>> TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
>> UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
>> UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VD
>> SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxtYXRoLmg+
>> CisjaW5jbHVkZSAiY2VwaGVzX3N1YnJsLmgiCisKKy8qIGNhbGN1bGF0ZSBjb3NoIGFuZCBzaW5o
>> ICovCisKK3ZvaWQKK19jY2hzaGwobG9uZyBkb3VibGUgeCwgbG9uZyBkb3VibGUgKmMsIGxvbmcg
>> ZG91YmxlICpzKQoreworCWxvbmcgZG91YmxlIGUsIGVpOworCisJaWYgKGZhYnNsKHgpIDw9IDAu
>> NUwpIHsKKwkJKmMgPSBjb3NobCh4KTsKKwkJKnMgPSBzaW5obCh4KTsKKwl9IGVsc2UgeworCQll
>> ID0gZXhwbCh4KTsKKwkJZWkgPSAwLjVMIC8gZTsKKwkJZSA9IDAuNUwgKiBlOworCQkqcyA9IGUg
>> LSBlaTsKKwkJKmMgPSBlICsgZWk7CisJfQorfQorCisvKiBQcm9ncmFtIHRvIHN1YnRyYWN0IG5l
>> YXJlc3QgaW50ZWdlciBtdWx0aXBsZSBvZiBQSSAqLworCisvKiBleHRlbmRlZCBwcmVjaXNpb24g
>> dmFsdWUgb2YgUEk6ICovCitzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUgRFAxID0gMy4xNDE1OTI2
>> NTM1ODk3OTMyMzgyOTU5Njg1MjQ5MDkwODUzMTc2MzEyNUw7CitzdGF0aWMgY29uc3QgbG9uZyBk
>> b3VibGUgRFAyID0gMS42NjY3NDg1ODM3MDQxNzU2NjU2NDAzNDI0ODI5MzAxOTk4NzAzMDA3ZS0x
>> OUw7CisjaWZuZGVmIF9fdmF4X18KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZSBEUDMgPSAxLjg4
>> MzA0MTA3NzY2MDc4NTExNjc0NTkwOTU0ODQ1NjAzNDk0MDI3NTNlLTM5TDsKKyNkZWZpbmUgTUFD
>> SEVQTCAxLjFlLTM4TAorI2Vsc2UKK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZSBEUDMgPSAwTDsK
>> KyNkZWZpbmUgTUFDSEVQTCAxLjFlLTE5TAorI2VuZGlmCisKK2xvbmcgZG91YmxlCitfcmVkdXBp
>> bChsb25nIGRvdWJsZSB4KQoreworCWxvbmcgZG91YmxlIHQ7CisJbG9uZyBsb25nIGk7CisKKwl0
>> ID0geCAvIE1fUElMOworCWlmICh0ID49IDAuMEwpCisJCXQgKz0gMC41TDsKKwllbHNlCisJCXQg
>> LT0gMC41TDsKKworCWkgPSB0OwkvKiB0aGUgbXVsdGlwbGUgKi8KKwl0ID0gaTsKKwl0ID0gKCh4
>> IC0gdCAqIERQMSkgLSB0ICogRFAyKSAtIHQgKiBEUDM7CisJcmV0dXJuIHQ7Cit9CisKKy8qIFRh
>> eWxvciBzZXJpZXMgZXhwYW5zaW9uIGZvciBjb3NoKDJ5KSAtIGNvcygyeCkgKi8KKworbG9uZyBk
>> b3VibGUKK19jdGFuc2wobG9uZyBkb3VibGUgY29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGYs
>> IHgsIHgyLCB5LCB5Miwgcm4sIHQ7CisJbG9uZyBkb3VibGUgZDsKKworCXggPSBmYWJzbCgyLjBM
>> ICogY3JlYWxsKHopKTsKKwl5ID0gZmFic2woMi4wTCAqIGNpbWFnbCh6KSk7CisKKwl4ID0gX3Jl
>> ZHVwaWwoeCk7CisKKwl4ID0geCAqIHg7CisJeSA9IHkgKiB5OworCXgyID0gMS4wOworCXkyID0g
>> MS4wOworCWYgPSAxLjA7CisJcm4gPSAwLjA7CisJZCA9IDAuMDsKKwlkbyB7CisJCXJuICs9IDEu
>> MEw7CisJCWYgKj0gcm47CisJCXJuICs9IDEuMEw7CisJCWYgKj0gcm47CisJCXgyICo9IHg7CisJ
>> CXkyICo9IHk7CisJCXQgPSB5MiArIHgyOworCQl0IC89IGY7CisJCWQgKz0gdDsKKworCQlybiAr
>> PSAxLjBMOworCQlmICo9IHJuOworCQlybiArPSAxLjBMOworCQlmICo9IHJuOworCQl4MiAqPSB4
>> OworCQl5MiAqPSB5OworCQl0ID0geTIgLSB4MjsKKwkJdCAvPSBmOworCQlkICs9IHQ7CisJfSB3
>> aGlsZSAoZmFic2wodC9kKSA+IE1BQ0hFUEwpOworCXJldHVybiBkOworfQpkaWZmIC0tZ2l0IGEv
>> bmV3bGliL2xpYm0vY29tcGxleC9jZXBoZXNfc3VicmwuaCBiL25ld2xpYi9saWJtL2NvbXBsZXgv
>> Y2VwaGVzX3N1YnJsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM1NGIy
>> MwotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2VwaGVzX3N1YnJsLmgK
>> QEAgLTAsMCArMSw5IEBACisvKiAkTmV0QlNEOiBjZXBoZXNfc3VicmwuaCx2IDEuMSAyMDE0LzEw
>> LzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkICovCisKK3ZvaWQgX2NjaHNobChsb25nIGRvdWJs
>> ZSwgbG9uZyBkb3VibGUgKiwgbG9uZyBkb3VibGUgKik7Citsb25nIGRvdWJsZSBfcmVkdXBpbChs
>> b25nIGRvdWJsZSk7Citsb25nIGRvdWJsZSBfY3RhbnNsKGxvbmcgZG91YmxlIGNvbXBsZXgpOwor
>> CisjZGVmaW5lCU1fUElMCTMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAyODBlKzAw
>> TAorI2RlZmluZQlNX1BJXzJMCTEuNTcwNzk2MzI2Nzk0ODk2NjE5MjMxMzIxNjkxNjM5NzUxNDBl
>> KzAwTAorCmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2NleHBsLmMgYi9uZXdsaWIv
>> bGlibS9jb21wbGV4L2NleHBsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
>> OGI1NjYzNAotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY2V4cGwuYwpA
>> QCAtMCwwICsxLDQ2IEBACisvKiAkTmV0QlNEOiBjZXhwbC5jLHYgMS4xIDIwMTQvMTAvMTAgMDA6
>> NDg6MTggY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMDcgVGhl
>> IE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
>> IFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgd3JpdHRlbiBieSBTdGVwaGVuIEwu
>> IE1vc2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRoZSBOZXRCU0QgRm91bmRhdGlv
>> biBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
>> IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
>> ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
>> dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
>> bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
>> b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
>> cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
>> aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
>> bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
>> dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
>> V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElOQy4gQU5EIENPTlRS
>> SUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
>> RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywgVEhFIElNUExJRUQgV0FSUkFO
>> VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
>> UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBGT1VOREFUSU9O
>> IE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
>> SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
>> R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
>> QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
>> OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
>> IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
>> QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
>> UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
>> RiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
>> I2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK2xvbmcgZG91YmxlIGNv
>> bXBsZXgKK2NleHBsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25nIGRvdWJsZSBjb21w
>> bGV4IHc7CisJbG9uZyBkb3VibGUgciwgeCwgeTsKKworCXggPSBjcmVhbGwoeik7CisJeSA9IGNp
>> bWFnbCh6KTsKKwlyID0gZXhwbCh4KTsKKwl3ID0gciAqIGNvc2woeSkgKyByICogc2lubCh5KSAq
>> IEk7CisJcmV0dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9jb21wbGV4L2Nsb2ds
>> LmMgYi9uZXdsaWIvbGlibS9jb21wbGV4L2Nsb2dsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
>> ZXggMDAwMDAwMC4uMzY0NGE0NAotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBs
>> ZXgvY2xvZ2wuYwpAQCAtMCwwICsxLDQ2IEBACisvKiAkTmV0QlNEOiBjbG9nbC5jLHYgMS4xIDIw
>> MTQvMTAvMTAgMDA6NDg6MTggY2hyaXN0b3MgRXhwICQgKi8KKworLyotCisgKiBDb3B5cmlnaHQg
>> KGMpIDIwMDcgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2Vy
>> dmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgd3JpdHRlbiBi
>> eSBTdGVwaGVuIEwuIE1vc2hpZXIuCisgKiBJdCBpcyByZWRpc3RyaWJ1dGVkIGJ5IHRoZSBOZXRC
>> U0QgRm91bmRhdGlvbiBieSBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuCisgKgorICogUmVkaXN0
>> cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
>> b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
>> bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
>> c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
>> LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
>> ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
>> Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
>> IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
>> L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
>> ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElO
>> Qy4gQU5EIENPTlRSSUJVVE9SUworICogYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
>> SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECisgKiBUTywgVEhFIElN
>> UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
>> VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRI
>> RSBGT1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
>> LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
>> VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
>> TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
>> LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
>> RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
>> LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
>> UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
>> V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
>> R0UuCisgKi8KKworI2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxtYXRoLmg+CisKK2xv
>> bmcgZG91YmxlIGNvbXBsZXgKK2Nsb2dsKGxvbmcgZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25n
>> IGRvdWJsZSBjb21wbGV4IHc7CisJbG9uZyBkb3VibGUgcCwgcnI7CisKKwlyciA9IGNhYnNsKHop
>> OworCXAgPSBsb2dsKHJyKTsKKwlyciA9IGF0YW4ybChjaW1hZ2woeiksIGNyZWFsbCh6KSk7CisJ
>> dyA9IHAgKyByciAqIEk7CisJcmV0dXJuIHc7Cit9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGlibS9j
>> b21wbGV4L2Nwcm9qbC5jIGIvbmV3bGliL2xpYm0vY29tcGxleC9jcHJvamwuYwpuZXcgZmlsZSBt
>> b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzFjNzczCi0tLSAvZGV2L251bGwKKysrIGIvbmV3
>> bGliL2xpYm0vY29tcGxleC9jcHJvamwuYwpAQCAtMCwwICsxLDY0IEBACisvKgkkTmV0QlNEOiBj
>> cHJvamwuYyx2IDEuNyAyMDE0LzEwLzEwIDAwOjQ4OjE4IGNocmlzdG9zIEV4cCAkCSovCisKKy8q
>> LQorICogQ29weXJpZ2h0IChjKSAyMDEwIFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICog
>> QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
>> dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
>> YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
>> YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
>> biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
>> b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
>> aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
>> bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
>> bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
>> b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
>> T1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQgQ09OVFJJQlVUT1JTCisg
>> KiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
>> SU5HLCBCVVQgTk9UIExJTUlURUQKKyAqIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
>> UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
>> RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5EQVRJT04gT1IgQ09OVFJJ
>> QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
>> LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
>> RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
>> T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
>> RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
>> IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
>> IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
>> QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
>> T0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUgPHN5
>> cy9jZGVmcy5oPgorX19SQ1NJRCgiJE5ldEJTRDogY3Byb2psLmMsdiAxLjcgMjAxNC8xMC8xMCAw
>> MDo0ODoxOCBjaHJpc3RvcyBFeHAgJCIpOworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1
>> ZGUgPG1hdGguaD4KKworI2luY2x1ZGUgIi4uL2NvbW1vbi9mZGxpYm0uaCIKKworLyoKKyAqIGNw
>> cm9qbChsb25nIGRvdWJsZSBjb21wbGV4IHopCisgKgorICogVGhlc2UgZnVuY3Rpb25zIHJldHVy
>> biB0aGUgdmFsdWUgb2YgdGhlIHByb2plY3Rpb24gKG5vdCBzdGVyZW9ncmFwaGljISkKKyAqIG9u
>> dG8gdGhlIFJpZW1hbm4gc3BoZXJlLgorICoKKyAqIHogcHJvamVjdHMgdG8geiwgZXhjZXB0IHRo
>> YXQgYWxsIGNvbXBsZXggaW5maW5pdGllcyAoZXZlbiB0aG9zZSB3aXRoIG9uZQorICogaW5maW5p
>> dGUgcGFydCBhbmQgb25lIE5hTiBwYXJ0KSBwcm9qZWN0IHRvIHBvc2l0aXZlIGluZmluaXR5IG9u
>> IHRoZSByZWFsIGF4aXMuCisgKiBJZiB6IGhhcyBhbiBpbmZpbml0ZSBwYXJ0LCB0aGVuIGNwcm9q
>> KHopIHNoYWxsIGJlIGVxdWl2YWxlbnQgdG86CisgKgorICogSU5GSU5JVFkgKyBJICogY29weXNp
>> Z24oMC4wLCBjaW1hZyh6KSkKKyAqLworbG9uZyBkb3VibGUgY29tcGxleAorY3Byb2psKGxvbmcg
>> ZG91YmxlIGNvbXBsZXggeikKK3sKKwlsb25nX2RvdWJsZV9jb21wbGV4IHcgPSB7IC56ID0geiB9
>> OworCisJLypDT05TVENPTkQqLworCWlmIChpc2luZihjcmVhbGwoeikpIHx8IGlzaW5mKGNpbWFn
>> bCh6KSkpIHsKKyNpZmRlZiBfX0lORklOSVRZCisJCVJFQUxfUEFSVCh3KSA9IEhVR0VfVkFMOwor
>> I2Vsc2UKKwkJUkVBTF9QQVJUKHcpID0gSU5GSU5JVFk7CisjZW5kaWYKKwkJSU1BR19QQVJUKHcp
>> ID0gY29weXNpZ25sKDAuMEwsIGNpbWFnbCh6KSk7CisJfQorCisJcmV0dXJuICh3LnopOworfQpk
>> aWZmIC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYyBiL25ld2xpYi9saWJtL2Nv
>> bXBsZXgvY3NxcnRsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEwYTEy
>> NgotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9saWJtL2NvbXBsZXgvY3NxcnRsLmMKQEAgLTAs
>> MCArMSwxMTIgQEAKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMDggRGF2aWQgU2NodWx0
>> eiA8ZGFzQEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
>> c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
>> dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
>> b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
>> ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
>> Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
>> CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
>> IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
>> bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
>> bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
>> CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJV
>> VE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
>> IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
>> UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
>> CisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09O
>> VFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
>> VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElO
>> Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
>> T0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
>> U0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
>> IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFks
>> IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
>> TlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
>> RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
>> ZSA8c3lzL2NkZWZzLmg+CisjaWYgMAorX19GQlNESUQoIiRGcmVlQlNEOiBoZWFkL2xpYi9tc3Vu
>> L3NyYy9zX2NzcXJ0bC5jIDE4MTQwMiAyMDA4LTA4LTA4IDAwOjE1OjE2WiBkYXMgJCIpOworI2Vs
>> c2UKK19fUkNTSUQoIiROZXRCU0Q6IGNzcXJ0bC5jLHYgMS4yIDIwMTQvMTAvMTEgMDA6NDM6NTEg
>> Y2hyaXN0b3MgRXhwICQiKTsKKyNlbmRpZgorCisjaW5jbHVkZSA8Y29tcGxleC5oPgorI2luY2x1
>> ZGUgPGZsb2F0Lmg+CisjaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKy8q
>> CisgKiBnY2MgZG9lc24ndCBpbXBsZW1lbnQgY29tcGxleCBtdWx0aXBsaWNhdGlvbiBvciBkaXZp
>> c2lvbiBjb3JyZWN0bHksCisgKiBzbyB3ZSBuZWVkIHRvIGhhbmRsZSBpbmZpbml0aWVzIHNwZWNp
>> YWxseS4gV2UgdHVybiBvbiB0aGlzIHByYWdtYSB0bworICogbm90aWZ5IGNvbmZvcm1pbmcgYzk5
>> IGNvbXBpbGVycyB0aGF0IHRoZSBmYXN0LWJ1dC1pbmNvcnJlY3QgY29kZSB0aGF0CisgKiBnY2Mg
>> Z2VuZXJhdGVzIGlzIGFjY2VwdGFibGUsIHNpbmNlIHRoZSBzcGVjaWFsIGNhc2VzIGhhdmUgYWxy
>> ZWFkeSBiZWVuCisgKiBoYW5kbGVkLgorICovCisvLyAjcHJhZ21hCVNUREMgQ1hfTElNSVRFRF9S
>> QU5HRQlPTgorCisvKiBXZSByaXNrIHNwdXJpb3VzIG92ZXJmbG93IGZvciBjb21wb25lbnRzID49
>> IExEQkxfTUFYIC8gKDEgKyBzcXJ0KDIpKS4gKi8KKyNkZWZpbmUJVEhSRVNICShMREJMX01BWCAv
>> IDIuNDE0MjEzNTYyMzczMDk1MDQ4ODAxNjg4NzI0MjA5Njk4TCkKKworI2RlZmluZSBjcGFja2wo
>> ciwgaSkgKChyKSArIChpKSAqIEkpCisKK2xvbmcgZG91YmxlIGNvbXBsZXgKK2NzcXJ0bChsb25n
>> IGRvdWJsZSBjb21wbGV4IHopCit7CisJbG9uZyBkb3VibGUgY29tcGxleCByZXN1bHQ7CisJbG9u
>> ZyBkb3VibGUgYSwgYjsKKwlsb25nIGRvdWJsZSB0OworCWJvb2wgc2NhbGU7CisKKwlhID0gY3Jl
>> YWxsKHopOworCWIgPSBjaW1hZ2woeik7CisKKwkvKiBIYW5kbGUgc3BlY2lhbCBjYXNlcy4gKi8K
>> KwlpZiAoeiA9PSAwLjBMKQorCQlyZXR1cm4gKGNwYWNrbCgwLjBMLCBiKSk7CisJaWYgKGlzaW5m
>> KGIpKQorCQlyZXR1cm4gKGNwYWNrbChJTkZJTklUWSwgYikpOworCWlmIChpc25hbihhKSkgewor
>> CQl0ID0gKGIgLSBiKSAvIChiIC0gYik7CS8qIHJhaXNlIGludmFsaWQgaWYgYiBpcyBub3QgYSBO
>> YU4gKi8KKwkJcmV0dXJuIChjcGFja2woYSwgdCkpOwkvKiByZXR1cm4gTmFOICsgTmFOIGkgKi8K
>> Kwl9CisJaWYgKGlzaW5mKGEpKSB7CisJCS8qCisJCSAqIGNzcXJ0KGluZiArIE5hTiBpKSAgPSBp
>> bmYgKyAgTmFOIGkKKwkJICogY3NxcnQoaW5mICsgeSBpKSAgICA9IGluZiArICAwIGkKKwkJICog
>> Y3NxcnQoLWluZiArIE5hTiBpKSA9IE5hTiArLSBpbmYgaQorCQkgKiBjc3FydCgtaW5mICsgeSBp
>> KSAgID0gMCAgICsgIGluZiBpCisJCSAqLworCQlpZiAoc2lnbmJpdChhKSkKKwkJCXJldHVybiAo
>> Y3BhY2tsKGZhYnNsKGIgLSBiKSwgY29weXNpZ25sKGEsIGIpKSk7CisJCWVsc2UKKwkJCXJldHVy
>> biAoY3BhY2tsKGEsIGNvcHlzaWdubChiIC0gYiwgYikpKTsKKwl9CisJLyoKKwkgKiBUaGUgcmVt
>> YWluaW5nIHNwZWNpYWwgY2FzZSAoYiBpcyBOYU4pIGlzIGhhbmRsZWQganVzdCBmaW5lIGJ5CisJ
>> ICogdGhlIG5vcm1hbCBjb2RlIHBhdGggYmVsb3cuCisJICovCisKKwkvKiBTY2FsZSB0byBhdm9p
>> ZCBvdmVyZmxvdy4gKi8KKwlpZiAoZmFic2woYSkgPj0gVEhSRVNIIHx8IGZhYnNsKGIpID49IFRI
>> UkVTSCkgeworCQlhICo9IDAuMjVMOworCQliICo9IDAuMjVMOworCQlzY2FsZSA9IHRydWU7CisJ
>> fSBlbHNlIHsKKwkJc2NhbGUgPSBmYWxzZTsKKwl9CisKKwkvKiBBbGdvcml0aG0gMzEyLCBDQUNN
>> IHZvbCAxMCwgT2N0IDE5NjcuICovCisJaWYgKGEgPj0gMEwpIHsKKwkJdCA9IHNxcnRsKChhICsg
>> aHlwb3RsKGEsIGIpKSAqIDAuNUwpOworCQlyZXN1bHQgPSBjcGFja2wodCwgYiAvICgyLjBMICog
>> dCkpOworCX0gZWxzZSB7CisJCXQgPSBzcXJ0bCgoLWEgKyBoeXBvdGwoYSwgYikpICogMC41TCk7
>> CisJCXJlc3VsdCA9IGNwYWNrbChmYWJzbChiKSAvICgyLjBMICogdCksIGNvcHlzaWdubCh0LCBi
>> KSk7CisJfQorCisJLyogUmVzY2FsZS4gKi8KKwlpZiAoc2NhbGUpCisJCXJldHVybiAocmVzdWx0
>> ICogMi4wTCk7CisJZWxzZQorCQlyZXR1cm4gKHJlc3VsdCk7Cit9Cg==
>> --001a11415d58a0bfbb0552f6215b--

-- 
Joel Sherrill, Ph.D.
Check out RTEMS at https://www.rtems.org
Truly free real-time operating sysem



More information about the Newlib mailing list