<?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>175965</bug_id>
          
          <creation_ts>2017-08-24 16:46:49 -0700</creation_ts>
          <short_desc>Add WKUIDelegatePrivate equivalent of WKPageUIClient&apos;s handleAutoplayEvent</short_desc>
          <delta_ts>2017-08-24 17:30:33 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1342246</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-24 16:46:49 -0700</bug_when>
    <thetext>Add WKUIDelegatePrivate equivalent of WKPageUIClient&apos;s handleAutoplayEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342248</commentid>
    <comment_count>1</comment_count>
      <attachid>319036</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-24 16:48:30 -0700</bug_when>
    <thetext>Created attachment 319036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342252</commentid>
    <comment_count>2</comment_count>
      <attachid>319037</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-24 16:56:13 -0700</bug_when>
    <thetext>Created attachment 319037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342260</commentid>
    <comment_count>3</comment_count>
      <attachid>319042</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-24 17:11:28 -0700</bug_when>
    <thetext>Created attachment 319042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342266</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-24 17:29:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342268</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-24 17:30:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/34071498&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319036</attachid>
            <date>2017-08-24 16:48:30 -0700</date>
            <delta_ts>2017-08-24 16:56:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175965-20170824164830.patch</filename>
            <type>text/plain</type>
            <size>15239</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjExNjQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA4LTI0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIGhhbmRsZUF1dG9wbGF5
RXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTk2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkyNzAwMzU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGluZyBBUEkg
dGVzdHMgdG8gdXNlIFVJRGVsZWdhdGUgaW5zdGVhZCBvZiBfcGFnZUZvclRlc3RpbmcgYW5kIFdL
UGFnZVVJQ2xpZW50LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6
VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0Ojp0b1dLRm9jdXNEaXJl
Y3Rpb24pOgorICAgICAgICAoV2ViS2l0Ojp0b1dLQXV0b3BsYXlFdmVudEZsYWdzKToKKyAgICAg
ICAgKFdlYktpdDo6dG9XS0F1dG9wbGF5RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVn
YXRlOjpVSUNsaWVudDo6aGFuZGxlQXV0b3BsYXlFdmVudCk6CisKIDIwMTctMDgtMjQgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV0tV
SURlbGVnYXRlUHJpdmF0ZSBjYWxsYmFjayBjb3JyZXNwb25kaW5nIHRvIFBhZ2VVSUNsaWVudCdz
IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkocmV2aXNpb24gMjIx
MTY0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsOSArNDcsMjEgQEAKIEBwcm90b2NvbCBVSURy
b3BTZXNzaW9uOwogI2Vsc2UKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0ZvY3VzRGly
ZWN0aW9uKSB7Ci0gICAgV0tGb2N1c0RpcmVjdGlvbkJhY2t3YXJkLAotICAgIFdLRm9jdXNEaXJl
Y3Rpb25Gb3J3YXJkLAorICAgIF9XS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQsCisgICAgX1dLRm9j
dXNEaXJlY3Rpb25Gb3J3YXJkLAogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSk7CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0F1dG9wbGF5RXZlbnQpIHsKKyAg
ICBfV0tBdXRvcGxheUV2ZW50RGlkUHJldmVudEZyb21BdXRvcGxheWluZywKKyAgICBfV0tBdXRv
cGxheUV2ZW50RGlkUGxheU1lZGlhUHJldmVudGVkRnJvbUF1dG9wbGF5aW5nLAorICAgIF9XS0F1
dG9wbGF5RXZlbnREaWRBdXRvcGxheU1lZGlhUGFzdFRocmVzaG9sZFdpdGhvdXRVc2VySW50ZXJm
ZXJlbmNlLAorICAgIF9XS0F1dG9wbGF5RXZlbnRVc2VyRGlkSW50ZXJmZXJlV2l0aFBsYXliYWNr
LAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKwordHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgX1dLQXV0b3BsYXlFdmVudEZsYWdz
KSB7CisgICAgX1dLQXV0b3BsYXlFdmVudEZsYWdzTm9uZSA9IDAsCisgICAgX1dLQXV0b3BsYXlF
dmVudEZsYWdzSGFzQXVkaW8gPSAxIDw8IDAsCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogI2VuZGlmCiAKIEBwcm90b2NvbCBXS1VJRGVs
ZWdhdGVQcml2YXRlIDxXS1VJRGVsZWdhdGU+CkBAIC0xMzAsNiArMTQyLDcgQEAgc3RydWN0IFVJ
RWRnZUluc2V0czsKIC0gKHZvaWQpX3VuZm9jdXNXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQpX3dlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgdGFrZUZvY3VzOihfV0tGb2N1c0RpcmVjdGlvbilkaXJlY3Rp
b24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWROb3RIYW5kbGVXaGVlbEV2ZW50OihOU0V2ZW50ICop
ZXZlbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBoYW5kbGVBdXRvcGxheUV2ZW50OihfV0tBdXRvcGxh
eUV2ZW50KWV2ZW50IHdpdGhGbGFnczooX1dLQXV0b3BsYXlFdmVudEZsYWdzKWZsYWdzIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAoTlNN
ZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4dE1lbnU6KE5TTWVudSAq
KW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIC0gKE5TTWVudSAqKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6KF9X
S0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZvOihpZCA8TlNTZWN1cmVD
b2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgJKHJldmlz
aW9uIDIyMTE2NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZv
aWQgZm9jdXMoV2ViUGFnZVByb3h5KikgZmluYWw7CiAgICAgICAgIHZvaWQgdW5mb2N1cyhXZWJQ
YWdlUHJveHkqKSBmaW5hbDsKICAgICAgICAgdm9pZCBkaWROb3RIYW5kbGVXaGVlbEV2ZW50KFdl
YktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViS2l0OjpOYXRpdmVXZWJXaGVlbEV2ZW50Jikg
ZmluYWw7CisgICAgICAgIHZvaWQgaGFuZGxlQXV0b3BsYXlFdmVudChXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxh
eUV2ZW50RmxhZ3M+KSBmaW5hbDsKICAgICAgICAgYm9vbCBydW5PcGVuUGFuZWwoV2ViUGFnZVBy
b3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYs
IEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJv
eHkqKSBmaW5hbDsKICNlbmRpZgogICAgICAgICBib29sIGRlY2lkZVBvbGljeUZvclVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0KFdlYlBhZ2VQcm94eSYsIFdlYkZyYW1lUHJveHkmLCBBUEk6OlNl
Y3VyaXR5T3JpZ2luJiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkmKSBmaW5hbDsKQEAgLTE0Niw2ICsxNDcsNyBAQCBwcml2YXRlOgogICAgICAg
ICBib29sIHVuZm9jdXNXZWJWaWV3IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3VGFrZUZvY3Vz
IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkTm90SGFuZGxlV2hlZWxFdmVudCA6IDE7Cisg
ICAgICAgIGJvb2wgd2ViVmlld0hhbmRsZUF1dG9wbGF5RXZlbnRXaXRoRmxhZ3MgOiAxOwogICAg
ICAgICBib29sIHdlYlZpZXdSdW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyc0luaXRpYXRlZEJ5RnJh
bWVDb21wbGV0aW9uSGFuZGxlciA6IDE7CiAjZW5kaWYKICAgICAgICAgYm9vbCB3ZWJWaWV3RGVj
aWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luQ3VycmVudFF1b3RhQ3VycmVudE9yaWdp
blVzYWdlQ3VycmVudERhdGFiYXNlVXNhZ2VFeHBlY3RlZFVzYWdlRGVjaXNpb25IYW5kbGVyIDog
MTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQko
cmV2aXNpb24gMjIxMTY0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA2LDYgKzEwNiw3IEBAIHZvaWQgVUlEZWxlZ2F0
ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlEZWwKICAgICBtX2RlbGVnYXRlTWV0aG9kcy51bmZvY3Vz
V2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF91bmZvY3Vz
V2ViVmlldzopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3VGFrZUZvY3VzID0gW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dGFrZUZvY3VzOild
OwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWROb3RIYW5kbGVXaGVlbEV2ZW50ID0g
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkTm90SGFu
ZGxlV2hlZWxFdmVudDopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3SGFuZGxlQXV0
b3BsYXlFdmVudFdpdGhGbGFncyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF93ZWJWaWV3OmhhbmRsZUF1dG9wbGF5RXZlbnQ6d2l0aEZsYWdzOildOwogICAgIG1fZGVs
ZWdhdGVNZXRob2RzLndlYlZpZXdSdW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyc0luaXRpYXRlZEJ5
RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHdlYlZpZXc6cnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnM6aW5pdGlhdGVkQnlGcmFt
ZTpjb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogCkBAIC0zODEsMTIgKzM4MiwxMiBAQCBz
dGF0aWMgaW5saW5lIF9XS0ZvY3VzRGlyZWN0aW9uIHRvV0tGb2N1CiB7CiAgICAgc3dpdGNoIChk
aXJlY3Rpb24pIHsKICAgICBjYXNlIGtXS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQ6Ci0gICAgICAg
IHJldHVybiBXS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQ7CisgICAgICAgIHJldHVybiBfV0tGb2N1
c0RpcmVjdGlvbkJhY2t3YXJkOwogICAgIGNhc2Uga1dLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkOgot
ICAgICAgICByZXR1cm4gV0tGb2N1c0RpcmVjdGlvbkZvcndhcmQ7CisgICAgICAgIHJldHVybiBf
V0tGb2N1c0RpcmVjdGlvbkZvcndhcmQ7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiBXS0ZvY3VzRGlyZWN0aW9uRm9yd2FyZDsKKyAgICByZXR1cm4gX1dLRm9j
dXNEaXJlY3Rpb25Gb3J3YXJkOwogfQogCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50Ojp0YWtl
Rm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXS0ZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikK
QEAgLTQzNyw2ICs0MzgsNDMgQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkTm90SGFu
ZGxlVwogICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1f
dWlEZWxlZ2F0ZS5tX3dlYlZpZXcgZGlkTm90SGFuZGxlV2hlZWxFdmVudDpldmVudC5uYXRpdmVF
dmVudCgpXTsKIH0KIAorc3RhdGljIF9XS0F1dG9wbGF5RXZlbnRGbGFncyB0b1dLQXV0b3BsYXlF
dmVudEZsYWdzKE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+IGZsYWdzKQor
eworICAgIF9XS0F1dG9wbGF5RXZlbnRGbGFncyB3a0ZsYWdzID0gX1dLQXV0b3BsYXlFdmVudEZs
YWdzTm9uZTsKKyAgICBpZiAoZmxhZ3MuY29udGFpbnMoV2ViQ29yZTo6QXV0b3BsYXlFdmVudEZs
YWdzOjpIYXNBdWRpbykpCisgICAgICAgIHdrRmxhZ3MgfD0gX1dLQXV0b3BsYXlFdmVudEZsYWdz
SGFzQXVkaW87CisgICAgCisgICAgcmV0dXJuIHdrRmxhZ3M7Cit9CisKK3N0YXRpYyBfV0tBdXRv
cGxheUV2ZW50IHRvV0tBdXRvcGxheUV2ZW50KFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQgZXZlbnQp
Cit7CisgICAgc3dpdGNoIChldmVudCkgeworICAgIGNhc2UgV2ViQ29yZTo6QXV0b3BsYXlFdmVu
dDo6RGlkUHJldmVudE1lZGlhRnJvbVBsYXlpbmc6CisgICAgICAgIHJldHVybiBfV0tBdXRvcGxh
eUV2ZW50RGlkUHJldmVudEZyb21BdXRvcGxheWluZzsKKyAgICBjYXNlIFdlYkNvcmU6OkF1dG9w
bGF5RXZlbnQ6OkRpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nOgorICAgICAgICByZXR1
cm4gX1dLQXV0b3BsYXlFdmVudERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21BdXRvcGxheWluZzsK
KyAgICBjYXNlIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQ6OkRpZEF1dG9wbGF5TWVkaWFQYXN0VGhy
ZXNob2xkV2l0aG91dFVzZXJJbnRlcmZlcmVuY2U6CisgICAgICAgIHJldHVybiBfV0tBdXRvcGxh
eUV2ZW50RGlkQXV0b3BsYXlNZWRpYVBhc3RUaHJlc2hvbGRXaXRob3V0VXNlckludGVyZmVyZW5j
ZTsKKyAgICBjYXNlIFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQ6OlVzZXJEaWRJbnRlcmZlcmVXaXRo
UGxheWJhY2s6CisgICAgICAgIHJldHVybiBfV0tBdXRvcGxheUV2ZW50VXNlckRpZEludGVyZmVy
ZVdpdGhQbGF5YmFjazsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIF9XS0F1dG9wbGF5RXZlbnREaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tQXV0b3BsYXlpbmc7
Cit9CisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmhhbmRsZUF1dG9wbGF5RXZlbnQoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpBdXRvcGxheUV2ZW50IGV2ZW50LCBPcHRpb25T
ZXQ8V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPiBmbGFncykKK3sKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3SGFuZGxlQXV0b3BsYXlFdmVudFdpdGhG
bGFncykKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVs
ZWdhdGUubV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZp
ZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBoYW5kbGVBdXRvcGxheUV2ZW50OnRvV0tBdXRvcGxh
eUV2ZW50KGV2ZW50KSB3aXRoRmxhZ3M6dG9XS0F1dG9wbGF5RXZlbnRGbGFncyhmbGFncyldOwor
fQorCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG93UGFnZShXZWJQYWdlUHJveHkqKQog
ewogICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLnNob3dXZWJWaWV3KQpJ
bmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2
aXNpb24gMjIxMTY5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTctMDgtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBBZGQgV0tVSURlbGVnYXRlUHJpdmF0ZSBlcXVpdmFsZW50IG9m
IFdLUGFnZVVJQ2xpZW50J3MgaGFuZGxlQXV0b3BsYXlFdmVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1OTY1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yOTI3MDAzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW06
CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJD
b2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW0F1dG9wbGF5UG9saWNpZXNEZWxl
Z2F0ZSBfd2ViVmlldzpoYW5kbGVBdXRvcGxheUV2ZW50OndpdGhGbGFnczpdKToKKyAgICAgICAg
KFRFU1QpOgorICAgICAgICAoaGFuZGxlQXV0b3BsYXlFdmVudCk6IERlbGV0ZWQuCisKIDIwMTct
MDgtMjQgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBjb25maWd1cmUteGNvZGUtZm9yLWlvcy1kZXZlbG9wbWVudCBmb3IgaU9TIDExCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9VSURlbGVnYXRlLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJRGVs
ZWdhdGUubW0JKHJldmlzaW9uIDIyMTE2NCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsxMzMs
NyBAQCBURVNUKFdlYktpdDIsIEZvY3VzKQogICAgICI8Ym9keSBvbmxvYWQ9J2xvYWRlZCgpJz48
aW5wdXQgdHlwZT0ndGV4dCcgaWQ9J2luJz48L2JvZHk+IjsKICAgICBbd2ViVmlldyBsb2FkSFRN
TFN0cmluZzpodG1sIGJhc2VVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vZXhhbXBs
ZS5jb20vIl1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Ci0gICAgQVNT
RVJUX0VRKHRha2VuRGlyZWN0aW9uLCBXS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQpOworICAgIEFT
U0VSVF9FUSh0YWtlbkRpcmVjdGlvbiwgX1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZCk7CiB9CiAK
IHN0YXRpYyB2b2lkIHN5bnRoZXNpemVXaGVlbEV2ZW50cyhOU1ZpZXcgKnZpZXcsIGludCB4LCBp
bnQgeSkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNp
dGVQb2xpY2llcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0JKHJldmlzaW9uIDIyMTEwNCkKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgog
I2ltcG9ydCA8V2ViS2l0L1dLUGFnZVByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1ByZWZl
cmVuY2VzUmVmUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLVUlEZWxlZ2F0ZVByaXZhdGUu
aD4KICNpbXBvcnQgPFdlYktpdC9XS1VSTFNjaGVtZVRhc2tQcml2YXRlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQv
V0tXZWJWaWV3UHJpdmF0ZS5oPgpAQCAtNTIsOCArNTMsOCBAQCBzdGF0aWMgYm9vbCBkb25lQ29t
cGlsaW5nOwogc3RhdGljIGJvb2wgcmVjZWl2ZWRBbGVydDsKIAogI2lmIFBMQVRGT1JNKE1BQykK
LXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdLQXV0b3BsYXlFdmVudD4gcmVjZWl2ZWRBdXRvcGxheUV2
ZW50Owotc3RhdGljIHN0ZDo6b3B0aW9uYWw8V0tBdXRvcGxheUV2ZW50RmxhZ3M+IHJlY2VpdmVk
QXV0b3BsYXlFdmVudEZsYWdzOworc3RhdGljIHN0ZDo6b3B0aW9uYWw8X1dLQXV0b3BsYXlFdmVu
dD4gcmVjZWl2ZWRBdXRvcGxheUV2ZW50Oworc3RhdGljIHN0ZDo6b3B0aW9uYWw8X1dLQXV0b3Bs
YXlFdmVudEZsYWdzPiByZWNlaXZlZEF1dG9wbGF5RXZlbnRGbGFnczsKICNlbmRpZgogCiBzdGF0
aWMgc2l6ZV90IGFsZXJ0Q291bnQ7CkBAIC0xNjIsNyArMTYzLDcgQEAgVEVTVChXZWJLaXQyLCBX
ZWJzaXRlUG9saWNpZXNDb250ZW50QmxvYwogICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50RXh0ZW5zaW9uc107CiB9CiAKLUBp
bnRlcmZhY2UgQXV0b3BsYXlQb2xpY2llc0RlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlv
bkRlbGVnYXRlLCBXS1VJRGVsZWdhdGU+CitAaW50ZXJmYWNlIEF1dG9wbGF5UG9saWNpZXNEZWxl
Z2F0ZSA6IE5TT2JqZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZSwgV0tVSURlbGVnYXRlUHJpdmF0
ZT4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3ko
XmF1dG9wbGF5UG9saWN5Rm9yVVJMKShOU1VSTCAqKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBj
b3B5KSBfV0tXZWJzaXRlQXV0b3BsYXlRdWlyayheYWxsb3dlZEF1dG9wbGF5UXVpcmtzRm9yVVJM
KShOU1VSTCAqKTsKIEBlbmQKQEAgLTE4Niw2ICsxODcsMTIgQEAgLSAodm9pZClfd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBkZQogICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25B
Y3Rpb25Qb2xpY3lBbGxvdywgd2Vic2l0ZVBvbGljaWVzKTsKIH0KIAorLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBoYW5kbGVBdXRvcGxheUV2ZW50OihfV0tBdXRvcGxheUV2
ZW50KWV2ZW50IHdpdGhGbGFnczooX1dLQXV0b3BsYXlFdmVudEZsYWdzKWZsYWdzCit7CisgICAg
cmVjZWl2ZWRBdXRvcGxheUV2ZW50RmxhZ3MgPSBmbGFnczsKKyAgICByZWNlaXZlZEF1dG9wbGF5
RXZlbnQgPSBldmVudDsKK30KKwogQGVuZAogCiBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2ll
c0F1dG9wbGF5RW5hYmxlZCkKQEAgLTI4MywxMiArMjkwLDYgQEAgVEVTVChXZWJLaXQyLCBXZWJz
aXRlUG9saWNpZXNBdXRvcGxheUVuYQogfQogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIHZv
aWQgaGFuZGxlQXV0b3BsYXlFdmVudChXS1BhZ2VSZWYgcGFnZSwgV0tBdXRvcGxheUV2ZW50IGV2
ZW50LCBXS0F1dG9wbGF5RXZlbnRGbGFncyBmbGFncywgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
LXsKLSAgICByZWNlaXZlZEF1dG9wbGF5RXZlbnRGbGFncyA9IGZsYWdzOwotICAgIHJlY2VpdmVk
QXV0b3BsYXlFdmVudCA9IGV2ZW50OwotfQotCiBzdGF0aWMgdm9pZCBydW5VbnRpbFJlY2VpdmVz
QXV0b3BsYXlFdmVudChXS0F1dG9wbGF5RXZlbnQgZXZlbnQpCiB7CiAgICAgd2hpbGUgKCFyZWNl
aXZlZEF1dG9wbGF5RXZlbnQgfHwgKnJlY2VpdmVkQXV0b3BsYXlFdmVudCAhPSBldmVudCkKQEAg
LTMwNSwxNCArMzA2LDggQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNQbGF5QWZ0ZXJQ
cgogICAgICAgICByZXR1cm4gX1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5RGVueTsKICAgICB9XTsK
ICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAg
IFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCi0gICAgV0tQYWdlVUlD
bGllbnRWOSB1aUNsaWVudDsKLSAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBzaXplb2YodWlDbGll
bnQpKTsKLQotICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9IDk7Ci0gICAgdWlDbGllbnQuaGFu
ZGxlQXV0b3BsYXlFdmVudCA9IGhhbmRsZUF1dG9wbGF5RXZlbnQ7Ci0KLSAgICBXS1BhZ2VTZXRQ
YWdlVUlDbGllbnQoW3dlYlZpZXcgX3BhZ2VGb3JUZXN0aW5nXSwgJnVpQ2xpZW50LmJhc2UpOwog
ICAgIE5TUG9pbnQgcGxheUJ1dHRvbkNsaWNrUG9pbnQgPSBOU01ha2VQb2ludCgyMCwgMjU2KTsK
IAogICAgIHJlY2VpdmVkQXV0b3BsYXlFdmVudCA9IHN0ZDo6bnVsbG9wdDsKQEAgLTM3OSwxNCAr
Mzc0LDcgQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNQbGF5aW5nV2l0aAogICAgICAg
ICByZXR1cm4gX1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5QWxsb3c7CiAgICAgfV07CiAgICAgW3dl
YlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKLQotICAgIFdLUGFn
ZVVJQ2xpZW50VjkgdWlDbGllbnQ7Ci0gICAgbWVtc2V0KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVp
Q2xpZW50KSk7Ci0KLSAgICB1aUNsaWVudC5iYXNlLnZlcnNpb24gPSA5OwotICAgIHVpQ2xpZW50
LmhhbmRsZUF1dG9wbGF5RXZlbnQgPSBoYW5kbGVBdXRvcGxheUV2ZW50OwotCi0gICAgV0tQYWdl
U2V0UGFnZVVJQ2xpZW50KFt3ZWJWaWV3IF9wYWdlRm9yVGVzdGluZ10sICZ1aUNsaWVudC5iYXNl
KTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKIAogICAgIHJl
Y2VpdmVkQXV0b3BsYXlFdmVudCA9IHN0ZDo6bnVsbG9wdDsKICAgICBOU1VSTFJlcXVlc3QgKmpz
UGxheVJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJqcy1hdXRvcGxheS1hdWRpbyIgd2l0aEV4dGVuc2lv
bjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwpAQCAt
NDA1LDE0ICszOTMsNyBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc1VzZXJJbnRlcmZl
CiAgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3lBbGxvdzsKICAgICB9XTsK
ICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwotCi0g
ICAgV0tQYWdlVUlDbGllbnRWOSB1aUNsaWVudDsKLSAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBz
aXplb2YodWlDbGllbnQpKTsKLQotICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9IDk7Ci0gICAg
dWlDbGllbnQuaGFuZGxlQXV0b3BsYXlFdmVudCA9IGhhbmRsZUF1dG9wbGF5RXZlbnQ7Ci0KLSAg
ICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoW3dlYlZpZXcgX3BhZ2VGb3JUZXN0aW5nXSwgJnVpQ2xp
ZW50LmJhc2UpOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwog
CiAgICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gc3RkOjpudWxsb3B0OwogICAgIE5TVVJMUmVx
dWVzdCAqanNQbGF5UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImpzLXBsYXktd2l0aC1jb250cm9scyIg
d2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3Vy
Y2VzIl1dOwpAQCAtNTQwLDEzICs1MjEsNyBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2ll
c0R1cmluZ1JlZGlyCiAgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3lBbGxv
dzsKICAgICB9XTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUu
Z2V0KCldOwotICAgIAotICAgIFdLUGFnZVVJQ2xpZW50VjkgdWlDbGllbnQ7Ci0gICAgbWVtc2V0
KCZ1aUNsaWVudCwgMCwgc2l6ZW9mKHVpQ2xpZW50KSk7Ci0gICAgdWlDbGllbnQuYmFzZS52ZXJz
aW9uID0gOTsKLSAgICB1aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0b3Bs
YXlFdmVudDsKLSAgICAKLSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoW3dlYlZpZXcgX3BhZ2VG
b3JUZXN0aW5nXSwgJnVpQ2xpZW50LmJhc2UpOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6
ZGVsZWdhdGUuZ2V0KCldOwogICAgIAogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJ0ZXN0Oi8vL3Nob3Vs
ZC1yZWRpcmVjdCJdXV07CiAgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJhdXRvcGxheWVk
Il07CkBAIC01NTYsMTcgKzUzMSw5IEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzVXBk
YXRlcykKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tU
ZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2
MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwotCi0gICAgV0tQYWdlVUlD
bGllbnRWOSB1aUNsaWVudDsKLSAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBzaXplb2YodWlDbGll
bnQpKTsKLQotICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9IDk7Ci0gICAgdWlDbGllbnQuaGFu
ZGxlQXV0b3BsYXlFdmVudCA9IGhhbmRsZUF1dG9wbGF5RXZlbnQ7Ci0KLSAgICBXS1BhZ2VTZXRQ
YWdlVUlDbGllbnQoW3dlYlZpZXcgX3BhZ2VGb3JUZXN0aW5nXSwgJnVpQ2xpZW50LmJhc2UpOwot
CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUg
YWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdh
dGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwog
CiAgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0V2l0aEF1ZGlvID0gW05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiYXV0b3Bs
YXktY2hlY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0
QVBJLnJlc291cmNlcyJdXTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319037</attachid>
            <date>2017-08-24 16:56:13 -0700</date>
            <delta_ts>2017-08-24 17:11:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175965-20170824165612.patch</filename>
            <type>text/plain</type>
            <size>15142</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjExNjQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA4LTI0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIGhhbmRsZUF1dG9wbGF5
RXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTk2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkyNzAwMzU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGluZyBBUEkg
dGVzdHMgdG8gdXNlIFVJRGVsZWdhdGUgaW5zdGVhZCBvZiBfcGFnZUZvclRlc3RpbmcgYW5kIFdL
UGFnZVVJQ2xpZW50LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6
VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0Ojp0b1dLRm9jdXNEaXJl
Y3Rpb24pOgorICAgICAgICAoV2ViS2l0Ojp0b1dLQXV0b3BsYXlFdmVudEZsYWdzKToKKyAgICAg
ICAgKFdlYktpdDo6dG9XS0F1dG9wbGF5RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVn
YXRlOjpVSUNsaWVudDo6aGFuZGxlQXV0b3BsYXlFdmVudCk6CisKIDIwMTctMDgtMjQgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV0tV
SURlbGVnYXRlUHJpdmF0ZSBjYWxsYmFjayBjb3JyZXNwb25kaW5nIHRvIFBhZ2VVSUNsaWVudCdz
IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkocmV2aXNpb24gMjIx
MTY0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsMjAgQEAKIEBwcm90b2NvbCBVSURy
b3BTZXNzaW9uOwogI2Vsc2UKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0ZvY3VzRGly
ZWN0aW9uKSB7Ci0gICAgV0tGb2N1c0RpcmVjdGlvbkJhY2t3YXJkLAotICAgIFdLRm9jdXNEaXJl
Y3Rpb25Gb3J3YXJkLAorICAgIF9XS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQsCisgICAgX1dLRm9j
dXNEaXJlY3Rpb25Gb3J3YXJkLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSk7CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0F1dG9wbGF5RXZlbnQpIHsKKyAg
ICBfV0tBdXRvcGxheUV2ZW50RGlkUHJldmVudEZyb21BdXRvcGxheWluZywKKyAgICBfV0tBdXRv
cGxheUV2ZW50RGlkUGxheU1lZGlhUHJldmVudGVkRnJvbUF1dG9wbGF5aW5nLAorICAgIF9XS0F1
dG9wbGF5RXZlbnREaWRBdXRvcGxheU1lZGlhUGFzdFRocmVzaG9sZFdpdGhvdXRVc2VySW50ZXJm
ZXJlbmNlLAorICAgIF9XS0F1dG9wbGF5RXZlbnRVc2VyRGlkSW50ZXJmZXJlV2l0aFBsYXliYWNr
LAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CisKK3R5cGVkZWYgTlNf
T1BUSU9OUyhOU0ludGVnZXIsIF9XS0F1dG9wbGF5RXZlbnRGbGFncykgeworICAgIF9XS0F1dG9w
bGF5RXZlbnRGbGFnc05vbmUgPSAwLAorICAgIF9XS0F1dG9wbGF5RXZlbnRGbGFnc0hhc0F1ZGlv
ID0gMSA8PCAwLAogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAjZW5k
aWYKIApAQCAtMTMwLDYgKzE0Miw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV91
bmZvY3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSk7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRh
a2VGb2N1czooX1dLRm9jdXNEaXJlY3Rpb24pZGlyZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
ZGlkTm90SGFuZGxlV2hlZWxFdmVudDooTlNFdmVudCAqKWV2ZW50IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgaGFuZGxlQXV0b3BsYXlFdmVudDooX1dLQXV0b3BsYXlFdmVudClldmVudCB3aXRoRmxhZ3M6
KF9XS0F1dG9wbGF5RXZlbnRGbGFncylmbGFncyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSk7CiAtIChOU01lbnUgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjb250
ZXh0TWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50OihfV0tDb250ZXh0TWVudUVsZW1lbnRJ
bmZvICopZWxlbWVudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwogLSAoTlNNZW51
ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4dE1lbnU6KE5TTWVudSAqKW1l
bnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVsZW1lbnQgdXNlcklu
Zm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTIpKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUuaAkocmV2aXNpb24gMjIxMTY0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNiArMTAxLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgdm9pZCBmb2N1cyhXZWJQYWdlUHJveHkqKSBmaW5hbDsKICAgICAgICAg
dm9pZCB1bmZvY3VzKFdlYlBhZ2VQcm94eSopIGZpbmFsOwogICAgICAgICB2b2lkIGRpZE5vdEhh
bmRsZVdoZWVsRXZlbnQoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJLaXQ6Ok5hdGl2
ZVdlYldoZWVsRXZlbnQmKSBmaW5hbDsKKyAgICAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50
KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6QXV0b3BsYXlFdmVudCwgT3B0aW9uU2V0
PFdlYkNvcmU6OkF1dG9wbGF5RXZlbnRGbGFncz4pIGZpbmFsOwogICAgICAgICBib29sIHJ1bk9w
ZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiwgV2ViT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJQcm94eSopIGZpbmFsOwogI2VuZGlmCiAgICAgICAgIGJvb2wgZGVjaWRl
UG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QoV2ViUGFnZVByb3h5JiwgV2ViRnJh
bWVQcm94eSYsIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYpIGZpbmFsOwpAQCAtMTQ2LDYgKzE0Nyw3IEBA
IHByaXZhdGU6CiAgICAgICAgIGJvb2wgdW5mb2N1c1dlYlZpZXcgOiAxOwogICAgICAgICBib29s
IHdlYlZpZXdUYWtlRm9jdXMgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWROb3RIYW5kbGVX
aGVlbEV2ZW50IDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3SGFuZGxlQXV0b3BsYXlFdmVudFdp
dGhGbGFncyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld1J1bk9wZW5QYW5lbFdpdGhQYXJhbWV0
ZXJzSW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyIDogMTsKICNlbmRpZgogICAgICAg
ICBib29sIHdlYlZpZXdEZWNpZGVEYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW5DdXJyZW50
UXVvdGFDdXJyZW50T3JpZ2luVXNhZ2VDdXJyZW50RGF0YWJhc2VVc2FnZUV4cGVjdGVkVXNhZ2VE
ZWNpc2lvbkhhbmRsZXIgOiAxOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCShyZXZpc2lvbiAyMjExNjQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiArMTA2LDcg
QEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbAogICAgIG1fZGVsZWdh
dGVNZXRob2RzLnVuZm9jdXNXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX3VuZm9jdXNXZWJWaWV3OildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZp
ZXdUYWtlRm9jdXMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
Vmlldzp0YWtlRm9jdXM6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZE5vdEhh
bmRsZVdoZWVsRXZlbnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihf
d2ViVmlldzpkaWROb3RIYW5kbGVXaGVlbEV2ZW50OildOworICAgIG1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdIYW5kbGVBdXRvcGxheUV2ZW50V2l0aEZsYWdzID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6aGFuZGxlQXV0b3BsYXlFdmVudDp3aXRoRmxh
Z3M6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1J1bk9wZW5QYW5lbFdpdGhQYXJh
bWV0ZXJzSW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViVmlldzpydW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVy
czppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOildOwogI2VuZGlmCiAKQEAgLTM4
MSwxMiArMzgyLDEyIEBAIHN0YXRpYyBpbmxpbmUgX1dLRm9jdXNEaXJlY3Rpb24gdG9XS0ZvY3UK
IHsKICAgICBzd2l0Y2ggKGRpcmVjdGlvbikgewogICAgIGNhc2Uga1dLRm9jdXNEaXJlY3Rpb25C
YWNrd2FyZDoKLSAgICAgICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDsKKyAgICAg
ICAgcmV0dXJuIF9XS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQ7CiAgICAgY2FzZSBrV0tGb2N1c0Rp
cmVjdGlvbkZvcndhcmQ6Ci0gICAgICAgIHJldHVybiBXS0ZvY3VzRGlyZWN0aW9uRm9yd2FyZDsK
KyAgICAgICAgcmV0dXJuIF9XS0ZvY3VzRGlyZWN0aW9uRm9yd2FyZDsKICAgICB9CiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkOwor
ICAgIHJldHVybiBfV0tGb2N1c0RpcmVjdGlvbkZvcndhcmQ7CiB9CiAKIHZvaWQgVUlEZWxlZ2F0
ZTo6VUlDbGllbnQ6OnRha2VGb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdLRm9jdXNEaXJl
Y3Rpb24gZGlyZWN0aW9uKQpAQCAtNDM3LDYgKzQzOCw0MyBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJ
Q2xpZW50OjpkaWROb3RIYW5kbGVXCiAgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVs
ZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBkaWROb3RIYW5kbGVXaGVlbEV2
ZW50OmV2ZW50Lm5hdGl2ZUV2ZW50KCldOwogfQogCitzdGF0aWMgX1dLQXV0b3BsYXlFdmVudEZs
YWdzIHRvV0tBdXRvcGxheUV2ZW50RmxhZ3MoT3B0aW9uU2V0PFdlYkNvcmU6OkF1dG9wbGF5RXZl
bnRGbGFncz4gZmxhZ3MpCit7CisgICAgX1dLQXV0b3BsYXlFdmVudEZsYWdzIHdrRmxhZ3MgPSBf
V0tBdXRvcGxheUV2ZW50RmxhZ3NOb25lOworICAgIGlmIChmbGFncy5jb250YWlucyhXZWJDb3Jl
OjpBdXRvcGxheUV2ZW50RmxhZ3M6Okhhc0F1ZGlvKSkKKyAgICAgICAgd2tGbGFncyB8PSBfV0tB
dXRvcGxheUV2ZW50RmxhZ3NIYXNBdWRpbzsKKyAgICAKKyAgICByZXR1cm4gd2tGbGFnczsKK30K
Kworc3RhdGljIF9XS0F1dG9wbGF5RXZlbnQgdG9XS0F1dG9wbGF5RXZlbnQoV2ViQ29yZTo6QXV0
b3BsYXlFdmVudCBldmVudCkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50KSB7CisgICAgY2FzZSBXZWJD
b3JlOjpBdXRvcGxheUV2ZW50OjpEaWRQcmV2ZW50TWVkaWFGcm9tUGxheWluZzoKKyAgICAgICAg
cmV0dXJuIF9XS0F1dG9wbGF5RXZlbnREaWRQcmV2ZW50RnJvbUF1dG9wbGF5aW5nOworICAgIGNh
c2UgV2ViQ29yZTo6QXV0b3BsYXlFdmVudDo6RGlkUGxheU1lZGlhUHJldmVudGVkRnJvbVBsYXlp
bmc6CisgICAgICAgIHJldHVybiBfV0tBdXRvcGxheUV2ZW50RGlkUGxheU1lZGlhUHJldmVudGVk
RnJvbUF1dG9wbGF5aW5nOworICAgIGNhc2UgV2ViQ29yZTo6QXV0b3BsYXlFdmVudDo6RGlkQXV0
b3BsYXlNZWRpYVBhc3RUaHJlc2hvbGRXaXRob3V0VXNlckludGVyZmVyZW5jZToKKyAgICAgICAg
cmV0dXJuIF9XS0F1dG9wbGF5RXZlbnREaWRBdXRvcGxheU1lZGlhUGFzdFRocmVzaG9sZFdpdGhv
dXRVc2VySW50ZXJmZXJlbmNlOworICAgIGNhc2UgV2ViQ29yZTo6QXV0b3BsYXlFdmVudDo6VXNl
ckRpZEludGVyZmVyZVdpdGhQbGF5YmFjazoKKyAgICAgICAgcmV0dXJuIF9XS0F1dG9wbGF5RXZl
bnRVc2VyRGlkSW50ZXJmZXJlV2l0aFBsYXliYWNrOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gX1dLQXV0b3BsYXlFdmVudERpZFBsYXlNZWRpYVByZXZlbnRl
ZEZyb21BdXRvcGxheWluZzsKK30KKwordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6aGFuZGxl
QXV0b3BsYXlFdmVudChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYkNvcmU6OkF1dG9wbGF5RXZl
bnQgZXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+IGZsYWdzKQor
eworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIYW5kbGVB
dXRvcGxheUV2ZW50V2l0aEZsYWdzKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byBk
ZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdh
dGUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
PilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IGhhbmRsZUF1dG9wbGF5
RXZlbnQ6dG9XS0F1dG9wbGF5RXZlbnQoZXZlbnQpIHdpdGhGbGFnczp0b1dLQXV0b3BsYXlFdmVu
dEZsYWdzKGZsYWdzKV07Cit9CisKIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnNob3dQYWdl
KFdlYlBhZ2VQcm94eSopCiB7CiAgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhv
ZHMuc2hvd1dlYlZpZXcpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjExNjkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wOC0yNCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdhdGVQcml2
YXRlIGVxdWl2YWxlbnQgb2YgV0tQYWdlVUlDbGllbnQncyBoYW5kbGVBdXRvcGxheUV2ZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5NjUKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbToKKyAgICAgICAgKC1bQXV0
b3BsYXlQb2xpY2llc0RlbGVnYXRlIF93ZWJWaWV3OmhhbmRsZUF1dG9wbGF5RXZlbnQ6d2l0aEZs
YWdzOl0pOgorICAgICAgICAoVEVTVCk6CisgICAgICAgIChoYW5kbGVBdXRvcGxheUV2ZW50KTog
RGVsZXRlZC4KKwogMjAxNy0wOC0yNCAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXBkYXRlIGNvbmZpZ3VyZS14Y29kZS1mb3ItaW9zLWRldmVsb3BtZW50
IGZvciBpT1MgMTEKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L1VJRGVsZWdhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkocmV2aXNpb24gMjIxMTY0KQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMTMzLDcgKzEzMyw3IEBAIFRFU1QoV2ViS2l0MiwgRm9jdXMpCiAgICAgIjxib2R5IG9u
bG9hZD0nbG9hZGVkKCknPjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0naW4nPjwvYm9keT4iOwogICAg
IFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOmh0bWwgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImh0dHA6Ly9leGFtcGxlLmNvbS8iXV07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZkb25lKTsKLSAgICBBU1NFUlRfRVEodGFrZW5EaXJlY3Rpb24sIFdLRm9jdXNEaXJlY3Rpb25C
YWNrd2FyZCk7CisgICAgQVNTRVJUX0VRKHRha2VuRGlyZWN0aW9uLCBfV0tGb2N1c0RpcmVjdGlv
bkJhY2t3YXJkKTsKIH0KIAogc3RhdGljIHZvaWQgc3ludGhlc2l6ZVdoZWVsRXZlbnRzKE5TVmll
dyAqdmlldywgaW50IHgsIGludCB5KQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbQkocmV2aXNpb24g
MjIxMTA0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0
ZVBvbGljaWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJU
ZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tQYWdlUHJpdmF0ZS5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tV
SURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLVVJMU2NoZW1lVGFza1ByaXZh
dGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaD4K
ICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CkBAIC01Miw4ICs1Myw4IEBAIHN0
YXRpYyBib29sIGRvbmVDb21waWxpbmc7CiBzdGF0aWMgYm9vbCByZWNlaXZlZEFsZXJ0OwogCiAj
aWYgUExBVEZPUk0oTUFDKQotc3RhdGljIHN0ZDo6b3B0aW9uYWw8V0tBdXRvcGxheUV2ZW50PiBy
ZWNlaXZlZEF1dG9wbGF5RXZlbnQ7Ci1zdGF0aWMgc3RkOjpvcHRpb25hbDxXS0F1dG9wbGF5RXZl
bnRGbGFncz4gcmVjZWl2ZWRBdXRvcGxheUV2ZW50RmxhZ3M7CitzdGF0aWMgc3RkOjpvcHRpb25h
bDxfV0tBdXRvcGxheUV2ZW50PiByZWNlaXZlZEF1dG9wbGF5RXZlbnQ7CitzdGF0aWMgc3RkOjpv
cHRpb25hbDxfV0tBdXRvcGxheUV2ZW50RmxhZ3M+IHJlY2VpdmVkQXV0b3BsYXlFdmVudEZsYWdz
OwogI2VuZGlmCiAKIHN0YXRpYyBzaXplX3QgYWxlcnRDb3VudDsKQEAgLTE2Miw3ICsxNjMsNyBA
QCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0NvbnRlbnRCbG9jCiAgICAgW1tfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gX3JlbW92ZUFsbENvbnRlbnRFeHRl
bnNpb25zXTsKIH0KIAotQGludGVyZmFjZSBBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUgOiBOU09i
amVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGUsIFdLVUlEZWxlZ2F0ZT4KK0BpbnRlcmZhY2UgQXV0
b3BsYXlQb2xpY2llc0RlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBX
S1VJRGVsZWdhdGVQcml2YXRlPgogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIF9XS1dlYnNp
dGVBdXRvcGxheVBvbGljeSheYXV0b3BsYXlQb2xpY3lGb3JVUkwpKE5TVVJMICopOwogQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIF9XS1dlYnNpdGVBdXRvcGxheVF1aXJrKF5hbGxvd2VkQXV0
b3BsYXlRdWlya3NGb3JVUkwpKE5TVVJMICopOwogQGVuZApAQCAtMTg2LDYgKzE4NywxMiBAQCAt
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlCiAgICAgZGVjaXNpb25IYW5k
bGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93LCB3ZWJzaXRlUG9saWNpZXMpOwogfQog
CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGhhbmRsZUF1dG9wbGF5RXZl
bnQ6KF9XS0F1dG9wbGF5RXZlbnQpZXZlbnQgd2l0aEZsYWdzOihfV0tBdXRvcGxheUV2ZW50Rmxh
Z3MpZmxhZ3MKK3sKKyAgICByZWNlaXZlZEF1dG9wbGF5RXZlbnRGbGFncyA9IGZsYWdzOworICAg
IHJlY2VpdmVkQXV0b3BsYXlFdmVudCA9IGV2ZW50OworfQorCiBAZW5kCiAKIFRFU1QoV2ViS2l0
MiwgV2Vic2l0ZVBvbGljaWVzQXV0b3BsYXlFbmFibGVkKQpAQCAtMjgzLDEyICsyOTAsNiBAQCBU
RVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0F1dG9wbGF5RW5hCiB9CiAKICNpZiBQTEFURk9S
TShNQUMpCi1zdGF0aWMgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdLUGFnZVJlZiBwYWdlLCBX
S0F1dG9wbGF5RXZlbnQgZXZlbnQsIFdLQXV0b3BsYXlFdmVudEZsYWdzIGZsYWdzLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQotewotICAgIHJlY2VpdmVkQXV0b3BsYXlFdmVudEZsYWdzID0gZmxh
Z3M7Ci0gICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gZXZlbnQ7Ci19Ci0KIHN0YXRpYyB2b2lk
IHJ1blVudGlsUmVjZWl2ZXNBdXRvcGxheUV2ZW50KFdLQXV0b3BsYXlFdmVudCBldmVudCkKIHsK
ICAgICB3aGlsZSAoIXJlY2VpdmVkQXV0b3BsYXlFdmVudCB8fCAqcmVjZWl2ZWRBdXRvcGxheUV2
ZW50ICE9IGV2ZW50KQpAQCAtMzA1LDE0ICszMDYsOCBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQ
b2xpY2llc1BsYXlBZnRlclByCiAgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlQb2xp
Y3lEZW55OwogICAgIH1dOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxl
Z2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07
CiAKLSAgICBXS1BhZ2VVSUNsaWVudFY5IHVpQ2xpZW50OwotICAgIG1lbXNldCgmdWlDbGllbnQs
IDAsIHNpemVvZih1aUNsaWVudCkpOwotCi0gICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gOTsK
LSAgICB1aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0b3BsYXlFdmVudDsK
LQotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAm
dWlDbGllbnQuYmFzZSk7CiAgICAgTlNQb2ludCBwbGF5QnV0dG9uQ2xpY2tQb2ludCA9IE5TTWFr
ZVBvaW50KDIwLCAyNTYpOwogCiAgICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gc3RkOjpudWxs
b3B0OwpAQCAtMzc5LDE0ICszNzQsNyBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc1Bs
YXlpbmdXaXRoCiAgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3lBbGxvdzsK
ICAgICB9XTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0
KCldOwotCi0gICAgV0tQYWdlVUlDbGllbnRWOSB1aUNsaWVudDsKLSAgICBtZW1zZXQoJnVpQ2xp
ZW50LCAwLCBzaXplb2YodWlDbGllbnQpKTsKLQotICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9
IDk7Ci0gICAgdWlDbGllbnQuaGFuZGxlQXV0b3BsYXlFdmVudCA9IGhhbmRsZUF1dG9wbGF5RXZl
bnQ7Ci0KLSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoW3dlYlZpZXcgX3BhZ2VGb3JUZXN0aW5n
XSwgJnVpQ2xpZW50LmJhc2UpOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUu
Z2V0KCldOwogCiAgICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gc3RkOjpudWxsb3B0OwogICAg
IE5TVVJMUmVxdWVzdCAqanNQbGF5UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImpzLWF1dG9wbGF5LWF1
ZGlvIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXV07CkBAIC00MDUsMTQgKzM5Myw3IEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBv
bGljaWVzVXNlckludGVyZmUKICAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVBdXRvcGxheVBvbGlj
eUFsbG93OwogICAgIH1dOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxl
Z2F0ZS5nZXQoKV07Ci0KLSAgICBXS1BhZ2VVSUNsaWVudFY5IHVpQ2xpZW50OwotICAgIG1lbXNl
dCgmdWlDbGllbnQsIDAsIHNpemVvZih1aUNsaWVudCkpOwotCi0gICAgdWlDbGllbnQuYmFzZS52
ZXJzaW9uID0gOTsKLSAgICB1aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0
b3BsYXlFdmVudDsKLQotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZv
clRlc3RpbmddLCAmdWlDbGllbnQuYmFzZSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpk
ZWxlZ2F0ZS5nZXQoKV07CiAKICAgICByZWNlaXZlZEF1dG9wbGF5RXZlbnQgPSBzdGQ6Om51bGxv
cHQ7CiAgICAgTlNVUkxSZXF1ZXN0ICpqc1BsYXlSZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAianMtcGxh
eS13aXRoLWNvbnRyb2xzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVz
dFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CkBAIC01NDAsMTMgKzUyMSw3IEBAIFRFU1QoV2ViS2l0
MiwgV2Vic2l0ZVBvbGljaWVzRHVyaW5nUmVkaXIKICAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVB
dXRvcGxheVBvbGljeUFsbG93OwogICAgIH1dOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25E
ZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07Ci0gICAgCi0gICAgV0tQYWdlVUlDbGllbnRWOSB1aUNs
aWVudDsKLSAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBzaXplb2YodWlDbGllbnQpKTsKLSAgICB1
aUNsaWVudC5iYXNlLnZlcnNpb24gPSA5OwotICAgIHVpQ2xpZW50LmhhbmRsZUF1dG9wbGF5RXZl
bnQgPSBoYW5kbGVBdXRvcGxheUV2ZW50OwotICAgIAotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVu
dChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAmdWlDbGllbnQuYmFzZSk7CisgICAgW3dlYlZp
ZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAgICAgCiAgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAInRlc3Q6Ly8vc2hvdWxkLXJlZGlyZWN0Il1dXTsKICAgICBbd2ViVmlldyB3YWl0Rm9yTWVz
c2FnZTpAImF1dG9wbGF5ZWQiXTsKQEAgLTU1NiwxNyArNTMxLDkgQEAgVEVTVChXZWJLaXQyLCBX
ZWJzaXRlUG9saWNpZXNVcGRhdGVzKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7
Ci0KLSAgICBXS1BhZ2VVSUNsaWVudFY5IHVpQ2xpZW50OwotICAgIG1lbXNldCgmdWlDbGllbnQs
IDAsIHNpemVvZih1aUNsaWVudCkpOwotCi0gICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gOTsK
LSAgICB1aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0b3BsYXlFdmVudDsK
LQotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAm
dWlDbGllbnQuYmFzZSk7Ci0KICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0F1dG9wbGF5
UG9saWNpZXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRp
b25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpk
ZWxlZ2F0ZS5nZXQoKV07CiAKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3RXaXRoQXVkaW8gPSBb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9y
UmVzb3VyY2U6QCJhdXRvcGxheS1jaGVjayIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVj
dG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319042</attachid>
            <date>2017-08-24 17:11:28 -0700</date>
            <delta_ts>2017-08-24 17:18:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175965-20170824171128.patch</filename>
            <type>text/plain</type>
            <size>15136</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjExNjQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA4LTI0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIGhhbmRsZUF1dG9wbGF5
RXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTk2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkyNzAwMzU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0aW5nIEFQSSB0ZXN0
cyB0byB1c2UgVUlEZWxlZ2F0ZSBpbnN0ZWFkIG9mIF9wYWdlRm9yVGVzdGluZyBhbmQgV0tQYWdl
VUlDbGllbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURl
bGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OnRvV0tGb2N1c0RpcmVjdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OnRvV0tBdXRvcGxheUV2ZW50RmxhZ3MpOgorICAgICAgICAo
V2ViS2l0Ojp0b1dLQXV0b3BsYXlFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6
OlVJQ2xpZW50OjpoYW5kbGVBdXRvcGxheUV2ZW50KToKKwogMjAxNy0wOC0yNCAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBXS1VJRGVs
ZWdhdGVQcml2YXRlIGNhbGxiYWNrIGNvcnJlc3BvbmRpbmcgdG8gUGFnZVVJQ2xpZW50J3MgZGlk
Tm90SGFuZGxlV2hlZWxFdmVudApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiAyMjExNjQp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0NywyMCBAQAogQHByb3RvY29sIFVJRHJvcFNl
c3Npb247CiAjZWxzZQogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRm9jdXNEaXJlY3Rp
b24pIHsKLSAgICBXS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQsCi0gICAgV0tGb2N1c0RpcmVjdGlv
bkZvcndhcmQsCisgICAgX1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZCwKKyAgICBfV0tGb2N1c0Rp
cmVjdGlvbkZvcndhcmQsCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsK
KwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0b3BsYXlFdmVudCkgeworICAgIF9X
S0F1dG9wbGF5RXZlbnREaWRQcmV2ZW50RnJvbUF1dG9wbGF5aW5nLAorICAgIF9XS0F1dG9wbGF5
RXZlbnREaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tQXV0b3BsYXlpbmcsCisgICAgX1dLQXV0b3Bs
YXlFdmVudERpZEF1dG9wbGF5TWVkaWFQYXN0VGhyZXNob2xkV2l0aG91dFVzZXJJbnRlcmZlcmVu
Y2UsCisgICAgX1dLQXV0b3BsYXlFdmVudFVzZXJEaWRJbnRlcmZlcmVXaXRoUGxheWJhY2ssCit9
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKwordHlwZWRlZiBOU19PUFRJ
T05TKE5TSW50ZWdlciwgX1dLQXV0b3BsYXlFdmVudEZsYWdzKSB7CisgICAgX1dLQXV0b3BsYXlF
dmVudEZsYWdzTm9uZSA9IDAsCisgICAgX1dLQXV0b3BsYXlFdmVudEZsYWdzSGFzQXVkaW8gPSAx
IDw8IDAsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKICNlbmRpZgog
CkBAIC0xMzAsNiArMTQyLDcgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0gKHZvaWQpX3VuZm9j
dXNXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgdGFrZUZv
Y3VzOihfV0tGb2N1c0RpcmVjdGlvbilkaXJlY3Rpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRO
b3RIYW5kbGVXaGVlbEV2ZW50OihOU0V2ZW50ICopZXZlbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBo
YW5kbGVBdXRvcGxheUV2ZW50OihfV0tBdXRvcGxheUV2ZW50KWV2ZW50IHdpdGhGbGFnczooX1dL
QXV0b3BsYXlFdmVudEZsYWdzKWZsYWdzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpKTsKIC0gKE5TTWVudSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbnRleHRN
ZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8g
KillbGVtZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAtIChOU01lbnUgKilf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjb250ZXh0TWVudTooTlNNZW51ICopbWVudSBm
b3JFbGVtZW50OihfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1c2VySW5mbzoo
aWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MikpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5oCShyZXZpc2lvbiAyMjExNjQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsNyBAQCBwcml2YXRl
OgogICAgICAgICB2b2lkIGZvY3VzKFdlYlBhZ2VQcm94eSopIGZpbmFsOwogICAgICAgICB2b2lk
IHVuZm9jdXMoV2ViUGFnZVByb3h5KikgZmluYWw7CiAgICAgICAgIHZvaWQgZGlkTm90SGFuZGxl
V2hlZWxFdmVudChXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdlYktpdDo6TmF0aXZlV2Vi
V2hlZWxFdmVudCYpIGZpbmFsOworICAgICAgICB2b2lkIGhhbmRsZUF1dG9wbGF5RXZlbnQoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25TZXQ8V2Vi
Q29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7CiAgICAgICAgIGJvb2wgcnVuT3BlblBh
bmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lclByb3h5KikgZmluYWw7CiAjZW5kaWYKICAgICAgICAgYm9vbCBkZWNpZGVQb2xp
Y3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVBy
b3h5JiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5JikgZmluYWw7CkBAIC0xNDYsNiArMTQ3LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgYm9vbCB1bmZvY3VzV2ViVmlldyA6IDE7CiAgICAgICAgIGJvb2wgd2Vi
Vmlld1Rha2VGb2N1cyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0RpZE5vdEhhbmRsZVdoZWVs
RXZlbnQgOiAxOworICAgICAgICBib29sIHdlYlZpZXdIYW5kbGVBdXRvcGxheUV2ZW50V2l0aEZs
YWdzIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnNJ
bml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogI2VuZGlmCiAgICAgICAgIGJv
b2wgd2ViVmlld0RlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkN1cnJlbnRRdW90
YUN1cnJlbnRPcmlnaW5Vc2FnZUN1cnJlbnREYXRhYmFzZVVzYWdlRXhwZWN0ZWRVc2FnZURlY2lz
aW9uSGFuZGxlciA6IDE7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW0JKHJldmlzaW9uIDIyMTE2NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNiw2ICsxMDYsNyBAQCB2
b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsCiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMudW5mb2N1c1dlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihfdW5mb2N1c1dlYlZpZXc6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1Rh
a2VGb2N1cyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OnRha2VGb2N1czopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTm90SGFuZGxl
V2hlZWxFdmVudCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJW
aWV3OmRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
Vmlld0hhbmRsZUF1dG9wbGF5RXZlbnRXaXRoRmxhZ3MgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpoYW5kbGVBdXRvcGxheUV2ZW50OndpdGhGbGFnczop
XTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UnVuT3BlblBhbmVsV2l0aFBhcmFtZXRl
cnNJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3OnJ1bk9wZW5QYW5lbFdpdGhQYXJhbWV0ZXJzOmlu
aXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07CiAjZW5kaWYKIApAQCAtMzgxLDEy
ICszODIsMTIgQEAgc3RhdGljIGlubGluZSBfV0tGb2N1c0RpcmVjdGlvbiB0b1dLRm9jdQogewog
ICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7CiAgICAgY2FzZSBrV0tGb2N1c0RpcmVjdGlvbkJhY2t3
YXJkOgotICAgICAgICByZXR1cm4gV0tGb2N1c0RpcmVjdGlvbkJhY2t3YXJkOworICAgICAgICBy
ZXR1cm4gX1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDsKICAgICBjYXNlIGtXS0ZvY3VzRGlyZWN0
aW9uRm9yd2FyZDoKLSAgICAgICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkOworICAg
ICAgICByZXR1cm4gX1dLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkOwogICAgIH0KICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gV0tGb2N1c0RpcmVjdGlvbkZvcndhcmQ7CisgICAg
cmV0dXJuIF9XS0ZvY3VzRGlyZWN0aW9uRm9yd2FyZDsKIH0KIAogdm9pZCBVSURlbGVnYXRlOjpV
SUNsaWVudDo6dGFrZUZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV0tGb2N1c0RpcmVjdGlv
biBkaXJlY3Rpb24pCkBAIC00MzcsNiArNDM4LDQzIEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGll
bnQ6OmRpZE5vdEhhbmRsZVcKICAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0
ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ6
ZXZlbnQubmF0aXZlRXZlbnQoKV07CiB9CiAKK3N0YXRpYyBfV0tBdXRvcGxheUV2ZW50RmxhZ3Mg
dG9XS0F1dG9wbGF5RXZlbnRGbGFncyhPcHRpb25TZXQ8V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZs
YWdzPiBmbGFncykKK3sKKyAgICBfV0tBdXRvcGxheUV2ZW50RmxhZ3Mgd2tGbGFncyA9IF9XS0F1
dG9wbGF5RXZlbnRGbGFnc05vbmU7CisgICAgaWYgKGZsYWdzLmNvbnRhaW5zKFdlYkNvcmU6OkF1
dG9wbGF5RXZlbnRGbGFnczo6SGFzQXVkaW8pKQorICAgICAgICB3a0ZsYWdzIHw9IF9XS0F1dG9w
bGF5RXZlbnRGbGFnc0hhc0F1ZGlvOworICAgIAorICAgIHJldHVybiB3a0ZsYWdzOworfQorCitz
dGF0aWMgX1dLQXV0b3BsYXlFdmVudCB0b1dLQXV0b3BsYXlFdmVudChXZWJDb3JlOjpBdXRvcGxh
eUV2ZW50IGV2ZW50KQoreworICAgIHN3aXRjaCAoZXZlbnQpIHsKKyAgICBjYXNlIFdlYkNvcmU6
OkF1dG9wbGF5RXZlbnQ6OkRpZFByZXZlbnRNZWRpYUZyb21QbGF5aW5nOgorICAgICAgICByZXR1
cm4gX1dLQXV0b3BsYXlFdmVudERpZFByZXZlbnRGcm9tQXV0b3BsYXlpbmc7CisgICAgY2FzZSBX
ZWJDb3JlOjpBdXRvcGxheUV2ZW50OjpEaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZzoK
KyAgICAgICAgcmV0dXJuIF9XS0F1dG9wbGF5RXZlbnREaWRQbGF5TWVkaWFQcmV2ZW50ZWRGcm9t
QXV0b3BsYXlpbmc7CisgICAgY2FzZSBXZWJDb3JlOjpBdXRvcGxheUV2ZW50OjpEaWRBdXRvcGxh
eU1lZGlhUGFzdFRocmVzaG9sZFdpdGhvdXRVc2VySW50ZXJmZXJlbmNlOgorICAgICAgICByZXR1
cm4gX1dLQXV0b3BsYXlFdmVudERpZEF1dG9wbGF5TWVkaWFQYXN0VGhyZXNob2xkV2l0aG91dFVz
ZXJJbnRlcmZlcmVuY2U7CisgICAgY2FzZSBXZWJDb3JlOjpBdXRvcGxheUV2ZW50OjpVc2VyRGlk
SW50ZXJmZXJlV2l0aFBsYXliYWNrOgorICAgICAgICByZXR1cm4gX1dLQXV0b3BsYXlFdmVudFVz
ZXJEaWRJbnRlcmZlcmVXaXRoUGxheWJhY2s7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIHJldHVybiBfV0tBdXRvcGxheUV2ZW50RGlkUGxheU1lZGlhUHJldmVudGVkRnJv
bUF1dG9wbGF5aW5nOworfQorCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpoYW5kbGVBdXRv
cGxheUV2ZW50KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6QXV0b3BsYXlFdmVudCBl
dmVudCwgT3B0aW9uU2V0PFdlYkNvcmU6OkF1dG9wbGF5RXZlbnRGbGFncz4gZmxhZ3MpCit7Cisg
ICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0hhbmRsZUF1dG9w
bGF5RXZlbnRXaXRoRmxhZ3MpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvIGRlbGVn
YXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRl
bGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgaGFuZGxlQXV0b3BsYXlFdmVu
dDp0b1dLQXV0b3BsYXlFdmVudChldmVudCkgd2l0aEZsYWdzOnRvV0tBdXRvcGxheUV2ZW50Rmxh
Z3MoZmxhZ3MpXTsKK30KKwogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hvd1BhZ2UoV2Vi
UGFnZVByb3h5KikKIHsKICAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy5z
aG93V2ViVmlldykKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIyMTE3MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA4LTI0ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxlZ2F0ZVByaXZhdGUg
ZXF1aXZhbGVudCBvZiBXS1BhZ2VVSUNsaWVudCdzIGhhbmRsZUF1dG9wbGF5RXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTk2NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjkyNzAwMzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhv
cnRvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJRGVs
ZWdhdGUubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDJDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW0F1dG9wbGF5UG9s
aWNpZXNEZWxlZ2F0ZSBfd2ViVmlldzpoYW5kbGVBdXRvcGxheUV2ZW50OndpdGhGbGFnczpdKToK
KyAgICAgICAgKFRFU1QpOgorICAgICAgICAoaGFuZGxlQXV0b3BsYXlFdmVudCk6IERlbGV0ZWQu
CisKIDIwMTctMDgtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBkaWROb3RIYW5kbGVXaGVlbEV2ZW50IHRlc3QgdGltZXMgb3V0CkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9VSURlbGVnYXRlLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJRGVs
ZWdhdGUubW0JKHJldmlzaW9uIDIyMTE3MSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsxMzMs
NyBAQCBURVNUKFdlYktpdDIsIEZvY3VzKQogICAgICI8Ym9keSBvbmxvYWQ9J2xvYWRlZCgpJz48
aW5wdXQgdHlwZT0ndGV4dCcgaWQ9J2luJz48L2JvZHk+IjsKICAgICBbd2ViVmlldyBsb2FkSFRN
TFN0cmluZzpodG1sIGJhc2VVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vZXhhbXBs
ZS5jb20vIl1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Ci0gICAgQVNT
RVJUX0VRKHRha2VuRGlyZWN0aW9uLCBXS0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQpOworICAgIEFT
U0VSVF9FUSh0YWtlbkRpcmVjdGlvbiwgX1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZCk7CiB9CiAK
ICNkZWZpbmUgUkVMSUFCTEVfRElEX05PVF9IQU5ETEVfV0hFRUxfRVZFTlQgMApJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNp
dGVQb2xpY2llcy5tbQkocmV2aXNpb24gMjIxMTA0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw2ICsyOSw3IEBACiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxXZWJLaXQv
V0tQYWdlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2Vi
S2l0L1dLVVJMU2NoZW1lVGFza1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1VzZXJDb250
ZW50Q29udHJvbGxlclByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRl
Lmg+CkBAIC01Miw4ICs1Myw4IEBAIHN0YXRpYyBib29sIGRvbmVDb21waWxpbmc7CiBzdGF0aWMg
Ym9vbCByZWNlaXZlZEFsZXJ0OwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIHN0ZDo6b3B0
aW9uYWw8V0tBdXRvcGxheUV2ZW50PiByZWNlaXZlZEF1dG9wbGF5RXZlbnQ7Ci1zdGF0aWMgc3Rk
OjpvcHRpb25hbDxXS0F1dG9wbGF5RXZlbnRGbGFncz4gcmVjZWl2ZWRBdXRvcGxheUV2ZW50Rmxh
Z3M7CitzdGF0aWMgc3RkOjpvcHRpb25hbDxfV0tBdXRvcGxheUV2ZW50PiByZWNlaXZlZEF1dG9w
bGF5RXZlbnQ7CitzdGF0aWMgc3RkOjpvcHRpb25hbDxfV0tBdXRvcGxheUV2ZW50RmxhZ3M+IHJl
Y2VpdmVkQXV0b3BsYXlFdmVudEZsYWdzOwogI2VuZGlmCiAKIHN0YXRpYyBzaXplX3QgYWxlcnRD
b3VudDsKQEAgLTE2Miw3ICsxNjMsNyBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0Nv
bnRlbnRCbG9jCiAgICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9y
ZV0gX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNpb25zXTsKIH0KIAotQGludGVyZmFjZSBBdXRvcGxh
eVBvbGljaWVzRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGUsIFdLVUlE
ZWxlZ2F0ZT4KK0BpbnRlcmZhY2UgQXV0b3BsYXlQb2xpY2llc0RlbGVnYXRlIDogTlNPYmplY3Qg
PFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBXS1VJRGVsZWdhdGVQcml2YXRlPgogQHByb3BlcnR5IChu
b25hdG9taWMsIGNvcHkpIF9XS1dlYnNpdGVBdXRvcGxheVBvbGljeSheYXV0b3BsYXlQb2xpY3lG
b3JVUkwpKE5TVVJMICopOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIF9XS1dlYnNpdGVB
dXRvcGxheVF1aXJrKF5hbGxvd2VkQXV0b3BsYXlRdWlya3NGb3JVUkwpKE5TVVJMICopOwogQGVu
ZApAQCAtMTg2LDYgKzE4NywxNCBAQCAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IGRlCiAgICAgZGVjaXNpb25IYW5kbGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93
LCB3ZWJzaXRlUG9saWNpZXMpOwogfQogCisjaWYgUExBVEZPUk0oTUFDKQorLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBoYW5kbGVBdXRvcGxheUV2ZW50OihfV0tBdXRvcGxh
eUV2ZW50KWV2ZW50IHdpdGhGbGFnczooX1dLQXV0b3BsYXlFdmVudEZsYWdzKWZsYWdzCit7Cisg
ICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50RmxhZ3MgPSBmbGFnczsKKyAgICByZWNlaXZlZEF1dG9w
bGF5RXZlbnQgPSBldmVudDsKK30KKyNlbmRpZgorCiBAZW5kCiAKIFRFU1QoV2ViS2l0MiwgV2Vi
c2l0ZVBvbGljaWVzQXV0b3BsYXlFbmFibGVkKQpAQCAtMjgzLDEyICsyOTIsNiBAQCBURVNUKFdl
YktpdDIsIFdlYnNpdGVQb2xpY2llc0F1dG9wbGF5RW5hCiB9CiAKICNpZiBQTEFURk9STShNQUMp
Ci1zdGF0aWMgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdLUGFnZVJlZiBwYWdlLCBXS0F1dG9w
bGF5RXZlbnQgZXZlbnQsIFdLQXV0b3BsYXlFdmVudEZsYWdzIGZsYWdzLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQotewotICAgIHJlY2VpdmVkQXV0b3BsYXlFdmVudEZsYWdzID0gZmxhZ3M7Ci0g
ICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gZXZlbnQ7Ci19Ci0KIHN0YXRpYyB2b2lkIHJ1blVu
dGlsUmVjZWl2ZXNBdXRvcGxheUV2ZW50KFdLQXV0b3BsYXlFdmVudCBldmVudCkKIHsKICAgICB3
aGlsZSAoIXJlY2VpdmVkQXV0b3BsYXlFdmVudCB8fCAqcmVjZWl2ZWRBdXRvcGxheUV2ZW50ICE9
IGV2ZW50KQpAQCAtMzA1LDE0ICszMDgsOCBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2ll
c1BsYXlBZnRlclByCiAgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3lEZW55
OwogICAgIH1dOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKLSAg
ICBXS1BhZ2VVSUNsaWVudFY5IHVpQ2xpZW50OwotICAgIG1lbXNldCgmdWlDbGllbnQsIDAsIHNp
emVvZih1aUNsaWVudCkpOwotCi0gICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gOTsKLSAgICB1
aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0b3BsYXlFdmVudDsKLQotICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAmdWlDbGll
bnQuYmFzZSk7CiAgICAgTlNQb2ludCBwbGF5QnV0dG9uQ2xpY2tQb2ludCA9IE5TTWFrZVBvaW50
KDIwLCAyNTYpOwogCiAgICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gc3RkOjpudWxsb3B0OwpA
QCAtMzc5LDE0ICszNzYsNyBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc1BsYXlpbmdX
aXRoCiAgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3lBbGxvdzsKICAgICB9
XTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwot
Ci0gICAgV0tQYWdlVUlDbGllbnRWOSB1aUNsaWVudDsKLSAgICBtZW1zZXQoJnVpQ2xpZW50LCAw
LCBzaXplb2YodWlDbGllbnQpKTsKLQotICAgIHVpQ2xpZW50LmJhc2UudmVyc2lvbiA9IDk7Ci0g
ICAgdWlDbGllbnQuaGFuZGxlQXV0b3BsYXlFdmVudCA9IGhhbmRsZUF1dG9wbGF5RXZlbnQ7Ci0K
LSAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoW3dlYlZpZXcgX3BhZ2VGb3JUZXN0aW5nXSwgJnVp
Q2xpZW50LmJhc2UpOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCld
OwogCiAgICAgcmVjZWl2ZWRBdXRvcGxheUV2ZW50ID0gc3RkOjpudWxsb3B0OwogICAgIE5TVVJM
UmVxdWVzdCAqanNQbGF5UmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tO
U0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImpzLWF1dG9wbGF5LWF1ZGlvIiB3
aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJj
ZXMiXV07CkBAIC00MDUsMTQgKzM5NSw3IEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVz
VXNlckludGVyZmUKICAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVBdXRvcGxheVBvbGljeUFsbG93
OwogICAgIH1dOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07Ci0KLSAgICBXS1BhZ2VVSUNsaWVudFY5IHVpQ2xpZW50OwotICAgIG1lbXNldCgmdWlD
bGllbnQsIDAsIHNpemVvZih1aUNsaWVudCkpOwotCi0gICAgdWlDbGllbnQuYmFzZS52ZXJzaW9u
ID0gOTsKLSAgICB1aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0b3BsYXlF
dmVudDsKLQotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3Rp
bmddLCAmdWlDbGllbnQuYmFzZSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0
ZS5nZXQoKV07CiAKICAgICByZWNlaXZlZEF1dG9wbGF5RXZlbnQgPSBzdGQ6Om51bGxvcHQ7CiAg
ICAgTlNVUkxSZXF1ZXN0ICpqc1BsYXlSZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAianMtcGxheS13aXRo
LWNvbnRyb2xzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXMiXV07CkBAIC01NDAsMTMgKzUyMyw3IEBAIFRFU1QoV2ViS2l0MiwgV2Vi
c2l0ZVBvbGljaWVzRHVyaW5nUmVkaXIKICAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVBdXRvcGxh
eVBvbGljeUFsbG93OwogICAgIH1dOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0
ZTpkZWxlZ2F0ZS5nZXQoKV07Ci0gICAgCi0gICAgV0tQYWdlVUlDbGllbnRWOSB1aUNsaWVudDsK
LSAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBzaXplb2YodWlDbGllbnQpKTsKLSAgICB1aUNsaWVu
dC5iYXNlLnZlcnNpb24gPSA5OwotICAgIHVpQ2xpZW50LmhhbmRsZUF1dG9wbGF5RXZlbnQgPSBo
YW5kbGVBdXRvcGxheUV2ZW50OwotICAgIAotICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2Vi
VmlldyBfcGFnZUZvclRlc3RpbmddLCAmdWlDbGllbnQuYmFzZSk7CisgICAgW3dlYlZpZXcgc2V0
VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAgICAgCiAgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInRl
c3Q6Ly8vc2hvdWxkLXJlZGlyZWN0Il1dXTsKICAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpA
ImF1dG9wbGF5ZWQiXTsKQEAgLTU1NiwxNyArNTMzLDkgQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRl
UG9saWNpZXNVcGRhdGVzKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7Ci0KLSAg
ICBXS1BhZ2VVSUNsaWVudFY5IHVpQ2xpZW50OwotICAgIG1lbXNldCgmdWlDbGllbnQsIDAsIHNp
emVvZih1aUNsaWVudCkpOwotCi0gICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gOTsKLSAgICB1
aUNsaWVudC5oYW5kbGVBdXRvcGxheUV2ZW50ID0gaGFuZGxlQXV0b3BsYXlFdmVudDsKLQotICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddLCAmdWlDbGll
bnQuYmFzZSk7Ci0KICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0F1dG9wbGF5UG9saWNp
ZXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxl
Z2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0
ZS5nZXQoKV07CiAKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3RXaXRoQXVkaW8gPSBbTlNVUkxS
ZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJhdXRvcGxheS1jaGVjayIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpA
IlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>