<?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>69163</bug_id>
          
          <creation_ts>2011-09-30 12:45:50 -0700</creation_ts>
          <short_desc>Remove custom scrollbar painting hooks</short_desc>
          <delta_ts>2011-10-03 15:30:27 -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>New Bugs</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>jeffm</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>476256</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-30 12:45:50 -0700</bug_when>
    <thetext>Remove custom scrollbar painting hooks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476264</commentid>
    <comment_count>1</comment_count>
      <attachid>109331</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-30 12:56:37 -0700</bug_when>
    <thetext>Created attachment 109331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476280</commentid>
    <comment_count>2</comment_count>
      <attachid>109331</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-09-30 13:26:29 -0700</bug_when>
    <thetext>Comment on attachment 109331
Patch

We should also remove ScrollView* arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476319</commentid>
    <comment_count>3</comment_count>
      <attachid>109348</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-30 14:27:56 -0700</bug_when>
    <thetext>Created attachment 109348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476434</commentid>
    <comment_count>4</comment_count>
      <attachid>109348</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-09-30 17:23:13 -0700</bug_when>
    <thetext>Comment on attachment 109348
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=109348&amp;action=review

&gt; Source/WebKit/win/ChangeLog:6
&gt; +        Remove custom scrollbar painting hooks
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=69163
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).

The previous patch had an explanation here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477289</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-10-03 15:30:27 -0700</bug_when>
    <thetext>Committed r96549: &lt;http://trac.webkit.org/changeset/96549&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109331</attachid>
            <date>2011-09-30 12:56:37 -0700</date>
            <delta_ts>2011-09-30 14:27:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69163-20110930125637.patch</filename>
            <type>text/plain</type>
            <size>18225</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NDE0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDktMzAgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY3VzdG9tIHNj
cm9sbGJhciBwYWludGluZyBob29rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjkxNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgY3VzdG9tIHNjcm9sbGJhciBhbmQgc2Nyb2xsIGNvcm5lciBwYWlu
dGluZyBob29rcyBhcmVuJ3QgdXNlZCBieSBhbnlvbmUKKyAgICAgICAgc28gZ28gYWhlYWQgYW5k
IHJlbW92ZSB0aGVtLiBUaGlzIHJlbW92ZXMgdGhlIHNldHRlci9nZXR0ZXIgYW5kIENocm9tZUNs
aWVudCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgICog
cGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlOjpwYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnRTY3JvbGxDb3JuZXIpOgor
CiAyMDExLTA5LTMwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB1bnVzZWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmNvcHlTdHlsZVRvQ2hpbGRy
ZW4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA5NjQwMikKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMjMsOSArMjIzLDcgQEAg
X19aTjdXZWJDb3JlMTFtZW1vcnlDYWNoZUV2CiBfX1pON1dlYkNvcmUxMXN0YXJ0T2ZXb3JkRVJL
TlNfMTVWaXNpYmxlUG9zaXRpb25FTlNfOUVXb3JkU2lkZUUKIF9fWk43V2ViQ29yZTExdG9Vc2Vy
U3BhY2VFUks3X05TUmVjdFA4TlNXaW5kb3cKIF9fWk43V2ViQ29yZTExd3JpdGVUb0ZpbGVFaVBL
Y2kKLV9fWk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50MjBwYWludEN1c3RvbVNjcm9sbGJhckVQTlNf
MTVHcmFwaGljc0NvbnRleHRFUktOU185RmxvYXRSZWN0RU5TXzIwU2Nyb2xsYmFyQ29udHJvbFNp
emVFak5TXzEzU2Nyb2xsYmFyUGFydEViZmZqCiBfX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIz
cGFpbnRDdXN0b21PdmVyaGFuZ0FyZWFFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfN0ludFJl
Y3RFUzVfUzVfCi1fX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIzcGFpbnRDdXN0b21TY3JvbGxD
b3JuZXJFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfOUZsb2F0UmVjdEUKIF9fWk43V2ViQ29y
ZTEyRWRpdGluZ1N0eWxlRDFFdgogX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxMG1vdXNlTW92
ZWRFUDdOU0V2ZW50CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEwbW91c2VNb3ZlZEVSS05T
XzE4UGxhdGZvcm1Nb3VzZUV2ZW50RQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkocmV2aXNp
b24gOTY0MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU1OSwxOCArNTU5LDYgQEAgU3RyaW5nIENocm9tZUNsaWVudDo6Z2VuZXJhdGVSZXBs
YWNlbWVudAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotYm9vbCBDaHJvbWVDbGllbnQ6OnBh
aW50Q3VzdG9tU2Nyb2xsYmFyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYsIFNj
cm9sbGJhckNvbnRyb2xTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFNjcm9sbGJhckNvbnRyb2xTdGF0ZSwgU2Nyb2xsYmFyUGFydCwgYm9vbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCwgZmxvYXQsIFNjcm9sbGJhckNv
bnRyb2xQYXJ0TWFzaykKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgQ2hyb21lQ2xp
ZW50OjpwYWludEN1c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9h
dFJlY3QmKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogYm9vbCBDaHJvbWVDbGllbnQ6OnBh
aW50Q3VzdG9tT3ZlcmhhbmdBcmVhKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmLCBj
b25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCShyZXZpc2lvbiA5NjQwMikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNywxMSAr
MjE3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxlRm9yVXBsb2FkKGNvbnN0IFN0cmluZyYgcGF0aCwgU3Ry
aW5nJiBnZW5lcmF0ZWRGaWxlbmFtZSk7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRl
UmVwbGFjZW1lbnRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKLSAgICAgICAgdmlydHVhbCBi
b29sIHBhaW50Q3VzdG9tU2Nyb2xsYmFyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVj
dCYsIFNjcm9sbGJhckNvbnRyb2xTaXplLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFNjcm9sbGJhckNvbnRyb2xTdGF0ZSwgU2Nyb2xsYmFyUGFydCBwcmVzc2Vk
UGFydCwgYm9vbCB2ZXJ0aWNhbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZsb2F0IHZhbHVlLCBmbG9hdCBwcm9wb3J0aW9uLCBTY3JvbGxiYXJDb250cm9sUGFy
dE1hc2spOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDdXN0b21TY3JvbGxDb3JuZXIoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0KICAgICAgICAgdmlydHVhbCBib29s
IHBhaW50Q3VzdG9tT3ZlcmhhbmdBcmVhKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
LCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpOwogCiAgICAgICAgIC8vIEZJWE1FOiBS
ZW1vdmUgb25jZSBhbGwgcG9ydHMgYXJlIHVzaW5nIGNsaWVudC1iYXNlZCBnZW9sb2NhdGlvbi4g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzczCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gOTY0MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDcgKzE2Nyw2IEBAIFNldHRp
bmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZp
bmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZShmYWxzZSkK
ICAgICAsIG1fb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGZhbHNlKQotICAgICwg
bV9zaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoZmFsc2UpCiAgICAgLCBtX2VuZm9yY2VDU1NN
SU1FVHlwZUluTm9RdWlya3NNb2RlKHRydWUpCiAgICAgLCBtX3VzZXNFbmNvZGluZ0RldGVjdG9y
KGZhbHNlKQogICAgICwgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyhmYWxzZSkKQEAgLTY1
MCwxMSArNjQ5LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQwog
ICAgIG1fb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkID0gZW5hYmxlZDsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKGJvb2wgc2hvdWxk
UGFpbnRDdXN0b21TY3JvbGxiYXJzKQotewotICAgIG1fc2hvdWxkUGFpbnRDdXN0b21TY3JvbGxi
YXJzID0gc2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzOwotfQotCiB2b2lkIFNldHRpbmdzOjpz
ZXRFbmZvcmNlQ1NTTUlNRVR5cGVJbk5vUXVpcmtzTW9kZShib29sIGVuZm9yY2VDU1NNSU1FVHlw
ZUluTm9RdWlya3NNb2RlKQogewogICAgIG1fZW5mb3JjZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01v
ZGUgPSBlbmZvcmNlQ1NTTUlNRVR5cGVJbk5vUXVpcmtzTW9kZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgJKHJldmlzaW9uIDk2NDAyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzgsOSArMjc4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGJv
b2wpOwogICAgICAgICBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOyB9Ci0KLSAg
ICAgICAgdm9pZCBzZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoYm9vbCk7Ci0gICAgICAg
IGJvb2wgc2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4gbV9zaG91
bGRQYWludEN1c3RvbVNjcm9sbGJhcnM7IH0KICAgICAgICAgCiAgICAgICAgIHZvaWQgc2V0RW5m
b3JjZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoYm9vbCk7CiAgICAgICAgIGJvb2wgZW5mb3Jj
ZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoKSB7IHJldHVybiBtX2VuZm9yY2VDU1NNSU1FVHlw
ZUluTm9RdWlya3NNb2RlOyB9CkBAIC01NTAsNyArNTQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBib29sIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCA6IDE7CiAg
ICAgICAgIGJvb2wgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZSA6IDE7CiAgICAgICAgIGJvb2wg
bV9vZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQgOiAxOwotICAgICAgICBib29sIG1f
c2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzIDogMTsKICAgICAgICAgYm9vbCBtX2VuZm9yY2VD
U1NNSU1FVHlwZUluTm9RdWlya3NNb2RlIDogMTsKICAgICAgICAgYm9vbCBtX3VzZXNFbmNvZGlu
Z0RldGVjdG9yIDogMTsKICAgICAgICAgYm9vbCBtX2FsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dz
IDogMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9z
aXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJU
aGVtZUNvbXBvc2l0ZS5jcHAJKHJldmlzaW9uIDk2NDAyKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwx
OCArNDEsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBQYWdlKiBwYWdlRm9yU2Nyb2xsVmlldyhTY3JvbGxWaWV3KiB2aWV3KQotewotICAg
IGlmICghdmlldykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKCF2aWV3LT5pc0ZyYW1lVmll
dygpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHN0YXRp
Y19jYXN0PEZyYW1lVmlldyo+KHZpZXcpOwotICAgIGlmICghZnJhbWVWaWV3LT5mcmFtZSgpKQot
ICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gZnJhbWVWaWV3LT5mcmFtZSgpLT5wYWdlKCk7
Ci19Ci0KIGJvb2wgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50KFNjcm9sbGJhciogc2Ny
b2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYg
ZGFtYWdlUmVjdCkKIHsKICAgICAvLyBDcmVhdGUgdGhlIFNjcm9sbGJhckNvbnRyb2xQYXJ0TWFz
ayBiYXNlZCBvbiB0aGUgZGFtYWdlUmVjdApAQCAtOTUsMzUgKzgzLDYgQEAgYm9vbCBTY3JvbGxi
YXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQoU2NybwogICAgICAgICAgICAgc2Nyb2xsTWFzayB8PSBG
b3J3YXJkVHJhY2tQYXJ0OwogICAgIH0KIAotI2lmIFBMQVRGT1JNKFdJTikKLSAgICAvLyBGSVhN
RTogVGhpcyBBUEkgbWFrZXMgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgY3VzdG9tIHNjcm9sbGJh
cidzIG1ldHJpY3Mgd2lsbCBtYXRjaAotICAgIC8vIHRoZSB0aGVtZSdzIG1ldHJpY3MuICBUaGlz
IGlzIG5vdCBhIHZhbGlkIGFzc3VtcHRpb24uICBUaGUgYWJpbGl0eSBmb3IgYSBjbGllbnQgdG8g
cGFpbnQKLSAgICAvLyBjdXN0b20gc2Nyb2xsYmFycyBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIHNj
cm9sbGJhcnMgY2FuIGJlIHN0eWxlZCB2aWEgQ1NTLgotICAgIGlmIChQYWdlKiBwYWdlID0gcGFn
ZUZvclNjcm9sbFZpZXcoc2Nyb2xsYmFyLT5wYXJlbnQoKSkpIHsKLSAgICAgICAgaWYgKHBhZ2Ut
PnNldHRpbmdzKCktPnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycygpKSB7Ci0gICAgICAgICAg
ICBmbG9hdCBwcm9wb3J0aW9uID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNjcm9sbGJhci0+dmlzaWJs
ZVNpemUoKSkgLyBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgICAgICAgICAgZmxvYXQgdmFs
dWUgPSBzY3JvbGxiYXItPmN1cnJlbnRQb3MoKSAvIHN0YXRpY19jYXN0PGZsb2F0PihzY3JvbGxi
YXItPm1heGltdW0oKSk7Ci0gICAgICAgICAgICBTY3JvbGxiYXJDb250cm9sU3RhdGUgcyA9IDA7
Ci0gICAgICAgICAgICBpZiAoc2Nyb2xsYmFyLT5zY3JvbGxhYmxlQXJlYSgpLT5pc0FjdGl2ZSgp
KQotICAgICAgICAgICAgICAgIHMgfD0gQWN0aXZlU2Nyb2xsYmFyU3RhdGU7Ci0gICAgICAgICAg
ICBpZiAoc2Nyb2xsYmFyLT5lbmFibGVkKCkpCi0gICAgICAgICAgICAgICAgcyB8PSBFbmFibGVk
U2Nyb2xsYmFyU3RhdGU7Ci0gICAgICAgICAgICBpZiAoc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgp
ICE9IE5vUGFydCkKLSAgICAgICAgICAgICAgICBzIHw9IFByZXNzZWRTY3JvbGxiYXJTdGF0ZTsK
LSAgICAgICAgICAgIGlmIChwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPnBhaW50Q3VzdG9tU2Ny
b2xsYmFyKGdyYXBoaWNzQ29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci0+ZnJhbWVSZWN0KCksIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcywgCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxi
YXItPnByZXNzZWRQYXJ0KCksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IFZl
cnRpY2FsU2Nyb2xsYmFyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3J0aW9uLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2Nyb2xsTWFzaykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAg
ICB9Ci0jZW5kaWYKLQogICAgIC8vIFBhaW50IHRoZSBzY3JvbGxiYXIgYmFja2dyb3VuZCAob25s
eSB1c2VkIGJ5IGN1c3RvbSBDU1Mgc2Nyb2xsYmFycykuCiAgICAgcGFpbnRTY3JvbGxiYXJCYWNr
Z3JvdW5kKGdyYXBoaWNzQ29udGV4dCwgc2Nyb2xsYmFyKTsKIApAQCAtMzA0LDExICsyNjMsOCBA
QCBpbnQgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnRyYWNrTGVuZ3RoCiAgICAgcmV0dXJuIChz
Y3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgPyBjb25zdHJh
aW5lZFRyYWNrUmVjdC53aWR0aCgpIDogY29uc3RyYWluZWRUcmFja1JlY3QuaGVpZ2h0KCk7CiB9
CiAKLXZvaWQgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50U2Nyb2xsQ29ybmVyKFNjcm9s
bFZpZXcqIHZpZXcsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29y
bmVyUmVjdCkKK3ZvaWQgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50U2Nyb2xsQ29ybmVy
KFNjcm9sbFZpZXcqLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNv
cm5lclJlY3QpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHBhZ2VGb3JTY3JvbGxWaWV3KHZpZXcpOwot
ICAgIGlmIChwYWdlICYmIHBhZ2UtPnNldHRpbmdzKCktPnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xs
YmFycygpICYmIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+cGFpbnRDdXN0b21TY3JvbGxDb3Ju
ZXIoY29udGV4dCwgY29ybmVyUmVjdCkpCi0gICAgICAgIHJldHVybjsKICAgICBjb250ZXh0LT5m
aWxsUmVjdChjb3JuZXJSZWN0LCBDb2xvcjo6d2hpdGUsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NjQxNCkKKysrIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA5LTMwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGN1c3Rv
bSBzY3JvbGxiYXIgcGFpbnRpbmcgaG9va3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY5MTYzCisKKyAgICAgICAgUmVtb3ZlIG92ZXJyaWRkZW4gQ2hy
b21lQ2xpZW50IG1lbWJlciBmdW5jdGlvbnMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaDoKKwogMjAxMS0wOS0zMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkaWRDb21wbGV0ZVJ1YmJlckJhbmRGb3JNYWluRnJh
bWUgVUlDbGllbnQgY2FsbGJhY2sKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlz
aW9uIDk2NDEzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01ODcsMjAgKzU4Nyw2IEBAIFN0
cmluZyBXZWJDaHJvbWVDbGllbnQ6OmdlbmVyYXRlUmVwbGFjZW0KICAgICByZXR1cm4gbV9wYWdl
LT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkuZ2VuZXJhdGVGaWxlRm9yVXBsb2FkKG1fcGFnZSwg
cGF0aCk7CiB9CiAKLWJvb2wgV2ViQ2hyb21lQ2xpZW50OjpwYWludEN1c3RvbVNjcm9sbGJhcihH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmLCBTY3JvbGxiYXJDb250cm9sU2l6ZSwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Nyb2xsYmFyQ29u
dHJvbFN0YXRlLCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0LCBib29sIHZlcnRpY2FsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHZhbHVlLCBmbG9h
dCBwcm9wb3J0aW9uLCBTY3JvbGxiYXJDb250cm9sUGFydE1hc2spCi17Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgV2ViQ2hyb21lQ2xpZW50Ojpw
YWludEN1c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3Qm
KQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBib29s
IFdlYkNocm9tZUNsaWVudDo6cGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBob3Jpem9udGFsT3ZlcmhhbmdBcmVhLCBjb25zdCBJ
bnRSZWN0JiB2ZXJ0aWNhbE92ZXJoYW5nQXJlYSwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQog
ewogICAgIGlmICghbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkuc2hvdWxkUGFpbnRD
dXN0b21PdmVyaGFuZ0FyZWEoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24g
OTY0MDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsMTEgKzE1MSw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmlsZUZvclVwbG9h
ZChjb25zdCBTdHJpbmcmIHBhdGgsIFN0cmluZyYgZ2VuZXJhdGVkRmlsZW5hbWUpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRlUmVwbGFjZW1lbnRGaWxlKGNvbnN0IFN0cmlu
ZyYgcGF0aCkgT1ZFUlJJREU7CiAgICAgCi0gICAgdmlydHVhbCBib29sIHBhaW50Q3VzdG9tU2Ny
b2xsYmFyKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVj
dCYsIFdlYkNvcmU6OlNjcm9sbGJhckNvbnRyb2xTaXplLCAKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFN0YXRlLCBXZWJDb3Jl
OjpTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0LCBib29sIHZlcnRpY2FsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB2YWx1ZSwgZmxvYXQgcHJvcG9ydGlvbiwg
V2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFBhcnRNYXNrKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRDdXN0b21TY3JvbGxDb3JuZXIoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0KICAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikgT1ZFUlJJREU7CiAKICAgICAvLyBUaGlzIGlzIGFuIGFzeW5jaHJvbm91cyBj
YWxsLiBUaGUgQ2hyb21lQ2xpZW50IGNhbiBkaXNwbGF5IFVJIGFza2luZyB0aGUgdXNlciBmb3Ig
cGVybWlzc2lvbgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NDE0
KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMyBAQAorMjAxMS0wOS0zMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgorCisgICAgICAgIFJlbW92ZSBjdXN0b20gc2Nyb2xsYmFyIHBhaW50aW5nIGhvb2tz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL1dl
YlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0
U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKToKKwogMjAxMS0wOS0zMCAgRWxsaW90IFBvZ2Vy
ICA8ZXBvZ2VyQGdvb2dsZS5jb20+CiAKICAgICAgICAgd2Via2l0LT5jaHJvbWl1bSBERVBTIHJv
bGwgMTAyOTEwLT4xMDM0NzEKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNl
dHRpbmdzSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2V0dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gOTY0MDIpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyAr
MjQ3LDcgQEAgdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldEZvbnRSZW5kZXJpbmdNbwogCiB2b2lk
IFdlYlNldHRpbmdzSW1wbDo6c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKGJvb2wgZW5h
YmxlZCkKIHsKLSAgICBtX3NldHRpbmdzLT5zZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMo
ZW5hYmxlZCk7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQuCiB9CiAKIHZv
aWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhi
b29sIGFsbG93KQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gOTY0MTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAor
MjAxMS0wOS0zMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBjdXN0b20gc2Nyb2xsYmFyIHBhaW50aW5nIGhvb2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE2MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBXZWJQcmVmZXJlbmNlcyBt
ZXRob2RzLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsOgorICAg
ICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjp1bnVz
ZWQzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjp1bnVzZWQ0KToKKyAgICAgICAgKiBXZWJQ
cmVmZXJlbmNlcy5oOgorCiAyMDExLTA5LTIzICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgV2ViS2l0QVBJVGVzdApJbmRleDogU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dl
YlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gOTY0MDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTgsMTYgKzEzMTgsMTYgQEAg
SFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q2FjaGVNb2RlbChXZQogICAgIHJldHVybiBTX09L
OwogfQogCi1IUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRTaG91bGRQYWludEN1c3RvbVNjcm9s
bGJhcnMoQk9PTCBzaG91bGRQYWludCkKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnVudXNlZDMo
KQogewotICAgIHNldEJvb2xWYWx1ZShDRlNUUihXZWJLaXRQYWludEN1c3RvbVNjcm9sbGJhcnNQ
cmVmZXJlbmNlS2V5KSwgc2hvdWxkUGFpbnQpOwotICAgIHJldHVybiBTX09LOworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBFX0ZBSUw7CiB9CiAKLUhSRVNVTFQgV2ViUHJl
ZmVyZW5jZXM6OnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhCT09MKiBzaG91bGRQYWludCkK
K0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnVudXNlZDQoKQogewotICAgICpzaG91bGRQYWludCA9
IGJvb2xWYWx1ZUZvcktleShDRlNUUihXZWJLaXRQYWludEN1c3RvbVNjcm9sbGJhcnNQcmVmZXJl
bmNlS2V5KSk7Ci0gICAgcmV0dXJuIFNfT0s7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIEVfRkFJTDsKIH0KIAogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2hvdWxkUGFp
bnROYXRpdmVDb250cm9scyhCT09MKiBzaG91bGRQYWludCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZXMuaAkocmV2aXNpb24gOTY0MDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQ
cmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODYsMTEgKzI4Niw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q2FjaGVNb2RlbCgKICAg
ICAgLyogW2luXSAqLyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpOwogCi0gICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycygg
Ci0gICAgLyogW2luXSAqLyBCT09MIHNob3VsZFBhaW50KTsKLQotICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoIAotICAgIC8q
IFtyZXR2YWxdW291dF0gKi8gQk9PTCAqc2hvdWxkUGFpbnQpOworICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSB1bnVzZWQzKCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHVudXNlZDQoKTsKIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRBVkZvdW5kYXRpb25FbmFibGVkKAogICAgIC8qIFtpbl0gKi8gQk9PTCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMu
aWRsCShyZXZpc2lvbiA5NjQwMikKKysrIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTg4LDggKzE4OCw4IEBAIGludGVy
ZmFjZSBJV2ViUHJlZmVyZW5jZXMgOiBJVW5rbm93bgogICAgIEhSRVNVTFQgY2FjaGVNb2RlbChb
b3V0LCByZXR2YWxdIFdlYkNhY2hlTW9kZWwqIGNhY2hlTW9kZWwpOwogICAgIEhSRVNVTFQgc2V0
Q2FjaGVNb2RlbChbaW5dIFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbCk7CiAKLSAgICBIUkVTVUxU
IHNldFNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhCT09MIHNob3VsZFBhaW50KTsKLSAgICBI
UkVTVUxUIHNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhCT09MICpzaG91bGRQYWludCk7Cisg
ICAgSFJFU1VMVCB1bnVzZWQzKCk7CisgICAgSFJFU1VMVCB1bnVzZWQ0KCk7CiAKICAgICBIUkVT
VUxUIHNldFpvb21zVGV4dE9ubHkoQk9PTCB6b29tc1RleHRPbmx5KTsKICAgICBIUkVTVUxUIHpv
b21zVGV4dE9ubHkoQk9PTCAqem9vbXNUZXh0T25seSk7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NjQxNCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA5LTMwICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGN1
c3RvbSBzY3JvbGxiYXIgcGFpbnRpbmcgaG9va3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6CisgICAgICAgIE5v
IG5lZWQgdG8gZW5hYmxlIGN1c3RvbSBzY3JvbGxiYXIgcGFpbnRpbmcuCisKIDIwMTEtMDktMzAg
IFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAg
W0VGTF0gT25seSBzYXZlIHRoZSBjdXJyZW50IHZpZXdwb3J0IGluIFBpeGVsRHVtcFN1cHBvcnRF
ZmwuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVy
ZW5jZXMuY3BwCShyZXZpc2lvbiA5NjQwMikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcwLDcgKzE3MCw2IEBA
IHZvaWQgV2ViUHJlZmVyZW5jZXM6OmFwcGx5VG8oV2ViVmlldyogd2UKICAgICBzZXR0aW5ncy0+
c2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChoaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFbmFibGVkKTsKIAogICAgIC8vIEZpeGVkIHZhbHVlcy4KLSAgICBzZXR0aW5ncy0+c2V0U2hv
dWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKHRydWUpOwogICAgIHNldHRpbmdzLT5zZXRUZXh0RGly
ZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yTmV2ZXJJbmNsdWRlZCgpOwogICAgIHNldHRp
bmdzLT5zZXREb3dubG9hZGFibGVCaW5hcnlGb250c0VuYWJsZWQodHJ1ZSk7CiAgICAgc2V0dGlu
Z3MtPnNldEFsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109348</attachid>
            <date>2011-09-30 14:27:56 -0700</date>
            <delta_ts>2011-09-30 17:23:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69163-20110930142756.patch</filename>
            <type>text/plain</type>
            <size>24293</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NDE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDktMzAgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY3VzdG9tIHNj
cm9sbGJhciBwYWludGluZyBob29rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjkxNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgY3VzdG9tIHNjcm9sbGJhciBhbmQgc2Nyb2xsIGNvcm5lciBwYWlu
dGluZyBob29rcyBhcmVuJ3QgdXNlZCBieSBhbnlvbmUKKyAgICAgICAgc28gZ28gYWhlYWQgYW5k
IHJlbW92ZSB0aGVtLiBUaGlzIHJlbW92ZXMgdGhlIHNldHRlci9nZXR0ZXIgYW5kIENocm9tZUNs
aWVudCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgICog
cGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlOjpwYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnRTY3JvbGxDb3JuZXIpOgor
CiAyMDExLTA5LTMwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB1bnVzZWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmNvcHlTdHlsZVRvQ2hpbGRy
ZW4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA5NjQxOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMjMsOSArMjIzLDcgQEAg
X19aTjdXZWJDb3JlMTFtZW1vcnlDYWNoZUV2CiBfX1pON1dlYkNvcmUxMXN0YXJ0T2ZXb3JkRVJL
TlNfMTVWaXNpYmxlUG9zaXRpb25FTlNfOUVXb3JkU2lkZUUKIF9fWk43V2ViQ29yZTExdG9Vc2Vy
U3BhY2VFUks3X05TUmVjdFA4TlNXaW5kb3cKIF9fWk43V2ViQ29yZTExd3JpdGVUb0ZpbGVFaVBL
Y2kKLV9fWk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50MjBwYWludEN1c3RvbVNjcm9sbGJhckVQTlNf
MTVHcmFwaGljc0NvbnRleHRFUktOU185RmxvYXRSZWN0RU5TXzIwU2Nyb2xsYmFyQ29udHJvbFNp
emVFak5TXzEzU2Nyb2xsYmFyUGFydEViZmZqCiBfX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIz
cGFpbnRDdXN0b21PdmVyaGFuZ0FyZWFFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfN0ludFJl
Y3RFUzVfUzVfCi1fX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIzcGFpbnRDdXN0b21TY3JvbGxD
b3JuZXJFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfOUZsb2F0UmVjdEUKIF9fWk43V2ViQ29y
ZTEyRWRpdGluZ1N0eWxlRDFFdgogX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxMG1vdXNlTW92
ZWRFUDdOU0V2ZW50CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEwbW91c2VNb3ZlZEVSS05T
XzE4UGxhdGZvcm1Nb3VzZUV2ZW50RQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkocmV2aXNp
b24gOTY0MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU1OSwxOCArNTU5LDYgQEAgU3RyaW5nIENocm9tZUNsaWVudDo6Z2VuZXJhdGVSZXBs
YWNlbWVudAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotYm9vbCBDaHJvbWVDbGllbnQ6OnBh
aW50Q3VzdG9tU2Nyb2xsYmFyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYsIFNj
cm9sbGJhckNvbnRyb2xTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFNjcm9sbGJhckNvbnRyb2xTdGF0ZSwgU2Nyb2xsYmFyUGFydCwgYm9vbCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCwgZmxvYXQsIFNjcm9sbGJhckNv
bnRyb2xQYXJ0TWFzaykKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgQ2hyb21lQ2xp
ZW50OjpwYWludEN1c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9h
dFJlY3QmKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogYm9vbCBDaHJvbWVDbGllbnQ6OnBh
aW50Q3VzdG9tT3ZlcmhhbmdBcmVhKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmLCBj
b25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCShyZXZpc2lvbiA5NjQxOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNywxMSAr
MjE3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxlRm9yVXBsb2FkKGNvbnN0IFN0cmluZyYgcGF0aCwgU3Ry
aW5nJiBnZW5lcmF0ZWRGaWxlbmFtZSk7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRl
UmVwbGFjZW1lbnRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKLSAgICAgICAgdmlydHVhbCBi
b29sIHBhaW50Q3VzdG9tU2Nyb2xsYmFyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVj
dCYsIFNjcm9sbGJhckNvbnRyb2xTaXplLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFNjcm9sbGJhckNvbnRyb2xTdGF0ZSwgU2Nyb2xsYmFyUGFydCBwcmVzc2Vk
UGFydCwgYm9vbCB2ZXJ0aWNhbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZsb2F0IHZhbHVlLCBmbG9hdCBwcm9wb3J0aW9uLCBTY3JvbGxiYXJDb250cm9sUGFy
dE1hc2spOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDdXN0b21TY3JvbGxDb3JuZXIoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0KICAgICAgICAgdmlydHVhbCBib29s
IHBhaW50Q3VzdG9tT3ZlcmhhbmdBcmVhKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
LCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYpOwogCiAgICAgICAgIC8vIEZJWE1FOiBS
ZW1vdmUgb25jZSBhbGwgcG9ydHMgYXJlIHVzaW5nIGNsaWVudC1iYXNlZCBnZW9sb2NhdGlvbi4g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzczCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gOTY0MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDcgKzE2Nyw2IEBAIFNldHRp
bmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZp
bmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZShmYWxzZSkK
ICAgICAsIG1fb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGZhbHNlKQotICAgICwg
bV9zaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoZmFsc2UpCiAgICAgLCBtX2VuZm9yY2VDU1NN
SU1FVHlwZUluTm9RdWlya3NNb2RlKHRydWUpCiAgICAgLCBtX3VzZXNFbmNvZGluZ0RldGVjdG9y
KGZhbHNlKQogICAgICwgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyhmYWxzZSkKQEAgLTY1
MCwxMSArNjQ5LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQwog
ICAgIG1fb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkID0gZW5hYmxlZDsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKGJvb2wgc2hvdWxk
UGFpbnRDdXN0b21TY3JvbGxiYXJzKQotewotICAgIG1fc2hvdWxkUGFpbnRDdXN0b21TY3JvbGxi
YXJzID0gc2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzOwotfQotCiB2b2lkIFNldHRpbmdzOjpz
ZXRFbmZvcmNlQ1NTTUlNRVR5cGVJbk5vUXVpcmtzTW9kZShib29sIGVuZm9yY2VDU1NNSU1FVHlw
ZUluTm9RdWlya3NNb2RlKQogewogICAgIG1fZW5mb3JjZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01v
ZGUgPSBlbmZvcmNlQ1NTTUlNRVR5cGVJbk5vUXVpcmtzTW9kZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgJKHJldmlzaW9uIDk2NDE4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzgsOSArMjc4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGJv
b2wpOwogICAgICAgICBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOyB9Ci0KLSAg
ICAgICAgdm9pZCBzZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoYm9vbCk7Ci0gICAgICAg
IGJvb2wgc2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4gbV9zaG91
bGRQYWludEN1c3RvbVNjcm9sbGJhcnM7IH0KICAgICAgICAgCiAgICAgICAgIHZvaWQgc2V0RW5m
b3JjZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoYm9vbCk7CiAgICAgICAgIGJvb2wgZW5mb3Jj
ZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoKSB7IHJldHVybiBtX2VuZm9yY2VDU1NNSU1FVHlw
ZUluTm9RdWlya3NNb2RlOyB9CkBAIC01NTAsNyArNTQ3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBib29sIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCA6IDE7CiAg
ICAgICAgIGJvb2wgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZSA6IDE7CiAgICAgICAgIGJvb2wg
bV9vZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQgOiAxOwotICAgICAgICBib29sIG1f
c2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzIDogMTsKICAgICAgICAgYm9vbCBtX2VuZm9yY2VD
U1NNSU1FVHlwZUluTm9RdWlya3NNb2RlIDogMTsKICAgICAgICAgYm9vbCBtX3VzZXNFbmNvZGlu
Z0RldGVjdG9yIDogMTsKICAgICAgICAgYm9vbCBtX2FsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dz
IDogMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9z
aXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJU
aGVtZUNvbXBvc2l0ZS5jcHAJKHJldmlzaW9uIDk2NDE4KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwx
OCArNDEsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBQYWdlKiBwYWdlRm9yU2Nyb2xsVmlldyhTY3JvbGxWaWV3KiB2aWV3KQotewotICAg
IGlmICghdmlldykKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKCF2aWV3LT5pc0ZyYW1lVmll
dygpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHN0YXRp
Y19jYXN0PEZyYW1lVmlldyo+KHZpZXcpOwotICAgIGlmICghZnJhbWVWaWV3LT5mcmFtZSgpKQot
ICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gZnJhbWVWaWV3LT5mcmFtZSgpLT5wYWdlKCk7
Ci19Ci0KIGJvb2wgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50KFNjcm9sbGJhciogc2Ny
b2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYg
ZGFtYWdlUmVjdCkKIHsKICAgICAvLyBDcmVhdGUgdGhlIFNjcm9sbGJhckNvbnRyb2xQYXJ0TWFz
ayBiYXNlZCBvbiB0aGUgZGFtYWdlUmVjdApAQCAtOTUsMzUgKzgzLDYgQEAgYm9vbCBTY3JvbGxi
YXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQoU2NybwogICAgICAgICAgICAgc2Nyb2xsTWFzayB8PSBG
b3J3YXJkVHJhY2tQYXJ0OwogICAgIH0KIAotI2lmIFBMQVRGT1JNKFdJTikKLSAgICAvLyBGSVhN
RTogVGhpcyBBUEkgbWFrZXMgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgY3VzdG9tIHNjcm9sbGJh
cidzIG1ldHJpY3Mgd2lsbCBtYXRjaAotICAgIC8vIHRoZSB0aGVtZSdzIG1ldHJpY3MuICBUaGlz
IGlzIG5vdCBhIHZhbGlkIGFzc3VtcHRpb24uICBUaGUgYWJpbGl0eSBmb3IgYSBjbGllbnQgdG8g
cGFpbnQKLSAgICAvLyBjdXN0b20gc2Nyb2xsYmFycyBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIHNj
cm9sbGJhcnMgY2FuIGJlIHN0eWxlZCB2aWEgQ1NTLgotICAgIGlmIChQYWdlKiBwYWdlID0gcGFn
ZUZvclNjcm9sbFZpZXcoc2Nyb2xsYmFyLT5wYXJlbnQoKSkpIHsKLSAgICAgICAgaWYgKHBhZ2Ut
PnNldHRpbmdzKCktPnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycygpKSB7Ci0gICAgICAgICAg
ICBmbG9hdCBwcm9wb3J0aW9uID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNjcm9sbGJhci0+dmlzaWJs
ZVNpemUoKSkgLyBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwotICAgICAgICAgICAgZmxvYXQgdmFs
dWUgPSBzY3JvbGxiYXItPmN1cnJlbnRQb3MoKSAvIHN0YXRpY19jYXN0PGZsb2F0PihzY3JvbGxi
YXItPm1heGltdW0oKSk7Ci0gICAgICAgICAgICBTY3JvbGxiYXJDb250cm9sU3RhdGUgcyA9IDA7
Ci0gICAgICAgICAgICBpZiAoc2Nyb2xsYmFyLT5zY3JvbGxhYmxlQXJlYSgpLT5pc0FjdGl2ZSgp
KQotICAgICAgICAgICAgICAgIHMgfD0gQWN0aXZlU2Nyb2xsYmFyU3RhdGU7Ci0gICAgICAgICAg
ICBpZiAoc2Nyb2xsYmFyLT5lbmFibGVkKCkpCi0gICAgICAgICAgICAgICAgcyB8PSBFbmFibGVk
U2Nyb2xsYmFyU3RhdGU7Ci0gICAgICAgICAgICBpZiAoc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgp
ICE9IE5vUGFydCkKLSAgICAgICAgICAgICAgICBzIHw9IFByZXNzZWRTY3JvbGxiYXJTdGF0ZTsK
LSAgICAgICAgICAgIGlmIChwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPnBhaW50Q3VzdG9tU2Ny
b2xsYmFyKGdyYXBoaWNzQ29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci0+ZnJhbWVSZWN0KCksIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcywgCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxi
YXItPnByZXNzZWRQYXJ0KCksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IFZl
cnRpY2FsU2Nyb2xsYmFyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3J0aW9uLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2Nyb2xsTWFzaykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAg
ICB9Ci0jZW5kaWYKLQogICAgIC8vIFBhaW50IHRoZSBzY3JvbGxiYXIgYmFja2dyb3VuZCAob25s
eSB1c2VkIGJ5IGN1c3RvbSBDU1Mgc2Nyb2xsYmFycykuCiAgICAgcGFpbnRTY3JvbGxiYXJCYWNr
Z3JvdW5kKGdyYXBoaWNzQ29udGV4dCwgc2Nyb2xsYmFyKTsKIApAQCAtMzA0LDExICsyNjMsOCBA
QCBpbnQgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnRyYWNrTGVuZ3RoCiAgICAgcmV0dXJuIChz
Y3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgPyBjb25zdHJh
aW5lZFRyYWNrUmVjdC53aWR0aCgpIDogY29uc3RyYWluZWRUcmFja1JlY3QuaGVpZ2h0KCk7CiB9
CiAKLXZvaWQgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50U2Nyb2xsQ29ybmVyKFNjcm9s
bFZpZXcqIHZpZXcsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29y
bmVyUmVjdCkKK3ZvaWQgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50U2Nyb2xsQ29ybmVy
KFNjcm9sbFZpZXcqLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNv
cm5lclJlY3QpCiB7Ci0gICAgUGFnZSogcGFnZSA9IHBhZ2VGb3JTY3JvbGxWaWV3KHZpZXcpOwot
ICAgIGlmIChwYWdlICYmIHBhZ2UtPnNldHRpbmdzKCktPnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xs
YmFycygpICYmIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+cGFpbnRDdXN0b21TY3JvbGxDb3Ju
ZXIoY29udGV4dCwgY29ybmVyUmVjdCkpCi0gICAgICAgIHJldHVybjsKICAgICBjb250ZXh0LT5m
aWxsUmVjdChjb3JuZXJSZWN0LCBDb2xvcjo6d2hpdGUsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NjQxOCkKKysrIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA5LTMwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGN1c3Rv
bSBzY3JvbGxiYXIgcGFpbnRpbmcgaG9va3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY5MTYzCisKKyAgICAgICAgUmVtb3ZlIG92ZXJyaWRkZW4gQ2hy
b21lQ2xpZW50IG1lbWJlciBmdW5jdGlvbnMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaDoKKwogMjAxMS0wOS0zMCAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZl
c3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBQcmV2ZW50IHFEZWJ1ZygpIG91dHB1dCBm
cm9tIERSVCBhbmQgV1RSIHVubGVzcyAtLXZlcmJvc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAJKHJldmlzaW9uIDk2NDE4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01ODcsMjAg
KzU4Nyw2IEBAIFN0cmluZyBXZWJDaHJvbWVDbGllbnQ6OmdlbmVyYXRlUmVwbGFjZW0KICAgICBy
ZXR1cm4gbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkuZ2VuZXJhdGVGaWxlRm9yVXBs
b2FkKG1fcGFnZSwgcGF0aCk7CiB9CiAKLWJvb2wgV2ViQ2hyb21lQ2xpZW50OjpwYWludEN1c3Rv
bVNjcm9sbGJhcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmLCBTY3JvbGxiYXJD
b250cm9sU2l6ZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U2Nyb2xsYmFyQ29udHJvbFN0YXRlLCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0LCBib29sIHZl
cnRpY2FsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
IHZhbHVlLCBmbG9hdCBwcm9wb3J0aW9uLCBTY3JvbGxiYXJDb250cm9sUGFydE1hc2spCi17Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgV2ViQ2hy
b21lQ2xpZW50OjpwYWludEN1c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBGbG9hdFJlY3QmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNl
OwotfQotCiBib29sIFdlYkNocm9tZUNsaWVudDo6cGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBob3Jpem9udGFsT3ZlcmhhbmdB
cmVhLCBjb25zdCBJbnRSZWN0JiB2ZXJ0aWNhbE92ZXJoYW5nQXJlYSwgY29uc3QgSW50UmVjdCYg
ZGlydHlSZWN0KQogewogICAgIGlmICghbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCku
c2hvdWxkUGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAkocmV2aXNpb24gOTY0MTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsMTEgKzE1MSw2
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVk
RmlsZUZvclVwbG9hZChjb25zdCBTdHJpbmcmIHBhdGgsIFN0cmluZyYgZ2VuZXJhdGVkRmlsZW5h
bWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRlUmVwbGFjZW1lbnRGaWxl
KGNvbnN0IFN0cmluZyYgcGF0aCkgT1ZFUlJJREU7CiAgICAgCi0gICAgdmlydHVhbCBib29sIHBh
aW50Q3VzdG9tU2Nyb2xsYmFyKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYsIFdlYkNvcmU6OlNjcm9sbGJhckNvbnRyb2xTaXplLCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFN0
YXRlLCBXZWJDb3JlOjpTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0LCBib29sIHZlcnRpY2FsLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB2YWx1ZSwgZmxvYXQg
cHJvcG9ydGlvbiwgV2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFBhcnRNYXNrKSBPVkVSUklERTsK
LSAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDdXN0b21TY3JvbGxDb3JuZXIoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0KICAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRDdXN0b21PdmVyaGFuZ0FyZWEoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikgT1ZFUlJJREU7CiAKICAgICAvLyBUaGlzIGlzIGFuIGFz
eW5jaHJvbm91cyBjYWxsLiBUaGUgQ2hyb21lQ2xpZW50IGNhbiBkaXNwbGF5IFVJIGFza2luZyB0
aGUgdXNlciBmb3IgcGVybWlzc2lvbgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk2NDE4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wOS0zMCAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBjdXN0b20gc2Nyb2xsYmFyIHBh
aW50aW5nIGhvb2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02OTE2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNldHRp
bmdzSW1wbDo6c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKToKKwogMjAxMS0wOS0zMCAg
RWxsaW90IFBvZ2VyICA8ZXBvZ2VyQGdvb2dsZS5jb20+CiAKICAgICAgICAgd2Via2l0LT5jaHJv
bWl1bSBERVBTIHJvbGwgMTAyOTEwLT4xMDM0NzEKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gOTY0MTgpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldEZvbnRSZW5kZXJp
bmdNbwogCiB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxi
YXJzKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBtX3NldHRpbmdzLT5zZXRTaG91bGRQYWludEN1c3Rv
bVNjcm9sbGJhcnMoZW5hYmxlZCk7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlbW92
ZWQuCiB9CiAKIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zy
b21GaWxlVVJMcyhib29sIGFsbG93KQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gOTY0
MjUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMSBAQAorMjAxMS0wOS0zMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBjdXN0b20gc2Nyb2xsYmFyIHBhaW50aW5nIGhvb2tzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNl
cy9JV2ViUHJlZmVyZW5jZXMuaWRsOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnVudXNlZDMpOgorICAgICAg
ICAoV2ViUHJlZmVyZW5jZXM6OnVudXNlZDQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6
CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQpOgorCiAyMDExLTA5LTIzICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgV2ViS2l0QVBJVGVzdApJbmRleDogU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDk2NDE4KQorKysgU291
cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyNSw4ICsxMjUsNiBAQAogCiAjZGVmaW5lIFdlYktpdEF1dGhvckFuZFVzZXJTdHlsZXNF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQiCiAK
LSNkZWZpbmUgV2ViS2l0UGFpbnRDdXN0b21TY3JvbGxiYXJzUHJlZmVyZW5jZUtleSAiV2ViS2l0
UGFpbnRDdXN0b21TY3JvbGxiYXJzIgotCiAjZGVmaW5lIFdlYktpdFBhaW50TmF0aXZlQ29udHJv
bHNQcmVmZXJlbmNlS2V5ICJXZWJLaXRQYWludE5hdGl2ZUNvbnRyb2xzIgogCiAjZGVmaW5lIFdl
YktpdFpvb21zVGV4dE9ubHlQcmVmZXJlbmNlS2V5ICJXZWJLaXRab29tc1RleHRPbmx5IgpJbmRl
eDogU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gOTY0MTgpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEz
MTgsMTYgKzEzMTgsMTYgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q2FjaGVNb2RlbChX
ZQogICAgIHJldHVybiBTX09LOwogfQogCi1IUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRTaG91
bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoQk9PTCBzaG91bGRQYWludCkKK0hSRVNVTFQgV2ViUHJl
ZmVyZW5jZXM6OnVudXNlZDMoKQogewotICAgIHNldEJvb2xWYWx1ZShDRlNUUihXZWJLaXRQYWlu
dEN1c3RvbVNjcm9sbGJhcnNQcmVmZXJlbmNlS2V5KSwgc2hvdWxkUGFpbnQpOwotICAgIHJldHVy
biBTX09LOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBFX0ZBSUw7CiB9
CiAKLUhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhC
T09MKiBzaG91bGRQYWludCkKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnVudXNlZDQoKQogewot
ICAgICpzaG91bGRQYWludCA9IGJvb2xWYWx1ZUZvcktleShDRlNUUihXZWJLaXRQYWludEN1c3Rv
bVNjcm9sbGJhcnNQcmVmZXJlbmNlS2V5KSk7Ci0gICAgcmV0dXJuIFNfT0s7CisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEVfRkFJTDsKIH0KIAogSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6c2hvdWxkUGFpbnROYXRpdmVDb250cm9scyhCT09MKiBzaG91bGRQYWludCkKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gOTY0MTgpCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODYsMTEg
KzI4Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0Q2FjaGVNb2RlbCgKICAgICAgLyogW2luXSAqLyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
OwogCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3VsZFBhaW50
Q3VzdG9tU2Nyb2xsYmFycyggCi0gICAgLyogW2luXSAqLyBCT09MIHNob3VsZFBhaW50KTsKLQot
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzaG91bGRQYWludEN1c3RvbVNj
cm9sbGJhcnMoIAotICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCAqc2hvdWxkUGFpbnQpOwor
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1bnVzZWQzKCk7CisgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVudXNlZDQoKTsKIAogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBVkZvdW5kYXRpb25FbmFibGVkKAogICAgIC8q
IFtpbl0gKi8gQk9PTCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gOTY0MTgp
CisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcw
NSwxMSArNDcwNSw2IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UK
ICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLT5zZXRET01QYXN0ZUFsbG93ZWQoISFl
bmFibGVkKTsKIAotICAgIGhyID0gcHJlZmVyZW5jZXMtPnNob3VsZFBhaW50Q3VzdG9tU2Nyb2xs
YmFycygmZW5hYmxlZCk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsK
LSAgICBzZXR0aW5ncy0+c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKCEhZW5hYmxlZCk7
Ci0KICAgICBociA9IHByZWZlcmVuY2VzLT56b29tc1RleHRPbmx5KCZlbmFibGVkKTsKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdC93
aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbAkocmV2aXNpb24gOTY0MTgp
CisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTE4OCw4ICsxODgsOCBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2Vz
IDogSVVua25vd24KICAgICBIUkVTVUxUIGNhY2hlTW9kZWwoW291dCwgcmV0dmFsXSBXZWJDYWNo
ZU1vZGVsKiBjYWNoZU1vZGVsKTsKICAgICBIUkVTVUxUIHNldENhY2hlTW9kZWwoW2luXSBXZWJD
YWNoZU1vZGVsIGNhY2hlTW9kZWwpOwogCi0gICAgSFJFU1VMVCBzZXRTaG91bGRQYWludEN1c3Rv
bVNjcm9sbGJhcnMoQk9PTCBzaG91bGRQYWludCk7Ci0gICAgSFJFU1VMVCBzaG91bGRQYWludEN1
c3RvbVNjcm9sbGJhcnMoQk9PTCAqc2hvdWxkUGFpbnQpOworICAgIEhSRVNVTFQgdW51c2VkMygp
OworICAgIEhSRVNVTFQgdW51c2VkNCgpOwogCiAgICAgSFJFU1VMVCBzZXRab29tc1RleHRPbmx5
KEJPT0wgem9vbXNUZXh0T25seSk7CiAgICAgSFJFU1VMVCB6b29tc1RleHRPbmx5KEJPT0wgKnpv
b21zVGV4dE9ubHkpOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZpc2lvbiA5NjQxOCkKKysrIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTY0Myw4OSArNjQzLDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlz
aXRlZExpbgogICAgIGhpc3RvcnktPmFkZFZpc2l0ZWRMaW5rc1RvUGFnZUdyb3VwKG1fd2ViVmll
dy0+cGFnZSgpLT5ncm91cCgpKTsKIH0KIAotYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnBhaW50Q3Vz
dG9tU2Nyb2xsYmFyKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBy
ZWN0LCBTY3JvbGxiYXJDb250cm9sU2l6ZSBzaXplLCAKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTY3JvbGxiYXJDb250cm9sU3RhdGUgc3RhdGUsIFNjcm9sbGJh
clBhcnQgcHJlc3NlZFBhcnQsIGJvb2wgdmVydGljYWwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmxvYXQgdmFsdWUsIGZsb2F0IHByb3BvcnRpb24sIFNjcm9s
bGJhckNvbnRyb2xQYXJ0TWFzayBwYXJ0cykKLXsKLSAgICBpZiAoY29udGV4dC0+cGFpbnRpbmdE
aXNhYmxlZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBDT01QdHI8SVdlYlVJRGVs
ZWdhdGU+IGRlbGVnYXRlID0gdWlEZWxlZ2F0ZSgpOwotICAgIGlmICghZGVsZWdhdGUpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIFdlYlNjcm9sbGJhckNvbnRyb2xQYXJ0TWFzayB3ZWJQ
YXJ0cyA9IFdlYk5vU2Nyb2xsUGFydDsKLSAgICBpZiAocGFydHMgJiBCYWNrQnV0dG9uU3RhcnRQ
YXJ0KSAvLyBGSVhNRTogSHlhdHQsIHdoYXQgYWJvdXQgQmFja0J1dHRvbkVuZFBhcnQ/Ci0gICAg
ICAgIHdlYlBhcnRzIHw9IFdlYkJhY2tCdXR0b25QYXJ0OwotICAgIGlmIChwYXJ0cyAmIEJhY2tU
cmFja1BhcnQpCi0gICAgICAgIHdlYlBhcnRzIHw9IFdlYkJhY2tUcmFja1BhcnQ7Ci0gICAgaWYg
KHBhcnRzICYgVGh1bWJQYXJ0KQotICAgICAgICB3ZWJQYXJ0cyB8PSBXZWJUaHVtYlBhcnQ7Ci0g
ICAgaWYgKHBhcnRzICYgRm9yd2FyZFRyYWNrUGFydCkKLSAgICAgICAgd2ViUGFydHMgfD0gV2Vi
Rm9yd2FyZFRyYWNrUGFydDsKLSAgICBpZiAocGFydHMgJiBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0
KSAvLyBGSVhNRTogSHlhdHQsIHdoYXQgYWJvdXQgRm9yd2FyZEJ1dHRvbkVuZFBhcnQ/Ci0gICAg
ICAgIHdlYlBhcnRzIHw9IFdlYkZvcndhcmRCdXR0b25QYXJ0OwotCi0gICAgV2ViU2Nyb2xsYmFy
Q29udHJvbFBhcnQgd2ViUHJlc3NlZFBhcnQgPSBXZWJOb1Njcm9sbFBhcnQ7Ci0gICAgc3dpdGNo
IChwcmVzc2VkUGFydCkgewotICAgICAgICBjYXNlIEJhY2tCdXR0b25TdGFydFBhcnQ6IC8vIEZJ
WE1FOiBIeWF0dCwgd2hhdCBhYm91dCBCYWNrQnV0dG9uRW5kUGFydD8KLSAgICAgICAgICAgIHdl
YlByZXNzZWRQYXJ0ID0gV2ViQmFja0J1dHRvblBhcnQ7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSBCYWNrVHJhY2tQYXJ0OgotICAgICAgICAgICAgd2ViUHJlc3NlZFBhcnQgPSBX
ZWJCYWNrVHJhY2tQYXJ0OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVGh1bWJQ
YXJ0OgotICAgICAgICAgICAgd2ViUHJlc3NlZFBhcnQgPSBXZWJUaHVtYlBhcnQ7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBGb3J3YXJkVHJhY2tQYXJ0OgotICAgICAgICAgICAg
d2ViUHJlc3NlZFBhcnQgPSBXZWJGb3J3YXJkVHJhY2tQYXJ0OwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgRm9yd2FyZEJ1dHRvblN0YXJ0UGFydDogLy8gRklYTUU6IEh5YXR0LCB3
aGF0IGFib3V0IEZvcndhcmRCdXR0b25FbmRQYXJ0PwotICAgICAgICAgICAgd2ViUHJlc3NlZFBh
cnQgPSBXZWJGb3J3YXJkQnV0dG9uUGFydDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgV2ViU2Nyb2xsQmFyQ29u
dHJvbFNpemUgd2ViU2l6ZTsKLSAgICBzd2l0Y2ggKHNpemUpIHsKLSAgICAgICAgY2FzZSBTbWFs
bFNjcm9sbGJhcjoKLSAgICAgICAgICAgIHdlYlNpemUgPSBXZWJTbWFsbFNjcm9sbGJhcjsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJlZ3VsYXJTY3JvbGxiYXI6Ci0gICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICB3ZWJTaXplID0gV2ViUmVndWxhclNjcm9sbGJhcjsKLSAg
ICB9Ci0gICAgV2ViU2Nyb2xsYmFyQ29udHJvbFN0YXRlIHdlYlN0YXRlID0gMDsKLSAgICBpZiAo
c3RhdGUgJiBBY3RpdmVTY3JvbGxiYXJTdGF0ZSkKLSAgICAgICAgd2ViU3RhdGUgfD0gV2ViQWN0
aXZlU2Nyb2xsYmFyU3RhdGU7Ci0gICAgaWYgKHN0YXRlICYgRW5hYmxlZFNjcm9sbGJhclN0YXRl
KQotICAgICAgICB3ZWJTdGF0ZSB8PSBXZWJFbmFibGVkU2Nyb2xsYmFyU3RhdGU7Ci0gICAgaWYg
KHN0YXRlICYgUHJlc3NlZFNjcm9sbGJhclN0YXRlKQotICAgICAgICB3ZWJTdGF0ZSB8PSBXZWJQ
cmVzc2VkU2Nyb2xsYmFyU3RhdGU7Ci0gICAgCi0gICAgUkVDVCB3ZWJSZWN0ID0gZW5jbG9zaW5n
SW50UmVjdChyZWN0KTsKLSAgICBMb2NhbFdpbmRvd3NDb250ZXh0IHdpbmRvd3NDb250ZXh0KGNv
bnRleHQsIHdlYlJlY3QpOwotICAgIEhSRVNVTFQgaHIgPSBkZWxlZ2F0ZS0+cGFpbnRDdXN0b21T
Y3JvbGxiYXIobV93ZWJWaWV3LCB3aW5kb3dzQ29udGV4dC5oZGMoKSwgd2ViUmVjdCwgd2ViU2l6
ZSwgd2ViU3RhdGUsIHdlYlByZXNzZWRQYXJ0LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbCwgdmFsdWUsIHByb3BvcnRp
b24sIHdlYlBhcnRzKTsKLSAgICByZXR1cm4gU1VDQ0VFREVEKGhyKTsKLX0KLQotYm9vbCBXZWJD
aHJvbWVDbGllbnQ6OnBhaW50Q3VzdG9tU2Nyb2xsQ29ybmVyKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQotewotICAgIGlmIChjb250ZXh0LT5wYWludGlu
Z0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIENPTVB0cjxJV2ViVUlE
ZWxlZ2F0ZT4gZGVsZWdhdGUgPSB1aURlbGVnYXRlKCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgUkVDVCB3ZWJSZWN0ID0gZW5jbG9zaW5nSW50UmVj
dChyZWN0KTsKLSAgICBMb2NhbFdpbmRvd3NDb250ZXh0IHdpbmRvd3NDb250ZXh0KGNvbnRleHQs
IHdlYlJlY3QpOwotICAgIEhSRVNVTFQgaHIgPSBkZWxlZ2F0ZS0+cGFpbnRDdXN0b21TY3JvbGxD
b3JuZXIobV93ZWJWaWV3LCB3aW5kb3dzQ29udGV4dC5oZGMoKSwgd2ViUmVjdCk7Ci0gICAgcmV0
dXJuIFNVQ0NFRURFRChocik7Ci19Ci0KIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFu
ZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hvb3NlcikKIHsKICAg
ICBSZWZQdHI8RmlsZUNob29zZXI+IGZpbGVDaG9vc2VyID0gcHJwRmlsZUNob29zZXI7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAkocmV2aXNpb24gOTY0MTgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDExICsxMjYsNiBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKIAotICAg
IHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNjcm9sbGJhcihXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBXZWJDb3JlOjpTY3JvbGxiYXJDb250cm9s
U2l6ZSwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6
U2Nyb2xsYmFyQ29udHJvbFN0YXRlLCBXZWJDb3JlOjpTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0
LCBib29sIHZlcnRpY2FsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsb2F0IHZhbHVlLCBmbG9hdCBwcm9wb3J0aW9uLCBXZWJDb3JlOjpTY3JvbGxiYXJDb250cm9s
UGFydE1hc2spOwotICAgIHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNjcm9sbENvcm5lcihXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKLQogICAg
IHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdl
YkNvcmU6OkZpbGVDaG9vc2VyPik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMo
Y29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIFdlYkNvcmU6OkZpbGVJY29uTG9hZGVyKik7CiAK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk2NDE4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTEtMDktMzAgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgY3VzdG9tIHNjcm9sbGJhciBwYWludGluZyBob29rcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNjMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2Vz
OjphcHBseVRvKToKKyAgICAgICAgTm8gbmVlZCB0byBlbmFibGUgY3VzdG9tIHNjcm9sbGJhciBw
YWludGluZy4KKwogMjAxMS0wOS0zMCAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Ri
b0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBQcmV2ZW50IHFEZWJ1ZygpIG91dHB1dCBmcm9t
IERSVCBhbmQgV1RSIHVubGVzcyAtLXZlcmJvc2UKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDk2NDE4KQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzAsNyArMTcwLDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhX
ZWJWaWV3KiB3ZQogICAgIHNldHRpbmdzLT5zZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkKGhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQpOwogCiAgICAgLy8gRml4ZWQgdmFs
dWVzLgotICAgIHNldHRpbmdzLT5zZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnModHJ1ZSk7
CiAgICAgc2V0dGluZ3MtPnNldFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3JO
ZXZlckluY2x1ZGVkKCk7CiAgICAgc2V0dGluZ3MtPnNldERvd25sb2FkYWJsZUJpbmFyeUZvbnRz
RW5hYmxlZCh0cnVlKTsKICAgICBzZXR0aW5ncy0+c2V0QWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRv
d3MoZmFsc2UpOwo=
</data>
<flag name="review"
          id="106585"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>