<?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>127025</bug_id>
          
          <creation_ts>2014-01-14 17:51:53 -0800</creation_ts>
          <short_desc>Create separate progress tracker clients</short_desc>
          <delta_ts>2014-01-14 18:39:21 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968118</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-14 17:51:53 -0800</bug_when>
    <thetext>Create separate progress tracker clients</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968121</commentid>
    <comment_count>1</comment_count>
      <attachid>221220</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-14 17:54:38 -0800</bug_when>
    <thetext>Created attachment 221220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968124</commentid>
    <comment_count>2</comment_count>
      <attachid>221220</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2014-01-14 18:01:16 -0800</bug_when>
    <thetext>Comment on attachment 221220
Patch

Attachment 221220 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/6690946611675136</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968135</commentid>
    <comment_count>3</comment_count>
      <attachid>221220</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-14 18:18:12 -0800</bug_when>
    <thetext>Comment on attachment 221220
Patch

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

&gt; Source/WebKit/mac/WebCoreSupport/WebProgressTrackerClient.mm:53
&gt; +#if !PLATFORM(IOS)
&gt; +void WebProgressTrackerClient::willChangeEstimatedProgress()
&gt; +{
&gt; +    [m_webView _willChangeValueForKey:_WebEstimatedProgressKey];
&gt; +}
&gt; +
&gt; +void WebProgressTrackerClient::didChangeEstimatedProgress()
&gt; +{
&gt; +    [m_webView _didChangeValueForKey:_WebEstimatedProgressKey];
&gt; +}
&gt; +#endif

I&apos;d prefer if we still implemented these functions but just didn&apos;t call the _will/_did on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968140</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-14 18:39:21 -0800</bug_when>
    <thetext>Committed r162034: &lt;http://trac.webkit.org/changeset/162034&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221220</attachid>
            <date>2014-01-14 17:54:38 -0800</date>
            <delta_ts>2014-01-14 18:18:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127025-20140114175436.patch</filename>
            <type>text/plain</type>
            <size>37553</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFiODg2NmQ5ZDU4ZmMy
MDdlOTc5OWQ1NjllNTZlOWJiNDhiYmIyNy4uNzBhY2Q2ODk2NzBiZmIyMDAwYmVhOTc5M2ViMThj
YWJkOGUzZDQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAxLTE0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIHNlcGFy
YXRlIHByb2dyZXNzIHRyYWNrZXIgY2xpZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlcjo6flByb2dyZXNzVHJhY2tlcik6CisgICAgICAg
ICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlckNsaWVudC5oOgorCiAyMDE0LTAxLTE0ICBEYW5pZWwg
QmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBNb3ZlIHN5bWJvbCBf
X1pON1dlYkNvcmUzNHJlZ2lzdGVyUUxQcmV2aWV3Q29udmVydGVySWZOZWVkZWRFUDVOU1VSTFA4
TlNTdHJpbmdQNk5TRGF0YSB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjMjZlYWYwNzc3ZDNmZDE4MjdjZWI5Mzk4
NWM5ZDNmMTgxNTY0ODU5Li4yYTU2NjQzYWZjZDQ1OGU0NGRhYjc2OGZkZWVkYzE2NDk0Y2E4OGM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAxLTE0ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIHNlcGFyYXRlIHByb2dyZXNz
IHRyYWNrZXIgY2xpZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3MDI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNC0wMS0x
NCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMV0gQWxsb3cg
Z2VuZXJhdGVkIGV4cG9ydCBmaWxlcyBvbiBpT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5NjlhOTFk
YzNjNWVhNGFkZjk4NzAyNDZhNDZiM2EyZjMwMGQ4YzMyLi5jZmM5ZTcxYmUyOTc0MjM1NGIwNTVk
YmMxNDRmYTllZDdiYzY5NDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MTQtMDEtMTQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAg
ICBDcmVhdGUgc2VwYXJhdGUgcHJvZ3Jlc3MgdHJhY2tlciBjbGllbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcwMjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQubW06CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXJDbGllbnQuaC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQcm9ncmVzc1RyYWNrZXJD
bGllbnQubW06IEFkZGVkLgorICAgICAgICAoV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50OjpXZWJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQpOgorICAgICAgICAoV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50
Ojpwcm9ncmVzc1RyYWNrZXJEZXN0cm95ZWQpOgorICAgICAgICAoV2ViUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50Ojp3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MpOgorICAgICAgICAoV2ViUHJvZ3Jl
c3NUcmFja2VyQ2xpZW50OjpkaWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcyk6CisgICAgICAgIChX
ZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQ6OnByb2dyZXNzU3RhcnRlZCk6CisgICAgICAgIChXZWJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQ6OnByb2dyZXNzRXN0aW1hdGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYlByb2dyZXNzVHJhY2tlckNsaWVudDo6cHJvZ3Jlc3NGaW5pc2hlZCk6CisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRT
aW1wbGVIVE1MRG9jdW1lbnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0p
OgorCiAyMDE0LTAxLTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEZpeCBoZWFkZXIgYXZhaWxhYmlsaXR5IGNoZWNrcyBvbiBpT1MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBmOTY3YWM3NWYzM2FkYTZiZDllNzBhNTk5NzEyZGQwMDUxNjZiZjYyLi41MzJiOWU5ZDEz
NzBlNmVmODUxZWM0MGY5Yzc5NjdkYWRhZjRkNTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTQtMDEtMTQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDcmVhdGUgc2VwYXJhdGUgcHJvZ3Jlc3MgdHJhY2tlciBjbGllbnRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcwMjUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmguCisgICAgICAgIChXZWJL
aXQ6OldlYlByb2dyZXNzVHJhY2tlckNsaWVudDo6V2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Ojpwcm9ncmVzc1RyYWNr
ZXJEZXN0cm95ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQ6
OnByb2dyZXNzU3RhcnRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2dyZXNzVHJhY2tlckNs
aWVudDo6cHJvZ3Jlc3NFc3RpbWF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9n
cmVzc1RyYWNrZXJDbGllbnQ6OnByb2dyZXNzRmluaXNoZWQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Lmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OldlYlBhZ2UpOgorCiAyMDE0LTAxLTE0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTYyMDAwLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCA1MDFlMWY0YWRl
ZGVkYzMwMGIyOTA5OGExNzQ3ZDVhZDAwYjJmYTAxLi5hODE2ZmY2YmM1MmFlMTYzMmEwMWY4ZDZm
MzNhNDgyOGViNjBkYzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmNwcApAQCAtOTMsOCArOTMsNyBAQCBQcm9ncmVzc1RyYWNrZXI6OlByb2dyZXNzVHJhY2tlcihQ
cm9ncmVzc1RyYWNrZXJDbGllbnQmIGNsaWVudCkKIAogUHJvZ3Jlc3NUcmFja2VyOjp+UHJvZ3Jl
c3NUcmFja2VyKCkKIHsKLSAgICAvLyBGSVhNRTogVW5jb21tZW50IHRoaXMgb25jZSB3ZSd2ZSB0
cmFuc2l0aW9uZWQgdG8gY3VzdG9tIHByb2dyZXNzIHRyYWNrZXIgY2xpZW50cy4KLSAgICAvLyBt
X2NsaWVudC5wcm9ncmVzc1RyYWNrZXJEZXN0cm95ZWQoKTsKKyAgICBtX2NsaWVudC5wcm9ncmVz
c1RyYWNrZXJEZXN0cm95ZWQoKTsKIH0KIAogZG91YmxlIFByb2dyZXNzVHJhY2tlcjo6ZXN0aW1h
dGVkUHJvZ3Jlc3MoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1By
b2dyZXNzVHJhY2tlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJh
Y2tlckNsaWVudC5oCmluZGV4IDgwMjI5M2FhMjU0OWZjN2JiNjk2ODIxZjNmZWIzZTExNDg1YTg3
MjMuLmQzZWMzMmU5ZmM2YzRlNjBhNWUzYjJhNzY5NTlmODY3NWRhZjA5OWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgKQEAgLTI4LDYgKzI4LDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBGcmFtZTsKKwogY2xhc3MgUHJvZ3Jl
c3NUcmFja2VyQ2xpZW50IHsKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5Qcm9ncmVzc1RyYWNr
ZXJDbGllbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGQ2Yzc0MjE5YWQwYmMzMWRhYzYyOGFkNDY3NGYxMTAwYjMzOTZiNzEu
LjczOGVlMGYwMjM4NzAxMGQwNjE0ZDc2MDk2NjA4ZjQ3YWI3MmNhZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzEsNiArMzEsOCBA
QAogCQkxQTYwNTE5MjE3NTAyQTVEMDBCQzYyRjUgLyogQmluYXJ5UHJvcGVydHlMaXN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTYwNTE4RTE3NTAy
QTVEMDBCQzYyRjUgLyogQmluYXJ5UHJvcGVydHlMaXN0LmggKi87IH07CiAJCTFBNjA1MTkzMTc1
MDJBNUQwMEJDNjJGNSAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjA1MThGMTc1MDJBNUQwMEJDNjJGNSAv
KiBIaXN0b3J5UHJvcGVydHlMaXN0LmNwcCAqLzsgfTsKIAkJMUE2MDUxOTQxNzUwMkE1RDAwQkM2
MkY1IC8qIEhpc3RvcnlQcm9wZXJ0eUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjA1MTkwMTc1MDJBNUQwMEJDNjJGNSAvKiBIaXN0b3J5UHJv
cGVydHlMaXN0LmggKi87IH07CisJCTFBNkEyMDhEMTg4NjE1NDYwMEU1MEY1RiAvKiBXZWJQcm9n
cmVzc1RyYWNrZXJDbGllbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTZBMjA4QjE4ODYxNTQ2MDBFNTBGNUYgLyogV2ViUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50Lm1tICovOyB9OworCQkxQTZBMjA4RTE4ODYxNTQ2MDBFNTBGNUYgLyogV2ViUHJvZ3Jl
c3NUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTZBMjA4QzE4ODYxNTQ2MDBFNTBGNUYgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xp
ZW50LmggKi87IH07CiAJCTFBNzRBMjhFMEY0Rjc1NDAwMDgyRTIyOCAvKiBXZWJUZXh0SW5wdXRX
aW5kb3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTc0QTI4QzBGNEY3NTQwMDA4MkUyMjggLyogV2ViVGV4dElucHV0V2luZG93Q29u
dHJvbGxlci5oICovOyB9OwogCQkxQTc0QTI4RjBGNEY3NTQwMDA4MkUyMjggLyogV2ViVGV4dElu
cHV0V2luZG93Q29udHJvbGxlci5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE3NEEyOEQwRjRGNzU0MDAwODJFMjI4IC8qIFdlYlRleHRJbnB1dFdpbmRv
d0NvbnRyb2xsZXIubSAqLzsgfTsKIAkJMUE3N0IwMkUwRUU3NzMwNTAwQzhBMUY5IC8qIFdlYlBs
dWdpblJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNzdCMDJDMEVFNzczMDUwMEM4QTFGOSAvKiBXZWJQbHVnaW5SZXF1ZXN0LmggKi87IH07
CkBAIC00NzEsNiArNDczLDggQEAKIAkJMUE2MDUxOEUxNzUwMkE1RDAwQkM2MkY1IC8qIEJpbmFy
eVByb3BlcnR5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCaW5hcnlQ
cm9wZXJ0eUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE2MDUxOEYxNzUw
MkE1RDAwQkM2MkY1IC8qIEhpc3RvcnlQcm9wZXJ0eUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9yeVByb3BlcnR5TGlzdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBNjA1MTkwMTc1MDJBNUQwMEJDNjJGNSAvKiBIaXN0b3J5UHJv
cGVydHlMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpc3RvcnlQcm9w
ZXJ0eUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUE2QTIwOEIxODg2MTU0
NjAwRTUwRjVGIC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUE2QTIwOEMxODg2MTU0NjAwRTUwRjVGIC8qIFdl
YlByb2dyZXNzVHJhY2tlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUE3NEEyOEMwRjRGNzU0MDAwODJFMjI4IC8qIFdlYlRleHRJbnB1dFdpbmRvd0NvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVGV4dElucHV0V2luZG93
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTc0QTI4RDBGNEY3
NTQwMDA4MkUyMjggLyogV2ViVGV4dElucHV0V2luZG93Q29udHJvbGxlci5tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsg
ZmlsZUVuY29kaW5nID0gNDsgcGF0aCA9IFdlYlRleHRJbnB1dFdpbmRvd0NvbnRyb2xsZXIubTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE3N0IwMkMwRUU3NzMwNTAwQzhBMUY5IC8q
IFdlYlBsdWdpblJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
UGx1Z2luUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU1NSw2ICsx
NTU5LDggQEAKIAkJCQlBNThBNTc5ODE0M0U3MjcwMDAxMjVGNTAgLyogV2ViT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXIubW0gKi8sCiAJCQkJMUFBODc5QjQxMUNCRTlCRjAwM0M2NjRGIC8qIFdlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oICovLAogCQkJCTFBQTg3OUI1MTFDQkU5QkYwMDNDNjY0RiAvKiBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0gKi8sCisJCQkJMUE2QTIwOEMxODg2MTU0NjAwRTUwRjVG
IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oICovLAorCQkJCTFBNkEyMDhCMTg4NjE1NDYw
MEU1MEY1RiAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQubW0gKi8sCiAJCQkJQTVERUZDMDcx
MUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luLm1tICovLAogCQkJCUE1REVGQzA4
MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmggKi8sCiAJCQkJ
QTVERUZDMDkxMUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZS5oICov
LApAQCAtMTY2Miw2ICsxNjY4LDcgQEAKIAkJCQlCODI5NThEMzEzMjcwN0QwMDAwRDBFNzkgLyog
Q29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTYwNTE5NDE3NTAyQTVEMDBC
QzYyRjUgLyogSGlzdG9yeVByb3BlcnR5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODEw
NjgwODI0QkYwMTAwOERGMDM4IC8qIEhJVmlld0FkYXB0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTFBNkEyMDhFMTg4NjE1NDYwMEU1MEY1RiAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3MEY1NDlCMTdGMUU0MkIwMDE2OUUwNCAvKiBXZWJVc2VyTWVk
aWFDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDY5MDgyNEJGMDEwMDhERjAzOCAv
KiBISVdlYlZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOERFRDUwMEVFODhCOEEwMEYyNTAy
MiAvKiBIb3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjAx
LDYgKzIyMDgsNyBAQAogCQkJCTkzOTgxMTBBMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJEZWZhdWx0
VUlEZWxlZ2F0ZS5tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NDJDNDMwRkQ3NzY2RjAwRDhBQjVE
IC8qIFdlYkRlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTk4QUQ5MjIxMjAxQ0YxMDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJMUE2QTIwOEQxODg2MTU0NjAwRTUwRjVGIC8qIFdlYlByb2dyZXNz
VHJhY2tlckNsaWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTU5OEFEOTFFMTIwMUNFQ0YwMEFC
QUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTU5OEFEOTI4MTIwMUNGMzIwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVy
TW9jay5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExMEMxRDc1MTgyMDMwMEUwMDM2ODgzQSAvKiBX
ZWJTZWxlY3Rpb25SZWN0Lm0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDcwZjU5
NWQ2YjZkNTgxYjFhNjBiZjExYzFlYTkyZDgxMTZjYTgxMzkuLjk2M2YzNGZlMmQ1ZTBiNGY5NDI4
Nzc2Njg0YzRmYjIyNjRiYWU4NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMjcsNyArMjcsNiBAQAog
ICovCiAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVMb2FkZXJDbGllbnQuaD4KLSNpbXBvcnQgPFdl
YkNvcmUvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RpbWVyLmg+
CiAjaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KQEAgLTUw
LDcgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIEhhc2hNYXA8UmVmUHRy
PFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiwgUmV0YWluUHRyPFdlYlJlc291cmNlPj4gUmVzb3Vy
Y2VNYXA7CiAKLWNsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyQ2xpZW50IHsK
K2NsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkZyYW1lTG9hZGVy
Q2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJGcmFtZUxvYWRlckNsaWVudChXZWJGcmFtZSogPSAw
KTsKIApAQCAtMTM1LDE0ICsxMzQsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRN
YWluRG9jdW1lbnRFcnJvcihXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlRXJyb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRM
b2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiwgaW50IGxlbmd0aCkgT1ZFUlJJREU7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIHZp
cnR1YWwgdm9pZCB3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MoKSBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MoKSBPVkVSUklERTsKLSNlbmRp
ZgotICAgIHZpcnR1YWwgdm9pZCBwcm9ncmVzc1N0YXJ0ZWQoV2ViQ29yZTo6RnJhbWUmKSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcHJvZ3Jlc3NFc3RpbWF0ZUNoYW5nZWQoV2ViQ29yZTo6
RnJhbWUmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcHJvZ3Jlc3NGaW5pc2hlZChXZWJD
b3JlOjpGcmFtZSYpIE9WRVJSSURFOwotICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRNYWluRnJh
bWVEb2N1bWVudFJlYWR5KGJvb2wpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0
RG93bmxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBz
dWdnZXN0ZWROYW1lID0gU3RyaW5nKCkpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCBm
OTgwZGQ5NzVhZWJkNGE0M2Q2ZTU4NmQxMmZjODg0MzJhZjcyYjAyLi40MThmYmQzMDVkZGU3NDZj
YWZkNzgzNzBiMDViMGY0ODg1MzY0YjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTAxNyw1NSAr
MTAxNyw2IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNldE1haW5Eb2N1bWVudEVycm9y
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlCiAgICAgW2RhdGFTb3VyY2UobG9hZGVy
KSBfc2V0TWFpbkRvY3VtZW50RXJyb3I6ZXJyb3JdOwogfQogCi0jaWYgIVBMQVRGT1JNKElPUykK
LXZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OndpbGxDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygp
Ci17Ci0gICAgW2dldFdlYlZpZXcobV93ZWJGcmFtZS5nZXQoKSkgX3dpbGxDaGFuZ2VWYWx1ZUZv
cktleTpfV2ViRXN0aW1hdGVkUHJvZ3Jlc3NLZXldOwotfQotCi12b2lkIFdlYkZyYW1lTG9hZGVy
Q2xpZW50OjpkaWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpCi17Ci0gICAgW2dldFdlYlZpZXco
bV93ZWJGcmFtZS5nZXQoKSkgX2RpZENoYW5nZVZhbHVlRm9yS2V5Ol9XZWJFc3RpbWF0ZWRQcm9n
cmVzc0tleV07Ci19Ci0jZW5kaWYKLQotdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6cHJvZ3Jl
c3NTdGFydGVkKFdlYkNvcmU6OkZyYW1lJikKLXsKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6
V2ViVmlld1Byb2dyZXNzU3RhcnRlZE5vdGlmaWNhdGlvbiBvYmplY3Q6Z2V0V2ViVmlldyhtX3dl
YkZyYW1lLmdldCgpKV07Ci0jZWxzZQotICAgIFdlYlRocmVhZFBvc3ROb3RpZmljYXRpb24oV2Vi
Vmlld1Byb2dyZXNzU3RhcnRlZE5vdGlmaWNhdGlvbiwgZ2V0V2ViVmlldyhtX3dlYkZyYW1lLmdl
dCgpKSwgbmlsKTsKLSNlbmRpZgotfQotCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpwcm9n
cmVzc0VzdGltYXRlQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYpCi17Ci0jaWYgIVBMQVRGT1JNKElP
UykKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmlj
YXRpb25OYW1lOldlYlZpZXdQcm9ncmVzc0VzdGltYXRlQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6Z2V0V2ViVmlldyhtX3dlYkZyYW1lLmdldCgpKV07Ci0jZWxzZQotICAgIFdlYlZpZXcgKndl
YlZpZXcgPSBnZXRXZWJWaWV3KG1fd2ViRnJhbWUuZ2V0KCkpOwotICAgIE5TTnVtYmVyICpwcm9n
cmVzcyA9IFtOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6W3dlYlZpZXcgZXN0aW1hdGVkUHJvZ3Jl
c3NdXTsKLSAgICBDR0NvbG9yUmVmIGJvZHlCYWNrZ3JvdW5kQ29sb3IgPSBbW3dlYlZpZXcgbWFp
bkZyYW1lXSBfYm9keUJhY2tncm91bmRDb2xvcl07Ci0KLSAgICAvLyBVc2UgYSBDRkRpY3Rpb25h
cnkgc28gd2UgY2FuIGFkZCB0aGUgQ0dDb2xvclJlZiB3aXRob3V0IGNvbXBpbGUgZXJyb3JzLiBB
bmQgdGhlbiB0aGFua3MgdG8KLSAgICAvLyB0b2xsLWZyZWUgYnJpZGdpbmcgd2UgY2FuIHBhc3Mg
dGhlIENGRGljdGlvbmFyeSBhcyBhbiBOU0RpY3Rpb25hcnkgdG8gcG9zdE5vdGlmaWNhdGlvbi4K
LSAgICBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRl
TXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAyLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxs
QmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKLSAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZSh1c2VySW5mbywgV2ViVmlld1Byb2dyZXNzRXN0aW1hdGVkUHJvZ3Jlc3NLZXks
IHByb2dyZXNzKTsKLSAgICBpZiAoYm9keUJhY2tncm91bmRDb2xvcikKLSAgICAgICAgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUodXNlckluZm8sIFdlYlZpZXdQcm9ncmVzc0JhY2tncm91bmRDb2xvcktl
eSwgYm9keUJhY2tncm91bmRDb2xvcik7Ci0KLSAgICBXZWJUaHJlYWRQb3N0Tm90aWZpY2F0aW9u
KFdlYlZpZXdQcm9ncmVzc0VzdGltYXRlQ2hhbmdlZE5vdGlmaWNhdGlvbiwgd2ViVmlldywgKE5T
RGljdGlvbmFyeSAqKSB1c2VySW5mbyk7Ci0gICAgQ0ZSZWxlYXNlKHVzZXJJbmZvKTsKLSNlbmRp
ZgotfQotCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpwcm9ncmVzc0ZpbmlzaGVkKFdlYkNv
cmU6OkZyYW1lJikKLXsKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViVmlld1Byb2dyZXNz
RmluaXNoZWROb3RpZmljYXRpb24gb2JqZWN0OmdldFdlYlZpZXcobV93ZWJGcmFtZS5nZXQoKSld
OwotI2VuZGlmCi19Ci0KIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNldE1haW5GcmFtZURv
Y3VtZW50UmVhZHkoYm9vbCByZWFkeSkKIHsKICAgICBbZ2V0V2ViVmlldyhtX3dlYkZyYW1lLmdl
dCgpKSBzZXRNYWluRnJhbWVEb2N1bWVudFJlYWR5OnJlYWR5XTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTQ5NjUxYTc3NDZhMDYxNGZiZGQ2ZDgyZjE5NzQ0ZTI2MzNjNDEwMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBy
b2dyZXNzVHJhY2tlckNsaWVudC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudF9oCisjZGVmaW5lIFdlYlByb2dyZXNzVHJhY2tl
ckNsaWVudF9oCisKKyNpbXBvcnQgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Lmg+CisK
K09CSkNfQ0xBU1MgV2ViVmlldzsKKworY2xhc3MgV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50IDog
cHVibGljIFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlckNsaWVudCB7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KFdlYlZpZXcqKTsKKworcHJpdmF0ZToKKyAg
ICB2aXJ0dWFsIHZvaWQgcHJvZ3Jlc3NUcmFja2VyRGVzdHJveWVkKCkgT1ZFUlJJREU7CisgICAg
CisjaWYgIVBMQVRGT1JNKElPUykKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUVzdGltYXRl
ZFByb2dyZXNzKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUVzdGltYXRl
ZFByb2dyZXNzKCkgT1ZFUlJJREU7CisjZW5kaWYKKworICAgIHZpcnR1YWwgdm9pZCBwcm9ncmVz
c1N0YXJ0ZWQoV2ViQ29yZTo6RnJhbWUmIG9yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZSkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHByb2dyZXNzRXN0aW1hdGVDaGFuZ2VkKFdlYkNvcmU6OkZy
YW1lJiBvcmlnaW5hdGluZ1Byb2dyZXNzRnJhbWUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCBwcm9ncmVzc0ZpbmlzaGVkKFdlYkNvcmU6OkZyYW1lJiBvcmlnaW5hdGluZ1Byb2dyZXNzRnJh
bWUpIE9WRVJSSURFOworCisgICAgV2ViVmlldyAqbV93ZWJWaWV3OworfTsKKworI2VuZGlmIC8v
IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzlkOTA5OGVmZTY0N2FhYjA1OWE3YjY2NzM3Y2QwYzZlNTk0OGIwZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJh
Y2tlckNsaWVudC5tbQpAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiV2Vi
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCisKKyNpbXBvcnQgIldlYkZyYW1lUHJpdmF0ZS5oIgor
I2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
CitXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQ6OldlYlByb2dyZXNzVHJhY2tlckNsaWVudChXZWJW
aWV3ICp3ZWJWaWV3KQorICAgIDogbV93ZWJWaWV3KHdlYlZpZXcpCit7Cit9CisKK3ZvaWQgV2Vi
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50Ojpwcm9ncmVzc1RyYWNrZXJEZXN0cm95ZWQoKQoreworICAg
IGRlbGV0ZSB0aGlzOworfQorCisjaWYgIVBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvZ3Jlc3NU
cmFja2VyQ2xpZW50Ojp3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MoKQoreworICAgIFttX3dl
YlZpZXcgX3dpbGxDaGFuZ2VWYWx1ZUZvcktleTpfV2ViRXN0aW1hdGVkUHJvZ3Jlc3NLZXldOwor
fQorCit2b2lkIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudDo6ZGlkQ2hhbmdlRXN0aW1hdGVkUHJv
Z3Jlc3MoKQoreworICAgIFttX3dlYlZpZXcgX2RpZENoYW5nZVZhbHVlRm9yS2V5Ol9XZWJFc3Rp
bWF0ZWRQcm9ncmVzc0tleV07Cit9CisjZW5kaWYKKwordm9pZCBXZWJQcm9ncmVzc1RyYWNrZXJD
bGllbnQ6OnByb2dyZXNzU3RhcnRlZChXZWJDb3JlOjpGcmFtZSYgb3JpZ2luYXRpbmdQcm9ncmVz
c0ZyYW1lKQoreworI2lmICFQTEFURk9STShJT1MpCisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpXZWJWaWV3UHJvZ3Jlc3NTdGFy
dGVkTm90aWZpY2F0aW9uIG9iamVjdDptX3dlYlZpZXddOworI2Vsc2UKKyAgICBXZWJUaHJlYWRQ
b3N0Tm90aWZpY2F0aW9uKFdlYlZpZXdQcm9ncmVzc1N0YXJ0ZWROb3RpZmljYXRpb24sIG1fd2Vi
VmlldywgbmlsKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudDo6
cHJvZ3Jlc3NFc3RpbWF0ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmKQoreworI2lmICFQTEFURk9S
TShJT1MpCisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90
aWZpY2F0aW9uTmFtZTpXZWJWaWV3UHJvZ3Jlc3NFc3RpbWF0ZUNoYW5nZWROb3RpZmljYXRpb24g
b2JqZWN0Om1fd2ViVmlld107CisjZWxzZQorICAgIE5TTnVtYmVyICpwcm9ncmVzcyA9IFtOU051
bWJlciBudW1iZXJXaXRoRmxvYXQ6W21fd2ViVmlldyBlc3RpbWF0ZWRQcm9ncmVzc11dOworICAg
IENHQ29sb3JSZWYgYm9keUJhY2tncm91bmRDb2xvciA9IFtbbV93ZWJWaWV3IG1haW5GcmFtZV0g
X2JvZHlCYWNrZ3JvdW5kQ29sb3JdOworICAgIAorICAgIC8vIFVzZSBhIENGRGljdGlvbmFyeSBz
byB3ZSBjYW4gYWRkIHRoZSBDR0NvbG9yUmVmIHdpdGhvdXQgY29tcGlsZSBlcnJvcnMuIEFuZCB0
aGVuIHRoYW5rcyB0bworICAgIC8vIHRvbGwtZnJlZSBicmlkZ2luZyB3ZSBjYW4gcGFzcyB0aGUg
Q0ZEaWN0aW9uYXJ5IGFzIGFuIE5TRGljdGlvbmFyeSB0byBwb3N0Tm90aWZpY2F0aW9uLgorICAg
IENGTXV0YWJsZURpY3Rpb25hcnlSZWYgdXNlckluZm8gPSBDRkRpY3Rpb25hcnlDcmVhdGVNdXRh
YmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDIsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNr
cywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOworICAgIENGRGljdGlvbmFyeUFk
ZFZhbHVlKHVzZXJJbmZvLCBXZWJWaWV3UHJvZ3Jlc3NFc3RpbWF0ZWRQcm9ncmVzc0tleSwgcHJv
Z3Jlc3MpOworICAgIGlmIChib2R5QmFja2dyb3VuZENvbG9yKQorICAgICAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZSh1c2VySW5mbywgV2ViVmlld1Byb2dyZXNzQmFja2dyb3VuZENvbG9yS2V5LCBi
b2R5QmFja2dyb3VuZENvbG9yKTsKKyAgICAKKyAgICBXZWJUaHJlYWRQb3N0Tm90aWZpY2F0aW9u
KFdlYlZpZXdQcm9ncmVzc0VzdGltYXRlQ2hhbmdlZE5vdGlmaWNhdGlvbiwgbV93ZWJWaWV3LCAo
TlNEaWN0aW9uYXJ5ICopIHVzZXJJbmZvKTsKKyAgICBDRlJlbGVhc2UodXNlckluZm8pOworI2Vu
ZGlmCit9CisKK3ZvaWQgV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Ojpwcm9ncmVzc0ZpbmlzaGVk
KEZyYW1lJikKK3sKKyNpZiAhUExBVEZPUk0oSU9TKQorICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViVmlld1Byb2dyZXNzRmlu
aXNoZWROb3RpZmljYXRpb24gb2JqZWN0Om1fd2ViVmlld107CisjZW5kaWYKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBmZTUzMjJjYThlZWYxNDNhZGJiNDQ0NjFiMDY2
ZDUwY2M3MmRjYmU5Li43OTQ4MWNmMjU0OWM5MGMyZDUzNmMyOTdlYjk3ZWE4MGZhYmQ5Y2VhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC05NCw2ICs5NCw3IEBACiAjaW1w
b3J0ICJXZWJQb2xpY3lEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgiCiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCIKKyNpbXBvcnQgIldlYlBy
b2dyZXNzVHJhY2tlckNsaWVudC5oIgogI2ltcG9ydCAiV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5o
IgogI2ltcG9ydCAiV2ViU2NyaXB0V29ybGRJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViU3RvcmFn
ZU1hbmFnZXJJbnRlcm5hbC5oIgpAQCAtOTgzLDcgKzk4NCw3IEBAIHN0YXRpYyBib29sIHNob3Vs
ZFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoKQogICAgIHBhZ2VDbGll
bnRzLmVkaXRvckNsaWVudCA9IG5ldyBXZWJFZGl0b3JDbGllbnQoc2VsZik7CiAgICAgcGFnZUNs
aWVudHMuYWx0ZXJuYXRpdmVUZXh0Q2xpZW50ID0gbmV3IFdlYkFsdGVybmF0aXZlVGV4dENsaWVu
dChzZWxmKTsKICAgICBwYWdlQ2xpZW50cy5sb2FkZXJDbGllbnRGb3JNYWluRnJhbWUgPSBuZXcg
V2ViRnJhbWVMb2FkZXJDbGllbnQ7Ci0gICAgcGFnZUNsaWVudHMucHJvZ3Jlc3NUcmFja2VyQ2xp
ZW50ID0gc3RhdGljX2Nhc3Q8V2ViRnJhbWVMb2FkZXJDbGllbnQqPihwYWdlQ2xpZW50cy5sb2Fk
ZXJDbGllbnRGb3JNYWluRnJhbWUpOworICAgIHBhZ2VDbGllbnRzLnByb2dyZXNzVHJhY2tlckNs
aWVudCA9IG5ldyBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQoc2VsZik7CiAgICAgX3ByaXZhdGUt
PnBhZ2UgPSBuZXcgUGFnZShwYWdlQ2xpZW50cyk7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQog
ICAgIFdlYkNvcmU6OnByb3ZpZGVHZW9sb2NhdGlvblRvKF9wcml2YXRlLT5wYWdlLCBuZXcgV2Vi
R2VvbG9jYXRpb25DbGllbnQoc2VsZikpOwpAQCAtMTIzMSw2ICsxMjMyLDcgQEAgc3RhdGljIGJv
b2wgc2hvdWxkVXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpCiAgICAg
cGFnZUNsaWVudHMuZWRpdG9yQ2xpZW50ID0gbmV3IFdlYkVkaXRvckNsaWVudChzZWxmKTsKICAg
ICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGllbnQgPSBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHNl
bGYpOwogICAgIHBhZ2VDbGllbnRzLmxvYWRlckNsaWVudEZvck1haW5GcmFtZSA9IG5ldyBXZWJG
cmFtZUxvYWRlckNsaWVudDsKKyAgICBwYWdlQ2xpZW50cy5wcm9ncmVzc1RyYWNrZXJDbGllbnQg
PSBuZXcgV2ViRnJhbWVMb2FkZXJDbGllbnQ7CiAgICAgX3ByaXZhdGUtPnBhZ2UgPSBuZXcgUGFn
ZShwYWdlQ2xpZW50cyk7CiAgICAgCiAgICAgW3NlbGYgc2V0U21hcnRJbnNlcnREZWxldGVFbmFi
bGVkOllFU107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNTliYTExYzI1ZWNhMjUxYTE0ZWQ0MjhhN2EzZGE3MzkwZjdmZDlmZi4u
ZWQyMjk1Mjg4MzVkYmU3YzliOGJkNjAyYzRjYjljYmU4NDZmYzFkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTcsNiArOTcs
OCBAQAogCQkxQTFDNjQ5QjExRjQxNzQyMDA1NTNDMTkgLyogV2ViQ29udGV4dE1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUM2NDg2MTFGNDE1
QjcwMDU1M0MxOSAvKiBXZWJDb250ZXh0TWFjLm1tICovOyB9OwogCQkxQTFEOEJBMTE3MzFBMzYz
MDAxNDFEQTQgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRDhCOUYxNzMxQTM2MzAwMTQxREE0IC8qIExv
Y2FsU3RvcmFnZURhdGFiYXNlLmNwcCAqLzsgfTsKIAkJMUExRDhCQTIxNzMxQTM2MzAwMTQxREE0
IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTFEOEJBMDE3MzFBMzYzMDAxNDFEQTQgLyogTG9jYWxTdG9yYWdl
RGF0YWJhc2UuaCAqLzsgfTsKKwkJMUExRTA5MzMxODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dy
ZXNzVHJhY2tlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTFFMDkzMTE4ODYxRDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LmNwcCAqLzsgfTsKKwkJMUExRTA5MzQxODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dy
ZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUExRTA5MzIxODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNs
aWVudC5oICovOyB9OwogCQkxQTFFQzY5RTE4NzIwOTIxMDBCOTUxRjAgLyogSW1wb3J0YW5jZUFz
c2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUExRUM2OUQxODcyMDkyMTAwQjk1MUYwIC8qIEltcG9ydGFuY2VBc3NlcnRpb24uaCAqLzsgfTsK
IAkJMUExRkVDMUMxNjI3QjQ1NzAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEx
RkVDMUExNjI3QjQ1NjAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQkxQTFGRUMxRDE2MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFG
RUMxQjE2MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi87IH07CkBA
IC0xNjkwLDYgKzE2OTIsOCBAQAogCQkxQTFDNjQ4NjExRjQxNUI3MDA1NTNDMTkgLyogV2ViQ29u
dGV4dE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNv
bnRleHRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMUQ4QjlGMTczMUEz
NjMwMDE0MURBNCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBMUQ4QkEwMTczMUEzNjMwMDE0MURBNCAvKiBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTFFMDkzMTE4ODYx
RDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMUUwOTMyMTg4NjFEMzgwMEQyREM0OSAvKiBX
ZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFBMUVDNjlEMTg3MjA5MjEwMEI5NTFGMCAvKiBJbXBvcnRhbmNlQXNzZXJ0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltcG9ydGFuY2VBc3NlcnRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUExRkEyNTExMjdBMEU0RjAwNTBFNzA5IC8qIE5Q
UmVtb3RlT2JqZWN0TWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5QUmVt
b3RlT2JqZWN0TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMUZBMjUyMTI3
QTBFNEYwMDUwRTcwOSAvKiBOUFJlbW90ZU9iamVjdE1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBOUFJlbW90ZU9iamVjdE1hcC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00NzE4LDYgKzQ3MjIsOCBAQAogCQkJCTMxRDU5MjlEMTY2RTA2MDAw
MEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCAqLywKIAkJCQlEM0I5NDg0MjExRkY0QjY1MDAw
MzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCAqLywKIAkJCQlEM0I5NDg0MzExRkY0QjY1MDAwMzJC
MzkgLyogV2ViUG9wdXBNZW51LmggKi8sCisJCQkJMUExRTA5MzExODg2MUQzODAwRDJEQzQ5IC8q
IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAgKi8sCisJCQkJMUExRTA5MzIxODg2MUQzODAw
RDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oICovLAogCQkJCUQzQjk0ODQ0MTFG
RjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwICovLAogCQkJCUQzQjk0ODQ1
MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCAqLywKIAkJCSk7CkBAIC02
MDY0LDYgKzYwNzAsNyBAQAogCQkJCTUxMkMwNjg5MTYzOEY2N0UwMEFCQjkxMSAvKiBIb3N0UmVj
b3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0Y5MERFMzEzNzY1NjBFMDA1MUNGNjggLyogSFRU
UENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDRjZCMjUxMkM5M0U3
QTAwOEY5QzM1IC8qIEltYWdlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUExRTA5MzQx
ODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM2NDY5NzAxMURCRTYwMzAwNjQ1NUIwIC8qIEFQSUFycmF5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0JDQjBDQjEyMTVFMzIxMDBERTU5Q0EgLyogSW1tdXRhYmxlRGljdGlvbmFy
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRFRTMxMUM4M0U5ODAwOEYzMzc1IC8qIEluamVj
dGVkQnVuZGxlLmggaW4gSGVhZGVycyAqLywKQEAgLTc0MzIsNiArNzQzOSw3IEBACiAJCQkJMUE5
RTMyOEExODIxNjM2OTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4gU291
cmNlcyAqLywKIAkJCQkyREE5NDRCQTE4ODRFQTNDMDBFRDg2REIgLyogV2ViUGFnZUlPUy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBQTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3Bh
dGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUExRTA5MzMxODg2
MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQTkwQzFGNTEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE5MTAwNzIxMjY2NzVDNDAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0
b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5MTAxMEIxMjY4QzhDQTAwMTg0MkY1IC8qIEZp
bmRJbmRpY2F0b3JXaW5kb3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKaW5kZXggYjFiYWY2NzZmOGFlODE5ZDQwNWZiNTM1OTVlMjhmY2MzMWQ2ZWM3
Zi4uNzc1MWZjZTgyOGU5ZDY3MGRlMDQxNjAzMWJhYjBiNGM4MGYzMDc1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTgxNSw0NiArODE1LDYgQEAgdm9pZCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6c2V0TWFpbkRvY3VtZW50RXJyb3IoRG9jdW1lbnRMb2FkZXIqLCBjb25z
dCBSZXNvdXJjZUUKICAgICBtX2hhc1NlbnRSZXNwb25zZVRvUGx1Z2luVmlldyA9IGZhbHNlOwog
fQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jl
c3MoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgV2ViRnJhbWVMb2FkZXJD
bGllbnQ6OmRpZENoYW5nZUVzdGltYXRlZFByb2dyZXNzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotfQotCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpwcm9ncmVzc1N0YXJ0ZWQoRnJh
bWUmIG9yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZSkKLXsKLSAgICBpZiAoV2ViUGFnZSogd2ViUGFn
ZSA9IG1fZnJhbWUtPnBhZ2UoKSkgewotICAgICAgICBpZiAob3JpZ2luYXRpbmdQcm9ncmVzc0Zy
YW1lLmlzTWFpbkZyYW1lKCkpCi0gICAgICAgICAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZFN0YXJ0UHJvZ3Jlc3MoKSk7Ci0gICAgfQotfQotCi12b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50Ojpwcm9ncmVzc0VzdGltYXRlQ2hhbmdlZChGcmFtZSYgb3JpZ2luYXRp
bmdQcm9ncmVzc0ZyYW1lKQotewotICAgIGlmIChXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+
cGFnZSgpKSB7Ci0gICAgICAgIGlmIChvcmlnaW5hdGluZ1Byb2dyZXNzRnJhbWUuaXNNYWluRnJh
bWUoKSkgewotICAgICAgICAgICAgZG91YmxlIHByb2dyZXNzID0gd2ViUGFnZS0+Y29yZVBhZ2Uo
KS0+cHJvZ3Jlc3MoKS5lc3RpbWF0ZWRQcm9ncmVzcygpOwotICAgICAgICAgICAgd2ViUGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VQcm9ncmVzcyhwcm9ncmVzcykp
OwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpwcm9n
cmVzc0ZpbmlzaGVkKEZyYW1lJiBvcmlnaW5hdGluZ1Byb2dyZXNzRnJhbWUpCi17Ci0gICAgaWYg
KFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkpIHsKLSAgICAgICAgaWYgKG9yaWdp
bmF0aW5nUHJvZ3Jlc3NGcmFtZS5pc01haW5GcmFtZSgpKSB7Ci0gICAgICAgICAgICAvLyBOb3Rp
ZnkgdGhlIGJ1bmRsZSBjbGllbnQuCi0gICAgICAgICAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRs
ZUxvYWRlckNsaWVudCgpLmRpZEZpbmlzaFByb2dyZXNzKHdlYlBhZ2UpOwotCi0gICAgICAgICAg
ICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmlzaFByb2dyZXNz
KCkpOwotICAgICAgICB9Ci0gICAgfQotfQotCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpz
ZXRNYWluRnJhbWVEb2N1bWVudFJlYWR5KGJvb2wpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCBkYmQzZmFkNzBkNDQ5NTA4NDExOGFi
NGRkMDA1MDMzYTgwMjFlZjhhLi5mN2IzZWQ0NGJlZWM3OTk0OTc0YWY1NjQ5ZmZlNGYzMDllNTI1
ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0yNywxNCArMjcsMTMgQEAK
ICNkZWZpbmUgV2ViRnJhbWVMb2FkZXJDbGllbnRfaAogCiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZUxvYWRlckNsaWVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5WaWV3OwogY2xhc3MgV2Vi
RnJhbWU7CiAgICAgCi1jbGFzcyBXZWJGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBXZWJDb3Jl
OjpGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlckNsaWVu
dCB7CitjbGFzcyBXZWJGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpGcmFtZUxv
YWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgV2ViRnJhbWVMb2FkZXJDbGllbnQoKTsKICAgICB+
V2ViRnJhbWVMb2FkZXJDbGllbnQoKTsKQEAgLTExNiwxMyArMTE1LDYgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRlKFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldE1haW5Eb2N1bWVudEVycm9y
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYp
IE9WRVJSSURFOwogICAgIAotICAgIC8vIE1heWJlIHRoZXNlIHNob3VsZCBnbyBpbnRvIGEgUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50IHNvbWUgZGF5Ci0gICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VF
c3RpbWF0ZWRQcm9ncmVzcygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VF
c3RpbWF0ZWRQcm9ncmVzcygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBwcm9ncmVzc1N0
YXJ0ZWQoV2ViQ29yZTo6RnJhbWUmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcHJvZ3Jl
c3NFc3RpbWF0ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IHZvaWQgcHJvZ3Jlc3NGaW5pc2hlZChXZWJDb3JlOjpGcmFtZSYpIE9WRVJSSURFOwotICAgIAog
ICAgIHZpcnR1YWwgdm9pZCBzZXRNYWluRnJhbWVEb2N1bWVudFJlYWR5KGJvb2wpIE9WRVJSSURF
OwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBzdGFydERvd25sb2FkKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkTmFtZSA9IFN0cmluZygpKSBP
VkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZmFkOTUxOTE2YmQ2MjdhNTBmNTFlNWEzYjMwZWFhMTI5OWY2YmZkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQcm9n
cmVzc1RyYWNrZXJDbGllbnQuY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCisK
KyNpbmNsdWRlICJXZWJQYWdlLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQ6
OldlYlByb2dyZXNzVHJhY2tlckNsaWVudChXZWJQYWdlJiB3ZWJQYWdlKQorICAgIDogbV93ZWJQ
YWdlKHdlYlBhZ2UpCit7Cit9CisgICAgCit2b2lkIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudDo6
cHJvZ3Jlc3NUcmFja2VyRGVzdHJveWVkKCkKK3sKKyAgICBkZWxldGUgdGhpczsKK30KKyAgICAK
K3ZvaWQgV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Ojpwcm9ncmVzc1N0YXJ0ZWQoRnJhbWUmIG9y
aWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZSkKK3sKKyAgICBpZiAoIW9yaWdpbmF0aW5nUHJvZ3Jlc3NG
cmFtZS5pc01haW5GcmFtZSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbV93ZWJQYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkU3RhcnRQcm9ncmVzcygpKTsKK30KKwor
dm9pZCBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQ6OnByb2dyZXNzRXN0aW1hdGVDaGFuZ2VkKEZy
YW1lJiBvcmlnaW5hdGluZ1Byb2dyZXNzRnJhbWUpCit7CisgICAgaWYgKCFvcmlnaW5hdGluZ1By
b2dyZXNzRnJhbWUuaXNNYWluRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGRv
dWJsZSBwcm9ncmVzcyA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5wcm9ncmVzcygpLmVzdGltYXRl
ZFByb2dyZXNzKCk7CisgICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ2hhbmdlUHJvZ3Jlc3MocHJvZ3Jlc3MpKTsKK30KKwordm9pZCBXZWJQcm9ncmVzc1RyYWNr
ZXJDbGllbnQ6OnByb2dyZXNzRmluaXNoZWQoRnJhbWUmIG9yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFt
ZSkKK3sKKyAgICBpZiAoIW9yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZS5pc01haW5GcmFtZSgpKQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgLy8gTm90aWZ5IHRoZSBidW5kbGUgY2xpZW50Lgor
ICAgIG1fd2ViUGFnZS5pbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVudCgpLmRpZEZpbmlzaFByb2dy
ZXNzKCZtX3dlYlBhZ2UpOworICAgIAorICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRpZEZpbmlzaFByb2dyZXNzKCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjJi
YmRkZTIxN2M1YTJiMjUzNTk4YzNmNThhYTkxOWIyNjEzMmIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlByb2dyZXNzVHJhY2tl
ckNsaWVudC5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlByb2dy
ZXNzVHJhY2tlckNsaWVudF9oCisjZGVmaW5lIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudF9oCisK
KyNpbmNsdWRlIDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlckNsaWVudC5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUHJvZ3Jlc3NUcmFja2VyQ2xp
ZW50IDogcHVibGljIFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlckNsaWVudCB7CitwdWJsaWM6Cisg
ICAgZXhwbGljaXQgV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KFdlYlBhZ2UmKTsKKyAgICAKK3By
aXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHByb2dyZXNzVHJhY2tlckRlc3Ryb3llZCgpIE9WRVJS
SURFOworCisgICAgdmlydHVhbCB2b2lkIHByb2dyZXNzU3RhcnRlZChXZWJDb3JlOjpGcmFtZSYg
b3JpZ2luYXRpbmdQcm9ncmVzc0ZyYW1lKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcHJv
Z3Jlc3NFc3RpbWF0ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmIG9yaWdpbmF0aW5nUHJvZ3Jlc3NG
cmFtZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHByb2dyZXNzRmluaXNoZWQoV2ViQ29y
ZTo6RnJhbWUmIG9yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZSkgT1ZFUlJJREU7CisKKyAgICBXZWJQ
YWdlJiBtX3dlYlBhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8v
IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYWI3ZDEyZTZjNmRlMzY4ZGYzNTAxMGNmOTUxZDNi
NzQwODdjNGFjYi4uYmY3YWY4OTZhMzhhMDc4NmNkY2FhMzU5MzBlZmE3ODM2OTFiYTA0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtODUs
NiArODUsNyBAQAogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9BUElDYXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcmNoaXZlUmVzb3VyY2UuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0Nocm9tZS5oPgpAQCAtMzA5LDcgKzMxMCw3IEBAIFdlYlBhZ2U6OldlYlBh
Z2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJh
bWV0ZXJzKQogI2VuZGlmCiAgICAgcGFnZUNsaWVudHMucGx1Z0luQ2xpZW50ID0gbmV3IFdlYlBs
dWdJbkNsaWVudCh0aGlzKTsKICAgICBwYWdlQ2xpZW50cy5sb2FkZXJDbGllbnRGb3JNYWluRnJh
bWUgPSBuZXcgV2ViRnJhbWVMb2FkZXJDbGllbnQ7Ci0gICAgcGFnZUNsaWVudHMucHJvZ3Jlc3NU
cmFja2VyQ2xpZW50ID0gc3RhdGljX2Nhc3Q8V2ViRnJhbWVMb2FkZXJDbGllbnQqPihwYWdlQ2xp
ZW50cy5sb2FkZXJDbGllbnRGb3JNYWluRnJhbWUpOworICAgIHBhZ2VDbGllbnRzLnByb2dyZXNz
VHJhY2tlckNsaWVudCA9IG5ldyBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQoKnRoaXMpOwogCiAg
ICAgbV9wYWdlID0gYWRvcHRQdHIobmV3IFBhZ2UocGFnZUNsaWVudHMpKTsKIAo=
</data>
<flag name="review"
          id="245086"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="245087"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>