<?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>206445</bug_id>
          
          <creation_ts>2020-01-17 14:55:47 -0800</creation_ts>
          <short_desc>window proxy of detached iframe doesn&apos;t respect updates to global values</short_desc>
          <delta_ts>2021-03-04 11:46:09 -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>WebCore JavaScript</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="John-David Dalton">john.david.dalton</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>cdumez</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>leonardo.balter</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608215</commentid>
    <comment_count>0</comment_count>
    <who name="John-David Dalton">john.david.dalton</who>
    <bug_when>2020-01-17 14:55:47 -0800</bug_when>
    <thetext>&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;script&gt;
    const iframe = document.createElement(&apos;iframe&apos;);
    document.body.appendChild(iframe);
    const { contentWindow: { eval: iframeEval } } = iframe;

    iframeEval(`
        log = top.console.log;
        foo = 1
    `);
    iframe.remove();
    iframeEval(`
        foo++;
        if (foo !== 2) {
            log(&apos;fails!&apos;);
        } else {
            log(&apos;works!&apos;);
        }
    `);
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Logs &quot;fails!&quot; in Safari but works in Chrome and Firefox:
See https://output.jsbin.com/yuzeyup/1/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608383</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-17 22:56:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/58706578&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657449</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-29 14:47:49 -0700</bug_when>
    <thetext>foo is 1 before and after foo++

Somehow, we are unable to modify foo variable, likely because the iframe where the script is running was removed from the document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657453</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-29 14:51:06 -0700</bug_when>
    <thetext>A simpler way to write this:

&lt;html&gt;
&lt;body&gt;
&lt;script&gt;
    const iframe = document.createElement(&apos;iframe&apos;);
    document.body.appendChild(iframe);
    const iframeEval = iframe.contentWindow.eval;

    iframeEval(`
        log = top.console.log;
        foo = 1
    `);
    iframe.remove();
    iframeEval(`
        foo++;
        if (foo !== 2) {
            log(&apos;fails!&apos;);
        } else {
            log(&apos;works!&apos;);
        }
    `);
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730436</commentid>
    <comment_count>4</comment_count>
    <who name="Leo Balter">leonardo.balter</who>
    <bug_when>2021-02-17 12:08:10 -0800</bug_when>
    <thetext>This issue persists today and it&apos;s being challenging for proper workarounds. Fixing this would be highly appreciated and I wonder how I could help.

I tried to reduce the example to have it represented in Test262 but it is directly connected to the detached iframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735149</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-02 17:58:03 -0800</bug_when>
    <thetext>Looks like we have block all stores to windows when they no longer have a frame, which doesn&apos;t appear to be correct from the spec nor does it match FF/Chrome. I think we should only block if the window without a frame is also not the lexical global object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735150</commentid>
    <comment_count>6</comment_count>
      <attachid>422029</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-02 17:59:37 -0800</bug_when>
    <thetext>Created attachment 422029
Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735182</commentid>
    <comment_count>7</comment_count>
      <attachid>422029</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-03-02 20:38:01 -0800</bug_when>
    <thetext>Comment on attachment 422029
Test

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

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:330
&gt; +    if (thisObject != lexicalGlobalObject &amp;&amp; !thisObject-&gt;wrapped().frame())

I think this would be clearer as an explicit early return of true when thisObject == lexicalGlobalObject.

But also, I&apos;m not sure this is the best fix. Perhaps instead we should remove the frame() checks entirely. Here&apos;s a test case:

&lt;html&gt;
&lt;body&gt;
&lt;script&gt;
    const iframe = document.createElement(&apos;iframe&apos;);
    document.body.appendChild(iframe);
    const iframeContentWindow = iframe.contentWindow;
    iframeContentWindow.foo = 1;

    iframe.remove();

    iframeContentWindow.foo++;

      if (iframeContentWindow.foo !== 2) {
          console.log(&apos;fails!&apos;);
          console.log(iframeContentWindow.foo);
      } else {
          console.log(&apos;works!&apos;);
          console.log(iframeContentWindow.foo);
      }
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

This &quot;works&quot; in Firefox (and &quot;fails&quot; in Chrome). I wonder what the spec says about this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735185</commentid>
    <comment_count>8</comment_count>
    <who name="Leo Balter">leonardo.balter</who>
    <bug_when>2021-03-02 21:01:09 -0800</bug_when>
    <thetext>Thank you, Keith and Geoffrey!

Geoffrey, your example is working both in Chrome (88.0.4324.192 x86_64) and Firefox (86.0) for me, still failing in Safari.

It fails in Chrome only if I open the html file locally, but it works using http (locally or via jsfiddle).

For reference: https://jsfiddle.net/d457haLp/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735401</commentid>
    <comment_count>9</comment_count>
      <attachid>422029</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-03 11:26:12 -0800</bug_when>
    <thetext>Comment on attachment 422029
Test

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

&gt;&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:330
&gt;&gt; +    if (thisObject != lexicalGlobalObject &amp;&amp; !thisObject-&gt;wrapped().frame())
&gt; 
&gt; I think this would be clearer as an explicit early return of true when thisObject == lexicalGlobalObject.
&gt; 
&gt; But also, I&apos;m not sure this is the best fix. Perhaps instead we should remove the frame() checks entirely. Here&apos;s a test case:
&gt; 
&gt; &lt;html&gt;
&gt; &lt;body&gt;
&gt; &lt;script&gt;
&gt;     const iframe = document.createElement(&apos;iframe&apos;);
&gt;     document.body.appendChild(iframe);
&gt;     const iframeContentWindow = iframe.contentWindow;
&gt;     iframeContentWindow.foo = 1;
&gt; 
&gt;     iframe.remove();
&gt; 
&gt;     iframeContentWindow.foo++;
&gt; 
&gt;       if (iframeContentWindow.foo !== 2) {
&gt;           console.log(&apos;fails!&apos;);
&gt;           console.log(iframeContentWindow.foo);
&gt;       } else {
&gt;           console.log(&apos;works!&apos;);
&gt;           console.log(iframeContentWindow.foo);
&gt;       }
&gt; &lt;/script&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;
&gt; 
&gt; This &quot;works&quot; in Firefox (and &quot;fails&quot; in Chrome). I wonder what the spec says about this case.

I suggest we add such a test for a cross-origin iframe too because we would not want to introduce any security bugs :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735443</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-03-03 12:39:31 -0800</bug_when>
    <thetext>(In reply to Leo Balter from comment #8)
&gt; Thank you, Keith and Geoffrey!
&gt; 
&gt; Geoffrey, your example is working both in Chrome (88.0.4324.192 x86_64) and
&gt; Firefox (86.0) for me, still failing in Safari.
&gt; 
&gt; It fails in Chrome only if I open the html file locally, but it works using
&gt; http (locally or via jsfiddle).
&gt; 
&gt; For reference: https://jsfiddle.net/d457haLp/

Thanks for testing!

Weird that Chrome&apos;s behavior differs between local file an http. In either case, though, this seems to confirm that remove the frame() check is probably the best fix. (And yeah, Chris is right that we should add a cross-origin test that is denied, too.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735699</commentid>
    <comment_count>11</comment_count>
      <attachid>422185</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-03 23:56:23 -0800</bug_when>
    <thetext>Created attachment 422185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735840</commentid>
    <comment_count>12</comment_count>
      <attachid>422185</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-04 08:32:39 -0800</bug_when>
    <thetext>Comment on attachment 422185
Patch

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

r=me with nits.

&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable-eval.html:3
&gt; +&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;

We just include ./../resources/js-test.js nowadays.

&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable-eval.html:5
&gt; +    const iframe = document.createElement(&apos;iframe&apos;);

Please add a description(&quot;explanation of that this test does&quot;);

&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable-eval.html:22
&gt; +&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;

Not needed with my suggestion above.

&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable.html:3
&gt; +&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;

no -pre

&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable.html:5
&gt; +    const iframe = document.createElement(&apos;iframe&apos;);

Please add a description();

&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable.html:13
&gt; +&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;

Not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735867</commentid>
    <comment_count>13</comment_count>
      <attachid>422185</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-04 09:41:57 -0800</bug_when>
    <thetext>Comment on attachment 422185
Patch

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

&gt;&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable-eval.html:3
&gt;&gt; +&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; 
&gt; We just include ./../resources/js-test.js nowadays.

Oh cool! Good to know.

&gt;&gt; LayoutTests/fast/frames/iframe-detached-window-still-writable-eval.html:5
&gt;&gt; +    const iframe = document.createElement(&apos;iframe&apos;);
&gt; 
&gt; Please add a description(&quot;explanation of that this test does&quot;);

done and ditto below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735871</commentid>
    <comment_count>14</comment_count>
      <attachid>422243</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-04 09:44:57 -0800</bug_when>
    <thetext>Created attachment 422243
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735911</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-04 10:26:27 -0800</bug_when>
    <thetext>Committed r273901: &lt;https://commits.webkit.org/r273901&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422243.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422029</attachid>
            <date>2021-03-02 17:59:37 -0800</date>
            <delta_ts>2021-03-03 23:56:20 -0800</delta_ts>
            <desc>Test</desc>
            <filename>bug-206445-20210302175936.patch</filename>
            <type>text/plain</type>
            <size>2598</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNlNGJlYjQ5NjQzNWVh
MjU1OTIzMmEyMjYzNTBjNTI4NjJkNWVlNS4uY2Y1MWQ2NDZkYTFmMTU1ZGE5ODlmNWRmMzk0YTEx
MDBkNmFkNDMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTAyICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIHdpbmRvdyBwcm94
eSBvZiBkZXRhY2hlZCBpZnJhbWUgZG9lc24ndCByZXNwZWN0IHVwZGF0ZXMgdG8gZ2xvYmFsIHZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2
NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZG9QdXRQcm9wZXJ0eVNl
Y3VyaXR5Q2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6cHV0QnlJbmRleCk6CisKIDIwMjEtMDMtMDIgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBBbmlt
YXRpb25GcmFtZVJhdGUgY29kZSBpbnRvIGEgLmNwcCBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNTJmOTI0MTc5MWY4NTg3
MmRiMzAwMWQyOTZhY2ViNDQ1NmIzMWI4ZC4uYTRlMzY5Yjk3MDBiZTQ3NjdhYzA1NjFkM2JmNTE2
MmFkZGQyODVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcApAQCAtMzI3LDcgKzMyNyw3IEBAIHZvaWQgSlNET01XaW5kb3c6OmRvUHV0
UHJvcGVydHlTZWN1cml0eUNoZWNrKEpTT2JqZWN0KiBjZWxsLCBKU0dsb2JhbE9iamVjdCogbGV4
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAgICAgYXV0byog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KGNlbGwpOwotICAgIGlmICghdGhpc09i
amVjdC0+d3JhcHBlZCgpLmZyYW1lKCkpCisgICAgaWYgKHRoaXNPYmplY3QgIT0gbGV4aWNhbEds
b2JhbE9iamVjdCAmJiAhdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7CkBAIC0zNDYsNyArMzQ2LDcgQEAgYm9v
bCBKU0RPTVdpbmRvdzo6cHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIFByb3BlcnQKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CiAKICAgICBhdXRvKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2luZG93Kj4oY2Vs
bCk7Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT53cmFwcGVkKCkuZnJhbWUoKSkKKyAgICBpZiAodGhp
c09iamVjdCAhPSBsZXhpY2FsR2xvYmFsT2JqZWN0ICYmICF0aGlzT2JqZWN0LT53cmFwcGVkKCku
ZnJhbWUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgU3RyaW5nIGVycm9yTWVzc2Fn
ZTsKQEAgLTM2OCw3ICszNjgsNyBAQCBib29sIEpTRE9NV2luZG93OjpwdXQoSlNDZWxsKiBjZWxs
LCBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgUHJvcGVydAogYm9vbCBKU0RP
TVdpbmRvdzo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB1bnNpZ25lZCBpbmRleCwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRU
aHJvdykKIHsKICAgICBhdXRvKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2luZG93Kj4oY2Vs
bCk7Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT53cmFwcGVkKCkuZnJhbWUoKSB8fCAhQmluZGluZ1Nl
Y3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNPYmplY3QtPndyYXBwZWQoKSkpCisgICAgaWYgKCh0aGlzT2JqZWN0ICE9IGxleGljYWxH
bG9iYWxPYmplY3QgJiYgIXRoaXNPYmplY3QtPndyYXBwZWQoKS5mcmFtZSgpKSB8fCAhQmluZGlu
Z1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAK
ICAgICByZXR1cm4gQmFzZTo6cHV0QnlJbmRleCh0aGlzT2JqZWN0LCBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBpbmRleCwgdmFsdWUsIHNob3VsZFRocm93KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422185</attachid>
            <date>2021-03-03 23:56:23 -0800</date>
            <delta_ts>2021-03-04 09:44:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206445-20210303235622.patch</filename>
            <type>text/plain</type>
            <size>12249</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNlNGJlYjQ5NjQzNWVh
MjU1OTIzMmEyMjYzNTBjNTI4NjJkNWVlNS4uZGQzOWI2M2NmYTU0Mzk3YWM5NjE5MWY1Y2QwNWZl
NDgxMjA0ZDNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAzLTAzICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIHdpbmRvdyBwcm94
eSBvZiBkZXRhY2hlZCBpZnJhbWUgZG9lc24ndCByZXNwZWN0IHVwZGF0ZXMgdG8gZ2xvYmFsIHZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2
NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNj
b3JkaW5nIHRvIHRoZSBodG1sIHNwZWMgdGhlIGZyYW1lIHNob3VsZCBvbmx5IGJlIG5lZWRpbmcg
Zm9yCisgICAgICAgIENPT1AgYWNjZXNzIHZpb2xhdGlvbiByZXBvcnRpbmcsIHdoaWNoIHdlIGRv
bid0IHN1cHBvcnQuIFRoaXMKKyAgICAgICAgcGF0Y2ggcmVtb3ZlcyBvdXIgb2xkIGJlaGF2aW9y
IG9mIGJsb2NraW5nIHN0b3JlcyB0byB3aW5kb3dzIHRoYXQKKyAgICAgICAgaGF2ZSBiZWVuIGRl
dGFjaGVkLgorCisgICAgICAgIEkgYWxzbyByZW1vdmVkIHNvbWUgc3RhbGUgY2FjaGluZyBjb2Rl
IGZyb20KKyAgICAgICAgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCBzaW5jZSBpdCdzIG9ubHkg
YWNjZXNzZWQgb25jZSBub3cuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlT
bG90QnlJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZG9QdXRQcm9wZXJ0
eVNlY3VyaXR5Q2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6cHV0QnlJbmRleCk6CisKIDIwMjEtMDMtMDIg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBB
bmltYXRpb25GcmFtZVJhdGUgY29kZSBpbnRvIGEgLmNwcCBmaWxlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNTJmOTI0MTc5MWY4
NTg3MmRiMzAwMWQyOTZhY2ViNDQ1NmIzMWI4ZC4uYWE5M2QxYjEzNWNiNTllMmRlOWNmYTU3ZDcw
ZjNlNGNlYzI2Mzg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93Q3VzdG9tLmNwcApAQCAtMjk4LDE0ICsyOTgsNiBAQCBib29sIEpTRE9NV2luZG93Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0
KiBsZQogICAgIC8vIEluZGV4ZWQgZ2V0dGVycyB0YWtlIHByZWNlbmRlbmNlIG92ZXIgcmVndWxh
ciBwcm9wZXJ0aWVzLCBzbyBjYWNoaW5nIHdvdWxkIGJlIGludmFsaWQuCiAgICAgc2xvdC5kaXNh
YmxlQ2FjaGluZygpOwogCi0gICAgU3RyaW5nIGVycm9yTWVzc2FnZTsKLSAgICBPcHRpb25hbDxi
b29sPiBjYWNoZWRJc0Nyb3NzT3JpZ2luQWNjZXNzOwotICAgIGF1dG8gaXNDcm9zc09yaWdpbkFj
Y2VzcyA9IFsmXSB7Ci0gICAgICAgIGlmICghY2FjaGVkSXNDcm9zc09yaWdpbkFjY2VzcykKLSAg
ICAgICAgICAgIGNhY2hlZElzQ3Jvc3NPcmlnaW5BY2Nlc3MgPSAhQmluZGluZ1NlY3VyaXR5Ojpz
aG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB3aW5kb3cs
IGVycm9yTWVzc2FnZSk7Ci0gICAgICAgIHJldHVybiAqY2FjaGVkSXNDcm9zc09yaWdpbkFjY2Vz
czsKLSAgICB9OwotCiAgICAgLy8gKDEpIEZpcnN0LCBpbmRleGVkIHByb3BlcnRpZXMuCiAgICAg
Ly8gVGhlc2UgYXJlIGFsc28gYWxsb3dlZCBjcm9zcy1vcmlnaW4sIHNvIGNvbWUgYmVmb3JlIHRo
ZSBhY2Nlc3MgY2hlY2suCiAgICAgaWYgKGZyYW1lICYmIGluZGV4IDwgZnJhbWUtPnRyZWUoKS5z
Y29wZWRDaGlsZENvdW50KCkpIHsKQEAgLTMxNCw3ICszMDYsOCBAQCBib29sIEpTRE9NV2luZG93
OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2Jq
ZWN0KiBsZQogICAgIH0KIAogICAgIC8vIEhhbmQgb2ZmIGFsbCBjcm9zcy1kb21haW4vZnJhbWVs
ZXNzIGFjY2VzcyB0byBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0ZWRBY2Nl
c3MuCi0gICAgaWYgKGlzQ3Jvc3NPcmlnaW5BY2Nlc3MoKSkKKyAgICBTdHJpbmcgZXJyb3JNZXNz
YWdlOworICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2lu
ZG93KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB3aW5kb3csIGVycm9yTWVzc2FnZSkpCiAgICAgICAg
IHJldHVybiBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0ZWRBY2Nlc3M8RE9N
V2luZG93VHlwZTo6TG9jYWw+KHRoaXNPYmplY3QsIHdpbmRvdywgKmxleGljYWxHbG9iYWxPYmpl
Y3QsIElkZW50aWZpZXI6OmZyb20odm0sIGluZGV4KSwgc2xvdCwgZXJyb3JNZXNzYWdlKTsKIAog
ICAgIC8vICgyKSBSZWd1bGFyIG93biBwcm9wZXJ0aWVzLgpAQCAtMzI3LDggKzMyMCw2IEBAIHZv
aWQgSlNET01XaW5kb3c6OmRvUHV0UHJvcGVydHlTZWN1cml0eUNoZWNrKEpTT2JqZWN0KiBjZWxs
LCBKU0dsb2JhbE9iamVjdCogbGV4CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwogCiAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KGNl
bGwpOwotICAgIGlmICghdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCkpCi0gICAgICAgIHJl
dHVybjsKIAogICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7CiAgICAgaWYgKCFCaW5kaW5nU2VjdXJp
dHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNPYmplY3QtPndyYXBwZWQoKSwgZXJyb3JNZXNzYWdlKSkgewpAQCAtMzQ2LDggKzMzNyw2IEBA
IGJvb2wgSlNET01XaW5kb3c6OnB1dChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBQcm9wZXJ0CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1df
U0NPUEUodm0pOwogCiAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+
KGNlbGwpOwotICAgIGlmICghdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7CiAgICAgaWYgKCFCaW5k
aW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgZXJyb3JNZXNzYWdlKSkgewpAQCAtMzY3LDkg
KzM1NiwxNSBAQCBib29sIEpTRE9NV2luZG93OjpwdXQoSlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgUHJvcGVydAogCiBib29sIEpTRE9NV2luZG93Ojpw
dXRCeUluZGV4KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQogewor
ICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byogdGhpc09i
amVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KGNlbGwpOwotICAgIGlmICghdGhpc09iamVjdC0+
d3JhcHBlZCgpLmZyYW1lKCkgfHwgIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NU
b0RPTVdpbmRvdyhsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT53cmFwcGVkKCkpKQor
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIFN0cmluZyBl
cnJvck1lc3NhZ2U7CisgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNz
VG9ET01XaW5kb3coKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwg
ZXJyb3JNZXNzYWdlKSkgeworICAgICAgICB0aHJvd1NlY3VyaXR5RXJyb3IoKmxleGljYWxHbG9i
YWxPYmplY3QsIHNjb3BlLCBlcnJvck1lc3NhZ2UpOwogICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQogICAgIAogICAgIHJldHVybiBCYXNlOjpwdXRCeUluZGV4KHRoaXNPYmplY3QsIGxleGlj
YWxHbG9iYWxPYmplY3QsIGluZGV4LCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAz
YTgwNmFmN2ZhM2YzZjkwYWE2MzAxNTIyMTc0MjdkOTc3ZGJjMjkuLjBlYTdhZTI0MmE2OTU0ZjUz
N2Y5YjIyYmZmYjkyZjRmOWM1ZjM1ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMy0w
MyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICB3aW5k
b3cgcHJveHkgb2YgZGV0YWNoZWQgaWZyYW1lIGRvZXNuJ3QgcmVzcGVjdCB1cGRhdGVzIHRvIGds
b2JhbCB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjQ0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC9mcmFtZXMvaWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1l
dmFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvaWZyYW1lLWRl
dGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9pZnJhbWUtZGV0YWNoZWQtd2lu
ZG93LXN0aWxsLXdyaXRhYmxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9t
L2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9w
ZXJ0aWVzLmh0bWw6CisKIDIwMjEtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
IAogICAgICAgICBUYWtlIGJveC1zaXppbmcgaW50byBhY2NvdW50IGluIHJlcGxhY2VkIGVsZW1l
bnQgaW50cmluc2ljIHNpemluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
aWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3Jp
dGFibGUtZXZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2M1NDk0MWIxNTQ0ODFlMGZhM2Qy
NzMyM2VlMmUzODYyMDdkMTc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUtZXZhbC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw4IEBACitQQVNTICgpID0+IGZvbyBpcyAyCitQQVNTICgpID0+IGds
b2JhbFRoaXNbMF0gaXMgMgorUEFTUyBpZnJhbWVDb250ZW50V2luZG93LmZvbyBpcyAyCitQQVNT
IGlmcmFtZUNvbnRlbnRXaW5kb3dbMF0gaXMgMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUtZXZhbC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJs
ZS1ldmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFmNmIxMWE2OGNhYzI4ZDc4ZjA4NTc3ZjZjNjFlZWE0
MDlhODc2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFt
ZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUtZXZhbC5odG1sCkBAIC0wLDAgKzEsMjQg
QEAKKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
ZnJhbWUpOworICAgIGNvbnN0IGlmcmFtZUNvbnRlbnRXaW5kb3cgPSBpZnJhbWUuY29udGVudFdp
bmRvdzsKKyAgICBjb25zdCBpZnJhbWVFdmFsID0gaWZyYW1lQ29udGVudFdpbmRvdy5ldmFsOwor
ICAgIGlmcmFtZUNvbnRlbnRXaW5kb3cuZm9vID0gMTsKKyAgICBpZnJhbWVDb250ZW50V2luZG93
WzBdID0gMTsKKyAgICBpZnJhbWVDb250ZW50V2luZG93LnNob3VsZEJlID0gc2hvdWxkQmU7Cisg
ICAgaWZyYW1lLnJlbW92ZSgpOworICAgIGlmcmFtZUV2YWwoYAorICAgICAgICBmb28rKzsKKyAg
ICAgICAgZ2xvYmFsVGhpc1swXSsrOworICAgICAgICBzaG91bGRCZSgoKSA9PiBmb28sICIyIik7
CisgICAgICAgIHNob3VsZEJlKCgpID0+IGdsb2JhbFRoaXNbMF0sICIyIik7CisgICAgYCk7Cisg
ICAgc2hvdWxkQmUoImlmcmFtZUNvbnRlbnRXaW5kb3cuZm9vIiwgIjIiKTsKKyAgICBzaG91bGRC
ZSgiaWZyYW1lQ29udGVudFdpbmRvd1swXSIsICIyIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9pZnJhbWUtZGV0YWNoZWQtd2luZG93LXN0aWxsLXdyaXRhYmxlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ct
c3RpbGwtd3JpdGFibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMTMxZjAwODYwMGFhMzUz
NTM4M2NmZDRjMjIwZGM2ZTM4NjMzMDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9pZnJhbWUtZGV0YWNoZWQtd2luZG93LXN0aWxsLXdyaXRhYmxlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1MgaWZyYW1lQ29udGVudFdpbmRvdy5mb28gaXMgMgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3Rp
bGwtd3JpdGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hl
ZC13aW5kb3ctc3RpbGwtd3JpdGFibGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTkwYzMzZjg0ZmIwZGY5
MjU3MTFmYTUzOTNiYTVlNjFhYTIxNGZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvaWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS5odG1sCkBA
IC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgY29uc3QgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpZnJhbWUpOworICAgIGNvbnN0IGlmcmFtZUNvbnRlbnRXaW5kb3cgPSBpZnJh
bWUuY29udGVudFdpbmRvdzsKKyAgICBpZnJhbWVDb250ZW50V2luZG93LmZvbyA9IDE7CisgICAg
aWZyYW1lLnJlbW92ZSgpOworICAgIGlmcmFtZUNvbnRlbnRXaW5kb3cuZm9vKys7CisgICAgc2hv
dWxkQmUoImlmcmFtZUNvbnRlbnRXaW5kb3cuZm9vIiwgIjIiKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmln
aW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDFkNGExZTYw
MGIyMjIxYTkyMWJhNzNhYzA5YWNlMThhMzBmOTQ4OTYuLjZlYzNiOWRmYmI4NDU0OTE3ZGMyMTRi
ZDI3NDA2YTE3MGI5ZWE5YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9t
L2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRv
dy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMzIsNiArMzIsOCBAQCBQQVNTIHcuc3R5bGVN
ZWRpYSB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGgg
b3JpZ2luICJodAogUEFTUyB3Lm5hdmlnYXRvciB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJv
cjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZy
b20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLi4KIFBBU1Mgdy5wZXJmb3JtYW5jZSB0aHJldyBleGNlcHRpb24g
U2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMs
IGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KIFBBU1Mgdy5mb28gdGhyZXcgZXhjZXB0
aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9j
b2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCitQQVNTIHcuZm9vID0gMSB0aHJl
dyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1l
LiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgd1swXSA9
IDEgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9y
aWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdp
biBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCiBQQVNT
IHcubG9jYXRpb24uZm9vIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEg
ZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Npbmcg
YSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guLgogCiAqIEFmdGVyIEdDCkBAIC02Myw2ICs2NSw4IEBAIFBBU1Mgdy5zdHlsZU1lZGlh
IHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0CiBQQVNTIHcubmF2aWdhdG9yIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBC
bG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBh
Y2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBv
cnRzIG11c3QgbWF0Y2guLgogUEFTUyB3LnBlcmZvcm1hbmNlIHRocmV3IGV4Y2VwdGlvbiBTZWN1
cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9t
YWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgogUEFTUyB3LmZvbyB0aHJldyBleGNlcHRpb24g
U2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMs
IGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KK1BBU1Mgdy5mb28gPSAxIHRocmV3IGV4
Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFBy
b3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFTUyB3WzBdID0gMSB0
aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2lu
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZy
YW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KIFBBU1Mgdy5s
b2NhdGlvbi5mb28gdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNy
b3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4uCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVy
dGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFj
aGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggZmUxMjE5MWEzODkzN2YxYjQxNDFhNDY4
YWJjMDA0MGE1NmVkM2FhYS4uMmE1ZWVjYmUwZTFhMDFlOTJmMWFkMDViZTIxNGM3YjlhMTEzZjZk
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRl
dGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKQEAgLTQ4
LDYgKzQ4LDggQEAgZnVuY3Rpb24gdmFsaWRhdGVXaW5kb3coX3cpCiAgICAgc2hvdWxkVGhyb3dF
cnJvck5hbWUoIncucGVyZm9ybWFuY2UiLCAiU2VjdXJpdHlFcnJvciIpOwogCiAgICAgc2hvdWxk
VGhyb3dFcnJvck5hbWUoIncuZm9vIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICBzaG91bGRUaHJv
d0Vycm9yTmFtZSgidy5mb28gPSAxIiwgIlNlY3VyaXR5RXJyb3IiKTsKKyAgICBzaG91bGRUaHJv
d0Vycm9yTmFtZSgid1swXSA9IDEiLCAiU2VjdXJpdHlFcnJvciIpOwogICAgIHNob3VsZFRocm93
RXJyb3JOYW1lKCJ3LmxvY2F0aW9uLmZvbyIsICJTZWN1cml0eUVycm9yIik7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422243</attachid>
            <date>2021-03-04 09:44:57 -0800</date>
            <delta_ts>2021-03-04 11:46:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-206445-20210304094457.patch</filename>
            <type>text/plain</type>
            <size>12611</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNlNGJlYjQ5NjQzNWVh
MjU1OTIzMmEyMjYzNTBjNTI4NjJkNWVlNS4uNTI0N2UxNjkxNzE2NTMzMzZmZDE4YzhlYmFmMDEx
ZTRjYzVmNTQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAzLTAzICBLZWl0
aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIHdpbmRvdyBwcm94
eSBvZiBkZXRhY2hlZCBpZnJhbWUgZG9lc24ndCByZXNwZWN0IHVwZGF0ZXMgdG8gZ2xvYmFsIHZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2
NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgQWNjb3Jk
aW5nIHRvIHRoZSBodG1sIHNwZWMgdGhlIGZyYW1lIHNob3VsZCBvbmx5IGJlIG5lZWRpbmcgZm9y
CisgICAgICAgIENPT1AgYWNjZXNzIHZpb2xhdGlvbiByZXBvcnRpbmcsIHdoaWNoIHdlIGRvbid0
IHN1cHBvcnQuIFRoaXMKKyAgICAgICAgcGF0Y2ggcmVtb3ZlcyBvdXIgb2xkIGJlaGF2aW9yIG9m
IGJsb2NraW5nIHN0b3JlcyB0byB3aW5kb3dzIHRoYXQKKyAgICAgICAgaGF2ZSBiZWVuIGRldGFj
aGVkLgorCisgICAgICAgIEkgYWxzbyByZW1vdmVkIHNvbWUgc3RhbGUgY2FjaGluZyBjb2RlIGZy
b20KKyAgICAgICAgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleCBzaW5jZSBpdCdzIG9ubHkgYWNj
ZXNzZWQgb25jZSBub3cuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90
QnlJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZG9QdXRQcm9wZXJ0eVNl
Y3VyaXR5Q2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6cHV0QnlJbmRleCk6CisKIDIwMjEtMDMtMDIgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBBbmlt
YXRpb25GcmFtZVJhdGUgY29kZSBpbnRvIGEgLmNwcCBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNTJmOTI0MTc5MWY4NTg3
MmRiMzAwMWQyOTZhY2ViNDQ1NmIzMWI4ZC4uYWE5M2QxYjEzNWNiNTllMmRlOWNmYTU3ZDcwZjNl
NGNlYzI2Mzg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93Q3VzdG9tLmNwcApAQCAtMjk4LDE0ICsyOTgsNiBAQCBib29sIEpTRE9NV2luZG93OjpnZXRP
d25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBs
ZQogICAgIC8vIEluZGV4ZWQgZ2V0dGVycyB0YWtlIHByZWNlbmRlbmNlIG92ZXIgcmVndWxhciBw
cm9wZXJ0aWVzLCBzbyBjYWNoaW5nIHdvdWxkIGJlIGludmFsaWQuCiAgICAgc2xvdC5kaXNhYmxl
Q2FjaGluZygpOwogCi0gICAgU3RyaW5nIGVycm9yTWVzc2FnZTsKLSAgICBPcHRpb25hbDxib29s
PiBjYWNoZWRJc0Nyb3NzT3JpZ2luQWNjZXNzOwotICAgIGF1dG8gaXNDcm9zc09yaWdpbkFjY2Vz
cyA9IFsmXSB7Ci0gICAgICAgIGlmICghY2FjaGVkSXNDcm9zc09yaWdpbkFjY2VzcykKLSAgICAg
ICAgICAgIGNhY2hlZElzQ3Jvc3NPcmlnaW5BY2Nlc3MgPSAhQmluZGluZ1NlY3VyaXR5OjpzaG91
bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB3aW5kb3csIGVy
cm9yTWVzc2FnZSk7Ci0gICAgICAgIHJldHVybiAqY2FjaGVkSXNDcm9zc09yaWdpbkFjY2VzczsK
LSAgICB9OwotCiAgICAgLy8gKDEpIEZpcnN0LCBpbmRleGVkIHByb3BlcnRpZXMuCiAgICAgLy8g
VGhlc2UgYXJlIGFsc28gYWxsb3dlZCBjcm9zcy1vcmlnaW4sIHNvIGNvbWUgYmVmb3JlIHRoZSBh
Y2Nlc3MgY2hlY2suCiAgICAgaWYgKGZyYW1lICYmIGluZGV4IDwgZnJhbWUtPnRyZWUoKS5zY29w
ZWRDaGlsZENvdW50KCkpIHsKQEAgLTMxNCw3ICszMDYsOCBAQCBib29sIEpTRE9NV2luZG93Ojpn
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0
KiBsZQogICAgIH0KIAogICAgIC8vIEhhbmQgb2ZmIGFsbCBjcm9zcy1kb21haW4vZnJhbWVsZXNz
IGFjY2VzcyB0byBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0ZWRBY2Nlc3Mu
Ci0gICAgaWYgKGlzQ3Jvc3NPcmlnaW5BY2Nlc3MoKSkKKyAgICBTdHJpbmcgZXJyb3JNZXNzYWdl
OworICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB3aW5kb3csIGVycm9yTWVzc2FnZSkpCiAgICAgICAgIHJl
dHVybiBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0ZWRBY2Nlc3M8RE9NV2lu
ZG93VHlwZTo6TG9jYWw+KHRoaXNPYmplY3QsIHdpbmRvdywgKmxleGljYWxHbG9iYWxPYmplY3Qs
IElkZW50aWZpZXI6OmZyb20odm0sIGluZGV4KSwgc2xvdCwgZXJyb3JNZXNzYWdlKTsKIAogICAg
IC8vICgyKSBSZWd1bGFyIG93biBwcm9wZXJ0aWVzLgpAQCAtMzI3LDggKzMyMCw2IEBAIHZvaWQg
SlNET01XaW5kb3c6OmRvUHV0UHJvcGVydHlTZWN1cml0eUNoZWNrKEpTT2JqZWN0KiBjZWxsLCBK
U0dsb2JhbE9iamVjdCogbGV4CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogCiAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KGNlbGwp
OwotICAgIGlmICghdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCkpCi0gICAgICAgIHJldHVy
bjsKIAogICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7CiAgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6
OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNP
YmplY3QtPndyYXBwZWQoKSwgZXJyb3JNZXNzYWdlKSkgewpAQCAtMzQ2LDggKzMzNyw2IEBAIGJv
b2wgSlNET01XaW5kb3c6OnB1dChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBQcm9wZXJ0CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwogCiAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KGNl
bGwpOwotICAgIGlmICghdGhpc09iamVjdC0+d3JhcHBlZCgpLmZyYW1lKCkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7CiAgICAgaWYgKCFCaW5kaW5n
U2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coKmxleGljYWxHbG9iYWxPYmpl
Y3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgZXJyb3JNZXNzYWdlKSkgewpAQCAtMzY3LDkgKzM1
NiwxNSBAQCBib29sIEpTRE9NV2luZG93OjpwdXQoSlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgUHJvcGVydAogCiBib29sIEpTRE9NV2luZG93OjpwdXRC
eUluZGV4KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQogeworICAg
IFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byogdGhpc09iamVj
dCA9IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KGNlbGwpOwotICAgIGlmICghdGhpc09iamVjdC0+d3Jh
cHBlZCgpLmZyYW1lKCkgfHwgIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RP
TVdpbmRvdyhsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT53cmFwcGVkKCkpKQorICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIFN0cmluZyBlcnJv
ck1lc3NhZ2U7CisgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9E
T01XaW5kb3coKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgZXJy
b3JNZXNzYWdlKSkgeworICAgICAgICB0aHJvd1NlY3VyaXR5RXJyb3IoKmxleGljYWxHbG9iYWxP
YmplY3QsIHNjb3BlLCBlcnJvck1lc3NhZ2UpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQogICAgIAogICAgIHJldHVybiBCYXNlOjpwdXRCeUluZGV4KHRoaXNPYmplY3QsIGxleGljYWxH
bG9iYWxPYmplY3QsIGluZGV4LCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzYTgw
NmFmN2ZhM2YzZjkwYWE2MzAxNTIyMTc0MjdkOTc3ZGJjMjkuLjk3NzhlNjI1YjRjODVjNzQ1ZDdk
ZjhhNTk3OWUzYzQ5ZTUzMzc1ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMy0wMyAg
S2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICB3aW5kb3cg
cHJveHkgb2YgZGV0YWNoZWQgaWZyYW1lIGRvZXNuJ3QgcmVzcGVjdCB1cGRhdGVzIHRvIGdsb2Jh
bCB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNjQ0NQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICog
ZmFzdC9mcmFtZXMvaWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvaWZyYW1lLWRldGFjaGVk
LXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9pZnJhbWUtZGV0YWNoZWQtd2luZG93LXN0
aWxsLXdyaXRhYmxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL2Nyb3Nz
LW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWw6CisKIDIwMjEtMDMtMDIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBUYWtlIGJveC1zaXppbmcgaW50byBhY2NvdW50IGluIHJlcGxhY2VkIGVsZW1lbnQgaW50
cmluc2ljIHNpemluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1l
LWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUt
ZXZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjViZGQyMGMxZTAzZTdjODc4YTIzNjJmNTg5
ZTY1NDA0MjhiYWM4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2lmcmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUtZXZhbC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVmVyaWZ5IHRoYXQgc2NyaXB0cyBydW5uaW5nIGluIGEgZGV0YWNo
ZWQgd2luZG93IGNhbiBzdGlsbCBtb2RpZnkgZ2xvYmFsIHByb3BlcnRpZXMKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgKCkgPT4gZm9vIGlzIDIKK1BBU1MgKCkgPT4gZ2xv
YmFsVGhpc1swXSBpcyAyCitQQVNTIGlmcmFtZUNvbnRlbnRXaW5kb3cuZm9vIGlzIDIKK1BBU1Mg
aWZyYW1lQ29udGVudFdpbmRvd1swXSBpcyAyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvaWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtZGV0YWNoZWQtd2luZG93LXN0aWxsLXdyaXRhYmxl
LWV2YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDcxMzFlYzhhZGJiYzA2MjUzMzc1OGMzZDVlMzBiNDMz
NDZjYjdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1l
LWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1ldmFsLmh0bWwKQEAgLTAsMCArMSwyNCBA
QAorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJWZXJpZnkgdGhhdCBzY3Jp
cHRzIHJ1bm5pbmcgaW4gYSBkZXRhY2hlZCB3aW5kb3cgY2FuIHN0aWxsIG1vZGlmeSBnbG9iYWwg
cHJvcGVydGllcyIpOworICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2lmcmFtZScpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICBj
b25zdCBpZnJhbWVDb250ZW50V2luZG93ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3c7CisgICAgY29u
c3QgaWZyYW1lRXZhbCA9IGlmcmFtZUNvbnRlbnRXaW5kb3cuZXZhbDsKKyAgICBpZnJhbWVDb250
ZW50V2luZG93LmZvbyA9IDE7CisgICAgaWZyYW1lQ29udGVudFdpbmRvd1swXSA9IDE7CisgICAg
aWZyYW1lQ29udGVudFdpbmRvdy5zaG91bGRCZSA9IHNob3VsZEJlOworICAgIGlmcmFtZS5yZW1v
dmUoKTsKKyAgICBpZnJhbWVFdmFsKGAKKyAgICAgICAgZm9vKys7CisgICAgICAgIGdsb2JhbFRo
aXNbMF0rKzsKKyAgICAgICAgc2hvdWxkQmUoKCkgPT4gZm9vLCAiMiIpOworICAgICAgICBzaG91
bGRCZSgoKSA9PiBnbG9iYWxUaGlzWzBdLCAiMiIpOworICAgIGApOworICAgIHNob3VsZEJlKCJp
ZnJhbWVDb250ZW50V2luZG93LmZvbyIsICIyIik7CisgICAgc2hvdWxkQmUoImlmcmFtZUNvbnRl
bnRXaW5kb3dbMF0iLCAiMiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
aWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtZGV0YWNoZWQtd2luZG93LXN0aWxsLXdyaXRhYmxl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NThhOGUxZDk0N2E5OTA4N2M4OTE5NmUxZDc3ZTM2
MWYxOTM3MTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZy
YW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0YWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMCBAQAorVmVyaWZ5IHRoYXQgZGV0YWNoZWQgd2luZG93cyBhcmUgc3RpbGwgd3JpdGFibGUK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaWZyYW1lQ29udGVudFdpbmRv
dy5mb28gaXMgMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS1kZXRhY2hl
ZC13aW5kb3ctc3RpbGwtd3JpdGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lm
cmFtZS1kZXRhY2hlZC13aW5kb3ctc3RpbGwtd3JpdGFibGUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmUx
MGQyNDBkNDcxNTUzNGZjZDFlNGYwNDI5NjEwMmQ4NWI1ODczCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLWRldGFjaGVkLXdpbmRvdy1zdGlsbC13cml0
YWJsZS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBkZXNj
cmlwdGlvbigiVmVyaWZ5IHRoYXQgZGV0YWNoZWQgd2luZG93cyBhcmUgc3RpbGwgd3JpdGFibGUi
KTsKKyAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgICAgY29uc3QgaWZyYW1l
Q29udGVudFdpbmRvdyA9IGlmcmFtZS5jb250ZW50V2luZG93OworICAgIGlmcmFtZUNvbnRlbnRX
aW5kb3cuZm9vID0gMTsKKyAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgaWZyYW1lQ29udGVudFdp
bmRvdy5mb28rKzsKKyAgICBzaG91bGRCZSgiaWZyYW1lQ29udGVudFdpbmRvdy5mb28iLCAiMiIp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRl
dGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvZG9tL2Nyb3NzLW9yaWdpbi1kZXRhY2hlZC13aW5kb3ctcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQKaW5kZXggMWQ0YTFlNjAwYjIyMjFhOTIxYmE3M2FjMDlhY2UxOGEzMGY5NDg5Ni4uNmVj
M2I5ZGZiYjg0NTQ5MTdkYzIxNGJkMjc0MDZhMTcwYjllYTljMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRldGFjaGVkLXdpbmRvdy1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1v
cmlnaW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0zMiw2ICsz
Miw4IEBAIFBBU1Mgdy5zdHlsZU1lZGlhIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBC
bG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0CiBQQVNTIHcubmF2aWdhdG9yIHRocmV3IGV4
Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFBy
b3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgogUEFTUyB3LnBlcmZvcm1h
bmNlIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmln
aW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgogUEFT
UyB3LmZvbyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxvY2tlZCBhIGZyYW1lIHdp
dGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mt
b3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4K
K1BBU1Mgdy5mb28gPSAxIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEg
ZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Npbmcg
YSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guLgorUEFTUyB3WzBdID0gMSB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlFcnJvcjogQmxv
Y2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNj
ZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0
cyBtdXN0IG1hdGNoLi4KIFBBU1Mgdy5sb2NhdGlvbi5mb28gdGhyZXcgZXhjZXB0aW9uIFNlY3Vy
aXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21h
aW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCiAKICogQWZ0ZXIgR0MKQEAgLTYzLDYgKzY1LDgg
QEAgUEFTUyB3LnN0eWxlTWVkaWEgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2Nr
ZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHQKIFBBU1Mgdy5uYXZpZ2F0b3IgdGhyZXcgZXhjZXB0
aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9j
b2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCiBQQVNTIHcucGVyZm9ybWFuY2Ug
dGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNyb3NzLW9yaWdpbiBm
cmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4uCiBQQVNTIHcu
Zm9vIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBjcm9zcy1vcmln
aW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guLgorUEFT
UyB3LmZvbyA9IDEgdGhyZXcgZXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IEJsb2NrZWQgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGNy
b3NzLW9yaWdpbiBmcmFtZS4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4uCitQQVNTIHdbMF0gPSAxIHRocmV3IGV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBCbG9ja2Vk
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Np
bmcgYSBjcm9zcy1vcmlnaW4gZnJhbWUuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11
c3QgbWF0Y2guLgogUEFTUyB3LmxvY2F0aW9uLmZvbyB0aHJldyBleGNlcHRpb24gU2VjdXJpdHlF
cnJvcjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
IGZyb20gYWNjZXNzaW5nIGEgY3Jvc3Mtb3JpZ2luIGZyYW1lLiBQcm90b2NvbHMsIGRvbWFpbnMs
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLi4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vY3Jvc3Mtb3JpZ2luLWRl
dGFjaGVkLXdpbmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
bS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMuaHRtbAppbmRleCBmZTEy
MTkxYTM4OTM3ZjFiNDE0MWE0NjhhYmMwMDQwYTU2ZWQzYWFhLi4yYTVlZWNiZTBlMWEwMWU5MmYx
YWQwNWJlMjE0YzdiOWExMTNmNmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXByb3BlcnRpZXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9jcm9zcy1vcmlnaW4tZGV0YWNoZWQtd2luZG93LXBy
b3BlcnRpZXMuaHRtbApAQCAtNDgsNiArNDgsOCBAQCBmdW5jdGlvbiB2YWxpZGF0ZVdpbmRvdyhf
dykKICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5wZXJmb3JtYW5jZSIsICJTZWN1cml0eUVy
cm9yIik7CiAKICAgICBzaG91bGRUaHJvd0Vycm9yTmFtZSgidy5mb28iLCAiU2VjdXJpdHlFcnJv
ciIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3LmZvbyA9IDEiLCAiU2VjdXJpdHlFcnJv
ciIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJ3WzBdID0gMSIsICJTZWN1cml0eUVycm9y
Iik7CiAgICAgc2hvdWxkVGhyb3dFcnJvck5hbWUoIncubG9jYXRpb24uZm9vIiwgIlNlY3VyaXR5
RXJyb3IiKTsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="441316"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>