<?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>96680</bug_id>
          
          <creation_ts>2012-09-13 12:10:36 -0700</creation_ts>
          <short_desc>Refactored the DFG to make fewer assumptions about variable capture</short_desc>
          <delta_ts>2012-09-13 19:16:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>719763</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-13 12:10:36 -0700</bug_when>
    <thetext>Refactored the DFG to make fewer assumptions about variable capture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719804</commentid>
    <comment_count>1</comment_count>
      <attachid>163938</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-13 12:41:46 -0700</bug_when>
    <thetext>Created attachment 163938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720037</commentid>
    <comment_count>2</comment_count>
      <attachid>163938</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-13 15:40:37 -0700</bug_when>
    <thetext>Comment on attachment 163938
Patch

r=me too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720226</commentid>
    <comment_count>3</comment_count>
      <attachid>163938</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-13 19:16:28 -0700</bug_when>
    <thetext>Comment on attachment 163938
Patch

Clearing flags on attachment: 163938

Committed r128544: &lt;http://trac.webkit.org/changeset/128544&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720227</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-13 19:16:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163938</attachid>
            <date>2012-09-13 12:41:46 -0700</date>
            <delta_ts>2012-09-13 19:16:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96680-20120913124117.patch</filename>
            <type>text/plain</type>
            <size>18282</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NDg4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBA
CisyMDEyLTA5LTEzICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVmYWN0b3JlZCB0aGUgREZHIHRvIG1ha2UgZmV3ZXIgYXNzdW1wdGlvbnMgYWJvdXQgdmFy
aWFibGUgY2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTY2ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBIHZhcmlhYmxlIGNhcHR1cmUgb3B0aW1pemF0aW9uIHBhdGNoIEknbSB3b3JraW5nIG9u
IGJyb2tlIERGRworICAgICAgICBjb3JyZWN0bmVzcyBhbmQgdGhlIGFyZ3VtZW50cyBzaW1wbGlm
aWNhdGlvbiBvcHRpbWl6YXRpb24gcGhhc2UsIHNvIEkndmUKKyAgICAgICAgcmVmYWN0b3JlZCBi
b3RoIHRvIG1ha2UgZmV3ZXIgYXNzdW1wdGlvbnMgYWJvdXQgdmFyaWFibGUgY2FwdHVyZS4KKwor
ICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6
OmlzQ2FwdHVyZWQpOiBUaGlzIGlzIHRoZSBuZXcgT25lIFRydWUgV2F5IHRvIGZpbmQgb3V0Cisg
ICAgICAgIGlmIGEgdmFyaWFibGUgd2FzIGNhcHR1cmVkLiBUaGlzIGdpdmVzIHVzIGEgc2luZ2xl
IHBvaW50IG9mIG1haW50ZW5hbmNlCisgICAgICAgIGFzIHdlIGNoYWduZSBjYXB0dXJlIGJlaGF2
aW9yLgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3BwOgorICAgICAgICAoSlND
OjpERkc6OkFic3RyYWN0U3RhdGU6OmNsb2JiZXJDYXB0dXJlZFZhcnMpOiBEb24ndCBhc3N1bWUg
dGhhdCBjYXB0dXJlZAorICAgICAgICB2YXJpYWJsZXMgaGF2ZSBhbnkgcGFydGljdWxhciBsb2Nh
dGlvbi4gSW5zdGVhZCwgYXNrIHRoZSBPbmUgVHJ1ZSBGdW5jdGlvbi4KKworICAgICAgICAqIGRm
Zy9ERkdBcmd1bWVudHNTaW1wbGlmaWNhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpBcmd1bWVudHNTaW1wbGlmaWNhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAoSlNDOjpERkc6
OkFyZ3VtZW50c1NpbXBsaWZpY2F0aW9uUGhhc2U6Om9ic2VydmVQcm9wZXJBcmd1bWVudHNVc2Up
OgorICAgICAgICAoSlNDOjpERkc6OkFyZ3VtZW50c1NpbXBsaWZpY2F0aW9uUGhhc2U6OmlzT0tU
b09wdGltaXplKTogTWVjaGFuaWNhbAorICAgICAgICBjaGFuZ2VzIHRvIHNlcGFyYXRlIGJlaW5n
IGNhcHR1cmVkIGZyb20gYmVpbmcgJ2FyZ3VtZW50cycuIFdoYXQgdXNlZAorICAgICAgICB0byBi
ZQorICAgICAgICAgICAgICAgIGlmIChjYXB0dXJlZCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChhcmd1bWVudHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHkKKyAgICAgICAgaXMgbm93CisgICAgICAgICAgICAgICAgaWYg
KGFyZ3VtZW50cykKKyAgICAgICAgICAgICAgICAgICAgICAgIHgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHkKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChjYXB0dXJlZCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHkKKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmdldExvY2FsKToKKyAgICAgICAgKEpT
Qzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6c2V0TG9jYWwpOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpnZXRBcmd1bWVudCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OnNldEFyZ3VtZW50KToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6
Zmx1c2hEaXJlY3QpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6SW5saW5lU3RhY2tFbnRy
eTo6SW5saW5lU3RhY2tFbnRyeSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6IFVzZSB0aGUg
T25lIFRydWUgRnVuY3Rpb24uCisKIDIwMTItMDktMTMgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBbUXRdW1dpbl0gUkVHUkVTU0lPTihyMTI4NDAwKTogSXQgYnJv
a2UgdGhlIGJ1aWxkCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCShyZXZpc2lvbiAxMjg0MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0NywyOSArNTQ3LDE2IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIG5lZWRzRnVsbFNjb3BlQ2hhaW4oKSAmJiBj
b2RlVHlwZSgpICE9IEdsb2JhbENvZGU7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGJv
b2wgYXJndW1lbnRzQXJlQ2FwdHVyZWQoKSBjb25zdAotICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gbmVlZHNBY3RpdmF0aW9uKCkgfHwgdXNlc0FyZ3VtZW50cygpOwotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBib29sIGFyZ3VtZW50SXNDYXB0dXJlZChpbnQpIGNvbnN0Ci0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNBcmVDYXB0dXJlZCgpOwotICAgICAg
ICB9Ci0gICAgICAgIAotICAgICAgICBib29sIGxvY2FsSXNDYXB0dXJlZChJbmxpbmVDYWxsRnJh
bWUqIGlubGluZUNhbGxGcmFtZSwgaW50IG9wZXJhbmQpIGNvbnN0Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICghaW5saW5lQ2FsbEZyYW1lKQotICAgICAgICAgICAgICAgIHJldHVybiBvcGVy
YW5kIDwgbV9udW1DYXB0dXJlZFZhcnM7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVy
biBpbmxpbmVDYWxsRnJhbWUtPmNhcHR1cmVkVmFycy5nZXQob3BlcmFuZCk7Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIGJvb2wgaXNDYXB0dXJlZChJbmxpbmVDYWxsRnJhbWUqIGlubGlu
ZUNhbGxGcmFtZSwgaW50IG9wZXJhbmQpIGNvbnN0CisgICAgICAgIGJvb2wgaXNDYXB0dXJlZChp
bnQgb3BlcmFuZCwgSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgPSAwKSBjb25zdAog
ICAgICAgICB7CisgICAgICAgICAgICBpZiAoaW5saW5lQ2FsbEZyYW1lICYmICFvcGVyYW5kSXNB
cmd1bWVudChvcGVyYW5kKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5saW5lQ2FsbEZyYW1l
LT5jYXB0dXJlZFZhcnMuZ2V0KG9wZXJhbmQpOworCisgICAgICAgICAgICAvLyBPdXIgZXN0aW1h
dGUgb2YgYXJndW1lbnQgY2FwdHVyZSBpcyBjb25zZXJ2YXRpdmUuCiAgICAgICAgICAgICBpZiAo
b3BlcmFuZElzQXJndW1lbnQob3BlcmFuZCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3Vt
ZW50SXNDYXB0dXJlZChvcGVyYW5kVG9Bcmd1bWVudChvcGVyYW5kKSk7Ci0gICAgICAgICAgICBy
ZXR1cm4gbG9jYWxJc0NhcHR1cmVkKGlubGluZUNhbGxGcmFtZSwgb3BlcmFuZCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIG5lZWRzQWN0aXZhdGlvbigpIHx8IHVzZXNBcmd1bWVudHMoKTsKKwor
ICAgICAgICAgICAgcmV0dXJuIG9wZXJhbmQgPCBtX251bUNhcHR1cmVkVmFyczsKICAgICAgICAg
fQogCiAgICAgICAgIENvZGVUeXBlIGNvZGVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlVHlw
ZTsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3Rh
dGUuY3BwCShyZXZpc2lvbiAxMjg0MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0U3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIyLDExICsxNTIyLDE0IEBA
IGlubGluZSB2b2lkIEFic3RyYWN0U3RhdGU6OmNsb2JiZXJDYXB0dXIKICAgICAgICAgICAgIG1f
dmFyaWFibGVzLmxvY2FsKGkpLm1ha2VUb3AoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0g
ICAgICAgIGZvciAoc2l6ZV90IGkgPSBtX2NvZGVCbG9jay0+bV9udW1DYXB0dXJlZFZhcnM7IGkt
LTspCi0gICAgICAgICAgICBtX3ZhcmlhYmxlcy5sb2NhbChpKS5tYWtlVG9wKCk7CisgICAgICAg
IGZvciAoc2l6ZV90IGkgPSBtX2NvZGVCbG9jay0+bV9udW1WYXJzOyBpLS07KSB7CisgICAgICAg
ICAgICBpZiAobV9jb2RlQmxvY2stPmlzQ2FwdHVyZWQoaSkpCisgICAgICAgICAgICAgICAgbV92
YXJpYWJsZXMubG9jYWwoaSkubWFrZVRvcCgpOworICAgICAgICB9CiAgICAgfQotICAgIGlmICht
X2NvZGVCbG9jay0+YXJndW1lbnRzQXJlQ2FwdHVyZWQoKSkgewotICAgICAgICBmb3IgKHNpemVf
dCBpID0gbV92YXJpYWJsZXMubnVtYmVyT2ZBcmd1bWVudHMoKTsgaS0tOykKKworICAgIGZvciAo
c2l6ZV90IGkgPSBtX3ZhcmlhYmxlcy5udW1iZXJPZkFyZ3VtZW50cygpOyBpLS07KSB7CisgICAg
ICAgIGlmIChtX2NvZGVCbG9jay0+aXNDYXB0dXJlZChhcmd1bWVudFRvT3BlcmFuZChpKSkpCiAg
ICAgICAgICAgICBtX3ZhcmlhYmxlcy5hcmd1bWVudChpKS5tYWtlVG9wKCk7CiAgICAgfQogfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNTaW1wbGlmaWNhdGlv
blBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fy
Z3VtZW50c1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxMjg0MDcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c1NpbXBsaWZpY2F0aW9uUGhhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xODgsMjggKzE4OCwzMCBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBhbGlhc2luZy4gQnV0IG5vdCB5ZXQuCiAgICAgICAgICAgICAgICAg
ICAgICAgICBvYnNlcnZlQmFkQXJndW1lbnRzVXNlKG5vZGUuY2hpbGQxKCkpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWFibGVBY2Nl
c3NEYXRhLT5pc0NhcHR1cmVkKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJ
ZiB0aGlzIGlzIGFuIGFzc2lnbm1lbnQgdG8gdGhlIGFyZ3VtZW50cyByZWdpc3RlciwgdGhlbgot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXRlbmQgYXMgaWYgdGhlIGFyZ3VtZW50
cyB3ZXJlIGNyZWF0ZWQuIFdlIGRvbid0IHdhbnQgdG8KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBvcHRpbWl6ZSBjb2RlIHRoYXQgZXhwbGljaXRseSBhc3NpZ25zIHRvIHRoZSBhcmd1
bWVudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHNlZW1z
IHRvbyB1Z2x5LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEJ1dCwgYmVmb3JlIGdldHRpbmcgcmlkIG9mIENyZWF0ZUFyZ3VtZW50
cywgd2Ugd2lsbCBoYXZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW4gYXNzaWdu
bWVudCB0byB0aGUgYXJndW1lbnRzIHJlZ2lzdGVycyB3aXRoIEpTVmFsdWUoKS4KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBUaGF0J3MgYmVjYXVzZSBDU0Ugd2lsbCByZWZ1c2UgdG8g
Z2V0IHJpZCBvZiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbml0X2xhenlf
cmVnIHNpbmNlIGl0IHRyZWF0cyBDcmVhdGVBcmd1bWVudHMgYXMgcmVhZGluZwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGxvY2FsIHZhcmlhYmxlcy4gVGhhdCBjb3VsZCBiZSBmaXhl
ZCwgYnV0IGl0J3MgZWFzaWVyIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd29y
ayBhcm91bmQgdGhpcyBoZXJlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzb3Vy
Y2Uub3AoKSA9PSBKU0NvbnN0YW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYm
ICFzb3VyY2UudmFsdWVPZkpTQ29uc3RhbnQoY29kZUJsb2NrKCkpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzUmVnaXN0ZXIgIT0gSW52YWxp
ZFZpcnR1YWxSZWdpc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAodmFy
aWFibGVBY2Nlc3NEYXRhLT5sb2NhbCgpID09IGFyZ3VtZW50c1JlZ2lzdGVyCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YXJpYWJsZUFjY2Vzc0RhdGEtPmxvY2FsKCkg
PT0gdW5tb2RpZmllZEFyZ3VtZW50c1JlZ2lzdGVyKGFyZ3VtZW50c1JlZ2lzdGVyKSkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fY3JlYXRlc0FyZ3VtZW50cy5hZGQobm9kZS5j
b2RlT3JpZ2luLmlubGluZUNhbGxGcmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBJ
ZiB0aGlzIGlzIGFuIGFzc2lnbm1lbnQgdG8gdGhlIGFyZ3VtZW50cyByZWdpc3RlciwgdGhlbgor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJldGVuZCBhcyBpZiB0aGUgYXJndW1lbnRzIHdl
cmUgY3JlYXRlZC4gV2UgZG9uJ3Qgd2FudCB0bworICAgICAgICAgICAgICAgICAgICAgICAgLy8g
b3B0aW1pemUgY29kZSB0aGF0IGV4cGxpY2l0bHkgYXNzaWducyB0byB0aGUgYXJndW1lbnRzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHNlZW1zIHRvbyB1Z2x5Lgor
ICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBCdXQs
IGJlZm9yZSBnZXR0aW5nIHJpZCBvZiBDcmVhdGVBcmd1bWVudHMsIHdlIHdpbGwgaGF2ZQorICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gYW4gYXNzaWdubWVudCB0byB0aGUgYXJndW1lbnRzIHJl
Z2lzdGVycyB3aXRoIEpTVmFsdWUoKS4KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoYXQn
cyBiZWNhdXNlIENTRSB3aWxsIHJlZnVzZSB0byBnZXQgcmlkIG9mIHRoZQorICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gaW5pdF9sYXp5X3JlZyBzaW5jZSBpdCB0cmVhdHMgQ3JlYXRlQXJndW1l
bnRzIGFzIHJlYWRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvY2FsIHZhcmlhYmxl
cy4gVGhhdCBjb3VsZCBiZSBmaXhlZCwgYnV0IGl0J3MgZWFzaWVyIHRvCisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyB3b3JrIGFyb3VuZCB0aGlzIGhlcmUuCisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoc291cmNlLm9wKCkgPT0gSlNDb25zdGFudAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICYmICFzb3VyY2UudmFsdWVPZkpTQ29uc3RhbnQoY29kZUJsb2NrKCkpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzUmVnaXN0ZXIgIT0gSW52YWxpZFZp
cnR1YWxSZWdpc3RlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICh2YXJpYWJsZUFj
Y2Vzc0RhdGEtPmxvY2FsKCkgPT0gYXJndW1lbnRzUmVnaXN0ZXIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfHwgdmFyaWFibGVBY2Nlc3NEYXRhLT5sb2NhbCgpID09IHVubW9kaWZp
ZWRBcmd1bWVudHNSZWdpc3Rlcihhcmd1bWVudHNSZWdpc3RlcikpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9jcmVhdGVzQXJndW1lbnRzLmFkZChub2RlLmNvZGVPcmlnaW4uaW5s
aW5lQ2FsbEZyYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhcmlh
YmxlQWNjZXNzRGF0YS0+aXNDYXB0dXJlZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBNYWtlIHN1cmUgdGhhdCBpZiBpdCdzIGEgdmFyaWFibGUgdGhhdCB3ZSB0aGluayBpcyBh
bGlhc2VkIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgYXJndW1lbnRzLCB0aGF0
IHdlIGtub3cgdGhhdCBpdCBtaWdodCBhY3R1YWxseSBub3QgYmUuCkBAIC00MzIsOSArNDM0LDgg
QEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgVmFy
aWFibGVBY2Nlc3NEYXRhKiB2YXJpYWJsZUFjY2Vzc0RhdGEgPSBub2RlLnZhcmlhYmxlQWNjZXNz
RGF0YSgpOwogICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKHZh
cmlhYmxlQWNjZXNzRGF0YS0+aXNDYXB0dXJlZCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQobV9ncmFwaC5hcmd1bWVudHNSZWdpc3RlckZvcihub2RlLmNvZGVPcmlnaW4pID09
IHZhcmlhYmxlQWNjZXNzRGF0YS0+bG9jYWwoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHx8IHVubW9kaWZpZWRBcmd1bWVudHNSZWdpc3RlcihtX2dyYXBoLmFyZ3VtZW50c1JlZ2lz
dGVyRm9yKG5vZGUuY29kZU9yaWdpbikpID09IHZhcmlhYmxlQWNjZXNzRGF0YS0+bG9jYWwoKSk7
CisgICAgICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLmFyZ3VtZW50c1JlZ2lzdGVyRm9yKG5v
ZGUuY29kZU9yaWdpbikgPT0gdmFyaWFibGVBY2Nlc3NEYXRhLT5sb2NhbCgpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8fCB1bm1vZGlmaWVkQXJndW1lbnRzUmVnaXN0ZXIobV9ncmFwaC5h
cmd1bWVudHNSZWdpc3RlckZvcihub2RlLmNvZGVPcmlnaW4pKSA9PSB2YXJpYWJsZUFjY2Vzc0Rh
dGEtPmxvY2FsKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjaGlsZCBvZiB0
aGlzIHN0b3JlIHNob3VsZCByZWFsbHkgYmUgdGhlIGVtcHR5IHZhbHVlLgogICAgICAgICAgICAg
ICAgICAgICAgICAgTm9kZSBlbXB0eUpTVmFsdWUoSlNDb25zdGFudCwgbm9kZS5jb2RlT3JpZ2lu
LCBPcEluZm8oY29kZUJsb2NrKCktPmFkZE9yRmluZENvbnN0YW50KEpTVmFsdWUoKSkpKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGVtcHR5SlNWYWx1ZS5yZWYoKTsKQEAgLTQ0Niw2ICs0NDcs
NyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVCghdmFyaWFibGVBY2Nlc3NEYXRhLT5pc0NhcHR1cmVkKCkp
OwogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBp
cyBhIHN0b3JlIGludG8gYSBWYXJpYWJsZUFjY2Vzc0RhdGEqIHRoYXQgaXMgbWFya2VkIGFzCiAg
ICAgICAgICAgICAgICAgICAgIC8vIGFyZ3VtZW50cyBhbGlhc2luZyBmb3IgYW4gSW5saW5lQ2Fs
bEZyYW1lKiB0aGF0IGRvZXMgbm90IGNyZWF0ZQpAQCAtNzU1LDEyICs3NTcsMTQgQEAgcHJpdmF0
ZToKICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgIFZhcmlhYmxl
QWNjZXNzRGF0YSogdmFyaWFibGVBY2Nlc3NEYXRhID0gY2hpbGQudmFyaWFibGVBY2Nlc3NEYXRh
KCk7Ci0gICAgICAgIGlmICh2YXJpYWJsZUFjY2Vzc0RhdGEtPmlzQ2FwdHVyZWQoKSkgewotICAg
ICAgICAgICAgaWYgKGNoaWxkLmxvY2FsKCkgPT0gbV9ncmFwaC51bmNoZWNrZWRBcmd1bWVudHNS
ZWdpc3RlckZvcihjaGlsZC5jb2RlT3JpZ2luKQotICAgICAgICAgICAgICAgICYmIG5vZGUuY29k
ZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUgIT0gY2hpbGQuY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJh
bWUpCi0gICAgICAgICAgICAgICAgbV9jcmVhdGVzQXJndW1lbnRzLmFkZChjaGlsZC5jb2RlT3Jp
Z2luLmlubGluZUNhbGxGcmFtZSk7CisgICAgICAgIGlmIChjaGlsZC5sb2NhbCgpID09IG1fZ3Jh
cGgudW5jaGVja2VkQXJndW1lbnRzUmVnaXN0ZXJGb3IoY2hpbGQuY29kZU9yaWdpbikKKyAgICAg
ICAgICAgICYmIG5vZGUuY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUgIT0gY2hpbGQuY29kZU9y
aWdpbi5pbmxpbmVDYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIG1fY3JlYXRlc0FyZ3VtZW50cy5h
ZGQoY2hpbGQuY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CisKKyAgICAgICAgaWYgKHZhcmlhYmxlQWNjZXNzRGF0YS0+aXNDYXB0dXJl
ZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICAgICAgQXJndW1lbnRzQWxp
YXNpbmdEYXRhJiBkYXRhID0gbV9hcmd1bWVudHNBbGlhc2luZy5maW5kKHZhcmlhYmxlQWNjZXNz
RGF0YSktPnNlY29uZDsKICAgICAgICAgZGF0YS5tZXJnZUNhbGxDb250ZXh0KG5vZGUuY29kZU9y
aWdpbi5pbmxpbmVDYWxsRnJhbWUpOwpAQCAtNzc0LDE2ICs3NzgsMTUgQEAgcHJpdmF0ZToKICAg
ICAgICAgc3dpdGNoIChzb3VyY2Uub3AoKSkgewogICAgICAgICBjYXNlIEdldExvY2FsOiB7CiAg
ICAgICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIHZhcmlhYmxlQWNjZXNzRGF0YSA9IHNvdXJj
ZS52YXJpYWJsZUFjY2Vzc0RhdGEoKTsKLSAgICAgICAgICAgIGlmICh2YXJpYWJsZUFjY2Vzc0Rh
dGEtPmlzQ2FwdHVyZWQoKSkgewotICAgICAgICAgICAgICAgIGludCBhcmd1bWVudHNSZWdpc3Rl
ciA9IG1fZ3JhcGgudW5jaGVja2VkQXJndW1lbnRzUmVnaXN0ZXJGb3Ioc291cmNlLmNvZGVPcmln
aW4pOwotICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHNSZWdpc3RlciA9PSBJbnZhbGlkVmly
dHVhbFJlZ2lzdGVyKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBpZiAoYXJndW1lbnRzUmVnaXN0ZXIgPT0gdmFyaWFibGVBY2Nlc3NEYXRhLT5sb2NhbCgpKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICBpZiAodW5t
b2RpZmllZEFyZ3VtZW50c1JlZ2lzdGVyKGFyZ3VtZW50c1JlZ2lzdGVyKSA9PSB2YXJpYWJsZUFj
Y2Vzc0RhdGEtPmxvY2FsKCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgaW50IGFyZ3VtZW50c1JlZ2lzdGVyID0gbV9ncmFwaC51bmNoZWNrZWRBcmd1bWVu
dHNSZWdpc3RlckZvcihzb3VyY2UuY29kZU9yaWdpbik7CisgICAgICAgICAgICBpZiAoYXJndW1l
bnRzUmVnaXN0ZXIgPT0gSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIGlmIChhcmd1bWVudHNSZWdpc3RlciA9PSB2YXJpYWJsZUFjY2Vz
c0RhdGEtPmxvY2FsKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICBpZiAodW5tb2RpZmllZEFyZ3VtZW50c1JlZ2lzdGVyKGFyZ3VtZW50c1JlZ2lzdGVyKSA9PSB2
YXJpYWJsZUFjY2Vzc0RhdGEtPmxvY2FsKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgICAgICBpZiAodmFyaWFibGVBY2Nlc3NEYXRhLT5pc0NhcHR1cmVkKCkpCiAgICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9CiAgICAgICAgICAgICBBcmd1bWVudHNB
bGlhc2luZ0RhdGEmIGRhdGEgPQogICAgICAgICAgICAgICAgIG1fYXJndW1lbnRzQWxpYXNpbmcu
ZmluZCh2YXJpYWJsZUFjY2Vzc0RhdGEpLT5zZWNvbmQ7CiAgICAgICAgICAgICBpZiAoIWRhdGEu
aXNWYWxpZCgpKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDEyODQwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNyArMTkz
LDcgQEAgcHJpdmF0ZToKICAgICBOb2RlSW5kZXggZ2V0TG9jYWwodW5zaWduZWQgb3BlcmFuZCkK
ICAgICB7CiAgICAgICAgIE5vZGVJbmRleCBub2RlSW5kZXggPSBtX2N1cnJlbnRCbG9jay0+dmFy
aWFibGVzQXRUYWlsLmxvY2FsKG9wZXJhbmQpOwotICAgICAgICBib29sIGlzQ2FwdHVyZWQgPSBt
X2NvZGVCbG9jay0+bG9jYWxJc0NhcHR1cmVkKG1faW5saW5lU3RhY2tUb3AtPm1faW5saW5lQ2Fs
bEZyYW1lLCBvcGVyYW5kKTsKKyAgICAgICAgYm9vbCBpc0NhcHR1cmVkID0gbV9jb2RlQmxvY2st
PmlzQ2FwdHVyZWQob3BlcmFuZCwgbV9pbmxpbmVTdGFja1RvcC0+bV9pbmxpbmVDYWxsRnJhbWUp
OwogICAgICAgICAKICAgICAgICAgaWYgKG5vZGVJbmRleCAhPSBOb05vZGUpIHsKICAgICAgICAg
ICAgIE5vZGUqIG5vZGVQdHIgPSAmbV9ncmFwaFtub2RlSW5kZXhdOwpAQCAtMjUzLDcgKzI1Myw3
IEBAIHByaXZhdGU6CiAgICAgfQogICAgIHZvaWQgc2V0TG9jYWwodW5zaWduZWQgb3BlcmFuZCwg
Tm9kZUluZGV4IHZhbHVlLCBTZXRNb2RlIHNldE1vZGUgPSBOb3JtYWxTZXQpCiAgICAgewotICAg
ICAgICBib29sIGlzQ2FwdHVyZWQgPSBtX2NvZGVCbG9jay0+bG9jYWxJc0NhcHR1cmVkKG1faW5s
aW5lU3RhY2tUb3AtPm1faW5saW5lQ2FsbEZyYW1lLCBvcGVyYW5kKTsKKyAgICAgICAgYm9vbCBp
c0NhcHR1cmVkID0gbV9jb2RlQmxvY2stPmlzQ2FwdHVyZWQob3BlcmFuZCwgbV9pbmxpbmVTdGFj
a1RvcC0+bV9pbmxpbmVDYWxsRnJhbWUpOwogICAgICAgICAKICAgICAgICAgaWYgKHNldE1vZGUg
PT0gTm9ybWFsU2V0KSB7CiAgICAgICAgICAgICBBcmd1bWVudFBvc2l0aW9uKiBhcmd1bWVudFBv
c2l0aW9uID0gZmluZEFyZ3VtZW50UG9zaXRpb25Gb3JMb2NhbChvcGVyYW5kKTsKQEAgLTI3Miwx
MiArMjcyLDEwIEBAIHByaXZhdGU6CiAgICAgTm9kZUluZGV4IGdldEFyZ3VtZW50KHVuc2lnbmVk
IG9wZXJhbmQpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBhcmd1bWVudCA9IG9wZXJhbmRUb0Fy
Z3VtZW50KG9wZXJhbmQpOwotICAgICAgICAKLSAgICAgICAgYm9vbCBpc0NhcHR1cmVkID0gbV9j
b2RlQmxvY2stPmFyZ3VtZW50SXNDYXB0dXJlZChhcmd1bWVudCk7Ci0gICAgICAgIAogICAgICAg
ICBBU1NFUlQoYXJndW1lbnQgPCBtX251bUFyZ3VtZW50cyk7CiAgICAgICAgIAogICAgICAgICBO
b2RlSW5kZXggbm9kZUluZGV4ID0gbV9jdXJyZW50QmxvY2stPnZhcmlhYmxlc0F0VGFpbC5hcmd1
bWVudChhcmd1bWVudCk7CisgICAgICAgIGJvb2wgaXNDYXB0dXJlZCA9IG1fY29kZUJsb2NrLT5p
c0NhcHR1cmVkKG9wZXJhbmQpOwogCiAgICAgICAgIGlmIChub2RlSW5kZXggIT0gTm9Ob2RlKSB7
CiAgICAgICAgICAgICBOb2RlKiBub2RlUHRyID0gJm1fZ3JhcGhbbm9kZUluZGV4XTsKQEAgLTMz
OSwxMCArMzM3LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRBcmd1bWVudChpbnQgb3BlcmFu
ZCwgTm9kZUluZGV4IHZhbHVlLCBTZXRNb2RlIHNldE1vZGUgPSBOb3JtYWxTZXQpCiAgICAgewog
ICAgICAgICB1bnNpZ25lZCBhcmd1bWVudCA9IG9wZXJhbmRUb0FyZ3VtZW50KG9wZXJhbmQpOwot
ICAgICAgICBib29sIGlzQ2FwdHVyZWQgPSBtX2NvZGVCbG9jay0+YXJndW1lbnRJc0NhcHR1cmVk
KGFyZ3VtZW50KTsKLSAgICAgICAgCiAgICAgICAgIEFTU0VSVChhcmd1bWVudCA8IG1fbnVtQXJn
dW1lbnRzKTsKICAgICAgICAgCisgICAgICAgIGJvb2wgaXNDYXB0dXJlZCA9IG1fY29kZUJsb2Nr
LT5pc0NhcHR1cmVkKG9wZXJhbmQpOworCiAgICAgICAgIC8vIEFsd2F5cyBmbHVzaCBhcmd1bWVu
dHMsIGV4Y2VwdCBmb3IgJ3RoaXMnLgogICAgICAgICBpZiAoYXJndW1lbnQgJiYgc2V0TW9kZSA9
PSBOb3JtYWxTZXQpCiAgICAgICAgICAgICBmbHVzaERpcmVjdChvcGVyYW5kKTsKQEAgLTQwMiw3
ICs0MDAsNyBAQCBwcml2YXRlOgogICAgICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgY2hlY2sg
aWYgdGhlIHNhbWUgb3BlcmFuZCBoYWQgYWxyZWFkeSBiZWVuIGZsdXNoZWQgdG8KICAgICAgICAg
Ly8gc29tZSBvdGhlciBsb2NhbCB2YXJpYWJsZS4KICAgICAgICAgCi0gICAgICAgIGJvb2wgaXND
YXB0dXJlZCA9IG1fY29kZUJsb2NrLT5pc0NhcHR1cmVkKG1faW5saW5lU3RhY2tUb3AtPm1faW5s
aW5lQ2FsbEZyYW1lLCBvcGVyYW5kKTsKKyAgICAgICAgYm9vbCBpc0NhcHR1cmVkID0gbV9jb2Rl
QmxvY2stPmlzQ2FwdHVyZWQob3BlcmFuZCwgbV9pbmxpbmVTdGFja1RvcC0+bV9pbmxpbmVDYWxs
RnJhbWUpOwogICAgICAgICAKICAgICAgICAgQVNTRVJUKG9wZXJhbmQgPCBGaXJzdENvbnN0YW50
UmVnaXN0ZXJJbmRleCk7CiAgICAgICAgIApAQCAtMTc3Myw3ICsxNzcxLDcgQEAgYm9vbCBCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICBtX2dyYXBoLm1fYXJndW1l
bnRzLnJlc2l6ZShtX251bUFyZ3VtZW50cyk7CiAgICAgICAgIGZvciAodW5zaWduZWQgYXJndW1l
bnQgPSAwOyBhcmd1bWVudCA8IG1fbnVtQXJndW1lbnRzOyArK2FyZ3VtZW50KSB7CiAgICAgICAg
ICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIHZhcmlhYmxlID0gbmV3VmFyaWFibGVBY2Nlc3NEYXRh
KAotICAgICAgICAgICAgICAgIGFyZ3VtZW50VG9PcGVyYW5kKGFyZ3VtZW50KSwgbV9jb2RlQmxv
Y2stPmFyZ3VtZW50SXNDYXB0dXJlZChhcmd1bWVudCkpOworICAgICAgICAgICAgICAgIGFyZ3Vt
ZW50VG9PcGVyYW5kKGFyZ3VtZW50KSwgbV9jb2RlQmxvY2stPmlzQ2FwdHVyZWQoYXJndW1lbnRU
b09wZXJhbmQoYXJndW1lbnQpKSk7CiAgICAgICAgICAgICB2YXJpYWJsZS0+bWVyZ2VTdHJ1Y3R1
cmVDaGVja0hvaXN0aW5nRmFpbGVkKAogICAgICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3At
Pm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENhY2hlKSk7CiAg
ICAgICAgICAgICBOb2RlSW5kZXggc2V0QXJndW1lbnQgPSBhZGRUb0dyYXBoKFNldEFyZ3VtZW50
LCBPcEluZm8odmFyaWFibGUpKTsKQEAgLTMxODgsMTcgKzMxODYsMjEgQEAgQnl0ZUNvZGVQYXJz
ZXI6OklubGluZVN0YWNrRW50cnk6OklubGluZQogICAgICAgICBpZiAoaW5saW5lQ2FsbEZyYW1l
LmNhbGxlci5pbmxpbmVDYWxsRnJhbWUpCiAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUuY2Fw
dHVyZWRWYXJzID0gaW5saW5lQ2FsbEZyYW1lLmNhbGxlci5pbmxpbmVDYWxsRnJhbWUtPmNhcHR1
cmVkVmFyczsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBmb3IgKGludCBpID0gYnl0ZUNv
ZGVQYXJzZXItPm1fY29kZUJsb2NrLT5tX251bUNhcHR1cmVkVmFyczsgaS0tOykKLSAgICAgICAg
ICAgICAgICBpbmxpbmVDYWxsRnJhbWUuY2FwdHVyZWRWYXJzLnNldChpKTsKKyAgICAgICAgICAg
IGZvciAoaW50IGkgPSBieXRlQ29kZVBhcnNlci0+bV9jb2RlQmxvY2stPm1fbnVtVmFyczsgaS0t
OykgeworICAgICAgICAgICAgICAgIGlmIChieXRlQ29kZVBhcnNlci0+bV9jb2RlQmxvY2stPmlz
Q2FwdHVyZWQoaSkpCisgICAgICAgICAgICAgICAgICAgIGlubGluZUNhbGxGcmFtZS5jYXB0dXJl
ZFZhcnMuc2V0KGkpOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBpZiAoY29kZUJsb2NrLT5hcmd1bWVudHNBcmVDYXB0dXJlZCgpKSB7Ci0gICAgICAgICAgICBm
b3IgKGludCBpID0gYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM7IGktLTspCisKKyAgICAgICAg
Zm9yIChpbnQgaSA9IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOyBpLS07KSB7CisgICAgICAg
ICAgICBpZiAoY29kZUJsb2NrLT5pc0NhcHR1cmVkKGFyZ3VtZW50VG9PcGVyYW5kKGkpKSkKICAg
ICAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUuY2FwdHVyZWRWYXJzLnNldChhcmd1bWVudFRv
T3BlcmFuZChpKSArIGlubGluZUNhbGxGcmFtZS5zdGFja09mZnNldCk7CiAgICAgICAgIH0KLSAg
ICAgICAgZm9yIChpbnQgaSA9IGNvZGVCbG9jay0+bV9udW1DYXB0dXJlZFZhcnM7IGktLTspCi0g
ICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUuY2FwdHVyZWRWYXJzLnNldChpICsgaW5saW5lQ2Fs
bEZyYW1lLnN0YWNrT2Zmc2V0KTsKLSAgICAgICAgCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSBj
b2RlQmxvY2stPm1fbnVtVmFyczsgaS0tOykgeworICAgICAgICAgICAgaWYgKGNvZGVCbG9jay0+
aXNDYXB0dXJlZChpKSkKKyAgICAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUuY2FwdHVyZWRW
YXJzLnNldChpICsgaW5saW5lQ2FsbEZyYW1lLnN0YWNrT2Zmc2V0KTsKKyAgICAgICAgfQorCiAj
aWYgREZHX0VOQUJMRShERUJVR19WRVJCT1NFKQogICAgICAgICBkYXRhTG9nKCJDdXJyZW50IGNh
cHR1cmVkIHZhcmlhYmxlczogIik7CiAgICAgICAgIGlubGluZUNhbGxGcmFtZS5jYXB0dXJlZFZh
cnMuZHVtcChXVEY6OmRhdGFGaWxlKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDEyODQwNykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMzUzLDExICsxMzUzLDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoQmFz
aWNCbG9jayYKICAgICAgICAgICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFt
ZSA9IG5vZGUuY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWU7CiAgICAgICAgICAgICAgICAgaW50
IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID0gaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHMu
c2l6ZSgpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGFyZ3VtZW50UG9zaXRpb25TdGFydCA9
IG5vZGUuYXJndW1lbnRQb3NpdGlvblN0YXJ0KCk7Ci0gICAgICAgICAgICAgICAgYm9vbCBhcmd1
bWVudHNBcmVDYXB0dXJlZCA9Ci0gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lQ29kZUJsb2Nr
Rm9ySW5saW5lQ2FsbEZyYW1lKGlubGluZUNhbGxGcmFtZSktPmFyZ3VtZW50c0FyZUNhcHR1cmVk
KCk7CisgICAgICAgICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBiYXNlbGluZUNvZGVC
bG9ja0ZvcklubGluZUNhbGxGcmFtZShpbmxpbmVDYWxsRnJhbWUpOwogICAgICAgICAgICAgICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM7ICsraSkgewog
ICAgICAgICAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlY292ZXJ5OwotICAgICAgICAgICAg
ICAgICAgICBpZiAoYXJndW1lbnRzQXJlQ2FwdHVyZWQpCisgICAgICAgICAgICAgICAgICAgIGlm
IChjb2RlQmxvY2stPmlzQ2FwdHVyZWQoYXJndW1lbnRUb09wZXJhbmQoaSkpKQogICAgICAgICAg
ICAgICAgICAgICAgICAgcmVjb3ZlcnkgPSBWYWx1ZVJlY292ZXJ5OjphbHJlYWR5SW5SZWdpc3Rl
ckZpbGUoKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBBcmd1bWVudFBvc2l0aW9uJiBhcmd1bWVudFBvc2l0aW9uID0K
</data>

          </attachment>
      

    </bug>

</bugzilla>