<?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>227059</bug_id>
          
          <creation_ts>2021-06-16 01:39:29 -0700</creation_ts>
          <short_desc>rAF driven WebGL submits excessive amount of GPU work when frames are slow</short_desc>
          <delta_ts>2021-07-16 11:46:17 -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>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>227024</dependson>
          <blocked>226841</blocked>
    
    <blocked>228012</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>annulen</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jonlee</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>nham</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1770113</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-16 01:39:29 -0700</bug_when>
    <thetext>rAF driven WebGL submits excessive amount of GPU work when frames are slow

WebGL frame submit limit is defined by rAF.

When the frames are slow, this may end up submitting more GPU work than the system can handle.

The frame submission should be limited also by the amount of unfinished frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770115</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-16 01:41:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/79385858&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770121</commentid>
    <comment_count>2</comment_count>
      <attachid>431528</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-16 02:17:38 -0700</bug_when>
    <thetext>Created attachment 431528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770139</commentid>
    <comment_count>3</comment_count>
      <attachid>431532</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-16 03:43:31 -0700</bug_when>
    <thetext>Created attachment 431532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770156</commentid>
    <comment_count>4</comment_count>
      <attachid>431537</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-16 05:01:37 -0700</bug_when>
    <thetext>Created attachment 431537
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770157</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-06-16 05:02:31 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770528</commentid>
    <comment_count>6</comment_count>
      <attachid>431537</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-06-16 22:31:44 -0700</bug_when>
    <thetext>Comment on attachment 431537
Patch

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

Were the most recent test failures here caused by Bug 227064?

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:2851
&gt; +    if (ScopedGLFence fence = WTFMove(m_frameCompletionFences[oldestFrameCompletionFence])) {

It&apos;s hard for me to trace the exact logic this uses. WTFMove calls the constructor taking ScopedGLFence&amp;&amp; for the left-hand side and uses std::exchange? And the test uses operator GLSync()? Would you consider defining operator bool() for ScopedGLFence?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770554</commentid>
    <comment_count>7</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-17 02:12:03 -0700</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #6)
&gt; Comment on attachment 431537 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=431537&amp;action=review
&gt; 
&gt; Were the most recent test failures here caused by Bug 227064?

Unfortunately the iOS legacy test failure is surprising, I need to investigate that.

&gt; &gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:2851
&gt; &gt; +    if (ScopedGLFence fence = WTFMove(m_frameCompletionFences[oldestFrameCompletionFence])) {
&gt; 
&gt; It&apos;s hard for me to trace the exact logic this uses. WTFMove calls the
&gt; constructor taking ScopedGLFence&amp;&amp; for the left-hand side and uses
&gt; std::exchange? And the test uses operator GLSync()? 

Yeah, correct in spirit. 
As far as I understand:
1. WTFMove casts the lvalue ref m_frameCompletionFences[oldestFrameCompletionFence] to rvalue ref.
2. ScopedGLFence fence is created with default constructor
3. Assignment operator assigns ScopeGLFence&amp;&amp; over the default-constructed fence and this std::exchanges the contents.



&gt; Would you consider
&gt; defining operator bool() for ScopedGLFence?

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770620</commentid>
    <comment_count>8</comment_count>
      <attachid>431661</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-17 07:01:00 -0700</bug_when>
    <thetext>Created attachment 431661
Debug via EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770753</commentid>
    <comment_count>9</comment_count>
      <attachid>431697</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-17 12:07:45 -0700</bug_when>
    <thetext>Created attachment 431697
Debug via EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770759</commentid>
    <comment_count>10</comment_count>
      <attachid>431699</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-17 12:12:40 -0700</bug_when>
    <thetext>Created attachment 431699
Debug via EWS force gl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771243</commentid>
    <comment_count>11</comment_count>
      <attachid>431842</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-21 03:05:53 -0700</bug_when>
    <thetext>Created attachment 431842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771350</commentid>
    <comment_count>12</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-21 10:58:25 -0700</bug_when>
    <thetext>This would be ready for review.
Using the sync objects on OpenGL part appears a bit risky since the Catalina iOS-bots seemed to fail with the symptom that GL fences timeout with success. Probably that means we cannot use the fences in the implementation when using OpenGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771503</commentid>
    <comment_count>13</comment_count>
      <attachid>431842</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-06-21 15:54:55 -0700</bug_when>
    <thetext>Comment on attachment 431842
Patch

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

Looks great - unfortunate you had to debug the OpenGL driver issue but let&apos;s move forward. r+

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:65
&gt; +static Seconds maxFrameDuration = 5_s;

Can/should this be const, too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771983</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-23 10:08:58 -0700</bug_when>
    <thetext>Committed r279172 (239069@main): &lt;https://commits.webkit.org/239069@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431842.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774317</commentid>
    <comment_count>15</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-07-01 17:47:44 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774318</commentid>
    <comment_count>16</comment_count>
      <attachid>432757</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-07-01 17:47:46 -0700</bug_when>
    <thetext>Created attachment 432757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774319</commentid>
    <comment_count>17</comment_count>
      <attachid>432758</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-07-01 17:50:10 -0700</bug_when>
    <thetext>Created attachment 432758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774320</commentid>
    <comment_count>18</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-01 17:52:25 -0700</bug_when>
    <thetext>The timing of the revert is unfortunate - can any more details be provided about where the failures are happening? The original patch author will be OOO for a while; is there any hope of getting this fixed and relanded in the short term?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774321</commentid>
    <comment_count>19</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-07-01 17:57:26 -0700</bug_when>
    <thetext>It looks like some devices don&apos;t actually support GL_ARB_sync which causes crashes in context construction:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x00007fff3a07a21c WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking() + 188
1   com.apple.WebCore             	0x00007fff396892d3 WebCore::GraphicsContextGLOpenGL::reshapeFBOs(WebCore::IntSize const&amp;) + 451
2   com.apple.WebCore             	0x00007fff3968b353 WebCore::GraphicsContextGLOpenGL::reshape(int, int) + 547
3   com.apple.WebCore             	0x00007fff3ab6c384 WebCore::WebGLRenderingContextBase::initializeNewContext() + 2324
4   com.apple.WebCore             	0x00007fff3ab776d6 WebCore::WebGLRenderingContextBase::create(WebCore::CanvasBase&amp;, WebCore::GraphicsContextGLAttributes&amp;, WebCore::GraphicsContextGLWebGLVersion) + 2934
5   com.apple.WebCore             	0x00007fff3aa283aa WebCore::HTMLCanvasElement::createContextWebGL(WebCore::GraphicsContextGLWebGLVersion, WebCore::GraphicsContextGLAttributes&amp;&amp;) + 330
6   com.apple.WebCore             	0x00007fff3aa27ea5 WebCore::HTMLCanvasElement::getContext(JSC::JSGlobalObject&amp;, WTF::String const&amp;, WTF::Vector&lt;JSC::Strong&lt;JSC::Unknown, (JSC::ShouldStrongDestructorGrabLock)0&gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;) + 1013
7   com.apple.WebCore             	0x00007fff39a6f80d WebCore::jsHTMLCanvasElementPrototypeFunction_getContext(JSC::JSGlobalObject*, JSC::CallFrame*) + 429
8   ???                           	0x00004a2582e011d8 0 + 81524969968088
9   com.apple.JavaScriptCore      	0x00007fff367f7157 llint_entry + 110528

The crashes are blocking several of our perf bots. The safest thing for now is probably to revert the patch to unblock our bots until Kimmo gets back to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774332</commentid>
    <comment_count>20</comment_count>
      <attachid>432758</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-01 18:27:56 -0700</bug_when>
    <thetext>Comment on attachment 432758
Patch

The GL_ARB_sync extension is emulated in ANGLE&apos;s Metal backend. Can you tell us what devices are affected, or what GPU families they have, so we can understand better why this emulation is failing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774333</commentid>
    <comment_count>21</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-01 18:32:52 -0700</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #20)
&gt; Comment on attachment 432758 [details]
&gt; Patch
&gt; 
&gt; The GL_ARB_sync extension is emulated in ANGLE&apos;s Metal backend. Can you tell
&gt; us what devices are affected, or what GPU families they have, so we can
&gt; understand better why this emulation is failing?

From my understanding, the issue lies mostly on Nvidia Machines. There&apos;s a comment for events:
    // http://crbug.com/1136673
    // Fence sync is flaky on Nvidia
    ANGLE_FEATURE_CONDITION((&amp;mFeatures), hasEvents, isMetal2_1 &amp;&amp; !isNVIDIA());

as events drive ARB_Sync, this isn&apos;t too unexpected. 

  if (mFeatures.hasEvents.enabled)
    {
        // MTLSharedEvent is only available since Metal 2.1
        outExtensions-&gt;fenceSync = true;
        outExtensions-&gt;waitSync  = true;
    }

We might be able to emulate these to not use GPUDriven events, but rather split the command buffer on sync points for systems that don&apos;t support events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774334</commentid>
    <comment_count>22</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-07-01 18:34:04 -0700</bug_when>
    <thetext>Over to Dean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774340</commentid>
    <comment_count>23</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-01 18:45:54 -0700</bug_when>
    <thetext>(In reply to Kyle Piddington from comment #21)
&gt; We might be able to emulate these to not use GPUDriven events, but rather
&gt; split the command buffer on sync points for systems that don&apos;t support
&gt; events.

Great analysis Kyle - this sounds good. These don&apos;t have to be extremely accurate. Would it be feasible for you to try that and test it on your system by force-enabling that code path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774365</commentid>
    <comment_count>24</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-01 23:01:59 -0700</bug_when>
    <thetext>Committed r279497 (239349@main): &lt;https://commits.webkit.org/239349@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432758.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774366</commentid>
    <comment_count>25</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-07-01 23:03:17 -0700</bug_when>
    <thetext>Reopening for the actual fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776119</commentid>
    <comment_count>26</comment_count>
      <attachid>433251</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-09 19:00:14 -0700</bug_when>
    <thetext>Created attachment 433251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776424</commentid>
    <comment_count>27</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-12 13:43:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80479483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776440</commentid>
    <comment_count>28</comment_count>
      <attachid>433251</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-12 14:02:21 -0700</bug_when>
    <thetext>Comment on attachment 433251
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

Can more description be copied from the reverted patch&apos;s ChangeLog, and also a description added of what changed in this version of the patch to fix the previous breakage?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776441</commentid>
    <comment_count>29</comment_count>
      <attachid>433251</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-12 14:02:46 -0700</bug_when>
    <thetext>Comment on attachment 433251
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests (OOPS!).

Note also: this line will have to be removed for the CQ to land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776523</commentid>
    <comment_count>30</comment_count>
      <attachid>433383</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-12 18:26:08 -0700</bug_when>
    <thetext>Created attachment 433383
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776531</commentid>
    <comment_count>31</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-12 19:24:58 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 433383 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776703</commentid>
    <comment_count>32</comment_count>
      <attachid>433437</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-13 11:50:51 -0700</bug_when>
    <thetext>Created attachment 433437
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776720</commentid>
    <comment_count>33</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-13 12:28:26 -0700</bug_when>
    <thetext>Committed r279883 (239635@main): &lt;https://commits.webkit.org/239635@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433437.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431528</attachid>
            <date>2021-06-16 02:17:38 -0700</date>
            <delta_ts>2021-06-16 03:43:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210616121736.patch</filename>
            <type>text/plain</type>
            <size>15797</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNDgwMjQ2ZGIwODBhMzg2NTcwZTZmYjg5NDZlZTRkNTVmZGM2ZDliMy4uNGEzN2NmZDk4ODA0
MjdmMDFiYjY3ZWFjMDNmN2ZiODEyODk1Nzg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAzMzVjNmFlYTYyZmRjODkxNzZiZGJlZmY5YjJkNDMwN2I3NDkyNWVkLi5lOTAzMjNkNzRk
MjVmYWNhZGViYTk3ZmE0YzcyYjQ1YmI4ZDE4MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE0ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyIGNhbGxzIHZpcnR1YWwgZnVuY3Rpb24gZXJyb25l
b3VzbHkgaW4gZGVzdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0gYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQppbmRl
eCA3MGQ3NGU5MzhiOTdlZjU0MmNmZDE3MGE5MjM5YTQyNzRkMmZmMjQ4Li5lOTJjYzI4MzllYzJk
Y2ZmMzNkMGVjM2ZjMWRiYjhlNDUwYjA3MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxh
eU10bC5tbQpAQCAtODQyLDYgKzg0Miw5IEBAIHZvaWQgRGlzcGxheU10bDo6aW5pdGlhbGl6ZUV4
dGVuc2lvbnMoKSBjb25zdAogCiAgICAgICAgIC8vIEdMX09FU19FR0xfc3luYwogICAgICAgICBt
TmF0aXZlRXh0ZW5zaW9ucy5lZ2xTeW5jT0VTID0gdHJ1ZTsKKworICAgICAgICAvLyBHTF9BUkJf
c3luYworICAgICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5nbFN5bmNBUkIgPSB0cnVlOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDI5NmY5ODI5NmM5YTZjYjY2NjgzMzc0NGRkNWRjNzY3NzBiZTZmMzUuLmFiNDZh
M2E1OGFlZTgwMDVlMjFlMzU0YzRhNWU2YzU0YjBmMmVlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQsNyBA
QAogCQkyNkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0
MUIzQjY4RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMw
MEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZp
ZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENv
bmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZF
MDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUwMEM5
ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMw
ODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5
OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5
RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4
RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkg
LyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3
MCAvKiBHcmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcw
IC8qIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0Iy
Nzk2IC8qIFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAv
KiBTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8q
IFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNz
Q29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAwMDI5
RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQwOCAv
KiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8q
IEdyYXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFw
aGljc0NvbnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBo
aWNzQ2hlY2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3Mzgx
RkE5MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAv
KiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpAQCAtMzI2NDYsNyArMzI2NDYsNiBAQAog
CQkJCUU0QThEMjE2MjI1NzhEQjcwMEE4NDYzQyAvKiBFdmVudFJlZ2lvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTBGRUYzNzJCMTdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTJFREI3QjBCMzA4QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuaCBp
biBIZWFkZXJzICovLAotCQkJCUUzQ0EwQkZDMjY3M0Y0N0MwMDlGREQ2NyAvKiBKU0RPTUJpbmRp
bmdTZWN1cml0eUlubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0QjM0OUEyMjJGODZFNzUw
MEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FB
M0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZhY2Vz
LmggaW4gSGVhZGVycyAqLywKQEAgLTMzNDUzLDYgKzMzNDUyLDcgQEAKIAkJCQk5M0I3MEQ2NDA5
RUIwQzdDMDA5RDg0NjggLyogSlNET01CaW5kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZF
NkZFODFCQkQxMkRGMDAwQTNGNjUgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzQnVpbHRpbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNDVDOUQ0MUUzRkNCREYwMEFBQjU1OCAvKiBKU0RPTUJpbmRp
bmdTZWN1cml0eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDQTBCRkMyNjczRjQ3QzAwOUZERDY3
IC8qIEpTRE9NQmluZGluZ1NlY3VyaXR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NF
MTkxNzMxRjJBQkU3MTAwMjcyRjc5IC8qIEpTRE9NQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDRTE5MTczMUYyQUJFNzEwMDI3MkY3QSAvKiBKU0RPTUNhY2hlU3RvcmFnZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQxQzQ0MTYyNjBDMzhGRDAwRkY2NjczIC8qIEpTRE9NQ2FzdFRoaXNWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmluZGV4
IGYwNWIwZTUwNDM2MDI4MmRkZGUyODZiNGFlZDNiMjliODA0YTQzODAuLjE0NDdhYmVjMmI2OWY1
Zjc4NjI2NDRiM2Y1ZjY3OWU5NjA3MTZlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEUuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUg
PGNzdHJpbmc+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgorI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KQEAgLTYx
LDEwICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIHBh
Y2tlZERlcHRoU3RlbmNpbEV4dGVuc2lvbk5hbWUgPSAiR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVu
Y2lsIjsKIAotbmFtZXNwYWNlIHsKLQotCi19IC8vIG5hbWVzcGFjZSBhbm9ueW1vdXMKK3N0YXRp
YyBTZWNvbmRzIG1heEZyYW1lRHVyYXRpb24gPSA1X3M7CiAKICNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKElPU19GQU1JTFkpCiBzdGF0aWMgdm9pZCB3aXBlQWxwaGFDaGFubmVsRnJvbVBp
eGVscyhpbnQgd2lkdGgsIGludCBoZWlnaHQsIHVuc2lnbmVkIGNoYXIqIHBpeGVscykKQEAgLTI4
NDYsNiArMjg0NCwyNyBAQCBHcmFwaGljc0NvbnRleHRHTENWKiBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6YXNDVigpCiB9CiAjZW5kaWYKIAorYm9vbCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkKK3sKKyAgICBzaXplX3Qgb2xkZXN0RnJhbWVDb21w
bGV0aW9uRmVuY2UgPSBtX29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlKysgJSBtYXhQZW5kaW5n
RnJhbWVzOworICAgIGJvb2wgc3VjY2VzcyA9IHRydWU7CisgICAgaWYgKFNjb3BlZEdMRmVuY2Ug
ZmVuY2UgPSBXVEZNb3ZlKG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxl
dGlvbkZlbmNlXSkpIHsKKyAgICAgICAgLy8gV2FpdCBzbyB0aGF0IHJlbmRlcmluZyBkb2VzIG5v
dCBnZXQgbW9yZSB0aGFuIG1heFBlbmRpbmdGcmFtZXMgZnJhbWVzIGFoZWFkLgorICAgICAgICBH
TGJpdGZpZWxkIGZsYWdzID0gR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQ7CisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgICAgIC8vIEF2b2lkIHVzaW5nIHRoZSBHTF9TWU5DX0ZMVVNIX0NPTU1B
TkRTX0JJVCBiZWNhdXNlIGVhY2ggZWFjaCBmcmFtZSBpcyBlbmRlZCB3aXRoIGEgZmx1c2gKKyAg
ICAgICAgLy8gZHVlIHRvIGV4dGVybmFsIElPU3VyZmFjZSBhY2Nlc3MuIFRoaXMgcGFydGljdWxh
ciBmZW5jZSBpcyBtYXhQZW5kaW5nRnJhbWVzIGJlaGluZC4KKyAgICAgICAgLy8gVGhpcyBtZWFu
cyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMgYWxyZWFkeSBiZWVuIGZsdXNoZWQuCisg
ICAgICAgIGZsYWdzID0gMDsKKyNlbmRpZgorICAgICAgICBHTGVudW0gcmVzdWx0ID0gZ2w6OkNs
aWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vjb25kc0Fz
PEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCk7
CisgICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQgIT0gR0xfV0FJVF9GQUlMRUQgJiYgcmVzdWx0ICE9
IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyAgICB9CisgICAgbV9mcmFtZUNvbXBsZXRpb25GZW5jZXNb
b2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2VdLmZlbmNlU3luYygpOworICAgIHJldHVybiBzdWNj
ZXNzOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpICYmIFVTRShBTkdMRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNz
Q29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAppbmRleCA0YmEzY2I1
ODk2NWQwMjQ1ZWViNDYxOWU0YzdlNjJjNzczNTQ3NWU1Li4xY2VmN2UzNTMyMzcwOTA2NTRmMmE0
NWQ5MDRmNWQ0NmFhZjI4ZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdM
RVV0aWxpdGllcy5oCkBAIC0yMDQsNiArMjA0LDQ3IEBAIHByaXZhdGU6CiAgICAgR0x1aW50IG1f
b2JqZWN0IHsgMCB9OwogfTsKIAorY2xhc3MgU2NvcGVkR0xGZW5jZSB7CitwdWJsaWM6CisgICAg
U2NvcGVkR0xGZW5jZSgpID0gZGVmYXVsdDsKKyAgICBTY29wZWRHTEZlbmNlKFNjb3BlZEdMRmVu
Y2UmJiBvdGhlcikKKyAgICAgICAgOiBtX29iamVjdChzdGQ6OmV4Y2hhbmdlKG90aGVyLm1fb2Jq
ZWN0LCB7IH0pKQorICAgIHsKKyAgICB9CisgICAgU2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNj
b3BlZEdMRmVuY2UmJiBvdGhlcikKKyAgICB7CisgICAgICAgIHJlc2V0KCk7CisgICAgICAgIG1f
b2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsKKyAgICAgICAgcmV0
dXJuICp0aGlzOworICAgIH0KKyAgICB+U2NvcGVkR0xGZW5jZSgpCisgICAgeworICAgICAgICBy
ZXNldCgpOworICAgIH0KKyAgICB2b2lkIHJlc2V0KCkKKyAgICB7CisgICAgICAgIGlmIChtX29i
amVjdCkgeworICAgICAgICAgICAgZ2w6OkRlbGV0ZVN5bmMobV9vYmplY3QpOworICAgICAgICAg
ICAgbV9vYmplY3QgPSB7IH07CisgICAgICAgIH0KKyAgICB9CisgICAgdm9pZCBhYmFuZG9uKCkK
KyAgICB7CisgICAgICAgIG1fb2JqZWN0ID0geyB9OworICAgIH0KKyAgICB2b2lkIGZlbmNlU3lu
YygpCisgICAgeworICAgICAgICByZXNldCgpOworICAgICAgICBtX29iamVjdCA9IGdsOjpGZW5j
ZVN5bmMoR0xfU1lOQ19HUFVfQ09NTUFORFNfQ09NUExFVEUsIDApOworICAgIH0KKyAgICBvcGVy
YXRvciBHTHN5bmMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb2JqZWN0OworICAg
IH0KK3ByaXZhdGU6CisgICAgR0xzeW5jIG1fb2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwNmUyOGYy
ZWM2Mzg0N2I3ZDg2YWUwNTU0NmY1OGRlZjhlNmRmYzI2Li4xZTM3ZTI0NzFiOWM3Y2RmZDdhYTNi
MjM2YzUyOGVlOGQyZmQ3YzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
Q29jb2EubW0KQEAgLTI4Niw2ICsyODYsMTAgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Okdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAg
ICBpZiAobV9pc0ZvcldlYkdMMikgewogICAgICAgICAvLyBGb3IgV2ViR0wgMi4wIG9jY2x1c2lv
biBxdWVyaWVzIHRvIHdvcmsuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdM
X0VYVF9vY2NsdXNpb25fcXVlcnlfYm9vbGVhbiJfcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Ly8gVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgR0xzeW5jIG9iamVjdHMuIEVuYWJsZSB0aGUgZnVu
Y3Rpb25hbGl0eSBmb3IgV2ViR0wgMS4wIGNvbnRleHRzCisgICAgICAgIC8vIHRoYXQgdXNlIE9w
ZW5HTCBFUyAyLjAuCisgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FSQl9z
eW5jIl9zKTsKICAgICB9CiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKICAgICBpZiAoIW5lZWRzRUFHTE9uTWFjKCkpIHsKQEAgLTI5Myw4ICsyOTcsNyBAQCBHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250
ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJH
TF9BTkdMRV90ZXh0dXJlX3JlY3RhbmdsZSJfcyk7CiAgICAgICAgIC8vIEZvciBjcmVhdGluZyB0
aGUgRUdMIHN1cmZhY2UgZnJvbSBhbiBJT1N1cmZhY2UuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5z
aW9ucy5hcHBlbmQoIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCJfcyk7Ci0gICAgICAg
ICAgICB9Ci0KKyAgICB9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKICAgICBFeHRlbnNpb25zR0wmIGV4dGVuc2lvbnMgPSBnZXRFeHRlbnNpb25zKCk7
CiAgICAgZm9yIChhdXRvJiBleHRlbnNpb24gOiByZXF1aXJlZEV4dGVuc2lvbnMpIHsKQEAgLTM4
NSw2ICszODgsMTEgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRH
TE9wZW5HTCgpCiAgICAgICAgICAgICBnbDo6RGVsZXRlVGV4dHVyZXMoMSwgJm1fcHJlc2VydmVE
cmF3aW5nQnVmZmVyVGV4dHVyZSk7CiAgICAgICAgIGlmIChtX3ByZXNlcnZlRHJhd2luZ0J1ZmZl
ckZCTykKICAgICAgICAgICAgIGdsOjpEZWxldGVGcmFtZWJ1ZmZlcnMoMSwgJm1fcHJlc2VydmVE
cmF3aW5nQnVmZmVyRkJPKTsKKyAgICAgICAgZm9yIChhdXRvJiBmZW5jZSA6IG1fZnJhbWVDb21w
bGV0aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UucmVzZXQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRpb25GZW5jZXMpCisgICAg
ICAgICAgICBmZW5jZS5hYmFuZG9uKCk7CiAgICAgfQogICAgIGlmIChtX2Rpc3BsYXlCdWZmZXJQ
YnVmZmVyKSB7CiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFjZShtX2Rpc3BsYXlPYmosIG1fZGlz
cGxheUJ1ZmZlclBidWZmZXIpOwpAQCAtNzIwLDggKzcyOCw5IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnByZXBhcmVGb3JEaXNwbGF5KCkKICAgICAvLyBFcnJvciB3aWxsIGJlIGhh
bmRsZWQgYnkgbmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90
aWNlIGxhY2sgb2YgZGlzcGxheSBidWZmZXIuCiAgICAgaWYgKCFoYXNOZXdCYWNraW5nKQogICAg
ICAgICBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwotCiAgICAgbWFya0xh
eWVyQ29tcG9zaXRlZCgpOworICAgIGJvb2wgc3VjY2VzcyA9IHdhaXRBbmRVcGRhdGVPbGRlc3RG
cmFtZSgpOworICAgIFVOVVNFRF9WQVJJQUJMRShzdWNjZXNzKTsgLy8gRklYTUU6IGltcGxlbWVu
dCBjb250ZXh0IGxvc3QuCiB9CiAKIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpyZWFkQ29tcG9zaXRlZFJlc3VsdHMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0wuaAppbmRleCA2MGNiYWVkZDIzOGY0OTk5ZjY0ODkzNDJiMjBjNDk1NDI4
YmEzYjAwLi4zZDk5NzJmZDA2NDRhOGFmZTk2OTQ3YjA5ZjhlZDI1NTkwOGM5MmVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaApAQCAtNDUsMTEgKzQ1LDE5IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1DQUxheWVyLmgiCiAjZW5kaWYKIAotI2lmICFVU0UoQU5HTEUpCisjaWYgVVNF
KEFOR0xFKQorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCIKKyNl
bHNlCiAjaW5jbHVkZSAiQU5HTEVXZWJLaXRCcmlkZ2UuaCIKICNpbmNsdWRlICJFeHRlbnNpb25z
R0xPcGVuR0xDb21tb24uaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUg
IlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCIKKyNlbmRpZgorCisKKwogLy8gRklY
TUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBO
T19FUlJPUi4KICNpZiBQTEFURk9STShXSU4pCiAjdW5kZWYgTk9fRVJST1IKQEAgLTcyLDEwICs4
MCw2IEBAIGNsYXNzIEdDR0xMYXllcjsKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQot
I2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCIKLSNlbmRpZgotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFeHRlbnNpb25zR0w7CiAjaWYgVVNFKEFOR0xFKQpA
QCAtNTc0LDYgKzU3OCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlz
cGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBib29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhz
dGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKICNlbmRp
ZgorI2lmIFVTRShBTkdMRSkKKyAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxk
IGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCisgICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJh
bWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluKiBtX3N3YXBDaGFpbiB7IG51
bGxwdHIgfTsKQEAgLTc4Nyw2ICs3OTUsMTEgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU8p
ICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4
dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKKyNpZiBVU0UoQU5HTEUpCisgICAgc3RhdGljIGNvbnN0ZXhw
ciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9IDM7CisgICAgc2l6ZV90IG1fb2xkZXN0RnJhbWVD
b21wbGV0aW9uRmVuY2UgeyAwIH07CisgICAgU2NvcGVkR0xGZW5jZSBtX2ZyYW1lQ29tcGxldGlv
bkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431532</attachid>
            <date>2021-06-16 03:43:31 -0700</date>
            <delta_ts>2021-06-16 05:01:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210616134329.patch</filename>
            <type>text/plain</type>
            <size>15797</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNDgwMjQ2ZGIwODBhMzg2NTcwZTZmYjg5NDZlZTRkNTVmZGM2ZDliMy4uNGEzN2NmZDk4ODA0
MjdmMDFiYjY3ZWFjMDNmN2ZiODEyODk1Nzg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAzMzVjNmFlYTYyZmRjODkxNzZiZGJlZmY5YjJkNDMwN2I3NDkyNWVkLi5lOTAzMjNkNzRk
MjVmYWNhZGViYTk3ZmE0YzcyYjQ1YmI4ZDE4MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE0ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyIGNhbGxzIHZpcnR1YWwgZnVuY3Rpb24gZXJyb25l
b3VzbHkgaW4gZGVzdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0gYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQppbmRl
eCA3MGQ3NGU5MzhiOTdlZjU0MmNmZDE3MGE5MjM5YTQyNzRkMmZmMjQ4Li5lOTJjYzI4MzllYzJk
Y2ZmMzNkMGVjM2ZjMWRiYjhlNDUwYjA3MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxh
eU10bC5tbQpAQCAtODQyLDYgKzg0Miw5IEBAIHZvaWQgRGlzcGxheU10bDo6aW5pdGlhbGl6ZUV4
dGVuc2lvbnMoKSBjb25zdAogCiAgICAgICAgIC8vIEdMX09FU19FR0xfc3luYwogICAgICAgICBt
TmF0aXZlRXh0ZW5zaW9ucy5lZ2xTeW5jT0VTID0gdHJ1ZTsKKworICAgICAgICAvLyBHTF9BUkJf
c3luYworICAgICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5nbFN5bmNBUkIgPSB0cnVlOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDI5NmY5ODI5NmM5YTZjYjY2NjgzMzc0NGRkNWRjNzY3NzBiZTZmMzUuLmFiNDZh
M2E1OGFlZTgwMDVlMjFlMzU0YzRhNWU2YzU0YjBmMmVlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQsNyBA
QAogCQkyNkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0
MUIzQjY4RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMw
MEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZp
ZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENv
bmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZF
MDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUwMEM5
ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMw
ODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5
OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5
RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4
RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkg
LyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3
MCAvKiBHcmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcw
IC8qIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0Iy
Nzk2IC8qIFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAv
KiBTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8q
IFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNz
Q29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAwMDI5
RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQwOCAv
KiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8q
IEdyYXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFw
aGljc0NvbnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBo
aWNzQ2hlY2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3Mzgx
RkE5MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAv
KiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpAQCAtMzI2NDYsNyArMzI2NDYsNiBAQAog
CQkJCUU0QThEMjE2MjI1NzhEQjcwMEE4NDYzQyAvKiBFdmVudFJlZ2lvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTBGRUYzNzJCMTdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTJFREI3QjBCMzA4QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuaCBp
biBIZWFkZXJzICovLAotCQkJCUUzQ0EwQkZDMjY3M0Y0N0MwMDlGREQ2NyAvKiBKU0RPTUJpbmRp
bmdTZWN1cml0eUlubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0QjM0OUEyMjJGODZFNzUw
MEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FB
M0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZhY2Vz
LmggaW4gSGVhZGVycyAqLywKQEAgLTMzNDUzLDYgKzMzNDUyLDcgQEAKIAkJCQk5M0I3MEQ2NDA5
RUIwQzdDMDA5RDg0NjggLyogSlNET01CaW5kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZF
NkZFODFCQkQxMkRGMDAwQTNGNjUgLyogSlNET01CaW5kaW5nSW50ZXJuYWxzQnVpbHRpbnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNDVDOUQ0MUUzRkNCREYwMEFBQjU1OCAvKiBKU0RPTUJpbmRp
bmdTZWN1cml0eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTNDQTBCRkMyNjczRjQ3QzAwOUZERDY3
IC8qIEpTRE9NQmluZGluZ1NlY3VyaXR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NF
MTkxNzMxRjJBQkU3MTAwMjcyRjc5IC8qIEpTRE9NQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDRTE5MTczMUYyQUJFNzEwMDI3MkY3QSAvKiBKU0RPTUNhY2hlU3RvcmFnZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQxQzQ0MTYyNjBDMzhGRDAwRkY2NjczIC8qIEpTRE9NQ2FzdFRoaXNWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmluZGV4
IGYwNWIwZTUwNDM2MDI4MmRkZGUyODZiNGFlZDNiMjliODA0YTQzODAuLjE0NDdhYmVjMmI2OWY1
Zjc4NjI2NDRiM2Y1ZjY3OWU5NjA3MTZlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEUuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUg
PGNzdHJpbmc+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgorI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KQEAgLTYx
LDEwICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIHBh
Y2tlZERlcHRoU3RlbmNpbEV4dGVuc2lvbk5hbWUgPSAiR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVu
Y2lsIjsKIAotbmFtZXNwYWNlIHsKLQotCi19IC8vIG5hbWVzcGFjZSBhbm9ueW1vdXMKK3N0YXRp
YyBTZWNvbmRzIG1heEZyYW1lRHVyYXRpb24gPSA1X3M7CiAKICNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKElPU19GQU1JTFkpCiBzdGF0aWMgdm9pZCB3aXBlQWxwaGFDaGFubmVsRnJvbVBp
eGVscyhpbnQgd2lkdGgsIGludCBoZWlnaHQsIHVuc2lnbmVkIGNoYXIqIHBpeGVscykKQEAgLTI4
NDYsNiArMjg0NCwyNyBAQCBHcmFwaGljc0NvbnRleHRHTENWKiBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6YXNDVigpCiB9CiAjZW5kaWYKIAorYm9vbCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkKK3sKKyAgICBzaXplX3Qgb2xkZXN0RnJhbWVDb21w
bGV0aW9uRmVuY2UgPSBtX29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlKysgJSBtYXhQZW5kaW5n
RnJhbWVzOworICAgIGJvb2wgc3VjY2VzcyA9IHRydWU7CisgICAgaWYgKFNjb3BlZEdMRmVuY2Ug
ZmVuY2UgPSBXVEZNb3ZlKG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxl
dGlvbkZlbmNlXSkpIHsKKyAgICAgICAgLy8gV2FpdCBzbyB0aGF0IHJlbmRlcmluZyBkb2VzIG5v
dCBnZXQgbW9yZSB0aGFuIG1heFBlbmRpbmdGcmFtZXMgZnJhbWVzIGFoZWFkLgorICAgICAgICBH
TGJpdGZpZWxkIGZsYWdzID0gR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQ7CisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgICAgIC8vIEF2b2lkIHVzaW5nIHRoZSBHTF9TWU5DX0ZMVVNIX0NPTU1B
TkRTX0JJVCBiZWNhdXNlIGVhY2ggZWFjaCBmcmFtZSBpcyBlbmRlZCB3aXRoIGEgZmx1c2gKKyAg
ICAgICAgLy8gZHVlIHRvIGV4dGVybmFsIElPU3VyZmFjZSBhY2Nlc3MuIFRoaXMgcGFydGljdWxh
ciBmZW5jZSBpcyBtYXhQZW5kaW5nRnJhbWVzIGJlaGluZC4KKyAgICAgICAgLy8gVGhpcyBtZWFu
cyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMgYWxyZWFkeSBiZWVuIGZsdXNoZWQuCisg
ICAgICAgIGZsYWdzID0gMDsKKyNlbmRpZgorICAgICAgICBHTGVudW0gcmVzdWx0ID0gZ2w6OkNs
aWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vjb25kc0Fz
PEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCk7
CisgICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQgIT0gR0xfV0FJVF9GQUlMRUQgJiYgcmVzdWx0ICE9
IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyAgICB9CisgICAgbV9mcmFtZUNvbXBsZXRpb25GZW5jZXNb
b2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2VdLmZlbmNlU3luYygpOworICAgIHJldHVybiBzdWNj
ZXNzOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpICYmIFVTRShBTkdMRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNz
Q29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAppbmRleCA0YmEzY2I1
ODk2NWQwMjQ1ZWViNDYxOWU0YzdlNjJjNzczNTQ3NWU1Li4xY2VmN2UzNTMyMzcwOTA2NTRmMmE0
NWQ5MDRmNWQ0NmFhZjI4ZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdM
RVV0aWxpdGllcy5oCkBAIC0yMDQsNiArMjA0LDQ3IEBAIHByaXZhdGU6CiAgICAgR0x1aW50IG1f
b2JqZWN0IHsgMCB9OwogfTsKIAorY2xhc3MgU2NvcGVkR0xGZW5jZSB7CitwdWJsaWM6CisgICAg
U2NvcGVkR0xGZW5jZSgpID0gZGVmYXVsdDsKKyAgICBTY29wZWRHTEZlbmNlKFNjb3BlZEdMRmVu
Y2UmJiBvdGhlcikKKyAgICAgICAgOiBtX29iamVjdChzdGQ6OmV4Y2hhbmdlKG90aGVyLm1fb2Jq
ZWN0LCB7IH0pKQorICAgIHsKKyAgICB9CisgICAgU2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNj
b3BlZEdMRmVuY2UmJiBvdGhlcikKKyAgICB7CisgICAgICAgIHJlc2V0KCk7CisgICAgICAgIG1f
b2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsKKyAgICAgICAgcmV0
dXJuICp0aGlzOworICAgIH0KKyAgICB+U2NvcGVkR0xGZW5jZSgpCisgICAgeworICAgICAgICBy
ZXNldCgpOworICAgIH0KKyAgICB2b2lkIHJlc2V0KCkKKyAgICB7CisgICAgICAgIGlmIChtX29i
amVjdCkgeworICAgICAgICAgICAgZ2w6OkRlbGV0ZVN5bmMobV9vYmplY3QpOworICAgICAgICAg
ICAgbV9vYmplY3QgPSB7IH07CisgICAgICAgIH0KKyAgICB9CisgICAgdm9pZCBhYmFuZG9uKCkK
KyAgICB7CisgICAgICAgIG1fb2JqZWN0ID0geyB9OworICAgIH0KKyAgICB2b2lkIGZlbmNlU3lu
YygpCisgICAgeworICAgICAgICByZXNldCgpOworICAgICAgICBtX29iamVjdCA9IGdsOjpGZW5j
ZVN5bmMoR0xfU1lOQ19HUFVfQ09NTUFORFNfQ09NUExFVEUsIDApOworICAgIH0KKyAgICBvcGVy
YXRvciBHTHN5bmMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb2JqZWN0OworICAg
IH0KK3ByaXZhdGU6CisgICAgR0xzeW5jIG1fb2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwNmUyOGYy
ZWM2Mzg0N2I3ZDg2YWUwNTU0NmY1OGRlZjhlNmRmYzI2Li4xZTM3ZTI0NzFiOWM3Y2RmZDdhYTNi
MjM2YzUyOGVlOGQyZmQ3YzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
Q29jb2EubW0KQEAgLTI4Niw2ICsyODYsMTAgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Okdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAg
ICBpZiAobV9pc0ZvcldlYkdMMikgewogICAgICAgICAvLyBGb3IgV2ViR0wgMi4wIG9jY2x1c2lv
biBxdWVyaWVzIHRvIHdvcmsuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdM
X0VYVF9vY2NsdXNpb25fcXVlcnlfYm9vbGVhbiJfcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Ly8gVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgR0xzeW5jIG9iamVjdHMuIEVuYWJsZSB0aGUgZnVu
Y3Rpb25hbGl0eSBmb3IgV2ViR0wgMS4wIGNvbnRleHRzCisgICAgICAgIC8vIHRoYXQgdXNlIE9w
ZW5HTCBFUyAyLjAuCisgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FSQl9z
eW5jIl9zKTsKICAgICB9CiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKICAgICBpZiAoIW5lZWRzRUFHTE9uTWFjKCkpIHsKQEAgLTI5Myw4ICsyOTcsNyBAQCBHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250
ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJH
TF9BTkdMRV90ZXh0dXJlX3JlY3RhbmdsZSJfcyk7CiAgICAgICAgIC8vIEZvciBjcmVhdGluZyB0
aGUgRUdMIHN1cmZhY2UgZnJvbSBhbiBJT1N1cmZhY2UuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5z
aW9ucy5hcHBlbmQoIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCJfcyk7Ci0gICAgICAg
ICAgICB9Ci0KKyAgICB9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKICAgICBFeHRlbnNpb25zR0wmIGV4dGVuc2lvbnMgPSBnZXRFeHRlbnNpb25zKCk7
CiAgICAgZm9yIChhdXRvJiBleHRlbnNpb24gOiByZXF1aXJlZEV4dGVuc2lvbnMpIHsKQEAgLTM4
NSw2ICszODgsMTEgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRH
TE9wZW5HTCgpCiAgICAgICAgICAgICBnbDo6RGVsZXRlVGV4dHVyZXMoMSwgJm1fcHJlc2VydmVE
cmF3aW5nQnVmZmVyVGV4dHVyZSk7CiAgICAgICAgIGlmIChtX3ByZXNlcnZlRHJhd2luZ0J1ZmZl
ckZCTykKICAgICAgICAgICAgIGdsOjpEZWxldGVGcmFtZWJ1ZmZlcnMoMSwgJm1fcHJlc2VydmVE
cmF3aW5nQnVmZmVyRkJPKTsKKyAgICAgICAgZm9yIChhdXRvJiBmZW5jZSA6IG1fZnJhbWVDb21w
bGV0aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UucmVzZXQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRpb25GZW5jZXMpCisgICAg
ICAgICAgICBmZW5jZS5hYmFuZG9uKCk7CiAgICAgfQogICAgIGlmIChtX2Rpc3BsYXlCdWZmZXJQ
YnVmZmVyKSB7CiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFjZShtX2Rpc3BsYXlPYmosIG1fZGlz
cGxheUJ1ZmZlclBidWZmZXIpOwpAQCAtNzIwLDggKzcyOCw5IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnByZXBhcmVGb3JEaXNwbGF5KCkKICAgICAvLyBFcnJvciB3aWxsIGJlIGhh
bmRsZWQgYnkgbmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90
aWNlIGxhY2sgb2YgZGlzcGxheSBidWZmZXIuCiAgICAgaWYgKCFoYXNOZXdCYWNraW5nKQogICAg
ICAgICBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwotCiAgICAgbWFya0xh
eWVyQ29tcG9zaXRlZCgpOworICAgIGJvb2wgc3VjY2VzcyA9IHdhaXRBbmRVcGRhdGVPbGRlc3RG
cmFtZSgpOworICAgIFVOVVNFRF9WQVJJQUJMRShzdWNjZXNzKTsgLy8gRklYTUU6IGltcGxlbWVu
dCBjb250ZXh0IGxvc3QuCiB9CiAKIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpyZWFkQ29tcG9zaXRlZFJlc3VsdHMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0wuaAppbmRleCA2MGNiYWVkZDIzOGY0OTk5ZjY0ODkzNDJiMjBjNDk1NDI4
YmEzYjAwLi4zZDk5NzJmZDA2NDRhOGFmZTk2OTQ3YjA5ZjhlZDI1NTkwOGM5MmVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaApAQCAtNDUsMTEgKzQ1LDE5IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1DQUxheWVyLmgiCiAjZW5kaWYKIAotI2lmICFVU0UoQU5HTEUpCisjaWYgVVNF
KEFOR0xFKQorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCIKKyNl
bHNlCiAjaW5jbHVkZSAiQU5HTEVXZWJLaXRCcmlkZ2UuaCIKICNpbmNsdWRlICJFeHRlbnNpb25z
R0xPcGVuR0xDb21tb24uaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUg
IlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCIKKyNlbmRpZgorCisKKwogLy8gRklY
TUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBO
T19FUlJPUi4KICNpZiBQTEFURk9STShXSU4pCiAjdW5kZWYgTk9fRVJST1IKQEAgLTcyLDEwICs4
MCw2IEBAIGNsYXNzIEdDR0xMYXllcjsKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQot
I2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCIKLSNlbmRpZgotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFeHRlbnNpb25zR0w7CiAjaWYgVVNFKEFOR0xFKQpA
QCAtNTc0LDYgKzU3OCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlz
cGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBib29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhz
dGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKICNlbmRp
ZgorI2lmIFVTRShBTkdMRSkKKyAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxk
IGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCisgICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJh
bWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluKiBtX3N3YXBDaGFpbiB7IG51
bGxwdHIgfTsKQEAgLTc4Nyw2ICs3OTUsMTEgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU8p
ICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4
dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKKyNpZiBVU0UoQU5HTEUpCisgICAgc3RhdGljIGNvbnN0ZXhw
ciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9IDM7CisgICAgc2l6ZV90IG1fb2xkZXN0RnJhbWVD
b21wbGV0aW9uRmVuY2UgeyAwIH07CisgICAgU2NvcGVkR0xGZW5jZSBtX2ZyYW1lQ29tcGxldGlv
bkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431537</attachid>
            <date>2021-06-16 05:01:37 -0700</date>
            <delta_ts>2021-06-21 03:05:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210616150135.patch</filename>
            <type>text/plain</type>
            <size>14787</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNTg5MTNmOTQyODQ0YzViYWVhYzY0NWRkNzU5YTkyMTYwMjdmNTk3ZC4uY2E1Y2JkMGNhMjc0
NDczZTJhODVkNjllYWE0ZGE2YTMzMzk3NjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBhNzIxYTc0MDBiNjNkMDk0MWE2OTEyNDk0ZTk3NjU4M2ZkODczYjM3Li5jZTNlMjUzZDcx
YzU0NmU4NWFiMTY2MTAyYzA5YWFlMmRlZTRjZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE2ICBQZXIgQXJuZSAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0
ZSBNZWRpYSBBY2Nlc3NpYmlsaXR5IHByZWZlcmVuY2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MgZnJvbSB0aGUgVUkgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0gYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQpp
bmRleCA3MGQ3NGU5MzhiOTdlZjU0MmNmZDE3MGE5MjM5YTQyNzRkMmZmMjQ4Li5lOTJjYzI4Mzll
YzJkY2ZmMzNkMGVjM2ZjMWRiYjhlNDUwYjA3MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlz
cGxheU10bC5tbQpAQCAtODQyLDYgKzg0Miw5IEBAIHZvaWQgRGlzcGxheU10bDo6aW5pdGlhbGl6
ZUV4dGVuc2lvbnMoKSBjb25zdAogCiAgICAgICAgIC8vIEdMX09FU19FR0xfc3luYwogICAgICAg
ICBtTmF0aXZlRXh0ZW5zaW9ucy5lZ2xTeW5jT0VTID0gdHJ1ZTsKKworICAgICAgICAvLyBHTF9B
UkJfc3luYworICAgICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5nbFN5bmNBUkIgPSB0cnVlOwogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDdiYWJkNTM4NzAxYTc3YTg5MGY3NjFkMjRkODkwM2I4NWUwYTcxM2YuLmVk
MWQ3N2M0MmYzNTljODdlMjg3NWY1Y2Y2MDFhMmJjNTQyMDljMGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQs
NyBAQAogCQkyNkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1
NkI0MUIzQjY4RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2
QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8q
IFZpZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFF
Qjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9y
dENvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1
RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUw
MEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0
RTMwODFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQw
MDQ5OTY2RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIx
RDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAw
NEE4RkM5IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FD
RjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4
MEM3MCAvKiBHcmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgw
QzcwIC8qIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAw
M0IyNzk2IC8qIFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5
NiAvKiBTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhD
IC8qIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyog
UmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyog
R3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBo
aWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAw
MDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQw
OCAvKiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4
IC8qIEdyYXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBH
cmFwaGljc0NvbnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdy
YXBoaWNzQ2hlY2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3
MzgxRkE5MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5
OSAvKiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRH
TEFOR0xFLmNwcAppbmRleCBmMDViMGU1MDQzNjAyODJkZGRlMjg2YjRhZWQzYjI5YjgwNGE0Mzgw
Li4xNDQ3YWJlYzJiNjlmNWY3ODYyNjQ0YjNmNWY2NzllOTYwNzE2ZTE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFO
R0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgPGFsZ29y
aXRobT4KICNpbmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNp
bmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdC
dWlsZGVyLmg+CkBAIC02MSwxMCArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRp
YyBjb25zdCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdMX09FU19w
YWNrZWRfZGVwdGhfc3RlbmNpbCI7CiAKLW5hbWVzcGFjZSB7Ci0KLQotfSAvLyBuYW1lc3BhY2Ug
YW5vbnltb3VzCitzdGF0aWMgU2Vjb25kcyBtYXhGcmFtZUR1cmF0aW9uID0gNV9zOwogCiAjaWYg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQgd2lwZUFs
cGhhQ2hhbm5lbEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBjaGFy
KiBwaXhlbHMpCkBAIC0yODQ2LDYgKzI4NDQsMjcgQEAgR3JhcGhpY3NDb250ZXh0R0xDViogR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2VuZGlmCiAKK2Jvb2wgR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCit7CisgICAgc2l6ZV90
IG9sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlID0gbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5j
ZSsrICUgbWF4UGVuZGluZ0ZyYW1lczsKKyAgICBib29sIHN1Y2Nlc3MgPSB0cnVlOworICAgIGlm
IChTY29wZWRHTEZlbmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1tv
bGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZV0pKSB7CisgICAgICAgIC8vIFdhaXQgc28gdGhhdCBy
ZW5kZXJpbmcgZG9lcyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJhbWVzIGZyYW1lcyBh
aGVhZC4KKyAgICAgICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxVU0hfQ09NTUFORFNf
QklUOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICAvLyBBdm9pZCB1c2luZyB0aGUgR0xf
U1lOQ19GTFVTSF9DT01NQU5EU19CSVQgYmVjYXVzZSBlYWNoIGVhY2ggZnJhbWUgaXMgZW5kZWQg
d2l0aCBhIGZsdXNoCisgICAgICAgIC8vIGR1ZSB0byBleHRlcm5hbCBJT1N1cmZhY2UgYWNjZXNz
LiBUaGlzIHBhcnRpY3VsYXIgZmVuY2UgaXMgbWF4UGVuZGluZ0ZyYW1lcyBiZWhpbmQuCisgICAg
ICAgIC8vIFRoaXMgbWVhbnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2UgaGFzIGFscmVhZHkg
YmVlbiBmbHVzaGVkLgorICAgICAgICBmbGFncyA9IDA7CisjZW5kaWYKKyAgICAgICAgR0xlbnVt
IHJlc3VsdCA9IGdsOjpDbGllbnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1heEZyYW1lRHVyYXRp
b24ubmFub3NlY29uZHNBczxHTHVpbnQ2ND4oKSk7CisgICAgICAgIEFTU0VSVChyZXN1bHQgIT0g
R0xfV0FJVF9GQUlMRUQpOworICAgICAgICBzdWNjZXNzID0gcmVzdWx0ICE9IEdMX1dBSVRfRkFJ
TEVEICYmIHJlc3VsdCAhPSBHTF9USU1FT1VUX0VYUElSRUQ7CisgICAgfQorICAgIG1fZnJhbWVD
b21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5bmMoKTsK
KyAgICByZXR1cm4gc3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSAm
JiBVU0UoQU5HTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVz
LmgKaW5kZXggNGJhM2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0NzVlNS4uMWNlZjdl
MzUzMjM3MDkwNjU0ZjJhNDVkOTA0ZjVkNDZhYWYyOGYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxp
dGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIwNCw0NyBAQCBwcml2YXRl
OgogICAgIEdMdWludCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNzIFNjb3BlZEdMRmVuY2Ug
eworcHVibGljOgorICAgIFNjb3BlZEdMRmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xG
ZW5jZShTY29wZWRHTEZlbmNlJiYgb3RoZXIpCisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNo
YW5nZShvdGhlci5tX29iamVjdCwgeyB9KSkKKyAgICB7CisgICAgfQorICAgIFNjb3BlZEdMRmVu
Y2UmIG9wZXJhdG9yPShTY29wZWRHTEZlbmNlJiYgb3RoZXIpCisgICAgeworICAgICAgICByZXNl
dCgpOworICAgICAgICBtX29iamVjdCA9IHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9vYmplY3QsIHsg
fSk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisgICAgflNjb3BlZEdMRmVuY2UoKQor
ICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAgICB9CisgICAgdm9pZCByZXNldCgpCisgICAgewor
ICAgICAgICBpZiAobV9vYmplY3QpIHsKKyAgICAgICAgICAgIGdsOjpEZWxldGVTeW5jKG1fb2Jq
ZWN0KTsKKyAgICAgICAgICAgIG1fb2JqZWN0ID0geyB9OworICAgICAgICB9CisgICAgfQorICAg
IHZvaWQgYWJhbmRvbigpCisgICAgeworICAgICAgICBtX29iamVjdCA9IHsgfTsKKyAgICB9Cisg
ICAgdm9pZCBmZW5jZVN5bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAgICAgICAgbV9v
YmplY3QgPSBnbDo6RmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsK
KyAgICB9CisgICAgb3BlcmF0b3IgR0xzeW5jKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX29iamVjdDsKKyAgICB9Citwcml2YXRlOgorICAgIEdMc3luYyBtX29iamVjdCB7IH07Cit9
OworCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2Eu
bW0KaW5kZXggMDZlMjhmMmVjNjM4NDdiN2Q4NmFlMDU1NDZmNThkZWY4ZTZkZmMyNi4uMWUzN2Uy
NDcxYjljN2NkZmQ3YWEzYjIzNmM1MjhlZThkMmZkN2MxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC0yODYsNiArMjg2LDEwIEBAIEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRHTEF0
dHJpYnV0ZXMgYXR0CiAgICAgaWYgKG1faXNGb3JXZWJHTDIpIHsKICAgICAgICAgLy8gRm9yIFdl
YkdMIDIuMCBvY2NsdXNpb24gcXVlcmllcyB0byB3b3JrLgogICAgICAgICByZXF1aXJlZEV4dGVu
c2lvbnMuYXBwZW5kKCJHTF9FWFRfb2NjbHVzaW9uX3F1ZXJ5X2Jvb2xlYW4iX3MpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiB1c2VzIEdMc3luYyBvYmplY3Rz
LiBFbmFibGUgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIFdlYkdMIDEuMCBjb250ZXh0cworICAgICAg
ICAvLyB0aGF0IHVzZSBPcGVuR0wgRVMgMi4wLgorICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMu
YXBwZW5kKCJHTF9BUkJfc3luYyJfcyk7CiAgICAgfQogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKCFuZWVkc0VBR0xPbk1hYygpKSB7CkBAIC0yOTMs
OCArMjk3LDcgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAgICAgICAgcmVxdWlyZWRFeHRl
bnNpb25zLmFwcGVuZCgiR0xfQU5HTEVfdGV4dHVyZV9yZWN0YW5nbGUiX3MpOwogICAgICAgICAv
LyBGb3IgY3JlYXRpbmcgdGhlIEVHTCBzdXJmYWNlIGZyb20gYW4gSU9TdXJmYWNlLgogICAgICAg
ICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4
ODgiX3MpOwotICAgICAgICAgICAgfQotCisgICAgfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgRXh0ZW5zaW9uc0dMJiBleHRlbnNpb25zID0g
Z2V0RXh0ZW5zaW9ucygpOwogICAgIGZvciAoYXV0byYgZXh0ZW5zaW9uIDogcmVxdWlyZWRFeHRl
bnNpb25zKSB7CkBAIC0zODUsNiArMzg4LDExIEBAIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp+
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woKQogICAgICAgICAgICAgZ2w6OkRlbGV0ZVRleHR1cmVz
KDEsICZtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlclRleHR1cmUpOwogICAgICAgICBpZiAobV9wcmVz
ZXJ2ZURyYXdpbmdCdWZmZXJGQk8pCiAgICAgICAgICAgICBnbDo6RGVsZXRlRnJhbWVidWZmZXJz
KDEsICZtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlckZCTyk7CisgICAgICAgIGZvciAoYXV0byYgZmVu
Y2UgOiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKKyAgICAgICAgICAgIGZlbmNlLnJlc2V0KCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yIChhdXRvJiBmZW5jZSA6IG1fZnJhbWVDb21wbGV0
aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UuYWJhbmRvbigpOwogICAgIH0KICAgICBpZiAo
bV9kaXNwbGF5QnVmZmVyUGJ1ZmZlcikgewogICAgICAgICBFR0xfRGVzdHJveVN1cmZhY2UobV9k
aXNwbGF5T2JqLCBtX2Rpc3BsYXlCdWZmZXJQYnVmZmVyKTsKQEAgLTcyMCw4ICs3MjgsOSBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAgICAgLy8g
RXJyb3Igd2lsbCBiZSBoYW5kbGVkIGJ5IG5leHQgY2FsbCB0byBtYWtlQ29udGV4dEN1cnJlbnQo
KSB3aGljaCB3aWxsIG5vdGljZSBsYWNrIG9mIGRpc3BsYXkgYnVmZmVyLgogICAgIGlmICghaGFz
TmV3QmFja2luZykKICAgICAgICAgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmco
KTsKLQogICAgIG1hcmtMYXllckNvbXBvc2l0ZWQoKTsKKyAgICBib29sIHN1Y2Nlc3MgPSB3YWl0
QW5kVXBkYXRlT2xkZXN0RnJhbWUoKTsKKyAgICBVTlVTRURfVkFSSUFCTEUoc3VjY2Vzcyk7IC8v
IEZJWE1FOiBpbXBsZW1lbnQgY29udGV4dCBsb3N0LgogfQogCiBzdGQ6Om9wdGlvbmFsPFBpeGVs
QnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVhZENvbXBvc2l0ZWRSZXN1bHRzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggNjBjYmFlZGQyMzhmNDk5OWY2
NDg5MzQyYjIwYzQ5NTQyOGJhM2IwMC4uM2Q5OTcyZmQwNjQ0YThhZmU5Njk0N2IwOWY4ZWQyNTU5
MDhjOTJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQ1LDExICs0
NSwxOSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXllci5oIgogI2VuZGlmCiAKLSNpZiAhVVNF
KEFOR0xFKQorI2lmIFVTRShBTkdMRSkKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRHTEFOR0xF
VXRpbGl0aWVzLmgiCisjZWxzZQogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCiAjaW5j
bHVkZSAiRXh0ZW5zaW9uc0dMT3BlbkdMQ29tbW9uLmgiCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JN
KE1BQykKKyNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmgiCisjZW5k
aWYKKworCisKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBj
b25mbGljdGlvbiBmb3IgTk9fRVJST1IuCiAjaWYgUExBVEZPUk0oV0lOKQogI3VuZGVmIE5PX0VS
Uk9SCkBAIC03MiwxMCArODAsNiBAQCBjbGFzcyBHQ0dMTGF5ZXI7CiB9CiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0
LmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRXh0ZW5zaW9uc0dMOwog
I2lmIFVTRShBTkdMRSkKQEAgLTU3NCw2ICs1NzgsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIGFs
bG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCk7CiAgICAgYm9vbCBiaW5kRGlzcGxh
eUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gYmFja2luZywgdm9pZCog
cGJ1ZmZlcik7CiAjZW5kaWYKKyNpZiBVU0UoQU5HTEUpCisgICAgLy8gUmV0dXJucyBmYWxzZSBp
ZiBjb250ZXh0IHNob3VsZCBiZSBsb3N0IGR1ZSB0byB0aW1lb3V0LgorICAgIGJvb2wgd2FpdEFu
ZFVwZGF0ZU9sZGVzdEZyYW1lKCkgV0FSTl9VTlVTRURfUkVUVVJOOworI2VuZGlmCiAKICNpZiBQ
TEFURk9STShDT0NPQSkKICAgICBHcmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbiog
bV9zd2FwQ2hhaW4geyBudWxscHRyIH07CkBAIC03ODcsNiArNzk1LDExIEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogICAgIHN0ZDo6dW5pcXVlX3B0
cjxHcmFwaGljc0NvbnRleHRHTENWPiBtX2N2OwogI2VuZGlmCisjaWYgVVNFKEFOR0xFKQorICAg
IHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IG1heFBlbmRpbmdGcmFtZXMgPSAzOworICAgIHNpemVf
dCBtX29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlIHsgMCB9OworICAgIFNjb3BlZEdMRmVuY2Ug
bV9mcmFtZUNvbXBsZXRpb25GZW5jZXNbbWF4UGVuZGluZ0ZyYW1lc107CisjZW5kaWYKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431661</attachid>
            <date>2021-06-17 07:01:00 -0700</date>
            <delta_ts>2021-06-21 03:05:38 -0700</delta_ts>
            <desc>Debug via EWS</desc>
            <filename>bug-227059-20210617170058.patch</filename>
            <type>text/plain</type>
            <size>15797</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNTg5MTNmOTQyODQ0YzViYWVhYzY0NWRkNzU5YTkyMTYwMjdmNTk3ZC4uY2E1Y2JkMGNhMjc0
NDczZTJhODVkNjllYWE0ZGE2YTMzMzk3NjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAxNjNjOTNiZTQ1ZThkYjY2NTFiYzRhMDA5Yjg3OWI3NjJlYzZiMjY2Li4wMTUwMDAzZTNh
NTYyZmRkYTU2ZWUwMWRjODI1YTRlMjU4NjRkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1N0cmVhbWVyXSBnc3RfZWxlbWVudF9nZXRfcmVxdWVzdF9wYWQgZGVwcmVjYXRlZCBp
biAxLjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IDcwZDc0ZTkzOGI5
N2VmNTQyY2ZkMTcwYTkyMzlhNDI3NGQyZmYyNDguLmU5MmNjMjgzOWVjMmRjZmYzM2QwZWMzZmMx
ZGJiOGU0NTBiMDczMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC04
NDIsNiArODQyLDkgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRXh0ZW5zaW9ucygpIGNv
bnN0CiAKICAgICAgICAgLy8gR0xfT0VTX0VHTF9zeW5jCiAgICAgICAgIG1OYXRpdmVFeHRlbnNp
b25zLmVnbFN5bmNPRVMgPSB0cnVlOworCisgICAgICAgIC8vIEdMX0FSQl9zeW5jCisgICAgICAg
IG1OYXRpdmVFeHRlbnNpb25zLmdsU3luY0FSQiA9IHRydWU7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQppbmRleCA5MTc5ZTFhNzdhMTQ1YjQ3MjhiYWFiNmZjNDMzNTg2ZTBlMTdkNTljLi42
YWRmZjBkZGI0ZDYwNmZlMTdmYzQzNzZjOGMyZTkxZDEzM2VkZDA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKQEAgLTEzMjksNiArMTMyOSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FOR0xFSGVhZGVycy5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAorICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDdiYWJkNTM4NzAxYTc3YTg5MGY3NjFkMjRkODkwM2I4NWUwYTcxM2YuLmVkMWQ3N2M0MmYz
NTljODdlMjg3NWY1Y2Y2MDFhMmJjNTQyMDljMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQsNyBAQAogCQky
NkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0MUIzQjY4
RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZFMDBDOTg2
QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUwMEM5ODZBQiAv
KiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMwODFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAv
KiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5RTRCMDA0
QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3MCAvKiBH
cmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcwIC8qIEdy
YXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0IyNzk2IC8q
IFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAvKiBTY29w
ZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8qIFJlbW90
ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3ND
b250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAwMDI5RDA4IC8q
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8qIEdyYXBo
aWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFwaGljc0Nv
bnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBoaWNzQ2hl
Y2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3MzgxRkE5MDZG
QkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAvKiBKU1NW
R0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNw
cAppbmRleCBmMDViMGU1MDQzNjAyODJkZGRlMjg2YjRhZWQzYjI5YjgwNGE0MzgwLi4xNDc1MTIz
ZjY5ZTRhNDJjMTNmZDY1YWVjY2Y1MTJiNjAxNzE5YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRl
eHRHTEFOR0xFLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNp
bmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CkBAIC02MSwxMCArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBj
aGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdMX09FU19wYWNrZWRfZGVw
dGhfc3RlbmNpbCI7CiAKLW5hbWVzcGFjZSB7Ci0KLQotfSAvLyBuYW1lc3BhY2UgYW5vbnltb3Vz
CitzdGF0aWMgU2Vjb25kcyBtYXhGcmFtZUR1cmF0aW9uID0gNV9zOwogCiAjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQgd2lwZUFscGhhQ2hhbm5l
bEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMp
CkBAIC0yODQ2LDYgKzI4NDQsMzggQEAgR3JhcGhpY3NDb250ZXh0R0xDViogR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2VuZGlmCiAKK2Jvb2wgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCit7CisjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKyAgICBmcHJpbnRmKHN0ZGVyciwgIldBSVQgQU5EIFVQREFURVxuIik7CisjZW5kaWYK
KyAgICBzaXplX3Qgb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UgPSBtX29sZGVzdEZyYW1lQ29t
cGxldGlvbkZlbmNlKysgJSBtYXhQZW5kaW5nRnJhbWVzOworICAgIGJvb2wgc3VjY2VzcyA9IHRy
dWU7CisgICAgaWYgKFNjb3BlZEdMRmVuY2UgZmVuY2UgPSBXVEZNb3ZlKG1fZnJhbWVDb21wbGV0
aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXSkpIHsKKyAgICAgICAgLy8gV2Fp
dCBzbyB0aGF0IHJlbmRlcmluZyBkb2VzIG5vdCBnZXQgbW9yZSB0aGFuIG1heFBlbmRpbmdGcmFt
ZXMgZnJhbWVzIGFoZWFkLgorICAgICAgICBHTGJpdGZpZWxkIGZsYWdzID0gR0xfU1lOQ19GTFVT
SF9DT01NQU5EU19CSVQ7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIC8vIEF2b2lkIHVz
aW5nIHRoZSBHTF9TWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVCBiZWNhdXNlIGVhY2ggZWFjaCBmcmFt
ZSBpcyBlbmRlZCB3aXRoIGEgZmx1c2gKKyAgICAgICAgLy8gZHVlIHRvIGV4dGVybmFsIElPU3Vy
ZmFjZSBhY2Nlc3MuIFRoaXMgcGFydGljdWxhciBmZW5jZSBpcyBtYXhQZW5kaW5nRnJhbWVzIGJl
aGluZC4KKyAgICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBo
YXMgYWxyZWFkeSBiZWVuIGZsdXNoZWQuCisgICAgICAgIGZsYWdzID0gMDsKKyNlbmRpZgorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgICAgIGF1dG8gcyA9IE1vbm90b25pY1RpbWU6Om5v
dygpOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBSVQgQkVHSU4uXG4iKTsKKyNlbmRpZgor
ICAgICAgICBHTGVudW0gcmVzdWx0ID0gZ2w6OkNsaWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywg
bWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vjb25kc0FzPEdMdWludDY0PigpKTsKKyAgICAgICAgQVNT
RVJUKHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCk7CisgICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQg
IT0gR0xfV0FJVF9GQUlMRUQgJiYgcmVzdWx0ICE9IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICBhdXRvIGR0ID0gTW9ub3RvbmljVGltZTo6bm93
KCkgLSBzOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIldBSVQgZHQ6JWQgcmVzdWx0OiVkLlxu
IiwgZHQubWlsbGlzZWNvbmRzQXM8aW50PigpLCAoaW50KSByZXN1bHQpOworI2VuZGlmCisgICAg
fQorICAgIG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNl
XS5mZW5jZVN5bmMoKTsKKyAgICByZXR1cm4gc3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8g
RU5BQkxFKFdFQkdMKSAmJiBVU0UoQU5HTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRH
TEFOR0xFVXRpbGl0aWVzLmgKaW5kZXggNGJhM2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3
MzU0NzVlNS4uZGM3OWYxZTI0MjNmNTIxM2IwMzAxYzhjODBhNTRmNmJjYzQ0OWU5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250
ZXh0R0xBTkdMRVV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIw
NCw0MiBAQCBwcml2YXRlOgogICAgIEdMdWludCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNz
IFNjb3BlZEdMRmVuY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2Up
OworcHVibGljOgorICAgIFNjb3BlZEdMRmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xG
ZW5jZShTY29wZWRHTEZlbmNlJiYgb3RoZXIpCisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNo
YW5nZShvdGhlci5tX29iamVjdCwgeyB9KSkKKyAgICB7CisgICAgfQorICAgIH5TY29wZWRHTEZl
bmNlKCkgeyByZXNldCgpOyB9CisgICAgU2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdM
RmVuY2UmJiBvdGhlcikKKyAgICB7CisgICAgICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAg
ICAgICAgICAgcmVzZXQoKTsKKyAgICAgICAgICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShv
dGhlci5tX29iamVjdCwgeyB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKnRoaXM7Cisg
ICAgfQorICAgIHZvaWQgcmVzZXQoKQorICAgIHsKKyAgICAgICAgaWYgKG1fb2JqZWN0KSB7Cisg
ICAgICAgICAgICBnbDo6RGVsZXRlU3luYyhtX29iamVjdCk7CisgICAgICAgICAgICBtX29iamVj
dCA9IHsgfTsKKyAgICAgICAgfQorICAgIH0KKyAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0
ID0geyB9OyB9CisgICAgdm9pZCBmZW5jZVN5bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsK
KyAgICAgICAgbV9vYmplY3QgPSBnbDo6RmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NP
TVBMRVRFLCAwKTsKKyAgICB9CisgICAgb3BlcmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4g
bV9vYmplY3Q7IH0KKyAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7
IH0KK3ByaXZhdGU6CisgICAgR0xzeW5jIG1fb2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwNmUyOGYy
ZWM2Mzg0N2I3ZDg2YWUwNTU0NmY1OGRlZjhlNmRmYzI2Li4xZTM3ZTI0NzFiOWM3Y2RmZDdhYTNi
MjM2YzUyOGVlOGQyZmQ3YzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
Q29jb2EubW0KQEAgLTI4Niw2ICsyODYsMTAgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Okdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAg
ICBpZiAobV9pc0ZvcldlYkdMMikgewogICAgICAgICAvLyBGb3IgV2ViR0wgMi4wIG9jY2x1c2lv
biBxdWVyaWVzIHRvIHdvcmsuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdM
X0VYVF9vY2NsdXNpb25fcXVlcnlfYm9vbGVhbiJfcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Ly8gVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgR0xzeW5jIG9iamVjdHMuIEVuYWJsZSB0aGUgZnVu
Y3Rpb25hbGl0eSBmb3IgV2ViR0wgMS4wIGNvbnRleHRzCisgICAgICAgIC8vIHRoYXQgdXNlIE9w
ZW5HTCBFUyAyLjAuCisgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FSQl9z
eW5jIl9zKTsKICAgICB9CiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKICAgICBpZiAoIW5lZWRzRUFHTE9uTWFjKCkpIHsKQEAgLTI5Myw4ICsyOTcsNyBAQCBHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250
ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJH
TF9BTkdMRV90ZXh0dXJlX3JlY3RhbmdsZSJfcyk7CiAgICAgICAgIC8vIEZvciBjcmVhdGluZyB0
aGUgRUdMIHN1cmZhY2UgZnJvbSBhbiBJT1N1cmZhY2UuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5z
aW9ucy5hcHBlbmQoIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JBODg4OCJfcyk7Ci0gICAgICAg
ICAgICB9Ci0KKyAgICB9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKICAgICBFeHRlbnNpb25zR0wmIGV4dGVuc2lvbnMgPSBnZXRFeHRlbnNpb25zKCk7
CiAgICAgZm9yIChhdXRvJiBleHRlbnNpb24gOiByZXF1aXJlZEV4dGVuc2lvbnMpIHsKQEAgLTM4
NSw2ICszODgsMTEgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRH
TE9wZW5HTCgpCiAgICAgICAgICAgICBnbDo6RGVsZXRlVGV4dHVyZXMoMSwgJm1fcHJlc2VydmVE
cmF3aW5nQnVmZmVyVGV4dHVyZSk7CiAgICAgICAgIGlmIChtX3ByZXNlcnZlRHJhd2luZ0J1ZmZl
ckZCTykKICAgICAgICAgICAgIGdsOjpEZWxldGVGcmFtZWJ1ZmZlcnMoMSwgJm1fcHJlc2VydmVE
cmF3aW5nQnVmZmVyRkJPKTsKKyAgICAgICAgZm9yIChhdXRvJiBmZW5jZSA6IG1fZnJhbWVDb21w
bGV0aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UucmVzZXQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRpb25GZW5jZXMpCisgICAg
ICAgICAgICBmZW5jZS5hYmFuZG9uKCk7CiAgICAgfQogICAgIGlmIChtX2Rpc3BsYXlCdWZmZXJQ
YnVmZmVyKSB7CiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFjZShtX2Rpc3BsYXlPYmosIG1fZGlz
cGxheUJ1ZmZlclBidWZmZXIpOwpAQCAtNzIwLDggKzcyOCw5IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnByZXBhcmVGb3JEaXNwbGF5KCkKICAgICAvLyBFcnJvciB3aWxsIGJlIGhh
bmRsZWQgYnkgbmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90
aWNlIGxhY2sgb2YgZGlzcGxheSBidWZmZXIuCiAgICAgaWYgKCFoYXNOZXdCYWNraW5nKQogICAg
ICAgICBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwotCiAgICAgbWFya0xh
eWVyQ29tcG9zaXRlZCgpOworICAgIGJvb2wgc3VjY2VzcyA9IHdhaXRBbmRVcGRhdGVPbGRlc3RG
cmFtZSgpOworICAgIFVOVVNFRF9WQVJJQUJMRShzdWNjZXNzKTsgLy8gRklYTUU6IGltcGxlbWVu
dCBjb250ZXh0IGxvc3QuCiB9CiAKIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpyZWFkQ29tcG9zaXRlZFJlc3VsdHMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0wuaAppbmRleCA2MGNiYWVkZDIzOGY0OTk5ZjY0ODkzNDJiMjBjNDk1NDI4
YmEzYjAwLi4zZDk5NzJmZDA2NDRhOGFmZTk2OTQ3YjA5ZjhlZDI1NTkwOGM5MmVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaApAQCAtNDUsMTEgKzQ1LDE5IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1DQUxheWVyLmgiCiAjZW5kaWYKIAotI2lmICFVU0UoQU5HTEUpCisjaWYgVVNF
KEFOR0xFKQorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCIKKyNl
bHNlCiAjaW5jbHVkZSAiQU5HTEVXZWJLaXRCcmlkZ2UuaCIKICNpbmNsdWRlICJFeHRlbnNpb25z
R0xPcGVuR0xDb21tb24uaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUg
IlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCIKKyNlbmRpZgorCisKKwogLy8gRklY
TUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBO
T19FUlJPUi4KICNpZiBQTEFURk9STShXSU4pCiAjdW5kZWYgTk9fRVJST1IKQEAgLTcyLDEwICs4
MCw2IEBAIGNsYXNzIEdDR0xMYXllcjsKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQot
I2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCIKLSNlbmRpZgotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFeHRlbnNpb25zR0w7CiAjaWYgVVNFKEFOR0xFKQpA
QCAtNTc0LDYgKzU3OCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlz
cGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBib29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhz
dGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKICNlbmRp
ZgorI2lmIFVTRShBTkdMRSkKKyAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxk
IGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCisgICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJh
bWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluKiBtX3N3YXBDaGFpbiB7IG51
bGxwdHIgfTsKQEAgLTc4Nyw2ICs3OTUsMTEgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU8p
ICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4
dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKKyNpZiBVU0UoQU5HTEUpCisgICAgc3RhdGljIGNvbnN0ZXhw
ciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9IDM7CisgICAgc2l6ZV90IG1fb2xkZXN0RnJhbWVD
b21wbGV0aW9uRmVuY2UgeyAwIH07CisgICAgU2NvcGVkR0xGZW5jZSBtX2ZyYW1lQ29tcGxldGlv
bkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431697</attachid>
            <date>2021-06-17 12:07:45 -0700</date>
            <delta_ts>2021-06-21 03:05:42 -0700</delta_ts>
            <desc>Debug via EWS</desc>
            <filename>bug-227059-20210617220743.patch</filename>
            <type>text/plain</type>
            <size>17661</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNTg5MTNmOTQyODQ0YzViYWVhYzY0NWRkNzU5YTkyMTYwMjdmNTk3ZC4uY2E1Y2JkMGNhMjc0
NDczZTJhODVkNjllYWE0ZGE2YTMzMzk3NjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAxNjNjOTNiZTQ1ZThkYjY2NTFiYzRhMDA5Yjg3OWI3NjJlYzZiMjY2Li4wMTUwMDAzZTNh
NTYyZmRkYTU2ZWUwMWRjODI1YTRlMjU4NjRkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1N0cmVhbWVyXSBnc3RfZWxlbWVudF9nZXRfcmVxdWVzdF9wYWQgZGVwcmVjYXRlZCBp
biAxLjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IDcwZDc0ZTkzOGI5
N2VmNTQyY2ZkMTcwYTkyMzlhNDI3NGQyZmYyNDguLmU5MmNjMjgzOWVjMmRjZmYzM2QwZWMzZmMx
ZGJiOGU0NTBiMDczMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC04
NDIsNiArODQyLDkgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRXh0ZW5zaW9ucygpIGNv
bnN0CiAKICAgICAgICAgLy8gR0xfT0VTX0VHTF9zeW5jCiAgICAgICAgIG1OYXRpdmVFeHRlbnNp
b25zLmVnbFN5bmNPRVMgPSB0cnVlOworCisgICAgICAgIC8vIEdMX0FSQl9zeW5jCisgICAgICAg
IG1OYXRpdmVFeHRlbnNpb25zLmdsU3luY0FSQiA9IHRydWU7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQppbmRleCA5MTc5ZTFhNzdhMTQ1YjQ3MjhiYWFiNmZjNDMzNTg2ZTBlMTdkNTljLi42
YWRmZjBkZGI0ZDYwNmZlMTdmYzQzNzZjOGMyZTkxZDEzM2VkZDA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKQEAgLTEzMjksNiArMTMyOSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FOR0xFSGVhZGVycy5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAorICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDdiYWJkNTM4NzAxYTc3YTg5MGY3NjFkMjRkODkwM2I4NWUwYTcxM2YuLmVkMWQ3N2M0MmYz
NTljODdlMjg3NWY1Y2Y2MDFhMmJjNTQyMDljMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQsNyBAQAogCQky
NkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0MUIzQjY4
RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZFMDBDOTg2
QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUwMEM5ODZBQiAv
KiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMwODFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAv
KiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5RTRCMDA0
QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3MCAvKiBH
cmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcwIC8qIEdy
YXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0IyNzk2IC8q
IFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAvKiBTY29w
ZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8qIFJlbW90
ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3ND
b250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAwMDI5RDA4IC8q
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8qIEdyYXBo
aWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFwaGljc0Nv
bnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBoaWNzQ2hl
Y2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3MzgxRkE5MDZG
QkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAvKiBKU1NW
R0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuY3BwCmluZGV4IDc4
OWZlNmI1MDY4NGI4NmU2ZjBmYjVlZTFhYzM5ODk5NTU3OTExYzYuLjhmY2ZiZDNkOTNmMTAzZTUw
NTAxMjkyYzZhZDc5ZWUyYmRmNWI4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2FuZ2xlL0V4dGVuc2lvbnNHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25zR0xBTkdMRS5jcHAKQEAgLTk5
LDkgKzk5LDE1IEBAIFN0cmluZyBFeHRlbnNpb25zR0xBTkdMRTo6Z2V0VHJhbnNsYXRlZFNoYWRl
clNvdXJjZUFOR0xFKFBsYXRmb3JtR0xPYmplY3Qgc2hhZGVyCiB2b2lkIEV4dGVuc2lvbnNHTEFO
R0xFOjppbml0aWFsaXplQXZhaWxhYmxlRXh0ZW5zaW9ucygpCiB7CiAgICAgU3RyaW5nIGV4dGVu
c2lvbnNTdHJpbmcgPSBnZXRFeHRlbnNpb25zKCk7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyAgICBmcHJpbnRmKHN0ZGVyciwgIkVYVEVOU0lPTlM6ICVzXG4iLCBleHRlbnNpb25zU3RyaW5n
LnV0ZjgoKS5kYXRhKCkpOworI2VuZGlmCiAgICAgZm9yIChhdXRvJiBleHRlbnNpb24gOiBleHRl
bnNpb25zU3RyaW5nLnNwbGl0KCcgJykpCiAgICAgICAgIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5h
ZGQoZXh0ZW5zaW9uKTsKICAgICBleHRlbnNpb25zU3RyaW5nID0gU3RyaW5nKHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgY2hhcio+KGdsOjpHZXRTdHJpbmcoR0xfUkVRVUVTVEFCTEVfRVhURU5TSU9O
U19BTkdMRSkpKTsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGZwcmludGYoc3RkZXJy
LCAiUmVxdWVzdGFibGUgRVhURU5TSU9OUzogJXNcbiIsIGV4dGVuc2lvbnNTdHJpbmcudXRmOCgp
LmRhdGEoKSk7CisjZW5kaWYKICAgICBmb3IgKGF1dG8mIGV4dGVuc2lvbiA6IGV4dGVuc2lvbnNT
dHJpbmcuc3BsaXQoJyAnKSkKICAgICAgICAgbV9yZXF1ZXN0YWJsZUV4dGVuc2lvbnMuYWRkKGV4
dGVuc2lvbik7CiAgICAgbV9pbml0aWFsaXplZEF2YWlsYWJsZUV4dGVuc2lvbnMgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCBmMDViMGU1MDQzNjAyODJkZGRl
Mjg2YjRhZWQzYjI5YjgwNGE0MzgwLi4xNDc1MTIzZjY5ZTRhNDJjMTNmZDY1YWVjY2Y1MTJiNjAx
NzE5YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtNDQsNiArNDQs
NyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUg
PHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBAIC02MSwxMCArNjIsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRl
bnNpb25OYW1lID0gIkdMX09FU19wYWNrZWRfZGVwdGhfc3RlbmNpbCI7CiAKLW5hbWVzcGFjZSB7
Ci0KLQotfSAvLyBuYW1lc3BhY2UgYW5vbnltb3VzCitzdGF0aWMgU2Vjb25kcyBtYXhGcmFtZUR1
cmF0aW9uID0gNV9zOwogCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQogc3RhdGljIHZvaWQgd2lwZUFscGhhQ2hhbm5lbEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMpCkBAIC0yODQ2LDYgKzI4NDQsMzggQEAgR3Jh
cGhpY3NDb250ZXh0R0xDViogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2Vu
ZGlmCiAKK2Jvb2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RG
cmFtZSgpCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBmcHJpbnRmKHN0ZGVyciwg
IldBSVQgQU5EIFVQREFURVxuIik7CisjZW5kaWYKKyAgICBzaXplX3Qgb2xkZXN0RnJhbWVDb21w
bGV0aW9uRmVuY2UgPSBtX29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlKysgJSBtYXhQZW5kaW5n
RnJhbWVzOworICAgIGJvb2wgc3VjY2VzcyA9IHRydWU7CisgICAgaWYgKFNjb3BlZEdMRmVuY2Ug
ZmVuY2UgPSBXVEZNb3ZlKG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxl
dGlvbkZlbmNlXSkpIHsKKyAgICAgICAgLy8gV2FpdCBzbyB0aGF0IHJlbmRlcmluZyBkb2VzIG5v
dCBnZXQgbW9yZSB0aGFuIG1heFBlbmRpbmdGcmFtZXMgZnJhbWVzIGFoZWFkLgorICAgICAgICBH
TGJpdGZpZWxkIGZsYWdzID0gR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQ7CisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgICAgIC8vIEF2b2lkIHVzaW5nIHRoZSBHTF9TWU5DX0ZMVVNIX0NPTU1B
TkRTX0JJVCBiZWNhdXNlIGVhY2ggZWFjaCBmcmFtZSBpcyBlbmRlZCB3aXRoIGEgZmx1c2gKKyAg
ICAgICAgLy8gZHVlIHRvIGV4dGVybmFsIElPU3VyZmFjZSBhY2Nlc3MuIFRoaXMgcGFydGljdWxh
ciBmZW5jZSBpcyBtYXhQZW5kaW5nRnJhbWVzIGJlaGluZC4KKyAgICAgICAgLy8gVGhpcyBtZWFu
cyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMgYWxyZWFkeSBiZWVuIGZsdXNoZWQuCisg
ICAgICAgIGZsYWdzID0gMDsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
ICAgIGF1dG8gcyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIldBSVQgQkVHSU4uXG4iKTsKKyNlbmRpZgorICAgICAgICBHTGVudW0gcmVzdWx0ID0gZ2w6
OkNsaWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vjb25k
c0FzPEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxF
RCk7CisgICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQgIT0gR0xfV0FJVF9GQUlMRUQgJiYgcmVzdWx0
ICE9IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAg
ICBhdXRvIGR0ID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBzOworICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIldBSVQgZHQ6JWQgcmVzdWx0OiVkLlxuIiwgZHQubWlsbGlzZWNvbmRzQXM8aW50Pigp
LCAoaW50KSByZXN1bHQpOworI2VuZGlmCisgICAgfQorICAgIG1fZnJhbWVDb21wbGV0aW9uRmVu
Y2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5bmMoKTsKKyAgICByZXR1cm4g
c3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSAmJiBVU0UoQU5HTEUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKaW5kZXggNGJh
M2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0NzVlNS4uZGM3OWYxZTI0MjNmNTIxM2Iw
MzAxYzhjODBhNTRmNmJjYzQ0OWU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIwNCw0MiBAQCBwcml2YXRlOgogICAgIEdMdWlu
dCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNzIFNjb3BlZEdMRmVuY2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOworcHVibGljOgorICAgIFNjb3BlZEdMRmVu
Y2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xGZW5jZShTY29wZWRHTEZlbmNlJiYgb3RoZXIp
CisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KSkK
KyAgICB7CisgICAgfQorICAgIH5TY29wZWRHTEZlbmNlKCkgeyByZXNldCgpOyB9CisgICAgU2Nv
cGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVuY2UmJiBvdGhlcikKKyAgICB7CisgICAg
ICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICAgICAgcmVzZXQoKTsKKyAgICAgICAg
ICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorICAgIHZvaWQgcmVzZXQoKQorICAg
IHsKKyAgICAgICAgaWYgKG1fb2JqZWN0KSB7CisgICAgICAgICAgICBnbDo6RGVsZXRlU3luYyht
X29iamVjdCk7CisgICAgICAgICAgICBtX29iamVjdCA9IHsgfTsKKyAgICAgICAgfQorICAgIH0K
KyAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0geyB9OyB9CisgICAgdm9pZCBmZW5jZVN5
bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAgICAgICAgbV9vYmplY3QgPSBnbDo6RmVu
Y2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKKyAgICB9CisgICAgb3Bl
cmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KKyAgICBvcGVyYXRvciBi
b29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KK3ByaXZhdGU6CisgICAgR0xzeW5jIG1f
b2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwNmUyOGYyZWM2Mzg0N2I3ZDg2YWUwNTU0NmY1OGRlZjhl
NmRmYzI2Li40ODY5ZWJmMDNjNzExZWQzODhlYWI5ZGNjMmM4ZDQ0MjUzNjQzNzhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KQEAgLTEyMCw5ICsxMjAsOSBA
QCBzdGF0aWMgU2NvcGVkRUdMRGVmYXVsdERpc3BsYXkgSW5pdGlhbGl6ZUVHTERpc3BsYXkoY29u
c3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaQogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBl
bmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmli
dXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfTUVUQUxfQU5HTEUpOwogICAgIH0K
LQotICAgIExPRyhXZWJHTCwgIkF0dGVtcHRpbmcgdG8gdXNlIEFOR0xFJ3MgJXMgYmFja2VuZC4i
LCBhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCA/ICJNZXRhbCIgOiAiT3BlbkdMIik7Ci0K
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGZwcmludGYoc3RkZXJyLCAiQXR0ZW1wdGlu
ZyB0byB1c2UgQU5HTEUncyAlcyBiYWNrZW5kLlxuIiwgYXR0cnMudXNlTWV0YWwgJiYgY2FuVXNl
TWV0YWwgPyAiTWV0YWwiIDogIk9wZW5HTCIpOworI2VuZGlmCiAgICAgZGlzcGxheUF0dHJpYnV0
ZXMuYXBwZW5kKEVHTF9OT05FKTsKICAgICBkaXNwbGF5ID0gRUdMX0dldFBsYXRmb3JtRGlzcGxh
eUVYVChFR0xfUExBVEZPUk1fQU5HTEVfQU5HTEUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KEVH
TF9ERUZBVUxUX0RJU1BMQVkpLCBkaXNwbGF5QXR0cmlidXRlcy5kYXRhKCkpOwogCkBAIC0yODYs
NiArMjg2LDEwIEBAIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTChHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0CiAgICAgaWYgKG1faXNGb3JXZWJH
TDIpIHsKICAgICAgICAgLy8gRm9yIFdlYkdMIDIuMCBvY2NsdXNpb24gcXVlcmllcyB0byB3b3Jr
LgogICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9FWFRfb2NjbHVzaW9uX3F1
ZXJ5X2Jvb2xlYW4iX3MpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFRoZSBpbXBsZW1lbnRh
dGlvbiB1c2VzIEdMc3luYyBvYmplY3RzLiBFbmFibGUgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIFdl
YkdMIDEuMCBjb250ZXh0cworICAgICAgICAvLyB0aGF0IHVzZSBPcGVuR0wgRVMgMi4wLgorICAg
ICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9BUkJfc3luYyJfcyk7CiAgICAgfQog
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKCFuZWVk
c0VBR0xPbk1hYygpKSB7CkBAIC0yOTMsOCArMjk3LDcgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBh
dHQKICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVuZCgiR0xfQU5HTEVfdGV4dHVyZV9y
ZWN0YW5nbGUiX3MpOwogICAgICAgICAvLyBGb3IgY3JlYXRpbmcgdGhlIEVHTCBzdXJmYWNlIGZy
b20gYW4gSU9TdXJmYWNlLgogICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9F
WFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgiX3MpOwotICAgICAgICAgICAgfQotCisgICAgfQog
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgRXh0
ZW5zaW9uc0dMJiBleHRlbnNpb25zID0gZ2V0RXh0ZW5zaW9ucygpOwogICAgIGZvciAoYXV0byYg
ZXh0ZW5zaW9uIDogcmVxdWlyZWRFeHRlbnNpb25zKSB7CkBAIC0zODUsNiArMzg4LDExIEBAIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMOjp+R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woKQogICAgICAg
ICAgICAgZ2w6OkRlbGV0ZVRleHR1cmVzKDEsICZtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlclRleHR1
cmUpOwogICAgICAgICBpZiAobV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJGQk8pCiAgICAgICAgICAg
ICBnbDo6RGVsZXRlRnJhbWVidWZmZXJzKDEsICZtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlckZCTyk7
CisgICAgICAgIGZvciAoYXV0byYgZmVuY2UgOiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKKyAg
ICAgICAgICAgIGZlbmNlLnJlc2V0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yIChhdXRv
JiBmZW5jZSA6IG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UuYWJh
bmRvbigpOwogICAgIH0KICAgICBpZiAobV9kaXNwbGF5QnVmZmVyUGJ1ZmZlcikgewogICAgICAg
ICBFR0xfRGVzdHJveVN1cmZhY2UobV9kaXNwbGF5T2JqLCBtX2Rpc3BsYXlCdWZmZXJQYnVmZmVy
KTsKQEAgLTcyMCw4ICs3MjgsOSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpwcmVw
YXJlRm9yRGlzcGxheSgpCiAgICAgLy8gRXJyb3Igd2lsbCBiZSBoYW5kbGVkIGJ5IG5leHQgY2Fs
bCB0byBtYWtlQ29udGV4dEN1cnJlbnQoKSB3aGljaCB3aWxsIG5vdGljZSBsYWNrIG9mIGRpc3Bs
YXkgYnVmZmVyLgogICAgIGlmICghaGFzTmV3QmFja2luZykKICAgICAgICAgYWxsb2NhdGVBbmRC
aW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKLQogICAgIG1hcmtMYXllckNvbXBvc2l0ZWQoKTsK
KyAgICBib29sIHN1Y2Nlc3MgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKTsKKyAgICBVTlVT
RURfVkFSSUFCTEUoc3VjY2Vzcyk7IC8vIEZJWE1FOiBpbXBsZW1lbnQgY29udGV4dCBsb3N0Lgog
fQogCiBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
cmVhZENvbXBvc2l0ZWRSZXN1bHRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgK
aW5kZXggNjBjYmFlZGQyMzhmNDk5OWY2NDg5MzQyYjIwYzQ5NTQyOGJhM2IwMC4uM2Q5OTcyZmQw
NjQ0YThhZmU5Njk0N2IwOWY4ZWQyNTU5MDhjOTJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dEdMT3BlbkdMLmgKQEAgLTQ1LDExICs0NSwxOSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXll
ci5oIgogI2VuZGlmCiAKLSNpZiAhVVNFKEFOR0xFKQorI2lmIFVTRShBTkdMRSkKKyNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgiCisjZWxzZQogI2luY2x1ZGUgIkFO
R0xFV2ViS2l0QnJpZGdlLmgiCiAjaW5jbHVkZSAiRXh0ZW5zaW9uc0dMT3BlbkdMQ29tbW9uLmgi
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9y
bWFuY2VHUFVSZXF1ZXN0LmgiCisjZW5kaWYKKworCisKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVy
IHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlvbiBmb3IgTk9fRVJST1IuCiAjaWYgUExB
VEZPUk0oV0lOKQogI3VuZGVmIE5PX0VSUk9SCkBAIC03MiwxMCArODAsNiBAQCBjbGFzcyBHQ0dM
TGF5ZXI7CiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlICJTY29wZWRI
aWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgRXh0ZW5zaW9uc0dMOwogI2lmIFVTRShBTkdMRSkKQEAgLTU3NCw2ICs1NzgsMTAg
QEAgcHJpdmF0ZToKICAgICBib29sIGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5n
KCk7CiAgICAgYm9vbCBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlxdWVfcHRyPElP
U3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcik7CiAjZW5kaWYKKyNpZiBVU0UoQU5HTEUp
CisgICAgLy8gUmV0dXJucyBmYWxzZSBpZiBjb250ZXh0IHNob3VsZCBiZSBsb3N0IGR1ZSB0byB0
aW1lb3V0LgorICAgIGJvb2wgd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkgV0FSTl9VTlVTRURf
UkVUVVJOOworI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBHcmFwaGljc0NvbnRl
eHRHTElPU3VyZmFjZVN3YXBDaGFpbiogbV9zd2FwQ2hhaW4geyBudWxscHRyIH07CkBAIC03ODcs
NiArNzk1LDExIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFU
SU9OKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0NvbnRleHRHTENWPiBtX2N2OwogI2Vu
ZGlmCisjaWYgVVNFKEFOR0xFKQorICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IG1heFBlbmRp
bmdGcmFtZXMgPSAzOworICAgIHNpemVfdCBtX29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlIHsg
MCB9OworICAgIFNjb3BlZEdMRmVuY2UgbV9mcmFtZUNvbXBsZXRpb25GZW5jZXNbbWF4UGVuZGlu
Z0ZyYW1lc107CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431699</attachid>
            <date>2021-06-17 12:12:40 -0700</date>
            <delta_ts>2021-06-21 03:05:46 -0700</delta_ts>
            <desc>Debug via EWS force gl</desc>
            <filename>bug-227059-20210617221238.patch</filename>
            <type>text/plain</type>
            <size>17953</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNTg5MTNmOTQyODQ0YzViYWVhYzY0NWRkNzU5YTkyMTYwMjdmNTk3ZC4uY2E1Y2JkMGNhMjc0
NDczZTJhODVkNjllYWE0ZGE2YTMzMzk3NjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAxNjNjOTNiZTQ1ZThkYjY2NTFiYzRhMDA5Yjg3OWI3NjJlYzZiMjY2Li4wMTUwMDAzZTNh
NTYyZmRkYTU2ZWUwMWRjODI1YTRlMjU4NjRkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1N0cmVhbWVyXSBnc3RfZWxlbWVudF9nZXRfcmVxdWVzdF9wYWQgZGVwcmVjYXRlZCBp
biAxLjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IDcwZDc0ZTkzOGI5
N2VmNTQyY2ZkMTcwYTkyMzlhNDI3NGQyZmYyNDguLmU5MmNjMjgzOWVjMmRjZmYzM2QwZWMzZmMx
ZGJiOGU0NTBiMDczMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC04
NDIsNiArODQyLDkgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRXh0ZW5zaW9ucygpIGNv
bnN0CiAKICAgICAgICAgLy8gR0xfT0VTX0VHTF9zeW5jCiAgICAgICAgIG1OYXRpdmVFeHRlbnNp
b25zLmVnbFN5bmNPRVMgPSB0cnVlOworCisgICAgICAgIC8vIEdMX0FSQl9zeW5jCisgICAgICAg
IG1OYXRpdmVFeHRlbnNpb25zLmdsU3luY0FSQiA9IHRydWU7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQppbmRleCA5MTc5ZTFhNzdhMTQ1YjQ3MjhiYWFiNmZjNDMzNTg2ZTBlMTdkNTljLi42
YWRmZjBkZGI0ZDYwNmZlMTdmYzQzNzZjOGMyZTkxZDEzM2VkZDA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKQEAgLTEzMjksNiArMTMyOSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FOR0xFSGVhZGVycy5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAorICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDdiYWJkNTM4NzAxYTc3YTg5MGY3NjFkMjRkODkwM2I4NWUwYTcxM2YuLmVkMWQ3N2M0MmYz
NTljODdlMjg3NWY1Y2Y2MDFhMmJjNTQyMDljMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQsNyBAQAogCQky
NkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0MUIzQjY4
RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZFMDBDOTg2
QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUwMEM5ODZBQiAv
KiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMwODFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAv
KiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5RTRCMDA0
QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3MCAvKiBH
cmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcwIC8qIEdy
YXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0IyNzk2IC8q
IFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAvKiBTY29w
ZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8qIFJlbW90
ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3ND
b250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAwMDI5RDA4IC8q
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8qIEdyYXBo
aWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFwaGljc0Nv
bnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBoaWNzQ2hl
Y2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3MzgxRkE5MDZG
QkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAvKiBKU1NW
R0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuY3BwCmluZGV4IDc4
OWZlNmI1MDY4NGI4NmU2ZjBmYjVlZTFhYzM5ODk5NTU3OTExYzYuLjhmY2ZiZDNkOTNmMTAzZTUw
NTAxMjkyYzZhZDc5ZWUyYmRmNWI4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2FuZ2xlL0V4dGVuc2lvbnNHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25zR0xBTkdMRS5jcHAKQEAgLTk5
LDkgKzk5LDE1IEBAIFN0cmluZyBFeHRlbnNpb25zR0xBTkdMRTo6Z2V0VHJhbnNsYXRlZFNoYWRl
clNvdXJjZUFOR0xFKFBsYXRmb3JtR0xPYmplY3Qgc2hhZGVyCiB2b2lkIEV4dGVuc2lvbnNHTEFO
R0xFOjppbml0aWFsaXplQXZhaWxhYmxlRXh0ZW5zaW9ucygpCiB7CiAgICAgU3RyaW5nIGV4dGVu
c2lvbnNTdHJpbmcgPSBnZXRFeHRlbnNpb25zKCk7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyAgICBmcHJpbnRmKHN0ZGVyciwgIkVYVEVOU0lPTlM6ICVzXG4iLCBleHRlbnNpb25zU3RyaW5n
LnV0ZjgoKS5kYXRhKCkpOworI2VuZGlmCiAgICAgZm9yIChhdXRvJiBleHRlbnNpb24gOiBleHRl
bnNpb25zU3RyaW5nLnNwbGl0KCcgJykpCiAgICAgICAgIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5h
ZGQoZXh0ZW5zaW9uKTsKICAgICBleHRlbnNpb25zU3RyaW5nID0gU3RyaW5nKHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgY2hhcio+KGdsOjpHZXRTdHJpbmcoR0xfUkVRVUVTVEFCTEVfRVhURU5TSU9O
U19BTkdMRSkpKTsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGZwcmludGYoc3RkZXJy
LCAiUmVxdWVzdGFibGUgRVhURU5TSU9OUzogJXNcbiIsIGV4dGVuc2lvbnNTdHJpbmcudXRmOCgp
LmRhdGEoKSk7CisjZW5kaWYKICAgICBmb3IgKGF1dG8mIGV4dGVuc2lvbiA6IGV4dGVuc2lvbnNT
dHJpbmcuc3BsaXQoJyAnKSkKICAgICAgICAgbV9yZXF1ZXN0YWJsZUV4dGVuc2lvbnMuYWRkKGV4
dGVuc2lvbik7CiAgICAgbV9pbml0aWFsaXplZEF2YWlsYWJsZUV4dGVuc2lvbnMgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCBmMDViMGU1MDQzNjAyODJkZGRl
Mjg2YjRhZWQzYjI5YjgwNGE0MzgwLi4xNDc1MTIzZjY5ZTRhNDJjMTNmZDY1YWVjY2Y1MTJiNjAx
NzE5YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtNDQsNiArNDQs
NyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUg
PHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBAIC02MSwxMCArNjIsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRl
bnNpb25OYW1lID0gIkdMX09FU19wYWNrZWRfZGVwdGhfc3RlbmNpbCI7CiAKLW5hbWVzcGFjZSB7
Ci0KLQotfSAvLyBuYW1lc3BhY2UgYW5vbnltb3VzCitzdGF0aWMgU2Vjb25kcyBtYXhGcmFtZUR1
cmF0aW9uID0gNV9zOwogCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQogc3RhdGljIHZvaWQgd2lwZUFscGhhQ2hhbm5lbEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMpCkBAIC0yODQ2LDYgKzI4NDQsMzggQEAgR3Jh
cGhpY3NDb250ZXh0R0xDViogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2Vu
ZGlmCiAKK2Jvb2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RG
cmFtZSgpCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBmcHJpbnRmKHN0ZGVyciwg
IldBSVQgQU5EIFVQREFURVxuIik7CisjZW5kaWYKKyAgICBzaXplX3Qgb2xkZXN0RnJhbWVDb21w
bGV0aW9uRmVuY2UgPSBtX29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlKysgJSBtYXhQZW5kaW5n
RnJhbWVzOworICAgIGJvb2wgc3VjY2VzcyA9IHRydWU7CisgICAgaWYgKFNjb3BlZEdMRmVuY2Ug
ZmVuY2UgPSBXVEZNb3ZlKG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxl
dGlvbkZlbmNlXSkpIHsKKyAgICAgICAgLy8gV2FpdCBzbyB0aGF0IHJlbmRlcmluZyBkb2VzIG5v
dCBnZXQgbW9yZSB0aGFuIG1heFBlbmRpbmdGcmFtZXMgZnJhbWVzIGFoZWFkLgorICAgICAgICBH
TGJpdGZpZWxkIGZsYWdzID0gR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQ7CisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgICAgIC8vIEF2b2lkIHVzaW5nIHRoZSBHTF9TWU5DX0ZMVVNIX0NPTU1B
TkRTX0JJVCBiZWNhdXNlIGVhY2ggZWFjaCBmcmFtZSBpcyBlbmRlZCB3aXRoIGEgZmx1c2gKKyAg
ICAgICAgLy8gZHVlIHRvIGV4dGVybmFsIElPU3VyZmFjZSBhY2Nlc3MuIFRoaXMgcGFydGljdWxh
ciBmZW5jZSBpcyBtYXhQZW5kaW5nRnJhbWVzIGJlaGluZC4KKyAgICAgICAgLy8gVGhpcyBtZWFu
cyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMgYWxyZWFkeSBiZWVuIGZsdXNoZWQuCisg
ICAgICAgIGZsYWdzID0gMDsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
ICAgIGF1dG8gcyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIldBSVQgQkVHSU4uXG4iKTsKKyNlbmRpZgorICAgICAgICBHTGVudW0gcmVzdWx0ID0gZ2w6
OkNsaWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vjb25k
c0FzPEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxF
RCk7CisgICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQgIT0gR0xfV0FJVF9GQUlMRUQgJiYgcmVzdWx0
ICE9IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAg
ICBhdXRvIGR0ID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBzOworICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIldBSVQgZHQ6JWQgcmVzdWx0OiVkLlxuIiwgZHQubWlsbGlzZWNvbmRzQXM8aW50Pigp
LCAoaW50KSByZXN1bHQpOworI2VuZGlmCisgICAgfQorICAgIG1fZnJhbWVDb21wbGV0aW9uRmVu
Y2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5bmMoKTsKKyAgICByZXR1cm4g
c3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSAmJiBVU0UoQU5HTEUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKaW5kZXggNGJh
M2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0NzVlNS4uZGM3OWYxZTI0MjNmNTIxM2Iw
MzAxYzhjODBhNTRmNmJjYzQ0OWU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIwNCw0MiBAQCBwcml2YXRlOgogICAgIEdMdWlu
dCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNzIFNjb3BlZEdMRmVuY2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOworcHVibGljOgorICAgIFNjb3BlZEdMRmVu
Y2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xGZW5jZShTY29wZWRHTEZlbmNlJiYgb3RoZXIp
CisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KSkK
KyAgICB7CisgICAgfQorICAgIH5TY29wZWRHTEZlbmNlKCkgeyByZXNldCgpOyB9CisgICAgU2Nv
cGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVuY2UmJiBvdGhlcikKKyAgICB7CisgICAg
ICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICAgICAgcmVzZXQoKTsKKyAgICAgICAg
ICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorICAgIHZvaWQgcmVzZXQoKQorICAg
IHsKKyAgICAgICAgaWYgKG1fb2JqZWN0KSB7CisgICAgICAgICAgICBnbDo6RGVsZXRlU3luYyht
X29iamVjdCk7CisgICAgICAgICAgICBtX29iamVjdCA9IHsgfTsKKyAgICAgICAgfQorICAgIH0K
KyAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0geyB9OyB9CisgICAgdm9pZCBmZW5jZVN5
bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAgICAgICAgbV9vYmplY3QgPSBnbDo6RmVu
Y2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKKyAgICB9CisgICAgb3Bl
cmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KKyAgICBvcGVyYXRvciBi
b29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KK3ByaXZhdGU6CisgICAgR0xzeW5jIG1f
b2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwNmUyOGYyZWM2Mzg0N2I3ZDg2YWUwNTU0NmY1OGRlZjhl
NmRmYzI2Li4wMDBmZDNiMWJhODIwMGJhMmE0ZjhkNmE5YzVhNTZhOTIwZWUzOWU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KQEAgLTExNSwxNCArMTE1LDE0
IEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxheSBJbml0aWFsaXplRUdMRGlzcGxheShj
b25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFw
cGVuZChFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX0NPTlRFWFRfVk9MQVRJTEVfQ0dMX0FOR0xF
KTsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9UUlVFKTsKICAgICB9Ci0g
ICAgYm9vbCBjYW5Vc2VNZXRhbCA9IHBsYXRmb3JtU3VwcG9ydHNNZXRhbCgpOworICAgIGJvb2wg
Y2FuVXNlTWV0YWwgPSBwbGF0Zm9ybVN1cHBvcnRzTWV0YWwoKSAmJiBmYWxzZTsKICAgICBpZiAo
YXR0cnMudXNlTWV0YWwgJiYgY2FuVXNlTWV0YWwpIHsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0
ZXMuYXBwZW5kKEVHTF9QTEFURk9STV9BTkdMRV9UWVBFX0FOR0xFKTsKICAgICAgICAgZGlzcGxh
eUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9QTEFURk9STV9BTkdMRV9UWVBFX01FVEFMX0FOR0xFKTsK
ICAgICB9Ci0KLSAgICBMT0coV2ViR0wsICJBdHRlbXB0aW5nIHRvIHVzZSBBTkdMRSdzICVzIGJh
Y2tlbmQuIiwgYXR0cnMudXNlTWV0YWwgJiYgY2FuVXNlTWV0YWwgPyAiTWV0YWwiIDogIk9wZW5H
TCIpOwotCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkF0
dGVtcHRpbmcgdG8gdXNlIEFOR0xFJ3MgJXMgYmFja2VuZC5cbiIsIGF0dHJzLnVzZU1ldGFsICYm
IGNhblVzZU1ldGFsID8gIk1ldGFsIiA6ICJPcGVuR0wiKTsKKyNlbmRpZgogICAgIGRpc3BsYXlB
dHRyaWJ1dGVzLmFwcGVuZChFR0xfTk9ORSk7CiAgICAgZGlzcGxheSA9IEVHTF9HZXRQbGF0Zm9y
bURpc3BsYXlFWFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xFLCByZWludGVycHJldF9jYXN0PHZv
aWQqPihFR0xfREVGQVVMVF9ESVNQTEFZKSwgZGlzcGxheUF0dHJpYnV0ZXMuZGF0YSgpKTsKIApA
QCAtMjg2LDYgKzI4NiwxMCBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAgIGlmIChtX2lz
Rm9yV2ViR0wyKSB7CiAgICAgICAgIC8vIEZvciBXZWJHTCAyLjAgb2NjbHVzaW9uIHF1ZXJpZXMg
dG8gd29yay4KICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVuZCgiR0xfRVhUX29jY2x1
c2lvbl9xdWVyeV9ib29sZWFuIl9zKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGUgaW1w
bGVtZW50YXRpb24gdXNlcyBHTHN5bmMgb2JqZWN0cy4gRW5hYmxlIHRoZSBmdW5jdGlvbmFsaXR5
IGZvciBXZWJHTCAxLjAgY29udGV4dHMKKyAgICAgICAgLy8gdGhhdCB1c2UgT3BlbkdMIEVTIDIu
MC4KKyAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVuZCgiR0xfQVJCX3N5bmMiX3MpOwog
ICAgIH0KICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGlm
ICghbmVlZHNFQUdMT25NYWMoKSkgewpAQCAtMjkzLDggKzI5Nyw3IEBAIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMgYXR0CiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FOR0xFX3Rl
eHR1cmVfcmVjdGFuZ2xlIl9zKTsKICAgICAgICAgLy8gRm9yIGNyZWF0aW5nIHRoZSBFR0wgc3Vy
ZmFjZSBmcm9tIGFuIElPU3VyZmFjZS4KICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVu
ZCgiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4Il9zKTsKLSAgICAgICAgICAgIH0KLQor
ICAgIH0KICNlbmRpZiAvLyBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQog
ICAgIEV4dGVuc2lvbnNHTCYgZXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbnMoKTsKICAgICBmb3Ig
KGF1dG8mIGV4dGVuc2lvbiA6IHJlcXVpcmVkRXh0ZW5zaW9ucykgewpAQCAtMzg1LDYgKzM4OCwx
MSBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCkK
ICAgICAgICAgICAgIGdsOjpEZWxldGVUZXh0dXJlcygxLCAmbV9wcmVzZXJ2ZURyYXdpbmdCdWZm
ZXJUZXh0dXJlKTsKICAgICAgICAgaWYgKG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyRkJPKQogICAg
ICAgICAgICAgZ2w6OkRlbGV0ZUZyYW1lYnVmZmVycygxLCAmbV9wcmVzZXJ2ZURyYXdpbmdCdWZm
ZXJGQk8pOworICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRpb25GZW5j
ZXMpCisgICAgICAgICAgICBmZW5jZS5yZXNldCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZv
ciAoYXV0byYgZmVuY2UgOiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKKyAgICAgICAgICAgIGZl
bmNlLmFiYW5kb24oKTsKICAgICB9CiAgICAgaWYgKG1fZGlzcGxheUJ1ZmZlclBidWZmZXIpIHsK
ICAgICAgICAgRUdMX0Rlc3Ryb3lTdXJmYWNlKG1fZGlzcGxheU9iaiwgbV9kaXNwbGF5QnVmZmVy
UGJ1ZmZlcik7CkBAIC03MjAsOCArNzI4LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5H
TDo6cHJlcGFyZUZvckRpc3BsYXkoKQogICAgIC8vIEVycm9yIHdpbGwgYmUgaGFuZGxlZCBieSBu
ZXh0IGNhbGwgdG8gbWFrZUNvbnRleHRDdXJyZW50KCkgd2hpY2ggd2lsbCBub3RpY2UgbGFjayBv
ZiBkaXNwbGF5IGJ1ZmZlci4KICAgICBpZiAoIWhhc05ld0JhY2tpbmcpCiAgICAgICAgIGFsbG9j
YXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCk7Ci0KICAgICBtYXJrTGF5ZXJDb21wb3Np
dGVkKCk7CisgICAgYm9vbCBzdWNjZXNzID0gd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCk7Cisg
ICAgVU5VU0VEX1ZBUklBQkxFKHN1Y2Nlc3MpOyAvLyBGSVhNRTogaW1wbGVtZW50IGNvbnRleHQg
bG9zdC4KIH0KIAogc3RkOjpvcHRpb25hbDxQaXhlbEJ1ZmZlcj4gR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OnJlYWRDb21wb3NpdGVkUmVzdWx0cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9w
ZW5HTC5oCmluZGV4IDYwY2JhZWRkMjM4ZjQ5OTlmNjQ4OTM0MmIyMGM0OTU0MjhiYTNiMDAuLjNk
OTk3MmZkMDY0NGE4YWZlOTY5NDdiMDlmOGVkMjU1OTA4YzkyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5H
TC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTC5oCkBAIC00NSwxMSArNDUsMTkgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bUNBTGF5ZXIuaCIKICNlbmRpZgogCi0jaWYgIVVTRShBTkdMRSkKKyNpZiBVU0UoQU5HTEUpCisj
aW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIgorI2Vsc2UKICNpbmNs
dWRlICJBTkdMRVdlYktpdEJyaWRnZS5oIgogI2luY2x1ZGUgIkV4dGVuc2lvbnNHTE9wZW5HTENv
bW1vbi5oIgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSAiU2NvcGVkSGln
aFBlcmZvcm1hbmNlR1BVUmVxdWVzdC5oIgorI2VuZGlmCisKKworCiAvLyBGSVhNRTogRmluZCBh
IGJldHRlciB3YXkgdG8gYXZvaWQgdGhlIG5hbWUgY29uZmxpY3Rpb24gZm9yIE5PX0VSUk9SLgog
I2lmIFBMQVRGT1JNKFdJTikKICN1bmRlZiBOT19FUlJPUgpAQCAtNzIsMTAgKzgwLDYgQEAgY2xh
c3MgR0NHTExheWVyOwogfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSAi
U2NvcGVkSGlnaFBlcmZvcm1hbmNlR1BVUmVxdWVzdC5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEV4dGVuc2lvbnNHTDsKICNpZiBVU0UoQU5HTEUpCkBAIC01NzQsNiAr
NTc4LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVy
QmFja2luZygpOwogICAgIGJvb2wgYmluZERpc3BsYXlCdWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVl
X3B0cjxJT1N1cmZhY2U+IGJhY2tpbmcsIHZvaWQqIHBidWZmZXIpOwogI2VuZGlmCisjaWYgVVNF
KEFOR0xFKQorICAgIC8vIFJldHVybnMgZmFsc2UgaWYgY29udGV4dCBzaG91bGQgYmUgbG9zdCBk
dWUgdG8gdGltZW91dC4KKyAgICBib29sIHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpIFdBUk5f
VU5VU0VEX1JFVFVSTjsKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgR3JhcGhp
Y3NDb250ZXh0R0xJT1N1cmZhY2VTd2FwQ2hhaW4qIG1fc3dhcENoYWluIHsgbnVsbHB0ciB9OwpA
QCAtNzg3LDYgKzc5NSwxMSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEFW
Rk9VTkRBVElPTikKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NDb250ZXh0R0xDVj4gbV9j
djsKICNlbmRpZgorI2lmIFVTRShBTkdMRSkKKyAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBt
YXhQZW5kaW5nRnJhbWVzID0gMzsKKyAgICBzaXplX3QgbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25G
ZW5jZSB7IDAgfTsKKyAgICBTY29wZWRHTEZlbmNlIG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW21h
eFBlbmRpbmdGcmFtZXNdOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431842</attachid>
            <date>2021-06-21 03:05:53 -0700</date>
            <delta_ts>2021-07-01 17:47:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210621130551.patch</filename>
            <type>text/plain</type>
            <size>17069</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNTg5MTNmOTQyODQ0YzViYWVhYzY0NWRkNzU5YTkyMTYwMjdmNTk3ZC4uY2E1Y2JkMGNhMjc0
NDczZTJhODVkNjllYWE0ZGE2YTMzMzk3NjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA2LTE2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2
ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzkzODU4NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWR2ZXJ0aXNlIEdMX0FSQl9zeW5jIGZvciB0aGUgTWV0YWwgYmFja2VuZC4K
KyAgICAgICAgU2luY2UgR0xfQVJCX3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0
aGUgTWV0YWwgYmFja2VuZCBhZHZlcnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgICAgIHRoZSBB
UEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0
aWFsaXplRXh0ZW5zaW9ucyBjb25zdCk6CisKIDIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBNZXRhbCBnbCBzeW5jIG9iamVj
dHMgZG8gbm90IHdvcmsgaW4gY2FzZSBvZiBsaXN0ZW5lciBiZWluZyBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAxNjNjOTNiZTQ1ZThkYjY2NTFiYzRhMDA5Yjg3OWI3NjJlYzZiMjY2Li4wMTUwMDAzZTNh
NTYyZmRkYTU2ZWUwMWRjODI1YTRlMjU4NjRkMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMjEtMDYtMTYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUg
d29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTM4NTg1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW1p
dCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1lcy4gRG8gbm90IGNvbnRpbnVl
IHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3Ig
dGhlIG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAg
ICBUaGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4g
dGhlCisgICAgICAgIGNhc2Ugd2hlcmUgdGhlIGNvbXBvc2l0b3Igc2tpcCBmcmFtZXMgYW5kIFdl
YktpdCB3b3VsZCBpc3N1ZSBhIG5ldyBzbG93IGZyYW1lCisgICAgICAgIG9uIHRvcCBvZiB0aGUg
c2tpcHBlZCBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseSB3
aXRoIHRoZSBwYWdlcyByZWZlcmVuY2VkIGZyb20gdGhlIGJ1Z3MuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0
aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRHTEZlbmNlOjp+U2NvcGVkR0xGZW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNl
OjphYmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAy
MDIxLTA2LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1N0cmVhbWVyXSBnc3RfZWxlbWVudF9nZXRfcmVxdWVzdF9wYWQgZGVwcmVjYXRlZCBp
biAxLjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IDcwZDc0ZTkzOGI5
N2VmNTQyY2ZkMTcwYTkyMzlhNDI3NGQyZmYyNDguLmU5MmNjMjgzOWVjMmRjZmYzM2QwZWMzZmMx
ZGJiOGU0NTBiMDczMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC04
NDIsNiArODQyLDkgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRXh0ZW5zaW9ucygpIGNv
bnN0CiAKICAgICAgICAgLy8gR0xfT0VTX0VHTF9zeW5jCiAgICAgICAgIG1OYXRpdmVFeHRlbnNp
b25zLmVnbFN5bmNPRVMgPSB0cnVlOworCisgICAgICAgIC8vIEdMX0FSQl9zeW5jCisgICAgICAg
IG1OYXRpdmVFeHRlbnNpb25zLmdsU3luY0FSQiA9IHRydWU7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQppbmRleCA5MTc5ZTFhNzdhMTQ1YjQ3MjhiYWFiNmZjNDMzNTg2ZTBlMTdkNTljLi42
YWRmZjBkZGI0ZDYwNmZlMTdmYzQzNzZjOGMyZTkxZDEzM2VkZDA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKQEAgLTEzMjksNiArMTMyOSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FOR0xFSGVhZGVycy5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAorICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDdiYWJkNTM4NzAxYTc3YTg5MGY3NjFkMjRkODkwM2I4NWUwYTcxM2YuLmVkMWQ3N2M0MmYz
NTljODdlMjg3NWY1Y2Y2MDFhMmJjNTQyMDljMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNCw3ICs3MTQsNyBAQAogCQky
NkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0MUIzQjY4
RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4
QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBW
aWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZFMDBDOTg2
QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IH07CisJCTI3RTNDODA4MjU3RjVFNkUwMEM5ODZBQiAv
KiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTE0RTMwODFDQUI1
QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAv
KiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5RTRCMDA0
QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTIzMjIsNyArMjMyMiw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3MCAvKiBH
cmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcwIC8qIEdy
YXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0IyNzk2IC8q
IFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAvKiBTY29w
ZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8qIFJlbW90
ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3ND
b250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKKwkJN0JCMzRBMTcyNTM0NUNCMjAwMDI5RDA4IC8q
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTE2MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8qIEdyYXBo
aWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFwaGljc0Nv
bnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBoaWNzQ2hl
Y2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3MzgxRkE5MDZG
QkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAvKiBKU1NW
R0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNw
cAppbmRleCBmMDViMGU1MDQzNjAyODJkZGRlMjg2YjRhZWQzYjI5YjgwNGE0MzgwLi4xNDQ3YWJl
YzJiNjlmNWY3ODYyNjQ0YjNmNWY2NzllOTYwNzE2ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRl
eHRHTEFOR0xFLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNp
bmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CkBAIC02MSwxMCArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBj
aGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdMX09FU19wYWNrZWRfZGVw
dGhfc3RlbmNpbCI7CiAKLW5hbWVzcGFjZSB7Ci0KLQotfSAvLyBuYW1lc3BhY2UgYW5vbnltb3Vz
CitzdGF0aWMgU2Vjb25kcyBtYXhGcmFtZUR1cmF0aW9uID0gNV9zOwogCiAjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQgd2lwZUFscGhhQ2hhbm5l
bEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMp
CkBAIC0yODQ2LDYgKzI4NDQsMjcgQEAgR3JhcGhpY3NDb250ZXh0R0xDViogR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2VuZGlmCiAKK2Jvb2wgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCit7CisgICAgc2l6ZV90IG9sZGVzdEZy
YW1lQ29tcGxldGlvbkZlbmNlID0gbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSsrICUgbWF4
UGVuZGluZ0ZyYW1lczsKKyAgICBib29sIHN1Y2Nlc3MgPSB0cnVlOworICAgIGlmIChTY29wZWRH
TEZlbmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1tvbGRlc3RGcmFt
ZUNvbXBsZXRpb25GZW5jZV0pKSB7CisgICAgICAgIC8vIFdhaXQgc28gdGhhdCByZW5kZXJpbmcg
ZG9lcyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJhbWVzIGZyYW1lcyBhaGVhZC4KKyAg
ICAgICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxVU0hfQ09NTUFORFNfQklUOworI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgICAgICAvLyBBdm9pZCB1c2luZyB0aGUgR0xfU1lOQ19GTFVT
SF9DT01NQU5EU19CSVQgYmVjYXVzZSBlYWNoIGVhY2ggZnJhbWUgaXMgZW5kZWQgd2l0aCBhIGZs
dXNoCisgICAgICAgIC8vIGR1ZSB0byBleHRlcm5hbCBJT1N1cmZhY2UgYWNjZXNzLiBUaGlzIHBh
cnRpY3VsYXIgZmVuY2UgaXMgbWF4UGVuZGluZ0ZyYW1lcyBiZWhpbmQuCisgICAgICAgIC8vIFRo
aXMgbWVhbnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2UgaGFzIGFscmVhZHkgYmVlbiBmbHVz
aGVkLgorICAgICAgICBmbGFncyA9IDA7CisjZW5kaWYKKyAgICAgICAgR0xlbnVtIHJlc3VsdCA9
IGdsOjpDbGllbnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1heEZyYW1lRHVyYXRpb24ubmFub3Nl
Y29uZHNBczxHTHVpbnQ2ND4oKSk7CisgICAgICAgIEFTU0VSVChyZXN1bHQgIT0gR0xfV0FJVF9G
QUlMRUQpOworICAgICAgICBzdWNjZXNzID0gcmVzdWx0ICE9IEdMX1dBSVRfRkFJTEVEICYmIHJl
c3VsdCAhPSBHTF9USU1FT1VUX0VYUElSRUQ7CisgICAgfQorICAgIG1fZnJhbWVDb21wbGV0aW9u
RmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5bmMoKTsKKyAgICByZXR1
cm4gc3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSAmJiBVU0UoQU5H
TEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9H
cmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKaW5kZXgg
NGJhM2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0NzVlNS4uZGM3OWYxZTI0MjNmNTIx
M2IwMzAxYzhjODBhNTRmNmJjYzQ0OWU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4
dEdMQU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIwNCw0MiBAQCBwcml2YXRlOgogICAgIEdM
dWludCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNzIFNjb3BlZEdMRmVuY2UgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOworcHVibGljOgorICAgIFNjb3BlZEdM
RmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xGZW5jZShTY29wZWRHTEZlbmNlJiYgb3Ro
ZXIpCisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9
KSkKKyAgICB7CisgICAgfQorICAgIH5TY29wZWRHTEZlbmNlKCkgeyByZXNldCgpOyB9CisgICAg
U2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVuY2UmJiBvdGhlcikKKyAgICB7Cisg
ICAgICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICAgICAgcmVzZXQoKTsKKyAgICAg
ICAgICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorICAgIHZvaWQgcmVzZXQoKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fb2JqZWN0KSB7CisgICAgICAgICAgICBnbDo6RGVsZXRlU3lu
YyhtX29iamVjdCk7CisgICAgICAgICAgICBtX29iamVjdCA9IHsgfTsKKyAgICAgICAgfQorICAg
IH0KKyAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0geyB9OyB9CisgICAgdm9pZCBmZW5j
ZVN5bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAgICAgICAgbV9vYmplY3QgPSBnbDo6
RmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKKyAgICB9CisgICAg
b3BlcmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KKyAgICBvcGVyYXRv
ciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KK3ByaXZhdGU6CisgICAgR0xzeW5j
IG1fb2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwNmUyOGYyZWM2Mzg0N2I3ZDg2YWUwNTU0NmY1OGRl
ZjhlNmRmYzI2Li5kMmNiMzVjMzVmOGExOTFkZTk1NzI1MGFlYTkzYWZhZGQ2Mzg4NjBkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0Nv
bnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KQEAgLTExNSwxNCArMTE1
LDExIEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxheSBJbml0aWFsaXplRUdMRGlzcGxh
eShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVz
LmFwcGVuZChFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX0NPTlRFWFRfVk9MQVRJTEVfQ0dMX0FO
R0xFKTsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9UUlVFKTsKICAgICB9
Ci0gICAgYm9vbCBjYW5Vc2VNZXRhbCA9IHBsYXRmb3JtU3VwcG9ydHNNZXRhbCgpOwotICAgIGlm
IChhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCkgeworICAgIGlmIChhdHRycy51c2VNZXRh
bCkgewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xF
X1RZUEVfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRG
T1JNX0FOR0xFX1RZUEVfTUVUQUxfQU5HTEUpOwogICAgIH0KLQotICAgIExPRyhXZWJHTCwgIkF0
dGVtcHRpbmcgdG8gdXNlIEFOR0xFJ3MgJXMgYmFja2VuZC4iLCBhdHRycy51c2VNZXRhbCAmJiBj
YW5Vc2VNZXRhbCA/ICJNZXRhbCIgOiAiT3BlbkdMIik7Ci0KKyAgICBMT0coV2ViR0wsICJBdHRl
bXB0aW5nIHRvIHVzZSBBTkdMRSdzICVzIGJhY2tlbmQuXG4iLCBhdHRycy51c2VNZXRhbCA/ICJN
ZXRhbCIgOiAiT3BlbkdMIik7CiAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9OT05F
KTsKICAgICBkaXNwbGF5ID0gRUdMX0dldFBsYXRmb3JtRGlzcGxheUVYVChFR0xfUExBVEZPUk1f
QU5HTEVfQU5HTEUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KEVHTF9ERUZBVUxUX0RJU1BMQVkp
LCBkaXNwbGF5QXR0cmlidXRlcy5kYXRhKCkpOwogCkBAIC0yMDAsNiArMTk3LDEwIEBAIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRl
eHRHTEF0dHJpYnV0ZXMgYXR0CiAgICAgOiBHcmFwaGljc0NvbnRleHRHTChhdHRycywgc2hhcmVk
Q29udGV4dCkKIHsKICAgICBtX2lzRm9yV2ViR0wyID0gYXR0cnMud2ViR0xWZXJzaW9uID09IEdy
YXBoaWNzQ29udGV4dEdMV2ViR0xWZXJzaW9uOjpXZWJHTDI7CisgICAgaWYgKGF0dHJzLnVzZU1l
dGFsICYmICFwbGF0Zm9ybVN1cHBvcnRzTWV0YWwoKSkgeworICAgICAgICBhdHRycy51c2VNZXRh
bCA9IGZhbHNlOworICAgICAgICBzZXRDb250ZXh0QXR0cmlidXRlcyhhdHRycyk7CisgICAgfQog
CiAgICAgbV9kaXNwbGF5T2JqID0gSW5pdGlhbGl6ZUVHTERpc3BsYXkoYXR0cnMpOwogICAgIGlm
ICghbV9kaXNwbGF5T2JqKQpAQCAtMjg2LDYgKzI4NywxMiBAQCBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVz
IGF0dAogICAgIGlmIChtX2lzRm9yV2ViR0wyKSB7CiAgICAgICAgIC8vIEZvciBXZWJHTCAyLjAg
b2NjbHVzaW9uIHF1ZXJpZXMgdG8gd29yay4KICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFw
cGVuZCgiR0xfRVhUX29jY2x1c2lvbl9xdWVyeV9ib29sZWFuIl9zKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMoKS51c2VNZXRhbCkgeworICAgICAgICAgICAg
Ly8gVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgR0xzeW5jIG9iamVjdHMuIEVuYWJsZSB0aGUgZnVu
Y3Rpb25hbGl0eSBmb3IgV2ViR0wgMS4wIGNvbnRleHRzCisgICAgICAgICAgICAvLyB0aGF0IHVz
ZSBPcGVuR0wgRVMgMi4wLgorICAgICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVuZCgi
R0xfQVJCX3N5bmMiX3MpOworICAgICAgICB9CiAgICAgfQogI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKCFuZWVkc0VBR0xPbk1hYygpKSB7CkBAIC0y
OTMsOCArMzAwLDcgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAgICAgICAgcmVxdWlyZWRF
eHRlbnNpb25zLmFwcGVuZCgiR0xfQU5HTEVfdGV4dHVyZV9yZWN0YW5nbGUiX3MpOwogICAgICAg
ICAvLyBGb3IgY3JlYXRpbmcgdGhlIEVHTCBzdXJmYWNlIGZyb20gYW4gSU9TdXJmYWNlLgogICAg
ICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdS
QTg4ODgiX3MpOwotICAgICAgICAgICAgfQotCisgICAgfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgRXh0ZW5zaW9uc0dMJiBleHRlbnNpb25z
ID0gZ2V0RXh0ZW5zaW9ucygpOwogICAgIGZvciAoYXV0byYgZXh0ZW5zaW9uIDogcmVxdWlyZWRF
eHRlbnNpb25zKSB7CkBAIC0zODUsNiArMzkxLDExIEBAIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
Ojp+R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woKQogICAgICAgICAgICAgZ2w6OkRlbGV0ZVRleHR1
cmVzKDEsICZtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlclRleHR1cmUpOwogICAgICAgICBpZiAobV9w
cmVzZXJ2ZURyYXdpbmdCdWZmZXJGQk8pCiAgICAgICAgICAgICBnbDo6RGVsZXRlRnJhbWVidWZm
ZXJzKDEsICZtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlckZCTyk7CisgICAgICAgIGZvciAoYXV0byYg
ZmVuY2UgOiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKKyAgICAgICAgICAgIGZlbmNlLnJlc2V0
KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yIChhdXRvJiBmZW5jZSA6IG1fZnJhbWVDb21w
bGV0aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UuYWJhbmRvbigpOwogICAgIH0KICAgICBp
ZiAobV9kaXNwbGF5QnVmZmVyUGJ1ZmZlcikgewogICAgICAgICBFR0xfRGVzdHJveVN1cmZhY2Uo
bV9kaXNwbGF5T2JqLCBtX2Rpc3BsYXlCdWZmZXJQYnVmZmVyKTsKQEAgLTcyMCw4ICs3MzEsMTQg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkoKQogICAg
IC8vIEVycm9yIHdpbGwgYmUgaGFuZGxlZCBieSBuZXh0IGNhbGwgdG8gbWFrZUNvbnRleHRDdXJy
ZW50KCkgd2hpY2ggd2lsbCBub3RpY2UgbGFjayBvZiBkaXNwbGF5IGJ1ZmZlci4KICAgICBpZiAo
IWhhc05ld0JhY2tpbmcpCiAgICAgICAgIGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNr
aW5nKCk7Ci0KICAgICBtYXJrTGF5ZXJDb21wb3NpdGVkKCk7CisKKyAgICBpZiAoY29udGV4dEF0
dHJpYnV0ZXMoKS51c2VNZXRhbCkgeworICAgICAgICAvLyBPcGVuR0wgc3luYyBvYmplY3RzIGFy
ZSBub3Qgc2lnbmFsaW5nIHVwb24gY29tcGxldGlvbiBvbiBDYXRhbGluYS1lcmEgZHJpdmVycy4K
KyAgICAgICAgLy8gT3BlbkdMIGRyaXZlcnMgdHlwaWNhbGx5IGltcGxlbWVudCBzb21lIHNvcnQg
b2YgaW50ZXJuYWwgdGhyb3R0bGluZy4KKyAgICAgICAgYm9vbCBzdWNjZXNzID0gd2FpdEFuZFVw
ZGF0ZU9sZGVzdEZyYW1lKCk7CisgICAgICAgIFVOVVNFRF9WQVJJQUJMRShzdWNjZXNzKTsgLy8g
RklYTUU6IGltcGxlbWVudCBjb250ZXh0IGxvc3QuCisgICAgfQogfQogCiBzdGQ6Om9wdGlvbmFs
PFBpeGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVhZENvbXBvc2l0ZWRSZXN1
bHRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggNjBjYmFlZGQyMzhm
NDk5OWY2NDg5MzQyYjIwYzQ5NTQyOGJhM2IwMC4uMWJkZDViNGZiMzIxMTJlYTE0MmJhMTZhYmY2
MzEyZWJlNThkN2ZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQ1
LDExICs0NSwxNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXllci5oIgogI2VuZGlmCiAKLSNp
ZiAhVVNFKEFOR0xFKQorI2lmIFVTRShBTkdMRSkKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRH
TEFOR0xFVXRpbGl0aWVzLmgiCisjZWxzZQogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgi
CiAjaW5jbHVkZSAiRXh0ZW5zaW9uc0dMT3BlbkdMQ29tbW9uLmgiCiAjZW5kaWYKIAorI2lmIFBM
QVRGT1JNKE1BQykKKyNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0Lmgi
CisjZW5kaWYKKwogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1l
IGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiBQTEFURk9STShXSU4pCiAjdW5kZWYgTk9f
RVJST1IKQEAgLTcyLDEwICs3OCw2IEBAIGNsYXNzIEdDR0xMYXllcjsKIH0KICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVl
c3QuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFeHRlbnNpb25zR0w7
CiAjaWYgVVNFKEFOR0xFKQpAQCAtNTc0LDYgKzU3NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wg
YWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBib29sIGJpbmREaXNw
bGF5QnVmZmVyQmFja2luZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lk
KiBwYnVmZmVyKTsKICNlbmRpZgorI2lmIFVTRShBTkdMRSkKKyAgICAvLyBSZXR1cm5zIGZhbHNl
IGlmIGNvbnRleHQgc2hvdWxkIGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCisgICAgYm9vbCB3YWl0
QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47CisjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKENPQ09BKQogICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWlu
KiBtX3N3YXBDaGFpbiB7IG51bGxwdHIgfTsKQEAgLTc4Nyw2ICs3OTMsMTEgQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgc3RkOjp1bmlxdWVf
cHRyPEdyYXBoaWNzQ29udGV4dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKKyNpZiBVU0UoQU5HTEUpCisg
ICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9IDM7CisgICAgc2l6
ZV90IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UgeyAwIH07CisgICAgU2NvcGVkR0xGZW5j
ZSBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsKKyNlbmRpZgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432757</attachid>
            <date>2021-07-01 17:47:46 -0700</date>
            <delta_ts>2021-07-01 17:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210701174746.patch</filename>
            <type>text/plain</type>
            <size>15983</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYzI2NGJiMGJkMjdmNzM1ZWUxNGMwYTdlNzJhOWI4YjE0ZDc2ZTM1MC4uMTBhZmU5OGM4N2M2
ZTFmOTczZTExZmQ1MTgzNTBlODU0OWMxMzkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTAxICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc5MTcyLgorICAgICAgICBCcm9r
ZSBXZWJHTCBjb250ZXh0IGNvbnN0cnVjdGlvbiBvbiBzb21lIGRldmljZXMuCisgICAgICAgIFJl
dmVydGVkIGNoYW5nZXNldDoKKyAgICAgICAgInJBRiBkcml2ZW4gV2ViR0wgc3VibWl0cyBleGNl
c3NpdmUgYW1vdW50IG9mIEdQVSB3b3JrIHdoZW4gZnJhbWVzIGFyZSBzbG93IgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAgICAgIGh0
dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3IyNzkxNzIKKwogMjAyMS0wNy0wMSAgS3lsZSBQaWRk
aW5ndG9uICA8a3BpZGRpbmd0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEJhYnlsb25KUyBVbmRl
ciB3YXRlciBkZW1vIGlzIHNsb3dlciB0aGFuIGl0IHNob3VsZCBiZSBvbiBJbnRlbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGIxOGIzYzg1ZTdlN2MzYTJiMzg4YzA4MjZhMDU2MzExMDBkY2E2ZjEuLmIyYWIwYjM3
Nzg2N2JkOTc5NjFhMGFhYzk4Njk3ZWZjMWQ2NDY3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wNy0wMSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBV
bnJldmlld2VkLCByZXZlcnRpbmcgcjI3OTE3Mi4KKworICAgICAgICBCcm9rZSBXZWJHTCBjb250
ZXh0IGNvbnN0cnVjdGlvbiBvbiBzb21lIGRldmljZXMuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hh
bmdlc2V0OgorCisgICAgICAgICJyQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFt
b3VudCBvZiBHUFUgd29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdyIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICBodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy9yMjc5MTcyCisKIDIwMjEtMDctMDEgIEFtaXIgTWFyayBKciAgPGFt
aXJfbWFya0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzk0
ODEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IDBiZGNlMGU2MTYzZDA3
ODJmYjhlYjhmZWVjZjE0M2JhYmZlNDg2OWUuLmE3MDQxMjgwODc2MzgzNWIyZjE5NjQ1MmFhODhm
MTYzZmVlOTQwMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC04ODQs
OSArODg0LDYgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRXh0ZW5zaW9ucygpIGNvbnN0
CiAKICAgICAgICAgLy8gR0xfT0VTX0VHTF9zeW5jCiAgICAgICAgIG1OYXRpdmVFeHRlbnNpb25z
LmVnbFN5bmNPRVMgPSB0cnVlOwotCi0gICAgICAgIC8vIEdMX0FSQl9zeW5jCi0gICAgICAgIG1O
YXRpdmVFeHRlbnNpb25zLmdsU3luY0FSQiA9IHRydWU7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCAxZTdhN2IyYmNiZmE2NTU3OGFkYTAzMWE5MzM0YzRmMTY1ZDczYmE1Li44OTE1
YTk0MTM2Yjk4ZWZjODJhZjE5MWMyYWRjYjM3MzEyNWZiYTEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTEzMzAsNyArMTMzMCw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURF
UlMKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FOR0xFSGVhZGVycy5oCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAotICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDc0NDlmYzY0OWJhOGY0Njc2ZTdiN2RjOTYzNmVlNzM5NGI5ZGJkMmIuLmE4YzFiNjdkMTMyMGFi
YmY5ZWYzNjg1YTA5YmVkMjA5MjViZjAzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNSw3ICs3MTUsNyBAQAogCQkyNkY3
NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0MUIzQjY4RjIw
MDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMwMEFFQjg4QSAv
KiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3
cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQky
N0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZFMDBDOTg2QUIg
LyogQU5HTEVIZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMjdFM0M4MDgyNTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjdFM0M4MDYyNTdG
NUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oICovOyB9OwogCQkyOTE0RTMwODFDQUI1QTQ0
MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2RiAvKiBB
Y2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThG
QzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5IC8qIEFj
Y2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTIzMjMsNyArMjMyMyw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3MCAvKiBHcmFw
aGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcwIC8qIEdyYXBo
aWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0IyNzk2IC8qIFNj
b3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAvKiBTY29wZWRI
aWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8qIFJlbW90ZUdy
YXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVtb3RlR3JhcGhp
Y3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250
ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdM
QU5HTEVVdGlsaXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xB
TkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5HTEVV
dGlsaXRpZXMuaCAqLzsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8qIEdyYXBoaWNz
Q29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRl
eHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBoaWNzQ2hlY2tz
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QkI2
ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3MzgxRkE5MDZGQkI0
RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAvKiBKU1NWR0dy
YXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApp
bmRleCAxNDQ3YWJlYzJiNjlmNWY3ODYyNjQ0YjNmNWY2NzllOTYwNzE2ZTE2Li5mMDViMGU1MDQz
NjAyODJkZGRlMjg2YjRhZWQzYjI5YjgwNGE0MzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRH
TEFOR0xFLmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNs
dWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KLSNpbmNsdWRlIDx3dGYv
U2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBA
IC02Miw3ICs2MSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFy
KiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdMX09FU19wYWNrZWRfZGVwdGhf
c3RlbmNpbCI7CiAKLXN0YXRpYyBTZWNvbmRzIG1heEZyYW1lRHVyYXRpb24gPSA1X3M7CituYW1l
c3BhY2UgeworCisKK30gLy8gbmFtZXNwYWNlIGFub255bW91cwogCiAjaWYgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQgd2lwZUFscGhhQ2hhbm5lbEZy
b21QaXhlbHMoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMpCkBA
IC0yODQ0LDI3ICsyODQ2LDYgQEAgR3JhcGhpY3NDb250ZXh0R0xDViogR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w6OmFzQ1YoKQogfQogI2VuZGlmCiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCi17Ci0gICAgc2l6ZV90IG9sZGVzdEZyYW1l
Q29tcGxldGlvbkZlbmNlID0gbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSsrICUgbWF4UGVu
ZGluZ0ZyYW1lczsKLSAgICBib29sIHN1Y2Nlc3MgPSB0cnVlOwotICAgIGlmIChTY29wZWRHTEZl
bmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1tvbGRlc3RGcmFtZUNv
bXBsZXRpb25GZW5jZV0pKSB7Ci0gICAgICAgIC8vIFdhaXQgc28gdGhhdCByZW5kZXJpbmcgZG9l
cyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJhbWVzIGZyYW1lcyBhaGVhZC4KLSAgICAg
ICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxVU0hfQ09NTUFORFNfQklUOwotI2lmIFBM
QVRGT1JNKENPQ09BKQotICAgICAgICAvLyBBdm9pZCB1c2luZyB0aGUgR0xfU1lOQ19GTFVTSF9D
T01NQU5EU19CSVQgYmVjYXVzZSBlYWNoIGVhY2ggZnJhbWUgaXMgZW5kZWQgd2l0aCBhIGZsdXNo
Ci0gICAgICAgIC8vIGR1ZSB0byBleHRlcm5hbCBJT1N1cmZhY2UgYWNjZXNzLiBUaGlzIHBhcnRp
Y3VsYXIgZmVuY2UgaXMgbWF4UGVuZGluZ0ZyYW1lcyBiZWhpbmQuCi0gICAgICAgIC8vIFRoaXMg
bWVhbnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2UgaGFzIGFscmVhZHkgYmVlbiBmbHVzaGVk
LgotICAgICAgICBmbGFncyA9IDA7Ci0jZW5kaWYKLSAgICAgICAgR0xlbnVtIHJlc3VsdCA9IGds
OjpDbGllbnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1heEZyYW1lRHVyYXRpb24ubmFub3NlY29u
ZHNBczxHTHVpbnQ2ND4oKSk7Ci0gICAgICAgIEFTU0VSVChyZXN1bHQgIT0gR0xfV0FJVF9GQUlM
RUQpOwotICAgICAgICBzdWNjZXNzID0gcmVzdWx0ICE9IEdMX1dBSVRfRkFJTEVEICYmIHJlc3Vs
dCAhPSBHTF9USU1FT1VUX0VYUElSRUQ7Ci0gICAgfQotICAgIG1fZnJhbWVDb21wbGV0aW9uRmVu
Y2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5bmMoKTsKLSAgICByZXR1cm4g
c3VjY2VzczsKLX0KLQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSAmJiBVU0UoQU5HTEUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKaW5kZXggZGM3
OWYxZTI0MjNmNTIxM2IwMzAxYzhjODBhNTRmNmJjYzQ0OWU5Mi4uNGJhM2NiNTg5NjVkMDI0NWVl
YjQ2MTllNGM3ZTYyYzc3MzU0NzVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDQyICsyMDQsNiBAQCBwcml2YXRlOgogICAgIEdMdWlu
dCBtX29iamVjdCB7IDAgfTsKIH07CiAKLWNsYXNzIFNjb3BlZEdMRmVuY2UgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOwotcHVibGljOgotICAgIFNjb3BlZEdMRmVu
Y2UoKSA9IGRlZmF1bHQ7Ci0gICAgU2NvcGVkR0xGZW5jZShTY29wZWRHTEZlbmNlJiYgb3RoZXIp
Ci0gICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KSkK
LSAgICB7Ci0gICAgfQotICAgIH5TY29wZWRHTEZlbmNlKCkgeyByZXNldCgpOyB9Ci0gICAgU2Nv
cGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVuY2UmJiBvdGhlcikKLSAgICB7Ci0gICAg
ICAgIGlmICh0aGlzICE9ICZvdGhlcikgewotICAgICAgICAgICAgcmVzZXQoKTsKLSAgICAgICAg
ICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsKLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gKnRoaXM7Ci0gICAgfQotICAgIHZvaWQgcmVzZXQoKQotICAg
IHsKLSAgICAgICAgaWYgKG1fb2JqZWN0KSB7Ci0gICAgICAgICAgICBnbDo6RGVsZXRlU3luYyht
X29iamVjdCk7Ci0gICAgICAgICAgICBtX29iamVjdCA9IHsgfTsKLSAgICAgICAgfQotICAgIH0K
LSAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0geyB9OyB9Ci0gICAgdm9pZCBmZW5jZVN5
bmMoKQotICAgIHsKLSAgICAgICAgcmVzZXQoKTsKLSAgICAgICAgbV9vYmplY3QgPSBnbDo6RmVu
Y2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKLSAgICB9Ci0gICAgb3Bl
cmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KLSAgICBvcGVyYXRvciBi
b29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KLXByaXZhdGU6Ci0gICAgR0xzeW5jIG1f
b2JqZWN0IHsgfTsKLX07Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwYzVhMjljZDM2OTVkYzhhZWI1NGYzYzQ0YTgxYjJhMDdm
NWY3NGQzLi5hZWJiNDJlZDU5MGUzYWZlYTBkNGZjMTBiMTcxZDlkMGY4YTg1ZjE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KQEAgLTExNiwxMSArMTE2LDEz
IEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxheSBJbml0aWFsaXplRUdMRGlzcGxheShj
b25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFw
cGVuZChFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX0NPTlRFWFRfVk9MQVRJTEVfQ0dMX0FOR0xF
KTsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9UUlVFKTsKICAgICB9Ci0g
ICAgaWYgKGF0dHJzLnVzZU1ldGFsKSB7CisgICAgYm9vbCBjYW5Vc2VNZXRhbCA9IHBsYXRmb3Jt
U3VwcG9ydHNNZXRhbCgpOworICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCkg
ewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZ
UEVfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JN
X0FOR0xFX1RZUEVfTUVUQUxfQU5HTEUpOwogICAgIH0KLSAgICBMT0coV2ViR0wsICJBdHRlbXB0
aW5nIHRvIHVzZSBBTkdMRSdzICVzIGJhY2tlbmQuXG4iLCBhdHRycy51c2VNZXRhbCA/ICJNZXRh
bCIgOiAiT3BlbkdMIik7CisKKyAgICBMT0coV2ViR0wsICJBdHRlbXB0aW5nIHRvIHVzZSBBTkdM
RSdzICVzIGJhY2tlbmQuXG4iLCBhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCA/ICJNZXRh
bCIgOiAiT3BlbkdMIik7CiAgICAgaWYgKGF0dHJzLnBvd2VyUHJlZmVyZW5jZSAhPSBHcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXM6OlBvd2VyUHJlZmVyZW5jZTo6RGVmYXVsdCkgewogICAgICAg
ICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BPV0VSX1BSRUZFUkVOQ0VfQU5HTEUpOwog
ICAgICAgICBpZiAoYXR0cnMucG93ZXJQcmVmZXJlbmNlID09IEdyYXBoaWNzQ29udGV4dEdMQXR0
cmlidXRlczo6UG93ZXJQcmVmZXJlbmNlOjpMb3dQb3dlcikKQEAgLTEzMCw2ICsxMzIsNyBAQCBz
dGF0aWMgU2NvcGVkRUdMRGVmYXVsdERpc3BsYXkgSW5pdGlhbGl6ZUVHTERpc3BsYXkoY29uc3Qg
R3JhcGhpY3NDb250ZXh0R0xBdHRyaQogICAgICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBw
ZW5kKEVHTF9ISUdIX1BPV0VSX0FOR0xFKTsKICAgICAgICAgfQogICAgIH0KKwogICAgIGRpc3Bs
YXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfTk9ORSk7CiAgICAgZGlzcGxheSA9IEVHTF9HZXRQbGF0
Zm9ybURpc3BsYXlFWFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xFLCByZWludGVycHJldF9jYXN0
PHZvaWQqPihFR0xfREVGQVVMVF9ESVNQTEFZKSwgZGlzcGxheUF0dHJpYnV0ZXMuZGF0YSgpKTsK
IApAQCAtMjA3LDEwICsyMTAsNiBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6R3JhcGhpY3ND
b250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAgIDogR3Jh
cGhpY3NDb250ZXh0R0woYXR0cnMsIHNoYXJlZENvbnRleHQpCiB7CiAgICAgbV9pc0ZvcldlYkdM
MiA9IGF0dHJzLndlYkdMVmVyc2lvbiA9PSBHcmFwaGljc0NvbnRleHRHTFdlYkdMVmVyc2lvbjo6
V2ViR0wyOwotICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiAhcGxhdGZvcm1TdXBwb3J0c01ldGFs
KCkpIHsKLSAgICAgICAgYXR0cnMudXNlTWV0YWwgPSBmYWxzZTsKLSAgICAgICAgc2V0Q29udGV4
dEF0dHJpYnV0ZXMoYXR0cnMpOwotICAgIH0KIAogICAgIG1fZGlzcGxheU9iaiA9IEluaXRpYWxp
emVFR0xEaXNwbGF5KGF0dHJzKTsKICAgICBpZiAoIW1fZGlzcGxheU9iaikKQEAgLTI5NywxMiAr
Mjk2LDYgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
KEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAgICBpZiAobV9pc0ZvcldlYkdMMikg
ewogICAgICAgICAvLyBGb3IgV2ViR0wgMi4wIG9jY2x1c2lvbiBxdWVyaWVzIHRvIHdvcmsuCiAg
ICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0VYVF9vY2NsdXNpb25fcXVlcnlf
Ym9vbGVhbiJfcyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVz
KCkudXNlTWV0YWwpIHsKLSAgICAgICAgICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiB1c2VzIEdM
c3luYyBvYmplY3RzLiBFbmFibGUgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIFdlYkdMIDEuMCBjb250
ZXh0cwotICAgICAgICAgICAgLy8gdGhhdCB1c2UgT3BlbkdMIEVTIDIuMC4KLSAgICAgICAgICAg
IHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FSQl9zeW5jIl9zKTsKLSAgICAgICAgfQog
ICAgIH0KICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGlm
ICghbmVlZHNFQUdMT25NYWMoKSkgewpAQCAtMzEwLDcgKzMwMyw4IEBAIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMgYXR0CiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FOR0xFX3Rl
eHR1cmVfcmVjdGFuZ2xlIl9zKTsKICAgICAgICAgLy8gRm9yIGNyZWF0aW5nIHRoZSBFR0wgc3Vy
ZmFjZSBmcm9tIGFuIElPU3VyZmFjZS4KICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVu
ZCgiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4Il9zKTsKLSAgICB9CisgICAgICAgICAg
ICB9CisKICNlbmRpZiAvLyBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQog
ICAgIEV4dGVuc2lvbnNHTCYgZXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbnMoKTsKICAgICBmb3Ig
KGF1dG8mIGV4dGVuc2lvbiA6IHJlcXVpcmVkRXh0ZW5zaW9ucykgewpAQCAtNDAxLDExICszOTUs
NiBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCkK
ICAgICAgICAgICAgIGdsOjpEZWxldGVUZXh0dXJlcygxLCAmbV9wcmVzZXJ2ZURyYXdpbmdCdWZm
ZXJUZXh0dXJlKTsKICAgICAgICAgaWYgKG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyRkJPKQogICAg
ICAgICAgICAgZ2w6OkRlbGV0ZUZyYW1lYnVmZmVycygxLCAmbV9wcmVzZXJ2ZURyYXdpbmdCdWZm
ZXJGQk8pOwotICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRpb25GZW5j
ZXMpCi0gICAgICAgICAgICBmZW5jZS5yZXNldCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGZv
ciAoYXV0byYgZmVuY2UgOiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKLSAgICAgICAgICAgIGZl
bmNlLmFiYW5kb24oKTsKICAgICB9CiAgICAgaWYgKG1fZGlzcGxheUJ1ZmZlclBidWZmZXIpIHsK
ICAgICAgICAgRUdMX0Rlc3Ryb3lTdXJmYWNlKG1fZGlzcGxheU9iaiwgbV9kaXNwbGF5QnVmZmVy
UGJ1ZmZlcik7CkBAIC03ODgsMTQgKzc3Nyw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OnByZXBhcmVGb3JEaXNwbGF5KCkKICAgICAvLyBFcnJvciB3aWxsIGJlIGhhbmRsZWQgYnkg
bmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90aWNlIGxhY2sg
b2YgZGlzcGxheSBidWZmZXIuCiAgICAgaWYgKCFoYXNOZXdCYWNraW5nKQogICAgICAgICBhbGxv
Y2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwotICAgIG1hcmtMYXllckNvbXBvc2l0
ZWQoKTsKIAotICAgIGlmIChjb250ZXh0QXR0cmlidXRlcygpLnVzZU1ldGFsKSB7Ci0gICAgICAg
IC8vIE9wZW5HTCBzeW5jIG9iamVjdHMgYXJlIG5vdCBzaWduYWxpbmcgdXBvbiBjb21wbGV0aW9u
IG9uIENhdGFsaW5hLWVyYSBkcml2ZXJzLgotICAgICAgICAvLyBPcGVuR0wgZHJpdmVycyB0eXBp
Y2FsbHkgaW1wbGVtZW50IHNvbWUgc29ydCBvZiBpbnRlcm5hbCB0aHJvdHRsaW5nLgotICAgICAg
ICBib29sIHN1Y2Nlc3MgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKTsKLSAgICAgICAgVU5V
U0VEX1ZBUklBQkxFKHN1Y2Nlc3MpOyAvLyBGSVhNRTogaW1wbGVtZW50IGNvbnRleHQgbG9zdC4K
LSAgICB9CisgICAgbWFya0xheWVyQ29tcG9zaXRlZCgpOwogfQogCiBzdGQ6Om9wdGlvbmFsPFBp
eGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVhZENvbXBvc2l0ZWRSZXN1bHRz
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggZmM4ZGU4YjNlYjUyNDkx
YzI1MmRjNTFkOTI5N2RmNzFkOTZmMDIyZS4uM2E4MWRiNTUzZmY5YjI5ZjFhYTNhMWM5OThiYjI1
ZmRlMzJlOWJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQ1LDE3
ICs0NSwxMSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXllci5oIgogI2VuZGlmCiAKLSNpZiBV
U0UoQU5HTEUpCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIgot
I2Vsc2UKKyNpZiAhVVNFKEFOR0xFKQogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCiAj
aW5jbHVkZSAiRXh0ZW5zaW9uc0dMT3BlbkdMQ29tbW9uLmgiCiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKE1BQykKLSNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmgiCi0j
ZW5kaWYKLQogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNv
bmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiBQTEFURk9STShXSU4pCiAjdW5kZWYgTk9fRVJS
T1IKQEAgLTc4LDYgKzcyLDEwIEBAIGNsYXNzIEdDR0xMYXllcjsKIH0KICNlbmRpZgogCisjaWYg
UExBVEZPUk0oTUFDKQorI2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3Qu
aCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFeHRlbnNpb25zR0w7CiAj
aWYgVVNFKEFOR0xFKQpAQCAtNTgwLDEwICs1NzgsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgYWxs
b2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBib29sIGJpbmREaXNwbGF5
QnVmZmVyQmFja2luZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBw
YnVmZmVyKTsKICNlbmRpZgotI2lmIFVTRShBTkdMRSkKLSAgICAvLyBSZXR1cm5zIGZhbHNlIGlm
IGNvbnRleHQgc2hvdWxkIGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCi0gICAgYm9vbCB3YWl0QW5k
VXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47Ci0jZW5kaWYKIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluKiBt
X3N3YXBDaGFpbiB7IG51bGxwdHIgfTsKQEAgLTc5NywxMSArNzkxLDYgQEAgcHJpdmF0ZToKICNp
ZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgc3RkOjp1bmlxdWVfcHRy
PEdyYXBoaWNzQ29udGV4dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKLSNpZiBVU0UoQU5HTEUpCi0gICAg
c3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9IDM7Ci0gICAgc2l6ZV90
IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UgeyAwIH07Ci0gICAgU2NvcGVkR0xGZW5jZSBt
X2ZyYW1lQ29tcGxldGlvbkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsKLSNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432758</attachid>
            <date>2021-07-01 17:50:10 -0700</date>
            <delta_ts>2021-07-09 19:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210701175009.patch</filename>
            <type>text/plain</type>
            <size>15989</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYzI2NGJiMGJkMjdmNzM1ZWUxNGMwYTdlNzJhOWI4YjE0ZDc2ZTM1MC4uNjhhNGU4NTRlODg5
ZWUzYjliZGIxOGJlNDljNDMzNzRjOTJhY2ZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTAxICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc5MTcyLgorCisgICAgICAgIEJy
b2tlIFdlYkdMIGNvbnRleHQgY29uc3RydWN0aW9uIG9uIHNvbWUgZGV2aWNlcy4KKworICAgICAg
ICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgInJBRiBkcml2ZW4gV2ViR0wgc3VibWl0
cyBleGNlc3NpdmUgYW1vdW50IG9mIEdQVSB3b3JrIHdoZW4gZnJhbWVzIGFyZSBzbG93IgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MDU5CisgICAg
ICAgIGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3IyNzkxNzIKKwogMjAyMS0wNy0wMSAgS3ls
ZSBQaWRkaW5ndG9uICA8a3BpZGRpbmd0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEJhYnlsb25K
UyBVbmRlciB3YXRlciBkZW1vIGlzIHNsb3dlciB0aGFuIGl0IHNob3VsZCBiZSBvbiBJbnRlbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGIxOGIzYzg1ZTdlN2MzYTJiMzg4YzA4MjZhMDU2MzExMDBkY2E2ZjEuLmIy
YWIwYjM3Nzg2N2JkOTc5NjFhMGFhYzk4Njk3ZWZjMWQ2NDY3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wNy0wMSAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3OTE3Mi4KKworICAgICAgICBCcm9rZSBXZWJH
TCBjb250ZXh0IGNvbnN0cnVjdGlvbiBvbiBzb21lIGRldmljZXMuCisKKyAgICAgICAgUmV2ZXJ0
ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJyQUYgZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNz
aXZlIGFtb3VudCBvZiBHUFUgd29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdyIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorICAgICAgICBodHRw
czovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjc5MTcyCisKIDIwMjEtMDctMDEgIEFtaXIgTWFyayBK
ciAgPGFtaXJfbWFya0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5n
IHIyNzk0ODEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IDBiZGNlMGU2
MTYzZDA3ODJmYjhlYjhmZWVjZjE0M2JhYmZlNDg2OWUuLmE3MDQxMjgwODc2MzgzNWIyZjE5NjQ1
MmFhODhmMTYzZmVlOTQwMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBA
IC04ODQsOSArODg0LDYgQEAgdm9pZCBEaXNwbGF5TXRsOjppbml0aWFsaXplRXh0ZW5zaW9ucygp
IGNvbnN0CiAKICAgICAgICAgLy8gR0xfT0VTX0VHTF9zeW5jCiAgICAgICAgIG1OYXRpdmVFeHRl
bnNpb25zLmVnbFN5bmNPRVMgPSB0cnVlOwotCi0gICAgICAgIC8vIEdMX0FSQl9zeW5jCi0gICAg
ICAgIG1OYXRpdmVFeHRlbnNpb25zLmdsU3luY0FSQiA9IHRydWU7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQppbmRleCAxZTdhN2IyYmNiZmE2NTU3OGFkYTAzMWE5MzM0YzRmMTY1ZDczYmE1
Li44OTE1YTk0MTM2Yjk4ZWZjODJhZjE5MWMyYWRjYjM3MzEyNWZiYTEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UKQEAgLTEzMzAsNyArMTMzMCw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JL
X0hFQURFUlMKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FOR0xFSGVhZGVycy5oCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuaAotICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaAogCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmgKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3REcmF3R2x5cGhzUmVjb3JkZXIu
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDc0NDlmYzY0OWJhOGY0Njc2ZTdiN2RjOTYzNmVlNzM5NGI5ZGJkMmIuLmE4YzFiNjdk
MTMyMGFiYmY5ZWYzNjg1YTA5YmVkMjA5MjViZjAzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxNSw3ICs3MTUsNyBAQAog
CQkyNkY3NTZCNTFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRhYmxlTkZBTm9kZUJ1aWxkZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Rjc1NkI0MUIz
QjY4RjIwMDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI2RjlBODM4MThBMDQ2QUMwMEFF
Qjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4MzYxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdw
b3J0Q29uZmlndXJhdGlvbi5jcHAgKi87IH07CiAJCTI2RjlBODM5MThBMDQ2QUMwMEFFQjg4QSAv
KiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI2RjlBODM3MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZp
Z3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1RTZFMDBD
OTg2QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMjdFM0M4MDgyNTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVy
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjdFM0M4
MDYyNTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oICovOyB9OwogCQkyOTE0RTMwODFD
QUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5MTRFMzA2MUNBQjVBNDQwMDQ5OTY2
RiAvKiBBY2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oICovOyB9OwogCQkyOTM2QkY1QzIxRDY5RTRC
MDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzNkJGNUEyMUQ2OTk5RTAwNEE4RkM5
IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyOTNFQUUxRTEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTIzMjMsNyArMjMyMyw3IEBACiAJCTdCNkRDODE5MjU3MTJFOTIwMDM4MEM3MCAv
KiBHcmFwaGljc0NvbnRleHRHTElPU3VyZmFjZVN3YXBDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I2REM4MTcyNTcxMkU5MjAwMzgwQzcwIC8q
IEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENoYWluLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I3MzExRkIyNUMwOTJCNzAwM0IyNzk2
IC8qIFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMUZBMjVDMDkyQjcwMDNCMjc5NiAvKiBT
Y29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0I5MDQxNzAyNTUwMTE0MjAwNkVFQjhDIC8qIFJl
bW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjkwNDE2RTI1NTAxMTA5MDA2RUVCOEMgLyogUmVtb3Rl
R3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29u
dGV4dEdMQU5HTEVVdGlsaXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250
ZXh0R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdM
QU5HTEVVdGlsaXRpZXMuaCAqLzsgfTsKIAkJN0JCMzRBNDgyNTM3NzZDQTAwMDI5RDA4IC8qIEdy
YXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0QTQ1MjUzNzc2QzYwMDAyOUQwOCAvKiBHcmFwaGlj
c0NvbnRleHRHTEltYWdlRXh0cmFjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JCNjgwQkEyNUJBMUJFNDAwMkI4NzM4IC8qIEdyYXBoaWNz
Q2hlY2tzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QkI2ODBCODI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3MzgxRkE5
MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5OSAvKiBK
U1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xF
LmNwcAppbmRleCAxNDQ3YWJlYzJiNjlmNWY3ODYyNjQ0YjNmNWY2NzllOTYwNzE2ZTE2Li5mMDVi
MGU1MDQzNjAyODJkZGRlMjg2YjRhZWQzYjI5YjgwNGE0MzgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4K
ICNpbmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KLSNpbmNsdWRl
IDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVy
Lmg+CkBAIC02Miw3ICs2MSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25z
dCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdMX09FU19wYWNrZWRf
ZGVwdGhfc3RlbmNpbCI7CiAKLXN0YXRpYyBTZWNvbmRzIG1heEZyYW1lRHVyYXRpb24gPSA1X3M7
CituYW1lc3BhY2UgeworCisKK30gLy8gbmFtZXNwYWNlIGFub255bW91cwogCiAjaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQgd2lwZUFscGhhQ2hh
bm5lbEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBjaGFyKiBwaXhl
bHMpCkBAIC0yODQ0LDI3ICsyODQ2LDYgQEAgR3JhcGhpY3NDb250ZXh0R0xDViogR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2VuZGlmCiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCi17Ci0gICAgc2l6ZV90IG9sZGVz
dEZyYW1lQ29tcGxldGlvbkZlbmNlID0gbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSsrICUg
bWF4UGVuZGluZ0ZyYW1lczsKLSAgICBib29sIHN1Y2Nlc3MgPSB0cnVlOwotICAgIGlmIChTY29w
ZWRHTEZlbmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1tvbGRlc3RG
cmFtZUNvbXBsZXRpb25GZW5jZV0pKSB7Ci0gICAgICAgIC8vIFdhaXQgc28gdGhhdCByZW5kZXJp
bmcgZG9lcyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJhbWVzIGZyYW1lcyBhaGVhZC4K
LSAgICAgICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxVU0hfQ09NTUFORFNfQklUOwot
I2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAgICAvLyBBdm9pZCB1c2luZyB0aGUgR0xfU1lOQ19G
TFVTSF9DT01NQU5EU19CSVQgYmVjYXVzZSBlYWNoIGVhY2ggZnJhbWUgaXMgZW5kZWQgd2l0aCBh
IGZsdXNoCi0gICAgICAgIC8vIGR1ZSB0byBleHRlcm5hbCBJT1N1cmZhY2UgYWNjZXNzLiBUaGlz
IHBhcnRpY3VsYXIgZmVuY2UgaXMgbWF4UGVuZGluZ0ZyYW1lcyBiZWhpbmQuCi0gICAgICAgIC8v
IFRoaXMgbWVhbnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2UgaGFzIGFscmVhZHkgYmVlbiBm
bHVzaGVkLgotICAgICAgICBmbGFncyA9IDA7Ci0jZW5kaWYKLSAgICAgICAgR0xlbnVtIHJlc3Vs
dCA9IGdsOjpDbGllbnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1heEZyYW1lRHVyYXRpb24ubmFu
b3NlY29uZHNBczxHTHVpbnQ2ND4oKSk7Ci0gICAgICAgIEFTU0VSVChyZXN1bHQgIT0gR0xfV0FJ
VF9GQUlMRUQpOwotICAgICAgICBzdWNjZXNzID0gcmVzdWx0ICE9IEdMX1dBSVRfRkFJTEVEICYm
IHJlc3VsdCAhPSBHTF9USU1FT1VUX0VYUElSRUQ7Ci0gICAgfQotICAgIG1fZnJhbWVDb21wbGV0
aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5bmMoKTsKLSAgICBy
ZXR1cm4gc3VjY2VzczsKLX0KLQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSAmJiBVU0Uo
QU5HTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKaW5k
ZXggZGM3OWYxZTI0MjNmNTIxM2IwMzAxYzhjODBhNTRmNmJjYzQ0OWU5Mi4uNGJhM2NiNTg5NjVk
MDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0NzVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29u
dGV4dEdMQU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDQyICsyMDQsNiBAQCBwcml2YXRlOgogICAg
IEdMdWludCBtX29iamVjdCB7IDAgfTsKIH07CiAKLWNsYXNzIFNjb3BlZEdMRmVuY2UgewotICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOwotcHVibGljOgotICAgIFNjb3Bl
ZEdMRmVuY2UoKSA9IGRlZmF1bHQ7Ci0gICAgU2NvcGVkR0xGZW5jZShTY29wZWRHTEZlbmNlJiYg
b3RoZXIpCi0gICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwg
eyB9KSkKLSAgICB7Ci0gICAgfQotICAgIH5TY29wZWRHTEZlbmNlKCkgeyByZXNldCgpOyB9Ci0g
ICAgU2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVuY2UmJiBvdGhlcikKLSAgICB7
Ci0gICAgICAgIGlmICh0aGlzICE9ICZvdGhlcikgewotICAgICAgICAgICAgcmVzZXQoKTsKLSAg
ICAgICAgICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29iamVjdCwgeyB9KTsK
LSAgICAgICAgfQotICAgICAgICByZXR1cm4gKnRoaXM7Ci0gICAgfQotICAgIHZvaWQgcmVzZXQo
KQotICAgIHsKLSAgICAgICAgaWYgKG1fb2JqZWN0KSB7Ci0gICAgICAgICAgICBnbDo6RGVsZXRl
U3luYyhtX29iamVjdCk7Ci0gICAgICAgICAgICBtX29iamVjdCA9IHsgfTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0geyB9OyB9Ci0gICAgdm9pZCBm
ZW5jZVN5bmMoKQotICAgIHsKLSAgICAgICAgcmVzZXQoKTsKLSAgICAgICAgbV9vYmplY3QgPSBn
bDo6RmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKLSAgICB9Ci0g
ICAgb3BlcmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KLSAgICBvcGVy
YXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KLXByaXZhdGU6Ci0gICAgR0xz
eW5jIG1fb2JqZWN0IHsgfTsKLX07Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAwYzVhMjljZDM2OTVkYzhhZWI1NGYzYzQ0YTgx
YjJhMDdmNWY3NGQzLi5hZWJiNDJlZDU5MGUzYWZlYTBkNGZjMTBiMTcxZDlkMGY4YTg1ZjE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KQEAgLTExNiwxMSAr
MTE2LDEzIEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxheSBJbml0aWFsaXplRUdMRGlz
cGxheShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1
dGVzLmFwcGVuZChFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX0NPTlRFWFRfVk9MQVRJTEVfQ0dM
X0FOR0xFKTsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9UUlVFKTsKICAg
ICB9Ci0gICAgaWYgKGF0dHJzLnVzZU1ldGFsKSB7CisgICAgYm9vbCBjYW5Vc2VNZXRhbCA9IHBs
YXRmb3JtU3VwcG9ydHNNZXRhbCgpOworICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VN
ZXRhbCkgewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FO
R0xFX1RZUEVfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BM
QVRGT1JNX0FOR0xFX1RZUEVfTUVUQUxfQU5HTEUpOwogICAgIH0KLSAgICBMT0coV2ViR0wsICJB
dHRlbXB0aW5nIHRvIHVzZSBBTkdMRSdzICVzIGJhY2tlbmQuXG4iLCBhdHRycy51c2VNZXRhbCA/
ICJNZXRhbCIgOiAiT3BlbkdMIik7CisKKyAgICBMT0coV2ViR0wsICJBdHRlbXB0aW5nIHRvIHVz
ZSBBTkdMRSdzICVzIGJhY2tlbmQuXG4iLCBhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCA/
ICJNZXRhbCIgOiAiT3BlbkdMIik7CiAgICAgaWYgKGF0dHJzLnBvd2VyUHJlZmVyZW5jZSAhPSBH
cmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXM6OlBvd2VyUHJlZmVyZW5jZTo6RGVmYXVsdCkgewog
ICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BPV0VSX1BSRUZFUkVOQ0VfQU5H
TEUpOwogICAgICAgICBpZiAoYXR0cnMucG93ZXJQcmVmZXJlbmNlID09IEdyYXBoaWNzQ29udGV4
dEdMQXR0cmlidXRlczo6UG93ZXJQcmVmZXJlbmNlOjpMb3dQb3dlcikKQEAgLTEzMCw2ICsxMzIs
NyBAQCBzdGF0aWMgU2NvcGVkRUdMRGVmYXVsdERpc3BsYXkgSW5pdGlhbGl6ZUVHTERpc3BsYXko
Y29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaQogICAgICAgICAgICAgZGlzcGxheUF0dHJpYnV0
ZXMuYXBwZW5kKEVHTF9ISUdIX1BPV0VSX0FOR0xFKTsKICAgICAgICAgfQogICAgIH0KKwogICAg
IGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfTk9ORSk7CiAgICAgZGlzcGxheSA9IEVHTF9H
ZXRQbGF0Zm9ybURpc3BsYXlFWFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xFLCByZWludGVycHJl
dF9jYXN0PHZvaWQqPihFR0xfREVGQVVMVF9ESVNQTEFZKSwgZGlzcGxheUF0dHJpYnV0ZXMuZGF0
YSgpKTsKIApAQCAtMjA3LDEwICsyMTAsNiBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6R3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAg
IDogR3JhcGhpY3NDb250ZXh0R0woYXR0cnMsIHNoYXJlZENvbnRleHQpCiB7CiAgICAgbV9pc0Zv
cldlYkdMMiA9IGF0dHJzLndlYkdMVmVyc2lvbiA9PSBHcmFwaGljc0NvbnRleHRHTFdlYkdMVmVy
c2lvbjo6V2ViR0wyOwotICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiAhcGxhdGZvcm1TdXBwb3J0
c01ldGFsKCkpIHsKLSAgICAgICAgYXR0cnMudXNlTWV0YWwgPSBmYWxzZTsKLSAgICAgICAgc2V0
Q29udGV4dEF0dHJpYnV0ZXMoYXR0cnMpOwotICAgIH0KIAogICAgIG1fZGlzcGxheU9iaiA9IElu
aXRpYWxpemVFR0xEaXNwbGF5KGF0dHJzKTsKICAgICBpZiAoIW1fZGlzcGxheU9iaikKQEAgLTI5
NywxMiArMjk2LDYgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAgICBpZiAobV9pc0Zvcldl
YkdMMikgewogICAgICAgICAvLyBGb3IgV2ViR0wgMi4wIG9jY2x1c2lvbiBxdWVyaWVzIHRvIHdv
cmsuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0VYVF9vY2NsdXNpb25f
cXVlcnlfYm9vbGVhbiJfcyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGNvbnRleHRBdHRy
aWJ1dGVzKCkudXNlTWV0YWwpIHsKLSAgICAgICAgICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiB1
c2VzIEdMc3luYyBvYmplY3RzLiBFbmFibGUgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIFdlYkdMIDEu
MCBjb250ZXh0cwotICAgICAgICAgICAgLy8gdGhhdCB1c2UgT3BlbkdMIEVTIDIuMC4KLSAgICAg
ICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FSQl9zeW5jIl9zKTsKLSAgICAg
ICAgfQogICAgIH0KICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQog
ICAgIGlmICghbmVlZHNFQUdMT25NYWMoKSkgewpAQCAtMzEwLDcgKzMwMyw4IEBAIEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRH
TEF0dHJpYnV0ZXMgYXR0CiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FO
R0xFX3RleHR1cmVfcmVjdGFuZ2xlIl9zKTsKICAgICAgICAgLy8gRm9yIGNyZWF0aW5nIHRoZSBF
R0wgc3VyZmFjZSBmcm9tIGFuIElPU3VyZmFjZS4KICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25z
LmFwcGVuZCgiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4Il9zKTsKLSAgICB9CisgICAg
ICAgICAgICB9CisKICNlbmRpZiAvLyBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKQogICAgIEV4dGVuc2lvbnNHTCYgZXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbnMoKTsKICAg
ICBmb3IgKGF1dG8mIGV4dGVuc2lvbiA6IHJlcXVpcmVkRXh0ZW5zaW9ucykgewpAQCAtNDAxLDEx
ICszOTUsNiBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMKCkKICAgICAgICAgICAgIGdsOjpEZWxldGVUZXh0dXJlcygxLCAmbV9wcmVzZXJ2ZURyYXdp
bmdCdWZmZXJUZXh0dXJlKTsKICAgICAgICAgaWYgKG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyRkJP
KQogICAgICAgICAgICAgZ2w6OkRlbGV0ZUZyYW1lYnVmZmVycygxLCAmbV9wcmVzZXJ2ZURyYXdp
bmdCdWZmZXJGQk8pOwotICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRp
b25GZW5jZXMpCi0gICAgICAgICAgICBmZW5jZS5yZXNldCgpOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGZvciAoYXV0byYgZmVuY2UgOiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKLSAgICAgICAg
ICAgIGZlbmNlLmFiYW5kb24oKTsKICAgICB9CiAgICAgaWYgKG1fZGlzcGxheUJ1ZmZlclBidWZm
ZXIpIHsKICAgICAgICAgRUdMX0Rlc3Ryb3lTdXJmYWNlKG1fZGlzcGxheU9iaiwgbV9kaXNwbGF5
QnVmZmVyUGJ1ZmZlcik7CkBAIC03ODgsMTQgKzc3Nyw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w6OnByZXBhcmVGb3JEaXNwbGF5KCkKICAgICAvLyBFcnJvciB3aWxsIGJlIGhhbmRs
ZWQgYnkgbmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90aWNl
IGxhY2sgb2YgZGlzcGxheSBidWZmZXIuCiAgICAgaWYgKCFoYXNOZXdCYWNraW5nKQogICAgICAg
ICBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwotICAgIG1hcmtMYXllckNv
bXBvc2l0ZWQoKTsKIAotICAgIGlmIChjb250ZXh0QXR0cmlidXRlcygpLnVzZU1ldGFsKSB7Ci0g
ICAgICAgIC8vIE9wZW5HTCBzeW5jIG9iamVjdHMgYXJlIG5vdCBzaWduYWxpbmcgdXBvbiBjb21w
bGV0aW9uIG9uIENhdGFsaW5hLWVyYSBkcml2ZXJzLgotICAgICAgICAvLyBPcGVuR0wgZHJpdmVy
cyB0eXBpY2FsbHkgaW1wbGVtZW50IHNvbWUgc29ydCBvZiBpbnRlcm5hbCB0aHJvdHRsaW5nLgot
ICAgICAgICBib29sIHN1Y2Nlc3MgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKTsKLSAgICAg
ICAgVU5VU0VEX1ZBUklBQkxFKHN1Y2Nlc3MpOyAvLyBGSVhNRTogaW1wbGVtZW50IGNvbnRleHQg
bG9zdC4KLSAgICB9CisgICAgbWFya0xheWVyQ29tcG9zaXRlZCgpOwogfQogCiBzdGQ6Om9wdGlv
bmFsPFBpeGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVhZENvbXBvc2l0ZWRS
ZXN1bHRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggZmM4ZGU4YjNl
YjUyNDkxYzI1MmRjNTFkOTI5N2RmNzFkOTZmMDIyZS4uM2E4MWRiNTUzZmY5YjI5ZjFhYTNhMWM5
OThiYjI1ZmRlMzJlOWJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAg
LTQ1LDE3ICs0NSwxMSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXllci5oIgogI2VuZGlmCiAK
LSNpZiBVU0UoQU5HTEUpCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGll
cy5oIgotI2Vsc2UKKyNpZiAhVVNFKEFOR0xFKQogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdl
LmgiCiAjaW5jbHVkZSAiRXh0ZW5zaW9uc0dMT3BlbkdMQ29tbW9uLmgiCiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9ybWFuY2VHUFVSZXF1ZXN0
LmgiCi0jZW5kaWYKLQogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBu
YW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiBQTEFURk9STShXSU4pCiAjdW5kZWYg
Tk9fRVJST1IKQEAgLTc4LDYgKzcyLDEwIEBAIGNsYXNzIEdDR0xMYXllcjsKIH0KICNlbmRpZgog
CisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJl
cXVlc3QuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFeHRlbnNpb25z
R0w7CiAjaWYgVVNFKEFOR0xFKQpAQCAtNTgwLDEwICs1NzgsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBib29sIGJpbmRE
aXNwbGF5QnVmZmVyQmFja2luZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2
b2lkKiBwYnVmZmVyKTsKICNlbmRpZgotI2lmIFVTRShBTkdMRSkKLSAgICAvLyBSZXR1cm5zIGZh
bHNlIGlmIGNvbnRleHQgc2hvdWxkIGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCi0gICAgYm9vbCB3
YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47Ci0jZW5kaWYKIAog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJmYWNlU3dhcENo
YWluKiBtX3N3YXBDaGFpbiB7IG51bGxwdHIgfTsKQEAgLTc5NywxMSArNzkxLDYgQEAgcHJpdmF0
ZToKICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgc3RkOjp1bmlx
dWVfcHRyPEdyYXBoaWNzQ29udGV4dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKLSNpZiBVU0UoQU5HTEUp
Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9IDM7Ci0gICAg
c2l6ZV90IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UgeyAwIH07Ci0gICAgU2NvcGVkR0xG
ZW5jZSBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsKLSNlbmRpZgog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433251</attachid>
            <date>2021-07-09 19:00:14 -0700</date>
            <delta_ts>2021-07-12 18:26:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227059-20210709190013.patch</filename>
            <type>text/plain</type>
            <size>18508</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYjQ3NWI1ZGJhNGFhMzBjZjU3YmU1YjQxMzhjYTBhOWViMTI3YjFjOS4uZWFmOGZhOWI4YTFm
YzI5Y2RiNDgzOTVjM2FkYzAxNThmM2M5MTI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA3LTA5ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vz
c2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tOgorICAgICAgICAocng6OkRpc3BsYXlNdGw6OmluaXRp
YWxpemVFeHRlbnNpb25zIGNvbnN0KToKKwogMjAyMS0wNy0wNyAgS3lsZSBQaWRkaW5ndG9uICA8
a3BpZGRpbmd0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkdMIHNoYWRlciBsaW5rIGVycm9y
IGluIGlPUyAxNSBiZXRhOiAiSW50ZXJuYWwgZXJyb3IgY29tcGlsaW5nIHNoYWRlciB3aXRoIE1l
dGFsIGJhY2tlbmQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ4M2NmZDA4NzIyNDZjZDk0YzQ1MWUwMTMxNmY2
MzE2ZjY3NmU4My4uYjY2Mzc2OTc0MTVjMWQ4ZjJiNjhjZDU1N2RkM2U5NDNlMGMyZTgxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA3LTA5ICBLeWxlIFBpZGRpbmd0b24gIDxr
cGlkZGluZ3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRz
IGV4Y2Vzc2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6On5TY29wZWRHTEZlbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y29wZWRHTEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjph
YmFuZG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NvcGVkR0xGZW5jZTo6b3BlcmF0b3IgYm9vbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xD
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkluaXRpYWxpemVFR0xEaXNwbGF5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMOjpwcmVwYXJlRm9yRGlzcGxheSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisKIDIwMjEtMDctMDkgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW0NhaXJvXVtXaW5d
IFJlbW92ZSB1bm5lZWRlZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9E
aXNwbGF5TXRsLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KaW5kZXggN2ViNTAzZjg4ZjBiMzZkMGM2ODU5NDJlMTc2
MGZmODdhYmRjNTA5Yy4uNzc4NmMwOGVjMzlmMWIyM2QzZTc2MTNlNjNhZDUzYTE5NDUxYTRkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L21ldGFsL0Rpc3BsYXlNdGwubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KQEAgLTg4NCw2ICs4ODQsOSBAQCB2
b2lkIERpc3BsYXlNdGw6OmluaXRpYWxpemVFeHRlbnNpb25zKCkgY29uc3QKIAogICAgICAgICAv
LyBHTF9PRVNfRUdMX3N5bmMKICAgICAgICAgbU5hdGl2ZUV4dGVuc2lvbnMuZWdsU3luY09FUyA9
IHRydWU7CisKKyAgICAgICAgLy8gR0xfQVJCX3N5bmMKKyAgICAgICAgbU5hdGl2ZUV4dGVuc2lv
bnMuZ2xTeW5jQVJCID0gdHJ1ZTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDg5
MTVhOTQxMzZiOThlZmM4MmFmMTkxYzJhZGNiMzczMTI1ZmJhMTIuLjFlN2E3YjJiY2JmYTY1NTc4
YWRhMDMxYTkzMzRjNGYxNjVkNzNiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTMzMCw2ICsx
MzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvQU5HTEVIZWFkZXJzLmgKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9hbmdsZS9FeHRlbnNpb25zR0xBTkdMRS5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUv
R3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCiAKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdERyYXdHbHlwaHNSZWNvcmRlci5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTJhMmY5OGE1YjFh
YTZjYmU5Zjc3MDZjNTEwMDE3YzU4ZjQ0ZTRjYi4uNGExZDc4NjU0NzY4YmMyODRmZDY3ZDc0NjZk
ODlhY2JkNjBjY2U5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNzE1LDcgKzcxNSw3IEBACiAJCTI2Rjc1NkI1MUIzQjY4RjIw
MDA1REQ3OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGNzU2QjQxQjNCNjhGMjAwMDVERDc5IC8qIElt
bXV0YWJsZU5GQU5vZGVCdWlsZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMjZGOUE4MzgxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNkY5QTgzNjE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cCAqLzsgfTsKIAkJMjZGOUE4MzkxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZG
OUE4MzcxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTI3RTNDODA4MjU3RjVF
NkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRl
cnMuaCAqLzsgfTsKKwkJMjdFM0M4MDgyNTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjdFM0M4MDYy
NTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTI5MTRFMzA4MUNBQjVBNDQwMDQ5OTY2RiAvKiBB
Y2Nlc3NpYmlsaXR5QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlB
dHRhY2htZW50LmggKi87IH07CiAJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3Np
YmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTI5M0VBRTFGMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5
M0VBRTFFMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjMyMyw3ICsy
MzIzLDcgQEAKIAkJN0I2REM4MTkyNTcxMkU5MjAwMzgwQzcwIC8qIEdyYXBoaWNzQ29udGV4dEdM
SU9TdXJmYWNlU3dhcENoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QjZEQzgxNzI1NzEyRTkyMDAzODBDNzAgLyogR3JhcGhpY3NDb250ZXh0R0xJ
T1N1cmZhY2VTd2FwQ2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3QjczMTFGQjI1QzA5MkI3MDAzQjI3OTYgLyogU2NvcGVkSGlnaFBlcmZv
cm1hbmNlR1BVUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0I3MzExRkEyNUMwOTJCNzAwM0IyNzk2IC8qIFNjb3BlZEhpZ2hQZXJmb3JtYW5j
ZUdQVVJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QjkwNDE3MDI1NTAxMTQyMDA2RUVCOEMgLyogUmVtb3RlR3JhcGhpY3NDb250ZXh0
R0xQcm94eUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdCOTA0MTZFMjU1MDExMDkwMDZFRUI4QyAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFBy
b3h5QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCTdCQjM0QTE3MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QkIzNEExNjI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGll
cy5oICovOyB9OworCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0
R0xBTkdMRVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5H
TEVVdGlsaXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xJbWFn
ZUV4dHJhY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0JCMzRBNDUyNTM3NzZDNjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRy
YWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjY4MEI4MjVCQTFCRTQw
MDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdCRTc0MjczODFGQTkwNkZCQjRGMEYyQyAvKiBKU1NW
R0dyYXBoaWNzRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTUwQzRDMDJCRUQ4OTM2RjgxOEUyRjk5IC8qIEpTU1ZHR3JhcGhpY3NFbGVtZW50
LmggKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcy5oCmluZGV4IDkyZmIyMGUzZDZjNjYz
YzQ2MmUxM2U4OWU4ZTBjZTNiMWZjOGU4ZDkuLjI3NmVmZjVkNjhkY2M0N2NlNjg4OWQ4OTJlYzNl
NzA4YmFiZjliN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcy5oCkBAIC02Miw3ICs2Miw4
IEBAIHN0cnVjdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgewogICAgIHVzaW5nIFdlYkdM
VmVyc2lvbiA9IEdyYXBoaWNzQ29udGV4dEdMV2ViR0xWZXJzaW9uOwogICAgIFdlYkdMVmVyc2lv
biB3ZWJHTFZlcnNpb24geyBXZWJHTFZlcnNpb246OldlYkdMMSB9OwogI2lmIFBMQVRGT1JNKENP
Q09BKQotICAgIGJvb2wgdXNlTWV0YWwgeyBmYWxzZSB9OworICAgIGJvb2wgdXNlTWV0YWwgeyB0
cnVlIH07CisgICAgYm9vbCBoYXNGZW5jZVN5bmMgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgRU5B
QkxFKFdFQlhSKQogICAgIGJvb2wgeHJDb21wYXRpYmxlIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXggMjZmYjhmMzc1OTEzNWY3YzIxNDIwNGNkYjQ3NTMx
NmE3ZGJjOTFiNS4uMzRjYmQ2ODg1ZDkwNzY0ZDlmMzNjZjVlY2IzZTVmMjNiNjdkYWI5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3ND
b250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNs
dWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y3N0cmluZz4KICNpbmNsdWRlIDx3dGYvSGV4TnVt
YmVyLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU3Bl
Y2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgpAQCAtNjEsMTAgKzYyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBzdGF0aWMgY29uc3QgY2hhciogcGFja2VkRGVwdGhTdGVuY2lsRXh0ZW5zaW9uTmFtZSA9
ICJHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwiOwogCi1uYW1lc3BhY2UgewotCi0KLX0gLy8g
bmFtZXNwYWNlIGFub255bW91cworc3RhdGljIFNlY29uZHMgbWF4RnJhbWVEdXJhdGlvbiA9IDVf
czsKIAogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0YXRpYyB2
b2lkIHdpcGVBbHBoYUNoYW5uZWxGcm9tUGl4ZWxzKGludCB3aWR0aCwgaW50IGhlaWdodCwgdW5z
aWduZWQgY2hhciogcGl4ZWxzKQpAQCAtMjg1NCw2ICsyODUyLDI3IEBAIEdyYXBoaWNzQ29udGV4
dEdMQ1YqIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjphc0NWKCkKIH0KICNlbmRpZgogCitib29s
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKQorewor
ICAgIHNpemVfdCBvbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSA9IG1fb2xkZXN0RnJhbWVDb21w
bGV0aW9uRmVuY2UrKyAlIG1heFBlbmRpbmdGcmFtZXM7CisgICAgYm9vbCBzdWNjZXNzID0gdHJ1
ZTsKKyAgICBpZiAoU2NvcGVkR0xGZW5jZSBmZW5jZSA9IFdURk1vdmUobV9mcmFtZUNvbXBsZXRp
b25GZW5jZXNbb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2VdKSkgeworICAgICAgICAvLyBXYWl0
IHNvIHRoYXQgcmVuZGVyaW5nIGRvZcOYcyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJh
bWVzIGZyYW1lcyBhaGVhZC4KKyAgICAgICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxV
U0hfQ09NTUFORFNfQklUOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICAvLyBBdm9pZCB1
c2luZyB0aGUgR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQgYmVjYXVzZSBlYWNoIGVhY2ggZnJh
bWUgaXMgZW5kZWQgd2l0aCBhIGZsdXNoCisgICAgICAgIC8vIGR1ZSB0byBleHRlcm5hbCBJT1N1
cmZhY2UgYWNjZXNzLiBUaGlzIHBhcnRpY3VsYXIgZmVuY2UgaXMgbWF4UGVuZGluZ0ZyYW1lcyBi
ZWhpbmQuCisgICAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2Ug
aGFzIGFscmVhZHkgYmVlbiBmbHVzaGVkLgorICAgICAgICBmbGFncyA9IDA7CisjZW5kaWYKKyAg
ICAgICAgR0xlbnVtIHJlc3VsdCA9IGdsOjpDbGllbnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1h
eEZyYW1lRHVyYXRpb24ubmFub3NlY29uZHNBczxHTHVpbnQ2ND4oKSk7CisgICAgICAgIEFTU0VS
VChyZXN1bHQgIT0gR0xfV0FJVF9GQUlMRUQpOworICAgICAgICBzdWNjZXNzID0gcmVzdWx0ICE9
IEdMX1dBSVRfRkFJTEVEICYmIHJlc3VsdCAhPSBHTF9USU1FT1VUX0VYUElSRUQ7CisgICAgfQor
ICAgIG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5m
ZW5jZVN5bmMoKTsKKyAgICByZXR1cm4gc3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQkdMKSAmJiBVU0UoQU5HTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFO
R0xFVXRpbGl0aWVzLmgKaW5kZXggNGJhM2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0
NzVlNS4uZGM3OWYxZTI0MjNmNTIxM2IwMzAxYzhjODBhNTRmNmJjYzQ0OWU5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0
R0xBTkdMRVV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIwNCw0
MiBAQCBwcml2YXRlOgogICAgIEdMdWludCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNzIFNj
b3BlZEdMRmVuY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOwor
cHVibGljOgorICAgIFNjb3BlZEdMRmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xGZW5j
ZShTY29wZWRHTEZlbmNlJiYgb3RoZXIpCisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5n
ZShvdGhlci5tX29iamVjdCwgeyB9KSkKKyAgICB7CisgICAgfQorICAgIH5TY29wZWRHTEZlbmNl
KCkgeyByZXNldCgpOyB9CisgICAgU2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVu
Y2UmJiBvdGhlcikKKyAgICB7CisgICAgICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAg
ICAgICAgcmVzZXQoKTsKKyAgICAgICAgICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhl
ci5tX29iamVjdCwgeyB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKnRoaXM7CisgICAg
fQorICAgIHZvaWQgcmVzZXQoKQorICAgIHsKKyAgICAgICAgaWYgKG1fb2JqZWN0KSB7CisgICAg
ICAgICAgICBnbDo6RGVsZXRlU3luYyhtX29iamVjdCk7CisgICAgICAgICAgICBtX29iamVjdCA9
IHsgfTsKKyAgICAgICAgfQorICAgIH0KKyAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0g
eyB9OyB9CisgICAgdm9pZCBmZW5jZVN5bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAg
ICAgICAgbV9vYmplY3QgPSBnbDo6RmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBM
RVRFLCAwKTsKKyAgICB9CisgICAgb3BlcmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9v
YmplY3Q7IH0KKyAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0K
K3ByaXZhdGU6CisgICAgR0xzeW5jIG1fb2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAxYjQyZTc1MDQz
YjYwM2ZmMGU1NjFhZmQ5YjNlMWUwOGRiMTQ4ZDVkLi4zNzdhYTM5MzU2MGUxNzliMzZkNmE4Mzcw
MzUzZjE2ZWVlMGUzZmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29j
b2EubW0KQEAgLTExNiwxMyArMTE2LDExIEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxh
eSBJbml0aWFsaXplRUdMRGlzcGxheShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAg
ICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX0NP
TlRFWFRfVk9MQVRJTEVfQ0dMX0FOR0xFKTsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBw
ZW5kKEVHTF9UUlVFKTsKICAgICB9Ci0gICAgYm9vbCBjYW5Vc2VNZXRhbCA9IHBsYXRmb3JtU3Vw
cG9ydHNNZXRhbCgpOwotICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCkgewor
ICAgIGlmIChhdHRycy51c2VNZXRhbCkgewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBl
bmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmli
dXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfTUVUQUxfQU5HTEUpOwogICAgIH0K
LQotICAgIExPRyhXZWJHTCwgIkF0dGVtcHRpbmcgdG8gdXNlIEFOR0xFJ3MgJXMgYmFja2VuZC5c
biIsIGF0dHJzLnVzZU1ldGFsICYmIGNhblVzZU1ldGFsID8gIk1ldGFsIiA6ICJPcGVuR0wiKTsK
KyAgICBMT0coV2ViR0wsICJBdHRlbXB0aW5nIHRvIHVzZSBBTkdMRSdzICVzIGJhY2tlbmQuXG4i
LCBhdHRycy51c2VNZXRhbCA/ICJNZXRhbCIgOiAiT3BlbkdMIik7CiAgICAgaWYgKGF0dHJzLnBv
d2VyUHJlZmVyZW5jZSAhPSBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXM6OlBvd2VyUHJlZmVy
ZW5jZTo6RGVmYXVsdCkgewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BP
V0VSX1BSRUZFUkVOQ0VfQU5HTEUpOwogICAgICAgICBpZiAoYXR0cnMucG93ZXJQcmVmZXJlbmNl
ID09IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlczo6UG93ZXJQcmVmZXJlbmNlOjpMb3dQb3dl
cikKQEAgLTEzMiw3ICsxMzAsNiBAQCBzdGF0aWMgU2NvcGVkRUdMRGVmYXVsdERpc3BsYXkgSW5p
dGlhbGl6ZUVHTERpc3BsYXkoY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaQogICAgICAgICAg
ICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9ISUdIX1BPV0VSX0FOR0xFKTsKICAgICAg
ICAgfQogICAgIH0KLQogICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfTk9ORSk7CiAg
ICAgZGlzcGxheSA9IEVHTF9HZXRQbGF0Zm9ybURpc3BsYXlFWFQoRUdMX1BMQVRGT1JNX0FOR0xF
X0FOR0xFLCByZWludGVycHJldF9jYXN0PHZvaWQqPihFR0xfREVGQVVMVF9ESVNQTEFZKSwgZGlz
cGxheUF0dHJpYnV0ZXMuZGF0YSgpKTsKIApAQCAtMjEwLDYgKzIwNywxMCBAQCBHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xB
dHRyaWJ1dGVzIGF0dAogICAgIDogR3JhcGhpY3NDb250ZXh0R0woYXR0cnMsIHNoYXJlZENvbnRl
eHQpCiB7CiAgICAgbV9pc0ZvcldlYkdMMiA9IGF0dHJzLndlYkdMVmVyc2lvbiA9PSBHcmFwaGlj
c0NvbnRleHRHTFdlYkdMVmVyc2lvbjo6V2ViR0wyOworICAgIGlmIChhdHRycy51c2VNZXRhbCAm
JiAhcGxhdGZvcm1TdXBwb3J0c01ldGFsKCkpIHsKKyAgICAgICAgYXR0cnMudXNlTWV0YWwgPSBm
YWxzZTsKKyAgICAgICAgc2V0Q29udGV4dEF0dHJpYnV0ZXMoYXR0cnMpOworICAgIH0KIAogICAg
IG1fZGlzcGxheU9iaiA9IEluaXRpYWxpemVFR0xEaXNwbGF5KGF0dHJzKTsKICAgICBpZiAoIW1f
ZGlzcGxheU9iaikKQEAgLTI5Niw5ICsyOTcsMTYgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQK
ICAgICAgICAgZ2w6OkVuYWJsZShHcmFwaGljc0NvbnRleHRHTDo6UFJJTUlUSVZFX1JFU1RBUlRf
RklYRURfSU5ERVgpOwogCiAgICAgVmVjdG9yPEFTQ0lJTGl0ZXJhbCwgND4gcmVxdWlyZWRFeHRl
bnNpb25zOworICAgIAogICAgIGlmIChtX2lzRm9yV2ViR0wyKSB7CiAgICAgICAgIC8vIEZvciBX
ZWJHTCAyLjAgb2NjbHVzaW9uIHF1ZXJpZXMgdG8gd29yay4KICAgICAgICAgcmVxdWlyZWRFeHRl
bnNpb25zLmFwcGVuZCgiR0xfRVhUX29jY2x1c2lvbl9xdWVyeV9ib29sZWFuIl9zKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMoKS51c2VNZXRhbCkgeworICAg
ICAgICAgICAgLy8gVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgR0xzeW5jIG9iamVjdHMuIEVuYWJs
ZSB0aGUgZnVuY3Rpb25hbGl0eSBmb3IgV2ViR0wgMS4wIGNvbnRleHRzCisgICAgICAgICAgICAv
LyB0aGF0IHVzZSBPcGVuR0wgRVMgMi4wLgorICAgICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25z
LmFwcGVuZCgiR0xfQVJCX3N5bmMiX3MpOworICAgICAgICB9CiAgICAgfQogI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKCFuZWVkc0VBR0xPbk1hYygp
KSB7CkBAIC0zMDYsOCArMzE0LDcgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHQKICAgICAgICAg
cmVxdWlyZWRFeHRlbnNpb25zLmFwcGVuZCgiR0xfQU5HTEVfdGV4dHVyZV9yZWN0YW5nbGUiX3Mp
OwogICAgICAgICAvLyBGb3IgY3JlYXRpbmcgdGhlIEVHTCBzdXJmYWNlIGZyb20gYW4gSU9TdXJm
YWNlLgogICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9FWFRfdGV4dHVyZV9m
b3JtYXRfQkdSQTg4ODgiX3MpOwotICAgICAgICAgICAgfQotCisgICAgfQogI2VuZGlmIC8vIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgRXh0ZW5zaW9uc0dMJiBl
eHRlbnNpb25zID0gZ2V0RXh0ZW5zaW9ucygpOwogICAgIGZvciAoYXV0byYgZXh0ZW5zaW9uIDog
cmVxdWlyZWRFeHRlbnNpb25zKSB7CkBAIC0zMTcsNiArMzI0LDE1IEBAIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMgYXR0CiAgICAgICAgIH0KICAgICAgICAgZXh0ZW5zaW9ucy5lbnN1cmVFbmFibGVkKGV4
dGVuc2lvbik7CiAgICAgfQorICAgIGlmIChjb250ZXh0QXR0cmlidXRlcygpLnVzZU1ldGFsKSB7
CisgICAgICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiB1c2VzIEdMc3luYyBvYmplY3RzLiBFbmFi
bGUgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIFdlYkdMIDEuMCBjb250ZXh0cworICAgICAgICAvLyB0
aGF0IHVzZSBPcGVuR0wgRVMgMi4wLgorICAgICAgICBpZiAoZXh0ZW5zaW9ucy5zdXBwb3J0cygi
R0xfQVJCX3N5bmMiX3MpKSB7CisgICAgICAgICAgICBhdHRycy5oYXNGZW5jZVN5bmMgPSB0cnVl
OworICAgICAgICAgICAgZXh0ZW5zaW9ucy5lbnN1cmVFbmFibGVkKCJHTF9BUkJfc3luYyJfcyk7
CisgICAgICAgICAgICBzZXRDb250ZXh0QXR0cmlidXRlcyhhdHRycyk7CisgICAgICAgIH0KKyAg
ICB9CiAgICAgdmFsaWRhdGVBdHRyaWJ1dGVzKCk7CiAgICAgYXR0cnMgPSBjb250ZXh0QXR0cmli
dXRlcygpOyAvLyBUaGV5IG1heSBoYXZlIGNoYW5nZWQgZHVyaW5nIHZhbGlkYXRpb24uCiAKQEAg
LTM5OCw2ICs0MTQsMTIgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTCgpCiAgICAgICAgICAgICBnbDo6RGVsZXRlVGV4dHVyZXMoMSwgJm1fcHJlc2Vy
dmVEcmF3aW5nQnVmZmVyVGV4dHVyZSk7CiAgICAgICAgIGlmIChtX3ByZXNlcnZlRHJhd2luZ0J1
ZmZlckZCTykKICAgICAgICAgICAgIGdsOjpEZWxldGVGcmFtZWJ1ZmZlcnMoMSwgJm1fcHJlc2Vy
dmVEcmF3aW5nQnVmZmVyRkJPKTsKKyAgICAgICAgLy8gSWYgZmVuY2VzIGFyZSBub3QgZW5hYmxl
ZCwgdGhpcyBsb29wIHdpbGwgbm90IGV4ZWN1dGUuCisgICAgICAgIGZvciAoYXV0byYgZmVuY2Ug
OiBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlcykKKyAgICAgICAgICAgIGZlbmNlLnJlc2V0KCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgZm9yIChhdXRvJiBmZW5jZSA6IG1fZnJhbWVDb21wbGV0aW9u
RmVuY2VzKQorICAgICAgICAgICAgZmVuY2UuYWJhbmRvbigpOwogICAgIH0KICAgICBpZiAobV9k
aXNwbGF5QnVmZmVyUGJ1ZmZlcikgewogICAgICAgICBFR0xfRGVzdHJveVN1cmZhY2UobV9kaXNw
bGF5T2JqLCBtX2Rpc3BsYXlCdWZmZXJQYnVmZmVyKTsKQEAgLTc4Miw2ICs4MDQsMTMgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cHJlcGFyZUZvckRpc3BsYXkoKQogICAgICAgICBh
bGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwogCiAgICAgbWFya0xheWVyQ29t
cG9zaXRlZCgpOworICAgIAorICAgIGlmIChjb250ZXh0QXR0cmlidXRlcygpLnVzZU1ldGFsICYm
IGNvbnRleHRBdHRyaWJ1dGVzKCkuaGFzRmVuY2VTeW5jKSB7CisgICAgICAgIC8vIE9wZW5HTCBz
eW5jIG9iamVjdHMgYXJlIG5vdCBzaWduYWxpbmcgdXBvbiBjb21wbGV0aW9uIG9uIENhdGFsaW5h
LWVyYSBkcml2ZXJzLgorICAgICAgICAvLyBPcGVuR0wgZHJpdmVycyB0eXBpY2FsbHkgaW1wbGVt
ZW50IHNvbWUgc29ydCBvZiBpbnRlcm5hbCB0aHJvdHRsaW5nLgorICAgICAgICBib29sIHN1Y2Nl
c3MgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxF
KHN1Y2Nlc3MpOyAvLyBGSVhNRTogaW1wbGVtZW50IGNvbnRleHQgbG9zdC4KKyAgICB9CiB9CiAK
IHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZWFk
Q29tcG9zaXRlZFJlc3VsdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaAppbmRl
eCA5NzVhZjM4NmYyOWY2NmU2MTEzMmU2ZDEyZmQ5YTJhMGFjZGE4NjNkLi5hYjJlNzI1MDA4YmFi
ZmY1Mzg0NmY0Mzg5NjI2Njg3N2Y0ZTg3MGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wuaApAQCAtNDUsMTEgKzQ1LDE3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1DQUxheWVyLmgi
CiAjZW5kaWYKIAotI2lmICFVU0UoQU5HTEUpCisjaWYgVVNFKEFOR0xFKQorI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCIKKyNlbHNlCiAjaW5jbHVkZSAiQU5HTEVX
ZWJLaXRCcmlkZ2UuaCIKICNpbmNsdWRlICJFeHRlbnNpb25zR0xPcGVuR0xDb21tb24uaCIKICNl
bmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5j
ZUdQVVJlcXVlc3QuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8g
YXZvaWQgdGhlIG5hbWUgY29uZmxpY3Rpb24gZm9yIE5PX0VSUk9SLgogI2lmIFBMQVRGT1JNKFdJ
TikKICN1bmRlZiBOT19FUlJPUgpAQCAtNzIsMTAgKzc4LDYgQEAgY2xhc3MgR0NHTExheWVyOwog
fQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSAiU2NvcGVkSGlnaFBlcmZv
cm1hbmNlR1BVUmVxdWVzdC5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEV4dGVuc2lvbnNHTDsKICNpZiBVU0UoQU5HTEUpCkBAIC01NzgsNiArNTgwLDEwIEBAIHByaXZh
dGU6CiAgICAgYm9vbCBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwogICAg
IGJvb2wgYmluZERpc3BsYXlCdWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+
IGJhY2tpbmcsIHZvaWQqIHBidWZmZXIpOwogI2VuZGlmCisjaWYgVVNFKEFOR0xFKQorICAgIC8v
IFJldHVybnMgZmFsc2UgaWYgY29udGV4dCBzaG91bGQgYmUgbG9zdCBkdWUgdG8gdGltZW91dC4K
KyAgICBib29sIHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpIFdBUk5fVU5VU0VEX1JFVFVSTjsK
KyNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgR3JhcGhpY3NDb250ZXh0R0xJT1N1
cmZhY2VTd2FwQ2hhaW4qIG1fc3dhcENoYWluIHsgbnVsbHB0ciB9OwpAQCAtNzkxLDYgKzc5Nywx
MSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEFWRk9VTkRBVElPTikKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NDb250ZXh0R0xDVj4gbV9jdjsKICNlbmRpZgorI2lm
IFVTRShBTkdMRSkKKyAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBtYXhQZW5kaW5nRnJhbWVz
ID0gMzsKKyAgICBzaXplX3QgbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSB7IDAgfTsKKyAg
ICBTY29wZWRHTEZlbmNlIG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW21heFBlbmRpbmdGcmFtZXNd
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433383</attachid>
            <date>2021-07-12 18:26:08 -0700</date>
            <delta_ts>2021-07-13 11:50:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227059-20210712182607.patch</filename>
            <type>text/plain</type>
            <size>19361</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYjQ3NWI1ZGJhNGFhMzBjZjU3YmU1YjQxMzhjYTBhOWViMTI3YjFjOS4uYWNlN2I5OGM0Mjcw
OGVjNWYxODkzODFhZDQzZjg4MDI1MThkZTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA3LTA5ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vz
c2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBBZHZlcnRpc2UgR0xfQVJCX3N5bmMg
Zm9yIHRoZSBNZXRhbCBiYWNrZW5kLgorICAgIFNpbmNlIEdMX0FSQl9zeW5jIGlzIGNvcmUgaW4g
T3BlbkdMIEVTIDMuMCBhbmQgdGhlIE1ldGFsIGJhY2tlbmQgYWR2ZXJ0aXNlcyBPcGVuR0wgRVMg
My4wLAorICAgIHRoZSBBUEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgTGlt
aXQgaW4tZmxpZ2h0IFdlYkdMIGZyYW1lcyB0byB0aHJlZSBmcmFtZXMuIERvIG5vdCBjb250aW51
ZSBwcmVwYXJhdGlvbiBmb3IgZGlzcGxheQorICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3IgdGhl
IG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAgICBU
aGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4gdGhl
CisgICAgY2FzZSB3aGVyZSB0aGUgY29tcG9zaXRvciBza2lwIGZyYW1lcyBhbmQgV2ViS2l0IHdv
dWxkIGlzc3VlIGEgbmV3IHNsb3cgZnJhbWUKKyAgICBvbiB0b3Agb2YgdGhlIHNraXBwZWQgZnJh
bWUuCisKKwlBbiBhZGRpdGlvbmFsIGNoYW5nZSBlbnN1cmVzIHRoYXQgTnZpZGlhIGNvbmZpZ3Ms
IHdoaWNoIGRvIG5vdCBzdXBwb3J0IE1UTEV2ZW50cworCXRvIGEgbGV2ZWwgb2YgY29uZm9ybWFu
Y2UgcmVxdWlyZWQgKFNlZSBodHRwOi8vY3JidWcuY29tLzExMzY2NzMpLCBjb250aW51ZSB0byBy
dW4uIFRoZSBtb3JlIHBvd2VyZnVsIGVHUFVzIHdpbGwgbm90IGV4cGVyaWVuY2UgdGhyb3R0bGlu
ZyB0byB0aGUgc2FtZSBsZXZlbCBhcyBpbnRlZ3JhdGVkIEdQVVMuCisgICAgICAgICogc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW06CisgICAgICAgIChyeDo6RGlzcGxh
eU10bDo6aW5pdGlhbGl6ZUV4dGVuc2lvbnMgY29uc3QpOgorCiAyMDIxLTA3LTA3ICBLeWxlIFBp
ZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wgc2hhZGVy
IGxpbmsgZXJyb3IgaW4gaU9TIDE1IGJldGE6ICJJbnRlcm5hbCBlcnJvciBjb21waWxpbmcgc2hh
ZGVyIHdpdGggTWV0YWwgYmFja2VuZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNDgzY2ZkMDg3MjI0NmNkOTRj
NDUxZTAxMzE2ZjYzMTZmNjc2ZTgzLi40NzZiOGRmYWJiNWFiNmRiNmRmYmJiNGM2N2JhM2EyNWZm
ZTkzYjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDctMDkgIEt5bGUgUGlk
ZGluZ3RvbiAgPGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KKworICAgICAgICByQUYgZHJpdmVuIFdl
YkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUgd29yayB3aGVuIGZyYW1lcyBhcmUg
c2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3
MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEFkdmVy
dGlzZSBHTF9BUkJfc3luYyBmb3IgdGhlIE1ldGFsIGJhY2tlbmQuCisgICAgU2luY2UgR0xfQVJC
X3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0aGUgTWV0YWwgYmFja2VuZCBhZHZl
cnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgdGhlIEFQSSBtdXN0IGJlIHdvcmtpbmcgYWxyZWFk
eS4KKworICAgICAgICBMaW1pdCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1l
cy4gRG8gbm90IGNvbnRpbnVlIHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgdW50aWwgdGhl
IGNvbW1hbmRzIGZvciB0aGUgb2xkZXN0IGZyYW1lIGhhdmUgYmVlbiBleGVjdXRlZCBieSB0aGUg
R1BVLgorCisgICAgICAgIFRoaXMgbGltaXRzIHRoZSBpbXBhY3Qgc2xvdyBmcmFtZXMgaGF2ZSwg
ZXNwZWNpYWxseSBpbiB0aGUKKyAgICBjYXNlIHdoZXJlIHRoZSBjb21wb3NpdG9yIHNraXAgZnJh
bWVzIGFuZCBXZWJLaXQgd291bGQgaXNzdWUgYSBuZXcgc2xvdyBmcmFtZQorICAgIG9uIHRvcCBv
ZiB0aGUgc2tpcHBlZCBmcmFtZS4KKworCUFuIGFkZGl0aW9uYWwgY2hhbmdlIGVuc3VyZXMgdGhh
dCBOdmlkaWEgY29uZmlncywgd2hpY2ggZG8gbm90IHN1cHBvcnQgTVRMRXZlbnRzCisJdG8gYSBs
ZXZlbCBvZiBjb25mb3JtYW5jZSByZXF1aXJlZCAoU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTEzNjY3
MyksIGNvbnRpbnVlIHRvIHJ1bi4gVGhlIG1vcmUgcG93ZXJmdWwgZUdQVXMgd2lsbCBub3QgZXhw
ZXJpZW5jZSB0aHJvdHRsaW5nIHRvIHRoZSBzYW1lIGxldmVsIGFzIGludGVncmF0ZWQgR1BVUy4K
KworCisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0R0xBdHRyaWJ1dGVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUv
R3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTDo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpTY29wZWRHTEZlbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6On5TY29wZWRHTEZlbmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRH
TEZlbmNlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjphYmFuZG9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OmZlbmNlU3luYyk6CisgICAgICAg
IChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBHTHN5bmMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NvcGVkR0xGZW5jZTo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OkluaXRpYWxpemVFR0xEaXNwbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
OjpwcmVwYXJlRm9yRGlzcGxheSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisKIDIwMjEtMDctMDkgIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW0NhaXJvXVtXaW5dIFJlbW92
ZSB1bm5lZWRlZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5
TXRsLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL0Rpc3BsYXlNdGwubW0KaW5kZXggN2ViNTAzZjg4ZjBiMzZkMGM2ODU5NDJlMTc2MGZmODdh
YmRjNTA5Yy4uNzc4NmMwOGVjMzlmMWIyM2QzZTc2MTNlNjNhZDUzYTE5NDUxYTRkNSAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L0Rpc3BsYXlNdGwubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KQEAgLTg4NCw2ICs4ODQsOSBAQCB2b2lkIERp
c3BsYXlNdGw6OmluaXRpYWxpemVFeHRlbnNpb25zKCkgY29uc3QKIAogICAgICAgICAvLyBHTF9P
RVNfRUdMX3N5bmMKICAgICAgICAgbU5hdGl2ZUV4dGVuc2lvbnMuZWdsU3luY09FUyA9IHRydWU7
CisKKyAgICAgICAgLy8gR0xfQVJCX3N5bmMKKyAgICAgICAgbU5hdGl2ZUV4dGVuc2lvbnMuZ2xT
eW5jQVJCID0gdHJ1ZTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDg5MTVhOTQx
MzZiOThlZmM4MmFmMTkxYzJhZGNiMzczMTI1ZmJhMTIuLjFlN2E3YjJiY2JmYTY1NTc4YWRhMDMx
YTkzMzRjNGYxNjVkNzNiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTMzMCw2ICsxMzMwLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvYW5nbGUvQU5HTEVIZWFkZXJzLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9FeHRlbnNpb25zR0xBTkdMRS5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCiAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3QuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdERyYXdHbHlwaHNSZWNvcmRlci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTJhMmY5OGE1YjFhYTZjYmU5
Zjc3MDZjNTEwMDE3YzU4ZjQ0ZTRjYi4uNGExZDc4NjU0NzY4YmMyODRmZDY3ZDc0NjZkODlhY2Jk
NjBjY2U5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzE1LDcgKzcxNSw3IEBACiAJCTI2Rjc1NkI1MUIzQjY4RjIwMDA1REQ3
OSAvKiBJbW11dGFibGVORkFOb2RlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGNzU2QjQxQjNCNjhGMjAwMDVERDc5IC8qIEltbXV0YWJs
ZU5GQU5vZGVCdWlsZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMjZGOUE4MzgxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJh
dGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
NkY5QTgzNjE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcCAqLzsg
fTsKIAkJMjZGOUE4MzkxOEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGOUE4Mzcx
OEEwNDZBQzAwQUVCODhBIC8qIFZpZXdwb3J0Q29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTI3RTNDODA4MjU3RjVFNkUwMEM5
ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI3RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAq
LzsgfTsKKwkJMjdFM0M4MDgyNTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjdFM0M4MDYyNTdGNUU2
RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTI5MTRFMzA4MUNBQjVBNDQwMDQ5OTY2RiAvKiBBY2Nlc3Np
YmlsaXR5QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjkxNEUzMDYxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vzc2liaWxpdHlBdHRhY2ht
ZW50LmggKi87IH07CiAJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyOTM2QkY1QTIxRDY5OTlFMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9iamVjdElu
dGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTI5M0VBRTFGMTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5M0VBRTFF
MTM1NkIyRkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjMyMyw3ICsyMzIzLDcg
QEAKIAkJN0I2REM4MTkyNTcxMkU5MjAwMzgwQzcwIC8qIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJm
YWNlU3dhcENoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QjZEQzgxNzI1NzEyRTkyMDAzODBDNzAgLyogR3JhcGhpY3NDb250ZXh0R0xJT1N1cmZh
Y2VTd2FwQ2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QjczMTFGQjI1QzA5MkI3MDAzQjI3OTYgLyogU2NvcGVkSGlnaFBlcmZvcm1hbmNl
R1BVUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0I3MzExRkEyNUMwOTJCNzAwM0IyNzk2IC8qIFNjb3BlZEhpZ2hQZXJmb3JtYW5jZUdQVVJl
cXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3QjkwNDE3MDI1NTAxMTQyMDA2RUVCOEMgLyogUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94
eUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
OTA0MTZFMjU1MDExMDkwMDZFRUI4QyAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5QmFz
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdC
QjM0QTE3MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QkIzNEEx
NjI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oICov
OyB9OworCQk3QkIzNEExNzI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xBTkdM
RVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0JCMzRBMTYyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGls
aXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xJbWFnZUV4dHJh
Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0JC
MzRBNDUyNTM3NzZDNjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkI2
ODBCQTI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjY4MEI4MjVCQTFCRTQwMDJCODcz
OCAvKiBHcmFwaGljc0NoZWNrc01hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTdCRTc0MjczODFGQTkwNkZCQjRGMEYyQyAvKiBKU1NWR0dyYXBo
aWNzRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTUwQzRDMDJCRUQ4OTM2RjgxOEUyRjk5IC8qIEpTU1ZHR3JhcGhpY3NFbGVtZW50LmggKi87
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcy5oCmluZGV4IDkyZmIyMGUzZDZjNjYzYzQ2MmUx
M2U4OWU4ZTBjZTNiMWZjOGU4ZDkuLjI3NmVmZjVkNjhkY2M0N2NlNjg4OWQ4OTJlYzNlNzA4YmFi
ZjliN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dEdMQXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcy5oCkBAIC02Miw3ICs2Miw4IEBAIHN0
cnVjdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgewogICAgIHVzaW5nIFdlYkdMVmVyc2lv
biA9IEdyYXBoaWNzQ29udGV4dEdMV2ViR0xWZXJzaW9uOwogICAgIFdlYkdMVmVyc2lvbiB3ZWJH
TFZlcnNpb24geyBXZWJHTFZlcnNpb246OldlYkdMMSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKQot
ICAgIGJvb2wgdXNlTWV0YWwgeyBmYWxzZSB9OworICAgIGJvb2wgdXNlTWV0YWwgeyB0cnVlIH07
CisgICAgYm9vbCBoYXNGZW5jZVN5bmMgeyBmYWxzZSB9OwogI2VuZGlmCiAjaWYgRU5BQkxFKFdF
QlhSKQogICAgIGJvb2wgeHJDb21wYXRpYmxlIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250
ZXh0R0xBTkdMRS5jcHAKaW5kZXggMjZmYjhmMzc1OTEzNWY3YzIxNDIwNGNkYjQ3NTMxNmE3ZGJj
OTFiNS4uMzRjYmQ2ODg1ZDkwNzY0ZDlmMzNjZjVlY2IzZTVmMjNiNjdkYWI5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0
R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUv
R3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlIDxh
bGdvcml0aG0+CiAjaW5jbHVkZSA8Y3N0cmluZz4KICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+
CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgpAQCAtNjEsMTAgKzYyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dGF0aWMgY29uc3QgY2hhciogcGFja2VkRGVwdGhTdGVuY2lsRXh0ZW5zaW9uTmFtZSA9ICJHTF9P
RVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwiOwogCi1uYW1lc3BhY2UgewotCi0KLX0gLy8gbmFtZXNw
YWNlIGFub255bW91cworc3RhdGljIFNlY29uZHMgbWF4RnJhbWVEdXJhdGlvbiA9IDVfczsKIAog
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0YXRpYyB2b2lkIHdp
cGVBbHBoYUNoYW5uZWxGcm9tUGl4ZWxzKGludCB3aWR0aCwgaW50IGhlaWdodCwgdW5zaWduZWQg
Y2hhciogcGl4ZWxzKQpAQCAtMjg1NCw2ICsyODUyLDI3IEBAIEdyYXBoaWNzQ29udGV4dEdMQ1Yq
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjphc0NWKCkKIH0KICNlbmRpZgogCitib29sIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjp3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKQoreworICAgIHNp
emVfdCBvbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSA9IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9u
RmVuY2UrKyAlIG1heFBlbmRpbmdGcmFtZXM7CisgICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKKyAg
ICBpZiAoU2NvcGVkR0xGZW5jZSBmZW5jZSA9IFdURk1vdmUobV9mcmFtZUNvbXBsZXRpb25GZW5j
ZXNbb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2VdKSkgeworICAgICAgICAvLyBXYWl0IHNvIHRo
YXQgcmVuZGVyaW5nIGRvZcOYcyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJhbWVzIGZy
YW1lcyBhaGVhZC4KKyAgICAgICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxVU0hfQ09N
TUFORFNfQklUOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICAvLyBBdm9pZCB1c2luZyB0
aGUgR0xfU1lOQ19GTFVTSF9DT01NQU5EU19CSVQgYmVjYXVzZSBlYWNoIGVhY2ggZnJhbWUgaXMg
ZW5kZWQgd2l0aCBhIGZsdXNoCisgICAgICAgIC8vIGR1ZSB0byBleHRlcm5hbCBJT1N1cmZhY2Ug
YWNjZXNzLiBUaGlzIHBhcnRpY3VsYXIgZmVuY2UgaXMgbWF4UGVuZGluZ0ZyYW1lcyBiZWhpbmQu
CisgICAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2UgaGFzIGFs
cmVhZHkgYmVlbiBmbHVzaGVkLgorICAgICAgICBmbGFncyA9IDA7CisjZW5kaWYKKyAgICAgICAg
R0xlbnVtIHJlc3VsdCA9IGdsOjpDbGllbnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1heEZyYW1l
RHVyYXRpb24ubmFub3NlY29uZHNBczxHTHVpbnQ2ND4oKSk7CisgICAgICAgIEFTU0VSVChyZXN1
bHQgIT0gR0xfV0FJVF9GQUlMRUQpOworICAgICAgICBzdWNjZXNzID0gcmVzdWx0ICE9IEdMX1dB
SVRfRkFJTEVEICYmIHJlc3VsdCAhPSBHTF9USU1FT1VUX0VYUElSRUQ7CisgICAgfQorICAgIG1f
ZnJhbWVDb21wbGV0aW9uRmVuY2VzW29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlXS5mZW5jZVN5
bmMoKTsKKyAgICByZXR1cm4gc3VjY2VzczsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFdF
QkdMKSAmJiBVU0UoQU5HTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFVXRp
bGl0aWVzLmgKaW5kZXggNGJhM2NiNTg5NjVkMDI0NWVlYjQ2MTllNGM3ZTYyYzc3MzU0NzVlNS4u
ZGM3OWYxZTI0MjNmNTIxM2IwMzAxYzhjODBhNTRmNmJjYzQ0OWU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdM
RVV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xl
L0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaApAQCAtMjA0LDYgKzIwNCw0MiBAQCBw
cml2YXRlOgogICAgIEdMdWludCBtX29iamVjdCB7IDAgfTsKIH07CiAKK2NsYXNzIFNjb3BlZEdM
RmVuY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlZEdMRmVuY2UpOworcHVibGlj
OgorICAgIFNjb3BlZEdMRmVuY2UoKSA9IGRlZmF1bHQ7CisgICAgU2NvcGVkR0xGZW5jZShTY29w
ZWRHTEZlbmNlJiYgb3RoZXIpCisgICAgICAgIDogbV9vYmplY3Qoc3RkOjpleGNoYW5nZShvdGhl
ci5tX29iamVjdCwgeyB9KSkKKyAgICB7CisgICAgfQorICAgIH5TY29wZWRHTEZlbmNlKCkgeyBy
ZXNldCgpOyB9CisgICAgU2NvcGVkR0xGZW5jZSYgb3BlcmF0b3I9KFNjb3BlZEdMRmVuY2UmJiBv
dGhlcikKKyAgICB7CisgICAgICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICAgICAg
cmVzZXQoKTsKKyAgICAgICAgICAgIG1fb2JqZWN0ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX29i
amVjdCwgeyB9KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorICAg
IHZvaWQgcmVzZXQoKQorICAgIHsKKyAgICAgICAgaWYgKG1fb2JqZWN0KSB7CisgICAgICAgICAg
ICBnbDo6RGVsZXRlU3luYyhtX29iamVjdCk7CisgICAgICAgICAgICBtX29iamVjdCA9IHsgfTsK
KyAgICAgICAgfQorICAgIH0KKyAgICB2b2lkIGFiYW5kb24oKSB7IG1fb2JqZWN0ID0geyB9OyB9
CisgICAgdm9pZCBmZW5jZVN5bmMoKQorICAgIHsKKyAgICAgICAgcmVzZXQoKTsKKyAgICAgICAg
bV9vYmplY3QgPSBnbDo6RmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAw
KTsKKyAgICB9CisgICAgb3BlcmF0b3IgR0xzeW5jKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7
IH0KKyAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3Q7IH0KK3ByaXZh
dGU6CisgICAgR0xzeW5jIG1fb2JqZWN0IHsgfTsKK307CisKIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbQppbmRleCAxYjQyZTc1MDQzYjYwM2Zm
MGU1NjFhZmQ5YjNlMWUwOGRiMTQ4ZDVkLi4zYmZmMzI5ZjZmZDJmMDRlMGY0ZmZhZWQ2MWZiMTdm
NGNiYTE2ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0K
QEAgLTExNiwxMyArMTE2LDExIEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxheSBJbml0
aWFsaXplRUdMRGlzcGxheShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAgICAgIGRp
c3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUExBVEZPUk1fQU5HTEVfREVWSUNFX0NPTlRFWFRf
Vk9MQVRJTEVfQ0dMX0FOR0xFKTsKICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVH
TF9UUlVFKTsKICAgICB9Ci0gICAgYm9vbCBjYW5Vc2VNZXRhbCA9IHBsYXRmb3JtU3VwcG9ydHNN
ZXRhbCgpOwotICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiBjYW5Vc2VNZXRhbCkgeworICAgIGlm
IChhdHRycy51c2VNZXRhbCkgewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdM
X1BMQVRGT1JNX0FOR0xFX1RZUEVfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5h
cHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVfTUVUQUxfQU5HTEUpOwogICAgIH0KLQotICAg
IExPRyhXZWJHTCwgIkF0dGVtcHRpbmcgdG8gdXNlIEFOR0xFJ3MgJXMgYmFja2VuZC5cbiIsIGF0
dHJzLnVzZU1ldGFsICYmIGNhblVzZU1ldGFsID8gIk1ldGFsIiA6ICJPcGVuR0wiKTsKKyAgICBM
T0coV2ViR0wsICJBdHRlbXB0aW5nIHRvIHVzZSBBTkdMRSdzICVzIGJhY2tlbmQuXG4iLCBhdHRy
cy51c2VNZXRhbCA/ICJNZXRhbCIgOiAiT3BlbkdMIik7CiAgICAgaWYgKGF0dHJzLnBvd2VyUHJl
ZmVyZW5jZSAhPSBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXM6OlBvd2VyUHJlZmVyZW5jZTo6
RGVmYXVsdCkgewogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BPV0VSX1BS
RUZFUkVOQ0VfQU5HTEUpOwogICAgICAgICBpZiAoYXR0cnMucG93ZXJQcmVmZXJlbmNlID09IEdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlczo6UG93ZXJQcmVmZXJlbmNlOjpMb3dQb3dlcikKQEAg
LTEzMiw3ICsxMzAsNiBAQCBzdGF0aWMgU2NvcGVkRUdMRGVmYXVsdERpc3BsYXkgSW5pdGlhbGl6
ZUVHTERpc3BsYXkoY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaQogICAgICAgICAgICAgZGlz
cGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9ISUdIX1BPV0VSX0FOR0xFKTsKICAgICAgICAgfQog
ICAgIH0KLQogICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfTk9ORSk7CiAgICAgZGlz
cGxheSA9IEVHTF9HZXRQbGF0Zm9ybURpc3BsYXlFWFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xF
LCByZWludGVycHJldF9jYXN0PHZvaWQqPihFR0xfREVGQVVMVF9ESVNQTEFZKSwgZGlzcGxheUF0
dHJpYnV0ZXMuZGF0YSgpKTsKIApAQCAtMjEwLDYgKzIwNywxMCBAQCBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1
dGVzIGF0dAogICAgIDogR3JhcGhpY3NDb250ZXh0R0woYXR0cnMsIHNoYXJlZENvbnRleHQpCiB7
CiAgICAgbV9pc0ZvcldlYkdMMiA9IGF0dHJzLndlYkdMVmVyc2lvbiA9PSBHcmFwaGljc0NvbnRl
eHRHTFdlYkdMVmVyc2lvbjo6V2ViR0wyOworICAgIGlmIChhdHRycy51c2VNZXRhbCAmJiAhcGxh
dGZvcm1TdXBwb3J0c01ldGFsKCkpIHsKKyAgICAgICAgYXR0cnMudXNlTWV0YWwgPSBmYWxzZTsK
KyAgICAgICAgc2V0Q29udGV4dEF0dHJpYnV0ZXMoYXR0cnMpOworICAgIH0KIAogICAgIG1fZGlz
cGxheU9iaiA9IEluaXRpYWxpemVFR0xEaXNwbGF5KGF0dHJzKTsKICAgICBpZiAoIW1fZGlzcGxh
eU9iaikKQEAgLTMwNiw4ICszMDcsNyBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6R3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0dAogICAgICAg
ICByZXF1aXJlZEV4dGVuc2lvbnMuYXBwZW5kKCJHTF9BTkdMRV90ZXh0dXJlX3JlY3RhbmdsZSJf
cyk7CiAgICAgICAgIC8vIEZvciBjcmVhdGluZyB0aGUgRUdMIHN1cmZhY2UgZnJvbSBhbiBJT1N1
cmZhY2UuCiAgICAgICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0VYVF90ZXh0dXJl
X2Zvcm1hdF9CR1JBODg4OCJfcyk7Ci0gICAgICAgICAgICB9Ci0KKyAgICB9CiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICBFeHRlbnNpb25zR0wm
IGV4dGVuc2lvbnMgPSBnZXRFeHRlbnNpb25zKCk7CiAgICAgZm9yIChhdXRvJiBleHRlbnNpb24g
OiByZXF1aXJlZEV4dGVuc2lvbnMpIHsKQEAgLTMxNyw2ICszMTcsMTUgQEAgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29udGV4dEdMQXR0
cmlidXRlcyBhdHQKICAgICAgICAgfQogICAgICAgICBleHRlbnNpb25zLmVuc3VyZUVuYWJsZWQo
ZXh0ZW5zaW9uKTsKICAgICB9CisgICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzKCkudXNlTWV0YWwp
IHsKKyAgICAgICAgLy8gVGhlIGltcGxlbWVudGF0aW9uIHVzZXMgR0xzeW5jIG9iamVjdHMuIEVu
YWJsZSB0aGUgZnVuY3Rpb25hbGl0eSBmb3IgV2ViR0wgMS4wIGNvbnRleHRzCisgICAgICAgIC8v
IHRoYXQgdXNlIE9wZW5HTCBFUyAyLjAuCisgICAgICAgIGlmIChleHRlbnNpb25zLnN1cHBvcnRz
KCJHTF9BUkJfc3luYyJfcykpIHsKKyAgICAgICAgICAgIGF0dHJzLmhhc0ZlbmNlU3luYyA9IHRy
dWU7CisgICAgICAgICAgICBleHRlbnNpb25zLmVuc3VyZUVuYWJsZWQoIkdMX0FSQl9zeW5jIl9z
KTsKKyAgICAgICAgICAgIHNldENvbnRleHRBdHRyaWJ1dGVzKGF0dHJzKTsKKyAgICAgICAgfQor
ICAgIH0KICAgICB2YWxpZGF0ZUF0dHJpYnV0ZXMoKTsKICAgICBhdHRycyA9IGNvbnRleHRBdHRy
aWJ1dGVzKCk7IC8vIFRoZXkgbWF5IGhhdmUgY2hhbmdlZCBkdXJpbmcgdmFsaWRhdGlvbi4KIApA
QCAtMzk4LDYgKzQwNywxMiBAQCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMKCkKICAgICAgICAgICAgIGdsOjpEZWxldGVUZXh0dXJlcygxLCAmbV9wcmVz
ZXJ2ZURyYXdpbmdCdWZmZXJUZXh0dXJlKTsKICAgICAgICAgaWYgKG1fcHJlc2VydmVEcmF3aW5n
QnVmZmVyRkJPKQogICAgICAgICAgICAgZ2w6OkRlbGV0ZUZyYW1lYnVmZmVycygxLCAmbV9wcmVz
ZXJ2ZURyYXdpbmdCdWZmZXJGQk8pOworICAgICAgICAvLyBJZiBmZW5jZXMgYXJlIG5vdCBlbmFi
bGVkLCB0aGlzIGxvb3Agd2lsbCBub3QgZXhlY3V0ZS4KKyAgICAgICAgZm9yIChhdXRvJiBmZW5j
ZSA6IG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzKQorICAgICAgICAgICAgZmVuY2UucmVzZXQoKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBmb3IgKGF1dG8mIGZlbmNlIDogbV9mcmFtZUNvbXBsZXRp
b25GZW5jZXMpCisgICAgICAgICAgICBmZW5jZS5hYmFuZG9uKCk7CiAgICAgfQogICAgIGlmICht
X2Rpc3BsYXlCdWZmZXJQYnVmZmVyKSB7CiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFjZShtX2Rp
c3BsYXlPYmosIG1fZGlzcGxheUJ1ZmZlclBidWZmZXIpOwpAQCAtNzgyLDYgKzc5NywxMyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAgICAgICAg
IGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCk7CiAKICAgICBtYXJrTGF5ZXJD
b21wb3NpdGVkKCk7CisKKyAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMoKS51c2VNZXRhbCAmJiBj
b250ZXh0QXR0cmlidXRlcygpLmhhc0ZlbmNlU3luYykgeworICAgICAgICAvLyBPcGVuR0wgc3lu
YyBvYmplY3RzIGFyZSBub3Qgc2lnbmFsaW5nIHVwb24gY29tcGxldGlvbiBvbiBDYXRhbGluYS1l
cmEgZHJpdmVycy4KKyAgICAgICAgLy8gT3BlbkdMIGRyaXZlcnMgdHlwaWNhbGx5IGltcGxlbWVu
dCBzb21lIHNvcnQgb2YgaW50ZXJuYWwgdGhyb3R0bGluZy4KKyAgICAgICAgYm9vbCBzdWNjZXNz
ID0gd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCk7CisgICAgICAgIFVOVVNFRF9WQVJJQUJMRShz
dWNjZXNzKTsgLy8gRklYTUU6IGltcGxlbWVudCBjb250ZXh0IGxvc3QuCisgICAgfQogfQogCiBz
dGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVhZENv
bXBvc2l0ZWRSZXN1bHRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXgg
OTc1YWYzODZmMjlmNjZlNjExMzJlNmQxMmZkOWEyYTBhY2RhODYzZC4uYWIyZTcyNTAwOGJhYmZm
NTM4NDZmNDM4OTYyNjY4NzdmNGU4NzBmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmgKQEAgLTQ1LDExICs0NSwxNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXllci5oIgog
I2VuZGlmCiAKLSNpZiAhVVNFKEFOR0xFKQorI2lmIFVTRShBTkdMRSkKKyNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgiCisjZWxzZQogI2luY2x1ZGUgIkFOR0xFV2Vi
S2l0QnJpZGdlLmgiCiAjaW5jbHVkZSAiRXh0ZW5zaW9uc0dMT3BlbkdMQ29tbW9uLmgiCiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlICJTY29wZWRIaWdoUGVyZm9ybWFuY2VH
UFVSZXF1ZXN0LmgiCisjZW5kaWYKKwogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2
b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiBQTEFURk9STShXSU4p
CiAjdW5kZWYgTk9fRVJST1IKQEAgLTcyLDEwICs3OCw2IEBAIGNsYXNzIEdDR0xMYXllcjsKIH0K
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3Jt
YW5jZUdQVVJlcXVlc3QuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBF
eHRlbnNpb25zR0w7CiAjaWYgVVNFKEFOR0xFKQpAQCAtNTc4LDYgKzU4MCwxMCBAQCBwcml2YXRl
OgogICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKICAgICBi
b29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBi
YWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKICNlbmRpZgorI2lmIFVTRShBTkdMRSkKKyAgICAvLyBS
ZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxkIGJlIGxvc3QgZHVlIHRvIHRpbWVvdXQuCisg
ICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJOX1VOVVNFRF9SRVRVUk47Cisj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIEdyYXBoaWNzQ29udGV4dEdMSU9TdXJm
YWNlU3dhcENoYWluKiBtX3N3YXBDaGFpbiB7IG51bGxwdHIgfTsKQEAgLTc5MSw2ICs3OTcsMTEg
QEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pCiAgICAg
c3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4dEdMQ1Y+IG1fY3Y7CiAjZW5kaWYKKyNpZiBV
U0UoQU5HTEUpCisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4UGVuZGluZ0ZyYW1lcyA9
IDM7CisgICAgc2l6ZV90IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UgeyAwIH07CisgICAg
U2NvcGVkR0xGZW5jZSBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1ttYXhQZW5kaW5nRnJhbWVzXTsK
KyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433437</attachid>
            <date>2021-07-13 11:50:51 -0700</date>
            <delta_ts>2021-07-13 12:28:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227059-20210713115051.patch</filename>
            <type>text/plain</type>
            <size>19363</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYjQ3NWI1ZGJhNGFhMzBjZjU3YmU1YjQxMzhjYTBhOWViMTI3YjFjOS4uOWUxZGQ0ZTE5ZWEx
ODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA3LTEzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vz
c2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hlbiBmcmFtZXMgYXJlIHNsb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBBZHZlcnRpc2UgR0xfQVJCX3N5bmMg
Zm9yIHRoZSBNZXRhbCBiYWNrZW5kLgorICAgIFNpbmNlIEdMX0FSQl9zeW5jIGlzIGNvcmUgaW4g
T3BlbkdMIEVTIDMuMCBhbmQgdGhlIE1ldGFsIGJhY2tlbmQgYWR2ZXJ0aXNlcyBPcGVuR0wgRVMg
My4wLAorICAgIHRoZSBBUEkgbXVzdCBiZSB3b3JraW5nIGFscmVhZHkuCisKKyAgICAgICAgTGlt
aXQgaW4tZmxpZ2h0IFdlYkdMIGZyYW1lcyB0byB0aHJlZSBmcmFtZXMuIERvIG5vdCBjb250aW51
ZSBwcmVwYXJhdGlvbiBmb3IgZGlzcGxheQorICAgIHVudGlsIHRoZSBjb21tYW5kcyBmb3IgdGhl
IG9sZGVzdCBmcmFtZSBoYXZlIGJlZW4gZXhlY3V0ZWQgYnkgdGhlIEdQVS4KKworICAgICAgICBU
aGlzIGxpbWl0cyB0aGUgaW1wYWN0IHNsb3cgZnJhbWVzIGhhdmUsIGVzcGVjaWFsbHkgaW4gdGhl
CisgICAgY2FzZSB3aGVyZSB0aGUgY29tcG9zaXRvciBza2lwIGZyYW1lcyBhbmQgV2ViS2l0IHdv
dWxkIGlzc3VlIGEgbmV3IHNsb3cgZnJhbWUKKyAgICBvbiB0b3Agb2YgdGhlIHNraXBwZWQgZnJh
bWUuCisKKwlBbiBhZGRpdGlvbmFsIGNoYW5nZSBlbnN1cmVzIHRoYXQgTnZpZGlhIGNvbmZpZ3Ms
IHdoaWNoIGRvIG5vdCBzdXBwb3J0IE1UTEV2ZW50cworCXRvIGEgbGV2ZWwgb2YgY29uZm9ybWFu
Y2UgcmVxdWlyZWQgKFNlZSBodHRwOi8vY3JidWcuY29tLzExMzY2NzMpLCBjb250aW51ZSB0byBy
dW4uIFRoZSBtb3JlIHBvd2VyZnVsIGVHUFVzIHdpbGwgbm90IGV4cGVyaWVuY2UgdGhyb3R0bGlu
ZyB0byB0aGUgc2FtZSBsZXZlbCBhcyBpbnRlZ3JhdGVkIEdQVVMuCisgICAgICAgICogc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW06CisgICAgICAgIChyeDo6RGlzcGxh
eU10bDo6aW5pdGlhbGl6ZUV4dGVuc2lvbnMgY29uc3QpOgorCiAyMDIxLTA3LTA3ICBLeWxlIFBp
ZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wgc2hhZGVy
IGxpbmsgZXJyb3IgaW4gaU9TIDE1IGJldGE6ICJJbnRlcm5hbCBlcnJvciBjb21waWxpbmcgc2hh
ZGVyIHdpdGggTWV0YWwgYmFja2VuZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwNWZjM2Q2OGY1MDFjZDY1YmY5
N2E2NWNlMDVlZDAwNzA4OGVhOGRmLi4zMzY1YTM4OWVhNjBiZWFlMmVhMzM3NDE4YWM1YTg0YTRh
ZDVlMGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDctMTMgIEt5bGUgUGlk
ZGluZ3RvbiAgPGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KKworICAgICAgICByQUYgZHJpdmVuIFdl
YkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUgd29yayB3aGVuIGZyYW1lcyBhcmUg
c2xvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3
MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEFkdmVy
dGlzZSBHTF9BUkJfc3luYyBmb3IgdGhlIE1ldGFsIGJhY2tlbmQuCisgICAgU2luY2UgR0xfQVJC
X3N5bmMgaXMgY29yZSBpbiBPcGVuR0wgRVMgMy4wIGFuZCB0aGUgTWV0YWwgYmFja2VuZCBhZHZl
cnRpc2VzIE9wZW5HTCBFUyAzLjAsCisgICAgdGhlIEFQSSBtdXN0IGJlIHdvcmtpbmcgYWxyZWFk
eS4KKworICAgICAgICBMaW1pdCBpbi1mbGlnaHQgV2ViR0wgZnJhbWVzIHRvIHRocmVlIGZyYW1l
cy4gRG8gbm90IGNvbnRpbnVlIHByZXBhcmF0aW9uIGZvciBkaXNwbGF5CisgICAgdW50aWwgdGhl
IGNvbW1hbmRzIGZvciB0aGUgb2xkZXN0IGZyYW1lIGhhdmUgYmVlbiBleGVjdXRlZCBieSB0aGUg
R1BVLgorCisgICAgICAgIFRoaXMgbGltaXRzIHRoZSBpbXBhY3Qgc2xvdyBmcmFtZXMgaGF2ZSwg
ZXNwZWNpYWxseSBpbiB0aGUKKyAgICBjYXNlIHdoZXJlIHRoZSBjb21wb3NpdG9yIHNraXAgZnJh
bWVzIGFuZCBXZWJLaXQgd291bGQgaXNzdWUgYSBuZXcgc2xvdyBmcmFtZQorICAgIG9uIHRvcCBv
ZiB0aGUgc2tpcHBlZCBmcmFtZS4KKworICAgICAgICBBbiBhZGRpdGlvbmFsIGNoYW5nZSBlbnN1
cmVzIHRoYXQgTnZpZGlhIGNvbmZpZ3MsIHdoaWNoIGRvIG5vdCBzdXBwb3J0IE1UTEV2ZW50cwor
ICAgICAgICB0byBhIGxldmVsIG9mIGNvbmZvcm1hbmNlIHJlcXVpcmVkIChTZWUgaHR0cDovL2Ny
YnVnLmNvbS8xMTM2NjczKSwgY29udGludWUgdG8gcnVuLiBUaGUgbW9yZSBwb3dlcmZ1bCBlR1BV
cyB3aWxsIG5vdCBleHBlcmllbmNlIHRocm90dGxpbmcgdG8gdGhlIHNhbWUgbGV2ZWwgYXMgaW50
ZWdyYXRlZCBHUFVTLgorCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVV
dGlsaXRpZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6OlNjb3BlZEdMRmVu
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6U2NvcGVkR0xGZW5jZTo6flNjb3BlZEdMRmVuY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NvcGVkR0xGZW5jZTo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjb3BlZEdMRmVuY2U6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdM
RmVuY2U6OmFiYW5kb24pOgorICAgICAgICAoV2ViQ29yZTo6U2NvcGVkR0xGZW5jZTo6ZmVuY2VT
eW5jKToKKyAgICAgICAgKFdlYkNvcmU6OlNjb3BlZEdMRmVuY2U6Om9wZXJhdG9yIEdMc3luYyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRHTEZlbmNlOjpvcGVyYXRvciBib29sIGNv
bnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRH
TE9wZW5HTENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6SW5pdGlhbGl6ZUVHTERpc3BsYXkp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
Ojp+R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OnByZXBhcmVGb3JEaXNwbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaDoKKwogMjAyMS0wNy0xMyAg
UGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJl
YW1lcl0gQWxsb3cgcnVudGltZSBvcHQtb3V0IG9mIEdMIHJlbmRlcmluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3Bs
YXlNdGwubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
bWV0YWwvRGlzcGxheU10bC5tbQppbmRleCA3ZWI1MDNmODhmMGIzNmQwYzY4NTk0MmUxNzYwZmY4
N2FiZGM1MDljLi43Nzg2YzA4ZWMzOWYxYjIzZDNlNzYxM2U2M2FkNTNhMTk0NTFhNGQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvRGlzcGxheU10bC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQpAQCAtODg0LDYgKzg4NCw5IEBAIHZvaWQg
RGlzcGxheU10bDo6aW5pdGlhbGl6ZUV4dGVuc2lvbnMoKSBjb25zdAogCiAgICAgICAgIC8vIEdM
X09FU19FR0xfc3luYwogICAgICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5lZ2xTeW5jT0VTID0gdHJ1
ZTsKKworICAgICAgICAvLyBHTF9BUkJfc3luYworICAgICAgICBtTmF0aXZlRXh0ZW5zaW9ucy5n
bFN5bmNBUkIgPSB0cnVlOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggODkxNWE5
NDEzNmI5OGVmYzgyYWYxOTFjMmFkY2IzNzMxMjVmYmExMi4uMWU3YTdiMmJjYmZhNjU1NzhhZGEw
MzFhOTMzNGM0ZjE2NWQ3M2JhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzMwLDYgKzEzMzAs
NyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9BTkdMRUhlYWRlcnMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Fu
Z2xlL0V4dGVuc2lvbnNHTEFOR0xFLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0RHJhd0dseXBoc1JlY29yZGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMmEyZjk4YTViMWFhNmNi
ZTlmNzcwNmM1MTAwMTdjNThmNDRlNGNiLi40YTFkNzg2NTQ3NjhiYzI4NGZkNjdkNzQ2NmQ4OWFj
YmQ2MGNjZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC03MTUsNyArNzE1LDcgQEAKIAkJMjZGNzU2QjUxQjNCNjhGMjAwMDVE
RDc5IC8qIEltbXV0YWJsZU5GQU5vZGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY3NTZCNDFCM0I2OEYyMDAwNURENzkgLyogSW1tdXRh
YmxlTkZBTm9kZUJ1aWxkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkyNkY5QTgzODE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1
cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI2RjlBODM2MThBMDQ2QUMwMEFFQjg4QSAvKiBWaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwICov
OyB9OwogCQkyNkY5QTgzOTE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkY5QTgz
NzE4QTA0NkFDMDBBRUI4OEEgLyogVmlld3BvcnRDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMjdFM0M4MDgyNTdGNUU2RTAw
Qzk4NkFCIC8qIEFOR0xFSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjdFM0M4MDYyNTdGNUU2RTAwQzk4NkFCIC8qIEFOR0xFSGVhZGVycy5o
ICovOyB9OworCQkyN0UzQzgwODI1N0Y1RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyN0UzQzgwNjI1N0Y1
RTZFMDBDOTg2QUIgLyogQU5HTEVIZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjkxNEUzMDgxQ0FCNUE0NDAwNDk5NjZGIC8qIEFjY2Vz
c2liaWxpdHlBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOTE0RTMwNjFDQUI1QTQ0MDA0OTk2NkYgLyogQWNjZXNzaWJpbGl0eUF0dGFj
aG1lbnQuaCAqLzsgfTsKIAkJMjkzNkJGNUMyMUQ2OUU0QjAwNEE4RkM5IC8qIEFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5MzZCRjVBMjFENjk5OUUwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMjkzRUFFMUYxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzRUFF
MUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMzIzLDcgKzIzMjMs
NyBAQAogCQk3QjZEQzgxOTI1NzEyRTkyMDAzODBDNzAgLyogR3JhcGhpY3NDb250ZXh0R0xJT1N1
cmZhY2VTd2FwQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdCNkRDODE3MjU3MTJFOTIwMDM4MEM3MCAvKiBHcmFwaGljc0NvbnRleHRHTElPU3Vy
ZmFjZVN3YXBDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTdCNzMxMUZCMjVDMDkyQjcwMDNCMjc5NiAvKiBTY29wZWRIaWdoUGVyZm9ybWFu
Y2VHUFVSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QjczMTFGQTI1QzA5MkI3MDAzQjI3OTYgLyogU2NvcGVkSGlnaFBlcmZvcm1hbmNlR1BV
UmVxdWVzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdCOTA0MTcwMjU1MDExNDIwMDZFRUI4QyAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFBy
b3h5QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0I5MDQxNkUyNTUwMTEwOTAwNkVFQjhDIC8qIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHlC
YXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
N0JCMzRBMTcyNTM0NUNCMjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjM0
QTE2MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgg
Ki87IH07CisJCTdCQjM0QTE3MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRleHRHTEFO
R0xFVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QkIzNEExNjI1MzQ1Q0IyMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0
aWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdCQjM0QTQ4MjUzNzc2Q0EwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRleHRHTEltYWdlRXh0
cmFjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QkIzNEE0NTI1Mzc3NkM2MDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0R0xJbWFnZUV4dHJhY3Rv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdC
QjY4MEJBMjVCQTFCRTQwMDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0JCNjgwQjgyNUJBMUJFNDAwMkI4
NzM4IC8qIEdyYXBoaWNzQ2hlY2tzTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0JFNzQyNzM4MUZBOTA2RkJCNEYwRjJDIC8qIEpTU1ZHR3Jh
cGhpY3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NTBDNEMwMkJFRDg5MzZGODE4RTJGOTkgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCAq
LzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dEdMQXR0cmlidXRlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzLmgKaW5kZXggOTJmYjIwZTNkNmM2NjNjNDYy
ZTEzZTg5ZThlMGNlM2IxZmM4ZThkOS4uMjc2ZWZmNWQ2OGRjYzQ3Y2U2ODg5ZDg5MmVjM2U3MDhi
YWJmOWI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzLmgKQEAgLTYyLDcgKzYyLDggQEAg
c3RydWN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyB7CiAgICAgdXNpbmcgV2ViR0xWZXJz
aW9uID0gR3JhcGhpY3NDb250ZXh0R0xXZWJHTFZlcnNpb247CiAgICAgV2ViR0xWZXJzaW9uIHdl
YkdMVmVyc2lvbiB7IFdlYkdMVmVyc2lvbjo6V2ViR0wxIH07CiAjaWYgUExBVEZPUk0oQ09DT0Ep
Ci0gICAgYm9vbCB1c2VNZXRhbCB7IGZhbHNlIH07CisgICAgYm9vbCB1c2VNZXRhbCB7IHRydWUg
fTsKKyAgICBib29sIGhhc0ZlbmNlU3luYyB7IGZhbHNlIH07CiAjZW5kaWYKICNpZiBFTkFCTEUo
V0VCWFIpCiAgICAgYm9vbCB4ckNvbXBhdGlibGUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmNwcAppbmRleCAyNmZiOGYzNzU5MTM1ZjdjMjE0MjA0Y2RiNDc1MzE2YTdk
YmM5MWI1Li4zNGNiZDY4ODVkOTA3NjRkOWYzM2NmNWVjYjNlNWYyM2I2N2RhYjk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRl
eHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUg
PGFsZ29yaXRobT4KICNpbmNsdWRlIDxjc3RyaW5nPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIu
aD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZp
Yy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdCdWlsZGVyLmg+CkBAIC02MSwxMCArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBjb25zdCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdM
X09FU19wYWNrZWRfZGVwdGhfc3RlbmNpbCI7CiAKLW5hbWVzcGFjZSB7Ci0KLQotfSAvLyBuYW1l
c3BhY2UgYW5vbnltb3VzCitzdGF0aWMgU2Vjb25kcyBtYXhGcmFtZUR1cmF0aW9uID0gNV9zOwog
CiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQg
d2lwZUFscGhhQ2hhbm5lbEZyb21QaXhlbHMoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25l
ZCBjaGFyKiBwaXhlbHMpCkBAIC0yODU0LDYgKzI4NTIsMjcgQEAgR3JhcGhpY3NDb250ZXh0R0xD
ViogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmFzQ1YoKQogfQogI2VuZGlmCiAKK2Jvb2wgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCit7CisgICAg
c2l6ZV90IG9sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlID0gbV9vbGRlc3RGcmFtZUNvbXBsZXRp
b25GZW5jZSsrICUgbWF4UGVuZGluZ0ZyYW1lczsKKyAgICBib29sIHN1Y2Nlc3MgPSB0cnVlOwor
ICAgIGlmIChTY29wZWRHTEZlbmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1lQ29tcGxldGlvbkZl
bmNlc1tvbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZV0pKSB7CisgICAgICAgIC8vIFdhaXQgc28g
dGhhdCByZW5kZXJpbmcgZG9lw5hzIG5vdCBnZXQgbW9yZSB0aGFuIG1heFBlbmRpbmdGcmFtZXMg
ZnJhbWVzIGFoZWFkLgorICAgICAgICBHTGJpdGZpZWxkIGZsYWdzID0gR0xfU1lOQ19GTFVTSF9D
T01NQU5EU19CSVQ7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIC8vIEF2b2lkIHVzaW5n
IHRoZSBHTF9TWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVCBiZWNhdXNlIGVhY2ggZWFjaCBmcmFtZSBp
cyBlbmRlZCB3aXRoIGEgZmx1c2gKKyAgICAgICAgLy8gZHVlIHRvIGV4dGVybmFsIElPU3VyZmFj
ZSBhY2Nlc3MuIFRoaXMgcGFydGljdWxhciBmZW5jZSBpcyBtYXhQZW5kaW5nRnJhbWVzIGJlaGlu
ZC4KKyAgICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMg
YWxyZWFkeSBiZWVuIGZsdXNoZWQuCisgICAgICAgIGZsYWdzID0gMDsKKyNlbmRpZgorICAgICAg
ICBHTGVudW0gcmVzdWx0ID0gZ2w6OkNsaWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJh
bWVEdXJhdGlvbi5uYW5vc2Vjb25kc0FzPEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHJl
c3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCk7CisgICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQgIT0gR0xf
V0FJVF9GQUlMRUQgJiYgcmVzdWx0ICE9IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyAgICB9CisgICAg
bV9mcmFtZUNvbXBsZXRpb25GZW5jZXNbb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2VdLmZlbmNl
U3luYygpOworICAgIHJldHVybiBzdWNjZXNzOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUo
V0VCR0wpICYmIFVTRShBTkdMRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEVV
dGlsaXRpZXMuaAppbmRleCA0YmEzY2I1ODk2NWQwMjQ1ZWViNDYxOWU0YzdlNjJjNzczNTQ3NWU1
Li5kYzc5ZjFlMjQyM2Y1MjEzYjAzMDFjOGM4MGE1NGY2YmNjNDQ5ZTkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFO
R0xFVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5n
bGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRVV0aWxpdGllcy5oCkBAIC0yMDQsNiArMjA0LDQyIEBA
IHByaXZhdGU6CiAgICAgR0x1aW50IG1fb2JqZWN0IHsgMCB9OwogfTsKIAorY2xhc3MgU2NvcGVk
R0xGZW5jZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVkR0xGZW5jZSk7CitwdWJs
aWM6CisgICAgU2NvcGVkR0xGZW5jZSgpID0gZGVmYXVsdDsKKyAgICBTY29wZWRHTEZlbmNlKFNj
b3BlZEdMRmVuY2UmJiBvdGhlcikKKyAgICAgICAgOiBtX29iamVjdChzdGQ6OmV4Y2hhbmdlKG90
aGVyLm1fb2JqZWN0LCB7IH0pKQorICAgIHsKKyAgICB9CisgICAgflNjb3BlZEdMRmVuY2UoKSB7
IHJlc2V0KCk7IH0KKyAgICBTY29wZWRHTEZlbmNlJiBvcGVyYXRvcj0oU2NvcGVkR0xGZW5jZSYm
IG90aGVyKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMgIT0gJm90aGVyKSB7CisgICAgICAgICAg
ICByZXNldCgpOworICAgICAgICAgICAgbV9vYmplY3QgPSBzdGQ6OmV4Y2hhbmdlKG90aGVyLm1f
b2JqZWN0LCB7IH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9Cisg
ICAgdm9pZCByZXNldCgpCisgICAgeworICAgICAgICBpZiAobV9vYmplY3QpIHsKKyAgICAgICAg
ICAgIGdsOjpEZWxldGVTeW5jKG1fb2JqZWN0KTsKKyAgICAgICAgICAgIG1fb2JqZWN0ID0geyB9
OworICAgICAgICB9CisgICAgfQorICAgIHZvaWQgYWJhbmRvbigpIHsgbV9vYmplY3QgPSB7IH07
IH0KKyAgICB2b2lkIGZlbmNlU3luYygpCisgICAgeworICAgICAgICByZXNldCgpOworICAgICAg
ICBtX29iamVjdCA9IGdsOjpGZW5jZVN5bmMoR0xfU1lOQ19HUFVfQ09NTUFORFNfQ09NUExFVEUs
IDApOworICAgIH0KKyAgICBvcGVyYXRvciBHTHN5bmMoKSBjb25zdCB7IHJldHVybiBtX29iamVj
dDsgfQorICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX29iamVjdDsgfQorcHJp
dmF0ZToKKyAgICBHTHN5bmMgbV9vYmplY3QgeyB9OworfTsKKwogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCmluZGV4IDFiNDJlNzUwNDNiNjAz
ZmYwZTU2MWFmZDliM2UxZTA4ZGIxNDhkNWQuLjNiZmYzMjlmNmZkMmYwNGUwZjRmZmFlZDYxZmIx
N2Y0Y2JhMTZkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5t
bQpAQCAtMTE2LDEzICsxMTYsMTEgQEAgc3RhdGljIFNjb3BlZEVHTERlZmF1bHREaXNwbGF5IElu
aXRpYWxpemVFR0xEaXNwbGF5KGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmkKICAgICAgICAg
ZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9QTEFURk9STV9BTkdMRV9ERVZJQ0VfQ09OVEVY
VF9WT0xBVElMRV9DR0xfQU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQo
RUdMX1RSVUUpOwogICAgIH0KLSAgICBib29sIGNhblVzZU1ldGFsID0gcGxhdGZvcm1TdXBwb3J0
c01ldGFsKCk7Ci0gICAgaWYgKGF0dHJzLnVzZU1ldGFsICYmIGNhblVzZU1ldGFsKSB7CisgICAg
aWYgKGF0dHJzLnVzZU1ldGFsKSB7CiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChF
R0xfUExBVEZPUk1fQU5HTEVfVFlQRV9BTkdMRSk7CiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVz
LmFwcGVuZChFR0xfUExBVEZPUk1fQU5HTEVfVFlQRV9NRVRBTF9BTkdMRSk7CiAgICAgfQotCi0g
ICAgTE9HKFdlYkdMLCAiQXR0ZW1wdGluZyB0byB1c2UgQU5HTEUncyAlcyBiYWNrZW5kLlxuIiwg
YXR0cnMudXNlTWV0YWwgJiYgY2FuVXNlTWV0YWwgPyAiTWV0YWwiIDogIk9wZW5HTCIpOworICAg
IExPRyhXZWJHTCwgIkF0dGVtcHRpbmcgdG8gdXNlIEFOR0xFJ3MgJXMgYmFja2VuZC5cbiIsIGF0
dHJzLnVzZU1ldGFsID8gIk1ldGFsIiA6ICJPcGVuR0wiKTsKICAgICBpZiAoYXR0cnMucG93ZXJQ
cmVmZXJlbmNlICE9IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlczo6UG93ZXJQcmVmZXJlbmNl
OjpEZWZhdWx0KSB7CiAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUE9XRVJf
UFJFRkVSRU5DRV9BTkdMRSk7CiAgICAgICAgIGlmIChhdHRycy5wb3dlclByZWZlcmVuY2UgPT0g
R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzOjpQb3dlclByZWZlcmVuY2U6Okxvd1Bvd2VyKQpA
QCAtMTMyLDcgKzEzMCw2IEBAIHN0YXRpYyBTY29wZWRFR0xEZWZhdWx0RGlzcGxheSBJbml0aWFs
aXplRUdMRGlzcGxheShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpCiAgICAgICAgICAgICBk
aXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX0hJR0hfUE9XRVJfQU5HTEUpOwogICAgICAgICB9
CiAgICAgfQotCiAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9OT05FKTsKICAgICBk
aXNwbGF5ID0gRUdMX0dldFBsYXRmb3JtRGlzcGxheUVYVChFR0xfUExBVEZPUk1fQU5HTEVfQU5H
TEUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KEVHTF9ERUZBVUxUX0RJU1BMQVkpLCBkaXNwbGF5
QXR0cmlidXRlcy5kYXRhKCkpOwogCkBAIC0yMTAsNiArMjA3LDEwIEBAIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMgYXR0CiAgICAgOiBHcmFwaGljc0NvbnRleHRHTChhdHRycywgc2hhcmVkQ29udGV4dCkK
IHsKICAgICBtX2lzRm9yV2ViR0wyID0gYXR0cnMud2ViR0xWZXJzaW9uID09IEdyYXBoaWNzQ29u
dGV4dEdMV2ViR0xWZXJzaW9uOjpXZWJHTDI7CisgICAgaWYgKGF0dHJzLnVzZU1ldGFsICYmICFw
bGF0Zm9ybVN1cHBvcnRzTWV0YWwoKSkgeworICAgICAgICBhdHRycy51c2VNZXRhbCA9IGZhbHNl
OworICAgICAgICBzZXRDb250ZXh0QXR0cmlidXRlcyhhdHRycyk7CisgICAgfQogCiAgICAgbV9k
aXNwbGF5T2JqID0gSW5pdGlhbGl6ZUVHTERpc3BsYXkoYXR0cnMpOwogICAgIGlmICghbV9kaXNw
bGF5T2JqKQpAQCAtMzA2LDggKzMwNyw3IEBAIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpHcmFw
aGljc0NvbnRleHRHTE9wZW5HTChHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0CiAgICAg
ICAgIHJlcXVpcmVkRXh0ZW5zaW9ucy5hcHBlbmQoIkdMX0FOR0xFX3RleHR1cmVfcmVjdGFuZ2xl
Il9zKTsKICAgICAgICAgLy8gRm9yIGNyZWF0aW5nIHRoZSBFR0wgc3VyZmFjZSBmcm9tIGFuIElP
U3VyZmFjZS4KICAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zLmFwcGVuZCgiR0xfRVhUX3RleHR1
cmVfZm9ybWF0X0JHUkE4ODg4Il9zKTsKLSAgICAgICAgICAgIH0KLQorICAgIH0KICNlbmRpZiAv
LyBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIEV4dGVuc2lvbnNH
TCYgZXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbnMoKTsKICAgICBmb3IgKGF1dG8mIGV4dGVuc2lv
biA6IHJlcXVpcmVkRXh0ZW5zaW9ucykgewpAQCAtMzE3LDYgKzMxNywxNSBAQCBHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTDo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woR3JhcGhpY3NDb250ZXh0R0xB
dHRyaWJ1dGVzIGF0dAogICAgICAgICB9CiAgICAgICAgIGV4dGVuc2lvbnMuZW5zdXJlRW5hYmxl
ZChleHRlbnNpb24pOwogICAgIH0KKyAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMoKS51c2VNZXRh
bCkgeworICAgICAgICAvLyBUaGUgaW1wbGVtZW50YXRpb24gdXNlcyBHTHN5bmMgb2JqZWN0cy4g
RW5hYmxlIHRoZSBmdW5jdGlvbmFsaXR5IGZvciBXZWJHTCAxLjAgY29udGV4dHMKKyAgICAgICAg
Ly8gdGhhdCB1c2UgT3BlbkdMIEVTIDIuMC4KKyAgICAgICAgaWYgKGV4dGVuc2lvbnMuc3VwcG9y
dHMoIkdMX0FSQl9zeW5jIl9zKSkgeworICAgICAgICAgICAgYXR0cnMuaGFzRmVuY2VTeW5jID0g
dHJ1ZTsKKyAgICAgICAgICAgIGV4dGVuc2lvbnMuZW5zdXJlRW5hYmxlZCgiR0xfQVJCX3N5bmMi
X3MpOworICAgICAgICAgICAgc2V0Q29udGV4dEF0dHJpYnV0ZXMoYXR0cnMpOworICAgICAgICB9
CisgICAgfQogICAgIHZhbGlkYXRlQXR0cmlidXRlcygpOwogICAgIGF0dHJzID0gY29udGV4dEF0
dHJpYnV0ZXMoKTsgLy8gVGhleSBtYXkgaGF2ZSBjaGFuZ2VkIGR1cmluZyB2YWxpZGF0aW9uLgog
CkBAIC0zOTgsNiArNDA3LDEyIEBAIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp+R3JhcGhpY3ND
b250ZXh0R0xPcGVuR0woKQogICAgICAgICAgICAgZ2w6OkRlbGV0ZVRleHR1cmVzKDEsICZtX3By
ZXNlcnZlRHJhd2luZ0J1ZmZlclRleHR1cmUpOwogICAgICAgICBpZiAobV9wcmVzZXJ2ZURyYXdp
bmdCdWZmZXJGQk8pCiAgICAgICAgICAgICBnbDo6RGVsZXRlRnJhbWVidWZmZXJzKDEsICZtX3By
ZXNlcnZlRHJhd2luZ0J1ZmZlckZCTyk7CisgICAgICAgIC8vIElmIGZlbmNlcyBhcmUgbm90IGVu
YWJsZWQsIHRoaXMgbG9vcCB3aWxsIG5vdCBleGVjdXRlLgorICAgICAgICBmb3IgKGF1dG8mIGZl
bmNlIDogbV9mcmFtZUNvbXBsZXRpb25GZW5jZXMpCisgICAgICAgICAgICBmZW5jZS5yZXNldCgp
OworICAgIH0gZWxzZSB7CisgICAgICAgIGZvciAoYXV0byYgZmVuY2UgOiBtX2ZyYW1lQ29tcGxl
dGlvbkZlbmNlcykKKyAgICAgICAgICAgIGZlbmNlLmFiYW5kb24oKTsKICAgICB9CiAgICAgaWYg
KG1fZGlzcGxheUJ1ZmZlclBidWZmZXIpIHsKICAgICAgICAgRUdMX0Rlc3Ryb3lTdXJmYWNlKG1f
ZGlzcGxheU9iaiwgbV9kaXNwbGF5QnVmZmVyUGJ1ZmZlcik7CkBAIC03ODIsNiArNzk3LDEzIEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnByZXBhcmVGb3JEaXNwbGF5KCkKICAgICAg
ICAgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKIAogICAgIG1hcmtMYXll
ckNvbXBvc2l0ZWQoKTsKKworICAgIGlmIChjb250ZXh0QXR0cmlidXRlcygpLnVzZU1ldGFsICYm
IGNvbnRleHRBdHRyaWJ1dGVzKCkuaGFzRmVuY2VTeW5jKSB7CisgICAgICAgIC8vIE9wZW5HTCBz
eW5jIG9iamVjdHMgYXJlIG5vdCBzaWduYWxpbmcgdXBvbiBjb21wbGV0aW9uIG9uIENhdGFsaW5h
LWVyYSBkcml2ZXJzLgorICAgICAgICAvLyBPcGVuR0wgZHJpdmVycyB0eXBpY2FsbHkgaW1wbGVt
ZW50IHNvbWUgc29ydCBvZiBpbnRlcm5hbCB0aHJvdHRsaW5nLgorICAgICAgICBib29sIHN1Y2Nl
c3MgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxF
KHN1Y2Nlc3MpOyAvLyBGSVhNRTogaW1wbGVtZW50IGNvbnRleHQgbG9zdC4KKyAgICB9CiB9CiAK
IHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZWFk
Q29tcG9zaXRlZFJlc3VsdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaAppbmRl
eCA5NzVhZjM4NmYyOWY2NmU2MTEzMmU2ZDEyZmQ5YTJhMGFjZGE4NjNkLi5hYjJlNzI1MDA4YmFi
ZmY1Mzg0NmY0Mzg5NjI2Njg3N2Y0ZTg3MGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wuaApAQCAtNDUsMTEgKzQ1LDE3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1DQUxheWVyLmgi
CiAjZW5kaWYKIAotI2lmICFVU0UoQU5HTEUpCisjaWYgVVNFKEFOR0xFKQorI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dEdMQU5HTEVVdGlsaXRpZXMuaCIKKyNlbHNlCiAjaW5jbHVkZSAiQU5HTEVX
ZWJLaXRCcmlkZ2UuaCIKICNpbmNsdWRlICJFeHRlbnNpb25zR0xPcGVuR0xDb21tb24uaCIKICNl
bmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgIlNjb3BlZEhpZ2hQZXJmb3JtYW5j
ZUdQVVJlcXVlc3QuaCIKKyNlbmRpZgorCiAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8g
YXZvaWQgdGhlIG5hbWUgY29uZmxpY3Rpb24gZm9yIE5PX0VSUk9SLgogI2lmIFBMQVRGT1JNKFdJ
TikKICN1bmRlZiBOT19FUlJPUgpAQCAtNzIsMTAgKzc4LDYgQEAgY2xhc3MgR0NHTExheWVyOwog
fQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSAiU2NvcGVkSGlnaFBlcmZv
cm1hbmNlR1BVUmVxdWVzdC5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEV4dGVuc2lvbnNHTDsKICNpZiBVU0UoQU5HTEUpCkBAIC01NzgsNiArNTgwLDEwIEBAIHByaXZh
dGU6CiAgICAgYm9vbCBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwogICAg
IGJvb2wgYmluZERpc3BsYXlCdWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+
IGJhY2tpbmcsIHZvaWQqIHBidWZmZXIpOwogI2VuZGlmCisjaWYgVVNFKEFOR0xFKQorICAgIC8v
IFJldHVybnMgZmFsc2UgaWYgY29udGV4dCBzaG91bGQgYmUgbG9zdCBkdWUgdG8gdGltZW91dC4K
KyAgICBib29sIHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpIFdBUk5fVU5VU0VEX1JFVFVSTjsK
KyNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgR3JhcGhpY3NDb250ZXh0R0xJT1N1
cmZhY2VTd2FwQ2hhaW4qIG1fc3dhcENoYWluIHsgbnVsbHB0ciB9OwpAQCAtNzkxLDYgKzc5Nywx
MSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEFWRk9VTkRBVElPTikKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NDb250ZXh0R0xDVj4gbV9jdjsKICNlbmRpZgorI2lm
IFVTRShBTkdMRSkKKyAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBtYXhQZW5kaW5nRnJhbWVz
ID0gMzsKKyAgICBzaXplX3QgbV9vbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZSB7IDAgfTsKKyAg
ICBTY29wZWRHTEZlbmNlIG1fZnJhbWVDb21wbGV0aW9uRmVuY2VzW21heFBlbmRpbmdGcmFtZXNd
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>