From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7470 invoked by alias); 10 Jan 2018 13:59:16 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 7460 invoked by uid 89); 10 Jan 2018 13:59:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Hx-languages-length:2356 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 10 Jan 2018 13:59:13 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 76260272A3 for ; Wed, 10 Jan 2018 13:59:12 +0000 (UTC) Received: from snowball.redhat.com (ovpn-116-75.ams2.redhat.com [10.36.116.75]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 35B7B17A69 for ; Wed, 10 Jan 2018 13:59:11 +0000 (UTC) From: Nick Clifton To: binutils@sourceware.org Subject: Commit: Update libiberty sources Date: Wed, 10 Jan 2018 13:59:00 -0000 Message-ID: <87d12hstle.fsf@redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00152.txt.bz2 --=-=-= Content-Type: text/plain Content-length: 2378 Hi Guys, I have checked in the attached patch to synchronize our copy of the libiberty sources with those from gcc. Cheers Nick libiberty/ChangeLog 2018-01-03 Jakub Jelinek Update copyright years. 2017-01-02 Richard Biener PR lto/83452 * simple-object-elf.c (simple_object_elf_copy_lto_debug_section): Do not use UNDEF locals for removed symbols but instead just define them in the first prevailing section and with no name. Use the same gnu_lto_v1 name for all removed globals we promote to WEAK UNDEFs so hpux can use a stub to provide this symbol. Clear sh_info and sh_link in removed sections. 2017-10-30 Richard Biener PR lto/82757 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): Strip two leading _s from the __gnu_lto_* symbols. 2017-10-24 Alan Modra PR lto/82687 PR lto/82575 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): Only make __gnu_lto symbols hidden. 2017-10-20 Alan Modra PR lto/82575 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): Make discarded non-local symbols weak and hidden. 2017-10-18 Jakub Jelinek PR lto/82598 * simple-object.c (handle_lto_debug_sections): Copy over also .note.GNU-stack section with unchanged name. * simple-object-elf.c (SHF_EXECINSTR): Define. (simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit on .note.GNU-stack section. 2017-09-25 Nathan Sidwell PR demangler/82195 * cp-demangle.c (d_encoding): Strip return type when name is a LOCAL_NAME. (d_local_name): Strip return type of enclosing TYPED_NAME. * testsuite/demangle-expected: Add and adjust tests. 2017-09-21 Nathan Sidwell PR demangler/82195 * cp-demangle.c (d_name): Revert addition of 'toplevel' parm. (has_return_type): Recurse for DEMANGLE_COMPONENT_LOCAL_NAME. (d_encoding): Revert d_name change. Use is_fnqual_component_type to strip modifiers that do not belong. (d_special_name, d_class_enum_type): Revert d_name call change. (d_expresion_1): Commonize DEMANGLE_COMPONENT_UNARY building. (d_local_name): Revert parsing of a function type. (d_print_comp_inner): An inner LOCAL_NAME might contain a TEMPLATE. * testsuite/demangle-expected: Add & adjust tests --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=fred Content-Transfer-Encoding: base64 Content-length: 130601 ZGlmZiAtcnVwIGxpYmliZXJ0eS9hcmd2LmMgL3dvcmsvc291cmNlcy9nY2Mv Y3VycmVudC9saWJpYmVydHkvYXJndi5jCi0tLSBsaWJpYmVydHkvYXJndi5j CTIwMTctMTItMDggMTA6MTk6MDYuOTI5MDU3NTQ0ICswMDAwCisrKyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9hcmd2LmMJMjAxOC0w MS0wNCAwODowNjo1Ny43MDY2NDc4NjMgKzAwMDAKQEAgLTEsNSArMSw1IEBA CiAvKiBDcmVhdGUgYW5kIGRlc3Ryb3kgYXJndW1lbnQgdmVjdG9ycyAoYXJn didzKQotICAgQ29weXJpZ2h0IChDKSAxOTkyLTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDE5OTItMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4g YnkgRnJlZCBGaXNoIEAgQ3lnbnVzIFN1cHBvcnQKIAogVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgpkaWZmIC1ydXAgbGli aWJlcnR5L2FzcHJpbnRmLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9s aWJpYmVydHkvYXNwcmludGYuYwotLS0gbGliaWJlcnR5L2FzcHJpbnRmLmMJ MjAxNy0xMi0wOCAxMDoxOTowNi45MzIwNTc1MDcgKzAwMDAKKysrIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2FzcHJpbnRmLmMJMjAx OC0wMS0wNCAwODowNjo1Ny43MTA2NDc4MjEgKzAwMDAKQEAgLTEsNiArMSw2 IEBACiAvKiBMaWtlIHNwcmludGYgYnV0IHByb3ZpZGVzIGEgcG9pbnRlciB0 byBtYWxsb2MnZCBzdG9yYWdlLCB3aGljaCBtdXN0CiAgICBiZSBmcmVlZCBi eSB0aGUgY2FsbGVyLgotICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTcgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMp IDE5OTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAg IENvbnRyaWJ1dGVkIGJ5IEN5Z251cyBTb2x1dGlvbnMuCiAKIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KT25seSBpbiBs aWJpYmVydHk6IGF1dG9tNHRlLmNhY2hlCmRpZmYgLXJ1cCBsaWJpYmVydHkv Q2hhbmdlTG9nIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5 L0NoYW5nZUxvZwotLS0gbGliaWJlcnR5L0NoYW5nZUxvZwkyMDE3LTEyLTA4 IDE3OjA0OjM2Ljc4ODMyMzg3OSArMDAwMAorKysgL3dvcmsvc291cmNlcy9n Y2MvY3VycmVudC9saWJpYmVydHkvQ2hhbmdlTG9nCTIwMTgtMDEtMDQgMDg6 MDY6NTYuOTQ1NjU1ODg3ICswMDAwCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTgt MDEtMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJ VXBkYXRlIGNvcHlyaWdodCB5ZWFycy4KKworMjAxNy0wMS0wMiAgUmljaGFy ZCBCaWVuZXIgIDxyZ3VlbnRoZXJAc3VzZS5kZT4KKworCVBSIGx0by84MzQ1 MgorCSogc2ltcGxlLW9iamVjdC1lbGYuYyAoc2ltcGxlX29iamVjdF9lbGZf Y29weV9sdG9fZGVidWdfc2VjdGlvbik6CisJRG8gbm90IHVzZSBVTkRFRiBs b2NhbHMgZm9yIHJlbW92ZWQgc3ltYm9scyBidXQgaW5zdGVhZCBqdXN0CisJ ZGVmaW5lIHRoZW0gaW4gdGhlIGZpcnN0IHByZXZhaWxpbmcgc2VjdGlvbiBh bmQgd2l0aCBubyBuYW1lLgorCVVzZSB0aGUgc2FtZSBnbnVfbHRvX3YxIG5h bWUgZm9yIGFsbCByZW1vdmVkIGdsb2JhbHMgd2UgcHJvbW90ZSB0bworCVdF QUsgVU5ERUZzIHNvIGhwdXggY2FuIHVzZSBhIHN0dWIgdG8gcHJvdmlkZSB0 aGlzIHN5bWJvbC4gIENsZWFyCisJc2hfaW5mbyBhbmQgc2hfbGluayBpbiBy ZW1vdmVkIHNlY3Rpb25zLgorCisyMDE3LTEwLTMwICBSaWNoYXJkIEJpZW5l ciAgPHJndWVudGhlckBzdXNlLmRlPgorCisJUFIgbHRvLzgyNzU3CisJKiBz aW1wbGUtb2JqZWN0LWVsZi5jIChzaW1wbGVfb2JqZWN0X2VsZl9jb3B5X2x0 b19kZWJ1Z19zZWN0aW9ucyk6CisJU3RyaXAgdHdvIGxlYWRpbmcgX3MgZnJv bSB0aGUgX19nbnVfbHRvXyogc3ltYm9scy4KKworMjAxNy0xMC0yNCAgQWxh biBNb2RyYSAgPGFtb2RyYUBnbWFpbC5jb20+CisKKwlQUiBsdG8vODI2ODcK KwlQUiBsdG8vODI1NzUKKwkqIHNpbXBsZS1vYmplY3QtZWxmLmMgKHNpbXBs ZV9vYmplY3RfZWxmX2NvcHlfbHRvX2RlYnVnX3NlY3Rpb25zKToKKwlPbmx5 IG1ha2UgX19nbnVfbHRvIHN5bWJvbHMgaGlkZGVuLgorCisyMDE3LTEwLTIw ICBBbGFuIE1vZHJhICA8YW1vZHJhQGdtYWlsLmNvbT4KKworCVBSIGx0by84 MjU3NQorCSogc2ltcGxlLW9iamVjdC1lbGYuYyAoc2ltcGxlX29iamVjdF9l bGZfY29weV9sdG9fZGVidWdfc2VjdGlvbnMpOgorCU1ha2UgZGlzY2FyZGVk IG5vbi1sb2NhbCBzeW1ib2xzIHdlYWsgYW5kIGhpZGRlbi4KKworMjAxNy0x MC0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQ UiBsdG8vODI1OTgKKwkqIHNpbXBsZS1vYmplY3QuYyAoaGFuZGxlX2x0b19k ZWJ1Z19zZWN0aW9ucyk6IENvcHkgb3ZlciBhbHNvCisJLm5vdGUuR05VLXN0 YWNrIHNlY3Rpb24gd2l0aCB1bmNoYW5nZWQgbmFtZS4KKwkqIHNpbXBsZS1v YmplY3QtZWxmLmMgKFNIRl9FWEVDSU5TVFIpOiBEZWZpbmUuCisJKHNpbXBs ZV9vYmplY3RfZWxmX2NvcHlfbHRvX2RlYnVnX3NlY3Rpb24pOiBEcm9wIFNI Rl9FWEVDSU5TVFIgYml0CisJb24gLm5vdGUuR05VLXN0YWNrIHNlY3Rpb24u CisKKzIwMTctMDktMjUgIE5hdGhhbiBTaWR3ZWxsICA8bmF0aGFuQGFjbS5v cmc+CisKKwlQUiBkZW1hbmdsZXIvODIxOTUKKwkqIGNwLWRlbWFuZ2xlLmMg KGRfZW5jb2RpbmcpOiBTdHJpcCByZXR1cm4gdHlwZSB3aGVuIG5hbWUgaXMg YQorCUxPQ0FMX05BTUUuCisJKGRfbG9jYWxfbmFtZSk6IFN0cmlwIHJldHVy biB0eXBlIG9mIGVuY2xvc2luZyBUWVBFRF9OQU1FLgorCSogdGVzdHN1aXRl L2RlbWFuZ2xlLWV4cGVjdGVkOiBBZGQgYW5kIGFkanVzdCB0ZXN0cy4KKwor MjAxNy0wOS0yMSAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AYWNtLm9yZz4K KworCVBSIGRlbWFuZ2xlci84MjE5NQorCSogY3AtZGVtYW5nbGUuYyAoZF9u YW1lKTogUmV2ZXJ0IGFkZGl0aW9uIG9mICd0b3BsZXZlbCcgcGFybS4KKwko aGFzX3JldHVybl90eXBlKTogUmVjdXJzZSBmb3IgREVNQU5HTEVfQ09NUE9O RU5UX0xPQ0FMX05BTUUuCisJKGRfZW5jb2RpbmcpOiBSZXZlcnQgZF9uYW1l IGNoYW5nZS4gIFVzZSBpc19mbnF1YWxfY29tcG9uZW50X3R5cGUKKwl0byBz dHJpcCBtb2RpZmllcnMgdGhhdCBkbyBub3QgYmVsb25nLgorCShkX3NwZWNp YWxfbmFtZSwgZF9jbGFzc19lbnVtX3R5cGUpOiBSZXZlcnQgZF9uYW1lIGNh bGwgY2hhbmdlLgorCShkX2V4cHJlc2lvbl8xKTogQ29tbW9uaXplIERFTUFO R0xFX0NPTVBPTkVOVF9VTkFSWSBidWlsZGluZy4KKwkoZF9sb2NhbF9uYW1l KTogUmV2ZXJ0IHBhcnNpbmcgb2YgYSBmdW5jdGlvbiB0eXBlLgorCShkX3By aW50X2NvbXBfaW5uZXIpOiBBbiBpbm5lciBMT0NBTF9OQU1FIG1pZ2h0IGNv bnRhaW4gYQorCVRFTVBMQVRFLgorCSogdGVzdHN1aXRlL2RlbWFuZ2xlLWV4 cGVjdGVkOiBBZGQgJiBhZGp1c3QgdGVzdHMKKwogMjAxNy0wOS0xNSAgTmF0 aGFuIFNpZHdlbGwgIDxuYXRoYW5AYWNtLm9yZz4KIAogCVBSIGRlbWFuZ2xl ci84MjE5NQpkaWZmIC1ydXAgbGliaWJlcnR5L2Nob29zZS10ZW1wLmMgL3dv cmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvY2hvb3NlLXRlbXAu YwotLS0gbGliaWJlcnR5L2Nob29zZS10ZW1wLmMJMjAxNy0xMi0wOCAxMDox OTowNi45NTUwNTcyMjAgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1 cnJlbnQvbGliaWJlcnR5L2Nob29zZS10ZW1wLmMJMjAxOC0wMS0wNCAwODow Njo1Ny43MDc2NDc4NTIgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBVdGls aXR5IHRvIHBpY2sgYSB0ZW1wb3JhcnkgZmlsZW5hbWUgcHJlZml4LgotICAg Q29weXJpZ2h0IChDKSAxOTk2LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxOCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQg b2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgogTGliaWJlcnR5IGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpkaWZm IC1ydXAgbGliaWJlcnR5L2Nsb2NrLmMgL3dvcmsvc291cmNlcy9nY2MvY3Vy cmVudC9saWJpYmVydHkvY2xvY2suYwotLS0gbGliaWJlcnR5L2Nsb2NrLmMJ MjAxNy0xMi0wOCAxMDoxOTowNi45NTYwNTcyMDcgKzAwMDAKKysrIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2Nsb2NrLmMJMjAxOC0w MS0wNCAwODowNjo1Ny42ODI2NDgxMTYgKzAwMDAKQEAgLTEsNSArMSw1IEBA CiAvKiBBTlNJLWNvbXBhdGlibGUgY2xvY2sgZnVuY3Rpb24uCi0gICBDb3B5 cmlnaHQgKEMpIDE5OTQtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk5NC0yMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgbGliaWJlcnR5IGxpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMgZnJlZQog c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkgaXQgdW5kZXIgdGhlCmRpZmYgLXJ1cCBsaWJpYmVydHkvY29uY2F0LmMg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvY29uY2F0LmMK LS0tIGxpYmliZXJ0eS9jb25jYXQuYwkyMDE3LTEyLTA4IDEwOjE5OjA2Ljk1 NjA1NzIwNyArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9s aWJpYmVydHkvY29uY2F0LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42NzI2NDgy MjEgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBDb25jYXRlbmF0ZSB2YXJp YWJsZSBudW1iZXIgb2Ygc3RyaW5ncy4KLSAgIENvcHlyaWdodCAoQykgMTk5 MS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29w eXJpZ2h0IChDKSAxOTkxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiAgICBXcml0dGVuIGJ5IEZyZWQgRmlzaCBAIEN5Z251cyBTdXBw b3J0CiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGli cmFyeS4KZGlmZiAtcnVwIGxpYmliZXJ0eS9jb3B5aW5nLWxpYi50ZXhpIC93 b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2NvcHlpbmctbGli LnRleGkKLS0tIGxpYmliZXJ0eS9jb3B5aW5nLWxpYi50ZXhpCTIwMTctMTIt MDggMTA6MTk6MDYuOTcyMDU3MDA2ICswMDAwCisrKyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS9jb3B5aW5nLWxpYi50ZXhpCTIwMTgt MDEtMDQgMDg6MDY6NTcuNjg4NjQ4MDUzICswMDAwCkBAIC01LDcgKzUsNyBA QAogQGNlbnRlciBWZXJzaW9uIDIuMSwgRmVicnVhcnkgMTk5OQogCiBAZGlz cGxheQotQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAxOTkxLTIwMTcgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgQGNvcHlyaWdo dHt9IDE5OTEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K IDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZsb29yLCBCb3N0b24sIE1B IDAyMTEwLTEzMDEsIFVTQQogCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8g Y29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKZGlmZiAtcnVw IGxpYmliZXJ0eS9jcC1kZW1hbmdsZS5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1 cnJlbnQvbGliaWJlcnR5L2NwLWRlbWFuZ2xlLmMKLS0tIGxpYmliZXJ0eS9j cC1kZW1hbmdsZS5jCTIwMTctMTItMDggMTc6MDQ6MzYuNzk0MzIzODA0ICsw MDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9j cC1kZW1hbmdsZS5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNzA4NjQ3ODQyICsw MDAwCkBAIC0xLDUgKzEsNSBAQAogLyogRGVtYW5nbGVyIGZvciBnKysgVjMg QUJJLgotICAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4g YnkgSWFuIExhbmNlIFRheWxvciA8aWFuQHdhc2FiaXN5c3RlbXMuY29tPi4K IAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJy YXJ5LCB3aGljaCBpcyBwYXJ0IG9mIEdDQy4KQEAgLTQyNSw3ICs0MjUsNyBA QCBpc19jdG9yX2R0b3Jfb3JfY29udmVyc2lvbiAoc3RydWN0IGRlbWFuCiAK IHN0YXRpYyBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpkX2VuY29kaW5n IChzdHJ1Y3QgZF9pbmZvICosIGludCk7CiAKLXN0YXRpYyBzdHJ1Y3QgZGVt YW5nbGVfY29tcG9uZW50ICpkX25hbWUgKHN0cnVjdCBkX2luZm8gKiwgaW50 KTsKK3N0YXRpYyBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpkX25hbWUg KHN0cnVjdCBkX2luZm8gKik7CiAKIHN0YXRpYyBzdHJ1Y3QgZGVtYW5nbGVf Y29tcG9uZW50ICpkX25lc3RlZF9uYW1lIChzdHJ1Y3QgZF9pbmZvICopOwog CkBAIC00ODQsNyArNDg0LDcgQEAgc3RhdGljIHN0cnVjdCBkZW1hbmdsZV9j b21wb25lbnQgKmRfZXhwcgogCiBzdGF0aWMgc3RydWN0IGRlbWFuZ2xlX2Nv bXBvbmVudCAqZF9leHByX3ByaW1hcnkgKHN0cnVjdCBkX2luZm8gKik7CiAK LXN0YXRpYyBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpkX2xvY2FsX25h bWUgKHN0cnVjdCBkX2luZm8gKiwgaW50KTsKK3N0YXRpYyBzdHJ1Y3QgZGVt YW5nbGVfY29tcG9uZW50ICpkX2xvY2FsX25hbWUgKHN0cnVjdCBkX2luZm8g Kik7CiAKIHN0YXRpYyBpbnQgZF9kaXNjcmltaW5hdG9yIChzdHJ1Y3QgZF9p bmZvICopOwogCkBAIC0xMjU5LDYgKzEyNTksOCBAQCBoYXNfcmV0dXJuX3R5 cGUgKHN0cnVjdCBkZW1hbmdsZV9jb21wb25lCiAgICAgewogICAgIGRlZmF1 bHQ6CiAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIERFTUFOR0xFX0NPTVBP TkVOVF9MT0NBTF9OQU1FOgorICAgICAgcmV0dXJuIGhhc19yZXR1cm5fdHlw ZSAoZF9yaWdodCAoZGMpKTsKICAgICBjYXNlIERFTUFOR0xFX0NPTVBPTkVO VF9URU1QTEFURToKICAgICAgIHJldHVybiAhIGlzX2N0b3JfZHRvcl9vcl9j b252ZXJzaW9uIChkX2xlZnQgKGRjKSk7CiAgICAgRk5RVUFMX0NPTVBPTkVO VF9DQVNFOgpAQCAtMTMwMSwyNSArMTMwMywyMiBAQCBzdGF0aWMgc3RydWN0 IGRlbWFuZ2xlX2NvbXBvbmVudCAqCiBkX2VuY29kaW5nIChzdHJ1Y3QgZF9p bmZvICpkaSwgaW50IHRvcF9sZXZlbCkKIHsKICAgY2hhciBwZWVrID0gZF9w ZWVrX2NoYXIgKGRpKTsKKyAgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAq ZGM7CiAKICAgaWYgKHBlZWsgPT0gJ0cnIHx8IHBlZWsgPT0gJ1QnKQotICAg IHJldHVybiBkX3NwZWNpYWxfbmFtZSAoZGkpOworICAgIGRjID0gZF9zcGVj aWFsX25hbWUgKGRpKTsKICAgZWxzZQogICAgIHsKLSAgICAgIHN0cnVjdCBk ZW1hbmdsZV9jb21wb25lbnQgKmRjLCAqZGNyOwotCi0gICAgICBkYyA9IGRf bmFtZSAoZGksIHRvcF9sZXZlbCk7CisgICAgICBkYyA9IGRfbmFtZSAoZGkp OwogCi0gICAgICBpZiAoZGMgIT0gTlVMTCAmJiB0b3BfbGV2ZWwgJiYgKGRp LT5vcHRpb25zICYgRE1HTF9QQVJBTVMpID09IDApCisgICAgICBpZiAoIWRj KQorCS8qIEZhaWxlZCBhbHJlYWR5LiAgKi87CisgICAgICBlbHNlIGlmICh0 b3BfbGV2ZWwgJiYgKGRpLT5vcHRpb25zICYgRE1HTF9QQVJBTVMpID09IDAp CiAJewogCSAgLyogU3RyaXAgb2ZmIGFueSBpbml0aWFsIENWLXF1YWxpZmll cnMsIGFzIHRoZXkgcmVhbGx5IGFwcGx5CiAJICAgICB0byB0aGUgYHRoaXMn IHBhcmFtZXRlciwgYW5kIHRoZXkgd2VyZSBub3Qgb3V0cHV0IGJ5IHRoZQog CSAgICAgdjIgZGVtYW5nbGVyIHdpdGhvdXQgRE1HTF9QQVJBTVMuICAqLwot CSAgd2hpbGUgKGRjLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9SRVNU UklDVF9USElTCi0JCSB8fCBkYy0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05F TlRfVk9MQVRJTEVfVEhJUwotCQkgfHwgZGMtPnR5cGUgPT0gREVNQU5HTEVf Q09NUE9ORU5UX0NPTlNUX1RISVMKLQkJIHx8IGRjLT50eXBlID09IERFTUFO R0xFX0NPTVBPTkVOVF9SRUZFUkVOQ0VfVEhJUwotCQkgfHwgZGMtPnR5cGUg PT0gREVNQU5HTEVfQ09NUE9ORU5UX1JWQUxVRV9SRUZFUkVOQ0VfVEhJUykK KwkgIHdoaWxlIChpc19mbnF1YWxfY29tcG9uZW50X3R5cGUgKGRjLT50eXBl KSkKIAkgICAgZGMgPSBkX2xlZnQgKGRjKTsKIAogCSAgLyogSWYgdGhlIHRv cCBsZXZlbCBpcyBhIERFTUFOR0xFX0NPTVBPTkVOVF9MT0NBTF9OQU1FLCB0 aGVuCkBAIC0xMzI3LDIyICsxMzI2LDM3IEBAIGRfZW5jb2RpbmcgKHN0cnVj dCBkX2luZm8gKmRpLCBpbnQgdG9wX2wKIAkgICAgIHJlYWxseSBhcHBseSBo ZXJlOyB0aGlzIGhhcHBlbnMgd2hlbiBwYXJzaW5nIGEgY2xhc3MKIAkgICAg IHdoaWNoIGlzIGxvY2FsIHRvIGEgZnVuY3Rpb24uICAqLwogCSAgaWYgKGRj LT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9MT0NBTF9OQU1FKQorCSAg ICB3aGlsZSAoaXNfZm5xdWFsX2NvbXBvbmVudF90eXBlIChkX3JpZ2h0IChk YyktPnR5cGUpKQorCSAgICAgIGRfcmlnaHQgKGRjKSA9IGRfbGVmdCAoZF9y aWdodCAoZGMpKTsKKwl9CisgICAgICBlbHNlCisJeworCSAgcGVlayA9IGRf cGVla19jaGFyIChkaSk7CisJICBpZiAocGVlayAhPSAnXDAnICYmIHBlZWsg IT0gJ0UnKQogCSAgICB7Ci0JICAgICAgZGNyID0gZF9yaWdodCAoZGMpOwot CSAgICAgIHdoaWxlIChpc19mbnF1YWxfY29tcG9uZW50X3R5cGUgKGRjci0+ dHlwZSkpCi0JCWRjciA9IGRfbGVmdCAoZGNyKTsKLQkgICAgICBkYy0+dS5z X2JpbmFyeS5yaWdodCA9IGRjcjsKLQkgICAgfQorCSAgICAgIHN0cnVjdCBk ZW1hbmdsZV9jb21wb25lbnQgKmZ0eXBlOwogCi0JICByZXR1cm4gZGM7Ci0J fQorCSAgICAgIGZ0eXBlID0gZF9iYXJlX2Z1bmN0aW9uX3R5cGUgKGRpLCBo YXNfcmV0dXJuX3R5cGUgKGRjKSk7CisJICAgICAgaWYgKGZ0eXBlKQorCQl7 CisJCSAgLyogSWYgdGhpcyBpcyBhIG5vbi10b3AtbGV2ZWwgbG9jYWwtbmFt ZSwgY2xlYXIgdGhlCisJCSAgICAgcmV0dXJuIHR5cGUsIHNvIGl0IGRvZXNu J3QgY29uZnVzZSB0aGUgdXNlciBieQorCQkgICAgIGJlaW5nIGNvbmZ1c2Vk IHdpdGggdGhlIHJldHVybiB0eXBlIG9mIHdoYWV2ZXIKKwkJICAgICB0aGlz IGlzIG5lc3RlZCB3aXRoaW4uICAqLworCQkgIGlmICghdG9wX2xldmVsICYm IGRjLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9MT0NBTF9OQU1FCisJ CSAgICAgICYmIGZ0eXBlLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9G VU5DVElPTl9UWVBFKQorCQkgICAgZF9sZWZ0IChmdHlwZSkgPSBOVUxMOwog Ci0gICAgICBwZWVrID0gZF9wZWVrX2NoYXIgKGRpKTsKLSAgICAgIGlmIChk YyA9PSBOVUxMIHx8IHBlZWsgPT0gJ1wwJyB8fCBwZWVrID09ICdFJykKLQly ZXR1cm4gZGM7Ci0gICAgICBkY3IgPSBkX2JhcmVfZnVuY3Rpb25fdHlwZSAo ZGksIGhhc19yZXR1cm5fdHlwZSAoZGMpKTsKLSAgICAgIHJldHVybiBkX21h a2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9UWVBFRF9OQU1FLCBk YywgZGNyKTsKKwkJICBkYyA9IGRfbWFrZV9jb21wIChkaSwgREVNQU5HTEVf Q09NUE9ORU5UX1RZUEVEX05BTUUsCisJCQkJICAgIGRjLCBmdHlwZSk7CisJ CX0KKwkgICAgICBlbHNlCisJCWRjID0gTlVMTDsKKwkgICAgfQorCX0KICAg ICB9CisKKyAgcmV0dXJuIGRjOwogfQogCiAvKiA8dGFnZ2VkLW5hbWU+IDo6 PSA8bmFtZT4gQiA8c291cmNlLW5hbWU+ICovCkBAIC0xMzgzLDcgKzEzOTcs NyBAQCBkX2FiaV90YWdzIChzdHJ1Y3QgZF9pbmZvICpkaSwgc3RydWN0IGRl CiAqLwogCiBzdGF0aWMgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqCi1k X25hbWUgKHN0cnVjdCBkX2luZm8gKmRpLCBpbnQgdG9wX2xldmVsKQorZF9u YW1lIChzdHJ1Y3QgZF9pbmZvICpkaSkKIHsKICAgY2hhciBwZWVrID0gZF9w ZWVrX2NoYXIgKGRpKTsKICAgc3RydWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAq ZGM7CkBAIC0xMzk0LDcgKzE0MDgsNyBAQCBkX25hbWUgKHN0cnVjdCBkX2lu Zm8gKmRpLCBpbnQgdG9wX2xldmVsCiAgICAgICByZXR1cm4gZF9uZXN0ZWRf bmFtZSAoZGkpOwogCiAgICAgY2FzZSAnWic6Ci0gICAgICByZXR1cm4gZF9s b2NhbF9uYW1lIChkaSwgdG9wX2xldmVsKTsKKyAgICAgIHJldHVybiBkX2xv Y2FsX25hbWUgKGRpKTsKIAogICAgIGNhc2UgJ1UnOgogICAgICAgcmV0dXJu IGRfdW5xdWFsaWZpZWRfbmFtZSAoZGkpOwpAQCAtMjA3OSwxMSArMjA5Mywx MSBAQCBkX3NwZWNpYWxfbmFtZSAoc3RydWN0IGRfaW5mbyAqZGkpCiAKIAlj YXNlICdIJzoKIAkgIHJldHVybiBkX21ha2VfY29tcCAoZGksIERFTUFOR0xF X0NPTVBPTkVOVF9UTFNfSU5JVCwKLQkJCSAgICAgIGRfbmFtZSAoZGksIDAp LCBOVUxMKTsKKwkJCSAgICAgIGRfbmFtZSAoZGkpLCBOVUxMKTsKIAogCWNh c2UgJ1cnOgogCSAgcmV0dXJuIGRfbWFrZV9jb21wIChkaSwgREVNQU5HTEVf Q09NUE9ORU5UX1RMU19XUkFQUEVSLAotCQkJICAgICAgZF9uYW1lIChkaSwg MCksIE5VTEwpOworCQkJICAgICAgZF9uYW1lIChkaSksIE5VTEwpOwogCiAJ ZGVmYXVsdDoKIAkgIHJldHVybiBOVUxMOwpAQCAtMjA5NSwxMSArMjEwOSwx MSBAQCBkX3NwZWNpYWxfbmFtZSAoc3RydWN0IGRfaW5mbyAqZGkpCiAJewog CWNhc2UgJ1YnOgogCSAgcmV0dXJuIGRfbWFrZV9jb21wIChkaSwgREVNQU5H TEVfQ09NUE9ORU5UX0dVQVJELAotCQkJICAgICAgZF9uYW1lIChkaSwgMCks IE5VTEwpOworCQkJICAgICAgZF9uYW1lIChkaSksIE5VTEwpOwogCiAJY2Fz ZSAnUic6CiAJICB7Ci0JICAgIHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQg Km5hbWUgPSBkX25hbWUgKGRpLCAwKTsKKwkgICAgc3RydWN0IGRlbWFuZ2xl X2NvbXBvbmVudCAqbmFtZSA9IGRfbmFtZSAoZGkpOwogCSAgICByZXR1cm4g ZF9tYWtlX2NvbXAgKGRpLCBERU1BTkdMRV9DT01QT05FTlRfUkVGVEVNUCwg bmFtZSwKIAkJCQlkX251bWJlcl9jb21wb25lbnQgKGRpKSk7CiAJICB9CkBA IC0yOTM1LDcgKzI5NDksNyBAQCBkX2JhcmVfZnVuY3Rpb25fdHlwZSAoc3Ry dWN0IGRfaW5mbyAqZGksCiBzdGF0aWMgc3RydWN0IGRlbWFuZ2xlX2NvbXBv bmVudCAqCiBkX2NsYXNzX2VudW1fdHlwZSAoc3RydWN0IGRfaW5mbyAqZGkp CiB7Ci0gIHJldHVybiBkX25hbWUgKGRpLCAwKTsKKyAgcmV0dXJuIGRfbmFt ZSAoZGkpOwogfQogCiAvKiA8YXJyYXktdHlwZT4gOjo9IEEgPChwb3NpdGl2 ZSBkaW1lbnNpb24pIG51bWJlcj4gXyA8KGVsZW1lbnQpIHR5cGU+CkBAIC0z MzgwLDEzICszMzk0LDEwIEBAIGRfZXhwcmVzc2lvbl8xIChzdHJ1Y3QgZF9p bmZvICpkaSkKIAogCSAgICBpZiAoc3VmZml4KQogCSAgICAgIC8qIEluZGlj YXRlIHRoZSBzdWZmaXggdmFyaWFudCBmb3IgZF9wcmludF9jb21wLiAgKi8K LQkgICAgICByZXR1cm4gZF9tYWtlX2NvbXAgKGRpLCBERU1BTkdMRV9DT01Q T05FTlRfVU5BUlksIG9wLAotCQkJCSAgZF9tYWtlX2NvbXAgKGRpLAotCQkJ CQkgICAgICAgREVNQU5HTEVfQ09NUE9ORU5UX0JJTkFSWV9BUkdTLAotCQkJ CQkgICAgICAgb3BlcmFuZCwgb3BlcmFuZCkpOwotCSAgICBlbHNlCi0JICAg ICAgcmV0dXJuIGRfbWFrZV9jb21wIChkaSwgREVNQU5HTEVfQ09NUE9ORU5U X1VOQVJZLCBvcCwKLQkJCQkgIG9wZXJhbmQpOworCSAgICAgIG9wZXJhbmQg PSBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9CSU5BUllf QVJHUywKKwkJCQkgICAgIG9wZXJhbmQsIG9wZXJhbmQpOworCisJICAgIHJl dHVybiBkX21ha2VfY29tcCAoZGksIERFTUFOR0xFX0NPTVBPTkVOVF9VTkFS WSwgb3AsIG9wZXJhbmQpOwogCSAgfQogCWNhc2UgMjoKIAkgIHsKQEAgLTM1 NjgsNyArMzU3OSw3IEBAIGRfZXhwcl9wcmltYXJ5IChzdHJ1Y3QgZF9pbmZv ICpkaSkKICovCiAKIHN0YXRpYyBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50 ICoKLWRfbG9jYWxfbmFtZSAoc3RydWN0IGRfaW5mbyAqZGksIGludCB0b3Bf bGV2ZWwpCitkX2xvY2FsX25hbWUgKHN0cnVjdCBkX2luZm8gKmRpKQogewog ICBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpmdW5jdGlvbjsKICAgc3Ry dWN0IGRlbWFuZ2xlX2NvbXBvbmVudCAqbmFtZTsKQEAgLTM1NzcsNiArMzU4 OCw4IEBAIGRfbG9jYWxfbmFtZSAoc3RydWN0IGRfaW5mbyAqZGksIGludCB0 b3AKICAgICByZXR1cm4gTlVMTDsKIAogICBmdW5jdGlvbiA9IGRfZW5jb2Rp bmcgKGRpLCAwKTsKKyAgaWYgKCFmdW5jdGlvbikKKyAgICByZXR1cm4gTlVM TDsKIAogICBpZiAoISBkX2NoZWNrX2NoYXIgKGRpLCAnRScpKQogICAgIHJl dHVybiBOVUxMOwpAQCAtMzYwMSw3ICszNjE0LDcgQEAgZF9sb2NhbF9uYW1l IChzdHJ1Y3QgZF9pbmZvICpkaSwgaW50IHRvcAogCSAgICByZXR1cm4gTlVM TDsKIAl9CiAKLSAgICAgIG5hbWUgPSBkX25hbWUgKGRpLCAwKTsKKyAgICAg IG5hbWUgPSBkX25hbWUgKGRpKTsKIAogICAgICAgaWYgKG5hbWUKIAkgIC8q IExhbWJkYXMgYW5kIHVubmFtZWQgdHlwZXMgaGF2ZSBpbnRlcm5hbCBkaXNj cmltaW5hdG9ycwpAQCAtMzYwOSwxOCArMzYyMiw2IEBAIGRfbG9jYWxfbmFt ZSAoc3RydWN0IGRfaW5mbyAqZGksIGludCB0b3AKIAkgICYmIG5hbWUtPnR5 cGUgIT0gREVNQU5HTEVfQ09NUE9ORU5UX0xBTUJEQQogCSAgJiYgbmFtZS0+ dHlwZSAhPSBERU1BTkdMRV9DT01QT05FTlRfVU5OQU1FRF9UWVBFKQogCXsK LQkgIGlmICghdG9wX2xldmVsCi0JICAgICAgJiYgZF9wZWVrX2NoYXIgKGRp KSAhPSAwIC8qIE5vdCBlbmQgb2Ygc3RyaW5nLiAgKi8KLQkgICAgICAmJiBk X3BlZWtfY2hhciAoZGkpICE9ICdFJyAvKiBOb3QgZW5kIG9mIG5lc3RlZCBl bmNvZGluZy4gICovCi0JICAgICAgJiYgZF9wZWVrX2NoYXIgKGRpKSAhPSAn XycpIC8qIE5vdCBkaXNjcmltaW5hdG9yLiAgKi8KLQkgICAgewotCSAgICAg IHN0cnVjdCBkZW1hbmdsZV9jb21wb25lbnQgKmFyZ3M7Ci0KLQkgICAgICBh cmdzID0gZF9iYXJlX2Z1bmN0aW9uX3R5cGUgKGRpLCBoYXNfcmV0dXJuX3R5 cGUgKG5hbWUpKTsKLQkgICAgICBuYW1lID0gZF9tYWtlX2NvbXAgKGRpLCBE RU1BTkdMRV9DT01QT05FTlRfVFlQRURfTkFNRSwKLQkJCQkgIG5hbWUsIGFy Z3MpOwotCSAgICB9Ci0KIAkgIC8qIFJlYWQgYW5kIGlnbm9yZSBhbiBvcHRp b25hbCBkaXNjcmltaW5hdG9yLiAgKi8KIAkgIGlmICghIGRfZGlzY3JpbWlu YXRvciAoZGkpKQogCSAgICByZXR1cm4gTlVMTDsKQEAgLTM2MzAsNiArMzYz MSwxMyBAQCBkX2xvY2FsX25hbWUgKHN0cnVjdCBkX2luZm8gKmRpLCBpbnQg dG9wCiAJbmFtZSA9IGRfbWFrZV9kZWZhdWx0X2FyZyAoZGksIG51bSwgbmFt ZSk7CiAgICAgfQogCisgIC8qIEVsaWRlIHRoZSByZXR1cm4gdHlwZSBvZiB0 aGUgY29udGFpbmluZyBmdW5jdGlvbiBzbyBhcyB0byBub3QKKyAgICAgY29u ZnVzZSB0aGUgdXNlciB0aGlua2luZyBpdCBpcyB0aGUgcmV0dXJuIHR5cGUg b2Ygd2hhdGV2ZXIgbG9jYWwKKyAgICAgZnVuY3Rpb24gd2UgbWlnaHQgYmUg Y29udGFpbmluZy4gICovCisgIGlmIChmdW5jdGlvbi0+dHlwZSA9PSBERU1B TkdMRV9DT01QT05FTlRfVFlQRURfTkFNRQorICAgICAgJiYgZF9yaWdodCAo ZnVuY3Rpb24pLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9GVU5DVElP Tl9UWVBFKQorICAgIGRfbGVmdCAoZF9yaWdodCAoZnVuY3Rpb24pKSA9IE5V TEw7CisKICAgcmV0dXJuIGRfbWFrZV9jb21wIChkaSwgREVNQU5HTEVfQ09N UE9ORU5UX0xPQ0FMX05BTUUsIGZ1bmN0aW9uLCBuYW1lKTsKIH0KIApAQCAt NDcxMCwzMiArNDcxOCwyMSBAQCBkX3ByaW50X2NvbXBfaW5uZXIgKHN0cnVj dCBkX3ByaW50X2luZm8KIAkgICAgcmV0dXJuOwogCSAgfQogCi0JLyogSWYg dHlwZWRfbmFtZSBpcyBhIHRlbXBsYXRlLCB0aGVuIGl0IGFwcGxpZXMgdG8g dGhlCi0JICAgZnVuY3Rpb24gdHlwZSBhcyB3ZWxsLiAgKi8KLQlpZiAodHlw ZWRfbmFtZS0+dHlwZSA9PSBERU1BTkdMRV9DT01QT05FTlRfVEVNUExBVEUp Ci0JICB7Ci0JICAgIGRwdC5uZXh0ID0gZHBpLT50ZW1wbGF0ZXM7Ci0JICAg IGRwaS0+dGVtcGxhdGVzID0gJmRwdDsKLQkgICAgZHB0LnRlbXBsYXRlX2Rl Y2wgPSB0eXBlZF9uYW1lOwotCSAgfQotCiAJLyogSWYgdHlwZWRfbmFtZSBp cyBhIERFTUFOR0xFX0NPTVBPTkVOVF9MT0NBTF9OQU1FLCB0aGVuCiAJICAg dGhlcmUgbWF5IGJlIENWLXF1YWxpZmllcnMgb24gaXRzIHJpZ2h0IGFyZ3Vt ZW50IHdoaWNoCi0JICAgcmVhbGx5IGFwcGx5IGhlcmU7IHRoaXMgaGFwcGVu cyB3aGVuIHBhcnNpbmcgYSBjbGFzcyB3aGljaAorCSAgIHJlYWxseSBhcHBs eSBoZXJlOyB0aGlzIGhhcHBlbnMgd2hlbiBwYXJzaW5nIGEgY2xhc3MgdGhh dAogCSAgIGlzIGxvY2FsIHRvIGEgZnVuY3Rpb24uICAqLwogCWlmICh0eXBl ZF9uYW1lLT50eXBlID09IERFTUFOR0xFX0NPTVBPTkVOVF9MT0NBTF9OQU1F KQogCSAgewotCSAgICBzdHJ1Y3QgZGVtYW5nbGVfY29tcG9uZW50ICpsb2Nh bF9uYW1lOwotCi0JICAgIGxvY2FsX25hbWUgPSBkX3JpZ2h0ICh0eXBlZF9u YW1lKTsKLQkgICAgaWYgKGxvY2FsX25hbWUtPnR5cGUgPT0gREVNQU5HTEVf Q09NUE9ORU5UX0RFRkFVTFRfQVJHKQotCSAgICAgIGxvY2FsX25hbWUgPSBs b2NhbF9uYW1lLT51LnNfdW5hcnlfbnVtLnN1YjsKLQkgICAgaWYgKGxvY2Fs X25hbWUgPT0gTlVMTCkKKwkgICAgdHlwZWRfbmFtZSA9IGRfcmlnaHQgKHR5 cGVkX25hbWUpOworCSAgICBpZiAodHlwZWRfbmFtZS0+dHlwZSA9PSBERU1B TkdMRV9DT01QT05FTlRfREVGQVVMVF9BUkcpCisJICAgICAgdHlwZWRfbmFt ZSA9IHR5cGVkX25hbWUtPnUuc191bmFyeV9udW0uc3ViOworCSAgICBpZiAo dHlwZWRfbmFtZSA9PSBOVUxMKQogCSAgICAgIHsKIAkJZF9wcmludF9lcnJv ciAoZHBpKTsKIAkJcmV0dXJuOwogCSAgICAgIH0KLQkgICAgd2hpbGUgKGlz X2ZucXVhbF9jb21wb25lbnRfdHlwZSAobG9jYWxfbmFtZS0+dHlwZSkpCisJ ICAgIHdoaWxlIChpc19mbnF1YWxfY29tcG9uZW50X3R5cGUgKHR5cGVkX25h bWUtPnR5cGUpKQogCSAgICAgIHsKIAkJaWYgKGkgPj0gc2l6ZW9mIGFkcG0g LyBzaXplb2YgYWRwbVswXSkKIAkJICB7CkBAIC00NzQ3LDE1ICs0NzQ0LDI0 IEBAIGRfcHJpbnRfY29tcF9pbm5lciAoc3RydWN0IGRfcHJpbnRfaW5mbwog CQlhZHBtW2ldLm5leHQgPSAmYWRwbVtpIC0gMV07CiAJCWRwaS0+bW9kaWZp ZXJzID0gJmFkcG1baV07CiAKLQkJYWRwbVtpIC0gMV0ubW9kID0gbG9jYWxf bmFtZTsKKwkJYWRwbVtpIC0gMV0ubW9kID0gdHlwZWRfbmFtZTsKIAkJYWRw bVtpIC0gMV0ucHJpbnRlZCA9IDA7CiAJCWFkcG1baSAtIDFdLnRlbXBsYXRl cyA9IGRwaS0+dGVtcGxhdGVzOwogCQkrK2k7CiAKLQkJbG9jYWxfbmFtZSA9 IGRfbGVmdCAobG9jYWxfbmFtZSk7CisJCXR5cGVkX25hbWUgPSBkX2xlZnQg KHR5cGVkX25hbWUpOwogCSAgICAgIH0KIAkgIH0KIAorCS8qIElmIHR5cGVk X25hbWUgaXMgYSB0ZW1wbGF0ZSwgdGhlbiBpdCBhcHBsaWVzIHRvIHRoZQor CSAgIGZ1bmN0aW9uIHR5cGUgYXMgd2VsbC4gICovCisJaWYgKHR5cGVkX25h bWUtPnR5cGUgPT0gREVNQU5HTEVfQ09NUE9ORU5UX1RFTVBMQVRFKQorCSAg eworCSAgICBkcHQubmV4dCA9IGRwaS0+dGVtcGxhdGVzOworCSAgICBkcGkt PnRlbXBsYXRlcyA9ICZkcHQ7CisJICAgIGRwdC50ZW1wbGF0ZV9kZWNsID0g dHlwZWRfbmFtZTsKKwkgIH0KKwogCWRfcHJpbnRfY29tcCAoZHBpLCBvcHRp b25zLCBkX3JpZ2h0IChkYykpOwogCiAJaWYgKHR5cGVkX25hbWUtPnR5cGUg PT0gREVNQU5HTEVfQ09NUE9ORU5UX1RFTVBMQVRFKQpkaWZmIC1ydXAgbGli aWJlcnR5L2NwLWRlbWFuZ2xlLmggL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvY3AtZGVtYW5nbGUuaAotLS0gbGliaWJlcnR5L2NwLWRl bWFuZ2xlLmgJMjAxNy0xMi0wOCAxMDoxOTowNi45OTIwNTY3NTYgKzAwMDAK KysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2NwLWRl bWFuZ2xlLmgJMjAxOC0wMS0wNCAwODowNjo1Ny43MDk2NDc4MzEgKzAwMDAK QEAgLTEsNSArMSw1IEBACiAvKiBJbnRlcm5hbCBkZW1hbmdsZXIgaW50ZXJm YWNlIGZvciBnKysgVjMgQUJJLgotICAgQ29weXJpZ2h0IChDKSAyMDAzLTIw MTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmln aHQgKEMpIDIwMDMtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICAgIFdyaXR0ZW4gYnkgSWFuIExhbmNlIFRheWxvciA8aWFuQHdhc2Fi aXN5c3RlbXMuY29tPi4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhl IGxpYmliZXJ0eSBsaWJyYXJ5LCB3aGljaCBpcyBwYXJ0IG9mIEdDQy4KZGlm ZiAtcnVwIGxpYmliZXJ0eS9jcC1kZW1pbnQuYyAvd29yay9zb3VyY2VzL2dj Yy9jdXJyZW50L2xpYmliZXJ0eS9jcC1kZW1pbnQuYwotLS0gbGliaWJlcnR5 L2NwLWRlbWludC5jCTIwMTctMTItMDggMTA6MTk6MDcuMDAyMDU2NjMwICsw MDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9j cC1kZW1pbnQuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4OTY0ODA0MiArMDAw MApAQCAtMSw1ICsxLDUgQEAKIC8qIERlbWFuZ2xlciBjb21wb25lbnQgaW50 ZXJmYWNlIGZ1bmN0aW9ucy4KLSAgIENvcHlyaWdodCAoQykgMjAwNC0yMDE3 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0 IChDKSAyMDA0LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiAgICBXcml0dGVuIGJ5IElhbiBMYW5jZSBUYXlsb3IgPGlhbkB3YXNhYmlz eXN0ZW1zLmNvbT4uCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBs aWJpYmVydHkgbGlicmFyeSwgd2hpY2ggaXMgcGFydCBvZiBHQ0MuCmRpZmYg LXJ1cCBsaWJpYmVydHkvY3BsdXMtZGVtLmMgL3dvcmsvc291cmNlcy9nY2Mv Y3VycmVudC9saWJpYmVydHkvY3BsdXMtZGVtLmMKLS0tIGxpYmliZXJ0eS9j cGx1cy1kZW0uYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjAxMzA1NjQ5MyArMDAw MAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvY3Bs dXMtZGVtLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42ODI2NDgxMTYgKzAwMDAK QEAgLTEsNSArMSw1IEBACiAvKiBEZW1hbmdsZXIgZm9yIEdOVSBDKysKLSAg IENvcHlyaWdodCAoQykgMTk4OS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAxOTg5LTIwMTggRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBXcml0dGVuIGJ5IEphbWVz IENsYXJrIChqamNAamNsYXJrLnV1Y3ApCiAgICBSZXdyaXR0ZW4gYnkgRnJl ZCBGaXNoIChmbmZAY3lnbnVzLmNvbSkgZm9yIEFSTSBhbmQgTHVjaWQgZGVt YW5nbGluZwogICAgTW9kaWZpZWQgYnkgU2F0aXNoIFBhaSAocGFpQGFwb2xs by5ocC5jb20pIGZvciBIUCBkZW1hbmdsaW5nCmRpZmYgLXJ1cCBsaWJpYmVy dHkvY3JjMzIuYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0 eS9jcmMzMi5jCi0tLSBsaWJpYmVydHkvY3JjMzIuYwkyMDE3LTEyLTA4IDEw OjE5OjA3LjAxNDA1NjQ4MCArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2Mv Y3VycmVudC9saWJpYmVydHkvY3JjMzIuYwkyMDE4LTAxLTA0IDA4OjA2OjU3 LjY4NDY0ODA5NSArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIGNyYzMyLmMK LSAgIENvcHlyaWdodCAoQykgMjAwOS0yMDE3IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KIApkaWZmIC1ydXAg bGliaWJlcnR5L2QtZGVtYW5nbGUuYyAvd29yay9zb3VyY2VzL2djYy9jdXJy ZW50L2xpYmliZXJ0eS9kLWRlbWFuZ2xlLmMKLS0tIGxpYmliZXJ0eS9kLWRl bWFuZ2xlLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wMzUwNTYyMTYgKzAwMDAK KysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2QtZGVt YW5nbGUuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4MzY0ODEwNSArMDAwMApA QCAtMSw1ICsxLDUgQEAKIC8qIERlbWFuZ2xlciBmb3IgdGhlIEQgcHJvZ3Jh bW1pbmcgbGFuZ3VhZ2UKLSAgIENvcHlyaWdodCAoQykgMjAxNC0yMDE3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChD KSAyMDE0LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAg ICBXcml0dGVuIGJ5IElhaW4gQnVjbGF3IChpYnVjbGF3QGdkY3Byb2plY3Qu b3JnKQogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxp YnJhcnkuCmRpZmYgLXJ1cCBsaWJpYmVydHkvX2RvcHJudC5jIC93b3JrL3Nv dXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L19kb3BybnQuYwotLS0gbGli aWJlcnR5L19kb3BybnQuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjAzNTA1NjIx NiArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVy dHkvX2RvcHJudC5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNjcyNjQ4MjIxICsw MDAwCkBAIC0xLDUgKzEsNSBAQAogLyogUHJvdmlkZSBhIHZlcnNpb24gb2Yg X2RvcHJudCBpbiB0ZXJtcyBvZiBmcHJpbnRmLgotICAgQ29weXJpZ2h0IChD KSAxOTk4LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisg ICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICAgIENvbnRyaWJ1dGVkIGJ5IEthdmVoIEdoYXppICAo Z2hhemlAY2FpcC5ydXRnZXJzLmVkdSkgIDMvMjkvOTgKIAogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkgaXQKZGlmZiAtcnVwIGxpYmliZXJ0eS9kd2FyZm5h bWVzLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvZHdh cmZuYW1lcy5jCi0tLSBsaWJpYmVydHkvZHdhcmZuYW1lcy5jCTIwMTctMTIt MDggMTA6MTk6MDcuMDQ2MDU2MDc5ICswMDAwCisrKyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS9kd2FyZm5hbWVzLmMJMjAxOC0wMS0w NCAwODowNjo1Ny42NzU2NDgxOTAgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAv KiBOYW1lcyBvZiB2YXJpb3VzIERXQVJGIHRhZ3MuCi0gICBDb3B5cmlnaHQg KEMpIDIwMTItMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIENvcHlyaWdodCAoQykgMjAxMi0yMDE4IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQ0Mu CiAgICAKZGlmZiAtcnVwIGxpYmliZXJ0eS9keW4tc3RyaW5nLmMgL3dvcmsv c291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvZHluLXN0cmluZy5jCi0t LSBsaWJpYmVydHkvZHluLXN0cmluZy5jCTIwMTctMTItMDggMTA6MTk6MDcu MDQ3MDU2MDY2ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50 L2xpYmliZXJ0eS9keW4tc3RyaW5nLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42 Njk2NDgyNTMgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBBbiBhYnN0cmFj dCBzdHJpbmcgZGF0YXR5cGUuCi0gICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAx NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdo dCAoQykgMTk5OC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogICAgQ29udHJpYnV0ZWQgYnkgTWFyayBNaXRjaGVsbCAobWFya0BtYXJr bWl0Y2hlbGwuY29tKS4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEND LgpkaWZmIC1ydXAgbGliaWJlcnR5L2ZkbWF0Y2guYyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS9mZG1hdGNoLmMKLS0tIGxpYmliZXJ0 eS9mZG1hdGNoLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNDgwNTYwNTQgKzAw MDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2Zk bWF0Y2guYwkyMDE4LTAxLTA0IDA4OjA2OjU2Ljk0NDY1NTg5NyArMDAwMApA QCAtMSw1ICsxLDUgQEAKIC8qIENvbXBhcmUgdHdvIG9wZW4gZmlsZSBkZXNj cmlwdG9ycyB0byBzZWUgaWYgdGhleSByZWZlciB0byB0aGUgc2FtZSBmaWxl LgotICAgQ29weXJpZ2h0IChDKSAxOTkxLTIwMTcgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDE5OTEtMjAxOCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgogTGliaWJlcnR5IGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgpkaWZmIC1ydXAgbGliaWJlcnR5L2ZpYmhlYXAuYyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS9maWJoZWFwLmMKLS0tIGxpYmliZXJ0 eS9maWJoZWFwLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNDgwNTYwNTQgKzAw MDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2Zp YmhlYXAuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY3NjY0ODE3OSArMDAwMApA QCAtMSw1ICsxLDUgQEAKIC8qIEEgRmlib25hY2NpIGhlYXAgZGF0YXR5cGUu Ci0gICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxNyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk5OC0yMDE4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogICAgQ29udHJpYnV0ZWQg YnkgRGFuaWVsIEJlcmxpbiAoZGFuQGNnc29mdHdhcmUuY29tKS4KICAgIAog VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIENDLgpkaWZmIC1ydXAgbGliaWJl cnR5L2ZpbGVuYW1lX2NtcC5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQv bGliaWJlcnR5L2ZpbGVuYW1lX2NtcC5jCi0tLSBsaWJpYmVydHkvZmlsZW5h bWVfY21wLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNDkwNTYwNDEgKzAwMDAK KysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2ZpbGVu YW1lX2NtcC5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNzA3NjQ3ODUyICswMDAw CkBAIC0xLDYgKzEsNiBAQAogLyogRmlsZSBuYW1lIGNvbXBhcmlzb24gcm91 dGluZS4KIAotICAgQ29weXJpZ2h0IChDKSAyMDA3LTIwMTcgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDct MjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CmRpZmYgLXJ1cCBsaWJpYmVydHkvZmxvYXRmb3JtYXQuYyAvd29yay9z b3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9mbG9hdGZvcm1hdC5jCi0t LSBsaWJpYmVydHkvZmxvYXRmb3JtYXQuYwkyMDE3LTEyLTA4IDEwOjE5OjA3 LjA0OTA1NjA0MSArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvZmxvYXRmb3JtYXQuYwkyMDE4LTAxLTA0IDA4OjA2OjU3 LjcwOTY0NzgzMSArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIElFRUUgZmxv YXRpbmcgcG9pbnQgc3VwcG9ydCByb3V0aW5lcywgZm9yIEdEQiwgdGhlIEdO VSBEZWJ1Z2dlci4KLSAgIENvcHlyaWdodCAoQykgMTk5MS0yMDE3IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAx OTkxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KIApkaWZmIC1ydXAgbGliaWJlcnR5 L2ZubWF0Y2guYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0 eS9mbm1hdGNoLmMKLS0tIGxpYmliZXJ0eS9mbm1hdGNoLmMJMjAxNy0xMi0w OCAxMDoxOTowNy4wNDkwNTYwNDEgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMv Z2NjL2N1cnJlbnQvbGliaWJlcnR5L2ZubWF0Y2guYwkyMDE4LTAxLTA0IDA4 OjA2OjU3LjcwOTY0NzgzMSArMDAwMApAQCAtMSw0ICsxLDQgQEAKLS8qIENv cHlyaWdodCAoQykgMTk5MS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTkxLTIwMTggRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIE5PVEU6IFRoaXMgc291cmNlIGlz IGRlcml2ZWQgZnJvbSBhbiBvbGQgdmVyc2lvbiB0YWtlbiBmcm9tIHRoZSBH TlUgQwogTGlicmFyeSAoZ2xpYmMpLgpkaWZmIC1ydXAgbGliaWJlcnR5L2Zv cGVuX3VubG9ja2VkLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJp YmVydHkvZm9wZW5fdW5sb2NrZWQuYwotLS0gbGliaWJlcnR5L2ZvcGVuX3Vu bG9ja2VkLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNTAwNTYwMjkgKzAwMDAK KysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2ZvcGVu X3VubG9ja2VkLmMJMjAxOC0wMS0wNCAwODowNjo1Ny43MDY2NDc4NjMgKzAw MDAKQEAgLTEsNSArMSw1IEBACiAvKiBJbXBsZW1lbnQgZm9wZW5fdW5sb2Nr ZWQgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zLgotICAgQ29weXJpZ2h0IChDKSAy MDA1LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBD b3B5cmlnaHQgKEMpIDIwMDUtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICAgIFdyaXR0ZW4gYnkgS2F2ZWggUi4gR2hhemkgPGdoYXpp QGNhaXAucnV0Z2Vycy5lZHU+LgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgbGliaWJlcnR5IGxpYnJhcnkuCmRpZmYgLXJ1cCBsaWJpYmVydHkvZ2F0 aGVyLWRvY3MgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkv Z2F0aGVyLWRvY3MKLS0tIGxpYmliZXJ0eS9nYXRoZXItZG9jcwkyMDE3LTEy LTA4IDEwOjE5OjA3LjA1MTA1NjAxNiArMDAwMAorKysgL3dvcmsvc291cmNl cy9nY2MvY3VycmVudC9saWJpYmVydHkvZ2F0aGVyLWRvY3MJMjAxOC0wMS0w NCAwODowNjo1Ny42NzM2NDgyMTEgKzAwMDAKQEAgLTEsNyArMSw3IEBACiAj IS91c3IvYmluL3BlcmwKICMgLSotIHBlcmwgLSotCiAKLSMgICBDb3B5cmln aHQgKEMpIDIwMDEtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKyMgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg dGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgogIyBMaWJpYmVydHkgaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCmRpZmYg LXJ1cCBsaWJpYmVydHkvZ2V0b3B0MS5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1 cnJlbnQvbGliaWJlcnR5L2dldG9wdDEuYwotLS0gbGliaWJlcnR5L2dldG9w dDEuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA1MjA1NjAwNCArMDAwMAorKysg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvZ2V0b3B0MS5j CTIwMTgtMDEtMDQgMDg6MDY6NTcuNjg1NjQ4MDg0ICswMDAwCkBAIC0xLDUg KzEsNSBAQAogLyogZ2V0b3B0X2xvbmcgYW5kIGdldG9wdF9sb25nX29ubHkg ZW50cnkgcG9pbnRzIGZvciBHTlUgZ2V0b3B0LgotICAgQ29weXJpZ2h0IChD KSAxOTg3LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisg ICBDb3B5cmlnaHQgKEMpIDE5ODctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KIAogICAgTk9URTogVGhpcyBzb3VyY2UgaXMgZGVyaXZl ZCBmcm9tIGFuIG9sZCB2ZXJzaW9uIHRha2VuIGZyb20gdGhlIEdOVSBDCiAg ICBMaWJyYXJ5IChnbGliYykuCmRpZmYgLXJ1cCBsaWJpYmVydHkvZ2V0b3B0 LmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvZ2V0b3B0 LmMKLS0tIGxpYmliZXJ0eS9nZXRvcHQuYwkyMDE3LTEyLTA4IDEwOjE5OjA3 LjA1MjA1NjAwNCArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvZ2V0b3B0LmMJMjAxOC0wMS0wNCAwODowNjo1Ny43MDc2 NDc4NTIgKzAwMDAKQEAgLTMsNyArMyw3IEBACiAgICAiS2VlcCB0aGlzIGZp bGUgbmFtZS1zcGFjZSBjbGVhbiIgbWVhbnMsIHRhbGsgdG8gZHJlcHBlckBn bnUub3JnCiAgICBiZWZvcmUgY2hhbmdpbmcgaXQhCiAKLSAgIENvcHlyaWdo dCAoQykgMTk4Ny0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorICAgQ29weXJpZ2h0IChDKSAxOTg3LTIwMTggRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiAKICAgIE5PVEU6IFRoaXMgc291cmNlIGlzIGRl cml2ZWQgZnJvbSBhbiBvbGQgdmVyc2lvbiB0YWtlbiBmcm9tIHRoZSBHTlUg QwogICAgTGlicmFyeSAoZ2xpYmMpLgpkaWZmIC1ydXAgbGliaWJlcnR5L2dl dHJ1bnRpbWUuYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0 eS9nZXRydW50aW1lLmMKLS0tIGxpYmliZXJ0eS9nZXRydW50aW1lLmMJMjAx Ny0xMi0wOCAxMDoxOTowNy4wNTMwNTU5OTEgKzAwMDAKKysrIC93b3JrL3Nv dXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2dldHJ1bnRpbWUuYwkyMDE4 LTAxLTA0IDA4OjA2OjU3LjcxMDY0NzgyMSArMDAwMApAQCAtMSw1ICsxLDUg QEAKIC8qIFJldHVybiB0aW1lIHVzZWQgc28gZmFyLCBpbiBtaWNyb3NlY29u ZHMuCi0gICBDb3B5cmlnaHQgKEMpIDE5OTQtMjAxNyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk5NC0yMDE4 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUg aXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBMaWJpYmVydHkg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvaGFzaHRhYi5jIC93b3JrL3NvdXJj ZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2hhc2h0YWIuYwotLS0gbGliaWJl cnR5L2hhc2h0YWIuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA1NDA1NTk3OSAr MDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkv aGFzaHRhYi5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNjYzNjQ4MzE2ICswMDAw CkBAIC0xLDUgKzEsNSBAQAogLyogQW4gZXhwYW5kYWJsZSBoYXNoIHRhYmxl cyBkYXRhdHlwZS4gIAotICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMTcgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMp IDE5OTktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAg IENvbnRyaWJ1dGVkIGJ5IFZsYWRpbWlyIE1ha2Fyb3YgKHZtYWthcm92QGN5 Z251cy5jb20pLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJl cnR5IGxpYnJhcnkuCmRpZmYgLXJ1cCBsaWJpYmVydHkvaGV4LmMgL3dvcmsv c291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvaGV4LmMKLS0tIGxpYmli ZXJ0eS9oZXguYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA1NDA1NTk3OSArMDAw MAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvaGV4 LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42ODE2NDgxMjYgKzAwMDAKQEAgLTEs NSArMSw1IEBACiAvKiBIZXggY2hhcmFjdGVyIG1hbmlwdWxhdGlvbiBzdXBw b3J0LgotICAgQ29weXJpZ2h0IChDKSAxOTk1LTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDE5OTUtMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxl IGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgogTGliaWJlcnR5 IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vcgpkaWZmIC1ydXAgbGliaWJlcnR5L2xiYXNlbmFtZS5jIC93b3JrL3Nv dXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L2xiYXNlbmFtZS5jCi0tLSBs aWJpYmVydHkvbGJhc2VuYW1lLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNTUw NTU5NjYgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGli aWJlcnR5L2xiYXNlbmFtZS5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNzEwNjQ3 ODIxICswMDAwCkBAIC0xLDYgKzEsNiBAQAogLyogTGliaWJlcnR5IGJhc2Vu YW1lLiAgTGlrZSBiYXNlbmFtZSwgYnV0IGlzIG5vdCBvdmVycmlkZGVuIGJ5 IHRoZQogICAgc3lzdGVtIEMgbGlicmFyeS4KLSAgIENvcHlyaWdodCAoQykg MjAwMS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAg Q29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVy dHkgbGlicmFyeS4KIExpYmliZXJ0eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlmZiAtcnVwIGxpYmliZXJ0 eS9saWJpYmVydHkudGV4aSAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xp YmliZXJ0eS9saWJpYmVydHkudGV4aQotLS0gbGliaWJlcnR5L2xpYmliZXJ0 eS50ZXhpCTIwMTctMTItMDggMTA6MTk6MDcuMDU1MDU1OTY2ICswMDAwCisr KyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9saWJpYmVy dHkudGV4aQkyMDE4LTAxLTA0IDA4OjA2OjU2Ljk0MzY1NTkwOCArMDAwMApA QCAtMjQsNyArMjQsNyBAQAogQGlmaW5mbwogVGhpcyBtYW51YWwgZGVzY3Jp YmVzIHRoZSBHTlUgQGxpYmliIGxpYnJhcnkgb2YgdXRpbGl0eSBzdWJyb3V0 aW5lcy4KIAotQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDAxLTIwMTcgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgQGNvcHly aWdodHt9IDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KIAogICAgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRp c3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50CiAgICAgICB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24g TGljZW5zZSwgVmVyc2lvbiAxLjMKQEAgLTUwLDcgKzUwLDcgQEAgbm90aWNl IGlkZW50aWNhbCB0byB0aGlzIG9uZSBleGNlcHQgZm9yCiAKIAogQHZza2lw IDBwdCBwbHVzIDFmaWxsbAotQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDAx LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmln aHQgQGNvcHlyaWdodHt9IDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KIAogICAgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRv IGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50 CiAgICAgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3Vt ZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMKZGlmZiAtcnVwIGxpYmli ZXJ0eS9scmVhbHBhdGguYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xp YmliZXJ0eS9scmVhbHBhdGguYwotLS0gbGliaWJlcnR5L2xyZWFscGF0aC5j CTIwMTctMTItMDggMTA6MTk6MDcuMDU2MDU1OTU0ICswMDAwCisrKyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9scmVhbHBhdGguYwky MDE4LTAxLTA0IDA4OjA2OjU3LjY2NDY0ODMwNiArMDAwMApAQCAtMSw3ICsx LDcgQEAKIC8qIExpYmliZXJ0eSByZWFscGF0aC4gIExpa2UgcmVhbHBhdGgs IGJ1dCBtb3JlIGNvbnNpc3RlbnQgYmVoYXZpb3IuCiAgICBCYXNlZCBvbiBn ZGJfcmVhbHBhdGggZnJvbSBHREIuCiAKLSAgIENvcHlyaWdodCAoQykgMjAw My0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29w eXJpZ2h0IChDKSAyMDAzLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVy dHkgbGlicmFyeS4KIApkaWZmIC1ydXAgbGliaWJlcnR5L21haW50LXRvb2wg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvbWFpbnQtdG9v bAotLS0gbGliaWJlcnR5L21haW50LXRvb2wJMjAxNy0xMi0wOCAxMDoxOTow Ny4wNTYwNTU5NTQgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJl bnQvbGliaWJlcnR5L21haW50LXRvb2wJMjAxOC0wMS0wNCAwODowNjo1Ni45 NDQ2NTU4OTcgKzAwMDAKQEAgLTEsNyArMSw3IEBACiAjIS91c3IvYmluL3Bl cmwKICMgLSotIHBlcmwgLSotCiAKLSMgICBDb3B5cmlnaHQgKEMpIDIwMDEt MjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgICBDb3B5 cmlnaHQgKEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICMKICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0 eSBsaWJyYXJ5LgogIyBMaWJpYmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVy dHkvTWFrZWZpbGUuaW4gL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJp YmVydHkvTWFrZWZpbGUuaW4KLS0tIGxpYmliZXJ0eS9NYWtlZmlsZS5pbgky MDE3LTEyLTA4IDEwOjE5OjA3LjA1NzA1NTk0MSArMDAwMAorKysgL3dvcmsv c291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvTWFrZWZpbGUuaW4JMjAx OC0wMS0wNCAwODowNjo1Ny42ODM2NDgxMDUgKzAwMDAKQEAgLTEsNyArMSw3 IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiAj IE9yaWdpbmFsbHkgd3JpdHRlbiBieSBLLiBSaWNoYXJkIFBpeGxleSA8cmlj aEBjeWdudXMuY29tPi4KICMKLSMgQ29weXJpZ2h0IChDKSAxOTkwLTIwMTcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAo QykgMTk5MC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog IwogIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJh cnkuCiAjIExpYmliZXJ0eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlmZiAtcnVwIGxpYmliZXJ0eS9tYWtl LXJlbGF0aXZlLXByZWZpeC5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQv bGliaWJlcnR5L21ha2UtcmVsYXRpdmUtcHJlZml4LmMKLS0tIGxpYmliZXJ0 eS9tYWtlLXJlbGF0aXZlLXByZWZpeC5jCTIwMTctMTItMDggMTA6MTk6MDcu MDU3MDU1OTQxICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50 L2xpYmliZXJ0eS9tYWtlLXJlbGF0aXZlLXByZWZpeC5jCTIwMTgtMDEtMDQg MDg6MDY6NTcuNjczNjQ4MjExICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyog UmVsYXRpdmUgKHJlbG9jYXRhYmxlKSBwcmVmaXggc3VwcG9ydC4KLSAgIENv cHlyaWdodCAoQykgMTk4Ny0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAxOTg3LTIwMTggRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IGxpYmliZXJ0eS4KIApkaWZmIC1ydXAgbGliaWJlcnR5L21ha2UtdGVtcC1m aWxlLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvbWFr ZS10ZW1wLWZpbGUuYwotLS0gbGliaWJlcnR5L21ha2UtdGVtcC1maWxlLmMJ MjAxNy0xMi0wOCAxMDoxOTowNy4wNTgwNTU5MjkgKzAwMDAKKysrIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L21ha2UtdGVtcC1maWxl LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42NzU2NDgxOTAgKzAwMDAKQEAgLTEs NSArMSw1IEBACiAvKiBVdGlsaXR5IHRvIHBpY2sgYSB0ZW1wb3JhcnkgZmls ZW5hbWUgcHJlZml4LgotICAgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTcgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMp IDE5OTYtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAog VGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5Lgog TGliaWJlcnR5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgpkaWZmIC1ydXAgbGliaWJlcnR5L21kNS5jIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L21kNS5jCi0tLSBsaWJp YmVydHkvbWQ1LmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNTgwNTU5MjkgKzAw MDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L21k NS5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNjg2NjQ4MDc0ICswMDAwCkBAIC0x LDYgKzEsNiBAQAogLyogbWQ1LmMgLSBGdW5jdGlvbnMgdG8gY29tcHV0ZSBN RDUgbWVzc2FnZSBkaWdlc3Qgb2YgZmlsZXMgb3IgbWVtb3J5IGJsb2Nrcwog ICAgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbml0aW9uIG9mIE1ENSBpbiBSRkMg MTMyMSBmcm9tIEFwcmlsIDE5OTIuCi0gICBDb3B5cmlnaHQgKEMpIDE5OTUt MjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHly aWdodCAoQykgMTk5NS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogCiAgICBOT1RFOiBUaGlzIHNvdXJjZSBpcyBkZXJpdmVkIGZyb20g YW4gb2xkIHZlcnNpb24gdGFrZW4gZnJvbSB0aGUgR05VIEMKICAgIExpYnJh cnkgKGdsaWJjKS4KZGlmZiAtcnVwIGxpYmliZXJ0eS9tZW1tZW0uYyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9tZW1tZW0uYwotLS0g bGliaWJlcnR5L21lbW1lbS5jCTIwMTctMTItMDggMTA6MTk6MDcuMDYwMDU1 OTAzICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmli ZXJ0eS9tZW1tZW0uYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4OTY0ODA0MiAr MDAwMApAQCAtMSw0ICsxLDQgQEAKLS8qIENvcHlyaWdodCAoQykgMTk5MS0y MDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJp Z2h0IChDKSAxOTkxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFy eS4KIAogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKZGlmZiAtcnVwIGxp YmliZXJ0eS9tZW1wY3B5LmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9s aWJpYmVydHkvbWVtcGNweS5jCi0tLSBsaWJpYmVydHkvbWVtcGNweS5jCTIw MTctMTItMDggMTA6MTk6MDcuMDYwMDU1OTAzICswMDAwCisrKyAvd29yay9z b3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9tZW1wY3B5LmMJMjAxOC0w MS0wNCAwODowNjo1Ny42NjM2NDgzMTYgKzAwMDAKQEAgLTEsNSArMSw1IEBA CiAvKiBJbXBsZW1lbnQgdGhlIG1lbXBjcHkgZnVuY3Rpb24uCi0gICBDb3B5 cmlnaHQgKEMpIDIwMDMtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAgIENvcHlyaWdodCAoQykgMjAwMy0yMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogICAgV3JpdHRlbiBieSBLYXZlaCBSLiBH aGF6aSA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4uCiAKIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KZGlmZiAtcnVwIGxp YmliZXJ0eS9ta3N0ZW1wcy5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQv bGliaWJlcnR5L21rc3RlbXBzLmMKLS0tIGxpYmliZXJ0eS9ta3N0ZW1wcy5j CTIwMTctMTItMDggMTA6MTk6MDcuMDYxMDU1ODkxICswMDAwCisrKyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9ta3N0ZW1wcy5jCTIw MTgtMDEtMDQgMDg6MDY6NTcuNjc3NjQ4MTY5ICswMDAwCkBAIC0xLDQgKzEs NCBAQAotLyogQ29weXJpZ2h0IChDKSAxOTkxLTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTEtMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFRoaXMgZmls ZSBpcyBkZXJpdmVkIGZyb20gbWtzdGVtcC5jIGZyb20gdGhlIEdOVSBDIExp YnJhcnkuCiAKICAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpkaWZmIC1ydXAg bGliaWJlcnR5L29iamFsbG9jLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvb2JqYWxsb2MuYwotLS0gbGliaWJlcnR5L29iamFsbG9j LmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNjEwNTU4OTEgKzAwMDAKKysrIC93 b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L29iamFsbG9jLmMJ MjAxOC0wMS0wNCAwODowNjo1Ny43MDg2NDc4NDIgKzAwMDAKQEAgLTEsNSAr MSw1IEBACiAvKiBvYmphbGxvYy5jIC0tIHJvdXRpbmVzIHRvIGFsbG9jYXRl IG1lbW9yeSBmb3Igb2JqZWN0cwotICAgQ29weXJpZ2h0IChDKSAxOTk3LTIw MTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmln aHQgKEMpIDE5OTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICAgIFdyaXR0ZW4gYnkgSWFuIExhbmNlIFRheWxvciwgQ3lnbnVzIFNv bHV0aW9ucy4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKZGlmZiAt cnVwIGxpYmliZXJ0eS9vYnN0YWNrLmMgL3dvcmsvc291cmNlcy9nY2MvY3Vy cmVudC9saWJpYmVydHkvb2JzdGFjay5jCi0tLSBsaWJpYmVydHkvb2JzdGFj ay5jCTIwMTctMTItMDggMTA6MTk6MDcuMDYyMDU1ODc5ICswMDAwCisrKyAv d29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9vYnN0YWNrLmMJ MjAxOC0wMS0wNCAwODowNjo1Ni45NDM2NTU5MDggKzAwMDAKQEAgLTEsNSAr MSw1IEBACiAvKiBvYnN0YWNrLmMgLSBzdWJyb3V0aW5lcyB1c2VkIGltcGxp Y2l0bHkgYnkgb2JqZWN0IHN0YWNrIG1hY3JvcwotICAgQ29weXJpZ2h0IChD KSAxOTg4LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisg ICBDb3B5cmlnaHQgKEMpIDE5ODgtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUg QyBMaWJyYXJ5LgogCiAgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlmZiAt cnVwIGxpYmliZXJ0eS9wYXJ0aXRpb24uYyAvd29yay9zb3VyY2VzL2djYy9j dXJyZW50L2xpYmliZXJ0eS9wYXJ0aXRpb24uYwotLS0gbGliaWJlcnR5L3Bh cnRpdGlvbi5jCTIwMTctMTItMDggMTA6MTk6MDcuMDYzMDU1ODY2ICswMDAw CisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9wYXJ0 aXRpb24uYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4ODY0ODA1MyArMDAwMApA QCAtMSw1ICsxLDUgQEAKIC8qIExpc3QgaW1wbGVtZW50YXRpb24gb2YgYSBw YXJ0aXRpb24gb2YgY29uc2VjdXRpdmUgaW50ZWdlcnMuCi0gICBDb3B5cmln aHQgKEMpIDIwMDAtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKyAgIENvcHlyaWdodCAoQykgMjAwMC0yMDE4IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogICAgQ29udHJpYnV0ZWQgYnkgQ29kZVNvdXJj ZXJ5LCBMTEMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBDQy4K ZGlmZiAtcnVwIGxpYmliZXJ0eS9wZXgtY29tbW9uLmMgL3dvcmsvc291cmNl cy9nY2MvY3VycmVudC9saWJpYmVydHkvcGV4LWNvbW1vbi5jCi0tLSBsaWJp YmVydHkvcGV4LWNvbW1vbi5jCTIwMTctMTItMDggMTA6MTk6MDcuMDYzMDU1 ODY2ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmli ZXJ0eS9wZXgtY29tbW9uLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42NjU2NDgy OTUgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBDb21tb24gY29kZSBmb3Ig ZXhlY3V0aW5nIGEgcHJvZ3JhbSBpbiBhIHN1Yi1wcm9jZXNzLgotICAgQ29w eXJpZ2h0IChDKSAyMDA1LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxOCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4gYnkgSWFuIExhbmNl IFRheWxvciA8aWFuQGFpcnMuY29tPi4KIAogVGhpcyBmaWxlIGlzIHBhcnQg b2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgpkaWZmIC1ydXAgbGliaWJlcnR5 L3BleC1jb21tb24uaCAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmli ZXJ0eS9wZXgtY29tbW9uLmgKLS0tIGxpYmliZXJ0eS9wZXgtY29tbW9uLmgJ MjAxNy0xMi0wOCAxMDoxOTowNy4wNjMwNTU4NjYgKzAwMDAKKysrIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3BleC1jb21tb24uaAky MDE4LTAxLTA0IDA4OjA2OjU3LjY2NjY0ODI4NSArMDAwMApAQCAtMSw2ICsx LDYgQEAKIC8qIFV0aWxpdGllcyB0byBleGVjdXRlIGEgcHJvZ3JhbSBpbiBh IHN1YnByb2Nlc3MgKHBvc3NpYmx5IGxpbmtlZCBieSBwaXBlcwogICAgd2l0 aCBvdGhlciBzdWJwcm9jZXNzZXMpLCBhbmQgd2FpdCBmb3IgaXQuICBTaGFy ZWQgbG9naWMuCi0gICBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxNyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk5 Ni0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlz IGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBMaWJp YmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvcGV4LWRqZ3BwLmMgL3dv cmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvcGV4LWRqZ3BwLmMK LS0tIGxpYmliZXJ0eS9wZXgtZGpncHAuYwkyMDE3LTEyLTA4IDEwOjE5OjA3 LjA2NDA1NTg1MyArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvcGV4LWRqZ3BwLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42 ODc2NDgwNjMgKzAwMDAKQEAgLTEsNiArMSw2IEBACiAvKiBVdGlsaXRpZXMg dG8gZXhlY3V0ZSBhIHByb2dyYW0gaW4gYSBzdWJwcm9jZXNzIChwb3NzaWJs eSBsaW5rZWQgYnkgcGlwZXMKICAgIHdpdGggb3RoZXIgc3VicHJvY2Vzc2Vz KSwgYW5kIHdhaXQgZm9yIGl0LiAgREpHUFAgc3BlY2lhbGl6YXRpb24uCi0g ICBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk5Ni0yMDE4IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFy dCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBMaWJpYmVydHkgaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCmRp ZmYgLXJ1cCBsaWJpYmVydHkvcGV4ZWN1dGUuYyAvd29yay9zb3VyY2VzL2dj Yy9jdXJyZW50L2xpYmliZXJ0eS9wZXhlY3V0ZS5jCi0tLSBsaWJpYmVydHkv cGV4ZWN1dGUuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA2NDA1NTg1MyArMDAw MAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvcGV4 ZWN1dGUuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4NTY0ODA4NCArMDAwMApA QCAtMSw2ICsxLDYgQEAKIC8qIFV0aWxpdGllcyB0byBleGVjdXRlIGEgcHJv Z3JhbSBpbiBhIHN1YnByb2Nlc3MgKHBvc3NpYmx5IGxpbmtlZCBieSBwaXBl cwogICAgd2l0aCBvdGhlciBzdWJwcm9jZXNzZXMpLCBhbmQgd2FpdCBmb3Ig aXQuCi0gICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMjAwNC0yMDE4 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUg aXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBMaWJpYmVydHkg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvcGV4LW1zZG9zLmMgL3dvcmsvc291 cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvcGV4LW1zZG9zLmMKLS0tIGxp YmliZXJ0eS9wZXgtbXNkb3MuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA2NTA1 NTg0MSArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJp YmVydHkvcGV4LW1zZG9zLmMJMjAxOC0wMS0wNCAwODowNjo1Ny43MDk2NDc4 MzEgKzAwMDAKQEAgLTEsNiArMSw2IEBACiAvKiBVdGlsaXRpZXMgdG8gZXhl Y3V0ZSBhIHByb2dyYW0gaW4gYSBzdWJwcm9jZXNzIChwb3NzaWJseSBsaW5r ZWQgYnkgcGlwZXMKICAgIHdpdGggb3RoZXIgc3VicHJvY2Vzc2VzKSwgYW5k IHdhaXQgZm9yIGl0LiAgR2VuZXJpYyBNU0RPUyBzcGVjaWFsaXphdGlvbi4K LSAgIENvcHlyaWdodCAoQykgMTk5Ni0yMDE3IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KIExpYmliZXJ0eSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK ZGlmZiAtcnVwIGxpYmliZXJ0eS9wZXgtb25lLmMgL3dvcmsvc291cmNlcy9n Y2MvY3VycmVudC9saWJpYmVydHkvcGV4LW9uZS5jCi0tLSBsaWJpYmVydHkv cGV4LW9uZS5jCTIwMTctMTItMDggMTA6MTk6MDcuMDY1MDU1ODQxICswMDAw CisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9wZXgt b25lLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42ODQ2NDgwOTUgKzAwMDAKQEAg LTEsNSArMSw1IEBACiAvKiBFeGVjdXRlIGEgcHJvZ3JhbSBhbmQgd2FpdCBm b3IgYSByZXN1bHQuCi0gICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykg MjAwNS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBM aWJpYmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvcGV4LXVuaXguYyAv d29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9wZXgtdW5peC5j Ci0tLSBsaWJpYmVydHkvcGV4LXVuaXguYwkyMDE3LTEyLTA4IDEwOjE5OjA3 LjA2NjA1NTgyOCArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvcGV4LXVuaXguYwkyMDE4LTAxLTA0IDA4OjA2OjU3Ljcw NzY0Nzg1MiArMDAwMApAQCAtMSw3ICsxLDcgQEAKIC8qIFV0aWxpdGllcyB0 byBleGVjdXRlIGEgcHJvZ3JhbSBpbiBhIHN1YnByb2Nlc3MgKHBvc3NpYmx5 IGxpbmtlZCBieSBwaXBlcwogICAgd2l0aCBvdGhlciBzdWJwcm9jZXNzZXMp LCBhbmQgd2FpdCBmb3IgaXQuICBHZW5lcmljIFVuaXggdmVyc2lvbgogICAg KGFsc28gdXNlZCBmb3IgVVdJTiBhbmQgVk1TKS4KLSAgIENvcHlyaWdodCAo QykgMTk5Ni0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor ICAgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJp YmVydHkgbGlicmFyeS4KIExpYmliZXJ0eSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlmZiAtcnVwIGxpYmli ZXJ0eS9wZXgtd2luMzIuYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xp YmliZXJ0eS9wZXgtd2luMzIuYwotLS0gbGliaWJlcnR5L3BleC13aW4zMi5j CTIwMTctMTItMDggMTA6MTk6MDcuMDY2MDU1ODI4ICswMDAwCisrKyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9wZXgtd2luMzIuYwky MDE4LTAxLTA0IDA4OjA2OjU3LjcxMDY0NzgyMSArMDAwMApAQCAtMSw2ICsx LDYgQEAKIC8qIFV0aWxpdGllcyB0byBleGVjdXRlIGEgcHJvZ3JhbSBpbiBh IHN1YnByb2Nlc3MgKHBvc3NpYmx5IGxpbmtlZCBieSBwaXBlcwogICAgd2l0 aCBvdGhlciBzdWJwcm9jZXNzZXMpLCBhbmQgd2FpdCBmb3IgaXQuICBHZW5l cmljIFdpbjMyIHNwZWNpYWxpemF0aW9uLgotICAgQ29weXJpZ2h0IChDKSAx OTk2LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBD b3B5cmlnaHQgKEMpIDE5OTYtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0 eSBsaWJyYXJ5LgogTGliaWJlcnR5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpkaWZmIC1ydXAgbGliaWJlcnR5 L3BoeXNtZW0uYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0 eS9waHlzbWVtLmMKLS0tIGxpYmliZXJ0eS9waHlzbWVtLmMJMjAxNy0xMi0w OCAxMDoxOTowNy4wNjcwNTU4MTYgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMv Z2NjL2N1cnJlbnQvbGliaWJlcnR5L3BoeXNtZW0uYwkyMDE4LTAxLTA0IDA4 OjA2OjU3LjY4NTY0ODA4NCArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIENh bGN1bGF0ZSB0aGUgc2l6ZSBvZiBwaHlzaWNhbCBtZW1vcnkuCi0gICBDb3B5 cmlnaHQgKEMpIDIwMDAtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAgIENvcHlyaWdodCAoQykgMjAwMC0yMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKZGlmZiAtcnVwIGxp YmliZXJ0eS9wdXRlbnYuYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xp YmliZXJ0eS9wdXRlbnYuYwotLS0gbGliaWJlcnR5L3B1dGVudi5jCTIwMTct MTItMDggMTA6MTk6MDcuMDY3MDU1ODE2ICswMDAwCisrKyAvd29yay9zb3Vy Y2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9wdXRlbnYuYwkyMDE4LTAxLTA0 IDA4OjA2OjU3LjY4MDY0ODEzNyArMDAwMApAQCAtMSw0ICsxLDQgQEAKLS8q IENvcHlyaWdodCAoQykgMTk5MS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTkxLTIwMTggRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBUaGlzIGZpbGUgYmFzZWQg b24gcHV0ZW52LmMgaW4gdGhlIEdOVSBDIExpYnJhcnkuCiAKICAgIFRoZSBH TlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgpkaWZmIC1ydXAgbGliaWJlcnR5L3JlZ2V4LmMg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvcmVnZXguYwot LS0gbGliaWJlcnR5L3JlZ2V4LmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNjkw NTU3OTEgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGli aWJlcnR5L3JlZ2V4LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42Nzk2NDgxNDgg KzAwMDAKQEAgLTMsNyArMyw3IEBACiAgICAoSW1wbGVtZW50cyBQT1NJWCBk cmFmdCBQMTAwMy4yL0QxMS4yLCBleGNlcHQgZm9yIHNvbWUgb2YgdGhlCiAg ICBpbnRlcm5hdGlvbmFsaXphdGlvbiBmZWF0dXJlcy4pCiAKLSAgIENvcHly aWdodCAoQykgMTk5My0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorICAgQ29weXJpZ2h0IChDKSAxOTkzLTIwMTggRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgR05VIEMgTGlicmFyeS4KIAogICAgVGhlIEdOVSBDIExpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y CmRpZmYgLXJ1cCBsaWJpYmVydHkvcnVzdC1kZW1hbmdsZS5jIC93b3JrL3Nv dXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3J1c3QtZGVtYW5nbGUuYwot LS0gbGliaWJlcnR5L3J1c3QtZGVtYW5nbGUuYwkyMDE3LTEyLTA4IDEwOjE5 OjA3LjA3MTA1NTc2NiArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3Vy cmVudC9saWJpYmVydHkvcnVzdC1kZW1hbmdsZS5jCTIwMTgtMDEtMDQgMDg6 MDY6NTYuOTQyNjU1OTE4ICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyogRGVt YW5nbGVyIGZvciB0aGUgUnVzdCBwcm9ncmFtbWluZyBsYW5ndWFnZQotICAg Q29weXJpZ2h0IChDKSAyMDE2LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4gYnkgRGF2aWQg VG9sbmF5IChkdG9sbmF5QGdtYWlsLmNvbSkuCiAKIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KZGlmZiAtcnVwIGxpYmli ZXJ0eS9zYWZlLWN0eXBlLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9s aWJpYmVydHkvc2FmZS1jdHlwZS5jCi0tLSBsaWJpYmVydHkvc2FmZS1jdHlw ZS5jCTIwMTctMTItMDggMTA6MTk6MDcuMDcxMDU1NzY2ICswMDAwCisrKyAv d29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9zYWZlLWN0eXBl LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42NzE2NDgyMzIgKzAwMDAKQEAgLTEs NiArMSw2IEBACiAvKiA8Y3R5cGUuaD4gcmVwbGFjZW1lbnQgbWFjcm9zLgog Ci0gICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAxNyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMjAwMC0yMDE4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogICAgQ29udHJpYnV0ZWQg YnkgWmFjayBXZWluYmVyZyA8emFja3dAc3RhbmZvcmQuZWR1Pi4KIAogVGhp cyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LgpkaWZm IC1ydXAgbGliaWJlcnR5L3NldGVudi5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1 cnJlbnQvbGliaWJlcnR5L3NldGVudi5jCi0tLSBsaWJpYmVydHkvc2V0ZW52 LmMJMjAxNy0xMi0wOCAxMDoxOTowNy4wNzIwNTU3NTMgKzAwMDAKKysrIC93 b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3NldGVudi5jCTIw MTgtMDEtMDQgMDg6MDY6NTYuOTQxNjU1OTI5ICswMDAwCkBAIC0xLDQgKzEs NCBAQAotLyogQ29weXJpZ2h0IChDKSAxOTkyLTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTItMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFRoaXMgZmls ZSBiYXNlZCBvbiBzZXRlbnYuYyBpbiB0aGUgR05VIEMgTGlicmFyeS4KIAog ICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkv c2V0cHJvY3RpdGxlLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJp YmVydHkvc2V0cHJvY3RpdGxlLmMKLS0tIGxpYmliZXJ0eS9zZXRwcm9jdGl0 bGUuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA3MzA1NTc0MSArMDAwMAorKysg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc2V0cHJvY3Rp dGxlLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42ODQ2NDgwOTUgKzAwMDAKQEAg LTEsNSArMSw1IEBACiAvKiBTZXQgdGhlIHRpdGxlIG9mIGEgcHJvY2Vzcy4K LSAgIENvcHlyaWdodCAoQykgMjAxMC0yMDE3IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KIExpYmliZXJ0eSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK ZGlmZiAtcnVwIGxpYmliZXJ0eS9zaGExLmMgL3dvcmsvc291cmNlcy9nY2Mv Y3VycmVudC9saWJpYmVydHkvc2hhMS5jCi0tLSBsaWJpYmVydHkvc2hhMS5j CTIwMTctMTItMDggMTA6MTk6MDcuMDczMDU1NzQxICswMDAwCisrKyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9zaGExLmMJMjAxOC0w MS0wNCAwODowNjo1Ny42Njg2NDgyNjQgKzAwMDAKQEAgLTEsNyArMSw3IEBA CiAvKiBzaGExLmMgLSBGdW5jdGlvbnMgdG8gY29tcHV0ZSBTSEExIG1lc3Nh Z2UgZGlnZXN0IG9mIGZpbGVzIG9yCiAgICBtZW1vcnkgYmxvY2tzIGFjY29y ZGluZyB0byB0aGUgTklTVCBzcGVjaWZpY2F0aW9uIEZJUFMtMTgwLTEuCiAK LSAgIENvcHlyaWdodCAoQykgMjAwMC0yMDE3IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMTggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5IGl0CiAgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUK ZGlmZiAtcnVwIGxpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LmMgL3dvcmsvc291 cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc2ltcGxlLW9iamVjdC5jCi0t LSBsaWJpYmVydHkvc2ltcGxlLW9iamVjdC5jCTIwMTctMTItMDggMTc6MDQ6 MzYuODExMzIzNTkwICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJy ZW50L2xpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LmMJMjAxOC0wMS0wNCAwODow Njo1Ny43MTE2NDc4MTAgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBzaW1w bGUtb2JqZWN0LmMgLS0gc2ltcGxlIHJvdXRpbmVzIHRvIHJlYWQgYW5kIHdy aXRlIG9iamVjdCBmaWxlcy4KLSAgIENvcHlyaWdodCAoQykgMjAxMC0yMDE3 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0 IChDKSAyMDEwLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiAgICBXcml0dGVuIGJ5IElhbiBMYW5jZSBUYXlsb3IsIEdvb2dsZS4KIAog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKQEAgLTI3Myw2ICsyNzMsOSBA QCBoYW5kbGVfbHRvX2RlYnVnX3NlY3Rpb25zIChjb25zdCBjaGFyICoqCiAg ICAgICAqbmFtZSA9ICpuYW1lICsgc2l6ZW9mICgiLmdudS5sdG9fIikgLSAx OwogICAgICAgcmV0dXJuIDE7CiAgICAgfQorICAvKiBDb3B5IG92ZXIgLm5v dGUuR05VLXN0YWNrIHNlY3Rpb24gdW5kZXIgdGhlIHNhbWUgbmFtZSBpZiBw cmVzZW50LiAgKi8KKyAgZWxzZSBpZiAoc3RyY21wICgqbmFtZSwgIi5ub3Rl LkdOVS1zdGFjayIpID09IDApCisgICAgcmV0dXJuIDE7CiAgIHJldHVybiAw OwogfQogCmRpZmYgLXJ1cCBsaWJpYmVydHkvc2ltcGxlLW9iamVjdC1jb2Zm LmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc2ltcGxl LW9iamVjdC1jb2ZmLmMKLS0tIGxpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LWNv ZmYuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjA5MTA1NTUxNSArMDAwMAorKysg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc2ltcGxlLW9i amVjdC1jb2ZmLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42Nzg2NDgxNTggKzAw MDAKQEAgLTEsNSArMSw1IEBACiAvKiBzaW1wbGUtb2JqZWN0LWNvZmYuYyAt LSByb3V0aW5lcyB0byBtYW5pcHVsYXRlIENPRkYgb2JqZWN0IGZpbGVzLgot ICAgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4gYnkgSWFu IExhbmNlIFRheWxvciwgR29vZ2xlLgogCiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeSBpdApkaWZmIC1ydXAgbGliaWJlcnR5L3NpbXBsZS1vYmplY3QtY29t bW9uLmggL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc2lt cGxlLW9iamVjdC1jb21tb24uaAotLS0gbGliaWJlcnR5L3NpbXBsZS1vYmpl Y3QtY29tbW9uLmgJMjAxNy0xMi0wOCAxMDoxOTowNy4wOTkwNTU0MTUgKzAw MDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Np bXBsZS1vYmplY3QtY29tbW9uLmgJMjAxOC0wMS0wNCAwODowNjo1Ny42ODY2 NDgwNzQgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBzaW1wbGUtb2JqZWN0 LWNvbW1vbi5oIC0tIGNvbW1vbiBzdHJ1Y3RzIGZvciBvYmplY3QgZmlsZSBt YW5pcHVsYXRpb24uCi0gICBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykg MjAxMC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBM aWJpYmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvc2ltcGxlLW9iamVj dC1lbGYuYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9z aW1wbGUtb2JqZWN0LWVsZi5jCi0tLSBsaWJpYmVydHkvc2ltcGxlLW9iamVj dC1lbGYuYwkyMDE3LTEyLTA4IDE3OjA0OjM2LjgwNjMyMzY1MyArMDAwMAor KysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc2ltcGxl LW9iamVjdC1lbGYuYwkyMDE4LTAxLTA0IDA4OjA2OjU2Ljk0MDY1NTkzOSAr MDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIHNpbXBsZS1vYmplY3QtZWxmLmMg LS0gcm91dGluZXMgdG8gbWFuaXB1bGF0ZSBFTEYgb2JqZWN0IGZpbGVzLgot ICAgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4gYnkgSWFu IExhbmNlIFRheWxvciwgR29vZ2xlLgogCiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeSBpdApAQCAtMTk2LDYgKzE5Niw3IEBAIHR5cGVkZWYgc3RydWN0IHsK IAogLyogVmFsdWVzIGZvciBzaF9mbGFncyBmaWVsZC4gICovCiAKKyNkZWZp bmUgU0hGX0VYRUNJTlNUUgkweDAwMDAwMDA0CS8qIEV4ZWN1dGFibGUgc2Vj dGlvbi4gICovCiAjZGVmaW5lIFNIRl9FWENMVURFCTB4ODAwMDAwMDAJLyog TGluayBlZGl0b3IgaXMgdG8gZXhjbHVkZSB0aGlzCiAJCQkJCSAgIHNlY3Rp b24gZnJvbSBleGVjdXRhYmxlIGFuZAogCQkJCQkgICBzaGFyZWQgbGlicmFy eSB0aGF0IGl0IGJ1aWxkcwpAQCAtMjM1LDggKzIzNiwxMCBAQCB0eXBlZGVm IHN0cnVjdAogCiAjZGVmaW5lIFNUQl9MT0NBTAkwCS8qIExvY2FsIHN5bWJv bCAqLwogI2RlZmluZSBTVEJfR0xPQkFMCTEJLyogR2xvYmFsIHN5bWJvbCAq LworI2RlZmluZSBTVEJfV0VBSwkyCS8qIFdlYWsgZ2xvYmFsICovCiAKICNk ZWZpbmUgU1RWX0RFRkFVTFQJMAkvKiBWaXNpYmlsaXR5IGlzIHNwZWNpZmll ZCBieSBiaW5kaW5nIHR5cGUgKi8KKyNkZWZpbmUgU1RWX0hJRERFTgkyCS8q IENhbiBvbmx5IGJlIHNlZW4gaW5zaWRlIGN1cnJlY3QgY29tcG9uZW50ICov CiAKIC8qIEZ1bmN0aW9ucyB0byBmZXRjaCBhbmQgc3RvcmUgZGlmZmVyZW50 IEVMRiB0eXBlcywgZGVwZW5kaW5nIG9uIHRoZQogICAgZW5kaWFubmVzcyBh bmQgc2l6ZS4gICovCkBAIC0xMDg1LDggKzEwODgsMTAgQEAgc2ltcGxlX29i amVjdF9lbGZfY29weV9sdG9fZGVidWdfc2VjdGlvbgogICBvZmZfdCBzaHN0 cm9mZjsKICAgdW5zaWduZWQgY2hhciAqbmFtZXM7CiAgIHVuc2lnbmVkIGlu dCBpOworICBpbnQgY2hhbmdlZDsKICAgaW50ICpwZm5yZXQ7CiAgIGNvbnN0 IGNoYXIgKipwZm5uYW1lOworICB1bnNpZ25lZCBmaXJzdF9zaG5keCA9IDA7 CiAKICAgc2hkcl9zaXplID0gKGVpX2NsYXNzID09IEVMRkNMQVNTMzIKIAkg ICAgICAgPyBzaXplb2YgKEVsZjMyX0V4dGVybmFsX1NoZHIpCkBAIC0xMTU0 LDExICsxMTU5LDEzIEBAIHNpbXBsZV9vYmplY3RfZWxmX2NvcHlfbHRvX2Rl YnVnX3NlY3Rpb24KICAgICAgIHJldCA9ICgqcGZuKSAoJm5hbWUpOwogICAg ICAgcGZucmV0W2kgLSAxXSA9IHJldCA9PSAxID8gMCA6IC0xOwogICAgICAg cGZubmFtZVtpIC0gMV0gPSBuYW1lOworICAgICAgaWYgKGZpcnN0X3NobmR4 ID09IDAKKwkgICYmIHBmbnJldFtpIC0gMV0gPT0gMCkKKwlmaXJzdF9zaG5k eCA9IGk7CiAgICAgfQogCiAgIC8qIE1hcmsgc2VjdGlvbnMgYXMgcHJlc2Vy dmVkIHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHRvIGJlIHByZXNlcnZlZAogICAg ICBzZWN0aW9ucy4gICovCi0gIGludCBjaGFuZ2VkOwogICBkbwogICAgIHsK ICAgICAgIGNoYW5nZWQgPSAwOwpAQCAtMTMyNCw2ICsxMzMxLDE1IEBAIHNp bXBsZV9vYmplY3RfZWxmX2NvcHlfbHRvX2RlYnVnX3NlY3Rpb24KIAkJCQkJ ICAgc29iai0+b2Zmc2V0ICsgc3Ryb2ZmLAogCQkJCQkgICAodW5zaWduZWQg Y2hhciAqKXN0cmluZ3MsCiAJCQkJCSAgIHN0cnN6LCAmZXJybXNnLCBlcnIp OworCSAgICAgIC8qIEZpbmQgZ251X2x0b18gaW4gc3RyaW5ncy4gICovCisJ ICAgICAgY2hhciAqZ251X2x0byA9IHN0cmluZ3M7CisJICAgICAgd2hpbGUg KChnbnVfbHRvID0gbWVtY2hyIChnbnVfbHRvLCAnZycsCisJCQkJCXN0cmlu Z3MgKyBzdHJzeiAtIGdudV9sdG8pKSkKKwkJaWYgKHN0cm5jbXAgKGdudV9s dG8sICJnbnVfbHRvX3YxIiwKKwkJCSAgICAgc3RyaW5ncyArIHN0cnN6IC0g Z251X2x0bykgPT0gMCkKKwkJICBicmVhazsKKwkJZWxzZQorCQkgIGdudV9s dG8rKzsKIAkgICAgICBmb3IgKGVudCA9IGJ1ZjsgZW50IDwgYnVmICsgbGVu Z3RoOyBlbnQgKz0gZW50c2l6ZSkKIAkJewogCQkgIHVuc2lnbmVkIHN0X3No bmR4ID0gRUxGX0ZFVENIX0ZJRUxEICh0eXBlX2Z1bmN0aW9ucywgZWlfY2xh c3MsCkBAIC0xMzQ2LDkgKzEzNjIsNiBAQCBzaW1wbGVfb2JqZWN0X2VsZl9j b3B5X2x0b19kZWJ1Z19zZWN0aW9uCiAJCSAgICAgYW5kIF9fZ251X2x0b19z bGltIHdoaWNoIG90aGVyd2lzZSBjYXVzZSBlbmRsZXNzCiAJCSAgICAgTFRP IHBsdWdpbiBpbnZvY2F0aW9uLiAgKi8KIAkJICBpZiAoc3Rfc2huZHggPT0g U0hOX0NPTU1PTikKLQkJICAgIC8qIFNldHRpbmcgc3RfbmFtZSB0byAiIiBz ZWVtcyB0byB3b3JrIHRvIHB1cmdlCi0JCSAgICAgICBDT01NT04gc3ltYm9s cyAoaW4gYWRkaXRpb24gdG8gc2V0dGluZyB0aGVpcgotCQkgICAgICAgc2l6 ZSB0byB6ZXJvKS4gICovCiAJCSAgICBkaXNjYXJkID0gMTsKIAkJICAvKiBX ZSBhbHNvIG5lZWQgdG8gcmVtb3ZlIHN5bWJvbHMgcmVmZXJpbmcgdG8gc2Vj dGlvbnMKIAkJICAgICB3ZSdsbCBldmVudHVhbGx5IHJlbW92ZSBhcyB3aXRo IGZhdCBMVE8gb2JqZWN0cwpAQCAtMTM2NCwxOCArMTM3NywzNiBAQCBzaW1w bGVfb2JqZWN0X2VsZl9jb3B5X2x0b19kZWJ1Z19zZWN0aW9uCiAJCSAgICB7 CiAJCSAgICAgIC8qIE1ha2UgZGlzY2FyZGVkIHN5bWJvbHMgdW5kZWZpbmVk IGFuZCB1bm5hbWVkCiAJCSAgICAgICAgIGluIGNhc2UgaXQgaXMgbG9jYWwu ICAqLwotCQkgICAgICBpZiAoRUxGX1NUX0JJTkQgKCpzdF9pbmZvKSA9PSBT VEJfTE9DQUwpCi0JCQlFTEZfU0VUX0ZJRUxEICh0eXBlX2Z1bmN0aW9ucywg ZWlfY2xhc3MsIFN5bSwKLQkJCQkgICAgICAgZW50LCBzdF9uYW1lLCBFbGZf V29yZCwgMCk7CisJCSAgICAgIGludCBiaW5kID0gRUxGX1NUX0JJTkQgKCpz dF9pbmZvKTsKKwkJICAgICAgaW50IG90aGVyID0gU1RWX0RFRkFVTFQ7CisJ CSAgICAgIGlmIChiaW5kID09IFNUQl9MT0NBTCkKKwkJCXsKKwkJCSAgLyog TWFrZSBkaXNjYXJkZWQgbG9jYWwgc3ltYm9scyB1bm5hbWVkIGFuZAorCQkJ ICAgICBkZWZpbmVkIGluIHRoZSBmaXJzdCBwcmV2YWlsaW5nIHNlY3Rpb24u ICAqLworCQkJICBFTEZfU0VUX0ZJRUxEICh0eXBlX2Z1bmN0aW9ucywgZWlf Y2xhc3MsIFN5bSwKKwkJCQkJIGVudCwgc3RfbmFtZSwgRWxmX1dvcmQsIDAp OworCQkJICBFTEZfU0VUX0ZJRUxEICh0eXBlX2Z1bmN0aW9ucywgZWlfY2xh c3MsIFN5bSwKKwkJCQkJIGVudCwgc3Rfc2huZHgsIEVsZl9IYWxmLCBmaXJz dF9zaG5keCk7CisJCQl9CisJCSAgICAgIGVsc2UKKwkJCXsKKwkJCSAgLyog TWFrZSBkaXNjYXJkZWQgZ2xvYmFsIHN5bWJvbHMgaGlkZGVuIHdlYWsKKwkJ CSAgICAgdW5kZWZpbmVkIGFuZCBzaGFyaW5nIHRoZSBnbnVfbHRvXyBuYW1l LiAgKi8KKwkJCSAgYmluZCA9IFNUQl9XRUFLOworCQkJICBvdGhlciA9IFNU Vl9ISURERU47CisJCQkgIGlmIChnbnVfbHRvKQorCQkJICAgIEVMRl9TRVRf RklFTEQgKHR5cGVfZnVuY3Rpb25zLCBlaV9jbGFzcywgU3ltLAorCQkJCQkg ICBlbnQsIHN0X25hbWUsIEVsZl9Xb3JkLAorCQkJCQkgICBnbnVfbHRvIC0g c3RyaW5ncyk7CisJCQkgIEVMRl9TRVRfRklFTEQgKHR5cGVfZnVuY3Rpb25z LCBlaV9jbGFzcywgU3ltLAorCQkJCQkgZW50LCBzdF9zaG5keCwgRWxmX0hh bGYsIFNITl9VTkRFRik7CisJCQl9CisJCSAgICAgICpzdF9vdGhlciA9IG90 aGVyOworCQkgICAgICAqc3RfaW5mbyA9IEVMRl9TVF9JTkZPIChiaW5kLCBT VFRfTk9UWVBFKTsKIAkJICAgICAgRUxGX1NFVF9GSUVMRCAodHlwZV9mdW5j dGlvbnMsIGVpX2NsYXNzLCBTeW0sCiAJCQkJICAgICBlbnQsIHN0X3ZhbHVl LCBFbGZfQWRkciwgMCk7CiAJCSAgICAgIEVMRl9TRVRfRklFTEQgKHR5cGVf ZnVuY3Rpb25zLCBlaV9jbGFzcywgU3ltLAogCQkJCSAgICAgZW50LCBzdF9z aXplLCBFbGZfV29yZCwgMCk7Ci0JCSAgICAgIEVMRl9TRVRfRklFTEQgKHR5 cGVfZnVuY3Rpb25zLCBlaV9jbGFzcywgU3ltLAotCQkJCSAgICAgZW50LCBz dF9zaG5keCwgRWxmX0hhbGYsIFNITl9VTkRFRik7Ci0JCSAgICAgICpzdF9p bmZvID0gRUxGX1NUX0lORk8gKEVMRl9TVF9CSU5EICgqc3RfaW5mbyksCi0J CQkJCSAgICAgIFNUVF9OT1RZUEUpOwotCQkgICAgICAqc3Rfb3RoZXIgPSBT VFZfREVGQVVMVDsKIAkJICAgIH0KIAkJfQogCSAgICAgIFhERUxFVEVWRUMg KHN0cmluZ3MpOwpAQCAtMTM5OCwxMiArMTQyOSwyMyBAQCBzaW1wbGVfb2Jq ZWN0X2VsZl9jb3B5X2x0b19kZWJ1Z19zZWN0aW9uCiAJICAgICBsaW5rLiAg Ki8KIAkgIEVMRl9TRVRfRklFTEQgKHR5cGVfZnVuY3Rpb25zLCBlaV9jbGFz cywgU2hkciwKIAkJCSBzaGRyLCBzaF90eXBlLCBFbGZfV29yZCwgU0hUX05V TEwpOworCSAgRUxGX1NFVF9GSUVMRCAodHlwZV9mdW5jdGlvbnMsIGVpX2Ns YXNzLCBTaGRyLAorCQkJIHNoZHIsIHNoX2luZm8sIEVsZl9Xb3JkLCAwKTsK KwkgIEVMRl9TRVRfRklFTEQgKHR5cGVfZnVuY3Rpb25zLCBlaV9jbGFzcywg U2hkciwKKwkJCSBzaGRyLCBzaF9saW5rLCBFbGZfV29yZCwgMCk7CiAJfQog CiAgICAgICBmbGFncyA9IEVMRl9GRVRDSF9GSUVMRCAodHlwZV9mdW5jdGlv bnMsIGVpX2NsYXNzLCBTaGRyLAogCQkJICAgICAgIHNoZHIsIHNoX2ZsYWdz LCBFbGZfQWRkcik7CiAgICAgICBpZiAocmV0ID09IDApCi0JZmxhZ3MgJj0g flNIRl9FWENMVURFOworCXsKKwkgIC8qIFRoZSBkZWJ1Z29iaiBkb2Vzbid0 IGNvbnRhaW4gYW55IGNvZGUsIHRodXMgbm8gdHJhbXBvbGluZXMuCisJICAg ICBFdmVuIHdoZW4gdGhlIG9yaWdpbmFsIG9iamVjdCBuZWVkcyB0cmFtcG9s aW5lcywgZGVidWdvYmoKKwkgICAgIGRvZXNuJ3QuICAqLworCSAgaWYgKHN0 cmNtcCAobmFtZSwgIi5ub3RlLkdOVS1zdGFjayIpID09IDApCisJICAgIGZs YWdzICY9IH5TSEZfRVhFQ0lOU1RSOworCSAgZmxhZ3MgJj0gflNIRl9FWENM VURFOworCX0KICAgICAgIGVsc2UgaWYgKHJldCA9PSAtMSkKIAlmbGFncyA9 IFNIRl9FWENMVURFOwogICAgICAgRUxGX1NFVF9GSUVMRCAodHlwZV9mdW5j dGlvbnMsIGVpX2NsYXNzLCBTaGRyLApkaWZmIC1ydXAgbGliaWJlcnR5L3Np bXBsZS1vYmplY3QtbWFjaC1vLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvc2ltcGxlLW9iamVjdC1tYWNoLW8uYwotLS0gbGliaWJl cnR5L3NpbXBsZS1vYmplY3QtbWFjaC1vLmMJMjAxNy0xMi0wOCAxMDoxOTow Ny4xMTAwNTUyNzcgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJl bnQvbGliaWJlcnR5L3NpbXBsZS1vYmplY3QtbWFjaC1vLmMJMjAxOC0wMS0w NCAwODowNjo1Ny42Njk2NDgyNTMgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAv KiBzaW1wbGUtb2JqZWN0LW1hY2gtby5jIC0tIHJvdXRpbmVzIHRvIG1hbmlw dWxhdGUgTWFjaC1PIG9iamVjdCBmaWxlcy4KLSAgIENvcHlyaWdodCAoQykg MjAxMC0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAg Q29weXJpZ2h0IChDKSAyMDEwLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiAgICBXcml0dGVuIGJ5IElhbiBMYW5jZSBUYXlsb3IsIEdv b2dsZS4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKZGlmZiAtcnVw IGxpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LXhjb2ZmLmMgL3dvcmsvc291cmNl cy9nY2MvY3VycmVudC9saWJpYmVydHkvc2ltcGxlLW9iamVjdC14Y29mZi5j Ci0tLSBsaWJpYmVydHkvc2ltcGxlLW9iamVjdC14Y29mZi5jCTIwMTctMTIt MDggMTA6MTk6MDcuMTE2MDU1MjAyICswMDAwCisrKyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS9zaW1wbGUtb2JqZWN0LXhjb2ZmLmMJ MjAxOC0wMS0wNCAwODowNjo1Ny42NzA2NDgyNDIgKzAwMDAKQEAgLTEsNSAr MSw1IEBACiAvKiBzaW1wbGUtb2JqZWN0LWNvZmYuYyAtLSByb3V0aW5lcyB0 byBtYW5pcHVsYXRlIFhDT0ZGIG9iamVjdCBmaWxlcy4KLSAgIENvcHlyaWdo dCAoQykgMjAxMy0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorICAgQ29weXJpZ2h0IChDKSAyMDEzLTIwMTggRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiAgICBXcml0dGVuIGJ5IElhbiBMYW5jZSBUYXls b3IsIEdvb2dsZSBhbmQgRGF2aWQgRWRlbHNvaG4sIElCTS4KIAogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkgaXQKZGlmZiAtcnVwIGxpYmliZXJ0eS9zbnBy aW50Zi5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Nu cHJpbnRmLmMKLS0tIGxpYmliZXJ0eS9zbnByaW50Zi5jCTIwMTctMTItMDgg MTA6MTk6MDcuMTE2MDU1MjAyICswMDAwCisrKyAvd29yay9zb3VyY2VzL2dj Yy9jdXJyZW50L2xpYmliZXJ0eS9zbnByaW50Zi5jCTIwMTgtMDEtMDQgMDg6 MDY6NTcuNjcxNjQ4MjMyICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyogSW1w bGVtZW50IHRoZSBzbnByaW50ZiBmdW5jdGlvbi4KLSAgIENvcHlyaWdodCAo QykgMjAwMy0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor ICAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiAgICBXcml0dGVuIGJ5IEthdmVoIFIuIEdoYXppIDxn aGF6aUBjYWlwLnJ1dGdlcnMuZWR1Pi4KIAogVGhpcyBmaWxlIGlzIHBhcnQg b2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZy ZWUKZGlmZiAtcnVwIGxpYmliZXJ0eS9zb3J0LmMgL3dvcmsvc291cmNlcy9n Y2MvY3VycmVudC9saWJpYmVydHkvc29ydC5jCi0tLSBsaWJpYmVydHkvc29y dC5jCTIwMTctMTItMDggMTA6MTk6MDcuMTE2MDU1MjAyICswMDAwCisrKyAv d29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9zb3J0LmMJMjAx OC0wMS0wNCAwODowNjo1Ny42Njc2NDgyNzQgKzAwMDAKQEAgLTEsNSArMSw1 IEBACiAvKiBTb3J0aW5nIGFsZ29yaXRobXMuCi0gICBDb3B5cmlnaHQgKEMp IDIwMDAtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAg IENvcHlyaWdodCAoQykgMjAwMC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogICAgQ29udHJpYnV0ZWQgYnkgTWFyayBNaXRjaGVsbCA8 bWFya0Bjb2Rlc291cmNlcnkuY29tPi4KIAogVGhpcyBmaWxlIGlzIHBhcnQg b2YgR05VIENDLgpkaWZmIC1ydXAgbGliaWJlcnR5L3NwYWNlcy5jIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3NwYWNlcy5jCi0tLSBs aWJpYmVydHkvc3BhY2VzLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4xMTcwNTUx ODkgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJl cnR5L3NwYWNlcy5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNjY0NjQ4MzA2ICsw MDAwCkBAIC0xLDUgKzEsNSBAQAogLyogQWxsb2NhdGUgbWVtb3J5IHJlZ2lv biBmaWxsZWQgd2l0aCBzcGFjZXMuCi0gICBDb3B5cmlnaHQgKEMpIDE5OTEt MjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHly aWdodCAoQykgMTk5MS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxp YnJhcnkuCiBMaWJpYmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvc3Bs YXktdHJlZS5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5 L3NwbGF5LXRyZWUuYwotLS0gbGliaWJlcnR5L3NwbGF5LXRyZWUuYwkyMDE3 LTEyLTA4IDEwOjE5OjA3LjExNzA1NTE4OSArMDAwMAorKysgL3dvcmsvc291 cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc3BsYXktdHJlZS5jCTIwMTgt MDEtMDQgMDg6MDY6NTcuNjY2NjQ4Mjg1ICswMDAwCkBAIC0xLDUgKzEsNSBA QAogLyogQSBzcGxheS10cmVlIGRhdGF0eXBlLiAgCi0gICBDb3B5cmlnaHQg KEMpIDE5OTgtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIENvcHlyaWdodCAoQykgMTk5OC0yMDE4IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogICAgQ29udHJpYnV0ZWQgYnkgTWFyayBNaXRjaGVs bCAobWFya0BtYXJrbWl0Y2hlbGwuY29tKS4KIAogVGhpcyBmaWxlIGlzIHBh cnQgb2YgR05VIENDLgpkaWZmIC1ydXAgbGliaWJlcnR5L3N0YWNrLWxpbWl0 LmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc3RhY2st bGltaXQuYwotLS0gbGliaWJlcnR5L3N0YWNrLWxpbWl0LmMJMjAxNy0xMi0w OCAxMDoxOTowNy4xMTcwNTUxODkgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMv Z2NjL2N1cnJlbnQvbGliaWJlcnR5L3N0YWNrLWxpbWl0LmMJMjAxOC0wMS0w NCAwODowNjo1Ny42NjU2NDgyOTUgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAv KiBJbmNyZWFzZSBzdGFjayBzaXplIGxpbWl0IGlmIHBvc3NpYmxlLgotICAg Q29weXJpZ2h0IChDKSAyMDExLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQg b2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZy ZWUKIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5IGl0IHVuZGVyIHRoZQpkaWZmIC1ydXAgbGliaWJlcnR5L3N0cGNw eS5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3N0cGNw eS5jCi0tLSBsaWJpYmVydHkvc3RwY3B5LmMJMjAxNy0xMi0wOCAxMDoxOTow Ny4xMTgwNTUxNzcgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJl bnQvbGliaWJlcnR5L3N0cGNweS5jCTIwMTgtMDEtMDQgMDg6MDY6NTcuNjc0 NjQ4MjAwICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyogSW1wbGVtZW50IHRo ZSBzdHBjcHkgZnVuY3Rpb24uCi0gICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAx NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdo dCAoQykgMjAwMy0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogICAgV3JpdHRlbiBieSBLYXZlaCBSLiBHaGF6aSA8Z2hhemlAY2FpcC5y dXRnZXJzLmVkdT4uCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJp YmVydHkgbGlicmFyeS4KZGlmZiAtcnVwIGxpYmliZXJ0eS9zdHBuY3B5LmMg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc3RwbmNweS5j Ci0tLSBsaWJpYmVydHkvc3RwbmNweS5jCTIwMTctMTItMDggMTA6MTk6MDcu MTE4MDU1MTc3ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50 L2xpYmliZXJ0eS9zdHBuY3B5LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42NzY2 NDgxNzkgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBJbXBsZW1lbnQgdGhl IHN0cG5jcHkgZnVuY3Rpb24uCi0gICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAx NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdo dCAoQykgMjAwMy0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogICAgV3JpdHRlbiBieSBLYXZlaCBSLiBHaGF6aSA8Z2hhemlAY2FpcC5y dXRnZXJzLmVkdT4uCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJp YmVydHkgbGlicmFyeS4KZGlmZiAtcnVwIGxpYmliZXJ0eS9zdHJuZHVwLmMg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvc3RybmR1cC5j Ci0tLSBsaWJpYmVydHkvc3RybmR1cC5jCTIwMTctMTItMDggMTA6MTk6MDcu MTIxMDU1MTM5ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50 L2xpYmliZXJ0eS9zdHJuZHVwLmMJMjAxOC0wMS0wNCAwODowNjo1Ni45Mzk2 NTU5NTAgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBJbXBsZW1lbnQgdGhl IHN0cm5kdXAgZnVuY3Rpb24uCi0gICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAx NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdo dCAoQykgMjAwNS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogICAgV3JpdHRlbiBieSBLYXZlaCBSLiBHaGF6aSA8Z2hhemlAY2FpcC5y dXRnZXJzLmVkdT4uCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJp YmVydHkgbGlicmFyeS4KZGlmZiAtcnVwIGxpYmliZXJ0eS9zdHJ0b2QuYyAv d29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS9zdHJ0b2QuYwot LS0gbGliaWJlcnR5L3N0cnRvZC5jCTIwMTctMTItMDggMTA6MTk6MDcuMTIz MDU1MTE0ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xp YmliZXJ0eS9zdHJ0b2QuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4MDY0ODEz NyArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIEltcGxlbWVudGF0aW9uIG9m IHN0cnRvZCBmb3Igc3lzdGVtcyB3aXRoIGF0b2YuCi0gICBDb3B5cmlnaHQg KEMpIDE5OTEtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIENvcHlyaWdodCAoQykgMTk5MS0yMDE4IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGli aWJlcnR5IGxpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMgZnJlZQogc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQg dW5kZXIgdGhlCmRpZmYgLXJ1cCBsaWJpYmVydHkvc3RydmVyc2NtcC5jIC93 b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3N0cnZlcnNjbXAu YwotLS0gbGliaWJlcnR5L3N0cnZlcnNjbXAuYwkyMDE3LTEyLTA4IDEwOjE5 OjA3LjEyNDA1NTEwMiArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3Vy cmVudC9saWJpYmVydHkvc3RydmVyc2NtcC5jCTIwMTgtMDEtMDQgMDg6MDY6 NTcuNjYyNjQ4MzI3ICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyogQ29tcGFy ZSBzdHJpbmdzIHdoaWxlIHRyZWF0aW5nIGRpZ2l0cyBjaGFyYWN0ZXJzIG51 bWVyaWNhbGx5LgotICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTcgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDE5 OTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KICAg IENvbnRyaWJ1dGVkIGJ5IEplYW4tRnJhbudvaXMgQmlnbm9sbGVzIDxiaWdu b2xsZUBlY29sZWRvYy5pYnAuZnI+LCAxOTk3LgogCmRpZmYgLXJ1cCBsaWJp YmVydHkvdGVzdHN1aXRlL2RlbWFuZ2xlLWV4cGVjdGVkIC93b3JrL3NvdXJj ZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Rlc3RzdWl0ZS9kZW1hbmdsZS1l eHBlY3RlZAotLS0gbGliaWJlcnR5L3Rlc3RzdWl0ZS9kZW1hbmdsZS1leHBl Y3RlZAkyMDE3LTEyLTA4IDE3OjA0OjM2LjgxMjMyMzU3OCArMDAwMAorKysg L3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvdGVzdHN1aXRl L2RlbWFuZ2xlLWV4cGVjdGVkCTIwMTctMDktMjYgMDg6MDg6MDguNDg3ODc4 MTA0ICswMTAwCkBAIC0zODE3LDE0ICszODE3LDE0IEBAIEM6OmY8aW50Pgog IyBBbm90aGVyIGNhc2Ugd2hlcmUgd2UgZ290IG1lbWJlciBmdW5jdGlvbiBx dWFsaWZpZXJzIHdyb25nLgogLS1mb3JtYXQ9Z251LXYzIC0tbm8tcGFyYW1z CiBfWlozQkJkSTNGb29FdnZFTkszRm9iM0ZhYkV2Ci12b2lkIEJCZDxGb28+ KCk6OkZvYjo6RmFiKCkgY29uc3QKLXZvaWQgQkJkPEZvbz4oKTo6Rm9iOjpG YWIKK0JCZDxGb28+KCk6OkZvYjo6RmFiKCkgY29uc3QKK0JCZDxGb28+KCk6 OkZvYjo6RmFiCiAjCiAjIFRoZSBzYW1lIGlkZWEgb25lIGxldmVsIGRlZXBl ci4KIC0tZm9ybWF0PWdudS12MyAtLW5vLXBhcmFtcwogX1paWjNCQmRJM0Zv b0V2dkVOSzNGb2IzRmFiRXZFTkszR29iM0dhYkV2Ci12b2lkIEJCZDxGb28+ KCk6OkZvYjo6RmFiKCkgY29uc3Q6OkdvYjo6R2FiKCkgY29uc3QKLXZvaWQg QkJkPEZvbz4oKTo6Rm9iOjpGYWIoKSBjb25zdDo6R29iOjpHYWIKK0JCZDxG b28+KCk6OkZvYjo6RmFiKCkgY29uc3Q6OkdvYjo6R2FiKCkgY29uc3QKK0JC ZDxGb28+KCk6OkZvYjo6RmFiKCkgY29uc3Q6OkdvYjo6R2FiCiAjCiAjIFll dCBhbm90aGVyIG1lbWJlciBmdW5jdGlvbiBxdWFsaWZpZXIgcHJvYmxlbS4K IC0tZm9ybWF0PWdudS12MyAtLW5vLXBhcmFtcwpAQCAtNDQ0NSw3ICs0NDQ1 LDcgQEAgdm9pZCBmPGludD4oKQogIyBodHRwczovL3NvdXJjZXdhcmUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDk2MyNjMwogLS1mb3JtYXQ9 Z251LXYzCiBfWlN0N2ZvcndhcmRJUk4xeDE0cmVmb2JqaXRlcmF0b3JJTlMw XzNyZWZJTlMwXzRtaW1lMzBtdWx0aXBhcnRfc2VjdGlvbl9wcm9jZXNzb3JP YmpJWjE1Z2V0X2JvZHlfcGFyc2VySVpaTjE0bWltZV9wcm9jZXNzb3IyMW1h a2Vfc2VjdGlvbl9pdGVyYXRvckVSS05TMl9JTlMzXzEwc2VjdGlvbk9iakVO UzBfMTBwdHJyZWZCYXNlRUVFYkVOS1VsdkVfY2xFdkVVbFNCX2JFX1paTlM2 XzIxbWFrZV9zZWN0aW9uX2l0ZXJhdG9yRVNCX2JFTktTQ19jbEV2RVVsU0Jf RTBfRU5TMV9JTlMyX0lOUzBfMjBvdXRwdXRyZWZpdGVyYXRvck9iaklpRUVT OF9FRUVFUktTc1NCX09UX09UMF9FVWxtRV9OUzNfMzJtYWtlX211bHRpcGFy dF9kZWZhdWx0X2Rpc2NhcmRlcklTUF9FRUVFUzhfRUVFRUVPVF9STlN0MTZy ZW1vdmVfcmVmZXJlbmNlSVNXX0U0dHlwZUUKLXg6OnJlZm9iaml0ZXJhdG9y PHg6OnJlZjx4OjptaW1lOjptdWx0aXBhcnRfc2VjdGlvbl9wcm9jZXNzb3JP Ymo8eDo6cmVmb2JqaXRlcmF0b3I8eDo6cmVmPHg6Om91dHB1dHJlZml0ZXJh dG9yT2JqPGludD4sIHg6OnB0cnJlZkJhc2U+ID4gZ2V0X2JvZHlfcGFyc2Vy PG1pbWVfcHJvY2Vzc29yOjptYWtlX3NlY3Rpb25faXRlcmF0b3IoeDo6cmVm PHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+IGNvbnN0Jiwg Ym9vbCk6OntsYW1iZGEoKSMxfTo6b3BlcmF0b3IoKSgpIGNvbnN0Ojp7bGFt YmRhKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNl PiBjb25zdCYsIGJvb2wpIzF9LCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0 aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4Ojpw dHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9wZXJh dG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2VjdGlv bk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmKSMyfT4oc3RkOjpzdHJpbmcg Y29uc3QmLCB4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVm QmFzZT4gY29uc3QmLCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0 ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZC YXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9wZXJhdG9yKCko KSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwg eDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKSMxfSYmLCBtaW1lX3Byb2Nl c3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpz ZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFt YmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8 eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmKSMy fSYmKTo6e2xhbWJkYSh1bnNpZ25lZCBsb25nKSMxfSwgeDo6bWltZTo6bWFr ZV9tdWx0aXBhcnRfZGVmYXVsdF9kaXNjYXJkZXI8bWltZV9wcm9jZXNzb3I6 Om1ha2Vfc2VjdGlvbl9pdGVyYXRvcih4OjpyZWY8eDo6bWltZTo6c2VjdGlv bk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKTo6e2xhbWJkYSgp IzF9OjpvcGVyYXRvcigpKCkgY29uc3Q6OntsYW1iZGEoeDo6cmVmPHg6Om1p bWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+IGNvbnN0JiwgYm9vbCkj MX0mJj4gPiwgeDo6cHRycmVmQmFzZT4gPiYgc3RkOjpmb3J3YXJkPHg6OnJl Zm9iaml0ZXJhdG9yPHg6OnJlZjx4OjptaW1lOjptdWx0aXBhcnRfc2VjdGlv bl9wcm9jZXNzb3JPYmo8eDo6cmVmb2JqaXRlcmF0b3I8eDo6cmVmPHg6Om91 dHB1dHJlZml0ZXJhdG9yT2JqPGludD4sIHg6OnB0cnJlZkJhc2U+ID4gZ2V0 X2JvZHlfcGFyc2VyPG1pbWVfcHJvY2Vzc29yOjptYWtlX3NlY3Rpb25faXRl cmF0b3IoeDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJh c2U+IGNvbnN0JiwgYm9vbCk6OntsYW1iZGEoKSMxfTo6b3BlcmF0b3IoKSgp IGNvbnN0Ojp7bGFtYmRhKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4 OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpIzF9LCBtaW1lX3Byb2Nlc3Nv cjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0 aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRh KCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6 bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmKSMyfT4o c3RkOjpzdHJpbmcgY29uc3QmLCB4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9i aiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBtaW1lX3Byb2Nlc3Nvcjo6bWFr ZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2Jq LCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06 Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6 c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKSMxfSYm LCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJl Zjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYs IGJvb2wpOjp7bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xh bWJkYSh4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFz ZT4gY29uc3QmKSMyfSYmKTo6e2xhbWJkYSh1bnNpZ25lZCBsb25nKSMxfSwg eDo6bWltZTo6bWFrZV9tdWx0aXBhcnRfZGVmYXVsdF9kaXNjYXJkZXI8bWlt ZV9wcm9jZXNzb3I6Om1ha2Vfc2VjdGlvbl9pdGVyYXRvcih4OjpyZWY8eDo6 bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29s KTo6e2xhbWJkYSgpIzF9OjpvcGVyYXRvcigpKCkgY29uc3Q6OntsYW1iZGEo eDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+IGNv bnN0JiwgYm9vbCkjMX0mJj4gPiwgeDo6cHRycmVmQmFzZT4gPiY+KHN0ZDo6 cmVtb3ZlX3JlZmVyZW5jZTx4OjptaW1lOjptdWx0aXBhcnRfc2VjdGlvbl9w cm9jZXNzb3JPYmo8eDo6cmVmb2JqaXRlcmF0b3I8eDo6cmVmPHg6Om91dHB1 dHJlZml0ZXJhdG9yT2JqPGludD4sIHg6OnB0cnJlZkJhc2U+ID4gZ2V0X2Jv ZHlfcGFyc2VyPG1pbWVfcHJvY2Vzc29yOjptYWtlX3NlY3Rpb25faXRlcmF0 b3IoeDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+ IGNvbnN0JiwgYm9vbCk6OntsYW1iZGEoKSMxfTo6b3BlcmF0b3IoKSgpIGNv bnN0Ojp7bGFtYmRhKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4Ojpw dHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpIzF9LCBtaW1lX3Byb2Nlc3Nvcjo6 bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9u T2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkj MX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWlt ZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmKSMyfT4oc3Rk OjpzdHJpbmcgY29uc3QmLCB4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwg eDo6cHRycmVmQmFzZT4gY29uc3QmLCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9z ZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4 OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9w ZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2Vj dGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKSMxfSYmLCBt aW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4 OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJv b2wpOjp7bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJk YSh4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4g Y29uc3QmKSMyfSYmKTo6e2xhbWJkYSh1bnNpZ25lZCBsb25nKSMxfSwgeDo6 bWltZTo6bWFrZV9tdWx0aXBhcnRfZGVmYXVsdF9kaXNjYXJkZXI8bWltZV9w cm9jZXNzb3I6Om1ha2Vfc2VjdGlvbl9pdGVyYXRvcih4OjpyZWY8eDo6bWlt ZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKTo6 e2xhbWJkYSgpIzF9OjpvcGVyYXRvcigpKCkgY29uc3Q6OntsYW1iZGEoeDo6 cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+IGNvbnN0 JiwgYm9vbCkjMX0mJj4gPiA+Ojp0eXBlJikKK3g6OnJlZm9iaml0ZXJhdG9y PHg6OnJlZjx4OjptaW1lOjptdWx0aXBhcnRfc2VjdGlvbl9wcm9jZXNzb3JP Ymo8Z2V0X2JvZHlfcGFyc2VyPG1pbWVfcHJvY2Vzc29yOjptYWtlX3NlY3Rp b25faXRlcmF0b3IoeDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0 cnJlZkJhc2U+IGNvbnN0JiwgYm9vbCk6OntsYW1iZGEoKSMxfTo6b3BlcmF0 b3IoKSgpIGNvbnN0Ojp7bGFtYmRhKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9u T2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpIzF9LCBtaW1lX3By b2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1l OjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7 bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4Ojpy ZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3Qm KSMyfT4oc3RkOjpzdHJpbmcgY29uc3QmLCB4OjpyZWY8eDo6bWltZTo6c2Vj dGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBtaW1lX3Byb2Nlc3Nv cjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0 aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRh KCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6 bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29s KSMxfSYmLCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9y KHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBj b25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25z dDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRy cmVmQmFzZT4gY29uc3QmKSMyfSYmKTo6e2xhbWJkYSh1bnNpZ25lZCBsb25n KSMxfSwgeDo6bWltZTo6bWFrZV9tdWx0aXBhcnRfZGVmYXVsdF9kaXNjYXJk ZXI8bWltZV9wcm9jZXNzb3I6Om1ha2Vfc2VjdGlvbl9pdGVyYXRvcih4Ojpy ZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3Qm LCBib29sKTo6e2xhbWJkYSgpIzF9OjpvcGVyYXRvcigpKCkgY29uc3Q6Onts YW1iZGEoeDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJh c2U+IGNvbnN0JiwgYm9vbCkjMX0mJj4gPiwgeDo6cHRycmVmQmFzZT4gPiYg c3RkOjpmb3J3YXJkPHg6OnJlZm9iaml0ZXJhdG9yPHg6OnJlZjx4OjptaW1l OjptdWx0aXBhcnRfc2VjdGlvbl9wcm9jZXNzb3JPYmo8Z2V0X2JvZHlfcGFy c2VyPG1pbWVfcHJvY2Vzc29yOjptYWtlX3NlY3Rpb25faXRlcmF0b3IoeDo6 cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+IGNvbnN0 JiwgYm9vbCk6OntsYW1iZGEoKSMxfTo6b3BlcmF0b3IoKSgpIGNvbnN0Ojp7 bGFtYmRhKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZC YXNlPiBjb25zdCYsIGJvb2wpIzF9LCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9z ZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4 OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9w ZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2Vj dGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmKSMyfT4oc3RkOjpzdHJp bmcgY29uc3QmLCB4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRy cmVmQmFzZT4gY29uc3QmLCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0aW9u X2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJy ZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9wZXJhdG9y KCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9i aiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKSMxfSYmLCBtaW1lX3By b2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1l OjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7 bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4Ojpy ZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3Qm KSMyfSYmKTo6e2xhbWJkYSh1bnNpZ25lZCBsb25nKSMxfSwgeDo6bWltZTo6 bWFrZV9tdWx0aXBhcnRfZGVmYXVsdF9kaXNjYXJkZXI8bWltZV9wcm9jZXNz b3I6Om1ha2Vfc2VjdGlvbl9pdGVyYXRvcih4OjpyZWY8eDo6bWltZTo6c2Vj dGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29sKTo6e2xhbWJk YSgpIzF9OjpvcGVyYXRvcigpKCkgY29uc3Q6OntsYW1iZGEoeDo6cmVmPHg6 Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJhc2U+IGNvbnN0JiwgYm9v bCkjMX0mJj4gPiwgeDo6cHRycmVmQmFzZT4gPiY+KHN0ZDo6cmVtb3ZlX3Jl ZmVyZW5jZTx4OjptaW1lOjptdWx0aXBhcnRfc2VjdGlvbl9wcm9jZXNzb3JP Ymo8Z2V0X2JvZHlfcGFyc2VyPG1pbWVfcHJvY2Vzc29yOjptYWtlX3NlY3Rp b25faXRlcmF0b3IoeDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0 cnJlZkJhc2U+IGNvbnN0JiwgYm9vbCk6OntsYW1iZGEoKSMxfTo6b3BlcmF0 b3IoKSgpIGNvbnN0Ojp7bGFtYmRhKHg6OnJlZjx4OjptaW1lOjpzZWN0aW9u T2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpIzF9LCBtaW1lX3By b2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1l OjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7 bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4Ojpy ZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3Qm KSMyfT4oc3RkOjpzdHJpbmcgY29uc3QmLCB4OjpyZWY8eDo6bWltZTo6c2Vj dGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBtaW1lX3Byb2Nlc3Nv cjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9yKHg6OnJlZjx4OjptaW1lOjpzZWN0 aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBjb25zdCYsIGJvb2wpOjp7bGFtYmRh KCkjMX06Om9wZXJhdG9yKCkoKSBjb25zdDo6e2xhbWJkYSh4OjpyZWY8eDo6 bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3QmLCBib29s KSMxfSYmLCBtaW1lX3Byb2Nlc3Nvcjo6bWFrZV9zZWN0aW9uX2l0ZXJhdG9y KHg6OnJlZjx4OjptaW1lOjpzZWN0aW9uT2JqLCB4OjpwdHJyZWZCYXNlPiBj b25zdCYsIGJvb2wpOjp7bGFtYmRhKCkjMX06Om9wZXJhdG9yKCkoKSBjb25z dDo6e2xhbWJkYSh4OjpyZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRy cmVmQmFzZT4gY29uc3QmKSMyfSYmKTo6e2xhbWJkYSh1bnNpZ25lZCBsb25n KSMxfSwgeDo6bWltZTo6bWFrZV9tdWx0aXBhcnRfZGVmYXVsdF9kaXNjYXJk ZXI8bWltZV9wcm9jZXNzb3I6Om1ha2Vfc2VjdGlvbl9pdGVyYXRvcih4Ojpy ZWY8eDo6bWltZTo6c2VjdGlvbk9iaiwgeDo6cHRycmVmQmFzZT4gY29uc3Qm LCBib29sKTo6e2xhbWJkYSgpIzF9OjpvcGVyYXRvcigpKCkgY29uc3Q6Onts YW1iZGEoeDo6cmVmPHg6Om1pbWU6OnNlY3Rpb25PYmosIHg6OnB0cnJlZkJh c2U+IGNvbnN0JiwgYm9vbCkjMX0mJj4gPiA+Ojp0eXBlJikKICMKIC0tZm9y bWF0PWdudS12MyAtLW5vLXBhcmFtcwogX1pOSzdzdHJpbmdzOGludGVybmFs OFNwbGl0dGVySU5TXzlkZWxpbWl0ZXI1QW55T2ZFTlNfOVNraXBFbXB0eUVF Y3ZUX0lTdDZ2ZWN0b3JJMTJiYXNpY19zdHJpbmdJY1N0MTFjaGFyX3RyYWl0 c0ljRVNhSWNFRVNhSVNEX0VFdkVFdgpAQCAtNDQ2OSwyOCArNDQ2OSwyOCBA QCBBOjpvcGVyYXRvciBDPGludD48Qz4KICMgaHR0cHM6Ly9zb3VyY2V3YXJl Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NjMjYzE2CiAtLWZv cm1hdD1nbnUtdjMKIF9aTjNtZHIxNmluX2NhY2hlZF90aHJlYWRJUlpOSzRj dWRyNkdQVVNldDE3cGFyYWxsZWxfZm9yX2VhY2hJWk41dG5zM2QyMHNoYXBl X3JlcHJlc2VudGF0aW9uN2NvbXB1dGU3R1BVSW1wbDdleGVjdXRlRVJLTlNf MUFJTlNfN3B0cl9yZWZJS2pFRUxsM0VMbDNFTlNfOGNfc3RyaWRlSUxsMUVM bDBFRUVFRVJLTlM4X0lOUzlfSWpFRUxsNEVMbDFFU0RfRUVFVWxpUktOUzFf N0NvbnRleHRFUk5TN181U3RhdGVFRV9KU3Q2dmVjdG9ySVNPX1NhSVNPX0VF RUVFdk9UX0RwUlQwX0VVbFNQX0VfSlN0MTdyZWZlcmVuY2Vfd3JhcHBlcklT T19FRUVFTlNfMTJTY29wZWRGdXR1cmVJRFRjbGZwX3NwY2w3Zm9yd2FyZElT V19FZnAwX0VFRUVFU1ZfRHBPU1dfCi1tZHI6OlNjb3BlZEZ1dHVyZTxkZWNs dHlwZSAoe3Bhcm0jMX0oKChmb3J3YXJkPHZvaWQgY3Vkcjo6R1BVU2V0Ojpw YXJhbGxlbF9mb3JfZWFjaDx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246 OmNvbXB1dGU6OkdQVUltcGw6OmV4ZWN1dGUobWRyOjpBPG1kcjo6cHRyX3Jl Zjx1bnNpZ25lZCBpbnQgY29uc3Q+LCAzbCwgM2wsIG1kcjo6Y19zdHJpZGU8 MWwsIDBsPiA+IGNvbnN0JiwgbWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25l ZCBpbnQ+LCA0bCwgMWwsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNvbnN0 Jik6OntsYW1iZGEoaW50LCBjdWRyOjpDb250ZXh0IGNvbnN0JiwgdG5zM2Q6 OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0 ZSYpIzF9LCBzdGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRp b246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0 bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6 OlN0YXRlPiA+ID4odG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21w dXRlOjpHUFVJbXBsOjpleGVjdXRlKG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5z aWduZWQgaW50IGNvbnN0PiwgM2wsIDNsLCBtZHI6OmNfc3RyaWRlPDFsLCAw bD4gPiBjb25zdCYsIG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50 PiwgNGwsIDFsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYpOjp7 bGFtYmRhKGludCwgY3Vkcjo6Q29udGV4dCBjb25zdCYsIHRuczNkOjpzaGFw ZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUmKSMx fSYmLCBzdGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246 OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMz ZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0 YXRlPiA+JikgY29uc3Q6OntsYW1iZGEodG5zM2Q6OnNoYXBlX3JlcHJlc2Vu dGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9Jj4pKHtwYXJt IzJ9KSkuLi4pKT4gbWRyOjppbl9jYWNoZWRfdGhyZWFkPHZvaWQgY3Vkcjo6 R1BVU2V0OjpwYXJhbGxlbF9mb3JfZWFjaDx0bnMzZDo6c2hhcGVfcmVwcmVz ZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OmV4ZWN1dGUobWRyOjpBPG1k cjo6cHRyX3JlZjx1bnNpZ25lZCBpbnQgY29uc3Q+LCAzbCwgM2wsIG1kcjo6 Y19zdHJpZGU8MWwsIDBsPiA+IGNvbnN0JiwgbWRyOjpBPG1kcjo6cHRyX3Jl Zjx1bnNpZ25lZCBpbnQ+LCA0bCwgMWwsIG1kcjo6Y19zdHJpZGU8MWwsIDBs PiA+IGNvbnN0Jik6OntsYW1iZGEoaW50LCBjdWRyOjpDb250ZXh0IGNvbnN0 JiwgdG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJ bXBsOjpTdGF0ZSYpIzF9LCBzdGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVw cmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFs bG9jYXRvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6 OkdQVUltcGw6OlN0YXRlPiA+ID4odm9pZCBjdWRyOjpHUFVTZXQ6OnBhcmFs bGVsX2Zvcl9lYWNoPHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29t cHV0ZTo6R1BVSW1wbDo6ZXhlY3V0ZShtZHI6OkE8bWRyOjpwdHJfcmVmPHVu c2lnbmVkIGludCBjb25zdD4sIDNsLCAzbCwgbWRyOjpjX3N0cmlkZTwxbCwg MGw+ID4gY29uc3QmLCBtZHI6OkE8bWRyOjpwdHJfcmVmPHVuc2lnbmVkIGlu dD4sIDRsLCAxbCwgbWRyOjpjX3N0cmlkZTwxbCwgMGw+ID4gY29uc3QmKTo6 e2xhbWJkYShpbnQsIGN1ZHI6OkNvbnRleHQgY29uc3QmLCB0bnMzZDo6c2hh cGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlJikj MX0sIHN0ZDo6dmVjdG9yPHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6 Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUsIHN0ZDo6YWxsb2NhdG9yPHRuczNk OjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3Rh dGU+ID4gPih0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6 OkdQVUltcGw6OmV4ZWN1dGUobWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25l ZCBpbnQgY29uc3Q+LCAzbCwgM2wsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+ IGNvbnN0JiwgbWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25lZCBpbnQ+LCA0 bCwgMWwsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNvbnN0Jik6OntsYW1i ZGEoaW50LCBjdWRyOjpDb250ZXh0IGNvbnN0JiwgdG5zM2Q6OnNoYXBlX3Jl cHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9JiYs IHN0ZDo6dmVjdG9yPHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29t cHV0ZTo6R1BVSW1wbDo6U3RhdGUsIHN0ZDo6YWxsb2NhdG9yPHRuczNkOjpz aGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGU+ ID4mKSBjb25zdDo6e2xhbWJkYSh0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRp b246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlJikjMX0mLCBzdGQ6OnZlY3Rv cjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUlt cGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6c2hhcGVfcmVwcmVz ZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlPiA+JikgY29uc3Q6 OntsYW1iZGEodG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRl OjpHUFVJbXBsOjpTdGF0ZSYpIzF9Jiwgc3RkOjpyZWZlcmVuY2Vfd3JhcHBl cjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUlt cGw6OlN0YXRlPiA+KHZvaWQgY3Vkcjo6R1BVU2V0OjpwYXJhbGxlbF9mb3Jf ZWFjaDx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQ VUltcGw6OmV4ZWN1dGUobWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25lZCBp bnQgY29uc3Q+LCAzbCwgM2wsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNv bnN0JiwgbWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25lZCBpbnQ+LCA0bCwg MWwsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNvbnN0Jik6OntsYW1iZGEo aW50LCBjdWRyOjpDb250ZXh0IGNvbnN0JiwgdG5zM2Q6OnNoYXBlX3JlcHJl c2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9LCBzdGQ6 OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6 OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6c2hhcGVf cmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlPiA+ID4o dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBs OjpleGVjdXRlKG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50IGNv bnN0PiwgM2wsIDNsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYs IG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50PiwgNGwsIDFsLCBt ZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYpOjp7bGFtYmRhKGludCwg Y3Vkcjo6Q29udGV4dCBjb25zdCYsIHRuczNkOjpzaGFwZV9yZXByZXNlbnRh dGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUmKSMxfSYmLCBzdGQ6OnZl Y3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQ VUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6c2hhcGVfcmVw cmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlPiA+JikgY29u c3Q6OntsYW1iZGEodG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21w dXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9JiwgKHZvaWQgY3Vkcjo6R1BVU2V0 OjpwYXJhbGxlbF9mb3JfZWFjaDx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRp b246OmNvbXB1dGU6OkdQVUltcGw6OmV4ZWN1dGUobWRyOjpBPG1kcjo6cHRy X3JlZjx1bnNpZ25lZCBpbnQgY29uc3Q+LCAzbCwgM2wsIG1kcjo6Y19zdHJp ZGU8MWwsIDBsPiA+IGNvbnN0JiwgbWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNp Z25lZCBpbnQ+LCA0bCwgMWwsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNv bnN0Jik6OntsYW1iZGEoaW50LCBjdWRyOjpDb250ZXh0IGNvbnN0JiwgdG5z M2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpT dGF0ZSYpIzF9LCBzdGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50 YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRv cjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUlt cGw6OlN0YXRlPiA+ID4odG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpj b21wdXRlOjpHUFVJbXBsOjpleGVjdXRlKG1kcjo6QTxtZHI6OnB0cl9yZWY8 dW5zaWduZWQgaW50IGNvbnN0PiwgM2wsIDNsLCBtZHI6OmNfc3RyaWRlPDFs LCAwbD4gPiBjb25zdCYsIG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQg aW50PiwgNGwsIDFsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYp Ojp7bGFtYmRhKGludCwgY3Vkcjo6Q29udGV4dCBjb25zdCYsIHRuczNkOjpz aGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUm KSMxfSYmLCBzdGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRp b246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0 bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6 OlN0YXRlPiA+JikgY29uc3Q6OntsYW1iZGEodG5zM2Q6OnNoYXBlX3JlcHJl c2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9JiYmKS4u LikKK21kcjo6U2NvcGVkRnV0dXJlPGRlY2x0eXBlICh7cGFybSMxfSgoKGZv cndhcmQ8Y3Vkcjo6R1BVU2V0OjpwYXJhbGxlbF9mb3JfZWFjaDx0bnMzZDo6 c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OmV4ZWN1 dGUobWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25lZCBpbnQgY29uc3Q+LCAz bCwgM2wsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNvbnN0JiwgbWRyOjpB PG1kcjo6cHRyX3JlZjx1bnNpZ25lZCBpbnQ+LCA0bCwgMWwsIG1kcjo6Y19z dHJpZGU8MWwsIDBsPiA+IGNvbnN0Jik6OntsYW1iZGEoaW50LCBjdWRyOjpD b250ZXh0IGNvbnN0JiwgdG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpj b21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9LCBzdGQ6OnZlY3Rvcjx0bnMz ZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0 YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRp b246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlPiA+ID4odG5zM2Q6OnNoYXBl X3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpleGVjdXRlKG1k cjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50IGNvbnN0PiwgM2wsIDNs LCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYsIG1kcjo6QTxtZHI6 OnB0cl9yZWY8dW5zaWduZWQgaW50PiwgNGwsIDFsLCBtZHI6OmNfc3RyaWRl PDFsLCAwbD4gPiBjb25zdCYpOjp7bGFtYmRhKGludCwgY3Vkcjo6Q29udGV4 dCBjb25zdCYsIHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0 ZTo6R1BVSW1wbDo6U3RhdGUmKSMxfSYmLCBzdGQ6OnZlY3Rvcjx0bnMzZDo6 c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRl LCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246 OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlPiA+JikgY29uc3Q6OntsYW1iZGEo dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBs OjpTdGF0ZSYpIzF9Jj4pKHtwYXJtIzJ9KSkuLi4pKT4gbWRyOjppbl9jYWNo ZWRfdGhyZWFkPGN1ZHI6OkdQVVNldDo6cGFyYWxsZWxfZm9yX2VhY2g8dG5z M2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpl eGVjdXRlKG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50IGNvbnN0 PiwgM2wsIDNsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYsIG1k cjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50PiwgNGwsIDFsLCBtZHI6 OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYpOjp7bGFtYmRhKGludCwgY3Vk cjo6Q29udGV4dCBjb25zdCYsIHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlv bjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUmKSMxfSwgc3RkOjp2ZWN0b3I8 dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBs OjpTdGF0ZSwgc3RkOjphbGxvY2F0b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2Vu dGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZT4gPiA+KGN1ZHI6OkdQ VVNldDo6cGFyYWxsZWxfZm9yX2VhY2g8dG5zM2Q6OnNoYXBlX3JlcHJlc2Vu dGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpleGVjdXRlKG1kcjo6QTxtZHI6 OnB0cl9yZWY8dW5zaWduZWQgaW50IGNvbnN0PiwgM2wsIDNsLCBtZHI6OmNf c3RyaWRlPDFsLCAwbD4gPiBjb25zdCYsIG1kcjo6QTxtZHI6OnB0cl9yZWY8 dW5zaWduZWQgaW50PiwgNGwsIDFsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4g PiBjb25zdCYpOjp7bGFtYmRhKGludCwgY3Vkcjo6Q29udGV4dCBjb25zdCYs IHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1w bDo6U3RhdGUmKSMxfSwgc3RkOjp2ZWN0b3I8dG5zM2Q6OnNoYXBlX3JlcHJl c2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSwgc3RkOjphbGxv Y2F0b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpH UFVJbXBsOjpTdGF0ZT4gPiA+KHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlv bjo6Y29tcHV0ZTo6R1BVSW1wbDo6ZXhlY3V0ZShtZHI6OkE8bWRyOjpwdHJf cmVmPHVuc2lnbmVkIGludCBjb25zdD4sIDNsLCAzbCwgbWRyOjpjX3N0cmlk ZTwxbCwgMGw+ID4gY29uc3QmLCBtZHI6OkE8bWRyOjpwdHJfcmVmPHVuc2ln bmVkIGludD4sIDRsLCAxbCwgbWRyOjpjX3N0cmlkZTwxbCwgMGw+ID4gY29u c3QmKTo6e2xhbWJkYShpbnQsIGN1ZHI6OkNvbnRleHQgY29uc3QmLCB0bnMz ZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0 YXRlJikjMX0mJiwgc3RkOjp2ZWN0b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2Vu dGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSwgc3RkOjphbGxvY2F0 b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJ bXBsOjpTdGF0ZT4gPiYpIGNvbnN0Ojp7bGFtYmRhKHRuczNkOjpzaGFwZV9y ZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUmKSMxfSYs IHN0ZDo6dmVjdG9yPHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29t cHV0ZTo6R1BVSW1wbDo6U3RhdGUsIHN0ZDo6YWxsb2NhdG9yPHRuczNkOjpz aGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGU+ ID4mKSBjb25zdDo6e2xhbWJkYSh0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRp b246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlJikjMX0mLCBzdGQ6OnJlZmVy ZW5jZV93cmFwcGVyPHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29t cHV0ZTo6R1BVSW1wbDo6U3RhdGU+ID4oY3Vkcjo6R1BVU2V0OjpwYXJhbGxl bF9mb3JfZWFjaDx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1 dGU6OkdQVUltcGw6OmV4ZWN1dGUobWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNp Z25lZCBpbnQgY29uc3Q+LCAzbCwgM2wsIG1kcjo6Y19zdHJpZGU8MWwsIDBs PiA+IGNvbnN0JiwgbWRyOjpBPG1kcjo6cHRyX3JlZjx1bnNpZ25lZCBpbnQ+ LCA0bCwgMWwsIG1kcjo6Y19zdHJpZGU8MWwsIDBsPiA+IGNvbnN0Jik6Onts YW1iZGEoaW50LCBjdWRyOjpDb250ZXh0IGNvbnN0JiwgdG5zM2Q6OnNoYXBl X3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9 LCBzdGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNv bXB1dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6 c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRl PiA+ID4odG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpH UFVJbXBsOjpleGVjdXRlKG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQg aW50IGNvbnN0PiwgM2wsIDNsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBj b25zdCYsIG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5zaWduZWQgaW50PiwgNGws IDFsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBjb25zdCYpOjp7bGFtYmRh KGludCwgY3Vkcjo6Q29udGV4dCBjb25zdCYsIHRuczNkOjpzaGFwZV9yZXBy ZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUmKSMxfSYmLCBz dGQ6OnZlY3Rvcjx0bnMzZDo6c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1 dGU6OkdQVUltcGw6OlN0YXRlLCBzdGQ6OmFsbG9jYXRvcjx0bnMzZDo6c2hh cGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRlPiA+ JikgY29uc3Q6OntsYW1iZGEodG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9u Ojpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSYpIzF9JiwgKGN1ZHI6OkdQVVNl dDo6cGFyYWxsZWxfZm9yX2VhY2g8dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0 aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpleGVjdXRlKG1kcjo6QTxtZHI6OnB0 cl9yZWY8dW5zaWduZWQgaW50IGNvbnN0PiwgM2wsIDNsLCBtZHI6OmNfc3Ry aWRlPDFsLCAwbD4gPiBjb25zdCYsIG1kcjo6QTxtZHI6OnB0cl9yZWY8dW5z aWduZWQgaW50PiwgNGwsIDFsLCBtZHI6OmNfc3RyaWRlPDFsLCAwbD4gPiBj b25zdCYpOjp7bGFtYmRhKGludCwgY3Vkcjo6Q29udGV4dCBjb25zdCYsIHRu czNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6 U3RhdGUmKSMxfSwgc3RkOjp2ZWN0b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2Vu dGF0aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSwgc3RkOjphbGxvY2F0 b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJ bXBsOjpTdGF0ZT4gPiA+KHRuczNkOjpzaGFwZV9yZXByZXNlbnRhdGlvbjo6 Y29tcHV0ZTo6R1BVSW1wbDo6ZXhlY3V0ZShtZHI6OkE8bWRyOjpwdHJfcmVm PHVuc2lnbmVkIGludCBjb25zdD4sIDNsLCAzbCwgbWRyOjpjX3N0cmlkZTwx bCwgMGw+ID4gY29uc3QmLCBtZHI6OkE8bWRyOjpwdHJfcmVmPHVuc2lnbmVk IGludD4sIDRsLCAxbCwgbWRyOjpjX3N0cmlkZTwxbCwgMGw+ID4gY29uc3Qm KTo6e2xhbWJkYShpbnQsIGN1ZHI6OkNvbnRleHQgY29uc3QmLCB0bnMzZDo6 c2hhcGVfcmVwcmVzZW50YXRpb246OmNvbXB1dGU6OkdQVUltcGw6OlN0YXRl JikjMX0mJiwgc3RkOjp2ZWN0b3I8dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0 aW9uOjpjb21wdXRlOjpHUFVJbXBsOjpTdGF0ZSwgc3RkOjphbGxvY2F0b3I8 dG5zM2Q6OnNoYXBlX3JlcHJlc2VudGF0aW9uOjpjb21wdXRlOjpHUFVJbXBs OjpTdGF0ZT4gPiYpIGNvbnN0Ojp7bGFtYmRhKHRuczNkOjpzaGFwZV9yZXBy ZXNlbnRhdGlvbjo6Y29tcHV0ZTo6R1BVSW1wbDo6U3RhdGUmKSMxfSYmJiku Li4pCiAjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19i dWcuY2dpP2lkPTE0OTYzI2MxOAogLS1mb3JtYXQ9Z251LXYzCiBfWk5TdDlf QW55X2RhdGE5X01fYWNjZXNzSVBaTjEzVGhyZWFkTWFuYWdlcjEwZnV0dXJl VGFza0lTdDVfQmluZElGU3Q3X01lbV9mbklNNlJ1bm5lckZ2dkVFUFM1X0VF RUV2T1RfRVVsdkVfRUVSU0Nfdgotdm9pZCBUaHJlYWRNYW5hZ2VyOjpmdXR1 cmVUYXNrPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFJ1bm5lcjo6 KikoKT4gKFJ1bm5lciopPiA+KHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZv aWQgKFJ1bm5lcjo6KikoKT4gKFJ1bm5lciopPiYmKTo6e2xhbWJkYSgpIzF9 KiYgc3RkOjpfQW55X2RhdGE6Ol9NX2FjY2Vzczx2b2lkIFRocmVhZE1hbmFn ZXI6OmZ1dHVyZVRhc2s8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAo UnVubmVyOjoqKSgpPiAoUnVubmVyKik+ID4odm9pZCBUaHJlYWRNYW5hZ2Vy OjpmdXR1cmVUYXNrPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFJ1 bm5lcjo6KikoKT4gKFJ1bm5lciopPiA+KHN0ZDo6X0JpbmQ8c3RkOjpfTWVt X2ZuPHZvaWQgKFJ1bm5lcjo6KikoKT4gKFJ1bm5lciopPiYmKTo6e2xhbWJk YSgpIzF9KiYmKTo6e2xhbWJkYSgpIzF9Kj4oKQorVGhyZWFkTWFuYWdlcjo6 ZnV0dXJlVGFzazxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChSdW5u ZXI6OiopKCk+IChSdW5uZXIqKT4gPihzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9m bjx2b2lkIChSdW5uZXI6OiopKCk+IChSdW5uZXIqKT4mJik6OntsYW1iZGEo KSMxfSomIHN0ZDo6X0FueV9kYXRhOjpfTV9hY2Nlc3M8VGhyZWFkTWFuYWdl cjo6ZnV0dXJlVGFzazxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChS dW5uZXI6OiopKCk+IChSdW5uZXIqKT4gPihUaHJlYWRNYW5hZ2VyOjpmdXR1 cmVUYXNrPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFJ1bm5lcjo6 KikoKT4gKFJ1bm5lciopPiA+KHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZv aWQgKFJ1bm5lcjo6KikoKT4gKFJ1bm5lciopPiYmKTo6e2xhbWJkYSgpIzF9 KiYmKTo6e2xhbWJkYSgpIzF9Kj4oKQogIyBodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDk2MyNjMjQKICMgYWth IGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTE2NTkzCiAtLWZvcm1hdD1nbnUtdjMKIF9aTlN0OV9BbnlfZGF0YTlf TV9hY2Nlc3NJUFpOM3NlbDhTZWxlY3RvcjZTZXRPYmpJM0Zvb0pQS2NNUzRf RnZpRUVFRXZSVF9EcFQwX0VVbHZFX0VFU0Ffdgotdm9pZCBzZWw6OlNlbGVj dG9yOjpTZXRPYmo8Rm9vLCBjaGFyIGNvbnN0Kiwgdm9pZCAoRm9vOjoqKShp bnQpPihGb28mLCBjaGFyIGNvbnN0Kiwgdm9pZCAoRm9vOjoqKShpbnQpKTo6 e2xhbWJkYSgpIzF9KiYgc3RkOjpfQW55X2RhdGE6Ol9NX2FjY2Vzczx2b2lk IHNlbDo6U2VsZWN0b3I6OlNldE9iajxGb28sIGNoYXIgY29uc3QqLCB2b2lk IChGb286OiopKGludCk+KHZvaWQgc2VsOjpTZWxlY3Rvcjo6U2V0T2JqPEZv bywgY2hhciBjb25zdCosIHZvaWQgKEZvbzo6KikoaW50KT4oRm9vJiwgY2hh ciBjb25zdCosIHZvaWQgKEZvbzo6KikoaW50KSk6OntsYW1iZGEoKSMxfSom LCBjaGFyIGNvbnN0Kiwgdm9pZCAoRm9vOjoqKShpbnQpKTo6e2xhbWJkYSgp IzF9Kj4oKQorc2VsOjpTZWxlY3Rvcjo6U2V0T2JqPEZvbywgY2hhciBjb25z dCosIHZvaWQgKEZvbzo6KikoaW50KT4oRm9vJiwgY2hhciBjb25zdCosIHZv aWQgKEZvbzo6KikoaW50KSk6OntsYW1iZGEoKSMxfSomIHN0ZDo6X0FueV9k YXRhOjpfTV9hY2Nlc3M8c2VsOjpTZWxlY3Rvcjo6U2V0T2JqPEZvbywgY2hh ciBjb25zdCosIHZvaWQgKEZvbzo6KikoaW50KT4oc2VsOjpTZWxlY3Rvcjo6 U2V0T2JqPEZvbywgY2hhciBjb25zdCosIHZvaWQgKEZvbzo6KikoaW50KT4o Rm9vJiwgY2hhciBjb25zdCosIHZvaWQgKEZvbzo6KikoaW50KSk6OntsYW1i ZGEoKSMxfSomLCBjaGFyIGNvbnN0Kiwgdm9pZCAoRm9vOjoqKShpbnQpKTo6 e2xhbWJkYSgpIzF9Kj4oKQogIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1 Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNjc1MiNjMQogLS1mb3JtYXQ9Z251 LXYzCiBfWk5TdDlfQW55X2RhdGE5X01fYWNjZXNzSVBaTjEzVGhyZWFkTWFu YWdlcjduZXdUYXNrSVJTdDVfQmluZElGU3Q3X01lbV9mbklNNURpYXJ5Rml2 RUVQUzVfRUVJRUVFU3Q2ZnV0dXJlSU5TdDlyZXN1bHRfb2ZJRlRfRHBUMF9F RTR0eXBlRUVPU0ZfRHBPU0dfRVVsdkVfRUVSU0Zfdgotc3RkOjpmdXR1cmU8 c3RkOjpyZXN1bHRfb2Y8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48aW50IChE aWFyeTo6KikoKT4gKERpYXJ5Kik+JiAoKT46OnR5cGU+IFRocmVhZE1hbmFn ZXI6Om5ld1Rhc2s8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFy eTo6KikoKT4gKERpYXJ5Kik+Jj4oc3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48 aW50IChEaWFyeTo6KikoKT4gKERpYXJ5Kik+Jik6OntsYW1iZGEoKSMxfSom IHN0ZDo6X0FueV9kYXRhOjpfTV9hY2Nlc3M8c3RkOjpmdXR1cmU8c3RkOjpy ZXN1bHRfb2Y8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFyeTo6 KikoKT4gKERpYXJ5Kik+JiAoKT46OnR5cGU+IFRocmVhZE1hbmFnZXI6Om5l d1Rhc2s8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFyeTo6Kiko KT4gKERpYXJ5Kik+Jj4oc3RkOjpmdXR1cmU8c3RkOjpyZXN1bHRfb2Y8c3Rk OjpfQmluZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFyeTo6KikoKT4gKERpYXJ5 Kik+JiAoKT46OnR5cGU+IFRocmVhZE1hbmFnZXI6Om5ld1Rhc2s8c3RkOjpf QmluZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFyeTo6KikoKT4gKERpYXJ5Kik+ Jj4oc3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFyeTo6KikoKT4g KERpYXJ5Kik+Jik6OntsYW1iZGEoKSMxfSomJik6OntsYW1iZGEoKSMxfSo+ KCkKK1RocmVhZE1hbmFnZXI6Om5ld1Rhc2s8c3RkOjpfQmluZDxzdGQ6Ol9N ZW1fZm48aW50IChEaWFyeTo6KikoKT4gKERpYXJ5Kik+Jj4oc3RkOjpfQmlu ZDxzdGQ6Ol9NZW1fZm48aW50IChEaWFyeTo6KikoKT4gKERpYXJ5Kik+Jik6 OntsYW1iZGEoKSMxfSomIHN0ZDo6X0FueV9kYXRhOjpfTV9hY2Nlc3M8VGhy ZWFkTWFuYWdlcjo6bmV3VGFzazxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjxp bnQgKERpYXJ5OjoqKSgpPiAoRGlhcnkqKT4mPihUaHJlYWRNYW5hZ2VyOjpu ZXdUYXNrPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPGludCAoRGlhcnk6Oiop KCk+IChEaWFyeSopPiY+KHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPGludCAo RGlhcnk6OiopKCk+IChEaWFyeSopPiYpOjp7bGFtYmRhKCkjMX0qJiYpOjp7 bGFtYmRhKCkjMX0qPigpCiAjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVn emlsbGEvc2hvd19idWcuY2dpP2lkPTE2NzUyI2M2CiAtLWZvcm1hdD1nbnUt djMKIF9aTlN0OV9BbnlfZGF0YTlfTV9hY2Nlc3NJUFpONmNlcmVhbDE4cG9s eW1vcnBoaWNfZGV0YWlsMTVnZXRJbnB1dEJpbmRpbmdJTlMxXzE2SlNPTklu cHV0QXJjaGl2ZUVFRU5TMV82ZGV0YWlsMTVJbnB1dEJpbmRpbmdNYXBJVF9F MTFTZXJpYWxpemVyc0VSUzdfakVVbFB2UlN0MTB1bmlxdWVfcHRySXZOUzVf MTJFbXB0eURlbGV0ZXJJdkVFRUUwX0VFU0FfdgotY2VyZWFsOjpkZXRhaWw6 OklucHV0QmluZGluZ01hcDxjZXJlYWw6OkpTT05JbnB1dEFyY2hpdmU+OjpT ZXJpYWxpemVycyBjZXJlYWw6OnBvbHltb3JwaGljX2RldGFpbDo6Z2V0SW5w dXRCaW5kaW5nPGNlcmVhbDo6SlNPTklucHV0QXJjaGl2ZT4oY2VyZWFsOjpK U09OSW5wdXRBcmNoaXZlJiwgdW5zaWduZWQgaW50KTo6e2xhbWJkYSh2b2lk Kiwgc3RkOjp1bmlxdWVfcHRyPHZvaWQsIGNlcmVhbDo6ZGV0YWlsOjpFbXB0 eURlbGV0ZXI8dm9pZD4gPiYpIzJ9KiYgc3RkOjpfQW55X2RhdGE6Ol9NX2Fj Y2VzczxjZXJlYWw6OmRldGFpbDo6SW5wdXRCaW5kaW5nTWFwPGNlcmVhbDo6 SlNPTklucHV0QXJjaGl2ZT46OlNlcmlhbGl6ZXJzIGNlcmVhbDo6cG9seW1v cnBoaWNfZGV0YWlsOjpnZXRJbnB1dEJpbmRpbmc8Y2VyZWFsOjpKU09OSW5w dXRBcmNoaXZlPihjZXJlYWw6OmRldGFpbDo6SW5wdXRCaW5kaW5nTWFwPGNl cmVhbDo6SlNPTklucHV0QXJjaGl2ZT46OlNlcmlhbGl6ZXJzIGNlcmVhbDo6 cG9seW1vcnBoaWNfZGV0YWlsOjpnZXRJbnB1dEJpbmRpbmc8Y2VyZWFsOjpK U09OSW5wdXRBcmNoaXZlPihjZXJlYWw6OkpTT05JbnB1dEFyY2hpdmUmLCB1 bnNpZ25lZCBpbnQpOjp7bGFtYmRhKHZvaWQqLCBzdGQ6OnVuaXF1ZV9wdHI8 dm9pZCwgY2VyZWFsOjpkZXRhaWw6OkVtcHR5RGVsZXRlcjx2b2lkPiA+Jikj Mn0qJiwgdW5zaWduZWQgaW50KTo6e2xhbWJkYSh2b2lkKiwgc3RkOjp1bmlx dWVfcHRyPHZvaWQsIGNlcmVhbDo6ZGV0YWlsOjpFbXB0eURlbGV0ZXI8dm9p ZD4gPiYpIzJ9Kj4oKQorY2VyZWFsOjpwb2x5bW9ycGhpY19kZXRhaWw6Omdl dElucHV0QmluZGluZzxjZXJlYWw6OkpTT05JbnB1dEFyY2hpdmU+KGNlcmVh bDo6SlNPTklucHV0QXJjaGl2ZSYsIHVuc2lnbmVkIGludCk6OntsYW1iZGEo dm9pZCosIHN0ZDo6dW5pcXVlX3B0cjx2b2lkLCBjZXJlYWw6OmRldGFpbDo6 RW1wdHlEZWxldGVyPHZvaWQ+ID4mKSMyfSomIHN0ZDo6X0FueV9kYXRhOjpf TV9hY2Nlc3M8Y2VyZWFsOjpwb2x5bW9ycGhpY19kZXRhaWw6OmdldElucHV0 QmluZGluZzxjZXJlYWw6OkpTT05JbnB1dEFyY2hpdmU+KGNlcmVhbDo6cG9s eW1vcnBoaWNfZGV0YWlsOjpnZXRJbnB1dEJpbmRpbmc8Y2VyZWFsOjpKU09O SW5wdXRBcmNoaXZlPihjZXJlYWw6OkpTT05JbnB1dEFyY2hpdmUmLCB1bnNp Z25lZCBpbnQpOjp7bGFtYmRhKHZvaWQqLCBzdGQ6OnVuaXF1ZV9wdHI8dm9p ZCwgY2VyZWFsOjpkZXRhaWw6OkVtcHR5RGVsZXRlcjx2b2lkPiA+JikjMn0q JiwgdW5zaWduZWQgaW50KTo6e2xhbWJkYSh2b2lkKiwgc3RkOjp1bmlxdWVf cHRyPHZvaWQsIGNlcmVhbDo6ZGV0YWlsOjpFbXB0eURlbGV0ZXI8dm9pZD4g PiYpIzJ9Kj4oKQogIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxh L3Nob3dfYnVnLmNnaT9pZD0xNjg0NSNjMgogLS1mb3JtYXQ9Z251LXYzCiBf Wk5TdDlfQW55X2RhdGE5X01fYWNjZXNzSVBaNHBvc3RJU3Q4ZnVuY3Rpb25J RnZ2RUVFdk9UX0VVbHZFX0VFUlM1X3YKLXZvaWQgcG9zdDxzdGQ6OmZ1bmN0 aW9uPHZvaWQgKCk+ID4oc3RkOjpmdW5jdGlvbjx2b2lkICgpPiYmKTo6e2xh bWJkYSgpIzF9KiYgc3RkOjpfQW55X2RhdGE6Ol9NX2FjY2Vzczx2b2lkIHBv c3Q8c3RkOjpmdW5jdGlvbjx2b2lkICgpPiA+KHZvaWQgcG9zdDxzdGQ6OmZ1 bmN0aW9uPHZvaWQgKCk+ID4oc3RkOjpmdW5jdGlvbjx2b2lkICgpPiYmKTo6 e2xhbWJkYSgpIzF9KiYmKTo6e2xhbWJkYSgpIzF9Kj4oKQorcG9zdDxzdGQ6 OmZ1bmN0aW9uPHZvaWQgKCk+ID4oc3RkOjpmdW5jdGlvbjx2b2lkICgpPiYm KTo6e2xhbWJkYSgpIzF9KiYgc3RkOjpfQW55X2RhdGE6Ol9NX2FjY2Vzczxw b3N0PHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gPihwb3N0PHN0ZDo6ZnVuY3Rp b248dm9pZCAoKT4gPihzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+JiYpOjp7bGFt YmRhKCkjMX0qJiYpOjp7bGFtYmRhKCkjMX0qPigpCiAjCiAtLWZvcm1hdD1h dXRvIC0tbm8tcGFyYW1zCiBfWjN4eHhERnl1VmIKQEAgLTQ1MjUsNyArNDUy NSw3IEBAIHZvaWQgZnVuY3Rpb25fdGVtcDxpbnQ+KEE8c2l6ZW9mICgoaW50 KSgKICMKIC0tZm9ybWF0PWdudS12MwogX1o3WmlwV2l0aEk3UVN0cmluZ1Mw XzVRTGlzdFpONG9yYWw2ZGV0YWlsMTZBZGFwdENyZWF0ZVRhYmxlSTdBY2Nv dW50RUVTMF9SS05TM18xNkNhY2hlZEZpZWxkc0RhdGFFRVVsUktTMF9TQV9F X0VUMV9JRFRjbGZwMV9jdlRfX0VjdlQwX19FRUVFUktUMV9JU0NfRVJLVDFf SVNEX0VUMl8KLVFMaXN0PGRlY2x0eXBlICh7cGFybSMzfSgoUVN0cmluZyko KSwgKFFTdHJpbmcpKCkpKT4gWmlwV2l0aDxRU3RyaW5nLCBRU3RyaW5nLCBR TGlzdCwgUVN0cmluZyBvcmFsOjpkZXRhaWw6OkFkYXB0Q3JlYXRlVGFibGU8 QWNjb3VudD4ob3JhbDo6ZGV0YWlsOjpDYWNoZWRGaWVsZHNEYXRhIGNvbnN0 Jik6OntsYW1iZGEoUVN0cmluZyBjb25zdCYsIFFTdHJpbmcgY29uc3QmKSMx fT4oUUxpc3Q8UVN0cmluZyBvcmFsOjpkZXRhaWw6OkFkYXB0Q3JlYXRlVGFi bGU8QWNjb3VudD4ob3JhbDo6ZGV0YWlsOjpDYWNoZWRGaWVsZHNEYXRhIGNv bnN0Jik6OntsYW1iZGEoUVN0cmluZyBjb25zdCYsIFFTdHJpbmcgY29uc3Qm KSMxfT4gY29uc3QmLCBRTGlzdDxRTGlzdD4gY29uc3QmLCBRU3RyaW5nIG9y YWw6OmRldGFpbDo6QWRhcHRDcmVhdGVUYWJsZTxBY2NvdW50PihvcmFsOjpk ZXRhaWw6OkNhY2hlZEZpZWxkc0RhdGEgY29uc3QmKTo6e2xhbWJkYShRU3Ry aW5nIGNvbnN0JiwgUVN0cmluZyBjb25zdCYpIzF9KQorUUxpc3Q8ZGVjbHR5 cGUgKHtwYXJtIzN9KChRU3RyaW5nKSgpLCAoUVN0cmluZykoKSkpPiBaaXBX aXRoPFFTdHJpbmcsIFFTdHJpbmcsIFFMaXN0LCBvcmFsOjpkZXRhaWw6OkFk YXB0Q3JlYXRlVGFibGU8QWNjb3VudD4ob3JhbDo6ZGV0YWlsOjpDYWNoZWRG aWVsZHNEYXRhIGNvbnN0Jik6OntsYW1iZGEoUVN0cmluZyBjb25zdCYsIFFT dHJpbmcgY29uc3QmKSMxfT4oUUxpc3Q8b3JhbDo6ZGV0YWlsOjpBZGFwdENy ZWF0ZVRhYmxlPEFjY291bnQ+KG9yYWw6OmRldGFpbDo6Q2FjaGVkRmllbGRz RGF0YSBjb25zdCYpOjp7bGFtYmRhKFFTdHJpbmcgY29uc3QmLCBRU3RyaW5n IGNvbnN0JikjMX0+IGNvbnN0JiwgUUxpc3Q8UUxpc3Q+IGNvbnN0Jiwgb3Jh bDo6ZGV0YWlsOjpBZGFwdENyZWF0ZVRhYmxlPEFjY291bnQ+KG9yYWw6OmRl dGFpbDo6Q2FjaGVkRmllbGRzRGF0YSBjb25zdCYpOjp7bGFtYmRhKFFTdHJp bmcgY29uc3QmLCBRU3RyaW5nIGNvbnN0JikjMX0pCiAjCiAjIFRoZXNlIHRo cmVlIGFyZSBzeW1ib2xzIGdlbmVyYXRlZCBieSBnKysncyB0ZXN0c3VpdGUs IHdoaWNoIHRyaWdnZXJlZCB0aGUgc2FtZSBidWcgYXMgYWJvdmUuCiAtLWZv cm1hdD1nbnUtdjMKQEAgLTQ2NjUsNyArNDY2NSw3IEBAIF9aM2VhdElQaVoz Rm9vdkVVbFBUX1BUMF9FNF9FdlJTMV9SUzNfCiB2b2lkIGVhdDxpbnQqLCBG b28oKTo6e2xhbWJkYShhdXRvOjEqLCBhdXRvOjIqKSM2fT4oaW50KiYsIEZv bygpOjp7bGFtYmRhKGF1dG86MSosIGF1dG86MiopIzZ9JikKIAogX1ozZWF0 SVBpWjNCYXJJc0V2dkVVbFBzUFRfUFQwX0UwX0V2UlMzX1JTNV8KLXZvaWQg ZWF0PGludCosIHZvaWQgQmFyPHNob3J0PigpOjp7bGFtYmRhKHNob3J0Kiwg YXV0bzoxKiwgYXV0bzoyKikjMn0+KGludComLCB2b2lkIEJhcjxzaG9ydD4o KTo6e2xhbWJkYShzaG9ydCosIGF1dG86MSosIGF1dG86MiopIzJ9JikKK3Zv aWQgZWF0PGludCosIEJhcjxzaG9ydD4oKTo6e2xhbWJkYShzaG9ydCosIGF1 dG86MSosIGF1dG86MiopIzJ9PihpbnQqJiwgQmFyPHNob3J0PigpOjp7bGFt YmRhKHNob3J0KiwgYXV0bzoxKiwgYXV0bzoyKikjMn0mKQogCiAjIFBSIDc3 NDg5CiBfWlozZm9vdkU4bG9jYWxWYXJfOQpAQCAtNDczOSwxNCArNDczOSwy OCBAQCBfX3RodW5rXzQyOTQ5NjcyOTdfXyRfMXgKICMgZGVtYW5nbGVyLzgy MTk1IG1lbWJlcnMgb2YgbGFtYmRhcwogLS1uby1wYXJhbXMKIF9aWlozRm9v dkVOS1VsVF9FX2NsSWlFRWZTX0VONUxvY2FsMmZuRXYKLUZvbygpOjpmbG9h dCB7bGFtYmRhKGF1dG86MSkjMX06Om9wZXJhdG9yKCk8aW50PihpbnQpIGNv bnN0OjpMb2NhbDo6Zm4oKQotRm9vKCk6OmZsb2F0IHtsYW1iZGEoYXV0bzox KSMxfTo6b3BlcmF0b3IoKTxpbnQ+KGludCkgY29uc3Q6OkxvY2FsOjpmbgor Rm9vKCk6OntsYW1iZGEoYXV0bzoxKSMxfTo6b3BlcmF0b3IoKTxpbnQ+KGlu dCkgY29uc3Q6OkxvY2FsOjpmbigpCitGb28oKTo6e2xhbWJkYShhdXRvOjEp IzF9OjpvcGVyYXRvcigpPGludD4oaW50KSBjb25zdDo6TG9jYWw6OmZuCiAt LW5vLXBhcmFtcwogX1o3Q2FwdHVyZUlaWjNGb292RU5LVWxUX0VfY2xJaUVF dlMwX0VVbHZFX0V2T1MwXwotdm9pZCBDYXB0dXJlPEZvbygpOjp2b2lkIHts YW1iZGEoYXV0bzoxKSMxfTo6b3BlcmF0b3IoKTxpbnQ+KGludCkgY29uc3Q6 OntsYW1iZGEoKSMxfT4oRm9vKCk6OnZvaWQge2xhbWJkYShhdXRvOjEpIzF9 OjpvcGVyYXRvcigpPGludD4oaW50KSBjb25zdDo6e2xhbWJkYSgpIzF9JiYp Ci1DYXB0dXJlPEZvbygpOjp2b2lkIHtsYW1iZGEoYXV0bzoxKSMxfTo6b3Bl cmF0b3IoKTxpbnQ+KGludCkgY29uc3Q6OntsYW1iZGEoKSMxfT4KK3ZvaWQg Q2FwdHVyZTxGb28oKTo6e2xhbWJkYShhdXRvOjEpIzF9OjpvcGVyYXRvcigp PGludD4oaW50KSBjb25zdDo6e2xhbWJkYSgpIzF9PihGb28oKTo6e2xhbWJk YShhdXRvOjEpIzF9OjpvcGVyYXRvcigpPGludD4oaW50KSBjb25zdDo6e2xh bWJkYSgpIzF9JiYpCitDYXB0dXJlPEZvbygpOjp7bGFtYmRhKGF1dG86MSkj MX06Om9wZXJhdG9yKCk8aW50PihpbnQpIGNvbnN0Ojp7bGFtYmRhKCkjMX0+ CiAtLW5vLXBhcmFtcwogX1o0RnJvYklaWjNGb292RU5LVWxUX0VfY2xJaUVF dlMwX0VVbHZFX0V2dgotdm9pZCBGcm9iPEZvbygpOjp2b2lkIHtsYW1iZGEo YXV0bzoxKSMxfTo6b3BlcmF0b3IoKTxpbnQ+KGludCkgY29uc3Q6OntsYW1i ZGEoKSMxfT4oKQotRnJvYjxGb28oKTo6dm9pZCB7bGFtYmRhKGF1dG86MSkj MX06Om9wZXJhdG9yKCk8aW50PihpbnQpIGNvbnN0Ojp7bGFtYmRhKCkjMX0+ Ci0jCit2b2lkIEZyb2I8Rm9vKCk6OntsYW1iZGEoYXV0bzoxKSMxfTo6b3Bl cmF0b3IoKTxpbnQ+KGludCkgY29uc3Q6OntsYW1iZGEoKSMxfT4oKQorRnJv YjxGb28oKTo6e2xhbWJkYShhdXRvOjEpIzF9OjpvcGVyYXRvcigpPGludD4o aW50KSBjb25zdDo6e2xhbWJkYSgpIzF9PgorIyBBIGxhbWJkYSB7bG9jYWwt Y2xhc3M6Om1lbWJlci1mbn0KKy0tbm8tcGFyYW1zCitfWlozRm9vdkVOS1Vs VF9FX2NsSWlFRWZTXworZmxvYXQgRm9vKCk6OntsYW1iZGEoYXV0bzoxKSMx fTo6b3BlcmF0b3IoKTxpbnQ+KGludCkgY29uc3QKK0ZvbygpOjp7bGFtYmRh KGF1dG86MSkjMX06Om9wZXJhdG9yKCk8aW50PgorIyB0ZW1wbGF0ZS1mbiB7 bG9jYWwtY2xhc3M6Om1lbWJlci1mbn0KKy0tbm8tcGFyYW1zCitfWlozRm9v SWlFZnZFTjFYMmZuRXYKK0ZvbzxpbnQ+KCk6Olg6OmZuKCkKK0ZvbzxpbnQ+ KCk6Olg6OmZuCisjIHRlbXBsYXRlLWZuIGdlbmVyaWMtbGFtYmRhIGxvY2Fs LWNsYXNzOjptZW1iZXItZm4KKy0tbm8tcGFyYW1zCitfWlpaM0Zvb0lpRWZ2 RU5LVWxUX0VfY2xJY0VFRGFTMF9FTjFYMmZuRXYKK0ZvbzxpbnQ+KCk6Onts YW1iZGEoYXV0bzoxKSMxfTo6b3BlcmF0b3IoKTxjaGFyPihjaGFyKSBjb25z dDo6WDo6Zm4oKQorRm9vPGludD4oKTo6e2xhbWJkYShhdXRvOjEpIzF9Ojpv cGVyYXRvcigpPGNoYXI+KGNoYXIpIGNvbnN0OjpYOjpmbgpkaWZmIC1ydXAg bGliaWJlcnR5L3Rlc3RzdWl0ZS9kZW1hbmdsZXItZnV6emVyLmMgL3dvcmsv c291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvdGVzdHN1aXRlL2RlbWFu Z2xlci1mdXp6ZXIuYwotLS0gbGliaWJlcnR5L3Rlc3RzdWl0ZS9kZW1hbmds ZXItZnV6emVyLmMJMjAxNy0xMi0wOCAxMDoxOToxNC4wOTM5Njc2MDEgKzAw MDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Rl c3RzdWl0ZS9kZW1hbmdsZXItZnV6emVyLmMJMjAxOC0wMS0wNCAwODowNjo1 Ni45NDY2NTU4NzYgKzAwMDAKQEAgLTEsNiArMSw2IEBACiAvKiBEZW1hbmds ZXIgZnV6emVyLgogCi0gICBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykg MjAxNC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAg ICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgbGliaWJlcnR5LgogCmRpZmYg LXJ1cCBsaWJpYmVydHkvdGVzdHN1aXRlL01ha2VmaWxlLmluIC93b3JrL3Nv dXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Rlc3RzdWl0ZS9NYWtlZmls ZS5pbgotLS0gbGliaWJlcnR5L3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbgkyMDE3 LTEyLTA4IDEwOjE5OjE0LjEwMjk2NzQ4OCArMDAwMAorKysgL3dvcmsvc291 cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvdGVzdHN1aXRlL01ha2VmaWxl LmluCTIwMTgtMDEtMDQgMDg6MDY6NTYuOTQ1NjU1ODg3ICswMDAwCkBAIC0x LDYgKzEsNiBAQAogIwogIyBNYWtlZmlsZQotIyAgIENvcHlyaWdodCAoQykg MTk5OS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyAg IENvcHlyaWdodCAoQykgMTk5OS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGli aWJlcnR5IGxpYnJhcnkuCiAjIExpYmliZXJ0eSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlmZiAtcnVwIGxp YmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1kZW1hbmdsZS5jIC93b3JrL3NvdXJj ZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Rlc3RzdWl0ZS90ZXN0LWRlbWFu Z2xlLmMKLS0tIGxpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1kZW1hbmdsZS5j CTIwMTctMTItMDggMTA6MTk6MTQuMTAzOTY3NDc2ICswMDAwCisrKyAvd29y ay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS90ZXN0c3VpdGUvdGVz dC1kZW1hbmdsZS5jCTIwMTgtMDEtMDQgMDg6MDY6NTYuOTQ3NjU1ODY2ICsw MDAwCkBAIC0xLDUgKzEsNSBAQAogLyogRGVtYW5nbGVyIHRlc3QgcHJvZ3Jh bSwKLSAgIENvcHlyaWdodCAoQykgMjAwMi0yMDE3IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMTgg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBXcml0dGVuIGJ5 IFphY2sgV2VpbmJlcmcgPHphY2tAY29kZXNvdXJjZXJ5LmNvbQogCiAgICBU aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgbGliaWJlcnR5LgpkaWZmIC1ydXAg bGliaWJlcnR5L3Rlc3RzdWl0ZS90ZXN0LWV4cGFuZGFyZ3YuYyAvd29yay9z b3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1l eHBhbmRhcmd2LmMKLS0tIGxpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1leHBh bmRhcmd2LmMJMjAxNy0xMi0wOCAxMDoxOToxNC4xMDM5Njc0NzYgKzAwMDAK KysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Rlc3Rz dWl0ZS90ZXN0LWV4cGFuZGFyZ3YuYwkyMDE4LTAxLTA0IDA4OjA2OjU2Ljk0 NzY1NTg2NiArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIGV4cGFuZGFyZ3Yg dGVzdCBwcm9ncmFtLAotICAgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTcgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMp IDIwMDYtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAg IFdyaXR0ZW4gYnkgQ2FybG9zIE8nRG9uZWxsIDxjYXJsb3NAY29kZXNvdXJj ZXJ5LmNvbT4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmli ZXJ0eSBsaWJyYXJ5LCB3aGljaCBpcyBwYXJ0IG9mIEdDQy4KZGlmZiAtcnVw IGxpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1wZXhlY3V0ZS5jIC93b3JrL3Nv dXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Rlc3RzdWl0ZS90ZXN0LXBl eGVjdXRlLmMKLS0tIGxpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1wZXhlY3V0 ZS5jCTIwMTctMTItMDggMTA6MTk6MTQuMTAzOTY3NDc2ICswMDAwCisrKyAv d29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS90ZXN0c3VpdGUv dGVzdC1wZXhlY3V0ZS5jCTIwMTgtMDEtMDQgMDg6MDY6NTYuOTQ1NjU1ODg3 ICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyogUGV4ZWN1dGUgdGVzdCBwcm9n cmFtLAotICAgQ29weXJpZ2h0IChDKSAyMDA1LTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4g YnkgSWFuIExhbmNlIFRheWxvciA8aWFuQGFpcnMuY29tPi4KIAogICAgVGhp cyBmaWxlIGlzIHBhcnQgb2YgR05VIGxpYmliZXJ0eS4KZGlmZiAtcnVwIGxp YmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1zdHJ0b2wuYyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1zdHJ0b2wu YwotLS0gbGliaWJlcnR5L3Rlc3RzdWl0ZS90ZXN0LXN0cnRvbC5jCTIwMTct MTItMDggMTA6MTk6MTQuMTAzOTY3NDc2ICswMDAwCisrKyAvd29yay9zb3Vy Y2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS90ZXN0c3VpdGUvdGVzdC1zdHJ0 b2wuYwkyMDE4LTAxLTA0IDA4OjA2OjU2Ljk0NjY1NTg3NiArMDAwMApAQCAt MSw1ICsxLDUgQEAKIC8qIFRlc3QgcHJvZ3JhbSBmb3Igc3RydG9sIGZhbWls eSBvZiBmdW50aW9ucywKLSAgIENvcHlyaWdodCAoQykgMjAxNC0yMDE3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChD KSAyMDE0LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAg ICBXcml0dGVuIGJ5IFl1cnkgR3JpYm92IDx5LmdyaWJvdkBzYW1zdW5nLmNv bT4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBs aWJyYXJ5LCB3aGljaCBpcyBwYXJ0IG9mIEdDQy4KZGlmZiAtcnVwIGxpYmli ZXJ0eS90aW1ldmFsLXV0aWxzLmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVu dC9saWJpYmVydHkvdGltZXZhbC11dGlscy5jCi0tLSBsaWJpYmVydHkvdGlt ZXZhbC11dGlscy5jCTIwMTctMTItMDggMTA6MTk6MDcuMTI1MDU1MDg5ICsw MDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS90 aW1ldmFsLXV0aWxzLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42ODc2NDgwNjMg KzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBCYXNpYyBzdHJ1Y3QgdGltZXZh bCB1dGlsaXRpZXMuCi0gICBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykg MjAxMS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBM aWJpYmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvdW5saW5rLWlmLW9y ZGluYXJ5LmMgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkv dW5saW5rLWlmLW9yZGluYXJ5LmMKLS0tIGxpYmliZXJ0eS91bmxpbmstaWYt b3JkaW5hcnkuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjEyNTA1NTA4OSArMDAw MAorKysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvdW5s aW5rLWlmLW9yZGluYXJ5LmMJMjAxOC0wMS0wNCAwODowNjo1Ny42NzQ2NDgy MDAgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiB1bmxpbmstaWYtb3JkaW5h cnkuYyAtIHJlbW92ZSBsaW5rIHRvIGEgZmlsZSB1bmxlc3MgaXQgaXMgc3Bl Y2lhbAotICAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAx OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxl IGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5LiAgVGhpcyBsaWJy YXJ5IGlzIGZyZWUKIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQpkaWZmIC1ydXAgbGliaWJl cnR5L3Zhc3ByaW50Zi5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGli aWJlcnR5L3Zhc3ByaW50Zi5jCi0tLSBsaWJpYmVydHkvdmFzcHJpbnRmLmMJ MjAxNy0xMi0wOCAxMDoxOTowNy4xMjYwNTUwNzYgKzAwMDAKKysrIC93b3Jr L3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3Zhc3ByaW50Zi5jCTIw MTgtMDEtMDQgMDg6MDY6NTcuNzA4NjQ3ODQyICswMDAwCkBAIC0xLDYgKzEs NiBAQAogLyogTGlrZSB2c3ByaW50ZiBidXQgcHJvdmlkZXMgYSBwb2ludGVy IHRvIG1hbGxvYydkIHN0b3JhZ2UsIHdoaWNoIG11c3QKICAgIGJlIGZyZWVk IGJ5IHRoZSBjYWxsZXIuCi0gICBDb3B5cmlnaHQgKEMpIDE5OTQtMjAxNyBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAo QykgMTk5NC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog CiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnku CiBMaWJpYmVydHkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCmRpZmYgLXJ1cCBsaWJpYmVydHkvdmZwcmludGYu YyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS92ZnByaW50 Zi5jCi0tLSBsaWJpYmVydHkvdmZwcmludGYuYwkyMDE3LTEyLTA4IDEwOjE5 OjA3LjEyNzA1NTA2NCArMDAwMAorKysgL3dvcmsvc291cmNlcy9nY2MvY3Vy cmVudC9saWJpYmVydHkvdmZwcmludGYuYwkyMDE4LTAxLTA0IDA4OjA2OjU3 LjY4NjY0ODA3NCArMDAwMApAQCAtMSw2ICsxLDYgQEAKIC8qIFByb3ZpZGUg YSB2ZXJzaW9uIHZmcHJpbnRmIGluIHRlcm1zIG9mIF9kb3BybnQuCiAgICBC eSBLYXZlaCBHaGF6aSAgKGdoYXppQGNhaXAucnV0Z2Vycy5lZHUpICAzLzI5 Lzk4Ci0gICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxNyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk5OC0yMDE4 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogICovCiAKICNpbmNs dWRlICJhbnNpZGVjbC5oIgpkaWZmIC1ydXAgbGliaWJlcnR5L3ZwcmludGYt c3VwcG9ydC5jIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5 L3ZwcmludGYtc3VwcG9ydC5jCi0tLSBsaWJpYmVydHkvdnByaW50Zi1zdXBw b3J0LmMJMjAxNy0xMi0wOCAxMDoxOTowNy4xMjcwNTUwNjQgKzAwMDAKKysr IC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3ZwcmludGYt c3VwcG9ydC5jCTIwMTgtMDEtMDQgMDg6MDY6NTYuOTQxNjU1OTI5ICswMDAw CkBAIC0xLDYgKzEsNiBAQAogLyogRXN0aW1hdGUgdGhlIGxlbmd0aCBvZiB0 aGUgc3RyaW5nIGdlbmVyYXRlZCBieSBhIHZwcmludGYtbGlrZQogICAgZnVu Y3Rpb24uICBVc2VkIGJ5IHZhc3ByaW50ZiBhbmQgeHZhc3ByaW50Zi4KLSAg IENvcHlyaWdodCAoQykgMTk5NC0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAxOTk0LTIwMTggRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4KIExpYmliZXJ0eSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlm ZiAtcnVwIGxpYmliZXJ0eS92cHJpbnRmLXN1cHBvcnQuaCAvd29yay9zb3Vy Y2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS92cHJpbnRmLXN1cHBvcnQuaAot LS0gbGliaWJlcnR5L3ZwcmludGYtc3VwcG9ydC5oCTIwMTctMTItMDggMTA6 MTk6MDcuMTI3MDU1MDY0ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9j dXJyZW50L2xpYmliZXJ0eS92cHJpbnRmLXN1cHBvcnQuaAkyMDE4LTAxLTA0 IDA4OjA2OjU2Ljk0MjY1NTkxOCArMDAwMApAQCAtMSw2ICsxLDYgQEAKIC8q IEVzdGltYXRlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBnZW5lcmF0ZWQg YnkgYSB2cHJpbnRmLWxpa2UKICAgIGZ1bmN0aW9uLiAgVXNlIGJ5IHZhc3By aW50ZiBhbmQgeHZhc3ByaW50Zi4KLSAgIENvcHlyaWdodCAoQykgMTk5NC0y MDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJp Z2h0IChDKSAxOTk0LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGli cmFyeS4KIExpYmliZXJ0eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKZGlmZiAtcnVwIGxpYmliZXJ0eS92c25w cmludGYuYyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS92 c25wcmludGYuYwotLS0gbGliaWJlcnR5L3ZzbnByaW50Zi5jCTIwMTctMTIt MDggMTA6MTk6MDcuMTI4MDU1MDUyICswMDAwCisrKyAvd29yay9zb3VyY2Vz L2djYy9jdXJyZW50L2xpYmliZXJ0eS92c25wcmludGYuYwkyMDE4LTAxLTA0 IDA4OjA2OjU3LjY2NzY0ODI3NCArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8q IEltcGxlbWVudCB0aGUgdnNucHJpbnRmIGZ1bmN0aW9uLgotICAgQ29weXJp Z2h0IChDKSAyMDAzLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAxOCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICAgIFdyaXR0ZW4gYnkgS2F2ZWggUi4gR2hh emkgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+LgogCiBUaGlzIGZpbGUgaXMg cGFydCBvZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuICBUaGlzIGxpYnJhcnkg aXMgZnJlZQpkaWZmIC1ydXAgbGliaWJlcnR5L3ZzcHJpbnRmLmMgL3dvcmsv c291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkvdnNwcmludGYuYwotLS0g bGliaWJlcnR5L3ZzcHJpbnRmLmMJMjAxNy0xMi0wOCAxMDoxOTowNy4xMjkw NTUwMzkgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGli aWJlcnR5L3ZzcHJpbnRmLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42ODg2NDgw NTMgKzAwMDAKQEAgLTMsNyArMyw3IEBACiAgICBpbXBsZW1lbnRhdGlvbnMg b2Ygc3RkaW87IG5ld2VyIG9uZXMgc2hvdWxkIGFscmVhZHkgaGF2ZSB2c3By aW50Zi4KICAgIFdyaXR0ZW4gYnkgUGVyIEJvdGhuZXIgb2YgQ3lnbnVzIFN1 cHBvcnQuCiAgICBCYXNlZCBvbiBsaWJnKysncyAiZm9ybSIgKHdyaXR0ZW4g YnkgRG91ZyBMZWE7IGRsQHJvY2t5Lm9zd2Vnby5lZHUpLgotICAgQ29weXJp Z2h0IChDKSAxOTkxLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgICBDb3B5cmlnaHQgKEMpIDE5OTEtMjAxOCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhl IGxpYmliZXJ0eSBsaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUKIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 IGl0IHVuZGVyIHRoZQpkaWZmIC1ydXAgbGliaWJlcnR5L3hhc3ByaW50Zi5j IC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3hhc3ByaW50 Zi5jCi0tLSBsaWJpYmVydHkveGFzcHJpbnRmLmMJMjAxNy0xMi0wOCAxMDox OTowNy4xMzkwNTQ5MTMgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1 cnJlbnQvbGliaWJlcnR5L3hhc3ByaW50Zi5jCTIwMTgtMDEtMDQgMDg6MDY6 NTcuNjc5NjQ4MTQ4ICswMDAwCkBAIC0xLDUgKzEsNSBAQAogLyogSW1wbGVt ZW50IHRoZSB4YXNwcmludGYgZnVuY3Rpb24uCi0gICBDb3B5cmlnaHQgKEMp IDIwMTQtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAg IENvcHlyaWdodCAoQykgMjAxNC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogICAgQ29udHJpYnV0ZWQgYnkgTWFudWVsIExvcGV6LUli YW5lei4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBs aWJyYXJ5LgpkaWZmIC1ydXAgbGliaWJlcnR5L3hleGl0LmMgL3dvcmsvc291 cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkveGV4aXQuYwotLS0gbGliaWJl cnR5L3hleGl0LmMJMjAxNy0xMi0wOCAxMDoxOTowNy4xNDAwNTQ5MDEgKzAw MDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJlbnQvbGliaWJlcnR5L3hl eGl0LmMJMjAxOC0wMS0wNCAwODowNjo1Ni45NDA2NTU5MzkgKzAwMDAKQEAg LTEsNSArMSw1IEBACiAvKiB4ZXhpdC5jIC0tIFJ1biBhbnkgZXhpdCBoYW5k bGVycywgdGhlbiBleGl0LgotICAgQ29weXJpZ2h0IChDKSAxOTk0LTIwMTcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQg KEMpIDE5OTQtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K IAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5 LgogTGliaWJlcnR5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgpkaWZmIC1ydXAgbGliaWJlcnR5L3htYWxsb2Mu YyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmliZXJ0eS94bWFsbG9j LmMKLS0tIGxpYmliZXJ0eS94bWFsbG9jLmMJMjAxNy0xMi0wOCAxMDoxOTow Ny4xNDEwNTQ4ODkgKzAwMDAKKysrIC93b3JrL3NvdXJjZXMvZ2NjL2N1cnJl bnQvbGliaWJlcnR5L3htYWxsb2MuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY3 MDY0ODI0MiArMDAwMApAQCAtMSw1ICsxLDUgQEAKIC8qIG1lbW9yeSBhbGxv Y2F0aW9uIHJvdXRpbmVzIHdpdGggZXJyb3IgY2hlY2tpbmcuCi0gICBDb3B5 cmlnaHQgKEMpIDE5ODktMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAgIENvcHlyaWdodCAoQykgMTk4OS0yMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogICAgCiBUaGlzIGZpbGUgaXMgcGFydCBv ZiB0aGUgbGliaWJlcnR5IGxpYnJhcnkuCiBMaWJpYmVydHkgaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCmRpZmYg LXJ1cCBsaWJpYmVydHkveHN0cm5kdXAuYyAvd29yay9zb3VyY2VzL2djYy9j dXJyZW50L2xpYmliZXJ0eS94c3RybmR1cC5jCi0tLSBsaWJpYmVydHkveHN0 cm5kdXAuYwkyMDE3LTEyLTA4IDEwOjE5OjA3LjE0MjA1NDg3NiArMDAwMAor KysgL3dvcmsvc291cmNlcy9nY2MvY3VycmVudC9saWJpYmVydHkveHN0cm5k dXAuYwkyMDE4LTAxLTA0IDA4OjA2OjU3LjY4MTY0ODEyNiArMDAwMApAQCAt MSw1ICsxLDUgQEAKIC8qIEltcGxlbWVudCB0aGUgeHN0cm5kdXAgZnVuY3Rp b24uCi0gICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxNyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdodCAoQykgMjAwNS0yMDE4 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogICAgV3JpdHRlbiBi eSBLYXZlaCBSLiBHaGF6aSA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4uCiAK IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsaWJpYmVydHkgbGlicmFyeS4K ZGlmZiAtcnVwIGxpYmliZXJ0eS94dmFzcHJpbnRmLmMgL3dvcmsvc291cmNl cy9nY2MvY3VycmVudC9saWJpYmVydHkveHZhc3ByaW50Zi5jCi0tLSBsaWJp YmVydHkveHZhc3ByaW50Zi5jCTIwMTctMTItMDggMTA6MTk6MDcuMTQyMDU0 ODc2ICswMDAwCisrKyAvd29yay9zb3VyY2VzL2djYy9jdXJyZW50L2xpYmli ZXJ0eS94dmFzcHJpbnRmLmMJMjAxOC0wMS0wNCAwODowNjo1Ny42Nzc2NDgx NjkgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAvKiBJbXBsZW1lbnQgdGhlIHh2 YXNwcmludGYgZnVuY3Rpb24uCi0gICBDb3B5cmlnaHQgKEMpIDIwMTQtMjAx NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvcHlyaWdo dCAoQykgMjAxNC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogICAgQ29udHJpYnV0ZWQgYnkgTWFudWVsIExvcGV6LUliYW5lei4KIAog VGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxpYmliZXJ0eSBsaWJyYXJ5Lgo= --=-=-=--