<?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>229488</bug_id>
          
          <creation_ts>2021-08-25 00:41:02 -0700</creation_ts>
          <short_desc>Re-generalize top layer element concept</short_desc>
          <delta_ts>2021-08-31 07:54:07 -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>DOM</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>
          <dependson>229480</dependson>
          <blocked>84635</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>ntim</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1787105</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-25 00:41:02 -0700</bug_when>
    <thetext>After https://commits.webkit.org/r281548, the concept of top layer is confined to dialog element.
Re-generalize this concept for all elements so that we can use it in the full screen element.

We&apos;d introduce a new node flag to avoid incurring any perf cost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787107</commentid>
    <comment_count>1</comment_count>
      <attachid>436377</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-25 00:49:56 -0700</bug_when>
    <thetext>Created attachment 436377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787149</commentid>
    <comment_count>2</comment_count>
      <attachid>436377</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-08-25 06:24:30 -0700</bug_when>
    <thetext>Comment on attachment 436377
Patch

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

&gt; Source/WebCore/dom/Document.cpp:8474
&gt;      m_topLayerElements.appendOrMoveToLast(element);

RELEASE_ASSERT(&amp;element.document() == this &amp;&amp; element.isConnected() &amp;&amp; !element.isInTopLayer());
m_topLayerElements.append(element);

Since we&apos;re asserting `!element.isInTopLayer()`, let&apos;s use append() given the moveToLast case should not be possible.

moveToLast was supposed to be to follow spec words: &quot;To add an element to a top layer, remove it from top layer and then append it to top layer.&quot;

Though according to both the dialog and fullscreen specs, movingToLast is not a case that can&apos;t happen: dialog requires checking dialog not being in top layer before adding it in, fullscreen does not allow dialogs to be fullscreened. Some other specs use the top layer (google&apos;s &lt;popup&gt; element), but they&apos;re not heavily implemented yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788028</commentid>
    <comment_count>3</comment_count>
      <attachid>436377</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-08-27 08:38:06 -0700</bug_when>
    <thetext>Comment on attachment 436377
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3398
&gt; +    invalidateStyle();

I think this can use invalidateStyleInternal(). The difference is that invalidateStyle() may also invalidate siblings. That is only needed for things that flip pseudo classes (yes, these need better names).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788627</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 13:08:43 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #2)
&gt; Comment on attachment 436377 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436377&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Document.cpp:8474
&gt; &gt;      m_topLayerElements.appendOrMoveToLast(element);
&gt; 
&gt; RELEASE_ASSERT(&amp;element.document() == this &amp;&amp; element.isConnected() &amp;&amp;
&gt; !element.isInTopLayer());
&gt; m_topLayerElements.append(element);
&gt; 
&gt; Since we&apos;re asserting `!element.isInTopLayer()`, let&apos;s use append() given
&gt; the moveToLast case should not be possible.

Yeah, I was thinking that. Will do.

(In reply to Antti Koivisto from comment #3)
&gt; Comment on attachment 436377 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436377&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:3398
&gt; &gt; +    invalidateStyle();
&gt; 
&gt; I think this can use invalidateStyleInternal(). The difference is that
&gt; invalidateStyle() may also invalidate siblings. That is only needed for
&gt; things that flip pseudo classes (yes, these need better names).

Okay, will do. I guess I&apos;d let it cycle through EWS again to be safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788628</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 13:11:39 -0700</bug_when>
    <thetext>Huh, I just noticed that we&apos;re leaking top layer elements. I&apos;d fix that as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788629</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 13:12:12 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #5)
&gt; Huh, I just noticed that we&apos;re leaking top layer elements. I&apos;d fix that as
&gt; well.

Clarify: we&apos;d be leaking the entire document whenever there is a top layer element when the document loses its last ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788631</commentid>
    <comment_count>7</comment_count>
      <attachid>436804</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 13:13:27 -0700</bug_when>
    <thetext>Created attachment 436804
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788640</commentid>
    <comment_count>8</comment_count>
      <attachid>436804</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 13:34:36 -0700</bug_when>
    <thetext>Comment on attachment 436804
Patch for landing

Wait for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788672</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-30 15:05:32 -0700</bug_when>
    <thetext>Found 5 new test failures: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-cancel-with-select.html, imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-return-value.html, imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/element-removed-from-top-layer-has-original-position.html, imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-display-contents.html, imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-display-none.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788713</commentid>
    <comment_count>10</comment_count>
      <attachid>436823</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 16:13:09 -0700</bug_when>
    <thetext>Created attachment 436823
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788716</commentid>
    <comment_count>11</comment_count>
      <attachid>436824</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 16:15:04 -0700</bug_when>
    <thetext>Created attachment 436824
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788803</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-31 00:40:58 -0700</bug_when>
    <thetext>Committed r281793 (241130@main): &lt;https://commits.webkit.org/241130@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436824.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788804</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-31 00:41:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/82568313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788901</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-08-31 07:54:07 -0700</bug_when>
    <thetext>*** Bug 229149 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436377</attachid>
            <date>2021-08-25 00:49:56 -0700</date>
            <delta_ts>2021-08-30 13:13:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229488-20210825004956.patch</filename>
            <type>text/plain</type>
            <size>10696</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE0ODk0ZDE4MDllMWM4
OTAwZGIxYzMyZDg0Nzc1YTJhNmEzOWFjMy4uNDMyZGU2NjNkYmRkN2Y5ZjY1ODE0NjFlODFkNDI5
Yzc5NTcwODE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA4LTI1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlLWdlbmVyYWxpemUgdG9w
IGxheWVyIGVsZW1lbnQgY29uY2VwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI5NDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgcjI4MTU0OCBtYWRlIHRoZSBjb25jZXB0IG9mIHRvcCBsYXllciBpcyBj
b25maW5lZCB0byBkaWFsb2cgZWxlbWVudCB0byBlbGltaW5hdGUgdGhlIHJ1bnRpbWUgY29zdAor
ICAgICAgICBvZiBtYWtpbmcgNSsgZnVuY3Rpb24gY2FsbHMgYW5kIGxvb2tpbmcgdXAgdGhlIGhh
c2ggbGlzdCBzZXQgcGVyIHJlbW92YWwgb2YgZXZlcnkgZWxlbWVudC4KKworICAgICAgICBUaGlz
IHBhdGNoIHJlLWdlbmVyYWxpemUgdGhpcyBjb25jZXB0IGZvciBhbGwgZWxlbWVudHMgYnkgaW50
cm9kdWNpbmcgYSBuZXcgbm9kZSBmbGFnIHRvIGF2b2lkCisgICAgICAgIHRoZSBydW50aW1lIGNv
c3Qgc28gdGhhdCB3ZSBtYXkgdXNlIGl0IGluIHRoZSBmdXR1cmUgZm9yIHRoZSBmdWxsIHNjcmVl
biBlbGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGVyZSBzaG91bGQgYmUg
bm8gb2JzZXJ2YWJsZSBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBpbnZlcnRzIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZW1iZXIgZnVuY3Rpb25zIGluIEVs
ZW1lbnQgYW5kIERvY3VtZW50CisgICAgICAgIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGZ1bmN0
aW9uIGNhbGxzIGludm9sdmVkIGJ5IDEuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZFRvcExheWVyRWxlbWVudCk6IFJlbmFtZWQg
ZnJvbSBhZGRUb1RvcExheWVyLiBUaGUgY29kZSB0byB1cGRhdGUgdGhlIGxheWVyCisgICAgICAg
IGhhcyBiZWVuIG1vdmVkIHRvIEVsZW1lbnQ6OmFkZFRvVG9wTGF5ZXIuIEFsc28gcmVsZWFzZS10
aW1lIGFzc2VydCB0aGF0IHRoZSBlbGVtZW50IGlzIGNvbm5lY3RlZAorICAgICAgICB0byB0aGlz
IGRvY3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZVRvcExheWVyRWxl
bWVudCk6IERpdHRvLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0
b3IpOiBDYWxsIHJlbW92ZVRvcExheWVyRWxlbWVudCBpZiB0aGlzIGVsZW1lbnQgaGFkIGEgdG9w
IGxheWVyLgorICAgICAgICAoV2ViQ29yZTo6cmVuZGVyTGF5ZXJGb3JFbGVtZW50KTogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjphZGRUb1RvcExheWVyKTogTW92ZWQgZnJvbSBE
b2N1bWVudC4gU2V0IHRoZSBub2RlIGZsYWc6IElzSW5Ub3BMYXllci4KKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnJlbW92ZUZyb21Ub3BMYXllcik6IERpdHRvLCBjbGVhciB0aGUgbm9kZSBm
bGFnLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNJblRvcExheWVyV2lsbENoYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luVG9wTGF5ZXJEaWRDaGFu
Z2UpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50Ojppc0luVG9wTGF5ZXIgY29uc3QpOiBSZXdyaXR0ZW4gdG8gbWFrZSB1c2Ugb2Yg
bmV3IG5vZGUgZmxhZy4KKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZUZsYWcpOiBBZGRlZCBhIG5ldyBub2RlIGZsYWc6IElzSW5Ub3BMYXllci4KKyAgICAgICAg
KiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFs
b2dFbGVtZW50OjpzaG93TW9kYWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1l
bnQ6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVk
RnJvbUFuY2VzdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50
Lmg6CisKIDIwMjEtMDgtMjQgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgxNTQwLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggNjVjZmJmOGI3OTVkNjNkM2M5OTlkMDFkOWIzODRiMjA1MDA5ZDQ2NC4u
ZGU5YmE5MDU3NzlhNzQ0MjRjZGIwZTU4NzMzNDljMTE3ZDcwN2I2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC04NDY3LDI0ICs4NDY3LDE4IEBAIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0
aW9uPj4gRG9jdW1lbnQ6Om1hdGNoaW5nQW5pbWF0aW9ucyhjb25zdCBXVEY6OkZ1bmN0aW9uPGJv
CiAgICAgcmV0dXJuIGFuaW1hdGlvbnM7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZFRvVG9wTGF5
ZXIoRWxlbWVudCYgZWxlbWVudCkKK3ZvaWQgRG9jdW1lbnQ6OmFkZFRvcExheWVyRWxlbWVudChF
bGVtZW50JiBlbGVtZW50KQogewotICAgIGVsZW1lbnQuaXNJblRvcExheWVyV2lsbENoYW5nZSgp
OwotCisgICAgUkVMRUFTRV9BU1NFUlQoJmVsZW1lbnQuZG9jdW1lbnQoKSA9PSB0aGlzICYmIGVs
ZW1lbnQuaXNDb25uZWN0ZWQoKSAmJiAhZWxlbWVudC5pc0luVG9wTGF5ZXIoKSk7CiAgICAgLy8g
VG8gYWRkIGFuIGVsZW1lbnQgdG8gYSB0b3AgbGF5ZXIsIHJlbW92ZSBpdCBmcm9tIHRvcCBsYXll
ciBhbmQgdGhlbiBhcHBlbmQgaXQgdG8gdG9wIGxheWVyLgogICAgIG1fdG9wTGF5ZXJFbGVtZW50
cy5hcHBlbmRPck1vdmVUb0xhc3QoZWxlbWVudCk7Ci0KLSAgICBlbGVtZW50LmlzSW5Ub3BMYXll
ckRpZENoYW5nZSgpOwogfQogCi12b2lkIERvY3VtZW50OjpyZW1vdmVGcm9tVG9wTGF5ZXIoRWxl
bWVudCYgZWxlbWVudCkKK3ZvaWQgRG9jdW1lbnQ6OnJlbW92ZVRvcExheWVyRWxlbWVudChFbGVt
ZW50JiBlbGVtZW50KQogewotICAgIGVsZW1lbnQuaXNJblRvcExheWVyV2lsbENoYW5nZSgpOwot
Ci0gICAgaWYgKCFtX3RvcExheWVyRWxlbWVudHMucmVtb3ZlKGVsZW1lbnQpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBlbGVtZW50LmlzSW5Ub3BMYXllckRpZENoYW5nZSgpOworICAgIFJFTEVB
U0VfQVNTRVJUKCZlbGVtZW50LmRvY3VtZW50KCkgPT0gdGhpcyAmJiBlbGVtZW50LmlzSW5Ub3BM
YXllcigpKTsKKyAgICBhdXRvIGRpZFJlbW92ZSA9IG1fdG9wTGF5ZXJFbGVtZW50cy5yZW1vdmUo
ZWxlbWVudCk7CisgICAgUkVMRUFTRV9BU1NFUlQoZGlkUmVtb3ZlKTsKIH0KIAogSFRNTERpYWxv
Z0VsZW1lbnQqIERvY3VtZW50OjphY3RpdmVNb2RhbERpYWxvZygpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IDRjMjk1ZDQ1OGYxYWUwNjE3OWE1NDZiOTRkYjM4MDc3MjY1NGMxYzUuLjZl
ZDU2MWE1NzNkNzI0Zjc4MzEyOTk1YmFmNjE5Njg0ZWU0MjM3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCkBAIC0xNTExLDggKzE1MTEsOCBAQCBwdWJsaWM6CiAgICAgRG9jdW1lbnRUaW1lbGluZXND
b250cm9sbGVyKiB0aW1lbGluZXNDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV90aW1lbGlu
ZXNDb250cm9sbGVyLmdldCgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRUaW1lbGlu
ZXNDb250cm9sbGVyJiBlbnN1cmVUaW1lbGluZXNDb250cm9sbGVyKCk7CiAKLSAgICB2b2lkIGFk
ZFRvVG9wTGF5ZXIoRWxlbWVudCYpOwotICAgIHZvaWQgcmVtb3ZlRnJvbVRvcExheWVyKEVsZW1l
bnQmKTsKKyAgICB2b2lkIGFkZFRvcExheWVyRWxlbWVudChFbGVtZW50Jik7CisgICAgdm9pZCBy
ZW1vdmVUb3BMYXllckVsZW1lbnQoRWxlbWVudCYpOwogICAgIGNvbnN0IExpc3RIYXNoU2V0PFJl
ZjxFbGVtZW50Pj4mIHRvcExheWVyRWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX3RvcExheWVy
RWxlbWVudHM7IH0KIAogICAgIEhUTUxEaWFsb2dFbGVtZW50KiBhY3RpdmVNb2RhbERpYWxvZygp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDBlZTg4MDJmMGFhZTI5NzEzZjA4MjIy
MDQ2YWQ2MGJiMjE2Y2FlNzUuLmZjNDQ0MjAxYTJlZWNhNmMzNWI3OWZkMjNiOWZjOGQ2ZmVhYzdk
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIyNTQsNyArMjI1NCw3IEBAIHZvaWQgRWxl
bWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFp
bmVyTm9kZSYgb2xkUGFyCiAgICAgaWYgKGNvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQoKSkKICAg
ICAgICAgc2V0Q29udGFpbnNGdWxsU2NyZWVuRWxlbWVudE9uQW5jZXN0b3JzQ3Jvc3NpbmdGcmFt
ZUJvdW5kYXJpZXMoZmFsc2UpOwogI2VuZGlmCi0gICAgCisKICAgICBpZiAoYXV0byogcGFnZSA9
IGRvY3VtZW50KCkucGFnZSgpKSB7CiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAgICAg
cGFnZS0+cG9pbnRlckxvY2tDb250cm9sbGVyKCkuZWxlbWVudFdhc1JlbW92ZWQoKnRoaXMpOwpA
QCAtMjMyNiw2ICsyMzI2LDkgQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJl
bW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXIKICAgICB9CiAjZW5k
aWYKIAorICAgIGlmIChVTkxJS0VMWShpc0luVG9wTGF5ZXIoKSkpCisgICAgICAgIHJlbW92ZUZy
b21Ub3BMYXllcigpOworCiAgICAgaWYgKGhhc05vZGVGbGFnKE5vZGVGbGFnOjpIYXNFbGVtZW50
SWRlbnRpZmllcikpIHsKICAgICAgICAgZG9jdW1lbnQoKS5pZGVudGlmaWVkRWxlbWVudFdhc1Jl
bW92ZWRGcm9tRG9jdW1lbnQoKnRoaXMpOwogICAgICAgICBjbGVhck5vZGVGbGFnKE5vZGVGbGFn
OjpIYXNFbGVtZW50SWRlbnRpZmllcik7CkBAIC0zMzU2LDIyICszMzU5LDQ2IEBAIHZvaWQgRWxl
bWVudDo6d2lsbEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkKICAgICAgICAgY2hpbGQuYW5jZXN0
b3JXaWxsRW50ZXJGdWxsc2NyZWVuKCk7CiB9CiAKLXZvaWQgRWxlbWVudDo6aXNJblRvcExheWVy
V2lsbENoYW5nZSgpCitzdGF0aWMgaW5saW5lIFJlbmRlckxheWVyKiByZW5kZXJMYXllckZvckVs
ZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIHsKLSAgICBpZiAocmVuZGVyZXIoKSkgewotICAgICAg
ICBpZiAocmVuZGVyZXIoKS0+aGFzTGF5ZXIoKSkKLSAgICAgICAgICAgIGRvd25jYXN0PFJlbmRl
ckxheWVyTW9kZWxPYmplY3Q+KCpyZW5kZXJlcigpKS5sYXllcigpLT5lc3RhYmxpc2hlc1RvcExh
eWVyV2lsbENoYW5nZSgpOwotICAgIH0KKyAgICBhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQucmVu
ZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aGFzTGF5ZXIoKSB8fCAh
aXM8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4oKnJlbmRl
cmVyKS5sYXllcigpOwogfQogCi12b2lkIEVsZW1lbnQ6OmlzSW5Ub3BMYXllckRpZENoYW5nZSgp
Cit2b2lkIEVsZW1lbnQ6OmFkZFRvVG9wTGF5ZXIoKQogeworICAgIFJFTEVBU0VfQVNTRVJUKCFp
c0luVG9wTGF5ZXIoKSk7CisgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlIHNjcmlwdERpc2FsbG93
ZWRTY29wZTsKKworICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVudCgq
dGhpcykpCisgICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyV2lsbENoYW5nZSgpOwor
CisgICAgZG9jdW1lbnQoKS5hZGRUb3BMYXllckVsZW1lbnQoKnRoaXMpOworICAgIHNldE5vZGVG
bGFnKE5vZGVGbGFnOjpJc0luVG9wTGF5ZXIpOworCiAgICAgaW52YWxpZGF0ZVN0eWxlKCk7CiAK
LSAgICBpZiAocmVuZGVyZXIoKSkgewotICAgICAgICBpZiAocmVuZGVyZXIoKS0+aGFzTGF5ZXIo
KSkKLSAgICAgICAgICAgIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCpyZW5kZXJl
cigpKS5sYXllcigpLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdlKCk7Ci0gICAgfQorICAg
IGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVudCgqdGhpcykpCisgICAgICAg
IGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdlKCk7Cit9CisKK3ZvaWQgRWxlbWVu
dDo6cmVtb3ZlRnJvbVRvcExheWVyKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChpc0luVG9wTGF5
ZXIoKSk7CisgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlIHNjcmlwdERpc2FsbG93ZWRTY29wZTsK
KworICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVudCgqdGhpcykpCisg
ICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyV2lsbENoYW5nZSgpOworCisgICAgZG9j
dW1lbnQoKS5yZW1vdmVUb3BMYXllckVsZW1lbnQoKnRoaXMpOworICAgIGNsZWFyTm9kZUZsYWco
Tm9kZUZsYWc6OklzSW5Ub3BMYXllcik7CisKKyAgICBpbnZhbGlkYXRlU3R5bGUoKTsKKworICAg
IGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVudCgqdGhpcykpCisgICAgICAg
IGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdlKCk7CiB9CiAKIHN0YXRpYyBQc2V1
ZG9FbGVtZW50KiBiZWZvcmVPckFmdGVyUHNldWRvRWxlbWVudChjb25zdCBFbGVtZW50JiBob3N0
LCBQc2V1ZG9JZCBwc2V1ZG9FbGVtZW50U3BlY2lmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXgg
OTQ4ZTBkNjExMTIwMmM4ZmY1YmU3MjczM2E3NmM5YTBiZDZhN2JkZS4uYmEyNGEwMTdmNmFjYzcz
N2U1YmUyMzc0ZjE3YTQ3ZTZlMjFjMzBkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC01MTEsOSAr
NTExLDkgQEAgcHVibGljOgogICAgIGNvbnN0IFJlbmRlclN0eWxlKiBsYXN0U3R5bGVDaGFuZ2VF
dmVudFN0eWxlKFBzZXVkb0lkKSBjb25zdDsKICAgICB2b2lkIHNldExhc3RTdHlsZUNoYW5nZUV2
ZW50U3R5bGUoUHNldWRvSWQsIHN0ZDo6dW5pcXVlX3B0cjxjb25zdCBSZW5kZXJTdHlsZT4mJik7
CiAKLSAgICBib29sIGlzSW5Ub3BMYXllcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCkudG9w
TGF5ZXJFbGVtZW50cygpLmNvbnRhaW5zKG1ha2VSZWYoKmNvbnN0X2Nhc3Q8RWxlbWVudCo+KHRo
aXMpKSk7IH0KLSAgICB2b2lkIGlzSW5Ub3BMYXllcldpbGxDaGFuZ2UoKTsKLSAgICB2b2lkIGlz
SW5Ub3BMYXllckRpZENoYW5nZSgpOworICAgIGJvb2wgaXNJblRvcExheWVyKCkgY29uc3QgeyBy
ZXR1cm4gaGFzTm9kZUZsYWcoTm9kZUZsYWc6OklzSW5Ub3BMYXllcik7IH0KKyAgICB2b2lkIGFk
ZFRvVG9wTGF5ZXIoKTsKKyAgICB2b2lkIHJlbW92ZUZyb21Ub3BMYXllcigpOwogCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGJvb2wgY29udGFpbnNGdWxsU2NyZWVuRWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIGhhc05vZGVGbGFnKE5vZGVGbGFnOjpDb250YWluc0Z1bGxTY3JlZW5F
bGVtZW50KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggZGFmNmJkOTJlMGEzNDAwYTJlMDRlYTljYTdkYmY2
MDliMGZkZjc1OC4uMzdkYjZiNGQ4NDZkM2E1MGY4NzE4NWZhZDRkODRiZTkxYjkyNTk3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCkBAIC01NjYsMTAgKzU2NiwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIENvbnRh
aW5zRnVsbFNjcmVlbkVsZW1lbnQgPSAxIDw8IDI0LAogI2VuZGlmCiAgICAgICAgIElzQ29tcHV0
ZWRTdHlsZUludmFsaWRGbGFnID0gMSA8PCAyNSwKLQogICAgICAgICBIYXNTaGFkb3dSb290Q29u
dGFpbmluZ1Nsb3RzID0gMSA8PCAyNiwKKyAgICAgICAgSXNJblRvcExheWVyID0gMSA8PCAyNywK
IAotICAgICAgICAvLyBCaXRzIDI3LTMxIGFyZSBmcmVlLgorICAgICAgICAvLyBCaXRzIDI4LTMx
IGFyZSBmcmVlLgogICAgIH07CiAKICAgICBlbnVtIGNsYXNzIFRhYkluZGV4U3RhdGUgOiB1aW50
OF90IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKaW5kZXggM2Mw
YWJmM2E0ZWU3NzU5ZjE3NDkzODQxOTg3NTNiNGY3ZDkzMzAzZC4uMDhhZDM0ZDE5NjQxNGI3OGYy
MjVhOTEwMzJmYmFjMDlmYzg0NDYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTERpYWxv
Z0VsZW1lbnQ6OnNob3dNb2RhbCgpCiAgICAgbV9pc01vZGFsID0gdHJ1ZTsKIAogICAgIGlmICgh
aXNJblRvcExheWVyKCkpCi0gICAgICAgIGRvY3VtZW50KCkuYWRkVG9Ub3BMYXllcigqdGhpcyk7
CisgICAgICAgIGFkZFRvVG9wTGF5ZXIoKTsKIAogICAgIC8vIEZJWE1FOiBBZGQgc3RlcHMgOCAm
IDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKIApAQCAtODYsNyArODYsNyBAQCB2
b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBTdHJpbmcmIHJlc3VsdCkKICAgICAg
ICAgbV9yZXR1cm5WYWx1ZSA9IHJlc3VsdDsKIAogICAgIGlmIChpc0luVG9wTGF5ZXIoKSkKLSAg
ICAgICAgZG9jdW1lbnQoKS5yZW1vdmVGcm9tVG9wTGF5ZXIoKnRoaXMpOworICAgICAgICByZW1v
dmVGcm9tVG9wTGF5ZXIoKTsKIAogICAgIC8vIEZJWE1FOiBBZGQgc3RlcCA2IGZyb20gc3BlYy4g
KHdlYmtpdC5vcmcvYi8yMjc1MzcpCiAKQEAgLTk1LDEzICs5NSw2IEBAIHZvaWQgSFRNTERpYWxv
Z0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQogICAgIH0pOwogfQogCi12b2lk
IEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlIHJlbW92
YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKQotewotICAgIEhU
TUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJl
bW92ZWRUcmVlKTsKLSAgICBpZiAoaXNJblRvcExheWVyKCkpCi0gICAgICAgIGRvY3VtZW50KCku
cmVtb3ZlRnJvbVRvcExheWVyKCp0aGlzKTsKLX0KLQogdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
cXVldWVDYW5jZWxUYXNrKCkKIHsKICAgICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFz
ayhUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90ZWN0ZWRUaGlzID0gR0NSZWFjaGFi
bGVSZWYgeyAqdGhpcyB9XSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgK
aW5kZXggNDcxYTZiM2RkY2VmNjQxODBhZDI0NTM1ZTI4NDY1NjBmZWNlZDYxZC4uMTk2YWRhZTg1
MjgzNmE2MzAyNThmNGEzZjJmOTVkZDgwNDY4YTk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TERpYWxvZ0VsZW1lbnQuaApAQCAtNTAsOCArNTAsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IEhUTUxEaWFsb2dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0g
ICAgdm9pZCByZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBv
bGRQYXJlbnRPZlJlbW92ZWRUcmVlKSBmaW5hbDsKLQogICAgIFN0cmluZyBtX3JldHVyblZhbHVl
OwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2UgfTsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436804</attachid>
            <date>2021-08-30 13:13:27 -0700</date>
            <delta_ts>2021-08-30 16:13:06 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229488-20210830131326.patch</filename>
            <type>text/plain</type>
            <size>11173</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE0ODk0ZDE4MDllMWM4
OTAwZGIxYzMyZDg0Nzc1YTJhNmEzOWFjMy4uZDAzYmJiODI5YjgwYThlMjQwOTVlMTFlZjZiMWY1
Y2JjNTI5ODhhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA4LTI1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlLWdlbmVyYWxpemUgdG9w
IGxheWVyIGVsZW1lbnQgY29uY2VwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI5NDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlz
dG8uCisKKyAgICAgICAgcjI4MTU0OCBtYWRlIHRoZSBjb25jZXB0IG9mIHRvcCBsYXllciBpcyBj
b25maW5lZCB0byBkaWFsb2cgZWxlbWVudCB0byBlbGltaW5hdGUgdGhlIHJ1bnRpbWUgY29zdAor
ICAgICAgICBvZiBtYWtpbmcgNSsgZnVuY3Rpb24gY2FsbHMgYW5kIGxvb2tpbmcgdXAgdGhlIGxp
c3QgaGFzaCBzZXQgcGVyIHJlbW92YWwgb2YgZXZlcnkgZWxlbWVudC4KKworICAgICAgICBUaGlz
IHBhdGNoIHJlLWdlbmVyYWxpemUgdGhpcyBjb25jZXB0IGZvciBhbGwgZWxlbWVudHMgYnkgaW50
cm9kdWNpbmcgYSBuZXcgbm9kZSBmbGFnIHRvIGF2b2lkCisgICAgICAgIHRoZSBydW50aW1lIGNv
c3Qgc28gdGhhdCB3ZSBtYXkgdXNlIGl0IGluIHRoZSBmdXR1cmUgZm9yIHRoZSBmdWxsIHNjcmVl
biBlbGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGVyZSBzaG91bGQgYmUg
bm8gb2JzZXJ2YWJsZSBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBpbnZlcnRzIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZW1iZXIgZnVuY3Rpb25zIGluIEVs
ZW1lbnQgYW5kIERvY3VtZW50CisgICAgICAgIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGZ1bmN0
aW9uIGNhbGxzIGludm9sdmVkIGJ5IDEuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKTogQ2xlYXIgdGhlIGxpc3Qgb2YgdG9w
IGxheWVyIGVsZW1lbnRzIHRvIGF2b2lkIGxlYWtzLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmFkZFRvcExheWVyRWxlbWVudCk6IFJlbmFtZWQgZnJvbSBhZGRUb1RvcExheWVyLiBUaGUg
Y29kZSB0byB1cGRhdGUgdGhlIGxheWVyCisgICAgICAgIGhhcyBiZWVuIG1vdmVkIHRvIEVsZW1l
bnQ6OmFkZFRvVG9wTGF5ZXIuIEFsc28gcmVsZWFzZS10aW1lIGFzc2VydCB0aGF0IHRoZSBlbGVt
ZW50IGlzIGNvbm5lY3RlZAorICAgICAgICB0byB0aGlzIGRvY3VtZW50LgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OnJlbW92ZVRvcExheWVyRWxlbWVudCk6IERpdHRvLgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOiBDYWxsIHJlbW92ZVRvcExheWVy
RWxlbWVudCBpZiB0aGlzIGVsZW1lbnQgaGFkIGEgdG9wIGxheWVyLgorICAgICAgICAoV2ViQ29y
ZTo6cmVuZGVyTGF5ZXJGb3JFbGVtZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjphZGRUb1RvcExheWVyKTogTW92ZWQgZnJvbSBEb2N1bWVudC4gU2V0IHRoZSBub2RlIGZs
YWc6IElzSW5Ub3BMYXllci4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZUZyb21U
b3BMYXllcik6IERpdHRvLCBjbGVhciB0aGUgbm9kZSBmbGFnLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6aXNJblRvcExheWVyV2lsbENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50Ojppc0luVG9wTGF5ZXJEaWRDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luVG9wTGF5ZXIg
Y29uc3QpOiBSZXdyaXR0ZW4gdG8gbWFrZSB1c2Ugb2YgbmV3IG5vZGUgZmxhZy4KKyAgICAgICAg
KiBkb20vTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUZsYWcpOiBBZGRlZCBhIG5ldyBu
b2RlIGZsYWc6IElzSW5Ub3BMYXllci4KKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9kYWwpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKTogRGVsZXRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjEtMDgtMjQgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjgxNTQwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNjVjZmJmOGI3
OTVkNjNkM2M5OTlkMDFkOWIzODRiMjA1MDA5ZDQ2NC4uZTljYTg4MDdlNDQ5ZjZkMWM4Y2VjMjNi
MzI3MjdkMGFiYjc2YTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04MDgsNiArODA4
LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICAgICAgbV9mdWxsc2NyZWVuTWFuYWdlci0+Y2xlYXIoKTsKICNlbmRpZgor
ICAgICAgICBtX3RvcExheWVyRWxlbWVudHMuY2xlYXIoKTsKICAgICAgICAgbV9hc3NvY2lhdGVk
Rm9ybUNvbnRyb2xzLmNsZWFyKCk7CiAgICAgICAgIG1fcGVuZGluZ1JlbmRlclRyZWVUZXh0VXBk
YXRlID0geyB9OwogCkBAIC04NDY3LDI0ICs4NDY4LDE5IEBAIFZlY3RvcjxSZWZQdHI8V2ViQW5p
bWF0aW9uPj4gRG9jdW1lbnQ6Om1hdGNoaW5nQW5pbWF0aW9ucyhjb25zdCBXVEY6OkZ1bmN0aW9u
PGJvCiAgICAgcmV0dXJuIGFuaW1hdGlvbnM7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZFRvVG9w
TGF5ZXIoRWxlbWVudCYgZWxlbWVudCkKK3ZvaWQgRG9jdW1lbnQ6OmFkZFRvcExheWVyRWxlbWVu
dChFbGVtZW50JiBlbGVtZW50KQogewotICAgIGVsZW1lbnQuaXNJblRvcExheWVyV2lsbENoYW5n
ZSgpOwotCisgICAgUkVMRUFTRV9BU1NFUlQoJmVsZW1lbnQuZG9jdW1lbnQoKSA9PSB0aGlzICYm
IGVsZW1lbnQuaXNDb25uZWN0ZWQoKSAmJiAhZWxlbWVudC5pc0luVG9wTGF5ZXIoKSk7CiAgICAg
Ly8gVG8gYWRkIGFuIGVsZW1lbnQgdG8gYSB0b3AgbGF5ZXIsIHJlbW92ZSBpdCBmcm9tIHRvcCBs
YXllciBhbmQgdGhlbiBhcHBlbmQgaXQgdG8gdG9wIGxheWVyLgotICAgIG1fdG9wTGF5ZXJFbGVt
ZW50cy5hcHBlbmRPck1vdmVUb0xhc3QoZWxlbWVudCk7Ci0KLSAgICBlbGVtZW50LmlzSW5Ub3BM
YXllckRpZENoYW5nZSgpOworICAgIGF1dG8gcmVzdWx0ID0gbV90b3BMYXllckVsZW1lbnRzLmFk
ZChlbGVtZW50KTsKKyAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAK
LXZvaWQgRG9jdW1lbnQ6OnJlbW92ZUZyb21Ub3BMYXllcihFbGVtZW50JiBlbGVtZW50KQordm9p
ZCBEb2N1bWVudDo6cmVtb3ZlVG9wTGF5ZXJFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0g
ICAgZWxlbWVudC5pc0luVG9wTGF5ZXJXaWxsQ2hhbmdlKCk7Ci0KLSAgICBpZiAoIW1fdG9wTGF5
ZXJFbGVtZW50cy5yZW1vdmUoZWxlbWVudCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGVsZW1l
bnQuaXNJblRvcExheWVyRGlkQ2hhbmdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoJmVsZW1lbnQu
ZG9jdW1lbnQoKSA9PSB0aGlzICYmIGVsZW1lbnQuaXNJblRvcExheWVyKCkpOworICAgIGF1dG8g
ZGlkUmVtb3ZlID0gbV90b3BMYXllckVsZW1lbnRzLnJlbW92ZShlbGVtZW50KTsKKyAgICBSRUxF
QVNFX0FTU0VSVChkaWRSZW1vdmUpOwogfQogCiBIVE1MRGlhbG9nRWxlbWVudCogRG9jdW1lbnQ6
OmFjdGl2ZU1vZGFsRGlhbG9nKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNGMyOTVk
NDU4ZjFhZTA2MTc5YTU0NmI5NGRiMzgwNzcyNjU0YzFjNS4uNmVkNTYxYTU3M2Q3MjRmNzgzMTI5
OTViYWY2MTk2ODRlZTQyMzcxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1MTEsOCArMTUx
MSw4IEBAIHB1YmxpYzoKICAgICBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIqIHRpbWVsaW5l
c0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3RpbWVsaW5lc0NvbnRyb2xsZXIuZ2V0KCk7
IH0KICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXImIGVuc3Vy
ZVRpbWVsaW5lc0NvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQgYWRkVG9Ub3BMYXllcihFbGVtZW50
Jik7Ci0gICAgdm9pZCByZW1vdmVGcm9tVG9wTGF5ZXIoRWxlbWVudCYpOworICAgIHZvaWQgYWRk
VG9wTGF5ZXJFbGVtZW50KEVsZW1lbnQmKTsKKyAgICB2b2lkIHJlbW92ZVRvcExheWVyRWxlbWVu
dChFbGVtZW50Jik7CiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8UmVmPEVsZW1lbnQ+PiYgdG9wTGF5
ZXJFbGVtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fdG9wTGF5ZXJFbGVtZW50czsgfQogCiAgICAg
SFRNTERpYWxvZ0VsZW1lbnQqIGFjdGl2ZU1vZGFsRGlhbG9nKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKaW5kZXggMGVlODgwMmYwYWFlMjk3MTNmMDgyMjIwNDZhZDYwYmIyMTZjYWU3NS4u
M2EzOGY0ZGVhYmJlNGNlYTNlNjY0OTNhNDE1YzE3ZjA2MGE3OTBmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcApAQCAtMjI1NCw3ICsyMjU0LDcgQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVkRnJvbUFu
Y2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXIKICAg
ICBpZiAoY29udGFpbnNGdWxsU2NyZWVuRWxlbWVudCgpKQogICAgICAgICBzZXRDb250YWluc0Z1
bGxTY3JlZW5FbGVtZW50T25BbmNlc3RvcnNDcm9zc2luZ0ZyYW1lQm91bmRhcmllcyhmYWxzZSk7
CiAjZW5kaWYKLSAgICAKKwogICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkp
IHsKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgICAgICBwYWdlLT5wb2ludGVyTG9ja0Nv
bnRyb2xsZXIoKS5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7CkBAIC0yMzI2LDYgKzIzMjYsOSBA
QCB2b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5
cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcgogICAgIH0KICNlbmRpZgogCisgICAgaWYgKFVOTElL
RUxZKGlzSW5Ub3BMYXllcigpKSkKKyAgICAgICAgcmVtb3ZlRnJvbVRvcExheWVyKCk7CisKICAg
ICBpZiAoaGFzTm9kZUZsYWcoTm9kZUZsYWc6Okhhc0VsZW1lbnRJZGVudGlmaWVyKSkgewogICAg
ICAgICBkb2N1bWVudCgpLmlkZW50aWZpZWRFbGVtZW50V2FzUmVtb3ZlZEZyb21Eb2N1bWVudCgq
dGhpcyk7CiAgICAgICAgIGNsZWFyTm9kZUZsYWcoTm9kZUZsYWc6Okhhc0VsZW1lbnRJZGVudGlm
aWVyKTsKQEAgLTMzNTYsMjIgKzMzNTksNDYgQEAgdm9pZCBFbGVtZW50Ojp3aWxsQmVjb21lRnVs
bHNjcmVlbkVsZW1lbnQoKQogICAgICAgICBjaGlsZC5hbmNlc3RvcldpbGxFbnRlckZ1bGxzY3Jl
ZW4oKTsKIH0KIAotdm9pZCBFbGVtZW50Ojppc0luVG9wTGF5ZXJXaWxsQ2hhbmdlKCkKK3N0YXRp
YyBpbmxpbmUgUmVuZGVyTGF5ZXIqIHJlbmRlckxheWVyRm9yRWxlbWVudChFbGVtZW50JiBlbGVt
ZW50KQogewotICAgIGlmIChyZW5kZXJlcigpKSB7Ci0gICAgICAgIGlmIChyZW5kZXJlcigpLT5o
YXNMYXllcigpKQotICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4o
KnJlbmRlcmVyKCkpLmxheWVyKCktPmVzdGFibGlzaGVzVG9wTGF5ZXJXaWxsQ2hhbmdlKCk7Ci0g
ICAgfQorICAgIGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOworICAgIGlmICgh
cmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5oYXNMYXllcigpIHx8ICFpczxSZW5kZXJMYXllck1vZGVs
T2JqZWN0PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBk
b3duY2FzdDxSZW5kZXJMYXllck1vZGVsT2JqZWN0PigqcmVuZGVyZXIpLmxheWVyKCk7CiB9CiAK
LXZvaWQgRWxlbWVudDo6aXNJblRvcExheWVyRGlkQ2hhbmdlKCkKK3ZvaWQgRWxlbWVudDo6YWRk
VG9Ub3BMYXllcigpCiB7Ci0gICAgaW52YWxpZGF0ZVN0eWxlKCk7CisgICAgUkVMRUFTRV9BU1NF
UlQoIWlzSW5Ub3BMYXllcigpKTsKKyAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGUgc2NyaXB0RGlz
YWxsb3dlZFNjb3BlOwogCi0gICAgaWYgKHJlbmRlcmVyKCkpIHsKLSAgICAgICAgaWYgKHJlbmRl
cmVyKCktPmhhc0xheWVyKCkpCi0gICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJMYXllck1vZGVs
T2JqZWN0PigqcmVuZGVyZXIoKSkubGF5ZXIoKS0+ZXN0YWJsaXNoZXNUb3BMYXllckRpZENoYW5n
ZSgpOwotICAgIH0KKyAgICBpZiAoYXV0byogbGF5ZXIgPSByZW5kZXJMYXllckZvckVsZW1lbnQo
KnRoaXMpKQorICAgICAgICBsYXllci0+ZXN0YWJsaXNoZXNUb3BMYXllcldpbGxDaGFuZ2UoKTsK
KworICAgIGRvY3VtZW50KCkuYWRkVG9wTGF5ZXJFbGVtZW50KCp0aGlzKTsKKyAgICBzZXROb2Rl
RmxhZyhOb2RlRmxhZzo6SXNJblRvcExheWVyKTsKKworICAgIGludmFsaWRhdGVTdHlsZUludGVy
bmFsKCk7CisKKyAgICBpZiAoYXV0byogbGF5ZXIgPSByZW5kZXJMYXllckZvckVsZW1lbnQoKnRo
aXMpKQorICAgICAgICBsYXllci0+ZXN0YWJsaXNoZXNUb3BMYXllckRpZENoYW5nZSgpOworfQor
Cit2b2lkIEVsZW1lbnQ6OnJlbW92ZUZyb21Ub3BMYXllcigpCit7CisgICAgUkVMRUFTRV9BU1NF
UlQoaXNJblRvcExheWVyKCkpOworICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZSBzY3JpcHREaXNh
bGxvd2VkU2NvcGU7CisKKyAgICBpZiAoYXV0byogbGF5ZXIgPSByZW5kZXJMYXllckZvckVsZW1l
bnQoKnRoaXMpKQorICAgICAgICBsYXllci0+ZXN0YWJsaXNoZXNUb3BMYXllcldpbGxDaGFuZ2Uo
KTsKKworICAgIGRvY3VtZW50KCkucmVtb3ZlVG9wTGF5ZXJFbGVtZW50KCp0aGlzKTsKKyAgICBj
bGVhck5vZGVGbGFnKE5vZGVGbGFnOjpJc0luVG9wTGF5ZXIpOworCisgICAgaW52YWxpZGF0ZVN0
eWxlSW50ZXJuYWwoKTsKKworICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxl
bWVudCgqdGhpcykpCisgICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdl
KCk7CiB9CiAKIHN0YXRpYyBQc2V1ZG9FbGVtZW50KiBiZWZvcmVPckFmdGVyUHNldWRvRWxlbWVu
dChjb25zdCBFbGVtZW50JiBob3N0LCBQc2V1ZG9JZCBwc2V1ZG9FbGVtZW50U3BlY2lmaWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmgKaW5kZXggOTQ4ZTBkNjExMTIwMmM4ZmY1YmU3MjczM2E3NmM5YTBiZDZh
N2JkZS4uYmEyNGEwMTdmNmFjYzczN2U1YmUyMzc0ZjE3YTQ3ZTZlMjFjMzBkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCkBAIC01MTEsOSArNTExLDkgQEAgcHVibGljOgogICAgIGNvbnN0IFJlbmRlclN0
eWxlKiBsYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKFBzZXVkb0lkKSBjb25zdDsKICAgICB2b2lk
IHNldExhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUoUHNldWRvSWQsIHN0ZDo6dW5pcXVlX3B0cjxj
b25zdCBSZW5kZXJTdHlsZT4mJik7CiAKLSAgICBib29sIGlzSW5Ub3BMYXllcigpIGNvbnN0IHsg
cmV0dXJuIGRvY3VtZW50KCkudG9wTGF5ZXJFbGVtZW50cygpLmNvbnRhaW5zKG1ha2VSZWYoKmNv
bnN0X2Nhc3Q8RWxlbWVudCo+KHRoaXMpKSk7IH0KLSAgICB2b2lkIGlzSW5Ub3BMYXllcldpbGxD
aGFuZ2UoKTsKLSAgICB2b2lkIGlzSW5Ub3BMYXllckRpZENoYW5nZSgpOworICAgIGJvb2wgaXNJ
blRvcExheWVyKCkgY29uc3QgeyByZXR1cm4gaGFzTm9kZUZsYWcoTm9kZUZsYWc6OklzSW5Ub3BM
YXllcik7IH0KKyAgICB2b2lkIGFkZFRvVG9wTGF5ZXIoKTsKKyAgICB2b2lkIHJlbW92ZUZyb21U
b3BMYXllcigpOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGJvb2wgY29udGFp
bnNGdWxsU2NyZWVuRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGhhc05vZGVGbGFnKE5vZGVGbGFn
OjpDb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggZGFmNmJkOTJl
MGEzNDAwYTJlMDRlYTljYTdkYmY2MDliMGZkZjc1OC4uMzdkYjZiNGQ4NDZkM2E1MGY4NzE4NWZh
ZDRkODRiZTkxYjkyNTk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC01NjYsMTAgKzU2NiwxMCBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIENvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQgPSAxIDw8IDI0LAogI2Vu
ZGlmCiAgICAgICAgIElzQ29tcHV0ZWRTdHlsZUludmFsaWRGbGFnID0gMSA8PCAyNSwKLQogICAg
ICAgICBIYXNTaGFkb3dSb290Q29udGFpbmluZ1Nsb3RzID0gMSA8PCAyNiwKKyAgICAgICAgSXNJ
blRvcExheWVyID0gMSA8PCAyNywKIAotICAgICAgICAvLyBCaXRzIDI3LTMxIGFyZSBmcmVlLgor
ICAgICAgICAvLyBCaXRzIDI4LTMxIGFyZSBmcmVlLgogICAgIH07CiAKICAgICBlbnVtIGNsYXNz
IFRhYkluZGV4U3RhdGUgOiB1aW50OF90IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5jcHAKaW5kZXggM2MwYWJmM2E0ZWU3NzU5ZjE3NDkzODQxOTg3NTNiNGY3ZDkzMzAz
ZC4uMDhhZDM0ZDE5NjQxNGI3OGYyMjVhOTEwMzJmYmFjMDlmYzg0NDYxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCgpCiAgICAgbV9pc01vZGFs
ID0gdHJ1ZTsKIAogICAgIGlmICghaXNJblRvcExheWVyKCkpCi0gICAgICAgIGRvY3VtZW50KCku
YWRkVG9Ub3BMYXllcigqdGhpcyk7CisgICAgICAgIGFkZFRvVG9wTGF5ZXIoKTsKIAogICAgIC8v
IEZJWE1FOiBBZGQgc3RlcHMgOCAmIDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykK
IApAQCAtODYsNyArODYsNyBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBT
dHJpbmcmIHJlc3VsdCkKICAgICAgICAgbV9yZXR1cm5WYWx1ZSA9IHJlc3VsdDsKIAogICAgIGlm
IChpc0luVG9wTGF5ZXIoKSkKLSAgICAgICAgZG9jdW1lbnQoKS5yZW1vdmVGcm9tVG9wTGF5ZXIo
KnRoaXMpOworICAgICAgICByZW1vdmVGcm9tVG9wTGF5ZXIoKTsKIAogICAgIC8vIEZJWE1FOiBB
ZGQgc3RlcCA2IGZyb20gc3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCiAKQEAgLTk1LDEzICs5
NSw2IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0
KQogICAgIH0pOwogfQogCi12b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2Vz
dG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJl
bW92ZWRUcmVlKQotewotICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92
YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKLSAgICBpZiAoaXNJblRvcExheWVyKCkp
Ci0gICAgICAgIGRvY3VtZW50KCkucmVtb3ZlRnJvbVRvcExheWVyKCp0aGlzKTsKLX0KLQogdm9p
ZCBIVE1MRGlhbG9nRWxlbWVudDo6cXVldWVDYW5jZWxUYXNrKCkKIHsKICAgICBkb2N1bWVudCgp
LmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90
ZWN0ZWRUaGlzID0gR0NSZWFjaGFibGVSZWYgeyAqdGhpcyB9XSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEaWFsb2dFbGVtZW50LmgKaW5kZXggNDcxYTZiM2RkY2VmNjQxODBhZDI0NTM1ZTI4NDY1
NjBmZWNlZDYxZC4uMTk2YWRhZTg1MjgzNmE2MzAyNThmNGEzZjJmOTVkZDgwNDY4YTk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaApAQCAtNTAsOCArNTAsNiBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIEhUTUxEaWFsb2dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCi0gICAgdm9pZCByZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxU
eXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKSBmaW5hbDsKLQogICAg
IFN0cmluZyBtX3JldHVyblZhbHVlOwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2UgfTsKIH07
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436823</attachid>
            <date>2021-08-30 16:13:09 -0700</date>
            <delta_ts>2021-08-30 16:15:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229488-20210830161308.patch</filename>
            <type>text/plain</type>
            <size>11172</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE0ODk0ZDE4MDllMWM4
OTAwZGIxYzMyZDg0Nzc1YTJhNmEzOWFjMy4uZDAzYmJiODI5YjgwYThlMjQwOTVlMTFlZjZiMWY1
Y2JjNTI5ODhhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA4LTI1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlLWdlbmVyYWxpemUgdG9w
IGxheWVyIGVsZW1lbnQgY29uY2VwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI5NDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlz
dG8uCisKKyAgICAgICAgcjI4MTU0OCBtYWRlIHRoZSBjb25jZXB0IG9mIHRvcCBsYXllciBpcyBj
b25maW5lZCB0byBkaWFsb2cgZWxlbWVudCB0byBlbGltaW5hdGUgdGhlIHJ1bnRpbWUgY29zdAor
ICAgICAgICBvZiBtYWtpbmcgNSsgZnVuY3Rpb24gY2FsbHMgYW5kIGxvb2tpbmcgdXAgdGhlIGxp
c3QgaGFzaCBzZXQgcGVyIHJlbW92YWwgb2YgZXZlcnkgZWxlbWVudC4KKworICAgICAgICBUaGlz
IHBhdGNoIHJlLWdlbmVyYWxpemUgdGhpcyBjb25jZXB0IGZvciBhbGwgZWxlbWVudHMgYnkgaW50
cm9kdWNpbmcgYSBuZXcgbm9kZSBmbGFnIHRvIGF2b2lkCisgICAgICAgIHRoZSBydW50aW1lIGNv
c3Qgc28gdGhhdCB3ZSBtYXkgdXNlIGl0IGluIHRoZSBmdXR1cmUgZm9yIHRoZSBmdWxsIHNjcmVl
biBlbGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGVyZSBzaG91bGQgYmUg
bm8gb2JzZXJ2YWJsZSBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBpbnZlcnRzIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZW1iZXIgZnVuY3Rpb25zIGluIEVs
ZW1lbnQgYW5kIERvY3VtZW50CisgICAgICAgIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGZ1bmN0
aW9uIGNhbGxzIGludm9sdmVkIGJ5IDEuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKTogQ2xlYXIgdGhlIGxpc3Qgb2YgdG9w
IGxheWVyIGVsZW1lbnRzIHRvIGF2b2lkIGxlYWtzLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmFkZFRvcExheWVyRWxlbWVudCk6IFJlbmFtZWQgZnJvbSBhZGRUb1RvcExheWVyLiBUaGUg
Y29kZSB0byB1cGRhdGUgdGhlIGxheWVyCisgICAgICAgIGhhcyBiZWVuIG1vdmVkIHRvIEVsZW1l
bnQ6OmFkZFRvVG9wTGF5ZXIuIEFsc28gcmVsZWFzZS10aW1lIGFzc2VydCB0aGF0IHRoZSBlbGVt
ZW50IGlzIGNvbm5lY3RlZAorICAgICAgICB0byB0aGlzIGRvY3VtZW50LgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OnJlbW92ZVRvcExheWVyRWxlbWVudCk6IERpdHRvLgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOiBDYWxsIHJlbW92ZVRvcExheWVy
RWxlbWVudCBpZiB0aGlzIGVsZW1lbnQgaGFkIGEgdG9wIGxheWVyLgorICAgICAgICAoV2ViQ29y
ZTo6cmVuZGVyTGF5ZXJGb3JFbGVtZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjphZGRUb1RvcExheWVyKTogTW92ZWQgZnJvbSBEb2N1bWVudC4gU2V0IHRoZSBub2RlIGZs
YWc6IElzSW5Ub3BMYXllci4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZUZyb21U
b3BMYXllcik6IERpdHRvLCBjbGVhciB0aGUgbm9kZSBmbGFnLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6aXNJblRvcExheWVyV2lsbENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50Ojppc0luVG9wTGF5ZXJEaWRDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luVG9wTGF5ZXIg
Y29uc3QpOiBSZXdyaXR0ZW4gdG8gbWFrZSB1c2Ugb2YgbmV3IG5vZGUgZmxhZy4KKyAgICAgICAg
KiBkb20vTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUZsYWcpOiBBZGRlZCBhIG5ldyBu
b2RlIGZsYWc6IElzSW5Ub3BMYXllci4KKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9kYWwpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKTogRGVsZXRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjEtMDgtMjQgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjgxNTQwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNjVjZmJmOGI3
OTVkNjNkM2M5OTlkMDFkOWIzODRiMjA1MDA5ZDQ2NC4uZWFlYmIzODIzYWMyYWRmYjFiYTk0YTRj
ZDQ1YjAyNmUxNGIwNzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04MjMsNiArODIz
LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVtb3ZlZExhc3RSZWYoKQogCiAgICAgICAgIGRlc3Ryb3lU
cmVlU2NvcGVEYXRhKCk7CiAgICAgICAgIHJlbW92ZURldGFjaGVkQ2hpbGRyZW4oKTsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobV90b3BMYXllckVsZW1lbnRzLmlzRW1wdHkoKSk7CiAgICAgICAg
IG1fZm9ybUNvbnRyb2xsZXIgPSBudWxscHRyOwogICAgICAgICAKICAgICAgICAgbV9tYXJrZXJz
LT5kZXRhY2goKTsKQEAgLTg0NjcsMjQgKzg0NjgsMTkgQEAgVmVjdG9yPFJlZlB0cjxXZWJBbmlt
YXRpb24+PiBEb2N1bWVudDo6bWF0Y2hpbmdBbmltYXRpb25zKGNvbnN0IFdURjo6RnVuY3Rpb248
Ym8KICAgICByZXR1cm4gYW5pbWF0aW9uczsKIH0KIAotdm9pZCBEb2N1bWVudDo6YWRkVG9Ub3BM
YXllcihFbGVtZW50JiBlbGVtZW50KQordm9pZCBEb2N1bWVudDo6YWRkVG9wTGF5ZXJFbGVtZW50
KEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAgZWxlbWVudC5pc0luVG9wTGF5ZXJXaWxsQ2hhbmdl
KCk7Ci0KKyAgICBSRUxFQVNFX0FTU0VSVCgmZWxlbWVudC5kb2N1bWVudCgpID09IHRoaXMgJiYg
ZWxlbWVudC5pc0Nvbm5lY3RlZCgpICYmICFlbGVtZW50LmlzSW5Ub3BMYXllcigpKTsKICAgICAv
LyBUbyBhZGQgYW4gZWxlbWVudCB0byBhIHRvcCBsYXllciwgcmVtb3ZlIGl0IGZyb20gdG9wIGxh
eWVyIGFuZCB0aGVuIGFwcGVuZCBpdCB0byB0b3AgbGF5ZXIuCi0gICAgbV90b3BMYXllckVsZW1l
bnRzLmFwcGVuZE9yTW92ZVRvTGFzdChlbGVtZW50KTsKLQotICAgIGVsZW1lbnQuaXNJblRvcExh
eWVyRGlkQ2hhbmdlKCk7CisgICAgYXV0byByZXN1bHQgPSBtX3RvcExheWVyRWxlbWVudHMuYWRk
KGVsZW1lbnQpOworICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdC5pc05ld0VudHJ5KTsKIH0KIAot
dm9pZCBEb2N1bWVudDo6cmVtb3ZlRnJvbVRvcExheWVyKEVsZW1lbnQmIGVsZW1lbnQpCit2b2lk
IERvY3VtZW50OjpyZW1vdmVUb3BMYXllckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIHsKLSAg
ICBlbGVtZW50LmlzSW5Ub3BMYXllcldpbGxDaGFuZ2UoKTsKLQotICAgIGlmICghbV90b3BMYXll
ckVsZW1lbnRzLnJlbW92ZShlbGVtZW50KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZWxlbWVu
dC5pc0luVG9wTGF5ZXJEaWRDaGFuZ2UoKTsKKyAgICBSRUxFQVNFX0FTU0VSVCgmZWxlbWVudC5k
b2N1bWVudCgpID09IHRoaXMgJiYgZWxlbWVudC5pc0luVG9wTGF5ZXIoKSk7CisgICAgYXV0byBk
aWRSZW1vdmUgPSBtX3RvcExheWVyRWxlbWVudHMucmVtb3ZlKGVsZW1lbnQpOworICAgIFJFTEVB
U0VfQVNTRVJUKGRpZFJlbW92ZSk7CiB9CiAKIEhUTUxEaWFsb2dFbGVtZW50KiBEb2N1bWVudDo6
YWN0aXZlTW9kYWxEaWFsb2coKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA0YzI5NWQ0
NThmMWFlMDYxNzlhNTQ2Yjk0ZGIzODA3NzI2NTRjMWM1Li42ZWQ1NjFhNTczZDcyNGY3ODMxMjk5
NWJhZjYxOTY4NGVlNDIzNzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTUxMSw4ICsxNTEx
LDggQEAgcHVibGljOgogICAgIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlciogdGltZWxpbmVz
Q29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fdGltZWxpbmVzQ29udHJvbGxlci5nZXQoKTsg
fQogICAgIFdFQkNPUkVfRVhQT1JUIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlciYgZW5zdXJl
VGltZWxpbmVzQ29udHJvbGxlcigpOwogCi0gICAgdm9pZCBhZGRUb1RvcExheWVyKEVsZW1lbnQm
KTsKLSAgICB2b2lkIHJlbW92ZUZyb21Ub3BMYXllcihFbGVtZW50Jik7CisgICAgdm9pZCBhZGRU
b3BMYXllckVsZW1lbnQoRWxlbWVudCYpOworICAgIHZvaWQgcmVtb3ZlVG9wTGF5ZXJFbGVtZW50
KEVsZW1lbnQmKTsKICAgICBjb25zdCBMaXN0SGFzaFNldDxSZWY8RWxlbWVudD4+JiB0b3BMYXll
ckVsZW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV90b3BMYXllckVsZW1lbnRzOyB9CiAKICAgICBI
VE1MRGlhbG9nRWxlbWVudCogYWN0aXZlTW9kYWxEaWFsb2coKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAppbmRleCAwZWU4ODAyZjBhYWUyOTcxM2YwODIyMjA0NmFkNjBiYjIxNmNhZTc1Li4z
YTM4ZjRkZWFiYmU0Y2VhM2U2NjQ5M2E0MTVjMTdmMDYwYTc5MGY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCkBAIC0yMjU0LDcgKzIyNTQsNyBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5j
ZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcgogICAg
IGlmIChjb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KCkpCiAgICAgICAgIHNldENvbnRhaW5zRnVs
bFNjcmVlbkVsZW1lbnRPbkFuY2VzdG9yc0Nyb3NzaW5nRnJhbWVCb3VuZGFyaWVzKGZhbHNlKTsK
ICNlbmRpZgotICAgIAorCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKSkg
ewogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgICAgIHBhZ2UtPnBvaW50ZXJMb2NrQ29u
dHJvbGxlcigpLmVsZW1lbnRXYXNSZW1vdmVkKCp0aGlzKTsKQEAgLTIzMjYsNiArMjMyNiw5IEBA
IHZvaWQgRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlw
ZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyCiAgICAgfQogI2VuZGlmCiAKKyAgICBpZiAoVU5MSUtF
TFkoaXNJblRvcExheWVyKCkpKQorICAgICAgICByZW1vdmVGcm9tVG9wTGF5ZXIoKTsKKwogICAg
IGlmIChoYXNOb2RlRmxhZyhOb2RlRmxhZzo6SGFzRWxlbWVudElkZW50aWZpZXIpKSB7CiAgICAg
ICAgIGRvY3VtZW50KCkuaWRlbnRpZmllZEVsZW1lbnRXYXNSZW1vdmVkRnJvbURvY3VtZW50KCp0
aGlzKTsKICAgICAgICAgY2xlYXJOb2RlRmxhZyhOb2RlRmxhZzo6SGFzRWxlbWVudElkZW50aWZp
ZXIpOwpAQCAtMzM1NiwyMiArMzM1OSw0NiBAQCB2b2lkIEVsZW1lbnQ6OndpbGxCZWNvbWVGdWxs
c2NyZWVuRWxlbWVudCgpCiAgICAgICAgIGNoaWxkLmFuY2VzdG9yV2lsbEVudGVyRnVsbHNjcmVl
bigpOwogfQogCi12b2lkIEVsZW1lbnQ6OmlzSW5Ub3BMYXllcldpbGxDaGFuZ2UoKQorc3RhdGlj
IGlubGluZSBSZW5kZXJMYXllciogcmVuZGVyTGF5ZXJGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1l
bnQpCiB7Ci0gICAgaWYgKHJlbmRlcmVyKCkpIHsKLSAgICAgICAgaWYgKHJlbmRlcmVyKCktPmhh
c0xheWVyKCkpCi0gICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJMYXllck1vZGVsT2JqZWN0Pigq
cmVuZGVyZXIoKSkubGF5ZXIoKS0+ZXN0YWJsaXNoZXNUb3BMYXllcldpbGxDaGFuZ2UoKTsKLSAg
ICB9CisgICAgYXV0byogcmVuZGVyZXIgPSBlbGVtZW50LnJlbmRlcmVyKCk7CisgICAgaWYgKCFy
ZW5kZXJlciB8fCAhcmVuZGVyZXItPmhhc0xheWVyKCkgfHwgIWlzPFJlbmRlckxheWVyTW9kZWxP
YmplY3Q+KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGRv
d25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCpyZW5kZXJlcikubGF5ZXIoKTsKIH0KIAot
dm9pZCBFbGVtZW50Ojppc0luVG9wTGF5ZXJEaWRDaGFuZ2UoKQordm9pZCBFbGVtZW50OjphZGRU
b1RvcExheWVyKCkKIHsKLSAgICBpbnZhbGlkYXRlU3R5bGUoKTsKKyAgICBSRUxFQVNFX0FTU0VS
VCghaXNJblRvcExheWVyKCkpOworICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZSBzY3JpcHREaXNh
bGxvd2VkU2NvcGU7CiAKLSAgICBpZiAocmVuZGVyZXIoKSkgewotICAgICAgICBpZiAocmVuZGVy
ZXIoKS0+aGFzTGF5ZXIoKSkKLSAgICAgICAgICAgIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxP
YmplY3Q+KCpyZW5kZXJlcigpKS5sYXllcigpLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdl
KCk7Ci0gICAgfQorICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVudCgq
dGhpcykpCisgICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyV2lsbENoYW5nZSgpOwor
CisgICAgZG9jdW1lbnQoKS5hZGRUb3BMYXllckVsZW1lbnQoKnRoaXMpOworICAgIHNldE5vZGVG
bGFnKE5vZGVGbGFnOjpJc0luVG9wTGF5ZXIpOworCisgICAgaW52YWxpZGF0ZVN0eWxlSW50ZXJu
YWwoKTsKKworICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVudCgqdGhp
cykpCisgICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdlKCk7Cit9CisK
K3ZvaWQgRWxlbWVudDo6cmVtb3ZlRnJvbVRvcExheWVyKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VS
VChpc0luVG9wTGF5ZXIoKSk7CisgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlIHNjcmlwdERpc2Fs
bG93ZWRTY29wZTsKKworICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVu
dCgqdGhpcykpCisgICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyV2lsbENoYW5nZSgp
OworCisgICAgZG9jdW1lbnQoKS5yZW1vdmVUb3BMYXllckVsZW1lbnQoKnRoaXMpOworICAgIGNs
ZWFyTm9kZUZsYWcoTm9kZUZsYWc6OklzSW5Ub3BMYXllcik7CisKKyAgICBpbnZhbGlkYXRlU3R5
bGVJbnRlcm5hbCgpOworCisgICAgaWYgKGF1dG8qIGxheWVyID0gcmVuZGVyTGF5ZXJGb3JFbGVt
ZW50KCp0aGlzKSkKKyAgICAgICAgbGF5ZXItPmVzdGFibGlzaGVzVG9wTGF5ZXJEaWRDaGFuZ2Uo
KTsKIH0KIAogc3RhdGljIFBzZXVkb0VsZW1lbnQqIGJlZm9yZU9yQWZ0ZXJQc2V1ZG9FbGVtZW50
KGNvbnN0IEVsZW1lbnQmIGhvc3QsIFBzZXVkb0lkIHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCA5NDhlMGQ2MTExMjAyYzhmZjViZTcyNzMzYTc2YzlhMGJkNmE3
YmRlLi5iYTI0YTAxN2Y2YWNjNzM3ZTViZTIzNzRmMTdhNDdlNmUyMWMzMGRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKQEAgLTUxMSw5ICs1MTEsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgUmVuZGVyU3R5
bGUqIGxhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUoUHNldWRvSWQpIGNvbnN0OwogICAgIHZvaWQg
c2V0TGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZShQc2V1ZG9JZCwgc3RkOjp1bmlxdWVfcHRyPGNv
bnN0IFJlbmRlclN0eWxlPiYmKTsKIAotICAgIGJvb2wgaXNJblRvcExheWVyKCkgY29uc3QgeyBy
ZXR1cm4gZG9jdW1lbnQoKS50b3BMYXllckVsZW1lbnRzKCkuY29udGFpbnMobWFrZVJlZigqY29u
c3RfY2FzdDxFbGVtZW50Kj4odGhpcykpKTsgfQotICAgIHZvaWQgaXNJblRvcExheWVyV2lsbENo
YW5nZSgpOwotICAgIHZvaWQgaXNJblRvcExheWVyRGlkQ2hhbmdlKCk7CisgICAgYm9vbCBpc0lu
VG9wTGF5ZXIoKSBjb25zdCB7IHJldHVybiBoYXNOb2RlRmxhZyhOb2RlRmxhZzo6SXNJblRvcExh
eWVyKTsgfQorICAgIHZvaWQgYWRkVG9Ub3BMYXllcigpOworICAgIHZvaWQgcmVtb3ZlRnJvbVRv
cExheWVyKCk7CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgYm9vbCBjb250YWlu
c0Z1bGxTY3JlZW5FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gaGFzTm9kZUZsYWcoTm9kZUZsYWc6
OkNvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBkYWY2YmQ5MmUw
YTM0MDBhMmUwNGVhOWNhN2RiZjYwOWIwZmRmNzU4Li4zN2RiNmI0ZDg0NmQzYTUwZjg3MTg1ZmFk
NGQ4NGJlOTFiOTI1OTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTU2NiwxMCArNTY2LDEwIEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgQ29udGFpbnNGdWxsU2NyZWVuRWxlbWVudCA9IDEgPDwgMjQsCiAjZW5k
aWYKICAgICAgICAgSXNDb21wdXRlZFN0eWxlSW52YWxpZEZsYWcgPSAxIDw8IDI1LAotCiAgICAg
ICAgIEhhc1NoYWRvd1Jvb3RDb250YWluaW5nU2xvdHMgPSAxIDw8IDI2LAorICAgICAgICBJc0lu
VG9wTGF5ZXIgPSAxIDw8IDI3LAogCi0gICAgICAgIC8vIEJpdHMgMjctMzEgYXJlIGZyZWUuCisg
ICAgICAgIC8vIEJpdHMgMjgtMzEgYXJlIGZyZWUuCiAgICAgfTsKIAogICAgIGVudW0gY2xhc3Mg
VGFiSW5kZXhTdGF0ZSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRGlhbG9nRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dF
bGVtZW50LmNwcAppbmRleCAzYzBhYmYzYTRlZTc3NTlmMTc0OTM4NDE5ODc1M2I0ZjdkOTMzMDNk
Li4wOGFkMzRkMTk2NDE0Yjc4ZjIyNWE5MTAzMmZiYWMwOWZjODQ0NjExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcApAQCAtNjYsNyArNjYsNyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKCkKICAgICBtX2lzTW9kYWwg
PSB0cnVlOwogCiAgICAgaWYgKCFpc0luVG9wTGF5ZXIoKSkKLSAgICAgICAgZG9jdW1lbnQoKS5h
ZGRUb1RvcExheWVyKCp0aGlzKTsKKyAgICAgICAgYWRkVG9Ub3BMYXllcigpOwogCiAgICAgLy8g
RklYTUU6IEFkZCBzdGVwcyA4ICYgOSBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMjI3NTM3KQog
CkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0
cmluZyYgcmVzdWx0KQogICAgICAgICBtX3JldHVyblZhbHVlID0gcmVzdWx0OwogCiAgICAgaWYg
KGlzSW5Ub3BMYXllcigpKQotICAgICAgICBkb2N1bWVudCgpLnJlbW92ZUZyb21Ub3BMYXllcigq
dGhpcyk7CisgICAgICAgIHJlbW92ZUZyb21Ub3BMYXllcigpOwogCiAgICAgLy8gRklYTUU6IEFk
ZCBzdGVwIDYgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKIApAQCAtOTUsMTMgKzk1
LDYgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6Y2xvc2UoY29uc3QgU3RyaW5nJiByZXN1bHQp
CiAgICAgfSk7CiB9CiAKLXZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0
b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcmVudE9mUmVt
b3ZlZFRyZWUpCi17Ci0gICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IocmVtb3Zh
bFR5cGUsIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpOwotICAgIGlmIChpc0luVG9wTGF5ZXIoKSkK
LSAgICAgICAgZG9jdW1lbnQoKS5yZW1vdmVGcm9tVG9wTGF5ZXIoKnRoaXMpOwotfQotCiB2b2lk
IEhUTUxEaWFsb2dFbGVtZW50OjpxdWV1ZUNhbmNlbFRhc2soKQogewogICAgIGRvY3VtZW50KCku
ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OlVzZXJJbnRlcmFjdGlvbiwgW3Byb3Rl
Y3RlZFRoaXMgPSBHQ1JlYWNoYWJsZVJlZiB7ICp0aGlzIH1dIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA0NzFhNmIzZGRjZWY2NDE4MGFkMjQ1MzVlMjg0NjU2
MGZlY2VkNjFkLi4xOTZhZGFlODUyODM2YTYzMDI1OGY0YTNmMmY5NWRkODA0NjhhOTRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCkBAIC01MCw4ICs1MCw2IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgSFRNTERpYWxvZ0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5
cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcmVudE9mUmVtb3ZlZFRyZWUpIGZpbmFsOwotCiAgICAg
U3RyaW5nIG1fcmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9kYWwgeyBmYWxzZSB9OwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436824</attachid>
            <date>2021-08-30 16:15:04 -0700</date>
            <delta_ts>2021-08-31 00:41:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229488-20210830161503.patch</filename>
            <type>text/plain</type>
            <size>11170</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE0ODk0ZDE4MDllMWM4
OTAwZGIxYzMyZDg0Nzc1YTJhNmEzOWFjMy4uM2ZlYjUzNTE1MWVmMGJhNzYyMDk1MDk0ZmRmNzE2
M2MwZTI5OGJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA4LTI1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlLWdlbmVyYWxpemUgdG9w
IGxheWVyIGVsZW1lbnQgY29uY2VwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI5NDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlz
dG8uCisKKyAgICAgICAgcjI4MTU0OCBtYWRlIHRoZSBjb25jZXB0IG9mIHRvcCBsYXllciBpcyBj
b25maW5lZCB0byBkaWFsb2cgZWxlbWVudCB0byBlbGltaW5hdGUgdGhlIHJ1bnRpbWUgY29zdAor
ICAgICAgICBvZiBtYWtpbmcgNSsgZnVuY3Rpb24gY2FsbHMgYW5kIGxvb2tpbmcgdXAgdGhlIGxp
c3QgaGFzaCBzZXQgcGVyIHJlbW92YWwgb2YgZXZlcnkgZWxlbWVudC4KKworICAgICAgICBUaGlz
IHBhdGNoIHJlLWdlbmVyYWxpemUgdGhpcyBjb25jZXB0IGZvciBhbGwgZWxlbWVudHMgYnkgaW50
cm9kdWNpbmcgYSBuZXcgbm9kZSBmbGFnIHRvIGF2b2lkCisgICAgICAgIHRoZSBydW50aW1lIGNv
c3Qgc28gdGhhdCB3ZSBtYXkgdXNlIGl0IGluIHRoZSBmdXR1cmUgZm9yIHRoZSBmdWxsIHNjcmVl
biBlbGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB0aGVyZSBzaG91bGQgYmUg
bm8gb2JzZXJ2YWJsZSBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBpbnZlcnRzIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZW1iZXIgZnVuY3Rpb25zIGluIEVs
ZW1lbnQgYW5kIERvY3VtZW50CisgICAgICAgIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGZ1bmN0
aW9uIGNhbGxzIGludm9sdmVkIGJ5IDEuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKTogTWFrZSBzdXJlIHRoZSBsaXN0IG9m
IHRvcCBsYXllciBlbGVtZW50cyBpcyBlbXB0eS4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjphZGRUb3BMYXllckVsZW1lbnQpOiBSZW5hbWVkIGZyb20gYWRkVG9Ub3BMYXllci4gVGhlIGNv
ZGUgdG8gdXBkYXRlIHRoZSBsYXllcgorICAgICAgICBoYXMgYmVlbiBtb3ZlZCB0byBFbGVtZW50
OjphZGRUb1RvcExheWVyLiBBbHNvIHJlbGVhc2UtdGltZSBhc3NlcnQgdGhhdCB0aGUgZWxlbWVu
dCBpcyBjb25uZWN0ZWQKKyAgICAgICAgdG8gdGhpcyBkb2N1bWVudC4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpyZW1vdmVUb3BMYXllckVsZW1lbnQpOiBEaXR0by4KKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKTogQ2FsbCByZW1vdmVUb3BMYXllckVs
ZW1lbnQgaWYgdGhpcyBlbGVtZW50IGhhZCBhIHRvcCBsYXllci4KKyAgICAgICAgKFdlYkNvcmU6
OnJlbmRlckxheWVyRm9yRWxlbWVudCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6YWRkVG9Ub3BMYXllcik6IE1vdmVkIGZyb20gRG9jdW1lbnQuIFNldCB0aGUgbm9kZSBmbGFn
OiBJc0luVG9wTGF5ZXIuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVGcm9tVG9w
TGF5ZXIpOiBEaXR0bywgY2xlYXIgdGhlIG5vZGUgZmxhZy4KKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OmlzSW5Ub3BMYXllcldpbGxDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6aXNJblRvcExheWVyRGlkQ2hhbmdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBk
b20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNJblRvcExheWVyIGNv
bnN0KTogUmV3cml0dGVuIHRvIG1ha2UgdXNlIG9mIG5ldyBub2RlIGZsYWcuCisgICAgICAgICog
ZG9tL05vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVGbGFnKTogQWRkZWQgYSBuZXcgbm9k
ZSBmbGFnOiBJc0luVG9wTGF5ZXIuCisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3Rvcik6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oOgorCiAyMDIxLTA4LTI0ICBDb21taXQg
UXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBy
ZXZlcnRpbmcgcjI4MTU0MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDY1Y2ZiZjhiNzk1
ZDYzZDNjOTk5ZDAxZDliMzg0YjIwNTAwOWQ0NjQuLmVhZWJiMzgyM2FjMmFkZmIxYmE5NGE0Y2Q0
NWIwMjZlMTRiMDc0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtODIzLDYgKzgyMyw3
IEBAIHZvaWQgRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKCkKIAogICAgICAgICBkZXN0cm95VHJl
ZVNjb3BlRGF0YSgpOwogICAgICAgICByZW1vdmVEZXRhY2hlZENoaWxkcmVuKCk7CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKG1fdG9wTGF5ZXJFbGVtZW50cy5pc0VtcHR5KCkpOwogICAgICAgICBt
X2Zvcm1Db250cm9sbGVyID0gbnVsbHB0cjsKICAgICAgICAgCiAgICAgICAgIG1fbWFya2Vycy0+
ZGV0YWNoKCk7CkBAIC04NDY3LDI0ICs4NDY4LDE5IEBAIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0
aW9uPj4gRG9jdW1lbnQ6Om1hdGNoaW5nQW5pbWF0aW9ucyhjb25zdCBXVEY6OkZ1bmN0aW9uPGJv
CiAgICAgcmV0dXJuIGFuaW1hdGlvbnM7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZFRvVG9wTGF5
ZXIoRWxlbWVudCYgZWxlbWVudCkKK3ZvaWQgRG9jdW1lbnQ6OmFkZFRvcExheWVyRWxlbWVudChF
bGVtZW50JiBlbGVtZW50KQogewotICAgIGVsZW1lbnQuaXNJblRvcExheWVyV2lsbENoYW5nZSgp
OwotCisgICAgUkVMRUFTRV9BU1NFUlQoJmVsZW1lbnQuZG9jdW1lbnQoKSA9PSB0aGlzICYmIGVs
ZW1lbnQuaXNDb25uZWN0ZWQoKSAmJiAhZWxlbWVudC5pc0luVG9wTGF5ZXIoKSk7CiAgICAgLy8g
VG8gYWRkIGFuIGVsZW1lbnQgdG8gYSB0b3AgbGF5ZXIsIHJlbW92ZSBpdCBmcm9tIHRvcCBsYXll
ciBhbmQgdGhlbiBhcHBlbmQgaXQgdG8gdG9wIGxheWVyLgotICAgIG1fdG9wTGF5ZXJFbGVtZW50
cy5hcHBlbmRPck1vdmVUb0xhc3QoZWxlbWVudCk7Ci0KLSAgICBlbGVtZW50LmlzSW5Ub3BMYXll
ckRpZENoYW5nZSgpOworICAgIGF1dG8gcmVzdWx0ID0gbV90b3BMYXllckVsZW1lbnRzLmFkZChl
bGVtZW50KTsKKyAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAKLXZv
aWQgRG9jdW1lbnQ6OnJlbW92ZUZyb21Ub3BMYXllcihFbGVtZW50JiBlbGVtZW50KQordm9pZCBE
b2N1bWVudDo6cmVtb3ZlVG9wTGF5ZXJFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAg
ZWxlbWVudC5pc0luVG9wTGF5ZXJXaWxsQ2hhbmdlKCk7Ci0KLSAgICBpZiAoIW1fdG9wTGF5ZXJF
bGVtZW50cy5yZW1vdmUoZWxlbWVudCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGVsZW1lbnQu
aXNJblRvcExheWVyRGlkQ2hhbmdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoJmVsZW1lbnQuZG9j
dW1lbnQoKSA9PSB0aGlzICYmIGVsZW1lbnQuaXNJblRvcExheWVyKCkpOworICAgIGF1dG8gZGlk
UmVtb3ZlID0gbV90b3BMYXllckVsZW1lbnRzLnJlbW92ZShlbGVtZW50KTsKKyAgICBSRUxFQVNF
X0FTU0VSVChkaWRSZW1vdmUpOwogfQogCiBIVE1MRGlhbG9nRWxlbWVudCogRG9jdW1lbnQ6OmFj
dGl2ZU1vZGFsRGlhbG9nKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNGMyOTVkNDU4
ZjFhZTA2MTc5YTU0NmI5NGRiMzgwNzcyNjU0YzFjNS4uNmVkNTYxYTU3M2Q3MjRmNzgzMTI5OTVi
YWY2MTk2ODRlZTQyMzcxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1MTEsOCArMTUxMSw4
IEBAIHB1YmxpYzoKICAgICBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIqIHRpbWVsaW5lc0Nv
bnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3RpbWVsaW5lc0NvbnRyb2xsZXIuZ2V0KCk7IH0K
ICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXImIGVuc3VyZVRp
bWVsaW5lc0NvbnRyb2xsZXIoKTsKIAotICAgIHZvaWQgYWRkVG9Ub3BMYXllcihFbGVtZW50Jik7
Ci0gICAgdm9pZCByZW1vdmVGcm9tVG9wTGF5ZXIoRWxlbWVudCYpOworICAgIHZvaWQgYWRkVG9w
TGF5ZXJFbGVtZW50KEVsZW1lbnQmKTsKKyAgICB2b2lkIHJlbW92ZVRvcExheWVyRWxlbWVudChF
bGVtZW50Jik7CiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8UmVmPEVsZW1lbnQ+PiYgdG9wTGF5ZXJF
bGVtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fdG9wTGF5ZXJFbGVtZW50czsgfQogCiAgICAgSFRN
TERpYWxvZ0VsZW1lbnQqIGFjdGl2ZU1vZGFsRGlhbG9nKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggMGVlODgwMmYwYWFlMjk3MTNmMDgyMjIwNDZhZDYwYmIyMTZjYWU3NS4uM2Ez
OGY0ZGVhYmJlNGNlYTNlNjY0OTNhNDE1YzE3ZjA2MGE3OTBmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtMjI1NCw3ICsyMjU0LDcgQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2Vz
dG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXIKICAgICBp
ZiAoY29udGFpbnNGdWxsU2NyZWVuRWxlbWVudCgpKQogICAgICAgICBzZXRDb250YWluc0Z1bGxT
Y3JlZW5FbGVtZW50T25BbmNlc3RvcnNDcm9zc2luZ0ZyYW1lQm91bmRhcmllcyhmYWxzZSk7CiAj
ZW5kaWYKLSAgICAKKwogICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCkpIHsK
ICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgICAgICBwYWdlLT5wb2ludGVyTG9ja0NvbnRy
b2xsZXIoKS5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7CkBAIC0yMzI2LDYgKzIzMjYsOSBAQCB2
b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUs
IENvbnRhaW5lck5vZGUmIG9sZFBhcgogICAgIH0KICNlbmRpZgogCisgICAgaWYgKFVOTElLRUxZ
KGlzSW5Ub3BMYXllcigpKSkKKyAgICAgICAgcmVtb3ZlRnJvbVRvcExheWVyKCk7CisKICAgICBp
ZiAoaGFzTm9kZUZsYWcoTm9kZUZsYWc6Okhhc0VsZW1lbnRJZGVudGlmaWVyKSkgewogICAgICAg
ICBkb2N1bWVudCgpLmlkZW50aWZpZWRFbGVtZW50V2FzUmVtb3ZlZEZyb21Eb2N1bWVudCgqdGhp
cyk7CiAgICAgICAgIGNsZWFyTm9kZUZsYWcoTm9kZUZsYWc6Okhhc0VsZW1lbnRJZGVudGlmaWVy
KTsKQEAgLTMzNTYsMjIgKzMzNTksNDYgQEAgdm9pZCBFbGVtZW50Ojp3aWxsQmVjb21lRnVsbHNj
cmVlbkVsZW1lbnQoKQogICAgICAgICBjaGlsZC5hbmNlc3RvcldpbGxFbnRlckZ1bGxzY3JlZW4o
KTsKIH0KIAotdm9pZCBFbGVtZW50Ojppc0luVG9wTGF5ZXJXaWxsQ2hhbmdlKCkKK3N0YXRpYyBp
bmxpbmUgUmVuZGVyTGF5ZXIqIHJlbmRlckxheWVyRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50
KQogewotICAgIGlmIChyZW5kZXJlcigpKSB7Ci0gICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNM
YXllcigpKQotICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4oKnJl
bmRlcmVyKCkpLmxheWVyKCktPmVzdGFibGlzaGVzVG9wTGF5ZXJXaWxsQ2hhbmdlKCk7Ci0gICAg
fQorICAgIGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOworICAgIGlmICghcmVu
ZGVyZXIgfHwgIXJlbmRlcmVyLT5oYXNMYXllcigpIHx8ICFpczxSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBkb3du
Y2FzdDxSZW5kZXJMYXllck1vZGVsT2JqZWN0PigqcmVuZGVyZXIpLmxheWVyKCk7CiB9CiAKLXZv
aWQgRWxlbWVudDo6aXNJblRvcExheWVyRGlkQ2hhbmdlKCkKK3ZvaWQgRWxlbWVudDo6YWRkVG9U
b3BMYXllcigpCiB7Ci0gICAgaW52YWxpZGF0ZVN0eWxlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQo
IWlzSW5Ub3BMYXllcigpKTsKKyAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGUgc2NyaXB0RGlzYWxs
b3dlZFNjb3BlOwogCi0gICAgaWYgKHJlbmRlcmVyKCkpIHsKLSAgICAgICAgaWYgKHJlbmRlcmVy
KCktPmhhc0xheWVyKCkpCi0gICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0PigqcmVuZGVyZXIoKSkubGF5ZXIoKS0+ZXN0YWJsaXNoZXNUb3BMYXllckRpZENoYW5nZSgp
OwotICAgIH0KKyAgICBpZiAoYXV0byogbGF5ZXIgPSByZW5kZXJMYXllckZvckVsZW1lbnQoKnRo
aXMpKQorICAgICAgICBsYXllci0+ZXN0YWJsaXNoZXNUb3BMYXllcldpbGxDaGFuZ2UoKTsKKwor
ICAgIGRvY3VtZW50KCkuYWRkVG9wTGF5ZXJFbGVtZW50KCp0aGlzKTsKKyAgICBzZXROb2RlRmxh
ZyhOb2RlRmxhZzo6SXNJblRvcExheWVyKTsKKworICAgIGludmFsaWRhdGVTdHlsZUludGVybmFs
KCk7CisKKyAgICBpZiAoYXV0byogbGF5ZXIgPSByZW5kZXJMYXllckZvckVsZW1lbnQoKnRoaXMp
KQorICAgICAgICBsYXllci0+ZXN0YWJsaXNoZXNUb3BMYXllckRpZENoYW5nZSgpOworfQorCit2
b2lkIEVsZW1lbnQ6OnJlbW92ZUZyb21Ub3BMYXllcigpCit7CisgICAgUkVMRUFTRV9BU1NFUlQo
aXNJblRvcExheWVyKCkpOworICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZSBzY3JpcHREaXNhbGxv
d2VkU2NvcGU7CisKKyAgICBpZiAoYXV0byogbGF5ZXIgPSByZW5kZXJMYXllckZvckVsZW1lbnQo
KnRoaXMpKQorICAgICAgICBsYXllci0+ZXN0YWJsaXNoZXNUb3BMYXllcldpbGxDaGFuZ2UoKTsK
KworICAgIGRvY3VtZW50KCkucmVtb3ZlVG9wTGF5ZXJFbGVtZW50KCp0aGlzKTsKKyAgICBjbGVh
ck5vZGVGbGFnKE5vZGVGbGFnOjpJc0luVG9wTGF5ZXIpOworCisgICAgaW52YWxpZGF0ZVN0eWxl
SW50ZXJuYWwoKTsKKworICAgIGlmIChhdXRvKiBsYXllciA9IHJlbmRlckxheWVyRm9yRWxlbWVu
dCgqdGhpcykpCisgICAgICAgIGxheWVyLT5lc3RhYmxpc2hlc1RvcExheWVyRGlkQ2hhbmdlKCk7
CiB9CiAKIHN0YXRpYyBQc2V1ZG9FbGVtZW50KiBiZWZvcmVPckFmdGVyUHNldWRvRWxlbWVudChj
b25zdCBFbGVtZW50JiBob3N0LCBQc2V1ZG9JZCBwc2V1ZG9FbGVtZW50U3BlY2lmaWVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKaW5kZXggOTQ4ZTBkNjExMTIwMmM4ZmY1YmU3MjczM2E3NmM5YTBiZDZhN2Jk
ZS4uYmEyNGEwMTdmNmFjYzczN2U1YmUyMzc0ZjE3YTQ3ZTZlMjFjMzBkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCkBAIC01MTEsOSArNTExLDkgQEAgcHVibGljOgogICAgIGNvbnN0IFJlbmRlclN0eWxl
KiBsYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKFBzZXVkb0lkKSBjb25zdDsKICAgICB2b2lkIHNl
dExhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUoUHNldWRvSWQsIHN0ZDo6dW5pcXVlX3B0cjxjb25z
dCBSZW5kZXJTdHlsZT4mJik7CiAKLSAgICBib29sIGlzSW5Ub3BMYXllcigpIGNvbnN0IHsgcmV0
dXJuIGRvY3VtZW50KCkudG9wTGF5ZXJFbGVtZW50cygpLmNvbnRhaW5zKG1ha2VSZWYoKmNvbnN0
X2Nhc3Q8RWxlbWVudCo+KHRoaXMpKSk7IH0KLSAgICB2b2lkIGlzSW5Ub3BMYXllcldpbGxDaGFu
Z2UoKTsKLSAgICB2b2lkIGlzSW5Ub3BMYXllckRpZENoYW5nZSgpOworICAgIGJvb2wgaXNJblRv
cExheWVyKCkgY29uc3QgeyByZXR1cm4gaGFzTm9kZUZsYWcoTm9kZUZsYWc6OklzSW5Ub3BMYXll
cik7IH0KKyAgICB2b2lkIGFkZFRvVG9wTGF5ZXIoKTsKKyAgICB2b2lkIHJlbW92ZUZyb21Ub3BM
YXllcigpOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGJvb2wgY29udGFpbnNG
dWxsU2NyZWVuRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGhhc05vZGVGbGFnKE5vZGVGbGFnOjpD
b250YWluc0Z1bGxTY3JlZW5FbGVtZW50KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggZGFmNmJkOTJlMGEz
NDAwYTJlMDRlYTljYTdkYmY2MDliMGZkZjc1OC4uMzdkYjZiNGQ4NDZkM2E1MGY4NzE4NWZhZDRk
ODRiZTkxYjkyNTk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC01NjYsMTAgKzU2NiwxMCBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIENvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQgPSAxIDw8IDI0LAogI2VuZGlm
CiAgICAgICAgIElzQ29tcHV0ZWRTdHlsZUludmFsaWRGbGFnID0gMSA8PCAyNSwKLQogICAgICAg
ICBIYXNTaGFkb3dSb290Q29udGFpbmluZ1Nsb3RzID0gMSA8PCAyNiwKKyAgICAgICAgSXNJblRv
cExheWVyID0gMSA8PCAyNywKIAotICAgICAgICAvLyBCaXRzIDI3LTMxIGFyZSBmcmVlLgorICAg
ICAgICAvLyBCaXRzIDI4LTMxIGFyZSBmcmVlLgogICAgIH07CiAKICAgICBlbnVtIGNsYXNzIFRh
YkluZGV4U3RhdGUgOiB1aW50OF90IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5jcHAKaW5kZXggM2MwYWJmM2E0ZWU3NzU5ZjE3NDkzODQxOTg3NTNiNGY3ZDkzMzAzZC4u
MDhhZDM0ZDE5NjQxNGI3OGYyMjVhOTEwMzJmYmFjMDlmYzg0NDYxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCgpCiAgICAgbV9pc01vZGFsID0g
dHJ1ZTsKIAogICAgIGlmICghaXNJblRvcExheWVyKCkpCi0gICAgICAgIGRvY3VtZW50KCkuYWRk
VG9Ub3BMYXllcigqdGhpcyk7CisgICAgICAgIGFkZFRvVG9wTGF5ZXIoKTsKIAogICAgIC8vIEZJ
WE1FOiBBZGQgc3RlcHMgOCAmIDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKIApA
QCAtODYsNyArODYsNyBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBTdHJp
bmcmIHJlc3VsdCkKICAgICAgICAgbV9yZXR1cm5WYWx1ZSA9IHJlc3VsdDsKIAogICAgIGlmIChp
c0luVG9wTGF5ZXIoKSkKLSAgICAgICAgZG9jdW1lbnQoKS5yZW1vdmVGcm9tVG9wTGF5ZXIoKnRo
aXMpOworICAgICAgICByZW1vdmVGcm9tVG9wTGF5ZXIoKTsKIAogICAgIC8vIEZJWE1FOiBBZGQg
c3RlcCA2IGZyb20gc3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCiAKQEAgLTk1LDEzICs5NSw2
IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQog
ICAgIH0pOwogfQogCi12b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9y
KFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92
ZWRUcmVlKQotewotICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxU
eXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsKLSAgICBpZiAoaXNJblRvcExheWVyKCkpCi0g
ICAgICAgIGRvY3VtZW50KCkucmVtb3ZlRnJvbVRvcExheWVyKCp0aGlzKTsKLX0KLQogdm9pZCBI
VE1MRGlhbG9nRWxlbWVudDo6cXVldWVDYW5jZWxUYXNrKCkKIHsKICAgICBkb2N1bWVudCgpLmV2
ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90ZWN0
ZWRUaGlzID0gR0NSZWFjaGFibGVSZWYgeyAqdGhpcyB9XSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEaWFsb2dFbGVtZW50LmgKaW5kZXggNDcxYTZiM2RkY2VmNjQxODBhZDI0NTM1ZTI4NDY1NjBm
ZWNlZDYxZC4uMTk2YWRhZTg1MjgzNmE2MzAyNThmNGEzZjJmOTVkZDgwNDY4YTk0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaApAQCAtNTAsOCArNTAsNiBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIEhUTUxEaWFsb2dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCi0gICAgdm9pZCByZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBl
LCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKSBmaW5hbDsKLQogICAgIFN0
cmluZyBtX3JldHVyblZhbHVlOwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2UgfTsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>