<?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>207582</bug_id>
          
          <creation_ts>2020-02-11 13:46:12 -0800</creation_ts>
          <short_desc>WebPage::getFocusedElementInformation should be robust when the focused element changes during layout</short_desc>
          <delta_ts>2020-02-11 16:53:34 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1617601</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-11 13:46:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/47634344&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617618</commentid>
    <comment_count>1</comment_count>
      <attachid>390421</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-11 14:10:26 -0800</bug_when>
    <thetext>Created attachment 390421
Speculative fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617722</commentid>
    <comment_count>2</comment_count>
      <attachid>390421</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-02-11 15:57:43 -0800</bug_when>
    <thetext>Comment on attachment 390421
Speculative fix

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

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2988
&gt; +    auto focusedElement = m_focusedElement;

auto makes it impossible to tell if this retains the element or not. But it needs to, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617728</commentid>
    <comment_count>3</comment_count>
      <attachid>390421</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-11 15:59:42 -0800</bug_when>
    <thetext>Comment on attachment 390421
Speculative fix

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

&gt;&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2988
&gt;&gt; +    auto focusedElement = m_focusedElement;
&gt; 
&gt; auto makes it impossible to tell if this retains the element or not. But it needs to, right?

Since m_focusedElement is a RefPtr&lt;Element&gt;, auto will just copy it (and ensure that it is reffed).

If you think it&apos;s more clear, I can change this to `auto focusedElement = m_focusedElement.copyRef();`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617731</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-02-11 16:04:05 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 390421 [details]
&gt; Speculative fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=390421&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2988
&gt; &gt;&gt; +    auto focusedElement = m_focusedElement;
&gt; &gt; 
&gt; &gt; auto makes it impossible to tell if this retains the element or not. But it needs to, right?
&gt; 
&gt; Since m_focusedElement is a RefPtr&lt;Element&gt;, auto will just copy it (and
&gt; ensure that it is reffed).

Right, but it&apos;s impossible to read the code above and tell that it is correct without referring to another file :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617732</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-02-11 16:05:43 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #4)
&gt; (In reply to Wenson Hsieh from comment #3)
&gt; &gt; Comment on attachment 390421 [details]
&gt; &gt; Speculative fix
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=390421&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2988
&gt; &gt; &gt;&gt; +    auto focusedElement = m_focusedElement;
&gt; &gt; &gt; 
&gt; &gt; &gt; auto makes it impossible to tell if this retains the element or not. But it needs to, right?
&gt; &gt; 
&gt; &gt; Since m_focusedElement is a RefPtr&lt;Element&gt;, auto will just copy it (and
&gt; &gt; ensure that it is reffed).
&gt; 
&gt; Right, but it&apos;s impossible to read the code above and tell that it is
&gt; correct without referring to another file :D

Please do call copyRef().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617735</commentid>
    <comment_count>6</comment_count>
      <attachid>390456</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-11 16:07:28 -0800</bug_when>
    <thetext>Created attachment 390456
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617736</commentid>
    <comment_count>7</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-11 16:08:26 -0800</bug_when>
    <thetext>Changed to call copyRef() explicitly. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617775</commentid>
    <comment_count>8</comment_count>
      <attachid>390456</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-11 16:50:04 -0800</bug_when>
    <thetext>Comment on attachment 390456
Patch for landing

Clearing flags on attachment: 390456

Committed r256401: &lt;https://trac.webkit.org/changeset/256401&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390421</attachid>
            <date>2020-02-11 14:10:26 -0800</date>
            <delta_ts>2020-02-11 15:57:43 -0800</delta_ts>
            <desc>Speculative fix</desc>
            <filename>bug-207582-20200211141025.patch</filename>
            <type>text/plain</type>
            <size>11416</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJjZTUwMGVmMDM5MWI0NmFi
YTdmNWE4ZmZjMWM4MjA3ZTQ5NjcxMDAuLmYyYzcxY2E5MzRkNTQ0YmFhZjQ5YzE1ZTk4M2JjODk5
NjYwM2YwNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDItMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUGFnZTo6Z2V0Rm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbiBzaG91bGQgYmUgcm9idXN0IHdoZW4gdGhlIGZvY3VzZWQg
ZWxlbWVudCBjaGFuZ2VzIGR1cmluZyBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzU4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2
MzQzNDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBpcyBhIHNwZWN1bGF0aXZlIGZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzQ3NjM0MzQ0Piwg
d2hlcmVpbiB0aGUgaW5pdGlhbCBsYXlvdXQgdXBkYXRlIGluIFdlYlBhZ2U6OgorICAgICAgICBn
ZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uIG1heSBjYXVzZSB0aGUgY3VycmVudGx5IGZvY3Vz
ZWQgZWxlbWVudCB0byBkaXNhcHBlYXIgKG9yIGNoYW5nZSkuIEluIHRoZSBjYXNlIHdoZXJlCisg
ICAgICAgIG1fZm9jdXNlZEVsZW1lbnQgYmVjb21lcyBuaWwsIHdlIGVuZCB1cCBjcmFzaGluZyB3
aXRoIGEgbnVsbCBwb2ludGVyIGRlcmVmLCBzaW5jZSB0aGUgcmVzdCBvZiB0aGUgbWV0aG9kIGFz
c3VtZXMKKyAgICAgICAgdGhhdCBtX2ZvY3VzZWRFbGVtZW50IGV4aXN0cy4KKworICAgICAgICBU
byBwYXRjaCB0aGlzIGNyYXNoLCBiYWlsIGVhcmx5IChhZnRlciB0aGUgZmlyc3QgbGF5b3V0IHVw
ZGF0ZSkgaWYgbV9mb2N1c2VkRWxlbWVudCBjaGFuZ2VkIGR1cmluZyB0aGUgbGF5b3V0CisgICAg
ICAgIHBhc3MuIFNpbmNlIHRoZSByZXN0IG9mIHRoZSBmdW5jdGlvbiBteSB0cmlnZ2VyIGV2ZW4g
bW9yZSBsYXlvdXQgdXBkYXRlcyB0aGF0IGNvdWxkIG51a2UgbV9mb2N1c2VkRWxlbWVudCwgSQor
ICAgICAgICBhbHNvIGNoYW5nZWQgdGhlIHJlc3Qgb2YgdGhlIGZ1bmN0aW9uIHRvIHVzZSB0aGUg
bG9jYWxseSBzdG9yZWQgYGZvY3VzZWRFbGVtZW50YCB2YXJpYWJsZSBpbnN0ZWFkIG9mCisgICAg
ICAgIG1fZm9jdXNlZEVsZW1lbnQsIG9uIFdlYlBhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Omdl
dEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24pOgorCiAyMDIwLTAyLTEwICBKaWV3ZW4gVGFuICA8
amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBNb3ZlIHRoZSBhc3lu
YyBjb2RlIGZyb20gV2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudCB0byBBdXRoZW50aWNhdG9y
TWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbQppbmRleCA2Mzg5ZmVjMThlNzlhYTMxNDRmNDhlMGM3ODUwYTQ5NWRmMjE0NzMx
Li5hMThmYzA5N2M3NGQ4Njc3M2RjYzZlMDY1M2FkNTYyOGI3YTcxOTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMjk4
NSwxNCArMjk4NSwxNyBAQCB2b2lkIFdlYlBhZ2U6OmZvY3VzTmV4dEZvY3VzZWRFbGVtZW50KGJv
b2wgaXNGb3J3YXJkLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKIHZvaWQgV2ViUGFnZTo6Z2V0
Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbihGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBpbmZv
cm1hdGlvbikKIHsKKyAgICBhdXRvIGZvY3VzZWRFbGVtZW50ID0gbV9mb2N1c2VkRWxlbWVudDsK
ICAgICBsYXlvdXRJZk5lZWRlZCgpOworICAgIGlmIChmb2N1c2VkRWxlbWVudCAhPSBtX2ZvY3Vz
ZWRFbGVtZW50KQorICAgICAgICByZXR1cm47CiAKICAgICBpbmZvcm1hdGlvbi5sYXN0SW50ZXJh
Y3Rpb25Mb2NhdGlvbiA9IG1fbGFzdEludGVyYWN0aW9uTG9jYXRpb247Ci0gICAgaWYgKGF1dG8g
ZWxlbWVudENvbnRleHQgPSBjb250ZXh0Rm9yRWxlbWVudCgqbV9mb2N1c2VkRWxlbWVudCkpCisg
ICAgaWYgKGF1dG8gZWxlbWVudENvbnRleHQgPSBjb250ZXh0Rm9yRWxlbWVudCgqZm9jdXNlZEVs
ZW1lbnQpKQogICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50Q29udGV4dCA9IFdURk1vdmUoKmVs
ZW1lbnRDb250ZXh0KTsKIAotICAgIGlmIChhdXRvKiByZW5kZXJlciA9IG1fZm9jdXNlZEVsZW1l
bnQtPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgaW5mb3JtYXRpb24uaW50ZXJhY3Rpb25SZWN0ID0g
cm9vdFZpZXdJbnRlcmFjdGlvbkJvdW5kc0ZvckVsZW1lbnQoKm1fZm9jdXNlZEVsZW1lbnQpOwor
ICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGZvY3VzZWRFbGVtZW50LT5yZW5kZXJlcigpKSB7Cisg
ICAgICAgIGluZm9ybWF0aW9uLmludGVyYWN0aW9uUmVjdCA9IHJvb3RWaWV3SW50ZXJhY3Rpb25C
b3VuZHNGb3JFbGVtZW50KCpmb2N1c2VkRWxlbWVudCk7CiAgICAgICAgIGluZm9ybWF0aW9uLm5v
ZGVGb250U2l6ZSA9IHJlbmRlcmVyLT5zdHlsZSgpLmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVk
U2l6ZSgpOwogCiAgICAgICAgIGJvb2wgaW5GaXhlZCA9IGZhbHNlOwpAQCAtMzAwMiwyNiArMzAw
NSwyNiBAQCB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oRm9jdXNl
ZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpbwogICAgIH0gZWxzZQogICAgICAgICBpbmZv
cm1hdGlvbi5pbnRlcmFjdGlvblJlY3QgPSB7IH07CiAKLSAgICBpZiAoaXM8SFRNTEVsZW1lbnQ+
KG1fZm9jdXNlZEVsZW1lbnQpKQotICAgICAgICBpbmZvcm1hdGlvbi5pc1NwZWxsQ2hlY2tpbmdF
bmFibGVkID0gZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KS5zcGVsbGNo
ZWNrKCk7CisgICAgaWYgKGlzPEhUTUxFbGVtZW50Pihmb2N1c2VkRWxlbWVudCkpCisgICAgICAg
IGluZm9ybWF0aW9uLmlzU3BlbGxDaGVja2luZ0VuYWJsZWQgPSBkb3duY2FzdDxIVE1MRWxlbWVu
dD4oKmZvY3VzZWRFbGVtZW50KS5zcGVsbGNoZWNrKCk7CiAKICAgICBpbmZvcm1hdGlvbi5taW5p
bXVtU2NhbGVGYWN0b3IgPSBtaW5pbXVtUGFnZVNjYWxlRmFjdG9yKCk7CiAgICAgaW5mb3JtYXRp
b24ubWF4aW11bVNjYWxlRmFjdG9yID0gbWF4aW11bVBhZ2VTY2FsZUZhY3RvcigpOwogICAgIGlu
Zm9ybWF0aW9uLm1heGltdW1TY2FsZUZhY3Rvcklnbm9yaW5nQWx3YXlzU2NhbGFibGUgPSBtYXhp
bXVtUGFnZVNjYWxlRmFjdG9ySWdub3JpbmdBbHdheXNTY2FsYWJsZSgpOwogICAgIGluZm9ybWF0
aW9uLmFsbG93c1VzZXJTY2FsaW5nID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uYWxsb3dzVXNl
clNjYWxpbmcoKTsKICAgICBpbmZvcm1hdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0lnbm9yaW5nQWx3
YXlzU2NhbGFibGUgPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0ln
bm9yaW5nQWx3YXlzU2NhbGFibGUoKTsKLSAgICBpZiAoYXV0byogbmV4dEVsZW1lbnQgPSBuZXh0
QXNzaXN0YWJsZUVsZW1lbnQobV9mb2N1c2VkRWxlbWVudC5nZXQoKSwgKm1fcGFnZSwgdHJ1ZSkp
IHsKKyAgICBpZiAoYXV0byogbmV4dEVsZW1lbnQgPSBuZXh0QXNzaXN0YWJsZUVsZW1lbnQoZm9j
dXNlZEVsZW1lbnQuZ2V0KCksICptX3BhZ2UsIHRydWUpKSB7CiAgICAgICAgIGluZm9ybWF0aW9u
Lm5leHROb2RlUmVjdCA9IHJvb3RWaWV3Qm91bmRzRm9yRWxlbWVudCgqbmV4dEVsZW1lbnQpOwog
ICAgICAgICBpbmZvcm1hdGlvbi5oYXNOZXh0Tm9kZSA9IHRydWU7CiAgICAgfQotICAgIGlmIChh
dXRvKiBwcmV2aW91c0VsZW1lbnQgPSBuZXh0QXNzaXN0YWJsZUVsZW1lbnQobV9mb2N1c2VkRWxl
bWVudC5nZXQoKSwgKm1fcGFnZSwgZmFsc2UpKSB7CisgICAgaWYgKGF1dG8qIHByZXZpb3VzRWxl
bWVudCA9IG5leHRBc3Npc3RhYmxlRWxlbWVudChmb2N1c2VkRWxlbWVudC5nZXQoKSwgKm1fcGFn
ZSwgZmFsc2UpKSB7CiAgICAgICAgIGluZm9ybWF0aW9uLnByZXZpb3VzTm9kZVJlY3QgPSByb290
Vmlld0JvdW5kc0ZvckVsZW1lbnQoKnByZXZpb3VzRWxlbWVudCk7CiAgICAgICAgIGluZm9ybWF0
aW9uLmhhc1ByZXZpb3VzTm9kZSA9IHRydWU7CiAgICAgfQogICAgIGluZm9ybWF0aW9uLmZvY3Vz
ZWRFbGVtZW50SWRlbnRpZmllciA9IG1fY3VycmVudEZvY3VzZWRFbGVtZW50SWRlbnRpZmllcjsK
IAotICAgIGlmIChpczxMYWJlbGFibGVFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkpIHsKLSAg
ICAgICAgYXV0byBsYWJlbHMgPSBkb3duY2FzdDxMYWJlbGFibGVFbGVtZW50PigqbV9mb2N1c2Vk
RWxlbWVudCkubGFiZWxzKCk7CisgICAgaWYgKGlzPExhYmVsYWJsZUVsZW1lbnQ+KCpmb2N1c2Vk
RWxlbWVudCkpIHsKKyAgICAgICAgYXV0byBsYWJlbHMgPSBkb3duY2FzdDxMYWJlbGFibGVFbGVt
ZW50PigqZm9jdXNlZEVsZW1lbnQpLmxhYmVscygpOwogICAgICAgICBWZWN0b3I8UmVmPEVsZW1l
bnQ+PiBhc3NvY2lhdGVkTGFiZWxzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsg
aW5kZXggPCBsYWJlbHMtPmxlbmd0aCgpOyArK2luZGV4KSB7CiAgICAgICAgICAgICBpZiAoaXM8
RWxlbWVudD4obGFiZWxzLT5pdGVtKGluZGV4KSkgJiYgbGFiZWxzLT5pdGVtKGluZGV4KS0+cmVu
ZGVyZXIoKSkKQEAgLTMwMzYsMTEgKzMwMzksMTEgQEAgdm9pZCBXZWJQYWdlOjpnZXRGb2N1c2Vk
RWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9ybWF0aW8K
ICAgICAgICAgfQogICAgIH0KIAotICAgIGluZm9ybWF0aW9uLnRpdGxlID0gbV9mb2N1c2VkRWxl
bWVudC0+dGl0bGUoKTsKLSAgICBpbmZvcm1hdGlvbi5hcmlhTGFiZWwgPSBtX2ZvY3VzZWRFbGVt
ZW50LT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6YXJpYV9sYWJl
bEF0dHIpOworICAgIGluZm9ybWF0aW9uLnRpdGxlID0gZm9jdXNlZEVsZW1lbnQtPnRpdGxlKCk7
CisgICAgaW5mb3JtYXRpb24uYXJpYUxhYmVsID0gZm9jdXNlZEVsZW1lbnQtPmF0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjphcmlhX2xhYmVsQXR0cik7CiAKLSAgICBp
ZiAoaXM8SFRNTFNlbGVjdEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSkgewotICAgICAgICBI
VE1MU2VsZWN0RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEhUTUxTZWxlY3RFbGVtZW50Pigq
bV9mb2N1c2VkRWxlbWVudCk7CisgICAgaWYgKGlzPEhUTUxTZWxlY3RFbGVtZW50PigqZm9jdXNl
ZEVsZW1lbnQpKSB7CisgICAgICAgIEhUTUxTZWxlY3RFbGVtZW50JiBlbGVtZW50ID0gZG93bmNh
c3Q8SFRNTFNlbGVjdEVsZW1lbnQ+KCpmb2N1c2VkRWxlbWVudCk7CiAgICAgICAgIGluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpTZWxlY3Q7CiAgICAgICAgIGNvbnN0IFZlY3Rv
cjxIVE1MRWxlbWVudCo+JiBpdGVtcyA9IGVsZW1lbnQubGlzdEl0ZW1zKCk7CiAgICAgICAgIHNp
emVfdCBjb3VudCA9IGl0ZW1zLnNpemUoKTsKQEAgLTMwNjEsOCArMzA2NCw4IEBAIHZvaWQgV2Vi
UGFnZTo6Z2V0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbihGb2N1c2VkRWxlbWVudEluZm9ybWF0
aW9uJiBpbmZvcm1hdGlvCiAgICAgICAgIH0KICAgICAgICAgaW5mb3JtYXRpb24uc2VsZWN0ZWRJ
bmRleCA9IGVsZW1lbnQuc2VsZWN0ZWRJbmRleCgpOwogICAgICAgICBpbmZvcm1hdGlvbi5pc011
bHRpU2VsZWN0ID0gZWxlbWVudC5tdWx0aXBsZSgpOwotICAgIH0gZWxzZSBpZiAoaXM8SFRNTFRl
eHRBcmVhRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpKSB7Ci0gICAgICAgIEhUTUxUZXh0QXJl
YUVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50PigqbV9mb2N1
c2VkRWxlbWVudCk7CisgICAgfSBlbHNlIGlmIChpczxIVE1MVGV4dEFyZWFFbGVtZW50PigqZm9j
dXNlZEVsZW1lbnQpKSB7CisgICAgICAgIEhUTUxUZXh0QXJlYUVsZW1lbnQmIGVsZW1lbnQgPSBk
b3duY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpOwogICAgICAgICBp
bmZvcm1hdGlvbi5hdXRvY2FwaXRhbGl6ZVR5cGUgPSBlbGVtZW50LmF1dG9jYXBpdGFsaXplVHlw
ZSgpOwogICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID0gZWxlbWVudC5zaG91bGRB
dXRvY29ycmVjdCgpOwogICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0VHlw
ZTo6VGV4dEFyZWE7CkBAIC0zMDcyLDE0ICszMDc1LDE0IEBAIHZvaWQgV2ViUGFnZTo6Z2V0Rm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbihGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBpbmZvcm1h
dGlvCiAgICAgICAgIGluZm9ybWF0aW9uLnBsYWNlaG9sZGVyID0gZWxlbWVudC5hdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxhY2Vob2xkZXJBdHRyKTsKICAgICAg
ICAgaW5mb3JtYXRpb24uaW5wdXRNb2RlID0gZWxlbWVudC5jYW5vbmljYWxJbnB1dE1vZGUoKTsK
ICAgICAgICAgaW5mb3JtYXRpb24uZW50ZXJLZXlIaW50ID0gZWxlbWVudC5jYW5vbmljYWxFbnRl
cktleUhpbnQoKTsKLSAgICB9IGVsc2UgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KCptX2ZvY3Vz
ZWRFbGVtZW50KSkgewotICAgICAgICBIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50ID0gZG93bmNh
c3Q8SFRNTElucHV0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpOworICAgIH0gZWxzZSBpZiAo
aXM8SFRNTElucHV0RWxlbWVudD4oKmZvY3VzZWRFbGVtZW50KSkgeworICAgICAgICBIVE1MSW5w
dXRFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKmZvY3VzZWRF
bGVtZW50KTsKICAgICAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZWxlbWVudC5mb3JtKCk7
CiAgICAgICAgIGlmIChmb3JtKQogICAgICAgICAgICAgaW5mb3JtYXRpb24uZm9ybUFjdGlvbiA9
IGZvcm0tPmdldFVSTEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmFjdGlvbkF0dHIpOwog
ICAgICAgICBpZiAoYXV0byBhdXRvZmlsbEVsZW1lbnRzID0gV2ViQ29yZTo6QXV0b2ZpbGxFbGVt
ZW50czo6Y29tcHV0ZUF1dG9maWxsRWxlbWVudHMoZWxlbWVudCkpIHsKICAgICAgICAgICAgIGlu
Zm9ybWF0aW9uLmFjY2VwdHNBdXRvZmlsbGVkTG9naW5DcmVkZW50aWFscyA9IHRydWU7Ci0gICAg
ICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9maWxsYWJsZVVzZXJuYW1lRmllbGQgPSBhdXRvZmls
bEVsZW1lbnRzLT51c2VybmFtZSgpID09IG1fZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgICAgICBp
bmZvcm1hdGlvbi5pc0F1dG9maWxsYWJsZVVzZXJuYW1lRmllbGQgPSBhdXRvZmlsbEVsZW1lbnRz
LT51c2VybmFtZSgpID09IGZvY3VzZWRFbGVtZW50OwogICAgICAgICB9CiAgICAgICAgIGluZm9y
bWF0aW9uLnJlcHJlc2VudGluZ1BhZ2VVUkwgPSBlbGVtZW50LmRvY3VtZW50KCkudXJsRm9yQmlu
ZGluZ3MoKTsKICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlID0gZWxlbWVu
dC5hdXRvY2FwaXRhbGl6ZVR5cGUoKTsKQEAgLTMxMzgsMTggKzMxNDEsMTggQEAgdm9pZCBXZWJQ
YWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3JtYXRp
b24mIGluZm9ybWF0aW8KICAgICAgICAgaW5mb3JtYXRpb24udmFsdWUgPSBlbGVtZW50LnZhbHVl
KCk7CiAgICAgICAgIGluZm9ybWF0aW9uLnZhbHVlQXNOdW1iZXIgPSBlbGVtZW50LnZhbHVlQXNO
dW1iZXIoKTsKICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUgPSBXZWJDb3Jl
Ojp0b0F1dG9maWxsRmllbGROYW1lKGVsZW1lbnQuYXV0b2ZpbGxEYXRhKCkuZmllbGROYW1lKTsK
LSAgICB9IGVsc2UgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSAm
JiBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkuaGFzRWRpdGFi
bGVJbWFnZUF0dHJpYnV0ZSgpKSB7CisgICAgfSBlbHNlIGlmIChpczxIVE1MSW1hZ2VFbGVtZW50
PigqZm9jdXNlZEVsZW1lbnQpICYmIGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KCpmb2N1c2Vk
RWxlbWVudCkuaGFzRWRpdGFibGVJbWFnZUF0dHJpYnV0ZSgpKSB7CiAgICAgICAgIGluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpEcmF3aW5nOwotICAgICAgICBpbmZvcm1hdGlv
bi5lbWJlZGRlZFZpZXdJRCA9IGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KCptX2ZvY3VzZWRF
bGVtZW50KS5lZGl0YWJsZUltYWdlVmlld0lEKCk7Ci0gICAgfSBlbHNlIGlmIChtX2ZvY3VzZWRF
bGVtZW50LT5oYXNFZGl0YWJsZVN0eWxlKCkpIHsKKyAgICAgICAgaW5mb3JtYXRpb24uZW1iZWRk
ZWRWaWV3SUQgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpLmVk
aXRhYmxlSW1hZ2VWaWV3SUQoKTsKKyAgICB9IGVsc2UgaWYgKGZvY3VzZWRFbGVtZW50LT5oYXNF
ZGl0YWJsZVN0eWxlKCkpIHsKICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBJbnB1
dFR5cGU6OkNvbnRlbnRFZGl0YWJsZTsKLSAgICAgICAgaWYgKGlzPEhUTUxFbGVtZW50PigqbV9m
b2N1c2VkRWxlbWVudCkpIHsKLSAgICAgICAgICAgIGF1dG8mIGZvY3VzZWRFbGVtZW50ID0gZG93
bmNhc3Q8SFRNTEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KTsKLSAgICAgICAgICAgIGluZm9y
bWF0aW9uLmlzQXV0b2NvcnJlY3QgPSBmb2N1c2VkRWxlbWVudC5zaG91bGRBdXRvY29ycmVjdCgp
OwotICAgICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlID0gZm9jdXNlZEVs
ZW1lbnQuYXV0b2NhcGl0YWxpemVUeXBlKCk7Ci0gICAgICAgICAgICBpbmZvcm1hdGlvbi5pbnB1
dE1vZGUgPSBmb2N1c2VkRWxlbWVudC5jYW5vbmljYWxJbnB1dE1vZGUoKTsKLSAgICAgICAgICAg
IGluZm9ybWF0aW9uLmVudGVyS2V5SGludCA9IGZvY3VzZWRFbGVtZW50LmNhbm9uaWNhbEVudGVy
S2V5SGludCgpOwotICAgICAgICAgICAgaW5mb3JtYXRpb24uc2hvdWxkU3ludGhlc2l6ZUtleUV2
ZW50c0ZvckVkaXRpbmcgPSBmb2N1c2VkRWxlbWVudC5kb2N1bWVudCgpLnNldHRpbmdzKCkuc3lu
dGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCgpOworICAgICAgICBpZiAoaXM8SFRNTEVsZW1l
bnQ+KCpmb2N1c2VkRWxlbWVudCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGZvY3VzZWRIVE1MRWxl
bWVudCA9IGRvd25jYXN0PEhUTUxFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpOworICAgICAgICAg
ICAgaW5mb3JtYXRpb24uaXNBdXRvY29ycmVjdCA9IGZvY3VzZWRIVE1MRWxlbWVudC5zaG91bGRB
dXRvY29ycmVjdCgpOworICAgICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBl
ID0gZm9jdXNlZEhUTUxFbGVtZW50LmF1dG9jYXBpdGFsaXplVHlwZSgpOworICAgICAgICAgICAg
aW5mb3JtYXRpb24uaW5wdXRNb2RlID0gZm9jdXNlZEhUTUxFbGVtZW50LmNhbm9uaWNhbElucHV0
TW9kZSgpOworICAgICAgICAgICAgaW5mb3JtYXRpb24uZW50ZXJLZXlIaW50ID0gZm9jdXNlZEhU
TUxFbGVtZW50LmNhbm9uaWNhbEVudGVyS2V5SGludCgpOworICAgICAgICAgICAgaW5mb3JtYXRp
b24uc2hvdWxkU3ludGhlc2l6ZUtleUV2ZW50c0ZvckVkaXRpbmcgPSBmb2N1c2VkSFRNTEVsZW1l
bnQuZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQo
KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGluZm9ybWF0aW9uLmlzQXV0b2NvcnJl
Y3QgPSB0cnVlOwogICAgICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlID0g
QXV0b2NhcGl0YWxpemVUeXBlRGVmYXVsdDsKQEAgLTMxNTcsMTIgKzMxNjAsMTIgQEAgdm9pZCBX
ZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3Jt
YXRpb24mIGluZm9ybWF0aW8KICAgICAgICAgaW5mb3JtYXRpb24uaXNSZWFkT25seSA9IGZhbHNl
OwogICAgIH0KIAotICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50LT5kb2N1bWVudCgpLnF1aXJrcygp
LnNob3VsZFN1cHByZXNzQXV0b2NvcnJlY3Rpb25BbmRBdXRvY2FwdGlhbGl6YXRpb25JbkhpZGRl
bkVkaXRhYmxlQXJlYXMoKSAmJiBpc1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQoKm1fZm9jdXNl
ZEVsZW1lbnQpKSB7CisgICAgaWYgKGZvY3VzZWRFbGVtZW50LT5kb2N1bWVudCgpLnF1aXJrcygp
LnNob3VsZFN1cHByZXNzQXV0b2NvcnJlY3Rpb25BbmRBdXRvY2FwdGlhbGl6YXRpb25JbkhpZGRl
bkVkaXRhYmxlQXJlYXMoKSAmJiBpc1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQoKmZvY3VzZWRF
bGVtZW50KSkgewogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvY2FwaXRhbGl6ZVR5cGUgPSBBdXRv
Y2FwaXRhbGl6ZVR5cGVOb25lOwogICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID0g
ZmFsc2U7CiAgICAgfQogCi0gICAgYXV0byYgcXVpcmtzID0gbV9mb2N1c2VkRWxlbWVudC0+ZG9j
dW1lbnQoKS5xdWlya3MoKTsKKyAgICBhdXRvJiBxdWlya3MgPSBmb2N1c2VkRWxlbWVudC0+ZG9j
dW1lbnQoKS5xdWlya3MoKTsKICAgICBpbmZvcm1hdGlvbi5zaG91bGRBdm9pZFJlc2l6aW5nV2hl
bklucHV0Vmlld0JvdW5kc0NoYW5nZSA9IHF1aXJrcy5zaG91bGRBdm9pZFJlc2l6aW5nV2hlbklu
cHV0Vmlld0JvdW5kc0NoYW5nZSgpOwogICAgIGluZm9ybWF0aW9uLnNob3VsZEF2b2lkU2Nyb2xs
aW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlID0gcXVpcmtzLnNob3VsZEF2b2lkU2Nyb2xs
aW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlKCk7CiAgICAgaW5mb3JtYXRpb24uc2hvdWxk
VXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3NhbEJlaGF2aW9ySW5EYXRhQWN0aXZhdGlvbiA9
IHF1aXJrcy5zaG91bGRVc2VMZWdhY3lTZWxlY3RQb3BvdmVyRGlzbWlzc2FsQmVoYXZpb3JJbkRh
dGFBY3RpdmF0aW9uKCk7Cg==
</data>
<flag name="review"
          id="406070"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390456</attachid>
            <date>2020-02-11 16:07:28 -0800</date>
            <delta_ts>2020-02-11 16:50:04 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-207582-20200211160727.patch</filename>
            <type>text/plain</type>
            <size>11422</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJjZTUwMGVmMDM5MWI0NmFi
YTdmNWE4ZmZjMWM4MjA3ZTQ5NjcxMDAuLmY2MmJiOWJiNWVjOWQ1Y2NlMjc3NTUxMTcxMjNmNDI5
Zjg3M2RhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDItMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViUGFnZTo6Z2V0Rm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbiBzaG91bGQgYmUgcm9idXN0IHdoZW4gdGhlIGZvY3VzZWQg
ZWxlbWVudCBjaGFuZ2VzIGR1cmluZyBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzU4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2
MzQzNDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBUaGlz
IGlzIGEgc3BlY3VsYXRpdmUgZml4IGZvciA8cmRhcjovL3Byb2JsZW0vNDc2MzQzNDQ+LCB3aGVy
ZWluIHRoZSBpbml0aWFsIGxheW91dCB1cGRhdGUgaW4gV2ViUGFnZTo6CisgICAgICAgIGdldEZv
Y3VzZWRFbGVtZW50SW5mb3JtYXRpb24gbWF5IGNhdXNlIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBl
bGVtZW50IHRvIGRpc2FwcGVhciAob3IgY2hhbmdlKS4gSW4gdGhlIGNhc2Ugd2hlcmUKKyAgICAg
ICAgbV9mb2N1c2VkRWxlbWVudCBiZWNvbWVzIG5pbCwgd2UgZW5kIHVwIGNyYXNoaW5nIHdpdGgg
YSBudWxsIHBvaW50ZXIgZGVyZWYsIHNpbmNlIHRoZSByZXN0IG9mIHRoZSBtZXRob2QgYXNzdW1l
cworICAgICAgICB0aGF0IG1fZm9jdXNlZEVsZW1lbnQgZXhpc3RzLgorCisgICAgICAgIFRvIHBh
dGNoIHRoaXMgY3Jhc2gsIGJhaWwgZWFybHkgKGFmdGVyIHRoZSBmaXJzdCBsYXlvdXQgdXBkYXRl
KSBpZiBtX2ZvY3VzZWRFbGVtZW50IGNoYW5nZWQgZHVyaW5nIHRoZSBsYXlvdXQKKyAgICAgICAg
cGFzcy4gU2luY2UgdGhlIHJlc3Qgb2YgdGhlIGZ1bmN0aW9uIG15IHRyaWdnZXIgZXZlbiBtb3Jl
IGxheW91dCB1cGRhdGVzIHRoYXQgY291bGQgbnVrZSBtX2ZvY3VzZWRFbGVtZW50LCBJCisgICAg
ICAgIGFsc28gY2hhbmdlZCB0aGUgcmVzdCBvZiB0aGUgZnVuY3Rpb24gdG8gdXNlIHRoZSBsb2Nh
bGx5IHN0b3JlZCBgZm9jdXNlZEVsZW1lbnRgIHZhcmlhYmxlIGluc3RlYWQgb2YKKyAgICAgICAg
bV9mb2N1c2VkRWxlbWVudCwgb24gV2ViUGFnZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0Rm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbik6CisKIDIwMjAtMDItMTAgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIE1vdmUgdGhlIGFzeW5jIGNv
ZGUgZnJvbSBXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50IHRvIEF1dGhlbnRpY2F0b3JNYW5h
Z2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCmluZGV4IDYzODlmZWMxOGU3OWFhMzE0NGY0OGUwYzc4NTBhNDk1ZGYyMTQ3MzEuLjIy
MGVkM2IyNWE1YWJiNTYwZGY4ZDczMWZjZDFjMTJhZTk2Zjg5ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0yOTg1LDE0
ICsyOTg1LDE3IEBAIHZvaWQgV2ViUGFnZTo6Zm9jdXNOZXh0Rm9jdXNlZEVsZW1lbnQoYm9vbCBp
c0ZvcndhcmQsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIAogdm9pZCBXZWJQYWdlOjpnZXRGb2N1
c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9ybWF0
aW9uKQogeworICAgIGF1dG8gZm9jdXNlZEVsZW1lbnQgPSBtX2ZvY3VzZWRFbGVtZW50LmNvcHlS
ZWYoKTsKICAgICBsYXlvdXRJZk5lZWRlZCgpOworICAgIGlmIChmb2N1c2VkRWxlbWVudCAhPSBt
X2ZvY3VzZWRFbGVtZW50KQorICAgICAgICByZXR1cm47CiAKICAgICBpbmZvcm1hdGlvbi5sYXN0
SW50ZXJhY3Rpb25Mb2NhdGlvbiA9IG1fbGFzdEludGVyYWN0aW9uTG9jYXRpb247Ci0gICAgaWYg
KGF1dG8gZWxlbWVudENvbnRleHQgPSBjb250ZXh0Rm9yRWxlbWVudCgqbV9mb2N1c2VkRWxlbWVu
dCkpCisgICAgaWYgKGF1dG8gZWxlbWVudENvbnRleHQgPSBjb250ZXh0Rm9yRWxlbWVudCgqZm9j
dXNlZEVsZW1lbnQpKQogICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50Q29udGV4dCA9IFdURk1v
dmUoKmVsZW1lbnRDb250ZXh0KTsKIAotICAgIGlmIChhdXRvKiByZW5kZXJlciA9IG1fZm9jdXNl
ZEVsZW1lbnQtPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgaW5mb3JtYXRpb24uaW50ZXJhY3Rpb25S
ZWN0ID0gcm9vdFZpZXdJbnRlcmFjdGlvbkJvdW5kc0ZvckVsZW1lbnQoKm1fZm9jdXNlZEVsZW1l
bnQpOworICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGZvY3VzZWRFbGVtZW50LT5yZW5kZXJlcigp
KSB7CisgICAgICAgIGluZm9ybWF0aW9uLmludGVyYWN0aW9uUmVjdCA9IHJvb3RWaWV3SW50ZXJh
Y3Rpb25Cb3VuZHNGb3JFbGVtZW50KCpmb2N1c2VkRWxlbWVudCk7CiAgICAgICAgIGluZm9ybWF0
aW9uLm5vZGVGb250U2l6ZSA9IHJlbmRlcmVyLT5zdHlsZSgpLmZvbnREZXNjcmlwdGlvbigpLmNv
bXB1dGVkU2l6ZSgpOwogCiAgICAgICAgIGJvb2wgaW5GaXhlZCA9IGZhbHNlOwpAQCAtMzAwMiwy
NiArMzAwNSwyNiBAQCB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24o
Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpbwogICAgIH0gZWxzZQogICAgICAg
ICBpbmZvcm1hdGlvbi5pbnRlcmFjdGlvblJlY3QgPSB7IH07CiAKLSAgICBpZiAoaXM8SFRNTEVs
ZW1lbnQ+KG1fZm9jdXNlZEVsZW1lbnQpKQotICAgICAgICBpbmZvcm1hdGlvbi5pc1NwZWxsQ2hl
Y2tpbmdFbmFibGVkID0gZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KS5z
cGVsbGNoZWNrKCk7CisgICAgaWYgKGlzPEhUTUxFbGVtZW50Pihmb2N1c2VkRWxlbWVudCkpCisg
ICAgICAgIGluZm9ybWF0aW9uLmlzU3BlbGxDaGVja2luZ0VuYWJsZWQgPSBkb3duY2FzdDxIVE1M
RWxlbWVudD4oKmZvY3VzZWRFbGVtZW50KS5zcGVsbGNoZWNrKCk7CiAKICAgICBpbmZvcm1hdGlv
bi5taW5pbXVtU2NhbGVGYWN0b3IgPSBtaW5pbXVtUGFnZVNjYWxlRmFjdG9yKCk7CiAgICAgaW5m
b3JtYXRpb24ubWF4aW11bVNjYWxlRmFjdG9yID0gbWF4aW11bVBhZ2VTY2FsZUZhY3RvcigpOwog
ICAgIGluZm9ybWF0aW9uLm1heGltdW1TY2FsZUZhY3Rvcklnbm9yaW5nQWx3YXlzU2NhbGFibGUg
PSBtYXhpbXVtUGFnZVNjYWxlRmFjdG9ySWdub3JpbmdBbHdheXNTY2FsYWJsZSgpOwogICAgIGlu
Zm9ybWF0aW9uLmFsbG93c1VzZXJTY2FsaW5nID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uYWxs
b3dzVXNlclNjYWxpbmcoKTsKICAgICBpbmZvcm1hdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0lnbm9y
aW5nQWx3YXlzU2NhbGFibGUgPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5hbGxvd3NVc2VyU2Nh
bGluZ0lnbm9yaW5nQWx3YXlzU2NhbGFibGUoKTsKLSAgICBpZiAoYXV0byogbmV4dEVsZW1lbnQg
PSBuZXh0QXNzaXN0YWJsZUVsZW1lbnQobV9mb2N1c2VkRWxlbWVudC5nZXQoKSwgKm1fcGFnZSwg
dHJ1ZSkpIHsKKyAgICBpZiAoYXV0byogbmV4dEVsZW1lbnQgPSBuZXh0QXNzaXN0YWJsZUVsZW1l
bnQoZm9jdXNlZEVsZW1lbnQuZ2V0KCksICptX3BhZ2UsIHRydWUpKSB7CiAgICAgICAgIGluZm9y
bWF0aW9uLm5leHROb2RlUmVjdCA9IHJvb3RWaWV3Qm91bmRzRm9yRWxlbWVudCgqbmV4dEVsZW1l
bnQpOwogICAgICAgICBpbmZvcm1hdGlvbi5oYXNOZXh0Tm9kZSA9IHRydWU7CiAgICAgfQotICAg
IGlmIChhdXRvKiBwcmV2aW91c0VsZW1lbnQgPSBuZXh0QXNzaXN0YWJsZUVsZW1lbnQobV9mb2N1
c2VkRWxlbWVudC5nZXQoKSwgKm1fcGFnZSwgZmFsc2UpKSB7CisgICAgaWYgKGF1dG8qIHByZXZp
b3VzRWxlbWVudCA9IG5leHRBc3Npc3RhYmxlRWxlbWVudChmb2N1c2VkRWxlbWVudC5nZXQoKSwg
Km1fcGFnZSwgZmFsc2UpKSB7CiAgICAgICAgIGluZm9ybWF0aW9uLnByZXZpb3VzTm9kZVJlY3Qg
PSByb290Vmlld0JvdW5kc0ZvckVsZW1lbnQoKnByZXZpb3VzRWxlbWVudCk7CiAgICAgICAgIGlu
Zm9ybWF0aW9uLmhhc1ByZXZpb3VzTm9kZSA9IHRydWU7CiAgICAgfQogICAgIGluZm9ybWF0aW9u
LmZvY3VzZWRFbGVtZW50SWRlbnRpZmllciA9IG1fY3VycmVudEZvY3VzZWRFbGVtZW50SWRlbnRp
ZmllcjsKIAotICAgIGlmIChpczxMYWJlbGFibGVFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkp
IHsKLSAgICAgICAgYXV0byBsYWJlbHMgPSBkb3duY2FzdDxMYWJlbGFibGVFbGVtZW50PigqbV9m
b2N1c2VkRWxlbWVudCkubGFiZWxzKCk7CisgICAgaWYgKGlzPExhYmVsYWJsZUVsZW1lbnQ+KCpm
b2N1c2VkRWxlbWVudCkpIHsKKyAgICAgICAgYXV0byBsYWJlbHMgPSBkb3duY2FzdDxMYWJlbGFi
bGVFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpLmxhYmVscygpOwogICAgICAgICBWZWN0b3I8UmVm
PEVsZW1lbnQ+PiBhc3NvY2lhdGVkTGFiZWxzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGluZGV4
ID0gMDsgaW5kZXggPCBsYWJlbHMtPmxlbmd0aCgpOyArK2luZGV4KSB7CiAgICAgICAgICAgICBp
ZiAoaXM8RWxlbWVudD4obGFiZWxzLT5pdGVtKGluZGV4KSkgJiYgbGFiZWxzLT5pdGVtKGluZGV4
KS0+cmVuZGVyZXIoKSkKQEAgLTMwMzYsMTEgKzMwMzksMTEgQEAgdm9pZCBXZWJQYWdlOjpnZXRG
b2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9y
bWF0aW8KICAgICAgICAgfQogICAgIH0KIAotICAgIGluZm9ybWF0aW9uLnRpdGxlID0gbV9mb2N1
c2VkRWxlbWVudC0+dGl0bGUoKTsKLSAgICBpbmZvcm1hdGlvbi5hcmlhTGFiZWwgPSBtX2ZvY3Vz
ZWRFbGVtZW50LT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6YXJp
YV9sYWJlbEF0dHIpOworICAgIGluZm9ybWF0aW9uLnRpdGxlID0gZm9jdXNlZEVsZW1lbnQtPnRp
dGxlKCk7CisgICAgaW5mb3JtYXRpb24uYXJpYUxhYmVsID0gZm9jdXNlZEVsZW1lbnQtPmF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjphcmlhX2xhYmVsQXR0cik7CiAK
LSAgICBpZiAoaXM8SFRNTFNlbGVjdEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSkgewotICAg
ICAgICBIVE1MU2VsZWN0RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEhUTUxTZWxlY3RFbGVt
ZW50PigqbV9mb2N1c2VkRWxlbWVudCk7CisgICAgaWYgKGlzPEhUTUxTZWxlY3RFbGVtZW50Pigq
Zm9jdXNlZEVsZW1lbnQpKSB7CisgICAgICAgIEhUTUxTZWxlY3RFbGVtZW50JiBlbGVtZW50ID0g
ZG93bmNhc3Q8SFRNTFNlbGVjdEVsZW1lbnQ+KCpmb2N1c2VkRWxlbWVudCk7CiAgICAgICAgIGlu
Zm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpTZWxlY3Q7CiAgICAgICAgIGNvbnN0
IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBpdGVtcyA9IGVsZW1lbnQubGlzdEl0ZW1zKCk7CiAgICAg
ICAgIHNpemVfdCBjb3VudCA9IGl0ZW1zLnNpemUoKTsKQEAgLTMwNjEsOCArMzA2NCw4IEBAIHZv
aWQgV2ViUGFnZTo6Z2V0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbihGb2N1c2VkRWxlbWVudElu
Zm9ybWF0aW9uJiBpbmZvcm1hdGlvCiAgICAgICAgIH0KICAgICAgICAgaW5mb3JtYXRpb24uc2Vs
ZWN0ZWRJbmRleCA9IGVsZW1lbnQuc2VsZWN0ZWRJbmRleCgpOwogICAgICAgICBpbmZvcm1hdGlv
bi5pc011bHRpU2VsZWN0ID0gZWxlbWVudC5tdWx0aXBsZSgpOwotICAgIH0gZWxzZSBpZiAoaXM8
SFRNTFRleHRBcmVhRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpKSB7Ci0gICAgICAgIEhUTUxU
ZXh0QXJlYUVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Pigq
bV9mb2N1c2VkRWxlbWVudCk7CisgICAgfSBlbHNlIGlmIChpczxIVE1MVGV4dEFyZWFFbGVtZW50
PigqZm9jdXNlZEVsZW1lbnQpKSB7CisgICAgICAgIEhUTUxUZXh0QXJlYUVsZW1lbnQmIGVsZW1l
bnQgPSBkb3duY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpOwogICAg
ICAgICBpbmZvcm1hdGlvbi5hdXRvY2FwaXRhbGl6ZVR5cGUgPSBlbGVtZW50LmF1dG9jYXBpdGFs
aXplVHlwZSgpOwogICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID0gZWxlbWVudC5z
aG91bGRBdXRvY29ycmVjdCgpOwogICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElu
cHV0VHlwZTo6VGV4dEFyZWE7CkBAIC0zMDcyLDE0ICszMDc1LDE0IEBAIHZvaWQgV2ViUGFnZTo6
Z2V0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbihGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBp
bmZvcm1hdGlvCiAgICAgICAgIGluZm9ybWF0aW9uLnBsYWNlaG9sZGVyID0gZWxlbWVudC5hdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxhY2Vob2xkZXJBdHRyKTsK
ICAgICAgICAgaW5mb3JtYXRpb24uaW5wdXRNb2RlID0gZWxlbWVudC5jYW5vbmljYWxJbnB1dE1v
ZGUoKTsKICAgICAgICAgaW5mb3JtYXRpb24uZW50ZXJLZXlIaW50ID0gZWxlbWVudC5jYW5vbmlj
YWxFbnRlcktleUhpbnQoKTsKLSAgICB9IGVsc2UgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KCpt
X2ZvY3VzZWRFbGVtZW50KSkgewotICAgICAgICBIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50ID0g
ZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpOworICAgIH0gZWxz
ZSBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oKmZvY3VzZWRFbGVtZW50KSkgeworICAgICAgICBI
VE1MSW5wdXRFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKmZv
Y3VzZWRFbGVtZW50KTsKICAgICAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZWxlbWVudC5m
b3JtKCk7CiAgICAgICAgIGlmIChmb3JtKQogICAgICAgICAgICAgaW5mb3JtYXRpb24uZm9ybUFj
dGlvbiA9IGZvcm0tPmdldFVSTEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmFjdGlvbkF0
dHIpOwogICAgICAgICBpZiAoYXV0byBhdXRvZmlsbEVsZW1lbnRzID0gV2ViQ29yZTo6QXV0b2Zp
bGxFbGVtZW50czo6Y29tcHV0ZUF1dG9maWxsRWxlbWVudHMoZWxlbWVudCkpIHsKICAgICAgICAg
ICAgIGluZm9ybWF0aW9uLmFjY2VwdHNBdXRvZmlsbGVkTG9naW5DcmVkZW50aWFscyA9IHRydWU7
Ci0gICAgICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9maWxsYWJsZVVzZXJuYW1lRmllbGQgPSBh
dXRvZmlsbEVsZW1lbnRzLT51c2VybmFtZSgpID09IG1fZm9jdXNlZEVsZW1lbnQ7CisgICAgICAg
ICAgICBpbmZvcm1hdGlvbi5pc0F1dG9maWxsYWJsZVVzZXJuYW1lRmllbGQgPSBhdXRvZmlsbEVs
ZW1lbnRzLT51c2VybmFtZSgpID09IGZvY3VzZWRFbGVtZW50OwogICAgICAgICB9CiAgICAgICAg
IGluZm9ybWF0aW9uLnJlcHJlc2VudGluZ1BhZ2VVUkwgPSBlbGVtZW50LmRvY3VtZW50KCkudXJs
Rm9yQmluZGluZ3MoKTsKICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlID0g
ZWxlbWVudC5hdXRvY2FwaXRhbGl6ZVR5cGUoKTsKQEAgLTMxMzgsMTggKzMxNDEsMTggQEAgdm9p
ZCBXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24mIGluZm9ybWF0aW8KICAgICAgICAgaW5mb3JtYXRpb24udmFsdWUgPSBlbGVtZW50
LnZhbHVlKCk7CiAgICAgICAgIGluZm9ybWF0aW9uLnZhbHVlQXNOdW1iZXIgPSBlbGVtZW50LnZh
bHVlQXNOdW1iZXIoKTsKICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUgPSBX
ZWJDb3JlOjp0b0F1dG9maWxsRmllbGROYW1lKGVsZW1lbnQuYXV0b2ZpbGxEYXRhKCkuZmllbGRO
YW1lKTsKLSAgICB9IGVsc2UgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVt
ZW50KSAmJiBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkuaGFz
RWRpdGFibGVJbWFnZUF0dHJpYnV0ZSgpKSB7CisgICAgfSBlbHNlIGlmIChpczxIVE1MSW1hZ2VF
bGVtZW50PigqZm9jdXNlZEVsZW1lbnQpICYmIGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KCpm
b2N1c2VkRWxlbWVudCkuaGFzRWRpdGFibGVJbWFnZUF0dHJpYnV0ZSgpKSB7CiAgICAgICAgIGlu
Zm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpEcmF3aW5nOwotICAgICAgICBpbmZv
cm1hdGlvbi5lbWJlZGRlZFZpZXdJRCA9IGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KCptX2Zv
Y3VzZWRFbGVtZW50KS5lZGl0YWJsZUltYWdlVmlld0lEKCk7Ci0gICAgfSBlbHNlIGlmIChtX2Zv
Y3VzZWRFbGVtZW50LT5oYXNFZGl0YWJsZVN0eWxlKCkpIHsKKyAgICAgICAgaW5mb3JtYXRpb24u
ZW1iZWRkZWRWaWV3SUQgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqZm9jdXNlZEVsZW1l
bnQpLmVkaXRhYmxlSW1hZ2VWaWV3SUQoKTsKKyAgICB9IGVsc2UgaWYgKGZvY3VzZWRFbGVtZW50
LT5oYXNFZGl0YWJsZVN0eWxlKCkpIHsKICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUg
PSBJbnB1dFR5cGU6OkNvbnRlbnRFZGl0YWJsZTsKLSAgICAgICAgaWYgKGlzPEhUTUxFbGVtZW50
PigqbV9mb2N1c2VkRWxlbWVudCkpIHsKLSAgICAgICAgICAgIGF1dG8mIGZvY3VzZWRFbGVtZW50
ID0gZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KTsKLSAgICAgICAgICAg
IGluZm9ybWF0aW9uLmlzQXV0b2NvcnJlY3QgPSBmb2N1c2VkRWxlbWVudC5zaG91bGRBdXRvY29y
cmVjdCgpOwotICAgICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlID0gZm9j
dXNlZEVsZW1lbnQuYXV0b2NhcGl0YWxpemVUeXBlKCk7Ci0gICAgICAgICAgICBpbmZvcm1hdGlv
bi5pbnB1dE1vZGUgPSBmb2N1c2VkRWxlbWVudC5jYW5vbmljYWxJbnB1dE1vZGUoKTsKLSAgICAg
ICAgICAgIGluZm9ybWF0aW9uLmVudGVyS2V5SGludCA9IGZvY3VzZWRFbGVtZW50LmNhbm9uaWNh
bEVudGVyS2V5SGludCgpOwotICAgICAgICAgICAgaW5mb3JtYXRpb24uc2hvdWxkU3ludGhlc2l6
ZUtleUV2ZW50c0ZvckVkaXRpbmcgPSBmb2N1c2VkRWxlbWVudC5kb2N1bWVudCgpLnNldHRpbmdz
KCkuc3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZCgpOworICAgICAgICBpZiAoaXM8SFRN
TEVsZW1lbnQ+KCpmb2N1c2VkRWxlbWVudCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGZvY3VzZWRI
VE1MRWxlbWVudCA9IGRvd25jYXN0PEhUTUxFbGVtZW50PigqZm9jdXNlZEVsZW1lbnQpOworICAg
ICAgICAgICAgaW5mb3JtYXRpb24uaXNBdXRvY29ycmVjdCA9IGZvY3VzZWRIVE1MRWxlbWVudC5z
aG91bGRBdXRvY29ycmVjdCgpOworICAgICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxp
emVUeXBlID0gZm9jdXNlZEhUTUxFbGVtZW50LmF1dG9jYXBpdGFsaXplVHlwZSgpOworICAgICAg
ICAgICAgaW5mb3JtYXRpb24uaW5wdXRNb2RlID0gZm9jdXNlZEhUTUxFbGVtZW50LmNhbm9uaWNh
bElucHV0TW9kZSgpOworICAgICAgICAgICAgaW5mb3JtYXRpb24uZW50ZXJLZXlIaW50ID0gZm9j
dXNlZEhUTUxFbGVtZW50LmNhbm9uaWNhbEVudGVyS2V5SGludCgpOworICAgICAgICAgICAgaW5m
b3JtYXRpb24uc2hvdWxkU3ludGhlc2l6ZUtleUV2ZW50c0ZvckVkaXRpbmcgPSBmb2N1c2VkSFRN
TEVsZW1lbnQuZG9jdW1lbnQoKS5zZXR0aW5ncygpLnN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0Vu
YWJsZWQoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGluZm9ybWF0aW9uLmlzQXV0
b2NvcnJlY3QgPSB0cnVlOwogICAgICAgICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVU
eXBlID0gQXV0b2NhcGl0YWxpemVUeXBlRGVmYXVsdDsKQEAgLTMxNTcsMTIgKzMxNjAsMTIgQEAg
dm9pZCBXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24mIGluZm9ybWF0aW8KICAgICAgICAgaW5mb3JtYXRpb24uaXNSZWFkT25seSA9
IGZhbHNlOwogICAgIH0KIAotICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50LT5kb2N1bWVudCgpLnF1
aXJrcygpLnNob3VsZFN1cHByZXNzQXV0b2NvcnJlY3Rpb25BbmRBdXRvY2FwdGlhbGl6YXRpb25J
bkhpZGRlbkVkaXRhYmxlQXJlYXMoKSAmJiBpc1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQoKm1f
Zm9jdXNlZEVsZW1lbnQpKSB7CisgICAgaWYgKGZvY3VzZWRFbGVtZW50LT5kb2N1bWVudCgpLnF1
aXJrcygpLnNob3VsZFN1cHByZXNzQXV0b2NvcnJlY3Rpb25BbmRBdXRvY2FwdGlhbGl6YXRpb25J
bkhpZGRlbkVkaXRhYmxlQXJlYXMoKSAmJiBpc1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQoKmZv
Y3VzZWRFbGVtZW50KSkgewogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvY2FwaXRhbGl6ZVR5cGUg
PSBBdXRvY2FwaXRhbGl6ZVR5cGVOb25lOwogICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9jb3Jy
ZWN0ID0gZmFsc2U7CiAgICAgfQogCi0gICAgYXV0byYgcXVpcmtzID0gbV9mb2N1c2VkRWxlbWVu
dC0+ZG9jdW1lbnQoKS5xdWlya3MoKTsKKyAgICBhdXRvJiBxdWlya3MgPSBmb2N1c2VkRWxlbWVu
dC0+ZG9jdW1lbnQoKS5xdWlya3MoKTsKICAgICBpbmZvcm1hdGlvbi5zaG91bGRBdm9pZFJlc2l6
aW5nV2hlbklucHV0Vmlld0JvdW5kc0NoYW5nZSA9IHF1aXJrcy5zaG91bGRBdm9pZFJlc2l6aW5n
V2hlbklucHV0Vmlld0JvdW5kc0NoYW5nZSgpOwogICAgIGluZm9ybWF0aW9uLnNob3VsZEF2b2lk
U2Nyb2xsaW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlID0gcXVpcmtzLnNob3VsZEF2b2lk
U2Nyb2xsaW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxlKCk7CiAgICAgaW5mb3JtYXRpb24u
c2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3NhbEJlaGF2aW9ySW5EYXRhQWN0aXZh
dGlvbiA9IHF1aXJrcy5zaG91bGRVc2VMZWdhY3lTZWxlY3RQb3BvdmVyRGlzbWlzc2FsQmVoYXZp
b3JJbkRhdGFBY3RpdmF0aW9uKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>