<?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>195144</bug_id>
          
          <creation_ts>2019-02-27 21:21:16 -0800</creation_ts>
          <short_desc>[JSC] mustHandleValues for dead bytecode locals should be ignored in DFG phases</short_desc>
          <delta_ts>2019-02-28 12:17:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1510804</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-27 21:21:16 -0800</bug_when>
    <thetext>[JSC] mustHandleValues for dead bytecode locals should be ignored in DFG phases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510805</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-27 21:25:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/47595961&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510811</commentid>
    <comment_count>2</comment_count>
      <attachid>363192</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-27 21:33:46 -0800</bug_when>
    <thetext>Created attachment 363192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510812</commentid>
    <comment_count>3</comment_count>
      <attachid>363192</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-02-27 22:11:01 -0800</bug_when>
    <thetext>Comment on attachment 363192
Patch

Nice.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510814</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-27 22:25:30 -0800</bug_when>
    <thetext>Committed r242192: &lt;https://trac.webkit.org/changeset/242192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511049</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-28 12:17:58 -0800</bug_when>
    <thetext>Committed r242213: &lt;https://trac.webkit.org/changeset/242213&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363192</attachid>
            <date>2019-02-27 21:33:46 -0800</date>
            <delta_ts>2019-02-27 22:11:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195144-20190227213346.patch</filename>
            <type>text/plain</type>
            <size>22092</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
MWFmMmM5ZTU4ZDk2Mzg3ZWU3YjIyZDY3ZDQ3NGYyMWNkMmU3ZTRhLi42NTQxY2VmNzE0Yzc4N2Nm
ZGNmZjc0MGZlM2RlZTVhYzM5MzE1MWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OCBAQAorMjAxOS0wMi0yNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIG11c3RIYW5kbGVWYWx1ZXMgZm9yIGRlYWQgYnl0ZWNvZGUgbG9j
YWxzIHNob3VsZCBiZSBpZ25vcmVkIGluIERGRyBwaGFzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTE0NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDc1OTU5NjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UgaW5zZXJ0cyBGbHVzaCBmb3IgYWxs
IHRoZSBsb2NhbHMgYXQgdGhlIGVuZCBvZiBiYXNpYyBibG9ja3MuIFRoaXMgZW5sYXJnZXMgdGhl
IGxpdmUgcmFuZ2VzIG9mCisgICAgICAgIGxvY2FscyBpbiBERkcsIGFuZCBpdCBzb21ldGltZXMg
bWFrZXMgREZHIHZhbHVlIGxpdmUgd2hpbGUgaXQgaXMgZGVhZCBpbiBieXRlY29kZS4gVGhlIGlz
c3VlIGhhcHBlbnMgd2hlbiB3ZSB1c2UgbXVzdEhhbmRsZVZhbHVlcworICAgICAgICB0byB3aWRl
biBBYnN0cmFjdFZhbHVlIGluIENGQVBoYXNlLiBBdCB0aGF0IHRpbWUsIERGRyB0ZWxscyAidGhp
cyB2YWx1ZSBpcyBsaXZlIGluIERGRyIsIGJ1dCBpdCBtYXkgYmUgZGVhZCBpbiB0aGUgYnl0ZWNv
ZGUgbGV2ZWwuCisgICAgICAgIEF0IHRoYXQgdGltZSwgd2UgYXR0ZW1wdCB0byBtZXJnZSBBYnN0
cmFjdFZhbHVlIHdpdGggZGVhZCBtdXN0SGFuZGxlVmFsdWUsIHdoaWNoIGlzIGNsZWFyZWQgYXMg
anNVbmRlZmluZWQoKSBpbgorICAgICAgICBERkc6OlBsYW46OmNsZWFuTXVzdEhhbmRsZVZhbHVl
c0lmTmVjZXNzYXJ5IGJlZm9yZSBzdGFydCBjb21waWxhdGlvbiwgYW5kIGNyYXNoIGJlY2F1c2Ug
anNVbmRlZmluZWQoKSBtYXkgYmUgaXJyZWxldmFudCB0byB0aGUgRmx1c2hGb3JtYXQKKyAgICAg
ICAgaW4gVmFyaWFibGVBY2Nlc3NEYXRhLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgdGhl
IHR5cGUgb2YgbXVzdEhhbmRsZVZhbHVlcyBPcGVyYW5kczxPcHRpb25hbDxKU1ZhbHVlPj4uIFdl
IGNsZWFyIGRlYWQgSlNWYWx1ZXMgaW4gREZHOjpQbGFuOjpjbGVhbk11c3RIYW5kbGVWYWx1ZXNJ
Zk5lY2Vzc2FyeS4KKyAgICAgICAgQW5kIHdlIHNraXAgaGFuZGxpbmcgZGVhZCBtdXN0SGFuZGxl
VmFsdWUgaW4gREZHIHBoYXNlcy4KKworICAgICAgICAqIGJ5dGVjb2RlL09wZXJhbmRzLmg6Cisg
ICAgICAgIChKU0M6Ok9wZXJhbmRzOjppc0xvY2FsIGNvbnN0KToKKyAgICAgICAgKEpTQzo6T3Bl
cmFuZHM6OmlzVmFyaWFibGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdDRkFQ
aGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OmluamVjdE9TUik6CisgICAg
ICAgICogZGZnL0RGR0RyaXZlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y29tcGlsZUltcGwp
OgorICAgICAgICAoSlNDOjpERkc6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdEcml2ZXIu
aDoKKyAgICAgICAgKiBkZmcvREZHSklUQ29kZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklU
Q29kZTo6cmVjb25zdHJ1Y3QpOgorICAgICAgICAqIGRmZy9ERkdKSVRDb2RlLmg6CisgICAgICAg
ICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpQbGFuOjpQbGFuKToKKyAgICAgICAgKEpTQzo6REZHOjpQbGFuOjpj
aGVja0xpdmVuZXNzQW5kVmlzaXRDaGlsZHJlbik6CisgICAgICAgIChKU0M6OkRGRzo6UGxhbjo6
Y2xlYW5NdXN0SGFuZGxlVmFsdWVzSWZOZWNlc3NhcnkpOgorICAgICAgICAqIGRmZy9ERkdQbGFu
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6UGxhbjo6bXVzdEhhbmRsZVZhbHVlcyBjb25zdCk6Cisg
ICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6UHJlZGljdGlvbkluamVjdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGRmZy9E
RkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpUeXBlQ2hl
Y2tIb2lzdGluZ1BoYXNlOjpkaXNhYmxlSG9pc3RpbmdBY3Jvc3NPU1JFbnRyaWVzKToKKyAgICAg
ICAgKiBmdGwvRlRMT1NSRW50cnkuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OnByZXBhcmVPU1JF
bnRyeSk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorCiAyMDE5LTAyLTI3ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBQb2lu
dGVyIEV2ZW50cyBvbiBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09wZXJhbmRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3BlcmFu
ZHMuaAppbmRleCA4YzViNTdiZWUxZGMwMWRmMzBhMzczZDI1YTUxMTEzM2VkMzc1ZDdhLi45OTQ0
YzA1MTY5MjBlNmI4M2U1NWRiZDFhMGRjZThmNTVhNzVlYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3BlcmFuZHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT3BlcmFuZHMuaApAQCAtMjIwLDcgKzIyMCw3IEBAIGNsYXNzIE9wZXJh
bmRzIHsKICAgICBUJiBvcGVyYXRvcltdKHNpemVfdCBpbmRleCkgeyByZXR1cm4gYXQoaW5kZXgp
OyB9CiAKICAgICBib29sIGlzQXJndW1lbnQoc2l6ZV90IGluZGV4KSBjb25zdCB7IHJldHVybiBp
bmRleCA8IG1fbnVtQXJndW1lbnRzOyB9Ci0gICAgYm9vbCBpc1ZhcmlhYmxlKHNpemVfdCBpbmRl
eCkgY29uc3QgeyByZXR1cm4gIWlzQXJndW1lbnQoaW5kZXgpOyB9CisgICAgYm9vbCBpc0xvY2Fs
KHNpemVfdCBpbmRleCkgY29uc3QgeyByZXR1cm4gIWlzQXJndW1lbnQoaW5kZXgpOyB9CiAgICAg
aW50IG9wZXJhbmRGb3JJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0CiAgICAgewogICAgICAgICBp
ZiAoaW5kZXggPCBudW1iZXJPZkFyZ3VtZW50cygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDRkFQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NGQVBoYXNlLmNwcAppbmRleCAyNzIzMmY4NzhlMzU0YzAyOTdlYWYwOWE0N2RhMGY3NDgw
MWY0ZWY0Li5mNmY5NTA2OWFhYTg1NzExMWIyNGQ1ZTE2ODc1M2RmMmM0YjE3MTU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBoYXNlLmNwcApAQCAtMTYzLDEwICsxNjMsMTUg
QEAgY2xhc3MgQ0ZBUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgZGF0YUxvZygi
ICAgRm91bmQgbXVzdC1oYW5kbGUgYmxvY2s6ICIsICpibG9jaywgIlxuIik7CiAgICAgICAgIAog
ICAgICAgICBib29sIGNoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgY29uc3QgT3BlcmFuZHM8SlNW
YWx1ZT4mIG11c3RIYW5kbGVWYWx1ZXMgPSBtX2dyYXBoLm1fcGxhbi5tdXN0SGFuZGxlVmFsdWVz
KCk7CisgICAgICAgIGNvbnN0IE9wZXJhbmRzPE9wdGlvbmFsPEpTVmFsdWU+PiYgbXVzdEhhbmRs
ZVZhbHVlcyA9IG1fZ3JhcGgubV9wbGFuLm11c3RIYW5kbGVWYWx1ZXMoKTsKICAgICAgICAgZm9y
IChzaXplX3QgaSA9IG11c3RIYW5kbGVWYWx1ZXMuc2l6ZSgpOyBpLS07KSB7CiAgICAgICAgICAg
ICBpbnQgb3BlcmFuZCA9IG11c3RIYW5kbGVWYWx1ZXMub3BlcmFuZEZvckluZGV4KGkpOwotICAg
ICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IG11c3RIYW5kbGVWYWx1ZXNbaV07CisgICAgICAgICAg
ICBPcHRpb25hbDxKU1ZhbHVlPiB2YWx1ZSA9IG11c3RIYW5kbGVWYWx1ZXNbaV07CisgICAgICAg
ICAgICBpZiAoIXZhbHVlKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fdmVyYm9zZSkKKyAgICAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiICAgTm90IGxpdmUgaW4gYnl0ZWNvZGU6ICIsIFZpcnR1
YWxSZWdpc3RlcihvcGVyYW5kKSwgIlxuIik7CisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPnZhcmlhYmxlc0F0
SGVhZC5vcGVyYW5kKG9wZXJhbmQpOwogICAgICAgICAgICAgaWYgKCFub2RlKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKG1fdmVyYm9zZSkKQEAgLTE3NSwxMiArMTgwLDEyIEBAIGNsYXNzIENGQVBo
YXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAg
ICAgICAgaWYgKG1fdmVyYm9zZSkKLSAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICBXaWRlbmlu
ZyAiLCBWaXJ0dWFsUmVnaXN0ZXIob3BlcmFuZCksICIgd2l0aCAiLCB2YWx1ZSwgIlxuIik7Cisg
ICAgICAgICAgICAgICAgZGF0YUxvZygiICAgV2lkZW5pbmcgIiwgVmlydHVhbFJlZ2lzdGVyKG9w
ZXJhbmQpLCAiIHdpdGggIiwgdmFsdWUudmFsdWUoKSwgIlxuIik7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIEFic3RyYWN0VmFsdWUmIHRhcmdldCA9IGJsb2NrLT52YWx1ZXNBdEhlYWQub3Bl
cmFuZChvcGVyYW5kKTsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gdGFyZ2V0Lm1lcmdlT1NSRW50
cnlWYWx1ZShtX2dyYXBoLCB2YWx1ZSk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IHRhcmdldC5t
ZXJnZU9TUkVudHJ5VmFsdWUobV9ncmFwaCwgdmFsdWUudmFsdWUoKSk7CiAgICAgICAgICAgICB0
YXJnZXQuZml4VHlwZUZvclJlcHJlc2VudGF0aW9uKAotICAgICAgICAgICAgICAgIG1fZ3JhcGgs
IHJlc3VsdEZvcihub2RlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKS0+Zmx1c2hGb3JtYXQoKSkpOwor
ICAgICAgICAgICAgICAgIG1fZ3JhcGgsIHJlc3VsdEZvcihub2RlLT52YXJpYWJsZUFjY2Vzc0Rh
dGEoKS0+Zmx1c2hGb3JtYXQoKSksIG5vZGUpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAg
ICBpZiAoY2hhbmdlZCB8fCAhYmxvY2stPmNmYUhhc1Zpc2l0ZWQpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRHJpdmVyLmNwcAppbmRleCBiNTZjZjZkMzE0MDg1YmIzMTVjNGY3NjkzNzk4
OTVhMjAyZTZkYjI5Li40ZGRhMmY1MjQzNWQxOWMxYWQyYjQwNDlhMjYyOGZmY2MxNWVkMzRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCkBAIC03MCw3ICs3MCw3IEBA
IHN0YXRpYyBGdW5jdGlvbldoaXRlbGlzdCYgZW5zdXJlR2xvYmFsREZHV2hpdGVsaXN0KCkKIAog
c3RhdGljIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAogICAgIFZNJiB2bSwgQ29kZUJs
b2NrKiBjb2RlQmxvY2ssIENvZGVCbG9jayogcHJvZmlsZWRERkdDb2RlQmxvY2ssIENvbXBpbGF0
aW9uTW9kZSBtb2RlLAotICAgIHVuc2lnbmVkIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwgY29uc3Qg
T3BlcmFuZHM8SlNWYWx1ZT4mIG11c3RIYW5kbGVWYWx1ZXMsCisgICAgdW5zaWduZWQgb3NyRW50
cnlCeXRlY29kZUluZGV4LCBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1ZhbHVlPj4mIG11c3RI
YW5kbGVWYWx1ZXMsCiAgICAgUmVmPERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKICAgICBpZiAoIU9wdGlvbnM6OmJ5dGVjb2RlUmFuZ2VUb0RGR0NvbXBpbGUoKS5p
c0luUmFuZ2UoY29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkpCkBAIC0xMTYsNyArMTE2LDcg
QEAgc3RhdGljIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAogfQogI2Vsc2UgLy8gRU5B
QkxFKERGR19KSVQpCiBzdGF0aWMgQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZUltcGwoCi0gICAg
Vk0mLCBDb2RlQmxvY2sqLCBDb2RlQmxvY2sqLCBDb21waWxhdGlvbk1vZGUsIHVuc2lnbmVkLCBj
b25zdCBPcGVyYW5kczxKU1ZhbHVlPiYsCisgICAgVk0mLCBDb2RlQmxvY2sqLCBDb2RlQmxvY2sq
LCBDb21waWxhdGlvbk1vZGUsIHVuc2lnbmVkLCBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1Zh
bHVlPj4mLAogICAgIFJlZjxEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s+JiYpCiB7CiAgICAg
cmV0dXJuIENvbXBpbGF0aW9uRmFpbGVkOwpAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBDb21w
aWxhdGlvblJlc3VsdCBjb21waWxlSW1wbCgKIAogQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZSgK
ICAgICBWTSYgdm0sIENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlQmxvY2sqIHByb2ZpbGVkREZH
Q29kZUJsb2NrLCBDb21waWxhdGlvbk1vZGUgbW9kZSwKLSAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5
dGVjb2RlSW5kZXgsIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzLAor
ICAgIHVuc2lnbmVkIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwgY29uc3QgT3BlcmFuZHM8T3B0aW9u
YWw8SlNWYWx1ZT4+JiBtdXN0SGFuZGxlVmFsdWVzLAogICAgIFJlZjxEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CiAgICAgQ29tcGlsYXRpb25SZXN1bHQgcmVzdWx0
ID0gY29tcGlsZUltcGwoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RyaXZlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuaAppbmRleCBi
MmVmMmNiOWZiNmRjOWE4ZTRkODhiNjU1ZDE3NjcxZjYxNWRkZGEyLi4wMWY3NGVlY2YwMzZjZDlm
OWMwNzc4Yzc2Mzg5NzIwYzAzOTEzYzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RyaXZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJp
dmVyLmgKQEAgLTQyLDcgKzQyLDcgQEAgSlNfRVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgZ2V0TnVt
Q29tcGlsYXRpb25zKCk7CiAvLyBjb21waWxlLiBFdmVuIGlmIHdlIGRvIGEgc3luY2hyb25vdXMg
Y29tcGlsZSwgd2UgY2FsbCB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgcmVzdWx0LgogQ29tcGlsYXRp
b25SZXN1bHQgY29tcGlsZSgKICAgICBWTSYsIENvZGVCbG9jayosIENvZGVCbG9jayogcHJvZmls
ZWRERkdDb2RlQmxvY2ssIENvbXBpbGF0aW9uTW9kZSwKLSAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5
dGVjb2RlSW5kZXgsIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzLAor
ICAgIHVuc2lnbmVkIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwgY29uc3QgT3BlcmFuZHM8T3B0aW9u
YWw8SlNWYWx1ZT4+JiBtdXN0SGFuZGxlVmFsdWVzLAogICAgIFJlZjxEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2s+JiYpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmNwcAppbmRleCA5NzgwMTMwNDFhYmVmYzFmMzQ5YmUz
MjA3NmEyYjQ3ZmNmZTY2ODc4Li43NDBmYzhmYmVlMTE3MmQ1YWZmMTlkY2E3MWMwNjA1MjI0MzI4
YjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5jcHAKQEAgLTc4LDEy
ICs3OCwxMiBAQCB2b2lkIEpJVENvZGU6OnJlY29uc3RydWN0KAogCiB2b2lkIEpJVENvZGU6OnJl
Y29uc3RydWN0KAogICAgIEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENv
ZGVPcmlnaW4gY29kZU9yaWdpbiwgdW5zaWduZWQgc3RyZWFtSW5kZXgsCi0gICAgT3BlcmFuZHM8
SlNWYWx1ZT4mIHJlc3VsdCkKKyAgICBPcGVyYW5kczxPcHRpb25hbDxKU1ZhbHVlPj4mIHJlc3Vs
dCkKIHsKICAgICBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiByZWNvdmVyaWVzOwogICAgIHJlY29u
c3RydWN0KGNvZGVCbG9jaywgY29kZU9yaWdpbiwgc3RyZWFtSW5kZXgsIHJlY292ZXJpZXMpOwog
ICAgIAotICAgIHJlc3VsdCA9IE9wZXJhbmRzPEpTVmFsdWU+KE9wZXJhbmRzTGlrZSwgcmVjb3Zl
cmllcyk7CisgICAgcmVzdWx0ID0gT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+KE9wZXJhbmRz
TGlrZSwgcmVjb3Zlcmllcyk7CiAgICAgZm9yIChzaXplX3QgaSA9IHJlc3VsdC5zaXplKCk7IGkt
LTspCiAgICAgICAgIHJlc3VsdFtpXSA9IHJlY292ZXJpZXNbaV0ucmVjb3ZlcihleGVjKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmgKaW5kZXggMjYyZTA0ZjQwMWYxM2Nl
NzgzMDcwY2Q5OTE1ZjIzMWUyYWZkMmViMC4uYWY4MjVlZGIxOTNjZjIxNDVjNGUyNzQ0MTRlZTBk
MDQ2NzhmNWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmgKQEAgLTk4
LDcgKzk4LDcgQEAgY2xhc3MgSklUQ29kZSA6IHB1YmxpYyBEaXJlY3RKSVRDb2RlIHsKICAgICAv
LyBzdGFjay4gQ3VycmVudGx5LCBpdCBhbHNvIGhhcyB0aGUgcmVzdHJpY3Rpb24gdGhhdCB0aGUg
dmFsdWVzIG11c3QgYmUgaW4gdGhlaXIKICAgICAvLyBieXRlY29kZS1kZXNpZ25hdGVkIHN0YWNr
IHNsb3RzLgogICAgIHZvaWQgcmVjb25zdHJ1Y3QoCi0gICAgICAgIEV4ZWNTdGF0ZSosIENvZGVC
bG9jayosIENvZGVPcmlnaW4sIHVuc2lnbmVkIHN0cmVhbUluZGV4LCBPcGVyYW5kczxKU1ZhbHVl
PiYgcmVzdWx0KTsKKyAgICAgICAgRXhlY1N0YXRlKiwgQ29kZUJsb2NrKiwgQ29kZU9yaWdpbiwg
dW5zaWduZWQgc3RyZWFtSW5kZXgsIE9wZXJhbmRzPE9wdGlvbmFsPEpTVmFsdWU+PiYgcmVzdWx0
KTsKIAogI2lmIEVOQUJMRShGVExfSklUKQogICAgIC8vIE5CLiBBbGwgb2YgdGhlc2UgbWV0aG9k
cyB0YWtlIENvZGVCbG9jayogYmVjYXVzZSB0aGV5IG1heSB3YW50IHRvIHVzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXggMDI5YjA5MTMxMzBkNWM3
ZGIzZmRmZTcwOTkxOWVjOWVjMmM5M2U4NC4uNDRjNDEzNTZjZmZmOGY0OWMyY2Y4NGY0ZmNjNjdi
MDMyNGYzMDY2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMu
Y3BwCkBAIC0zMTA4LDcgKzMxMDgsNyBAQCBzdGF0aWMgdm9pZCB0cmlnZ2VyRlRMUmVwbGFjZW1l
bnRDb21waWxlKFZNKiB2bSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEpJVENvZGUqCiAgICAgLy8g
V2UgbmVlZCB0byBjb21waWxlIHRoZSBjb2RlLgogICAgIGNvbXBpbGUoCiAgICAgICAgICp2bSwg
Y29kZUJsb2NrLT5uZXdSZXBsYWNlbWVudCgpLCBjb2RlQmxvY2ssIEZUTE1vZGUsIFVJTlRfTUFY
LAotICAgICAgICBPcGVyYW5kczxKU1ZhbHVlPigpLCBUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25D
YWxsYmFjazo6Y3JlYXRlKCkpOworICAgICAgICBPcGVyYW5kczxPcHRpb25hbDxKU1ZhbHVlPj4o
KSwgVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZSgpKTsKIAogICAgIC8v
IElmIHdlIHJlYWNoZWQgaGVyZSwgdGhlIGNvdW50ZXIgaGFzIG5vdCBiZSByZXNldC4gRG8gdGhh
dCBub3cuCiAgICAgaml0Q29kZS0+c2V0T3B0aW1pemF0aW9uVGhyZXNob2xkQmFzZWRPbkNvbXBp
bGF0aW9uUmVzdWx0KApAQCAtMzM0Niw3ICszMzQ2LDcgQEAgc3RhdGljIGNoYXIqIHRpZXJVcENv
bW1vbihFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIG9yaWdpbkJ5dGVjb2RlSW5kZXgsIGJvb2wg
Y2EKIAogICAgIEpJVENvZGU6OlRyaWdnZXJSZWFzb24qIHRyaWdnZXJBZGRyZXNzID0gJih0cmln
Z2VySXRlcmF0b3ItPnZhbHVlKTsKIAotICAgIE9wZXJhbmRzPEpTVmFsdWU+IG11c3RIYW5kbGVW
YWx1ZXM7CisgICAgT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+IG11c3RIYW5kbGVWYWx1ZXM7
CiAgICAgdW5zaWduZWQgc3RyZWFtSW5kZXggPSBqaXRDb2RlLT5ieXRlY29kZUluZGV4VG9TdHJl
YW1JbmRleC5nZXQob3JpZ2luQnl0ZWNvZGVJbmRleCk7CiAgICAgaml0Q29kZS0+cmVjb25zdHJ1
Y3QoCiAgICAgICAgIGV4ZWMsIGNvZGVCbG9jaywgQ29kZU9yaWdpbihvcmlnaW5CeXRlY29kZUlu
ZGV4KSwgc3RyZWFtSW5kZXgsIG11c3RIYW5kbGVWYWx1ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUGxhbi5jcHAKaW5kZXggYzVlODk5YmExNTZjNzc0M2I2NmMzZDYzYmEyZDk1YTgzZjIz
MTg5Ny4uNTczM2ZiMzQwMTZhNDM2MGMyMmRiMzA0Yjg1ODkwZDI2YmI2MjBjZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCkBAIC0xMzUsNyArMTM1LDcgQEAgUHJvZmlsZXI6
OkNvbXBpbGF0aW9uS2luZCBwcm9maWxlckNvbXBpbGF0aW9uS2luZEZvck1vZGUoQ29tcGlsYXRp
b25Nb2RlIG1vZGUpCiAKIFBsYW46OlBsYW4oQ29kZUJsb2NrKiBwYXNzZWRDb2RlQmxvY2ssIENv
ZGVCbG9jayogcHJvZmlsZWRERkdDb2RlQmxvY2ssCiAgICAgQ29tcGlsYXRpb25Nb2RlIG1vZGUs
IHVuc2lnbmVkIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwKLSAgICBjb25zdCBPcGVyYW5kczxKU1Zh
bHVlPiYgbXVzdEhhbmRsZVZhbHVlcykKKyAgICBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1Zh
bHVlPj4mIG11c3RIYW5kbGVWYWx1ZXMpCiAgICAgOiBtX3ZtKHBhc3NlZENvZGVCbG9jay0+dm0o
KSkKICAgICAsIG1fY29kZUJsb2NrKHBhc3NlZENvZGVCbG9jaykKICAgICAsIG1fcHJvZmlsZWRE
RkdDb2RlQmxvY2socHJvZmlsZWRERkdDb2RlQmxvY2spCkBAIC02MzksOCArNjM5LDExIEBAIHZv
aWQgUGxhbjo6Y2hlY2tMaXZlbmVzc0FuZFZpc2l0Q2hpbGRyZW4oU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNsZWFuTXVzdEhhbmRsZVZhbHVlc0lmTmVjZXNz
YXJ5KCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gbV9tdXN0SGFuZGxlVmFsdWVzLnNpemUoKTsg
aS0tOykKLSAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZChtX211c3RIYW5kbGVWYWx1
ZXNbaV0pOworICAgIGZvciAodW5zaWduZWQgaSA9IG1fbXVzdEhhbmRsZVZhbHVlcy5zaXplKCk7
IGktLTspIHsKKyAgICAgICAgT3B0aW9uYWw8SlNWYWx1ZT4gdmFsdWUgPSBtX211c3RIYW5kbGVW
YWx1ZXNbaV07CisgICAgICAgIGlmICh2YWx1ZSkKKyAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5k
VW5iYXJyaWVyZWQodmFsdWUudmFsdWUoKSk7CisgICAgfQogCiAgICAgbV9yZWNvcmRlZFN0YXR1
c2VzLm1hcmtJZkNoZWFwKHZpc2l0b3IpOwogCkBAIC03MTUsNyArNzE4LDcgQEAgdm9pZCBQbGFu
OjpjbGVhbk11c3RIYW5kbGVWYWx1ZXNJZk5lY2Vzc2FyeSgpCiAKICAgICBmb3IgKHVuc2lnbmVk
IGxvY2FsID0gbV9tdXN0SGFuZGxlVmFsdWVzLm51bWJlck9mTG9jYWxzKCk7IGxvY2FsLS07KSB7
CiAgICAgICAgIGlmICghbGl2ZW5lc3NbbG9jYWxdKQotICAgICAgICAgICAgbV9tdXN0SGFuZGxl
VmFsdWVzLmxvY2FsKGxvY2FsKSA9IGpzVW5kZWZpbmVkKCk7CisgICAgICAgICAgICBtX211c3RI
YW5kbGVWYWx1ZXMubG9jYWwobG9jYWwpID0gV1RGOjpudWxsb3B0OwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaAppbmRleCA5YWZkNDU4NjBhNDViYmU4MjY3MjA1NDU1
OTk3YThjYWM3ODc3YjNkLi5kMzIyZTNiYmQzOWJjMGYwZDM2NzgxZDE4Y2I4ZjU3ZWU3NjljM2E4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaApAQCAtNTcsNyArNTcsNyBAQCBjbGFz
cyBQbGFuIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFBsYW4+IHsKICAgICBQbGFuKAog
ICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9ja1RvQ29tcGlsZSwgQ29kZUJsb2NrKiBwcm9maWxl
ZERGR0NvZGVCbG9jaywKICAgICAgICAgQ29tcGlsYXRpb25Nb2RlLCB1bnNpZ25lZCBvc3JFbnRy
eUJ5dGVjb2RlSW5kZXgsCi0gICAgICAgIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFu
ZGxlVmFsdWVzKTsKKyAgICAgICAgY29uc3QgT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+JiBt
dXN0SGFuZGxlVmFsdWVzKTsKICAgICB+UGxhbigpOwogCiAgICAgdm9pZCBjb21waWxlSW5UaHJl
YWQoVGhyZWFkRGF0YSopOwpAQCAtODgsOCArODgsNyBAQCBjbGFzcyBQbGFuIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFBsYW4+IHsKICAgICBib29sIGlzRlRMKCkgY29uc3QgeyByZXR1
cm4gREZHOjppc0ZUTChtX21vZGUpOyB9CiAgICAgQ29tcGlsYXRpb25Nb2RlIG1vZGUoKSBjb25z
dCB7IHJldHVybiBtX21vZGU7IH0KICAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgo
KSBjb25zdCB7IHJldHVybiBtX29zckVudHJ5Qnl0ZWNvZGVJbmRleDsgfQotICAgIGNvbnN0IE9w
ZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV9tdXN0
SGFuZGxlVmFsdWVzOyB9Ci0KKyAgICBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1ZhbHVlPj4m
IG11c3RIYW5kbGVWYWx1ZXMoKSBjb25zdCB7IHJldHVybiBtX211c3RIYW5kbGVWYWx1ZXM7IH0K
ICAgICBUaHJlYWREYXRhKiB0aHJlYWREYXRhKCkgY29uc3QgeyByZXR1cm4gbV90aHJlYWREYXRh
OyB9CiAgICAgUHJvZmlsZXI6OkNvbXBpbGF0aW9uKiBjb21waWxhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fY29tcGlsYXRpb24uZ2V0KCk7IH0KIApAQCAtMTM4LDcgKzEzNyw3IEBAIGNsYXNzIFBs
YW4gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UGxhbj4gewogCiAgICAgQ29tcGlsYXRp
b25Nb2RlIG1fbW9kZTsKICAgICBjb25zdCB1bnNpZ25lZCBtX29zckVudHJ5Qnl0ZWNvZGVJbmRl
eDsKLSAgICBPcGVyYW5kczxKU1ZhbHVlPiBtX211c3RIYW5kbGVWYWx1ZXM7CisgICAgT3BlcmFu
ZHM8T3B0aW9uYWw8SlNWYWx1ZT4+IG1fbXVzdEhhbmRsZVZhbHVlczsKICAgICBib29sIG1fbXVz
dEhhbmRsZVZhbHVlc01heUluY2x1ZGVHYXJiYWdlIHsgdHJ1ZSB9OwogICAgIExvY2sgbV9tdXN0
SGFuZGxlVmFsdWVDbGVhbmluZ0xvY2s7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmNwcAppbmRleCBkMGM3MjBk
MDYyYWM2OWJkNTRhMTQ2NjUyNzIwZDk4NWRjYTk1NDM3Li40NDdlMjRlMmExMTYzMzdjODNlM2Jh
YTMxMjczNTc5MmI5MDQ3MjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2UuY3BwCkBAIC03MCwxNSArNzAsMTcg
QEAgY2xhc3MgUHJlZGljdGlvbkluamVjdGlvblBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChibG9jay0+Ynl0ZWNvZGVCZWdp
biAhPSBtX2dyYXBoLm1fcGxhbi5vc3JFbnRyeUJ5dGVjb2RlSW5kZXgoKSkKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0
SGFuZGxlVmFsdWVzID0gbV9ncmFwaC5tX3BsYW4ubXVzdEhhbmRsZVZhbHVlcygpOworICAgICAg
ICAgICAgY29uc3QgT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+JiBtdXN0SGFuZGxlVmFsdWVz
ID0gbV9ncmFwaC5tX3BsYW4ubXVzdEhhbmRsZVZhbHVlcygpOwogICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtdXN0SGFuZGxlVmFsdWVzLnNpemUoKTsgKytpKSB7CiAgICAgICAg
ICAgICAgICAgaW50IG9wZXJhbmQgPSBtdXN0SGFuZGxlVmFsdWVzLm9wZXJhbmRGb3JJbmRleChp
KTsKKyAgICAgICAgICAgICAgICBPcHRpb25hbDxKU1ZhbHVlPiB2YWx1ZSA9IG11c3RIYW5kbGVW
YWx1ZXNbaV07CisgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT52YXJpYWJs
ZXNBdEhlYWQub3BlcmFuZChvcGVyYW5kKTsKICAgICAgICAgICAgICAgICBpZiAoIW5vZGUpCiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIEFTU0VSVChub2Rl
LT5hY2Nlc3Nlc1N0YWNrKG1fZ3JhcGgpKTsKLSAgICAgICAgICAgICAgICBub2RlLT52YXJpYWJs
ZUFjY2Vzc0RhdGEoKS0+cHJlZGljdCgKLSAgICAgICAgICAgICAgICAgICAgc3BlY3VsYXRpb25G
cm9tVmFsdWUobXVzdEhhbmRsZVZhbHVlc1tpXSkpOworICAgICAgICAgICAgICAgIG5vZGUtPnZh
cmlhYmxlQWNjZXNzRGF0YSgpLT5wcmVkaWN0KHNwZWN1bGF0aW9uRnJvbVZhbHVlKHZhbHVlLnZh
bHVlKCkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuY3Bw
CmluZGV4IDlmZjllOTI0N2M5ZWMyNWQyYTMzMWRkY2I2ZDJlOWY4MDdhNzc2MjMuLmFiYmNlNDli
ZmUyM2NkOGYzZTY3NzlmNDIwYjYzOTAyY2Q3YmY4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcApAQCAtNDQ0
LDcgKzQ0NCw3IEBAIGNsYXNzIFR5cGVDaGVja0hvaXN0aW5nUGhhc2UgOiBwdWJsaWMgUGhhc2Ug
ewogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKGJsb2NrLT5ieXRl
Y29kZUJlZ2luICE9IG1fZ3JhcGgubV9wbGFuLm9zckVudHJ5Qnl0ZWNvZGVJbmRleCgpKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgY29uc3QgT3BlcmFuZHM8SlNWYWx1
ZT4mIG11c3RIYW5kbGVWYWx1ZXMgPSBtX2dyYXBoLm1fcGxhbi5tdXN0SGFuZGxlVmFsdWVzKCk7
CisgICAgICAgICAgICBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1ZhbHVlPj4mIG11c3RIYW5k
bGVWYWx1ZXMgPSBtX2dyYXBoLm1fcGxhbi5tdXN0SGFuZGxlVmFsdWVzKCk7CiAgICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG11c3RIYW5kbGVWYWx1ZXMuc2l6ZSgpOyArK2kpIHsK
ICAgICAgICAgICAgICAgICBpbnQgb3BlcmFuZCA9IG11c3RIYW5kbGVWYWx1ZXMub3BlcmFuZEZv
ckluZGV4KGkpOwogICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+dmFyaWFibGVz
QXRIZWFkLm9wZXJhbmQob3BlcmFuZCk7CkBAIC00NTYsOCArNDU2LDggQEAgY2xhc3MgVHlwZUNo
ZWNrSG9pc3RpbmdQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgICAgIGlmICghVHlwZUNoZWNrOjppc1ZhbGlkVG9Ib2lzdChp
dGVyLT52YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAg
ICAgIEpTVmFsdWUgdmFsdWUgPSBtdXN0SGFuZGxlVmFsdWVzW2ldOwotICAgICAgICAgICAgICAg
IGlmICghdmFsdWUgfHwgIXZhbHVlLmlzQ2VsbCgpIHx8IFR5cGVDaGVjazo6aXNDb250cmF2ZW5l
ZEJ5VmFsdWUoaXRlci0+dmFsdWUsIHZhbHVlKSkgeworICAgICAgICAgICAgICAgIE9wdGlvbmFs
PEpTVmFsdWU+IHZhbHVlID0gbXVzdEhhbmRsZVZhbHVlc1tpXTsKKyAgICAgICAgICAgICAgICBp
ZiAoIXZhbHVlIHx8ICF2YWx1ZS52YWx1ZSgpIHx8ICF2YWx1ZS52YWx1ZSgpLmlzQ2VsbCgpIHx8
IFR5cGVDaGVjazo6aXNDb250cmF2ZW5lZEJ5VmFsdWUoaXRlci0+dmFsdWUsIHZhbHVlLnZhbHVl
KCkpKSB7CiAgICAgICAgICAgICAgICAgICAgIFR5cGVDaGVjazo6ZGlzYWJsZUhvaXN0aW5nKGl0
ZXItPnZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFbnRyeS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkVudHJ5LmNwcAppbmRleCA2MjZj
MTI4ZTczMTc4NGU3M2E4MTllMTM1MzcwZGExZjAxYzQ5NTBhLi4wMDIxYmFlMDc3ZGM1NWRjNjBh
M2E3NWIyOTYyNjAyYjZhNTIwMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTE9TUkVudHJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9T
UkVudHJ5LmNwcApAQCAtNjQsNyArNjQsNyBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoCiAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KICAgICAKLSAgICBPcGVyYW5kczxKU1ZhbHVlPiB2YWx1ZXM7
CisgICAgT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+IHZhbHVlczsKICAgICBkZmdDb2RlLT5y
ZWNvbnN0cnVjdCgKICAgICAgICAgZXhlYywgZGZnQ29kZUJsb2NrLCBDb2RlT3JpZ2luKGJ5dGVj
b2RlSW5kZXgpLCBzdHJlYW1JbmRleCwgdmFsdWVzKTsKICAgICAKQEAgLTczLDggKzczLDggQEAg
dm9pZCogcHJlcGFyZU9TUkVudHJ5KAogICAgIAogICAgIGZvciAoaW50IGFyZ3VtZW50ID0gdmFs
dWVzLm51bWJlck9mQXJndW1lbnRzKCk7IGFyZ3VtZW50LS07KSB7CiAgICAgICAgIEpTVmFsdWUg
dmFsdWVPblN0YWNrID0gZXhlYy0+cih2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudChhcmd1bWVu
dCkub2Zmc2V0KCkpLmFzYW5VbnNhZmVKU1ZhbHVlKCk7Ci0gICAgICAgIEpTVmFsdWUgcmVjb25z
dHJ1Y3RlZFZhbHVlID0gdmFsdWVzLmFyZ3VtZW50KGFyZ3VtZW50KTsKLSAgICAgICAgaWYgKHZh
bHVlT25TdGFjayA9PSByZWNvbnN0cnVjdGVkVmFsdWUgfHwgIWFyZ3VtZW50KQorICAgICAgICBP
cHRpb25hbDxKU1ZhbHVlPiByZWNvbnN0cnVjdGVkVmFsdWUgPSB2YWx1ZXMuYXJndW1lbnQoYXJn
dW1lbnQpOworICAgICAgICBpZiAoKHJlY29uc3RydWN0ZWRWYWx1ZSAmJiB2YWx1ZU9uU3RhY2sg
PT0gcmVjb25zdHJ1Y3RlZFZhbHVlLnZhbHVlKCkpIHx8ICFhcmd1bWVudCkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICBkYXRhTG9nKCJNaXNtYXRjaCBiZXR3ZWVuIHJlY29uc3RydWN0
ZWQgdmFsdWVzIGFuZCB0aGUgdmFsdWUgb24gdGhlIHN0YWNrIGZvciBhcmd1bWVudCBhcmciLCBh
cmd1bWVudCwgIiBmb3IgIiwgKmVudHJ5Q29kZUJsb2NrLCAiIGF0IGJjIyIsIGJ5dGVjb2RlSW5k
ZXgsICI6XG4iKTsKICAgICAgICAgZGF0YUxvZygiICAgIFZhbHVlIG9uIHN0YWNrOiAiLCB2YWx1
ZU9uU3RhY2ssICJcbiIpOwpAQCAtODgsOCArODgsMTMgQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5
KAogICAgIEVuY29kZWRKU1ZhbHVlKiBzY3JhdGNoID0gc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFs
dWUqPigKICAgICAgICAgZW50cnlDb2RlLT5lbnRyeUJ1ZmZlcigpLT5kYXRhQnVmZmVyKCkpOwog
ICAgIAotICAgIGZvciAoaW50IGxvY2FsID0gdmFsdWVzLm51bWJlck9mTG9jYWxzKCk7IGxvY2Fs
LS07KQotICAgICAgICBzY3JhdGNoW2xvY2FsXSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZXMubG9j
YWwobG9jYWwpKTsKKyAgICBmb3IgKGludCBsb2NhbCA9IHZhbHVlcy5udW1iZXJPZkxvY2Fscygp
OyBsb2NhbC0tOykgeworICAgICAgICBPcHRpb25hbDxKU1ZhbHVlPiB2YWx1ZSA9IHZhbHVlcy5s
b2NhbChsb2NhbCk7CisgICAgICAgIGlmICh2YWx1ZSkKKyAgICAgICAgICAgIHNjcmF0Y2hbbG9j
YWxdID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlLnZhbHVlKCkpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBzY3JhdGNoW2xvY2FsXSA9IEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOworICAg
IH0KICAgICAKICAgICBpbnQgc3RhY2tGcmFtZVNpemUgPSBlbnRyeUNvZGUtPmNvbW1vbi5yZXF1
aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0KCk7CiAgICAgaWYgKFVOTElLRUxZ
KCF2bS5lbnN1cmVTdGFja0NhcGFjaXR5Rm9yKCZleGVjLT5yZWdpc3RlcnMoKVt2aXJ0dWFsUmVn
aXN0ZXJGb3JMb2NhbChzdGFja0ZyYW1lU2l6ZSAtIDEpLm9mZnNldCgpXSkpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBhNThlNWQ3NDRlZGRm
YjE3NzhmMWQyMjc3ZmFkY2ZkZmIxYjg5OTQ2Li41ZmZlOGUwMjEwNjBhNjBhY2RkOGIwYjczMDA5
NTA5ZWMwMTA1YjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKQEAgLTE1NDIsNyArMTU0Miw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgdWludDMyX3QgYnl0CiAgICAg
ICAgICAgICBudW1WYXJzV2l0aFZhbHVlcyA9IGNvZGVCbG9jay0+bnVtQ2FsbGVlTG9jYWxzKCk7
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG51bVZhcnNXaXRoVmFsdWVzID0gMDsKLSAgICAg
ICAgT3BlcmFuZHM8SlNWYWx1ZT4gbXVzdEhhbmRsZVZhbHVlcyhjb2RlQmxvY2stPm51bVBhcmFt
ZXRlcnMoKSwgbnVtVmFyc1dpdGhWYWx1ZXMpOworICAgICAgICBPcGVyYW5kczxPcHRpb25hbDxK
U1ZhbHVlPj4gbXVzdEhhbmRsZVZhbHVlcyhjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSwgbnVt
VmFyc1dpdGhWYWx1ZXMpOwogICAgICAgICBpbnQgbG9jYWxzVXNlZEZvckNhbGxlZVNhdmVzID0g
c3RhdGljX2Nhc3Q8aW50PihDb2RlQmxvY2s6OmxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VB
c1ZpcnR1YWxSZWdpc3RlcnMoKSk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbXVz
dEhhbmRsZVZhbHVlcy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgaW50IG9wZXJhbmQgPSBt
dXN0SGFuZGxlVmFsdWVzLm9wZXJhbmRGb3JJbmRleChpKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
Q2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTFiMjJlNjM0Y2VkZGE3ZDFkNmEw
YmY2NmY1MTc4MmYwYWJjY2ZjNi4uNTBmM2U5NjUwNGYxNjY0ZWJhMTA0MjVjNjVjZGJmMzgzNGRi
MjcyZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0wMi0yNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIG11c3RIYW5kbGVWYWx1ZXMgZm9yIGRlYWQgYnl0
ZWNvZGUgbG9jYWxzIHNob3VsZCBiZSBpZ25vcmVkIGluIERGRyBwaGFzZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTE0NAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDc1OTU5NjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdHJlc3MvcmVhZC1kZWFkLWJ5dGVjb2RlLWxvY2Fscy1pbi1tdXN0
LWhhbmRsZS12YWx1ZXMxLmpzOiBBZGRlZC4KKyAgICAgICAgKGJhcik6CisgICAgICAgIChmb28p
OgorICAgICAgICAqIHN0cmVzcy9yZWFkLWRlYWQtYnl0ZWNvZGUtbG9jYWxzLWluLW11c3QtaGFu
ZGxlLXZhbHVlczIuanM6IEFkZGVkLgorICAgICAgICAoYmFyKToKKyAgICAgICAgKGZvbyk6CisK
IDIwMTktMDItMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OOiBzdHJlc3MvcmVncmVzcy0xNzgzODYuanMgaXMgdGltaW5nIG91dCBvbiBK
U0MgZGVidWcgYm90CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9yZWFkLWRlYWQtYnl0ZWNv
ZGUtbG9jYWxzLWluLW11c3QtaGFuZGxlLXZhbHVlczEuanMgYi9KU1Rlc3RzL3N0cmVzcy9yZWFk
LWRlYWQtYnl0ZWNvZGUtbG9jYWxzLWluLW11c3QtaGFuZGxlLXZhbHVlczEuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWUyYWUzODZkYTVkZDFlNjZlYzAxZTkxZDU0ODM4MzRmYzczZmVlNwotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvc3RyZXNzL3JlYWQtZGVhZC1ieXRlY29kZS1sb2NhbHMtaW4tbXVzdC1o
YW5kbGUtdmFsdWVzMS5qcwpAQCAtMCwwICsxLDE4IEBACisvL0AgcnVuRGVmYXVsdCgiLS11c2VN
YXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZT0xIiwgIi0tdXNlQ29uY3VycmVudEpJVD0wIikKK2Z1
bmN0aW9uIGJhcih4KSB7CisgIGlmICh4KSB7CisgICAgcmV0dXJuOworICB9CisgIHggPSB4ICoq
IDA7CisgIHggPSB4ICogMjsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICBiYXIoKTsKKyAgZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKSB7CisgIH0KK30KKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDsgKytpKSB7CisgIGZvbygpOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
cmVhZC1kZWFkLWJ5dGVjb2RlLWxvY2Fscy1pbi1tdXN0LWhhbmRsZS12YWx1ZXMyLmpzIGIvSlNU
ZXN0cy9zdHJlc3MvcmVhZC1kZWFkLWJ5dGVjb2RlLWxvY2Fscy1pbi1tdXN0LWhhbmRsZS12YWx1
ZXMyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjk5MTM3ZjlmM2ZiN2NmZGFjMGM1MzIzN2I5Y2U0ZjUyNmEwOWQy
MWUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9yZWFkLWRlYWQtYnl0ZWNvZGUt
bG9jYWxzLWluLW11c3QtaGFuZGxlLXZhbHVlczIuanMKQEAgLTAsMCArMSwxOSBAQAorLy9AIHJ1
bkRlZmF1bHQoIi0tdXNlTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2U9MSIsICItLXVzZUNvbmN1
cnJlbnRKSVQ9MCIpCitmdW5jdGlvbiBiYXIoYykgeworICAgIGlmIChjID4gMSkgeworICAgICAg
ICBiYXIocGFyc2VJbnQoYyAqIDIpKQorICAgIH0KKyAgICBjICo9IDI7Cit9CisKK2Z1bmN0aW9u
IGZvbygpIHsKKyAgICB2YXIgaSA9IDA7CisgICAgaWYgKCcnLm1hdGNoKC9eLykpIHsKKyAgICAg
ICAgd2hpbGUoaSA8IDFlOCkgeworICAgICAgICAgICAgYmFyKDIpOworICAgICAgICAgICAgKytp
OworICAgICAgICB9CisgICAgfQorfQorCitmb28oKTsK
</data>
<flag name="review"
          id="379806"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>