<?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>187805</bug_id>
          
          <creation_ts>2018-07-19 09:13:04 -0700</creation_ts>
          <short_desc>Release assert when throwing exceptions in custom element reactions</short_desc>
          <delta_ts>2018-08-03 16:22:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://html.spec.whatwg.org/multipage/custom-elements.html#cereactions</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>188277</dependson>
          <blocked>154907</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>d</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mark.lam</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1443369</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-07-19 09:13:04 -0700</bug_when>
    <thetext>Crash test: https://w3c-test.org/custom-elements/reactions/with-exceptions.html

#0  0x00007fdcc8648acc in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:267
#1  0x00007fdcd32f104a in JSC::ExceptionScope::assertNoException (this=0x7ffc0c172fa0)
    at DerivedSources/ForwardingHeaders/JavaScriptCore/ExceptionScope.h:46
#2  0x00007fdcc801517d in JSC::Interpreter::executeCall (this=0x7fdcb26ff7a8, callFrame=0x7fdc606ddfa8, 
    function=0x7fdc4566a8b0, callType=&lt;incomplete type&gt;, callData=..., thisValue=..., args=...)
    at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:973
#3  0x00007fdcc824763e in JSC::call (exec=0x7fdc606ddfa8, functionObject=..., callType=&lt;incomplete type&gt;, callData=..., 
    thisValue=..., args=...) at ../../Source/JavaScriptCore/runtime/CallData.cpp:41
#4  0x00007fdcc82476fb in JSC::call (exec=0x7fdc606ddfa8, functionObject=..., callType=&lt;incomplete type&gt;, callData=..., 
    thisValue=..., args=..., returnedException=...) at ../../Source/JavaScriptCore/runtime/CallData.cpp:48
#5  0x00007fdcd3c737d8 in (anonymous namespace)::JSMainThreadExecState::call (exec=0x7fdc606ddfa8, functionObject=..., 
    callType=&lt;incomplete type&gt;, callData=..., thisValue=..., args=..., returnedException=...)
    at ../../Source/WebCore/bindings/js/JSMainThreadExecState.h:54
#6  0x00007fdcd3c6fc67 in (anonymous namespace)::JSCustomElementInterface::invokeCallback((anonymous namespace)::Element &amp;, JSC::JSObject *, const WTF::Function&lt;void(JSC::ExecState*, WebCore::JSDOMGlobalObject*, JSC::MarkedArgumentBuffer&amp;)&gt; &amp;) (
    this=0x7fdc542a1630, element=..., callback=0x7fdc4566a8b0, addArguments=...)
    at ../../Source/WebCore/bindings/js/JSCustomElementInterface.cpp:254
#7  0x00007fdcd3c6fe6e in (anonymous namespace)::JSCustomElementInterface::invokeDisconnectedCallback (this=0x7fdc542a1630, 
    element=...) at ../../Source/WebCore/bindings/js/JSCustomElementInterface.cpp:279
#8  0x00007fdcd3fc79c6 in (anonymous namespace)::CustomElementReactionQueueItem::invoke (this=0x7fdcb2660380, element=..., 
    elementInterface=...) at ../../Source/WebCore/dom/CustomElementReactionQueue.cpp:82
#9  0x00007fdcd3fc3b25 in (anonymous namespace)::CustomElementReactionQueue::invokeAll (this=0x55d0007d83e0, element=...)
    at ../../Source/WebCore/dom/CustomElementReactionQueue.cpp:209
#10 0x00007fdcd3fc7c88 in (anonymous namespace)::CustomElementReactionStack::ElementQueue::invokeAll (this=0x55d000863a40)
    at ../../Source/WebCore/dom/CustomElementReactionQueue.cpp:230
#11 0x00007fdcd3fc3c6c in (anonymous namespace)::CustomElementReactionStack::processQueue (this=0x7ffc0c173500)
    at ../../Source/WebCore/dom/CustomElementReactionQueue.cpp:256
#12 0x00007fdcd2e232f3 in (anonymous namespace)::CustomElementReactionStack::~CustomElementReactionStack (this=0x7ffc0c173500, 
    __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/dom/CustomElementReactionQueue.h:74
#13 0x00007fdcd541da20 in (anonymous namespace)::jsCharacterDataPrototypeFunctionBeforeBody (state=0x7ffc0c173600, 
    castedThis=0x7fdc60663c20, throwScope=...) at DerivedSources/WebCore/JSCharacterData.cpp:384
#14 0x00007fdcd5423818 in (anonymous namespace)::IDLOperation&lt;WebCore::JSCharacterData&gt;::call&lt;WebCore::jsCharacterDataPrototypeFunctionBeforeBody&gt; (state=..., operationName=0x7fdcd803d533 &quot;before&quot;) at ../../Source/WebCore/bindings/js/JSDOMOperation.h:53
#15 0x00007fdcd541da49 in (anonymous namespace)::jsCharacterDataPrototypeFunctionBefore (state=0x7ffc0c173600)
    at DerivedSources/WebCore/JSCharacterData.cpp:394</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443727</commentid>
    <comment_count>1</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-07-20 02:25:16 -0700</bug_when>
    <thetext>*** Bug 179805 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443782</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-20 09:44:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/42432714&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447521</commentid>
    <comment_count>3</comment_count>
      <attachid>346454</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-02 22:02:50 -0700</bug_when>
    <thetext>Created attachment 346454
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447522</commentid>
    <comment_count>4</comment_count>
      <attachid>346454</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-08-02 22:07:55 -0700</bug_when>
    <thetext>Comment on attachment 346454
Fixes the bug

Attachment 346454 did not pass bindings-ews (mac):
Output: https://webkit-queues.webkit.org/results/8745999

New failing tests:
(JS) JSTestCEReactions.cpp
(JS) JSTestCEReactionsStringifier.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447526</commentid>
    <comment_count>5</comment_count>
      <attachid>346455</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-02 22:25:51 -0700</bug_when>
    <thetext>Created attachment 346455
Rebaselined bindings tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447535</commentid>
    <comment_count>6</comment_count>
      <attachid>346455</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-08-03 00:01:27 -0700</bug_when>
    <thetext>Comment on attachment 346455
Rebaselined bindings tests

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

&gt; LayoutTests/imported/w3c/ChangeLog:22
&gt; +

Duplicated changelog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447536</commentid>
    <comment_count>7</comment_count>
      <attachid>346460</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 00:13:16 -0700</bug_when>
    <thetext>Created attachment 346460
Fixed the change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447537</commentid>
    <comment_count>8</comment_count>
      <attachid>346460</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-08-03 00:25:14 -0700</bug_when>
    <thetext>Comment on attachment 346460
Fixed the change log

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

&gt; Source/WebCore/dom/CustomElementReactionQueue.cpp:251
&gt; +        invokeAll();

- Does this already clear any exception that may be thrown when running it?
- If so, it can be moved out of the block</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447538</commentid>
    <comment_count>9</comment_count>
      <attachid>346460</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2018-08-03 00:26:13 -0700</bug_when>
    <thetext>Comment on attachment 346460
Fixed the change log

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

I&apos;m not really familiar with the JSC API, but this LGTM from my understanding of the custom element spec.

&gt; Source/WebCore/dom/CustomElementReactionQueue.h:89
&gt; +    ALWAYS_INLINE CustomElementReactionStack(JSC::ExecState* state)

Is the by-pointer version ever used elsewhere than to define the by-reference version?

&gt; LayoutTests/ChangeLog:3
&gt; +        Crash when throwing exceptions in custom element reactions

And this and below you might want to change to the current bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447540</commentid>
    <comment_count>10</comment_count>
      <attachid>346460</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 00:28:58 -0700</bug_when>
    <thetext>Comment on attachment 346460
Fixed the change log

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

&gt;&gt; Source/WebCore/dom/CustomElementReactionQueue.cpp:251
&gt;&gt; +        invokeAll();
&gt; 
&gt; - Does this already clear any exception that may be thrown when running it?
&gt; - If so, it can be moved out of the block

Yes. Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447541</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 00:29:49 -0700</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #9)
&gt; Comment on attachment 346460 [details]
&gt; Fixed the change log
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=346460&amp;action=review
&gt; 
&gt; I&apos;m not really familiar with the JSC API, but this LGTM from my
&gt; understanding of the custom element spec.
&gt; 
&gt; &gt; Source/WebCore/dom/CustomElementReactionQueue.h:89
&gt; &gt; +    ALWAYS_INLINE CustomElementReactionStack(JSC::ExecState* state)
&gt; 
&gt; Is the by-pointer version ever used elsewhere than to define the
&gt; by-reference version?

It&apos;s used in CustomElementReactionQueue::processBackupQueue() and JSMainThreadNullState.

&gt; &gt; LayoutTests/ChangeLog:3
&gt; &gt; +        Crash when throwing exceptions in custom element reactions
&gt; 
&gt; And this and below you might want to change to the current bug title.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447542</commentid>
    <comment_count>12</comment_count>
      <attachid>346461</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 00:34:15 -0700</bug_when>
    <thetext>Created attachment 346461
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447543</commentid>
    <comment_count>13</comment_count>
      <attachid>346461</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 00:34:25 -0700</bug_when>
    <thetext>Comment on attachment 346461
Patch for landing

Wait for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447551</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 01:16:50 -0700</bug_when>
    <thetext>Committed r234539: &lt;https://trac.webkit.org/changeset/234539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447620</commentid>
    <comment_count>15</comment_count>
      <attachid>346461</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-03 08:06:14 -0700</bug_when>
    <thetext>Comment on attachment 346461
Patch for landing

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

&gt; Source/WebCore/bindings/js/JSMainThreadExecState.h:164
&gt;      explicit JSMainThreadNullState()
&gt;          : m_previousState(JSMainThreadExecState::s_mainThreadState)
&gt; +        , m_customElementReactionStack(m_previousState)

Is this change necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447817</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-08-03 16:13:26 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #15)
&gt; Comment on attachment 346461 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=346461&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSMainThreadExecState.h:164
&gt; &gt;      explicit JSMainThreadNullState()
&gt; &gt;          : m_previousState(JSMainThreadExecState::s_mainThreadState)
&gt; &gt; +        , m_customElementReactionStack(m_previousState)
&gt; 
&gt; Is this change necessary?

Yes, if Objective-C DOM is used within a delegate callback while there is a JS exception in the stack, then we&apos;d have to clear &amp; rethrow that exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447821</commentid>
    <comment_count>17</comment_count>
      <attachid>346461</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-03 16:22:49 -0700</bug_when>
    <thetext>Comment on attachment 346461
Patch for landing

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

&gt;&gt;&gt; Source/WebCore/bindings/js/JSMainThreadExecState.h:164
&gt;&gt;&gt; +        , m_customElementReactionStack(m_previousState)
&gt;&gt; 
&gt;&gt; Is this change necessary?
&gt; 
&gt; Yes, if Objective-C DOM is used within a delegate callback while there is a JS exception in the stack, then we&apos;d have to clear &amp; rethrow that exception.

Ah, ignore me. I thought this field should be touched elsewhere, but I overlooked the constructor/destructor of m_customElementReactionStack have the side-effect.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346454</attachid>
            <date>2018-08-02 22:02:50 -0700</date>
            <delta_ts>2018-08-02 22:25:50 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-187805-20180802220249.patch</filename>
            <type>text/plain</type>
            <size>13608</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA4LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbGVhc2UgYXNzZXJ0IHdoZW4g
dGhyb3dpbmcgZXhjZXB0aW9ucyBpbiBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDI0MzI3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlbGVhc2UgYXNzZXJ0aW9uIHdhcyBoaXQgYmVjYXVzZSB3
ZSB3ZXJlIG5vdCBjYXRjaGluZyAmIHJlLXRocm93aW5nIHRoZSBleGNlcHRpb24gdGhyb3duIGJ5
IERPTSBBUEkKKyAgICAgICAgYmVmb3JlIHRyeWluZyB0byBleGVjdXRlIGN1c3RvbSBlbGVtZW50
cyByZWFjdGlvbnMgaW4gfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGFzIHNwZWNpZmllZCBo
ZXJlOgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0
b20tZWxlbWVudHMuaHRtbCNjZXJlYWN0aW9ucworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IGNh
cHR1cmluZyB0aGUgZXhjZXB0aW9uIGFuZCByZS10aHJvd2luZyB0aGUgZXhjZXB0aW9uIGFzIHNw
ZWNpZmllZC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5odG1sCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlKTogVXNlIHRo
ZSBwcmV2aW91cyBKUyBzdGF0ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHV0KTogUGFzcyBpbiB0aGUgZXhlYyBzdGF0
ZSB0byBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjay4KKyAgICAgICAgKEdlbmVyYXRlUHV0QnlJ
bmRleCk6IERpdHRvLgorICAgICAgICAoR2VuZXJhdGVEZWZpbmVPd25Qcm9wZXJ0eSk6IERpdHRv
LgorICAgICAgICAoR2VuZXJhdGVEZWxldGVQcm9wZXJ0eUNvbW1vbik6IERpdHRvLgorICAgICAg
ICAoR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAg
ICAoR2VuZXJhdGVPcGVyYXRpb25Cb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAgICAqIGRv
bS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXN0
b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlOjpwcm9jZXNzUXVldWUpOiBBZGRl
ZC4gSWYgdGhlcmUgaXMgYSBzY3JpcHQgcnVubmluZworICAgICAgICBpbiB0aGUgc3RhY2sgKGku
ZS4gRXhlY1N0YXRlIGlzIG5vdCBudWxsKSwgY2F0Y2ggYW55IGV4Y2VwdGlvbiBiZWZvcmUgZXhl
Y3V0aW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucywKKyAgICAgICAgdGhlbiByZS10aHJvdyB0
aGUgZXhjZXB0aW9uIGFmdGVyd2FyZHMuIEV4ZWNTdGF0ZSBpcyBudWxsIHdoZW4gRE9NIEFQSSBp
cyBpbnZva2VkIHZpYSBPYmplY3RpdmUtQyBiaW5kaW5ncworICAgICAgICBvciB3aGVuIGN1c3Rv
bSBlbGVtZW50IHJlYWN0aW9ucyBhcmUgZXhlY3V0ZWQgaW4gdGhlIGJhY2t1cCBxdWV1ZSAoZS5n
LiBmb3IgZWRpdGluZyBvcGVyYXRpb25zKS4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1l
bnRSZWFjdGlvblN0YWNrOjpwcm9jZXNzUXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9t
RWxlbWVudFJlYWN0aW9uUXVldWU6OnByb2Nlc3NCYWNrdXBRdWV1ZSk6CisgICAgICAgICogZG9t
L0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21F
bGVtZW50UmVhY3Rpb25TdGFjazo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s6On5DdXN0b21FbGVtZW50UmVh
Y3Rpb25TdGFjayk6CisKIDIwMTgtMDgtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgTW92ZSBxdWV1ZSBwcm9jZXNzaW5nIGxvZ2ljIGZyb20gQ3VzdG9tRWxl
bWVudFJlYWN0aW9uU3RhY2sgdG8gQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5o
CShyZXZpc2lvbiAyMzQ1MjApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5U
aHJlYWRFeGVjU3RhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDYgKzE2MSw3IEBAIGNsYXNz
IEpTTWFpblRocmVhZE51bGxTdGF0ZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSlNNYWluVGhy
ZWFkTnVsbFN0YXRlKCkKICAgICAgICAgOiBtX3ByZXZpb3VzU3RhdGUoSlNNYWluVGhyZWFkRXhl
Y1N0YXRlOjpzX21haW5UaHJlYWRTdGF0ZSkKKyAgICAgICAgLCBtX2N1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrKG1fcHJldmlvdXNTdGF0ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgICAgIEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6c19tYWluVGhyZWFkU3Rh
dGUgPSBudWxscHRyOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC05MzIsNyArOTMyLDcgQEAgc3ViIEdlbmVyYXRlUHV0CiAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxu
Iik7CiAgICAgCiAgICAgaWYgKCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVy
T3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhl
ZFNldHRlck9wZXJhdGlvbiAmJiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Q0VSZWFjdGlvbnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7
XG5cbiIpOworICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAg
ICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7
CiAgICAgfQogICAgIApAQCAtMTAwNCw3ICsxMDA0LDcgQEAgc3ViIEdlbmVyYXRlUHV0QnlJbmRl
eAogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRT
KHRoaXNPYmplY3QsIGluZm8oKSk7XG5cbiIpOwogICAgIAogICAgIGlmICgoJG5hbWVkU2V0dGVy
T3BlcmF0aW9uICYmICRuYW1lZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
Q0VSZWFjdGlvbnN9KSB8fCAoJGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24gJiYgJGluZGV4ZWRTZXR0
ZXJPcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25zfSkpIHsKLSAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1
c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xuXG4iKTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlv
blN0YWNrKCpzdGF0ZSk7XG5cbiIpOwogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9t
RWxlbWVudFJlYWN0aW9uUXVldWUuaCIpOwogICAgIH0KICAgICAKQEAgLTExMDAsNyArMTEwMCw3
IEBAIHN1YiBHZW5lcmF0ZURlZmluZU93blByb3BlcnR5CiAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxu
Iik7CiAgICAgCiAgICAgaWYgKCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVy
T3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhl
ZFNldHRlck9wZXJhdGlvbiAmJiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Q0VSZWFjdGlvbnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7
XG5cbiIpOworICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAg
ICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7
CiAgICAgfQogICAgIApAQCAtMTIyNCw3ICsxMjI0LDcgQEAgc3ViIEdlbmVyYXRlRGVsZXRlUHJv
cGVydHlDb21tb24KICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKGlzVmlzaWJsZU5h
bWVkUHJvcGVydHk8JHtvdmVycmlkZUJ1aWx0aW59Pigqc3RhdGUsIHRoaXNPYmplY3QsIHByb3Bl
cnR5TmFtZSkpIHtcbiIpOwogCiAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRl
cy0+e0NFUmVhY3Rpb25zfSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAg
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xu
Iik7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgQ3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcbiIpOwogICAg
ICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIsICRj
b25kaXRpb25hbCk7CiAgICAgfQogCkBAIC00ODQ0LDcgKzQ4NDQsNyBAQCBzdWIgR2VuZXJhdGVB
dHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTtcbiIpOwogICAgIAogICAgIGlmICgkYXR0cmlidXRl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHsKLSAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRS
ZWFjdGlvblN0YWNrO1xuIik7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBDdXN0
b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7
XG4iKTsKICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1
ZXVlLmgiLCAkY29uZGl0aW9uYWwpOwogICAgIH0KICAgICAKQEAgLTUwNzAsNyArNTA3MCw3IEBA
IHN1YiBHZW5lcmF0ZU9wZXJhdGlvbkJvZHlEZWZpbml0aW9uCiAgICAgaWYgKCEkZ2VuZXJhdGlu
Z092ZXJsb2FkRGlzcGF0Y2hlcikgewogICAgICAgICBpZiAoJG9wZXJhdGlvbi0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57Q0VSZWFjdGlvbnN9KSB7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRl
cygiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sg
Y3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVh
Y3Rpb25TdGFjaygqc3RhdGUpO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q2hlY2tTZWN1cml0eX0gYW5kICEkb3BlcmF0aW9u
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHl9KSB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5jcHAJKHJl
dmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rp
b25RdWV1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJK
U0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNp
bmNsdWRlICJNaWNyb3Rhc2tzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ2F0Y2hTY29w
ZS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXAuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KQEAgLTIzMSw2ICsyMzIs
MzAgQEAgaW5saW5lIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OgogICAgIFJFTEVB
U0VfQVNTRVJUKG1fZWxlbWVudHMuaXNFbXB0eSgpKTsKIH0KIAoraW5saW5lIHZvaWQgQ3VzdG9t
RWxlbWVudFJlYWN0aW9uUXVldWU6OkVsZW1lbnRRdWV1ZTo6cHJvY2Vzc1F1ZXVlKEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBpZiAoIXN0YXRlKSB7CisgICAgICAgIGludm9rZUFsbCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byYgdm0gPSBzdGF0ZS0+dm0oKTsK
KyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKworICAgIEpTQzo6RXhjZXB0aW9uKiBw
cmV2aW91c0V4Y2VwdGlvbiA9IG51bGxwdHI7CisgICAgeworICAgICAgICBhdXRvIGNhdGNoU2Nv
cGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICAgICAgcHJldmlvdXNFeGNlcHRpb24g
PSBjYXRjaFNjb3BlLmV4Y2VwdGlvbigpOworICAgICAgICBpZiAocHJldmlvdXNFeGNlcHRpb24p
CisgICAgICAgICAgICBjYXRjaFNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgIGludm9r
ZUFsbCgpOworICAgIH0KKyAgICBpZiAocHJldmlvdXNFeGNlcHRpb24pIHsKKyAgICAgICAgYXV0
byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgICAgIHRocm93RXhj
ZXB0aW9uKHN0YXRlLCB0aHJvd1Njb3BlLCBwcmV2aW91c0V4Y2VwdGlvbik7CisgICAgfQorfQor
CiBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZSYgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6
OmVuc3VyZUN1cnJlbnRRdWV1ZShFbGVtZW50JiBlbGVtZW50KQogewogICAgIEFTU0VSVChlbGVt
ZW50LnJlYWN0aW9uUXVldWUoKSk7CkBAIC0yNDksMTAgKzI3NCwxMCBAQCBDdXN0b21FbGVtZW50
UmVhY3Rpb25RdWV1ZSYgQ3VzdG9tRWxlbWVuCiAKIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNr
KiBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazo6c19jdXJyZW50UHJvY2Vzc2luZ1N0YWNrID0g
bnVsbHB0cjsKIAotdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazo6cHJvY2Vzc1F1ZXVl
KCkKK3ZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s6OnByb2Nlc3NRdWV1ZShKU0M6OkV4
ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAgQVNTRVJUKG1fcXVldWUpOwotICAgIG1fcXVldWUtPmlu
dm9rZUFsbCgpOworICAgIG1fcXVldWUtPnByb2Nlc3NRdWV1ZShzdGF0ZSk7CiAgICAgZGVsZXRl
IG1fcXVldWU7CiAgICAgbV9xdWV1ZSA9IG51bGxwdHI7CiB9CkBAIC0yODAsNyArMzA1LDcgQEAg
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OkVsZW1lbnRRdWV1ZQogCiB2b2lkIEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblF1ZXVlOjpwcm9jZXNzQmFja3VwUXVldWUoKQogewotICAgIGJhY2t1cEVs
ZW1lbnRRdWV1ZSgpLmludm9rZUFsbCgpOworICAgIGJhY2t1cEVsZW1lbnRRdWV1ZSgpLnByb2Nl
c3NRdWV1ZShudWxscHRyKTsKICAgICBzX3Byb2Nlc3NpbmdCYWNrdXBFbGVtZW50UXVldWUgPSBm
YWxzZTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlv
blF1ZXVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRS
ZWFjdGlvblF1ZXVlLmgJKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9D
dXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSwx
MiBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAorbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEV4ZWNTdGF0ZTsKKworfQorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlSXRlbTsKQEAg
LTYwLDkgKzY2LDExIEBAIHB1YmxpYzoKICAgICBjbGFzcyBFbGVtZW50UXVldWUgewogICAgIHB1
YmxpYzoKICAgICAgICAgdm9pZCBhZGQoRWxlbWVudCYpOwotICAgICAgICB2b2lkIGludm9rZUFs
bCgpOwotICAgICAgICAKKyAgICAgICAgdm9pZCBwcm9jZXNzUXVldWUoSlNDOjpFeGVjU3RhdGUq
KTsKKwogICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgaW52b2tlQWxsKCk7CisKICAgICAgICAg
VmVjdG9yPFJlZjxFbGVtZW50Pj4gbV9lbGVtZW50czsKICAgICAgICAgYm9vbCBtX2ludm9raW5n
IHsgZmFsc2UgfTsKICAgICB9OwpAQCAtNzgsMjQgKzg2LDMwIEBAIHByaXZhdGU6CiAKIGNsYXNz
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIHsKIHB1YmxpYzoKLSAgICBDdXN0b21FbGVtZW50
UmVhY3Rpb25TdGFjaygpCisgICAgQUxXQVlTX0lOTElORSBDdXN0b21FbGVtZW50UmVhY3Rpb25T
dGFjayhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUpCiAgICAgICAgIDogbV9wcmV2aW91c1Byb2Nlc3Np
bmdTdGFjayhzX2N1cnJlbnRQcm9jZXNzaW5nU3RhY2spCisgICAgICAgICwgbV9zdGF0ZShzdGF0
ZSkKICAgICB7CiAgICAgICAgIHNfY3VycmVudFByb2Nlc3NpbmdTdGFjayA9IHRoaXM7CiAgICAg
fQogCi0gICAgfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCkKKyAgICBBTFdBWVNfSU5MSU5F
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSkKKyAgICAg
ICAgOiBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygmc3RhdGUpCisgICAgeyB9CisKKyAgICBB
TFdBWVNfSU5MSU5FIH5DdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygpCiAgICAgewogICAgICAg
ICBpZiAoVU5MSUtFTFkobV9xdWV1ZSkpCi0gICAgICAgICAgICBwcm9jZXNzUXVldWUoKTsKKyAg
ICAgICAgICAgIHByb2Nlc3NRdWV1ZShtX3N0YXRlKTsKICAgICAgICAgc19jdXJyZW50UHJvY2Vz
c2luZ1N0YWNrID0gbV9wcmV2aW91c1Byb2Nlc3NpbmdTdGFjazsKICAgICB9CiAKIHByaXZhdGU6
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzUXVldWUoKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHByb2Nlc3NRdWV1ZShKU0M6OkV4ZWNTdGF0ZSopOwogCiAgICAgQ3VzdG9tRWxl
bWVudFJlYWN0aW9uUXVldWU6OkVsZW1lbnRRdWV1ZSogbV9xdWV1ZSB7IG51bGxwdHIgfTsgLy8g
VXNlIHJhdyBwb2ludGVyIHRvIGF2b2lkIGdlbmVyYXRpbmcgZGVsZXRlIGluIHRoZSBkZXN0cnVj
dG9yLgogICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKiBtX3ByZXZpb3VzUHJvY2Vzc2lu
Z1N0YWNrOworICAgIEpTQzo6RXhlY1N0YXRlKiBtX3N0YXRlOwogCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKiBzX2N1cnJlbnRQcm9jZXNzaW5n
U3RhY2s7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUyMCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA4LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIENyYXNoIHdoZW4gdGhyb3dpbmcg
ZXhjZXB0aW9ucyBpbiBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDI0MzI3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVW5za2lwcGVkIHRoZSBwcmV2aW91c2x5IGNyYXNoaW5nIHRlc3QuCisKKyAgICAg
ICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTA4LTAyICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVmb3JtYXQgZWRpdGFibGUgc2VsZWN0
aW9uIHRlc3RzIHRvIHJlbW92ZSBwb3RlbnRpYWwgZmxha2V5bmVzcyBkdWUgdG8gYXV0b3Njcm9s
bApJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMzQ1MjApCisrKyBMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC01NzEsNyArNTcxLDYgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbQogIyBXUFQgdGVzdHMgZm9yIGN1
c3RvbSBlbGVtZW50cwogd2Via2l0Lm9yZy9iLzE4NzgwMCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LXN2Zy5zdmcg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xODc4MDIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci11c2VzLWNyZWF0ZS1hbi1lbGVtZW50
LWZvci1hLXRva2VuLXN2Zy5zdmcgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xODc4MDUgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgt
ZXhjZXB0aW9ucy5odG1sIFsgU2tpcCBdCiAKICMgc2VsZWN0b3JzCiB3ZWJraXQub3JnL2IvNjQ4
NjEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL3NlbGVjdG9y
cy1kaXItc2VsZWN0b3ItbHRyLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUzNykKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBA
QAorMjAxOC0wOC0wMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBDcmFzaCB3aGVuIHRocm93aW5nIGV4Y2VwdGlvbnMgaW4gY3VzdG9tIGVsZW1lbnQgcmVhY3Rp
b25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc4
MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQyNDMyNzE0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdlbmVyYXRlZCB0aGUgZXhwZWN0ZWQgcmVz
dWx0LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKKzIwMTgtMDgtMDIg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiB0
aHJvd2luZyBleGNlcHRpb25zIGluIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3ODA1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80MjQzMjcxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5odG1sOgorCiAyMDE4LTA4LTAxICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBjdXN0b21FbGVtZW50cy51
cGdyYWRlKCkKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFJlYWN0aW9uIG11c3Qg
cnVuIGV2ZW4gYWZ0ZXIgdGhlIGV4Y2VwdGlvbiBpcyB0aHJvd24gCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346455</attachid>
            <date>2018-08-02 22:25:51 -0700</date>
            <delta_ts>2018-08-03 00:13:15 -0700</delta_ts>
            <desc>Rebaselined bindings tests</desc>
            <filename>bug-187805-20180802222550.patch</filename>
            <type>text/plain</type>
            <size>16646</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA4LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbGVhc2UgYXNzZXJ0IHdoZW4g
dGhyb3dpbmcgZXhjZXB0aW9ucyBpbiBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDI0MzI3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlbGVhc2UgYXNzZXJ0aW9uIHdhcyBoaXQgYmVjYXVzZSB3
ZSB3ZXJlIG5vdCBjYXRjaGluZyAmIHJlLXRocm93aW5nIHRoZSBleGNlcHRpb24gdGhyb3duIGJ5
IERPTSBBUEkKKyAgICAgICAgYmVmb3JlIHRyeWluZyB0byBleGVjdXRlIGN1c3RvbSBlbGVtZW50
cyByZWFjdGlvbnMgaW4gfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGFzIHNwZWNpZmllZCBo
ZXJlOgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0
b20tZWxlbWVudHMuaHRtbCNjZXJlYWN0aW9ucworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IGNh
cHR1cmluZyB0aGUgZXhjZXB0aW9uIGFuZCByZS10aHJvd2luZyB0aGUgZXhjZXB0aW9uIGFzIHNw
ZWNpZmllZC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5odG1sCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlKTogVXNlIHRo
ZSBwcmV2aW91cyBKUyBzdGF0ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHV0KTogUGFzcyBpbiB0aGUgZXhlYyBzdGF0
ZSB0byBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjay4KKyAgICAgICAgKEdlbmVyYXRlUHV0QnlJ
bmRleCk6IERpdHRvLgorICAgICAgICAoR2VuZXJhdGVEZWZpbmVPd25Qcm9wZXJ0eSk6IERpdHRv
LgorICAgICAgICAoR2VuZXJhdGVEZWxldGVQcm9wZXJ0eUNvbW1vbik6IERpdHRvLgorICAgICAg
ICAoR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAg
ICAoR2VuZXJhdGVPcGVyYXRpb25Cb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc1NldHRl
cik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RBdHRyaWJ1
dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0Q0VSZWFj
dGlvbnNQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDRVJlYWN0aW9uc0JvZHkpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJW
YWx1ZVNldHRlcik6CisgICAgICAgICogZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjpFbGVtZW50
UXVldWU6OnByb2Nlc3NRdWV1ZSk6IEFkZGVkLiBJZiB0aGVyZSBpcyBhIHNjcmlwdCBydW5uaW5n
CisgICAgICAgIGluIHRoZSBzdGFjayAoaS5lLiBFeGVjU3RhdGUgaXMgbm90IG51bGwpLCBjYXRj
aCBhbnkgZXhjZXB0aW9uIGJlZm9yZSBleGVjdXRpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25z
LAorICAgICAgICB0aGVuIHJlLXRocm93IHRoZSBleGNlcHRpb24gYWZ0ZXJ3YXJkcy4gRXhlY1N0
YXRlIGlzIG51bGwgd2hlbiBET00gQVBJIGlzIGludm9rZWQgdmlhIE9iamVjdGl2ZS1DIGJpbmRp
bmdzCisgICAgICAgIG9yIHdoZW4gY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGFyZSBleGVjdXRl
ZCBpbiB0aGUgYmFja3VwIHF1ZXVlIChlLmcuIGZvciBlZGl0aW5nIG9wZXJhdGlvbnMpLgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s6OnByb2Nlc3NRdWV1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6cHJvY2Vzc0Jh
Y2t1cFF1ZXVlKToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpDdXN0b21FbGVt
ZW50UmVhY3Rpb25TdGFjayk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjazo6fkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKToKKwogMjAxOC0wOC0wMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0JGQ10gQXBwbHkg
dGhlICIxMC42LjYgQ29tcGxpY2F0ZWQgY2FzZXMiIHdoZW4gY29tcHV0aW5nIGhlaWdodCBhbmQg
bWFyZ2luIGZvciB0aGUgZG9jdW1lbnQgcmVuZGVyZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCShyZXZpc2lvbiAyMzQ1
MjApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDYgKzE2MSw3IEBAIGNsYXNzIEpTTWFpblRocmVhZE51
bGxTdGF0ZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSlNNYWluVGhyZWFkTnVsbFN0YXRlKCkK
ICAgICAgICAgOiBtX3ByZXZpb3VzU3RhdGUoSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpzX21haW5U
aHJlYWRTdGF0ZSkKKyAgICAgICAgLCBtX2N1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKG1fcHJl
dmlvdXNTdGF0ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAg
ICAgIEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6c19tYWluVGhyZWFkU3RhdGUgPSBudWxscHRyOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0JKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC05MzIsNyArOTMyLDcg
QEAgc3ViIEdlbmVyYXRlUHV0CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEFTU0VSVF9H
Q19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxuIik7CiAgICAgCiAgICAg
aWYgKCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVyT3BlcmF0aW9uLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhlZFNldHRlck9wZXJhdGlv
biAmJiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFj
dGlvbnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG5cbiIpOworICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3Vz
dG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7CiAgICAgfQogICAgIApA
QCAtMTAwNCw3ICsxMDA0LDcgQEAgc3ViIEdlbmVyYXRlUHV0QnlJbmRleAogICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGlu
Zm8oKSk7XG5cbiIpOwogICAgIAogICAgIGlmICgoJG5hbWVkU2V0dGVyT3BlcmF0aW9uICYmICRu
YW1lZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFjdGlvbnN9KSB8
fCAoJGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24gJiYgJGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24tPmV4
dGVuZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25zfSkpIHsKLSAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrO1xuXG4iKTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEN1c3Rv
bUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCpzdGF0ZSk7
XG5cbiIpOwogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9u
UXVldWUuaCIpOwogICAgIH0KICAgICAKQEAgLTExMDAsNyArMTEwMCw3IEBAIHN1YiBHZW5lcmF0
ZURlZmluZU93blByb3BlcnR5CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEFTU0VSVF9H
Q19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxuIik7CiAgICAgCiAgICAg
aWYgKCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVyT3BlcmF0aW9uLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhlZFNldHRlck9wZXJhdGlv
biAmJiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFj
dGlvbnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG5cbiIpOworICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3Vz
dG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7CiAgICAgfQogICAgIApA
QCAtMTIyNCw3ICsxMjI0LDcgQEAgc3ViIEdlbmVyYXRlRGVsZXRlUHJvcGVydHlDb21tb24KICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKGlzVmlzaWJsZU5hbWVkUHJvcGVydHk8JHtv
dmVycmlkZUJ1aWx0aW59Pigqc3RhdGUsIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSkpIHtcbiIp
OwogCiAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25z
fSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIEN1c3RvbUVsZW1lbnRS
ZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xuIik7CisgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3Vz
dG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcbiIpOwogICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7CiAg
ICAgfQogCkBAIC00ODQ0LDcgKzQ4NDQsNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJC
b2R5RGVmaW5pdGlvCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFVOVVNFRF9QQVJBTSh0
aHJvd1Njb3BlKTtcbiIpOwogICAgIAogICAgIGlmICgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPntDRVJlYWN0aW9uc30pIHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xu
Iik7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7XG4iKTsKICAgICAgICAg
QWRkVG9JbXBsSW5jbHVkZXMoIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiLCAkY29uZGl0
aW9uYWwpOwogICAgIH0KICAgICAKQEAgLTUwNzAsNyArNTA3MCw3IEBAIHN1YiBHZW5lcmF0ZU9w
ZXJhdGlvbkJvZHlEZWZpbml0aW9uCiAgICAgaWYgKCEkZ2VuZXJhdGluZ092ZXJsb2FkRGlzcGF0
Y2hlcikgewogICAgICAgICBpZiAoJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VS
ZWFjdGlvbnN9KSB7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2s7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBD
dXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygqc3Rh
dGUpO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57Q2hlY2tTZWN1cml0eX0gYW5kICEkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHl9KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9u
cy5jcHAJKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw3
ICsyMDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0CiBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlv
bnNTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VSZWFjdGlvbnMmIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BB
UkFNKHRocm93U2NvcGUpOwotICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrOworICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3Rv
bUVsZW1lbnRSZWFjdGlvblN0YWNrKHN0YXRlKTsKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVj
dC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5n
PihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFs
c2UpOwpAQCAtMjM1LDcgKzIzNSw3IEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVzdENFUmVhY3Rpb25z
UmVmbGVjdEEKIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RB
dHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VS
ZWFjdGlvbnMmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2Nv
cGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIEN1c3RvbUVsZW1lbnRS
ZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOworICAgIEN1c3RvbUVsZW1l
bnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKHN0YXRlKTsKICAgICBh
dXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9
IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwpAQCAtMjkwLDcgKzI5MCw3IEBAIHN0YXRpYyBpbmxp
bmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3QKIHsKICAgICBVTlVTRURfUEFSQU0oc3RhdGUp
OwogICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazsKKyAgICBDdXN0b21FbGVtZW50UmVh
Y3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygqc3RhdGUpOwogICAgIGF1dG8m
IGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgaW1wbC5tZXRob2RXaXRoQ0VSZWFj
dGlvbnMoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNp
b24gMjM0NTIwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNyAr
MTkzLDcgQEAgRW5jb2RlZEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZgogc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZVNldHRlcihF
eGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyJiB0aGlzT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKLSAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21F
bGVtZW50UmVhY3Rpb25TdGFjazsKKyAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0
b21FbGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmpl
Y3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmlu
Zz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZh
bHNlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFj
dGlvblF1ZXVlLmNwcAkocmV2aXNpb24gMjM0NTIwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1
c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpT
RE9NQmluZGluZy5oIgogI2luY2x1ZGUgIk1pY3JvdGFza3MuaCIKKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9DYXRjaFNjb3BlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcC5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgpAQCAtMjMxLDYgKzIzMiwzMCBAQCBpbmxpbmUgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25R
dWV1ZTo6CiAgICAgUkVMRUFTRV9BU1NFUlQobV9lbGVtZW50cy5pc0VtcHR5KCkpOwogfQogCitp
bmxpbmUgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlOjpwcm9j
ZXNzUXVldWUoSlNDOjpFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIGlmICghc3RhdGUpIHsKKyAg
ICAgICAgaW52b2tlQWxsKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvJiB2
bSA9IHN0YXRlLT52bSgpOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2sodm0pOworCisgICAg
SlNDOjpFeGNlcHRpb24qIHByZXZpb3VzRXhjZXB0aW9uID0gbnVsbHB0cjsKKyAgICB7CisgICAg
ICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICBw
cmV2aW91c0V4Y2VwdGlvbiA9IGNhdGNoU2NvcGUuZXhjZXB0aW9uKCk7CisgICAgICAgIGlmIChw
cmV2aW91c0V4Y2VwdGlvbikKKyAgICAgICAgICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24o
KTsKKyAgICAgICAgaW52b2tlQWxsKCk7CisgICAgfQorICAgIGlmIChwcmV2aW91c0V4Y2VwdGlv
bikgeworICAgICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KyAgICAgICAgdGhyb3dFeGNlcHRpb24oc3RhdGUsIHRocm93U2NvcGUsIHByZXZpb3VzRXhjZXB0
aW9uKTsKKyAgICB9Cit9CisKIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlJiBDdXN0b21FbGVt
ZW50UmVhY3Rpb25RdWV1ZTo6ZW5zdXJlQ3VycmVudFF1ZXVlKEVsZW1lbnQmIGVsZW1lbnQpCiB7
CiAgICAgQVNTRVJUKGVsZW1lbnQucmVhY3Rpb25RdWV1ZSgpKTsKQEAgLTI0OSwxMCArMjc0LDEw
IEBAIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlJiBDdXN0b21FbGVtZW4KIAogQ3VzdG9tRWxl
bWVudFJlYWN0aW9uU3RhY2sqIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpzX2N1cnJlbnRQ
cm9jZXNzaW5nU3RhY2sgPSBudWxscHRyOwogCi12b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0
YWNrOjpwcm9jZXNzUXVldWUoKQordm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazo6cHJv
Y2Vzc1F1ZXVlKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKIHsKICAgICBBU1NFUlQobV9xdWV1ZSk7
Ci0gICAgbV9xdWV1ZS0+aW52b2tlQWxsKCk7CisgICAgbV9xdWV1ZS0+cHJvY2Vzc1F1ZXVlKHN0
YXRlKTsKICAgICBkZWxldGUgbV9xdWV1ZTsKICAgICBtX3F1ZXVlID0gbnVsbHB0cjsKIH0KQEAg
LTI4MCw3ICszMDUsNyBAQCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVl
CiAKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OnByb2Nlc3NCYWNrdXBRdWV1ZSgp
CiB7Ci0gICAgYmFja3VwRWxlbWVudFF1ZXVlKCkuaW52b2tlQWxsKCk7CisgICAgYmFja3VwRWxl
bWVudFF1ZXVlKCkucHJvY2Vzc1F1ZXVlKG51bGxwdHIpOwogICAgIHNfcHJvY2Vzc2luZ0JhY2t1
cEVsZW1lbnRRdWV1ZSA9IGZhbHNlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3Vz
dG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaAkocmV2aXNpb24gMjM0NTIwKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDYgKzI5LDEyIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgRXhlY1N0YXRl
OworCit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3VzdG9tRWxlbWVudFJlYWN0
aW9uUXVldWVJdGVtOwpAQCAtNjAsOSArNjYsMTEgQEAgcHVibGljOgogICAgIGNsYXNzIEVsZW1l
bnRRdWV1ZSB7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFkZChFbGVtZW50Jik7Ci0gICAg
ICAgIHZvaWQgaW52b2tlQWxsKCk7Ci0gICAgICAgIAorICAgICAgICB2b2lkIHByb2Nlc3NRdWV1
ZShKU0M6OkV4ZWNTdGF0ZSopOworCiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBpbnZva2VB
bGwoKTsKKwogICAgICAgICBWZWN0b3I8UmVmPEVsZW1lbnQ+PiBtX2VsZW1lbnRzOwogICAgICAg
ICBib29sIG1faW52b2tpbmcgeyBmYWxzZSB9OwogICAgIH07CkBAIC03OCwyNCArODYsMzAgQEAg
cHJpdmF0ZToKIAogY2xhc3MgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgewogcHVibGljOgot
ICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCkKKyAgICBBTFdBWVNfSU5MSU5FIEN1c3Rv
bUVsZW1lbnRSZWFjdGlvblN0YWNrKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKICAgICAgICAgOiBt
X3ByZXZpb3VzUHJvY2Vzc2luZ1N0YWNrKHNfY3VycmVudFByb2Nlc3NpbmdTdGFjaykKKyAgICAg
ICAgLCBtX3N0YXRlKHN0YXRlKQogICAgIHsKICAgICAgICAgc19jdXJyZW50UHJvY2Vzc2luZ1N0
YWNrID0gdGhpczsKICAgICB9CiAKLSAgICB+Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKQor
ICAgIEFMV0FZU19JTkxJTkUgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soSlNDOjpFeGVjU3Rh
dGUmIHN0YXRlKQorICAgICAgICA6IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCZzdGF0ZSkK
KyAgICB7IH0KKworICAgIEFMV0FZU19JTkxJTkUgfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNr
KCkKICAgICB7CiAgICAgICAgIGlmIChVTkxJS0VMWShtX3F1ZXVlKSkKLSAgICAgICAgICAgIHBy
b2Nlc3NRdWV1ZSgpOworICAgICAgICAgICAgcHJvY2Vzc1F1ZXVlKG1fc3RhdGUpOwogICAgICAg
ICBzX2N1cnJlbnRQcm9jZXNzaW5nU3RhY2sgPSBtX3ByZXZpb3VzUHJvY2Vzc2luZ1N0YWNrOwog
ICAgIH0KIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NRdWV1ZSgp
OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvY2Vzc1F1ZXVlKEpTQzo6RXhlY1N0YXRlKik7
CiAKICAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlKiBtX3F1ZXVl
IHsgbnVsbHB0ciB9OyAvLyBVc2UgcmF3IHBvaW50ZXIgdG8gYXZvaWQgZ2VuZXJhdGluZyBkZWxl
dGUgaW4gdGhlIGRlc3RydWN0b3IuCiAgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sqIG1f
cHJldmlvdXNQcm9jZXNzaW5nU3RhY2s7CisgICAgSlNDOjpFeGVjU3RhdGUqIG1fc3RhdGU7CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sqIHNf
Y3VycmVudFByb2Nlc3NpbmdTdGFjazsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0NTIwKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTgtMDgtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jh
c2ggd2hlbiB0aHJvd2luZyBleGNlcHRpb25zIGluIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3ODA1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MjQzMjcxND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXBwZWQgdGhlIHByZXZpb3VzbHkgY3Jhc2hp
bmcgdGVzdC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDgtMDIgIE1l
Z2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZvcm1h
dCBlZGl0YWJsZSBzZWxlY3Rpb24gdGVzdHMgdG8gcmVtb3ZlIHBvdGVudGlhbCBmbGFrZXluZXNz
IGR1ZSB0byBhdXRvc2Nyb2xsCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIzNDUy
MCkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTU3
MSw3ICs1NzEsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtCiAj
IFdQVCB0ZXN0cyBmb3IgY3VzdG9tIGVsZW1lbnRzCiB3ZWJraXQub3JnL2IvMTg3ODAwIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNyZWF0
ZUVsZW1lbnQtc3ZnLnN2ZyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4NzgwMiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMt
Y3JlYXRlLWFuLWVsZW1lbnQtZm9yLWEtdG9rZW4tc3ZnLnN2ZyBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzE4NzgwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0bWwgWyBTa2lwIF0KIAogIyBzZWxlY3RvcnMK
IHdlYmtpdC5vcmcvYi82NDg2MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvc2VsZWN0b3JzLWRpci1zZWxlY3Rvci1sdHItMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0
NTM3KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI1IEBACisyMDE4LTA4LTAyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgorCisgICAgICAgIENyYXNoIHdoZW4gdGhyb3dpbmcgZXhjZXB0aW9ucyBpbiBjdXN0
b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDI0MzI3MTQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJhdGVk
IHRoZSBleHBlY3RlZCByZXN1bHQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKworMjAxOC0wOC0wMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBDcmFzaCB3aGVuIHRocm93aW5nIGV4Y2VwdGlvbnMgaW4gY3VzdG9tIGVsZW1lbnQgcmVh
Y3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODc4MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQyNDMyNzE0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0bWw6CisKIDIwMTgtMDgt
MDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50
IGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoKQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0
aW9ucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0
aW9ucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhj
ZXB0aW9ucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgUmVhY3Rpb24gbXVzdCBydW4gZXZlbiBhZnRlciB0aGUgZXhjZXB0aW9uIGlzIHRocm93biAK
Kwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346460</attachid>
            <date>2018-08-03 00:13:16 -0700</date>
            <delta_ts>2018-08-03 00:34:12 -0700</delta_ts>
            <desc>Fixed the change log</desc>
            <filename>bug-187805-20180803001316.patch</filename>
            <type>text/plain</type>
            <size>16318</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA4LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbGVhc2UgYXNzZXJ0IHdoZW4g
dGhyb3dpbmcgZXhjZXB0aW9ucyBpbiBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDI0MzI3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlbGVhc2UgYXNzZXJ0aW9uIHdhcyBoaXQgYmVjYXVzZSB3
ZSB3ZXJlIG5vdCBjYXRjaGluZyAmIHJlLXRocm93aW5nIHRoZSBleGNlcHRpb24gdGhyb3duIGJ5
IERPTSBBUEkKKyAgICAgICAgYmVmb3JlIHRyeWluZyB0byBleGVjdXRlIGN1c3RvbSBlbGVtZW50
cyByZWFjdGlvbnMgaW4gfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGFzIHNwZWNpZmllZCBo
ZXJlOgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0
b20tZWxlbWVudHMuaHRtbCNjZXJlYWN0aW9ucworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IGNh
cHR1cmluZyB0aGUgZXhjZXB0aW9uIGFuZCByZS10aHJvd2luZyB0aGUgZXhjZXB0aW9uIGFzIHNw
ZWNpZmllZC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5odG1sCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlKTogVXNlIHRo
ZSBwcmV2aW91cyBKUyBzdGF0ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHV0KTogUGFzcyBpbiB0aGUgZXhlYyBzdGF0
ZSB0byBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjay4KKyAgICAgICAgKEdlbmVyYXRlUHV0QnlJ
bmRleCk6IERpdHRvLgorICAgICAgICAoR2VuZXJhdGVEZWZpbmVPd25Qcm9wZXJ0eSk6IERpdHRv
LgorICAgICAgICAoR2VuZXJhdGVEZWxldGVQcm9wZXJ0eUNvbW1vbik6IERpdHRvLgorICAgICAg
ICAoR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAg
ICAoR2VuZXJhdGVPcGVyYXRpb25Cb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc1NldHRl
cik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RBdHRyaWJ1
dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0Q0VSZWFj
dGlvbnNQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDRVJlYWN0aW9uc0JvZHkpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJW
YWx1ZVNldHRlcik6CisgICAgICAgICogZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjpFbGVtZW50
UXVldWU6OnByb2Nlc3NRdWV1ZSk6IEFkZGVkLiBJZiB0aGVyZSBpcyBhIHNjcmlwdCBydW5uaW5n
CisgICAgICAgIGluIHRoZSBzdGFjayAoaS5lLiBFeGVjU3RhdGUgaXMgbm90IG51bGwpLCBjYXRj
aCBhbnkgZXhjZXB0aW9uIGJlZm9yZSBleGVjdXRpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25z
LAorICAgICAgICB0aGVuIHJlLXRocm93IHRoZSBleGNlcHRpb24gYWZ0ZXJ3YXJkcy4gRXhlY1N0
YXRlIGlzIG51bGwgd2hlbiBET00gQVBJIGlzIGludm9rZWQgdmlhIE9iamVjdGl2ZS1DIGJpbmRp
bmdzCisgICAgICAgIG9yIHdoZW4gY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGFyZSBleGVjdXRl
ZCBpbiB0aGUgYmFja3VwIHF1ZXVlIChlLmcuIGZvciBlZGl0aW5nIG9wZXJhdGlvbnMpLgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s6OnByb2Nlc3NRdWV1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6cHJvY2Vzc0Jh
Y2t1cFF1ZXVlKToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpDdXN0b21FbGVt
ZW50UmVhY3Rpb25TdGFjayk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjazo6fkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKToKKwogMjAxOC0wOC0wMiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0JGQ10gQXBwbHkg
dGhlICIxMC42LjYgQ29tcGxpY2F0ZWQgY2FzZXMiIHdoZW4gY29tcHV0aW5nIGhlaWdodCBhbmQg
bWFyZ2luIGZvciB0aGUgZG9jdW1lbnQgcmVuZGVyZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCShyZXZpc2lvbiAyMzQ1
MjApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDYgKzE2MSw3IEBAIGNsYXNzIEpTTWFpblRocmVhZE51
bGxTdGF0ZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSlNNYWluVGhyZWFkTnVsbFN0YXRlKCkK
ICAgICAgICAgOiBtX3ByZXZpb3VzU3RhdGUoSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpzX21haW5U
aHJlYWRTdGF0ZSkKKyAgICAgICAgLCBtX2N1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKG1fcHJl
dmlvdXNTdGF0ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAg
ICAgIEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6c19tYWluVGhyZWFkU3RhdGUgPSBudWxscHRyOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0JKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC05MzIsNyArOTMyLDcg
QEAgc3ViIEdlbmVyYXRlUHV0CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEFTU0VSVF9H
Q19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxuIik7CiAgICAgCiAgICAg
aWYgKCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVyT3BlcmF0aW9uLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhlZFNldHRlck9wZXJhdGlv
biAmJiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFj
dGlvbnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG5cbiIpOworICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3Vz
dG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7CiAgICAgfQogICAgIApA
QCAtMTAwNCw3ICsxMDA0LDcgQEAgc3ViIEdlbmVyYXRlUHV0QnlJbmRleAogICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGlu
Zm8oKSk7XG5cbiIpOwogICAgIAogICAgIGlmICgoJG5hbWVkU2V0dGVyT3BlcmF0aW9uICYmICRu
YW1lZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFjdGlvbnN9KSB8
fCAoJGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24gJiYgJGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24tPmV4
dGVuZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25zfSkpIHsKLSAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrO1xuXG4iKTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEN1c3Rv
bUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCpzdGF0ZSk7
XG5cbiIpOwogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9u
UXVldWUuaCIpOwogICAgIH0KICAgICAKQEAgLTExMDAsNyArMTEwMCw3IEBAIHN1YiBHZW5lcmF0
ZURlZmluZU93blByb3BlcnR5CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEFTU0VSVF9H
Q19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxuIik7CiAgICAgCiAgICAg
aWYgKCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVyT3BlcmF0aW9uLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhlZFNldHRlck9wZXJhdGlv
biAmJiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFj
dGlvbnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG5cbiIpOworICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3Vz
dG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAgICAgICAgIEFkZFRvSW1w
bEluY2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7CiAgICAgfQogICAgIApA
QCAtMTIyNCw3ICsxMjI0LDcgQEAgc3ViIEdlbmVyYXRlRGVsZXRlUHJvcGVydHlDb21tb24KICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKGlzVmlzaWJsZU5hbWVkUHJvcGVydHk8JHtv
dmVycmlkZUJ1aWx0aW59Pigqc3RhdGUsIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSkpIHtcbiIp
OwogCiAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25z
fSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIEN1c3RvbUVsZW1lbnRS
ZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xuIik7CisgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3Vz
dG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcbiIpOwogICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7CiAg
ICAgfQogCkBAIC00ODQ0LDcgKzQ4NDQsNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJC
b2R5RGVmaW5pdGlvCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFVOVVNFRF9QQVJBTSh0
aHJvd1Njb3BlKTtcbiIpOwogICAgIAogICAgIGlmICgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPntDRVJlYWN0aW9uc30pIHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xu
Iik7CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7XG4iKTsKICAgICAgICAg
QWRkVG9JbXBsSW5jbHVkZXMoIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiLCAkY29uZGl0
aW9uYWwpOwogICAgIH0KICAgICAKQEAgLTUwNzAsNyArNTA3MCw3IEBAIHN1YiBHZW5lcmF0ZU9w
ZXJhdGlvbkJvZHlEZWZpbml0aW9uCiAgICAgaWYgKCEkZ2VuZXJhdGluZ092ZXJsb2FkRGlzcGF0
Y2hlcikgewogICAgICAgICBpZiAoJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VS
ZWFjdGlvbnN9KSB7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2s7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBD
dXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygqc3Rh
dGUpO1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57Q2hlY2tTZWN1cml0eX0gYW5kICEkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHl9KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9u
cy5jcHAJKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw3
ICsyMDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0CiBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlv
bnNTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VSZWFjdGlvbnMmIHRoaXNPYmplY3Qs
IEpTVmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BB
UkFNKHRocm93U2NvcGUpOwotICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrOworICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3Rv
bUVsZW1lbnRSZWFjdGlvblN0YWNrKHN0YXRlKTsKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVj
dC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5n
PihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFs
c2UpOwpAQCAtMjM1LDcgKzIzNSw3IEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVzdENFUmVhY3Rpb25z
UmVmbGVjdEEKIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RB
dHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VS
ZWFjdGlvbnMmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2Nv
cGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIEN1c3RvbUVsZW1lbnRS
ZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOworICAgIEN1c3RvbUVsZW1l
bnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKHN0YXRlKTsKICAgICBh
dXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9
IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwpAQCAtMjkwLDcgKzI5MCw3IEBAIHN0YXRpYyBpbmxp
bmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3QKIHsKICAgICBVTlVTRURfUEFSQU0oc3RhdGUp
OwogICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazsKKyAgICBDdXN0b21FbGVtZW50UmVh
Y3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygqc3RhdGUpOwogICAgIGF1dG8m
IGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgaW1wbC5tZXRob2RXaXRoQ0VSZWFj
dGlvbnMoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNp
b24gMjM0NTIwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNyAr
MTkzLDcgQEAgRW5jb2RlZEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZgogc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZVNldHRlcihF
eGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyJiB0aGlzT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKLSAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21F
bGVtZW50UmVhY3Rpb25TdGFjazsKKyAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0
b21FbGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmpl
Y3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmlu
Zz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZh
bHNlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFj
dGlvblF1ZXVlLmNwcAkocmV2aXNpb24gMjM0NTIwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1
c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpT
RE9NQmluZGluZy5oIgogI2luY2x1ZGUgIk1pY3JvdGFza3MuaCIKKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9DYXRjaFNjb3BlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcC5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgpAQCAtMjMxLDYgKzIzMiwzMCBAQCBpbmxpbmUgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25R
dWV1ZTo6CiAgICAgUkVMRUFTRV9BU1NFUlQobV9lbGVtZW50cy5pc0VtcHR5KCkpOwogfQogCitp
bmxpbmUgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlOjpwcm9j
ZXNzUXVldWUoSlNDOjpFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIGlmICghc3RhdGUpIHsKKyAg
ICAgICAgaW52b2tlQWxsKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvJiB2
bSA9IHN0YXRlLT52bSgpOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2sodm0pOworCisgICAg
SlNDOjpFeGNlcHRpb24qIHByZXZpb3VzRXhjZXB0aW9uID0gbnVsbHB0cjsKKyAgICB7CisgICAg
ICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICBw
cmV2aW91c0V4Y2VwdGlvbiA9IGNhdGNoU2NvcGUuZXhjZXB0aW9uKCk7CisgICAgICAgIGlmIChw
cmV2aW91c0V4Y2VwdGlvbikKKyAgICAgICAgICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24o
KTsKKyAgICAgICAgaW52b2tlQWxsKCk7CisgICAgfQorICAgIGlmIChwcmV2aW91c0V4Y2VwdGlv
bikgeworICAgICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KyAgICAgICAgdGhyb3dFeGNlcHRpb24oc3RhdGUsIHRocm93U2NvcGUsIHByZXZpb3VzRXhjZXB0
aW9uKTsKKyAgICB9Cit9CisKIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlJiBDdXN0b21FbGVt
ZW50UmVhY3Rpb25RdWV1ZTo6ZW5zdXJlQ3VycmVudFF1ZXVlKEVsZW1lbnQmIGVsZW1lbnQpCiB7
CiAgICAgQVNTRVJUKGVsZW1lbnQucmVhY3Rpb25RdWV1ZSgpKTsKQEAgLTI0OSwxMCArMjc0LDEw
IEBAIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlJiBDdXN0b21FbGVtZW4KIAogQ3VzdG9tRWxl
bWVudFJlYWN0aW9uU3RhY2sqIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpzX2N1cnJlbnRQ
cm9jZXNzaW5nU3RhY2sgPSBudWxscHRyOwogCi12b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0
YWNrOjpwcm9jZXNzUXVldWUoKQordm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazo6cHJv
Y2Vzc1F1ZXVlKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKIHsKICAgICBBU1NFUlQobV9xdWV1ZSk7
Ci0gICAgbV9xdWV1ZS0+aW52b2tlQWxsKCk7CisgICAgbV9xdWV1ZS0+cHJvY2Vzc1F1ZXVlKHN0
YXRlKTsKICAgICBkZWxldGUgbV9xdWV1ZTsKICAgICBtX3F1ZXVlID0gbnVsbHB0cjsKIH0KQEAg
LTI4MCw3ICszMDUsNyBAQCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVl
CiAKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OnByb2Nlc3NCYWNrdXBRdWV1ZSgp
CiB7Ci0gICAgYmFja3VwRWxlbWVudFF1ZXVlKCkuaW52b2tlQWxsKCk7CisgICAgYmFja3VwRWxl
bWVudFF1ZXVlKCkucHJvY2Vzc1F1ZXVlKG51bGxwdHIpOwogICAgIHNfcHJvY2Vzc2luZ0JhY2t1
cEVsZW1lbnRRdWV1ZSA9IGZhbHNlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3Vz
dG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaAkocmV2aXNpb24gMjM0NTIwKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDYgKzI5LDEyIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgRXhlY1N0YXRl
OworCit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3VzdG9tRWxlbWVudFJlYWN0
aW9uUXVldWVJdGVtOwpAQCAtNjAsOSArNjYsMTEgQEAgcHVibGljOgogICAgIGNsYXNzIEVsZW1l
bnRRdWV1ZSB7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFkZChFbGVtZW50Jik7Ci0gICAg
ICAgIHZvaWQgaW52b2tlQWxsKCk7Ci0gICAgICAgIAorICAgICAgICB2b2lkIHByb2Nlc3NRdWV1
ZShKU0M6OkV4ZWNTdGF0ZSopOworCiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBpbnZva2VB
bGwoKTsKKwogICAgICAgICBWZWN0b3I8UmVmPEVsZW1lbnQ+PiBtX2VsZW1lbnRzOwogICAgICAg
ICBib29sIG1faW52b2tpbmcgeyBmYWxzZSB9OwogICAgIH07CkBAIC03OCwyNCArODYsMzAgQEAg
cHJpdmF0ZToKIAogY2xhc3MgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgewogcHVibGljOgot
ICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCkKKyAgICBBTFdBWVNfSU5MSU5FIEN1c3Rv
bUVsZW1lbnRSZWFjdGlvblN0YWNrKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKICAgICAgICAgOiBt
X3ByZXZpb3VzUHJvY2Vzc2luZ1N0YWNrKHNfY3VycmVudFByb2Nlc3NpbmdTdGFjaykKKyAgICAg
ICAgLCBtX3N0YXRlKHN0YXRlKQogICAgIHsKICAgICAgICAgc19jdXJyZW50UHJvY2Vzc2luZ1N0
YWNrID0gdGhpczsKICAgICB9CiAKLSAgICB+Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKQor
ICAgIEFMV0FZU19JTkxJTkUgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soSlNDOjpFeGVjU3Rh
dGUmIHN0YXRlKQorICAgICAgICA6IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCZzdGF0ZSkK
KyAgICB7IH0KKworICAgIEFMV0FZU19JTkxJTkUgfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNr
KCkKICAgICB7CiAgICAgICAgIGlmIChVTkxJS0VMWShtX3F1ZXVlKSkKLSAgICAgICAgICAgIHBy
b2Nlc3NRdWV1ZSgpOworICAgICAgICAgICAgcHJvY2Vzc1F1ZXVlKG1fc3RhdGUpOwogICAgICAg
ICBzX2N1cnJlbnRQcm9jZXNzaW5nU3RhY2sgPSBtX3ByZXZpb3VzUHJvY2Vzc2luZ1N0YWNrOwog
ICAgIH0KIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NRdWV1ZSgp
OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvY2Vzc1F1ZXVlKEpTQzo6RXhlY1N0YXRlKik7
CiAKICAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlKiBtX3F1ZXVl
IHsgbnVsbHB0ciB9OyAvLyBVc2UgcmF3IHBvaW50ZXIgdG8gYXZvaWQgZ2VuZXJhdGluZyBkZWxl
dGUgaW4gdGhlIGRlc3RydWN0b3IuCiAgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sqIG1f
cHJldmlvdXNQcm9jZXNzaW5nU3RhY2s7CisgICAgSlNDOjpFeGVjU3RhdGUqIG1fc3RhdGU7CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sqIHNf
Y3VycmVudFByb2Nlc3NpbmdTdGFjazsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0NTIwKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTgtMDgtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jh
c2ggd2hlbiB0aHJvd2luZyBleGNlcHRpb25zIGluIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3ODA1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MjQzMjcxND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXBwZWQgdGhlIHByZXZpb3VzbHkgY3Jhc2hp
bmcgdGVzdC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDgtMDIgIE1l
Z2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZvcm1h
dCBlZGl0YWJsZSBzZWxlY3Rpb24gdGVzdHMgdG8gcmVtb3ZlIHBvdGVudGlhbCBmbGFrZXluZXNz
IGR1ZSB0byBhdXRvc2Nyb2xsCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIzNDUy
MCkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTU3
MSw3ICs1NzEsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtCiAj
IFdQVCB0ZXN0cyBmb3IgY3VzdG9tIGVsZW1lbnRzCiB3ZWJraXQub3JnL2IvMTg3ODAwIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNyZWF0
ZUVsZW1lbnQtc3ZnLnN2ZyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4NzgwMiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMt
Y3JlYXRlLWFuLWVsZW1lbnQtZm9yLWEtdG9rZW4tc3ZnLnN2ZyBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzE4NzgwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0bWwgWyBTa2lwIF0KIAogIyBzZWxlY3RvcnMK
IHdlYmtpdC5vcmcvYi82NDg2MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvc2VsZWN0b3JzLWRpci1zZWxlY3Rvci1sdHItMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0
NTM3KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA4LTAyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgorCisgICAgICAgIENyYXNoIHdoZW4gdGhyb3dpbmcgZXhjZXB0aW9ucyBpbiBjdXN0
b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDI0MzI3MTQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJhdGVk
IHRoZSBleHBlY3RlZCByZXN1bHQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKwogMjAxOC0wOC0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBJbXBsZW1lbnQgY3VzdG9tRWxlbWVudHMudXBncmFkZSgpCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBSZWFjdGlvbiBtdXN0IHJ1biBldmVuIGFmdGVyIHRoZSBleGNlcHRp
b24gaXMgdGhyb3duIAorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346461</attachid>
            <date>2018-08-03 00:34:15 -0700</date>
            <delta_ts>2018-08-03 00:34:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-187805-20180803003414.patch</filename>
            <type>text/plain</type>
            <size>16327</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA4LTAyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbGVhc2UgYXNzZXJ0IHdoZW4g
dGhyb3dpbmcgZXhjZXB0aW9ucyBpbiBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDI0MzI3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJh
dGkuCisKKyAgICAgICAgVGhlIHJlbGVhc2UgYXNzZXJ0aW9uIHdhcyBoaXQgYmVjYXVzZSB3ZSB3
ZXJlIG5vdCBjYXRjaGluZyAmIHJlLXRocm93aW5nIHRoZSBleGNlcHRpb24gdGhyb3duIGJ5IERP
TSBBUEkKKyAgICAgICAgYmVmb3JlIHRyeWluZyB0byBleGVjdXRlIGN1c3RvbSBlbGVtZW50cyBy
ZWFjdGlvbnMgaW4gfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGFzIHNwZWNpZmllZCBoZXJl
OgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0b20t
ZWxlbWVudHMuaHRtbCNjZXJlYWN0aW9ucworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IGNhcHR1
cmluZyB0aGUgZXhjZXB0aW9uIGFuZCByZS10aHJvd2luZyB0aGUgZXhjZXB0aW9uIGFzIHNwZWNp
ZmllZC4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3dpdGgtZXhjZXB0aW9ucy5odG1sCisKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlKTogVXNlIHRoZSBw
cmV2aW91cyBKUyBzdGF0ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlUHV0KTogUGFzcyBpbiB0aGUgZXhlYyBzdGF0ZSB0
byBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjay4KKyAgICAgICAgKEdlbmVyYXRlUHV0QnlJbmRl
eCk6IERpdHRvLgorICAgICAgICAoR2VuZXJhdGVEZWZpbmVPd25Qcm9wZXJ0eSk6IERpdHRvLgor
ICAgICAgICAoR2VuZXJhdGVEZWxldGVQcm9wZXJ0eUNvbW1vbik6IERpdHRvLgorICAgICAgICAo
R2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAgICAo
R2VuZXJhdGVPcGVyYXRpb25Cb2R5RGVmaW5pdGlvbik6IERpdHRvLgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpzZXRKU1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc1NldHRlcik6
CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RBdHRyaWJ1dGVX
aXRoQ0VSZWFjdGlvbnNTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0Q0VSZWFjdGlv
bnNQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDRVJlYWN0aW9uc0JvZHkpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1
ZVNldHRlcik6CisgICAgICAgICogZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjpFbGVtZW50UXVl
dWU6OnByb2Nlc3NRdWV1ZSk6IEFkZGVkLiBJZiB0aGVyZSBpcyBhIHNjcmlwdCBydW5uaW5nCisg
ICAgICAgIGluIHRoZSBzdGFjayAoaS5lLiBFeGVjU3RhdGUgaXMgbm90IG51bGwpLCBjYXRjaCBh
bnkgZXhjZXB0aW9uIGJlZm9yZSBleGVjdXRpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zLAor
ICAgICAgICB0aGVuIHJlLXRocm93IHRoZSBleGNlcHRpb24gYWZ0ZXJ3YXJkcy4gRXhlY1N0YXRl
IGlzIG51bGwgd2hlbiBET00gQVBJIGlzIGludm9rZWQgdmlhIE9iamVjdGl2ZS1DIGJpbmRpbmdz
CisgICAgICAgIG9yIHdoZW4gY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGFyZSBleGVjdXRlZCBp
biB0aGUgYmFja3VwIHF1ZXVlIChlLmcuIGZvciBlZGl0aW5nIG9wZXJhdGlvbnMpLgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s6OnByb2Nlc3NRdWV1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6cHJvY2Vzc0JhY2t1
cFF1ZXVlKToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpDdXN0b21FbGVtZW50
UmVhY3Rpb25TdGFjayk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25T
dGFjazo6fkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKToKKwogMjAxOC0wOC0wMiAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0JGQ10gQXBwbHkgdGhl
ICIxMC42LjYgQ29tcGxpY2F0ZWQgY2FzZXMiIHdoZW4gY29tcHV0aW5nIGhlaWdodCBhbmQgbWFy
Z2luIGZvciB0aGUgZG9jdW1lbnQgcmVuZGVyZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCShyZXZpc2lvbiAyMzQ1MjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTYxLDYgKzE2MSw3IEBAIGNsYXNzIEpTTWFpblRocmVhZE51bGxT
dGF0ZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSlNNYWluVGhyZWFkTnVsbFN0YXRlKCkKICAg
ICAgICAgOiBtX3ByZXZpb3VzU3RhdGUoSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpzX21haW5UaHJl
YWRTdGF0ZSkKKyAgICAgICAgLCBtX2N1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKG1fcHJldmlv
dXNTdGF0ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAg
IEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6c19tYWluVGhyZWFkU3RhdGUgPSBudWxscHRyOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC05MzIsNyArOTMyLDcgQEAg
c3ViIEdlbmVyYXRlUHV0CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEFTU0VSVF9HQ19P
QkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxuIik7CiAgICAgCiAgICAgaWYg
KCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVyT3BlcmF0aW9uLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhlZFNldHRlck9wZXJhdGlvbiAm
JiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFjdGlv
bnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG5cbiIpOworICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9t
RWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAgICAgICAgIEFkZFRvSW1wbElu
Y2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7CiAgICAgfQogICAgIApAQCAt
MTAwNCw3ICsxMDA0LDcgQEAgc3ViIEdlbmVyYXRlUHV0QnlJbmRleAogICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8o
KSk7XG5cbiIpOwogICAgIAogICAgIGlmICgoJG5hbWVkU2V0dGVyT3BlcmF0aW9uICYmICRuYW1l
ZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFjdGlvbnN9KSB8fCAo
JGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24gJiYgJGluZGV4ZWRTZXR0ZXJPcGVyYXRpb24tPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25zfSkpIHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlv
blN0YWNrO1xuXG4iKTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCpzdGF0ZSk7XG5c
biIpOwogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVl
dWUuaCIpOwogICAgIH0KICAgICAKQEAgLTExMDAsNyArMTEwMCw3IEBAIHN1YiBHZW5lcmF0ZURl
ZmluZU93blByb3BlcnR5CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEFTU0VSVF9HQ19P
QkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTtcblxuIik7CiAgICAgCiAgICAgaWYg
KCgkbmFtZWRTZXR0ZXJPcGVyYXRpb24gJiYgJG5hbWVkU2V0dGVyT3BlcmF0aW9uLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHx8ICgkaW5kZXhlZFNldHRlck9wZXJhdGlvbiAm
JiAkaW5kZXhlZFNldHRlck9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFjdGlv
bnN9KSkgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG5cbiIpOworICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9t
RWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcblxuIik7CiAgICAgICAgIEFkZFRvSW1wbElu
Y2x1ZGVzKCJDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5oIik7CiAgICAgfQogICAgIApAQCAt
MTIyNCw3ICsxMjI0LDcgQEAgc3ViIEdlbmVyYXRlRGVsZXRlUHJvcGVydHlDb21tb24KICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKGlzVmlzaWJsZU5hbWVkUHJvcGVydHk8JHtvdmVy
cmlkZUJ1aWx0aW59Pigqc3RhdGUsIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSkpIHtcbiIpOwog
CiAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NFUmVhY3Rpb25zfSkg
ewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIEN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xuIik7CisgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICAgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9t
RWxlbWVudFJlYWN0aW9uU3RhY2soKnN0YXRlKTtcbiIpOwogICAgICAgICBBZGRUb0ltcGxJbmNs
dWRlcygiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7CiAgICAg
fQogCkBAIC00ODQ0LDcgKzQ4NDQsNyBAQCBzdWIgR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5
RGVmaW5pdGlvCiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFVOVVNFRF9QQVJBTSh0aHJv
d1Njb3BlKTtcbiIpOwogICAgIAogICAgIGlmICgkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPntDRVJlYWN0aW9uc30pIHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIEN1
c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xuIik7
CisgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25T
dGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7XG4iKTsKICAgICAgICAgQWRk
VG9JbXBsSW5jbHVkZXMoIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiLCAkY29uZGl0aW9u
YWwpOwogICAgIH0KICAgICAKQEAgLTUwNzAsNyArNTA3MCw3IEBAIHN1YiBHZW5lcmF0ZU9wZXJh
dGlvbkJvZHlEZWZpbml0aW9uCiAgICAgaWYgKCEkZ2VuZXJhdGluZ092ZXJsb2FkRGlzcGF0Y2hl
cikgewogICAgICAgICBpZiAoJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFj
dGlvbnN9KSB7CiAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVudFJl
YWN0aW9uUXVldWUuaCIsICRjb25kaXRpb25hbCk7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJlYWN0
aW9uU3RhY2s7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBDdXN0
b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygqc3RhdGUp
O1xuIik7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57Q2hlY2tTZWN1cml0eX0gYW5kICEkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPntEb05vdENoZWNrU2VjdXJpdHl9KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5j
cHAJKHJldmlzaW9uIDIzNDUyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw3ICsy
MDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0CiBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNT
ZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VSZWFjdGlvbnMmIHRoaXNPYmplY3QsIEpT
VmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BBUkFN
KHRocm93U2NvcGUpOwotICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1l
bnRSZWFjdGlvblN0YWNrOworICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrKHN0YXRlKTsKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihz
dGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2Up
OwpAQCAtMjM1LDcgKzIzNSw3IEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVzdENFUmVhY3Rpb25zUmVm
bGVjdEEKIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RBdHRy
aWJ1dGVXaXRoQ0VSZWFjdGlvbnNTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VSZWFj
dGlvbnMmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2NvcGUp
CiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIEN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOworICAgIEN1c3RvbUVsZW1lbnRS
ZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKHN0YXRlKTsKICAgICBhdXRv
JiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNv
bnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgZmFsc2UpOwpAQCAtMjkwLDcgKzI5MCw3IEBAIHN0YXRpYyBpbmxpbmUg
SlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3QKIHsKICAgICBVTlVTRURfUEFSQU0oc3RhdGUpOwog
ICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25T
dGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazsKKyAgICBDdXN0b21FbGVtZW50UmVhY3Rp
b25TdGFjayBjdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygqc3RhdGUpOwogICAgIGF1dG8mIGlt
cGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgaW1wbC5tZXRob2RXaXRoQ0VSZWFjdGlv
bnMoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAkocmV2aXNpb24g
MjM0NTIwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNyArMTkz
LDcgQEAgRW5jb2RlZEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZgogc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZVNldHRlcihFeGVj
U3RhdGUmIHN0YXRlLCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyJiB0aGlzT2JqZWN0LCBK
U1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9QQVJB
TSh0aHJvd1Njb3BlKTsKLSAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21FbGVt
ZW50UmVhY3Rpb25TdGFjazsKKyAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayBjdXN0b21F
bGVtZW50UmVhY3Rpb25TdGFjayhzdGF0ZSk7CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qu
d3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4o
c3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNl
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlv
blF1ZXVlLmNwcAkocmV2aXNpb24gMjM0NTIwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3Rv
bUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBA
QAogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIk1pY3JvdGFza3MuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9DYXRjaFNjb3BlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpA
QCAtMjMxLDYgKzIzMiwzMiBAQCBpbmxpbmUgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1
ZTo6CiAgICAgUkVMRUFTRV9BU1NFUlQobV9lbGVtZW50cy5pc0VtcHR5KCkpOwogfQogCitpbmxp
bmUgdm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlOjpwcm9jZXNz
UXVldWUoSlNDOjpFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIGlmICghc3RhdGUpIHsKKyAgICAg
ICAgaW52b2tlQWxsKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvJiB2bSA9
IHN0YXRlLT52bSgpOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2sodm0pOworCisgICAgSlND
OjpFeGNlcHRpb24qIHByZXZpb3VzRXhjZXB0aW9uID0gbnVsbHB0cjsKKyAgICB7CisgICAgICAg
IGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgICAgICBwcmV2
aW91c0V4Y2VwdGlvbiA9IGNhdGNoU2NvcGUuZXhjZXB0aW9uKCk7CisgICAgICAgIGlmIChwcmV2
aW91c0V4Y2VwdGlvbikKKyAgICAgICAgICAgIGNhdGNoU2NvcGUuY2xlYXJFeGNlcHRpb24oKTsK
KyAgICB9CisKKyAgICBpbnZva2VBbGwoKTsKKworICAgIGlmIChwcmV2aW91c0V4Y2VwdGlvbikg
eworICAgICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAg
ICAgICAgdGhyb3dFeGNlcHRpb24oc3RhdGUsIHRocm93U2NvcGUsIHByZXZpb3VzRXhjZXB0aW9u
KTsKKyAgICB9Cit9CisKIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlJiBDdXN0b21FbGVtZW50
UmVhY3Rpb25RdWV1ZTo6ZW5zdXJlQ3VycmVudFF1ZXVlKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAg
ICAgQVNTRVJUKGVsZW1lbnQucmVhY3Rpb25RdWV1ZSgpKTsKQEAgLTI0OSwxMCArMjc2LDEwIEBA
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlJiBDdXN0b21FbGVtZW4KIAogQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uU3RhY2sqIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpzX2N1cnJlbnRQcm9j
ZXNzaW5nU3RhY2sgPSBudWxscHRyOwogCi12b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNr
Ojpwcm9jZXNzUXVldWUoKQordm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazo6cHJvY2Vz
c1F1ZXVlKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKIHsKICAgICBBU1NFUlQobV9xdWV1ZSk7Ci0g
ICAgbV9xdWV1ZS0+aW52b2tlQWxsKCk7CisgICAgbV9xdWV1ZS0+cHJvY2Vzc1F1ZXVlKHN0YXRl
KTsKICAgICBkZWxldGUgbV9xdWV1ZTsKICAgICBtX3F1ZXVlID0gbnVsbHB0cjsKIH0KQEAgLTI4
MCw3ICszMDcsNyBAQCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlCiAK
IHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OnByb2Nlc3NCYWNrdXBRdWV1ZSgpCiB7
Ci0gICAgYmFja3VwRWxlbWVudFF1ZXVlKCkuaW52b2tlQWxsKCk7CisgICAgYmFja3VwRWxlbWVu
dFF1ZXVlKCkucHJvY2Vzc1F1ZXVlKG51bGxwdHIpOwogICAgIHNfcHJvY2Vzc2luZ0JhY2t1cEVs
ZW1lbnRRdWV1ZSA9IGZhbHNlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9t
RWxlbWVudFJlYWN0aW9uUXVldWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaAkocmV2aXNpb24gMjM0NTIwKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDEyIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgRXhlY1N0YXRlOwor
Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3VzdG9tRWxlbWVudFJlYWN0aW9u
UXVldWVJdGVtOwpAQCAtNjAsOSArNjYsMTEgQEAgcHVibGljOgogICAgIGNsYXNzIEVsZW1lbnRR
dWV1ZSB7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFkZChFbGVtZW50Jik7Ci0gICAgICAg
IHZvaWQgaW52b2tlQWxsKCk7Ci0gICAgICAgIAorICAgICAgICB2b2lkIHByb2Nlc3NRdWV1ZShK
U0M6OkV4ZWNTdGF0ZSopOworCiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBpbnZva2VBbGwo
KTsKKwogICAgICAgICBWZWN0b3I8UmVmPEVsZW1lbnQ+PiBtX2VsZW1lbnRzOwogICAgICAgICBi
b29sIG1faW52b2tpbmcgeyBmYWxzZSB9OwogICAgIH07CkBAIC03OCwyNCArODYsMzAgQEAgcHJp
dmF0ZToKIAogY2xhc3MgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgewogcHVibGljOgotICAg
IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCkKKyAgICBBTFdBWVNfSU5MSU5FIEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSkKICAgICAgICAgOiBtX3By
ZXZpb3VzUHJvY2Vzc2luZ1N0YWNrKHNfY3VycmVudFByb2Nlc3NpbmdTdGFjaykKKyAgICAgICAg
LCBtX3N0YXRlKHN0YXRlKQogICAgIHsKICAgICAgICAgc19jdXJyZW50UHJvY2Vzc2luZ1N0YWNr
ID0gdGhpczsKICAgICB9CiAKLSAgICB+Q3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soKQorICAg
IEFMV0FZU19JTkxJTkUgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2soSlNDOjpFeGVjU3RhdGUm
IHN0YXRlKQorICAgICAgICA6IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCZzdGF0ZSkKKyAg
ICB7IH0KKworICAgIEFMV0FZU19JTkxJTkUgfkN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKCkK
ICAgICB7CiAgICAgICAgIGlmIChVTkxJS0VMWShtX3F1ZXVlKSkKLSAgICAgICAgICAgIHByb2Nl
c3NRdWV1ZSgpOworICAgICAgICAgICAgcHJvY2Vzc1F1ZXVlKG1fc3RhdGUpOwogICAgICAgICBz
X2N1cnJlbnRQcm9jZXNzaW5nU3RhY2sgPSBtX3ByZXZpb3VzUHJvY2Vzc2luZ1N0YWNrOwogICAg
IH0KIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NRdWV1ZSgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvY2Vzc1F1ZXVlKEpTQzo6RXhlY1N0YXRlKik7CiAK
ICAgICBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6RWxlbWVudFF1ZXVlKiBtX3F1ZXVlIHsg
bnVsbHB0ciB9OyAvLyBVc2UgcmF3IHBvaW50ZXIgdG8gYXZvaWQgZ2VuZXJhdGluZyBkZWxldGUg
aW4gdGhlIGRlc3RydWN0b3IuCiAgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sqIG1fcHJl
dmlvdXNQcm9jZXNzaW5nU3RhY2s7CisgICAgSlNDOjpFeGVjU3RhdGUqIG1fc3RhdGU7CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sqIHNfY3Vy
cmVudFByb2Nlc3NpbmdTdGFjazsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0NTIwKQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgt
MDgtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVsZWFz
ZSBhc3NlcnQgd2hlbiB0aHJvd2luZyBleGNlcHRpb25zIGluIGN1c3RvbSBlbGVtZW50IHJlYWN0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3
ODA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MjQzMjcxND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBVbnNraXBwZWQgdGhlIHByZXZpb3VzbHkgY3Jh
c2hpbmcgdGVzdC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDgtMDIg
IE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZv
cm1hdCBlZGl0YWJsZSBzZWxlY3Rpb24gdGVzdHMgdG8gcmVtb3ZlIHBvdGVudGlhbCBmbGFrZXlu
ZXNzIGR1ZSB0byBhdXRvc2Nyb2xsCkluZGV4OiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIz
NDUyMCkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAg
LTU3MSw3ICs1NzEsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
CiAjIFdQVCB0ZXN0cyBmb3IgY3VzdG9tIGVsZW1lbnRzCiB3ZWJraXQub3JnL2IvMTg3ODAwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNy
ZWF0ZUVsZW1lbnQtc3ZnLnN2ZyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4NzgwMiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVz
ZXMtY3JlYXRlLWFuLWVsZW1lbnQtZm9yLWEtdG9rZW4tc3ZnLnN2ZyBbIFNraXAgXQotd2Via2l0
Lm9yZy9iLzE4NzgwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLmh0bWwgWyBTa2lwIF0KIAogIyBzZWxlY3Rv
cnMKIHdlYmtpdC5vcmcvYi82NDg2MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9zZWxlY3RvcnMvc2VsZWN0b3JzLWRpci1zZWxlY3Rvci1sdHItMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM0NTM3KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA4LTAyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbGVhc2UgYXNzZXJ0IHdoZW4gdGhyb3dpbmcgZXhjZXB0
aW9ucyBpbiBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDI0MzI3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAg
R2VuZXJhdGVkIHRoZSBleHBlY3RlZCByZXN1bHQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy93aXRoLWV4Y2VwdGlvbnMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAxOC0wOC0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBJbXBsZW1lbnQgY3VzdG9tRWxlbWVudHMudXBncmFkZSgpCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvd2l0aC1leGNlcHRpb25zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBSZWFjdGlvbiBtdXN0IHJ1biBldmVuIGFmdGVyIHRo
ZSBleGNlcHRpb24gaXMgdGhyb3duIAorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>