<?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>202014</bug_id>
          
          <creation_ts>2019-09-19 16:43:22 -0700</creation_ts>
          <short_desc>[JSC] DFG op_call_varargs should not assume that one-previous-local of freeReg is usable</short_desc>
          <delta_ts>2019-09-19 19:31:50 -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>JavaScriptCore</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1572536</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-19 16:43:22 -0700</bug_when>
    <thetext>This is not correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572537</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-19 16:43:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/54574453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572571</commentid>
    <comment_count>2</comment_count>
      <attachid>379183</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-19 18:06:02 -0700</bug_when>
    <thetext>Created attachment 379183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572572</commentid>
    <comment_count>3</comment_count>
      <attachid>379183</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-19 18:06:56 -0700</bug_when>
    <thetext>Comment on attachment 379183
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1861
&gt; +    int registerOffset = firstFreeReg;

This is the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572580</commentid>
    <comment_count>4</comment_count>
      <attachid>379183</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-09-19 18:23:33 -0700</bug_when>
    <thetext>Comment on attachment 379183
Patch

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

r=me too.

&gt; Source/JavaScriptCore/ChangeLog:51
&gt; +        represent that this includes |this| count.

By &quot;this includes |this| count&quot;, you mean &quot;the argument count includes |this|&quot;, yes?  Can you rephrase as that please.  The first &quot;this&quot; is a bit ambiguous.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572588</commentid>
    <comment_count>5</comment_count>
      <attachid>379183</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-19 19:17:31 -0700</bug_when>
    <thetext>Comment on attachment 379183
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:51
&gt;&gt; +        represent that this includes |this| count.
&gt; 
&gt; By &quot;this includes |this| count&quot;, you mean &quot;the argument count includes |this|&quot;, yes?  Can you rephrase as that please.  The first &quot;this&quot; is a bit ambiguous.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572601</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-19 19:31:50 -0700</bug_when>
    <thetext>Committed r250116: &lt;https://trac.webkit.org/changeset/250116&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379183</attachid>
            <date>2019-09-19 18:06:02 -0700</date>
            <delta_ts>2019-09-19 18:22:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202014-20190919180601.patch</filename>
            <type>text/plain</type>
            <size>20135</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ODM2ZDdmMDdhMDA3NGE5OTM5YjBiNDBmMmViZjljN2RlYWVmMDA5Li5iMzRiNjFmNmI2YjQzZDQ4
ZjI5ODZiMDU0MDNiNzE0MDk0YmE5NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MyBAQAorMjAxOS0wOS0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBvcF9jYWxsX3ZhcmFyZ3Mgc2hvdWxkIG5vdCBhc3N1bWUg
dGhhdCBvbmUtcHJldmlvdXMtbG9jYWwgb2YgZnJlZVJlZyBpcyB1c2FibGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjAxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCdzIGxvb2sgaW50byB0aGUg
Ynl0ZWNvZGUgZ2VuZXJhdGVkIGJ5IHRoZSB0ZXN0LgorCisgICAgICAgICAgICBbICAgMF0gZW50
ZXIKKyAgICAgICAgICAgIFsgICAxXSBnZXRfc2NvcGUgICAgICAgICAgbG9jNAorICAgICAgICAg
ICAgWyAgIDNdIG1vdiAgICAgICAgICAgICAgICBsb2M1LCBsb2M0CisgICAgICAgICAgICBbICAg
Nl0gY2hlY2tfdHJhcHMKKyAgICAgICAgICAgIFsgICA3XSBtb3YgICAgICAgICAgICAgICAgbG9j
NiwgY2FsbGVlCisgICAgICAgICAgICBbICAxMF0gY3JlYXRlX2RpcmVjdF9hcmd1bWVudHMgbG9j
NworICAgICAgICAgICAgWyAgMTJdIHRvX3RoaXMgICAgICAgICAgICB0aGlzCisgICAgICAgICAg
ICBbICAxNV0gbW92ICAgICAgICAgICAgICAgIGxvYzgsIGxvYzcKKyAgICAgICAgICAgIFsgIDE4
XSBtb3YgICAgICAgICAgICAgICAgbG9jOSwgbG9jNgorICAgICAgICAgICAgWyAgMjFdIG1vdiAg
ICAgICAgICAgICAgICBsb2MxMiwgVW5kZWZpbmVkKGNvbnN0MCkKKyAgICAgICAgICAgIFsgIDI0
XSBnZXRfYnlfaWQgICAgICAgICAgbG9jMTEsIGxvYzYsIDAKKyAgICAgICAgICAgIFsgIDI5XSBq
bmVxX3B0ciAgICAgICAgICAgbG9jMTEsIEFwcGx5RnVuY3Rpb24sIDE4KC0+NDcpCisgICAgICAg
ICAgICBbICAzNF0gbW92ICAgICAgICAgICAgICAgIGxvYzExLCBsb2M2CisgICAgICAgICAgICBb
ICAzN10gY2FsbF92YXJhcmdzICAgICAgIGxvYzExLCBsb2MxMSwgdGhpcywgbG9jOCwgbG9jMTMs
IDAKKyAgICAgICAgICAgIFsgIDQ1XSBqbXAgICAgICAgICAgICAgICAgMTcoLT42MikKKyAgICAg
ICAgICAgIFsgIDQ3XSBtb3YgICAgICAgICAgICAgICAgbG9jMTYsIGxvYzYKKyAgICAgICAgICAg
IFsgIDUwXSBtb3YgICAgICAgICAgICAgICAgbG9jMTUsIHRoaXMKKyAgICAgICAgICAgIFsgIDUz
XSBtb3YgICAgICAgICAgICAgICAgbG9jMTQsIGxvYzgKKyAgICAgICAgICAgIFsgIDU2XSBjYWxs
ICAgICAgICAgICAgICAgbG9jMTEsIGxvYzExLCAzLCAyMgorICAgICAgICAgICAgLi4uCisKKyAg
ICAgICAgY2FsbF92YXJhcmdzIHVzZXMgbG9jMTMgYXMgZmlyc3RGcmVlUmVnIChmaXJzdCB1c2Fi
bGUgYm90dG9tIHJlZ2lzdGVyIGluIHRoZSBjdXJyZW50IHN0YWNrLWZyYW1lIHRvIHNwcmVhZCB2
YXJpYWRpYyBhcmd1bWVudHMgYWZ0ZXIgdGhpcykuCisgICAgICAgIFRoaXMgaXMgY29ycmVjdC4g
QW5kIGNhbGxfdmFyYXJncyB1c2VzIHx0aGlzfCBhcyB0aGlzIGFyZ3VtZW50IGZvciB0aGUgY2Fs
bF92YXJhcmdzLiBUaGlzIHx0aGlzfCBhcmd1bWVudCBpcyBub3QgaW4gYSByZWdpb24gc3RhcnRp
bmcgZnJvbSBsb2MxMy4KKyAgICAgICAgQW5kIGl0IGlzIG5vdCBpbiB0aGUgcHJldmlvdXMgcGxh
Y2UgdG8gbG9jMTMgKHx0aGlzfCBpcyBub3QgbG9jMTIpLgorCisgICAgICAgIE9uIHRoZSBvdGhl
ciBoYW5kLCBERkc6OkJ5dGVDb2RlUGFyc2VyJ3MgaW5saW5pbmcgcGF0aCBpcyBhbHdheXMgYXNz
dW1pbmcgdGhhdCB0aGUgcHJldmlvdXMgdG8gZmlyc3RGcmVlUmVnIGlzIHVzYWJsZSBhbmQgcGFy
dCBvZiBhcmd1bWVudHMuCisgICAgICAgIEJ1dCB0aGlzIGlzIHdyb25nLiBsb2MxMiBpbiB0aGUg
YWJvdmUgYnl0ZWNvZGUgaXMgdXNlZCBmb3IgYFsgIDU2XSBjYWxsICAgICAgICAgICAgICAgbG9j
MTEsIGxvYzExLCAzLCAyMmAncyBhcmd1bWVudCBsYXRlciwgYW5kIHRoaXMgY2FsbCBhc3N1bWVz
CisgICAgICAgIHRoYXQgbG9jMTIgaXMgbm90IGNsb2JiZXJlZCBieSBjYWxsX3ZhcmFyZ3MuIEJ1
dCBERkcgYW5kIEZUTCBjbG9iYmVycyBpdC4KKworICAgICAgICBUaGUgdGVzdCBpcyByZWN1cnNp
dmVseSBjYWxsaW5nIHRoZSBzYW1lIGZ1bmN0aW9uLCBhbmQgd2UgaW5saW5lIHRoZSBzYW1lIGZ1
bmN0aW9uIG9uZS1sZXZlbC4gQW5kIHN0YWNrLW92ZXJmbG93IGVycm9yIGhhcHBlbnMgd2hlbiBp
bmxpbmVkCisgICAgICAgIENhbGxGb3J3YXJkVmFyYXJncyAoZnJvbSBvcF9jYWxsX3ZhcmFyZ3Mp
IGlzIGNhbGxlZC4gRlRMIHJlY292ZXJzIHRoZSBmcmFtZXMsIGFuZCBhdCB0aGlzIHBvaW50LCBv
dXRlciBmdW5jdGlvbidzIGxvYzEyIGlzIHJlY292ZXJlZCB0byBnYXJiYWdlIHNpbmNlCisgICAg
ICAgIExvYWRWYXJhcmdzIGNsb2JiZXJzIGl0LiBBbmQgd2UgZXZlbnR1YWxseSB1c2UgaXQgYW5k
IGNyYXNoLgorCisgICAgICAgICAgICA2MDo8ITA6LT4JTG9hZFZhcmFyZ3MoQ2hlY2s6VW50eXBl
ZDpLaWxsOkAzMCwgTXVzdEdlbiwgc3RhcnQgPSBsb2MxMywgY291bnQgPSBsb2MxNSwgbWFjaGlu
ZVN0YXJ0ID0gbG9jNywgbWFjaGluZUNvdW50ID0gbG9jOSwgb2Zmc2V0ID0gMCwgbWFuZGF0b3J5
TWluaW11bSA9IDAsIGxpbWl0ID0gMiwgUjpXb3JsZCwgVzpTdGFjaygtMTYpLFN0YWNrKC0xNCks
U3RhY2soLTEzKSxIZWFwLCBFeGl0cywgQ2xvYmJlcnNFeGl0LCBiYyMzNywgRXhpdFZhbGlkKQor
CisgICAgICAgIFRoaXMgTG9hZFZhcmFyZ3MgY2xvYmJlcnMgbG9jMTIsIGxvYzEzLCBhbmQgbG9j
MTUgd2hpbGUgbG9jMTIgaXMgdXNlZC4KKworICAgICAgICBJbiBhbGwgdGhlIHRpZXJzLCBvcF9j
YWxsX3ZhcmFyZ3MgZmlyc3QgYWxsb2NhdGVzIGVub3VnaCByZWdpb24gdG8gaG9sZCB2YXJhcmdz
IGluY2x1ZGluZyB8dGhpc3wuIEFuZCB3ZSBzdG9yZSB8dGhpc3wgdmFsdWUgdG8gYSBjb3JyZWN0
IHBsYWNlLgorICAgICAgICBERkcgc2hvdWxkIG5vdCBhc3N1bWUgdGhhdCB0aGUgcHJldmlvdXMg
cmVnaXN0ZXIgdG8gZmlyc3RGcmVlUmVnIGlzIHVzZWQgZm9yIHx0aGlzfC4KKworICAgICAgICBU
aGlzIHBhdGNoIGZpeGVzIERGRzo6Qnl0ZUNvZGVQYXJzZXIncyBzdGFjayByZWdpb24gY2FsY3Vs
YXRpb24gZm9yIG9wX2NhbGxfdmFyYXJncyBpbmxpbmluZy4gQW5kIHdlIHJlbmFtZSBtYXhOdW1B
cmd1bWVudHMgdG8gbWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgdG8KKyAgICAgICAgcmVw
cmVzZW50IHRoYXQgdGhpcyBpbmNsdWRlcyB8dGhpc3wgY291bnQuCisKKyAgICAgICAgKiBieXRl
Y29kZS9DYWxsTGlua0luZm8uY3BwOgorICAgICAgICAoSlNDOjpDYWxsTGlua0luZm86OnNldE1h
eEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZv
OjpzZXRNYXhOdW1Bcmd1bWVudHMpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxM
aW5rSW5mby5oOgorICAgICAgICAoSlNDOjpDYWxsTGlua0luZm86OmFkZHJlc3NPZk1heEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZvOjptYXhB
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyk6CisgICAgICAgIChKU0M6OkNhbGxMaW5rSW5mbzo6
YWRkcmVzc09mTWF4TnVtQXJndW1lbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6Q2FsbExp
bmtJbmZvOjptYXhOdW1Bcmd1bWVudHMpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb2RlL0Nh
bGxMaW5rU3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVG
b3IpOgorICAgICAgICAoSlNDOjpDYWxsTGlua1N0YXR1czo6ZHVtcCBjb25zdCk6CisgICAgICAg
ICogYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaDoKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0
dXM6Om1heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzIGNvbnN0KToKKyAgICAgICAgKEpTQzo6
Q2FsbExpbmtTdGF0dXM6Om1heE51bUFyZ3VtZW50cyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29k
ZVBhcnNlcjo6aGFuZGxlVmFyYXJnc0lubGluaW5nKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVt
aXRDYWxsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBmdGwvRlRM
TG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZURpcmVjdENhbGxPckNvbnN0cnVjdCk6CisgICAgICAgICogaml0L0pJVENhbGwuY3Bw
OgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVTZXR1cEZyYW1lKToKKyAgICAgICAgKiBqaXQv
SklUQ2FsbDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlU2V0dXBGcmFtZSk6
CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorCiAyMDE5LTA5LTE5ICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWR1Y2UgdGhlIG51bWJlciBvZiBy
ZXF1aXJlZCB0YWcgYml0cyBmb3IgdGhlIEpTVmFsdWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3BwCmluZGV4IDM5M2YxODI0ZTQxYTRiZWI1MTRj
NjJhNjk2ZjMzYTgzNzI0OTVjZGQuLmNlOWJlNzE4NjQ0OWVhZDg1ZjlhMWQ4Y2FmNGY0MDg3MTI1
MWIxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlu
a0luZm8uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0lu
Zm8uY3BwCkBAIC0xOTAsMTEgKzE5MCwxMSBAQCBFeGVjdXRhYmxlQmFzZSogQ2FsbExpbmtJbmZv
OjpleGVjdXRhYmxlKCkKICAgICByZXR1cm4ganNDYXN0PEV4ZWN1dGFibGVCYXNlKj4obV9sYXN0
U2VlbkNhbGxlZU9yRXhlY3V0YWJsZS5nZXQoKSk7CiB9CiAKLXZvaWQgQ2FsbExpbmtJbmZvOjpz
ZXRNYXhOdW1Bcmd1bWVudHModW5zaWduZWQgdmFsdWUpCit2b2lkIENhbGxMaW5rSW5mbzo6c2V0
TWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXModW5zaWduZWQgdmFsdWUpCiB7CiAgICAgUkVM
RUFTRV9BU1NFUlQoaXNEaXJlY3QoKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQodmFsdWUpOwotICAg
IG1fbWF4TnVtQXJndW1lbnRzID0gdmFsdWU7CisgICAgbV9tYXhBcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcyA9IHZhbHVlOwogfQogCiB2b2lkIENhbGxMaW5rSW5mbzo6dmlzaXRXZWFrKFZNJiB2
bSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0lu
Zm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uaAppbmRl
eCA4OTg3NWRhMmJlMjM3MDA4N2RjMDFlNWFkZDYzYTllODFiMTBkNmFkLi45YzkzZDBjMjhjYzU3
MzZlY2QxZjFiODg0YmZkOTY5NTlkYWJmMWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NhbGxMaW5rSW5mby5oCkBAIC0yOTUsMTcgKzI5NSwxNyBAQCBjbGFzcyBDYWxs
TGlua0luZm8gOiBwdWJsaWMgUGFja2VkUmF3U2VudGluZWxOb2RlPENhbGxMaW5rSW5mbz4gewog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FsbFR5cGU+KG1fY2FsbFR5cGUpOwogICAgIH0K
IAotICAgIHVpbnQzMl90KiBhZGRyZXNzT2ZNYXhOdW1Bcmd1bWVudHMoKQorICAgIHVpbnQzMl90
KiBhZGRyZXNzT2ZNYXhBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpCiAgICAgewotICAgICAg
ICByZXR1cm4gJm1fbWF4TnVtQXJndW1lbnRzOworICAgICAgICByZXR1cm4gJm1fbWF4QXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXM7CiAgICAgfQogCi0gICAgdWludDMyX3QgbWF4TnVtQXJndW1l
bnRzKCkKKyAgICB1aW50MzJfdCBtYXhBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpCiAgICAg
ewotICAgICAgICByZXR1cm4gbV9tYXhOdW1Bcmd1bWVudHM7CisgICAgICAgIHJldHVybiBtX21h
eEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOwogICAgIH0KICAgICAKLSAgICB2b2lkIHNldE1h
eE51bUFyZ3VtZW50cyh1bnNpZ25lZCk7CisgICAgdm9pZCBzZXRNYXhBcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcyh1bnNpZ25lZCk7CiAKICAgICBzdGF0aWMgcHRyZGlmZl90IG9mZnNldE9mU2xv
d1BhdGhDb3VudCgpCiAgICAgewpAQCAtMzQyLDcgKzM0Miw3IEBAIGNsYXNzIENhbGxMaW5rSW5m
byA6IHB1YmxpYyBQYWNrZWRSYXdTZW50aW5lbE5vZGU8Q2FsbExpbmtJbmZvPiB7CiAgICAgfQog
CiBwcml2YXRlOgotICAgIHVpbnQzMl90IG1fbWF4TnVtQXJndW1lbnRzIHsgMCB9OyAvLyBGb3Ig
dmFyYXJnczogdGhlIHByb2ZpbGVkIG1heGltdW0gbnVtYmVyIG9mIGFyZ3VtZW50cy4gRm9yIGRp
cmVjdDogdGhlIG51bWJlciBvZiBzdGFjayBzbG90cyBhbGxvY2F0ZWQgZm9yIGFyZ3VtZW50cy4K
KyAgICB1aW50MzJfdCBtX21heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzIHsgMCB9OyAvLyBG
b3IgdmFyYXJnczogdGhlIHByb2ZpbGVkIG1heGltdW0gbnVtYmVyIG9mIGFyZ3VtZW50cy4gRm9y
IGRpcmVjdDogdGhlIG51bWJlciBvZiBzdGFjayBzbG90cyBhbGxvY2F0ZWQgZm9yIGFyZ3VtZW50
cy4KICAgICBDb2RlTG9jYXRpb25MYWJlbDxKU0ludGVybmFsUHRyVGFnPiBtX2NhbGxSZXR1cm5M
b2NhdGlvbk9yUGF0Y2hhYmxlSnVtcDsKICAgICBDb2RlTG9jYXRpb25MYWJlbDxKU0ludGVybmFs
UHRyVGFnPiBtX2hvdFBhdGhCZWdpbk9yU2xvd1BhdGhTdGFydDsKICAgICBDb2RlTG9jYXRpb25O
ZWFyQ2FsbDxKU0ludGVybmFsUHRyVGFnPiBtX2hvdFBhdGhPdGhlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCmluZGV4IGZlMjlhOWI2
MGY2ZDFlZTZjYmY3ZDQ1ODUyMzdlODIyNzAyZGI1YmEuLjlhMDAwZmM1YjQyYWU2ZTM4MjY5ZDgz
N2E3OTBhMzk2MGI1Y2JkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9DYWxsTGlua1N0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NhbGxMaW5rU3RhdHVzLmNwcApAQCAtMTU3LDcgKzE1Nyw3IEBAIENhbGxMaW5rU3RhdHVz
IENhbGxMaW5rU3RhdHVzOjpjb21wdXRlRm9yKAogICAgIFVOVVNFRF9QQVJBTShwcm9maWxlZEJs
b2NrKTsKICAgICAKICAgICBDYWxsTGlua1N0YXR1cyByZXN1bHQgPSBjb21wdXRlRnJvbUNhbGxM
aW5rSW5mbyhsb2NrZXIsIGNhbGxMaW5rSW5mbyk7Ci0gICAgcmVzdWx0Lm1fbWF4TnVtQXJndW1l
bnRzID0gY2FsbExpbmtJbmZvLm1heE51bUFyZ3VtZW50cygpOworICAgIHJlc3VsdC5tX21heEFy
Z3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID0gY2FsbExpbmtJbmZvLm1heEFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzKCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtNDc0LDggKzQ3NCw4
IEBAIHZvaWQgQ2FsbExpbmtTdGF0dXM6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAg
ICBpZiAoIW1fdmFyaWFudHMuaXNFbXB0eSgpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsIGxp
c3REdW1wKG1fdmFyaWFudHMpKTsKICAgICAKLSAgICBpZiAobV9tYXhOdW1Bcmd1bWVudHMpCi0g
ICAgICAgIG91dC5wcmludChjb21tYSwgIm1heE51bUFyZ3VtZW50cyA9ICIsIG1fbWF4TnVtQXJn
dW1lbnRzKTsKKyAgICBpZiAobV9tYXhBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcykKKyAgICAg
ICAgb3V0LnByaW50KGNvbW1hLCAibWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPSAiLCBt
X21heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0
dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5oCmlu
ZGV4IGYwZWQ0MDdkYzA4ZTA2ZTI1MzQ3YmM0OGFhM2QwZWRhMDI5NWNjMWEuLjBhMTAxY2EwMmU2
ODkxMGQyZmMzNDIwNzliOTkwZmE1MjJhNzM4OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5oCkBAIC0xMDQsNyArMTA0LDcgQEAgY2xhc3Mg
Q2FsbExpbmtTdGF0dXMgewogCiAgICAgYm9vbCBpc0Nsb3N1cmVDYWxsKCkgY29uc3Q7IC8vIFJl
dHVybnMgdHJ1ZSBpZiBhbnkgY2FsbGVlIGlzIGEgY2xvc3VyZSBjYWxsLgogICAgIAotICAgIHVu
c2lnbmVkIG1heE51bUFyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4TnVtQXJndW1lbnRz
OyB9CisgICAgdW5zaWduZWQgbWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSBjb25zdCB7
IHJldHVybiBtX21heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOyB9CiAgICAgCiAgICAgYm9v
bCBmaW5hbGl6ZShWTSYpOwogICAgIApAQCAtMTI5LDcgKzEyOSw3IEBAIGNsYXNzIENhbGxMaW5r
U3RhdHVzIHsKICAgICBib29sIG1fY291bGRUYWtlU2xvd1BhdGggeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc1Byb3ZlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQmFzZWRPblN0dWIgeyBmYWxz
ZSB9OwotICAgIHVuc2lnbmVkIG1fbWF4TnVtQXJndW1lbnRzIHsgMCB9OworICAgIHVuc2lnbmVk
IG1fbWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKaW5kZXggZjZhN2Q1MzkzNjRjODc2NTFjY2UxYTEwZTIwOWVkN2Q5NDBmOTRhYy4uMDdm
NjllNjZkMzA0YjcyYmJiYTY2N2U5Y2U3MTZkNTBiNjJiNmFhNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTE4MzIsNyArMTgzMiw3
IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVZhcmFyZ3NJbmxpbmluZyhOb2RlKiBjYWxs
VGFyZ2V0Tm9kZSwgVmlydHVhbFJlZ2lzdGVyCiAgICAgTm9kZVR5cGUgY2FsbE9wLCBJbmxpbmVD
YWxsRnJhbWU6OktpbmQga2luZCkKIHsKICAgICBWRVJCT1NFX0xPRygiSGFuZGxpbmcgaW5saW5p
bmcgKFZhcmFyZ3MpLi4uXG5TdGFjazogIiwgY3VycmVudENvZGVPcmlnaW4oKSwgIlxuIik7Ci0g
ICAgaWYgKGNhbGxMaW5rU3RhdHVzLm1heE51bUFyZ3VtZW50cygpID4gT3B0aW9uczo6bWF4aW11
bVZhcmFyZ3NGb3JJbmxpbmluZygpKSB7CisgICAgaWYgKGNhbGxMaW5rU3RhdHVzLm1heEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzKCkgPiBPcHRpb25zOjptYXhpbXVtVmFyYXJnc0ZvcklubGlu
aW5nKCkpIHsKICAgICAgICAgVkVSQk9TRV9MT0coIkJhaWxpbmcgaW5saW5pbmc6IHRvbyBtYW55
IGFyZ3VtZW50cyBmb3IgdmFyYXJncyBpbmxpbmluZy5cbiIpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQpAQCAtMTg1MCwxNiArMTg1MCwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVWYXJhcmdzSW5saW5pbmcoTm9kZSogY2FsbFRhcmdldE5vZGUsIFZpcnR1YWxSZWdpc3Rl
cgogICAgICAgICBtYW5kYXRvcnlNaW5pbXVtID0gMDsKICAgICAKICAgICAvLyBpbmNsdWRlcyAi
dGhpcyIKLSAgICB1bnNpZ25lZCBtYXhOdW1Bcmd1bWVudHMgPSBzdGQ6Om1heChjYWxsTGlua1N0
YXR1cy5tYXhOdW1Bcmd1bWVudHMoKSwgbWFuZGF0b3J5TWluaW11bSArIDEpOworICAgIHVuc2ln
bmVkIG1heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID0gc3RkOjptYXgoY2FsbExpbmtTdGF0
dXMubWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSwgbWFuZGF0b3J5TWluaW11bSArIDEp
OwogCiAgICAgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBzcGVjaWFsaXphdGlvbktpbmQgPSBJbmxp
bmVDYWxsRnJhbWU6OnNwZWNpYWxpemF0aW9uS2luZEZvcihraW5kKTsKLSAgICBpZiAoaW5saW5p
bmdDb3N0KGNhbGxWYXJpYW50LCBtYXhOdW1Bcmd1bWVudHMsIGtpbmQpID4gZ2V0SW5saW5pbmdC
YWxhbmNlKGNhbGxMaW5rU3RhdHVzLCBzcGVjaWFsaXphdGlvbktpbmQpKSB7CisgICAgaWYgKGlu
bGluaW5nQ29zdChjYWxsVmFyaWFudCwgbWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIGtp
bmQpID4gZ2V0SW5saW5pbmdCYWxhbmNlKGNhbGxMaW5rU3RhdHVzLCBzcGVjaWFsaXphdGlvbktp
bmQpKSB7CiAgICAgICAgIFZFUkJPU0VfTE9HKCJCYWlsaW5nIGlubGluaW5nOiBpbmxpbmluZyBj
b3N0IHRvbyBoaWdoLlxuIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgCi0g
ICAgaW50IHJlZ2lzdGVyT2Zmc2V0ID0gZmlyc3RGcmVlUmVnICsgMTsKLSAgICByZWdpc3Rlck9m
ZnNldCAtPSBtYXhOdW1Bcmd1bWVudHM7IC8vIGluY2x1ZGVzICJ0aGlzIgorICAgIGludCByZWdp
c3Rlck9mZnNldCA9IGZpcnN0RnJlZVJlZzsKKyAgICByZWdpc3Rlck9mZnNldCAtPSBtYXhBcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpczsKICAgICByZWdpc3Rlck9mZnNldCAtPSBDYWxsRnJhbWU6
OmhlYWRlclNpemVJblJlZ2lzdGVyczsKICAgICByZWdpc3Rlck9mZnNldCA9IC1XVEY6OnJvdW5k
VXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgLXJlZ2lzdGVyT2Zmc2V0
KTsKIApAQCAtMTg3OCw3ICsxODc4LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlVmFy
YXJnc0lubGluaW5nKE5vZGUqIGNhbGxUYXJnZXROb2RlLCBWaXJ0dWFsUmVnaXN0ZXIKICAgICAg
ICAgZGF0YS0+c3RhcnQgPSBWaXJ0dWFsUmVnaXN0ZXIocmVtYXBwZWRBcmd1bWVudFN0YXJ0ICsg
MSk7CiAgICAgICAgIGRhdGEtPmNvdW50ID0gVmlydHVhbFJlZ2lzdGVyKHJlbWFwcGVkUmVnaXN0
ZXJPZmZzZXQgKyBDYWxsRnJhbWVTbG90Ojphcmd1bWVudENvdW50KTsKICAgICAgICAgZGF0YS0+
b2Zmc2V0ID0gYXJndW1lbnRzT2Zmc2V0OwotICAgICAgICBkYXRhLT5saW1pdCA9IG1heE51bUFy
Z3VtZW50czsKKyAgICAgICAgZGF0YS0+bGltaXQgPSBtYXhBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpczsKICAgICAgICAgZGF0YS0+bWFuZGF0b3J5TWluaW11bSA9IG1hbmRhdG9yeU1pbmltdW07
CiAgICAgICAgIAogICAgICAgICBpZiAoY2FsbE9wID09IFRhaWxDYWxsRm9yd2FyZFZhcmFyZ3Mp
CkBAIC0xOTA3LDcgKzE5MDcsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdz
SW5saW5pbmcoTm9kZSogY2FsbFRhcmdldE5vZGUsIFZpcnR1YWxSZWdpc3RlcgogICAgICAgICAK
ICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3Rlcihhcmd1bWVudFN0YXJ0KSwgZ2V0KHRoaXNBcmd1
bWVudCksIEltbWVkaWF0ZU5ha2VkU2V0KTsKICAgICAgICAgdW5zaWduZWQgbnVtU2V0QXJndW1l
bnRzID0gMDsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBhcmd1bWVudCA9IDE7IGFyZ3VtZW50IDwg
bWF4TnVtQXJndW1lbnRzOyArK2FyZ3VtZW50KSB7CisgICAgICAgIGZvciAodW5zaWduZWQgYXJn
dW1lbnQgPSAxOyBhcmd1bWVudCA8IG1heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOyArK2Fy
Z3VtZW50KSB7CiAgICAgICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIHZhcmlhYmxlID0gbmV3
VmFyaWFibGVBY2Nlc3NEYXRhKFZpcnR1YWxSZWdpc3RlcihyZW1hcHBlZEFyZ3VtZW50U3RhcnQg
KyBhcmd1bWVudCkpOwogICAgICAgICAgICAgdmFyaWFibGUtPm1lcmdlU2hvdWxkTmV2ZXJVbmJv
eCh0cnVlKTsgLy8gV2UgY3VycmVudGx5IGhhdmUgbm93aGVyZSB0byBwdXQgdGhlIHR5cGUgY2hl
Y2sgb24gdGhlIExvYWRWYXJhcmdzLiBMb2FkVmFyYXJncyBpcyBlZmZlY3RmdWwsIHNvIGFmdGVy
IGl0IGZpbmlzaGVzLCB3ZSBjYW5ub3QgZXhpdC4KICAgICAgICAgICAgIApAQCAtMTkzOSw3ICsx
OTM5LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlVmFyYXJnc0lubGluaW5nKE5vZGUq
IGNhbGxUYXJnZXROb2RlLCBWaXJ0dWFsUmVnaXN0ZXIKICAgICAvLyB0aG9zZSBhcmd1bWVudHMu
IEV2ZW4gd29yc2UsIGlmIHRoZSBpbnRyaW5zaWMgZGVjaWRlcyB0byBleGl0LCBpdCB3b24ndCBy
ZWFsbHkgaGF2ZSBhbnl3aGVyZSB0bwogICAgIC8vIGV4aXQgdG86IExvYWRWYXJhcmdzIGlzIGVm
ZmVjdGZ1bCBhbmQgaXQncyBwYXJ0IG9mIHRoZSBvcF9jYWxsX3ZhcmFyZ3MsIHNvIHdlIGNhbid0
IGV4aXQgd2l0aG91dAogICAgIC8vIGNhbGxpbmcgTG9hZFZhcmFyZ3MgdHdpY2UuCi0gICAgaW5s
aW5lQ2FsbChjYWxsVGFyZ2V0Tm9kZSwgcmVzdWx0LCBjYWxsVmFyaWFudCwgcmVnaXN0ZXJPZmZz
ZXQsIG1heE51bUFyZ3VtZW50cywga2luZCwgbnVsbHB0ciwgaW5zZXJ0Q2hlY2tzKTsKKyAgICBp
bmxpbmVDYWxsKGNhbGxUYXJnZXROb2RlLCByZXN1bHQsIGNhbGxWYXJpYW50LCByZWdpc3Rlck9m
ZnNldCwgbWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIGtpbmQsIG51bGxwdHIsIGluc2Vy
dENoZWNrcyk7CiAKIAogICAgIFZFUkJPU0VfTE9HKCJTdWNjZXNzZnVsIGlubGluaW5nICh2YXJh
cmdzLCBtb25vbW9ycGhpYykuXG5TdGFjazogIiwgY3VycmVudENvZGVPcmlnaW4oKSwgIlxuIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcAppbmRleCBhNmQ0NmE1NDU2ODE3MDhhOWI0ZDg2ZDA5OTM3MzY5M2IxOTQxYTY3Li44
NDMwNTcwOGVmMmIyNzczZGIyZTUyYWY2M2UwMjMzMzgxYWE5ZGU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTgy
Niw3ICs4MjYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBub2RlKQog
CiAgICAgaWYgKGlzRGlyZWN0KSB7CiAgICAgICAgIGluZm8tPnNldEV4ZWN1dGFibGVEdXJpbmdD
b21waWxhdGlvbihleGVjdXRhYmxlKTsKLSAgICAgICAgaW5mby0+c2V0TWF4TnVtQXJndW1lbnRz
KG51bUFsbG9jYXRlZEFyZ3MpOworICAgICAgICBpbmZvLT5zZXRNYXhBcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcyhudW1BbGxvY2F0ZWRBcmdzKTsKIAogICAgICAgICBpZiAoaXNUYWlsKSB7CiAg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChub2RlLT5vcCgpID09IERpcmVjdFRhaWxDYWxsKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CmluZGV4IDY4OTgwYzBmMTcxYzIxMWM5NDRkNDhkZDNlMDUzNGZmMDQ0MzBiMzMuLmJkOWMzYmJm
ODM0YTdkY2QzMDIwZjRhMjU5ZTZlZmU4MjYzZWZlODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNzc2LDcgKzc3Niw3IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgCiAgICAgaWYg
KGlzRGlyZWN0KSB7CiAgICAgICAgIGNhbGxMaW5rSW5mby0+c2V0RXhlY3V0YWJsZUR1cmluZ0Nv
bXBpbGF0aW9uKGV4ZWN1dGFibGUpOwotICAgICAgICBjYWxsTGlua0luZm8tPnNldE1heE51bUFy
Z3VtZW50cyhudW1BbGxvY2F0ZWRBcmdzKTsKKyAgICAgICAgY2FsbExpbmtJbmZvLT5zZXRNYXhB
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhudW1BbGxvY2F0ZWRBcmdzKTsKIAogICAgICAgICBp
ZiAoaXNUYWlsKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChub2RlLT5vcCgpID09IERp
cmVjdFRhaWxDYWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcAppbmRleCBiMjU5ODkzYThlMjc4ZTgwNmEzNmFjNGQwZjA1Yzg3ZjA1Mzg3ODcxLi5m
MWY3ZGMzOWM4MWEwNThjNWRhNmI3MGY1YjZiZWRjOGU1MjRlMWYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC04MzExLDcgKzgzMTEsNyBA
QCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbExpbmtJ
bmZvOjpEaXJlY3RUYWlsQ2FsbCwgbm9kZS0+b3JpZ2luLnNlbWFudGljLCBJbnZhbGlkR1BSUmVn
KTsKICAgICAgICAgICAgICAgICAgICAgY2FsbExpbmtJbmZvLT5zZXRFeGVjdXRhYmxlRHVyaW5n
Q29tcGlsYXRpb24oZXhlY3V0YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChudW1BbGxv
Y2F0ZWRBcmdzID4gbnVtUGFzc2VkQXJncykKLSAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxM
aW5rSW5mby0+c2V0TWF4TnVtQXJndW1lbnRzKG51bUFsbG9jYXRlZEFyZ3MpOworICAgICAgICAg
ICAgICAgICAgICAgICAgY2FsbExpbmtJbmZvLT5zZXRNYXhBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcyhudW1BbGxvY2F0ZWRBcmdzKTsKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgIGppdC5hZGRMaW5rVGFzaygKICAgICAgICAgICAgICAgICAgICAgICAgIFs9XSAo
TGlua0J1ZmZlciYgbGlua0J1ZmZlcikgewpAQCAtODM0NSw3ICs4MzQ1LDcgQEAgY2xhc3MgTG93
ZXJERkdUb0IzIHsKICAgICAgICAgICAgICAgICAgICAgbm9kZS0+b3JpZ2luLnNlbWFudGljLCBJ
bnZhbGlkR1BSUmVnKTsKICAgICAgICAgICAgICAgICBjYWxsTGlua0luZm8tPnNldEV4ZWN1dGFi
bGVEdXJpbmdDb21waWxhdGlvbihleGVjdXRhYmxlKTsKICAgICAgICAgICAgICAgICBpZiAobnVt
QWxsb2NhdGVkQXJncyA+IG51bVBhc3NlZEFyZ3MpCi0gICAgICAgICAgICAgICAgICAgIGNhbGxM
aW5rSW5mby0+c2V0TWF4TnVtQXJndW1lbnRzKG51bUFsbG9jYXRlZEFyZ3MpOworICAgICAgICAg
ICAgICAgICAgICBjYWxsTGlua0luZm8tPnNldE1heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
KG51bUFsbG9jYXRlZEFyZ3MpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHBh
cmFtcy5hZGRMYXRlUGF0aCgKICAgICAgICAgICAgICAgICAgICAgWz1dIChDQ2FsbEhlbHBlcnMm
IGppdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKaW5kZXggNTU3ZmQ2MjY0
MGYzMWVjNGNiMzA5NWQ1OTA1MmMzZWU1NzNjZmY3Mi4uYzEwYzQwZGNhOGRhMjVlZmU5OTcxM2Rm
YzE4ZTk4NzE1M2RkNTliMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRDYWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCkBA
IC0xMTEsOSArMTExLDkgQEAgSklUOjpjb21waWxlU2V0dXBGcmFtZShjb25zdCBPcCYgYnl0ZWNv
ZGUsIENhbGxMaW5rSW5mbyogaW5mbykKIAogICAgIC8vIFByb2ZpbGUgdGhlIGFyZ3VtZW50IGNv
dW50LgogICAgIGxvYWQzMihBZGRyZXNzKHJlZ1QxLCBDYWxsRnJhbWVTbG90Ojphcmd1bWVudENv
dW50ICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSArIFBheWxvYWRPZmZzZXQp
LCByZWdUMik7Ci0gICAgbG9hZDMyKGluZm8tPmFkZHJlc3NPZk1heE51bUFyZ3VtZW50cygpLCBy
ZWdUMCk7CisgICAgbG9hZDMyKGluZm8tPmFkZHJlc3NPZk1heEFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzKCksIHJlZ1QwKTsKICAgICBKdW1wIG5vdEJpZ2dlc3QgPSBicmFuY2gzMihBYm92ZSwg
cmVnVDAsIHJlZ1QyKTsKLSAgICBzdG9yZTMyKHJlZ1QyLCBpbmZvLT5hZGRyZXNzT2ZNYXhOdW1B
cmd1bWVudHMoKSk7CisgICAgc3RvcmUzMihyZWdUMiwgaW5mby0+YWRkcmVzc09mTWF4QXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXMoKSk7CiAgICAgbm90QmlnZ2VzdC5saW5rKHRoaXMpOwogICAg
IAogICAgIC8vIEluaXRpYWxpemUgJ3RoaXMnLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRDYWxsMzJfNjQuY3BwCmluZGV4IGFjNzdhNjQ0YmQzN2MxMmZiMDJhMzBhNzUxNWFiN2E0YTRj
NDA0N2IuLmI2N2M1YmZmNmVlZGYyZjllMTZjNmQ1NTc1MzM0ODY5NGYwNjI0MTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAKQEAgLTIwMiw5ICsyMDIsOSBA
QCBKSVQ6OmNvbXBpbGVTZXR1cEZyYW1lKGNvbnN0IE9wJiBieXRlY29kZSwgQ2FsbExpbmtJbmZv
KiBpbmZvKQogCiAgICAgLy8gUHJvZmlsZSB0aGUgYXJndW1lbnQgY291bnQuCiAgICAgbG9hZDMy
KEFkZHJlc3MocmVnVDEsIENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQgKiBzdGF0aWNfY2Fz
dDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9hZE9mZnNldCksIHJlZ1QyKTsKLSAgICBs
b2FkMzIoaW5mby0+YWRkcmVzc09mTWF4TnVtQXJndW1lbnRzKCksIHJlZ1QwKTsKKyAgICBsb2Fk
MzIoaW5mby0+YWRkcmVzc09mTWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSwgcmVnVDAp
OwogICAgIEp1bXAgbm90QmlnZ2VzdCA9IGJyYW5jaDMyKEFib3ZlLCByZWdUMCwgcmVnVDIpOwot
ICAgIHN0b3JlMzIocmVnVDIsIGluZm8tPmFkZHJlc3NPZk1heE51bUFyZ3VtZW50cygpKTsKKyAg
ICBzdG9yZTMyKHJlZ1QyLCBpbmZvLT5hZGRyZXNzT2ZNYXhBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcygpKTsKICAgICBub3RCaWdnZXN0LmxpbmsodGhpcyk7CiAgICAgCiAgICAgLy8gSW5pdGlh
bGl6ZSAndGhpcycuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cAppbmRleCBlZmEyNTRjYjJhZjAxMjU3ZWFkNjBjZDIyNTg5N2E2MWI3MTA5MTQ2Li4zYzNlMzYy
ZTU3NTIzOTdjOTdmMTZjZDM5ZjEwMzc0MTA2NzFiY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTExNDcsNyArMTE0Nyw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25MaW5rRGlyZWN0Q2FsbChFeGVjU3RhdGUqIGV4ZWMsIENhbGxM
aW5rSW5mbyogY2FsbExpCiAgICAgICAgIEVYQ0VQVElPTl9BU1NFUlRfVU5VU0VEKHRocm93U2Nv
cGUsIHRocm93U2NvcGUuZXhjZXB0aW9uKCkgPT0gZXJyb3IpOwogICAgICAgICBpZiAoVU5MSUtF
TFkoZXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB1bnNpZ25lZCBhcmd1bWVu
dFN0YWNrU2xvdHMgPSBjYWxsTGlua0luZm8tPm1heE51bUFyZ3VtZW50cygpOworICAgICAgICB1
bnNpZ25lZCBhcmd1bWVudFN0YWNrU2xvdHMgPSBjYWxsTGlua0luZm8tPm1heEFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzKCk7CiAgICAgICAgIGlmIChhcmd1bWVudFN0YWNrU2xvdHMgPCBzdGF0
aWNfY2FzdDxzaXplX3Q+KGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSkKICAgICAgICAgICAg
IGNvZGVQdHIgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmVudHJ5cG9pbnRGb3Ioa2luZCwgTXVzdENo
ZWNrQXJpdHkpOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM5OWU0NGMxYmQyOTIyMjA2NmI1ZWM4OWYwNThhNWJl
MzgwMThkZmYuLjE1NWIzNDkwYzM1NWE1MzNjNmRlMWU5OGNiOWIyMWFhNzY5MjZkODIgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTktMDktMTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
KworICAgICAgICBbSlNDXSBERkcgb3BfY2FsbF92YXJhcmdzIHNob3VsZCBub3QgYXNzdW1lIHRo
YXQgb25lLXByZXZpb3VzLWxvY2FsIG9mIGZyZWVSZWcgaXMgdXNhYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIwMTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9jYWxsLXZhcmFyZ3Mt
aW5saW5pbmctc2hvdWxkLW5vdC1jbG9iYmVyLXByZXZpb3VzLXRvLWZyZWUtcmVnaXN0ZXIuanM6
IEFkZGVkLgorICAgICAgICAoX192MCk6CisKIDIwMTktMDktMTkgIFRhZGV1IFphZ2FsbG8gIDx0
emFnYWxsb0BhcHBsZS5jb20+CiAKICAgICAgICAgU3ludGF4IGNoZWNrZXIgc2hvdWxkIHJlcG9y
dCBkdXBsaWNhdGUgX19wcm90b19fIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3Ry
ZXNzL2NhbGwtdmFyYXJncy1pbmxpbmluZy1zaG91bGQtbm90LWNsb2JiZXItcHJldmlvdXMtdG8t
ZnJlZS1yZWdpc3Rlci5qcyBiL0pTVGVzdHMvc3RyZXNzL2NhbGwtdmFyYXJncy1pbmxpbmluZy1z
aG91bGQtbm90LWNsb2JiZXItcHJldmlvdXMtdG8tZnJlZS1yZWdpc3Rlci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wMmE1MmEzYTcxYmVlZGY5NDQyMTkyYThjMTdmZWJkMzVkZmU2ZTJhCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy9zdHJlc3MvY2FsbC12YXJhcmdzLWlubGluaW5nLXNob3VsZC1ub3QtY2xv
YmJlci1wcmV2aW91cy10by1mcmVlLXJlZ2lzdGVyLmpzCkBAIC0wLDAgKzEsOSBAQAorLy9AIHJ1
bkRlZmF1bHQoIi0tdXNlQ29uY3VycmVudEpJVD0wIiwgIi0td2F0Y2hkb2c9NDAwMCIsICItLXdh
dGNoZG9nLWV4Y2VwdGlvbi1vayIpCisoZnVuY3Rpb24gX192MCgpIHsKKyAgICB0cnkgeworICAg
ICAgICBfX3YwKF9fdjAuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgfQor
ICAgIH0KK30pKDIpOwo=
</data>
<flag name="review"
          id="394880"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>