From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by sourceware.org (Postfix) with ESMTPS id B41AA385B837; Tue, 11 Oct 2022 17:28:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B41AA385B837 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x535.google.com with SMTP id u21so21103740edi.9; Tue, 11 Oct 2022 10:28:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=yDhDXOlT8cYUMWYXFn29r6VjOtR4iovk59vQ8sYjmw8=; b=Criy714tFrka+AWmYekEWJ3u0gAR9p6WURlhZBEb477qVtwq4vgMvlEtZcOKlnXUm4 vO7nJoku7XdIAfC/P+jXDq2dlnDcSjF5Sk78tniuiKsYMBBA+rg5dzjbany4MFS7SNz2 NyTZ6WNcegAvltJWb2ZIgK0MFT2fClMCA3s2mmgoFvMJULhv6CtBZ/a2r3Wo0fiznNwp PvgCHMP+QbOgtzhpsbCQF7C4iSLxj94aJ+lQIsCdNnEM+q5p9ciysRWNUxgqwVNtxHrN IYdHjgz2ld8H8wGX+ACZRIP/dEPTEtNP1ajA/37mdnt1JSA3+nv8+avrONul27INbtVj Knww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yDhDXOlT8cYUMWYXFn29r6VjOtR4iovk59vQ8sYjmw8=; b=RkuMoczce/A4U3DrvVwMJdUrrHJJz60dfi23yuBZSW1doPxvdYFRJ/sgTR7biUJvWF nKHxoFpIkEZLlvTPVD4EoVFpDVBB3KNKIxejI2Ej6SwahaFh+tz9IK+RciifCD1IecXD K5+/yTDKS1Q73IqiiOtCbx34VyTTjoAi9EDMYZ1ilTl0ItvPBML/5cjH/HzN2d4uGGT2 9dC+Be5r/UHr62HZ73e95ARW6z+jO5zMNdoG/+cal9d8nyLt0Yp0malNBYCxR4s64VoH yLNi0ryF9JeZhyJtK8mbxFzdvkaMFxU57u2hMY3KJf87UbgGzw5JXkG03K2lGs8pSy+1 tObA== X-Gm-Message-State: ACrzQf2plw0xj4yI0rRpYBNaTaD05r9WTesIod7ONS5d2ocvo6EEs1Jk IvF700E8AUPbUKtI28C/prX3RASwY3w= X-Google-Smtp-Source: AMsMyM4Z0onRYK0H/Qg28MCLjt/1LrdsqppJTZs3ZGqEK5ATrTWxf6xlkAZEg8MICTCnmNXrGvK8fQ== X-Received: by 2002:a05:6402:51ce:b0:45c:197d:c64f with SMTP id r14-20020a05640251ce00b0045c197dc64fmr11242310edd.58.1665509308912; Tue, 11 Oct 2022 10:28:28 -0700 (PDT) Received: from [10.65.1.21] ([109.190.253.15]) by smtp.googlemail.com with ESMTPSA id l2-20020aa7c302000000b00459cf672a65sm9628890edq.71.2022.10.11.10.28.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Oct 2022 10:28:27 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------gNA7sgxJ3m29qjLnUE4fGl3b" Message-ID: <66ebb430-e280-3501-1f20-aab66f6f4d7b@gmail.com> Date: Tue, 11 Oct 2022 19:28:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] Use cxx11 abi in versioned namespace Content-Language: fr From: =?UTF-8?Q?Fran=c3=a7ois_Dumont?= To: "libstdc++@gcc.gnu.org" Cc: gcc-patches References: <2d387cf7-8b99-3f04-6b99-d9dab5309693@gmail.com> In-Reply-To: <2d387cf7-8b99-3f04-6b99-d9dab5309693@gmail.com> X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,NICE_REPLY_A,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,TXREP,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------gNA7sgxJ3m29qjLnUE4fGl3b Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi     Now that pretty printer is fixed (once patch validated) I'd like to propose this patch again.     Note that I'am adding a check on pretty printer with a std::any on a std::wstring. I did so because of the FIXME in printers.py which is dealing with 'std::string' explicitely. Looks like in my case, where there is no 'std::string' but just a 'std::__8::string' we do not need the workaround.     Once again I am attaching also the version namespace bump patch as I think that adopting the cxx11 abi in this mode is a good enough reason to bump it. If you agress let me know if I should squash the commits before pushing.     libstdc++: [_GLIBCXX_INLINE_VERSION] Use cxx11 abi     Use cxx11 abi when activating versioned namespace mode.     libstdcxx-v3/ChangeLog:             * acinclude.m4 [GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI]: Default to "new" libstdcxx abi.             * config/locale/dragonfly/monetary_members.cc [!_GLIBCXX_USE_DUAL_ABI]: Define money_base             members.             * config/locale/generic/monetary_members.cc [!_GLIBCXX_USE_DUAL_ABI]: Likewise.             * config/locale/gnu/monetary_members.cc [!_GLIBCXX_USE_DUAL_ABI]: Likewise.             * config/locale/gnu/numeric_members.cc             [!_GLIBCXX_USE_DUAL_ABI](__narrow_multibyte_chars): Define.             * configure: Regenerate.             * include/bits/c++config             [_GLIBCXX_INLINE_VERSION](_GLIBCXX_NAMESPACE_CXX11, _GLIBCXX_BEGIN_NAMESPACE_CXX11): Define             empty. [_GLIBCXX_INLINE_VERSION](_GLIBCXX_END_NAMESPACE_CXX11, _GLIBCXX_DEFAULT_ABI_TAG): Likewise.             * python/libstdcxx/v6/printers.py             (StdStringPrinter::__init__): Set self.new_string to True when std::__8::basic_string type is             found.             * src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE](ldbl_alt128_compat_sources): Define empty.             * src/Makefile.in: Regenerate.             * src/c++11/Makefile.am (cxx11_abi_sources): Rename into...             (dual_abi_sources): ...this, new. Also move several sources to...             (sources): ...this.             (extra_string_inst_sources): Move several sources to...             (inst_sources): ...this.             * src/c++11/Makefile.in: Regenerate.             * src/c++11/cow-fstream-inst.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cow-locale_init.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cow-sstream-inst.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cow-stdexcept.cc [_GLIBCXX_USE_CXX11_ABI](error_category::_M_message):             Skip definition.             [_GLIBCXX_USE_CXX11_ABI]: Skip Transaction Memory TS definitions.             * src/c++11/cow-string-inst.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cow-string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cow-wstring-inst.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cow-wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cxx11-hash_tr1.cc [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/cxx11-ios_failure.cc [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             [!_GLIBCXX_USE_DUAL_ABI] (__ios_failure): Remove.             * src/c++11/cxx11-locale-inst.cc: Cleanup, just include locale-inst.cc.             * src/c++11/cxx11-stdexcept.cc [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             [!_GLIBCXX_USE_DUAL_ABI](__cow_string): Remove.             * src/c++11/cxx11-wlocale-inst.cc [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++11/fstream-inst.cc [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions             * src/c++11/locale-inst-numeric.h [!_GLIBCXX_USE_DUAL_ABI](std::use_facet>, std::use_facet>): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](std::has_facet>, std::has_facet>): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](std::num_get>): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](std::num_put>): Instantiate.             * src/c++11/locale-inst.cc [!_GLIBCXX_USE_DUAL_ABI]: Build only when configured             _GLIBCXX_USE_CXX11_ABI is equal to currently built abi.             [!_GLIBCXX_USE_DUAL_ABI](__moneypunct_cache): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__moneypunct_cache): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__numpunct_cache): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__timepunct): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__timepunct_cache): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](time_put>): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](time_put_byname>): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](__ctype_abstract_base): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](ctype_byname): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__codecvt_abstract_base): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](codecvt_byname): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](use_facet>(const locale&)): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](use_facet>(const locale&)): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](use_facet<__timepunct>(const locale&)): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](use_facet>(const locale&)): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](has_facet>(const locale&)): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](has_facet>(const locale&)): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](has_facet<__timepunct>(const locale&)): Instantiate. [!_GLIBCXX_USE_DUAL_ABI](has_facet>(const locale&)): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__add_grouping): Define.             [!_GLIBCXX_USE_DUAL_ABI](__pad>): Instantiate.             [!_GLIBCXX_USE_DUAL_ABI](__int_to_char(C*, unsigned long, const C*, ios_base::fmtflags, bool)):             Define.             [!_GLIBCXX_USE_DUAL_ABI](__int_to_char(C*, unsigned long long, const C*, ios_base::fmtflags, bool)):             Define.             * src/c++11/cxx11-wlocale-inst.cc [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++98/Makefile.am (cxx11_abi_sources): Remove, unique cow-istream-string.cc entry move to...             (inst_sources): ...this.             * src/c++98/Makefile.in: Regenerate.             * src/c++98/cow-istream-string.cc: Include .             [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++98/hash_tr1.cc [_GLIBCXX_USE_CXX11_ABI]: Skip definitions.             * src/c++98/ios_failure.cc [_GLIBCXX_USE_CXX11_ABI][_GLIBCXX_USE_DUAL_ABI]: Skip definitions.             * src/c++98/istream-string.cc [!_GLIBCXX_USE_DUAL_ABI]: Build only when configured             _GLIBCXX_USE_CXX11_ABI is equal to currently built abi.             * src/c++98/locale_facets.cc [_GLIBCXX_USE_CXX11_ABI](__verify_grouping): Remove.             * src/c++98/stdexcept.cc             [_GLIBCXX_USE_CXX11_ABI](logic_error(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](domain_error(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](invalid_argument(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](length_error(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](out_of_range(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](runtime_error(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](range_error(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](overflow_error(const string&): Remove.             [_GLIBCXX_USE_CXX11_ABI](underflow_error(const string&): Remove.             * testsuite/libstdc++-prettyprinters/cxx17.cc: Add std::any check with std::wstring. François On 30/05/22 22:58, François Dumont wrote: > Hi > > Here is the patch to use cxx11 abi for the versioned namespace mode. > > It is still suffering from a side effect on gdb pretty printers with 3 > errors like: > > got: type = > std::unique_ptr std::__8::char_traits, std::__8::allocator >>[]>>[99]> > FAIL: libstdc++-prettyprinters/80276.cc whatis p4 > > However once I apply the version bump errors are gone. > > Let me know if it is ok to apply all at once or if you prefer to avoid > the version bump. > > François --------------gNA7sgxJ3m29qjLnUE4fGl3b Content-Type: text/x-patch; charset=UTF-8; name="version_namespace_cxx11_abi.patch" Content-Disposition: attachment; filename="version_namespace_cxx11_abi.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9hY2luY2x1ZGUubTQgYi9saWJzdGRjKystdjMv YWNpbmNsdWRlLm00CmluZGV4IDFiNDA0ZDdkZjIyLi4wYzQzNDhhMjc3YSAxMDA2NDQKLS0t IGEvbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNAorKysgYi9saWJzdGRjKystdjMvYWNpbmNs dWRlLm00CkBAIC00NDQ5LDEyICs0NDQ5LDE2IEBAIGRubAogQUNfREVGVU4oW0dMSUJDWFhf RU5BQkxFX0xJQlNURENYWF9EVUFMX0FCSV0sIFsKICAgR0xJQkNYWF9FTkFCTEUobGlic3Rk Y3h4LWR1YWwtYWJpLCQxLCxbc3VwcG9ydCB0d28gdmVyc2lvbnMgb2Ygc3RkOjpzdHJpbmdd KQogICBpZiB0ZXN0IHgkZW5hYmxlX3N5bXZlcnMgPSB4Z251LXZlcnNpb25lZC1uYW1lc3Bh Y2U7IHRoZW4KLSAgICAjIGdudS12ZXJzaW9uZWQtbmFtZXNwYWNlIGlzIGluY29tcGF0aWJs ZSB3aXRoIHRoZSBkdWFsIEFCSS4KLSAgICBlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpPSJu byIKLSAgZmkKLSAgaWYgdGVzdCB4IiRlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpIiAhPSB4 eWVzOyB0aGVuCisgICAgIyBnbnUtdmVyc2lvbmVkLW5hbWVzcGFjZSBpcyBpbmNvbXBhdGli bGUgd2l0aCB0aGUgZHVhbCBBQkkuLi4KICAgICBBQ19NU0dfTk9USUNFKFtkdWFsIEFCSSBp cyBkaXNhYmxlZF0pCi0gICAgZGVmYXVsdF9saWJzdGRjeHhfYWJpPSJnY2M0LWNvbXBhdGli bGUiCisgICAgZW5hYmxlX2xpYnN0ZGN4eF9kdWFsX2FiaT0ibm8iCisgICAgIyAuLi4gYW5k IHVzZSB0aGUgY3h4MTEgb25lLgorICAgIGRlZmF1bHRfbGlic3RkY3h4X2FiaT0ibmV3Igor ICBlbHNlCisgICAgaWYgdGVzdCB4IiRlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpIiAhPSB4 eWVzOyB0aGVuCisgICAgICBBQ19NU0dfTk9USUNFKFtkdWFsIEFCSSBpcyBkaXNhYmxlZF0p CisgICAgICBkZWZhdWx0X2xpYnN0ZGN4eF9hYmk9ImdjYzQtY29tcGF0aWJsZSIKKyAgICBm aQogICBmaQogICBHTElCQ1hYX0NPTkRJVElPTkFMKEVOQUJMRV9EVUFMX0FCSSwgdGVzdCAk ZW5hYmxlX2xpYnN0ZGN4eF9kdWFsX2FiaSA9IHllcykKIF0pCmRpZmYgLS1naXQgYS9saWJz dGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbW9uZXRhcnlfbWVtYmVycy5jYyBi L2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9tb25ldGFyeV9tZW1iZXJz LmNjCmluZGV4IDEyNjUxOTBkYWQ5Li41ZjkxZmQ5YjU2MCAxMDA2NDQKLS0tIGEvbGlic3Rk YysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L21vbmV0YXJ5X21lbWJlcnMuY2MKKysr IGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L21vbmV0YXJ5X21lbWJl cnMuY2MKQEAgLTM5LDcgKzM5LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJ T04KIAogLy8gVGhpcyBmaWxlIG1pZ2h0IGJlIGNvbXBpbGVkIHR3aWNlLCBidXQgd2Ugb25s eSB3YW50IHRvIGRlZmluZSB0aGUgbWVtYmVycwogLy8gb2YgbW9uZXlfYmFzZSBvbmNlLgot I2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDEx X0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogCiAgIC8vIENvbnN0cnVjdCBhbmQg cmV0dXJuIHZhbGlkIHBhdHRlcm4gY29uc2lzdGluZyBvZiBzb21lIGNvbWJpbmF0aW9uIG9m OgogICAvLyBzcGFjZSBub25lIHN5bWJvbCBzaWduIHZhbHVlCkBAIC0yMDcsNyArMjA3LDcg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIH0KICAgICByZXR1 cm4gX19yZXQ7CiAgIH0KLSNlbmRpZgorI2VuZGlmIC8vICEgX0dMSUJDWFhfVVNFX0NYWDEx X0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogCiAgIHRlbXBsYXRlPD4KICAgICB2 b2lkCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nZW5lcmljL21v bmV0YXJ5X21lbWJlcnMuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nZW5lcmlj L21vbmV0YXJ5X21lbWJlcnMuY2MKaW5kZXggYTc3OGE2ZjQwMmQuLjZiNTZlMzBhNTY4IDEw MDY0NAotLS0gYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nZW5lcmljL21vbmV0YXJ5 X21lbWJlcnMuY2MKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZ2VuZXJpYy9t b25ldGFyeV9tZW1iZXJzLmNjCkBAIC0zNiw3ICszNiw3IEBAIF9HTElCQ1hYX0JFR0lOX05B TUVTUEFDRV9WRVJTSU9OCiAKIC8vIFRoaXMgZmlsZSBtaWdodCBiZSBjb21waWxlZCB0d2lj ZSwgYnV0IHdlIG9ubHkgd2FudCB0byBkZWZpbmUgdGhlIG1lbWJlcnMKIC8vIG9mIG1vbmV5 X2Jhc2Ugb25jZS4KLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKIAogICAvLyBD b25zdHJ1Y3QgYW5kIHJldHVybiB2YWxpZCBwYXR0ZXJuIGNvbnNpc3Rpbmcgb2Ygc29tZSBj b21iaW5hdGlvbiBvZjoKICAgLy8gc3BhY2Ugbm9uZSBzeW1ib2wgc2lnbiB2YWx1ZQpkaWZm IC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZ251L21vbmV0YXJ5X21lbWJl cnMuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nbnUvbW9uZXRhcnlfbWVtYmVy cy5jYwppbmRleCA1NTY1NzUzNjNkYS4uNTRiZTYzYzQ0ZDcgMTAwNjQ0Ci0tLSBhL2xpYnN0 ZGMrKy12My9jb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjCisrKyBiL2xp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjCkBAIC0z Nyw3ICszNyw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAKIC8vIFRo aXMgZmlsZSBtaWdodCBiZSBjb21waWxlZCB0d2ljZSwgYnV0IHdlIG9ubHkgd2FudCB0byBk ZWZpbmUgdGhlIG1lbWJlcnMKIC8vIG9mIG1vbmV5X2Jhc2Ugb25jZS4KLSNpZiAhIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBf R0xJQkNYWF9VU0VfRFVBTF9BQkkKIAogICAvLyBDb25zdHJ1Y3QgYW5kIHJldHVybiB2YWxp ZCBwYXR0ZXJuIGNvbnNpc3Rpbmcgb2Ygc29tZSBjb21iaW5hdGlvbiBvZjoKICAgLy8gc3Bh Y2Ugbm9uZSBzeW1ib2wgc2lnbiB2YWx1ZQpAQCAtMjA1LDcgKzIwNSw3IEBAIF9HTElCQ1hY X0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgICB9CiAgICAgcmV0dXJuIF9fcmV0Owog ICB9Ci0jZW5kaWYKKyNlbmRpZiAvLyAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBf R0xJQkNYWF9VU0VfRFVBTF9BQkkKIAogICBleHRlcm4gY2hhciBfX25hcnJvd19tdWx0aWJ5 dGVfY2hhcnMoY29uc3QgY2hhciogcywgX19sb2NhbGVfdCBjbG9jKTsKIApkaWZmIC0tZ2l0 IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZ251L251bWVyaWNfbWVtYmVycy5jYyBi L2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2dudS9udW1lcmljX21lbWJlcnMuY2MKaW5k ZXggYzcxNGQ2YTU0NGYuLmFlMTdjYjc2YzgxIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv Y29uZmlnL2xvY2FsZS9nbnUvbnVtZXJpY19tZW1iZXJzLmNjCisrKyBiL2xpYnN0ZGMrKy12 My9jb25maWcvbG9jYWxlL2dudS9udW1lcmljX21lbWJlcnMuY2MKQEAgLTM5LDcgKzM5LDcg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgZXh0ZXJuIGNoYXIgX19u YXJyb3dfbXVsdGlieXRlX2NoYXJzKGNvbnN0IGNoYXIqIHMsIF9fbG9jYWxlX3QgY2xvYyk7 CiAKIC8vIFRoaXMgZmlsZSBtaWdodCBiZSBjb21waWxlZCB0d2ljZSwgYnV0IHdlIG9ubHkg d2FudCB0byBkZWZpbmUgdGhpcyBvbmNlLgotI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFM X0FCSQogICBjaGFyCiAgIF9fbmFycm93X211bHRpYnl0ZV9jaGFycyhjb25zdCBjaGFyKiBz LCBfX2xvY2FsZV90IGNsb2MpCiAgIHsKQEAgLTg0LDcgKzg0LDcgQEAgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIH0KICAgICByZXR1cm4gJ1wwJzsKICAgfQot I2VuZGlmCisjZW5kaWYgLy8gISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJD WFhfVVNFX0RVQUxfQUJJCiAKICAgdGVtcGxhdGU8PgogICAgIHZvaWQKZGlmZiAtLWdpdCBh L2xpYnN0ZGMrKy12My9jb25maWd1cmUgYi9saWJzdGRjKystdjMvY29uZmlndXJlCmluZGV4 IDRmMmMxMmY2YjY5Li4xZmQ0ZjE2NmU1OSAxMDA3NTUKLS0tIGEvbGlic3RkYysrLXYzL2Nv bmZpZ3VyZQorKysgYi9saWJzdGRjKystdjMvY29uZmlndXJlCkBAIC02OTI3NiwxMyArNjky NzYsMTggQEAgZmkKIAogCiAgIGlmIHRlc3QgeCRlbmFibGVfc3ltdmVycyA9IHhnbnUtdmVy c2lvbmVkLW5hbWVzcGFjZTsgdGhlbgotICAgICMgZ251LXZlcnNpb25lZC1uYW1lc3BhY2Ug aXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGR1YWwgQUJJLgotICAgIGVuYWJsZV9saWJzdGRj eHhfZHVhbF9hYmk9Im5vIgotICBmaQotICBpZiB0ZXN0IHgiJGVuYWJsZV9saWJzdGRjeHhf ZHVhbF9hYmkiICE9IHh5ZXM7IHRoZW4KKyAgICAjIGdudS12ZXJzaW9uZWQtbmFtZXNwYWNl IGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBkdWFsIEFCSS4uLgogICAgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZHVhbCBBQkkgaXMgZGlzYWJsZWQiID4m NQogJGFzX2VjaG8gIiRhc19tZTogZHVhbCBBQkkgaXMgZGlzYWJsZWQiID4mNjt9Ci0gICAg ZGVmYXVsdF9saWJzdGRjeHhfYWJpPSJnY2M0LWNvbXBhdGlibGUiCisgICAgZW5hYmxlX2xp YnN0ZGN4eF9kdWFsX2FiaT0ibm8iCisgICAgIyAuLi4gYW5kIHVzZSB0aGUgY3h4MTEgb25l LgorICAgIGRlZmF1bHRfbGlic3RkY3h4X2FiaT0ibmV3IgorICBlbHNlCisgICAgaWYgdGVz dCB4IiRlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpIiAhPSB4eWVzOyB0aGVuCisgICAgICB7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGR1YWwgQUJJIGlzIGRp c2FibGVkIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGR1YWwgQUJJIGlzIGRpc2FibGVkIiA+ JjY7fQorICAgICAgZGVmYXVsdF9saWJzdGRjeHhfYWJpPSJnY2M0LWNvbXBhdGlibGUiCisg ICAgZmkKICAgZmkKIAogCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRz L2MrK2NvbmZpZyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvYysrY29uZmlnCmluZGV4 IDE5MTg4MGZiOTlkLi5mODk5YTU4MGI2MCAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2lu Y2x1ZGUvYml0cy9jKytjb25maWcKKysrIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9j Kytjb25maWcKQEAgLTMyNSwyNiArMzI1LDYgQEAgbmFtZXNwYWNlIHN0ZAogI2RlZmluZSBf R0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAjZW5kaWYKIAotI2lmIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkKLW5hbWVzcGFjZSBzdGQKLXsKLSAgaW5saW5lIG5hbWVzcGFjZSBfX2N4eDExIF9f YXR0cmlidXRlX18oKF9fYWJpX3RhZ19fICgiY3h4MTEiKSkpIHsgfQotfQotbmFtZXNwYWNl IF9fZ251X2N4eAotewotICBpbmxpbmUgbmFtZXNwYWNlIF9fY3h4MTEgX19hdHRyaWJ1dGVf XygoX19hYmlfdGFnX18gKCJjeHgxMSIpKSkgeyB9Ci19Ci0jIGRlZmluZSBfR0xJQkNYWF9O QU1FU1BBQ0VfQ1hYMTEgX19jeHgxMTo6Ci0jIGRlZmluZSBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfQ1hYMTEgbmFtZXNwYWNlIF9fY3h4MTEgewotIyBkZWZpbmUgX0dMSUJDWFhfRU5E X05BTUVTUEFDRV9DWFgxMSB9Ci0jIGRlZmluZSBfR0xJQkNYWF9ERUZBVUxUX0FCSV9UQUcg X0dMSUJDWFhfQUJJX1RBR19DWFgxMQotI2Vsc2UKLSMgZGVmaW5lIF9HTElCQ1hYX05BTUVT UEFDRV9DWFgxMQotIyBkZWZpbmUgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX0NYWDExCi0j IGRlZmluZSBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCi0jIGRlZmluZSBfR0xJQkNY WF9ERUZBVUxUX0FCSV9UQUcKLSNlbmRpZgotCiAvLyBOb24temVybyBpZiBpbmxpbmUgbmFt ZXNwYWNlcyBhcmUgdXNlZCBmb3IgdmVyc2lvbmluZyB0aGUgZW50aXJlIGxpYnJhcnkuCiAj ZGVmaW5lIF9HTElCQ1hYX0lOTElORV9WRVJTSU9OIAogCkBAIC0zOTYsNyArMzc2LDcgQEAg X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgLy8gTm9uLWlubGluZSBuYW1l c3BhY2UgZm9yIGNvbXBvbmVudHMgcmVwbGFjZWQgYnkgYWx0ZXJuYXRlcyBpbiBhY3RpdmUg bW9kZS4KICAgbmFtZXNwYWNlIF9fY3h4MTk5OAogICB7Ci0jIGlmIF9HTElCQ1hYX1VTRV9D WFgxMV9BQkkKKyMgaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAmJiAhIF9HTElCQ1hYX1ZF UlNJT05fTkFNRVNQQUNFCiAgIGlubGluZSBuYW1lc3BhY2UgX19jeHgxMSBfX2F0dHJpYnV0 ZV9fKChfX2FiaV90YWdfXyAoImN4eDExIikpKSB7IH0KICMgZW5kaWYKICAgfQpAQCAtNDI2 LDYgKzQwNiwyNiBAQCBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KICMgZW5kaWYK ICNlbmRpZgogCisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAmJiAhIF9HTElCQ1hYX0lO TElORV9WRVJTSU9OCituYW1lc3BhY2Ugc3RkCit7CisgIGlubGluZSBuYW1lc3BhY2UgX19j eHgxMSBfX2F0dHJpYnV0ZV9fKChfX2FiaV90YWdfXyAoImN4eDExIikpKSB7IH0KK30KK25h bWVzcGFjZSBfX2dudV9jeHgKK3sKKyAgaW5saW5lIG5hbWVzcGFjZSBfX2N4eDExIF9fYXR0 cmlidXRlX18oKF9fYWJpX3RhZ19fICgiY3h4MTEiKSkpIHsgfQorfQorIyBkZWZpbmUgX0dM SUJDWFhfTkFNRVNQQUNFX0NYWDExIF9fY3h4MTE6OgorIyBkZWZpbmUgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX0NYWDExIG5hbWVzcGFjZSBfX2N4eDExIHsKKyMgZGVmaW5lIF9HTElC Q1hYX0VORF9OQU1FU1BBQ0VfQ1hYMTEgfQorIyBkZWZpbmUgX0dMSUJDWFhfREVGQVVMVF9B QklfVEFHIF9HTElCQ1hYX0FCSV9UQUdfQ1hYMTEKKyNlbHNlCisjIGRlZmluZSBfR0xJQkNY WF9OQU1FU1BBQ0VfQ1hYMTEKKyMgZGVmaW5lIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9D WFgxMQorIyBkZWZpbmUgX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9DWFgxMQorIyBkZWZpbmUg X0dMSUJDWFhfREVGQVVMVF9BQklfVEFHCisjZW5kaWYKKwogLy8gTWFjcm9zIGZvciBuYW1l c3BhY2Ugc2NvcGUuIEVpdGhlciBuYW1lc3BhY2Ugc3RkOjogb3IgdGhlIG5hbWUKIC8vIG9m IHNvbWUgbmVzdGVkIG5hbWVzcGFjZSB3aXRoaW4gaXQgY29ycmVzcG9uZGluZyB0byB0aGUg YWN0aXZlIG1vZGUuCiAvLyBfR0xJQkNYWF9TVERfQQpkaWZmIC0tZ2l0IGEvbGlic3RkYysr LXYzL3B5dGhvbi9saWJzdGRjeHgvdjYvcHJpbnRlcnMucHkgYi9saWJzdGRjKystdjMvcHl0 aG9uL2xpYnN0ZGN4eC92Ni9wcmludGVycy5weQppbmRleCA1MjMzOWIyNDdkOC4uNTVlNWMy MTFjOGYgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9weXRob24vbGlic3RkY3h4L3Y2L3By aW50ZXJzLnB5CisrKyBiL2xpYnN0ZGMrKy12My9weXRob24vbGlic3RkY3h4L3Y2L3ByaW50 ZXJzLnB5CkBAIC05NDIsNiArOTQyLDggQEAgY2xhc3MgU3RkU3RyaW5nUHJpbnRlcjoKICAg ICBkZWYgX19pbml0X18oc2VsZiwgdHlwZW5hbWUsIHZhbCk6CiAgICAgICAgIHNlbGYudmFs ID0gdmFsCiAgICAgICAgIHNlbGYubmV3X3N0cmluZyA9IHR5cGVuYW1lLmZpbmQoIjo6X19j eHgxMTo6YmFzaWNfc3RyaW5nIikgIT0gLTEKKyAgICAgICAgaWYgbm90IHNlbGYubmV3X3N0 cmluZyBhbmQgX3ZlcnNpb25lZF9uYW1lc3BhY2U6CisgICAgICAgICAgICBzZWxmLm5ld19z dHJpbmcgPSB0eXBlbmFtZS5maW5kKCI6OiIgKyBfdmVyc2lvbmVkX25hbWVzcGFjZSArICJi YXNpY19zdHJpbmciKSAhPSAtMQogCiAgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKICAgICAg ICAgIyBNYWtlIHN1cmUgJnN0cmluZyB3b3JrcywgdG9vLgpkaWZmIC0tZ2l0IGEvbGlic3Rk YysrLXYzL3NyYy9NYWtlZmlsZS5hbSBiL2xpYnN0ZGMrKy12My9zcmMvTWFrZWZpbGUuYW0K aW5kZXggYjgzYzIyMmQ1MWQuLmZjYWI4M2FkYTJkIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvc3JjL01ha2VmaWxlLmFtCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvTWFrZWZpbGUuYW0K QEAgLTgyLDYgKzgyLDkgQEAgZWxzZQogbGRibF9jb21wYXRfc291cmNlcyA9CiBlbmRpZgog CitpZiBFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFCitsZGJsX2FsdDEyOF9jb21wYXRf c291cmNlcyA9CitlbHNlCiBpZiBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVAogaWYgRU5B QkxFX0RVQUxfQUJJCiBsZGJsX2FsdDEyOF9jb21wYXRfY3h4MTFfc291cmNlcyA9IFwKQEAg LTk1LDYgKzk4LDcgQEAgbGRibF9hbHQxMjhfY29tcGF0X3NvdXJjZXMgPSBcCiBlbHNlCiBs ZGJsX2FsdDEyOF9jb21wYXRfc291cmNlcyA9CiBlbmRpZgorZW5kaWYKIAogaWYgRU5BQkxF X1NZTVZFUlNfR05VX05BTUVTUEFDRQogY3h4MHhfY29tcGF0X3NvdXJjZXMgPQpkaWZmIC0t Z2l0IGEvbGlic3RkYysrLXYzL3NyYy9NYWtlZmlsZS5pbiBiL2xpYnN0ZGMrKy12My9zcmMv TWFrZWZpbGUuaW4KaW5kZXggY2VmMjkwYzVkMTEuLjk0NjEwMTM4OWM0IDEwMDY0NAotLS0g YS9saWJzdGRjKystdjMvc3JjL01ha2VmaWxlLmluCisrKyBiL2xpYnN0ZGMrKy12My9zcmMv TWFrZWZpbGUuaW4KQEAgLTE1OCwxMCArMTU4LDkgQEAgYW1fX29iamVjdHNfMiA9IGNvbXBh dGliaWxpdHkubG8gY29tcGF0aWJpbGl0eS1kZWJ1Z19saXN0LmxvIFwKIEBFTkFCTEVfU1lN VkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQAljb21wYXRpYmlsaXR5LWNocm9uby5sbyBcCiBA RU5BQkxFX1NZTVZFUlNfR05VX05BTUVTUEFDRV9GQUxTRUAJY29tcGF0aWJpbGl0eS1jb25k dmFyLmxvIFwKIEBFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQAljb21wYXRp YmlsaXR5LXRocmVhZC1jKysweC5sbwotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQEBHTElCQ1hY X0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQGFtX19vYmplY3RzXzQgPSBjb21wYXRpYmlsaXR5 LWxkYmwtYWx0MTI4LWN4eDExLmxvCi1AR0xJQkNYWF9MREJMX0FMVDEyOF9DT01QQVRfVFJV RUBhbV9fb2JqZWN0c181ID0gIFwKLUBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVF QAljb21wYXRpYmlsaXR5LWxkYmwtYWx0MTI4LmxvIFwKLUBHTElCQ1hYX0xEQkxfQUxUMTI4 X0NPTVBBVF9UUlVFQAkkKGFtX19vYmplY3RzXzQpCitARU5BQkxFX0RVQUxfQUJJX1RSVUVA QEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAQEdMSUJDWFhfTERCTF9BTFQx MjhfQ09NUEFUX1RSVUVAYW1fX29iamVjdHNfNCA9IGNvbXBhdGliaWxpdHktbGRibC1hbHQx MjgtY3h4MTEubG8KK0BFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElC Q1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQGFtX19vYmplY3RzXzUgPSBjb21wYXRpYmls aXR5LWxkYmwtYWx0MTI4LmxvIFwKK0BFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZB TFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQAkkKGFtX19vYmplY3RzXzQp CiBhbV9fb2JqZWN0c182ID0gJChhbV9fb2JqZWN0c18zKSAkKGFtX19vYmplY3RzXzUpCiBh bV9saWJzdGRjX19fbGFfT0JKRUNUUyA9ICQoYW1fX29iamVjdHNfMikgJChhbV9fb2JqZWN0 c182KQogbGlic3RkY19fX2xhX09CSkVDVFMgPSAkKGFtX2xpYnN0ZGNfX19sYV9PQkpFQ1RT KQpAQCAtNTA2LDE0ICs1MDUsMTUgQEAgU1VCRElSUyA9IGMrKzk4IGMrKzExIGMrKzE3IGMr KzIwICQoZmlsZXN5c3RlbV9kaXIpICQoYmFja3RyYWNlX2RpcikKIAogQEdMSUJDWFhfTERC TF9DT01QQVRfRkFMU0VAbGRibF9jb21wYXRfc291cmNlcyA9IAogQEdMSUJDWFhfTERCTF9D T01QQVRfVFJVRUBsZGJsX2NvbXBhdF9zb3VyY2VzID0gY29tcGF0aWJpbGl0eS1sZGJsLmNj Ci1ARU5BQkxFX0RVQUxfQUJJX0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9U UlVFQGxkYmxfYWx0MTI4X2NvbXBhdF9jeHgxMV9zb3VyY2VzID0gCi1ARU5BQkxFX0RVQUxf QUJJX1RSVUVAQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX1RSVUVAbGRibF9hbHQxMjhf Y29tcGF0X2N4eDExX3NvdXJjZXMgPSBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVAQEdMSUJD WFhfTERCTF9BTFQxMjhfQ09NUEFUX1RSVUVACWNvbXBhdGliaWxpdHktbGRibC1hbHQxMjgt Y3h4MTEuY2MKLQotQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX0ZBTFNFQGxkYmxfYWx0 MTI4X2NvbXBhdF9zb3VyY2VzID0gCi1AR0xJQkNYWF9MREJMX0FMVDEyOF9DT01QQVRfVFJV RUBsZGJsX2FsdDEyOF9jb21wYXRfc291cmNlcyA9IFwKLUBHTElCQ1hYX0xEQkxfQUxUMTI4 X0NPTVBBVF9UUlVFQAljb21wYXRpYmlsaXR5LWxkYmwtYWx0MTI4LmNjIFwKLUBHTElCQ1hY X0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQAkke2xkYmxfYWx0MTI4X2NvbXBhdF9jeHgxMV9z b3VyY2VzfQorQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAQEdMSUJDWFhf TERCTF9BTFQxMjhfQ09NUEFUX0ZBTFNFQGxkYmxfYWx0MTI4X2NvbXBhdF9zb3VyY2VzID0g CitARU5BQkxFX1NZTVZFUlNfR05VX05BTUVTUEFDRV9GQUxTRUBAR0xJQkNYWF9MREJMX0FM VDEyOF9DT01QQVRfVFJVRUBsZGJsX2FsdDEyOF9jb21wYXRfc291cmNlcyA9IFwKK0BFTkFC TEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NP TVBBVF9UUlVFQAljb21wYXRpYmlsaXR5LWxkYmwtYWx0MTI4LmNjIFwKK0BFTkFCTEVfU1lN VkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9U UlVFQAkke2xkYmxfYWx0MTI4X2NvbXBhdF9jeHgxMV9zb3VyY2VzfQorCitARU5BQkxFX1NZ TVZFUlNfR05VX05BTUVTUEFDRV9UUlVFQGxkYmxfYWx0MTI4X2NvbXBhdF9zb3VyY2VzID0g CitARU5BQkxFX0RVQUxfQUJJX0ZBTFNFQEBFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNF X0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQGxkYmxfYWx0MTI4X2Nv bXBhdF9jeHgxMV9zb3VyY2VzID0gCitARU5BQkxFX0RVQUxfQUJJX1RSVUVAQEVOQUJMRV9T WU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFU X1RSVUVAbGRibF9hbHQxMjhfY29tcGF0X2N4eDExX3NvdXJjZXMgPSBcCitARU5BQkxFX0RV QUxfQUJJX1RSVUVAQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAQEdMSUJD WFhfTERCTF9BTFQxMjhfQ09NUEFUX1RSVUVACWNvbXBhdGliaWxpdHktbGRibC1hbHQxMjgt Y3h4MTEuY2MKIAogQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAY3h4MHhf Y29tcGF0X3NvdXJjZXMgPSBcCiBARU5BQkxFX1NZTVZFUlNfR05VX05BTUVTUEFDRV9GQUxT RUAJY29tcGF0aWJpbGl0eS1hdG9taWMtYysrMHguY2MgXApkaWZmIC0tZ2l0IGEvbGlic3Rk YysrLXYzL3NyYy9jKysxMS9NYWtlZmlsZS5hbSBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEv TWFrZWZpbGUuYW0KaW5kZXggZWNkNDZhYWZjMDEuLmIyMmM1NGZhMDU3IDEwMDY0NAotLS0g YS9saWJzdGRjKystdjMvc3JjL2MrKzExL01ha2VmaWxlLmFtCisrKyBiL2xpYnN0ZGMrKy12 My9zcmMvYysrMTEvTWFrZWZpbGUuYW0KQEAgLTQwLDIyICs0MCwyMiBAQCBjdHlwZV9tZW1i ZXJzLmNjOiAke2dsaWJjeHhfc3JjZGlyfS8kKENDVFlQRV9DQykKIAkkKExOX1MpICR7Z2xp YmN4eF9zcmNkaXJ9LyQoQ0NUWVBFX0NDKSAuIHx8IHRydWUKIAogaWYgRU5BQkxFX0RVQUxf QUJJCi1jeHgxMV9hYmlfc291cmNlcyA9IFwKLQljb3ctbG9jYWxlX2luaXQuY2MgXAorZHVh bF9hYmlfc291cmNlcyA9IFwKIAljb3ctc2hpbV9mYWNldHMuY2MgXAotCWN4eDExLWhhc2hf dHIxLmNjIFwKLQljeHgxMS1pb3NfZmFpbHVyZS5jYyBcCi0JY3h4MTEtc2hpbV9mYWNldHMu Y2MgXAotCWN4eDExLXN0ZGV4Y2VwdC5jYworCWN4eDExLXNoaW1fZmFjZXRzLmNjCiBlbHNl Ci1jeHgxMV9hYmlfc291cmNlcyA9CitkdWFsX2FiaV9zb3VyY2VzID0KIGVuZGlmCiAKIHNv dXJjZXMgPSBcCiAJY2hyb25vLmNjIFwKIAljb2RlY3Z0LmNjIFwKIAljb25kaXRpb25fdmFy aWFibGUuY2MgXAorCWNvdy1sb2NhbGVfaW5pdC5jYyBcCiAJY293LXN0ZGV4Y2VwdC5jYyBc CisJY3h4MTEtaGFzaF90cjEuY2MgXAorCWN4eDExLWlvc19mYWlsdXJlLmNjIFwKKwljeHgx MS1zdGRleGNlcHQuY2MgXAogCWN0eXBlLmNjIFwKIAlkZWJ1Zy5jYyBcCiAJZnVuY3RleGNl cHQuY2MgXApAQCAtNzUsMTkgKzc1LDExIEBAIHNvdXJjZXMgPSBcCiAJc25wcmludGZfbGl0 ZS5jYyBcCiAJc3lzdGVtX2Vycm9yLmNjIFwKIAl0aHJlYWQuY2MgXAotCSR7Y3h4MTFfYWJp X3NvdXJjZXN9IFwKKwkke2R1YWxfYWJpX3NvdXJjZXN9IFwKIAkke2hvc3Rfc291cmNlc30K IAogaWYgRU5BQkxFX0RVQUxfQUJJCiBleHRyYV9zdHJpbmdfaW5zdF9zb3VyY2VzID0gXAot CWNvdy1mc3RyZWFtLWluc3QuY2MgXAotCWNvdy1zc3RyZWFtLWluc3QuY2MgXAotCWNvdy1z dHJpbmctaW5zdC5jYyBcCi0JY293LXN0cmluZy1pby1pbnN0LmNjIFwKLQljb3ctd3N0cmlu Zy1pbnN0LmNjIFwKLQljb3ctd3N0cmluZy1pby1pbnN0LmNjIFwKLQljeHgxMS1sb2NhbGUt aW5zdC5jYyBcCi0JY3h4MTEtd2xvY2FsZS1pbnN0LmNjIFwKIAlzc29fc3RyaW5nLmNjCiBl bHNlCiBleHRyYV9zdHJpbmdfaW5zdF9zb3VyY2VzID0KQEAgLTk3LDYgKzg5LDE0IEBAIGlm IEVOQUJMRV9FWFRFUk5fVEVNUExBVEUKICMgWFRFTVBMQVRFX0ZMQUdTID0gLWZuby1pbXBs aWNpdC10ZW1wbGF0ZXMKIGluc3Rfc291cmNlcyA9IFwKIAkkKGV4dHJhX3N0cmluZ19pbnN0 X3NvdXJjZXMpIFwKKwljb3ctZnN0cmVhbS1pbnN0LmNjIFwKKwljb3ctc3N0cmVhbS1pbnN0 LmNjIFwKKwljb3ctc3RyaW5nLWluc3QuY2MgXAorCWNvdy1zdHJpbmctaW8taW5zdC5jYyBc CisJY293LXdzdHJpbmctaW5zdC5jYyBcCisJY293LXdzdHJpbmctaW8taW5zdC5jYyBcCisJ Y3h4MTEtbG9jYWxlLWluc3QuY2MgXAorCWN4eDExLXdsb2NhbGUtaW5zdC5jYyBcCiAJZXh0 MTEtaW5zdC5jYyBcCiAJZnN0cmVhbS1pbnN0LmNjIFwKIAlpb3MtaW5zdC5jYyBcCmRpZmYg LS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzExL01ha2VmaWxlLmluIGIvbGlic3RkYysr LXYzL3NyYy9jKysxMS9NYWtlZmlsZS5pbgppbmRleCA0ZGIyOGJkODUxNS4uZmE1Yjk1NDNm NzYgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvTWFrZWZpbGUuaW4KKysr IGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9NYWtlZmlsZS5pbgpAQCAtMTIyLDI2ICsxMjIs MjcgQEAgQ09ORklHX0NMRUFOX0ZJTEVTID0KIENPTkZJR19DTEVBTl9WUEFUSF9GSUxFUyA9 CiBMVExJQlJBUklFUyA9ICQobm9pbnN0X0xUTElCUkFSSUVTKQogbGliY19fMTFjb252ZW5p ZW5jZV9sYV9MSUJBREQgPQotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQGFtX19vYmplY3RzXzEg PSBjb3ctbG9jYWxlX2luaXQubG8gXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljb3ctc2hp bV9mYWNldHMubG8gY3h4MTEtaGFzaF90cjEubG8gXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVF QAljeHgxMS1pb3NfZmFpbHVyZS5sbyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWN4eDEx LXNoaW1fZmFjZXRzLmxvIGN4eDExLXN0ZGV4Y2VwdC5sbworQEVOQUJMRV9EVUFMX0FCSV9U UlVFQGFtX19vYmplY3RzXzEgPSBjb3ctc2hpbV9mYWNldHMubG8gXAorQEVOQUJMRV9EVUFM X0FCSV9UUlVFQAljeHgxMS1zaGltX2ZhY2V0cy5sbwogYW1fX29iamVjdHNfMiA9IGN0eXBl X2NvbmZpZ3VyZV9jaGFyLmxvIGN0eXBlX21lbWJlcnMubG8KIGFtX19vYmplY3RzXzMgPSBj aHJvbm8ubG8gY29kZWN2dC5sbyBjb25kaXRpb25fdmFyaWFibGUubG8gXAotCWNvdy1zdGRl eGNlcHQubG8gY3R5cGUubG8gZGVidWcubG8gZnVuY3RleGNlcHQubG8gXAotCWZ1bmN0aW9u YWwubG8gZnV0ZXgubG8gZnV0dXJlLmxvIGhhc2hfYysrMHgubG8gXAorCWNvdy1sb2NhbGVf aW5pdC5sbyBjb3ctc3RkZXhjZXB0LmxvIGN4eDExLWhhc2hfdHIxLmxvIFwKKwljeHgxMS1p b3NfZmFpbHVyZS5sbyBjeHgxMS1zdGRleGNlcHQubG8gY3R5cGUubG8gZGVidWcubG8gXAor CWZ1bmN0ZXhjZXB0LmxvIGZ1bmN0aW9uYWwubG8gZnV0ZXgubG8gZnV0dXJlLmxvIGhhc2hf YysrMHgubG8gXAogCWhhc2h0YWJsZV9jKysweC5sbyBpb3MubG8gaW9zX2VycmNhdC5sbyBs aW1pdHMubG8gbXV0ZXgubG8gXAogCXBsYWNlaG9sZGVycy5sbyByYW5kb20ubG8gcmVnZXgu bG8gc2hhcmVkX3B0ci5sbyBcCiAJc25wcmludGZfbGl0ZS5sbyBzeXN0ZW1fZXJyb3IubG8g dGhyZWFkLmxvICQoYW1fX29iamVjdHNfMSkgXAogCSQoYW1fX29iamVjdHNfMikKLUBFTkFC TEVfRFVBTF9BQklfVFJVRUBhbV9fb2JqZWN0c180ID0gY293LWZzdHJlYW0taW5zdC5sbyBc Ci1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy1zc3RyZWFtLWluc3QubG8gY293LXN0cmlu Zy1pbnN0LmxvIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293LXN0cmluZy1pby1pbnN0 LmxvIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293LXdzdHJpbmctaW5zdC5sbyBcCi1A RU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy13c3RyaW5nLWlvLWluc3QubG8gXAotQEVOQUJM RV9EVUFMX0FCSV9UUlVFQAljeHgxMS1sb2NhbGUtaW5zdC5sbyBcCi1ARU5BQkxFX0RVQUxf QUJJX1RSVUVACWN4eDExLXdsb2NhbGUtaW5zdC5sbyBzc29fc3RyaW5nLmxvCitARU5BQkxF X0RVQUxfQUJJX1RSVUVAYW1fX29iamVjdHNfNCA9IHNzb19zdHJpbmcubG8KIEBFTkFCTEVf RVhURVJOX1RFTVBMQVRFX1RSVUVAYW1fX29iamVjdHNfNSA9ICQoYW1fX29iamVjdHNfNCkg XAorQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY293LWZzdHJlYW0taW5zdC5sbyBc CitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctc3N0cmVhbS1pbnN0LmxvIFwK K0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy1zdHJpbmctaW5zdC5sbyBcCitA RU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctc3RyaW5nLWlvLWluc3QubG8gXAor QEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY293LXdzdHJpbmctaW5zdC5sbyBcCitA RU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctd3N0cmluZy1pby1pbnN0LmxvIFwK K0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWN4eDExLWxvY2FsZS1pbnN0LmxvIFwK K0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWN4eDExLXdsb2NhbGUtaW5zdC5sbyBc CiBARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAlleHQxMS1pbnN0LmxvIGZzdHJlYW0t aW5zdC5sbyBcCiBARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAlpb3MtaW5zdC5sbyBp b3N0cmVhbS1pbnN0LmxvIFwKIEBFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWlzdHJl YW0taW5zdC5sbyBsb2NhbGUtaW5zdC5sbyBcCkBAIC00NTcsMjAgKzQ1OCwyMCBAQCBob3N0 X3NvdXJjZXMgPSBcCiAJY3R5cGVfY29uZmlndXJlX2NoYXIuY2MgXAogCWN0eXBlX21lbWJl cnMuY2MKIAotQEVOQUJMRV9EVUFMX0FCSV9GQUxTRUBjeHgxMV9hYmlfc291cmNlcyA9IAot QEVOQUJMRV9EVUFMX0FCSV9UUlVFQGN4eDExX2FiaV9zb3VyY2VzID0gXAotQEVOQUJMRV9E VUFMX0FCSV9UUlVFQAljb3ctbG9jYWxlX2luaXQuY2MgXAorQEVOQUJMRV9EVUFMX0FCSV9G QUxTRUBkdWFsX2FiaV9zb3VyY2VzID0gCitARU5BQkxFX0RVQUxfQUJJX1RSVUVAZHVhbF9h Ymlfc291cmNlcyA9IFwKIEBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293LXNoaW1fZmFjZXRz LmNjIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY3h4MTEtaGFzaF90cjEuY2MgXAotQEVO QUJMRV9EVUFMX0FCSV9UUlVFQAljeHgxMS1pb3NfZmFpbHVyZS5jYyBcCi1ARU5BQkxFX0RV QUxfQUJJX1RSVUVACWN4eDExLXNoaW1fZmFjZXRzLmNjIFwKLUBFTkFCTEVfRFVBTF9BQklf VFJVRUAJY3h4MTEtc3RkZXhjZXB0LmNjCitARU5BQkxFX0RVQUxfQUJJX1RSVUVACWN4eDEx LXNoaW1fZmFjZXRzLmNjCiAKIHNvdXJjZXMgPSBcCiAJY2hyb25vLmNjIFwKIAljb2RlY3Z0 LmNjIFwKIAljb25kaXRpb25fdmFyaWFibGUuY2MgXAorCWNvdy1sb2NhbGVfaW5pdC5jYyBc CiAJY293LXN0ZGV4Y2VwdC5jYyBcCisJY3h4MTEtaGFzaF90cjEuY2MgXAorCWN4eDExLWlv c19mYWlsdXJlLmNjIFwKKwljeHgxMS1zdGRleGNlcHQuY2MgXAogCWN0eXBlLmNjIFwKIAlk ZWJ1Zy5jYyBcCiAJZnVuY3RleGNlcHQuY2MgXApAQCAtNDkwLDE5ICs0OTEsMTEgQEAgc291 cmNlcyA9IFwKIAlzbnByaW50Zl9saXRlLmNjIFwKIAlzeXN0ZW1fZXJyb3IuY2MgXAogCXRo cmVhZC5jYyBcCi0JJHtjeHgxMV9hYmlfc291cmNlc30gXAorCSR7ZHVhbF9hYmlfc291cmNl c30gXAogCSR7aG9zdF9zb3VyY2VzfQogCiBARU5BQkxFX0RVQUxfQUJJX0ZBTFNFQGV4dHJh X3N0cmluZ19pbnN0X3NvdXJjZXMgPSAKIEBFTkFCTEVfRFVBTF9BQklfVFJVRUBleHRyYV9z dHJpbmdfaW5zdF9zb3VyY2VzID0gXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljb3ctZnN0 cmVhbS1pbnN0LmNjIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293LXNzdHJlYW0taW5z dC5jYyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy1zdHJpbmctaW5zdC5jYyBcCi1A RU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy1zdHJpbmctaW8taW5zdC5jYyBcCi1ARU5BQkxF X0RVQUxfQUJJX1RSVUVACWNvdy13c3RyaW5nLWluc3QuY2MgXAotQEVOQUJMRV9EVUFMX0FC SV9UUlVFQAljb3ctd3N0cmluZy1pby1pbnN0LmNjIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJV RUAJY3h4MTEtbG9jYWxlLWluc3QuY2MgXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljeHgx MS13bG9jYWxlLWluc3QuY2MgXAogQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAlzc29fc3RyaW5n LmNjCiAKICMgWFRFTVBMQVRFX0ZMQUdTID0KQEAgLTUxMSw2ICs1MDQsMTQgQEAgc291cmNl cyA9IFwKICMgWFRFTVBMQVRFX0ZMQUdTID0gLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMKIEBF TkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVAaW5zdF9zb3VyY2VzID0gXAogQEVOQUJMRV9F WFRFUk5fVEVNUExBVEVfVFJVRUAJJChleHRyYV9zdHJpbmdfaW5zdF9zb3VyY2VzKSBcCitA RU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctZnN0cmVhbS1pbnN0LmNjIFwKK0BF TkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy1zc3RyZWFtLWluc3QuY2MgXAorQEVO QUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY293LXN0cmluZy1pbnN0LmNjIFwKK0BFTkFC TEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy1zdHJpbmctaW8taW5zdC5jYyBcCitARU5B QkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctd3N0cmluZy1pbnN0LmNjIFwKK0BFTkFC TEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy13c3RyaW5nLWlvLWluc3QuY2MgXAorQEVO QUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY3h4MTEtbG9jYWxlLWluc3QuY2MgXAorQEVO QUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY3h4MTEtd2xvY2FsZS1pbnN0LmNjIFwKIEBF TkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWV4dDExLWluc3QuY2MgXAogQEVOQUJMRV9F WFRFUk5fVEVNUExBVEVfVFJVRUAJZnN0cmVhbS1pbnN0LmNjIFwKIEBFTkFCTEVfRVhURVJO X1RFTVBMQVRFX1RSVUVACWlvcy1pbnN0LmNjIFwKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My9zcmMvYysrMTEvY293LWZzdHJlYW0taW5zdC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysr MTEvY293LWZzdHJlYW0taW5zdC5jYwppbmRleCA2YjYzNTJjMTQxOS4uZDk2NTc0ODQzMjYg MTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LWZzdHJlYW0taW5zdC5j YworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy1mc3RyZWFtLWluc3QuY2MKQEAg LTI5LDEwICsyOSw3IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgMAogI2lu Y2x1ZGUgPGZzdHJlYW0+CiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQotIyBlcnJv ciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3IgdGhpcyBjb25maWd1cmF0 aW9uLgotI2VuZGlmCi0KKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKIG5hbWVzcGFj ZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewogX0dMSUJDWFhfQkVHSU5f TkFNRVNQQUNFX1ZFUlNJT04KQEAgLTc2LDMgKzczLDQgQEAgX0dMSUJDWFhfQkVHSU5fTkFN RVNQQUNFX1ZFUlNJT04KIAogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8v IG5hbWVzcGFjZQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzEx L2Nvdy1sb2NhbGVfaW5pdC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LWxvY2Fs ZV9pbml0LmNjCmluZGV4IDRkNWMwOGYyMGNjLi5mYTI3YjQxNDJmMiAxMDA2NDQKLS0tIGEv bGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctbG9jYWxlX2luaXQuY2MKKysrIGIvbGlic3Rk YysrLXYzL3NyYy9jKysxMS9jb3ctbG9jYWxlX2luaXQuY2MKQEAgLTI0LDEwICsyNCw3IEBA CiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgMAogI2luY2x1ZGUgPGxvY2FsZT4K IAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91 bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKLQor I2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogbmFtZXNwYWNlIHN0ZCBfR0xJQkNYWF9W SVNJQklMSVRZKGRlZmF1bHQpCiB7CiBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lP TgpAQCAtMTkzLDMgKzE5MCw0IEBAIG5hbWVzcGFjZQogCiBfR0xJQkNYWF9FTkRfTkFNRVNQ QUNFX1ZFUlNJT04KIH0KKyNlbmRpZiAvLyAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKZGlm ZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXNzdHJlYW0taW5zdC5jYyBi L2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXNzdHJlYW0taW5zdC5jYwppbmRleCA4ODM5 ZjRhNmY3NS4uMmRiNzhhNDNmNTAgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysr MTEvY293LXNzdHJlYW0taW5zdC5jYworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nv dy1zc3RyZWFtLWluc3QuY2MKQEAgLTI3LDggKzI3LDggQEAKIC8vCiAKICNkZWZpbmUgX0dM SUJDWFhfVVNFX0NYWDExX0FCSSAwCi0jaW5jbHVkZSAic3N0cmVhbS1pbnN0LmNjIgorI2lu Y2x1ZGUgPGJpdHMvYysrY29uZmlnLmg+CiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9EVUFMX0FC SQotIyBlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3IgdGhpcyBj b25maWd1cmF0aW9uLgorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQorIyBpbmNsdWRl ICJzc3RyZWFtLWluc3QuY2MiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9z cmMvYysrMTEvY293LXN0ZGV4Y2VwdC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293 LXN0ZGV4Y2VwdC5jYwppbmRleCA5ZTg3ODc0ODVlYi4uOGIyMTdjNDU5NjAgMTAwNjQ0Ci0t LSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0ZGV4Y2VwdC5jYworKysgYi9saWJz dGRjKystdjMvc3JjL2MrKzExL2Nvdy1zdGRleGNlcHQuY2MKQEAgLTQxLDcgKzQxLDcgQEAg X3R4bmFsX2xvZ2ljX2Vycm9yX2dldF9tc2codm9pZCogZSk7CiB2b2lkKgogX3R4bmFsX3J1 bnRpbWVfZXJyb3JfZ2V0X21zZyh2b2lkKiBlKTsKIAotLy8gQWxsIGV4Y2VwdGlvbiBjbGFz c2VzIHN0aWxsIHVzZSB0aGUgY2xhc3NpYyBDT1cgc3RkOjpzdHJpbmcuCisvLyBJbiBkdWFs IGFiaSBhbGwgZXhjZXB0aW9uIGNsYXNzZXMgc3RpbGwgdXNlIHRoZSBjbGFzc2ljIENPVyBz dGQ6OnN0cmluZy4KICNkZWZpbmUgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAwCiAjZGVmaW5l IF9HTElCQ1hYX0RFRklORV9TVERFWENFUFRfQ09QWV9PUFMgMQogI2RlZmluZSBfX2Nvd19z dHJpbmcgX19jb3dfc3RyaW5neHh4CkBAIC0xNjksNiArMTY5LDcgQEAgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgICAgICAgICAgICAiYWxpZ25vZihzdGQ6OnN0 cmluZykgaGFzIGNoYW5nZWQiKTsKICNlbmRpZgogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hY MTFfQUJJCiAgIC8vIFJldHVybiBlcnJvcl9jYXRlZ29yeTo6bWVzc2FnZSgpIGFzIGFuIFNT TyBzdHJpbmcKICAgX19zc29fc3RyaW5nCiAgIGVycm9yX2NhdGVnb3J5OjpfTV9tZXNzYWdl KGludCBpKSBjb25zdApAQCAtMTc2LDEwICsxNzcsMTIgQEAgX0dMSUJDWFhfQkVHSU5fTkFN RVNQQUNFX1ZFUlNJT04KICAgICBzdHJpbmcgbXNnID0gdGhpcy0+bWVzc2FnZShpKTsKICAg ICByZXR1cm4ge21zZy5jX3N0cigpLCBtc2cubGVuZ3RoKCl9OwogICB9CisjZW5kaWYKIAog X0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQogCisjaWYg ISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAvLyBTdXBwb3J0IGZvciB0aGUgVHJhbnNhY3Rp b25hbCBNZW1vcnkgVFMgKE40NTE0KS4KIC8vCiAvLyBsb2dpY19lcnJvciBhbmQgcnVudGlt ZV9lcnJvciBib3RoIGNhcnJ5IGEgbWVzc2FnZSBpbiB0aGUgZm9ybSBvZiBhIENPVwpAQCAt NDYzLDMgKzQ2Niw0IEBAIENUT1JEVE9SKDE1dW5kZXJmbG93X2Vycm9yLCBzdGQ6OnVuZGVy Zmxvd19lcnJvciwgcnVudGltZV9lcnJvcikKIAogI2VuZGlmICAvLyBfR0xJQkNYWF9VU0Vf Qzk5X1NURElOVF9UUjEKICNlbmRpZiAgLy8gX0dMSUJDWFhfVVNFX1dFQUtfUkVGCisjZW5k aWYgIC8vICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQpkaWZmIC0tZ2l0IGEvbGlic3RkYysr LXYzL3NyYy9jKysxMS9jb3ctc3RyaW5nLWluc3QuY2MgYi9saWJzdGRjKystdjMvc3JjL2Mr KzExL2Nvdy1zdHJpbmctaW5zdC5jYwppbmRleCBlNTMzMWJiMDI5YS4uNDBlYmU3MDg5NzEg MTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0cmluZy1pbnN0LmNj CisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0cmluZy1pbnN0LmNjCkBAIC0y NywxMSArMjcsMTAgQEAKIC8vCiAKICNkZWZpbmUgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAw Ci0jaW5jbHVkZSAic3RyaW5nLWluc3QuY2MiCisjaW5jbHVkZSA8Yml0cy9jKytjb25maWcu aD4KIAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBz aG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYK KyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpbmNsdWRlICJzdHJpbmctaW5zdC5j YyIKIAogI2lmZGVmICBfR0xJQkNYWF9VU0VfQzk5X1NURElOVF9UUjEKICNpbmNsdWRlIDxy YW5kb20+CkBAIC00NywzICs0Niw0IEBAIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJ TElUWShkZWZhdWx0KQogICB7IF9NX2luaXQodG9rZW4uY19zdHIoKSwgdG9rZW4ubGVuZ3Ro KCkpOyB9CiB9IC8vIG5hbWVzcGFjZQogI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0cmluZy1pby1pbnN0LmNjIGIvbGlic3RkYysr LXYzL3NyYy9jKysxMS9jb3ctc3RyaW5nLWlvLWluc3QuY2MKaW5kZXggM2Y2NWFlYjk4NzMu LmEzNzIwNjgwOTA3IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy1z dHJpbmctaW8taW5zdC5jYworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy1zdHJp bmctaW8taW5zdC5jYwpAQCAtMzAsMTAgKzMwLDcgQEAKICNpbmNsdWRlIDxpc3RyZWFtPgog I2luY2x1ZGUgPG9zdHJlYW0+CiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQotIyBl cnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3IgdGhpcyBjb25maWd1 cmF0aW9uLgotI2VuZGlmCi0KKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKIG5hbWVz cGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewogX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KQEAgLTU3LDMgKzU0LDQgQEAgX0dMSUJDWFhfQkVHSU5f TkFNRVNQQUNFX1ZFUlNJT04KIAogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9 IC8vIG5hbWVzcGFjZQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2Mr KzExL2Nvdy13c3RyaW5nLWluc3QuY2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy13 c3RyaW5nLWluc3QuY2MKaW5kZXggYTM4YzEyODhlZjMuLmIwZWZmN2VmOTdkIDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy13c3RyaW5nLWluc3QuY2MKKysrIGIv bGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctd3N0cmluZy1pbnN0LmNjCkBAIC0yOSwxMiAr MjksOSBAQAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDAKICNpbmNsdWRlIDxi aXRzL2MrK2NvbmZpZy5oPgogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAjaWZk ZWYgX0dMSUJDWFhfVVNFX1dDSEFSX1QKICNkZWZpbmUgQyB3Y2hhcl90CiAjaW5jbHVkZSAi c3RyaW5nLWluc3QuY2MiCi0KLSNpZiAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQotIyBlcnJv ciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3IgdGhpcyBjb25maWd1cmF0 aW9uLgogI2VuZGlmCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9j KysxMS9jb3ctd3N0cmluZy1pby1pbnN0LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9j b3ctd3N0cmluZy1pby1pbnN0LmNjCmluZGV4IGRiZDE5ZTBmZWIwLi5mMGVkNWNjNmI2YiAx MDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctd3N0cmluZy1pby1pbnN0 LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXdzdHJpbmctaW8taW5zdC5j YwpAQCAtMjksMTQgKzI5LDExIEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkg MAogI2luY2x1ZGUgPGJpdHMvYysrY29uZmlnLmg+CiAKKyNpZiAhIF9HTElCQ1hYX1VTRV9D WFgxMV9BQkkKICNpZmRlZiBfR0xJQkNYWF9VU0VfV0NIQVJfVAogI2luY2x1ZGUgPG9zdHJl YW0+CiAjaW5jbHVkZSA8aXN0cmVhbT4KIAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJ Ci0jIGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNv bmZpZ3VyYXRpb24uCi0jZW5kaWYKLQogbmFtZXNwYWNlIHN0ZCBfR0xJQkNYWF9WSVNJQklM SVRZKGRlZmF1bHQpCiB7CiBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgpAQCAt NjEsMyArNTgsNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogX0dMSUJD WFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQogI2VuZGlmCisjZW5k aWYKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtaGFzaF90cjEu Y2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4eDExLWhhc2hfdHIxLmNjCmluZGV4IGYz NjU0MWZkNGNjLi5lZGQ4OTk3NGUxYiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3NyYy9j KysxMS9jeHgxMS1oYXNoX3RyMS5jYworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4 eDExLWhhc2hfdHIxLmNjCkBAIC0yNSw5ICsyNSw3IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VT RV9DWFgxMV9BQkkgMQogI2luY2x1ZGUgPHN0cmluZz4KIAotI2lmICEgX0dMSUJDWFhfVVNF X0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZv ciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKKyNpZiBfR0xJQkNYWF9VU0VfQ1hYMTFf QUJJCiAKICNpbmNsdWRlIDx0cjEvZnVuY3Rpb25hbD4KIG5hbWVzcGFjZSBzdGQgX0dMSUJD WFhfVklTSUJJTElUWShkZWZhdWx0KQpAQCAtNTcsMyArNTUsNSBAQCBuYW1lc3BhY2Ugc3Rk IF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKICNlbmRpZgogICB9CiB9CisKKyNlbmRp ZiAvLyBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv c3JjL2MrKzExL2N4eDExLWlvc19mYWlsdXJlLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysx MS9jeHgxMS1pb3NfZmFpbHVyZS5jYwppbmRleCAwYTgxZTE1ZTRjMC4uZGI0YzYyM2E1MzYg MTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtaW9zX2ZhaWx1cmUu Y2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1pb3NfZmFpbHVyZS5jYwpA QCAtMzgsOSArMzgsNyBAQAogIyBkZWZpbmUgXyhtc2dpZCkgICAobXNnaWQpCiAjZW5kaWYK IAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91 bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKKyNp ZiBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklT SUJJTElUWShkZWZhdWx0KQogewpAQCAtNjIsNyArNjAsNyBAQCBfR0xJQkNYWF9CRUdJTl9O QU1FU1BBQ0VfVkVSU0lPTgogICBpb3NfYmFzZTo6ZmFpbHVyZTo6d2hhdCgpIGNvbnN0IHRo cm93KCkKICAgeyByZXR1cm4gcnVudGltZV9lcnJvcjo6d2hhdCgpOyB9CiAKLSNpZiBfX2Nw cF9ydHRpCisjaWYgX0dMSUJDWFhfVVNFX0RVQUxfQUJJICYmIF9fY3BwX3J0dGkKICAgLy8g VGhlc2UgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIGluIHNyYy9jKys5OC9pb3NfZmFpbHVyZS5j YwogICBleHRlcm4gdm9pZCBfX2NvbnN0cnVjdF9pb3NfZmFpbHVyZSh2b2lkKiwgY29uc3Qg Y2hhciopOwogICBleHRlcm4gdm9pZCBfX2Rlc3Ryb3lfaW9zX2ZhaWx1cmUodm9pZCopOwpA QCAtMTE4LDcgKzExNiw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAg ICAgLy8gT3RoZXJ3aXNlIHByb2NlZWQgYXMgbm9ybWFsIHRvIHNlZSBpZiB0aGUgaGFuZGxl ciBtYXRjaGVzLgogICAgIHJldHVybiBfX2NsYXNzX3R5cGVfaW5mbzo6X19kb191cGNhc3Qo ZHN0X3R5cGUsIG9ial9wdHIpOwogICB9Ci0jZWxzZSAvLyAhIF9fY3BwX3J0dGkKKyNlbHNl IC8vICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJIHx8ICEgX19jcHBfcnR0aQogICB1c2luZyBf X2lvc19mYWlsdXJlID0gaW9zOjpmYWlsdXJlOwogI2VuZGlmCiAKQEAgLTEzNiwzICsxMzQs NSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCiBfR0xJQkNYWF9FTkRf TkFNRVNQQUNFX1ZFUlNJT04KIH0gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBfR0xJQkNY WF9VU0VfQ1hYMTFfQUJJCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4 eDExLWxvY2FsZS1pbnN0LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1sb2Nh bGUtaW5zdC5jYwppbmRleCA1Yzg2MDA1NGVhNi4uODE0Y2RjYzk5MDIgMTAwNjQ0Ci0tLSBh L2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtbG9jYWxlLWluc3QuY2MKKysrIGIvbGli c3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1sb2NhbGUtaW5zdC5jYwpAQCAtMjcsMTEgKzI3 LDUgQEAKIC8vIEZhY2V0IGluc3RhbnRpYXRpb25zIHVzaW5nIG5ldyBBQkkgc3RyaW5ncy4K IAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDEKLSNpbmNsdWRlIDxiaXRzL2Mr K2NvbmZpZy5oPgotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMg ZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0j ZW5kaWYKIAotI2RlZmluZSBDIGNoYXIKLSNkZWZpbmUgQ19pc19jaGFyCi0jIGluY2x1ZGUg ImxvY2FsZS1pbnN0LmNjIgorI2luY2x1ZGUgImxvY2FsZS1pbnN0LmNjIgpkaWZmIC0tZ2l0 IGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1zdGRleGNlcHQuY2MgYi9saWJzdGRj KystdjMvc3JjL2MrKzExL2N4eDExLXN0ZGV4Y2VwdC5jYwppbmRleCAyMzZiYzQwY2Q1NS4u OWZhZjM1NTk3N2EgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEt c3RkZXhjZXB0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtc3RkZXhj ZXB0LmNjCkBAIC0yOSw5ICsyOSw3IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9B QkkgMQogI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KIAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxf QUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlz IGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKKyNpZiBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAK IG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewpAQCAtNzAs OSArNjgsMTMgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgdW5kZXJm bG93X2Vycm9yOjp1bmRlcmZsb3dfZXJyb3IoY29uc3Qgc3RyaW5nJiBfX2FyZykKICAgOiBy dW50aW1lX2Vycm9yKF9fYXJnKSB7IH0KIAorIyBpZiBfR0xJQkNYWF9VU0VfRFVBTF9BQkkK ICAgLy8gQ29udmVydGluZyBjb25zdHJ1Y3RvciBmcm9tIEFCSS10YWdnZWQgc3RkOjpzdHJp bmcgdG8gQ09XIHN0cmluZy4KICAgX19jb3dfc3RyaW5nOjpfX2Nvd19zdHJpbmcoY29uc3Qg c3RyaW5nJiBzKQogICA6IF9fY293X3N0cmluZyhzLmNfc3RyKCksIHMubGVuZ3RoKCkpIHsg fQorIyBlbmRpZgogCiBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIH0gLy8gbmFt ZXNwYWNlCisKKyNlbmRpZiAvLyBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4eDExLXdsb2NhbGUtaW5zdC5jYyBiL2xpYnN0 ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtd2xvY2FsZS1pbnN0LmNjCmluZGV4IDZkMjYyOTIw NzVkLi43NDkxZDUxMTdkZiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9j eHgxMS13bG9jYWxlLWluc3QuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgx MS13bG9jYWxlLWluc3QuY2MKQEAgLTI4LDExICsyOCwxMCBAQAogCiAjZGVmaW5lIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkgMQogI2luY2x1ZGUgPGJpdHMvYysrY29uZmlnLmg+Ci0jaWYg ISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKLSMgZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3Qg YmUgY29tcGlsZWQgZm9yIHRoaXMgY29uZmlndXJhdGlvbi4KLSNlbmRpZgogCi0jaWZkZWYg X0dMSUJDWFhfVVNFX1dDSEFSX1QKLSNkZWZpbmUgQyB3Y2hhcl90Ci0jaW5jbHVkZSAibG9j YWxlLWluc3QuY2MiCisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQorIyBpZmRlZiBfR0xJ QkNYWF9VU0VfV0NIQVJfVAorIyAgZGVmaW5lIEMgd2NoYXJfdAorIyAgaW5jbHVkZSAibG9j YWxlLWluc3QuY2MiCisjIGVuZGlmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My9zcmMvYysrMTEvZnN0cmVhbS1pbnN0LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9m c3RyZWFtLWluc3QuY2MKaW5kZXggN2JmNTZjN2U4NjQuLjQ5NGM3YmI1MWQwIDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2ZzdHJlYW0taW5zdC5jYworKysgYi9saWJz dGRjKystdjMvc3JjL2MrKzExL2ZzdHJlYW0taW5zdC5jYwpAQCAtMjksNiArMjksNyBAQAog I2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDEKICNpbmNsdWRlIDxmc3RyZWFtPgog CisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogbmFtZXNwYWNlIHN0ZCBfR0xJQkNYWF9W SVNJQklMSVRZKGRlZmF1bHQpCiB7CiBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lP TgpAQCAtNDcsMyArNDgsNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgog CiBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIH0gLy8gbmFtZXNwYWNlCisjZW5k aWYKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvbG9jYWxlLWluc3QtbnVt ZXJpYy5oIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9sb2NhbGUtaW5zdC1udW1lcmljLmgK aW5kZXggMTQxN2FjMjVlZDQuLjViNzJjMzBiZDVhIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvc3JjL2MrKzExL2xvY2FsZS1pbnN0LW51bWVyaWMuaAorKysgYi9saWJzdGRjKystdjMv c3JjL2MrKzExL2xvY2FsZS1pbnN0LW51bWVyaWMuaApAQCAtMjMsMTIgKzIzLDEyIEBACiAv LyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAKICNpZm5kZWYgQwotI2RlZmlu ZSAiVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgZGlyZWN0bHksIG9ubHkgaW5j bHVkZWQiCisjIGVycm9yICJUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBkaXJl Y3RseSwgb25seSBpbmNsdWRlZCIKICNlbmRpZgogCiBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hY X1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkK KyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVBTF9B QkkKICAgdGVtcGxhdGUgY29uc3QgbnVtX2dldDxDPiYgdXNlX2ZhY2V0PG51bV9nZXQ8Qz4g Pihjb25zdCBsb2NhbGUmKTsKICAgdGVtcGxhdGUgY29uc3QgbnVtX3B1dDxDPiYgdXNlX2Zh Y2V0PG51bV9wdXQ8Qz4gPihjb25zdCBsb2NhbGUmKTsKIApAQCAtMzgsNyArMzgsNyBAQCBu YW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIAogX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX0xEQkwKIAotI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQor I2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FC SQogICB0ZW1wbGF0ZSBjbGFzcyBudW1fZ2V0PEMsIGlzdHJlYW1idWZfaXRlcmF0b3I8Qz4g PjsKICAgdGVtcGxhdGUgY2xhc3MgbnVtX3B1dDxDLCBvc3RyZWFtYnVmX2l0ZXJhdG9yPEM+ ID47CiAjZW5kaWYKQEAgLTg4LDcgKzg4LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNF X0xEQkwKIAkJICAgdW5zaWduZWQgbG9uZyBsb25nJikgY29uc3Q7CiAjZW5kaWYKIAotI2lm ICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogICAvLyBudW1fcHV0IG1lbWJlciBmdW5j dGlvbiB0ZW1wbGF0ZXMKICAgdGVtcGxhdGUKICAgICBvc3RyZWFtYnVmX2l0ZXJhdG9yPEM+ CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2xvY2FsZS1pbnN0LmNjIGIv bGlic3RkYysrLXYzL3NyYy9jKysxMS9sb2NhbGUtaW5zdC5jYwppbmRleCAzYWVlNWRmOWIw NC4uMzA4NDdjYmVmN2YgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvbG9j YWxlLWluc3QuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9sb2NhbGUtaW5zdC5j YwpAQCAtMzUsOCArMzUsMTcgQEAKICMgZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkg MAogI2VuZGlmCiAKLSNpbmNsdWRlIDxsb2NhbGU+CisjaWYgX0dMSUJDWFhfVVNFX0NYWDEx X0FCSQorIyBkZWZpbmUgX0dMSUJDWFhfQlVJTERfQ1hYMTFfQUJJIDEKKyNlbHNlCisjIGRl ZmluZSBfR0xJQkNYWF9CVUlMRF9DWFgxMV9BQkkgMAorI2VuZGlmCisKKyNpbmNsdWRlIDxi aXRzL2MrK2NvbmZpZy5oPgogCisjaWYgX0dMSUJDWFhfQlVJTERfQ1hYMTFfQUJJID09IF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkKKworI2luY2x1ZGUgPGxvY2FsZT4KIC8vIEluc3RhbnRp YXRpb24gY29uZmlndXJhdGlvbi4KICNpZm5kZWYgQwogIyBkZWZpbmUgQyBjaGFyCkBAIC01 MSw3ICs2MCw3IEBAIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0 KQogX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAogICAvLyBtb25leXB1bmN0 LCBtb25leV9nZXQsIGFuZCBtb25leV9wdXQKLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9B QkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVB TF9BQkkKICAgdGVtcGxhdGUgc3RydWN0IF9fbW9uZXlwdW5jdF9jYWNoZTxDLCBmYWxzZT47 CiAgIHRlbXBsYXRlIHN0cnVjdCBfX21vbmV5cHVuY3RfY2FjaGU8QywgdHJ1ZT47CiAjZW5k aWYKQEAgLTYzLDcgKzcyLDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX0NYWDExCiBf R0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCiAKICAgLy8gbnVtcHVuY3QsIG51bXB1bmN0 X2J5bmFtZSwgbnVtX2dldCwgYW5kIG51bV9wdXQKLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0Vf RFVBTF9BQkkKICAgdGVtcGxhdGUgc3RydWN0IF9fbnVtcHVuY3RfY2FjaGU8Qz47CiAjZW5k aWYKIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9DWFgxMQpAQCAtNzIsNyArODEsNyBAQCBf R0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfQ1hYMTEKIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0Vf Q1hYMTEKIAogICAvLyB0aW1lX2dldCBhbmQgdGltZV9wdXQKLSNpZiAhIF9HTElCQ1hYX1VT RV9DWFgxMV9BQkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNY WF9VU0VfRFVBTF9BQkkKICAgdGVtcGxhdGUgY2xhc3MgX190aW1lcHVuY3Q8Qz47CiAgIHRl bXBsYXRlIHN0cnVjdCBfX3RpbWVwdW5jdF9jYWNoZTxDPjsKICAgdGVtcGxhdGUgY2xhc3Mg dGltZV9wdXQ8Qywgb3N0cmVhbWJ1Zl9pdGVyYXRvcjxDPiA+OwpAQCAtOTYsMTMgKzEwNSwx MyBAQCBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCiAgIGN0eXBlX2J5bmFtZTxDPjo6 Y3R5cGVfYnluYW1lKGNvbnN0IHN0cmluZyYgX19zLCBzaXplX3QgX19yZWZzKQogICA6IGN0 eXBlX2J5bmFtZShfX3MuY19zdHIoKSwgX19yZWZzKSB7IH0KIAotI2lmICEgX0dMSUJDWFhf VVNFX0NYWDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8fCAhIF9HTElC Q1hYX1VTRV9EVUFMX0FCSQogICBpbmxpbmUgdGVtcGxhdGUgY2xhc3MgX19jdHlwZV9hYnN0 cmFjdF9iYXNlPEM+OwogICB0ZW1wbGF0ZSBjbGFzcyBjdHlwZV9ieW5hbWU8Qz47CiAjZW5k aWYKIAogICAvLyBjb2RlY3Z0Ci0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYg ISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAg IGlubGluZSB0ZW1wbGF0ZSBjbGFzcyBfX2NvZGVjdnRfYWJzdHJhY3RfYmFzZTxDLCBjaGFy LCBtYnN0YXRlX3Q+OwogICB0ZW1wbGF0ZSBjbGFzcyBjb2RlY3Z0X2J5bmFtZTxDLCBjaGFy LCBtYnN0YXRlX3Q+OwogI2Vsc2UKQEAgLTExNyw3ICsxMjYsNyBAQCBfR0xJQkNYWF9CRUdJ Tl9OQU1FU1BBQ0VfQ1hYMTEKIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0VfQ1hYMTEKIAogICAv LyB1c2VfZmFjZXQKLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKICAgdGVtcGxh dGUKICAgICBjb25zdCBjdHlwZTxDPiYKICAgICB1c2VfZmFjZXQ8Y3R5cGU8Qz4gPihjb25z dCBsb2NhbGUmKTsKQEAgLTE0Myw3ICsxNTIsNyBAQCBfR0xJQkNYWF9FTkRfTkFNRVNQQUNF X0NYWDExCiAgICAgY29uc3QgbW9uZXlwdW5jdDxDLCBmYWxzZT4mCiAgICAgdXNlX2ZhY2V0 PG1vbmV5cHVuY3Q8QywgZmFsc2U+ID4oY29uc3QgbG9jYWxlJik7CiAKLSNpZiAhIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBf R0xJQkNYWF9VU0VfRFVBTF9BQkkKICAgdGVtcGxhdGUKICAgICBjb25zdCBfX3RpbWVwdW5j dDxDPiYKICAgICB1c2VfZmFjZXQ8X190aW1lcHVuY3Q8Qz4gPihjb25zdCBsb2NhbGUmKTsK QEAgLTE2Miw3ICsxNzEsNyBAQCBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCiAgICAg dXNlX2ZhY2V0PG1lc3NhZ2VzPEM+ID4oY29uc3QgbG9jYWxlJik7CiAKICAgLy8gaGFzX2Zh Y2V0Ci0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYgISBfR0xJQkNYWF9VU0Vf Q1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAgIHRlbXBsYXRlCiAgICAg Ym9vbAogICAgIGhhc19mYWNldDxjdHlwZTxDPiA+KGNvbnN0IGxvY2FsZSYpOwpAQCAtMTg0 LDcgKzE5Myw3IEBAIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0VfQ1hYMTEKICAgICBib29sCiAg ICAgaGFzX2ZhY2V0PG1vbmV5cHVuY3Q8Qz4gPihjb25zdCBsb2NhbGUmKTsKIAotI2lmICEg X0dMSUJDWFhfVVNFX0NYWDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8 fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogICB0ZW1wbGF0ZQogICAgIGJvb2wKICAgICBo YXNfZmFjZXQ8X190aW1lcHVuY3Q8Qz4gPihjb25zdCBsb2NhbGUmKTsKQEAgLTIwMyw3ICsy MTIsNyBAQCBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCiAgICAgaGFzX2ZhY2V0PG1l c3NhZ2VzPEM+ID4oY29uc3QgbG9jYWxlJik7CiAKIAotI2lmICEgX0dMSUJDWFhfVVNFX0NY WDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8fCAhIF9HTElCQ1hYX1VT RV9EVUFMX0FCSQogICAvLyBsb2NhbGUgZnVuY3Rpb25zLgogICB0ZW1wbGF0ZQogICAgIEMq CkBAIC0yMjgsNyArMjM3LDExIEBAIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0VfQ1hYMTEKIF9H TElCQ1hYX0VORF9OQU1FU1BBQ0VfVkVSU0lPTgogfSAvLyBuYW1lc3BhY2UKIAorI2lmICEg X0dMSUJDWFhfSU5MSU5FX1ZFUlNJT04KIC8vIFhYWCBHTElCQ1hYX0FCSSBEZXByZWNhdGVk Ci0jaWYgZGVmaW5lZCBfR0xJQkNYWF9MT05HX0RPVUJMRV9DT01QQVQgJiYgISBfR0xJQkNY WF9VU0VfQ1hYMTFfQUJJCi0jaW5jbHVkZSAiY29tcGF0aWJpbGl0eS1sZGJsLWZhY2V0cy1h bGlhc2VzLmgiCi0jZW5kaWYgLy8gX0dMSUJDWFhfTE9OR19ET1VCTEVfQ09NUEFUCisjIGlm IGRlZmluZWQgX0dMSUJDWFhfTE9OR19ET1VCTEVfQ09NUEFUICYmICEgX0dMSUJDWFhfVVNF X0NYWDExX0FCSQorIyAgaW5jbHVkZSAiY29tcGF0aWJpbGl0eS1sZGJsLWZhY2V0cy1hbGlh c2VzLmgiCisjIGVuZGlmIC8vIF9HTElCQ1hYX0xPTkdfRE9VQkxFX0NPTVBBVAorI2VuZGlm CisKKyNlbmRpZiAvLyAgX0dMSUJDWFhfQlVJTERfQ1hYMTFfQUJJID09IF9HTElCQ1hYX1VT RV9DWFgxMV9BQkkKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvd2xvY2Fs ZS1pbnN0LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS93bG9jYWxlLWluc3QuY2MKaW5k ZXggMDg1NWY2NzcwN2MuLjAzMzhhOTU1NGEyIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv c3JjL2MrKzExL3dsb2NhbGUtaW5zdC5jYworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzEx L3dsb2NhbGUtaW5zdC5jYwpAQCAtMzAsNyArMzAsOSBAQAogI2RlZmluZSBfR0xJQkNYWF9V U0VfQ1hYMTFfQUJJIDAKICNpbmNsdWRlIDxiaXRzL2MrK2NvbmZpZy5oPgogCi0jaWZkZWYg X0dMSUJDWFhfVVNFX1dDSEFSX1QKLSNkZWZpbmUgQyB3Y2hhcl90Ci0jaW5jbHVkZSAibG9j YWxlLWluc3QuY2MiCi0jZW5kaWYgLy8gX0dMSUJDWFhfVVNFX1dDSEFSX1QKKyNpZiAhIF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkKKyMgaWZkZWYgX0dMSUJDWFhfVVNFX1dDSEFSX1QKKyMg IGRlZmluZSBDIHdjaGFyX3QKKyMgIGluY2x1ZGUgImxvY2FsZS1pbnN0LmNjIgorIyBlbmRp ZiAvLyBfR0xJQkNYWF9VU0VfV0NIQVJfVAorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRj KystdjMvc3JjL2MrKzk4L01ha2VmaWxlLmFtIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9N YWtlZmlsZS5hbQppbmRleCBiOTY1ODhiZDk1Yy4uOWJiZThjMDBhNzMgMTAwNjQ0Ci0tLSBh L2xpYnN0ZGMrKy12My9zcmMvYysrOTgvTWFrZWZpbGUuYW0KKysrIGIvbGlic3RkYysrLXYz L3NyYy9jKys5OC9NYWtlZmlsZS5hbQpAQCAtOTAsMTMgKzkwLDYgQEAgYysrbG9jYWxlLmNj OiAke2dsaWJjeHhfc3JjZGlyfS8kKENMT0NBTEVfQ0MpCiBiYXNpY19maWxlLmNjOiAke2ds aWJjeHhfc3JjZGlyfS8kKEJBU0lDX0ZJTEVfQ0MpCiAJJChMTl9TKSAke2dsaWJjeHhfc3Jj ZGlyfS8kKEJBU0lDX0ZJTEVfQ0MpIC4vJEAgfHwgdHJ1ZQogCi1pZiBFTkFCTEVfRFVBTF9B QkkKLWN4eDExX2FiaV9zb3VyY2VzID0gXAotCWNvdy1pc3RyZWFtLXN0cmluZy5jYwotZWxz ZQotY3h4MTFfYWJpX3NvdXJjZXMgPQotZW5kaWYKLQogaWYgRU5BQkxFX0VYVEVSTl9URU1Q TEFURQogIyBYVEVNUExBVEVfRkxBR1MgPSAtZm5vLWltcGxpY2l0LXRlbXBsYXRlcwogaW5z dF9zb3VyY2VzID0gXApAQCAtMTE4LDYgKzExMSw3IEBAIHNvdXJjZXMgPSBcCiAJbXRfYWxs b2NhdG9yLmNjIFwKIAljb2RlY3Z0LmNjIFwKIAljb21wbGV4X2lvLmNjIFwKKwljb3ctaXN0 cmVhbS1zdHJpbmcuY2MgXAogCWdsb2JhbHNfaW8uY2MgXAogCWhhc2hfdHIxLmNjIFwKIAlo YXNodGFibGVfdHIxLmNjIFwKQEAgLTE0Miw3ICsxMzYsNiBAQCBzb3VyY2VzID0gXAogCWlz dHJlYW0tc3RyaW5nLmNjIFwKIAlzdHJlYW1idWYuY2MgXAogCXZhbGFycmF5LmNjIFwKLQkk e2N4eDExX2FiaV9zb3VyY2VzfSBcCiAJJHtob3N0X3NvdXJjZXN9IFwKIAkke2hvc3Rfc291 cmNlc19leHRyYX0KIApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKys5OC9NYWtl ZmlsZS5pbiBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvTWFrZWZpbGUuaW4KaW5kZXggOTBl ZmY1ZGE5ODYuLmFhZmMwNGVmZTg5IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2Mr Kzk4L01ha2VmaWxlLmluCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvTWFrZWZpbGUu aW4KQEAgLTEyMiwzMCArMTIyLDI5IEBAIENPTkZJR19DTEVBTl9GSUxFUyA9CiBDT05GSUdf Q0xFQU5fVlBBVEhfRklMRVMgPQogTFRMSUJSQVJJRVMgPSAkKG5vaW5zdF9MVExJQlJBUklF UykKIGxpYmNfXzk4Y29udmVuaWVuY2VfbGFfTElCQUREID0KLUBFTkFCTEVfRFVBTF9BQklf VFJVRUBhbV9fb2JqZWN0c18xID0gY293LWlzdHJlYW0tc3RyaW5nLmxvCi1ARU5BQkxFX0RV QUxfQUJJX1RSVUVAYW1fX29iamVjdHNfMiA9IGNvbGxhdGVfbWVtYmVyc19jb3cubG8gXAor QEVOQUJMRV9EVUFMX0FCSV9UUlVFQGFtX19vYmplY3RzXzEgPSBjb2xsYXRlX21lbWJlcnNf Y293LmxvIFwKIEBFTkFCTEVfRFVBTF9BQklfVFJVRUAJbWVzc2FnZXNfbWVtYmVyc19jb3cu bG8gXAogQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAltb25ldGFyeV9tZW1iZXJzX2Nvdy5sbyBc CiBARU5BQkxFX0RVQUxfQUJJX1RSVUVACW51bWVyaWNfbWVtYmVyc19jb3cubG8KLWFtX19v YmplY3RzXzMgPSAkKGFtX19vYmplY3RzXzIpIGNvZGVjdnRfbWVtYmVycy5sbyBjb2xsYXRl X21lbWJlcnMubG8gXAorYW1fX29iamVjdHNfMiA9ICQoYW1fX29iamVjdHNfMSkgY29kZWN2 dF9tZW1iZXJzLmxvIGNvbGxhdGVfbWVtYmVycy5sbyBcCiAJbWVzc2FnZXNfbWVtYmVycy5s byBtb25ldGFyeV9tZW1iZXJzLmxvIG51bWVyaWNfbWVtYmVycy5sbyBcCiAJdGltZV9tZW1i ZXJzLmxvCi1ARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQGFtX19vYmplY3RzXzQgPSBh bGxvY2F0b3ItaW5zdC5sbyBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQGFtX19v YmplY3RzXzMgPSBhbGxvY2F0b3ItaW5zdC5sbyBcCiBARU5BQkxFX0VYVEVSTl9URU1QTEFU RV9UUlVFQAljb25jZXB0LWluc3QubG8gZXh0LWluc3QubG8gXAogQEVOQUJMRV9FWFRFUk5f VEVNUExBVEVfVFJVRUAJbWlzYy1pbnN0LmxvCi1hbV9fb2JqZWN0c181ID0gcGFyYWxsZWxf c2V0dGluZ3MubG8KLWFtX19vYmplY3RzXzYgPSBiYXNpY19maWxlLmxvIGMrK2xvY2FsZS5s byAkKGFtX19vYmplY3RzXzQpIFwKLQkkKGFtX19vYmplY3RzXzUpCi1hbV9fb2JqZWN0c183 ID0gYml0bWFwX2FsbG9jYXRvci5sbyBwb29sX2FsbG9jYXRvci5sbyBtdF9hbGxvY2F0b3Iu bG8gXAotCWNvZGVjdnQubG8gY29tcGxleF9pby5sbyBnbG9iYWxzX2lvLmxvIGhhc2hfdHIx LmxvIFwKLQloYXNodGFibGVfdHIxLmxvIGlvc19mYWlsdXJlLmxvIGlvc19pbml0LmxvIGlv c19sb2NhbGUubG8gXAotCWxpc3QubG8gbGlzdC1hdXgubG8gbGlzdC1hdXgtMi5sbyBsaXN0 X2Fzc29jaWF0ZWQubG8gXAotCWxpc3RfYXNzb2NpYXRlZC0yLmxvIGxvY2FsZS5sbyBsb2Nh bGVfaW5pdC5sbyBsb2NhbGVfZmFjZXRzLmxvIFwKLQlsb2NhbGVuYW1lLmxvIG1hdGhfc3R1 YnNfZmxvYXQubG8gbWF0aF9zdHVic19sb25nX2RvdWJsZS5sbyBcCi0Jc3RkZXhjZXB0Lmxv IHN0cnN0cmVhbS5sbyB0cmVlLmxvIGlzdHJlYW0ubG8gaXN0cmVhbS1zdHJpbmcubG8gXAot CXN0cmVhbWJ1Zi5sbyB2YWxhcnJheS5sbyAkKGFtX19vYmplY3RzXzEpICQoYW1fX29iamVj dHNfMykgXAotCSQoYW1fX29iamVjdHNfNikKLWFtX2xpYmNfXzk4Y29udmVuaWVuY2VfbGFf T0JKRUNUUyA9ICQoYW1fX29iamVjdHNfNykKK2FtX19vYmplY3RzXzQgPSBwYXJhbGxlbF9z ZXR0aW5ncy5sbworYW1fX29iamVjdHNfNSA9IGJhc2ljX2ZpbGUubG8gYysrbG9jYWxlLmxv ICQoYW1fX29iamVjdHNfMykgXAorCSQoYW1fX29iamVjdHNfNCkKK2FtX19vYmplY3RzXzYg PSBiaXRtYXBfYWxsb2NhdG9yLmxvIHBvb2xfYWxsb2NhdG9yLmxvIG10X2FsbG9jYXRvci5s byBcCisJY29kZWN2dC5sbyBjb21wbGV4X2lvLmxvIGNvdy1pc3RyZWFtLXN0cmluZy5sbyBn bG9iYWxzX2lvLmxvIFwKKwloYXNoX3RyMS5sbyBoYXNodGFibGVfdHIxLmxvIGlvc19mYWls dXJlLmxvIGlvc19pbml0LmxvIFwKKwlpb3NfbG9jYWxlLmxvIGxpc3QubG8gbGlzdC1hdXgu bG8gbGlzdC1hdXgtMi5sbyBcCisJbGlzdF9hc3NvY2lhdGVkLmxvIGxpc3RfYXNzb2NpYXRl ZC0yLmxvIGxvY2FsZS5sbyBcCisJbG9jYWxlX2luaXQubG8gbG9jYWxlX2ZhY2V0cy5sbyBs b2NhbGVuYW1lLmxvIFwKKwltYXRoX3N0dWJzX2Zsb2F0LmxvIG1hdGhfc3R1YnNfbG9uZ19k b3VibGUubG8gc3RkZXhjZXB0LmxvIFwKKwlzdHJzdHJlYW0ubG8gdHJlZS5sbyBpc3RyZWFt LmxvIGlzdHJlYW0tc3RyaW5nLmxvIHN0cmVhbWJ1Zi5sbyBcCisJdmFsYXJyYXkubG8gJChh bV9fb2JqZWN0c18yKSAkKGFtX19vYmplY3RzXzUpCithbV9saWJjX185OGNvbnZlbmllbmNl X2xhX09CSkVDVFMgPSAkKGFtX19vYmplY3RzXzYpCiBsaWJjX185OGNvbnZlbmllbmNlX2xh X09CSkVDVFMgPSAkKGFtX2xpYmNfXzk4Y29udmVuaWVuY2VfbGFfT0JKRUNUUykKIEFNX1Zf bHQgPSAkKGFtX192X2x0X0BBTV9WQCkKIGFtX192X2x0XyA9ICQoYW1fX3ZfbHRfQEFNX0RF RkFVTFRfVkApCkBAIC00NzAsMTAgKzQ2OSw2IEBAIGhvc3Rfc291cmNlc19leHRyYSA9IFwK IAliYXNpY19maWxlLmNjIGMrK2xvY2FsZS5jYyBcCiAJJHtpbnN0X3NvdXJjZXN9ICR7cGFy YWxsZWxfc291cmNlc30KIAotQEVOQUJMRV9EVUFMX0FCSV9GQUxTRUBjeHgxMV9hYmlfc291 cmNlcyA9IAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQGN4eDExX2FiaV9zb3VyY2VzID0gXAot QEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljb3ctaXN0cmVhbS1zdHJpbmcuY2MKLQogIyBYVEVN UExBVEVfRkxBR1MgPQogQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfRkFMU0VAaW5zdF9zb3Vy Y2VzID0gCiAKQEAgLTQ5Myw2ICs0ODgsNyBAQCBzb3VyY2VzID0gXAogCW10X2FsbG9jYXRv ci5jYyBcCiAJY29kZWN2dC5jYyBcCiAJY29tcGxleF9pby5jYyBcCisJY293LWlzdHJlYW0t c3RyaW5nLmNjIFwKIAlnbG9iYWxzX2lvLmNjIFwKIAloYXNoX3RyMS5jYyBcCiAJaGFzaHRh YmxlX3RyMS5jYyBcCkBAIC01MTcsNyArNTEzLDYgQEAgc291cmNlcyA9IFwKIAlpc3RyZWFt LXN0cmluZy5jYyBcCiAJc3RyZWFtYnVmLmNjIFwKIAl2YWxhcnJheS5jYyBcCi0JJHtjeHgx MV9hYmlfc291cmNlc30gXAogCSR7aG9zdF9zb3VyY2VzfSBcCiAJJHtob3N0X3NvdXJjZXNf ZXh0cmF9CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvY293LWlzdHJl YW0tc3RyaW5nLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9jb3ctaXN0cmVhbS1zdHJp bmcuY2MKaW5kZXggZDkwZWMyYTBjZjMuLmZmNDA2ODMwYzYxIDEwMDY0NAotLS0gYS9saWJz dGRjKystdjMvc3JjL2MrKzk4L2Nvdy1pc3RyZWFtLXN0cmluZy5jYworKysgYi9saWJzdGRj KystdjMvc3JjL2MrKzk4L2Nvdy1pc3RyZWFtLXN0cmluZy5jYwpAQCAtMjcsNCArMjcsOCBA QAogLy8KIAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDAKLSNpbmNsdWRlICJp c3RyZWFtLXN0cmluZy5jYyIKKyNpbmNsdWRlIDxiaXRzL2MrK2NvbmZpZy5oPgorCisjaWYg ISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjIGluY2x1ZGUgImlzdHJlYW0tc3RyaW5nLmNj IgorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2hhc2hfdHIx LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9oYXNoX3RyMS5jYwppbmRleCBjYWE0MjRl NDIzZi4uNzI1NmQyNTI5Y2YgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrOTgv aGFzaF90cjEuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9oYXNoX3RyMS5jYwpA QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiaGFzaC1sb25nLWRvdWJsZS10cjEtYXV4 LmNjIgogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiBuYW1lc3BhY2Ugc3RkIF9H TElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKICAgbmFtZXNwYWNlIHRyMQpAQCAtNTcs MyArNTgsNCBAQCBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkK ICNlbmRpZgogICB9CiB9CisjZW5kaWYgLy8gISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCmRp ZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2lvc19mYWlsdXJlLmNjIGIvbGli c3RkYysrLXYzL3NyYy9jKys5OC9pb3NfZmFpbHVyZS5jYwppbmRleCA1MjNkMWY2YTRlOS4u ZTY1MGRlZDM3MWUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvaW9zX2Zh aWx1cmUuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9pb3NfZmFpbHVyZS5jYwpA QCAtMjksMjIgKzI5LDI0IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgMAog I2luY2x1ZGUgPGlvcz4KIAotI2lmIF9HTElCQ1hYX1VTRV9EVUFMX0FCSSAmJiBfX2NwcF9y dHRpCi0jaW5jbHVkZSA8Y3h4YWJpLmg+Ci0jaW5jbHVkZSA8dHlwZWluZm8+Ci0jZW5kaWYK LQotI2lmZGVmIF9HTElCQ1hYX1VTRV9OTFMKLSMgaW5jbHVkZSA8bGliaW50bC5oPgotIyBk ZWZpbmUgXyhtc2dpZCkgICBnZXR0ZXh0IChtc2dpZCkKLSNlbHNlCi0jIGRlZmluZSBfKG1z Z2lkKSAgIChtc2dpZCkKLSNlbmRpZgorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8 fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQorIyBpZiBfR0xJQkNYWF9VU0VfRFVBTF9BQkkg JiYgX19jcHBfcnR0aQorIyAgaW5jbHVkZSA8Y3h4YWJpLmg+CisjICBpbmNsdWRlIDx0eXBl aW5mbz4KKyMgZW5kaWYKKworIyBpZmRlZiBfR0xJQkNYWF9VU0VfTkxTCisjICBpbmNsdWRl IDxsaWJpbnRsLmg+CisjICBkZWZpbmUgXyhtc2dpZCkgICBnZXR0ZXh0IChtc2dpZCkKKyMg ZWxzZQorIyAgZGVmaW5lIF8obXNnaWQpICAgKG1zZ2lkKQorIyBlbmRpZgogCiBuYW1lc3Bh Y2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKIF9HTElCQ1hYX0JFR0lO X05BTUVTUEFDRV9WRVJTSU9OCiAKKyMgaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAg IGlvc19iYXNlOjpmYWlsdXJlOjpmYWlsdXJlKGNvbnN0IHN0cmluZyYgX19zdHIpIHRocm93 KCkKICAgOiBfTV9tc2coX19zdHIpIHsgfQogCkBAIC01NCwxMSArNTYsMTIgQEAgX0dMSUJD WFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgY29uc3QgY2hhcioKICAgaW9zX2Jhc2U6 OmZhaWx1cmU6OndoYXQoKSBjb25zdCB0aHJvdygpCiAgIHsgcmV0dXJuIF9NX21zZy5jX3N0 cigpOyB9CisjIGVuZGlmCiAKLSNpZiBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKKyMgaWYgX0dM SUJDWFhfVVNFX0RVQUxfQUJJCiAgIC8vIFdoZW4gdGhlIGR1YWwgQUJJIGlzIGVuYWJsZWQg X190aHJvd19pb3NfZmFpbHVyZSgpIGlzIGRlZmluZWQgaW4KICAgLy8gc3JjL2MrKzExL2N4 eDExLWlvc19mYWlsdXJlLmNjCi0jaWYgX19jcHBfcnR0aQorIyAgaWYgX19jcHBfcnR0aQog ICAvLyBJZiBSVFRJIGlzIGVuYWJsZWQgdGhlIGV4Y2VwdGlvbiB0eXBlIHRocm93biB3aWxs IHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8KICAgLy8gY29uc3RydWN0L2Rlc3Ryb3kgYSBnY2M0 LWNvbXBhdGlibGUgaW9zOjpmYWlsdXJlIG9iamVjdCBpbiBhIGJ1ZmZlciwKICAgLy8gYW5k IHRvIGNhdGNoIHRoYXQgb2JqZWN0IHZpYSBhIGhhbmRsZXIgb2YgdGhlIGdjYzQtY29tcGF0 aWJsZSB0eXBlLgpAQCAtODAsOSArODMsOSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0Vf VkVSU0lPTgogICB0eXBlZGVmIGNoYXIgU1sxIC8gKHNpemVvZihpb3M6OmZhaWx1cmUpIDw9 IHNpemVvZihydW50aW1lX2Vycm9yKSldOwogICB0eXBlZGVmIGNoYXIgQVsxIC8gKF9fYWxp Z25vZihpb3M6OmZhaWx1cmUpIDw9IF9fYWxpZ25vZihydW50aW1lX2Vycm9yKSldOwogICB9 Ci0jZW5kaWYgLy8gX19jcHBfcnR0aQorIyAgZW5kaWYgLy8gX19jcHBfcnR0aQogCi0jZWxz ZSAvLyAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQorIyBlbGlmICEgX0dMSUJDWFhfVVNFX0NY WDExX0FCSQogCiAgIHZvaWQKICAgX190aHJvd19pb3NfZmFpbHVyZShjb25zdCBjaGFyKiBf X3MgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCkBAIC05Miw3ICs5NSw5IEBAIF9HTElCQ1hY X0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgIF9fdGhyb3dfaW9zX2ZhaWx1cmUoY29uc3Qg Y2hhciogc3RyLCBpbnQpCiAgIHsgX190aHJvd19pb3NfZmFpbHVyZShzdHIpOyB9CiAKLSNl bmRpZiAvLyBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKKyMgZW5kaWYKIAogX0dMSUJDWFhfRU5E X05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gISBfR0xJ QkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCmRpZmYgLS1n aXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2lzdHJlYW0tc3RyaW5nLmNjIGIvbGlic3Rk YysrLXYzL3NyYy9jKys5OC9pc3RyZWFtLXN0cmluZy5jYwppbmRleCAxOWY1ZjBjMWE0Ny4u MDM0Y2Q5NTFkNmQgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvaXN0cmVh bS1zdHJpbmcuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9pc3RyZWFtLXN0cmlu Zy5jYwpAQCAtMzEsNiArMzEsMTYgQEAKIC8vIGJ5IGFub3RoZXIgZmlsZSB3aGljaCBkZWZp bmVzIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkk9MC4KICMgZGVmaW5lIF9HTElCQ1hYX1VTRV9D WFgxMV9BQkkgMQogI2VuZGlmCisKKyNpZiBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjIGRl ZmluZSBfR0xJQkNYWF9CVUlMRF9DWFgxMV9BQkkgMQorI2Vsc2UKKyMgZGVmaW5lIF9HTElC Q1hYX0JVSUxEX0NYWDExX0FCSSAwCisjZW5kaWYKKworI2luY2x1ZGUgPGJpdHMvYysrY29u ZmlnLmg+CisKKyNpZiBfR0xJQkNYWF9CVUlMRF9DWFgxMV9BQkkgPT0gX0dMSUJDWFhfVVNF X0NYWDExX0FCSQogI2luY2x1ZGUgPGlzdHJlYW0+CiAjaW5jbHVkZSA8c3RyaW5nPgogCkBA IC0yODksMyArMjk5LDQgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAog X0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQorI2VuZGlm IC8vIF9HTElCQ1hYX0JVSUxEX0NYWDExX0FCSSA9PSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJ CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2xvY2FsZV9mYWNldHMuY2Mg Yi9saWJzdGRjKystdjMvc3JjL2MrKzk4L2xvY2FsZV9mYWNldHMuY2MKaW5kZXggMTI5M2Ez N2U2NDIuLjRiMzUxYjJlOGVmIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzk4 L2xvY2FsZV9mYWNldHMuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9sb2NhbGVf ZmFjZXRzLmNjCkBAIC0xMjUsNiArMTI1LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNF X1ZFUlNJT04KICAgICByZXR1cm4gX190ZXN0OwogICB9CiAKKyNpZiAhIF9HTElCQ1hYX1VT RV9DWFgxMV9BQkkKICAgYm9vbAogICBfX3ZlcmlmeV9ncm91cGluZyhjb25zdCBjaGFyKiBf X2dyb3VwaW5nLCBzaXplX3QgX19ncm91cGluZ19zaXplLAogCQkgICAgY29uc3Qgc3RyaW5n JiBfX2dyb3VwaW5nX3RtcCkgdGhyb3coKQpAQCAtMTMzLDYgKzEzNCw3IEBAIF9HTElCQ1hY X0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgX19ncm91cGluZ190bXAuY19zdHIoKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBfX2dyb3VwaW5nX3RtcC5zaXplKCkpOwogICB9CisjZW5kaWYKIAogICBu YW1lc3BhY2UKICAgewpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKys5OC9zdGRl eGNlcHQuY2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzk4L3N0ZGV4Y2VwdC5jYwppbmRleCAw YTI0YjA1NGNhMC4uNzg2ZjBmZjA1MjMgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMv YysrOTgvc3RkZXhjZXB0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvc3RkZXhj ZXB0LmNjCkBAIC0yNiw3ICsyNiw3IEBACiAvLyBJU08gQysrIDE0ODgyOiAxOS4xICBFeGNl cHRpb24gY2xhc3NlcwogLy8KIAotLy8gQWxsIGV4Y2VwdGlvbiBjbGFzc2VzIHN0aWxsIHVz ZSB0aGUgY2xhc3NpYyBDT1cgc3RkOjpzdHJpbmcuCisvLyBJbiBkdWFsIGFiaSBhbGwgZXhj ZXB0aW9uIGNsYXNzZXMgc3RpbGwgdXNlIHRoZSBjbGFzc2ljIENPVyBzdGQ6OnN0cmluZy4K ICNkZWZpbmUgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAwCiAjaW5jbHVkZSA8c3RyaW5nPgog I2luY2x1ZGUgPHN0ZGV4Y2VwdD4KQEAgLTM1LDggKzM1LDEwIEBAIG5hbWVzcGFjZSBzdGQg X0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewogX0dMSUJDWFhfQkVHSU5fTkFNRVNQ QUNFX1ZFUlNJT04KIAorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogICBsb2dpY19l cnJvcjo6bG9naWNfZXJyb3IoY29uc3Qgc3RyaW5nJiBfX2FyZykKICAgOiBleGNlcHRpb24o KSwgX01fbXNnKF9fYXJnKSB7IH0KKyNlbmRpZgogCiAgIGxvZ2ljX2Vycm9yOjp+bG9naWNf ZXJyb3IoKSBfR0xJQkNYWF9VU0VfTk9FWENFUFQgeyB9CiAKQEAgLTQ0LDI4ICs0NiwzOCBA QCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICBsb2dpY19lcnJvcjo6d2hh dCgpIGNvbnN0IF9HTElCQ1hYX1VTRV9OT0VYQ0VQVAogICB7IHJldHVybiBfTV9tc2cuY19z dHIoKTsgfQogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAgIGRvbWFpbl9lcnJv cjo6ZG9tYWluX2Vycm9yKGNvbnN0IHN0cmluZyYgX19hcmcpCiAgIDogbG9naWNfZXJyb3Io X19hcmcpIHsgfQorI2VuZGlmCiAKICAgZG9tYWluX2Vycm9yOjp+ZG9tYWluX2Vycm9yKCkg X0dMSUJDWFhfVVNFX05PRVhDRVBUIHsgfQogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFf QUJJCiAgIGludmFsaWRfYXJndW1lbnQ6OmludmFsaWRfYXJndW1lbnQoY29uc3Qgc3RyaW5n JiBfX2FyZykKICAgOiBsb2dpY19lcnJvcihfX2FyZykgeyB9CisjZW5kaWYKIAogICBpbnZh bGlkX2FyZ3VtZW50Ojp+aW52YWxpZF9hcmd1bWVudCgpIF9HTElCQ1hYX1VTRV9OT0VYQ0VQ VCB7IH0KIAorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogICBsZW5ndGhfZXJyb3I6 Omxlbmd0aF9lcnJvcihjb25zdCBzdHJpbmcmIF9fYXJnKQogICA6IGxvZ2ljX2Vycm9yKF9f YXJnKSB7IH0KKyNlbmRpZgogCiAgIGxlbmd0aF9lcnJvcjo6fmxlbmd0aF9lcnJvcigpIF9H TElCQ1hYX1VTRV9OT0VYQ0VQVCB7IH0KIAorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SQogICBvdXRfb2ZfcmFuZ2U6Om91dF9vZl9yYW5nZShjb25zdCBzdHJpbmcmIF9fYXJnKQog ICA6IGxvZ2ljX2Vycm9yKF9fYXJnKSB7IH0KKyNlbmRpZgogCiAgIG91dF9vZl9yYW5nZTo6 fm91dF9vZl9yYW5nZSgpIF9HTElCQ1hYX1VTRV9OT0VYQ0VQVCB7IH0KIAorI2lmICEgX0dM SUJDWFhfVVNFX0NYWDExX0FCSQogICBydW50aW1lX2Vycm9yOjpydW50aW1lX2Vycm9yKGNv bnN0IHN0cmluZyYgX19hcmcpCiAgIDogZXhjZXB0aW9uKCksIF9NX21zZyhfX2FyZykgeyB9 CisjZW5kaWYKIAogICBydW50aW1lX2Vycm9yOjp+cnVudGltZV9lcnJvcigpIF9HTElCQ1hY X1VTRV9OT0VYQ0VQVCB7IH0KIApAQCAtNzMsMTggKzg1LDI0IEBAIF9HTElCQ1hYX0JFR0lO X05BTUVTUEFDRV9WRVJTSU9OCiAgIHJ1bnRpbWVfZXJyb3I6OndoYXQoKSBjb25zdCBfR0xJ QkNYWF9VU0VfTk9FWENFUFQKICAgeyByZXR1cm4gX01fbXNnLmNfc3RyKCk7IH0KIAorI2lm ICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogICByYW5nZV9lcnJvcjo6cmFuZ2VfZXJyb3Io Y29uc3Qgc3RyaW5nJiBfX2FyZykKICAgOiBydW50aW1lX2Vycm9yKF9fYXJnKSB7IH0KKyNl bmRpZgogCiAgIHJhbmdlX2Vycm9yOjp+cmFuZ2VfZXJyb3IoKSBfR0xJQkNYWF9VU0VfTk9F WENFUFQgeyB9CiAKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKICAgb3ZlcmZsb3df ZXJyb3I6Om92ZXJmbG93X2Vycm9yKGNvbnN0IHN0cmluZyYgX19hcmcpCiAgIDogcnVudGlt ZV9lcnJvcihfX2FyZykgeyB9CisjZW5kaWYKIAogICBvdmVyZmxvd19lcnJvcjo6fm92ZXJm bG93X2Vycm9yKCkgX0dMSUJDWFhfVVNFX05PRVhDRVBUIHsgfQogCisjaWYgISBfR0xJQkNY WF9VU0VfQ1hYMTFfQUJJCiAgIHVuZGVyZmxvd19lcnJvcjo6dW5kZXJmbG93X2Vycm9yKGNv bnN0IHN0cmluZyYgX19hcmcpCiAgIDogcnVudGltZV9lcnJvcihfX2FyZykgeyB9CisjZW5k aWYKIAogICB1bmRlcmZsb3dfZXJyb3I6On51bmRlcmZsb3dfZXJyb3IoKSBfR0xJQkNYWF9V U0VfTk9FWENFUFQgeyB9CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUv bGlic3RkYysrLXByZXR0eXByaW50ZXJzL2N4eDE3LmNjIGIvbGlic3RkYysrLXYzL3Rlc3Rz dWl0ZS9saWJzdGRjKystcHJldHR5cHJpbnRlcnMvY3h4MTcuY2MKaW5kZXggY2Y2OTlkMjJl NzguLmJlZmYzNzg1MjBjIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlL2xp YnN0ZGMrKy1wcmV0dHlwcmludGVycy9jeHgxNy5jYworKysgYi9saWJzdGRjKystdjMvdGVz dHN1aXRlL2xpYnN0ZGMrKy1wcmV0dHlwcmludGVycy9jeHgxNy5jYwpAQCAtNjIsNiArNjIs OCBAQCBtYWluKCkKIC8vIHsgZGctZmluYWwgeyByZWdleHAtdGVzdCBvbSB7c3RkOjpvcHRp b25hbDxzdGQ6OihfX2RlYnVnOjopP21hcDxpbnQsIGRvdWJsZT4+IGNvbnRhaW5pbmcgc3Rk OjooX19kZWJ1Zzo6KT9tYXAgd2l0aCAzIGVsZW1lbnRzID0ge1xbMVxdID0gMiwgXFszXF0g PSA0LCBcWzVcXSA9IDZ9fSB9IH0KICAgb3B0aW9uYWw8c3RkOjpzdHJpbmc+IG9zeyAic3Ry aW5neSIgfTsKIC8vIHsgZGctZmluYWwgeyBub3RlLXRlc3Qgb3Mge3N0ZDo6b3B0aW9uYWw8 c3RkOjpzdHJpbmc+ID0ge1tjb250YWluZWQgdmFsdWVdID0gInN0cmluZ3kifX0gfSB9Cisg IG9wdGlvbmFsPHN0ZDo6d3N0cmluZz4gb3dzeyBMInN0cmluZ3kiIH07CisvLyB7IGRnLWZp bmFsIHsgbm90ZS10ZXN0IG93cyB7c3RkOjpvcHRpb25hbDxzdGQ6OndzdHJpbmc+ID0ge1tj b250YWluZWQgdmFsdWVdID0gTCJzdHJpbmd5In19IH0gfQogCiAgIGFueSBhOwogLy8geyBk Zy1maW5hbCB7IG5vdGUtdGVzdCBhIHtzdGQ6OmFueSBbbm8gY29udGFpbmVkIHZhbHVlXX0g fSB9CkBAIC03Myw2ICs3NSw4IEBAIG1haW4oKQogLy8geyBkZy1maW5hbCB7IG5vdGUtdGVz dCBhcCB7c3RkOjphbnkgY29udGFpbmluZyB2b2lkICogPSB7W2NvbnRhaW5lZCB2YWx1ZV0g PSAweDB9fSB9IH0KICAgYW55IGFzID0gKm9zOwogLy8geyBkZy1maW5hbCB7IG5vdGUtdGVz dCBhcyB7c3RkOjphbnkgY29udGFpbmluZyBzdGQ6OnN0cmluZyA9IHtbY29udGFpbmVkIHZh bHVlXSA9ICJzdHJpbmd5In19IH0gfQorICBhbnkgYXdzID0gKm93czsKKy8vIHsgZGctZmlu YWwgeyBub3RlLXRlc3QgYXdzIHtzdGQ6OmFueSBjb250YWluaW5nIHN0ZDo6d3N0cmluZyA9 IHtbY29udGFpbmVkIHZhbHVlXSA9IEwic3RyaW5neSJ9fSB9IH0KICAgYW55IGFzMigic3Ry aW5naWVzdCIpOwogLy8geyBkZy1maW5hbCB7IHJlZ2V4cC10ZXN0IGFzMiB7c3RkOjphbnkg Y29udGFpbmluZyBjb25zdCBjaGFyIFwqID0ge1xbY29udGFpbmVkIHZhbHVlXF0gPSAweFtb OnhkaWdpdDpdXSsgInN0cmluZ2llc3QifX0gfSB9CiAgIGFueSBhbSA9ICpvbTsK --------------gNA7sgxJ3m29qjLnUE4fGl3b Content-Type: text/x-patch; charset=UTF-8; name="version_namespace_bump.patch" Content-Disposition: attachment; filename="version_namespace_bump.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9hY2luY2x1ZGUubTQgYi9saWJzdGRjKystdjMv YWNpbmNsdWRlLm00CmluZGV4IDBjNDM0OGEyNzdhLi45YjcyZmFlZjgyZSAxMDA2NDQKLS0t IGEvbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNAorKysgYi9saWJzdGRjKystdjMvYWNpbmNs dWRlLm00CkBAIC0zODM0LDcgKzM4MzQsNyBAQCBjYXNlICRlbmFibGVfc3ltdmVycyBpbgog CSAgICAgIFtEZWZpbmUgdG8gdXNlIEdOVSB2ZXJzaW9uaW5nIGluIHRoZSBzaGFyZWQgbGli cmFyeS5dKQogICAgIDs7CiAgIGdudS12ZXJzaW9uZWQtbmFtZXNwYWNlKQotICAgIGxpYnRv b2xfVkVSU0lPTj04OjA6MAorICAgIGxpYnRvb2xfVkVSU0lPTj05OjA6MAogICAgIFNZTVZF Ul9GSUxFPWNvbmZpZy9hYmkvcHJlL2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgogICAg IEFDX0RFRklORShfR0xJQkNYWF9TWU1WRVJfR05VX05BTUVTUEFDRSwgMSwKIAkgICAgICBb RGVmaW5lIHRvIHVzZSBHTlUgbmFtZXNwYWNlIHZlcnNpb25pbmcgaW4gdGhlIHNoYXJlZCBs aWJyYXJ5Ll0pCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL2FiaS9wcmUvZ251 LXZlcnNpb25lZC1uYW1lc3BhY2UudmVyIGIvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJl L2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgppbmRleCAwNmNjYWE4MGE1OC4uZDgyMDc3 YTNjZmEgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9jb25maWcvYWJpL3ByZS9nbnUtdmVy c2lvbmVkLW5hbWVzcGFjZS52ZXIKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJl L2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgpAQCAtMTksNyArMTksNyBAQAogIyMgd2l0 aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKICMj IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAotR0xJQkNYWF84LjAgeworR0xJ QkNYWF85LjAgewogCiAgIGdsb2JhbDoKIApAQCAtMjcsNyArMjcsNyBAQCBHTElCQ1hYXzgu MCB7CiAgICAgZXh0ZXJuICJDKysiCiAgICAgewogICAgICAgc3RkOjoqOwotICAgICAgc3Rk OjpfXzg6Oio7CisgICAgICBzdGQ6Ol9fOTo6KjsKICAgICB9OwogCiAgICAgIyBvcGVyYXRv ciBuZXcoc2l6ZV90KQpAQCAtNTksNyArNTksNyBAQCBHTElCQ1hYXzguMCB7CiAgICAgIyB2 dGFibGUKICAgICBfWlRWU3QqOwogICAgIF9aVFZOU3QqOwotICAgIF9aVFZOOV9fZ251X2N4 eDNfXzgxOHN0ZGlvX3N5bmNfZmlsZWJ1ZklbY3ddTlN0M19fODExY2hhcl90cmFpdHNJW2N3 XUVFRUU7CisgICAgX1pUVk45X19nbnVfY3h4M19fOTE4c3RkaW9fc3luY19maWxlYnVmSVtj d11OU3QzX185MTFjaGFyX3RyYWl0c0lbY3ddRUVFRTsKIAogICAgICMgdGh1bmsKICAgICBf WlR2MF9uMTJfTlMqOwpAQCAtNzQsNDMgKzc0LDQzIEBAIEdMSUJDWFhfOC4wIHsKICAgICBf WlRTTlN0KjsKIAogICAgICMgbG9jYWxlCi0gICAgX1pOU3QzX184OWhhc19mYWNldElOU18q OworICAgIF9aTlN0M19fOTloYXNfZmFjZXRJTlNfKjsKIAogICAgICMgdGhyZWFkL211dGV4 L2NvbmRpdGlvbl92YXJpYWJsZS9mdXR1cmUKICAgICBfX29uY2VfcHJveHk7CiAKICAgICAj IHN0ZDo6X19jb252ZXJ0X3RvX3YKLSAgICBfWk5TdDNfXzgxNF9fY29udmVydF90b192KjsK KyAgICBfWk5TdDNfXzkxNF9fY29udmVydF90b192KjsKIAogICAgICMgc3RkOjpfX2NvcHlf c3RyZWFtYnVmcwotICAgIF9aTlN0M19fODE3X19jb3B5X3N0cmVhbWJ1ZnNJKjsKLSAgICBf Wk5TdDNfXzgyMV9fY29weV9zdHJlYW1idWZzX2VvZkkqOworICAgIF9aTlN0M19fOTE3X19j b3B5X3N0cmVhbWJ1ZnNJKjsKKyAgICBfWk5TdDNfXzkyMV9fY29weV9zdHJlYW1idWZzX2Vv ZkkqOwogCiAgICAgIyBzdGQ6Ol9faXN0cmVhbV9leHRyYWN0KHdpc3RyZWFtJiwgd2NoYXJf dCosIHN0cmVhbXNpemUpCi0gICAgX1pOU3QzX184MTdfX2lzdHJlYW1fZXh0cmFjdEl3TlNf MTFjaGFyX3RyYWl0c0l3RUVFRXZSTlNfMTNiYXNpY19pc3RyZWFtSVRfVDBfRUVQUzRfW2ls eF07CisgICAgX1pOU3QzX185MTdfX2lzdHJlYW1fZXh0cmFjdEl3TlNfMTFjaGFyX3RyYWl0 c0l3RUVFRXZSTlNfMTNiYXNpY19pc3RyZWFtSVRfVDBfRUVQUzRfW2lseF07CiAKICAgICAj IF9fZ251X2N4eDo6X19hdG9taWNfYWRkCiAgICAgIyBfX2dudV9jeHg6Ol9fZXhjaGFuZ2Vf YW5kX2FkZAotICAgIF9aTjlfX2dudV9jeHgzX184MTJfX2F0b21pY19hZGRFUFZbaWxdW2ls XTsKLSAgICBfWk45X19nbnVfY3h4M19fODE4X19leGNoYW5nZV9hbmRfYWRkRVBWW2xpXVtp bF07CisgICAgX1pOOV9fZ251X2N4eDNfXzkxMl9fYXRvbWljX2FkZEVQVltpbF1baWxdOwor ICAgIF9aTjlfX2dudV9jeHgzX185MThfX2V4Y2hhbmdlX2FuZF9hZGRFUFZbbGldW2lsXTsK IAogICAgICMgX19nbnVfY3h4OjpfX3Bvb2wKLSAgICBfWk45X19nbnVfY3h4M19fODZfX3Bv b2xJTGJbMDFdRUUxM19NX2luaXRpYWxpemVFdjsKLSAgICBfWk45X19nbnVfY3h4M19fODZf X3Bvb2xJTGJbMDFdRUUxNl9NX3Jlc2VydmVfYmxvY2tFW2pteV1bam15XTsKLSAgICBfWk45 X19nbnVfY3h4M19fODZfX3Bvb2xJTGJbMDFdRUUxNl9NX3JlY2xhaW1fYmxvY2tFUGNbam15 XTsKLSAgICBfWk45X19nbnVfY3h4M19fODZfX3Bvb2xJTGJbMDFdRUUxMF9NX2Rlc3Ryb3lF djsKLSAgICBfWk45X19nbnVfY3h4M19fODZfX3Bvb2xJTGIxRUUxNl9NX2dldF90aHJlYWRf aWRFdjsKKyAgICBfWk45X19nbnVfY3h4M19fOTZfX3Bvb2xJTGJbMDFdRUUxM19NX2luaXRp YWxpemVFdjsKKyAgICBfWk45X19nbnVfY3h4M19fOTZfX3Bvb2xJTGJbMDFdRUUxNl9NX3Jl c2VydmVfYmxvY2tFW2pteV1bam15XTsKKyAgICBfWk45X19nbnVfY3h4M19fOTZfX3Bvb2xJ TGJbMDFdRUUxNl9NX3JlY2xhaW1fYmxvY2tFUGNbam15XTsKKyAgICBfWk45X19nbnVfY3h4 M19fOTZfX3Bvb2xJTGJbMDFdRUUxMF9NX2Rlc3Ryb3lFdjsKKyAgICBfWk45X19nbnVfY3h4 M19fOTZfX3Bvb2xJTGIxRUUxNl9NX2dldF90aHJlYWRfaWRFdjsKIAotICAgIF9aTjlfX2du dV9jeHgzX184MTdfX3Bvb2xfYWxsb2NfYmFzZTlfTV9yZWZpbGxFW2pteV07Ci0gICAgX1pO OV9fZ251X2N4eDNfXzgxN19fcG9vbF9hbGxvY19iYXNlMTZfTV9nZXRfZnJlZV9saXN0RVtq bXldOwotICAgIF9aTjlfX2dudV9jeHgzX184MTdfX3Bvb2xfYWxsb2NfYmFzZTEyX01fZ2V0 X211dGV4RXY7CisgICAgX1pOOV9fZ251X2N4eDNfXzkxN19fcG9vbF9hbGxvY19iYXNlOV9N X3JlZmlsbEVbam15XTsKKyAgICBfWk45X19nbnVfY3h4M19fOTE3X19wb29sX2FsbG9jX2Jh c2UxNl9NX2dldF9mcmVlX2xpc3RFW2pteV07CisgICAgX1pOOV9fZ251X2N4eDNfXzkxN19f cG9vbF9hbGxvY19iYXNlMTJfTV9nZXRfbXV0ZXhFdjsKIAotICAgIF9aTjlfX2dudV9jeHgz X184OWZyZWVfbGlzdDZfTV9nZXRFW2pteV07Ci0gICAgX1pOOV9fZ251X2N4eDNfXzg5ZnJl ZV9saXN0OF9NX2NsZWFyRXY7CisgICAgX1pOOV9fZ251X2N4eDNfXzk5ZnJlZV9saXN0Nl9N X2dldEVbam15XTsKKyAgICBfWk45X19nbnVfY3h4M19fOTlmcmVlX2xpc3Q4X01fY2xlYXJF djsKIAogICAgICMgX19nbnVfY3h4OjpzdGRpb19zeW5jX2ZpbGVidWYKLSAgICBfWlRWTjlf X2dudV9jeHgzX184MThzdGRpb19zeW5jX2ZpbGVidWZJW2N3XVN0M19fODExY2hhcl90cmFp dHNJW2N3XUVFRTsKLSAgICBfWk45X19nbnVfY3h4M19fODE4c3RkaW9fc3luY19maWxlYnVm SVtjd11OU3QzX184MTFjaGFyX3RyYWl0c0lbY3ddRUVFWzUtOV0qOworICAgIF9aVFZOOV9f Z251X2N4eDNfXzkxOHN0ZGlvX3N5bmNfZmlsZWJ1ZklbY3ddU3QzX185MTFjaGFyX3RyYWl0 c0lbY3ddRUVFOworICAgIF9aTjlfX2dudV9jeHgzX185MThzdGRpb19zeW5jX2ZpbGVidWZJ W2N3XU5TdDNfXzkxMWNoYXJfdHJhaXRzSVtjd11FRUVbNS05XSo7CiAKICAgICAjIGRlYnVn IG1vZGUKICAgICBfWk4xMV9fZ251X2RlYnVnMTlfU2FmZV9zZXF1ZW5jZV9iYXNlMTJfTV9n ZXRfbXV0ZXhFdjsKQEAgLTIzNiw3ICsyMzYsNyBAQCBDWFhBQklfMi4wIHsKICAgICBfWlN0 MTVfRm52X2hhc2hfYnl0ZXNQS3YqOwogCiAgICAgIyBfX2dudV9jeHg6Ol92ZXJib3NlX3Rl cm1pbmF0ZV9oYW5kbGVyKCkKLSAgICBfWk45X19nbnVfY3h4M19fODI3X192ZXJib3NlX3Rl cm1pbmF0ZV9oYW5kbGVyRXY7CisgICAgX1pOOV9fZ251X2N4eDNfXzkyN19fdmVyYm9zZV90 ZXJtaW5hdGVfaGFuZGxlckV2OwogCiAgICAgIyAqX3R5cGVfaW5mbyBjbGFzc2VzLCBjdG9y IGFuZCBkdG9yCiAgICAgX1pOMTBfX2N4eGFiaXYxMTdfX2FycmF5X3R5cGVfaW5mbyo7CmRp ZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZp Z3VyZQppbmRleCAxZmQ0ZjE2NmU1OS4uMjczN2NlM2E3MmMgMTAwNzU1Ci0tLSBhL2xpYnN0 ZGMrKy12My9jb25maWd1cmUKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQpAQCAtNjkw NTcsNyArNjkwNTcsNyBAQCAkYXNfZWNobyAiI2RlZmluZSBfR0xJQkNYWF9TWU1WRVJfR05V IDEiID4+Y29uZmRlZnMuaAogCiAgICAgOzsKICAgZ251LXZlcnNpb25lZC1uYW1lc3BhY2Up Ci0gICAgbGlidG9vbF9WRVJTSU9OPTg6MDowCisgICAgbGlidG9vbF9WRVJTSU9OPTk6MDow CiAgICAgU1lNVkVSX0ZJTEU9Y29uZmlnL2FiaS9wcmUvZ251LXZlcnNpb25lZC1uYW1lc3Bh Y2UudmVyCiAKICRhc19lY2hvICIjZGVmaW5lIF9HTElCQ1hYX1NZTVZFUl9HTlVfTkFNRVNQ QUNFIDEiID4+Y29uZmRlZnMuaApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUv Yml0cy9jKytjb25maWcgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2MrK2NvbmZpZwpp bmRleCBmODk5YTU4MGI2MC4uNWUwYTlhMGM2M2MgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL2JpdHMvYysrY29uZmlnCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2Jp dHMvYysrY29uZmlnCkBAIC0zMzAsNyArMzMwLDcgQEAgbmFtZXNwYWNlIHN0ZAogCiAjaWYg X0dMSUJDWFhfSU5MSU5FX1ZFUlNJT04KIC8vIElubGluZSBuYW1lc3BhY2UgZm9yIHN5bWJv bCB2ZXJzaW9uaW5nIG9mIChuZWFybHkpIGV2ZXJ5dGhpbmcgaW4gc3RkLgotIyBkZWZpbmUg X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04gbmFtZXNwYWNlIF9fOCB7CisjIGRl ZmluZSBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTiBuYW1lc3BhY2UgX185IHsK ICMgZGVmaW5lIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0VfVkVSU0lPTiB9CiAvLyBVbnVzZWQg d2hlbiBldmVyeXRoaW5nIGluIHN0ZCBpcyB2ZXJzaW9uZWQgYW55d2F5LgogIyBkZWZpbmUg X0dMSUJDWFhfQkVHSU5fSU5MSU5FX0FCSV9OQU1FU1BBQ0UoWCkKZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My9weXRob24vbGlic3RkY3h4L3Y2L3ByaW50ZXJzLnB5IGIvbGlic3RkYysr LXYzL3B5dGhvbi9saWJzdGRjeHgvdjYvcHJpbnRlcnMucHkKaW5kZXggNTVlNWMyMTFjOGYu LjRlMzE0ZGJkOTZhIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvcHl0aG9uL2xpYnN0ZGN4 eC92Ni9wcmludGVycy5weQorKysgYi9saWJzdGRjKystdjMvcHl0aG9uL2xpYnN0ZGN4eC92 Ni9wcmludGVycy5weQpAQCAtMTAwLDcgKzEwMCw3IEBAIGRlZiBmaW5kX3R5cGUob3JpZywg bmFtZSk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJD YW5ub3QgZmluZCB0eXBlICVzOjolcyIgJSAoc3RyKG9yaWcpLCBuYW1lKSkKIAotX3ZlcnNp b25lZF9uYW1lc3BhY2UgPSAnX184OjonCitfdmVyc2lvbmVkX25hbWVzcGFjZSA9ICdfXzk6 OicKIAogZGVmIGxvb2t1cF90ZW1wbF9zcGVjKHRlbXBsLCAqYXJncyk6CiAgICAgIiIiCmRp ZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIwX3V0aWwvaXNfY29tcGxldGVf b3JfdW5ib3VuZGVkL21lbW9pemF0aW9uX25lZy5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3Vp dGUvMjBfdXRpbC9pc19jb21wbGV0ZV9vcl91bmJvdW5kZWQvbWVtb2l6YXRpb25fbmVnLmNj CmluZGV4IGJjNjZjMTNmZWVlLi43NTk5MjVjY2E3YyAxMDA2NDQKLS0tIGEvbGlic3RkYysr LXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2lzX2NvbXBsZXRlX29yX3VuYm91bmRlZC9tZW1vaXph dGlvbl9uZWcuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2lzX2Nv bXBsZXRlX29yX3VuYm91bmRlZC9tZW1vaXphdGlvbl9uZWcuY2MKQEAgLTEsNiArMSw2IEBA CiAvLyB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgYysrMTEgfSB9CiAvLyB7IGRnLXBydW5l LW91dHB1dCAibXVzdCBiZSBhIGNvbXBsZXRlIiB9Ci0vLyB7IGRnLXBydW5lLW91dHB1dCAi J3ZhbHVlJyBpcyBub3QgYSBtZW1iZXIgb2YgJ3N0ZDo6KF9fODo6KT9pc19tb3ZlX2NvbnMi IH0KKy8vIHsgZGctcHJ1bmUtb3V0cHV0ICIndmFsdWUnIGlzIG5vdCBhIG1lbWJlciBvZiAn c3RkOjooX185OjopP2lzX21vdmVfY29ucyIgfQogLy8geyBkZy1wcnVuZS1vdXRwdXQgImlu dmFsaWQgdXNlIG9mIGluY29tcGxldGUgdHlwZSIgfQogCiAvLyBDb3B5cmlnaHQgKEMpIDIw MTktMjAyMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My90ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tYXAvNDgxMDFfbmVnLmNjIGIv bGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yM19jb250YWluZXJzL21hcC80ODEwMV9uZWcuY2MK aW5kZXggY2M3YWQxNjAxNjIuLjUzYWNlYjYzM2MxIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbWFwLzQ4MTAxX25lZy5jYworKysgYi9saWJz dGRjKystdjMvdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbWFwLzQ4MTAxX25lZy5jYwpAQCAt MjksOCArMjksOCBAQCB0ZXN0MDEoKQogICBjMi5maW5kKDIpOyAvLyB7IGRnLWVycm9yICJo ZXJlIiB9CiB9CiAKLS8vIHsgZGctZXJyb3IgIl9Db21wYXJlID0gc3RkOjooX184OjopP2xl c3M8aW50Lj4iICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9Ci0vLyB7IGRnLWVycm9yICJfQ29t cGFyZSA9IHN0ZDo6KF9fODo6KT9hbGxvY2F0b3I8aW50PiIgIiIgeyB0YXJnZXQgKi0qLSog fSAwIH0KKy8vIHsgZGctZXJyb3IgIl9Db21wYXJlID0gc3RkOjooX185OjopP2xlc3M8aW50 Lj4iICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9CisvLyB7IGRnLWVycm9yICJfQ29tcGFyZSA9 IHN0ZDo6KF9fOTo6KT9hbGxvY2F0b3I8aW50PiIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0K IC8vIHsgZGctZXJyb3IgImNvbXBhcmlzb24gb2JqZWN0IG11c3QgYmUgaW52b2NhYmxlIiAi IiB7IHRhcmdldCAqLSotKiB9IDAgfQogLy8geyBkZy1wcnVuZS1vdXRwdXQgIm5vIG1hdGNo IGZvciBjYWxsIiB9CiAvLyB7IGRnLXBydW5lLW91dHB1dCAiaW52YWxpZCBjb252ZXJzaW9u IiB9CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMv bXVsdGltYXAvNDgxMDFfbmVnLmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yM19jb250 YWluZXJzL211bHRpbWFwLzQ4MTAxX25lZy5jYwppbmRleCA4YmI2OWVjM2U5ZC4uY2JiOTU4 M2E1NDggMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjNfY29udGFpbmVy cy9tdWx0aW1hcC80ODEwMV9uZWcuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8y M19jb250YWluZXJzL211bHRpbWFwLzQ4MTAxX25lZy5jYwpAQCAtMjksOCArMjksOCBAQCB0 ZXN0MDEoKQogICBjMi5maW5kKDIpOyAvLyB7IGRnLWVycm9yICJoZXJlIiB9CiB9CiAKLS8v IHsgZGctZXJyb3IgIl9Db21wYXJlID0gc3RkOjooX184OjopP2xlc3M8aW50Lj4iICIiIHsg dGFyZ2V0ICotKi0qIH0gMCB9Ci0vLyB7IGRnLWVycm9yICJfQ29tcGFyZSA9IHN0ZDo6KF9f ODo6KT9hbGxvY2F0b3I8aW50PiIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KKy8vIHsgZGct ZXJyb3IgIl9Db21wYXJlID0gc3RkOjooX185OjopP2xlc3M8aW50Lj4iICIiIHsgdGFyZ2V0 ICotKi0qIH0gMCB9CisvLyB7IGRnLWVycm9yICJfQ29tcGFyZSA9IHN0ZDo6KF9fOTo6KT9h bGxvY2F0b3I8aW50PiIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KIC8vIHsgZGctZXJyb3Ig ImNvbXBhcmlzb24gb2JqZWN0IG11c3QgYmUgaW52b2NhYmxlIiAiIiB7IHRhcmdldCAqLSot KiB9IDAgfQogLy8geyBkZy1wcnVuZS1vdXRwdXQgIm5vIG1hdGNoIGZvciBjYWxsIiB9CiAv LyB7IGRnLXBydW5lLW91dHB1dCAiaW52YWxpZCBjb252ZXJzaW9uIiB9Cg== --------------gNA7sgxJ3m29qjLnUE4fGl3b--