<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>86622</bug_id>
          
          <creation_ts>2012-05-16 06:56:08 -0700</creation_ts>
          <short_desc>NEON intrinsic should be used with arithmetic mode of composite filter</short_desc>
          <delta_ts>2012-05-17 02:12:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Herczeg">zherczeg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>625367</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2012-05-16 06:56:08 -0700</bug_when>
    <thetext>Let&apos;s do it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625369</commentid>
    <comment_count>1</comment_count>
      <attachid>142245</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2012-05-16 06:56:39 -0700</bug_when>
    <thetext>Created attachment 142245
EWS test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625373</commentid>
    <comment_count>2</comment_count>
      <attachid>142248</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2012-05-16 07:00:22 -0700</bug_when>
    <thetext>Created attachment 142248
EWS test

Sorry, wrong patch before</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625377</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 07:03:54 -0700</bug_when>
    <thetext>Attachment 142248 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626309</commentid>
    <comment_count>4</comment_count>
      <attachid>142424</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2012-05-16 23:50:54 -0700</bug_when>
    <thetext>Created attachment 142424
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626317</commentid>
    <comment_count>5</comment_count>
      <attachid>142424</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-05-17 00:04:49 -0700</bug_when>
    <thetext>Comment on attachment 142424
patch

Wow, this looks much better, rs=me.
I trust you that the intrinsics stuff is correct, can&apos;t really review that properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626390</commentid>
    <comment_count>6</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2012-05-17 02:12:28 -0700</bug_when>
    <thetext>Thanks for the review.

Landed as trac.webkit.org/changeset/117418</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142245</attachid>
            <date>2012-05-16 06:56:39 -0700</date>
            <delta_ts>2012-05-16 07:00:22 -0700</delta_ts>
            <desc>EWS test</desc>
            <filename>0001-CompositeArithmetic.patch</filename>
            <type>text/plain</type>
            <size>21237</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSA1MmNmZGUwOTQzYzFiNmY5MTlmZTY4NTM5MDE3ZmIyZDczODc0ZjZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAd2Via2l0Lm9yZz4K
RGF0ZTogV2VkLCAxNiBNYXkgMjAxMiAwNjo1MzoxOCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIENv
bXBvc2l0ZUFyaXRobWV0aWMKCi0tLQogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gICAgICAgICAgICAgICAgIHwgICAgMSAtCiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgLQogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qICAgICAgIHwgICAgNCAtCiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgIDQgLQogLi4uL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwICAgICAgfCAgIDE4ICstLQogLi4u
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaCAgICAgICAgfCAgICA5ICst
CiAuLi4vZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgICAgICB8ICAx
NTUgLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRo
bWV0aWNORU9OLmggICAgICAgIHwgICA2NiArKysrKysrLS0KIDEwIGZpbGVzIGNoYW5nZWQsIDY0
IGluc2VydGlvbnMoKyksIDE5NiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRo
bWV0aWNORU9OLmNwcAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggY2VjZTE4Yi4uNzEwN2YwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEyMTQsNyArMTIxNCw2IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKIAotICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVP
Ti5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVHYXVzc2lhbkJsdXJORU9O
LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFR2F1c3NpYW5CbHVyTkVP
Ti5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzYTZiMTAzLi5lYTY3YWFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTMyMTUsNyArMzIxNSw2IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9Tb3VyY2VHcmFwaGljLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvU3BvdExpZ2h0U291cmNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuaCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRl
QXJpdGhtZXRpY05FT04uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9hcm0vRkVHYXVzc2lhbkJsdXJORU9OLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVHYXVzc2lhbkJsdXJORU9OLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggMjc5MjRkNy4uNTMzZjFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zNDA2LDcgKzM0MDYsNiBA
QCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMVEVSUz0xKSB7CiAgICAgICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvU3BvdExpZ2h0U291cmNlLmNwcCBcCiAgICAgICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwIFwKICAgICAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcCBcCi0gICAgICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwIFwKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVMaWdodGluZ05FT04uY3BwIFwKICAgICAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVHYXVzc2lhbkJsdXJORU9OLmNwcCBc
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZjBiNzBiMi4uYjAyMmY3YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtMzgyOCw3ICszODI4LDYgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL1NvdXJjZUdyYXBoaWMuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5oJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1l
dGljTkVPTi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9G
RUdhdXNzaWFuQmx1ck5FT04uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL2FybS9GRUdhdXNzaWFuQmx1ck5FT04uaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDIwM2MzNTcuLjBmODRjNzggMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMTA4NCwxMCAr
MzEwODQsNiBAQAogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CiAJCQkJCTxGaWxlCi0JCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtXEZFQ29tcG9zaXRlQXJp
dGhtZXRpY05FT04uY3BwIgotCQkJCQkJPgotCQkJCQk8L0ZpbGU+Ci0JCQkJCTxGaWxlCiAJCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtXEZFQ29tcG9z
aXRlQXJpdGhtZXRpY05FT04uaCIKIAkJCQkJCT4KIAkJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDhiYTU0MGIu
LjliYTA3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTEzMjAsNyArMTMyMCw2IEBACiAJCTQ5RTkxMkFDMEVGQUM5MDYwMDlE
MENBRiAvKiBBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5RTkxMkE3MEVGQUM5MDYwMDlEMENBRiAvKiBBbmltYXRpb25MaXN0
LmNwcCAqLzsgfTsKIAkJNDlFOTEyQUQwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMkE4
MEVGQUM5MDYwMDlEMENBRiAvKiBBbmltYXRpb25MaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlFOTEyQUUwRUZBQzkwNjAwOUQwQ0FGIC8q
IFRpbWluZ0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OUU5MTJBOTBFRkFDOTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0OUVDRUI2NzE0
OTk3OTBEMDBDREQzQTQgLyogRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUVDRUI1RDE0OTk3OTBEMDBD
REQzQTQgLyogRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgKi87IH07CiAJCTQ5RUNFQjY4
MTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUVDRUI1RTE0OTk3OTBEMDBD
REQzQTQgLyogRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5oICovOyB9OwogCQk0OUVDRUI2OTE0
OTk3OTBEMDBDREQzQTQgLyogRkVHYXVzc2lhbkJsdXJORU9OLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RUNFQjVGMTQ5OTc5MEQwMENERDNBNCAv
KiBGRUdhdXNzaWFuQmx1ck5FT04uY3BwICovOyB9OwogCQk0OUVDRUI2QTE0OTk3OTBEMDBDREQz
QTQgLyogRkVHYXVzc2lhbkJsdXJORU9OLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUVDRUI2MDE0OTk3OTBEMDBDREQzQTQgLyogRkVHYXVzc2lhbkJs
dXJORU9OLmggKi87IH07CkBAIC04MzI2LDcgKzgzMjUsNiBAQAogCQk0OUU5MTJBNzBFRkFDOTA2
MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBBbmltYXRpb25MaXN0LmNwcDsgcGF0aCA9IGFuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFOTEyQTgwRUZBQzkwNjAw
OUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQW5pbWF0aW9uTGlzdC5oOyBwYXRoID0gYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFOTEyQTkwRUZBQzkwNjAwOUQwQ0FGIC8qIFRp
bWluZ0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFRpbWluZ0Z1
bmN0aW9uLmg7IHBhdGggPSBhbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDlFQ0VCNUQxNDk5NzkwRDAwQ0REM0E0IC8qIEZFQ29tcG9zaXRl
QXJpdGhtZXRpY05FT04uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ5RUNFQjVFMTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9O
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZFQ29tcG9zaXRlQXJpdGhtZXRp
Y05FT04uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFQ0VCNUYxNDk5NzkwRDAw
Q0REM0E0IC8qIEZFR2F1c3NpYW5CbHVyTkVPTi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGRUdhdXNzaWFuQmx1ck5FT04uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0OUVDRUI2MDE0OTk3OTBEMDBDREQzQTQgLyogRkVHYXVzc2lhbkJsdXJORU9O
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZFR2F1c3NpYW5CbHVyTkVPTi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ5NjIsNyArMTQ5NjAsNiBAQAogCQk0
OUVDRUI1QzE0OTk3OTBEMDBDREQzQTQgLyogYXJtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk0OUVDRUI1RDE0OTk3OTBEMDBDREQzQTQgLyogRkVDb21w
b3NpdGVBcml0aG1ldGljTkVPTi5jcHAgKi8sCiAJCQkJNDlFQ0VCNUUxNDk5NzkwRDAwQ0REM0E0
IC8qIEZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaCAqLywKIAkJCQk0OUVDRUI1RjE0OTk3OTBE
MDBDREQzQTQgLyogRkVHYXVzc2lhbkJsdXJORU9OLmNwcCAqLywKIAkJCQk0OUVDRUI2MDE0OTk3
OTBEMDBDREQzQTQgLyogRkVHYXVzc2lhbkJsdXJORU9OLmggKi8sCkBAIC0yNTk2MCw3ICsyNTk1
Nyw2IEBACiAJCQkJQTc1RThCOEEwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29sb3JNYXRyaXguY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTc1RThCOEMwRTFERTJENjAwN0YyNDgxIC8qIEZFQ29tcG9u
ZW50VHJhbnNmZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc1RThCOEUwRTFERTJENjAwN0Yy
NDgxIC8qIEZFQ29tcG9zaXRlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ5RUNFQjY3MTQ5OTc5
MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTg0NzMwRDc4MTI0OEYwQjMwMEQzQTlDOSAvKiBGRUNvbnZvbHZlTWF0cml4LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUwRDQwM0M3MTQ3NjhDOTQwMEQzMEJCNSAvKiBGRUN1c3RvbUZp
bHRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NDczMEQ3QTEyNDhGMEIzMDBEM0E5QzkgLyog
RkVEaWZmdXNlTGlnaHRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCmluZGV4
IGUyM2M2OTMuLmRkZmExZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAg
dm9pZCBGRUNvbXBvc2l0ZTo6Y29ycmVjdEZpbHRlclJlc3VsdElmTmVlZGVkKCkKICAgICBmb3Jj
ZVZhbGlkUHJlTXVsdGlwbGllZFBpeGVscygpOwogfQogCi10ZW1wbGF0ZSA8aW50IGIxLCBpbnQg
YjIsIGludCBiMywgaW50IGI0PgordGVtcGxhdGUgPGludCBiMSwgaW50IGI0Pgogc3RhdGljIGlu
bGluZSB2b2lkIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwg
dW5zaWduZWQgY2hhciogZGVzdGluYXRpb24sIGludCBwaXhlbEFycmF5TGVuZ3RoLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgazEsIGZsb2F0IGsyLCBmbG9hdCBr
MywgZmxvYXQgazQpCiB7CkBAIC0xMzgsMTMgKzEzOCw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBj
b21wdXRlQXJpdGhtZXRpY1BpeGVscyh1bnNpZ25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkIGNo
YXIqCiAgICAgd2hpbGUgKC0tcGl4ZWxBcnJheUxlbmd0aCA+PSAwKSB7CiAgICAgICAgIHVuc2ln
bmVkIGNoYXIgaTEgPSAqc291cmNlOwogICAgICAgICB1bnNpZ25lZCBjaGFyIGkyID0gKmRlc3Rp
bmF0aW9uOwotICAgICAgICBmbG9hdCByZXN1bHQgPSAwOworICAgICAgICBmbG9hdCByZXN1bHQg
PSBrMiAqIGkxICsgazMgKiBpMjsKICAgICAgICAgaWYgKGIxKQogICAgICAgICAgICAgcmVzdWx0
ICs9IHNjYWxlZEsxICogaTEgKiBpMjsKLSAgICAgICAgaWYgKGIyKQotICAgICAgICAgICAgcmVz
dWx0ICs9IGsyICogaTE7Ci0gICAgICAgIGlmIChiMykKLSAgICAgICAgICAgIHJlc3VsdCArPSBr
MyAqIGkyOwogICAgICAgICBpZiAoYjQpCiAgICAgICAgICAgICByZXN1bHQgKz0gc2NhbGVkSzQ7
CiAKQEAgLTE2NCwxOSArMTYwLDE5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhcml0aG1ldGljU29m
dHdhcmUodW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCBjaGFyKiBkZXN0CiB7CiAgICAg
aWYgKCFrNCkgewogICAgICAgICBpZiAoIWsxKSB7Ci0gICAgICAgICAgICBjb21wdXRlQXJpdGht
ZXRpY1BpeGVsczwwLCAxLCAxLCAwPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVu
Z3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAgICAgICBjb21wdXRlQXJpdGhtZXRpY1BpeGVs
czwwLCAwPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGsz
LCBrNCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBjb21wdXRl
QXJpdGhtZXRpY1BpeGVsczwxLCAxLCAxLCAwPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFy
cmF5TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4
ZWxzPDEsIDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwg
azMsIGs0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICghazEpIHsKLSAgICAg
ICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHM8MCwgMSwgMSwgMT4oc291cmNlLCBkZXN0aW5hdGlv
biwgcGl4ZWxBcnJheUxlbmd0aCwgazEsIGsyLCBrMywgazQpOworICAgICAgICBjb21wdXRlQXJp
dGhtZXRpY1BpeGVsczwwLCAxPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3Ro
LCBrMSwgazIsIGszLCBrNCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgY29tcHV0ZUFy
aXRobWV0aWNQaXhlbHM8MSwgMSwgMSwgMT4oc291cmNlLCBkZXN0aW5hdGlvbiwgcGl4ZWxBcnJh
eUxlbmd0aCwgazEsIGsyLCBrMywgazQpOworICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzPDEs
IDE+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0
KTsKIH0KIAogaW5saW5lIHZvaWQgRkVDb21wb3NpdGU6OnBsYXRmb3JtQXJpdGhtZXRpY1NvZnR3
YXJlKFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3VyY2UsIFVpbnQ4Q2xhbXBlZEFycmF5KiBkZXN0aW5h
dGlvbiwKQEAgLTE4NSw3ICsxODEsNyBAQCBpbmxpbmUgdm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZv
cm1Bcml0aG1ldGljU29mdHdhcmUoVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwgVQogICAgIGlu
dCBsZW5ndGggPSBzb3VyY2UtPmxlbmd0aCgpOwogICAgIEFTU0VSVChsZW5ndGggPT0gc3RhdGlj
X2Nhc3Q8aW50PihkZXN0aW5hdGlvbi0+bGVuZ3RoKCkpKTsKICAgICAvLyBUaGUgc2VsZWN0aW9u
IGhlcmUgZXZlbnR1YWxseSBzaG91bGQgaGFwcGVuIGR5bmFtaWNhbGx5LgotI2lmIENQVShBUk1f
TkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDKQorI2lmIEhBVkUo
QVJNX05FT05fSU5UUklOU0lDUykKICAgICBBU1NFUlQoIShsZW5ndGggJiAweDMpKTsKICAgICBw
bGF0Zm9ybUFyaXRobWV0aWNOZW9uKHNvdXJjZS0+ZGF0YSgpLCBkZXN0aW5hdGlvbi0+ZGF0YSgp
LCBsZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmgKaW5kZXggOTk2NDI0
NC4uNjBmZGVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbXBvc2l0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaApAQCAtNzQsOCArNzQsMTMgQEAgcHJvdGVjdGVkOgog
cHJpdmF0ZToKICAgICBGRUNvbXBvc2l0ZShGaWx0ZXIqLCBjb25zdCBDb21wb3NpdGVPcGVyYXRp
b25UeXBlJiwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwogCi0gICAgaW5saW5lIHZvaWQg
cGxhdGZvcm1Bcml0aG1ldGljU29mdHdhcmUoVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwgVWlu
dDhDbGFtcGVkQXJyYXkqIGRlc3RpbmF0aW9uLCBmbG9hdCBrMSwgZmxvYXQgazIsIGZsb2F0IGsz
LCBmbG9hdCBrNCk7Ci0gICAgaW5saW5lIHZvaWQgcGxhdGZvcm1Bcml0aG1ldGljTmVvbih1bnNp
Z25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkICBjaGFyKiBkZXN0aW5hdGlvbiwgdW5zaWduZWQg
cGl4ZWxBcnJheUxlbmd0aCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgZmxvYXQpOworICAgIGlubGlu
ZSB2b2lkIHBsYXRmb3JtQXJpdGhtZXRpY1NvZnR3YXJlKFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3Vy
Y2UsIFVpbnQ4Q2xhbXBlZEFycmF5KiBkZXN0aW5hdGlvbiwKKyAgICAgICAgZmxvYXQgazEsIGZs
b2F0IGsyLCBmbG9hdCBrMywgZmxvYXQgazQpOworICAgIHRlbXBsYXRlIDxpbnQgYjEsIGludCBi
ND4KKyAgICBzdGF0aWMgaW5saW5lIHZvaWQgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uKHVu
c2lnbmVkIGNoYXIqIHNvdXJjZSwgdW5zaWduZWQgIGNoYXIqIGRlc3RpbmF0aW9uLAorICAgICAg
ICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3RoLCBmbG9hdCBrMSwgZmxvYXQgazIsIGZsb2F0IGsz
LCBmbG9hdCBrNCk7CisgICAgc3RhdGljIGlubGluZSB2b2lkIHBsYXRmb3JtQXJpdGhtZXRpY05l
b24odW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCAgY2hhciogZGVzdGluYXRpb24sCisg
ICAgICAgIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0IGsxLCBmbG9hdCBrMiwgZmxv
YXQgazMsIGZsb2F0IGs0KTsKIAogICAgIENvbXBvc2l0ZU9wZXJhdGlvblR5cGUgbV90eXBlOwog
ICAgIGZsb2F0IG1fazE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRp
Y05FT04uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2UwY2YwLi4wMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29t
cG9zaXRlQXJpdGhtZXRpY05FT04uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTU1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgVW5pdmVyc2l0eSBvZiBTemVnZWQKLSAqIENvcHly
aWdodCAoQykgMjAxMSBGZWxpY2lhbiBNYXJ0b24KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0KLSNpZiBFTkFCTEUoRklMVEVSUykKLSNpbmNsdWRlICJGRUNvbXBvc2l0ZUFyaXRobWV0aWNO
RU9OLmgiCi0KLSNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENP
TVBJTEVSKEdDQykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0jZGVmaW5lIEFTU1RSSU5HKHN0
cikgI3N0cgotI2RlZmluZSBUT1NUUklORyh2YWx1ZSkgQVNTVFJJTkcodmFsdWUpCi0KLSNkZWZp
bmUgTkwgIlxuIgotCi0jZGVmaW5lIFNPVVJDRV9SICAgICAicjAiCi0jZGVmaW5lIERFU1RfUiAg
ICAgICAicjEiCi0jZGVmaW5lIEVORF9SICAgICAgICAicjIiCi0jZGVmaW5lIEtfUiAgICAgICAg
ICAicjMiCi0jZGVmaW5lIE5FWFRQSVhFTF9SICAicjEyIgotCi0jZGVmaW5lIFRFTVBfUSAgICAg
ICAicTAiCi0jZGVmaW5lIFRFTVBfRDAgICAgICAiZDAiCi0jZGVmaW5lIFRFTVBfRDAwICAgICAi
ZDBbMF0iCi0jZGVmaW5lIFRFTVBfRDAxICAgICAiZDBbMV0iCi0jZGVmaW5lIFRFTVBfRDEwICAg
ICAiZDFbMF0iCi0jZGVmaW5lIFRFTVBfRDExICAgICAiZDFbMV0iCi0jZGVmaW5lIFBJWEVMMV9R
ICAgICAicTEiCi0jZGVmaW5lIFBJWEVMMV9EMCAgICAiZDIiCi0jZGVmaW5lIFBJWEVMMV9EMDAg
ICAiZDJbMF0iCi0jZGVmaW5lIFBJWEVMMl9RICAgICAicTIiCi0jZGVmaW5lIFBJWEVMMl9EMCAg
ICAiZDQiCi0jZGVmaW5lIFBJWEVMMl9EMDAgICAiZDRbMF0iCi0jZGVmaW5lIEJZVEVNQVhfUSAg
ICAicTMiCi0jZGVmaW5lIEsxX1EgICAgICAgICAicTgiCi0jZGVmaW5lIEsyX1EgICAgICAgICAi
cTkiCi0jZGVmaW5lIEszX1EgICAgICAgICAicTEwIgotI2RlZmluZSBLNF9RICAgICAgICAgInEx
MSIKLQotYXNtICggLy8gTk9MSU5UCi0iLmdsb2JsICIgVE9TVFJJTkcobmVvbkRyYXdDb21wb3Np
dGVBcml0aG1ldGljKSBOTAotVE9TVFJJTkcobmVvbkRyYXdDb21wb3NpdGVBcml0aG1ldGljKSAi
OiIgTkwKLSAgICAiY21wICIgRU5EX1IgIiwgIzAiIE5MCi0gICAgImJ4ZXEgbHIiICBOTAotICAg
IC8vIFNldCB0aGUgZW5kIG9mIHRoZSBzb3VyY2UgcmVnaXN0ZXIuCi0gICAgImFkZCAiIEVORF9S
ICIsICIgU09VUkNFX1IgIiwgIiBFTkRfUiBOTAotCi0gICAgInZsZDEuZjMyIHsiIFRFTVBfUSAi
fSwgWyIgS19SICJdIiBOTAotICAgICJsZHIgIiBLX1IgIiwgWyIgS19SICJdIiBOTAotICAgICJ2
ZHVwLmYzMiAiIEsxX1EgIiwgIiBURU1QX0QwMCBOTAotICAgICJ2ZHVwLmYzMiAiIEsyX1EgIiwg
IiBURU1QX0QwMSBOTAotICAgICJ2ZHVwLmYzMiAiIEszX1EgIiwgIiBURU1QX0QxMCBOTAotICAg
ICJ2ZHVwLmYzMiAiIEs0X1EgIiwgIiBURU1QX0QxMSBOTAotCi0gICAgInZtb3YuaTMyICIgQllU
RU1BWF9RICIsICMweEZGIiBOTAotICAgICJ2Y3Z0LmYzMi51MzIgIiBURU1QX1EgIiwgIiBCWVRF
TUFYX1EgTkwKLSAgICAidm11bC5mMzIgIiBLNF9RICIsICIgSzRfUSAiLCAiIFRFTVBfUSBOTAot
Ci0gICAgIm1vdiAiIE5FWFRQSVhFTF9SICIsICM0IiBOTAotICAgICJjbXAgIiBLX1IgIiwgIzAi
IE5MCi0gICAgImJlcSAuYXJpdGhtZXRpY0sxSXNaZXJvIiBOTAotCi0gICAgInZyZWNwZS5mMzIg
IiBURU1QX1EgIiwgIiBURU1QX1EgTkwKLSAgICAidm11bC5mMzIgIiBLMV9RICIsICIgSzFfUSAi
LCAiIFRFTVBfUSBOTAotCi0iLmFyaXRobWV0aWNLMUlzTm9uWmVybzoiIE5MCi0KLSAgICAidmxk
MS51MzIgIiBQSVhFTDFfRDAwICIsIFsgIiBTT1VSQ0VfUiAiXSwgIiBORVhUUElYRUxfUiBOTAot
ICAgICJ2bGQxLnUzMiAiIFBJWEVMMl9EMDAgIiwgWyIgREVTVF9SICJdIiBOTAotCi0gICAgInZt
b3ZsLnU4ICIgUElYRUwxX1EgIiwgIiBQSVhFTDFfRDAgTkwKLSAgICAidm1vdmwudTE2ICIgUElY
RUwxX1EgIiwgIiBQSVhFTDFfRDAgTkwKLSAgICAidmN2dC5mMzIudTMyICIgUElYRUwxX1EgIiwg
IiBQSVhFTDFfUSBOTAotICAgICJ2bW92bC51OCAiIFBJWEVMMl9RICIsICIgUElYRUwyX0QwIE5M
Ci0gICAgInZtb3ZsLnUxNiAiIFBJWEVMMl9RICIsICIgUElYRUwyX0QwIE5MCi0gICAgInZjdnQu
ZjMyLnUzMiAiIFBJWEVMMl9RICIsICIgUElYRUwyX1EgTkwKLQotICAgICJ2bXVsLmYzMiAiIFRF
TVBfUSAiLCAiIFBJWEVMMV9RICIsICIgUElYRUwyX1EgTkwKLSAgICAidm11bC5mMzIgIiBURU1Q
X1EgIiwgIiBURU1QX1EgIiwgIiBLMV9RIE5MCi0gICAgInZtbGEuZjMyICIgVEVNUF9RICIsICIg
UElYRUwxX1EgIiwgIiBLMl9RIE5MCi0gICAgInZtbGEuZjMyICIgVEVNUF9RICIsICIgUElYRUwy
X1EgIiwgIiBLM19RIE5MCi0gICAgInZhZGQuZjMyICIgVEVNUF9RICIsICIgSzRfUSBOTAotCi0g
ICAgLy8gQ29udmVydCByZXN1bHQgdG8gdWludCBzbyBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGNvbnZl
cnRlZCB0byB6ZXJvLgotICAgICJ2Y3Z0LnUzMi5mMzIgIiBURU1QX1EgIiwgIiBURU1QX1EgTkwK
LSAgICAidm1pbi51MzIgIiBURU1QX1EgIiwgIiBURU1QX1EgIiwgIiBCWVRFTUFYX1EgTkwKLSAg
ICAidm1vdm4udTMyICIgVEVNUF9EMCAiLCAiIFRFTVBfUSBOTAotICAgICJ2bW92bi51MTYgIiBU
RU1QX0QwICIsICIgVEVNUF9RIE5MCi0KLSAgICAidnN0MS51MzIgIiBURU1QX0QwMCAiLCBbIiBE
RVNUX1IgIl0sICIgTkVYVFBJWEVMX1IgTkwKLQotICAgICJjbXAgIiBTT1VSQ0VfUiAiLCAiIEVO
RF9SIE5MCi0gICAgImJjYyAuYXJpdGhtZXRpY0sxSXNOb25aZXJvIiBOTAotICAgICJieCBsciIg
TkwKLQotIi5hcml0aG1ldGljSzFJc1plcm86IiBOTAotCi0gICAgInZsZDEudTMyICIgUElYRUwx
X0QwMCAiLCBbICIgU09VUkNFX1IgIl0sICIgTkVYVFBJWEVMX1IgTkwKLSAgICAidmxkMS51MzIg
IiBQSVhFTDJfRDAwICIsIFsiIERFU1RfUiAiXSIgTkwKLQotICAgICJ2bW92bC51OCAiIFBJWEVM
MV9RICIsICIgUElYRUwxX0QwIE5MCi0gICAgInZtb3ZsLnUxNiAiIFBJWEVMMV9RICIsICIgUElY
RUwxX0QwIE5MCi0gICAgInZjdnQuZjMyLnUzMiAiIFBJWEVMMV9RICIsICIgUElYRUwxX1EgTkwK
LSAgICAidm1vdmwudTggIiBQSVhFTDJfUSAiLCAiIFBJWEVMMl9EMCBOTAotICAgICJ2bW92bC51
MTYgIiBQSVhFTDJfUSAiLCAiIFBJWEVMMl9EMCBOTAotICAgICJ2Y3Z0LmYzMi51MzIgIiBQSVhF
TDJfUSAiLCAiIFBJWEVMMl9RIE5MCi0KLSAgICAidm11bC5mMzIgIiBURU1QX1EgIiwgIiBQSVhF
TDFfUSAiLCAiIEsyX1EgTkwKLSAgICAidm1sYS5mMzIgIiBURU1QX1EgIiwgIiBQSVhFTDJfUSAi
LCAiIEszX1EgTkwKLSAgICAidmFkZC5mMzIgIiBURU1QX1EgIiwgIiBLNF9RIE5MCi0KLSAgICAv
LyBDb252ZXJ0IHJlc3VsdCB0byB1aW50IHNvIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29udmVydGVk
IHRvIHplcm8uCi0gICAgInZjdnQudTMyLmYzMiAiIFRFTVBfUSAiLCAiIFRFTVBfUSBOTAotICAg
ICJ2bWluLnUzMiAiIFRFTVBfUSAiLCAiIFRFTVBfUSAiLCAiIEJZVEVNQVhfUSBOTAotICAgICJ2
bW92bi51MzIgIiBURU1QX0QwICIsICIgVEVNUF9RIE5MCi0gICAgInZtb3ZuLnUxNiAiIFRFTVBf
RDAgIiwgIiBURU1QX1EgTkwKLQotICAgICJ2c3QxLnUzMiAiIFRFTVBfRDAwICIsIFsiIERFU1Rf
UiAiXSwgIiBORVhUUElYRUxfUiBOTAotCi0gICAgImNtcCAiIFNPVVJDRV9SICIsICIgRU5EX1Ig
TkwKLSAgICAiYmNjIC5hcml0aG1ldGljSzFJc1plcm8iIE5MCi0gICAgImJ4IGxyIiBOTAotKTsg
Ly8gTk9MSU5UCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENQVShBUk1f
TkVPTikgJiYgQ09NUElMRVIoR0NDKQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTFRFUlMpCi0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZF
Q29tcG9zaXRlQXJpdGhtZXRpY05FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaAppbmRleCAzN2Q4M2Uy
Li5lY2M3M2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVP
Ti5oCkBAIC0zNiwyOCArMzYsNjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUg
dm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZvcm1Bcml0aG1ldGljTmVvbih1bnNpZ25lZCBjaGFyKiBz
b3VyY2UsIHVuc2lnbmVkIGNoYXIqIGRlc3RpbmF0aW9uLCB1bnNpZ25lZCBwaXhlbEFycmF5TGVu
Z3RoLAotICAgICBmbG9hdCBrMSwgZmxvYXQgazIsIGZsb2F0IGszLCBmbG9hdCBrNCkKK3RlbXBs
YXRlIDxpbnQgYjEsIGludCBiND4KK2lubGluZSB2b2lkIEZFQ29tcG9zaXRlOjpjb21wdXRlQXJp
dGhtZXRpY1BpeGVsc05lb24odW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCBjaGFyKiBk
ZXN0aW5hdGlvbiwKKyAgICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3RoLCBmbG9hdCBrMSwgZmxv
YXQgazIsIGZsb2F0IGszLCBmbG9hdCBrNCkKIHsKLSAgICAgZmxvYXQzMng0X3QgazF4NCA9IHZk
dXBxX25fZjMyKGsxKTsKLSAgICAgZmxvYXQzMng0X3QgazJ4NCA9IHZkdXBxX25fZjMyKGsyKTsK
LSAgICAgZmxvYXQzMng0X3QgazN4NCA9IHZkdXBxX25fZjMyKGszKTsKLSAgICAgZmxvYXQzMng0
X3QgazR4NCA9IHZkdXBxX25fZjMyKGs0KTsKLSAgICAgdWludDMyX3QqIHNvdXJjZVJHQkEgPSBz
dGF0aWNfY2FzdDx1aW50MzJfdCo+KHNvdXJjZSk7Ci0gICAgIHVpbnQzMl90KiBkZXN0aW5hdGlv
blJHQkEgPSBzdGF0aWNfY2FzdDx1aW50MzJfdCo+KGRlc3RpbmF0aW9uKTsKKyAgICBmbG9hdDMy
eDRfdCBrMXg0ID0gdmR1cHFfbl9mMzIoazEgLyAyNTUpOworICAgIGZsb2F0MzJ4NF90IGsyeDQg
PSB2ZHVwcV9uX2YzMihrMik7CisgICAgZmxvYXQzMng0X3QgazN4NCA9IHZkdXBxX25fZjMyKGsz
KTsKKyAgICBmbG9hdDMyeDRfdCBrNHg0ID0gdmR1cHFfbl9mMzIoazQgKiAyNTUpOworICAgIHVp
bnQzMng0X3QgbWF4MjU1ID0gdmR1cHFfbl91MzIoMjU1KTsKIAotICAgICBwaXhlbEFycmF5TGVu
Z3RoID4+PSAyOwotICAgICB3aGlsZSAocGl4ZWxBcnJheUxlbmd0aC0tID4gMCkgewotICAgICAg
ICAgdWludDh4Ml90IHBpeGVsUkdCQTg7Ci0gICAgICAgICB1aW50MzJ4NF90IHBpeGVsUkdCQTMy
OwotICAgICAgICAgdWludDMyeDRfdCBwaXhlbFJHQkEzMjsKKyAgICB1aW50MzJfdCogc291cmNl
UGl4ZWwgPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oc291cmNlKTsKKyAgICB1aW50MzJf
dCogZGVzdGluYXRpb25QaXhlbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihkZXN0aW5h
dGlvbik7CisgICAgdWludDMyX3QqIGRlc3RpbmF0aW9uRW5kUGl4ZWwgPSBkZXN0aW5hdGlvblBp
eGVsICsgKHBpeGVsQXJyYXlMZW5ndGggPj4gMik7CiAKLSAgICAgICAgIHZzZXRfbGFuZV91MzIo
KnNvdXJjZVJHQkEsIHBpeGVsUkdCQTgsIDApOwotICAgICAgICAgdm1vdmxfdTgKKyAgICB3aGls
ZSAoZGVzdGluYXRpb25QaXhlbCA8IGRlc3RpbmF0aW9uRW5kUGl4ZWwpIHsKKyAgICAgICAgdWlu
dDMyeDJfdCB0ZW1wb3JhcnkxID0gdnNldF9sYW5lX3UzMigqc291cmNlUGl4ZWwsIHRlbXBvcmFy
eTEsIDApOworICAgICAgICB1aW50MTZ4NF90IHRlbXBvcmFyeTIgPSB2Z2V0X2xvd191MTYodm1v
dmxfdTgodnJlaW50ZXJwcmV0X3U4X3UzMih0ZW1wb3JhcnkxKSkpOworICAgICAgICBmbG9hdDMy
eDRfdCBzb3VyY2VQaXhlbEFzRmxvYXQgPSB2Y3Z0cV9mMzJfdTMyKHZtb3ZsX3UxNih0ZW1wb3Jh
cnkyKSk7CiAKKyAgICAgICAgdGVtcG9yYXJ5MSA9IHZzZXRfbGFuZV91MzIoKmRlc3RpbmF0aW9u
UGl4ZWwsIHRlbXBvcmFyeTEsIDApOworICAgICAgICB0ZW1wb3JhcnkyID0gdmdldF9sb3dfdTE2
KHZtb3ZsX3U4KHZyZWludGVycHJldF91OF91MzIodGVtcG9yYXJ5MSkpKTsKKyAgICAgICAgZmxv
YXQzMng0X3QgZGVzdGluYXRpb25QaXhlbEFzRmxvYXQgPSB2Y3Z0cV9mMzJfdTMyKHZtb3ZsX3Ux
Nih0ZW1wb3JhcnkyKSk7CiAKKyAgICAgICAgZmxvYXQzMng0X3QgcmVzdWx0ID0gdm11bHFfZjMy
KHNvdXJjZVBpeGVsQXNGbG9hdCwgazJ4NCk7CisgICAgICAgIHJlc3VsdCA9IHZtbGFxX2YzMihy
ZXN1bHQsIGRlc3RpbmF0aW9uUGl4ZWxBc0Zsb2F0LCBrM3g0KTsKKyAgICAgICAgaWYgKGIxKQor
ICAgICAgICAgICAgcmVzdWx0ID0gdm1sYXFfZjMyKHJlc3VsdCwgdm11bHFfZjMyKHNvdXJjZVBp
eGVsQXNGbG9hdCwgZGVzdGluYXRpb25QaXhlbEFzRmxvYXQpLCBrMXg0KTsKKyAgICAgICAgaWYg
KGI0KQorICAgICAgICAgICAgcmVzdWx0ID0gdmFkZHFfZjMyKHJlc3VsdCwgazR4NCk7CiAKLSAg
ICAgfQorICAgICAgICAvLyBDb252ZXJ0IHJlc3VsdCB0byB1aW50IHNvIG5lZ2F0aXZlIHZhbHVl
cyBhcmUgY29udmVydGVkIHRvIHplcm8uCisgICAgICAgIHVpbnQxNng0X3QgdGVtcG9yYXJ5MyA9
IHZtb3ZuX3UzMih2bWlucV91MzIodmN2dHFfdTMyX2YzMihyZXN1bHQpLCBtYXgyNTUpKTsKKyAg
ICAgICAgdWludDh4OF90IHRlbXBvcmFyeTQgPSB2bW92bl91MTYodmNvbWJpbmVfdTE2KHRlbXBv
cmFyeTMsIHRlbXBvcmFyeTMpKTsKKyAgICAgICAgKmRlc3RpbmF0aW9uUGl4ZWwrKyA9IHZnZXRf
bGFuZV91MzIodnJlaW50ZXJwcmV0X3UzMl91OCh0ZW1wb3Jhcnk0KSwgMCk7CisgICAgICAgICsr
c291cmNlUGl4ZWw7CisgICAgfQorfQorCitpbmxpbmUgdm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZv
cm1Bcml0aG1ldGljTmVvbih1bnNpZ25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkIGNoYXIqIGRl
c3RpbmF0aW9uLAorICAgIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0IGsxLCBmbG9h
dCBrMiwgZmxvYXQgazMsIGZsb2F0IGs0KQoreworICAgIGlmICghazQpIHsKKyAgICAgICAgaWYg
KCFrMSkgeworICAgICAgICAgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uPDAsIDA+KHNv
dXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNvbXB1dGVBcml0aG1ldGlj
UGl4ZWxzTmVvbjwxLCAwPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBr
MSwgazIsIGszLCBrNCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWsxKSB7
CisgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzTmVvbjwwLCAxPihzb3VyY2UsIGRlc3Rp
bmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uPDEsIDE+KHNvdXJjZSwg
ZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotLSAKMS43LjIuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142248</attachid>
            <date>2012-05-16 07:00:22 -0700</date>
            <delta_ts>2012-05-16 23:50:54 -0700</delta_ts>
            <desc>EWS test</desc>
            <filename>0001-CompositeArithmetic.patch</filename>
            <type>text/plain</type>
            <size>21498</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSAyN2Y3ZDllYmE4MzkxOGNlNzQ5NmZlNDExMWI5OGIwYzczZGQ0ZGRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAd2Via2l0Lm9yZz4K
RGF0ZTogV2VkLCAxNiBNYXkgMjAxMiAwNjo1ODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIENv
bXBvc2l0ZUFyaXRobWV0aWMKCi0tLQogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gICAgICAgICAgICAgICAgIHwgICAgMSAtCiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgLQogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qICAgICAgIHwgICAgNCAtCiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgIDQgLQogLi4uL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwICAgICAgfCAgIDIxICstLQogLi4u
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaCAgICAgICAgfCAgICA5ICst
CiAuLi4vZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgICAgICB8ICAx
NTUgLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRo
bWV0aWNORU9OLmggICAgICAgIHwgICA2NCArKysrKysrLQogMTAgZmlsZXMgY2hhbmdlZCwgNzEg
aW5zZXJ0aW9ucygrKSwgMTkwIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGht
ZXRpY05FT04uY3BwCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWNlMThiLi43MTA3ZjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTIxNCw3ICsxMjE0LDYgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAogCi0gICAgcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9O
LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUdhdXNzaWFuQmx1ck5FT04u
Y3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVHYXVzc2lhbkJsdXJORU9O
LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDNhNmIxMDMuLmVhNjdhYWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzIxNSw3ICszMjE1LDYgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L1NvdXJjZUdyYXBoaWMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9TcG90TGlnaHRTb3VyY2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVB
cml0aG1ldGljTkVPTi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL2FybS9GRUdhdXNzaWFuQmx1ck5FT04uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUdhdXNzaWFuQmx1ck5FT04uaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCAyNzkyNGQ3Li41MzNmMWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTM0MDYsNyArMzQwNiw2IEBA
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxURVJTPTEpIHsKICAgICAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAgXAogICAgICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwIFwKLSAgICAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgXAogICAgICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUxpZ2h0aW5nTkVPTi5jcHAgXAogICAgICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUdhdXNzaWFuQmx1ck5FT04uY3BwIFwK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmMGI3MGIyLi5iMDIyZjdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0zODI4LDcgKzM4MjgsNiBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvU291cmNlR3JhcGhpYy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvU3BvdExpZ2h0U291cmNlLmgnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0
aWNORU9OLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZF
R2F1c3NpYW5CbHVyTkVPTi5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvYXJtL0ZFR2F1c3NpYW5CbHVyTkVPTi5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMjAzYzM1Ny4uMGY4NGM3OCAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMxMDg0LDEwICsz
MTA4NCw2IEBACiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKLQkJCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm1cRkVDb21wb3NpdGVBcml0
aG1ldGljTkVPTi5jcHAiCi0JCQkJCQk+Ci0JCQkJCTwvRmlsZT4KLQkJCQkJPEZpbGUKIAkJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm1cRkVDb21wb3Np
dGVBcml0aG1ldGljTkVPTi5oIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGJhNTQwYi4u
OWJhMDcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTMyMCw3ICsxMzIwLDYgQEAKIAkJNDlFOTEyQUMwRUZBQzkwNjAwOUQw
Q0FGIC8qIEFuaW1hdGlvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlFOTEyQTcwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3Qu
Y3BwICovOyB9OwogCQk0OUU5MTJBRDBFRkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTEyQTgw
RUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyog
VGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5RTkxMkE5MEVGQUM5MDYwMDlEMENBRiAvKiBUaW1pbmdGdW5jdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ5RUNFQjY3MTQ5
OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RUNFQjVEMTQ5OTc5MEQwMENE
RDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCAqLzsgfTsKIAkJNDlFQ0VCNjgx
NDk5NzkwRDAwQ0REM0E0IC8qIEZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RUNFQjVFMTQ5OTc5MEQwMENE
RDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmggKi87IH07CiAJCTQ5RUNFQjY5MTQ5
OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFQ0VCNUYxNDk5NzkwRDAwQ0REM0E0IC8q
IEZFR2F1c3NpYW5CbHVyTkVPTi5jcHAgKi87IH07CiAJCTQ5RUNFQjZBMTQ5OTc5MEQwMENERDNB
NCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5RUNFQjYwMTQ5OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1
ck5FT04uaCAqLzsgfTsKQEAgLTgzMjYsNyArODMyNSw2IEBACiAJCTQ5RTkxMkE3MEVGQUM5MDYw
MDlEMENBRiAvKiBBbmltYXRpb25MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IEFuaW1hdGlvbkxpc3QuY3BwOyBwYXRoID0gYW5pbWF0aW9uL0FuaW1hdGlvbkxp
c3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUU5MTJBODBFRkFDOTA2MDA5
RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBBbmltYXRpb25MaXN0Lmg7IHBhdGggPSBhbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUU5MTJBOTBFRkFDOTA2MDA5RDBDQUYgLyogVGlt
aW5nRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGltaW5nRnVu
Y3Rpb24uaDsgcGF0aCA9IGFuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0OUVDRUI1RDE0OTk3OTBEMDBDREQzQTQgLyogRkVDb21wb3NpdGVB
cml0aG1ldGljTkVPTi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
RUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDlFQ0VCNUUxNDk5NzkwRDAwQ0REM0E0IC8qIEZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRkVDb21wb3NpdGVBcml0aG1ldGlj
TkVPTi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUVDRUI1RjE0OTk3OTBEMDBD
REQzQTQgLyogRkVHYXVzc2lhbkJsdXJORU9OLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEZFR2F1c3NpYW5CbHVyTkVPTi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ5RUNFQjYwMTQ5OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRkVHYXVzc2lhbkJsdXJORU9OLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDk2Miw3ICsxNDk2MCw2IEBACiAJCTQ5
RUNFQjVDMTQ5OTc5MEQwMENERDNBNCAvKiBhcm0gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAotCQkJCTQ5RUNFQjVEMTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBv
c2l0ZUFyaXRobWV0aWNORU9OLmNwcCAqLywKIAkJCQk0OUVDRUI1RTE0OTk3OTBEMDBDREQzQTQg
LyogRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5oICovLAogCQkJCTQ5RUNFQjVGMTQ5OTc5MEQw
MENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uY3BwICovLAogCQkJCTQ5RUNFQjYwMTQ5OTc5
MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uaCAqLywKQEAgLTI1OTYwLDcgKzI1OTU3
LDYgQEAKIAkJCQlBNzVFOEI4QTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb2xvck1hdHJpeC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBNzVFOEI4QzBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25l
bnRUcmFuc2Zlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzVFOEI4RTBFMURFMkQ2MDA3RjI0
ODEgLyogRkVDb21wb3NpdGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDlFQ0VCNjcxNDk5Nzkw
RDAwQ0REM0E0IC8qIEZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJODQ3MzBENzgxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFQ29udm9sdmVNYXRyaXguY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTBENDAzQzcxNDc2OEM5NDAwRDMwQkI1IC8qIEZFQ3VzdG9tRmls
dGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0NzMwRDdBMTI0OEYwQjMwMEQzQTlDOSAvKiBG
RURpZmZ1c2VMaWdodGluZy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHAKaW5kZXgg
OTcwYjBkMi4uZGRmYTFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2
b2lkIEZFQ29tcG9zaXRlOjpjb3JyZWN0RmlsdGVyUmVzdWx0SWZOZWVkZWQoKQogICAgIGZvcmNl
VmFsaWRQcmVNdWx0aXBsaWVkUGl4ZWxzKCk7CiB9CiAKLXRlbXBsYXRlIDxpbnQgYjEsIGludCBi
MiwgaW50IGIzLCBpbnQgYjQ+Cit0ZW1wbGF0ZSA8aW50IGIxLCBpbnQgYjQ+CiBzdGF0aWMgaW5s
aW5lIHZvaWQgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHModW5zaWduZWQgY2hhciogc291cmNlLCB1
bnNpZ25lZCBjaGFyKiBkZXN0aW5hdGlvbiwgaW50IHBpeGVsQXJyYXlMZW5ndGgsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBrMSwgZmxvYXQgazIsIGZsb2F0IGsz
LCBmbG9hdCBrNCkKIHsKQEAgLTEzOCwxMyArMTM4LDkgQEAgc3RhdGljIGlubGluZSB2b2lkIGNv
bXB1dGVBcml0aG1ldGljUGl4ZWxzKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwgdW5zaWduZWQgY2hh
cioKICAgICB3aGlsZSAoLS1waXhlbEFycmF5TGVuZ3RoID49IDApIHsKICAgICAgICAgdW5zaWdu
ZWQgY2hhciBpMSA9ICpzb3VyY2U7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgaTIgPSAqZGVzdGlu
YXRpb247Ci0gICAgICAgIGZsb2F0IHJlc3VsdCA9IDA7CisgICAgICAgIGZsb2F0IHJlc3VsdCA9
IGsyICogaTEgKyBrMyAqIGkyOwogICAgICAgICBpZiAoYjEpCiAgICAgICAgICAgICByZXN1bHQg
Kz0gc2NhbGVkSzEgKiBpMSAqIGkyOwotICAgICAgICBpZiAoYjIpCi0gICAgICAgICAgICByZXN1
bHQgKz0gazIgKiBpMTsKLSAgICAgICAgaWYgKGIzKQotICAgICAgICAgICAgcmVzdWx0ICs9IGsz
ICogaTI7CiAgICAgICAgIGlmIChiNCkKICAgICAgICAgICAgIHJlc3VsdCArPSBzY2FsZWRLNDsK
IApAQCAtMTY0LDE5ICsxNjAsMTkgQEAgc3RhdGljIGlubGluZSB2b2lkIGFyaXRobWV0aWNTb2Z0
d2FyZSh1bnNpZ25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkIGNoYXIqIGRlc3QKIHsKICAgICBp
ZiAoIWs0KSB7CiAgICAgICAgIGlmICghazEpIHsKLSAgICAgICAgICAgIGNvbXB1dGVBcml0aG1l
dGljUGl4ZWxzPDAsIDEsIDEsIDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5n
dGgsIGsxLCBrMiwgazMsIGs0KTsKKyAgICAgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxz
PDAsIDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMs
IGs0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGNvbXB1dGVB
cml0aG1ldGljUGl4ZWxzPDEsIDEsIDEsIDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJy
YXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKKyAgICAgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhl
bHM8MSwgMD4oc291cmNlLCBkZXN0aW5hdGlvbiwgcGl4ZWxBcnJheUxlbmd0aCwgazEsIGsyLCBr
MywgazQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKCFrMSkgewotICAgICAg
ICBjb21wdXRlQXJpdGhtZXRpY1BpeGVsczwwLCAxLCAxLCAxPihzb3VyY2UsIGRlc3RpbmF0aW9u
LCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAgIGNvbXB1dGVBcml0
aG1ldGljUGl4ZWxzPDAsIDE+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgs
IGsxLCBrMiwgazMsIGs0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBjb21wdXRlQXJp
dGhtZXRpY1BpeGVsczwxLCAxLCAxLCAxPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5
TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHM8MSwg
MT4oc291cmNlLCBkZXN0aW5hdGlvbiwgcGl4ZWxBcnJheUxlbmd0aCwgazEsIGsyLCBrMywgazQp
OwogfQogCiBpbmxpbmUgdm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZvcm1Bcml0aG1ldGljU29mdHdh
cmUoVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwgVWludDhDbGFtcGVkQXJyYXkqIGRlc3RpbmF0
aW9uLApAQCAtMTg1LDEwICsxODEsOSBAQCBpbmxpbmUgdm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZv
cm1Bcml0aG1ldGljU29mdHdhcmUoVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwgVQogICAgIGlu
dCBsZW5ndGggPSBzb3VyY2UtPmxlbmd0aCgpOwogICAgIEFTU0VSVChsZW5ndGggPT0gc3RhdGlj
X2Nhc3Q8aW50PihkZXN0aW5hdGlvbi0+bGVuZ3RoKCkpKTsKICAgICAvLyBUaGUgc2VsZWN0aW9u
IGhlcmUgZXZlbnR1YWxseSBzaG91bGQgaGFwcGVuIGR5bmFtaWNhbGx5LgotI2lmIENQVShBUk1f
TkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDKQorI2lmIEhBVkUo
QVJNX05FT05fSU5UUklOU0lDUykKICAgICBBU1NFUlQoIShsZW5ndGggJiAweDMpKTsKLSAgICBm
bG9hdCBjb2VmZmljaWVudHNbNF0gID0geyBrMSwgazIsIGszLCBrNCB9OwotICAgIHBsYXRmb3Jt
QXJpdGhtZXRpY05lb24oc291cmNlLT5kYXRhKCksIGRlc3RpbmF0aW9uLT5kYXRhKCksIGxlbmd0
aCwgY29lZmZpY2llbnRzKTsKKyAgICBwbGF0Zm9ybUFyaXRobWV0aWNOZW9uKHNvdXJjZS0+ZGF0
YSgpLCBkZXN0aW5hdGlvbi0+ZGF0YSgpLCBsZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKICNlbHNl
CiAgICAgYXJpdGhtZXRpY1NvZnR3YXJlKHNvdXJjZS0+ZGF0YSgpLCBkZXN0aW5hdGlvbi0+ZGF0
YSgpLCBsZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5oCmluZGV4IDQy
Njk1ZjYuLjYwZmRlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmgKQEAgLTc0LDggKzc0LDEzIEBAIHByb3RlY3Rl
ZDoKIHByaXZhdGU6CiAgICAgRkVDb21wb3NpdGUoRmlsdGVyKiwgY29uc3QgQ29tcG9zaXRlT3Bl
cmF0aW9uVHlwZSYsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0KTsKIAotICAgIGlubGluZSB2
b2lkIHBsYXRmb3JtQXJpdGhtZXRpY1NvZnR3YXJlKFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3VyY2Us
IFVpbnQ4Q2xhbXBlZEFycmF5KiBkZXN0aW5hdGlvbiwgZmxvYXQgazEsIGZsb2F0IGsyLCBmbG9h
dCBrMywgZmxvYXQgazQpOwotICAgIGlubGluZSB2b2lkIHBsYXRmb3JtQXJpdGhtZXRpY05lb24o
dW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCAgY2hhciogZGVzdGluYXRpb24sIHVuc2ln
bmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0KiBrQXJyYXkpOworICAgIGlubGluZSB2b2lkIHBs
YXRmb3JtQXJpdGhtZXRpY1NvZnR3YXJlKFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3VyY2UsIFVpbnQ4
Q2xhbXBlZEFycmF5KiBkZXN0aW5hdGlvbiwKKyAgICAgICAgZmxvYXQgazEsIGZsb2F0IGsyLCBm
bG9hdCBrMywgZmxvYXQgazQpOworICAgIHRlbXBsYXRlIDxpbnQgYjEsIGludCBiND4KKyAgICBz
dGF0aWMgaW5saW5lIHZvaWQgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uKHVuc2lnbmVkIGNo
YXIqIHNvdXJjZSwgdW5zaWduZWQgIGNoYXIqIGRlc3RpbmF0aW9uLAorICAgICAgICB1bnNpZ25l
ZCBwaXhlbEFycmF5TGVuZ3RoLCBmbG9hdCBrMSwgZmxvYXQgazIsIGZsb2F0IGszLCBmbG9hdCBr
NCk7CisgICAgc3RhdGljIGlubGluZSB2b2lkIHBsYXRmb3JtQXJpdGhtZXRpY05lb24odW5zaWdu
ZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCAgY2hhciogZGVzdGluYXRpb24sCisgICAgICAgIHVu
c2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0IGsxLCBmbG9hdCBrMiwgZmxvYXQgazMsIGZs
b2F0IGs0KTsKIAogICAgIENvbXBvc2l0ZU9wZXJhdGlvblR5cGUgbV90eXBlOwogICAgIGZsb2F0
IG1fazE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2UwY2YwLi4wMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJp
dGhtZXRpY05FT04uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgVW5pdmVyc2l0eSBvZiBTemVnZWQKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBGZWxpY2lhbiBNYXJ0b24KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VEIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoRklMVEVSUykKLSNpbmNsdWRlICJGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmgiCi0K
LSNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdD
QykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0jZGVmaW5lIEFTU1RSSU5HKHN0cikgI3N0cgot
I2RlZmluZSBUT1NUUklORyh2YWx1ZSkgQVNTVFJJTkcodmFsdWUpCi0KLSNkZWZpbmUgTkwgIlxu
IgotCi0jZGVmaW5lIFNPVVJDRV9SICAgICAicjAiCi0jZGVmaW5lIERFU1RfUiAgICAgICAicjEi
Ci0jZGVmaW5lIEVORF9SICAgICAgICAicjIiCi0jZGVmaW5lIEtfUiAgICAgICAgICAicjMiCi0j
ZGVmaW5lIE5FWFRQSVhFTF9SICAicjEyIgotCi0jZGVmaW5lIFRFTVBfUSAgICAgICAicTAiCi0j
ZGVmaW5lIFRFTVBfRDAgICAgICAiZDAiCi0jZGVmaW5lIFRFTVBfRDAwICAgICAiZDBbMF0iCi0j
ZGVmaW5lIFRFTVBfRDAxICAgICAiZDBbMV0iCi0jZGVmaW5lIFRFTVBfRDEwICAgICAiZDFbMF0i
Ci0jZGVmaW5lIFRFTVBfRDExICAgICAiZDFbMV0iCi0jZGVmaW5lIFBJWEVMMV9RICAgICAicTEi
Ci0jZGVmaW5lIFBJWEVMMV9EMCAgICAiZDIiCi0jZGVmaW5lIFBJWEVMMV9EMDAgICAiZDJbMF0i
Ci0jZGVmaW5lIFBJWEVMMl9RICAgICAicTIiCi0jZGVmaW5lIFBJWEVMMl9EMCAgICAiZDQiCi0j
ZGVmaW5lIFBJWEVMMl9EMDAgICAiZDRbMF0iCi0jZGVmaW5lIEJZVEVNQVhfUSAgICAicTMiCi0j
ZGVmaW5lIEsxX1EgICAgICAgICAicTgiCi0jZGVmaW5lIEsyX1EgICAgICAgICAicTkiCi0jZGVm
aW5lIEszX1EgICAgICAgICAicTEwIgotI2RlZmluZSBLNF9RICAgICAgICAgInExMSIKLQotYXNt
ICggLy8gTk9MSU5UCi0iLmdsb2JsICIgVE9TVFJJTkcobmVvbkRyYXdDb21wb3NpdGVBcml0aG1l
dGljKSBOTAotVE9TVFJJTkcobmVvbkRyYXdDb21wb3NpdGVBcml0aG1ldGljKSAiOiIgTkwKLSAg
ICAiY21wICIgRU5EX1IgIiwgIzAiIE5MCi0gICAgImJ4ZXEgbHIiICBOTAotICAgIC8vIFNldCB0
aGUgZW5kIG9mIHRoZSBzb3VyY2UgcmVnaXN0ZXIuCi0gICAgImFkZCAiIEVORF9SICIsICIgU09V
UkNFX1IgIiwgIiBFTkRfUiBOTAotCi0gICAgInZsZDEuZjMyIHsiIFRFTVBfUSAifSwgWyIgS19S
ICJdIiBOTAotICAgICJsZHIgIiBLX1IgIiwgWyIgS19SICJdIiBOTAotICAgICJ2ZHVwLmYzMiAi
IEsxX1EgIiwgIiBURU1QX0QwMCBOTAotICAgICJ2ZHVwLmYzMiAiIEsyX1EgIiwgIiBURU1QX0Qw
MSBOTAotICAgICJ2ZHVwLmYzMiAiIEszX1EgIiwgIiBURU1QX0QxMCBOTAotICAgICJ2ZHVwLmYz
MiAiIEs0X1EgIiwgIiBURU1QX0QxMSBOTAotCi0gICAgInZtb3YuaTMyICIgQllURU1BWF9RICIs
ICMweEZGIiBOTAotICAgICJ2Y3Z0LmYzMi51MzIgIiBURU1QX1EgIiwgIiBCWVRFTUFYX1EgTkwK
LSAgICAidm11bC5mMzIgIiBLNF9RICIsICIgSzRfUSAiLCAiIFRFTVBfUSBOTAotCi0gICAgIm1v
diAiIE5FWFRQSVhFTF9SICIsICM0IiBOTAotICAgICJjbXAgIiBLX1IgIiwgIzAiIE5MCi0gICAg
ImJlcSAuYXJpdGhtZXRpY0sxSXNaZXJvIiBOTAotCi0gICAgInZyZWNwZS5mMzIgIiBURU1QX1Eg
IiwgIiBURU1QX1EgTkwKLSAgICAidm11bC5mMzIgIiBLMV9RICIsICIgSzFfUSAiLCAiIFRFTVBf
USBOTAotCi0iLmFyaXRobWV0aWNLMUlzTm9uWmVybzoiIE5MCi0KLSAgICAidmxkMS51MzIgIiBQ
SVhFTDFfRDAwICIsIFsgIiBTT1VSQ0VfUiAiXSwgIiBORVhUUElYRUxfUiBOTAotICAgICJ2bGQx
LnUzMiAiIFBJWEVMMl9EMDAgIiwgWyIgREVTVF9SICJdIiBOTAotCi0gICAgInZtb3ZsLnU4ICIg
UElYRUwxX1EgIiwgIiBQSVhFTDFfRDAgTkwKLSAgICAidm1vdmwudTE2ICIgUElYRUwxX1EgIiwg
IiBQSVhFTDFfRDAgTkwKLSAgICAidmN2dC5mMzIudTMyICIgUElYRUwxX1EgIiwgIiBQSVhFTDFf
USBOTAotICAgICJ2bW92bC51OCAiIFBJWEVMMl9RICIsICIgUElYRUwyX0QwIE5MCi0gICAgInZt
b3ZsLnUxNiAiIFBJWEVMMl9RICIsICIgUElYRUwyX0QwIE5MCi0gICAgInZjdnQuZjMyLnUzMiAi
IFBJWEVMMl9RICIsICIgUElYRUwyX1EgTkwKLQotICAgICJ2bXVsLmYzMiAiIFRFTVBfUSAiLCAi
IFBJWEVMMV9RICIsICIgUElYRUwyX1EgTkwKLSAgICAidm11bC5mMzIgIiBURU1QX1EgIiwgIiBU
RU1QX1EgIiwgIiBLMV9RIE5MCi0gICAgInZtbGEuZjMyICIgVEVNUF9RICIsICIgUElYRUwxX1Eg
IiwgIiBLMl9RIE5MCi0gICAgInZtbGEuZjMyICIgVEVNUF9RICIsICIgUElYRUwyX1EgIiwgIiBL
M19RIE5MCi0gICAgInZhZGQuZjMyICIgVEVNUF9RICIsICIgSzRfUSBOTAotCi0gICAgLy8gQ29u
dmVydCByZXN1bHQgdG8gdWludCBzbyBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byB6
ZXJvLgotICAgICJ2Y3Z0LnUzMi5mMzIgIiBURU1QX1EgIiwgIiBURU1QX1EgTkwKLSAgICAidm1p
bi51MzIgIiBURU1QX1EgIiwgIiBURU1QX1EgIiwgIiBCWVRFTUFYX1EgTkwKLSAgICAidm1vdm4u
dTMyICIgVEVNUF9EMCAiLCAiIFRFTVBfUSBOTAotICAgICJ2bW92bi51MTYgIiBURU1QX0QwICIs
ICIgVEVNUF9RIE5MCi0KLSAgICAidnN0MS51MzIgIiBURU1QX0QwMCAiLCBbIiBERVNUX1IgIl0s
ICIgTkVYVFBJWEVMX1IgTkwKLQotICAgICJjbXAgIiBTT1VSQ0VfUiAiLCAiIEVORF9SIE5MCi0g
ICAgImJjYyAuYXJpdGhtZXRpY0sxSXNOb25aZXJvIiBOTAotICAgICJieCBsciIgTkwKLQotIi5h
cml0aG1ldGljSzFJc1plcm86IiBOTAotCi0gICAgInZsZDEudTMyICIgUElYRUwxX0QwMCAiLCBb
ICIgU09VUkNFX1IgIl0sICIgTkVYVFBJWEVMX1IgTkwKLSAgICAidmxkMS51MzIgIiBQSVhFTDJf
RDAwICIsIFsiIERFU1RfUiAiXSIgTkwKLQotICAgICJ2bW92bC51OCAiIFBJWEVMMV9RICIsICIg
UElYRUwxX0QwIE5MCi0gICAgInZtb3ZsLnUxNiAiIFBJWEVMMV9RICIsICIgUElYRUwxX0QwIE5M
Ci0gICAgInZjdnQuZjMyLnUzMiAiIFBJWEVMMV9RICIsICIgUElYRUwxX1EgTkwKLSAgICAidm1v
dmwudTggIiBQSVhFTDJfUSAiLCAiIFBJWEVMMl9EMCBOTAotICAgICJ2bW92bC51MTYgIiBQSVhF
TDJfUSAiLCAiIFBJWEVMMl9EMCBOTAotICAgICJ2Y3Z0LmYzMi51MzIgIiBQSVhFTDJfUSAiLCAi
IFBJWEVMMl9RIE5MCi0KLSAgICAidm11bC5mMzIgIiBURU1QX1EgIiwgIiBQSVhFTDFfUSAiLCAi
IEsyX1EgTkwKLSAgICAidm1sYS5mMzIgIiBURU1QX1EgIiwgIiBQSVhFTDJfUSAiLCAiIEszX1Eg
TkwKLSAgICAidmFkZC5mMzIgIiBURU1QX1EgIiwgIiBLNF9RIE5MCi0KLSAgICAvLyBDb252ZXJ0
IHJlc3VsdCB0byB1aW50IHNvIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHplcm8u
Ci0gICAgInZjdnQudTMyLmYzMiAiIFRFTVBfUSAiLCAiIFRFTVBfUSBOTAotICAgICJ2bWluLnUz
MiAiIFRFTVBfUSAiLCAiIFRFTVBfUSAiLCAiIEJZVEVNQVhfUSBOTAotICAgICJ2bW92bi51MzIg
IiBURU1QX0QwICIsICIgVEVNUF9RIE5MCi0gICAgInZtb3ZuLnUxNiAiIFRFTVBfRDAgIiwgIiBU
RU1QX1EgTkwKLQotICAgICJ2c3QxLnUzMiAiIFRFTVBfRDAwICIsIFsiIERFU1RfUiAiXSwgIiBO
RVhUUElYRUxfUiBOTAotCi0gICAgImNtcCAiIFNPVVJDRV9SICIsICIgRU5EX1IgTkwKLSAgICAi
YmNjIC5hcml0aG1ldGljSzFJc1plcm8iIE5MCi0gICAgImJ4IGxyIiBOTAotKTsgLy8gTk9MSU5U
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYg
Q09NUElMRVIoR0NDKQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTFRFUlMpCi0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRl
QXJpdGhtZXRpY05FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaAppbmRleCA2NGNlYzFkLi5lY2M3M2Jj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2Fy
bS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5oCkBAIC0y
OSwyNSArMjksNzMgQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCi0jaWYgRU5BQkxF
KEZJTFRFUlMpCi0jaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBD
T01QSUxFUihHQ0MpCisjaWYgRU5BQkxFKEZJTFRFUlMpICYmIEhBVkUoQVJNX05FT05fSU5UUklO
U0lDUykKIAorI2luY2x1ZGUgPGFybV9uZW9uLmg+CiAjaW5jbHVkZSAiRkVDb21wb3NpdGUuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1leHRlcm4gIkMiIHsKLXZvaWQgbmVvbkRyYXdDb21w
b3NpdGVBcml0aG1ldGljKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwgdW5zaWduZWQgY2hhciogZGVz
dGluYXRpb24sIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0KiBjb2VmZmljaWVudHMp
OwordGVtcGxhdGUgPGludCBiMSwgaW50IGI0PgoraW5saW5lIHZvaWQgRkVDb21wb3NpdGU6OmNv
bXB1dGVBcml0aG1ldGljUGl4ZWxzTmVvbih1bnNpZ25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVk
IGNoYXIqIGRlc3RpbmF0aW9uLAorICAgIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0
IGsxLCBmbG9hdCBrMiwgZmxvYXQgazMsIGZsb2F0IGs0KQoreworICAgIGZsb2F0MzJ4NF90IGsx
eDQgPSB2ZHVwcV9uX2YzMihrMSAvIDI1NSk7CisgICAgZmxvYXQzMng0X3QgazJ4NCA9IHZkdXBx
X25fZjMyKGsyKTsKKyAgICBmbG9hdDMyeDRfdCBrM3g0ID0gdmR1cHFfbl9mMzIoazMpOworICAg
IGZsb2F0MzJ4NF90IGs0eDQgPSB2ZHVwcV9uX2YzMihrNCAqIDI1NSk7CisgICAgdWludDMyeDRf
dCBtYXgyNTUgPSB2ZHVwcV9uX3UzMigyNTUpOworCisgICAgdWludDMyX3QqIHNvdXJjZVBpeGVs
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KHNvdXJjZSk7CisgICAgdWludDMyX3QqIGRl
c3RpbmF0aW9uUGl4ZWwgPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdGluYXRpb24p
OworICAgIHVpbnQzMl90KiBkZXN0aW5hdGlvbkVuZFBpeGVsID0gZGVzdGluYXRpb25QaXhlbCAr
IChwaXhlbEFycmF5TGVuZ3RoID4+IDIpOworCisgICAgd2hpbGUgKGRlc3RpbmF0aW9uUGl4ZWwg
PCBkZXN0aW5hdGlvbkVuZFBpeGVsKSB7CisgICAgICAgIHVpbnQzMngyX3QgdGVtcG9yYXJ5MSA9
IHZzZXRfbGFuZV91MzIoKnNvdXJjZVBpeGVsLCB0ZW1wb3JhcnkxLCAwKTsKKyAgICAgICAgdWlu
dDE2eDRfdCB0ZW1wb3JhcnkyID0gdmdldF9sb3dfdTE2KHZtb3ZsX3U4KHZyZWludGVycHJldF91
OF91MzIodGVtcG9yYXJ5MSkpKTsKKyAgICAgICAgZmxvYXQzMng0X3Qgc291cmNlUGl4ZWxBc0Zs
b2F0ID0gdmN2dHFfZjMyX3UzMih2bW92bF91MTYodGVtcG9yYXJ5MikpOworCisgICAgICAgIHRl
bXBvcmFyeTEgPSB2c2V0X2xhbmVfdTMyKCpkZXN0aW5hdGlvblBpeGVsLCB0ZW1wb3JhcnkxLCAw
KTsKKyAgICAgICAgdGVtcG9yYXJ5MiA9IHZnZXRfbG93X3UxNih2bW92bF91OCh2cmVpbnRlcnBy
ZXRfdThfdTMyKHRlbXBvcmFyeTEpKSk7CisgICAgICAgIGZsb2F0MzJ4NF90IGRlc3RpbmF0aW9u
UGl4ZWxBc0Zsb2F0ID0gdmN2dHFfZjMyX3UzMih2bW92bF91MTYodGVtcG9yYXJ5MikpOworCisg
ICAgICAgIGZsb2F0MzJ4NF90IHJlc3VsdCA9IHZtdWxxX2YzMihzb3VyY2VQaXhlbEFzRmxvYXQs
IGsyeDQpOworICAgICAgICByZXN1bHQgPSB2bWxhcV9mMzIocmVzdWx0LCBkZXN0aW5hdGlvblBp
eGVsQXNGbG9hdCwgazN4NCk7CisgICAgICAgIGlmIChiMSkKKyAgICAgICAgICAgIHJlc3VsdCA9
IHZtbGFxX2YzMihyZXN1bHQsIHZtdWxxX2YzMihzb3VyY2VQaXhlbEFzRmxvYXQsIGRlc3RpbmF0
aW9uUGl4ZWxBc0Zsb2F0KSwgazF4NCk7CisgICAgICAgIGlmIChiNCkKKyAgICAgICAgICAgIHJl
c3VsdCA9IHZhZGRxX2YzMihyZXN1bHQsIGs0eDQpOworCisgICAgICAgIC8vIENvbnZlcnQgcmVz
dWx0IHRvIHVpbnQgc28gbmVnYXRpdmUgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gemVyby4KKyAg
ICAgICAgdWludDE2eDRfdCB0ZW1wb3JhcnkzID0gdm1vdm5fdTMyKHZtaW5xX3UzMih2Y3Z0cV91
MzJfZjMyKHJlc3VsdCksIG1heDI1NSkpOworICAgICAgICB1aW50OHg4X3QgdGVtcG9yYXJ5NCA9
IHZtb3ZuX3UxNih2Y29tYmluZV91MTYodGVtcG9yYXJ5MywgdGVtcG9yYXJ5MykpOworICAgICAg
ICAqZGVzdGluYXRpb25QaXhlbCsrID0gdmdldF9sYW5lX3UzMih2cmVpbnRlcnByZXRfdTMyX3U4
KHRlbXBvcmFyeTQpLCAwKTsKKyAgICAgICAgKytzb3VyY2VQaXhlbDsKKyAgICB9CiB9CiAKLWlu
bGluZSB2b2lkIEZFQ29tcG9zaXRlOjpwbGF0Zm9ybUFyaXRobWV0aWNOZW9uKHVuc2lnbmVkIGNo
YXIqIHNvdXJjZSwgdW5zaWduZWQgY2hhciogZGVzdGluYXRpb24sIHVuc2lnbmVkIHBpeGVsQXJy
YXlMZW5ndGgsIGZsb2F0KiBjb2VmZmljaWVudHMpCitpbmxpbmUgdm9pZCBGRUNvbXBvc2l0ZTo6
cGxhdGZvcm1Bcml0aG1ldGljTmVvbih1bnNpZ25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkIGNo
YXIqIGRlc3RpbmF0aW9uLAorICAgIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0IGsx
LCBmbG9hdCBrMiwgZmxvYXQgazMsIGZsb2F0IGs0KQogewotICAgIG5lb25EcmF3Q29tcG9zaXRl
QXJpdGhtZXRpYyhzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBjb2VmZmlj
aWVudHMpOworICAgIGlmICghazQpIHsKKyAgICAgICAgaWYgKCFrMSkgeworICAgICAgICAgICAg
Y29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uPDAsIDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBp
eGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzTmVvbjwxLCAwPihzb3Vy
Y2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWsxKSB7CisgICAgICAgIGNvbXB1dGVBcml0
aG1ldGljUGl4ZWxzTmVvbjwwLCAxPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVu
Z3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY29tcHV0
ZUFyaXRobWV0aWNQaXhlbHNOZW9uPDEsIDE+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJy
YXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gQ1BVKEFSTV9ORU9OKSAmJiBDT01QSUxFUihHQ0MpCi0jZW5kaWYgLy8gRU5B
QkxFKEZJTFRFUlMpCisjZW5kaWYgLy8gRU5BQkxFKEZJTFRFUlMpICYmIEhBVkUoQVJNX05FT05f
SU5UUklOU0lDUykKIAogI2VuZGlmIC8vIEZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT05faAotLSAK
MS43LjIuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142424</attachid>
            <date>2012-05-16 23:50:54 -0700</date>
            <delta_ts>2012-05-17 00:04:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-CompositeArithmetic.patch</filename>
            <type>text/plain</type>
            <size>23064</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSBhZmJiN2UyNTNlMDRkYTQ0YWVjMWQ4YmZkNGUzOWQ0ODA1MTJlMjk2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAd2Via2l0Lm9yZz4K
RGF0ZTogV2VkLCAxNiBNYXkgMjAxMiAyMzo0ODozMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIENv
bXBvc2l0ZUFyaXRobWV0aWMKCi0tLQogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgICAg
ICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAzMSArKysrCiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtICAgICAgICAgICAgICAgICB8ICAgIDEgLQogU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSAtCiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiAgICAgICB8ICAgIDQgLQogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgfCAgICA0IC0KIC4u
Li9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmNwcCAgICAgIHwgICAyMSAr
LS0KIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmggICAgICAgIHwg
ICAgOSArLQogLi4uL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwICAg
ICAgfCAgMTU1IC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vZmlsdGVycy9hcm0vRkVDb21wb3Np
dGVBcml0aG1ldGljTkVPTi5oICAgICAgICB8ICAgNjQgKysrKysrKy0KIDExIGZpbGVzIGNoYW5n
ZWQsIDEwMiBpbnNlcnRpb25zKCspLCAxOTAgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2
NDQgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3Np
dGVBcml0aG1ldGljTkVPTi5jcHAKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDlkZTQ4NjYuLmIy
MDA3NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjEzLDcgKzEyMTMsNiBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCiAKLSAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9O
LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGht
ZXRpY05FT04uaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFR2F1c3NpYW5C
bHVyTkVPTi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUdhdXNzaWFu
Qmx1ck5FT04uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBmMDA1ZDYuLmRlZDhjNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzNCBAQAorMjAxMi0wNS0xNiAgWm9sdGFuIEhlcmN6ZWcgIDx6aGVyY3plZ0B3ZWJr
aXQub3JnPgorCisgICAgICAgIE5FT04gaW50cmluc2ljIHNob3VsZCBiZSB1c2VkIHdpdGggYXJp
dGhtZXRpYyBtb2RlIG9mIGNvbXBvc2l0ZSBmaWx0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2NjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmV3cml0ZSBoYW5kIHdyaXR0ZW4gYXNzZW1ibHkgY29k
ZSB0byBpbmNyZWFzZSBwb3J0YWJpbGl0eSBhbmQgcmVhZGliaWxpdHkKKyAgICAgICAgb2YgdGhl
IGNvZGUuIFJlbW92ZSB0aGUgdW5uZWNlc3NhcnkgRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5j
cHAgZnJvbSB0aGUKKyAgICAgICAgcHJvamVjdAorCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIGNv
dmVyIHRoaXMgaXNzdWUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUFyaXRobWV0aWNQaXhlbHMpOgorICAgICAgICAo
V2ViQ29yZTo6YXJpdGhtZXRpY1NvZnR3YXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ29tcG9z
aXRlOjpwbGF0Zm9ybUFyaXRobWV0aWNTb2Z0d2FyZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRp
Y05FT04uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RkVDb21wb3Np
dGU6OmNvbXB1dGVBcml0aG1ldGljUGl4ZWxzTmVvbik6CisgICAgICAgIChXZWJDb3JlOjpGRUNv
bXBvc2l0ZTo6cGxhdGZvcm1Bcml0aG1ldGljTmVvbik6CisKIDIwMTItMDUtMTYgIEhheWF0byBJ
dG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBhIFNoYWRvdyBE
T00gc3BlYydzIHNlY3Rpb24gNiAnRXZlbnRzJy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IDk1NDQ4NjcuLjYwYjRjOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMzIxNCw3ICszMjE0LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5o
IFwKLQlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBv
c2l0ZUFyaXRobWV0aWNORU9OLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUdhdXNzaWFuQmx1ck5FT04uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUdhdXNz
aWFuQmx1ck5FT04uaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA3YmQ2MDIyLi5jZjMyMjEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTM0MDUsNyArMzQwNSw2IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxU
RVJTPTEpIHsKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3Vy
Y2UuY3BwIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5j
cHAgXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3Bw
IFwKLSAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0
aG1ldGljTkVPTi5jcHAgXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9G
RUxpZ2h0aW5nTkVPTi5jcHAgXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2Fy
bS9GRUdhdXNzaWFuQmx1ck5FT04uY3BwIFwKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlMGVlMjM5
Li45OTc0ZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zODMyLDcgKzM4MzIsNiBAQAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5jcHAnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU3BvdExpZ2h0U291cmNlLmgn
LAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRl
QXJpdGhtZXRpY05FT04uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFR2F1c3NpYW5CbHVyTkVPTi5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFR2F1c3NpYW5CbHVyTkVPTi5o
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
YjkyMDY4Yi4uMGZlN2I5OCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTMxMjI4LDEwICszMTIyOCw2IEBACiAJCQkJCQk+CiAJCQkJCTwvRmls
ZT4KIAkJCQkJPEZpbGUKLQkJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
ZmlsdGVyc1xhcm1cRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAiCi0JCQkJCQk+Ci0JCQkJ
CTwvRmlsZT4KLQkJCQkJPEZpbGUKIAkJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcZmlsdGVyc1xhcm1cRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5oIgogCQkJCQkJPgog
CQkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYTkzMGIwMy4uOTAyZWQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTMyMCw3ICsxMzIwLDYg
QEAKIAkJNDlFOTEyQUMwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlFOTEyQTcwRUZBQzkw
NjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3QuY3BwICovOyB9OwogCQk0OUU5MTJBRDBFRkFDOTA2
MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlFOTEyQTgwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxp
c3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RTkxMkE5MEVGQUM5MDYwMDlEMENB
RiAvKiBUaW1pbmdGdW5jdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTQ5RUNFQjY3MTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFy
aXRobWV0aWNORU9OLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5RUNFQjVEMTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNO
RU9OLmNwcCAqLzsgfTsKIAkJNDlFQ0VCNjgxNDk5NzkwRDAwQ0REM0E0IC8qIEZFQ29tcG9zaXRl
QXJpdGhtZXRpY05FT04uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ5RUNFQjVFMTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNO
RU9OLmggKi87IH07CiAJCTQ5RUNFQjY5MTQ5OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1
ck5FT04uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDlFQ0VCNUYxNDk5NzkwRDAwQ0REM0E0IC8qIEZFR2F1c3NpYW5CbHVyTkVPTi5jcHAgKi87IH07
CiAJCTQ5RUNFQjZBMTQ5OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RUNFQjYwMTQ5OTc5
MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uaCAqLzsgfTsKQEAgLTgzMjUsNyArODMy
NCw2IEBACiAJCTQ5RTkxMkE3MEVGQUM5MDYwMDlEMENBRiAvKiBBbmltYXRpb25MaXN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFuaW1hdGlvbkxpc3QuY3BwOyBw
YXRoID0gYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0OUU5MTJBODBFRkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBbmltYXRpb25MaXN0Lmg7IHBhdGggPSBhbmlt
YXRpb24vQW5pbWF0aW9uTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUU5
MTJBOTBFRkFDOTA2MDA5RDBDQUYgLyogVGltaW5nRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gVGltaW5nRnVuY3Rpb24uaDsgcGF0aCA9IGFuaW1hdGlvbi9UaW1p
bmdGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0OUVDRUI1RDE0OTk3
OTBEMDBDREQzQTQgLyogRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFQ0VCNUUxNDk5NzkwRDAwQ0REM0E0IC8q
IEZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0OUVDRUI1RjE0OTk3OTBEMDBDREQzQTQgLyogRkVHYXVzc2lhbkJsdXJORU9OLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZFR2F1c3NpYW5CbHVyTkVP
Ti5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RUNFQjYwMTQ5OTc5MEQwMENE
RDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRkVHYXVzc2lhbkJsdXJORU9OLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDk2MCw3ICsxNDk1OCw2IEBACiAJCTQ5RUNFQjVDMTQ5OTc5MEQwMENERDNBNCAvKiBhcm0g
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTQ5RUNFQjVE
MTQ5OTc5MEQwMENERDNBNCAvKiBGRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmNwcCAqLywKIAkJ
CQk0OUVDRUI1RTE0OTk3OTBEMDBDREQzQTQgLyogRkVDb21wb3NpdGVBcml0aG1ldGljTkVPTi5o
ICovLAogCQkJCTQ5RUNFQjVGMTQ5OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5FT04u
Y3BwICovLAogCQkJCTQ5RUNFQjYwMTQ5OTc5MEQwMENERDNBNCAvKiBGRUdhdXNzaWFuQmx1ck5F
T04uaCAqLywKQEAgLTI1OTU4LDcgKzI1OTU1LDYgQEAKIAkJCQlBNzVFOEI4QTBFMURFMkQ2MDA3
RjI0ODEgLyogRkVDb2xvck1hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzVFOEI4QzBF
MURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb25lbnRUcmFuc2Zlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNzVFOEI4RTBFMURFMkQ2MDA3RjI0ODEgLyogRkVDb21wb3NpdGUuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNDlFQ0VCNjcxNDk5NzkwRDAwQ0REM0E0IC8qIEZFQ29tcG9zaXRlQXJpdGht
ZXRpY05FT04uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODQ3MzBENzgxMjQ4RjBCMzAwRDNBOUM5
IC8qIEZFQ29udm9sdmVNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTBENDAzQzcxNDc2
OEM5NDAwRDMwQkI1IC8qIEZFQ3VzdG9tRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0
NzMwRDdBMTI0OEYwQjMwMEQzQTlDOSAvKiBGRURpZmZ1c2VMaWdodGluZy5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVDb21wb3NpdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvc2l0ZS5jcHAKaW5kZXggOTcwYjBkMi4uZGRmYTFlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0
ZS5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIEZFQ29tcG9zaXRlOjpjb3JyZWN0RmlsdGVy
UmVzdWx0SWZOZWVkZWQoKQogICAgIGZvcmNlVmFsaWRQcmVNdWx0aXBsaWVkUGl4ZWxzKCk7CiB9
CiAKLXRlbXBsYXRlIDxpbnQgYjEsIGludCBiMiwgaW50IGIzLCBpbnQgYjQ+Cit0ZW1wbGF0ZSA8
aW50IGIxLCBpbnQgYjQ+CiBzdGF0aWMgaW5saW5lIHZvaWQgY29tcHV0ZUFyaXRobWV0aWNQaXhl
bHModW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCBjaGFyKiBkZXN0aW5hdGlvbiwgaW50
IHBpeGVsQXJyYXlMZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bG9hdCBrMSwgZmxvYXQgazIsIGZsb2F0IGszLCBmbG9hdCBrNCkKIHsKQEAgLTEzOCwxMyArMTM4
LDkgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzKHVuc2lnbmVk
IGNoYXIqIHNvdXJjZSwgdW5zaWduZWQgY2hhcioKICAgICB3aGlsZSAoLS1waXhlbEFycmF5TGVu
Z3RoID49IDApIHsKICAgICAgICAgdW5zaWduZWQgY2hhciBpMSA9ICpzb3VyY2U7CiAgICAgICAg
IHVuc2lnbmVkIGNoYXIgaTIgPSAqZGVzdGluYXRpb247Ci0gICAgICAgIGZsb2F0IHJlc3VsdCA9
IDA7CisgICAgICAgIGZsb2F0IHJlc3VsdCA9IGsyICogaTEgKyBrMyAqIGkyOwogICAgICAgICBp
ZiAoYjEpCiAgICAgICAgICAgICByZXN1bHQgKz0gc2NhbGVkSzEgKiBpMSAqIGkyOwotICAgICAg
ICBpZiAoYjIpCi0gICAgICAgICAgICByZXN1bHQgKz0gazIgKiBpMTsKLSAgICAgICAgaWYgKGIz
KQotICAgICAgICAgICAgcmVzdWx0ICs9IGszICogaTI7CiAgICAgICAgIGlmIChiNCkKICAgICAg
ICAgICAgIHJlc3VsdCArPSBzY2FsZWRLNDsKIApAQCAtMTY0LDE5ICsxNjAsMTkgQEAgc3RhdGlj
IGlubGluZSB2b2lkIGFyaXRobWV0aWNTb2Z0d2FyZSh1bnNpZ25lZCBjaGFyKiBzb3VyY2UsIHVu
c2lnbmVkIGNoYXIqIGRlc3QKIHsKICAgICBpZiAoIWs0KSB7CiAgICAgICAgIGlmICghazEpIHsK
LSAgICAgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzPDAsIDEsIDEsIDA+KHNvdXJjZSwg
ZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKKyAgICAgICAg
ICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzPDAsIDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBp
eGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzPDEsIDEsIDEsIDA+KHNv
dXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKKyAg
ICAgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHM8MSwgMD4oc291cmNlLCBkZXN0aW5hdGlvbiwg
cGl4ZWxBcnJheUxlbmd0aCwgazEsIGsyLCBrMywgazQpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgaWYgKCFrMSkgewotICAgICAgICBjb21wdXRlQXJpdGhtZXRpY1BpeGVsczwwLCAx
LCAxLCAxPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGsz
LCBrNCk7CisgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzPDAsIDE+KHNvdXJjZSwgZGVz
dGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLSAgICBjb21wdXRlQXJpdGhtZXRpY1BpeGVsczwxLCAxLCAxLCAxPihzb3Vy
Y2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAg
Y29tcHV0ZUFyaXRobWV0aWNQaXhlbHM8MSwgMT4oc291cmNlLCBkZXN0aW5hdGlvbiwgcGl4ZWxB
cnJheUxlbmd0aCwgazEsIGsyLCBrMywgazQpOwogfQogCiBpbmxpbmUgdm9pZCBGRUNvbXBvc2l0
ZTo6cGxhdGZvcm1Bcml0aG1ldGljU29mdHdhcmUoVWludDhDbGFtcGVkQXJyYXkqIHNvdXJjZSwg
VWludDhDbGFtcGVkQXJyYXkqIGRlc3RpbmF0aW9uLApAQCAtMTg1LDEwICsxODEsOSBAQCBpbmxp
bmUgdm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZvcm1Bcml0aG1ldGljU29mdHdhcmUoVWludDhDbGFt
cGVkQXJyYXkqIHNvdXJjZSwgVQogICAgIGludCBsZW5ndGggPSBzb3VyY2UtPmxlbmd0aCgpOwog
ICAgIEFTU0VSVChsZW5ndGggPT0gc3RhdGljX2Nhc3Q8aW50PihkZXN0aW5hdGlvbi0+bGVuZ3Ro
KCkpKTsKICAgICAvLyBUaGUgc2VsZWN0aW9uIGhlcmUgZXZlbnR1YWxseSBzaG91bGQgaGFwcGVu
IGR5bmFtaWNhbGx5LgotI2lmIENQVShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkg
JiYgQ09NUElMRVIoR0NDKQorI2lmIEhBVkUoQVJNX05FT05fSU5UUklOU0lDUykKICAgICBBU1NF
UlQoIShsZW5ndGggJiAweDMpKTsKLSAgICBmbG9hdCBjb2VmZmljaWVudHNbNF0gID0geyBrMSwg
azIsIGszLCBrNCB9OwotICAgIHBsYXRmb3JtQXJpdGhtZXRpY05lb24oc291cmNlLT5kYXRhKCks
IGRlc3RpbmF0aW9uLT5kYXRhKCksIGxlbmd0aCwgY29lZmZpY2llbnRzKTsKKyAgICBwbGF0Zm9y
bUFyaXRobWV0aWNOZW9uKHNvdXJjZS0+ZGF0YSgpLCBkZXN0aW5hdGlvbi0+ZGF0YSgpLCBsZW5n
dGgsIGsxLCBrMiwgazMsIGs0KTsKICNlbHNlCiAgICAgYXJpdGhtZXRpY1NvZnR3YXJlKHNvdXJj
ZS0+ZGF0YSgpLCBkZXN0aW5hdGlvbi0+ZGF0YSgpLCBsZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvc2l0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvc2l0ZS5oCmluZGV4IDQyNjk1ZjYuLjYwZmRlZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmgK
QEAgLTc0LDggKzc0LDEzIEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgRkVDb21wb3NpdGUo
RmlsdGVyKiwgY29uc3QgQ29tcG9zaXRlT3BlcmF0aW9uVHlwZSYsIGZsb2F0LCBmbG9hdCwgZmxv
YXQsIGZsb2F0KTsKIAotICAgIGlubGluZSB2b2lkIHBsYXRmb3JtQXJpdGhtZXRpY1NvZnR3YXJl
KFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3VyY2UsIFVpbnQ4Q2xhbXBlZEFycmF5KiBkZXN0aW5hdGlv
biwgZmxvYXQgazEsIGZsb2F0IGsyLCBmbG9hdCBrMywgZmxvYXQgazQpOwotICAgIGlubGluZSB2
b2lkIHBsYXRmb3JtQXJpdGhtZXRpY05lb24odW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25l
ZCAgY2hhciogZGVzdGluYXRpb24sIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0KiBr
QXJyYXkpOworICAgIGlubGluZSB2b2lkIHBsYXRmb3JtQXJpdGhtZXRpY1NvZnR3YXJlKFVpbnQ4
Q2xhbXBlZEFycmF5KiBzb3VyY2UsIFVpbnQ4Q2xhbXBlZEFycmF5KiBkZXN0aW5hdGlvbiwKKyAg
ICAgICAgZmxvYXQgazEsIGZsb2F0IGsyLCBmbG9hdCBrMywgZmxvYXQgazQpOworICAgIHRlbXBs
YXRlIDxpbnQgYjEsIGludCBiND4KKyAgICBzdGF0aWMgaW5saW5lIHZvaWQgY29tcHV0ZUFyaXRo
bWV0aWNQaXhlbHNOZW9uKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwgdW5zaWduZWQgIGNoYXIqIGRl
c3RpbmF0aW9uLAorICAgICAgICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3RoLCBmbG9hdCBrMSwg
ZmxvYXQgazIsIGZsb2F0IGszLCBmbG9hdCBrNCk7CisgICAgc3RhdGljIGlubGluZSB2b2lkIHBs
YXRmb3JtQXJpdGhtZXRpY05lb24odW5zaWduZWQgY2hhciogc291cmNlLCB1bnNpZ25lZCAgY2hh
ciogZGVzdGluYXRpb24sCisgICAgICAgIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0
IGsxLCBmbG9hdCBrMiwgZmxvYXQgazMsIGZsb2F0IGs0KTsKIAogICAgIENvbXBvc2l0ZU9wZXJh
dGlvblR5cGUgbV90eXBlOwogICAgIGZsb2F0IG1fazE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNO
RU9OLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZF
Q29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1N2UwY2YwLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsMTU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgVW5pdmVyc2l0eSBv
ZiBTemVnZWQKLSAqIENvcHlyaWdodCAoQykgMjAxMSBGZWxpY2lhbiBNYXJ0b24KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFVOSVZFUlNJVFkgT0YgU1pFR0VE
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVU5JVkVSU0lUWSBPRiBTWkVHRUQg
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoRklMVEVSUykKLSNpbmNsdWRlICJGRUNv
bXBvc2l0ZUFyaXRobWV0aWNORU9OLmgiCi0KLSNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1f
VFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdDQykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0j
ZGVmaW5lIEFTU1RSSU5HKHN0cikgI3N0cgotI2RlZmluZSBUT1NUUklORyh2YWx1ZSkgQVNTVFJJ
TkcodmFsdWUpCi0KLSNkZWZpbmUgTkwgIlxuIgotCi0jZGVmaW5lIFNPVVJDRV9SICAgICAicjAi
Ci0jZGVmaW5lIERFU1RfUiAgICAgICAicjEiCi0jZGVmaW5lIEVORF9SICAgICAgICAicjIiCi0j
ZGVmaW5lIEtfUiAgICAgICAgICAicjMiCi0jZGVmaW5lIE5FWFRQSVhFTF9SICAicjEyIgotCi0j
ZGVmaW5lIFRFTVBfUSAgICAgICAicTAiCi0jZGVmaW5lIFRFTVBfRDAgICAgICAiZDAiCi0jZGVm
aW5lIFRFTVBfRDAwICAgICAiZDBbMF0iCi0jZGVmaW5lIFRFTVBfRDAxICAgICAiZDBbMV0iCi0j
ZGVmaW5lIFRFTVBfRDEwICAgICAiZDFbMF0iCi0jZGVmaW5lIFRFTVBfRDExICAgICAiZDFbMV0i
Ci0jZGVmaW5lIFBJWEVMMV9RICAgICAicTEiCi0jZGVmaW5lIFBJWEVMMV9EMCAgICAiZDIiCi0j
ZGVmaW5lIFBJWEVMMV9EMDAgICAiZDJbMF0iCi0jZGVmaW5lIFBJWEVMMl9RICAgICAicTIiCi0j
ZGVmaW5lIFBJWEVMMl9EMCAgICAiZDQiCi0jZGVmaW5lIFBJWEVMMl9EMDAgICAiZDRbMF0iCi0j
ZGVmaW5lIEJZVEVNQVhfUSAgICAicTMiCi0jZGVmaW5lIEsxX1EgICAgICAgICAicTgiCi0jZGVm
aW5lIEsyX1EgICAgICAgICAicTkiCi0jZGVmaW5lIEszX1EgICAgICAgICAicTEwIgotI2RlZmlu
ZSBLNF9RICAgICAgICAgInExMSIKLQotYXNtICggLy8gTk9MSU5UCi0iLmdsb2JsICIgVE9TVFJJ
TkcobmVvbkRyYXdDb21wb3NpdGVBcml0aG1ldGljKSBOTAotVE9TVFJJTkcobmVvbkRyYXdDb21w
b3NpdGVBcml0aG1ldGljKSAiOiIgTkwKLSAgICAiY21wICIgRU5EX1IgIiwgIzAiIE5MCi0gICAg
ImJ4ZXEgbHIiICBOTAotICAgIC8vIFNldCB0aGUgZW5kIG9mIHRoZSBzb3VyY2UgcmVnaXN0ZXIu
Ci0gICAgImFkZCAiIEVORF9SICIsICIgU09VUkNFX1IgIiwgIiBFTkRfUiBOTAotCi0gICAgInZs
ZDEuZjMyIHsiIFRFTVBfUSAifSwgWyIgS19SICJdIiBOTAotICAgICJsZHIgIiBLX1IgIiwgWyIg
S19SICJdIiBOTAotICAgICJ2ZHVwLmYzMiAiIEsxX1EgIiwgIiBURU1QX0QwMCBOTAotICAgICJ2
ZHVwLmYzMiAiIEsyX1EgIiwgIiBURU1QX0QwMSBOTAotICAgICJ2ZHVwLmYzMiAiIEszX1EgIiwg
IiBURU1QX0QxMCBOTAotICAgICJ2ZHVwLmYzMiAiIEs0X1EgIiwgIiBURU1QX0QxMSBOTAotCi0g
ICAgInZtb3YuaTMyICIgQllURU1BWF9RICIsICMweEZGIiBOTAotICAgICJ2Y3Z0LmYzMi51MzIg
IiBURU1QX1EgIiwgIiBCWVRFTUFYX1EgTkwKLSAgICAidm11bC5mMzIgIiBLNF9RICIsICIgSzRf
USAiLCAiIFRFTVBfUSBOTAotCi0gICAgIm1vdiAiIE5FWFRQSVhFTF9SICIsICM0IiBOTAotICAg
ICJjbXAgIiBLX1IgIiwgIzAiIE5MCi0gICAgImJlcSAuYXJpdGhtZXRpY0sxSXNaZXJvIiBOTAot
Ci0gICAgInZyZWNwZS5mMzIgIiBURU1QX1EgIiwgIiBURU1QX1EgTkwKLSAgICAidm11bC5mMzIg
IiBLMV9RICIsICIgSzFfUSAiLCAiIFRFTVBfUSBOTAotCi0iLmFyaXRobWV0aWNLMUlzTm9uWmVy
bzoiIE5MCi0KLSAgICAidmxkMS51MzIgIiBQSVhFTDFfRDAwICIsIFsgIiBTT1VSQ0VfUiAiXSwg
IiBORVhUUElYRUxfUiBOTAotICAgICJ2bGQxLnUzMiAiIFBJWEVMMl9EMDAgIiwgWyIgREVTVF9S
ICJdIiBOTAotCi0gICAgInZtb3ZsLnU4ICIgUElYRUwxX1EgIiwgIiBQSVhFTDFfRDAgTkwKLSAg
ICAidm1vdmwudTE2ICIgUElYRUwxX1EgIiwgIiBQSVhFTDFfRDAgTkwKLSAgICAidmN2dC5mMzIu
dTMyICIgUElYRUwxX1EgIiwgIiBQSVhFTDFfUSBOTAotICAgICJ2bW92bC51OCAiIFBJWEVMMl9R
ICIsICIgUElYRUwyX0QwIE5MCi0gICAgInZtb3ZsLnUxNiAiIFBJWEVMMl9RICIsICIgUElYRUwy
X0QwIE5MCi0gICAgInZjdnQuZjMyLnUzMiAiIFBJWEVMMl9RICIsICIgUElYRUwyX1EgTkwKLQot
ICAgICJ2bXVsLmYzMiAiIFRFTVBfUSAiLCAiIFBJWEVMMV9RICIsICIgUElYRUwyX1EgTkwKLSAg
ICAidm11bC5mMzIgIiBURU1QX1EgIiwgIiBURU1QX1EgIiwgIiBLMV9RIE5MCi0gICAgInZtbGEu
ZjMyICIgVEVNUF9RICIsICIgUElYRUwxX1EgIiwgIiBLMl9RIE5MCi0gICAgInZtbGEuZjMyICIg
VEVNUF9RICIsICIgUElYRUwyX1EgIiwgIiBLM19RIE5MCi0gICAgInZhZGQuZjMyICIgVEVNUF9R
ICIsICIgSzRfUSBOTAotCi0gICAgLy8gQ29udmVydCByZXN1bHQgdG8gdWludCBzbyBuZWdhdGl2
ZSB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byB6ZXJvLgotICAgICJ2Y3Z0LnUzMi5mMzIgIiBURU1Q
X1EgIiwgIiBURU1QX1EgTkwKLSAgICAidm1pbi51MzIgIiBURU1QX1EgIiwgIiBURU1QX1EgIiwg
IiBCWVRFTUFYX1EgTkwKLSAgICAidm1vdm4udTMyICIgVEVNUF9EMCAiLCAiIFRFTVBfUSBOTAot
ICAgICJ2bW92bi51MTYgIiBURU1QX0QwICIsICIgVEVNUF9RIE5MCi0KLSAgICAidnN0MS51MzIg
IiBURU1QX0QwMCAiLCBbIiBERVNUX1IgIl0sICIgTkVYVFBJWEVMX1IgTkwKLQotICAgICJjbXAg
IiBTT1VSQ0VfUiAiLCAiIEVORF9SIE5MCi0gICAgImJjYyAuYXJpdGhtZXRpY0sxSXNOb25aZXJv
IiBOTAotICAgICJieCBsciIgTkwKLQotIi5hcml0aG1ldGljSzFJc1plcm86IiBOTAotCi0gICAg
InZsZDEudTMyICIgUElYRUwxX0QwMCAiLCBbICIgU09VUkNFX1IgIl0sICIgTkVYVFBJWEVMX1Ig
TkwKLSAgICAidmxkMS51MzIgIiBQSVhFTDJfRDAwICIsIFsiIERFU1RfUiAiXSIgTkwKLQotICAg
ICJ2bW92bC51OCAiIFBJWEVMMV9RICIsICIgUElYRUwxX0QwIE5MCi0gICAgInZtb3ZsLnUxNiAi
IFBJWEVMMV9RICIsICIgUElYRUwxX0QwIE5MCi0gICAgInZjdnQuZjMyLnUzMiAiIFBJWEVMMV9R
ICIsICIgUElYRUwxX1EgTkwKLSAgICAidm1vdmwudTggIiBQSVhFTDJfUSAiLCAiIFBJWEVMMl9E
MCBOTAotICAgICJ2bW92bC51MTYgIiBQSVhFTDJfUSAiLCAiIFBJWEVMMl9EMCBOTAotICAgICJ2
Y3Z0LmYzMi51MzIgIiBQSVhFTDJfUSAiLCAiIFBJWEVMMl9RIE5MCi0KLSAgICAidm11bC5mMzIg
IiBURU1QX1EgIiwgIiBQSVhFTDFfUSAiLCAiIEsyX1EgTkwKLSAgICAidm1sYS5mMzIgIiBURU1Q
X1EgIiwgIiBQSVhFTDJfUSAiLCAiIEszX1EgTkwKLSAgICAidmFkZC5mMzIgIiBURU1QX1EgIiwg
IiBLNF9RIE5MCi0KLSAgICAvLyBDb252ZXJ0IHJlc3VsdCB0byB1aW50IHNvIG5lZ2F0aXZlIHZh
bHVlcyBhcmUgY29udmVydGVkIHRvIHplcm8uCi0gICAgInZjdnQudTMyLmYzMiAiIFRFTVBfUSAi
LCAiIFRFTVBfUSBOTAotICAgICJ2bWluLnUzMiAiIFRFTVBfUSAiLCAiIFRFTVBfUSAiLCAiIEJZ
VEVNQVhfUSBOTAotICAgICJ2bW92bi51MzIgIiBURU1QX0QwICIsICIgVEVNUF9RIE5MCi0gICAg
InZtb3ZuLnUxNiAiIFRFTVBfRDAgIiwgIiBURU1QX1EgTkwKLQotICAgICJ2c3QxLnUzMiAiIFRF
TVBfRDAwICIsIFsiIERFU1RfUiAiXSwgIiBORVhUUElYRUxfUiBOTAotCi0gICAgImNtcCAiIFNP
VVJDRV9SICIsICIgRU5EX1IgTkwKLSAgICAiYmNjIC5hcml0aG1ldGljSzFJc1plcm8iIE5MCi0g
ICAgImJ4IGxyIiBOTAotKTsgLy8gTk9MSU5UCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYgQ09NUElMRVIoR0NDKQotCi0jZW5kaWYgLy8gRU5B
QkxFKEZJTFRFUlMpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05F
T04uaAppbmRleCA2NGNlYzFkLi41MGYzNGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL2FybS9GRUNvbXBvc2l0ZUFyaXRobWV0aWNORU9OLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21w
b3NpdGVBcml0aG1ldGljTkVPTi5oCkBAIC0yOSwyNSArMjksNzMgQEAKIAogI2luY2x1ZGUgPHd0
Zi9QbGF0Zm9ybS5oPgogCi0jaWYgRU5BQkxFKEZJTFRFUlMpCi0jaWYgQ1BVKEFSTV9ORU9OKSAm
JiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgRU5BQkxFKEZJTFRF
UlMpICYmIEhBVkUoQVJNX05FT05fSU5UUklOU0lDUykKIAogI2luY2x1ZGUgIkZFQ29tcG9zaXRl
LmgiCisjaW5jbHVkZSA8YXJtX25lb24uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1leHRl
cm4gIkMiIHsKLXZvaWQgbmVvbkRyYXdDb21wb3NpdGVBcml0aG1ldGljKHVuc2lnbmVkIGNoYXIq
IHNvdXJjZSwgdW5zaWduZWQgY2hhciogZGVzdGluYXRpb24sIHVuc2lnbmVkIHBpeGVsQXJyYXlM
ZW5ndGgsIGZsb2F0KiBjb2VmZmljaWVudHMpOwordGVtcGxhdGUgPGludCBiMSwgaW50IGI0Pgor
aW5saW5lIHZvaWQgRkVDb21wb3NpdGU6OmNvbXB1dGVBcml0aG1ldGljUGl4ZWxzTmVvbih1bnNp
Z25lZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkIGNoYXIqIGRlc3RpbmF0aW9uLAorICAgIHVuc2ln
bmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0IGsxLCBmbG9hdCBrMiwgZmxvYXQgazMsIGZsb2F0
IGs0KQoreworICAgIGZsb2F0MzJ4NF90IGsxeDQgPSB2ZHVwcV9uX2YzMihrMSAvIDI1NSk7Cisg
ICAgZmxvYXQzMng0X3QgazJ4NCA9IHZkdXBxX25fZjMyKGsyKTsKKyAgICBmbG9hdDMyeDRfdCBr
M3g0ID0gdmR1cHFfbl9mMzIoazMpOworICAgIGZsb2F0MzJ4NF90IGs0eDQgPSB2ZHVwcV9uX2Yz
MihrNCAqIDI1NSk7CisgICAgdWludDMyeDRfdCBtYXgyNTUgPSB2ZHVwcV9uX3UzMigyNTUpOwor
CisgICAgdWludDMyX3QqIHNvdXJjZVBpeGVsID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+
KHNvdXJjZSk7CisgICAgdWludDMyX3QqIGRlc3RpbmF0aW9uUGl4ZWwgPSByZWludGVycHJldF9j
YXN0PHVpbnQzMl90Kj4oZGVzdGluYXRpb24pOworICAgIHVpbnQzMl90KiBkZXN0aW5hdGlvbkVu
ZFBpeGVsID0gZGVzdGluYXRpb25QaXhlbCArIChwaXhlbEFycmF5TGVuZ3RoID4+IDIpOworCisg
ICAgd2hpbGUgKGRlc3RpbmF0aW9uUGl4ZWwgPCBkZXN0aW5hdGlvbkVuZFBpeGVsKSB7CisgICAg
ICAgIHVpbnQzMngyX3QgdGVtcG9yYXJ5MSA9IHZzZXRfbGFuZV91MzIoKnNvdXJjZVBpeGVsLCB0
ZW1wb3JhcnkxLCAwKTsKKyAgICAgICAgdWludDE2eDRfdCB0ZW1wb3JhcnkyID0gdmdldF9sb3df
dTE2KHZtb3ZsX3U4KHZyZWludGVycHJldF91OF91MzIodGVtcG9yYXJ5MSkpKTsKKyAgICAgICAg
ZmxvYXQzMng0X3Qgc291cmNlUGl4ZWxBc0Zsb2F0ID0gdmN2dHFfZjMyX3UzMih2bW92bF91MTYo
dGVtcG9yYXJ5MikpOworCisgICAgICAgIHRlbXBvcmFyeTEgPSB2c2V0X2xhbmVfdTMyKCpkZXN0
aW5hdGlvblBpeGVsLCB0ZW1wb3JhcnkxLCAwKTsKKyAgICAgICAgdGVtcG9yYXJ5MiA9IHZnZXRf
bG93X3UxNih2bW92bF91OCh2cmVpbnRlcnByZXRfdThfdTMyKHRlbXBvcmFyeTEpKSk7CisgICAg
ICAgIGZsb2F0MzJ4NF90IGRlc3RpbmF0aW9uUGl4ZWxBc0Zsb2F0ID0gdmN2dHFfZjMyX3UzMih2
bW92bF91MTYodGVtcG9yYXJ5MikpOworCisgICAgICAgIGZsb2F0MzJ4NF90IHJlc3VsdCA9IHZt
dWxxX2YzMihzb3VyY2VQaXhlbEFzRmxvYXQsIGsyeDQpOworICAgICAgICByZXN1bHQgPSB2bWxh
cV9mMzIocmVzdWx0LCBkZXN0aW5hdGlvblBpeGVsQXNGbG9hdCwgazN4NCk7CisgICAgICAgIGlm
IChiMSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHZtbGFxX2YzMihyZXN1bHQsIHZtdWxxX2YzMihz
b3VyY2VQaXhlbEFzRmxvYXQsIGRlc3RpbmF0aW9uUGl4ZWxBc0Zsb2F0KSwgazF4NCk7CisgICAg
ICAgIGlmIChiNCkKKyAgICAgICAgICAgIHJlc3VsdCA9IHZhZGRxX2YzMihyZXN1bHQsIGs0eDQp
OworCisgICAgICAgIC8vIENvbnZlcnQgcmVzdWx0IHRvIHVpbnQgc28gbmVnYXRpdmUgdmFsdWVz
IGFyZSBjb252ZXJ0ZWQgdG8gemVyby4KKyAgICAgICAgdWludDE2eDRfdCB0ZW1wb3JhcnkzID0g
dm1vdm5fdTMyKHZtaW5xX3UzMih2Y3Z0cV91MzJfZjMyKHJlc3VsdCksIG1heDI1NSkpOworICAg
ICAgICB1aW50OHg4X3QgdGVtcG9yYXJ5NCA9IHZtb3ZuX3UxNih2Y29tYmluZV91MTYodGVtcG9y
YXJ5MywgdGVtcG9yYXJ5MykpOworICAgICAgICAqZGVzdGluYXRpb25QaXhlbCsrID0gdmdldF9s
YW5lX3UzMih2cmVpbnRlcnByZXRfdTMyX3U4KHRlbXBvcmFyeTQpLCAwKTsKKyAgICAgICAgKytz
b3VyY2VQaXhlbDsKKyAgICB9CiB9CiAKLWlubGluZSB2b2lkIEZFQ29tcG9zaXRlOjpwbGF0Zm9y
bUFyaXRobWV0aWNOZW9uKHVuc2lnbmVkIGNoYXIqIHNvdXJjZSwgdW5zaWduZWQgY2hhciogZGVz
dGluYXRpb24sIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0KiBjb2VmZmljaWVudHMp
CitpbmxpbmUgdm9pZCBGRUNvbXBvc2l0ZTo6cGxhdGZvcm1Bcml0aG1ldGljTmVvbih1bnNpZ25l
ZCBjaGFyKiBzb3VyY2UsIHVuc2lnbmVkIGNoYXIqIGRlc3RpbmF0aW9uLAorICAgIHVuc2lnbmVk
IHBpeGVsQXJyYXlMZW5ndGgsIGZsb2F0IGsxLCBmbG9hdCBrMiwgZmxvYXQgazMsIGZsb2F0IGs0
KQogewotICAgIG5lb25EcmF3Q29tcG9zaXRlQXJpdGhtZXRpYyhzb3VyY2UsIGRlc3RpbmF0aW9u
LCBwaXhlbEFycmF5TGVuZ3RoLCBjb2VmZmljaWVudHMpOworICAgIGlmICghazQpIHsKKyAgICAg
ICAgaWYgKCFrMSkgeworICAgICAgICAgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uPDAs
IDA+KHNvdXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNvbXB1dGVBcml0
aG1ldGljUGl4ZWxzTmVvbjwxLCAwPihzb3VyY2UsIGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVu
Z3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
IWsxKSB7CisgICAgICAgIGNvbXB1dGVBcml0aG1ldGljUGl4ZWxzTmVvbjwwLCAxPihzb3VyY2Us
IGRlc3RpbmF0aW9uLCBwaXhlbEFycmF5TGVuZ3RoLCBrMSwgazIsIGszLCBrNCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgY29tcHV0ZUFyaXRobWV0aWNQaXhlbHNOZW9uPDEsIDE+KHNv
dXJjZSwgZGVzdGluYXRpb24sIHBpeGVsQXJyYXlMZW5ndGgsIGsxLCBrMiwgazMsIGs0KTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gQ1BVKEFSTV9ORU9OKSAmJiBD
T01QSUxFUihHQ0MpCi0jZW5kaWYgLy8gRU5BQkxFKEZJTFRFUlMpCisjZW5kaWYgLy8gRU5BQkxF
KEZJTFRFUlMpICYmIEhBVkUoQVJNX05FT05fSU5UUklOU0lDUykKIAogI2VuZGlmIC8vIEZFQ29t
cG9zaXRlQXJpdGhtZXRpY05FT05faAotLSAKMS43LjIuNQoK
</data>
<flag name="review"
          id="148753"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>