<?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>155301</bug_id>
          
          <creation_ts>2016-03-10 09:49:36 -0800</creation_ts>
          <short_desc>REGRESSION(r197923): Rolling out this change due to breaking the build and LayoutTests. (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-03-10 09:55:09 -0800</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>WebKit 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>
          
          <blocked>23364</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1173126</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 09:49:36 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/197923 broke the build:
Rolling out this change due to breaking the build and LayoutTests. (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173128</commentid>
    <comment_count>1</comment_count>
      <attachid>273577</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 09:50:13 -0800</bug_when>
    <thetext>Created attachment 273577
ROLLOUT of r197923

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173130</commentid>
    <comment_count>2</comment_count>
      <attachid>273577</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-03-10 09:55:06 -0800</bug_when>
    <thetext>Comment on attachment 273577
ROLLOUT of r197923

Clearing flags on attachment: 273577

Committed r197941: &lt;http://trac.webkit.org/changeset/197941&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173131</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-03-10 09:55:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273577</attachid>
            <date>2016-03-10 09:50:13 -0800</date>
            <delta_ts>2016-03-10 09:55:06 -0800</delta_ts>
            <desc>ROLLOUT of r197923</desc>
            <filename>bug-155301-20160310095001.patch</filename>
            <type>text/plain</type>
            <size>30154</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3OTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc1NGI5YzQ0NzM1ZDYy
Zjg3YjU4MGEzZjI0NmRiZGE5ODEzZmE3OS4uODdmNGNlMTcwZjdmOTFiYzMyYzI0YTIyZTA1MzA4
YWNhNzMyYTI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTAzLTEwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTk3OTIzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU1MzAxCisKKyAgICAgICAgUm9sbGluZyBvdXQgdGhpcyBjaGFuZ2Ug
ZHVlIHRvIGJyZWFraW5nIHRoZSBidWlsZCBhbmQKKyAgICAgICAgTGF5b3V0VGVzdHMuIChSZXF1
ZXN0ZWQgYnkgcnlhbmhhZGRhZCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFu
Z2VzZXQ6CisKKyAgICAgICAgIkZvbnQgYW50aWFsaWFzaW5nIChzbW9vdGhpbmcpIGNoYW5nZXMg
d2hlbiBlbGVtZW50cyBhcmUKKyAgICAgICAgcmVuZGVyZWQgaW50byBjb21wb3NpdGluZyBsYXll
cnMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2
NAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTc5MjMKKwogMjAx
Ni0wMy0xMCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgQ1NQ
OiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgaW5saW5lIHNjcmlwdCBhbmQgaW5saW5lIHN0eWxlIGhh
c2hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDYxMDAyZjgwZjhkZDVkOWM1OTdkODcwYWQ0Yjg2OTljYzJlNGIz
ZTUuLjBlMjY2NmMyZjRkM2QyZTdkNWEzNTk0ZmMzMmNjMzg5Y2IzMTNjYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxNi0wMy0xMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5NzkyMy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTMwMQor
CisgICAgICAgIFJvbGxpbmcgb3V0IHRoaXMgY2hhbmdlIGR1ZSB0byBicmVha2luZyB0aGUgYnVp
bGQgYW5kCisgICAgICAgIExheW91dFRlc3RzLiAoUmVxdWVzdGVkIGJ5IHJ5YW5oYWRkYWQgb24g
I3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJGb250
IGFudGlhbGlhc2luZyAoc21vb3RoaW5nKSBjaGFuZ2VzIHdoZW4gZWxlbWVudHMgYXJlCisgICAg
ICAgIHJlbmRlcmVkIGludG8gY29tcG9zaXRpbmcgbGF5ZXJzIgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjQKKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTk3OTIzCisKIDIwMTYtMDMtMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTcGVjdWxhdGl2ZSByZXZhbGlkYXRpb24gcmVx
dWVzdHMgZG8gbm90IGhhdmUgdGhlaXIgJ2ZpcnN0IHBhcnR5IGZvciBjb29raWVzJyBVUkwgc2V0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
Y3BwCmluZGV4IDhkODFhOWFmNWEzYWRmMTgyM2U3Yjc1ZDZlOTM3ZjFmMjBhYjY3MjQuLjM0MTFm
ZTA2NTJlMTAwNjNhYjJkNWMwNWE5NmZjMmFiOTlmYjEyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMDUsMTMgKzEw
NSw2IEBAIGJvb2wgR3JhcGhpY3NMYXllcjo6c3VwcG9ydHNDb250ZW50c1RpbGluZygpCiB9CiAj
ZW5kaWYKIAotI2lmICFVU0UoQ0EpCi1ib29sIEdyYXBoaWNzTGF5ZXI6OnN1cHBvcnRzU21vb3Ro
ZWRGb250c0luTm9uT3BhcXVlTGF5ZXJzKCkKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZW5k
aWYKLQogR3JhcGhpY3NMYXllcjo6R3JhcGhpY3NMYXllcihUeXBlIHR5cGUsIEdyYXBoaWNzTGF5
ZXJDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fYW5jaG9y
UG9pbnQoMC41ZiwgMC41ZiwgMCkKQEAgLTEyMiw3ICsxMTUsNiBAQCBHcmFwaGljc0xheWVyOjpH
cmFwaGljc0xheWVyKFR5cGUgdHlwZSwgR3JhcGhpY3NMYXllckNsaWVudCYgY2xpZW50KQogI2Vu
ZGlmCiAgICAgLCBtX3R5cGUodHlwZSkKICAgICAsIG1fY29udGVudHNPcGFxdWUoZmFsc2UpCi0g
ICAgLCBtX3N1cHBvcnRzU21vb3RoZWRGb250cyhmYWxzZSkKICAgICAsIG1fcHJlc2VydmVzM0Qo
ZmFsc2UpCiAgICAgLCBtX2JhY2tmYWNlVmlzaWJpbGl0eSh0cnVlKQogICAgICwgbV91c2luZ1Rp
bGVkQmFja2luZyhmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuaAppbmRleCAzODc1YjUwOTY3ZTEyZTFlNWQyNGI1YjBkYjgyNmFmNGRm
ZTE0NDQzLi44MzVmOTZhMzM3MDcxODk2YzkxNjgxY2JlNTczYTk5YTEzYTM3NzYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC0z
NjQsOSArMzY0LDYgQEAgcHVibGljOgogICAgIGJvb2wgY29udGVudHNPcGFxdWUoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRlbnRzT3BhcXVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRz
T3BhcXVlKGJvb2wgYikgeyBtX2NvbnRlbnRzT3BhcXVlID0gYjsgfQogCi0gICAgYm9vbCBzdXBw
b3J0c1Ntb290aGVkRm9udHMoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzU21vb3RoZWRGb250
czsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRTdXBwb3J0c1Ntb290aGVkRm9udHMoYm9vbCBiKSB7
IG1fc3VwcG9ydHNTbW9vdGhlZEZvbnRzID0gYjsgfQotCiAgICAgYm9vbCBiYWNrZmFjZVZpc2li
aWxpdHkoKSBjb25zdCB7IHJldHVybiBtX2JhY2tmYWNlVmlzaWJpbGl0eTsgfQogICAgIHZpcnR1
YWwgdm9pZCBzZXRCYWNrZmFjZVZpc2liaWxpdHkoYm9vbCBiKSB7IG1fYmFja2ZhY2VWaXNpYmls
aXR5ID0gYjsgfQogCkBAIC01NDMsNyArNTQwLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IHN1cHBvcnRzQmFja2dyb3VuZENvbG9yQ29udGVudCgpOwogICAgIHN0YXRpYyBib29sIHN1cHBv
cnRzTGF5ZXJUeXBlKFR5cGUpOwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzQ29udGVudHNUaWxp
bmcoKTsKLSAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1Ntb290aGVkRm9udHNJbk5vbk9wYXF1ZUxh
eWVycygpOwogCiAgICAgdm9pZCB1cGRhdGVEZWJ1Z0luZGljYXRvcnMoKTsKIApAQCAtNjE3LDcg
KzYxMyw2IEBAIHByb3RlY3RlZDoKICAgICBjb25zdCBUeXBlIG1fdHlwZTsKIAogICAgIGJvb2wg
bV9jb250ZW50c09wYXF1ZSA6IDE7Ci0gICAgYm9vbCBtX3N1cHBvcnRzU21vb3RoZWRGb250cyA6
IDE7CiAgICAgYm9vbCBtX3ByZXNlcnZlczNEOiAxOwogICAgIGJvb2wgbV9iYWNrZmFjZVZpc2li
aWxpdHkgOiAxOwogICAgIGJvb2wgbV91c2luZ1RpbGVkQmFja2luZyA6IDE7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oCmluZGV4IDBjOGFjMDZh
OTViNDMzNDU3NGIyNmU5ZmQ1NzJiMTg2NDc1ZTA5NjUuLmQ2NDU2YTUwYmE3ZjRhNDczZjhkMDk3
ZDQ2M2Y3ZDQxZGM3ZGJmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZy5oCkBAIC03OSw4ICs3OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgc2V0VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUb3BDb250ZW50SW5zZXQoZmxvYXQpID0gMDsK
IAotICAgIHZpcnR1YWwgdm9pZCBzZXRUaWxlQ29udGVudHNGb3JtYXRGbGFncyh1bnNpZ25lZCkg
PSAwOwotCiAgICAgdmlydHVhbCB2b2lkIHNldFZlbG9jaXR5KGNvbnN0IFZlbG9jaXR5RGF0YSYp
ID0gMDsKICAgICAKICAgICBlbnVtIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IDVmOGI3ZWE5ODQ3MTcw
YzE4ZmRjYzJkYTYyOWUxYTJkNWIzYzg5YWIuLjIzMGE4ZjZiNzIxYjUxNWEzMWU1MjAyNmVmYjBk
ZWE0ZDRjMDAwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApAQCAtMzA5LDE0ICszMDksNiBAQCBib29sIEdy
YXBoaWNzTGF5ZXI6OnN1cHBvcnRzQmFja2dyb3VuZENvbG9yQ29udGVudCgpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgR3JhcGhpY3NMYXllcjo6c3VwcG9ydHNTbW9vdGhlZEZvbnRzSW5O
b25PcGFxdWVMYXllcnMoKQotewotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotICAg
IHJldHVybiBmYWxzZTsKLX0KLQogc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5ZXI+IEdyYXBo
aWNzTGF5ZXI6OmNyZWF0ZShHcmFwaGljc0xheWVyRmFjdG9yeSogZmFjdG9yeSwgR3JhcGhpY3NM
YXllckNsaWVudCYgY2xpZW50LCBUeXBlIGxheWVyVHlwZSkKIHsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8R3JhcGhpY3NMYXllcj4gZ3JhcGhpY3NMYXllcjsKQEAgLTcxNywxNSArNzA5LDYgQEAgdm9p
ZCBHcmFwaGljc0xheWVyQ0E6OnNldENvbnRlbnRzT3BhcXVlKGJvb2wgb3BhcXVlKQogICAgIG5v
dGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c09wYXF1ZUNoYW5nZWQpOwogfQogCi12b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6c2V0U3VwcG9ydHNTbW9vdGhlZEZvbnRzKGJvb2wgc3VwcG9ydHNT
bW9vdGhlZEZvbnRzKQotewotICAgIGlmIChtX3N1cHBvcnRzU21vb3RoZWRGb250cyA9PSBzdXBw
b3J0c1Ntb290aGVkRm9udHMpCi0gICAgICAgIHJldHVybjsKLQotICAgIEdyYXBoaWNzTGF5ZXI6
OnNldFN1cHBvcnRzU21vb3RoZWRGb250cyhzdXBwb3J0c1Ntb290aGVkRm9udHMpOwotICAgIG5v
dGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c0Zvcm1hdENoYW5nZWQpOwotfQotCiB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6c2V0QmFja2ZhY2VWaXNpYmlsaXR5KGJvb2wgdmlzaWJsZSkKIHsK
ICAgICBpZiAobV9iYWNrZmFjZVZpc2liaWxpdHkgPT0gdmlzaWJsZSkKQEAgLTE1OTcsOSArMTU4
MCw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJs
YXllcnMoQ29tbWl0U3RhdGUmIGNvbW1pdFN0YXRlCiAgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFu
Z2VzICYgQ29udGVudHNPcGFxdWVDaGFuZ2VkKQogICAgICAgICB1cGRhdGVDb250ZW50c09wYXF1
ZShwYWdlU2NhbGVGYWN0b3IpOwogCi0gICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ29u
dGVudHNGb3JtYXRDaGFuZ2VkKQotICAgICAgICB1cGRhdGVDb250ZW50c0Zvcm1hdCgpOwotCiAg
ICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQmFja2ZhY2VWaXNpYmlsaXR5Q2hhbmdlZCkK
ICAgICAgICAgdXBkYXRlQmFja2ZhY2VWaXNpYmlsaXR5KCk7CiAKQEAgLTE5MTAsMjAgKzE4OTAs
NiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQ29udGVudHNPcGFxdWUoZmxvYXQgcGFn
ZVNjYWxlRmFjdG9yKQogICAgIH0KIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUNv
bnRlbnRzRm9ybWF0KCkKLXsKLSAgICBQbGF0Zm9ybUNBTGF5ZXI6OkNvbnRlbnRzRm9ybWF0Rmxh
Z3MgZm9ybWF0RmxhZ3MgPSAwOwotICAgIGlmIChzdXBwb3J0c1Ntb290aGVkRm9udHMoKSkKLSAg
ICAgICAgZm9ybWF0RmxhZ3MgfD0gUGxhdGZvcm1DQUxheWVyOjpTbW9vdGhlZEZvbnRzOwotCi0g
ICAgbV9sYXllci0+c2V0Q29udGVudHNGb3JtYXQoZm9ybWF0RmxhZ3MpOwotCi0gICAgaWYgKExh
eWVyTWFwKiBsYXllckNsb25lTWFwID0gbV9sYXllckNsb25lcy5nZXQoKSkgewotICAgICAgICBm
b3IgKGF1dG8mIGxheWVyIDogbGF5ZXJDbG9uZU1hcC0+dmFsdWVzKCkpCi0gICAgICAgICAgICBs
YXllci0+c2V0Q29udGVudHNGb3JtYXQoZm9ybWF0RmxhZ3MpOwotICAgIH0KLX0KLQogdm9pZCBH
cmFwaGljc0xheWVyQ0E6OnVwZGF0ZUJhY2tmYWNlVmlzaWJpbGl0eSgpCiB7CiAgICAgaWYgKG1f
c3RydWN0dXJhbExheWVyICYmIHN0cnVjdHVyYWxMYXllclB1cnBvc2UoKSA9PSBTdHJ1Y3R1cmFs
TGF5ZXJGb3JSZXBsaWNhRmxhdHRlbmluZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCAyYWQ0M2JjYjU1MDE2
NDc5YjNjZDMyZWM2ZmYwMWY4M2Q4NTNkMzkwLi5hNDZiYTMxMGYyNmRhMzM0NDYxZjk1YjU4YmM1
MjcxNjJjMWRiYjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtOTUsOCArOTUsNiBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImKSBvdmVy
cmlkZTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q29udGVudHNPcGFxdWUoYm9vbCkg
b3ZlcnJpZGU7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdXBwb3J0c1Ntb290aGVkRm9u
dHMoYm9vbCkgb3ZlcnJpZGU7Ci0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEJhY2tmYWNl
VmlzaWJpbGl0eShib29sKSBvdmVycmlkZTsKIAogICAgIC8vIHJldHVybiB0cnVlIGlmIHdlIHN0
YXJ0ZWQgYW4gYW5pbWF0aW9uCkBAIC0zOTMsNyArMzkxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZU1hc2tzVG9Cb3VuZHMoKTsKICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0
eSgpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudHNPcGFxdWUoZmxvYXQgcGFnZVNjYWxlRmFjdG9y
KTsKLSAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzRm9ybWF0KCk7CiAgICAgdm9pZCB1cGRhdGVCYWNr
ZmFjZVZpc2liaWxpdHkoKTsKICAgICB2b2lkIHVwZGF0ZVN0cnVjdHVyYWxMYXllcigpOwogICAg
IHZvaWQgdXBkYXRlRHJhd3NDb250ZW50KCk7CkBAIC00NTgsNDQgKzQ1NSw0MyBAQCBwcml2YXRl
OgogICAgIGJvb2wgYXBwZW5kVG9VbmNvbW1pdHRlZEFuaW1hdGlvbnMoY29uc3QgS2V5ZnJhbWVW
YWx1ZUxpc3QmLCBjb25zdCBGaWx0ZXJPcGVyYXRpb24qLCBjb25zdCBBbmltYXRpb24qLCBjb25z
dCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUsIGludCBhbmltYXRpb25JbmRleCwgZG91YmxlIHRpbWVP
ZmZzZXQpOwogCiAgICAgZW51bSBMYXllckNoYW5nZSA6IHVpbnQ2NF90IHsKLSAgICAgICAgTm9D
aGFuZ2UgICAgICAgICAgICAgICAgICAgICAgICA9IDAsCi0gICAgICAgIE5hbWVDaGFuZ2VkICAg
ICAgICAgICAgICAgICAgICAgPSAxTExVIDw8IDEsCi0gICAgICAgIENoaWxkcmVuQ2hhbmdlZCAg
ICAgICAgICAgICAgICAgPSAxTExVIDw8IDIsIC8vIGFsc28gdXNlZCBmb3IgY29udGVudCBsYXll
ciwgYW5kIHByZXNlcnZlcy0zZCwgYW5kIHNpemUgaWYgdGlsaW5nIGNoYW5nZXM/Ci0gICAgICAg
IEdlb21ldHJ5Q2hhbmdlZCAgICAgICAgICAgICAgICAgPSAxTExVIDw8IDMsCi0gICAgICAgIFRy
YW5zZm9ybUNoYW5nZWQgICAgICAgICAgICAgICAgPSAxTExVIDw8IDQsCi0gICAgICAgIENoaWxk
cmVuVHJhbnNmb3JtQ2hhbmdlZCAgICAgICAgPSAxTExVIDw8IDUsCi0gICAgICAgIFByZXNlcnZl
czNEQ2hhbmdlZCAgICAgICAgICAgICAgPSAxTExVIDw8IDYsCi0gICAgICAgIE1hc2tzVG9Cb3Vu
ZHNDaGFuZ2VkICAgICAgICAgICAgPSAxTExVIDw8IDcsCi0gICAgICAgIERyYXdzQ29udGVudENo
YW5nZWQgICAgICAgICAgICAgPSAxTExVIDw8IDgsCi0gICAgICAgIEJhY2tncm91bmRDb2xvckNo
YW5nZWQgICAgICAgICAgPSAxTExVIDw8IDksCi0gICAgICAgIENvbnRlbnRzT3BhcXVlQ2hhbmdl
ZCAgICAgICAgICAgPSAxTExVIDw8IDEwLAotICAgICAgICBDb250ZW50c0Zvcm1hdENoYW5nZWQg
ICAgICAgICAgID0gMUxMVSA8PCAxMSwKLSAgICAgICAgQmFja2ZhY2VWaXNpYmlsaXR5Q2hhbmdl
ZCAgICAgICA9IDFMTFUgPDwgMTIsCi0gICAgICAgIE9wYWNpdHlDaGFuZ2VkICAgICAgICAgICAg
ICAgICAgPSAxTExVIDw8IDEzLAotICAgICAgICBBbmltYXRpb25DaGFuZ2VkICAgICAgICAgICAg
ICAgID0gMUxMVSA8PCAxNCwKLSAgICAgICAgRGlydHlSZWN0c0NoYW5nZWQgICAgICAgICAgICAg
ICA9IDFMTFUgPDwgMTUsCi0gICAgICAgIENvbnRlbnRzSW1hZ2VDaGFuZ2VkICAgICAgICAgICAg
PSAxTExVIDw8IDE2LAotICAgICAgICBDb250ZW50c1BsYXRmb3JtTGF5ZXJDaGFuZ2VkICAgID0g
MUxMVSA8PCAxNywKLSAgICAgICAgQ29udGVudHNDb2xvckxheWVyQ2hhbmdlZCAgICAgICA9IDFM
TFUgPDwgMTgsCi0gICAgICAgIENvbnRlbnRzUmVjdHNDaGFuZ2VkICAgICAgICAgICAgPSAxTExV
IDw8IDE5LAotICAgICAgICBNYXNrc1RvQm91bmRzUmVjdENoYW5nZWQgICAgICAgID0gMUxMVSA8
PCAyMCwKLSAgICAgICAgTWFza0xheWVyQ2hhbmdlZCAgICAgICAgICAgICAgICA9IDFMTFUgPDwg
MjEsCi0gICAgICAgIFJlcGxpY2F0ZWRMYXllckNoYW5nZWQgICAgICAgICAgPSAxTExVIDw8IDIy
LAotICAgICAgICBDb250ZW50c05lZWRzRGlzcGxheSAgICAgICAgICAgID0gMUxMVSA8PCAyMywK
LSAgICAgICAgQWNjZWxlcmF0ZXNEcmF3aW5nQ2hhbmdlZCAgICAgICA9IDFMTFUgPDwgMjQsCi0g
ICAgICAgIENvbnRlbnRzU2NhbGVDaGFuZ2VkICAgICAgICAgICAgPSAxTExVIDw8IDI1LAotICAg
ICAgICBDb250ZW50c1Zpc2liaWxpdHlDaGFuZ2VkICAgICAgID0gMUxMVSA8PCAyNiwKLSAgICAg
ICAgQ292ZXJhZ2VSZWN0Q2hhbmdlZCAgICAgICAgICAgICA9IDFMTFUgPDwgMjcsCi0gICAgICAg
IEZpbHRlcnNDaGFuZ2VkICAgICAgICAgICAgICAgICAgPSAxTExVIDw8IDI4LAotICAgICAgICBC
YWNrZHJvcEZpbHRlcnNDaGFuZ2VkICAgICAgICAgID0gMUxMVSA8PCAyOSwKLSAgICAgICAgQmFj
a2Ryb3BGaWx0ZXJzUmVjdENoYW5nZWQgICAgICA9IDFMTFUgPDwgMzAsCi0gICAgICAgIFRpbGlu
Z0FyZWFDaGFuZ2VkICAgICAgICAgICAgICAgPSAxTExVIDw8IDMxLAotICAgICAgICBUaWxlc0Fk
ZGVkICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSA8PCAzMiwKLSAgICAgICAgRGVidWdJbmRp
Y2F0b3JzQ2hhbmdlZCAgICAgICAgICA9IDFMTFUgPDwgMzMsCi0gICAgICAgIEN1c3RvbUFwcGVh
cmFuY2VDaGFuZ2VkICAgICAgICAgPSAxTExVIDw8IDM0LAotICAgICAgICBCbGVuZE1vZGVDaGFu
Z2VkICAgICAgICAgICAgICAgID0gMUxMVSA8PCAzNSwKLSAgICAgICAgU2hhcGVDaGFuZ2VkICAg
ICAgICAgICAgICAgICAgICA9IDFMTFUgPDwgMzYsCi0gICAgICAgIFdpbmRSdWxlQ2hhbmdlZCAg
ICAgICAgICAgICAgICAgPSAxTExVIDw8IDM3LAorICAgICAgICBOb0NoYW5nZSA9ICAgICAgICAg
ICAgICAgICAgICAgIDAsCisgICAgICAgIE5hbWVDaGFuZ2VkID0gICAgICAgICAgICAgICAgICAg
MUxMVSA8PCAxLAorICAgICAgICBDaGlsZHJlbkNoYW5nZWQgPSAgICAgICAgICAgICAgIDFMTFUg
PDwgMiwgLy8gYWxzbyB1c2VkIGZvciBjb250ZW50IGxheWVyLCBhbmQgcHJlc2VydmVzLTNkLCBh
bmQgc2l6ZSBpZiB0aWxpbmcgY2hhbmdlcz8KKyAgICAgICAgR2VvbWV0cnlDaGFuZ2VkID0gICAg
ICAgICAgICAgICAxTExVIDw8IDMsCisgICAgICAgIFRyYW5zZm9ybUNoYW5nZWQgPSAgICAgICAg
ICAgICAgMUxMVSA8PCA0LAorICAgICAgICBDaGlsZHJlblRyYW5zZm9ybUNoYW5nZWQgPSAgICAg
IDFMTFUgPDwgNSwKKyAgICAgICAgUHJlc2VydmVzM0RDaGFuZ2VkID0gICAgICAgICAgICAxTExV
IDw8IDYsCisgICAgICAgIE1hc2tzVG9Cb3VuZHNDaGFuZ2VkID0gICAgICAgICAgMUxMVSA8PCA3
LAorICAgICAgICBEcmF3c0NvbnRlbnRDaGFuZ2VkID0gICAgICAgICAgIDFMTFUgPDwgOCwKKyAg
ICAgICAgQmFja2dyb3VuZENvbG9yQ2hhbmdlZCA9ICAgICAgICAxTExVIDw8IDksCisgICAgICAg
IENvbnRlbnRzT3BhcXVlQ2hhbmdlZCA9ICAgICAgICAgMUxMVSA8PCAxMCwKKyAgICAgICAgQmFj
a2ZhY2VWaXNpYmlsaXR5Q2hhbmdlZCA9ICAgICAxTExVIDw8IDExLAorICAgICAgICBPcGFjaXR5
Q2hhbmdlZCA9ICAgICAgICAgICAgICAgIDFMTFUgPDwgMTIsCisgICAgICAgIEFuaW1hdGlvbkNo
YW5nZWQgPSAgICAgICAgICAgICAgMUxMVSA8PCAxMywKKyAgICAgICAgRGlydHlSZWN0c0NoYW5n
ZWQgPSAgICAgICAgICAgICAxTExVIDw8IDE0LAorICAgICAgICBDb250ZW50c0ltYWdlQ2hhbmdl
ZCA9ICAgICAgICAgIDFMTFUgPDwgMTUsCisgICAgICAgIENvbnRlbnRzUGxhdGZvcm1MYXllckNo
YW5nZWQgPSAgMUxMVSA8PCAxNiwKKyAgICAgICAgQ29udGVudHNDb2xvckxheWVyQ2hhbmdlZCA9
ICAgICAxTExVIDw8IDE3LAorICAgICAgICBDb250ZW50c1JlY3RzQ2hhbmdlZCA9ICAgICAgICAg
IDFMTFUgPDwgMTgsCisgICAgICAgIE1hc2tzVG9Cb3VuZHNSZWN0Q2hhbmdlZCA9ICAgICAgMUxM
VSA8PCAxOSwKKyAgICAgICAgTWFza0xheWVyQ2hhbmdlZCA9ICAgICAgICAgICAgICAxTExVIDw8
IDIwLAorICAgICAgICBSZXBsaWNhdGVkTGF5ZXJDaGFuZ2VkID0gICAgICAgIDFMTFUgPDwgMjEs
CisgICAgICAgIENvbnRlbnRzTmVlZHNEaXNwbGF5ID0gICAgICAgICAgMUxMVSA8PCAyMiwKKyAg
ICAgICAgQWNjZWxlcmF0ZXNEcmF3aW5nQ2hhbmdlZCA9ICAgICAxTExVIDw8IDIzLAorICAgICAg
ICBDb250ZW50c1NjYWxlQ2hhbmdlZCA9ICAgICAgICAgIDFMTFUgPDwgMjQsCisgICAgICAgIENv
bnRlbnRzVmlzaWJpbGl0eUNoYW5nZWQgPSAgICAgMUxMVSA8PCAyNSwKKyAgICAgICAgQ292ZXJh
Z2VSZWN0Q2hhbmdlZCA9ICAgICAgICAgICAxTExVIDw8IDI2LAorICAgICAgICBGaWx0ZXJzQ2hh
bmdlZCA9ICAgICAgICAgICAgICAgIDFMTFUgPDwgMjcsCisgICAgICAgIEJhY2tkcm9wRmlsdGVy
c0NoYW5nZWQgPSAgICAgICAgMUxMVSA8PCAyOCwKKyAgICAgICAgQmFja2Ryb3BGaWx0ZXJzUmVj
dENoYW5nZWQgPSAgICAxTExVIDw8IDI5LAorICAgICAgICBUaWxpbmdBcmVhQ2hhbmdlZCA9ICAg
ICAgICAgICAgIDFMTFUgPDwgMzAsCisgICAgICAgIFRpbGVzQWRkZWQgPSAgICAgICAgICAgICAg
ICAgICAgMUxMVSA8PCAzMSwKKyAgICAgICAgRGVidWdJbmRpY2F0b3JzQ2hhbmdlZCA9ICAgICAg
ICAxTExVIDw8IDMyLAorICAgICAgICBDdXN0b21BcHBlYXJhbmNlQ2hhbmdlZCA9ICAgICAgIDFM
TFUgPDwgMzMsCisgICAgICAgIEJsZW5kTW9kZUNoYW5nZWQgPSAgICAgICAgICAgICAgMUxMVSA8
PCAzNCwKKyAgICAgICAgU2hhcGVDaGFuZ2VkID0gICAgICAgICAgICAgICAgICAxTExVIDw8IDM1
LAorICAgICAgICBXaW5kUnVsZUNoYW5nZWQgPSAgICAgICAgICAgICAgIDFMTFUgPDwgMzYsCiAg
ICAgfTsKICAgICB0eXBlZGVmIHVpbnQ2NF90IExheWVyQ2hhbmdlRmxhZ3M7CiAgICAgZW51bSBT
Y2hlZHVsZUZsdXNoT3JOb3QgeyBTY2hlZHVsZUZsdXNoLCBEb250U2NoZWR1bGVGbHVzaCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1D
QUxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FMYXllci5jcHAKaW5kZXggYmI1Mzc5NDQzNjIzMzY5YWE3OGU3YjBkMTcxNjIwYmVmMWE3Mjk4
Ny4uODE3Y2MyMDlmODc3YTRlMzRmNjhhNzVhZTA2YzY4NTUwZWZlZjRkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIu
Y3BwCkBAIC04MCw2ICs4MCwxMSBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllcjo6ZHJhd1JlcGFpbnRJ
bmRpY2F0b3IoQ0dDb250ZXh0UmVmIGNvbnRleHQsIFBsYXRmb3JtQ0FMYXllcgogICAgICAgICBD
R0NvbnRleHRTZXRSR0JGaWxsQ29sb3IoY29udGV4dCwgMCwgMC41ZiwgMC4yNWYsIDEpOwogICAg
IAogICAgIENHQ29udGV4dEZpbGxSZWN0KGNvbnRleHQsIGluZGljYXRvckJveCk7CisgICAgCisg
ICAgaWYgKHBsYXRmb3JtQ0FMYXllci0+YWNjZWxlcmF0ZXNEcmF3aW5nKCkpCisgICAgICAgIENH
Q29udGV4dFNldFJHQkZpbGxDb2xvcihjb250ZXh0LCAxLCAwLCAwLCAxKTsKKyAgICBlbHNlCisg
ICAgICAgIENHQ29udGV4dFNldFJHQkZpbGxDb2xvcihjb250ZXh0LCAxLCAxLCAxLCAxKTsKIAog
ICAgIGlmIChwbGF0Zm9ybUNBTGF5ZXItPm93bmVyKCktPmlzVXNpbmdEaXNwbGF5TGlzdERyYXdp
bmcocGxhdGZvcm1DQUxheWVyKSkgewogICAgICAgICBDR0NvbnRleHRTZXRSR0JTdHJva2VDb2xv
cihjb250ZXh0LCAwLCAwLCAwLCAwLjY1KTsKQEAgLTg3LDE2ICs5Miw2IEBAIHZvaWQgUGxhdGZv
cm1DQUxheWVyOjpkcmF3UmVwYWludEluZGljYXRvcihDR0NvbnRleHRSZWYgY29udGV4dCwgUGxh
dGZvcm1DQUxheWVyCiAgICAgICAgIENHQ29udGV4dFN0cm9rZVJlY3QoY29udGV4dCwgaW5kaWNh
dG9yQm94KTsKICAgICB9CiAgICAgCi0gICAgaWYgKCFwbGF0Zm9ybUNBTGF5ZXItPmlzT3BhcXVl
KCkgJiYgKHBsYXRmb3JtQ0FMYXllci0+Y29udGVudHNGb3JtYXQoKSAmIFNtb290aGVkRm9udHMp
KSB7Ci0gICAgICAgIENHQ29udGV4dFNldFJHQkZpbGxDb2xvcihjb250ZXh0LCAxLCAxLCAxLCAw
LjQpOwotICAgICAgICBwbGF0Zm9ybUNBTGF5ZXItPmRyYXdUZXh0QXRQb2ludChjb250ZXh0LCBp
bmRpY2F0b3JCb3gub3JpZ2luLnggKyA3LCBpbmRpY2F0b3JCb3gub3JpZ2luLnkgKyAyNCwgQ0dT
aXplTWFrZSgxLCAtMSksIDIyLCB0ZXh0LCBzdHJsZW4odGV4dCkpOwotICAgIH0KLQotICAgIGlm
IChwbGF0Zm9ybUNBTGF5ZXItPmFjY2VsZXJhdGVzRHJhd2luZygpKQotICAgICAgICBDR0NvbnRl
eHRTZXRSR0JGaWxsQ29sb3IoY29udGV4dCwgMSwgMCwgMCwgMSk7Ci0gICAgZWxzZQotICAgICAg
ICBDR0NvbnRleHRTZXRSR0JGaWxsQ29sb3IoY29udGV4dCwgMSwgMSwgMSwgMSk7Ci0gICAgCiAg
ICAgcGxhdGZvcm1DQUxheWVyLT5kcmF3VGV4dEF0UG9pbnQoY29udGV4dCwgaW5kaWNhdG9yQm94
Lm9yaWdpbi54ICsgNSwgaW5kaWNhdG9yQm94Lm9yaWdpbi55ICsgMjIsIENHU2l6ZU1ha2UoMSwg
LTEpLCAyMiwgdGV4dCwgc3RybGVuKHRleHQpKTsKICAgICAKICAgICBDR0NvbnRleHRFbmRUcmFu
c3BhcmVuY3lMYXllcihjb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggYTE1MWViMmEzYTNlZTE2YWJm
MDlmY2NlNjhkOTI0NGJkNDZlZThjMS4uM2RlNjQyZGE4YjViZTY1ZjE1YTc3MjQyMTJmZjZiYTZl
N2NlZjUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
UGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTEzOSwxNCArMTM5LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpc09wYXF1ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0T3Bh
cXVlKGJvb2wpID0gMDsKIAotICAgIGVudW0gQ29udGVudHNGb3JtYXRGbGFnIHsKLSAgICAgICAg
RGVlcENvbG9yICAgICAgID0gMSA8PCAwLAotICAgICAgICBTbW9vdGhlZEZvbnRzICAgPSAxIDw8
IDEsCi0gICAgfTsKLSAgICB0eXBlZGVmIHVuc2lnbmVkIENvbnRlbnRzRm9ybWF0RmxhZ3M7Ci0g
ICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRzRm9ybWF0KENvbnRlbnRzRm9ybWF0RmxhZ3MpID0g
MDsKLSAgICB2aXJ0dWFsIENvbnRlbnRzRm9ybWF0RmxhZ3MgY29udGVudHNGb3JtYXQoKSBjb25z
dCA9IDA7Ci0KICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBib3VuZHMoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNldEJvdW5kcyhjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNw
cAppbmRleCAyMTQ0ZTUzZjQ1ZWMyZWZkMjQyYmVjMDBiYjYyOTljM2ZmYTM2NTQwLi5mNWJjMThk
ODg4ZjgyNGEyZjc1MDkzNGUzOTE5NTMwOTlmNjgzZWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCkBAIC0xNzUs
MTUgKzE3NSw2IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldFRpbGVzT3BhcXVlKGJvb2wgb3Bh
cXVlKQogICAgIHRpbGVHcmlkKCkudXBkYXRlVGlsZUxheWVyUHJvcGVydGllcygpOwogfQogCi12
b2lkIFRpbGVDb250cm9sbGVyOjpzZXRUaWxlQ29udGVudHNGb3JtYXRGbGFncyhQbGF0Zm9ybUNB
TGF5ZXI6OkNvbnRlbnRzRm9ybWF0RmxhZ3MgZmxhZ3MpCi17Ci0gICAgaWYgKGZsYWdzID09IG1f
Y29udGVudHNGb3JtYXRGbGFncykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9jb250ZW50c0Zv
cm1hdEZsYWdzID0gZmxhZ3M7Ci0gICAgdGlsZUdyaWQoKS51cGRhdGVUaWxlTGF5ZXJQcm9wZXJ0
aWVzKCk7Ci19Ci0KIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldFZpc2libGVSZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKIHsKICAgICBpZiAocmVjdCA9PSBtX3Zpc2libGVSZWN0KQpAQCAtNjg0
LDcgKzY3NSw2IEBAIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IFRpbGVDb250cm9sbGVyOjpjcmVh
dGVUaWxlTGF5ZXIoY29uc3QgSW50UmVjdCYgdGlsZVJlY3QsCiAgICAgbGF5ZXItPnNldEJvcmRl
cldpZHRoKG1fdGlsZURlYnVnQm9yZGVyV2lkdGgpOwogICAgIGxheWVyLT5zZXRFZGdlQW50aWFs
aWFzaW5nTWFzaygwKTsKICAgICBsYXllci0+c2V0T3BhcXVlKG1fdGlsZXNBcmVPcGFxdWUpOwot
ICAgIGxheWVyLT5zZXRDb250ZW50c0Zvcm1hdChtX2NvbnRlbnRzRm9ybWF0RmxhZ3MpOwogI2lm
bmRlZiBOREVCVUcKICAgICBsYXllci0+c2V0TmFtZSgiVGlsZSIpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaApp
bmRleCA0ZmM1YzRkNTAxYTU2ZDVjMjAzYmUxZjM5MDNhMmU1NGM1NTVmNTljLi5hMjFhMGJiN2I3
MDBjY2Q0MTZkZWNjYTBiZTIzNDVmNTY1MTM0YzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTc4LDkgKzc4LDYg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGlsZXNPcGFxdWUoYm9vbCk7
CiAgICAgYm9vbCB0aWxlc0FyZU9wYXF1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGlsZXNBcmVPcGFx
dWU7IH0KIAotICAgIHZvaWQgc2V0VGlsZUNvbnRlbnRzRm9ybWF0RmxhZ3MoUGxhdGZvcm1DQUxh
eWVyOjpDb250ZW50c0Zvcm1hdEZsYWdzKSBvdmVycmlkZTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXI6
OkNvbnRlbnRzRm9ybWF0RmxhZ3MgdGlsZUNvbnRlbnRzRm9ybWF0RmxhZ3MoKSBjb25zdCB7IHJl
dHVybiBtX2NvbnRlbnRzRm9ybWF0RmxhZ3M7IH0KLQogICAgIFBsYXRmb3JtQ0FMYXllciYgcm9v
dExheWVyKCkgeyByZXR1cm4gKm1fdGlsZUNhY2hlTGF5ZXI7IH0KICAgICBjb25zdCBQbGF0Zm9y
bUNBTGF5ZXImIHJvb3RMYXllcigpIGNvbnN0IHsgcmV0dXJuICptX3RpbGVDYWNoZUxheWVyOyB9
CiAKQEAgLTIwOSw4ICsyMDYsNiBAQCBwcml2YXRlOgogCiAgICAgaW50IG1fbWFyZ2luU2l6ZSB7
IGtEZWZhdWx0VGlsZVNpemUgfTsKIAotICAgIFBsYXRmb3JtQ0FMYXllcjo6Q29udGVudHNGb3Jt
YXRGbGFncyBtX2NvbnRlbnRzRm9ybWF0RmxhZ3MgeyAwIH07Ci0KICAgICAvLyBtX21hcmdpblRv
cCBhbmQgbV9tYXJnaW5Cb3R0b20gYXJlIHRoZSBoZWlnaHQgaW4gcGl4ZWxzIG9mIHRoZSB0b3Ag
YW5kIGJvdHRvbSBtYXJnaW4gdGlsZXMuIFRoZSB3aWR0aAogICAgIC8vIG9mIHRob3NlIHRpbGVz
IHdpbGwgYmUgZXF1aXZhbGVudCB0byB0aGUgd2lkdGggb2YgdGhlIG90aGVyIHRpbGVzIGluIHRo
ZSBncmlkLiBtX21hcmdpblJpZ2h0IGFuZAogICAgIC8vIG1fbWFyZ2luTGVmdCBhcmUgdGhlIHdp
ZHRoIGluIHBpeGVscyBvZiB0aGUgcmlnaHQgYW5kIGxlZnQgbWFyZ2luIHRpbGVzLCByZXNwZWN0
aXZlbHkuIFRoZSBoZWlnaHQgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCA0OGNmYmQ5NjU0MDlhMjIzYzA5NTg4MTJhOTM5YmI0
ZjEyNDBkZjUyLi5lYmI4MTc4OTZhMzdkOTBiOTgxYjcwNjgxM2E4NWQ2ZGE5OGZlMTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBA
IC0xNzUsNyArMTc1LDYgQEAgdm9pZCBUaWxlR3JpZDo6dXBkYXRlVGlsZUxheWVyUHJvcGVydGll
cygpCiB7CiAgICAgYm9vbCBhY2NlbGVyYXRlc0RyYXdpbmcgPSBtX2NvbnRyb2xsZXIuYWNjZWxl
cmF0ZXNEcmF3aW5nKCk7CiAgICAgYm9vbCBvcGFxdWUgPSBtX2NvbnRyb2xsZXIudGlsZXNBcmVP
cGFxdWUoKTsKLSAgICBQbGF0Zm9ybUNBTGF5ZXI6OkNvbnRlbnRzRm9ybWF0RmxhZ3MgZm9ybWF0
RmxhZ3MgPSBtX2NvbnRyb2xsZXIudGlsZUNvbnRlbnRzRm9ybWF0RmxhZ3MoKTsKICAgICBDb2xv
ciB0aWxlRGVidWdCb3JkZXJDb2xvciA9IG1fY29udHJvbGxlci50aWxlRGVidWdCb3JkZXJDb2xv
cigpOwogICAgIGZsb2F0IHRpbGVEZWJ1Z0JvcmRlcldpZHRoID0gbV9jb250cm9sbGVyLnRpbGVE
ZWJ1Z0JvcmRlcldpZHRoKCk7CiAKQEAgLTE4Myw3ICsxODIsNiBAQCB2b2lkIFRpbGVHcmlkOjp1
cGRhdGVUaWxlTGF5ZXJQcm9wZXJ0aWVzKCkKICAgICAgICAgY29uc3QgVGlsZUluZm8mIHRpbGVJ
bmZvID0gaXQtPnZhbHVlOwogICAgICAgICB0aWxlSW5mby5sYXllci0+c2V0QWNjZWxlcmF0ZXNE
cmF3aW5nKGFjY2VsZXJhdGVzRHJhd2luZyk7CiAgICAgICAgIHRpbGVJbmZvLmxheWVyLT5zZXRP
cGFxdWUob3BhcXVlKTsKLSAgICAgICAgdGlsZUluZm8ubGF5ZXItPnNldENvbnRlbnRzRm9ybWF0
KGZvcm1hdEZsYWdzKTsKICAgICAgICAgdGlsZUluZm8ubGF5ZXItPnNldEJvcmRlckNvbG9yKHRp
bGVEZWJ1Z0JvcmRlckNvbG9yKTsKICAgICAgICAgdGlsZUluZm8ubGF5ZXItPnNldEJvcmRlcldp
ZHRoKHRpbGVEZWJ1Z0JvcmRlcldpZHRoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVy
Q29jb2EuaAppbmRleCBjN2Q2YTFiYzE4YmE2MjBiZTI5OTRhYzVjM2Q4YTVmMzE1Mjg0NWFjLi43
M2EyODE4MmFiMGVlM2E3MWRhYmM0MWEwMTRhYTBjY2ViMjRlMjYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRm
b3JtQ0FMYXllckNvY29hLmgKQEAgLTcyLDkgKzcyLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNP
cGFxdWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldE9wYXF1ZShib29sKSBvdmVycmlk
ZTsKIAotICAgIHZvaWQgc2V0Q29udGVudHNGb3JtYXQoQ29udGVudHNGb3JtYXRGbGFncykgb3Zl
cnJpZGU7Ci0gICAgQ29udGVudHNGb3JtYXRGbGFncyBjb250ZW50c0Zvcm1hdCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fY29udGVudHNGb3JtYXRGbGFnczsgfQotCiAgICAgRmxvYXRSZWN0
IGJvdW5kcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Qm91bmRzKGNvbnN0IEZsb2F0
UmVjdCYpIG92ZXJyaWRlOwogCkBAIC0xODIsNyArMTc5LDYgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UGxhdGZvcm1DQUxheWVyTGlzdD4gbV9jdXN0b21TdWJsYXllcnM7CiAgICAg
R3JhcGhpY3NMYXllcjo6Q3VzdG9tQXBwZWFyYW5jZSBtX2N1c3RvbUFwcGVhcmFuY2U7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEZsb2F0Um91bmRlZFJlY3Q+IG1fc2hhcGVSb3VuZGVkUmVjdDsKLSAg
ICBDb250ZW50c0Zvcm1hdEZsYWdzIG1fY29udGVudHNGb3JtYXRGbGFncyB7IDAgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29jb2EubW0K
aW5kZXggOGY2NWZjZTczYzYwZmE2ZjVkNmFmMTU5NTU5NDBiYmJjN2YzZDA4Ny4uMzVmNTU1NGY4
ZWQxOTk1NDJkNDcxNmVjNzUwZjkwNTJkOGI4YjlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxh
eWVyQ29jb2EubW0KQEAgLTY5LDcgKzY5LDcgQEAKICNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9M
YXllckJhY2tpbmdTdG9yZUFkZGl0aW9ucy5tbT4KICNlbHNlCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Ci1zdGF0aWMgdm9pZCBzZXRCYWNraW5nU3RvcmVGb3JtYXQoQ0FMYXllciAqLCBQbGF0Zm9ybUNB
TGF5ZXI6OkNvbnRlbnRzRm9ybWF0RmxhZ3MpCitzdGF0aWMgdm9pZCBzZXRCYWNraW5nU3RvcmVG
b3JtYXQoQ0FMYXllciAqKQogewogfQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpAQCAtMzA4LDcg
KzMwOCw3IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyQ29jb2E6OmNvbW1vbkluaXQoKQogICAgICAg
ICBbbV9sYXllciBzZXREZWxlZ2F0ZTpbV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRl
IHNoYXJlZF1dOwogCiAgICAgaWYgKG1fbGF5ZXJUeXBlID09IExheWVyVHlwZVdlYkxheWVyIHx8
IG1fbGF5ZXJUeXBlID09IExheWVyVHlwZVRpbGVkQmFja2luZ1RpbGVMYXllcikKLSAgICAgICAg
c2V0QmFja2luZ1N0b3JlRm9ybWF0KG1fbGF5ZXIuZ2V0KCksIDApOworICAgICAgICBzZXRCYWNr
aW5nU3RvcmVGb3JtYXQobV9sYXllci5nZXQoKSk7CiAKICAgICAvLyBTbyB0aGF0IHRoZSBzY3Jv
bGxpbmcgdGhyZWFkJ3MgcGVyZm9ybWFuY2UgbG9nZ2luZyBjb2RlIGNhbiBmaW5kIGFsbCB0aGUg
dGlsZXMsIG1hcmsgdGhpcyBhcyBiZWluZyBhIHRpbGUuCiAgICAgaWYgKG1fbGF5ZXJUeXBlID09
IExheWVyVHlwZVRpbGVkQmFja2luZ1RpbGVMYXllcikKQEAgLTU0NSwyMiArNTQ1LDYgQEAgdm9p
ZCBQbGF0Zm9ybUNBTGF5ZXJDb2NvYTo6c2V0T3BhcXVlKGJvb2wgdmFsdWUpCiAgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUwogfQogCi12b2lkIFBsYXRmb3JtQ0FMYXllckNvY29hOjpzZXRD
b250ZW50c0Zvcm1hdChDb250ZW50c0Zvcm1hdEZsYWdzIGZsYWdzKQotewotICAgIGlmIChmbGFn
cyA9PSBtX2NvbnRlbnRzRm9ybWF0RmxhZ3MpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fY29u
dGVudHNGb3JtYXRGbGFncyA9IGZsYWdzOwotCi0gICAgaWYgKHVzZXNUaWxlZEJhY2tpbmdMYXll
cigpKSB7Ci0gICAgICAgIFdlYlRpbGVkQmFja2luZ0xheWVyKiB0aWxlZEJhY2tpbmdMYXllciA9
IHN0YXRpY19jYXN0PFdlYlRpbGVkQmFja2luZ0xheWVyKj4obV9sYXllci5nZXQoKSk7Ci0gICAg
ICAgIHRpbGVkQmFja2luZ0xheWVyLnRpbGVkQmFja2luZy0+c2V0VGlsZUNvbnRlbnRzRm9ybWF0
RmxhZ3MoZmxhZ3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc2V0QmFja2luZ1N0
b3JlRm9ybWF0KG1fbGF5ZXIuZ2V0KCksIGZsYWdzKTsKLX0KLQogRmxvYXRSZWN0IFBsYXRmb3Jt
Q0FMYXllckNvY29hOjpib3VuZHMoKSBjb25zdAogewogICAgIHJldHVybiBbbV9sYXllciBib3Vu
ZHNdOwpAQCAtMTA3Miw3ICsxMDU2LDcgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OmRyYXdMYXll
ckNvbnRlbnRzKENHQ29udGV4dFJlZiBjb250ZXh0LCBXZWJDb3JlOjpQbGF0Zm9ybUMKICAgICBn
cmFwaGljc0NvbnRleHQuc2V0SXNDQUxheWVyQ29udGV4dCh0cnVlKTsKICAgICBncmFwaGljc0Nv
bnRleHQuc2V0SXNBY2NlbGVyYXRlZENvbnRleHQocGxhdGZvcm1DQUxheWVyLT5hY2NlbGVyYXRl
c0RyYXdpbmcoKSk7CiAgICAgCi0gICAgaWYgKCFsYXllckNvbnRlbnRzLT5wbGF0Zm9ybUNBTGF5
ZXJDb250ZW50c09wYXF1ZSgpICYmICEocGxhdGZvcm1DQUxheWVyLT5jb250ZW50c0Zvcm1hdCgp
ICYgU21vb3RoZWRGb250cykpIHsKKyAgICBpZiAoIWxheWVyQ29udGVudHMtPnBsYXRmb3JtQ0FM
YXllckNvbnRlbnRzT3BhcXVlKCkpIHsKICAgICAgICAgLy8gVHVybiBvZmYgZm9udCBzbW9vdGhp
bmcgdG8gaW1wcm92ZSB0aGUgYXBwZWFyYW5jZSBvZiB0ZXh0IHJlbmRlcmVkIG9udG8gYSB0cmFu
c3BhcmVudCBiYWNrZ3JvdW5kLgogICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0U2hvdWxkU21v
b3RoRm9udHMoZmFsc2UpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKaW5kZXgg
MzA0OWI0MGM1ODE4NDQyZTgxYmUyNGI5NTRmYWE2MTI3M2FmMDIxYi4uYmE4ZjI4ZTI0YWQxODhi
NGViZmY4ZWFlMjA5MTc5MGRkZDYzZWUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5jcHAK
QEAgLTM3NywxNiArMzc3LDYgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJXaW46OnNldE9wYXF1ZShi
b29sIHZhbHVlKQogICAgIHNldE5lZWRzQ29tbWl0KCk7CiB9CiAKLXZvaWQgUGxhdGZvcm1DQUxh
eWVyV2luOjpzZXRDb250ZW50c0Zvcm1hdChDb250ZW50c0Zvcm1hdEZsYWdzIGZvcm1hdEZsYWdz
KQotewotICAgIG1fY29udGVudHNGb3JtYXQgPSBmb3JtYXRGbGFnczsKLX0KLQotUGxhdGZvcm1D
QUxheWVyOjpDb250ZW50c0Zvcm1hdEZsYWdzIFBsYXRmb3JtQ0FMYXllcldpbjo6Y29udGVudHNG
b3JtYXQoKSBjb25zdAotewotICAgIHJldHVybiBtX2NvbnRlbnRzRm9ybWF0OwotfQotCiBGbG9h
dFJlY3QgUGxhdGZvcm1DQUxheWVyV2luOjpib3VuZHMoKSBjb25zdAogewogICAgIHJldHVybiBD
QUNGTGF5ZXJHZXRCb3VuZHMobV9sYXllci5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmgK
aW5kZXggNTUzNWM4MzJmNzhhNTE4MDU3OTVkMTU4YjE0ZTYwYjcwMTI1MTFhNy4uZGIxOWU1NmIw
ZjVlM2M3M2QwMjVkYmJhNGNiMDc5NDM4MThmZjgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBTGF5ZXJXaW4u
aApAQCAtNjQsOSArNjQsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc09wYXF1ZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZvaWQgc2V0T3BhcXVlKGJvb2wpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBz
ZXRDb250ZW50c0Zvcm1hdChDb250ZW50c0Zvcm1hdEZsYWdzKSBvdmVycmlkZTsKLSAgICBDb250
ZW50c0Zvcm1hdEZsYWdzIGNvbnRlbnRzRm9ybWF0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0KICAgICBG
bG9hdFJlY3QgYm91bmRzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRCb3VuZHMoY29u
c3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAKQEAgLTE2Niw3ICsxNjMsNiBAQCBwcml2YXRlOgog
ICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8UGxhdGZvcm1DQUFuaW1hdGlvbj4+IG1fYW5pbWF0
aW9uczsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1DQUxheWVyTGlzdD4gbV9jdXN0b21T
dWJsYXllcnM7CiAgICAgR3JhcGhpY3NMYXllcjo6Q3VzdG9tQXBwZWFyYW5jZSBtX2N1c3RvbUFw
cGVhcmFuY2U7Ci0gICAgQ29udGVudHNGb3JtYXRGbGFncyBtX2NvbnRlbnRzRm9ybWF0IHsgMCB9
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVHcmlkVGlsZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxl
R3JpZFRpbGUubW0KaW5kZXggYjgwN2ZmMDk0MjE3NWY1OGMzYTc3OTc5MjRhNGMxODJiMTBiYTY0
OS4uMjQ3MTI0YmQ3YzY5ZDE3YjQwYzJhNWNmY2M3YTI0MzM1YmViN2JlZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tCkBAIC0yOCwx
MyArMjgsMTEgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAotI2luY2x1ZGUgIkJsb2NrRXhjZXB0
aW9ucy5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUNhY2hlLmgi
CiAjaW5jbHVkZSAiTGVnYWN5VGlsZUdyaWQuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXIu
aCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXJQb29sLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1D
QUxheWVyLmgiCiAjaW5jbHVkZSAiUXVhcnR6Q29yZVNQSS5oIgogI2luY2x1ZGUgIldBS1dpbmRv
dy5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KQEAgLTQ1LDcgKzQzLDcgQEAKICNpbXBvcnQgPFdl
YktpdEFkZGl0aW9ucy9MYXllckJhY2tpbmdTdG9yZUFkZGl0aW9ucy5tbT4KICNlbHNlCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci1zdGF0aWMgdm9pZCBzZXRCYWNraW5nU3RvcmVGb3JtYXQoQ0FMYXll
ciAqLCBQbGF0Zm9ybUNBTGF5ZXI6OkNvbnRlbnRzRm9ybWF0RmxhZ3MpCitzdGF0aWMgdm9pZCBz
ZXRCYWNraW5nU3RvcmVGb3JtYXQoQ0FMYXllciAqKQogewogfQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpAQCAtNzMsNyArNzEsNyBAQCBMZWdhY3lUaWxlR3JpZFRpbGU6OkxlZ2FjeVRpbGVHcmlk
VGlsZShMZWdhY3lUaWxlR3JpZCogdGlsZUdyaWQsIGNvbnN0IEludFJlY3QmCiAgICAgICAgIG1f
dGlsZUxheWVyID0gYWRvcHROUyhbW0xlZ2FjeVRpbGVMYXllciBhbGxvY10gaW5pdF0pOwogICAg
IH0KICAgICBMZWdhY3lUaWxlTGF5ZXIqIGxheWVyID0gbV90aWxlTGF5ZXIuZ2V0KCk7Ci0gICAg
c2V0QmFja2luZ1N0b3JlRm9ybWF0KGxheWVyLCAwKTsKKyAgICBzZXRCYWNraW5nU3RvcmVGb3Jt
YXQobGF5ZXIpOwogICAgIFtsYXllciBzZXRUaWxlR3JpZDp0aWxlR3JpZF07CiAgICAgW2xheWVy
IHNldE9wYXF1ZTptX3RpbGVHcmlkLT50aWxlQ2FjaGUoKS50aWxlc09wYXF1ZSgpXTsKICAgICBb
bGF5ZXIgc2V0RWRnZUFudGlhbGlhc2luZ01hc2s6MF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDIyMWUzMTQ1Y2EzZWZkNTYyMDQ4
ODc2YWU0OGEyZTNiMjI3ZmE4YjIuLjIwZDM4NDdjNDQ3YWVlYzAwNDlhZjQ1YmJlY2E1YTQ2ZWY5
OTZjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCkBAIC0xNzgsMTAgKzE3OCw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0xheWVy
PiBSZW5kZXJMYXllckJhY2tpbmc6OmNyZWF0ZUdyYXBoaWNzTGF5ZXIoY29uc3QgU3RyCiAgICAg
Z3JhcGhpY3NMYXllci0+c2V0QWNjZWxlcmF0ZXNEcmF3aW5nKGNvbXBvc2l0b3IoKS5hY2NlbGVy
YXRlZERyYXdpbmdFbmFibGVkKCkpOwogICAgIGdyYXBoaWNzTGF5ZXItPnNldFVzZXNEaXNwbGF5
TGlzdERyYXdpbmcoY29tcG9zaXRvcigpLmRpc3BsYXlMaXN0RHJhd2luZ0VuYWJsZWQoKSk7CiAj
ZW5kaWYKLQotICAgIC8vIEZJWE1FOiBpZGVhbGx5IHdlJ2Qgb25seSBkbyB0aGlzIGlmIHRoZSBs
YXllciBjb250YWlucyBzbW9vdGhlZCB0ZXh0LgotICAgIGlmIChHcmFwaGljc0xheWVyOjpzdXBw
b3J0c1Ntb290aGVkRm9udHNJbk5vbk9wYXF1ZUxheWVycygpKQotICAgICAgICBncmFwaGljc0xh
eWVyLT5zZXRTdXBwb3J0c1Ntb290aGVkRm9udHModHJ1ZSk7CiAgICAgCiAgICAgcmV0dXJuIGdy
YXBoaWNzTGF5ZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggMTQyZTAyOTE0Y2U0OThkMTM4NmYxYzAw
N2NiZWJjODk2YzI1OGY0My4uNGU5OWFjZDI5OTdkYjc0NGYzNWM3NDFlNDUzZDMwMzI5NzBkZGI0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaApAQCAtODcsOCArODcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEZpbHRl
cnNDaGFuZ2VkICAgICAgICAgICAgICAgICAgPSAxTExVIDw8IDMyLAogICAgICAgICBBbmltYXRp
b25zQ2hhbmdlZCAgICAgICAgICAgICAgID0gMUxMVSA8PCAzMywKICAgICAgICAgRWRnZUFudGlh
bGlhc2luZ01hc2tDaGFuZ2VkICAgICA9IDFMTFUgPDwgMzQsCi0gICAgICAgIENvbnRlbnRzRm9y
bWF0RmxhZ3NDaGFuZ2VkICAgICAgPSAxTExVIDw8IDM1LAotICAgICAgICBDdXN0b21BcHBlYXJh
bmNlQ2hhbmdlZCAgICAgICAgID0gMUxMVSA8PCAzNiwKKyAgICAgICAgQ3VzdG9tQXBwZWFyYW5j
ZUNoYW5nZWQgICAgICAgICA9IDFMTFUgPDwgMzUsCiAgICAgfTsKICAgICB0eXBlZGVmIHVpbnQ2
NF90IExheWVyQ2hhbmdlOwogCkBAIC0xNTQsNyArMTUzLDYgQEAgcHVibGljOgogICAgICAgICBX
ZWJDb3JlOjpDb2xvciBiYWNrZ3JvdW5kQ29sb3I7CiAgICAgICAgIFdlYkNvcmU6OkNvbG9yIGJv
cmRlckNvbG9yOwogICAgICAgICB1bnNpZ25lZCBlZGdlQW50aWFsaWFzaW5nTWFzazsKLSAgICAg
ICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpDb250ZW50c0Zvcm1hdEZsYWdzIGNvbnRlbnRz
Rm9ybWF0RmxhZ3M7CiAgICAgICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFwcGVh
cmFuY2UgY3VzdG9tQXBwZWFyYW5jZTsKICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVy
OjpGaWx0ZXJUeXBlIG1pbmlmaWNhdGlvbkZpbHRlcjsKICAgICAgICAgV2ViQ29yZTo6UGxhdGZv
cm1DQUxheWVyOjpGaWx0ZXJUeXBlIG1hZ25pZmljYXRpb25GaWx0ZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQpp
bmRleCA0YjBlMzRjYmMxOTNjZjY4YmY4OGM5MzZiNjkwOTRhZjY1Y2MzM2ViLi43M2Q3MzRiMWU4
MTgxOWQyNzc1YWQ5ZjM4OTRjMDFkOWY1MTJjNDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KQEAgLTIxMSw5
ICsyMTEsNiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRp
ZXM6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZQogICAgIGlmIChjaGFuZ2VkUHJvcGVy
dGllcyAmIE9wYXF1ZUNoYW5nZWQpCiAgICAgICAgIGVuY29kZXIgPDwgb3BhcXVlOwogCi0gICAg
aWYgKGNoYW5nZWRQcm9wZXJ0aWVzICYgQ29udGVudHNGb3JtYXRGbGFnc0NoYW5nZWQpCi0gICAg
ICAgIGVuY29kZXIgPDwgY29udGVudHNGb3JtYXRGbGFnczsKLQogICAgIGlmIChjaGFuZ2VkUHJv
cGVydGllcyAmIE1hc2tMYXllckNoYW5nZWQpCiAgICAgICAgIGVuY29kZXIgPDwgbWFza0xheWVy
SUQ7CiAKQEAgLTM3NywxMSArMzc0LDYgQEAgYm9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6TGF5ZXJQcm9wZXJ0aWVzOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGQKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAocmVzdWx0LmNoYW5nZWRQcm9w
ZXJ0aWVzICYgQ29udGVudHNGb3JtYXRGbGFnc0NoYW5nZWQpIHsKLSAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQuY29udGVudHNGb3JtYXRGbGFncykpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCiAgICAgaWYgKHJlc3VsdC5jaGFuZ2VkUHJvcGVydGllcyAmIE1h
c2tMYXllckNoYW5nZWQpIHsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubWFz
a0xheWVySUQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJS
ZW1vdGUuY3BwCmluZGV4IDc5MmJlNTI2MWYwMmNiZTZkOTViZmE0N2Q0YzM1NDhkZjUxYTY2Y2Mu
Ljc4MjE2Njc3ZTMyYTgzNmNhZDZhNGExNGI3NDE1YjUzMjAzNjNhMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3Jt
Q0FMYXllclJlbW90ZS5jcHAKQEAgLTQwMSwyMCArNDAxLDYgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5
ZXJSZW1vdGU6OnNldE1hc2soUGxhdGZvcm1DQUxheWVyKiBsYXllcikKICAgICBtX3Byb3BlcnRp
ZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpNYXNr
TGF5ZXJDaGFuZ2VkKTsKIH0KIAotdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldENvbnRl
bnRzRm9ybWF0KENvbnRlbnRzRm9ybWF0RmxhZ3MgZm9ybWF0RmxhZ3MpCi17Ci0gICAgaWYgKGZv
cm1hdEZsYWdzID09IG1fcHJvcGVydGllcy5jb250ZW50c0Zvcm1hdEZsYWdzKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBtX3Byb3BlcnRpZXMuY29udGVudHNGb3JtYXRGbGFncyA9IGZvcm1hdEZs
YWdzOwotICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb246OkNvbnRlbnRzRm9ybWF0RmxhZ3NDaGFuZ2VkKTsKLX0KLQotUGxhdGZv
cm1DQUxheWVyOjpDb250ZW50c0Zvcm1hdEZsYWdzIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6Y29u
dGVudHNGb3JtYXQoKSBjb25zdAotewotICAgIHJldHVybiBtX3Byb3BlcnRpZXMuY29udGVudHNG
b3JtYXRGbGFnczsKLX0KLQogdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldENsb25lZExh
eWVyKGNvbnN0IFBsYXRmb3JtQ0FMYXllciogbGF5ZXIpCiB7CiAgICAgaWYgKGlzRXF1aXZhbGVu
dExheWVyKGxheWVyLCBtX3Byb3BlcnRpZXMuY2xvbmVkTGF5ZXJJRCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5
ZXJSZW1vdGUuaAppbmRleCA2YWY3YzJhYTA0Y2M0MTNmMWU2ZTdiNzYyNzI0MmZmZDNjMTA1MDU3
Li5mMTY1MjA2MzQ2MDcxOWI4YTJlNmJhMDk2M2FiMThkZTNhNGQ4ZjE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1D
QUxheWVyUmVtb3RlLmgKQEAgLTc2LDkgKzc2LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNPcGFx
dWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldE9wYXF1ZShib29sKSBvdmVycmlkZTsK
IAotICAgIHZvaWQgc2V0Q29udGVudHNGb3JtYXQoQ29udGVudHNGb3JtYXRGbGFncykgb3ZlcnJp
ZGU7Ci0gICAgQ29udGVudHNGb3JtYXRGbGFncyBjb250ZW50c0Zvcm1hdCgpIGNvbnN0IG92ZXJy
aWRlOwotCiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IGJvdW5kcygpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZvaWQgc2V0Qm91bmRzKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIG92ZXJyaWRlOwog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>