<?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>196828</bug_id>
          
          <creation_ts>2019-04-11 13:33:32 -0700</creation_ts>
          <short_desc>Rename SetArgument to SetArgumentDefinitely</short_desc>
          <delta_ts>2019-04-11 13:48:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>196712</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1526451</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-11 13:33:32 -0700</bug_when>
    <thetext>In preparation for:
https://bugs.webkit.org/show_bug.cgi?id=196712</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526452</commentid>
    <comment_count>1</comment_count>
      <attachid>367237</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-11 13:37:52 -0700</bug_when>
    <thetext>Created attachment 367237
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526454</commentid>
    <comment_count>2</comment_count>
      <attachid>367237</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-11 13:42:13 -0700</bug_when>
    <thetext>Comment on attachment 367237
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526457</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-11 13:47:42 -0700</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/244193/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526458</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-11 13:48:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/49825946&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367237</attachid>
            <date>2019-04-11 13:37:52 -0700</date>
            <delta_ts>2019-04-11 13:42:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>38754</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ0MTkyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBA
CisyMDE5LTA0LTExICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbmFtZSBTZXRBcmd1bWVudCB0byBTZXRBcmd1bWVudERlZmluaXRlbHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjgyOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRp
b24gZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY3MTIKKyAg
ICAgICAgd2hlcmUgd2Ugd2lsbCBpbnRyb2R1Y2UgYSBub2RlIG5hbWVkIFNldEFyZ3VtZW50TWF5
YmUuIERvaW5nIHRoaXMgcmVmYWN0b3JpbmcKKyAgICAgICAgZmlyc3Qgd2lsbCBtYWtlIHJldmll
d2luZyB0aGF0IG90aGVyIHBhdGNoIGVhc2llci4KKworICAgICAgICAqIGRmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJw
cmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNl
cjo6aGFuZGxlVmFyYXJnc0lubGluaW5nKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OmZyZWVVbm5lY2Vz
c2FyeU5vZGVzKToKKyAgICAgICAgKEpTQzo6REZHOjpDUFNSZXRocmVhZGluZ1BoYXNlOjpjYW5v
bmljYWxpemVHZXRMb2NhbEZvcik6CisgICAgICAgIChKU0M6OkRGRzo6Q1BTUmV0aHJlYWRpbmdQ
aGFzZTo6Y2Fub25pY2FsaXplRmx1c2hPclBoYW50b21Mb2NhbEZvcik6CisgICAgICAgIChKU0M6
OkRGRzo6Q1BTUmV0aHJlYWRpbmdQaGFzZTo6Y2Fub25pY2FsaXplTG9jYWxzSW5CbG9jayk6Cisg
ICAgICAgIChKU0M6OkRGRzo6Q1BTUmV0aHJlYWRpbmdQaGFzZTo6c3BlY2lhbENhc2VBcmd1bWVu
dHMpOgorICAgICAgICAoSlNDOjpERkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OnByb3BhZ2F0ZVBo
aXMpOgorICAgICAgICAoSlNDOjpERkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OmNvbXB1dGVJc0Zs
dXNoZWQpOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRG
Rzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR0NvbW1vbi5oOgorICAgICAgICAqIGRm
Zy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAgICAgICog
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZp
eHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpHcmFwaDo6bWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZUZvcik6CisgICAgICAgICogZGZn
L0RGR0dyYXBoLmg6CisgICAgICAgICogZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpJblBsYWNlQWJzdHJhY3RTdGF0ZTo6aW5pdGlhbGl6ZSk6Cisg
ICAgICAgIChKU0M6OkRGRzo6SW5QbGFjZUFic3RyYWN0U3RhdGU6OmVuZEJhc2ljQmxvY2spOgor
ICAgICAgICAqIGRmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlOjpo
YW5kbGVCbG9ja0ZvclRyeUNhdGNoKToKKyAgICAgICAgKiBkZmcvREZHTWF4aW1hbEZsdXNoSW5z
ZXJ0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6Ok1heGltYWxGbHVzaEluc2VydGlv
blBoYXNlOjp0cmVhdFJlZ3VsYXJCbG9jayk6CisgICAgICAgIChKU0M6OkRGRzo6TWF4aW1hbEZs
dXNoSW5zZXJ0aW9uUGhhc2U6OnRyZWF0Um9vdEJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHTWF5
RXhpdC5jcHA6CisgICAgICAgICogZGZnL0RGR05vZGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6
Ok5vZGU6Omhhc1ZhcmlhYmxlQWNjZXNzRGF0YSk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpjb252ZXJ0UGhhbnRvbVRvUGhhbnRvbUxvY2FsKToK
KyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6Ok9TUkVudHJ5cG9pbnRD
cmVhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGRmZy9ERkdQaGFudG9tSW5zZXJ0aW9uUGhh
c2UuY3BwOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6
CisgICAgICAgICogZGZnL0RGR1NTQUNvbnZlcnNpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U1NBQ29udmVyc2lvblBoYXNlOjpydW4pOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9F
eGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICog
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y2hlY2tBcmd1bWVudFR5cGVzKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUp
OgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1R5cGVDaGVj
a0hvaXN0aW5nUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlR5cGVDaGVja0hvaXN0aW5n
UGhhc2U6OnJ1bik6CisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoKKyAgICAgICAgKiBm
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToK
KwogMjAxOS0wNC0xMSAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDQxNTguCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCShyZXZpc2lvbiAyNDQxOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyMSw5ICszMjEs
OSBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KICAgICAgICAgCi0gICAgY2FzZSBTZXRBcmd1bWVudDoKLSAgICAgICAgLy8g
QXNzZXJ0IHRoYXQgdGhlIHN0YXRlIG9mIGFyZ3VtZW50cyBoYXMgYmVlbiBzZXQuIFNldEFyZ3Vt
ZW50IG1lYW5zIHRoYXQgc29tZW9uZSBzZXQKLSAgICAgICAgLy8gdGhlIGFyZ3VtZW50IHZhbHVl
cyBvdXQtb2YtYmFuZCwgYW5kIGN1cnJlbnRseSB0aGlzIGFsd2F5cyBtZWFucyBzZXR0aW5nIHRv
IGEKKyAgICBjYXNlIFNldEFyZ3VtZW50RGVmaW5pdGVseToKKyAgICAgICAgLy8gQXNzZXJ0IHRo
YXQgdGhlIHN0YXRlIG9mIGFyZ3VtZW50cyBoYXMgYmVlbiBzZXQuIFNldEFyZ3VtZW50RGVmaW5p
dGVseSBtZWFucworICAgICAgICAvLyB0aGF0IHNvbWVvbmUgc2V0IHRoZSBhcmd1bWVudCB2YWx1
ZXMgb3V0LW9mLWJhbmQsIGFuZCBjdXJyZW50bHkgdGhpcyBhbHdheXMgbWVhbnMgc2V0dGluZyB0
byBhCiAgICAgICAgIC8vIG5vbi1jbGVhciB2YWx1ZS4KICAgICAgICAgQVNTRVJUKCFtX3N0YXRl
Lm9wZXJhbmQobm9kZS0+bG9jYWwoKSkuaXNDbGVhcigpKTsKICAgICAgICAgYnJlYWs7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAko
cmV2aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MjksOCArMTgyOSw3IEBAIGJvb2wgQnl0
ZUNvZGVQYXJzZXI6OmhhbmRsZVZhcmFyZ3NJbmxpbmkKICAgICAgICAgZW5zdXJlTG9jYWxzKFZp
cnR1YWxSZWdpc3RlcihyZW1hcHBlZFJlZ2lzdGVyT2Zmc2V0KS50b0xvY2FsKCkpOwogICAgICAg
ICAKICAgICAgICAgaW50IGFyZ3VtZW50U3RhcnQgPSByZWdpc3Rlck9mZnNldCArIENhbGxGcmFt
ZTo6aGVhZGVyU2l6ZUluUmVnaXN0ZXJzOwotICAgICAgICBpbnQgcmVtYXBwZWRBcmd1bWVudFN0
YXJ0ID0KLSAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+cmVtYXBPcGVyYW5kKFZpcnR1YWxSZWdp
c3Rlcihhcmd1bWVudFN0YXJ0KSkub2Zmc2V0KCk7CisgICAgICAgIGludCByZW1hcHBlZEFyZ3Vt
ZW50U3RhcnQgPSBtX2lubGluZVN0YWNrVG9wLT5yZW1hcE9wZXJhbmQoVmlydHVhbFJlZ2lzdGVy
KGFyZ3VtZW50U3RhcnQpKS5vZmZzZXQoKTsKICAgICAgICAgCiAgICAgICAgIExvYWRWYXJhcmdz
RGF0YSogZGF0YSA9IG1fZ3JhcGgubV9sb2FkVmFyYXJnc0RhdGEuYWRkKCk7CiAgICAgICAgIGRh
dGEtPnN0YXJ0ID0gVmlydHVhbFJlZ2lzdGVyKHJlbWFwcGVkQXJndW1lbnRTdGFydCArIDEpOwpA
QCAtMTg1MCwxNyArMTg0OSwxNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdz
SW5saW5pCiAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbFRhcmdldE5vZGUpOwogICAg
ICAgICAKICAgICAgICAgLy8gSW4gREZHIElSIGJlZm9yZSBTU0EsIHdlIGNhbm5vdCBpbnNlcnQg
Y29udHJvbCBmbG93IGJldHdlZW4gYWZ0ZXIgdGhlCi0gICAgICAgIC8vIExvYWRWYXJhcmdzIGFu
ZCB0aGUgbGFzdCBTZXRBcmd1bWVudC4gVGhpcyBpc24ndCBhIHByb2JsZW0gb25jZSB3ZSBnZXQg
dG8gREZHCisgICAgICAgIC8vIExvYWRWYXJhcmdzIGFuZCB0aGUgbGFzdCBTZXRBcmd1bWVudERl
ZmluaXRlbHkuIFRoaXMgaXNuJ3QgYSBwcm9ibGVtIG9uY2Ugd2UgZ2V0IHRvIERGRwogICAgICAg
ICAvLyBTU0EuIEZvcnR1bmF0ZWx5LCB3ZSBhbHNvIGhhdmUgb3RoZXIgcmVhc29ucyBmb3Igbm90
IGluc2VydGluZyBjb250cm9sIGZsb3cKICAgICAgICAgLy8gYmVmb3JlIFNTQS4KICAgICAgICAg
CiAgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogY291bnRWYXJpYWJsZSA9IG5ld1ZhcmlhYmxl
QWNjZXNzRGF0YShWaXJ0dWFsUmVnaXN0ZXIocmVtYXBwZWRSZWdpc3Rlck9mZnNldCArIENhbGxG
cmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQpKTsKICAgICAgICAgLy8gVGhpcyBpcyBwcmV0dHkgbGFt
ZSwgYnV0IGl0IHdpbGwgZm9yY2UgdGhlIGNvdW50IHRvIGJlIGZsdXNoZWQgYXMgYW4gaW50LiBU
aGlzIGRvZXNuJ3QKLSAgICAgICAgLy8gbWF0dGVyIHZlcnkgbXVjaCwgc2luY2Ugb3VyIHVzZSBv
ZiBhIFNldEFyZ3VtZW50IGFuZCBGbHVzaGVzIGZvciB0aGlzIGxvY2FsIHNsb3QgaXMKKyAgICAg
ICAgLy8gbWF0dGVyIHZlcnkgbXVjaCwgc2luY2Ugb3VyIHVzZSBvZiBhIFNldEFyZ3VtZW50RGVm
aW5pdGVseSBhbmQgRmx1c2hlcyBmb3IgdGhpcyBsb2NhbCBzbG90IGlzCiAgICAgICAgIC8vIG1v
c3RseSBqdXN0IGEgZm9ybWFsaXR5LgogICAgICAgICBjb3VudFZhcmlhYmxlLT5wcmVkaWN0KFNw
ZWNJbnQzMk9ubHkpOwogICAgICAgICBjb3VudFZhcmlhYmxlLT5tZXJnZUlzUHJvZml0YWJsZVRv
VW5ib3godHJ1ZSk7Ci0gICAgICAgIE5vZGUqIHNldEFyZ3VtZW50Q291bnQgPSBhZGRUb0dyYXBo
KFNldEFyZ3VtZW50LCBPcEluZm8oY291bnRWYXJpYWJsZSkpOworICAgICAgICBOb2RlKiBzZXRB
cmd1bWVudENvdW50ID0gYWRkVG9HcmFwaChTZXRBcmd1bWVudERlZmluaXRlbHksIE9wSW5mbyhj
b3VudFZhcmlhYmxlKSk7CiAgICAgICAgIG1fY3VycmVudEJsb2NrLT52YXJpYWJsZXNBdFRhaWwu
c2V0T3BlcmFuZChjb3VudFZhcmlhYmxlLT5sb2NhbCgpLCBzZXRBcmd1bWVudENvdW50KTsKICAg
ICAgICAgCiAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoYXJndW1lbnRTdGFydCksIGdldCh0
aGlzQXJndW1lbnQpLCBJbW1lZGlhdGVOYWtlZFNldCk7CkBAIC0xODgzLDcgKzE4ODIsNyBAQCBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdzSW5saW5pCiAgICAgICAgICAgICAgICAg
dmFyaWFibGUtPnByZWRpY3QocHJvZmlsZS5jb21wdXRlVXBkYXRlZFByZWRpY3Rpb24obG9ja2Vy
KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIE5vZGUqIHNldEFy
Z3VtZW50ID0gYWRkVG9HcmFwaChTZXRBcmd1bWVudCwgT3BJbmZvKHZhcmlhYmxlKSk7CisgICAg
ICAgICAgICBOb2RlKiBzZXRBcmd1bWVudCA9IGFkZFRvR3JhcGgoU2V0QXJndW1lbnREZWZpbml0
ZWx5LCBPcEluZm8odmFyaWFibGUpKTsKICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrLT52YXJp
YWJsZXNBdFRhaWwuc2V0T3BlcmFuZCh2YXJpYWJsZS0+bG9jYWwoKSwgc2V0QXJndW1lbnQpOwog
ICAgICAgICB9CiAgICAgfTsKQEAgLTQ2NzAsNyArNDY2OSw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJz
ZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgQXJndW1lbnRzVmVjdG9yJiBlbnRyeXBv
aW50QXJndW1lbnRzID0gYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKICAgICAgICAgZW50cnlw
b2ludEFyZ3VtZW50cy5yZXNpemUobV9udW1Bcmd1bWVudHMpOwogCi0gICAgICAgIC8vIFdlIHdp
bGwgZW1pdCBTZXRBcmd1bWVudCBub2Rlcy4gVGhleSBkb24ndCBleGl0LCBidXQgd2UncmUgYXQg
dGhlIHRvcCBvZiBhbiBvcF9lbnRlciBzbworICAgICAgICAvLyBXZSB3aWxsIGVtaXQgU2V0QXJn
dW1lbnREZWZpbml0ZWx5IG5vZGVzLiBUaGV5IGRvbid0IGV4aXQsIGJ1dCB3ZSdyZSBhdCB0aGUg
dG9wIG9mIGFuIG9wX2VudGVyIHNvCiAgICAgICAgIC8vIGV4aXRPSyA9IHRydWUuCiAgICAgICAg
IG1fZXhpdE9LID0gdHJ1ZTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBhcmd1bWVudCA9IDA7IGFy
Z3VtZW50IDwgbV9udW1Bcmd1bWVudHM7ICsrYXJndW1lbnQpIHsKQEAgLTQ2ODEsNyArNDY4MCw3
IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAg
IHZhcmlhYmxlLT5tZXJnZUNoZWNrQXJyYXlIb2lzdGluZ0ZhaWxlZCgKICAgICAgICAgICAgICAg
ICBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudElu
ZGV4LCBCYWRJbmRleGluZ1R5cGUpKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgTm9kZSog
c2V0QXJndW1lbnQgPSBhZGRUb0dyYXBoKFNldEFyZ3VtZW50LCBPcEluZm8odmFyaWFibGUpKTsK
KyAgICAgICAgICAgIE5vZGUqIHNldEFyZ3VtZW50ID0gYWRkVG9HcmFwaChTZXRBcmd1bWVudERl
ZmluaXRlbHksIE9wSW5mbyh2YXJpYWJsZSkpOwogICAgICAgICAgICAgZW50cnlwb2ludEFyZ3Vt
ZW50c1thcmd1bWVudF0gPSBzZXRBcmd1bWVudDsKICAgICAgICAgICAgIG1fY3VycmVudEJsb2Nr
LT52YXJpYWJsZXNBdFRhaWwuc2V0QXJndW1lbnRGaXJzdFRpbWUoYXJndW1lbnQsIHNldEFyZ3Vt
ZW50KTsKICAgICAgICAgfQpAQCAtNjAwNyw3ICs2MDA2LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgLy8KICAgICAgICAgICAgIC8vIFRo
ZSBub2RlcyB0aGF0IGZvbGxvdyBoZXJlIGFsbCBleGl0IHRvIHRoZSBmb2xsb3dpbmcgYnl0ZWNv
ZGUgaW5zdHJ1Y3Rpb24sIG5vdAogICAgICAgICAgICAgLy8gdGhlIG9wX2NhdGNoLiBFeGl0aW5n
IHRvIG9wX2NhdGNoIGlzIHJlc2VydmVkIGZvciB3aGVuIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24u
Ci0gICAgICAgICAgICAvLyBUaGUgU2V0QXJndW1lbnQgbm9kZXMgdGhhdCBmb2xsb3cgYmVsb3cg
bWF5IGV4aXQgYmVjYXVzZSB3ZSBtYXkgaG9pc3QgdHlwZSBjaGVja3MKKyAgICAgICAgICAgIC8v
IFRoZSBTZXRBcmd1bWVudERlZmluaXRlbHkgbm9kZXMgdGhhdCBmb2xsb3cgYmVsb3cgbWF5IGV4
aXQgYmVjYXVzZSB3ZSBtYXkgaG9pc3QgdHlwZSBjaGVja3MKICAgICAgICAgICAgIC8vIHRvIHRo
ZW0uIFRoZSBTZXRMb2NhbCBub2RlcyB0aGF0IGZvbGxvdyBiZWxvdyBtYXkgZXhpdCBiZWNhdXNl
IHdlIG1heSBjaG9vc2UKICAgICAgICAgICAgIC8vIGEgZmx1c2ggZm9ybWF0IHRoYXQgc3BlY3Vs
YXRlcyBvbiB0aGUgdHlwZSBvZiB0aGUgbG9jYWwuCiAgICAgICAgICAgICBtX2V4aXRPSyA9IHRy
dWU7IApAQCAtNjAzMCw3ICs2MDI5LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9j
ayh1bnNpZ25lZAogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS0+bWVyZ2VDaGVja0FycmF5
SG9pc3RpbmdGYWlsZWQoCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2lubGluZVN0YWNrVG9w
LT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKGV4aXRCeXRlY29kZUluZGV4LCBCYWRJbmRleGlu
Z1R5cGUpKTsKIAotICAgICAgICAgICAgICAgICAgICBOb2RlKiBzZXRBcmd1bWVudCA9IGFkZFRv
R3JhcGgoU2V0QXJndW1lbnQsIE9wSW5mbyh2YXJpYWJsZSkpOworICAgICAgICAgICAgICAgICAg
ICBOb2RlKiBzZXRBcmd1bWVudCA9IGFkZFRvR3JhcGgoU2V0QXJndW1lbnREZWZpbml0ZWx5LCBP
cEluZm8odmFyaWFibGUpKTsKICAgICAgICAgICAgICAgICAgICAgc2V0QXJndW1lbnQtPm9yaWdp
bi5mb3JFeGl0ID0gQ29kZU9yaWdpbihleGl0Qnl0ZWNvZGVJbmRleCwgc2V0QXJndW1lbnQtPm9y
aWdpbi5mb3JFeGl0LmlubGluZUNhbGxGcmFtZSgpKTsKICAgICAgICAgICAgICAgICAgICAgbV9j
dXJyZW50QmxvY2stPnZhcmlhYmxlc0F0VGFpbC5zZXRBcmd1bWVudEZpcnN0VGltZShhcmd1bWVu
dCwgc2V0QXJndW1lbnQpOwogICAgICAgICAgICAgICAgICAgICBlbnRyeXBvaW50QXJndW1lbnRz
W2FyZ3VtZW50XSA9IHNldEFyZ3VtZW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwCShyZXZpc2lvbiAyNDQxOTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5jaGlsZDEoKS0+b3Ao
KSkgewogICAgICAgICAgICAgICAgICAgICBjYXNlIFBoaToKLSAgICAgICAgICAgICAgICAgICAg
Y2FzZSBTZXRBcmd1bWVudDoKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudERl
ZmluaXRlbHk6CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgU2V0TG9jYWw6CiAgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0UGhhbnRvbVRvUGhhbnRvbUxvY2FsKCk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE2OSwxNiArMTY5LDE2IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2stPnZhcmlhYmxlc0F0VGFpbC5hdEZvcjxvcGVy
YW5kS2luZD4oaWR4KSA9IG5vZGU7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgQVNTRVJUKG90aGVyTm9kZS0+b3AoKSA9PSBT
ZXRMb2NhbCB8fCBvdGhlck5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQpOworICAgICAgICAgICAg
ICAgIEFTU0VSVChvdGhlck5vZGUtPm9wKCkgPT0gU2V0TG9jYWwgfHwgb3RoZXJOb2RlLT5vcCgp
ID09IFNldEFyZ3VtZW50RGVmaW5pdGVseSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgCi0gICAgICAgICAgICBBU1NFUlQob3RoZXJOb2RlLT5vcCgpID09IFNldExv
Y2FsIHx8IG90aGVyTm9kZS0+b3AoKSA9PSBTZXRBcmd1bWVudCB8fCBvdGhlck5vZGUtPm9wKCkg
PT0gR2V0TG9jYWwpOworICAgICAgICAgICAgQVNTRVJUKG90aGVyTm9kZS0+b3AoKSA9PSBTZXRM
b2NhbCB8fCBvdGhlck5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnREZWZpbml0ZWx5IHx8IG90aGVy
Tm9kZS0+b3AoKSA9PSBHZXRMb2NhbCk7CiAgICAgICAgICAgICBBU1NFUlQob3RoZXJOb2RlLT52
YXJpYWJsZUFjY2Vzc0RhdGEoKSA9PSB2YXJpYWJsZSk7CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmIChvdGhlck5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQpIHsKKyAgICAgICAgICAgIGlm
IChvdGhlck5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnREZWZpbml0ZWx5KSB7CiAgICAgICAgICAg
ICAgICAgdmFyaWFibGUtPnNldElzTG9hZGVkRnJvbSh0cnVlKTsKICAgICAgICAgICAgICAgICBu
b2RlLT5jaGlsZHJlbi5zZXRDaGlsZDEoRWRnZShvdGhlck5vZGUpKTsKICAgICAgICAgICAgICAg
ICBtX2Jsb2NrLT52YXJpYWJsZXNBdFRhaWwuYXRGb3I8b3BlcmFuZEtpbmQ+KGlkeCkgPSBub2Rl
OwpAQCAtMjMwLDcgKzIzMCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEFTU0VSVChvdGhlck5vZGUt
Pm9wKCkgPT0gUGhpIHx8IG90aGVyTm9kZS0+b3AoKSA9PSBTZXRMb2NhbCB8fCBvdGhlck5vZGUt
Pm9wKCkgPT0gU2V0QXJndW1lbnQpOworICAgICAgICAgICAgQVNTRVJUKG90aGVyTm9kZS0+b3Ao
KSA9PSBQaGkgfHwgb3RoZXJOb2RlLT5vcCgpID09IFNldExvY2FsIHx8IG90aGVyTm9kZS0+b3Ao
KSA9PSBTZXRBcmd1bWVudERlZmluaXRlbHkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBp
ZiAobm9kZVR5cGUgPT0gUGhhbnRvbUxvY2FsICYmIG90aGVyTm9kZS0+b3AoKSA9PSBTZXRMb2Nh
bCkgewogICAgICAgICAgICAgICAgIC8vIFBoYW50b21Mb2NhbChTZXRMb2NhbCkgZG9lc24ndCBt
YWtlIHNlbnNlLiBQaGFudG9tTG9jYWwgbWVhbnM6IGF0IHRoaXMKQEAgLTI5NywxMiArMjk3LDEy
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAvLyBUaGUgcnVsZXMgZm9yIHRocmVhZGVkIENQUyBm
b3JtOgogICAgICAgICAgICAgLy8gCiAgICAgICAgICAgICAvLyBIZWFkIHZhcmlhYmxlOiBkZXNj
cmliZXMgd2hhdCBpcyBsaXZlIGF0IHRoZSBoZWFkIG9mIHRoZSBiYXNpYyBibG9jay4KLSAgICAg
ICAgICAgIC8vIEhlYWQgdmFyaWFibGUgbGlua3MgbWF5IHJlZmVyIHRvIEZsdXNoLCBQaGFudG9t
TG9jYWwsIFBoaSwgb3IgU2V0QXJndW1lbnQuCi0gICAgICAgICAgICAvLyBTZXRBcmd1bWVudCBt
YXkgb25seSBhcHBlYXIgaW4gdGhlIHJvb3QgYmxvY2suCisgICAgICAgICAgICAvLyBIZWFkIHZh
cmlhYmxlIGxpbmtzIG1heSByZWZlciB0byBGbHVzaCwgUGhhbnRvbUxvY2FsLCBQaGksIG9yIFNl
dEFyZ3VtZW50RGVmaW5pdGVseS4KKyAgICAgICAgICAgIC8vIFNldEFyZ3VtZW50RGVmaW5pdGVs
eSBtYXkgb25seSBhcHBlYXIgaW4gdGhlIHJvb3QgYmxvY2suCiAgICAgICAgICAgICAvLwogICAg
ICAgICAgICAgLy8gVGFpbCB2YXJpYWJsZTogdGhlIGxhc3QgdGhpbmcgdGhhdCBoYXBwZW5lZCB0
byB0aGUgdmFyaWFibGUgaW4gdGhlIGJsb2NrLgotICAgICAgICAgICAgLy8gSXQgbWF5IGJlIGEg
Rmx1c2gsIFBoYW50b21Mb2NhbCwgR2V0TG9jYWwsIFNldExvY2FsLCBTZXRBcmd1bWVudCwgb3Ig
UGhpLgotICAgICAgICAgICAgLy8gU2V0QXJndW1lbnQgbWF5IG9ubHkgYXBwZWFyIGluIHRoZSBy
b290IGJsb2NrLiBOb3RlIHRoYXQgaWYgdGhlcmUgZXZlcgorICAgICAgICAgICAgLy8gSXQgbWF5
IGJlIGEgRmx1c2gsIFBoYW50b21Mb2NhbCwgR2V0TG9jYWwsIFNldExvY2FsLCBTZXRBcmd1bWVu
dERlZmluaXRlbHksIG9yIFBoaS4KKyAgICAgICAgICAgIC8vIFNldEFyZ3VtZW50RGVmaW5pdGVs
eSBtYXkgb25seSBhcHBlYXIgaW4gdGhlIHJvb3QgYmxvY2suIE5vdGUgdGhhdCBpZiB0aGVyZSBl
dmVyCiAgICAgICAgICAgICAvLyB3YXMgYSBHZXRMb2NhbCB0byB0aGUgdmFyaWFibGUsIGFuZCBp
dCB3YXMgZm9sbG93ZWQgYnkgUGhhbnRvbUxvY2FscyBhbmQKICAgICAgICAgICAgIC8vIEZsdXNo
ZXMgYnV0IG5vdCBTZXRMb2NhbHMsIHRoZW4gdGhlIHRhaWwgdmFyaWFibGUgd2lsbCBiZSB0aGUg
R2V0TG9jYWwuCiAgICAgICAgICAgICAvLyBUaGlzIHJlZmxlY3RzIHRoZSBmYWN0IHRoYXQgeW91
IG9ubHkgY2FyZSB0aGF0IHRoZSB0YWlsIHZhcmlhYmxlIGlzIGEKQEAgLTMxMSwyMiArMzExLDIy
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAvLyB2YXJpYWJsZSB3aWxsIGJlIGEgU2V0TG9jYWwg
YW5kIG5vdCB0aG9zZSBzdWJzZXF1ZW50IEZsdXNoZXMuCiAgICAgICAgICAgICAvLwogICAgICAg
ICAgICAgLy8gQ2hpbGQgb2YgR2V0TG9jYWw6IHRoZSBvcGVyYXRpb24gdGhhdCB0aGUgR2V0TG9j
YWwga2VlcHMgYWxpdmUuIEl0IG1heSBiZQotICAgICAgICAgICAgLy8gYSBQaGkgZnJvbSB0aGUg
Y3VycmVudCBibG9jay4gRm9yIGFyZ3VtZW50cywgaXQgbWF5IGJlIGEgU2V0QXJndW1lbnQuCisg
ICAgICAgICAgICAvLyBhIFBoaSBmcm9tIHRoZSBjdXJyZW50IGJsb2NrLiBGb3IgYXJndW1lbnRz
LCBpdCBtYXkgYmUgYSBTZXRBcmd1bWVudERlZmluaXRlbHkuCiAgICAgICAgICAgICAvLwogICAg
ICAgICAgICAgLy8gQ2hpbGQgb2YgU2V0TG9jYWw6IG11c3QgYmUgYSB2YWx1ZSBwcm9kdWNpbmcg
bm9kZS4KICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAvLyBDaGlsZCBvZiBGbHVzaDogaXQg
bWF5IGJlIGEgUGhpIGZyb20gdGhlIGN1cnJlbnQgYmxvY2sgb3IgYSBTZXRMb2NhbC4gRm9yCi0g
ICAgICAgICAgICAvLyBhcmd1bWVudHMgaXQgbWF5IGFsc28gYmUgYSBTZXRBcmd1bWVudC4KKyAg
ICAgICAgICAgIC8vIGFyZ3VtZW50cyBpdCBtYXkgYWxzbyBiZSBhIFNldEFyZ3VtZW50RGVmaW5p
dGVseS4KICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAvLyBDaGlsZCBvZiBQaGFudG9tTG9j
YWw6IGl0IG1heSBiZSBhIFBoaSBmcm9tIHRoZSBjdXJyZW50IGJsb2NrLiBGb3IKLSAgICAgICAg
ICAgIC8vIGFyZ3VtZW50cyBpdCBtYXkgYWxzbyBiZSBhIFNldEFyZ3VtZW50LgorICAgICAgICAg
ICAgLy8gYXJndW1lbnRzIGl0IG1heSBhbHNvIGJlIGEgU2V0QXJndW1lbnREZWZpbml0ZWx5Lgog
ICAgICAgICAgICAgLy8KICAgICAgICAgICAgIC8vIENoaWxkcmVuIG9mIFBoaTogb3RoZXIgUGhp
cyBpbiB0aGUgc2FtZSBiYXNpYyBibG9jaywgb3IgYW55IG9mIHRoZQotICAgICAgICAgICAgLy8g
Zm9sbG93aW5nIGZyb20gcHJlZGVjZXNzb3IgYmxvY2tzOiBTZXRMb2NhbCwgUGhpLCBvciBTZXRB
cmd1bWVudC4gVGhlc2UKLSAgICAgICAgICAgIC8vIGFyZSBjb21wdXRlZCBieSBsb29raW5nIGF0
IHRoZSB0YWlsIHZhcmlhYmxlcyBvZiB0aGUgcHJlZGVjZXNzb3IgIGJsb2NrcwotICAgICAgICAg
ICAgLy8gYW5kIGVpdGhlciB1c2luZyBpdCBkaXJlY3RseSAoaWYgaXQncyBhIFNldExvY2FsLCBQ
aGksIG9yIFNldEFyZ3VtZW50KSBvcgorICAgICAgICAgICAgLy8gZm9sbG93aW5nIGZyb20gcHJl
ZGVjZXNzb3IgYmxvY2tzOiBTZXRMb2NhbCwgUGhpLCBvciBTZXRBcmd1bWVudERlZmluaXRlbHku
CisgICAgICAgICAgICAvLyBUaGVzZSBhcmUgY29tcHV0ZWQgYnkgbG9va2luZyBhdCB0aGUgdGFp
bCB2YXJpYWJsZXMgb2YgdGhlIHByZWRlY2Vzc29yIGJsb2NrcworICAgICAgICAgICAgLy8gYW5k
IGVpdGhlciB1c2luZyBpdCBkaXJlY3RseSAoaWYgaXQncyBhIFNldExvY2FsLCBQaGksIG9yIFNl
dEFyZ3VtZW50RGVmaW5pdGVseSkgb3IKICAgICAgICAgICAgIC8vIGxvYWRpbmcgdGhhdCBub2Rl
cyBjaGlsZCAoaWYgaXQncyBhIEdldExvY2FsLCBQaGFub21Mb2NhbCwgb3IgRmx1c2ggLSBhbGwK
LSAgICAgICAgICAgIC8vIG9mIHRoZXNlIHdpbGwgaGF2ZSBjaGlsZHJlbiB0aGF0IGFyZSBTZXRM
b2NhbCwgUGhpLCBvciBTZXRBcmd1bWVudCkuCisgICAgICAgICAgICAvLyBvZiB0aGVzZSB3aWxs
IGhhdmUgY2hpbGRyZW4gdGhhdCBhcmUgU2V0TG9jYWwsIFBoaSwgb3IgU2V0QXJndW1lbnREZWZp
bml0ZWx5KS4KICAgICAgICAgICAgIAogICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7
CiAgICAgICAgICAgICBjYXNlIEdldExvY2FsOgpAQCAtMzQ1LDcgKzM0NSw3IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICAgICAgY2Fub25pY2FsaXplRmx1c2hPclBoYW50b21Mb2NhbDxQaGFudG9t
TG9jYWw+KG5vZGUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudDoKKyAgICAgICAgICAgIGNhc2UgU2V0QXJndW1l
bnREZWZpbml0ZWx5OgogICAgICAgICAgICAgICAgIGNhbm9uaWNhbGl6ZVNldChub2RlKTsKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAKQEAgLTM2NSw3ICszNjUsNyBA
QCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgc3BlY2lhbENhc2VBcmd1bWVudHMoKQogICAgIHsK
LSAgICAgICAgLy8gTm9ybWFsbHksIGEgU2V0QXJndW1lbnQgZGVub3RlcyB0aGUgc3RhcnQgb2Yg
YSBsaXZlIHJhbmdlIGZvciBhIGxvY2FsJ3MgdmFsdWUgb24gdGhlIHN0YWNrLgorICAgICAgICAv
LyBOb3JtYWxseSwgYSBTZXRBcmd1bWVudERlZmluaXRlbHkgZGVub3RlcyB0aGUgc3RhcnQgb2Yg
YSBsaXZlIHJhbmdlIGZvciBhIGxvY2FsJ3MgdmFsdWUgb24gdGhlIHN0YWNrLgogICAgICAgICAv
LyBCdXQgdGhvc2UgU2V0QXJndW1lbnRzIHVzZWQgZm9yIHRoZSBhY3R1YWwgYXJndW1lbnRzIHRv
IHRoZSBtYWNoaW5lIENvZGVCbG9jayBnZXQKICAgICAgICAgLy8gc3BlY2lhbC1jYXNlZC4gV2Ug
Y291bGQgaGF2ZSBpbnN0ZWFkIHVzZWQgdHdvIGRpZmZlcmVudCBub2RlIHR5cGVzIC0gb25lIGZv
ciB0aGUgYXJndW1lbnRzCiAgICAgICAgIC8vIGF0IHRoZSBwcm9sb2d1ZSBjYXNlLCBhbmQgYW5v
dGhlciBmb3IgdGhlIG90aGVyIHVzZXMuIEJ1dCB0aGlzIHNlZW1lZCBsaWtlIElSIG92ZXJraWxs
LgpAQCAtNDIwLDcgKzQyMCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgQVNTRVJUKAog
ICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZUluUHJldmlvdXMtPm9wKCkgPT0gU2V0TG9jYWwK
ICAgICAgICAgICAgICAgICAgICAgfHwgdmFyaWFibGVJblByZXZpb3VzLT5vcCgpID09IFBoaQot
ICAgICAgICAgICAgICAgICAgICB8fCB2YXJpYWJsZUluUHJldmlvdXMtPm9wKCkgPT0gU2V0QXJn
dW1lbnQpOworICAgICAgICAgICAgICAgICAgICB8fCB2YXJpYWJsZUluUHJldmlvdXMtPm9wKCkg
PT0gU2V0QXJndW1lbnREZWZpbml0ZWx5KTsKICAgICAgICAgICAKICAgICAgICAgICAgICAgICBp
ZiAoIWN1cnJlbnRQaGktPmNoaWxkMSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQ
aGktPmNoaWxkcmVuLnNldENoaWxkMShFZGdlKHZhcmlhYmxlSW5QcmV2aW91cykpOwpAQCAtNDgy
LDcgKzQ4Miw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBOb2RlKiBub2RlID0gbV9mbHVzaGVk
TG9jYWxPcFdvcmtsaXN0LnRha2VMYXN0KCk7CiAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9w
KCkpIHsKICAgICAgICAgICAgIGNhc2UgU2V0TG9jYWw6Ci0gICAgICAgICAgICBjYXNlIFNldEFy
Z3VtZW50OgorICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudERlZmluaXRlbHk6CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBjYXNlIEZsdXNo
OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHJldmlz
aW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NTAsNyArNDUwLDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBo
JiBncmFwaCwgTm9kZSogbm9kZQogICAgIGNhc2UgVXBzaWxvbjoKICAgICBjYXNlIFBoaToKICAg
ICBjYXNlIFBoYW50b21Mb2NhbDoKLSAgICBjYXNlIFNldEFyZ3VtZW50OgorICAgIGNhc2UgU2V0
QXJndW1lbnREZWZpbml0ZWx5OgogICAgIGNhc2UgSnVtcDoKICAgICBjYXNlIEJyYW5jaDoKICAg
ICBjYXNlIFN3aXRjaDoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaAko
cmV2aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMTczLDcgKzE3Myw3IEBAIGVudW0gR3JhcGhGb3JtIHsKICAg
ICAvLyBtb3N0IGxpa2VseSkgdGhlbiBpdCBpbXBsaWVzIHRoYXQgdGhlIGxvY2FsIGlzIHN0aWxs
IGxpdmUgYnV0IHRoYXQgaXQgbmVlZAogICAgIC8vIG5vdCBiZSBzdG9yZWQgdG8gdGhlIHN0YWNr
IG5lY2Vzc2FyaWx5LiBUaGlzIGltcGxpZXMgdGhhdCBQaGFudG9tIGNhbgogICAgIC8vIHJlZmVy
ZW5jZSBub2RlcyB0aGF0IGhhdmUgbm8gcmVzdWx0LCBhcyBsb25nIGFzIHRob3NlIG5vZGVzIGFy
ZSB2YWxpZAotICAgIC8vIEdldExvY2FsIGNoaWxkcmVuIChpLmUuIFBoaSwgU2V0TG9jYWwsIFNl
dEFyZ3VtZW50KS4KKyAgICAvLyBHZXRMb2NhbCBjaGlsZHJlbiAoaS5lLiBQaGksIFNldExvY2Fs
LCBTZXRBcmd1bWVudERlZmluaXRlbHkpLgogICAgIC8vCiAgICAgLy8gTG9hZFN0b3JlIGZvcm0g
YWxzbyBpbXBsaWVzIHRoYXQgUGhpcyBuZWVkIG5vdCBoYXZlIGNoaWxkcmVuLiBCeSBkZWZhdWx0
LAogICAgIC8vIHRoZXkgZW5kIHVwIGhhdmluZyBubyBjaGlsZHJlbiBpZiB5b3UgZW50ZXIgTG9h
ZFN0b3JlIHVzaW5nIHRoZSBjYW5vbmljYWwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRG9lc0dDLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0RvZXNHQy5jcHAJKHJldmlzaW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNyBAQCBib29s
IGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQaGk6CiAgICAgY2Fz
ZSBGbHVzaDoKICAgICBjYXNlIFBoYW50b21Mb2NhbDoKLSAgICBjYXNlIFNldEFyZ3VtZW50Ogor
ICAgIGNhc2UgU2V0QXJndW1lbnREZWZpbml0ZWx5OgogICAgIGNhc2UgQXJpdGhCaXROb3Q6CiAg
ICAgY2FzZSBBcml0aEJpdEFuZDoKICAgICBjYXNlIEFyaXRoQml0T3I6CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAJKHJldmlzaW9uIDI0NDE5MikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIzMjQsNyArMjMyNCw3IEBAIHByaXZhdGU6CiAKICNpZiAhQVNTRVJUX0RJU0FC
TEVECiAgICAgICAgIC8vIEhhdmUgdGhlc2Ugbm8tb3AgY2FzZXMgaGVyZSB0byBlbnN1cmUgdGhh
dCBub2JvZHkgZm9yZ2V0cyB0byBhZGQgaGFuZGxlcnMgZm9yIG5ldyBvcGNvZGVzLgotICAgICAg
ICBjYXNlIFNldEFyZ3VtZW50OgorICAgICAgICBjYXNlIFNldEFyZ3VtZW50RGVmaW5pdGVseToK
ICAgICAgICAgY2FzZSBKU0NvbnN0YW50OgogICAgICAgICBjYXNlIExhenlKU0NvbnN0YW50Ogog
ICAgICAgICBjYXNlIERvdWJsZUNvbnN0YW50OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEyLDcgKzE2MTIsNyBAQCBN
ZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlIEdyYXBoOjptZXRoCiAgICAgICAgICAgICAgICAg
aWYgKG1fZm9ybSAhPSBTU0EgJiYgbm9kZS0+bG9jYWwoKS5pc0FyZ3VtZW50KCkpIHsKICAgICAg
ICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50ID0gbm9kZS0+bG9jYWwoKS50b0FyZ3VtZW50KCk7
CiAgICAgICAgICAgICAgICAgICAgIE5vZGUqIGFyZ3VtZW50Tm9kZSA9IG1fcm9vdFRvQXJndW1l
bnRzLmZpbmQoYmxvY2soMCkpLT52YWx1ZVthcmd1bWVudF07Ci0gICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgbWF0Y2ggU2V0QXJndW1lbnQgbm9kZXMgYXQgb3RoZXIgZW50
cnlwb2ludHMgYXMgd2VsbDoKKyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBtYXRjaCBTZXRBcmd1bWVudERlZmluaXRlbHkgbm9kZXMgYXQgb3RoZXIgZW50cnlwb2ludHMg
YXMgd2VsbDoKICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NTg0MQogICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRO
b2RlICYmIG5vZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpID09IGFyZ3VtZW50Tm9kZS0+dmFyaWFi
bGVBY2Nlc3NEYXRhKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJnByb2ZpbGVk
QmxvY2stPnZhbHVlUHJvZmlsZUZvckFyZ3VtZW50KGFyZ3VtZW50KTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBjb3B5KQpAQCAtOTg1LDcgKzk4NSw3
IEBAIHB1YmxpYzoKICAgICAKICAgICBCYWc8U3RvcmFnZUFjY2Vzc0RhdGE+IG1fc3RvcmFnZUFj
Y2Vzc0RhdGE7CiAgICAgCi0gICAgLy8gSW4gQ1BTLCB0aGlzIGlzIGFsbCBvZiB0aGUgU2V0QXJn
dW1lbnQgbm9kZXMgZm9yIHRoZSBhcmd1bWVudHMgaW4gdGhlIG1hY2hpbmUgY29kZSBibG9jawor
ICAgIC8vIEluIENQUywgdGhpcyBpcyBhbGwgb2YgdGhlIFNldEFyZ3VtZW50RGVmaW5pdGVseSBu
b2RlcyBmb3IgdGhlIGFyZ3VtZW50cyBpbiB0aGUgbWFjaGluZSBjb2RlIGJsb2NrCiAgICAgLy8g
dGhhdCBzdXJ2aXZlZCBEQ0UuIEFsbCBvZiB0aGVtIGV4Y2VwdCBtYXliZSAidGhpcyIgd2lsbCBz
dXJ2aXZlIERDRSwgYmVjYXVzZSBvZiB0aGUgRmx1c2gKICAgICAvLyBub2Rlcy4gSW4gU1NBLCB0
aGlzIGhhcyBubyBtZWFuaW5nLiBJdCdzIGVtcHR5LgogICAgIEhhc2hNYXA8QmFzaWNCbG9jayos
IEFyZ3VtZW50c1ZlY3Rvcj4gbV9yb290VG9Bcmd1bWVudHM7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRlLmNwcAkocmV2
aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdJblBsYWNlQWJz
dHJhY3RTdGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIElu
UGxhY2VBYnN0cmFjdFN0YXRlOjppbml0aWFsaXplKCkKICAgICAgICAgICAgICAgICBpZiAoIW5v
ZGUpCiAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9IEZsdXNoZWRKU1ZhbHVlOwogICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBBU1NFUlQobm9kZS0+b3AoKSA9
PSBTZXRBcmd1bWVudCk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLT5vcCgpID09
IFNldEFyZ3VtZW50RGVmaW5pdGVseSk7CiAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9IG5v
ZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpLT5mbHVzaEZvcm1hdCgpOwogICAgICAgICAgICAgICAg
IH0KIApAQCAtMjM0LDcgKzIzNCw3IEBAIGJvb2wgSW5QbGFjZUFic3RyYWN0U3RhdGU6OmVuZEJh
c2ljQmxvY2sKICAgICAgICAgICAgIAogICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7
CiAgICAgICAgICAgICBjYXNlIFBoaToKLSAgICAgICAgICAgIGNhc2UgU2V0QXJndW1lbnQ6Cisg
ICAgICAgICAgICBjYXNlIFNldEFyZ3VtZW50RGVmaW5pdGVseToKICAgICAgICAgICAgIGNhc2Ug
UGhhbnRvbUxvY2FsOgogICAgICAgICAgICAgY2FzZSBGbHVzaDogewogICAgICAgICAgICAgICAg
IC8vIFRoZSBibG9jayB0cmFuc2ZlcnMgdGhlIHZhbHVlIGZyb20gaGVhZCB0byB0YWlsLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAyNDQxOTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2Vy
dmF0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgsNyArMTk4LDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgICAgIGN1cnJlbnRFeGNlcHRpb25IYW5kbGVyID0gbmV3SGFuZGxlcjsK
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKGN1cnJlbnRFeGNlcHRpb25IYW5kbGVy
ICYmIChub2RlLT5vcCgpID09IFNldExvY2FsIHx8IG5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQp
KSB7CisgICAgICAgICAgICBpZiAoY3VycmVudEV4Y2VwdGlvbkhhbmRsZXIgJiYgKG5vZGUtPm9w
KCkgPT0gU2V0TG9jYWwgfHwgbm9kZS0+b3AoKSA9PSBTZXRBcmd1bWVudERlZmluaXRlbHkpKSB7
CiAgICAgICAgICAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgPSBub2Rl
LT5vcmlnaW4uc2VtYW50aWMuaW5saW5lQ2FsbEZyYW1lKCk7CiAgICAgICAgICAgICAgICAgaWYg
KGlubGluZUNhbGxGcmFtZSkKICAgICAgICAgICAgICAgICAgICAgc2VlbklubGluZUNhbGxGcmFt
ZXMuYWRkKGlubGluZUNhbGxGcmFtZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmNwcAkocmV2
aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXhpbWFsRmx1
c2hJbnNlcnRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDEzICs3MCwxMyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUo
KTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChpKTsKICAg
ICAgICAgICAgICAgICBib29sIGlzUHJpbW9yZGlhbFNldEFyZ3VtZW50ID0gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQgJiYgbm9kZS0+bG9jYWwo
KS5pc0FyZ3VtZW50KCkpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBTZXRB
cmd1bWVudERlZmluaXRlbHkgJiYgbm9kZS0+bG9jYWwoKS5pc0FyZ3VtZW50KCkpIHsKICAgICAg
ICAgICAgICAgICAgICAgYXV0byBpdGVyID0gbV9ncmFwaC5tX3Jvb3RUb0FyZ3VtZW50cy5maW5k
KGJsb2NrKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gbV9ncmFwaC5tX3Jvb3RU
b0FyZ3VtZW50cy5lbmQoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGlzUHJpbW9yZGlhbFNl
dEFyZ3VtZW50ID0gbm9kZSA9PSBpdGVyLT52YWx1ZVtub2RlLT5sb2NhbCgpLnRvQXJndW1lbnQo
KV07CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkg
PT0gU2V0TG9jYWwgfHwgKG5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQgJiYgIWlzUHJpbW9yZGlh
bFNldEFyZ3VtZW50KSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlLT5vcCgpID09IFNldExv
Y2FsIHx8IChub2RlLT5vcCgpID09IFNldEFyZ3VtZW50RGVmaW5pdGVseSAmJiAhaXNQcmltb3Jk
aWFsU2V0QXJndW1lbnQpKSB7CiAgICAgICAgICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciBv
cGVyYW5kID0gbm9kZS0+bG9jYWwoKTsKICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVBY2Nl
c3NEYXRhKiBmbHVzaEFjY2Vzc0RhdGEgPSBjdXJyZW50QmxvY2tBY2Nlc3NEYXRhLm9wZXJhbmQo
b3BlcmFuZCk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghZmx1c2hBY2Nlc3NEYXRhKQpAQCAt
MTM2LDcgKzEzNiw3IEBAIHB1YmxpYzoKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgYmxvY2stPnZhcmlhYmxlc0F0VGFpbC5udW1iZXJPZkxvY2FscygpOyBpKyspIHsKICAgICAg
ICAgICAgIFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kID0gdmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwo
aSk7Ci0gICAgICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG51bGxwdHIsIGluaXRpYWxBY2Nl
c3NOb2Rlcy5vcGVyYW5kKG9wZXJhbmQpLT5vcCgpID09IEZsdXNoKTsgLy8gV2Ugc2hvdWxkIGhh
dmUgaW5zZXJ0ZWQgYSBGbHVzaCBiZWZvcmUgYW55IFNldExvY2FsL1NldEFyZ3VtZW50IGZvciB0
aGUgbG9jYWwgdGhhdCB3ZSBhcmUgYW5hbHl6aW5nIG5vdy4KKyAgICAgICAgICAgIERGR19BU1NF
UlQobV9ncmFwaCwgbnVsbHB0ciwgaW5pdGlhbEFjY2Vzc05vZGVzLm9wZXJhbmQob3BlcmFuZCkt
Pm9wKCkgPT0gRmx1c2gpOyAvLyBXZSBzaG91bGQgaGF2ZSBpbnNlcnRlZCBhIEZsdXNoIGJlZm9y
ZSBhbnkgU2V0TG9jYWwvU2V0QXJndW1lbnREZWZpbml0ZWx5IGZvciB0aGUgbG9jYWwgdGhhdCB3
ZSBhcmUgYW5hbHl6aW5nIG5vdy4KICAgICAgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogYWNj
ZXNzRGF0YSA9IGluaXRpYWxBY2Nlc3NEYXRhLm9wZXJhbmQob3BlcmFuZCk7CiAgICAgICAgICAg
ICBERkdfQVNTRVJUKG1fZ3JhcGgsIG51bGxwdHIsIGFjY2Vzc0RhdGEpOwogICAgICAgICAgICAg
aW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoMCwgU3BlY05vbmUsIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCShyZXZpc2lvbiAyNDQxOTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3
ICs0Nyw3IEBAIEV4aXRNb2RlIG1heUV4aXRJbXBsKEdyYXBoJiBncmFwaCwgTm9kZSoKICAgICAv
LyBUaGlzIGlzIGEgY2FyZWZ1bGx5IGN1cmF0ZWQgbGlzdCBvZiBub2RlcyB0aGF0IGRlZmluaXRl
bHkgZG8gbm90IGV4aXQuIFdlIHRyeSB0byBiZSB2ZXJ5CiAgICAgLy8gY29uc2VydmF0aXZlIHdo
ZW4gbWFpbnRhaW5pbmcgdGhpcyBsaXN0LCBiZWNhdXNlIGFkZGluZyBuZXcgbm9kZSB0eXBlcyB0
byBpdCBkb2Vzbid0CiAgICAgLy8gZ2VuZXJhbGx5IG1ha2UgdGhpbmdzIGEgbG90IGJldHRlciBi
dXQgaXQgbWlnaHQgaW50cm9kdWNlIHN1YnRsZSBidWdzLgotICAgIGNhc2UgU2V0QXJndW1lbnQ6
CisgICAgY2FzZSBTZXRBcmd1bWVudERlZmluaXRlbHk6CiAgICAgY2FzZSBKU0NvbnN0YW50Ogog
ICAgIGNhc2UgRG91YmxlQ29uc3RhbnQ6CiAgICAgY2FzZSBMYXp5SlNDb25zdGFudDoKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAkocmV2aXNpb24gMjQ0MTkyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzMsNyArNzMsNyBAQCBib29sIE5vZGU6Omhhc1ZhcmlhYmxlQWNjZXNzRGF0YShHcmFwaCYgCiAg
ICAgICAgIHJldHVybiBncmFwaC5tX2Zvcm0gIT0gU1NBOwogICAgIGNhc2UgR2V0TG9jYWw6CiAg
ICAgY2FzZSBTZXRMb2NhbDoKLSAgICBjYXNlIFNldEFyZ3VtZW50OgorICAgIGNhc2UgU2V0QXJn
dW1lbnREZWZpbml0ZWx5OgogICAgIGNhc2UgRmx1c2g6CiAgICAgY2FzZSBQaGFudG9tTG9jYWw6
CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgJKHJldmlzaW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02ODMsNyArNjgzLDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBjb252ZXJ0UGhhbnRvbVRvUGhhbnRvbUxvY2FsKCkKICAgICB7Ci0gICAgICAgIEFTU0VSVCht
X29wID09IFBoYW50b20gJiYgKGNoaWxkMSgpLT5vcCgpID09IFBoaSB8fCBjaGlsZDEoKS0+b3Ao
KSA9PSBTZXRMb2NhbCB8fCBjaGlsZDEoKS0+b3AoKSA9PSBTZXRBcmd1bWVudCkpOworICAgICAg
ICBBU1NFUlQobV9vcCA9PSBQaGFudG9tICYmIChjaGlsZDEoKS0+b3AoKSA9PSBQaGkgfHwgY2hp
bGQxKCktPm9wKCkgPT0gU2V0TG9jYWwgfHwgY2hpbGQxKCktPm9wKCkgPT0gU2V0QXJndW1lbnRE
ZWZpbml0ZWx5KSk7CiAgICAgICAgIG1fb3AgPSBQaGFudG9tTG9jYWw7CiAgICAgICAgIG1fb3BJ
bmZvID0gY2hpbGQxKCktPm1fb3BJbmZvOyAvLyBDb3B5IHRoZSB2YXJpYWJsZUFjY2Vzc0RhdGEu
CiAgICAgICAgIGNoaWxkcmVuLnNldENoaWxkMShFZGdlKCkpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAkocmV2aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNyAr
MTA0LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKENoZWNr
VGllclVwQXRSZXR1cm4sIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgLyogTWFya2Vy
IGZvciBhbiBhcmd1bWVudCBiZWluZyBzZXQgYXQgdGhlIHByb2xvZ3VlIG9mIGEgZnVuY3Rpb24u
ICovXAotICAgIG1hY3JvKFNldEFyZ3VtZW50LCAwKSBcCisgICAgbWFjcm8oU2V0QXJndW1lbnRE
ZWZpbml0ZWx5LCAwKSBcCiAgICAgXAogICAgIC8qIE1hcmtlciBvZiBsb2NhdGlvbiBpbiB0aGUg
SVIgd2hlcmUgd2UgbWF5IHBvc3NpYmx5IHBlcmZvcm0ganVtcCByZXBsYWNlbWVudCB0byAqL1wK
ICAgICAvKiBpbnZhbGlkYXRlIHRoaXMgY29kZSBibG9jay4gKi9cCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkVudHJ5cG9pbnRDcmVhdGlv
blBoYXNlLmNwcAkocmV2aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
NywxMSArMTE3LDExIEBAIHB1YmxpYzoKICAgICAgICAgZm9yIChpbnQgYXJndW1lbnQgPSAwOyBh
cmd1bWVudCA8IGJhc2VsaW5lLT5udW1QYXJhbWV0ZXJzKCk7ICsrYXJndW1lbnQpIHsKICAgICAg
ICAgICAgIE5vZGUqIG9sZE5vZGUgPSB0YXJnZXQtPnZhcmlhYmxlc0F0SGVhZC5hcmd1bWVudChh
cmd1bWVudCk7CiAgICAgICAgICAgICBpZiAoIW9sZE5vZGUpIHsKLSAgICAgICAgICAgICAgICAv
LyBKdXN0IGZvciBzYW5pdHksIGFsd2F5cyBoYXZlIGEgU2V0QXJndW1lbnQgZXZlbiBpZiBpdCdz
IG5vdCBuZWVkZWQuCisgICAgICAgICAgICAgICAgLy8gSnVzdCBmb3Igc2FuaXR5LCBhbHdheXMg
aGF2ZSBhIFNldEFyZ3VtZW50RGVmaW5pdGVseSBldmVuIGlmIGl0J3Mgbm90IG5lZWRlZC4KICAg
ICAgICAgICAgICAgICBvbGROb2RlID0gbmV3QXJndW1lbnRzW2FyZ3VtZW50XTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBuZXdSb290LT5hcHBlbmROb2RlKAotICAg
ICAgICAgICAgICAgIG1fZ3JhcGgsIFNwZWNOb25lLCBTZXRBcmd1bWVudCwgb3JpZ2luLAorICAg
ICAgICAgICAgICAgIG1fZ3JhcGgsIFNwZWNOb25lLCBTZXRBcmd1bWVudERlZmluaXRlbHksIG9y
aWdpbiwKICAgICAgICAgICAgICAgICBPcEluZm8ob2xkTm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRh
KCkpKTsKICAgICAgICAgICAgIG5ld0FyZ3VtZW50c1thcmd1bWVudF0gPSBub2RlOwogICAgICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BoYW50b21JbnNlcnRpb25Q
aGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQaGFu
dG9tSW5zZXJ0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAyNDQxOTIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BoYW50b21JbnNlcnRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTExNiw3ICsxMTYsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAg
ICAgICAgICAgICBjYXNlIEdldExvY2FsOgotICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudDoK
KyAgICAgICAgICAgIGNhc2UgU2V0QXJndW1lbnREZWZpbml0ZWx5OgogICAgICAgICAgICAgICAg
IG1fdmFsdWVzLm9wZXJhbmQobm9kZS0+bG9jYWwoKSkgPSBudWxscHRyOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAJ
KHJldmlzaW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUxLDcgKzEyNTEs
NyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFByb2ZpbGVUeXBlOgogICAgICAgICBjYXNlIFBy
b2ZpbGVDb250cm9sRmxvdzoKICAgICAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6Ci0gICAgICAgIGNh
c2UgU2V0QXJndW1lbnQ6CisgICAgICAgIGNhc2UgU2V0QXJndW1lbnREZWZpbml0ZWx5OgogICAg
ICAgICBjYXNlIFNldEZ1bmN0aW9uTmFtZToKICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZToK
ICAgICAgICAgY2FzZSBDaGVja0NlbGw6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NTQUNvbnZlcnNpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTU0FDb252ZXJzaW9uUGhhc2UuY3BwCShyZXZpc2lvbiAyNDQxOTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NTQUNvbnZlcnNpb25QaGFzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3Nz
YVZhcmlhYmxlRm9yVmFyaWFibGUuYWRkKCZ2YXJpYWJsZSwgc3NhVmFyaWFibGUpOwogICAgICAg
ICB9CiAgICAgICAgIAotICAgICAgICAvLyBGaW5kIGFsbCBTZXRMb2NhbHMgYW5kIGNyZWF0ZSBE
ZWZzIGZvciB0aGVtLiBXZSBoYW5kbGUgU2V0QXJndW1lbnQgYnkgY3JlYXRpbmcgYQorICAgICAg
ICAvLyBGaW5kIGFsbCBTZXRMb2NhbHMgYW5kIGNyZWF0ZSBEZWZzIGZvciB0aGVtLiBXZSBoYW5k
bGUgU2V0QXJndW1lbnREZWZpbml0ZWx5IGJ5IGNyZWF0aW5nIGEKICAgICAgICAgLy8gR2V0TG9j
YWwsIGFuZCByZWNvcmRpbmcgdGhlIGZsdXNoIGZvcm1hdC4KICAgICAgICAgZm9yIChCbG9ja0lu
ZGV4IGJsb2NrSW5kZXggPSBtX2dyYXBoLm51bUJsb2NrcygpOyBibG9ja0luZGV4LS07KSB7CiAg
ICAgICAgICAgICBCYXNpY0Jsb2NrKiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7
CkBAIC0xNDUsNyArMTQ1LDcgQEAgcHVibGljOgogICAgICAgICAgICAgLy8gYXNzaWdubWVudCBm
b3IgZXZlcnkgbG9jYWwuCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7
IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CiAgICAgICAgICAgICAg
ICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOwotICAgICAgICAgICAgICAgIGlm
IChub2RlLT5vcCgpICE9IFNldExvY2FsICYmIG5vZGUtPm9wKCkgIT0gU2V0QXJndW1lbnQpCisg
ICAgICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgIT0gU2V0TG9jYWwgJiYgbm9kZS0+b3AoKSAh
PSBTZXRBcmd1bWVudERlZmluaXRlbHkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogdmFy
aWFibGUgPSBub2RlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKTsKQEAgLTE1NCw3ICsxNTQsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gU2V0TG9jYWwpCiAgICAg
ICAgICAgICAgICAgICAgIGNoaWxkTm9kZSA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsKICAgICAg
ICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJUKG5vZGUtPm9wKCkg
PT0gU2V0QXJndW1lbnQpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQobm9kZS0+b3AoKSA9
PSBTZXRBcmd1bWVudERlZmluaXRlbHkpOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGUg
PSBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZUluZGV4LCBub2RlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKS0+cHJlZGljdGlvbigpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgR2V0U3RhY2ssIG5vZGUtPm9yaWdpbiwKQEAgLTI1NSwxMiArMjU1
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgLy8KICAgICAgICAgLy8gICAtIFNldExvY2FsIHR1cm5z
IGludG8gUHV0U3RhY2sgaWYgaXQncyBmbHVzaGVkLCBvciB0dXJucyBpbnRvIGEgQ2hlY2sgb3Ro
ZXJ3aXNlLgogICAgICAgICAvLwotICAgICAgICAvLyAgIC0gRmx1c2ggbG9zZXMgaXRzIGNoaWxk
cmVuIGFuZCB0dXJucyBpbnRvIGEgUGhhbnRvbS4KKyAgICAgICAgLy8gICAtIEZsdXNoIGlzIHJl
bW92ZWQuCiAgICAgICAgIC8vCiAgICAgICAgIC8vICAgLSBQaGFudG9tTG9jYWwgYmVjb21lcyBQ
aGFudG9tLCBhbmQgaXRzIGNoaWxkIGlzIHdoYXRldmVyIGlzIHNwZWNpZmllZCBieQogICAgICAg
ICAvLyAgICAgdmFsdWVGb3JPcGVyYW5kLgogICAgICAgICAvLwotICAgICAgICAvLyAgIC0gU2V0
QXJndW1lbnQgaXMgcmVtb3ZlZC4gTm90ZSB0aGF0IEdldFN0YWNrIG5vZGVzIGhhdmUgYWxyZWFk
eSBiZWVuIGluc2VydGVkLgorICAgICAgICAvLyAgIC0gU2V0QXJndW1lbnREZWZpbml0ZWx5IGlz
IHJlbW92ZWQuIE5vdGUgdGhhdCBHZXRTdGFjayBub2RlcyBoYXZlIGFscmVhZHkgYmVlbiBpbnNl
cnRlZC4KICAgICAgICAgT3BlcmFuZHM8Tm9kZSo+IHZhbHVlRm9yT3BlcmFuZChPcGVyYW5kc0xp
a2UsIG1fZ3JhcGguYmxvY2soMCktPnZhcmlhYmxlc0F0SGVhZCk7CiAgICAgICAgIGZvciAoQmFz
aWNCbG9jayogYmxvY2sgOiBtX2dyYXBoLmJsb2Nrc0luUHJlT3JkZXIoKSkgewogICAgICAgICAg
ICAgdmFsdWVGb3JPcGVyYW5kLmNsZWFyKCk7CkBAIC0zODgsMTEgKzM4OCwxMSBAQCBwdWJsaWM6
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudDogeworICAgICAg
ICAgICAgICAgIGNhc2UgU2V0QXJndW1lbnREZWZpbml0ZWx5OiB7CiAgICAgICAgICAgICAgICAg
ICAgIG5vZGUtPnJlbW92ZShtX2dyYXBoKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCShy
ZXZpc2lvbiAyNDQxOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4
ZWN1dGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDcgKzE5Nyw3IEBAIGJvb2wgc2FmZVRvRXhl
Y3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3QKICAgICBjYXNlIFBoaToKICAgICBjYXNlIEZsdXNo
OgogICAgIGNhc2UgUGhhbnRvbUxvY2FsOgotICAgIGNhc2UgU2V0QXJndW1lbnQ6CisgICAgY2Fz
ZSBTZXRBcmd1bWVudERlZmluaXRlbHk6CiAgICAgY2FzZSBBcml0aEJpdE5vdDoKICAgICBjYXNl
IEFyaXRoQml0QW5kOgogICAgIGNhc2UgQXJpdGhCaXRPcjoKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNp
b24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3Miw3ICsxOTcyLDcgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICBjYXNlIFNldEFyZ3VtZW50OgorICAgIGNhc2UgU2V0QXJndW1lbnREZWZpbml0ZWx5Ogog
ICAgICAgICAvLyBUaGlzIGlzIGEgbm8tb3A7IGl0IGp1c3QgbWFya3MgdGhlIGZhY3QgdGhhdCB0
aGUgYXJndW1lbnQgaXMgYmVpbmcgdXNlZC4KICAgICAgICAgLy8gQnV0IGl0IG1heSBiZSBwcm9m
aXRhYmxlIHRvIHVzZSB0aGlzIGFzIGEgaG9vayB0byBydW4gc3BlY3VsYXRpb24gY2hlY2tzCiAg
ICAgICAgIC8vIG9uIGFyZ3VtZW50cywgdGhlcmVieSBhbGxvd2luZyB1cyB0byB0cml2aWFsbHkg
ZWxpbWluYXRlIHN1Y2ggY2hlY2tzIGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDI0NDE5MikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNzEsNyArMjA3MSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUo
Tm9kZSogbm9kZSkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBTZXRBcmd1bWVu
dDoKKyAgICBjYXNlIFNldEFyZ3VtZW50RGVmaW5pdGVseToKICAgICAgICAgLy8gVGhpcyBpcyBh
IG5vLW9wOyBpdCBqdXN0IG1hcmtzIHRoZSBmYWN0IHRoYXQgdGhlIGFyZ3VtZW50IGlzIGJlaW5n
IHVzZWQuCiAgICAgICAgIC8vIEJ1dCBpdCBtYXkgYmUgcHJvZml0YWJsZSB0byB1c2UgdGhpcyBh
cyBhIGhvb2sgdG8gcnVuIHNwZWN1bGF0aW9uIGNoZWNrcwogICAgICAgICAvLyBvbiBhcmd1bWVu
dHMsIHRoZXJlYnkgYWxsb3dpbmcgdXMgdG8gdHJpdmlhbGx5IGVsaW1pbmF0ZSBzdWNoIGNoZWNr
cyBpZgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAJKHJldmlzaW9uIDI0NDE5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTEyLDcgKzE5MTIsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVja0FyZ3VtZW50VHlwZXMoCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgQVNTRVJUKG5vZGUtPm9wKCkg
PT0gU2V0QXJndW1lbnQpOworICAgICAgICBBU1NFUlQobm9kZS0+b3AoKSA9PSBTZXRBcmd1bWVu
dERlZmluaXRlbHkpOwogICAgICAgICBBU1NFUlQobm9kZS0+c2hvdWxkR2VuZXJhdGUoKSk7CiAK
ICAgICAgICAgVmFyaWFibGVBY2Nlc3NEYXRhKiB2YXJpYWJsZUFjY2Vzc0RhdGEgPSBub2RlLT52
YXJpYWJsZUFjY2Vzc0RhdGEoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
VHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNwcAkocmV2aXNpb24gMjQ0MTky
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDEwICsxMjIsMTAgQEAgcHVibGljOgogICAgICAg
ICAgICAgICAgIC8vIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8gYXBwZW5kLCB3ZSBmaXJzdCBjYXJl
ZnVsbHkgZXh0cmFjdCBldmVyeXRoaW5nIHdlIG5lZWQKICAgICAgICAgICAgICAgICAvLyBmcm9t
IHRoZSBub2RlLCBiZWZvcmUgZG9pbmcgYW55IGFwcGVuZGluZy4KICAgICAgICAgICAgICAgICBz
d2l0Y2ggKG5vZGUtPm9wKCkpIHsKLSAgICAgICAgICAgICAgICBjYXNlIFNldEFyZ3VtZW50OiB7
CisgICAgICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudERlZmluaXRlbHk6IHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gSW5zZXJ0IGEgR2V0TG9jYWwgYW5kIGEgQ2hlY2tTdHJ1Y3R1cmUgaW1t
ZWRpYXRlbHkgZm9sbG93aW5nIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgLy8gU2V0QXJndW1l
bnQsIGlmIHRoZSB2YXJpYWJsZSB3YXMgYSBjYW5kaWRhdGUgZm9yIHN0cnVjdHVyZSBob2lzdGlu
Zy4KLSAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGJhc2ljIGJsb2NrIHByZXZpb3VzbHkg
b25seSBoYWQgdGhlIFNldEFyZ3VtZW50IGFzIGl0cworICAgICAgICAgICAgICAgICAgICAvLyBT
ZXRBcmd1bWVudERlZmluaXRlbHksIGlmIHRoZSB2YXJpYWJsZSB3YXMgYSBjYW5kaWRhdGUgZm9y
IHN0cnVjdHVyZSBob2lzdGluZy4KKyAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGJhc2lj
IGJsb2NrIHByZXZpb3VzbHkgb25seSBoYWQgdGhlIFNldEFyZ3VtZW50RGVmaW5pdGVseSBhcyBp
dHMKICAgICAgICAgICAgICAgICAgICAgLy8gdmFyaWFibGUtYXQtdGFpbCwgdGhlbiByZXBsYWNl
IGl0IHdpdGggdGhpcyBHZXRMb2NhbC4KICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVBY2Nl
c3NEYXRhKiB2YXJpYWJsZSA9IG5vZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpOwogICAgICAgICAg
ICAgICAgICAgICBIYXNoTWFwPFZhcmlhYmxlQWNjZXNzRGF0YSosIENoZWNrRGF0YT46Oml0ZXJh
dG9yIGl0ZXIgPSBtX21hcC5maW5kKHZhcmlhYmxlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCShyZXZpc2lvbiAyNDQxOTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDkzLDcg
KzQ5Myw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKAogICAgICAg
ICAgICAgICAgICAgICAgICAgKG5vZGUsIGVkZ2UpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ZWRnZS0+b3AoKSA9PSBTZXRMb2NhbAotICAgICAgICAgICAgICAgICAgICAgICAgfHwgZWRnZS0+
b3AoKSA9PSBTZXRBcmd1bWVudAorICAgICAgICAgICAgICAgICAgICAgICAgfHwgZWRnZS0+b3Ao
KSA9PSBTZXRBcmd1bWVudERlZmluaXRlbHkKICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGVk
Z2UtPm9wKCkgPT0gRmx1c2gKICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGVkZ2UtPm9wKCkg
PT0gUGhpKTsKICAgICAgICAgICAgICAgICAgICAgCkBAIC01MDQsNyArNTA0LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChub2RlLCBlZGdlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGdl
LT5vcCgpID09IFNldExvY2FsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgZWRnZS0+
b3AoKSA9PSBTZXRBcmd1bWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGVkZ2Ut
Pm9wKCkgPT0gU2V0QXJndW1lbnREZWZpbml0ZWx5CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfHwgZWRnZS0+b3AoKSA9PSBGbHVzaCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNTM2LDcgKzUzNiw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAobG9jYWwsIGJsb2NrLT5wcmVkZWNlc3NvcnNba10sIHByZXZOb2RlKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2Tm9kZS0+b3AoKSA9PSBTZXRMb2NhbAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHByZXZOb2RlLT5vcCgpID09IFNldEFyZ3VtZW50
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcHJldk5vZGUtPm9wKCkgPT0gU2V0QXJn
dW1lbnREZWZpbml0ZWx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcHJldk5vZGUt
Pm9wKCkgPT0gUGhpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Tm9kZSA9PSBl
ZGdlLm5vZGUoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsK
QEAgLTY3Niw5ICs2NzYsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgICAgIHNldExvY2FsUG9zaXRpb25zLm9wZXJhbmQobm9kZS0+
bG9jYWwoKSkgPSBpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlIFNldEFyZ3VtZW50OgorICAgICAgICAgICAgICAgIGNhc2UgU2V0QXJndW1lbnREZWZp
bml0ZWx5OgogICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGFjdHMgbGlrZSBhIHJlc2V0LiBJ
dCdzIG9rIHRvIGhhdmUgYSBzZWNvbmQgR2V0TG9jYWwgZm9yIGEgbG9jYWwgaW4gdGhlIHNhbWUK
LSAgICAgICAgICAgICAgICAgICAgLy8gYmxvY2sgaWYgd2UgaGFkIGEgU2V0QXJndW1lbnQgZm9y
IHRoYXQgbG9jYWwuCisgICAgICAgICAgICAgICAgICAgIC8vIGJsb2NrIGlmIHdlIGhhZCBhIFNl
dEFyZ3VtZW50RGVmaW5pdGVseSBmb3IgdGhhdCBsb2NhbC4KICAgICAgICAgICAgICAgICAgICAg
Z2V0TG9jYWxQb3NpdGlvbnMub3BlcmFuZChub2RlLT5sb2NhbCgpKSA9IG5vdFNldDsKICAgICAg
ICAgICAgICAgICAgICAgc2V0TG9jYWxQb3NpdGlvbnMub3BlcmFuZChub2RlLT5sb2NhbCgpKSA9
IG5vdFNldDsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC03MzksNyArNzM5LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgY2FzZSBHZXRM
b2NhbDoKICAgICAgICAgICAgICAgICBjYXNlIFNldExvY2FsOgotICAgICAgICAgICAgICAgIGNh
c2UgU2V0QXJndW1lbnQ6CisgICAgICAgICAgICAgICAgY2FzZSBTZXRBcmd1bWVudERlZmluaXRl
bHk6CiAgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9tOgogICAgICAgICAgICAgICAgICAgICBW
QUxJREFURSgobm9kZSksICEiYmFkIG5vZGUgdHlwZSBmb3IgU1NBIik7CiAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2Fw
YWJpbGl0aWVzLmNwcAkocmV2aXNpb24gMjQ0MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBA
IGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiAKICAgICBjYXNlIFBoYW50
b206CiAgICAgY2FzZSBGbHVzaDoKICAgICBjYXNlIFBoYW50b21Mb2NhbDoKLSAgICBjYXNlIFNl
dEFyZ3VtZW50OgorICAgIGNhc2UgU2V0QXJndW1lbnREZWZpbml0ZWx5OgogICAgIGNhc2UgUmV0
dXJuOgogICAgIGNhc2UgQXJpdGhCaXROb3Q6CiAgICAgY2FzZSBBcml0aEJpdEFuZDoK
</data>
<flag name="review"
          id="383589"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>