<?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>189709</bug_id>
          
          <creation_ts>2018-09-18 13:43:16 -0700</creation_ts>
          <short_desc>InjectedBundle parameters often need initialization function called before unarchiving</short_desc>
          <delta_ts>2020-04-14 12:05:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>186788</dependson>
          <blocked>210509</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1460713</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-18 13:43:16 -0700</bug_when>
    <thetext>In Bug 186788 I revised the InjectedBundle serialization to use NSSecureCoding. Since some users of InjectedBundles want to serialize custom classes, they need to tell the WebContent process which classes it is allowed to safely serialize. This is generally done in the bundle initialization function.

Unfortunately, InjectedBundle::initialize attempts to decode the bundle parameters before running the initialization function, so misses any custom classes needed by the embedding application.

This patch checks if serialization of the bundle parameters succeeded. If it did not, it attempts to decode the parameters after the initialization function runs so that it can take advantage of any new classes registered by the embedding application.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460714</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-18 13:45:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/44573653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460726</commentid>
    <comment_count>2</comment_count>
      <attachid>350048</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-18 13:58:08 -0700</bug_when>
    <thetext>Created attachment 350048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460966</commentid>
    <comment_count>3</comment_count>
      <attachid>350119</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-19 08:35:08 -0700</bug_when>
    <thetext>Created attachment 350119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461435</commentid>
    <comment_count>4</comment_count>
      <attachid>350119</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-20 11:05:59 -0700</bug_when>
    <thetext>Comment on attachment 350119
Patch

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

Could you clarify why we try to decode before and after the initialization function? Why do not we always decode after?

&gt; Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h:163
&gt; +    bool decodeBundleParameters(RefPtr&lt;API::Data&gt;);

Why is this public?
Also, why does it need to ref its parameter? can it simply be a API::Data*?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461449</commentid>
    <comment_count>5</comment_count>
      <attachid>350119</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-20 11:37:54 -0700</bug_when>
    <thetext>Comment on attachment 350119
Patch

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

&gt;&gt; Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h:163
&gt;&gt; +    bool decodeBundleParameters(RefPtr&lt;API::Data&gt;);
&gt; 
&gt; Why is this public?
&gt; Also, why does it need to ref its parameter? can it simply be a API::Data*?

Sure -- it could be private and take a pointer. I&apos;ll change that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461459</commentid>
    <comment_count>6</comment_count>
      <attachid>350242</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-20 11:52:18 -0700</bug_when>
    <thetext>Created attachment 350242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461465</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-20 12:00:15 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 350119 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350119&amp;action=review
&gt; 
&gt; Could you clarify why we try to decode before and after the initialization
&gt; function? Why do not we always decode after?

You did not answer my question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461472</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-20 12:17:23 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; &gt; Could you clarify why we try to decode before and after the initialization
&gt; &gt; function? Why do not we always decode after?
&gt; 
&gt; You did not answer my question.

Gosh! Somehow I missed this!

I considered that, but wasn&apos;t sure if there might be cases where a initialization function depends on the contents of the bundle parameters. I can&apos;t give an actual instance where this is known to happen, but if there was such a bundle moving the code could break it.

But I&apos;m fine switching it around so we never pass through the &apos;throw&apos; case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461476</commentid>
    <comment_count>9</comment_count>
      <attachid>350248</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-09-20 12:23:23 -0700</bug_when>
    <thetext>Created attachment 350248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461480</commentid>
    <comment_count>10</comment_count>
      <attachid>350248</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-20 12:29:39 -0700</bug_when>
    <thetext>Comment on attachment 350248
Patch

r=me if bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461582</commentid>
    <comment_count>11</comment_count>
      <attachid>350248</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-20 16:11:26 -0700</bug_when>
    <thetext>Comment on attachment 350248
Patch

Clearing flags on attachment: 350248

Committed r236289: &lt;https://trac.webkit.org/changeset/236289&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461583</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-20 16:11:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461704</commentid>
    <comment_count>13</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-09-20 20:42:40 -0700</bug_when>
    <thetext>This change caused 8 TestWebKitAPI.ContentFiltering test failures:
https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20WK1%20%28Tests%29/builds/8104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461709</commentid>
    <comment_count>14</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-09-20 20:47:56 -0700</bug_when>
    <thetext>Reverted r236289 for reason:

Caused 8 TestWebKitAPI.ContentFiltering test failures.

Committed r236304: &lt;https://trac.webkit.org/changeset/236304&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461712</commentid>
    <comment_count>15</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-09-20 20:49:44 -0700</bug_when>
    <thetext>From a debug bot:

        ASSERTION FAILED: testPlugInClassName
        /Volumes/Data/slave/sierra-debug/build/Tools/TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm(44) : -[WebProcessPlugIn webProcessPlugIn:initializeWithObject:]
        1   0x126b6a4f9 WTFCrash
        2   0x11797235b WTFCrashWithInfo(int, char const*, char const*, int)
        3   0x117978e59 -[WebProcessPlugIn webProcessPlugIn:initializeWithObject:]
        4   0x10df40b64 WebKit::InjectedBundle::initialize(WebKit::WebProcessCreationParameters const&amp;, API::Object*)
        5   0x10e1fb078 WebKit::InjectedBundle::create(WebKit::WebProcessCreationParameters&amp;, API::Object*)
        6   0x10e18e826 WebKit::WebProcess::initializeWebProcess(WebKit::WebProcessCreationParameters&amp;&amp;)
        7   0x10e60ead6 void IPC::callMemberFunctionImpl&lt;WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&amp;&amp;), std::__1::tuple&lt;WebKit::WebProcessCreationParameters&gt;, 0ul&gt;(WebKit::WebProcess*, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&amp;&amp;), std::__1::tuple&lt;WebKit::WebProcessCreationParameters&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;)
        8   0x10e60e8e8 void IPC::callMemberFunction&lt;WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&amp;&amp;), std::__1::tuple&lt;WebKit::WebProcessCreationParameters&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebKit::WebProcessCreationParameters&gt;&amp;&amp;, WebKit::WebProcess*, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&amp;&amp;))
        9   0x10e608964 void IPC::handleMessage&lt;Messages::WebProcess::InitializeWebProcess, WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&amp;&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebProcess*, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&amp;&amp;))
        10  0x10e606475 WebKit::WebProcess::didReceiveWebProcessMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
        11  0x10e191d8b WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
        12  0x10d49fbfa IPC::Connection::dispatchMessage(IPC::Decoder&amp;)
        13  0x10d492d51 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)
        14  0x10d4a0713 IPC::Connection::dispatchOneIncomingMessage()
        15  0x10d4bd758 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14::operator()()
        16  0x10d4bd669 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14&gt;::call()
        17  0x126b917cd WTF::Function&lt;void ()&gt;::operator()() const
        18  0x126be9873 WTF::RunLoop::performWork()
        19  0x126bea204 WTF::RunLoop::performWork(void*)
        20  0x7fff790a43e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
        21  0x7fff7908565c __CFRunLoopDoSources0
        22  0x7fff79084b46 __CFRunLoopRun
        23  0x7fff79084544 CFRunLoopRunSpecific
        24  0x7fff785e3ebc RunCurrentEventLoopInMode
        25  0x7fff785e3cf1 ReceiveNextEventCommon
        26  0x7fff785e3b26 _BlockUntilNextEventMatchingListInModeWithFilter
        27  0x7fff76b7aa54 _DPSNextEvent
        28  0x7fff772f67ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]
        29  0x7fff76b6f3db -[NSApplication run]
        30  0x7fff76b39e0e NSApplicationMain
        31  0x7fff8ee9d8c7 _xpc_objc_main

https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK1%20%28Tests%29/builds/9628/steps/run-api-tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527117</commentid>
    <comment_count>16</comment_count>
      <attachid>367406</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-14 14:50:11 -0700</bug_when>
    <thetext>Created attachment 367406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527231</commentid>
    <comment_count>17</comment_count>
      <attachid>367422</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-15 10:32:44 -0700</bug_when>
    <thetext>Created attachment 367422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527463</commentid>
    <comment_count>18</comment_count>
      <attachid>367422</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-15 15:22:05 -0700</bug_when>
    <thetext>Comment on attachment 367422
Patch

Clearing flags on attachment: 367422

Committed r244299: &lt;https://trac.webkit.org/changeset/244299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527464</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-15 15:22:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528530</commentid>
    <comment_count>20</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-04-18 12:16:55 -0700</bug_when>
    <thetext>Reverted r244299 for reason:

Breaks internal tests.

Committed r244431: &lt;https://trac.webkit.org/changeset/244431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528534</commentid>
    <comment_count>21</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-18 12:31:08 -0700</bug_when>
    <thetext>This should be relanded once &lt;rdar://problem/50024284&gt; is finished.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528578</commentid>
    <comment_count>22</comment_count>
      <attachid>367752</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-18 14:06:29 -0700</bug_when>
    <thetext>Created attachment 367752
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528579</commentid>
    <comment_count>23</comment_count>
      <attachid>367753</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-18 14:07:15 -0700</bug_when>
    <thetext>Created attachment 367753
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528583</commentid>
    <comment_count>24</comment_count>
      <attachid>367754</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-18 14:08:41 -0700</bug_when>
    <thetext>Created attachment 367754
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528590</commentid>
    <comment_count>25</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-04-18 14:22:08 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #21)
&gt; This should be relanded once &lt;rdar://problem/50024284&gt; is finished.

Disregard this statement. It was not true for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528600</commentid>
    <comment_count>26</comment_count>
      <attachid>367754</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-18 14:49:26 -0700</bug_when>
    <thetext>Comment on attachment 367754
Patch for landing

Clearing flags on attachment: 367754

Committed r244437: &lt;https://trac.webkit.org/changeset/244437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528601</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-18 14:49:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529338</commentid>
    <comment_count>28</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-04-22 12:51:44 -0700</bug_when>
    <thetext>Reverted r244437 for reason:

Still breaks internal tests.

Committed r244508: &lt;https://trac.webkit.org/changeset/244508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641448</commentid>
    <comment_count>29</comment_count>
      <attachid>396437</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-14 10:35:54 -0700</bug_when>
    <thetext>Created attachment 396437
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641455</commentid>
    <comment_count>30</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-14 11:07:29 -0700</bug_when>
    <thetext>Committed r260081: &lt;https://trac.webkit.org/changeset/260081&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396437.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350048</attachid>
            <date>2018-09-18 13:58:08 -0700</date>
            <delta_ts>2018-09-19 08:35:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189709-20180918135808.patch</filename>
            <type>text/plain</type>
            <size>6939</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLjhhODJlY2NkZmVlOTQ4OWVmZTY0YTQ3YmMxODU4NDZh
NGM2ZmVhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTgtMDktMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5l
dyAnZGVjb2RlQnVuZGxlUGFyYW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2lj
IHRoYXQgdXNlZCB0byBsaXZlIGluICdpbml0aWFsaXplJy4KKyAgICAgICAgVGhpcyBuZXcgbWV0
aG9kIHJldHVybnMgJ3RydWUnIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBv
dGhlcndpc2UgaXQgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUn
IHRvIGNhbGwgdGhpcyBuZXcgbWV0aG9kIGFuZCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLiBJZiBp
dCBmYWlscywgdHJ5IGRlY29kaW5nIHRoZQorICAgICAgICBidW5kbGUgcGFyYW1ldGVycyBhZnRl
ciB0aGUgYnVuZGxlJ3MgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaXMgY2FsbGVkLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3
IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBh
cmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1
bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVjdE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9y
ZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNvZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZl
IHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJhdGhlciB0aGFuIHRoZQorICAgICAgICBO
U0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5jZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4g
ZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFuZCB0aGUKKyAgICAgICAgTlNEaWN0aW9u
YXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIga2luZHMgb2Ygb2JqZWN0cy4KKwogMjAx
OC0wOS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBB
bGxvdyBXZWJDb250ZW50IGFjY2VzcyB0byBBVkNTdXBwb3J0ZWQgSU9LaXQgcHJvcGVydHkgaW4g
c2FuZGJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAyNTdlYmI3ODJiMDIyNDBiYmExNDIyNTM0OGQ5
ZDY5ZWI0NGVhYjA3Li4wZDEyZDgwMWQ2MDEwNzYwOTZhNGRiMmFjYjJkNTFhMjRjYmNmMjU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaApAQCAtMTYwLDYgKzE2MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAogICAgIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFt
ZXRlcnMgKmJ1bmRsZVBhcmFtZXRlcnMoKTsKKyAgICBib29sIGRlY29kZUJ1bmRsZVBhcmFtZXRl
cnMoUmVmUHRyPEFQSTo6RGF0YT4pOwogCiAgICAgdm9pZCBleHRlbmRDbGFzc2VzRm9yUGFyYW1l
dGVyQ29kZXIoQVBJOjpBcnJheSYgY2xhc3Nlcyk7CiAgICAgTlNTZXQqIGNsYXNzZXNGb3JDb2Rl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggYTBhM2U4MzliNzkzOGQx
NTYxM2FkNmE4ZTE3ZDlhNTQ4MDkxNmUyOC4uMzU5MDU1NGU2ZmIzOTY2OWFiMWFhMDU1ZDk2MDhk
YTBjM2YyNzY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC05OSwyMiAr
OTksNyBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgfQogCiAjaWYgV0tfQVBJX0VOQUJM
RUQKLSAgICBpZiAocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhKSB7Ci0gICAgICAgIGF1
dG8gYnVuZGxlUGFyYW1ldGVyRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRo
Qnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHBh
cmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS0+Ynl0ZXMoKSkpIGxlbmd0aDpwYXJhbWV0ZXJz
LmJ1bmRsZVBhcmFtZXRlckRhdGEtPnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKLQotICAgICAg
ICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1l
dGVyRGF0YS5nZXQoKSk7Ci0KLSAgICAgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmls
OwotICAgICAgICBAdHJ5IHsKLSAgICAgICAgICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlci5n
ZXQoKSBkZWNvZGVPYmplY3RPZkNsYXNzOltOU09iamVjdCBjbGFzc10gZm9yS2V5OkAicGFyYW1l
dGVycyJdOwotICAgICAgICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05T
RGljdGlvbmFyeSBjbGFzc11dKTsKLSAgICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNl
cHRpb24pIHsKLSAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBidW5kbGUg
cGFyYW1ldGVyczogJUAiLCBleGNlcHRpb24pOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJU
KCFtX2J1bmRsZVBhcmFtZXRlcnMpOwotICAgICAgICBtX2J1bmRsZVBhcmFtZXRlcnMgPSBhZG9w
dE5TKFtbV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycyBhbGxvY10gaW5pdFdpdGhEaWN0aW9u
YXJ5OmRpY3Rpb25hcnldKTsKLSAgICB9CisgICAgYm9vbCBkaWRTdWNjZXNzZnVsbHlEZWNvZGVQ
YXJhbWV0ZXJzID0gZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFt
ZXRlckRhdGEpOwogI2VuZGlmCiAgICAgCiAgICAgaWYgKCFpbml0aWFsaXplRnVuY3Rpb24pCkBA
IC0xMjMsNiArMTA4LDEzIEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3Qg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywKICAgICAvLyBGaXJzdCBj
aGVjayB0byBzZWUgaWYgdGhlIGJ1bmRsZSBoYXMgYSBXS0J1bmRsZUluaXRpYWxpemUgZnVuY3Rp
b24uCiAgICAgaWYgKGluaXRpYWxpemVGdW5jdGlvbikgewogICAgICAgICBpbml0aWFsaXplRnVu
Y3Rpb24odG9BUEkodGhpcyksIHRvQVBJKGluaXRpYWxpemF0aW9uVXNlckRhdGEpKTsKKyNpZiBX
S19BUElfRU5BQkxFRAorICAgICAgICBpZiAoIWRpZFN1Y2Nlc3NmdWxseURlY29kZVBhcmFtZXRl
cnMpIHsKKyAgICAgICAgICAgIC8vIFRyeSB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnMgYWZ0
ZXIgY2FsbGluZyB0aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uCisgICAgICAgICAgICBtX2J1
bmRsZVBhcmFtZXRlcnMgPSBudWxscHRyOworICAgICAgICAgICAgZGVjb2RlQnVuZGxlUGFyYW1l
dGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEpOworICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0yMDUsNiArMTk3LDMwIEBAIE5TU2V0
KiBJbmplY3RlZEJ1bmRsZTo6Y2xhc3Nlc0ZvckNvZGVyKCkKIAogICAgIHJldHVybiBtX2NsYXNz
ZXNGb3JDb2Rlci5nZXQoKTsKIH0KKworYm9vbCBJbmplY3RlZEJ1bmRsZTo6ZGVjb2RlQnVuZGxl
UGFyYW1ldGVycyhSZWZQdHI8QVBJOjpEYXRhPiBidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQorewor
ICAgIGlmICghYnVuZGxlUGFyYW1ldGVyRGF0YVB0cikKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBp
bml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZv
aWQqPihidW5kbGVQYXJhbWV0ZXJEYXRhUHRyLT5ieXRlcygpKSkgbGVuZ3RoOmJ1bmRsZVBhcmFt
ZXRlckRhdGFQdHItPnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKKyAgICAKKyAgICBhdXRvIHVu
YXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5n
ZXQoKSk7CisgICAgCisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOworICAgIEB0
cnkgeworICAgICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0
T2ZDbGFzc2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKKyAgICAg
ICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11d
KTsKKyAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgeworICAgICAgICBMT0df
RVJST1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9u
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICBBU1NFUlQoIW1fYnVu
ZGxlUGFyYW1ldGVycyB8fCBtX2J1bmRsZVBhcmFtZXRlcnMuZ2V0KCkpOworICAgIG1fYnVuZGxl
UGFyYW1ldGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9j
XSBpbml0V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOworICAgIHJldHVybiB0cnVlOworfQor
CiAjZW5kaWYKIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QnVuZGxlUGFyYW1ldGVyKGNvbnN0
IFN0cmluZyYga2V5LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlKQpAQCAtMjM4LDcg
KzI1NCw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZSkKIAogICAgIE5TRGljdGlvbmFyeSAqcGFyYW1ldGVy
cyA9IG5pbDsKICAgICBAdHJ5IHsKLSAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVyIGRl
Y29kZU9iamVjdE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVy
cyJdOworICAgICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFz
c2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKICAgICB9IEBjYXRj
aCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0
byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcjogJUAiLCBleGNlcHRpb24pOwogICAgIH0KQEAgLTI0
Niw2ICsyNjIsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAgICAgaWYgKCFwYXJhbWV0ZXJzKQogICAg
ICAgICByZXR1cm47CiAKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU8oW3BhcmFtZXRlcnMgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pOworCiAg
ICAgaWYgKCFtX2J1bmRsZVBhcmFtZXRlcnMpIHsKICAgICAgICAgbV9idW5kbGVQYXJhbWV0ZXJz
ID0gYWRvcHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRo
RGljdGlvbmFyeTpwYXJhbWV0ZXJzXSk7CiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350119</attachid>
            <date>2018-09-19 08:35:08 -0700</date>
            <delta_ts>2018-09-20 11:52:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189709-20180919083507.patch</filename>
            <type>text/plain</type>
            <size>6940</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLjhhODJlY2NkZmVlOTQ4OWVmZTY0YTQ3YmMxODU4NDZh
NGM2ZmVhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTgtMDktMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5l
dyAnZGVjb2RlQnVuZGxlUGFyYW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2lj
IHRoYXQgdXNlZCB0byBsaXZlIGluICdpbml0aWFsaXplJy4KKyAgICAgICAgVGhpcyBuZXcgbWV0
aG9kIHJldHVybnMgJ3RydWUnIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBv
dGhlcndpc2UgaXQgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUn
IHRvIGNhbGwgdGhpcyBuZXcgbWV0aG9kIGFuZCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLiBJZiBp
dCBmYWlscywgdHJ5IGRlY29kaW5nIHRoZQorICAgICAgICBidW5kbGUgcGFyYW1ldGVycyBhZnRl
ciB0aGUgYnVuZGxlJ3MgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaXMgY2FsbGVkLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3
IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBh
cmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1
bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVjdE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9y
ZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNvZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZl
IHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJhdGhlciB0aGFuIHRoZQorICAgICAgICBO
U0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5jZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4g
ZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFuZCB0aGUKKyAgICAgICAgTlNEaWN0aW9u
YXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIga2luZHMgb2Ygb2JqZWN0cy4KKwogMjAx
OC0wOS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBB
bGxvdyBXZWJDb250ZW50IGFjY2VzcyB0byBBVkNTdXBwb3J0ZWQgSU9LaXQgcHJvcGVydHkgaW4g
c2FuZGJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAyNTdlYmI3ODJiMDIyNDBiYmExNDIyNTM0OGQ5
ZDY5ZWI0NGVhYjA3Li4wZDEyZDgwMWQ2MDEwNzYwOTZhNGRiMmFjYjJkNTFhMjRjYmNmMjU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaApAQCAtMTYwLDYgKzE2MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAogICAgIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFt
ZXRlcnMgKmJ1bmRsZVBhcmFtZXRlcnMoKTsKKyAgICBib29sIGRlY29kZUJ1bmRsZVBhcmFtZXRl
cnMoUmVmUHRyPEFQSTo6RGF0YT4pOwogCiAgICAgdm9pZCBleHRlbmRDbGFzc2VzRm9yUGFyYW1l
dGVyQ29kZXIoQVBJOjpBcnJheSYgY2xhc3Nlcyk7CiAgICAgTlNTZXQqIGNsYXNzZXNGb3JDb2Rl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggYTBhM2U4MzliNzkzOGQx
NTYxM2FkNmE4ZTE3ZDlhNTQ4MDkxNmUyOC4uZjkyNjU1MTY1YzU3OGIzOWQwMzM5M2U3Y2M2YWE3
OGZkMWVjNDFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC05OSwyMiAr
OTksNyBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgfQogCiAjaWYgV0tfQVBJX0VOQUJM
RUQKLSAgICBpZiAocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhKSB7Ci0gICAgICAgIGF1
dG8gYnVuZGxlUGFyYW1ldGVyRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRo
Qnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHBh
cmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS0+Ynl0ZXMoKSkpIGxlbmd0aDpwYXJhbWV0ZXJz
LmJ1bmRsZVBhcmFtZXRlckRhdGEtPnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKLQotICAgICAg
ICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1l
dGVyRGF0YS5nZXQoKSk7Ci0KLSAgICAgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmls
OwotICAgICAgICBAdHJ5IHsKLSAgICAgICAgICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlci5n
ZXQoKSBkZWNvZGVPYmplY3RPZkNsYXNzOltOU09iamVjdCBjbGFzc10gZm9yS2V5OkAicGFyYW1l
dGVycyJdOwotICAgICAgICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05T
RGljdGlvbmFyeSBjbGFzc11dKTsKLSAgICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNl
cHRpb24pIHsKLSAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBidW5kbGUg
cGFyYW1ldGVyczogJUAiLCBleGNlcHRpb24pOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJU
KCFtX2J1bmRsZVBhcmFtZXRlcnMpOwotICAgICAgICBtX2J1bmRsZVBhcmFtZXRlcnMgPSBhZG9w
dE5TKFtbV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycyBhbGxvY10gaW5pdFdpdGhEaWN0aW9u
YXJ5OmRpY3Rpb25hcnldKTsKLSAgICB9CisgICAgYm9vbCBkaWRTdWNjZXNzZnVsbHlEZWNvZGVQ
YXJhbWV0ZXJzID0gZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFt
ZXRlckRhdGEpOwogI2VuZGlmCiAgICAgCiAgICAgaWYgKCFpbml0aWFsaXplRnVuY3Rpb24pCkBA
IC0xMjMsNiArMTA4LDEzIEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3Qg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywKICAgICAvLyBGaXJzdCBj
aGVjayB0byBzZWUgaWYgdGhlIGJ1bmRsZSBoYXMgYSBXS0J1bmRsZUluaXRpYWxpemUgZnVuY3Rp
b24uCiAgICAgaWYgKGluaXRpYWxpemVGdW5jdGlvbikgewogICAgICAgICBpbml0aWFsaXplRnVu
Y3Rpb24odG9BUEkodGhpcyksIHRvQVBJKGluaXRpYWxpemF0aW9uVXNlckRhdGEpKTsKKyNpZiBX
S19BUElfRU5BQkxFRAorICAgICAgICBpZiAoIWRpZFN1Y2Nlc3NmdWxseURlY29kZVBhcmFtZXRl
cnMpIHsKKyAgICAgICAgICAgIC8vIFRyeSB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnMgYWZ0
ZXIgY2FsbGluZyB0aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uCisgICAgICAgICAgICBtX2J1
bmRsZVBhcmFtZXRlcnMgPSBudWxscHRyOworICAgICAgICAgICAgZGVjb2RlQnVuZGxlUGFyYW1l
dGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEpOworICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0yMDUsNiArMTk3LDMwIEBAIE5TU2V0
KiBJbmplY3RlZEJ1bmRsZTo6Y2xhc3Nlc0ZvckNvZGVyKCkKIAogICAgIHJldHVybiBtX2NsYXNz
ZXNGb3JDb2Rlci5nZXQoKTsKIH0KKworYm9vbCBJbmplY3RlZEJ1bmRsZTo6ZGVjb2RlQnVuZGxl
UGFyYW1ldGVycyhSZWZQdHI8QVBJOjpEYXRhPiBidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQorewor
ICAgIGlmICghYnVuZGxlUGFyYW1ldGVyRGF0YVB0cikKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBp
bml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZv
aWQqPihidW5kbGVQYXJhbWV0ZXJEYXRhUHRyLT5ieXRlcygpKSkgbGVuZ3RoOmJ1bmRsZVBhcmFt
ZXRlckRhdGFQdHItPnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKKyAgICAKKyAgICBhdXRvIHVu
YXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5n
ZXQoKSk7CisgICAgCisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOworICAgIEB0
cnkgeworICAgICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0
T2ZDbGFzc2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKKyAgICAg
ICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11d
KTsKKyAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgeworICAgICAgICBMT0df
RVJST1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9u
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICBBU1NFUlQoIW1fYnVu
ZGxlUGFyYW1ldGVycyB8fCBtX2J1bmRsZVBhcmFtZXRlcnMuZ2V0KCkpOworICAgIG1fYnVuZGxl
UGFyYW1ldGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9j
XSBpbml0V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOworICAgIHJldHVybiB0cnVlOworfQor
CiAjZW5kaWYKIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QnVuZGxlUGFyYW1ldGVyKGNvbnN0
IFN0cmluZyYga2V5LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlKQpAQCAtMjM4LDcg
KzI1NCw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZSkKIAogICAgIE5TRGljdGlvbmFyeSAqcGFyYW1ldGVy
cyA9IG5pbDsKICAgICBAdHJ5IHsKLSAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVyIGRl
Y29kZU9iamVjdE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVy
cyJdOworICAgICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFz
c2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKICAgICB9IEBjYXRj
aCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0
byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcjogJUAiLCBleGNlcHRpb24pOwogICAgIH0KQEAgLTI0
Niw2ICsyNjIsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAgICAgaWYgKCFwYXJhbWV0ZXJzKQogICAg
ICAgICByZXR1cm47CiAKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKFtwYXJhbWV0ZXJzIGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKwog
ICAgIGlmICghbV9idW5kbGVQYXJhbWV0ZXJzKSB7CiAgICAgICAgIG1fYnVuZGxlUGFyYW1ldGVy
cyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0
aERpY3Rpb25hcnk6cGFyYW1ldGVyc10pOwogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350242</attachid>
            <date>2018-09-20 11:52:18 -0700</date>
            <delta_ts>2018-09-20 12:23:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189709-20180920115217.patch</filename>
            <type>text/plain</type>
            <size>7278</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLjhhODJlY2NkZmVlOTQ4OWVmZTY0YTQ3YmMxODU4NDZh
NGM2ZmVhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTgtMDktMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5l
dyAnZGVjb2RlQnVuZGxlUGFyYW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2lj
IHRoYXQgdXNlZCB0byBsaXZlIGluICdpbml0aWFsaXplJy4KKyAgICAgICAgVGhpcyBuZXcgbWV0
aG9kIHJldHVybnMgJ3RydWUnIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBv
dGhlcndpc2UgaXQgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUn
IHRvIGNhbGwgdGhpcyBuZXcgbWV0aG9kIGFuZCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLiBJZiBp
dCBmYWlscywgdHJ5IGRlY29kaW5nIHRoZQorICAgICAgICBidW5kbGUgcGFyYW1ldGVycyBhZnRl
ciB0aGUgYnVuZGxlJ3MgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaXMgY2FsbGVkLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3
IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBh
cmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1
bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVjdE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9y
ZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNvZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZl
IHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJhdGhlciB0aGFuIHRoZQorICAgICAgICBO
U0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5jZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4g
ZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFuZCB0aGUKKyAgICAgICAgTlNEaWN0aW9u
YXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIga2luZHMgb2Ygb2JqZWN0cy4KKwogMjAx
OC0wOS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBB
bGxvdyBXZWJDb250ZW50IGFjY2VzcyB0byBBVkNTdXBwb3J0ZWQgSU9LaXQgcHJvcGVydHkgaW4g
c2FuZGJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAyNTdlYmI3ODJiMDIyNDBiYmExNDIyNTM0OGQ5
ZDY5ZWI0NGVhYjA3Li4yZDk1NTgyMWU2MTRmZTEwNTcwM2JhNmQxNGE0MjkzMThhMGEzN2NjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaApAQCAtMTYwLDYgKzE2MCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAogICAgIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFt
ZXRlcnMgKmJ1bmRsZVBhcmFtZXRlcnMoKTsKKyAgICBib29sIGRlY29kZUJ1bmRsZVBhcmFtZXRl
cnMoUmVmUHRyPEFQSTo6RGF0YT4pOwogCiAgICAgdm9pZCBleHRlbmRDbGFzc2VzRm9yUGFyYW1l
dGVyQ29kZXIoQVBJOjpBcnJheSYgY2xhc3Nlcyk7CiAgICAgTlNTZXQqIGNsYXNzZXNGb3JDb2Rl
cigpOwpAQCAtMTY4LDYgKzE2OSwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEluamVjdGVkQnVuZGxlKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAor
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAorICAgIGJvb2wgZGVjb2RlQnVu
ZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fcGF0aDsK
ICAgICBQbGF0Zm9ybUJ1bmRsZSBtX3BsYXRmb3JtQnVuZGxlOyAvLyBUaGlzIGlzIGxlYWtlZCBy
aWdodCBub3csIHNpbmNlIHdlIG5ldmVyIHVubG9hZCB0aGUgYnVuZGxlL21vZHVsZS4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9Jbmpl
Y3RlZEJ1bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggYTBhM2U4MzliNzkzOGQxNTYxM2FkNmE4
ZTE3ZDlhNTQ4MDkxNmUyOC4uOTc3MTAwMDYzZmI4ODczNjBmZDZmZTc4MmNiMWNiMjc3ZGNiNzlk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21h
Yy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC05OSwyMiArOTksNyBAQCBi
b29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgfQogCiAjaWYgV0tfQVBJX0VOQUJMRUQKLSAgICBp
ZiAocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhKSB7Ci0gICAgICAgIGF1dG8gYnVuZGxl
UGFyYW1ldGVyRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXNOb0Nv
cHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHBhcmFtZXRlcnMu
YnVuZGxlUGFyYW1ldGVyRGF0YS0+Ynl0ZXMoKSkpIGxlbmd0aDpwYXJhbWV0ZXJzLmJ1bmRsZVBh
cmFtZXRlckRhdGEtPnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKLQotICAgICAgICBhdXRvIHVu
YXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5n
ZXQoKSk7Ci0KLSAgICAgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOwotICAgICAg
ICBAdHJ5IHsKLSAgICAgICAgICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlci5nZXQoKSBkZWNv
ZGVPYmplY3RPZkNsYXNzOltOU09iamVjdCBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVycyJdOwot
ICAgICAgICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFy
eSBjbGFzc11dKTsKLSAgICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsK
LSAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBidW5kbGUgcGFyYW1ldGVy
czogJUAiLCBleGNlcHRpb24pOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKCFtX2J1bmRs
ZVBhcmFtZXRlcnMpOwotICAgICAgICBtX2J1bmRsZVBhcmFtZXRlcnMgPSBhZG9wdE5TKFtbV0tX
ZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycyBhbGxvY10gaW5pdFdpdGhEaWN0aW9uYXJ5OmRpY3Rp
b25hcnldKTsKLSAgICB9CisgICAgYm9vbCBkaWRTdWNjZXNzZnVsbHlEZWNvZGVQYXJhbWV0ZXJz
ID0gZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEu
Z2V0KCkpOwogI2VuZGlmCiAgICAgCiAgICAgaWYgKCFpbml0aWFsaXplRnVuY3Rpb24pCkBAIC0x
MjMsNiArMTA4LDEzIEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3QgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywKICAgICAvLyBGaXJzdCBjaGVj
ayB0byBzZWUgaWYgdGhlIGJ1bmRsZSBoYXMgYSBXS0J1bmRsZUluaXRpYWxpemUgZnVuY3Rpb24u
CiAgICAgaWYgKGluaXRpYWxpemVGdW5jdGlvbikgewogICAgICAgICBpbml0aWFsaXplRnVuY3Rp
b24odG9BUEkodGhpcyksIHRvQVBJKGluaXRpYWxpemF0aW9uVXNlckRhdGEpKTsKKyNpZiBXS19B
UElfRU5BQkxFRAorICAgICAgICBpZiAoIWRpZFN1Y2Nlc3NmdWxseURlY29kZVBhcmFtZXRlcnMp
IHsKKyAgICAgICAgICAgIC8vIFRyeSB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnMgYWZ0ZXIg
Y2FsbGluZyB0aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uCisgICAgICAgICAgICBtX2J1bmRs
ZVBhcmFtZXRlcnMgPSBudWxscHRyOworICAgICAgICAgICAgZGVjb2RlQnVuZGxlUGFyYW1ldGVy
cyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOworICAgICAgICB9CisjZW5k
aWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0yMDUsNiArMTk3LDMwIEBAIE5T
U2V0KiBJbmplY3RlZEJ1bmRsZTo6Y2xhc3Nlc0ZvckNvZGVyKCkKIAogICAgIHJldHVybiBtX2Ns
YXNzZXNGb3JDb2Rlci5nZXQoKTsKIH0KKworYm9vbCBJbmplY3RlZEJ1bmRsZTo6ZGVjb2RlQnVu
ZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqIGJ1bmRsZVBhcmFtZXRlckRhdGFQdHIpCit7CisgICAg
aWYgKCFidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGF1dG8gYnVuZGxlUGFyYW1ldGVyRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRX
aXRoQnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+
KGJ1bmRsZVBhcmFtZXRlckRhdGFQdHItPmJ5dGVzKCkpKSBsZW5ndGg6YnVuZGxlUGFyYW1ldGVy
RGF0YVB0ci0+c2l6ZSgpIGZyZWVXaGVuRG9uZTpOT10pOworICAgIAorICAgIGF1dG8gdW5hcmNo
aXZlciA9IHNlY3VyZVVuYXJjaGl2ZXJGcm9tRGF0YShidW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgp
KTsKKyAgICAKKyAgICBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkgPSBuaWw7CisgICAgQHRyeSB7
CisgICAgICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlci5nZXQoKSBkZWNvZGVPYmplY3RPZkNs
YXNzZXM6Y2xhc3Nlc0ZvckNvZGVyKCkgZm9yS2V5OkAicGFyYW1ldGVycyJdOworICAgICAgICBB
U1NFUlQoW2RpY3Rpb25hcnkgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pOwor
ICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7CisgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGRlY29kZSBidW5kbGUgcGFyYW1ldGVyczogJUAiLCBleGNlcHRpb24pOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAorICAgIEFTU0VSVCghbV9idW5kbGVQ
YXJhbWV0ZXJzIHx8IG1fYnVuZGxlUGFyYW1ldGVycy5nZXQoKSk7CisgICAgbV9idW5kbGVQYXJh
bWV0ZXJzID0gYWRvcHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGlu
aXRXaXRoRGljdGlvbmFyeTpkaWN0aW9uYXJ5XSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKICNl
bmRpZgogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXIoY29uc3QgU3Ry
aW5nJiBrZXksIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWUpCkBAIC0yMzgsNyArMjU0
LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QnVuZGxlUGFyYW1ldGVycyhjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIHZhbHVlKQogCiAgICAgTlNEaWN0aW9uYXJ5ICpwYXJhbWV0ZXJzID0g
bmlsOwogICAgIEB0cnkgewotICAgICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2Rl
T2JqZWN0T2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXSBmb3JLZXk6QCJwYXJhbWV0ZXJzIl07
CisgICAgICAgIHBhcmFtZXRlcnMgPSBbdW5hcmNoaXZlciBkZWNvZGVPYmplY3RPZkNsYXNzZXM6
Y2xhc3Nlc0ZvckNvZGVyKCkgZm9yS2V5OkAicGFyYW1ldGVycyJdOwogICAgIH0gQGNhdGNoIChO
U0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7CiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRl
Y29kZSBidW5kbGUgcGFyYW1ldGVyOiAlQCIsIGV4Y2VwdGlvbik7CiAgICAgfQpAQCAtMjQ2LDYg
KzI2Miw4IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZSkKICAgICBpZiAoIXBhcmFtZXRlcnMpCiAgICAgICAg
IHJldHVybjsKIAorICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04o
W3BhcmFtZXRlcnMgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pOworCiAgICAg
aWYgKCFtX2J1bmRsZVBhcmFtZXRlcnMpIHsKICAgICAgICAgbV9idW5kbGVQYXJhbWV0ZXJzID0g
YWRvcHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoRGlj
dGlvbmFyeTpwYXJhbWV0ZXJzXSk7CiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350248</attachid>
            <date>2018-09-20 12:23:23 -0700</date>
            <delta_ts>2019-04-14 14:50:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189709-20180920122322.patch</filename>
            <type>text/plain</type>
            <size>7001</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3Y2NlOTQ1NGRmZWRlYjhm
ZmVkZTE3YTE3MTYxZTBmMTkzNGE2YjkuLjhhODJlY2NkZmVlOTQ4OWVmZTY0YTQ3YmMxODU4NDZh
NGM2ZmVhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTgtMDktMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5l
dyAnZGVjb2RlQnVuZGxlUGFyYW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2lj
IHRoYXQgdXNlZCB0byBsaXZlIGluICdpbml0aWFsaXplJy4KKyAgICAgICAgVGhpcyBuZXcgbWV0
aG9kIHJldHVybnMgJ3RydWUnIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBv
dGhlcndpc2UgaXQgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUn
IHRvIGNhbGwgdGhpcyBuZXcgbWV0aG9kIGFuZCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLiBJZiBp
dCBmYWlscywgdHJ5IGRlY29kaW5nIHRoZQorICAgICAgICBidW5kbGUgcGFyYW1ldGVycyBhZnRl
ciB0aGUgYnVuZGxlJ3MgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gaXMgY2FsbGVkLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3
IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBh
cmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1
bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVjdE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9y
ZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNvZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZl
IHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJhdGhlciB0aGFuIHRoZQorICAgICAgICBO
U0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5jZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4g
ZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFuZCB0aGUKKyAgICAgICAgTlNEaWN0aW9u
YXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIga2luZHMgb2Ygb2JqZWN0cy4KKwogMjAx
OC0wOS0wNyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBB
bGxvdyBXZWJDb250ZW50IGFjY2VzcyB0byBBVkNTdXBwb3J0ZWQgSU9LaXQgcHJvcGVydHkgaW4g
c2FuZGJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAyNTdlYmI3ODJiMDIyNDBiYmExNDIyNTM0OGQ5
ZDY5ZWI0NGVhYjA3Li41YzE1MTkxMmU0NDgwYTdlZjllMjcyZjVjMThiNmQzYmZhY2U2NzdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaApAQCAtMTY4LDYgKzE2OCwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEluamVjdGVkQnVuZGxlKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAorICAgIHZv
aWQgZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqKTsKKyNlbmRpZgorCiAgICAgU3Ry
aW5nIG1fcGF0aDsKICAgICBQbGF0Zm9ybUJ1bmRsZSBtX3BsYXRmb3JtQnVuZGxlOyAvLyBUaGlz
IGlzIGxlYWtlZCByaWdodCBub3csIHNpbmNlIHdlIG5ldmVyIHVubG9hZCB0aGUgYnVuZGxlL21v
ZHVsZS4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggYTBhM2U4MzliNzkz
OGQxNTYxM2FkNmE4ZTE3ZDlhNTQ4MDkxNmUyOC4uZGNiMGZkMzkyZGNmMDIxNzk2NWQ4OGYwZDk5
ZTAwYTQwYzc1MDJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC05OCwz
NSArOTgsMjEgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLAogICAgICAgICB9CiAgICAgfQogCi0j
aWYgV0tfQVBJX0VOQUJMRUQKLSAgICBpZiAocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRh
KSB7Ci0gICAgICAgIGF1dG8gYnVuZGxlUGFyYW1ldGVyRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEg
YWxsb2NdIGluaXRXaXRoQnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8
Y29uc3Qgdm9pZCo+KHBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS0+Ynl0ZXMoKSkpIGxl
bmd0aDpwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEtPnNpemUoKSBmcmVlV2hlbkRvbmU6
Tk9dKTsKLQotICAgICAgICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURh
dGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7Ci0KLSAgICAgICAgTlNEaWN0aW9uYXJ5ICpk
aWN0aW9uYXJ5ID0gbmlsOwotICAgICAgICBAdHJ5IHsKLSAgICAgICAgICAgIGRpY3Rpb25hcnkg
PSBbdW5hcmNoaXZlci5nZXQoKSBkZWNvZGVPYmplY3RPZkNsYXNzOltOU09iamVjdCBjbGFzc10g
Zm9yS2V5OkAicGFyYW1ldGVycyJdOwotICAgICAgICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlz
S2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKLSAgICAgICAgfSBAY2F0Y2ggKE5T
RXhjZXB0aW9uICpleGNlcHRpb24pIHsKLSAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRv
IGRlY29kZSBidW5kbGUgcGFyYW1ldGVyczogJUAiLCBleGNlcHRpb24pOwotICAgICAgICB9Ci0K
LSAgICAgICAgQVNTRVJUKCFtX2J1bmRsZVBhcmFtZXRlcnMpOwotICAgICAgICBtX2J1bmRsZVBh
cmFtZXRlcnMgPSBhZG9wdE5TKFtbV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycyBhbGxvY10g
aW5pdFdpdGhEaWN0aW9uYXJ5OmRpY3Rpb25hcnldKTsKLSAgICB9Ci0jZW5kaWYKLSAgICAKICAg
ICBpZiAoIWluaXRpYWxpemVGdW5jdGlvbikKICAgICAgICAgaW5pdGlhbGl6ZUZ1bmN0aW9uID0g
Yml0d2lzZV9jYXN0PFdLQnVuZGxlSW5pdGlhbGl6ZUZ1bmN0aW9uUHRyPihDRkJ1bmRsZUdldEZ1
bmN0aW9uUG9pbnRlckZvck5hbWUoW21fcGxhdGZvcm1CdW5kbGUgX2NmQnVuZGxlXSwgQ0ZTVFIo
IldLQnVuZGxlSW5pdGlhbGl6ZSIpKSk7CiAKICAgICAvLyBGaXJzdCBjaGVjayB0byBzZWUgaWYg
dGhlIGJ1bmRsZSBoYXMgYSBXS0J1bmRsZUluaXRpYWxpemUgZnVuY3Rpb24uCiAgICAgaWYgKGlu
aXRpYWxpemVGdW5jdGlvbikgewogICAgICAgICBpbml0aWFsaXplRnVuY3Rpb24odG9BUEkodGhp
cyksIHRvQVBJKGluaXRpYWxpemF0aW9uVXNlckRhdGEpKTsKKyNpZiBXS19BUElfRU5BQkxFRAor
ICAgICAgICBkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVy
RGF0YS5nZXQoKSk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAjaWYg
V0tfQVBJX0VOQUJMRUQKKyAgICBkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMuYnVu
ZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CisKICAgICAvLyBPdGhlcndpc2UsIGxvb2sgdG8gc2Vl
IGlmIHRoZSBidW5kbGUgaGFzIGEgcHJpbmNpcGFsIGNsYXNzCiAgICAgQ2xhc3MgcHJpbmNpcGFs
Q2xhc3MgPSBbbV9wbGF0Zm9ybUJ1bmRsZSBwcmluY2lwYWxDbGFzc107CiAgICAgaWYgKCFwcmlu
Y2lwYWxDbGFzcykgewpAQCAtMjA1LDYgKzE5MSwyOSBAQCBOU1NldCogSW5qZWN0ZWRCdW5kbGU6
OmNsYXNzZXNGb3JDb2RlcigpCiAKICAgICByZXR1cm4gbV9jbGFzc2VzRm9yQ29kZXIuZ2V0KCk7
CiB9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBhcmFtZXRlcnMoQVBJOjpE
YXRhKiBidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQoreworICAgIGlmICghYnVuZGxlUGFyYW1ldGVy
RGF0YVB0cikKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBidW5kbGVQYXJhbWV0ZXJEYXRh
ID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCeXRlc05vQ29weTpjb25zdF9jYXN0
PHZvaWQqPihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oYnVuZGxlUGFyYW1ldGVyRGF0YVB0ci0+
Ynl0ZXMoKSkpIGxlbmd0aDpidW5kbGVQYXJhbWV0ZXJEYXRhUHRyLT5zaXplKCkgZnJlZVdoZW5E
b25lOk5PXSk7CisgICAgCisgICAgYXV0byB1bmFyY2hpdmVyID0gc2VjdXJlVW5hcmNoaXZlckZy
b21EYXRhKGJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOworICAgIAorICAgIE5TRGljdGlvbmFy
eSAqZGljdGlvbmFyeSA9IG5pbDsKKyAgICBAdHJ5IHsKKyAgICAgICAgZGljdGlvbmFyeSA9IFt1
bmFyY2hpdmVyLmdldCgpIGRlY29kZU9iamVjdE9mQ2xhc3NlczpjbGFzc2VzRm9yQ29kZXIoKSBm
b3JLZXk6QCJwYXJhbWV0ZXJzIl07CisgICAgICAgIEFTU0VSVChbZGljdGlvbmFyeSBpc0tpbmRP
ZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSk7CisgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9u
ICpleGNlcHRpb24pIHsKKyAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZGVjb2RlIGJ1bmRs
ZSBwYXJhbWV0ZXJzOiAlQCIsIGV4Y2VwdGlvbik7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgCisgICAgQVNTRVJUKCFtX2J1bmRsZVBhcmFtZXRlcnMgfHwgbV9idW5kbGVQYXJhbWV0ZXJz
LmdldCgpKTsKKyAgICBtX2J1bmRsZVBhcmFtZXRlcnMgPSBhZG9wdE5TKFtbV0tXZWJQcm9jZXNz
QnVuZGxlUGFyYW1ldGVycyBhbGxvY10gaW5pdFdpdGhEaWN0aW9uYXJ5OmRpY3Rpb25hcnldKTsK
K30KKwogI2VuZGlmCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcihj
b25zdCBTdHJpbmcmIGtleSwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZSkKQEAgLTIz
OCw3ICsyNDcsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAKICAgICBOU0RpY3Rpb25hcnkgKnBhcmFt
ZXRlcnMgPSBuaWw7CiAgICAgQHRyeSB7Ci0gICAgICAgIHBhcmFtZXRlcnMgPSBbdW5hcmNoaXZl
ciBkZWNvZGVPYmplY3RPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdIGZvcktleTpAInBhcmFt
ZXRlcnMiXTsKKyAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVyIGRlY29kZU9iamVjdE9m
Q2xhc3NlczpjbGFzc2VzRm9yQ29kZXIoKSBmb3JLZXk6QCJwYXJhbWV0ZXJzIl07CiAgICAgfSBA
Y2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKICAgICAgICAgTE9HX0VSUk9SKCJGYWls
ZWQgdG8gZGVjb2RlIGJ1bmRsZSBwYXJhbWV0ZXI6ICVAIiwgZXhjZXB0aW9uKTsKICAgICB9CkBA
IC0yNDYsNiArMjU1LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QnVuZGxlUGFyYW1ldGVy
cyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlKQogICAgIGlmICghcGFyYW1ldGVycykK
ICAgICAgICAgcmV0dXJuOwogCisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTihbcGFyYW1ldGVycyBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSk7
CisKICAgICBpZiAoIW1fYnVuZGxlUGFyYW1ldGVycykgewogICAgICAgICBtX2J1bmRsZVBhcmFt
ZXRlcnMgPSBhZG9wdE5TKFtbV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycyBhbGxvY10gaW5p
dFdpdGhEaWN0aW9uYXJ5OnBhcmFtZXRlcnNdKTsKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367406</attachid>
            <date>2019-04-14 14:50:11 -0700</date>
            <delta_ts>2019-04-15 10:32:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189709-20190414145010.patch</filename>
            <type>text/plain</type>
            <size>10235</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVjMzJhYTA0YzAyNWNjYmM5
NDcxYjU3ZDAxMjY2NmVkOGNkMDZhNDEuLjQ5N2M4YjdiODgwMGRmNDQ2YTMwM2I2ZDg1Y2YzYzg4
MWY3NzgzY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMDQtMTQgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKworICAgICAgICBFeHRlbmQgV0tXZWJQcm9jZXNz
UGx1Z0luIHdpdGggYSBtZXRob2QgdGhhdCByZXR1cm5zIHRoZSBuYW1lcyBvZiBhbnkgY3VzdG9t
IGNsYXNzZXMgdGhhdCBuZWVkCisgICAgICAgIHRvIGJlIHNlcmlhbGl6ZWQgYnkgdGhlIEluamVj
dGVkQnVuZGxlLgorICAgICAgICAKKyAgICAgICAgQ3JlYXRlIGEgbmV3ICdkZWNvZGVCdW5kbGVQ
YXJhbWV0ZXJzJyBtZXRob2QgdGhhdCBjb250YWlucyB0aGUgbG9naWMgdGhhdCB1c2VkIHRvIGxp
dmUgaW4gJ2luaXRpYWxpemUnLgorICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUnIHRvIGNhbGwg
dGhpcyBuZXcgbWV0aG9kLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFj
L0luamVjdGVkQnVuZGxlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBhcmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVj
dE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9yZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNv
ZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZlIHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJh
dGhlciB0aGFuIHRoZQorICAgICAgICBOU0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5j
ZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4gZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFu
ZCB0aGUKKyAgICAgICAgTlNEaWN0aW9uYXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIg
a2luZHMgb2Ygb2JqZWN0cy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmg6CisgICAgICAgIChXZWJLaXQ6OldLV2ViUHJvY2Vz
c1BsdWdJbjo6YWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rlcik6IEFkZGVkLgorCiAy
MDE5LTA0LTEwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIHJ1bkphdmFTY3JpcHRJbkZyYW1lIGZvciBXZWJQYWdlUHJveHkvV2ViUGFnZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tX
ZWJQcm9jZXNzUGx1Z0luLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaAppbmRleCA4ZmI0NjcxYTVmMjIwMzg5ZDhj
NTI2ODZiMTc0Njg1Njk0MTQwYzI1Li5iNjA0YjFlNTQ5MGZhMjU2Y2NiZTM1MDQ2NzRlYjAxNGIz
N2NjYmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaApAQCAtMzcs
NiArMzcsNyBAQAogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5D
b250cm9sbGVyICopcGx1Z0luQ29udHJvbGxlciBpbml0aWFsaXplV2l0aE9iamVjdDooaWQpaW5p
dGlhbGl6YXRpb25PYmplY3Q7CiAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vz
c1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENyZWF0ZUJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
ICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyOwogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihX
S1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1Z0luQ29udHJvbGxlciB3aWxsRGVzdHJv
eUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyOworLSAoTlNBcnJheSAqKWFk
ZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI7CiBAZW5kCiAKIFdLX0NMQVNTX0FWQUlM
QUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAxZmZlMmMz
YmJhYzBlMDE3MTFjZTZiMWM5NzQ4MTBjYjc0YWVjMjg4Li5iM2IxYjlhNzA0OGEyMDFlNDc4YTEz
YTYyYzM4YjlkMjg0NjFlNGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMTY3LDYgKzE2NywxMCBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEluamVjdGVkQnVuZGxlKGNvbnN0IFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAg
IHZvaWQgZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqKTsKKyNlbmRpZgorCiAgICAg
U3RyaW5nIG1fcGF0aDsKICAgICBQbGF0Zm9ybUJ1bmRsZSBtX3BsYXRmb3JtQnVuZGxlOyAvLyBU
aGlzIGlzIGxlYWtlZCByaWdodCBub3csIHNpbmNlIHdlIG5ldmVyIHVubG9hZCB0aGUgYnVuZGxl
L21vZHVsZS4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggNTJmODI1ZDA4
NTRkYmYyN2EzN2Q0NzhhYjM3NGZlYzFkOGQyY2NkOC4uMjBmZTlhYTc5YTZlMGE2ZDE1MDU2MGU2
ZTU3NWQ5NDAyYjllYTRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC03
MSw2ICs3MSwyOCBAQCBzdGF0aWMgTlNFdmVudE1vZGlmaWVyRmxhZ3MgY3VycmVudE1vZGlmaWVy
RmxhZ3MoaWQgc2VsZiwgU0VMIF9jbWQpCiAgICAgCiAgICAgcmV0dXJuIG1vZGlmaWVyczsKIH0K
Kwordm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEq
IGJ1bmRsZVBhcmFtZXRlckRhdGFQdHIpCit7CisgICAgaWYgKCFidW5kbGVQYXJhbWV0ZXJEYXRh
UHRyKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBh
ZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9p
ZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihidW5kbGVQYXJhbWV0ZXJEYXRhUHRyLT5ieXRl
cygpKSkgbGVuZ3RoOmJ1bmRsZVBhcmFtZXRlckRhdGFQdHItPnNpemUoKSBmcmVlV2hlbkRvbmU6
Tk9dKTsKKyAgICAKKyAgICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURh
dGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CisgICAgCisgICAgTlNEaWN0aW9uYXJ5ICpk
aWN0aW9uYXJ5ID0gbmlsOworICAgIEB0cnkgeworICAgICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJj
aGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktl
eTpAInBhcmFtZXRlcnMiXTsKKyAgICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xh
c3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKyAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4
Y2VwdGlvbikgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBh
cmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9uKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAK
KyAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1ldGVycyB8fCBtX2J1bmRsZVBhcmFtZXRlcnMuZ2V0
KCkpOworICAgIG1fYnVuZGxlUGFyYW1ldGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5k
bGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOworfQog
I2VuZGlmCiAKIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3QgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgQVBJOjpPYmplY3QqIGluaXRpYWxpemF0
aW9uVXNlckRhdGEpCkBAIC0xMjAsMjMgKzE0Miw2IEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGU6Omlu
aXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywK
ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRh
dGEpIHsKLSAgICAgICAgYXV0byBidW5kbGVQYXJhbWV0ZXJEYXRhID0gYWRvcHROUyhbW05TRGF0
YSBhbGxvY10gaW5pdFdpdGhCeXRlc05vQ29weTpjb25zdF9jYXN0PHZvaWQqPihzdGF0aWNfY2Fz
dDxjb25zdCB2b2lkKj4ocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLT5ieXRlcygpKSkg
bGVuZ3RoOnBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS0+c2l6ZSgpIGZyZWVXaGVuRG9u
ZTpOT10pOwotCi0gICAgICAgIGF1dG8gdW5hcmNoaXZlciA9IHNlY3VyZVVuYXJjaGl2ZXJGcm9t
RGF0YShidW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgpKTsKLQotICAgICAgICBOU0RpY3Rpb25hcnkg
KmRpY3Rpb25hcnkgPSBuaWw7Ci0gICAgICAgIEB0cnkgewotICAgICAgICAgICAgZGljdGlvbmFy
eSA9IFt1bmFyY2hpdmVyLmdldCgpIGRlY29kZU9iamVjdE9mQ2xhc3M6W05TT2JqZWN0IGNsYXNz
XSBmb3JLZXk6QCJwYXJhbWV0ZXJzIl07Ci0gICAgICAgICAgICBBU1NFUlQoW2RpY3Rpb25hcnkg
aXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pOwotICAgICAgICB9IEBjYXRjaCAo
TlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgewotICAgICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQg
dG8gZGVjb2RlIGJ1bmRsZSBwYXJhbWV0ZXJzOiAlQCIsIGV4Y2VwdGlvbik7Ci0gICAgICAgIH0K
LQotICAgICAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1ldGVycyk7Ci0gICAgICAgIG1fYnVuZGxl
UGFyYW1ldGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9j
XSBpbml0V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOwotICAgIH0KLSAgICAKICNpZiBFTkFC
TEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAgICAgLy8gU3dpenpsZSBbTlNF
dmVudCBtb2RpZmVyRmxhZ3NdLCBzaW5jZSBpdCBhbHdheXMgcmV0dXJucyAwIHdoZW4gdGhlIFdp
bmRvd1NlcnZlciBpcyBibG9ja2VkLgogICAgIE1ldGhvZCBtZXRob2QgPSBjbGFzc19nZXRDbGFz
c01ldGhvZChbTlNFdmVudCBjbGFzc10sIEBzZWxlY3Rvcihtb2RpZmllckZsYWdzKSk7CkBAIC0x
NDksNiArMTU0LDcgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShjb25zdCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLAogICAgIC8vIEZpcnN0IGNoZWNr
IHRvIHNlZSBpZiB0aGUgYnVuZGxlIGhhcyBhIFdLQnVuZGxlSW5pdGlhbGl6ZSBmdW5jdGlvbi4K
ICAgICBpZiAoaW5pdGlhbGl6ZUZ1bmN0aW9uKSB7CiAgICAgICAgIGluaXRpYWxpemVGdW5jdGlv
bih0b0FQSSh0aGlzKSwgdG9BUEkoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkpOworICAgICAgICBk
ZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQo
KSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMTczLDYgKzE3OSwxMSBAQCBi
b29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciog
cGx1Z0luQ29udHJvbGxlciA9IFdlYktpdDo6d3JhcHBlcigqdGhpcyk7CiAgICAgW3BsdWdJbkNv
bnRyb2xsZXIgX3NldFByaW5jaXBhbENsYXNzSW5zdGFuY2U6aW5zdGFuY2VdOwogCisgICAgaWYg
KFtpbnN0YW5jZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGFkZGl0aW9uYWxDbGFzc2Vz
Rm9yUGFyYW1ldGVyQ29kZXIpXSkKKyAgICAgICAgW3BsdWdJbkNvbnRyb2xsZXIgZXh0ZW5kQ2xh
c3Nlc0ZvclBhcmFtZXRlckNvZGVyOltpbnN0YW5jZSBhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBhcmFt
ZXRlckNvZGVyXV07CisKKyAgICBkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMuYnVu
ZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CisKICAgICBpZiAoW2luc3RhbmNlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbjppbml0aWFsaXplV2l0aE9iamVjdDop
XSkgewogICAgICAgICBSZXRhaW5QdHI8aWQ+IG9iakNJbml0aWFsaXphdGlvblVzZXJEYXRhOwog
ICAgICAgICBpZiAoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSAmJiBpbml0aWFsaXphdGlvblVzZXJE
YXRhLT50eXBlKCkgPT0gQVBJOjpPYmplY3Q6OlR5cGU6Ok9iakNPYmplY3RHcmFwaCkKQEAgLTI1
NSw3ICsyNjYsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAKICAgICBOU0RpY3Rpb25hcnkgKnBhcmFt
ZXRlcnMgPSBuaWw7CiAgICAgQHRyeSB7Ci0gICAgICAgIHBhcmFtZXRlcnMgPSBbdW5hcmNoaXZl
ciBkZWNvZGVPYmplY3RPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdIGZvcktleTpAInBhcmFt
ZXRlcnMiXTsKKyAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVyIGRlY29kZU9iamVjdE9m
Q2xhc3NlczpjbGFzc2VzRm9yQ29kZXIoKSBmb3JLZXk6QCJwYXJhbWV0ZXJzIl07CiAgICAgfSBA
Y2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKICAgICAgICAgTE9HX0VSUk9SKCJGYWls
ZWQgdG8gZGVjb2RlIGJ1bmRsZSBwYXJhbWV0ZXI6ICVAIiwgZXhjZXB0aW9uKTsKICAgICB9CkBA
IC0yNjMsNiArMjc0LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QnVuZGxlUGFyYW1ldGVy
cyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlKQogICAgIGlmICghcGFyYW1ldGVycykK
ICAgICAgICAgcmV0dXJuOwogCisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTihbcGFyYW1ldGVycyBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSk7
CisKICAgICBpZiAoIW1fYnVuZGxlUGFyYW1ldGVycykgewogICAgICAgICBtX2J1bmRsZVBhcmFt
ZXRlcnMgPSBhZG9wdE5TKFtbV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycyBhbGxvY10gaW5p
dFdpdGhEaWN0aW9uYXJ5OnBhcmFtZXRlcnNdKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGJkZmFiMTFhNDc5ZmU4
MGM5NjhiNjc3NGE3NjU0MTFiOTZlOGZkMmUuLjcyNWI5YjVhODc3ZGQ1YzYzMjk0ZWIyNjNjMjhm
OTQzNzBhMDQ3ZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wNC0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxn
aGFtQGFwcGxlLmNvbT4KKworICAgICAgICBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIG9mdGVu
IG5lZWQgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gY2FsbGVkIGJlZm9yZSB1bmFyY2hpdmluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NzA5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDU3MzY1Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvV2ViUHJvY2Vz
c1BsdWdJbi9XZWJQcm9jZXNzUGx1Z0luLm1tOgorICAgICAgICAoLVtXZWJQcm9jZXNzUGx1Z0lu
IGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXJdKTogQWRkZWQuCisKIDIwMTktMDQt
MTAgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIGluY3JlbWVudGFsIGJ5dGVjb2RlIGNhY2hlIHVwZGF0ZXMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvV2ViUHJvY2Vzc1BsdWdJbi9XZWJQcm9jZXNzUGx1
Z0luLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlBy
b2Nlc3NQbHVnSW4ubW0KaW5kZXggNDA3NDZhYjRkMDc5Y2I4M2ZjZDEyZDk5NDU5Y2VlNTk1MDVh
N2EwMy4uMzYzYWQxZmY2NDY2NmVkODZhNTU1ZjhlYWQ1YWYwZWMxZTgwZDk3NyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQ
bHVnSW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0lu
L1dlYlByb2Nlc3NQbHVnSW4ubW0KQEAgLTM2LDYgKzM2LDExIEBAIEBpbXBsZW1lbnRhdGlvbiBX
ZWJQcm9jZXNzUGx1Z0luIHsKICAgICBSZXRhaW5QdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4+
IF90ZXN0UGx1Z0luOwogfQogCistIChOU0FycmF5ICopYWRkaXRpb25hbENsYXNzZXNGb3JQYXJh
bWV0ZXJDb2RlcgoreworICAgIHJldHVybiBAW0AiTW9ja0NvbnRlbnRGaWx0ZXJFbmFibGVyIl07
Cit9CisKIC0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJv
bGxlciAqKXBsdWdJbkNvbnRyb2xsZXIgaW5pdGlhbGl6ZVdpdGhPYmplY3Q6KGlkKWluaXRpYWxp
emF0aW9uT2JqZWN0CiB7CiAgICAgTlNTdHJpbmcgKnRlc3RQbHVnSW5DbGFzc05hbWUgPSBbcGx1
Z0luQ29udHJvbGxlci5wYXJhbWV0ZXJzIHZhbHVlRm9yS2V5OlRlc3RXZWJLaXRBUEk6OlV0aWw6
OlRlc3RQbHVnSW5DbGFzc05hbWVQYXJhbWV0ZXJdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367422</attachid>
            <date>2019-04-15 10:32:44 -0700</date>
            <delta_ts>2019-04-18 14:06:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189709-20190415103243.patch</filename>
            <type>text/plain</type>
            <size>10226</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzZjk2Mzg1NmMyZDVmYjdk
YjI3OWQxZjU1NjcyMDc1YWVkOTQ4ZmYuLmYzMjdlNTM1MjZhYWNmZjljNzEyN2JhMTczNGQ2YmEy
ODdiNjZmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMDQtMTUgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKworICAgICAgICBFeHRlbmQgV0tXZWJQcm9jZXNz
UGx1Z0luIHdpdGggYSBtZXRob2QgdGhhdCByZXR1cm5zIHRoZSBuYW1lcyBvZiBhbnkgY3VzdG9t
IGNsYXNzZXMgdGhhdCBuZWVkCisgICAgICAgIHRvIGJlIHNlcmlhbGl6ZWQgYnkgdGhlIEluamVj
dGVkQnVuZGxlLgorICAgICAgICAKKyAgICAgICAgQ3JlYXRlIGEgbmV3ICdkZWNvZGVCdW5kbGVQ
YXJhbWV0ZXJzJyBtZXRob2QgdGhhdCBjb250YWlucyB0aGUgbG9naWMgdGhhdCB1c2VkIHRvIGxp
dmUgaW4gJ2luaXRpYWxpemUnLgorICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUnIHRvIGNhbGwg
dGhpcyBuZXcgbWV0aG9kLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFj
L0luamVjdGVkQnVuZGxlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBhcmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVj
dE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9yZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNv
ZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZlIHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJh
dGhlciB0aGFuIHRoZQorICAgICAgICBOU0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5j
ZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4gZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFu
ZCB0aGUKKyAgICAgICAgTlNEaWN0aW9uYXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIg
a2luZHMgb2Ygb2JqZWN0cy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmg6CisgICAgICAgIChXZWJLaXQ6OldLV2ViUHJvY2Vz
c1BsdWdJbjo6YWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rlcik6IEFkZGVkLgorCiAy
MDE5LTA0LTE1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXVtXUEVdIEFkZCBlbmFibGUtbWVkaWEgd2Vic2V0dGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaAppbmRleCA4ZmI0NjcxYTVmMjIwMzg5ZDhjNTI2ODZi
MTc0Njg1Njk0MTQwYzI1Li5iNjA0YjFlNTQ5MGZhMjU2Y2NiZTM1MDQ2NzRlYjAxNGIzN2NjYmM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaApAQCAtMzcsNiArMzcs
NyBAQAogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9s
bGVyICopcGx1Z0luQ29udHJvbGxlciBpbml0aWFsaXplV2l0aE9iamVjdDooaWQpaW5pdGlhbGl6
YXRpb25PYmplY3Q7CiAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJ
bkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENyZWF0ZUJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopYnJv
d3NlckNvbnRleHRDb250cm9sbGVyOwogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlBy
b2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1Z0luQ29udHJvbGxlciB3aWxsRGVzdHJveUJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyOworLSAoTlNBcnJheSAqKWFkZGl0aW9u
YWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI7CiBAZW5kCiAKIFdLX0NMQVNTX0FWQUlMQUJMRSht
YWNvcygxMC4xMCksIGlvcyg4LjApKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAxZmZlMmMzYmJhYzBl
MDE3MTFjZTZiMWM5NzQ4MTBjYjc0YWVjMjg4Li5iM2IxYjlhNzA0OGEyMDFlNDc4YTEzYTYyYzM4
YjlkMjg0NjFlNGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMTY3LDYgKzE2NywxMCBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEluamVjdGVkQnVuZGxlKGNvbnN0IFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQg
ZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5n
IG1fcGF0aDsKICAgICBQbGF0Zm9ybUJ1bmRsZSBtX3BsYXRmb3JtQnVuZGxlOyAvLyBUaGlzIGlz
IGxlYWtlZCByaWdodCBub3csIHNpbmNlIHdlIG5ldmVyIHVubG9hZCB0aGUgYnVuZGxlL21vZHVs
ZS4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggNTJmODI1ZDA4NTRkYmYy
N2EzN2Q0NzhhYjM3NGZlYzFkOGQyY2NkOC4uZDNlNzMwODNhZDkxMDJhZDc4NDdmYTA5Yzc1MGRj
YjI3YmIxZDE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC03Myw2ICs3
MywyOCBAQCBzdGF0aWMgTlNFdmVudE1vZGlmaWVyRmxhZ3MgY3VycmVudE1vZGlmaWVyRmxhZ3Mo
aWQgc2VsZiwgU0VMIF9jbWQpCiB9CiAjZW5kaWYKIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGVj
b2RlQnVuZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqIGJ1bmRsZVBhcmFtZXRlckRhdGFQdHIpCit7
CisgICAgaWYgKCFidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0
V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQq
PihidW5kbGVQYXJhbWV0ZXJEYXRhUHRyLT5ieXRlcygpKSkgbGVuZ3RoOmJ1bmRsZVBhcmFtZXRl
ckRhdGFQdHItPnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKKyAgICAKKyAgICBhdXRvIHVuYXJj
aGl2ZXIgPSBzZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQo
KSk7CisgICAgCisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOworICAgIEB0cnkg
eworICAgICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZD
bGFzc2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKKyAgICAgICAg
QVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsK
KyAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgeworICAgICAgICBMT0dfRVJS
T1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9uKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1l
dGVycyB8fCBtX2J1bmRsZVBhcmFtZXRlcnMuZ2V0KCkpOworICAgIG1fYnVuZGxlUGFyYW1ldGVy
cyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0
aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOworfQorCiBib29sIEluamVjdGVkQnVuZGxlOjppbml0
aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIEFQ
STo6T2JqZWN0KiBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogewogICAgIGlmIChtX3NhbmRib3hF
eHRlbnNpb24pIHsKQEAgLTEyMCwyMyArMTQyLDYgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6aW5p
dGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLAog
ICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0
YSkgewotICAgICAgICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBhZG9wdE5TKFtbTlNEYXRh
IGFsbG9jXSBpbml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0
PGNvbnN0IHZvaWQqPihwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEtPmJ5dGVzKCkpKSBs
ZW5ndGg6cGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLT5zaXplKCkgZnJlZVdoZW5Eb25l
Ok5PXSk7Ci0KLSAgICAgICAgYXV0byB1bmFyY2hpdmVyID0gc2VjdXJlVW5hcmNoaXZlckZyb21E
YXRhKGJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOwotCi0gICAgICAgIE5TRGljdGlvbmFyeSAq
ZGljdGlvbmFyeSA9IG5pbDsKLSAgICAgICAgQHRyeSB7Ci0gICAgICAgICAgICBkaWN0aW9uYXJ5
ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzczpbTlNPYmplY3QgY2xhc3Nd
IGZvcktleTpAInBhcmFtZXRlcnMiXTsKLSAgICAgICAgICAgIEFTU0VSVChbZGljdGlvbmFyeSBp
c0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSk7Ci0gICAgICAgIH0gQGNhdGNoIChO
U0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0
byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9uKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIEFTU0VSVCghbV9idW5kbGVQYXJhbWV0ZXJzKTsKLSAgICAgICAgbV9idW5kbGVQ
YXJhbWV0ZXJzID0gYWRvcHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2Nd
IGluaXRXaXRoRGljdGlvbmFyeTpkaWN0aW9uYXJ5XSk7Ci0gICAgfQotICAgIAogI2lmIEVOQUJM
RShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKICAgICAvLyBTd2l6emxlIFtOU0V2
ZW50IG1vZGlmZXJGbGFnc10sIHNpbmNlIGl0IGFsd2F5cyByZXR1cm5zIDAgd2hlbiB0aGUgV2lu
ZG93U2VydmVyIGlzIGJsb2NrZWQuCiAgICAgTWV0aG9kIG1ldGhvZCA9IGNsYXNzX2dldENsYXNz
TWV0aG9kKFtOU0V2ZW50IGNsYXNzXSwgQHNlbGVjdG9yKG1vZGlmaWVyRmxhZ3MpKTsKQEAgLTE0
OSw2ICsxNTQsNyBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgLy8gRmlyc3QgY2hlY2sg
dG8gc2VlIGlmIHRoZSBidW5kbGUgaGFzIGEgV0tCdW5kbGVJbml0aWFsaXplIGZ1bmN0aW9uLgog
ICAgIGlmIChpbml0aWFsaXplRnVuY3Rpb24pIHsKICAgICAgICAgaW5pdGlhbGl6ZUZ1bmN0aW9u
KHRvQVBJKHRoaXMpLCB0b0FQSShpbml0aWFsaXphdGlvblVzZXJEYXRhKSk7CisgICAgICAgIGRl
Y29kZUJ1bmRsZVBhcmFtZXRlcnMocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgp
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0xNzMsNiArMTc5LDExIEBAIGJv
b2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycywKICAgICBXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyKiBw
bHVnSW5Db250cm9sbGVyID0gV2ViS2l0Ojp3cmFwcGVyKCp0aGlzKTsKICAgICBbcGx1Z0luQ29u
dHJvbGxlciBfc2V0UHJpbmNpcGFsQ2xhc3NJbnN0YW5jZTppbnN0YW5jZV07CiAKKyAgICBpZiAo
W2luc3RhbmNlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYWRkaXRpb25hbENsYXNzZXNG
b3JQYXJhbWV0ZXJDb2RlcildKQorICAgICAgICBbcGx1Z0luQ29udHJvbGxlciBleHRlbmRDbGFz
c2VzRm9yUGFyYW1ldGVyQ29kZXI6W2luc3RhbmNlIGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1l
dGVyQ29kZXJdXTsKKworICAgIGRlY29kZUJ1bmRsZVBhcmFtZXRlcnMocGFyYW1ldGVycy5idW5k
bGVQYXJhbWV0ZXJEYXRhLmdldCgpKTsKKwogICAgIGlmIChbaW5zdGFuY2UgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luOmluaXRpYWxpemVXaXRoT2JqZWN0Oild
KSB7CiAgICAgICAgIFJldGFpblB0cjxpZD4gb2JqQ0luaXRpYWxpemF0aW9uVXNlckRhdGE7CiAg
ICAgICAgIGlmIChpbml0aWFsaXphdGlvblVzZXJEYXRhICYmIGluaXRpYWxpemF0aW9uVXNlckRh
dGEtPnR5cGUoKSA9PSBBUEk6Ok9iamVjdDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoKQpAQCAtMjU1
LDcgKzI2Niw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZSkKIAogICAgIE5TRGljdGlvbmFyeSAqcGFyYW1l
dGVycyA9IG5pbDsKICAgICBAdHJ5IHsKLSAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVy
IGRlY29kZU9iamVjdE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc10gZm9yS2V5OkAicGFyYW1l
dGVycyJdOworICAgICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZD
bGFzc2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKICAgICB9IEBj
YXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcjogJUAiLCBleGNlcHRpb24pOwogICAgIH0KQEAg
LTI2Myw2ICsyNzQsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJz
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAgICAgaWYgKCFwYXJhbWV0ZXJzKQog
ICAgICAgICByZXR1cm47CiAKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKFtwYXJhbWV0ZXJzIGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsK
KwogICAgIGlmICghbV9idW5kbGVQYXJhbWV0ZXJzKSB7CiAgICAgICAgIG1fYnVuZGxlUGFyYW1l
dGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0
V2l0aERpY3Rpb25hcnk6cGFyYW1ldGVyc10pOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjQ3NWZlYTk3NjlkYWZm
YWY1MmU5ODFmMTllZDQ2MTBiNmU2NjFmZC4uNGNiMTU3NGZmNmQzN2I5M2NkNGM5ZDk3M2YxZjc0
MWZiZDE3ZmFjMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA0LTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdo
YW1AYXBwbGUuY29tPgorCisgICAgICAgIEluamVjdGVkQnVuZGxlIHBhcmFtZXRlcnMgb2Z0ZW4g
bmVlZCBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBjYWxsZWQgYmVmb3JlIHVuYXJjaGl2aW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3MDkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0NTczNjUzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNz
UGx1Z0luL1dlYlByb2Nlc3NQbHVnSW4ubW06CisgICAgICAgICgtW1dlYlByb2Nlc3NQbHVnSW4g
YWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rlcl0pOiBBZGRlZC4KKwogMjAxOS0wNC0x
NSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S11bV1BFXSBBZGQgZW5hYmxlLW1lZGlhIHdlYnNldHRpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvV2ViUHJvY2Vzc1BsdWdJbi9XZWJQcm9jZXNzUGx1Z0luLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVn
SW4ubW0KaW5kZXggNDA3NDZhYjRkMDc5Y2I4M2ZjZDEyZDk5NDU5Y2VlNTk1MDVhN2EwMy4uMzYz
YWQxZmY2NDY2NmVkODZhNTU1ZjhlYWQ1YWYwZWMxZTgwZDk3NyAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVnSW4ubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nl
c3NQbHVnSW4ubW0KQEAgLTM2LDYgKzM2LDExIEBAIEBpbXBsZW1lbnRhdGlvbiBXZWJQcm9jZXNz
UGx1Z0luIHsKICAgICBSZXRhaW5QdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4+IF90ZXN0UGx1
Z0luOwogfQogCistIChOU0FycmF5ICopYWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rl
cgoreworICAgIHJldHVybiBAW0AiTW9ja0NvbnRlbnRGaWx0ZXJFbmFibGVyIl07Cit9CisKIC0g
KHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBs
dWdJbkNvbnRyb2xsZXIgaW5pdGlhbGl6ZVdpdGhPYmplY3Q6KGlkKWluaXRpYWxpemF0aW9uT2Jq
ZWN0CiB7CiAgICAgTlNTdHJpbmcgKnRlc3RQbHVnSW5DbGFzc05hbWUgPSBbcGx1Z0luQ29udHJv
bGxlci5wYXJhbWV0ZXJzIHZhbHVlRm9yS2V5OlRlc3RXZWJLaXRBUEk6OlV0aWw6OlRlc3RQbHVn
SW5DbGFzc05hbWVQYXJhbWV0ZXJdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367752</attachid>
            <date>2019-04-18 14:06:29 -0700</date>
            <delta_ts>2019-04-18 14:07:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189709-20190418140629.patch</filename>
            <type>text/plain</type>
            <size>11232</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFlYjU5ODZmOTM4ZjZkODNk
ODc5NzA4ZGY1ODY1NjQ0YjliYzFjNzQuLjdkMjU5MjMwZWRhZTMwZjM4NzdhNjgwZGM1NzNiNDRh
YWQ4MjViMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMDQtMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIHRoZSBjYXNlIHdo
ZXJlIHRoZSBJbmplY3RlZEJ1bmRsZSBwYXJhbWV0ZXJzIGRvIG5vdCBzdWNjZXNzZnVsbHkgZGVj
b2RlIGJlY2F1c2UgdGhleSBjb250YWluCisgICAgICAgIGFuIHVuZXhwZWN0ZWQgY2xhc3MgZnJv
bSB0aGUgZW1iZWRkaW5nIHByb2dyYW0uIElmIHRoaXMgaGFwcGVucywgdHJ5IGRlY29kaW5nIHRo
ZSBidW5kbGUgcGFyYW1ldGVycworICAgICAgICBhZnRlciB0aGUgYnVuZGxlIGluaXRpYWxpYXRp
b24gZnVuY3Rpb24gcnVucywgd2hpY2ggZ2l2ZXMgdGhlIGVtYmVkZGluZyBwcm9ncmFtIHRoZSBv
cHBvcnR1bml0eSB0bworICAgICAgICByZWdpc3RlciBhZGRpdGlvbmFsIGNsYXNzZXMgdGhhdCBh
cmUgc2FmZSBmb3Igc2VyaWFsaXphdGlvbi4KKworICAgICAgICBFeHRlbmQgV0tXZWJQcm9jZXNz
UGx1Z0luIHdpdGggYSBtZXRob2QgdGhhdCByZXR1cm5zIHRoZSBuYW1lcyBvZiBhbnkgY3VzdG9t
IGNsYXNzZXMgdGhhdCBuZWVkCisgICAgICAgIHRvIGJlIHNlcmlhbGl6ZWQgYnkgdGhlIEluamVj
dGVkQnVuZGxlLgorICAgICAgICAKKyAgICAgICAgQ3JlYXRlIGEgbmV3ICdkZWNvZGVCdW5kbGVQ
YXJhbWV0ZXJzJyBtZXRob2QgdGhhdCBjb250YWlucyB0aGUgbG9naWMgdGhhdCB1c2VkIHRvIGxp
dmUgaW4gJ2luaXRpYWxpemUnLgorICAgICAgICBSZXZpc2UgJ2luaXRpYWxpemUnIHRvIGNhbGwg
dGhpcyBuZXcgbWV0aG9kLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFj
L0luamVjdGVkQnVuZGxlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
aW5pdGlhbGl6ZSk6IFVzZSB0aGUgbmV3IG1ldGhvZC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBhcmFtZXRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMpOiBVc2UgJ2RlY29kZU9iamVj
dE9mQ2xhc3Nlcycgd2l0aCB0aGUgbW9yZSBjb21wbGV0ZQorICAgICAgICAnY2xhc3Nlc0ZvckNv
ZGVyJyBtZXRob2QgdG8gdW5hcmNoaXZlIHRoZSBwYXNzZWQgYnVuZGxlIHBhcmFtZXRlcnMsIHJh
dGhlciB0aGFuIHRoZQorICAgICAgICBOU0RpY3Rpb25hcnktc3BlY2lmaWMgbWV0aG9kLCBzaW5j
ZSBJbmplY3RlZEJ1bmRsZXMgb2Z0ZW4gZW5jb2RlIG90aGVyIHR5cGVzIG9mIG9iamVjdHMsIGFu
ZCB0aGUKKyAgICAgICAgTlNEaWN0aW9uYXJ5IG9iamVjdCBtYXkgaXRzZWxmIGhvbGQgb3RoZXIg
a2luZHMgb2Ygb2JqZWN0cy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmg6CisgICAgICAgIChXZWJLaXQ6OldLV2ViUHJvY2Vz
c1BsdWdJbjo6YWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rlcik6IEFkZGVkLgorCiAy
MDE5LTA0LTE4ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDQyOTkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4u
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2Vi
UHJvY2Vzc1BsdWdJbi5oCmluZGV4IDhmYjQ2NzFhNWYyMjAzODlkOGM1MjY4NmIxNzQ2ODU2OTQx
NDBjMjUuLjc2OWZhOWE1OTU5MzBkZGVlMzAxNDk0MWE1MzE4MjlmNDNlYmFhNTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2Vi
UHJvY2Vzc1BsdWdJbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTItMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3LDYgKzM3LDcgQEAKIC0gKHZvaWQp
d2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNv
bnRyb2xsZXIgaW5pdGlhbGl6ZVdpdGhPYmplY3Q6KGlkKWluaXRpYWxpemF0aW9uT2JqZWN0Owog
LSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICop
cGx1Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjsKIC0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29u
dHJvbGxlciAqKXBsdWdJbkNvbnRyb2xsZXIgd2lsbERlc3Ryb3lCcm93c2VyQ29udGV4dENvbnRy
b2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjsKKy0gKE5TQXJyYXkgKilhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBh
cmFtZXRlckNvZGVyOwogQGVuZAogCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBp
b3MoOC4wKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5kZXggMWZmZTJjM2JiYWMwZTAxNzExY2U2YjFjOTc0
ODEwY2I3NGFlYzI4OC4uOGE0NjNmMjE2ZTFiN2I3MGY4YjcyYTk0NjQ4NzYxZmI2YjhhMjQwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEwLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0xNjcsNiArMTY3LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgSW5qZWN0ZWRCdW5kbGUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgYm9vbCBkZWNvZGVCdW5kbGVQ
YXJhbWV0ZXJzKEFQSTo6RGF0YSopOworI2VuZGlmCisKICAgICBTdHJpbmcgbV9wYXRoOwogICAg
IFBsYXRmb3JtQnVuZGxlIG1fcGxhdGZvcm1CdW5kbGU7IC8vIFRoaXMgaXMgbGVha2VkIHJpZ2h0
IG5vdywgc2luY2Ugd2UgbmV2ZXIgdW5sb2FkIHRoZSBidW5kbGUvbW9kdWxlLgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVk
QnVuZGxlTWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21h
Yy9JbmplY3RlZEJ1bmRsZU1hYy5tbQppbmRleCA1MmY4MjVkMDg1NGRiZjI3YTM3ZDQ3OGFiMzc0
ZmVjMWQ4ZDJjY2Q4Li44MDZhMzYxNTc5MTE1YzA5Nzc1YjQwNDQ4OWE4ODJjMmQ3NGEzNTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0lu
amVjdGVkQnVuZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEwLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03Myw2ICs3MywyOSBAQCBzdGF0
aWMgTlNFdmVudE1vZGlmaWVyRmxhZ3MgY3VycmVudE1vZGlmaWVyRmxhZ3MoaWQgc2VsZiwgU0VM
IF9jbWQpCiB9CiAjZW5kaWYKIAorYm9vbCBJbmplY3RlZEJ1bmRsZTo6ZGVjb2RlQnVuZGxlUGFy
YW1ldGVycyhBUEk6OkRhdGEqIGJ1bmRsZVBhcmFtZXRlckRhdGFQdHIpCit7CisgICAgaWYgKCFi
dW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8g
YnVuZGxlUGFyYW1ldGVyRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0
ZXNOb0NvcHk6Y29uc3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KGJ1bmRs
ZVBhcmFtZXRlckRhdGFQdHItPmJ5dGVzKCkpKSBsZW5ndGg6YnVuZGxlUGFyYW1ldGVyRGF0YVB0
ci0+c2l6ZSgpIGZyZWVXaGVuRG9uZTpOT10pOworICAgIAorICAgIGF1dG8gdW5hcmNoaXZlciA9
IHNlY3VyZVVuYXJjaGl2ZXJGcm9tRGF0YShidW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgpKTsKKyAg
ICAKKyAgICBOU0RpY3Rpb25hcnkgKmRpY3Rpb25hcnkgPSBuaWw7CisgICAgQHRyeSB7CisgICAg
ICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlci5nZXQoKSBkZWNvZGVPYmplY3RPZkNsYXNzZXM6
Y2xhc3Nlc0ZvckNvZGVyKCkgZm9yS2V5OkAicGFyYW1ldGVycyJdOworICAgICAgICBBU1NFUlQo
W2RpY3Rpb25hcnkgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pOworICAgIH0g
QGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7CisgICAgICAgIExPR19FUlJPUigiRmFp
bGVkIHRvIGRlY29kZSBidW5kbGUgcGFyYW1ldGVyczogJUAiLCBleGNlcHRpb24pOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAorICAgIEFTU0VSVCghbV9idW5kbGVQYXJhbWV0
ZXJzIHx8IG1fYnVuZGxlUGFyYW1ldGVycy5nZXQoKSk7CisgICAgbV9idW5kbGVQYXJhbWV0ZXJz
ID0gYWRvcHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRo
RGljdGlvbmFyeTpkaWN0aW9uYXJ5XSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSW5q
ZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycywgQVBJOjpPYmplY3QqIGluaXRpYWxpemF0aW9uVXNlckRhdGEpCiB7CiAg
ICAgaWYgKG1fc2FuZGJveEV4dGVuc2lvbikgewpAQCAtMTIwLDIzICsxNDMsOCBAQCBib29sIElu
amVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMsCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAocGFyYW1ldGVycy5i
dW5kbGVQYXJhbWV0ZXJEYXRhKSB7Ci0gICAgICAgIGF1dG8gYnVuZGxlUGFyYW1ldGVyRGF0YSA9
IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXNOb0NvcHk6Y29uc3RfY2FzdDx2
b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVy
RGF0YS0+Ynl0ZXMoKSkpIGxlbmd0aDpwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEtPnNp
emUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKLQotICAgICAgICBhdXRvIHVuYXJjaGl2ZXIgPSBzZWN1
cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7Ci0KLSAgICAg
ICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOwotICAgICAgICBAdHJ5IHsKLSAgICAg
ICAgICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlci5nZXQoKSBkZWNvZGVPYmplY3RPZkNsYXNz
OltOU09iamVjdCBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVycyJdOwotICAgICAgICAgICAgQVNT
RVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKLSAg
ICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKLSAgICAgICAgICAgIExP
R19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBidW5kbGUgcGFyYW1ldGVyczogJUAiLCBleGNlcHRp
b24pOwotICAgICAgICB9CisgICAgYm9vbCBzdWNjZXNzZnVsbHlEZWNvZGVkID0gZGVjb2RlQnVu
ZGxlUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOwogCi0g
ICAgICAgIEFTU0VSVCghbV9idW5kbGVQYXJhbWV0ZXJzKTsKLSAgICAgICAgbV9idW5kbGVQYXJh
bWV0ZXJzID0gYWRvcHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGlu
aXRXaXRoRGljdGlvbmFyeTpkaWN0aW9uYXJ5XSk7Ci0gICAgfQotICAgIAogI2lmIEVOQUJMRShX
RUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKICAgICAvLyBTd2l6emxlIFtOU0V2ZW50
IG1vZGlmZXJGbGFnc10sIHNpbmNlIGl0IGFsd2F5cyByZXR1cm5zIDAgd2hlbiB0aGUgV2luZG93
U2VydmVyIGlzIGJsb2NrZWQuCiAgICAgTWV0aG9kIG1ldGhvZCA9IGNsYXNzX2dldENsYXNzTWV0
aG9kKFtOU0V2ZW50IGNsYXNzXSwgQHNlbGVjdG9yKG1vZGlmaWVyRmxhZ3MpKTsKQEAgLTE0OSw2
ICsxNTcsOCBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgLy8gRmlyc3QgY2hlY2sgdG8g
c2VlIGlmIHRoZSBidW5kbGUgaGFzIGEgV0tCdW5kbGVJbml0aWFsaXplIGZ1bmN0aW9uLgogICAg
IGlmIChpbml0aWFsaXplRnVuY3Rpb24pIHsKICAgICAgICAgaW5pdGlhbGl6ZUZ1bmN0aW9uKHRv
QVBJKHRoaXMpLCB0b0FQSShpbml0aWFsaXphdGlvblVzZXJEYXRhKSk7CisgICAgICAgIGlmICgh
c3VjY2Vzc2Z1bGx5RGVjb2RlZCkKKyAgICAgICAgICAgIGRlY29kZUJ1bmRsZVBhcmFtZXRlcnMo
cGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgpKTsKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogCkBAIC0xNzMsNiArMTgzLDExIEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGU6Omlu
aXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywK
ICAgICBXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyKiBwbHVnSW5Db250cm9sbGVyID0gV2Vi
S2l0Ojp3cmFwcGVyKCp0aGlzKTsKICAgICBbcGx1Z0luQ29udHJvbGxlciBfc2V0UHJpbmNpcGFs
Q2xhc3NJbnN0YW5jZTppbnN0YW5jZV07CiAKKyAgICBpZiAoW2luc3RhbmNlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoYWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2RlcildKSB7
CisgICAgICAgIFtwbHVnSW5Db250cm9sbGVyIGV4dGVuZENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rl
cjpbaW5zdGFuY2UgYWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2Rlcl1dOworICAgICAg
ICBkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS5n
ZXQoKSk7CisgICAgfQorCiAgICAgaWYgKFtpbnN0YW5jZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHdlYlByb2Nlc3NQbHVnSW46aW5pdGlhbGl6ZVdpdGhPYmplY3Q6KV0pIHsKICAgICAg
ICAgUmV0YWluUHRyPGlkPiBvYmpDSW5pdGlhbGl6YXRpb25Vc2VyRGF0YTsKICAgICAgICAgaWYg
KGluaXRpYWxpemF0aW9uVXNlckRhdGEgJiYgaW5pdGlhbGl6YXRpb25Vc2VyRGF0YS0+dHlwZSgp
ID09IEFQSTo6T2JqZWN0OjpUeXBlOjpPYmpDT2JqZWN0R3JhcGgpCkBAIC0yNTUsNyArMjcwLDcg
QEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QnVuZGxlUGFyYW1ldGVycyhjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmIHZhbHVlKQogCiAgICAgTlNEaWN0aW9uYXJ5ICpwYXJhbWV0ZXJzID0gbmls
OwogICAgIEB0cnkgewotICAgICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2Jq
ZWN0T2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXSBmb3JLZXk6QCJwYXJhbWV0ZXJzIl07Cisg
ICAgICAgIHBhcmFtZXRlcnMgPSBbdW5hcmNoaXZlciBkZWNvZGVPYmplY3RPZkNsYXNzZXM6Y2xh
c3Nlc0ZvckNvZGVyKCkgZm9yS2V5OkAicGFyYW1ldGVycyJdOwogICAgIH0gQGNhdGNoIChOU0V4
Y2VwdGlvbiAqZXhjZXB0aW9uKSB7CiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29k
ZSBidW5kbGUgcGFyYW1ldGVyOiAlQCIsIGV4Y2VwdGlvbik7CiAgICAgfQpAQCAtMjYzLDYgKzI3
OCw4IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiB2YWx1ZSkKICAgICBpZiAoIXBhcmFtZXRlcnMpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oW3Bh
cmFtZXRlcnMgaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pOworCiAgICAgaWYg
KCFtX2J1bmRsZVBhcmFtZXRlcnMpIHsKICAgICAgICAgbV9idW5kbGVQYXJhbWV0ZXJzID0gYWRv
cHROUyhbW1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoRGljdGlv
bmFyeTpwYXJhbWV0ZXJzXSk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkOTVmNzRhNGZlNmUxNGY5ZjRmYWMyNGY3
NjNhY2ZjMTJmOTgxYmYzLi5mNThkNjlhOTI2ZTIzM2E3ZjllYTYwMmVjZjkxYTI4MmIxMmRlMDhj
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTktMDQtMTggIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFyYW1ldGVycyBvZnRlbiBuZWVkIGluaXRp
YWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUgdW5hcmNoaXZpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTcwOQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2NvY29hL1dlYlByb2Nlc3NQbHVnSW4vV2Vi
UHJvY2Vzc1BsdWdJbi5tbToKKyAgICAgICAgKC1bV2ViUHJvY2Vzc1BsdWdJbiBhZGRpdGlvbmFs
Q2xhc3Nlc0ZvclBhcmFtZXRlckNvZGVyXSk6IEFkZGVkLgorCiAyMDE5LTA0LTE4ICBSeWFuIEhh
ZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIyNDQyOTkuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1dl
YlByb2Nlc3NQbHVnSW4vV2ViUHJvY2Vzc1BsdWdJbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29jb2EvV2ViUHJvY2Vzc1BsdWdJbi9XZWJQcm9jZXNzUGx1Z0luLm1tCmluZGV4IDQwNzQ2YWI0
ZDA3OWNiODNmY2QxMmQ5OTQ1OWNlZTU5NTA1YTdhMDMuLjM2M2FkMWZmNjQ2NjZlZDg2YTU1NWY4
ZWFkNWFmMGVjMWU4MGQ5NzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2Ev
V2ViUHJvY2Vzc1BsdWdJbi9XZWJQcm9jZXNzUGx1Z0luLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvY29jb2EvV2ViUHJvY2Vzc1BsdWdJbi9XZWJQcm9jZXNzUGx1Z0luLm1tCkBAIC0zNiw2
ICszNiwxMSBAQCBAaW1wbGVtZW50YXRpb24gV2ViUHJvY2Vzc1BsdWdJbiB7CiAgICAgUmV0YWlu
UHRyPGlkIDxXS1dlYlByb2Nlc3NQbHVnSW4+PiBfdGVzdFBsdWdJbjsKIH0KIAorLSAoTlNBcnJh
eSAqKWFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIKK3sKKyAgICByZXR1cm4gQFtA
Ik1vY2tDb250ZW50RmlsdGVyRW5hYmxlciJdOworfQorCiAtICh2b2lkKXdlYlByb2Nlc3NQbHVn
SW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGluaXRp
YWxpemVXaXRoT2JqZWN0OihpZClpbml0aWFsaXphdGlvbk9iamVjdAogewogICAgIE5TU3RyaW5n
ICp0ZXN0UGx1Z0luQ2xhc3NOYW1lID0gW3BsdWdJbkNvbnRyb2xsZXIucGFyYW1ldGVycyB2YWx1
ZUZvcktleTpUZXN0V2ViS2l0QVBJOjpVdGlsOjpUZXN0UGx1Z0luQ2xhc3NOYW1lUGFyYW1ldGVy
XTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367753</attachid>
            <date>2019-04-18 14:07:15 -0700</date>
            <delta_ts>2019-04-18 14:08:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189709-20190418140714.patch</filename>
            <type>text/plain</type>
            <size>11230</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFlYjU5ODZmOTM4ZjZkODNk
ODc5NzA4ZGY1ODY1NjQ0YjliYzFjNzQuLjE1ODQ1NDYyMGExYmUyODc0MTczMDJjMTUzMjIzYWZj
Nzc3MGFiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMDQtMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEhhbmRsZSB0aGUgY2FzZSB3aGVy
ZSB0aGUgSW5qZWN0ZWRCdW5kbGUgcGFyYW1ldGVycyBkbyBub3Qgc3VjY2Vzc2Z1bGx5IGRlY29k
ZSBiZWNhdXNlIHRoZXkgY29udGFpbgorICAgICAgICBhbiB1bmV4cGVjdGVkIGNsYXNzIGZyb20g
dGhlIGVtYmVkZGluZyBwcm9ncmFtLiBJZiB0aGlzIGhhcHBlbnMsIHRyeSBkZWNvZGluZyB0aGUg
YnVuZGxlIHBhcmFtZXRlcnMKKyAgICAgICAgYWZ0ZXIgdGhlIGJ1bmRsZSBpbml0aWFsaWF0aW9u
IGZ1bmN0aW9uIHJ1bnMsIHdoaWNoIGdpdmVzIHRoZSBlbWJlZGRpbmcgcHJvZ3JhbSB0aGUgb3Bw
b3J0dW5pdHkgdG8KKyAgICAgICAgcmVnaXN0ZXIgYWRkaXRpb25hbCBjbGFzc2VzIHRoYXQgYXJl
IHNhZmUgZm9yIHNlcmlhbGl6YXRpb24uCisKKyAgICAgICAgRXh0ZW5kIFdLV2ViUHJvY2Vzc1Bs
dWdJbiB3aXRoIGEgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgbmFtZXMgb2YgYW55IGN1c3RvbSBj
bGFzc2VzIHRoYXQgbmVlZAorICAgICAgICB0byBiZSBzZXJpYWxpemVkIGJ5IHRoZSBJbmplY3Rl
ZEJ1bmRsZS4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5ldyAnZGVjb2RlQnVuZGxlUGFy
YW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2ljIHRoYXQgdXNlZCB0byBsaXZl
IGluICdpbml0aWFsaXplJy4KKyAgICAgICAgUmV2aXNlICdpbml0aWFsaXplJyB0byBjYWxsIHRo
aXMgbmV3IG1ldGhvZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9J
bmplY3RlZEJ1bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Omlu
aXRpYWxpemUpOiBVc2UgdGhlIG5ldyBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OkluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKTogVXNlICdkZWNvZGVPYmplY3RP
ZkNsYXNzZXMnIHdpdGggdGhlIG1vcmUgY29tcGxldGUKKyAgICAgICAgJ2NsYXNzZXNGb3JDb2Rl
cicgbWV0aG9kIHRvIHVuYXJjaGl2ZSB0aGUgcGFzc2VkIGJ1bmRsZSBwYXJhbWV0ZXJzLCByYXRo
ZXIgdGhhbiB0aGUKKyAgICAgICAgTlNEaWN0aW9uYXJ5LXNwZWNpZmljIG1ldGhvZCwgc2luY2Ug
SW5qZWN0ZWRCdW5kbGVzIG9mdGVuIGVuY29kZSBvdGhlciB0eXBlcyBvZiBvYmplY3RzLCBhbmQg
dGhlCisgICAgICAgIE5TRGljdGlvbmFyeSBvYmplY3QgbWF5IGl0c2VsZiBob2xkIG90aGVyIGtp
bmRzIG9mIG9iamVjdHMuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oOgorICAgICAgICAoV2ViS2l0OjpXS1dlYlByb2Nlc3NQ
bHVnSW46OmFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIpOiBBZGRlZC4KKwogMjAx
OS0wNC0xOCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0Mjk5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW4uaAppbmRleCA4ZmI0NjcxYTVmMjIwMzg5ZDhjNTI2ODZiMTc0Njg1Njk0MTQw
YzI1Li43NjlmYTlhNTk1OTMwZGRlZTMwMTQ5NDFhNTMxODI5ZjQzZWJhYTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEyLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNyw2ICszNyw3IEBACiAtICh2b2lkKXdl
YlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250
cm9sbGVyIGluaXRpYWxpemVXaXRoT2JqZWN0OihpZClpbml0aWFsaXphdGlvbk9iamVjdDsKIC0g
KHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBs
dWdJbkNvbnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRy
b2xsZXI7CiAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRy
b2xsZXIgKilwbHVnSW5Db250cm9sbGVyIHdpbGxEZXN0cm95QnJvd3NlckNvbnRleHRDb250cm9s
bGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2Vy
Q29udGV4dENvbnRyb2xsZXI7CistIChOU0FycmF5ICopYWRkaXRpb25hbENsYXNzZXNGb3JQYXJh
bWV0ZXJDb2RlcjsKIEBlbmQKIAogV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9z
KDguMCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4IDFmZmUyYzNiYmFjMGUwMTcxMWNlNmIxYzk3NDgx
MGNiNzRhZWMyODguLjhhNDYzZjIxNmUxYjdiNzBmOGI3MmE5NDY0ODc2MWZiNmI4YTI0MGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMTY3LDYgKzE2NywxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEluamVjdGVkQnVuZGxlKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGJvb2wgZGVjb2RlQnVuZGxlUGFy
YW1ldGVycyhBUEk6OkRhdGEqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fcGF0aDsKICAgICBQ
bGF0Zm9ybUJ1bmRsZSBtX3BsYXRmb3JtQnVuZGxlOyAvLyBUaGlzIGlzIGxlYWtlZCByaWdodCBu
b3csIHNpbmNlIHdlIG5ldmVyIHVubG9hZCB0aGUgYnVuZGxlL21vZHVsZS4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1
bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMv
SW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggNTJmODI1ZDA4NTRkYmYyN2EzN2Q0NzhhYjM3NGZl
YzFkOGQyY2NkOC4uODA2YTM2MTU3OTExNWMwOTc3NWI0MDQ0ODlhODgyYzJkNzRhMzUxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9Jbmpl
Y3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzMsNiArNzMsMjkgQEAgc3RhdGlj
IE5TRXZlbnRNb2RpZmllckZsYWdzIGN1cnJlbnRNb2RpZmllckZsYWdzKGlkIHNlbGYsIFNFTCBf
Y21kKQogfQogI2VuZGlmCiAKK2Jvb2wgSW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBhcmFt
ZXRlcnMoQVBJOjpEYXRhKiBidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQoreworICAgIGlmICghYnVu
ZGxlUGFyYW1ldGVyRGF0YVB0cikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBhdXRvIGJ1
bmRsZVBhcmFtZXRlckRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVz
Tm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihidW5kbGVQ
YXJhbWV0ZXJEYXRhUHRyLT5ieXRlcygpKSkgbGVuZ3RoOmJ1bmRsZVBhcmFtZXRlckRhdGFQdHIt
PnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKKyAgICAKKyAgICBhdXRvIHVuYXJjaGl2ZXIgPSBz
ZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CisgICAg
CisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOworICAgIEB0cnkgeworICAgICAg
ICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOmNs
YXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKKyAgICAgICAgQVNTRVJUKFtk
aWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKyAgICB9IEBj
YXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9uKTsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1ldGVy
cyB8fCBtX2J1bmRsZVBhcmFtZXRlcnMuZ2V0KCkpOworICAgIG1fYnVuZGxlUGFyYW1ldGVycyA9
IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0aERp
Y3Rpb25hcnk6ZGljdGlvbmFyeV0pOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEluamVj
dGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIEFQSTo6T2JqZWN0KiBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogewogICAg
IGlmIChtX3NhbmRib3hFeHRlbnNpb24pIHsKQEAgLTEyMCwyMyArMTQzLDggQEAgYm9vbCBJbmpl
Y3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzLAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHBhcmFtZXRlcnMuYnVu
ZGxlUGFyYW1ldGVyRGF0YSkgewotICAgICAgICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBh
ZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9p
ZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRh
dGEtPmJ5dGVzKCkpKSBsZW5ndGg6cGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLT5zaXpl
KCkgZnJlZVdoZW5Eb25lOk5PXSk7Ci0KLSAgICAgICAgYXV0byB1bmFyY2hpdmVyID0gc2VjdXJl
VW5hcmNoaXZlckZyb21EYXRhKGJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOwotCi0gICAgICAg
IE5TRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9IG5pbDsKLSAgICAgICAgQHRyeSB7Ci0gICAgICAg
ICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzczpb
TlNPYmplY3QgY2xhc3NdIGZvcktleTpAInBhcmFtZXRlcnMiXTsKLSAgICAgICAgICAgIEFTU0VS
VChbZGljdGlvbmFyeSBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSk7Ci0gICAg
ICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICBMT0df
RVJST1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9u
KTsKLSAgICAgICAgfQorICAgIGJvb2wgc3VjY2Vzc2Z1bGx5RGVjb2RlZCA9IGRlY29kZUJ1bmRs
ZVBhcmFtZXRlcnMocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgpKTsKIAotICAg
ICAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1ldGVycyk7Ci0gICAgICAgIG1fYnVuZGxlUGFyYW1l
dGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0
V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOwotICAgIH0KLSAgICAKICNpZiBFTkFCTEUoV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAgICAgLy8gU3dpenpsZSBbTlNFdmVudCBt
b2RpZmVyRmxhZ3NdLCBzaW5jZSBpdCBhbHdheXMgcmV0dXJucyAwIHdoZW4gdGhlIFdpbmRvd1Nl
cnZlciBpcyBibG9ja2VkLgogICAgIE1ldGhvZCBtZXRob2QgPSBjbGFzc19nZXRDbGFzc01ldGhv
ZChbTlNFdmVudCBjbGFzc10sIEBzZWxlY3Rvcihtb2RpZmllckZsYWdzKSk7CkBAIC0xNDksNiAr
MTU3LDggQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLAogICAgIC8vIEZpcnN0IGNoZWNrIHRvIHNl
ZSBpZiB0aGUgYnVuZGxlIGhhcyBhIFdLQnVuZGxlSW5pdGlhbGl6ZSBmdW5jdGlvbi4KICAgICBp
ZiAoaW5pdGlhbGl6ZUZ1bmN0aW9uKSB7CiAgICAgICAgIGluaXRpYWxpemVGdW5jdGlvbih0b0FQ
SSh0aGlzKSwgdG9BUEkoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkpOworICAgICAgICBpZiAoIXN1
Y2Nlc3NmdWxseURlY29kZWQpCisgICAgICAgICAgICBkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBh
cmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIApAQCAtMTczLDYgKzE4MywxMSBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0
aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAg
ICAgV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciogcGx1Z0luQ29udHJvbGxlciA9IFdlYktp
dDo6d3JhcHBlcigqdGhpcyk7CiAgICAgW3BsdWdJbkNvbnRyb2xsZXIgX3NldFByaW5jaXBhbENs
YXNzSW5zdGFuY2U6aW5zdGFuY2VdOwogCisgICAgaWYgKFtpbnN0YW5jZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIpXSkgewor
ICAgICAgICBbcGx1Z0luQ29udHJvbGxlciBleHRlbmRDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI6
W2luc3RhbmNlIGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXJdXTsKKyAgICAgICAg
ZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0
KCkpOworICAgIH0KKwogICAgIGlmIChbaW5zdGFuY2UgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcih3ZWJQcm9jZXNzUGx1Z0luOmluaXRpYWxpemVXaXRoT2JqZWN0OildKSB7CiAgICAgICAg
IFJldGFpblB0cjxpZD4gb2JqQ0luaXRpYWxpemF0aW9uVXNlckRhdGE7CiAgICAgICAgIGlmIChp
bml0aWFsaXphdGlvblVzZXJEYXRhICYmIGluaXRpYWxpemF0aW9uVXNlckRhdGEtPnR5cGUoKSA9
PSBBUEk6Ok9iamVjdDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoKQpAQCAtMjU1LDcgKzI3MCw3IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJiB2YWx1ZSkKIAogICAgIE5TRGljdGlvbmFyeSAqcGFyYW1ldGVycyA9IG5pbDsK
ICAgICBAdHJ5IHsKLSAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVyIGRlY29kZU9iamVj
dE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVycyJdOworICAg
ICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOmNsYXNz
ZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKICAgICB9IEBjYXRjaCAoTlNFeGNl
cHRpb24gKmV4Y2VwdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUg
YnVuZGxlIHBhcmFtZXRlcjogJUAiLCBleGNlcHRpb24pOwogICAgIH0KQEAgLTI2Myw2ICsyNzgs
OCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAgICAgaWYgKCFwYXJhbWV0ZXJzKQogICAgICAgICByZXR1
cm47CiAKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKFtwYXJh
bWV0ZXJzIGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKwogICAgIGlmICgh
bV9idW5kbGVQYXJhbWV0ZXJzKSB7CiAgICAgICAgIG1fYnVuZGxlUGFyYW1ldGVycyA9IGFkb3B0
TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0aERpY3Rpb25h
cnk6cGFyYW1ldGVyc10pOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDk1Zjc0YTRmZTZlMTRmOWY0ZmFjMjRmNzYz
YWNmYzEyZjk4MWJmMy4uZjU4ZDY5YTkyNmUyMzNhN2Y5ZWE2MDJlY2Y5MWEyODJiMTJkZTA4YyAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDE5LTA0LTE4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIEluamVjdGVkQnVuZGxlIHBhcmFtZXRlcnMgb2Z0ZW4gbmVlZCBpbml0aWFs
aXphdGlvbiBmdW5jdGlvbiBjYWxsZWQgYmVmb3JlIHVuYXJjaGl2aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3MDkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ0NTczNjUzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlBy
b2Nlc3NQbHVnSW4ubW06CisgICAgICAgICgtW1dlYlByb2Nlc3NQbHVnSW4gYWRkaXRpb25hbENs
YXNzZXNGb3JQYXJhbWV0ZXJDb2Rlcl0pOiBBZGRlZC4KKwogMjAxOS0wNC0xOCAgUnlhbiBIYWRk
YWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjQ0Mjk5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQ
cm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVnSW4ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2Nv
Y29hL1dlYlByb2Nlc3NQbHVnSW4vV2ViUHJvY2Vzc1BsdWdJbi5tbQppbmRleCA0MDc0NmFiNGQw
NzljYjgzZmNkMTJkOTk0NTljZWU1OTUwNWE3YTAzLi4zNjNhZDFmZjY0NjY2ZWQ4NmE1NTVmOGVh
ZDVhZjBlYzFlODBkOTc3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1dl
YlByb2Nlc3NQbHVnSW4vV2ViUHJvY2Vzc1BsdWdJbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvY29hL1dlYlByb2Nlc3NQbHVnSW4vV2ViUHJvY2Vzc1BsdWdJbi5tbQpAQCAtMzYsNiAr
MzYsMTEgQEAgQGltcGxlbWVudGF0aW9uIFdlYlByb2Nlc3NQbHVnSW4gewogICAgIFJldGFpblB0
cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luPj4gX3Rlc3RQbHVnSW47CiB9CiAKKy0gKE5TQXJyYXkg
KilhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBhcmFtZXRlckNvZGVyCit7CisgICAgcmV0dXJuIEBbQCJN
b2NrQ29udGVudEZpbHRlckVuYWJsZXIiXTsKK30KKwogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0lu
OihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1Z0luQ29udHJvbGxlciBpbml0aWFs
aXplV2l0aE9iamVjdDooaWQpaW5pdGlhbGl6YXRpb25PYmplY3QKIHsKICAgICBOU1N0cmluZyAq
dGVzdFBsdWdJbkNsYXNzTmFtZSA9IFtwbHVnSW5Db250cm9sbGVyLnBhcmFtZXRlcnMgdmFsdWVG
b3JLZXk6VGVzdFdlYktpdEFQSTo6VXRpbDo6VGVzdFBsdWdJbkNsYXNzTmFtZVBhcmFtZXRlcl07
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367754</attachid>
            <date>2019-04-18 14:08:41 -0700</date>
            <delta_ts>2020-04-14 10:35:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189709-20190418140840.patch</filename>
            <type>text/plain</type>
            <size>11228</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFlYjU5ODZmOTM4ZjZkODNk
ODc5NzA4ZGY1ODY1NjQ0YjliYzFjNzQuLjE1ODQ1NDYyMGExYmUyODc0MTczMDJjMTUzMjIzYWZj
Nzc3MGFiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMDQtMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEhhbmRsZSB0aGUgY2FzZSB3aGVy
ZSB0aGUgSW5qZWN0ZWRCdW5kbGUgcGFyYW1ldGVycyBkbyBub3Qgc3VjY2Vzc2Z1bGx5IGRlY29k
ZSBiZWNhdXNlIHRoZXkgY29udGFpbgorICAgICAgICBhbiB1bmV4cGVjdGVkIGNsYXNzIGZyb20g
dGhlIGVtYmVkZGluZyBwcm9ncmFtLiBJZiB0aGlzIGhhcHBlbnMsIHRyeSBkZWNvZGluZyB0aGUg
YnVuZGxlIHBhcmFtZXRlcnMKKyAgICAgICAgYWZ0ZXIgdGhlIGJ1bmRsZSBpbml0aWFsaWF0aW9u
IGZ1bmN0aW9uIHJ1bnMsIHdoaWNoIGdpdmVzIHRoZSBlbWJlZGRpbmcgcHJvZ3JhbSB0aGUgb3Bw
b3J0dW5pdHkgdG8KKyAgICAgICAgcmVnaXN0ZXIgYWRkaXRpb25hbCBjbGFzc2VzIHRoYXQgYXJl
IHNhZmUgZm9yIHNlcmlhbGl6YXRpb24uCisKKyAgICAgICAgRXh0ZW5kIFdLV2ViUHJvY2Vzc1Bs
dWdJbiB3aXRoIGEgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgbmFtZXMgb2YgYW55IGN1c3RvbSBj
bGFzc2VzIHRoYXQgbmVlZAorICAgICAgICB0byBiZSBzZXJpYWxpemVkIGJ5IHRoZSBJbmplY3Rl
ZEJ1bmRsZS4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5ldyAnZGVjb2RlQnVuZGxlUGFy
YW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2ljIHRoYXQgdXNlZCB0byBsaXZl
IGluICdpbml0aWFsaXplJy4KKyAgICAgICAgUmV2aXNlICdpbml0aWFsaXplJyB0byBjYWxsIHRo
aXMgbmV3IG1ldGhvZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9J
bmplY3RlZEJ1bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Omlu
aXRpYWxpemUpOiBVc2UgdGhlIG5ldyBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OkluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKTogVXNlICdkZWNvZGVPYmplY3RP
ZkNsYXNzZXMnIHdpdGggdGhlIG1vcmUgY29tcGxldGUKKyAgICAgICAgJ2NsYXNzZXNGb3JDb2Rl
cicgbWV0aG9kIHRvIHVuYXJjaGl2ZSB0aGUgcGFzc2VkIGJ1bmRsZSBwYXJhbWV0ZXJzLCByYXRo
ZXIgdGhhbiB0aGUKKyAgICAgICAgTlNEaWN0aW9uYXJ5LXNwZWNpZmljIG1ldGhvZCwgc2luY2Ug
SW5qZWN0ZWRCdW5kbGVzIG9mdGVuIGVuY29kZSBvdGhlciB0eXBlcyBvZiBvYmplY3RzLCBhbmQg
dGhlCisgICAgICAgIE5TRGljdGlvbmFyeSBvYmplY3QgbWF5IGl0c2VsZiBob2xkIG90aGVyIGtp
bmRzIG9mIG9iamVjdHMuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oOgorICAgICAgICAoV2ViS2l0OjpXS1dlYlByb2Nlc3NQ
bHVnSW46OmFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIpOiBBZGRlZC4KKwogMjAx
OS0wNC0xOCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0Mjk5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW4uaAppbmRleCA4ZmI0NjcxYTVmMjIwMzg5ZDhjNTI2ODZiMTc0Njg1Njk0MTQw
YzI1Li43NjlmYTlhNTk1OTMwZGRlZTMwMTQ5NDFhNTMxODI5ZjQzZWJhYTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4uaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEyLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNyw2ICszNyw3IEBACiAtICh2b2lkKXdl
YlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250
cm9sbGVyIGluaXRpYWxpemVXaXRoT2JqZWN0OihpZClpbml0aWFsaXphdGlvbk9iamVjdDsKIC0g
KHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBs
dWdJbkNvbnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRy
b2xsZXI7CiAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRy
b2xsZXIgKilwbHVnSW5Db250cm9sbGVyIHdpbGxEZXN0cm95QnJvd3NlckNvbnRleHRDb250cm9s
bGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2Vy
Q29udGV4dENvbnRyb2xsZXI7CistIChOU0FycmF5ICopYWRkaXRpb25hbENsYXNzZXNGb3JQYXJh
bWV0ZXJDb2RlcjsKIEBlbmQKIAogV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9z
KDguMCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4IDFmZmUyYzNiYmFjMGUwMTcxMWNlNmIxYzk3NDgx
MGNiNzRhZWMyODguLjhhNDYzZjIxNmUxYjdiNzBmOGI3MmE5NDY0ODc2MWZiNmI4YTI0MGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMTY3LDYgKzE2NywxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IEluamVjdGVkQnVuZGxlKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGJvb2wgZGVjb2RlQnVuZGxlUGFy
YW1ldGVycyhBUEk6OkRhdGEqKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIG1fcGF0aDsKICAgICBQ
bGF0Zm9ybUJ1bmRsZSBtX3BsYXRmb3JtQnVuZGxlOyAvLyBUaGlzIGlzIGxlYWtlZCByaWdodCBu
b3csIHNpbmNlIHdlIG5ldmVyIHVubG9hZCB0aGUgYnVuZGxlL21vZHVsZS4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1
bmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMv
SW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggNTJmODI1ZDA4NTRkYmYyN2EzN2Q0NzhhYjM3NGZl
YzFkOGQyY2NkOC4uODA2YTM2MTU3OTExNWMwOTc3NWI0MDQ0ODlhODgyYzJkNzRhMzUxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9Jbmpl
Y3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzMsNiArNzMsMjkgQEAgc3RhdGlj
IE5TRXZlbnRNb2RpZmllckZsYWdzIGN1cnJlbnRNb2RpZmllckZsYWdzKGlkIHNlbGYsIFNFTCBf
Y21kKQogfQogI2VuZGlmCiAKK2Jvb2wgSW5qZWN0ZWRCdW5kbGU6OmRlY29kZUJ1bmRsZVBhcmFt
ZXRlcnMoQVBJOjpEYXRhKiBidW5kbGVQYXJhbWV0ZXJEYXRhUHRyKQoreworICAgIGlmICghYnVu
ZGxlUGFyYW1ldGVyRGF0YVB0cikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBhdXRvIGJ1
bmRsZVBhcmFtZXRlckRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVz
Tm9Db3B5OmNvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihidW5kbGVQ
YXJhbWV0ZXJEYXRhUHRyLT5ieXRlcygpKSkgbGVuZ3RoOmJ1bmRsZVBhcmFtZXRlckRhdGFQdHIt
PnNpemUoKSBmcmVlV2hlbkRvbmU6Tk9dKTsKKyAgICAKKyAgICBhdXRvIHVuYXJjaGl2ZXIgPSBz
ZWN1cmVVbmFyY2hpdmVyRnJvbURhdGEoYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CisgICAg
CisgICAgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOworICAgIEB0cnkgeworICAgICAg
ICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOmNs
YXNzZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKKyAgICAgICAgQVNTRVJUKFtk
aWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKyAgICB9IEBj
YXRjaCAoTlNFeGNlcHRpb24gKmV4Y2VwdGlvbikgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9uKTsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1ldGVy
cyB8fCBtX2J1bmRsZVBhcmFtZXRlcnMuZ2V0KCkpOworICAgIG1fYnVuZGxlUGFyYW1ldGVycyA9
IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0aERp
Y3Rpb25hcnk6ZGljdGlvbmFyeV0pOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEluamVj
dGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIEFQSTo6T2JqZWN0KiBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogewogICAg
IGlmIChtX3NhbmRib3hFeHRlbnNpb24pIHsKQEAgLTEyMCwyMyArMTQzLDggQEAgYm9vbCBJbmpl
Y3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzLAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHBhcmFtZXRlcnMuYnVu
ZGxlUGFyYW1ldGVyRGF0YSkgewotICAgICAgICBhdXRvIGJ1bmRsZVBhcmFtZXRlckRhdGEgPSBh
ZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzTm9Db3B5OmNvbnN0X2Nhc3Q8dm9p
ZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRh
dGEtPmJ5dGVzKCkpKSBsZW5ndGg6cGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLT5zaXpl
KCkgZnJlZVdoZW5Eb25lOk5PXSk7Ci0KLSAgICAgICAgYXV0byB1bmFyY2hpdmVyID0gc2VjdXJl
VW5hcmNoaXZlckZyb21EYXRhKGJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOwotCi0gICAgICAg
IE5TRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9IG5pbDsKLSAgICAgICAgQHRyeSB7Ci0gICAgICAg
ICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJjaGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzczpb
TlNPYmplY3QgY2xhc3NdIGZvcktleTpAInBhcmFtZXRlcnMiXTsKLSAgICAgICAgICAgIEFTU0VS
VChbZGljdGlvbmFyeSBpc0tpbmRPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xhc3NdXSk7Ci0gICAg
ICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICBMT0df
RVJST1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBhcmFtZXRlcnM6ICVAIiwgZXhjZXB0aW9u
KTsKLSAgICAgICAgfQorICAgIGJvb2wgc3VjY2Vzc2Z1bGx5RGVjb2RlZCA9IGRlY29kZUJ1bmRs
ZVBhcmFtZXRlcnMocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0ZXJEYXRhLmdldCgpKTsKIAotICAg
ICAgICBBU1NFUlQoIW1fYnVuZGxlUGFyYW1ldGVycyk7Ci0gICAgICAgIG1fYnVuZGxlUGFyYW1l
dGVycyA9IGFkb3B0TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0
V2l0aERpY3Rpb25hcnk6ZGljdGlvbmFyeV0pOwotICAgIH0KLSAgICAKICNpZiBFTkFCTEUoV0VC
UFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAgICAgLy8gU3dpenpsZSBbTlNFdmVudCBt
b2RpZmVyRmxhZ3NdLCBzaW5jZSBpdCBhbHdheXMgcmV0dXJucyAwIHdoZW4gdGhlIFdpbmRvd1Nl
cnZlciBpcyBibG9ja2VkLgogICAgIE1ldGhvZCBtZXRob2QgPSBjbGFzc19nZXRDbGFzc01ldGhv
ZChbTlNFdmVudCBjbGFzc10sIEBzZWxlY3Rvcihtb2RpZmllckZsYWdzKSk7CkBAIC0xNDksNiAr
MTU3LDggQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLAogICAgIC8vIEZpcnN0IGNoZWNrIHRvIHNl
ZSBpZiB0aGUgYnVuZGxlIGhhcyBhIFdLQnVuZGxlSW5pdGlhbGl6ZSBmdW5jdGlvbi4KICAgICBp
ZiAoaW5pdGlhbGl6ZUZ1bmN0aW9uKSB7CiAgICAgICAgIGluaXRpYWxpemVGdW5jdGlvbih0b0FQ
SSh0aGlzKSwgdG9BUEkoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkpOworICAgICAgICBpZiAoIXN1
Y2Nlc3NmdWxseURlY29kZWQpCisgICAgICAgICAgICBkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKHBh
cmFtZXRlcnMuYnVuZGxlUGFyYW1ldGVyRGF0YS5nZXQoKSk7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIApAQCAtMTczLDYgKzE4MywxMSBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0
aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAg
ICAgV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciogcGx1Z0luQ29udHJvbGxlciA9IFdlYktp
dDo6d3JhcHBlcigqdGhpcyk7CiAgICAgW3BsdWdJbkNvbnRyb2xsZXIgX3NldFByaW5jaXBhbENs
YXNzSW5zdGFuY2U6aW5zdGFuY2VdOwogCisgICAgaWYgKFtpbnN0YW5jZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIpXSkgewor
ICAgICAgICBbcGx1Z0luQ29udHJvbGxlciBleHRlbmRDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI6
W2luc3RhbmNlIGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXJdXTsKKyAgICAgICAg
ZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0
KCkpOworICAgIH0KKwogICAgIGlmIChbaW5zdGFuY2UgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcih3ZWJQcm9jZXNzUGx1Z0luOmluaXRpYWxpemVXaXRoT2JqZWN0OildKSB7CiAgICAgICAg
IFJldGFpblB0cjxpZD4gb2JqQ0luaXRpYWxpemF0aW9uVXNlckRhdGE7CiAgICAgICAgIGlmIChp
bml0aWFsaXphdGlvblVzZXJEYXRhICYmIGluaXRpYWxpemF0aW9uVXNlckRhdGEtPnR5cGUoKSA9
PSBBUEk6Ok9iamVjdDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoKQpAQCAtMjU1LDcgKzI3MCw3IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJiB2YWx1ZSkKIAogICAgIE5TRGljdGlvbmFyeSAqcGFyYW1ldGVycyA9IG5pbDsK
ICAgICBAdHJ5IHsKLSAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hpdmVyIGRlY29kZU9iamVj
dE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVycyJdOworICAg
ICAgICBwYXJhbWV0ZXJzID0gW3VuYXJjaGl2ZXIgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOmNsYXNz
ZXNGb3JDb2RlcigpIGZvcktleTpAInBhcmFtZXRlcnMiXTsKICAgICB9IEBjYXRjaCAoTlNFeGNl
cHRpb24gKmV4Y2VwdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUg
YnVuZGxlIHBhcmFtZXRlcjogJUAiLCBleGNlcHRpb24pOwogICAgIH0KQEAgLTI2Myw2ICsyNzgs
OCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgdmFsdWUpCiAgICAgaWYgKCFwYXJhbWV0ZXJzKQogICAgICAgICByZXR1
cm47CiAKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKFtwYXJh
bWV0ZXJzIGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKwogICAgIGlmICgh
bV9idW5kbGVQYXJhbWV0ZXJzKSB7CiAgICAgICAgIG1fYnVuZGxlUGFyYW1ldGVycyA9IGFkb3B0
TlMoW1tXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzIGFsbG9jXSBpbml0V2l0aERpY3Rpb25h
cnk6cGFyYW1ldGVyc10pOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDk1Zjc0YTRmZTZlMTRmOWY0ZmFjMjRmNzYz
YWNmYzEyZjk4MWJmMy4uYWRkMDRhMDRiMDcxOTE0ZjY5ODk0YzBjNjAyZWZlMzk4YWI4YmUxMCAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDE5LTA0LTE4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIEluamVjdGVkQnVuZGxlIHBhcmFtZXRlcnMgb2Z0ZW4gbmVlZCBpbml0aWFs
aXphdGlvbiBmdW5jdGlvbiBjYWxsZWQgYmVmb3JlIHVuYXJjaGl2aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3MDkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ0NTczNjUzPgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvV2ViUHJvY2Vzc1BsdWdJbi9XZWJQcm9j
ZXNzUGx1Z0luLm1tOgorICAgICAgICAoLVtXZWJQcm9jZXNzUGx1Z0luIGFkZGl0aW9uYWxDbGFz
c2VzRm9yUGFyYW1ldGVyQ29kZXJdKTogQWRkZWQuCisKIDIwMTktMDQtMTggIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjI0NDI5OS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvV2ViUHJv
Y2Vzc1BsdWdJbi9XZWJQcm9jZXNzUGx1Z0luLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2Nv
YS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVnSW4ubW0KaW5kZXggNDA3NDZhYjRkMDc5
Y2I4M2ZjZDEyZDk5NDU5Y2VlNTk1MDVhN2EwMy4uMzYzYWQxZmY2NDY2NmVkODZhNTU1ZjhlYWQ1
YWYwZWMxZTgwZDk3NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQ
cm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVnSW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVnSW4ubW0KQEAgLTM2LDYgKzM2
LDExIEBAIEBpbXBsZW1lbnRhdGlvbiBXZWJQcm9jZXNzUGx1Z0luIHsKICAgICBSZXRhaW5QdHI8
aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4+IF90ZXN0UGx1Z0luOwogfQogCistIChOU0FycmF5ICop
YWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0ZXJDb2RlcgoreworICAgIHJldHVybiBAW0AiTW9j
a0NvbnRlbnRGaWx0ZXJFbmFibGVyIl07Cit9CisKIC0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjoo
V0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNvbnRyb2xsZXIgaW5pdGlhbGl6
ZVdpdGhPYmplY3Q6KGlkKWluaXRpYWxpemF0aW9uT2JqZWN0CiB7CiAgICAgTlNTdHJpbmcgKnRl
c3RQbHVnSW5DbGFzc05hbWUgPSBbcGx1Z0luQ29udHJvbGxlci5wYXJhbWV0ZXJzIHZhbHVlRm9y
S2V5OlRlc3RXZWJLaXRBUEk6OlV0aWw6OlRlc3RQbHVnSW5DbGFzc05hbWVQYXJhbWV0ZXJdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396437</attachid>
            <date>2020-04-14 10:35:54 -0700</date>
            <delta_ts>2020-04-14 11:07:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189709-20200414103553.patch</filename>
            <type>text/plain</type>
            <size>13255</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ3NDcxYjA4YmE5NmMzNjU4
Mjk2YjNhNzNlOWRiNjc2N2U3ZTVhNmUuLmNkZDE2MTgwNDkwMmI5NjQ4MzE2ODJiOTRlYTYyOWQ4
MjFkMjY3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjAtMDQtMTMgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGUgcGFy
YW1ldGVycyBvZnRlbiBuZWVkIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGNhbGxlZCBiZWZvcmUg
dW5hcmNoaXZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTcwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NzM2NTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEhhbmRsZSB0aGUgY2FzZSB3aGVy
ZSB0aGUgSW5qZWN0ZWRCdW5kbGUgcGFyYW1ldGVycyBkbyBub3Qgc3VjY2Vzc2Z1bGx5IGRlY29k
ZSBiZWNhdXNlIHRoZXkgY29udGFpbgorICAgICAgICBhbiB1bmV4cGVjdGVkIGNsYXNzIGZyb20g
dGhlIGVtYmVkZGluZyBwcm9ncmFtLiBJZiB0aGlzIGhhcHBlbnMsIHRyeSBkZWNvZGluZyB0aGUg
YnVuZGxlIHBhcmFtZXRlcnMKKyAgICAgICAgYWZ0ZXIgdGhlIGJ1bmRsZSBpbml0aWFsaWF0aW9u
IGZ1bmN0aW9uIHJ1bnMsIHdoaWNoIGdpdmVzIHRoZSBlbWJlZGRpbmcgcHJvZ3JhbSB0aGUgb3Bw
b3J0dW5pdHkgdG8KKyAgICAgICAgcmVnaXN0ZXIgYWRkaXRpb25hbCBjbGFzc2VzIHRoYXQgYXJl
IHNhZmUgZm9yIHNlcmlhbGl6YXRpb24uCisKKyAgICAgICAgRXh0ZW5kIFdLV2ViUHJvY2Vzc1Bs
dWdJbiB3aXRoIGEgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgbmFtZXMgb2YgYW55IGN1c3RvbSBj
bGFzc2VzIHRoYXQgbmVlZAorICAgICAgICB0byBiZSBzZXJpYWxpemVkIGJ5IHRoZSBJbmplY3Rl
ZEJ1bmRsZS4KKyAgICAgICAgCisgICAgICAgIENyZWF0ZSBhIG5ldyAnZGVjb2RlQnVuZGxlUGFy
YW1ldGVycycgbWV0aG9kIHRoYXQgY29udGFpbnMgdGhlIGxvZ2ljIHRoYXQgdXNlZCB0byBsaXZl
IGluICdpbml0aWFsaXplJy4KKyAgICAgICAgUmV2aXNlICdpbml0aWFsaXplJyB0byBjYWxsIHRo
aXMgbmV3IG1ldGhvZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9J
bmplY3RlZEJ1bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Omlu
aXRpYWxpemUpOiBVc2UgdGhlIG5ldyBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpkZWNvZGVCdW5kbGVQYXJhbWV0ZXJzKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OkluamVjdGVkQnVuZGxlOjpzZXRCdW5kbGVQYXJhbWV0ZXJzKTogVXNlICdkZWNvZGVPYmplY3RP
ZkNsYXNzZXMnIHdpdGggdGhlIG1vcmUgY29tcGxldGUKKyAgICAgICAgJ2NsYXNzZXNGb3JDb2Rl
cicgbWV0aG9kIHRvIHVuYXJjaGl2ZSB0aGUgcGFzc2VkIGJ1bmRsZSBwYXJhbWV0ZXJzLCByYXRo
ZXIgdGhhbiB0aGUKKyAgICAgICAgTlNEaWN0aW9uYXJ5LXNwZWNpZmljIG1ldGhvZCwgc2luY2Ug
SW5qZWN0ZWRCdW5kbGVzIG9mdGVuIGVuY29kZSBvdGhlciB0eXBlcyBvZiBvYmplY3RzLCBhbmQg
dGhlCisgICAgICAgIE5TRGljdGlvbmFyeSBvYmplY3QgbWF5IGl0c2VsZiBob2xkIG90aGVyIGtp
bmRzIG9mIG9iamVjdHMuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oOgorICAgICAgICAoV2ViS2l0OjpXS1dlYlByb2Nlc3NQ
bHVnSW46OmFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIpOiBBZGRlZC4KKwogMjAy
MC0wNC0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPU10gVXBkYXRlIG1lc3NhZ2UgZmlsdGVycyBpbiB0aGUgV2ViQ29udGVudCBzYW5kYm94CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVJbml0aWFsaXplLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbml0aWFsaXplLmgKaW5kZXggODZhODk3ZTM5Y2NmZmM2MDc5
YWVkZjNiMTlhODE4Yjc5OTM0NDc3ZS4uZWNiMTk5MGUyYjM3NWQ4OWU4YWYyNzExODZkNmFlNTYz
MDliZWRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlSW5pdGlhbGl6ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluaXRpYWxpemUuaApAQCAtMjMsOCAr
MjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5k
ZWYgV0tCdW5kbGVJbml0aWFsaXplX2gKLSNkZWZpbmUgV0tCdW5kbGVJbml0aWFsaXplX2gKKyNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgogCkBAIC0zNSw4ICszNCw5
IEBAIGV4dGVybiAiQyIgewogLy8gTk9URTogTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBJbmplY3Rl
ZEJ1bmRsZSdzIGFzIGEgZnVuY3Rpb24gbmFtZWQgIldLQnVuZGxlSW5pdGlhbGl6ZSIuCiB0eXBl
ZGVmIHZvaWQgKCpXS0J1bmRsZUluaXRpYWxpemVGdW5jdGlvblB0cikoV0tCdW5kbGVSZWYsIFdL
VHlwZVJlZik7CiAKKy8vIE5PVEU6IE11c3QgYmUgaW1wbGVtZW50ZWQgYnkgSW5qZWN0ZWRCdW5k
bGUncyBhcyBhIGZ1bmN0aW9uIG5hbWVkICJXS0J1bmRsZUFkZGl0aW9uYWxDbGFzc2VzRm9yUGFy
YW1ldGVyQ29kZXIiLgordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVBZGRpdGlvbmFsQ2xhc3Nlc0Zv
clBhcmFtZXRlckNvZGVyRnVuY3Rpb25QdHIpKFdLQnVuZGxlUmVmLCBXS1R5cGVSZWYpOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgotCi0jZW5kaWYgLyogV0tCdW5kbGVJbml0aWFs
aXplX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmgKaW5kZXggOGZi
NDY3MWE1ZjIyMDM4OWQ4YzUyNjg2YjE3NDY4NTY5NDE0MGMyNS4uOWI2MmJlYjgzY2JhM2UyZWU1
ZjFmZTY2ZDhhZWRhMjJlYTE0MGI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNz
UGx1Z0luLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzcsNiArMzcsNyBAQAogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlBy
b2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1Z0luQ29udHJvbGxlciBpbml0aWFsaXplV2l0aE9i
amVjdDooaWQpaW5pdGlhbGl6YXRpb25PYmplY3Q7CiAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46
KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENyZWF0
ZUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyOwogLSAodm9pZCl3ZWJQcm9j
ZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1Z0luQ29udHJvbGxl
ciB3aWxsRGVzdHJveUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyOworLSAo
TlNBcnJheSAqKWFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI7CiBAZW5kCiAKIFdL
X0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApp
bmRleCBlNGE4MGNmZThlNWYxYzdhZTkyZGRiYzJhMWZkOWQxMTRjYmQ0ODBiLi4zYmE1ZTQ0MDEw
ZDc1OGU5NjE5YjM4MzA2MTdlNzg2YTYzNjhiYWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE1
Niw2ICsxNTYsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbmplY3RlZEJ1
bmRsZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyAgICBib29sIGRlY29kZUJ1bmRsZVBhcmFtZXRlcnMoQVBJOjpEYXRhKik7Cisj
ZW5kaWYKKwogICAgIFN0cmluZyBtX3BhdGg7CiAgICAgUGxhdGZvcm1CdW5kbGUgbV9wbGF0Zm9y
bUJ1bmRsZTsgLy8gVGhpcyBpcyBsZWFrZWQgcmlnaHQgbm93LCBzaW5jZSB3ZSBuZXZlciB1bmxv
YWQgdGhlIGJ1bmRsZS9tb2R1bGUuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCmlu
ZGV4IGE2ZGE5MTlhMjJmNzVkOTczYTU5N2FjOTgxMTM3OGFjMjJjZGY3NmYuLmQ0NjIwYjQzZTc4
ODc3NjU5YThlNDQ0Njg4ZGQ0NmUxNTYyOTY0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRs
ZU1hYy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTkyLDYgKzkyLDI3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNLZXllZFVuYXJj
aGl2ZXI+IGNyZWF0ZVVuYXJjaGl2ZXIoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkCiAgICAg
cmV0dXJuIGNyZWF0ZVVuYXJjaGl2ZXIoZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKTsKIH0KIAor
Ym9vbCBJbmplY3RlZEJ1bmRsZTo6ZGVjb2RlQnVuZGxlUGFyYW1ldGVycyhBUEk6OkRhdGEqIGJ1
bmRsZVBhcmFtZXRlckRhdGFQdHIpCit7CisgICAgaWYgKCFidW5kbGVQYXJhbWV0ZXJEYXRhUHRy
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8gdW5hcmNoaXZlciA9IGNyZWF0ZVVu
YXJjaGl2ZXIoKmJ1bmRsZVBhcmFtZXRlckRhdGFQdHIpOworCisgICAgTlNEaWN0aW9uYXJ5ICpk
aWN0aW9uYXJ5ID0gbmlsOworICAgIEB0cnkgeworICAgICAgICBkaWN0aW9uYXJ5ID0gW3VuYXJj
aGl2ZXIuZ2V0KCkgZGVjb2RlT2JqZWN0T2ZDbGFzc2VzOmNsYXNzZXNGb3JDb2RlcigpIGZvcktl
eTpAInBhcmFtZXRlcnMiXTsKKyAgICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xh
c3M6W05TRGljdGlvbmFyeSBjbGFzc11dKTsKKyAgICB9IEBjYXRjaCAoTlNFeGNlcHRpb24gKmV4
Y2VwdGlvbikgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWNvZGUgYnVuZGxlIHBh
cmFtZXRlcnM6ICVALiIgLCBleGNlcHRpb24pOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorICAgIAorICAgIEFTU0VSVCghbV9idW5kbGVQYXJhbWV0ZXJzIHx8IG1fYnVuZGxlUGFyYW1l
dGVycy5nZXQoKSk7CisgICAgbV9idW5kbGVQYXJhbWV0ZXJzID0gYWRvcHROUyhbW1dLV2ViUHJv
Y2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoRGljdGlvbmFyeTpkaWN0aW9uYXJ5
XSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxp
emUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgQVBJOjpP
YmplY3QqIGluaXRpYWxpemF0aW9uVXNlckRhdGEpCiB7CiAgICAgaWYgKG1fc2FuZGJveEV4dGVu
c2lvbikgewpAQCAtMTIxLDE0ICsxNDIsMTcgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlh
bGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgV0tCdW5kbGVBZGRpdGlvbmFsQ2xhc3Nl
c0ZvclBhcmFtZXRlckNvZGVyRnVuY3Rpb25QdHIgYWRkaXRpb25hbENsYXNzZXNGb3JQYXJhbWV0
ZXJDb2RlckZ1bmN0aW9uID0gbnVsbHB0cjsKICAgICBXS0J1bmRsZUluaXRpYWxpemVGdW5jdGlv
blB0ciBpbml0aWFsaXplRnVuY3Rpb24gPSBudWxscHRyOwogICAgIGlmIChSZXRhaW5QdHI8Q0ZV
UkxSZWY+IGV4ZWN1dGFibGVVUkwgPSBhZG9wdENGKENGQnVuZGxlQ29weUV4ZWN1dGFibGVVUkwo
W21fcGxhdGZvcm1CdW5kbGUgX2NmQnVuZGxlXSkpKSB7CiAgICAgICAgIHN0YXRpYyBjb25zdGV4
cHIgc2l6ZV90IG1heFBhdGhTaXplID0gNDA5NjsKICAgICAgICAgY2hhciBwYXRoVG9FeGVjdXRh
YmxlW21heFBhdGhTaXplXTsKICAgICAgICAgaWYgKENGVVJMR2V0RmlsZVN5c3RlbVJlcHJlc2Vu
dGF0aW9uKGV4ZWN1dGFibGVVUkwuZ2V0KCksIHRydWUsIGJpdHdpc2VfY2FzdDx1aW50OF90Kj4o
cGF0aFRvRXhlY3V0YWJsZSksIG1heFBhdGhTaXplKSkgewogICAgICAgICAgICAgLy8gV2UgZG9u
J3QgaG9sZCBvbnRvIHRoaXMgaGFuZGxlIGFueXdoZXJlIG1vcmUgcGVybWFuZW50IHNpbmNlIHdl
IG5ldmVyIGRsY29zZS4KLSAgICAgICAgICAgIGlmICh2b2lkKiBoYW5kbGUgPSBkbG9wZW4ocGF0
aFRvRXhlY3V0YWJsZSwgUlRMRF9MQVpZIHwgUlRMRF9HTE9CQUwgfCBSVExEX0ZJUlNUKSkKKyAg
ICAgICAgICAgIGlmICh2b2lkKiBoYW5kbGUgPSBkbG9wZW4ocGF0aFRvRXhlY3V0YWJsZSwgUlRM
RF9MQVpZIHwgUlRMRF9HTE9CQUwgfCBSVExEX0ZJUlNUKSkgeworICAgICAgICAgICAgICAgIGFk
ZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXJGdW5jdGlvbiA9IGJpdHdpc2VfY2FzdDxX
S0J1bmRsZUFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXJGdW5jdGlvblB0cj4oZGxz
eW0oaGFuZGxlLCAiV0tCdW5kbGVBZGRpdGlvbmFsQ2xhc3Nlc0ZvclBhcmFtZXRlckNvZGVyIikp
OwogICAgICAgICAgICAgICAgIGluaXRpYWxpemVGdW5jdGlvbiA9IGJpdHdpc2VfY2FzdDxXS0J1
bmRsZUluaXRpYWxpemVGdW5jdGlvblB0cj4oZGxzeW0oaGFuZGxlLCAiV0tCdW5kbGVJbml0aWFs
aXplIikpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogICAgICAgICAKQEAgLTEz
OSwxOSArMTYzLDE0IEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUoY29uc3QgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywKICAgICAgICAgfQogICAgIH0K
IAotICAgIGlmIChwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEpIHsKLSAgICAgICAgTlNE
aWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0gbmlsOwotICAgICAgICBhdXRvIHVuYXJjaGl2ZXIgPSBj
cmVhdGVVbmFyY2hpdmVyKCpwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEpOwotICAgICAg
ICBAdHJ5IHsKLSAgICAgICAgICAgIGRpY3Rpb25hcnkgPSBbdW5hcmNoaXZlciBkZWNvZGVPYmpl
Y3RPZkNsYXNzOltOU09iamVjdCBjbGFzc10gZm9yS2V5OkAicGFyYW1ldGVycyJdOwotICAgICAg
ICAgICAgQVNTRVJUKFtkaWN0aW9uYXJ5IGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFz
c11dKTsKLSAgICAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKLSAgICAg
ICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRlY29kZSBidW5kbGUgcGFyYW1ldGVyczogJUAi
LCBleGNlcHRpb24pOwotICAgICAgICB9CisgICAgaWYgKCFhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBh
cmFtZXRlckNvZGVyRnVuY3Rpb24pCisgICAgICAgIGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1l
dGVyQ29kZXJGdW5jdGlvbiA9IGJpdHdpc2VfY2FzdDxXS0J1bmRsZUFkZGl0aW9uYWxDbGFzc2Vz
Rm9yUGFyYW1ldGVyQ29kZXJGdW5jdGlvblB0cj4oQ0ZCdW5kbGVHZXRGdW5jdGlvblBvaW50ZXJG
b3JOYW1lKFttX3BsYXRmb3JtQnVuZGxlIF9jZkJ1bmRsZV0sIENGU1RSKCJXS0J1bmRsZUFkZGl0
aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIiKSkpOwogCi0gICAgICAgIEFTU0VSVCghbV9i
dW5kbGVQYXJhbWV0ZXJzKTsKLSAgICAgICAgbV9idW5kbGVQYXJhbWV0ZXJzID0gYWRvcHROUyhb
W1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMgYWxsb2NdIGluaXRXaXRoRGljdGlvbmFyeTpk
aWN0aW9uYXJ5XSk7Ci0gICAgfQorICAgIC8vIFVwZGF0ZSBsaXN0IG9mIHZhbGlkIGNsYXNzZXMg
Zm9yIHRoZSBwYXJhbWV0ZXIgY29kZXIKKyAgICBpZiAoYWRkaXRpb25hbENsYXNzZXNGb3JQYXJh
bWV0ZXJDb2RlckZ1bmN0aW9uKQorICAgICAgICBhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBhcmFtZXRl
ckNvZGVyRnVuY3Rpb24odG9BUEkodGhpcyksIHRvQVBJKGluaXRpYWxpemF0aW9uVXNlckRhdGEp
KTsKKworICAgIGRlY29kZUJ1bmRsZVBhcmFtZXRlcnMocGFyYW1ldGVycy5idW5kbGVQYXJhbWV0
ZXJEYXRhLmdldCgpKTsKICAgICAKICNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJf
QkxPQ0tJTkcpCiAgICAgLy8gU3dpenpsZSBbTlNFdmVudCBtb2RpZmVyRmxhZ3NdLCBzaW5jZSBp
dCBhbHdheXMgcmV0dXJucyAwIHdoZW4gdGhlIFdpbmRvd1NlcnZlciBpcyBibG9ja2VkLgpAQCAt
MTg5LDYgKzIwOCwxMSBAQCBib29sIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKGNvbnN0IFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsCiAgICAgV0tXZWJQcm9jZXNz
UGx1Z0luQ29udHJvbGxlciogcGx1Z0luQ29udHJvbGxlciA9IFdlYktpdDo6d3JhcHBlcigqdGhp
cyk7CiAgICAgW3BsdWdJbkNvbnRyb2xsZXIgX3NldFByaW5jaXBhbENsYXNzSW5zdGFuY2U6aW5z
dGFuY2VdOwogCisgICAgaWYgKFtpbnN0YW5jZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KGFkZGl0aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXIpXSkgeworICAgICAgICBbcGx1Z0lu
Q29udHJvbGxlciBleHRlbmRDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI6W2luc3RhbmNlIGFkZGl0
aW9uYWxDbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXJdXTsKKyAgICAgICAgZGVjb2RlQnVuZGxlUGFy
YW1ldGVycyhwYXJhbWV0ZXJzLmJ1bmRsZVBhcmFtZXRlckRhdGEuZ2V0KCkpOworICAgIH0KKwog
ICAgIGlmIChbaW5zdGFuY2UgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNz
UGx1Z0luOmluaXRpYWxpemVXaXRoT2JqZWN0OildKSB7CiAgICAgICAgIFJldGFpblB0cjxpZD4g
b2JqQ0luaXRpYWxpemF0aW9uVXNlckRhdGE7CiAgICAgICAgIGlmIChpbml0aWFsaXphdGlvblVz
ZXJEYXRhICYmIGluaXRpYWxpemF0aW9uVXNlckRhdGEtPnR5cGUoKSA9PSBBUEk6Ok9iamVjdDo6
VHlwZTo6T2JqQ09iamVjdEdyYXBoKQpAQCAtMjY1LDcgKzI4OSw3IEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OnNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1
ZSkKICAgICBOU0RpY3Rpb25hcnkgKnBhcmFtZXRlcnMgPSBuaWw7CiAgICAgYXV0byB1bmFyY2hp
dmVyID0gY3JlYXRlVW5hcmNoaXZlcih2YWx1ZSk7CiAgICAgQHRyeSB7Ci0gICAgICAgIHBhcmFt
ZXRlcnMgPSBbdW5hcmNoaXZlciBkZWNvZGVPYmplY3RPZkNsYXNzOltOU0RpY3Rpb25hcnkgY2xh
c3NdIGZvcktleTpAInBhcmFtZXRlcnMiXTsKKyAgICAgICAgcGFyYW1ldGVycyA9IFt1bmFyY2hp
dmVyIGRlY29kZU9iamVjdE9mQ2xhc3NlczpjbGFzc2VzRm9yQ29kZXIoKSBmb3JLZXk6QCJwYXJh
bWV0ZXJzIl07CiAgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKICAgICAg
ICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZGVjb2RlIGJ1bmRsZSBwYXJhbWV0ZXI6ICVAIiwgZXhj
ZXB0aW9uKTsKICAgICB9CkBAIC0yNzMsNiArMjk3LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
c2V0QnVuZGxlUGFyYW1ldGVycyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlKQogICAg
IGlmICghcGFyYW1ldGVycykKICAgICAgICAgcmV0dXJuOwogCisgICAgUkVMRUFTRV9BU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihbcGFyYW1ldGVycyBpc0tpbmRPZkNsYXNzOltOU0Rp
Y3Rpb25hcnkgY2xhc3NdXSk7CisKICAgICBpZiAoIW1fYnVuZGxlUGFyYW1ldGVycykgewogICAg
ICAgICBtX2J1bmRsZVBhcmFtZXRlcnMgPSBhZG9wdE5TKFtbV0tXZWJQcm9jZXNzQnVuZGxlUGFy
YW1ldGVycyBhbGxvY10gaW5pdFdpdGhEaWN0aW9uYXJ5OnBhcmFtZXRlcnNdKTsKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGMzZjNkNDlmNTE3NzMxZWFjMDRkZDJiNGY3MjhlZjI2OGI0OGIwM2MuLmE2YTIwYzljYTNm
OTI3ODg2ZTU3ZmIwN2FkM2YwZWM3MWQ2NzFkNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNC0xMyAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBJbmplY3RlZEJ1bmRs
ZSBwYXJhbWV0ZXJzIG9mdGVuIG5lZWQgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gY2FsbGVkIGJl
Zm9yZSB1bmFyY2hpdmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg5NzA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDU3MzY1Mz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L2NvY29hL1dlYlByb2Nlc3NQbHVnSW4vV2ViUHJvY2Vzc1BsdWdJbi5tbToKKyAgICAgICAgKC1b
V2ViUHJvY2Vzc1BsdWdJbiBhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBhcmFtZXRlckNvZGVyXSk6IEFk
ZGVkLgorCiAyMDIwLTA0LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUu
Y29tPgogCiAgICAgICAgIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91
bmQtZG9tYWluLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlIG9uIGlPUwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9XZWJQcm9jZXNzUGx1Z0luL1dlYlByb2Nlc3NQbHVn
SW4ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1dlYlByb2Nlc3NQbHVnSW4vV2ViUHJv
Y2Vzc1BsdWdJbi5tbQppbmRleCA0MDc0NmFiNGQwNzljYjgzZmNkMTJkOTk0NTljZWU1OTUwNWE3
YTAzLi4zNjNhZDFmZjY0NjY2ZWQ4NmE1NTVmOGVhZDVhZjBlYzFlODBkOTc3IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1dlYlByb2Nlc3NQbHVnSW4vV2ViUHJvY2Vzc1Bs
dWdJbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1dlYlByb2Nlc3NQbHVnSW4v
V2ViUHJvY2Vzc1BsdWdJbi5tbQpAQCAtMzYsNiArMzYsMTEgQEAgQGltcGxlbWVudGF0aW9uIFdl
YlByb2Nlc3NQbHVnSW4gewogICAgIFJldGFpblB0cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luPj4g
X3Rlc3RQbHVnSW47CiB9CiAKKy0gKE5TQXJyYXkgKilhZGRpdGlvbmFsQ2xhc3Nlc0ZvclBhcmFt
ZXRlckNvZGVyCit7CisgICAgcmV0dXJuIEBbQCJNb2NrQ29udGVudEZpbHRlckVuYWJsZXIiXTsK
K30KKwogLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9s
bGVyICopcGx1Z0luQ29udHJvbGxlciBpbml0aWFsaXplV2l0aE9iamVjdDooaWQpaW5pdGlhbGl6
YXRpb25PYmplY3QKIHsKICAgICBOU1N0cmluZyAqdGVzdFBsdWdJbkNsYXNzTmFtZSA9IFtwbHVn
SW5Db250cm9sbGVyLnBhcmFtZXRlcnMgdmFsdWVGb3JLZXk6VGVzdFdlYktpdEFQSTo6VXRpbDo6
VGVzdFBsdWdJbkNsYXNzTmFtZVBhcmFtZXRlcl07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>