<?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>122764</bug_id>
          
          <creation_ts>2013-10-14 10:56:31 -0700</creation_ts>
          <short_desc>Web Inspector: Avoid using Runtime.executionContextCreated to figure out the iframe&apos;s contentDocument node.</short_desc>
          <delta_ts>2019-12-05 12:35:33 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>939535</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-10-14 10:56:31 -0700</bug_when>
    <thetext>Runtime.executionContextCreated is only called if you have a &lt;script&gt; tag in the page, so iframes with no scripting will not show up in the WebInspector.

Also, it means that the console will not be able to inject any other script inside the iframe, so maybe we just need to always create a scripting context when the web inspector is loaded.

Note that it happens to work in Safari because of the do-not-track feature that will always create an exceution context for all pages. However, that&apos;s not the case for the test runner.
The context is created because of the following function call Safari::BrowserBundlePageController::injectDoNotTrackDOMPropertyInStandardWorld().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939536</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-14 10:56:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/15222136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939553</commentid>
    <comment_count>2</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-10-14 11:18:44 -0700</bug_when>
    <thetext>I&apos;ve logged https://bugs.webkit.org/show_bug.cgi?id=122766 for the do-not-track issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595594</commentid>
    <comment_count>3</comment_count>
      <attachid>384850</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-04 14:58:26 -0800</bug_when>
    <thetext>Created attachment 384850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595604</commentid>
    <comment_count>4</comment_count>
      <attachid>384854</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-04 15:22:23 -0800</bug_when>
    <thetext>Created attachment 384854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595727</commentid>
    <comment_count>5</comment_count>
      <attachid>384854</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-04 23:21:56 -0800</bug_when>
    <thetext>Comment on attachment 384854
Patch

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

&gt; Source/WebCore/inspector/agents/InspectorPageAgent.cpp:695
&gt; +    mainWorldExecState(&amp;frame);

Why is this being done inside the page agent?  Why create a `PageDebuggerAgent::frameNavigated` (or change the existing `PageDebuggerAgent::mainFrameNavigated` to be that and have a check inside it for `frame.isMainFrame()`)?

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:5
&gt; +function createIFrame()

NIT: I&apos;d just call this `createFrame`.

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:14
&gt; +    let suite = ProtocolTest.createAsyncSuite(&quot;Initial Runtime.executionContextCreated events&quot;);

NIT: we prefer to have suite names that would match object property syntax.
```
    let suite = ProtocolTest.createAsyncSuite(&quot;Runtime.executionContextCreated.ContextWithoutScript&quot;);
```

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:17
&gt; +        name: &quot;No duplicate contexts when enabling Runtime agent&quot;,

NIT: we prefer to use the suite name as a prefix for test case names.
```
    name: &quot;Runtime.executionContextCreated.ContextWithoutScript.SubFrame&quot;,
```
Also, what you have here doesn&apos;t match what the test is actually doing.

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:18
&gt; +        description: &quot;Test that Runtime.enable will send executionContextCreated events only for existng main world contexts&quot;,

This doesn&apos;t match what the test is actually doing.

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:21
&gt; +                method: &quot;Page.enable&quot;

Style: for simple objects like this (1-2 keys with primitive or reference values), we usually inline them.

```
    await InspectorProtocol.awaitCommand({method: &quot;Page.enable&quot;});
    await InspectorProtocol.awaitCommand({method: &quot;Runtime.enable&quot;});
```

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:31
&gt; +            });

Style: please add a newline after

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:32
&gt; +            await InspectorProtocol.awaitEvent({event: &quot;Runtime.executionContextCreated&quot;});

In cases like these, I usually prefer to add the event listener _before_ I dispatch the command that would trigger the event, especially when using `await`, so that it&apos;s guaranteed to be handled if execution is slow, such as in a debug build.
```
    await Promise.all([
        InspectorProtocol.awaitEvent({event: &quot;Runtime.executionContextCreated&quot;}),
        InspectorProtocol.awaitCommand({
            method: &quot;Runtime.enable&quot;,
            params: {expression: `createFrame()`},
        }),
    ]);
```

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:33
&gt; +            ProtocolTest.pass(&quot;Should receive Runtime.executionContextCreated notification&quot;);

We should also test that we&apos;re able to do something with the newly created execution context, like get the `document.body.textContent` and check that it matches &quot;No JavaScript&quot;.

Style: please add a newline before</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595869</commentid>
    <comment_count>6</comment_count>
      <attachid>384854</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-05 10:20:54 -0800</bug_when>
    <thetext>Comment on attachment 384854
Patch

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

&gt;&gt; Source/WebCore/inspector/agents/InspectorPageAgent.cpp:695
&gt;&gt; +    mainWorldExecState(&amp;frame);
&gt; 
&gt; Why is this being done inside the page agent?  Why create a `PageDebuggerAgent::frameNavigated` (or change the existing `PageDebuggerAgent::mainFrameNavigated` to be that and have a check inside it for `frame.isMainFrame()`)?

We cannot put this into a debugger agent because executionContextCreated event is a part of Runtime domain (not debugger) and it is generated by PageRuntimeAgent. PageRuntimeAgent requires InspectorPageAgent to be enabled and does not require debugger to be on.

I&apos;ve added PageRuntimeAgent::frameNavigated instead and moved the logic over there as PageRuntimeAgent is the place where execution contexts are managed.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:5
&gt;&gt; +function createIFrame()
&gt; 
&gt; NIT: I&apos;d just call this `createFrame`.

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:14
&gt;&gt; +    let suite = ProtocolTest.createAsyncSuite(&quot;Initial Runtime.executionContextCreated events&quot;);
&gt; 
&gt; NIT: we prefer to have suite names that would match object property syntax.
&gt; ```
&gt;     let suite = ProtocolTest.createAsyncSuite(&quot;Runtime.executionContextCreated.ContextWithoutScript&quot;);
&gt; ```

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:17
&gt;&gt; +        name: &quot;No duplicate contexts when enabling Runtime agent&quot;,
&gt; 
&gt; NIT: we prefer to use the suite name as a prefix for test case names.
&gt; ```
&gt;     name: &quot;Runtime.executionContextCreated.ContextWithoutScript.SubFrame&quot;,
&gt; ```
&gt; Also, what you have here doesn&apos;t match what the test is actually doing.

Updated the text.

What&apos;s the point in repeating test harness name multiple times? IMO it just hinders readability of the test output. Also if we want all test cases to be prefixed by the harness name, the test harness implementation could add the prefix automatically in the output.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:18
&gt;&gt; +        description: &quot;Test that Runtime.enable will send executionContextCreated events only for existng main world contexts&quot;,
&gt; 
&gt; This doesn&apos;t match what the test is actually doing.

Updated.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:21
&gt;&gt; +                method: &quot;Page.enable&quot;
&gt; 
&gt; Style: for simple objects like this (1-2 keys with primitive or reference values), we usually inline them.
&gt; 
&gt; ```
&gt;     await InspectorProtocol.awaitCommand({method: &quot;Page.enable&quot;});
&gt;     await InspectorProtocol.awaitCommand({method: &quot;Runtime.enable&quot;});
&gt; ```

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:31
&gt;&gt; +            });
&gt; 
&gt; Style: please add a newline after

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:32
&gt;&gt; +            await InspectorProtocol.awaitEvent({event: &quot;Runtime.executionContextCreated&quot;});
&gt; 
&gt; In cases like these, I usually prefer to add the event listener _before_ I dispatch the command that would trigger the event, especially when using `await`, so that it&apos;s guaranteed to be handled if execution is slow, such as in a debug build.
&gt; ```
&gt;     await Promise.all([
&gt;         InspectorProtocol.awaitEvent({event: &quot;Runtime.executionContextCreated&quot;}),
&gt;         InspectorProtocol.awaitCommand({
&gt;             method: &quot;Runtime.enable&quot;,
&gt;             params: {expression: `createFrame()`},
&gt;         }),
&gt;     ]);
&gt; ```

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:33
&gt;&gt; +            ProtocolTest.pass(&quot;Should receive Runtime.executionContextCreated notification&quot;);
&gt; 
&gt; We should also test that we&apos;re able to do something with the newly created execution context, like get the `document.body.textContent` and check that it matches &quot;No JavaScript&quot;.
&gt; 
&gt; Style: please add a newline before

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595870</commentid>
    <comment_count>7</comment_count>
      <attachid>384918</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-05 10:21:09 -0800</bug_when>
    <thetext>Created attachment 384918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595880</commentid>
    <comment_count>8</comment_count>
      <attachid>384854</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-05 10:43:27 -0800</bug_when>
    <thetext>Comment on attachment 384854
Patch

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

&gt;&gt;&gt; Source/WebCore/inspector/agents/InspectorPageAgent.cpp:695
&gt;&gt;&gt; +    mainWorldExecState(&amp;frame);
&gt;&gt; 
&gt;&gt; Why is this being done inside the page agent?  Why create a `PageDebuggerAgent::frameNavigated` (or change the existing `PageDebuggerAgent::mainFrameNavigated` to be that and have a check inside it for `frame.isMainFrame()`)?
&gt; 
&gt; We cannot put this into a debugger agent because executionContextCreated event is a part of Runtime domain (not debugger) and it is generated by PageRuntimeAgent. PageRuntimeAgent requires InspectorPageAgent to be enabled and does not require debugger to be on.
&gt; 
&gt; I&apos;ve added PageRuntimeAgent::frameNavigated instead and moved the logic over there as PageRuntimeAgent is the place where execution contexts are managed.

Ah whoops.  I meant to write `PageRuntimeAgent` 😂  Glad you got it nonetheless :)

&gt;&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:17
&gt;&gt;&gt; +        name: &quot;No duplicate contexts when enabling Runtime agent&quot;,
&gt;&gt; 
&gt;&gt; NIT: we prefer to use the suite name as a prefix for test case names.
&gt;&gt; ```
&gt;&gt;     name: &quot;Runtime.executionContextCreated.ContextWithoutScript.SubFrame&quot;,
&gt;&gt; ```
&gt;&gt; Also, what you have here doesn&apos;t match what the test is actually doing.
&gt; 
&gt; Updated the text.
&gt; 
&gt; What&apos;s the point in repeating test harness name multiple times? IMO it just hinders readability of the test output. Also if we want all test cases to be prefixed by the harness name, the test harness implementation could add the prefix automatically in the output.

Using object property syntax helps with code searching, especially when using terminal commands like `grep` or `ack` where spaces can be treated differently.  We like to use the suite name as a prefix for a similar reason, and would also help if we ever decided to add something like a per-testcase dashboard, rather than just per-file, as an individual test case would contain both where it is (the suite prefix) and what it does (the testcase name).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595885</commentid>
    <comment_count>9</comment_count>
      <attachid>384918</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-05 10:54:23 -0800</bug_when>
    <thetext>Comment on attachment 384918
Patch

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

r=me, with some style comments

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:720
&gt; +    if (PageRuntimeAgent* pageRuntimeAgent = instrumentingAgents.pageRuntimeAgent())

NIT: `auto`

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:22
&gt; +            await InspectorProtocol.awaitCommand({method: &quot;Runtime.enable&quot;});

Style: please add a newline after

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:23
&gt; +            let [eventPayload] = await Promise.all([

Style: please use a more descriptive name, like `executionContextCreatedEvent`

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:27
&gt; +                    params: {expression: &quot;createFrame()&quot;}

Style: we usually use backticks (`) for expressions that will be evaluated in the inspected page, so it&apos;s more distinct and can be more easily identified when scanning a file

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:33
&gt; +            let resultPayload = await InspectorProtocol.awaitCommand({

Style: please use a more descriptive name, like `evaluateResult`

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:37
&gt; +                    expression: &quot;document.body.textContent&quot;

Ditto (27)

&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:41
&gt; +            ProtocolTest.expectEqual(resultPayload.result.value, &quot;No JavaScript.&quot;, &quot;Can evaluate in the subframe using new context.&quot;);

Style: our usual style is to make the expectation message an imperative sentence, like &quot;Should be able to evaluate in subframe.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595895</commentid>
    <comment_count>10</comment_count>
      <attachid>384854</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-05 11:13:03 -0800</bug_when>
    <thetext>Comment on attachment 384854
Patch

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

&gt;&gt;&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:17
&gt;&gt;&gt;&gt; +        name: &quot;No duplicate contexts when enabling Runtime agent&quot;,
&gt;&gt;&gt; 
&gt;&gt;&gt; NIT: we prefer to use the suite name as a prefix for test case names.
&gt;&gt;&gt; ```
&gt;&gt;&gt;     name: &quot;Runtime.executionContextCreated.ContextWithoutScript.SubFrame&quot;,
&gt;&gt;&gt; ```
&gt;&gt;&gt; Also, what you have here doesn&apos;t match what the test is actually doing.
&gt;&gt; 
&gt;&gt; Updated the text.
&gt;&gt; 
&gt;&gt; What&apos;s the point in repeating test harness name multiple times? IMO it just hinders readability of the test output. Also if we want all test cases to be prefixed by the harness name, the test harness implementation could add the prefix automatically in the output.
&gt; 
&gt; Using object property syntax helps with code searching, especially when using terminal commands like `grep` or `ack` where spaces can be treated differently.  We like to use the suite name as a prefix for a similar reason, and would also help if we ever decided to add something like a per-testcase dashboard, rather than just per-file, as an individual test case would contain both where it is (the suite prefix) and what it does (the testcase name).

The expectation could include full path which would help with both grepping and dashboards (for the dashboards the harness could assist too). Requiring to repeat the same constant multiple times is error-prone to (it&apos;s easy to make a typo). Anyways, consistency across the tests is important. I&apos;d personally prefer BDD-style test definitions as it would also allow to get rid of separate description and it seems more readable, it has nothing to do with this patch though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595899</commentid>
    <comment_count>11</comment_count>
      <attachid>384918</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-05 11:18:54 -0800</bug_when>
    <thetext>Comment on attachment 384918
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:720
&gt;&gt; +    if (PageRuntimeAgent* pageRuntimeAgent = instrumentingAgents.pageRuntimeAgent())
&gt; 
&gt; NIT: `auto`

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:22
&gt;&gt; +            await InspectorProtocol.awaitCommand({method: &quot;Runtime.enable&quot;});
&gt; 
&gt; Style: please add a newline after

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:23
&gt;&gt; +            let [eventPayload] = await Promise.all([
&gt; 
&gt; Style: please use a more descriptive name, like `executionContextCreatedEvent`

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:27
&gt;&gt; +                    params: {expression: &quot;createFrame()&quot;}
&gt; 
&gt; Style: we usually use backticks (`) for expressions that will be evaluated in the inspected page, so it&apos;s more distinct and can be more easily identified when scanning a file

Done. It could be misleading though as backticks are also used for template strings.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:33
&gt;&gt; +            let resultPayload = await InspectorProtocol.awaitCommand({
&gt; 
&gt; Style: please use a more descriptive name, like `evaluateResult`

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:37
&gt;&gt; +                    expression: &quot;document.body.textContent&quot;
&gt; 
&gt; Ditto (27)

Done.

&gt;&gt; LayoutTests/inspector/runtime/execution-context-in-scriptless-page.html:41
&gt;&gt; +            ProtocolTest.expectEqual(resultPayload.result.value, &quot;No JavaScript.&quot;, &quot;Can evaluate in the subframe using new context.&quot;);
&gt; 
&gt; Style: our usual style is to make the expectation message an imperative sentence, like &quot;Should be able to evaluate in subframe.&quot;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595901</commentid>
    <comment_count>12</comment_count>
      <attachid>384925</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-12-05 11:28:23 -0800</bug_when>
    <thetext>Created attachment 384925
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595945</commentid>
    <comment_count>13</comment_count>
      <attachid>384925</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-05 12:35:31 -0800</bug_when>
    <thetext>Comment on attachment 384925
Patch for landing

Clearing flags on attachment: 384925

Committed r253166: &lt;https://trac.webkit.org/changeset/253166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595946</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-05 12:35:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384850</attachid>
            <date>2019-12-04 14:58:26 -0800</date>
            <delta_ts>2019-12-04 15:22:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122764-20191204145825.patch</filename>
            <type>text/plain</type>
            <size>5344</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZiMWQ1N2UxOWJmYWM4
OTQ3ZmE3NWIwOTllZmEzNTdhM2NlYjI5Ny4uNDE1YjQ3YmMwZGU2Mzg4ZTcxNGQxYzExZjVmYWQ1
MzM1YTRkMzA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTEyLTA0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEF2b2lkIHVzaW5nIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgdG8gZmlndXJl
IG91dCB0aGUgaWZyYW1lJ3MgY29udGVudERvY3VtZW50IG5vZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NjQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzE1MjIyMTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvcmNlIGV4ZWN1dGlvbiBjb250ZXh0IGNyZWF0aW9uIG9uIGZyYW1lIG5hdmln
YXRpb24gc2ltaWxhciB0byB3aGF0IGluc3BlY3RvciBhbHJlYWR5CisgICAgICAgIGRvZXMgZm9y
IGFsbCBrbm93biBjb250ZXh0cyB3aGVuIFJ1bnRpbWUuZW5hYmxlIGlzIGNhbGxlZC4gVGhpcyBp
cyBhIHByZXJlcXVpc2l0ZSBmb3IKKyAgICAgICAgdGhlIGluamVjdGVkIHNjcmlwdCB0byB3b3Jr
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWlu
LXNjcmlwdGxlc3MtcGFnZS5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6
OmZyYW1lTmF2aWdhdGVkKToKKwogMjAxOS0xMi0wNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlz
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSdW50aW1lLmVuYWJsZSBy
ZXBvcnRzIGR1cGxpY2F0ZXMgKG5vbiBleGlzdGVudCkgY29udGV4dHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRl
eCBmMmUyMjhiN2Y3NDQyZDg0M2Y4YjZmZWNlNzA0Y2M0MDAzNGNiYjAyLi44ZmY2MDdjYTExOTI5
ZDhmOGZlMjA4ZGUxZDlkMDhlYWNlMjNkMmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC02OTEsNiArNjkx
LDggQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmxvYWRFdmVudEZpcmVkKCkKIAogdm9pZCBJ
bnNwZWN0b3JQYWdlQWdlbnQ6OmZyYW1lTmF2aWdhdGVkKEZyYW1lJiBmcmFtZSkKIHsKKyAgICAv
LyBFbnN1cmUgZXhlY3V0aW9uIGNvbnRleHQgaXMgY3JlYXRlZCBmb3IgdGhlIGZyYW1lLgorICAg
IG1haW5Xb3JsZEV4ZWNTdGF0ZSgmZnJhbWUpOwogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5m
cmFtZU5hdmlnYXRlZChidWlsZE9iamVjdEZvckZyYW1lKCZmcmFtZSkpOwogfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YzYyMjVmZjdjODA0MmRlMTRlN2RkMGEyMDk5YzUxYzlkNTU4MzUxYy4uZTRlZjM2MTg0Y2FlMDVh
MGFlMTk0YjM3OGRlZDkwYmEwYTZkOTQ1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEy
LTA0ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEF2b2lkIHVzaW5nIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQg
dG8gZmlndXJlIG91dCB0aGUgaWZyYW1lJ3MgY29udGVudERvY3VtZW50IG5vZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NjQKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzE1MjIyMTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3QgdGhhdCBleGVjdXRpb24gY29udGV4dCBpcyBjcmVhdGVk
IGFuZCByZXBvcnRlZCBmb3IgcGFnZXMgd2l0aG91dCBKYXZhU2NyaXB0LgorCisgICAgICAgICog
aW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9u
LWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLmh0bWw6IEFkZGVkLgorCiAyMDE5LTEyLTA0ICBZ
dXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJ1bnRpbWUuZW5hYmxlIHJlcG9ydHMgZHVwbGljYXRlcyAobm9uIGV4aXN0ZW50KSBj
b250ZXh0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0
aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyMTQxNzkzNWJkMzhhNjliZDkyYzA0OWRiM2I3YjM2
M2E2MmI3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1l
L2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACitUZXN0IHRoYXQgUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCBldmVu
dCBpcyBmaXJlZCBldmVuIGZvciBwYWdlcyB3aXRob3V0IEphdmFTY3JpcHQuCisKKworPT0gUnVu
bmluZyB0ZXN0IHN1aXRlOiBJbml0aWFsIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQg
ZXZlbnRzCistLSBSdW5uaW5nIHRlc3QgY2FzZTogTm8gZHVwbGljYXRlIGNvbnRleHRzIHdoZW4g
ZW5hYmxpbmcgUnVudGltZSBhZ2VudAorUEFTUzogU2hvdWxkIHJlY2VpdmUgUnVudGltZS5leGVj
dXRpb25Db250ZXh0Q3JlYXRlZCBub3RpZmljYXRpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1p
bi1zY3JpcHRsZXNzLXBhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzgyY2Y4NWNjMjIxMTQwMWFjNDcy
YmIyNjVkZTNmMjdiMzU3NjM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3J1bnRpbWUvZXhlY3V0aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLmh0bWwKQEAg
LTAsMCArMSw0NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL3N0YWJsZS1pZC1t
YXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZUlGcmFtZSgpCit7Cisg
IGxldCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICBpZnJhbWUuc3JjID0gJ2RhdGE6dGV4dC9o
dG1sLDxwPk5vIEphdmFTY3JpcHQuPC9wPic7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IGxldCBzdWl0ZSA9IFByb3RvY29sVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJJbml0aWFsIFJ1bnRp
bWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgZXZlbnRzIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0
Q2FzZSh7CisgICAgICAgIG5hbWU6ICJObyBkdXBsaWNhdGUgY29udGV4dHMgd2hlbiBlbmFibGlu
ZyBSdW50aW1lIGFnZW50IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IHRoYXQgUnVudGlt
ZS5lbmFibGUgd2lsbCBzZW5kIGV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2ZW50cyBvbmx5IGZv
ciBleGlzdG5nIG1haW4gd29ybGQgY29udGV4dHMiLAorICAgICAgICBhc3luYyB0ZXN0KCkgewor
ICAgICAgICAgICAgYXdhaXQgSW5zcGVjdG9yUHJvdG9jb2wuYXdhaXRDb21tYW5kKHsKKyAgICAg
ICAgICAgICAgICBtZXRob2Q6ICJQYWdlLmVuYWJsZSIKKyAgICAgICAgICAgIH0pCisgICAgICAg
ICAgICBhd2FpdCBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoeworICAgICAgICAgICAg
ICAgIG1ldGhvZDogIlJ1bnRpbWUuZW5hYmxlIgorICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICBhd2FpdCBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoeworICAgICAgICAgICAgICAg
IG1ldGhvZDogIlJ1bnRpbWUuZXZhbHVhdGUiLAorICAgICAgICAgICAgICAgIHBhcmFtczogewor
ICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiAiY3JlYXRlSUZyYW1lKCkiCisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JQ
cm90b2NvbC5hd2FpdEV2ZW50KHtldmVudDogIlJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0
ZWQifSk7CisgICAgICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiU2hvdWxkIHJlY2VpdmUgUnVu
dGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCBub3RpZmljYXRpb24iKTsKKyAgICAgICAgfQor
ICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3QgdGhhdCBSdW50
aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2ZW50IGlzIGZpcmVkIGV2ZW4gZm9yIHBhZ2Vz
IHdpdGhvdXQgSmF2YVNjcmlwdC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384854</attachid>
            <date>2019-12-04 15:22:23 -0800</date>
            <delta_ts>2019-12-05 10:21:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122764-20191204152223.patch</filename>
            <type>text/plain</type>
            <size>5242</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IzNzQ2OGQ3ZjdlN2Qy
YTkwMjEwMDFiMzkxMTczZGRkMWMzMDU2Mi4uOWFmMDgwMzA3YmMwNGJmODlhMDNiZWI4ZWMyZDM0
YzExMTkyNmFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTEyLTA0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEF2b2lkIHVzaW5nIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgdG8gZmlndXJl
IG91dCB0aGUgaWZyYW1lJ3MgY29udGVudERvY3VtZW50IG5vZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NjQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzE1MjIyMTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvcmNlIGV4ZWN1dGlvbiBjb250ZXh0IGNyZWF0aW9uIG9uIGZyYW1lIG5hdmln
YXRpb24gc2ltaWxhciB0byB3aGF0IGluc3BlY3RvciBhbHJlYWR5CisgICAgICAgIGRvZXMgZm9y
IGFsbCBrbm93biBjb250ZXh0cyB3aGVuIFJ1bnRpbWUuZW5hYmxlIGlzIGNhbGxlZC4gVGhpcyBp
cyBhIHByZXJlcXVpc2l0ZSBmb3IKKyAgICAgICAgdGhlIGluamVjdGVkIHNjcmlwdCB0byB3b3Jr
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWlu
LXNjcmlwdGxlc3MtcGFnZS5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6
OmZyYW1lTmF2aWdhdGVkKToKKwogMjAxOS0xMi0wNCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVf
Y2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgYmFzaWMgSVRQIGRhdGEgZnJvbSB0
aGUgZGF0YWJhc2UgZm9yIGZ1dHVyZSBBUEkvU1BJIHVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGYyZTIy
OGI3Zjc0NDJkODQzZjhiNmZlY2U3MDRjYzQwMDM0Y2JiMDIuLjhmZjYwN2NhMTE5MjlkOGY4ZmUy
MDhkZTFkOWQwOGVhY2UyM2QyZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTY5MSw2ICs2OTEsOCBAQCB2
b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6bG9hZEV2ZW50RmlyZWQoKQogCiB2b2lkIEluc3BlY3Rv
clBhZ2VBZ2VudDo6ZnJhbWVOYXZpZ2F0ZWQoRnJhbWUmIGZyYW1lKQogeworICAgIC8vIEVuc3Vy
ZSBleGVjdXRpb24gY29udGV4dCBpcyBjcmVhdGVkIGZvciB0aGUgZnJhbWUuCisgICAgbWFpbldv
cmxkRXhlY1N0YXRlKCZmcmFtZSk7CiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmZyYW1lTmF2
aWdhdGVkKGJ1aWxkT2JqZWN0Rm9yRnJhbWUoJmZyYW1lKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxN2JkOTRj
ZGQyYjJhNDFkYWExMjBhMmM0NDBiY2IwYzRkMTZkOGE1Li5iNzVkMzBjNGVlYTg4M2ViMTdlNWYx
Y2QwYzU5YmFiOGQ0MjY2ZGZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTItMDQgIFl1
cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogQXZvaWQgdXNpbmcgUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCB0byBmaWd1
cmUgb3V0IHRoZSBpZnJhbWUncyBjb250ZW50RG9jdW1lbnQgbm9kZS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjc2NAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTUyMjIxMzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdCB0aGF0IGV4ZWN1dGlvbiBjb250ZXh0IGlzIGNyZWF0ZWQgYW5kIHJl
cG9ydGVkIGZvciBwYWdlcyB3aXRob3V0IEphdmFTY3JpcHQuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1pbi1zY3JpcHRsZXNzLXBhZ2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4
dC1pbi1zY3JpcHRsZXNzLXBhZ2UuaHRtbDogQWRkZWQuCisKIDIwMTktMTItMDQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgVUlIZWxwZXIg
aW4gYSBmZXcgbW9yZSBsYXlvdXQgdGVzdHMgaW4gZmFzdC9ldmVudHMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxl
c3MtcGFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9leGVj
dXRpb24tY29udGV4dC1pbi1zY3JpcHRsZXNzLXBhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjMzMjE0MTc5MzViZDM4YTY5YmQ5MmMwNDlkYjNiN2IzNjNhNjJiNzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1pbi1z
Y3JpcHRsZXNzLXBhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IFJ1
bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgZXZlbnQgaXMgZmlyZWQgZXZlbiBmb3IgcGFn
ZXMgd2l0aG91dCBKYXZhU2NyaXB0LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogSW5pdGlh
bCBSdW50aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2ZW50cworLS0gUnVubmluZyB0ZXN0
IGNhc2U6IE5vIGR1cGxpY2F0ZSBjb250ZXh0cyB3aGVuIGVuYWJsaW5nIFJ1bnRpbWUgYWdlbnQK
K1BBU1M6IFNob3VsZCByZWNlaXZlIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgbm90
aWZpY2F0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2V4
ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzRmMjIyOTNkODhhZDk2Y2U4MGE2Mjc2MGQ5YmU0ZGY4NGI2MzE0NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1j
b250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZUlG
cmFtZSgpCit7CisgIGxldCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICBpZnJhbWUuc3JjID0g
J2RhdGE6dGV4dC9odG1sLDxwPk5vIEphdmFTY3JpcHQuPC9wPic7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxldCBzdWl0ZSA9IFByb3RvY29sVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJJ
bml0aWFsIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgZXZlbnRzIik7CisKKyAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJObyBkdXBsaWNhdGUgY29udGV4dHMg
d2hlbiBlbmFibGluZyBSdW50aW1lIGFnZW50IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0
IHRoYXQgUnVudGltZS5lbmFibGUgd2lsbCBzZW5kIGV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2
ZW50cyBvbmx5IGZvciBleGlzdG5nIG1haW4gd29ybGQgY29udGV4dHMiLAorICAgICAgICBhc3lu
YyB0ZXN0KCkgeworICAgICAgICAgICAgYXdhaXQgSW5zcGVjdG9yUHJvdG9jb2wuYXdhaXRDb21t
YW5kKHsKKyAgICAgICAgICAgICAgICBtZXRob2Q6ICJQYWdlLmVuYWJsZSIKKyAgICAgICAgICAg
IH0pCisgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoewor
ICAgICAgICAgICAgICAgIG1ldGhvZDogIlJ1bnRpbWUuZW5hYmxlIgorICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoeworICAg
ICAgICAgICAgICAgIG1ldGhvZDogIlJ1bnRpbWUuZXZhbHVhdGUiLAorICAgICAgICAgICAgICAg
IHBhcmFtczogeworICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiAiY3JlYXRlSUZyYW1l
KCkiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBhd2Fp
dCBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdEV2ZW50KHtldmVudDogIlJ1bnRpbWUuZXhlY3V0aW9u
Q29udGV4dENyZWF0ZWQifSk7CisgICAgICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiU2hvdWxk
IHJlY2VpdmUgUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCBub3RpZmljYXRpb24iKTsK
KyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRl
c3QgdGhhdCBSdW50aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2ZW50IGlzIGZpcmVkIGV2
ZW4gZm9yIHBhZ2VzIHdpdGhvdXQgSmF2YVNjcmlwdC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384918</attachid>
            <date>2019-12-05 10:21:09 -0800</date>
            <delta_ts>2019-12-05 11:28:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122764-20191205102108.patch</filename>
            <type>text/plain</type>
            <size>7918</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUyZjhiNzA0Yzk3MWY1
NzQ5YTBmNDI3NzBlYzc1NDBiZGRkYTM5ZS4uNzBhODQ1ZjA0MGJmYjJjYWUwODAyOTkzMjY1MzQ2
OWY4MzhhYzc2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEyLTA0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEF2b2lkIHVzaW5nIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgdG8gZmlndXJl
IG91dCB0aGUgaWZyYW1lJ3MgY29udGVudERvY3VtZW50IG5vZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NjQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzE1MjIyMTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvcmNlIGV4ZWN1dGlvbiBjb250ZXh0IGNyZWF0aW9uIG9uIGZyYW1lIG5hdmln
YXRpb24gc2ltaWxhciB0byB3aGF0IGluc3BlY3RvciBhbHJlYWR5CisgICAgICAgIGRvZXMgZm9y
IGFsbCBrbm93biBjb250ZXh0cyB3aGVuIFJ1bnRpbWUuZW5hYmxlIGlzIGNhbGxlZC4gVGhpcyBp
cyBhIHByZXJlcXVpc2l0ZSBmb3IKKyAgICAgICAgdGhlIGluamVjdGVkIHNjcmlwdCB0byB3b3Jr
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWlu
LXNjcmlwdGxlc3MtcGFnZS5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkQ29tbWl0TG9hZEltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvcGFn
ZS9QYWdlUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VSdW50aW1lQWdl
bnQ6OmZyYW1lTmF2aWdhdGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL3BhZ2UvUGFn
ZVJ1bnRpbWVBZ2VudC5oOgorCiAyMDE5LTEyLTA1ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBpbnNwZWN0b3IvcGFnZS9vdmVycmlkZVNldHRpbmctTW9ja0Nh
cHR1cmVEZXZpY2VzRW5hYmxlZC5odG1sIGlzIGZhaWxpbmcgYWZ0ZXIgcmVtb3ZhbCBvZiBpbnRl
cm5hbHMuc2V0TW9ja01lZGlhQ2FwdHVyZURldmljZXNFbmFibGVkIEFQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRl
eCBjYjZlZDlmNmM4NGQyNWVhOTI3MmQxZTNlYTRmMTU1YjZkZWNkNTU0Li4wYzNjZjUwYWI5ZGU3
MjgyNTdiZDEzOTJjOGRhYTIwNjU1NWM4YzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNzE3LDYgKzcxNyw5
IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50CiAgICAgICAgICAgICBwYWdlSGVhcEFnZW50LT5t
YWluRnJhbWVOYXZpZ2F0ZWQoKTsKICAgICB9CiAKKyAgICBpZiAoUGFnZVJ1bnRpbWVBZ2VudCog
cGFnZVJ1bnRpbWVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMucGFnZVJ1bnRpbWVBZ2VudCgp
KQorICAgICAgICBwYWdlUnVudGltZUFnZW50LT5mcmFtZU5hdmlnYXRlZChmcmFtZSk7CisKICAg
ICBpZiAoSW5zcGVjdG9yQ2FudmFzQWdlbnQqIGNhbnZhc0FnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy5pbnNwZWN0b3JDYW52YXNBZ2VudCgpKQogICAgICAgICBjYW52YXNBZ2VudC0+ZnJhbWVO
YXZpZ2F0ZWQoZnJhbWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL3BhZ2UvUGFnZVJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvYWdlbnRzL3BhZ2UvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggOGM0YTEwNGRhMDQxMWE1
OWVlZWMxNmJiMzBmMmU4ODJjZWQ2ZTE3MS4uYjRiOWQ1Y2Q5YjFjZTIyNGI1YjEzMDhmYTY1N2Nh
ZTQwOWI2M2EzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9w
YWdlL1BhZ2VSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvcGFnZS9QYWdlUnVudGltZUFnZW50LmNwcApAQCAtODcsNiArODcsMTIgQEAgdm9pZCBQ
YWdlUnVudGltZUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZykKICAgICBJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ6OmRpc2FibGUoZXJyb3JTdHJpbmcpOwogfQogCit2b2lkIFBh
Z2VSdW50aW1lQWdlbnQ6OmZyYW1lTmF2aWdhdGVkKEZyYW1lJiBmcmFtZSkKK3sKKyAgICAvLyBF
bnN1cmUgZXhlY3V0aW9uIGNvbnRleHQgaXMgY3JlYXRlZCBmb3IgdGhlIGZyYW1lIGV2ZW4gaWYg
aXQgZG9lc24ndCBoYXZlIHNjcmlwdHMuCisgICAgbWFpbldvcmxkRXhlY1N0YXRlKCZmcmFtZSk7
Cit9CisKIHZvaWQgUGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxk
KEZyYW1lJiBmcmFtZSkKIHsKICAgICBhdXRvKiBwYWdlQWdlbnQgPSBtX2luc3RydW1lbnRpbmdB
Z2VudHMuaW5zcGVjdG9yUGFnZUFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL3BhZ2UvUGFnZVJ1bnRpbWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9wYWdlL1BhZ2VSdW50aW1lQWdlbnQuaAppbmRleCBmMzg4MjgwNDRi
M2IzNGVlN2IwYmQ2MWY4ZTI4YTY5NGUxMWM2MWY5Li41NGEwMGUwNTgyOGZiZTEwZDdjNjlmYWNm
NjliZjBjMzAyNjg3Nzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL3BhZ2UvUGFnZVJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvcGFnZS9QYWdlUnVudGltZUFnZW50LmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgY2FsbEZ1bmN0aW9uT24oRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIG9i
amVjdElkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IEpTT046OkFycmF5KiBvcHRp
b25hbEFyZ3VtZW50cywgY29uc3QgYm9vbCogZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVD
b25zb2xlLCBjb25zdCBib29sKiByZXR1cm5CeVZhbHVlLCBjb25zdCBib29sKiBnZW5lcmF0ZVBy
ZXZpZXcsIGNvbnN0IGJvb2wqIGVtdWxhdGVVc2VyR2VzdHVyZSwgUmVmUHRyPEluc3BlY3Rvcjo6
UHJvdG9jb2w6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCwgT3B0aW9uYWw8Ym9vbD4m
IHdhc1Rocm93bikgb3ZlcnJpZGU7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24K
KyAgICB2b2lkIGZyYW1lTmF2aWdhdGVkKEZyYW1lJik7CiAgICAgdm9pZCBkaWRDbGVhcldpbmRv
d09iamVjdEluV29ybGQoRnJhbWUmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYjExYjdkZWJlYjgy
NmZkNTc4ZjU3ODM5YzI0Nzg3YTMxZTA0NGVmLi45NWFkMzhiMDk5MDMxMGNiNzMxNTI5Mzk4ZWIz
Mzg0OTA5YzU3MThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTItMDQgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
QXZvaWQgdXNpbmcgUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCB0byBmaWd1cmUgb3V0
IHRoZSBpZnJhbWUncyBjb250ZW50RG9jdW1lbnQgbm9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjc2NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTUyMjIxMzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdCB0aGF0IGV4ZWN1dGlvbiBjb250ZXh0IGlzIGNyZWF0ZWQgYW5kIHJlcG9ydGVk
IGZvciBwYWdlcyB3aXRob3V0IEphdmFTY3JpcHQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcnVu
dGltZS9leGVjdXRpb24tY29udGV4dC1pbi1zY3JpcHRsZXNzLXBhZ2UtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1pbi1z
Y3JpcHRsZXNzLXBhZ2UuaHRtbDogQWRkZWQuCisKIDIwMTktMTItMDUgIHlvdWVubiBmYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIGluc3BlY3Rvci9wYWdlL292ZXJyaWRlU2V0
dGluZy1Nb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLmh0bWwgaXMgZmFpbGluZyBhZnRlciByZW1v
dmFsIG9mIGludGVybmFscy5zZXRNb2NrTWVkaWFDYXB0dXJlRGV2aWNlc0VuYWJsZWQgQVBJCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4
dC1pbi1zY3JpcHRsZXNzLXBhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3J1bnRpbWUvZXhlY3V0aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZjI1OWI1MzMxMWJkZWRiY2IzMjljZTgyZjI5M2IwNGY2MGVkZGJhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9u
LWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAK
K1Rlc3QgdGhhdCBSdW50aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2ZW50IGlzIGZpcmVk
IGV2ZW4gZm9yIHBhZ2VzIHdpdGhvdXQgSmF2YVNjcmlwdC4KKworCis9PSBSdW5uaW5nIHRlc3Qg
c3VpdGU6IFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQuQ29udGV4dFdpdGhvdXRTY3Jp
cHQKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBSdW50aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVk
LkNvbnRleHRXaXRob3V0U2NyaXB0LlN1YkZyYW1lCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBSdW50
aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIG5vdGlmaWNhdGlvbi4KK1BBU1M6IENhbiBldmFs
dWF0ZSBpbiB0aGUgc3ViZnJhbWUgdXNpbmcgbmV3IGNvbnRleHQuCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxl
c3MtcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9uLWNv
bnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTZiOTM1NGE0YzQ4MDJm
MTVjZDBkN2M5MWJlZmRiZWNiY2FjMTg1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS5o
dG1sCkBAIC0wLDAgKzEsNTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworZnVuY3Rpb24gY3JlYXRlRnJhbWUoKQoreworICBsZXQgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgIGlmcmFtZS5zcmMgPSAiZGF0YTp0
ZXh0L2h0bWwsPHA+Tm8gSmF2YVNjcmlwdC48L3A+IjsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpZnJhbWUpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBQ
cm90b2NvbFRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3Jl
YXRlZC5Db250ZXh0V2l0aG91dFNjcmlwdCIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uoewor
ICAgICAgICBuYW1lOiAiUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZC5Db250ZXh0V2l0
aG91dFNjcmlwdC5TdWJGcmFtZSIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiVGVzdCB0aGF0IFJ1
bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgZXZlbnQgaXMgZmlyZWQgd2hlbiBhIG5ldyBp
ZnJhbWUgaXMgYWRkZWQgdG8gdGhlIHBhZ2UgYW5kIGl0cyBkb2N1bWVudCBkb2Vzbid0IGhhdmUg
YW55IEphdmFTY3JpcHQuIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGF3
YWl0IEluc3BlY3RvclByb3RvY29sLmF3YWl0Q29tbWFuZCh7bWV0aG9kOiAiUGFnZS5lbmFibGUi
fSk7CisgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoe21l
dGhvZDogIlJ1bnRpbWUuZW5hYmxlIn0pOworICAgICAgICAgICAgbGV0IFtldmVudFBheWxvYWRd
ID0gYXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgICAgICAgICAgIEluc3BlY3RvclByb3RvY29s
LmF3YWl0RXZlbnQoe2V2ZW50OiAiUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCJ9KSwK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoeworICAgICAg
ICAgICAgICAgICAgICBtZXRob2Q6ICJSdW50aW1lLmV2YWx1YXRlIiwKKyAgICAgICAgICAgICAg
ICAgICAgcGFyYW1zOiB7ZXhwcmVzc2lvbjogImNyZWF0ZUZyYW1lKCkifQorICAgICAgICAgICAg
ICAgIH0pCisgICAgICAgICAgICBdKTsKKworICAgICAgICAgICAgUHJvdG9jb2xUZXN0LnBhc3Mo
IlNob3VsZCByZWNlaXZlIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgbm90aWZpY2F0
aW9uLiIpOworCisgICAgICAgICAgICBsZXQgcmVzdWx0UGF5bG9hZCA9IGF3YWl0IEluc3BlY3Rv
clByb3RvY29sLmF3YWl0Q29tbWFuZCh7CisgICAgICAgICAgICAgICAgbWV0aG9kOiAiUnVudGlt
ZS5ldmFsdWF0ZSIsCisgICAgICAgICAgICAgICAgcGFyYW1zOiB7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnRleHRJZDogZXZlbnRQYXlsb2FkLnBhcmFtcy5jb250ZXh0LmlkLAorICAgICAgICAg
ICAgICAgICAgICBleHByZXNzaW9uOiAiZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCIKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgUHJvdG9jb2xUZXN0
LmV4cGVjdEVxdWFsKHJlc3VsdFBheWxvYWQucmVzdWx0LnZhbHVlLCAiTm8gSmF2YVNjcmlwdC4i
LCAiQ2FuIGV2YWx1YXRlIGluIHRoZSBzdWJmcmFtZSB1c2luZyBuZXcgY29udGV4dC4iKTsKKyAg
ICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3Qg
dGhhdCBSdW50aW1lLmV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkIGV2ZW50IGlzIGZpcmVkIGV2ZW4g
Zm9yIHBhZ2VzIHdpdGhvdXQgSmF2YVNjcmlwdC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384925</attachid>
            <date>2019-12-05 11:28:23 -0800</date>
            <delta_ts>2019-12-05 12:35:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-122764-20191205112823.patch</filename>
            <type>text/plain</type>
            <size>7748</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDhkMGYwMGJkYTEzMGY2
NzIxOTVkNDFiNjhmYTY4YmYxMGRjMjFiZS4uNDljMzcyMThiOTgyMWE1MTRhYzdjYThiYjY4YWEz
ZGEyZmNkYWJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEyLTA0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEF2b2lkIHVzaW5nIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgdG8gZmlndXJl
IG91dCB0aGUgaWZyYW1lJ3MgY29udGVudERvY3VtZW50IG5vZGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3NjQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzE1MjIyMTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNzby4KKwor
ICAgICAgICBGb3JjZSBleGVjdXRpb24gY29udGV4dCBjcmVhdGlvbiBvbiBmcmFtZSBuYXZpZ2F0
aW9uIHNpbWlsYXIgdG8gd2hhdCBpbnNwZWN0b3IgYWxyZWFkeQorICAgICAgICBkb2VzIGZvciBh
bGwga25vd24gY29udGV4dHMgd2hlbiBSdW50aW1lLmVuYWJsZSBpcyBjYWxsZWQuIFRoaXMgaXMg
YSBwcmVyZXF1aXNpdGUgZm9yCisgICAgICAgIHRoZSBpbmplY3RlZCBzY3JpcHQgdG8gd29yay4K
KworICAgICAgICBUZXN0OiBpbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1pbi1z
Y3JpcHRsZXNzLXBhZ2UuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL3BhZ2Uv
UGFnZVJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlUnVudGltZUFnZW50
OjpmcmFtZU5hdmlnYXRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9wYWdlL1BhZ2VS
dW50aW1lQWdlbnQuaDoKKwogMjAxOS0xMi0wNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gVHJpbSB0cmFpbGluZyBsZXR0ZXItc3BhY2luZyBh
dCBpbmxpbmUgY29udGFpbmVyIGJvdW5kYXJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGNiNmVkOWY2Yzg0ZDI1
ZWE5MjcyZDFlM2VhNGYxNTViNmRlY2Q1NTQuLjBhZDE5M2MzYTU5NGExOTRmY2EzOTg0YWY4MjA3
N2Q4NjczZjBlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC03MTcsNiArNzE3LDkgQEAgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
IGluc3RydW1lbnQKICAgICAgICAgICAgIHBhZ2VIZWFwQWdlbnQtPm1haW5GcmFtZU5hdmlnYXRl
ZCgpOwogICAgIH0KIAorICAgIGlmIChhdXRvKiBwYWdlUnVudGltZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy5wYWdlUnVudGltZUFnZW50KCkpCisgICAgICAgIHBhZ2VSdW50aW1lQWdlbnQt
PmZyYW1lTmF2aWdhdGVkKGZyYW1lKTsKKwogICAgIGlmIChJbnNwZWN0b3JDYW52YXNBZ2VudCog
Y2FudmFzQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckNhbnZhc0FnZW50KCkp
CiAgICAgICAgIGNhbnZhc0FnZW50LT5mcmFtZU5hdmlnYXRlZChmcmFtZSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9QYWdlUnVudGltZUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9QYWdlUnVudGltZUFn
ZW50LmNwcAppbmRleCA4YzRhMTA0ZGEwNDExYTU5ZWVlYzE2YmIzMGYyZTg4MmNlZDZlMTcxLi5i
NGI5ZDVjZDliMWNlMjI0YjViMTMwOGZhNjU3Y2FlNDA5YjYzYTNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3BhZ2UvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9wYWdlL1BhZ2VSdW50aW1lQWdlbnQu
Y3BwCkBAIC04Nyw2ICs4NywxMiBAQCB2b2lkIFBhZ2VSdW50aW1lQWdlbnQ6OmRpc2FibGUoRXJy
b3JTdHJpbmcmIGVycm9yU3RyaW5nKQogICAgIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6ZGlzYWJs
ZShlcnJvclN0cmluZyk7CiB9CiAKK3ZvaWQgUGFnZVJ1bnRpbWVBZ2VudDo6ZnJhbWVOYXZpZ2F0
ZWQoRnJhbWUmIGZyYW1lKQoreworICAgIC8vIEVuc3VyZSBleGVjdXRpb24gY29udGV4dCBpcyBj
cmVhdGVkIGZvciB0aGUgZnJhbWUgZXZlbiBpZiBpdCBkb2Vzbid0IGhhdmUgc2NyaXB0cy4KKyAg
ICBtYWluV29ybGRFeGVjU3RhdGUoJmZyYW1lKTsKK30KKwogdm9pZCBQYWdlUnVudGltZUFnZW50
OjpkaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUmIGZyYW1lKQogewogICAgIGF1dG8q
IHBhZ2VBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JQYWdlQWdlbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9QYWdlUnVu
dGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3BhZ2UvUGFnZVJ1
bnRpbWVBZ2VudC5oCmluZGV4IGYzODgyODA0NGIzYjM0ZWU3YjBiZDYxZjhlMjhhNjk0ZTExYzYx
ZjkuLjU0YTAwZTA1ODI4ZmJlMTBkN2M2OWZhY2Y2OWJmMGMzMDI2ODc3ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9QYWdlUnVudGltZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9wYWdlL1BhZ2VSdW50aW1lQWdl
bnQuaApAQCAtNjAsNiArNjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjYWxsRnVuY3Rpb25PbihF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IFN0cmluZyYgZXhwcmVz
c2lvbiwgY29uc3QgSlNPTjo6QXJyYXkqIG9wdGlvbmFsQXJndW1lbnRzLCBjb25zdCBib29sKiBk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIGNvbnN0IGJvb2wqIHJldHVybkJ5
VmFsdWUsIGNvbnN0IGJvb2wqIGdlbmVyYXRlUHJldmlldywgY29uc3QgYm9vbCogZW11bGF0ZVVz
ZXJHZXN0dXJlLCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6UmVtb3RlT2Jq
ZWN0PiYgcmVzdWx0LCBPcHRpb25hbDxib29sPiYgd2FzVGhyb3duKSBvdmVycmlkZTsKIAogICAg
IC8vIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorICAgIHZvaWQgZnJhbWVOYXZpZ2F0ZWQoRnJh
bWUmKTsKICAgICB2b2lkIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSYpOwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDBmYzYwMTZiNzE5NjU4MmEzOTIyYjAyN2E4ZGZkMDVjMjZhNzM2OTEu
LjMxY2RjYWQ4MTI2Zjc1ZTE5MWE1YzM0Y2ZiM2UxNzBkYjM0ZTFmNTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxOS0xMi0wNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBdm9pZCB1c2luZyBSdW50aW1lLmV4ZWN1dGlv
bkNvbnRleHRDcmVhdGVkIHRvIGZpZ3VyZSBvdXQgdGhlIGlmcmFtZSdzIGNvbnRlbnREb2N1bWVu
dCBub2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIyNzY0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNTIyMjEzNj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdCB0aGF0IGV4ZWN1dGlvbiBjb250
ZXh0IGlzIGNyZWF0ZWQgYW5kIHJlcG9ydGVkIGZvciBwYWdlcyB3aXRob3V0IEphdmFTY3JpcHQu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1pbi1zY3Jp
cHRsZXNzLXBhZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcnVu
dGltZS9leGVjdXRpb24tY29udGV4dC1pbi1zY3JpcHRsZXNzLXBhZ2UuaHRtbDogQWRkZWQuCisK
IDIwMTktMTItMDUgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IG1hcGxpa2Ugc2hvdWxkIGRlZmluZSBhIHNldCBtZXRob2QKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24t
Y29udGV4dC1pbi1zY3JpcHRsZXNzLXBhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhM2Ez
MTE5MGI2ZThkMjA3NTRjOGJhYjUzMzg5NGIwYTAzMTkwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9leGVjdXRpb24tY29udGV4dC1pbi1zY3JpcHRs
ZXNzLXBhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdCB0aGF0IFJ1bnRpbWUu
ZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgZXZlbnQgaXMgZmlyZWQgZXZlbiBmb3IgcGFnZXMgd2l0
aG91dCBKYXZhU2NyaXB0LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogUnVudGltZS5leGVj
dXRpb25Db250ZXh0Q3JlYXRlZC5Db250ZXh0V2l0aG91dFNjcmlwdAorLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQuQ29udGV4dFdpdGhvdXRTY3Jp
cHQuU3ViRnJhbWUKK1BBU1M6IFNob3VsZCByZWNlaXZlIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4
dENyZWF0ZWQgbm90aWZpY2F0aW9uLgorUEFTUzogU2hvdWxkIGJlIGFibGUgdG8gZXZhbHVhdGUg
aW4gc3ViZnJhbWUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1l
L2V4ZWN1dGlvbi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3J1bnRpbWUvZXhlY3V0aW9uLWNvbnRleHQtaW4tc2NyaXB0bGVzcy1wYWdlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTQ5YzYzZDAzZTkzMjYwN2M1NjE1ODMzZThkODJmNTM1OTg4ZjY4Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2V4ZWN1dGlv
bi1jb250ZXh0LWluLXNjcmlwdGxlc3MtcGFnZS5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gY3Jl
YXRlRnJhbWUoKQoreworICBsZXQgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7CisgIGlmcmFtZS5zcmMgPSAiZGF0YTp0ZXh0L2h0bWwsPHA+Tm8gSmF2YVNjcmlwdC48
L3A+IjsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworfQorCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBQcm90b2NvbFRlc3QuY3JlYXRlQXN5bmNTdWl0
ZSgiUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZC5Db250ZXh0V2l0aG91dFNjcmlwdCIp
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUnVudGltZS5leGVj
dXRpb25Db250ZXh0Q3JlYXRlZC5Db250ZXh0V2l0aG91dFNjcmlwdC5TdWJGcmFtZSIsCisgICAg
ICAgIGRlc2NyaXB0aW9uOiAiVGVzdCB0aGF0IFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0
ZWQgZXZlbnQgaXMgZmlyZWQgd2hlbiBhIG5ldyBpZnJhbWUgaXMgYWRkZWQgdG8gdGhlIHBhZ2Ug
YW5kIGl0cyBkb2N1bWVudCBkb2Vzbid0IGhhdmUgYW55IEphdmFTY3JpcHQuIiwKKyAgICAgICAg
YXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGF3YWl0IEluc3BlY3RvclByb3RvY29sLmF3YWl0
Q29tbWFuZCh7bWV0aG9kOiAiUGFnZS5lbmFibGUifSk7CisgICAgICAgICAgICBhd2FpdCBJbnNw
ZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoe21ldGhvZDogIlJ1bnRpbWUuZW5hYmxlIn0pOwor
CisgICAgICAgICAgICBsZXQgW2V4ZWN1dGlvbkNvbnRleHRDcmVhdGVkRXZlbnRdID0gYXdhaXQg
UHJvbWlzZS5hbGwoWworICAgICAgICAgICAgICAgIEluc3BlY3RvclByb3RvY29sLmF3YWl0RXZl
bnQoe2V2ZW50OiAiUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCJ9KSwKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JQcm90b2NvbC5hd2FpdENvbW1hbmQoeworICAgICAgICAgICAgICAg
ICAgICBtZXRob2Q6ICJSdW50aW1lLmV2YWx1YXRlIiwKKyAgICAgICAgICAgICAgICAgICAgcGFy
YW1zOiB7ZXhwcmVzc2lvbjogYGNyZWF0ZUZyYW1lKClgfQorICAgICAgICAgICAgICAgIH0pCisg
ICAgICAgICAgICBdKTsKKworICAgICAgICAgICAgUHJvdG9jb2xUZXN0LnBhc3MoIlNob3VsZCBy
ZWNlaXZlIFJ1bnRpbWUuZXhlY3V0aW9uQ29udGV4dENyZWF0ZWQgbm90aWZpY2F0aW9uLiIpOwor
CisgICAgICAgICAgICBsZXQgZXZhbHVhdGVSZXN1bHQgPSBhd2FpdCBJbnNwZWN0b3JQcm90b2Nv
bC5hd2FpdENvbW1hbmQoeworICAgICAgICAgICAgICAgIG1ldGhvZDogIlJ1bnRpbWUuZXZhbHVh
dGUiLAorICAgICAgICAgICAgICAgIHBhcmFtczogeworICAgICAgICAgICAgICAgICAgICBjb250
ZXh0SWQ6IGV4ZWN1dGlvbkNvbnRleHRDcmVhdGVkRXZlbnQucGFyYW1zLmNvbnRleHQuaWQsCisg
ICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IGBkb2N1bWVudC5ib2R5LnRleHRDb250ZW50
YAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBQcm90
b2NvbFRlc3QuZXhwZWN0RXF1YWwoZXZhbHVhdGVSZXN1bHQucmVzdWx0LnZhbHVlLCAiTm8gSmF2
YVNjcmlwdC4iLCAiU2hvdWxkIGJlIGFibGUgdG8gZXZhbHVhdGUgaW4gc3ViZnJhbWUuIik7Cisg
ICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0
IHRoYXQgUnVudGltZS5leGVjdXRpb25Db250ZXh0Q3JlYXRlZCBldmVudCBpcyBmaXJlZCBldmVu
IGZvciBwYWdlcyB3aXRob3V0IEphdmFTY3JpcHQuPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>