<?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>152288</bug_id>
          
          <creation_ts>2015-12-14 19:09:16 -0800</creation_ts>
          <short_desc>FTL B3 should account for localsOffset</short_desc>
          <delta_ts>2015-12-14 20:54:17 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>151808</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1149174</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-14 19:09:16 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149176</commentid>
    <comment_count>1</comment_count>
      <attachid>267335</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-14 19:18:48 -0800</bug_when>
    <thetext>Created attachment 267335
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149177</commentid>
    <comment_count>2</comment_count>
      <attachid>267335</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-12-14 19:27:57 -0800</bug_when>
    <thetext>Comment on attachment 267335
the patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:30
&gt; +            ValueFromBlock fooValue = things;

This should be &quot;LValue fooValue = things;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149178</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-14 19:29:17 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 267335 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=267335&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:30
&gt; &gt; +            ValueFromBlock fooValue = things;
&gt; 
&gt; This should be &quot;LValue fooValue = things;&quot;

Yup, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149199</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-14 20:54:17 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/194092</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267335</attachid>
            <date>2015-12-14 19:18:48 -0800</date>
            <delta_ts>2015-12-14 19:27:57 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>18941</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0MDg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYzIEBA
CisyMDE1LTEyLTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIEIzIHNob3VsZCBhY2NvdW50IGZvciBsb2NhbHNPZmZzZXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjI4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBERkcgd2lsbCBidWlsZCB1cCBzb21l
IGRhdGEgc3RydWN0dXJlcyB0aGF0IGV4cGVjdCB0byBrbm93IGFib3V0IG9mZnNldHMgZnJvbSBG
UC4gVGhvc2UgZGF0YQorICAgICAgICBzdHJ1Y3R1cmVzIG1heSBzbGlkZSBieSBzb21lIG9mZnNl
dCB3aGVuIHRoZSBsb3ctbGV2ZWwgY29tcGlsZXIgKGVpdGhlciBMTFZNIG9yIEIzKSBkb2VzIHN0
YWNrCisgICAgICAgIGFsbG9jYXRpb24uIFNvLCB0aGUgTExWTSBGVEwgbW9kaWZpZXMgdGhvc2Ug
ZGF0YSBzdHJ1Y3R1cmVzIGJhc2VkIG9uIHRoZSByZWFsIG9mZnNldCB0aGF0IGl0IGdldHMKKyAg
ICAgICAgZnJvbSBMTFZNJ3Mgc3RhY2ttYXBzLiBUaGUgQjMgY29kZSBuZWVkcyB0byBkbyB0aGUg
c2FtZS4KKworICAgICAgICBJIGhhZCBwcmV2aW91c2x5IHZvd2VkIHRvIG5ldmVyIHB1dCBtb3Jl
IHN0dWZmIGludG8gRlRMQjNDb21waWxlLmNwcCwgYmVjYXVzZSBJIGRpZG4ndCB3YW50IGl0IHRv
CisgICAgICAgIGxvb2sgbGlrZSBGVExDb21waWxlLmNwcC4gVXAgdW50aWwgbm93LCBJIHdhcyBz
dWNjZXNzZnVsIGJlY2F1c2UgSSB1c2VkIGxhbWJkYXMgaW5zdGFsbGVkIGJ5CisgICAgICAgIEZU
TExvd2VyLiBCdXQgaW4gdGhpcyBjYXNlLCBJIGFjdHVhbGx5IHRoaW5rIHRoYXQgaGF2aW5nIGNv
ZGUgdGhhdCBqdXN0IGRvZXMgdGhpcyBleHBsaWNpdGx5IGluCisgICAgICAgIEZUTEIzQ29tcGls
ZS5jcHAgaXMgbGVhc3QgY29uZnVzaW5nLiBUaGVyZSBpcyBubyBwYXJ0aWN1bGFyIHBsYWNlIGlu
IEZUTExvd2VyIHRoYXQgd291bGQgd2FudCB0bworICAgICAgICBjYXJlIGFib3V0IHRoaXMsIGFu
ZCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHdlIGRvIHRoaXMgZml4dXAgYmVmb3JlIHdlIHJ1biBh
bnkgb2YgdGhlIHN0YWNrbWFwCisgICAgICAgIGdlbmVyYXRvcnMuIEluIG90aGVyIHdvcmRzLCBp
dCBuZWVkcyB0byBoYXBwZW4gYmVmb3JlIHdlIGNhbGwgQjM6OmdlbmVyYXRlKCkuIFRoZSBvcmRl
cmluZworICAgICAgICBjb25zdHJhaW50cyBzZWVtIGxpa2UgYSBnb29kIHJlYXNvbiB0byBoYXZl
IHRoaXMgZG9uZSBleHBsaWNpdGx5IHJhdGhlciB0aGFuIHRocm91Z2ggbGFtYmRhcy4KKworICAg
ICAgICBJIHdyb3RlIGEgdGVzdC4gVGhlIHRlc3Qgd2FzIGZhaWxpbmcgaW4gdHJ1bmsgYmVjYXVz
ZSB0aGUgQjMgbWVhbmluZyBvZiBhbmNob3IoKS52YWx1ZSgpIGlzCisgICAgICAgIGRpZmZlcmVu
dCBmcm9tIHRoZSBMTFZNIG1lYW5pbmcuIFRoaXMgY2F1c2VkIGJyZWFrYWdlIHdoZW4gd2UgdXNl
ZCB0aGlzIGlkaW9tOgorCisgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBmb28gPSBtX291dC5h
bmNob3IodGhpbmdzKTsKKyAgICAgICAgICAgIC4uLihmb28udmFsdWUoKSkgLy8gd2Ugd2VyZSBl
eHBlY3RpbmcgdGhhdCBmb28udmFsdWUoKSA9PSB0aGluZ3MKKworICAgICAgICBJIG5ldmVyIGxp
a2VkIHRoaXMgaWRpb20gdG8gYmVnaW4gd2l0aCwgc28gaW5zdGVhZCBvZiB0cnlpbmcgdG8gY2hh
bmdlIEIzJ3MgYW5jaG9yKCksIEkgY2hhbmdlZAorICAgICAgICB0aGUgaWRpb20gdG86CisKKyAg
ICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGZvb1ZhbHVlID0gdGhpbmdzOworICAgICAgICAgICAg
VmFsdWVGcm9tQmxvY2sgZm9vID0gbV9vdXQuYW5jaG9yKGZvb1ZhbHVlKTsKKyAgICAgICAgICAg
IC4uLihmb29WYWx1ZSkKKworICAgICAgICBUaGlzIGlzIHByb2JhYmx5IGEgZ29vZCBpZGVhLCBz
aW5jZSBldmVudHVhbGx5IHdlIHdhbnQgQjMncyBhbmNob3IoKSB0byBqdXN0IHJldHVybiB0aGUK
KyAgICAgICAgVXBzaWxvblZhbHVlKi4gVG8gZ2V0IHRoZXJlLCB3ZSB3YW50IHRvIGVsaW1pbmF0
ZSBhbnkgc2l0dWF0aW9ucyB3aGVyZSBjb2RlIGFzc3VtZXMgdGhhdAorICAgICAgICBWYWx1ZUZy
b21CbG9jayBpcyBhbiBhY3R1YWwgb2JqZWN0IGFuZCBub3QganVzdCBhIHR5cGVkZWYgZm9yIGEg
cG9pbnRlci4KKworICAgICAgICAqIGZ0bC9GVExCM0NvbXBpbGUuY3BwOgorICAgICAgICAoSlND
OjpGVEw6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExCM091dHB1dC5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6T3V0cHV0OjphcHBlbmRUbyk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0
Ojpsb2NrZWRTdGFja1Nsb3QpOgorICAgICAgICAqIGZ0bC9GVExCM091dHB1dC5oOgorICAgICAg
ICAoSlNDOjpGVEw6Ok91dHB1dDo6ZnJhbWVQb2ludGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpP
dXRwdXQ6OmNvbnN0Qm9vbCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpjb25zdEludDMy
KToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpG
VEw6OkRGRzo6TG93ZXJERkdUb0xMVk06Omxvd2VyKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6
Okxvd2VyREZHVG9MTFZNOjpjb21waWxlR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZSk6CisgICAg
ICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUdldEJ5VmFsKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlQ3JlYXRlRGlyZWN0
QXJndW1lbnRzKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21w
aWxlU3RyaW5nQ2hhckF0KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZN
Ojpjb21waWxlRm9yd2FyZFZhcmFyZ3MpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJE
RkdUb0xMVk06OmNvbXBpbGVIYXNJbmRleGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0xMVk06OmFsbG9jYXRlSlNBcnJheSk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvTExWTTo6c2Vuc2libGVEb3VibGVUb0ludDMyKToKKyAgICAgICAg
KiBmdGwvRlRMU3RhdGUuaDoKKyAgICAgICAgKEpTQzo6RlRMOjp2ZXJib3NlQ29tcGlsYXRpb25F
bmFibGVkKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZnRsLWZ1bmN0aW9uLWRvdC1hcmd1bWVu
dHMtd2l0aC1jYWxsZWUtc2F2ZXMuanM6IEFkZGVkLgorCiAyMDE1LTEyLTE0ICBCZW5qYW1pbiBQ
b3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUgRlRMOjpPdXRw
dXQncyBjZWlsNjQoKSB0byBkb3VibGVDZWlsKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQjNDb21waWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEIzQ29tcGlsZS5jcHAJKHJldmlzaW9uIDE5NDA4MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQjNDb21waWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiQjNHZW5lcmF0ZS5oIgogI2luY2x1ZGUgIkIzUHJvY2VkdXJl
SW5saW5lcy5oIgorI2luY2x1ZGUgIkIzU3RhY2tTbG90VmFsdWUuaCIKICNpbmNsdWRlICJDb2Rl
QmxvY2tXaXRoSklUVHlwZS5oIgogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgogI2luY2x1ZGUg
IkRGR0NvbW1vbi5oIgpAQCAtODAsNiArODEsMzQgQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0
ZSwgU2FmZXBvaW50OjpSZQogICAgIEFTU0VSVCghKHN0YXRlLnByb2MtPmZyYW1lU2l6ZSgpICUg
c2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkpOwogICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5mcmFt
ZVJlZ2lzdGVyQ291bnQgPSBzdGF0ZS5wcm9jLT5mcmFtZVNpemUoKSAvIHNpemVvZihFbmNvZGVk
SlNWYWx1ZSk7CiAKKyAgICBpbnQgbG9jYWxzT2Zmc2V0ID0KKyAgICAgICAgc3RhdGUuY2FwdHVy
ZWRWYWx1ZS0+b2Zmc2V0RnJvbUZQKCkgLyBzaXplb2YoRW5jb2RlZEpTVmFsdWUpICsgZ3JhcGgu
bV9uZXh0TWFjaGluZUxvY2FsOworICAgIGZvciAodW5zaWduZWQgaSA9IGdyYXBoLm1faW5saW5l
VmFyaWFibGVEYXRhLnNpemUoKTsgaS0tOykgeworICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlu
bGluZUNhbGxGcmFtZSA9IGdyYXBoLm1faW5saW5lVmFyaWFibGVEYXRhW2ldLmlubGluZUNhbGxG
cmFtZTsKKyAgICAgICAgCisgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50Q291
bnRSZWdpc3Rlci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUtPmFyZ3Vt
ZW50Q291bnRSZWdpc3RlciArPSBsb2NhbHNPZmZzZXQ7CisgICAgICAgIAorICAgICAgICBmb3Ig
KHVuc2lnbmVkIGFyZ3VtZW50ID0gaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHMuc2l6ZSgpOyBh
cmd1bWVudC0tID4gMTspIHsKKyAgICAgICAgICAgIGlubGluZUNhbGxGcmFtZS0+YXJndW1lbnRz
W2FyZ3VtZW50XSA9CisgICAgICAgICAgICAgICAgaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHNb
YXJndW1lbnRdLndpdGhMb2NhbHNPZmZzZXQobG9jYWxzT2Zmc2V0KTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgaWYgKGlubGluZUNhbGxGcmFtZS0+aXNDbG9zdXJlQ2FsbCkgeworICAg
ICAgICAgICAgaW5saW5lQ2FsbEZyYW1lLT5jYWxsZWVSZWNvdmVyeSA9CisgICAgICAgICAgICAg
ICAgaW5saW5lQ2FsbEZyYW1lLT5jYWxsZWVSZWNvdmVyeS53aXRoTG9jYWxzT2Zmc2V0KGxvY2Fs
c09mZnNldCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZ3JhcGguaGFzRGVidWdnZXJFbmFi
bGVkKCkpCisgICAgICAgICAgICBjb2RlQmxvY2stPnNldFNjb3BlUmVnaXN0ZXIoY29kZUJsb2Nr
LT5zY29wZVJlZ2lzdGVyKCkgKyBsb2NhbHNPZmZzZXQpOworICAgIH0KKyAgICBmb3IgKE9TUkV4
aXREZXNjcmlwdG9yJiBkZXNjcmlwdG9yIDogc3RhdGUuaml0Q29kZS0+b3NyRXhpdERlc2NyaXB0
b3JzKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRlc2NyaXB0b3IubV92YWx1ZXMuc2l6
ZSgpOyBpLS07KQorICAgICAgICAgICAgZGVzY3JpcHRvci5tX3ZhbHVlc1tpXSA9IGRlc2NyaXB0
b3IubV92YWx1ZXNbaV0ud2l0aExvY2Fsc09mZnNldChsb2NhbHNPZmZzZXQpOworICAgICAgICBm
b3IgKEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24gOiBkZXNj
cmlwdG9yLm1fbWF0ZXJpYWxpemF0aW9ucykKKyAgICAgICAgICAgIG1hdGVyaWFsaXphdGlvbi0+
YWNjb3VudEZvckxvY2Fsc09mZnNldChsb2NhbHNPZmZzZXQpOworICAgIH0KKwogICAgIENDYWxs
SGVscGVycyBqaXQoJnZtLCBjb2RlQmxvY2spOwogICAgIEIzOjpnZW5lcmF0ZSgqc3RhdGUucHJv
Yywgaml0KTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5j
cHAJKHJldmlzaW9uIDE5NDA4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQjNP
dXRwdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgT3V0cHV0Ojph
cHBlbmRUbyhMQmFzaWNCbG9jayBibG9jaykKICAgICBtX2Jsb2NrID0gYmxvY2s7CiB9CiAKLUxW
YWx1ZSBPdXRwdXQ6OmxvY2tlZFN0YWNrU2xvdChzaXplX3QgYnl0ZXMpCitCMzo6U3RhY2tTbG90
VmFsdWUqIE91dHB1dDo6bG9ja2VkU3RhY2tTbG90KHNpemVfdCBieXRlcykKIHsKICAgICByZXR1
cm4gbV9ibG9jay0+YXBwZW5kTmV3PEIzOjpTdGFja1Nsb3RWYWx1ZT4obV9wcm9jLCBvcmlnaW4o
KSwgYnl0ZXMsIEIzOjpTdGFja1Nsb3RLaW5kOjpMb2NrZWQpOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQjNPdXRwdXQuaAkocmV2aXNpb24gMTk0MDgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExCM091dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMs
NyArMTAzLDcgQEAgcHVibGljOgogCiAgICAgTFZhbHVlIGZyYW1lUG9pbnRlcigpIHsgcmV0dXJu
IG1fYmxvY2stPmFwcGVuZE5ldzxCMzo6VmFsdWU+KG1fcHJvYywgQjM6OkZyYW1lUG9pbnRlciwg
b3JpZ2luKCkpOyB9CiAKLSAgICBMVmFsdWUgbG9ja2VkU3RhY2tTbG90KHNpemVfdCBieXRlcyk7
CisgICAgQjM6OlN0YWNrU2xvdFZhbHVlKiBsb2NrZWRTdGFja1Nsb3Qoc2l6ZV90IGJ5dGVzKTsK
IAogICAgIExWYWx1ZSBjb25zdEJvb2woYm9vbCB2YWx1ZSkgeyByZXR1cm4gbV9ibG9jay0+YXBw
ZW5kTmV3PEIzOjpDb25zdDMyVmFsdWU+KG1fcHJvYywgb3JpZ2luKCksIHZhbHVlKTsgfQogICAg
IExWYWx1ZSBjb25zdEludDMyKGludDMyX3QgdmFsdWUpIHsgcmV0dXJuIG1fYmxvY2stPmFwcGVu
ZE5ldzxCMzo6Q29uc3QzMlZhbHVlPihtX3Byb2MsIG9yaWdpbigpLCB2YWx1ZSk7IH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCShy
ZXZpc2lvbiAxOTQwODMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg3LDkgKzE4Nyw5IEBAIHB1YmxpYzoKIAog
I2lmIEZUTF9VU0VTX0IzCiAgICAgICAgIHNpemVfdCBzaXplT2ZDYXB0dXJlZCA9IHNpemVvZihK
U1ZhbHVlKSAqIG1fZ3JhcGgubV9uZXh0TWFjaGluZUxvY2FsOwotICAgICAgICBMVmFsdWUgY2Fw
dHVyZWRCYXNlID0gbV9vdXQubG9ja2VkU3RhY2tTbG90KHNpemVPZkNhcHR1cmVkKTsKKyAgICAg
ICAgQjM6OlN0YWNrU2xvdFZhbHVlKiBjYXB0dXJlZEJhc2UgPSBtX291dC5sb2NrZWRTdGFja1Ns
b3Qoc2l6ZU9mQ2FwdHVyZWQpOwogICAgICAgICBtX2NhcHR1cmVkID0gbV9vdXQuYWRkKGNhcHR1
cmVkQmFzZSwgbV9vdXQuY29uc3RJbnRQdHIoc2l6ZU9mQ2FwdHVyZWQpKTsKLSAgICAgICAgbV9m
dGxTdGF0ZS5jYXB0dXJlZFZhbHVlID0gbV9jYXB0dXJlZDsKKyAgICAgICAgbV9mdGxTdGF0ZS5j
YXB0dXJlZFZhbHVlID0gY2FwdHVyZWRCYXNlOwogI2Vsc2UgLy8gRlRMX1VTRVNfQjMKICAgICAg
ICAgTFZhbHVlIGNhcHR1cmVkQWxsb2NhID0gbV9vdXQuYWxsb2NhKGFycmF5VHlwZShtX291dC5p
bnQ2NCwgbV9ncmFwaC5tX25leHRNYWNoaW5lTG9jYWwpKTsKICAgICAgICAgCkBAIC0yNTgzLDEy
ICsyNTgzLDEyIEBAIHByaXZhdGU6CiAgICAgICAgIGlmIChtX25vZGUtPmFycmF5TW9kZSgpLnR5
cGUoKSA9PSBBcnJheTo6U3RyaW5nKSB7CiAgICAgICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0
aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZSBTdHJp
bmcgc2xvdyBjYXNlIikpOwogICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0g
RlRMX05FV19CTE9DSyhtX291dCwgKCJHZXRJbmRleGVkUHJvcGVydHlTdG9yYWdlIFN0cmluZyBj
b250aW51YXRpb24iKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFZhbHVlRnJvbUJsb2Nr
IGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3IoCi0gICAgICAgICAgICAgICAgbV9vdXQubG9hZFB0
cihjZWxsLCBtX2hlYXBzLkpTU3RyaW5nX3ZhbHVlKSk7CisKKyAgICAgICAgICAgIExWYWx1ZSBm
YXN0UmVzdWx0VmFsdWUgPSBtX291dC5sb2FkUHRyKGNlbGwsIG1faGVhcHMuSlNTdHJpbmdfdmFs
dWUpOworICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hv
cihmYXN0UmVzdWx0VmFsdWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBtX291dC5icmFu
Y2goCi0gICAgICAgICAgICAgICAgbV9vdXQubm90TnVsbChmYXN0UmVzdWx0LnZhbHVlKCkpLCB1
c3VhbGx5KGNvbnRpbnVhdGlvbiksIHJhcmVseShzbG93UGF0aCkpOworICAgICAgICAgICAgICAg
IG1fb3V0Lm5vdE51bGwoZmFzdFJlc3VsdFZhbHVlKSwgdXN1YWxseShjb250aW51YXRpb24pLCBy
YXJlbHkoc2xvd1BhdGgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTEJhc2ljQmxvY2sg
bGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKICAgICAg
ICAgICAgIApAQCAtMjc0MywxMSArMjc0MywxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IHJhcmVseShzbG93Q2FzZSksIHVzdWFsbHkoZmFzdENhc2UpKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhmYXN0Q2FzZSwg
c2xvd0Nhc2UpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0
UmVzdWx0ID0gbV9vdXQuYW5jaG9yKAotICAgICAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChiYXNl
SW5kZXgoaGVhcCwgc3RvcmFnZSwgaW5kZXgsIG1fbm9kZS0+Y2hpbGQyKCkpKSk7CisKKyAgICAg
ICAgICAgIExWYWx1ZSBmYXN0UmVzdWx0VmFsdWUgPSBtX291dC5sb2FkNjQoYmFzZUluZGV4KGhl
YXAsIHN0b3JhZ2UsIGluZGV4LCBtX25vZGUtPmNoaWxkMigpKSk7CisgICAgICAgICAgICBWYWx1
ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RSZXN1bHRWYWx1ZSk7CiAg
ICAgICAgICAgICBtX291dC5icmFuY2goCi0gICAgICAgICAgICAgICAgbV9vdXQuaXNaZXJvNjQo
ZmFzdFJlc3VsdC52YWx1ZSgpKSwgcmFyZWx5KHNsb3dDYXNlKSwgdXN1YWxseShjb250aW51YXRp
b24pKTsKKyAgICAgICAgICAgICAgICBtX291dC5pc1plcm82NChmYXN0UmVzdWx0VmFsdWUpLCBy
YXJlbHkoc2xvd0Nhc2UpLCB1c3VhbGx5KGNvbnRpbnVhdGlvbikpOwogICAgICAgICAgICAgCiAg
ICAgICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93Q2FzZSwgY29udGludWF0aW9uKTsKICAgICAg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3IoCkBAIC0zNjI3
LDE4ICszNjI3LDIwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAKICAgICAgICAgICAgIExCYXNp
Y0Jsb2NrIGxvb3AgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkNyZWF0ZURpcmVjdEFyZ3VtZW50
cyBsb29wIGJvZHkiKSk7CiAgICAgICAgICAgICBMQmFzaWNCbG9jayBlbmQgPSBGVExfTkVXX0JM
T0NLKG1fb3V0LCAoIkNyZWF0ZURpcmVjdEFyZ3VtZW50cyBsb29wIGVuZCIpKTsKLSAgICAgICAg
ICAgIAorCiAgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbExlbmd0aDsKICAgICAg
ICAgICAgIGlmIChtaW5DYXBhY2l0eSkgewogICAgICAgICAgICAgICAgIExWYWx1ZSBjYXBhY2l0
eSA9IG1fb3V0LnNlbGVjdCgKICAgICAgICAgICAgICAgICAgICAgbV9vdXQuYWJvdmVPckVxdWFs
KGxlbmd0aC52YWx1ZSwgbV9vdXQuY29uc3RJbnQzMihtaW5DYXBhY2l0eSkpLAogICAgICAgICAg
ICAgICAgICAgICBsZW5ndGgudmFsdWUsCiAgICAgICAgICAgICAgICAgICAgIG1fb3V0LmNvbnN0
SW50MzIobWluQ2FwYWNpdHkpKTsKLSAgICAgICAgICAgICAgICBvcmlnaW5hbExlbmd0aCA9IG1f
b3V0LmFuY2hvcihtX291dC56ZXJvRXh0UHRyKGNhcGFjaXR5KSk7CisgICAgICAgICAgICAgICAg
TFZhbHVlIG9yaWdpbmFsTGVuZ3RoVmFsdWUgPSBtX291dC56ZXJvRXh0UHRyKGNhcGFjaXR5KTsK
KyAgICAgICAgICAgICAgICBvcmlnaW5hbExlbmd0aCA9IG1fb3V0LmFuY2hvcihvcmlnaW5hbExl
bmd0aFZhbHVlKTsKICAgICAgICAgICAgICAgICBtX291dC5qdW1wKGxvb3ApOwogICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBvcmlnaW5hbExlbmd0aCA9IG1fb3V0LmFuY2hv
cihtX291dC56ZXJvRXh0UHRyKGxlbmd0aC52YWx1ZSkpOwotICAgICAgICAgICAgICAgIG1fb3V0
LmJyYW5jaChtX291dC5pc051bGwob3JpZ2luYWxMZW5ndGgudmFsdWUoKSksIHVuc3VyZShlbmQp
LCB1bnN1cmUobG9vcCkpOworICAgICAgICAgICAgICAgIExWYWx1ZSBvcmlnaW5hbExlbmd0aFZh
bHVlID0gbV9vdXQuemVyb0V4dFB0cihsZW5ndGgudmFsdWUpOworICAgICAgICAgICAgICAgIG9y
aWdpbmFsTGVuZ3RoID0gbV9vdXQuYW5jaG9yKG9yaWdpbmFsTGVuZ3RoVmFsdWUpOworICAgICAg
ICAgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5pc051bGwob3JpZ2luYWxMZW5ndGhWYWx1ZSks
IHVuc3VyZShlbmQpLCB1bnN1cmUobG9vcCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
CiAgICAgICAgICAgICBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGxvb3AsIGVuZCk7CkBAIC00
MjA2LDEzICs0MjA4LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIG1fb3V0Lmp1bXAoYml0c0NvbnRp
bnVhdGlvbik7CiAgICAgICAgICAgICAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8oaXMxNkJpdCwg
YmlnQ2hhcmFjdGVyKTsKLSAgICAgICAgICAgIAotICAgICAgICBWYWx1ZUZyb21CbG9jayBjaGFy
MTZCaXQgPSBtX291dC5hbmNob3IoCi0gICAgICAgICAgICBtX291dC5sb2FkMTZaZXJvRXh0MzIo
bV9vdXQuYmFzZUluZGV4KAorCisgICAgICAgIExWYWx1ZSBjaGFyMTZCaXRWYWx1ZSA9IG1fb3V0
LmxvYWQxNlplcm9FeHQzMigKKyAgICAgICAgICAgIG1fb3V0LmJhc2VJbmRleCgKICAgICAgICAg
ICAgICAgICBtX2hlYXBzLmNoYXJhY3RlcnMxNiwgc3RvcmFnZSwgbV9vdXQuemVyb0V4dFB0cihp
bmRleCksCi0gICAgICAgICAgICAgICAgcHJvdmVuVmFsdWUobV9ub2RlLT5jaGlsZDIoKSkpKSk7
CisgICAgICAgICAgICAgICAgcHJvdmVuVmFsdWUobV9ub2RlLT5jaGlsZDIoKSkpKTsKKyAgICAg
ICAgVmFsdWVGcm9tQmxvY2sgY2hhcjE2Qml0ID0gbV9vdXQuYW5jaG9yKGNoYXIxNkJpdFZhbHVl
KTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAotICAgICAgICAgICAgbV9vdXQuYWJvdmVPckVxdWFs
KGNoYXIxNkJpdC52YWx1ZSgpLCBtX291dC5jb25zdEludDMyKDB4MTAwKSksCisgICAgICAgICAg
ICBtX291dC5hYm92ZU9yRXF1YWwoY2hhcjE2Qml0VmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHgx
MDApKSwKICAgICAgICAgICAgIHJhcmVseShiaWdDaGFyYWN0ZXIpLCB1c3VhbGx5KGJpdHNDb250
aW51YXRpb24pKTsKICAgICAgICAgICAgIAogICAgICAgICBtX291dC5hcHBlbmRUbyhiaWdDaGFy
YWN0ZXIsIGJpdHNDb250aW51YXRpb24pOwpAQCAtNDIyMCw3ICs0MjIzLDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgVmVjdG9yPFZhbHVlRnJvbUJsb2NrLCA0PiByZXN1bHRzOwogICAgICAgICByZXN1
bHRzLmFwcGVuZChtX291dC5hbmNob3Iodm1DYWxsKAogICAgICAgICAgICAgbV9vdXQuaW50NjQs
IG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25TaW5nbGVDaGFyYWN0ZXJTdHJpbmcpLAotICAgICAg
ICAgICAgbV9jYWxsRnJhbWUsIGNoYXIxNkJpdC52YWx1ZSgpKSkpOworICAgICAgICAgICAgbV9j
YWxsRnJhbWUsIGNoYXIxNkJpdFZhbHVlKSkpOwogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVh
dGlvbik7CiAgICAgICAgICAgICAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8oYml0c0NvbnRpbnVh
dGlvbiwgc2xvd1BhdGgpOwpAQCAtNTA5MSw5ICs1MDk0LDEwIEBAIHByaXZhdGU6CiAgICAgICAg
IExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiRm9yd2Fy
ZFZhcmFyZ3MgY29udGludWF0aW9uIikpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIGxlbmd0
aEFzUHRyID0gbV9vdXQuemVyb0V4dFB0cihsZW5ndGgpOwotICAgICAgICBWYWx1ZUZyb21CbG9j
ayBsb29wQm91bmQgPSBtX291dC5hbmNob3IobV9vdXQuY29uc3RJbnRQdHIoZGF0YS0+bWFuZGF0
b3J5TWluaW11bSkpOworICAgICAgICBMVmFsdWUgbG9vcEJvdW5kVmFsdWUgPSBtX291dC5jb25z
dEludFB0cihkYXRhLT5tYW5kYXRvcnlNaW5pbXVtKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
bG9vcEJvdW5kID0gbV9vdXQuYW5jaG9yKGxvb3BCb3VuZFZhbHVlKTsKICAgICAgICAgbV9vdXQu
YnJhbmNoKAotICAgICAgICAgICAgbV9vdXQuYWJvdmUobG9vcEJvdW5kLnZhbHVlKCksIGxlbmd0
aEFzUHRyKSwgdW5zdXJlKHVuZGVmaW5lZExvb3ApLCB1bnN1cmUobWFpbkxvb3BFbnRyeSkpOwor
ICAgICAgICAgICAgbV9vdXQuYWJvdmUobG9vcEJvdW5kVmFsdWUsIGxlbmd0aEFzUHRyKSwgdW5z
dXJlKHVuZGVmaW5lZExvb3ApLCB1bnN1cmUobWFpbkxvb3BFbnRyeSkpOwogICAgICAgICAKICAg
ICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyh1bmRlZmluZWRMb29w
LCBtYWluTG9vcEVudHJ5KTsKICAgICAgICAgTFZhbHVlIHByZXZpb3VzSW5kZXggPSBtX291dC5w
aGkobV9vdXQuaW50UHRyLCBsb29wQm91bmQpOwpAQCAtNTEwOCw3ICs1MTEyLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG1haW5Mb29wRW50cnksIG1haW5M
b29wKTsKICAgICAgICAgbG9vcEJvdW5kID0gbV9vdXQuYW5jaG9yKGxlbmd0aEFzUHRyKTsKLSAg
ICAgICAgbV9vdXQuYnJhbmNoKG1fb3V0Lm5vdE51bGwobG9vcEJvdW5kLnZhbHVlKCkpLCB1bnN1
cmUobWFpbkxvb3ApLCB1bnN1cmUoY29udGludWF0aW9uKSk7CisgICAgICAgIG1fb3V0LmJyYW5j
aChtX291dC5ub3ROdWxsKGxvb3BCb3VuZFZhbHVlKSwgdW5zdXJlKG1haW5Mb29wKSwgdW5zdXJl
KGNvbnRpbnVhdGlvbikpOwogICAgICAgICAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8obWFpbkxv
b3AsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIHByZXZpb3VzSW5kZXggPSBtX291dC5waGkobV9v
dXQuaW50UHRyLCBsb29wQm91bmQpOwpAQCAtNTc1MCwxMCArNTc1NCwxMSBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgbV9vdXQuanVtcChjaGVja0hvbGUp
OwogCi0gICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNo
ZWNrSG9sZSwgc2xvd0Nhc2UpOyAKLSAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNoZWNrSG9s
ZVJlc3VsdCA9IG1fb3V0LmFuY2hvcigKLSAgICAgICAgICAgICAgICBtX291dC5ub3RaZXJvNjQo
bV9vdXQubG9hZDY0KGJhc2VJbmRleChoZWFwLCBzdG9yYWdlLCBpbmRleCwgbV9ub2RlLT5jaGls
ZDIoKSkpKSk7Ci0gICAgICAgICAgICBtX291dC5icmFuY2goY2hlY2tIb2xlUmVzdWx0LnZhbHVl
KCksIHVzdWFsbHkoY29udGludWF0aW9uKSwgcmFyZWx5KHNsb3dDYXNlKSk7CisgICAgICAgICAg
ICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGNoZWNrSG9sZSwgc2xvd0Nh
c2UpOworICAgICAgICAgICAgTFZhbHVlIGNoZWNrSG9sZVJlc3VsdFZhbHVlID0KKyAgICAgICAg
ICAgICAgICBtX291dC5ub3RaZXJvNjQobV9vdXQubG9hZDY0KGJhc2VJbmRleChoZWFwLCBzdG9y
YWdlLCBpbmRleCwgbV9ub2RlLT5jaGlsZDIoKSkpKTsKKyAgICAgICAgICAgIFZhbHVlRnJvbUJs
b2NrIGNoZWNrSG9sZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihjaGVja0hvbGVSZXN1bHRWYWx1ZSk7
CisgICAgICAgICAgICBtX291dC5icmFuY2goY2hlY2tIb2xlUmVzdWx0VmFsdWUsIHVzdWFsbHko
Y29udGludWF0aW9uKSwgcmFyZWx5KHNsb3dDYXNlKSk7CiAKICAgICAgICAgICAgIG1fb3V0LmFw
cGVuZFRvKHNsb3dDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5lcXVhbCgKQEAgLTU3ODYsOCArNTc5
MSw5IEBAIHByaXZhdGU6CiAKICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9v
dXQuYXBwZW5kVG8oY2hlY2tIb2xlLCBzbG93Q2FzZSk7CiAgICAgICAgICAgICBMVmFsdWUgZG91
YmxlVmFsdWUgPSBtX291dC5sb2FkRG91YmxlKGJhc2VJbmRleChoZWFwLCBzdG9yYWdlLCBpbmRl
eCwgbV9ub2RlLT5jaGlsZDIoKSkpOwotICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgY2hlY2tI
b2xlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmRvdWJsZUVxdWFsKGRvdWJsZVZhbHVlLCBk
b3VibGVWYWx1ZSkpOwotICAgICAgICAgICAgbV9vdXQuYnJhbmNoKGNoZWNrSG9sZVJlc3VsdC52
YWx1ZSgpLCB1c3VhbGx5KGNvbnRpbnVhdGlvbiksIHJhcmVseShzbG93Q2FzZSkpOworICAgICAg
ICAgICAgTFZhbHVlIGNoZWNrSG9sZVJlc3VsdFZhbHVlID0gbV9vdXQuZG91YmxlRXF1YWwoZG91
YmxlVmFsdWUsIGRvdWJsZVZhbHVlKTsKKyAgICAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGNoZWNr
SG9sZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihjaGVja0hvbGVSZXN1bHRWYWx1ZSk7CisgICAgICAg
ICAgICBtX291dC5icmFuY2goY2hlY2tIb2xlUmVzdWx0VmFsdWUsIHVzdWFsbHkoY29udGludWF0
aW9uKSwgcmFyZWx5KHNsb3dDYXNlKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0
LmFwcGVuZFRvKHNsb3dDYXNlLCBjb250aW51YXRpb24pOwogICAgICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5lcXVhbCgKQEAgLTcxNDUsMTMg
KzcxNTEsMTQgQEAgcHJpdmF0ZToKIAogICAgICAgICBMVmFsdWUgc2xvd0FycmF5VmFsdWUgPSBs
YXp5U2xvd1BhdGgoCiAgICAgICAgICAgICBbPV0gKGNvbnN0IFZlY3RvcjxMb2NhdGlvbj4mIGxv
Y2F0aW9ucykgLT4gUmVmUHRyPExhenlTbG93UGF0aDo6R2VuZXJhdG9yPiB7CisgICAgICAgICAg
ICAgICAgZGF0YUxvZygiV2Ugc2VlIHRoZSByZXN1bHQgZ29pbmcgaW50bzogIiwgbG9jYXRpb25z
WzBdLCAiXG4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlTGF6eUNhbGxHZW5lcmF0
b3IoCiAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUsIGxvY2F0
aW9uc1swXS5kaXJlY3RHUFIoKSwKICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKG51bUVs
ZW1lbnRzKSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd0Fy
cmF5ID0gbV9vdXQuYW5jaG9yKHNsb3dBcnJheVZhbHVlKTsKICAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgc2xvd0J1dHRlcmZseSA9IG1fb3V0LmFuY2hvcigKLSAgICAgICAgICAgIG1fb3V0LmxvYWRQ
dHIoc2xvd0FycmF5LnZhbHVlKCksIG1faGVhcHMuSlNPYmplY3RfYnV0dGVyZmx5KSk7CisgICAg
ICAgICAgICBtX291dC5sb2FkUHRyKHNsb3dBcnJheVZhbHVlLCBtX2hlYXBzLkpTT2JqZWN0X2J1
dHRlcmZseSkpOwogCiAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAg
CkBAIC03OTMxLDExICs3OTM4LDExIEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBMQmFzaWNC
bG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgic2Vuc2libGUgZG91YmxlVG9J
bnQzMiBzbG93IHBhdGgiKSk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZU
TF9ORVdfQkxPQ0sobV9vdXQsICgic2Vuc2libGUgZG91YmxlVG9JbnQzMiBjb250aW51YXRpb24i
KSk7Ci0gICAgICAgIAotICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQu
YW5jaG9yKAotICAgICAgICAgICAgbV9vdXQuc2Vuc2libGVEb3VibGVUb0ludChkb3VibGVWYWx1
ZSkpOworCisgICAgICAgIExWYWx1ZSBmYXN0UmVzdWx0VmFsdWUgPSBtX291dC5zZW5zaWJsZURv
dWJsZVRvSW50KGRvdWJsZVZhbHVlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3Vs
dCA9IG1fb3V0LmFuY2hvcihmYXN0UmVzdWx0VmFsdWUpOwogICAgICAgICBtX291dC5icmFuY2go
Ci0gICAgICAgICAgICBtX291dC5lcXVhbChmYXN0UmVzdWx0LnZhbHVlKCksIG1fb3V0LmNvbnN0
SW50MzIoMHg4MDAwMDAwMCkpLAorICAgICAgICAgICAgbV9vdXQuZXF1YWwoZmFzdFJlc3VsdFZh
bHVlLCBtX291dC5jb25zdEludDMyKDB4ODAwMDAwMDApKSwKICAgICAgICAgICAgIHJhcmVseShz
bG93UGF0aCksIHVzdWFsbHkoY29udGludWF0aW9uKSk7CiAgICAgICAgIAogICAgICAgICBMQmFz
aWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250aW51YXRpb24p
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuaAkocmV2aXNpb24gMTk0MDgz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw3ICs0MiwxNCBAQAogI2luY2x1ZGUgIkZUTFN0YWNrTWFwcy5oIgogI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCi1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7Citu
YW1lc3BhY2UgSlNDIHsKKworbmFtZXNwYWNlIEIzIHsKK2NsYXNzIFBhdGNocG9pbnRWYWx1ZTsK
K2NsYXNzIFN0YWNrU2xvdFZhbHVlOworfSAvLyBuYW1lc3BhY2UgQjMKKworbmFtZXNwYWNlIEZU
TCB7CiAKIGlubGluZSBib29sIHZlcmJvc2VDb21waWxhdGlvbkVuYWJsZWQoKQogewpAQCAtNzUs
MTEgKzgyLDExIEBAIHB1YmxpYzoKICAgICBHZW5lcmF0ZWRGdW5jdGlvbiBnZW5lcmF0ZWRGdW5j
dGlvbjsKICAgICBKSVRGaW5hbGl6ZXIqIGZpbmFsaXplcjsKICNpZiBGVExfVVNFU19CMwotICAg
IExWYWx1ZSBoYW5kbGVTdGFja092ZXJmbG93RXhjZXB0aW9uVmFsdWUgeyBudWxscHRyIH07Ci0g
ICAgTFZhbHVlIGhhbmRsZUV4Y2VwdGlvblZhbHVlIHsgbnVsbHB0ciB9OwotICAgIExWYWx1ZSBj
YXB0dXJlZFZhbHVlIHsgbnVsbHB0ciB9OwotICAgIExWYWx1ZSB2YXJhcmdzU3BpbGxTbG90c1Zh
bHVlIHsgbnVsbHB0ciB9OwotICAgIExWYWx1ZSBleGNlcHRpb25IYW5kbGluZ1NwaWxsU2xvdFZh
bHVlIHsgbnVsbHB0ciB9OworICAgIEIzOjpQYXRjaHBvaW50VmFsdWUqIGhhbmRsZVN0YWNrT3Zl
cmZsb3dFeGNlcHRpb25WYWx1ZSB7IG51bGxwdHIgfTsKKyAgICBCMzo6UGF0Y2hwb2ludFZhbHVl
KiBoYW5kbGVFeGNlcHRpb25WYWx1ZSB7IG51bGxwdHIgfTsKKyAgICBCMzo6U3RhY2tTbG90VmFs
dWUqIGNhcHR1cmVkVmFsdWUgeyBudWxscHRyIH07CisgICAgQjM6OlN0YWNrU2xvdFZhbHVlKiB2
YXJhcmdzU3BpbGxTbG90c1ZhbHVlIHsgbnVsbHB0ciB9OworICAgIEIzOjpTdGFja1Nsb3RWYWx1
ZSogZXhjZXB0aW9uSGFuZGxpbmdTcGlsbFNsb3RWYWx1ZSB7IG51bGxwdHIgfTsKICNlbHNlIC8v
IEZUTF9VU0VTX0IzCiAgICAgdW5zaWduZWQgaGFuZGxlU3RhY2tPdmVyZmxvd0V4Y2VwdGlvblN0
YWNrbWFwSUQgeyBVSU5UX01BWCB9OwogICAgIHVuc2lnbmVkIGhhbmRsZUV4Y2VwdGlvblN0YWNr
bWFwSUQgeyBVSU5UX01BWCB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9mdGwtZnVuY3Rpb24tZG90LWFyZ3VtZW50cy13aXRoLWNhbGxlZS1zYXZlcy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1mdW5jdGlv
bi1kb3QtYXJndW1lbnRzLXdpdGgtY2FsbGVlLXNhdmVzLmpzCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtZnVuY3Rpb24tZG90LWFyZ3VtZW50
cy13aXRoLWNhbGxlZS1zYXZlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACitm
dW5jdGlvbiBiYXooKSB7CisgICAgcmV0dXJuIGZvby5hcmd1bWVudHM7Cit9CisKK25vSW5saW5l
KGJheik7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICByZXR1cm4gYmF6KCk7Cit9CisKK2Z1bmN0
aW9uIGJhcihvLCBpKSB7CisgICAgdmFyIHggPSBvLmY7CisgICAgcmV0dXJuIFtmb28oMSwgMiwg
MyksIHhdOworfQorCitub0lubGluZShiYXIpOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICB2YXIgYSA9IGJhcih7Zjo0Mn0pOworICAgIGlmIChhLmxlbmd0aCAhPSAy
IHx8IGFbMF0ubGVuZ3RoICE9IDMgfHwgYVswXVswXSAhPSAxIHx8IGFbMF1bMV0gIT0gMiB8fCBh
WzBdWzJdICE9IDMgfHwgYVsxXSAhPSA0MikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVz
dWx0OiAiICsgYTsKK30KKwo=
</data>
<flag name="review"
          id="292390"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>