<?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>67110</bug_id>
          
          <creation_ts>2011-08-29 00:04:08 -0700</creation_ts>
          <short_desc>[EFL] Add const modifier to passed objects where it&apos;s recommended</short_desc>
          <delta_ts>2011-08-30 02:38:10 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Grzegorz Czajkowski">g.czajkowski</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458085</commentid>
    <comment_count>0</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-08-29 00:04:08 -0700</bug_when>
    <thetext>Add const modifier to passed Evas_Object if the function doesn&apos;t change its (the most cases to the getter functions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458086</commentid>
    <comment_count>1</comment_count>
      <attachid>105464</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-08-29 00:05:16 -0700</bug_when>
    <thetext>Created attachment 105464
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458150</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-08-29 03:01:51 -0700</bug_when>
    <thetext>Although this patch is huge, looks good to me. I&apos;m not sure if this patch needs to be split into smaller&apos;s patches. CC&apos;ing Kent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458183</commentid>
    <comment_count>3</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-08-29 05:33:17 -0700</bug_when>
    <thetext>Looks OK if everything still builds fine (although the patch is quite large).

&gt; Source/WebKit/efl/ChangeLog:8
&gt; +        Add const modifier to passed Evas_Object if the function doesn&apos;t change its (the most

doesn&apos;t change its what?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458765</commentid>
    <comment_count>4</comment_count>
      <attachid>105593</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-08-30 01:33:30 -0700</bug_when>
    <thetext>Created attachment 105593
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458767</commentid>
    <comment_count>5</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-08-30 01:35:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Looks OK if everything still builds fine (although the patch is quite large).
&gt; 

Should I split it into smaller patches?

&gt; &gt; Source/WebKit/efl/ChangeLog:8
&gt; &gt; +        Add const modifier to passed Evas_Object if the function doesn&apos;t change its (the most
&gt; 
&gt; doesn&apos;t change its what?

fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458801</commentid>
    <comment_count>6</comment_count>
      <attachid>105593</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-30 02:38:05 -0700</bug_when>
    <thetext>Comment on attachment 105593
updated patch

Clearing flags on attachment: 105593

Committed r94063: &lt;http://trac.webkit.org/changeset/94063&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458802</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-30 02:38:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105464</attachid>
            <date>2011-08-29 00:05:16 -0700</date>
            <delta_ts>2011-08-30 01:33:30 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>add_const_modifier.patch</filename>
            <type>text/plain</type>
            <size>27940</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA1OTc2MzhhLi5hNjU5MTgwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNTMgQEAKKzIwMTEtMDgtMjggIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIGNvbnN0IG1vZGlmaWVyIHRv
IHBhc3NlZCBvYmplY3RzIHdoZXJlIGl0J3MgcmVjb21tZW5kZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNvbnN0IG1vZGlmaWVyIHRvIHBhc3Nl
ZCBFdmFzX09iamVjdCBpZiB0aGUgZnVuY3Rpb24gZG9lc24ndCBjaGFuZ2UgaXRzICh0aGUgbW9z
dAorICAgICAgICBjYXNlcyB0byB0aGUgZ2V0dGVyIGZ1bmN0aW9ucykuCisKKyAgICAgICAgKiBl
d2svZXdrX2NvbnRleHRtZW51LmNwcDoKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9s
aXN0X2dldCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQpOgorICAg
ICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX2FjdGlvbl9nZXQpOgorICAgICAgICAoZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3RpdGxlX2dldCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0
ZW1fY2hlY2tlZF9nZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRf
Z2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfY3VzdG9tX2dldCk6CisgICAgICAgIChl
d2tfY29udGV4dF9tZW51X3Nob3cpOgorICAgICAgICAqIGV3ay9ld2tfY29udGV4dG1lbnUuaDoK
KyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV90ZXh0X21h
dGNoZXNfbnRoX3Bvc19nZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5
cGVfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9zb3VyY2VfZ2V0KToKKyAgICAgICAgKGV3a19m
cmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmg6
CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3a192aWV3LmNw
cDoKKyAgICAgICAgKF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUpOgorICAg
ICAgICAoZXdrX3ZpZXdfZml4ZWRfbGF5b3V0X3NpemVfZ2V0KToKKyAgICAgICAgKGV3a192aWV3
X3RoZW1lX2dldCk6CisgICAgICAgIChld2tfdmlld19pbWhfZ2V0KToKKyAgICAgICAgKGV3a192
aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0b3JfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3Nl
dHRpbmdfZW5hYmxlX2RldmVsb3Blcl9leHRyYXNfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3Nl
dHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9uX2dldCk6CisgICAgICAgIChld2tfdmlld19zZXR0aW5n
X2xvY2FsX3N0b3JhZ2VfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3NldHRpbmdfcGFnZV9jYWNo
ZV9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19nZXQpOgorICAg
ICAgICAoZXdrX3ZpZXdfem9vbV9yYW5nZV9taW5fZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3pv
b21fcmFuZ2VfbWF4X2dldCk6CisgICAgICAgIChld2tfdmlld191c2VyX3NjYWxhYmxlX2dldCk6
CisgICAgICAgIChld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KToKKyAgICAgICAgKGV3
a192aWV3X3BhZ2VfcmVjdF9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfbW9kZV9nZXQpOgorICAg
ICAgICAqIGV3ay9ld2tfdmlldy5oOgorICAgICAgICAqIGV3ay9ld2tfd2luZG93X2ZlYXR1cmVz
LmNwcDoKKyAgICAgICAgKGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQpOgor
ICAgICAgICAoZXdrX3dpbmRvd19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0KToKKyAgICAgICAg
KiBld2svZXdrX3dpbmRvd19mZWF0dXJlcy5oOgorCiAyMDExLTA4LTI1ICBSYXBoYWVsIEt1Ym8g
ZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtFRkxdIEFkZCBBUEkg
dG8gYWxsb3cgc2NyaXB0cyB0byBjbG9zZSB3aW5kb3dzIGF1dG9tYXRpY2FsbHkgdmlhIEphdmFT
Y3JpcHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuY3BwCmluZGV4IGNl
NjgxZDguLjZmYWZmYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29u
dGV4dG1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUu
Y3BwCkBAIC05Miw3ICs5Miw3IEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2Rlc3Ryb3ko
RXdrX0NvbnRleHRfTWVudSAqbWVudSkKICNlbmRpZgogfQogCi1jb25zdCBFaW5hX0xpc3QgKmV3
a19jb250ZXh0X21lbnVfaXRlbV9saXN0X2dldChFd2tfQ29udGV4dF9NZW51ICpvKQorY29uc3Qg
RWluYV9MaXN0ICpld2tfY29udGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQoY29uc3QgRXdrX0NvbnRl
eHRfTWVudSAqbykKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobywgMCk7
CiAKQEAgLTE0Miw3ICsxNDIsNyBAQCB2b2lkIGV3a19jb250ZXh0X21lbnVfaXRlbV9mcmVlKEV3
a19Db250ZXh0X01lbnVfSXRlbSAqaXRlbSkKICAgICBmcmVlKGl0ZW0pOwogfQogCi1Fd2tfQ29u
dGV4dF9NZW51X0l0ZW1fVHlwZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQoRXdrX0Nv
bnRleHRfTWVudV9JdGVtICpvKQorRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgZXdrX2NvbnRl
eHRfbWVudV9pdGVtX3R5cGVfZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykKIHsK
ICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobywgRVdLX0FDVElPTl9UWVBFKTsK
ICAgICByZXR1cm4gby0+dHlwZTsKQEAgLTE1NSw3ICsxNTUsNyBAQCBFaW5hX0Jvb2wgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3R5cGVfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbywgRXdrX0Nv
bnRleHRfTQogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAKLUV3a19Db250ZXh0X01lbnVfQWN0
aW9uIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fZ2V0KEV3a19Db250ZXh0X01lbnVfSXRl
bSAqbykKK0V3a19Db250ZXh0X01lbnVfQWN0aW9uIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rp
b25fZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykKIHsKICAgICBFSU5BX1NBRkVU
WV9PTl9OVUxMX1JFVFVSTl9WQUwobywgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19OT19BQ1RJ
T04pOwogICAgIHJldHVybiBvLT5hY3Rpb247CkBAIC0xNjgsNyArMTY4LDcgQEAgRWluYV9Cb29s
IGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAq
bywgRXdrX0NvbnRleHQKICAgICByZXR1cm4gRUlOQV9UUlVFOwogfQogCi1jb25zdCBjaGFyICpl
d2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfZ2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykK
K2NvbnN0IGNoYXIgKmV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQoY29uc3QgRXdrX0Nv
bnRleHRfTWVudV9JdGVtICpvKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChvLCAwKTsKICAgICByZXR1cm4gby0+dGl0bGU7CkBAIC0xODEsNyArMTgxLDcgQEAgY29uc3Qg
Y2hhciAqZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX3NldChFd2tfQ29udGV4dF9NZW51X0l0
ZW0gKm8sIGNvbnN0IGNoYXIKICAgICByZXR1cm4gby0+dGl0bGU7CiB9CiAKLUVpbmFfQm9vbCBl
d2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpv
KQorRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV9jaGVja2VkX2dldChjb25zdCBFd2tf
Q29udGV4dF9NZW51X0l0ZW0gKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKG8sIEVJTkFfRkFMU0UpOwogICAgIHJldHVybiBvLT5jaGVja2VkOwpAQCAtMTk0LDcgKzE5
NCw3IEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9zZXQoRXdrX0Nv
bnRleHRfTWVudV9JdGVtICpvLCBFaW5hX0Jvb2wKICAgICByZXR1cm4gRUlOQV9UUlVFOwogfQog
Ci1FaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfZ2V0KEV3a19Db250ZXh0
X01lbnVfSXRlbSAqbykKK0VpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9n
ZXQoY29uc3QgRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKQogewogICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChvLCBFSU5BX0ZBTFNFKTsKICAgICByZXR1cm4gby0+ZW5hYmxlZDsK
QEAgLTMwMSw3ICszMDEsNyBAQCB2b2lkIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQoRXdr
X0NvbnRleHRfTWVudSAqbywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtCiAgKgogICogQHNlZSBl
d2tfY29udGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQKICAqLwotRXdrX0NvbnRleHRfTWVudSAqZXdr
X2NvbnRleHRfbWVudV9jdXN0b21fZ2V0KEV3a19Db250ZXh0X01lbnUgKm8pCitFd2tfQ29udGV4
dF9NZW51ICpld2tfY29udGV4dF9tZW51X2N1c3RvbV9nZXQoY29uc3QgRXdrX0NvbnRleHRfTWVu
dSAqbykKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobywgMCk7CiAKQEAg
LTMxNiw3ICszMTYsNyBAQCBFd2tfQ29udGV4dF9NZW51ICpld2tfY29udGV4dF9tZW51X2N1c3Rv
bV9nZXQoRXdrX0NvbnRleHRfTWVudSAqbykKICAqCiAgKiBAcGFyYW0gbyB0aGUgY29udGV4dCBt
ZW51IG9iamVjdAogICovCi12b2lkIGV3a19jb250ZXh0X21lbnVfc2hvdyhFd2tfQ29udGV4dF9N
ZW51ICpvKQordm9pZCBld2tfY29udGV4dF9tZW51X3Nob3coY29uc3QgRXdrX0NvbnRleHRfTWVu
dSAqbykKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihvKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oCmluZGV4IGNmMGU5YjcuLjM4ODQ0MzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmgKQEAgLTE4Myw3ICsxODMsNyBAQCBF
QVBJIEVpbmFfQm9vbCAgICAgICAgICAgICAgICAgICBld2tfY29udGV4dF9tZW51X2Rlc3Ryb3ko
RXdrX0NvbnRleHRfTWVudSAqbWVudQogICogQHBhcmFtIG8gdGhlIGNvbnRleHQgbWVudSBvYmpl
Y3QgdG8gZ2V0IGxpc3Qgb2YgdGhlIGl0ZW1zCiAgKiBAcmV0dXJuIHRoZSBsaXN0IG9mIHRoZSBp
dGVtcyBvbiBzdWNjZXNzIG9yIEBjIDAgb24gZmFpbHVyZQogICovCi1FQVBJIGNvbnN0IEVpbmFf
TGlzdCAgICAgICAgICAgICpld2tfY29udGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQoRXdrX0NvbnRl
eHRfTWVudSAqbyk7CitFQVBJIGNvbnN0IEVpbmFfTGlzdCAgICAgICAgICAgICpld2tfY29udGV4
dF9tZW51X2l0ZW1fbGlzdF9nZXQoY29uc3QgRXdrX0NvbnRleHRfTWVudSAqbyk7CiAKIC8qKgog
ICogQ3JlYXRlcyBhIG5ldyBpdGVtIG9mIHRoZSBjb250ZXh0IG1lbnUuCkBAIC0yMjcsNyArMjI3
LDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9p
dGVtX3NlbGVjdChFd2tfQ29udGV4dF9NZW51ICoKICAqCiAgKiBAc2VlIGV3a19jb250ZXh0X21l
bnVfaXRlbV90eXBlX3NldAogICovCi1FQVBJIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlICBl
d2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsK
K0VBUEkgRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgIGV3a19jb250ZXh0X21lbnVfaXRlbV90
eXBlX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pOwogCiAvKioKICAqIFNldHMg
dGhlIHR5cGUgb2YgaXRlbS4KQEAgLTI0OCw3ICsyNDgsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICAg
ICAgICAgICAgICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9zZXQoRXdrX0NvbnRleHRf
TWVudQogICoKICAqIEBzZWUgZXdrX2NvbnRleHRfbWVudV9pdGVtX2FjdGlvbl9zZXQKICAqLwot
RUFQSSBFd2tfQ29udGV4dF9NZW51X0FjdGlvbiAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX2Fj
dGlvbl9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsKK0VBUEkgRXdrX0NvbnRleHRfTWVu
dV9BY3Rpb24gICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fZ2V0KGNvbnN0IEV3a19D
b250ZXh0X01lbnVfSXRlbSAqbyk7CiAKIC8qKgogICogU2V0cyBhbiBhY3Rpb24gb2YgdGhlIGl0
ZW0uCkBAIC0yNjksNyArMjY5LDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAg
ZXdrX2NvbnRleHRfbWVudV9pdGVtX2FjdGlvbl9zZXQoRXdrX0NvbnRleHRfTWUKICAqCiAgKiBA
c2VlIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9zZXQKICAqLwotRUFQSSBjb25zdCBjaGFy
ICAgICAgICAgICAgICAgICAqZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX2dldChFd2tfQ29u
dGV4dF9NZW51X0l0ZW0gKm8pOworRUFQSSBjb25zdCBjaGFyICAgICAgICAgICAgICAgICAqZXdr
X2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0g
Km8pOwogCiAvKioKICAqIFNldHMgYSB0aXRsZSBvZiB0aGUgaXRlbS4KQEAgLTI4Miw3ICsyODIs
NyBAQCBFQVBJIGNvbnN0IGNoYXIgICAgICAgICAgICAgICAgICpld2tfY29udGV4dF9tZW51X2l0
ZW1fdGl0bGVfZ2V0KEV3a19Db250ZXh0X01lbgogICovCiBFQVBJIGNvbnN0IGNoYXIgICAgICAg
ICAgICAgICAgICpld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfc2V0KEV3a19Db250ZXh0X01l
bnVfSXRlbSAqbywgY29uc3QgY2hhciAqdGl0bGUpOwogCi1FQVBJIEVpbmFfQm9vbCAgICAgICAg
ICAgICAgICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoRXdrX0NvbnRleHRf
TWVudV9JdGVtICpvKTsKK0VBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250
ZXh0X21lbnVfaXRlbV9jaGVja2VkX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8p
OwogRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVt
X2NoZWNrZWRfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbywgRWluYV9Cb29sIGNoZWNrZWQp
OwogCiAvKioKQEAgLTI5Myw3ICsyOTMsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICAgICAgICAgICAg
ICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9zZXQoRXdrX0NvbnRleHRfTQogICoK
ICAqIEBzZWUgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfc2V0CiAgKi8KLUVBUEkgRWlu
YV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVkX2dl
dChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pOworRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAg
ICAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfZ2V0KGNvbnN0IEV3a19Db250ZXh0
X01lbnVfSXRlbSAqbyk7CiAKIC8qKgogICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgaXRlbS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggYjAzZDcyNy4uOTJmZjY1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTUzMyw3ICs1MzMsNyBAQCBzdGF0aWMgYm9v
bCBfZXdrX2ZyYW1lX3JlY3RfaXNfbmVnYXRpdmVfdmFsdWUoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCAmaSkKICAgICByZXR1cm4gKGkueCgpIDwgMCB8fCBpLnkoKSA8IDApOwogfQogCi1FaW5hX0Jv
b2wgZXdrX2ZyYW1lX3RleHRfbWF0Y2hlc19udGhfcG9zX2dldChFdmFzX09iamVjdCAqbywgc2l6
ZV90IG4sIGludCAqeCwgaW50ICp5KQorRWluYV9Cb29sIGV3a19mcmFtZV90ZXh0X21hdGNoZXNf
bnRoX3Bvc19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8sIHNpemVfdCBuLCBpbnQgKngsIGludCAq
eSkKIHsKICAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7
CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgRUlOQV9GQUxT
RSk7CkBAIC0xMDYzLDcgKzEwNjMsNyBAQCBFaW5hX0Jvb2wgZXdrX2ZyYW1lX2ZlZWRfa2V5X3Vw
KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2ZW50X0tleV9VcCAqZXYpCiAgICAgcmV0dXJu
IHNkLT5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmtleUV2ZW50KGV2ZW50KTsKIH0KIAotRXdrX1Rl
eHRfU2VsZWN0aW9uX1R5cGUgZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5cGVfZ2V0KEV2YXNf
T2JqZWN0ICpvKQorRXdrX1RleHRfU2VsZWN0aW9uX1R5cGUgZXdrX2ZyYW1lX3RleHRfc2VsZWN0
aW9uX3R5cGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19GUkFNRV9TRF9H
RVRfT1JfUkVUVVJOKG8sIHNkLCBFV0tfVEVYVF9TRUxFQ1RJT05fTk9ORSk7CiAgICAgRUlOQV9T
QUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgRVdLX1RFWFRfU0VMRUNUSU9OX05P
TkUpOwpAQCAtMTUwMCw3ICsxNTAwLDcgQEAgdm9pZCBld2tfZnJhbWVfdmlld19jcmVhdGVfZm9y
X3ZpZXcoRXZhc19PYmplY3QgKm8sIEV2YXNfT2JqZWN0ICp2aWV3KQogICAgIHNkLT5mcmFtZS0+
dmlldygpLT5zZXRFdmFzT2JqZWN0KG8pOwogfQogCi1zc2l6ZV90IGV3a19mcmFtZV9zb3VyY2Vf
Z2V0KEV2YXNfT2JqZWN0ICpvLCBjaGFyICoqZnJhbWVfc291cmNlKQorc3NpemVfdCBld2tfZnJh
bWVfc291cmNlX2dldChjb25zdCBFdmFzX09iamVjdCAqbywgY2hhciAqKmZyYW1lX3NvdXJjZSkK
IHsKICAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgLTEpOwogICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUsIC0xKTsKQEAgLTE1NTAsNyArMTU1
MCw3IEBAIHNzaXplX3QgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoRXZhc19PYmplY3QgKm8sIGNoYXIg
KipmcmFtZV9zb3VyY2UpCiAgICAgcmV0dXJuIHNvdXJjZV9sZW5ndGg7CiB9CiAKLUVpbmFfTGlz
dCAqZXdrX2ZyYW1lX3Jlc291cmNlc19sb2NhdGlvbl9nZXQoRXZhc19PYmplY3QgKm8pCitFaW5h
X0xpc3QgKmV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
ICpvKQogewogICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCAwKTsKICAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLCAwKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfZnJhbWUuaAppbmRleCBhMzU2NzdiLi5lYTY1MzAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5oCkBAIC00MTMsNyArNDEzLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1l
X3RleHRfbWF0Y2hlc19oaWdobGlnaHRfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqIEBy
ZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3MsIEBjIEVJTkFfRkFMU0Ugd2hlbiBubyBtYXRj
aGVzIHdlcmUgZm91bmQgb3IKICAqICAgICAgICAgQGEgbiBpcyBiaWdnZXIgdGhhbiBzZWFyY2gg
cmVzdWx0cyBvciBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV90
ZXh0X21hdGNoZXNfbnRoX3Bvc19nZXQoRXZhc19PYmplY3QgKm8sIHNpemVfdCBuLCBpbnQgKngs
IGludCAqeSk7CitFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfdGV4dF9tYXRjaGVzX250aF9w
b3NfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBzaXplX3QgbiwgaW50ICp4LCBpbnQgKnkpOwog
CiAvKioKICAqIEFza3MgZnJhbWUgdG8gc3RvcCBsb2FkaW5nLgpAQCAtNzYzLDcgKzc2Myw3IEBA
IEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9mZWVkX2tleV91cChFdmFzX09iamVjdCAqbywg
Y29uc3QgRXZhc19FdmVudF9LZXlfVXAKICAqIEBwYXJhbSBvIGEgZnJhbWUgb2JqZWN0IHRvIGNo
ZWNrIHNlbGVjdGlvbiB0eXBlCiAgKiBAcmV0dXJuIGN1cnJlbnQgdGV4dCBzZWxlY3Rpb24gdHlw
ZSBvbiBzdWNjZXNzIG9yIG5vIHNlbGVjdGlvbiBvdGhlcndpc2UKICAqLwotRUFQSSBFd2tfVGV4
dF9TZWxlY3Rpb25fVHlwZSBld2tfZnJhbWVfdGV4dF9zZWxlY3Rpb25fdHlwZV9nZXQoRXZhc19P
YmplY3QgKm8pOworRUFQSSBFd2tfVGV4dF9TZWxlY3Rpb25fVHlwZSBld2tfZnJhbWVfdGV4dF9z
ZWxlY3Rpb25fdHlwZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAvKioKICAqIEdldHMg
dGhlIGZyYW1lIHNvdXJjZS4KQEAgLTc3OCw3ICs3NzgsNyBAQCBFQVBJIEV3a19UZXh0X1NlbGVj
dGlvbl9UeXBlIGV3a19mcmFtZV90ZXh0X3NlbGVjdGlvbl90eXBlX2dldChFdmFzX09iamVjdCAq
byk7CiAgKgogICogQHNlZSBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldCgpCiAgKi8K
LUVBUEkgc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChFdmFzX09iamVjdCAqbywgY2hhciAq
KmZyYW1lX3NvdXJjZSk7CitFQVBJIHNzaXplX3QgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoY29uc3Qg
RXZhc19PYmplY3QgKm8sIGNoYXIgKipmcmFtZV9zb3VyY2UpOwogCiAvKioKICAqIEdldHMgdGhl
IHJlc291cmNlIGxpc3Qgb2YgdGhpcyBmcmFtZS4KQEAgLTc5Myw3ICs3OTMsNyBAQCBFQVBJIHNz
aXplX3QgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoRXZhc19PYmplY3QgKm8sIGNoYXIgKipmcmFtZV9z
b3VyY2UpOwogICoKICAqIEBzZWUgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoKQogICovCi1FQVBJIEVp
bmFfTGlzdCAqZXdrX2ZyYW1lX3Jlc291cmNlc19sb2NhdGlvbl9nZXQoRXZhc19PYmplY3QgKm8p
OworRUFQSSBFaW5hX0xpc3QgKmV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0ICpvKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfcHJpdmF0ZS5oCmluZGV4IDVhMWNmNGMuLjljYjVhODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfcHJpdmF0ZS5oCkBAIC0xNTAsNyArMTUwLDcgQEAgdW5zaWduZWQgZXdrX3V0aWxfd29y
a2VyX3RocmVhZF9jb3VudCgpOwogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIHZvaWQgZXdr
X3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfc2V0KEV2YXNfT2JqZWN0KiwgYm9vbCBuZWVkZWQpOwot
RWluYV9Cb29sIGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX2dldChFdmFzX09iamVjdCopOwor
RWluYV9Cb29sIGV3a192aWV3X25lZWRfdG91Y2hfZXZlbnRzX2dldChjb25zdCBFdmFzX09iamVj
dCopOwogI2VuZGlmCiAKIEV3a19IaXN0b3J5ICpld2tfaGlzdG9yeV9uZXcoV2ViQ29yZTo6QmFj
a0ZvcndhcmRMaXN0SW1wbCAqaGlzdG9yeSk7CkBAIC0xNjMsOCArMTYzLDggQEAgRWluYV9MaXN0
ICpld2tfaGlzdG9yeV9pdGVtX2NoaWxkcmVuX2dldChjb25zdCBFd2tfSGlzdG9yeV9JdGVtICpp
dGVtKTsKIEV3a19Db250ZXh0X01lbnUgKmV3a19jb250ZXh0X21lbnVfbmV3KEV2YXNfT2JqZWN0
ICp2aWV3LCBXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXIgKmNvbnRyb2xsZXIpOwogRWlu
YV9Cb29sIGV3a19jb250ZXh0X21lbnVfZnJlZShFd2tfQ29udGV4dF9NZW51ICpvKTsKIHZvaWQg
ZXdrX2NvbnRleHRfbWVudV9pdGVtX2FwcGVuZChFd2tfQ29udGV4dF9NZW51ICpvLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW0gJmNvcmUpOwotRXdrX0NvbnRleHRfTWVudSAqZXdrX2NvbnRleHRf
bWVudV9jdXN0b21fZ2V0KEV3a19Db250ZXh0X01lbnUgKm8pOwotdm9pZCBld2tfY29udGV4dF9t
ZW51X3Nob3coRXdrX0NvbnRleHRfTWVudSAqbyk7CitFd2tfQ29udGV4dF9NZW51ICpld2tfY29u
dGV4dF9tZW51X2N1c3RvbV9nZXQoY29uc3QgRXdrX0NvbnRleHRfTWVudSAqbyk7Cit2b2lkIGV3
a19jb250ZXh0X21lbnVfc2hvdyhjb25zdCBFd2tfQ29udGV4dF9NZW51ICpvKTsKICNlbmRpZgog
CiBjb25zdCBFaW5hX1JlY3RhbmdsZSAqZXdrX3ZpZXdfcmVwYWludHNfZ2V0KGNvbnN0IEV3a19W
aWV3X1ByaXZhdGVfRGF0YSAqcHJpdiwgc2l6ZV90ICpjb3VudCk7CkBAIC0yMTIsNyArMjEyLDcg
QEAgRWluYV9Cb29sIGV3a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKEV2YXNfT2Jq
ZWN0ICpvLCBFd2tfRnJhbWVfUmVzb3VyY2UKIAogdm9pZCBld2tfdmlld19jb250ZW50c19zaXpl
X2NoYW5nZWQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgdywgRXZhc19Db29yZCBoKTsKIAot
V2ViQ29yZTo6RmxvYXRSZWN0IGV3a192aWV3X3BhZ2VfcmVjdF9nZXQoRXZhc19PYmplY3QgKm8p
OworV2ViQ29yZTo6RmxvYXRSZWN0IGV3a192aWV3X3BhZ2VfcmVjdF9nZXQoY29uc3QgRXZhc19P
YmplY3QgKm8pOwogCiBjb25zdCBjaGFyKiBld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50
X2dldCh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggNTVhMmM2NS4u
NjMxNDY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0xMDMwLDcgKzEwMzAs
NyBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfem9vbV9hbmltYXRpb25fc3RhcnQoRXdrX1ZpZXdf
U21hcnRfRGF0YSAqc2QpCiAgICAgICAgIChfZXdrX3ZpZXdfem9vbV9hbmltYXRvcl9jYiwgc2Qp
OwogfQogCi1zdGF0aWMgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIF9ld2tfdmlld192aWV3
cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUoRXZhc19PYmplY3QgKm8pCitzdGF0aWMgV2ViQ29yZTo6
Vmlld3BvcnRBdHRyaWJ1dGVzIF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUo
Y29uc3QgRXZhc19PYmplY3QgKm8pCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUKG8sIHNkKTsKICAg
ICBFV0tfVklFV19QUklWX0dFVChzZCwgcHJpdik7CkBAIC0xMTM3LDcgKzExMzcsNyBAQCB2b2lk
IGV3a192aWV3X2ZpeGVkX2xheW91dF9zaXplX3NldChFdmFzX09iamVjdCAqbywgRXZhc19Db29y
ZCB3LCBFdmFzX0Nvb3JkIGgpCiAgICAgdmlldy0+Zm9yY2VMYXlvdXQoKTsKIH0KIAotdm9pZCBl
d2tfdmlld19maXhlZF9sYXlvdXRfc2l6ZV9nZXQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQg
KncsIEV2YXNfQ29vcmQgKmgpCit2b2lkIGV3a192aWV3X2ZpeGVkX2xheW91dF9zaXplX2dldChj
b25zdCBFdmFzX09iamVjdCAqbywgRXZhc19Db29yZCAqdywgRXZhc19Db29yZCAqaCkKIHsKICAg
ICBpZiAodykKICAgICAgICAgKncgPSAwOwpAQCAtMTE3MCw3ICsxMTcwLDcgQEAgdm9pZCBld2tf
dmlld190aGVtZV9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnBhdGgpCiAKIH0KIAot
Y29uc3QgY2hhciogZXdrX3ZpZXdfdGhlbWVfZ2V0KEV2YXNfT2JqZWN0ICpvKQorY29uc3QgY2hh
ciogZXdrX3ZpZXdfdGhlbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19W
SUVXX1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIDApOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzZCwgcHJpdiwgMCk7CkBAIC0xNzU1LDcgKzE3NTUsNyBAQCBFaW5hX0Jvb2wgZXdr
X3ZpZXdfcHJlX3JlbmRlcl9yZWxhdGl2ZV9yYWRpdXMoRXZhc19PYmplY3QgKm8sIHVuc2lnbmVk
IGludCBuKQogICAgIHJldHVybiBzZC0+YXBpLT5wcmVfcmVuZGVyX3JlbGF0aXZlX3JhZGl1cyhz
ZCwgbiwgY3VyX3pvb20pOwogfQogCi11bnNpZ25lZCBpbnQgZXdrX3ZpZXdfaW1oX2dldChFdmFz
X09iamVjdCAqbykKK3Vuc2lnbmVkIGludCBld2tfdmlld19pbWhfZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIDApOwogICAg
IEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzZCwgcHJpdiwgMCk7CkBAIC0yMTAxLDE0ICsy
MTAxLDE0IEBAIEVpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2RldGVjdG9yX3Nl
dChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVuYWJsCiAgICAgcmV0dXJuIEVJTkFfVFJVRTsK
IH0KIAotRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0b3JfZ2V0KEV2
YXNfT2JqZWN0ICpvKQorRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0
b3JfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9S
RVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVS
TihzZCwgcHJpdiwgRUlOQV9GQUxTRSk7CiAgICAgcmV0dXJuIHByaXYtPnNldHRpbmdzLmVuY29k
aW5nX2RldGVjdG9yOwogfQogCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZGV2
ZWxvcGVyX2V4dHJhc19nZXQoRXZhc19PYmplY3QgKm8pCitFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0
dGluZ19lbmFibGVfZGV2ZWxvcGVyX2V4dHJhc19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pCiB7
CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7CiAgICAg
RVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2LCBFSU5BX0ZBTFNFKTsKQEAgLTIy
OTUsNyArMjI5NSw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX2ZvbnRfc2Fuc19zZXJp
Zl9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKmZhbWlsCiAgICAgcmV0dXJuIEVJTkFf
VFJVRTsKIH0KIAotRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9u
X2dldChFdmFzX09iamVjdCAqbykKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxf
bmF2aWdhdGlvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pCiB7CiAgICAgRVdLX1ZJRVdfU0Rf
R0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRf
T1JfUkVUVVJOKHNkLCBwcml2LCBFSU5BX0ZBTFNFKTsKQEAgLTIzMTQsNyArMjMxNCw3IEBAIEVp
bmFfQm9vbCBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxfbmF2aWdhdGlvbl9zZXQoRXZhc19PYmpl
Y3QgKm8sIEVpbmFfQm9vbCBlbmFiCiAgICAgcmV0dXJuIEVJTkFfVFJVRTsKIH0KIAotRWluYV9C
b29sIGV3a192aWV3X3NldHRpbmdfbG9jYWxfc3RvcmFnZV9nZXQoRXZhc19PYmplY3QgKm8pCitF
aW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19sb2NhbF9zdG9yYWdlX2dldChjb25zdCBFdmFzX09i
amVjdCAqbykKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBFSU5BX0ZB
TFNFKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYsIEVJTkFfRkFM
U0UpOwpAQCAtMjMzMyw3ICsyMzMzLDcgQEAgRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfbG9j
YWxfc3RvcmFnZV9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFibGUpCiAgICAgcmV0
dXJuIEVJTkFfVFJVRTsKIH0KIAotRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfcGFnZV9jYWNo
ZV9nZXQoRXZhc19PYmplY3QgKm8pCitFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19wYWdlX2Nh
Y2hlX2dldChjb25zdCBFdmFzX09iamVjdCAqbykKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1Jf
UkVUVVJOKG8sIHNkLCBFSU5BX0ZBTFNFKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRV
Uk4oc2QsIHByaXYsIEVJTkFfRkFMU0UpOwpAQCAtMzQ0Myw3ICszNDQzLDcgQEAgdm9pZCBld2tf
dmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgV2ViQ29y
ZTo6Vmlld3BvcnRBcmcKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKG8sICJ2
aWV3cG9ydCxjaGFuZ2VkIiwgMCk7CiB9CiAKLXZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmli
dXRlc19nZXQoRXZhc19PYmplY3QgKm8sIGZsb2F0ICp3LCBmbG9hdCAqaCwgZmxvYXQgKmluaXRf
c2NhbGUsIGZsb2F0ICptYXhfc2NhbGUsIGZsb2F0ICptaW5fc2NhbGUsIGZsb2F0ICpkZXZpY2Vf
cGl4ZWxfcmF0aW8sIEVpbmFfQm9vbCAqdXNlcl9zY2FsYWJsZSkKK3ZvaWQgZXdrX3ZpZXdfdmll
d3BvcnRfYXR0cmlidXRlc19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8sIGZsb2F0ICp3LCBmbG9h
dCAqaCwgZmxvYXQgKmluaXRfc2NhbGUsIGZsb2F0ICptYXhfc2NhbGUsIGZsb2F0ICptaW5fc2Nh
bGUsIGZsb2F0ICpkZXZpY2VfcGl4ZWxfcmF0aW8sIEVpbmFfQm9vbCAqdXNlcl9zY2FsYWJsZSkK
IHsKICAgICBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IF9ld2tfdmll
d192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUobyk7CiAKQEAgLTM0NzksNyArMzQ3OSw3IEBA
IEVpbmFfQm9vbCBld2tfdmlld196b29tX3JhbmdlX3NldChFdmFzX09iamVjdCAqbywgZmxvYXQg
bWluX3NjYWxlLCBmbG9hdCBtYXhfc2NhCiAgICAgcmV0dXJuIEVJTkFfVFJVRTsKIH0KIAotZmxv
YXQgZXdrX3ZpZXdfem9vbV9yYW5nZV9taW5fZ2V0KEV2YXNfT2JqZWN0ICpvKQorZmxvYXQgZXdr
X3ZpZXdfem9vbV9yYW5nZV9taW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVX
S19WSUVXX1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIC0xLjApOwogICAgIEVXS19WSUVXX1BSSVZf
R0VUX09SX1JFVFVSTihzZCwgcHJpdiwgLTEuMCk7CkBAIC0zNDg3LDcgKzM0ODcsNyBAQCBmbG9h
dCBld2tfdmlld196b29tX3JhbmdlX21pbl9nZXQoRXZhc19PYmplY3QgKm8pCiAgICAgcmV0dXJu
IHByaXYtPnNldHRpbmdzLnpvb21fcmFuZ2UubWluX3NjYWxlOwogfQogCi1mbG9hdCBld2tfdmll
d196b29tX3JhbmdlX21heF9nZXQoRXZhc19PYmplY3QgKm8pCitmbG9hdCBld2tfdmlld196b29t
X3JhbmdlX21heF9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pCiB7CiAgICAgRVdLX1ZJRVdfU0Rf
R0VUX09SX1JFVFVSTihvLCBzZCwgLTEuMCk7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVU
VVJOKHNkLCBwcml2LCAtMS4wKTsKQEAgLTM1MDUsNyArMzUwNSw3IEBAIEVpbmFfQm9vbCBld2tf
dmlld191c2VyX3NjYWxhYmxlX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIHVzZXJfc2Nh
bGFibGUpCiAgICAgcmV0dXJuIEVJTkFfVFJVRTsKIH0KIAotRWluYV9Cb29sIGV3a192aWV3X3Vz
ZXJfc2NhbGFibGVfZ2V0KEV2YXNfT2JqZWN0ICpvKQorRWluYV9Cb29sIGV3a192aWV3X3VzZXJf
c2NhbGFibGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dF
VF9PUl9SRVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzZCwgcHJpdiwgRUlOQV9GQUxTRSk7CkBAIC0zNTEzLDcgKzM1MTMsNyBAQCBFaW5h
X0Jvb2wgZXdrX3ZpZXdfdXNlcl9zY2FsYWJsZV9nZXQoRXZhc19PYmplY3QgKm8pCiAgICAgcmV0
dXJuIHByaXYtPnNldHRpbmdzLnpvb21fcmFuZ2UudXNlcl9zY2FsYWJsZTsKIH0KIAotZmxvYXQg
ZXdrX3ZpZXdfZGV2aWNlX3BpeGVsX3JhdGlvX2dldChFdmFzX09iamVjdCAqbykKK2Zsb2F0IGV3
a192aWV3X2RldmljZV9waXhlbF9yYXRpb19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pCiB7CiAg
ICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgLTEuMCk7CiAgICAgRVdLX1ZJRVdf
UFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2LCAtMS4wKTsKQEAgLTM2MzgsNyArMzYzOCw3IEBA
IHZvaWQgZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvLCBpbnQg
dywgaW50IGgpCiAgKgogICogQHJldHVybiBwYWdlIHNpemUuCiAgKi8KLVdlYkNvcmU6OkZsb2F0
UmVjdCBld2tfdmlld19wYWdlX3JlY3RfZ2V0KEV2YXNfT2JqZWN0ICpvKQorV2ViQ29yZTo6Rmxv
YXRSZWN0IGV3a192aWV3X3BhZ2VfcmVjdF9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pCiB7CiAg
ICAgRVdLX1ZJRVdfU0RfR0VUKG8sIHNkKTsKICAgICBFV0tfVklFV19QUklWX0dFVChzZCwgcHJp
dik7CkBAIC0zNjkyLDcgKzM2OTIsNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfbW9kZV9zZXQoRXZh
c19PYmplY3QgKm8sIEV3a19WaWV3X01vZGUgdmlld19tb2RlKQogICAgIHJldHVybiBFSU5BX1RS
VUU7CiB9CiAKLUV3a19WaWV3X01vZGUgZXdrX3ZpZXdfbW9kZV9nZXQoRXZhc19PYmplY3QgKm8p
CitFd2tfVmlld19Nb2RlIGV3a192aWV3X21vZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQog
ewogICAgIEV3a19WaWV3X01vZGUgbW9kZSA9IEVXS19WSUVXX01PREVfV0lORE9XRUQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMjAyYjNmMi4uZjhiM2UzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3LmgKQEAgLTU0NSw3ICs1NDUsNyBAQCBFQVBJIHZvaWQgICAgICAgICBld2tf
dmlld19maXhlZF9sYXlvdXRfc2l6ZV9zZXQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgdywg
RQogICogQHBhcmFtIGggdGhlIHBvaW50ZXIgdG8gc3RvcmUgZml4ZWQgaGVpZ2h0LCByZXR1cm5z
IEBjIDAgb24gZmFpbHVyZSBvciBpZiB0aGVyZSBpcyBubwogICogICAgICAgIGZpeGVkIGxheW91
dCBpbiB1c2UKICAqLwotRUFQSSB2b2lkICAgICAgICAgZXdrX3ZpZXdfZml4ZWRfbGF5b3V0X3Np
emVfZ2V0KEV2YXNfT2JqZWN0ICpvLCBFdmFzX0Nvb3JkICp3LCBFdmFzX0Nvb3JkICpoKTsKK0VB
UEkgdm9pZCAgICAgICAgIGV3a192aWV3X2ZpeGVkX2xheW91dF9zaXplX2dldChjb25zdCBFdmFz
X09iamVjdCAqbywgRXZhc19Db29yZCAqdywgRXZhc19Db29yZCAqaCk7CiAKIC8qKgogICogU2V0
cyB0aGUgdGhlbWUgcGF0aCB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGlzIHZpZXcuCkBAIC01Njgs
NyArNTY4LDcgQEAgRUFQSSB2b2lkICAgICAgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2Jq
ZWN0ICpvLCBjb25zdCBjaGFyICpwYXRoKTsKICAqCiAgKiBAcmV0dXJuIHRoZSB0aGVtZSBwYXRo
LCBtYXkgYmUgQGMgMCBpZiBub3Qgc2V0CiAgKi8KLUVBUEkgY29uc3QgY2hhciAgKmV3a192aWV3
X3RoZW1lX2dldChFdmFzX09iamVjdCAqbyk7CitFQVBJIGNvbnN0IGNoYXIgICpld2tfdmlld190
aGVtZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAvKioKICAqIEdldHMgdGhlIG9iamVj
dCB0aGF0IHJlcHJlc2VudHMgdGhlIG1haW4gZnJhbWUuCkBAIC0xMjI3LDcgKzEyMjcsNyBAQCBF
QVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19kaXNhYmxlX3JlbmRlcihjb25zdCBFdmFzX09iamVj
dCAqbyk7CiAgKgogICogQHJldHVybiB0aGUgaW5wdXQgbWV0aG9kIGhpbnRzIGFzIEBhIEV3a19J
bWggYml0cy1maWVsZAogICovCi1FQVBJIHVuc2lnbmVkIGludCBld2tfdmlld19pbWhfZ2V0KEV2
YXNfT2JqZWN0ICpvKTsKK0VBUEkgdW5zaWduZWQgaW50IGV3a192aWV3X2ltaF9nZXQoY29uc3Qg
RXZhc19PYmplY3QgKm8pOwogCiAvKioKICAqIEdldHMgdGhlIHVzZXIgYWdlbnQgc3RyaW5nLgpA
QCAtMTc3MSw3ICsxNzcxLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19m
b250X3NhbnNfc2VyaWZfc2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGEKICAqIEByZXR1cm4g
QGMgRUlOQV9UUlVFIGlmIHNwYXRpYWwgbmF2aWdhdGlvbiBpcyBlbmFibGVkLAogICogICAgICAg
ICBAYyBFSU5BX0ZBTFNFIGlmIG5vdCBvciBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgRWluYV9Cb29s
ICAgIGV3a192aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9uX2dldChFdmFzX09iamVjdCAq
byk7CitFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxfbmF2aWdhdGlv
bl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAvKioKICAqIEVuYWJsZXMvZGlzYWJsZXMg
dGhlIHNwYXRpYWwgbmF2aWdhdGlvbiBmZWF0dXJlLgpAQCAtMTc5Miw3ICsxNzkyLDcgQEAgRUFQ
SSBFaW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19zcGF0aWFsX25hdmlnYXRpb25fc2V0KEV2
YXNfT2JqZWN0ICpvLCBFaW5hX0IKICAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIGxvY2FsIHN0
b3JhZ2UgaXMgZW5hYmxlZCwKICAqICAgICAgICAgQGMgRUlOQV9GQUxTRSBpZiBub3Qgb3Igb24g
ZmFpbHVyZQogICovCi1FQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0
b3JhZ2VfZ2V0KEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X3Nl
dHRpbmdfbG9jYWxfc3RvcmFnZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAvKioKICAq
IEVuYWJsZXMvZGlzYWJsZSB0aGUgbG9jYWwgc3RvcmFnZSBmZWF0dXJlIG9mIEhUTUw1LgpAQCAt
MTgzMyw3ICsxODMzLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19sb2Nh
bF9zdG9yYWdlX2RhdGFiYXNlX3BhdGhfc2V0KEV2YXNfT2JqZWN0ICoKICAqIEByZXR1cm4gQGMg
RUlOQV9UUlVFIGlmIHBhZ2UgY2FjaGUgaXMgZW5hYmxlZCwKICAqICAgICAgICAgQGMgRUlOQV9G
QUxTRSBpZiBub3Qgb3Igb24gZmFpbHVyZQogICovCi1FQVBJIEVpbmFfQm9vbCAgICBld2tfdmll
d19zZXR0aW5nX3BhZ2VfY2FjaGVfZ2V0KEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgRWluYV9Cb29s
ICAgIGV3a192aWV3X3NldHRpbmdfcGFnZV9jYWNoZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8p
OwogCiAvKioKICAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIHBhZ2UgY2FjaGUgZmVhdHVyZS4KQEAg
LTE4NTQsNyArMTg1NCw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X3NldHRpbmdfcGFn
ZV9jYWNoZV9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFiCiAgKiBAcmV0dXJuIEBj
IEVJTkFfVFJVRSBpZiB0aGUgZW5jb2RpbmcgZmVhdHVyZSBpcyBlbmFibGVkLAogICogICAgICAg
ICBAYyBFSU5BX0ZBTFNFIGlmIG5vdCBvciBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgRWluYV9Cb29s
ICAgIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0b3JfZ2V0KEV2YXNfT2JqZWN0ICpv
KTsKK0VBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0b3Jf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBFbmFibGVzL2Rpc2FibGVzIHRo
ZSBlbmNvZGluZyBkZXRlY3Rvci4KQEAgLTE4NzgsNyArMTg3OCw3IEBAIEVBUEkgRWluYV9Cb29s
ICAgIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0b3Jfc2V0KEV2YXNfT2JqZWN0ICpv
LCBFaW5hX0JvCiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiBkZXZlbG9wZXIgZXh0ZW5zaW9u
cyBhcmUgZW5hYmxlZCwgQGMgRUlOQV9GQUxTRQogICogICAgICAgICBvdGhlcndpc2UKICAqLwot
RUFQSSBFaW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
c19nZXQoRXZhc19PYmplY3QgKm8pOworRUFQSSBFaW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGlu
Z19lbmFibGVfZGV2ZWxvcGVyX2V4dHJhc19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAv
KioKICAqIEVuYWJsZXMvZGlzYWJsZXMgZGV2ZWxvcGVyIGV4dGVuc2lvbnMuCkBAIC0yMTE0LDcg
KzIxMTQsNyBAQCBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19wYWludF9jb250ZW50cyhFd2tfVmll
d19Qcml2YXRlX0RhdGEgKnByaXYsIGNhaXJvX3QgKmNyLAogICogQHBhcmFtIGRldmljZV9waXhl
bF9yYXRpbyB0aGUgcG9pbnRlciB0byBzdG9yZSB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvIHZhbHVl
CiAgKiBAcGFyYW0gdXNlcl9zY2FsYWJsZSB0aGUgcG9pbnRlciB0byBzdG9yZSBpZiB1c2VyIGNh
biBzY2FsZSB2aWV3cG9ydAogICovCi1FQVBJIHZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmli
dXRlc19nZXQoRXZhc19PYmplY3QgKm8sIGZsb2F0ICp3LCBmbG9hdCAqaCwgZmxvYXQgKmluaXRf
c2NhbGUsIGZsb2F0ICptYXhfc2NhbGUsIGZsb2F0ICptaW5fc2NhbGUsIGZsb2F0ICpkZXZpY2Vf
cGl4ZWxfcmF0aW8gLCBFaW5hX0Jvb2wgKnVzZXJfc2NhbGFibGUpOworRUFQSSB2b2lkIGV3a192
aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBmbG9hdCAq
dywgZmxvYXQgKmgsIGZsb2F0ICppbml0X3NjYWxlLCBmbG9hdCAqbWF4X3NjYWxlLCBmbG9hdCAq
bWluX3NjYWxlLCBmbG9hdCAqZGV2aWNlX3BpeGVsX3JhdGlvICwgRWluYV9Cb29sICp1c2VyX3Nj
YWxhYmxlKTsKIAogLyoqCiAgKiBTZXRzIHRoZSB6b29tIHJhbmdlLgpAQCAtMjEzNSw3ICsyMTM1
LDcgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfem9vbV9yYW5nZV9zZXQoRXZhc19PYmplY3Qg
Km8sIGZsb2F0IG1pbl9zY2FsZSwgZmxvYXQgbWEKICAqIEByZXR1cm4gdGhlIG1pbmltdW0gdmFs
dWUgb2YgdGhlIHpvb20gcmFuZ2Ugb24gc3VjY2Vzcywgb3IKICAqICAgICAgICAgQGMgLTEgb24g
ZmFpbHVyZQogICovCi1FQVBJIGZsb2F0IGV3a192aWV3X3pvb21fcmFuZ2VfbWluX2dldChFdmFz
X09iamVjdCAqbyk7CitFQVBJIGZsb2F0IGV3a192aWV3X3pvb21fcmFuZ2VfbWluX2dldChjb25z
dCBFdmFzX09iamVjdCAqbyk7CiAKIC8qKgogICogR2V0cyB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0
aGUgem9vbSByYW5nZS4KQEAgLTIxNDUsNyArMjE0NSw3IEBAIEVBUEkgZmxvYXQgZXdrX3ZpZXdf
em9vbV9yYW5nZV9taW5fZ2V0KEV2YXNfT2JqZWN0ICpvKTsKICAqIEByZXR1cm4gdGhlIG1heGlt
dW0gdmFsdWUgb2YgdGhlIHpvb20gcmFuZ2Ugb24gc3VjY2Vzcywgb3IKICAqICAgICAgICAgQGMg
LTEuMCBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgZmxvYXQgZXdrX3ZpZXdfem9vbV9yYW5nZV9tYXhf
Z2V0KEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgZmxvYXQgZXdrX3ZpZXdfem9vbV9yYW5nZV9tYXhf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBFbmFibGVzL2Rpc2FibGVzIHRo
ZSB6b29tLgpAQCAtMjE2NCw3ICsyMTY0LDcgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdXNl
cl9zY2FsYWJsZV9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCB1c2VyX3NjYWxhYmwKICAq
CiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiB0aGUgem9vbSBpcyBlbmFibGVkLCBAYyBFSU5B
X0ZBTFNFIGlmIG5vdCBvciBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgRWluYV9Cb29sIGV3a192aWV3
X3VzZXJfc2NhbGFibGVfZ2V0KEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgRWluYV9Cb29sIGV3a192
aWV3X3VzZXJfc2NhbGFibGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBH
ZXRzIHRoZSBkZXZpY2UgcGl4ZWwgcmF0aW8gdmFsdWUuCkBAIC0yMTczLDcgKzIxNzMsNyBAQCBF
QVBJIEVpbmFfQm9vbCBld2tfdmlld191c2VyX3NjYWxhYmxlX2dldChFdmFzX09iamVjdCAqbyk7
CiAgKgogICogQHJldHVybiB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvIHZhbHVlIG9uIHN1Y2Nlc3Mg
b3IgQGMgLTEuMCBvbiBmYWlsdXJlCiAgKi8KLUVBUEkgZmxvYXQgZXdrX3ZpZXdfZGV2aWNlX3Bp
eGVsX3JhdGlvX2dldChFdmFzX09iamVjdCAqbyk7CitFQVBJIGZsb2F0IGV3a192aWV3X2Rldmlj
ZV9waXhlbF9yYXRpb19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAvKioKICAqIFNldHMg
dGhlIHZpZXcgbW9kZS4KQEAgLTIxOTcsNyArMjE5Nyw3IEBAIEVBUEkgRWluYV9Cb29sIGV3a192
aWV3X21vZGVfc2V0KEV2YXNfT2JqZWN0ICpvLCBFd2tfVmlld19Nb2RlIHZpZXdfbW9kZSk7CiAg
KgogICogQHNlZSBld2tfdmlld19tb2RlX3NldCgpCiAgKi8KLUVBUEkgRXdrX1ZpZXdfTW9kZSBl
d2tfdmlld19tb2RlX2dldChFdmFzX09iamVjdCAqbyk7CitFQVBJIEV3a19WaWV3X01vZGUgZXdr
X3ZpZXdfbW9kZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCiAvKioKICAqIENyZWF0ZXMg
YSBKUyBvYmplY3QgbmFtZWQgQGEgb2JqX25hbWUgYXMgcHJvcGVydHkgb2YgdGhlIHdpbmRvdyBv
YmplY3QuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbiBhIGNhbGxiYWNrIGNvbm5lY3RlZHRvIHRo
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVhdHVyZXMu
Y3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVhdHVyZXMuY3BwCmluZGV4
IDYyZjdkZTguLjY5ZDUyZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
d2luZG93X2ZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3dpbmRv
d19mZWF0dXJlcy5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCBld2tfd2luZG93X2ZlYXR1cmVz
X3JlZihFd2tfV2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMpCiAgICAgd2luZG93X2Zl
YXR1cmVzLT5fX3JlZisrOwogfQogCi12b2lkIGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9w
ZXJ0eV9nZXQoRXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1cmVzLCBFaW5hX0Jvb2wg
KnRvb2xiYXJfdmlzaWJsZSwgRWluYV9Cb29sICpzdGF0dXNiYXJfdmlzaWJsZSwgRWluYV9Cb29s
ICpzY3JvbGxiYXJzX3Zpc2libGUsIEVpbmFfQm9vbCAqbWVudWJhcl92aXNpYmxlLCBFaW5hX0Jv
b2wgKmxvY2F0aW9uYmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqZnVsbHNjcmVlbikKK3ZvaWQgZXdr
X3dpbmRvd19mZWF0dXJlc19ib29sX3Byb3BlcnR5X2dldChjb25zdCBFd2tfV2luZG93X0ZlYXR1
cmVzICp3aW5kb3dfZmVhdHVyZXMsIEVpbmFfQm9vbCAqdG9vbGJhcl92aXNpYmxlLCBFaW5hX0Jv
b2wgKnN0YXR1c2Jhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKnNjcm9sbGJhcnNfdmlzaWJsZSwgRWlu
YV9Cb29sICptZW51YmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqbG9jYXRpb25iYXJfdmlzaWJsZSwg
RWluYV9Cb29sICpmdWxsc2NyZWVuKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
KHdpbmRvd19mZWF0dXJlcyk7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4od2luZG93
X2ZlYXR1cmVzLT5jb3JlKTsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBld2tfd2luZG93X2ZlYXR1
cmVzX2Jvb2xfcHJvcGVydHlfZ2V0KEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJl
cywKICAgICAgICAgKmZ1bGxzY3JlZW4gPSB3aW5kb3dfZmVhdHVyZXMtPmNvcmUtPmZ1bGxzY3Jl
ZW47CiB9CiAKLXZvaWQgZXdrX3dpbmRvd19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0KEV3a19X
aW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcywgaW50ICp4LCBpbnQgKnksIGludCAqdywg
aW50ICpoKQordm9pZCBld2tfd2luZG93X2ZlYXR1cmVzX2ludF9wcm9wZXJ0eV9nZXQoY29uc3Qg
RXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1cmVzLCBpbnQgKngsIGludCAqeSwgaW50
ICp3LCBpbnQgKmgpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4od2luZG93X2Zl
YXR1cmVzKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih3aW5kb3dfZmVhdHVyZXMt
PmNvcmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVh
dHVyZXMuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmgKaW5k
ZXggZjI5YzgxYS4uYTkwMTM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a193aW5kb3dfZmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3dpbmRv
d19mZWF0dXJlcy5oCkBAIC02Nyw3ICs2Nyw3IEBAIEVBUEkgdm9pZCAgICAgICAgIGV3a193aW5k
b3dfZmVhdHVyZXNfcmVmKEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcyk7CiAg
KgogICogQHNlZSBld2tfd2luZG93X2ZlYXR1cmVzX2ludF9wcm9wZXJ0eV9nZXQKICAqLwotRUFQ
SSB2b2lkICAgICAgICAgZXdrX3dpbmRvd19mZWF0dXJlc19ib29sX3Byb3BlcnR5X2dldChFd2tf
V2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMsIEVpbmFfQm9vbCAqdG9vbGJhcl92aXNp
YmxlLCBFaW5hX0Jvb2wgKnN0YXR1c2Jhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKnNjcm9sbGJhcnNf
dmlzaWJsZSwgRWluYV9Cb29sICptZW51YmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqbG9jYXRpb25i
YXJfdmlzaWJsZSwgRWluYV9Cb29sICpmdWxsc2NyZWVuKTsKK0VBUEkgdm9pZCAgICAgICAgIGV3
a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQoY29uc3QgRXdrX1dpbmRvd19GZWF0
dXJlcyAqd2luZG93X2ZlYXR1cmVzLCBFaW5hX0Jvb2wgKnRvb2xiYXJfdmlzaWJsZSwgRWluYV9C
b29sICpzdGF0dXNiYXJfdmlzaWJsZSwgRWluYV9Cb29sICpzY3JvbGxiYXJzX3Zpc2libGUsIEVp
bmFfQm9vbCAqbWVudWJhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKmxvY2F0aW9uYmFyX3Zpc2libGUs
IEVpbmFfQm9vbCAqZnVsbHNjcmVlbik7CiAKIC8qKgogICogR2V0cyBpbnQgcHJvcGVydGllcyBv
ZiBhbiBFd2tfV2luZG93X0ZlYXR1cmVzLgpAQCAtODYsNyArODYsNyBAQCBFQVBJIHZvaWQgICAg
ICAgICBld2tfd2luZG93X2ZlYXR1cmVzX2Jvb2xfcHJvcGVydHlfZ2V0KEV3a19XaW5kb3dfRmVh
dHVyZXMgKndpbgogICoKICAqIEBzZWUgZXdrX3dpbmRvd19mZWF0dXJlc19ib29sX3Byb3BlcnR5
X2dldAogICovCi1FQVBJIHZvaWQgICAgICAgICBld2tfd2luZG93X2ZlYXR1cmVzX2ludF9wcm9w
ZXJ0eV9nZXQoRXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1cmVzLCBpbnQgKngsIGlu
dCAqeSwgaW50ICp3LCBpbnQgKmgpOworRUFQSSB2b2lkICAgICAgICAgZXdrX3dpbmRvd19mZWF0
dXJlc19pbnRfcHJvcGVydHlfZ2V0KGNvbnN0IEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19m
ZWF0dXJlcywgaW50ICp4LCBpbnQgKnksIGludCAqdywgaW50ICpoKTsKIAogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105593</attachid>
            <date>2011-08-30 01:33:30 -0700</date>
            <delta_ts>2011-08-30 02:38:05 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>add_const_modifier.patch</filename>
            <type>text/plain</type>
            <size>27920</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2MTkzM2RhLi5hZWFmYmM2IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsNTUgQEAKIDIwMTEtMDgtMjkgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CiAKKyAgICAgICAgW0VGTF0gQWRkIGNvbnN0IG1vZGlmaWVyIHRv
IHBhc3NlZCBvYmplY3RzIHdoZXJlIGl0J3MgcmVjb21tZW5kZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNvbnN0IG1vZGlmaWVyIHRvIHBhc3Nl
ZCBFdmFzX09iamVjdCBpZiB0aGUgZnVuY3Rpb24gZG9lc24ndCBjaGFuZ2UgaXRzCisgICAgICAg
IHByb3BlcnR5ICh0aGUgbW9zdCBjYXNlcyB0byB0aGUgZ2V0dGVyIGZ1bmN0aW9ucykuCisKKyAg
ICAgICAgKiBld2svZXdrX2NvbnRleHRtZW51LmNwcDoKKyAgICAgICAgKGV3a19jb250ZXh0X21l
bnVfaXRlbV9saXN0X2dldCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9n
ZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX2FjdGlvbl9nZXQpOgorICAgICAg
ICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX2dldCk6CisgICAgICAgIChld2tfY29udGV4
dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVt
X2VuYWJsZWRfZ2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfY3VzdG9tX2dldCk6Cisg
ICAgICAgIChld2tfY29udGV4dF9tZW51X3Nob3cpOgorICAgICAgICAqIGV3ay9ld2tfY29udGV4
dG1lbnUuaDoKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFt
ZV90ZXh0X21hdGNoZXNfbnRoX3Bvc19nZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX3RleHRfc2Vs
ZWN0aW9uX3R5cGVfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9zb3VyY2VfZ2V0KToKKyAgICAg
ICAgKGV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KToKKyAgICAgICAgKiBld2svZXdr
X2ZyYW1lLmg6CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3
a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1
dGUpOgorICAgICAgICAoZXdrX3ZpZXdfZml4ZWRfbGF5b3V0X3NpemVfZ2V0KToKKyAgICAgICAg
KGV3a192aWV3X3RoZW1lX2dldCk6CisgICAgICAgIChld2tfdmlld19pbWhfZ2V0KToKKyAgICAg
ICAgKGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfZGV0ZWN0b3JfZ2V0KToKKyAgICAgICAgKGV3
a192aWV3X3NldHRpbmdfZW5hYmxlX2RldmVsb3Blcl9leHRyYXNfZ2V0KToKKyAgICAgICAgKGV3
a192aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9uX2dldCk6CisgICAgICAgIChld2tfdmll
d19zZXR0aW5nX2xvY2FsX3N0b3JhZ2VfZ2V0KToKKyAgICAgICAgKGV3a192aWV3X3NldHRpbmdf
cGFnZV9jYWNoZV9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19n
ZXQpOgorICAgICAgICAoZXdrX3ZpZXdfem9vbV9yYW5nZV9taW5fZ2V0KToKKyAgICAgICAgKGV3
a192aWV3X3pvb21fcmFuZ2VfbWF4X2dldCk6CisgICAgICAgIChld2tfdmlld191c2VyX3NjYWxh
YmxlX2dldCk6CisgICAgICAgIChld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KToKKyAg
ICAgICAgKGV3a192aWV3X3BhZ2VfcmVjdF9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfbW9kZV9n
ZXQpOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5oOgorICAgICAgICAqIGV3ay9ld2tfd2luZG93
X2ZlYXR1cmVzLmNwcDoKKyAgICAgICAgKGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0
eV9nZXQpOgorICAgICAgICAoZXdrX3dpbmRvd19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0KToK
KyAgICAgICAgKiBld2svZXdrX3dpbmRvd19mZWF0dXJlcy5oOgorCisyMDExLTA4LTI5ICBHcnpl
Z29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgorCiAgICAgICAgIFtF
RkxdIEFkZCBtaXNzaW5nIEFQSSBkb2N1bWVudGF0aW9uLgogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MjcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX2NvbnRleHRtZW51LmNwcAppbmRleCBjZTY4MWQ4Li42ZmFmZmM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmNwcApAQCAtOTIsNyArOTIsNyBAQCBFaW5hX0Jv
b2wgZXdrX2NvbnRleHRfbWVudV9kZXN0cm95KEV3a19Db250ZXh0X01lbnUgKm1lbnUpCiAjZW5k
aWYKIH0KIAotY29uc3QgRWluYV9MaXN0ICpld2tfY29udGV4dF9tZW51X2l0ZW1fbGlzdF9nZXQo
RXdrX0NvbnRleHRfTWVudSAqbykKK2NvbnN0IEVpbmFfTGlzdCAqZXdrX2NvbnRleHRfbWVudV9p
dGVtX2xpc3RfZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnUgKm8pCiB7CiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIDApOwogCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBl
d2tfY29udGV4dF9tZW51X2l0ZW1fZnJlZShFd2tfQ29udGV4dF9NZW51X0l0ZW0gKml0ZW0pCiAg
ICAgZnJlZShpdGVtKTsKIH0KIAotRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgZXdrX2NvbnRl
eHRfbWVudV9pdGVtX3R5cGVfZ2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykKK0V3a19Db250
ZXh0X01lbnVfSXRlbV9UeXBlIGV3a19jb250ZXh0X21lbnVfaXRlbV90eXBlX2dldChjb25zdCBF
d2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk5fVkFMKG8sIEVXS19BQ1RJT05fVFlQRSk7CiAgICAgcmV0dXJuIG8tPnR5cGU7CkBAIC0xNTUs
NyArMTU1LDcgQEAgRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV90eXBlX3NldChFd2tf
Q29udGV4dF9NZW51X0l0ZW0gKm8sIEV3a19Db250ZXh0X00KICAgICByZXR1cm4gRUlOQV9UUlVF
OwogfQogCi1Fd2tfQ29udGV4dF9NZW51X0FjdGlvbiBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0
aW9uX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pCitFd2tfQ29udGV4dF9NZW51X0FjdGlv
biBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9uX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51
X0l0ZW0gKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKG8sIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OKTsKICAgICByZXR1cm4gby0+YWN0aW9uOwpA
QCAtMTY4LDcgKzE2OCw3IEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9u
X3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8sIEV3a19Db250ZXh0CiAgICAgcmV0dXJuIEVJ
TkFfVFJVRTsKIH0KIAotY29uc3QgY2hhciAqZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX2dl
dChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pCitjb25zdCBjaGFyICpld2tfY29udGV4dF9tZW51
X2l0ZW1fdGl0bGVfZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykKIHsKICAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobywgMCk7CiAgICAgcmV0dXJuIG8tPnRpdGxl
OwpAQCAtMTgxLDcgKzE4MSw3IEBAIGNvbnN0IGNoYXIgKmV3a19jb250ZXh0X21lbnVfaXRlbV90
aXRsZV9zZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvLCBjb25zdCBjaGFyCiAgICAgcmV0dXJu
IG8tPnRpdGxlOwogfQogCi1FaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2NoZWNrZWRf
Z2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbykKK0VpbmFfQm9vbCBld2tfY29udGV4dF9tZW51
X2l0ZW1fY2hlY2tlZF9nZXQoY29uc3QgRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKQogewogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChvLCBFSU5BX0ZBTFNFKTsKICAgICByZXR1
cm4gby0+Y2hlY2tlZDsKQEAgLTE5NCw3ICsxOTQsNyBAQCBFaW5hX0Jvb2wgZXdrX2NvbnRleHRf
bWVudV9pdGVtX2NoZWNrZWRfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbywgRWluYV9Cb29s
CiAgICAgcmV0dXJuIEVJTkFfVFJVRTsKIH0KIAotRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVf
aXRlbV9lbmFibGVkX2dldChFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pCitFaW5hX0Jvb2wgZXdr
X2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnVfSXRl
bSAqbykKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobywgRUlOQV9GQUxT
RSk7CiAgICAgcmV0dXJuIG8tPmVuYWJsZWQ7CkBAIC0zMDEsNyArMzAxLDcgQEAgdm9pZCBld2tf
Y29udGV4dF9tZW51X2l0ZW1fYXBwZW5kKEV3a19Db250ZXh0X01lbnUgKm8sIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbQogICoKICAqIEBzZWUgZXdrX2NvbnRleHRfbWVudV9pdGVtX2xpc3RfZ2V0
CiAgKi8KLUV3a19Db250ZXh0X01lbnUgKmV3a19jb250ZXh0X21lbnVfY3VzdG9tX2dldChFd2tf
Q29udGV4dF9NZW51ICpvKQorRXdrX0NvbnRleHRfTWVudSAqZXdrX2NvbnRleHRfbWVudV9jdXN0
b21fZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnUgKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKG8sIDApOwogCkBAIC0zMTYsNyArMzE2LDcgQEAgRXdrX0NvbnRleHRf
TWVudSAqZXdrX2NvbnRleHRfbWVudV9jdXN0b21fZ2V0KEV3a19Db250ZXh0X01lbnUgKm8pCiAg
KgogICogQHBhcmFtIG8gdGhlIGNvbnRleHQgbWVudSBvYmplY3QKICAqLwotdm9pZCBld2tfY29u
dGV4dF9tZW51X3Nob3coRXdrX0NvbnRleHRfTWVudSAqbykKK3ZvaWQgZXdrX2NvbnRleHRfbWVu
dV9zaG93KGNvbnN0IEV3a19Db250ZXh0X01lbnUgKm8pCiB7CiAgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk4obyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
Y29udGV4dG1lbnUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaApp
bmRleCAwZjc2YWE3Li5mZDMyNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX2NvbnRleHRtZW51LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0
bWVudS5oCkBAIC0xODMsNyArMTgzLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAg
ICAgZXdrX2NvbnRleHRfbWVudV9kZXN0cm95KEV3a19Db250ZXh0X01lbnUgKm1lbnUKICAqIEBw
YXJhbSBvIHRoZSBjb250ZXh0IG1lbnUgb2JqZWN0IHRvIGdldCBsaXN0IG9mIHRoZSBpdGVtcwog
ICogQHJldHVybiB0aGUgbGlzdCBvZiB0aGUgaXRlbXMgb24gc3VjY2VzcyBvciBAYyAwIG9uIGZh
aWx1cmUKICAqLwotRUFQSSBjb25zdCBFaW5hX0xpc3QgICAgICAgICAgICAqZXdrX2NvbnRleHRf
bWVudV9pdGVtX2xpc3RfZ2V0KEV3a19Db250ZXh0X01lbnUgKm8pOworRUFQSSBjb25zdCBFaW5h
X0xpc3QgICAgICAgICAgICAqZXdrX2NvbnRleHRfbWVudV9pdGVtX2xpc3RfZ2V0KGNvbnN0IEV3
a19Db250ZXh0X01lbnUgKm8pOwogCiAvKioKICAqIENyZWF0ZXMgYSBuZXcgaXRlbSBvZiB0aGUg
Y29udGV4dCBtZW51LgpAQCAtMjI3LDcgKzIyNyw3IEBAIEVBUEkgRWluYV9Cb29sICAgICAgICAg
ICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QoRXdrX0NvbnRleHRfTWVudSAq
CiAgKgogICogQHNlZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9zZXQKICAqLwotRUFQSSBF
d2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSAgZXdrX2NvbnRleHRfbWVudV9pdGVtX3R5cGVfZ2V0
KEV3a19Db250ZXh0X01lbnVfSXRlbSAqbyk7CitFQVBJIEV3a19Db250ZXh0X01lbnVfSXRlbV9U
eXBlICBld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQoY29uc3QgRXdrX0NvbnRleHRfTWVu
dV9JdGVtICpvKTsKIAogLyoqCiAgKiBTZXRzIHRoZSB0eXBlIG9mIGl0ZW0uCkBAIC0yNDgsNyAr
MjQ4LDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVu
dV9pdGVtX3R5cGVfc2V0KEV3a19Db250ZXh0X01lbnUKICAqCiAgKiBAc2VlIGV3a19jb250ZXh0
X21lbnVfaXRlbV9hY3Rpb25fc2V0CiAgKi8KLUVBUEkgRXdrX0NvbnRleHRfTWVudV9BY3Rpb24g
ICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fZ2V0KEV3a19Db250ZXh0X01lbnVfSXRl
bSAqbyk7CitFQVBJIEV3a19Db250ZXh0X01lbnVfQWN0aW9uICAgICBld2tfY29udGV4dF9tZW51
X2l0ZW1fYWN0aW9uX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pOwogCiAvKioK
ICAqIFNldHMgYW4gYWN0aW9uIG9mIHRoZSBpdGVtLgpAQCAtMjY5LDcgKzI2OSw3IEBAIEVBUEkg
RWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25f
c2V0KEV3a19Db250ZXh0X01lCiAgKgogICogQHNlZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0
bGVfc2V0CiAgKi8KLUVBUEkgY29uc3QgY2hhciAgICAgICAgICAgICAgICAgKmV3a19jb250ZXh0
X21lbnVfaXRlbV90aXRsZV9nZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsKK0VBUEkgY29u
c3QgY2hhciAgICAgICAgICAgICAgICAgKmV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQo
Y29uc3QgRXdrX0NvbnRleHRfTWVudV9JdGVtICpvKTsKIAogLyoqCiAgKiBTZXRzIGEgdGl0bGUg
b2YgdGhlIGl0ZW0uCkBAIC0yODgsNyArMjg4LDcgQEAgRUFQSSBjb25zdCBjaGFyICAgICAgICAg
ICAgICAgICAqZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX3NldChFd2tfQ29udGV4dF9NZW4K
ICAqIEBwYXJhbSBvIHRoZSBpdGVtIHRvIHF1ZXJ5IGlmIHRoZSBpdGVtIGlzIHRvZ2dsZWQKICAq
IEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIHRoZSBpdGVtIGlzIHRvZ2dsZWQgb3IgQGMgRUlOQV9G
QUxTRSBpZiBub3Qgb3Igb24gZmFpbHVyZQogICovCi1FQVBJIEVpbmFfQm9vbCAgICAgICAgICAg
ICAgICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoRXdrX0NvbnRleHRfTWVu
dV9JdGVtICpvKTsKK0VBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0
X21lbnVfaXRlbV9jaGVja2VkX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pOwog
CiAvKioKICAqIFNldHMgaWYgdGhlIGl0ZW0gc2hvdWxkIGJlIHRvZ2dsZWQuCkBAIC0zMDcsNyAr
MzA3LDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVu
dV9pdGVtX2NoZWNrZWRfc2V0KEV3a19Db250ZXh0X00KICAqCiAgKiBAc2VlIGV3a19jb250ZXh0
X21lbnVfaXRlbV9lbmFibGVkX3NldAogICovCi1FQVBJIEVpbmFfQm9vbCAgICAgICAgICAgICAg
ICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9nZXQoRXdrX0NvbnRleHRfTWVudV9J
dGVtICpvKTsKK0VBUEkgRWluYV9Cb29sICAgICAgICAgICAgICAgICAgIGV3a19jb250ZXh0X21l
bnVfaXRlbV9lbmFibGVkX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0gKm8pOwogCiAv
KioKICAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIGl0ZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuY3BwCmluZGV4IDQwNjY2NmMuLmU2N2ZlNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuY3BwCkBAIC01MjUsNyArNTI1LDcgQEAgc3RhdGljIGJvb2wgX2V3a19mcmFtZV9yZWN0X2lz
X25lZ2F0aXZlX3ZhbHVlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QgJmkpCiAgICAgcmV0dXJuIChp
LngoKSA8IDAgfHwgaS55KCkgPCAwKTsKIH0KIAotRWluYV9Cb29sIGV3a19mcmFtZV90ZXh0X21h
dGNoZXNfbnRoX3Bvc19nZXQoRXZhc19PYmplY3QgKm8sIHNpemVfdCBuLCBpbnQgKngsIGludCAq
eSkKK0VpbmFfQm9vbCBld2tfZnJhbWVfdGV4dF9tYXRjaGVzX250aF9wb3NfZ2V0KGNvbnN0IEV2
YXNfT2JqZWN0ICpvLCBzaXplX3QgbiwgaW50ICp4LCBpbnQgKnkpCiB7CiAgICAgRVdLX0ZSQU1F
X1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOwogICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUsIEVJTkFfRkFMU0UpOwpAQCAtMTA1NSw3ICsxMDU1
LDcgQEAgRWluYV9Cb29sIGV3a19mcmFtZV9mZWVkX2tleV91cChFdmFzX09iamVjdCAqbywgY29u
c3QgRXZhc19FdmVudF9LZXlfVXAgKmV2KQogICAgIHJldHVybiBzZC0+ZnJhbWUtPmV2ZW50SGFu
ZGxlcigpLT5rZXlFdmVudChldmVudCk7CiB9CiAKLUV3a19UZXh0X1NlbGVjdGlvbl9UeXBlIGV3
a19mcmFtZV90ZXh0X3NlbGVjdGlvbl90eXBlX2dldChFdmFzX09iamVjdCAqbykKK0V3a19UZXh0
X1NlbGVjdGlvbl9UeXBlIGV3a19mcmFtZV90ZXh0X3NlbGVjdGlvbl90eXBlX2dldChjb25zdCBF
dmFzX09iamVjdCAqbykKIHsKICAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwg
RVdLX1RFWFRfU0VMRUNUSU9OX05PTkUpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
X1ZBTChzZC0+ZnJhbWUsIEVXS19URVhUX1NFTEVDVElPTl9OT05FKTsKQEAgLTE0OTIsNyArMTQ5
Miw3IEBAIHZvaWQgZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KEV2YXNfT2JqZWN0ICpv
LCBFdmFzX09iamVjdCAqdmlldykKICAgICBzZC0+ZnJhbWUtPnZpZXcoKS0+c2V0RXZhc09iamVj
dChvKTsKIH0KIAotc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChFdmFzX09iamVjdCAqbywg
Y2hhciAqKmZyYW1lX3NvdXJjZSkKK3NzaXplX3QgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoY29uc3Qg
RXZhc19PYmplY3QgKm8sIGNoYXIgKipmcmFtZV9zb3VyY2UpCiB7CiAgICAgRVdLX0ZSQU1FX1NE
X0dFVF9PUl9SRVRVUk4obywgc2QsIC0xKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVS
Tl9WQUwoc2QtPmZyYW1lLCAtMSk7CkBAIC0xNTQyLDcgKzE1NDIsNyBAQCBzc2l6ZV90IGV3a19m
cmFtZV9zb3VyY2VfZ2V0KEV2YXNfT2JqZWN0ICpvLCBjaGFyICoqZnJhbWVfc291cmNlKQogICAg
IHJldHVybiBzb3VyY2VfbGVuZ3RoOwogfQogCi1FaW5hX0xpc3QgKmV3a19mcmFtZV9yZXNvdXJj
ZXNfbG9jYXRpb25fZ2V0KEV2YXNfT2JqZWN0ICpvKQorRWluYV9MaXN0ICpld2tfZnJhbWVfcmVz
b3VyY2VzX2xvY2F0aW9uX2dldChjb25zdCBFdmFzX09iamVjdCAqbykKIHsKICAgICBFV0tfRlJB
TUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgMCk7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKHNkLT5mcmFtZSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXgg
MmQ5YWU1ZS4uZmNlNTFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19m
cmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtNDIyLDcg
KzQyMiw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV90ZXh0X21hdGNoZXNfaGlnaGxp
Z2h0X2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBv
biBzdWNjZXNzLCBAYyBFSU5BX0ZBTFNFIHdoZW4gbm8gbWF0Y2hlcyB3ZXJlIGZvdW5kIG9yCiAg
KiAgICAgICAgIEBhIG4gaXMgYmlnZ2VyIHRoYW4gc2VhcmNoIHJlc3VsdHMgb3Igb24gZmFpbHVy
ZQogICovCi1FQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfdGV4dF9tYXRjaGVzX250aF9wb3Nf
Z2V0KEV2YXNfT2JqZWN0ICpvLCBzaXplX3QgbiwgaW50ICp4LCBpbnQgKnkpOworRUFQSSBFaW5h
X0Jvb2wgICAgZXdrX2ZyYW1lX3RleHRfbWF0Y2hlc19udGhfcG9zX2dldChjb25zdCBFdmFzX09i
amVjdCAqbywgc2l6ZV90IG4sIGludCAqeCwgaW50ICp5KTsKIAogLyoqCiAgKiBBc2tzIGZyYW1l
IHRvIHN0b3AgbG9hZGluZy4KQEAgLTc3Miw3ICs3NzIsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBl
d2tfZnJhbWVfZmVlZF9rZXlfdXAoRXZhc19PYmplY3QgKm8sIGNvbnN0IEV2YXNfRXZlbnRfS2V5
X1VwCiAgKiBAcGFyYW0gbyBhIGZyYW1lIG9iamVjdCB0byBjaGVjayBzZWxlY3Rpb24gdHlwZQog
ICogQHJldHVybiBjdXJyZW50IHRleHQgc2VsZWN0aW9uIHR5cGUgb24gc3VjY2VzcyBvciBubyBz
ZWxlY3Rpb24gb3RoZXJ3aXNlCiAgKi8KLUVBUEkgRXdrX1RleHRfU2VsZWN0aW9uX1R5cGUgZXdr
X2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5cGVfZ2V0KEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgRXdr
X1RleHRfU2VsZWN0aW9uX1R5cGUgZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5cGVfZ2V0KGNv
bnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBHZXRzIHRoZSBmcmFtZSBzb3VyY2UuCkBA
IC03ODcsNyArNzg3LDcgQEAgRUFQSSBFd2tfVGV4dF9TZWxlY3Rpb25fVHlwZSBld2tfZnJhbWVf
dGV4dF9zZWxlY3Rpb25fdHlwZV9nZXQoRXZhc19PYmplY3QgKm8pOwogICoKICAqIEBzZWUgZXdr
X2ZyYW1lX3Jlc291cmNlc19sb2NhdGlvbl9nZXQoKQogICovCi1FQVBJIHNzaXplX3QgZXdrX2Zy
YW1lX3NvdXJjZV9nZXQoRXZhc19PYmplY3QgKm8sIGNoYXIgKipmcmFtZV9zb3VyY2UpOworRUFQ
SSBzc2l6ZV90IGV3a19mcmFtZV9zb3VyY2VfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBjaGFy
ICoqZnJhbWVfc291cmNlKTsKIAogLyoqCiAgKiBHZXRzIHRoZSByZXNvdXJjZSBsaXN0IG9mIHRo
aXMgZnJhbWUuCkBAIC04MDIsNyArODAyLDcgQEAgRUFQSSBzc2l6ZV90IGV3a19mcmFtZV9zb3Vy
Y2VfZ2V0KEV2YXNfT2JqZWN0ICpvLCBjaGFyICoqZnJhbWVfc291cmNlKTsKICAqCiAgKiBAc2Vl
IGV3a19mcmFtZV9zb3VyY2VfZ2V0KCkKICAqLwotRUFQSSBFaW5hX0xpc3QgKmV3a19mcmFtZV9y
ZXNvdXJjZXNfbG9jYXRpb25fZ2V0KEV2YXNfT2JqZWN0ICpvKTsKK0VBUEkgRWluYV9MaXN0ICpl
d2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAK
ICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRl
eCA1YTFjZjRjLi45Y2I1YTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApAQCAt
MTUwLDcgKzE1MCw3IEBAIHVuc2lnbmVkIGV3a191dGlsX3dvcmtlcl90aHJlYWRfY291bnQoKTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiB2b2lkIGV3a192aWV3X25lZWRfdG91Y2hfZXZl
bnRzX3NldChFdmFzX09iamVjdCosIGJvb2wgbmVlZGVkKTsKLUVpbmFfQm9vbCBld2tfdmlld19u
ZWVkX3RvdWNoX2V2ZW50c19nZXQoRXZhc19PYmplY3QqKTsKK0VpbmFfQm9vbCBld2tfdmlld19u
ZWVkX3RvdWNoX2V2ZW50c19nZXQoY29uc3QgRXZhc19PYmplY3QqKTsKICNlbmRpZgogCiBFd2tf
SGlzdG9yeSAqZXdrX2hpc3RvcnlfbmV3KFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwgKmhp
c3RvcnkpOwpAQCAtMTYzLDggKzE2Myw4IEBAIEVpbmFfTGlzdCAqZXdrX2hpc3RvcnlfaXRlbV9j
aGlsZHJlbl9nZXQoY29uc3QgRXdrX0hpc3RvcnlfSXRlbSAqaXRlbSk7CiBFd2tfQ29udGV4dF9N
ZW51ICpld2tfY29udGV4dF9tZW51X25ldyhFdmFzX09iamVjdCAqdmlldywgV2ViQ29yZTo6Q29u
dGV4dE1lbnVDb250cm9sbGVyICpjb250cm9sbGVyKTsKIEVpbmFfQm9vbCBld2tfY29udGV4dF9t
ZW51X2ZyZWUoRXdrX0NvbnRleHRfTWVudSAqbyk7CiB2b2lkIGV3a19jb250ZXh0X21lbnVfaXRl
bV9hcHBlbmQoRXdrX0NvbnRleHRfTWVudSAqbywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtICZj
b3JlKTsKLUV3a19Db250ZXh0X01lbnUgKmV3a19jb250ZXh0X21lbnVfY3VzdG9tX2dldChFd2tf
Q29udGV4dF9NZW51ICpvKTsKLXZvaWQgZXdrX2NvbnRleHRfbWVudV9zaG93KEV3a19Db250ZXh0
X01lbnUgKm8pOworRXdrX0NvbnRleHRfTWVudSAqZXdrX2NvbnRleHRfbWVudV9jdXN0b21fZ2V0
KGNvbnN0IEV3a19Db250ZXh0X01lbnUgKm8pOwordm9pZCBld2tfY29udGV4dF9tZW51X3Nob3co
Y29uc3QgRXdrX0NvbnRleHRfTWVudSAqbyk7CiAjZW5kaWYKIAogY29uc3QgRWluYV9SZWN0YW5n
bGUgKmV3a192aWV3X3JlcGFpbnRzX2dldChjb25zdCBFd2tfVmlld19Qcml2YXRlX0RhdGEgKnBy
aXYsIHNpemVfdCAqY291bnQpOwpAQCAtMjEyLDcgKzIxMiw3IEBAIEVpbmFfQm9vbCBld2tfdmll
d19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihFdmFzX09iamVjdCAqbywgRXdrX0ZyYW1lX1Jl
c291cmNlCiAKIHZvaWQgZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKEV2YXNfT2JqZWN0
ICpvLCBFdmFzX0Nvb3JkIHcsIEV2YXNfQ29vcmQgaCk7CiAKLVdlYkNvcmU6OkZsb2F0UmVjdCBl
d2tfdmlld19wYWdlX3JlY3RfZ2V0KEV2YXNfT2JqZWN0ICpvKTsKK1dlYkNvcmU6OkZsb2F0UmVj
dCBld2tfdmlld19wYWdlX3JlY3RfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogY29uc3Qg
Y2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQodm9pZCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDU1YTJjNjUuLjYzMTQ2ODEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMTAzMCw3ICsxMDMwLDcgQEAgc3RhdGljIHZvaWQgX2V3
a192aWV3X3pvb21fYW5pbWF0aW9uX3N0YXJ0KEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkKQogICAg
ICAgICAoX2V3a192aWV3X3pvb21fYW5pbWF0b3JfY2IsIHNkKTsKIH0KIAotc3RhdGljIFdlYkNv
cmU6OlZpZXdwb3J0QXR0cmlidXRlcyBfZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19jb21w
dXRlKEV2YXNfT2JqZWN0ICpvKQorc3RhdGljIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBf
ZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19jb21wdXRlKGNvbnN0IEV2YXNfT2JqZWN0ICpv
KQogewogICAgIEVXS19WSUVXX1NEX0dFVChvLCBzZCk7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVQo
c2QsIHByaXYpOwpAQCAtMTEzNyw3ICsxMTM3LDcgQEAgdm9pZCBld2tfdmlld19maXhlZF9sYXlv
dXRfc2l6ZV9zZXQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgdywgRXZhc19Db29yZCBoKQog
ICAgIHZpZXctPmZvcmNlTGF5b3V0KCk7CiB9CiAKLXZvaWQgZXdrX3ZpZXdfZml4ZWRfbGF5b3V0
X3NpemVfZ2V0KEV2YXNfT2JqZWN0ICpvLCBFdmFzX0Nvb3JkICp3LCBFdmFzX0Nvb3JkICpoKQor
dm9pZCBld2tfdmlld19maXhlZF9sYXlvdXRfc2l6ZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8s
IEV2YXNfQ29vcmQgKncsIEV2YXNfQ29vcmQgKmgpCiB7CiAgICAgaWYgKHcpCiAgICAgICAgICp3
ID0gMDsKQEAgLTExNzAsNyArMTE3MCw3IEBAIHZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNf
T2JqZWN0ICpvLCBjb25zdCBjaGFyICpwYXRoKQogCiB9CiAKLWNvbnN0IGNoYXIqIGV3a192aWV3
X3RoZW1lX2dldChFdmFzX09iamVjdCAqbykKK2NvbnN0IGNoYXIqIGV3a192aWV3X3RoZW1lX2dl
dChjb25zdCBFdmFzX09iamVjdCAqbykKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJO
KG8sIHNkLCAwKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYsIDAp
OwpAQCAtMTc1NSw3ICsxNzU1LDcgQEAgRWluYV9Cb29sIGV3a192aWV3X3ByZV9yZW5kZXJfcmVs
YXRpdmVfcmFkaXVzKEV2YXNfT2JqZWN0ICpvLCB1bnNpZ25lZCBpbnQgbikKICAgICByZXR1cm4g
c2QtPmFwaS0+cHJlX3JlbmRlcl9yZWxhdGl2ZV9yYWRpdXMoc2QsIG4sIGN1cl96b29tKTsKIH0K
IAotdW5zaWduZWQgaW50IGV3a192aWV3X2ltaF9nZXQoRXZhc19PYmplY3QgKm8pCit1bnNpZ25l
ZCBpbnQgZXdrX3ZpZXdfaW1oX2dldChjb25zdCBFdmFzX09iamVjdCAqbykKIHsKICAgICBFV0tf
VklFV19TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCAwKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9P
Ul9SRVRVUk4oc2QsIHByaXYsIDApOwpAQCAtMjEwMSwxNCArMjEwMSwxNCBAQCBFaW5hX0Jvb2wg
ZXdrX3ZpZXdfc2V0dGluZ19lbmNvZGluZ19kZXRlY3Rvcl9zZXQoRXZhc19PYmplY3QgKm8sIEVp
bmFfQm9vbCBlbmFibAogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAKLUVpbmFfQm9vbCBld2tf
dmlld19zZXR0aW5nX2VuY29kaW5nX2RldGVjdG9yX2dldChFdmFzX09iamVjdCAqbykKK0VpbmFf
Qm9vbCBld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2RldGVjdG9yX2dldChjb25zdCBFdmFzX09i
amVjdCAqbykKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBFSU5BX0ZB
TFNFKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYsIEVJTkFfRkFM
U0UpOwogICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy5lbmNvZGluZ19kZXRlY3RvcjsKIH0KIAot
RWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2RldmVsb3Blcl9leHRyYXNfZ2V0KEV2
YXNfT2JqZWN0ICpvKQorRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2RldmVsb3Bl
cl9leHRyYXNfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dF
VF9PUl9SRVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzZCwgcHJpdiwgRUlOQV9GQUxTRSk7CkBAIC0yMjk1LDcgKzIyOTUsNyBAQCBFaW5h
X0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19mb250X3NhbnNfc2VyaWZfc2V0KEV2YXNfT2JqZWN0ICpv
LCBjb25zdCBjaGFyICpmYW1pbAogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAKLUVpbmFfQm9v
bCBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxfbmF2aWdhdGlvbl9nZXQoRXZhc19PYmplY3QgKm8p
CitFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGluZ19zcGF0aWFsX25hdmlnYXRpb25fZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4obywgc2Qs
IEVJTkFfRkFMU0UpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzZCwgcHJpdiwg
RUlOQV9GQUxTRSk7CkBAIC0yMzE0LDcgKzIzMTQsNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0
dGluZ19zcGF0aWFsX25hdmlnYXRpb25fc2V0KEV2YXNfT2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5h
YgogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAKLUVpbmFfQm9vbCBld2tfdmlld19zZXR0aW5n
X2xvY2FsX3N0b3JhZ2VfZ2V0KEV2YXNfT2JqZWN0ICpvKQorRWluYV9Cb29sIGV3a192aWV3X3Nl
dHRpbmdfbG9jYWxfc3RvcmFnZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pCiB7CiAgICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7CiAgICAgRVdLX1ZJRVdf
UFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2LCBFSU5BX0ZBTFNFKTsKQEAgLTIzMzMsNyArMjMz
Myw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0b3JhZ2Vfc2V0KEV2YXNf
T2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5hYmxlKQogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAK
LUVpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX3BhZ2VfY2FjaGVfZ2V0KEV2YXNfT2JqZWN0ICpv
KQorRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfcGFnZV9jYWNoZV9nZXQoY29uc3QgRXZhc19P
YmplY3QgKm8pCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9G
QUxTRSk7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2LCBFSU5BX0ZB
TFNFKTsKQEAgLTM0NDMsNyArMzQ0Myw3IEBAIHZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmli
dXRlc19zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJnCiAgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChvLCAidmlld3BvcnQsY2hhbmdlZCIsIDAp
OwogfQogCi12b2lkIGV3a192aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfZ2V0KEV2YXNfT2JqZWN0
ICpvLCBmbG9hdCAqdywgZmxvYXQgKmgsIGZsb2F0ICppbml0X3NjYWxlLCBmbG9hdCAqbWF4X3Nj
YWxlLCBmbG9hdCAqbWluX3NjYWxlLCBmbG9hdCAqZGV2aWNlX3BpeGVsX3JhdGlvLCBFaW5hX0Jv
b2wgKnVzZXJfc2NhbGFibGUpCit2b2lkIGV3a192aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBmbG9hdCAqdywgZmxvYXQgKmgsIGZsb2F0ICppbml0X3Nj
YWxlLCBmbG9hdCAqbWF4X3NjYWxlLCBmbG9hdCAqbWluX3NjYWxlLCBmbG9hdCAqZGV2aWNlX3Bp
eGVsX3JhdGlvLCBFaW5hX0Jvb2wgKnVzZXJfc2NhbGFibGUpCiB7CiAgICAgV2ViQ29yZTo6Vmll
d3BvcnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBfZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRl
c19jb21wdXRlKG8pOwogCkBAIC0zNDc5LDcgKzM0NzksNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdf
em9vbV9yYW5nZV9zZXQoRXZhc19PYmplY3QgKm8sIGZsb2F0IG1pbl9zY2FsZSwgZmxvYXQgbWF4
X3NjYQogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAKLWZsb2F0IGV3a192aWV3X3pvb21fcmFu
Z2VfbWluX2dldChFdmFzX09iamVjdCAqbykKK2Zsb2F0IGV3a192aWV3X3pvb21fcmFuZ2VfbWlu
X2dldChjb25zdCBFdmFzX09iamVjdCAqbykKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVU
VVJOKG8sIHNkLCAtMS4wKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHBy
aXYsIC0xLjApOwpAQCAtMzQ4Nyw3ICszNDg3LDcgQEAgZmxvYXQgZXdrX3ZpZXdfem9vbV9yYW5n
ZV9taW5fZ2V0KEV2YXNfT2JqZWN0ICpvKQogICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy56b29t
X3JhbmdlLm1pbl9zY2FsZTsKIH0KIAotZmxvYXQgZXdrX3ZpZXdfem9vbV9yYW5nZV9tYXhfZ2V0
KEV2YXNfT2JqZWN0ICpvKQorZmxvYXQgZXdrX3ZpZXdfem9vbV9yYW5nZV9tYXhfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4obywgc2Qs
IC0xLjApOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzZCwgcHJpdiwgLTEuMCk7
CkBAIC0zNTA1LDcgKzM1MDUsNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfdXNlcl9zY2FsYWJsZV9z
ZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCB1c2VyX3NjYWxhYmxlKQogICAgIHJldHVybiBF
SU5BX1RSVUU7CiB9CiAKLUVpbmFfQm9vbCBld2tfdmlld191c2VyX3NjYWxhYmxlX2dldChFdmFz
X09iamVjdCAqbykKK0VpbmFfQm9vbCBld2tfdmlld191c2VyX3NjYWxhYmxlX2dldChjb25zdCBF
dmFzX09iamVjdCAqbykKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBF
SU5BX0ZBTFNFKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYsIEVJ
TkFfRkFMU0UpOwpAQCAtMzUxMyw3ICszNTEzLDcgQEAgRWluYV9Cb29sIGV3a192aWV3X3VzZXJf
c2NhbGFibGVfZ2V0KEV2YXNfT2JqZWN0ICpvKQogICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy56
b29tX3JhbmdlLnVzZXJfc2NhbGFibGU7CiB9CiAKLWZsb2F0IGV3a192aWV3X2RldmljZV9waXhl
bF9yYXRpb19nZXQoRXZhc19PYmplY3QgKm8pCitmbG9hdCBld2tfdmlld19kZXZpY2VfcGl4ZWxf
cmF0aW9fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dFVF9P
Ul9SRVRVUk4obywgc2QsIC0xLjApOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihz
ZCwgcHJpdiwgLTEuMCk7CkBAIC0zNjM4LDcgKzM2MzgsNyBAQCB2b2lkIGV3a192aWV3X2NvbnRl
bnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgaW50IHcsIGludCBoKQogICoKICAqIEBy
ZXR1cm4gcGFnZSBzaXplLgogICovCi1XZWJDb3JlOjpGbG9hdFJlY3QgZXdrX3ZpZXdfcGFnZV9y
ZWN0X2dldChFdmFzX09iamVjdCAqbykKK1dlYkNvcmU6OkZsb2F0UmVjdCBld2tfdmlld19wYWdl
X3JlY3RfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKQogewogICAgIEVXS19WSUVXX1NEX0dFVChv
LCBzZCk7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVQoc2QsIHByaXYpOwpAQCAtMzY5Miw3ICszNjky
LDcgQEAgRWluYV9Cb29sIGV3a192aWV3X21vZGVfc2V0KEV2YXNfT2JqZWN0ICpvLCBFd2tfVmll
d19Nb2RlIHZpZXdfbW9kZSkKICAgICByZXR1cm4gRUlOQV9UUlVFOwogfQogCi1Fd2tfVmlld19N
b2RlIGV3a192aWV3X21vZGVfZ2V0KEV2YXNfT2JqZWN0ICpvKQorRXdrX1ZpZXdfTW9kZSBld2tf
dmlld19tb2RlX2dldChjb25zdCBFdmFzX09iamVjdCAqbykKIHsKICAgICBFd2tfVmlld19Nb2Rl
IG1vZGUgPSBFV0tfVklFV19NT0RFX1dJTkRPV0VEOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5o
CmluZGV4IDIwMmIzZjIuLmY4YjNlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC01
NDUsNyArNTQ1LDcgQEAgRUFQSSB2b2lkICAgICAgICAgZXdrX3ZpZXdfZml4ZWRfbGF5b3V0X3Np
emVfc2V0KEV2YXNfT2JqZWN0ICpvLCBFdmFzX0Nvb3JkIHcsIEUKICAqIEBwYXJhbSBoIHRoZSBw
b2ludGVyIHRvIHN0b3JlIGZpeGVkIGhlaWdodCwgcmV0dXJucyBAYyAwIG9uIGZhaWx1cmUgb3Ig
aWYgdGhlcmUgaXMgbm8KICAqICAgICAgICBmaXhlZCBsYXlvdXQgaW4gdXNlCiAgKi8KLUVBUEkg
dm9pZCAgICAgICAgIGV3a192aWV3X2ZpeGVkX2xheW91dF9zaXplX2dldChFdmFzX09iamVjdCAq
bywgRXZhc19Db29yZCAqdywgRXZhc19Db29yZCAqaCk7CitFQVBJIHZvaWQgICAgICAgICBld2tf
dmlld19maXhlZF9sYXlvdXRfc2l6ZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8sIEV2YXNfQ29v
cmQgKncsIEV2YXNfQ29vcmQgKmgpOwogCiAvKioKICAqIFNldHMgdGhlIHRoZW1lIHBhdGggdGhh
dCB3aWxsIGJlIHVzZWQgYnkgdGhpcyB2aWV3LgpAQCAtNTY4LDcgKzU2OCw3IEBAIEVBUEkgdm9p
ZCAgICAgICAgIGV3a192aWV3X3RoZW1lX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAq
cGF0aCk7CiAgKgogICogQHJldHVybiB0aGUgdGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgaWYgbm90
IHNldAogICovCi1FQVBJIGNvbnN0IGNoYXIgICpld2tfdmlld190aGVtZV9nZXQoRXZhc19PYmpl
Y3QgKm8pOworRUFQSSBjb25zdCBjaGFyICAqZXdrX3ZpZXdfdGhlbWVfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0ICpvKTsKIAogLyoqCiAgKiBHZXRzIHRoZSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRo
ZSBtYWluIGZyYW1lLgpAQCAtMTIyNyw3ICsxMjI3LDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdr
X3ZpZXdfZGlzYWJsZV9yZW5kZXIoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICoKICAqIEByZXR1
cm4gdGhlIGlucHV0IG1ldGhvZCBoaW50cyBhcyBAYSBFd2tfSW1oIGJpdHMtZmllbGQKICAqLwot
RUFQSSB1bnNpZ25lZCBpbnQgZXdrX3ZpZXdfaW1oX2dldChFdmFzX09iamVjdCAqbyk7CitFQVBJ
IHVuc2lnbmVkIGludCBld2tfdmlld19pbWhfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAog
LyoqCiAgKiBHZXRzIHRoZSB1c2VyIGFnZW50IHN0cmluZy4KQEAgLTE3NzEsNyArMTc3MSw3IEBA
IEVBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X3NldHRpbmdfZm9udF9zYW5zX3NlcmlmX3NldChF
dmFzX09iamVjdCAqbywgY29uc3QgY2hhCiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiBzcGF0
aWFsIG5hdmlnYXRpb24gaXMgZW5hYmxlZCwKICAqICAgICAgICAgQGMgRUlOQV9GQUxTRSBpZiBu
b3Qgb3Igb24gZmFpbHVyZQogICovCi1FQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5n
X3NwYXRpYWxfbmF2aWdhdGlvbl9nZXQoRXZhc19PYmplY3QgKm8pOworRUFQSSBFaW5hX0Jvb2wg
ICAgZXdrX3ZpZXdfc2V0dGluZ19zcGF0aWFsX25hdmlnYXRpb25fZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0ICpvKTsKIAogLyoqCiAgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBzcGF0aWFsIG5hdmlnYXRp
b24gZmVhdHVyZS4KQEAgLTE3OTIsNyArMTc5Miw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a192
aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9uX3NldChFdmFzX09iamVjdCAqbywgRWluYV9C
CiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiBsb2NhbCBzdG9yYWdlIGlzIGVuYWJsZWQsCiAg
KiAgICAgICAgIEBjIEVJTkFfRkFMU0UgaWYgbm90IG9yIG9uIGZhaWx1cmUKICAqLwotRUFQSSBF
aW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19sb2NhbF9zdG9yYWdlX2dldChFdmFzX09iamVj
dCAqbyk7CitFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0b3JhZ2Vf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBFbmFibGVzL2Rpc2FibGUgdGhl
IGxvY2FsIHN0b3JhZ2UgZmVhdHVyZSBvZiBIVE1MNS4KQEAgLTE4MzMsNyArMTgzMyw3IEBAIEVB
UEkgRWluYV9Cb29sICAgIGV3a192aWV3X3NldHRpbmdfbG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9w
YXRoX3NldChFdmFzX09iamVjdCAqCiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiBwYWdlIGNh
Y2hlIGlzIGVuYWJsZWQsCiAgKiAgICAgICAgIEBjIEVJTkFfRkFMU0UgaWYgbm90IG9yIG9uIGZh
aWx1cmUKICAqLwotRUFQSSBFaW5hX0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19wYWdlX2NhY2hl
X2dldChFdmFzX09iamVjdCAqbyk7CitFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5n
X3BhZ2VfY2FjaGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBFbmFibGVz
L2Rpc2FibGVzIHRoZSBwYWdlIGNhY2hlIGZlYXR1cmUuCkBAIC0xODU0LDcgKzE4NTQsNyBAQCBF
QVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5nX3BhZ2VfY2FjaGVfc2V0KEV2YXNfT2Jq
ZWN0ICpvLCBFaW5hX0Jvb2wgZW5hYgogICogQHJldHVybiBAYyBFSU5BX1RSVUUgaWYgdGhlIGVu
Y29kaW5nIGZlYXR1cmUgaXMgZW5hYmxlZCwKICAqICAgICAgICAgQGMgRUlOQV9GQUxTRSBpZiBu
b3Qgb3Igb24gZmFpbHVyZQogICovCi1FQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5n
X2VuY29kaW5nX2RldGVjdG9yX2dldChFdmFzX09iamVjdCAqbyk7CitFQVBJIEVpbmFfQm9vbCAg
ICBld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2RldGVjdG9yX2dldChjb25zdCBFdmFzX09iamVj
dCAqbyk7CiAKIC8qKgogICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgZW5jb2RpbmcgZGV0ZWN0b3Iu
CkBAIC0xODc4LDcgKzE4NzgsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5n
X2VuY29kaW5nX2RldGVjdG9yX3NldChFdmFzX09iamVjdCAqbywgRWluYV9CbwogICogQHJldHVy
biBAYyBFSU5BX1RSVUUgaWYgZGV2ZWxvcGVyIGV4dGVuc2lvbnMgYXJlIGVuYWJsZWQsIEBjIEVJ
TkFfRkFMU0UKICAqICAgICAgICAgb3RoZXJ3aXNlCiAgKi8KLUVBUEkgRWluYV9Cb29sICAgIGV3
a192aWV3X3NldHRpbmdfZW5hYmxlX2RldmVsb3Blcl9leHRyYXNfZ2V0KEV2YXNfT2JqZWN0ICpv
KTsKK0VBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2RldmVsb3Blcl9l
eHRyYXNfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBFbmFibGVzL2Rpc2Fi
bGVzIGRldmVsb3BlciBleHRlbnNpb25zLgpAQCAtMjExNCw3ICsyMTE0LDcgQEAgRUFQSSBFaW5h
X0Jvb2wgZXdrX3ZpZXdfcGFpbnRfY29udGVudHMoRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhICpwcml2
LCBjYWlyb190ICpjciwKICAqIEBwYXJhbSBkZXZpY2VfcGl4ZWxfcmF0aW8gdGhlIHBvaW50ZXIg
dG8gc3RvcmUgdGhlIGRldmljZSBwaXhlbCByYXRpbyB2YWx1ZQogICogQHBhcmFtIHVzZXJfc2Nh
bGFibGUgdGhlIHBvaW50ZXIgdG8gc3RvcmUgaWYgdXNlciBjYW4gc2NhbGUgdmlld3BvcnQKICAq
LwotRUFQSSB2b2lkIGV3a192aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfZ2V0KEV2YXNfT2JqZWN0
ICpvLCBmbG9hdCAqdywgZmxvYXQgKmgsIGZsb2F0ICppbml0X3NjYWxlLCBmbG9hdCAqbWF4X3Nj
YWxlLCBmbG9hdCAqbWluX3NjYWxlLCBmbG9hdCAqZGV2aWNlX3BpeGVsX3JhdGlvICwgRWluYV9C
b29sICp1c2VyX3NjYWxhYmxlKTsKK0VBUEkgdm9pZCBld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1
dGVzX2dldChjb25zdCBFdmFzX09iamVjdCAqbywgZmxvYXQgKncsIGZsb2F0ICpoLCBmbG9hdCAq
aW5pdF9zY2FsZSwgZmxvYXQgKm1heF9zY2FsZSwgZmxvYXQgKm1pbl9zY2FsZSwgZmxvYXQgKmRl
dmljZV9waXhlbF9yYXRpbyAsIEVpbmFfQm9vbCAqdXNlcl9zY2FsYWJsZSk7CiAKIC8qKgogICog
U2V0cyB0aGUgem9vbSByYW5nZS4KQEAgLTIxMzUsNyArMjEzNSw3IEBAIEVBUEkgRWluYV9Cb29s
IGV3a192aWV3X3pvb21fcmFuZ2Vfc2V0KEV2YXNfT2JqZWN0ICpvLCBmbG9hdCBtaW5fc2NhbGUs
IGZsb2F0IG1hCiAgKiBAcmV0dXJuIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB6b29tIHJhbmdl
IG9uIHN1Y2Nlc3MsIG9yCiAgKiAgICAgICAgIEBjIC0xIG9uIGZhaWx1cmUKICAqLwotRUFQSSBm
bG9hdCBld2tfdmlld196b29tX3JhbmdlX21pbl9nZXQoRXZhc19PYmplY3QgKm8pOworRUFQSSBm
bG9hdCBld2tfdmlld196b29tX3JhbmdlX21pbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwog
CiAvKioKICAqIEdldHMgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHpvb20gcmFuZ2UuCkBAIC0y
MTQ1LDcgKzIxNDUsNyBAQCBFQVBJIGZsb2F0IGV3a192aWV3X3pvb21fcmFuZ2VfbWluX2dldChF
dmFzX09iamVjdCAqbyk7CiAgKiBAcmV0dXJuIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSB6b29t
IHJhbmdlIG9uIHN1Y2Nlc3MsIG9yCiAgKiAgICAgICAgIEBjIC0xLjAgb24gZmFpbHVyZQogICov
Ci1FQVBJIGZsb2F0IGV3a192aWV3X3pvb21fcmFuZ2VfbWF4X2dldChFdmFzX09iamVjdCAqbyk7
CitFQVBJIGZsb2F0IGV3a192aWV3X3pvb21fcmFuZ2VfbWF4X2dldChjb25zdCBFdmFzX09iamVj
dCAqbyk7CiAKIC8qKgogICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgem9vbS4KQEAgLTIxNjQsNyAr
MjE2NCw3IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3VzZXJfc2NhbGFibGVfc2V0KEV2YXNf
T2JqZWN0ICpvLCBFaW5hX0Jvb2wgdXNlcl9zY2FsYWJsCiAgKgogICogQHJldHVybiBAYyBFSU5B
X1RSVUUgaWYgdGhlIHpvb20gaXMgZW5hYmxlZCwgQGMgRUlOQV9GQUxTRSBpZiBub3Qgb3Igb24g
ZmFpbHVyZQogICovCi1FQVBJIEVpbmFfQm9vbCBld2tfdmlld191c2VyX3NjYWxhYmxlX2dldChF
dmFzX09iamVjdCAqbyk7CitFQVBJIEVpbmFfQm9vbCBld2tfdmlld191c2VyX3NjYWxhYmxlX2dl
dChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKIC8qKgogICogR2V0cyB0aGUgZGV2aWNlIHBpeGVs
IHJhdGlvIHZhbHVlLgpAQCAtMjE3Myw3ICsyMTczLDcgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfdXNlcl9zY2FsYWJsZV9nZXQoRXZhc19PYmplY3QgKm8pOwogICoKICAqIEByZXR1cm4gdGhl
IGRldmljZSBwaXhlbCByYXRpbyB2YWx1ZSBvbiBzdWNjZXNzIG9yIEBjIC0xLjAgb24gZmFpbHVy
ZQogICovCi1FQVBJIGZsb2F0IGV3a192aWV3X2RldmljZV9waXhlbF9yYXRpb19nZXQoRXZhc19P
YmplY3QgKm8pOworRUFQSSBmbG9hdCBld2tfdmlld19kZXZpY2VfcGl4ZWxfcmF0aW9fZ2V0KGNv
bnN0IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBTZXRzIHRoZSB2aWV3IG1vZGUuCkBAIC0y
MTk3LDcgKzIxOTcsNyBAQCBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19tb2RlX3NldChFdmFzX09i
amVjdCAqbywgRXdrX1ZpZXdfTW9kZSB2aWV3X21vZGUpOwogICoKICAqIEBzZWUgZXdrX3ZpZXdf
bW9kZV9zZXQoKQogICovCi1FQVBJIEV3a19WaWV3X01vZGUgZXdrX3ZpZXdfbW9kZV9nZXQoRXZh
c19PYmplY3QgKm8pOworRUFQSSBFd2tfVmlld19Nb2RlIGV3a192aWV3X21vZGVfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0ICpvKTsKIAogLyoqCiAgKiBDcmVhdGVzIGEgSlMgb2JqZWN0IG5hbWVkIEBh
IG9ial9uYW1lIGFzIHByb3BlcnR5IG9mIHRoZSB3aW5kb3cgb2JqZWN0LiBUaGlzIHNob3VsZCBi
ZSBjYWxsZWQgb24gYSBjYWxsYmFjayBjb25uZWN0ZWR0byB0aGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmNwcAppbmRleCA2MmY3ZGU4Li42OWQ1MmY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3dpbmRvd19mZWF0dXJlcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVhdHVyZXMuY3BwCkBAIC01
NCw3ICs1NCw3IEBAIHZvaWQgZXdrX3dpbmRvd19mZWF0dXJlc19yZWYoRXdrX1dpbmRvd19GZWF0
dXJlcyAqd2luZG93X2ZlYXR1cmVzKQogICAgIHdpbmRvd19mZWF0dXJlcy0+X19yZWYrKzsKIH0K
IAotdm9pZCBld2tfd2luZG93X2ZlYXR1cmVzX2Jvb2xfcHJvcGVydHlfZ2V0KEV3a19XaW5kb3df
RmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcywgRWluYV9Cb29sICp0b29sYmFyX3Zpc2libGUsIEVp
bmFfQm9vbCAqc3RhdHVzYmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqc2Nyb2xsYmFyc192aXNpYmxl
LCBFaW5hX0Jvb2wgKm1lbnViYXJfdmlzaWJsZSwgRWluYV9Cb29sICpsb2NhdGlvbmJhcl92aXNp
YmxlLCBFaW5hX0Jvb2wgKmZ1bGxzY3JlZW4pCit2b2lkIGV3a193aW5kb3dfZmVhdHVyZXNfYm9v
bF9wcm9wZXJ0eV9nZXQoY29uc3QgRXdrX1dpbmRvd19GZWF0dXJlcyAqd2luZG93X2ZlYXR1cmVz
LCBFaW5hX0Jvb2wgKnRvb2xiYXJfdmlzaWJsZSwgRWluYV9Cb29sICpzdGF0dXNiYXJfdmlzaWJs
ZSwgRWluYV9Cb29sICpzY3JvbGxiYXJzX3Zpc2libGUsIEVpbmFfQm9vbCAqbWVudWJhcl92aXNp
YmxlLCBFaW5hX0Jvb2wgKmxvY2F0aW9uYmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqZnVsbHNjcmVl
bikKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTih3aW5kb3dfZmVhdHVyZXMpOwog
ICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHdpbmRvd19mZWF0dXJlcy0+Y29yZSk7CkBA
IC03OCw3ICs3OCw3IEBAIHZvaWQgZXdrX3dpbmRvd19mZWF0dXJlc19ib29sX3Byb3BlcnR5X2dl
dChFd2tfV2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMsCiAgICAgICAgICpmdWxsc2Ny
ZWVuID0gd2luZG93X2ZlYXR1cmVzLT5jb3JlLT5mdWxsc2NyZWVuOwogfQogCi12b2lkIGV3a193
aW5kb3dfZmVhdHVyZXNfaW50X3Byb3BlcnR5X2dldChFd2tfV2luZG93X0ZlYXR1cmVzICp3aW5k
b3dfZmVhdHVyZXMsIGludCAqeCwgaW50ICp5LCBpbnQgKncsIGludCAqaCkKK3ZvaWQgZXdrX3dp
bmRvd19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0KGNvbnN0IEV3a19XaW5kb3dfRmVhdHVyZXMg
KndpbmRvd19mZWF0dXJlcywgaW50ICp4LCBpbnQgKnksIGludCAqdywgaW50ICpoKQogewogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHdpbmRvd19mZWF0dXJlcyk7CiAgICAgRUlOQV9T
QUZFVFlfT05fTlVMTF9SRVRVUk4od2luZG93X2ZlYXR1cmVzLT5jb3JlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmggYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3dpbmRvd19mZWF0dXJlcy5oCmluZGV4IGYyOWM4MWEuLmE5MDEzOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a193aW5kb3dfZmVhdHVyZXMuaApAQCAtNjcs
NyArNjcsNyBAQCBFQVBJIHZvaWQgICAgICAgICBld2tfd2luZG93X2ZlYXR1cmVzX3JlZihFd2tf
V2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMpOwogICoKICAqIEBzZWUgZXdrX3dpbmRv
d19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0CiAgKi8KLUVBUEkgdm9pZCAgICAgICAgIGV3a193
aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQoRXdrX1dpbmRvd19GZWF0dXJlcyAqd2lu
ZG93X2ZlYXR1cmVzLCBFaW5hX0Jvb2wgKnRvb2xiYXJfdmlzaWJsZSwgRWluYV9Cb29sICpzdGF0
dXNiYXJfdmlzaWJsZSwgRWluYV9Cb29sICpzY3JvbGxiYXJzX3Zpc2libGUsIEVpbmFfQm9vbCAq
bWVudWJhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKmxvY2F0aW9uYmFyX3Zpc2libGUsIEVpbmFfQm9v
bCAqZnVsbHNjcmVlbik7CitFQVBJIHZvaWQgICAgICAgICBld2tfd2luZG93X2ZlYXR1cmVzX2Jv
b2xfcHJvcGVydHlfZ2V0KGNvbnN0IEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJl
cywgRWluYV9Cb29sICp0b29sYmFyX3Zpc2libGUsIEVpbmFfQm9vbCAqc3RhdHVzYmFyX3Zpc2li
bGUsIEVpbmFfQm9vbCAqc2Nyb2xsYmFyc192aXNpYmxlLCBFaW5hX0Jvb2wgKm1lbnViYXJfdmlz
aWJsZSwgRWluYV9Cb29sICpsb2NhdGlvbmJhcl92aXNpYmxlLCBFaW5hX0Jvb2wgKmZ1bGxzY3Jl
ZW4pOwogCiAvKioKICAqIEdldHMgaW50IHByb3BlcnRpZXMgb2YgYW4gRXdrX1dpbmRvd19GZWF0
dXJlcy4KQEAgLTg2LDcgKzg2LDcgQEAgRUFQSSB2b2lkICAgICAgICAgZXdrX3dpbmRvd19mZWF0
dXJlc19ib29sX3Byb3BlcnR5X2dldChFd2tfV2luZG93X0ZlYXR1cmVzICp3aW4KICAqCiAgKiBA
c2VlIGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQKICAqLwotRUFQSSB2b2lk
ICAgICAgICAgZXdrX3dpbmRvd19mZWF0dXJlc19pbnRfcHJvcGVydHlfZ2V0KEV3a19XaW5kb3df
RmVhdHVyZXMgKndpbmRvd19mZWF0dXJlcywgaW50ICp4LCBpbnQgKnksIGludCAqdywgaW50ICpo
KTsKK0VBUEkgdm9pZCAgICAgICAgIGV3a193aW5kb3dfZmVhdHVyZXNfaW50X3Byb3BlcnR5X2dl
dChjb25zdCBFd2tfV2luZG93X0ZlYXR1cmVzICp3aW5kb3dfZmVhdHVyZXMsIGludCAqeCwgaW50
ICp5LCBpbnQgKncsIGludCAqaCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>